@funkit/core 0.8.6 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/fetch-polyfill.js.map +1 -1
- package/dist/index.d.ts +12 -12
- package/dist/src/abis/CheckoutPaymaster.json +1 -0
- package/dist/src/abis/EstimationPaymaster.json +1 -1
- package/dist/src/abis/UniswapV3LimitOrder.json +1 -1
- package/dist/src/actions/AccessControl.d.ts +6 -6
- package/dist/src/actions/AccessControl.js +23 -16
- package/dist/src/actions/AccessControl.js.map +1 -1
- package/dist/src/actions/BatchActions.d.ts +2 -2
- package/dist/src/actions/BatchActions.js +2 -2
- package/dist/src/actions/BatchActions.js.map +1 -1
- package/dist/src/actions/Bridge.d.ts +5 -4
- package/dist/src/actions/Bridge.js +13 -9
- package/dist/src/actions/Bridge.js.map +1 -1
- package/dist/src/actions/FirstClassActions.d.ts +8 -6
- package/dist/src/actions/FirstClassActions.js +44 -69
- package/dist/src/actions/FirstClassActions.js.map +1 -1
- package/dist/src/actions/Group.d.ts +3 -3
- package/dist/src/actions/Group.js +6 -14
- package/dist/src/actions/Group.js.map +1 -1
- package/dist/src/actions/LimitOrder.d.ts +4 -4
- package/dist/src/actions/LimitOrder.js +21 -19
- package/dist/src/actions/LimitOrder.js.map +1 -1
- package/dist/src/actions/Stake.d.ts +3 -3
- package/dist/src/actions/Stake.js +31 -44
- package/dist/src/actions/Stake.js.map +1 -1
- package/dist/src/actions/Swap.d.ts +4 -4
- package/dist/src/actions/Swap.js +43 -41
- package/dist/src/actions/Swap.js.map +1 -1
- package/dist/src/actions/Token.d.ts +6 -6
- package/dist/src/actions/Token.js +46 -33
- package/dist/src/actions/Token.js.map +1 -1
- package/dist/src/actions/index.d.ts +7 -7
- package/dist/src/actions/types.d.ts +4 -4
- package/dist/src/actions/types.js +2 -2
- package/dist/src/actions/types.js.map +1 -1
- package/dist/src/apis/AccessControlApis.d.ts +1 -1
- package/dist/src/apis/AccessControlApis.js +7 -3
- package/dist/src/apis/AccessControlApis.js.map +1 -1
- package/dist/src/apis/AssetApis.d.ts +10 -0
- package/dist/src/apis/AssetApis.js +11 -1
- package/dist/src/apis/AssetApis.js.map +1 -1
- package/dist/src/apis/BridgeApis.d.ts +1 -1
- package/dist/src/apis/BridgeApis.js +13 -13
- package/dist/src/apis/BridgeApis.js.map +1 -1
- package/dist/src/apis/CheckoutApis.d.ts +43 -0
- package/dist/src/apis/CheckoutApis.js +116 -0
- package/dist/src/apis/CheckoutApis.js.map +1 -0
- package/dist/src/apis/ContractApis.js +1 -1
- package/dist/src/apis/ContractApis.js.map +1 -1
- package/dist/src/apis/FaucetApis.js.map +1 -1
- package/dist/src/apis/GroupApis.d.ts +2 -6
- package/dist/src/apis/GroupApis.js +4 -29
- package/dist/src/apis/GroupApis.js.map +1 -1
- package/dist/src/apis/InfoApis.d.ts +1 -1
- package/dist/src/apis/InfoApis.js +9 -7
- package/dist/src/apis/InfoApis.js.map +1 -1
- package/dist/src/apis/ListenerApis.d.ts +1 -1
- package/dist/src/apis/ListenerApis.js +6 -6
- package/dist/src/apis/ListenerApis.js.map +1 -1
- package/dist/src/apis/MeshApis.d.ts +87 -0
- package/dist/src/apis/MeshApis.js +213 -0
- package/dist/src/apis/MeshApis.js.map +1 -0
- package/dist/src/apis/NFTApis.js.map +1 -1
- package/dist/src/apis/OnOffRampApis.d.ts +2 -0
- package/dist/src/apis/OnOffRampApis.js +24 -5
- package/dist/src/apis/OnOffRampApis.js.map +1 -1
- package/dist/src/apis/OnOffRampUtils.js +2 -2
- package/dist/src/apis/OnOffRampUtils.js.map +1 -1
- package/dist/src/apis/OperationApis.d.ts +4 -4
- package/dist/src/apis/OperationApis.js +21 -12
- package/dist/src/apis/OperationApis.js.map +1 -1
- package/dist/src/apis/PaymasterApis.d.ts +1 -6
- package/dist/src/apis/PaymasterApis.js +3 -70
- package/dist/src/apis/PaymasterApis.js.map +1 -1
- package/dist/src/apis/SwapApis.d.ts +2 -2
- package/dist/src/apis/SwapApis.js +6 -6
- package/dist/src/apis/SwapApis.js.map +1 -1
- package/dist/src/apis/TurnkeyApis.d.ts +3 -0
- package/dist/src/apis/TurnkeyApis.js +19 -0
- package/dist/src/apis/TurnkeyApis.js.map +1 -0
- package/dist/src/apis/UserApis.d.ts +2 -5
- package/dist/src/apis/UserApis.js +11 -22
- package/dist/src/apis/UserApis.js.map +1 -1
- package/dist/src/apis/index.d.ts +13 -10
- package/dist/src/apis/index.js +4 -1
- package/dist/src/apis/index.js.map +1 -1
- package/dist/src/apis/types.d.ts +79 -7
- package/dist/src/apis/types.js +16 -0
- package/dist/src/apis/types.js.map +1 -1
- package/dist/src/auth/Auth.d.ts +6 -6
- package/dist/src/auth/Auth.js +48 -46
- package/dist/src/auth/Auth.js.map +1 -1
- package/dist/src/auth/SessionKeyAuth.d.ts +5 -5
- package/dist/src/auth/SessionKeyAuth.js +29 -24
- package/dist/src/auth/SessionKeyAuth.js.map +1 -1
- package/dist/src/auth/index.d.ts +2 -2
- package/dist/src/auth/types.d.ts +1 -1
- package/dist/src/common/constants.d.ts +111 -17
- package/dist/src/common/constants.js +158 -85
- package/dist/src/common/constants.js.map +1 -1
- package/dist/src/common/index.d.ts +2 -2
- package/dist/src/common/types.d.ts +2 -2
- package/dist/src/config/Config.d.ts +1 -1
- package/dist/src/config/Config.js +10 -4
- package/dist/src/config/Config.js.map +1 -1
- package/dist/src/config/index.d.ts +2 -2
- package/dist/src/config/types.d.ts +4 -2
- package/dist/src/data/Chain.d.ts +4 -4
- package/dist/src/data/Chain.js +38 -27
- package/dist/src/data/Chain.js.map +1 -1
- package/dist/src/data/NFT.d.ts +3 -3
- package/dist/src/data/NFT.js +11 -11
- package/dist/src/data/NFT.js.map +1 -1
- package/dist/src/data/Operation.d.ts +5 -5
- package/dist/src/data/Operation.js +12 -10
- package/dist/src/data/Operation.js.map +1 -1
- package/dist/src/data/SolidityData.d.ts +3 -3
- package/dist/src/data/SolidityData.js +37 -17
- package/dist/src/data/SolidityData.js.map +1 -1
- package/dist/src/data/Token.d.ts +21 -20
- package/dist/src/data/Token.js +49 -51
- package/dist/src/data/Token.js.map +1 -1
- package/dist/src/data/index.d.ts +6 -6
- package/dist/src/data/index.js +2 -2
- package/dist/src/data/index.js.map +1 -1
- package/dist/src/data/types.d.ts +2 -2
- package/dist/src/data/types.js +3 -3
- package/dist/src/data/types.js.map +1 -1
- package/dist/src/errors/BaseError.js +4 -3
- package/dist/src/errors/BaseError.js.map +1 -1
- package/dist/src/errors/ClientError.d.ts +1 -1
- package/dist/src/errors/ClientError.js +3 -3
- package/dist/src/errors/ClientError.js.map +1 -1
- package/dist/src/errors/ServerError.d.ts +1 -1
- package/dist/src/errors/ServerError.js.map +1 -1
- package/dist/src/errors/index.d.ts +4 -4
- package/dist/src/errors/types.d.ts +2 -1
- package/dist/src/errors/types.js +4 -3
- package/dist/src/errors/types.js.map +1 -1
- package/dist/src/sponsors/CheckoutSponsor.d.ts +23 -0
- package/dist/src/sponsors/CheckoutSponsor.js +65 -0
- package/dist/src/sponsors/CheckoutSponsor.js.map +1 -0
- package/dist/src/sponsors/GaslessSponsor.d.ts +6 -6
- package/dist/src/sponsors/GaslessSponsor.js +20 -32
- package/dist/src/sponsors/GaslessSponsor.js.map +1 -1
- package/dist/src/sponsors/Sponsor.d.ts +15 -15
- package/dist/src/sponsors/Sponsor.js +24 -40
- package/dist/src/sponsors/Sponsor.js.map +1 -1
- package/dist/src/sponsors/TokenSponsor.d.ts +15 -15
- package/dist/src/sponsors/TokenSponsor.js +118 -135
- package/dist/src/sponsors/TokenSponsor.js.map +1 -1
- package/dist/src/sponsors/index.d.ts +4 -3
- package/dist/src/sponsors/index.js +2 -1
- package/dist/src/sponsors/index.js.map +1 -1
- package/dist/src/sponsors/types.d.ts +2 -1
- package/dist/src/sponsors/types.js +2 -1
- package/dist/src/sponsors/types.js.map +1 -1
- package/dist/src/utils/ApiUtils.js +21 -19
- package/dist/src/utils/ApiUtils.js.map +1 -1
- package/dist/src/utils/AuthUtils.d.ts +1 -2
- package/dist/src/utils/AuthUtils.js +7 -25
- package/dist/src/utils/AuthUtils.js.map +1 -1
- package/dist/src/utils/ChainUtils.d.ts +5 -5
- package/dist/src/utils/ChainUtils.js +35 -20
- package/dist/src/utils/ChainUtils.js.map +1 -1
- package/dist/src/utils/CheckoutUtils.d.ts +6 -0
- package/dist/src/utils/CheckoutUtils.js +24 -0
- package/dist/src/utils/CheckoutUtils.js.map +1 -0
- package/dist/src/utils/GroupUtils.d.ts +4 -0
- package/dist/src/utils/GroupUtils.js +30 -0
- package/dist/src/utils/GroupUtils.js.map +1 -0
- package/dist/src/utils/MerkleUtils.d.ts +1 -1
- package/dist/src/utils/MerkleUtils.js +5 -5
- package/dist/src/utils/MerkleUtils.js.map +1 -1
- package/dist/src/utils/PaymasterUtils.d.ts +3 -3
- package/dist/src/utils/PaymasterUtils.js +6 -2
- package/dist/src/utils/PaymasterUtils.js.map +1 -1
- package/dist/src/utils/SwapUtils.d.ts +2 -2
- package/dist/src/utils/SwapUtils.js +43 -34
- package/dist/src/utils/SwapUtils.js.map +1 -1
- package/dist/src/utils/TypeUtils.js.map +1 -1
- package/dist/src/utils/UserOpUtils.d.ts +2 -2
- package/dist/src/utils/UserOpUtils.js +79 -65
- package/dist/src/utils/UserOpUtils.js.map +1 -1
- package/dist/src/utils/ViemUtils.d.ts +2 -2
- package/dist/src/utils/ViemUtils.js +10 -6
- package/dist/src/utils/ViemUtils.js.map +1 -1
- package/dist/src/utils/WalletUtils.d.ts +2 -2
- package/dist/src/utils/WalletUtils.js +6 -5
- package/dist/src/utils/WalletUtils.js.map +1 -1
- package/dist/src/utils/index.d.ts +8 -7
- package/dist/src/utils/index.js +1 -0
- package/dist/src/utils/index.js.map +1 -1
- package/dist/src/viem/ContractInterface.d.ts +4 -4
- package/dist/src/viem/ContractInterface.js +8 -8
- package/dist/src/viem/ContractInterface.js.map +1 -1
- package/dist/src/viem/Converter.d.ts +823 -1107
- package/dist/src/viem/Converter.js +13 -11
- package/dist/src/viem/Converter.js.map +1 -1
- package/dist/src/viem/index.d.ts +2 -2
- package/dist/src/wallet/FunWallet.d.ts +8 -8
- package/dist/src/wallet/FunWallet.js +141 -97
- package/dist/src/wallet/FunWallet.js.map +1 -1
- package/dist/src/wallet/index.d.ts +2 -2
- package/dist/src/wallet/types.d.ts +1 -1
- package/package.json +15 -8
|
@@ -18,74 +18,61 @@ exports.isFinishUnstakeParams = isFinishUnstakeParams;
|
|
|
18
18
|
const stakeTransactionParams = async (params, txOptions = globalThis.globalEnvOption) => {
|
|
19
19
|
const chain = await data_1.Chain.getChain({ chainIdentifier: txOptions.chain });
|
|
20
20
|
const lidoAddress = getSteth(await chain.getChainId());
|
|
21
|
-
return { to: lidoAddress, value: (0, viem_1.parseEther)(`${params.amount}`), data:
|
|
21
|
+
return { to: lidoAddress, value: (0, viem_1.parseEther)(`${params.amount}`), data: '0x' };
|
|
22
22
|
};
|
|
23
23
|
exports.stakeTransactionParams = stakeTransactionParams;
|
|
24
24
|
const requestUnstakeTransactionParams = async (params, txOptions = globalThis.globalEnvOption) => {
|
|
25
|
-
if (!(0, viem_1.isAddress)(params.recipient ??
|
|
26
|
-
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter,
|
|
25
|
+
if (!(0, viem_1.isAddress)(params.recipient ?? '')) {
|
|
26
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter, 'Recipient address is not a valid address, please make sure it is a valid checksum address.', { params }, 'Please make sure it is a valid checksum address', 'https://docs.fun.xyz');
|
|
27
27
|
}
|
|
28
28
|
// Approve steth
|
|
29
29
|
const chain = await data_1.Chain.getChain({ chainIdentifier: txOptions.chain });
|
|
30
30
|
const chainId = await chain.getChainId();
|
|
31
31
|
const steth = getSteth(chainId);
|
|
32
32
|
const withdrawalQueue = getWithdrawalQueue(chainId);
|
|
33
|
-
if (!steth ||
|
|
34
|
-
|
|
33
|
+
if (!steth ||
|
|
34
|
+
!withdrawalQueue ||
|
|
35
|
+
steth.length === 0 ||
|
|
36
|
+
withdrawalQueue.length === 0) {
|
|
37
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.ChainNotSupported, 'Incorrect chainId, staking only available on Ethereum mainnet and Goerli', { params }, 'Provide correct chainId.', 'https://docs.fun.xyz');
|
|
35
38
|
}
|
|
36
39
|
const approveAmount = params.amounts.reduce((partialSum, a) => partialSum + a, 0);
|
|
37
|
-
const approveData = common_1.ERC20_CONTRACT_INTERFACE.encodeTransactionParams(steth,
|
|
38
|
-
withdrawalQueue,
|
|
39
|
-
(0, viem_1.parseEther)(`${approveAmount}`)
|
|
40
|
-
]);
|
|
40
|
+
const approveData = common_1.ERC20_CONTRACT_INTERFACE.encodeTransactionParams(steth, 'approve', [withdrawalQueue, (0, viem_1.parseEther)(`${approveAmount}`)]);
|
|
41
41
|
// Request Withdrawal
|
|
42
|
-
const requestWithdrawalData = withdrawQueueInterface.encodeTransactionParams(withdrawalQueue,
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
]);
|
|
46
|
-
const approveAndExecAddress = await chain.getAddress("approveAndExecAddress");
|
|
47
|
-
return common_1.APPROVE_AND_EXEC_CONTRACT_INTERFACE.encodeTransactionParams(approveAndExecAddress, "approveAndExecute", [
|
|
48
|
-
withdrawalQueue,
|
|
49
|
-
0,
|
|
50
|
-
requestWithdrawalData.data,
|
|
51
|
-
steth,
|
|
52
|
-
approveData.data
|
|
53
|
-
]);
|
|
42
|
+
const requestWithdrawalData = withdrawQueueInterface.encodeTransactionParams(withdrawalQueue, 'requestWithdrawals', [params.amounts.map((amount) => (0, viem_1.parseEther)(`${amount}`)), params.recipient]);
|
|
43
|
+
const approveAndExecAddress = await chain.getAddress('approveAndExecAddress');
|
|
44
|
+
return common_1.APPROVE_AND_EXEC_CONTRACT_INTERFACE.encodeTransactionParams(approveAndExecAddress, 'approveAndExecute', [withdrawalQueue, 0, requestWithdrawalData.data, steth, approveData.data]);
|
|
54
45
|
};
|
|
55
46
|
exports.requestUnstakeTransactionParams = requestUnstakeTransactionParams;
|
|
56
47
|
const finishUnstakeTransactionParams = async (params, txOptions = globalThis.globalEnvOption) => {
|
|
57
|
-
if (!(0, viem_1.isAddress)(params.recipient ??
|
|
58
|
-
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter,
|
|
48
|
+
if (!(0, viem_1.isAddress)(params.recipient ?? '')) {
|
|
49
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter, 'Recipient address is not a valid address, please make sure it is a valid checksum address.', { params }, 'Please make sure it is a valid checksum address', 'https://docs.fun.xyz');
|
|
59
50
|
}
|
|
60
51
|
const chain = await data_1.Chain.getChain({ chainIdentifier: txOptions.chain });
|
|
61
52
|
const withdrawQueueAddress = getWithdrawalQueue(await chain.getChainId());
|
|
62
53
|
const readyToWithdrawRequestIds = (await getReadyToWithdrawRequests(params, txOptions)).slice(0, 5);
|
|
63
54
|
if (readyToWithdrawRequestIds.length === 0) {
|
|
64
|
-
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter,
|
|
55
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter, 'Not ready to withdraw requests', { params }, 'Please wait a bit.', 'https://docs.fun.xyz');
|
|
65
56
|
}
|
|
66
57
|
// claim batch withdrawal
|
|
67
|
-
const lastCheckpoint = await withdrawQueueInterface.readFromChain(withdrawQueueAddress,
|
|
68
|
-
const hints = await withdrawQueueInterface.readFromChain(withdrawQueueAddress,
|
|
58
|
+
const lastCheckpoint = await withdrawQueueInterface.readFromChain(withdrawQueueAddress, 'getLastCheckpointIndex', [], chain);
|
|
59
|
+
const hints = await withdrawQueueInterface.readFromChain(withdrawQueueAddress, 'findCheckpointHints', [readyToWithdrawRequestIds, 1, lastCheckpoint], chain);
|
|
69
60
|
if (!hints) {
|
|
70
|
-
throw new errors_1.InternalFailureError(errors_1.ErrorCode.CheckPointHintsNotFound,
|
|
61
|
+
throw new errors_1.InternalFailureError(errors_1.ErrorCode.CheckPointHintsNotFound, 'lido checkpoint hints are not found when batching the withdrawal', { params, readyToWithdrawRequestIds, lastCheckpoint, hints }, 'Retry later.', 'https://docs.fun.xyz');
|
|
71
62
|
}
|
|
72
|
-
return withdrawQueueInterface.encodeTransactionParams(withdrawQueueAddress,
|
|
73
|
-
readyToWithdrawRequestIds,
|
|
74
|
-
hints,
|
|
75
|
-
params.recipient
|
|
76
|
-
]);
|
|
63
|
+
return withdrawQueueInterface.encodeTransactionParams(withdrawQueueAddress, 'claimWithdrawalsTo', [readyToWithdrawRequestIds, hints, params.recipient]);
|
|
77
64
|
};
|
|
78
65
|
exports.finishUnstakeTransactionParams = finishUnstakeTransactionParams;
|
|
79
66
|
const getReadyToWithdrawRequests = async (params, txOptions) => {
|
|
80
|
-
if (!(0, viem_1.isAddress)(params.recipient ??
|
|
81
|
-
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter,
|
|
67
|
+
if (!(0, viem_1.isAddress)(params.recipient ?? '')) {
|
|
68
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter, 'Recipient address is not a valid address, please make sure it is a valid checksum address.', { params }, 'Please make sure it is a valid checksum address', 'https://docs.fun.xyz');
|
|
82
69
|
}
|
|
83
70
|
// check withdrawal requests
|
|
84
71
|
const chain = await data_1.Chain.getChain({ chainIdentifier: txOptions.chain });
|
|
85
72
|
const withdrawalQueueAddr = getWithdrawalQueue(await chain.getChainId());
|
|
86
|
-
const withdrawalRequests = await withdrawQueueInterface.readFromChain(withdrawalQueueAddr,
|
|
73
|
+
const withdrawalRequests = await withdrawQueueInterface.readFromChain(withdrawalQueueAddr, 'getWithdrawalRequests', [params.walletAddress], chain);
|
|
87
74
|
// get the state of a particular nft
|
|
88
|
-
const withdrawalStatusTx = await withdrawQueueInterface.readFromChain(withdrawalQueueAddr,
|
|
75
|
+
const withdrawalStatusTx = await withdrawQueueInterface.readFromChain(withdrawalQueueAddr, 'getWithdrawalStatus', [withdrawalRequests], chain);
|
|
89
76
|
const readyToWithdraw = [];
|
|
90
77
|
for (let i = 0; i < withdrawalStatusTx.length; i++) {
|
|
91
78
|
if (withdrawalStatusTx[i].isFinalized) {
|
|
@@ -100,25 +87,25 @@ const getReadyToWithdrawRequests = async (params, txOptions) => {
|
|
|
100
87
|
const getWithdrawalQueue = (chainId) => {
|
|
101
88
|
switch (parseInt(chainId)) {
|
|
102
89
|
case 1:
|
|
103
|
-
return
|
|
90
|
+
return '0x889edC2eDab5f40e902b864aD4d7AdE8E412F9B1';
|
|
104
91
|
case 5:
|
|
105
|
-
return
|
|
92
|
+
return '0xCF117961421cA9e546cD7f50bC73abCdB3039533';
|
|
106
93
|
case 36865:
|
|
107
|
-
return
|
|
94
|
+
return '0x889edC2eDab5f40e902b864aD4d7AdE8E412F9B1';
|
|
108
95
|
default:
|
|
109
|
-
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.ChainNotSupported,
|
|
96
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.ChainNotSupported, 'Incorrect chainId, staking only available on Ethereum mainnet and Goerli', { chainId }, 'Provide correct chainId.', 'https://docs.fun.xyz');
|
|
110
97
|
}
|
|
111
98
|
};
|
|
112
99
|
const getSteth = (chainId) => {
|
|
113
100
|
switch (parseInt(chainId)) {
|
|
114
101
|
case 1:
|
|
115
|
-
return
|
|
102
|
+
return '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84';
|
|
116
103
|
case 5:
|
|
117
|
-
return
|
|
104
|
+
return '0x1643E812aE58766192Cf7D2Cf9567dF2C37e9B7F';
|
|
118
105
|
case 36865:
|
|
119
|
-
return
|
|
106
|
+
return '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84';
|
|
120
107
|
default:
|
|
121
|
-
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.ChainNotSupported,
|
|
108
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.ChainNotSupported, 'Incorrect chainId, staking only available on Ethereum mainnet and Goerli', { chainId }, 'Provide correct chainId.', 'https://docs.fun.xyz');
|
|
122
109
|
}
|
|
123
110
|
};
|
|
124
111
|
//# sourceMappingURL=Stake.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stake.js","sourceRoot":"","sources":["../../../src/actions/Stake.ts"],"names":[],"mappings":";;;AAAA,+BAAqD;AAErD,
|
|
1
|
+
{"version":3,"file":"Stake.js","sourceRoot":"","sources":["../../../src/actions/Stake.ts"],"names":[],"mappings":";;;AAAA,+BAAqD;AAErD,sCAKkB;AAElB,kCAA+B;AAC/B,sCAIkB;AAClB,iEAA6D;AAG7D,MAAM,sBAAsB,GAAG,IAAI,qCAAiB,CAAC,2BAAkB,CAAC,CAAA;AAEjE,MAAM,sBAAsB,GAAG,CAAC,KAAU,EAAW,EAAE;IAC5D,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS,CAAA;AACpC,CAAC,CAAA;AAFY,QAAA,sBAAsB,0BAElC;AACM,MAAM,qBAAqB,GAAG,CAAC,KAAU,EAAW,EAAE;IAC3D,OAAO,KAAK,CAAC,SAAS,KAAK,SAAS,CAAA;AACtC,CAAC,CAAA;AAFY,QAAA,qBAAqB,yBAEjC;AACM,MAAM,sBAAsB,GAAG,KAAK,EACzC,MAAmB,EACnB,YAAwB,UAAkB,CAAC,eAAe,EAC9B,EAAE;IAC9B,MAAM,KAAK,GAAG,MAAM,YAAK,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAA;IACxE,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC,CAAA;IACtD,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,IAAA,iBAAU,EAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;AAC/E,CAAC,CAAA;AAPY,QAAA,sBAAsB,0BAOlC;AAEM,MAAM,+BAA+B,GAAG,KAAK,EAClD,MAA4B,EAC5B,YAAwB,UAAkB,CAAC,eAAe,EAC9B,EAAE;IAC9B,IAAI,CAAC,IAAA,gBAAS,EAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,8BAAqB,CAC7B,kBAAS,CAAC,gBAAgB,EAC1B,4FAA4F,EAC5F,EAAE,MAAM,EAAE,EACV,iDAAiD,EACjD,sBAAsB,CACvB,CAAA;IACH,CAAC;IACD,gBAAgB;IAChB,MAAM,KAAK,GAAG,MAAM,YAAK,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAA;IACxE,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;IACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC/B,MAAM,eAAe,GAAY,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC5D,IACE,CAAC,KAAK;QACN,CAAC,eAAe;QAChB,KAAK,CAAC,MAAM,KAAK,CAAC;QAClB,eAAe,CAAC,MAAM,KAAK,CAAC,EAC5B,CAAC;QACD,MAAM,IAAI,8BAAqB,CAC7B,kBAAS,CAAC,iBAAiB,EAC3B,0EAA0E,EAC1E,EAAE,MAAM,EAAE,EACV,0BAA0B,EAC1B,sBAAsB,CACvB,CAAA;IACH,CAAC;IACD,MAAM,aAAa,GAAW,MAAM,CAAC,OAAO,CAAC,MAAM,CACjD,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,GAAG,CAAC,EACjC,CAAC,CACF,CAAA;IACD,MAAM,WAAW,GAAG,iCAAwB,CAAC,uBAAuB,CAClE,KAAK,EACL,SAAS,EACT,CAAC,eAAe,EAAE,IAAA,iBAAU,EAAC,GAAG,aAAa,EAAE,CAAC,CAAC,CAClD,CAAA;IAED,qBAAqB;IACrB,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,uBAAuB,CAC1E,eAAe,EACf,oBAAoB,EACpB,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,iBAAU,EAAC,GAAG,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAC5E,CAAA;IACD,MAAM,qBAAqB,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAA;IAC7E,OAAO,4CAAmC,CAAC,uBAAuB,CAChE,qBAAqB,EACrB,mBAAmB,EACnB,CAAC,eAAe,EAAE,CAAC,EAAE,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,CAC1E,CAAA;AACH,CAAC,CAAA;AAtDY,QAAA,+BAA+B,mCAsD3C;AAEM,MAAM,8BAA8B,GAAG,KAAK,EACjD,MAA2B,EAC3B,YAAwB,UAAkB,CAAC,eAAe,EAC9B,EAAE;IAC9B,IAAI,CAAC,IAAA,gBAAS,EAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,8BAAqB,CAC7B,kBAAS,CAAC,gBAAgB,EAC1B,4FAA4F,EAC5F,EAAE,MAAM,EAAE,EACV,iDAAiD,EACjD,sBAAsB,CACvB,CAAA;IACH,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,YAAK,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAA;IACxE,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC,CAAA;IACzE,MAAM,yBAAyB,GAAG,CAChC,MAAM,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC,CACpD,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACb,IAAI,yBAAyB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,8BAAqB,CAC7B,kBAAS,CAAC,gBAAgB,EAC1B,gCAAgC,EAChC,EAAE,MAAM,EAAE,EACV,oBAAoB,EACpB,sBAAsB,CACvB,CAAA;IACH,CAAC;IAED,yBAAyB;IACzB,MAAM,cAAc,GAAG,MAAM,sBAAsB,CAAC,aAAa,CAC/D,oBAAoB,EACpB,wBAAwB,EACxB,EAAE,EACF,KAAK,CACN,CAAA;IACD,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,aAAa,CACtD,oBAAoB,EACpB,qBAAqB,EACrB,CAAC,yBAAyB,EAAE,CAAC,EAAE,cAAc,CAAC,EAC9C,KAAK,CACN,CAAA;IACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,6BAAoB,CAC5B,kBAAS,CAAC,uBAAuB,EACjC,kEAAkE,EAClE,EAAE,MAAM,EAAE,yBAAyB,EAAE,cAAc,EAAE,KAAK,EAAE,EAC5D,cAAc,EACd,sBAAsB,CACvB,CAAA;IACH,CAAC;IACD,OAAO,sBAAsB,CAAC,uBAAuB,CACnD,oBAAoB,EACpB,oBAAoB,EACpB,CAAC,yBAAyB,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CACrD,CAAA;AACH,CAAC,CAAA;AAvDY,QAAA,8BAA8B,kCAuD1C;AAED,MAAM,0BAA0B,GAAG,KAAK,EACtC,MAA2B,EAC3B,SAAoB,EACD,EAAE;IACrB,IAAI,CAAC,IAAA,gBAAS,EAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,8BAAqB,CAC7B,kBAAS,CAAC,gBAAgB,EAC1B,4FAA4F,EAC5F,EAAE,MAAM,EAAE,EACV,iDAAiD,EACjD,sBAAsB,CACvB,CAAA;IACH,CAAC;IACD,4BAA4B;IAC5B,MAAM,KAAK,GAAG,MAAM,YAAK,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAA;IACxE,MAAM,mBAAmB,GAAY,kBAAkB,CACrD,MAAM,KAAK,CAAC,UAAU,EAAE,CACzB,CAAA;IAED,MAAM,kBAAkB,GACtB,MAAM,sBAAsB,CAAC,aAAa,CACxC,mBAAmB,EACnB,uBAAuB,EACvB,CAAC,MAAM,CAAC,aAAa,CAAC,EACtB,KAAK,CACN,CAAA;IACH,oCAAoC;IACpC,MAAM,kBAAkB,GAAG,MAAM,sBAAsB,CAAC,aAAa,CACnE,mBAAmB,EACnB,qBAAqB,EACrB,CAAC,kBAAkB,CAAC,EACpB,KAAK,CACN,CAAA;IACD,MAAM,eAAe,GAAa,EAAE,CAAA;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACtC,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IACD,MAAM,yBAAyB,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACnE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC,CAAC,CAAA;IACF,OAAO,yBAAyB,CAAA;AAClC,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAW,EAAE;IACtD,QAAQ,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC;YACJ,OAAO,4CAA4C,CAAA;QACrD,KAAK,CAAC;YACJ,OAAO,4CAA4C,CAAA;QACrD,KAAK,KAAK;YACR,OAAO,4CAA4C,CAAA;QACrD;YACE,MAAM,IAAI,8BAAqB,CAC7B,kBAAS,CAAC,iBAAiB,EAC3B,0EAA0E,EAC1E,EAAE,OAAO,EAAE,EACX,0BAA0B,EAC1B,sBAAsB,CACvB,CAAA;IACL,CAAC;AACH,CAAC,CAAA;AAED,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAW,EAAE;IAC5C,QAAQ,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC;YACJ,OAAO,4CAA4C,CAAA;QACrD,KAAK,CAAC;YACJ,OAAO,4CAA4C,CAAA;QACrD,KAAK,KAAK;YACR,OAAO,4CAA4C,CAAA;QACrD;YACE,MAAM,IAAI,8BAAqB,CAC7B,kBAAS,CAAC,iBAAiB,EAC3B,0EAA0E,EAC1E,EAAE,OAAO,EAAE,EACX,0BAA0B,EAC1B,sBAAsB,CACvB,CAAA;IACL,CAAC;AACH,CAAC,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Address } from
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { Address } from 'viem';
|
|
2
|
+
import { TransactionParams } from '../common';
|
|
3
|
+
import { EnvOption } from '../config';
|
|
4
|
+
import { SwapParams } from './types';
|
|
5
5
|
export declare const oneInchSupported: number[];
|
|
6
6
|
export declare const uniswapV3Supported: number[];
|
|
7
7
|
export declare const oneInchTransactionParams: (params: SwapParams, walletAddress: Address, txOptions?: EnvOption) => Promise<TransactionParams>;
|
package/dist/src/actions/Swap.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.uniswapV2SwapTransactionParams = exports.uniswapV3SwapTransactionParams = exports.oneInchTransactionParams = exports.uniswapV3Supported = exports.oneInchSupported = void 0;
|
|
4
4
|
const viem_1 = require("viem");
|
|
5
|
-
const types_1 = require("./types");
|
|
6
5
|
const SwapApis_1 = require("../apis/SwapApis");
|
|
7
6
|
const common_1 = require("../common");
|
|
8
7
|
const data_1 = require("../data");
|
|
@@ -10,13 +9,16 @@ const Token_1 = require("../data/Token");
|
|
|
10
9
|
const errors_1 = require("../errors");
|
|
11
10
|
const SwapUtils_1 = require("../utils/SwapUtils");
|
|
12
11
|
const ContractInterface_1 = require("../viem/ContractInterface");
|
|
12
|
+
const types_1 = require("./types");
|
|
13
13
|
exports.oneInchSupported = [1, 10, 56, 137, 8453, 42161];
|
|
14
14
|
exports.uniswapV3Supported = [1, 5, 10, 56, 137, 31337, 36865, 42161];
|
|
15
15
|
const DEFAULT_SLIPPAGE = 0.5; // .5%
|
|
16
|
-
const eth1InchAddress =
|
|
16
|
+
const eth1InchAddress = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE';
|
|
17
17
|
const approveAndSwapInterface = new ContractInterface_1.ContractInterface(common_1.APPROVE_AND_SWAP_ABI);
|
|
18
18
|
const getOneInchApproveTx = async (oneInchSwapParams) => {
|
|
19
|
-
const chainId = await data_1.Chain.getChain({
|
|
19
|
+
const chainId = await data_1.Chain.getChain({
|
|
20
|
+
chainIdentifier: oneInchSwapParams.chainId,
|
|
21
|
+
});
|
|
20
22
|
const allowance = await (0, SwapApis_1.get1InchAllowance)(oneInchSwapParams.chainId.toString(), oneInchSwapParams.src, oneInchSwapParams.from);
|
|
21
23
|
if (Number(allowance) < Number(oneInchSwapParams.amount)) {
|
|
22
24
|
const approveTx = await (0, SwapApis_1.get1InchApproveTx)(chainId.toString(), oneInchSwapParams.src, oneInchSwapParams.amount);
|
|
@@ -25,22 +27,28 @@ const getOneInchApproveTx = async (oneInchSwapParams) => {
|
|
|
25
27
|
return null;
|
|
26
28
|
};
|
|
27
29
|
const getOneInchSwapTx = async (oneinchSwapParams) => {
|
|
28
|
-
const chainId = await data_1.Chain.getChain({
|
|
30
|
+
const chainId = await data_1.Chain.getChain({
|
|
31
|
+
chainIdentifier: oneinchSwapParams.chainId,
|
|
32
|
+
});
|
|
29
33
|
return await (0, SwapApis_1.get1InchSwapTx)(chainId.toString(), oneinchSwapParams.src.toString(), oneinchSwapParams.dst.toString(), oneinchSwapParams.amount.toString(), oneinchSwapParams.from.toString(), oneinchSwapParams.slippage.toString(), oneinchSwapParams.disableEstimate.toString(), oneinchSwapParams.allowPartialFill.toString());
|
|
30
34
|
};
|
|
31
35
|
const oneInchTransactionParams = async (params, walletAddress, txOptions = globalThis.globalEnvOption) => {
|
|
32
36
|
const chain = await data_1.Chain.getChain({ chainIdentifier: txOptions.chain });
|
|
33
37
|
if (!exports.oneInchSupported.includes(Number(await chain.getChainId()))) {
|
|
34
|
-
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.ChainNotSupported,
|
|
38
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.ChainNotSupported, 'Incorrect chainId, oneInch only available on Ethereum mainnet and polygon', { params }, 'Provide correct chainId.', 'https://docs.fun.xyz');
|
|
35
39
|
}
|
|
36
|
-
if (!(0, viem_1.isAddress)(params.recipient ??
|
|
37
|
-
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter,
|
|
40
|
+
if (!(0, viem_1.isAddress)(params.recipient ?? '')) {
|
|
41
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter, 'Recipient address is not a valid address, please make sure it is a valid checksum address.', { params }, 'Please make sure it is a valid checksum address', 'https://docs.fun.xyz');
|
|
38
42
|
}
|
|
39
|
-
const approveAndExecAddress = await chain.getAddress(
|
|
40
|
-
const inToken = new Token_1.Token(params.tokenIn);
|
|
41
|
-
const outToken = new Token_1.Token(params.tokenOut);
|
|
42
|
-
const inTokenAddress = inToken.isNative
|
|
43
|
-
|
|
43
|
+
const approveAndExecAddress = await chain.getAddress('approveAndExecAddress');
|
|
44
|
+
const inToken = new Token_1.Token(params.tokenIn, chain);
|
|
45
|
+
const outToken = new Token_1.Token(params.tokenOut, chain);
|
|
46
|
+
const inTokenAddress = inToken.isNative
|
|
47
|
+
? eth1InchAddress
|
|
48
|
+
: await inToken.getAddress();
|
|
49
|
+
const outTokenAddress = outToken.isNative
|
|
50
|
+
? eth1InchAddress
|
|
51
|
+
: await outToken.getAddress();
|
|
44
52
|
const oneinchSwapParams = {
|
|
45
53
|
src: inTokenAddress,
|
|
46
54
|
dst: outTokenAddress,
|
|
@@ -49,7 +57,7 @@ const oneInchTransactionParams = async (params, walletAddress, txOptions = globa
|
|
|
49
57
|
slippage: params.slippage ?? DEFAULT_SLIPPAGE,
|
|
50
58
|
disableEstimate: true,
|
|
51
59
|
allowPartialFill: false,
|
|
52
|
-
chainId: Number(await chain.getChainId())
|
|
60
|
+
chainId: Number(await chain.getChainId()),
|
|
53
61
|
};
|
|
54
62
|
const approveTx = await getOneInchApproveTx(oneinchSwapParams);
|
|
55
63
|
const swapTx = await getOneInchSwapTx(oneinchSwapParams);
|
|
@@ -57,31 +65,25 @@ const oneInchTransactionParams = async (params, walletAddress, txOptions = globa
|
|
|
57
65
|
return swapTx;
|
|
58
66
|
}
|
|
59
67
|
else {
|
|
60
|
-
return common_1.APPROVE_AND_EXEC_CONTRACT_INTERFACE.encodeTransactionParams(approveAndExecAddress,
|
|
61
|
-
swapTx.to,
|
|
62
|
-
swapTx.value,
|
|
63
|
-
swapTx.data,
|
|
64
|
-
inTokenAddress,
|
|
65
|
-
approveTx.data
|
|
66
|
-
]);
|
|
68
|
+
return common_1.APPROVE_AND_EXEC_CONTRACT_INTERFACE.encodeTransactionParams(approveAndExecAddress, 'approveAndExecute', [swapTx.to, swapTx.value, swapTx.data, inTokenAddress, approveTx.data]);
|
|
67
69
|
}
|
|
68
70
|
};
|
|
69
71
|
exports.oneInchTransactionParams = oneInchTransactionParams;
|
|
70
72
|
const uniswapV3SwapTransactionParams = async (params, txOptions = globalThis.globalEnvOption) => {
|
|
71
73
|
const chain = await data_1.Chain.getChain({ chainIdentifier: txOptions.chain });
|
|
72
74
|
const client = await chain.getClient();
|
|
73
|
-
const tokenSwapAddress = await chain.getAddress(
|
|
74
|
-
const univ3quoter = await chain.getAddress(
|
|
75
|
-
const univ3factory = await chain.getAddress(
|
|
76
|
-
const univ3router = await chain.getAddress(
|
|
77
|
-
const tokenIn = new Token_1.Token(params.tokenIn);
|
|
78
|
-
const tokenOut = new Token_1.Token(params.tokenOut);
|
|
75
|
+
const tokenSwapAddress = await chain.getAddress('tokenSwapAddress');
|
|
76
|
+
const univ3quoter = await chain.getAddress('univ3quoter');
|
|
77
|
+
const univ3factory = await chain.getAddress('univ3factory');
|
|
78
|
+
const univ3router = await chain.getAddress('univ3router');
|
|
79
|
+
const tokenIn = new Token_1.Token(params.tokenIn, chain);
|
|
80
|
+
const tokenOut = new Token_1.Token(params.tokenOut, chain);
|
|
79
81
|
const tokenInAddress = await tokenIn.getAddress();
|
|
80
82
|
const tokenOutAddress = await tokenOut.getAddress();
|
|
81
83
|
const uniswapAddrs = {
|
|
82
84
|
univ3quoter,
|
|
83
85
|
univ3factory,
|
|
84
|
-
univ3router
|
|
86
|
+
univ3router,
|
|
85
87
|
};
|
|
86
88
|
let percentDecimal = 100;
|
|
87
89
|
let slippage = params.slippage ? params.slippage : DEFAULT_SLIPPAGE;
|
|
@@ -89,8 +91,8 @@ const uniswapV3SwapTransactionParams = async (params, txOptions = globalThis.glo
|
|
|
89
91
|
percentDecimal *= 10;
|
|
90
92
|
slippage *= 10;
|
|
91
93
|
}
|
|
92
|
-
if (!(0, viem_1.isAddress)(params.recipient ??
|
|
93
|
-
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter,
|
|
94
|
+
if (!(0, viem_1.isAddress)(params.recipient ?? '')) {
|
|
95
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter, 'Recipient address is not a valid address, please make sure it is a valid checksum address.', { params }, 'Please make sure it is a valid checksum address', 'https://docs.fun.xyz');
|
|
94
96
|
}
|
|
95
97
|
const swapParams = {
|
|
96
98
|
tokenInAddress,
|
|
@@ -100,30 +102,30 @@ const uniswapV3SwapTransactionParams = async (params, txOptions = globalThis.glo
|
|
|
100
102
|
recipient: params.recipient,
|
|
101
103
|
percentDecimal,
|
|
102
104
|
slippage,
|
|
103
|
-
poolFee: params.poolFee ?? types_1.UniswapPoolFeeOptions.medium
|
|
105
|
+
poolFee: params.poolFee ?? types_1.UniswapPoolFeeOptions.medium,
|
|
104
106
|
};
|
|
105
107
|
const { data, amount } = await (0, SwapUtils_1.swapExec)(client, uniswapAddrs, swapParams, Number(await chain.getChainId()));
|
|
106
108
|
if (tokenIn.isNative) {
|
|
107
|
-
return approveAndSwapInterface.encodeTransactionParams(tokenSwapAddress,
|
|
109
|
+
return approveAndSwapInterface.encodeTransactionParams(tokenSwapAddress, 'executeSwapETH', [amount, data]);
|
|
108
110
|
}
|
|
109
111
|
else {
|
|
110
|
-
return approveAndSwapInterface.encodeTransactionParams(tokenSwapAddress,
|
|
112
|
+
return approveAndSwapInterface.encodeTransactionParams(tokenSwapAddress, 'executeSwapERC20', [tokenInAddress, amount, data]);
|
|
111
113
|
}
|
|
112
114
|
};
|
|
113
115
|
exports.uniswapV3SwapTransactionParams = uniswapV3SwapTransactionParams;
|
|
114
116
|
const uniswapV2SwapTransactionParams = async (params, txOptions = globalThis.globalEnvOption) => {
|
|
115
117
|
const chain = await data_1.Chain.getChain({ chainIdentifier: txOptions.chain });
|
|
116
118
|
const client = await chain.getClient();
|
|
117
|
-
const tokenSwapAddress = await chain.getAddress(
|
|
118
|
-
const factory = await chain.getAddress(
|
|
119
|
-
const router = await chain.getAddress(
|
|
120
|
-
const tokenIn = new Token_1.Token(params.tokenIn);
|
|
121
|
-
const tokenOut = new Token_1.Token(params.tokenOut);
|
|
119
|
+
const tokenSwapAddress = await chain.getAddress('tokenSwapAddress');
|
|
120
|
+
const factory = await chain.getAddress('UniswapV2Factory');
|
|
121
|
+
const router = await chain.getAddress('UniswapV2Router02');
|
|
122
|
+
const tokenIn = new Token_1.Token(params.tokenIn, chain);
|
|
123
|
+
const tokenOut = new Token_1.Token(params.tokenOut, chain);
|
|
122
124
|
const tokenInAddress = await tokenIn.getAddress();
|
|
123
125
|
const tokenOutAddress = await tokenOut.getAddress();
|
|
124
126
|
const uniswapAddrs = {
|
|
125
127
|
factory,
|
|
126
|
-
router
|
|
128
|
+
router,
|
|
127
129
|
};
|
|
128
130
|
let percentDecimal = 100;
|
|
129
131
|
let slippage = params.slippage ? params.slippage : DEFAULT_SLIPPAGE;
|
|
@@ -139,15 +141,15 @@ const uniswapV2SwapTransactionParams = async (params, txOptions = globalThis.glo
|
|
|
139
141
|
recipient: params.recipient,
|
|
140
142
|
percentDecimal,
|
|
141
143
|
slippage,
|
|
142
|
-
poolFee: params.poolFee ?? types_1.UniswapPoolFeeOptions.medium
|
|
144
|
+
poolFee: params.poolFee ?? types_1.UniswapPoolFeeOptions.medium,
|
|
143
145
|
};
|
|
144
146
|
const chainId = Number(await chain.getChainId());
|
|
145
147
|
const { data, to, amount } = await (0, SwapUtils_1.swapExecV2)(client, uniswapAddrs, swapParams, chainId);
|
|
146
148
|
if (tokenIn.isNative) {
|
|
147
|
-
return approveAndSwapInterface.encodeTransactionParams(tokenSwapAddress,
|
|
149
|
+
return approveAndSwapInterface.encodeTransactionParams(tokenSwapAddress, 'executeSwapETH', [to, amount, data]);
|
|
148
150
|
}
|
|
149
151
|
else {
|
|
150
|
-
return approveAndSwapInterface.encodeTransactionParams(tokenSwapAddress,
|
|
152
|
+
return approveAndSwapInterface.encodeTransactionParams(tokenSwapAddress, 'executeSwapERC20', [tokenInAddress, amount, data]);
|
|
151
153
|
}
|
|
152
154
|
};
|
|
153
155
|
exports.uniswapV2SwapTransactionParams = uniswapV2SwapTransactionParams;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Swap.js","sourceRoot":"","sources":["../../../src/actions/Swap.ts"],"names":[],"mappings":";;;AAAA,+BAAyC;
|
|
1
|
+
{"version":3,"file":"Swap.js","sourceRoot":"","sources":["../../../src/actions/Swap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { TransactionParams } from '../common';
|
|
2
|
+
import { Chain } from '../data/Chain';
|
|
3
|
+
import { ApproveERC20Params, ApproveERC721Params, ApproveParams, ERC721TransferParams, TokenTransferParams, TransferParams } from './types';
|
|
4
4
|
export declare const isERC721TransferParams: (obj: TransferParams) => obj is ERC721TransferParams;
|
|
5
5
|
export declare const isTokenTransferParams: (obj: TransferParams) => obj is TokenTransferParams;
|
|
6
6
|
export declare const erc721TransferTransactionParams: (params: ERC721TransferParams) => Promise<TransactionParams>;
|
|
7
|
-
export declare const tokenTransferTransactionParams: (params: TokenTransferParams,
|
|
8
|
-
export declare const tokenTransferFromTransactionParams: (params: TokenTransferParams,
|
|
7
|
+
export declare const tokenTransferTransactionParams: (params: TokenTransferParams, chain: Chain) => Promise<TransactionParams>;
|
|
8
|
+
export declare const tokenTransferFromTransactionParams: (params: TokenTransferParams, chain: Chain) => Promise<TransactionParams>;
|
|
9
9
|
export declare const isERC20ApproveParams: (obj: ApproveParams) => obj is ApproveERC20Params;
|
|
10
10
|
export declare const isERC721ApproveParams: (obj: ApproveParams) => obj is ApproveERC721Params;
|
|
11
|
-
export declare const erc20ApproveTransactionParams: (params: ApproveERC20Params
|
|
11
|
+
export declare const erc20ApproveTransactionParams: (params: ApproveERC20Params) => Promise<TransactionParams>;
|
|
12
12
|
export declare const erc721ApproveTransactionParams: (params: ApproveERC721Params) => Promise<TransactionParams>;
|
|
@@ -4,19 +4,20 @@ exports.erc721ApproveTransactionParams = exports.erc20ApproveTransactionParams =
|
|
|
4
4
|
const viem_1 = require("viem");
|
|
5
5
|
const common_1 = require("../common");
|
|
6
6
|
const data_1 = require("../data");
|
|
7
|
+
const Chain_1 = require("../data/Chain");
|
|
7
8
|
const errors_1 = require("../errors");
|
|
8
9
|
const isERC721TransferParams = (obj) => {
|
|
9
|
-
return
|
|
10
|
+
return 'tokenId' in obj;
|
|
10
11
|
};
|
|
11
12
|
exports.isERC721TransferParams = isERC721TransferParams;
|
|
12
13
|
const isTokenTransferParams = (obj) => {
|
|
13
|
-
return
|
|
14
|
+
return 'amount' in obj && 'token' in obj && 'to' in obj;
|
|
14
15
|
};
|
|
15
16
|
exports.isTokenTransferParams = isTokenTransferParams;
|
|
16
17
|
const erc721TransferTransactionParams = async (params) => {
|
|
17
18
|
const { to, tokenId, collection, from } = params;
|
|
18
|
-
if (!(0, viem_1.isAddress)(to ??
|
|
19
|
-
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter,
|
|
19
|
+
if (!(0, viem_1.isAddress)(to ?? '') || !(0, viem_1.isAddress)(from ?? '')) {
|
|
20
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter, 'To/from address is not a valid address, please make sure it is a valid checksum address.', { params }, 'Please make sure it is a valid checksum address', 'https://docs.fun.xyz');
|
|
20
21
|
}
|
|
21
22
|
let tokenAddr;
|
|
22
23
|
if ((0, viem_1.isAddress)(collection)) {
|
|
@@ -25,69 +26,81 @@ const erc721TransferTransactionParams = async (params) => {
|
|
|
25
26
|
else {
|
|
26
27
|
tokenAddr = await data_1.NFT.getAddress(collection);
|
|
27
28
|
}
|
|
28
|
-
return common_1.ERC721_CONTRACT_INTERFACE.encodeTransactionParams(tokenAddr,
|
|
29
|
+
return common_1.ERC721_CONTRACT_INTERFACE.encodeTransactionParams(tokenAddr, 'transferFrom', [from, to, tokenId]);
|
|
29
30
|
};
|
|
30
31
|
exports.erc721TransferTransactionParams = erc721TransferTransactionParams;
|
|
31
|
-
const tokenTransferTransactionParams = async (params,
|
|
32
|
+
const tokenTransferTransactionParams = async (params, chain) => {
|
|
32
33
|
const { to, amount, token } = params;
|
|
33
34
|
if (!(0, viem_1.isAddress)(to)) {
|
|
34
|
-
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter,
|
|
35
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter, 'To address is not a valid address, please make sure it is a valid checksum address.', { params }, 'Please make sure it is a valid checksum address', 'https://docs.fun.xyz');
|
|
35
36
|
}
|
|
36
|
-
const tokenObj = new data_1.Token(token);
|
|
37
|
+
const tokenObj = new data_1.Token(token, chain);
|
|
37
38
|
if (tokenObj.isNative) {
|
|
38
|
-
return {
|
|
39
|
+
return {
|
|
40
|
+
to: to,
|
|
41
|
+
data: '0x',
|
|
42
|
+
value: (0, viem_1.parseEther)(`${amount}`),
|
|
43
|
+
};
|
|
39
44
|
}
|
|
40
45
|
else {
|
|
41
|
-
const tokenAddr = await tokenObj.getAddress(
|
|
46
|
+
const tokenAddr = await tokenObj.getAddress();
|
|
42
47
|
if (!tokenAddr) {
|
|
43
|
-
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.TokenNotFound,
|
|
48
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.TokenNotFound, 'Token address not found. Please check the token passed in.', { params }, 'Provide correct token.', 'https://docs.fun.xyz');
|
|
44
49
|
}
|
|
45
|
-
const convertedAmount = await tokenObj.getDecimalAmount(amount
|
|
46
|
-
return common_1.ERC20_CONTRACT_INTERFACE.encodeTransactionParams(tokenAddr,
|
|
50
|
+
const convertedAmount = await tokenObj.getDecimalAmount(amount);
|
|
51
|
+
return common_1.ERC20_CONTRACT_INTERFACE.encodeTransactionParams(tokenAddr, 'transfer', [to, convertedAmount]);
|
|
47
52
|
}
|
|
48
53
|
};
|
|
49
54
|
exports.tokenTransferTransactionParams = tokenTransferTransactionParams;
|
|
50
|
-
const tokenTransferFromTransactionParams = async (params,
|
|
55
|
+
const tokenTransferFromTransactionParams = async (params, chain) => {
|
|
51
56
|
const { to, amount, token, from } = params;
|
|
52
|
-
if (!(0, viem_1.isAddress)(to ??
|
|
53
|
-
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter,
|
|
57
|
+
if (!(0, viem_1.isAddress)(to ?? '') || !(0, viem_1.isAddress)(from ?? '')) {
|
|
58
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter, 'To/from address is not a valid address, please make sure it is a valid checksum address.', { params }, 'Please make sure it is a valid checksum address', 'https://docs.fun.xyz');
|
|
54
59
|
}
|
|
55
|
-
const tokenObj = new data_1.Token(token);
|
|
60
|
+
const tokenObj = new data_1.Token(token, chain);
|
|
56
61
|
if (tokenObj.isNative) {
|
|
57
|
-
return {
|
|
62
|
+
return {
|
|
63
|
+
to: to,
|
|
64
|
+
data: '0x',
|
|
65
|
+
value: (0, viem_1.parseEther)(`${amount}`),
|
|
66
|
+
};
|
|
58
67
|
}
|
|
59
68
|
else {
|
|
60
|
-
const tokenAddr = await tokenObj.getAddress(
|
|
69
|
+
const tokenAddr = await tokenObj.getAddress();
|
|
61
70
|
if (!tokenAddr) {
|
|
62
|
-
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.TokenNotFound,
|
|
71
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.TokenNotFound, 'Token address not found. Please check the token passed in.', { params }, 'Provide correct token.', 'https://docs.fun.xyz');
|
|
63
72
|
}
|
|
64
|
-
const convertedAmount = await tokenObj.getDecimalAmount(amount
|
|
65
|
-
return common_1.ERC20_CONTRACT_INTERFACE.encodeTransactionParams(tokenAddr,
|
|
73
|
+
const convertedAmount = await tokenObj.getDecimalAmount(amount);
|
|
74
|
+
return common_1.ERC20_CONTRACT_INTERFACE.encodeTransactionParams(tokenAddr, 'transferFrom', [from, to, convertedAmount]);
|
|
66
75
|
}
|
|
67
76
|
};
|
|
68
77
|
exports.tokenTransferFromTransactionParams = tokenTransferFromTransactionParams;
|
|
69
78
|
const isERC20ApproveParams = (obj) => {
|
|
70
|
-
return
|
|
79
|
+
return 'amount' in obj && 'token' in obj;
|
|
71
80
|
};
|
|
72
81
|
exports.isERC20ApproveParams = isERC20ApproveParams;
|
|
73
82
|
const isERC721ApproveParams = (obj) => {
|
|
74
|
-
return
|
|
83
|
+
return 'tokenId' in obj && 'collection' in obj;
|
|
75
84
|
};
|
|
76
85
|
exports.isERC721ApproveParams = isERC721ApproveParams;
|
|
77
|
-
const erc20ApproveTransactionParams = async (params
|
|
86
|
+
const erc20ApproveTransactionParams = async (params) => {
|
|
78
87
|
const { spender, amount, token } = params;
|
|
79
|
-
if (!(0, viem_1.isAddress)(spender ??
|
|
80
|
-
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter,
|
|
88
|
+
if (!(0, viem_1.isAddress)(spender ?? '')) {
|
|
89
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter, 'Spender address is not a valid address, please make sure it is a valid checksum address.', { params }, 'Please make sure it is a valid checksum address', 'https://docs.fun.xyz');
|
|
81
90
|
}
|
|
82
|
-
|
|
83
|
-
const
|
|
84
|
-
|
|
91
|
+
// TODO: remove this fallback after refactoring -- Panda
|
|
92
|
+
const chain = await Chain_1.Chain.getChain({
|
|
93
|
+
chainIdentifier: globalThis.globalEnvOption.chain,
|
|
94
|
+
});
|
|
95
|
+
const tokenObj = new data_1.Token(token, chain);
|
|
96
|
+
const convertedAmount = await tokenObj.getDecimalAmount(amount);
|
|
97
|
+
return common_1.ERC20_CONTRACT_INTERFACE.encodeTransactionParams(await tokenObj.getAddress(), 'approve', [spender, convertedAmount]);
|
|
85
98
|
};
|
|
86
99
|
exports.erc20ApproveTransactionParams = erc20ApproveTransactionParams;
|
|
87
100
|
const erc721ApproveTransactionParams = async (params) => {
|
|
88
101
|
const { spender, tokenId, collection } = params;
|
|
89
|
-
if (!(0, viem_1.isAddress)(spender ??
|
|
90
|
-
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter,
|
|
102
|
+
if (!(0, viem_1.isAddress)(spender ?? '')) {
|
|
103
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter, 'Spender address is not a valid address, please make sure it is a valid checksum address.', { params }, 'Please make sure it is a valid checksum address', 'https://docs.fun.xyz');
|
|
91
104
|
}
|
|
92
105
|
let tokenAddr;
|
|
93
106
|
if ((0, viem_1.isAddress)(collection)) {
|
|
@@ -96,7 +109,7 @@ const erc721ApproveTransactionParams = async (params) => {
|
|
|
96
109
|
else {
|
|
97
110
|
tokenAddr = await data_1.NFT.getAddress(collection);
|
|
98
111
|
}
|
|
99
|
-
return common_1.ERC721_CONTRACT_INTERFACE.encodeTransactionParams(tokenAddr,
|
|
112
|
+
return common_1.ERC721_CONTRACT_INTERFACE.encodeTransactionParams(tokenAddr, 'approve', [spender, tokenId]);
|
|
100
113
|
};
|
|
101
114
|
exports.erc721ApproveTransactionParams = erc721ApproveTransactionParams;
|
|
102
115
|
//# sourceMappingURL=Token.js.map
|