export declare const FeeType: { readonly Fixed: "Fixed"; readonly EvmEip1559: "EVM_EIP_1559"; readonly EvmLegacy: "EVM_Legacy"; readonly Utxo: "UTXO"; readonly Sol: "SOL"; readonly Fil: "FIL"; readonly None: "None"; }; export type FeeType = (typeof FeeType)[keyof typeof FeeType]; /** * @type EstimatedFee * EstimatedFee * @export */ export type EstimatedFee = ({ feeType: 'EVM_EIP_1559'; } & EstimatedEvmEip1559Fee) | ({ feeType: 'EVM_Legacy'; } & EstimatedEvmLegacyFee) | ({ feeType: 'FIL'; } & EstimatedFILFee) | ({ feeType: 'Fixed'; } & EstimatedFixedFee) | ({ feeType: 'SOL'; } & EstimatedSOLFee) | ({ feeType: 'UTXO'; } & EstimatedUtxoFee); /** * The estimated transaction fee based on the EIP-1559 fee model. * @export * @interface EstimatedEvmEip1559Fee */ export interface EstimatedEvmEip1559Fee { /** * * @type {FeeType} * @memberof EstimatedEvmEip1559Fee */ feeType: FeeType; /** * The token ID of the transaction fee. * @type {string} * @memberof EstimatedEvmEip1559Fee */ tokenId: string; /** * * @type {EstimatedEvmEip1559FeeSlow} * @memberof EstimatedEvmEip1559Fee */ slow?: EstimatedEvmEip1559FeeSlow | null; /** * * @type {EstimatedEvmEip1559FeeSlow} * @memberof EstimatedEvmEip1559Fee */ recommended: EstimatedEvmEip1559FeeSlow; /** * * @type {EstimatedEvmEip1559FeeSlow} * @memberof EstimatedEvmEip1559Fee */ fast?: EstimatedEvmEip1559FeeSlow | null; } /** * The estimated transaction fee based on the legacy fee model. * @export * @interface EstimatedEvmLegacyFee */ export interface EstimatedEvmLegacyFee { /** * * @type {FeeType} * @memberof EstimatedEvmLegacyFee */ feeType: FeeType; /** * The token ID of the transaction fee. * @type {string} * @memberof EstimatedEvmLegacyFee */ tokenId: string; /** * * @type {EstimatedEvmLegacyFeeSlow} * @memberof EstimatedEvmLegacyFee */ slow?: EstimatedEvmLegacyFeeSlow | null; /** * * @type {EstimatedEvmLegacyFeeSlow} * @memberof EstimatedEvmLegacyFee */ recommended: EstimatedEvmLegacyFeeSlow; /** * * @type {EstimatedEvmLegacyFeeSlow} * @memberof EstimatedEvmLegacyFee */ fast?: EstimatedEvmLegacyFeeSlow | null; } /** * The estimated transaction fee based on the fil fee model. * @export * @interface EstimatedFILFee */ export interface EstimatedFILFee { /** * * @type {FeeType} * @memberof EstimatedFILFee */ feeType: FeeType; /** * The token ID of the transaction fee. * @type {string} * @memberof EstimatedFILFee */ tokenId: string; /** * * @type {EstimatedFILFeeSlow} * @memberof EstimatedFILFee */ slow?: EstimatedFILFeeSlow | null; /** * * @type {EstimatedFILFeeSlow} * @memberof EstimatedFILFee */ recommended: EstimatedFILFeeSlow; /** * * @type {EstimatedFILFeeSlow} * @memberof EstimatedFILFee */ fast?: EstimatedFILFeeSlow | null; } /** * The estimated transaction fee based on the fixed fee model. * @export * @interface EstimatedFixedFee */ export interface EstimatedFixedFee { /** * The transaction fee that you need to pay for the transaction. * @type {string} * @memberof EstimatedFixedFee */ feeAmount: string; /** * * @type {FeeType} * @memberof EstimatedFixedFee */ feeType: FeeType; /** * The token ID of the transaction fee. * @type {string} * @memberof EstimatedFixedFee */ tokenId: string; /** * * @type {boolean} * @memberof EstimatedFixedFee */ isLoop?: boolean | null; } /** * The estimated transaction fee based on the sol fee model. * @export * @interface EstimatedSOLFee */ export interface EstimatedSOLFee { /** * * @type {FeeType} * @memberof EstimatedSOLFee */ feeType: FeeType; /** * The token ID of the transaction fee. * @type {string} * @memberof EstimatedSOLFee */ tokenId: string; /** * * @type {EstimatedSOLFeeSlow} * @memberof EstimatedSOLFee */ slow?: EstimatedSOLFeeSlow | null; /** * * @type {EstimatedSOLFeeSlow} * @memberof EstimatedSOLFee */ recommended: EstimatedSOLFeeSlow; /** * * @type {EstimatedSOLFeeSlow} * @memberof EstimatedSOLFee */ fast?: EstimatedSOLFeeSlow | null; } /** * The estimated transaction fee for UTXO-based chains. * @export * @interface EstimatedUtxoFee */ export interface EstimatedUtxoFee { /** * * @type {FeeType} * @memberof EstimatedUtxoFee */ feeType: FeeType; /** * The token ID of the transaction fee. * @type {string} * @memberof EstimatedUtxoFee */ tokenId: string; /** * * @type {EstimatedUtxoFeeSlow} * @memberof EstimatedUtxoFee */ slow?: EstimatedUtxoFeeSlow | null; /** * * @type {EstimatedUtxoFeeSlow} * @memberof EstimatedUtxoFee */ recommended: EstimatedUtxoFeeSlow; /** * * @type {EstimatedUtxoFeeSlow} * @memberof EstimatedUtxoFee */ fast?: EstimatedUtxoFeeSlow | null; } export interface EstimatedUtxoFeeSlow { /** * The fee rate in sat/vByte. The fee rate represents the satoshis you are willing to pay for each byte of data that your transaction will consume on the blockchain. * @type {string} * @memberof EstimatedUtxoFeeSlow */ feeRate: string; /** * The transaction fee that you need to pay for the transaction. * @type {string} * @memberof EstimatedUtxoFeeSlow */ feeAmount: string; } export interface EstimatedEvmEip1559FeeSlow { /** * The maximum gas fee per gas unit used on the chain, in wei. * @type {string} * @memberof EstimatedEvmEip1559FeeSlow */ maxFeePerGas: string; /** * The maximum priority fee per gas unit used, in wei. The maximum priority fee represents the highest amount of miner tips that you are willing to pay for your transaction. * @type {string} * @memberof EstimatedEvmEip1559FeeSlow */ maxPriorityFeePerGas: string; /** * The gas limit. It represents the maximum number of gas units that you are willing to pay for the execution of a transaction or Ethereum Virtual Machine (EVM) operation. The gas unit cost of each operation varies. * @type {string} * @memberof EstimatedEvmEip1559FeeSlow */ gasLimit: string; } export interface EstimatedEvmLegacyFeeSlow { /** * The gas price, in wei. The gas price represents the amount of ETH that must be paid to validators for processing transactions per gas unit used. * @type {string} * @memberof EstimatedEvmLegacyFeeSlow */ gasPrice: string; /** * The gas limit. It represents the maximum number of gas units that you are willing to pay for the execution of a transaction or Ethereum Virtual Machine (EVM) operation. The gas unit cost of each operation varies. * @type {string} * @memberof EstimatedEvmLegacyFeeSlow */ gasLimit: string; } /** * EstimatedFILFeeSlow * @export * @interface EstimatedFILFeeSlow */ export interface EstimatedFILFeeSlow { /** * An optional additional fee that users can include to prioritize their transactions over others. It acts like a tip to incentivize miners to select and include your transaction over transactions with only the base fee. * @type {string} * @memberof EstimatedFILFeeSlow */ gasPremium: string; /** * The gas_fee_cap is a user-defined limit on how much they are willing to pay per unit of gas. * @type {string} * @memberof EstimatedFILFeeSlow */ gasFeeCap: string; /** * This defines the maximum amount of computational effort that a transaction is allowed to consume. It's a way to cap the resources that a transaction can use, ensuring it doesn't consume excessive network resources. * @type {string} * @memberof EstimatedFILFeeSlow */ gasLimit: string; /** * This is the minimum fee required to include a transaction in a block. It is determined by the network's congestion level, which adjusts to maintain a target block utilization rate. The base fee is burned, reducing the total supply of Filecoin over time. * @type {string} * @memberof EstimatedFILFeeSlow */ gasBase: string; } /** * EstimatedSOLFeeSlow * @export * @interface EstimatedSOLFeeSlow */ export interface EstimatedSOLFeeSlow { /** * The cost per compute unit. Transactions consume computational resources measured in compute units, and this price helps determine the cost of executing transactions, especially complex ones involving smart contracts. * @type {string} * @memberof EstimatedSOLFeeSlow */ computeUnitPrice: string; /** * The maximum number of compute units allowed for a transaction. This limits the resources any single transaction can consume, preventing excessive resource usage that could impact network performance negatively. * @type {string} * @memberof EstimatedSOLFeeSlow */ computeUnitLimit: string; /** * The fundamental fee required for each transaction. It is charged to prevent spam transactions and network congestion, ensuring that only meaningful transactions consume network resources. * @type {string} * @memberof EstimatedSOLFeeSlow */ baseFee: string; /** * * @type {string} * @memberof EstimatedSOLFeeSlow */ rentAmount?: string | null; } export interface NetworkFee { feeType?: FeeType; feeAmount?: string; tokenId?: string; tokenSymbol?: string; usdRate?: string; [FeeType.Utxo]?: EstimatedUtxoFeeSlow; [FeeType.EvmEip1559]?: EstimatedEvmEip1559FeeSlow; [FeeType.EvmLegacy]?: EstimatedEvmLegacyFeeSlow; [FeeType.Sol]?: EstimatedSOLFeeSlow; [FeeType.Fil]?: EstimatedFILFeeSlow; [FeeType.Fixed]?: EstimatedFixedFee; }