@sodax/sdk 0.0.1-rc.7 → 0.0.1-rc.9
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/README.md +3 -1
- package/dist/index.cjs +11147 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +6831 -0
- package/dist/index.d.ts +6830 -9
- package/dist/index.mjs +10991 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +20 -5
- package/dist/abis/asset-manager.abi.d.ts +0 -418
- package/dist/abis/asset-manager.abi.d.ts.map +0 -1
- package/dist/abis/asset-manager.abi.js +0 -542
- package/dist/abis/asset-manager.abi.js.map +0 -1
- package/dist/abis/connection.abi.d.ts +0 -72
- package/dist/abis/connection.abi.d.ts.map +0 -1
- package/dist/abis/connection.abi.js +0 -92
- package/dist/abis/connection.abi.js.map +0 -1
- package/dist/abis/erc20.abi.d.ts +0 -236
- package/dist/abis/erc20.abi.d.ts.map +0 -1
- package/dist/abis/erc20.abi.js +0 -311
- package/dist/abis/erc20.abi.js.map +0 -1
- package/dist/abis/index.d.ts +0 -10
- package/dist/abis/index.d.ts.map +0 -1
- package/dist/abis/index.js +0 -10
- package/dist/abis/index.js.map +0 -1
- package/dist/abis/intents.abi.d.ts +0 -901
- package/dist/abis/intents.abi.d.ts.map +0 -1
- package/dist/abis/intents.abi.js +0 -1158
- package/dist/abis/intents.abi.js.map +0 -1
- package/dist/abis/pool.abi.d.ts +0 -626
- package/dist/abis/pool.abi.d.ts.map +0 -1
- package/dist/abis/pool.abi.js +0 -812
- package/dist/abis/pool.abi.js.map +0 -1
- package/dist/abis/spokeAssetManager.abi.d.ts +0 -169
- package/dist/abis/spokeAssetManager.abi.d.ts.map +0 -1
- package/dist/abis/spokeAssetManager.abi.js +0 -217
- package/dist/abis/spokeAssetManager.abi.js.map +0 -1
- package/dist/abis/uiPoolData.abi.d.ts +0 -369
- package/dist/abis/uiPoolData.abi.d.ts.map +0 -1
- package/dist/abis/uiPoolData.abi.js +0 -476
- package/dist/abis/uiPoolData.abi.js.map +0 -1
- package/dist/abis/vaultToken.abi.d.ts +0 -816
- package/dist/abis/vaultToken.abi.d.ts.map +0 -1
- package/dist/abis/vaultToken.abi.js +0 -1062
- package/dist/abis/vaultToken.abi.js.map +0 -1
- package/dist/abis/walletFactory.abi.d.ts +0 -20
- package/dist/abis/walletFactory.abi.d.ts.map +0 -1
- package/dist/abis/walletFactory.abi.js +0 -27
- package/dist/abis/walletFactory.abi.js.map +0 -1
- package/dist/constants.d.ts +0 -550
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -1189
- package/dist/constants.js.map +0 -1
- package/dist/constants.test.d.ts +0 -2
- package/dist/constants.test.d.ts.map +0 -1
- package/dist/constants.test.js +0 -129
- package/dist/constants.test.js.map +0 -1
- package/dist/entities/Providers.d.ts +0 -52
- package/dist/entities/Providers.d.ts.map +0 -1
- package/dist/entities/Providers.js +0 -49
- package/dist/entities/Providers.js.map +0 -1
- package/dist/entities/Sodax.d.ts +0 -23
- package/dist/entities/Sodax.d.ts.map +0 -1
- package/dist/entities/Sodax.js +0 -29
- package/dist/entities/Sodax.js.map +0 -1
- package/dist/entities/Sodax.test.d.ts +0 -2
- package/dist/entities/Sodax.test.d.ts.map +0 -1
- package/dist/entities/Sodax.test.js +0 -392
- package/dist/entities/Sodax.test.js.map +0 -1
- package/dist/entities/cosmos/CW20Token.d.ts +0 -39
- package/dist/entities/cosmos/CW20Token.d.ts.map +0 -1
- package/dist/entities/cosmos/CW20Token.js +0 -65
- package/dist/entities/cosmos/CW20Token.js.map +0 -1
- package/dist/entities/cosmos/CWSpokeProvider.d.ts +0 -78
- package/dist/entities/cosmos/CWSpokeProvider.d.ts.map +0 -1
- package/dist/entities/cosmos/CWSpokeProvider.js +0 -127
- package/dist/entities/cosmos/CWSpokeProvider.js.map +0 -1
- package/dist/entities/icon/HanaWalletConnector.d.ts +0 -36
- package/dist/entities/icon/HanaWalletConnector.d.ts.map +0 -1
- package/dist/entities/icon/HanaWalletConnector.js +0 -92
- package/dist/entities/icon/HanaWalletConnector.js.map +0 -1
- package/dist/entities/icon/IconSpokeProvider.d.ts +0 -10
- package/dist/entities/icon/IconSpokeProvider.d.ts.map +0 -1
- package/dist/entities/icon/IconSpokeProvider.js +0 -12
- package/dist/entities/icon/IconSpokeProvider.js.map +0 -1
- package/dist/entities/icon/index.d.ts +0 -4
- package/dist/entities/icon/index.d.ts.map +0 -1
- package/dist/entities/icon/index.js +0 -4
- package/dist/entities/icon/index.js.map +0 -1
- package/dist/entities/icon/utils.d.ts +0 -3
- package/dist/entities/icon/utils.d.ts.map +0 -1
- package/dist/entities/icon/utils.js +0 -4
- package/dist/entities/icon/utils.js.map +0 -1
- package/dist/entities/index.d.ts +0 -7
- package/dist/entities/index.d.ts.map +0 -1
- package/dist/entities/index.js +0 -7
- package/dist/entities/index.js.map +0 -1
- package/dist/entities/solana/Configs.d.ts +0 -10
- package/dist/entities/solana/Configs.d.ts.map +0 -1
- package/dist/entities/solana/Configs.js +0 -50
- package/dist/entities/solana/Configs.js.map +0 -1
- package/dist/entities/solana/SolanaSpokeProvider.d.ts +0 -9
- package/dist/entities/solana/SolanaSpokeProvider.d.ts.map +0 -1
- package/dist/entities/solana/SolanaSpokeProvider.js +0 -9
- package/dist/entities/solana/SolanaSpokeProvider.js.map +0 -1
- package/dist/entities/solana/SolanaWalletProvider.d.ts +0 -20
- package/dist/entities/solana/SolanaWalletProvider.d.ts.map +0 -1
- package/dist/entities/solana/SolanaWalletProvider.js +0 -53
- package/dist/entities/solana/SolanaWalletProvider.js.map +0 -1
- package/dist/entities/solana/index.d.ts +0 -4
- package/dist/entities/solana/index.d.ts.map +0 -1
- package/dist/entities/solana/index.js +0 -4
- package/dist/entities/solana/index.js.map +0 -1
- package/dist/entities/solana/pda/pda.d.ts +0 -45
- package/dist/entities/solana/pda/pda.d.ts.map +0 -1
- package/dist/entities/solana/pda/pda.js +0 -44
- package/dist/entities/solana/pda/pda.js.map +0 -1
- package/dist/entities/solana/types/asset_manager.d.ts +0 -919
- package/dist/entities/solana/types/asset_manager.d.ts.map +0 -1
- package/dist/entities/solana/types/asset_manager.js +0 -2
- package/dist/entities/solana/types/asset_manager.js.map +0 -1
- package/dist/entities/solana/types/connection.d.ts +0 -446
- package/dist/entities/solana/types/connection.d.ts.map +0 -1
- package/dist/entities/solana/types/connection.js +0 -2
- package/dist/entities/solana/types/connection.js.map +0 -1
- package/dist/entities/solana/types/rate_limit_contract.d.ts +0 -348
- package/dist/entities/solana/types/rate_limit_contract.d.ts.map +0 -1
- package/dist/entities/solana/types/rate_limit_contract.js +0 -2
- package/dist/entities/solana/types/rate_limit_contract.js.map +0 -1
- package/dist/entities/solana/utils/utils.d.ts +0 -6
- package/dist/entities/solana/utils/utils.d.ts.map +0 -1
- package/dist/entities/solana/utils/utils.js +0 -18
- package/dist/entities/solana/utils/utils.js.map +0 -1
- package/dist/entities/stellar/StellarSpokeProvider.d.ts +0 -17
- package/dist/entities/stellar/StellarSpokeProvider.d.ts.map +0 -1
- package/dist/entities/stellar/StellarSpokeProvider.js +0 -125
- package/dist/entities/stellar/StellarSpokeProvider.js.map +0 -1
- package/dist/entities/sui/SuiSpokeProvider.d.ts +0 -35
- package/dist/entities/sui/SuiSpokeProvider.d.ts.map +0 -1
- package/dist/entities/sui/SuiSpokeProvider.js +0 -145
- package/dist/entities/sui/SuiSpokeProvider.js.map +0 -1
- package/dist/errors.d.ts +0 -2
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -2
- package/dist/errors.js.map +0 -1
- package/dist/guards.d.ts +0 -25
- package/dist/guards.d.ts.map +0 -1
- package/dist/guards.js +0 -110
- package/dist/guards.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -10
- package/dist/index.js.map +0 -1
- package/dist/services/hub/EvmAssetManagerService.d.ts +0 -61
- package/dist/services/hub/EvmAssetManagerService.d.ts.map +0 -1
- package/dist/services/hub/EvmAssetManagerService.js +0 -103
- package/dist/services/hub/EvmAssetManagerService.js.map +0 -1
- package/dist/services/hub/EvmVaultTokenService.d.ts +0 -81
- package/dist/services/hub/EvmVaultTokenService.d.ts.map +0 -1
- package/dist/services/hub/EvmVaultTokenService.js +0 -161
- package/dist/services/hub/EvmVaultTokenService.js.map +0 -1
- package/dist/services/hub/EvmWalletAbstraction.d.ts +0 -9
- package/dist/services/hub/EvmWalletAbstraction.d.ts.map +0 -1
- package/dist/services/hub/EvmWalletAbstraction.js +0 -14
- package/dist/services/hub/EvmWalletAbstraction.js.map +0 -1
- package/dist/services/hub/index.d.ts +0 -4
- package/dist/services/hub/index.d.ts.map +0 -1
- package/dist/services/hub/index.js +0 -4
- package/dist/services/hub/index.js.map +0 -1
- package/dist/services/index.d.ts +0 -7
- package/dist/services/index.d.ts.map +0 -1
- package/dist/services/index.js +0 -7
- package/dist/services/index.js.map +0 -1
- package/dist/services/intentRelay/IntentRelayApiService.d.ts +0 -112
- package/dist/services/intentRelay/IntentRelayApiService.d.ts.map +0 -1
- package/dist/services/intentRelay/IntentRelayApiService.js +0 -160
- package/dist/services/intentRelay/IntentRelayApiService.js.map +0 -1
- package/dist/services/intentRelay/IntentRelayApiService.test.d.ts +0 -2
- package/dist/services/intentRelay/IntentRelayApiService.test.d.ts.map +0 -1
- package/dist/services/intentRelay/IntentRelayApiService.test.js +0 -134
- package/dist/services/intentRelay/IntentRelayApiService.test.js.map +0 -1
- package/dist/services/intentRelay/index.d.ts +0 -2
- package/dist/services/intentRelay/index.d.ts.map +0 -1
- package/dist/services/intentRelay/index.js +0 -2
- package/dist/services/intentRelay/index.js.map +0 -1
- package/dist/services/moneyMarket/MoneyMarketService.d.ts +0 -525
- package/dist/services/moneyMarket/MoneyMarketService.d.ts.map +0 -1
- package/dist/services/moneyMarket/MoneyMarketService.js +0 -814
- package/dist/services/moneyMarket/MoneyMarketService.js.map +0 -1
- package/dist/services/moneyMarket/MoneyMarketService.test.d.ts +0 -2
- package/dist/services/moneyMarket/MoneyMarketService.test.d.ts.map +0 -1
- package/dist/services/moneyMarket/MoneyMarketService.test.js +0 -262
- package/dist/services/moneyMarket/MoneyMarketService.test.js.map +0 -1
- package/dist/services/moneyMarket/index.d.ts +0 -2
- package/dist/services/moneyMarket/index.d.ts.map +0 -1
- package/dist/services/moneyMarket/index.js +0 -2
- package/dist/services/moneyMarket/index.js.map +0 -1
- package/dist/services/shared/Erc20Service.d.ts +0 -42
- package/dist/services/shared/Erc20Service.d.ts.map +0 -1
- package/dist/services/shared/Erc20Service.js +0 -108
- package/dist/services/shared/Erc20Service.js.map +0 -1
- package/dist/services/shared/index.d.ts +0 -2
- package/dist/services/shared/index.d.ts.map +0 -1
- package/dist/services/shared/index.js +0 -2
- package/dist/services/shared/index.js.map +0 -1
- package/dist/services/solver/EvmSolverService.d.ts +0 -125
- package/dist/services/solver/EvmSolverService.d.ts.map +0 -1
- package/dist/services/solver/EvmSolverService.js +0 -166
- package/dist/services/solver/EvmSolverService.js.map +0 -1
- package/dist/services/solver/SolverApiService.d.ts +0 -40
- package/dist/services/solver/SolverApiService.d.ts.map +0 -1
- package/dist/services/solver/SolverApiService.js +0 -157
- package/dist/services/solver/SolverApiService.js.map +0 -1
- package/dist/services/solver/SolverApiService.test.d.ts +0 -2
- package/dist/services/solver/SolverApiService.test.d.ts.map +0 -1
- package/dist/services/solver/SolverApiService.test.js +0 -181
- package/dist/services/solver/SolverApiService.test.js.map +0 -1
- package/dist/services/solver/SolverService.d.ts +0 -295
- package/dist/services/solver/SolverService.d.ts.map +0 -1
- package/dist/services/solver/SolverService.js +0 -429
- package/dist/services/solver/SolverService.js.map +0 -1
- package/dist/services/solver/SolverService.test.d.ts +0 -2
- package/dist/services/solver/SolverService.test.d.ts.map +0 -1
- package/dist/services/solver/SolverService.test.js +0 -439
- package/dist/services/solver/SolverService.test.js.map +0 -1
- package/dist/services/solver/index.d.ts +0 -3
- package/dist/services/solver/index.d.ts.map +0 -1
- package/dist/services/solver/index.js +0 -3
- package/dist/services/solver/index.js.map +0 -1
- package/dist/services/spoke/CWSpokeService.d.ts +0 -67
- package/dist/services/spoke/CWSpokeService.d.ts.map +0 -1
- package/dist/services/spoke/CWSpokeService.js +0 -75
- package/dist/services/spoke/CWSpokeService.js.map +0 -1
- package/dist/services/spoke/EvmSpokeService.d.ts +0 -62
- package/dist/services/spoke/EvmSpokeService.d.ts.map +0 -1
- package/dist/services/spoke/EvmSpokeService.js +0 -120
- package/dist/services/spoke/EvmSpokeService.js.map +0 -1
- package/dist/services/spoke/IconSpokeService.d.ts +0 -56
- package/dist/services/spoke/IconSpokeService.d.ts.map +0 -1
- package/dist/services/spoke/IconSpokeService.js +0 -127
- package/dist/services/spoke/IconSpokeService.js.map +0 -1
- package/dist/services/spoke/SolanaSpokeService.d.ts +0 -46
- package/dist/services/spoke/SolanaSpokeService.d.ts.map +0 -1
- package/dist/services/spoke/SolanaSpokeService.js +0 -164
- package/dist/services/spoke/SolanaSpokeService.js.map +0 -1
- package/dist/services/spoke/SpokeService.d.ts +0 -34
- package/dist/services/spoke/SpokeService.d.ts.map +0 -1
- package/dist/services/spoke/SpokeService.js +0 -101
- package/dist/services/spoke/SpokeService.js.map +0 -1
- package/dist/services/spoke/StellarSpokeService.d.ts +0 -35
- package/dist/services/spoke/StellarSpokeService.d.ts.map +0 -1
- package/dist/services/spoke/StellarSpokeService.js +0 -39
- package/dist/services/spoke/StellarSpokeService.js.map +0 -1
- package/dist/services/spoke/SuiSpokeService.d.ts +0 -69
- package/dist/services/spoke/SuiSpokeService.d.ts.map +0 -1
- package/dist/services/spoke/SuiSpokeService.js +0 -73
- package/dist/services/spoke/SuiSpokeService.js.map +0 -1
- package/dist/services/spoke/index.d.ts +0 -3
- package/dist/services/spoke/index.d.ts.map +0 -1
- package/dist/services/spoke/index.js +0 -3
- package/dist/services/spoke/index.js.map +0 -1
- package/dist/tests/services/hub/EvmAssetManagerService.test.d.ts +0 -2
- package/dist/tests/services/hub/EvmAssetManagerService.test.d.ts.map +0 -1
- package/dist/tests/services/hub/EvmAssetManagerService.test.js +0 -138
- package/dist/tests/services/hub/EvmAssetManagerService.test.js.map +0 -1
- package/dist/tests/services/hub/EvmMoneyMarketService.test.d.ts +0 -2
- package/dist/tests/services/hub/EvmMoneyMarketService.test.d.ts.map +0 -1
- package/dist/tests/services/hub/EvmMoneyMarketService.test.js +0 -121
- package/dist/tests/services/hub/EvmMoneyMarketService.test.js.map +0 -1
- package/dist/tests/services/hub/EvmVaultTokenService.test.d.ts +0 -2
- package/dist/tests/services/hub/EvmVaultTokenService.test.d.ts.map +0 -1
- package/dist/tests/services/hub/EvmVaultTokenService.test.js +0 -98
- package/dist/tests/services/hub/EvmVaultTokenService.test.js.map +0 -1
- package/dist/tests/services/spoke/EvmSpokeService.test.d.ts +0 -2
- package/dist/tests/services/spoke/EvmSpokeService.test.d.ts.map +0 -1
- package/dist/tests/services/spoke/EvmSpokeService.test.js +0 -198
- package/dist/tests/services/spoke/EvmSpokeService.test.js.map +0 -1
- package/dist/types.d.ts +0 -345
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -30
- package/dist/types.js.map +0 -1
- package/dist/utils/evm-utils.d.ts +0 -10
- package/dist/utils/evm-utils.d.ts.map +0 -1
- package/dist/utils/evm-utils.js +0 -15
- package/dist/utils/evm-utils.js.map +0 -1
- package/dist/utils/index.d.ts +0 -3
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -3
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/shared-utils.d.ts +0 -20
- package/dist/utils/shared-utils.d.ts.map +0 -1
- package/dist/utils/shared-utils.js +0 -69
- package/dist/utils/shared-utils.js.map +0 -1
- package/dist/utils/shared-utils.test.d.ts +0 -2
- package/dist/utils/shared-utils.test.d.ts.map +0 -1
- package/dist/utils/shared-utils.test.js +0 -63
- package/dist/utils/shared-utils.test.js.map +0 -1
package/dist/types.d.ts
DELETED
|
@@ -1,345 +0,0 @@
|
|
|
1
|
-
import type { PublicKey } from '@solana/web3.js';
|
|
2
|
-
import type { TransactionReceipt } from 'viem';
|
|
3
|
-
import type { CWSpokeProvider } from './entities/cosmos/CWSpokeProvider.js';
|
|
4
|
-
import type { EvmSpokeProvider, ISpokeProvider, IconSpokeProvider, SolanaSpokeProvider, SpokeProvider, StellarSpokeProvider, SuiSpokeProvider } from './entities/index.js';
|
|
5
|
-
import type { EVM_CHAIN_IDS, EVM_SPOKE_CHAIN_IDS, INTENT_RELAY_CHAIN_IDS, spokeChainConfig } from './index.js';
|
|
6
|
-
import type { EvmSpokeDepositParams } from './services/index.js';
|
|
7
|
-
import type { CWSpokeDepositParams } from './services/spoke/CWSpokeService.js';
|
|
8
|
-
import type { IconSpokeDepositParams } from './services/spoke/IconSpokeService.js';
|
|
9
|
-
import type { SolanaSpokeDepositParams } from './services/spoke/SolanaSpokeService.js';
|
|
10
|
-
import type { StellarSpokeDepositParams } from './services/spoke/StellarSpokeService.js';
|
|
11
|
-
import type { SuiSpokeDepositParams } from './services/spoke/SuiSpokeService.js';
|
|
12
|
-
import type { ChainType, Token, HubChainId, SpokeChainId, Hex, Address, EvmRawTransaction, StellarRawTransaction, CWRawTransaction, CosmosNetworkEnv } from '@sodax/types';
|
|
13
|
-
export type IntentRelayChainId = (typeof INTENT_RELAY_CHAIN_IDS)[keyof typeof INTENT_RELAY_CHAIN_IDS];
|
|
14
|
-
export type EvmChainId = (typeof EVM_CHAIN_IDS)[number];
|
|
15
|
-
export type EvmSpokeChainId = (typeof EVM_SPOKE_CHAIN_IDS)[number];
|
|
16
|
-
export type BaseSpokeChainInfo<T extends ChainType> = {
|
|
17
|
-
name: string;
|
|
18
|
-
id: GetSpokeChainIdType<T>;
|
|
19
|
-
type: T;
|
|
20
|
-
};
|
|
21
|
-
export type SpokeChainInfo<T extends ChainType> = BaseSpokeChainInfo<T>;
|
|
22
|
-
export type HubChainInfo<T extends ChainType> = {
|
|
23
|
-
name: string;
|
|
24
|
-
id: HubChainId;
|
|
25
|
-
type: T;
|
|
26
|
-
};
|
|
27
|
-
export type GetSpokeChainIdType<T extends ChainType> = T extends 'EVM' ? EvmSpokeChainId : SpokeChainId;
|
|
28
|
-
export type AssetInfo = {
|
|
29
|
-
chainId: bigint;
|
|
30
|
-
spokeAddress: `0x${string}`;
|
|
31
|
-
};
|
|
32
|
-
export type HubAssetInfo = {
|
|
33
|
-
asset: Address;
|
|
34
|
-
decimal: number;
|
|
35
|
-
vault: Address;
|
|
36
|
-
};
|
|
37
|
-
export type BaseSpokeChainConfig<T extends ChainType> = {
|
|
38
|
-
chain: SpokeChainInfo<T>;
|
|
39
|
-
addresses: {
|
|
40
|
-
[key: string]: Address | string | Uint8Array;
|
|
41
|
-
};
|
|
42
|
-
supportedTokens: Record<string, Token>;
|
|
43
|
-
nativeToken: Address | string;
|
|
44
|
-
bnUSD: Address | string;
|
|
45
|
-
};
|
|
46
|
-
export type BaseHubChainConfig<T extends ChainType> = {
|
|
47
|
-
chain: HubChainInfo<T>;
|
|
48
|
-
addresses: {
|
|
49
|
-
[key: string]: Address | string | Uint8Array;
|
|
50
|
-
};
|
|
51
|
-
supportedTokens: Token[];
|
|
52
|
-
nativeToken: Address | string;
|
|
53
|
-
};
|
|
54
|
-
export type EvmHubChainConfig = BaseHubChainConfig<'EVM'> & {
|
|
55
|
-
addresses: {
|
|
56
|
-
assetManager: Address;
|
|
57
|
-
hubWallet: Address;
|
|
58
|
-
xTokenManager: Address;
|
|
59
|
-
};
|
|
60
|
-
nativeToken: Address;
|
|
61
|
-
};
|
|
62
|
-
export type RelayerApiConfig = {
|
|
63
|
-
relayerApiEndpoint: HttpUrl;
|
|
64
|
-
};
|
|
65
|
-
export type MoneyMarketConfig = {
|
|
66
|
-
uiPoolDataProvider: Address;
|
|
67
|
-
lendingPool: Address;
|
|
68
|
-
poolAddressesProvider: Address;
|
|
69
|
-
bnUSD: Address;
|
|
70
|
-
bnUSDVault: Address;
|
|
71
|
-
};
|
|
72
|
-
export type MoneyMarketServiceConfig = Prettify<MoneyMarketConfig & PartnerFeeConfig & RelayerApiConfig>;
|
|
73
|
-
export type SolverServiceConfig = Prettify<SolverConfig & PartnerFeeConfig & RelayerApiConfig>;
|
|
74
|
-
export type MoneyMarketConfigParams = Prettify<MoneyMarketConfig & Optional<PartnerFeeConfig, 'partnerFee'>> | Optional<PartnerFeeConfig, 'partnerFee'>;
|
|
75
|
-
export type Default = {
|
|
76
|
-
default: boolean;
|
|
77
|
-
};
|
|
78
|
-
export type EvmSpokeChainConfig = BaseSpokeChainConfig<'EVM'> & {
|
|
79
|
-
addresses: {
|
|
80
|
-
assetManager: Address;
|
|
81
|
-
connection: Address;
|
|
82
|
-
};
|
|
83
|
-
nativeToken: Address | string;
|
|
84
|
-
};
|
|
85
|
-
export type SuiSpokeChainConfig = BaseSpokeChainConfig<'SUI'> & {
|
|
86
|
-
addresses: {
|
|
87
|
-
assetManager: string;
|
|
88
|
-
connection: string;
|
|
89
|
-
xTokenManager: string;
|
|
90
|
-
rateLimit: string;
|
|
91
|
-
testToken: string;
|
|
92
|
-
};
|
|
93
|
-
rpc_url: string;
|
|
94
|
-
};
|
|
95
|
-
export type CosmosSpokeChainConfig = BaseSpokeChainConfig<'INJECTIVE'> & {
|
|
96
|
-
rpcUrl: string;
|
|
97
|
-
walletAddress: string;
|
|
98
|
-
addresses: {
|
|
99
|
-
assetManager: string;
|
|
100
|
-
connection: string;
|
|
101
|
-
xTokenManager: string;
|
|
102
|
-
rateLimit: string;
|
|
103
|
-
testToken: string;
|
|
104
|
-
};
|
|
105
|
-
nativeToken: string;
|
|
106
|
-
prefix: string;
|
|
107
|
-
gasPrice: string;
|
|
108
|
-
isBrowser: boolean;
|
|
109
|
-
networkId: string;
|
|
110
|
-
network: CosmosNetworkEnv;
|
|
111
|
-
};
|
|
112
|
-
export type StellarSpokeChainConfig = BaseSpokeChainConfig<'STELLAR'> & {
|
|
113
|
-
addresses: {
|
|
114
|
-
assetManager: string;
|
|
115
|
-
connection: string;
|
|
116
|
-
xTokenManager: string;
|
|
117
|
-
rateLimit: string;
|
|
118
|
-
testToken: string;
|
|
119
|
-
};
|
|
120
|
-
rpc_url: string;
|
|
121
|
-
};
|
|
122
|
-
export type IconSpokeChainConfig = BaseSpokeChainConfig<'ICON'> & {
|
|
123
|
-
addresses: {
|
|
124
|
-
assetManager: IconAddress;
|
|
125
|
-
connection: IconAddress;
|
|
126
|
-
rateLimit: IconAddress;
|
|
127
|
-
};
|
|
128
|
-
nid: Hex;
|
|
129
|
-
};
|
|
130
|
-
export type SolanaChainConfig = BaseSpokeChainConfig<'SOLANA'> & {
|
|
131
|
-
addresses: {
|
|
132
|
-
assetManager: string;
|
|
133
|
-
connection: string;
|
|
134
|
-
xTokenManager: string;
|
|
135
|
-
rateLimit: string;
|
|
136
|
-
testToken: string;
|
|
137
|
-
};
|
|
138
|
-
chain: SpokeChainInfo<'SOLANA'>;
|
|
139
|
-
rpcUrl: string;
|
|
140
|
-
wsUrl: string;
|
|
141
|
-
walletAddress: string;
|
|
142
|
-
nativeToken: string;
|
|
143
|
-
gasPrice: string;
|
|
144
|
-
};
|
|
145
|
-
export type HubChainConfig = EvmHubChainConfig;
|
|
146
|
-
export type SpokeChainConfig = EvmSpokeChainConfig | CosmosSpokeChainConfig | IconSpokeChainConfig | SuiSpokeChainConfig | StellarSpokeChainConfig | SolanaChainConfig;
|
|
147
|
-
export type GetSpokeChainConfigType<T extends ChainType> = T extends 'EVM' ? EvmSpokeChainConfig : T extends 'INJECTIVE' ? CosmosSpokeChainConfig : T extends 'icon' ? IconSpokeChainConfig : T extends 'SUI' ? SuiSpokeChainConfig : T extends 'STELLAR' ? StellarSpokeChainConfig : T extends 'SOLANA' ? SolanaChainConfig : never;
|
|
148
|
-
export type EvmContractCall = {
|
|
149
|
-
address: Address;
|
|
150
|
-
value: bigint;
|
|
151
|
-
data: Hex;
|
|
152
|
-
};
|
|
153
|
-
export type EvmTransferToHubParams = {
|
|
154
|
-
token: Address;
|
|
155
|
-
recipient: Address;
|
|
156
|
-
amount: bigint;
|
|
157
|
-
data: Hex;
|
|
158
|
-
};
|
|
159
|
-
export type EvmTransferParams = {
|
|
160
|
-
fromToken: Address;
|
|
161
|
-
dstChainId: SpokeChainId;
|
|
162
|
-
toToken: Hex;
|
|
163
|
-
to: Hex;
|
|
164
|
-
amount: bigint;
|
|
165
|
-
data: Hex;
|
|
166
|
-
};
|
|
167
|
-
export type TokenInfo = {
|
|
168
|
-
decimals: number;
|
|
169
|
-
depositFee: bigint;
|
|
170
|
-
withdrawalFee: bigint;
|
|
171
|
-
maxDeposit: bigint;
|
|
172
|
-
isSupported: boolean;
|
|
173
|
-
};
|
|
174
|
-
export type VaultReserves = {
|
|
175
|
-
tokens: readonly Address[];
|
|
176
|
-
balances: readonly bigint[];
|
|
177
|
-
};
|
|
178
|
-
/**
|
|
179
|
-
* Fee type for transaction fees.
|
|
180
|
-
* @property address - The address to which the fee is sent.
|
|
181
|
-
* @property amount - Optional fixed fee amount in wei.
|
|
182
|
-
*/
|
|
183
|
-
export type PartnerFeeAmount = {
|
|
184
|
-
address: Address;
|
|
185
|
-
amount: bigint;
|
|
186
|
-
};
|
|
187
|
-
/**
|
|
188
|
-
* Fee type for transaction fees.
|
|
189
|
-
* @property address - The address to which the fee is sent.
|
|
190
|
-
* @property percentage - Optional fee percentage in basis points (e.g., 100 = 1%). Maximum allowed is 100 (1%).
|
|
191
|
-
*/
|
|
192
|
-
export type PartnerFeePercentage = {
|
|
193
|
-
address: Address;
|
|
194
|
-
percentage: number;
|
|
195
|
-
};
|
|
196
|
-
/**
|
|
197
|
-
* Fee type for transaction fees.
|
|
198
|
-
* @property address - The address to which the fee is sent.
|
|
199
|
-
* @property percentage - Optional fee percentage in basis points (e.g., 100 = 1%). Maximum allowed is 100 (1%).
|
|
200
|
-
* @property amount - Optional fixed fee amount in wei. If both percentage and amount are provided, amount will be used.
|
|
201
|
-
*/
|
|
202
|
-
export type PartnerFee = PartnerFeeAmount | PartnerFeePercentage;
|
|
203
|
-
export type PartnerFeeConfig = {
|
|
204
|
-
partnerFee: PartnerFee | undefined;
|
|
205
|
-
};
|
|
206
|
-
export type FeeAmount = {
|
|
207
|
-
feeAmount: bigint;
|
|
208
|
-
};
|
|
209
|
-
export type EvmTxReturnType<T extends boolean> = T extends true ? TransactionReceipt : Hex;
|
|
210
|
-
export type IconAddress = `hx${string}` | `cx${string}`;
|
|
211
|
-
export type Result<T, E = Error | unknown> = {
|
|
212
|
-
ok: true;
|
|
213
|
-
value: T;
|
|
214
|
-
} | {
|
|
215
|
-
ok: false;
|
|
216
|
-
error: E;
|
|
217
|
-
};
|
|
218
|
-
export type HttpPrefixedUrl = `http${string}`;
|
|
219
|
-
export type GetSpokeProviderType<T extends ChainType> = T extends 'EVM' ? EvmSpokeProvider : T extends 'INJECTIVE' ? CWSpokeProvider : T extends 'ICON' ? IconSpokeProvider : T extends 'SUI' ? SuiSpokeProvider : T extends 'STELLAR' ? StellarSpokeProvider : T extends 'SOLANA' ? SolanaSpokeProvider : never;
|
|
220
|
-
export type SpokeDepositParams = EvmSpokeDepositParams | CWSpokeDepositParams | IconSpokeDepositParams;
|
|
221
|
-
export type GetSpokeDepositParamsType<T extends SpokeProvider> = T extends EvmSpokeProvider ? EvmSpokeDepositParams : T extends CWSpokeProvider ? CWSpokeDepositParams : T extends SuiSpokeProvider ? SuiSpokeDepositParams : T extends IconSpokeProvider ? IconSpokeDepositParams : T extends StellarSpokeProvider ? StellarSpokeDepositParams : T extends SolanaSpokeProvider ? SolanaSpokeDepositParams : never;
|
|
222
|
-
export type GetAddressType<T extends SpokeProvider> = T extends EvmSpokeProvider ? Address : T extends CWSpokeProvider ? string : T extends StellarSpokeProvider ? Hex : T extends IconSpokeProvider ? IconAddress : T extends SuiSpokeProvider ? Hex : T extends SolanaSpokeProvider ? Hex : never;
|
|
223
|
-
export type HttpUrl = `http://${string}` | `https://${string}`;
|
|
224
|
-
export type SolverConfig = {
|
|
225
|
-
intentsContract: Address;
|
|
226
|
-
solverApiEndpoint: HttpUrl;
|
|
227
|
-
};
|
|
228
|
-
export type SolverConfigParams = Prettify<SolverConfig & Optional<PartnerFeeConfig, 'partnerFee'>> | Optional<PartnerFeeConfig, 'partnerFee'>;
|
|
229
|
-
export type QuoteType = 'exact_input' | 'exact_output';
|
|
230
|
-
export type IntentQuoteRequest = {
|
|
231
|
-
token_src: string;
|
|
232
|
-
token_src_blockchain_id: SpokeChainId;
|
|
233
|
-
token_dst: string;
|
|
234
|
-
token_dst_blockchain_id: SpokeChainId;
|
|
235
|
-
amount: bigint;
|
|
236
|
-
quote_type: QuoteType;
|
|
237
|
-
};
|
|
238
|
-
export type IntentQuoteResponseRaw = {
|
|
239
|
-
quoted_amount: string;
|
|
240
|
-
};
|
|
241
|
-
export type IntentQuoteResponse = {
|
|
242
|
-
quoted_amount: bigint;
|
|
243
|
-
};
|
|
244
|
-
export type IntentErrorResponse = {
|
|
245
|
-
detail: {
|
|
246
|
-
code: IntentErrorCode;
|
|
247
|
-
message: string;
|
|
248
|
-
};
|
|
249
|
-
};
|
|
250
|
-
export type IntentExecutionRequest = {
|
|
251
|
-
intent_tx_hash: Hex;
|
|
252
|
-
};
|
|
253
|
-
export type IntentExecutionResponse = {
|
|
254
|
-
answer: 'OK';
|
|
255
|
-
intent_hash: Hex;
|
|
256
|
-
};
|
|
257
|
-
export type IntentStatusRequest = {
|
|
258
|
-
intent_tx_hash: Hex;
|
|
259
|
-
};
|
|
260
|
-
export type IntentStatusResponse = {
|
|
261
|
-
status: IntentStatusCode;
|
|
262
|
-
fill_tx_hash?: string;
|
|
263
|
-
};
|
|
264
|
-
export declare enum IntentStatusCode {
|
|
265
|
-
NOT_FOUND = -1,
|
|
266
|
-
NOT_STARTED_YET = 1,// It's in the task pool, but not started yet
|
|
267
|
-
STARTED_NOT_FINISHED = 2,
|
|
268
|
-
SOLVED = 3,
|
|
269
|
-
FAILED = 4
|
|
270
|
-
}
|
|
271
|
-
export declare enum IntentErrorCode {
|
|
272
|
-
NO_PATH_FOUND = -4,// No path to swap Token X to Token Y
|
|
273
|
-
NO_PRIVATE_LIQUIDITY = -5,// Path found, but we have no private liquidity on the dest chain
|
|
274
|
-
NOT_ENOUGH_PRIVATE_LIQUIDITY = -8,// Path found, but not enough private liquidity on the dst chain
|
|
275
|
-
NO_EXECUTION_MODULE_FOUND = -7,// Path found, private liquidity, but execution modules unavailable
|
|
276
|
-
QUOTE_NOT_FOUND = -8,// When executing, given quote_uuid does not exist
|
|
277
|
-
QUOTE_NOT_MATCH = -9,// When executing, given quote_uuid does not match the quote
|
|
278
|
-
INTENT_DATA_NOT_MATCH_QUOTE = -10,
|
|
279
|
-
NO_GAS_HANDLER_FOR_BLOCKCHAIN = -11,
|
|
280
|
-
INTENT_NOT_FOUND = -12,
|
|
281
|
-
QUOTE_EXPIRED = -13,
|
|
282
|
-
MAX_INPUT_AMOUNT = -14,
|
|
283
|
-
MAX_DIFF_OUTPUT = -15,
|
|
284
|
-
STOPPED = -16,
|
|
285
|
-
NO_ORACLE_MODULE_FOUND = -17,
|
|
286
|
-
NEGATIVE_INPUT_AMOUNT = -18,
|
|
287
|
-
INTENT_ALREADY_IN_ORDERBOOK = -19,
|
|
288
|
-
CREATE_INTENT_ORDER_FAILED = -998,
|
|
289
|
-
UNKNOWN = -999
|
|
290
|
-
}
|
|
291
|
-
type Base64String = string;
|
|
292
|
-
export type SolanaRawTransaction = {
|
|
293
|
-
from: PublicKey;
|
|
294
|
-
to: PublicKey;
|
|
295
|
-
value: bigint;
|
|
296
|
-
data: Base64String;
|
|
297
|
-
};
|
|
298
|
-
export type IconRawTransaction = {
|
|
299
|
-
[key: string]: string | object;
|
|
300
|
-
};
|
|
301
|
-
export type IcxRawTransaction = {
|
|
302
|
-
to: string;
|
|
303
|
-
from: string;
|
|
304
|
-
value: Hex;
|
|
305
|
-
stepLimit: Hex;
|
|
306
|
-
nid: Hex;
|
|
307
|
-
nonce: Hex;
|
|
308
|
-
version: Hex;
|
|
309
|
-
timestamp: Hex;
|
|
310
|
-
data: Hex;
|
|
311
|
-
};
|
|
312
|
-
export type SuiRawTransaction = {
|
|
313
|
-
from: Hex;
|
|
314
|
-
to: string;
|
|
315
|
-
value: bigint;
|
|
316
|
-
data: Base64String;
|
|
317
|
-
};
|
|
318
|
-
export type EvmReturnType<Raw extends boolean> = Raw extends true ? EvmRawTransaction : Hex;
|
|
319
|
-
export type SolanaReturnType<Raw extends boolean> = Raw extends true ? SolanaRawTransaction : Hex;
|
|
320
|
-
export type StellarReturnType<Raw extends boolean> = Raw extends true ? StellarRawTransaction : Hex;
|
|
321
|
-
export type IconReturnType<Raw extends boolean> = Raw extends true ? IconRawTransaction : Hex;
|
|
322
|
-
export type SuiReturnType<Raw extends boolean> = Raw extends true ? SuiRawTransaction : Hex;
|
|
323
|
-
export type CWReturnType<Raw extends boolean> = Raw extends true ? CWRawTransaction : Hex;
|
|
324
|
-
export 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' ? CWReturnType<Raw> : never;
|
|
325
|
-
export type PromiseEvmTxReturnType<Raw extends boolean> = Promise<TxReturnType<EvmSpokeProvider, Raw>>;
|
|
326
|
-
export type PromiseSolanaTxReturnType<Raw extends boolean> = Promise<TxReturnType<SolanaSpokeProvider, Raw>>;
|
|
327
|
-
export type PromiseStellarTxReturnType<Raw extends boolean> = Promise<TxReturnType<StellarSpokeProvider, Raw>>;
|
|
328
|
-
export type PromiseIconTxReturnType<Raw extends boolean> = Promise<TxReturnType<IconSpokeProvider, Raw>>;
|
|
329
|
-
export type PromiseSuiTxReturnType<Raw extends boolean> = Promise<TxReturnType<SuiSpokeProvider, Raw>>;
|
|
330
|
-
export type PromiseCWTxReturnType<Raw extends boolean> = Promise<TxReturnType<CWSpokeProvider, Raw>>;
|
|
331
|
-
export type RawTxReturnType = EvmRawTransaction | SolanaRawTransaction | CWRawTransaction | IconRawTransaction | SuiRawTransaction;
|
|
332
|
-
export type GetRawTxReturnType<T extends ChainType> = T extends 'EVM' ? PromiseEvmTxReturnType<boolean> : never;
|
|
333
|
-
export 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' ? PromiseCWTxReturnType<Raw> : never;
|
|
334
|
-
export type VaultType = {
|
|
335
|
-
address: Address;
|
|
336
|
-
reserves: Address[];
|
|
337
|
-
};
|
|
338
|
-
export type Prettify<T> = {
|
|
339
|
-
[K in keyof T]: T[K];
|
|
340
|
-
} & {};
|
|
341
|
-
export type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
|
|
342
|
-
type ExtractKeys<T> = T extends unknown ? keyof T : never;
|
|
343
|
-
export type SpokeTokenSymbols = ExtractKeys<(typeof spokeChainConfig)[SpokeChainId]['supportedTokens']>;
|
|
344
|
-
export {};
|
|
345
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
export var IntentStatusCode;
|
|
2
|
-
(function (IntentStatusCode) {
|
|
3
|
-
IntentStatusCode[IntentStatusCode["NOT_FOUND"] = -1] = "NOT_FOUND";
|
|
4
|
-
IntentStatusCode[IntentStatusCode["NOT_STARTED_YET"] = 1] = "NOT_STARTED_YET";
|
|
5
|
-
IntentStatusCode[IntentStatusCode["STARTED_NOT_FINISHED"] = 2] = "STARTED_NOT_FINISHED";
|
|
6
|
-
IntentStatusCode[IntentStatusCode["SOLVED"] = 3] = "SOLVED";
|
|
7
|
-
IntentStatusCode[IntentStatusCode["FAILED"] = 4] = "FAILED";
|
|
8
|
-
})(IntentStatusCode || (IntentStatusCode = {}));
|
|
9
|
-
export var IntentErrorCode;
|
|
10
|
-
(function (IntentErrorCode) {
|
|
11
|
-
IntentErrorCode[IntentErrorCode["NO_PATH_FOUND"] = -4] = "NO_PATH_FOUND";
|
|
12
|
-
IntentErrorCode[IntentErrorCode["NO_PRIVATE_LIQUIDITY"] = -5] = "NO_PRIVATE_LIQUIDITY";
|
|
13
|
-
IntentErrorCode[IntentErrorCode["NOT_ENOUGH_PRIVATE_LIQUIDITY"] = -8] = "NOT_ENOUGH_PRIVATE_LIQUIDITY";
|
|
14
|
-
IntentErrorCode[IntentErrorCode["NO_EXECUTION_MODULE_FOUND"] = -7] = "NO_EXECUTION_MODULE_FOUND";
|
|
15
|
-
IntentErrorCode[IntentErrorCode["QUOTE_NOT_FOUND"] = -8] = "QUOTE_NOT_FOUND";
|
|
16
|
-
IntentErrorCode[IntentErrorCode["QUOTE_NOT_MATCH"] = -9] = "QUOTE_NOT_MATCH";
|
|
17
|
-
IntentErrorCode[IntentErrorCode["INTENT_DATA_NOT_MATCH_QUOTE"] = -10] = "INTENT_DATA_NOT_MATCH_QUOTE";
|
|
18
|
-
IntentErrorCode[IntentErrorCode["NO_GAS_HANDLER_FOR_BLOCKCHAIN"] = -11] = "NO_GAS_HANDLER_FOR_BLOCKCHAIN";
|
|
19
|
-
IntentErrorCode[IntentErrorCode["INTENT_NOT_FOUND"] = -12] = "INTENT_NOT_FOUND";
|
|
20
|
-
IntentErrorCode[IntentErrorCode["QUOTE_EXPIRED"] = -13] = "QUOTE_EXPIRED";
|
|
21
|
-
IntentErrorCode[IntentErrorCode["MAX_INPUT_AMOUNT"] = -14] = "MAX_INPUT_AMOUNT";
|
|
22
|
-
IntentErrorCode[IntentErrorCode["MAX_DIFF_OUTPUT"] = -15] = "MAX_DIFF_OUTPUT";
|
|
23
|
-
IntentErrorCode[IntentErrorCode["STOPPED"] = -16] = "STOPPED";
|
|
24
|
-
IntentErrorCode[IntentErrorCode["NO_ORACLE_MODULE_FOUND"] = -17] = "NO_ORACLE_MODULE_FOUND";
|
|
25
|
-
IntentErrorCode[IntentErrorCode["NEGATIVE_INPUT_AMOUNT"] = -18] = "NEGATIVE_INPUT_AMOUNT";
|
|
26
|
-
IntentErrorCode[IntentErrorCode["INTENT_ALREADY_IN_ORDERBOOK"] = -19] = "INTENT_ALREADY_IN_ORDERBOOK";
|
|
27
|
-
IntentErrorCode[IntentErrorCode["CREATE_INTENT_ORDER_FAILED"] = -998] = "CREATE_INTENT_ORDER_FAILED";
|
|
28
|
-
IntentErrorCode[IntentErrorCode["UNKNOWN"] = -999] = "UNKNOWN";
|
|
29
|
-
})(IntentErrorCode || (IntentErrorCode = {}));
|
|
30
|
-
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA6XA,MAAM,CAAN,IAAY,gBAMX;AAND,WAAY,gBAAgB;IAC1B,kEAAc,CAAA;IACd,6EAAmB,CAAA;IACnB,uFAAwB,CAAA;IACxB,2DAAU,CAAA;IACV,2DAAU,CAAA;AACZ,CAAC,EANW,gBAAgB,KAAhB,gBAAgB,QAM3B;AAED,MAAM,CAAN,IAAY,eAmBX;AAnBD,WAAY,eAAe;IACzB,wEAAkB,CAAA;IAClB,sFAAyB,CAAA;IACzB,sGAAiC,CAAA;IACjC,gGAA8B,CAAA;IAC9B,4EAAoB,CAAA;IACpB,4EAAoB,CAAA;IACpB,qGAAiC,CAAA;IACjC,yGAAmC,CAAA;IACnC,+EAAsB,CAAA;IACtB,yEAAmB,CAAA;IACnB,+EAAsB,CAAA;IACtB,6EAAqB,CAAA;IACrB,6DAAa,CAAA;IACb,2FAA4B,CAAA;IAC5B,yFAA2B,CAAA;IAC3B,qGAAiC,CAAA;IACjC,oGAAiC,CAAA;IACjC,8DAAc,CAAA;AAChB,CAAC,EAnBW,eAAe,KAAf,eAAe,QAmB1B"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { EvmContractCall } from '../types.js';
|
|
2
|
-
import type { IEvmWalletProvider, EvmRawTransactionReceipt, Hex } from '@sodax/types';
|
|
3
|
-
/**
|
|
4
|
-
* ABI-encode an array of ContractCall objects.
|
|
5
|
-
* @param calls An array of ContractCall objects.
|
|
6
|
-
* @returns ABI-encoded bytes representing the array of ContractCall objects.
|
|
7
|
-
*/
|
|
8
|
-
export declare function encodeContractCalls(calls: EvmContractCall[]): Hex;
|
|
9
|
-
export declare function waitForTransactionReceipt(hash: Hex, provider: IEvmWalletProvider): Promise<EvmRawTransactionReceipt>;
|
|
10
|
-
//# sourceMappingURL=evm-utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"evm-utils.d.ts","sourceRoot":"","sources":["../../src/utils/evm-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEtF;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,GAAG,CAIjE;AAED,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,kBAAkB,GAC3B,OAAO,CAAC,wBAAwB,CAAC,CAEnC"}
|
package/dist/utils/evm-utils.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { encodeAbiParameters, parseAbiParameters } from 'viem';
|
|
2
|
-
/**
|
|
3
|
-
* ABI-encode an array of ContractCall objects.
|
|
4
|
-
* @param calls An array of ContractCall objects.
|
|
5
|
-
* @returns ABI-encoded bytes representing the array of ContractCall objects.
|
|
6
|
-
*/
|
|
7
|
-
export function encodeContractCalls(calls) {
|
|
8
|
-
return encodeAbiParameters(parseAbiParameters('(address,uint256,bytes)[]'), [
|
|
9
|
-
calls.map(v => [v.address, v.value, v.data]),
|
|
10
|
-
]);
|
|
11
|
-
}
|
|
12
|
-
export async function waitForTransactionReceipt(hash, provider) {
|
|
13
|
-
return provider.waitForTransactionReceipt(hash);
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=evm-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"evm-utils.js","sourceRoot":"","sources":["../../src/utils/evm-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAI/D;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAwB;IAC1D,OAAO,mBAAmB,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,EAAE;QAC1E,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAU,CAAC;KACtD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,IAAS,EACT,QAA4B;IAE5B,OAAO,QAAQ,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC"}
|
package/dist/utils/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC"}
|
package/dist/utils/index.js
DELETED
package/dist/utils/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { type Hex, type PartnerFee } from '../index.js';
|
|
2
|
-
export declare function retry<T>(action: (retryCount: number) => Promise<T>, retryCount?: number, delayMs?: number): Promise<T>;
|
|
3
|
-
export declare function getRandomBytes(length: number): Uint8Array;
|
|
4
|
-
export declare function randomUint256(): bigint;
|
|
5
|
-
/**
|
|
6
|
-
* Calculate the fee amount as a percentage of the input amount
|
|
7
|
-
* @param {bigint} amount - The amount to calculate the fee for
|
|
8
|
-
* @param {number} percentage - The percentage of the fee in basis points (e.g. 100 = 1%, 10000 = 100%)
|
|
9
|
-
* @returns {bigint} The fee amount
|
|
10
|
-
*/
|
|
11
|
-
export declare function calculatePercentageFeeAmount(amount: bigint, percentage: number): bigint;
|
|
12
|
-
/**
|
|
13
|
-
* Calculate the fee amount for a given input amount and fee
|
|
14
|
-
* @param {bigint} inputAmount - The amount of input tokens
|
|
15
|
-
* @param {PartnerFee} fee - The fee to calculate
|
|
16
|
-
* @returns {bigint} The fee amount
|
|
17
|
-
*/
|
|
18
|
-
export declare function calculateFeeAmount(inputAmount: bigint, fee: PartnerFee | undefined): bigint;
|
|
19
|
-
export declare function BigIntToHex(value: bigint): Hex;
|
|
20
|
-
//# sourceMappingURL=shared-utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shared-utils.d.ts","sourceRoot":"","sources":["../../src/utils/shared-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,GAAG,EACR,KAAK,UAAU,EAChB,MAAM,aAAa,CAAC;AAErB,wBAAsB,KAAK,CAAC,CAAC,EAC3B,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAC1C,UAAU,GAAE,MAA0B,EACtC,OAAO,SAAyB,GAC/B,OAAO,CAAC,CAAC,CAAC,CAiBZ;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAMzD;AAED,wBAAgB,aAAa,IAAI,MAAM,CAStC;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAG9E;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAyB3F;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAE9C"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import invariant from 'tiny-invariant';
|
|
2
|
-
import { DEFAULT_MAX_RETRY, DEFAULT_RETRY_DELAY_MS, FEE_PERCENTAGE_SCALE, isPartnerFeeAmount, isPartnerFeePercentage, } from '../index.js';
|
|
3
|
-
export async function retry(action, retryCount = DEFAULT_MAX_RETRY, delayMs = DEFAULT_RETRY_DELAY_MS) {
|
|
4
|
-
do {
|
|
5
|
-
try {
|
|
6
|
-
return await action(retryCount);
|
|
7
|
-
}
|
|
8
|
-
catch (e) {
|
|
9
|
-
retryCount--;
|
|
10
|
-
if (retryCount <= 0) {
|
|
11
|
-
console.error(`Failed to perform operation even after ${DEFAULT_MAX_RETRY} attempts.. Throwing origin error..`);
|
|
12
|
-
throw e;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
await new Promise(resolve => setTimeout(resolve, delayMs));
|
|
16
|
-
} while (retryCount > 0);
|
|
17
|
-
throw new Error(`Retry exceeded MAX_RETRY_DEFAULT=${DEFAULT_MAX_RETRY}`);
|
|
18
|
-
}
|
|
19
|
-
export function getRandomBytes(length) {
|
|
20
|
-
const array = new Uint8Array(length);
|
|
21
|
-
for (let i = 0; i < length; i++) {
|
|
22
|
-
array[i] = Math.floor(Math.random() * 256);
|
|
23
|
-
}
|
|
24
|
-
return array;
|
|
25
|
-
}
|
|
26
|
-
export function randomUint256() {
|
|
27
|
-
const bytes = getRandomBytes(32); // 256 bits
|
|
28
|
-
let hex = '';
|
|
29
|
-
for (const byte of bytes) {
|
|
30
|
-
hex += byte.toString(16).padStart(2, '0') ?? '';
|
|
31
|
-
}
|
|
32
|
-
return BigInt(`0x${hex}`);
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Calculate the fee amount as a percentage of the input amount
|
|
36
|
-
* @param {bigint} amount - The amount to calculate the fee for
|
|
37
|
-
* @param {number} percentage - The percentage of the fee in basis points (e.g. 100 = 1%, 10000 = 100%)
|
|
38
|
-
* @returns {bigint} The fee amount
|
|
39
|
-
*/
|
|
40
|
-
export function calculatePercentageFeeAmount(amount, percentage) {
|
|
41
|
-
// Calculate fee as a percentage of the input amount
|
|
42
|
-
return (amount * BigInt(percentage)) / FEE_PERCENTAGE_SCALE;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Calculate the fee amount for a given input amount and fee
|
|
46
|
-
* @param {bigint} inputAmount - The amount of input tokens
|
|
47
|
-
* @param {PartnerFee} fee - The fee to calculate
|
|
48
|
-
* @returns {bigint} The fee amount
|
|
49
|
-
*/
|
|
50
|
-
export function calculateFeeAmount(inputAmount, fee) {
|
|
51
|
-
if (!fee) {
|
|
52
|
-
return 0n;
|
|
53
|
-
}
|
|
54
|
-
invariant(inputAmount > 0n, 'Input amount must be greater than 0');
|
|
55
|
-
let feeAmount = 0n;
|
|
56
|
-
if (isPartnerFeeAmount(fee)) {
|
|
57
|
-
invariant(fee.amount >= 0 && fee.amount <= inputAmount, `Fee amount must be greater than 0 and less than or equal to the input amount: ${fee.amount}`);
|
|
58
|
-
feeAmount = fee.amount;
|
|
59
|
-
}
|
|
60
|
-
else if (isPartnerFeePercentage(fee)) {
|
|
61
|
-
invariant(fee.percentage >= 0 && fee.percentage <= FEE_PERCENTAGE_SCALE, `Fee percentage must be between 0 and ${FEE_PERCENTAGE_SCALE}}`);
|
|
62
|
-
feeAmount = calculatePercentageFeeAmount(inputAmount, fee.percentage);
|
|
63
|
-
}
|
|
64
|
-
return feeAmount;
|
|
65
|
-
}
|
|
66
|
-
export function BigIntToHex(value) {
|
|
67
|
-
return `0x${value.toString(16)}`;
|
|
68
|
-
}
|
|
69
|
-
//# sourceMappingURL=shared-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shared-utils.js","sourceRoot":"","sources":["../../src/utils/shared-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shared-utils.test.d.ts","sourceRoot":"","sources":["../../src/utils/shared-utils.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { calculateFeeAmount, calculatePercentageFeeAmount } from './shared-utils.js';
|
|
3
|
-
describe('calculatePercentageAmount', () => {
|
|
4
|
-
const address = '0x0000000000000000000000000000000000000001';
|
|
5
|
-
it('should calculate percentage amount correctly', () => {
|
|
6
|
-
const testCases = [
|
|
7
|
-
{ amount: 1000n, percentage: 200, expected: 20n }, // 2% of 1000 = 20
|
|
8
|
-
{ amount: 5000n, percentage: 100, expected: 50n }, // 1% of 5000 = 50
|
|
9
|
-
{ amount: 10000n, percentage: 500, expected: 500n }, // 5% of 10000 = 500
|
|
10
|
-
{ amount: 1000000n, percentage: 50, expected: 5000n }, // 0.5% of 1000000 = 5000
|
|
11
|
-
{ amount: 1000000n, percentage: 10000, expected: 1000000n }, // 100% of 1000000 = 1000000
|
|
12
|
-
];
|
|
13
|
-
testCases.forEach(({ amount, percentage, expected }) => {
|
|
14
|
-
const result = calculatePercentageFeeAmount(amount, percentage);
|
|
15
|
-
expect(result).toBe(expected);
|
|
16
|
-
});
|
|
17
|
-
});
|
|
18
|
-
it('should calculate fee amount correctly for fixed amount fees', () => {
|
|
19
|
-
const testCases = [
|
|
20
|
-
{ inputAmount: 1000n, fee: { amount: 100n, address }, expected: 100n },
|
|
21
|
-
{ inputAmount: 5000n, fee: { amount: 500n, address }, expected: 500n },
|
|
22
|
-
{ inputAmount: 10000n, fee: { amount: 0n, address }, expected: 0n },
|
|
23
|
-
];
|
|
24
|
-
testCases.forEach(({ inputAmount, fee, expected }) => {
|
|
25
|
-
const result = calculateFeeAmount(inputAmount, fee);
|
|
26
|
-
expect(result).toBe(expected);
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
it('should calculate fee amount correctly for percentage fees', () => {
|
|
30
|
-
const testCases = [
|
|
31
|
-
{ inputAmount: 1000n, fee: { percentage: 200, address }, expected: 20n }, // 2%
|
|
32
|
-
{ inputAmount: 5000n, fee: { percentage: 100, address }, expected: 50n }, // 1%
|
|
33
|
-
{ inputAmount: 10000n, fee: { percentage: 500, address }, expected: 500n }, // 5%
|
|
34
|
-
{ inputAmount: 1000000n, fee: { percentage: 50, address }, expected: 5000n }, // 0.5%
|
|
35
|
-
{ inputAmount: 1000000n, fee: { percentage: 10000, address }, expected: 1000000n }, // 100%
|
|
36
|
-
];
|
|
37
|
-
testCases.forEach(({ inputAmount, fee, expected }) => {
|
|
38
|
-
const result = calculateFeeAmount(inputAmount, fee);
|
|
39
|
-
expect(result).toBe(expected);
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
it('should throw error when fixed fee amount is greater than input amount', () => {
|
|
43
|
-
const inputAmount = 1000n;
|
|
44
|
-
const fee = { amount: 2000n, address };
|
|
45
|
-
expect(() => calculateFeeAmount(inputAmount, fee)).toThrow('Fee amount must be greater than 0 and less than or equal to the input amount: 2000');
|
|
46
|
-
});
|
|
47
|
-
it('should throw error when fixed fee amount is negative', () => {
|
|
48
|
-
const inputAmount = 1000n;
|
|
49
|
-
const fee = { amount: -100n, address };
|
|
50
|
-
expect(() => calculateFeeAmount(inputAmount, fee)).toThrow('Fee amount must be greater than 0 and less than or equal to the input amount: -100');
|
|
51
|
-
});
|
|
52
|
-
it('should throw error when percentage fee is greater than 100%', () => {
|
|
53
|
-
const inputAmount = 1000n;
|
|
54
|
-
const fee = { percentage: 10001, address };
|
|
55
|
-
expect(() => calculateFeeAmount(inputAmount, fee)).toThrow('Fee percentage must be between 0 and 10000');
|
|
56
|
-
});
|
|
57
|
-
it('should throw error when percentage fee is negative', () => {
|
|
58
|
-
const inputAmount = 1000n;
|
|
59
|
-
const fee = { percentage: -100, address };
|
|
60
|
-
expect(() => calculateFeeAmount(inputAmount, fee)).toThrow('Fee percentage must be between 0 and 10000');
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
//# sourceMappingURL=shared-utils.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shared-utils.test.js","sourceRoot":"","sources":["../../src/utils/shared-utils.test.ts"],"names":[],"mappings":"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"}
|