import { Amount, BlockchainAddress, EntityId } from '@dfns/datamodel/dist/Foundations'; import { BitcoinBlock, BitcoinTransaction } from './blockchains/bitcoin'; import { BroadcastEip1559TransactionRequest, BroadcastEvmLegacyTransactionRequest, BroadcastEvmTransactionRequest, Erc20Metadata, Erc721Balance, Erc721Metadata, EvmBlock, EvmTransaction, GetErc20BalanceRequest, GetErc20MetadataRequest, GetErc721BalanceRequest, GetErc721MetadataRequest, SignEip712TypedDataRequest, TransferErc20Request, TransferErc721Request } from './blockchains/evm'; import { RippleBlock, RippleTransaction } from './blockchains/ripple'; import { SolanaBlock, SolanaTransaction } from './blockchains/solana'; import { TronBlock, TronTransaction } from './blockchains/tron'; export * from './blockchain'; export * from './blockchains/bitcoin'; export * from './blockchains/evm'; export * from './blockchains/ripple'; export * from './blockchains/solana'; export * from './blockchains/tron'; export * from './wallet'; export * from './requests'; export * from './responses'; export type SignerRequest = T & { orgId: EntityId; publicKeyId: EntityId; }; export declare enum TransactionKind { Evm = "Evm", Eip1559 = "Eip1559", EvmLegacy = "EvmLegacy" } export type BroadcastTransactionRequest = BroadcastEip1559TransactionRequest | BroadcastEvmTransactionRequest | BroadcastEvmLegacyTransactionRequest; export type BroadcastTransactionResponse = { txHash: string; }; export type GetAddressResponse = { address: BlockchainAddress; }; export declare enum BalanceKind { Native = "Native", Erc20 = "Erc20", Erc721 = "Erc721" } export type GetNativeBalanceRequest = { kind: BalanceKind.Native; blockNumber?: number; }; export type GenericBalance = { balance: Amount; blockNumber: number; }; export type GetBalanceRequest = GetNativeBalanceRequest | GetErc20BalanceRequest | GetErc721BalanceRequest; export type GetBalanceResponse = R extends GetErc721BalanceRequest ? Erc721Balance : GenericBalance; export type GetBlockRequest = { blockNumber: number; }; export type GetBlockResponse = BitcoinBlock | EvmBlock | RippleBlock | SolanaBlock | TronBlock; export type GetBlockNumberResponse = { blockNumber: number; }; export declare enum MetadataKind { Erc20 = "Erc20", Erc721 = "Erc721" } export type GetMetadataRequest = GetErc20MetadataRequest | GetErc721MetadataRequest; export type GetMetadataResponse = R extends GetErc20MetadataRequest ? Erc20Metadata | null : R extends GetErc721MetadataRequest ? Erc721Metadata | null : never; export declare enum TransactionStatus { SUCCESS = "SUCCESS", FAILED = "FAILED" } export type GetTransactionRequest = { hash: string; }; export type GetTransactionResponse = BitcoinTransaction | EvmTransaction | RippleTransaction | SolanaTransaction | TronTransaction; export declare enum TransferKind { Native = "Native", Erc20 = "Erc20", Erc721 = "Erc721" } export type TransferNativeRequest = { kind: TransferKind.Native; to: BlockchainAddress; amount: Amount | 'max'; }; export type TransferRequest = TransferNativeRequest | TransferErc20Request | TransferErc721Request; export type TransferResponse = { txHash: string; }; export declare enum SignatureKind { Hash = "Hash", Message = "Message", Eip712 = "Eip712" } export type SignHashRequest = { kind: SignatureKind.Hash; hash: string; }; export type SignMessageRequest = { kind: SignatureKind.Message; message: string; }; export type SignRequest = SignHashRequest | SignMessageRequest | SignEip712TypedDataRequest; export type SignResponse = { r: string; s: string; recid?: number; encoded: string; };