import type { CreateTransactionResponse, Fireblocks, TransactionResponse } from '@fireblocks/ts-sdk'; import type { components } from './openapi/schema.js'; /** * Fireblocks asset id * ref: https://github.com/fireblocks/fireblocks-web3-provider/blob/main/src/constants.ts */ export type FireblocksAssetId = 'SOL_TEST' | 'SOL' | 'ETH_TEST5' | 'ETH_TEST_HOODI' | 'ETH' | 'ATOM_COS' | 'OSMO_TEST' | 'OSMO' | 'ADA_TEST' | 'ADA' | 'NEAR_TEST' | 'NEAR' | 'XTZ' | 'DOT' | 'KSM' | 'DV4TNT_TEST' | 'DYDX_DYDX' | 'CELESTIA' | 'INJ_INJ' | 'TON_TEST' | 'TON' | 'KAVA_KAVA' | 'TRX' | 'BTC' | 'SEI' | 'SUI'; export declare class FireblocksSigner { protected fireblocks: Fireblocks; protected vaultId: `${number}`; constructor(fireblocks: Fireblocks, vaultId: `${number}`); /** * Wait for given transaction to be completed * @param fbTx fireblocks transaction */ waitForTxCompletion(fbTx: CreateTransactionResponse): Promise; /** * Create a transaction in Fireblocks without waiting for completion * @param payloadToSign transaction data in hexadecimal * @param assetId fireblocks asset id * @param note optional fireblocks custom note */ createTransaction(payloadToSign: object, assetId?: FireblocksAssetId, note?: string): Promise; /** * Sign a transaction with fireblocks using Fireblocks raw message signing feature * @param payloadToSign transaction data in hexadecimal * @param assetId fireblocks asset id * @param note optional fireblocks custom note */ sign(payloadToSign: object, assetId?: FireblocksAssetId, note?: string): Promise; /** * Sign an EIP-712 Ethereum typed message with fireblocks * @param eip712message eip712message to sign * @param assetId fireblocks asset id * @param note optional fireblocks custom note */ signTypedMessage(eip712message: object, assetId: 'ETH' | 'ETH_TEST5' | 'ETH_TEST_HOODI', note?: string): Promise; /** * Sign and broadcast a transaction with fireblocks using Fireblocks contract call feature * @param payloadToSign transaction data in hexadecimal * @param assetId fireblocks asset id * @param note optional fireblocks custom note * @param tx Ethereum transaction * @param destinationId Fireblocks destination id, this corresponds to the Fireblocks whitelisted contract address id * @param sendAmount send the amount in tx to smart contract */ signAndBroadcastWith(payloadToSign: object, assetId: FireblocksAssetId, tx: components['schemas']['ETHUnsignedTx'] | components['schemas']['POLUnsignedTx'], destinationId: string, sendAmount?: boolean, note?: string): Promise; } //# sourceMappingURL=fireblocks_signer.d.ts.map