@debridge-finance/borderless-validation-sdk 0.4.1 → 0.5.1

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 (160) hide show
  1. package/README.md +15 -0
  2. package/dist/cjs/helpers/solana-hook-instructions.js +66 -0
  3. package/dist/cjs/helpers/solana-hook-instructions.js.map +1 -0
  4. package/dist/cjs/helpers/solana-instruction.js +5 -1
  5. package/dist/cjs/helpers/solana-instruction.js.map +1 -1
  6. package/dist/cjs/helpers/solana-intent-id.js +11 -1
  7. package/dist/cjs/helpers/solana-intent-id.js.map +1 -1
  8. package/dist/cjs/helpers/solana-intent-instruction.js +106 -0
  9. package/dist/cjs/helpers/solana-intent-instruction.js.map +1 -0
  10. package/dist/cjs/types/enums.js +2 -8
  11. package/dist/cjs/types/enums.js.map +1 -1
  12. package/dist/cjs/types/response.js +12 -2
  13. package/dist/cjs/types/response.js.map +1 -1
  14. package/dist/cjs/types/validation.js +30 -0
  15. package/dist/cjs/types/validation.js.map +1 -1
  16. package/dist/cjs/validations/evm-required-actions.js +2 -0
  17. package/dist/cjs/validations/evm-required-actions.js.map +1 -1
  18. package/dist/cjs/validations/evm-sign712-shared.js +2 -5
  19. package/dist/cjs/validations/evm-sign712-shared.js.map +1 -1
  20. package/dist/cjs/validations/evm-transaction-scope.js +29 -0
  21. package/dist/cjs/validations/evm-transaction-scope.js.map +1 -0
  22. package/dist/cjs/validations/hooks-common.js +18 -15
  23. package/dist/cjs/validations/hooks-common.js.map +1 -1
  24. package/dist/cjs/validations/low-input-sweep-bundle.js +94 -0
  25. package/dist/cjs/validations/low-input-sweep-bundle.js.map +1 -0
  26. package/dist/cjs/validations/low-input-sweep-hook.js +204 -0
  27. package/dist/cjs/validations/low-input-sweep-hook.js.map +1 -0
  28. package/dist/cjs/validations/low-input-sweep.js +294 -0
  29. package/dist/cjs/validations/low-input-sweep.js.map +1 -0
  30. package/dist/cjs/validations/on-chain-intent-submission.js +16 -5
  31. package/dist/cjs/validations/on-chain-intent-submission.js.map +1 -1
  32. package/dist/cjs/validations/ptp.js +13 -15
  33. package/dist/cjs/validations/ptp.js.map +1 -1
  34. package/dist/cjs/validations/solana-embedded-intent.js +187 -0
  35. package/dist/cjs/validations/solana-embedded-intent.js.map +1 -0
  36. package/dist/cjs/validations/solana-hook.js +1 -1
  37. package/dist/cjs/validations/solana-hook.js.map +1 -1
  38. package/dist/cjs/validations/solana-intent-accounts.js +99 -0
  39. package/dist/cjs/validations/solana-intent-accounts.js.map +1 -0
  40. package/dist/cjs/validations/solana-low-input-sweep.js +251 -0
  41. package/dist/cjs/validations/solana-low-input-sweep.js.map +1 -0
  42. package/dist/cjs/validations/solana-required-actions.js +6 -2
  43. package/dist/cjs/validations/solana-required-actions.js.map +1 -1
  44. package/dist/cjs/validations/solana-transaction.js +25 -5
  45. package/dist/cjs/validations/solana-transaction.js.map +1 -1
  46. package/dist/cjs/validations/trade-grouping.js +23 -26
  47. package/dist/cjs/validations/trade-grouping.js.map +1 -1
  48. package/dist/cjs/validations/trade-matching.js +21 -13
  49. package/dist/cjs/validations/trade-matching.js.map +1 -1
  50. package/dist/cjs/validations/trades.js +33 -20
  51. package/dist/cjs/validations/trades.js.map +1 -1
  52. package/dist/cjs/validator.js +14 -5
  53. package/dist/cjs/validator.js.map +1 -1
  54. package/dist/cjs/whitelists/environment-config.js +45 -3
  55. package/dist/cjs/whitelists/environment-config.js.map +1 -1
  56. package/dist/cjs/whitelists/types.js.map +1 -1
  57. package/dist/esm/helpers/solana-hook-instructions.js +63 -0
  58. package/dist/esm/helpers/solana-hook-instructions.js.map +1 -0
  59. package/dist/esm/helpers/solana-instruction.js +4 -0
  60. package/dist/esm/helpers/solana-instruction.js.map +1 -1
  61. package/dist/esm/helpers/solana-intent-id.js +10 -1
  62. package/dist/esm/helpers/solana-intent-id.js.map +1 -1
  63. package/dist/esm/helpers/solana-intent-instruction.js +98 -0
  64. package/dist/esm/helpers/solana-intent-instruction.js.map +1 -0
  65. package/dist/esm/types/enums.js +0 -6
  66. package/dist/esm/types/enums.js.map +1 -1
  67. package/dist/esm/types/response.js +12 -2
  68. package/dist/esm/types/response.js.map +1 -1
  69. package/dist/esm/types/validation.js +30 -0
  70. package/dist/esm/types/validation.js.map +1 -1
  71. package/dist/esm/validations/evm-required-actions.js +2 -0
  72. package/dist/esm/validations/evm-required-actions.js.map +1 -1
  73. package/dist/esm/validations/evm-sign712-shared.js +2 -5
  74. package/dist/esm/validations/evm-sign712-shared.js.map +1 -1
  75. package/dist/esm/validations/evm-transaction-scope.js +26 -0
  76. package/dist/esm/validations/evm-transaction-scope.js.map +1 -0
  77. package/dist/esm/validations/hooks-common.js +18 -15
  78. package/dist/esm/validations/hooks-common.js.map +1 -1
  79. package/dist/esm/validations/low-input-sweep-bundle.js +91 -0
  80. package/dist/esm/validations/low-input-sweep-bundle.js.map +1 -0
  81. package/dist/esm/validations/low-input-sweep-hook.js +201 -0
  82. package/dist/esm/validations/low-input-sweep-hook.js.map +1 -0
  83. package/dist/esm/validations/low-input-sweep.js +291 -0
  84. package/dist/esm/validations/low-input-sweep.js.map +1 -0
  85. package/dist/esm/validations/on-chain-intent-submission.js +17 -6
  86. package/dist/esm/validations/on-chain-intent-submission.js.map +1 -1
  87. package/dist/esm/validations/ptp.js +13 -15
  88. package/dist/esm/validations/ptp.js.map +1 -1
  89. package/dist/esm/validations/solana-embedded-intent.js +184 -0
  90. package/dist/esm/validations/solana-embedded-intent.js.map +1 -0
  91. package/dist/esm/validations/solana-hook.js +2 -2
  92. package/dist/esm/validations/solana-hook.js.map +1 -1
  93. package/dist/esm/validations/solana-intent-accounts.js +95 -0
  94. package/dist/esm/validations/solana-intent-accounts.js.map +1 -0
  95. package/dist/esm/validations/solana-low-input-sweep.js +248 -0
  96. package/dist/esm/validations/solana-low-input-sweep.js.map +1 -0
  97. package/dist/esm/validations/solana-required-actions.js +6 -2
  98. package/dist/esm/validations/solana-required-actions.js.map +1 -1
  99. package/dist/esm/validations/solana-transaction.js +25 -5
  100. package/dist/esm/validations/solana-transaction.js.map +1 -1
  101. package/dist/esm/validations/trade-grouping.js +23 -26
  102. package/dist/esm/validations/trade-grouping.js.map +1 -1
  103. package/dist/esm/validations/trade-matching.js +21 -13
  104. package/dist/esm/validations/trade-matching.js.map +1 -1
  105. package/dist/esm/validations/trades.js +33 -20
  106. package/dist/esm/validations/trades.js.map +1 -1
  107. package/dist/esm/validator.js +14 -5
  108. package/dist/esm/validator.js.map +1 -1
  109. package/dist/esm/whitelists/environment-config.js +45 -3
  110. package/dist/esm/whitelists/environment-config.js.map +1 -1
  111. package/dist/esm/whitelists/types.js.map +1 -1
  112. package/dist/types/helpers/solana-hook-instructions.d.ts +14 -0
  113. package/dist/types/helpers/solana-hook-instructions.d.ts.map +1 -0
  114. package/dist/types/helpers/solana-instruction.d.ts +3 -0
  115. package/dist/types/helpers/solana-instruction.d.ts.map +1 -1
  116. package/dist/types/helpers/solana-intent-id.d.ts +5 -0
  117. package/dist/types/helpers/solana-intent-id.d.ts.map +1 -1
  118. package/dist/types/helpers/solana-intent-instruction.d.ts +34 -0
  119. package/dist/types/helpers/solana-intent-instruction.d.ts.map +1 -0
  120. package/dist/types/types/enums.d.ts +0 -4
  121. package/dist/types/types/enums.d.ts.map +1 -1
  122. package/dist/types/types/response.d.ts +71 -1
  123. package/dist/types/types/response.d.ts.map +1 -1
  124. package/dist/types/types/validation.d.ts +29 -0
  125. package/dist/types/types/validation.d.ts.map +1 -1
  126. package/dist/types/validations/evm-required-actions.d.ts.map +1 -1
  127. package/dist/types/validations/evm-sign712-shared.d.ts.map +1 -1
  128. package/dist/types/validations/evm-transaction-scope.d.ts +3 -0
  129. package/dist/types/validations/evm-transaction-scope.d.ts.map +1 -0
  130. package/dist/types/validations/hooks-common.d.ts +2 -1
  131. package/dist/types/validations/hooks-common.d.ts.map +1 -1
  132. package/dist/types/validations/low-input-sweep-bundle.d.ts +3 -0
  133. package/dist/types/validations/low-input-sweep-bundle.d.ts.map +1 -0
  134. package/dist/types/validations/low-input-sweep-hook.d.ts +9 -0
  135. package/dist/types/validations/low-input-sweep-hook.d.ts.map +1 -0
  136. package/dist/types/validations/low-input-sweep.d.ts +15 -0
  137. package/dist/types/validations/low-input-sweep.d.ts.map +1 -0
  138. package/dist/types/validations/on-chain-intent-submission.d.ts.map +1 -1
  139. package/dist/types/validations/ptp.d.ts +3 -2
  140. package/dist/types/validations/ptp.d.ts.map +1 -1
  141. package/dist/types/validations/solana-embedded-intent.d.ts +3 -0
  142. package/dist/types/validations/solana-embedded-intent.d.ts.map +1 -0
  143. package/dist/types/validations/solana-hook.d.ts.map +1 -1
  144. package/dist/types/validations/solana-intent-accounts.d.ts +14 -0
  145. package/dist/types/validations/solana-intent-accounts.d.ts.map +1 -0
  146. package/dist/types/validations/solana-low-input-sweep.d.ts +9 -0
  147. package/dist/types/validations/solana-low-input-sweep.d.ts.map +1 -0
  148. package/dist/types/validations/solana-required-actions.d.ts.map +1 -1
  149. package/dist/types/validations/solana-transaction.d.ts.map +1 -1
  150. package/dist/types/validations/trade-grouping.d.ts +1 -1
  151. package/dist/types/validations/trade-grouping.d.ts.map +1 -1
  152. package/dist/types/validations/trade-matching.d.ts +1 -1
  153. package/dist/types/validations/trade-matching.d.ts.map +1 -1
  154. package/dist/types/validations/trades.d.ts +1 -1
  155. package/dist/types/validations/trades.d.ts.map +1 -1
  156. package/dist/types/validator.d.ts.map +1 -1
  157. package/dist/types/whitelists/environment-config.d.ts.map +1 -1
  158. package/dist/types/whitelists/types.d.ts +1 -0
  159. package/dist/types/whitelists/types.d.ts.map +1 -1
  160. package/package.json +70 -66
@@ -1 +1 @@
1
- {"version":3,"file":"evm-sign712-shared.js","sourceRoot":"","sources":["../../../src/validations/evm-sign712-shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evm-sign712-shared.js","sourceRoot":"","sources":["../../../src/validations/evm-sign712-shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { ViolationCode, EvmActionKind, } from "../types/index.js";
2
+ export function validateIntentScopeEvmTransactionData(actions, basePath) {
3
+ const violations = [];
4
+ for (let i = 0; i < actions.length; i++) {
5
+ const action = actions[i];
6
+ if (action.type !== EvmActionKind.Transaction)
7
+ continue;
8
+ const actionPath = `${basePath}.requiredActions[${i}]`;
9
+ violations.push(...validateTransactionDataHasNoChainId(action, actionPath));
10
+ }
11
+ return violations;
12
+ }
13
+ function validateTransactionDataHasNoChainId(action, actionPath) {
14
+ // HIGH: intent-scope Transaction data must not carry chainId; the parent
15
+ // intent defines the chain for Intent, Budget, and Wrap transactions.
16
+ if (!Object.prototype.hasOwnProperty.call(action.data, "chainId"))
17
+ return [];
18
+ return [{
19
+ code: ViolationCode.TransactionDataChainIdForbiddenInIntentScope,
20
+ message: "intent-scope Transaction data must not include chainId",
21
+ path: `${actionPath}.data.chainId`,
22
+ expected: undefined,
23
+ actual: action.data.chainId,
24
+ }];
25
+ }
26
+ //# sourceMappingURL=evm-transaction-scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm-transaction-scope.js","sourceRoot":"","sources":["../../../src/validations/evm-transaction-scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,EAEb,aAAa,GAChB,MAAM,UAAU,CAAC;AAElB,MAAM,UAAU,qCAAqC,CACjD,OAA4B,EAC5B,QAAgB;IAEhB,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,CAAC,WAAW;YAAE,SAAS;QAExD,MAAM,UAAU,GAAG,GAAG,QAAQ,oBAAoB,CAAC,GAAG,CAAC;QACvD,UAAU,CAAC,IAAI,CAAC,GAAG,mCAAmC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,mCAAmC,CACxC,MAAyB,EACzB,UAAkB;IAElB,yEAAyE;IACzE,sEAAsE;IACtE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC;QAAE,OAAO,EAAE,CAAC;IAE7E,OAAO,CAAC;YACJ,IAAI,EAAE,aAAa,CAAC,4CAA4C;YAChE,OAAO,EAAE,wDAAwD;YACjE,IAAI,EAAE,GAAG,UAAU,eAAe;YAClC,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAG,MAAM,CAAC,IAA8B,CAAC,OAAO;SACzD,CAAC,CAAC;AACP,CAAC"}
@@ -21,12 +21,12 @@ const SOLANA_HOOK_OPERATIONS = [
21
21
  SolanaActionOperation.GasCompensation,
22
22
  ];
23
23
  const SOLANA_HOOK_OPERATIONS_SET = new Set(SOLANA_HOOK_OPERATIONS);
24
- export function validateHooks(request, response, quoteMode, envConfig) {
24
+ export function validateHooks(request, response, quoteMode, envConfig, expectedSweepHooks) {
25
25
  return [
26
26
  ...validateHookAAConstraint(request, response),
27
27
  ...validateRequestHookChainFields(request),
28
- ...validateHookCounts(request, response),
29
- ...validatePreHooks(request, response, quoteMode, envConfig),
28
+ ...validateHookCounts(request, response, expectedSweepHooks.size),
29
+ ...validatePreHooks(request, response, quoteMode, envConfig, expectedSweepHooks),
30
30
  ...validatePostHooks(request, response, quoteMode, envConfig),
31
31
  ];
32
32
  }
@@ -108,24 +108,26 @@ function validateHookAAConstraint(request, response) {
108
108
  }
109
109
  return violations;
110
110
  }
111
- // HIGH: preHooks = request.preHooks + one compensation hook per unique
112
- // gasCompensationInfo group (exact equality — API always adds one per group).
111
+ // HIGH: preHooks = request.preHooks + independently bound sweep transfers +
112
+ // one compensation hook per unique gasCompensationInfo group.
113
113
  // postHooks must match exactly — the API never adds extras to postHooks.
114
- function validateHookCounts(request, response) {
114
+ function validateHookCounts(request, response, sweepHookCount) {
115
115
  const violations = [];
116
116
  const requestPreCount = request.preHooks?.length ?? 0;
117
117
  const requestPostCount = request.postHooks?.length ?? 0;
118
- // preHooks: exactly request.preHooks.length + one per unique gas
119
- // compensation group. If request has no gasCompensationInfo at all, extras
120
- // are forbidden (this also guards against MITM adding preHook entries when
121
- // the user never asked for compensation).
118
+ // preHooks: exactly request.preHooks.length + one per unique request gas
119
+ // compensation group + one per independently matched sweep transfer.
120
+ // Without compensation groups or matched sweeps, extra hooks are forbidden.
121
+ // This guards against MITM injecting unauthorized preHook entries;
122
+ // lowInputSweeps metadata alone does not authorize an extra hook.
122
123
  const compensationGroupCount = extractGasCompensationGroups(request).length;
123
- const expectedPreCount = requestPreCount + compensationGroupCount;
124
+ const expectedPreCount = requestPreCount + compensationGroupCount + sweepHookCount;
124
125
  if (response.preHooks.length !== expectedPreCount) {
125
126
  violations.push({
126
127
  code: ViolationCode.HookCountMismatch,
127
128
  message: "response.preHooks count does not match"
128
- + " request.preHooks.length + unique gasCompensationInfo groups",
129
+ + " request.preHooks.length + unique gasCompensationInfo groups"
130
+ + (sweepHookCount === 0 ? "" : " + bound sweep transfers"),
129
131
  path: "response.preHooks",
130
132
  expected: expectedPreCount,
131
133
  actual: response.preHooks.length,
@@ -144,13 +146,13 @@ function validateHookCounts(request, response) {
144
146
  }
145
147
  return violations;
146
148
  }
147
- function validatePreHooks(request, response, quoteMode, envConfig) {
149
+ function validatePreHooks(request, response, quoteMode, envConfig, expectedSweepHooks) {
148
150
  const violations = [];
149
151
  const requestHooks = request.preHooks ?? [];
150
152
  for (let i = 0; i < response.preHooks.length; i++) {
151
153
  const basePath = `response.preHooks[${i}]`;
152
154
  const hookPayload = response.preHooks[i];
153
- const requestHook = requestHooks[i];
155
+ const requestHook = requestHooks[i] ?? expectedSweepHooks.get(i);
154
156
  violations.push(...validateSingleHookPayload(hookPayload, requestHook, basePath, request, response.trades, getBundleIntentExpirationTimestamp(response), HookMode.PreHooks, quoteMode, envConfig));
155
157
  }
156
158
  return violations;
@@ -198,7 +200,8 @@ function validateSingleHookPayload(hookPayload, requestHook, basePath, request,
198
200
  function validateHookEcho(hookPayload, requestHook, basePath, responseTrades, mode, quoteMode) {
199
201
  // Missing request counterpart — two shapes, both are MITM-safe:
200
202
  // (a) preHook with `i >= request.preHooks.length`:
201
- // legitimate case — compensation hook appended by the API.
203
+ // legitimate case — compensation hook appended by the API. Sweep
204
+ // hooks already have an independently constructed expectation here.
202
205
  // MITM case — attacker injects an arbitrary preHook.
203
206
  // The echo-by-field check can't distinguish them (there's no request
204
207
  // to compare against), so we delegate to the structural compensation
@@ -1 +1 @@
1
- {"version":3,"file":"hooks-common.js","sourceRoot":"","sources":["../../../src/validations/hooks-common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks-common.js","sourceRoot":"","sources":["../../../src/validations/hooks-common.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import { ViolationCode, } from "../types/index.js";
2
+ // Checks the bundle shape before sweep metadata can remove trades from matching.
3
+ // Absent/empty metadata leaves ordinary bundles, including hooks-only bundles, unchanged.
4
+ export function validateLowInputSweepBundle(request, response, quoteMode) {
5
+ const sweepCount = response.lowInputSweeps?.length ?? 0;
6
+ if (sweepCount === 0)
7
+ return [];
8
+ const violations = validateSweepModes(request, quoteMode, sweepCount);
9
+ // CRITICAL: sweeps may request signatures, never user-submitted transfers.
10
+ if (request.enableAccountAbstraction !== true) {
11
+ violations.push({
12
+ code: ViolationCode.LowInputSweepWithoutAA,
13
+ message: "low-input sweeps require enableAccountAbstraction=true",
14
+ path: "request.enableAccountAbstraction",
15
+ expected: true,
16
+ actual: request.enableAccountAbstraction,
17
+ });
18
+ }
19
+ return [
20
+ ...violations,
21
+ ...validateRemainingRequestTrades(request, response),
22
+ ...validateSurvivingResponse(response),
23
+ ];
24
+ }
25
+ // Quote and consolidation never replace trades with sweep transfers.
26
+ function validateSweepModes(request, quoteMode, sweepCount) {
27
+ const violations = [];
28
+ // HIGH: quote responses must not contain sweeps, independently of AA.
29
+ if (quoteMode) {
30
+ violations.push({
31
+ code: ViolationCode.LowInputSweepInQuoteMode,
32
+ message: "lowInputSweeps must be empty or absent in quote mode",
33
+ path: "response.lowInputSweeps",
34
+ expected: 0,
35
+ actual: sweepCount,
36
+ });
37
+ }
38
+ // HIGH: consolidation retains its ordinary matching and partial-fill rules.
39
+ if (request.totalDstAmount !== undefined) {
40
+ violations.push({
41
+ code: ViolationCode.LowInputSweepInConsolidationMode,
42
+ message: "lowInputSweeps must be empty or absent when totalDstAmount is requested",
43
+ path: "response.lowInputSweeps",
44
+ expected: 0,
45
+ actual: sweepCount,
46
+ });
47
+ }
48
+ return violations;
49
+ }
50
+ // Requires at least one request trade not listed in lowInputSweeps.
51
+ // "Remaining" means not replaced by a sweep transfer and still expected to execute as an exchange.
52
+ function validateRemainingRequestTrades(request, response) {
53
+ const indices = new Set(response.lowInputSweeps?.map(sweep => sweep.tradeIndex));
54
+ const remaining = request.trades.filter((_, index) => !indices.has(index));
55
+ // HIGH: at least one request trade must remain an exchange. Duplicate/invalid
56
+ // sweep indices are checked separately and cannot stand in for another trade.
57
+ if (remaining.length > 0)
58
+ return [];
59
+ return [{
60
+ code: ViolationCode.LowInputSweepAllTradesSwept,
61
+ message: "lowInputSweeps must not replace every request trade",
62
+ path: "response.lowInputSweeps",
63
+ actual: { tradeIndices: [...indices], requestTradeCount: request.trades.length },
64
+ }];
65
+ }
66
+ // Requires nonempty response trades and intents for the exchanges not replaced by sweeps.
67
+ // "Surviving" refers to those exchanges; their request/response mapping is checked separately.
68
+ function validateSurvivingResponse(response) {
69
+ const violations = [];
70
+ // HIGH: sweep gas must accompany a surviving exchange, not a transfer-only bundle.
71
+ if (response.trades.length === 0) {
72
+ violations.push({
73
+ code: ViolationCode.LowInputSweepWithoutResponseTrades,
74
+ message: "a response with lowInputSweeps must retain non-swept trades",
75
+ path: "response.trades",
76
+ actual: response.trades,
77
+ });
78
+ }
79
+ // HIGH: a bundle with sweeps must still contain intents for its non-swept trades.
80
+ // Their correspondence to those trades is checked separately.
81
+ if (response.intents.length === 0) {
82
+ violations.push({
83
+ code: ViolationCode.LowInputSweepWithoutIntents,
84
+ message: "a response with lowInputSweeps must retain intents for its non-swept trades",
85
+ path: "response.intents",
86
+ actual: response.intents,
87
+ });
88
+ }
89
+ return violations;
90
+ }
91
+ //# sourceMappingURL=low-input-sweep-bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"low-input-sweep-bundle.js","sourceRoot":"","sources":["../../../src/validations/low-input-sweep-bundle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,201 @@
1
+ import { encodeFunctionData, erc20Abi } from "viem";
2
+ import { BundleHookType, ChainEngine, EvmActionKind, EvmActionOperation, SolanaActionKind, SolanaActionOperation, ViolationCode, } from "../types/index.js";
3
+ import { addressEquals, getChainEngine, isAddressRepresentationValidForChain, isNativeToken } from "../helpers/address.js";
4
+ import { deriveAta } from "../helpers/solana-instruction.js";
5
+ import { decodeTransferCalldata } from "../helpers/evm-calldata.js";
6
+ import { parseIntegerString } from "../helpers/integer.js";
7
+ import { readSolanaSweepTransfer } from "./solana-low-input-sweep.js";
8
+ // CRITICAL: one independently bound transfer hook must cover each sweep.
9
+ // User hooks retain their request positions; among appended hooks, match by
10
+ // source chain, authority, asset and amount rather than trusting metadata order.
11
+ export function matchLowInputSweepHooks(request, response, sweeps, envConfig) {
12
+ const result = { expectedHooks: new Map(), violations: [] };
13
+ for (const sweep of sweeps) {
14
+ const match = findSweepTransfer(request, response, sweep, result.expectedHooks);
15
+ if (match === undefined) {
16
+ result.violations.push({
17
+ code: ViolationCode.LowInputSweepHookMissing,
18
+ message: "low-input sweep must have its own matching native/token transfer preHook",
19
+ path: `response.lowInputSweeps[${sweep.sweepIndex}]`,
20
+ expected: {
21
+ tradeIndex: sweep.requestIndex,
22
+ chainId: sweep.trade.srcChainId,
23
+ tokenAddress: sweep.trade.srcChainTokenIn,
24
+ from: sweep.sender,
25
+ amount: sweep.amount.toString(),
26
+ },
27
+ });
28
+ continue;
29
+ }
30
+ // Binding identifies the hook but does not authorize its recipient or action
31
+ // kinds. Report those violations even when the transfer itself matches.
32
+ result.expectedHooks.set(match.hookIndex, match.expectedHook);
33
+ result.violations.push(...validateSweepRecipient(sweep, match, envConfig));
34
+ result.violations.push(...validateSweepSigningActions(response.preHooks[match.hookIndex].requiredActions, `response.preHooks[${match.hookIndex}]`, sweep.realChainId));
35
+ }
36
+ return result;
37
+ }
38
+ // Finds an unused appended hook matching this sweep. Returns `undefined` if none
39
+ // matches; the caller then reports LowInputSweepHookMissing.
40
+ function findSweepTransfer(request, response, sweep, matchedHooks) {
41
+ const operation = getChainEngine(sweep.realChainId) === ChainEngine.Solana
42
+ ? SolanaActionOperation.Hook : EvmActionOperation.Hook;
43
+ // User-provided hooks keep their request positions and cannot cover an added sweep.
44
+ for (let i = request.preHooks?.length ?? 0; i < response.preHooks.length; i++) {
45
+ // A single hook cannot cover multiple sweep entries.
46
+ if (matchedHooks.has(i))
47
+ continue;
48
+ const payload = response.preHooks[i];
49
+ const hook = payload.hook;
50
+ // Compensation transfers can have identical asset/amount/from values.
51
+ // They must not consume a sweep slot; full action validation still runs.
52
+ if (hook.gasCompensationInfo !== undefined
53
+ || !payload.requiredActions.some(action => action.actions.includes(operation)))
54
+ continue;
55
+ if (hook.chainId !== sweep.trade.srcChainId
56
+ || !addressEquals(sweep.realChainId, hook.from, sweep.sender)) {
57
+ continue;
58
+ }
59
+ const transfer = readMatchingTransfer(hook, sweep);
60
+ if (transfer !== undefined) {
61
+ return {
62
+ hookIndex: i,
63
+ ...transfer,
64
+ expectedHook: buildExpectedSweepHook(hook, sweep, transfer.destinationAddress),
65
+ };
66
+ }
67
+ }
68
+ // The caller reports LowInputSweepHookMissing; no sweep is silently unbound.
69
+ return undefined;
70
+ }
71
+ // Reads a transfer using the source chain's encoding. Returns `undefined` if it
72
+ // cannot be bound to the sweep; destination whitelisting is checked separately.
73
+ function readMatchingTransfer(hook, sweep) {
74
+ if (getChainEngine(sweep.realChainId) === ChainEngine.Solana) {
75
+ return readSolanaSweepTransfer(hook, sweep);
76
+ }
77
+ const recipient = readEvmMatchingTransferRecipient(hook, sweep);
78
+ return recipient === undefined ? undefined : { destinationAddress: recipient };
79
+ }
80
+ // Checks EVM/Tron native or ERC20 transfer encoding and the exact sweep amount.
81
+ // Returns the recipient address, or `undefined` for a malformed/non-matching call.
82
+ function readEvmMatchingTransferRecipient(hook, sweep) {
83
+ if (hook.to === undefined)
84
+ return undefined;
85
+ try {
86
+ const value = parseIntegerString(hook.value ?? "0");
87
+ // Native transfers send the entire amount through value, without calldata.
88
+ if (isNativeToken(sweep.trade.srcChainTokenIn, sweep.realChainId)) {
89
+ return hook.data.toLowerCase() === "0x"
90
+ && value === sweep.amount
91
+ && isAddressRepresentationValidForChain(sweep.realChainId, hook.to)
92
+ ? hook.to : undefined;
93
+ }
94
+ // ERC20 transfers call the requested token contract and must not also send native funds.
95
+ if (value !== 0n
96
+ || !addressEquals(sweep.realChainId, hook.to, sweep.trade.srcChainTokenIn)) {
97
+ return undefined;
98
+ }
99
+ const transfer = decodeTransferCalldata(hook.data);
100
+ const encoded = encodeFunctionData({
101
+ abi: erc20Abi,
102
+ functionName: "transfer",
103
+ args: [transfer.to, sweep.amount],
104
+ });
105
+ // CRITICAL: re-encoding rejects trailing calldata and non-canonical ABI
106
+ // operands that a permissive decoder might otherwise ignore.
107
+ return transfer.amount === sweep.amount
108
+ && encoded.toLowerCase() === hook.data.toLowerCase()
109
+ ? transfer.to : undefined;
110
+ }
111
+ catch {
112
+ // This candidate cannot bind the sweep. Missing bindings are reported by
113
+ // matchLowInputSweepHooks; unmatched appended hooks still undergo their
114
+ // ordinary compensation/count checks.
115
+ return undefined;
116
+ }
117
+ }
118
+ // Builds the expected payload for ordinary hook echo/signing checks after transfer
119
+ // matching. Recipient authorization remains a separate validation step.
120
+ function buildExpectedSweepHook(hook, sweep, recipient) {
121
+ const native = isNativeToken(sweep.trade.srcChainTokenIn, sweep.realChainId);
122
+ const solana = getChainEngine(sweep.realChainId) === ChainEngine.Solana;
123
+ return {
124
+ chainId: sweep.trade.srcChainId,
125
+ from: sweep.sender,
126
+ to: solana ? undefined : (native ? recipient : sweep.trade.srcChainTokenIn),
127
+ // The matched bytes/value encode the verified sweep amount (fixed or
128
+ // API-resolved max-like); preserve spelling for the hook echo checks.
129
+ data: hook.data,
130
+ value: solana ? undefined : hook.value,
131
+ isAtomic: false,
132
+ placeHolders: [],
133
+ // Solana always signs the independently decoded transaction bytes;
134
+ // hook.type does not select a different signing representation there.
135
+ // EVM/Tron sweeps must use Delegated/default, never Direct.
136
+ type: solana ? hook.type
137
+ : (hook.type === BundleHookType.Delegated ? BundleHookType.Delegated : undefined),
138
+ };
139
+ }
140
+ // CRITICAL: a sweep may ask the user to sign, not to submit a transaction.
141
+ // Apply this to every action, including malformed extra/Delegate actions;
142
+ // operation counts and the permitted signing shapes are checked by validateHooks.
143
+ function validateSweepSigningActions(actions, basePath, realChainId) {
144
+ const violations = [];
145
+ const solana = getChainEngine(realChainId) === ChainEngine.Solana;
146
+ const transactionKind = solana ? SolanaActionKind.Transaction : EvmActionKind.Transaction;
147
+ for (let i = 0; i < actions.length; i++) {
148
+ if (actions[i].type !== transactionKind)
149
+ continue;
150
+ violations.push({
151
+ code: solana ? ViolationCode.SolanaForbiddenTransactionWithAA : ViolationCode.ForbiddenTransactionWithAA,
152
+ message: "low-input sweep actions must request signatures, not user transaction submission",
153
+ path: `${basePath}.requiredActions[${i}].type`,
154
+ actual: actions[i].type,
155
+ });
156
+ }
157
+ return violations;
158
+ }
159
+ // Checks the transfer destination against the source chain/environment sweep whitelist.
160
+ // For SPL, whitelist entries are owners and the actual destination must be their ATA.
161
+ function validateSweepRecipient(sweep, match, envConfig) {
162
+ const violations = [];
163
+ const allowedOwners = envConfig.sweepRecipientAddresses[sweep.realChainId] ?? [];
164
+ const allowed = getSweepRecipientDestinations(sweep, match, allowedOwners);
165
+ // CRITICAL: magic intent senders do not authorize sweep recipients. An empty
166
+ // environment/chain whitelist rejects every recipient, rather than disabling
167
+ // this check. SPL destinations are ATAs derived from the whitelisted owners.
168
+ if (!allowed.some(address => addressEquals(sweep.realChainId, address, match.destinationAddress))) {
169
+ const nativeEvm = getChainEngine(sweep.realChainId) !== ChainEngine.Solana
170
+ && isNativeToken(sweep.trade.srcChainTokenIn, sweep.realChainId);
171
+ const field = nativeEvm ? "to" : "data";
172
+ violations.push({
173
+ code: ViolationCode.LowInputSweepRecipientNotWhitelisted,
174
+ message: match.tokenProgram === undefined
175
+ ? "sweep transfer recipient is not whitelisted for the environment and source chain"
176
+ : "sweep token destination must be an ATA of a whitelisted recipient for the source mint",
177
+ path: `response.preHooks[${match.hookIndex}].hook.${field}`,
178
+ expected: allowed,
179
+ actual: match.destinationAddress,
180
+ });
181
+ }
182
+ return violations;
183
+ }
184
+ // Returns directly whitelisted recipients for native/EVM transfers, or derived
185
+ // destination ATAs for SPL. Invalid owner entries authorize no SPL destination.
186
+ function getSweepRecipientDestinations(sweep, match, allowedOwners) {
187
+ const tokenProgram = match.tokenProgram;
188
+ if (tokenProgram === undefined)
189
+ return [...allowedOwners];
190
+ return allowedOwners.flatMap(owner => {
191
+ try {
192
+ return [deriveAta(owner, sweep.trade.srcChainTokenIn, tokenProgram)];
193
+ }
194
+ catch {
195
+ // An invalid whitelist owner cannot authorize a token destination.
196
+ // No matching derived ATA produces LowInputSweepRecipientNotWhitelisted.
197
+ return [];
198
+ }
199
+ });
200
+ }
201
+ //# sourceMappingURL=low-input-sweep-hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"low-input-sweep-hook.js","sourceRoot":"","sources":["../../../src/validations/low-input-sweep-hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACpD,OAAO,EAGH,cAAc,EACd,WAAW,EAEX,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EAIrB,aAAa,GAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,oCAAoC,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxH,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAgBnE,yEAAyE;AACzE,4EAA4E;AAC5E,iFAAiF;AACjF,MAAM,UAAU,uBAAuB,CACnC,OAA8B,EAC9B,QAAgC,EAChC,MAAuC,EACvC,SAA4B;IAE5B,MAAM,MAAM,GAA4B,EAAE,aAAa,EAAE,IAAI,GAAG,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAErF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QAChF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;gBACnB,IAAI,EAAE,aAAa,CAAC,wBAAwB;gBAC5C,OAAO,EAAE,0EAA0E;gBACnF,IAAI,EAAE,2BAA2B,KAAK,CAAC,UAAU,GAAG;gBACpD,QAAQ,EAAE;oBACN,UAAU,EAAE,KAAK,CAAC,YAAY;oBAC9B,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU;oBAC/B,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,eAAe;oBACzC,IAAI,EAAE,KAAK,CAAC,MAAM;oBAClB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;iBAClC;aACJ,CAAC,CAAC;YACH,SAAS;QACb,CAAC;QAED,6EAA6E;QAC7E,wEAAwE;QACxE,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAC9D,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;QAC3E,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,2BAA2B,CACjD,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,eAAe,EAClD,qBAAqB,KAAK,CAAC,SAAS,GAAG,EACvC,KAAK,CAAC,WAAW,CACpB,CAAC,CAAC;IACP,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,iFAAiF;AACjF,6DAA6D;AAC7D,SAAS,iBAAiB,CACtB,OAA8B,EAC9B,QAAgC,EAChC,KAA2B,EAC3B,YAAgD;IAEhD,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,WAAW,CAAC,MAAM;QACtE,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC;IAE3D,oFAAoF;IACpF,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5E,qDAAqD;QACrD,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QAElC,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAE1B,sEAAsE;QACtE,yEAAyE;QACzE,IACI,IAAI,CAAC,mBAAmB,KAAK,SAAS;eACnC,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAE,MAAM,CAAC,OAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC9F,SAAS;QAEX,IACI,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,KAAK,CAAC,UAAU;eACpC,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAC/D,CAAC;YACC,SAAS;QACb,CAAC;QAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACnD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO;gBACH,SAAS,EAAE,CAAC;gBACZ,GAAG,QAAQ;gBACX,YAAY,EAAE,sBAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,kBAAkB,CAAC;aACjF,CAAC;QACN,CAAC;IACL,CAAC;IAED,6EAA6E;IAC7E,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,gFAAgF;AAChF,gFAAgF;AAChF,SAAS,oBAAoB,CACzB,IAAmB,EACnB,KAA2B;IAE3B,IAAI,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;QAC3D,OAAO,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,SAAS,GAAG,gCAAgC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChE,OAAO,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC;AACnF,CAAC;AAED,gFAAgF;AAChF,mFAAmF;AACnF,SAAS,gCAAgC,CACrC,IAAmB,EACnB,KAA2B;IAE3B,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE5C,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;QAEpD,2EAA2E;QAC3E,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YAChE,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI;mBAChC,KAAK,KAAK,KAAK,CAAC,MAAM;mBACtB,oCAAoC,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9B,CAAC;QAED,yFAAyF;QACzF,IACI,KAAK,KAAK,EAAE;eACT,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,EAC5E,CAAC;YACC,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,kBAAkB,CAAC;YAC/B,GAAG,EAAE,QAAQ;YACb,YAAY,EAAE,UAAU;YACxB,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAmB,EAAE,KAAK,CAAC,MAAM,CAAC;SACrD,CAAC,CAAC;QAEH,wEAAwE;QACxE,6DAA6D;QAC7D,OAAO,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;eAChC,OAAO,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACpD,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACL,yEAAyE;QACzE,wEAAwE;QACxE,sCAAsC;QACtC,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC;AAED,mFAAmF;AACnF,wEAAwE;AACxE,SAAS,sBAAsB,CAC3B,IAAmB,EACnB,KAA2B,EAC3B,SAAiB;IAEjB,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,WAAW,CAAC,MAAM,CAAC;IAExE,OAAO;QACH,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU;QAC/B,IAAI,EAAE,KAAK,CAAC,MAAM;QAClB,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC;QAC3E,qEAAqE;QACrE,sEAAsE;QACtE,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK;QACtC,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,EAAE;QAChB,mEAAmE;QACnE,sEAAsE;QACtE,4DAA4D;QAC5D,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;YACpB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;KACxF,CAAC;AACN,CAAC;AAED,2EAA2E;AAC3E,0EAA0E;AAC1E,kFAAkF;AAClF,SAAS,2BAA2B,CAChC,OAAiC,EACjC,QAAgB,EAChB,WAAoB;IAEpB,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,CAAC,KAAK,WAAW,CAAC,MAAM,CAAC;IAClE,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC;IAE1F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe;YAAE,SAAS;QAElD,UAAU,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC,CAAC,aAAa,CAAC,0BAA0B;YACxG,OAAO,EAAE,kFAAkF;YAC3F,IAAI,EAAE,GAAG,QAAQ,oBAAoB,CAAC,QAAQ;YAC9C,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;SAC1B,CAAC,CAAC;IACP,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,wFAAwF;AACxF,sFAAsF;AACtF,SAAS,sBAAsB,CAC3B,KAA2B,EAC3B,KAA2B,EAC3B,SAA4B;IAE5B,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,MAAM,aAAa,GAAG,SAAS,CAAC,uBAAuB,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IACjF,MAAM,OAAO,GAAG,6BAA6B,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IAE3E,6EAA6E;IAC7E,6EAA6E;IAC7E,6EAA6E;IAC7E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC;QAChG,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,WAAW,CAAC,MAAM;eACnE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QAErE,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QAExC,UAAU,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,aAAa,CAAC,oCAAoC;YACxD,OAAO,EAAE,KAAK,CAAC,YAAY,KAAK,SAAS;gBACrC,CAAC,CAAC,kFAAkF;gBACpF,CAAC,CAAC,uFAAuF;YAC7F,IAAI,EAAE,qBAAqB,KAAK,CAAC,SAAS,UAAU,KAAK,EAAE;YAC3D,QAAQ,EAAE,OAAO;YACjB,MAAM,EAAE,KAAK,CAAC,kBAAkB;SACnC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,+EAA+E;AAC/E,gFAAgF;AAChF,SAAS,6BAA6B,CAClC,KAA2B,EAC3B,KAA2B,EAC3B,aAAgC;IAEhC,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IACxC,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,CAAC,GAAG,aAAa,CAAC,CAAC;IAE1D,OAAO,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACjC,IAAI,CAAC;YACD,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;QACzE,CAAC;QAAC,MAAM,CAAC;YACL,mEAAmE;YACnE,yEAAyE;YACzE,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}