@lifi/sdk 3.6.0-beta.5 → 3.6.0-beta.6

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 (233) hide show
  1. package/package.json +3 -3
  2. package/src/_cjs/config.js +3 -0
  3. package/src/_cjs/config.js.map +1 -1
  4. package/src/_cjs/core/EVM/EVM.js +4 -0
  5. package/src/_cjs/core/EVM/EVM.js.map +1 -1
  6. package/src/_cjs/core/EVM/EVMStepExecutor.js +136 -112
  7. package/src/_cjs/core/EVM/EVMStepExecutor.js.map +1 -1
  8. package/src/_cjs/core/EVM/checkAllowance.js +34 -5
  9. package/src/_cjs/core/EVM/checkAllowance.js.map +1 -1
  10. package/src/_cjs/core/EVM/checkPermitSupport.js +33 -0
  11. package/src/_cjs/core/EVM/checkPermitSupport.js.map +1 -0
  12. package/src/_cjs/core/EVM/parseEVMErrors.js +3 -0
  13. package/src/_cjs/core/EVM/parseEVMErrors.js.map +1 -1
  14. package/src/_cjs/core/EVM/{permit2 → permits}/allowanceTransfer.js.map +1 -1
  15. package/src/_cjs/core/EVM/{permit2 → permits}/constants.js.map +1 -1
  16. package/src/_cjs/core/EVM/{permit2 → permits}/domain.js.map +1 -1
  17. package/src/_cjs/core/EVM/permits/encodeNativePermitData.js +16 -0
  18. package/src/_cjs/core/EVM/permits/encodeNativePermitData.js.map +1 -0
  19. package/src/_cjs/core/EVM/permits/encodePermit2Data.js +32 -0
  20. package/src/_cjs/core/EVM/permits/encodePermit2Data.js.map +1 -0
  21. package/src/_cjs/core/EVM/{getNativePermit.js → permits/getNativePermit.js} +30 -21
  22. package/src/_cjs/core/EVM/permits/getNativePermit.js.map +1 -0
  23. package/src/_cjs/core/EVM/permits/getPermitTransferFromValues.js +24 -0
  24. package/src/_cjs/core/EVM/permits/getPermitTransferFromValues.js.map +1 -0
  25. package/src/_cjs/core/EVM/permits/signNativePermitMessage.js +20 -0
  26. package/src/_cjs/core/EVM/permits/signNativePermitMessage.js.map +1 -0
  27. package/src/_cjs/core/EVM/permits/signPermit2Message.js +43 -0
  28. package/src/_cjs/core/EVM/permits/signPermit2Message.js.map +1 -0
  29. package/src/_cjs/core/EVM/permits/signatureTransfer.js.map +1 -0
  30. package/src/_cjs/core/EVM/permits/types.js +3 -0
  31. package/src/_cjs/core/EVM/permits/types.js.map +1 -0
  32. package/src/_cjs/core/EVM/permits/utils.js +31 -0
  33. package/src/_cjs/core/EVM/permits/utils.js.map +1 -0
  34. package/src/_cjs/core/EVM/publicClient.js +32 -33
  35. package/src/_cjs/core/EVM/publicClient.js.map +1 -1
  36. package/src/_cjs/core/EVM/typeguards.js +1 -1
  37. package/src/_cjs/core/EVM/typeguards.js.map +1 -1
  38. package/src/_cjs/core/EVM/types.js.map +1 -1
  39. package/src/_cjs/core/EVM/waitForBatchTransactionReceipt.js +3 -2
  40. package/src/_cjs/core/EVM/waitForBatchTransactionReceipt.js.map +1 -1
  41. package/src/_cjs/core/EVM/waitForRelayedTransactionReceipt.js +4 -4
  42. package/src/_cjs/core/EVM/waitForRelayedTransactionReceipt.js.map +1 -1
  43. package/src/_cjs/core/checkBalance.js +2 -1
  44. package/src/_cjs/core/checkBalance.js.map +1 -1
  45. package/src/_cjs/core/utils.js +1 -1
  46. package/src/_cjs/core/utils.js.map +1 -1
  47. package/src/_cjs/errors/constants.js +1 -0
  48. package/src/_cjs/errors/constants.js.map +1 -1
  49. package/src/_cjs/services/api.js +18 -6
  50. package/src/_cjs/services/api.js.map +1 -1
  51. package/src/_cjs/version.js +1 -1
  52. package/src/_esm/config.js +3 -0
  53. package/src/_esm/config.js.map +1 -1
  54. package/src/_esm/core/EVM/EVM.js +4 -0
  55. package/src/_esm/core/EVM/EVM.js.map +1 -1
  56. package/src/_esm/core/EVM/EVMStepExecutor.js +140 -124
  57. package/src/_esm/core/EVM/EVMStepExecutor.js.map +1 -1
  58. package/src/_esm/core/EVM/checkAllowance.js +35 -5
  59. package/src/_esm/core/EVM/checkAllowance.js.map +1 -1
  60. package/src/_esm/core/EVM/checkPermitSupport.js +43 -0
  61. package/src/_esm/core/EVM/checkPermitSupport.js.map +1 -0
  62. package/src/_esm/core/EVM/parseEVMErrors.js +9 -0
  63. package/src/_esm/core/EVM/parseEVMErrors.js.map +1 -1
  64. package/src/_esm/core/EVM/{permit2 → permits}/allowanceTransfer.js.map +1 -1
  65. package/src/_esm/core/EVM/{permit2 → permits}/constants.js.map +1 -1
  66. package/src/_esm/core/EVM/{permit2 → permits}/domain.js.map +1 -1
  67. package/src/_esm/core/EVM/permits/encodeNativePermitData.js +12 -0
  68. package/src/_esm/core/EVM/permits/encodeNativePermitData.js.map +1 -0
  69. package/src/_esm/core/EVM/permits/encodePermit2Data.js +28 -0
  70. package/src/_esm/core/EVM/permits/encodePermit2Data.js.map +1 -0
  71. package/src/_esm/core/EVM/{getNativePermit.js → permits/getNativePermit.js} +30 -21
  72. package/src/_esm/core/EVM/permits/getNativePermit.js.map +1 -0
  73. package/src/_esm/core/EVM/permits/getPermitTransferFromValues.js +20 -0
  74. package/src/_esm/core/EVM/permits/getPermitTransferFromValues.js.map +1 -0
  75. package/src/_esm/core/EVM/permits/signNativePermitMessage.js +16 -0
  76. package/src/_esm/core/EVM/permits/signNativePermitMessage.js.map +1 -0
  77. package/src/_esm/core/EVM/permits/signPermit2Message.js +41 -0
  78. package/src/_esm/core/EVM/permits/signPermit2Message.js.map +1 -0
  79. package/src/_esm/core/EVM/{permit2 → permits}/signatureTransfer.js +0 -2
  80. package/src/_esm/core/EVM/{permit2 → permits}/signatureTransfer.js.map +1 -1
  81. package/src/_esm/core/EVM/permits/types.js +2 -0
  82. package/src/_esm/core/EVM/permits/types.js.map +1 -0
  83. package/src/_esm/core/EVM/permits/utils.js +26 -0
  84. package/src/_esm/core/EVM/permits/utils.js.map +1 -0
  85. package/src/_esm/core/EVM/publicClient.js +34 -35
  86. package/src/_esm/core/EVM/publicClient.js.map +1 -1
  87. package/src/_esm/core/EVM/typeguards.js +1 -1
  88. package/src/_esm/core/EVM/typeguards.js.map +1 -1
  89. package/src/_esm/core/EVM/types.js.map +1 -1
  90. package/src/_esm/core/EVM/waitForBatchTransactionReceipt.js +5 -2
  91. package/src/_esm/core/EVM/waitForBatchTransactionReceipt.js.map +1 -1
  92. package/src/_esm/core/EVM/waitForRelayedTransactionReceipt.js +4 -4
  93. package/src/_esm/core/EVM/waitForRelayedTransactionReceipt.js.map +1 -1
  94. package/src/_esm/core/checkBalance.js +2 -1
  95. package/src/_esm/core/checkBalance.js.map +1 -1
  96. package/src/_esm/core/utils.js +1 -1
  97. package/src/_esm/core/utils.js.map +1 -1
  98. package/src/_esm/errors/constants.js +1 -0
  99. package/src/_esm/errors/constants.js.map +1 -1
  100. package/src/_esm/services/api.js +18 -6
  101. package/src/_esm/services/api.js.map +1 -1
  102. package/src/_esm/version.js +1 -1
  103. package/src/_types/config.d.ts +2 -1
  104. package/src/_types/config.d.ts.map +1 -1
  105. package/src/_types/core/BaseStepExecutor.d.ts.map +1 -1
  106. package/src/_types/core/EVM/EVM.d.ts.map +1 -1
  107. package/src/_types/core/EVM/EVMStepExecutor.d.ts +4 -10
  108. package/src/_types/core/EVM/EVMStepExecutor.d.ts.map +1 -1
  109. package/src/_types/core/EVM/checkAllowance.d.ts +13 -2
  110. package/src/_types/core/EVM/checkAllowance.d.ts.map +1 -1
  111. package/src/_types/core/EVM/checkPermitSupport.d.ts +27 -0
  112. package/src/_types/core/EVM/checkPermitSupport.d.ts.map +1 -0
  113. package/src/_types/core/EVM/getAllowance.d.ts.map +1 -1
  114. package/src/_types/core/EVM/getENSAddress.d.ts.map +1 -1
  115. package/src/_types/core/EVM/getEVMBalance.d.ts.map +1 -1
  116. package/src/_types/core/EVM/parseEVMErrors.d.ts.map +1 -1
  117. package/src/_types/core/EVM/{permit2 → permits}/allowanceTransfer.d.ts.map +1 -1
  118. package/src/_types/core/EVM/{permit2 → permits}/constants.d.ts.map +1 -1
  119. package/src/_types/core/EVM/permits/domain.d.ts +3 -0
  120. package/src/_types/core/EVM/permits/domain.d.ts.map +1 -0
  121. package/src/_types/core/EVM/permits/encodeNativePermitData.d.ts +3 -0
  122. package/src/_types/core/EVM/permits/encodeNativePermitData.d.ts.map +1 -0
  123. package/src/_types/core/EVM/permits/encodePermit2Data.d.ts +4 -0
  124. package/src/_types/core/EVM/permits/encodePermit2Data.d.ts.map +1 -0
  125. package/src/_types/core/EVM/{getNativePermit.d.ts → permits/getNativePermit.d.ts} +2 -9
  126. package/src/_types/core/EVM/permits/getNativePermit.d.ts.map +1 -0
  127. package/src/_types/core/EVM/permits/getPermitTransferFromValues.d.ts +5 -0
  128. package/src/_types/core/EVM/permits/getPermitTransferFromValues.d.ts.map +1 -0
  129. package/src/_types/core/EVM/permits/signNativePermitMessage.d.ts +4 -0
  130. package/src/_types/core/EVM/permits/signNativePermitMessage.d.ts.map +1 -0
  131. package/src/_types/core/EVM/permits/signPermit2Message.d.ts +21 -0
  132. package/src/_types/core/EVM/permits/signPermit2Message.d.ts.map +1 -0
  133. package/src/_types/core/EVM/{permit2 → permits}/signatureTransfer.d.ts +15 -16
  134. package/src/_types/core/EVM/permits/signatureTransfer.d.ts.map +1 -0
  135. package/src/_types/core/EVM/permits/types.d.ts +24 -0
  136. package/src/_types/core/EVM/permits/types.d.ts.map +1 -0
  137. package/src/_types/core/EVM/permits/utils.d.ts +6 -0
  138. package/src/_types/core/EVM/permits/utils.d.ts.map +1 -0
  139. package/src/_types/core/EVM/publicClient.d.ts.map +1 -1
  140. package/src/_types/core/EVM/setAllowance.d.ts.map +1 -1
  141. package/src/_types/core/EVM/switchChain.d.ts.map +1 -1
  142. package/src/_types/core/EVM/typeguards.d.ts +2 -1
  143. package/src/_types/core/EVM/typeguards.d.ts.map +1 -1
  144. package/src/_types/core/EVM/types.d.ts +13 -7
  145. package/src/_types/core/EVM/types.d.ts.map +1 -1
  146. package/src/_types/core/EVM/utils.d.ts.map +1 -1
  147. package/src/_types/core/EVM/waitForBatchTransactionReceipt.d.ts.map +1 -1
  148. package/src/_types/core/EVM/waitForRelayedTransactionReceipt.d.ts.map +1 -1
  149. package/src/_types/core/Solana/SolanaStepExecutor.d.ts.map +1 -1
  150. package/src/_types/core/Solana/getSNSAddress.d.ts.map +1 -1
  151. package/src/_types/core/Solana/getSolanaBalance.d.ts.map +1 -1
  152. package/src/_types/core/Solana/parseSolanaErrors.d.ts.map +1 -1
  153. package/src/_types/core/StatusManager.d.ts.map +1 -1
  154. package/src/_types/core/UTXO/UTXOStepExecutor.d.ts.map +1 -1
  155. package/src/_types/core/UTXO/getUTXOAPIPublicClient.d.ts.map +1 -1
  156. package/src/_types/core/UTXO/getUTXOBalance.d.ts.map +1 -1
  157. package/src/_types/core/UTXO/getUTXOPublicClient.d.ts.map +1 -1
  158. package/src/_types/core/UTXO/parseUTXOErrors.d.ts.map +1 -1
  159. package/src/_types/core/checkBalance.d.ts.map +1 -1
  160. package/src/_types/core/execution.d.ts.map +1 -1
  161. package/src/_types/core/prepareRestart.d.ts.map +1 -1
  162. package/src/_types/core/provider.d.ts.map +1 -1
  163. package/src/_types/core/rpc.d.ts.map +1 -1
  164. package/src/_types/core/stepComparison.d.ts.map +1 -1
  165. package/src/_types/errors/constants.d.ts +2 -1
  166. package/src/_types/errors/constants.d.ts.map +1 -1
  167. package/src/_types/errors/utils/baseErrorRootCause.d.ts.map +1 -1
  168. package/src/_types/errors/utils/rootCause.d.ts.map +1 -1
  169. package/src/_types/request.d.ts.map +1 -1
  170. package/src/_types/services/api.d.ts +4 -47
  171. package/src/_types/services/api.d.ts.map +1 -1
  172. package/src/_types/services/balance.d.ts.map +1 -1
  173. package/src/_types/services/getNameServiceAddress.d.ts.map +1 -1
  174. package/src/_types/typeguards.d.ts.map +1 -1
  175. package/src/_types/utils/checkPackageUpdates.d.ts.map +1 -1
  176. package/src/_types/utils/convertQuoteToRoute.d.ts.map +1 -1
  177. package/src/_types/utils/fetchTxErrorDetails.d.ts.map +1 -1
  178. package/src/_types/utils/getTransactionMessage.d.ts.map +1 -1
  179. package/src/_types/utils/isZeroAddress.d.ts.map +1 -1
  180. package/src/_types/utils/median.d.ts.map +1 -1
  181. package/src/_types/utils/waitForResult.d.ts.map +1 -1
  182. package/src/_types/version.d.ts +1 -1
  183. package/src/config.ts +4 -1
  184. package/src/core/EVM/EVM.ts +4 -0
  185. package/src/core/EVM/EVMStepExecutor.ts +186 -149
  186. package/src/core/EVM/checkAllowance.ts +69 -6
  187. package/src/core/EVM/checkPermitSupport.ts +74 -0
  188. package/src/core/EVM/parseEVMErrors.ts +9 -0
  189. package/src/core/EVM/{permit2 → permits}/domain.ts +1 -7
  190. package/src/core/EVM/permits/encodeNativePermitData.ts +19 -0
  191. package/src/core/EVM/permits/encodePermit2Data.ts +41 -0
  192. package/src/core/EVM/{getNativePermit.ts → permits/getNativePermit.ts} +37 -31
  193. package/src/core/EVM/permits/getPermitTransferFromValues.ts +29 -0
  194. package/src/core/EVM/permits/signNativePermitMessage.ts +27 -0
  195. package/src/core/EVM/permits/signPermit2Message.ts +95 -0
  196. package/src/core/EVM/{permit2 → permits}/signatureTransfer.ts +19 -7
  197. package/src/core/EVM/permits/types.ts +33 -0
  198. package/src/core/EVM/permits/utils.ts +40 -0
  199. package/src/core/EVM/publicClient.ts +41 -38
  200. package/src/core/EVM/typeguards.ts +5 -2
  201. package/src/core/EVM/types.ts +15 -10
  202. package/src/core/EVM/waitForBatchTransactionReceipt.ts +7 -2
  203. package/src/core/EVM/waitForRelayedTransactionReceipt.ts +4 -4
  204. package/src/core/checkBalance.ts +2 -1
  205. package/src/core/utils.ts +1 -1
  206. package/src/errors/constants.ts +1 -0
  207. package/src/services/api.ts +62 -66
  208. package/src/version.ts +1 -1
  209. package/src/_cjs/core/EVM/getNativePermit.js.map +0 -1
  210. package/src/_cjs/core/EVM/permit2/signatureTransfer.js.map +0 -1
  211. package/src/_cjs/core/EVM/signPermitMessage.js +0 -163
  212. package/src/_cjs/core/EVM/signPermitMessage.js.map +0 -1
  213. package/src/_esm/core/EVM/getNativePermit.js.map +0 -1
  214. package/src/_esm/core/EVM/signPermitMessage.js +0 -157
  215. package/src/_esm/core/EVM/signPermitMessage.js.map +0 -1
  216. package/src/_types/core/EVM/getNativePermit.d.ts.map +0 -1
  217. package/src/_types/core/EVM/permit2/domain.d.ts +0 -8
  218. package/src/_types/core/EVM/permit2/domain.d.ts.map +0 -1
  219. package/src/_types/core/EVM/permit2/signatureTransfer.d.ts.map +0 -1
  220. package/src/_types/core/EVM/signPermitMessage.d.ts +0 -25
  221. package/src/_types/core/EVM/signPermitMessage.d.ts.map +0 -1
  222. package/src/core/EVM/signPermitMessage.ts +0 -273
  223. /package/src/_cjs/core/EVM/{permit2 → permits}/allowanceTransfer.js +0 -0
  224. /package/src/_cjs/core/EVM/{permit2 → permits}/constants.js +0 -0
  225. /package/src/_cjs/core/EVM/{permit2 → permits}/domain.js +0 -0
  226. /package/src/_cjs/core/EVM/{permit2 → permits}/signatureTransfer.js +0 -0
  227. /package/src/_esm/core/EVM/{permit2 → permits}/allowanceTransfer.js +0 -0
  228. /package/src/_esm/core/EVM/{permit2 → permits}/constants.js +0 -0
  229. /package/src/_esm/core/EVM/{permit2 → permits}/domain.js +0 -0
  230. /package/src/_types/core/EVM/{permit2 → permits}/allowanceTransfer.d.ts +0 -0
  231. /package/src/_types/core/EVM/{permit2 → permits}/constants.d.ts +0 -0
  232. /package/src/core/EVM/{permit2 → permits}/allowanceTransfer.ts +0 -0
  233. /package/src/core/EVM/{permit2 → permits}/constants.ts +0 -0
package/package.json CHANGED
@@ -4,14 +4,14 @@
4
4
  },
5
5
  "dependencies": {
6
6
  "@bigmi/core": "^0.1.1",
7
- "@lifi/types": "^16.8.0",
7
+ "@lifi/types": "^17.4.0",
8
8
  "@noble/curves": "^1.8.1",
9
9
  "@solana/wallet-adapter-base": "^0.9.23",
10
10
  "@solana/web3.js": "^1.98.0",
11
11
  "bech32": "^2.0.0",
12
12
  "bitcoinjs-lib": "^7.0.0-rc.0",
13
13
  "bs58": "^6.0.0",
14
- "viem": "^2.22.22"
14
+ "viem": "^2.23.6"
15
15
  },
16
16
  "description": "LI.FI Any-to-Any Cross-Chain-Swap SDK",
17
17
  "exports": {
@@ -67,5 +67,5 @@
67
67
  "sideEffects": false,
68
68
  "types": "./src/_types/index.d.ts",
69
69
  "typings": "./src/_types/index.d.ts",
70
- "version": "3.6.0-beta.5"
70
+ "version": "3.6.0-beta.6"
71
71
  }
@@ -34,6 +34,9 @@ exports.config = (() => {
34
34
  }
35
35
  return _config;
36
36
  },
37
+ getProvider(type) {
38
+ return _config.providers.find((provider) => provider.type === type);
39
+ },
37
40
  setProviders(providers) {
38
41
  const providerMap = new Map(_config.providers.map((provider) => [provider.type, provider]));
39
42
  for (const provider of providers) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"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"}
@@ -12,9 +12,13 @@ function EVM(options) {
12
12
  get type() {
13
13
  return types_1.ChainType.EVM;
14
14
  },
15
+ get options() {
16
+ return _options;
17
+ },
15
18
  isAddress: viem_1.isAddress,
16
19
  resolveAddress: getENSAddress_js_1.getENSAddress,
17
20
  getBalance: getEVMBalance_js_1.getEVMBalance,
21
+ getWalletClient: _options.getWalletClient,
18
22
  async getStepExecutor(options) {
19
23
  if (!_options.getWalletClient) {
20
24
  throw new Error('Client is not provided.');
@@ -1 +1 @@
1
- {"version":3,"file":"EVM.js","sourceRoot":"","sources":["../../../core/EVM/EVM.ts"],"names":[],"mappings":";;AAQA,kBAkCC;AA1CD,uCAAuC;AACvC,+BAAgC;AAEhC,6DAAsD;AACtD,yDAAkD;AAClD,yDAAkD;AAGlD,SAAgB,GAAG,CAAC,OAA4B;IAC9C,MAAM,QAAQ,GAAuB,OAAO,IAAI,EAAE,CAAA;IAClD,OAAO;QACL,IAAI,IAAI;YACN,OAAO,iBAAS,CAAC,GAAG,CAAA;QACtB,CAAC;QACD,SAAS,EAAT,gBAAS;QACT,cAAc,EAAE,gCAAa;QAC7B,UAAU,EAAE,gCAAa;QACzB,KAAK,CAAC,eAAe,CACnB,OAA4B;YAE5B,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;YAC5C,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,CAAA;YAErD,MAAM,QAAQ,GAAG,IAAI,oCAAe,CAAC;gBACnC,MAAM,EAAE,YAAY;gBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,gBAAgB,EAAE;oBAChB,GAAG,OAAO,CAAC,gBAAgB;oBAC3B,eAAe,EACb,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,gBAAgB,EAAE,eAAe;iBACpE;aACF,CAAC,CAAA;YAEF,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,UAAU,CAAC,OAA2B;YACpC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"EVM.js","sourceRoot":"","sources":["../../../core/EVM/EVM.ts"],"names":[],"mappings":";;AAQA,kBAsCC;AA9CD,uCAAuC;AACvC,+BAAgC;AAEhC,6DAAsD;AACtD,yDAAkD;AAClD,yDAAkD;AAGlD,SAAgB,GAAG,CAAC,OAA4B;IAC9C,MAAM,QAAQ,GAAuB,OAAO,IAAI,EAAE,CAAA;IAClD,OAAO;QACL,IAAI,IAAI;YACN,OAAO,iBAAS,CAAC,GAAG,CAAA;QACtB,CAAC;QACD,IAAI,OAAO;YACT,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,SAAS,EAAT,gBAAS;QACT,cAAc,EAAE,gCAAa;QAC7B,UAAU,EAAE,gCAAa;QACzB,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,KAAK,CAAC,eAAe,CACnB,OAA4B;YAE5B,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;YAC5C,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,CAAA;YAErD,MAAM,QAAQ,GAAG,IAAI,oCAAe,CAAC;gBACnC,MAAM,EAAE,YAAY;gBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,gBAAgB,EAAE;oBAChB,GAAG,OAAO,CAAC,gBAAgB;oBAC3B,eAAe,EACb,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,gBAAgB,EAAE,eAAe;iBACpE;aACF,CAAC,CAAA;YAEF,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,UAAU,CAAC,OAA2B;YACpC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -13,12 +13,14 @@ const checkBalance_js_1 = require("../checkBalance.js");
13
13
  const stepComparison_js_1 = require("../stepComparison.js");
14
14
  const waitForDestinationChainTransaction_js_1 = require("../waitForDestinationChainTransaction.js");
15
15
  const checkAllowance_js_1 = require("./checkAllowance.js");
16
- const getNativePermit_js_1 = require("./getNativePermit.js");
17
16
  const parseEVMErrors_js_1 = require("./parseEVMErrors.js");
18
- const signPermitMessage_js_1 = require("./signPermitMessage.js");
17
+ const encodeNativePermitData_js_1 = require("./permits/encodeNativePermitData.js");
18
+ const encodePermit2Data_js_1 = require("./permits/encodePermit2Data.js");
19
+ const signPermit2Message_js_1 = require("./permits/signPermit2Message.js");
20
+ const utils_js_1 = require("./permits/utils.js");
19
21
  const switchChain_js_1 = require("./switchChain.js");
20
22
  const typeguards_js_1 = require("./typeguards.js");
21
- const utils_js_1 = require("./utils.js");
23
+ const utils_js_2 = require("./utils.js");
22
24
  const waitForBatchTransactionReceipt_js_1 = require("./waitForBatchTransactionReceipt.js");
23
25
  const waitForRelayedTransactionReceipt_js_1 = require("./waitForRelayedTransactionReceipt.js");
24
26
  const waitForTransactionReceipt_js_1 = require("./waitForTransactionReceipt.js");
@@ -70,26 +72,27 @@ class EVMStepExecutor extends BaseStepExecutor_js_1.BaseStepExecutor {
70
72
  enumerable: true,
71
73
  configurable: true,
72
74
  writable: true,
73
- value: async ({ step, process, fromChain, toChain, atomicBatchSupported, isRelayerTransaction, txHash, isBridgeExecution, }) => {
75
+ value: async ({ step, process, fromChain, toChain, txType, txHash, isBridgeExecution, }) => {
74
76
  let transactionReceipt;
75
- if (atomicBatchSupported) {
76
- transactionReceipt = await (0, waitForBatchTransactionReceipt_js_1.waitForBatchTransactionReceipt)(this.client, txHash);
77
- }
78
- else if (isRelayerTransaction) {
79
- transactionReceipt = await (0, waitForRelayedTransactionReceipt_js_1.waitForRelayedTransactionReceipt)(txHash);
80
- }
81
- else {
82
- transactionReceipt = await (0, waitForTransactionReceipt_js_1.waitForTransactionReceipt)({
83
- client: this.client,
84
- chainId: fromChain.id,
85
- txHash,
86
- onReplaced: (response) => {
87
- this.statusManager.updateProcess(step, process.type, 'PENDING', {
88
- txHash: response.transaction.hash,
89
- txLink: `${fromChain.metamask.blockExplorerUrls[0]}tx/${response.transaction.hash}`,
90
- });
91
- },
92
- });
77
+ switch (txType) {
78
+ case 'batched':
79
+ transactionReceipt = await (0, waitForBatchTransactionReceipt_js_1.waitForBatchTransactionReceipt)(this.client, txHash);
80
+ break;
81
+ case 'relayed':
82
+ transactionReceipt = await (0, waitForRelayedTransactionReceipt_js_1.waitForRelayedTransactionReceipt)(txHash);
83
+ break;
84
+ default:
85
+ transactionReceipt = await (0, waitForTransactionReceipt_js_1.waitForTransactionReceipt)({
86
+ client: this.client,
87
+ chainId: fromChain.id,
88
+ txHash,
89
+ onReplaced: (response) => {
90
+ this.statusManager.updateProcess(step, process.type, 'PENDING', {
91
+ txHash: response.transaction.hash,
92
+ txLink: `${fromChain.metamask.blockExplorerUrls[0]}tx/${response.transaction.hash}`,
93
+ });
94
+ },
95
+ });
93
96
  }
94
97
  if (transactionReceipt?.transactionHash &&
95
98
  transactionReceipt.transactionHash !== txHash) {
@@ -132,22 +135,15 @@ class EVMStepExecutor extends BaseStepExecutor_js_1.BaseStepExecutor {
132
135
  const existingProcess = step.execution.process.find((p) => p.type === currentProcessType);
133
136
  const isFromNativeToken = fromChain.nativeToken.address === step.action.fromToken.address;
134
137
  const isRelayerTransaction = (0, typeguards_js_1.isRelayerStep)(step);
135
- const nativePermit = await (0, getNativePermit_js_1.getNativePermit)(this.client, fromChain, step.action.fromToken.address);
136
- const nativePermitSupported = nativePermit.supported &&
137
- !!fromChain.permit2Proxy &&
138
- !atomicBatchSupported &&
139
- !isRelayerTransaction &&
140
- !isFromNativeToken;
141
138
  const permit2Supported = !!fromChain.permit2 &&
142
139
  !!fromChain.permit2Proxy &&
143
140
  !atomicBatchSupported &&
144
141
  !isFromNativeToken;
145
- const permitSupported = permit2Supported || nativePermitSupported;
146
142
  const checkForAllowance = !existingProcess?.txHash &&
147
- !isFromNativeToken &&
148
- !nativePermitSupported;
143
+ !isFromNativeToken;
144
+ let nativePermitSignature;
149
145
  if (checkForAllowance) {
150
- const data = await (0, checkAllowance_js_1.checkAllowance)({
146
+ const allowanceResult = await (0, checkAllowance_js_1.checkAllowance)({
151
147
  client: this.client,
152
148
  chain: fromChain,
153
149
  step,
@@ -157,15 +153,18 @@ class EVMStepExecutor extends BaseStepExecutor_js_1.BaseStepExecutor {
157
153
  atomicBatchSupported,
158
154
  permit2Supported,
159
155
  });
160
- if (data) {
156
+ if (allowanceResult.status === 'BATCH_APPROVAL') {
161
157
  if (atomicBatchSupported) {
162
- calls.push({
163
- chainId: step.action.fromToken.chainId,
164
- to: step.action.fromToken.address,
165
- data,
166
- });
158
+ calls.push(allowanceResult.data);
167
159
  }
168
160
  }
161
+ if (allowanceResult.status === 'NATIVE_PERMIT') {
162
+ nativePermitSignature = allowanceResult.data;
163
+ }
164
+ if (allowanceResult.status === 'ACTION_REQUIRED' &&
165
+ !this.allowUserInteraction) {
166
+ return step;
167
+ }
169
168
  }
170
169
  let process = this.statusManager.findProcess(step, currentProcessType);
171
170
  if (process?.status === 'DONE') {
@@ -179,21 +178,22 @@ class EVMStepExecutor extends BaseStepExecutor_js_1.BaseStepExecutor {
179
178
  return step;
180
179
  }
181
180
  const txHash = process.txHash;
181
+ const txType = process.txType;
182
182
  await this.waitForTransaction({
183
183
  step,
184
184
  process,
185
185
  fromChain,
186
186
  toChain,
187
- atomicBatchSupported,
188
- isRelayerTransaction,
187
+ txType,
189
188
  txHash,
190
189
  isBridgeExecution,
191
190
  });
192
191
  return step;
193
192
  }
193
+ const permitRequired = !atomicBatchSupported && !nativePermitSignature && permit2Supported;
194
194
  process = this.statusManager.findOrCreateProcess({
195
195
  step,
196
- type: permitSupported ? 'PERMIT' : currentProcessType,
196
+ type: permitRequired ? 'PERMIT' : currentProcessType,
197
197
  status: 'STARTED',
198
198
  });
199
199
  await (0, checkBalance_js_1.checkBalance)(this.client.account.address, step);
@@ -213,8 +213,8 @@ class EVMStepExecutor extends BaseStepExecutor_js_1.BaseStepExecutor {
213
213
  allowBridges: [stepBase.tool],
214
214
  });
215
215
  updatedStep = {
216
- ...updatedRelayedStep.data.quote.step,
217
- ...updatedRelayedStep.data.quote,
216
+ ...updatedRelayedStep.quote,
217
+ permits: updatedRelayedStep.permits,
218
218
  id: stepBase.id,
219
219
  };
220
220
  }
@@ -241,7 +241,7 @@ class EVMStepExecutor extends BaseStepExecutor_js_1.BaseStepExecutor {
241
241
  ? BigInt(step.transactionRequest.gasLimit)
242
242
  : undefined,
243
243
  maxPriorityFeePerGas: this.client.account?.type === 'local'
244
- ? await (0, utils_js_1.getMaxPriorityFeePerGas)(this.client)
244
+ ? await (0, utils_js_2.getMaxPriorityFeePerGas)(this.client)
245
245
  : step.transactionRequest.maxPriorityFeePerGas
246
246
  ? BigInt(step.transactionRequest.maxPriorityFeePerGas)
247
247
  : undefined,
@@ -265,7 +265,7 @@ class EVMStepExecutor extends BaseStepExecutor_js_1.BaseStepExecutor {
265
265
  return step;
266
266
  }
267
267
  let txHash;
268
- let isTransactionRelayed = false;
268
+ let txType = 'standard';
269
269
  if (atomicBatchSupported) {
270
270
  const transferCall = {
271
271
  chainId: fromChain.id,
@@ -278,95 +278,119 @@ class EVMStepExecutor extends BaseStepExecutor_js_1.BaseStepExecutor {
278
278
  account: this.client.account,
279
279
  calls,
280
280
  }));
281
+ txType = 'batched';
282
+ }
283
+ else if (isRelayerTransaction) {
284
+ const permitWitnessTransferFromData = step.permits.find((p) => p.permitType === 'PermitWitnessTransferFrom');
285
+ if (!permitWitnessTransferFromData) {
286
+ throw new errors_js_1.TransactionError(constants_js_1.LiFiErrorCode.TransactionUnprepared, 'Unable to prepare transaction. Permit data for transfer is not found.');
287
+ }
288
+ const permit2Signature = await (0, signPermit2Message_js_1.signPermit2Message)({
289
+ client: this.client,
290
+ chain: fromChain,
291
+ tokenAddress: step.action.fromToken.address,
292
+ amount: BigInt(step.action.fromAmount),
293
+ data: transactionRequest.data,
294
+ permitData: (0, utils_js_1.prettifyPermit2Data)(permitWitnessTransferFromData.permitData),
295
+ witness: true,
296
+ });
297
+ this.statusManager.updateProcess(step, process.type, 'DONE');
298
+ process = this.statusManager.findOrCreateProcess({
299
+ step,
300
+ type: currentProcessType,
301
+ status: 'PENDING',
302
+ });
303
+ const signedPermits = [
304
+ {
305
+ permitType: 'PermitWitnessTransferFrom',
306
+ permit: permit2Signature.values,
307
+ signature: permit2Signature.signature,
308
+ },
309
+ ];
310
+ if (nativePermitSignature) {
311
+ signedPermits.unshift({
312
+ permitType: 'Permit',
313
+ permit: nativePermitSignature.values,
314
+ signature: nativePermitSignature.signature,
315
+ });
316
+ }
317
+ const relayedTransaction = await (0, api_js_1.relayTransaction)({
318
+ tokenOwner: this.client.account.address,
319
+ chainId: fromChain.id,
320
+ permits: signedPermits,
321
+ callData: transactionRequest.data,
322
+ });
323
+ txHash = relayedTransaction.taskId;
324
+ txType = 'relayed';
281
325
  }
282
326
  else {
283
- let permitSignature;
284
- if (permitSupported) {
285
- permitSignature = await (0, signPermitMessage_js_1.signPermitMessage)(this.client, {
286
- transactionRequest,
327
+ if (nativePermitSignature) {
328
+ transactionRequest.data = (0, encodeNativePermitData_js_1.encodeNativePermitData)(step.action.fromToken.address, BigInt(step.action.fromAmount), nativePermitSignature.values.deadline, nativePermitSignature.signature, transactionRequest.data);
329
+ }
330
+ else if (permit2Supported) {
331
+ const permit2Signature = await (0, signPermit2Message_js_1.signPermit2Message)({
332
+ client: this.client,
287
333
  chain: fromChain,
288
334
  tokenAddress: step.action.fromToken.address,
289
335
  amount: BigInt(step.action.fromAmount),
290
- nativePermit,
291
- permitData: isRelayerTransaction ? step.permitData : undefined,
292
- useWitness: isRelayerTransaction,
336
+ data: transactionRequest.data,
293
337
  });
294
- transactionRequest.to = fromChain.permit2Proxy;
295
338
  this.statusManager.updateProcess(step, process.type, 'DONE');
296
- }
297
- if (isRelayerTransaction && permitSignature) {
298
339
  process = this.statusManager.findOrCreateProcess({
299
340
  step,
300
341
  type: currentProcessType,
301
342
  status: 'PENDING',
302
343
  });
303
- const relayedTransaction = await (0, api_js_1.relayTransaction)({
304
- tokenOwner: this.client.account.address,
305
- chainId: fromChain.id,
306
- permit: step.permit,
307
- witness: step.witness,
308
- signedPermitData: permitSignature.signature,
309
- callData: transactionRequest.data,
310
- });
311
- txHash = relayedTransaction.data.taskId;
312
- isTransactionRelayed = true;
344
+ transactionRequest.data = (0, encodePermit2Data_js_1.encodePermit2Data)(step.action.fromToken.address, BigInt(step.action.fromAmount), permit2Signature.values.nonce, permit2Signature.values.deadline, transactionRequest.data, permit2Signature.signature);
313
345
  }
314
- else {
315
- process = this.statusManager.findOrCreateProcess({
316
- step,
317
- type: currentProcessType,
318
- status: 'STARTED',
319
- });
320
- if (permitSignature) {
321
- transactionRequest.data = permitSignature.data;
322
- try {
323
- const estimatedGas = await (0, actions_1.estimateGas)(this.client, {
324
- account: this.client.account,
325
- to: transactionRequest.to,
326
- data: transactionRequest.data,
327
- value: transactionRequest.value,
328
- });
329
- transactionRequest.gas =
330
- transactionRequest.gas && transactionRequest.gas > estimatedGas
331
- ? transactionRequest.gas
332
- : estimatedGas;
333
- }
334
- catch {
335
- transactionRequest.gas = undefined;
336
- }
346
+ if (nativePermitSignature || permit2Supported) {
347
+ try {
348
+ transactionRequest.to = fromChain.permit2Proxy;
349
+ const estimatedGas = await (0, actions_1.estimateGas)(this.client, {
350
+ account: this.client.account,
351
+ to: transactionRequest.to,
352
+ data: transactionRequest.data,
353
+ value: transactionRequest.value,
354
+ });
355
+ transactionRequest.gas =
356
+ transactionRequest.gas && transactionRequest.gas > estimatedGas
357
+ ? transactionRequest.gas
358
+ : estimatedGas;
359
+ }
360
+ catch {
361
+ transactionRequest.gas = undefined;
362
+ }
363
+ finally {
364
+ this.statusManager.updateProcess(step, process.type, 'DONE');
337
365
  }
338
- process = this.statusManager.updateProcess(step, process.type, 'ACTION_REQUIRED');
339
- txHash = await (0, utils_1.getAction)(this.client, actions_1.sendTransaction, 'sendTransaction')({
340
- to: transactionRequest.to,
341
- account: this.client.account,
342
- data: transactionRequest.data,
343
- value: transactionRequest.value,
344
- gas: transactionRequest.gas,
345
- gasPrice: transactionRequest.gasPrice,
346
- maxFeePerGas: transactionRequest.maxFeePerGas,
347
- maxPriorityFeePerGas: transactionRequest.maxPriorityFeePerGas,
348
- chain: (0, utils_js_1.convertExtendedChain)(fromChain),
349
- });
350
366
  }
367
+ process = this.statusManager.updateProcess(step, process.type, 'ACTION_REQUIRED');
368
+ txHash = await (0, utils_1.getAction)(this.client, actions_1.sendTransaction, 'sendTransaction')({
369
+ to: transactionRequest.to,
370
+ account: this.client.account,
371
+ data: transactionRequest.data,
372
+ value: transactionRequest.value,
373
+ gas: transactionRequest.gas,
374
+ gasPrice: transactionRequest.gasPrice,
375
+ maxFeePerGas: transactionRequest.maxFeePerGas,
376
+ maxPriorityFeePerGas: transactionRequest.maxPriorityFeePerGas,
377
+ chain: (0, utils_js_2.convertExtendedChain)(fromChain),
378
+ });
351
379
  }
352
- process = this.statusManager.updateProcess(step, process.type, 'PENDING', atomicBatchSupported
353
- ? {
354
- atomicBatchSupported,
355
- }
356
- : isTransactionRelayed
357
- ? undefined
358
- : {
359
- txHash: txHash,
360
- txLink: `${fromChain.metamask.blockExplorerUrls[0]}tx/${txHash}`,
361
- });
380
+ process = this.statusManager.updateProcess(step, process.type, 'PENDING', {
381
+ txHash,
382
+ txType,
383
+ txLink: txType === 'standard'
384
+ ? `${fromChain.metamask.blockExplorerUrls[0]}tx/${txHash}`
385
+ : undefined,
386
+ });
362
387
  await this.waitForTransaction({
363
388
  step,
364
389
  process,
365
390
  fromChain,
366
391
  toChain,
367
- atomicBatchSupported,
368
- isRelayerTransaction,
369
392
  txHash,
393
+ txType,
370
394
  isBridgeExecution,
371
395
  });
372
396
  return step;
@@ -1 +1 @@
1
- {"version":3,"file":"EVMStepExecutor.js","sourceRoot":"","sources":["../../../core/EVM/EVMStepExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EVMStepExecutor.js","sourceRoot":"","sources":["../../../core/EVM/EVMStepExecutor.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,11 @@ exports.checkAllowance = void 0;
4
4
  const constants_js_1 = require("../../constants.js");
5
5
  const getAllowance_js_1 = require("./getAllowance.js");
6
6
  const parseEVMErrors_js_1 = require("./parseEVMErrors.js");
7
+ const getNativePermit_js_1 = require("./permits/getNativePermit.js");
8
+ const signNativePermitMessage_js_1 = require("./permits/signNativePermitMessage.js");
9
+ const utils_js_1 = require("./permits/utils.js");
7
10
  const setAllowance_js_1 = require("./setAllowance.js");
11
+ const typeguards_js_1 = require("./typeguards.js");
8
12
  const waitForTransactionReceipt_js_1 = require("./waitForTransactionReceipt.js");
9
13
  const checkAllowance = async ({ client, chain, step, statusManager, executionOptions, allowUserInteraction = false, atomicBatchSupported = false, permit2Supported = false, }) => {
10
14
  const allowanceProcess = statusManager.findOrCreateProcess({
@@ -15,7 +19,7 @@ const checkAllowance = async ({ client, chain, step, statusManager, executionOpt
15
19
  try {
16
20
  if (allowanceProcess.txHash && allowanceProcess.status !== 'DONE') {
17
21
  await waitForApprovalTransaction(client, allowanceProcess.txHash, allowanceProcess.type, step, chain, statusManager);
18
- return;
22
+ return { status: 'DONE' };
19
23
  }
20
24
  statusManager.updateProcess(step, allowanceProcess.type, 'STARTED');
21
25
  const spenderAddress = permit2Supported
@@ -25,19 +29,44 @@ const checkAllowance = async ({ client, chain, step, statusManager, executionOpt
25
29
  const approved = await (0, getAllowance_js_1.getAllowance)(chain.id, step.action.fromToken.address, client.account.address, spenderAddress);
26
30
  if (fromAmount <= approved) {
27
31
  statusManager.updateProcess(step, allowanceProcess.type, 'DONE');
28
- return;
32
+ return { status: 'DONE' };
29
33
  }
30
- if (!allowUserInteraction) {
31
- return;
34
+ const isRelayerTransaction = (0, typeguards_js_1.isRelayerStep)(step);
35
+ let nativePermitData;
36
+ if (isRelayerTransaction) {
37
+ const permitData = step.permits.find((p) => p.permitType === 'Permit')?.permitData;
38
+ if (permitData) {
39
+ nativePermitData = (0, utils_js_1.prettifyNativePermitData)(permitData);
40
+ }
41
+ }
42
+ else {
43
+ nativePermitData = await (0, getNativePermit_js_1.getNativePermit)(client, chain, step.action.fromToken.address, fromAmount);
32
44
  }
33
45
  statusManager.updateProcess(step, allowanceProcess.type, 'ACTION_REQUIRED');
46
+ if (!allowUserInteraction) {
47
+ return { status: 'ACTION_REQUIRED' };
48
+ }
49
+ const nativePermitSupported = !!nativePermitData && !!chain.permit2Proxy && !atomicBatchSupported;
50
+ if (nativePermitSupported && nativePermitData) {
51
+ const nativePermitSignature = await (0, signNativePermitMessage_js_1.signNativePermitMessage)(client, nativePermitData);
52
+ statusManager.updateProcess(step, allowanceProcess.type, 'DONE');
53
+ return { status: 'NATIVE_PERMIT', data: nativePermitSignature };
54
+ }
34
55
  const approveAmount = permit2Supported ? constants_js_1.MaxUint256 : fromAmount;
35
56
  const approveTxHash = await (0, setAllowance_js_1.setAllowance)(client, step.action.fromToken.address, spenderAddress, approveAmount, executionOptions, atomicBatchSupported);
36
57
  if (atomicBatchSupported) {
37
58
  statusManager.updateProcess(step, allowanceProcess.type, 'DONE');
38
- return approveTxHash;
59
+ return {
60
+ status: 'BATCH_APPROVAL',
61
+ data: {
62
+ to: step.action.fromToken.address,
63
+ data: approveTxHash,
64
+ chainId: step.action.fromToken.chainId,
65
+ },
66
+ };
39
67
  }
40
68
  await waitForApprovalTransaction(client, approveTxHash, allowanceProcess.type, step, chain, statusManager);
69
+ return { status: 'DONE' };
41
70
  }
42
71
  catch (e) {
43
72
  const error = await (0, parseEVMErrors_js_1.parseEVMErrors)(e, step, allowanceProcess);
@@ -1 +1 @@
1
- {"version":3,"file":"checkAllowance.js","sourceRoot":"","sources":["../../../core/EVM/checkAllowance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkAllowance.js","sourceRoot":"","sources":["../../../core/EVM/checkAllowance.ts"],"names":[],"mappings":";;;AAEA,qDAA+C;AAG/C,uDAAgD;AAChD,2DAAoD;AACpD,qEAA8D;AAC9D,qFAA8E;AAK9E,iDAA6D;AAC7D,uDAAgD;AAChD,mDAA+C;AAE/C,iFAA0E;AA0BnE,MAAM,cAAc,GAAG,KAAK,EAAE,EACnC,MAAM,EACN,KAAK,EACL,IAAI,EACJ,aAAa,EACb,gBAAgB,EAChB,oBAAoB,GAAG,KAAK,EAC5B,oBAAoB,GAAG,KAAK,EAC5B,gBAAgB,GAAG,KAAK,GACH,EAA4B,EAAE;IAEnD,MAAM,gBAAgB,GAAY,aAAa,CAAC,mBAAmB,CAAC;QAClE,IAAI;QACJ,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;KACjC,CAAC,CAAA;IAEF,IAAI,CAAC;QAEH,IAAI,gBAAgB,CAAC,MAAM,IAAI,gBAAgB,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAClE,MAAM,0BAA0B,CAC9B,MAAM,EACN,gBAAgB,CAAC,MAAiB,EAClC,gBAAgB,CAAC,IAAI,EACrB,IAAI,EACJ,KAAK,EACL,aAAa,CACd,CAAA;YACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;QAC3B,CAAC;QAGD,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QAEnE,MAAM,cAAc,GAAG,gBAAgB;YACrC,CAAC,CAAC,KAAK,CAAC,OAAO;YACf,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAA;QACjC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAEjD,MAAM,QAAQ,GAAG,MAAM,IAAA,8BAAY,EACjC,KAAK,CAAC,EAAE,EACR,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAkB,EACxC,MAAM,CAAC,OAAQ,CAAC,OAAO,EACvB,cAAyB,CAC1B,CAAA;QAGD,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;YAC3B,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAChE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;QAC3B,CAAC;QAED,MAAM,oBAAoB,GAAG,IAAA,6BAAa,EAAC,IAAI,CAAC,CAAA;QAEhD,IAAI,gBAA8C,CAAA;QAClD,IAAI,oBAAoB,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,CACjC,EAAE,UAAU,CAAA;YACb,IAAI,UAAU,EAAE,CAAC;gBACf,gBAAgB,GAAG,IAAA,mCAAwB,EAAC,UAAU,CAAC,CAAA;YACzD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,gBAAgB,GAAG,MAAM,IAAA,oCAAe,EACtC,MAAM,EACN,KAAK,EACL,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAkB,EACxC,UAAU,CACX,CAAA;QACH,CAAC;QAED,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;QAE3E,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAA;QACtC,CAAC;QAGD,MAAM,qBAAqB,GACzB,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,oBAAoB,CAAA;QAErE,IAAI,qBAAqB,IAAI,gBAAgB,EAAE,CAAC;YAC9C,MAAM,qBAAqB,GAAG,MAAM,IAAA,oDAAuB,EACzD,MAAM,EACN,gBAAgB,CACjB,CAAA;YACD,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAChE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAA;QACjE,CAAC;QAGD,MAAM,aAAa,GAAG,gBAAgB,CAAC,CAAC,CAAC,yBAAU,CAAC,CAAC,CAAC,UAAU,CAAA;QAChE,MAAM,aAAa,GAAG,MAAM,IAAA,8BAAY,EACtC,MAAM,EACN,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAkB,EACxC,cAAyB,EACzB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,CACrB,CAAA;QAED,IAAI,oBAAoB,EAAE,CAAC;YACzB,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAChE,OAAO;gBACL,MAAM,EAAE,gBAAgB;gBACxB,IAAI,EAAE;oBACJ,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAkB;oBAC5C,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO;iBACvC;aACF,CAAA;QACH,CAAC;QAED,MAAM,0BAA0B,CAC9B,MAAM,EACN,aAAa,EACb,gBAAgB,CAAC,IAAI,EACrB,IAAI,EACJ,KAAK,EACL,aAAa,CACd,CAAA;QAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;IAC3B,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,MAAM,KAAK,GAAG,MAAM,IAAA,kCAAc,EAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAA;QAC7D,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE;YACjE,KAAK,EAAE;gBACL,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO;gBAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB;SACF,CAAC,CAAA;QACF,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC7C,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAtIY,QAAA,cAAc,kBAsI1B;AAED,MAAM,0BAA0B,GAAG,KAAK,EACtC,MAAc,EACd,MAAY,EACZ,WAAwB,EACxB,IAAc,EACd,KAAoB,EACpB,aAA4B,EAC5B,EAAE;IACF,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;IAC3D,MAAM,SAAS,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,GAAG,eAAe,MAAM,IAAI,EAAE,CAAA;IAEhE,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;QACxD,MAAM;QACN,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC;KAC1B,CAAC,CAAA;IAEF,MAAM,kBAAkB,GAAG,MAAM,IAAA,wDAAyB,EAAC;QACzD,MAAM;QACN,OAAO,EAAE,KAAK,CAAC,EAAE;QACjB,MAAM;QACN,UAAU,CAAC,QAAQ;YACjB,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAA;YACzC,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;gBACxD,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC;aAC3B,CAAC,CAAA;QACJ,CAAC;KACF,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,kBAAkB,EAAE,eAAe,IAAI,MAAM,CAAA;IAC/D,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE;QACrD,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC;KAC7B,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkPermitSupport = void 0;
4
+ const types_1 = require("@lifi/types");
5
+ const config_js_1 = require("../../config.js");
6
+ const getAllowance_js_1 = require("./getAllowance.js");
7
+ const getNativePermit_js_1 = require("./permits/getNativePermit.js");
8
+ const publicClient_js_1 = require("./publicClient.js");
9
+ const checkPermitSupport = async ({ chain, tokenAddress, ownerAddress, amount, }) => {
10
+ const provider = config_js_1.config.getProvider(types_1.ChainType.EVM);
11
+ let client = await provider?.getWalletClient?.();
12
+ if (!client) {
13
+ client = await (0, publicClient_js_1.getPublicClient)(chain.id);
14
+ }
15
+ let nativePermit;
16
+ try {
17
+ nativePermit = await (0, getNativePermit_js_1.getNativePermit)(client, chain, tokenAddress, amount);
18
+ }
19
+ catch {
20
+ client = await (0, publicClient_js_1.getPublicClient)(chain.id);
21
+ nativePermit = await (0, getNativePermit_js_1.getNativePermit)(client, chain, tokenAddress, amount);
22
+ }
23
+ let permit2Allowance;
24
+ if (chain.permit2) {
25
+ permit2Allowance = await (0, getAllowance_js_1.getAllowance)(chain.id, tokenAddress, ownerAddress, chain.permit2);
26
+ }
27
+ return {
28
+ nativePermitSupported: !!nativePermit,
29
+ permit2AllowanceSufficient: !!permit2Allowance && permit2Allowance >= amount,
30
+ };
31
+ };
32
+ exports.checkPermitSupport = checkPermitSupport;
33
+ //# sourceMappingURL=checkPermitSupport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkPermitSupport.js","sourceRoot":"","sources":["../../../core/EVM/checkPermitSupport.ts"],"names":[],"mappings":";;;AACA,uCAAuC;AAEvC,+CAAwC;AACxC,uDAAgD;AAChD,qEAA8D;AAE9D,uDAAmD;AAsB5C,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACvC,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,MAAM,GAMP,EAA0B,EAAE;IAC3B,MAAM,QAAQ,GAAG,kBAAM,CAAC,WAAW,CAAC,iBAAS,CAAC,GAAG,CAA4B,CAAA;IAE7E,IAAI,MAAM,GAAG,MAAM,QAAQ,EAAE,eAAe,EAAE,EAAE,CAAA;IAEhD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,MAAM,IAAA,iCAAe,EAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC1C,CAAC;IAED,IAAI,YAA0C,CAAA;IAE9C,IAAI,CAAC;QACH,YAAY,GAAG,MAAM,IAAA,oCAAe,EAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAA;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,MAAM,IAAA,iCAAe,EAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACxC,YAAY,GAAG,MAAM,IAAA,oCAAe,EAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAA;IAC3E,CAAC;IAED,IAAI,gBAAoC,CAAA;IAExC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,gBAAgB,GAAG,MAAM,IAAA,8BAAY,EACnC,KAAK,CAAC,EAAE,EACR,YAAY,EACZ,YAAY,EACZ,KAAK,CAAC,OAAkB,CACzB,CAAA;IACH,CAAC;IAED,OAAO;QACL,qBAAqB,EAAE,CAAC,CAAC,YAAY;QACrC,0BAA0B,EACxB,CAAC,CAAC,gBAAgB,IAAI,gBAAgB,IAAI,MAAM;KACnD,CAAA;AACH,CAAC,CAAA;AA5CY,QAAA,kBAAkB,sBA4C9B"}