@sodax/sdk 0.0.1-rc.6 → 0.0.1-rc.8
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 -6
- 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 -1196
- 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 -54
- package/dist/entities/Providers.d.ts.map +0 -1
- package/dist/entities/Providers.js +0 -51
- 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 -92
- package/dist/entities/cosmos/CWSpokeProvider.d.ts.map +0 -1
- package/dist/entities/cosmos/CWSpokeProvider.js +0 -143
- package/dist/entities/cosmos/CWSpokeProvider.js.map +0 -1
- package/dist/entities/cosmos/CosmosWalletProvider.d.ts +0 -28
- package/dist/entities/cosmos/CosmosWalletProvider.d.ts.map +0 -1
- package/dist/entities/cosmos/CosmosWalletProvider.js +0 -102
- package/dist/entities/cosmos/CosmosWalletProvider.js.map +0 -1
- package/dist/entities/cosmos/InjectiveWalletProvider.d.ts +0 -25
- package/dist/entities/cosmos/InjectiveWalletProvider.d.ts.map +0 -1
- package/dist/entities/cosmos/InjectiveWalletProvider.js +0 -76
- package/dist/entities/cosmos/InjectiveWalletProvider.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 -38
- package/dist/entities/solana/Configs.d.ts.map +0 -1
- package/dist/entities/solana/Configs.js +0 -149
- 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 -124
- 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 -156
- 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 -352
- 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
|
@@ -1,429 +0,0 @@
|
|
|
1
|
-
import invariant from 'tiny-invariant';
|
|
2
|
-
import { DEFAULT_RELAYER_API_ENDPOINT, DEFAULT_RELAY_TX_TIMEOUT, Erc20Service, EvmSpokeProvider, SpokeService, calculateFeeAmount, encodeContractCalls, getIntentRelayChainId, getSolverConfig, isConfiguredSolverConfig, isValidIntentRelayChainId, isValidOriginalAssetAddress, isValidSpokeChainId, submitTransaction, waitUntilIntentExecuted, } from '../../index.js';
|
|
3
|
-
import { EvmWalletAbstraction } from '../hub/EvmWalletAbstraction.js';
|
|
4
|
-
import { EvmSolverService } from './EvmSolverService.js';
|
|
5
|
-
import { SolverApiService } from './SolverApiService.js';
|
|
6
|
-
import { SONIC_MAINNET_CHAIN_ID, } from '@sodax/types';
|
|
7
|
-
// Data types for arbitrary data
|
|
8
|
-
export var IntentDataType;
|
|
9
|
-
(function (IntentDataType) {
|
|
10
|
-
IntentDataType[IntentDataType["FEE"] = 1] = "FEE";
|
|
11
|
-
})(IntentDataType || (IntentDataType = {}));
|
|
12
|
-
export class SolverService {
|
|
13
|
-
config;
|
|
14
|
-
hubProvider;
|
|
15
|
-
constructor(config, hubProvider, relayerApiEndpoint) {
|
|
16
|
-
if (!config) {
|
|
17
|
-
// default to mainnet config
|
|
18
|
-
this.config = {
|
|
19
|
-
...getSolverConfig(SONIC_MAINNET_CHAIN_ID), // default to mainnet config
|
|
20
|
-
partnerFee: undefined,
|
|
21
|
-
relayerApiEndpoint: relayerApiEndpoint ?? DEFAULT_RELAYER_API_ENDPOINT,
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
else if (isConfiguredSolverConfig(config)) {
|
|
25
|
-
this.config = {
|
|
26
|
-
...config,
|
|
27
|
-
partnerFee: config.partnerFee,
|
|
28
|
-
relayerApiEndpoint: relayerApiEndpoint ?? DEFAULT_RELAYER_API_ENDPOINT,
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
this.config = {
|
|
33
|
-
...getSolverConfig(hubProvider.chainConfig.chain.id), // default to mainnet config
|
|
34
|
-
partnerFee: config.partnerFee,
|
|
35
|
-
relayerApiEndpoint: relayerApiEndpoint ?? DEFAULT_RELAYER_API_ENDPOINT,
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
this.hubProvider = hubProvider;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Request a quote from the solver API
|
|
42
|
-
* @param {IntentQuoteRequest} payload - The intent quote request
|
|
43
|
-
* @returns {Promise<Result<IntentQuoteResponse, IntentErrorResponse>>} The intent quote response
|
|
44
|
-
*
|
|
45
|
-
* @example
|
|
46
|
-
* const payload = {
|
|
47
|
-
* "token_src":"0x2170Ed0880ac9A755fd29B2688956BD959F933F8", // BSC ETH token address
|
|
48
|
-
* "token_dst":"0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f", // ARB WBTC token address
|
|
49
|
-
* "token_src_blockchain_id":"0x38.bsc",
|
|
50
|
-
* "token_dst_blockchain_id":"0xa4b1.arbitrum",
|
|
51
|
-
* "amount":1000000000000000n,
|
|
52
|
-
* "quote_type": "exact_input"
|
|
53
|
-
* } satisfies IntentQuoteRequest
|
|
54
|
-
*
|
|
55
|
-
* const response = await solverService.getQuote(payload);
|
|
56
|
-
*
|
|
57
|
-
* if (response.ok) {
|
|
58
|
-
* const quotedAmount = response.value.quoted_amount;
|
|
59
|
-
* console.log('Quoted amount:', quotedAmount);
|
|
60
|
-
* } else {
|
|
61
|
-
* console.error('Quote failed:', response.error);
|
|
62
|
-
* }
|
|
63
|
-
*/
|
|
64
|
-
async getQuote(payload) {
|
|
65
|
-
return SolverApiService.getQuote(payload, this.config);
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Get the fee for a given input amount
|
|
69
|
-
* @param {bigint} inputAmount - The amount of input tokens
|
|
70
|
-
* @returns {Promise<bigint>} The fee amount (denominated in input tokens)
|
|
71
|
-
*
|
|
72
|
-
* @example
|
|
73
|
-
* const fee: bigint = await solverService.getFee(1000000000000000n);
|
|
74
|
-
* console.log('Fee:', fee);
|
|
75
|
-
*/
|
|
76
|
-
async getFee(inputAmount) {
|
|
77
|
-
if (!this.config.partnerFee) {
|
|
78
|
-
return 0n;
|
|
79
|
-
}
|
|
80
|
-
return calculateFeeAmount(inputAmount, this.config.partnerFee);
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Get the status of an intent from Solver API
|
|
84
|
-
* @param {IntentStatusRequest} intentStatusRequest - The intent status request
|
|
85
|
-
* @returns {Promise<Result<IntentStatusResponse, IntentErrorResponse>>} The intent status response
|
|
86
|
-
*
|
|
87
|
-
* @example
|
|
88
|
-
* const intentStatusRequest = {
|
|
89
|
-
* "intentHash": "a0dd7652-b360-4123-ab2d-78cfbcd20c6b"
|
|
90
|
-
* } satisfies IntentStatusRequest
|
|
91
|
-
*
|
|
92
|
-
* const response = await solverService.getStatus(intentStatusRequest);
|
|
93
|
-
*
|
|
94
|
-
* if (response.ok) {
|
|
95
|
-
* const { status, intent_hash } = response.value;
|
|
96
|
-
* console.log('Status:', status);
|
|
97
|
-
* console.log('Intent hash:', intent_hash);
|
|
98
|
-
* } else {
|
|
99
|
-
* // handle error
|
|
100
|
-
* }
|
|
101
|
-
*/
|
|
102
|
-
async getStatus(intentStatusRequest) {
|
|
103
|
-
return SolverApiService.getStatus(intentStatusRequest, this.config);
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Post execution of intent order transaction executed on hub chain to Solver API
|
|
107
|
-
* @param {IntentExecutionRequest} intentExecutionRequest - The intent execution request
|
|
108
|
-
* @returns {Promise<Result<IntentExecutionResponse, IntentErrorResponse>>} The intent execution response
|
|
109
|
-
*
|
|
110
|
-
* @example
|
|
111
|
-
* const intentExecutionRequest = {
|
|
112
|
-
* "intent_tx_hash": "0xba3dce19347264db32ced212ff1a2036f20d9d2c7493d06af15027970be061af",
|
|
113
|
-
* } satisfies IntentExecutionRequest
|
|
114
|
-
*
|
|
115
|
-
* const response = await solverService.postExecution(intentExecutionRequest);
|
|
116
|
-
*
|
|
117
|
-
* if (response.ok) {
|
|
118
|
-
* const { answer, intent_hash } = response.value;
|
|
119
|
-
* console.log('Answer:', answer);
|
|
120
|
-
* console.log('Intent hash:', intent_hash);
|
|
121
|
-
* } else {
|
|
122
|
-
* // handle error
|
|
123
|
-
* }
|
|
124
|
-
*/
|
|
125
|
-
async postExecution(intentExecutionRequest) {
|
|
126
|
-
return SolverApiService.postExecution(intentExecutionRequest, this.config);
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Creates an intent and submits it to the Solver API and Relayer API
|
|
130
|
-
* @param {CreateIntentParams} payload - The intent to create
|
|
131
|
-
* @param {ISpokeProvider} spokeProvider - The spoke provider
|
|
132
|
-
* @param {number} timeout - The timeout in milliseconds for the transaction. Default is 60 seconds.
|
|
133
|
-
* @returns {Promise<Result<[IntentExecutionResponse, Intent, PacketData], IntentSubmitError<IntentSubmitErrorCode>>>} The intent execution response, intent, and packet data
|
|
134
|
-
*
|
|
135
|
-
* @example
|
|
136
|
-
* const payload = {
|
|
137
|
-
* "inputToken": "0x2170Ed0880ac9A755fd29B2688956BD959F933F8", // BSC ETH token address
|
|
138
|
-
* "outputToken": "0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f", // ARB WBTC token address
|
|
139
|
-
* "inputAmount": 1000000000000000n, // The amount of input tokens
|
|
140
|
-
* "minOutputAmount": 900000000000000n, // min amount you are expecting to receive
|
|
141
|
-
* "deadline": 0n, // Optional timestamp after which intent expires (0 = no deadline)
|
|
142
|
-
* "allowPartialFill": false, // Whether the intent can be partially filled
|
|
143
|
-
* "srcChain": "0x38.bsc", // Chain ID where input tokens originate
|
|
144
|
-
* "dstChain": "0xa4b1.arbitrum", // Chain ID where output tokens should be delivered
|
|
145
|
-
* "srcAddress": "0x..", // Source address in bytes (original address on spoke chain)
|
|
146
|
-
* "dstAddress": "0x...", // Destination address in bytes (original address on spoke chain)
|
|
147
|
-
* "solver": "0x..", // Optional specific solver address (address(0) = any solver)
|
|
148
|
-
* "data": "0x..", // Additional arbitrary data
|
|
149
|
-
* } satisfies CreateIntentParams;
|
|
150
|
-
*
|
|
151
|
-
* const createAndSubmitIntentResult = await solverService.createAndSubmitIntent(payload, spokeProvider);
|
|
152
|
-
*
|
|
153
|
-
* if (createAndSubmitIntentResult.ok) {
|
|
154
|
-
* const [intentExecutionResponse, intent, packetData] = createAndSubmitIntentResult.value;
|
|
155
|
-
* console.log('Intent execution response:', intentExecutionResponse);
|
|
156
|
-
* console.log('Intent:', intent);
|
|
157
|
-
* console.log('Packet data:', packetData);
|
|
158
|
-
* } else {
|
|
159
|
-
* // handle error
|
|
160
|
-
* }
|
|
161
|
-
*/
|
|
162
|
-
async createAndSubmitIntent(payload, spokeProvider, fee, timeout = DEFAULT_RELAY_TX_TIMEOUT) {
|
|
163
|
-
try {
|
|
164
|
-
const createIntentResult = await this.createIntent(payload, spokeProvider, fee, false);
|
|
165
|
-
if (!createIntentResult.ok) {
|
|
166
|
-
return {
|
|
167
|
-
ok: false,
|
|
168
|
-
error: createIntentResult.error,
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
const [spokeTxHash, intent] = createIntentResult.value;
|
|
172
|
-
const intentRelayChainId = getIntentRelayChainId(payload.srcChain).toString();
|
|
173
|
-
const submitPayload = {
|
|
174
|
-
action: 'submit',
|
|
175
|
-
params: {
|
|
176
|
-
chain_id: intentRelayChainId,
|
|
177
|
-
tx_hash: spokeTxHash,
|
|
178
|
-
},
|
|
179
|
-
};
|
|
180
|
-
const submitResult = await submitTransaction(submitPayload, this.config.relayerApiEndpoint);
|
|
181
|
-
if (!submitResult.success) {
|
|
182
|
-
return {
|
|
183
|
-
ok: false,
|
|
184
|
-
error: {
|
|
185
|
-
code: 'SUBMIT_TX_FAILED',
|
|
186
|
-
data: {
|
|
187
|
-
payload: submitPayload,
|
|
188
|
-
apiUrl: this.config.relayerApiEndpoint,
|
|
189
|
-
},
|
|
190
|
-
},
|
|
191
|
-
};
|
|
192
|
-
}
|
|
193
|
-
const packet = await waitUntilIntentExecuted({
|
|
194
|
-
intentRelayChainId,
|
|
195
|
-
spokeTxHash,
|
|
196
|
-
timeout,
|
|
197
|
-
apiUrl: this.config.relayerApiEndpoint,
|
|
198
|
-
});
|
|
199
|
-
if (!packet.ok) {
|
|
200
|
-
return {
|
|
201
|
-
ok: false,
|
|
202
|
-
error: packet.error,
|
|
203
|
-
};
|
|
204
|
-
}
|
|
205
|
-
const result = await this.postExecution({
|
|
206
|
-
intent_tx_hash: packet.value.dst_tx_hash,
|
|
207
|
-
});
|
|
208
|
-
if (!result.ok) {
|
|
209
|
-
return {
|
|
210
|
-
ok: false,
|
|
211
|
-
error: {
|
|
212
|
-
code: 'POST_EXECUTION_FAILED',
|
|
213
|
-
data: result.error,
|
|
214
|
-
},
|
|
215
|
-
};
|
|
216
|
-
}
|
|
217
|
-
return {
|
|
218
|
-
ok: true,
|
|
219
|
-
value: [result.value, intent, packet.value],
|
|
220
|
-
};
|
|
221
|
-
}
|
|
222
|
-
catch (error) {
|
|
223
|
-
return {
|
|
224
|
-
ok: false,
|
|
225
|
-
error: {
|
|
226
|
-
code: 'UNKNOWN',
|
|
227
|
-
data: {
|
|
228
|
-
payload: payload,
|
|
229
|
-
error: error,
|
|
230
|
-
},
|
|
231
|
-
},
|
|
232
|
-
};
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
/**
|
|
236
|
-
* Check whether assetManager contract is allowed to move the given payload amount
|
|
237
|
-
* @param {CreateIntentParams} params - The intent to create
|
|
238
|
-
* @param {SpokeProvider} spokeProvider - The spoke provider
|
|
239
|
-
* @return {Promise<Result<boolean>>} - valid = true, invalid = false
|
|
240
|
-
*
|
|
241
|
-
* @example
|
|
242
|
-
* const payload = {
|
|
243
|
-
* "inputToken": "0x2170Ed0880ac9A755fd29B2688956BD959F933F8", // BSC ETH token address
|
|
244
|
-
* "outputToken": "0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f", // ARB WBTC token address
|
|
245
|
-
* "inputAmount": 1000000000000000n, // The amount of input tokens
|
|
246
|
-
* "minOutputAmount": 900000000000000n, // min amount you are expecting to receive
|
|
247
|
-
* "deadline": 0n, // Optional timestamp after which intent expires (0 = no deadline)
|
|
248
|
-
* "allowPartialFill": false, // Whether the intent can be partially filled
|
|
249
|
-
* "srcChain": "0x38.bsc", // Chain ID where input tokens originate
|
|
250
|
-
* "dstChain": "0xa4b1.arbitrum", // Chain ID where output tokens should be delivered
|
|
251
|
-
* "srcAddress": "0x..", // Source address in bytes (original address on spoke chain)
|
|
252
|
-
* "dstAddress": "0x...", // Destination address in bytes (original address on spoke chain)
|
|
253
|
-
* "solver": "0x..", // Optional specific solver address (address(0) = any solver)
|
|
254
|
-
* "data": "0x..", // Additional arbitrary data
|
|
255
|
-
* } satisfies CreateIntentParams;
|
|
256
|
-
*
|
|
257
|
-
* const isAllowanceValid = await solverService.isAllowanceValid(payload, spokeProvider);
|
|
258
|
-
*
|
|
259
|
-
* if (!allowanceValid.ok) {
|
|
260
|
-
* // Handle error
|
|
261
|
-
* }
|
|
262
|
-
*
|
|
263
|
-
* if (!allowanceValid.value) {
|
|
264
|
-
* // Need to approve
|
|
265
|
-
* }
|
|
266
|
-
*/
|
|
267
|
-
async isAllowanceValid(params, spokeProvider) {
|
|
268
|
-
try {
|
|
269
|
-
if (spokeProvider instanceof EvmSpokeProvider) {
|
|
270
|
-
const walletAddress = (await spokeProvider.walletProvider.getWalletAddress());
|
|
271
|
-
return Erc20Service.isAllowanceValid(params.inputToken, params.inputAmount, walletAddress, spokeProvider.chainConfig.addresses.assetManager, spokeProvider);
|
|
272
|
-
}
|
|
273
|
-
return {
|
|
274
|
-
ok: true,
|
|
275
|
-
value: true,
|
|
276
|
-
};
|
|
277
|
-
}
|
|
278
|
-
catch (error) {
|
|
279
|
-
return {
|
|
280
|
-
ok: false,
|
|
281
|
-
error: error,
|
|
282
|
-
};
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
/**
|
|
286
|
-
* Approve amount spending (currently required for EVM only)
|
|
287
|
-
* @param token - ERC20 token address
|
|
288
|
-
* @param amount - Amount to approve
|
|
289
|
-
* @param spender - Spender address
|
|
290
|
-
* @param spokeProvider - Spoke provider
|
|
291
|
-
* @returns {Promise<Result<EvmRawTransactionReceipt>>} - Returns the transaction receipt
|
|
292
|
-
*
|
|
293
|
-
* @example
|
|
294
|
-
* const approveResult = await approve(
|
|
295
|
-
* '0x...', // ERC20 token address
|
|
296
|
-
* 1000n, // Amount to approve (in token decimals)
|
|
297
|
-
* '0x...', // Spender address (usually the asset manager contract: spokeProvider.chainConfig.addresses.assetManager)
|
|
298
|
-
* spokeProvider
|
|
299
|
-
* );
|
|
300
|
-
*
|
|
301
|
-
* if (!approveResult.ok) {
|
|
302
|
-
* // Handle error
|
|
303
|
-
* }
|
|
304
|
-
*
|
|
305
|
-
* const txReceipt = approveResult.value;
|
|
306
|
-
*/
|
|
307
|
-
async approve(token, amount, address, spokeProvider) {
|
|
308
|
-
try {
|
|
309
|
-
if (spokeProvider instanceof EvmSpokeProvider) {
|
|
310
|
-
return Erc20Service.approve(token, amount, address, spokeProvider);
|
|
311
|
-
}
|
|
312
|
-
return {
|
|
313
|
-
ok: false,
|
|
314
|
-
error: new Error('Approve only supported for EVM spoke chains'),
|
|
315
|
-
};
|
|
316
|
-
}
|
|
317
|
-
catch (error) {
|
|
318
|
-
return {
|
|
319
|
-
ok: false,
|
|
320
|
-
error: error,
|
|
321
|
-
};
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
/**
|
|
325
|
-
* Creates an intent by handling token approval and intent creation
|
|
326
|
-
* NOTE: This method does not submit the intent to the Solver API
|
|
327
|
-
* @param {CreateIntentParams} params - The intent to create
|
|
328
|
-
* @param {SpokeProvider} spokeProvider - The spoke provider
|
|
329
|
-
* @param {boolean} raw - Whether to return the raw transaction
|
|
330
|
-
* @param {PartnerFee} fee - The fee to apply to the intent
|
|
331
|
-
* @returns {Promise<Result<[TxReturnType<S, R>, Intent & FeeAmount], IntentSubmitError<'CREATION_FAILED'>>>} The encoded contract call
|
|
332
|
-
*
|
|
333
|
-
* @example
|
|
334
|
-
* const payload = {
|
|
335
|
-
* "inputToken": "0x2170Ed0880ac9A755fd29B2688956BD959F933F8", // BSC ETH token address
|
|
336
|
-
* "outputToken": "0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f", // ARB WBTC token address
|
|
337
|
-
* "inputAmount": 1000000000000000n, // The amount of input tokens
|
|
338
|
-
* "minOutputAmount": 900000000000000n, // min amount you are expecting to receive
|
|
339
|
-
* "deadline": 0n, // Optional timestamp after which intent expires (0 = no deadline)
|
|
340
|
-
* "allowPartialFill": false, // Whether the intent can be partially filled
|
|
341
|
-
* "srcChain": "0x38.bsc", // Chain ID where input tokens originate
|
|
342
|
-
* "dstChain": "0xa4b1.arbitrum", // Chain ID where output tokens should be delivered
|
|
343
|
-
* "srcAddress": "0x..", // Source address in bytes (original address on spoke chain)
|
|
344
|
-
* "dstAddress": "0x...", // Destination address in bytes (original address on spoke chain)
|
|
345
|
-
* "solver": "0x..", // Optional specific solver address (address(0) = any solver)
|
|
346
|
-
* "data": "0x..", // Additional arbitrary data
|
|
347
|
-
* } satisfies CreateIntentParams;
|
|
348
|
-
*
|
|
349
|
-
* const createIntentResult = await solverService.createIntent(payload, spokeProvider);
|
|
350
|
-
*
|
|
351
|
-
* if (createIntentResult.ok) {
|
|
352
|
-
* const [txResult, intent] = createIntentResult.value;
|
|
353
|
-
* console.log('Intent:', intent);
|
|
354
|
-
*
|
|
355
|
-
*/
|
|
356
|
-
async createIntent(params, spokeProvider, fee, raw) {
|
|
357
|
-
invariant(isValidOriginalAssetAddress(params.srcChain, params.inputToken), `Unsupported spoke chain token (params.srcChain): ${params.srcChain}, params.inputToken): ${params.inputToken}`);
|
|
358
|
-
invariant(isValidOriginalAssetAddress(params.dstChain, params.outputToken), `Unsupported spoke chain token (params.dstChain): ${params.dstChain}, params.outputToken): ${params.outputToken}`);
|
|
359
|
-
invariant(isValidSpokeChainId(params.srcChain), `Invalid spoke chain (params.srcChain): ${params.srcChain}`);
|
|
360
|
-
invariant(isValidSpokeChainId(params.dstChain), `Invalid spoke chain (params.dstChain): ${params.dstChain}`);
|
|
361
|
-
try {
|
|
362
|
-
const walletAddressBytes = await spokeProvider.walletProvider.getWalletAddressBytes();
|
|
363
|
-
// derive users hub wallet address
|
|
364
|
-
const creatorHubWalletAddress = await EvmWalletAbstraction.getUserHubWalletAddress(params.srcChain, walletAddressBytes, this.hubProvider);
|
|
365
|
-
// construct the intent data
|
|
366
|
-
const [data, intent, feeAmount] = EvmSolverService.constructCreateIntentData(params, creatorHubWalletAddress, this.config, fee);
|
|
367
|
-
const walletAddress = (await spokeProvider.walletProvider.getWalletAddress());
|
|
368
|
-
const txResult = await SpokeService.deposit({
|
|
369
|
-
from: walletAddress,
|
|
370
|
-
to: creatorHubWalletAddress,
|
|
371
|
-
token: params.inputToken,
|
|
372
|
-
amount: params.inputAmount + feeAmount,
|
|
373
|
-
data: data,
|
|
374
|
-
}, spokeProvider, this.hubProvider, raw);
|
|
375
|
-
return {
|
|
376
|
-
ok: true,
|
|
377
|
-
value: [txResult, { ...intent, feeAmount }],
|
|
378
|
-
};
|
|
379
|
-
}
|
|
380
|
-
catch (error) {
|
|
381
|
-
return {
|
|
382
|
-
ok: false,
|
|
383
|
-
error: {
|
|
384
|
-
code: 'CREATION_FAILED',
|
|
385
|
-
data: {
|
|
386
|
-
payload: params,
|
|
387
|
-
error: error,
|
|
388
|
-
},
|
|
389
|
-
},
|
|
390
|
-
};
|
|
391
|
-
}
|
|
392
|
-
}
|
|
393
|
-
/**
|
|
394
|
-
* Cancels an intent
|
|
395
|
-
* @param {Intent} intent - The intent to cancel
|
|
396
|
-
* @param {ISpokeProvider} spokeProvider - The spoke provider
|
|
397
|
-
* @param {boolean} raw - Whether to return the raw transaction
|
|
398
|
-
* @returns {Promise<TxReturnType<T, R>>} The encoded contract call
|
|
399
|
-
*/
|
|
400
|
-
async cancelIntent(intent, spokeProvider, raw) {
|
|
401
|
-
invariant(isValidIntentRelayChainId(intent.srcChain), `Invalid intent.srcChain: ${intent.srcChain}`);
|
|
402
|
-
invariant(isValidIntentRelayChainId(intent.dstChain), `Invalid intent.dstChain: ${intent.dstChain}`);
|
|
403
|
-
const walletAddressBytes = await spokeProvider.walletProvider.getWalletAddressBytes();
|
|
404
|
-
// derive users hub wallet address
|
|
405
|
-
const creatorHubWalletAddress = await EvmWalletAbstraction.getUserHubWalletAddress(spokeProvider.chainConfig.chain.id, walletAddressBytes, this.hubProvider);
|
|
406
|
-
const calls = [];
|
|
407
|
-
const intentsContract = this.config.intentsContract;
|
|
408
|
-
calls.push(EvmSolverService.encodeCancelIntent(intent, intentsContract));
|
|
409
|
-
const data = encodeContractCalls(calls);
|
|
410
|
-
return SpokeService.callWallet(creatorHubWalletAddress, data, spokeProvider, this.hubProvider, raw);
|
|
411
|
-
}
|
|
412
|
-
/**
|
|
413
|
-
* Gets an intent from a transaction hash (on Hub chain)
|
|
414
|
-
* @param {Hash} txHash - The transaction hash on Hub chain
|
|
415
|
-
* @returns {Promise<Intent>} The intent
|
|
416
|
-
*/
|
|
417
|
-
getIntent(txHash) {
|
|
418
|
-
return EvmSolverService.getIntent(txHash, this.config, this.hubProvider);
|
|
419
|
-
}
|
|
420
|
-
/**
|
|
421
|
-
* Gets the keccak256 hash of an intent. Hash serves as the intent id on Hub chain.
|
|
422
|
-
* @param {Intent} intent - The intent
|
|
423
|
-
* @returns {Hex} The keccak256 hash of the intent
|
|
424
|
-
*/
|
|
425
|
-
getIntentHash(intent) {
|
|
426
|
-
return EvmSolverService.getIntentHash(intent);
|
|
427
|
-
}
|
|
428
|
-
}
|
|
429
|
-
//# sourceMappingURL=SolverService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SolverService.js","sourceRoot":"","sources":["../../../src/services/solver/SolverService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SolverService.test.d.ts","sourceRoot":"","sources":["../../../src/services/solver/SolverService.test.ts"],"names":[],"mappings":""}
|