UNPKG

samo-bas-ran

Version:
78 lines 2.65 kB
import { AssetWithTicker } from '../common'; import { TransactionType } from '../transactions'; import { BaseTransaction } from './base'; /** * CosmosCoin */ export type CosmosCoin = { amount: string; denom: string; }; /** * CosmosProtoMsg */ export type CosmosProtoMsg = { type_url: string; value: number[]; }; /** * CosmosFee representing fee for cosmos transaction */ export type CosmosFee = { gas: string; amount: CosmosCoin[]; }; /** * Main transaction object for COSMOS type transactions */ export type CosmosMessage = { signType: 'AMINO' | 'DIRECT'; sequence: string | null; source: number | null; account_number: number | null; rpcUrl: string; chainId: string | null; msgs: any[]; protoMsgs: CosmosProtoMsg[]; memo: string | null; fee: CosmosFee | null; }; /** * An alternative to CosmosMessage object for the cosmos wallets that do not support generic Cosmos messages (e.g. XDefi) * * @property {AssetWithTicker} asset - The asset to be transferred * @property {string} amount - The machine-readable amount to transfer, example: 1000000000000000000 * @property {number} decimals - The decimals for this asset, example: 18 * @property {string | null} memo - Memo of transaction, could be null * @property {string} method - The transaction method, example: transfer, deposit * @property {string} recipient - The recipient address of transaction * */ export type CosmosRawTransferData = { amount: string; asset: AssetWithTicker; decimals: number; memo: string | null; method: string; recipient: string; }; /** * A Cosmos transaction, child of GenericTransaction * * @property {TransactionType} type - This fields equals to COSMOS for all CosmosTransactions * @property {string} blockChain - The blockchain that this transaction will be executed in, same as the input blockchain of creating transaction * @property {string} fromWalletAddress - Address of wallet that this transaction should be executed in, same as the create transaction request's input * @property {CosmosMessage} data - Transaction data * @property {CosmosRawTransferData | null} rawTransfer - An alternative to CosmosMessage object for the cosmos wallets that do not support generic Cosmos messages * */ export interface CosmosTransaction extends BaseTransaction { type: TransactionType.COSMOS; fromWalletAddress: string; data: CosmosMessage; rawTransfer: CosmosRawTransferData | null; } export declare const isCosmosTransaction: (transaction: { type: TransactionType; }) => transaction is CosmosTransaction; //# sourceMappingURL=cosmos.d.ts.map