22 lines
909 B
TypeScript
22 lines
909 B
TypeScript
|
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()),
|
||
|
}
|
||
|
}
|