@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.
Files changed (221) hide show
  1. package/dist/api/index.d.ts +2 -1
  2. package/dist/index.js +1 -1
  3. package/dist/index.m.js +1 -1
  4. package/dist/index.umd.js +1 -1
  5. package/dist/types/zap/broadcast.d.ts +15 -0
  6. package/package.json +1 -1
  7. package/dist/examples/chain-utils.d.ts +0 -1
  8. package/dist/examples/chain-utils.js +0 -20
  9. package/dist/examples/permit-utils.d.ts +0 -1
  10. package/dist/examples/permit-utils.js +0 -90
  11. package/dist/examples/token-utils.d.ts +0 -1
  12. package/dist/examples/token-utils.js +0 -41
  13. package/dist/examples/trade-operations.d.ts +0 -1
  14. package/dist/examples/trade-operations.js +0 -89
  15. package/dist/examples/zap-operations.d.ts +0 -1
  16. package/dist/examples/zap-operations.js +0 -69
  17. package/dist/src/api/index.d.ts +0 -27
  18. package/dist/src/api/index.js +0 -146
  19. package/dist/src/artifacts/ERC20Permit.d.ts +0 -374
  20. package/dist/src/artifacts/ERC20Permit.js +0 -469
  21. package/dist/src/artifacts/Permit2.d.ts +0 -700
  22. package/dist/src/artifacts/Permit2.js +0 -904
  23. package/dist/src/artifacts/Permit2Proxy.d.ts +0 -416
  24. package/dist/src/artifacts/Permit2Proxy.js +0 -206
  25. package/dist/src/artifacts/default/DZapCoreAbi.d.ts +0 -2
  26. package/dist/src/artifacts/default/DZapCoreAbi.js +0 -3079
  27. package/dist/src/artifacts/default/DZapCoreV2Abi.d.ts +0 -2
  28. package/dist/src/artifacts/default/DZapCoreV2Abi.js +0 -3719
  29. package/dist/src/artifacts/default/DZapDcaAbi.d.ts +0 -2
  30. package/dist/src/artifacts/default/DZapDcaAbi.js +0 -1829
  31. package/dist/src/artifacts/default/Permit2Abi.d.ts +0 -700
  32. package/dist/src/artifacts/default/Permit2Abi.js +0 -904
  33. package/dist/src/artifacts/default/erc20Abi.d.ts +0 -165
  34. package/dist/src/artifacts/default/erc20Abi.js +0 -220
  35. package/dist/src/artifacts/default/index.d.ts +0 -6
  36. package/dist/src/artifacts/default/index.js +0 -13
  37. package/dist/src/artifacts/index.d.ts +0 -2
  38. package/dist/src/artifacts/index.js +0 -9
  39. package/dist/src/artifacts/staging/DZapCoreSwapAbi.d.ts +0 -2
  40. package/dist/src/artifacts/staging/DZapCoreSwapAbi.js +0 -3079
  41. package/dist/src/artifacts/staging/index.d.ts +0 -2
  42. package/dist/src/artifacts/staging/index.js +0 -5
  43. package/dist/src/axios/baseClient.d.ts +0 -2
  44. package/dist/src/axios/baseClient.js +0 -7
  45. package/dist/src/axios/index.d.ts +0 -8
  46. package/dist/src/axios/index.js +0 -34
  47. package/dist/src/chains/definitions/arthera.d.ts +0 -35
  48. package/dist/src/chains/definitions/arthera.js +0 -28
  49. package/dist/src/chains/definitions/fiveIre.d.ts +0 -35
  50. package/dist/src/chains/definitions/fiveIre.js +0 -28
  51. package/dist/src/chains/definitions/hyperEvm.d.ts +0 -35
  52. package/dist/src/chains/definitions/hyperEvm.js +0 -26
  53. package/dist/src/chains/definitions/hyperliquid.d.ts +0 -35
  54. package/dist/src/chains/definitions/hyperliquid.js +0 -26
  55. package/dist/src/chains/definitions/stable.d.ts +0 -36
  56. package/dist/src/chains/definitions/stable.js +0 -31
  57. package/dist/src/chains/index.d.ts +0 -179
  58. package/dist/src/chains/index.js +0 -24
  59. package/dist/src/config/index.d.ts +0 -36
  60. package/dist/src/config/index.js +0 -59
  61. package/dist/src/constants/address.d.ts +0 -13
  62. package/dist/src/constants/address.js +0 -29
  63. package/dist/src/constants/approval.d.ts +0 -7
  64. package/dist/src/constants/approval.js +0 -17
  65. package/dist/src/constants/axios.d.ts +0 -2
  66. package/dist/src/constants/axios.js +0 -5
  67. package/dist/src/constants/chains.d.ts +0 -31
  68. package/dist/src/constants/chains.js +0 -34
  69. package/dist/src/constants/contract.d.ts +0 -6
  70. package/dist/src/constants/contract.js +0 -18
  71. package/dist/src/constants/erc20.d.ts +0 -25
  72. package/dist/src/constants/erc20.js +0 -28
  73. package/dist/src/constants/httpMethods.d.ts +0 -2
  74. package/dist/src/constants/httpMethods.js +0 -5
  75. package/dist/src/constants/index.d.ts +0 -48
  76. package/dist/src/constants/index.js +0 -53
  77. package/dist/src/constants/permit.d.ts +0 -29
  78. package/dist/src/constants/permit.js +0 -33
  79. package/dist/src/constants/permit2.d.ts +0 -2
  80. package/dist/src/constants/permit2.js +0 -5
  81. package/dist/src/constants/rpc.d.ts +0 -2
  82. package/dist/src/constants/rpc.js +0 -5
  83. package/dist/src/constants/urlConstants.d.ts +0 -15
  84. package/dist/src/constants/urlConstants.js +0 -18
  85. package/dist/src/dZapClient/index.d.ts +0 -1015
  86. package/dist/src/dZapClient/index.js +0 -255
  87. package/dist/src/enums/index.d.ts +0 -46
  88. package/dist/src/enums/index.js +0 -57
  89. package/dist/src/index.d.ts +0 -17
  90. package/dist/src/index.js +0 -48
  91. package/dist/src/service/cache/cacheProvider.d.ts +0 -10
  92. package/dist/src/service/cache/cacheProvider.js +0 -72
  93. package/dist/src/service/cache/constant.d.ts +0 -2
  94. package/dist/src/service/cache/constant.js +0 -6
  95. package/dist/src/service/price/index.d.ts +0 -16
  96. package/dist/src/service/price/index.js +0 -80
  97. package/dist/src/service/price/provider/coingecko/config.d.ts +0 -6
  98. package/dist/src/service/price/provider/coingecko/config.js +0 -9
  99. package/dist/src/service/price/provider/coingecko/index.d.ts +0 -9
  100. package/dist/src/service/price/provider/coingecko/index.js +0 -66
  101. package/dist/src/service/price/provider/defiLlama/config.d.ts +0 -3
  102. package/dist/src/service/price/provider/defiLlama/config.js +0 -6
  103. package/dist/src/service/price/provider/defiLlama/index.d.ts +0 -9
  104. package/dist/src/service/price/provider/defiLlama/index.js +0 -60
  105. package/dist/src/service/price/provider/defiLlama/types.d.ts +0 -11
  106. package/dist/src/service/price/provider/defiLlama/types.js +0 -2
  107. package/dist/src/service/price/provider/dzap/index.d.ts +0 -6
  108. package/dist/src/service/price/provider/dzap/index.js +0 -22
  109. package/dist/src/service/price/types/IPriceProvider.d.ts +0 -14
  110. package/dist/src/service/price/types/IPriceProvider.js +0 -8
  111. package/dist/src/transactionHandlers/generic.d.ts +0 -24
  112. package/dist/src/transactionHandlers/generic.js +0 -48
  113. package/dist/src/transactionHandlers/permit.d.ts +0 -61
  114. package/dist/src/transactionHandlers/permit.js +0 -177
  115. package/dist/src/transactionHandlers/trade.d.ts +0 -24
  116. package/dist/src/transactionHandlers/trade.js +0 -263
  117. package/dist/src/transactionHandlers/zap.d.ts +0 -37
  118. package/dist/src/transactionHandlers/zap.js +0 -135
  119. package/dist/src/types/axiosClient.d.ts +0 -6
  120. package/dist/src/types/axiosClient.js +0 -2
  121. package/dist/src/types/btc.d.ts +0 -45
  122. package/dist/src/types/btc.js +0 -2
  123. package/dist/src/types/chains.d.ts +0 -3
  124. package/dist/src/types/chains.js +0 -2
  125. package/dist/src/types/contract.d.ts +0 -14
  126. package/dist/src/types/contract.js +0 -2
  127. package/dist/src/types/eip-2612.d.ts +0 -24
  128. package/dist/src/types/eip-2612.js +0 -58
  129. package/dist/src/types/index.d.ts +0 -489
  130. package/dist/src/types/index.js +0 -8
  131. package/dist/src/types/permit.d.ts +0 -191
  132. package/dist/src/types/permit.js +0 -54
  133. package/dist/src/types/wallet.d.ts +0 -2
  134. package/dist/src/types/wallet.js +0 -2
  135. package/dist/src/types/zap/build.d.ts +0 -44
  136. package/dist/src/types/zap/build.js +0 -2
  137. package/dist/src/types/zap/index.d.ts +0 -34
  138. package/dist/src/types/zap/index.js +0 -23
  139. package/dist/src/types/zap/path.d.ts +0 -33
  140. package/dist/src/types/zap/path.js +0 -2
  141. package/dist/src/types/zap/pool.d.ts +0 -39
  142. package/dist/src/types/zap/pool.js +0 -2
  143. package/dist/src/types/zap/position.d.ts +0 -27
  144. package/dist/src/types/zap/position.js +0 -2
  145. package/dist/src/types/zap/quote.d.ts +0 -7
  146. package/dist/src/types/zap/quote.js +0 -2
  147. package/dist/src/types/zap/status.d.ts +0 -28
  148. package/dist/src/types/zap/status.js +0 -2
  149. package/dist/src/types/zap/step.d.ts +0 -23
  150. package/dist/src/types/zap/step.js +0 -2
  151. package/dist/src/utils/amount.d.ts +0 -82
  152. package/dist/src/utils/amount.js +0 -71
  153. package/dist/src/utils/axios.d.ts +0 -13
  154. package/dist/src/utils/axios.js +0 -42
  155. package/dist/src/utils/date.d.ts +0 -1
  156. package/dist/src/utils/date.js +0 -8
  157. package/dist/src/utils/decoder/swap/abis.d.ts +0 -643
  158. package/dist/src/utils/decoder/swap/abis.js +0 -831
  159. package/dist/src/utils/decoder/swap/inputDataDecoder.d.ts +0 -14
  160. package/dist/src/utils/decoder/swap/inputDataDecoder.js +0 -124
  161. package/dist/src/utils/eip-2612/eip2612Permit.d.ts +0 -23
  162. package/dist/src/utils/eip-2612/eip2612Permit.js +0 -121
  163. package/dist/src/utils/eip-5792/batchApproveTokens.d.ts +0 -21
  164. package/dist/src/utils/eip-5792/batchApproveTokens.js +0 -49
  165. package/dist/src/utils/eip-5792/index.d.ts +0 -3
  166. package/dist/src/utils/eip-5792/index.js +0 -9
  167. package/dist/src/utils/eip-5792/isBatchTxnSupportedByWallet.d.ts +0 -6
  168. package/dist/src/utils/eip-5792/isBatchTxnSupportedByWallet.js +0 -22
  169. package/dist/src/utils/eip-5792/sendBatchCalls.d.ts +0 -10
  170. package/dist/src/utils/eip-5792/sendBatchCalls.js +0 -25
  171. package/dist/src/utils/eip-5792/waitForBatchTransactionReceipt.d.ts +0 -4
  172. package/dist/src/utils/eip-5792/waitForBatchTransactionReceipt.js +0 -26
  173. package/dist/src/utils/encodeApproveCall.d.ts +0 -6
  174. package/dist/src/utils/encodeApproveCall.js +0 -13
  175. package/dist/src/utils/erc20.d.ts +0 -65
  176. package/dist/src/utils/erc20.js +0 -153
  177. package/dist/src/utils/errors.d.ts +0 -17
  178. package/dist/src/utils/errors.js +0 -78
  179. package/dist/src/utils/index.d.ts +0 -4566
  180. package/dist/src/utils/index.js +0 -196
  181. package/dist/src/utils/multicall.d.ts +0 -14
  182. package/dist/src/utils/multicall.js +0 -25
  183. package/dist/src/utils/permit2/domain.d.ts +0 -2
  184. package/dist/src/utils/permit2/domain.js +0 -11
  185. package/dist/src/utils/permit2/index.d.ts +0 -4
  186. package/dist/src/utils/permit2/index.js +0 -97
  187. package/dist/src/utils/permit2/nonce.d.ts +0 -15
  188. package/dist/src/utils/permit2/nonce.js +0 -61
  189. package/dist/src/utils/permit2/permitData.d.ts +0 -23
  190. package/dist/src/utils/permit2/permitData.js +0 -85
  191. package/dist/src/utils/permit2/values.d.ts +0 -54
  192. package/dist/src/utils/permit2/values.js +0 -88
  193. package/dist/src/utils/permit2/witnessData.d.ts +0 -4
  194. package/dist/src/utils/permit2/witnessData.js +0 -48
  195. package/dist/src/utils/signIntent/custom.d.ts +0 -11
  196. package/dist/src/utils/signIntent/custom.js +0 -31
  197. package/dist/src/utils/signIntent/gasless.d.ts +0 -12
  198. package/dist/src/utils/signIntent/gasless.js +0 -101
  199. package/dist/src/utils/signTypedData.d.ts +0 -11
  200. package/dist/src/utils/signTypedData.js +0 -21
  201. package/dist/src/utils/tokens.d.ts +0 -8
  202. package/dist/src/utils/tokens.js +0 -73
  203. package/dist/src/utils/updateQuotes.d.ts +0 -3
  204. package/dist/src/utils/updateQuotes.js +0 -69
  205. package/dist/src/zap/constants/index.d.ts +0 -2
  206. package/dist/src/zap/constants/index.js +0 -18
  207. package/dist/src/zap/constants/path.d.ts +0 -8
  208. package/dist/src/zap/constants/path.js +0 -11
  209. package/dist/src/zap/constants/step.d.ts +0 -3
  210. package/dist/src/zap/constants/step.js +0 -6
  211. package/dist/src/zap/constants/urls.d.ts +0 -13
  212. package/dist/src/zap/constants/urls.js +0 -16
  213. package/dist/test/build.test.d.ts +0 -1
  214. package/dist/test/build.test.js +0 -65
  215. package/dist/test/permit/permit2Nonce.test.d.ts +0 -2
  216. package/dist/test/permit/permit2Nonce.test.js +0 -96
  217. package/dist/test/quotes.test.d.ts +0 -1
  218. package/dist/test/quotes.test.js +0 -59
  219. package/dist/test/status.test.d.ts +0 -1
  220. package/dist/test/status.test.js +0 -37
  221. 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,4 +0,0 @@
1
- import { Permit2Params, WitnessData } from '../../types/permit';
2
- export declare const getPermit2WitnessData: (params: Permit2Params) => {
3
- witnessData: WitnessData;
4
- };
@@ -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;
@@ -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,2 +0,0 @@
1
- export * from './path';
2
- export * from './step';
@@ -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,8 +0,0 @@
1
- export declare const zapPathAction: {
2
- readonly swap: "swap";
3
- readonly bridge: "bridge";
4
- readonly deposit: "deposit";
5
- readonly withdraw: "withdraw";
6
- readonly stake: "stake";
7
- readonly unstake: "unstake";
8
- };
@@ -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,3 +0,0 @@
1
- export declare const zapStepAction: {
2
- readonly execute: "execute";
3
- };
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.zapStepAction = void 0;
4
- exports.zapStepAction = {
5
- execute: 'execute',
6
- };
@@ -1,13 +0,0 @@
1
- export declare const ZAP_ENDPOINTS: {
2
- status: string;
3
- config: {
4
- chains: string;
5
- providers: string;
6
- };
7
- pools: string;
8
- poolDetails: string;
9
- positions: string;
10
- buildTx: string;
11
- quote: string;
12
- broadcast: string;
13
- };
@@ -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 {};
@@ -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
- });
@@ -1,2 +0,0 @@
1
- import { HexString } from '../../src/types';
2
- export declare const getNextPermit2NonceFromProxy: (permitAddress: HexString, account: HexString, chainId: number, rpcUrls?: string[]) => Promise<bigint>;