@debridge-finance/borderless-validation-sdk 0.0.0-dev-3dc1a82 → 0.0.0-dev-4a73f49

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 (74) hide show
  1. package/dist/cjs/helpers/address.js +22 -0
  2. package/dist/cjs/helpers/address.js.map +1 -1
  3. package/dist/cjs/helpers/evm-dln-hook-pack.js +87 -0
  4. package/dist/cjs/helpers/evm-dln-hook-pack.js.map +1 -0
  5. package/dist/cjs/helpers/evm-intent-id.js +26 -12
  6. package/dist/cjs/helpers/evm-intent-id.js.map +1 -1
  7. package/dist/cjs/helpers/hex.js +24 -0
  8. package/dist/cjs/helpers/hex.js.map +1 -0
  9. package/dist/cjs/types/enums.js +7 -1
  10. package/dist/cjs/types/enums.js.map +1 -1
  11. package/dist/cjs/types/response.js +5 -1
  12. package/dist/cjs/types/response.js.map +1 -1
  13. package/dist/cjs/types/validation.js +7 -0
  14. package/dist/cjs/types/validation.js.map +1 -1
  15. package/dist/cjs/validations/intent-tokens.js +15 -9
  16. package/dist/cjs/validations/intent-tokens.js.map +1 -1
  17. package/dist/cjs/validations/intent.js +23 -23
  18. package/dist/cjs/validations/intent.js.map +1 -1
  19. package/dist/cjs/validations/required-actions.js +5 -2
  20. package/dist/cjs/validations/required-actions.js.map +1 -1
  21. package/dist/cjs/validations/solana-hook.js +2 -5
  22. package/dist/cjs/validations/solana-hook.js.map +1 -1
  23. package/dist/cjs/validations/trade-grouping.js +71 -0
  24. package/dist/cjs/validations/trade-grouping.js.map +1 -1
  25. package/dist/cjs/validations/trades.js +105 -5
  26. package/dist/cjs/validations/trades.js.map +1 -1
  27. package/dist/esm/helpers/address.js +20 -0
  28. package/dist/esm/helpers/address.js.map +1 -1
  29. package/dist/esm/helpers/evm-dln-hook-pack.js +82 -0
  30. package/dist/esm/helpers/evm-dln-hook-pack.js.map +1 -0
  31. package/dist/esm/helpers/evm-intent-id.js +26 -12
  32. package/dist/esm/helpers/evm-intent-id.js.map +1 -1
  33. package/dist/esm/helpers/hex.js +20 -0
  34. package/dist/esm/helpers/hex.js.map +1 -0
  35. package/dist/esm/types/enums.js +6 -0
  36. package/dist/esm/types/enums.js.map +1 -1
  37. package/dist/esm/types/response.js +5 -1
  38. package/dist/esm/types/response.js.map +1 -1
  39. package/dist/esm/types/validation.js +7 -0
  40. package/dist/esm/types/validation.js.map +1 -1
  41. package/dist/esm/validations/intent-tokens.js +15 -9
  42. package/dist/esm/validations/intent-tokens.js.map +1 -1
  43. package/dist/esm/validations/intent.js +21 -21
  44. package/dist/esm/validations/intent.js.map +1 -1
  45. package/dist/esm/validations/required-actions.js +5 -2
  46. package/dist/esm/validations/required-actions.js.map +1 -1
  47. package/dist/esm/validations/solana-hook.js +1 -4
  48. package/dist/esm/validations/solana-hook.js.map +1 -1
  49. package/dist/esm/validations/trade-grouping.js +71 -0
  50. package/dist/esm/validations/trade-grouping.js.map +1 -1
  51. package/dist/esm/validations/trades.js +106 -6
  52. package/dist/esm/validations/trades.js.map +1 -1
  53. package/dist/types/helpers/address.d.ts +2 -0
  54. package/dist/types/helpers/address.d.ts.map +1 -1
  55. package/dist/types/helpers/evm-dln-hook-pack.d.ts +19 -0
  56. package/dist/types/helpers/evm-dln-hook-pack.d.ts.map +1 -0
  57. package/dist/types/helpers/evm-intent-id.d.ts.map +1 -1
  58. package/dist/types/helpers/hex.d.ts +3 -0
  59. package/dist/types/helpers/hex.d.ts.map +1 -0
  60. package/dist/types/types/enums.d.ts +5 -0
  61. package/dist/types/types/enums.d.ts.map +1 -1
  62. package/dist/types/types/response.d.ts +648 -6
  63. package/dist/types/types/response.d.ts.map +1 -1
  64. package/dist/types/types/validation.d.ts +6 -0
  65. package/dist/types/types/validation.d.ts.map +1 -1
  66. package/dist/types/validations/intent-tokens.d.ts +3 -3
  67. package/dist/types/validations/intent-tokens.d.ts.map +1 -1
  68. package/dist/types/validations/intent.d.ts.map +1 -1
  69. package/dist/types/validations/required-actions.d.ts.map +1 -1
  70. package/dist/types/validations/solana-hook.d.ts.map +1 -1
  71. package/dist/types/validations/trade-grouping.d.ts +3 -0
  72. package/dist/types/validations/trade-grouping.d.ts.map +1 -1
  73. package/dist/types/validations/trades.d.ts.map +1 -1
  74. package/package.json +3 -2
@@ -1,6 +1,9 @@
1
+ import { keccak256 } from "viem";
1
2
  import { ViolationCode, } from "../types/index.js";
2
3
  import { resolveChainId } from "../whitelists/subscription-to-chain-id.js";
3
4
  import { addressEquals } from "../helpers/address.js";
5
+ import { serializeDlnHook } from "../helpers/evm-dln-hook-pack.js";
6
+ import { hexEquals, isEmptyHex } from "../helpers/hex.js";
4
7
  // Groups request trades to match them later with response intents.
5
8
  //
6
9
  // Quote mode: groups by srcChainId only (addresses are placeholders).
@@ -77,10 +80,14 @@ export function matchIntentsToGroups(intents, groups, quoteMode) {
77
80
  return true;
78
81
  });
79
82
  if (matched) {
83
+ const subset = selectIntentTrades(matched, intent);
80
84
  contexts.push({
81
85
  intentIndex: i,
82
86
  intentPayload,
83
87
  tradeGroup: matched,
88
+ intentTradeIndices: subset.indices,
89
+ intentTrades: subset.trades,
90
+ intentResponseTrades: subset.responseTrades,
84
91
  });
85
92
  }
86
93
  else {
@@ -160,4 +167,68 @@ function intentDifferentiationKey(intent) {
160
167
  intent.executionMetadata ?? "",
161
168
  ].join("|");
162
169
  }
170
+ // Picks the trades that the API folded into a single intent.
171
+ // API groups trades by `(srcChainId, srcAuthority, dlnHook → externalCallHash,
172
+ // metadata → dlnMetadata, executionMetadata)`, so trades inside one intent
173
+ // share the last three fields with the intent. When all trades in a group
174
+ // share the same key (only one intent exists), the whole group belongs to it.
175
+ function selectIntentTrades(group, intent) {
176
+ // Distinct keys for trades in the group; if every trade has the same key,
177
+ // they all belong to the single intent (no ambiguity).
178
+ const tradeKeys = group.trades.map(t => tradeDifferentiationKey(t));
179
+ const distinct = new Set(tradeKeys);
180
+ if (distinct.size <= 1) {
181
+ return {
182
+ indices: group.trades.map((_, i) => i),
183
+ trades: group.trades.slice(),
184
+ responseTrades: group.responseTrades.slice(),
185
+ };
186
+ }
187
+ const indices = [];
188
+ const trades = [];
189
+ const responseTrades = [];
190
+ for (let i = 0; i < group.trades.length; i++) {
191
+ const trade = group.trades[i];
192
+ if (tradeMatchesIntent(trade, intent)) {
193
+ indices.push(i);
194
+ trades.push(trade);
195
+ responseTrades.push(group.responseTrades[i]);
196
+ }
197
+ }
198
+ // No trade matched — fields the API uses to split a group into intents
199
+ // don't line up with anything in the request. Fall back to the full
200
+ // group: per-intent budget checks may overshoot, but the underlying
201
+ // mismatch is still reported by `validateExternalCallHash` and
202
+ // `validateDlnMetadata`.
203
+ if (indices.length === 0) {
204
+ return {
205
+ indices: group.trades.map((_, i) => i),
206
+ trades: group.trades.slice(),
207
+ responseTrades: group.responseTrades.slice(),
208
+ };
209
+ }
210
+ return { indices, trades, responseTrades };
211
+ }
212
+ function tradeDifferentiationKey(trade) {
213
+ return [computeTradeExternalCallHash(trade) ?? "", trade.metadata ?? ""].join("|");
214
+ }
215
+ function tradeMatchesIntent(trade, intent) {
216
+ return (hexEquals(intent.externalCallHash, computeTradeExternalCallHash(trade))
217
+ && hexEquals(intent.dlnMetadata, trade.metadata)
218
+ && isEmptyHex(intent.executionMetadata));
219
+ }
220
+ // Returns the same hash the API stores in `intent.externalCallHash` for a
221
+ // request trade, or `undefined` when the trade has no hook. Swallows any
222
+ // serialization failure: `validateExternalCallHash` reports it on its own; here
223
+ // we just treat the trade as un-matchable so the fallback in
224
+ // `selectIntentTrades` keeps the broader group intact.
225
+ function computeTradeExternalCallHash(trade) {
226
+ try {
227
+ const packed = serializeDlnHook(trade);
228
+ return packed === undefined ? undefined : keccak256(packed);
229
+ }
230
+ catch {
231
+ return undefined;
232
+ }
233
+ }
163
234
  //# sourceMappingURL=trade-grouping.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trade-grouping.js","sourceRoot":"","sources":["../../../src/validations/trade-grouping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trade-grouping.js","sourceRoot":"","sources":["../../../src/validations/trade-grouping.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ViolationCode, SpecialAmount, } from "../types/index.js";
1
+ import { ViolationCode, SpecialAmount, CostItemType, } from "../types/index.js";
2
2
  import { resolveChainId } from "../whitelists/subscription-to-chain-id.js";
3
3
  import { addressEquals } from "../helpers/address.js";
4
4
  import { validateRelatedIntentIds } from "./trade-intent-consistency.js";
@@ -21,6 +21,7 @@ export function validateTrades(request, response, quoteMode) {
21
21
  if (!quoteMode) {
22
22
  violations.push(...validateRelatedIntentIds(response));
23
23
  }
24
+ violations.push(...validatePartnerCost(request, response));
24
25
  return violations;
25
26
  }
26
27
  function validateSingleTrade(reqTrade, resTrade, tradeIndex, quoteMode) {
@@ -387,7 +388,21 @@ function validateWithoutPartnerFeeAmount(reqTrade, dst, path) {
387
388
  details: e,
388
389
  }];
389
390
  }
390
- // CRITICAL: `withoutPartnerFeeBpsAmount` must be >= amount.
391
+ const isExactOutputMode = reqTrade.srcChainTokenInAmount === SpecialAmount.Auto
392
+ || (reqTrade.dstChainTokenOutAmount !== undefined
393
+ && reqTrade.dstChainTokenOutAmount !== SpecialAmount.Auto);
394
+ if (isExactOutputMode) {
395
+ if (withoutFee < 0n) {
396
+ return [{
397
+ code: ViolationCode.TradeWithoutPartnerFeeAmountMismatch,
398
+ message: "withoutPartnerFeeBpsAmount must be non-negative",
399
+ path: feePath,
400
+ actual: dst.withoutPartnerFeeBpsAmount,
401
+ }];
402
+ }
403
+ return [];
404
+ }
405
+ // CRITICAL: `withoutPartnerFeeBpsAmount` must be >= amount in non-exact-output.
391
406
  // Semantics: `withoutPartnerFee` = "what we'd get without partner fee deduction".
392
407
  // - With partner fee > 0: strictly greater (the fee is deducted from this).
393
408
  // - With partner fee = 0: nominally equal, but API recalculation introduces
@@ -463,8 +478,9 @@ function validateAddressEcho(expected, actual, code, path, fieldName, realChainI
463
478
  function validatePrependedOperatingExpenseCost(reqTrade, resTrade, basePath) {
464
479
  const prependExpenses = reqTrade.prependOperatingExpenses ?? false;
465
480
  const isAuto = reqTrade.srcChainTokenInAmount === SpecialAmount.Auto;
466
- // Only check: when prependOperatingExpenses is false AND not auto → must be zero
467
- if (prependExpenses || isAuto)
481
+ const isMax = reqTrade.srcChainTokenInAmount === SpecialAmount.Max;
482
+ // Only check: when prependOperatingExpenses is false AND not auto/max → must be zero
483
+ if (prependExpenses || isAuto || isMax)
468
484
  return [];
469
485
  // Treat absent field as "0" — the API omits it on secondary trades in a
470
486
  // group (expenses accumulate on the primary trade). For `prepend=false`
@@ -502,11 +518,95 @@ function validatePrependedOperatingExpenseCost(reqTrade, resTrade, basePath) {
502
518
  // =============================================
503
519
  // partnerFeeBps
504
520
  // =============================================
521
+ // API aggregates per-trade partner fees into a single bundle-wide cost item:
522
+ // `amount` is the sum across trades, `feeBps` is taken from the first per-trade
523
+ // entry — which is always trade index 0 since the API preserves request order.
524
+ function validatePartnerCost(request, response) {
525
+ const partnerCosts = response.bundleCosts.filter(c => c.type === CostItemType.PARTNER_COST);
526
+ if (partnerCosts.length === 0) {
527
+ return [{
528
+ code: ViolationCode.PartnerCostMissing,
529
+ message: "bundleCosts[PARTNER_COST] entry is missing",
530
+ path: "response.bundleCosts",
531
+ }];
532
+ }
533
+ const violations = [];
534
+ const partnerCost = partnerCosts[0];
535
+ const path = `response.bundleCosts[PARTNER_COST]`;
536
+ let amount;
537
+ try {
538
+ amount = BigInt(partnerCost.amount);
539
+ }
540
+ catch (error) {
541
+ return [{
542
+ code: ViolationCode.PartnerCostAmountInvalid,
543
+ message: "PARTNER_COST.amount is not a valid integer",
544
+ path: `${path}.amount`,
545
+ actual: partnerCost.amount,
546
+ details: error,
547
+ }];
548
+ }
549
+ if (amount < 0n) {
550
+ violations.push({
551
+ code: ViolationCode.PartnerCostAmountInvalid,
552
+ message: "PARTNER_COST.amount must be non-negative",
553
+ path: `${path}.amount`,
554
+ actual: partnerCost.amount,
555
+ });
556
+ }
557
+ const feeBps = partnerCost.feeBps;
558
+ if (feeBps !== undefined && feeBps < 0) {
559
+ violations.push({
560
+ code: ViolationCode.PartnerCostFeeBpsInvalid,
561
+ message: "PARTNER_COST.feeBps must be non-negative",
562
+ path: `${path}.feeBps`,
563
+ actual: feeBps,
564
+ });
565
+ }
566
+ const requestedFees = request.trades.map(t => t.partnerFeeBps ?? 0);
567
+ const anyNonZero = requestedFees.some(b => b > 0);
568
+ // CRITICAL: when no trade has a partner fee, the aggregated amount must be zero.
569
+ if (!anyNonZero && amount !== 0n) {
570
+ violations.push({
571
+ code: ViolationCode.PartnerCostAmountUnexpectedlyNonZero,
572
+ message: "PARTNER_COST.amount must be 0 when no trade has partnerFeeBps > 0",
573
+ path: `${path}.amount`,
574
+ expected: "0",
575
+ actual: partnerCost.amount,
576
+ });
577
+ }
578
+ // CRITICAL: when at least one trade has a partner fee, the aggregated amount must be > 0.
579
+ if (anyNonZero && amount === 0n) {
580
+ violations.push({
581
+ code: ViolationCode.PartnerCostAmountUnexpectedlyZero,
582
+ message: "PARTNER_COST.amount must be > 0 when at least one trade has partnerFeeBps > 0",
583
+ path: `${path}.amount`,
584
+ actual: partnerCost.amount,
585
+ });
586
+ }
587
+ // CRITICAL: feeBps must echo request.trades[0].partnerFeeBps (or 0 when omitted).
588
+ if (feeBps !== undefined && request.trades.length > 0) {
589
+ const expected = requestedFees[0];
590
+ if (feeBps !== expected) {
591
+ violations.push({
592
+ code: ViolationCode.PartnerCostFeeBpsMismatch,
593
+ message: "PARTNER_COST.feeBps does not match request.trades[0].partnerFeeBps",
594
+ path: `${path}.feeBps`,
595
+ expected,
596
+ actual: feeBps,
597
+ });
598
+ }
599
+ }
600
+ return violations;
601
+ }
602
+ // Soft-check: API does not currently echo `response.trades[].partnerFeeBps`.
603
+ // Authoritative source is `bundleCosts[PARTNER_COST]` (see `validatePartnerCost`).
505
604
  function validatePartnerFeeBps(reqTrade, resTrade, basePath) {
506
- // Only check if partnerFeeBps is specified in request.
507
605
  if (reqTrade.partnerFeeBps === undefined)
508
606
  return [];
509
- // CRITICAL: partnerFeeBps must match request value
607
+ if (resTrade.partnerFeeBps === undefined)
608
+ return [];
609
+ // LOW: forward-compat — if API ever starts echoing the field, it must match.
510
610
  if (resTrade.partnerFeeBps !== reqTrade.partnerFeeBps) {
511
611
  return [{
512
612
  code: ViolationCode.TradePartnerFeeBpsMismatch,
@@ -1 +1 @@
1
- {"version":3,"file":"trades.js","sourceRoot":"","sources":["../../../src/validations/trades.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trades.js","sourceRoot":"","sources":["../../../src/validations/trades.ts"],"names":[],"mappings":"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"}
@@ -7,5 +7,7 @@ export declare function normalizeAddress(chainId: number, address: string): stri
7
7
  export declare function detectChainEngine(address: string): ChainEngine;
8
8
  export declare function normalizeAddressByValue(address: string): string;
9
9
  export declare function addressEquals(chainId: number, a: string, b: string): boolean;
10
+ export declare function addressToHex(chainId: number, address: string): `0x${string}`;
11
+ export declare function addressToHexByValue(address: string): `0x${string}`;
10
12
  export declare function isNativeToken(address: string, chainId: number): boolean;
11
13
  //# sourceMappingURL=address.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../../src/helpers/address.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAW,MAAM,gBAAgB,CAAC;AAItD,eAAO,MAAM,mBAAmB,uCAAuC,CAAC;AAExE,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAI3D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAOtD;AAKD,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAK/D;AAGD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAGzE;AAID,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAI9D;AAGD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/D;AAUD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAE5E;AAGD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CASvE"}
1
+ {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../../src/helpers/address.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAW,MAAM,gBAAgB,CAAC;AAItD,eAAO,MAAM,mBAAmB,uCAAuC,CAAC;AAExE,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAI3D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAOtD;AAKD,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAK/D;AAGD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAGzE;AAID,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAI9D;AAGD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/D;AAUD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAE5E;AAKD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAE5E;AAID,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAElE;AAaD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CASvE"}
@@ -0,0 +1,19 @@
1
+ import { RequestTrade } from "../types";
2
+ type EvmHookV1Data = {
3
+ fallbackAddress: string;
4
+ target: string;
5
+ reward: string;
6
+ isNonAtomic: boolean;
7
+ isSuccessRequired: boolean;
8
+ targetPayload: string;
9
+ };
10
+ type EvmTransactionCallData = {
11
+ to: string;
12
+ calldata: string;
13
+ gas?: number | string;
14
+ };
15
+ export declare function packEvmHookV1(data: EvmHookV1Data): `0x${string}`;
16
+ export declare function packEvmTransactionCall(data: EvmTransactionCallData, dstChainAuthorityAddress: string): `0x${string}`;
17
+ export declare function serializeDlnHook(trade: RequestTrade): `0x${string}` | undefined;
18
+ export {};
19
+ //# sourceMappingURL=evm-dln-hook-pack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm-dln-hook-pack.d.ts","sourceRoot":"","sources":["../../../src/helpers/evm-dln-hook-pack.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAkBxC,KAAK,aAAa,GAAG;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB,CAAC;AAOF,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,KAAK,MAAM,EAAE,CAahE;AASD,wBAAgB,sBAAsB,CAClC,IAAI,EAAE,sBAAsB,EAC5B,wBAAwB,EAAE,MAAM,GACjC,KAAK,MAAM,EAAE,CAyBf;AAMD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,MAAM,EAAE,GAAG,SAAS,CAuB/E"}
@@ -1 +1 @@
1
- {"version":3,"file":"evm-intent-id.d.ts","sourceRoot":"","sources":["../../../src/helpers/evm-intent-id.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1C,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAI9D"}
1
+ {"version":3,"file":"evm-intent-id.d.ts","sourceRoot":"","sources":["../../../src/helpers/evm-intent-id.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAK1C,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAI9D"}
@@ -0,0 +1,3 @@
1
+ export declare function isEmptyHex(value: string | undefined): boolean;
2
+ export declare function hexEquals(a: string | undefined, b: string | undefined): boolean;
3
+ //# sourceMappingURL=hex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hex.d.ts","sourceRoot":"","sources":["../../../src/helpers/hex.ts"],"names":[],"mappings":"AAGA,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAI7D;AAKD,wBAAgB,SAAS,CACrB,CAAC,EAAE,MAAM,GAAG,SAAS,EACrB,CAAC,EAAE,MAAM,GAAG,SAAS,GACtB,OAAO,CAOT"}
@@ -29,6 +29,11 @@ export declare enum SpecialAmount {
29
29
  export declare enum SpecialChainId {
30
30
  Any = "any"
31
31
  }
32
+ export declare enum DlnHookType {
33
+ SolanaSerializedInstructions = "solana_serialized_instructions",
34
+ EvmTransactionCall = "evm_transaction_call",
35
+ EvmHookV1 = "evm_hook_data_v1"
36
+ }
32
37
  export declare enum EvmActionKind {
33
38
  Transaction = "Transaction",
34
39
  Sign7702Authorization = "Sign7702Authorization",
@@ -1 +1 @@
1
- {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/types/enums.ts"],"names":[],"mappings":"AAEA,oBAAY,OAAO;IACf,SAAS,cAAc;IACvB,KAAK,UAAU;CAClB;AAID,oBAAY,gBAAgB;IACxB,MAAM,WAAW;CACpB;AAED,oBAAY,iBAAiB;IACzB,SAAS,cAAc;IACvB,kBAAkB,uBAAuB;IACzC,IAAI,SAAS;CAChB;AAED,oBAAY,YAAY;IACpB,OAAO,YAAY;IACnB,MAAM,WAAW;CACpB;AAED,oBAAY,cAAc;IACtB,SAAS,cAAc;IACvB,MAAM,WAAW;CACpB;AAED,oBAAY,eAAe;IACvB,KAAK,UAAU;IACf,QAAQ,aAAa;CACxB;AAED,oBAAY,aAAa;IACrB,GAAG,QAAQ;IACX,IAAI,SAAS;CAChB;AAED,oBAAY,cAAc;IACtB,GAAG,QAAQ;CACd;AAID,oBAAY,aAAa;IACrB,WAAW,gBAAgB;IAC3B,qBAAqB,0BAA0B;IAC/C,OAAO,YAAY;IACnB,sBAAsB,oBAAoB;IAC1C,sCAAsC,oCAAoC;IAC1E,mBAAmB,wBAAwB;IAC3C,MAAM,WAAW;IACjB,OAAO,YAAY;CACtB;AAED,oBAAY,kBAAkB;IAC1B,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,eAAe,oBAAoB;CACtC;AAID,oBAAY,gBAAgB;IACxB,WAAW,gBAAgB;IAC3B,IAAI,SAAS;IACb,eAAe,oBAAoB;CACtC;AAED,oBAAY,qBAAqB;IAC7B,MAAM,WAAW;IACjB,YAAY,iBAAiB;IAC7B,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,eAAe,oBAAoB;CACtC;AAID,oBAAY,YAAY;IACpB,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;CAChC;AAKD,oBAAY,WAAW;IACnB,GAAG,IAAA;IACH,IAAI,IAAA;IACJ,MAAM,IAAA;CACT;AAID,oBAAY,OAAO;IAGf,QAAQ,IAAI;IAEZ,QAAQ,IAAI;IACZ,QAAQ,KAAK;IACb,MAAM,KAAK;IACX,GAAG,KAAK;IACR,MAAM,MAAM;IACZ,OAAO,MAAM;IACb,KAAK,MAAM;IACX,KAAK,MAAM;IACX,IAAI,MAAM;IACV,QAAQ,MAAM;IACd,KAAK,OAAO;IACZ,GAAG,OAAO;IACV,KAAK,OAAO;IACZ,SAAS,OAAO;IAChB,OAAO,OAAO;IACd,MAAM,OAAO;IACb,IAAI,OAAO;IACX,KAAK,QAAQ;IACb,QAAQ,QAAQ;IAChB,SAAS,QAAQ;IACjB,GAAG,QAAQ;IACX,IAAI,YAAY;IAChB,MAAM,UAAU;IAChB,IAAI,YAAY;CACnB;AAKD,oBAAY,cAAc;IACtB,QAAQ,IAAmB;IAC3B,QAAQ,KAAmB;IAC3B,GAAG,KAAc;IACjB,OAAO,MAAkB;IACzB,QAAQ,QAAmB;IAC3B,SAAS,QAAoB;IAC7B,KAAK,QAAgB;IACrB,IAAI,OAAe;IACnB,MAAM,UAAiB;IAEvB,IAAI,YAAY;IAChB,MAAM,YAAY;IAClB,KAAK,YAAY;IACjB,IAAI,YAAY;IAChB,KAAK,YAAY;IACjB,KAAK,YAAY;IACjB,MAAM,YAAY;IAClB,GAAG,YAAY;IACf,QAAQ,YAAY;IACpB,MAAM,YAAY;IAClB,IAAI,YAAY;IAChB,GAAG,YAAY;IACf,SAAS,YAAY;IACrB,KAAK,YAAY;IACjB,OAAO,YAAY;CACtB"}
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/types/enums.ts"],"names":[],"mappings":"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"}