@jack-kernel/sdk 1.1.0 → 1.2.2

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 (50) hide show
  1. package/README.md +128 -19
  2. package/dist/cjs/index.js +83 -1
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/lifi/chain-map.js +39 -0
  5. package/dist/cjs/lifi/chain-map.js.map +1 -0
  6. package/dist/cjs/lifi/fallback.js +135 -0
  7. package/dist/cjs/lifi/fallback.js.map +1 -0
  8. package/dist/cjs/lifi/index.js +34 -0
  9. package/dist/cjs/lifi/index.js.map +1 -0
  10. package/dist/cjs/lifi/lifi-provider.js +496 -0
  11. package/dist/cjs/lifi/lifi-provider.js.map +1 -0
  12. package/dist/cjs/lifi/token-map.js +75 -0
  13. package/dist/cjs/lifi/token-map.js.map +1 -0
  14. package/dist/cjs/lifi/types.js +3 -0
  15. package/dist/cjs/lifi/types.js.map +1 -0
  16. package/dist/cjs/lifi/utils.js +45 -0
  17. package/dist/cjs/lifi/utils.js.map +1 -0
  18. package/dist/esm/index.js +69 -1
  19. package/dist/esm/index.js.map +1 -1
  20. package/dist/esm/lifi/chain-map.js +35 -0
  21. package/dist/esm/lifi/chain-map.js.map +1 -0
  22. package/dist/esm/lifi/fallback.js +128 -0
  23. package/dist/esm/lifi/fallback.js.map +1 -0
  24. package/dist/esm/lifi/index.js +19 -0
  25. package/dist/esm/lifi/index.js.map +1 -0
  26. package/dist/esm/lifi/lifi-provider.js +492 -0
  27. package/dist/esm/lifi/lifi-provider.js.map +1 -0
  28. package/dist/esm/lifi/token-map.js +71 -0
  29. package/dist/esm/lifi/token-map.js.map +1 -0
  30. package/dist/esm/lifi/types.js +2 -0
  31. package/dist/esm/lifi/types.js.map +1 -0
  32. package/dist/esm/lifi/utils.js +41 -0
  33. package/dist/esm/lifi/utils.js.map +1 -0
  34. package/dist/types/index.d.ts +58 -1
  35. package/dist/types/index.d.ts.map +1 -1
  36. package/dist/types/lifi/chain-map.d.ts +27 -0
  37. package/dist/types/lifi/chain-map.d.ts.map +1 -0
  38. package/dist/types/lifi/fallback.d.ts +58 -0
  39. package/dist/types/lifi/fallback.d.ts.map +1 -0
  40. package/dist/types/lifi/index.d.ts +18 -0
  41. package/dist/types/lifi/index.d.ts.map +1 -0
  42. package/dist/types/lifi/lifi-provider.d.ts +133 -0
  43. package/dist/types/lifi/lifi-provider.d.ts.map +1 -0
  44. package/dist/types/lifi/token-map.d.ts +34 -0
  45. package/dist/types/lifi/token-map.d.ts.map +1 -0
  46. package/dist/types/lifi/types.d.ts +52 -0
  47. package/dist/types/lifi/types.d.ts.map +1 -0
  48. package/dist/types/lifi/utils.d.ts +29 -0
  49. package/dist/types/lifi/utils.d.ts.map +1 -0
  50. package/package.json +4 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # JACK TypeScript SDK
2
2
 
3
- [![npm version](https://img.shields.io/npm/v/@jack/sdk.svg)](https://www.npmjs.com/package/@jack/sdk)
3
+ [![npm version](https://img.shields.io/npm/v/@jack-kernel/sdk.svg)](https://www.npmjs.com/package/@jack-kernel/sdk)
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
5
 
6
6
  TypeScript SDK for the JACK cross-chain execution kernel. Provides a comprehensive, type-safe interface for creating and managing cross-chain intents, tracking execution, and monitoring costs.
@@ -14,17 +14,19 @@ TypeScript SDK for the JACK cross-chain execution kernel. Provides a comprehensi
14
14
  - 🚀 **Batch Operations**: Submit and track multiple intents efficiently
15
15
  - 🛡️ **Error Handling**: Detailed error types with context for debugging
16
16
  - 📦 **Dual Module Support**: Works with both ESM and CommonJS
17
+ - 🌐 **Dual Provider Support**: LI.FI for DEX aggregation + Yellow Network for state channels
18
+ - ⚡ **Cross-Chain Routing**: Seamless token swaps across Arbitrum, Optimism, Base, and Polygon
17
19
 
18
20
  ## Installation
19
21
 
20
22
  ```bash
21
- npm install @jack/sdk
23
+ npm install @jack-kernel/sdk
22
24
  ```
23
25
 
24
26
  Or with pnpm:
25
27
 
26
28
  ```bash
27
- pnpm add @jack/sdk
29
+ pnpm add @jack-kernel/sdk
28
30
  ```
29
31
 
30
32
  ### Peer Dependencies
@@ -35,12 +37,21 @@ The SDK requires `viem` for EIP-712 signing:
35
37
  npm install viem
36
38
  ```
37
39
 
40
+ ### Optional Dependencies
41
+
42
+ For LI.FI cross-chain routing (included by default):
43
+
44
+ ```bash
45
+ # Already included as a dependency
46
+ @lifi/sdk
47
+ ```
48
+
38
49
  ## Quick Start
39
50
 
40
51
  ### Basic Usage
41
52
 
42
53
  ```typescript
43
- import { JACK_SDK } from '@jack/sdk';
54
+ import { JACK_SDK } from '@jack-kernel/sdk';
44
55
 
45
56
  // Initialize the SDK
46
57
  const sdk = new JACK_SDK({
@@ -73,10 +84,92 @@ const intent = await sdk.waitForSettlement(intentId);
73
84
  console.log('Settlement tx:', intent.settlementTx);
74
85
  ```
75
86
 
87
+ ### LI.FI Integration (Cross-Chain Routing)
88
+
89
+ ```typescript
90
+ import { JACK_SDK } from '@jack-kernel/sdk';
91
+
92
+ // Initialize with LI.FI support
93
+ const sdk = new JACK_SDK({
94
+ baseUrl: 'https://api.jack.example',
95
+ lifi: {
96
+ integrator: 'jackkernel',
97
+ maxRetries: 3
98
+ }
99
+ });
100
+
101
+ // Get cross-chain quote
102
+ const quote = await sdk.getLifiQuote({
103
+ sourceChain: 'arbitrum',
104
+ destinationChain: 'optimism',
105
+ tokenIn: 'USDC',
106
+ tokenOut: 'WETH',
107
+ amountIn: '100',
108
+ minAmountOut: '0.035',
109
+ deadline: Date.now() + 3600000
110
+ });
111
+
112
+ console.log(`Quote: ${quote.quote.amountOut} WETH`);
113
+ console.log(`Provider: ${quote.provider}`); // 'lifi' or 'fallback'
114
+ ```
115
+
116
+ ### Yellow Network Integration (State Channels)
117
+
118
+ ```typescript
119
+ import { JACK_SDK } from '@jack-kernel/sdk';
120
+
121
+ // Initialize with Yellow Network support
122
+ const sdk = new JACK_SDK({
123
+ baseUrl: 'https://api.jack.example',
124
+ yellow: {
125
+ custodyAddress: '0x...',
126
+ adjudicatorAddress: '0x...',
127
+ chainId: 1,
128
+ walletClient: myWalletClient
129
+ }
130
+ });
131
+
132
+ // Create state channel
133
+ const channel = await sdk.yellow?.createChannel({
134
+ counterparty: '0x...',
135
+ asset: '0xUSDC...',
136
+ amount: '1000000'
137
+ });
138
+
139
+ console.log('Channel created:', channel.channelId);
140
+ ```
141
+
142
+ ### Dual Provider Architecture
143
+
144
+ Both LI.FI and Yellow Network work together:
145
+
146
+ ```typescript
147
+ const sdk = new JACK_SDK({
148
+ baseUrl: 'https://api.jack.example',
149
+
150
+ // Yellow Network for state channels
151
+ yellow: {
152
+ custodyAddress: '0x...',
153
+ adjudicatorAddress: '0x...',
154
+ chainId: 1,
155
+ walletClient: myWalletClient
156
+ },
157
+
158
+ // LI.FI for cross-chain routing
159
+ lifi: {
160
+ integrator: 'jackkernel'
161
+ }
162
+ });
163
+
164
+ // Use both providers
165
+ await sdk.yellow?.createChannel(...);
166
+ await sdk.lifi?.fetchQuote(...);
167
+ ```
168
+
76
169
  ### Track Execution Progress
77
170
 
78
171
  ```typescript
79
- import { ExecutionStatus } from '@jack/sdk';
172
+ import { ExecutionStatus } from '@jack-kernel/sdk';
80
173
 
81
174
  // Poll until specific status is reached
82
175
  const intent = await sdk.execution.waitForStatus(
@@ -195,7 +288,7 @@ import {
195
288
  ValidationError,// Client-side validation failed
196
289
  TimeoutError, // Operation timed out
197
290
  RetryError // All retry attempts exhausted
198
- } from '@jack/sdk';
291
+ } from '@jack-kernel/sdk';
199
292
  ```
200
293
 
201
294
  ### Handling Errors
@@ -310,7 +403,7 @@ subscription.unsubscribe();
310
403
  Enforce custom policies on intent parameters:
311
404
 
312
405
  ```typescript
313
- import { Policy } from '@jack/sdk';
406
+ import { Policy } from '@jack-kernel/sdk';
314
407
 
315
408
  const policy: Policy = {
316
409
  maxAmountIn: '1000000000', // Max 1000 USDC
@@ -452,14 +545,28 @@ import type {
452
545
  ExecutionWatcher,
453
546
 
454
547
  // Policy Types
455
- Policy
456
- } from '@jack/sdk';
548
+ Policy,
549
+
550
+ // LI.FI Types
551
+ LifiProvider,
552
+ LifiConfig,
553
+ LifiQuotePayload,
554
+ LifiRoutePayload,
555
+ LifiStatusPayload,
556
+
557
+ // Yellow Network Types
558
+ YellowProvider,
559
+ YellowConfig,
560
+ ChannelState,
561
+ YellowQuote,
562
+ ClearingResult
563
+ } from '@jack-kernel/sdk';
457
564
  ```
458
565
 
459
566
  ### Type-Safe Intent Creation
460
567
 
461
568
  ```typescript
462
- import type { IntentParams } from '@jack/sdk';
569
+ import type { IntentParams } from '@jack-kernel/sdk';
463
570
 
464
571
  function createIntent(
465
572
  sourceChain: string,
@@ -481,7 +588,7 @@ function createIntent(
481
588
  ### Type Guards
482
589
 
483
590
  ```typescript
484
- import { ExecutionStatus } from '@jack/sdk';
591
+ import { ExecutionStatus } from '@jack-kernel/sdk';
485
592
 
486
593
  function isTerminalStatus(status: ExecutionStatus): boolean {
487
594
  return [
@@ -612,7 +719,7 @@ class AgentUtils {
612
719
  ### Complete Intent Lifecycle
613
720
 
614
721
  ```typescript
615
- import { JACK_SDK, ExecutionStatus } from '@jack/sdk';
722
+ import { JACK_SDK, ExecutionStatus } from '@jack-kernel/sdk';
616
723
 
617
724
  async function executeIntent() {
618
725
  const sdk = new JACK_SDK({ baseUrl: 'https://api.jack.example' });
@@ -671,7 +778,7 @@ async function executeIntent() {
671
778
  ### Agent with Batch Processing
672
779
 
673
780
  ```typescript
674
- import { JACK_SDK } from '@jack/sdk';
781
+ import { JACK_SDK } from '@jack-kernel/sdk';
675
782
 
676
783
  async function processIntentBatch(intentRequests: IntentRequest[]) {
677
784
  const sdk = new JACK_SDK({ baseUrl: 'https://api.jack.example' });
@@ -721,9 +828,9 @@ If you're upgrading from an older version of the SDK:
721
828
  import JACK_SDK from '@jack/sdk';
722
829
 
723
830
  // New (both work)
724
- import { JACK_SDK } from '@jack/sdk';
831
+ import { JACK_SDK } from '@jack-kernel/sdk';
725
832
  // or
726
- import JACK_SDK from '@jack/sdk';
833
+ import JACK_SDK from '@jack-kernel/sdk';
727
834
  ```
728
835
 
729
836
  ### Method Changes
@@ -748,10 +855,12 @@ MIT © JACK Team
748
855
 
749
856
  ## Support
750
857
 
751
- - **Documentation**: [Full API Documentation](https://docs.jack.example)
752
- - **Issues**: [GitHub Issues](https://github.com/your-org/jack/issues)
753
- - **Discord**: [Join our community](https://discord.gg/jack)
858
+ - **Documentation**: [https://jack.hashpass.tech/docs](https://jack.hashpass.tech/docs)
859
+ - **Repository**: [https://github.com/hashpass-tech/JACK](https://github.com/hashpass-tech/JACK)
860
+ - **Issues**: [GitHub Issues](https://github.com/hashpass-tech/JACK/issues)
861
+ - **Discord**: [Join our community](https://discord.gg/7k8CdmYHpn)
862
+ - **X (Twitter)**: [@Jack_kernel](https://x.com/Jack_kernel)
754
863
 
755
864
  ## Changelog
756
865
 
757
- See [CHANGELOG.md](./CHANGELOG.md) for release history and migration guides.
866
+ See [CHANGELOG.md](../../CHANGELOG.md) for release history and migration guides.
package/dist/cjs/index.js CHANGED
@@ -1,4 +1,18 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
17
  exports.JACK_SDK = exports.inferMapping = exports.mapStateIntent = exports.mapChannelStatus = exports.mapYellowEvent = exports.extractRevertReason = exports.mapErrorToReasonCode = exports.NitroliteClient = exports.YellowProvider = exports.JackClient = exports.AgentUtils = exports.CostTracker = exports.ExecutionTracker = exports.IntentManager = exports.validateIntentParams = exports.parseIntentParams = exports.serializeIntentParams = exports.getTypedData = exports.RetryError = exports.TimeoutError = exports.ValidationError = exports.APIError = exports.NetworkError = exports.JackError = exports.ExecutionStatus = void 0;
4
18
  // Re-export enums
@@ -57,6 +71,8 @@ const costs_js_2 = require("./costs.js");
57
71
  const agent_js_2 = require("./agent.js");
58
72
  // Import Yellow provider and config for SDK integration
59
73
  const yellow_provider_js_4 = require("./yellow/yellow-provider.js");
74
+ // Import LI.FI provider and types
75
+ const lifi_provider_js_1 = require("./lifi/lifi-provider.js");
60
76
  // Import types and enums for use in this file
61
77
  const types_js_2 = require("./types.js");
62
78
  /**
@@ -111,6 +127,10 @@ class JACK_SDK {
111
127
  * **Validates: Requirements 1.6, 1.7**
112
128
  */
113
129
  yellow;
130
+ /**
131
+ * LI.FI provider - cross-chain quote and route discovery (optional)
132
+ */
133
+ lifi;
114
134
  /**
115
135
  * Internal HTTP client (exposed for advanced use cases)
116
136
  */
@@ -123,7 +143,8 @@ class JACK_SDK {
123
143
  * caching, and custom headers.
124
144
  *
125
145
  * @param config - Client configuration (baseUrl required, other options optional). Optionally includes
126
- * a `yellow` field with YellowSDKConfig to enable Yellow Network integration.
146
+ * a `yellow` field with YellowSDKConfig to enable Yellow Network integration, and/or a `lifi` field
147
+ * with LifiConfig to enable LI.FI integration.
127
148
  * @throws ValidationError if configuration is invalid
128
149
  * @throws Error if YellowProvider initialization fails when yellow config is provided
129
150
  *
@@ -153,6 +174,13 @@ class JACK_SDK {
153
174
  * }
154
175
  * });
155
176
  * console.log(sdk.yellow); // YellowProvider instance
177
+ *
178
+ * // With LI.FI integration
179
+ * const sdk = new JACK_SDK({
180
+ * baseUrl: 'https://api.jack.example',
181
+ * lifi: { integrator: 'jackkernel' }
182
+ * });
183
+ * console.log(sdk.lifi); // LifiProvider instance
156
184
  * ```
157
185
  */
158
186
  constructor(config) {
@@ -167,6 +195,10 @@ class JACK_SDK {
167
195
  if (config.yellow !== undefined) {
168
196
  this.yellow = new yellow_provider_js_4.YellowProvider(config.yellow, config.yellow.walletClient);
169
197
  }
198
+ // Conditionally initialize LI.FI provider
199
+ if (config.lifi !== undefined) {
200
+ this.lifi = new lifi_provider_js_1.LifiProvider(config.lifi);
201
+ }
170
202
  }
171
203
  /**
172
204
  * Convenience method: Submit a signed intent
@@ -292,6 +324,56 @@ class JACK_SDK {
292
324
  getIntentTypedData(params) {
293
325
  return this.intents.getTypedData(params);
294
326
  }
327
+ /**
328
+ * Convenience method: Get a LI.FI quote for intent params
329
+ *
330
+ * Delegates to LifiProvider.fetchQuote(). Throws if the SDK was not
331
+ * initialized with a LI.FI configuration.
332
+ *
333
+ * @param params - Intent parameters
334
+ * @returns Promise resolving to a normalized LifiQuotePayload
335
+ * @throws Error if LI.FI is not configured
336
+ *
337
+ * @example
338
+ * ```typescript
339
+ * const sdk = new JACK_SDK({ baseUrl: '...', lifi: {} });
340
+ * const quote = await sdk.getLifiQuote(params);
341
+ * console.log('Quote:', quote.quote.amountOut);
342
+ * ```
343
+ *
344
+ * **Validates: Requirements 1.6, 1.7**
345
+ */
346
+ async getLifiQuote(params) {
347
+ if (!this.lifi)
348
+ throw new Error('LI.FI not configured');
349
+ return this.lifi.fetchQuote(params);
350
+ }
351
+ /**
352
+ * Convenience method: Get a LI.FI route for intent params
353
+ *
354
+ * Delegates to LifiProvider.fetchRoute(). Throws if the SDK was not
355
+ * initialized with a LI.FI configuration.
356
+ *
357
+ * @param params - Intent parameters
358
+ * @returns Promise resolving to a normalized LifiRoutePayload
359
+ * @throws Error if LI.FI is not configured
360
+ *
361
+ * @example
362
+ * ```typescript
363
+ * const sdk = new JACK_SDK({ baseUrl: '...', lifi: {} });
364
+ * const route = await sdk.getLifiRoute(params);
365
+ * console.log('Route:', route.route?.steps);
366
+ * ```
367
+ *
368
+ * **Validates: Requirements 1.6, 1.7**
369
+ */
370
+ async getLifiRoute(params) {
371
+ if (!this.lifi)
372
+ throw new Error('LI.FI not configured');
373
+ return this.lifi.fetchRoute(params);
374
+ }
295
375
  }
296
376
  exports.JACK_SDK = JACK_SDK;
377
+ // LI.FI integration
378
+ __exportStar(require("./lifi/index.js"), exports);
297
379
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ /**
3
+ * ChainMap — pure mapping module for chain name → chain ID resolution.
4
+ *
5
+ * Lookups are case-insensitive via `name.toLowerCase()`.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.resolveChain = resolveChain;
9
+ exports.getSupportedChains = getSupportedChains;
10
+ /** Default chain name → chain ID mappings. */
11
+ const CHAIN_MAP = {
12
+ arbitrum: 42161,
13
+ optimism: 10,
14
+ base: 8453,
15
+ polygon: 137,
16
+ };
17
+ /**
18
+ * Resolve a human-readable chain name to its numeric chain ID.
19
+ *
20
+ * @param name - Chain name (case-insensitive), e.g. "Arbitrum", "OPTIMISM"
21
+ * @returns A discriminated union: `{ ok: true, chainId }` on success,
22
+ * `{ ok: false, reason }` when the chain is not supported.
23
+ */
24
+ function resolveChain(name) {
25
+ const chainId = CHAIN_MAP[name.toLowerCase()];
26
+ if (chainId !== undefined) {
27
+ return { ok: true, chainId };
28
+ }
29
+ return { ok: false, reason: `Unsupported chain: ${name}` };
30
+ }
31
+ /**
32
+ * Return a copy of the supported chain mappings.
33
+ *
34
+ * @returns A new `Record<string, number>` with all supported chain entries.
35
+ */
36
+ function getSupportedChains() {
37
+ return { ...CHAIN_MAP };
38
+ }
39
+ //# sourceMappingURL=chain-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-map.js","sourceRoot":"","sources":["../../../src/lifi/chain-map.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAqBH,oCAMC;AAOD,gDAEC;AA9BD,8CAA8C;AAC9C,MAAM,SAAS,GAA2B;IACxC,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,GAAG;CACb,CAAC;AAEF;;;;;;GAMG;AACH,SAAgB,YAAY,CAAC,IAAY;IACvC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,IAAI,EAAE,EAAE,CAAC;AAC7D,CAAC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB;IAChC,OAAO,EAAE,GAAG,SAAS,EAAE,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ /**
3
+ * FallbackProvider — generates estimated quotes, routes, and statuses when
4
+ * the LI.FI SDK is unavailable or returns errors.
5
+ *
6
+ * Ported from `apps/dashboard/src/lib/lifi.ts` for reuse across the SDK.
7
+ *
8
+ * @module
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.FALLBACK_RATES = void 0;
12
+ exports.deterministicId = deterministicId;
13
+ exports.buildFallbackQuote = buildFallbackQuote;
14
+ exports.buildFallbackRoute = buildFallbackRoute;
15
+ exports.buildFallbackStatus = buildFallbackStatus;
16
+ const chain_map_js_1 = require("./chain-map.js");
17
+ /**
18
+ * Static exchange rates used when the LI.FI SDK is unavailable.
19
+ * Keys are formatted as `TOKENA:TOKENB` (upper-case).
20
+ */
21
+ exports.FALLBACK_RATES = {
22
+ 'USDC:WETH': 0.0004,
23
+ 'USDC:ETH': 0.0004,
24
+ 'ETH:USDC': 2500,
25
+ 'WETH:USDC': 2500,
26
+ 'ETH:WETH': 1,
27
+ 'WETH:ETH': 1,
28
+ };
29
+ /**
30
+ * Produce a deterministic, human-readable ID from a seed string using the
31
+ * DJB2 hash algorithm.
32
+ *
33
+ * The result has the form `JK-LIFI-{hash}` where `{hash}` is the unsigned
34
+ * 32-bit DJB2 value encoded in upper-case base-36.
35
+ *
36
+ * @param seed - Arbitrary string to hash
37
+ * @returns A deterministic ID of the form `JK-LIFI-[A-Z0-9]+`
38
+ */
39
+ function deterministicId(seed) {
40
+ let hash = 5381;
41
+ for (let i = 0; i < seed.length; i += 1) {
42
+ hash = (hash * 33) ^ seed.charCodeAt(i);
43
+ }
44
+ return `JK-LIFI-${(hash >>> 0).toString(36).toUpperCase()}`;
45
+ }
46
+ /**
47
+ * Build a fallback quote payload when the LI.FI SDK is unavailable.
48
+ *
49
+ * Uses static exchange rates from {@link FALLBACK_RATES} to estimate the
50
+ * output amount. If the token pair is not in the static table the rate
51
+ * defaults to `1`.
52
+ *
53
+ * @param params - The original intent parameters
54
+ * @param reason - Fallback metadata describing why the fallback was triggered
55
+ * @returns A complete {@link LifiQuotePayload} with `provider: 'fallback'`
56
+ */
57
+ function buildFallbackQuote(params, reason) {
58
+ const fromChainRes = (0, chain_map_js_1.resolveChain)(params.sourceChain ?? '');
59
+ const toChainRes = (0, chain_map_js_1.resolveChain)(params.destinationChain ?? '');
60
+ const fromChainId = fromChainRes.ok ? fromChainRes.chainId : 0;
61
+ const toChainId = toChainRes.ok ? toChainRes.chainId : 0;
62
+ const rateKey = `${params.tokenIn}:${params.tokenOut}`.toUpperCase();
63
+ const rate = exports.FALLBACK_RATES[rateKey] ?? 1;
64
+ const amountInNum = Number(params.amountIn || '0');
65
+ const amountOut = Number.isFinite(amountInNum)
66
+ ? (amountInNum * rate).toFixed(6)
67
+ : params.amountIn;
68
+ const seed = `${params.sourceChain}-${params.destinationChain}-${params.tokenIn}-${params.tokenOut}-${params.amountIn}`;
69
+ return {
70
+ provider: 'fallback',
71
+ routeId: deterministicId(seed),
72
+ timestamp: Date.now(),
73
+ quote: {
74
+ amountIn: params.amountIn,
75
+ amountOut,
76
+ minAmountOut: params.minAmountOut,
77
+ fromChainId,
78
+ toChainId,
79
+ fromToken: params.tokenIn,
80
+ toToken: params.tokenOut,
81
+ estimatedGasUsd: '0',
82
+ },
83
+ fallback: reason,
84
+ };
85
+ }
86
+ /**
87
+ * Build a fallback route payload when the LI.FI SDK is unavailable.
88
+ *
89
+ * The route payload contains no execution steps but preserves the chain and
90
+ * token metadata so callers can still display useful information.
91
+ *
92
+ * @param params - The original intent parameters
93
+ * @param reason - Fallback metadata describing why the fallback was triggered
94
+ * @returns A complete {@link LifiRoutePayload} with `provider: 'fallback'`
95
+ */
96
+ function buildFallbackRoute(params, reason) {
97
+ const fromChainRes = (0, chain_map_js_1.resolveChain)(params.sourceChain ?? '');
98
+ const toChainRes = (0, chain_map_js_1.resolveChain)(params.destinationChain ?? '');
99
+ const fromChainId = fromChainRes.ok ? fromChainRes.chainId : 0;
100
+ const toChainId = toChainRes.ok ? toChainRes.chainId : 0;
101
+ const seed = `${params.sourceChain}-${params.destinationChain}-${params.tokenIn}-${params.tokenOut}-${params.amountIn}`;
102
+ return {
103
+ provider: 'fallback',
104
+ routeId: deterministicId(seed),
105
+ timestamp: Date.now(),
106
+ route: {
107
+ fromChainId,
108
+ toChainId,
109
+ fromToken: params.tokenIn,
110
+ toToken: params.tokenOut,
111
+ steps: [],
112
+ tags: [],
113
+ },
114
+ fallback: reason,
115
+ };
116
+ }
117
+ /**
118
+ * Build a fallback status payload when the LI.FI SDK is unavailable.
119
+ *
120
+ * @param txHash - The transaction hash being queried (may be `undefined`)
121
+ * @param reason - Fallback metadata describing why the fallback was triggered
122
+ * @returns A complete {@link LifiStatusPayload} with `provider: 'fallback'`
123
+ */
124
+ function buildFallbackStatus(txHash, reason) {
125
+ return {
126
+ provider: 'fallback',
127
+ timestamp: Date.now(),
128
+ status: {
129
+ state: txHash ? 'UNKNOWN' : 'NOT_AVAILABLE',
130
+ txHash,
131
+ },
132
+ fallback: reason,
133
+ };
134
+ }
135
+ //# sourceMappingURL=fallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../src/lifi/fallback.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ /**
3
+ * Barrel export for the LI.FI integration submodule.
4
+ *
5
+ * Re-exports all public types, classes, and functions from the lifi submodule
6
+ * so consumers can import from a single entry point.
7
+ *
8
+ * @module
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.FALLBACK_RATES = exports.deterministicId = exports.buildFallbackStatus = exports.buildFallbackRoute = exports.buildFallbackQuote = exports.fromBaseUnits = exports.toBaseUnits = exports.getSupportedTokens = exports.resolveToken = exports.getSupportedChains = exports.resolveChain = exports.LifiProvider = void 0;
12
+ // LifiProvider class and config
13
+ var lifi_provider_js_1 = require("./lifi-provider.js");
14
+ Object.defineProperty(exports, "LifiProvider", { enumerable: true, get: function () { return lifi_provider_js_1.LifiProvider; } });
15
+ // Chain resolution
16
+ var chain_map_js_1 = require("./chain-map.js");
17
+ Object.defineProperty(exports, "resolveChain", { enumerable: true, get: function () { return chain_map_js_1.resolveChain; } });
18
+ Object.defineProperty(exports, "getSupportedChains", { enumerable: true, get: function () { return chain_map_js_1.getSupportedChains; } });
19
+ // Token resolution
20
+ var token_map_js_1 = require("./token-map.js");
21
+ Object.defineProperty(exports, "resolveToken", { enumerable: true, get: function () { return token_map_js_1.resolveToken; } });
22
+ Object.defineProperty(exports, "getSupportedTokens", { enumerable: true, get: function () { return token_map_js_1.getSupportedTokens; } });
23
+ // Unit conversion utilities
24
+ var utils_js_1 = require("./utils.js");
25
+ Object.defineProperty(exports, "toBaseUnits", { enumerable: true, get: function () { return utils_js_1.toBaseUnits; } });
26
+ Object.defineProperty(exports, "fromBaseUnits", { enumerable: true, get: function () { return utils_js_1.fromBaseUnits; } });
27
+ // Fallback provider
28
+ var fallback_js_1 = require("./fallback.js");
29
+ Object.defineProperty(exports, "buildFallbackQuote", { enumerable: true, get: function () { return fallback_js_1.buildFallbackQuote; } });
30
+ Object.defineProperty(exports, "buildFallbackRoute", { enumerable: true, get: function () { return fallback_js_1.buildFallbackRoute; } });
31
+ Object.defineProperty(exports, "buildFallbackStatus", { enumerable: true, get: function () { return fallback_js_1.buildFallbackStatus; } });
32
+ Object.defineProperty(exports, "deterministicId", { enumerable: true, get: function () { return fallback_js_1.deterministicId; } });
33
+ Object.defineProperty(exports, "FALLBACK_RATES", { enumerable: true, get: function () { return fallback_js_1.FALLBACK_RATES; } });
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lifi/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,gCAAgC;AAChC,uDAAkD;AAAzC,gHAAA,YAAY,OAAA;AAarB,mBAAmB;AACnB,+CAAkE;AAAzD,4GAAA,YAAY,OAAA;AAAE,kHAAA,kBAAkB,OAAA;AAGzC,mBAAmB;AACnB,+CAAkE;AAAzD,4GAAA,YAAY,OAAA;AAAE,kHAAA,kBAAkB,OAAA;AAGzC,4BAA4B;AAC5B,uCAAwD;AAA/C,uGAAA,WAAW,OAAA;AAAE,yGAAA,aAAa,OAAA;AAEnC,oBAAoB;AACpB,6CAMuB;AALrB,iHAAA,kBAAkB,OAAA;AAClB,iHAAA,kBAAkB,OAAA;AAClB,kHAAA,mBAAmB,OAAA;AACnB,8GAAA,eAAe,OAAA;AACf,6GAAA,cAAc,OAAA"}