@dzapio/sdk 2.0.6 → 2.0.7
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/examples/chain-utils.d.ts +1 -0
- package/dist/examples/chain-utils.js +20 -0
- package/dist/examples/permit-utils.d.ts +1 -0
- package/dist/examples/permit-utils.js +90 -0
- package/dist/examples/token-utils.d.ts +1 -0
- package/dist/examples/token-utils.js +41 -0
- package/dist/examples/trade-operations.d.ts +1 -0
- package/dist/examples/trade-operations.js +89 -0
- package/dist/examples/zap-operations.d.ts +1 -0
- package/dist/examples/zap-operations.js +69 -0
- package/dist/src/api/index.d.ts +27 -0
- package/dist/src/api/index.js +146 -0
- package/dist/src/artifacts/ERC20Permit.d.ts +374 -0
- package/dist/src/artifacts/ERC20Permit.js +469 -0
- package/dist/src/artifacts/Permit2.d.ts +700 -0
- package/dist/src/artifacts/Permit2.js +904 -0
- package/dist/src/artifacts/Permit2Proxy.d.ts +416 -0
- package/dist/src/artifacts/Permit2Proxy.js +206 -0
- package/dist/src/artifacts/default/DZapCoreAbi.d.ts +2 -0
- package/dist/src/artifacts/default/DZapCoreAbi.js +3079 -0
- package/dist/src/artifacts/default/DZapCoreV2Abi.d.ts +2 -0
- package/dist/src/artifacts/default/DZapCoreV2Abi.js +3719 -0
- package/dist/src/artifacts/default/DZapDcaAbi.d.ts +2 -0
- package/dist/src/artifacts/default/DZapDcaAbi.js +1829 -0
- package/dist/src/artifacts/default/Permit2Abi.d.ts +700 -0
- package/dist/src/artifacts/default/Permit2Abi.js +904 -0
- package/dist/src/artifacts/default/erc20Abi.d.ts +165 -0
- package/dist/src/artifacts/default/erc20Abi.js +220 -0
- package/dist/src/artifacts/default/index.d.ts +6 -0
- package/dist/src/artifacts/default/index.js +13 -0
- package/dist/src/artifacts/index.d.ts +2 -0
- package/dist/src/artifacts/index.js +9 -0
- package/dist/src/artifacts/staging/DZapCoreSwapAbi.d.ts +2 -0
- package/dist/src/artifacts/staging/DZapCoreSwapAbi.js +3079 -0
- package/dist/src/artifacts/staging/index.d.ts +2 -0
- package/dist/src/artifacts/staging/index.js +5 -0
- package/dist/src/axios/baseClient.d.ts +2 -0
- package/dist/src/axios/baseClient.js +7 -0
- package/dist/src/axios/index.d.ts +8 -0
- package/dist/src/axios/index.js +34 -0
- package/dist/src/chains/definitions/arthera.d.ts +35 -0
- package/dist/src/chains/definitions/arthera.js +28 -0
- package/dist/src/chains/definitions/fiveIre.d.ts +35 -0
- package/dist/src/chains/definitions/fiveIre.js +28 -0
- package/dist/src/chains/definitions/hyperEvm.d.ts +35 -0
- package/dist/src/chains/definitions/hyperEvm.js +26 -0
- package/dist/src/chains/definitions/hyperliquid.d.ts +35 -0
- package/dist/src/chains/definitions/hyperliquid.js +26 -0
- package/dist/src/chains/definitions/stable.d.ts +36 -0
- package/dist/src/chains/definitions/stable.js +31 -0
- package/dist/src/chains/index.d.ts +179 -0
- package/dist/src/chains/index.js +24 -0
- package/dist/src/config/index.d.ts +36 -0
- package/dist/src/config/index.js +59 -0
- package/dist/src/constants/address.d.ts +13 -0
- package/dist/src/constants/address.js +29 -0
- package/dist/src/constants/approval.d.ts +7 -0
- package/dist/src/constants/approval.js +17 -0
- package/dist/src/constants/axios.d.ts +2 -0
- package/dist/src/constants/axios.js +5 -0
- package/dist/src/constants/chains.d.ts +31 -0
- package/dist/src/constants/chains.js +34 -0
- package/dist/src/constants/contract.d.ts +6 -0
- package/dist/src/constants/contract.js +18 -0
- package/dist/src/constants/erc20.d.ts +25 -0
- package/dist/src/constants/erc20.js +28 -0
- package/dist/src/constants/httpMethods.d.ts +2 -0
- package/dist/src/constants/httpMethods.js +5 -0
- package/dist/src/constants/index.d.ts +48 -0
- package/dist/src/constants/index.js +53 -0
- package/dist/src/constants/permit.d.ts +29 -0
- package/dist/src/constants/permit.js +33 -0
- package/dist/src/constants/permit2.d.ts +2 -0
- package/dist/src/constants/permit2.js +5 -0
- package/dist/src/constants/rpc.d.ts +2 -0
- package/dist/src/constants/rpc.js +5 -0
- package/dist/src/constants/urlConstants.d.ts +15 -0
- package/dist/src/constants/urlConstants.js +18 -0
- package/dist/src/dZapClient/index.d.ts +1015 -0
- package/dist/src/dZapClient/index.js +255 -0
- package/dist/src/enums/index.d.ts +46 -0
- package/dist/src/enums/index.js +57 -0
- package/dist/src/index.d.ts +17 -0
- package/dist/src/index.js +48 -0
- package/dist/src/service/cache/cacheProvider.d.ts +10 -0
- package/dist/src/service/cache/cacheProvider.js +72 -0
- package/dist/src/service/cache/constant.d.ts +2 -0
- package/dist/src/service/cache/constant.js +6 -0
- package/dist/src/service/price/index.d.ts +16 -0
- package/dist/src/service/price/index.js +80 -0
- package/dist/src/service/price/provider/coingecko/config.d.ts +6 -0
- package/dist/src/service/price/provider/coingecko/config.js +9 -0
- package/dist/src/service/price/provider/coingecko/index.d.ts +9 -0
- package/dist/src/service/price/provider/coingecko/index.js +66 -0
- package/dist/src/service/price/provider/defiLlama/config.d.ts +3 -0
- package/dist/src/service/price/provider/defiLlama/config.js +6 -0
- package/dist/src/service/price/provider/defiLlama/index.d.ts +9 -0
- package/dist/src/service/price/provider/defiLlama/index.js +60 -0
- package/dist/src/service/price/provider/defiLlama/types.d.ts +11 -0
- package/dist/src/service/price/provider/defiLlama/types.js +2 -0
- package/dist/src/service/price/provider/dzap/index.d.ts +6 -0
- package/dist/src/service/price/provider/dzap/index.js +22 -0
- package/dist/src/service/price/types/IPriceProvider.d.ts +14 -0
- package/dist/src/service/price/types/IPriceProvider.js +8 -0
- package/dist/src/transactionHandlers/generic.d.ts +24 -0
- package/dist/src/transactionHandlers/generic.js +48 -0
- package/dist/src/transactionHandlers/permit.d.ts +61 -0
- package/dist/src/transactionHandlers/permit.js +177 -0
- package/dist/src/transactionHandlers/trade.d.ts +24 -0
- package/dist/src/transactionHandlers/trade.js +263 -0
- package/dist/src/transactionHandlers/zap.d.ts +37 -0
- package/dist/src/transactionHandlers/zap.js +135 -0
- package/dist/src/types/axiosClient.d.ts +6 -0
- package/dist/src/types/axiosClient.js +2 -0
- package/dist/src/types/btc.d.ts +45 -0
- package/dist/src/types/btc.js +2 -0
- package/dist/src/types/chains.d.ts +3 -0
- package/dist/src/types/chains.js +2 -0
- package/dist/src/types/contract.d.ts +14 -0
- package/dist/src/types/contract.js +2 -0
- package/dist/src/types/eip-2612.d.ts +24 -0
- package/dist/src/types/eip-2612.js +58 -0
- package/dist/src/types/index.d.ts +489 -0
- package/dist/src/types/index.js +8 -0
- package/dist/src/types/permit.d.ts +191 -0
- package/dist/src/types/permit.js +54 -0
- package/dist/src/types/wallet.d.ts +2 -0
- package/dist/src/types/wallet.js +2 -0
- package/dist/src/types/zap/build.d.ts +44 -0
- package/dist/src/types/zap/build.js +2 -0
- package/dist/src/types/zap/index.d.ts +34 -0
- package/dist/src/types/zap/index.js +23 -0
- package/dist/src/types/zap/path.d.ts +33 -0
- package/dist/src/types/zap/path.js +2 -0
- package/dist/src/types/zap/pool.d.ts +39 -0
- package/dist/src/types/zap/pool.js +2 -0
- package/dist/src/types/zap/position.d.ts +27 -0
- package/dist/src/types/zap/position.js +2 -0
- package/dist/src/types/zap/quote.d.ts +7 -0
- package/dist/src/types/zap/quote.js +2 -0
- package/dist/src/types/zap/status.d.ts +28 -0
- package/dist/src/types/zap/status.js +2 -0
- package/dist/src/types/zap/step.d.ts +23 -0
- package/dist/src/types/zap/step.js +2 -0
- package/dist/src/utils/amount.d.ts +82 -0
- package/dist/src/utils/amount.js +71 -0
- package/dist/src/utils/axios.d.ts +13 -0
- package/dist/src/utils/axios.js +42 -0
- package/dist/src/utils/date.d.ts +1 -0
- package/dist/src/utils/date.js +8 -0
- package/dist/src/utils/decoder/swap/abis.d.ts +643 -0
- package/dist/src/utils/decoder/swap/abis.js +831 -0
- package/dist/src/utils/decoder/swap/inputDataDecoder.d.ts +14 -0
- package/dist/src/utils/decoder/swap/inputDataDecoder.js +124 -0
- package/dist/src/utils/eip-2612/eip2612Permit.d.ts +23 -0
- package/dist/src/utils/eip-2612/eip2612Permit.js +121 -0
- package/dist/src/utils/eip-5792/batchApproveTokens.d.ts +21 -0
- package/dist/src/utils/eip-5792/batchApproveTokens.js +49 -0
- package/dist/src/utils/eip-5792/index.d.ts +3 -0
- package/dist/src/utils/eip-5792/index.js +9 -0
- package/dist/src/utils/eip-5792/isBatchTxnSupportedByWallet.d.ts +6 -0
- package/dist/src/utils/eip-5792/isBatchTxnSupportedByWallet.js +22 -0
- package/dist/src/utils/eip-5792/sendBatchCalls.d.ts +10 -0
- package/dist/src/utils/eip-5792/sendBatchCalls.js +25 -0
- package/dist/src/utils/eip-5792/waitForBatchTransactionReceipt.d.ts +4 -0
- package/dist/src/utils/eip-5792/waitForBatchTransactionReceipt.js +26 -0
- package/dist/src/utils/encodeApproveCall.d.ts +6 -0
- package/dist/src/utils/encodeApproveCall.js +13 -0
- package/dist/src/utils/erc20.d.ts +65 -0
- package/dist/src/utils/erc20.js +153 -0
- package/dist/src/utils/errors.d.ts +17 -0
- package/dist/src/utils/errors.js +78 -0
- package/dist/src/utils/index.d.ts +4566 -0
- package/dist/src/utils/index.js +196 -0
- package/dist/src/utils/multicall.d.ts +14 -0
- package/dist/src/utils/multicall.js +25 -0
- package/dist/src/utils/permit2/domain.d.ts +2 -0
- package/dist/src/utils/permit2/domain.js +11 -0
- package/dist/src/utils/permit2/index.d.ts +4 -0
- package/dist/src/utils/permit2/index.js +97 -0
- package/dist/src/utils/permit2/nonce.d.ts +15 -0
- package/dist/src/utils/permit2/nonce.js +61 -0
- package/dist/src/utils/permit2/permitData.d.ts +23 -0
- package/dist/src/utils/permit2/permitData.js +85 -0
- package/dist/src/utils/permit2/values.d.ts +54 -0
- package/dist/src/utils/permit2/values.js +88 -0
- package/dist/src/utils/permit2/witnessData.d.ts +4 -0
- package/dist/src/utils/permit2/witnessData.js +48 -0
- package/dist/src/utils/signIntent/custom.d.ts +11 -0
- package/dist/src/utils/signIntent/custom.js +31 -0
- package/dist/src/utils/signIntent/gasless.d.ts +12 -0
- package/dist/src/utils/signIntent/gasless.js +101 -0
- package/dist/src/utils/signTypedData.d.ts +11 -0
- package/dist/src/utils/signTypedData.js +21 -0
- package/dist/src/utils/tokens.d.ts +8 -0
- package/dist/src/utils/tokens.js +73 -0
- package/dist/src/utils/updateQuotes.d.ts +3 -0
- package/dist/src/utils/updateQuotes.js +69 -0
- package/dist/src/zap/constants/index.d.ts +2 -0
- package/dist/src/zap/constants/index.js +18 -0
- package/dist/src/zap/constants/path.d.ts +8 -0
- package/dist/src/zap/constants/path.js +11 -0
- package/dist/src/zap/constants/step.d.ts +3 -0
- package/dist/src/zap/constants/step.js +6 -0
- package/dist/src/zap/constants/urls.d.ts +13 -0
- package/dist/src/zap/constants/urls.js +16 -0
- package/dist/test/build.test.d.ts +1 -0
- package/dist/test/build.test.js +65 -0
- package/dist/test/permit/permit2Nonce.test.d.ts +2 -0
- package/dist/test/permit/permit2Nonce.test.js +96 -0
- package/dist/test/quotes.test.d.ts +1 -0
- package/dist/test/quotes.test.js +59 -0
- package/dist/test/status.test.d.ts +1 -0
- package/dist/test/status.test.js +37 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getNextPermit2NonceFromProxy = void 0;
|
|
4
|
+
const Permit2Proxy_1 = require("../../src/artifacts/Permit2Proxy");
|
|
5
|
+
const utils_1 = require("../../src/utils");
|
|
6
|
+
const chains_1 = require("../../src/chains");
|
|
7
|
+
const permit2_1 = require("../../src/utils/permit2");
|
|
8
|
+
const nonce_1 = require("../../src/utils/permit2/nonce");
|
|
9
|
+
const permitProxy = {
|
|
10
|
+
42161: '0x89c6340B1a1f4b25D36cd8B063D49045caF3f818',
|
|
11
|
+
8453: '0x89c6340B1a1f4b25D36cd8B063D49045caF3f818',
|
|
12
|
+
33139: '0x89c6340B1a1f4b25D36cd8B063D49045caF3f818',
|
|
13
|
+
42220: '0x89c6340B1a1f4b25D36cd8B063D49045caF3f818',
|
|
14
|
+
747474: '0x628d684D57c73A5D8cA77F455Fdf2CC8Bd503c16',
|
|
15
|
+
};
|
|
16
|
+
const getNextPermit2NonceFromProxy = async (permitAddress, account, chainId, rpcUrls) => {
|
|
17
|
+
try {
|
|
18
|
+
const address = permitProxy[chainId];
|
|
19
|
+
if (!address) {
|
|
20
|
+
throw new Error(`No permit2 proxy address for chainId ${chainId}`);
|
|
21
|
+
}
|
|
22
|
+
const nonce = await (0, utils_1.getPublicClient)({ chainId, rpcUrls }).readContract({
|
|
23
|
+
address: permitProxy[chainId],
|
|
24
|
+
abi: Permit2Proxy_1.permit2ProxyAbi,
|
|
25
|
+
functionName: 'nextNonce',
|
|
26
|
+
args: [account],
|
|
27
|
+
});
|
|
28
|
+
return BigInt(nonce);
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
console.error('Unable to get next permit2 nonce', { error });
|
|
32
|
+
throw error;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
exports.getNextPermit2NonceFromProxy = getNextPermit2NonceFromProxy;
|
|
36
|
+
describe('Permit2 Nonce Tests', () => {
|
|
37
|
+
const account = '0x4ab9F97585B0161f1aDa8484B209C44be54dad73';
|
|
38
|
+
Object.entries(permitProxy).forEach(([chainIdStr, proxyAddress]) => {
|
|
39
|
+
var _a;
|
|
40
|
+
const chainId = parseInt(chainIdStr);
|
|
41
|
+
const chainName = ((_a = chains_1.viemChainsById[chainId]) === null || _a === void 0 ? void 0 : _a.name) || `Chain ${chainId}`;
|
|
42
|
+
describe(`Testing ${chainName} (Chain ID: ${chainId})`, () => {
|
|
43
|
+
it(`should get next nonce from proxy and our implementation on ${chainName}`, async () => {
|
|
44
|
+
var _a, _b, _c;
|
|
45
|
+
if (!chains_1.viemChainsById[chainId]) {
|
|
46
|
+
console.warn(`Skipping test for chain ${chainId} - not found in viemChainsById`);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const rpcUrls = (_c = (_b = (_a = chains_1.viemChainsById[chainId]) === null || _a === void 0 ? void 0 : _a.rpcUrls) === null || _b === void 0 ? void 0 : _b.default) === null || _c === void 0 ? void 0 : _c.http;
|
|
50
|
+
if (!rpcUrls || rpcUrls.length === 0) {
|
|
51
|
+
console.warn(`Skipping test for chain ${chainId} - no RPC URLs available`);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
try {
|
|
55
|
+
const urls = [...rpcUrls];
|
|
56
|
+
const permitAddress = (0, permit2_1.getPermit2Address)(chainId);
|
|
57
|
+
if (!permitAddress) {
|
|
58
|
+
throw new Error(`No Permit2 address found for chain ${chainId}`);
|
|
59
|
+
}
|
|
60
|
+
const proxyNonce = await (0, exports.getNextPermit2NonceFromProxy)(permitAddress, account, chainId, urls);
|
|
61
|
+
const ourNonce = await (0, nonce_1.getNextPermit2Nonce)(permitAddress, account, chainId, urls);
|
|
62
|
+
expect(proxyNonce).toBeDefined();
|
|
63
|
+
expect(ourNonce).toBeDefined();
|
|
64
|
+
expect(typeof proxyNonce).toBe('bigint');
|
|
65
|
+
expect(typeof ourNonce).toBe('bigint');
|
|
66
|
+
console.log(`${chainName}: Proxy Nonce = ${proxyNonce}, Our Nonce = ${ourNonce}`);
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
fail(`Failed to get nonce for chain ${chainId}: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
70
|
+
}
|
|
71
|
+
}, 30000);
|
|
72
|
+
});
|
|
73
|
+
it('should get consistent nonces across multiple calls', async () => {
|
|
74
|
+
var _a, _b, _c;
|
|
75
|
+
const testChainId = 42161;
|
|
76
|
+
const rpcUrls = (_c = (_b = (_a = chains_1.viemChainsById[testChainId]) === null || _a === void 0 ? void 0 : _a.rpcUrls) === null || _b === void 0 ? void 0 : _b.default) === null || _c === void 0 ? void 0 : _c.http;
|
|
77
|
+
if (!rpcUrls) {
|
|
78
|
+
console.warn('Skipping consistency test - no RPC URLs for Arbitrum');
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
const permitAddress = (0, permit2_1.getPermit2Address)(testChainId);
|
|
82
|
+
const urls = [...rpcUrls];
|
|
83
|
+
const results = await Promise.all([
|
|
84
|
+
(0, nonce_1.getNextPermit2Nonce)(permitAddress, account, testChainId, urls),
|
|
85
|
+
(0, nonce_1.getNextPermit2Nonce)(permitAddress, account, testChainId, urls),
|
|
86
|
+
(0, nonce_1.getNextPermit2Nonce)(permitAddress, account, testChainId, urls),
|
|
87
|
+
]);
|
|
88
|
+
results.forEach((nonce, index) => {
|
|
89
|
+
expect(nonce).toBeDefined();
|
|
90
|
+
if (index > 0) {
|
|
91
|
+
expect(nonce).toEqual(results[0]);
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
}, 30000);
|
|
95
|
+
});
|
|
96
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const dZapClient_1 = require("../src/dZapClient");
|
|
4
|
+
describe('DZapClient - getQuotes', () => {
|
|
5
|
+
let client;
|
|
6
|
+
beforeAll(() => {
|
|
7
|
+
client = dZapClient_1.default.getInstance();
|
|
8
|
+
});
|
|
9
|
+
it('should return quotes for a cross-chain swap', async () => {
|
|
10
|
+
const request = {
|
|
11
|
+
fromChain: 42161,
|
|
12
|
+
account: '0x99BCEBf44433E901597D9fCb16E799a4847519f6',
|
|
13
|
+
data: [
|
|
14
|
+
{
|
|
15
|
+
amount: '374980',
|
|
16
|
+
destDecimals: 18,
|
|
17
|
+
destToken: '0x4200000000000000000000000000000000000006',
|
|
18
|
+
slippage: 1,
|
|
19
|
+
srcDecimals: 6,
|
|
20
|
+
srcToken: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831',
|
|
21
|
+
toChain: 8453,
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
};
|
|
25
|
+
const quotes = await client.getTradeQuotes(request);
|
|
26
|
+
const quoteKeys = Object.keys(quotes);
|
|
27
|
+
expect(quoteKeys.length).toBeGreaterThan(0);
|
|
28
|
+
const firstQuote = quotes[quoteKeys[0]];
|
|
29
|
+
expect(firstQuote).toBeDefined();
|
|
30
|
+
expect(firstQuote.quoteRates).toBeDefined();
|
|
31
|
+
const quoteRatesKeys = Object.keys(firstQuote.quoteRates);
|
|
32
|
+
expect(quoteRatesKeys.length).toBeGreaterThan(0);
|
|
33
|
+
});
|
|
34
|
+
it('should return quotes for a same-chain swap', async () => {
|
|
35
|
+
const request = {
|
|
36
|
+
fromChain: 42161,
|
|
37
|
+
account: '0x99BCEBf44433E901597D9fCb16E799a4847519f6',
|
|
38
|
+
data: [
|
|
39
|
+
{
|
|
40
|
+
amount: '374980',
|
|
41
|
+
destDecimals: 18,
|
|
42
|
+
destToken: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',
|
|
43
|
+
slippage: 1,
|
|
44
|
+
srcDecimals: 6,
|
|
45
|
+
srcToken: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831',
|
|
46
|
+
toChain: 42161,
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
};
|
|
50
|
+
const quotes = await client.getTradeQuotes(request);
|
|
51
|
+
const quoteKeys = Object.keys(quotes);
|
|
52
|
+
expect(quoteKeys.length).toBeGreaterThan(0);
|
|
53
|
+
const firstQuote = quotes[quoteKeys[0]];
|
|
54
|
+
expect(firstQuote).toBeDefined();
|
|
55
|
+
expect(firstQuote.quoteRates).toBeDefined();
|
|
56
|
+
const quoteRatesKeys = Object.keys(firstQuote.quoteRates);
|
|
57
|
+
expect(quoteRatesKeys.length).toBeGreaterThan(0);
|
|
58
|
+
});
|
|
59
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const dZapClient_1 = require("../src/dZapClient");
|
|
4
|
+
describe('DZapClient - getStatus', () => {
|
|
5
|
+
let client;
|
|
6
|
+
beforeAll(() => {
|
|
7
|
+
client = dZapClient_1.default.getInstance();
|
|
8
|
+
});
|
|
9
|
+
it('should fetch status for multiple transaction IDs', async () => {
|
|
10
|
+
const txIds = '8453-0x3c48cb39902c215e5b055235ed2d11b0190e3f4b1f73566862359e334a96b166,8453-0x3a26dc8763166b9d39db46fa1047902896e07dd2a2cb8761a6c84c17b7165ab7,10-0x320be5bbc92857806bc08a148addb72be4b60225bca3fef4374cbd60100c7f9e';
|
|
11
|
+
const txIdArray = txIds.split(',');
|
|
12
|
+
const result = await client.getTradeTxnStatus({ txIds });
|
|
13
|
+
expect(result).toBeDefined();
|
|
14
|
+
const typedResult = result;
|
|
15
|
+
const resultKeys = Object.keys(typedResult);
|
|
16
|
+
expect(resultKeys.length).toBe(txIdArray.length);
|
|
17
|
+
for (const txId of txIdArray) {
|
|
18
|
+
expect(typedResult).toHaveProperty(txId);
|
|
19
|
+
const statusResponse = typedResult[txId];
|
|
20
|
+
const statusKeys = Object.keys(statusResponse);
|
|
21
|
+
expect(statusKeys.length).toBeGreaterThan(0);
|
|
22
|
+
const firstStatus = statusResponse[statusKeys[0]];
|
|
23
|
+
expect(firstStatus).toHaveProperty('status');
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
it('should fetch status for a single transaction', async () => {
|
|
27
|
+
const txHash = '0x3c48cb39902c215e5b055235ed2d11b0190e3f4b1f73566862359e334a96b166';
|
|
28
|
+
const chainId = 8453;
|
|
29
|
+
const result = await client.getTradeTxnStatus({ txHash, chainId });
|
|
30
|
+
expect(result).toBeDefined();
|
|
31
|
+
const typedResult = result;
|
|
32
|
+
const resultKeys = Object.keys(typedResult);
|
|
33
|
+
expect(resultKeys.length).toBeGreaterThan(0);
|
|
34
|
+
const firstStatus = typedResult[resultKeys[0]];
|
|
35
|
+
expect(firstStatus).toHaveProperty('status');
|
|
36
|
+
});
|
|
37
|
+
});
|