@lifi/sdk 4.0.0-beta.7 → 4.0.0-beta.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/dist/cjs/actions/getChains.js.map +1 -1
  2. package/dist/cjs/actions/getConnections.js.map +1 -1
  3. package/dist/cjs/actions/getContractCallsQuote.js.map +1 -1
  4. package/dist/cjs/actions/getGasRecommendation.js.map +1 -1
  5. package/dist/cjs/actions/getNameServiceAddress.js.map +1 -1
  6. package/dist/cjs/actions/getQuote.js.map +1 -1
  7. package/dist/cjs/actions/getRelayedTransactionStatus.js +2 -2
  8. package/dist/cjs/actions/getRelayedTransactionStatus.js.map +1 -1
  9. package/dist/cjs/actions/getRelayerQuote.js +2 -2
  10. package/dist/cjs/actions/getRelayerQuote.js.map +1 -1
  11. package/dist/cjs/actions/getRoutes.js.map +1 -1
  12. package/dist/cjs/actions/getStatus.js.map +1 -1
  13. package/dist/cjs/actions/getStepTransaction.js.map +1 -1
  14. package/dist/cjs/actions/getToken.js.map +1 -1
  15. package/dist/cjs/actions/getTokenBalance.js.map +1 -1
  16. package/dist/cjs/actions/getTokenBalances.js.map +1 -1
  17. package/dist/cjs/actions/getTokenBalancesByChain.js.map +1 -1
  18. package/dist/cjs/actions/getTokens.js.map +1 -1
  19. package/dist/cjs/actions/getTools.js.map +1 -1
  20. package/dist/cjs/actions/getTransactionHistory.js.map +1 -1
  21. package/dist/cjs/actions/getWalletBalances.js.map +1 -1
  22. package/dist/cjs/actions/index.js.map +1 -1
  23. package/dist/cjs/actions/patchContractCalls.js.map +1 -1
  24. package/dist/cjs/actions/relayTransaction.js +2 -2
  25. package/dist/cjs/actions/relayTransaction.js.map +1 -1
  26. package/dist/cjs/client/createClient.js.map +1 -1
  27. package/dist/cjs/client/getClientStorage.js.map +1 -1
  28. package/dist/cjs/core/BaseStepExecutionTask.js.map +1 -1
  29. package/dist/cjs/core/BaseStepExecutor.js.map +1 -1
  30. package/dist/cjs/core/StatusManager.js.map +1 -1
  31. package/dist/cjs/core/TaskPipeline.js.map +1 -1
  32. package/dist/cjs/core/actionMessages.js.map +1 -1
  33. package/dist/cjs/core/execution.js +2 -2
  34. package/dist/cjs/core/execution.js.map +1 -1
  35. package/dist/cjs/core/executionState.js.map +1 -1
  36. package/dist/cjs/core/prepareRestart.js.map +1 -1
  37. package/dist/cjs/core/storage.js.map +1 -1
  38. package/dist/cjs/core/tasks/CheckBalanceTask.d.ts +9 -0
  39. package/dist/cjs/core/tasks/CheckBalanceTask.js +13 -3
  40. package/dist/cjs/core/tasks/CheckBalanceTask.js.map +1 -1
  41. package/dist/cjs/core/tasks/PrepareTransactionTask.js +3 -3
  42. package/dist/cjs/core/tasks/PrepareTransactionTask.js.map +1 -1
  43. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js +2 -2
  44. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js.map +1 -1
  45. package/dist/cjs/core/tasks/helpers/checkBalance.d.ts +12 -2
  46. package/dist/cjs/core/tasks/helpers/checkBalance.js +21 -12
  47. package/dist/cjs/core/tasks/helpers/checkBalance.js.map +1 -1
  48. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.js +3 -3
  49. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.js.map +1 -1
  50. package/dist/cjs/core/tasks/helpers/stepComparison.js +2 -2
  51. package/dist/cjs/core/tasks/helpers/stepComparison.js.map +1 -1
  52. package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.js.map +1 -1
  53. package/dist/cjs/core/utils.js.map +1 -1
  54. package/dist/cjs/errors/SDKError.js.map +1 -1
  55. package/dist/cjs/errors/baseError.js.map +1 -1
  56. package/dist/cjs/errors/constants.js.map +1 -1
  57. package/dist/cjs/errors/errors.js +9 -9
  58. package/dist/cjs/errors/errors.js.map +1 -1
  59. package/dist/cjs/errors/httpError.js +17 -17
  60. package/dist/cjs/errors/httpError.js.map +1 -1
  61. package/dist/cjs/errors/utils/baseErrorRootCause.js.map +1 -1
  62. package/dist/cjs/errors/utils/rootCause.js.map +1 -1
  63. package/dist/cjs/index.d.ts +2 -2
  64. package/dist/cjs/types/core.d.ts +0 -4
  65. package/dist/cjs/utils/checkPackageUpdates.js +1 -1
  66. package/dist/cjs/utils/checkPackageUpdates.js.map +1 -1
  67. package/dist/cjs/utils/convertQuoteToRoute.js.map +1 -1
  68. package/dist/cjs/utils/decode.js.map +1 -1
  69. package/dist/cjs/utils/fetchTxErrorDetails.js.map +1 -1
  70. package/dist/cjs/utils/formatUnits.js.map +1 -1
  71. package/dist/cjs/utils/getTransactionMessage.js.map +1 -1
  72. package/dist/cjs/utils/isHex.js.map +1 -1
  73. package/dist/cjs/utils/isRoutesRequest.js.map +1 -1
  74. package/dist/cjs/utils/isStep.js.map +1 -1
  75. package/dist/cjs/utils/isToken.js.map +1 -1
  76. package/dist/cjs/utils/parseUnits.js.map +1 -1
  77. package/dist/cjs/utils/request.js.map +1 -1
  78. package/dist/cjs/utils/sleep.js.map +1 -1
  79. package/dist/cjs/utils/waitForResult.js.map +1 -1
  80. package/dist/cjs/utils/withDedupe.js.map +1 -1
  81. package/dist/cjs/utils/withTimeout.js.map +1 -1
  82. package/dist/cjs/version.d.ts +1 -1
  83. package/dist/cjs/version.js +1 -1
  84. package/dist/cjs/version.js.map +1 -1
  85. package/dist/esm/actions/getChains.js.map +1 -1
  86. package/dist/esm/actions/getConnections.js.map +1 -1
  87. package/dist/esm/actions/getContractCallsQuote.js.map +1 -1
  88. package/dist/esm/actions/getGasRecommendation.js.map +1 -1
  89. package/dist/esm/actions/getNameServiceAddress.js.map +1 -1
  90. package/dist/esm/actions/getQuote.js.map +1 -1
  91. package/dist/esm/actions/getRelayedTransactionStatus.js +2 -2
  92. package/dist/esm/actions/getRelayedTransactionStatus.js.map +1 -1
  93. package/dist/esm/actions/getRelayerQuote.js +2 -2
  94. package/dist/esm/actions/getRelayerQuote.js.map +1 -1
  95. package/dist/esm/actions/getRoutes.js.map +1 -1
  96. package/dist/esm/actions/getStatus.js.map +1 -1
  97. package/dist/esm/actions/getStepTransaction.js.map +1 -1
  98. package/dist/esm/actions/getToken.js.map +1 -1
  99. package/dist/esm/actions/getTokenBalance.js.map +1 -1
  100. package/dist/esm/actions/getTokenBalances.js.map +1 -1
  101. package/dist/esm/actions/getTokenBalancesByChain.js.map +1 -1
  102. package/dist/esm/actions/getTokens.js.map +1 -1
  103. package/dist/esm/actions/getTools.js.map +1 -1
  104. package/dist/esm/actions/getTransactionHistory.js.map +1 -1
  105. package/dist/esm/actions/getWalletBalances.js.map +1 -1
  106. package/dist/esm/actions/index.js.map +1 -1
  107. package/dist/esm/actions/patchContractCalls.js.map +1 -1
  108. package/dist/esm/actions/relayTransaction.js +2 -2
  109. package/dist/esm/actions/relayTransaction.js.map +1 -1
  110. package/dist/esm/client/createClient.js.map +1 -1
  111. package/dist/esm/client/getClientStorage.js.map +1 -1
  112. package/dist/esm/core/BaseStepExecutionTask.js.map +1 -1
  113. package/dist/esm/core/BaseStepExecutor.js.map +1 -1
  114. package/dist/esm/core/StatusManager.js.map +1 -1
  115. package/dist/esm/core/TaskPipeline.js.map +1 -1
  116. package/dist/esm/core/actionMessages.js.map +1 -1
  117. package/dist/esm/core/execution.js +2 -2
  118. package/dist/esm/core/execution.js.map +1 -1
  119. package/dist/esm/core/executionState.js.map +1 -1
  120. package/dist/esm/core/prepareRestart.js.map +1 -1
  121. package/dist/esm/core/storage.js.map +1 -1
  122. package/dist/esm/core/tasks/CheckBalanceTask.d.ts +9 -0
  123. package/dist/esm/core/tasks/CheckBalanceTask.d.ts.map +1 -1
  124. package/dist/esm/core/tasks/CheckBalanceTask.js +13 -3
  125. package/dist/esm/core/tasks/CheckBalanceTask.js.map +1 -1
  126. package/dist/esm/core/tasks/PrepareTransactionTask.js +3 -3
  127. package/dist/esm/core/tasks/PrepareTransactionTask.js.map +1 -1
  128. package/dist/esm/core/tasks/WaitForTransactionStatusTask.js +2 -3
  129. package/dist/esm/core/tasks/WaitForTransactionStatusTask.js.map +1 -1
  130. package/dist/esm/core/tasks/helpers/checkBalance.d.ts +12 -2
  131. package/dist/esm/core/tasks/helpers/checkBalance.d.ts.map +1 -1
  132. package/dist/esm/core/tasks/helpers/checkBalance.js +21 -12
  133. package/dist/esm/core/tasks/helpers/checkBalance.js.map +1 -1
  134. package/dist/esm/core/tasks/helpers/getTransactionRequestData.js +3 -3
  135. package/dist/esm/core/tasks/helpers/getTransactionRequestData.js.map +1 -1
  136. package/dist/esm/core/tasks/helpers/stepComparison.js +2 -2
  137. package/dist/esm/core/tasks/helpers/stepComparison.js.map +1 -1
  138. package/dist/esm/core/tasks/helpers/waitForTransactionStatus.js.map +1 -1
  139. package/dist/esm/core/utils.js.map +1 -1
  140. package/dist/esm/errors/SDKError.js.map +1 -1
  141. package/dist/esm/errors/baseError.js.map +1 -1
  142. package/dist/esm/errors/constants.js.map +1 -1
  143. package/dist/esm/errors/errors.js +9 -9
  144. package/dist/esm/errors/errors.js.map +1 -1
  145. package/dist/esm/errors/httpError.js +17 -17
  146. package/dist/esm/errors/httpError.js.map +1 -1
  147. package/dist/esm/errors/utils/baseErrorRootCause.js.map +1 -1
  148. package/dist/esm/errors/utils/rootCause.js.map +1 -1
  149. package/dist/esm/index.d.ts +2 -2
  150. package/dist/esm/types/core.d.ts +0 -4
  151. package/dist/esm/types/core.d.ts.map +1 -1
  152. package/dist/esm/utils/checkPackageUpdates.js +1 -1
  153. package/dist/esm/utils/checkPackageUpdates.js.map +1 -1
  154. package/dist/esm/utils/convertQuoteToRoute.js.map +1 -1
  155. package/dist/esm/utils/decode.js.map +1 -1
  156. package/dist/esm/utils/fetchTxErrorDetails.js.map +1 -1
  157. package/dist/esm/utils/formatUnits.js.map +1 -1
  158. package/dist/esm/utils/getTransactionMessage.js.map +1 -1
  159. package/dist/esm/utils/isHex.js.map +1 -1
  160. package/dist/esm/utils/isRoutesRequest.js.map +1 -1
  161. package/dist/esm/utils/isStep.js.map +1 -1
  162. package/dist/esm/utils/isToken.js.map +1 -1
  163. package/dist/esm/utils/parseUnits.js.map +1 -1
  164. package/dist/esm/utils/request.js.map +1 -1
  165. package/dist/esm/utils/sleep.js.map +1 -1
  166. package/dist/esm/utils/waitForResult.js.map +1 -1
  167. package/dist/esm/utils/withDedupe.js.map +1 -1
  168. package/dist/esm/utils/withTimeout.js.map +1 -1
  169. package/dist/esm/version.d.ts +1 -1
  170. package/dist/esm/version.js +1 -1
  171. package/dist/esm/version.js.map +1 -1
  172. package/package.json +2 -2
  173. package/src/core/tasks/CheckBalanceTask.ts +19 -2
  174. package/src/core/tasks/helpers/checkBalance.ts +57 -21
  175. package/src/index.ts +4 -1
  176. package/src/types/core.ts +0 -4
  177. package/src/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"waitForTransactionStatus.js","names":[],"sources":["../../../../../src/core/tasks/helpers/waitForTransactionStatus.ts"],"sourcesContent":["import type { FullStatusData, LiFiStep, StatusResponse } from '@lifi/types'\nimport { getStatus } from '../../../actions/getStatus.js'\nimport { ServerError } from '../../../errors/errors.js'\nimport type { ExecutionActionType, SDKClient } from '../../../types/core.js'\nimport { waitForResult } from '../../../utils/waitForResult.js'\nimport { getSubstatusMessage } from '../../actionMessages.js'\nimport type { StatusManager } from '../../StatusManager.js'\n\nconst TRANSACTION_HASH_OBSERVERS: Record<string, Promise<StatusResponse>> = {}\n\nexport async function waitForTransactionStatus(\n client: SDKClient,\n statusManager: StatusManager,\n txHash: string,\n step: LiFiStep,\n actionType: ExecutionActionType,\n interval = 5_000\n): Promise<StatusResponse> {\n const _getStatus = (): Promise<StatusResponse | undefined> => {\n return getStatus(client, {\n fromChain: step.action.fromChainId,\n fromAddress: step.action.fromAddress,\n toChain: step.action.toChainId,\n txHash,\n ...(step.tool !== 'custom' && { bridge: step.tool }),\n ...(step.transactionId && { transactionId: step.transactionId }),\n })\n .then((statusResponse) => {\n switch (statusResponse.status) {\n case 'DONE':\n return statusResponse\n case 'PENDING':\n statusManager?.updateAction(step, actionType, 'PENDING', {\n substatus: statusResponse.substatus,\n substatusMessage:\n statusResponse.substatusMessage ||\n getSubstatusMessage(\n statusResponse.status,\n statusResponse.substatus\n ),\n txLink: (statusResponse as FullStatusData).bridgeExplorerLink,\n })\n return undefined\n case 'NOT_FOUND':\n return undefined\n default:\n return Promise.reject()\n }\n })\n .catch((e) => {\n if (process.env.NODE_ENV === 'development') {\n console.debug('Fetching status from backend failed.', e)\n }\n return undefined\n })\n }\n\n let status = TRANSACTION_HASH_OBSERVERS[txHash]\n\n if (!status) {\n status = waitForResult(_getStatus, interval).finally(() => {\n delete TRANSACTION_HASH_OBSERVERS[txHash]\n })\n TRANSACTION_HASH_OBSERVERS[txHash] = status\n }\n\n const resolvedStatus = await status\n\n if (!('receiving' in resolvedStatus)) {\n throw new ServerError(\n \"Status doesn't contain destination chain information.\"\n )\n }\n\n return resolvedStatus\n}\n"],"mappings":";;;;;AAQA,MAAM,6BAAsE,EAAE;AAE9E,eAAsB,yBACpB,QACA,eACA,QACA,MACA,YACA,WAAW,KACc;CACzB,MAAM,mBAAwD;AAC5D,SAAO,UAAU,QAAQ;GACvB,WAAW,KAAK,OAAO;GACvB,aAAa,KAAK,OAAO;GACzB,SAAS,KAAK,OAAO;GACrB;GACA,GAAI,KAAK,SAAS,YAAY,EAAE,QAAQ,KAAK,MAAM;GACnD,GAAI,KAAK,iBAAiB,EAAE,eAAe,KAAK,eAAe;GAChE,CAAC,CACC,MAAM,mBAAmB;AACxB,WAAQ,eAAe,QAAvB;IACE,KAAK,OACH,QAAO;IACT,KAAK;AACH,oBAAe,aAAa,MAAM,YAAY,WAAW;MACvD,WAAW,eAAe;MAC1B,kBACE,eAAe,oBACf,oBACE,eAAe,QACf,eAAe,UAChB;MACH,QAAS,eAAkC;MAC5C,CAAC;AACF;IACF,KAAK,YACH;IACF,QACE,QAAO,QAAQ,QAAQ;;IAE3B,CACD,OAAO,MAAM;AACZ,OAAI,QAAQ,IAAI,aAAa,cAC3B,SAAQ,MAAM,wCAAwC,EAAE;IAG1D;;CAGN,IAAI,SAAS,2BAA2B;AAExC,KAAI,CAAC,QAAQ;AACX,WAAS,cAAc,YAAY,SAAS,CAAC,cAAc;AACzD,UAAO,2BAA2B;IAClC;AACF,6BAA2B,UAAU;;CAGvC,MAAM,iBAAiB,MAAM;AAE7B,KAAI,EAAE,eAAe,gBACnB,OAAM,IAAI,YACR,wDACD;AAGH,QAAO"}
1
+ {"version":3,"file":"waitForTransactionStatus.js","names":[],"sources":["../../../../../src/core/tasks/helpers/waitForTransactionStatus.ts"],"sourcesContent":["import type { FullStatusData, LiFiStep, StatusResponse } from '@lifi/types'\nimport { getStatus } from '../../../actions/getStatus.js'\nimport { ServerError } from '../../../errors/errors.js'\nimport type { ExecutionActionType, SDKClient } from '../../../types/core.js'\nimport { waitForResult } from '../../../utils/waitForResult.js'\nimport { getSubstatusMessage } from '../../actionMessages.js'\nimport type { StatusManager } from '../../StatusManager.js'\n\nconst TRANSACTION_HASH_OBSERVERS: Record<string, Promise<StatusResponse>> = {}\n\nexport async function waitForTransactionStatus(\n client: SDKClient,\n statusManager: StatusManager,\n txHash: string,\n step: LiFiStep,\n actionType: ExecutionActionType,\n interval = 5_000\n): Promise<StatusResponse> {\n const _getStatus = (): Promise<StatusResponse | undefined> => {\n return getStatus(client, {\n fromChain: step.action.fromChainId,\n fromAddress: step.action.fromAddress,\n toChain: step.action.toChainId,\n txHash,\n ...(step.tool !== 'custom' && { bridge: step.tool }),\n ...(step.transactionId && { transactionId: step.transactionId }),\n })\n .then((statusResponse) => {\n switch (statusResponse.status) {\n case 'DONE':\n return statusResponse\n case 'PENDING':\n statusManager?.updateAction(step, actionType, 'PENDING', {\n substatus: statusResponse.substatus,\n substatusMessage:\n statusResponse.substatusMessage ||\n getSubstatusMessage(\n statusResponse.status,\n statusResponse.substatus\n ),\n txLink: (statusResponse as FullStatusData).bridgeExplorerLink,\n })\n return undefined\n case 'NOT_FOUND':\n return undefined\n default:\n return Promise.reject()\n }\n })\n .catch((e) => {\n if (process.env.NODE_ENV === 'development') {\n console.debug('Fetching status from backend failed.', e)\n }\n return undefined\n })\n }\n\n let status = TRANSACTION_HASH_OBSERVERS[txHash]\n\n if (!status) {\n status = waitForResult(_getStatus, interval).finally(() => {\n delete TRANSACTION_HASH_OBSERVERS[txHash]\n })\n TRANSACTION_HASH_OBSERVERS[txHash] = status\n }\n\n const resolvedStatus = await status\n\n if (!('receiving' in resolvedStatus)) {\n throw new ServerError(\n \"Status doesn't contain destination chain information.\"\n )\n }\n\n return resolvedStatus\n}\n"],"mappings":";;;;;AAQA,MAAM,6BAAsE,EAAE;AAE9E,eAAsB,yBACpB,QACA,eACA,QACA,MACA,YACA,WAAW,KACc;CACzB,MAAM,mBAAwD;EAC5D,OAAO,UAAU,QAAQ;GACvB,WAAW,KAAK,OAAO;GACvB,aAAa,KAAK,OAAO;GACzB,SAAS,KAAK,OAAO;GACrB;GACA,GAAI,KAAK,SAAS,YAAY,EAAE,QAAQ,KAAK,MAAM;GACnD,GAAI,KAAK,iBAAiB,EAAE,eAAe,KAAK,eAAe;GAChE,CAAC,CACC,MAAM,mBAAmB;GACxB,QAAQ,eAAe,QAAvB;IACE,KAAK,QACH,OAAO;IACT,KAAK;KACH,eAAe,aAAa,MAAM,YAAY,WAAW;MACvD,WAAW,eAAe;MAC1B,kBACE,eAAe,oBACf,oBACE,eAAe,QACf,eAAe,UAChB;MACH,QAAS,eAAkC;MAC5C,CAAC;KACF;IACF,KAAK,aACH;IACF,SACE,OAAO,QAAQ,QAAQ;;IAE3B,CACD,OAAO,MAAM;GACZ,IAAI,QAAQ,IAAI,aAAa,eAC3B,QAAQ,MAAM,wCAAwC,EAAE;IAG1D;;CAGN,IAAI,SAAS,2BAA2B;CAExC,IAAI,CAAC,QAAQ;EACX,SAAS,cAAc,YAAY,SAAS,CAAC,cAAc;GACzD,OAAO,2BAA2B;IAClC;EACF,2BAA2B,UAAU;;CAGvC,MAAM,iBAAiB,MAAM;CAE7B,IAAI,EAAE,eAAe,iBACnB,MAAM,IAAI,YACR,wDACD;CAGH,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":[],"sources":["../../../src/core/utils.ts"],"sourcesContent":["import type { ChainId, ExtendedChain, LiFiStep } from '@lifi/types'\nimport type { RPCUrls } from '../types/core.js'\n\n// Standard threshold for destination amount difference (0.5%)\nconst standardThreshold = 0.005\n\n/**\n * Used to check if changed exchange rate is in the range of slippage threshold.\n * We use a slippage value as a threshold to trigger the rate change hook.\n * This can result in almost doubled slippage for the user and need to be revisited.\n * @param oldStep - old step\n * @param newStep - new step\n * @returns Boolean\n */\nexport function checkStepSlippageThreshold(\n oldStep: LiFiStep,\n newStep: LiFiStep\n): boolean {\n const setSlippage = oldStep.action.slippage || standardThreshold\n const oldEstimatedToAmount = BigInt(oldStep.estimate.toAmountMin)\n const newEstimatedToAmount = BigInt(newStep.estimate.toAmountMin)\n const amountDifference = oldEstimatedToAmount - newEstimatedToAmount\n // oldEstimatedToAmount can be 0 when we use contract calls\n let actualSlippage = 0\n if (oldEstimatedToAmount > 0) {\n actualSlippage =\n Number((amountDifference * 1_000_000_000n) / oldEstimatedToAmount) /\n 1_000_000_000\n }\n return actualSlippage <= setSlippage\n}\n\nexport function getRpcUrlsFromChains(\n existingRpcUrls: RPCUrls,\n chains: ExtendedChain[],\n skipChains?: ChainId[]\n): RPCUrls {\n const rpcUrlsFromChains = chains.reduce((rpcUrls, chain) => {\n if (chain.metamask?.rpcUrls?.length) {\n rpcUrls[chain.id as ChainId] = chain.metamask.rpcUrls\n }\n return rpcUrls\n }, {} as RPCUrls)\n const result = { ...existingRpcUrls }\n for (const rpcUrlsKey in rpcUrlsFromChains) {\n const chainId = Number(rpcUrlsKey) as ChainId\n const urls = rpcUrlsFromChains[chainId]\n if (!urls?.length) {\n continue\n }\n if (!result[chainId]?.length) {\n result[chainId] = Array.from(urls)\n } else if (!skipChains?.includes(chainId)) {\n const filteredUrls = urls.filter((url) => !result[chainId]?.includes(url))\n result[chainId].push(...filteredUrls)\n }\n }\n return result\n}\n"],"mappings":";AAIA,MAAM,oBAAoB;;;;;;;;;AAU1B,SAAgB,2BACd,SACA,SACS;CACT,MAAM,cAAc,QAAQ,OAAO,YAAY;CAC/C,MAAM,uBAAuB,OAAO,QAAQ,SAAS,YAAY;CAEjE,MAAM,mBAAmB,uBADI,OAAO,QAAQ,SAAS,YAAY;CAGjE,IAAI,iBAAiB;AACrB,KAAI,uBAAuB,EACzB,kBACE,OAAQ,mBAAmB,cAAkB,qBAAqB,GAClE;AAEJ,QAAO,kBAAkB;;AAG3B,SAAgB,qBACd,iBACA,QACA,YACS;CACT,MAAM,oBAAoB,OAAO,QAAQ,SAAS,UAAU;AAC1D,MAAI,MAAM,UAAU,SAAS,OAC3B,SAAQ,MAAM,MAAiB,MAAM,SAAS;AAEhD,SAAO;IACN,EAAE,CAAY;CACjB,MAAM,SAAS,EAAE,GAAG,iBAAiB;AACrC,MAAK,MAAM,cAAc,mBAAmB;EAC1C,MAAM,UAAU,OAAO,WAAW;EAClC,MAAM,OAAO,kBAAkB;AAC/B,MAAI,CAAC,MAAM,OACT;AAEF,MAAI,CAAC,OAAO,UAAU,OACpB,QAAO,WAAW,MAAM,KAAK,KAAK;WACzB,CAAC,YAAY,SAAS,QAAQ,EAAE;GACzC,MAAM,eAAe,KAAK,QAAQ,QAAQ,CAAC,OAAO,UAAU,SAAS,IAAI,CAAC;AAC1E,UAAO,SAAS,KAAK,GAAG,aAAa;;;AAGzC,QAAO"}
1
+ {"version":3,"file":"utils.js","names":[],"sources":["../../../src/core/utils.ts"],"sourcesContent":["import type { ChainId, ExtendedChain, LiFiStep } from '@lifi/types'\nimport type { RPCUrls } from '../types/core.js'\n\n// Standard threshold for destination amount difference (0.5%)\nconst standardThreshold = 0.005\n\n/**\n * Used to check if changed exchange rate is in the range of slippage threshold.\n * We use a slippage value as a threshold to trigger the rate change hook.\n * This can result in almost doubled slippage for the user and need to be revisited.\n * @param oldStep - old step\n * @param newStep - new step\n * @returns Boolean\n */\nexport function checkStepSlippageThreshold(\n oldStep: LiFiStep,\n newStep: LiFiStep\n): boolean {\n const setSlippage = oldStep.action.slippage || standardThreshold\n const oldEstimatedToAmount = BigInt(oldStep.estimate.toAmountMin)\n const newEstimatedToAmount = BigInt(newStep.estimate.toAmountMin)\n const amountDifference = oldEstimatedToAmount - newEstimatedToAmount\n // oldEstimatedToAmount can be 0 when we use contract calls\n let actualSlippage = 0\n if (oldEstimatedToAmount > 0) {\n actualSlippage =\n Number((amountDifference * 1_000_000_000n) / oldEstimatedToAmount) /\n 1_000_000_000\n }\n return actualSlippage <= setSlippage\n}\n\nexport function getRpcUrlsFromChains(\n existingRpcUrls: RPCUrls,\n chains: ExtendedChain[],\n skipChains?: ChainId[]\n): RPCUrls {\n const rpcUrlsFromChains = chains.reduce((rpcUrls, chain) => {\n if (chain.metamask?.rpcUrls?.length) {\n rpcUrls[chain.id as ChainId] = chain.metamask.rpcUrls\n }\n return rpcUrls\n }, {} as RPCUrls)\n const result = { ...existingRpcUrls }\n for (const rpcUrlsKey in rpcUrlsFromChains) {\n const chainId = Number(rpcUrlsKey) as ChainId\n const urls = rpcUrlsFromChains[chainId]\n if (!urls?.length) {\n continue\n }\n if (!result[chainId]?.length) {\n result[chainId] = Array.from(urls)\n } else if (!skipChains?.includes(chainId)) {\n const filteredUrls = urls.filter((url) => !result[chainId]?.includes(url))\n result[chainId].push(...filteredUrls)\n }\n }\n return result\n}\n"],"mappings":";AAIA,MAAM,oBAAoB;;;;;;;;;AAU1B,SAAgB,2BACd,SACA,SACS;CACT,MAAM,cAAc,QAAQ,OAAO,YAAY;CAC/C,MAAM,uBAAuB,OAAO,QAAQ,SAAS,YAAY;CAEjE,MAAM,mBAAmB,uBADI,OAAO,QAAQ,SAAS,YACe;CAEpE,IAAI,iBAAiB;CACrB,IAAI,uBAAuB,GACzB,iBACE,OAAQ,mBAAmB,cAAkB,qBAAqB,GAClE;CAEJ,OAAO,kBAAkB;;AAG3B,SAAgB,qBACd,iBACA,QACA,YACS;CACT,MAAM,oBAAoB,OAAO,QAAQ,SAAS,UAAU;EAC1D,IAAI,MAAM,UAAU,SAAS,QAC3B,QAAQ,MAAM,MAAiB,MAAM,SAAS;EAEhD,OAAO;IACN,EAAE,CAAY;CACjB,MAAM,SAAS,EAAE,GAAG,iBAAiB;CACrC,KAAK,MAAM,cAAc,mBAAmB;EAC1C,MAAM,UAAU,OAAO,WAAW;EAClC,MAAM,OAAO,kBAAkB;EAC/B,IAAI,CAAC,MAAM,QACT;EAEF,IAAI,CAAC,OAAO,UAAU,QACpB,OAAO,WAAW,MAAM,KAAK,KAAK;OAC7B,IAAI,CAAC,YAAY,SAAS,QAAQ,EAAE;GACzC,MAAM,eAAe,KAAK,QAAQ,QAAQ,CAAC,OAAO,UAAU,SAAS,IAAI,CAAC;GAC1E,OAAO,SAAS,KAAK,GAAG,aAAa;;;CAGzC,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"SDKError.js","names":[],"sources":["../../../src/errors/SDKError.ts"],"sourcesContent":["import type { LiFiStep } from '@lifi/types'\nimport type { ExecutionAction } from '../types/core.js'\nimport { version } from '../version.js'\nimport type { BaseError } from './baseError.js'\nimport type { ErrorCode } from './constants.js'\n\n// Note: SDKError is used to wrapper and present errors at the top level\n// Where opportunity allows we also add the step and the action related to the error\nexport class SDKError extends Error {\n step?: LiFiStep\n action?: ExecutionAction\n code: ErrorCode\n override name = 'SDKError'\n override cause: BaseError\n\n constructor(cause: BaseError, step?: LiFiStep, action?: ExecutionAction) {\n const errorMessage = `${cause.message ? `[${cause.name}] ${cause.message}` : 'Unknown error occurred'}\\nLI.FI SDK version: ${version}`\n super(errorMessage)\n this.name = 'SDKError'\n this.step = step\n this.action = action\n this.cause = cause\n this.stack = this.cause.stack\n this.code = cause.code\n }\n}\n"],"mappings":";;AAQA,IAAa,WAAb,cAA8B,MAAM;CAClC;CACA;CACA;CACA,OAAgB;CAChB;CAEA,YAAY,OAAkB,MAAiB,QAA0B;EACvE,MAAM,eAAe,GAAG,MAAM,UAAU,IAAI,MAAM,KAAK,IAAI,MAAM,YAAY,yBAAyB,uBAAuB;AAC7H,QAAM,aAAa;AACnB,OAAK,OAAO;AACZ,OAAK,OAAO;AACZ,OAAK,SAAS;AACd,OAAK,QAAQ;AACb,OAAK,QAAQ,KAAK,MAAM;AACxB,OAAK,OAAO,MAAM"}
1
+ {"version":3,"file":"SDKError.js","names":[],"sources":["../../../src/errors/SDKError.ts"],"sourcesContent":["import type { LiFiStep } from '@lifi/types'\nimport type { ExecutionAction } from '../types/core.js'\nimport { version } from '../version.js'\nimport type { BaseError } from './baseError.js'\nimport type { ErrorCode } from './constants.js'\n\n// Note: SDKError is used to wrapper and present errors at the top level\n// Where opportunity allows we also add the step and the action related to the error\nexport class SDKError extends Error {\n step?: LiFiStep\n action?: ExecutionAction\n code: ErrorCode\n override name = 'SDKError'\n override cause: BaseError\n\n constructor(cause: BaseError, step?: LiFiStep, action?: ExecutionAction) {\n const errorMessage = `${cause.message ? `[${cause.name}] ${cause.message}` : 'Unknown error occurred'}\\nLI.FI SDK version: ${version}`\n super(errorMessage)\n this.name = 'SDKError'\n this.step = step\n this.action = action\n this.cause = cause\n this.stack = this.cause.stack\n this.code = cause.code\n }\n}\n"],"mappings":";;AAQA,IAAa,WAAb,cAA8B,MAAM;CAClC;CACA;CACA;CACA,OAAgB;CAChB;CAEA,YAAY,OAAkB,MAAiB,QAA0B;EACvE,MAAM,eAAe,GAAG,MAAM,UAAU,IAAI,MAAM,KAAK,IAAI,MAAM,YAAY,yBAAyB,uBAAuB;EAC7H,MAAM,aAAa;EACnB,KAAK,OAAO;EACZ,KAAK,OAAO;EACZ,KAAK,SAAS;EACd,KAAK,QAAQ;EACb,KAAK,QAAQ,KAAK,MAAM;EACxB,KAAK,OAAO,MAAM"}
@@ -1 +1 @@
1
- {"version":3,"file":"baseError.js","names":[],"sources":["../../../src/errors/baseError.ts"],"sourcesContent":["import type { ErrorCode, ErrorName } from './constants.js'\nimport { getRootCause } from './utils/rootCause.js'\n\n// Note: we use the BaseErrors to capture errors at specific points in the code\n// they can carry addition to help give more context\nexport class BaseError extends Error {\n code: ErrorCode\n override cause?: Error\n\n constructor(name: ErrorName, code: number, message: string, cause?: Error) {\n super(message)\n\n this.name = name\n this.code = code\n this.cause = cause\n\n const rootCause = getRootCause(this.cause)\n if (rootCause?.stack) {\n this.stack = rootCause.stack\n }\n }\n}\n"],"mappings":";;AAKA,IAAa,YAAb,cAA+B,MAAM;CACnC;CACA;CAEA,YAAY,MAAiB,MAAc,SAAiB,OAAe;AACzE,QAAM,QAAQ;AAEd,OAAK,OAAO;AACZ,OAAK,OAAO;AACZ,OAAK,QAAQ;EAEb,MAAM,YAAY,aAAa,KAAK,MAAM;AAC1C,MAAI,WAAW,MACb,MAAK,QAAQ,UAAU"}
1
+ {"version":3,"file":"baseError.js","names":[],"sources":["../../../src/errors/baseError.ts"],"sourcesContent":["import type { ErrorCode, ErrorName } from './constants.js'\nimport { getRootCause } from './utils/rootCause.js'\n\n// Note: we use the BaseErrors to capture errors at specific points in the code\n// they can carry addition to help give more context\nexport class BaseError extends Error {\n code: ErrorCode\n override cause?: Error\n\n constructor(name: ErrorName, code: number, message: string, cause?: Error) {\n super(message)\n\n this.name = name\n this.code = code\n this.cause = cause\n\n const rootCause = getRootCause(this.cause)\n if (rootCause?.stack) {\n this.stack = rootCause.stack\n }\n }\n}\n"],"mappings":";;AAKA,IAAa,YAAb,cAA+B,MAAM;CACnC;CACA;CAEA,YAAY,MAAiB,MAAc,SAAiB,OAAe;EACzE,MAAM,QAAQ;EAEd,KAAK,OAAO;EACZ,KAAK,OAAO;EACZ,KAAK,QAAQ;EAEb,MAAM,YAAY,aAAa,KAAK,MAAM;EAC1C,IAAI,WAAW,OACb,KAAK,QAAQ,UAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":[],"sources":["../../../src/errors/constants.ts"],"sourcesContent":["export enum ErrorName {\n RPCError = 'RPCError',\n ProviderError = 'ProviderError',\n ServerError = 'ServerError',\n TransactionError = 'TransactionError',\n ValidationError = 'ValidationError',\n BalanceError = 'BalanceError',\n NotFoundError = 'NotFoundError',\n UnknownError = 'UnknownError',\n SlippageError = 'SlippageError',\n HTTPError = 'HTTPError',\n ConfigError = 'ConfigError',\n ExecuteStepRetryError = 'ExecuteStepRetryError',\n}\n\nexport type ErrorCode = LiFiErrorCode\n\nexport enum LiFiErrorCode {\n InternalError = 1000,\n ValidationError = 1001,\n TransactionUnderpriced = 1002,\n TransactionFailed = 1003,\n Timeout = 1004,\n ProviderUnavailable = 1005,\n NotFound = 1006,\n ChainSwitchError = 1007,\n TransactionUnprepared = 1008,\n GasLimitError = 1009,\n TransactionCanceled = 1010,\n SlippageError = 1011,\n SignatureRejected = 1012,\n BalanceError = 1013,\n AllowanceRequired = 1014,\n InsufficientFunds = 1015,\n ExchangeRateUpdateCanceled = 1016,\n WalletChangedDuringExecution = 1017,\n TransactionExpired = 1018,\n TransactionSimulationFailed = 1019,\n TransactionConflict = 1020,\n TransactionNotFound = 1021,\n TransactionRejected = 1022,\n RateLimitExceeded = 1023,\n ThirdPartyError = 1024,\n InsufficientGas = 1025,\n ConfigError = 1026,\n}\n\nexport enum ErrorMessage {\n UnknownError = 'Unknown error occurred.',\n SlippageError = 'The slippage is larger than the defined threshold. Please request a new route to get a fresh quote.',\n GasLimitLow = 'Gas limit is too low.',\n TransactionUnderpriced = 'Transaction is underpriced.',\n TransactionReverted = 'Transaction was reverted.',\n}\n"],"mappings":";AAAA,IAAY,YAAL,yBAAA,WAAA;AACL,WAAA,cAAA;AACA,WAAA,mBAAA;AACA,WAAA,iBAAA;AACA,WAAA,sBAAA;AACA,WAAA,qBAAA;AACA,WAAA,kBAAA;AACA,WAAA,mBAAA;AACA,WAAA,kBAAA;AACA,WAAA,mBAAA;AACA,WAAA,eAAA;AACA,WAAA,iBAAA;AACA,WAAA,2BAAA;;KACD;AAID,IAAY,gBAAL,yBAAA,eAAA;AACL,eAAA,cAAA,mBAAA,OAAA;AACA,eAAA,cAAA,qBAAA,QAAA;AACA,eAAA,cAAA,4BAAA,QAAA;AACA,eAAA,cAAA,uBAAA,QAAA;AACA,eAAA,cAAA,aAAA,QAAA;AACA,eAAA,cAAA,yBAAA,QAAA;AACA,eAAA,cAAA,cAAA,QAAA;AACA,eAAA,cAAA,sBAAA,QAAA;AACA,eAAA,cAAA,2BAAA,QAAA;AACA,eAAA,cAAA,mBAAA,QAAA;AACA,eAAA,cAAA,yBAAA,QAAA;AACA,eAAA,cAAA,mBAAA,QAAA;AACA,eAAA,cAAA,uBAAA,QAAA;AACA,eAAA,cAAA,kBAAA,QAAA;AACA,eAAA,cAAA,uBAAA,QAAA;AACA,eAAA,cAAA,uBAAA,QAAA;AACA,eAAA,cAAA,gCAAA,QAAA;AACA,eAAA,cAAA,kCAAA,QAAA;AACA,eAAA,cAAA,wBAAA,QAAA;AACA,eAAA,cAAA,iCAAA,QAAA;AACA,eAAA,cAAA,yBAAA,QAAA;AACA,eAAA,cAAA,yBAAA,QAAA;AACA,eAAA,cAAA,yBAAA,QAAA;AACA,eAAA,cAAA,uBAAA,QAAA;AACA,eAAA,cAAA,qBAAA,QAAA;AACA,eAAA,cAAA,qBAAA,QAAA;AACA,eAAA,cAAA,iBAAA,QAAA;;KACD;AAED,IAAY,eAAL,yBAAA,cAAA;AACL,cAAA,kBAAA;AACA,cAAA,mBAAA;AACA,cAAA,iBAAA;AACA,cAAA,4BAAA;AACA,cAAA,yBAAA;;KACD"}
1
+ {"version":3,"file":"constants.js","names":[],"sources":["../../../src/errors/constants.ts"],"sourcesContent":["export enum ErrorName {\n RPCError = 'RPCError',\n ProviderError = 'ProviderError',\n ServerError = 'ServerError',\n TransactionError = 'TransactionError',\n ValidationError = 'ValidationError',\n BalanceError = 'BalanceError',\n NotFoundError = 'NotFoundError',\n UnknownError = 'UnknownError',\n SlippageError = 'SlippageError',\n HTTPError = 'HTTPError',\n ConfigError = 'ConfigError',\n ExecuteStepRetryError = 'ExecuteStepRetryError',\n}\n\nexport type ErrorCode = LiFiErrorCode\n\nexport enum LiFiErrorCode {\n InternalError = 1000,\n ValidationError = 1001,\n TransactionUnderpriced = 1002,\n TransactionFailed = 1003,\n Timeout = 1004,\n ProviderUnavailable = 1005,\n NotFound = 1006,\n ChainSwitchError = 1007,\n TransactionUnprepared = 1008,\n GasLimitError = 1009,\n TransactionCanceled = 1010,\n SlippageError = 1011,\n SignatureRejected = 1012,\n BalanceError = 1013,\n AllowanceRequired = 1014,\n InsufficientFunds = 1015,\n ExchangeRateUpdateCanceled = 1016,\n WalletChangedDuringExecution = 1017,\n TransactionExpired = 1018,\n TransactionSimulationFailed = 1019,\n TransactionConflict = 1020,\n TransactionNotFound = 1021,\n TransactionRejected = 1022,\n RateLimitExceeded = 1023,\n ThirdPartyError = 1024,\n InsufficientGas = 1025,\n ConfigError = 1026,\n}\n\nexport enum ErrorMessage {\n UnknownError = 'Unknown error occurred.',\n SlippageError = 'The slippage is larger than the defined threshold. Please request a new route to get a fresh quote.',\n GasLimitLow = 'Gas limit is too low.',\n TransactionUnderpriced = 'Transaction is underpriced.',\n TransactionReverted = 'Transaction was reverted.',\n}\n"],"mappings":";AAAA,IAAY,YAAL,yBAAA,WAAA;CACL,UAAA,cAAA;CACA,UAAA,mBAAA;CACA,UAAA,iBAAA;CACA,UAAA,sBAAA;CACA,UAAA,qBAAA;CACA,UAAA,kBAAA;CACA,UAAA,mBAAA;CACA,UAAA,kBAAA;CACA,UAAA,mBAAA;CACA,UAAA,eAAA;CACA,UAAA,iBAAA;CACA,UAAA,2BAAA;;KACD;AAID,IAAY,gBAAL,yBAAA,eAAA;CACL,cAAA,cAAA,mBAAA,OAAA;CACA,cAAA,cAAA,qBAAA,QAAA;CACA,cAAA,cAAA,4BAAA,QAAA;CACA,cAAA,cAAA,uBAAA,QAAA;CACA,cAAA,cAAA,aAAA,QAAA;CACA,cAAA,cAAA,yBAAA,QAAA;CACA,cAAA,cAAA,cAAA,QAAA;CACA,cAAA,cAAA,sBAAA,QAAA;CACA,cAAA,cAAA,2BAAA,QAAA;CACA,cAAA,cAAA,mBAAA,QAAA;CACA,cAAA,cAAA,yBAAA,QAAA;CACA,cAAA,cAAA,mBAAA,QAAA;CACA,cAAA,cAAA,uBAAA,QAAA;CACA,cAAA,cAAA,kBAAA,QAAA;CACA,cAAA,cAAA,uBAAA,QAAA;CACA,cAAA,cAAA,uBAAA,QAAA;CACA,cAAA,cAAA,gCAAA,QAAA;CACA,cAAA,cAAA,kCAAA,QAAA;CACA,cAAA,cAAA,wBAAA,QAAA;CACA,cAAA,cAAA,iCAAA,QAAA;CACA,cAAA,cAAA,yBAAA,QAAA;CACA,cAAA,cAAA,yBAAA,QAAA;CACA,cAAA,cAAA,yBAAA,QAAA;CACA,cAAA,cAAA,uBAAA,QAAA;CACA,cAAA,cAAA,qBAAA,QAAA;CACA,cAAA,cAAA,qBAAA,QAAA;CACA,cAAA,cAAA,iBAAA,QAAA;;KACD;AAED,IAAY,eAAL,yBAAA,cAAA;CACL,aAAA,kBAAA;CACA,aAAA,mBAAA;CACA,aAAA,iBAAA;CACA,aAAA,4BAAA;CACA,aAAA,yBAAA;;KACD"}
@@ -1,39 +1,39 @@
1
1
  import { BaseError } from "./baseError.js";
2
- import { ErrorName, LiFiErrorCode } from "./constants.js";
2
+ import "./constants.js";
3
3
  //#region src/errors/errors.ts
4
4
  var RPCError = class extends BaseError {
5
5
  constructor(code, message, cause) {
6
- super(ErrorName.RPCError, code, message, cause);
6
+ super("RPCError", code, message, cause);
7
7
  }
8
8
  };
9
9
  var ProviderError = class extends BaseError {
10
10
  constructor(code, message, cause) {
11
- super(ErrorName.ProviderError, code, message, cause);
11
+ super("ProviderError", code, message, cause);
12
12
  }
13
13
  };
14
14
  var TransactionError = class extends BaseError {
15
15
  constructor(code, message, cause) {
16
- super(ErrorName.TransactionError, code, message, cause);
16
+ super("TransactionError", code, message, cause);
17
17
  }
18
18
  };
19
19
  var UnknownError = class extends BaseError {
20
20
  constructor(message, cause) {
21
- super(ErrorName.UnknownError, LiFiErrorCode.InternalError, message, cause);
21
+ super("UnknownError", 1e3, message, cause);
22
22
  }
23
23
  };
24
24
  var BalanceError = class extends BaseError {
25
25
  constructor(message, cause) {
26
- super(ErrorName.BalanceError, LiFiErrorCode.BalanceError, message, cause);
26
+ super("BalanceError", 1013, message, cause);
27
27
  }
28
28
  };
29
29
  var ServerError = class extends BaseError {
30
30
  constructor(message) {
31
- super(ErrorName.ServerError, LiFiErrorCode.InternalError, message);
31
+ super("ServerError", 1e3, message);
32
32
  }
33
33
  };
34
34
  var ValidationError = class extends BaseError {
35
35
  constructor(message) {
36
- super(ErrorName.ValidationError, LiFiErrorCode.ValidationError, message);
36
+ super("ValidationError", 1001, message);
37
37
  }
38
38
  };
39
39
  /**
@@ -44,7 +44,7 @@ var ValidationError = class extends BaseError {
44
44
  var ExecuteStepRetryError = class extends BaseError {
45
45
  retryParams;
46
46
  constructor(message, retryParams, cause) {
47
- super(ErrorName.ExecuteStepRetryError, LiFiErrorCode.InternalError, message, cause);
47
+ super("ExecuteStepRetryError", 1e3, message, cause);
48
48
  this.retryParams = retryParams;
49
49
  }
50
50
  };
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","names":[],"sources":["../../../src/errors/errors.ts"],"sourcesContent":["import type { ExecuteStepRetryParams } from '../types/core.js'\nimport { BaseError } from './baseError.js'\nimport { ErrorName, LiFiErrorCode } from './constants.js'\n\nexport class RPCError extends BaseError {\n constructor(code: LiFiErrorCode, message: string, cause?: Error) {\n super(ErrorName.RPCError, code, message, cause)\n }\n}\n\nexport class ProviderError extends BaseError {\n constructor(code: LiFiErrorCode, message: string, cause?: Error) {\n super(ErrorName.ProviderError, code, message, cause)\n }\n}\n\nexport class TransactionError extends BaseError {\n constructor(code: LiFiErrorCode, message: string, cause?: Error) {\n super(ErrorName.TransactionError, code, message, cause)\n }\n}\n\nexport class UnknownError extends BaseError {\n constructor(message: string, cause?: Error) {\n super(ErrorName.UnknownError, LiFiErrorCode.InternalError, message, cause)\n }\n}\n\nexport class BalanceError extends BaseError {\n constructor(message: string, cause?: Error) {\n super(ErrorName.BalanceError, LiFiErrorCode.BalanceError, message, cause)\n }\n}\n\nexport class ServerError extends BaseError {\n constructor(message: string) {\n super(ErrorName.ServerError, LiFiErrorCode.InternalError, message)\n }\n}\n\nexport class ValidationError extends BaseError {\n constructor(message: string) {\n super(ErrorName.ValidationError, LiFiErrorCode.ValidationError, message)\n }\n}\n\n/**\n * Thrown by a step executor when executeStep should be retried with the given params\n * (e.g. wallet rejected 7702 upgrade → retry with atomicityNotReady).\n * The execution layer catches this and retries executeStep(client, step, retryParams).\n */\nexport class ExecuteStepRetryError extends BaseError {\n readonly retryParams: ExecuteStepRetryParams\n\n constructor(\n message: string,\n retryParams: ExecuteStepRetryParams,\n cause?: Error\n ) {\n super(\n ErrorName.ExecuteStepRetryError,\n LiFiErrorCode.InternalError,\n message,\n cause\n )\n this.retryParams = retryParams\n }\n}\n"],"mappings":";;;AAIA,IAAa,WAAb,cAA8B,UAAU;CACtC,YAAY,MAAqB,SAAiB,OAAe;AAC/D,QAAM,UAAU,UAAU,MAAM,SAAS,MAAM;;;AAInD,IAAa,gBAAb,cAAmC,UAAU;CAC3C,YAAY,MAAqB,SAAiB,OAAe;AAC/D,QAAM,UAAU,eAAe,MAAM,SAAS,MAAM;;;AAIxD,IAAa,mBAAb,cAAsC,UAAU;CAC9C,YAAY,MAAqB,SAAiB,OAAe;AAC/D,QAAM,UAAU,kBAAkB,MAAM,SAAS,MAAM;;;AAI3D,IAAa,eAAb,cAAkC,UAAU;CAC1C,YAAY,SAAiB,OAAe;AAC1C,QAAM,UAAU,cAAc,cAAc,eAAe,SAAS,MAAM;;;AAI9E,IAAa,eAAb,cAAkC,UAAU;CAC1C,YAAY,SAAiB,OAAe;AAC1C,QAAM,UAAU,cAAc,cAAc,cAAc,SAAS,MAAM;;;AAI7E,IAAa,cAAb,cAAiC,UAAU;CACzC,YAAY,SAAiB;AAC3B,QAAM,UAAU,aAAa,cAAc,eAAe,QAAQ;;;AAItE,IAAa,kBAAb,cAAqC,UAAU;CAC7C,YAAY,SAAiB;AAC3B,QAAM,UAAU,iBAAiB,cAAc,iBAAiB,QAAQ;;;;;;;;AAS5E,IAAa,wBAAb,cAA2C,UAAU;CACnD;CAEA,YACE,SACA,aACA,OACA;AACA,QACE,UAAU,uBACV,cAAc,eACd,SACA,MACD;AACD,OAAK,cAAc"}
1
+ {"version":3,"file":"errors.js","names":[],"sources":["../../../src/errors/errors.ts"],"sourcesContent":["import type { ExecuteStepRetryParams } from '../types/core.js'\nimport { BaseError } from './baseError.js'\nimport { ErrorName, LiFiErrorCode } from './constants.js'\n\nexport class RPCError extends BaseError {\n constructor(code: LiFiErrorCode, message: string, cause?: Error) {\n super(ErrorName.RPCError, code, message, cause)\n }\n}\n\nexport class ProviderError extends BaseError {\n constructor(code: LiFiErrorCode, message: string, cause?: Error) {\n super(ErrorName.ProviderError, code, message, cause)\n }\n}\n\nexport class TransactionError extends BaseError {\n constructor(code: LiFiErrorCode, message: string, cause?: Error) {\n super(ErrorName.TransactionError, code, message, cause)\n }\n}\n\nexport class UnknownError extends BaseError {\n constructor(message: string, cause?: Error) {\n super(ErrorName.UnknownError, LiFiErrorCode.InternalError, message, cause)\n }\n}\n\nexport class BalanceError extends BaseError {\n constructor(message: string, cause?: Error) {\n super(ErrorName.BalanceError, LiFiErrorCode.BalanceError, message, cause)\n }\n}\n\nexport class ServerError extends BaseError {\n constructor(message: string) {\n super(ErrorName.ServerError, LiFiErrorCode.InternalError, message)\n }\n}\n\nexport class ValidationError extends BaseError {\n constructor(message: string) {\n super(ErrorName.ValidationError, LiFiErrorCode.ValidationError, message)\n }\n}\n\n/**\n * Thrown by a step executor when executeStep should be retried with the given params\n * (e.g. wallet rejected 7702 upgrade → retry with atomicityNotReady).\n * The execution layer catches this and retries executeStep(client, step, retryParams).\n */\nexport class ExecuteStepRetryError extends BaseError {\n readonly retryParams: ExecuteStepRetryParams\n\n constructor(\n message: string,\n retryParams: ExecuteStepRetryParams,\n cause?: Error\n ) {\n super(\n ErrorName.ExecuteStepRetryError,\n LiFiErrorCode.InternalError,\n message,\n cause\n )\n this.retryParams = retryParams\n }\n}\n"],"mappings":";;;AAIA,IAAa,WAAb,cAA8B,UAAU;CACtC,YAAY,MAAqB,SAAiB,OAAe;EAC/D,MAAA,YAA0B,MAAM,SAAS,MAAM;;;AAInD,IAAa,gBAAb,cAAmC,UAAU;CAC3C,YAAY,MAAqB,SAAiB,OAAe;EAC/D,MAAA,iBAA+B,MAAM,SAAS,MAAM;;;AAIxD,IAAa,mBAAb,cAAsC,UAAU;CAC9C,YAAY,MAAqB,SAAiB,OAAe;EAC/D,MAAA,oBAAkC,MAAM,SAAS,MAAM;;;AAI3D,IAAa,eAAb,cAAkC,UAAU;CAC1C,YAAY,SAAiB,OAAe;EAC1C,MAAA,gBAAA,KAA2D,SAAS,MAAM;;;AAI9E,IAAa,eAAb,cAAkC,UAAU;CAC1C,YAAY,SAAiB,OAAe;EAC1C,MAAA,gBAAA,MAA0D,SAAS,MAAM;;;AAI7E,IAAa,cAAb,cAAiC,UAAU;CACzC,YAAY,SAAiB;EAC3B,MAAA,eAAA,KAA0D,QAAQ;;;AAItE,IAAa,kBAAb,cAAqC,UAAU;CAC7C,YAAY,SAAiB;EAC3B,MAAA,mBAAA,MAAgE,QAAQ;;;;;;;;AAS5E,IAAa,wBAAb,cAA2C,UAAU;CACnD;CAEA,YACE,SACA,aACA,OACA;EACA,MAAA,yBAAA,KAGE,SACA,MACD;EACD,KAAK,cAAc"}
@@ -1,36 +1,36 @@
1
1
  import { BaseError } from "./baseError.js";
2
- import { ErrorMessage, ErrorName, LiFiErrorCode } from "./constants.js";
2
+ import "./constants.js";
3
3
  //#region src/errors/httpError.ts
4
4
  const statusCodeToErrorClassificationMap = new Map([
5
5
  [400, {
6
- type: ErrorName.ValidationError,
7
- code: LiFiErrorCode.ValidationError
6
+ type: "ValidationError",
7
+ code: 1001
8
8
  }],
9
9
  [404, {
10
- type: ErrorName.NotFoundError,
11
- code: LiFiErrorCode.NotFound
10
+ type: "NotFoundError",
11
+ code: 1006
12
12
  }],
13
13
  [409, {
14
- type: ErrorName.SlippageError,
15
- code: LiFiErrorCode.SlippageError,
16
- message: ErrorMessage.SlippageError
14
+ type: "SlippageError",
15
+ code: 1011,
16
+ message: "The slippage is larger than the defined threshold. Please request a new route to get a fresh quote."
17
17
  }],
18
18
  [424, {
19
- type: ErrorName.ServerError,
20
- code: LiFiErrorCode.ThirdPartyError
19
+ type: "ServerError",
20
+ code: 1024
21
21
  }],
22
22
  [429, {
23
- type: ErrorName.ServerError,
24
- code: LiFiErrorCode.RateLimitExceeded
23
+ type: "ServerError",
24
+ code: 1023
25
25
  }],
26
26
  [500, {
27
- type: ErrorName.ServerError,
28
- code: LiFiErrorCode.InternalError
27
+ type: "ServerError",
28
+ code: 1e3
29
29
  }]
30
30
  ]);
31
31
  const getErrorClassificationFromStatusCode = (code) => statusCodeToErrorClassificationMap.get(code) ?? {
32
- type: ErrorName.ServerError,
33
- code: LiFiErrorCode.InternalError
32
+ type: "ServerError",
33
+ code: 1e3
34
34
  };
35
35
  const createInitialMessage = (response) => {
36
36
  const status = `${response.status || response.status === 0 ? response.status : ""} ${response.statusText || ""}`.trim();
@@ -47,7 +47,7 @@ var HTTPError = class extends BaseError {
47
47
  const errorClassification = getErrorClassificationFromStatusCode(response.status);
48
48
  const additionalMessage = errorClassification?.message ? `\n${errorClassification.message}` : "";
49
49
  const message = createInitialMessage(response) + additionalMessage;
50
- super(ErrorName.HTTPError, errorClassification.code, message);
50
+ super("HTTPError", errorClassification.code, message);
51
51
  this.type = errorClassification.type;
52
52
  this.response = response;
53
53
  this.status = response.status;
@@ -1 +1 @@
1
- {"version":3,"file":"httpError.js","names":[],"sources":["../../../src/errors/httpError.ts"],"sourcesContent":["import type { UnavailableRoutes } from '@lifi/types'\nimport type { ExtendedRequestInit } from '../types/request.js'\nimport { BaseError } from './baseError.js'\nimport { ErrorMessage, ErrorName, LiFiErrorCode } from './constants.js'\n\ninterface ServerErrorResponseBody {\n code: number\n message: string\n errors?: UnavailableRoutes\n}\n\nconst statusCodeToErrorClassificationMap = new Map([\n [\n 400,\n { type: ErrorName.ValidationError, code: LiFiErrorCode.ValidationError },\n ],\n [404, { type: ErrorName.NotFoundError, code: LiFiErrorCode.NotFound }],\n [\n 409,\n {\n type: ErrorName.SlippageError,\n code: LiFiErrorCode.SlippageError,\n message: ErrorMessage.SlippageError,\n },\n ],\n [424, { type: ErrorName.ServerError, code: LiFiErrorCode.ThirdPartyError }],\n [429, { type: ErrorName.ServerError, code: LiFiErrorCode.RateLimitExceeded }],\n [500, { type: ErrorName.ServerError, code: LiFiErrorCode.InternalError }],\n])\n\nconst getErrorClassificationFromStatusCode = (code: number) =>\n statusCodeToErrorClassificationMap.get(code) ?? {\n type: ErrorName.ServerError,\n code: LiFiErrorCode.InternalError,\n }\n\nconst createInitialMessage = (response: Response) => {\n const statusCode =\n response.status || response.status === 0 ? response.status : ''\n const title = response.statusText || ''\n const status = `${statusCode} ${title}`.trim()\n const reason = status ? `status code ${status}` : 'an unknown error'\n return `Request failed with ${reason}`\n}\n\nexport class HTTPError extends BaseError {\n public response: Response\n public status: number\n public url: RequestInfo | URL\n public fetchOptions: ExtendedRequestInit\n public type?: ErrorName\n public responseBody?: ServerErrorResponseBody\n\n constructor(\n response: Response,\n url: RequestInfo | URL,\n options: ExtendedRequestInit\n ) {\n const errorClassification = getErrorClassificationFromStatusCode(\n response.status\n )\n const additionalMessage = errorClassification?.message\n ? `\\n${errorClassification.message}`\n : ''\n const message = createInitialMessage(response) + additionalMessage\n\n super(ErrorName.HTTPError, errorClassification.code, message)\n\n this.type = errorClassification.type\n this.response = response\n this.status = response.status\n this.message = message\n this.url = url\n this.fetchOptions = options\n }\n\n async buildAdditionalDetails(): Promise<void> {\n if (this.type) {\n this.message = `[${this.type}] ${this.message}`\n }\n\n try {\n this.responseBody = await this.response.json()\n\n if (this.responseBody?.message) {\n this.message += this.message.endsWith('.')\n ? ` ${this.responseBody.message.toString()}`\n : `. ${this.responseBody.message.toString()}`\n }\n } catch {}\n }\n}\n"],"mappings":";;;AAWA,MAAM,qCAAqC,IAAI,IAAI;CACjD,CACE,KACA;EAAE,MAAM,UAAU;EAAiB,MAAM,cAAc;EAAiB,CACzE;CACD,CAAC,KAAK;EAAE,MAAM,UAAU;EAAe,MAAM,cAAc;EAAU,CAAC;CACtE,CACE,KACA;EACE,MAAM,UAAU;EAChB,MAAM,cAAc;EACpB,SAAS,aAAa;EACvB,CACF;CACD,CAAC,KAAK;EAAE,MAAM,UAAU;EAAa,MAAM,cAAc;EAAiB,CAAC;CAC3E,CAAC,KAAK;EAAE,MAAM,UAAU;EAAa,MAAM,cAAc;EAAmB,CAAC;CAC7E,CAAC,KAAK;EAAE,MAAM,UAAU;EAAa,MAAM,cAAc;EAAe,CAAC;CAC1E,CAAC;AAEF,MAAM,wCAAwC,SAC5C,mCAAmC,IAAI,KAAK,IAAI;CAC9C,MAAM,UAAU;CAChB,MAAM,cAAc;CACrB;AAEH,MAAM,wBAAwB,aAAuB;CAInD,MAAM,SAAS,GAFb,SAAS,UAAU,SAAS,WAAW,IAAI,SAAS,SAAS,GAElC,GADf,SAAS,cAAc,KACG,MAAM;AAE9C,QAAO,uBADQ,SAAS,eAAe,WAAW;;AAIpD,IAAa,YAAb,cAA+B,UAAU;CACvC;CACA;CACA;CACA;CACA;CACA;CAEA,YACE,UACA,KACA,SACA;EACA,MAAM,sBAAsB,qCAC1B,SAAS,OACV;EACD,MAAM,oBAAoB,qBAAqB,UAC3C,KAAK,oBAAoB,YACzB;EACJ,MAAM,UAAU,qBAAqB,SAAS,GAAG;AAEjD,QAAM,UAAU,WAAW,oBAAoB,MAAM,QAAQ;AAE7D,OAAK,OAAO,oBAAoB;AAChC,OAAK,WAAW;AAChB,OAAK,SAAS,SAAS;AACvB,OAAK,UAAU;AACf,OAAK,MAAM;AACX,OAAK,eAAe;;CAGtB,MAAM,yBAAwC;AAC5C,MAAI,KAAK,KACP,MAAK,UAAU,IAAI,KAAK,KAAK,IAAI,KAAK;AAGxC,MAAI;AACF,QAAK,eAAe,MAAM,KAAK,SAAS,MAAM;AAE9C,OAAI,KAAK,cAAc,QACrB,MAAK,WAAW,KAAK,QAAQ,SAAS,IAAI,GACtC,IAAI,KAAK,aAAa,QAAQ,UAAU,KACxC,KAAK,KAAK,aAAa,QAAQ,UAAU;UAEzC"}
1
+ {"version":3,"file":"httpError.js","names":[],"sources":["../../../src/errors/httpError.ts"],"sourcesContent":["import type { UnavailableRoutes } from '@lifi/types'\nimport type { ExtendedRequestInit } from '../types/request.js'\nimport { BaseError } from './baseError.js'\nimport { ErrorMessage, ErrorName, LiFiErrorCode } from './constants.js'\n\ninterface ServerErrorResponseBody {\n code: number\n message: string\n errors?: UnavailableRoutes\n}\n\nconst statusCodeToErrorClassificationMap = new Map([\n [\n 400,\n { type: ErrorName.ValidationError, code: LiFiErrorCode.ValidationError },\n ],\n [404, { type: ErrorName.NotFoundError, code: LiFiErrorCode.NotFound }],\n [\n 409,\n {\n type: ErrorName.SlippageError,\n code: LiFiErrorCode.SlippageError,\n message: ErrorMessage.SlippageError,\n },\n ],\n [424, { type: ErrorName.ServerError, code: LiFiErrorCode.ThirdPartyError }],\n [429, { type: ErrorName.ServerError, code: LiFiErrorCode.RateLimitExceeded }],\n [500, { type: ErrorName.ServerError, code: LiFiErrorCode.InternalError }],\n])\n\nconst getErrorClassificationFromStatusCode = (code: number) =>\n statusCodeToErrorClassificationMap.get(code) ?? {\n type: ErrorName.ServerError,\n code: LiFiErrorCode.InternalError,\n }\n\nconst createInitialMessage = (response: Response) => {\n const statusCode =\n response.status || response.status === 0 ? response.status : ''\n const title = response.statusText || ''\n const status = `${statusCode} ${title}`.trim()\n const reason = status ? `status code ${status}` : 'an unknown error'\n return `Request failed with ${reason}`\n}\n\nexport class HTTPError extends BaseError {\n public response: Response\n public status: number\n public url: RequestInfo | URL\n public fetchOptions: ExtendedRequestInit\n public type?: ErrorName\n public responseBody?: ServerErrorResponseBody\n\n constructor(\n response: Response,\n url: RequestInfo | URL,\n options: ExtendedRequestInit\n ) {\n const errorClassification = getErrorClassificationFromStatusCode(\n response.status\n )\n const additionalMessage = errorClassification?.message\n ? `\\n${errorClassification.message}`\n : ''\n const message = createInitialMessage(response) + additionalMessage\n\n super(ErrorName.HTTPError, errorClassification.code, message)\n\n this.type = errorClassification.type\n this.response = response\n this.status = response.status\n this.message = message\n this.url = url\n this.fetchOptions = options\n }\n\n async buildAdditionalDetails(): Promise<void> {\n if (this.type) {\n this.message = `[${this.type}] ${this.message}`\n }\n\n try {\n this.responseBody = await this.response.json()\n\n if (this.responseBody?.message) {\n this.message += this.message.endsWith('.')\n ? ` ${this.responseBody.message.toString()}`\n : `. ${this.responseBody.message.toString()}`\n }\n } catch {}\n }\n}\n"],"mappings":";;;AAWA,MAAM,qCAAqC,IAAI,IAAI;CACjD,CACE,KACA;EAAE,MAAA;EAAiC,MAAA;EAAqC,CACzE;CACD,CAAC,KAAK;EAAE,MAAA;EAA+B,MAAA;EAA8B,CAAC;CACtE,CACE,KACA;EACE,MAAA;EACA,MAAA;EACA,SAAA;EACD,CACF;CACD,CAAC,KAAK;EAAE,MAAA;EAA6B,MAAA;EAAqC,CAAC;CAC3E,CAAC,KAAK;EAAE,MAAA;EAA6B,MAAA;EAAuC,CAAC;CAC7E,CAAC,KAAK;EAAE,MAAA;EAA6B,MAAA;EAAmC,CAAC;CAC1E,CAAC;AAEF,MAAM,wCAAwC,SAC5C,mCAAmC,IAAI,KAAK,IAAI;CAC9C,MAAA;CACA,MAAA;CACD;AAEH,MAAM,wBAAwB,aAAuB;CAInD,MAAM,SAAS,GAFb,SAAS,UAAU,SAAS,WAAW,IAAI,SAAS,SAAS,GAElC,GADf,SAAS,cAAc,KACG,MAAM;CAE9C,OAAO,uBADQ,SAAS,eAAe,WAAW;;AAIpD,IAAa,YAAb,cAA+B,UAAU;CACvC;CACA;CACA;CACA;CACA;CACA;CAEA,YACE,UACA,KACA,SACA;EACA,MAAM,sBAAsB,qCAC1B,SAAS,OACV;EACD,MAAM,oBAAoB,qBAAqB,UAC3C,KAAK,oBAAoB,YACzB;EACJ,MAAM,UAAU,qBAAqB,SAAS,GAAG;EAEjD,MAAA,aAA2B,oBAAoB,MAAM,QAAQ;EAE7D,KAAK,OAAO,oBAAoB;EAChC,KAAK,WAAW;EAChB,KAAK,SAAS,SAAS;EACvB,KAAK,UAAU;EACf,KAAK,MAAM;EACX,KAAK,eAAe;;CAGtB,MAAM,yBAAwC;EAC5C,IAAI,KAAK,MACP,KAAK,UAAU,IAAI,KAAK,KAAK,IAAI,KAAK;EAGxC,IAAI;GACF,KAAK,eAAe,MAAM,KAAK,SAAS,MAAM;GAE9C,IAAI,KAAK,cAAc,SACrB,KAAK,WAAW,KAAK,QAAQ,SAAS,IAAI,GACtC,IAAI,KAAK,aAAa,QAAQ,UAAU,KACxC,KAAK,KAAK,aAAa,QAAQ,UAAU;UAEzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"baseErrorRootCause.js","names":[],"sources":["../../../../src/errors/utils/baseErrorRootCause.ts"],"sourcesContent":["import { BaseError } from '../baseError.js'\nimport { HTTPError } from '../httpError.js'\n\nexport const getRootCauseBaseError = (e: Error): BaseError => {\n let rootCause = e\n while (rootCause.cause && rootCause.cause instanceof BaseError) {\n rootCause = rootCause.cause as BaseError\n }\n return rootCause as BaseError\n}\n\nexport const getRootCauseBaseErrorMessage = (e: Error): string => {\n const rootCause = getRootCauseBaseError(e)\n\n return rootCause instanceof HTTPError\n ? (rootCause as HTTPError).responseBody?.message || rootCause.message\n : rootCause.message\n}\n"],"mappings":";;;AAGA,MAAa,yBAAyB,MAAwB;CAC5D,IAAI,YAAY;AAChB,QAAO,UAAU,SAAS,UAAU,iBAAiB,UACnD,aAAY,UAAU;AAExB,QAAO;;AAGT,MAAa,gCAAgC,MAAqB;CAChE,MAAM,YAAY,sBAAsB,EAAE;AAE1C,QAAO,qBAAqB,YACvB,UAAwB,cAAc,WAAW,UAAU,UAC5D,UAAU"}
1
+ {"version":3,"file":"baseErrorRootCause.js","names":[],"sources":["../../../../src/errors/utils/baseErrorRootCause.ts"],"sourcesContent":["import { BaseError } from '../baseError.js'\nimport { HTTPError } from '../httpError.js'\n\nexport const getRootCauseBaseError = (e: Error): BaseError => {\n let rootCause = e\n while (rootCause.cause && rootCause.cause instanceof BaseError) {\n rootCause = rootCause.cause as BaseError\n }\n return rootCause as BaseError\n}\n\nexport const getRootCauseBaseErrorMessage = (e: Error): string => {\n const rootCause = getRootCauseBaseError(e)\n\n return rootCause instanceof HTTPError\n ? (rootCause as HTTPError).responseBody?.message || rootCause.message\n : rootCause.message\n}\n"],"mappings":";;;AAGA,MAAa,yBAAyB,MAAwB;CAC5D,IAAI,YAAY;CAChB,OAAO,UAAU,SAAS,UAAU,iBAAiB,WACnD,YAAY,UAAU;CAExB,OAAO;;AAGT,MAAa,gCAAgC,MAAqB;CAChE,MAAM,YAAY,sBAAsB,EAAE;CAE1C,OAAO,qBAAqB,YACvB,UAAwB,cAAc,WAAW,UAAU,UAC5D,UAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"rootCause.js","names":[],"sources":["../../../../src/errors/utils/rootCause.ts"],"sourcesContent":["export const getRootCause = (e: Error | undefined): Error | undefined => {\n let rootCause = e\n while (rootCause?.cause) {\n rootCause = rootCause.cause as Error\n }\n return rootCause\n}\n"],"mappings":";AAAA,MAAa,gBAAgB,MAA4C;CACvE,IAAI,YAAY;AAChB,QAAO,WAAW,MAChB,aAAY,UAAU;AAExB,QAAO"}
1
+ {"version":3,"file":"rootCause.js","names":[],"sources":["../../../../src/errors/utils/rootCause.ts"],"sourcesContent":["export const getRootCause = (e: Error | undefined): Error | undefined => {\n let rootCause = e\n while (rootCause?.cause) {\n rootCause = rootCause.cause as Error\n }\n return rootCause\n}\n"],"mappings":";AAAA,MAAa,gBAAgB,MAA4C;CACvE,IAAI,YAAY;CAChB,OAAO,WAAW,OAChB,YAAY,UAAU;CAExB,OAAO"}
@@ -34,10 +34,10 @@ import { TaskPipeline } from "./core/TaskPipeline.js";
34
34
  import { BaseStepExecutor } from "./core/BaseStepExecutor.js";
35
35
  import { getActionMessage, getSubstatusMessage } from "./core/actionMessages.js";
36
36
  import { executeRoute, getActiveRoute, getActiveRoutes, resumeRoute, stopRouteExecution, updateRouteExecution } from "./core/execution.js";
37
+ import { CheckBalanceOptions, checkBalance } from "./core/tasks/helpers/checkBalance.js";
37
38
  import { CheckBalanceTask } from "./core/tasks/CheckBalanceTask.js";
38
39
  import { PrepareTransactionTask } from "./core/tasks/PrepareTransactionTask.js";
39
40
  import { WaitForTransactionStatusTask } from "./core/tasks/WaitForTransactionStatusTask.js";
40
- import { checkBalance } from "./core/tasks/helpers/checkBalance.js";
41
41
  import { getTransactionRequestData } from "./core/tasks/helpers/getTransactionRequestData.js";
42
42
  import { stepComparison } from "./core/tasks/helpers/stepComparison.js";
43
43
  import { HTTPError } from "./errors/httpError.js";
@@ -52,4 +52,4 @@ import { waitForResult } from "./utils/waitForResult.js";
52
52
  import { LruMap, withDedupe } from "./utils/withDedupe.js";
53
53
  import { withTimeout } from "./utils/withTimeout.js";
54
54
  export * from "@lifi/types";
55
- export { type AcceptExchangeRateUpdateHook, type AcceptSlippageUpdateHook, type AcceptSlippageUpdateHookParams, BalanceError, BaseError, BaseStepExecutionTask, BaseStepExecutor, CheckBalanceTask, type ContractCallParams, type ContractTool, type ErrorCode, ErrorMessage, ErrorName, type ExchangeRateUpdateParams, ExecuteStepRetryError, type ExecuteStepRetryParams, type Execution, type ExecutionAction, type ExecutionActionStatus, type ExecutionActionType, type ExecutionOptions, type ExecutionStatus, type GetContractCallsHook, type GetContractCallsResult, HTTPError, InMemoryStorage, type InteractionSettings, LiFiErrorCode, type LiFiStepExtended, LocalStorageAdapter, LruMap, PrepareTransactionTask, ProviderError, RPCError, type RPCUrls, type RequestInterceptor, type RouteExecutionData, type RouteExecutionDataDictionary, type RouteExecutionDictionary, type RouteExtended, type SDKBaseConfig, type SDKClient, type SDKConfig, SDKError, type SDKProvider, type SDKStorage, ServerError, StatusManager, type StepExecutor, type StepExecutorBaseContext, type StepExecutorContext, type StepExecutorOptions, type StepExtended, TaskPipeline, type TaskResult, type TaskStatus, TransactionError, type TransactionMethodType, type TransactionParameters, type TransactionRequestParameters, type TransactionRequestUpdateHook, UnknownError, type UpdateRouteHook, ValidationError, WaitForTransactionStatusTask, actions, checkBalance, checkPackageUpdates, convertQuoteToRoute, createClient, createDefaultStorage, executeRoute, fetchTxErrorDetails, formatUnits, getActionMessage, getActiveRoute, getActiveRoutes, getChains, getConnections, getContractCallsQuote, getGasRecommendation, getNameServiceAddress, getQuote, getRelayedTransactionStatus, getRelayerQuote, getRoutes, getStatus, getStepTransaction, getSubstatusMessage, getToken, getTokenBalance, getTokenBalances, getTokenBalancesByChain, getTokens, getTools, getTransactionHistory, getTransactionRequestData, getWalletBalances, isHex, parseUnits, patchContractCalls, relayTransaction, resumeRoute, sleep, stepComparison, stopRouteExecution, updateRouteExecution, waitForResult, withDedupe, withTimeout };
55
+ export { type AcceptExchangeRateUpdateHook, type AcceptSlippageUpdateHook, type AcceptSlippageUpdateHookParams, BalanceError, BaseError, BaseStepExecutionTask, BaseStepExecutor, type CheckBalanceOptions, CheckBalanceTask, type ContractCallParams, type ContractTool, type ErrorCode, ErrorMessage, ErrorName, type ExchangeRateUpdateParams, ExecuteStepRetryError, type ExecuteStepRetryParams, type Execution, type ExecutionAction, type ExecutionActionStatus, type ExecutionActionType, type ExecutionOptions, type ExecutionStatus, type GetContractCallsHook, type GetContractCallsResult, HTTPError, InMemoryStorage, type InteractionSettings, LiFiErrorCode, type LiFiStepExtended, LocalStorageAdapter, LruMap, PrepareTransactionTask, ProviderError, RPCError, type RPCUrls, type RequestInterceptor, type RouteExecutionData, type RouteExecutionDataDictionary, type RouteExecutionDictionary, type RouteExtended, type SDKBaseConfig, type SDKClient, type SDKConfig, SDKError, type SDKProvider, type SDKStorage, ServerError, StatusManager, type StepExecutor, type StepExecutorBaseContext, type StepExecutorContext, type StepExecutorOptions, type StepExtended, TaskPipeline, type TaskResult, type TaskStatus, TransactionError, type TransactionMethodType, type TransactionParameters, type TransactionRequestParameters, type TransactionRequestUpdateHook, UnknownError, type UpdateRouteHook, ValidationError, WaitForTransactionStatusTask, actions, checkBalance, checkPackageUpdates, convertQuoteToRoute, createClient, createDefaultStorage, executeRoute, fetchTxErrorDetails, formatUnits, getActionMessage, getActiveRoute, getActiveRoutes, getChains, getConnections, getContractCallsQuote, getGasRecommendation, getNameServiceAddress, getQuote, getRelayedTransactionStatus, getRelayerQuote, getRoutes, getStatus, getStepTransaction, getSubstatusMessage, getToken, getTokenBalance, getTokenBalances, getTokenBalancesByChain, getTokens, getTools, getTransactionHistory, getTransactionRequestData, getWalletBalances, isHex, parseUnits, patchContractCalls, relayTransaction, resumeRoute, sleep, stepComparison, stopRouteExecution, updateRouteExecution, waitForResult, withDedupe, withTimeout };
@@ -138,10 +138,6 @@ interface ExecutionOptions {
138
138
  getContractCalls?: GetContractCallsHook;
139
139
  adjustZeroOutputFromPreviousStep?: boolean;
140
140
  executeInBackground?: boolean;
141
- /**
142
- * @deprecated
143
- */
144
- infiniteApproval?: boolean;
145
141
  }
146
142
  type ExecutionStatus = "ACTION_REQUIRED" | "PENDING" | "FAILED" | "DONE";
147
143
  type ExecutionActionStatus = "STARTED" | "ACTION_REQUIRED" | "MESSAGE_REQUIRED" | "RESET_REQUIRED" | "PENDING" | "FAILED" | "DONE" | "CANCELLED";
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","names":[],"sources":["../../../src/types/core.ts"],"mappings":";;;;;KAmBY,kBAAA,IACV,OAAA,EAAS,mBAAA,KACN,mBAAA,GAAsB,OAAA,CAAQ,mBAAA;AAAA,UAElB,aAAA;EACf,MAAA;EACA,MAAA;EACA,UAAA;EACA,MAAA;EACA,YAAA,GAAe,YAAA;EACf,gBAAA,GAAmB,gBAAA;EACnB,OAAA,EAAS,OAAA;EACT,mBAAA;EACA,aAAA;EACA,KAAA;EACA,aAAA;EACA,qBAAA;EACA,kBAAA,GAAqB,kBAAA;EACrB,OAAA,GAAU,UAAA;AAAA;AAAA,UAGK,SAAA,SAAkB,OAAA,CAAQ,IAAA,CAAK,aAAA;EAC9C,UAAA;EACA,SAAA,GAAY,WAAA;AAAA;AAAA,KAGF,OAAA,GAAU,OAAA,CAAQ,MAAA,CAAO,OAAA;AAAA,UAEpB,WAAA;EAAA,SACN,IAAA,EAAM,SAAA;EACf,SAAA,CAAU,OAAA;EACV,cAAA,CACE,IAAA,UACA,MAAA,EAAQ,SAAA,EACR,OAAA,GAAU,OAAA,EACV,KAAA,GAAQ,OAAA,GACP,OAAA;EACH,eAAA,CAAgB,OAAA,EAAS,mBAAA,GAAsB,OAAA,CAAQ,YAAA;EACvD,UAAA,CACE,MAAA,EAAQ,SAAA,EACR,aAAA,UACA,MAAA,EAAQ,KAAA,KACP,OAAA,CAAQ,WAAA;AAAA;AAAA,UAGI,SAAA;EACf,MAAA,EAAQ,aAAA;EACR,SAAA,EAAW,WAAA;EACX,WAAA,CAAY,IAAA,EAAM,SAAA,GAAY,WAAA;EAC9B,YAAA,CAAa,SAAA,EAAW,WAAA;EACxB,SAAA,CAAU,MAAA,EAAQ,aAAA;EAClB,SAAA,IAAa,OAAA,CAAQ,aAAA;EACrB,YAAA,CAAa,OAAA,EAAS,OAAA,GAAU,OAAA,CAAQ,aAAA;EACxC,UAAA,IAAc,OAAA,CAAQ,OAAA;EACtB,mBAAA,CAAoB,OAAA,EAAS,OAAA,GAAU,OAAA;AAAA;AAAA,UAGxB,mBAAA;EACf,OAAA;EACA,gBAAA,GAAmB,gBAAA;AAAA;AAAA,UAGJ,mBAAA;EACf,gBAAA;EACA,YAAA;EACA,cAAA;AAAA;AA5CF;;;;AAAA,KAmDY,sBAAA,GAAyB,MAAA;AAAA,UAEpB,YAAA;EACf,oBAAA;EACA,cAAA;EACA,cAAA,CAAe,QAAA,GAAW,mBAAA;EAC1B,WAAA,CACE,MAAA,EAAQ,SAAA,EACR,IAAA,EAAM,gBAAA,EACN,WAAA,GAAc,sBAAA,GACb,OAAA,CAAQ,gBAAA;AAAA;AAAA,UAGI,kBAAA;EACf,KAAA,EAAO,KAAA;EACP,SAAA,EAAW,YAAA;EACX,gBAAA,GAAmB,gBAAA;AAAA;AAAA,KAGT,4BAAA,GAA+B,OAAA,CACzC,MAAA,SAAe,kBAAA;AAAA,UAGA,aAAA,SAAsB,IAAA,CAAK,KAAA;EAC1C,KAAA,EAAO,gBAAA;AAAA;AAAA,UAGQ,gBAAA,SAAyB,QAAA;EACxC,SAAA,GAAY,SAAA;AAAA;AAAA,KAGF,YAAA,GAAe,IAAA;EACzB,SAAA,GAAY,SAAA;AAAA;AAAA,KAGF,qBAAA;EACV,OAAA;EACA,EAAA;EACA,IAAA;EACA,KAAA;EACA,IAAA;EACA,KAAA;EACA,GAAA;EACA,QAAA;EACA,YAAA;EACA,oBAAA;AAAA;AAAA,KAGU,wBAAA,GAA2B,OAAA,CAAQ,MAAA,SAAe,OAAA,CAAQ,KAAA;AAAA,KAE1D,eAAA,IAAmB,YAAA,EAAc,aAAA;AAAA,UAE5B,4BAAA,SAAqC,qBAAA;EACpD,WAAA;AAAA;AAAA,KAGU,4BAAA,IACV,gBAAA,EAAkB,4BAAA,KACf,OAAA,CAAQ,qBAAA;AAAA,UAEI,8BAAA;EACf,OAAA,EAAS,KAAA;EACT,WAAA;EACA,WAAA;EACA,WAAA;EACA,WAAA;AAAA;AAAA,KAGU,wBAAA,IACV,MAAA,EAAQ,8BAAA,KACL,OAAA;AAAA,UAEY,wBAAA;EACf,OAAA,EAAS,KAAA;EACT,WAAA;EACA,WAAA;AAAA;AAAA,KAGU,4BAAA,IACV,MAAA,EAAQ,wBAAA,KACL,OAAA;AAAA,UAEY,kBAAA;EACf,WAAA;EACA,SAAA;EACA,gBAAA;EACA,cAAA;EACA,WAAA;EACA,SAAA;EACA,UAAA;EACA,QAAA;EACA,QAAA;AAAA;AAAA,UAGe,YAAA;EACf,IAAA;EACA,OAAA;AAAA;AAAA,UAGe,sBAAA;EACf,aAAA,EAAe,YAAA;EACf,OAAA;EACA,YAAA,GAAe,YAAA;AAAA;AAAA,KAGL,oBAAA,IACV,MAAA,EAAQ,kBAAA,KACL,OAAA,CAAQ,sBAAA;AAAA,UAEI,gBAAA;EACf,4BAAA,GAA+B,4BAAA;EAC/B,eAAA,GAAkB,eAAA;EAClB,4BAAA,GAA+B,4BAAA;EAC/B,gBAAA,GAAmB,oBAAA;EACnB,gCAAA;EACA,mBAAA;;;;EAIA,gBAAA;AAAA;AAAA,KAGU,eAAA;AAAA,KAEA,qBAAA;AAAA,KAUA,mBAAA;AAAA,KAUA,eAAA;EACV,IAAA,EAAM,mBAAA;EACN,MAAA,EAAQ,qBAAA;EACR,OAAA;EACA,SAAA,GAAY,SAAA;EACZ,gBAAA;EACA,OAAA;EACA,MAAA;EACA,MAAA;EACA,MAAA;EACA,MAAA,GAAS,qBAAA;EACT,KAAA;EAEA,KAAA;IAAU,IAAA;IAAuB,OAAA;IAAiB,WAAA;EAAA;AAAA;AAAA,UAGnC,SAAA;EACf,SAAA;EACA,QAAA;EACA,MAAA,EAAQ,eAAA;EACR,OAAA,EAAS,KAAA,CAAM,eAAA;EACf,UAAA;EACA,QAAA;EACA,OAAA,GAAU,KAAA;EACV,QAAA,GAAW,OAAA;EACX,QAAA,GAAW,OAAA;EACX,cAAA;EACA,cAAA;EAEA,KAAA;IAAU,IAAA;IAAuB,OAAA;IAAiB,WAAA;EAAA;AAAA;AAAA,KAGxC,qBAAA"}
1
+ {"version":3,"file":"core.d.ts","names":[],"sources":["../../../src/types/core.ts"],"mappings":";;;;;KAmBY,kBAAA,IACV,OAAA,EAAS,mBAAA,KACN,mBAAA,GAAsB,OAAA,CAAQ,mBAAA;AAAA,UAElB,aAAA;EACf,MAAA;EACA,MAAA;EACA,UAAA;EACA,MAAA;EACA,YAAA,GAAe,YAAA;EACf,gBAAA,GAAmB,gBAAA;EACnB,OAAA,EAAS,OAAA;EACT,mBAAA;EACA,aAAA;EACA,KAAA;EACA,aAAA;EACA,qBAAA;EACA,kBAAA,GAAqB,kBAAA;EACrB,OAAA,GAAU,UAAA;AAAA;AAAA,UAGK,SAAA,SAAkB,OAAA,CAAQ,IAAA,CAAK,aAAA;EAC9C,UAAA;EACA,SAAA,GAAY,WAAA;AAAA;AAAA,KAGF,OAAA,GAAU,OAAA,CAAQ,MAAA,CAAO,OAAA;AAAA,UAEpB,WAAA;EAAA,SACN,IAAA,EAAM,SAAA;EACf,SAAA,CAAU,OAAA;EACV,cAAA,CACE,IAAA,UACA,MAAA,EAAQ,SAAA,EACR,OAAA,GAAU,OAAA,EACV,KAAA,GAAQ,OAAA,GACP,OAAA;EACH,eAAA,CAAgB,OAAA,EAAS,mBAAA,GAAsB,OAAA,CAAQ,YAAA;EACvD,UAAA,CACE,MAAA,EAAQ,SAAA,EACR,aAAA,UACA,MAAA,EAAQ,KAAA,KACP,OAAA,CAAQ,WAAA;AAAA;AAAA,UAGI,SAAA;EACf,MAAA,EAAQ,aAAA;EACR,SAAA,EAAW,WAAA;EACX,WAAA,CAAY,IAAA,EAAM,SAAA,GAAY,WAAA;EAC9B,YAAA,CAAa,SAAA,EAAW,WAAA;EACxB,SAAA,CAAU,MAAA,EAAQ,aAAA;EAClB,SAAA,IAAa,OAAA,CAAQ,aAAA;EACrB,YAAA,CAAa,OAAA,EAAS,OAAA,GAAU,OAAA,CAAQ,aAAA;EACxC,UAAA,IAAc,OAAA,CAAQ,OAAA;EACtB,mBAAA,CAAoB,OAAA,EAAS,OAAA,GAAU,OAAA;AAAA;AAAA,UAGxB,mBAAA;EACf,OAAA;EACA,gBAAA,GAAmB,gBAAA;AAAA;AAAA,UAGJ,mBAAA;EACf,gBAAA;EACA,YAAA;EACA,cAAA;AAAA;AA5CF;;;;AAAA,KAmDY,sBAAA,GAAyB,MAAA;AAAA,UAEpB,YAAA;EACf,oBAAA;EACA,cAAA;EACA,cAAA,CAAe,QAAA,GAAW,mBAAA;EAC1B,WAAA,CACE,MAAA,EAAQ,SAAA,EACR,IAAA,EAAM,gBAAA,EACN,WAAA,GAAc,sBAAA,GACb,OAAA,CAAQ,gBAAA;AAAA;AAAA,UAGI,kBAAA;EACf,KAAA,EAAO,KAAA;EACP,SAAA,EAAW,YAAA;EACX,gBAAA,GAAmB,gBAAA;AAAA;AAAA,KAGT,4BAAA,GAA+B,OAAA,CACzC,MAAA,SAAe,kBAAA;AAAA,UAGA,aAAA,SAAsB,IAAA,CAAK,KAAA;EAC1C,KAAA,EAAO,gBAAA;AAAA;AAAA,UAGQ,gBAAA,SAAyB,QAAA;EACxC,SAAA,GAAY,SAAA;AAAA;AAAA,KAGF,YAAA,GAAe,IAAA;EACzB,SAAA,GAAY,SAAA;AAAA;AAAA,KAGF,qBAAA;EACV,OAAA;EACA,EAAA;EACA,IAAA;EACA,KAAA;EACA,IAAA;EACA,KAAA;EACA,GAAA;EACA,QAAA;EACA,YAAA;EACA,oBAAA;AAAA;AAAA,KAGU,wBAAA,GAA2B,OAAA,CAAQ,MAAA,SAAe,OAAA,CAAQ,KAAA;AAAA,KAE1D,eAAA,IAAmB,YAAA,EAAc,aAAA;AAAA,UAE5B,4BAAA,SAAqC,qBAAA;EACpD,WAAA;AAAA;AAAA,KAGU,4BAAA,IACV,gBAAA,EAAkB,4BAAA,KACf,OAAA,CAAQ,qBAAA;AAAA,UAEI,8BAAA;EACf,OAAA,EAAS,KAAA;EACT,WAAA;EACA,WAAA;EACA,WAAA;EACA,WAAA;AAAA;AAAA,KAGU,wBAAA,IACV,MAAA,EAAQ,8BAAA,KACL,OAAA;AAAA,UAEY,wBAAA;EACf,OAAA,EAAS,KAAA;EACT,WAAA;EACA,WAAA;AAAA;AAAA,KAGU,4BAAA,IACV,MAAA,EAAQ,wBAAA,KACL,OAAA;AAAA,UAEY,kBAAA;EACf,WAAA;EACA,SAAA;EACA,gBAAA;EACA,cAAA;EACA,WAAA;EACA,SAAA;EACA,UAAA;EACA,QAAA;EACA,QAAA;AAAA;AAAA,UAGe,YAAA;EACf,IAAA;EACA,OAAA;AAAA;AAAA,UAGe,sBAAA;EACf,aAAA,EAAe,YAAA;EACf,OAAA;EACA,YAAA,GAAe,YAAA;AAAA;AAAA,KAGL,oBAAA,IACV,MAAA,EAAQ,kBAAA,KACL,OAAA,CAAQ,sBAAA;AAAA,UAEI,gBAAA;EACf,4BAAA,GAA+B,4BAAA;EAC/B,eAAA,GAAkB,eAAA;EAClB,4BAAA,GAA+B,4BAAA;EAC/B,gBAAA,GAAmB,oBAAA;EACnB,gCAAA;EACA,mBAAA;AAAA;AAAA,KAGU,eAAA;AAAA,KAEA,qBAAA;AAAA,KAUA,mBAAA;AAAA,KAUA,eAAA;EACV,IAAA,EAAM,mBAAA;EACN,MAAA,EAAQ,qBAAA;EACR,OAAA;EACA,SAAA,GAAY,SAAA;EACZ,gBAAA;EACA,OAAA;EACA,MAAA;EACA,MAAA;EACA,MAAA;EACA,MAAA,GAAS,qBAAA;EACT,KAAA;EAEA,KAAA;IAAU,IAAA;IAAuB,OAAA;IAAiB,WAAA;EAAA;AAAA;AAAA,UAGnC,SAAA;EACf,SAAA;EACA,QAAA;EACA,MAAA,EAAQ,eAAA;EACR,OAAA,EAAS,KAAA,CAAM,eAAA;EACf,UAAA;EACA,QAAA;EACA,OAAA,GAAU,KAAA;EACV,QAAA,GAAW,OAAA;EACX,QAAA,GAAW,OAAA;EACX,cAAA;EACA,cAAA;EAEA,KAAA;IAAU,IAAA;IAAuB,OAAA;IAAiB,WAAA;EAAA;AAAA;AAAA,KAGxC,qBAAA"}
@@ -4,7 +4,7 @@ const checkPackageUpdates = async (packageName, packageVersion) => {
4
4
  try {
5
5
  const pkgName = packageName ?? "@lifi/sdk";
6
6
  const latestVersion = (await (await fetch(`https://registry.npmjs.org/${pkgName}/latest`)).json()).version;
7
- const currentVersion = packageVersion ?? "4.0.0-beta.7";
7
+ const currentVersion = packageVersion ?? "4.0.0-beta.9";
8
8
  if (latestVersion > currentVersion) console.warn(`${pkgName}: new package version is available. Please update as soon as possible to enjoy the newest features. Current version: ${currentVersion}. Latest version: ${latestVersion}.`);
9
9
  } catch (_error) {}
10
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"checkPackageUpdates.js","names":[],"sources":["../../../src/utils/checkPackageUpdates.ts"],"sourcesContent":["import { name, version } from '../version.js'\n\nexport const checkPackageUpdates = async (\n packageName?: string,\n packageVersion?: string\n): Promise<void> => {\n try {\n const pkgName = packageName ?? name\n const response = await fetch(`https://registry.npmjs.org/${pkgName}/latest`)\n const reponseBody = await response.json()\n const latestVersion = reponseBody.version\n const currentVersion = packageVersion ?? version\n\n if (latestVersion > currentVersion) {\n console.warn(\n `${pkgName}: new package version is available. Please update as soon as possible to enjoy the newest features. Current version: ${currentVersion}. Latest version: ${latestVersion}.`\n )\n }\n } catch (_error) {\n // Cannot verify version, might be network error etc. We don't bother showing anything in that case\n }\n}\n"],"mappings":";;AAEA,MAAa,sBAAsB,OACjC,aACA,mBACkB;AAClB,KAAI;EACF,MAAM,UAAU,eAAA;EAGhB,MAAM,iBADc,OADH,MAAM,MAAM,8BAA8B,QAAQ,SAAS,EACzC,MAAM,EACP;EAClC,MAAM,iBAAiB,kBAAA;AAEvB,MAAI,gBAAgB,eAClB,SAAQ,KACN,GAAG,QAAQ,uHAAuH,eAAe,oBAAoB,cAAc,GACpL;UAEI,QAAQ"}
1
+ {"version":3,"file":"checkPackageUpdates.js","names":[],"sources":["../../../src/utils/checkPackageUpdates.ts"],"sourcesContent":["import { name, version } from '../version.js'\n\nexport const checkPackageUpdates = async (\n packageName?: string,\n packageVersion?: string\n): Promise<void> => {\n try {\n const pkgName = packageName ?? name\n const response = await fetch(`https://registry.npmjs.org/${pkgName}/latest`)\n const reponseBody = await response.json()\n const latestVersion = reponseBody.version\n const currentVersion = packageVersion ?? version\n\n if (latestVersion > currentVersion) {\n console.warn(\n `${pkgName}: new package version is available. Please update as soon as possible to enjoy the newest features. Current version: ${currentVersion}. Latest version: ${latestVersion}.`\n )\n }\n } catch (_error) {\n // Cannot verify version, might be network error etc. We don't bother showing anything in that case\n }\n}\n"],"mappings":";;AAEA,MAAa,sBAAsB,OACjC,aACA,mBACkB;CAClB,IAAI;EACF,MAAM,UAAU,eAAA;EAGhB,MAAM,iBAAgB,OADI,MADH,MAAM,8BAA8B,QAAQ,SAAS,EACzC,MAAM,EACP;EAClC,MAAM,iBAAiB,kBAAA;EAEvB,IAAI,gBAAgB,gBAClB,QAAQ,KACN,GAAG,QAAQ,uHAAuH,eAAe,oBAAoB,cAAc,GACpL;UAEI,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"convertQuoteToRoute.js","names":[],"sources":["../../../src/utils/convertQuoteToRoute.ts"],"sourcesContent":["import type { LiFiStep, Route, Step } from '@lifi/types'\nimport { ValidationError } from '../errors/errors.js'\nimport { SDKError } from '../errors/SDKError.js'\nimport { formatUnits } from './formatUnits.js'\n\ninterface ConvertQuoteToRouteOptions {\n /**\n * When true, if the quote has zero output values (toAmount, toAmountMin, toAmountUSD),\n * use the values from the previous included step that has non-zero output.\n */\n adjustZeroOutputFromPreviousStep?: boolean\n}\n\nconst parseBigInt = (value: string | undefined): bigint => {\n if (!value) {\n return 0n\n }\n try {\n return BigInt(value)\n } catch {\n return 0n\n }\n}\n\nconst parseNumber = (value: string | undefined): number => {\n if (!value) {\n return 0\n }\n const parsed = Number(value)\n return Number.isNaN(parsed) ? 0 : parsed\n}\n\nconst isZeroOutput = (\n toAmount: string,\n toAmountMin: string,\n toAmountUSD?: string\n): boolean => {\n return (\n !parseBigInt(toAmount) &&\n !parseBigInt(toAmountMin) &&\n !parseNumber(toAmountUSD)\n )\n}\n\nconst hasNonZeroOutput = (step: Step): boolean => {\n return (\n !!parseBigInt(step.estimate.toAmount) ||\n !!parseBigInt(step.estimate.toAmountMin)\n )\n}\n\nconst findPreviousNonZeroStep = (steps: Step[]): Step | undefined => {\n // Find the last step that has non-zero output (the step before the zero output step)\n for (let i = steps.length - 1; i >= 0; i--) {\n const step = steps[i]\n if (hasNonZeroOutput(step)) {\n return step\n }\n }\n return undefined\n}\n\nexport function formatTokenPrice(\n amount?: string | bigint,\n price?: string,\n decimals?: number\n): number {\n if (!amount || !price) {\n return 0\n }\n\n const formattedAmount =\n typeof amount === 'bigint' && decimals !== undefined\n ? formatUnits(amount, decimals)\n : amount.toString()\n\n if (Number.isNaN(Number(formattedAmount)) || Number.isNaN(Number(price))) {\n return 0\n }\n return Number.parseFloat(formattedAmount) * Number.parseFloat(price)\n}\n\n/**\n * Converts a quote to Route\n * @param quote - Step returned from the quote endpoint.\n * @param options - Optional configuration for handling edge cases.\n * @returns - The route to be executed.\n * @throws {BaseError} Throws a ValidationError if the step has missing values.\n */\nexport const convertQuoteToRoute = (\n quote: LiFiStep,\n options?: ConvertQuoteToRouteOptions\n): Route => {\n let toAmount = quote.estimate.toAmount\n let toAmountMin = quote.estimate.toAmountMin\n let toAmountUSD = quote.estimate.toAmountUSD\n\n // Handle zero output values by looking at previous included step\n if (\n options?.adjustZeroOutputFromPreviousStep &&\n quote.includedSteps?.length &&\n isZeroOutput(toAmount, toAmountMin, toAmountUSD)\n ) {\n const previousStep = findPreviousNonZeroStep(quote.includedSteps)\n if (previousStep) {\n toAmount = previousStep.estimate.toAmount\n toAmountMin = previousStep.estimate.toAmountMin\n toAmountUSD = formatTokenPrice(\n parseBigInt(toAmount),\n previousStep.action.toToken.priceUSD,\n previousStep.action.toToken.decimals\n ).toFixed(2)\n\n // Update the last included step's estimate with the adjusted values\n const lastStep = quote.includedSteps[quote.includedSteps.length - 1]\n if (lastStep && !hasNonZeroOutput(lastStep)) {\n lastStep.estimate.toAmount = toAmount\n lastStep.estimate.toAmountMin = toAmountMin\n }\n }\n }\n\n if (!quote.estimate.fromAmountUSD) {\n throw new SDKError(\n new ValidationError(\"Missing 'fromAmountUSD' in step estimate.\")\n )\n }\n\n if (!toAmountUSD) {\n throw new SDKError(\n new ValidationError(\"Missing 'toAmountUSD' in step estimate.\")\n )\n }\n\n const route: Route = {\n id: quote.id,\n fromChainId: quote.action.fromToken.chainId,\n fromToken: quote.action.fromToken,\n fromAmount: quote.action.fromAmount,\n fromAmountUSD: quote.estimate.fromAmountUSD,\n fromAddress: quote.action.fromAddress,\n toChainId: quote.action.toToken.chainId,\n toToken: quote.action.toToken,\n toAmount,\n toAmountMin,\n toAmountUSD,\n toAddress: quote.action.toAddress || quote.action.fromAddress,\n gasCostUSD: quote.estimate.gasCosts?.[0]?.amountUSD || '0',\n steps: [quote],\n insurance: { state: 'NOT_INSURABLE', feeAmountUsd: '0' },\n }\n\n return route\n}\n"],"mappings":";;;;AAaA,MAAM,eAAe,UAAsC;AACzD,KAAI,CAAC,MACH,QAAO;AAET,KAAI;AACF,SAAO,OAAO,MAAM;SACd;AACN,SAAO;;;AAIX,MAAM,eAAe,UAAsC;AACzD,KAAI,CAAC,MACH,QAAO;CAET,MAAM,SAAS,OAAO,MAAM;AAC5B,QAAO,OAAO,MAAM,OAAO,GAAG,IAAI;;AAGpC,MAAM,gBACJ,UACA,aACA,gBACY;AACZ,QACE,CAAC,YAAY,SAAS,IACtB,CAAC,YAAY,YAAY,IACzB,CAAC,YAAY,YAAY;;AAI7B,MAAM,oBAAoB,SAAwB;AAChD,QACE,CAAC,CAAC,YAAY,KAAK,SAAS,SAAS,IACrC,CAAC,CAAC,YAAY,KAAK,SAAS,YAAY;;AAI5C,MAAM,2BAA2B,UAAoC;AAEnE,MAAK,IAAI,IAAI,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK;EAC1C,MAAM,OAAO,MAAM;AACnB,MAAI,iBAAiB,KAAK,CACxB,QAAO;;;AAMb,SAAgB,iBACd,QACA,OACA,UACQ;AACR,KAAI,CAAC,UAAU,CAAC,MACd,QAAO;CAGT,MAAM,kBACJ,OAAO,WAAW,YAAY,aAAa,KAAA,IACvC,YAAY,QAAQ,SAAS,GAC7B,OAAO,UAAU;AAEvB,KAAI,OAAO,MAAM,OAAO,gBAAgB,CAAC,IAAI,OAAO,MAAM,OAAO,MAAM,CAAC,CACtE,QAAO;AAET,QAAO,OAAO,WAAW,gBAAgB,GAAG,OAAO,WAAW,MAAM;;;;;;;;;AAUtE,MAAa,uBACX,OACA,YACU;CACV,IAAI,WAAW,MAAM,SAAS;CAC9B,IAAI,cAAc,MAAM,SAAS;CACjC,IAAI,cAAc,MAAM,SAAS;AAGjC,KACE,SAAS,oCACT,MAAM,eAAe,UACrB,aAAa,UAAU,aAAa,YAAY,EAChD;EACA,MAAM,eAAe,wBAAwB,MAAM,cAAc;AACjE,MAAI,cAAc;AAChB,cAAW,aAAa,SAAS;AACjC,iBAAc,aAAa,SAAS;AACpC,iBAAc,iBACZ,YAAY,SAAS,EACrB,aAAa,OAAO,QAAQ,UAC5B,aAAa,OAAO,QAAQ,SAC7B,CAAC,QAAQ,EAAE;GAGZ,MAAM,WAAW,MAAM,cAAc,MAAM,cAAc,SAAS;AAClE,OAAI,YAAY,CAAC,iBAAiB,SAAS,EAAE;AAC3C,aAAS,SAAS,WAAW;AAC7B,aAAS,SAAS,cAAc;;;;AAKtC,KAAI,CAAC,MAAM,SAAS,cAClB,OAAM,IAAI,SACR,IAAI,gBAAgB,4CAA4C,CACjE;AAGH,KAAI,CAAC,YACH,OAAM,IAAI,SACR,IAAI,gBAAgB,0CAA0C,CAC/D;AAqBH,QAlBqB;EACnB,IAAI,MAAM;EACV,aAAa,MAAM,OAAO,UAAU;EACpC,WAAW,MAAM,OAAO;EACxB,YAAY,MAAM,OAAO;EACzB,eAAe,MAAM,SAAS;EAC9B,aAAa,MAAM,OAAO;EAC1B,WAAW,MAAM,OAAO,QAAQ;EAChC,SAAS,MAAM,OAAO;EACtB;EACA;EACA;EACA,WAAW,MAAM,OAAO,aAAa,MAAM,OAAO;EAClD,YAAY,MAAM,SAAS,WAAW,IAAI,aAAa;EACvD,OAAO,CAAC,MAAM;EACd,WAAW;GAAE,OAAO;GAAiB,cAAc;GAAK;EACzD"}
1
+ {"version":3,"file":"convertQuoteToRoute.js","names":[],"sources":["../../../src/utils/convertQuoteToRoute.ts"],"sourcesContent":["import type { LiFiStep, Route, Step } from '@lifi/types'\nimport { ValidationError } from '../errors/errors.js'\nimport { SDKError } from '../errors/SDKError.js'\nimport { formatUnits } from './formatUnits.js'\n\ninterface ConvertQuoteToRouteOptions {\n /**\n * When true, if the quote has zero output values (toAmount, toAmountMin, toAmountUSD),\n * use the values from the previous included step that has non-zero output.\n */\n adjustZeroOutputFromPreviousStep?: boolean\n}\n\nconst parseBigInt = (value: string | undefined): bigint => {\n if (!value) {\n return 0n\n }\n try {\n return BigInt(value)\n } catch {\n return 0n\n }\n}\n\nconst parseNumber = (value: string | undefined): number => {\n if (!value) {\n return 0\n }\n const parsed = Number(value)\n return Number.isNaN(parsed) ? 0 : parsed\n}\n\nconst isZeroOutput = (\n toAmount: string,\n toAmountMin: string,\n toAmountUSD?: string\n): boolean => {\n return (\n !parseBigInt(toAmount) &&\n !parseBigInt(toAmountMin) &&\n !parseNumber(toAmountUSD)\n )\n}\n\nconst hasNonZeroOutput = (step: Step): boolean => {\n return (\n !!parseBigInt(step.estimate.toAmount) ||\n !!parseBigInt(step.estimate.toAmountMin)\n )\n}\n\nconst findPreviousNonZeroStep = (steps: Step[]): Step | undefined => {\n // Find the last step that has non-zero output (the step before the zero output step)\n for (let i = steps.length - 1; i >= 0; i--) {\n const step = steps[i]\n if (hasNonZeroOutput(step)) {\n return step\n }\n }\n return undefined\n}\n\nexport function formatTokenPrice(\n amount?: string | bigint,\n price?: string,\n decimals?: number\n): number {\n if (!amount || !price) {\n return 0\n }\n\n const formattedAmount =\n typeof amount === 'bigint' && decimals !== undefined\n ? formatUnits(amount, decimals)\n : amount.toString()\n\n if (Number.isNaN(Number(formattedAmount)) || Number.isNaN(Number(price))) {\n return 0\n }\n return Number.parseFloat(formattedAmount) * Number.parseFloat(price)\n}\n\n/**\n * Converts a quote to Route\n * @param quote - Step returned from the quote endpoint.\n * @param options - Optional configuration for handling edge cases.\n * @returns - The route to be executed.\n * @throws {BaseError} Throws a ValidationError if the step has missing values.\n */\nexport const convertQuoteToRoute = (\n quote: LiFiStep,\n options?: ConvertQuoteToRouteOptions\n): Route => {\n let toAmount = quote.estimate.toAmount\n let toAmountMin = quote.estimate.toAmountMin\n let toAmountUSD = quote.estimate.toAmountUSD\n\n // Handle zero output values by looking at previous included step\n if (\n options?.adjustZeroOutputFromPreviousStep &&\n quote.includedSteps?.length &&\n isZeroOutput(toAmount, toAmountMin, toAmountUSD)\n ) {\n const previousStep = findPreviousNonZeroStep(quote.includedSteps)\n if (previousStep) {\n toAmount = previousStep.estimate.toAmount\n toAmountMin = previousStep.estimate.toAmountMin\n toAmountUSD = formatTokenPrice(\n parseBigInt(toAmount),\n previousStep.action.toToken.priceUSD,\n previousStep.action.toToken.decimals\n ).toFixed(2)\n\n // Update the last included step's estimate with the adjusted values\n const lastStep = quote.includedSteps[quote.includedSteps.length - 1]\n if (lastStep && !hasNonZeroOutput(lastStep)) {\n lastStep.estimate.toAmount = toAmount\n lastStep.estimate.toAmountMin = toAmountMin\n }\n }\n }\n\n if (!quote.estimate.fromAmountUSD) {\n throw new SDKError(\n new ValidationError(\"Missing 'fromAmountUSD' in step estimate.\")\n )\n }\n\n if (!toAmountUSD) {\n throw new SDKError(\n new ValidationError(\"Missing 'toAmountUSD' in step estimate.\")\n )\n }\n\n const route: Route = {\n id: quote.id,\n fromChainId: quote.action.fromToken.chainId,\n fromToken: quote.action.fromToken,\n fromAmount: quote.action.fromAmount,\n fromAmountUSD: quote.estimate.fromAmountUSD,\n fromAddress: quote.action.fromAddress,\n toChainId: quote.action.toToken.chainId,\n toToken: quote.action.toToken,\n toAmount,\n toAmountMin,\n toAmountUSD,\n toAddress: quote.action.toAddress || quote.action.fromAddress,\n gasCostUSD: quote.estimate.gasCosts?.[0]?.amountUSD || '0',\n steps: [quote],\n insurance: { state: 'NOT_INSURABLE', feeAmountUsd: '0' },\n }\n\n return route\n}\n"],"mappings":";;;;AAaA,MAAM,eAAe,UAAsC;CACzD,IAAI,CAAC,OACH,OAAO;CAET,IAAI;EACF,OAAO,OAAO,MAAM;SACd;EACN,OAAO;;;AAIX,MAAM,eAAe,UAAsC;CACzD,IAAI,CAAC,OACH,OAAO;CAET,MAAM,SAAS,OAAO,MAAM;CAC5B,OAAO,OAAO,MAAM,OAAO,GAAG,IAAI;;AAGpC,MAAM,gBACJ,UACA,aACA,gBACY;CACZ,OACE,CAAC,YAAY,SAAS,IACtB,CAAC,YAAY,YAAY,IACzB,CAAC,YAAY,YAAY;;AAI7B,MAAM,oBAAoB,SAAwB;CAChD,OACE,CAAC,CAAC,YAAY,KAAK,SAAS,SAAS,IACrC,CAAC,CAAC,YAAY,KAAK,SAAS,YAAY;;AAI5C,MAAM,2BAA2B,UAAoC;CAEnE,KAAK,IAAI,IAAI,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK;EAC1C,MAAM,OAAO,MAAM;EACnB,IAAI,iBAAiB,KAAK,EACxB,OAAO;;;AAMb,SAAgB,iBACd,QACA,OACA,UACQ;CACR,IAAI,CAAC,UAAU,CAAC,OACd,OAAO;CAGT,MAAM,kBACJ,OAAO,WAAW,YAAY,aAAa,KAAA,IACvC,YAAY,QAAQ,SAAS,GAC7B,OAAO,UAAU;CAEvB,IAAI,OAAO,MAAM,OAAO,gBAAgB,CAAC,IAAI,OAAO,MAAM,OAAO,MAAM,CAAC,EACtE,OAAO;CAET,OAAO,OAAO,WAAW,gBAAgB,GAAG,OAAO,WAAW,MAAM;;;;;;;;;AAUtE,MAAa,uBACX,OACA,YACU;CACV,IAAI,WAAW,MAAM,SAAS;CAC9B,IAAI,cAAc,MAAM,SAAS;CACjC,IAAI,cAAc,MAAM,SAAS;CAGjC,IACE,SAAS,oCACT,MAAM,eAAe,UACrB,aAAa,UAAU,aAAa,YAAY,EAChD;EACA,MAAM,eAAe,wBAAwB,MAAM,cAAc;EACjE,IAAI,cAAc;GAChB,WAAW,aAAa,SAAS;GACjC,cAAc,aAAa,SAAS;GACpC,cAAc,iBACZ,YAAY,SAAS,EACrB,aAAa,OAAO,QAAQ,UAC5B,aAAa,OAAO,QAAQ,SAC7B,CAAC,QAAQ,EAAE;GAGZ,MAAM,WAAW,MAAM,cAAc,MAAM,cAAc,SAAS;GAClE,IAAI,YAAY,CAAC,iBAAiB,SAAS,EAAE;IAC3C,SAAS,SAAS,WAAW;IAC7B,SAAS,SAAS,cAAc;;;;CAKtC,IAAI,CAAC,MAAM,SAAS,eAClB,MAAM,IAAI,SACR,IAAI,gBAAgB,4CAA4C,CACjE;CAGH,IAAI,CAAC,aACH,MAAM,IAAI,SACR,IAAI,gBAAgB,0CAA0C,CAC/D;CAqBH,OAAO;EAjBL,IAAI,MAAM;EACV,aAAa,MAAM,OAAO,UAAU;EACpC,WAAW,MAAM,OAAO;EACxB,YAAY,MAAM,OAAO;EACzB,eAAe,MAAM,SAAS;EAC9B,aAAa,MAAM,OAAO;EAC1B,WAAW,MAAM,OAAO,QAAQ;EAChC,SAAS,MAAM,OAAO;EACtB;EACA;EACA;EACA,WAAW,MAAM,OAAO,aAAa,MAAM,OAAO;EAClD,YAAY,MAAM,SAAS,WAAW,IAAI,aAAa;EACvD,OAAO,CAAC,MAAM;EACd,WAAW;GAAE,OAAO;GAAiB,cAAc;GAAK;EAG9C"}
@@ -1 +1 @@
1
- {"version":3,"file":"decode.js","names":[],"sources":["../../../src/utils/decode.ts"],"sourcesContent":["export const decodeTaskId = (taskId: string): string[] => {\n const decoded = new TextDecoder()\n .decode(\n new Uint8Array(\n taskId\n .slice(2)\n .match(/.{1,2}/g)\n ?.map((byte) => Number.parseInt(byte, 16)) ?? []\n )\n )\n .split('|')\n return decoded\n}\n"],"mappings":";AAAA,MAAa,gBAAgB,WAA6B;AAWxD,QAVgB,IAAI,aAAa,CAC9B,OACC,IAAI,WACF,OACG,MAAM,EAAE,CACR,MAAM,UAAU,EACf,KAAK,SAAS,OAAO,SAAS,MAAM,GAAG,CAAC,IAAI,EAAE,CACnD,CACF,CACA,MAAM,IAAI"}
1
+ {"version":3,"file":"decode.js","names":[],"sources":["../../../src/utils/decode.ts"],"sourcesContent":["export const decodeTaskId = (taskId: string): string[] => {\n const decoded = new TextDecoder()\n .decode(\n new Uint8Array(\n taskId\n .slice(2)\n .match(/.{1,2}/g)\n ?.map((byte) => Number.parseInt(byte, 16)) ?? []\n )\n )\n .split('|')\n return decoded\n}\n"],"mappings":";AAAA,MAAa,gBAAgB,WAA6B;CAWxD,OAVgB,IAAI,aAAa,CAC9B,OACC,IAAI,WACF,OACG,MAAM,EAAE,CACR,MAAM,UAAU,EACf,KAAK,SAAS,OAAO,SAAS,MAAM,GAAG,CAAC,IAAI,EAAE,CACnD,CACF,CACA,MAAM,IACK"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetchTxErrorDetails.js","names":[],"sources":["../../../src/utils/fetchTxErrorDetails.ts"],"sourcesContent":["export const fetchTxErrorDetails = async (\n txHash: string,\n chainId: number\n): Promise<unknown> => {\n try {\n const response = await fetch(\n `https://api.tenderly.co/api/v1/public-contract/${chainId}/tx/${txHash}`\n )\n const reponseBody = await response.json()\n\n return reponseBody\n } catch (_) {\n return undefined\n }\n}\n"],"mappings":";AAAA,MAAa,sBAAsB,OACjC,QACA,YACqB;AACrB,KAAI;AAMF,SAFoB,OAHH,MAAM,MACrB,kDAAkD,QAAQ,MAAM,SACjE,EACkC,MAAM;UAGlC,GAAG;AACV"}
1
+ {"version":3,"file":"fetchTxErrorDetails.js","names":[],"sources":["../../../src/utils/fetchTxErrorDetails.ts"],"sourcesContent":["export const fetchTxErrorDetails = async (\n txHash: string,\n chainId: number\n): Promise<unknown> => {\n try {\n const response = await fetch(\n `https://api.tenderly.co/api/v1/public-contract/${chainId}/tx/${txHash}`\n )\n const reponseBody = await response.json()\n\n return reponseBody\n } catch (_) {\n return undefined\n }\n}\n"],"mappings":";AAAA,MAAa,sBAAsB,OACjC,QACA,YACqB;CACrB,IAAI;EAMF,OAAO,OAFmB,MAHH,MACrB,kDAAkD,QAAQ,MAAM,SACjE,EACkC,MAAM;UAGlC,GAAG;EACV"}
@@ -1 +1 @@
1
- {"version":3,"file":"formatUnits.js","names":[],"sources":["../../../src/utils/formatUnits.ts"],"sourcesContent":["/**\n * Divides a number by a given exponent of base 10 (10exponent), and formats it into a string representation of the number.\n */\nexport function formatUnits(value: bigint, decimals: number): string {\n let display = value.toString()\n\n const negative = display.startsWith('-')\n if (negative) {\n display = display.slice(1)\n }\n\n display = display.padStart(decimals, '0')\n\n let [integer, fraction] = [\n display.slice(0, display.length - decimals),\n display.slice(display.length - decimals),\n ]\n fraction = fraction.replace(/(0+)$/, '')\n return `${negative ? '-' : ''}${integer || '0'}${\n fraction ? `.${fraction}` : ''\n }`\n}\n"],"mappings":";;;;AAGA,SAAgB,YAAY,OAAe,UAA0B;CACnE,IAAI,UAAU,MAAM,UAAU;CAE9B,MAAM,WAAW,QAAQ,WAAW,IAAI;AACxC,KAAI,SACF,WAAU,QAAQ,MAAM,EAAE;AAG5B,WAAU,QAAQ,SAAS,UAAU,IAAI;CAEzC,IAAI,CAAC,SAAS,YAAY,CACxB,QAAQ,MAAM,GAAG,QAAQ,SAAS,SAAS,EAC3C,QAAQ,MAAM,QAAQ,SAAS,SAAS,CACzC;AACD,YAAW,SAAS,QAAQ,SAAS,GAAG;AACxC,QAAO,GAAG,WAAW,MAAM,KAAK,WAAW,MACzC,WAAW,IAAI,aAAa"}
1
+ {"version":3,"file":"formatUnits.js","names":[],"sources":["../../../src/utils/formatUnits.ts"],"sourcesContent":["/**\n * Divides a number by a given exponent of base 10 (10exponent), and formats it into a string representation of the number.\n */\nexport function formatUnits(value: bigint, decimals: number): string {\n let display = value.toString()\n\n const negative = display.startsWith('-')\n if (negative) {\n display = display.slice(1)\n }\n\n display = display.padStart(decimals, '0')\n\n let [integer, fraction] = [\n display.slice(0, display.length - decimals),\n display.slice(display.length - decimals),\n ]\n fraction = fraction.replace(/(0+)$/, '')\n return `${negative ? '-' : ''}${integer || '0'}${\n fraction ? `.${fraction}` : ''\n }`\n}\n"],"mappings":";;;;AAGA,SAAgB,YAAY,OAAe,UAA0B;CACnE,IAAI,UAAU,MAAM,UAAU;CAE9B,MAAM,WAAW,QAAQ,WAAW,IAAI;CACxC,IAAI,UACF,UAAU,QAAQ,MAAM,EAAE;CAG5B,UAAU,QAAQ,SAAS,UAAU,IAAI;CAEzC,IAAI,CAAC,SAAS,YAAY,CACxB,QAAQ,MAAM,GAAG,QAAQ,SAAS,SAAS,EAC3C,QAAQ,MAAM,QAAQ,SAAS,SAAS,CACzC;CACD,WAAW,SAAS,QAAQ,SAAS,GAAG;CACxC,OAAO,GAAG,WAAW,MAAM,KAAK,WAAW,MACzC,WAAW,IAAI,aAAa"}
@@ -1 +1 @@
1
- {"version":3,"file":"getTransactionMessage.js","names":[],"sources":["../../../src/utils/getTransactionMessage.ts"],"sourcesContent":["import type { LiFiStep } from '@lifi/types'\nimport type { SDKClient } from '../types/core.js'\n\nexport const getTransactionFailedMessage = async (\n client: SDKClient,\n step: LiFiStep,\n txLink?: string\n): Promise<string> => {\n const chain = await client.getChainById(step.action.toChainId)\n\n const baseString = `It appears that your transaction may not have been successful.\n However, to confirm this, please check your ${chain.name} wallet for ${step.action.toToken.symbol}.`\n return txLink\n ? `${baseString}\n You can also check the&nbsp;<a href=\"${txLink}\" target=\"_blank\" rel=\"nofollow noreferrer\">block explorer</a> for more information.`\n : baseString\n}\n"],"mappings":";AAGA,MAAa,8BAA8B,OACzC,QACA,MACA,WACoB;CAGpB,MAAM,aAAa;iDAFL,MAAM,OAAO,aAAa,KAAK,OAAO,UAAU,EAGV,KAAK,cAAc,KAAK,OAAO,QAAQ,OAAO;AAClG,QAAO,SACH,GAAG,WAAW;2CACuB,OAAO,wFAC5C"}
1
+ {"version":3,"file":"getTransactionMessage.js","names":[],"sources":["../../../src/utils/getTransactionMessage.ts"],"sourcesContent":["import type { LiFiStep } from '@lifi/types'\nimport type { SDKClient } from '../types/core.js'\n\nexport const getTransactionFailedMessage = async (\n client: SDKClient,\n step: LiFiStep,\n txLink?: string\n): Promise<string> => {\n const chain = await client.getChainById(step.action.toChainId)\n\n const baseString = `It appears that your transaction may not have been successful.\n However, to confirm this, please check your ${chain.name} wallet for ${step.action.toToken.symbol}.`\n return txLink\n ? `${baseString}\n You can also check the&nbsp;<a href=\"${txLink}\" target=\"_blank\" rel=\"nofollow noreferrer\">block explorer</a> for more information.`\n : baseString\n}\n"],"mappings":";AAGA,MAAa,8BAA8B,OACzC,QACA,MACA,WACoB;CAGpB,MAAM,aAAa;iDAC2B,MAH1B,OAAO,aAAa,KAAK,OAAO,UAAU,EAGV,KAAK,cAAc,KAAK,OAAO,QAAQ,OAAO;CAClG,OAAO,SACH,GAAG,WAAW;2CACuB,OAAO,wFAC5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"isHex.js","names":[],"sources":["../../../src/utils/isHex.ts"],"sourcesContent":["export type Hex = `0x${string}`\n\nexport function isHex(\n value: unknown,\n { strict = true }: { strict?: boolean | undefined } = {}\n): value is Hex {\n if (!value) {\n return false\n }\n if (typeof value !== 'string') {\n return false\n }\n return strict ? /^0x[0-9a-fA-F]*$/.test(value) : value.startsWith('0x')\n}\n"],"mappings":";AAEA,SAAgB,MACd,OACA,EAAE,SAAS,SAA2C,EAAE,EAC1C;AACd,KAAI,CAAC,MACH,QAAO;AAET,KAAI,OAAO,UAAU,SACnB,QAAO;AAET,QAAO,SAAS,mBAAmB,KAAK,MAAM,GAAG,MAAM,WAAW,KAAK"}
1
+ {"version":3,"file":"isHex.js","names":[],"sources":["../../../src/utils/isHex.ts"],"sourcesContent":["export type Hex = `0x${string}`\n\nexport function isHex(\n value: unknown,\n { strict = true }: { strict?: boolean | undefined } = {}\n): value is Hex {\n if (!value) {\n return false\n }\n if (typeof value !== 'string') {\n return false\n }\n return strict ? /^0x[0-9a-fA-F]*$/.test(value) : value.startsWith('0x')\n}\n"],"mappings":";AAEA,SAAgB,MACd,OACA,EAAE,SAAS,SAA2C,EAAE,EAC1C;CACd,IAAI,CAAC,OACH,OAAO;CAET,IAAI,OAAO,UAAU,UACnB,OAAO;CAET,OAAO,SAAS,mBAAmB,KAAK,MAAM,GAAG,MAAM,WAAW,KAAK"}
@@ -1 +1 @@
1
- {"version":3,"file":"isRoutesRequest.js","names":[],"sources":["../../../src/utils/isRoutesRequest.ts"],"sourcesContent":["import type { RouteOptions, RoutesRequest } from '@lifi/types'\n\nconst isRoutesOptions = (\n routeOptions: RouteOptions\n): routeOptions is RouteOptions =>\n !routeOptions?.slippage || typeof routeOptions.slippage === 'number'\n\nexport const isRoutesRequest = (\n routesRequest: RoutesRequest\n): routesRequest is RoutesRequest => {\n const {\n fromChainId,\n fromAmount,\n fromTokenAddress,\n toChainId,\n toTokenAddress,\n options,\n } = routesRequest\n\n return (\n typeof fromChainId === 'number' &&\n typeof fromAmount === 'string' &&\n fromAmount !== '' &&\n typeof fromTokenAddress === 'string' &&\n fromTokenAddress !== '' &&\n typeof toChainId === 'number' &&\n typeof toTokenAddress === 'string' &&\n toTokenAddress !== '' &&\n (!options || isRoutesOptions(options))\n )\n}\n"],"mappings":";AAEA,MAAM,mBACJ,iBAEA,CAAC,cAAc,YAAY,OAAO,aAAa,aAAa;AAE9D,MAAa,mBACX,kBACmC;CACnC,MAAM,EACJ,aACA,YACA,kBACA,WACA,gBACA,YACE;AAEJ,QACE,OAAO,gBAAgB,YACvB,OAAO,eAAe,YACtB,eAAe,MACf,OAAO,qBAAqB,YAC5B,qBAAqB,MACrB,OAAO,cAAc,YACrB,OAAO,mBAAmB,YAC1B,mBAAmB,OAClB,CAAC,WAAW,gBAAgB,QAAQ"}
1
+ {"version":3,"file":"isRoutesRequest.js","names":[],"sources":["../../../src/utils/isRoutesRequest.ts"],"sourcesContent":["import type { RouteOptions, RoutesRequest } from '@lifi/types'\n\nconst isRoutesOptions = (\n routeOptions: RouteOptions\n): routeOptions is RouteOptions =>\n !routeOptions?.slippage || typeof routeOptions.slippage === 'number'\n\nexport const isRoutesRequest = (\n routesRequest: RoutesRequest\n): routesRequest is RoutesRequest => {\n const {\n fromChainId,\n fromAmount,\n fromTokenAddress,\n toChainId,\n toTokenAddress,\n options,\n } = routesRequest\n\n return (\n typeof fromChainId === 'number' &&\n typeof fromAmount === 'string' &&\n fromAmount !== '' &&\n typeof fromTokenAddress === 'string' &&\n fromTokenAddress !== '' &&\n typeof toChainId === 'number' &&\n typeof toTokenAddress === 'string' &&\n toTokenAddress !== '' &&\n (!options || isRoutesOptions(options))\n )\n}\n"],"mappings":";AAEA,MAAM,mBACJ,iBAEA,CAAC,cAAc,YAAY,OAAO,aAAa,aAAa;AAE9D,MAAa,mBACX,kBACmC;CACnC,MAAM,EACJ,aACA,YACA,kBACA,WACA,gBACA,YACE;CAEJ,OACE,OAAO,gBAAgB,YACvB,OAAO,eAAe,YACtB,eAAe,MACf,OAAO,qBAAqB,YAC5B,qBAAqB,MACrB,OAAO,cAAc,YACrB,OAAO,mBAAmB,YAC1B,mBAAmB,OAClB,CAAC,WAAW,gBAAgB,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"isStep.js","names":[],"sources":["../../../src/utils/isStep.ts"],"sourcesContent":["import type { Action, Estimate, LiFiStep } from '@lifi/types'\nimport { isToken } from './isToken.js'\n\nconst isAction = (action: Action): action is Action => {\n const { fromChainId, fromAmount, fromToken, toChainId, toToken } = action\n\n return (\n typeof fromChainId === 'number' &&\n typeof fromAmount === 'string' &&\n fromAmount !== '' &&\n isToken(fromToken) &&\n typeof toChainId === 'number' &&\n isToken(toToken)\n )\n}\n\nconst isEstimate = (estimate: Estimate): estimate is Estimate => {\n const { fromAmount, toAmount, toAmountMin, approvalAddress } = estimate\n\n return (\n typeof fromAmount === 'string' &&\n fromAmount !== '' &&\n typeof toAmount === 'string' &&\n toAmount !== '' &&\n typeof toAmountMin === 'string' &&\n toAmountMin !== '' &&\n (typeof approvalAddress === 'string' || approvalAddress === null)\n )\n}\n\nexport const isStep = (step: LiFiStep): step is LiFiStep => {\n const { id, type, tool, action, estimate } = step\n\n return (\n typeof id === 'string' &&\n ['swap', 'cross', 'lifi'].includes(type) &&\n typeof tool === 'string' &&\n isAction(action) &&\n isEstimate(estimate)\n )\n}\n"],"mappings":";;AAGA,MAAM,YAAY,WAAqC;CACrD,MAAM,EAAE,aAAa,YAAY,WAAW,WAAW,YAAY;AAEnE,QACE,OAAO,gBAAgB,YACvB,OAAO,eAAe,YACtB,eAAe,MACf,QAAQ,UAAU,IAClB,OAAO,cAAc,YACrB,QAAQ,QAAQ;;AAIpB,MAAM,cAAc,aAA6C;CAC/D,MAAM,EAAE,YAAY,UAAU,aAAa,oBAAoB;AAE/D,QACE,OAAO,eAAe,YACtB,eAAe,MACf,OAAO,aAAa,YACpB,aAAa,MACb,OAAO,gBAAgB,YACvB,gBAAgB,OACf,OAAO,oBAAoB,YAAY,oBAAoB;;AAIhE,MAAa,UAAU,SAAqC;CAC1D,MAAM,EAAE,IAAI,MAAM,MAAM,QAAQ,aAAa;AAE7C,QACE,OAAO,OAAO,YACd;EAAC;EAAQ;EAAS;EAAO,CAAC,SAAS,KAAK,IACxC,OAAO,SAAS,YAChB,SAAS,OAAO,IAChB,WAAW,SAAS"}
1
+ {"version":3,"file":"isStep.js","names":[],"sources":["../../../src/utils/isStep.ts"],"sourcesContent":["import type { Action, Estimate, LiFiStep } from '@lifi/types'\nimport { isToken } from './isToken.js'\n\nconst isAction = (action: Action): action is Action => {\n const { fromChainId, fromAmount, fromToken, toChainId, toToken } = action\n\n return (\n typeof fromChainId === 'number' &&\n typeof fromAmount === 'string' &&\n fromAmount !== '' &&\n isToken(fromToken) &&\n typeof toChainId === 'number' &&\n isToken(toToken)\n )\n}\n\nconst isEstimate = (estimate: Estimate): estimate is Estimate => {\n const { fromAmount, toAmount, toAmountMin, approvalAddress } = estimate\n\n return (\n typeof fromAmount === 'string' &&\n fromAmount !== '' &&\n typeof toAmount === 'string' &&\n toAmount !== '' &&\n typeof toAmountMin === 'string' &&\n toAmountMin !== '' &&\n (typeof approvalAddress === 'string' || approvalAddress === null)\n )\n}\n\nexport const isStep = (step: LiFiStep): step is LiFiStep => {\n const { id, type, tool, action, estimate } = step\n\n return (\n typeof id === 'string' &&\n ['swap', 'cross', 'lifi'].includes(type) &&\n typeof tool === 'string' &&\n isAction(action) &&\n isEstimate(estimate)\n )\n}\n"],"mappings":";;AAGA,MAAM,YAAY,WAAqC;CACrD,MAAM,EAAE,aAAa,YAAY,WAAW,WAAW,YAAY;CAEnE,OACE,OAAO,gBAAgB,YACvB,OAAO,eAAe,YACtB,eAAe,MACf,QAAQ,UAAU,IAClB,OAAO,cAAc,YACrB,QAAQ,QAAQ;;AAIpB,MAAM,cAAc,aAA6C;CAC/D,MAAM,EAAE,YAAY,UAAU,aAAa,oBAAoB;CAE/D,OACE,OAAO,eAAe,YACtB,eAAe,MACf,OAAO,aAAa,YACpB,aAAa,MACb,OAAO,gBAAgB,YACvB,gBAAgB,OACf,OAAO,oBAAoB,YAAY,oBAAoB;;AAIhE,MAAa,UAAU,SAAqC;CAC1D,MAAM,EAAE,IAAI,MAAM,MAAM,QAAQ,aAAa;CAE7C,OACE,OAAO,OAAO,YACd;EAAC;EAAQ;EAAS;EAAO,CAAC,SAAS,KAAK,IACxC,OAAO,SAAS,YAChB,SAAS,OAAO,IAChB,WAAW,SAAS"}
@@ -1 +1 @@
1
- {"version":3,"file":"isToken.js","names":[],"sources":["../../../src/utils/isToken.ts"],"sourcesContent":["import type { StaticToken } from '@lifi/types'\n\nexport const isToken = (token: StaticToken): token is StaticToken => {\n const { address, decimals, chainId } = token\n\n return (\n typeof address === 'string' &&\n typeof decimals === 'number' &&\n typeof chainId === 'number'\n )\n}\n"],"mappings":";AAEA,MAAa,WAAW,UAA6C;CACnE,MAAM,EAAE,SAAS,UAAU,YAAY;AAEvC,QACE,OAAO,YAAY,YACnB,OAAO,aAAa,YACpB,OAAO,YAAY"}
1
+ {"version":3,"file":"isToken.js","names":[],"sources":["../../../src/utils/isToken.ts"],"sourcesContent":["import type { StaticToken } from '@lifi/types'\n\nexport const isToken = (token: StaticToken): token is StaticToken => {\n const { address, decimals, chainId } = token\n\n return (\n typeof address === 'string' &&\n typeof decimals === 'number' &&\n typeof chainId === 'number'\n )\n}\n"],"mappings":";AAEA,MAAa,WAAW,UAA6C;CACnE,MAAM,EAAE,SAAS,UAAU,YAAY;CAEvC,OACE,OAAO,YAAY,YACnB,OAAO,aAAa,YACpB,OAAO,YAAY"}
@@ -1 +1 @@
1
- {"version":3,"file":"parseUnits.js","names":[],"sources":["../../../src/utils/parseUnits.ts"],"sourcesContent":["/**\n * Multiplies a string representation of a number by a given exponent of base 10 (10exponent).\n */\nexport function parseUnits(value: string, decimals: number): bigint {\n if (!/^(-?)([0-9]*)\\.?([0-9]*)$/.test(value)) {\n throw new Error(`Number \\`${value}\\` is not a valid decimal number.`)\n }\n\n let [integer, fraction = '0'] = value.split('.')\n\n const negative = integer.startsWith('-')\n if (negative) {\n integer = integer.slice(1)\n }\n\n // trim trailing zeros.\n fraction = fraction.replace(/(0+)$/, '')\n\n // round off if the fraction is larger than the number of decimals.\n if (decimals === 0) {\n if (Math.round(Number(`.${fraction}`)) === 1) {\n integer = `${BigInt(integer) + 1n}`\n }\n fraction = ''\n } else if (fraction.length > decimals) {\n const [left, unit, right] = [\n fraction.slice(0, decimals - 1),\n fraction.slice(decimals - 1, decimals),\n fraction.slice(decimals),\n ]\n\n const rounded = Math.round(Number(`${unit}.${right}`))\n if (rounded > 9) {\n fraction = `${BigInt(left) + BigInt(1)}0`.padStart(left.length + 1, '0')\n } else {\n fraction = `${left}${rounded}`\n }\n\n if (fraction.length > decimals) {\n fraction = fraction.slice(1)\n integer = `${BigInt(integer) + 1n}`\n }\n\n fraction = fraction.slice(0, decimals)\n } else {\n fraction = fraction.padEnd(decimals, '0')\n }\n\n return BigInt(`${negative ? '-' : ''}${integer}${fraction}`)\n}\n"],"mappings":";;;;AAGA,SAAgB,WAAW,OAAe,UAA0B;AAClE,KAAI,CAAC,4BAA4B,KAAK,MAAM,CAC1C,OAAM,IAAI,MAAM,YAAY,MAAM,mCAAmC;CAGvE,IAAI,CAAC,SAAS,WAAW,OAAO,MAAM,MAAM,IAAI;CAEhD,MAAM,WAAW,QAAQ,WAAW,IAAI;AACxC,KAAI,SACF,WAAU,QAAQ,MAAM,EAAE;AAI5B,YAAW,SAAS,QAAQ,SAAS,GAAG;AAGxC,KAAI,aAAa,GAAG;AAClB,MAAI,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,KAAK,EACzC,WAAU,GAAG,OAAO,QAAQ,GAAG;AAEjC,aAAW;YACF,SAAS,SAAS,UAAU;EACrC,MAAM,CAAC,MAAM,MAAM,SAAS;GAC1B,SAAS,MAAM,GAAG,WAAW,EAAE;GAC/B,SAAS,MAAM,WAAW,GAAG,SAAS;GACtC,SAAS,MAAM,SAAS;GACzB;EAED,MAAM,UAAU,KAAK,MAAM,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AACtD,MAAI,UAAU,EACZ,YAAW,GAAG,OAAO,KAAK,GAAG,OAAO,EAAE,CAAC,GAAG,SAAS,KAAK,SAAS,GAAG,IAAI;MAExE,YAAW,GAAG,OAAO;AAGvB,MAAI,SAAS,SAAS,UAAU;AAC9B,cAAW,SAAS,MAAM,EAAE;AAC5B,aAAU,GAAG,OAAO,QAAQ,GAAG;;AAGjC,aAAW,SAAS,MAAM,GAAG,SAAS;OAEtC,YAAW,SAAS,OAAO,UAAU,IAAI;AAG3C,QAAO,OAAO,GAAG,WAAW,MAAM,KAAK,UAAU,WAAW"}
1
+ {"version":3,"file":"parseUnits.js","names":[],"sources":["../../../src/utils/parseUnits.ts"],"sourcesContent":["/**\n * Multiplies a string representation of a number by a given exponent of base 10 (10exponent).\n */\nexport function parseUnits(value: string, decimals: number): bigint {\n if (!/^(-?)([0-9]*)\\.?([0-9]*)$/.test(value)) {\n throw new Error(`Number \\`${value}\\` is not a valid decimal number.`)\n }\n\n let [integer, fraction = '0'] = value.split('.')\n\n const negative = integer.startsWith('-')\n if (negative) {\n integer = integer.slice(1)\n }\n\n // trim trailing zeros.\n fraction = fraction.replace(/(0+)$/, '')\n\n // round off if the fraction is larger than the number of decimals.\n if (decimals === 0) {\n if (Math.round(Number(`.${fraction}`)) === 1) {\n integer = `${BigInt(integer) + 1n}`\n }\n fraction = ''\n } else if (fraction.length > decimals) {\n const [left, unit, right] = [\n fraction.slice(0, decimals - 1),\n fraction.slice(decimals - 1, decimals),\n fraction.slice(decimals),\n ]\n\n const rounded = Math.round(Number(`${unit}.${right}`))\n if (rounded > 9) {\n fraction = `${BigInt(left) + BigInt(1)}0`.padStart(left.length + 1, '0')\n } else {\n fraction = `${left}${rounded}`\n }\n\n if (fraction.length > decimals) {\n fraction = fraction.slice(1)\n integer = `${BigInt(integer) + 1n}`\n }\n\n fraction = fraction.slice(0, decimals)\n } else {\n fraction = fraction.padEnd(decimals, '0')\n }\n\n return BigInt(`${negative ? '-' : ''}${integer}${fraction}`)\n}\n"],"mappings":";;;;AAGA,SAAgB,WAAW,OAAe,UAA0B;CAClE,IAAI,CAAC,4BAA4B,KAAK,MAAM,EAC1C,MAAM,IAAI,MAAM,YAAY,MAAM,mCAAmC;CAGvE,IAAI,CAAC,SAAS,WAAW,OAAO,MAAM,MAAM,IAAI;CAEhD,MAAM,WAAW,QAAQ,WAAW,IAAI;CACxC,IAAI,UACF,UAAU,QAAQ,MAAM,EAAE;CAI5B,WAAW,SAAS,QAAQ,SAAS,GAAG;CAGxC,IAAI,aAAa,GAAG;EAClB,IAAI,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,KAAK,GACzC,UAAU,GAAG,OAAO,QAAQ,GAAG;EAEjC,WAAW;QACN,IAAI,SAAS,SAAS,UAAU;EACrC,MAAM,CAAC,MAAM,MAAM,SAAS;GAC1B,SAAS,MAAM,GAAG,WAAW,EAAE;GAC/B,SAAS,MAAM,WAAW,GAAG,SAAS;GACtC,SAAS,MAAM,SAAS;GACzB;EAED,MAAM,UAAU,KAAK,MAAM,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;EACtD,IAAI,UAAU,GACZ,WAAW,GAAG,OAAO,KAAK,GAAG,OAAO,EAAE,CAAC,GAAG,SAAS,KAAK,SAAS,GAAG,IAAI;OAExE,WAAW,GAAG,OAAO;EAGvB,IAAI,SAAS,SAAS,UAAU;GAC9B,WAAW,SAAS,MAAM,EAAE;GAC5B,UAAU,GAAG,OAAO,QAAQ,GAAG;;EAGjC,WAAW,SAAS,MAAM,GAAG,SAAS;QAEtC,WAAW,SAAS,OAAO,UAAU,IAAI;CAG3C,OAAO,OAAO,GAAG,WAAW,MAAM,KAAK,UAAU,WAAW"}
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","names":[],"sources":["../../../src/utils/request.ts"],"sourcesContent":["import { ValidationError } from '../errors/errors.js'\nimport { HTTPError } from '../errors/httpError.js'\nimport { SDKError } from '../errors/SDKError.js'\nimport type { SDKBaseConfig } from '../types/core.js'\nimport type { ExtendedRequestInit } from '../types/request.js'\nimport { version } from '../version.js'\nimport { sleep } from './sleep.js'\n\nexport const requestSettings = {\n retries: 1,\n}\n\nconst stripExtendRequestInitProperties = ({\n retries,\n ...rest\n}: ExtendedRequestInit): RequestInit => ({\n ...rest,\n})\n\nexport const request = async <T = Response>(\n config: SDKBaseConfig,\n url: RequestInfo | URL,\n options: ExtendedRequestInit = {\n retries: requestSettings.retries,\n }\n): Promise<T> => {\n const { userId, integrator, widgetVersion, apiKey, requestInterceptor } =\n config\n\n if (!integrator) {\n throw new SDKError(\n new ValidationError(\n 'You need to provide the Integrator property. Please see documentation https://docs.li.fi/integrate-li.fi-js-sdk/set-up-the-sdk'\n )\n )\n }\n\n options.retries = options.retries ?? requestSettings.retries\n\n try {\n if (apiKey) {\n options.headers = {\n ...options.headers,\n 'x-lifi-api-key': apiKey,\n }\n }\n\n if (userId) {\n options.headers = {\n ...options.headers,\n 'x-lifi-userid': userId,\n }\n }\n\n if (widgetVersion) {\n options.headers = {\n ...options.headers,\n 'x-lifi-widget': widgetVersion,\n }\n }\n\n if (version) {\n options.headers = {\n ...options.headers,\n 'x-lifi-sdk': version,\n }\n }\n\n // integrator is mandatory during SDK initialization\n options.headers = {\n ...options.headers,\n 'x-lifi-integrator': integrator,\n }\n\n if (requestInterceptor) {\n options = await requestInterceptor(options)\n }\n\n const response: Response = await fetch(\n url,\n stripExtendRequestInitProperties(options)\n )\n\n if (!response.ok) {\n throw new HTTPError(response, url, options)\n }\n\n return await response.json()\n } catch (error) {\n const retries = options.retries ?? 0\n if (retries > 0 && (error as HTTPError).status === 500) {\n await sleep(500)\n return request<T>(config, url, { ...options, retries: retries - 1 })\n }\n\n await (error as HTTPError).buildAdditionalDetails?.()\n\n throw new SDKError(error as HTTPError)\n }\n}\n"],"mappings":";;;;;;AAQA,MAAa,kBAAkB,EAC7B,SAAS,GACV;AAED,MAAM,oCAAoC,EACxC,SACA,GAAG,YACoC,EACvC,GAAG,MACJ;AAED,MAAa,UAAU,OACrB,QACA,KACA,UAA+B,EAC7B,SAAS,gBAAgB,SAC1B,KACc;CACf,MAAM,EAAE,QAAQ,YAAY,eAAe,QAAQ,uBACjD;AAEF,KAAI,CAAC,WACH,OAAM,IAAI,SACR,IAAI,gBACF,iIACD,CACF;AAGH,SAAQ,UAAU,QAAQ,WAAW,gBAAgB;AAErD,KAAI;AACF,MAAI,OACF,SAAQ,UAAU;GAChB,GAAG,QAAQ;GACX,kBAAkB;GACnB;AAGH,MAAI,OACF,SAAQ,UAAU;GAChB,GAAG,QAAQ;GACX,iBAAiB;GAClB;AAGH,MAAI,cACF,SAAQ,UAAU;GAChB,GAAG,QAAQ;GACX,iBAAiB;GAClB;AAID,UAAQ,UAAU;GAChB,GAAG,QAAQ;GACX,cAAc;GACf;AAIH,UAAQ,UAAU;GAChB,GAAG,QAAQ;GACX,qBAAqB;GACtB;AAED,MAAI,mBACF,WAAU,MAAM,mBAAmB,QAAQ;EAG7C,MAAM,WAAqB,MAAM,MAC/B,KACA,iCAAiC,QAAQ,CAC1C;AAED,MAAI,CAAC,SAAS,GACZ,OAAM,IAAI,UAAU,UAAU,KAAK,QAAQ;AAG7C,SAAO,MAAM,SAAS,MAAM;UACrB,OAAO;EACd,MAAM,UAAU,QAAQ,WAAW;AACnC,MAAI,UAAU,KAAM,MAAoB,WAAW,KAAK;AACtD,SAAM,MAAM,IAAI;AAChB,UAAO,QAAW,QAAQ,KAAK;IAAE,GAAG;IAAS,SAAS,UAAU;IAAG,CAAC;;AAGtE,QAAO,MAAoB,0BAA0B;AAErD,QAAM,IAAI,SAAS,MAAmB"}
1
+ {"version":3,"file":"request.js","names":[],"sources":["../../../src/utils/request.ts"],"sourcesContent":["import { ValidationError } from '../errors/errors.js'\nimport { HTTPError } from '../errors/httpError.js'\nimport { SDKError } from '../errors/SDKError.js'\nimport type { SDKBaseConfig } from '../types/core.js'\nimport type { ExtendedRequestInit } from '../types/request.js'\nimport { version } from '../version.js'\nimport { sleep } from './sleep.js'\n\nexport const requestSettings = {\n retries: 1,\n}\n\nconst stripExtendRequestInitProperties = ({\n retries,\n ...rest\n}: ExtendedRequestInit): RequestInit => ({\n ...rest,\n})\n\nexport const request = async <T = Response>(\n config: SDKBaseConfig,\n url: RequestInfo | URL,\n options: ExtendedRequestInit = {\n retries: requestSettings.retries,\n }\n): Promise<T> => {\n const { userId, integrator, widgetVersion, apiKey, requestInterceptor } =\n config\n\n if (!integrator) {\n throw new SDKError(\n new ValidationError(\n 'You need to provide the Integrator property. Please see documentation https://docs.li.fi/integrate-li.fi-js-sdk/set-up-the-sdk'\n )\n )\n }\n\n options.retries = options.retries ?? requestSettings.retries\n\n try {\n if (apiKey) {\n options.headers = {\n ...options.headers,\n 'x-lifi-api-key': apiKey,\n }\n }\n\n if (userId) {\n options.headers = {\n ...options.headers,\n 'x-lifi-userid': userId,\n }\n }\n\n if (widgetVersion) {\n options.headers = {\n ...options.headers,\n 'x-lifi-widget': widgetVersion,\n }\n }\n\n if (version) {\n options.headers = {\n ...options.headers,\n 'x-lifi-sdk': version,\n }\n }\n\n // integrator is mandatory during SDK initialization\n options.headers = {\n ...options.headers,\n 'x-lifi-integrator': integrator,\n }\n\n if (requestInterceptor) {\n options = await requestInterceptor(options)\n }\n\n const response: Response = await fetch(\n url,\n stripExtendRequestInitProperties(options)\n )\n\n if (!response.ok) {\n throw new HTTPError(response, url, options)\n }\n\n return await response.json()\n } catch (error) {\n const retries = options.retries ?? 0\n if (retries > 0 && (error as HTTPError).status === 500) {\n await sleep(500)\n return request<T>(config, url, { ...options, retries: retries - 1 })\n }\n\n await (error as HTTPError).buildAdditionalDetails?.()\n\n throw new SDKError(error as HTTPError)\n }\n}\n"],"mappings":";;;;;;AAQA,MAAa,kBAAkB,EAC7B,SAAS,GACV;AAED,MAAM,oCAAoC,EACxC,SACA,GAAG,YACoC,EACvC,GAAG,MACJ;AAED,MAAa,UAAU,OACrB,QACA,KACA,UAA+B,EAC7B,SAAS,gBAAgB,SAC1B,KACc;CACf,MAAM,EAAE,QAAQ,YAAY,eAAe,QAAQ,uBACjD;CAEF,IAAI,CAAC,YACH,MAAM,IAAI,SACR,IAAI,gBACF,iIACD,CACF;CAGH,QAAQ,UAAU,QAAQ,WAAW,gBAAgB;CAErD,IAAI;EACF,IAAI,QACF,QAAQ,UAAU;GAChB,GAAG,QAAQ;GACX,kBAAkB;GACnB;EAGH,IAAI,QACF,QAAQ,UAAU;GAChB,GAAG,QAAQ;GACX,iBAAiB;GAClB;EAGH,IAAI,eACF,QAAQ,UAAU;GAChB,GAAG,QAAQ;GACX,iBAAiB;GAClB;EAID,QAAQ,UAAU;GAChB,GAAG,QAAQ;GACX,cAAc;GACf;EAIH,QAAQ,UAAU;GAChB,GAAG,QAAQ;GACX,qBAAqB;GACtB;EAED,IAAI,oBACF,UAAU,MAAM,mBAAmB,QAAQ;EAG7C,MAAM,WAAqB,MAAM,MAC/B,KACA,iCAAiC,QAAQ,CAC1C;EAED,IAAI,CAAC,SAAS,IACZ,MAAM,IAAI,UAAU,UAAU,KAAK,QAAQ;EAG7C,OAAO,MAAM,SAAS,MAAM;UACrB,OAAO;EACd,MAAM,UAAU,QAAQ,WAAW;EACnC,IAAI,UAAU,KAAM,MAAoB,WAAW,KAAK;GACtD,MAAM,MAAM,IAAI;GAChB,OAAO,QAAW,QAAQ,KAAK;IAAE,GAAG;IAAS,SAAS,UAAU;IAAG,CAAC;;EAGtE,MAAO,MAAoB,0BAA0B;EAErD,MAAM,IAAI,SAAS,MAAmB"}
@@ -1 +1 @@
1
- {"version":3,"file":"sleep.js","names":[],"sources":["../../../src/utils/sleep.ts"],"sourcesContent":["export function sleep(ms: number): Promise<null> {\n return new Promise((resolve) => {\n setTimeout(() => resolve(null), ms)\n })\n}\n"],"mappings":";AAAA,SAAgB,MAAM,IAA2B;AAC/C,QAAO,IAAI,SAAS,YAAY;AAC9B,mBAAiB,QAAQ,KAAK,EAAE,GAAG;GACnC"}
1
+ {"version":3,"file":"sleep.js","names":[],"sources":["../../../src/utils/sleep.ts"],"sourcesContent":["export function sleep(ms: number): Promise<null> {\n return new Promise((resolve) => {\n setTimeout(() => resolve(null), ms)\n })\n}\n"],"mappings":";AAAA,SAAgB,MAAM,IAA2B;CAC/C,OAAO,IAAI,SAAS,YAAY;EAC9B,iBAAiB,QAAQ,KAAK,EAAE,GAAG;GACnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"waitForResult.js","names":[],"sources":["../../../src/utils/waitForResult.ts"],"sourcesContent":["import { sleep } from './sleep.js'\n\n/**\n * Repeatedly calls a given asynchronous function until it resolves with a value\n * @param fn The function that should be repeated\n * @param interval The timeout in milliseconds between retries, or a function that receives the current poll count and returns the interval. Defaults to 5000\n * @param maxRetries Maximum number of retries before throwing an error, defaults to 3\n * @param shouldRetry Optional predicate to determine if an error should trigger a retry\n * @returns The result of the fn function\n * @throws Error if maximum retries is reached, if function keeps returning undefined, or if shouldRetry returns false\n */\nexport const waitForResult = async <T>(\n fn: () => Promise<T | undefined>,\n interval: number | ((poll: number) => number) = 5000,\n maxRetries = 3,\n shouldRetry: (count: number, error: unknown) => boolean = () => true\n): Promise<T> => {\n let result: T | undefined\n let attempts = 0\n let polls = 0\n\n const getInterval = typeof interval === 'function' ? interval : () => interval\n\n while (!result) {\n try {\n result = await fn()\n if (!result) {\n await sleep(getInterval(polls))\n polls++\n }\n } catch (error) {\n if (!shouldRetry(attempts, error)) {\n throw error\n }\n attempts++\n if (attempts === maxRetries) {\n throw error\n }\n await sleep(getInterval(polls))\n polls++\n }\n }\n\n return result\n}\n"],"mappings":";;;;;;;;;;;AAWA,MAAa,gBAAgB,OAC3B,IACA,WAAgD,KAChD,aAAa,GACb,oBAAgE,SACjD;CACf,IAAI;CACJ,IAAI,WAAW;CACf,IAAI,QAAQ;CAEZ,MAAM,cAAc,OAAO,aAAa,aAAa,iBAAiB;AAEtE,QAAO,CAAC,OACN,KAAI;AACF,WAAS,MAAM,IAAI;AACnB,MAAI,CAAC,QAAQ;AACX,SAAM,MAAM,YAAY,MAAM,CAAC;AAC/B;;UAEK,OAAO;AACd,MAAI,CAAC,YAAY,UAAU,MAAM,CAC/B,OAAM;AAER;AACA,MAAI,aAAa,WACf,OAAM;AAER,QAAM,MAAM,YAAY,MAAM,CAAC;AAC/B;;AAIJ,QAAO"}
1
+ {"version":3,"file":"waitForResult.js","names":[],"sources":["../../../src/utils/waitForResult.ts"],"sourcesContent":["import { sleep } from './sleep.js'\n\n/**\n * Repeatedly calls a given asynchronous function until it resolves with a value\n * @param fn The function that should be repeated\n * @param interval The timeout in milliseconds between retries, or a function that receives the current poll count and returns the interval. Defaults to 5000\n * @param maxRetries Maximum number of retries before throwing an error, defaults to 3\n * @param shouldRetry Optional predicate to determine if an error should trigger a retry\n * @returns The result of the fn function\n * @throws Error if maximum retries is reached, if function keeps returning undefined, or if shouldRetry returns false\n */\nexport const waitForResult = async <T>(\n fn: () => Promise<T | undefined>,\n interval: number | ((poll: number) => number) = 5000,\n maxRetries = 3,\n shouldRetry: (count: number, error: unknown) => boolean = () => true\n): Promise<T> => {\n let result: T | undefined\n let attempts = 0\n let polls = 0\n\n const getInterval = typeof interval === 'function' ? interval : () => interval\n\n while (!result) {\n try {\n result = await fn()\n if (!result) {\n await sleep(getInterval(polls))\n polls++\n }\n } catch (error) {\n if (!shouldRetry(attempts, error)) {\n throw error\n }\n attempts++\n if (attempts === maxRetries) {\n throw error\n }\n await sleep(getInterval(polls))\n polls++\n }\n }\n\n return result\n}\n"],"mappings":";;;;;;;;;;;AAWA,MAAa,gBAAgB,OAC3B,IACA,WAAgD,KAChD,aAAa,GACb,oBAAgE,SACjD;CACf,IAAI;CACJ,IAAI,WAAW;CACf,IAAI,QAAQ;CAEZ,MAAM,cAAc,OAAO,aAAa,aAAa,iBAAiB;CAEtE,OAAO,CAAC,QACN,IAAI;EACF,SAAS,MAAM,IAAI;EACnB,IAAI,CAAC,QAAQ;GACX,MAAM,MAAM,YAAY,MAAM,CAAC;GAC/B;;UAEK,OAAO;EACd,IAAI,CAAC,YAAY,UAAU,MAAM,EAC/B,MAAM;EAER;EACA,IAAI,aAAa,YACf,MAAM;EAER,MAAM,MAAM,YAAY,MAAM,CAAC;EAC/B;;CAIJ,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"withDedupe.js","names":[],"sources":["../../../src/utils/withDedupe.ts"],"sourcesContent":["/**\n * Map with a LRU (Least recently used) policy.\n *\n * https://en.wikipedia.org/wiki/Cache_replacement_policies#LRU\n */\nexport class LruMap<value = unknown> extends Map<string, value> {\n maxSize: number\n\n constructor(size: number) {\n super()\n this.maxSize = size\n }\n\n override set(key: string, value: value): this {\n super.set(key, value)\n if (this.maxSize && this.size > this.maxSize) {\n this.delete(this.keys().next().value!)\n }\n return this\n }\n}\n\n/** @internal */\nconst promiseCache = /*#__PURE__*/ new LruMap<Promise<any>>(8192)\n\ntype WithDedupeOptions = {\n enabled?: boolean | undefined\n id?: string | undefined\n}\n\n/** Deduplicates in-flight promises. */\nexport function withDedupe<T>(\n fn: () => Promise<T>,\n { enabled = true, id }: WithDedupeOptions\n): Promise<T> {\n if (!enabled || !id) {\n return fn()\n }\n if (promiseCache.get(id)) {\n return promiseCache.get(id)!\n }\n const promise = fn().finally(() => promiseCache.delete(id))\n promiseCache.set(id, promise)\n return promise\n}\n"],"mappings":";;;;;;AAKA,IAAa,SAAb,cAA6C,IAAmB;CAC9D;CAEA,YAAY,MAAc;AACxB,SAAO;AACP,OAAK,UAAU;;CAGjB,IAAa,KAAa,OAAoB;AAC5C,QAAM,IAAI,KAAK,MAAM;AACrB,MAAI,KAAK,WAAW,KAAK,OAAO,KAAK,QACnC,MAAK,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,MAAO;AAExC,SAAO;;;;AAKX,MAAM,+BAA6B,IAAI,OAAqB,KAAK;;AAQjE,SAAgB,WACd,IACA,EAAE,UAAU,MAAM,MACN;AACZ,KAAI,CAAC,WAAW,CAAC,GACf,QAAO,IAAI;AAEb,KAAI,aAAa,IAAI,GAAG,CACtB,QAAO,aAAa,IAAI,GAAG;CAE7B,MAAM,UAAU,IAAI,CAAC,cAAc,aAAa,OAAO,GAAG,CAAC;AAC3D,cAAa,IAAI,IAAI,QAAQ;AAC7B,QAAO"}
1
+ {"version":3,"file":"withDedupe.js","names":[],"sources":["../../../src/utils/withDedupe.ts"],"sourcesContent":["/**\n * Map with a LRU (Least recently used) policy.\n *\n * https://en.wikipedia.org/wiki/Cache_replacement_policies#LRU\n */\nexport class LruMap<value = unknown> extends Map<string, value> {\n maxSize: number\n\n constructor(size: number) {\n super()\n this.maxSize = size\n }\n\n override set(key: string, value: value): this {\n super.set(key, value)\n if (this.maxSize && this.size > this.maxSize) {\n this.delete(this.keys().next().value!)\n }\n return this\n }\n}\n\n/** @internal */\nconst promiseCache = /*#__PURE__*/ new LruMap<Promise<any>>(8192)\n\ntype WithDedupeOptions = {\n enabled?: boolean | undefined\n id?: string | undefined\n}\n\n/** Deduplicates in-flight promises. */\nexport function withDedupe<T>(\n fn: () => Promise<T>,\n { enabled = true, id }: WithDedupeOptions\n): Promise<T> {\n if (!enabled || !id) {\n return fn()\n }\n if (promiseCache.get(id)) {\n return promiseCache.get(id)!\n }\n const promise = fn().finally(() => promiseCache.delete(id))\n promiseCache.set(id, promise)\n return promise\n}\n"],"mappings":";;;;;;AAKA,IAAa,SAAb,cAA6C,IAAmB;CAC9D;CAEA,YAAY,MAAc;EACxB,OAAO;EACP,KAAK,UAAU;;CAGjB,IAAa,KAAa,OAAoB;EAC5C,MAAM,IAAI,KAAK,MAAM;EACrB,IAAI,KAAK,WAAW,KAAK,OAAO,KAAK,SACnC,KAAK,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,MAAO;EAExC,OAAO;;;;AAKX,MAAM,+BAA6B,IAAI,OAAqB,KAAK;;AAQjE,SAAgB,WACd,IACA,EAAE,UAAU,MAAM,MACN;CACZ,IAAI,CAAC,WAAW,CAAC,IACf,OAAO,IAAI;CAEb,IAAI,aAAa,IAAI,GAAG,EACtB,OAAO,aAAa,IAAI,GAAG;CAE7B,MAAM,UAAU,IAAI,CAAC,cAAc,aAAa,OAAO,GAAG,CAAC;CAC3D,aAAa,IAAI,IAAI,QAAQ;CAC7B,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"withTimeout.js","names":[],"sources":["../../../src/utils/withTimeout.ts"],"sourcesContent":["/**\n * Wraps a function in a timeout.\n * Based on viem's withTimeout implementation.\n * @param fn - The function to wrap.\n * @param timeout - The timeout in milliseconds.\n * @param errorInstance - The error instance to throw when the timeout is reached.\n * @param signal - Whether or not the timeout should use an abort signal.\n * @returns The result of the function.\n */\nexport function withTimeout<T>(\n fn: ({ signal }: { signal: AbortController['signal'] | null }) => Promise<T>,\n {\n errorInstance = new Error('Timed out after waiting for too long.'),\n timeout,\n signal,\n }: {\n // The error instance to throw when the timeout is reached.\n errorInstance?: Error | undefined\n // The timeout (in ms).\n timeout: number\n // Whether or not the timeout should use an abort signal.\n signal?: boolean | undefined\n }\n): Promise<T> {\n return new Promise((resolve, reject) => {\n ;(async () => {\n let timeoutId!: NodeJS.Timeout\n try {\n const controller = new AbortController()\n if (timeout > 0) {\n timeoutId = setTimeout(() => {\n if (signal) {\n controller.abort()\n } else {\n reject(errorInstance)\n }\n }, timeout) as NodeJS.Timeout // need to cast because bun globals.d.ts overrides @types/node\n }\n resolve(await fn({ signal: controller?.signal || null }))\n } catch (err) {\n if ((err as Error)?.name === 'AbortError') {\n reject(errorInstance)\n }\n reject(err)\n } finally {\n clearTimeout(timeoutId)\n }\n })()\n })\n}\n"],"mappings":";;;;;;;;;;AASA,SAAgB,YACd,IACA,EACE,gCAAgB,IAAI,MAAM,wCAAwC,EAClE,SACA,UASU;AACZ,QAAO,IAAI,SAAS,SAAS,WAAW;AACrC,GAAC,YAAY;GACZ,IAAI;AACJ,OAAI;IACF,MAAM,aAAa,IAAI,iBAAiB;AACxC,QAAI,UAAU,EACZ,aAAY,iBAAiB;AAC3B,SAAI,OACF,YAAW,OAAO;SAElB,QAAO,cAAc;OAEtB,QAAQ;AAEb,YAAQ,MAAM,GAAG,EAAE,QAAQ,YAAY,UAAU,MAAM,CAAC,CAAC;YAClD,KAAK;AACZ,QAAK,KAAe,SAAS,aAC3B,QAAO,cAAc;AAEvB,WAAO,IAAI;aACH;AACR,iBAAa,UAAU;;MAEvB;GACJ"}
1
+ {"version":3,"file":"withTimeout.js","names":[],"sources":["../../../src/utils/withTimeout.ts"],"sourcesContent":["/**\n * Wraps a function in a timeout.\n * Based on viem's withTimeout implementation.\n * @param fn - The function to wrap.\n * @param timeout - The timeout in milliseconds.\n * @param errorInstance - The error instance to throw when the timeout is reached.\n * @param signal - Whether or not the timeout should use an abort signal.\n * @returns The result of the function.\n */\nexport function withTimeout<T>(\n fn: ({ signal }: { signal: AbortController['signal'] | null }) => Promise<T>,\n {\n errorInstance = new Error('Timed out after waiting for too long.'),\n timeout,\n signal,\n }: {\n // The error instance to throw when the timeout is reached.\n errorInstance?: Error | undefined\n // The timeout (in ms).\n timeout: number\n // Whether or not the timeout should use an abort signal.\n signal?: boolean | undefined\n }\n): Promise<T> {\n return new Promise((resolve, reject) => {\n ;(async () => {\n let timeoutId!: NodeJS.Timeout\n try {\n const controller = new AbortController()\n if (timeout > 0) {\n timeoutId = setTimeout(() => {\n if (signal) {\n controller.abort()\n } else {\n reject(errorInstance)\n }\n }, timeout) as NodeJS.Timeout // need to cast because bun globals.d.ts overrides @types/node\n }\n resolve(await fn({ signal: controller?.signal || null }))\n } catch (err) {\n if ((err as Error)?.name === 'AbortError') {\n reject(errorInstance)\n }\n reject(err)\n } finally {\n clearTimeout(timeoutId)\n }\n })()\n })\n}\n"],"mappings":";;;;;;;;;;AASA,SAAgB,YACd,IACA,EACE,gCAAgB,IAAI,MAAM,wCAAwC,EAClE,SACA,UASU;CACZ,OAAO,IAAI,SAAS,SAAS,WAAW;EACrC,CAAC,YAAY;GACZ,IAAI;GACJ,IAAI;IACF,MAAM,aAAa,IAAI,iBAAiB;IACxC,IAAI,UAAU,GACZ,YAAY,iBAAiB;KAC3B,IAAI,QACF,WAAW,OAAO;UAElB,OAAO,cAAc;OAEtB,QAAQ;IAEb,QAAQ,MAAM,GAAG,EAAE,QAAQ,YAAY,UAAU,MAAM,CAAC,CAAC;YAClD,KAAK;IACZ,IAAK,KAAe,SAAS,cAC3B,OAAO,cAAc;IAEvB,OAAO,IAAI;aACH;IACR,aAAa,UAAU;;MAEvB;GACJ"}
@@ -1,6 +1,6 @@
1
1
  //#region src/version.d.ts
2
2
  declare const name = "@lifi/sdk";
3
- declare const version = "4.0.0-beta.7";
3
+ declare const version = "4.0.0-beta.9";
4
4
  //#endregion
5
5
  export { name, version };
6
6
  //# sourceMappingURL=version.d.ts.map
@@ -1,6 +1,6 @@
1
1
  //#region src/version.ts
2
2
  const name = "@lifi/sdk";
3
- const version = "4.0.0-beta.7";
3
+ const version = "4.0.0-beta.9";
4
4
  //#endregion
5
5
  export { name, version };
6
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","names":[],"sources":["../../src/version.ts"],"sourcesContent":["export const name = '@lifi/sdk'\nexport const version = '4.0.0-beta.7'\n"],"mappings":";AAAA,MAAa,OAAO;AACpB,MAAa,UAAU"}
1
+ {"version":3,"file":"version.js","names":[],"sources":["../../src/version.ts"],"sourcesContent":["export const name = '@lifi/sdk'\nexport const version = '4.0.0-beta.9'\n"],"mappings":";AAAA,MAAa,OAAO;AACpB,MAAa,UAAU"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/sdk",
3
- "version": "4.0.0-beta.7",
3
+ "version": "4.0.0-beta.9",
4
4
  "description": "LI.FI SDK for Any-to-Any Cross-Chain-Swap",
5
5
  "homepage": "https://github.com/lifinance/sdk",
6
6
  "bugs": {
@@ -28,7 +28,7 @@
28
28
  "./package.json": "./package.json"
29
29
  },
30
30
  "dependencies": {
31
- "@lifi/types": "17.76.0"
31
+ "@lifi/types": "17.79.0"
32
32
  },
33
33
  "publishConfig": {
34
34
  "access": "public"