Rename type to SignerData and make it public

This commit is contained in:
Simon Warta 2021-03-24 10:05:23 +01:00
parent 447b82b66f
commit 22f25a0f9d
3 changed files with 19 additions and 13 deletions

View File

@ -34,6 +34,7 @@ export {
} from "./stargateclient";
export {
defaultRegistryTypes,
SignerData,
SigningStargateClient,
SigningStargateClientOptions,
} from "./signingstargateclient";

View File

@ -16,7 +16,7 @@ import { CompactBitArray } from "./codec/cosmos/crypto/multisig/v1beta1/multisig
import { SignMode } from "./codec/cosmos/tx/signing/v1beta1/signing";
import { AuthInfo, SignerInfo, TxRaw } from "./codec/cosmos/tx/v1beta1/tx";
import { StdFee } from "./fee";
import { SigningStargateClient } from "./signingstargateclient";
import { SignerData, SigningStargateClient } from "./signingstargateclient";
import { assertIsBroadcastTxSuccess } from "./stargateclient";
import { faucet, simapp } from "./testutils.spec";
@ -118,7 +118,7 @@ describe("SigningStargateClient multisig", () => {
const multisigAccount = await client0.getAccount(multisigAddress);
assert(multisigAccount, "Account does not exist on chain");
const signData = {
const signerData: SignerData = {
accountNumber: multisigAccount.accountNumber,
sequence: multisigAccount.sequence,
chainId: await client0.getChainId(),
@ -127,19 +127,19 @@ describe("SigningStargateClient multisig", () => {
const {
bodyBytes,
signatures: [signature0],
} = await client0.signAmino(faucet.address0, [msg], fee, memo, signData);
} = await client0.signAmino(faucet.address0, [msg], fee, memo, signerData);
const {
signatures: [signature1],
} = await client1.signAmino(faucet.address1, [msg], fee, memo, signData);
} = await client1.signAmino(faucet.address1, [msg], fee, memo, signerData);
const {
signatures: [signature2],
} = await client2.signAmino(faucet.address2, [msg], fee, memo, signData);
} = await client2.signAmino(faucet.address2, [msg], fee, memo, signerData);
const {
signatures: [signature3],
} = await client3.signAmino(faucet.address3, [msg], fee, memo, signData);
} = await client3.signAmino(faucet.address3, [msg], fee, memo, signerData);
const {
signatures: [signature4],
} = await client4.signAmino(faucet.address4, [msg], fee, memo, signData);
} = await client4.signAmino(faucet.address4, [msg], fee, memo, signerData);
const signatures = new Map<string, Uint8Array>([
[address0, signature0],

View File

@ -98,7 +98,12 @@ function createDefaultRegistry(): Registry {
return new Registry(defaultRegistryTypes);
}
export interface SignData {
/**
* Signing information for a single signer that is not included in the transaction.
*
* @see https://github.com/cosmos/cosmos-sdk/blob/v0.42.2/x/auth/signing/sign_mode_handler.go#L23-L37
*/
export interface SignerData {
readonly accountNumber: number;
readonly sequence: number;
readonly chainId: string;
@ -198,11 +203,11 @@ export class SigningStargateClient extends StargateClient {
}
const { accountNumber, sequence } = accountFromChain;
const chainId = await this.getChainId();
const signData: SignData = { accountNumber, sequence, chainId };
const signerData: SignerData = { accountNumber, sequence, chainId };
return isOfflineDirectSigner(this.signer)
? this.signDirect(signerAddress, messages, fee, memo, signData)
: this.signAmino(signerAddress, messages, fee, memo, signData);
? this.signDirect(signerAddress, messages, fee, memo, signerData)
: this.signAmino(signerAddress, messages, fee, memo, signerData);
}
public async signAmino(
@ -210,7 +215,7 @@ export class SigningStargateClient extends StargateClient {
messages: readonly EncodeObject[],
fee: StdFee,
memo: string,
{ accountNumber, sequence, chainId }: SignData,
{ accountNumber, sequence, chainId }: SignerData,
): Promise<TxRaw> {
assert(!isOfflineDirectSigner(this.signer));
const accountFromSigner = (await this.signer.getAccounts()).find(
@ -253,7 +258,7 @@ export class SigningStargateClient extends StargateClient {
messages: readonly EncodeObject[],
fee: StdFee,
memo: string,
{ accountNumber, sequence, chainId }: SignData,
{ accountNumber, sequence, chainId }: SignerData,
): Promise<TxRaw> {
assert(isOfflineDirectSigner(this.signer));
const accountFromSigner = (await this.signer.getAccounts()).find(