stargaze-studio/utils/getSignatureVerificationData.ts

22 lines
909 B
TypeScript
Raw Normal View History

2022-07-13 13:56:36 +00:00
import { isOfflineDirectSigner } from '@cosmjs/proto-signing'
import { getConfig } from 'config'
import type { WalletContextType } from 'contexts/wallet'
import type { TxRaw } from 'cosmjs-types/cosmos/tx/v1beta1/tx'
import { NETWORK } from './constants'
export const getSignatureVerificationData = async (wallet: WalletContextType, signedData: TxRaw) => {
const client = wallet.getClient()
const account = await client.getAccount(wallet.address)
return {
address: wallet.address,
chainId: getConfig(NETWORK).chainId,
signature: Buffer.from(signedData.signatures[0]),
bodyBytes: Buffer.from(signedData.bodyBytes),
authInfoBytes: Buffer.from(signedData.authInfoBytes),
accountNumber: wallet.accountNumber,
sequence: account ? account.sequence - 1 : 0, // Minus 1 because we query after making transaction
isDirectSigner: isOfflineDirectSigner(wallet.getSigner()),
}
}