@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,262 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it, vi } from 'vitest';
|
|
2
|
-
import { isMoneyMarketReserveAsset, MoneyMarketService, moneyMarketReserveAssets, EvmHubProvider, getHubChainConfig, EvmSpokeProvider, spokeChainConfig, getSupportedMoneyMarketTokens, EvmWalletAbstraction, SpokeService, } from '../../index.js';
|
|
3
|
-
import * as IntentRelayApiService from '../intentRelay/IntentRelayApiService.js';
|
|
4
|
-
import { BSC_MAINNET_CHAIN_ID, SONIC_MAINNET_CHAIN_ID } from '@sodax/types';
|
|
5
|
-
describe('MoneyMarketService', () => {
|
|
6
|
-
const mockEvmWalletProvider = {
|
|
7
|
-
sendTransaction: vi.fn(),
|
|
8
|
-
getWalletAddress: vi.fn().mockResolvedValue('0x9999999999999999999999999999999999999999'),
|
|
9
|
-
getWalletAddressBytes: vi.fn().mockResolvedValue('0x9999999999999999999999999999999999999999'),
|
|
10
|
-
waitForTransactionReceipt: vi.fn(),
|
|
11
|
-
};
|
|
12
|
-
const mockBscSpokeProvider = new EvmSpokeProvider(mockEvmWalletProvider, spokeChainConfig[BSC_MAINNET_CHAIN_ID]);
|
|
13
|
-
const supportedTokens = getSupportedMoneyMarketTokens(BSC_MAINNET_CHAIN_ID);
|
|
14
|
-
const hubConfig = {
|
|
15
|
-
hubRpcUrl: 'https://rpc.soniclabs.com',
|
|
16
|
-
chainConfig: getHubChainConfig(SONIC_MAINNET_CHAIN_ID),
|
|
17
|
-
};
|
|
18
|
-
const moneyMarket = new MoneyMarketService({
|
|
19
|
-
partnerFee: {
|
|
20
|
-
address: '0x9999999999999999999999999999999999999999',
|
|
21
|
-
percentage: 100,
|
|
22
|
-
},
|
|
23
|
-
}, new EvmHubProvider(hubConfig));
|
|
24
|
-
// Helper function to get mock address
|
|
25
|
-
const getMockAddress = async () => {
|
|
26
|
-
return '0x9999999999999999999999999999999999999999';
|
|
27
|
-
};
|
|
28
|
-
it('should have supported tokens', () => {
|
|
29
|
-
expect(supportedTokens.length).toBeGreaterThan(0);
|
|
30
|
-
});
|
|
31
|
-
it('should supply a token', async () => {
|
|
32
|
-
const mockAddress = await getMockAddress();
|
|
33
|
-
vi.spyOn(EvmWalletAbstraction, 'getUserHubWalletAddress').mockResolvedValueOnce(mockAddress);
|
|
34
|
-
vi.spyOn(moneyMarket, 'supplyData').mockReturnValueOnce('0x');
|
|
35
|
-
vi.spyOn(SpokeService, 'deposit').mockResolvedValueOnce('0x');
|
|
36
|
-
const result = await moneyMarket.supply({
|
|
37
|
-
token: supportedTokens[0]?.address,
|
|
38
|
-
amount: 1000000000000000000n,
|
|
39
|
-
}, mockBscSpokeProvider, false);
|
|
40
|
-
expect(result.ok).toBe(true);
|
|
41
|
-
if (result.ok) {
|
|
42
|
-
expect(result.value).toBe('0x');
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
it('should supply a token raw', async () => {
|
|
46
|
-
const mockAddress = await getMockAddress();
|
|
47
|
-
const rawEvmTx = {
|
|
48
|
-
from: mockAddress,
|
|
49
|
-
to: '0x348BE44F63A458be9C1b13D6fD8e99048F297Bc3',
|
|
50
|
-
value: 1000000000000000000n,
|
|
51
|
-
data: '0xc6b4180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000001499999999999999999999999999999999999999990000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
|
|
52
|
-
};
|
|
53
|
-
vi.spyOn(EvmWalletAbstraction, 'getUserHubWalletAddress').mockResolvedValueOnce(mockAddress);
|
|
54
|
-
vi.spyOn(moneyMarket, 'supplyData').mockReturnValueOnce('0x');
|
|
55
|
-
const result = await moneyMarket.supply({
|
|
56
|
-
token: supportedTokens[0]?.address,
|
|
57
|
-
amount: rawEvmTx.value,
|
|
58
|
-
}, mockBscSpokeProvider, true);
|
|
59
|
-
expect(result.ok).toBe(true);
|
|
60
|
-
if (result.ok) {
|
|
61
|
-
expect(result.value).toEqual(rawEvmTx);
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
it('should supply a token and submit', async () => {
|
|
65
|
-
const mockAddress = await getMockAddress();
|
|
66
|
-
vi.spyOn(EvmWalletAbstraction, 'getUserHubWalletAddress').mockResolvedValueOnce(mockAddress);
|
|
67
|
-
vi.spyOn(moneyMarket, 'supply').mockReturnValueOnce({
|
|
68
|
-
ok: true,
|
|
69
|
-
value: '0x',
|
|
70
|
-
});
|
|
71
|
-
vi.spyOn(IntentRelayApiService, 'relayTxAndWaitPacket').mockResolvedValueOnce({
|
|
72
|
-
ok: true,
|
|
73
|
-
value: {
|
|
74
|
-
dst_tx_hash: '0x',
|
|
75
|
-
},
|
|
76
|
-
});
|
|
77
|
-
const result = await moneyMarket.supplyAndSubmit({
|
|
78
|
-
token: supportedTokens[0]?.address,
|
|
79
|
-
amount: 1000000000000000000n,
|
|
80
|
-
}, mockBscSpokeProvider);
|
|
81
|
-
expect(result.ok).toBe(true);
|
|
82
|
-
if (result.ok) {
|
|
83
|
-
expect(result.value).toEqual(['0x', '0x']);
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
it('should borrow a token', async () => {
|
|
87
|
-
const mockAddress = await getMockAddress();
|
|
88
|
-
vi.spyOn(EvmWalletAbstraction, 'getUserHubWalletAddress').mockResolvedValueOnce(mockAddress);
|
|
89
|
-
vi.spyOn(moneyMarket, 'borrowData').mockReturnValueOnce('0x');
|
|
90
|
-
vi.spyOn(SpokeService, 'callWallet').mockResolvedValueOnce('0x');
|
|
91
|
-
const result = await moneyMarket.borrow({
|
|
92
|
-
token: supportedTokens[0]?.address,
|
|
93
|
-
amount: 1000000000000000000n,
|
|
94
|
-
}, mockBscSpokeProvider, false);
|
|
95
|
-
expect(result.ok).toBe(true);
|
|
96
|
-
if (result.ok) {
|
|
97
|
-
expect(result.value).toBe('0x');
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
it('should borrow a token raw', async () => {
|
|
101
|
-
const mockAddress = await getMockAddress();
|
|
102
|
-
const rawEvmTx = {
|
|
103
|
-
from: mockAddress,
|
|
104
|
-
to: '0x348BE44F63A458be9C1b13D6fD8e99048F297Bc3',
|
|
105
|
-
value: 1000000000000000000n,
|
|
106
|
-
data: '0xc6b4180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000001499999999999999999999999999999999999999990000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
|
|
107
|
-
};
|
|
108
|
-
vi.spyOn(EvmWalletAbstraction, 'getUserHubWalletAddress').mockResolvedValueOnce(mockAddress);
|
|
109
|
-
vi.spyOn(moneyMarket, 'borrowData').mockReturnValueOnce('0x');
|
|
110
|
-
vi.spyOn(SpokeService, 'callWallet').mockResolvedValueOnce(rawEvmTx);
|
|
111
|
-
const result = await moneyMarket.borrow({
|
|
112
|
-
token: supportedTokens[0]?.address,
|
|
113
|
-
amount: rawEvmTx.value,
|
|
114
|
-
}, mockBscSpokeProvider, true);
|
|
115
|
-
expect(result.ok).toBe(true);
|
|
116
|
-
if (result.ok) {
|
|
117
|
-
expect(result.value).toEqual(rawEvmTx);
|
|
118
|
-
}
|
|
119
|
-
});
|
|
120
|
-
it('should borrow a token and submit', async () => {
|
|
121
|
-
const mockAddress = await getMockAddress();
|
|
122
|
-
vi.spyOn(EvmWalletAbstraction, 'getUserHubWalletAddress').mockResolvedValueOnce(mockAddress);
|
|
123
|
-
vi.spyOn(moneyMarket, 'borrow').mockReturnValueOnce({
|
|
124
|
-
ok: true,
|
|
125
|
-
value: '0x',
|
|
126
|
-
});
|
|
127
|
-
vi.spyOn(IntentRelayApiService, 'relayTxAndWaitPacket').mockResolvedValueOnce({
|
|
128
|
-
ok: true,
|
|
129
|
-
value: {
|
|
130
|
-
dst_tx_hash: '0x',
|
|
131
|
-
},
|
|
132
|
-
});
|
|
133
|
-
const result = await moneyMarket.borrowAndSubmit({
|
|
134
|
-
token: supportedTokens[0]?.address,
|
|
135
|
-
amount: 1000000000000000000n,
|
|
136
|
-
}, mockBscSpokeProvider);
|
|
137
|
-
expect(result.ok).toBe(true);
|
|
138
|
-
if (result.ok) {
|
|
139
|
-
expect(result.value).toEqual(['0x', '0x']);
|
|
140
|
-
}
|
|
141
|
-
});
|
|
142
|
-
it('should withdraw a token', async () => {
|
|
143
|
-
const mockAddress = await getMockAddress();
|
|
144
|
-
vi.spyOn(EvmWalletAbstraction, 'getUserHubWalletAddress').mockResolvedValueOnce(mockAddress);
|
|
145
|
-
vi.spyOn(moneyMarket, 'withdrawData').mockReturnValueOnce('0x');
|
|
146
|
-
vi.spyOn(SpokeService, 'callWallet').mockResolvedValueOnce('0x');
|
|
147
|
-
const result = await moneyMarket.withdraw({
|
|
148
|
-
token: supportedTokens[0]?.address,
|
|
149
|
-
amount: 1000000000000000000n,
|
|
150
|
-
}, mockBscSpokeProvider, false);
|
|
151
|
-
expect(result.ok).toBe(true);
|
|
152
|
-
if (result.ok) {
|
|
153
|
-
expect(result.value).toBe('0x');
|
|
154
|
-
}
|
|
155
|
-
});
|
|
156
|
-
it('should withdraw a token raw', async () => {
|
|
157
|
-
const mockAddress = await getMockAddress();
|
|
158
|
-
const rawEvmTx = {
|
|
159
|
-
from: mockAddress,
|
|
160
|
-
to: '0x348BE44F63A458be9C1b13D6fD8e99048F297Bc3',
|
|
161
|
-
value: 1000000000000000000n,
|
|
162
|
-
data: '0xc6b4180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000001499999999999999999999999999999999999999990000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
|
|
163
|
-
};
|
|
164
|
-
vi.spyOn(EvmWalletAbstraction, 'getUserHubWalletAddress').mockResolvedValueOnce(mockAddress);
|
|
165
|
-
vi.spyOn(moneyMarket, 'withdrawData').mockReturnValueOnce('0x');
|
|
166
|
-
vi.spyOn(SpokeService, 'callWallet').mockResolvedValueOnce(rawEvmTx);
|
|
167
|
-
const result = await moneyMarket.withdraw({
|
|
168
|
-
token: supportedTokens[0]?.address,
|
|
169
|
-
amount: rawEvmTx.value,
|
|
170
|
-
}, mockBscSpokeProvider, true);
|
|
171
|
-
expect(result.ok).toBe(true);
|
|
172
|
-
if (result.ok) {
|
|
173
|
-
expect(result.value).toEqual(rawEvmTx);
|
|
174
|
-
}
|
|
175
|
-
});
|
|
176
|
-
it('should withdraw a token and submit', async () => {
|
|
177
|
-
const mockAddress = await getMockAddress();
|
|
178
|
-
vi.spyOn(EvmWalletAbstraction, 'getUserHubWalletAddress').mockResolvedValueOnce(mockAddress);
|
|
179
|
-
vi.spyOn(moneyMarket, 'withdraw').mockReturnValueOnce({
|
|
180
|
-
ok: true,
|
|
181
|
-
value: '0x',
|
|
182
|
-
});
|
|
183
|
-
vi.spyOn(IntentRelayApiService, 'relayTxAndWaitPacket').mockResolvedValueOnce({
|
|
184
|
-
ok: true,
|
|
185
|
-
value: {
|
|
186
|
-
dst_tx_hash: '0x',
|
|
187
|
-
},
|
|
188
|
-
});
|
|
189
|
-
const result = await moneyMarket.withdrawAndSubmit({
|
|
190
|
-
token: supportedTokens[0]?.address,
|
|
191
|
-
amount: 1000000000000000000n,
|
|
192
|
-
}, mockBscSpokeProvider);
|
|
193
|
-
expect(result.ok).toBe(true);
|
|
194
|
-
if (result.ok) {
|
|
195
|
-
expect(result.value).toEqual(['0x', '0x']);
|
|
196
|
-
}
|
|
197
|
-
});
|
|
198
|
-
it('should repay a token', async () => {
|
|
199
|
-
const mockAddress = await getMockAddress();
|
|
200
|
-
vi.spyOn(EvmWalletAbstraction, 'getUserHubWalletAddress').mockResolvedValueOnce(mockAddress);
|
|
201
|
-
vi.spyOn(moneyMarket, 'repayData').mockReturnValueOnce('0x');
|
|
202
|
-
vi.spyOn(SpokeService, 'deposit').mockResolvedValueOnce('0x');
|
|
203
|
-
const result = await moneyMarket.repay({
|
|
204
|
-
token: supportedTokens[0]?.address,
|
|
205
|
-
amount: 1000000000000000000n,
|
|
206
|
-
}, mockBscSpokeProvider, false);
|
|
207
|
-
expect(result.ok).toBe(true);
|
|
208
|
-
if (result.ok) {
|
|
209
|
-
expect(result.value).toBe('0x');
|
|
210
|
-
}
|
|
211
|
-
});
|
|
212
|
-
it('should repay a token raw', async () => {
|
|
213
|
-
const mockAddress = await getMockAddress();
|
|
214
|
-
const rawEvmTx = {
|
|
215
|
-
from: mockAddress,
|
|
216
|
-
to: '0x348BE44F63A458be9C1b13D6fD8e99048F297Bc3',
|
|
217
|
-
value: 1000000000000000000n,
|
|
218
|
-
data: '0xc6b4180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000001499999999999999999999999999999999999999990000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
|
|
219
|
-
};
|
|
220
|
-
vi.spyOn(EvmWalletAbstraction, 'getUserHubWalletAddress').mockResolvedValueOnce(mockAddress);
|
|
221
|
-
vi.spyOn(moneyMarket, 'repayData').mockReturnValueOnce('0x');
|
|
222
|
-
vi.spyOn(SpokeService, 'deposit').mockResolvedValueOnce(rawEvmTx);
|
|
223
|
-
const result = await moneyMarket.repay({
|
|
224
|
-
token: supportedTokens[0]?.address,
|
|
225
|
-
amount: rawEvmTx.value,
|
|
226
|
-
}, mockBscSpokeProvider, true);
|
|
227
|
-
expect(result.ok).toBe(true);
|
|
228
|
-
if (result.ok) {
|
|
229
|
-
expect(result.value).toEqual(rawEvmTx);
|
|
230
|
-
}
|
|
231
|
-
});
|
|
232
|
-
it('should repay a token and submit', async () => {
|
|
233
|
-
const mockAddress = await getMockAddress();
|
|
234
|
-
vi.spyOn(EvmWalletAbstraction, 'getUserHubWalletAddress').mockResolvedValueOnce(mockAddress);
|
|
235
|
-
vi.spyOn(moneyMarket, 'repay').mockReturnValueOnce({
|
|
236
|
-
ok: true,
|
|
237
|
-
value: '0x',
|
|
238
|
-
});
|
|
239
|
-
vi.spyOn(IntentRelayApiService, 'relayTxAndWaitPacket').mockResolvedValueOnce({
|
|
240
|
-
ok: true,
|
|
241
|
-
value: {
|
|
242
|
-
dst_tx_hash: '0x',
|
|
243
|
-
},
|
|
244
|
-
});
|
|
245
|
-
const result = await moneyMarket.repayAndSubmit({
|
|
246
|
-
token: supportedTokens[0]?.address,
|
|
247
|
-
amount: 1000000000000000000n,
|
|
248
|
-
}, mockBscSpokeProvider);
|
|
249
|
-
expect(result.ok).toBe(true);
|
|
250
|
-
if (result.ok) {
|
|
251
|
-
expect(result.value).toEqual(['0x', '0x']);
|
|
252
|
-
}
|
|
253
|
-
});
|
|
254
|
-
it('should be defined', () => {
|
|
255
|
-
expect(MoneyMarketService).toBeDefined();
|
|
256
|
-
const testAsset = moneyMarketReserveAssets[0];
|
|
257
|
-
const wrongAsset = '0x0000000000000000000000000000000000000000';
|
|
258
|
-
expect(isMoneyMarketReserveAsset(testAsset)).toBe(true);
|
|
259
|
-
expect(isMoneyMarketReserveAsset(wrongAsset)).toBe(false);
|
|
260
|
-
});
|
|
261
|
-
});
|
|
262
|
-
//# sourceMappingURL=MoneyMarketService.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MoneyMarketService.test.js","sourceRoot":"","sources":["../../../src/services/moneyMarket/MoneyMarketService.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/moneyMarket/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/moneyMarket/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { type Address } from 'viem';
|
|
2
|
-
import type { EvmContractCall, Result } from '../../types.js';
|
|
3
|
-
import type { EvmSpokeProvider } from '../../entities/Providers.js';
|
|
4
|
-
import type { EvmRawTransactionReceipt } from '@sodax/types';
|
|
5
|
-
export declare class Erc20Service {
|
|
6
|
-
private constructor();
|
|
7
|
-
/**
|
|
8
|
-
* Check if spender has enough ERC20 allowance for given amount
|
|
9
|
-
* @param token - ERC20 token address
|
|
10
|
-
* @param amount - Amount to check allowance for
|
|
11
|
-
* @param owner - User wallet address
|
|
12
|
-
* @param spender - Spender address
|
|
13
|
-
* @param spokeProvider - EVM Spoke provider
|
|
14
|
-
* @return - True if spender is allowed to spend amount on behalf of owner
|
|
15
|
-
*/
|
|
16
|
-
static isAllowanceValid(token: Address, amount: bigint, owner: Address, spender: Address, spokeProvider: EvmSpokeProvider): Promise<Result<boolean>>;
|
|
17
|
-
/**
|
|
18
|
-
* Approve ERC20 amount spending
|
|
19
|
-
* @param token - ERC20 token address
|
|
20
|
-
* @param amount - Amount to approve
|
|
21
|
-
* @param spender - Spender address
|
|
22
|
-
* @param provider - EVM Provider
|
|
23
|
-
*/
|
|
24
|
-
static approve(token: Address, amount: bigint, spender: Address, spokeProvider: EvmSpokeProvider): Promise<Result<EvmRawTransactionReceipt>>;
|
|
25
|
-
/**
|
|
26
|
-
* Encodes a transfer transaction for a token.
|
|
27
|
-
* @param token - The address of the token.
|
|
28
|
-
* @param to - The address to transfer the token to.
|
|
29
|
-
* @param amount - The amount of the token to transfer.
|
|
30
|
-
* @returns The encoded contract call.
|
|
31
|
-
*/
|
|
32
|
-
static encodeTansfer(token: Address, to: Address, amount: bigint): EvmContractCall;
|
|
33
|
-
/**
|
|
34
|
-
* Encodes an approval transaction for a token.
|
|
35
|
-
* @param token - The address of the token.
|
|
36
|
-
* @param to - The address to approve the token to.
|
|
37
|
-
* @param amount - The amount of the token to approve.
|
|
38
|
-
* @returns The encoded contract call.
|
|
39
|
-
*/
|
|
40
|
-
static encodeApprove(token: Address, to: Address, amount: bigint): EvmContractCall;
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=Erc20Service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Erc20Service.d.ts","sourceRoot":"","sources":["../../../src/services/shared/Erc20Service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAE7D,qBAAa,YAAY;IACvB,OAAO;IAEP;;;;;;;;OAQG;WACU,gBAAgB,CAC3B,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,gBAAgB,GAC9B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IA4B3B;;;;;;OAMG;WACU,OAAO,CAClB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,gBAAgB,GAC9B,OAAO,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;IA0B5C;;;;;;OAMG;WACW,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe;IAYzF;;;;;;OAMG;WACW,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe;CAW1F"}
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { encodeFunctionData, erc20Abi } from 'viem';
|
|
2
|
-
export class Erc20Service {
|
|
3
|
-
constructor() { }
|
|
4
|
-
/**
|
|
5
|
-
* Check if spender has enough ERC20 allowance for given amount
|
|
6
|
-
* @param token - ERC20 token address
|
|
7
|
-
* @param amount - Amount to check allowance for
|
|
8
|
-
* @param owner - User wallet address
|
|
9
|
-
* @param spender - Spender address
|
|
10
|
-
* @param spokeProvider - EVM Spoke provider
|
|
11
|
-
* @return - True if spender is allowed to spend amount on behalf of owner
|
|
12
|
-
*/
|
|
13
|
-
static async isAllowanceValid(token, amount, owner, spender, spokeProvider) {
|
|
14
|
-
try {
|
|
15
|
-
if (token.toLowerCase() === spokeProvider.chainConfig.nativeToken.toLowerCase()) {
|
|
16
|
-
return {
|
|
17
|
-
ok: true,
|
|
18
|
-
value: true,
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
const allowedAmount = await spokeProvider.publicClient.readContract({
|
|
22
|
-
address: token,
|
|
23
|
-
abi: erc20Abi,
|
|
24
|
-
functionName: 'allowance',
|
|
25
|
-
args: [owner, spender],
|
|
26
|
-
});
|
|
27
|
-
return {
|
|
28
|
-
ok: true,
|
|
29
|
-
value: allowedAmount >= amount,
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
catch (e) {
|
|
33
|
-
return {
|
|
34
|
-
ok: false,
|
|
35
|
-
error: e,
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Approve ERC20 amount spending
|
|
41
|
-
* @param token - ERC20 token address
|
|
42
|
-
* @param amount - Amount to approve
|
|
43
|
-
* @param spender - Spender address
|
|
44
|
-
* @param provider - EVM Provider
|
|
45
|
-
*/
|
|
46
|
-
static async approve(token, amount, spender, spokeProvider) {
|
|
47
|
-
try {
|
|
48
|
-
const walletAddress = (await spokeProvider.walletProvider.getWalletAddress());
|
|
49
|
-
const hash = await spokeProvider.walletProvider.sendTransaction({
|
|
50
|
-
from: walletAddress,
|
|
51
|
-
to: token,
|
|
52
|
-
value: 0n,
|
|
53
|
-
data: encodeFunctionData({
|
|
54
|
-
abi: erc20Abi,
|
|
55
|
-
functionName: 'approve',
|
|
56
|
-
args: [spender, amount],
|
|
57
|
-
}),
|
|
58
|
-
});
|
|
59
|
-
return {
|
|
60
|
-
ok: true,
|
|
61
|
-
value: await spokeProvider.walletProvider.waitForTransactionReceipt(hash),
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
catch (e) {
|
|
65
|
-
return {
|
|
66
|
-
ok: false,
|
|
67
|
-
error: e,
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Encodes a transfer transaction for a token.
|
|
73
|
-
* @param token - The address of the token.
|
|
74
|
-
* @param to - The address to transfer the token to.
|
|
75
|
-
* @param amount - The amount of the token to transfer.
|
|
76
|
-
* @returns The encoded contract call.
|
|
77
|
-
*/
|
|
78
|
-
static encodeTansfer(token, to, amount) {
|
|
79
|
-
return {
|
|
80
|
-
address: token,
|
|
81
|
-
value: 0n,
|
|
82
|
-
data: encodeFunctionData({
|
|
83
|
-
abi: erc20Abi,
|
|
84
|
-
functionName: 'transfer',
|
|
85
|
-
args: [to, amount],
|
|
86
|
-
}),
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Encodes an approval transaction for a token.
|
|
91
|
-
* @param token - The address of the token.
|
|
92
|
-
* @param to - The address to approve the token to.
|
|
93
|
-
* @param amount - The amount of the token to approve.
|
|
94
|
-
* @returns The encoded contract call.
|
|
95
|
-
*/
|
|
96
|
-
static encodeApprove(token, to, amount) {
|
|
97
|
-
return {
|
|
98
|
-
address: token,
|
|
99
|
-
value: 0n,
|
|
100
|
-
data: encodeFunctionData({
|
|
101
|
-
abi: erc20Abi,
|
|
102
|
-
functionName: 'approve',
|
|
103
|
-
args: [to, amount],
|
|
104
|
-
}),
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
//# sourceMappingURL=Erc20Service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Erc20Service.js","sourceRoot":"","sources":["../../../src/services/shared/Erc20Service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAgB,MAAM,MAAM,CAAC;AAKlE,MAAM,OAAO,YAAY;IACvB,gBAAuB,CAAC;IAExB;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAC3B,KAAc,EACd,MAAc,EACd,KAAc,EACd,OAAgB,EAChB,aAA+B;QAE/B,IAAI,CAAC;YACH,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC;gBAChF,OAAO;oBACL,EAAE,EAAE,IAAI;oBACR,KAAK,EAAE,IAAI;iBACZ,CAAC;YACJ,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,YAAY,CAAC;gBAClE,OAAO,EAAE,KAAK;gBACd,GAAG,EAAE,QAAQ;gBACb,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;aACvB,CAAC,CAAC;YAEH,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE,aAAa,IAAI,MAAM;aAC/B,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,CAAC;aACT,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAClB,KAAc,EACd,MAAc,EACd,OAAgB,EAChB,aAA+B;QAE/B,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,CAAC,MAAM,aAAa,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAY,CAAC;YACzF,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC,eAAe,CAAC;gBAC9D,IAAI,EAAE,aAAa;gBACnB,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,kBAAkB,CAAC;oBACvB,GAAG,EAAE,QAAQ;oBACb,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;iBACxB,CAAC;aACH,CAAC,CAAC;YAEH,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE,MAAM,aAAa,CAAC,cAAc,CAAC,yBAAyB,CAAC,IAAI,CAAC;aAC1E,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,CAAC;aACT,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,aAAa,CAAC,KAAc,EAAE,EAAW,EAAE,MAAc;QACrE,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,kBAAkB,CAAC;gBACvB,GAAG,EAAE,QAAQ;gBACb,YAAY,EAAE,UAAU;gBACxB,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC;aACnB,CAAC;SACH,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,aAAa,CAAC,KAAc,EAAE,EAAW,EAAE,MAAc;QACrE,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,kBAAkB,CAAC;gBACvB,GAAG,EAAE,QAAQ;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC;aACnB,CAAC;SACH,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/shared/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/shared/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
import { type Address, type GetLogsReturnType } from 'viem';
|
|
2
|
-
import { type EvmContractCall, type EvmHubProvider, type Hash, type Hex, type PartnerFee, type SolverConfig } from '../../index.js';
|
|
3
|
-
import { type CreateIntentParams, type Intent } from '../index.js';
|
|
4
|
-
export declare const IntentCreatedEventAbi: {
|
|
5
|
-
readonly type: "event";
|
|
6
|
-
readonly name: "IntentCreated";
|
|
7
|
-
readonly inputs: readonly [{
|
|
8
|
-
readonly name: "intentHash";
|
|
9
|
-
readonly type: "bytes32";
|
|
10
|
-
readonly indexed: false;
|
|
11
|
-
readonly internalType: "bytes32";
|
|
12
|
-
}, {
|
|
13
|
-
readonly name: "intent";
|
|
14
|
-
readonly type: "tuple";
|
|
15
|
-
readonly indexed: false;
|
|
16
|
-
readonly internalType: "struct Intents.Intent";
|
|
17
|
-
readonly components: readonly [{
|
|
18
|
-
readonly name: "intentId";
|
|
19
|
-
readonly type: "uint256";
|
|
20
|
-
readonly internalType: "uint256";
|
|
21
|
-
}, {
|
|
22
|
-
readonly name: "creator";
|
|
23
|
-
readonly type: "address";
|
|
24
|
-
readonly internalType: "address";
|
|
25
|
-
}, {
|
|
26
|
-
readonly name: "inputToken";
|
|
27
|
-
readonly type: "address";
|
|
28
|
-
readonly internalType: "address";
|
|
29
|
-
}, {
|
|
30
|
-
readonly name: "outputToken";
|
|
31
|
-
readonly type: "address";
|
|
32
|
-
readonly internalType: "address";
|
|
33
|
-
}, {
|
|
34
|
-
readonly name: "inputAmount";
|
|
35
|
-
readonly type: "uint256";
|
|
36
|
-
readonly internalType: "uint256";
|
|
37
|
-
}, {
|
|
38
|
-
readonly name: "minOutputAmount";
|
|
39
|
-
readonly type: "uint256";
|
|
40
|
-
readonly internalType: "uint256";
|
|
41
|
-
}, {
|
|
42
|
-
readonly name: "deadline";
|
|
43
|
-
readonly type: "uint256";
|
|
44
|
-
readonly internalType: "uint256";
|
|
45
|
-
}, {
|
|
46
|
-
readonly name: "allowPartialFill";
|
|
47
|
-
readonly type: "bool";
|
|
48
|
-
readonly internalType: "bool";
|
|
49
|
-
}, {
|
|
50
|
-
readonly name: "srcChain";
|
|
51
|
-
readonly type: "uint256";
|
|
52
|
-
readonly internalType: "uint256";
|
|
53
|
-
}, {
|
|
54
|
-
readonly name: "dstChain";
|
|
55
|
-
readonly type: "uint256";
|
|
56
|
-
readonly internalType: "uint256";
|
|
57
|
-
}, {
|
|
58
|
-
readonly name: "srcAddress";
|
|
59
|
-
readonly type: "bytes";
|
|
60
|
-
readonly internalType: "bytes";
|
|
61
|
-
}, {
|
|
62
|
-
readonly name: "dstAddress";
|
|
63
|
-
readonly type: "bytes";
|
|
64
|
-
readonly internalType: "bytes";
|
|
65
|
-
}, {
|
|
66
|
-
readonly name: "solver";
|
|
67
|
-
readonly type: "address";
|
|
68
|
-
readonly internalType: "address";
|
|
69
|
-
}, {
|
|
70
|
-
readonly name: "data";
|
|
71
|
-
readonly type: "bytes";
|
|
72
|
-
readonly internalType: "bytes";
|
|
73
|
-
}];
|
|
74
|
-
}];
|
|
75
|
-
readonly anonymous: false;
|
|
76
|
-
};
|
|
77
|
-
export type IntentCreatedEventLog = GetLogsReturnType<typeof IntentCreatedEventAbi>[number];
|
|
78
|
-
export declare class EvmSolverService {
|
|
79
|
-
private constructor();
|
|
80
|
-
/**
|
|
81
|
-
* Constructs the create intent data for EVM Hub chain
|
|
82
|
-
* @param {CreateIntentParams} createIntentParams - The create intent parameters
|
|
83
|
-
* @param {Address} creatorHubWalletAddress - The creator hub wallet address
|
|
84
|
-
* @param {SolverConfig} solverConfig - The intent configuration
|
|
85
|
-
* @param {PartnerFee} fee - The partner fee configuration
|
|
86
|
-
* @returns {Promise<[Hex, Intent, bigint]>} The encoded contract call, intent and fee amount
|
|
87
|
-
*/
|
|
88
|
-
static constructCreateIntentData(createIntentParams: CreateIntentParams, creatorHubWalletAddress: Address, solverConfig: SolverConfig, fee: PartnerFee | undefined): [Hex, Intent, bigint];
|
|
89
|
-
/**
|
|
90
|
-
* Creates encoded fee data for an intent
|
|
91
|
-
* @param fee The partner fee configuration
|
|
92
|
-
* @param inputAmount The input amount to calculate percentage-based fee from
|
|
93
|
-
* @returns A tuple containing [encoded fee data, fee amount]. Fee amount will be 0n if no fee.
|
|
94
|
-
*/
|
|
95
|
-
static createIntentFeeData(fee: PartnerFee | undefined, inputAmount: bigint): [Hex, bigint];
|
|
96
|
-
/**
|
|
97
|
-
* Gets an intent from a transaction hash
|
|
98
|
-
* @param {Hash} txHash - The transaction hash
|
|
99
|
-
* @param {SolverConfig} solverConfig - The solver configuration
|
|
100
|
-
* @param {EvmHubProvider} hubProvider - The EVM hub provider
|
|
101
|
-
* @returns {Promise<Intent>} The intent
|
|
102
|
-
*/
|
|
103
|
-
static getIntent(txHash: Hash, solverConfig: SolverConfig, hubProvider: EvmHubProvider): Promise<Intent>;
|
|
104
|
-
/**
|
|
105
|
-
* Gets the keccak256 hash of an intent. Hash serves as the intent id on Hub chain.
|
|
106
|
-
* @param {Intent} intent - The intent
|
|
107
|
-
* @returns {Hex} The keccak256 hash of the intent
|
|
108
|
-
*/
|
|
109
|
-
static getIntentHash(intent: Intent): Hex;
|
|
110
|
-
/**
|
|
111
|
-
* Encodes a createIntent transaction
|
|
112
|
-
* @param {Intent} intent - The intent to create
|
|
113
|
-
* @param {Address} intentsContract - The address of the intents contract
|
|
114
|
-
* @returns {EvmContractCall} The encoded contract call
|
|
115
|
-
*/
|
|
116
|
-
static encodeCreateIntent(intent: Intent, intentsContract: Address): EvmContractCall;
|
|
117
|
-
/**
|
|
118
|
-
* Encodes a cancelIntent transaction
|
|
119
|
-
* @param {Intent} intent - The intent to cancel
|
|
120
|
-
* @param {Address} intentsContract - The address of the intents contract
|
|
121
|
-
* @returns {EvmContractCall} The encoded contract call
|
|
122
|
-
*/
|
|
123
|
-
static encodeCancelIntent(intent: Intent, intentsContract: Address): EvmContractCall;
|
|
124
|
-
}
|
|
125
|
-
//# sourceMappingURL=EvmSolverService.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EvmSolverService.d.ts","sourceRoot":"","sources":["../../../src/services/solver/EvmSolverService.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,iBAAiB,EAOvB,MAAM,MAAM,CAAC;AACd,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,cAAc,EAEnB,KAAK,IAAI,EACT,KAAK,GAAG,EAER,KAAK,UAAU,EACf,KAAK,YAAY,EASlB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,KAAK,kBAAkB,EAGvB,KAAK,MAAM,EAGZ,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAyD,CAAC;AAC5F,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5F,qBAAa,gBAAgB;IAC3B,OAAO;IAEP;;;;;;;OAOG;WACW,yBAAyB,CACrC,kBAAkB,EAAE,kBAAkB,EACtC,uBAAuB,EAAE,OAAO,EAChC,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,UAAU,GAAG,SAAS,GAC1B,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC;IAmCxB;;;;;OAKG;WACW,mBAAmB,CAAC,GAAG,EAAE,UAAU,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;IA6ClG;;;;;;OAMG;WACiB,SAAS,CAC3B,MAAM,EAAE,IAAI,EACZ,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,cAAc,GAC1B,OAAO,CAAC,MAAM,CAAC;IAyClB;;;;OAIG;WACW,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;IAIhD;;;;;OAKG;WACW,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,GAAG,eAAe;IAY3F;;;;;OAKG;WACW,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,GAAG,eAAe;CAW5F"}
|