@dzapio/sdk 2.0.7 → 2.0.9

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