import BigNumber from 'bignumber.js'; import { CosmosChainData } from './types'; import { type StdFee } from '@cosmjs/stargate'; import { MsgTransfer } from 'cosmjs-types/ibc/applications/transfer/v1/tx'; import { MsgSend } from 'cosmjs-types/cosmos/bank/v1beta1/tx'; import { MsgExecuteContract } from 'cosmjs-types/cosmwasm/wasm/v1/tx'; import type { EncodeObject, DecodeObject } from '@cosmjs/proto-signing'; import { MsgDepositForBurn, MsgDepositForBurnWithCaller } from './circle/cctp/v1'; import { MsgExecute } from '@initia/initia.proto/initia/move/v1/tx'; import { MsgInitiateTokenDeposit } from '@initia/opinit.proto/opinit/ophost/v1/tx'; import { SignAndBroadcastResponse } from './tx-client'; export declare const getDecimalPower10: (decimals: number) => BigNumber; export declare const getChainFromAddress: (address: string, chains: Array) => CosmosChainData | undefined; type SnakeCaseToCamelCase = S extends `${infer T}_${infer U}` ? `${Lowercase}${Capitalize>}` : S; type SnakeCaseToCamelCaseObject = { [K in keyof T as SnakeCaseToCamelCase]: T[K] extends object ? T[K] extends Array ? Array> : SnakeCaseToCamelCaseObject : T[K]; }; export declare const snakeCaseToCamelCaseObject: (obj: T) => SnakeCaseToCamelCaseObject; export interface WithExpiration { data: T; expiration: number; } /** * Wraps data with expiration time * * @param data the data * @param expiration the expiration time * @returns */ export declare const withExpiration: (data: T, expiration: number) => WithExpiration; export interface WithLastModified { data: T; lastModified: number; } /** * Wraps data with last modified time * * @param data the data * @param lastModified the last modified time */ export declare const withLastModified: (data: T, lastModified: number) => WithLastModified; export declare const findValueByKey: (obj: any, targetKey: string) => T | null; /** * Returns a fee object for a given gas estimate and gas price. Default gas estimate multiplier is 1.5 * * @param gasEstimate Compute needed * @param gasPrice Gas price in base denom units * @param baseDenom Base denom for gas fee * @param gasEstimateMultiplier multiplier for gas estimate * @returns */ export declare const calculateFee: (gasEstimate: number, gasPrice: number, baseDenom: string, gasEstimateMultiplier?: number) => StdFee; export type MessageTypes = { typeUrl: '/ibc.applications.transfer.v1.MsgTransfer'; value: MsgTransfer; } | { typeUrl: '/cosmos.bank.v1beta1.MsgSend'; value: MsgSend; } | { typeUrl: '/cosmwasm.wasm.v1.MsgExecuteContract'; value: MsgExecuteContract; } | { typeUrl: '/circle.cctp.v1.MsgDepositForBurn'; value: MsgDepositForBurn; } | { typeUrl: '/circle.cctp.v1.MsgDepositForBurnWithCaller'; value: MsgDepositForBurnWithCaller; } | { typeUrl: '/initia.move.v1.MsgExecute'; value: MsgExecute; } | { typeUrl: '/opinit.ophost.v1.MsgInitiateTokenDeposit'; value: MsgInitiateTokenDeposit; }; export declare const getMessageMetadataForSigning: (typeUrl: string, msgJSON: any) => { binaryMessage: DecodeObject; encodedMessage: MessageTypes; senderAddress: string; }; export declare const getDecodedMessage: (message: { msg: string; msg_type_url: string; }) => { typeUrl: "/ibc.applications.transfer.v1.MsgTransfer"; value: Uint8Array; } | { typeUrl: "/cosmos.bank.v1beta1.MsgSend"; value: Uint8Array; } | { typeUrl: "/cosmwasm.wasm.v1.MsgExecuteContract"; value: Uint8Array; } | { typeUrl: "/circle.cctp.v1.MsgDepositForBurn"; value: Uint8Array; } | { typeUrl: "/circle.cctp.v1.MsgDepositForBurnWithCaller"; value: Uint8Array; } | { typeUrl: "/initia.move.v1.MsgExecute"; value: Uint8Array; } | { typeUrl: "/opinit.ophost.v1.MsgInitiateTokenDeposit"; value: Uint8Array; } | null; export declare const getDecodedMessageMetadataForSigning: ({ typeUrl, value }: EncodeObject) => DecodeObject; export declare function getLifiChainId(chainId: string): string; export declare function getRelayChainId(chainId: string): number; export declare function getStandardisedChainId(chainId: string): string; export declare function getStandardisedChainName(chainName: string, chainid: string): string; export declare function submitTx(chainId: string, txBytesString: string): Promise<{ success: true; response: import("./skip-api").TransactionResponse; }>; export declare function broadcastTx(txBytesString: string, restUrl: string): Promise; export {};