@lifi/sdk 3.5.0-beta.0 → 3.5.0

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 (156) hide show
  1. package/package.json +7 -7
  2. package/src/_cjs/constants.js +2 -4
  3. package/src/_cjs/constants.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 +77 -98
  7. package/src/_cjs/core/EVM/EVMStepExecutor.js.map +1 -1
  8. package/src/_cjs/core/EVM/abi.js +43 -36
  9. package/src/_cjs/core/EVM/abi.js.map +1 -1
  10. package/src/_cjs/core/EVM/checkAllowance.js +30 -36
  11. package/src/_cjs/core/EVM/checkAllowance.js.map +1 -1
  12. package/src/_cjs/core/EVM/getAllowance.js.map +1 -1
  13. package/src/_cjs/core/EVM/getEVMBalance.js.map +1 -1
  14. package/src/_cjs/core/EVM/multisig.js +29 -0
  15. package/src/_cjs/core/EVM/multisig.js.map +1 -0
  16. package/src/_cjs/core/EVM/parseEVMErrors.js +0 -3
  17. package/src/_cjs/core/EVM/parseEVMErrors.js.map +1 -1
  18. package/src/_cjs/core/EVM/setAllowance.js +6 -4
  19. package/src/_cjs/core/EVM/setAllowance.js.map +1 -1
  20. package/src/_cjs/core/EVM/switchChain.js +3 -2
  21. package/src/_cjs/core/EVM/switchChain.js.map +1 -1
  22. package/src/_cjs/core/EVM/types.js.map +1 -1
  23. package/src/_cjs/core/EVM/utils.js +1 -2
  24. package/src/_cjs/core/EVM/utils.js.map +1 -1
  25. package/src/_cjs/core/checkBalance.js +3 -3
  26. package/src/_cjs/core/checkBalance.js.map +1 -1
  27. package/src/_cjs/index.js.map +1 -1
  28. package/src/_cjs/version.js +1 -1
  29. package/src/_cjs/version.js.map +1 -1
  30. package/src/_esm/constants.js +1 -3
  31. package/src/_esm/constants.js.map +1 -1
  32. package/src/_esm/core/EVM/EVM.js +4 -0
  33. package/src/_esm/core/EVM/EVM.js.map +1 -1
  34. package/src/_esm/core/EVM/EVMStepExecutor.js +87 -126
  35. package/src/_esm/core/EVM/EVMStepExecutor.js.map +1 -1
  36. package/src/_esm/core/EVM/abi.js +42 -37
  37. package/src/_esm/core/EVM/abi.js.map +1 -1
  38. package/src/_esm/core/EVM/checkAllowance.js +32 -41
  39. package/src/_esm/core/EVM/checkAllowance.js.map +1 -1
  40. package/src/_esm/core/EVM/getAllowance.js.map +1 -1
  41. package/src/_esm/core/EVM/getEVMBalance.js.map +1 -1
  42. package/src/_esm/core/EVM/multisig.js +25 -0
  43. package/src/_esm/core/EVM/multisig.js.map +1 -0
  44. package/src/_esm/core/EVM/parseEVMErrors.js +0 -8
  45. package/src/_esm/core/EVM/parseEVMErrors.js.map +1 -1
  46. package/src/_esm/core/EVM/setAllowance.js +6 -4
  47. package/src/_esm/core/EVM/setAllowance.js.map +1 -1
  48. package/src/_esm/core/EVM/switchChain.js +3 -2
  49. package/src/_esm/core/EVM/switchChain.js.map +1 -1
  50. package/src/_esm/core/EVM/types.js.map +1 -1
  51. package/src/_esm/core/EVM/utils.js +1 -2
  52. package/src/_esm/core/EVM/utils.js.map +1 -1
  53. package/src/_esm/core/checkBalance.js +3 -3
  54. package/src/_esm/core/checkBalance.js.map +1 -1
  55. package/src/_esm/index.js.map +1 -1
  56. package/src/_esm/version.js +1 -1
  57. package/src/_esm/version.js.map +1 -1
  58. package/src/_types/constants.d.ts +1 -3
  59. package/src/_types/constants.d.ts.map +1 -1
  60. package/src/_types/core/EVM/EVM.d.ts.map +1 -1
  61. package/src/_types/core/EVM/EVMStepExecutor.d.ts +4 -7
  62. package/src/_types/core/EVM/EVMStepExecutor.d.ts.map +1 -1
  63. package/src/_types/core/EVM/abi.d.ts +5 -202
  64. package/src/_types/core/EVM/abi.d.ts.map +1 -1
  65. package/src/_types/core/EVM/checkAllowance.d.ts +2 -12
  66. package/src/_types/core/EVM/checkAllowance.d.ts.map +1 -1
  67. package/src/_types/core/EVM/getAllowance.d.ts +4 -5
  68. package/src/_types/core/EVM/getAllowance.d.ts.map +1 -1
  69. package/src/_types/core/EVM/getEVMBalance.d.ts +1 -2
  70. package/src/_types/core/EVM/getEVMBalance.d.ts.map +1 -1
  71. package/src/_types/core/EVM/multisig.d.ts +6 -0
  72. package/src/_types/core/EVM/multisig.d.ts.map +1 -0
  73. package/src/_types/core/EVM/setAllowance.d.ts +2 -2
  74. package/src/_types/core/EVM/setAllowance.d.ts.map +1 -1
  75. package/src/_types/core/EVM/switchChain.d.ts.map +1 -1
  76. package/src/_types/core/EVM/types.d.ts +18 -1
  77. package/src/_types/core/EVM/types.d.ts.map +1 -1
  78. package/src/_types/core/EVM/utils.d.ts +2 -2
  79. package/src/_types/core/EVM/utils.d.ts.map +1 -1
  80. package/src/_types/core/checkBalance.d.ts.map +1 -1
  81. package/src/_types/index.d.ts +1 -1
  82. package/src/_types/index.d.ts.map +1 -1
  83. package/src/_types/version.d.ts +1 -1
  84. package/src/_types/version.d.ts.map +1 -1
  85. package/src/constants.ts +1 -6
  86. package/src/core/EVM/EVM.ts +4 -0
  87. package/src/core/EVM/EVMStepExecutor.ts +145 -174
  88. package/src/core/EVM/abi.ts +43 -40
  89. package/src/core/EVM/checkAllowance.ts +92 -96
  90. package/src/core/EVM/getAllowance.ts +8 -8
  91. package/src/core/EVM/getEVMBalance.ts +2 -2
  92. package/src/core/EVM/multisig.ts +54 -0
  93. package/src/core/EVM/parseEVMErrors.ts +0 -8
  94. package/src/core/EVM/setAllowance.ts +21 -15
  95. package/src/core/EVM/switchChain.ts +12 -3
  96. package/src/core/EVM/types.ts +27 -1
  97. package/src/core/EVM/utils.ts +3 -4
  98. package/src/core/checkBalance.ts +3 -6
  99. package/src/index.ts +3 -0
  100. package/src/version.ts +1 -1
  101. package/src/_cjs/core/EVM/getNativePermit.js +0 -90
  102. package/src/_cjs/core/EVM/getNativePermit.js.map +0 -1
  103. package/src/_cjs/core/EVM/permit2/allowanceTransfer.js +0 -100
  104. package/src/_cjs/core/EVM/permit2/allowanceTransfer.js.map +0 -1
  105. package/src/_cjs/core/EVM/permit2/constants.js +0 -12
  106. package/src/_cjs/core/EVM/permit2/constants.js.map +0 -1
  107. package/src/_cjs/core/EVM/permit2/domain.js +0 -12
  108. package/src/_cjs/core/EVM/permit2/domain.js.map +0 -1
  109. package/src/_cjs/core/EVM/permit2/signatureTransfer.js +0 -121
  110. package/src/_cjs/core/EVM/permit2/signatureTransfer.js.map +0 -1
  111. package/src/_cjs/core/EVM/signPermitMessage.js +0 -168
  112. package/src/_cjs/core/EVM/signPermitMessage.js.map +0 -1
  113. package/src/_cjs/core/EVM/waitForBatchTransactionReceipt.js +0 -29
  114. package/src/_cjs/core/EVM/waitForBatchTransactionReceipt.js.map +0 -1
  115. package/src/_cjs/utils/invariant.js +0 -17
  116. package/src/_cjs/utils/invariant.js.map +0 -1
  117. package/src/_esm/core/EVM/getNativePermit.js +0 -95
  118. package/src/_esm/core/EVM/getNativePermit.js.map +0 -1
  119. package/src/_esm/core/EVM/permit2/allowanceTransfer.js +0 -93
  120. package/src/_esm/core/EVM/permit2/allowanceTransfer.js.map +0 -1
  121. package/src/_esm/core/EVM/permit2/constants.js +0 -9
  122. package/src/_esm/core/EVM/permit2/constants.js.map +0 -1
  123. package/src/_esm/core/EVM/permit2/domain.js +0 -9
  124. package/src/_esm/core/EVM/permit2/domain.js.map +0 -1
  125. package/src/_esm/core/EVM/permit2/signatureTransfer.js +0 -117
  126. package/src/_esm/core/EVM/permit2/signatureTransfer.js.map +0 -1
  127. package/src/_esm/core/EVM/signPermitMessage.js +0 -162
  128. package/src/_esm/core/EVM/signPermitMessage.js.map +0 -1
  129. package/src/_esm/core/EVM/waitForBatchTransactionReceipt.js +0 -25
  130. package/src/_esm/core/EVM/waitForBatchTransactionReceipt.js.map +0 -1
  131. package/src/_esm/utils/invariant.js +0 -43
  132. package/src/_esm/utils/invariant.js.map +0 -1
  133. package/src/_types/core/EVM/getNativePermit.d.ts +0 -18
  134. package/src/_types/core/EVM/getNativePermit.d.ts.map +0 -1
  135. package/src/_types/core/EVM/permit2/allowanceTransfer.d.ts +0 -41
  136. package/src/_types/core/EVM/permit2/allowanceTransfer.d.ts.map +0 -1
  137. package/src/_types/core/EVM/permit2/constants.d.ts +0 -8
  138. package/src/_types/core/EVM/permit2/constants.d.ts.map +0 -1
  139. package/src/_types/core/EVM/permit2/domain.d.ts +0 -8
  140. package/src/_types/core/EVM/permit2/domain.d.ts.map +0 -1
  141. package/src/_types/core/EVM/permit2/signatureTransfer.d.ts +0 -42
  142. package/src/_types/core/EVM/permit2/signatureTransfer.d.ts.map +0 -1
  143. package/src/_types/core/EVM/signPermitMessage.d.ts +0 -22
  144. package/src/_types/core/EVM/signPermitMessage.d.ts.map +0 -1
  145. package/src/_types/core/EVM/waitForBatchTransactionReceipt.d.ts +0 -4
  146. package/src/_types/core/EVM/waitForBatchTransactionReceipt.d.ts.map +0 -1
  147. package/src/_types/utils/invariant.d.ts +0 -22
  148. package/src/_types/utils/invariant.d.ts.map +0 -1
  149. package/src/core/EVM/getNativePermit.ts +0 -113
  150. package/src/core/EVM/permit2/allowanceTransfer.ts +0 -168
  151. package/src/core/EVM/permit2/constants.ts +0 -11
  152. package/src/core/EVM/permit2/domain.ts +0 -20
  153. package/src/core/EVM/permit2/signatureTransfer.ts +0 -214
  154. package/src/core/EVM/signPermitMessage.ts +0 -248
  155. package/src/core/EVM/waitForBatchTransactionReceipt.ts +0 -49
  156. package/src/utils/invariant.ts +0 -51
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "dependencies": {
3
- "@bigmi/core": "^0.0.5",
4
- "@lifi/types": "^16.4.1",
3
+ "@bigmi/core": "^0.1.0",
4
+ "@lifi/types": "^16.5.0",
5
5
  "@noble/curves": "^1.7.0",
6
6
  "@noble/hashes": "^1.6.1",
7
7
  "@solana/wallet-adapter-base": "^0.9.23",
8
- "@solana/web3.js": "^1.95.8",
8
+ "@solana/web3.js": "^1.98.0",
9
9
  "bech32": "^2.0.0",
10
10
  "bitcoinjs-lib": "^7.0.0-rc.0",
11
11
  "bs58": "^6.0.0",
12
- "viem": "^2.21.54"
12
+ "viem": "^2.22.1"
13
13
  },
14
14
  "description": "LI.FI Any-to-Any Cross-Chain-Swap SDK",
15
15
  "exports": {
@@ -55,8 +55,8 @@
55
55
  "name": "@lifi/sdk",
56
56
  "peerDependencies": {
57
57
  "@solana/wallet-adapter-base": "^0.9.0",
58
- "@solana/web3.js": "^1.93.0",
59
- "viem": "^2.16.0"
58
+ "@solana/web3.js": "^1.98.0",
59
+ "viem": "^2.21.0"
60
60
  },
61
61
  "repository": {
62
62
  "type": "git",
@@ -65,5 +65,5 @@
65
65
  "sideEffects": false,
66
66
  "types": "./src/_types/index.d.ts",
67
67
  "typings": "./src/_types/index.d.ts",
68
- "version": "3.5.0-beta.0"
68
+ "version": "3.5.0"
69
69
  }
@@ -1,10 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MaxUint256 = exports.MaxUint160 = exports.MaxUint48 = exports.SolSystemProgram = exports.AlternativeAddressZero = exports.AddressZero = void 0;
3
+ exports.SolSystemProgram = exports.wrappedSolAddress = exports.AlternativeAddressZero = exports.AddressZero = void 0;
4
4
  exports.AddressZero = '0x0000000000000000000000000000000000000000';
5
5
  exports.AlternativeAddressZero = '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee';
6
+ exports.wrappedSolAddress = 'So11111111111111111111111111111111111111112';
6
7
  exports.SolSystemProgram = '11111111111111111111111111111111';
7
- exports.MaxUint48 = BigInt('0xffffffffffff');
8
- exports.MaxUint160 = BigInt('0xffffffffffffffffffffffffffffffffffffffff');
9
- exports.MaxUint256 = BigInt(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn);
10
8
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,4CAA4C,CAAA;AAC1D,QAAA,sBAAsB,GACjC,4CAA4C,CAAA;AAEjC,QAAA,gBAAgB,GAAG,kCAAkC,CAAA;AAErD,QAAA,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAA;AACpC,QAAA,UAAU,GAAG,MAAM,CAAC,4CAA4C,CAAC,CAAA;AACjE,QAAA,UAAU,GACrB,MAAM,CAAC,mEAAmE,CAAC,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,4CAA4C,CAAA;AAC1D,QAAA,sBAAsB,GACjC,4CAA4C,CAAA;AACjC,QAAA,iBAAiB,GAAG,6CAA6C,CAAA;AACjE,QAAA,gBAAgB,GAAG,kCAAkC,CAAA"}
@@ -12,6 +12,9 @@ function EVM(options) {
12
12
  get type() {
13
13
  return types_1.ChainType.EVM;
14
14
  },
15
+ get multisig() {
16
+ return _options.multisig;
17
+ },
15
18
  isAddress: viem_1.isAddress,
16
19
  resolveAddress: getENSAddress_js_1.getENSAddress,
17
20
  getBalance: getEVMBalance_js_1.getEVMBalance,
@@ -22,6 +25,7 @@ function EVM(options) {
22
25
  const walletClient = await _options.getWalletClient();
23
26
  const executor = new EVMStepExecutor_js_1.EVMStepExecutor({
24
27
  client: walletClient,
28
+ multisig: _options.multisig,
25
29
  routeId: options.routeId,
26
30
  executionOptions: {
27
31
  ...options.executionOptions,
@@ -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,QAAQ;YACV,OAAO,QAAQ,CAAC,QAAQ,CAAA;QAC1B,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,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,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"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EVMStepExecutor = void 0;
4
4
  const actions_1 = require("viem/actions");
5
- const experimental_1 = require("viem/experimental");
5
+ const utils_1 = require("viem/utils");
6
6
  const config_js_1 = require("../../config.js");
7
7
  const constants_js_1 = require("../../errors/constants.js");
8
8
  const errors_js_1 = require("../../errors/errors.js");
@@ -15,12 +15,10 @@ const processMessages_js_1 = require("../processMessages.js");
15
15
  const stepComparison_js_1 = require("../stepComparison.js");
16
16
  const waitForReceivingTransaction_js_1 = require("../waitForReceivingTransaction.js");
17
17
  const checkAllowance_js_1 = require("./checkAllowance.js");
18
- const getNativePermit_js_1 = require("./getNativePermit.js");
18
+ const multisig_js_1 = require("./multisig.js");
19
19
  const parseEVMErrors_js_1 = require("./parseEVMErrors.js");
20
- const signPermitMessage_js_1 = require("./signPermitMessage.js");
21
20
  const switchChain_js_1 = require("./switchChain.js");
22
21
  const utils_js_1 = require("./utils.js");
23
- const waitForBatchTransactionReceipt_js_1 = require("./waitForBatchTransactionReceipt.js");
24
22
  const waitForTransactionReceipt_js_1 = require("./waitForTransactionReceipt.js");
25
23
  class EVMStepExecutor extends BaseStepExecutor_js_1.BaseStepExecutor {
26
24
  constructor(options) {
@@ -31,6 +29,12 @@ class EVMStepExecutor extends BaseStepExecutor_js_1.BaseStepExecutor {
31
29
  writable: true,
32
30
  value: void 0
33
31
  });
32
+ Object.defineProperty(this, "multisig", {
33
+ enumerable: true,
34
+ configurable: true,
35
+ writable: true,
36
+ value: void 0
37
+ });
34
38
  Object.defineProperty(this, "checkClient", {
35
39
  enumerable: true,
36
40
  configurable: true,
@@ -42,7 +46,7 @@ class EVMStepExecutor extends BaseStepExecutor_js_1.BaseStepExecutor {
42
46
  }
43
47
  let accountAddress = this.client.account?.address;
44
48
  if (!accountAddress) {
45
- const accountAddresses = await (0, actions_1.getAddresses)(this.client);
49
+ const accountAddresses = (await (0, utils_1.getAction)(this.client, actions_1.getAddresses, 'getAddresses')(undefined));
46
50
  accountAddress = accountAddresses?.[0];
47
51
  }
48
52
  if (accountAddress !== step.action.fromAddress) {
@@ -79,47 +83,26 @@ class EVMStepExecutor extends BaseStepExecutor_js_1.BaseStepExecutor {
79
83
  return step;
80
84
  }
81
85
  }
86
+ const isMultisigClient = !!this.multisig?.isMultisigWalletClient;
87
+ const multisigBatchTransactions = [];
88
+ const shouldBatchTransactions = this.multisig?.shouldBatchTransactions &&
89
+ !!this.multisig.sendBatchTransaction;
82
90
  const fromChain = await config_js_1.config.getChainById(step.action.fromChainId);
83
91
  const toChain = await config_js_1.config.getChainById(step.action.toChainId);
84
- let atomicBatchSupported = false;
85
- try {
86
- const capabilities = await (0, experimental_1.getCapabilities)(this.client);
87
- atomicBatchSupported = capabilities[fromChain.id]?.atomicBatch?.supported;
88
- }
89
- catch {
90
- }
91
- const calls = [];
92
92
  const isBridgeExecution = fromChain.id !== toChain.id;
93
93
  const currentProcessType = isBridgeExecution ? 'CROSS_CHAIN' : 'SWAP';
94
94
  const existingProcess = step.execution.process.find((p) => p.type === currentProcessType);
95
- const nativePermit = await (0, getNativePermit_js_1.getNativePermit)(this.client, fromChain, step.action.fromToken.address);
96
- const nativePermitSupported = !!fromChain.permit2Proxy &&
97
- nativePermit.supported &&
98
- !atomicBatchSupported;
99
- const permit2Supported = !!fromChain.permit2 && !!fromChain.permit2Proxy && !atomicBatchSupported;
100
- const permitSupported = permit2Supported || nativePermitSupported;
101
95
  const checkForAllowance = !existingProcess?.txHash &&
102
96
  !(0, isZeroAddress_js_1.isZeroAddress)(step.action.fromToken.address) &&
103
- !nativePermitSupported;
97
+ (shouldBatchTransactions || !isMultisigClient);
104
98
  if (checkForAllowance) {
105
- const data = await (0, checkAllowance_js_1.checkAllowance)({
106
- client: this.client,
107
- chain: fromChain,
108
- step,
109
- statusManager: this.statusManager,
110
- executionOptions: this.executionOptions,
111
- allowUserInteraction: this.allowUserInteraction,
112
- atomicBatchSupported,
113
- permit2Supported,
114
- });
99
+ const data = await (0, checkAllowance_js_1.checkAllowance)(this.client, fromChain, step, this.statusManager, this.executionOptions, this.allowUserInteraction, shouldBatchTransactions);
115
100
  if (data) {
116
- if (atomicBatchSupported) {
117
- calls.push({
118
- chainId: step.action.fromToken.chainId,
119
- to: step.action.fromToken.address,
120
- data,
121
- });
122
- }
101
+ const baseTransaction = {
102
+ to: step.action.fromToken.address,
103
+ data,
104
+ };
105
+ multisigBatchTransactions.push(baseTransaction);
123
106
  }
124
107
  }
125
108
  let process = this.statusManager.findOrCreateProcess({
@@ -128,7 +111,15 @@ class EVMStepExecutor extends BaseStepExecutor_js_1.BaseStepExecutor {
128
111
  chainId: fromChain.id,
129
112
  });
130
113
  if (process.status !== 'DONE') {
114
+ const multisigProcess = step.execution.process.find((p) => !!p.multisigTxHash);
131
115
  try {
116
+ if (isMultisigClient && multisigProcess) {
117
+ const multisigTxHash = multisigProcess.multisigTxHash;
118
+ if (!multisigTxHash) {
119
+ throw new errors_js_1.ValidationError('Multisig internal transaction hash is undefined.');
120
+ }
121
+ await (0, multisig_js_1.updateMultisigRouteProcess)(multisigTxHash, step, process.type, fromChain, this.statusManager, this.multisig);
122
+ }
132
123
  let txHash;
133
124
  if (process.txHash) {
134
125
  const updatedClient = await this.checkClient(step, process);
@@ -152,6 +143,14 @@ class EVMStepExecutor extends BaseStepExecutor_js_1.BaseStepExecutor {
152
143
  if (!step.transactionRequest) {
153
144
  throw new errors_js_1.TransactionError(constants_js_1.LiFiErrorCode.TransactionUnprepared, 'Unable to prepare transaction.');
154
145
  }
146
+ const updatedClient = await this.checkClient(step, process);
147
+ if (!updatedClient) {
148
+ return step;
149
+ }
150
+ process = this.statusManager.updateProcess(step, process.type, 'ACTION_REQUIRED');
151
+ if (!this.allowUserInteraction) {
152
+ return step;
153
+ }
155
154
  let transactionRequest = {
156
155
  to: step.transactionRequest.to,
157
156
  from: step.transactionRequest.from,
@@ -178,46 +177,22 @@ class EVMStepExecutor extends BaseStepExecutor_js_1.BaseStepExecutor {
178
177
  ...customizedTransactionRequest,
179
178
  };
180
179
  }
181
- const updatedClient = await this.checkClient(step, process);
182
- if (!updatedClient) {
183
- return step;
184
- }
185
- process = this.statusManager.updateProcess(step, process.type, permitSupported ? 'PERMIT_REQUIRED' : 'ACTION_REQUIRED');
186
- if (!this.allowUserInteraction) {
187
- return step;
188
- }
189
- if (atomicBatchSupported) {
190
- const transferCall = {
191
- chainId: fromChain.id,
192
- data: transactionRequest.data,
193
- to: transactionRequest.to,
194
- value: transactionRequest.value,
195
- };
196
- calls.push(transferCall);
197
- txHash = (await (0, experimental_1.sendCalls)(this.client, {
198
- account: this.client.account,
199
- calls,
200
- }));
180
+ if (shouldBatchTransactions && this.multisig?.sendBatchTransaction) {
181
+ if (transactionRequest.to && transactionRequest.data) {
182
+ const populatedTransaction = {
183
+ value: transactionRequest.value,
184
+ to: transactionRequest.to,
185
+ data: transactionRequest.data,
186
+ };
187
+ multisigBatchTransactions.push(populatedTransaction);
188
+ txHash = await this.multisig?.sendBatchTransaction(multisigBatchTransactions);
189
+ }
190
+ else {
191
+ throw new errors_js_1.TransactionError(constants_js_1.LiFiErrorCode.TransactionUnprepared, 'Unable to prepare transaction.');
192
+ }
201
193
  }
202
194
  else {
203
- if (permitSupported) {
204
- const { data } = await (0, signPermitMessage_js_1.signPermitMessage)(this.client, transactionRequest, fromChain, step.action.fromToken.address, BigInt(step.action.fromAmount), nativePermit);
205
- transactionRequest.to = fromChain.permit2Proxy;
206
- transactionRequest.data = data;
207
- try {
208
- transactionRequest.gas = await (0, actions_1.estimateGas)(this.client, {
209
- account: this.client.account,
210
- to: transactionRequest.to,
211
- data: transactionRequest.data,
212
- value: transactionRequest.value,
213
- });
214
- }
215
- catch {
216
- transactionRequest.gas = undefined;
217
- }
218
- process = this.statusManager.updateProcess(step, process.type, 'ACTION_REQUIRED');
219
- }
220
- txHash = await (0, actions_1.sendTransaction)(this.client, {
195
+ txHash = await (0, utils_1.getAction)(this.client, actions_1.sendTransaction, 'sendTransaction')({
221
196
  to: transactionRequest.to,
222
197
  account: this.client.account,
223
198
  data: transactionRequest.data,
@@ -226,35 +201,37 @@ class EVMStepExecutor extends BaseStepExecutor_js_1.BaseStepExecutor {
226
201
  gasPrice: transactionRequest.gasPrice,
227
202
  maxFeePerGas: transactionRequest.maxFeePerGas,
228
203
  maxPriorityFeePerGas: transactionRequest.maxPriorityFeePerGas,
204
+ chain: null,
229
205
  });
230
206
  }
231
- process = this.statusManager.updateProcess(step, process.type, 'PENDING', atomicBatchSupported
232
- ? {
233
- atomicBatchSupported,
234
- }
235
- : {
207
+ if (isMultisigClient) {
208
+ process = this.statusManager.updateProcess(step, process.type, 'ACTION_REQUIRED', {
209
+ multisigTxHash: txHash,
210
+ });
211
+ }
212
+ else {
213
+ process = this.statusManager.updateProcess(step, process.type, 'PENDING', {
236
214
  txHash: txHash,
237
215
  txLink: `${fromChain.metamask.blockExplorerUrls[0]}tx/${txHash}`,
238
216
  });
217
+ }
239
218
  }
240
- let transactionReceipt;
241
- if (atomicBatchSupported) {
242
- transactionReceipt = await (0, waitForBatchTransactionReceipt_js_1.waitForBatchTransactionReceipt)(this.client, txHash);
243
- }
244
- else {
245
- transactionReceipt = await (0, waitForTransactionReceipt_js_1.waitForTransactionReceipt)({
246
- client: this.client,
247
- chainId: fromChain.id,
248
- txHash,
249
- onReplaced: (response) => {
250
- this.statusManager.updateProcess(step, process.type, 'PENDING', {
251
- txHash: response.transaction.hash,
252
- txLink: `${fromChain.metamask.blockExplorerUrls[0]}tx/${response.transaction.hash}`,
253
- });
254
- },
255
- });
219
+ const transactionReceipt = await (0, waitForTransactionReceipt_js_1.waitForTransactionReceipt)({
220
+ client: this.client,
221
+ chainId: fromChain.id,
222
+ txHash,
223
+ onReplaced: (response) => {
224
+ this.statusManager.updateProcess(step, process.type, 'PENDING', {
225
+ txHash: response.transaction.hash,
226
+ txLink: `${fromChain.metamask.blockExplorerUrls[0]}tx/${response.transaction.hash}`,
227
+ });
228
+ },
229
+ });
230
+ if (isMultisigClient && process.status === 'ACTION_REQUIRED') {
231
+ await (0, multisig_js_1.updateMultisigRouteProcess)(transactionReceipt?.transactionHash || txHash, step, process.type, fromChain, this.statusManager, this.multisig);
256
232
  }
257
- if (transactionReceipt?.transactionHash &&
233
+ if (!isMultisigClient &&
234
+ transactionReceipt?.transactionHash &&
258
235
  transactionReceipt.transactionHash !== txHash) {
259
236
  process = this.statusManager.updateProcess(step, process.type, 'PENDING', {
260
237
  txHash: transactionReceipt.transactionHash,
@@ -286,11 +263,12 @@ class EVMStepExecutor extends BaseStepExecutor_js_1.BaseStepExecutor {
286
263
  chainId: toChain.id,
287
264
  });
288
265
  }
266
+ let statusResponse;
289
267
  try {
290
268
  if (!processTxHash) {
291
269
  throw new Error('Transaction hash is undefined.');
292
270
  }
293
- const statusResponse = (await (0, waitForReceivingTransaction_js_1.waitForReceivingTransaction)(processTxHash, this.statusManager, process.type, step));
271
+ statusResponse = (await (0, waitForReceivingTransaction_js_1.waitForReceivingTransaction)(processTxHash, this.statusManager, process.type, step));
294
272
  const statusReceiving = statusResponse.receiving;
295
273
  process = this.statusManager.updateProcess(step, process.type, 'DONE', {
296
274
  substatus: statusResponse.substatus,
@@ -332,6 +310,7 @@ class EVMStepExecutor extends BaseStepExecutor_js_1.BaseStepExecutor {
332
310
  }
333
311
  });
334
312
  this.client = options.client;
313
+ this.multisig = options.multisig;
335
314
  }
336
315
  }
337
316
  exports.EVMStepExecutor = EVMStepExecutor;
@@ -1 +1 @@
1
- {"version":3,"file":"EVMStepExecutor.js","sourceRoot":"","sources":["../../../core/EVM/EVMStepExecutor.ts"],"names":[],"mappings":";;;AAaA,0CAAyE;AACzE,oDAA8D;AAC9D,+CAAwC;AACxC,4DAAyD;AACzD,sDAAyD;AACzD,kDAA0D;AAC1D,mFAAkF;AAClF,mEAA4D;AAC5D,gEAAyD;AACzD,wDAAiD;AACjD,8DAA2D;AAC3D,4DAAqD;AAMrD,sFAA+E;AAC/E,2DAAoD;AACpD,6DAAsD;AACtD,2DAAoD;AACpD,iEAA0D;AAC1D,qDAA8C;AAC9C,yCAAoD;AACpD,2FAG4C;AAC5C,iFAA0E;AAa1E,MAAa,eAAgB,SAAQ,sCAAgB;IAGnD,YAAY,OAA+B;QACzC,KAAK,CAAC,OAAO,CAAC,CAAA;QAHR;;;;;WAAc;QAQtB;;;;mBAAc,KAAK,EAAE,IAAsB,EAAE,OAAiB,EAAE,EAAE;gBAChE,MAAM,aAAa,GAAG,MAAM,IAAA,4BAAW,EACrC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,aAAa,EAClB,IAAI,EACJ,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,gBAAgB,EAAE,eAAe,CACvC,CAAA;gBACD,IAAI,aAAa,EAAE,CAAC;oBAClB,IAAI,CAAC,MAAM,GAAG,aAAa,CAAA;gBAC7B,CAAC;gBAGD,IAAI,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAA;gBACjD,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,MAAM,gBAAgB,GAAG,MAAM,IAAA,sBAAY,EAAC,IAAI,CAAC,MAAM,CAAC,CAAA;oBACxD,cAAc,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAA;gBACxC,CAAC;gBACD,IAAI,cAAc,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;oBAC/C,IAAI,eAAe,GAAG,OAAO,CAAA;oBAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;wBAErB,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC;4BACvD,IAAI;4BACJ,IAAI,EAAE,aAAa;yBACpB,CAAC,CAAA;oBACJ,CAAC;oBACD,MAAM,YAAY,GAChB,mHAAmH,CAAA;oBACrH,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE;wBACrE,KAAK,EAAE;4BACL,IAAI,EAAE,4BAAa,CAAC,4BAA4B;4BAChD,OAAO,EAAE,YAAY;yBACtB;qBACF,CAAC,CAAA;oBACF,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;oBAClD,MAAM,MAAM,IAAA,kCAAc,EACxB,IAAI,4BAAgB,CAClB,4BAAa,CAAC,4BAA4B,EAC1C,YAAY,CACb,EACD,IAAI,EACJ,OAAO,CACR,CAAA;gBACH,CAAC;gBACD,OAAO,aAAa,CAAA;YACtB,CAAC;WAAA;QAED;;;;mBAAc,KAAK,EAAE,IAAsB,EAA6B,EAAE;gBACxE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;gBAG7D,MAAM,qBAAqB,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CACxD,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,iBAAiB,CAChD,CAAA;gBAMD,IAAI,qBAAqB,EAAE,SAAS,KAAK,8BAA8B,EAAE,CAAC;oBACxE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;oBAClD,IAAI,CAAC,aAAa,EAAE,CAAC;wBACnB,OAAO,IAAI,CAAA;oBACb,CAAC;gBACH,CAAC;gBAED,MAAM,SAAS,GAAG,MAAM,kBAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;gBACpE,MAAM,OAAO,GAAG,MAAM,kBAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;gBAEhE,IAAI,oBAAoB,GAAG,KAAK,CAAA;gBAChC,IAAI,CAAC;oBACH,MAAM,YAAY,GAAG,MAAM,IAAA,8BAAe,EAAC,IAAI,CAAC,MAAM,CAAC,CAAA;oBACvD,oBAAoB,GAAG,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,SAAS,CAAA;gBAC3E,CAAC;gBAAC,MAAM,CAAC;gBAET,CAAC;gBAED,MAAM,KAAK,GAAW,EAAE,CAAA;gBAExB,MAAM,iBAAiB,GAAG,SAAS,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAA;gBACrD,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAA;gBAIrE,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CACjD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CACrC,CAAA;gBAQD,MAAM,YAAY,GAAG,MAAM,IAAA,oCAAe,EACxC,IAAI,CAAC,MAAM,EACX,SAAS,EACT,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAkB,CACzC,CAAA;gBAED,MAAM,qBAAqB,GACzB,CAAC,CAAC,SAAS,CAAC,YAAY;oBACxB,YAAY,CAAC,SAAS;oBACtB,CAAC,oBAAoB,CAAA;gBAEvB,MAAM,gBAAgB,GACpB,CAAC,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,CAAC,SAAS,CAAC,YAAY,IAAI,CAAC,oBAAoB,CAAA;gBAE1E,MAAM,eAAe,GAAG,gBAAgB,IAAI,qBAAqB,CAAA;gBAEjE,MAAM,iBAAiB,GAErB,CAAC,eAAe,EAAE,MAAM;oBAExB,CAAC,IAAA,gCAAa,EAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;oBAE7C,CAAC,qBAAqB,CAAA;gBAExB,IAAI,iBAAiB,EAAE,CAAC;oBAEtB,MAAM,IAAI,GAAG,MAAM,IAAA,kCAAc,EAAC;wBAChC,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,KAAK,EAAE,SAAS;wBAChB,IAAI;wBACJ,aAAa,EAAE,IAAI,CAAC,aAAa;wBACjC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;wBACvC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;wBAC/C,oBAAoB;wBACpB,gBAAgB;qBACjB,CAAC,CAAA;oBAEF,IAAI,IAAI,EAAE,CAAC;wBAGT,IAAI,oBAAoB,EAAE,CAAC;4BACzB,KAAK,CAAC,IAAI,CAAC;gCACT,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO;gCACtC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAkB;gCAC5C,IAAI;6BACL,CAAC,CAAA;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;gBAGD,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC;oBACnD,IAAI;oBACJ,IAAI,EAAE,kBAAkB;oBACxB,OAAO,EAAE,SAAS,CAAC,EAAE;iBACtB,CAAC,CAAA;gBAEF,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAC9B,IAAI,CAAC;wBACH,IAAI,MAAY,CAAA;wBAChB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;4BAEnB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;4BAC3D,IAAI,CAAC,aAAa,EAAE,CAAC;gCACnB,OAAO,IAAI,CAAA;4BACb,CAAC;4BAGD,MAAM,GAAG,OAAO,CAAC,MAAc,CAAA;wBACjC,CAAC;6BAAM,CAAC;4BACN,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CACxC,IAAI,EACJ,OAAO,CAAC,IAAI,EACZ,SAAS,CACV,CAAA;4BAGD,MAAM,IAAA,8BAAY,EAAC,IAAI,CAAC,MAAM,CAAC,OAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;4BAGtD,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gCAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAA;gCACvC,MAAM,WAAW,GAAG,MAAM,IAAA,2BAAkB,EAAC,QAAQ,CAAC,CAAA;gCACtD,MAAM,YAAY,GAAG,MAAM,IAAA,kCAAc,EACvC,IAAI,CAAC,aAAa,EAClB,IAAI,EACJ,WAAW,EACX,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,gBAAgB,CACtB,CAAA;gCACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;oCAClB,GAAG,YAAY;oCACf,SAAS,EAAE,IAAI,CAAC,SAAS;iCAC1B,CAAC,CAAA;4BACJ,CAAC;4BAED,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gCAC7B,MAAM,IAAI,4BAAgB,CACxB,4BAAa,CAAC,qBAAqB,EACnC,gCAAgC,CACjC,CAAA;4BACH,CAAC;4BAED,IAAI,kBAAkB,GAA0B;gCAC9C,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE;gCAC9B,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI;gCAClC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI;gCAClC,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK;oCAClC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;oCACvC,CAAC,CAAC,SAAS;gCACb,GAAG,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ;oCACnC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;oCAC1C,CAAC,CAAC,SAAS;gCAOb,oBAAoB,EAClB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,KAAK,OAAO;oCACnC,CAAC,CAAC,MAAM,IAAA,kCAAuB,EAAC,IAAI,CAAC,MAAM,CAAC;oCAC5C,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,oBAAoB;wCAC5C,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC;wCACtD,CAAC,CAAC,SAAS;6BAClB,CAAA;4BAED,IAAI,IAAI,CAAC,gBAAgB,EAAE,4BAA4B,EAAE,CAAC;gCACxD,MAAM,4BAA4B,GAChC,MAAM,IAAI,CAAC,gBAAgB,CAAC,4BAA4B,CAAC;oCACvD,WAAW,EAAE,aAAa;oCAC1B,GAAG,kBAAkB;iCACtB,CAAC,CAAA;gCAEJ,kBAAkB,GAAG;oCACnB,GAAG,kBAAkB;oCACrB,GAAG,4BAA4B;iCAChC,CAAA;4BACH,CAAC;4BAID,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;4BAC3D,IAAI,CAAC,aAAa,EAAE,CAAC;gCACnB,OAAO,IAAI,CAAA;4BACb,CAAC;4BAED,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CACxC,IAAI,EACJ,OAAO,CAAC,IAAI,EACZ,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CACxD,CAAA;4BAED,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;gCAC/B,OAAO,IAAI,CAAA;4BACb,CAAC;4BAED,IAAI,oBAAoB,EAAE,CAAC;gCACzB,MAAM,YAAY,GAAS;oCACzB,OAAO,EAAE,SAAS,CAAC,EAAE;oCACrB,IAAI,EAAE,kBAAkB,CAAC,IAAW;oCACpC,EAAE,EAAE,kBAAkB,CAAC,EAAa;oCACpC,KAAK,EAAE,kBAAkB,CAAC,KAAK;iCAChC,CAAA;gCAED,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;gCAExB,MAAM,GAAG,CAAC,MAAM,IAAA,wBAAS,EAAC,IAAI,CAAC,MAAM,EAAE;oCACrC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAQ;oCAC7B,KAAK;iCACN,CAAC,CAAY,CAAA;4BAChB,CAAC;iCAAM,CAAC;gCACN,IAAI,eAAe,EAAE,CAAC;oCACpB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,wCAAiB,EACtC,IAAI,CAAC,MAAM,EACX,kBAAkB,EAClB,SAAS,EACT,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAkB,EACxC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAC9B,YAAY,CACb,CAAA;oCAED,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,YAAY,CAAA;oCAC9C,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAA;oCAE9B,IAAI,CAAC;wCAEH,kBAAkB,CAAC,GAAG,GAAG,MAAM,IAAA,qBAAW,EAAC,IAAI,CAAC,MAAM,EAAE;4CACtD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAQ;4CAC7B,EAAE,EAAE,kBAAkB,CAAC,EAAa;4CACpC,IAAI,EAAE,kBAAkB,CAAC,IAAW;4CACpC,KAAK,EAAE,kBAAkB,CAAC,KAAK;yCAChC,CAAC,CAAA;oCACJ,CAAC;oCAAC,MAAM,CAAC;wCAEP,kBAAkB,CAAC,GAAG,GAAG,SAAS,CAAA;oCACpC,CAAC;oCAED,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CACxC,IAAI,EACJ,OAAO,CAAC,IAAI,EACZ,iBAAiB,CAClB,CAAA;gCACH,CAAC;gCAED,MAAM,GAAG,MAAM,IAAA,yBAAe,EAAC,IAAI,CAAC,MAAM,EAAE;oCAC1C,EAAE,EAAE,kBAAkB,CAAC,EAAE;oCACzB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAQ;oCAC7B,IAAI,EAAE,kBAAkB,CAAC,IAAI;oCAC7B,KAAK,EAAE,kBAAkB,CAAC,KAAK;oCAC/B,GAAG,EAAE,kBAAkB,CAAC,GAAG;oCAC3B,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;oCACrC,YAAY,EAAE,kBAAkB,CAAC,YAAY;oCAC7C,oBAAoB,EAAE,kBAAkB,CAAC,oBAAoB;iCACjC,CAAC,CAAA;4BACjC,CAAC;4BAGD,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CACxC,IAAI,EACJ,OAAO,CAAC,IAAI,EACZ,SAAS,EAET,oBAAoB;gCAClB,CAAC,CAAC;oCACE,oBAAoB;iCACrB;gCACH,CAAC,CAAC;oCACE,MAAM,EAAE,MAAM;oCACd,MAAM,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,MAAM,EAAE;iCACjE,CACN,CAAA;wBACH,CAAC;wBAED,IAAI,kBAGS,CAAA;wBAEb,IAAI,oBAAoB,EAAE,CAAC;4BACzB,kBAAkB,GAAG,MAAM,IAAA,kEAA8B,EACvD,IAAI,CAAC,MAAM,EACX,MAAM,CACP,CAAA;wBACH,CAAC;6BAAM,CAAC;4BACN,kBAAkB,GAAG,MAAM,IAAA,wDAAyB,EAAC;gCACnD,MAAM,EAAE,IAAI,CAAC,MAAM;gCACnB,OAAO,EAAE,SAAS,CAAC,EAAE;gCACrB,MAAM;gCACN,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;oCACvB,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE;wCAC9D,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI;wCACjC,MAAM,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE;qCACpF,CAAC,CAAA;gCACJ,CAAC;6BACF,CAAC,CAAA;wBACJ,CAAC;wBAID,IACE,kBAAkB,EAAE,eAAe;4BACnC,kBAAkB,CAAC,eAAe,KAAK,MAAM,EAC7C,CAAC;4BACD,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CACxC,IAAI,EACJ,OAAO,CAAC,IAAI,EACZ,SAAS,EACT;gCACE,MAAM,EAAE,kBAAkB,CAAC,eAAe;gCAC1C,MAAM,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,kBAAkB,CAAC,eAAe,EAAE;6BAC7F,CACF,CAAA;wBACH,CAAC;wBAED,IAAI,iBAAiB,EAAE,CAAC;4BACtB,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;wBACxE,CAAC;oBACH,CAAC;oBAAC,OAAO,CAAM,EAAE,CAAC;wBAChB,MAAM,KAAK,GAAG,MAAM,IAAA,kCAAc,EAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;wBACpD,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CACxC,IAAI,EACJ,OAAO,CAAC,IAAI,EACZ,QAAQ,EACR;4BACE,KAAK,EAAE;gCACL,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO;gCAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;6BACjB;yBACF,CACF,CAAA;wBACD,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;wBAElD,MAAM,KAAK,CAAA;oBACb,CAAC;gBACH,CAAC;gBAGD,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAA;gBACpC,IAAI,iBAAiB,EAAE,CAAC;oBACtB,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC;wBAC/C,IAAI;wBACJ,IAAI,EAAE,iBAAiB;wBACvB,MAAM,EAAE,SAAS;wBACjB,OAAO,EAAE,OAAO,CAAC,EAAE;qBACpB,CAAC,CAAA;gBACJ,CAAC;gBAED,IAAI,CAAC;oBACH,IAAI,CAAC,aAAa,EAAE,CAAC;wBACnB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;oBACnD,CAAC;oBACD,MAAM,cAAc,GAAG,CAAC,MAAM,IAAA,4DAA2B,EACvD,aAAa,EACb,IAAI,CAAC,aAAa,EAClB,OAAO,CAAC,IAAI,EACZ,IAAI,CACL,CAAmB,CAAA;oBAEpB,MAAM,eAAe,GACnB,cAAc,CAAC,SAAoC,CAAA;oBAErD,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE;wBACrE,SAAS,EAAE,cAAc,CAAC,SAAS;wBACnC,gBAAgB,EACd,cAAc,CAAC,gBAAgB;4BAC/B,IAAA,wCAAmB,EAAC,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC;wBACtE,MAAM,EAAE,eAAe,EAAE,MAAM;wBAC/B,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,eAAe,EAAE,MAAM,EAAE;qBAChF,CAAC,CAAA;oBAEF,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE;wBAC/C,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,MAAM;wBACzC,QAAQ,EAAE,eAAe,EAAE,MAAM;wBACjC,OAAO,EAAE,eAAe,EAAE,KAAK;wBAC/B,QAAQ,EAAE;4BACR;gCACE,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS;gCACxC,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC,YAAY;gCAC9C,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,QAAQ;gCACtC,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,OAAO;gCACxC,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,OAAO;gCACrC,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,QAAQ;gCACtC,IAAI,EAAE,MAAM;6BACb;yBACF;qBACF,CAAC,CAAA;gBACJ,CAAC;gBAAC,OAAO,CAAU,EAAE,CAAC;oBACpB,MAAM,WAAW,GAAG,MAAM,IAAA,sDAA2B,EACnD,IAAI,EACJ,OAAO,CAAC,MAAM,CACf,CAAA;oBAED,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE;wBACvE,KAAK,EAAE;4BACL,IAAI,EAAE,4BAAa,CAAC,iBAAiB;4BACrC,OAAO,EAAE,2CAA2C;4BACpD,WAAW;yBACZ;qBACF,CAAC,CAAA;oBACF,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;oBAClD,MAAM,MAAM,IAAA,kCAAc,EAAC,CAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;gBACvD,CAAC;gBAGD,OAAO,IAAI,CAAA;YACb,CAAC;WAAA;QAjdC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC9B,CAAC;CAidF;AAvdD,0CAudC"}
1
+ {"version":3,"file":"EVMStepExecutor.js","sourceRoot":"","sources":["../../../core/EVM/EVMStepExecutor.ts"],"names":[],"mappings":"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"}
@@ -1,39 +1,46 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.eip2612Types = exports.balanceOfAbi = exports.getEthBalanceAbi = exports.allowanceAbi = exports.approveAbi = exports.eip2612Abi = exports.permit2ProxyAbi = void 0;
4
- const viem_1 = require("viem");
5
- exports.permit2ProxyAbi = (0, viem_1.parseAbi)([
6
- 'function callDiamondWithPermit2(bytes, ((address, uint256), uint256, uint256), bytes) external',
7
- 'function callDiamondWithEIP2612Signature(address, uint256, uint256, uint8, bytes32, bytes32, bytes) external payable',
8
- 'function nextNonce(address) external view returns (uint256)',
9
- 'function callDiamondWithPermit2Witness(bytes, address, ((address, uint256), uint256, uint256), bytes) external payable',
10
- ]);
11
- exports.eip2612Abi = (0, viem_1.parseAbi)([
12
- 'function permit(address, address, uint256, uint256, uint8, bytes32, bytes32) external',
13
- 'function DOMAIN_SEPARATOR() external view returns (bytes32)',
14
- 'function nonces(address) external view returns (uint256)',
15
- 'function name() external view returns (string)',
16
- 'function version() external view returns (string)',
17
- ]);
18
- exports.approveAbi = (0, viem_1.parseAbi)([
19
- 'function approve(address, uint256) external returns (bool)',
20
- ]);
21
- exports.allowanceAbi = (0, viem_1.parseAbi)([
22
- 'function allowance(address, address) external view returns (uint256)',
23
- ]);
24
- exports.getEthBalanceAbi = (0, viem_1.parseAbi)([
25
- 'function getEthBalance(address) external view returns (uint256)',
26
- ]);
27
- exports.balanceOfAbi = (0, viem_1.parseAbi)([
28
- 'function balanceOf(address) external view returns (uint256)',
29
- ]);
30
- exports.eip2612Types = {
31
- Permit: [
32
- { name: 'owner', type: 'address' },
33
- { name: 'spender', type: 'address' },
34
- { name: 'value', type: 'uint256' },
35
- { name: 'nonce', type: 'uint256' },
36
- { name: 'deadline', type: 'uint256' },
37
- ],
38
- };
3
+ exports.balanceOfAbi = exports.getEthBalanceAbi = exports.allowanceAbi = exports.approveAbi = void 0;
4
+ exports.approveAbi = [
5
+ {
6
+ name: 'approve',
7
+ inputs: [
8
+ { internalType: 'address', name: 'spender', type: 'address' },
9
+ { internalType: 'uint256', name: 'amount', type: 'uint256' },
10
+ ],
11
+ outputs: [{ internalType: 'bool', name: 'approved', type: 'bool' }],
12
+ stateMutability: 'nonpayable',
13
+ type: 'function',
14
+ },
15
+ ];
16
+ exports.allowanceAbi = [
17
+ {
18
+ name: 'allowance',
19
+ inputs: [
20
+ { internalType: 'address', name: 'owner', type: 'address' },
21
+ { internalType: 'address', name: 'spender', type: 'address' },
22
+ ],
23
+ outputs: [{ internalType: 'uint256', name: 'allowance', type: 'uint256' }],
24
+ stateMutability: 'view',
25
+ type: 'function',
26
+ },
27
+ ];
28
+ exports.getEthBalanceAbi = [
29
+ {
30
+ inputs: [{ name: '_owner', type: 'address' }],
31
+ name: 'getEthBalance',
32
+ outputs: [{ name: 'balance', type: 'uint256' }],
33
+ type: 'function',
34
+ stateMutability: 'view',
35
+ },
36
+ ];
37
+ exports.balanceOfAbi = [
38
+ {
39
+ inputs: [{ name: '_owner', type: 'address' }],
40
+ name: 'balanceOf',
41
+ outputs: [{ name: 'balance', type: 'uint256' }],
42
+ type: 'function',
43
+ stateMutability: 'view',
44
+ },
45
+ ];
39
46
  //# sourceMappingURL=abi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"abi.js","sourceRoot":"","sources":["../../../core/EVM/abi.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAElB,QAAA,eAAe,GAAG,IAAA,eAAQ,EAAC;IACtC,gGAAgG;IAChG,sHAAsH;IACtH,6DAA6D;IAC7D,wHAAwH;CACzH,CAAC,CAAA;AAEW,QAAA,UAAU,GAAG,IAAA,eAAQ,EAAC;IACjC,uFAAuF;IACvF,6DAA6D;IAC7D,0DAA0D;IAC1D,gDAAgD;IAChD,mDAAmD;CACpD,CAAC,CAAA;AAEW,QAAA,UAAU,GAAG,IAAA,eAAQ,EAAC;IACjC,4DAA4D;CAC7D,CAAC,CAAA;AAEW,QAAA,YAAY,GAAG,IAAA,eAAQ,EAAC;IACnC,sEAAsE;CACvE,CAAC,CAAA;AAEW,QAAA,gBAAgB,GAAG,IAAA,eAAQ,EAAC;IACvC,iEAAiE;CAClE,CAAC,CAAA;AAEW,QAAA,YAAY,GAAG,IAAA,eAAQ,EAAC;IACnC,6DAA6D;CAC9D,CAAC,CAAA;AAIW,QAAA,YAAY,GAAG;IAC1B,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;KACtC;CACO,CAAA"}
1
+ {"version":3,"file":"abi.js","sourceRoot":"","sources":["../../../core/EVM/abi.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAQ;IAC7B;QACE,IAAI,EAAE,SAAS;QACf,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;SAC7D;QACD,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACnE,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;CACF,CAAA;AAEY,QAAA,YAAY,GAAQ;IAC/B;QACE,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAC3D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;SAC9D;QACD,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC1E,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACF,CAAA;AAEY,QAAA,gBAAgB,GAAQ;IACnC;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7C,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC/C,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,MAAM;KACxB;CACF,CAAA;AAEY,QAAA,YAAY,GAAQ;IAC/B;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7C,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC/C,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,MAAM;KACxB;CACF,CAAA"}
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.checkAllowance = void 0;
4
- const constants_js_1 = require("../../constants.js");
5
4
  const getAllowance_js_1 = require("./getAllowance.js");
6
5
  const parseEVMErrors_js_1 = require("./parseEVMErrors.js");
7
6
  const setAllowance_js_1 = require("./setAllowance.js");
8
7
  const waitForTransactionReceipt_js_1 = require("./waitForTransactionReceipt.js");
9
- const checkAllowance = async ({ client, chain, step, statusManager, executionOptions, allowUserInteraction = false, atomicBatchSupported = false, permit2Supported = false, }) => {
10
- const allowanceProcess = statusManager.findOrCreateProcess({
8
+ const checkAllowance = async (client, chain, step, statusManager, settings, allowUserInteraction = false, shouldBatchTransactions = false) => {
9
+ let allowanceProcess = statusManager.findOrCreateProcess({
11
10
  step,
12
11
  type: 'TOKEN_ALLOWANCE',
13
12
  chainId: step.action.fromChainId,
@@ -15,33 +14,31 @@ const checkAllowance = async ({ client, chain, step, statusManager, executionOpt
15
14
  try {
16
15
  if (allowanceProcess.txHash && allowanceProcess.status !== 'DONE') {
17
16
  await waitForApprovalTransaction(client, allowanceProcess.txHash, allowanceProcess.type, step, chain, statusManager);
18
- return;
19
17
  }
20
- statusManager.updateProcess(step, allowanceProcess.type, 'STARTED');
21
- const spenderAddress = permit2Supported
22
- ? chain.permit2
23
- : step.estimate.approvalAddress;
24
- const fromAmount = BigInt(step.action.fromAmount);
25
- const approved = await (0, getAllowance_js_1.getAllowance)(chain.id, step.action.fromToken.address, client.account.address, spenderAddress);
26
- if (fromAmount <= approved) {
27
- statusManager.updateProcess(step, allowanceProcess.type, 'DONE');
28
- return;
18
+ else {
19
+ allowanceProcess = statusManager.updateProcess(step, allowanceProcess.type, 'STARTED');
20
+ const approved = await (0, getAllowance_js_1.getAllowance)(chain.id, step.action.fromToken.address, client.account.address, step.estimate.approvalAddress);
21
+ const fromAmount = BigInt(step.action.fromAmount);
22
+ if (fromAmount > approved) {
23
+ if (!allowUserInteraction) {
24
+ return;
25
+ }
26
+ if (shouldBatchTransactions) {
27
+ const approveTxHash = await (0, setAllowance_js_1.setAllowance)(client, step.action.fromToken.address, step.estimate.approvalAddress, fromAmount, settings, true);
28
+ allowanceProcess = statusManager.updateProcess(step, allowanceProcess.type, 'DONE');
29
+ return approveTxHash;
30
+ }
31
+ const approveTxHash = await (0, setAllowance_js_1.setAllowance)(client, step.action.fromToken.address, step.estimate.approvalAddress, fromAmount);
32
+ await waitForApprovalTransaction(client, approveTxHash, allowanceProcess.type, step, chain, statusManager);
33
+ }
34
+ else {
35
+ allowanceProcess = statusManager.updateProcess(step, allowanceProcess.type, 'DONE');
36
+ }
29
37
  }
30
- if (!allowUserInteraction) {
31
- return;
32
- }
33
- statusManager.updateProcess(step, allowanceProcess.type, 'ACTION_REQUIRED');
34
- const approveAmount = permit2Supported ? constants_js_1.MaxUint256 : fromAmount;
35
- const approveTxHash = await (0, setAllowance_js_1.setAllowance)(client, step.action.fromToken.address, spenderAddress, approveAmount, executionOptions, atomicBatchSupported);
36
- if (atomicBatchSupported) {
37
- statusManager.updateProcess(step, allowanceProcess.type, 'DONE');
38
- return approveTxHash;
39
- }
40
- await waitForApprovalTransaction(client, approveTxHash, allowanceProcess.type, step, chain, statusManager);
41
38
  }
42
39
  catch (e) {
43
40
  const error = await (0, parseEVMErrors_js_1.parseEVMErrors)(e, step, allowanceProcess);
44
- statusManager.updateProcess(step, allowanceProcess.type, 'FAILED', {
41
+ allowanceProcess = statusManager.updateProcess(step, allowanceProcess.type, 'FAILED', {
45
42
  error: {
46
43
  message: error.cause.message,
47
44
  code: error.code,
@@ -53,28 +50,25 @@ const checkAllowance = async ({ client, chain, step, statusManager, executionOpt
53
50
  };
54
51
  exports.checkAllowance = checkAllowance;
55
52
  const waitForApprovalTransaction = async (client, txHash, processType, step, chain, statusManager) => {
56
- const baseExplorerUrl = chain.metamask.blockExplorerUrls[0];
57
- const getTxLink = (hash) => `${baseExplorerUrl}tx/${hash}`;
58
53
  statusManager.updateProcess(step, processType, 'PENDING', {
59
54
  txHash,
60
- txLink: getTxLink(txHash),
55
+ txLink: `${chain.metamask.blockExplorerUrls[0]}tx/${txHash}`,
61
56
  });
62
57
  const transactionReceipt = await (0, waitForTransactionReceipt_js_1.waitForTransactionReceipt)({
63
- client,
58
+ client: client,
64
59
  chainId: chain.id,
65
- txHash,
60
+ txHash: txHash,
66
61
  onReplaced(response) {
67
- const newHash = response.transaction.hash;
68
62
  statusManager.updateProcess(step, processType, 'PENDING', {
69
- txHash: newHash,
70
- txLink: getTxLink(newHash),
63
+ txHash: response.transaction.hash,
64
+ txLink: `${chain.metamask.blockExplorerUrls[0]}tx/${response.transaction.hash}`,
71
65
  });
72
66
  },
73
67
  });
74
- const finalHash = transactionReceipt?.transactionHash || txHash;
68
+ const transactionHash = transactionReceipt?.transactionHash || txHash;
75
69
  statusManager.updateProcess(step, processType, 'DONE', {
76
- txHash: finalHash,
77
- txLink: getTxLink(finalHash),
70
+ txHash: transactionHash,
71
+ txLink: `${chain.metamask.blockExplorerUrls[0]}tx/${transactionHash}`,
78
72
  });
79
73
  };
80
74
  //# sourceMappingURL=checkAllowance.js.map