chaingate
Version:
Multi-chain cryptocurrency SDK for TypeScript — unified API for Bitcoin, Ethereum, Litecoin, Dogecoin, Bitcoin Cash, Polygon, Arbitrum, and any EVM-compatible chain. Create wallets, query balances, send transactions, and manage tokens and NFTs across UTXO
238 lines (237 loc) • 20.7 kB
TypeScript
import type { Client, Options as Options2, TDataShape } from './client';
import type { GetEvmNetworkAddressBalanceData, GetEvmNetworkAddressBalanceErrors, GetEvmNetworkAddressBalanceResponses, GetEvmNetworkAddressHistoryData, GetEvmNetworkAddressHistoryErrors, GetEvmNetworkAddressHistoryResponses, GetEvmNetworkAddressTokenBalancesData, GetEvmNetworkAddressTokenBalancesErrors, GetEvmNetworkAddressTokenBalancesResponses, GetEvmNetworkAddressTransactionCountData, GetEvmNetworkAddressTransactionCountErrors, GetEvmNetworkAddressTransactionCountResponses, GetEvmNetworkBlockByHashData, GetEvmNetworkBlockByHashErrors, GetEvmNetworkBlockByHashResponses, GetEvmNetworkBlockByHeightData, GetEvmNetworkBlockByHeightErrors, GetEvmNetworkBlockByHeightResponses, GetEvmNetworkEstimateGasData, GetEvmNetworkEstimateGasErrors, GetEvmNetworkEstimateGasResponses, GetEvmNetworkFeeRateData, GetEvmNetworkFeeRateErrors, GetEvmNetworkFeeRateResponses, GetEvmNetworkLatestBlockData, GetEvmNetworkLatestBlockErrors, GetEvmNetworkLatestBlockResponses, GetEvmNetworkLogoData, GetEvmNetworkLogoErrors, GetEvmNetworkLogoResponses, GetEvmNetworkNetworkStatusData, GetEvmNetworkNetworkStatusErrors, GetEvmNetworkNetworkStatusResponses, GetEvmNetworkNftMetadataAnimationData, GetEvmNetworkNftMetadataAnimationErrors, GetEvmNetworkNftMetadataAnimationResponses, GetEvmNetworkNftMetadataData, GetEvmNetworkNftMetadataErrors, GetEvmNetworkNftMetadataImageData, GetEvmNetworkNftMetadataImageErrors, GetEvmNetworkNftMetadataImageResponses, GetEvmNetworkNftMetadataResponses, GetEvmNetworkNonceData, GetEvmNetworkNonceErrors, GetEvmNetworkNonceResponses, GetEvmNetworkOwnedTokensData, GetEvmNetworkOwnedTokensErrors, GetEvmNetworkOwnedTokensResponses, GetEvmNetworkTokenDataData, GetEvmNetworkTokenDataErrors, GetEvmNetworkTokenDataResponses, GetEvmNetworkTokenLogoData, GetEvmNetworkTokenLogoErrors, GetEvmNetworkTokenLogoResponses, GetEvmNetworkTransactionDetailsData, GetEvmNetworkTransactionDetailsErrors, GetEvmNetworkTransactionDetailsResponses, GetGlobalLogoNetworkData, GetGlobalLogoNetworkErrors, GetGlobalLogoNetworkResponses, GetGlobalMarketsData, GetGlobalMarketsErrors, GetGlobalMarketsResponses, GetGlobalNetworksInfoData, GetGlobalNetworksInfoErrors, GetGlobalNetworksInfoResponses, GetUtxoNetworkAddressBalanceData, GetUtxoNetworkAddressBalanceErrors, GetUtxoNetworkAddressBalanceResponses, GetUtxoNetworkAddressHistoryData, GetUtxoNetworkAddressHistoryErrors, GetUtxoNetworkAddressHistoryResponses, GetUtxoNetworkBlockByHashData, GetUtxoNetworkBlockByHashErrors, GetUtxoNetworkBlockByHashResponses, GetUtxoNetworkBlockByHeightData, GetUtxoNetworkBlockByHeightErrors, GetUtxoNetworkBlockByHeightResponses, GetUtxoNetworkFeeRateData, GetUtxoNetworkFeeRateErrors, GetUtxoNetworkFeeRateResponses, GetUtxoNetworkLatestBlockData, GetUtxoNetworkLatestBlockErrors, GetUtxoNetworkLatestBlockResponses, GetUtxoNetworkLogoData, GetUtxoNetworkLogoErrors, GetUtxoNetworkLogoResponses, GetUtxoNetworkMempoolData, GetUtxoNetworkMempoolErrors, GetUtxoNetworkMempoolResponses, GetUtxoNetworkTransactionDetailsData, GetUtxoNetworkTransactionDetailsErrors, GetUtxoNetworkTransactionDetailsResponses, GetUtxoNetworkUtxosByAddressData, GetUtxoNetworkUtxosByAddressErrors, GetUtxoNetworkUtxosByAddressResponses, PostEvmNetworkBroadcastTransactionData, PostEvmNetworkBroadcastTransactionErrors, PostEvmNetworkBroadcastTransactionResponses, PostEvmNetworkCallSmartContractFunctionData, PostEvmNetworkCallSmartContractFunctionErrors, PostEvmNetworkCallSmartContractFunctionResponses, PostRpcNetworkData, PostRpcNetworkErrors, PostRpcNetworkResponses, PostUtxoNetworkBroadcastTransactionData, PostUtxoNetworkBroadcastTransactionErrors, PostUtxoNetworkBroadcastTransactionResponses, PostUtxoNetworkEstimateTransactionSizeData, PostUtxoNetworkEstimateTransactionSizeErrors, PostUtxoNetworkEstimateTransactionSizeResponses } from './types.gen';
export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = Options2<TData, ThrowOnError> & {
/**
* You can provide a client instance returned by `createClient()` instead of
* individual options. This might be also useful if you want to implement a
* custom client.
*/
client?: Client;
/**
* You can pass arbitrary values through the `meta` object. This can be
* used to access values that aren't defined as part of the SDK function.
*/
meta?: Record<string, unknown>;
};
/**
* Get address balance
*
* Returns the confirmed and unconfirmed native balance for an EVM address.
*/
export declare const getEvmNetworkAddressBalance: <ThrowOnError extends boolean = false>(options: Options<GetEvmNetworkAddressBalanceData, ThrowOnError>) => import("./client").RequestResult<GetEvmNetworkAddressBalanceResponses, GetEvmNetworkAddressBalanceErrors, ThrowOnError, "fields">;
/**
* Get address history
*
* Returns paginated transaction history for an EVM address, including decoded contract events (transfers, mints, approvals, etc.)
*/
export declare const getEvmNetworkAddressHistory: <ThrowOnError extends boolean = false>(options: Options<GetEvmNetworkAddressHistoryData, ThrowOnError>) => import("./client").RequestResult<GetEvmNetworkAddressHistoryResponses, GetEvmNetworkAddressHistoryErrors, ThrowOnError, "fields">;
/**
* Get address token balances
*
* Returns all ERC-20/ERC-721/ERC-1155 token balances for an EVM address. Discovers contracts the address has interacted with and returns balances enriched with token metadata. For ERC-721 contracts that implement ERC721Enumerable, owned token IDs and tokenURIs are included. ERC-721 contracts without ERC721Enumerable will return the balance but not owned token IDs — use /ownedTokens to enumerate those.
*/
export declare const getEvmNetworkAddressTokenBalances: <ThrowOnError extends boolean = false>(options: Options<GetEvmNetworkAddressTokenBalancesData, ThrowOnError>) => import("./client").RequestResult<GetEvmNetworkAddressTokenBalancesResponses, GetEvmNetworkAddressTokenBalancesErrors, ThrowOnError, "fields">;
/**
* Get address transaction count
*
* Returns the nonce (transaction count) for an EVM address
*/
export declare const getEvmNetworkAddressTransactionCount: <ThrowOnError extends boolean = false>(options: Options<GetEvmNetworkAddressTransactionCountData, ThrowOnError>) => import("./client").RequestResult<GetEvmNetworkAddressTransactionCountResponses, GetEvmNetworkAddressTransactionCountErrors, ThrowOnError, "fields">;
/**
* Get block by hash
*
* Returns block details for the given block hash
*/
export declare const getEvmNetworkBlockByHash: <ThrowOnError extends boolean = false>(options: Options<GetEvmNetworkBlockByHashData, ThrowOnError>) => import("./client").RequestResult<GetEvmNetworkBlockByHashResponses, GetEvmNetworkBlockByHashErrors, ThrowOnError, "fields">;
/**
* Get block by height
*
* Returns block details for the given block height
*/
export declare const getEvmNetworkBlockByHeight: <ThrowOnError extends boolean = false>(options: Options<GetEvmNetworkBlockByHeightData, ThrowOnError>) => import("./client").RequestResult<GetEvmNetworkBlockByHeightResponses, GetEvmNetworkBlockByHeightErrors, ThrowOnError, "fields">;
/**
* Broadcast transaction
*
* Broadcasts a signed raw transaction to the network
*/
export declare const postEvmNetworkBroadcastTransaction: <ThrowOnError extends boolean = false>(options: Options<PostEvmNetworkBroadcastTransactionData, ThrowOnError>) => import("./client").RequestResult<PostEvmNetworkBroadcastTransactionResponses, PostEvmNetworkBroadcastTransactionErrors, ThrowOnError, "fields">;
/**
* Call smart contract function
*
* Executes a read-only (eth_call) call against a smart contract
*/
export declare const postEvmNetworkCallSmartContractFunction: <ThrowOnError extends boolean = false>(options: Options<PostEvmNetworkCallSmartContractFunctionData, ThrowOnError>) => import("./client").RequestResult<PostEvmNetworkCallSmartContractFunctionResponses, PostEvmNetworkCallSmartContractFunctionErrors, ThrowOnError, "fields">;
/**
* Estimate gas
*
* Estimates the gas required for a transaction
*/
export declare const getEvmNetworkEstimateGas: <ThrowOnError extends boolean = false>(options: Options<GetEvmNetworkEstimateGasData, ThrowOnError>) => import("./client").RequestResult<GetEvmNetworkEstimateGasResponses, GetEvmNetworkEstimateGasErrors, ThrowOnError, "fields">;
/**
* Get fee rate estimates
*
* Returns fee rate estimates for 4 priority tiers. EIP-1559 networks return maxFeePerGas/maxPriorityFeePerGas, legacy networks return gasPrice
*/
export declare const getEvmNetworkFeeRate: <ThrowOnError extends boolean = false>(options: Options<GetEvmNetworkFeeRateData, ThrowOnError>) => import("./client").RequestResult<GetEvmNetworkFeeRateResponses, GetEvmNetworkFeeRateErrors, ThrowOnError, "fields">;
/**
* Get latest block
*
* Returns the latest block number and hash for the specified EVM network
*/
export declare const getEvmNetworkLatestBlock: <ThrowOnError extends boolean = false>(options: Options<GetEvmNetworkLatestBlockData, ThrowOnError>) => import("./client").RequestResult<GetEvmNetworkLatestBlockResponses, GetEvmNetworkLatestBlockErrors, ThrowOnError, "fields">;
/**
* Get network logo
*
* Returns the SVG logo for the specified EVM network. The response is an SVG image.
*/
export declare const getEvmNetworkLogo: <ThrowOnError extends boolean = false>(options: Options<GetEvmNetworkLogoData, ThrowOnError>) => import("./client").RequestResult<GetEvmNetworkLogoResponses, GetEvmNetworkLogoErrors, ThrowOnError, "fields">;
/**
* Get network status
*
* Returns current network status including block time, gas usage, and fee predictions
*/
export declare const getEvmNetworkNetworkStatus: <ThrowOnError extends boolean = false>(options: Options<GetEvmNetworkNetworkStatusData, ThrowOnError>) => import("./client").RequestResult<GetEvmNetworkNetworkStatusResponses, GetEvmNetworkNetworkStatusErrors, ThrowOnError, "fields">;
/**
* Get next transaction nonce
*
* Returns the next nonce for an EVM address.
*/
export declare const getEvmNetworkNonce: <ThrowOnError extends boolean = false>(options: Options<GetEvmNetworkNonceData, ThrowOnError>) => import("./client").RequestResult<GetEvmNetworkNonceResponses, GetEvmNetworkNonceErrors, ThrowOnError, "fields">;
/**
* Get owned ERC-721 tokens
*
* Enumerates ERC-721 token IDs owned by a wallet for a specific contract. Works with any ERC-721 contract, including those that do not implement the ERC721Enumerable extension. Returns the token balance, standard, metadata, and a list of owned token IDs with their tokenURIs.
*/
export declare const getEvmNetworkOwnedTokens: <ThrowOnError extends boolean = false>(options: Options<GetEvmNetworkOwnedTokensData, ThrowOnError>) => import("./client").RequestResult<GetEvmNetworkOwnedTokensResponses, GetEvmNetworkOwnedTokensErrors, ThrowOnError, "fields">;
/**
* Get token data
*
* Returns metadata and on-chain information for a token contract, including name, symbol, decimals, total supply, detected token standard (ERC-20/ERC-721/ERC-1155), and logo. Works on all supported EVM networks without requiring a wallet address.
*/
export declare const getEvmNetworkTokenData: <ThrowOnError extends boolean = false>(options: Options<GetEvmNetworkTokenDataData, ThrowOnError>) => import("./client").RequestResult<GetEvmNetworkTokenDataResponses, GetEvmNetworkTokenDataErrors, ThrowOnError, "fields">;
/**
* Get token logo
*
* Returns the logo image for a token contract on the specified EVM network. The response is a binary image (PNG or SVG).
*/
export declare const getEvmNetworkTokenLogo: <ThrowOnError extends boolean = false>(options: Options<GetEvmNetworkTokenLogoData, ThrowOnError>) => import("./client").RequestResult<GetEvmNetworkTokenLogoResponses, GetEvmNetworkTokenLogoErrors, ThrowOnError, "fields">;
/**
* Get transaction details
*
* Returns detailed information about a transaction by its hash
*/
export declare const getEvmNetworkTransactionDetails: <ThrowOnError extends boolean = false>(options: Options<GetEvmNetworkTransactionDetailsData, ThrowOnError>) => import("./client").RequestResult<GetEvmNetworkTransactionDetailsResponses, GetEvmNetworkTransactionDetailsErrors, ThrowOnError, "fields">;
/**
* Get NFT metadata
*
* Returns the full decoded metadata for a specific NFT token, including name, description, image, animation URL, external URL, and attributes. Fetches the tokenURI from the contract (ERC-721 tokenURI or ERC-1155 uri), then resolves and decodes the metadata JSON. Supports HTTPS, data: (base64), and IPFS URIs. Results are cached in Redis.
*/
export declare const getEvmNetworkNftMetadata: <ThrowOnError extends boolean = false>(options: Options<GetEvmNetworkNftMetadataData, ThrowOnError>) => import("./client").RequestResult<GetEvmNetworkNftMetadataResponses, GetEvmNetworkNftMetadataErrors, ThrowOnError, "fields">;
/**
* Get NFT animation
*
* Returns the animation or video for a specific NFT token as binary data. Resolves the animation_url from the NFT metadata (supports IPFS, HTTPS, and data: URIs) and proxies it through ChainGate so consumers don't need to handle IPFS resolution. The response content type matches the original format.
*/
export declare const getEvmNetworkNftMetadataAnimation: <ThrowOnError extends boolean = false>(options: Options<GetEvmNetworkNftMetadataAnimationData, ThrowOnError>) => import("./client").RequestResult<GetEvmNetworkNftMetadataAnimationResponses, GetEvmNetworkNftMetadataAnimationErrors, ThrowOnError, "fields">;
/**
* Get NFT image
*
* Returns the image for a specific NFT token as binary data. Resolves the image URL from the NFT metadata (supports IPFS, HTTPS, and data: URIs) and proxies the image through ChainGate so consumers don't need to handle IPFS resolution. The response content type matches the original image format.
*/
export declare const getEvmNetworkNftMetadataImage: <ThrowOnError extends boolean = false>(options: Options<GetEvmNetworkNftMetadataImageData, ThrowOnError>) => import("./client").RequestResult<GetEvmNetworkNftMetadataImageResponses, GetEvmNetworkNftMetadataImageErrors, ThrowOnError, "fields">;
/**
* Get market data
*
* Returns cryptocurrency prices and fiat exchange rates for all supported networks, including many beyond those with dedicated /evm or /utxo endpoints (e.g. Mantle, Celo, Moonbeam, Berachain, etc.)
*/
export declare const getGlobalMarkets: <ThrowOnError extends boolean = false>(options?: Options<GetGlobalMarketsData, ThrowOnError>) => import("./client").RequestResult<GetGlobalMarketsResponses, GetGlobalMarketsErrors, ThrowOnError, "fields">;
/**
* Get networks info
*
* Returns real-time information for all supported EVM networks, including many that don't have dedicated /evm endpoints (e.g. Mantle, Celo, Moonbeam, Berachain, etc.). Includes block times, gas usage, and fee predictions.
*/
export declare const getGlobalNetworksInfo: <ThrowOnError extends boolean = false>(options?: Options<GetGlobalNetworksInfoData, ThrowOnError>) => import("./client").RequestResult<GetGlobalNetworksInfoResponses, GetGlobalNetworksInfoErrors, ThrowOnError, "fields">;
/**
* Get network logo
*
* Returns the SVG logo for any supported network, including networks beyond those with dedicated /evm or /utxo endpoints (e.g. Mantle, Celo, Moonbeam, Berachain, etc.). The response is an SVG image.
*/
export declare const getGlobalLogoNetwork: <ThrowOnError extends boolean = false>(options: Options<GetGlobalLogoNetworkData, ThrowOnError>) => import("./client").RequestResult<GetGlobalLogoNetworkResponses, GetGlobalLogoNetworkErrors, ThrowOnError, "fields">;
/**
* JSON-RPC endpoint
*
* Executes JSON-RPC calls against the specified blockchain network.
*/
export declare const postRpcNetwork: <ThrowOnError extends boolean = false>(options: Options<PostRpcNetworkData, ThrowOnError>) => import("./client").RequestResult<PostRpcNetworkResponses, PostRpcNetworkErrors, ThrowOnError, "fields">;
/**
* Get address balance
*
* Returns the confirmed and unconfirmed balance for a UTXO address
*/
export declare const getUtxoNetworkAddressBalance: <ThrowOnError extends boolean = false>(options: Options<GetUtxoNetworkAddressBalanceData, ThrowOnError>) => import("./client").RequestResult<GetUtxoNetworkAddressBalanceResponses, GetUtxoNetworkAddressBalanceErrors, ThrowOnError, "fields">;
/**
* Get address history
*
* Returns paginated transaction history for a UTXO address
*/
export declare const getUtxoNetworkAddressHistory: <ThrowOnError extends boolean = false>(options: Options<GetUtxoNetworkAddressHistoryData, ThrowOnError>) => import("./client").RequestResult<GetUtxoNetworkAddressHistoryResponses, GetUtxoNetworkAddressHistoryErrors, ThrowOnError, "fields">;
/**
* Get block by hash
*
* Returns block details for the given block hash
*/
export declare const getUtxoNetworkBlockByHash: <ThrowOnError extends boolean = false>(options: Options<GetUtxoNetworkBlockByHashData, ThrowOnError>) => import("./client").RequestResult<GetUtxoNetworkBlockByHashResponses, GetUtxoNetworkBlockByHashErrors, ThrowOnError, "fields">;
/**
* Get block by height
*
* Returns block details for the given block height
*/
export declare const getUtxoNetworkBlockByHeight: <ThrowOnError extends boolean = false>(options: Options<GetUtxoNetworkBlockByHeightData, ThrowOnError>) => import("./client").RequestResult<GetUtxoNetworkBlockByHeightResponses, GetUtxoNetworkBlockByHeightErrors, ThrowOnError, "fields">;
/**
* Broadcast transaction
*
* Broadcasts a signed raw transaction to the UTXO network
*/
export declare const postUtxoNetworkBroadcastTransaction: <ThrowOnError extends boolean = false>(options: Options<PostUtxoNetworkBroadcastTransactionData, ThrowOnError>) => import("./client").RequestResult<PostUtxoNetworkBroadcastTransactionResponses, PostUtxoNetworkBroadcastTransactionErrors, ThrowOnError, "fields">;
/**
* Estimate transaction size
*
* Estimates the byte size of a transaction given inputs and outputs
*/
export declare const postUtxoNetworkEstimateTransactionSize: <ThrowOnError extends boolean = false>(options: Options<PostUtxoNetworkEstimateTransactionSizeData, ThrowOnError>) => import("./client").RequestResult<PostUtxoNetworkEstimateTransactionSizeResponses, PostUtxoNetworkEstimateTransactionSizeErrors, ThrowOnError, "fields">;
/**
* Get fee rate estimates
*
* Returns fee rate estimates for 4 priority tiers in satoshis per KB
*/
export declare const getUtxoNetworkFeeRate: <ThrowOnError extends boolean = false>(options: Options<GetUtxoNetworkFeeRateData, ThrowOnError>) => import("./client").RequestResult<GetUtxoNetworkFeeRateResponses, GetUtxoNetworkFeeRateErrors, ThrowOnError, "fields">;
/**
* Get latest block
*
* Returns the latest block number and hash for the specified UTXO network
*/
export declare const getUtxoNetworkLatestBlock: <ThrowOnError extends boolean = false>(options: Options<GetUtxoNetworkLatestBlockData, ThrowOnError>) => import("./client").RequestResult<GetUtxoNetworkLatestBlockResponses, GetUtxoNetworkLatestBlockErrors, ThrowOnError, "fields">;
/**
* Get network logo
*
* Returns the SVG logo for the specified UTXO network. The response is an SVG image.
*/
export declare const getUtxoNetworkLogo: <ThrowOnError extends boolean = false>(options: Options<GetUtxoNetworkLogoData, ThrowOnError>) => import("./client").RequestResult<GetUtxoNetworkLogoResponses, GetUtxoNetworkLogoErrors, ThrowOnError, "fields">;
/**
* Get mempool
*
* Returns paginated mempool transaction IDs
*/
export declare const getUtxoNetworkMempool: <ThrowOnError extends boolean = false>(options: Options<GetUtxoNetworkMempoolData, ThrowOnError>) => import("./client").RequestResult<GetUtxoNetworkMempoolResponses, GetUtxoNetworkMempoolErrors, ThrowOnError, "fields">;
/**
* Get transaction details
*
* Returns detailed information about a transaction by its ID
*/
export declare const getUtxoNetworkTransactionDetails: <ThrowOnError extends boolean = false>(options: Options<GetUtxoNetworkTransactionDetailsData, ThrowOnError>) => import("./client").RequestResult<GetUtxoNetworkTransactionDetailsResponses, GetUtxoNetworkTransactionDetailsErrors, ThrowOnError, "fields">;
/**
* Get UTXOs by address
*
* Returns paginated unspent transaction outputs for a UTXO address
*/
export declare const getUtxoNetworkUtxosByAddress: <ThrowOnError extends boolean = false>(options: Options<GetUtxoNetworkUtxosByAddressData, ThrowOnError>) => import("./client").RequestResult<GetUtxoNetworkUtxosByAddressResponses, GetUtxoNetworkUtxosByAddressErrors, ThrowOnError, "fields">;