@lifi/sdk 4.0.0-alpha.6 → 4.0.0-alpha.8

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 (105) hide show
  1. package/dist/cjs/actions/index.d.ts +3 -1
  2. package/dist/cjs/actions/index.js +2 -0
  3. package/dist/cjs/actions/index.js.map +1 -1
  4. package/dist/cjs/actions/patchContractCalls.d.ts +10 -0
  5. package/dist/cjs/actions/patchContractCalls.js +16 -0
  6. package/dist/cjs/actions/patchContractCalls.js.map +1 -0
  7. package/dist/cjs/core/checkBalance.js +3 -3
  8. package/dist/cjs/core/checkBalance.js.map +1 -1
  9. package/dist/cjs/core/utils.d.ts +2 -2
  10. package/dist/cjs/core/utils.js +0 -5
  11. package/dist/cjs/core/utils.js.map +1 -1
  12. package/dist/cjs/errors/constants.d.ts +4 -2
  13. package/dist/cjs/errors/constants.js +2 -0
  14. package/dist/cjs/errors/constants.js.map +1 -1
  15. package/dist/cjs/index.d.ts +5 -4
  16. package/dist/cjs/index.js +10 -8
  17. package/dist/cjs/index.js.map +1 -1
  18. package/dist/cjs/types/core.d.ts +28 -4
  19. package/dist/cjs/utils/convertQuoteToRoute.d.ts +6 -1
  20. package/dist/cjs/utils/convertQuoteToRoute.js +73 -5
  21. package/dist/cjs/utils/convertQuoteToRoute.js.map +1 -1
  22. package/dist/cjs/utils/formatUnits.d.ts +1 -0
  23. package/dist/cjs/utils/formatUnits.js +18 -0
  24. package/dist/cjs/utils/formatUnits.js.map +1 -0
  25. package/dist/cjs/utils/isHex.d.ts +4 -0
  26. package/dist/cjs/utils/isHex.js +13 -0
  27. package/dist/cjs/utils/isHex.js.map +1 -0
  28. package/dist/cjs/utils/parseUnits.d.ts +1 -0
  29. package/dist/cjs/utils/parseUnits.js +44 -0
  30. package/dist/cjs/utils/parseUnits.js.map +1 -0
  31. package/dist/cjs/utils/request.js +7 -6
  32. package/dist/cjs/utils/request.js.map +1 -1
  33. package/dist/cjs/version.d.ts +1 -1
  34. package/dist/cjs/version.js +1 -1
  35. package/dist/esm/actions/index.d.ts +9 -1
  36. package/dist/esm/actions/index.js +2 -0
  37. package/dist/esm/actions/index.js.map +1 -1
  38. package/dist/esm/actions/patchContractCalls.d.ts +10 -0
  39. package/dist/esm/actions/patchContractCalls.js +12 -0
  40. package/dist/esm/actions/patchContractCalls.js.map +1 -0
  41. package/dist/esm/core/checkBalance.js +1 -1
  42. package/dist/esm/core/checkBalance.js.map +1 -1
  43. package/dist/esm/core/utils.d.ts +2 -10
  44. package/dist/esm/core/utils.js +0 -11
  45. package/dist/esm/core/utils.js.map +1 -1
  46. package/dist/esm/errors/constants.d.ts +4 -2
  47. package/dist/esm/errors/constants.js +2 -0
  48. package/dist/esm/errors/constants.js.map +1 -1
  49. package/dist/esm/index.d.ts +5 -4
  50. package/dist/esm/index.js +4 -2
  51. package/dist/esm/index.js.map +1 -1
  52. package/dist/esm/types/core.d.ts +28 -4
  53. package/dist/esm/utils/convertQuoteToRoute.d.ts +11 -3
  54. package/dist/esm/utils/convertQuoteToRoute.js +76 -7
  55. package/dist/esm/utils/convertQuoteToRoute.js.map +1 -1
  56. package/dist/esm/utils/formatUnits.d.ts +4 -0
  57. package/dist/esm/utils/formatUnits.js +18 -0
  58. package/dist/esm/utils/formatUnits.js.map +1 -0
  59. package/dist/esm/utils/isHex.d.ts +4 -0
  60. package/dist/esm/utils/isHex.js +10 -0
  61. package/dist/esm/utils/isHex.js.map +1 -0
  62. package/dist/esm/utils/parseUnits.d.ts +4 -0
  63. package/dist/esm/utils/parseUnits.js +46 -0
  64. package/dist/esm/utils/parseUnits.js.map +1 -0
  65. package/dist/esm/utils/request.js +7 -6
  66. package/dist/esm/utils/request.js.map +1 -1
  67. package/dist/esm/version.d.ts +1 -1
  68. package/dist/esm/version.js +1 -1
  69. package/dist/types/actions/index.d.ts +9 -1
  70. package/dist/types/actions/index.d.ts.map +1 -1
  71. package/dist/types/actions/patchContractCalls.d.ts +11 -0
  72. package/dist/types/actions/patchContractCalls.d.ts.map +1 -0
  73. package/dist/types/core/checkBalance.d.ts.map +1 -1
  74. package/dist/types/core/utils.d.ts +2 -10
  75. package/dist/types/core/utils.d.ts.map +1 -1
  76. package/dist/types/errors/constants.d.ts +4 -2
  77. package/dist/types/errors/constants.d.ts.map +1 -1
  78. package/dist/types/index.d.ts +5 -4
  79. package/dist/types/index.d.ts.map +1 -1
  80. package/dist/types/types/core.d.ts +28 -4
  81. package/dist/types/types/core.d.ts.map +1 -1
  82. package/dist/types/utils/convertQuoteToRoute.d.ts +11 -3
  83. package/dist/types/utils/convertQuoteToRoute.d.ts.map +1 -1
  84. package/dist/types/utils/formatUnits.d.ts +5 -0
  85. package/dist/types/utils/formatUnits.d.ts.map +1 -0
  86. package/dist/types/utils/isHex.d.ts +5 -0
  87. package/dist/types/utils/isHex.d.ts.map +1 -0
  88. package/dist/types/utils/parseUnits.d.ts +5 -0
  89. package/dist/types/utils/parseUnits.d.ts.map +1 -0
  90. package/dist/types/utils/request.d.ts.map +1 -1
  91. package/dist/types/version.d.ts +1 -1
  92. package/package.json +2 -3
  93. package/src/actions/index.ts +18 -0
  94. package/src/actions/patchContractCalls.ts +30 -0
  95. package/src/core/checkBalance.ts +1 -1
  96. package/src/core/utils.ts +1 -13
  97. package/src/errors/constants.ts +2 -0
  98. package/src/index.ts +9 -4
  99. package/src/types/core.ts +37 -4
  100. package/src/utils/convertQuoteToRoute.ts +117 -8
  101. package/src/utils/formatUnits.ts +22 -0
  102. package/src/utils/isHex.ts +14 -0
  103. package/src/utils/parseUnits.ts +50 -0
  104. package/src/utils/request.ts +9 -6
  105. package/src/version.ts +1 -1
@@ -15,7 +15,7 @@ const stripExtendRequestInitProperties = ({ retries, ...rest }) => ({
15
15
  const request = async (config, url, options = {
16
16
  retries: exports.requestSettings.retries,
17
17
  }) => {
18
- const { userId, integrator, widgetVersion, apiKey } = config;
18
+ const { userId, integrator, widgetVersion, apiKey, requestInterceptor } = config;
19
19
  if (!integrator) {
20
20
  throw new SDKError_js_1.SDKError(new errors_js_1.ValidationError('You need to provide the Integrator property. Please see documentation https://docs.li.fi/integrate-li.fi-js-sdk/set-up-the-sdk'));
21
21
  }
@@ -49,6 +49,9 @@ const request = async (config, url, options = {
49
49
  ...options.headers,
50
50
  'x-lifi-integrator': integrator,
51
51
  };
52
+ if (requestInterceptor) {
53
+ options = await requestInterceptor(options);
54
+ }
52
55
  const response = await fetch(url, stripExtendRequestInitProperties(options));
53
56
  if (!response.ok) {
54
57
  throw new httpError_js_1.HTTPError(response, url, options);
@@ -56,12 +59,10 @@ const request = async (config, url, options = {
56
59
  return await response.json();
57
60
  }
58
61
  catch (error) {
59
- if (options.retries > 0 && error.status === 500) {
62
+ const retries = options.retries ?? 0;
63
+ if (retries > 0 && error.status === 500) {
60
64
  await (0, sleep_js_1.sleep)(500);
61
- return (0, exports.request)(config, url, {
62
- ...options,
63
- retries: options.retries - 1,
64
- });
65
+ return (0, exports.request)(config, url, { ...options, retries: retries - 1 });
65
66
  }
66
67
  await error.buildAdditionalDetails?.();
67
68
  throw new SDKError_js_1.SDKError(error);
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/utils/request.ts"],"names":[],"mappings":";;;AAAA,mDAAqD;AACrD,yDAAkD;AAClD,uDAAgD;AAGhD,8CAAuC;AACvC,yCAAkC;AAErB,QAAA,eAAe,GAAG;IAC7B,OAAO,EAAE,CAAC;CACX,CAAA;AAED,MAAM,gCAAgC,GAAG,CAAC,EACxC,OAAO,EACP,GAAG,IAAI,EACa,EAAe,EAAE,CAAC,CAAC;IACvC,GAAG,IAAI;CACR,CAAC,CAAA;AAEK,MAAM,OAAO,GAAG,KAAK,EAC1B,MAAqB,EACrB,GAAsB,EACtB,UAA+B;IAC7B,OAAO,EAAE,uBAAe,CAAC,OAAO;CACjC,EACW,EAAE;IACd,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IAE5D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,sBAAQ,CAChB,IAAI,2BAAe,CACjB,gIAAgI,CACjI,CACF,CAAA;IACH,CAAC;IAED,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,uBAAe,CAAC,OAAO,CAAA;IAE5D,IAAI,CAAC;QACH,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,OAAO,GAAG;gBAChB,GAAG,OAAO,CAAC,OAAO;gBAClB,gBAAgB,EAAE,MAAM;aACzB,CAAA;QACH,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,OAAO,GAAG;gBAChB,GAAG,OAAO,CAAC,OAAO;gBAClB,eAAe,EAAE,MAAM;aACxB,CAAA;QACH,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,OAAO,GAAG;gBAChB,GAAG,OAAO,CAAC,OAAO;gBAClB,eAAe,EAAE,aAAa;aAC/B,CAAA;QACH,CAAC;QAED,IAAI,oBAAO,EAAE,CAAC;YACZ,OAAO,CAAC,OAAO,GAAG;gBAChB,GAAG,OAAO,CAAC,OAAO;gBAClB,YAAY,EAAE,oBAAO;aACtB,CAAA;QACH,CAAC;QAGD,OAAO,CAAC,OAAO,GAAG;YAChB,GAAG,OAAO,CAAC,OAAO;YAClB,mBAAmB,EAAE,UAAU;SAChC,CAAA;QAED,MAAM,QAAQ,GAAa,MAAM,KAAK,CACpC,GAAG,EACH,gCAAgC,CAAC,OAAO,CAAC,CAC1C,CAAA;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,wBAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;QAC7C,CAAC;QAED,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,CAAC,OAAO,GAAG,CAAC,IAAK,KAAmB,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC/D,MAAM,IAAA,gBAAK,EAAC,GAAG,CAAC,CAAA;YAChB,OAAO,IAAA,eAAO,EAAI,MAAM,EAAE,GAAG,EAAE;gBAC7B,GAAG,OAAO;gBACV,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,CAAC;aAC7B,CAAC,CAAA;QACJ,CAAC;QAED,MAAO,KAAmB,CAAC,sBAAsB,EAAE,EAAE,CAAA;QAErD,MAAM,IAAI,sBAAQ,CAAC,KAAkB,CAAC,CAAA;IACxC,CAAC;AACH,CAAC,CAAA;AA7EY,QAAA,OAAO,WA6EnB"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/utils/request.ts"],"names":[],"mappings":";;;AAAA,mDAAqD;AACrD,yDAAkD;AAClD,uDAAgD;AAGhD,8CAAuC;AACvC,yCAAkC;AAErB,QAAA,eAAe,GAAG;IAC7B,OAAO,EAAE,CAAC;CACX,CAAA;AAED,MAAM,gCAAgC,GAAG,CAAC,EACxC,OAAO,EACP,GAAG,IAAI,EACa,EAAe,EAAE,CAAC,CAAC;IACvC,GAAG,IAAI;CACR,CAAC,CAAA;AAEK,MAAM,OAAO,GAAG,KAAK,EAC1B,MAAqB,EACrB,GAAsB,EACtB,UAA+B;IAC7B,OAAO,EAAE,uBAAe,CAAC,OAAO;CACjC,EACW,EAAE;IACd,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,GACrE,MAAM,CAAA;IAER,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,sBAAQ,CAChB,IAAI,2BAAe,CACjB,gIAAgI,CACjI,CACF,CAAA;IACH,CAAC;IAED,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,uBAAe,CAAC,OAAO,CAAA;IAE5D,IAAI,CAAC;QACH,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,OAAO,GAAG;gBAChB,GAAG,OAAO,CAAC,OAAO;gBAClB,gBAAgB,EAAE,MAAM;aACzB,CAAA;QACH,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,OAAO,GAAG;gBAChB,GAAG,OAAO,CAAC,OAAO;gBAClB,eAAe,EAAE,MAAM;aACxB,CAAA;QACH,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,OAAO,GAAG;gBAChB,GAAG,OAAO,CAAC,OAAO;gBAClB,eAAe,EAAE,aAAa;aAC/B,CAAA;QACH,CAAC;QAED,IAAI,oBAAO,EAAE,CAAC;YACZ,OAAO,CAAC,OAAO,GAAG;gBAChB,GAAG,OAAO,CAAC,OAAO;gBAClB,YAAY,EAAE,oBAAO;aACtB,CAAA;QACH,CAAC;QAGD,OAAO,CAAC,OAAO,GAAG;YAChB,GAAG,OAAO,CAAC,OAAO;YAClB,mBAAmB,EAAE,UAAU;SAChC,CAAA;QAED,IAAI,kBAAkB,EAAE,CAAC;YACvB,OAAO,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAA;QAC7C,CAAC;QAED,MAAM,QAAQ,GAAa,MAAM,KAAK,CACpC,GAAG,EACH,gCAAgC,CAAC,OAAO,CAAC,CAC1C,CAAA;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,wBAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;QAC7C,CAAC;QAED,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAA;QACpC,IAAI,OAAO,GAAG,CAAC,IAAK,KAAmB,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvD,MAAM,IAAA,gBAAK,EAAC,GAAG,CAAC,CAAA;YAChB,OAAO,IAAA,eAAO,EAAI,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,EAAE,CAAC,CAAA;QACtE,CAAC;QAED,MAAO,KAAmB,CAAC,sBAAsB,EAAE,EAAE,CAAA;QAErD,MAAM,IAAI,sBAAQ,CAAC,KAAkB,CAAC,CAAA;IACxC,CAAC;AACH,CAAC,CAAA;AAhFY,QAAA,OAAO,WAgFnB"}
@@ -1,2 +1,2 @@
1
1
  export declare const name = "@lifi/sdk";
2
- export declare const version = "4.0.0-alpha.6";
2
+ export declare const version = "4.0.0-alpha.8";
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = exports.name = void 0;
4
4
  exports.name = '@lifi/sdk';
5
- exports.version = '4.0.0-alpha.6';
5
+ exports.version = '4.0.0-alpha.8';
6
6
  //# sourceMappingURL=version.js.map
@@ -1,7 +1,8 @@
1
- import type { ChainId, ChainKey, ChainsRequest, ChainType, ConnectionsRequest, ConnectionsResponse, ContractCallsQuoteRequest, ExtendedChain, GasRecommendationRequest, GasRecommendationResponse, LiFiStep, RelayRequest, RelayResponseData, RelayStatusRequest, RelayStatusResponseData, RequestOptions, RoutesRequest, RoutesResponse, SignedLiFiStep, StatusResponse, Token, TokenAmount, TokenExtended, TokensExtendedResponse, TokensRequest, TokensResponse, ToolsRequest, ToolsResponse, TransactionAnalyticsRequest, TransactionAnalyticsResponse, WalletTokenExtended } from '@lifi/types';
1
+ import type { ChainId, ChainKey, ChainsRequest, ChainType, ConnectionsRequest, ConnectionsResponse, ContractCallsQuoteRequest, ExtendedChain, GasRecommendationRequest, GasRecommendationResponse, LiFiStep, PatchCallDataRequest, RelayRequest, RelayResponseData, RelayStatusRequest, RelayStatusResponseData, RequestOptions, RoutesRequest, RoutesResponse, SignedLiFiStep, StatusResponse, Token, TokenAmount, TokenExtended, TokensExtendedResponse, TokensRequest, TokensResponse, ToolsRequest, ToolsResponse, TransactionAnalyticsRequest, TransactionAnalyticsResponse, WalletTokenExtended } from '@lifi/types';
2
2
  import type { GetStatusRequestExtended, QuoteRequestFromAmount } from '../types/actions.js';
3
3
  import type { SDKClient } from '../types/core.js';
4
4
  import { getQuote } from './getQuote.js';
5
+ import { type PatchContractCallsResponse } from './patchContractCalls.js';
5
6
  export type Actions = {
6
7
  /**
7
8
  * Get all available chains
@@ -155,5 +156,12 @@ export type Actions = {
155
156
  * @returns Task ID and transaction link for the relayed transaction
156
157
  */
157
158
  relayTransaction: (params: RelayRequest, options?: RequestOptions) => Promise<RelayResponseData>;
159
+ /**
160
+ * Patch contract calls
161
+ * @param params - The configuration for the patch contract calls request
162
+ * @param options - Request options
163
+ * @returns Patched contract calls
164
+ */
165
+ patchContractCalls: (params: PatchCallDataRequest, options?: RequestOptions) => Promise<PatchContractCallsResponse[]>;
158
166
  };
159
167
  export declare function actions(client: SDKClient): Actions;
@@ -17,6 +17,7 @@ import { getTokens } from './getTokens.js';
17
17
  import { getTools } from './getTools.js';
18
18
  import { getTransactionHistory } from './getTransactionHistory.js';
19
19
  import { getWalletBalances } from './getWalletBalances.js';
20
+ import { patchContractCalls, } from './patchContractCalls.js';
20
21
  import { relayTransaction } from './relayTransaction.js';
21
22
  export function actions(client) {
22
23
  return {
@@ -40,6 +41,7 @@ export function actions(client) {
40
41
  getTransactionHistory: (params, options) => getTransactionHistory(client, params, options),
41
42
  getWalletBalances: (walletAddress, options) => getWalletBalances(client, walletAddress, options),
42
43
  relayTransaction: (params, options) => relayTransaction(client, params, options),
44
+ patchContractCalls: (params, options) => patchContractCalls(client, params, options),
43
45
  };
44
46
  }
45
47
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/actions/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/actions/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { PatchCallDataRequest, RequestOptions } from '@lifi/types';
2
+ import type { SDKClient } from '../types/core.js';
3
+ export interface PatchContractCallsResponse {
4
+ target: string;
5
+ value: bigint;
6
+ callData: string;
7
+ allowFailure: boolean;
8
+ isDelegateCall: boolean;
9
+ }
10
+ export declare const patchContractCalls: (client: SDKClient, params: PatchCallDataRequest, options?: RequestOptions) => Promise<PatchContractCallsResponse[]>;
@@ -0,0 +1,12 @@
1
+ import { request } from '../utils/request.js';
2
+ export const patchContractCalls = async (client, params, options) => {
3
+ return await request(client.config, `${client.config.apiUrl}/patcher`, {
4
+ method: 'POST',
5
+ headers: {
6
+ 'Content-Type': 'application/json',
7
+ },
8
+ body: JSON.stringify(params),
9
+ signal: options?.signal,
10
+ });
11
+ };
12
+ //# sourceMappingURL=patchContractCalls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patchContractCalls.js","sourceRoot":"","sources":["../../../src/actions/patchContractCalls.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAU7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,MAAiB,EACjB,MAA4B,EAC5B,OAAwB,EACe,EAAE;IACzC,OAAO,MAAM,OAAO,CAClB,MAAM,CAAC,MAAM,EACb,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,UAAU,EACjC;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC5B,MAAM,EAAE,OAAO,EAAE,MAAM;KACxB,CACF,CAAA;AACH,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
- import { formatUnits } from 'viem';
2
1
  import { getTokenBalance } from '../actions/getTokenBalance.js';
3
2
  import { BalanceError } from '../errors/errors.js';
3
+ import { formatUnits } from '../utils/formatUnits.js';
4
4
  import { sleep } from '../utils/sleep.js';
5
5
  export const checkBalance = async (client, walletAddress, step, depth = 0) => {
6
6
  const token = await getTokenBalance(client, walletAddress, step.action.fromToken);
@@ -1 +1 @@
1
- {"version":3,"file":"checkBalance.js","sourceRoot":"","sources":["../../../src/core/checkBalance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,MAAiB,EACjB,aAAqB,EACrB,IAAc,EACd,KAAK,GAAG,CAAC,EACM,EAAE;IACjB,MAAM,KAAK,GAAG,MAAM,eAAe,CACjC,MAAM,EACN,aAAa,EACb,IAAI,CAAC,MAAM,CAAC,SAAS,CACtB,CAAA;IACD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAA;QACzC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAEpD,IAAI,cAAc,GAAG,aAAa,EAAE,CAAC;YACnC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;gBAChB,MAAM,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;YAC5D,CAAC;iBAAM,IACL,CAAC,aAAa;gBACZ,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;gBAC1D,WAAc;gBAChB,cAAc,EACd,CAAC;gBACD,mCAAmC;gBACnC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAA;YACpD,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBACzD,MAAM,OAAO,GAAG,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC3D,IAAI,YAAY,GAAG,QAAQ,KAAK,CAAC,MAAM,4CAA4C,MAAM,IAAI,KAAK,CAAC,MAAM,gCAAgC,OAAO,IAAI,KAAK,CAAC,MAAM,4BAA4B,CAAA;gBAE5L,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;oBAC1B,YAAY,IAAI,8FAA8F,OAAO,IAAI,KAAK,CAAC,MAAM,GAAG,CAAA;gBAC1I,CAAC;gBAED,MAAM,IAAI,YAAY,CACpB,yBAAyB,EACzB,IAAI,KAAK,CAAC,YAAY,CAAC,CACxB,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"checkBalance.js","sourceRoot":"","sources":["../../../src/core/checkBalance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,MAAiB,EACjB,aAAqB,EACrB,IAAc,EACd,KAAK,GAAG,CAAC,EACM,EAAE;IACjB,MAAM,KAAK,GAAG,MAAM,eAAe,CACjC,MAAM,EACN,aAAa,EACb,IAAI,CAAC,MAAM,CAAC,SAAS,CACtB,CAAA;IACD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAA;QACzC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAEpD,IAAI,cAAc,GAAG,aAAa,EAAE,CAAC;YACnC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;gBAChB,MAAM,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;YAC5D,CAAC;iBAAM,IACL,CAAC,aAAa;gBACZ,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;gBAC1D,WAAc;gBAChB,cAAc,EACd,CAAC;gBACD,mCAAmC;gBACnC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAA;YACpD,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBACzD,MAAM,OAAO,GAAG,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC3D,IAAI,YAAY,GAAG,QAAQ,KAAK,CAAC,MAAM,4CAA4C,MAAM,IAAI,KAAK,CAAC,MAAM,gCAAgC,OAAO,IAAI,KAAK,CAAC,MAAM,4BAA4B,CAAA;gBAE5L,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;oBAC1B,YAAY,IAAI,8FAA8F,OAAO,IAAI,KAAK,CAAC,MAAM,GAAG,CAAA;gBAC1I,CAAC;gBAED,MAAM,IAAI,YAAY,CACpB,yBAAyB,EACzB,IAAI,KAAK,CAAC,YAAY,CAAC,CACxB,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { ChainId, ExtendedChain, LiFiStep, Token } from '@lifi/types';
1
+ import type { ChainId, ExtendedChain, LiFiStep } from '@lifi/types';
2
2
  import type { RPCUrls } from '../types/core.js';
3
3
  /**
4
4
  * Used to check if changed exchange rate is in the range of slippage threshold.
@@ -81,6 +81,7 @@ export declare function getRpcUrlsFromChains(existingRpcUrls: RPCUrls, chains: E
81
81
  143?: string[] | undefined;
82
82
  988?: string[] | undefined;
83
83
  4326?: string[] | undefined;
84
+ 3637?: string[] | undefined;
84
85
  1151111081099710?: string[] | undefined;
85
86
  1161011141099710?: string[] | undefined;
86
87
  111971151099710?: string[] | undefined;
@@ -91,12 +92,3 @@ export declare function getRpcUrlsFromChains(existingRpcUrls: RPCUrls, chains: E
91
92
  20000000000004?: string[] | undefined;
92
93
  728126428?: string[] | undefined;
93
94
  };
94
- /**
95
- * Checks whether a given token is eligible for message signing.
96
- * Tokens with '₮' symbol in their name are disallowed,
97
- * since such tokens may have non-standard signing requirements or compatibility issues with hardware wallets.
98
- *
99
- * @param token - The token object to check.
100
- * @returns true if the token is allowed for message signing, false otherwise.
101
- */
102
- export declare const isTokenMessageSigningAllowed: (token: Token) => boolean;
@@ -46,15 +46,4 @@ export function getRpcUrlsFromChains(existingRpcUrls, chains, skipChains) {
46
46
  }
47
47
  return result;
48
48
  }
49
- /**
50
- * Checks whether a given token is eligible for message signing.
51
- * Tokens with '₮' symbol in their name are disallowed,
52
- * since such tokens may have non-standard signing requirements or compatibility issues with hardware wallets.
53
- *
54
- * @param token - The token object to check.
55
- * @returns true if the token is allowed for message signing, false otherwise.
56
- */
57
- export const isTokenMessageSigningAllowed = (token) => {
58
- return !token.name?.includes('₮') && !token.symbol?.includes('₮');
59
- };
60
49
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/core/utils.ts"],"names":[],"mappings":"AAGA,8DAA8D;AAC9D,MAAM,iBAAiB,GAAG,KAAK,CAAA;AAE/B;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAiB,EACjB,OAAiB;IAEjB,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,IAAI,iBAAiB,CAAA;IAChE,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IACjE,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IACjE,MAAM,gBAAgB,GAAG,oBAAoB,GAAG,oBAAoB,CAAA;IACpE,2DAA2D;IAC3D,IAAI,cAAc,GAAG,CAAC,CAAA;IACtB,IAAI,oBAAoB,GAAG,CAAC,EAAE,CAAC;QAC7B,cAAc;YACZ,MAAM,CAAC,CAAC,gBAAgB,GAAG,WAAc,CAAC,GAAG,oBAAoB,CAAC;gBAClE,aAAa,CAAA;IACjB,CAAC;IACD,OAAO,cAAc,IAAI,WAAW,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,eAAwB,EACxB,MAAuB,EACvB,UAAsB;IAEtB,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACzD,IAAI,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YACpC,OAAO,CAAC,KAAK,CAAC,EAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAA;QACvD,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC,EAAE,EAAa,CAAC,CAAA;IACjB,MAAM,MAAM,GAAG,EAAE,GAAG,eAAe,EAAE,CAAA;IACrC,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAY,CAAA;QAC7C,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAA;QACvC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YAClB,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;YAC7B,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACpC,CAAC;aAAM,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;YAC1E,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAA;QACvC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,KAAY,EAAW,EAAE;IACpE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAA;AACnE,CAAC,CAAA"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/core/utils.ts"],"names":[],"mappings":"AAGA,8DAA8D;AAC9D,MAAM,iBAAiB,GAAG,KAAK,CAAA;AAE/B;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAiB,EACjB,OAAiB;IAEjB,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,IAAI,iBAAiB,CAAA;IAChE,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IACjE,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IACjE,MAAM,gBAAgB,GAAG,oBAAoB,GAAG,oBAAoB,CAAA;IACpE,2DAA2D;IAC3D,IAAI,cAAc,GAAG,CAAC,CAAA;IACtB,IAAI,oBAAoB,GAAG,CAAC,EAAE,CAAC;QAC7B,cAAc;YACZ,MAAM,CAAC,CAAC,gBAAgB,GAAG,WAAc,CAAC,GAAG,oBAAoB,CAAC;gBAClE,aAAa,CAAA;IACjB,CAAC;IACD,OAAO,cAAc,IAAI,WAAW,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,eAAwB,EACxB,MAAuB,EACvB,UAAsB;IAEtB,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACzD,IAAI,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YACpC,OAAO,CAAC,KAAK,CAAC,EAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAA;QACvD,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC,EAAE,EAAa,CAAC,CAAA;IACjB,MAAM,MAAM,GAAG,EAAE,GAAG,eAAe,EAAE,CAAA;IACrC,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAY,CAAA;QAC7C,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAA;QACvC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YAClB,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;YAC7B,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACpC,CAAC;aAAM,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;YAC1E,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAA;QACvC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -8,7 +8,8 @@ export declare enum ErrorName {
8
8
  NotFoundError = "NotFoundError",
9
9
  UnknownError = "UnknownError",
10
10
  SlippageError = "SlippageError",
11
- HTTPError = "HTTPError"
11
+ HTTPError = "HTTPError",
12
+ ConfigError = "ConfigError"
12
13
  }
13
14
  export type ErrorCode = LiFiErrorCode;
14
15
  export declare enum LiFiErrorCode {
@@ -37,7 +38,8 @@ export declare enum LiFiErrorCode {
37
38
  TransactionRejected = 1022,
38
39
  RateLimitExceeded = 1023,
39
40
  ThirdPartyError = 1024,
40
- InsufficientGas = 1025
41
+ InsufficientGas = 1025,
42
+ ConfigError = 1026
41
43
  }
42
44
  export declare enum ErrorMessage {
43
45
  UnknownError = "Unknown error occurred.",
@@ -10,6 +10,7 @@ export var ErrorName;
10
10
  ErrorName["UnknownError"] = "UnknownError";
11
11
  ErrorName["SlippageError"] = "SlippageError";
12
12
  ErrorName["HTTPError"] = "HTTPError";
13
+ ErrorName["ConfigError"] = "ConfigError";
13
14
  })(ErrorName || (ErrorName = {}));
14
15
  export var LiFiErrorCode;
15
16
  (function (LiFiErrorCode) {
@@ -39,6 +40,7 @@ export var LiFiErrorCode;
39
40
  LiFiErrorCode[LiFiErrorCode["RateLimitExceeded"] = 1023] = "RateLimitExceeded";
40
41
  LiFiErrorCode[LiFiErrorCode["ThirdPartyError"] = 1024] = "ThirdPartyError";
41
42
  LiFiErrorCode[LiFiErrorCode["InsufficientGas"] = 1025] = "InsufficientGas";
43
+ LiFiErrorCode[LiFiErrorCode["ConfigError"] = 1026] = "ConfigError";
42
44
  })(LiFiErrorCode || (LiFiErrorCode = {}));
43
45
  export var ErrorMessage;
44
46
  (function (ErrorMessage) {
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/errors/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAWX;AAXD,WAAY,SAAS;IACnB,kCAAqB,CAAA;IACrB,4CAA+B,CAAA;IAC/B,wCAA2B,CAAA;IAC3B,kDAAqC,CAAA;IACrC,gDAAmC,CAAA;IACnC,0CAA6B,CAAA;IAC7B,4CAA+B,CAAA;IAC/B,0CAA6B,CAAA;IAC7B,4CAA+B,CAAA;IAC/B,oCAAuB,CAAA;AACzB,CAAC,EAXW,SAAS,KAAT,SAAS,QAWpB;AAID,MAAM,CAAN,IAAY,aA2BX;AA3BD,WAAY,aAAa;IACvB,sEAAoB,CAAA;IACpB,0EAAsB,CAAA;IACtB,wFAA6B,CAAA;IAC7B,8EAAwB,CAAA;IACxB,0DAAc,CAAA;IACd,kFAA0B,CAAA;IAC1B,4DAAe,CAAA;IACf,4EAAuB,CAAA;IACvB,sFAA4B,CAAA;IAC5B,sEAAoB,CAAA;IACpB,kFAA0B,CAAA;IAC1B,sEAAoB,CAAA;IACpB,8EAAwB,CAAA;IACxB,oEAAmB,CAAA;IACnB,8EAAwB,CAAA;IACxB,8EAAwB,CAAA;IACxB,gGAAiC,CAAA;IACjC,oGAAmC,CAAA;IACnC,gFAAyB,CAAA;IACzB,kGAAkC,CAAA;IAClC,kFAA0B,CAAA;IAC1B,kFAA0B,CAAA;IAC1B,kFAA0B,CAAA;IAC1B,8EAAwB,CAAA;IACxB,0EAAsB,CAAA;IACtB,0EAAsB,CAAA;AACxB,CAAC,EA3BW,aAAa,KAAb,aAAa,QA2BxB;AAED,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,wDAAwC,CAAA;IACxC,qIAAqH,CAAA;IACrH,qDAAqC,CAAA;IACrC,sEAAsD,CAAA;IACtD,iEAAiD,CAAA;AACnD,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/errors/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAYX;AAZD,WAAY,SAAS;IACnB,kCAAqB,CAAA;IACrB,4CAA+B,CAAA;IAC/B,wCAA2B,CAAA;IAC3B,kDAAqC,CAAA;IACrC,gDAAmC,CAAA;IACnC,0CAA6B,CAAA;IAC7B,4CAA+B,CAAA;IAC/B,0CAA6B,CAAA;IAC7B,4CAA+B,CAAA;IAC/B,oCAAuB,CAAA;IACvB,wCAA2B,CAAA;AAC7B,CAAC,EAZW,SAAS,KAAT,SAAS,QAYpB;AAID,MAAM,CAAN,IAAY,aA4BX;AA5BD,WAAY,aAAa;IACvB,sEAAoB,CAAA;IACpB,0EAAsB,CAAA;IACtB,wFAA6B,CAAA;IAC7B,8EAAwB,CAAA;IACxB,0DAAc,CAAA;IACd,kFAA0B,CAAA;IAC1B,4DAAe,CAAA;IACf,4EAAuB,CAAA;IACvB,sFAA4B,CAAA;IAC5B,sEAAoB,CAAA;IACpB,kFAA0B,CAAA;IAC1B,sEAAoB,CAAA;IACpB,8EAAwB,CAAA;IACxB,oEAAmB,CAAA;IACnB,8EAAwB,CAAA;IACxB,8EAAwB,CAAA;IACxB,gGAAiC,CAAA;IACjC,oGAAmC,CAAA;IACnC,gFAAyB,CAAA;IACzB,kGAAkC,CAAA;IAClC,kFAA0B,CAAA;IAC1B,kFAA0B,CAAA;IAC1B,kFAA0B,CAAA;IAC1B,8EAAwB,CAAA;IACxB,0EAAsB,CAAA;IACtB,0EAAsB,CAAA;IACtB,kEAAkB,CAAA;AACpB,CAAC,EA5BW,aAAa,KAAb,aAAa,QA4BxB;AAED,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,wDAAwC,CAAA;IACxC,qIAAqH,CAAA;IACrH,qDAAqC,CAAA;IACrC,sEAAsD,CAAA;IACtD,iEAAiD,CAAA;AACnD,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB"}
@@ -1,6 +1,4 @@
1
1
  export * from '@lifi/types';
2
- export type { Client } from 'viem';
3
- export { formatUnits, isHex, parseUnits } from 'viem/utils';
4
2
  export { getChains } from './actions/getChains.js';
5
3
  export { getConnections } from './actions/getConnections.js';
6
4
  export { getContractCallsQuote } from './actions/getContractCallsQuote.js';
@@ -21,6 +19,7 @@ export { getTools } from './actions/getTools.js';
21
19
  export { getTransactionHistory } from './actions/getTransactionHistory.js';
22
20
  export { getWalletBalances } from './actions/getWalletBalances.js';
23
21
  export { actions } from './actions/index.js';
22
+ export { patchContractCalls } from './actions/patchContractCalls.js';
24
23
  export { relayTransaction } from './actions/relayTransaction.js';
25
24
  export { createClient } from './client/createClient.js';
26
25
  export { BaseStepExecutor } from './core/BaseStepExecutor.js';
@@ -28,7 +27,6 @@ export { checkBalance } from './core/checkBalance.js';
28
27
  export { executeRoute, getActiveRoute, getActiveRoutes, resumeRoute, stopRouteExecution, updateRouteExecution, } from './core/execution.js';
29
28
  export { StatusManager } from './core/StatusManager.js';
30
29
  export { stepComparison } from './core/stepComparison.js';
31
- export { isTokenMessageSigningAllowed } from './core/utils.js';
32
30
  export { waitForDestinationChainTransaction } from './core/waitForDestinationChainTransaction.js';
33
31
  export { BaseError } from './errors/baseError.js';
34
32
  export type { ErrorCode } from './errors/constants.js';
@@ -36,10 +34,13 @@ export { ErrorMessage, ErrorName, LiFiErrorCode } from './errors/constants.js';
36
34
  export { BalanceError, ProviderError, RPCError, ServerError, TransactionError, UnknownError, ValidationError, } from './errors/errors.js';
37
35
  export { HTTPError } from './errors/httpError.js';
38
36
  export { SDKError } from './errors/SDKError.js';
39
- export type { AcceptExchangeRateUpdateHook, AcceptSlippageUpdateHook, AcceptSlippageUpdateHookParams, ExchangeRateUpdateParams, Execution, ExecutionOptions, ExecutionStatus, InteractionSettings, LiFiStepExtended, Process, ProcessStatus, ProcessType, RouteExecutionData, RouteExecutionDataDictionary, RouteExecutionDictionary, RouteExtended, RPCUrls, SDKBaseConfig, SDKClient, SDKConfig, SDKProvider, StepExecutor, StepExecutorOptions, StepExtended, SwitchChainHook, TransactionMethodType, TransactionParameters, TransactionRequestParameters, TransactionRequestUpdateHook, UpdateRouteHook, } from './types/core.js';
37
+ export type { AcceptExchangeRateUpdateHook, AcceptSlippageUpdateHook, AcceptSlippageUpdateHookParams, ContractCallParams, ContractTool, ExchangeRateUpdateParams, Execution, ExecutionOptions, ExecutionStatus, GetContractCallsHook, GetContractCallsResult, InteractionSettings, LiFiStepExtended, Process, ProcessStatus, ProcessType, RequestInterceptor, RouteExecutionData, RouteExecutionDataDictionary, RouteExecutionDictionary, RouteExtended, RPCUrls, SDKBaseConfig, SDKClient, SDKConfig, SDKProvider, StepExecutor, StepExecutorOptions, StepExtended, TransactionMethodType, TransactionParameters, TransactionRequestParameters, TransactionRequestUpdateHook, UpdateRouteHook, } from './types/core.js';
40
38
  export { checkPackageUpdates } from './utils/checkPackageUpdates.js';
41
39
  export { convertQuoteToRoute } from './utils/convertQuoteToRoute.js';
42
40
  export { fetchTxErrorDetails } from './utils/fetchTxErrorDetails.js';
41
+ export { formatUnits } from './utils/formatUnits.js';
42
+ export { isHex } from './utils/isHex.js';
43
+ export { parseUnits } from './utils/parseUnits.js';
43
44
  export { sleep } from './utils/sleep.js';
44
45
  export { waitForResult } from './utils/waitForResult.js';
45
46
  export { withDedupe } from './utils/withDedupe.js';
package/dist/esm/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  // biome-ignore lint/performance/noBarrelFile: module entrypoint
2
2
  // biome-ignore lint/performance/noReExportAll: types
3
3
  export * from '@lifi/types';
4
- export { formatUnits, isHex, parseUnits } from 'viem/utils';
5
4
  export { getChains } from './actions/getChains.js';
6
5
  export { getConnections } from './actions/getConnections.js';
7
6
  export { getContractCallsQuote } from './actions/getContractCallsQuote.js';
@@ -22,6 +21,7 @@ export { getTools } from './actions/getTools.js';
22
21
  export { getTransactionHistory } from './actions/getTransactionHistory.js';
23
22
  export { getWalletBalances } from './actions/getWalletBalances.js';
24
23
  export { actions } from './actions/index.js';
24
+ export { patchContractCalls } from './actions/patchContractCalls.js';
25
25
  export { relayTransaction } from './actions/relayTransaction.js';
26
26
  export { createClient } from './client/createClient.js';
27
27
  export { BaseStepExecutor } from './core/BaseStepExecutor.js';
@@ -29,7 +29,6 @@ export { checkBalance } from './core/checkBalance.js';
29
29
  export { executeRoute, getActiveRoute, getActiveRoutes, resumeRoute, stopRouteExecution, updateRouteExecution, } from './core/execution.js';
30
30
  export { StatusManager } from './core/StatusManager.js';
31
31
  export { stepComparison } from './core/stepComparison.js';
32
- export { isTokenMessageSigningAllowed } from './core/utils.js';
33
32
  export { waitForDestinationChainTransaction } from './core/waitForDestinationChainTransaction.js';
34
33
  export { BaseError } from './errors/baseError.js';
35
34
  export { ErrorMessage, ErrorName, LiFiErrorCode } from './errors/constants.js';
@@ -39,6 +38,9 @@ export { SDKError } from './errors/SDKError.js';
39
38
  export { checkPackageUpdates } from './utils/checkPackageUpdates.js';
40
39
  export { convertQuoteToRoute } from './utils/convertQuoteToRoute.js';
41
40
  export { fetchTxErrorDetails } from './utils/fetchTxErrorDetails.js';
41
+ export { formatUnits } from './utils/formatUnits.js';
42
+ export { isHex } from './utils/isHex.js';
43
+ export { parseUnits } from './utils/parseUnits.js';
42
44
  export { sleep } from './utils/sleep.js';
43
45
  export { waitForResult } from './utils/waitForResult.js';
44
46
  export { withDedupe } from './utils/withDedupe.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,qDAAqD;AACrD,cAAc,aAAa,CAAA;AAE3B,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAA;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAA;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,kCAAkC,EAAE,MAAM,8CAA8C,CAAA;AACjG,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEjD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC9E,OAAO,EACL,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,eAAe,GAChB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAiC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import type { ChainId, ChainType, CoinKey, ExtendedChain, FeeCost, GasCost, LiFiStep, Route, RouteOptions, Step, Substatus, Token, TokenAmount } from '@lifi/types';
2
- import type { Client } from 'viem';
1
+ import type { ChainId, ChainType, CoinKey, ContractCall, ExtendedChain, FeeCost, GasCost, LiFiStep, Route, RouteOptions, Step, Substatus, Token, TokenAmount } from '@lifi/types';
2
+ import type { ExtendedRequestInit } from './request.js';
3
+ export type RequestInterceptor = (request: ExtendedRequestInit) => ExtendedRequestInit | Promise<ExtendedRequestInit>;
3
4
  export interface SDKBaseConfig {
4
5
  apiKey?: string;
5
6
  apiUrl: string;
@@ -12,6 +13,8 @@ export interface SDKBaseConfig {
12
13
  widgetVersion?: string;
13
14
  debug: boolean;
14
15
  preloadChains?: boolean;
16
+ chainsRefetchInterval?: number;
17
+ requestInterceptor?: RequestInterceptor;
15
18
  }
16
19
  export interface SDKConfig extends Partial<Omit<SDKBaseConfig, 'integrator'>> {
17
20
  integrator: string;
@@ -83,7 +86,6 @@ export interface TransactionRequestParameters extends TransactionParameters {
83
86
  requestType: 'approve' | 'transaction';
84
87
  }
85
88
  export type TransactionRequestUpdateHook = (updatedTxRequest: TransactionRequestParameters) => Promise<TransactionParameters>;
86
- export type SwitchChainHook = (chainId: number) => Promise<Client | undefined>;
87
89
  export interface AcceptSlippageUpdateHookParams {
88
90
  toToken: Token;
89
91
  oldToAmount: string;
@@ -98,11 +100,33 @@ export interface ExchangeRateUpdateParams {
98
100
  newToAmount: string;
99
101
  }
100
102
  export type AcceptExchangeRateUpdateHook = (params: ExchangeRateUpdateParams) => Promise<boolean | undefined>;
103
+ export interface ContractCallParams {
104
+ fromChainId: number;
105
+ toChainId: number;
106
+ fromTokenAddress: string;
107
+ toTokenAddress: string;
108
+ fromAddress: string;
109
+ toAddress?: string;
110
+ fromAmount: bigint;
111
+ toAmount: bigint;
112
+ slippage?: number;
113
+ }
114
+ export interface ContractTool {
115
+ name: string;
116
+ logoURI: string;
117
+ }
118
+ export interface GetContractCallsResult {
119
+ contractCalls: ContractCall[];
120
+ patcher?: boolean;
121
+ contractTool?: ContractTool;
122
+ }
123
+ export type GetContractCallsHook = (params: ContractCallParams) => Promise<GetContractCallsResult>;
101
124
  export interface ExecutionOptions {
102
125
  acceptExchangeRateUpdateHook?: AcceptExchangeRateUpdateHook;
103
- switchChainHook?: SwitchChainHook;
104
126
  updateRouteHook?: UpdateRouteHook;
105
127
  updateTransactionRequestHook?: TransactionRequestUpdateHook;
128
+ getContractCalls?: GetContractCallsHook;
129
+ adjustZeroOutputFromPreviousStep?: boolean;
106
130
  executeInBackground?: boolean;
107
131
  disableMessageSigning?: boolean;
108
132
  /**
@@ -1,10 +1,18 @@
1
1
  import type { LiFiStep, Route } from '@lifi/types';
2
+ interface ConvertQuoteToRouteOptions {
3
+ /**
4
+ * When true, if the quote has zero output values (toAmount, toAmountMin, toAmountUSD),
5
+ * use the values from the previous included step that has non-zero output.
6
+ */
7
+ adjustZeroOutputFromPreviousStep?: boolean;
8
+ }
9
+ export declare function formatTokenPrice(amount?: string | bigint, price?: string, decimals?: number): number;
2
10
  /**
3
11
  * Converts a quote to Route
4
12
  * @param quote - Step returned from the quote endpoint.
5
- * @param txHash
6
- * @param chainId
13
+ * @param options - Optional configuration for handling edge cases.
7
14
  * @returns - The route to be executed.
8
15
  * @throws {BaseError} Throws a ValidationError if the step has missing values.
9
16
  */
10
- export declare const convertQuoteToRoute: (quote: LiFiStep) => Route;
17
+ export declare const convertQuoteToRoute: (quote: LiFiStep, options?: ConvertQuoteToRouteOptions) => Route;
18
+ export {};
@@ -1,18 +1,87 @@
1
1
  import { ValidationError } from '../errors/errors.js';
2
2
  import { SDKError } from '../errors/SDKError.js';
3
+ import { formatUnits } from './formatUnits.js';
4
+ const parseBigInt = (value) => {
5
+ if (!value) {
6
+ return 0n;
7
+ }
8
+ try {
9
+ return BigInt(value);
10
+ }
11
+ catch {
12
+ return 0n;
13
+ }
14
+ };
15
+ const parseNumber = (value) => {
16
+ if (!value) {
17
+ return 0;
18
+ }
19
+ const parsed = Number(value);
20
+ return Number.isNaN(parsed) ? 0 : parsed;
21
+ };
22
+ const isZeroOutput = (toAmount, toAmountMin, toAmountUSD) => {
23
+ return (!parseBigInt(toAmount) &&
24
+ !parseBigInt(toAmountMin) &&
25
+ !parseNumber(toAmountUSD));
26
+ };
27
+ const hasNonZeroOutput = (step) => {
28
+ return (!!parseBigInt(step.estimate.toAmount) ||
29
+ !!parseBigInt(step.estimate.toAmountMin));
30
+ };
31
+ const findPreviousNonZeroStep = (steps) => {
32
+ // Find the last step that has non-zero output (the step before the zero output step)
33
+ for (let i = steps.length - 1; i >= 0; i--) {
34
+ const step = steps[i];
35
+ if (hasNonZeroOutput(step)) {
36
+ return step;
37
+ }
38
+ }
39
+ return undefined;
40
+ };
41
+ export function formatTokenPrice(amount, price, decimals) {
42
+ if (!amount || !price) {
43
+ return 0;
44
+ }
45
+ const formattedAmount = typeof amount === 'bigint' && decimals !== undefined
46
+ ? formatUnits(amount, decimals)
47
+ : amount.toString();
48
+ if (Number.isNaN(Number(formattedAmount)) || Number.isNaN(Number(price))) {
49
+ return 0;
50
+ }
51
+ return Number.parseFloat(formattedAmount) * Number.parseFloat(price);
52
+ }
3
53
  /**
4
54
  * Converts a quote to Route
5
55
  * @param quote - Step returned from the quote endpoint.
6
- * @param txHash
7
- * @param chainId
56
+ * @param options - Optional configuration for handling edge cases.
8
57
  * @returns - The route to be executed.
9
58
  * @throws {BaseError} Throws a ValidationError if the step has missing values.
10
59
  */
11
- export const convertQuoteToRoute = (quote) => {
60
+ export const convertQuoteToRoute = (quote, options) => {
61
+ let toAmount = quote.estimate.toAmount;
62
+ let toAmountMin = quote.estimate.toAmountMin;
63
+ let toAmountUSD = quote.estimate.toAmountUSD;
64
+ // Handle zero output values by looking at previous included step
65
+ if (options?.adjustZeroOutputFromPreviousStep &&
66
+ quote.includedSteps?.length &&
67
+ isZeroOutput(toAmount, toAmountMin, toAmountUSD)) {
68
+ const previousStep = findPreviousNonZeroStep(quote.includedSteps);
69
+ if (previousStep) {
70
+ toAmount = previousStep.estimate.toAmount;
71
+ toAmountMin = previousStep.estimate.toAmountMin;
72
+ toAmountUSD = formatTokenPrice(parseBigInt(toAmount), previousStep.action.toToken.priceUSD, previousStep.action.toToken.decimals).toFixed(2);
73
+ // Update the last included step's estimate with the adjusted values
74
+ const lastStep = quote.includedSteps[quote.includedSteps.length - 1];
75
+ if (lastStep && !hasNonZeroOutput(lastStep)) {
76
+ lastStep.estimate.toAmount = toAmount;
77
+ lastStep.estimate.toAmountMin = toAmountMin;
78
+ }
79
+ }
80
+ }
12
81
  if (!quote.estimate.fromAmountUSD) {
13
82
  throw new SDKError(new ValidationError("Missing 'fromAmountUSD' in step estimate."));
14
83
  }
15
- if (!quote.estimate.toAmountUSD) {
84
+ if (!toAmountUSD) {
16
85
  throw new SDKError(new ValidationError("Missing 'toAmountUSD' in step estimate."));
17
86
  }
18
87
  const route = {
@@ -24,9 +93,9 @@ export const convertQuoteToRoute = (quote) => {
24
93
  fromAddress: quote.action.fromAddress,
25
94
  toChainId: quote.action.toToken.chainId,
26
95
  toToken: quote.action.toToken,
27
- toAmount: quote.estimate.toAmount,
28
- toAmountMin: quote.estimate.toAmountMin,
29
- toAmountUSD: quote.estimate.toAmountUSD,
96
+ toAmount,
97
+ toAmountMin,
98
+ toAmountUSD,
30
99
  toAddress: quote.action.toAddress || quote.action.fromAddress,
31
100
  gasCostUSD: quote.estimate.gasCosts?.[0]?.amountUSD || '0',
32
101
  steps: [quote],
@@ -1 +1 @@
1
- {"version":3,"file":"convertQuoteToRoute.js","sourceRoot":"","sources":["../../../src/utils/convertQuoteToRoute.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAEhD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAe,EAAS,EAAE;IAC5D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAClC,MAAM,IAAI,QAAQ,CAChB,IAAI,eAAe,CAAC,2CAA2C,CAAC,CACjE,CAAA;IACH,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,IAAI,QAAQ,CAChB,IAAI,eAAe,CAAC,yCAAyC,CAAC,CAC/D,CAAA;IACH,CAAC;IAED,MAAM,KAAK,GAAU;QACnB,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO;QAC3C,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS;QACjC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;QACnC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa;QAC3C,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW;QACrC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;QACvC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;QAC7B,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ;QACjC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW;QACvC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW;QACvC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW;QAC7D,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,GAAG;QAC1D,KAAK,EAAE,CAAC,KAAK,CAAC;QACd,SAAS,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,EAAE;KACzD,CAAA;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
1
+ {"version":3,"file":"convertQuoteToRoute.js","sourceRoot":"","sources":["../../../src/utils/convertQuoteToRoute.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Divides a number by a given exponent of base 10 (10exponent), and formats it into a string representation of the number.
3
+ */
4
+ export declare function formatUnits(value: bigint, decimals: number): string;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Divides a number by a given exponent of base 10 (10exponent), and formats it into a string representation of the number.
3
+ */
4
+ export function formatUnits(value, decimals) {
5
+ let display = value.toString();
6
+ const negative = display.startsWith('-');
7
+ if (negative) {
8
+ display = display.slice(1);
9
+ }
10
+ display = display.padStart(decimals, '0');
11
+ let [integer, fraction] = [
12
+ display.slice(0, display.length - decimals),
13
+ display.slice(display.length - decimals),
14
+ ];
15
+ fraction = fraction.replace(/(0+)$/, '');
16
+ return `${negative ? '-' : ''}${integer || '0'}${fraction ? `.${fraction}` : ''}`;
17
+ }
18
+ //# sourceMappingURL=formatUnits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatUnits.js","sourceRoot":"","sources":["../../../src/utils/formatUnits.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,QAAgB;IACzD,IAAI,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;IAE9B,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACxC,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC5B,CAAC;IAED,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAEzC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG;QACxB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;QAC3C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;KACzC,CAAA;IACD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IACxC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,IAAI,GAAG,GAC5C,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAC9B,EAAE,CAAA;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ export type Hex = `0x${string}`;
2
+ export declare function isHex(value: unknown, { strict }?: {
3
+ strict?: boolean | undefined;
4
+ }): value is Hex;
@@ -0,0 +1,10 @@
1
+ export function isHex(value, { strict = true } = {}) {
2
+ if (!value) {
3
+ return false;
4
+ }
5
+ if (typeof value !== 'string') {
6
+ return false;
7
+ }
8
+ return strict ? /^0x[0-9a-fA-F]*$/.test(value) : value.startsWith('0x');
9
+ }
10
+ //# sourceMappingURL=isHex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isHex.js","sourceRoot":"","sources":["../../../src/utils/isHex.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,KAAK,CACnB,KAAc,EACd,EAAE,MAAM,GAAG,IAAI,KAAuC,EAAE;IAExD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;AACzE,CAAC"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Multiplies a string representation of a number by a given exponent of base 10 (10exponent).
3
+ */
4
+ export declare function parseUnits(value: string, decimals: number): bigint;