@sodax/sdk 0.0.1-rc.17 → 0.0.1-rc.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { Address, Hex, PublicClient, HttpTransport, Hash, GetLogsReturnType, Chain, TransactionReceipt, WalletClient, CustomTransport, Account } from 'viem';
2
- import { IInjectiveWalletProvider, InjectiveExecuteResponse, SpokeChainId, Hex as Hex$1, IEvmWalletProvider, Address as Address$1, Token, HubAddress, EvmRawTransaction, Hash as Hash$1, IconEoaAddress, HubChainId, IIconWalletProvider, ISolanaWalletProvider, SolanaBase58PublicKey, IStellarWalletProvider, ISuiWalletProvider, ChainId, OriginalAssetAddress, ChainType, InjectiveNetworkEnv, StellarRawTransaction, InjectiveRawTransaction, ICON_MAINNET_CHAIN_ID, SUI_MAINNET_CHAIN_ID, STELLAR_MAINNET_CHAIN_ID, EvmRawTransactionReceipt } from '@sodax/types';
1
+ import { Address, Hex, PublicClient, HttpTransport, Hash, GetLogsReturnType, TransactionReceipt, WalletClient, CustomTransport, Chain, Account } from 'viem';
2
+ import { IInjectiveWalletProvider, InjectiveExecuteResponse, SpokeChainId, Hex as Hex$1, IEvmWalletProvider, Address as Address$1, Token, HubAddress, EvmRawTransaction, Hash as Hash$1, IconEoaAddress, IIconWalletProvider, ISolanaWalletProvider, SolanaBase58PublicKey, IStellarWalletProvider, ISuiWalletProvider, ChainType, InjectiveNetworkEnv, StellarRawTransaction, InjectiveRawTransaction, HubChainId, ICON_MAINNET_CHAIN_ID, EvmRawTransactionReceipt, ChainId, OriginalAssetAddress } from '@sodax/types';
3
3
  export * from '@sodax/types';
4
4
  import { TxGrpcApi } from '@injectivelabs/sdk-ts';
5
5
  import { Horizon, SorobanRpc, Transaction, Memo, MemoType, Operation, FeeBumpTransaction } from '@stellar/stellar-sdk';
@@ -5330,7 +5330,7 @@ declare class MoneyMarketService {
5330
5330
  HubTxHash
5331
5331
  ], MoneyMarketError<'CREATE_SUPPLY_INTENT_FAILED' | 'SUPPLY_UNKNOWN_ERROR' | RelayErrorCode>>>;
5332
5332
  /**
5333
- * Create supply intent only (without submitting to Solver API)
5333
+ * Create supply intent only (without relay submit to Solver API)
5334
5334
  * NOTE: This method does not submit the intent to the Solver API, it only executes the transaction on the spoke chain
5335
5335
  * In order to successfully supply tokens, you need to:
5336
5336
  * 1. Check if the allowance is sufficient
@@ -5394,7 +5394,7 @@ declare class MoneyMarketService {
5394
5394
  HubTxHash
5395
5395
  ], MoneyMarketError<'CREATE_BORROW_INTENT_FAILED' | 'BORROW_UNKNOWN_ERROR' | RelayErrorCode>>>;
5396
5396
  /**
5397
- * Create borrow intent only (without submitting to Solver API)
5397
+ * Create borrow intent only (without relay and submit to Solver API)
5398
5398
  * NOTE: This method does not submit the intent to the Solver API, it only executes the transaction on the spoke chain
5399
5399
  * In order to successfully borrow tokens, you need to:
5400
5400
  * 1. Execute the borrow transaction on the spoke chain
@@ -5457,7 +5457,7 @@ declare class MoneyMarketService {
5457
5457
  HubTxHash
5458
5458
  ], MoneyMarketError<'CREATE_WITHDRAW_INTENT_FAILED' | 'WITHDRAW_UNKNOWN_ERROR' | RelayErrorCode>>>;
5459
5459
  /**
5460
- * Create withdraw intent only (without submitting to Solver API)
5460
+ * Create withdraw intent only (without relay and submit to Solver API)
5461
5461
  * NOTE: This method does not submit the intent to the Solver API, it only executes the transaction on the spoke chain
5462
5462
  * In order to successfully withdraw tokens, you need to:
5463
5463
  * 1. Execute the withdraw transaction on the spoke chain
@@ -5520,7 +5520,7 @@ declare class MoneyMarketService {
5520
5520
  HubTxHash
5521
5521
  ], MoneyMarketError<'CREATE_REPAY_INTENT_FAILED' | 'REPAY_UNKNOWN_ERROR' | RelayErrorCode>>>;
5522
5522
  /**
5523
- * Create repay intent only (without submitting to Solver API)
5523
+ * Create repay intent only (without relay and submit to Solver API)
5524
5524
  * NOTE: This method does not submit the intent to the Solver API, it only executes the transaction on the spoke chain
5525
5525
  * In order to successfully repay tokens, you need to:
5526
5526
  * 1. Check if the allowance is sufficient
@@ -6052,8 +6052,8 @@ type IntentError<T extends IntentErrorCode = IntentErrorCode> = {
6052
6052
  data: IntentErrorData<T>;
6053
6053
  };
6054
6054
  declare class SolverService {
6055
- private readonly config;
6056
- private readonly hubProvider;
6055
+ readonly config: SolverServiceConfig;
6056
+ readonly hubProvider: EvmHubProvider;
6057
6057
  constructor(config: SolverConfigParams | undefined, hubProvider: EvmHubProvider, relayerApiEndpoint?: HttpUrl);
6058
6058
  /**
6059
6059
  * Estimate the gas for a raw transaction.
@@ -6199,7 +6199,7 @@ declare class SolverService {
6199
6199
  * // handle error
6200
6200
  * }
6201
6201
  */
6202
- swap<S extends SpokeProvider>(payload: CreateIntentParams, spokeProvider: S, fee?: PartnerFee, timeout?: number): Promise<Result<[SolverExecutionResponse, Intent, Hex$1], IntentError<IntentErrorCode>>>;
6202
+ swap<S extends SpokeProvider>(payload: CreateIntentParams, spokeProvider: S, timeout?: number): Promise<Result<[SolverExecutionResponse, Intent, Hex$1], IntentError<IntentErrorCode>>>;
6203
6203
  /**
6204
6204
  * Creates an intent and submits it to the Solver API and Relayer API
6205
6205
  * @param {CreateIntentParams} payload - The intent to create
@@ -6234,7 +6234,7 @@ declare class SolverService {
6234
6234
  * // handle error
6235
6235
  * }
6236
6236
  */
6237
- createAndSubmitIntent<S extends SpokeProvider>(payload: CreateIntentParams, spokeProvider: S, fee?: PartnerFee, timeout?: number): Promise<Result<[SolverExecutionResponse, Intent, Hex$1], IntentError<IntentErrorCode>>>;
6237
+ createAndSubmitIntent<S extends SpokeProvider>(payload: CreateIntentParams, spokeProvider: S, fee?: PartnerFee | undefined, timeout?: number): Promise<Result<[SolverExecutionResponse, Intent, Hex$1], IntentError<IntentErrorCode>>>;
6238
6238
  /**
6239
6239
  * Check whether assetManager contract is allowed to move the given payload amount
6240
6240
  * @param {CreateIntentParams} params - The intent to create
@@ -6655,7 +6655,7 @@ declare class IcxMigrationService {
6655
6655
  encodeRevertMigration(amount: bigint, to: Address): EvmContractCall;
6656
6656
  }
6657
6657
 
6658
- type GetMigrationFailedPayload<T extends MigrationErrorCode> = T extends 'CREATE_MIGRATION_INTENT_FAILED' ? IcxMigrateParams | BnUSDMigrateParams | BalnMigrateParams : T extends 'CREATE_REVERT_MIGRATION_INTENT_FAILED' ? IcxCreateRevertMigrationParams | BnUSDRevertMigrationParams : T extends 'REVERT_MIGRATION_FAILED' ? IcxCreateRevertMigrationParams | BnUSDRevertMigrationParams : T extends 'MIGRATION_FAILED' ? IcxMigrateParams | BnUSDMigrateParams | BalnMigrateParams : never;
6658
+ type GetMigrationFailedPayload<T extends MigrationErrorCode> = T extends 'CREATE_MIGRATION_INTENT_FAILED' ? IcxMigrateParams | UnifiedBnUSDMigrateParams | BalnMigrateParams : T extends 'CREATE_REVERT_MIGRATION_INTENT_FAILED' ? IcxCreateRevertMigrationParams : T extends 'REVERT_MIGRATION_FAILED' ? IcxCreateRevertMigrationParams | UnifiedBnUSDMigrateParams : T extends 'MIGRATION_FAILED' ? IcxMigrateParams | UnifiedBnUSDMigrateParams | BalnMigrateParams : never;
6659
6659
  type MigrationFailedErrorData<T extends MigrationErrorCode> = {
6660
6660
  payload: GetMigrationFailedPayload<T>;
6661
6661
  error: unknown;
@@ -6667,16 +6667,16 @@ type MigrationError<T extends MigrationErrorCode> = {
6667
6667
  data: MigrationErrorData<T>;
6668
6668
  };
6669
6669
  type MigrationAction = 'migrate' | 'revert';
6670
- type MigrationParams = IcxMigrateParams | BnUSDMigrateParams | BalnMigrateParams;
6671
- type MigrationRevertParams = IcxCreateRevertMigrationParams | BnUSDRevertMigrationParams;
6670
+ type MigrationParams = IcxMigrateParams | UnifiedBnUSDMigrateParams | BalnMigrateParams;
6671
+ type MigrationRevertParams = IcxCreateRevertMigrationParams | UnifiedBnUSDMigrateParams;
6672
6672
  declare const SupportedMigrationTokens: readonly ["ICX", "bnUSD", "BALN"];
6673
6673
  type MigrationTokens = (typeof SupportedMigrationTokens)[number];
6674
6674
  declare class MigrationService {
6675
- private readonly icxMigration;
6676
- private readonly bnUSDMigrationService;
6677
- private readonly balnSwapService;
6678
- private readonly hubProvider;
6679
- private readonly config;
6675
+ readonly icxMigration: IcxMigrationService;
6676
+ readonly bnUSDMigrationService: BnUSDMigrationService;
6677
+ readonly balnSwapService: BalnSwapService;
6678
+ readonly hubProvider: EvmHubProvider;
6679
+ readonly config: MigrationServiceConfig;
6680
6680
  constructor(hubProvider: EvmHubProvider, config?: MigrationServiceConfig);
6681
6681
  /**
6682
6682
  * Checks if the allowance is valid for the migration transaction.
@@ -6717,29 +6717,39 @@ declare class MigrationService {
6717
6717
  * );
6718
6718
  *
6719
6719
  */
6720
- approve<S extends SpokeProvider, R extends boolean = false>(params: IcxCreateRevertMigrationParams | BnUSDRevertMigrationParams, action: MigrationAction, spokeProvider: S, raw?: R): Promise<Result<TxReturnType<S, R>>>;
6720
+ approve<S extends SpokeProvider, R extends boolean = false>(params: IcxCreateRevertMigrationParams | UnifiedBnUSDMigrateParams, action: MigrationAction, spokeProvider: S, raw?: R): Promise<Result<TxReturnType<S, R>>>;
6721
6721
  /**
6722
- * Migrates legacy bnUSD tokens to new bnUSD tokens on the hub chain (sonic).
6723
- * This function handles the migration of legacy bnUSD tokens to new bnUSD tokens.
6722
+ * Migrates bnUSD tokens between legacy and new formats across supported spoke chains via the hub chain (sonic).
6723
+ * Handles both legacy-to-new and new-to-legacy bnUSD migrations, enforcing validation and relaying the transaction.
6724
6724
  *
6725
- * @param params - The parameters for the migration transaction.
6726
- * @param spokeProvider - The spoke provider.
6727
- * @param timeout - The timeout in milliseconds for the transaction. Default is 60 seconds.
6725
+ * @param params - Migration parameters, including source/destination chain IDs, token addresses, amount, and recipient.
6726
+ * @param spokeProvider - The SpokeProvider instance for the source chain.
6727
+ * @param timeout - Optional timeout in milliseconds for the relay operation (default: 60 seconds).
6728
+ * @param unchecked - Optional flag to skip validation checks (default: false).
6728
6729
  * @returns {Promise<Result<[string, Hex], MigrationError<'MIGRATION_FAILED'> | MigrationError<'CREATE_MIGRATION_INTENT_FAILED'> | RelayError>>}
6729
- * Returns a Result containing a tuple of [spokeTxHash, hubTxHash] if successful,
6730
- * or an error describing why the migration or relay failed.
6731
- *
6730
+ * Result containing a tuple: [spokeTxHash, hubTxHash] if successful, or an error describing the failure.
6732
6731
  *
6733
6732
  * @example
6734
- * // Example: Migrate legacy bnUSD tokens to new bnUSD tokens on the hub chain (sonic)
6733
+ * // Migrate legacy bnUSD to new bnUSD
6735
6734
  * const result = await sodax.migration.migratebnUSD({
6736
- * address: 'cx88fd7df7ddff82f7cc735c871dc519838cb235bb', // mock legacy bnUSD address
6737
- * srcChainID: '0x1.icon', // source chain ID (e.g., ICON_MAINNET_CHAIN_ID)
6738
- * amount: 1000000000000000000n,
6739
- * to: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd', // recipient address
6740
- * dstChainID: 'sonic', // destination hub chain ID (e.g., SONIC_MAINNET_CHAIN_ID)
6735
+ * srcChainId: '0x1.icon', // Source chain ID (legacy)
6736
+ * dstChainId: 'sonic', // Destination chain ID (new)
6737
+ * srcbnUSD: 'cx...', // Legacy bnUSD token address
6738
+ * dstbnUSD: '0x...', // New bnUSD token address
6739
+ * amount: 1000n, // Amount to migrate
6740
+ * to: '0x...', // Recipient address on destination chain
6741
6741
  * }, iconSpokeProvider);
6742
6742
  *
6743
+ * // Reverse migration: new bnUSD to legacy bnUSD
6744
+ * const result = await sodax.migration.migratebnUSD({
6745
+ * srcChainId: 'sonic', // Source chain ID (new)
6746
+ * dstChainId: '0x1.icon', // Destination chain ID (legacy)
6747
+ * srcbnUSD: '0x...', // New bnUSD token address
6748
+ * dstbnUSD: 'cx...', // Legacy bnUSD token address
6749
+ * amount: 1000n, // Amount to migrate
6750
+ * to: 'hx...', // Recipient address on destination chain
6751
+ * }, sonicSpokeProvider);
6752
+ *
6743
6753
  * if (result.ok) {
6744
6754
  * // result.value is a tuple: [spokeTxHash, hubTxHash]
6745
6755
  * const [spokeTxHash, hubTxHash] = result.value;
@@ -6750,45 +6760,10 @@ declare class MigrationService {
6750
6760
  * console.error('[migrateBnUSD] error', result.error);
6751
6761
  * }
6752
6762
  */
6753
- migratebnUSD(params: BnUSDMigrateParams, spokeProvider: bnUSDLegacyMigrationProviders, timeout?: number): Promise<Result<[
6763
+ migratebnUSD(params: UnifiedBnUSDMigrateParams, spokeProvider: SpokeProvider, timeout?: number, unchecked?: boolean): Promise<Result<[
6754
6764
  string,
6755
6765
  Hex$1
6756
6766
  ], MigrationError<'MIGRATION_FAILED'> | MigrationError<'CREATE_MIGRATION_INTENT_FAILED'> | RelayError>>;
6757
- /**
6758
- * Reverses the migration of legacy bnUSD tokens to new bnUSD tokens on the hub chain (sonic).
6759
- * This function handles the reversal of the migration of legacy bnUSD tokens to new bnUSD tokens.
6760
- *
6761
- * @param params - The parameters for the migration transaction.
6762
- * @param spokeProvider - The spoke provider.
6763
- * @param timeout - The timeout in milliseconds for the transaction. Default is 60 seconds.
6764
- * @returns {Promise<Result<[string, Hex], MigrationError<'REVERT_MIGRATION_FAILED'> | MigrationError<'CREATE_REVERT_MIGRATION_INTENT_FAILED'> | RelayError>>}
6765
- * Returns a Result containing a tuple of [spokeTxHash, hubTxHash] if successful,
6766
- * or an error describing why the revert migration or relay failed.
6767
- *
6768
- *
6769
- * @example
6770
- * // Example: Reverse the migration of legacy bnUSD tokens to new bnUSD tokens on the hub chain (sonic)
6771
- * const result = await sodax.migration.reverseMigratebnUSD({
6772
- * srcChainID: 'sonic', // source chain ID (e.g., SONIC_MAINNET_CHAIN_ID)
6773
- * amount: 1000000000000000000n,
6774
- * to: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd', // The spoke chain address that will receive the migrated legacy bnUSD tokens
6775
- * dstChainID: '0x1.icon', // destination chain ID of type bnUSDLegacySpokeChainId (e.g., ICON_MAINNET_CHAIN_ID)
6776
- * }, iconSpokeProvider);
6777
- *
6778
- * if (result.ok) {
6779
- * // result.value is a tuple: [spokeTxHash, hubTxHash]
6780
- * const [spokeTxHash, hubTxHash] = result.value;
6781
- * console.log('[reverseMigrateBnUSD] hubTxHash', hubTxHash);
6782
- * console.log('[reverseMigrateBnUSD] spokeTxHash', spokeTxHash);
6783
- * } else {
6784
- * // Handle revert migration error
6785
- * console.error('[reverseMigrateBnUSD] error', result.error);
6786
- * }
6787
- */
6788
- reverseMigratebnUSD(params: BnUSDRevertMigrationParams, spokeProvider: SonicSpokeProvider, timeout?: number): Promise<Result<[
6789
- string,
6790
- Hex$1
6791
- ], MigrationError<'REVERT_MIGRATION_FAILED'> | MigrationError<'CREATE_REVERT_MIGRATION_INTENT_FAILED'> | RelayError>>;
6792
6767
  /**
6793
6768
  * Migrates ICX tokens to SODA tokens on the hub chain (sonic).
6794
6769
  * This function handles the migration of ICX tokens to SODA tokens.
@@ -6897,27 +6872,6 @@ declare class MigrationService {
6897
6872
  Hex$1,
6898
6873
  Hex$1
6899
6874
  ], MigrationError<'MIGRATION_FAILED'> | MigrationError<'CREATE_MIGRATION_INTENT_FAILED'> | RelayError>>;
6900
- /**
6901
- * Creates a revert migration intent and submits (relays) it to the spoke chain.
6902
- * @param params - The parameters for the revert migration transaction.
6903
- * @param spokeProvider - The spoke provider.
6904
- * @param raw - Whether to return the raw transaction hash instead of the transaction receipt
6905
- * @returns {Promise<Result<TxReturnType<bnUSDLegacyMigrationProviders, R>>>} - Returns the raw transaction payload or transaction hash
6906
- *
6907
- * @example
6908
- * const result = await migrationService.createRevertMigratebnUSDIntent(
6909
- * {
6910
- * srcChainID: 'sonic', // The source chain ID where the new bnUSD token exists (hub chain)
6911
- * amount: 1000n, // The amount of new bnUSD tokens to migrate back
6912
- * to: '0x...', // The spoke chain address that will receive the migrated legacy bnUSD tokens
6913
- * dstChainID: '0x1.icon', // The destination chain ID for the migration (spoke chain)
6914
- * },
6915
- * spokeProvider, // IconSpokeProvider instance
6916
- * true // Optional raw flag to return the raw transaction hash instead of the transaction receipt
6917
- * );
6918
- *
6919
- */
6920
- createRevertMigratebnUSDIntent<R extends boolean = false>(params: BnUSDRevertMigrationParams, spokeProvider: SonicSpokeProvider, raw?: R): Promise<Result<TxReturnType<SonicSpokeProvider, R>, MigrationError<'CREATE_REVERT_MIGRATION_INTENT_FAILED'>>>;
6921
6875
  /**
6922
6876
  * Creates a BALN migration intent on spoke chain (icon).
6923
6877
  *
@@ -6941,27 +6895,49 @@ declare class MigrationService {
6941
6895
  */
6942
6896
  createMigrateBalnIntent<R extends boolean = false>(params: BalnMigrateParams, spokeProvider: IconSpokeProvider, raw?: R): Promise<Result<TxReturnType<IconSpokeProvider, R>, MigrationError<'CREATE_MIGRATION_INTENT_FAILED'>>>;
6943
6897
  /**
6944
- * Creates a bnUSD migration intent on spoke chain (icon).
6898
+ * Creates a bnUSD migration or reverse migration (legacy bnUSD to new bnUSD or vice versa) intent on a spoke chain.
6945
6899
  *
6946
- * @param params - The parameters for the bnUSD migration transaction.
6947
- * @param spokeProvider - The spoke provider.
6948
- * @param raw - Whether to return the raw transaction hash instead of the transaction receipt
6949
- * @returns {Promise<Result<TxReturnType<bnUSDLegacyMigrationProviders, R>>>} - Returns the raw transaction payload or transaction hash
6900
+ * This function prepares the transaction data for migrating legacy bnUSD to new bnUSD,
6901
+ * or for reverting (migrating new bnUSD back to legacy bnUSD), depending on the provided parameters.
6902
+ * It performs validation on chain IDs and token addresses unless `unchecked` is set to true.
6903
+ *
6904
+ * @param params - The parameters for the bnUSD migration or reverse migration transaction.
6905
+ * @param spokeProvider - The spoke provider instance for the source chain.
6906
+ * @param unchecked - If true, skips input validation (use with caution).
6907
+ * @param raw - If true, returns the raw transaction hash instead of the transaction receipt.
6908
+ * @returns {Promise<Result<TxReturnType<S, R>, MigrationError<'CREATE_MIGRATION_INTENT_FAILED'>>>}
6909
+ * Returns a Result containing the transaction payload or hash, or an error if creation failed.
6950
6910
  *
6951
6911
  * @example
6912
+ * // Migrate legacy bnUSD to new bnUSD
6952
6913
  * const result = await migrationService.createMigratebnUSDIntent(
6953
6914
  * {
6954
- * srcChainID: 'sonic', // The source chain ID where the legacy bnUSD token exists (spoke chain)
6955
- * amount: 1000n, // The amount of legacy bnUSD tokens to migrate
6956
- * to: '0x...', // The hub (sonic) chain address that will receive the migrated new bnUSD tokens
6957
- * dstChainID: '0x1.icon', // The destination chain ID for the migration (hub chain)
6958
- * },
6959
- * spokeProvider, // IconSpokeProvider instance
6960
- * true // Optional raw flag to return the raw transaction hash instead of the transaction receipt
6915
+ * srcChainId: '0x1.icon', // Source chain ID (legacy bnUSD chain)
6916
+ * dstChainId: 'sonic', // Destination chain ID (new bnUSD chain)
6917
+ * srcbnUSD: 'cx...', // Legacy bnUSD token address
6918
+ * dstbnUSD: '0x...', // New bnUSD token address
6919
+ * amount: 1000n, // Amount to migrate
6920
+ * to: '0x...', // Recipient address on destination chain
6921
+ * } satisfies UnifiedBnUSDMigrateParams,
6922
+ * spokeProvider, // SpokeProvider instance
6923
+ * false, // Optional unchecked flag (validation is skipped)
6924
+ * true // Optional raw flag
6961
6925
  * );
6962
6926
  *
6927
+ * // Reverse migration: new bnUSD to legacy bnUSD
6928
+ * const result = await migrationService.createMigratebnUSDIntent(
6929
+ * {
6930
+ * srcChainId: 'sonic', // Source chain ID (new bnUSD chain)
6931
+ * dstChainId: '0x1.icon', // Destination chain ID (legacy bnUSD chain)
6932
+ * srcbnUSD: '0x...', // New bnUSD token address
6933
+ * dstbnUSD: 'cx...', // Legacy bnUSD token address
6934
+ * amount: 1000n, // Amount to migrate
6935
+ * to: 'hx...', // Recipient address on destination chain
6936
+ * } satisfies UnifiedBnUSDMigrateParams,
6937
+ * spokeProvider
6938
+ * );
6963
6939
  */
6964
- createMigratebnUSDIntent<R extends boolean = false>(params: BnUSDMigrateParams, spokeProvider: bnUSDLegacyMigrationProviders, raw?: R): Promise<Result<TxReturnType<bnUSDLegacyMigrationProviders, R>, MigrationError<'CREATE_MIGRATION_INTENT_FAILED'>>>;
6940
+ createMigratebnUSDIntent<S extends SpokeProvider, R extends boolean = false>(params: UnifiedBnUSDMigrateParams, spokeProvider: S, unchecked?: boolean, raw?: R): Promise<Result<TxReturnType<S, R>, MigrationError<'CREATE_MIGRATION_INTENT_FAILED'>>>;
6965
6941
  /**
6966
6942
  * Creates a migration of ICX to SODA intent on spoke chain (icon).
6967
6943
  * This function handles the migration of ICX or wICX tokens to SODA tokens on the hub chain.
@@ -7011,16 +6987,29 @@ declare class MigrationService {
7011
6987
  createRevertSodaToIcxMigrationIntent<R extends boolean = false>(params: Omit<IcxCreateRevertMigrationParams, 'wICX'>, spokeProvider: SonicSpokeProvider, raw?: R): Promise<Result<TxReturnType<SonicSpokeProvider, R>, MigrationError<'CREATE_REVERT_MIGRATION_INTENT_FAILED'>>>;
7012
6988
  }
7013
6989
 
7014
- type BnUSDMigrateParams = {
7015
- srcChainID: bnUSDLegacySpokeChainId;
6990
+ type UnifiedBnUSDMigrateParams = {
6991
+ srcChainId: SpokeChainId;
6992
+ srcbnUSD: string;
6993
+ dstChainId: SpokeChainId;
6994
+ dstbnUSD: string;
7016
6995
  amount: bigint;
7017
- to: Address;
6996
+ to: string;
6997
+ };
6998
+ type FormattedBnUSDMigrateParams = {
6999
+ srcChainId: SpokeChainId;
7000
+ legacybnUSD: string;
7001
+ newbnUSD: string;
7002
+ amount: bigint;
7003
+ to: Hex;
7004
+ dstChainId: SpokeChainId;
7018
7005
  };
7019
7006
  type BnUSDRevertMigrationParams = {
7020
- srcChainID: HubChainId;
7007
+ srcChainId: SpokeChainId;
7008
+ legacybnUSD: string;
7009
+ newbnUSD: string;
7021
7010
  amount: bigint;
7022
7011
  to: Hex;
7023
- dstChainID: bnUSDLegacySpokeChainId;
7012
+ dstChainId: SpokeChainId;
7024
7013
  };
7025
7014
  /**
7026
7015
  * Service for handling bnUSD migration operations on the hub chain.
@@ -7040,10 +7029,7 @@ declare class BnUSDMigrationService {
7040
7029
  * @returns Encoded transaction data for the migration operation
7041
7030
  * @throws Will throw an error if the hub asset configuration is not found
7042
7031
  */
7043
- migrateData(params: BnUSDMigrateParams & {
7044
- legacybnUSD: string;
7045
- newbnUSD: string;
7046
- }): Hex;
7032
+ migrateData(params: FormattedBnUSDMigrateParams): Hex;
7047
7033
  /**
7048
7034
  * Generates transaction data for migrating new bnUSD tokens back to legacy bnUSD tokens.
7049
7035
  * This method creates the necessary contract calls to:
@@ -7055,10 +7041,7 @@ declare class BnUSDMigrationService {
7055
7041
  * @returns Encoded transaction data for the migration operation
7056
7042
  * @throws Will throw an error if the hub asset configuration is not found
7057
7043
  */
7058
- revertMigrationData(params: BnUSDRevertMigrationParams & {
7059
- legacybnUSD: string;
7060
- newbnUSD: string;
7061
- }): Hex;
7044
+ revertMigrationData(params: BnUSDRevertMigrationParams): Hex;
7062
7045
  }
7063
7046
 
7064
7047
  /**
@@ -7369,1518 +7352,1581 @@ type InjectiveSpokeDepositParams = {
7369
7352
  data: Hex;
7370
7353
  };
7371
7354
 
7372
- declare const DEFAULT_MAX_RETRY = 3;
7373
- declare const DEFAULT_RELAY_TX_TIMEOUT = 60000;
7374
- declare const DEFAULT_RETRY_DELAY_MS = 2000;
7375
- declare const ICON_TX_RESULT_WAIT_MAX_RETRY = 10;
7376
- declare const MAX_UINT256: bigint;
7377
- declare const FEE_PERCENTAGE_SCALE = 10000n;
7378
- declare const STELLAR_PRIORITY_FEE = "10000";
7379
- declare const STELLAR_DEFAULT_TX_TIMEOUT_SECONDS = 100;
7380
- declare const VAULT_TOKEN_DECIMALS = 18;
7381
- declare const INTENT_RELAY_CHAIN_IDS: {
7382
- readonly AVAX: 6n;
7383
- readonly SUI: 21n;
7384
- readonly SONIC: 146n;
7385
- readonly STELLAR: 27n;
7386
- readonly INJ: 19n;
7387
- readonly SOL: 1n;
7388
- readonly ICON: 1768124270n;
7389
- readonly BASE: 30n;
7390
- readonly BINANCE: 4n;
7391
- readonly OPTIMISM: 24n;
7392
- readonly POLYGON: 5n;
7393
- readonly ARBITRUM: 23n;
7394
- readonly NIBIRU: 7235938n;
7355
+ type LegacybnUSDChainId = (typeof bnUSDLegacySpokeChainIds)[number];
7356
+ type LegacybnUSDTokenAddress = (typeof bnUSDLegacyTokens)[number]['address'];
7357
+ type LegacybnUSDToken = (typeof bnUSDLegacyTokens)[number];
7358
+ type NewbnUSDChainId = (typeof newbnUSDSpokeChainIds)[number];
7359
+ type IntentRelayChainId = (typeof INTENT_RELAY_CHAIN_IDS)[keyof typeof INTENT_RELAY_CHAIN_IDS];
7360
+ type EvmChainId = (typeof EVM_CHAIN_IDS)[number];
7361
+ type EvmSpokeChainId = (typeof EVM_SPOKE_CHAIN_IDS)[number];
7362
+ type BaseSpokeChainInfo<T extends ChainType> = {
7363
+ name: string;
7364
+ id: GetSpokeChainIdType<T>;
7365
+ type: T;
7395
7366
  };
7396
- declare const EVM_CHAIN_IDS: readonly ["0xa86a.avax", "0xa4b1.arbitrum", "0x2105.base", "0x38.bsc", "sonic", "0xa.optimism", "0x89.polygon", "nibiru"];
7397
- declare const EVM_SPOKE_CHAIN_IDS: readonly ["0xa86a.avax", "0xa4b1.arbitrum", "0x2105.base", "0x38.bsc", "0xa.optimism", "0x89.polygon", "nibiru", "sonic"];
7398
- declare const ChainIdToIntentRelayChainId: Record<ChainId, IntentRelayChainId>;
7399
- declare const getIntentRelayChainId: (chainId: ChainId) => IntentRelayChainId;
7400
- declare function getEvmViemChain(id: EvmChainId): Chain;
7401
- declare const getHubChainConfig: (chainId: HubChainId) => EvmHubChainConfig;
7402
- declare const spokeChainConfig: {
7403
- readonly sonic: {
7404
- readonly chain: {
7405
- readonly name: "Sonic";
7406
- readonly id: "sonic";
7407
- readonly type: "EVM";
7408
- };
7409
- readonly addresses: {
7410
- readonly walletRouter: "0xC67C3e55c665E78b25dc9829B3Aa5af47d914733";
7411
- readonly wrappedSonic: "0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38";
7412
- };
7413
- readonly nativeToken: "0x0000000000000000000000000000000000000000";
7414
- readonly bnUSD: "0x6958a4CBFe11406E2a1c1d3a71A1971aD8B3b92F";
7415
- readonly supportedTokens: {
7416
- readonly S: {
7417
- readonly symbol: "S";
7418
- readonly name: "Sonic";
7419
- readonly decimals: 18;
7420
- readonly address: "0x0000000000000000000000000000000000000000";
7421
- };
7422
- readonly WETH: {
7423
- readonly symbol: "WETH";
7424
- readonly name: "Wrapped Ether";
7425
- readonly decimals: 18;
7426
- readonly address: "0x50c42dEAcD8Fc9773493ED674b675bE577f2634b";
7427
- };
7428
- readonly USDC: {
7429
- readonly symbol: "USDC";
7430
- readonly name: "USD Coin";
7431
- readonly decimals: 6;
7432
- readonly address: "0x29219dd400f2Bf60E5a23d13Be72B486D4038894";
7433
- };
7434
- readonly USDT: {
7435
- readonly symbol: "USDT";
7436
- readonly name: "Tether USD";
7437
- readonly decimals: 6;
7438
- readonly address: "0x6047828dc181963ba44974801FF68e538dA5eaF9";
7439
- };
7440
- readonly wS: {
7441
- readonly symbol: "wS";
7442
- readonly name: "Wrapped Sonic";
7443
- readonly decimals: 18;
7444
- readonly address: "0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38";
7445
- };
7446
- readonly SODA: {
7447
- readonly symbol: "SODA";
7448
- readonly name: "SODAX";
7449
- readonly decimals: 18;
7450
- readonly address: "0x7c7d53EEcda37a87ce0D5bf8E0b24512A48dC963";
7451
- };
7452
- };
7453
- };
7454
- readonly solana: {
7455
- readonly addresses: {
7456
- readonly assetManager: "AnCCJjheynmGqPp6Vgat9DTirGKD4CtQzP8cwTYV8qKH";
7457
- readonly connection: "GxS8i6D9qQjbSeniD487CnomUxU2pXt6V8P96T6MkUXB";
7458
- readonly rateLimit: "2Vyy3A3Teju2EMCkdnappEeWqBXyAaF5V2WsrU4hDtsk";
7459
- readonly testToken: "3Q2HS3png7fLaYerqCun3zw8rnBZo2Ksvdg6RHTyM4Ns";
7460
- readonly xTokenManager: "";
7461
- };
7462
- readonly chain: {
7463
- readonly id: "solana";
7464
- readonly name: "Solana";
7465
- readonly type: "SOLANA";
7466
- };
7467
- readonly nativeToken: "11111111111111111111111111111111";
7468
- readonly bnUSD: "3rSPCLNEF7Quw4wX8S1NyKivELoyij8eYA2gJwBgt4V5";
7469
- readonly supportedTokens: {
7470
- readonly SOL: {
7471
- readonly symbol: "SOL";
7472
- readonly name: "Solana";
7473
- readonly decimals: 9;
7474
- readonly address: "11111111111111111111111111111111";
7475
- };
7476
- readonly bnUSD: {
7477
- readonly symbol: "bnUSD";
7478
- readonly name: "bnUSD";
7479
- readonly decimals: 9;
7480
- readonly address: "3rSPCLNEF7Quw4wX8S1NyKivELoyij8eYA2gJwBgt4V5";
7481
- };
7482
- readonly USDC: {
7483
- readonly symbol: "USDC";
7484
- readonly name: "USD Coin";
7485
- readonly decimals: 6;
7486
- readonly address: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
7487
- };
7488
- };
7489
- readonly gasPrice: "500000";
7490
- readonly rpcUrl: "https://api.mainnet-beta.solana.com";
7491
- readonly walletAddress: "";
7367
+ type SpokeChainInfo<T extends ChainType> = BaseSpokeChainInfo<T>;
7368
+ type HubChainInfo<T extends ChainType> = {
7369
+ name: string;
7370
+ id: HubChainId;
7371
+ type: T;
7372
+ };
7373
+ type GetSpokeChainIdType<T extends ChainType> = T extends 'EVM' ? EvmSpokeChainId : SpokeChainId;
7374
+ type AssetInfo = {
7375
+ chainId: bigint;
7376
+ spokeAddress: `0x${string}`;
7377
+ };
7378
+ type HubAssetInfo = {
7379
+ asset: Address$1;
7380
+ decimal: number;
7381
+ vault: Address$1;
7382
+ };
7383
+ type BaseSpokeChainConfig<T extends ChainType> = {
7384
+ chain: SpokeChainInfo<T>;
7385
+ addresses: {
7386
+ [key: string]: Address$1 | string | Uint8Array;
7492
7387
  };
7493
- readonly "0xa86a.avax": {
7494
- readonly chain: {
7495
- readonly name: "Avalanche";
7496
- readonly id: "0xa86a.avax";
7497
- readonly type: "EVM";
7498
- };
7499
- readonly addresses: {
7500
- readonly assetManager: "0x5bDD1E1C5173F4c912cC919742FB94A55ECfaf86";
7501
- readonly connection: "0x4555aC13D7338D9E671584C1D118c06B2a3C88eD";
7502
- };
7503
- readonly nativeToken: "0x0000000000000000000000000000000000000000";
7504
- readonly bnUSD: "0x6958a4CBFe11406E2a1c1d3a71A1971aD8B3b92F";
7505
- readonly supportedTokens: {
7506
- readonly AVAX: {
7507
- readonly symbol: "AVAX";
7508
- readonly name: "Avalanche";
7509
- readonly decimals: 18;
7510
- readonly address: "0x0000000000000000000000000000000000000000";
7511
- };
7512
- readonly bnUSD: {
7513
- readonly symbol: "bnUSD";
7514
- readonly name: "bnUSD";
7515
- readonly decimals: 18;
7516
- readonly address: "0x6958a4CBFe11406E2a1c1d3a71A1971aD8B3b92F";
7517
- };
7518
- readonly USDT: {
7519
- readonly symbol: "USDT";
7520
- readonly name: "Tether USD";
7521
- readonly decimals: 6;
7522
- readonly address: "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7";
7523
- };
7524
- readonly USDC: {
7525
- readonly symbol: "USDC";
7526
- readonly name: "USD Coin";
7527
- readonly decimals: 6;
7528
- readonly address: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E";
7529
- };
7530
- };
7388
+ supportedTokens: Record<string, Token>;
7389
+ nativeToken: Address$1 | string;
7390
+ bnUSD: Address$1 | string;
7391
+ };
7392
+ type BaseHubChainConfig<T extends ChainType> = {
7393
+ chain: HubChainInfo<T>;
7394
+ addresses: {
7395
+ [key: string]: Address$1 | string | Uint8Array;
7531
7396
  };
7532
- readonly nibiru: {
7533
- readonly chain: {
7534
- readonly name: "Nibiru";
7535
- readonly id: "nibiru";
7536
- readonly type: "EVM";
7537
- };
7538
- readonly addresses: {
7539
- readonly assetManager: "0x6958a4CBFe11406E2a1c1d3a71A1971aD8B3b92F";
7540
- readonly connection: "0x772FFE538E45b2cDdFB5823041EC26C44815B9AB";
7541
- };
7542
- readonly nativeToken: "0x0000000000000000000000000000000000000000";
7543
- readonly bnUSD: "0x043fb7e23350Dd5b77dE5E228B528763DEcb9131";
7544
- readonly supportedTokens: {
7545
- readonly NIBI: {
7546
- readonly symbol: "NIBI";
7547
- readonly name: "Nibiru";
7548
- readonly decimals: 6;
7549
- readonly address: "0x0000000000000000000000000000000000000000";
7550
- };
7551
- readonly bnUSD: {
7552
- readonly symbol: "bnUSD";
7553
- readonly name: "bnUSD";
7554
- readonly decimals: 18;
7555
- readonly address: "0x043fb7e23350Dd5b77dE5E228B528763DEcb9131";
7556
- };
7557
- };
7397
+ supportedTokens: Token[];
7398
+ nativeToken: Address$1 | string;
7399
+ };
7400
+ type EvmHubChainConfig = BaseHubChainConfig<'EVM'> & {
7401
+ addresses: {
7402
+ assetManager: Address$1;
7403
+ hubWallet: Address$1;
7404
+ xTokenManager: Address$1;
7405
+ icxMigration: Address$1;
7406
+ balnSwap: Address$1;
7407
+ sodaToken: Address$1;
7558
7408
  };
7559
- readonly "0xa4b1.arbitrum": {
7560
- readonly chain: {
7561
- readonly name: "Arbitrum";
7562
- readonly id: "0xa4b1.arbitrum";
7563
- readonly type: "EVM";
7564
- };
7565
- readonly addresses: {
7566
- readonly assetManager: "0x348BE44F63A458be9C1b13D6fD8e99048F297Bc3";
7567
- readonly connection: "0x4555aC13D7338D9E671584C1D118c06B2a3C88eD";
7568
- };
7569
- readonly nativeToken: "0x0000000000000000000000000000000000000000";
7570
- readonly bnUSD: "0xA256dd181C3f6E5eC68C6869f5D50a712d47212e";
7571
- readonly supportedTokens: {
7572
- readonly ETH: {
7573
- readonly symbol: "ETH";
7574
- readonly name: "Ethereum";
7575
- readonly decimals: 18;
7576
- readonly address: "0x0000000000000000000000000000000000000000";
7577
- };
7578
- readonly bnUSD: {
7579
- readonly symbol: "bnUSD";
7580
- readonly name: "bnUSD";
7581
- readonly decimals: 18;
7582
- readonly address: "0xA256dd181C3f6E5eC68C6869f5D50a712d47212e";
7583
- };
7584
- readonly wstETH: {
7585
- readonly symbol: "wstETH";
7586
- readonly name: "Wrapped stETH";
7587
- readonly decimals: 18;
7588
- readonly address: "0x5979D7b546E38E414F7E9822514be443A4800529";
7589
- };
7590
- readonly weETH: {
7591
- readonly symbol: "weETH";
7592
- readonly name: "Wrapped eETH";
7593
- readonly decimals: 18;
7594
- readonly address: "0x35751007a407ca6FEFfE80b3cB397736D2cf4dbe";
7595
- };
7596
- readonly tBTC: {
7597
- readonly symbol: "tBTC";
7598
- readonly name: "Arbitrum tBTC v2";
7599
- readonly decimals: 18;
7600
- readonly address: "0x6c84a8f1c29108F47a79964b5Fe888D4f4D0dE40";
7601
- };
7602
- readonly WBTC: {
7603
- readonly symbol: "WBTC";
7604
- readonly name: "Wrapped BTC";
7605
- readonly decimals: 8;
7606
- readonly address: "0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f";
7607
- };
7608
- readonly USDC: {
7609
- readonly symbol: "USDC";
7610
- readonly name: "USD Coin (USDC)";
7611
- readonly decimals: 6;
7612
- readonly address: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831";
7613
- };
7614
- readonly USDT: {
7615
- readonly symbol: "USDT";
7616
- readonly name: "TetherToken";
7617
- readonly decimals: 6;
7618
- readonly address: "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9";
7619
- };
7620
- };
7409
+ nativeToken: Address$1;
7410
+ };
7411
+ type RelayerApiConfig = {
7412
+ relayerApiEndpoint: HttpUrl;
7413
+ };
7414
+ type MoneyMarketConfig = {
7415
+ uiPoolDataProvider: Address$1;
7416
+ lendingPool: Address$1;
7417
+ poolAddressesProvider: Address$1;
7418
+ bnUSD: Address$1;
7419
+ bnUSDVault: Address$1;
7420
+ };
7421
+ type MoneyMarketServiceConfig = Prettify<MoneyMarketConfig & PartnerFeeConfig & RelayerApiConfig>;
7422
+ type SolverServiceConfig = Prettify<SolverConfig & PartnerFeeConfig & RelayerApiConfig>;
7423
+ type MigrationServiceConfig = Prettify<RelayerApiConfig>;
7424
+ type MoneyMarketConfigParams = Prettify<MoneyMarketConfig & Optional<PartnerFeeConfig, 'partnerFee'>> | Optional<PartnerFeeConfig, 'partnerFee'>;
7425
+ type Default = {
7426
+ default: boolean;
7427
+ };
7428
+ type EvmSpokeChainConfig = BaseSpokeChainConfig<'EVM'> & {
7429
+ addresses: {
7430
+ assetManager: Address$1;
7431
+ connection: Address$1;
7621
7432
  };
7622
- readonly "0x2105.base": {
7623
- readonly chain: {
7624
- readonly name: "BASE";
7625
- readonly id: "0x2105.base";
7626
- readonly type: "EVM";
7627
- };
7628
- readonly addresses: {
7629
- readonly assetManager: "0x348BE44F63A458be9C1b13D6fD8e99048F297Bc3";
7630
- readonly connection: "0x4555aC13D7338D9E671584C1D118c06B2a3C88eD";
7631
- };
7632
- readonly nativeToken: "0x0000000000000000000000000000000000000000";
7633
- readonly bnUSD: "0xAcfab3F31C0a18559D78556BBf297EC29c6cf8aa";
7634
- readonly supportedTokens: {
7635
- readonly ETH: {
7636
- readonly symbol: "ETH";
7637
- readonly name: "Ethereum";
7638
- readonly decimals: 18;
7639
- readonly address: "0x0000000000000000000000000000000000000000";
7640
- };
7641
- readonly bnUSD: {
7642
- readonly symbol: "bnUSD";
7643
- readonly name: "bnUSD";
7644
- readonly decimals: 18;
7645
- readonly address: "0xAcfab3F31C0a18559D78556BBf297EC29c6cf8aa";
7646
- };
7647
- readonly weETH: {
7648
- readonly symbol: "weETH";
7649
- readonly name: "Wrapped eETH";
7650
- readonly decimals: 18;
7651
- readonly address: "0x04c0599ae5a44757c0af6f9ec3b93da8976c150a";
7652
- };
7653
- readonly USDC: {
7654
- readonly symbol: "USDC";
7655
- readonly name: "USD Coin";
7656
- readonly decimals: 6;
7657
- readonly address: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
7658
- };
7659
- readonly wstETH: {
7660
- readonly symbol: "wstETH";
7661
- readonly name: "Wrapped stETH";
7662
- readonly decimals: 18;
7663
- readonly address: "0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452";
7664
- };
7665
- readonly cbBTC: {
7666
- readonly symbol: "cbBTC";
7667
- readonly name: "Coinbase Wrapped BTC";
7668
- readonly decimals: 8;
7669
- readonly address: "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf";
7670
- };
7671
- };
7433
+ nativeToken: Address$1 | string;
7434
+ };
7435
+ type SonicSpokeChainConfig = BaseSpokeChainConfig<'EVM'> & {
7436
+ addresses: {
7437
+ walletRouter: Address$1;
7438
+ wrappedSonic: Address$1;
7672
7439
  };
7673
- readonly "0xa.optimism": {
7674
- readonly chain: {
7675
- readonly name: "Optimism";
7676
- readonly id: "0xa.optimism";
7677
- readonly type: "EVM";
7678
- };
7679
- readonly addresses: {
7680
- readonly assetManager: "0x348BE44F63A458be9C1b13D6fD8e99048F297Bc3";
7681
- readonly connection: "0x4555aC13D7338D9E671584C1D118c06B2a3C88eD";
7682
- };
7683
- readonly nativeToken: "0x0000000000000000000000000000000000000000";
7684
- readonly bnUSD: "0xF4f7dC27c17470a26d0de9039Cf0EA5045F100E8";
7685
- readonly supportedTokens: {
7686
- readonly ETH: {
7687
- readonly symbol: "ETH";
7688
- readonly name: "Ethereum";
7689
- readonly decimals: 18;
7690
- readonly address: "0x0000000000000000000000000000000000000000";
7691
- };
7692
- readonly bnUSD: {
7693
- readonly symbol: "bnUSD";
7694
- readonly name: "bnUSD";
7695
- readonly decimals: 18;
7696
- readonly address: "0xF4f7dC27c17470a26d0de9039Cf0EA5045F100E8";
7697
- };
7698
- readonly USDC: {
7699
- readonly symbol: "USDC";
7700
- readonly name: "USD Coin";
7701
- readonly decimals: 6;
7702
- readonly address: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85";
7703
- };
7704
- readonly wstETH: {
7705
- readonly symbol: "wstETH";
7706
- readonly name: "Wrapped stETH";
7707
- readonly decimals: 18;
7708
- readonly address: "0x1F32b1c2345538c0c6f582fCB022739c4A194Ebb";
7709
- };
7710
- readonly weETH: {
7711
- readonly symbol: "weETH";
7712
- readonly name: "Wrapped eETH";
7713
- readonly decimals: 18;
7714
- readonly address: "0x5A7fACB970D094B6C7FF1df0eA68D99E6e73CBFF";
7715
- };
7716
- readonly USDT: {
7717
- readonly symbol: "USDT";
7718
- readonly name: "Tether USD";
7719
- readonly decimals: 6;
7720
- readonly address: "0x94b008aA00579c1307B0EF2c499aD98a8ce58e58";
7721
- };
7722
- };
7440
+ nativeToken: Address$1;
7441
+ };
7442
+ type SuiSpokeChainConfig = BaseSpokeChainConfig<'SUI'> & {
7443
+ addresses: {
7444
+ assetManager: string;
7445
+ connection: string;
7446
+ xTokenManager: string;
7447
+ rateLimit: string;
7448
+ testToken: string;
7723
7449
  };
7724
- readonly "0x38.bsc": {
7725
- readonly chain: {
7726
- readonly name: "BSC";
7727
- readonly id: "0x38.bsc";
7728
- readonly type: "EVM";
7729
- };
7730
- readonly addresses: {
7731
- readonly assetManager: "0x348BE44F63A458be9C1b13D6fD8e99048F297Bc3";
7732
- readonly connection: "0x4555aC13D7338D9E671584C1D118c06B2a3C88eD";
7733
- };
7734
- readonly nativeToken: "0x0000000000000000000000000000000000000000";
7735
- readonly bnUSD: "0x8428FedC020737a5A2291F46cB1B80613eD71638";
7736
- readonly supportedTokens: {
7737
- readonly BNB: {
7738
- readonly symbol: "BNB";
7739
- readonly name: "BNB";
7740
- readonly decimals: 18;
7741
- readonly address: "0x0000000000000000000000000000000000000000";
7742
- };
7743
- readonly bnUSD: {
7744
- readonly symbol: "bnUSD";
7745
- readonly name: "bnUSD";
7746
- readonly decimals: 18;
7747
- readonly address: "0x8428FedC020737a5A2291F46cB1B80613eD71638";
7748
- };
7749
- readonly ETHB: {
7750
- readonly symbol: "ETHB";
7751
- readonly name: "Ethereum BSC";
7752
- readonly decimals: 18;
7753
- readonly address: "0x2170Ed0880ac9A755fd29B2688956BD959F933F8";
7754
- };
7755
- readonly BTCB: {
7756
- readonly symbol: "BTCB";
7757
- readonly name: "Bitcoin BSC";
7758
- readonly decimals: 18;
7759
- readonly address: "0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c";
7760
- };
7761
- readonly USDC: {
7762
- readonly symbol: "USDC";
7763
- readonly name: "USD Coin";
7764
- readonly decimals: 18;
7765
- readonly address: "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d";
7766
- };
7767
- };
7450
+ rpc_url: string;
7451
+ };
7452
+ type InjectiveSpokeChainConfig = BaseSpokeChainConfig<'INJECTIVE'> & {
7453
+ rpcUrl: string;
7454
+ walletAddress: string;
7455
+ addresses: {
7456
+ assetManager: string;
7457
+ connection: string;
7458
+ xTokenManager: string;
7459
+ rateLimit: string;
7460
+ testToken: string;
7768
7461
  };
7769
- readonly "0x89.polygon": {
7770
- readonly chain: {
7771
- readonly name: "Polygon";
7772
- readonly id: "0x89.polygon";
7773
- readonly type: "EVM";
7774
- };
7775
- readonly addresses: {
7776
- readonly assetManager: "0x348BE44F63A458be9C1b13D6fD8e99048F297Bc3";
7777
- readonly connection: "0x4555aC13D7338D9E671584C1D118c06B2a3C88eD";
7778
- };
7779
- readonly nativeToken: "0x0000000000000000000000000000000000000000";
7780
- readonly bnUSD: "0x39E77f86C1B1f3fbAb362A82b49D2E86C09659B4";
7781
- readonly supportedTokens: {
7782
- readonly POL: {
7783
- readonly symbol: "POL";
7784
- readonly name: "Polygon";
7785
- readonly decimals: 18;
7786
- readonly address: "0x0000000000000000000000000000000000000000";
7787
- };
7788
- readonly bnUSD: {
7789
- readonly symbol: "bnUSD";
7790
- readonly name: "bnUSD";
7791
- readonly decimals: 18;
7792
- readonly address: "0x39E77f86C1B1f3fbAb362A82b49D2E86C09659B4";
7793
- };
7794
- readonly USDC: {
7795
- readonly symbol: "USDC";
7796
- readonly name: "USD Coin";
7797
- readonly decimals: 6;
7798
- readonly address: "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359";
7799
- };
7800
- };
7462
+ nativeToken: string;
7463
+ prefix: string;
7464
+ gasPrice: string;
7465
+ isBrowser: boolean;
7466
+ networkId: string;
7467
+ network: InjectiveNetworkEnv;
7468
+ };
7469
+ type StellarSpokeChainConfig = BaseSpokeChainConfig<'STELLAR'> & {
7470
+ addresses: {
7471
+ assetManager: string;
7472
+ connection: string;
7473
+ xTokenManager: string;
7474
+ rateLimit: string;
7475
+ testToken: string;
7801
7476
  };
7802
- readonly "injective-1": {
7803
- readonly addresses: {
7804
- readonly assetManager: "inj1dg6tm62uup53wn2kn97caeqfwt0sukx3qjk8rw";
7805
- readonly connection: "inj1eexvfglsptxwfj9hft96xcnsdrvr7d7dalcm8w";
7806
- readonly rateLimit: "inj1x8p2h56edcdrm9tzx7a7zkwe0l334klgrxpqyk";
7807
- readonly testToken: "";
7808
- readonly xTokenManager: "";
7809
- };
7810
- readonly chain: {
7811
- readonly id: "injective-1";
7812
- readonly name: "Injective";
7813
- readonly type: "INJECTIVE";
7814
- };
7815
- readonly nativeToken: "inj";
7816
- readonly bnUSD: "factory/inj1d036ftaatxpkqsu9hja8r24rv3v33chz3appxp/bnUSD";
7817
- readonly networkId: "injective-1";
7818
- readonly supportedTokens: {
7819
- readonly INJ: {
7820
- readonly symbol: "INJ";
7821
- readonly name: "Injective";
7822
- readonly decimals: 18;
7823
- readonly address: "inj";
7824
- };
7825
- readonly bnUSD: {
7826
- readonly symbol: "bnUSD";
7827
- readonly name: "bnUSD";
7828
- readonly decimals: 18;
7829
- readonly address: "factory/inj1d036ftaatxpkqsu9hja8r24rv3v33chz3appxp/bnUSD";
7830
- };
7831
- readonly USDC: {
7832
- readonly symbol: "USDC";
7833
- readonly name: "USD Coin";
7834
- readonly decimals: 6;
7835
- readonly address: "ibc/2CBC2EA121AE42563B08028466F37B600F2D7D4282342DE938283CC3FB2BC00E";
7836
- };
7837
- };
7838
- readonly gasPrice: "500000000inj";
7839
- readonly network: "Mainnet";
7840
- readonly prefix: "inj";
7841
- readonly isBrowser: false;
7842
- readonly rpcUrl: "https://injective-rpc.publicnode.com:443";
7843
- readonly walletAddress: "";
7477
+ horizonRpcUrl: HttpUrl;
7478
+ sorobanRpcUrl: HttpUrl;
7479
+ };
7480
+ type IconSpokeChainConfig = BaseSpokeChainConfig<'ICON'> & {
7481
+ addresses: {
7482
+ assetManager: IconAddress;
7483
+ connection: IconAddress;
7484
+ rateLimit: IconAddress;
7485
+ wICX: `cx${string}`;
7844
7486
  };
7845
- readonly stellar: {
7846
- readonly addresses: {
7847
- readonly connection: "CDFQDDPUPAM3XPGORHDOEFRNLMKOH3N3X6XTXNLSXJQXIU3RVCM3OPEP";
7848
- readonly assetManager: "CCGF33A4CO6D3BXFEKPXVCFCZBK76I3AQOZK6KIKRPAWAZR3632WHCJ3";
7849
- readonly xTokenManager: "";
7850
- readonly rateLimit: "CB6G3ULISTTBPXUN3BI6ADHQGWJEN7BPQINHL45TCB6TDFM5QWU24HAY";
7851
- readonly testToken: "";
7852
- };
7853
- readonly supportedTokens: {
7854
- readonly bnUSD: {
7855
- readonly symbol: "bnUSD";
7856
- readonly name: "bnUSD";
7857
- readonly decimals: 7;
7858
- readonly address: "CD6YBFFWMU2UJHX2NGRJ7RN76IJVTCC7MRA46DUBXNB7E6W7H7JRJ2CX";
7859
- };
7860
- readonly XLM: {
7861
- readonly symbol: "XLM";
7862
- readonly name: "Stellar Lumens";
7863
- readonly decimals: 7;
7864
- readonly address: "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA";
7865
- };
7866
- readonly USDC: {
7867
- readonly symbol: "USDC";
7868
- readonly name: "USD Coin";
7869
- readonly decimals: 7;
7870
- readonly address: "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75";
7871
- };
7872
- readonly legacybnUSD: {
7873
- readonly symbol: "bnUSD";
7874
- readonly name: "legacybnUSD";
7875
- readonly decimals: 18;
7876
- readonly address: "CCT4ZYIYZ3TUO2AWQFEOFGBZ6HQP3GW5TA37CK7CRZVFRDXYTHTYX7KP";
7877
- };
7878
- };
7879
- readonly nativeToken: "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA";
7880
- readonly bnUSD: "CD6YBFFWMU2UJHX2NGRJ7RN76IJVTCC7MRA46DUBXNB7E6W7H7JRJ2CX";
7881
- readonly horizonRpcUrl: "https://horizon.stellar.org";
7882
- readonly sorobanRpcUrl: "https://rpc.ankr.com/stellar_soroban";
7883
- readonly chain: {
7884
- readonly name: "Stellar";
7885
- readonly id: "stellar";
7886
- readonly type: "STELLAR";
7887
- };
7888
- };
7889
- readonly sui: {
7890
- readonly addresses: {
7891
- readonly connection: "0xf3b1e696a66d02cb776dc15aae73c68bc8f03adcb6ba0ec7f6332d9d90a6a3d2::connectionv3::0x3ee76d13909ac58ae13baab4c9be5a5142818d9a387aed641825e5d4356969bf";
7892
- readonly assetManager: "0x897f911a4b7691870a1a2513af7e85fdee8de275615c77068fd8b90b8e78c678::asset_manager::0xcb7346339340b7f8dea40fcafb70721dc2fcfa7e8626a89fd954d46c1f928b61";
7893
- readonly xTokenManager: "";
7894
- readonly rateLimit: "";
7895
- readonly testToken: "";
7896
- };
7897
- readonly supportedTokens: {
7898
- readonly SUI: {
7899
- readonly symbol: "SUI";
7900
- readonly name: "SUI";
7901
- readonly decimals: 9;
7902
- readonly address: "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI";
7903
- };
7904
- readonly bnUSD: {
7905
- readonly symbol: "bnUSD";
7906
- readonly name: "bnUSD";
7907
- readonly decimals: 9;
7908
- readonly address: "0xff4de2b2b57dd7611d2812d231a467d007b702a101fd5c7ad3b278257cddb507::bnusd::BNUSD";
7909
- };
7910
- readonly USDC: {
7911
- readonly symbol: "USDC";
7912
- readonly name: "USD Coin";
7913
- readonly decimals: 6;
7914
- readonly address: "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC";
7915
- };
7916
- readonly legacybnUSD: {
7917
- readonly symbol: "bnUSD";
7918
- readonly name: "legacybnUSD";
7919
- readonly decimals: 9;
7920
- readonly address: "0x03917a812fe4a6d6bc779c5ab53f8a80ba741f8af04121193fc44e0f662e2ceb::balanced_dollar::BALANCED_DOLLAR";
7921
- };
7922
- readonly afSUI: {
7923
- readonly symbol: "afSUI";
7924
- readonly name: "Aftermath Staked Sui";
7925
- readonly decimals: 9;
7926
- readonly address: "0xf325ce1300e8dac124071d3152c5c5ee6174914f8bc2161e88329cf579246efc::afsui::AFSUI";
7927
- };
7928
- readonly mSUI: {
7929
- readonly symbol: "mSUI";
7930
- readonly name: "Mirai Staked SUI";
7931
- readonly decimals: 9;
7932
- readonly address: "0x922d15d7f55c13fd790f6e54397470ec592caa2b508df292a2e8553f3d3b274f::msui::MSUI";
7933
- };
7934
- readonly haSUI: {
7935
- readonly symbol: "haSUI";
7936
- readonly name: "haSUI";
7937
- readonly decimals: 9;
7938
- readonly address: "0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d::hasui::HASUI";
7939
- };
7940
- readonly vSUI: {
7941
- readonly symbol: "vSUI";
7942
- readonly name: "Volo Staked SUI";
7943
- readonly decimals: 9;
7944
- readonly address: "0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55::cert::CERT";
7945
- };
7946
- readonly yapSUI: {
7947
- readonly symbol: "yapSUI";
7948
- readonly name: "Yap Staked SUI";
7949
- readonly decimals: 9;
7950
- readonly address: "0x83f1bb8c91ecd1fd313344058b0eed94d63c54e41d8d1ae5bff1353443517d65::yap_sui::YAP_SUI";
7951
- };
7952
- readonly trevinSUI: {
7953
- readonly symbol: "trevinSUI";
7954
- readonly name: "Trevin Staked SUI";
7955
- readonly decimals: 9;
7956
- readonly address: "0x502867b177303bf1bf226245fcdd3403c177e78d175a55a56c0602c7ff51c7fa::trevin_sui::TREVIN_SUI";
7957
- };
7958
- };
7959
- readonly nativeToken: "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI";
7960
- readonly bnUSD: "0xff4de2b2b57dd7611d2812d231a467d007b702a101fd5c7ad3b278257cddb507::bnusd::BNUSD";
7961
- readonly rpc_url: "https://fullnode.mainnet.sui.io:443";
7962
- readonly chain: {
7963
- readonly name: "Sui";
7964
- readonly id: "sui";
7965
- readonly type: "SUI";
7966
- };
7967
- };
7968
- readonly "0x1.icon": {
7969
- readonly addresses: {
7970
- readonly assetManager: "cx1be33c283c7dc7617181d1b21a6a2309e71b1ee7";
7971
- readonly connection: "cxe5cdf3b0f26967b0efc72d470d57bbf534268f94";
7972
- readonly rateLimit: "cxbbdcea9e6757023a046067ba8daa3c4c50304358";
7973
- readonly wICX: "cx3975b43d260fb8ec802cef6e60c2f4d07486f11d";
7974
- };
7975
- readonly chain: {
7976
- readonly id: "0x1.icon";
7977
- readonly name: "ICON Mainnet";
7978
- readonly type: "ICON";
7979
- };
7980
- readonly supportedTokens: {
7981
- readonly ICX: {
7982
- readonly symbol: "ICX";
7983
- readonly name: "ICON";
7984
- readonly decimals: 18;
7985
- readonly address: "cx0000000000000000000000000000000000000000";
7986
- };
7987
- readonly wICX: {
7988
- readonly symbol: "wICX";
7989
- readonly name: "Wrapped ICX";
7990
- readonly decimals: 18;
7991
- readonly address: "cx3975b43d260fb8ec802cef6e60c2f4d07486f11d";
7992
- };
7993
- readonly bnUSD: {
7994
- readonly symbol: "bnUSD";
7995
- readonly name: "bnUSD";
7996
- readonly decimals: 18;
7997
- readonly address: "cx88fd7df7ddff82f7cc735c871dc519838cb235bb";
7998
- };
7999
- readonly BALN: {
8000
- readonly symbol: "BALN";
8001
- readonly name: "BALN";
8002
- readonly decimals: 18;
8003
- readonly address: "cxf61cd5a45dc9f91c15aa65831a30a90d59a09619";
8004
- };
8005
- };
8006
- readonly nativeToken: "cx0000000000000000000000000000000000000000";
8007
- readonly bnUSD: "cx88fd7df7ddff82f7cc735c871dc519838cb235bb";
8008
- readonly nid: "0x1";
7487
+ nid: Hex$1;
7488
+ };
7489
+ type SolanaChainConfig = BaseSpokeChainConfig<'SOLANA'> & {
7490
+ addresses: {
7491
+ assetManager: string;
7492
+ connection: string;
7493
+ xTokenManager: string;
7494
+ rateLimit: string;
7495
+ testToken: string;
8009
7496
  };
7497
+ chain: SpokeChainInfo<'SOLANA'>;
7498
+ rpcUrl: string;
7499
+ walletAddress: string;
7500
+ nativeToken: string;
7501
+ gasPrice: string;
8010
7502
  };
8011
- declare const HubVaultSymbols: readonly ["sodaAVAX", "sodaBNB", "sodaETH", "sodaBTC", "sodaSUI", "sodaINJ", "sodaXLM", "sodaSOL", "sodaSODA", "sodaUSDT", "sodaUSDC", "bnUSD", "sodaPOL", "sodaNIBI", "sodaS", "IbnUSD"];
8012
- type HubVaultSymbol = (typeof HubVaultSymbols)[number];
8013
- declare const hubVaults: {
8014
- readonly IbnUSD: {
8015
- readonly address: "0x9D4b663Eb075d2a1C7B8eaEFB9eCCC0510388B51";
8016
- readonly reserves: ["0x654DdDf32a9a2aC53f5FB54bf1e93F66791f8047", "0xddf6AD38F9C9451C1F4cDf369040F6869e37393e", "0x1559B52d2e165da1505a542EA37C543c9137f52a"];
8017
- };
8018
- readonly sodaS: {
8019
- readonly address: "0x62ecc3eeb80a162c57624b3ff80313fe69f5203e";
8020
- readonly reserves: ["0x039e2fb66102314ce7b64ce5ce3e5183bc94ad38"];
8021
- };
8022
- readonly sodaNIBI: {
8023
- readonly address: "0xc6c85287a8b173a509c2f198bb719a8a5a2d0c68";
8024
- readonly reserves: ["0xe0064414c2c1a636a9424c7a17d86fbf7fd3f190"];
8025
- };
8026
- readonly sodaPOL: {
8027
- readonly address: "0x208ed38f4783328aa9ebfec360d32e7520a9b779";
8028
- readonly reserves: ["0x9ee17486571917837210824b0d4cadfe3b324d12"];
8029
- };
8030
- readonly bnUSD: {
8031
- readonly address: "0xe801ca34e19abcbfea12025378d19c4fbe250131";
8032
- readonly reserves: ["0xabbb91c0617090f0028bdc27597cd0d038f3a833", "0xbdf1f453fcb61424011bbddcb96cfdb30f3fe876", "0x94dc79ce9c515ba4ae4d195da8e6ab86c69bfc38", "0x5ce6c1c51ff762cf3acd21396257046f694168b6", "0xdf5639d91359866f266b56d60d98ede9feedd100", "0x238384ae2b4f0ec189ecb5031859ba306b2679c5", "0x419ca9054e44e94ceab52846ecdc3997439bbca6", "0x18f85f9e80ff9496eebd5979a051af16ce751567", "0x289cda1043b4ce26bdca3c12e534f56b24308a5b", "0x23225ab8e63fca4070296678cb46566d57e1bbe3", "0x14c65b1cdc0b821569081b1f77342da0d0cbf439", "0xdf23097b9aeb917bf8fb70e99b6c528fffa35364", "0x11b93c162aabffd026539bb3b9f9ec22c8b7ef8a", "0x69425ffb14704124a58d6f69d510f74a59d9a5bc", "0x9d4b663eb075d2a1c7b8eaefb9eccc0510388b51"];
8033
- };
8034
- readonly sodaSODA: {
8035
- readonly address: "0x21685e341de7844135329914be6bd8d16982d834";
8036
- readonly reserves: ["0x7c7d53eecda37a87ce0d5bf8e0b24512a48dc963"];
8037
- };
8038
- readonly sodaAVAX: {
8039
- readonly address: "0x14238d267557e9d799016ad635b53cd15935d290";
8040
- readonly reserves: ["0xc9e4f0b6195f389d9d2b639f2878b7674eb9d8cd"];
8041
- };
8042
- readonly sodaBNB: {
8043
- readonly address: "0x40cd41b35db9e5109ae7e54b44de8625db320e6b";
8044
- readonly reserves: ["0x13b70564b1ec12876b20fab5d1bb630311312f4f"];
8045
- };
8046
- readonly sodaETH: {
8047
- readonly address: "0x4effb5813271699683c25c734f4dabc45b363709";
8048
- readonly reserves: ["0x70178089842be7f8e4726b33f0d1569db8021faa", "0xad332860dd3b6f0e63f4f66e9457900917ac78cd", "0xdcd9578b51ef55239b6e68629d822a8d97c95b86", "0x57fc2ac5701e463ae261adbd6c99fbeb48ce5293", "0x50c42deacd8fc9773493ed674b675be577f2634b"];
8049
- };
8050
- readonly sodaBTC: {
8051
- readonly address: "0x7a1a5555842ad2d0ed274d09b5c4406a95799d5d";
8052
- readonly reserves: ["0x2803a23a3ba6b09e57d1c71dec0d9efdbb00a27f", "0xfb0acb1b2720b620935f50a6dd3f7fea52b2fcbe", "0x96fc8540736f1598b7e235e6de8814062b3b5d3b", "0xd8a24c71fea5bb81c66c01e532de7d9b11e13905"];
8053
- };
8054
- readonly sodaSUI: {
8055
- readonly address: "0xdc5b4b00f98347e95b9f94911213dab4c687e1e3";
8056
- readonly reserves: ["0x4676b2a551b25c04e235553c1c81019337384673"];
8057
- };
8058
- readonly sodaINJ: {
8059
- readonly address: "0x1f22279c89b213944b7ea41dacb0a868ddcdfd13";
8060
- readonly reserves: ["0xd375590b4955f6ea5623f799153f9b787a3bd319"];
8061
- };
8062
- readonly sodaXLM: {
8063
- readonly address: "0x6bc8c37cba91f76e68c9e6d689a9c21e4d32079b";
8064
- readonly reserves: ["0x8ac68af223907fb1b893086601a3d99e00f2fa9d"];
8065
- };
8066
- readonly sodaSOL: {
8067
- readonly address: "0xdea692287e2ce8cb08fa52917be0f16b1dacdc87";
8068
- readonly reserves: ["0x0c09e69a4528945de6d16c7e469dea6996fdf636"];
8069
- };
8070
- readonly sodaUSDT: {
8071
- readonly address: "0xbdf1f453fcb61424011bbddcb96cfdb30f3fe876";
8072
- readonly reserves: ["0x41fd5c169e014e2a657b9de3553f7a7b735fe47a", "0xc168067d95109003805ac865ae556e8476dc69bc", "0x3c0a80c6a1110fc80309382b3989ec626c135ee9", "0x6047828dc181963ba44974801ff68e538da5eaf9"];
8073
- };
8074
- readonly sodaUSDC: {
8075
- readonly address: "0xabbb91c0617090f0028bdc27597cd0d038f3a833";
8076
- readonly reserves: ["0x41abf4b1559ff709ef8150079bcb26db1fffd117", "0x72e852545b024ddcbc5b70c1bcbdaa025164259c", "0xb7c213cbd24967de9838fa014668fddb338f724b", "0xdb7bda65c3a1c51d64dc4444e418684677334109", "0xa36893ba308b332fdebfa95916d1df3a2e3cf8b3", "0x29219dd400f2bf60e5a23d13be72b486d4038894", "0x5635369c8a29a081d26c2e9e28012fca548ba0cb", "0x3d73437dd81b3f9ec82752beb1752f03a8531710", "0x4bc1211faa06fb50ff61a70331f56167ae511057", "0x348007b53f25a9a857ab8ea81ec9e3ccbcf440f2", "0xc3f020057510ffe10ceb882e1b48238b43d78a5e", "0x9d58508ad10d34048a11640735ca5075bba07b35"];
7503
+ type HubChainConfig = EvmHubChainConfig;
7504
+ type SpokeChainConfig = EvmSpokeChainConfig | SonicSpokeChainConfig | InjectiveSpokeChainConfig | IconSpokeChainConfig | SuiSpokeChainConfig | StellarSpokeChainConfig | SolanaChainConfig;
7505
+ type EvmContractCall = {
7506
+ address: Address$1;
7507
+ value: bigint;
7508
+ data: Hex$1;
7509
+ };
7510
+ type EvmTransferToHubParams = {
7511
+ token: Address$1;
7512
+ recipient: Address$1;
7513
+ amount: bigint;
7514
+ data: Hex$1;
7515
+ };
7516
+ type EvmTransferParams = {
7517
+ fromToken: Address$1;
7518
+ dstChainId: SpokeChainId;
7519
+ toToken: Hex$1;
7520
+ to: Hex$1;
7521
+ amount: bigint;
7522
+ data: Hex$1;
7523
+ };
7524
+ type TokenInfo = {
7525
+ decimals: number;
7526
+ depositFee: bigint;
7527
+ withdrawalFee: bigint;
7528
+ maxDeposit: bigint;
7529
+ isSupported: boolean;
7530
+ };
7531
+ type VaultReserves = {
7532
+ tokens: readonly Address$1[];
7533
+ balances: readonly bigint[];
7534
+ };
7535
+ /**
7536
+ * Fee type for transaction fees.
7537
+ * @property address - The address to which the fee is sent.
7538
+ * @property amount - Optional fixed fee amount in wei.
7539
+ */
7540
+ type PartnerFeeAmount = {
7541
+ address: Address$1;
7542
+ amount: bigint;
7543
+ };
7544
+ /**
7545
+ * Fee type for transaction fees.
7546
+ * @property address - The address to which the fee is sent.
7547
+ * @property percentage - Optional fee percentage in basis points (e.g., 100 = 1%). Maximum allowed is 100 (1%).
7548
+ */
7549
+ type PartnerFeePercentage = {
7550
+ address: Address$1;
7551
+ percentage: number;
7552
+ };
7553
+ /**
7554
+ * Fee type for transaction fees.
7555
+ * @property address - The address to which the fee is sent.
7556
+ * @property percentage - Optional fee percentage in basis points (e.g., 100 = 1%). Maximum allowed is 100 (1%).
7557
+ * @property amount - Optional fixed fee amount in wei. If both percentage and amount are provided, amount will be used.
7558
+ */
7559
+ type PartnerFee = PartnerFeeAmount | PartnerFeePercentage;
7560
+ type PartnerFeeConfig = {
7561
+ partnerFee: PartnerFee | undefined;
7562
+ };
7563
+ type FeeAmount = {
7564
+ feeAmount: bigint;
7565
+ };
7566
+ type EvmTxReturnType<T extends boolean> = T extends true ? TransactionReceipt : Hex$1;
7567
+ type IconAddress = `hx${string}` | `cx${string}`;
7568
+ type IconContractAddress = `cx${string}`;
7569
+ type IcxTokenType = (typeof spokeChainConfig)[typeof ICON_MAINNET_CHAIN_ID]['addresses']['wICX'] | (typeof spokeChainConfig)[typeof ICON_MAINNET_CHAIN_ID]['nativeToken'];
7570
+ type Result<T, E = Error | unknown> = {
7571
+ ok: true;
7572
+ value: T;
7573
+ } | {
7574
+ ok: false;
7575
+ error: E;
7576
+ };
7577
+ type HttpPrefixedUrl = `http${string}`;
7578
+ type SpokeDepositParams = EvmSpokeDepositParams | InjectiveSpokeDepositParams | IconSpokeDepositParams;
7579
+ type GetSpokeDepositParamsType<T extends SpokeProvider> = T extends EvmSpokeProvider ? EvmSpokeDepositParams : T extends InjectiveSpokeProvider ? InjectiveSpokeDepositParams : T extends SuiSpokeProvider ? SuiSpokeDepositParams : T extends IconSpokeProvider ? IconSpokeDepositParams : T extends StellarSpokeProvider ? StellarSpokeDepositParams : T extends SolanaSpokeProvider ? SolanaSpokeDepositParams : T extends SonicSpokeProvider ? SonicSpokeDepositParams : never;
7580
+ type GetAddressType<T extends SpokeProvider> = T extends EvmSpokeProvider ? Address$1 : T extends InjectiveSpokeProvider ? string : T extends StellarSpokeProvider ? Hex$1 : T extends IconSpokeProvider ? IconAddress : T extends SuiSpokeProvider ? Hex$1 : T extends SolanaSpokeProvider ? Hex$1 : T extends SonicSpokeProvider ? Address$1 : never;
7581
+ type HttpUrl = `http://${string}` | `https://${string}`;
7582
+ type SolverConfig = {
7583
+ intentsContract: Address$1;
7584
+ solverApiEndpoint: HttpUrl;
7585
+ };
7586
+ type SolverConfigParams = Prettify<SolverConfig & Optional<PartnerFeeConfig, 'partnerFee'>> | Optional<PartnerFeeConfig, 'partnerFee'>;
7587
+ type QuoteType = 'exact_input' | 'exact_output';
7588
+ type SolverIntentQuoteRequest = {
7589
+ token_src: string;
7590
+ token_src_blockchain_id: SpokeChainId;
7591
+ token_dst: string;
7592
+ token_dst_blockchain_id: SpokeChainId;
7593
+ amount: bigint;
7594
+ quote_type: QuoteType;
7595
+ };
7596
+ type SolverIntentQuoteResponseRaw = {
7597
+ quoted_amount: string;
7598
+ };
7599
+ type SolverIntentQuoteResponse = {
7600
+ quoted_amount: bigint;
7601
+ };
7602
+ type SolverErrorResponse = {
7603
+ detail: {
7604
+ code: SolverIntentErrorCode;
7605
+ message: string;
8077
7606
  };
8078
7607
  };
8079
- declare const hubAssets: Record<SpokeChainId, Record<Address | string, {
8080
- asset: Address;
8081
- decimal: number;
8082
- vault: Address;
8083
- symbol: string;
8084
- name: string;
8085
- }>>;
8086
- declare const DEFAULT_RELAYER_API_ENDPOINT = "https://xcall-relay.nw.iconblockchain.xyz";
8087
- declare const getSolverConfig: (chainId: HubChainId) => SolverConfig;
8088
- declare const getSupportedSolverTokens: (chainId: SpokeChainId) => readonly Token[];
8089
- declare const isSolverSupportedToken: (chainId: SpokeChainId, token: string) => boolean;
8090
- declare const getMoneyMarketConfig: (chainId: HubChainId) => MoneyMarketConfig;
8091
- declare const moneyMarketSupportedTokens: {
8092
- readonly "0xa86a.avax": readonly [{
8093
- readonly symbol: "AVAX";
8094
- readonly name: "Avalanche";
8095
- readonly decimals: 18;
8096
- readonly address: "0x0000000000000000000000000000000000000000";
8097
- }, {
8098
- readonly symbol: "USDT";
8099
- readonly name: "Tether USD";
8100
- readonly decimals: 6;
8101
- readonly address: "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7";
8102
- }, {
8103
- readonly symbol: "USDC";
8104
- readonly name: "USD Coin";
8105
- readonly decimals: 6;
8106
- readonly address: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E";
8107
- }, {
8108
- readonly symbol: "bnUSD";
8109
- readonly name: "bnUSD";
8110
- readonly decimals: 18;
8111
- readonly address: "0x6958a4CBFe11406E2a1c1d3a71A1971aD8B3b92F";
8112
- }];
8113
- readonly "0xa4b1.arbitrum": readonly [{
8114
- readonly symbol: "ETH";
8115
- readonly name: "Ethereum";
8116
- readonly decimals: 18;
8117
- readonly address: "0x0000000000000000000000000000000000000000";
8118
- }, {
8119
- readonly symbol: "bnUSD";
8120
- readonly name: "bnUSD";
8121
- readonly decimals: 18;
8122
- readonly address: "0xA256dd181C3f6E5eC68C6869f5D50a712d47212e";
8123
- }, {
8124
- readonly symbol: "WBTC";
8125
- readonly name: "Wrapped BTC";
8126
- readonly decimals: 8;
8127
- readonly address: "0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f";
8128
- }, {
8129
- readonly symbol: "tBTC";
8130
- readonly name: "Arbitrum tBTC v2";
8131
- readonly decimals: 18;
8132
- readonly address: "0x6c84a8f1c29108F47a79964b5Fe888D4f4D0dE40";
8133
- }, {
8134
- readonly symbol: "USDT";
8135
- readonly name: "TetherToken";
8136
- readonly decimals: 6;
8137
- readonly address: "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9";
8138
- }, {
8139
- readonly symbol: "USDC";
8140
- readonly name: "USD Coin (USDC)";
8141
- readonly decimals: 6;
8142
- readonly address: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831";
8143
- }];
8144
- readonly "0x2105.base": readonly [{
8145
- readonly symbol: "ETH";
8146
- readonly name: "Ethereum";
8147
- readonly decimals: 18;
8148
- readonly address: "0x0000000000000000000000000000000000000000";
8149
- }, {
8150
- readonly symbol: "bnUSD";
8151
- readonly name: "bnUSD";
8152
- readonly decimals: 18;
8153
- readonly address: "0xAcfab3F31C0a18559D78556BBf297EC29c6cf8aa";
8154
- }, {
8155
- readonly symbol: "USDC";
8156
- readonly name: "USD Coin";
8157
- readonly decimals: 6;
8158
- readonly address: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
8159
- }, {
8160
- readonly symbol: "cbBTC";
8161
- readonly name: "Coinbase Wrapped BTC";
8162
- readonly decimals: 8;
8163
- readonly address: "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf";
8164
- }];
8165
- readonly "0xa.optimism": readonly [{
8166
- readonly symbol: "ETH";
8167
- readonly name: "Ethereum";
8168
- readonly decimals: 18;
8169
- readonly address: "0x0000000000000000000000000000000000000000";
8170
- }, {
8171
- readonly symbol: "bnUSD";
8172
- readonly name: "bnUSD";
8173
- readonly decimals: 18;
8174
- readonly address: "0xF4f7dC27c17470a26d0de9039Cf0EA5045F100E8";
8175
- }, {
8176
- readonly symbol: "USDC";
8177
- readonly name: "USD Coin";
8178
- readonly decimals: 6;
8179
- readonly address: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85";
8180
- }, {
8181
- readonly symbol: "USDT";
8182
- readonly name: "Tether USD";
8183
- readonly decimals: 6;
8184
- readonly address: "0x94b008aA00579c1307B0EF2c499aD98a8ce58e58";
8185
- }];
8186
- readonly "0x89.polygon": readonly [{
8187
- readonly symbol: "POL";
8188
- readonly name: "Polygon";
8189
- readonly decimals: 18;
8190
- readonly address: "0x0000000000000000000000000000000000000000";
8191
- }, {
8192
- readonly symbol: "bnUSD";
8193
- readonly name: "bnUSD";
8194
- readonly decimals: 18;
8195
- readonly address: "0x39E77f86C1B1f3fbAb362A82b49D2E86C09659B4";
8196
- }, {
8197
- readonly symbol: "USDC";
8198
- readonly name: "USD Coin";
8199
- readonly decimals: 6;
8200
- readonly address: "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359";
8201
- }];
8202
- readonly "0x38.bsc": readonly [{
8203
- readonly symbol: "BNB";
8204
- readonly name: "BNB";
8205
- readonly decimals: 18;
8206
- readonly address: "0x0000000000000000000000000000000000000000";
8207
- }, {
8208
- readonly symbol: "ETHB";
8209
- readonly name: "Ethereum BSC";
8210
- readonly decimals: 18;
8211
- readonly address: "0x2170Ed0880ac9A755fd29B2688956BD959F933F8";
8212
- }, {
8213
- readonly symbol: "BTCB";
8214
- readonly name: "Bitcoin BSC";
8215
- readonly decimals: 18;
8216
- readonly address: "0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c";
8217
- }, {
8218
- readonly symbol: "bnUSD";
8219
- readonly name: "bnUSD";
8220
- readonly decimals: 18;
8221
- readonly address: "0x8428FedC020737a5A2291F46cB1B80613eD71638";
8222
- }];
8223
- readonly solana: readonly [{
8224
- readonly symbol: "SOL";
8225
- readonly name: "Solana";
8226
- readonly decimals: 9;
8227
- readonly address: "11111111111111111111111111111111";
8228
- }, {
8229
- readonly symbol: "bnUSD";
8230
- readonly name: "bnUSD";
8231
- readonly decimals: 9;
8232
- readonly address: "3rSPCLNEF7Quw4wX8S1NyKivELoyij8eYA2gJwBgt4V5";
8233
- }, {
8234
- readonly symbol: "USDC";
8235
- readonly name: "USD Coin";
8236
- readonly decimals: 6;
8237
- readonly address: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
8238
- }];
8239
- readonly "0x1.icon": readonly [{
8240
- readonly symbol: "bnUSD";
8241
- readonly name: "bnUSD";
8242
- readonly decimals: 18;
8243
- readonly address: "cx88fd7df7ddff82f7cc735c871dc519838cb235bb";
8244
- }];
8245
- readonly stellar: readonly [{
8246
- readonly symbol: "XLM";
8247
- readonly name: "Stellar Lumens";
8248
- readonly decimals: 7;
8249
- readonly address: "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA";
8250
- }, {
8251
- readonly symbol: "bnUSD";
8252
- readonly name: "bnUSD";
8253
- readonly decimals: 7;
8254
- readonly address: "CD6YBFFWMU2UJHX2NGRJ7RN76IJVTCC7MRA46DUBXNB7E6W7H7JRJ2CX";
8255
- }];
8256
- readonly sui: readonly [{
8257
- readonly symbol: "SUI";
8258
- readonly name: "SUI";
8259
- readonly decimals: 9;
8260
- readonly address: "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI";
8261
- }, {
8262
- readonly symbol: "bnUSD";
8263
- readonly name: "bnUSD";
8264
- readonly decimals: 9;
8265
- readonly address: "0xff4de2b2b57dd7611d2812d231a467d007b702a101fd5c7ad3b278257cddb507::bnusd::BNUSD";
8266
- }, {
8267
- readonly symbol: "USDC";
8268
- readonly name: "USD Coin";
8269
- readonly decimals: 6;
8270
- readonly address: "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC";
8271
- }];
8272
- readonly "injective-1": readonly [{
8273
- readonly symbol: "INJ";
8274
- readonly name: "Injective";
8275
- readonly decimals: 18;
8276
- readonly address: "inj";
8277
- }, {
8278
- readonly symbol: "bnUSD";
8279
- readonly name: "bnUSD";
8280
- readonly decimals: 18;
8281
- readonly address: "factory/inj1d036ftaatxpkqsu9hja8r24rv3v33chz3appxp/bnUSD";
8282
- }, {
8283
- readonly symbol: "USDC";
8284
- readonly name: "USD Coin";
8285
- readonly decimals: 6;
8286
- readonly address: "ibc/2CBC2EA121AE42563B08028466F37B600F2D7D4282342DE938283CC3FB2BC00E";
8287
- }];
8288
- readonly nibiru: readonly [];
8289
- readonly sonic: readonly [{
8290
- readonly symbol: "S";
8291
- readonly name: "Sonic";
8292
- readonly decimals: 18;
8293
- readonly address: "0x0000000000000000000000000000000000000000";
8294
- }, {
8295
- readonly symbol: "WETH";
8296
- readonly name: "Wrapped Ether";
8297
- readonly decimals: 18;
8298
- readonly address: "0x50c42dEAcD8Fc9773493ED674b675bE577f2634b";
8299
- }, {
8300
- readonly symbol: "USDC";
8301
- readonly name: "USD Coin";
8302
- readonly decimals: 6;
8303
- readonly address: "0x29219dd400f2Bf60E5a23d13Be72B486D4038894";
8304
- }, {
8305
- readonly symbol: "USDT";
8306
- readonly name: "Tether USD";
8307
- readonly decimals: 6;
8308
- readonly address: "0x6047828dc181963ba44974801FF68e538dA5eaF9";
8309
- }, {
8310
- readonly symbol: "wS";
8311
- readonly name: "Wrapped Sonic";
8312
- readonly decimals: 18;
8313
- readonly address: "0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38";
8314
- }];
7608
+ type SolverExecutionRequest = {
7609
+ intent_tx_hash: Hex$1;
8315
7610
  };
8316
- declare const migrationConfig: {
8317
- readonly bnUSD: {
8318
- readonly "0x1.icon": {
8319
- readonly legacybnUSD: {
8320
- readonly symbol: "bnUSD";
8321
- readonly name: "bnUSD";
8322
- readonly decimals: 18;
8323
- readonly address: "cx88fd7df7ddff82f7cc735c871dc519838cb235bb";
8324
- };
8325
- readonly newbnUSD: "0xe801ca34e19abcbfea12025378d19c4fbe250131";
8326
- };
8327
- readonly sui: {
8328
- readonly legacybnUSD: {
8329
- readonly symbol: "bnUSD";
8330
- readonly name: "legacybnUSD";
8331
- readonly decimals: 9;
8332
- readonly address: "0x03917a812fe4a6d6bc779c5ab53f8a80ba741f8af04121193fc44e0f662e2ceb::balanced_dollar::BALANCED_DOLLAR";
8333
- };
8334
- readonly newbnUSD: "0xe801ca34e19abcbfea12025378d19c4fbe250131";
8335
- };
8336
- readonly stellar: {
8337
- readonly legacybnUSD: {
8338
- readonly symbol: "bnUSD";
8339
- readonly name: "legacybnUSD";
8340
- readonly decimals: 18;
8341
- readonly address: "CCT4ZYIYZ3TUO2AWQFEOFGBZ6HQP3GW5TA37CK7CRZVFRDXYTHTYX7KP";
8342
- };
8343
- readonly newbnUSD: "0xe801ca34e19abcbfea12025378d19c4fbe250131";
8344
- };
8345
- };
8346
- readonly ICX: {
8347
- readonly "0x1.icon": {
8348
- readonly icx: "cx0000000000000000000000000000000000000000";
8349
- readonly wICX: "cx3975b43d260fb8ec802cef6e60c2f4d07486f11d";
8350
- };
8351
- };
7611
+ type SolverExecutionResponse = {
7612
+ answer: 'OK';
7613
+ intent_hash: Hex$1;
8352
7614
  };
8353
- declare const isMoneyMarketSupportedToken: (chainId: SpokeChainId, token: string) => boolean;
8354
- declare const getSupportedMoneyMarketTokens: (chainId: SpokeChainId) => readonly Token[];
8355
- declare const hubVaultsAddressSet: Set<`0x${string}`>;
8356
- declare const moneyMarketReserveHubAssetsSet: Set<`0x${string}`>;
8357
- declare const isMoneyMarketReserveHubAsset: (hubAsset: Address) => boolean;
8358
- declare const moneyMarketReserveAssets: readonly [...("0x9D4b663Eb075d2a1C7B8eaEFB9eCCC0510388B51" | "0x62ecc3eeb80a162c57624b3ff80313fe69f5203e" | "0xc6c85287a8b173a509c2f198bb719a8a5a2d0c68" | "0x208ed38f4783328aa9ebfec360d32e7520a9b779" | "0xe801ca34e19abcbfea12025378d19c4fbe250131" | "0xabbb91c0617090f0028bdc27597cd0d038f3a833" | "0xbdf1f453fcb61424011bbddcb96cfdb30f3fe876" | "0x21685e341de7844135329914be6bd8d16982d834" | "0x14238d267557e9d799016ad635b53cd15935d290" | "0x40cd41b35db9e5109ae7e54b44de8625db320e6b" | "0x4effb5813271699683c25c734f4dabc45b363709" | "0x7a1a5555842ad2d0ed274d09b5c4406a95799d5d" | "0xdc5b4b00f98347e95b9f94911213dab4c687e1e3" | "0x1f22279c89b213944b7ea41dacb0a868ddcdfd13" | "0x6bc8c37cba91f76e68c9e6d689a9c21e4d32079b" | "0xdea692287e2ce8cb08fa52917be0f16b1dacdc87")[], `0x${string}`];
8359
- declare const isMoneyMarketReserveAsset: (asset: Address) => boolean;
8360
- declare const originalAssetTohubAssetMap: Map<SpokeChainId, Map<OriginalAssetAddress, HubAssetInfo>>;
8361
- declare const hubAssetToOriginalAssetMap: Map<SpokeChainId, Map<Address, OriginalAssetAddress>>;
8362
- declare const chainIdToHubAssetsMap: Map<SpokeChainId, Map<Address, HubAssetInfo>>;
8363
- declare const supportedHubAssets: Set<Address>;
8364
- declare const spokeChainIdsSet: Set<"0xa86a.avax" | "0xa4b1.arbitrum" | "0x2105.base" | "0x38.bsc" | "sonic" | "0xa.optimism" | "0x89.polygon" | "nibiru" | "injective-1" | "sui" | "solana" | "0x1.icon" | "stellar">;
8365
- declare const getHubAssetInfo: (chainId: SpokeChainId, asset: OriginalAssetAddress) => HubAssetInfo | undefined;
8366
- declare const isValidOriginalAssetAddress: (chainId: SpokeChainId, asset: OriginalAssetAddress) => boolean;
8367
- declare const getOriginalAssetAddress: (chainId: SpokeChainId, hubAsset: Address) => OriginalAssetAddress | undefined;
8368
- declare const isValidHubAsset: (hubAsset: Address) => boolean;
8369
- declare const isValidChainHubAsset: (chainId: SpokeChainId, hubAsset: Address) => boolean;
8370
- declare const isValidSpokeChainId: (chainId: SpokeChainId) => boolean;
8371
- declare const isValidIntentRelayChainId: (chainId: bigint) => boolean;
8372
- declare const supportedHubChains: HubChainId[];
8373
- declare const supportedSpokeChains: SpokeChainId[];
8374
- declare const intentRelayChainIdToSpokeChainIdMap: Map<IntentRelayChainId, SpokeChainId>;
8375
- declare const supportedTokensPerChain: Map<SpokeChainId, readonly Token[]>;
8376
- declare const getSpokeChainIdFromIntentRelayChainId: (intentRelayChainId: IntentRelayChainId) => SpokeChainId;
8377
- declare const isNativeToken: (chainId: SpokeChainId, token: Token | string) => boolean;
8378
-
8379
- type bnUSDLegacySpokeChainId = typeof ICON_MAINNET_CHAIN_ID | typeof SUI_MAINNET_CHAIN_ID | typeof STELLAR_MAINNET_CHAIN_ID;
8380
- type bnUSDLegacyMigrationProviders = IconSpokeProvider | SuiSpokeProvider | StellarSpokeProvider;
8381
- type bnUSDLegacyAddress = (typeof migrationConfig)['bnUSD'][typeof ICON_MAINNET_CHAIN_ID]['legacybnUSD']['address'] | (typeof migrationConfig)['bnUSD'][typeof SUI_MAINNET_CHAIN_ID]['legacybnUSD']['address'] | (typeof migrationConfig)['bnUSD'][typeof STELLAR_MAINNET_CHAIN_ID]['legacybnUSD']['address'];
8382
- type IntentRelayChainId = (typeof INTENT_RELAY_CHAIN_IDS)[keyof typeof INTENT_RELAY_CHAIN_IDS];
8383
- type EvmChainId = (typeof EVM_CHAIN_IDS)[number];
8384
- type EvmSpokeChainId = (typeof EVM_SPOKE_CHAIN_IDS)[number];
8385
- type BaseSpokeChainInfo<T extends ChainType> = {
8386
- name: string;
8387
- id: GetSpokeChainIdType<T>;
8388
- type: T;
7615
+ type SolverIntentStatusRequest = {
7616
+ intent_tx_hash: Hex$1;
8389
7617
  };
8390
- type SpokeChainInfo<T extends ChainType> = BaseSpokeChainInfo<T>;
8391
- type HubChainInfo<T extends ChainType> = {
8392
- name: string;
8393
- id: HubChainId;
8394
- type: T;
7618
+ type SolverIntentStatusResponse = {
7619
+ status: SolverIntentStatusCode;
7620
+ fill_tx_hash?: string;
8395
7621
  };
8396
- type GetSpokeChainIdType<T extends ChainType> = T extends 'EVM' ? EvmSpokeChainId : SpokeChainId;
8397
- type AssetInfo = {
8398
- chainId: bigint;
8399
- spokeAddress: `0x${string}`;
7622
+ declare enum SolverIntentStatusCode {
7623
+ NOT_FOUND = -1,
7624
+ NOT_STARTED_YET = 1,// It's in the task pool, but not started yet
7625
+ STARTED_NOT_FINISHED = 2,
7626
+ SOLVED = 3,
7627
+ FAILED = 4
7628
+ }
7629
+ declare enum SolverIntentErrorCode {
7630
+ NO_PATH_FOUND = -4,// No path to swap Token X to Token Y
7631
+ NO_PRIVATE_LIQUIDITY = -5,// Path found, but we have no private liquidity on the dest chain
7632
+ NOT_ENOUGH_PRIVATE_LIQUIDITY = -8,// Path found, but not enough private liquidity on the dst chain
7633
+ NO_EXECUTION_MODULE_FOUND = -7,// Path found, private liquidity, but execution modules unavailable
7634
+ QUOTE_NOT_FOUND = -8,// When executing, given quote_uuid does not exist
7635
+ QUOTE_NOT_MATCH = -9,// When executing, given quote_uuid does not match the quote
7636
+ INTENT_DATA_NOT_MATCH_QUOTE = -10,
7637
+ NO_GAS_HANDLER_FOR_BLOCKCHAIN = -11,
7638
+ INTENT_NOT_FOUND = -12,
7639
+ QUOTE_EXPIRED = -13,
7640
+ MAX_INPUT_AMOUNT = -14,
7641
+ MAX_DIFF_OUTPUT = -15,
7642
+ STOPPED = -16,
7643
+ NO_ORACLE_MODULE_FOUND = -17,
7644
+ NEGATIVE_INPUT_AMOUNT = -18,
7645
+ INTENT_ALREADY_IN_ORDERBOOK = -19,
7646
+ CREATE_INTENT_ORDER_FAILED = -998,
7647
+ UNKNOWN = -999
7648
+ }
7649
+ type Base64String = string;
7650
+ type SolanaRawTransaction = {
7651
+ from: SolanaBase58PublicKey;
7652
+ to: SolanaBase58PublicKey;
7653
+ value: bigint;
7654
+ data: Base64String;
8400
7655
  };
8401
- type HubAssetInfo = {
8402
- asset: Address$1;
8403
- decimal: number;
8404
- vault: Address$1;
7656
+ type IconRawTransaction = {
7657
+ [key: string]: string | object;
8405
7658
  };
8406
- type BaseSpokeChainConfig<T extends ChainType> = {
8407
- chain: SpokeChainInfo<T>;
8408
- addresses: {
8409
- [key: string]: Address$1 | string | Uint8Array;
8410
- };
8411
- supportedTokens: Record<string, Token>;
8412
- nativeToken: Address$1 | string;
8413
- bnUSD: Address$1 | string;
7659
+ type IcxRawTransaction = {
7660
+ to: string;
7661
+ from: string;
7662
+ value: Hex$1;
7663
+ stepLimit: Hex$1;
7664
+ nid: Hex$1;
7665
+ nonce: Hex$1;
7666
+ version: Hex$1;
7667
+ timestamp: Hex$1;
7668
+ data: Hex$1;
8414
7669
  };
8415
- type BaseHubChainConfig<T extends ChainType> = {
8416
- chain: HubChainInfo<T>;
8417
- addresses: {
8418
- [key: string]: Address$1 | string | Uint8Array;
8419
- };
8420
- supportedTokens: Token[];
8421
- nativeToken: Address$1 | string;
7670
+ type SuiRawTransaction = {
7671
+ from: Hex$1;
7672
+ to: string;
7673
+ value: bigint;
7674
+ data: Base64String;
8422
7675
  };
8423
- type EvmHubChainConfig = BaseHubChainConfig<'EVM'> & {
8424
- addresses: {
8425
- assetManager: Address$1;
8426
- hubWallet: Address$1;
8427
- xTokenManager: Address$1;
8428
- icxMigration: Address$1;
8429
- balnSwap: Address$1;
8430
- sodaToken: Address$1;
8431
- };
8432
- nativeToken: Address$1;
7676
+ type EvmReturnType<Raw extends boolean> = Raw extends true ? EvmRawTransaction : Hex$1;
7677
+ type SolanaReturnType<Raw extends boolean> = Raw extends true ? SolanaRawTransaction : Hex$1;
7678
+ type StellarReturnType<Raw extends boolean> = Raw extends true ? StellarRawTransaction : string;
7679
+ type IconReturnType<Raw extends boolean> = Raw extends true ? IconRawTransaction : Hex$1;
7680
+ type SuiReturnType<Raw extends boolean> = Raw extends true ? SuiRawTransaction : Hex$1;
7681
+ type InjectiveReturnType<Raw extends boolean> = Raw extends true ? InjectiveRawTransaction : Hex$1;
7682
+ type HashTxReturnType = EvmReturnType<false> | SolanaReturnType<false> | IconReturnType<false> | SuiReturnType<false> | InjectiveReturnType<false> | StellarReturnType<false>;
7683
+ type RawTxReturnType = EvmRawTransaction | SolanaRawTransaction | InjectiveRawTransaction | IconRawTransaction | SuiRawTransaction | StellarRawTransaction;
7684
+ type TxReturnType<T extends SpokeProvider, Raw extends boolean> = T['chainConfig']['chain']['type'] extends 'EVM' ? EvmReturnType<Raw> : T['chainConfig']['chain']['type'] extends 'SOLANA' ? SolanaReturnType<Raw> : T['chainConfig']['chain']['type'] extends 'STELLAR' ? StellarReturnType<Raw> : T['chainConfig']['chain']['type'] extends 'ICON' ? IconReturnType<Raw> : T['chainConfig']['chain']['type'] extends 'SUI' ? SuiReturnType<Raw> : T['chainConfig']['chain']['type'] extends 'INJECTIVE' ? InjectiveReturnType<Raw> : Raw extends true ? RawTxReturnType : HashTxReturnType;
7685
+ type PromiseEvmTxReturnType<Raw extends boolean> = Promise<TxReturnType<EvmSpokeProvider, Raw>>;
7686
+ type PromiseSolanaTxReturnType<Raw extends boolean> = Promise<TxReturnType<SolanaSpokeProvider, Raw>>;
7687
+ type PromiseStellarTxReturnType<Raw extends boolean> = Promise<TxReturnType<StellarSpokeProvider, Raw>>;
7688
+ type PromiseIconTxReturnType<Raw extends boolean> = Promise<TxReturnType<IconSpokeProvider, Raw>>;
7689
+ type PromiseSuiTxReturnType<Raw extends boolean> = Promise<TxReturnType<SuiSpokeProvider, Raw>>;
7690
+ type PromiseInjectiveTxReturnType<Raw extends boolean> = Promise<TxReturnType<InjectiveSpokeProvider, Raw>>;
7691
+ type PromiseTxReturnType<T extends ISpokeProvider, Raw extends boolean> = T['chainConfig']['chain']['type'] extends 'EVM' ? PromiseEvmTxReturnType<Raw> : T['chainConfig']['chain']['type'] extends 'SOLANA' ? PromiseSolanaTxReturnType<Raw> : T['chainConfig']['chain']['type'] extends 'STELLAR' ? PromiseStellarTxReturnType<Raw> : T['chainConfig']['chain']['type'] extends 'ICON' ? PromiseIconTxReturnType<Raw> : T['chainConfig']['chain']['type'] extends 'SUI' ? PromiseSuiTxReturnType<Raw> : T['chainConfig']['chain']['type'] extends 'INJECTIVE' ? PromiseInjectiveTxReturnType<Raw> : never;
7692
+ type VaultType = {
7693
+ address: Address$1;
7694
+ reserves: Address$1[];
8433
7695
  };
8434
- type RelayerApiConfig = {
8435
- relayerApiEndpoint: HttpUrl;
7696
+ type Prettify<T> = {
7697
+ [K in keyof T]: T[K];
7698
+ } & {};
7699
+ type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
7700
+ type ExtractKeys<T> = T extends unknown ? keyof T : never;
7701
+ type SpokeTokenSymbols = ExtractKeys<(typeof spokeChainConfig)[SpokeChainId]['supportedTokens']>;
7702
+ type SpokeTxHash = string;
7703
+ type HubTxHash = string;
7704
+ type SolanaGasEstimate = number | undefined;
7705
+ type EvmGasEstimate = bigint;
7706
+ type StellarGasEstimate = bigint;
7707
+ type IconGasEstimate = bigint;
7708
+ type SuiGasEstimate = {
7709
+ computationCost: string;
7710
+ nonRefundableStorageFee: string;
7711
+ storageCost: string;
7712
+ storageRebate: string;
8436
7713
  };
8437
- type MoneyMarketConfig = {
8438
- uiPoolDataProvider: Address$1;
8439
- lendingPool: Address$1;
8440
- poolAddressesProvider: Address$1;
8441
- bnUSD: Address$1;
8442
- bnUSDVault: Address$1;
7714
+ type InjectiveGasEstimate = {
7715
+ gasWanted: number;
7716
+ gasUsed: number;
8443
7717
  };
8444
- type MoneyMarketServiceConfig = Prettify<MoneyMarketConfig & PartnerFeeConfig & RelayerApiConfig>;
8445
- type SolverServiceConfig = Prettify<SolverConfig & PartnerFeeConfig & RelayerApiConfig>;
8446
- type MigrationServiceConfig = Prettify<RelayerApiConfig>;
8447
- type MoneyMarketConfigParams = Prettify<MoneyMarketConfig & Optional<PartnerFeeConfig, 'partnerFee'>> | Optional<PartnerFeeConfig, 'partnerFee'>;
8448
- type Default = {
8449
- default: boolean;
7718
+ type GasEstimateType = EvmGasEstimate | SolanaGasEstimate | StellarGasEstimate | IconGasEstimate | SuiGasEstimate | InjectiveGasEstimate;
7719
+ type GetEstimateGasReturnType<T extends SpokeProvider> = T['chainConfig']['chain']['type'] extends 'EVM' ? EvmGasEstimate : T['chainConfig']['chain']['type'] extends 'SOLANA' ? SolanaGasEstimate : T['chainConfig']['chain']['type'] extends 'STELLAR' ? StellarGasEstimate : T['chainConfig']['chain']['type'] extends 'ICON' ? IconGasEstimate : T['chainConfig']['chain']['type'] extends 'SUI' ? SuiGasEstimate : T['chainConfig']['chain']['type'] extends 'INJECTIVE' ? InjectiveGasEstimate : GasEstimateType;
7720
+
7721
+ declare function getIconAddressBytes(address: string): Hex;
7722
+
7723
+ type CustomProvider = {
7724
+ request(...args: unknown[]): Promise<unknown>;
8450
7725
  };
8451
- type EvmSpokeChainConfig = BaseSpokeChainConfig<'EVM'> & {
8452
- addresses: {
8453
- assetManager: Address$1;
8454
- connection: Address$1;
8455
- };
8456
- nativeToken: Address$1 | string;
7726
+ interface ISpokeProvider {
7727
+ readonly walletProvider: IWalletProvider;
7728
+ readonly chainConfig: SpokeChainConfig;
7729
+ }
7730
+ type EvmUninitializedBrowserConfig = {
7731
+ userAddress: Address;
7732
+ chain: EvmChainId;
7733
+ provider: CustomProvider;
8457
7734
  };
8458
- type SonicSpokeChainConfig = BaseSpokeChainConfig<'EVM'> & {
8459
- addresses: {
8460
- walletRouter: Address$1;
8461
- wrappedSonic: Address$1;
7735
+ type EvmUninitializedPrivateKeyConfig = {
7736
+ chain: EvmChainId;
7737
+ privateKey: Hex | undefined;
7738
+ provider: string;
7739
+ };
7740
+ type EvmUninitializedConfig = EvmUninitializedBrowserConfig | EvmUninitializedPrivateKeyConfig;
7741
+ type EvmInitializedConfig = {
7742
+ walletClient: WalletClient<CustomTransport | HttpTransport, Chain, Account>;
7743
+ publicClient: PublicClient<CustomTransport | HttpTransport>;
7744
+ };
7745
+ type EvmHubProviderConfig = {
7746
+ hubRpcUrl: string;
7747
+ chainConfig: EvmHubChainConfig;
7748
+ };
7749
+ declare class EvmHubProvider {
7750
+ readonly publicClient: PublicClient<HttpTransport>;
7751
+ readonly chainConfig: EvmHubChainConfig;
7752
+ constructor(config?: EvmHubProviderConfig);
7753
+ }
7754
+ declare class SonicSpokeProvider implements ISpokeProvider {
7755
+ readonly walletProvider: IEvmWalletProvider;
7756
+ readonly chainConfig: SonicSpokeChainConfig;
7757
+ readonly publicClient: PublicClient<HttpTransport>;
7758
+ constructor(walletProvider: IEvmWalletProvider, chainConfig: SonicSpokeChainConfig, rpcUrl?: string);
7759
+ }
7760
+ declare class EvmSpokeProvider implements ISpokeProvider {
7761
+ readonly walletProvider: IEvmWalletProvider;
7762
+ readonly chainConfig: EvmSpokeChainConfig;
7763
+ readonly publicClient: PublicClient<HttpTransport>;
7764
+ constructor(walletProvider: IEvmWalletProvider, chainConfig: EvmSpokeChainConfig, rpcUrl?: string);
7765
+ }
7766
+
7767
+ type IWalletProvider = IEvmWalletProvider | IInjectiveWalletProvider | IStellarWalletProvider | ISuiWalletProvider | IIconWalletProvider | IInjectiveWalletProvider | ISolanaWalletProvider;
7768
+ type SpokeProvider = (EvmSpokeProvider | InjectiveSpokeProvider | IconSpokeProvider | SuiSpokeProvider | StellarSpokeProvider | SolanaSpokeProvider | SonicSpokeProvider) & ISpokeProvider;
7769
+
7770
+ declare function getSolanaAddressBytes(address: PublicKey): Hex;
7771
+
7772
+ type IconJsonRpcVersion = '2.0';
7773
+ type HanaWalletRequestEvent = 'REQUEST_HAS_ACCOUNT' | 'REQUEST_HAS_ADDRESS' | 'REQUEST_ADDRESS' | 'REQUEST_JSON' | 'REQUEST_SIGNING' | 'REQUEST_JSON-RPC';
7774
+ type HanaWalletResponseEvent = 'RESPONSE_HAS_ACCOUNT' | 'RESPONSE_HAS_ADDRESS' | 'RESPONSE_ADDRESS' | 'RESPONSE_JSON-RPC' | 'RESPONSE_SIGNING' | 'CANCEL_SIGNING' | 'CANCEL_JSON-RPC';
7775
+ type ResponseAddressType = {
7776
+ type: 'RESPONSE_ADDRESS';
7777
+ payload: IconAddress;
7778
+ };
7779
+ type ResponseSigningType = {
7780
+ type: 'RESPONSE_SIGNING';
7781
+ payload: string;
7782
+ };
7783
+ type RelayRequestDetail = {
7784
+ type: HanaWalletRequestEvent;
7785
+ payload?: {
7786
+ jsonrpc: IconJsonRpcVersion;
7787
+ method: string;
7788
+ params: unknown;
7789
+ id: number | undefined;
8462
7790
  };
8463
- nativeToken: Address$1;
8464
7791
  };
8465
- type SuiSpokeChainConfig = BaseSpokeChainConfig<'SUI'> & {
8466
- addresses: {
8467
- assetManager: string;
8468
- connection: string;
8469
- xTokenManager: string;
8470
- rateLimit: string;
8471
- testToken: string;
7792
+ type RelayRequestSigning = {
7793
+ type: 'REQUEST_SIGNING';
7794
+ payload: {
7795
+ from: IconAddress;
7796
+ hash: string;
8472
7797
  };
8473
- rpc_url: string;
8474
7798
  };
8475
- type InjectiveSpokeChainConfig = BaseSpokeChainConfig<'INJECTIVE'> & {
8476
- rpcUrl: string;
8477
- walletAddress: string;
8478
- addresses: {
8479
- assetManager: string;
8480
- connection: string;
8481
- xTokenManager: string;
8482
- rateLimit: string;
8483
- testToken: string;
8484
- };
8485
- nativeToken: string;
8486
- prefix: string;
8487
- gasPrice: string;
8488
- isBrowser: boolean;
8489
- networkId: string;
8490
- network: InjectiveNetworkEnv;
8491
- };
8492
- type StellarSpokeChainConfig = BaseSpokeChainConfig<'STELLAR'> & {
8493
- addresses: {
8494
- assetManager: string;
8495
- connection: string;
8496
- xTokenManager: string;
8497
- rateLimit: string;
8498
- testToken: string;
8499
- };
8500
- horizonRpcUrl: HttpUrl;
8501
- sorobanRpcUrl: HttpUrl;
8502
- };
8503
- type IconSpokeChainConfig = BaseSpokeChainConfig<'ICON'> & {
8504
- addresses: {
8505
- assetManager: IconAddress;
8506
- connection: IconAddress;
8507
- rateLimit: IconAddress;
8508
- wICX: `cx${string}`;
8509
- };
8510
- nid: Hex$1;
8511
- };
8512
- type SolanaChainConfig = BaseSpokeChainConfig<'SOLANA'> & {
8513
- addresses: {
8514
- assetManager: string;
8515
- connection: string;
8516
- xTokenManager: string;
8517
- rateLimit: string;
8518
- testToken: string;
8519
- };
8520
- chain: SpokeChainInfo<'SOLANA'>;
8521
- rpcUrl: string;
8522
- walletAddress: string;
8523
- nativeToken: string;
8524
- gasPrice: string;
8525
- };
8526
- type HubChainConfig = EvmHubChainConfig;
8527
- type SpokeChainConfig = EvmSpokeChainConfig | SonicSpokeChainConfig | InjectiveSpokeChainConfig | IconSpokeChainConfig | SuiSpokeChainConfig | StellarSpokeChainConfig | SolanaChainConfig;
8528
- type EvmContractCall = {
8529
- address: Address$1;
8530
- value: bigint;
8531
- data: Hex$1;
8532
- };
8533
- type EvmTransferToHubParams = {
8534
- token: Address$1;
8535
- recipient: Address$1;
8536
- amount: bigint;
8537
- data: Hex$1;
8538
- };
8539
- type EvmTransferParams = {
8540
- fromToken: Address$1;
8541
- dstChainId: SpokeChainId;
8542
- toToken: Hex$1;
8543
- to: Hex$1;
8544
- amount: bigint;
8545
- data: Hex$1;
8546
- };
8547
- type TokenInfo = {
8548
- decimals: number;
8549
- depositFee: bigint;
8550
- withdrawalFee: bigint;
8551
- maxDeposit: bigint;
8552
- isSupported: boolean;
7799
+ type JsonRpcPayloadResponse = {
7800
+ id: number;
7801
+ result: string;
8553
7802
  };
8554
- type VaultReserves = {
8555
- tokens: readonly Address$1[];
8556
- balances: readonly bigint[];
7803
+ declare function requestAddress(): Promise<Result<IconAddress>>;
7804
+ declare function requestSigning(from: IconAddress, hash: string): Promise<Result<string>>;
7805
+ declare function requestJsonRpc(rawTransaction: unknown, id?: number): Promise<Result<JsonRpcPayloadResponse>>;
7806
+
7807
+ type SodaxConfig = {
7808
+ solver?: SolverConfigParams;
7809
+ moneyMarket?: MoneyMarketConfigParams;
7810
+ migration?: MigrationServiceConfig;
7811
+ hubProviderConfig?: EvmHubProviderConfig;
7812
+ relayerApiEndpoint?: HttpUrl;
8557
7813
  };
8558
7814
  /**
8559
- * Fee type for transaction fees.
8560
- * @property address - The address to which the fee is sent.
8561
- * @property amount - Optional fixed fee amount in wei.
7815
+ * Sodax class is used to interact with the Sodax.
7816
+ *
7817
+ * @see https://docs.sodax.com
8562
7818
  */
8563
- type PartnerFeeAmount = {
8564
- address: Address$1;
8565
- amount: bigint;
8566
- };
7819
+ declare class Sodax {
7820
+ readonly config?: SodaxConfig;
7821
+ readonly solver: SolverService;
7822
+ readonly moneyMarket: MoneyMarketService;
7823
+ readonly migration: MigrationService;
7824
+ private readonly hubProvider;
7825
+ private readonly relayerApiEndpoint;
7826
+ constructor(config?: SodaxConfig);
7827
+ }
7828
+
8567
7829
  /**
8568
- * Fee type for transaction fees.
8569
- * @property address - The address to which the fee is sent.
8570
- * @property percentage - Optional fee percentage in basis points (e.g., 100 = 1%). Maximum allowed is 100 (1%).
7830
+ * ABI-encode an array of ContractCall objects.
7831
+ * @param calls An array of ContractCall objects.
7832
+ * @returns ABI-encoded bytes representing the array of ContractCall objects.
8571
7833
  */
8572
- type PartnerFeePercentage = {
8573
- address: Address$1;
8574
- percentage: number;
8575
- };
7834
+ declare function encodeContractCalls(calls: EvmContractCall[]): Hex$1;
7835
+ declare function waitForTransactionReceipt(hash: Hex$1, provider: IEvmWalletProvider): Promise<EvmRawTransactionReceipt>;
7836
+
7837
+ declare function retry<T>(action: (retryCount: number) => Promise<T>, retryCount?: number, delayMs?: number): Promise<T>;
7838
+ declare function getRandomBytes(length: number): Uint8Array;
7839
+ declare function randomUint256(): bigint;
8576
7840
  /**
8577
- * Fee type for transaction fees.
8578
- * @property address - The address to which the fee is sent.
8579
- * @property percentage - Optional fee percentage in basis points (e.g., 100 = 1%). Maximum allowed is 100 (1%).
8580
- * @property amount - Optional fixed fee amount in wei. If both percentage and amount are provided, amount will be used.
7841
+ * Calculate the fee amount as a percentage of the input amount
7842
+ * @param {bigint} amount - The amount to calculate the fee for
7843
+ * @param {number} percentage - The percentage of the fee in basis points (e.g. 100 = 1%, 10000 = 100%)
7844
+ * @returns {bigint} The fee amount
8581
7845
  */
8582
- type PartnerFee = PartnerFeeAmount | PartnerFeePercentage;
8583
- type PartnerFeeConfig = {
8584
- partnerFee: PartnerFee | undefined;
8585
- };
8586
- type FeeAmount = {
8587
- feeAmount: bigint;
8588
- };
8589
- type EvmTxReturnType<T extends boolean> = T extends true ? TransactionReceipt : Hex$1;
8590
- type IconAddress = `hx${string}` | `cx${string}`;
8591
- type IconContractAddress = `cx${string}`;
8592
- type IcxTokenType = (typeof spokeChainConfig)[typeof ICON_MAINNET_CHAIN_ID]['addresses']['wICX'] | (typeof spokeChainConfig)[typeof ICON_MAINNET_CHAIN_ID]['nativeToken'];
8593
- type Result<T, E = Error | unknown> = {
8594
- ok: true;
8595
- value: T;
8596
- } | {
8597
- ok: false;
8598
- error: E;
8599
- };
8600
- type HttpPrefixedUrl = `http${string}`;
8601
- type SpokeDepositParams = EvmSpokeDepositParams | InjectiveSpokeDepositParams | IconSpokeDepositParams;
8602
- type GetSpokeDepositParamsType<T extends SpokeProvider> = T extends EvmSpokeProvider ? EvmSpokeDepositParams : T extends InjectiveSpokeProvider ? InjectiveSpokeDepositParams : T extends SuiSpokeProvider ? SuiSpokeDepositParams : T extends IconSpokeProvider ? IconSpokeDepositParams : T extends StellarSpokeProvider ? StellarSpokeDepositParams : T extends SolanaSpokeProvider ? SolanaSpokeDepositParams : T extends SonicSpokeProvider ? SonicSpokeDepositParams : never;
8603
- type GetAddressType<T extends SpokeProvider> = T extends EvmSpokeProvider ? Address$1 : T extends InjectiveSpokeProvider ? string : T extends StellarSpokeProvider ? Hex$1 : T extends IconSpokeProvider ? IconAddress : T extends SuiSpokeProvider ? Hex$1 : T extends SolanaSpokeProvider ? Hex$1 : T extends SonicSpokeProvider ? Address$1 : never;
8604
- type HttpUrl = `http://${string}` | `https://${string}`;
8605
- type SolverConfig = {
8606
- intentsContract: Address$1;
8607
- solverApiEndpoint: HttpUrl;
8608
- };
8609
- type SolverConfigParams = Prettify<SolverConfig & Optional<PartnerFeeConfig, 'partnerFee'>> | Optional<PartnerFeeConfig, 'partnerFee'>;
8610
- type QuoteType = 'exact_input' | 'exact_output';
8611
- type SolverIntentQuoteRequest = {
8612
- token_src: string;
8613
- token_src_blockchain_id: SpokeChainId;
8614
- token_dst: string;
8615
- token_dst_blockchain_id: SpokeChainId;
8616
- amount: bigint;
8617
- quote_type: QuoteType;
8618
- };
8619
- type SolverIntentQuoteResponseRaw = {
8620
- quoted_amount: string;
8621
- };
8622
- type SolverIntentQuoteResponse = {
8623
- quoted_amount: bigint;
8624
- };
8625
- type SolverErrorResponse = {
8626
- detail: {
8627
- code: SolverIntentErrorCode;
8628
- message: string;
8629
- };
8630
- };
8631
- type SolverExecutionRequest = {
8632
- intent_tx_hash: Hex$1;
8633
- };
8634
- type SolverExecutionResponse = {
8635
- answer: 'OK';
8636
- intent_hash: Hex$1;
8637
- };
8638
- type SolverIntentStatusRequest = {
8639
- intent_tx_hash: Hex$1;
8640
- };
8641
- type SolverIntentStatusResponse = {
8642
- status: SolverIntentStatusCode;
8643
- fill_tx_hash?: string;
7846
+ declare function calculatePercentageFeeAmount(amount: bigint, percentage: number): bigint;
7847
+ /**
7848
+ * Calculate the fee amount for a given input amount and fee
7849
+ * @param {bigint} inputAmount - The amount of input tokens
7850
+ * @param {PartnerFee} fee - The fee to calculate
7851
+ * @returns {bigint} The fee amount
7852
+ */
7853
+ declare function calculateFeeAmount(inputAmount: bigint, fee: PartnerFee | undefined): bigint;
7854
+ declare function BigIntToHex(value: bigint): Hex$1;
7855
+ declare function encodeAddress(spokeChainId: SpokeChainId, address: string): Hex$1;
7856
+ /**
7857
+ * Convert a valid hexadecimal string (with or without "0x") to BigInt.
7858
+ * Throws on invalid hex.
7859
+ */
7860
+ declare function hexToBigInt(hex: string): bigint;
7861
+
7862
+ declare const DEFAULT_MAX_RETRY = 3;
7863
+ declare const DEFAULT_RELAY_TX_TIMEOUT = 60000;
7864
+ declare const DEFAULT_RETRY_DELAY_MS = 2000;
7865
+ declare const ICON_TX_RESULT_WAIT_MAX_RETRY = 10;
7866
+ declare const MAX_UINT256: bigint;
7867
+ declare const FEE_PERCENTAGE_SCALE = 10000n;
7868
+ declare const STELLAR_PRIORITY_FEE = "10000";
7869
+ declare const STELLAR_DEFAULT_TX_TIMEOUT_SECONDS = 100;
7870
+ declare const VAULT_TOKEN_DECIMALS = 18;
7871
+ declare const INTENT_RELAY_CHAIN_IDS: {
7872
+ readonly AVAX: 6n;
7873
+ readonly SUI: 21n;
7874
+ readonly SONIC: 146n;
7875
+ readonly STELLAR: 27n;
7876
+ readonly INJ: 19n;
7877
+ readonly SOL: 1n;
7878
+ readonly ICON: 1768124270n;
7879
+ readonly BASE: 30n;
7880
+ readonly BINANCE: 4n;
7881
+ readonly OPTIMISM: 24n;
7882
+ readonly POLYGON: 5n;
7883
+ readonly ARBITRUM: 23n;
7884
+ readonly NIBIRU: 7235938n;
8644
7885
  };
8645
- declare enum SolverIntentStatusCode {
8646
- NOT_FOUND = -1,
8647
- NOT_STARTED_YET = 1,// It's in the task pool, but not started yet
8648
- STARTED_NOT_FINISHED = 2,
8649
- SOLVED = 3,
8650
- FAILED = 4
8651
- }
8652
- declare enum SolverIntentErrorCode {
8653
- NO_PATH_FOUND = -4,// No path to swap Token X to Token Y
8654
- NO_PRIVATE_LIQUIDITY = -5,// Path found, but we have no private liquidity on the dest chain
8655
- NOT_ENOUGH_PRIVATE_LIQUIDITY = -8,// Path found, but not enough private liquidity on the dst chain
8656
- NO_EXECUTION_MODULE_FOUND = -7,// Path found, private liquidity, but execution modules unavailable
8657
- QUOTE_NOT_FOUND = -8,// When executing, given quote_uuid does not exist
8658
- QUOTE_NOT_MATCH = -9,// When executing, given quote_uuid does not match the quote
8659
- INTENT_DATA_NOT_MATCH_QUOTE = -10,
8660
- NO_GAS_HANDLER_FOR_BLOCKCHAIN = -11,
8661
- INTENT_NOT_FOUND = -12,
8662
- QUOTE_EXPIRED = -13,
8663
- MAX_INPUT_AMOUNT = -14,
8664
- MAX_DIFF_OUTPUT = -15,
8665
- STOPPED = -16,
8666
- NO_ORACLE_MODULE_FOUND = -17,
8667
- NEGATIVE_INPUT_AMOUNT = -18,
8668
- INTENT_ALREADY_IN_ORDERBOOK = -19,
8669
- CREATE_INTENT_ORDER_FAILED = -998,
8670
- UNKNOWN = -999
8671
- }
8672
- type Base64String = string;
8673
- type SolanaRawTransaction = {
8674
- from: SolanaBase58PublicKey;
8675
- to: SolanaBase58PublicKey;
8676
- value: bigint;
8677
- data: Base64String;
8678
- };
8679
- type IconRawTransaction = {
8680
- [key: string]: string | object;
8681
- };
8682
- type IcxRawTransaction = {
8683
- to: string;
8684
- from: string;
8685
- value: Hex$1;
8686
- stepLimit: Hex$1;
8687
- nid: Hex$1;
8688
- nonce: Hex$1;
8689
- version: Hex$1;
8690
- timestamp: Hex$1;
8691
- data: Hex$1;
8692
- };
8693
- type SuiRawTransaction = {
8694
- from: Hex$1;
8695
- to: string;
8696
- value: bigint;
8697
- data: Base64String;
8698
- };
8699
- type EvmReturnType<Raw extends boolean> = Raw extends true ? EvmRawTransaction : Hex$1;
8700
- type SolanaReturnType<Raw extends boolean> = Raw extends true ? SolanaRawTransaction : Hex$1;
8701
- type StellarReturnType<Raw extends boolean> = Raw extends true ? StellarRawTransaction : string;
8702
- type IconReturnType<Raw extends boolean> = Raw extends true ? IconRawTransaction : Hex$1;
8703
- type SuiReturnType<Raw extends boolean> = Raw extends true ? SuiRawTransaction : Hex$1;
8704
- type InjectiveReturnType<Raw extends boolean> = Raw extends true ? InjectiveRawTransaction : Hex$1;
8705
- type HashTxReturnType = EvmReturnType<false> | SolanaReturnType<false> | IconReturnType<false> | SuiReturnType<false> | InjectiveReturnType<false> | StellarReturnType<false>;
8706
- type RawTxReturnType = EvmRawTransaction | SolanaRawTransaction | InjectiveRawTransaction | IconRawTransaction | SuiRawTransaction | StellarRawTransaction;
8707
- type TxReturnType<T extends SpokeProvider, Raw extends boolean> = T['chainConfig']['chain']['type'] extends 'EVM' ? EvmReturnType<Raw> : T['chainConfig']['chain']['type'] extends 'SOLANA' ? SolanaReturnType<Raw> : T['chainConfig']['chain']['type'] extends 'STELLAR' ? StellarReturnType<Raw> : T['chainConfig']['chain']['type'] extends 'ICON' ? IconReturnType<Raw> : T['chainConfig']['chain']['type'] extends 'SUI' ? SuiReturnType<Raw> : T['chainConfig']['chain']['type'] extends 'INJECTIVE' ? InjectiveReturnType<Raw> : Raw extends true ? RawTxReturnType : HashTxReturnType;
8708
- type PromiseEvmTxReturnType<Raw extends boolean> = Promise<TxReturnType<EvmSpokeProvider, Raw>>;
8709
- type PromiseSolanaTxReturnType<Raw extends boolean> = Promise<TxReturnType<SolanaSpokeProvider, Raw>>;
8710
- type PromiseStellarTxReturnType<Raw extends boolean> = Promise<TxReturnType<StellarSpokeProvider, Raw>>;
8711
- type PromiseIconTxReturnType<Raw extends boolean> = Promise<TxReturnType<IconSpokeProvider, Raw>>;
8712
- type PromiseSuiTxReturnType<Raw extends boolean> = Promise<TxReturnType<SuiSpokeProvider, Raw>>;
8713
- type PromiseInjectiveTxReturnType<Raw extends boolean> = Promise<TxReturnType<InjectiveSpokeProvider, Raw>>;
8714
- type PromiseTxReturnType<T extends ISpokeProvider, Raw extends boolean> = T['chainConfig']['chain']['type'] extends 'EVM' ? PromiseEvmTxReturnType<Raw> : T['chainConfig']['chain']['type'] extends 'SOLANA' ? PromiseSolanaTxReturnType<Raw> : T['chainConfig']['chain']['type'] extends 'STELLAR' ? PromiseStellarTxReturnType<Raw> : T['chainConfig']['chain']['type'] extends 'ICON' ? PromiseIconTxReturnType<Raw> : T['chainConfig']['chain']['type'] extends 'SUI' ? PromiseSuiTxReturnType<Raw> : T['chainConfig']['chain']['type'] extends 'INJECTIVE' ? PromiseInjectiveTxReturnType<Raw> : never;
8715
- type VaultType = {
8716
- address: Address$1;
8717
- reserves: Address$1[];
8718
- };
8719
- type Prettify<T> = {
8720
- [K in keyof T]: T[K];
8721
- } & {};
8722
- type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
8723
- type ExtractKeys<T> = T extends unknown ? keyof T : never;
8724
- type SpokeTokenSymbols = ExtractKeys<(typeof spokeChainConfig)[SpokeChainId]['supportedTokens']>;
8725
- type SpokeTxHash = string;
8726
- type HubTxHash = string;
8727
- type SolanaGasEstimate = number | undefined;
8728
- type EvmGasEstimate = bigint;
8729
- type StellarGasEstimate = bigint;
8730
- type IconGasEstimate = bigint;
8731
- type SuiGasEstimate = {
8732
- computationCost: string;
8733
- nonRefundableStorageFee: string;
8734
- storageCost: string;
8735
- storageRebate: string;
8736
- };
8737
- type InjectiveGasEstimate = {
8738
- gasWanted: number;
8739
- gasUsed: number;
8740
- };
8741
- type GasEstimateType = EvmGasEstimate | SolanaGasEstimate | StellarGasEstimate | IconGasEstimate | SuiGasEstimate | InjectiveGasEstimate;
8742
- type GetEstimateGasReturnType<T extends SpokeProvider> = T['chainConfig']['chain']['type'] extends 'EVM' ? EvmGasEstimate : T['chainConfig']['chain']['type'] extends 'SOLANA' ? SolanaGasEstimate : T['chainConfig']['chain']['type'] extends 'STELLAR' ? StellarGasEstimate : T['chainConfig']['chain']['type'] extends 'ICON' ? IconGasEstimate : T['chainConfig']['chain']['type'] extends 'SUI' ? SuiGasEstimate : T['chainConfig']['chain']['type'] extends 'INJECTIVE' ? InjectiveGasEstimate : GasEstimateType;
8743
-
8744
- declare function getIconAddressBytes(address: string): Hex;
8745
-
8746
- type CustomProvider = {
8747
- request(...args: unknown[]): Promise<unknown>;
8748
- };
8749
- interface ISpokeProvider {
8750
- readonly walletProvider: IWalletProvider;
8751
- readonly chainConfig: SpokeChainConfig;
8752
- }
8753
- type EvmUninitializedBrowserConfig = {
8754
- userAddress: Address;
8755
- chain: EvmChainId;
8756
- provider: CustomProvider;
8757
- };
8758
- type EvmUninitializedPrivateKeyConfig = {
8759
- chain: EvmChainId;
8760
- privateKey: Hex | undefined;
8761
- provider: string;
8762
- };
8763
- type EvmUninitializedConfig = EvmUninitializedBrowserConfig | EvmUninitializedPrivateKeyConfig;
8764
- type EvmInitializedConfig = {
8765
- walletClient: WalletClient<CustomTransport | HttpTransport, Chain, Account>;
8766
- publicClient: PublicClient<CustomTransport | HttpTransport>;
8767
- };
8768
- type EvmHubProviderConfig = {
8769
- hubRpcUrl: string;
8770
- chainConfig: EvmHubChainConfig;
8771
- };
8772
- declare class EvmHubProvider {
8773
- readonly publicClient: PublicClient<HttpTransport>;
8774
- readonly chainConfig: EvmHubChainConfig;
8775
- constructor(config?: EvmHubProviderConfig);
8776
- }
8777
- declare class SonicSpokeProvider implements ISpokeProvider {
8778
- readonly walletProvider: IEvmWalletProvider;
8779
- readonly chainConfig: SonicSpokeChainConfig;
8780
- readonly publicClient: PublicClient<HttpTransport>;
8781
- constructor(walletProvider: IEvmWalletProvider, chainConfig: SonicSpokeChainConfig, rpcUrl?: string);
8782
- }
8783
- declare class EvmSpokeProvider implements ISpokeProvider {
8784
- readonly walletProvider: IEvmWalletProvider;
8785
- readonly chainConfig: EvmSpokeChainConfig;
8786
- readonly publicClient: PublicClient<HttpTransport>;
8787
- constructor(walletProvider: IEvmWalletProvider, chainConfig: EvmSpokeChainConfig, rpcUrl?: string);
8788
- }
8789
-
8790
- type IWalletProvider = IEvmWalletProvider | IInjectiveWalletProvider | IStellarWalletProvider | ISuiWalletProvider | IIconWalletProvider | IInjectiveWalletProvider | ISolanaWalletProvider;
8791
- type SpokeProvider = (EvmSpokeProvider | InjectiveSpokeProvider | IconSpokeProvider | SuiSpokeProvider | StellarSpokeProvider | SolanaSpokeProvider | SonicSpokeProvider) & ISpokeProvider;
8792
-
8793
- declare function getSolanaAddressBytes(address: PublicKey): Hex;
8794
-
8795
- type IconJsonRpcVersion = '2.0';
8796
- type HanaWalletRequestEvent = 'REQUEST_HAS_ACCOUNT' | 'REQUEST_HAS_ADDRESS' | 'REQUEST_ADDRESS' | 'REQUEST_JSON' | 'REQUEST_SIGNING' | 'REQUEST_JSON-RPC';
8797
- type HanaWalletResponseEvent = 'RESPONSE_HAS_ACCOUNT' | 'RESPONSE_HAS_ADDRESS' | 'RESPONSE_ADDRESS' | 'RESPONSE_JSON-RPC' | 'RESPONSE_SIGNING' | 'CANCEL_SIGNING' | 'CANCEL_JSON-RPC';
8798
- type ResponseAddressType = {
8799
- type: 'RESPONSE_ADDRESS';
8800
- payload: IconAddress;
8801
- };
8802
- type ResponseSigningType = {
8803
- type: 'RESPONSE_SIGNING';
8804
- payload: string;
8805
- };
8806
- type RelayRequestDetail = {
8807
- type: HanaWalletRequestEvent;
8808
- payload?: {
8809
- jsonrpc: IconJsonRpcVersion;
8810
- method: string;
8811
- params: unknown;
8812
- id: number | undefined;
7886
+ declare const EVM_CHAIN_IDS: readonly ["0xa86a.avax", "0xa4b1.arbitrum", "0x2105.base", "0x38.bsc", "sonic", "0xa.optimism", "0x89.polygon", "nibiru"];
7887
+ declare const EVM_SPOKE_CHAIN_IDS: readonly ["0xa86a.avax", "0xa4b1.arbitrum", "0x2105.base", "0x38.bsc", "0xa.optimism", "0x89.polygon", "nibiru", "sonic"];
7888
+ declare const ChainIdToIntentRelayChainId: Record<ChainId, IntentRelayChainId>;
7889
+ declare const getIntentRelayChainId: (chainId: ChainId) => IntentRelayChainId;
7890
+ declare function getEvmViemChain(id: EvmChainId): Chain;
7891
+ declare const getHubChainConfig: (chainId: HubChainId) => EvmHubChainConfig;
7892
+ declare const spokeChainConfig: {
7893
+ readonly sonic: {
7894
+ readonly chain: {
7895
+ readonly name: "Sonic";
7896
+ readonly id: "sonic";
7897
+ readonly type: "EVM";
7898
+ };
7899
+ readonly addresses: {
7900
+ readonly walletRouter: "0xC67C3e55c665E78b25dc9829B3Aa5af47d914733";
7901
+ readonly wrappedSonic: "0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38";
7902
+ };
7903
+ readonly nativeToken: "0x0000000000000000000000000000000000000000";
7904
+ readonly bnUSD: "0xE801CA34E19aBCbFeA12025378D19c4FBE250131";
7905
+ readonly supportedTokens: {
7906
+ readonly S: {
7907
+ readonly symbol: "S";
7908
+ readonly name: "Sonic";
7909
+ readonly decimals: 18;
7910
+ readonly address: "0x0000000000000000000000000000000000000000";
7911
+ };
7912
+ readonly bnUSD: {
7913
+ readonly symbol: "bnUSD";
7914
+ readonly name: "bnUSD";
7915
+ readonly decimals: 18;
7916
+ readonly address: "0xE801CA34E19aBCbFeA12025378D19c4FBE250131";
7917
+ };
7918
+ readonly WETH: {
7919
+ readonly symbol: "WETH";
7920
+ readonly name: "Wrapped Ether";
7921
+ readonly decimals: 18;
7922
+ readonly address: "0x50c42dEAcD8Fc9773493ED674b675bE577f2634b";
7923
+ };
7924
+ readonly USDC: {
7925
+ readonly symbol: "USDC";
7926
+ readonly name: "USD Coin";
7927
+ readonly decimals: 6;
7928
+ readonly address: "0x29219dd400f2Bf60E5a23d13Be72B486D4038894";
7929
+ };
7930
+ readonly USDT: {
7931
+ readonly symbol: "USDT";
7932
+ readonly name: "Tether USD";
7933
+ readonly decimals: 6;
7934
+ readonly address: "0x6047828dc181963ba44974801FF68e538dA5eaF9";
7935
+ };
7936
+ readonly wS: {
7937
+ readonly symbol: "wS";
7938
+ readonly name: "Wrapped Sonic";
7939
+ readonly decimals: 18;
7940
+ readonly address: "0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38";
7941
+ };
7942
+ readonly SODA: {
7943
+ readonly symbol: "SODA";
7944
+ readonly name: "SODAX";
7945
+ readonly decimals: 18;
7946
+ readonly address: "0x7c7d53EEcda37a87ce0D5bf8E0b24512A48dC963";
7947
+ };
7948
+ };
8813
7949
  };
8814
- };
8815
- type RelayRequestSigning = {
8816
- type: 'REQUEST_SIGNING';
8817
- payload: {
8818
- from: IconAddress;
8819
- hash: string;
7950
+ readonly solana: {
7951
+ readonly addresses: {
7952
+ readonly assetManager: "AnCCJjheynmGqPp6Vgat9DTirGKD4CtQzP8cwTYV8qKH";
7953
+ readonly connection: "GxS8i6D9qQjbSeniD487CnomUxU2pXt6V8P96T6MkUXB";
7954
+ readonly rateLimit: "2Vyy3A3Teju2EMCkdnappEeWqBXyAaF5V2WsrU4hDtsk";
7955
+ readonly testToken: "3Q2HS3png7fLaYerqCun3zw8rnBZo2Ksvdg6RHTyM4Ns";
7956
+ readonly xTokenManager: "";
7957
+ };
7958
+ readonly chain: {
7959
+ readonly id: "solana";
7960
+ readonly name: "Solana";
7961
+ readonly type: "SOLANA";
7962
+ };
7963
+ readonly nativeToken: "11111111111111111111111111111111";
7964
+ readonly bnUSD: "3rSPCLNEF7Quw4wX8S1NyKivELoyij8eYA2gJwBgt4V5";
7965
+ readonly supportedTokens: {
7966
+ readonly SOL: {
7967
+ readonly symbol: "SOL";
7968
+ readonly name: "Solana";
7969
+ readonly decimals: 9;
7970
+ readonly address: "11111111111111111111111111111111";
7971
+ };
7972
+ readonly bnUSD: {
7973
+ readonly symbol: "bnUSD";
7974
+ readonly name: "bnUSD";
7975
+ readonly decimals: 9;
7976
+ readonly address: "3rSPCLNEF7Quw4wX8S1NyKivELoyij8eYA2gJwBgt4V5";
7977
+ };
7978
+ readonly USDC: {
7979
+ readonly symbol: "USDC";
7980
+ readonly name: "USD Coin";
7981
+ readonly decimals: 6;
7982
+ readonly address: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
7983
+ };
7984
+ };
7985
+ readonly gasPrice: "500000";
7986
+ readonly rpcUrl: "https://api.mainnet-beta.solana.com";
7987
+ readonly walletAddress: "";
8820
7988
  };
7989
+ readonly "0xa86a.avax": {
7990
+ readonly chain: {
7991
+ readonly name: "Avalanche";
7992
+ readonly id: "0xa86a.avax";
7993
+ readonly type: "EVM";
7994
+ };
7995
+ readonly addresses: {
7996
+ readonly assetManager: "0x5bDD1E1C5173F4c912cC919742FB94A55ECfaf86";
7997
+ readonly connection: "0x4555aC13D7338D9E671584C1D118c06B2a3C88eD";
7998
+ };
7999
+ readonly nativeToken: "0x0000000000000000000000000000000000000000";
8000
+ readonly bnUSD: "0x6958a4CBFe11406E2a1c1d3a71A1971aD8B3b92F";
8001
+ readonly supportedTokens: {
8002
+ readonly AVAX: {
8003
+ readonly symbol: "AVAX";
8004
+ readonly name: "Avalanche";
8005
+ readonly decimals: 18;
8006
+ readonly address: "0x0000000000000000000000000000000000000000";
8007
+ };
8008
+ readonly bnUSD: {
8009
+ readonly symbol: "bnUSD";
8010
+ readonly name: "bnUSD";
8011
+ readonly decimals: 18;
8012
+ readonly address: "0x6958a4CBFe11406E2a1c1d3a71A1971aD8B3b92F";
8013
+ };
8014
+ readonly USDT: {
8015
+ readonly symbol: "USDT";
8016
+ readonly name: "Tether USD";
8017
+ readonly decimals: 6;
8018
+ readonly address: "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7";
8019
+ };
8020
+ readonly USDC: {
8021
+ readonly symbol: "USDC";
8022
+ readonly name: "USD Coin";
8023
+ readonly decimals: 6;
8024
+ readonly address: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E";
8025
+ };
8026
+ };
8027
+ };
8028
+ readonly nibiru: {
8029
+ readonly chain: {
8030
+ readonly name: "Nibiru";
8031
+ readonly id: "nibiru";
8032
+ readonly type: "EVM";
8033
+ };
8034
+ readonly addresses: {
8035
+ readonly assetManager: "0x6958a4CBFe11406E2a1c1d3a71A1971aD8B3b92F";
8036
+ readonly connection: "0x772FFE538E45b2cDdFB5823041EC26C44815B9AB";
8037
+ };
8038
+ readonly nativeToken: "0x0000000000000000000000000000000000000000";
8039
+ readonly bnUSD: "0x043fb7e23350Dd5b77dE5E228B528763DEcb9131";
8040
+ readonly supportedTokens: {
8041
+ readonly NIBI: {
8042
+ readonly symbol: "NIBI";
8043
+ readonly name: "Nibiru";
8044
+ readonly decimals: 6;
8045
+ readonly address: "0x0000000000000000000000000000000000000000";
8046
+ };
8047
+ readonly bnUSD: {
8048
+ readonly symbol: "bnUSD";
8049
+ readonly name: "bnUSD";
8050
+ readonly decimals: 18;
8051
+ readonly address: "0x043fb7e23350Dd5b77dE5E228B528763DEcb9131";
8052
+ };
8053
+ };
8054
+ };
8055
+ readonly "0xa4b1.arbitrum": {
8056
+ readonly chain: {
8057
+ readonly name: "Arbitrum";
8058
+ readonly id: "0xa4b1.arbitrum";
8059
+ readonly type: "EVM";
8060
+ };
8061
+ readonly addresses: {
8062
+ readonly assetManager: "0x348BE44F63A458be9C1b13D6fD8e99048F297Bc3";
8063
+ readonly connection: "0x4555aC13D7338D9E671584C1D118c06B2a3C88eD";
8064
+ };
8065
+ readonly nativeToken: "0x0000000000000000000000000000000000000000";
8066
+ readonly bnUSD: "0xA256dd181C3f6E5eC68C6869f5D50a712d47212e";
8067
+ readonly supportedTokens: {
8068
+ readonly ETH: {
8069
+ readonly symbol: "ETH";
8070
+ readonly name: "Ethereum";
8071
+ readonly decimals: 18;
8072
+ readonly address: "0x0000000000000000000000000000000000000000";
8073
+ };
8074
+ readonly bnUSD: {
8075
+ readonly symbol: "bnUSD";
8076
+ readonly name: "bnUSD";
8077
+ readonly decimals: 18;
8078
+ readonly address: "0xA256dd181C3f6E5eC68C6869f5D50a712d47212e";
8079
+ };
8080
+ readonly wstETH: {
8081
+ readonly symbol: "wstETH";
8082
+ readonly name: "Wrapped stETH";
8083
+ readonly decimals: 18;
8084
+ readonly address: "0x5979D7b546E38E414F7E9822514be443A4800529";
8085
+ };
8086
+ readonly weETH: {
8087
+ readonly symbol: "weETH";
8088
+ readonly name: "Wrapped eETH";
8089
+ readonly decimals: 18;
8090
+ readonly address: "0x35751007a407ca6FEFfE80b3cB397736D2cf4dbe";
8091
+ };
8092
+ readonly tBTC: {
8093
+ readonly symbol: "tBTC";
8094
+ readonly name: "Arbitrum tBTC v2";
8095
+ readonly decimals: 18;
8096
+ readonly address: "0x6c84a8f1c29108F47a79964b5Fe888D4f4D0dE40";
8097
+ };
8098
+ readonly WBTC: {
8099
+ readonly symbol: "WBTC";
8100
+ readonly name: "Wrapped BTC";
8101
+ readonly decimals: 8;
8102
+ readonly address: "0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f";
8103
+ };
8104
+ readonly USDC: {
8105
+ readonly symbol: "USDC";
8106
+ readonly name: "USD Coin (USDC)";
8107
+ readonly decimals: 6;
8108
+ readonly address: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831";
8109
+ };
8110
+ readonly USDT: {
8111
+ readonly symbol: "USDT";
8112
+ readonly name: "TetherToken";
8113
+ readonly decimals: 6;
8114
+ readonly address: "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9";
8115
+ };
8116
+ };
8117
+ };
8118
+ readonly "0x2105.base": {
8119
+ readonly chain: {
8120
+ readonly name: "BASE";
8121
+ readonly id: "0x2105.base";
8122
+ readonly type: "EVM";
8123
+ };
8124
+ readonly addresses: {
8125
+ readonly assetManager: "0x348BE44F63A458be9C1b13D6fD8e99048F297Bc3";
8126
+ readonly connection: "0x4555aC13D7338D9E671584C1D118c06B2a3C88eD";
8127
+ };
8128
+ readonly nativeToken: "0x0000000000000000000000000000000000000000";
8129
+ readonly bnUSD: "0xAcfab3F31C0a18559D78556BBf297EC29c6cf8aa";
8130
+ readonly supportedTokens: {
8131
+ readonly ETH: {
8132
+ readonly symbol: "ETH";
8133
+ readonly name: "Ethereum";
8134
+ readonly decimals: 18;
8135
+ readonly address: "0x0000000000000000000000000000000000000000";
8136
+ };
8137
+ readonly bnUSD: {
8138
+ readonly symbol: "bnUSD";
8139
+ readonly name: "bnUSD";
8140
+ readonly decimals: 18;
8141
+ readonly address: "0xAcfab3F31C0a18559D78556BBf297EC29c6cf8aa";
8142
+ };
8143
+ readonly weETH: {
8144
+ readonly symbol: "weETH";
8145
+ readonly name: "Wrapped eETH";
8146
+ readonly decimals: 18;
8147
+ readonly address: "0x04c0599ae5a44757c0af6f9ec3b93da8976c150a";
8148
+ };
8149
+ readonly USDC: {
8150
+ readonly symbol: "USDC";
8151
+ readonly name: "USD Coin";
8152
+ readonly decimals: 6;
8153
+ readonly address: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
8154
+ };
8155
+ readonly wstETH: {
8156
+ readonly symbol: "wstETH";
8157
+ readonly name: "Wrapped stETH";
8158
+ readonly decimals: 18;
8159
+ readonly address: "0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452";
8160
+ };
8161
+ readonly cbBTC: {
8162
+ readonly symbol: "cbBTC";
8163
+ readonly name: "Coinbase Wrapped BTC";
8164
+ readonly decimals: 8;
8165
+ readonly address: "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf";
8166
+ };
8167
+ };
8168
+ };
8169
+ readonly "0xa.optimism": {
8170
+ readonly chain: {
8171
+ readonly name: "Optimism";
8172
+ readonly id: "0xa.optimism";
8173
+ readonly type: "EVM";
8174
+ };
8175
+ readonly addresses: {
8176
+ readonly assetManager: "0x348BE44F63A458be9C1b13D6fD8e99048F297Bc3";
8177
+ readonly connection: "0x4555aC13D7338D9E671584C1D118c06B2a3C88eD";
8178
+ };
8179
+ readonly nativeToken: "0x0000000000000000000000000000000000000000";
8180
+ readonly bnUSD: "0xF4f7dC27c17470a26d0de9039Cf0EA5045F100E8";
8181
+ readonly supportedTokens: {
8182
+ readonly ETH: {
8183
+ readonly symbol: "ETH";
8184
+ readonly name: "Ethereum";
8185
+ readonly decimals: 18;
8186
+ readonly address: "0x0000000000000000000000000000000000000000";
8187
+ };
8188
+ readonly bnUSD: {
8189
+ readonly symbol: "bnUSD";
8190
+ readonly name: "bnUSD";
8191
+ readonly decimals: 18;
8192
+ readonly address: "0xF4f7dC27c17470a26d0de9039Cf0EA5045F100E8";
8193
+ };
8194
+ readonly USDC: {
8195
+ readonly symbol: "USDC";
8196
+ readonly name: "USD Coin";
8197
+ readonly decimals: 6;
8198
+ readonly address: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85";
8199
+ };
8200
+ readonly wstETH: {
8201
+ readonly symbol: "wstETH";
8202
+ readonly name: "Wrapped stETH";
8203
+ readonly decimals: 18;
8204
+ readonly address: "0x1F32b1c2345538c0c6f582fCB022739c4A194Ebb";
8205
+ };
8206
+ readonly weETH: {
8207
+ readonly symbol: "weETH";
8208
+ readonly name: "Wrapped eETH";
8209
+ readonly decimals: 18;
8210
+ readonly address: "0x5A7fACB970D094B6C7FF1df0eA68D99E6e73CBFF";
8211
+ };
8212
+ readonly USDT: {
8213
+ readonly symbol: "USDT";
8214
+ readonly name: "Tether USD";
8215
+ readonly decimals: 6;
8216
+ readonly address: "0x94b008aA00579c1307B0EF2c499aD98a8ce58e58";
8217
+ };
8218
+ };
8219
+ };
8220
+ readonly "0x38.bsc": {
8221
+ readonly chain: {
8222
+ readonly name: "BSC";
8223
+ readonly id: "0x38.bsc";
8224
+ readonly type: "EVM";
8225
+ };
8226
+ readonly addresses: {
8227
+ readonly assetManager: "0x348BE44F63A458be9C1b13D6fD8e99048F297Bc3";
8228
+ readonly connection: "0x4555aC13D7338D9E671584C1D118c06B2a3C88eD";
8229
+ };
8230
+ readonly nativeToken: "0x0000000000000000000000000000000000000000";
8231
+ readonly bnUSD: "0x8428FedC020737a5A2291F46cB1B80613eD71638";
8232
+ readonly supportedTokens: {
8233
+ readonly BNB: {
8234
+ readonly symbol: "BNB";
8235
+ readonly name: "BNB";
8236
+ readonly decimals: 18;
8237
+ readonly address: "0x0000000000000000000000000000000000000000";
8238
+ };
8239
+ readonly bnUSD: {
8240
+ readonly symbol: "bnUSD";
8241
+ readonly name: "bnUSD";
8242
+ readonly decimals: 18;
8243
+ readonly address: "0x8428FedC020737a5A2291F46cB1B80613eD71638";
8244
+ };
8245
+ readonly ETHB: {
8246
+ readonly symbol: "ETHB";
8247
+ readonly name: "Ethereum BSC";
8248
+ readonly decimals: 18;
8249
+ readonly address: "0x2170Ed0880ac9A755fd29B2688956BD959F933F8";
8250
+ };
8251
+ readonly BTCB: {
8252
+ readonly symbol: "BTCB";
8253
+ readonly name: "Bitcoin BSC";
8254
+ readonly decimals: 18;
8255
+ readonly address: "0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c";
8256
+ };
8257
+ readonly USDC: {
8258
+ readonly symbol: "USDC";
8259
+ readonly name: "USD Coin";
8260
+ readonly decimals: 18;
8261
+ readonly address: "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d";
8262
+ };
8263
+ };
8264
+ };
8265
+ readonly "0x89.polygon": {
8266
+ readonly chain: {
8267
+ readonly name: "Polygon";
8268
+ readonly id: "0x89.polygon";
8269
+ readonly type: "EVM";
8270
+ };
8271
+ readonly addresses: {
8272
+ readonly assetManager: "0x348BE44F63A458be9C1b13D6fD8e99048F297Bc3";
8273
+ readonly connection: "0x4555aC13D7338D9E671584C1D118c06B2a3C88eD";
8274
+ };
8275
+ readonly nativeToken: "0x0000000000000000000000000000000000000000";
8276
+ readonly bnUSD: "0x39E77f86C1B1f3fbAb362A82b49D2E86C09659B4";
8277
+ readonly supportedTokens: {
8278
+ readonly POL: {
8279
+ readonly symbol: "POL";
8280
+ readonly name: "Polygon";
8281
+ readonly decimals: 18;
8282
+ readonly address: "0x0000000000000000000000000000000000000000";
8283
+ };
8284
+ readonly bnUSD: {
8285
+ readonly symbol: "bnUSD";
8286
+ readonly name: "bnUSD";
8287
+ readonly decimals: 18;
8288
+ readonly address: "0x39E77f86C1B1f3fbAb362A82b49D2E86C09659B4";
8289
+ };
8290
+ readonly USDC: {
8291
+ readonly symbol: "USDC";
8292
+ readonly name: "USD Coin";
8293
+ readonly decimals: 6;
8294
+ readonly address: "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359";
8295
+ };
8296
+ };
8297
+ };
8298
+ readonly "injective-1": {
8299
+ readonly addresses: {
8300
+ readonly assetManager: "inj1dg6tm62uup53wn2kn97caeqfwt0sukx3qjk8rw";
8301
+ readonly connection: "inj1eexvfglsptxwfj9hft96xcnsdrvr7d7dalcm8w";
8302
+ readonly rateLimit: "inj1x8p2h56edcdrm9tzx7a7zkwe0l334klgrxpqyk";
8303
+ readonly testToken: "";
8304
+ readonly xTokenManager: "";
8305
+ };
8306
+ readonly chain: {
8307
+ readonly id: "injective-1";
8308
+ readonly name: "Injective";
8309
+ readonly type: "INJECTIVE";
8310
+ };
8311
+ readonly nativeToken: "inj";
8312
+ readonly bnUSD: "factory/inj1d036ftaatxpkqsu9hja8r24rv3v33chz3appxp/bnUSD";
8313
+ readonly networkId: "injective-1";
8314
+ readonly supportedTokens: {
8315
+ readonly INJ: {
8316
+ readonly symbol: "INJ";
8317
+ readonly name: "Injective";
8318
+ readonly decimals: 18;
8319
+ readonly address: "inj";
8320
+ };
8321
+ readonly bnUSD: {
8322
+ readonly symbol: "bnUSD";
8323
+ readonly name: "bnUSD";
8324
+ readonly decimals: 18;
8325
+ readonly address: "factory/inj1d036ftaatxpkqsu9hja8r24rv3v33chz3appxp/bnUSD";
8326
+ };
8327
+ readonly USDC: {
8328
+ readonly symbol: "USDC";
8329
+ readonly name: "USD Coin";
8330
+ readonly decimals: 6;
8331
+ readonly address: "ibc/2CBC2EA121AE42563B08028466F37B600F2D7D4282342DE938283CC3FB2BC00E";
8332
+ };
8333
+ };
8334
+ readonly gasPrice: "500000000inj";
8335
+ readonly network: "Mainnet";
8336
+ readonly prefix: "inj";
8337
+ readonly isBrowser: false;
8338
+ readonly rpcUrl: "https://injective-rpc.publicnode.com:443";
8339
+ readonly walletAddress: "";
8340
+ };
8341
+ readonly stellar: {
8342
+ readonly addresses: {
8343
+ readonly connection: "CDFQDDPUPAM3XPGORHDOEFRNLMKOH3N3X6XTXNLSXJQXIU3RVCM3OPEP";
8344
+ readonly assetManager: "CCGF33A4CO6D3BXFEKPXVCFCZBK76I3AQOZK6KIKRPAWAZR3632WHCJ3";
8345
+ readonly xTokenManager: "";
8346
+ readonly rateLimit: "CB6G3ULISTTBPXUN3BI6ADHQGWJEN7BPQINHL45TCB6TDFM5QWU24HAY";
8347
+ readonly testToken: "";
8348
+ };
8349
+ readonly supportedTokens: {
8350
+ readonly bnUSD: {
8351
+ readonly symbol: "bnUSD";
8352
+ readonly name: "bnUSD";
8353
+ readonly decimals: 7;
8354
+ readonly address: "CD6YBFFWMU2UJHX2NGRJ7RN76IJVTCC7MRA46DUBXNB7E6W7H7JRJ2CX";
8355
+ };
8356
+ readonly XLM: {
8357
+ readonly symbol: "XLM";
8358
+ readonly name: "Stellar Lumens";
8359
+ readonly decimals: 7;
8360
+ readonly address: "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA";
8361
+ };
8362
+ readonly USDC: {
8363
+ readonly symbol: "USDC";
8364
+ readonly name: "USD Coin";
8365
+ readonly decimals: 7;
8366
+ readonly address: "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75";
8367
+ };
8368
+ readonly legacybnUSD: {
8369
+ readonly symbol: "bnUSD";
8370
+ readonly name: "legacybnUSD";
8371
+ readonly decimals: 18;
8372
+ readonly address: "CCT4ZYIYZ3TUO2AWQFEOFGBZ6HQP3GW5TA37CK7CRZVFRDXYTHTYX7KP";
8373
+ };
8374
+ };
8375
+ readonly nativeToken: "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA";
8376
+ readonly bnUSD: "CD6YBFFWMU2UJHX2NGRJ7RN76IJVTCC7MRA46DUBXNB7E6W7H7JRJ2CX";
8377
+ readonly horizonRpcUrl: "https://horizon.stellar.org";
8378
+ readonly sorobanRpcUrl: "https://rpc.ankr.com/stellar_soroban";
8379
+ readonly chain: {
8380
+ readonly name: "Stellar";
8381
+ readonly id: "stellar";
8382
+ readonly type: "STELLAR";
8383
+ };
8384
+ };
8385
+ readonly sui: {
8386
+ readonly addresses: {
8387
+ readonly connection: "0xf3b1e696a66d02cb776dc15aae73c68bc8f03adcb6ba0ec7f6332d9d90a6a3d2::connectionv3::0x3ee76d13909ac58ae13baab4c9be5a5142818d9a387aed641825e5d4356969bf";
8388
+ readonly assetManager: "0x897f911a4b7691870a1a2513af7e85fdee8de275615c77068fd8b90b8e78c678::asset_manager::0xcb7346339340b7f8dea40fcafb70721dc2fcfa7e8626a89fd954d46c1f928b61";
8389
+ readonly xTokenManager: "";
8390
+ readonly rateLimit: "";
8391
+ readonly testToken: "";
8392
+ };
8393
+ readonly supportedTokens: {
8394
+ readonly SUI: {
8395
+ readonly symbol: "SUI";
8396
+ readonly name: "SUI";
8397
+ readonly decimals: 9;
8398
+ readonly address: "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI";
8399
+ };
8400
+ readonly bnUSD: {
8401
+ readonly symbol: "bnUSD";
8402
+ readonly name: "bnUSD";
8403
+ readonly decimals: 9;
8404
+ readonly address: "0xff4de2b2b57dd7611d2812d231a467d007b702a101fd5c7ad3b278257cddb507::bnusd::BNUSD";
8405
+ };
8406
+ readonly USDC: {
8407
+ readonly symbol: "USDC";
8408
+ readonly name: "USD Coin";
8409
+ readonly decimals: 6;
8410
+ readonly address: "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC";
8411
+ };
8412
+ readonly legacybnUSD: {
8413
+ readonly symbol: "bnUSD";
8414
+ readonly name: "legacybnUSD";
8415
+ readonly decimals: 9;
8416
+ readonly address: "0x03917a812fe4a6d6bc779c5ab53f8a80ba741f8af04121193fc44e0f662e2ceb::balanced_dollar::BALANCED_DOLLAR";
8417
+ };
8418
+ readonly afSUI: {
8419
+ readonly symbol: "afSUI";
8420
+ readonly name: "Aftermath Staked Sui";
8421
+ readonly decimals: 9;
8422
+ readonly address: "0xf325ce1300e8dac124071d3152c5c5ee6174914f8bc2161e88329cf579246efc::afsui::AFSUI";
8423
+ };
8424
+ readonly mSUI: {
8425
+ readonly symbol: "mSUI";
8426
+ readonly name: "Mirai Staked SUI";
8427
+ readonly decimals: 9;
8428
+ readonly address: "0x922d15d7f55c13fd790f6e54397470ec592caa2b508df292a2e8553f3d3b274f::msui::MSUI";
8429
+ };
8430
+ readonly haSUI: {
8431
+ readonly symbol: "haSUI";
8432
+ readonly name: "haSUI";
8433
+ readonly decimals: 9;
8434
+ readonly address: "0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d::hasui::HASUI";
8435
+ };
8436
+ readonly vSUI: {
8437
+ readonly symbol: "vSUI";
8438
+ readonly name: "Volo Staked SUI";
8439
+ readonly decimals: 9;
8440
+ readonly address: "0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55::cert::CERT";
8441
+ };
8442
+ readonly yapSUI: {
8443
+ readonly symbol: "yapSUI";
8444
+ readonly name: "Yap Staked SUI";
8445
+ readonly decimals: 9;
8446
+ readonly address: "0x83f1bb8c91ecd1fd313344058b0eed94d63c54e41d8d1ae5bff1353443517d65::yap_sui::YAP_SUI";
8447
+ };
8448
+ readonly trevinSUI: {
8449
+ readonly symbol: "trevinSUI";
8450
+ readonly name: "Trevin Staked SUI";
8451
+ readonly decimals: 9;
8452
+ readonly address: "0x502867b177303bf1bf226245fcdd3403c177e78d175a55a56c0602c7ff51c7fa::trevin_sui::TREVIN_SUI";
8453
+ };
8454
+ };
8455
+ readonly nativeToken: "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI";
8456
+ readonly bnUSD: "0xff4de2b2b57dd7611d2812d231a467d007b702a101fd5c7ad3b278257cddb507::bnusd::BNUSD";
8457
+ readonly rpc_url: "https://fullnode.mainnet.sui.io:443";
8458
+ readonly chain: {
8459
+ readonly name: "Sui";
8460
+ readonly id: "sui";
8461
+ readonly type: "SUI";
8462
+ };
8463
+ };
8464
+ readonly "0x1.icon": {
8465
+ readonly addresses: {
8466
+ readonly assetManager: "cx1be33c283c7dc7617181d1b21a6a2309e71b1ee7";
8467
+ readonly connection: "cxe5cdf3b0f26967b0efc72d470d57bbf534268f94";
8468
+ readonly rateLimit: "cxbbdcea9e6757023a046067ba8daa3c4c50304358";
8469
+ readonly wICX: "cx3975b43d260fb8ec802cef6e60c2f4d07486f11d";
8470
+ };
8471
+ readonly chain: {
8472
+ readonly id: "0x1.icon";
8473
+ readonly name: "ICON Mainnet";
8474
+ readonly type: "ICON";
8475
+ };
8476
+ readonly supportedTokens: {
8477
+ readonly ICX: {
8478
+ readonly symbol: "ICX";
8479
+ readonly name: "ICON";
8480
+ readonly decimals: 18;
8481
+ readonly address: "cx0000000000000000000000000000000000000000";
8482
+ };
8483
+ readonly wICX: {
8484
+ readonly symbol: "wICX";
8485
+ readonly name: "Wrapped ICX";
8486
+ readonly decimals: 18;
8487
+ readonly address: "cx3975b43d260fb8ec802cef6e60c2f4d07486f11d";
8488
+ };
8489
+ readonly bnUSD: {
8490
+ readonly symbol: "bnUSD";
8491
+ readonly name: "bnUSD";
8492
+ readonly decimals: 18;
8493
+ readonly address: "cx88fd7df7ddff82f7cc735c871dc519838cb235bb";
8494
+ };
8495
+ readonly legacybnUSD: {
8496
+ readonly symbol: "bnUSD";
8497
+ readonly name: "bnUSD";
8498
+ readonly decimals: 18;
8499
+ readonly address: "cx88fd7df7ddff82f7cc735c871dc519838cb235bb";
8500
+ };
8501
+ readonly BALN: {
8502
+ readonly symbol: "BALN";
8503
+ readonly name: "BALN";
8504
+ readonly decimals: 18;
8505
+ readonly address: "cxf61cd5a45dc9f91c15aa65831a30a90d59a09619";
8506
+ };
8507
+ };
8508
+ readonly nativeToken: "cx0000000000000000000000000000000000000000";
8509
+ readonly bnUSD: "cx88fd7df7ddff82f7cc735c871dc519838cb235bb";
8510
+ readonly nid: "0x1";
8511
+ };
8512
+ };
8513
+ declare const HubVaultSymbols: readonly ["sodaAVAX", "sodaBNB", "sodaETH", "sodaBTC", "sodaSUI", "sodaINJ", "sodaXLM", "sodaSOL", "sodaSODA", "sodaUSDT", "sodaUSDC", "bnUSD", "sodaPOL", "sodaNIBI", "sodaS", "IbnUSD"];
8514
+ type HubVaultSymbol = (typeof HubVaultSymbols)[number];
8515
+ declare const hubVaults: {
8516
+ readonly IbnUSD: {
8517
+ readonly address: "0x9D4b663Eb075d2a1C7B8eaEFB9eCCC0510388B51";
8518
+ readonly reserves: ["0x654DdDf32a9a2aC53f5FB54bf1e93F66791f8047", "0xddf6AD38F9C9451C1F4cDf369040F6869e37393e", "0x1559B52d2e165da1505a542EA37C543c9137f52a"];
8519
+ };
8520
+ readonly sodaS: {
8521
+ readonly address: "0x62ecc3eeb80a162c57624b3ff80313fe69f5203e";
8522
+ readonly reserves: ["0x039e2fb66102314ce7b64ce5ce3e5183bc94ad38"];
8523
+ };
8524
+ readonly sodaNIBI: {
8525
+ readonly address: "0xc6c85287a8b173a509c2f198bb719a8a5a2d0c68";
8526
+ readonly reserves: ["0xe0064414c2c1a636a9424c7a17d86fbf7fd3f190"];
8527
+ };
8528
+ readonly sodaPOL: {
8529
+ readonly address: "0x208ed38f4783328aa9ebfec360d32e7520a9b779";
8530
+ readonly reserves: ["0x9ee17486571917837210824b0d4cadfe3b324d12"];
8531
+ };
8532
+ readonly bnUSD: {
8533
+ readonly address: "0xe801ca34e19abcbfea12025378d19c4fbe250131";
8534
+ readonly reserves: ["0xabbb91c0617090f0028bdc27597cd0d038f3a833", "0xbdf1f453fcb61424011bbddcb96cfdb30f3fe876", "0x94dc79ce9c515ba4ae4d195da8e6ab86c69bfc38", "0x5ce6c1c51ff762cf3acd21396257046f694168b6", "0xdf5639d91359866f266b56d60d98ede9feedd100", "0x238384ae2b4f0ec189ecb5031859ba306b2679c5", "0x419ca9054e44e94ceab52846ecdc3997439bbca6", "0x18f85f9e80ff9496eebd5979a051af16ce751567", "0x289cda1043b4ce26bdca3c12e534f56b24308a5b", "0x23225ab8e63fca4070296678cb46566d57e1bbe3", "0x14c65b1cdc0b821569081b1f77342da0d0cbf439", "0xdf23097b9aeb917bf8fb70e99b6c528fffa35364", "0x11b93c162aabffd026539bb3b9f9ec22c8b7ef8a", "0x69425ffb14704124a58d6f69d510f74a59d9a5bc", "0x9d4b663eb075d2a1c7b8eaefb9eccc0510388b51"];
8535
+ };
8536
+ readonly sodaSODA: {
8537
+ readonly address: "0x21685e341de7844135329914be6bd8d16982d834";
8538
+ readonly reserves: ["0x7c7d53eecda37a87ce0d5bf8e0b24512a48dc963"];
8539
+ };
8540
+ readonly sodaAVAX: {
8541
+ readonly address: "0x14238d267557e9d799016ad635b53cd15935d290";
8542
+ readonly reserves: ["0xc9e4f0b6195f389d9d2b639f2878b7674eb9d8cd"];
8543
+ };
8544
+ readonly sodaBNB: {
8545
+ readonly address: "0x40cd41b35db9e5109ae7e54b44de8625db320e6b";
8546
+ readonly reserves: ["0x13b70564b1ec12876b20fab5d1bb630311312f4f"];
8547
+ };
8548
+ readonly sodaETH: {
8549
+ readonly address: "0x4effb5813271699683c25c734f4dabc45b363709";
8550
+ readonly reserves: ["0x70178089842be7f8e4726b33f0d1569db8021faa", "0xad332860dd3b6f0e63f4f66e9457900917ac78cd", "0xdcd9578b51ef55239b6e68629d822a8d97c95b86", "0x57fc2ac5701e463ae261adbd6c99fbeb48ce5293", "0x50c42deacd8fc9773493ed674b675be577f2634b"];
8551
+ };
8552
+ readonly sodaBTC: {
8553
+ readonly address: "0x7a1a5555842ad2d0ed274d09b5c4406a95799d5d";
8554
+ readonly reserves: ["0x2803a23a3ba6b09e57d1c71dec0d9efdbb00a27f", "0xfb0acb1b2720b620935f50a6dd3f7fea52b2fcbe", "0x96fc8540736f1598b7e235e6de8814062b3b5d3b", "0xd8a24c71fea5bb81c66c01e532de7d9b11e13905"];
8555
+ };
8556
+ readonly sodaSUI: {
8557
+ readonly address: "0xdc5b4b00f98347e95b9f94911213dab4c687e1e3";
8558
+ readonly reserves: ["0x4676b2a551b25c04e235553c1c81019337384673"];
8559
+ };
8560
+ readonly sodaINJ: {
8561
+ readonly address: "0x1f22279c89b213944b7ea41dacb0a868ddcdfd13";
8562
+ readonly reserves: ["0xd375590b4955f6ea5623f799153f9b787a3bd319"];
8563
+ };
8564
+ readonly sodaXLM: {
8565
+ readonly address: "0x6bc8c37cba91f76e68c9e6d689a9c21e4d32079b";
8566
+ readonly reserves: ["0x8ac68af223907fb1b893086601a3d99e00f2fa9d"];
8567
+ };
8568
+ readonly sodaSOL: {
8569
+ readonly address: "0xdea692287e2ce8cb08fa52917be0f16b1dacdc87";
8570
+ readonly reserves: ["0x0c09e69a4528945de6d16c7e469dea6996fdf636"];
8571
+ };
8572
+ readonly sodaUSDT: {
8573
+ readonly address: "0xbdf1f453fcb61424011bbddcb96cfdb30f3fe876";
8574
+ readonly reserves: ["0x41fd5c169e014e2a657b9de3553f7a7b735fe47a", "0xc168067d95109003805ac865ae556e8476dc69bc", "0x3c0a80c6a1110fc80309382b3989ec626c135ee9", "0x6047828dc181963ba44974801ff68e538da5eaf9"];
8575
+ };
8576
+ readonly sodaUSDC: {
8577
+ readonly address: "0xabbb91c0617090f0028bdc27597cd0d038f3a833";
8578
+ readonly reserves: ["0x41abf4b1559ff709ef8150079bcb26db1fffd117", "0x72e852545b024ddcbc5b70c1bcbdaa025164259c", "0xb7c213cbd24967de9838fa014668fddb338f724b", "0xdb7bda65c3a1c51d64dc4444e418684677334109", "0xa36893ba308b332fdebfa95916d1df3a2e3cf8b3", "0x29219dd400f2bf60e5a23d13be72b486d4038894", "0x5635369c8a29a081d26c2e9e28012fca548ba0cb", "0x3d73437dd81b3f9ec82752beb1752f03a8531710", "0x4bc1211faa06fb50ff61a70331f56167ae511057", "0x348007b53f25a9a857ab8ea81ec9e3ccbcf440f2", "0xc3f020057510ffe10ceb882e1b48238b43d78a5e", "0x9d58508ad10d34048a11640735ca5075bba07b35"];
8579
+ };
8580
+ };
8581
+ declare const bnUSDLegacySpokeChainIds: readonly ["0x1.icon", "sui", "stellar"];
8582
+ declare const newbnUSDSpokeChainIds: ("0xa86a.avax" | "0xa4b1.arbitrum" | "0x2105.base" | "0x38.bsc" | "sonic" | "0xa.optimism" | "0x89.polygon" | "nibiru" | "injective-1" | "sui" | "solana" | "stellar")[];
8583
+ declare const bnUSDLegacyTokens: readonly [{
8584
+ readonly symbol: "bnUSD";
8585
+ readonly name: "bnUSD";
8586
+ readonly decimals: 18;
8587
+ readonly address: "cx88fd7df7ddff82f7cc735c871dc519838cb235bb";
8588
+ }, {
8589
+ readonly symbol: "bnUSD";
8590
+ readonly name: "legacybnUSD";
8591
+ readonly decimals: 9;
8592
+ readonly address: "0x03917a812fe4a6d6bc779c5ab53f8a80ba741f8af04121193fc44e0f662e2ceb::balanced_dollar::BALANCED_DOLLAR";
8593
+ }, {
8594
+ readonly symbol: "bnUSD";
8595
+ readonly name: "legacybnUSD";
8596
+ readonly decimals: 18;
8597
+ readonly address: "CCT4ZYIYZ3TUO2AWQFEOFGBZ6HQP3GW5TA37CK7CRZVFRDXYTHTYX7KP";
8598
+ }];
8599
+ declare const bnUSDNewTokens: ({
8600
+ readonly symbol: "bnUSD";
8601
+ readonly name: "bnUSD";
8602
+ readonly decimals: 18;
8603
+ readonly address: "0xE801CA34E19aBCbFeA12025378D19c4FBE250131";
8604
+ } | {
8605
+ readonly symbol: "bnUSD";
8606
+ readonly name: "bnUSD";
8607
+ readonly decimals: 9;
8608
+ readonly address: "3rSPCLNEF7Quw4wX8S1NyKivELoyij8eYA2gJwBgt4V5";
8609
+ } | {
8610
+ readonly symbol: "bnUSD";
8611
+ readonly name: "bnUSD";
8612
+ readonly decimals: 18;
8613
+ readonly address: "0x6958a4CBFe11406E2a1c1d3a71A1971aD8B3b92F";
8614
+ } | {
8615
+ readonly symbol: "bnUSD";
8616
+ readonly name: "bnUSD";
8617
+ readonly decimals: 18;
8618
+ readonly address: "0x043fb7e23350Dd5b77dE5E228B528763DEcb9131";
8619
+ } | {
8620
+ readonly symbol: "bnUSD";
8621
+ readonly name: "bnUSD";
8622
+ readonly decimals: 18;
8623
+ readonly address: "0xA256dd181C3f6E5eC68C6869f5D50a712d47212e";
8624
+ } | {
8625
+ readonly symbol: "bnUSD";
8626
+ readonly name: "bnUSD";
8627
+ readonly decimals: 18;
8628
+ readonly address: "0xAcfab3F31C0a18559D78556BBf297EC29c6cf8aa";
8629
+ } | {
8630
+ readonly symbol: "bnUSD";
8631
+ readonly name: "bnUSD";
8632
+ readonly decimals: 18;
8633
+ readonly address: "0xF4f7dC27c17470a26d0de9039Cf0EA5045F100E8";
8634
+ } | {
8635
+ readonly symbol: "bnUSD";
8636
+ readonly name: "bnUSD";
8637
+ readonly decimals: 18;
8638
+ readonly address: "0x8428FedC020737a5A2291F46cB1B80613eD71638";
8639
+ } | {
8640
+ readonly symbol: "bnUSD";
8641
+ readonly name: "bnUSD";
8642
+ readonly decimals: 18;
8643
+ readonly address: "0x39E77f86C1B1f3fbAb362A82b49D2E86C09659B4";
8644
+ } | {
8645
+ readonly symbol: "bnUSD";
8646
+ readonly name: "bnUSD";
8647
+ readonly decimals: 18;
8648
+ readonly address: "factory/inj1d036ftaatxpkqsu9hja8r24rv3v33chz3appxp/bnUSD";
8649
+ } | {
8650
+ readonly symbol: "bnUSD";
8651
+ readonly name: "bnUSD";
8652
+ readonly decimals: 7;
8653
+ readonly address: "CD6YBFFWMU2UJHX2NGRJ7RN76IJVTCC7MRA46DUBXNB7E6W7H7JRJ2CX";
8654
+ } | {
8655
+ readonly symbol: "bnUSD";
8656
+ readonly name: "bnUSD";
8657
+ readonly decimals: 9;
8658
+ readonly address: "0xff4de2b2b57dd7611d2812d231a467d007b702a101fd5c7ad3b278257cddb507::bnusd::BNUSD";
8659
+ })[];
8660
+ declare const isLegacybnUSDChainId: (chainId: SpokeChainId) => boolean;
8661
+ declare const isNewbnUSDChainId: (chainId: SpokeChainId) => boolean;
8662
+ declare const isLegacybnUSDToken: (token: Token | string) => boolean;
8663
+ declare const isNewbnUSDToken: (token: Token | string) => boolean;
8664
+ declare const getAllLegacybnUSDTokens: () => {
8665
+ token: LegacybnUSDToken;
8666
+ chainId: LegacybnUSDChainId;
8667
+ }[];
8668
+ declare const hubAssets: Record<SpokeChainId, Record<Address | string, {
8669
+ asset: Address;
8670
+ decimal: number;
8671
+ vault: Address;
8672
+ symbol: string;
8673
+ name: string;
8674
+ }>>;
8675
+ declare const DEFAULT_RELAYER_API_ENDPOINT = "https://xcall-relay.nw.iconblockchain.xyz";
8676
+ declare const getSolverConfig: (chainId: HubChainId) => SolverConfig;
8677
+ declare const getSupportedSolverTokens: (chainId: SpokeChainId) => readonly Token[];
8678
+ declare const isSolverSupportedToken: (chainId: SpokeChainId, token: string) => boolean;
8679
+ declare const getMoneyMarketConfig: (chainId: HubChainId) => MoneyMarketConfig;
8680
+ declare const moneyMarketSupportedTokens: {
8681
+ readonly "0xa86a.avax": readonly [{
8682
+ readonly symbol: "AVAX";
8683
+ readonly name: "Avalanche";
8684
+ readonly decimals: 18;
8685
+ readonly address: "0x0000000000000000000000000000000000000000";
8686
+ }, {
8687
+ readonly symbol: "USDT";
8688
+ readonly name: "Tether USD";
8689
+ readonly decimals: 6;
8690
+ readonly address: "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7";
8691
+ }, {
8692
+ readonly symbol: "USDC";
8693
+ readonly name: "USD Coin";
8694
+ readonly decimals: 6;
8695
+ readonly address: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E";
8696
+ }, {
8697
+ readonly symbol: "bnUSD";
8698
+ readonly name: "bnUSD";
8699
+ readonly decimals: 18;
8700
+ readonly address: "0x6958a4CBFe11406E2a1c1d3a71A1971aD8B3b92F";
8701
+ }];
8702
+ readonly "0xa4b1.arbitrum": readonly [{
8703
+ readonly symbol: "ETH";
8704
+ readonly name: "Ethereum";
8705
+ readonly decimals: 18;
8706
+ readonly address: "0x0000000000000000000000000000000000000000";
8707
+ }, {
8708
+ readonly symbol: "bnUSD";
8709
+ readonly name: "bnUSD";
8710
+ readonly decimals: 18;
8711
+ readonly address: "0xA256dd181C3f6E5eC68C6869f5D50a712d47212e";
8712
+ }, {
8713
+ readonly symbol: "WBTC";
8714
+ readonly name: "Wrapped BTC";
8715
+ readonly decimals: 8;
8716
+ readonly address: "0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f";
8717
+ }, {
8718
+ readonly symbol: "tBTC";
8719
+ readonly name: "Arbitrum tBTC v2";
8720
+ readonly decimals: 18;
8721
+ readonly address: "0x6c84a8f1c29108F47a79964b5Fe888D4f4D0dE40";
8722
+ }, {
8723
+ readonly symbol: "USDT";
8724
+ readonly name: "TetherToken";
8725
+ readonly decimals: 6;
8726
+ readonly address: "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9";
8727
+ }, {
8728
+ readonly symbol: "USDC";
8729
+ readonly name: "USD Coin (USDC)";
8730
+ readonly decimals: 6;
8731
+ readonly address: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831";
8732
+ }];
8733
+ readonly "0x2105.base": readonly [{
8734
+ readonly symbol: "ETH";
8735
+ readonly name: "Ethereum";
8736
+ readonly decimals: 18;
8737
+ readonly address: "0x0000000000000000000000000000000000000000";
8738
+ }, {
8739
+ readonly symbol: "bnUSD";
8740
+ readonly name: "bnUSD";
8741
+ readonly decimals: 18;
8742
+ readonly address: "0xAcfab3F31C0a18559D78556BBf297EC29c6cf8aa";
8743
+ }, {
8744
+ readonly symbol: "USDC";
8745
+ readonly name: "USD Coin";
8746
+ readonly decimals: 6;
8747
+ readonly address: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
8748
+ }, {
8749
+ readonly symbol: "cbBTC";
8750
+ readonly name: "Coinbase Wrapped BTC";
8751
+ readonly decimals: 8;
8752
+ readonly address: "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf";
8753
+ }];
8754
+ readonly "0xa.optimism": readonly [{
8755
+ readonly symbol: "ETH";
8756
+ readonly name: "Ethereum";
8757
+ readonly decimals: 18;
8758
+ readonly address: "0x0000000000000000000000000000000000000000";
8759
+ }, {
8760
+ readonly symbol: "bnUSD";
8761
+ readonly name: "bnUSD";
8762
+ readonly decimals: 18;
8763
+ readonly address: "0xF4f7dC27c17470a26d0de9039Cf0EA5045F100E8";
8764
+ }, {
8765
+ readonly symbol: "USDC";
8766
+ readonly name: "USD Coin";
8767
+ readonly decimals: 6;
8768
+ readonly address: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85";
8769
+ }, {
8770
+ readonly symbol: "USDT";
8771
+ readonly name: "Tether USD";
8772
+ readonly decimals: 6;
8773
+ readonly address: "0x94b008aA00579c1307B0EF2c499aD98a8ce58e58";
8774
+ }];
8775
+ readonly "0x89.polygon": readonly [{
8776
+ readonly symbol: "POL";
8777
+ readonly name: "Polygon";
8778
+ readonly decimals: 18;
8779
+ readonly address: "0x0000000000000000000000000000000000000000";
8780
+ }, {
8781
+ readonly symbol: "bnUSD";
8782
+ readonly name: "bnUSD";
8783
+ readonly decimals: 18;
8784
+ readonly address: "0x39E77f86C1B1f3fbAb362A82b49D2E86C09659B4";
8785
+ }, {
8786
+ readonly symbol: "USDC";
8787
+ readonly name: "USD Coin";
8788
+ readonly decimals: 6;
8789
+ readonly address: "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359";
8790
+ }];
8791
+ readonly "0x38.bsc": readonly [{
8792
+ readonly symbol: "BNB";
8793
+ readonly name: "BNB";
8794
+ readonly decimals: 18;
8795
+ readonly address: "0x0000000000000000000000000000000000000000";
8796
+ }, {
8797
+ readonly symbol: "ETHB";
8798
+ readonly name: "Ethereum BSC";
8799
+ readonly decimals: 18;
8800
+ readonly address: "0x2170Ed0880ac9A755fd29B2688956BD959F933F8";
8801
+ }, {
8802
+ readonly symbol: "BTCB";
8803
+ readonly name: "Bitcoin BSC";
8804
+ readonly decimals: 18;
8805
+ readonly address: "0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c";
8806
+ }, {
8807
+ readonly symbol: "bnUSD";
8808
+ readonly name: "bnUSD";
8809
+ readonly decimals: 18;
8810
+ readonly address: "0x8428FedC020737a5A2291F46cB1B80613eD71638";
8811
+ }];
8812
+ readonly solana: readonly [{
8813
+ readonly symbol: "SOL";
8814
+ readonly name: "Solana";
8815
+ readonly decimals: 9;
8816
+ readonly address: "11111111111111111111111111111111";
8817
+ }, {
8818
+ readonly symbol: "bnUSD";
8819
+ readonly name: "bnUSD";
8820
+ readonly decimals: 9;
8821
+ readonly address: "3rSPCLNEF7Quw4wX8S1NyKivELoyij8eYA2gJwBgt4V5";
8822
+ }, {
8823
+ readonly symbol: "USDC";
8824
+ readonly name: "USD Coin";
8825
+ readonly decimals: 6;
8826
+ readonly address: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
8827
+ }];
8828
+ readonly "0x1.icon": readonly [{
8829
+ readonly symbol: "bnUSD";
8830
+ readonly name: "bnUSD";
8831
+ readonly decimals: 18;
8832
+ readonly address: "cx88fd7df7ddff82f7cc735c871dc519838cb235bb";
8833
+ }];
8834
+ readonly stellar: readonly [{
8835
+ readonly symbol: "XLM";
8836
+ readonly name: "Stellar Lumens";
8837
+ readonly decimals: 7;
8838
+ readonly address: "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA";
8839
+ }, {
8840
+ readonly symbol: "bnUSD";
8841
+ readonly name: "bnUSD";
8842
+ readonly decimals: 7;
8843
+ readonly address: "CD6YBFFWMU2UJHX2NGRJ7RN76IJVTCC7MRA46DUBXNB7E6W7H7JRJ2CX";
8844
+ }];
8845
+ readonly sui: readonly [{
8846
+ readonly symbol: "SUI";
8847
+ readonly name: "SUI";
8848
+ readonly decimals: 9;
8849
+ readonly address: "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI";
8850
+ }, {
8851
+ readonly symbol: "bnUSD";
8852
+ readonly name: "bnUSD";
8853
+ readonly decimals: 9;
8854
+ readonly address: "0xff4de2b2b57dd7611d2812d231a467d007b702a101fd5c7ad3b278257cddb507::bnusd::BNUSD";
8855
+ }, {
8856
+ readonly symbol: "USDC";
8857
+ readonly name: "USD Coin";
8858
+ readonly decimals: 6;
8859
+ readonly address: "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC";
8860
+ }];
8861
+ readonly "injective-1": readonly [{
8862
+ readonly symbol: "INJ";
8863
+ readonly name: "Injective";
8864
+ readonly decimals: 18;
8865
+ readonly address: "inj";
8866
+ }, {
8867
+ readonly symbol: "bnUSD";
8868
+ readonly name: "bnUSD";
8869
+ readonly decimals: 18;
8870
+ readonly address: "factory/inj1d036ftaatxpkqsu9hja8r24rv3v33chz3appxp/bnUSD";
8871
+ }, {
8872
+ readonly symbol: "USDC";
8873
+ readonly name: "USD Coin";
8874
+ readonly decimals: 6;
8875
+ readonly address: "ibc/2CBC2EA121AE42563B08028466F37B600F2D7D4282342DE938283CC3FB2BC00E";
8876
+ }];
8877
+ readonly nibiru: readonly [];
8878
+ readonly sonic: readonly [{
8879
+ readonly symbol: "S";
8880
+ readonly name: "Sonic";
8881
+ readonly decimals: 18;
8882
+ readonly address: "0x0000000000000000000000000000000000000000";
8883
+ }, {
8884
+ readonly symbol: "WETH";
8885
+ readonly name: "Wrapped Ether";
8886
+ readonly decimals: 18;
8887
+ readonly address: "0x50c42dEAcD8Fc9773493ED674b675bE577f2634b";
8888
+ }, {
8889
+ readonly symbol: "USDC";
8890
+ readonly name: "USD Coin";
8891
+ readonly decimals: 6;
8892
+ readonly address: "0x29219dd400f2Bf60E5a23d13Be72B486D4038894";
8893
+ }, {
8894
+ readonly symbol: "USDT";
8895
+ readonly name: "Tether USD";
8896
+ readonly decimals: 6;
8897
+ readonly address: "0x6047828dc181963ba44974801FF68e538dA5eaF9";
8898
+ }, {
8899
+ readonly symbol: "wS";
8900
+ readonly name: "Wrapped Sonic";
8901
+ readonly decimals: 18;
8902
+ readonly address: "0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38";
8903
+ }];
8821
8904
  };
8822
- type JsonRpcPayloadResponse = {
8823
- id: number;
8824
- result: string;
8825
- };
8826
- declare function requestAddress(): Promise<Result<IconAddress>>;
8827
- declare function requestSigning(from: IconAddress, hash: string): Promise<Result<string>>;
8828
- declare function requestJsonRpc(rawTransaction: unknown, id?: number): Promise<Result<JsonRpcPayloadResponse>>;
8829
-
8830
- type SodaxConfig = {
8831
- solver?: SolverConfigParams;
8832
- moneyMarket?: MoneyMarketConfigParams;
8833
- migration?: MigrationServiceConfig;
8834
- hubProviderConfig?: EvmHubProviderConfig;
8835
- relayerApiEndpoint?: HttpUrl;
8836
- };
8837
- /**
8838
- * Sodax class is used to interact with the Sodax.
8839
- *
8840
- * @see https://docs.sodax.com
8841
- */
8842
- declare class Sodax {
8843
- readonly config?: SodaxConfig;
8844
- readonly solver: SolverService;
8845
- readonly moneyMarket: MoneyMarketService;
8846
- readonly migration: MigrationService;
8847
- private readonly hubProvider;
8848
- private readonly relayerApiEndpoint;
8849
- constructor(config?: SodaxConfig);
8850
- }
8851
-
8852
- /**
8853
- * ABI-encode an array of ContractCall objects.
8854
- * @param calls An array of ContractCall objects.
8855
- * @returns ABI-encoded bytes representing the array of ContractCall objects.
8856
- */
8857
- declare function encodeContractCalls(calls: EvmContractCall[]): Hex$1;
8858
- declare function waitForTransactionReceipt(hash: Hex$1, provider: IEvmWalletProvider): Promise<EvmRawTransactionReceipt>;
8859
-
8860
- declare function retry<T>(action: (retryCount: number) => Promise<T>, retryCount?: number, delayMs?: number): Promise<T>;
8861
- declare function getRandomBytes(length: number): Uint8Array;
8862
- declare function randomUint256(): bigint;
8863
- /**
8864
- * Calculate the fee amount as a percentage of the input amount
8865
- * @param {bigint} amount - The amount to calculate the fee for
8866
- * @param {number} percentage - The percentage of the fee in basis points (e.g. 100 = 1%, 10000 = 100%)
8867
- * @returns {bigint} The fee amount
8868
- */
8869
- declare function calculatePercentageFeeAmount(amount: bigint, percentage: number): bigint;
8870
- /**
8871
- * Calculate the fee amount for a given input amount and fee
8872
- * @param {bigint} inputAmount - The amount of input tokens
8873
- * @param {PartnerFee} fee - The fee to calculate
8874
- * @returns {bigint} The fee amount
8875
- */
8876
- declare function calculateFeeAmount(inputAmount: bigint, fee: PartnerFee | undefined): bigint;
8877
- declare function BigIntToHex(value: bigint): Hex$1;
8878
- declare function encodeAddress(spokeChainId: SpokeChainId, address: string): Hex$1;
8879
- /**
8880
- * Convert a valid hexadecimal string (with or without "0x") to BigInt.
8881
- * Throws on invalid hex.
8882
- */
8883
- declare function hexToBigInt(hex: string): bigint;
8905
+ declare const isMoneyMarketSupportedToken: (chainId: SpokeChainId, token: string) => boolean;
8906
+ declare const getSupportedMoneyMarketTokens: (chainId: SpokeChainId) => readonly Token[];
8907
+ declare const hubVaultsAddressSet: Set<`0x${string}`>;
8908
+ declare const moneyMarketReserveHubAssetsSet: Set<`0x${string}`>;
8909
+ declare const isMoneyMarketReserveHubAsset: (hubAsset: Address) => boolean;
8910
+ declare const moneyMarketReserveAssets: readonly [...("0x9D4b663Eb075d2a1C7B8eaEFB9eCCC0510388B51" | "0x62ecc3eeb80a162c57624b3ff80313fe69f5203e" | "0xc6c85287a8b173a509c2f198bb719a8a5a2d0c68" | "0x208ed38f4783328aa9ebfec360d32e7520a9b779" | "0xe801ca34e19abcbfea12025378d19c4fbe250131" | "0xabbb91c0617090f0028bdc27597cd0d038f3a833" | "0xbdf1f453fcb61424011bbddcb96cfdb30f3fe876" | "0x21685e341de7844135329914be6bd8d16982d834" | "0x14238d267557e9d799016ad635b53cd15935d290" | "0x40cd41b35db9e5109ae7e54b44de8625db320e6b" | "0x4effb5813271699683c25c734f4dabc45b363709" | "0x7a1a5555842ad2d0ed274d09b5c4406a95799d5d" | "0xdc5b4b00f98347e95b9f94911213dab4c687e1e3" | "0x1f22279c89b213944b7ea41dacb0a868ddcdfd13" | "0x6bc8c37cba91f76e68c9e6d689a9c21e4d32079b" | "0xdea692287e2ce8cb08fa52917be0f16b1dacdc87")[], `0x${string}`];
8911
+ declare const isMoneyMarketReserveAsset: (asset: Address) => boolean;
8912
+ declare const originalAssetTohubAssetMap: Map<SpokeChainId, Map<OriginalAssetAddress, HubAssetInfo>>;
8913
+ declare const hubAssetToOriginalAssetMap: Map<SpokeChainId, Map<Address, OriginalAssetAddress>>;
8914
+ declare const chainIdToHubAssetsMap: Map<SpokeChainId, Map<Address, HubAssetInfo>>;
8915
+ declare const supportedHubAssets: Set<Address>;
8916
+ declare const spokeChainIdsSet: Set<"0xa86a.avax" | "0xa4b1.arbitrum" | "0x2105.base" | "0x38.bsc" | "sonic" | "0xa.optimism" | "0x89.polygon" | "nibiru" | "injective-1" | "sui" | "solana" | "0x1.icon" | "stellar">;
8917
+ declare const getHubAssetInfo: (chainId: SpokeChainId, asset: OriginalAssetAddress) => HubAssetInfo | undefined;
8918
+ declare const isValidOriginalAssetAddress: (chainId: SpokeChainId, asset: OriginalAssetAddress) => boolean;
8919
+ declare const getOriginalAssetAddress: (chainId: SpokeChainId, hubAsset: Address) => OriginalAssetAddress | undefined;
8920
+ declare const isValidHubAsset: (hubAsset: Address) => boolean;
8921
+ declare const isValidChainHubAsset: (chainId: SpokeChainId, hubAsset: Address) => boolean;
8922
+ declare const isValidSpokeChainId: (chainId: SpokeChainId) => boolean;
8923
+ declare const isValidIntentRelayChainId: (chainId: bigint) => boolean;
8924
+ declare const supportedHubChains: HubChainId[];
8925
+ declare const supportedSpokeChains: SpokeChainId[];
8926
+ declare const intentRelayChainIdToSpokeChainIdMap: Map<IntentRelayChainId, SpokeChainId>;
8927
+ declare const supportedTokensPerChain: Map<SpokeChainId, readonly Token[]>;
8928
+ declare const getSpokeChainIdFromIntentRelayChainId: (intentRelayChainId: IntentRelayChainId) => SpokeChainId;
8929
+ declare const isNativeToken: (chainId: SpokeChainId, token: Token | string) => boolean;
8884
8930
 
8885
8931
  declare function isEvmHubChainConfig(value: HubChainConfig): value is EvmHubChainConfig;
8886
8932
  declare function isEvmSpokeChainConfig(value: SpokeChainConfig): value is EvmSpokeChainConfig;
@@ -8919,5 +8965,9 @@ declare function isMoneyMarketSupplyUnknownError(error: unknown): error is Money
8919
8965
  declare function isMoneyMarketBorrowUnknownError(error: unknown): error is MoneyMarketUnknownError<'BORROW_UNKNOWN_ERROR'>;
8920
8966
  declare function isMoneyMarketWithdrawUnknownError(error: unknown): error is MoneyMarketUnknownError<'WITHDRAW_UNKNOWN_ERROR'>;
8921
8967
  declare function isMoneyMarketRepayUnknownError(error: unknown): error is MoneyMarketUnknownError<'REPAY_UNKNOWN_ERROR'>;
8968
+ declare function isIcxMigrateParams(value: unknown): value is IcxMigrateParams;
8969
+ declare function isUnifiedBnUSDMigrateParams(value: unknown): value is UnifiedBnUSDMigrateParams;
8970
+ declare function isBalnMigrateParams(value: unknown): value is BalnMigrateParams;
8971
+ declare function isIcxCreateRevertMigrationParams(value: unknown): value is IcxCreateRevertMigrationParams;
8922
8972
 
8923
- export { type AggregatedReserveData, type AssetInfo, type BalnLockParams, type BalnMigrateParams, type BalnSwapAbi, BalnSwapService, type BaseCurrencyInfo, type BaseHubChainConfig, type BaseSpokeChainConfig, type BaseSpokeChainInfo, BigIntToHex, type BnUSDMigrateParams, BnUSDMigrationService, type BnUSDRevertMigrationParams, type BorrowInfo, ChainIdToIntentRelayChainId, type CreateIntentParams, type CustomProvider, DEFAULT_MAX_RETRY, DEFAULT_RELAYER_API_ENDPOINT, DEFAULT_RELAY_TX_TIMEOUT, DEFAULT_RETRY_DELAY_MS, type Default, type DetailedLock, EVM_CHAIN_IDS, EVM_SPOKE_CHAIN_IDS, Erc20Service, EvmAssetManagerService, type EvmChainId, type EvmContractCall, type EvmDepositToDataParams, type EvmGasEstimate, type EvmHubChainConfig, EvmHubProvider, type EvmHubProviderConfig, type EvmInitializedConfig, type EvmReturnType, EvmSolverService, type EvmSpokeChainConfig, type EvmSpokeChainId, type EvmSpokeDepositParams, EvmSpokeProvider, EvmSpokeService, type EvmTransferParams, type EvmTransferToHubParams, type EvmTxReturnType, type EvmUninitializedBrowserConfig, type EvmUninitializedConfig, type EvmUninitializedPrivateKeyConfig, EvmVaultTokenService, EvmWalletAbstraction, type EvmWithdrawAssetDataParams, FEE_PERCENTAGE_SCALE, type FeeAmount, type FeeData, type GasEstimateType, type GetAddressType, type GetEstimateGasReturnType, type GetMigrationFailedPayload, type GetMoneyMarketError, type GetMoneyMarketParams, type GetPacketParams, type GetPacketResponse, type GetRelayRequestParamType, type GetRelayResponse, type GetSpokeChainIdType, type GetSpokeDepositParamsType, type GetTransactionPacketsParams, type GetTransactionPacketsResponse, type HanaWalletRequestEvent, type HanaWalletResponseEvent, type HashTxReturnType, type HttpPrefixedUrl, type HttpUrl, type HubAssetInfo, type HubChainConfig, type HubChainInfo, type HubTxHash, type HubVaultSymbol, HubVaultSymbols, ICON_TX_RESULT_WAIT_MAX_RETRY, INTENT_RELAY_CHAIN_IDS, type ISpokeProvider, type IWalletProvider, type IconAddress, type IconContractAddress, type IconGasEstimate, type IconJsonRpcVersion, type IconRawTransaction, type IconReturnType, type IconSpokeChainConfig, IconSpokeProvider, type IcxCreateRevertMigrationParams, type IcxMigrateParams, IcxMigrationService, type IcxRawTransaction, type IcxRevertMigrationParams, type IcxTokenType, type InjectiveGasEstimate, type InjectiveReturnType, type InjectiveSpokeChainConfig, InjectiveSpokeProvider, type Intent, IntentCreatedEventAbi, type IntentCreatedEventLog, type IntentCreationFailedErrorData, type IntentData, IntentDataType, type IntentError, type IntentErrorCode, type IntentErrorData, type IntentRelayChainId, type IntentRelayRequest, type IntentRelayRequestParams, type IntentState, type IntentSubmitTxFailedErrorData, type IntentWaitUntilIntentExecutedFailedErrorData, IntentsAbi, type JsonRpcPayloadResponse, LockupMultiplier, LockupPeriod, MAX_UINT256, type MigrationAction, type MigrationError, type MigrationErrorCode, type MigrationErrorData, type MigrationFailedErrorData, type MigrationParams, type MigrationRevertParams, MigrationService, type MigrationServiceConfig, type MigrationTokens, type MoneyMarketAction, type MoneyMarketBorrowFailedError, type MoneyMarketBorrowParams, type MoneyMarketConfig, type MoneyMarketConfigParams, type MoneyMarketEncodeBorrowParams, type MoneyMarketEncodeRepayParams, type MoneyMarketEncodeRepayWithATokensParams, type MoneyMarketEncodeSupplyParams, type MoneyMarketEncodeWithdrawParams, type MoneyMarketError, type MoneyMarketErrorCode, type MoneyMarketExtraData, type MoneyMarketOptionalExtraData, type MoneyMarketParams, type MoneyMarketRepayFailedError, type MoneyMarketRepayParams, MoneyMarketService, type MoneyMarketServiceConfig, type MoneyMarketSubmitTxFailedError, type MoneyMarketSupplyFailedError, type MoneyMarketSupplyParams, type MoneyMarketUnknownError, type MoneyMarketUnknownErrorCode, type MoneyMarketWithdrawFailedError, type MoneyMarketWithdrawParams, type Optional, type PacketData, type PartnerFee, type PartnerFeeAmount, type PartnerFeeConfig, type PartnerFeePercentage, type Prettify, type PromiseEvmTxReturnType, type PromiseIconTxReturnType, type PromiseInjectiveTxReturnType, type PromiseSolanaTxReturnType, type PromiseStellarTxReturnType, type PromiseSuiTxReturnType, type PromiseTxReturnType, type QuoteType, type RawTxReturnType, type RelayAction, type RelayError, type RelayErrorCode, type RelayRequestDetail, type RelayRequestSigning, type RelayTxStatus, type RelayerApiConfig, type ReserveDataLegacy, type ResponseAddressType, type ResponseSigningType, type Result, STELLAR_DEFAULT_TX_TIMEOUT_SECONDS, STELLAR_PRIORITY_FEE, Sodax, type SodaxConfig, type SolanaChainConfig, type SolanaGasEstimate, type SolanaRawTransaction, type SolanaReturnType, SolanaSpokeProvider, type SolverConfig, type SolverConfigParams, type SolverErrorResponse, type SolverExecutionRequest, type SolverExecutionResponse, SolverIntentErrorCode, type SolverIntentQuoteRequest, type SolverIntentQuoteResponse, type SolverIntentQuoteResponseRaw, SolverIntentStatusCode, type SolverIntentStatusRequest, type SolverIntentStatusResponse, SolverService, type SolverServiceConfig, type SonicSpokeChainConfig, type SonicSpokeDepositParams, SonicSpokeProvider, SonicSpokeService, type SpokeChainConfig, type SpokeChainInfo, type SpokeDepositParams, type SpokeProvider, SpokeService, type SpokeTokenSymbols, type SpokeTxHash, type StellarGasEstimate, type StellarReturnType, type StellarRpcConfig, type StellarSpokeChainConfig, StellarSpokeProvider, type SubmitTxParams, type SubmitTxResponse, type SuiGasEstimate, type SuiRawTransaction, type SuiReturnType, type SuiSpokeChainConfig, SuiSpokeProvider, SupportedMigrationTokens, type TokenInfo, type TxReturnType, type UnstakeRequest, type UserReserveData, VAULT_TOKEN_DECIMALS, type VaultReserves, type VaultType, type WaitUntilIntentExecutedPayload, WalletAbstractionService, type WithdrawInfo, assetManagerAbi, balnSwapAbi, type bnUSDLegacyAddress, type bnUSDLegacyMigrationProviders, type bnUSDLegacySpokeChainId, calculateFeeAmount, calculatePercentageFeeAmount, chainIdToHubAssetsMap, connectionAbi, encodeAddress, encodeContractCalls, erc20Abi, getEvmViemChain, getHubAssetInfo, getHubChainConfig, getIconAddressBytes, getIntentRelayChainId, getMoneyMarketConfig, getOriginalAssetAddress, getPacket, getRandomBytes, getSolanaAddressBytes, getSolverConfig, getSpokeChainIdFromIntentRelayChainId, getSupportedMoneyMarketTokens, getSupportedSolverTokens, getTransactionPackets, hexToBigInt, hubAssetToOriginalAssetMap, hubAssets, hubVaults, hubVaultsAddressSet, intentRelayChainIdToSpokeChainIdMap, isConfiguredMoneyMarketConfig, isConfiguredSolverConfig, isEvmHubChainConfig, isEvmInitializedConfig, isEvmSpokeChainConfig, isEvmSpokeProvider, isEvmUninitializedBrowserConfig, isEvmUninitializedConfig, isEvmUninitializedPrivateKeyConfig, isIconAddress, isIconSpokeProvider, isInjectiveSpokeProvider, isIntentCreationFailedError, isIntentCreationUnknownError, isIntentPostExecutionFailedError, isIntentRelayChainId, isIntentSubmitTxFailedError, isJsonRpcPayloadResponse, isMoneyMarketBorrowUnknownError, isMoneyMarketCreateBorrowIntentFailedError, isMoneyMarketCreateRepayIntentFailedError, isMoneyMarketCreateSupplyIntentFailedError, isMoneyMarketCreateWithdrawIntentFailedError, isMoneyMarketRelayTimeoutError, isMoneyMarketRepayUnknownError, isMoneyMarketReserveAsset, isMoneyMarketReserveHubAsset, isMoneyMarketSubmitTxFailedError, isMoneyMarketSupplyUnknownError, isMoneyMarketSupportedToken, isMoneyMarketWithdrawUnknownError, isNativeToken, isPartnerFeeAmount, isPartnerFeePercentage, isResponseAddressType, isResponseSigningType, isSolanaSpokeProvider, isSolverSupportedToken, isSonicSpokeProvider, isStellarSpokeProvider, isSuiSpokeProvider, isValidChainHubAsset, isValidHubAsset, isValidIntentRelayChainId, isValidOriginalAssetAddress, isValidSpokeChainId, isWaitUntilIntentExecutedFailed, migrationConfig, moneyMarketReserveAssets, moneyMarketReserveHubAssetsSet, moneyMarketSupportedTokens, originalAssetTohubAssetMap, poolAbi, randomUint256, relayTxAndWaitPacket, requestAddress, requestJsonRpc, requestSigning, retry, sonicWalletFactoryAbi, spokeAssetManagerAbi, spokeChainConfig, spokeChainIdsSet, submitTransaction, supportedHubAssets, supportedHubChains, supportedSpokeChains, supportedTokensPerChain, uiPoolDataAbi, variableDebtTokenAbi, vaultTokenAbi, waitForTransactionReceipt, waitUntilIntentExecuted, walletFactoryAbi, wrappedSonicAbi };
8973
+ export { type AggregatedReserveData, type AssetInfo, type BalnLockParams, type BalnMigrateParams, type BalnSwapAbi, BalnSwapService, type BaseCurrencyInfo, type BaseHubChainConfig, type BaseSpokeChainConfig, type BaseSpokeChainInfo, BigIntToHex, BnUSDMigrationService, type BnUSDRevertMigrationParams, type BorrowInfo, ChainIdToIntentRelayChainId, type CreateIntentParams, type CustomProvider, DEFAULT_MAX_RETRY, DEFAULT_RELAYER_API_ENDPOINT, DEFAULT_RELAY_TX_TIMEOUT, DEFAULT_RETRY_DELAY_MS, type Default, type DetailedLock, EVM_CHAIN_IDS, EVM_SPOKE_CHAIN_IDS, Erc20Service, EvmAssetManagerService, type EvmChainId, type EvmContractCall, type EvmDepositToDataParams, type EvmGasEstimate, type EvmHubChainConfig, EvmHubProvider, type EvmHubProviderConfig, type EvmInitializedConfig, type EvmReturnType, EvmSolverService, type EvmSpokeChainConfig, type EvmSpokeChainId, type EvmSpokeDepositParams, EvmSpokeProvider, EvmSpokeService, type EvmTransferParams, type EvmTransferToHubParams, type EvmTxReturnType, type EvmUninitializedBrowserConfig, type EvmUninitializedConfig, type EvmUninitializedPrivateKeyConfig, EvmVaultTokenService, EvmWalletAbstraction, type EvmWithdrawAssetDataParams, FEE_PERCENTAGE_SCALE, type FeeAmount, type FeeData, type GasEstimateType, type GetAddressType, type GetEstimateGasReturnType, type GetMigrationFailedPayload, type GetMoneyMarketError, type GetMoneyMarketParams, type GetPacketParams, type GetPacketResponse, type GetRelayRequestParamType, type GetRelayResponse, type GetSpokeChainIdType, type GetSpokeDepositParamsType, type GetTransactionPacketsParams, type GetTransactionPacketsResponse, type HanaWalletRequestEvent, type HanaWalletResponseEvent, type HashTxReturnType, type HttpPrefixedUrl, type HttpUrl, type HubAssetInfo, type HubChainConfig, type HubChainInfo, type HubTxHash, type HubVaultSymbol, HubVaultSymbols, ICON_TX_RESULT_WAIT_MAX_RETRY, INTENT_RELAY_CHAIN_IDS, type ISpokeProvider, type IWalletProvider, type IconAddress, type IconContractAddress, type IconGasEstimate, type IconJsonRpcVersion, type IconRawTransaction, type IconReturnType, type IconSpokeChainConfig, IconSpokeProvider, type IcxCreateRevertMigrationParams, type IcxMigrateParams, IcxMigrationService, type IcxRawTransaction, type IcxRevertMigrationParams, type IcxTokenType, type InjectiveGasEstimate, type InjectiveReturnType, type InjectiveSpokeChainConfig, InjectiveSpokeProvider, type Intent, IntentCreatedEventAbi, type IntentCreatedEventLog, type IntentCreationFailedErrorData, type IntentData, IntentDataType, type IntentError, type IntentErrorCode, type IntentErrorData, type IntentRelayChainId, type IntentRelayRequest, type IntentRelayRequestParams, type IntentState, type IntentSubmitTxFailedErrorData, type IntentWaitUntilIntentExecutedFailedErrorData, IntentsAbi, type JsonRpcPayloadResponse, type LegacybnUSDChainId, type LegacybnUSDToken, type LegacybnUSDTokenAddress, LockupMultiplier, LockupPeriod, MAX_UINT256, type MigrationAction, type MigrationError, type MigrationErrorCode, type MigrationErrorData, type MigrationFailedErrorData, type MigrationParams, type MigrationRevertParams, MigrationService, type MigrationServiceConfig, type MigrationTokens, type MoneyMarketAction, type MoneyMarketBorrowFailedError, type MoneyMarketBorrowParams, type MoneyMarketConfig, type MoneyMarketConfigParams, type MoneyMarketEncodeBorrowParams, type MoneyMarketEncodeRepayParams, type MoneyMarketEncodeRepayWithATokensParams, type MoneyMarketEncodeSupplyParams, type MoneyMarketEncodeWithdrawParams, type MoneyMarketError, type MoneyMarketErrorCode, type MoneyMarketExtraData, type MoneyMarketOptionalExtraData, type MoneyMarketParams, type MoneyMarketRepayFailedError, type MoneyMarketRepayParams, MoneyMarketService, type MoneyMarketServiceConfig, type MoneyMarketSubmitTxFailedError, type MoneyMarketSupplyFailedError, type MoneyMarketSupplyParams, type MoneyMarketUnknownError, type MoneyMarketUnknownErrorCode, type MoneyMarketWithdrawFailedError, type MoneyMarketWithdrawParams, type NewbnUSDChainId, type Optional, type PacketData, type PartnerFee, type PartnerFeeAmount, type PartnerFeeConfig, type PartnerFeePercentage, type Prettify, type PromiseEvmTxReturnType, type PromiseIconTxReturnType, type PromiseInjectiveTxReturnType, type PromiseSolanaTxReturnType, type PromiseStellarTxReturnType, type PromiseSuiTxReturnType, type PromiseTxReturnType, type QuoteType, type RawTxReturnType, type RelayAction, type RelayError, type RelayErrorCode, type RelayRequestDetail, type RelayRequestSigning, type RelayTxStatus, type RelayerApiConfig, type ReserveDataLegacy, type ResponseAddressType, type ResponseSigningType, type Result, STELLAR_DEFAULT_TX_TIMEOUT_SECONDS, STELLAR_PRIORITY_FEE, Sodax, type SodaxConfig, type SolanaChainConfig, type SolanaGasEstimate, type SolanaRawTransaction, type SolanaReturnType, SolanaSpokeProvider, type SolverConfig, type SolverConfigParams, type SolverErrorResponse, type SolverExecutionRequest, type SolverExecutionResponse, SolverIntentErrorCode, type SolverIntentQuoteRequest, type SolverIntentQuoteResponse, type SolverIntentQuoteResponseRaw, SolverIntentStatusCode, type SolverIntentStatusRequest, type SolverIntentStatusResponse, SolverService, type SolverServiceConfig, type SonicSpokeChainConfig, type SonicSpokeDepositParams, SonicSpokeProvider, SonicSpokeService, type SpokeChainConfig, type SpokeChainInfo, type SpokeDepositParams, type SpokeProvider, SpokeService, type SpokeTokenSymbols, type SpokeTxHash, type StellarGasEstimate, type StellarReturnType, type StellarRpcConfig, type StellarSpokeChainConfig, StellarSpokeProvider, type SubmitTxParams, type SubmitTxResponse, type SuiGasEstimate, type SuiRawTransaction, type SuiReturnType, type SuiSpokeChainConfig, SuiSpokeProvider, SupportedMigrationTokens, type TokenInfo, type TxReturnType, type UnifiedBnUSDMigrateParams, type UnstakeRequest, type UserReserveData, VAULT_TOKEN_DECIMALS, type VaultReserves, type VaultType, type WaitUntilIntentExecutedPayload, WalletAbstractionService, type WithdrawInfo, assetManagerAbi, balnSwapAbi, bnUSDLegacySpokeChainIds, bnUSDLegacyTokens, bnUSDNewTokens, calculateFeeAmount, calculatePercentageFeeAmount, chainIdToHubAssetsMap, connectionAbi, encodeAddress, encodeContractCalls, erc20Abi, getAllLegacybnUSDTokens, getEvmViemChain, getHubAssetInfo, getHubChainConfig, getIconAddressBytes, getIntentRelayChainId, getMoneyMarketConfig, getOriginalAssetAddress, getPacket, getRandomBytes, getSolanaAddressBytes, getSolverConfig, getSpokeChainIdFromIntentRelayChainId, getSupportedMoneyMarketTokens, getSupportedSolverTokens, getTransactionPackets, hexToBigInt, hubAssetToOriginalAssetMap, hubAssets, hubVaults, hubVaultsAddressSet, intentRelayChainIdToSpokeChainIdMap, isBalnMigrateParams, isConfiguredMoneyMarketConfig, isConfiguredSolverConfig, isEvmHubChainConfig, isEvmInitializedConfig, isEvmSpokeChainConfig, isEvmSpokeProvider, isEvmUninitializedBrowserConfig, isEvmUninitializedConfig, isEvmUninitializedPrivateKeyConfig, isIconAddress, isIconSpokeProvider, isIcxCreateRevertMigrationParams, isIcxMigrateParams, isInjectiveSpokeProvider, isIntentCreationFailedError, isIntentCreationUnknownError, isIntentPostExecutionFailedError, isIntentRelayChainId, isIntentSubmitTxFailedError, isJsonRpcPayloadResponse, isLegacybnUSDChainId, isLegacybnUSDToken, isMoneyMarketBorrowUnknownError, isMoneyMarketCreateBorrowIntentFailedError, isMoneyMarketCreateRepayIntentFailedError, isMoneyMarketCreateSupplyIntentFailedError, isMoneyMarketCreateWithdrawIntentFailedError, isMoneyMarketRelayTimeoutError, isMoneyMarketRepayUnknownError, isMoneyMarketReserveAsset, isMoneyMarketReserveHubAsset, isMoneyMarketSubmitTxFailedError, isMoneyMarketSupplyUnknownError, isMoneyMarketSupportedToken, isMoneyMarketWithdrawUnknownError, isNativeToken, isNewbnUSDChainId, isNewbnUSDToken, isPartnerFeeAmount, isPartnerFeePercentage, isResponseAddressType, isResponseSigningType, isSolanaSpokeProvider, isSolverSupportedToken, isSonicSpokeProvider, isStellarSpokeProvider, isSuiSpokeProvider, isUnifiedBnUSDMigrateParams, isValidChainHubAsset, isValidHubAsset, isValidIntentRelayChainId, isValidOriginalAssetAddress, isValidSpokeChainId, isWaitUntilIntentExecutedFailed, moneyMarketReserveAssets, moneyMarketReserveHubAssetsSet, moneyMarketSupportedTokens, newbnUSDSpokeChainIds, originalAssetTohubAssetMap, poolAbi, randomUint256, relayTxAndWaitPacket, requestAddress, requestJsonRpc, requestSigning, retry, sonicWalletFactoryAbi, spokeAssetManagerAbi, spokeChainConfig, spokeChainIdsSet, submitTransaction, supportedHubAssets, supportedHubChains, supportedSpokeChains, supportedTokensPerChain, uiPoolDataAbi, variableDebtTokenAbi, vaultTokenAbi, waitForTransactionReceipt, waitUntilIntentExecuted, walletFactoryAbi, wrappedSonicAbi };