mirror of
https://github.com/cosmos/cosmjs.git
synced 2025-03-11 14:09:15 +00:00
Merge pull request #727 from cosmos/657-independent-stargate-4
Reorganise Amino SignDoc and OfflineSigner
This commit is contained in:
commit
241d73f5e7
@ -20,3 +20,5 @@ export {
|
||||
} from "./pubkeys";
|
||||
export { createMultisigThresholdPubkey } from "./multisig";
|
||||
export { decodeSignature, encodeSecp256k1Signature, StdSignature } from "./signature";
|
||||
export { AminoMsg, Coin, makeSignDoc, serializeSignDoc, StdFee, StdSignDoc } from "./signdoc";
|
||||
export { AccountData, Algo, AminoSignResponse, OfflineAminoSigner } from "./signer";
|
||||
|
@ -1,8 +1,14 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { coin, coins } from "./coins";
|
||||
import { makeSignDoc, sortedJsonStringify } from "./encoding";
|
||||
import { MsgDelegate, MsgSend } from "./msgs";
|
||||
import { faucet, launchpad, makeRandomAddress } from "./testutils.spec";
|
||||
import { Random } from "@cosmjs/crypto";
|
||||
import { Bech32 } from "@cosmjs/encoding";
|
||||
|
||||
import { AminoMsg, makeSignDoc, sortedJsonStringify } from "./signdoc";
|
||||
|
||||
function makeRandomAddress(): string {
|
||||
return Bech32.encode("cosmos", Random.getBytes(20));
|
||||
}
|
||||
const testAddress = "cosmos1pkptre7fdkl6gfrzlesjjvhxhlc3r4gmmk8rs6";
|
||||
const testValidatorAddress = "cosmosvaloper1yfkkk04ve8a0sugj4fe6q6zxuvmvza8r3arurr";
|
||||
|
||||
describe("encoding", () => {
|
||||
describe("sortedJsonStringify", () => {
|
||||
@ -55,24 +61,24 @@ describe("encoding", () => {
|
||||
describe("makeSignDoc", () => {
|
||||
it("works", () => {
|
||||
const chainId = "testspace-12";
|
||||
const msg1: MsgDelegate = {
|
||||
const msg1: AminoMsg = {
|
||||
type: "cosmos-sdk/MsgDelegate",
|
||||
value: {
|
||||
delegator_address: faucet.address0,
|
||||
validator_address: launchpad.validator.address,
|
||||
amount: coin(1234, "ustake"),
|
||||
delegator_address: testAddress,
|
||||
validator_address: testValidatorAddress,
|
||||
amount: { amount: "1234", denom: "ustake" },
|
||||
},
|
||||
};
|
||||
const msg2: MsgSend = {
|
||||
const msg2: AminoMsg = {
|
||||
type: "cosmos-sdk/MsgSend",
|
||||
value: {
|
||||
from_address: faucet.address0,
|
||||
from_address: testAddress,
|
||||
to_address: makeRandomAddress(),
|
||||
amount: coins(1234567, "ucosm"),
|
||||
amount: [{ amount: "1234567", denom: "ucosm" }],
|
||||
},
|
||||
};
|
||||
const fee = {
|
||||
amount: coins(2000, "ucosm"),
|
||||
amount: [{ amount: "2000", denom: "ucosm" }],
|
||||
gas: "180000", // 180k
|
||||
};
|
||||
const memo = "Use your power wisely";
|
||||
@ -92,24 +98,24 @@ describe("encoding", () => {
|
||||
|
||||
it("works with undefined memo", () => {
|
||||
const chainId = "testspace-12";
|
||||
const msg1: MsgDelegate = {
|
||||
const msg1: AminoMsg = {
|
||||
type: "cosmos-sdk/MsgDelegate",
|
||||
value: {
|
||||
delegator_address: faucet.address0,
|
||||
validator_address: launchpad.validator.address,
|
||||
amount: coin(1234, "ustake"),
|
||||
delegator_address: testAddress,
|
||||
validator_address: testValidatorAddress,
|
||||
amount: { amount: "1234", denom: "ustake" },
|
||||
},
|
||||
};
|
||||
const msg2: MsgSend = {
|
||||
const msg2: AminoMsg = {
|
||||
type: "cosmos-sdk/MsgSend",
|
||||
value: {
|
||||
from_address: faucet.address0,
|
||||
from_address: testAddress,
|
||||
to_address: makeRandomAddress(),
|
||||
amount: coins(1234567, "ucosm"),
|
||||
amount: [{ amount: "1234567", denom: "ucosm" }],
|
||||
},
|
||||
};
|
||||
const fee = {
|
||||
amount: coins(2000, "ucosm"),
|
||||
amount: [{ amount: "2000", denom: "ucosm" }],
|
||||
gas: "180000", // 180k
|
||||
};
|
||||
const accountNumber = 15;
|
@ -2,8 +2,34 @@
|
||||
import { toUtf8 } from "@cosmjs/encoding";
|
||||
import { Uint53 } from "@cosmjs/math";
|
||||
|
||||
import { StdFee } from "./fee";
|
||||
import { Msg } from "./msgs";
|
||||
export interface AminoMsg {
|
||||
readonly type: string;
|
||||
readonly value: any;
|
||||
}
|
||||
|
||||
export interface Coin {
|
||||
readonly denom: string;
|
||||
readonly amount: string;
|
||||
}
|
||||
|
||||
export interface StdFee {
|
||||
readonly amount: readonly Coin[];
|
||||
readonly gas: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* The document to be signed
|
||||
*
|
||||
* @see https://docs.cosmos.network/master/modules/auth/03_types.html#stdsigndoc
|
||||
*/
|
||||
export interface StdSignDoc {
|
||||
readonly chain_id: string;
|
||||
readonly account_number: string;
|
||||
readonly sequence: string;
|
||||
readonly fee: StdFee;
|
||||
readonly msgs: readonly AminoMsg[];
|
||||
readonly memo: string;
|
||||
}
|
||||
|
||||
function sortedObject(obj: any): any {
|
||||
if (typeof obj !== "object" || obj === null) {
|
||||
@ -27,22 +53,8 @@ export function sortedJsonStringify(obj: any): string {
|
||||
return JSON.stringify(sortedObject(obj));
|
||||
}
|
||||
|
||||
/**
|
||||
* The document to be signed
|
||||
*
|
||||
* @see https://docs.cosmos.network/master/modules/auth/03_types.html#stdsigndoc
|
||||
*/
|
||||
export interface StdSignDoc {
|
||||
readonly chain_id: string;
|
||||
readonly account_number: string;
|
||||
readonly sequence: string;
|
||||
readonly fee: StdFee;
|
||||
readonly msgs: readonly Msg[];
|
||||
readonly memo: string;
|
||||
}
|
||||
|
||||
export function makeSignDoc(
|
||||
msgs: readonly Msg[],
|
||||
msgs: readonly AminoMsg[],
|
||||
fee: StdFee,
|
||||
chainId: string,
|
||||
memo: string | undefined,
|
@ -1,6 +1,5 @@
|
||||
import { StdSignature } from "@cosmjs/amino";
|
||||
|
||||
import { StdSignDoc } from "./encoding";
|
||||
import { StdSignature } from "./signature";
|
||||
import { StdSignDoc } from "./signdoc";
|
||||
|
||||
export type Algo = "secp256k1" | "ed25519" | "sr25519";
|
||||
|
||||
@ -20,7 +19,7 @@ export interface AminoSignResponse {
|
||||
readonly signature: StdSignature;
|
||||
}
|
||||
|
||||
export interface OfflineSigner {
|
||||
export interface OfflineAminoSigner {
|
||||
/**
|
||||
* Get AccountData array from wallet. Rejects if not enabled.
|
||||
*/
|
@ -1,5 +1,5 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { encodeSecp256k1Pubkey } from "@cosmjs/amino";
|
||||
import { encodeSecp256k1Pubkey, makeSignDoc as makeSignDocAmino } from "@cosmjs/amino";
|
||||
import {
|
||||
ChangeAdminResult,
|
||||
CosmWasmFeeTable,
|
||||
@ -13,7 +13,7 @@ import {
|
||||
} from "@cosmjs/cosmwasm-launchpad";
|
||||
import { sha256 } from "@cosmjs/crypto";
|
||||
import { fromBase64, toHex, toUtf8 } from "@cosmjs/encoding";
|
||||
import { CosmosFeeTable, makeSignDoc as makeSignDocAmino } from "@cosmjs/launchpad";
|
||||
import { CosmosFeeTable } from "@cosmjs/launchpad";
|
||||
import { Int53, Uint53 } from "@cosmjs/math";
|
||||
import {
|
||||
EncodeObject,
|
||||
|
@ -1,7 +1,8 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { AminoSignResponse, StdSignDoc } from "@cosmjs/amino";
|
||||
import { Bip39, EnglishMnemonic, Random, Secp256k1, Slip10, Slip10Curve } from "@cosmjs/crypto";
|
||||
import { Bech32, fromBase64 } from "@cosmjs/encoding";
|
||||
import { AminoSignResponse, Secp256k1HdWallet, StdSignDoc } from "@cosmjs/launchpad";
|
||||
import { Secp256k1HdWallet } from "@cosmjs/launchpad";
|
||||
import {
|
||||
DirectSecp256k1HdWallet,
|
||||
DirectSignResponse,
|
||||
|
@ -1,10 +1,6 @@
|
||||
import { Coin } from "@cosmjs/amino";
|
||||
import { Uint53, Uint64 } from "@cosmjs/math";
|
||||
|
||||
export interface Coin {
|
||||
readonly denom: string;
|
||||
readonly amount: string;
|
||||
}
|
||||
|
||||
/** Creates a coin */
|
||||
export function coin(amount: number, denom: string): Coin {
|
||||
return { amount: new Uint53(amount).toString(), denom: denom };
|
||||
|
@ -1,9 +1,9 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { makeSignDoc } from "@cosmjs/amino";
|
||||
import { assert, sleep } from "@cosmjs/utils";
|
||||
|
||||
import { coins } from "./coins";
|
||||
import { CosmosClient, isBroadcastTxFailure } from "./cosmosclient";
|
||||
import { makeSignDoc } from "./encoding";
|
||||
import { LcdClient } from "./lcdapi";
|
||||
import { isMsgSend, MsgSend } from "./msgs";
|
||||
import { Secp256k1HdWallet } from "./secp256k1hdwallet";
|
||||
|
@ -1,10 +1,9 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { makeSignDoc, StdFee } from "@cosmjs/amino";
|
||||
import { assert, sleep } from "@cosmjs/utils";
|
||||
import { ReadonlyDate } from "readonly-date";
|
||||
|
||||
import { assertIsBroadcastTxSuccess, CosmosClient, PrivateCosmosClient } from "./cosmosclient";
|
||||
import { makeSignDoc } from "./encoding";
|
||||
import { StdFee } from "./fee";
|
||||
import { findAttribute } from "./logs";
|
||||
import { MsgSend } from "./msgs";
|
||||
import { Secp256k1HdWallet } from "./secp256k1hdwallet";
|
||||
|
@ -1,9 +1,8 @@
|
||||
import { Pubkey } from "@cosmjs/amino";
|
||||
import { Coin, Pubkey } from "@cosmjs/amino";
|
||||
import { sha256 } from "@cosmjs/crypto";
|
||||
import { fromBase64, fromHex, toHex } from "@cosmjs/encoding";
|
||||
import { Uint53 } from "@cosmjs/math";
|
||||
|
||||
import { Coin } from "./coins";
|
||||
import {
|
||||
AuthExtension,
|
||||
BroadcastMode,
|
||||
|
@ -1,11 +1,7 @@
|
||||
import { StdFee } from "@cosmjs/amino";
|
||||
import { Decimal, Uint53 } from "@cosmjs/math";
|
||||
|
||||
import { Coin, coins } from "./coins";
|
||||
|
||||
export interface StdFee {
|
||||
readonly amount: readonly Coin[];
|
||||
readonly gas: string;
|
||||
}
|
||||
import { coins } from "./coins";
|
||||
|
||||
export type FeeTable = Record<string, StdFee>;
|
||||
|
||||
|
@ -1,5 +1,14 @@
|
||||
// Re-exports for backwards compatibility
|
||||
export {
|
||||
AccountData,
|
||||
Algo,
|
||||
AminoMsg as Msg,
|
||||
AminoSignResponse,
|
||||
Coin,
|
||||
OfflineAminoSigner as OfflineSigner,
|
||||
StdFee,
|
||||
StdSignDoc,
|
||||
StdSignature,
|
||||
decodeAminoPubkey,
|
||||
decodeBech32Pubkey,
|
||||
decodeSignature,
|
||||
@ -7,9 +16,10 @@ export {
|
||||
encodeBech32Pubkey,
|
||||
encodeSecp256k1Pubkey,
|
||||
encodeSecp256k1Signature,
|
||||
makeSignDoc,
|
||||
pubkeyToAddress,
|
||||
pubkeyType,
|
||||
StdSignature,
|
||||
serializeSignDoc,
|
||||
} from "@cosmjs/amino";
|
||||
import { SinglePubkey } from "@cosmjs/amino";
|
||||
/** @deprecated PubKey is deprecated. Use `SinglePubkey` or the more general `Pubkey` from `@cosmjs/amino`. */
|
||||
@ -18,8 +28,7 @@ export type PubKey = SinglePubkey;
|
||||
import * as logs from "./logs";
|
||||
export { logs };
|
||||
|
||||
export { Coin, coin, coins, parseCoins } from "./coins";
|
||||
|
||||
export { coin, coins, parseCoins } from "./coins";
|
||||
export {
|
||||
Account,
|
||||
assertIsBroadcastTxSuccess,
|
||||
@ -42,8 +51,7 @@ export {
|
||||
isSearchBySentFromOrToQuery,
|
||||
isSearchByTagsQuery,
|
||||
} from "./cosmosclient";
|
||||
export { makeSignDoc, serializeSignDoc, StdSignDoc } from "./encoding";
|
||||
export { buildFeeTable, FeeTable, GasLimits, GasPrice, StdFee } from "./fee";
|
||||
export { buildFeeTable, FeeTable, GasLimits, GasPrice } from "./fee";
|
||||
export {
|
||||
AuthAccountsResponse,
|
||||
AuthExtension,
|
||||
@ -127,7 +135,6 @@ export {
|
||||
isMsgUndelegate,
|
||||
isMsgWithdrawDelegatorReward,
|
||||
isMsgWithdrawValidatorCommission,
|
||||
Msg,
|
||||
MsgBeginRedelegate,
|
||||
MsgCreateValidator,
|
||||
MsgDelegate,
|
||||
@ -142,7 +149,6 @@ export {
|
||||
} from "./msgs";
|
||||
export { makeCosmoshubPath } from "./paths";
|
||||
export { findSequenceForSignedTx } from "./sequence";
|
||||
export { AccountData, Algo, AminoSignResponse, OfflineSigner } from "./signer";
|
||||
export { CosmosFeeTable, SigningCosmosClient } from "./signingcosmosclient";
|
||||
export { isStdTx, isWrappedStdTx, makeStdTx, CosmosSdkTx, StdTx, WrappedStdTx, WrappedTx } from "./tx";
|
||||
export { executeKdf, KdfConfiguration } from "./wallet";
|
||||
|
@ -1,7 +1,6 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { Pubkey } from "@cosmjs/amino";
|
||||
import { Coin, Pubkey } from "@cosmjs/amino";
|
||||
|
||||
import { Coin } from "../coins";
|
||||
import { LcdClient } from "./lcdclient";
|
||||
|
||||
/**
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { Coin } from "../coins";
|
||||
import { Coin } from "@cosmjs/amino";
|
||||
|
||||
import { LcdClient } from "./lcdclient";
|
||||
|
||||
export interface BankBalancesResponse {
|
||||
|
@ -1,10 +1,10 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { makeSignDoc } from "@cosmjs/amino";
|
||||
import { Bech32 } from "@cosmjs/encoding";
|
||||
import { sleep } from "@cosmjs/utils";
|
||||
|
||||
import { coin, coins } from "../coins";
|
||||
import { assertIsBroadcastTxSuccess } from "../cosmosclient";
|
||||
import { makeSignDoc } from "../encoding";
|
||||
import { MsgDelegate } from "../msgs";
|
||||
import { Secp256k1HdWallet } from "../secp256k1hdwallet";
|
||||
import { SigningCosmosClient } from "../signingcosmosclient";
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { Coin } from "../coins";
|
||||
import { Coin } from "@cosmjs/amino";
|
||||
|
||||
import { LcdClient } from "./lcdclient";
|
||||
|
||||
export interface RewardContainer {
|
||||
|
@ -1,9 +1,9 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { makeSignDoc } from "@cosmjs/amino";
|
||||
import { sleep } from "@cosmjs/utils";
|
||||
|
||||
import { coins } from "../coins";
|
||||
import { assertIsBroadcastTxSuccess } from "../cosmosclient";
|
||||
import { makeSignDoc } from "../encoding";
|
||||
import { Secp256k1HdWallet } from "../secp256k1hdwallet";
|
||||
import { SigningCosmosClient } from "../signingcosmosclient";
|
||||
import {
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { Coin } from "../coins";
|
||||
import { Coin } from "@cosmjs/amino";
|
||||
|
||||
import { LcdClient } from "./lcdclient";
|
||||
|
||||
export enum GovParametersType {
|
||||
|
@ -1,10 +1,8 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { Coin, makeSignDoc, StdFee } from "@cosmjs/amino";
|
||||
import { assert, sleep } from "@cosmjs/utils";
|
||||
|
||||
import { Coin } from "../coins";
|
||||
import { isBroadcastTxFailure } from "../cosmosclient";
|
||||
import { makeSignDoc } from "../encoding";
|
||||
import { StdFee } from "../fee";
|
||||
import { parseLogs } from "../logs";
|
||||
import { MsgSend } from "../msgs";
|
||||
import { makeCosmoshubPath } from "../paths";
|
||||
|
@ -1,9 +1,9 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { makeSignDoc } from "@cosmjs/amino";
|
||||
import { assert, sleep } from "@cosmjs/utils";
|
||||
|
||||
import { coin, coins } from "../coins";
|
||||
import { assertIsBroadcastTxSuccess } from "../cosmosclient";
|
||||
import { makeSignDoc } from "../encoding";
|
||||
import { MsgDelegate, MsgUndelegate } from "../msgs";
|
||||
import { Secp256k1HdWallet } from "../secp256k1hdwallet";
|
||||
import { SigningCosmosClient } from "../signingcosmosclient";
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { Coin } from "../coins";
|
||||
import { Coin } from "@cosmjs/amino";
|
||||
|
||||
import { BlockHeader, SearchTxsResponse } from "./base";
|
||||
import { LcdClient } from "./lcdclient";
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { Coin } from "../coins";
|
||||
import { Coin } from "@cosmjs/amino";
|
||||
|
||||
import { LcdApiArray, LcdClient } from "./lcdclient";
|
||||
|
||||
export interface TotalSupplyAllResponse {
|
||||
|
@ -1,17 +1,12 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { Coin } from "./coins";
|
||||
|
||||
export interface Msg {
|
||||
readonly type: string;
|
||||
readonly value: any;
|
||||
}
|
||||
import { AminoMsg, Coin } from "@cosmjs/amino";
|
||||
|
||||
// auth (no messages) - see https://github.com/cosmos/cosmos-sdk/blob/efa73c7/proto/cosmos/auth/auth.proto
|
||||
|
||||
// bank - see https://github.com/cosmos/cosmos-sdk/blob/efa73c7/proto/cosmos/bank/bank.proto
|
||||
|
||||
/** A high level transaction of the coin module */
|
||||
export interface MsgSend extends Msg {
|
||||
export interface MsgSend extends AminoMsg {
|
||||
readonly type: "cosmos-sdk/MsgSend";
|
||||
readonly value: {
|
||||
/** Bech32 account address */
|
||||
@ -22,7 +17,7 @@ export interface MsgSend extends Msg {
|
||||
};
|
||||
}
|
||||
|
||||
export function isMsgSend(msg: Msg): msg is MsgSend {
|
||||
export function isMsgSend(msg: AminoMsg): msg is MsgSend {
|
||||
return (msg as MsgSend).type === "cosmos-sdk/MsgSend";
|
||||
}
|
||||
|
||||
@ -39,7 +34,7 @@ interface Output {
|
||||
}
|
||||
|
||||
/** A high level transaction of the coin module */
|
||||
export interface MsgMultiSend extends Msg {
|
||||
export interface MsgMultiSend extends AminoMsg {
|
||||
readonly type: "cosmos-sdk/MsgMultiSend";
|
||||
readonly value: {
|
||||
readonly inputs: readonly Input[];
|
||||
@ -47,14 +42,14 @@ export interface MsgMultiSend extends Msg {
|
||||
};
|
||||
}
|
||||
|
||||
export function isMsgMultiSend(msg: Msg): msg is MsgMultiSend {
|
||||
export function isMsgMultiSend(msg: AminoMsg): msg is MsgMultiSend {
|
||||
return (msg as MsgMultiSend).type === "cosmos-sdk/MsgMultiSend";
|
||||
}
|
||||
|
||||
// crisis - see https://github.com/cosmos/cosmos-sdk/blob/efa73c7/proto/cosmos/crisis/crisis.proto
|
||||
|
||||
/** Verifies a particular invariance */
|
||||
export interface MsgVerifyInvariant extends Msg {
|
||||
export interface MsgVerifyInvariant extends AminoMsg {
|
||||
readonly type: "cosmos-sdk/MsgVerifyInvariant";
|
||||
readonly value: {
|
||||
/** Bech32 account address */
|
||||
@ -64,14 +59,14 @@ export interface MsgVerifyInvariant extends Msg {
|
||||
};
|
||||
}
|
||||
|
||||
export function isMsgVerifyInvariant(msg: Msg): msg is MsgVerifyInvariant {
|
||||
export function isMsgVerifyInvariant(msg: AminoMsg): msg is MsgVerifyInvariant {
|
||||
return (msg as MsgVerifyInvariant).type === "cosmos-sdk/MsgVerifyInvariant";
|
||||
}
|
||||
|
||||
// distribution - see https://github.com/cosmos/cosmos-sdk/blob/efa73c7/proto/cosmos/distribution/distribution.proto
|
||||
|
||||
/** Changes the withdraw address for a delegator (or validator self-delegation) */
|
||||
export interface MsgSetWithdrawAddress extends Msg {
|
||||
export interface MsgSetWithdrawAddress extends AminoMsg {
|
||||
// NOTE: Type string and names diverge here!
|
||||
readonly type: "cosmos-sdk/MsgModifyWithdrawAddress";
|
||||
readonly value: {
|
||||
@ -82,13 +77,13 @@ export interface MsgSetWithdrawAddress extends Msg {
|
||||
};
|
||||
}
|
||||
|
||||
export function isMsgSetWithdrawAddress(msg: Msg): msg is MsgSetWithdrawAddress {
|
||||
export function isMsgSetWithdrawAddress(msg: AminoMsg): msg is MsgSetWithdrawAddress {
|
||||
// NOTE: Type string and names diverge here!
|
||||
return (msg as MsgSetWithdrawAddress).type === "cosmos-sdk/MsgModifyWithdrawAddress";
|
||||
}
|
||||
|
||||
/** Message for delegation withdraw from a single validator */
|
||||
export interface MsgWithdrawDelegatorReward extends Msg {
|
||||
export interface MsgWithdrawDelegatorReward extends AminoMsg {
|
||||
// NOTE: Type string and names diverge here!
|
||||
readonly type: "cosmos-sdk/MsgWithdrawDelegationReward";
|
||||
readonly value: {
|
||||
@ -99,13 +94,13 @@ export interface MsgWithdrawDelegatorReward extends Msg {
|
||||
};
|
||||
}
|
||||
|
||||
export function isMsgWithdrawDelegatorReward(msg: Msg): msg is MsgWithdrawDelegatorReward {
|
||||
export function isMsgWithdrawDelegatorReward(msg: AminoMsg): msg is MsgWithdrawDelegatorReward {
|
||||
// NOTE: Type string and names diverge here!
|
||||
return (msg as MsgWithdrawDelegatorReward).type === "cosmos-sdk/MsgWithdrawDelegationReward";
|
||||
}
|
||||
|
||||
/** Message for validator withdraw */
|
||||
export interface MsgWithdrawValidatorCommission extends Msg {
|
||||
export interface MsgWithdrawValidatorCommission extends AminoMsg {
|
||||
readonly type: "cosmos-sdk/MsgWithdrawValidatorCommission";
|
||||
readonly value: {
|
||||
/** Bech32 account address */
|
||||
@ -113,12 +108,12 @@ export interface MsgWithdrawValidatorCommission extends Msg {
|
||||
};
|
||||
}
|
||||
|
||||
export function isMsgWithdrawValidatorCommission(msg: Msg): msg is MsgWithdrawValidatorCommission {
|
||||
export function isMsgWithdrawValidatorCommission(msg: AminoMsg): msg is MsgWithdrawValidatorCommission {
|
||||
return (msg as MsgWithdrawValidatorCommission).type === "cosmos-sdk/MsgWithdrawValidatorCommission";
|
||||
}
|
||||
|
||||
/** Allows an account to directly fund the community pool. */
|
||||
export interface MsgFundCommunityPool extends Msg {
|
||||
export interface MsgFundCommunityPool extends AminoMsg {
|
||||
readonly type: "cosmos-sdk/MsgFundCommunityPool";
|
||||
readonly value: {
|
||||
readonly amount: readonly Coin[];
|
||||
@ -127,7 +122,7 @@ export interface MsgFundCommunityPool extends Msg {
|
||||
};
|
||||
}
|
||||
|
||||
export function isMsgFundCommunityPool(msg: Msg): msg is MsgFundCommunityPool {
|
||||
export function isMsgFundCommunityPool(msg: AminoMsg): msg is MsgFundCommunityPool {
|
||||
return (msg as MsgFundCommunityPool).type === "cosmos-sdk/MsgFundCommunityPool";
|
||||
}
|
||||
|
||||
@ -139,7 +134,7 @@ interface Any {
|
||||
}
|
||||
|
||||
/** Supports submitting arbitrary evidence */
|
||||
export interface MsgSubmitEvidence extends Msg {
|
||||
export interface MsgSubmitEvidence extends AminoMsg {
|
||||
readonly type: "cosmos-sdk/MsgSubmitEvidence";
|
||||
readonly value: {
|
||||
/** Bech32 account address */
|
||||
@ -148,14 +143,14 @@ export interface MsgSubmitEvidence extends Msg {
|
||||
};
|
||||
}
|
||||
|
||||
export function isMsgSubmitEvidence(msg: Msg): msg is MsgSubmitEvidence {
|
||||
export function isMsgSubmitEvidence(msg: AminoMsg): msg is MsgSubmitEvidence {
|
||||
return (msg as MsgSubmitEvidence).type === "cosmos-sdk/MsgSubmitEvidence";
|
||||
}
|
||||
|
||||
// gov - https://github.com/cosmos/cosmos-sdk/blob/efa73c7edb31a7bd65786501da213b294f89267a/proto/cosmos/gov/gov.proto
|
||||
|
||||
/** Supports submitting arbitrary proposal content. */
|
||||
export interface MsgSubmitProposal extends Msg {
|
||||
export interface MsgSubmitProposal extends AminoMsg {
|
||||
readonly type: "cosmos-sdk/MsgSubmitProposal";
|
||||
readonly value: {
|
||||
readonly content: Any;
|
||||
@ -165,7 +160,7 @@ export interface MsgSubmitProposal extends Msg {
|
||||
};
|
||||
}
|
||||
|
||||
export function isMsgSubmitProposal(msg: Msg): msg is MsgSubmitProposal {
|
||||
export function isMsgSubmitProposal(msg: AminoMsg): msg is MsgSubmitProposal {
|
||||
return (msg as MsgSubmitProposal).type === "cosmos-sdk/MsgSubmitProposal";
|
||||
}
|
||||
|
||||
@ -178,7 +173,7 @@ enum VoteOption {
|
||||
}
|
||||
|
||||
/** Casts a vote */
|
||||
export interface MsgVote extends Msg {
|
||||
export interface MsgVote extends AminoMsg {
|
||||
readonly type: "cosmos-sdk/MsgVote";
|
||||
readonly value: {
|
||||
readonly proposal_id: number;
|
||||
@ -188,12 +183,12 @@ export interface MsgVote extends Msg {
|
||||
};
|
||||
}
|
||||
|
||||
export function isMsgVote(msg: Msg): msg is MsgVote {
|
||||
export function isMsgVote(msg: AminoMsg): msg is MsgVote {
|
||||
return (msg as MsgVote).type === "cosmos-sdk/MsgVote";
|
||||
}
|
||||
|
||||
/** Submits a deposit to an existing proposal */
|
||||
export interface MsgDeposit extends Msg {
|
||||
export interface MsgDeposit extends AminoMsg {
|
||||
readonly type: "cosmos-sdk/MsgDeposit";
|
||||
readonly value: {
|
||||
readonly proposal_id: number;
|
||||
@ -203,7 +198,7 @@ export interface MsgDeposit extends Msg {
|
||||
};
|
||||
}
|
||||
|
||||
export function isMsgDeposit(msg: Msg): msg is MsgDeposit {
|
||||
export function isMsgDeposit(msg: AminoMsg): msg is MsgDeposit {
|
||||
return (msg as MsgDeposit).type === "cosmos-sdk/MsgDeposit";
|
||||
}
|
||||
|
||||
@ -216,7 +211,7 @@ export function isMsgDeposit(msg: Msg): msg is MsgDeposit {
|
||||
// slashing - see https://github.com/cosmos/cosmos-sdk/blob/efa73c7/proto/cosmos/slashing/slashing.proto
|
||||
|
||||
/** Unjails a jailed validator */
|
||||
export interface MsgUnjail extends Msg {
|
||||
export interface MsgUnjail extends AminoMsg {
|
||||
readonly type: "cosmos-sdk/MsgUnjail";
|
||||
readonly value: {
|
||||
/** Bech32 account address */
|
||||
@ -224,7 +219,7 @@ export interface MsgUnjail extends Msg {
|
||||
};
|
||||
}
|
||||
|
||||
export function isMsgUnjail(msg: Msg): msg is MsgUnjail {
|
||||
export function isMsgUnjail(msg: AminoMsg): msg is MsgUnjail {
|
||||
return (msg as MsgUnjail).type === "cosmos-sdk/MsgUnjail";
|
||||
}
|
||||
|
||||
@ -247,7 +242,7 @@ interface Description {
|
||||
}
|
||||
|
||||
/** Creates a new validator. */
|
||||
export interface MsgCreateValidator extends Msg {
|
||||
export interface MsgCreateValidator extends AminoMsg {
|
||||
readonly type: "cosmos-sdk/MsgCreateValidator";
|
||||
readonly value: {
|
||||
readonly description: Description;
|
||||
@ -263,12 +258,12 @@ export interface MsgCreateValidator extends Msg {
|
||||
};
|
||||
}
|
||||
|
||||
export function isMsgCreateValidator(msg: Msg): msg is MsgCreateValidator {
|
||||
export function isMsgCreateValidator(msg: AminoMsg): msg is MsgCreateValidator {
|
||||
return (msg as MsgCreateValidator).type === "cosmos-sdk/MsgCreateValidator";
|
||||
}
|
||||
|
||||
/** Edits an existing validator. */
|
||||
export interface MsgEditValidator extends Msg {
|
||||
export interface MsgEditValidator extends AminoMsg {
|
||||
readonly type: "cosmos-sdk/MsgEditValidator";
|
||||
readonly value: {
|
||||
readonly description: Description;
|
||||
@ -279,7 +274,7 @@ export interface MsgEditValidator extends Msg {
|
||||
};
|
||||
}
|
||||
|
||||
export function isMsgEditValidator(msg: Msg): msg is MsgEditValidator {
|
||||
export function isMsgEditValidator(msg: AminoMsg): msg is MsgEditValidator {
|
||||
return (msg as MsgEditValidator).type === "cosmos-sdk/MsgEditValidator";
|
||||
}
|
||||
|
||||
@ -288,7 +283,7 @@ export function isMsgEditValidator(msg: Msg): msg is MsgEditValidator {
|
||||
*
|
||||
* @see https://docs.cosmos.network/master/modules/staking/03_messages.html#msgdelegate
|
||||
*/
|
||||
export interface MsgDelegate extends Msg {
|
||||
export interface MsgDelegate extends AminoMsg {
|
||||
readonly type: "cosmos-sdk/MsgDelegate";
|
||||
readonly value: {
|
||||
/** Bech32 encoded delegator address */
|
||||
@ -299,12 +294,12 @@ export interface MsgDelegate extends Msg {
|
||||
};
|
||||
}
|
||||
|
||||
export function isMsgDelegate(msg: Msg): msg is MsgDelegate {
|
||||
export function isMsgDelegate(msg: AminoMsg): msg is MsgDelegate {
|
||||
return (msg as MsgDelegate).type === "cosmos-sdk/MsgDelegate";
|
||||
}
|
||||
|
||||
/** Performs a redelegation from a delegate and source validator to a destination validator */
|
||||
export interface MsgBeginRedelegate extends Msg {
|
||||
export interface MsgBeginRedelegate extends AminoMsg {
|
||||
readonly type: "cosmos-sdk/MsgBeginRedelegate";
|
||||
readonly value: {
|
||||
/** Bech32 encoded delegator address */
|
||||
@ -317,12 +312,12 @@ export interface MsgBeginRedelegate extends Msg {
|
||||
};
|
||||
}
|
||||
|
||||
export function isMsgBeginRedelegate(msg: Msg): msg is MsgBeginRedelegate {
|
||||
export function isMsgBeginRedelegate(msg: AminoMsg): msg is MsgBeginRedelegate {
|
||||
return (msg as MsgBeginRedelegate).type === "cosmos-sdk/MsgBeginRedelegate";
|
||||
}
|
||||
|
||||
/** Performs an undelegation from a delegate and a validator */
|
||||
export interface MsgUndelegate extends Msg {
|
||||
export interface MsgUndelegate extends AminoMsg {
|
||||
readonly type: "cosmos-sdk/MsgUndelegate";
|
||||
readonly value: {
|
||||
/** Bech32 encoded delegator address */
|
||||
@ -333,7 +328,7 @@ export interface MsgUndelegate extends Msg {
|
||||
};
|
||||
}
|
||||
|
||||
export function isMsgUndelegate(msg: Msg): msg is MsgUndelegate {
|
||||
export function isMsgUndelegate(msg: AminoMsg): msg is MsgUndelegate {
|
||||
return (msg as MsgUndelegate).type === "cosmos-sdk/MsgUndelegate";
|
||||
}
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { serializeSignDoc, StdSignDoc } from "@cosmjs/amino";
|
||||
import { Secp256k1, Secp256k1Signature, sha256 } from "@cosmjs/crypto";
|
||||
import { fromBase64, fromHex } from "@cosmjs/encoding";
|
||||
|
||||
import { serializeSignDoc, StdSignDoc } from "./encoding";
|
||||
import { extractKdfConfiguration, Secp256k1HdWallet } from "./secp256k1hdwallet";
|
||||
import { base64Matcher } from "./testutils.spec";
|
||||
import { executeKdf, KdfConfiguration } from "./wallet";
|
||||
|
@ -1,4 +1,12 @@
|
||||
import { encodeSecp256k1Signature, rawSecp256k1PubkeyToRawAddress } from "@cosmjs/amino";
|
||||
import {
|
||||
AccountData,
|
||||
AminoSignResponse,
|
||||
encodeSecp256k1Signature,
|
||||
OfflineAminoSigner,
|
||||
rawSecp256k1PubkeyToRawAddress,
|
||||
serializeSignDoc,
|
||||
StdSignDoc,
|
||||
} from "@cosmjs/amino";
|
||||
import {
|
||||
Bip39,
|
||||
EnglishMnemonic,
|
||||
@ -14,9 +22,7 @@ import {
|
||||
import { Bech32, fromBase64, fromUtf8, toBase64, toUtf8 } from "@cosmjs/encoding";
|
||||
import { assert, isNonNullObject } from "@cosmjs/utils";
|
||||
|
||||
import { serializeSignDoc, StdSignDoc } from "./encoding";
|
||||
import { makeCosmoshubPath } from "./paths";
|
||||
import { AccountData, AminoSignResponse, OfflineSigner } from "./signer";
|
||||
import {
|
||||
decrypt,
|
||||
encrypt,
|
||||
@ -106,7 +112,7 @@ interface DerivationInfo {
|
||||
readonly prefix: string;
|
||||
}
|
||||
|
||||
export class Secp256k1HdWallet implements OfflineSigner {
|
||||
export class Secp256k1HdWallet implements OfflineAminoSigner {
|
||||
/**
|
||||
* Restores a wallet from the given BIP39 mnemonic.
|
||||
*
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { serializeSignDoc, StdSignDoc } from "@cosmjs/amino";
|
||||
import { Secp256k1, Secp256k1Signature, Sha256 } from "@cosmjs/crypto";
|
||||
import { fromBase64, fromHex } from "@cosmjs/encoding";
|
||||
|
||||
import { serializeSignDoc, StdSignDoc } from "./encoding";
|
||||
import { Secp256k1Wallet } from "./secp256k1wallet";
|
||||
|
||||
describe("Secp256k1Wallet", () => {
|
||||
|
@ -1,16 +1,21 @@
|
||||
import { encodeSecp256k1Signature, rawSecp256k1PubkeyToRawAddress } from "@cosmjs/amino";
|
||||
import {
|
||||
AccountData,
|
||||
AminoSignResponse,
|
||||
encodeSecp256k1Signature,
|
||||
OfflineAminoSigner,
|
||||
rawSecp256k1PubkeyToRawAddress,
|
||||
serializeSignDoc,
|
||||
StdSignDoc,
|
||||
} from "@cosmjs/amino";
|
||||
import { Secp256k1, Sha256 } from "@cosmjs/crypto";
|
||||
import { Bech32 } from "@cosmjs/encoding";
|
||||
|
||||
import { serializeSignDoc, StdSignDoc } from "./encoding";
|
||||
import { AccountData, AminoSignResponse, OfflineSigner } from "./signer";
|
||||
|
||||
/**
|
||||
* A wallet that holds a single secp256k1 keypair.
|
||||
*
|
||||
* If you want to work with BIP39 mnemonics and multiple accounts, use Secp256k1HdWallet.
|
||||
*/
|
||||
export class Secp256k1Wallet implements OfflineSigner {
|
||||
export class Secp256k1Wallet implements OfflineAminoSigner {
|
||||
/**
|
||||
* Creates a Secp256k1Wallet from the given private key
|
||||
*
|
||||
|
@ -1,7 +1,6 @@
|
||||
import { decodeSignature } from "@cosmjs/amino";
|
||||
import { decodeSignature, makeSignDoc, serializeSignDoc } from "@cosmjs/amino";
|
||||
import { Secp256k1, Secp256k1Signature, sha256 } from "@cosmjs/crypto";
|
||||
|
||||
import { makeSignDoc, serializeSignDoc } from "./encoding";
|
||||
import { WrappedStdTx } from "./tx";
|
||||
|
||||
/**
|
||||
|
@ -1,7 +1,8 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { Coin } from "@cosmjs/amino";
|
||||
import { assert } from "@cosmjs/utils";
|
||||
|
||||
import { Coin, coin, coins } from "./coins";
|
||||
import { coin, coins } from "./coins";
|
||||
import { assertIsBroadcastTxSuccess, PrivateCosmosClient } from "./cosmosclient";
|
||||
import { GasPrice } from "./fee";
|
||||
import { MsgDelegate, MsgSend } from "./msgs";
|
||||
|
@ -1,13 +1,11 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { AminoMsg, Coin, makeSignDoc, OfflineAminoSigner, StdFee } from "@cosmjs/amino";
|
||||
import equals from "fast-deep-equal";
|
||||
|
||||
import { Coin } from "./coins";
|
||||
import { Account, BroadcastTxResult, CosmosClient, GetSequenceResult } from "./cosmosclient";
|
||||
import { makeSignDoc } from "./encoding";
|
||||
import { buildFeeTable, FeeTable, GasLimits, GasPrice, StdFee } from "./fee";
|
||||
import { buildFeeTable, FeeTable, GasLimits, GasPrice } from "./fee";
|
||||
import { BroadcastMode } from "./lcdapi";
|
||||
import { Msg, MsgSend } from "./msgs";
|
||||
import { OfflineSigner } from "./signer";
|
||||
import { MsgSend } from "./msgs";
|
||||
import { makeStdTx, StdTx } from "./tx";
|
||||
|
||||
/**
|
||||
@ -29,7 +27,7 @@ export class SigningCosmosClient extends CosmosClient {
|
||||
public readonly fees: CosmosFeeTable;
|
||||
public readonly signerAddress: string;
|
||||
|
||||
private readonly signer: OfflineSigner;
|
||||
private readonly signer: OfflineAminoSigner;
|
||||
|
||||
/**
|
||||
* Creates a new client with signing capability to interact with a Cosmos SDK blockchain. This is the bigger brother of CosmosClient.
|
||||
@ -39,7 +37,7 @@ export class SigningCosmosClient extends CosmosClient {
|
||||
*
|
||||
* @param apiUrl The URL of a Cosmos SDK light client daemon API (sometimes called REST server or REST API)
|
||||
* @param signerAddress The address that will sign transactions using this instance. The `signer` must be able to sign with this address.
|
||||
* @param signer An implementation of OfflineSigner which can provide signatures for transactions, potentially requiring user input.
|
||||
* @param signer An implementation of OfflineAminoSigner which can provide signatures for transactions, potentially requiring user input.
|
||||
* @param gasPrice The price paid per unit of gas
|
||||
* @param gasLimits Custom overrides for gas limits related to specific transaction types
|
||||
* @param broadcastMode Defines at which point of the transaction processing the broadcastTx method returns
|
||||
@ -47,7 +45,7 @@ export class SigningCosmosClient extends CosmosClient {
|
||||
public constructor(
|
||||
apiUrl: string,
|
||||
signerAddress: string,
|
||||
signer: OfflineSigner,
|
||||
signer: OfflineAminoSigner,
|
||||
gasPrice: GasPrice = defaultGasPrice,
|
||||
gasLimits: Partial<GasLimits<CosmosFeeTable>> = {},
|
||||
broadcastMode = BroadcastMode.Block,
|
||||
@ -87,7 +85,11 @@ export class SigningCosmosClient extends CosmosClient {
|
||||
* Gets account number and sequence from the API, creates a sign doc,
|
||||
* creates a single signature, assembles the signed transaction and broadcasts it.
|
||||
*/
|
||||
public async signAndBroadcast(msgs: readonly Msg[], fee: StdFee, memo = ""): Promise<BroadcastTxResult> {
|
||||
public async signAndBroadcast(
|
||||
msgs: readonly AminoMsg[],
|
||||
fee: StdFee,
|
||||
memo = "",
|
||||
): Promise<BroadcastTxResult> {
|
||||
const signedTx = await this.sign(msgs, fee, memo);
|
||||
return this.broadcastTx(signedTx);
|
||||
}
|
||||
@ -96,7 +98,7 @@ export class SigningCosmosClient extends CosmosClient {
|
||||
* Gets account number and sequence from the API, creates a sign doc,
|
||||
* creates a single signature and assembles the signed transaction.
|
||||
*/
|
||||
public async sign(msgs: readonly Msg[], fee: StdFee, memo = ""): Promise<StdTx> {
|
||||
public async sign(msgs: readonly AminoMsg[], fee: StdFee, memo = ""): Promise<StdTx> {
|
||||
const { accountNumber, sequence } = await this.getSequence();
|
||||
const chainId = await this.getChainId();
|
||||
const signDoc = makeSignDoc(msgs, fee, chainId, memo, accountNumber, sequence);
|
||||
|
@ -1,9 +1,8 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { StdSignature } from "@cosmjs/amino";
|
||||
import { StdFee, StdSignature } from "@cosmjs/amino";
|
||||
import { makeSignDoc } from "@cosmjs/amino/build/signdoc";
|
||||
|
||||
import { coins } from "./coins";
|
||||
import { makeSignDoc } from "./encoding";
|
||||
import { StdFee } from "./fee";
|
||||
import { makeStdTx } from "./tx";
|
||||
|
||||
describe("tx", () => {
|
||||
|
@ -1,8 +1,4 @@
|
||||
import { StdSignature } from "@cosmjs/amino";
|
||||
|
||||
import { StdSignDoc } from "./encoding";
|
||||
import { StdFee } from "./fee";
|
||||
import { Msg } from "./msgs";
|
||||
import { AminoMsg, StdFee, StdSignature, StdSignDoc } from "@cosmjs/amino";
|
||||
|
||||
/**
|
||||
* A Cosmos SDK StdTx
|
||||
@ -10,7 +6,7 @@ import { Msg } from "./msgs";
|
||||
* @see https://docs.cosmos.network/master/modules/auth/03_types.html#stdtx
|
||||
*/
|
||||
export interface StdTx {
|
||||
readonly msg: readonly Msg[];
|
||||
readonly msg: readonly AminoMsg[];
|
||||
readonly fee: StdFee;
|
||||
readonly signatures: readonly StdSignature[];
|
||||
readonly memo: string | undefined;
|
||||
|
@ -44,7 +44,6 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@cosmjs/amino": "^0.25.0-alpha.0",
|
||||
"@cosmjs/launchpad": "^0.25.0-alpha.0",
|
||||
"long": "^4.0.0",
|
||||
"protobufjs": "~6.10.2"
|
||||
},
|
||||
|
@ -1,5 +1,4 @@
|
||||
import { StdSignature } from "@cosmjs/amino";
|
||||
import { OfflineSigner as OfflineAminoSigner } from "@cosmjs/launchpad";
|
||||
import { OfflineAminoSigner, StdSignature } from "@cosmjs/amino";
|
||||
|
||||
import { SignDoc } from "./codec/cosmos/tx/v1beta1/tx";
|
||||
|
||||
|
@ -1,8 +1,7 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { decodeBech32Pubkey, encodeBech32Pubkey } from "@cosmjs/amino";
|
||||
import { AminoMsg, decodeBech32Pubkey, encodeBech32Pubkey } from "@cosmjs/amino";
|
||||
import { fromBase64, toBase64 } from "@cosmjs/encoding";
|
||||
import {
|
||||
Msg,
|
||||
MsgBeginRedelegate as LaunchpadMsgBeginRedelegate,
|
||||
MsgCreateValidator as LaunchpadMsgCreateValidator,
|
||||
MsgDelegate as LaunchpadMsgDelegate,
|
||||
@ -416,7 +415,7 @@ export class AminoTypes {
|
||||
this.register = { ...filteredDefaultTypes, ...additions };
|
||||
}
|
||||
|
||||
public toAmino({ typeUrl, value }: EncodeObject): Msg {
|
||||
public toAmino({ typeUrl, value }: EncodeObject): AminoMsg {
|
||||
const converter = this.register[typeUrl];
|
||||
if (!converter) {
|
||||
throw new Error(
|
||||
@ -431,7 +430,7 @@ export class AminoTypes {
|
||||
};
|
||||
}
|
||||
|
||||
public fromAmino({ type, value }: Msg): EncodeObject {
|
||||
public fromAmino({ type, value }: AminoMsg): EncodeObject {
|
||||
const result = Object.entries(this.register).find(([_typeUrl, { aminoType }]) => aminoType === type);
|
||||
if (!result) {
|
||||
throw new Error(
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { encodeSecp256k1Pubkey } from "@cosmjs/amino";
|
||||
import { encodeSecp256k1Pubkey, makeSignDoc as makeSignDocAmino } from "@cosmjs/amino";
|
||||
import { fromBase64 } from "@cosmjs/encoding";
|
||||
import { CosmosFeeTable, makeSignDoc as makeSignDocAmino } from "@cosmjs/launchpad";
|
||||
import { CosmosFeeTable } from "@cosmjs/launchpad";
|
||||
import { Int53 } from "@cosmjs/math";
|
||||
import {
|
||||
EncodeObject,
|
||||
|
@ -1,7 +1,8 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { AminoSignResponse, StdSignDoc } from "@cosmjs/amino";
|
||||
import { Bip39, EnglishMnemonic, Random, Secp256k1, Slip10, Slip10Curve } from "@cosmjs/crypto";
|
||||
import { Bech32 } from "@cosmjs/encoding";
|
||||
import { AminoSignResponse, Secp256k1HdWallet, StdSignDoc } from "@cosmjs/launchpad";
|
||||
import { Secp256k1HdWallet } from "@cosmjs/launchpad";
|
||||
import {
|
||||
coins,
|
||||
DirectSecp256k1HdWallet,
|
||||
|
Loading…
x
Reference in New Issue
Block a user