@dzapio/sdk 2.0.7 → 2.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/index.d.ts +2 -1
- package/dist/index.js +1 -1
- package/dist/index.m.js +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/types/zap/broadcast.d.ts +15 -0
- package/package.json +1 -1
- package/dist/examples/chain-utils.d.ts +0 -1
- package/dist/examples/chain-utils.js +0 -20
- package/dist/examples/permit-utils.d.ts +0 -1
- package/dist/examples/permit-utils.js +0 -90
- package/dist/examples/token-utils.d.ts +0 -1
- package/dist/examples/token-utils.js +0 -41
- package/dist/examples/trade-operations.d.ts +0 -1
- package/dist/examples/trade-operations.js +0 -89
- package/dist/examples/zap-operations.d.ts +0 -1
- package/dist/examples/zap-operations.js +0 -69
- package/dist/src/api/index.d.ts +0 -27
- package/dist/src/api/index.js +0 -146
- package/dist/src/artifacts/ERC20Permit.d.ts +0 -374
- package/dist/src/artifacts/ERC20Permit.js +0 -469
- package/dist/src/artifacts/Permit2.d.ts +0 -700
- package/dist/src/artifacts/Permit2.js +0 -904
- package/dist/src/artifacts/Permit2Proxy.d.ts +0 -416
- package/dist/src/artifacts/Permit2Proxy.js +0 -206
- package/dist/src/artifacts/default/DZapCoreAbi.d.ts +0 -2
- package/dist/src/artifacts/default/DZapCoreAbi.js +0 -3079
- package/dist/src/artifacts/default/DZapCoreV2Abi.d.ts +0 -2
- package/dist/src/artifacts/default/DZapCoreV2Abi.js +0 -3719
- package/dist/src/artifacts/default/DZapDcaAbi.d.ts +0 -2
- package/dist/src/artifacts/default/DZapDcaAbi.js +0 -1829
- package/dist/src/artifacts/default/Permit2Abi.d.ts +0 -700
- package/dist/src/artifacts/default/Permit2Abi.js +0 -904
- package/dist/src/artifacts/default/erc20Abi.d.ts +0 -165
- package/dist/src/artifacts/default/erc20Abi.js +0 -220
- package/dist/src/artifacts/default/index.d.ts +0 -6
- package/dist/src/artifacts/default/index.js +0 -13
- package/dist/src/artifacts/index.d.ts +0 -2
- package/dist/src/artifacts/index.js +0 -9
- package/dist/src/artifacts/staging/DZapCoreSwapAbi.d.ts +0 -2
- package/dist/src/artifacts/staging/DZapCoreSwapAbi.js +0 -3079
- package/dist/src/artifacts/staging/index.d.ts +0 -2
- package/dist/src/artifacts/staging/index.js +0 -5
- package/dist/src/axios/baseClient.d.ts +0 -2
- package/dist/src/axios/baseClient.js +0 -7
- package/dist/src/axios/index.d.ts +0 -8
- package/dist/src/axios/index.js +0 -34
- package/dist/src/chains/definitions/arthera.d.ts +0 -35
- package/dist/src/chains/definitions/arthera.js +0 -28
- package/dist/src/chains/definitions/fiveIre.d.ts +0 -35
- package/dist/src/chains/definitions/fiveIre.js +0 -28
- package/dist/src/chains/definitions/hyperEvm.d.ts +0 -35
- package/dist/src/chains/definitions/hyperEvm.js +0 -26
- package/dist/src/chains/definitions/hyperliquid.d.ts +0 -35
- package/dist/src/chains/definitions/hyperliquid.js +0 -26
- package/dist/src/chains/definitions/stable.d.ts +0 -36
- package/dist/src/chains/definitions/stable.js +0 -31
- package/dist/src/chains/index.d.ts +0 -179
- package/dist/src/chains/index.js +0 -24
- package/dist/src/config/index.d.ts +0 -36
- package/dist/src/config/index.js +0 -59
- package/dist/src/constants/address.d.ts +0 -13
- package/dist/src/constants/address.js +0 -29
- package/dist/src/constants/approval.d.ts +0 -7
- package/dist/src/constants/approval.js +0 -17
- package/dist/src/constants/axios.d.ts +0 -2
- package/dist/src/constants/axios.js +0 -5
- package/dist/src/constants/chains.d.ts +0 -31
- package/dist/src/constants/chains.js +0 -34
- package/dist/src/constants/contract.d.ts +0 -6
- package/dist/src/constants/contract.js +0 -18
- package/dist/src/constants/erc20.d.ts +0 -25
- package/dist/src/constants/erc20.js +0 -28
- package/dist/src/constants/httpMethods.d.ts +0 -2
- package/dist/src/constants/httpMethods.js +0 -5
- package/dist/src/constants/index.d.ts +0 -48
- package/dist/src/constants/index.js +0 -53
- package/dist/src/constants/permit.d.ts +0 -29
- package/dist/src/constants/permit.js +0 -33
- package/dist/src/constants/permit2.d.ts +0 -2
- package/dist/src/constants/permit2.js +0 -5
- package/dist/src/constants/rpc.d.ts +0 -2
- package/dist/src/constants/rpc.js +0 -5
- package/dist/src/constants/urlConstants.d.ts +0 -15
- package/dist/src/constants/urlConstants.js +0 -18
- package/dist/src/dZapClient/index.d.ts +0 -1015
- package/dist/src/dZapClient/index.js +0 -255
- package/dist/src/enums/index.d.ts +0 -46
- package/dist/src/enums/index.js +0 -57
- package/dist/src/index.d.ts +0 -17
- package/dist/src/index.js +0 -48
- package/dist/src/service/cache/cacheProvider.d.ts +0 -10
- package/dist/src/service/cache/cacheProvider.js +0 -72
- package/dist/src/service/cache/constant.d.ts +0 -2
- package/dist/src/service/cache/constant.js +0 -6
- package/dist/src/service/price/index.d.ts +0 -16
- package/dist/src/service/price/index.js +0 -80
- package/dist/src/service/price/provider/coingecko/config.d.ts +0 -6
- package/dist/src/service/price/provider/coingecko/config.js +0 -9
- package/dist/src/service/price/provider/coingecko/index.d.ts +0 -9
- package/dist/src/service/price/provider/coingecko/index.js +0 -66
- package/dist/src/service/price/provider/defiLlama/config.d.ts +0 -3
- package/dist/src/service/price/provider/defiLlama/config.js +0 -6
- package/dist/src/service/price/provider/defiLlama/index.d.ts +0 -9
- package/dist/src/service/price/provider/defiLlama/index.js +0 -60
- package/dist/src/service/price/provider/defiLlama/types.d.ts +0 -11
- package/dist/src/service/price/provider/defiLlama/types.js +0 -2
- package/dist/src/service/price/provider/dzap/index.d.ts +0 -6
- package/dist/src/service/price/provider/dzap/index.js +0 -22
- package/dist/src/service/price/types/IPriceProvider.d.ts +0 -14
- package/dist/src/service/price/types/IPriceProvider.js +0 -8
- package/dist/src/transactionHandlers/generic.d.ts +0 -24
- package/dist/src/transactionHandlers/generic.js +0 -48
- package/dist/src/transactionHandlers/permit.d.ts +0 -61
- package/dist/src/transactionHandlers/permit.js +0 -177
- package/dist/src/transactionHandlers/trade.d.ts +0 -24
- package/dist/src/transactionHandlers/trade.js +0 -263
- package/dist/src/transactionHandlers/zap.d.ts +0 -37
- package/dist/src/transactionHandlers/zap.js +0 -135
- package/dist/src/types/axiosClient.d.ts +0 -6
- package/dist/src/types/axiosClient.js +0 -2
- package/dist/src/types/btc.d.ts +0 -45
- package/dist/src/types/btc.js +0 -2
- package/dist/src/types/chains.d.ts +0 -3
- package/dist/src/types/chains.js +0 -2
- package/dist/src/types/contract.d.ts +0 -14
- package/dist/src/types/contract.js +0 -2
- package/dist/src/types/eip-2612.d.ts +0 -24
- package/dist/src/types/eip-2612.js +0 -58
- package/dist/src/types/index.d.ts +0 -489
- package/dist/src/types/index.js +0 -8
- package/dist/src/types/permit.d.ts +0 -191
- package/dist/src/types/permit.js +0 -54
- package/dist/src/types/wallet.d.ts +0 -2
- package/dist/src/types/wallet.js +0 -2
- package/dist/src/types/zap/build.d.ts +0 -44
- package/dist/src/types/zap/build.js +0 -2
- package/dist/src/types/zap/index.d.ts +0 -34
- package/dist/src/types/zap/index.js +0 -23
- package/dist/src/types/zap/path.d.ts +0 -33
- package/dist/src/types/zap/path.js +0 -2
- package/dist/src/types/zap/pool.d.ts +0 -39
- package/dist/src/types/zap/pool.js +0 -2
- package/dist/src/types/zap/position.d.ts +0 -27
- package/dist/src/types/zap/position.js +0 -2
- package/dist/src/types/zap/quote.d.ts +0 -7
- package/dist/src/types/zap/quote.js +0 -2
- package/dist/src/types/zap/status.d.ts +0 -28
- package/dist/src/types/zap/status.js +0 -2
- package/dist/src/types/zap/step.d.ts +0 -23
- package/dist/src/types/zap/step.js +0 -2
- package/dist/src/utils/amount.d.ts +0 -82
- package/dist/src/utils/amount.js +0 -71
- package/dist/src/utils/axios.d.ts +0 -13
- package/dist/src/utils/axios.js +0 -42
- package/dist/src/utils/date.d.ts +0 -1
- package/dist/src/utils/date.js +0 -8
- package/dist/src/utils/decoder/swap/abis.d.ts +0 -643
- package/dist/src/utils/decoder/swap/abis.js +0 -831
- package/dist/src/utils/decoder/swap/inputDataDecoder.d.ts +0 -14
- package/dist/src/utils/decoder/swap/inputDataDecoder.js +0 -124
- package/dist/src/utils/eip-2612/eip2612Permit.d.ts +0 -23
- package/dist/src/utils/eip-2612/eip2612Permit.js +0 -121
- package/dist/src/utils/eip-5792/batchApproveTokens.d.ts +0 -21
- package/dist/src/utils/eip-5792/batchApproveTokens.js +0 -49
- package/dist/src/utils/eip-5792/index.d.ts +0 -3
- package/dist/src/utils/eip-5792/index.js +0 -9
- package/dist/src/utils/eip-5792/isBatchTxnSupportedByWallet.d.ts +0 -6
- package/dist/src/utils/eip-5792/isBatchTxnSupportedByWallet.js +0 -22
- package/dist/src/utils/eip-5792/sendBatchCalls.d.ts +0 -10
- package/dist/src/utils/eip-5792/sendBatchCalls.js +0 -25
- package/dist/src/utils/eip-5792/waitForBatchTransactionReceipt.d.ts +0 -4
- package/dist/src/utils/eip-5792/waitForBatchTransactionReceipt.js +0 -26
- package/dist/src/utils/encodeApproveCall.d.ts +0 -6
- package/dist/src/utils/encodeApproveCall.js +0 -13
- package/dist/src/utils/erc20.d.ts +0 -65
- package/dist/src/utils/erc20.js +0 -153
- package/dist/src/utils/errors.d.ts +0 -17
- package/dist/src/utils/errors.js +0 -78
- package/dist/src/utils/index.d.ts +0 -4566
- package/dist/src/utils/index.js +0 -196
- package/dist/src/utils/multicall.d.ts +0 -14
- package/dist/src/utils/multicall.js +0 -25
- package/dist/src/utils/permit2/domain.d.ts +0 -2
- package/dist/src/utils/permit2/domain.js +0 -11
- package/dist/src/utils/permit2/index.d.ts +0 -4
- package/dist/src/utils/permit2/index.js +0 -97
- package/dist/src/utils/permit2/nonce.d.ts +0 -15
- package/dist/src/utils/permit2/nonce.js +0 -61
- package/dist/src/utils/permit2/permitData.d.ts +0 -23
- package/dist/src/utils/permit2/permitData.js +0 -85
- package/dist/src/utils/permit2/values.d.ts +0 -54
- package/dist/src/utils/permit2/values.js +0 -88
- package/dist/src/utils/permit2/witnessData.d.ts +0 -4
- package/dist/src/utils/permit2/witnessData.js +0 -48
- package/dist/src/utils/signIntent/custom.d.ts +0 -11
- package/dist/src/utils/signIntent/custom.js +0 -31
- package/dist/src/utils/signIntent/gasless.d.ts +0 -12
- package/dist/src/utils/signIntent/gasless.js +0 -101
- package/dist/src/utils/signTypedData.d.ts +0 -11
- package/dist/src/utils/signTypedData.js +0 -21
- package/dist/src/utils/tokens.d.ts +0 -8
- package/dist/src/utils/tokens.js +0 -73
- package/dist/src/utils/updateQuotes.d.ts +0 -3
- package/dist/src/utils/updateQuotes.js +0 -69
- package/dist/src/zap/constants/index.d.ts +0 -2
- package/dist/src/zap/constants/index.js +0 -18
- package/dist/src/zap/constants/path.d.ts +0 -8
- package/dist/src/zap/constants/path.js +0 -11
- package/dist/src/zap/constants/step.d.ts +0 -3
- package/dist/src/zap/constants/step.js +0 -6
- package/dist/src/zap/constants/urls.d.ts +0 -13
- package/dist/src/zap/constants/urls.js +0 -16
- package/dist/test/build.test.d.ts +0 -1
- package/dist/test/build.test.js +0 -65
- package/dist/test/permit/permit2Nonce.test.d.ts +0 -2
- package/dist/test/permit/permit2Nonce.test.js +0 -96
- package/dist/test/quotes.test.d.ts +0 -1
- package/dist/test/quotes.test.js +0 -59
- package/dist/test/status.test.d.ts +0 -1
- package/dist/test/status.test.js +0 -37
- package/dist/tsconfig.tsbuildinfo +0 -1
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getPermitBatchTransferFromValues = exports.getPermitTransferFromValues = exports.getPermitSingleValues = void 0;
|
|
4
|
-
exports.getPermit2Values = getPermit2Values;
|
|
5
|
-
const erc20_1 = require("../../constants/erc20");
|
|
6
|
-
const permit_1 = require("../../constants/permit");
|
|
7
|
-
const Permit2_1 = require("../../artifacts/Permit2");
|
|
8
|
-
const index_1 = require("../index");
|
|
9
|
-
const nonce_1 = require("./nonce");
|
|
10
|
-
const getPermitSingleValues = async ({ spender, deadline, chainId, rpcUrls, account, expiration, token, permit2Address, }) => {
|
|
11
|
-
const publicClient = (0, index_1.getPublicClient)({ chainId, rpcUrls });
|
|
12
|
-
const nonceResult = await publicClient.readContract({
|
|
13
|
-
address: permit2Address,
|
|
14
|
-
abi: Permit2_1.abi,
|
|
15
|
-
functionName: erc20_1.erc20PermitFunctions.allowance,
|
|
16
|
-
args: [account, token.address, spender],
|
|
17
|
-
});
|
|
18
|
-
return {
|
|
19
|
-
permit2Values: {
|
|
20
|
-
details: {
|
|
21
|
-
token: token.address,
|
|
22
|
-
amount: BigInt(token.amount),
|
|
23
|
-
expiration,
|
|
24
|
-
nonce: nonceResult[2],
|
|
25
|
-
},
|
|
26
|
-
spender,
|
|
27
|
-
sigDeadline: deadline,
|
|
28
|
-
},
|
|
29
|
-
nonce: BigInt(nonceResult[2]),
|
|
30
|
-
};
|
|
31
|
-
};
|
|
32
|
-
exports.getPermitSingleValues = getPermitSingleValues;
|
|
33
|
-
const getPermitTransferFromValues = async ({ spender, deadline, chainId, rpcUrls, account, token, permit2Address, firstTokenNonce, }) => {
|
|
34
|
-
let nonce;
|
|
35
|
-
if (token.index === 0) {
|
|
36
|
-
nonce = await (0, nonce_1.getNextPermit2Nonce)(permit2Address, account, chainId, rpcUrls);
|
|
37
|
-
}
|
|
38
|
-
else if (firstTokenNonce === null) {
|
|
39
|
-
throw new Error(`Unable to find nonce for token:${token.address} for PermitTransferFrom`);
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
nonce = BigInt(firstTokenNonce) + BigInt(token.index);
|
|
43
|
-
}
|
|
44
|
-
return {
|
|
45
|
-
permit2Values: {
|
|
46
|
-
permitted: {
|
|
47
|
-
token: token.address,
|
|
48
|
-
amount: BigInt(token.amount),
|
|
49
|
-
},
|
|
50
|
-
spender,
|
|
51
|
-
nonce,
|
|
52
|
-
deadline,
|
|
53
|
-
},
|
|
54
|
-
nonce,
|
|
55
|
-
};
|
|
56
|
-
};
|
|
57
|
-
exports.getPermitTransferFromValues = getPermitTransferFromValues;
|
|
58
|
-
const getPermitBatchTransferFromValues = async ({ spender, deadline, chainId, rpcUrls, account, permit2Address, tokens, }) => {
|
|
59
|
-
const nonce = await (0, nonce_1.getNextPermit2Nonce)(permit2Address, account, chainId, rpcUrls);
|
|
60
|
-
return {
|
|
61
|
-
permit2Values: {
|
|
62
|
-
permitted: tokens.map((token) => ({
|
|
63
|
-
token: token.address,
|
|
64
|
-
amount: BigInt(token.amount),
|
|
65
|
-
})),
|
|
66
|
-
spender,
|
|
67
|
-
nonce,
|
|
68
|
-
deadline,
|
|
69
|
-
},
|
|
70
|
-
nonce,
|
|
71
|
-
};
|
|
72
|
-
};
|
|
73
|
-
exports.getPermitBatchTransferFromValues = getPermitBatchTransferFromValues;
|
|
74
|
-
async function getPermit2Values(params) {
|
|
75
|
-
switch (params.primaryType) {
|
|
76
|
-
case permit_1.permit2PrimaryType.PermitSingle:
|
|
77
|
-
if (params.expiration === undefined || params.expiration === null) {
|
|
78
|
-
throw new Error('Expiration is required for PermitSingle');
|
|
79
|
-
}
|
|
80
|
-
return (0, exports.getPermitSingleValues)(Object.assign(Object.assign({}, params), { token: params.tokens[0], expiration: params.expiration }));
|
|
81
|
-
case permit_1.permit2PrimaryType.PermitWitnessTransferFrom:
|
|
82
|
-
return (0, exports.getPermitTransferFromValues)(Object.assign(Object.assign({}, params), { token: params.tokens[0] }));
|
|
83
|
-
case permit_1.permit2PrimaryType.PermitBatchWitnessTransferFrom:
|
|
84
|
-
return (0, exports.getPermitBatchTransferFromValues)(params);
|
|
85
|
-
default:
|
|
86
|
-
throw new Error(`Invalid permit type: ${params.primaryType}`);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getPermit2WitnessData = void 0;
|
|
4
|
-
const constants_1 = require("../../constants");
|
|
5
|
-
const permit_1 = require("../../types/permit");
|
|
6
|
-
const getPermit2WitnessData = (params) => {
|
|
7
|
-
const { gasless, account, spender } = params;
|
|
8
|
-
let witnessData;
|
|
9
|
-
if (gasless && params.swapDataHash) {
|
|
10
|
-
if (params.txType === constants_1.GaslessTxType.swap) {
|
|
11
|
-
witnessData = {
|
|
12
|
-
witness: {
|
|
13
|
-
txId: params.txId,
|
|
14
|
-
user: account,
|
|
15
|
-
executorFeesHash: params.executorFeesHash,
|
|
16
|
-
swapDataHash: params.swapDataHash,
|
|
17
|
-
},
|
|
18
|
-
witnessTypeName: permit_1.swapGaslessWitnessType.typeName,
|
|
19
|
-
witnessType: permit_1.swapGaslessWitnessType.type,
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
witnessData = {
|
|
24
|
-
witness: {
|
|
25
|
-
txId: params.txId,
|
|
26
|
-
user: account,
|
|
27
|
-
executorFeesHash: params.executorFeesHash,
|
|
28
|
-
swapDataHash: params.swapDataHash,
|
|
29
|
-
adapterDataHash: params.adapterDataHash,
|
|
30
|
-
},
|
|
31
|
-
witnessTypeName: permit_1.bridgeGaslessWitnessType.typeName,
|
|
32
|
-
witnessType: permit_1.bridgeGaslessWitnessType.type,
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
witnessData = {
|
|
38
|
-
witness: {
|
|
39
|
-
owner: account,
|
|
40
|
-
recipient: spender,
|
|
41
|
-
},
|
|
42
|
-
witnessTypeName: permit_1.defaultWitnessType.typeName,
|
|
43
|
-
witnessType: permit_1.defaultWitnessType.type,
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
return { witnessData };
|
|
47
|
-
};
|
|
48
|
-
exports.getPermit2WitnessData = getPermit2WitnessData;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { StatusCodes, TxnStatus } from '../../enums';
|
|
2
|
-
import { HexString } from '../../types';
|
|
3
|
-
import { CustomTypedDataParams } from '../../types/permit';
|
|
4
|
-
export declare const signCustomTypedData: (params: CustomTypedDataParams) => Promise<{
|
|
5
|
-
status: TxnStatus;
|
|
6
|
-
code: StatusCodes;
|
|
7
|
-
data?: {
|
|
8
|
-
signature: HexString;
|
|
9
|
-
message: Record<string, any>;
|
|
10
|
-
};
|
|
11
|
-
}>;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.signCustomTypedData = void 0;
|
|
4
|
-
const enums_1 = require("../../enums");
|
|
5
|
-
const errors_1 = require("../errors");
|
|
6
|
-
const signTypedData_1 = require("../signTypedData");
|
|
7
|
-
const signCustomTypedData = async (params) => {
|
|
8
|
-
try {
|
|
9
|
-
const { account, signer, message, domain, primaryType, types } = params;
|
|
10
|
-
const signature = await (0, signTypedData_1.signTypedData)({
|
|
11
|
-
signer,
|
|
12
|
-
account,
|
|
13
|
-
domain,
|
|
14
|
-
message,
|
|
15
|
-
primaryType,
|
|
16
|
-
types,
|
|
17
|
-
});
|
|
18
|
-
return {
|
|
19
|
-
status: enums_1.TxnStatus.success,
|
|
20
|
-
code: enums_1.StatusCodes.Success,
|
|
21
|
-
data: {
|
|
22
|
-
signature,
|
|
23
|
-
message,
|
|
24
|
-
},
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
catch (error) {
|
|
28
|
-
return (0, errors_1.handleViemTransactionError)({ error });
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
exports.signCustomTypedData = signCustomTypedData;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { StatusCodes, TxnStatus } from '../../enums';
|
|
2
|
-
import { HexString } from '../../types';
|
|
3
|
-
import { Gasless2612PermitParams } from '../../types/permit';
|
|
4
|
-
export declare const signGaslessDzapUserIntent: (params: Gasless2612PermitParams) => Promise<{
|
|
5
|
-
status: TxnStatus;
|
|
6
|
-
code: StatusCodes;
|
|
7
|
-
data?: {
|
|
8
|
-
signature: HexString;
|
|
9
|
-
nonce: bigint;
|
|
10
|
-
deadline: bigint;
|
|
11
|
-
};
|
|
12
|
-
}>;
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.signGaslessDzapUserIntent = void 0;
|
|
4
|
-
const viem_1 = require("viem");
|
|
5
|
-
const constants_1 = require("../../constants");
|
|
6
|
-
const permit_1 = require("../../constants/permit");
|
|
7
|
-
const permit2_1 = require("../../constants/permit2");
|
|
8
|
-
const enums_1 = require("../../enums");
|
|
9
|
-
const eip_2612_1 = require("../../types/eip-2612");
|
|
10
|
-
const date_1 = require("../date");
|
|
11
|
-
const errors_1 = require("../errors");
|
|
12
|
-
const index_1 = require("../index");
|
|
13
|
-
const signTypedData_1 = require("../signTypedData");
|
|
14
|
-
const getSignTypedData = (params) => {
|
|
15
|
-
const { account, deadline, nonce, swapDataHash } = params;
|
|
16
|
-
if (params.txType === constants_1.GaslessTxType.swap) {
|
|
17
|
-
return {
|
|
18
|
-
message: {
|
|
19
|
-
txId: params.txId,
|
|
20
|
-
user: account,
|
|
21
|
-
executorFeesHash: params.executorFeesHash,
|
|
22
|
-
swapDataHash: params.swapDataHash,
|
|
23
|
-
nonce,
|
|
24
|
-
deadline,
|
|
25
|
-
},
|
|
26
|
-
types: eip_2612_1.DzapUserIntentSwapTypes,
|
|
27
|
-
primaryType: permit_1.dZapIntentPrimaryType.SignedGasLessSwapData,
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
else if (swapDataHash) {
|
|
31
|
-
return {
|
|
32
|
-
message: {
|
|
33
|
-
txId: params.txId,
|
|
34
|
-
user: account,
|
|
35
|
-
nonce,
|
|
36
|
-
deadline,
|
|
37
|
-
executorFeesHash: params.executorFeesHash,
|
|
38
|
-
swapDataHash: params.swapDataHash,
|
|
39
|
-
adapterDataHash: params.adapterDataHash,
|
|
40
|
-
},
|
|
41
|
-
types: eip_2612_1.DzapUserIntentSwapBridgeTypes,
|
|
42
|
-
primaryType: permit_1.dZapIntentPrimaryType.SignedGasLessSwapBridgeData,
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
return {
|
|
47
|
-
message: {
|
|
48
|
-
txId: params.txId,
|
|
49
|
-
user: account,
|
|
50
|
-
nonce,
|
|
51
|
-
deadline,
|
|
52
|
-
executorFeesHash: params.executorFeesHash,
|
|
53
|
-
adapterDataHash: params.adapterDataHash,
|
|
54
|
-
},
|
|
55
|
-
types: eip_2612_1.DzapUserIntentBridgeTypes,
|
|
56
|
-
primaryType: permit_1.dZapIntentPrimaryType.SignedGasLessBridgeData,
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
const signGaslessDzapUserIntent = async (params) => {
|
|
61
|
-
try {
|
|
62
|
-
const { chainId, spender, account, signer, rpcUrls } = params;
|
|
63
|
-
const deadline = params.deadline || (0, date_1.generateDeadline)(permit2_1.SignatureExpiryInSecs);
|
|
64
|
-
const contract = (0, viem_1.getContract)({
|
|
65
|
-
abi: (0, index_1.getDZapAbi)('trade', params.contractVersion),
|
|
66
|
-
address: spender,
|
|
67
|
-
client: (0, index_1.getPublicClient)({ chainId, rpcUrls }),
|
|
68
|
-
});
|
|
69
|
-
const nonce = (await contract.read.getNonce([account]));
|
|
70
|
-
const domain = {
|
|
71
|
-
name: permit_1.eip2612GaslessDomain.name,
|
|
72
|
-
version: permit_1.eip2612GaslessDomain.version,
|
|
73
|
-
chainId,
|
|
74
|
-
verifyingContract: spender,
|
|
75
|
-
salt: permit_1.eip2612GaslessDomain.salt,
|
|
76
|
-
};
|
|
77
|
-
const { message, types, primaryType } = getSignTypedData(Object.assign(Object.assign({}, params), { deadline,
|
|
78
|
-
nonce }));
|
|
79
|
-
const signature = await (0, signTypedData_1.signTypedData)({
|
|
80
|
-
signer,
|
|
81
|
-
domain,
|
|
82
|
-
message,
|
|
83
|
-
types,
|
|
84
|
-
account,
|
|
85
|
-
primaryType,
|
|
86
|
-
});
|
|
87
|
-
return {
|
|
88
|
-
status: enums_1.TxnStatus.success,
|
|
89
|
-
code: enums_1.StatusCodes.Success,
|
|
90
|
-
data: {
|
|
91
|
-
signature,
|
|
92
|
-
nonce,
|
|
93
|
-
deadline,
|
|
94
|
-
},
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
catch (error) {
|
|
98
|
-
return (0, errors_1.handleViemTransactionError)({ error });
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
exports.signGaslessDzapUserIntent = signGaslessDzapUserIntent;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Signer, TypedDataField } from 'ethers';
|
|
2
|
-
import { TypedDataDomain, WalletClient } from 'viem';
|
|
3
|
-
import { HexString } from '../types';
|
|
4
|
-
export declare const signTypedData: ({ signer, domain, message, types, account, primaryType, }: {
|
|
5
|
-
signer: WalletClient | Signer;
|
|
6
|
-
domain: TypedDataDomain;
|
|
7
|
-
types: Record<string, Array<TypedDataField>>;
|
|
8
|
-
message: Record<string, any>;
|
|
9
|
-
account: string;
|
|
10
|
-
primaryType: string;
|
|
11
|
-
}) => Promise<HexString>;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.signTypedData = void 0;
|
|
4
|
-
const index_1 = require("./index");
|
|
5
|
-
const signTypedData = async ({ signer, domain, message, types, account, primaryType, }) => {
|
|
6
|
-
let signature;
|
|
7
|
-
if ((0, index_1.isTypeSigner)(signer)) {
|
|
8
|
-
signature = (await signer._signTypedData(domain, types, message));
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
signature = await signer.signTypedData({
|
|
12
|
-
account: account,
|
|
13
|
-
domain,
|
|
14
|
-
message,
|
|
15
|
-
primaryType,
|
|
16
|
-
types,
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
return signature;
|
|
20
|
-
};
|
|
21
|
-
exports.signTypedData = signTypedData;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { PriceService } from '../service/price';
|
|
2
|
-
import { ChainData, HexString, TokenInfo, TokenResponse } from '../types';
|
|
3
|
-
export declare const isNativeCurrency: (address: string, chainConfig: ChainData) => boolean;
|
|
4
|
-
export declare const sortByBalanceInUsd: (tokenEntries: [string, TokenInfo][]) => TokenResponse;
|
|
5
|
-
export declare const updateTokenListPrices: (tokens: TokenResponse, chainId: number, chainConfig: ChainData, priceService: PriceService) => Promise<TokenResponse>;
|
|
6
|
-
export declare function isNonEVMChain(chainId: number, chainConfig: ChainData): boolean;
|
|
7
|
-
export declare const getChecksumAddress: (address: string) => HexString;
|
|
8
|
-
export declare const formatToken: <T extends HexString | string = string>(token: T, nativeTokenAddress?: T) => T;
|
package/dist/src/utils/tokens.js
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.formatToken = exports.getChecksumAddress = exports.updateTokenListPrices = exports.sortByBalanceInUsd = exports.isNativeCurrency = void 0;
|
|
4
|
-
exports.isNonEVMChain = isNonEVMChain;
|
|
5
|
-
const viem_1 = require("viem");
|
|
6
|
-
const address_1 = require("../constants/address");
|
|
7
|
-
const IPriceProvider_1 = require("../service/price/types/IPriceProvider");
|
|
8
|
-
const isNativeCurrency = (address, chainConfig) => {
|
|
9
|
-
if (!chainConfig)
|
|
10
|
-
return false;
|
|
11
|
-
return Object.values(chainConfig).some((chain) => chain.isEnabled && chain.nativeToken.contract === address);
|
|
12
|
-
};
|
|
13
|
-
exports.isNativeCurrency = isNativeCurrency;
|
|
14
|
-
const sortByBalanceInUsd = (tokenEntries) => {
|
|
15
|
-
const { withBalanceInUsd, withoutBalanceInUsd } = tokenEntries.reduce((acc, [key, token]) => {
|
|
16
|
-
if (token.balanceInUsd !== null) {
|
|
17
|
-
acc.withBalanceInUsd.push([key, token]);
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
acc.withoutBalanceInUsd.push([key, token]);
|
|
21
|
-
}
|
|
22
|
-
return acc;
|
|
23
|
-
}, { withBalanceInUsd: [], withoutBalanceInUsd: [] });
|
|
24
|
-
withBalanceInUsd.sort((a, b) => b[1].balanceInUsd - a[1].balanceInUsd);
|
|
25
|
-
return Object.fromEntries([...withBalanceInUsd, ...withoutBalanceInUsd]);
|
|
26
|
-
};
|
|
27
|
-
exports.sortByBalanceInUsd = sortByBalanceInUsd;
|
|
28
|
-
const updateTokenListPrices = async (tokens, chainId, chainConfig, priceService) => {
|
|
29
|
-
try {
|
|
30
|
-
const tokensWithoutPrice = Object.values(tokens)
|
|
31
|
-
.filter(({ price, balance }) => (!price || price === '0') && balance !== '0')
|
|
32
|
-
.map(({ contract }) => contract);
|
|
33
|
-
if (tokensWithoutPrice.length === 0)
|
|
34
|
-
return tokens;
|
|
35
|
-
const fetchedPrices = await priceService.getPrices({
|
|
36
|
-
chainId,
|
|
37
|
-
tokenAddresses: tokensWithoutPrice,
|
|
38
|
-
chainConfig,
|
|
39
|
-
notAllowSources: [IPriceProvider_1.priceProviders.dZap],
|
|
40
|
-
});
|
|
41
|
-
tokensWithoutPrice.forEach((token) => {
|
|
42
|
-
tokens[token].price = fetchedPrices[token] || tokens[token].price;
|
|
43
|
-
tokens[token].balanceInUsd = fetchedPrices[token]
|
|
44
|
-
? parseFloat(fetchedPrices[token]) * parseFloat((0, viem_1.formatUnits)(BigInt(tokens[token].balance), tokens[token].decimals))
|
|
45
|
-
: null;
|
|
46
|
-
});
|
|
47
|
-
return (0, exports.sortByBalanceInUsd)(Object.entries(tokens));
|
|
48
|
-
}
|
|
49
|
-
catch (error) {
|
|
50
|
-
console.error('Error fetching token prices:', error);
|
|
51
|
-
return tokens;
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
exports.updateTokenListPrices = updateTokenListPrices;
|
|
55
|
-
function isNonEVMChain(chainId, chainConfig) {
|
|
56
|
-
var _a;
|
|
57
|
-
return ((_a = chainConfig[chainId]) === null || _a === void 0 ? void 0 : _a.chainType) !== 'evm';
|
|
58
|
-
}
|
|
59
|
-
const isNativeAddress = (contract) => address_1.nativeTokens.includes(contract);
|
|
60
|
-
const getChecksumAddress = (address) => (0, viem_1.getAddress)(address);
|
|
61
|
-
exports.getChecksumAddress = getChecksumAddress;
|
|
62
|
-
const formatToken = (token, nativeTokenAddress = viem_1.zeroAddress) => {
|
|
63
|
-
if (!(0, viem_1.isAddress)(token)) {
|
|
64
|
-
return token;
|
|
65
|
-
}
|
|
66
|
-
else if (isNativeAddress(token)) {
|
|
67
|
-
return nativeTokenAddress;
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
return (0, exports.getChecksumAddress)(token);
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
exports.formatToken = formatToken;
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { PriceService } from '../service/price';
|
|
2
|
-
import { ChainData, TradeQuotesRequest, TradeQuotesResponse } from '../types';
|
|
3
|
-
export declare const updateQuotes: (quotes: TradeQuotesResponse, request: TradeQuotesRequest, priceService: PriceService, chainConfig: ChainData) => Promise<TradeQuotesResponse>;
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.updateQuotes = void 0;
|
|
4
|
-
const decimal_js_1 = require("decimal.js");
|
|
5
|
-
const IPriceProvider_1 = require("../service/price/types/IPriceProvider");
|
|
6
|
-
const amount_1 = require("./amount");
|
|
7
|
-
const updateQuotes = async (quotes, request, priceService, chainConfig) => {
|
|
8
|
-
var _a, _b;
|
|
9
|
-
const tokensWithoutPrice = {};
|
|
10
|
-
Object.values(quotes).forEach((quote) => {
|
|
11
|
-
if (quote.tokensWithoutPrice) {
|
|
12
|
-
Object.entries(quote.tokensWithoutPrice).forEach(([chainIdStr, tokens]) => {
|
|
13
|
-
const chainId = Number(chainIdStr);
|
|
14
|
-
if (!tokensWithoutPrice[chainId]) {
|
|
15
|
-
tokensWithoutPrice[chainId] = new Set();
|
|
16
|
-
}
|
|
17
|
-
tokens.forEach((token) => tokensWithoutPrice[chainId].add(token));
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
if (Object.keys(tokensWithoutPrice).length === 0) {
|
|
22
|
-
return quotes;
|
|
23
|
-
}
|
|
24
|
-
const tokensPrice = Object.fromEntries(await Promise.all(Object.entries(tokensWithoutPrice).map(async ([chainIdStr, tokens]) => {
|
|
25
|
-
const chainId = Number(chainIdStr);
|
|
26
|
-
const tokenAddresses = Array.from(tokens);
|
|
27
|
-
const prices = await priceService.getPrices({ chainId, tokenAddresses, chainConfig, notAllowSources: [IPriceProvider_1.priceProviders.dZap] });
|
|
28
|
-
return [chainId, prices];
|
|
29
|
-
})));
|
|
30
|
-
for (const quote of Object.values(quotes)) {
|
|
31
|
-
if (!quote.quoteRates || !Object.keys(quote.quoteRates).length) {
|
|
32
|
-
continue;
|
|
33
|
-
}
|
|
34
|
-
let isSorted = true;
|
|
35
|
-
for (const data of Object.values(quote.quoteRates)) {
|
|
36
|
-
const srcDecimals = data.srcToken.decimals;
|
|
37
|
-
const destDecimals = data.destToken.decimals;
|
|
38
|
-
const toChain = data.destToken.chainId;
|
|
39
|
-
if (!Number(data.srcAmountUSD)) {
|
|
40
|
-
isSorted = false;
|
|
41
|
-
const srcTokenPricePerUnit = ((_a = tokensPrice[request.fromChain]) === null || _a === void 0 ? void 0 : _a[data.srcToken.address]) || '0';
|
|
42
|
-
data.srcAmountUSD = (0, amount_1.calculateAmountUSD)(data.srcAmount, srcDecimals, srcTokenPricePerUnit);
|
|
43
|
-
}
|
|
44
|
-
if (!Number(data.destAmountUSD)) {
|
|
45
|
-
isSorted = false;
|
|
46
|
-
const destTokenPricePerUnit = ((_b = tokensPrice[toChain]) === null || _b === void 0 ? void 0 : _b[data.destToken.address]) || '0';
|
|
47
|
-
data.destAmountUSD = (0, amount_1.calculateAmountUSD)(data.destAmount, destDecimals, destTokenPricePerUnit);
|
|
48
|
-
}
|
|
49
|
-
if (Number(data.srcAmountUSD) && Number(data.destAmountUSD)) {
|
|
50
|
-
const priceImpact = new decimal_js_1.default(data.destAmountUSD).minus(data.srcAmountUSD).div(data.srcAmountUSD).mul(100);
|
|
51
|
-
data.priceImpactPercent = priceImpact.toFixed(2);
|
|
52
|
-
}
|
|
53
|
-
const { isUpdated, fee } = (0, amount_1.updateFee)(data.fee, tokensPrice);
|
|
54
|
-
isSorted = isSorted && !isUpdated;
|
|
55
|
-
data.fee = fee;
|
|
56
|
-
data.path = (0, amount_1.updatePath)(data, tokensPrice);
|
|
57
|
-
}
|
|
58
|
-
if (Object.keys(quote.tokensWithoutPrice).length !== 0 && isSorted === false) {
|
|
59
|
-
quote.quoteRates = Object.fromEntries(Object.entries(quote.quoteRates).sort(([, a], [, b]) => {
|
|
60
|
-
const aNetAmount = (0, amount_1.calculateNetAmountUsd)(a);
|
|
61
|
-
const bNetAmount = (0, amount_1.calculateNetAmountUsd)(b);
|
|
62
|
-
return Number(bNetAmount) - Number(aNetAmount);
|
|
63
|
-
}));
|
|
64
|
-
quote.recommendedSource = Object.keys(quote.quoteRates)[0];
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
return quotes;
|
|
68
|
-
};
|
|
69
|
-
exports.updateQuotes = updateQuotes;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./path"), exports);
|
|
18
|
-
__exportStar(require("./step"), exports);
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.zapPathAction = void 0;
|
|
4
|
-
exports.zapPathAction = {
|
|
5
|
-
swap: 'swap',
|
|
6
|
-
bridge: 'bridge',
|
|
7
|
-
deposit: 'deposit',
|
|
8
|
-
withdraw: 'withdraw',
|
|
9
|
-
stake: 'stake',
|
|
10
|
-
unstake: 'unstake',
|
|
11
|
-
};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ZAP_ENDPOINTS = void 0;
|
|
4
|
-
exports.ZAP_ENDPOINTS = {
|
|
5
|
-
status: '/status',
|
|
6
|
-
config: {
|
|
7
|
-
chains: '/config/chains',
|
|
8
|
-
providers: '/config/providers',
|
|
9
|
-
},
|
|
10
|
-
pools: '/pools',
|
|
11
|
-
poolDetails: '/pool/details',
|
|
12
|
-
positions: '/user/positions',
|
|
13
|
-
buildTx: '/buildTx',
|
|
14
|
-
quote: '/quote',
|
|
15
|
-
broadcast: '/broadcast',
|
|
16
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/test/build.test.js
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const dZapClient_1 = require("../src/dZapClient");
|
|
4
|
-
describe('DZapClient - buildTxn', () => {
|
|
5
|
-
let client;
|
|
6
|
-
beforeAll(() => {
|
|
7
|
-
client = dZapClient_1.default.getInstance();
|
|
8
|
-
});
|
|
9
|
-
it('should build a cross-chain transaction', async () => {
|
|
10
|
-
const request = {
|
|
11
|
-
fromChain: 42161,
|
|
12
|
-
data: [
|
|
13
|
-
{
|
|
14
|
-
amount: '374980',
|
|
15
|
-
srcToken: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831',
|
|
16
|
-
destDecimals: 18,
|
|
17
|
-
srcDecimals: 6,
|
|
18
|
-
protocol: 'relayLink',
|
|
19
|
-
destToken: '0x4200000000000000000000000000000000000006',
|
|
20
|
-
slippage: 1,
|
|
21
|
-
recipient: '0x99BCEBf44433E901597D9fCb16E799a4847519f6',
|
|
22
|
-
toChain: 8453,
|
|
23
|
-
},
|
|
24
|
-
],
|
|
25
|
-
gasless: false,
|
|
26
|
-
refundee: '0x99BCEBf44433E901597D9fCb16E799a4847519f6',
|
|
27
|
-
sender: '0x99BCEBf44433E901597D9fCb16E799a4847519f6',
|
|
28
|
-
publicKey: '0x99BCEBf44433E901597D9fCb16E799a4847519f6',
|
|
29
|
-
};
|
|
30
|
-
const result = await client.buildTradeTxn(request);
|
|
31
|
-
expect(result).toBeDefined();
|
|
32
|
-
expect(result.data).toBeDefined();
|
|
33
|
-
expect(result.to).toBeDefined();
|
|
34
|
-
expect(result.from).toBeDefined();
|
|
35
|
-
expect(result.chainId).toBeDefined();
|
|
36
|
-
});
|
|
37
|
-
it('should build a same-chain transaction', async () => {
|
|
38
|
-
const request = {
|
|
39
|
-
fromChain: 42161,
|
|
40
|
-
data: [
|
|
41
|
-
{
|
|
42
|
-
amount: '374980',
|
|
43
|
-
srcToken: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831',
|
|
44
|
-
destDecimals: 18,
|
|
45
|
-
srcDecimals: 6,
|
|
46
|
-
protocol: 'sushiswap',
|
|
47
|
-
destToken: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',
|
|
48
|
-
slippage: 1,
|
|
49
|
-
recipient: '0x99BCEBf44433E901597D9fCb16E799a4847519f6',
|
|
50
|
-
toChain: 42161,
|
|
51
|
-
},
|
|
52
|
-
],
|
|
53
|
-
gasless: false,
|
|
54
|
-
refundee: '0x99BCEBf44433E901597D9fCb16E799a4847519f6',
|
|
55
|
-
sender: '0x99BCEBf44433E901597D9fCb16E799a4847519f6',
|
|
56
|
-
publicKey: '0x99BCEBf44433E901597D9fCb16E799a4847519f6',
|
|
57
|
-
};
|
|
58
|
-
const result = await client.buildTradeTxn(request);
|
|
59
|
-
expect(result).toBeDefined();
|
|
60
|
-
expect(result.data).toBeDefined();
|
|
61
|
-
expect(result.to).toBeDefined();
|
|
62
|
-
expect(result.from).toBeDefined();
|
|
63
|
-
expect(result.chainId).toBeDefined();
|
|
64
|
-
});
|
|
65
|
-
});
|