@lifi/sdk 3.4.2 → 3.5.0-beta.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 (150) hide show
  1. package/package.json +2 -2
  2. package/src/_cjs/constants.js +4 -2
  3. package/src/_cjs/constants.js.map +1 -1
  4. package/src/_cjs/core/EVM/EVM.js +0 -4
  5. package/src/_cjs/core/EVM/EVM.js.map +1 -1
  6. package/src/_cjs/core/EVM/EVMStepExecutor.js +96 -74
  7. package/src/_cjs/core/EVM/EVMStepExecutor.js.map +1 -1
  8. package/src/_cjs/core/EVM/abi.js +36 -43
  9. package/src/_cjs/core/EVM/abi.js.map +1 -1
  10. package/src/_cjs/core/EVM/checkAllowance.js +36 -30
  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/getNativePermit.js +90 -0
  15. package/src/_cjs/core/EVM/getNativePermit.js.map +1 -0
  16. package/src/_cjs/core/EVM/parseEVMErrors.js +3 -0
  17. package/src/_cjs/core/EVM/parseEVMErrors.js.map +1 -1
  18. package/src/_cjs/core/EVM/permit2/allowanceTransfer.js +100 -0
  19. package/src/_cjs/core/EVM/permit2/allowanceTransfer.js.map +1 -0
  20. package/src/_cjs/core/EVM/permit2/constants.js +12 -0
  21. package/src/_cjs/core/EVM/permit2/constants.js.map +1 -0
  22. package/src/_cjs/core/EVM/permit2/domain.js +12 -0
  23. package/src/_cjs/core/EVM/permit2/domain.js.map +1 -0
  24. package/src/_cjs/core/EVM/permit2/signatureTransfer.js +121 -0
  25. package/src/_cjs/core/EVM/permit2/signatureTransfer.js.map +1 -0
  26. package/src/_cjs/core/EVM/setAllowance.js +3 -4
  27. package/src/_cjs/core/EVM/setAllowance.js.map +1 -1
  28. package/src/_cjs/core/EVM/signPermitMessage.js +168 -0
  29. package/src/_cjs/core/EVM/signPermitMessage.js.map +1 -0
  30. package/src/_cjs/core/EVM/types.js.map +1 -1
  31. package/src/_cjs/core/EVM/utils.js +2 -1
  32. package/src/_cjs/core/EVM/utils.js.map +1 -1
  33. package/src/_cjs/core/EVM/waitForBatchTransactionReceipt.js +29 -0
  34. package/src/_cjs/core/EVM/waitForBatchTransactionReceipt.js.map +1 -0
  35. package/src/_cjs/core/checkBalance.js +3 -3
  36. package/src/_cjs/core/checkBalance.js.map +1 -1
  37. package/src/_cjs/index.js.map +1 -1
  38. package/src/_cjs/utils/invariant.js +17 -0
  39. package/src/_cjs/utils/invariant.js.map +1 -0
  40. package/src/_cjs/version.js +1 -1
  41. package/src/_cjs/version.js.map +1 -1
  42. package/src/_esm/constants.js +3 -1
  43. package/src/_esm/constants.js.map +1 -1
  44. package/src/_esm/core/EVM/EVM.js +0 -4
  45. package/src/_esm/core/EVM/EVM.js.map +1 -1
  46. package/src/_esm/core/EVM/EVMStepExecutor.js +124 -84
  47. package/src/_esm/core/EVM/EVMStepExecutor.js.map +1 -1
  48. package/src/_esm/core/EVM/abi.js +37 -42
  49. package/src/_esm/core/EVM/abi.js.map +1 -1
  50. package/src/_esm/core/EVM/checkAllowance.js +41 -32
  51. package/src/_esm/core/EVM/checkAllowance.js.map +1 -1
  52. package/src/_esm/core/EVM/getAllowance.js.map +1 -1
  53. package/src/_esm/core/EVM/getEVMBalance.js.map +1 -1
  54. package/src/_esm/core/EVM/getNativePermit.js +95 -0
  55. package/src/_esm/core/EVM/getNativePermit.js.map +1 -0
  56. package/src/_esm/core/EVM/parseEVMErrors.js +8 -0
  57. package/src/_esm/core/EVM/parseEVMErrors.js.map +1 -1
  58. package/src/_esm/core/EVM/permit2/allowanceTransfer.js +93 -0
  59. package/src/_esm/core/EVM/permit2/allowanceTransfer.js.map +1 -0
  60. package/src/_esm/core/EVM/permit2/constants.js +9 -0
  61. package/src/_esm/core/EVM/permit2/constants.js.map +1 -0
  62. package/src/_esm/core/EVM/permit2/domain.js +9 -0
  63. package/src/_esm/core/EVM/permit2/domain.js.map +1 -0
  64. package/src/_esm/core/EVM/permit2/signatureTransfer.js +117 -0
  65. package/src/_esm/core/EVM/permit2/signatureTransfer.js.map +1 -0
  66. package/src/_esm/core/EVM/setAllowance.js +3 -4
  67. package/src/_esm/core/EVM/setAllowance.js.map +1 -1
  68. package/src/_esm/core/EVM/signPermitMessage.js +162 -0
  69. package/src/_esm/core/EVM/signPermitMessage.js.map +1 -0
  70. package/src/_esm/core/EVM/types.js.map +1 -1
  71. package/src/_esm/core/EVM/utils.js +2 -1
  72. package/src/_esm/core/EVM/utils.js.map +1 -1
  73. package/src/_esm/core/EVM/waitForBatchTransactionReceipt.js +25 -0
  74. package/src/_esm/core/EVM/waitForBatchTransactionReceipt.js.map +1 -0
  75. package/src/_esm/core/checkBalance.js +3 -3
  76. package/src/_esm/core/checkBalance.js.map +1 -1
  77. package/src/_esm/index.js.map +1 -1
  78. package/src/_esm/utils/invariant.js +43 -0
  79. package/src/_esm/utils/invariant.js.map +1 -0
  80. package/src/_esm/version.js +1 -1
  81. package/src/_esm/version.js.map +1 -1
  82. package/src/_types/constants.d.ts +3 -1
  83. package/src/_types/constants.d.ts.map +1 -1
  84. package/src/_types/core/EVM/EVM.d.ts.map +1 -1
  85. package/src/_types/core/EVM/EVMStepExecutor.d.ts +7 -4
  86. package/src/_types/core/EVM/EVMStepExecutor.d.ts.map +1 -1
  87. package/src/_types/core/EVM/abi.d.ts +202 -5
  88. package/src/_types/core/EVM/abi.d.ts.map +1 -1
  89. package/src/_types/core/EVM/checkAllowance.d.ts +12 -2
  90. package/src/_types/core/EVM/checkAllowance.d.ts.map +1 -1
  91. package/src/_types/core/EVM/getAllowance.d.ts +5 -4
  92. package/src/_types/core/EVM/getAllowance.d.ts.map +1 -1
  93. package/src/_types/core/EVM/getEVMBalance.d.ts +2 -1
  94. package/src/_types/core/EVM/getEVMBalance.d.ts.map +1 -1
  95. package/src/_types/core/EVM/getNativePermit.d.ts +18 -0
  96. package/src/_types/core/EVM/getNativePermit.d.ts.map +1 -0
  97. package/src/_types/core/EVM/permit2/allowanceTransfer.d.ts +41 -0
  98. package/src/_types/core/EVM/permit2/allowanceTransfer.d.ts.map +1 -0
  99. package/src/_types/core/EVM/permit2/constants.d.ts +8 -0
  100. package/src/_types/core/EVM/permit2/constants.d.ts.map +1 -0
  101. package/src/_types/core/EVM/permit2/domain.d.ts +8 -0
  102. package/src/_types/core/EVM/permit2/domain.d.ts.map +1 -0
  103. package/src/_types/core/EVM/permit2/signatureTransfer.d.ts +42 -0
  104. package/src/_types/core/EVM/permit2/signatureTransfer.d.ts.map +1 -0
  105. package/src/_types/core/EVM/setAllowance.d.ts +2 -2
  106. package/src/_types/core/EVM/setAllowance.d.ts.map +1 -1
  107. package/src/_types/core/EVM/signPermitMessage.d.ts +22 -0
  108. package/src/_types/core/EVM/signPermitMessage.d.ts.map +1 -0
  109. package/src/_types/core/EVM/types.d.ts +1 -18
  110. package/src/_types/core/EVM/types.d.ts.map +1 -1
  111. package/src/_types/core/EVM/utils.d.ts +2 -2
  112. package/src/_types/core/EVM/utils.d.ts.map +1 -1
  113. package/src/_types/core/EVM/waitForBatchTransactionReceipt.d.ts +4 -0
  114. package/src/_types/core/EVM/waitForBatchTransactionReceipt.d.ts.map +1 -0
  115. package/src/_types/core/checkBalance.d.ts.map +1 -1
  116. package/src/_types/index.d.ts +1 -1
  117. package/src/_types/index.d.ts.map +1 -1
  118. package/src/_types/utils/invariant.d.ts +22 -0
  119. package/src/_types/utils/invariant.d.ts.map +1 -0
  120. package/src/_types/version.d.ts +1 -1
  121. package/src/_types/version.d.ts.map +1 -1
  122. package/src/constants.ts +6 -1
  123. package/src/core/EVM/EVM.ts +0 -4
  124. package/src/core/EVM/EVMStepExecutor.ts +177 -134
  125. package/src/core/EVM/abi.ts +40 -43
  126. package/src/core/EVM/checkAllowance.ts +96 -92
  127. package/src/core/EVM/getAllowance.ts +8 -8
  128. package/src/core/EVM/getEVMBalance.ts +2 -2
  129. package/src/core/EVM/getNativePermit.ts +113 -0
  130. package/src/core/EVM/parseEVMErrors.ts +8 -0
  131. package/src/core/EVM/permit2/allowanceTransfer.ts +168 -0
  132. package/src/core/EVM/permit2/constants.ts +11 -0
  133. package/src/core/EVM/permit2/domain.ts +20 -0
  134. package/src/core/EVM/permit2/signatureTransfer.ts +214 -0
  135. package/src/core/EVM/setAllowance.ts +14 -15
  136. package/src/core/EVM/signPermitMessage.ts +248 -0
  137. package/src/core/EVM/types.ts +1 -27
  138. package/src/core/EVM/utils.ts +4 -3
  139. package/src/core/EVM/waitForBatchTransactionReceipt.ts +49 -0
  140. package/src/core/checkBalance.ts +6 -3
  141. package/src/index.ts +0 -3
  142. package/src/utils/invariant.ts +51 -0
  143. package/src/version.ts +1 -1
  144. package/src/_cjs/core/EVM/multisig.js +0 -29
  145. package/src/_cjs/core/EVM/multisig.js.map +0 -1
  146. package/src/_esm/core/EVM/multisig.js +0 -25
  147. package/src/_esm/core/EVM/multisig.js.map +0 -1
  148. package/src/_types/core/EVM/multisig.d.ts +0 -6
  149. package/src/_types/core/EVM/multisig.d.ts.map +0 -1
  150. package/src/core/EVM/multisig.ts +0 -54
@@ -0,0 +1,51 @@
1
+ // https://github.com/alexreardon/tiny-invariant
2
+
3
+ const isProduction: boolean = process.env.NODE_ENV === 'production'
4
+ const prefix: string = 'Invariant failed'
5
+
6
+ /**
7
+ * `invariant` is used to [assert](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html#assertion-functions) that the `condition` is [truthy](https://github.com/getify/You-Dont-Know-JS/blob/bdbe570600d4e1107d0b131787903ca1c9ec8140/up%20%26%20going/ch2.md#truthy--falsy).
8
+ *
9
+ * 💥 `invariant` will `throw` an `Error` if the `condition` is [falsey](https://github.com/getify/You-Dont-Know-JS/blob/bdbe570600d4e1107d0b131787903ca1c9ec8140/up%20%26%20going/ch2.md#truthy--falsy)
10
+ *
11
+ * 🤏 `message`s are not displayed in production environments to help keep bundles small
12
+ *
13
+ * @example
14
+ *
15
+ * ```ts
16
+ * const value: Person | null = { name: 'Alex' };
17
+ * invariant(value, 'Expected value to be a person');
18
+ * // type of `value`` has been narrowed to `Person`
19
+ * ```
20
+ */
21
+ export function invariant(
22
+ condition: any,
23
+ // Not providing an inline default argument for message as the result is smaller
24
+ /**
25
+ * Can provide a string, or a function that returns a string for cases where
26
+ * the message takes a fair amount of effort to compute
27
+ */
28
+ message?: string | (() => string)
29
+ ): asserts condition {
30
+ if (condition) {
31
+ return
32
+ }
33
+ // Condition not passed
34
+
35
+ // In production we strip the message but still throw
36
+ if (isProduction) {
37
+ throw new Error(prefix)
38
+ }
39
+
40
+ // When not in production we allow the message to pass through
41
+ // *This block will be removed in production builds*
42
+
43
+ const provided: string | undefined =
44
+ typeof message === 'function' ? message() : message
45
+
46
+ // Options:
47
+ // 1. message provided: `${prefix}: ${provided}`
48
+ // 2. message not provided: prefix
49
+ const value: string = provided ? `${prefix}: ${provided}` : prefix
50
+ throw new Error(value)
51
+ }
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export const name = '@lifi/sdk'
2
- export const version = '3.4.2'
2
+ export const version = '3.5.0-beta.0'
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateMultisigRouteProcess = void 0;
4
- const constants_js_1 = require("../../errors/constants.js");
5
- const errors_js_1 = require("../../errors/errors.js");
6
- const updateMultisigRouteProcess = async (internalTxHash, step, processType, fromChain, statusManager, multisig) => {
7
- if (!multisig?.getMultisigTransactionDetails) {
8
- throw new Error('getMultisigTransactionDetails is missing in multisig config.');
9
- }
10
- const updateIntermediateMultisigStatus = () => {
11
- statusManager.updateProcess(step, processType, 'PENDING');
12
- };
13
- const multisigStatusResponse = await multisig?.getMultisigTransactionDetails(internalTxHash, fromChain.id, updateIntermediateMultisigStatus);
14
- if (multisigStatusResponse.status === 'DONE') {
15
- statusManager.updateProcess(step, processType, 'PENDING', {
16
- txHash: multisigStatusResponse.txHash,
17
- multisigTxHash: undefined,
18
- txLink: `${fromChain.metamask.blockExplorerUrls[0]}tx/${multisigStatusResponse.txHash}`,
19
- });
20
- }
21
- if (multisigStatusResponse.status === 'FAILED') {
22
- throw new errors_js_1.TransactionError(constants_js_1.LiFiErrorCode.TransactionFailed, 'Multisig transaction failed.');
23
- }
24
- if (multisigStatusResponse.status === 'CANCELLED') {
25
- throw new errors_js_1.TransactionError(constants_js_1.LiFiErrorCode.SignatureRejected, 'Transaction was rejected by user.');
26
- }
27
- };
28
- exports.updateMultisigRouteProcess = updateMultisigRouteProcess;
29
- //# sourceMappingURL=multisig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multisig.js","sourceRoot":"","sources":["../../../core/EVM/multisig.ts"],"names":[],"mappings":";;;AAEA,4DAAyD;AACzD,sDAAyD;AAIlD,MAAM,0BAA0B,GAAG,KAAK,EAC7C,cAAoB,EACpB,IAAc,EACd,WAAwB,EACxB,SAAwB,EACxB,aAA4B,EAC5B,QAAyB,EACzB,EAAE;IACF,IAAI,CAAC,QAAQ,EAAE,6BAA6B,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAA;IACH,CAAC;IAED,MAAM,gCAAgC,GAAG,GAAG,EAAE;QAC5C,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAA;IAC3D,CAAC,CAAA;IAED,MAAM,sBAAsB,GAC1B,MAAM,QAAQ,EAAE,6BAA6B,CAC3C,cAAc,EACd,SAAS,CAAC,EAAE,EACZ,gCAAgC,CACjC,CAAA;IAEH,IAAI,sBAAsB,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC7C,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;YACxD,MAAM,EAAE,sBAAsB,CAAC,MAAM;YACrC,cAAc,EAAE,SAAS;YACzB,MAAM,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,sBAAsB,CAAC,MAAM,EAAE;SACxF,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,sBAAsB,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/C,MAAM,IAAI,4BAAgB,CACxB,4BAAa,CAAC,iBAAiB,EAC/B,8BAA8B,CAC/B,CAAA;IACH,CAAC;IAED,IAAI,sBAAsB,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAClD,MAAM,IAAI,4BAAgB,CACxB,4BAAa,CAAC,iBAAiB,EAC/B,mCAAmC,CACpC,CAAA;IACH,CAAC;AACH,CAAC,CAAA;AA9CY,QAAA,0BAA0B,8BA8CtC"}
@@ -1,25 +0,0 @@
1
- import { LiFiErrorCode } from '../../errors/constants.js';
2
- import { TransactionError } from '../../errors/errors.js';
3
- export const updateMultisigRouteProcess = async (internalTxHash, step, processType, fromChain, statusManager, multisig) => {
4
- if (!multisig?.getMultisigTransactionDetails) {
5
- throw new Error('getMultisigTransactionDetails is missing in multisig config.');
6
- }
7
- const updateIntermediateMultisigStatus = () => {
8
- statusManager.updateProcess(step, processType, 'PENDING');
9
- };
10
- const multisigStatusResponse = await multisig?.getMultisigTransactionDetails(internalTxHash, fromChain.id, updateIntermediateMultisigStatus);
11
- if (multisigStatusResponse.status === 'DONE') {
12
- statusManager.updateProcess(step, processType, 'PENDING', {
13
- txHash: multisigStatusResponse.txHash,
14
- multisigTxHash: undefined,
15
- txLink: `${fromChain.metamask.blockExplorerUrls[0]}tx/${multisigStatusResponse.txHash}`,
16
- });
17
- }
18
- if (multisigStatusResponse.status === 'FAILED') {
19
- throw new TransactionError(LiFiErrorCode.TransactionFailed, 'Multisig transaction failed.');
20
- }
21
- if (multisigStatusResponse.status === 'CANCELLED') {
22
- throw new TransactionError(LiFiErrorCode.SignatureRejected, 'Transaction was rejected by user.');
23
- }
24
- };
25
- //# sourceMappingURL=multisig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multisig.js","sourceRoot":"","sources":["../../../core/EVM/multisig.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAIzD,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAC7C,cAAoB,EACpB,IAAc,EACd,WAAwB,EACxB,SAAwB,EACxB,aAA4B,EAC5B,QAAyB,EACzB,EAAE;IACF,IAAI,CAAC,QAAQ,EAAE,6BAA6B,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAA;IACH,CAAC;IAED,MAAM,gCAAgC,GAAG,GAAG,EAAE;QAC5C,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAA;IAC3D,CAAC,CAAA;IAED,MAAM,sBAAsB,GAC1B,MAAM,QAAQ,EAAE,6BAA6B,CAC3C,cAAc,EACd,SAAS,CAAC,EAAE,EACZ,gCAAgC,CACjC,CAAA;IAEH,IAAI,sBAAsB,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC7C,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;YACxD,MAAM,EAAE,sBAAsB,CAAC,MAAM;YACrC,cAAc,EAAE,SAAS;YACzB,MAAM,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,sBAAsB,CAAC,MAAM,EAAE;SACxF,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,sBAAsB,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/C,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,iBAAiB,EAC/B,8BAA8B,CAC/B,CAAA;IACH,CAAC;IAED,IAAI,sBAAsB,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAClD,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,iBAAiB,EAC/B,mCAAmC,CACpC,CAAA;IACH,CAAC;AACH,CAAC,CAAA"}
@@ -1,6 +0,0 @@
1
- import type { ExtendedChain, LiFiStep, ProcessType } from '@lifi/types';
2
- import type { Hash } from 'viem';
3
- import type { StatusManager } from '../StatusManager.js';
4
- import type { MultisigConfig } from './types.js';
5
- export declare const updateMultisigRouteProcess: (internalTxHash: Hash, step: LiFiStep, processType: ProcessType, fromChain: ExtendedChain, statusManager: StatusManager, multisig?: MultisigConfig) => Promise<void>;
6
- //# sourceMappingURL=multisig.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multisig.d.ts","sourceRoot":"","sources":["../../../core/EVM/multisig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAGhC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,cAAc,EAAqB,MAAM,YAAY,CAAA;AAEnE,eAAO,MAAM,0BAA0B,mBACrB,IAAI,QACd,QAAQ,eACD,WAAW,aACb,aAAa,iBACT,aAAa,aACjB,cAAc,kBAwC1B,CAAA"}
@@ -1,54 +0,0 @@
1
- import type { ExtendedChain, LiFiStep, ProcessType } from '@lifi/types'
2
- import type { Hash } from 'viem'
3
- import { LiFiErrorCode } from '../../errors/constants.js'
4
- import { TransactionError } from '../../errors/errors.js'
5
- import type { StatusManager } from '../StatusManager.js'
6
- import type { MultisigConfig, MultisigTxDetails } from './types.js'
7
-
8
- export const updateMultisigRouteProcess = async (
9
- internalTxHash: Hash,
10
- step: LiFiStep,
11
- processType: ProcessType,
12
- fromChain: ExtendedChain,
13
- statusManager: StatusManager,
14
- multisig?: MultisigConfig
15
- ) => {
16
- if (!multisig?.getMultisigTransactionDetails) {
17
- throw new Error(
18
- 'getMultisigTransactionDetails is missing in multisig config.'
19
- )
20
- }
21
-
22
- const updateIntermediateMultisigStatus = () => {
23
- statusManager.updateProcess(step, processType, 'PENDING')
24
- }
25
-
26
- const multisigStatusResponse: MultisigTxDetails =
27
- await multisig?.getMultisigTransactionDetails(
28
- internalTxHash,
29
- fromChain.id,
30
- updateIntermediateMultisigStatus
31
- )
32
-
33
- if (multisigStatusResponse.status === 'DONE') {
34
- statusManager.updateProcess(step, processType, 'PENDING', {
35
- txHash: multisigStatusResponse.txHash,
36
- multisigTxHash: undefined,
37
- txLink: `${fromChain.metamask.blockExplorerUrls[0]}tx/${multisigStatusResponse.txHash}`,
38
- })
39
- }
40
-
41
- if (multisigStatusResponse.status === 'FAILED') {
42
- throw new TransactionError(
43
- LiFiErrorCode.TransactionFailed,
44
- 'Multisig transaction failed.'
45
- )
46
- }
47
-
48
- if (multisigStatusResponse.status === 'CANCELLED') {
49
- throw new TransactionError(
50
- LiFiErrorCode.SignatureRejected,
51
- 'Transaction was rejected by user.'
52
- )
53
- }
54
- }