@sodax/sdk 0.0.1-rc.3 → 0.0.1-rc.31
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/LICENSE +1 -1
- package/README.md +164 -11
- package/dist/index.cjs +16936 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +9866 -0
- package/dist/index.d.ts +9865 -9
- package/dist/index.mjs +16684 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +31 -32
- 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 -1154
- 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 -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 -323
- package/dist/services/moneyMarket/MoneyMarketService.d.ts.map +0 -1
- package/dist/services/moneyMarket/MoneyMarketService.js +0 -612
- 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 -196
- package/dist/services/solver/SolverService.d.ts.map +0 -1
- package/dist/services/solver/SolverService.js +0 -329
- 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 -170
- 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 -102
- 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 -74
- 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,196 +0,0 @@
|
|
|
1
|
-
import { type EvmHubProvider, type IntentRelayRequest, type PacketData, type RelayErrorCode, type SpokeProvider, type WaitUntilIntentExecutedPayload } from '../../index.js';
|
|
2
|
-
import type { FeeAmount, HttpUrl, IntentErrorResponse, IntentExecutionRequest, IntentExecutionResponse, IntentQuoteRequest, IntentQuoteResponse, IntentRelayChainId, IntentStatusRequest, IntentStatusResponse, PartnerFee, Result, SolverConfigParams, TxReturnType } from '../../types.js';
|
|
3
|
-
import type { Address, Hex, EvmRawTransactionReceipt, Hash } from '@sodax/types';
|
|
4
|
-
import { type SpokeChainId } from '@sodax/types';
|
|
5
|
-
export type CreateIntentParams = {
|
|
6
|
-
inputToken: string;
|
|
7
|
-
outputToken: string;
|
|
8
|
-
inputAmount: bigint;
|
|
9
|
-
minOutputAmount: bigint;
|
|
10
|
-
deadline: bigint;
|
|
11
|
-
allowPartialFill: boolean;
|
|
12
|
-
srcChain: SpokeChainId;
|
|
13
|
-
dstChain: SpokeChainId;
|
|
14
|
-
srcAddress: Hex;
|
|
15
|
-
dstAddress: Hex;
|
|
16
|
-
solver: Address;
|
|
17
|
-
data: Hex;
|
|
18
|
-
};
|
|
19
|
-
export type Intent = {
|
|
20
|
-
intentId: bigint;
|
|
21
|
-
creator: Address;
|
|
22
|
-
inputToken: Address;
|
|
23
|
-
outputToken: Address;
|
|
24
|
-
inputAmount: bigint;
|
|
25
|
-
minOutputAmount: bigint;
|
|
26
|
-
deadline: bigint;
|
|
27
|
-
allowPartialFill: boolean;
|
|
28
|
-
srcChain: IntentRelayChainId;
|
|
29
|
-
dstChain: IntentRelayChainId;
|
|
30
|
-
srcAddress: Hex;
|
|
31
|
-
dstAddress: Hex;
|
|
32
|
-
solver: Address;
|
|
33
|
-
data: Hex;
|
|
34
|
-
};
|
|
35
|
-
export declare enum IntentDataType {
|
|
36
|
-
FEE = 1
|
|
37
|
-
}
|
|
38
|
-
export type FeeData = {
|
|
39
|
-
fee: bigint;
|
|
40
|
-
receiver: Address;
|
|
41
|
-
};
|
|
42
|
-
export type IntentData = {
|
|
43
|
-
type: IntentDataType;
|
|
44
|
-
data: Hex;
|
|
45
|
-
};
|
|
46
|
-
export type IntentState = {
|
|
47
|
-
exists: boolean;
|
|
48
|
-
remainingInput: bigint;
|
|
49
|
-
receivedOutput: bigint;
|
|
50
|
-
pendingPayment: boolean;
|
|
51
|
-
};
|
|
52
|
-
export type IntentCreationFailedErrorData = {
|
|
53
|
-
payload: CreateIntentParams;
|
|
54
|
-
error: unknown;
|
|
55
|
-
};
|
|
56
|
-
export type IntentSubmitTxFailedErrorData = {
|
|
57
|
-
payload: IntentRelayRequest<'submit'>;
|
|
58
|
-
apiUrl: HttpUrl;
|
|
59
|
-
};
|
|
60
|
-
export type IntentWaitUntilIntentExecutedFailedErrorData = {
|
|
61
|
-
payload: WaitUntilIntentExecutedPayload;
|
|
62
|
-
error: unknown;
|
|
63
|
-
};
|
|
64
|
-
export type IntentSubmitErrorCode = RelayErrorCode | 'UNKNOWN' | 'CREATION_FAILED';
|
|
65
|
-
export type IntentSubmitErrorData<T extends IntentSubmitErrorCode> = T extends 'TIMEOUT' ? IntentWaitUntilIntentExecutedFailedErrorData : T extends 'CREATION_FAILED' ? IntentCreationFailedErrorData : T extends 'SUBMIT_TX_FAILED' ? IntentSubmitTxFailedErrorData : T extends 'POST_EXECUTION_FAILED' ? IntentErrorResponse : never;
|
|
66
|
-
export type IntentSubmitError<T extends IntentSubmitErrorCode> = {
|
|
67
|
-
code: T;
|
|
68
|
-
data: IntentSubmitErrorData<T>;
|
|
69
|
-
};
|
|
70
|
-
export declare class SolverService {
|
|
71
|
-
private readonly config;
|
|
72
|
-
private readonly hubProvider;
|
|
73
|
-
constructor(config: SolverConfigParams | undefined, hubProvider: EvmHubProvider, relayerApiEndpoint?: HttpUrl);
|
|
74
|
-
/**
|
|
75
|
-
* Request a quote from the solver API
|
|
76
|
-
* @param {IntentQuoteRequest} payload - The intent quote request
|
|
77
|
-
* @returns {Promise<Result<IntentQuoteResponse, IntentErrorResponse>>} The intent quote response
|
|
78
|
-
*
|
|
79
|
-
* @example
|
|
80
|
-
* // payload
|
|
81
|
-
* {
|
|
82
|
-
* "token_src":"0x13b70564b1ec12876b20fab5d1bb630311312f4f", // Asset BSC
|
|
83
|
-
* "token_dst":"0xdcd9578b51ef55239b6e68629d822a8d97c95b86", // Asset ETH Arbitrum
|
|
84
|
-
* "token_src_blockchain_id":"56",
|
|
85
|
-
* "token_dst_blockchain_id":"42161",
|
|
86
|
-
* "amount":1000000000000000n,
|
|
87
|
-
* "quote_type": "exact_input"
|
|
88
|
-
* } satisfies IntentQuoteRequest
|
|
89
|
-
* // response
|
|
90
|
-
* {
|
|
91
|
-
* "quoted_amount": "1000000000000000"
|
|
92
|
-
* } satisfies IntentQuoteResponse
|
|
93
|
-
*/
|
|
94
|
-
getQuote(payload: IntentQuoteRequest): Promise<Result<IntentQuoteResponse, IntentErrorResponse>>;
|
|
95
|
-
/**
|
|
96
|
-
* Get the fee for a given input amount
|
|
97
|
-
* @param {bigint} inputAmount - The amount of input tokens
|
|
98
|
-
* @returns {Promise<bigint>} The fee amount (denominated in input tokens)
|
|
99
|
-
*/
|
|
100
|
-
getFee(inputAmount: bigint): Promise<bigint>;
|
|
101
|
-
/**
|
|
102
|
-
* Get the status of an intent from Solver API
|
|
103
|
-
* @param {IntentStatusRequest} intentStatusRequest - The intent status request
|
|
104
|
-
* @returns {Promise<Result<IntentStatusResponse, IntentErrorResponse>>} The intent status response
|
|
105
|
-
*
|
|
106
|
-
* @example
|
|
107
|
-
* // request
|
|
108
|
-
* {
|
|
109
|
-
* "intentHash": "a0dd7652-b360-4123-ab2d-78cfbcd20c6b"
|
|
110
|
-
* }
|
|
111
|
-
* // response
|
|
112
|
-
* {
|
|
113
|
-
* "status": 3,
|
|
114
|
-
* "intent_hash": "0xba3dce19347264db32ced212ff1a2036f20d9d2c7493d06af15027970be061af"
|
|
115
|
-
* }
|
|
116
|
-
*/
|
|
117
|
-
getStatus(intentStatusRequest: IntentStatusRequest): Promise<Result<IntentStatusResponse, IntentErrorResponse>>;
|
|
118
|
-
/**
|
|
119
|
-
* Post execution of intent order to Solver API
|
|
120
|
-
* @param {IntentExecutionRequest} intentExecutionRequest - The intent execution request
|
|
121
|
-
* @returns {Promise<Result<IntentExecutionResponse, IntentErrorResponse>>} The intent execution response
|
|
122
|
-
*
|
|
123
|
-
* @example
|
|
124
|
-
* // request
|
|
125
|
-
* {
|
|
126
|
-
* "intent_tx_hash": "0xba3dce19347264db32ced212ff1a2036f20d9d2c7493d06af15027970be061af",
|
|
127
|
-
* "quote_uuid": "a0dd7652-b360-4123-ab2d-78cfbcd20c6b"
|
|
128
|
-
* }
|
|
129
|
-
*
|
|
130
|
-
* // response
|
|
131
|
-
* {
|
|
132
|
-
* "ok": true,
|
|
133
|
-
* "value": {
|
|
134
|
-
* "output": {
|
|
135
|
-
* "answer":"OK",
|
|
136
|
-
* "task_id":"a0dd7652-b360-4123-ab2d-78cfbcd20c6b"
|
|
137
|
-
* }
|
|
138
|
-
* }
|
|
139
|
-
* }
|
|
140
|
-
*/
|
|
141
|
-
postExecution(intentExecutionRequest: IntentExecutionRequest): Promise<Result<IntentExecutionResponse, IntentErrorResponse>>;
|
|
142
|
-
/**
|
|
143
|
-
* Creates an intent and submits it to the Solver API and Relayer API
|
|
144
|
-
* @param {CreateIntentParams} payload - The intent to create
|
|
145
|
-
* @param {ISpokeProvider} spokeProvider - The spoke provider
|
|
146
|
-
* @param {number} timeout - The timeout in milliseconds for the transaction. Default is 20 seconds.
|
|
147
|
-
* @returns {Promise<Result<IntentExecutionResponse, IntentErrorResponse>>} The encoded contract call
|
|
148
|
-
*/
|
|
149
|
-
createAndSubmitIntent<S extends SpokeProvider>(payload: CreateIntentParams, spokeProvider: S, fee?: PartnerFee, timeout?: number): Promise<Result<[IntentExecutionResponse, Intent, PacketData], IntentSubmitError<IntentSubmitErrorCode>>>;
|
|
150
|
-
/**
|
|
151
|
-
* Check whether assetManager contract is allowed to move the given payload amount
|
|
152
|
-
* @param {CreateIntentParams} params - The intent to create
|
|
153
|
-
* @param {SpokeProvider} spokeProvider - The spoke provider
|
|
154
|
-
* @return {Promise<Result<boolean>>} - valid = true, invalid = false
|
|
155
|
-
*/
|
|
156
|
-
isAllowanceValid<S extends SpokeProvider>(params: CreateIntentParams, spokeProvider: S): Promise<Result<boolean>>;
|
|
157
|
-
/**
|
|
158
|
-
* Approve ERC20 amount spending
|
|
159
|
-
* @param token - ERC20 token address
|
|
160
|
-
* @param amount - Amount to approve
|
|
161
|
-
* @param address - Address to approve spending for
|
|
162
|
-
* @param spokeProvider - Spoke provider
|
|
163
|
-
*/
|
|
164
|
-
approve<S extends SpokeProvider>(token: Address, amount: bigint, address: Address, spokeProvider: S): Promise<Result<EvmRawTransactionReceipt>>;
|
|
165
|
-
/**
|
|
166
|
-
* Creates an intent by handling token approval and intent creation
|
|
167
|
-
* NOTE: This method does not submit the intent to the Solver API
|
|
168
|
-
* @param {CreateIntentParams} params - The intent to create
|
|
169
|
-
* @param {SpokeProvider} spokeProvider - The spoke provider
|
|
170
|
-
* @param {boolean} raw - Whether to return the raw transaction
|
|
171
|
-
* @param {PartnerFee} fee - The fee to apply to the intent
|
|
172
|
-
* @returns {Promise<[TxReturnType<T, R>, Intent]>} The encoded contract call
|
|
173
|
-
*/
|
|
174
|
-
createIntent<S extends SpokeProvider, R extends boolean = false>(params: CreateIntentParams, spokeProvider: S, fee?: PartnerFee, raw?: R): Promise<Result<[TxReturnType<S, R>, Intent & FeeAmount], IntentSubmitError<'CREATION_FAILED'>>>;
|
|
175
|
-
/**
|
|
176
|
-
* Cancels an intent
|
|
177
|
-
* @param {Intent} intent - The intent to cancel
|
|
178
|
-
* @param {ISpokeProvider} spokeProvider - The spoke provider
|
|
179
|
-
* @param {boolean} raw - Whether to return the raw transaction
|
|
180
|
-
* @returns {Promise<TxReturnType<T, R>>} The encoded contract call
|
|
181
|
-
*/
|
|
182
|
-
cancelIntent<T extends SpokeProvider, R extends boolean = false>(intent: Intent, spokeProvider: T, raw?: R): Promise<TxReturnType<T, R>>;
|
|
183
|
-
/**
|
|
184
|
-
* Gets an intent from a transaction hash (on Hub chain)
|
|
185
|
-
* @param {Hash} txHash - The transaction hash on Hub chain
|
|
186
|
-
* @returns {Promise<Intent>} The intent
|
|
187
|
-
*/
|
|
188
|
-
getIntent(txHash: Hash): Promise<Intent>;
|
|
189
|
-
/**
|
|
190
|
-
* Gets the keccak256 hash of an intent. Hash serves as the intent id on Hub chain.
|
|
191
|
-
* @param {Intent} intent - The intent
|
|
192
|
-
* @returns {Hex} The keccak256 hash of the intent
|
|
193
|
-
*/
|
|
194
|
-
getIntentHash(intent: Intent): Hex;
|
|
195
|
-
}
|
|
196
|
-
//# sourceMappingURL=SolverService.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SolverService.d.ts","sourceRoot":"","sources":["../../../src/services/solver/SolverService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,329 +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
|
-
* // payload
|
|
47
|
-
* {
|
|
48
|
-
* "token_src":"0x13b70564b1ec12876b20fab5d1bb630311312f4f", // Asset BSC
|
|
49
|
-
* "token_dst":"0xdcd9578b51ef55239b6e68629d822a8d97c95b86", // Asset ETH Arbitrum
|
|
50
|
-
* "token_src_blockchain_id":"56",
|
|
51
|
-
* "token_dst_blockchain_id":"42161",
|
|
52
|
-
* "amount":1000000000000000n,
|
|
53
|
-
* "quote_type": "exact_input"
|
|
54
|
-
* } satisfies IntentQuoteRequest
|
|
55
|
-
* // response
|
|
56
|
-
* {
|
|
57
|
-
* "quoted_amount": "1000000000000000"
|
|
58
|
-
* } satisfies IntentQuoteResponse
|
|
59
|
-
*/
|
|
60
|
-
async getQuote(payload) {
|
|
61
|
-
return SolverApiService.getQuote(payload, this.config);
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Get the fee for a given input amount
|
|
65
|
-
* @param {bigint} inputAmount - The amount of input tokens
|
|
66
|
-
* @returns {Promise<bigint>} The fee amount (denominated in input tokens)
|
|
67
|
-
*/
|
|
68
|
-
async getFee(inputAmount) {
|
|
69
|
-
if (!this.config.partnerFee) {
|
|
70
|
-
return 0n;
|
|
71
|
-
}
|
|
72
|
-
return calculateFeeAmount(inputAmount, this.config.partnerFee);
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Get the status of an intent from Solver API
|
|
76
|
-
* @param {IntentStatusRequest} intentStatusRequest - The intent status request
|
|
77
|
-
* @returns {Promise<Result<IntentStatusResponse, IntentErrorResponse>>} The intent status response
|
|
78
|
-
*
|
|
79
|
-
* @example
|
|
80
|
-
* // request
|
|
81
|
-
* {
|
|
82
|
-
* "intentHash": "a0dd7652-b360-4123-ab2d-78cfbcd20c6b"
|
|
83
|
-
* }
|
|
84
|
-
* // response
|
|
85
|
-
* {
|
|
86
|
-
* "status": 3,
|
|
87
|
-
* "intent_hash": "0xba3dce19347264db32ced212ff1a2036f20d9d2c7493d06af15027970be061af"
|
|
88
|
-
* }
|
|
89
|
-
*/
|
|
90
|
-
async getStatus(intentStatusRequest) {
|
|
91
|
-
return SolverApiService.getStatus(intentStatusRequest, this.config);
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Post execution of intent order to Solver API
|
|
95
|
-
* @param {IntentExecutionRequest} intentExecutionRequest - The intent execution request
|
|
96
|
-
* @returns {Promise<Result<IntentExecutionResponse, IntentErrorResponse>>} The intent execution response
|
|
97
|
-
*
|
|
98
|
-
* @example
|
|
99
|
-
* // request
|
|
100
|
-
* {
|
|
101
|
-
* "intent_tx_hash": "0xba3dce19347264db32ced212ff1a2036f20d9d2c7493d06af15027970be061af",
|
|
102
|
-
* "quote_uuid": "a0dd7652-b360-4123-ab2d-78cfbcd20c6b"
|
|
103
|
-
* }
|
|
104
|
-
*
|
|
105
|
-
* // response
|
|
106
|
-
* {
|
|
107
|
-
* "ok": true,
|
|
108
|
-
* "value": {
|
|
109
|
-
* "output": {
|
|
110
|
-
* "answer":"OK",
|
|
111
|
-
* "task_id":"a0dd7652-b360-4123-ab2d-78cfbcd20c6b"
|
|
112
|
-
* }
|
|
113
|
-
* }
|
|
114
|
-
* }
|
|
115
|
-
*/
|
|
116
|
-
async postExecution(intentExecutionRequest) {
|
|
117
|
-
return SolverApiService.postExecution(intentExecutionRequest, this.config);
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Creates an intent and submits it to the Solver API and Relayer API
|
|
121
|
-
* @param {CreateIntentParams} payload - The intent to create
|
|
122
|
-
* @param {ISpokeProvider} spokeProvider - The spoke provider
|
|
123
|
-
* @param {number} timeout - The timeout in milliseconds for the transaction. Default is 20 seconds.
|
|
124
|
-
* @returns {Promise<Result<IntentExecutionResponse, IntentErrorResponse>>} The encoded contract call
|
|
125
|
-
*/
|
|
126
|
-
async createAndSubmitIntent(payload, spokeProvider, fee, timeout = DEFAULT_RELAY_TX_TIMEOUT) {
|
|
127
|
-
try {
|
|
128
|
-
const createIntentResult = await this.createIntent(payload, spokeProvider, fee, false);
|
|
129
|
-
if (!createIntentResult.ok) {
|
|
130
|
-
return {
|
|
131
|
-
ok: false,
|
|
132
|
-
error: createIntentResult.error,
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
const [spokeTxHash, intent] = createIntentResult.value;
|
|
136
|
-
const intentRelayChainId = getIntentRelayChainId(payload.srcChain).toString();
|
|
137
|
-
const submitPayload = {
|
|
138
|
-
action: 'submit',
|
|
139
|
-
params: {
|
|
140
|
-
chain_id: intentRelayChainId,
|
|
141
|
-
tx_hash: spokeTxHash,
|
|
142
|
-
},
|
|
143
|
-
};
|
|
144
|
-
const submitResult = await submitTransaction(submitPayload, this.config.relayerApiEndpoint);
|
|
145
|
-
if (!submitResult.success) {
|
|
146
|
-
return {
|
|
147
|
-
ok: false,
|
|
148
|
-
error: {
|
|
149
|
-
code: 'SUBMIT_TX_FAILED',
|
|
150
|
-
data: {
|
|
151
|
-
payload: submitPayload,
|
|
152
|
-
apiUrl: this.config.relayerApiEndpoint,
|
|
153
|
-
},
|
|
154
|
-
},
|
|
155
|
-
};
|
|
156
|
-
}
|
|
157
|
-
const packet = await waitUntilIntentExecuted({
|
|
158
|
-
intentRelayChainId,
|
|
159
|
-
spokeTxHash,
|
|
160
|
-
timeout,
|
|
161
|
-
apiUrl: this.config.relayerApiEndpoint,
|
|
162
|
-
});
|
|
163
|
-
if (!packet.ok) {
|
|
164
|
-
return {
|
|
165
|
-
ok: false,
|
|
166
|
-
error: packet.error,
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
const result = await this.postExecution({
|
|
170
|
-
intent_tx_hash: packet.value.dst_tx_hash,
|
|
171
|
-
});
|
|
172
|
-
if (!result.ok) {
|
|
173
|
-
return {
|
|
174
|
-
ok: false,
|
|
175
|
-
error: {
|
|
176
|
-
code: 'POST_EXECUTION_FAILED',
|
|
177
|
-
data: result.error,
|
|
178
|
-
},
|
|
179
|
-
};
|
|
180
|
-
}
|
|
181
|
-
return {
|
|
182
|
-
ok: true,
|
|
183
|
-
value: [result.value, intent, packet.value],
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
|
-
catch (error) {
|
|
187
|
-
return {
|
|
188
|
-
ok: false,
|
|
189
|
-
error: {
|
|
190
|
-
code: 'UNKNOWN',
|
|
191
|
-
data: {
|
|
192
|
-
payload: payload,
|
|
193
|
-
error: error,
|
|
194
|
-
},
|
|
195
|
-
},
|
|
196
|
-
};
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* Check whether assetManager contract is allowed to move the given payload amount
|
|
201
|
-
* @param {CreateIntentParams} params - The intent to create
|
|
202
|
-
* @param {SpokeProvider} spokeProvider - The spoke provider
|
|
203
|
-
* @return {Promise<Result<boolean>>} - valid = true, invalid = false
|
|
204
|
-
*/
|
|
205
|
-
async isAllowanceValid(params, spokeProvider) {
|
|
206
|
-
try {
|
|
207
|
-
if (spokeProvider instanceof EvmSpokeProvider) {
|
|
208
|
-
const walletAddress = (await spokeProvider.walletProvider.getWalletAddress());
|
|
209
|
-
return Erc20Service.isAllowanceValid(params.inputToken, params.inputAmount, walletAddress, spokeProvider.chainConfig.addresses.assetManager, spokeProvider);
|
|
210
|
-
}
|
|
211
|
-
return {
|
|
212
|
-
ok: true,
|
|
213
|
-
value: true,
|
|
214
|
-
};
|
|
215
|
-
}
|
|
216
|
-
catch (error) {
|
|
217
|
-
return {
|
|
218
|
-
ok: false,
|
|
219
|
-
error: error,
|
|
220
|
-
};
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* Approve ERC20 amount spending
|
|
225
|
-
* @param token - ERC20 token address
|
|
226
|
-
* @param amount - Amount to approve
|
|
227
|
-
* @param address - Address to approve spending for
|
|
228
|
-
* @param spokeProvider - Spoke provider
|
|
229
|
-
*/
|
|
230
|
-
async approve(token, amount, address, spokeProvider) {
|
|
231
|
-
try {
|
|
232
|
-
if (spokeProvider instanceof EvmSpokeProvider) {
|
|
233
|
-
return Erc20Service.approve(token, amount, address, spokeProvider);
|
|
234
|
-
}
|
|
235
|
-
return {
|
|
236
|
-
ok: false,
|
|
237
|
-
error: new Error('Approve only supported for EVM spoke chains'),
|
|
238
|
-
};
|
|
239
|
-
}
|
|
240
|
-
catch (error) {
|
|
241
|
-
return {
|
|
242
|
-
ok: false,
|
|
243
|
-
error: error,
|
|
244
|
-
};
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* Creates an intent by handling token approval and intent creation
|
|
249
|
-
* NOTE: This method does not submit the intent to the Solver API
|
|
250
|
-
* @param {CreateIntentParams} params - The intent to create
|
|
251
|
-
* @param {SpokeProvider} spokeProvider - The spoke provider
|
|
252
|
-
* @param {boolean} raw - Whether to return the raw transaction
|
|
253
|
-
* @param {PartnerFee} fee - The fee to apply to the intent
|
|
254
|
-
* @returns {Promise<[TxReturnType<T, R>, Intent]>} The encoded contract call
|
|
255
|
-
*/
|
|
256
|
-
async createIntent(params, spokeProvider, fee, raw) {
|
|
257
|
-
invariant(isValidOriginalAssetAddress(params.srcChain, params.inputToken), `Unsupported spoke chain token (params.srcChain): ${params.srcChain}, params.inputToken): ${params.inputToken}`);
|
|
258
|
-
invariant(isValidOriginalAssetAddress(params.dstChain, params.outputToken), `Unsupported spoke chain token (params.dstChain): ${params.dstChain}, params.outputToken): ${params.outputToken}`);
|
|
259
|
-
invariant(isValidSpokeChainId(params.srcChain), `Invalid spoke chain (params.srcChain): ${params.srcChain}`);
|
|
260
|
-
invariant(isValidSpokeChainId(params.dstChain), `Invalid spoke chain (params.dstChain): ${params.dstChain}`);
|
|
261
|
-
try {
|
|
262
|
-
const walletAddressBytes = await spokeProvider.walletProvider.getWalletAddressBytes();
|
|
263
|
-
// derive users hub wallet address
|
|
264
|
-
const creatorHubWalletAddress = await EvmWalletAbstraction.getUserHubWalletAddress(params.srcChain, walletAddressBytes, this.hubProvider);
|
|
265
|
-
// construct the intent data
|
|
266
|
-
const [data, intent, feeAmount] = EvmSolverService.constructCreateIntentData(params, creatorHubWalletAddress, this.config, fee);
|
|
267
|
-
const walletAddress = (await spokeProvider.walletProvider.getWalletAddress());
|
|
268
|
-
const txResult = await SpokeService.deposit({
|
|
269
|
-
from: walletAddress,
|
|
270
|
-
to: creatorHubWalletAddress,
|
|
271
|
-
token: params.inputToken,
|
|
272
|
-
amount: params.inputAmount + feeAmount,
|
|
273
|
-
data: data,
|
|
274
|
-
}, spokeProvider, this.hubProvider, raw);
|
|
275
|
-
return {
|
|
276
|
-
ok: true,
|
|
277
|
-
value: [txResult, { ...intent, feeAmount }],
|
|
278
|
-
};
|
|
279
|
-
}
|
|
280
|
-
catch (error) {
|
|
281
|
-
return {
|
|
282
|
-
ok: false,
|
|
283
|
-
error: {
|
|
284
|
-
code: 'CREATION_FAILED',
|
|
285
|
-
data: {
|
|
286
|
-
payload: params,
|
|
287
|
-
error: error,
|
|
288
|
-
},
|
|
289
|
-
},
|
|
290
|
-
};
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
/**
|
|
294
|
-
* Cancels an intent
|
|
295
|
-
* @param {Intent} intent - The intent to cancel
|
|
296
|
-
* @param {ISpokeProvider} spokeProvider - The spoke provider
|
|
297
|
-
* @param {boolean} raw - Whether to return the raw transaction
|
|
298
|
-
* @returns {Promise<TxReturnType<T, R>>} The encoded contract call
|
|
299
|
-
*/
|
|
300
|
-
async cancelIntent(intent, spokeProvider, raw) {
|
|
301
|
-
invariant(isValidIntentRelayChainId(intent.srcChain), `Invalid intent.srcChain: ${intent.srcChain}`);
|
|
302
|
-
invariant(isValidIntentRelayChainId(intent.dstChain), `Invalid intent.dstChain: ${intent.dstChain}`);
|
|
303
|
-
const walletAddressBytes = await spokeProvider.walletProvider.getWalletAddressBytes();
|
|
304
|
-
// derive users hub wallet address
|
|
305
|
-
const creatorHubWalletAddress = await EvmWalletAbstraction.getUserHubWalletAddress(spokeProvider.chainConfig.chain.id, walletAddressBytes, this.hubProvider);
|
|
306
|
-
const calls = [];
|
|
307
|
-
const intentsContract = this.config.intentsContract;
|
|
308
|
-
calls.push(EvmSolverService.encodeCancelIntent(intent, intentsContract));
|
|
309
|
-
const data = encodeContractCalls(calls);
|
|
310
|
-
return SpokeService.callWallet(creatorHubWalletAddress, data, spokeProvider, this.hubProvider, raw);
|
|
311
|
-
}
|
|
312
|
-
/**
|
|
313
|
-
* Gets an intent from a transaction hash (on Hub chain)
|
|
314
|
-
* @param {Hash} txHash - The transaction hash on Hub chain
|
|
315
|
-
* @returns {Promise<Intent>} The intent
|
|
316
|
-
*/
|
|
317
|
-
getIntent(txHash) {
|
|
318
|
-
return EvmSolverService.getIntent(txHash, this.config, this.hubProvider);
|
|
319
|
-
}
|
|
320
|
-
/**
|
|
321
|
-
* Gets the keccak256 hash of an intent. Hash serves as the intent id on Hub chain.
|
|
322
|
-
* @param {Intent} intent - The intent
|
|
323
|
-
* @returns {Hex} The keccak256 hash of the intent
|
|
324
|
-
*/
|
|
325
|
-
getIntentHash(intent) {
|
|
326
|
-
return EvmSolverService.getIntentHash(intent);
|
|
327
|
-
}
|
|
328
|
-
}
|
|
329
|
-
//# 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":""}
|