@debridge-finance/borderless-validation-sdk 0.3.1 → 0.4.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 (284) hide show
  1. package/README.md +120 -11
  2. package/dist/cjs/graylists/evm/token-permit-metadata.js +7 -1
  3. package/dist/cjs/graylists/evm/token-permit-metadata.js.map +1 -1
  4. package/dist/cjs/helpers/address.js +139 -63
  5. package/dist/cjs/helpers/address.js.map +1 -1
  6. package/dist/cjs/helpers/amount.js +8 -0
  7. package/dist/cjs/helpers/amount.js.map +1 -0
  8. package/dist/cjs/helpers/evm-dln-hook-pack.js +16 -4
  9. package/dist/cjs/helpers/evm-dln-hook-pack.js.map +1 -1
  10. package/dist/cjs/helpers/evm-gas-compensation-tx.js +11 -26
  11. package/dist/cjs/helpers/evm-gas-compensation-tx.js.map +1 -1
  12. package/dist/cjs/helpers/evm-intent-id-abi.js +8 -1
  13. package/dist/cjs/helpers/evm-intent-id-abi.js.map +1 -1
  14. package/dist/cjs/helpers/evm-trade-amounts.js +11 -3
  15. package/dist/cjs/helpers/evm-trade-amounts.js.map +1 -1
  16. package/dist/cjs/helpers/expected-delegate.js +2 -6
  17. package/dist/cjs/helpers/expected-delegate.js.map +1 -1
  18. package/dist/cjs/helpers/gas-compensation.js +8 -4
  19. package/dist/cjs/helpers/gas-compensation.js.map +1 -1
  20. package/dist/cjs/helpers/interactions.js +4 -20
  21. package/dist/cjs/helpers/interactions.js.map +1 -1
  22. package/dist/cjs/helpers/synthetic-native-wrap.js +3 -2
  23. package/dist/cjs/helpers/synthetic-native-wrap.js.map +1 -1
  24. package/dist/cjs/types/enums.js +1 -0
  25. package/dist/cjs/types/enums.js.map +1 -1
  26. package/dist/cjs/types/request.js +15 -2
  27. package/dist/cjs/types/request.js.map +1 -1
  28. package/dist/cjs/types/response.js +2 -1
  29. package/dist/cjs/types/response.js.map +1 -1
  30. package/dist/cjs/types/validation.js +21 -3
  31. package/dist/cjs/types/validation.js.map +1 -1
  32. package/dist/cjs/validations/compensation-hook.js +4 -5
  33. package/dist/cjs/validations/compensation-hook.js.map +1 -1
  34. package/dist/cjs/validations/cost-token.js +9 -1
  35. package/dist/cjs/validations/cost-token.js.map +1 -1
  36. package/dist/cjs/validations/echo-fields.js +18 -0
  37. package/dist/cjs/validations/echo-fields.js.map +1 -1
  38. package/dist/cjs/validations/evm-caveats.js +3 -0
  39. package/dist/cjs/validations/evm-caveats.js.map +1 -1
  40. package/dist/cjs/validations/evm-on-chain-intent.js +150 -0
  41. package/dist/cjs/validations/evm-on-chain-intent.js.map +1 -0
  42. package/dist/cjs/validations/evm-op-budget.js +23 -3
  43. package/dist/cjs/validations/evm-op-budget.js.map +1 -1
  44. package/dist/cjs/validations/evm-op-hook.js +6 -6
  45. package/dist/cjs/validations/evm-op-hook.js.map +1 -1
  46. package/dist/cjs/validations/evm-permit.js +17 -6
  47. package/dist/cjs/validations/evm-permit.js.map +1 -1
  48. package/dist/cjs/validations/evm-permit2.js +14 -6
  49. package/dist/cjs/validations/evm-permit2.js.map +1 -1
  50. package/dist/cjs/validations/evm-required-actions.js +26 -7
  51. package/dist/cjs/validations/evm-required-actions.js.map +1 -1
  52. package/dist/cjs/validations/evm-sign712-metamask.js +3 -126
  53. package/dist/cjs/validations/evm-sign712-metamask.js.map +1 -1
  54. package/dist/cjs/validations/evm-sign712-shared.js +127 -0
  55. package/dist/cjs/validations/evm-sign712-shared.js.map +1 -1
  56. package/dist/cjs/validations/evm-sign712.js +18 -2
  57. package/dist/cjs/validations/evm-sign712.js.map +1 -1
  58. package/dist/cjs/validations/evm-sign7702.js +2 -0
  59. package/dist/cjs/validations/evm-sign7702.js.map +1 -1
  60. package/dist/cjs/validations/evm-transaction.js +7 -1
  61. package/dist/cjs/validations/evm-transaction.js.map +1 -1
  62. package/dist/cjs/validations/external-call.js +9 -20
  63. package/dist/cjs/validations/external-call.js.map +1 -1
  64. package/dist/cjs/validations/hook-version.js +35 -0
  65. package/dist/cjs/validations/hook-version.js.map +1 -0
  66. package/dist/cjs/validations/hooks-common.js +74 -199
  67. package/dist/cjs/validations/hooks-common.js.map +1 -1
  68. package/dist/cjs/validations/intent-destinations.js +52 -50
  69. package/dist/cjs/validations/intent-destinations.js.map +1 -1
  70. package/dist/cjs/validations/intent-tokens.js +319 -79
  71. package/dist/cjs/validations/intent-tokens.js.map +1 -1
  72. package/dist/cjs/validations/intent.js +34 -26
  73. package/dist/cjs/validations/intent.js.map +1 -1
  74. package/dist/cjs/validations/max-reserved.js +54 -0
  75. package/dist/cjs/validations/max-reserved.js.map +1 -0
  76. package/dist/cjs/validations/on-chain-intent-submission.js +70 -0
  77. package/dist/cjs/validations/on-chain-intent-submission.js.map +1 -0
  78. package/dist/cjs/validations/ptp.js +9 -6
  79. package/dist/cjs/validations/ptp.js.map +1 -1
  80. package/dist/cjs/validations/refill.js +11 -5
  81. package/dist/cjs/validations/refill.js.map +1 -1
  82. package/dist/cjs/validations/solana-hook.js +12 -64
  83. package/dist/cjs/validations/solana-hook.js.map +1 -1
  84. package/dist/cjs/validations/solana-op-budget.js +1 -1
  85. package/dist/cjs/validations/solana-op-budget.js.map +1 -1
  86. package/dist/cjs/validations/solana-op-wrap.js +29 -47
  87. package/dist/cjs/validations/solana-op-wrap.js.map +1 -1
  88. package/dist/cjs/validations/solana-required-actions.js +2 -2
  89. package/dist/cjs/validations/solana-required-actions.js.map +1 -1
  90. package/dist/cjs/validations/solana-transaction.js +4 -53
  91. package/dist/cjs/validations/solana-transaction.js.map +1 -1
  92. package/dist/cjs/validations/total-dst-amount.js +19 -3
  93. package/dist/cjs/validations/total-dst-amount.js.map +1 -1
  94. package/dist/cjs/validations/trade-grouping.js +35 -9
  95. package/dist/cjs/validations/trade-grouping.js.map +1 -1
  96. package/dist/cjs/validations/trade-matching.js +1 -1
  97. package/dist/cjs/validations/trade-matching.js.map +1 -1
  98. package/dist/cjs/validations/trades.js +29 -9
  99. package/dist/cjs/validations/trades.js.map +1 -1
  100. package/dist/cjs/validator.js +28 -17
  101. package/dist/cjs/validator.js.map +1 -1
  102. package/dist/cjs/whitelists/environment-config.js +9 -22
  103. package/dist/cjs/whitelists/environment-config.js.map +1 -1
  104. package/dist/cjs/whitelists/types.js +2 -5
  105. package/dist/cjs/whitelists/types.js.map +1 -1
  106. package/dist/esm/graylists/evm/token-permit-metadata.js +7 -1
  107. package/dist/esm/graylists/evm/token-permit-metadata.js.map +1 -1
  108. package/dist/esm/helpers/address.js +133 -61
  109. package/dist/esm/helpers/address.js.map +1 -1
  110. package/dist/esm/helpers/amount.js +5 -0
  111. package/dist/esm/helpers/amount.js.map +1 -0
  112. package/dist/esm/helpers/evm-dln-hook-pack.js +15 -4
  113. package/dist/esm/helpers/evm-dln-hook-pack.js.map +1 -1
  114. package/dist/esm/helpers/evm-gas-compensation-tx.js +12 -27
  115. package/dist/esm/helpers/evm-gas-compensation-tx.js.map +1 -1
  116. package/dist/esm/helpers/evm-intent-id-abi.js +7 -0
  117. package/dist/esm/helpers/evm-intent-id-abi.js.map +1 -1
  118. package/dist/esm/helpers/evm-trade-amounts.js +12 -4
  119. package/dist/esm/helpers/evm-trade-amounts.js.map +1 -1
  120. package/dist/esm/helpers/expected-delegate.js +2 -6
  121. package/dist/esm/helpers/expected-delegate.js.map +1 -1
  122. package/dist/esm/helpers/gas-compensation.js +9 -5
  123. package/dist/esm/helpers/gas-compensation.js.map +1 -1
  124. package/dist/esm/helpers/interactions.js +5 -21
  125. package/dist/esm/helpers/interactions.js.map +1 -1
  126. package/dist/esm/helpers/synthetic-native-wrap.js +4 -3
  127. package/dist/esm/helpers/synthetic-native-wrap.js.map +1 -1
  128. package/dist/esm/types/enums.js +1 -0
  129. package/dist/esm/types/enums.js.map +1 -1
  130. package/dist/esm/types/request.js +15 -2
  131. package/dist/esm/types/request.js.map +1 -1
  132. package/dist/esm/types/response.js +3 -2
  133. package/dist/esm/types/response.js.map +1 -1
  134. package/dist/esm/types/validation.js +21 -3
  135. package/dist/esm/types/validation.js.map +1 -1
  136. package/dist/esm/validations/compensation-hook.js +4 -5
  137. package/dist/esm/validations/compensation-hook.js.map +1 -1
  138. package/dist/esm/validations/cost-token.js +9 -1
  139. package/dist/esm/validations/cost-token.js.map +1 -1
  140. package/dist/esm/validations/echo-fields.js +18 -0
  141. package/dist/esm/validations/echo-fields.js.map +1 -1
  142. package/dist/esm/validations/evm-caveats.js +3 -0
  143. package/dist/esm/validations/evm-caveats.js.map +1 -1
  144. package/dist/esm/validations/evm-on-chain-intent.js +147 -0
  145. package/dist/esm/validations/evm-on-chain-intent.js.map +1 -0
  146. package/dist/esm/validations/evm-op-budget.js +25 -5
  147. package/dist/esm/validations/evm-op-budget.js.map +1 -1
  148. package/dist/esm/validations/evm-op-hook.js +8 -8
  149. package/dist/esm/validations/evm-op-hook.js.map +1 -1
  150. package/dist/esm/validations/evm-permit.js +18 -7
  151. package/dist/esm/validations/evm-permit.js.map +1 -1
  152. package/dist/esm/validations/evm-permit2.js +15 -7
  153. package/dist/esm/validations/evm-permit2.js.map +1 -1
  154. package/dist/esm/validations/evm-required-actions.js +28 -9
  155. package/dist/esm/validations/evm-required-actions.js.map +1 -1
  156. package/dist/esm/validations/evm-sign712-metamask.js +4 -126
  157. package/dist/esm/validations/evm-sign712-metamask.js.map +1 -1
  158. package/dist/esm/validations/evm-sign712-shared.js +126 -1
  159. package/dist/esm/validations/evm-sign712-shared.js.map +1 -1
  160. package/dist/esm/validations/evm-sign712.js +17 -2
  161. package/dist/esm/validations/evm-sign712.js.map +1 -1
  162. package/dist/esm/validations/evm-sign7702.js +2 -0
  163. package/dist/esm/validations/evm-sign7702.js.map +1 -1
  164. package/dist/esm/validations/evm-transaction.js +7 -1
  165. package/dist/esm/validations/evm-transaction.js.map +1 -1
  166. package/dist/esm/validations/external-call.js +10 -21
  167. package/dist/esm/validations/external-call.js.map +1 -1
  168. package/dist/esm/validations/hook-version.js +31 -0
  169. package/dist/esm/validations/hook-version.js.map +1 -0
  170. package/dist/esm/validations/hooks-common.js +75 -200
  171. package/dist/esm/validations/hooks-common.js.map +1 -1
  172. package/dist/esm/validations/intent-destinations.js +53 -51
  173. package/dist/esm/validations/intent-destinations.js.map +1 -1
  174. package/dist/esm/validations/intent-tokens.js +320 -80
  175. package/dist/esm/validations/intent-tokens.js.map +1 -1
  176. package/dist/esm/validations/intent.js +34 -26
  177. package/dist/esm/validations/intent.js.map +1 -1
  178. package/dist/esm/validations/max-reserved.js +51 -0
  179. package/dist/esm/validations/max-reserved.js.map +1 -0
  180. package/dist/esm/validations/on-chain-intent-submission.js +67 -0
  181. package/dist/esm/validations/on-chain-intent-submission.js.map +1 -0
  182. package/dist/esm/validations/ptp.js +9 -6
  183. package/dist/esm/validations/ptp.js.map +1 -1
  184. package/dist/esm/validations/refill.js +11 -5
  185. package/dist/esm/validations/refill.js.map +1 -1
  186. package/dist/esm/validations/solana-hook.js +12 -64
  187. package/dist/esm/validations/solana-hook.js.map +1 -1
  188. package/dist/esm/validations/solana-op-budget.js +1 -1
  189. package/dist/esm/validations/solana-op-budget.js.map +1 -1
  190. package/dist/esm/validations/solana-op-wrap.js +30 -48
  191. package/dist/esm/validations/solana-op-wrap.js.map +1 -1
  192. package/dist/esm/validations/solana-required-actions.js +2 -2
  193. package/dist/esm/validations/solana-required-actions.js.map +1 -1
  194. package/dist/esm/validations/solana-transaction.js +4 -53
  195. package/dist/esm/validations/solana-transaction.js.map +1 -1
  196. package/dist/esm/validations/total-dst-amount.js +20 -4
  197. package/dist/esm/validations/total-dst-amount.js.map +1 -1
  198. package/dist/esm/validations/trade-grouping.js +35 -10
  199. package/dist/esm/validations/trade-grouping.js.map +1 -1
  200. package/dist/esm/validations/trade-matching.js +1 -1
  201. package/dist/esm/validations/trade-matching.js.map +1 -1
  202. package/dist/esm/validations/trades.js +29 -9
  203. package/dist/esm/validations/trades.js.map +1 -1
  204. package/dist/esm/validator.js +28 -17
  205. package/dist/esm/validator.js.map +1 -1
  206. package/dist/esm/whitelists/environment-config.js +8 -21
  207. package/dist/esm/whitelists/environment-config.js.map +1 -1
  208. package/dist/esm/whitelists/types.js +3 -6
  209. package/dist/esm/whitelists/types.js.map +1 -1
  210. package/dist/types/graylists/evm/token-permit-metadata.d.ts.map +1 -1
  211. package/dist/types/helpers/address.d.ts +9 -5
  212. package/dist/types/helpers/address.d.ts.map +1 -1
  213. package/dist/types/helpers/amount.d.ts +2 -0
  214. package/dist/types/helpers/amount.d.ts.map +1 -0
  215. package/dist/types/helpers/evm-dln-hook-pack.d.ts +1 -0
  216. package/dist/types/helpers/evm-dln-hook-pack.d.ts.map +1 -1
  217. package/dist/types/helpers/evm-gas-compensation-tx.d.ts +1 -3
  218. package/dist/types/helpers/evm-gas-compensation-tx.d.ts.map +1 -1
  219. package/dist/types/helpers/evm-intent-id-abi.d.ts +111 -0
  220. package/dist/types/helpers/evm-intent-id-abi.d.ts.map +1 -1
  221. package/dist/types/helpers/evm-trade-amounts.d.ts.map +1 -1
  222. package/dist/types/helpers/expected-delegate.d.ts.map +1 -1
  223. package/dist/types/helpers/gas-compensation.d.ts.map +1 -1
  224. package/dist/types/helpers/interactions.d.ts.map +1 -1
  225. package/dist/types/helpers/synthetic-native-wrap.d.ts.map +1 -1
  226. package/dist/types/types/enums.d.ts +1 -0
  227. package/dist/types/types/enums.d.ts.map +1 -1
  228. package/dist/types/types/request.d.ts +32 -23
  229. package/dist/types/types/request.d.ts.map +1 -1
  230. package/dist/types/types/response.d.ts +10 -42
  231. package/dist/types/types/response.d.ts.map +1 -1
  232. package/dist/types/types/validation.d.ts +19 -4
  233. package/dist/types/types/validation.d.ts.map +1 -1
  234. package/dist/types/validations/compensation-hook.d.ts +1 -2
  235. package/dist/types/validations/compensation-hook.d.ts.map +1 -1
  236. package/dist/types/validations/cost-token.d.ts.map +1 -1
  237. package/dist/types/validations/echo-fields.d.ts.map +1 -1
  238. package/dist/types/validations/evm-caveats.d.ts.map +1 -1
  239. package/dist/types/validations/evm-on-chain-intent.d.ts +4 -0
  240. package/dist/types/validations/evm-on-chain-intent.d.ts.map +1 -0
  241. package/dist/types/validations/evm-op-budget.d.ts.map +1 -1
  242. package/dist/types/validations/evm-op-hook.d.ts.map +1 -1
  243. package/dist/types/validations/evm-permit.d.ts.map +1 -1
  244. package/dist/types/validations/evm-permit2.d.ts.map +1 -1
  245. package/dist/types/validations/evm-required-actions.d.ts.map +1 -1
  246. package/dist/types/validations/evm-sign712-metamask.d.ts +0 -11
  247. package/dist/types/validations/evm-sign712-metamask.d.ts.map +1 -1
  248. package/dist/types/validations/evm-sign712-shared.d.ts +12 -0
  249. package/dist/types/validations/evm-sign712-shared.d.ts.map +1 -1
  250. package/dist/types/validations/evm-sign712.d.ts +1 -0
  251. package/dist/types/validations/evm-sign712.d.ts.map +1 -1
  252. package/dist/types/validations/evm-sign7702.d.ts.map +1 -1
  253. package/dist/types/validations/evm-transaction.d.ts +1 -1
  254. package/dist/types/validations/evm-transaction.d.ts.map +1 -1
  255. package/dist/types/validations/external-call.d.ts.map +1 -1
  256. package/dist/types/validations/hook-version.d.ts +7 -0
  257. package/dist/types/validations/hook-version.d.ts.map +1 -0
  258. package/dist/types/validations/hooks-common.d.ts +1 -4
  259. package/dist/types/validations/hooks-common.d.ts.map +1 -1
  260. package/dist/types/validations/intent-destinations.d.ts.map +1 -1
  261. package/dist/types/validations/intent-tokens.d.ts.map +1 -1
  262. package/dist/types/validations/max-reserved.d.ts +3 -0
  263. package/dist/types/validations/max-reserved.d.ts.map +1 -0
  264. package/dist/types/validations/on-chain-intent-submission.d.ts +3 -0
  265. package/dist/types/validations/on-chain-intent-submission.d.ts.map +1 -0
  266. package/dist/types/validations/ptp.d.ts.map +1 -1
  267. package/dist/types/validations/refill.d.ts.map +1 -1
  268. package/dist/types/validations/solana-hook.d.ts +1 -2
  269. package/dist/types/validations/solana-hook.d.ts.map +1 -1
  270. package/dist/types/validations/solana-op-wrap.d.ts +2 -2
  271. package/dist/types/validations/solana-op-wrap.d.ts.map +1 -1
  272. package/dist/types/validations/solana-required-actions.d.ts.map +1 -1
  273. package/dist/types/validations/solana-transaction.d.ts +3 -3
  274. package/dist/types/validations/solana-transaction.d.ts.map +1 -1
  275. package/dist/types/validations/total-dst-amount.d.ts.map +1 -1
  276. package/dist/types/validations/trade-grouping.d.ts +1 -0
  277. package/dist/types/validations/trade-grouping.d.ts.map +1 -1
  278. package/dist/types/validations/trades.d.ts.map +1 -1
  279. package/dist/types/validator.d.ts.map +1 -1
  280. package/dist/types/whitelists/environment-config.d.ts +0 -1
  281. package/dist/types/whitelists/environment-config.d.ts.map +1 -1
  282. package/dist/types/whitelists/types.d.ts +0 -1
  283. package/dist/types/whitelists/types.d.ts.map +1 -1
  284. package/package.json +5 -2
@@ -12,6 +12,7 @@ const trade_grouping_1 = require("./validations/trade-grouping");
12
12
  const accumulative_token_1 = require("./validations/accumulative-token");
13
13
  const cost_token_1 = require("./validations/cost-token");
14
14
  const ptp_1 = require("./validations/ptp");
15
+ const max_reserved_1 = require("./validations/max-reserved");
15
16
  const total_dst_amount_1 = require("./validations/total-dst-amount");
16
17
  const dln_metadata_1 = require("./validations/dln-metadata");
17
18
  const external_call_1 = require("./validations/external-call");
@@ -21,17 +22,16 @@ const interactions_1 = require("./validations/interactions");
21
22
  const environment_config_1 = require("./whitelists/environment-config");
22
23
  const synthetic_native_wrap_1 = require("./helpers/synthetic-native-wrap");
23
24
  const quote_mode_1 = require("./helpers/quote-mode");
25
+ const on_chain_intent_submission_1 = require("./validations/on-chain-intent-submission");
26
+ const hook_version_1 = require("./validations/hook-version");
24
27
  const SUPPORTED_VALIDATION_VERSION = 1n;
25
28
  const COMPATIBLE_VALIDATION_VERSION_ALIASES = new Set(["2"]);
26
29
  function createValidator(config) {
27
30
  const envConfig = (0, environment_config_1.buildEnvironmentConfig)(config.environment);
28
- const options = {
29
- allowLegacyHookV1: config.allowLegacyHookV1 ?? true,
30
- };
31
31
  return {
32
32
  validate(url, request, response) {
33
33
  try {
34
- return validateInternal(url, request, response, envConfig, options);
34
+ return validateInternal(url, request, response, envConfig);
35
35
  }
36
36
  catch (error) {
37
37
  return createUnexpectedValidationError(error);
@@ -40,7 +40,7 @@ function createValidator(config) {
40
40
  };
41
41
  }
42
42
  function validateInternal(_url, // TODO: not validated now, enable in the future
43
- request, response, envConfig, options) {
43
+ request, response, envConfig) {
44
44
  const higherVersionViolation = validateSupportedValidationVersion(response);
45
45
  if (higherVersionViolation !== undefined) {
46
46
  return { ok: false, violations: [higherVersionViolation] };
@@ -49,15 +49,25 @@ request, response, envConfig, options) {
49
49
  // TODO: uncomment in the future to enable url validation
50
50
  // violations.push(...validateUrl(url));
51
51
  const reqResult = types_1.BundleCreationRequestSchema.safeParse(request);
52
+ if (!reqResult.success) {
53
+ const resResult = types_1.BundleCreationResponseSchema.safeParse(response);
54
+ violations.push(...buildStructureViolations(reqResult, resResult));
55
+ return { ok: false, violations };
56
+ }
57
+ const unsupportedHookViolations = (0, hook_version_1.validateSupportedRequestHookShapes)(reqResult.data);
58
+ if (unsupportedHookViolations.length > 0) {
59
+ // Reject unsupported request semantics before parsing the response so a
60
+ // transformed V1 echo cannot hide the real cause behind a response-side
61
+ // structural violation.
62
+ return { ok: false, violations: unsupportedHookViolations };
63
+ }
64
+ const supportedRequest = reqResult.data;
52
65
  const resResult = types_1.BundleCreationResponseSchema.safeParse(response);
53
- violations.push(...buildStructureViolations(reqResult, resResult));
54
- if (!reqResult.success || !resResult.success) {
55
- // If the structure is invalid, we can't do any meaningful validation,
56
- // so we do not continue with field validations and just report
57
- // the structure issues.
66
+ if (!resResult.success) {
67
+ violations.push(...buildStructureViolations(reqResult, resResult));
58
68
  return { ok: false, violations };
59
69
  }
60
- violations.push(...validateBundleCreation(reqResult.data, resResult.data, envConfig, options));
70
+ violations.push(...validateBundleCreation(supportedRequest, resResult.data, envConfig));
61
71
  return {
62
72
  ok: violations.length === 0,
63
73
  violations,
@@ -129,11 +139,11 @@ function createUnexpectedValidationError(error) {
129
139
  }],
130
140
  };
131
141
  }
132
- function validateBundleCreation(request, response, envConfig, options) {
133
- const context = buildBundleValidationContext(request, response, envConfig, options);
142
+ function validateBundleCreation(request, response, envConfig) {
143
+ const context = buildBundleValidationContext(request, response, envConfig);
134
144
  return runBundleValidations(context);
135
145
  }
136
- function buildBundleValidationContext(request, response, envConfig, options) {
146
+ function buildBundleValidationContext(request, response, envConfig) {
137
147
  const modes = detectBundleModes(request, response);
138
148
  const tradeMatch = (0, trade_matching_1.matchTrades)(request.trades, response.trades, modes.quoteMode, modes.consolidationMode);
139
149
  const groupResult = (0, trade_grouping_1.groupTrades)(request.trades, response.trades, modes.quoteMode, modes.consolidationMode, tradeMatch.pairs);
@@ -142,7 +152,6 @@ function buildBundleValidationContext(request, response, envConfig, options) {
142
152
  request,
143
153
  response,
144
154
  envConfig,
145
- options,
146
155
  modes,
147
156
  tradeMatch,
148
157
  groups: groupResult.groups,
@@ -160,12 +169,14 @@ function detectBundleModes(request, response) {
160
169
  };
161
170
  }
162
171
  function runBundleValidations(context) {
163
- const { request, response, envConfig, options, modes } = context;
172
+ const { request, response, envConfig, modes } = context;
164
173
  return [
165
174
  ...(0, echo_fields_1.validateEchoFields)(request, response),
175
+ ...(0, on_chain_intent_submission_1.validateOnChainIntentSubmission)(request),
166
176
  ...context.tradeMatch.violations,
167
177
  ...(0, trades_1.validateTrades)(request, response, modes.quoteMode, context.tradeMatch.pairs),
168
178
  ...(0, accumulative_token_1.validateAccumulativeTokens)(response, modes.quoteMode, modes.quoteGroupingUnverifiable),
179
+ ...(0, max_reserved_1.validateMaxReservedRequest)(request),
169
180
  ...(0, total_dst_amount_1.validateTotalDstAmount)(request, response),
170
181
  ...(0, cost_token_1.validateCostToken)(request, response),
171
182
  ...(0, ptp_1.validatePtp)(request, response),
@@ -178,7 +189,7 @@ function runBundleValidations(context) {
178
189
  ...(0, interactions_1.validateIntentInteractions)(context.intentContexts),
179
190
  ...(0, intent_1.validateIntents)(context.intentContexts, modes.quoteMode, envConfig, modes.syntheticNativeWrapMode),
180
191
  ...(0, required_actions_1.validateRequiredActions)(request, response, context.intentContexts, modes.quoteMode, envConfig, modes.syntheticNativeWrapMode),
181
- ...(0, hooks_common_1.validateHooks)(request, response, modes.quoteMode, envConfig, options),
192
+ ...(0, hooks_common_1.validateHooks)(request, response, modes.quoteMode, envConfig),
182
193
  ];
183
194
  }
184
195
  // TODO: enable in the future
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SOLANA_ALLOWANCE_HOLDER_ENABLED_BY_ENVIRONMENT = exports.SOLANA_ALLOWANCE_HOLDER_BY_ENVIRONMENT = exports.SOLANA_DELEGATE_ADDRESSES_BY_ENVIRONMENT = exports.SOLANA_INTENT_PROGRAM_BY_ENVIRONMENT = exports.METAMASK_CHAINS = exports.EVM_CHAINS_ENABLED_FOR_INTENTS = exports.SOLANA_MAGIC_ANY_TRUSTED_SOLVER_ADDRESS = exports.TRON_MAGIC_ANY_TRUSTED_SOLVER_ADDRESS = exports.EVM_MAGIC_ANY_TRUSTED_SOLVER_ADDRESS = exports.PROD_TRON_SOLVER_EXECUTOR = exports.TEST_TRON_SOLVER_EXECUTOR = exports.GASLESS_EVM_SOLVER_EXECUTOR = exports.PROD_EVM_SOLVER_EXECUTOR = exports.TEST_EVM_SOLVER_EXECUTOR = void 0;
3
+ exports.SOLANA_ALLOWANCE_HOLDER_ENABLED_BY_ENVIRONMENT = exports.SOLANA_ALLOWANCE_HOLDER_BY_ENVIRONMENT = exports.SOLANA_INTENT_PROGRAM_BY_ENVIRONMENT = exports.METAMASK_CHAINS = exports.EVM_CHAINS_ENABLED_FOR_INTENTS = exports.SOLANA_MAGIC_ANY_TRUSTED_SOLVER_ADDRESS = exports.TRON_MAGIC_ANY_TRUSTED_SOLVER_ADDRESS = exports.EVM_MAGIC_ANY_TRUSTED_SOLVER_ADDRESS = exports.PROD_TRON_SOLVER_EXECUTOR = exports.TEST_TRON_SOLVER_EXECUTOR = exports.GASLESS_EVM_SOLVER_EXECUTOR = exports.PROD_EVM_SOLVER_EXECUTOR = exports.TEST_EVM_SOLVER_EXECUTOR = void 0;
4
4
  exports.buildEnvironmentConfig = buildEnvironmentConfig;
5
5
  const web3_js_1 = require("@solana/web3.js");
6
6
  const enums_1 = require("../types/enums");
@@ -112,10 +112,7 @@ const EVM_AND_TRON_DELEGATES_BY_ENVIRONMENT = {
112
112
  ...(0, types_1.buildSameAddressesMap)(exports.EVM_CHAINS_ENABLED_FOR_INTENTS, [exports.PROD_EVM_SOLVER_EXECUTOR]),
113
113
  [enums_1.ChainId.Tron]: [exports.PROD_TRON_SOLVER_EXECUTOR],
114
114
  },
115
- [validation_1.Environment.Gasless]: (0, types_1.buildSameAddressesMap)(exports.EVM_CHAINS_ENABLED_FOR_INTENTS, [
116
- exports.GASLESS_EVM_SOLVER_EXECUTOR,
117
- PROD_EVM_EOA_DELEGATE, // TODO: to be deleted in the next release
118
- ]),
115
+ [validation_1.Environment.Gasless]: (0, types_1.buildSameAddressesMap)(exports.EVM_CHAINS_ENABLED_FOR_INTENTS, [exports.GASLESS_EVM_SOLVER_EXECUTOR]),
119
116
  };
120
117
  const METAMASK_CHAINS_BY_ENVIRONMENT = {
121
118
  [validation_1.Environment.Dev]: exports.METAMASK_CHAINS,
@@ -136,17 +133,6 @@ exports.SOLANA_INTENT_PROGRAM_BY_ENVIRONMENT = {
136
133
  [validation_1.Environment.Prod]: PROD_SOLANA_INTENT_MANAGER,
137
134
  [validation_1.Environment.Gasless]: PROD_SOLANA_INTENT_MANAGER,
138
135
  };
139
- exports.SOLANA_DELEGATE_ADDRESSES_BY_ENVIRONMENT = {
140
- [validation_1.Environment.Dev]: [
141
- DEV_SOLANA_DELEGATE_ONE,
142
- PROD_SOLANA_DELEGATE,
143
- GASLESS_SOLANA_DELEGATE,
144
- DEV_SOLANA_DELEGATE_TWO,
145
- DEV_SOLANA_DELEGATE_THREE,
146
- ],
147
- [validation_1.Environment.Prod]: [PROD_SOLANA_DELEGATE],
148
- [validation_1.Environment.Gasless]: [GASLESS_SOLANA_DELEGATE],
149
- };
150
136
  exports.SOLANA_ALLOWANCE_HOLDER_BY_ENVIRONMENT = {
151
137
  [validation_1.Environment.Dev]: PROD_SOLANA_ALLOWANCE_HOLDER,
152
138
  [validation_1.Environment.Prod]: PROD_SOLANA_ALLOWANCE_HOLDER,
@@ -171,14 +157,17 @@ const SRC_ALLOWED_SENDERS_BY_ENVIRONMENT = {
171
157
  exports.TRON_MAGIC_ANY_TRUSTED_SOLVER_ADDRESS,
172
158
  ],
173
159
  [enums_1.ChainId.Solana]: [
174
- ...exports.SOLANA_DELEGATE_ADDRESSES_BY_ENVIRONMENT[validation_1.Environment.Dev],
160
+ PROD_SOLANA_DELEGATE,
161
+ GASLESS_SOLANA_DELEGATE,
162
+ DEV_SOLANA_DELEGATE_ONE,
163
+ DEV_SOLANA_DELEGATE_TWO,
164
+ DEV_SOLANA_DELEGATE_THREE,
175
165
  exports.SOLANA_MAGIC_ANY_TRUSTED_SOLVER_ADDRESS,
176
166
  ],
177
167
  },
178
168
  [validation_1.Environment.Prod]: {
179
169
  ...(0, types_1.buildSameAddressesMap)(exports.EVM_CHAINS_ENABLED_FOR_INTENTS, [
180
170
  exports.PROD_EVM_SOLVER_EXECUTOR,
181
- exports.TEST_EVM_SOLVER_EXECUTOR, // TODO: to be deleted in the next release
182
171
  exports.EVM_MAGIC_ANY_TRUSTED_SOLVER_ADDRESS,
183
172
  ]),
184
173
  [enums_1.ChainId.Tron]: [
@@ -186,18 +175,17 @@ const SRC_ALLOWED_SENDERS_BY_ENVIRONMENT = {
186
175
  exports.TRON_MAGIC_ANY_TRUSTED_SOLVER_ADDRESS,
187
176
  ],
188
177
  [enums_1.ChainId.Solana]: [
189
- ...exports.SOLANA_DELEGATE_ADDRESSES_BY_ENVIRONMENT[validation_1.Environment.Prod],
178
+ PROD_SOLANA_DELEGATE,
190
179
  exports.SOLANA_MAGIC_ANY_TRUSTED_SOLVER_ADDRESS,
191
180
  ],
192
181
  },
193
182
  [validation_1.Environment.Gasless]: {
194
183
  ...(0, types_1.buildSameAddressesMap)(exports.EVM_CHAINS_ENABLED_FOR_INTENTS, [
195
184
  exports.GASLESS_EVM_SOLVER_EXECUTOR,
196
- exports.TEST_EVM_SOLVER_EXECUTOR, // TODO: to be deleted in the next release
197
185
  exports.EVM_MAGIC_ANY_TRUSTED_SOLVER_ADDRESS,
198
186
  ]),
199
187
  [enums_1.ChainId.Solana]: [
200
- ...exports.SOLANA_DELEGATE_ADDRESSES_BY_ENVIRONMENT[validation_1.Environment.Gasless],
188
+ GASLESS_SOLANA_DELEGATE,
201
189
  exports.SOLANA_MAGIC_ANY_TRUSTED_SOLVER_ADDRESS,
202
190
  ],
203
191
  },
@@ -248,7 +236,6 @@ function buildEnvironmentConfig(environment) {
248
236
  solanaIntentProgram,
249
237
  solanaAllowanceHolder: exports.SOLANA_ALLOWANCE_HOLDER_BY_ENVIRONMENT[environment],
250
238
  solanaAllowanceHolderEnabled: exports.SOLANA_ALLOWANCE_HOLDER_ENABLED_BY_ENVIRONMENT[environment],
251
- solanaDelegateAddresses: exports.SOLANA_DELEGATE_ADDRESSES_BY_ENVIRONMENT[environment],
252
239
  solanaTransactionAllowedPrograms: buildTransactionAllowedPrograms(solanaIntentProgram),
253
240
  solanaSignTransactionAllowedPrograms: buildSignTransactionAllowedPrograms(solanaIntentProgram),
254
241
  solanaExpectedStatePdaBase58: computeStatePdaBase58(solanaIntentProgram),
@@ -1 +1 @@
1
- {"version":3,"file":"environment-config.js","sourceRoot":"","sources":["../../../src/whitelists/environment-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"environment-config.js","sourceRoot":"","sources":["../../../src/whitelists/environment-config.ts"],"names":[],"mappings":"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"}
@@ -50,16 +50,13 @@ function isWhitelisted(map, chainId, address) {
50
50
  // Different chains have different address formats, so we must check chain-specific list before wildcard.
51
51
  const chainSpecific = map[chainId];
52
52
  if (chainSpecific) {
53
- const normalized = (0, address_1.normalizeAddress)(chainId, address);
54
- return chainSpecific.some(a => (0, address_1.normalizeAddress)(chainId, a) === normalized);
53
+ return chainSpecific.some(allowed => (0, address_1.addressEquals)(chainId, allowed, address));
55
54
  }
56
55
  // Fallback to wildcard (chainId 0).
57
56
  // Wildcard always uses EVM hex format — convert non-EVM addresses.
58
57
  const wildcard = map[enums_1.ChainId.Wildcard];
59
58
  if (!wildcard)
60
59
  return false;
61
- const evmAddress = engine === enums_1.ChainEngine.Tron ? (0, address_1.tronAddressToEvmHex)(address) : address;
62
- const normalized = evmAddress.toLowerCase();
63
- return wildcard.some(a => a.toLowerCase() === normalized);
60
+ return wildcard.some(allowed => (0, address_1.isEvmHexAddress)(allowed) && (0, address_1.addressEquals)(chainId, allowed, address));
64
61
  }
65
62
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/whitelists/types.ts"],"names":[],"mappings":";;AAiBA,kDAKC;AAGD,sDASC;AAID,sDAkBC;AA8BD,sCA6BC;AAnHD,gDAK4B;AAC5B,0CAAsD;AAStD,8EAA8E;AAC9E,gFAAgF;AAChF,SAAgB,mBAAmB,CAC/B,MAA0B,EAC1B,OAAe;IAEf,OAAO,qBAAqB,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,uEAAuE;AACvE,SAAgB,qBAAqB,CACjC,MAA0B,EAC1B,SAA4B;IAE5B,MAAM,GAAG,GAAoB,EAAE,CAAC;IAChC,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;QAC3B,GAAG,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IAC7B,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED,+EAA+E;AAC/E,8CAA8C;AAC9C,SAAgB,qBAAqB,CAAC,GAAG,IAAgC;IACrE,MAAM,MAAM,GAAoB,EAAE,CAAC;IAEnC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACxD,IAAI,SAAS,KAAK,SAAS;gBAAE,SAAS;YAEtC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAY,CAAC;YAC9C,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5C,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;gBAC9B,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAA,uBAAa,EAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAAE,SAAS;gBACjF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;YACD,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;QAC7B,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AA8BD,SAAgB,aAAa,CACzB,GAAoB,EACpB,OAAgB,EAChB,OAAe;IAEf,MAAM,MAAM,GAAG,IAAA,wBAAc,EAAC,OAAO,CAAC,CAAC;IAEvC,IAAI,MAAM,KAAK,mBAAW,CAAC,MAAM,EAAE,CAAC;QAChC,iEAAiE;QACjE,kFAAkF;QAClF,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC5F,CAAC;IAED,sCAAsC;IACtC,yGAAyG;IACzG,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,aAAa,EAAE,CAAC;QAChB,MAAM,UAAU,GAAG,IAAA,0BAAgB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtD,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,0BAAgB,EAAC,OAAO,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC;IAChF,CAAC;IAED,oCAAoC;IACpC,mEAAmE;IACnE,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAE5B,MAAM,UAAU,GAAG,MAAM,KAAK,mBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,6BAAmB,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACxF,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IAC5C,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/whitelists/types.ts"],"names":[],"mappings":";;AAgBA,kDAKC;AAGD,sDASC;AAID,sDAkBC;AA6BD,sCA4BC;AAhHD,gDAI4B;AAC5B,0CAAsD;AAStD,8EAA8E;AAC9E,gFAAgF;AAChF,SAAgB,mBAAmB,CAC/B,MAA0B,EAC1B,OAAe;IAEf,OAAO,qBAAqB,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,uEAAuE;AACvE,SAAgB,qBAAqB,CACjC,MAA0B,EAC1B,SAA4B;IAE5B,MAAM,GAAG,GAAoB,EAAE,CAAC;IAChC,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;QAC3B,GAAG,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IAC7B,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED,+EAA+E;AAC/E,8CAA8C;AAC9C,SAAgB,qBAAqB,CAAC,GAAG,IAAgC;IACrE,MAAM,MAAM,GAAoB,EAAE,CAAC;IAEnC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACxD,IAAI,SAAS,KAAK,SAAS;gBAAE,SAAS;YAEtC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAY,CAAC;YAC9C,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5C,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;gBAC9B,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAA,uBAAa,EAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAAE,SAAS;gBACjF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;YACD,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;QAC7B,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AA6BD,SAAgB,aAAa,CACzB,GAAoB,EACpB,OAAgB,EAChB,OAAe;IAEf,MAAM,MAAM,GAAG,IAAA,wBAAc,EAAC,OAAO,CAAC,CAAC;IAEvC,IAAI,MAAM,KAAK,mBAAW,CAAC,MAAM,EAAE,CAAC;QAChC,iEAAiE;QACjE,kFAAkF;QAClF,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC5F,CAAC;IAED,sCAAsC;IACtC,yGAAyG;IACzG,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,aAAa,EAAE,CAAC;QAChB,OAAO,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAA,uBAAa,EAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,oCAAoC;IACpC,mEAAmE;IACnE,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAE5B,OAAO,QAAQ,CAAC,IAAI,CAChB,OAAO,CAAC,EAAE,CAAC,IAAA,yBAAe,EAAC,OAAO,CAAC,IAAI,IAAA,uBAAa,EAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAClF,CAAC;AACN,CAAC"}
@@ -3,6 +3,7 @@
3
3
  // best-effort validation. If a value is absent from a graylist, the
4
4
  // corresponding check is skipped rather than producing a violation.
5
5
  import { ChainId } from "../../types/enums.js";
6
+ import { addressToHex } from "../../helpers/address.js";
6
7
  // Note: addresses in this map MUST be lowercased.
7
8
  export const TOKEN_PERMIT_METADATA = {
8
9
  // TODO: extend this verified-only graylist with additional tokens after
@@ -52,6 +53,11 @@ export function getTokenPermitMetadata(realChainId, tokenAddress) {
52
53
  const chain = TOKEN_PERMIT_METADATA[realChainId];
53
54
  if (!chain)
54
55
  return undefined;
55
- return chain[tokenAddress.toLowerCase()];
56
+ try {
57
+ return chain[addressToHex(realChainId, tokenAddress)];
58
+ }
59
+ catch {
60
+ return undefined;
61
+ }
56
62
  }
57
63
  //# sourceMappingURL=token-permit-metadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-permit-metadata.js","sourceRoot":"","sources":["../../../../src/graylists/evm/token-permit-metadata.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,mEAAmE;AACnE,oEAAoE;AACpE,oEAAoE;AAEpE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAgB5C,kDAAkD;AAClD,MAAM,CAAC,MAAM,qBAAqB,GAA2B;IACzD,wEAAwE;IACxE,2EAA2E;IAC3E,uEAAuE;IACvE,kEAAkE;IAClE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAChB,4CAA4C,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE;QAChF,4CAA4C,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,EAAE;QACtF,4CAA4C,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;KACvE;IACD,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAChB,4CAA4C,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE;KACnF;IACD,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACf,4CAA4C,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE;KACnF;IACD,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACb,4CAA4C,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;KAC/E;IACD,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACb,4CAA4C,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;KAC/E;IACD,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAChB,4CAA4C,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;KAC/E;IACD,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACX,4CAA4C,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;KAC/E;IACD,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QACjB,4CAA4C,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;KAC/E;IACD,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACZ,4CAA4C,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE;KACnF;IACD,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACb,4CAA4C,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;KAC/E;IACD,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAChB,4CAA4C,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE;KACnF;IACD,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QACjB,4CAA4C,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE;KACnF;CACJ,CAAC;AAEF,MAAM,UAAU,sBAAsB,CAClC,WAAoB,EACpB,YAAoB;IAEpB,MAAM,KAAK,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"token-permit-metadata.js","sourceRoot":"","sources":["../../../../src/graylists/evm/token-permit-metadata.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,mEAAmE;AACnE,oEAAoE;AACpE,oEAAoE;AAEpE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAgBrD,kDAAkD;AAClD,MAAM,CAAC,MAAM,qBAAqB,GAA2B;IACzD,wEAAwE;IACxE,2EAA2E;IAC3E,uEAAuE;IACvE,kEAAkE;IAClE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAChB,4CAA4C,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE;QAChF,4CAA4C,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,EAAE;QACtF,4CAA4C,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;KACvE;IACD,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAChB,4CAA4C,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE;KACnF;IACD,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACf,4CAA4C,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE;KACnF;IACD,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACb,4CAA4C,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;KAC/E;IACD,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACb,4CAA4C,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;KAC/E;IACD,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAChB,4CAA4C,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;KAC/E;IACD,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACX,4CAA4C,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;KAC/E;IACD,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QACjB,4CAA4C,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;KAC/E;IACD,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACZ,4CAA4C,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE;KACnF;IACD,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACb,4CAA4C,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;KAC/E;IACD,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAChB,4CAA4C,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE;KACnF;IACD,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QACjB,4CAA4C,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE;KACnF;CACJ,CAAC;AAEF,MAAM,UAAU,sBAAsB,CAClC,WAAoB,EACpB,YAAoB;IAEpB,MAAM,KAAK,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAE7B,IAAI,CAAC;QACD,OAAO,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC"}
@@ -4,8 +4,13 @@ import { ChainEngine, ChainId } from "../types/enums.js";
4
4
  import { SYSTEM_PROGRAM } from "../whitelists/solana/index.js";
5
5
  // Tron-specific addresses (Base58Check format)
6
6
  export const TRON_NATIVE_ADDRESS = "T9yD14Nj9j7xAB4dbGeiX9h8unkKHxuWwb";
7
- const EVM_HEX_ADDRESS_REGEX = /^0x[0-9a-f]{40}$/iu;
7
+ const EVM_HEX_ADDRESS_REGEX = /^0x[0-9a-fA-F]{40}$/u;
8
+ const EVM_ADDRESS_BYTE_LENGTH = 20;
9
+ const SOLANA_ADDRESS_BYTE_LENGTH = 32;
8
10
  const TRON_ADDRESS_PREFIX = 0x41;
11
+ const TRON_PAYLOAD_BYTE_LENGTH = 1 + EVM_ADDRESS_BYTE_LENGTH;
12
+ const TRON_CHECKSUM_BYTE_LENGTH = 4;
13
+ const TRON_ADDRESS_BYTE_LENGTH = TRON_PAYLOAD_BYTE_LENGTH + TRON_CHECKSUM_BYTE_LENGTH;
9
14
  export function getChainEngine(chainId) {
10
15
  if (chainId === ChainId.Tron)
11
16
  return ChainEngine.Tron;
@@ -17,16 +22,25 @@ export function isEvmHexAddress(address) {
17
22
  return EVM_HEX_ADDRESS_REGEX.test(address);
18
23
  }
19
24
  export function isTronAddress(address) {
20
- if (!address)
21
- return false;
22
- if (address.startsWith("0x"))
23
- return false;
24
- if (!address.startsWith("T"))
25
- return false;
26
- if (address.length !== 34)
27
- return false;
28
- // AI: TODO: add Base58Check checksum verification if needed
29
- return true;
25
+ return decodeTronAddressBytes(address) !== undefined;
26
+ }
27
+ export function isTronAddressOrEvmHex(address) {
28
+ return isEvmHexAddress(address) || isTronAddress(address);
29
+ }
30
+ export function isSolanaAddress(address) {
31
+ return decodeSolanaAddressBytes(address) !== undefined;
32
+ }
33
+ // Use only for standalone semantic address fields. Encoded EIP-712, ABI and
34
+ // interaction fields keep their own stricter wire-format validation.
35
+ export function isAddressRepresentationValidForChain(chainId, address) {
36
+ return isAddressRepresentationValidForEngine(getChainEngine(chainId), address);
37
+ }
38
+ export function isAddressRepresentationValidForEngine(engine, address) {
39
+ if (engine === ChainEngine.EVM)
40
+ return isEvmHexAddress(address);
41
+ if (engine === ChainEngine.Tron)
42
+ return isTronAddressOrEvmHex(address);
43
+ return isSolanaAddress(address);
30
44
  }
31
45
  // Converts a 20-byte EVM hex address to Tron Base58Check format.
32
46
  export function evmHexToTronAddress(evmAddress) {
@@ -37,83 +51,141 @@ export function evmHexToTronAddress(evmAddress) {
37
51
  Uint8Array.of(TRON_ADDRESS_PREFIX),
38
52
  hexToBytes(evmAddress),
39
53
  ]);
40
- const firstHash = sha256(payload);
41
- const secondHash = sha256(hexToBytes(firstHash));
42
- const checksum = hexToBytes(secondHash).slice(0, 4);
54
+ const checksum = computeTronChecksum(payload);
43
55
  return bs58.encode(concatBytes([payload, checksum]));
44
56
  }
45
- // Converts Tron Base58Check address to EVM hex format (0x...)
46
- // Tron address = 0x41 (1 byte prefix) + 20 bytes address + 4 bytes checksum
47
- // We extract the 20-byte address part and return as 0x-prefixed hex
57
+ // Converts a valid Tron Base58Check address to its 20-byte EVM hex identity.
48
58
  export function tronAddressToEvmHex(tronAddress) {
49
- const decoded = bs58.decode(tronAddress);
50
- // Skip first byte (0x41 prefix) and last 4 bytes (checksum)
51
- const addressBytes = decoded.slice(1, 21);
59
+ const addressBytes = decodeTronAddressBytes(tronAddress);
60
+ if (addressBytes === undefined) {
61
+ throw new Error(`Invalid Tron Base58Check address: ${tronAddress}`);
62
+ }
52
63
  return bytesToHex(addressBytes);
53
64
  }
54
- // Normalizes address for comparison based on chain engine
55
- export function normalizeAddress(chainId, address) {
65
+ // Builds a canonical address-byte key using the representation rules of the
66
+ // given chain. Malformed values have no address identity and return undefined.
67
+ export function getAddressIdentityKey(chainId, address) {
56
68
  const engine = getChainEngine(chainId);
57
- return applyEngineNormalization(address, engine);
69
+ return toCanonicalAddressHex(address, engine);
58
70
  }
59
- // Detects the chain engine from the address value alone (no chainId required).
60
- // Useful when a chain is not fixed (e.g. destinationChainIds = "any").
71
+ // Builds an address identity key using only its own value — no chainId needed.
72
+ export function getAddressIdentityKeyByValue(address) {
73
+ return toCanonicalAddressHexByValue(address);
74
+ }
75
+ // Detects the chain engine from a valid address value alone. Ambiguous 20-byte
76
+ // hex belongs to the EVM-compatible representation. Invalid values have no
77
+ // detectable chain engine.
61
78
  export function detectChainEngine(address) {
62
- if (address.startsWith("0x"))
79
+ if (isEvmHexAddress(address))
63
80
  return ChainEngine.EVM;
64
81
  if (isTronAddress(address))
65
82
  return ChainEngine.Tron;
66
- return ChainEngine.Solana;
67
- }
68
- // Normalizes an address using only its own value — no chainId needed.
69
- export function normalizeAddressByValue(address) {
70
- return applyEngineNormalization(address, detectChainEngine(address));
71
- }
72
- function applyEngineNormalization(address, engine) {
73
- if (engine === ChainEngine.Tron || engine === ChainEngine.Solana) {
74
- return address; // case-sensitive
75
- }
76
- return address.toLowerCase(); // EVM: case-insensitive
83
+ if (isSolanaAddress(address))
84
+ return ChainEngine.Solana;
85
+ return undefined;
77
86
  }
78
- // Compares two addresses with chain-aware normalization
79
- export function addressEquals(chainId, a, b) {
80
- return normalizeAddress(chainId, a) === normalizeAddress(chainId, b);
87
+ // Compares canonical address identity. Field-specific format validation must
88
+ // happen separately; malformed values never compare equal and never throw.
89
+ export function addressEquals(chainId, left, right) {
90
+ const engine = getChainEngine(chainId);
91
+ const leftCanonical = toCanonicalAddressHex(left, engine);
92
+ const rightCanonical = toCanonicalAddressHex(right, engine);
93
+ return leftCanonical !== undefined
94
+ && rightCanonical !== undefined
95
+ && leftCanonical === rightCanonical;
81
96
  }
82
97
  // Raw byte representation, used when an address flows into the intent ID
83
- // keccak256 hash. EVM → 20 bytes, Tron → 20 bytes (after stripping 0x41
84
- // prefix and checksum), Solana → 32 bytes (base58, no checksum).
98
+ // keccak256 hash. EVM → 20 bytes, Tron → 20 bytes, Solana → 32 bytes.
85
99
  export function addressToHex(chainId, address) {
86
- return applyEngineToHex(address, getChainEngine(chainId));
100
+ const engine = getChainEngine(chainId);
101
+ const canonical = toCanonicalAddressHex(address, engine);
102
+ if (canonical === undefined) {
103
+ throw new Error(`Invalid ${ChainEngine[engine]} address: ${address}`);
104
+ }
105
+ return canonical;
87
106
  }
88
107
  // Same as addressToHex but infers the engine from the address value alone.
89
108
  // Use when the chainId is unknown (e.g. destinationChainIds = "any").
90
109
  export function addressToHexByValue(address) {
91
- return applyEngineToHex(address, detectChainEngine(address));
110
+ const canonical = toCanonicalAddressHexByValue(address);
111
+ if (canonical === undefined)
112
+ throw new Error(`Invalid address: ${address}`);
113
+ return canonical;
92
114
  }
93
- function applyEngineToHex(address, engine) {
94
- // API address parsing treats 0x-prefixed values as raw hex for every
95
- // chain, including Tron. Preserve that behavior before engine-specific
96
- // human-readable decoding.
97
- if (address.startsWith("0x")) {
98
- return address.toLowerCase();
115
+ // Checks if address is the native token for the given chain.
116
+ export function isNativeToken(address, chainId) {
117
+ const engine = getChainEngine(chainId);
118
+ if (engine === ChainEngine.Tron) {
119
+ // Accept strict Tron Base58Check and the equivalent 20-byte EVM hex representation.
120
+ return addressEquals(chainId, address, TRON_NATIVE_ADDRESS);
121
+ }
122
+ if (engine === ChainEngine.Solana) {
123
+ // Accept only a valid 32-byte Solana Base58 address.
124
+ return addressEquals(chainId, address, SYSTEM_PROGRAM);
99
125
  }
126
+ // Accept only a valid 20-byte EVM hex address.
127
+ return isEvmHexAddress(address) && address.toLowerCase() === zeroAddress;
128
+ }
129
+ function toCanonicalAddressHex(address, engine) {
100
130
  if (engine === ChainEngine.EVM) {
101
- return address.toLowerCase();
131
+ return isEvmHexAddress(address) ? address.toLowerCase() : undefined;
102
132
  }
103
133
  if (engine === ChainEngine.Tron) {
104
- return tronAddressToEvmHex(address);
134
+ if (isEvmHexAddress(address))
135
+ return address.toLowerCase();
136
+ const bytes = decodeTronAddressBytes(address);
137
+ return bytes === undefined ? undefined : bytesToHex(bytes);
105
138
  }
106
- return bytesToHex(bs58.decode(address));
139
+ const bytes = decodeSolanaAddressBytes(address);
140
+ return bytes === undefined ? undefined : bytesToHex(bytes);
107
141
  }
108
- // Checks if address is the native token for the given chain.
109
- export function isNativeToken(address, chainId) {
110
- const engine = getChainEngine(chainId);
111
- if (engine === ChainEngine.Tron) {
112
- return address === TRON_NATIVE_ADDRESS;
142
+ function toCanonicalAddressHexByValue(address) {
143
+ if (isEvmHexAddress(address))
144
+ return address.toLowerCase();
145
+ const tronBytes = decodeTronAddressBytes(address);
146
+ if (tronBytes !== undefined)
147
+ return bytesToHex(tronBytes);
148
+ const solanaBytes = decodeSolanaAddressBytes(address);
149
+ return solanaBytes === undefined ? undefined : bytesToHex(solanaBytes);
150
+ }
151
+ function decodeTronAddressBytes(address) {
152
+ const decoded = decodeBase58(address);
153
+ if (decoded === undefined || decoded.length !== TRON_ADDRESS_BYTE_LENGTH)
154
+ return undefined;
155
+ if (decoded[0] !== TRON_ADDRESS_PREFIX)
156
+ return undefined;
157
+ const payload = decoded.slice(0, TRON_PAYLOAD_BYTE_LENGTH);
158
+ const checksum = decoded.slice(TRON_PAYLOAD_BYTE_LENGTH);
159
+ if (!bytesEqual(checksum, computeTronChecksum(payload)))
160
+ return undefined;
161
+ return payload.slice(1);
162
+ }
163
+ function decodeSolanaAddressBytes(address) {
164
+ const decoded = decodeBase58(address);
165
+ return decoded?.length === SOLANA_ADDRESS_BYTE_LENGTH ? decoded : undefined;
166
+ }
167
+ function decodeBase58(value) {
168
+ if (value.length === 0)
169
+ return undefined;
170
+ try {
171
+ return bs58.decode(value);
113
172
  }
114
- if (engine === ChainEngine.Solana) {
115
- return address === SYSTEM_PROGRAM;
173
+ catch {
174
+ return undefined;
116
175
  }
117
- return address.toLowerCase() === zeroAddress;
176
+ }
177
+ function computeTronChecksum(payload) {
178
+ const firstHash = sha256(payload);
179
+ const secondHash = sha256(hexToBytes(firstHash));
180
+ return hexToBytes(secondHash).slice(0, TRON_CHECKSUM_BYTE_LENGTH);
181
+ }
182
+ function bytesEqual(left, right) {
183
+ if (left.length !== right.length)
184
+ return false;
185
+ for (let i = 0; i < left.length; i++) {
186
+ if (left[i] !== right[i])
187
+ return false;
188
+ }
189
+ return true;
118
190
  }
119
191
  //# sourceMappingURL=address.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"address.js","sourceRoot":"","sources":["../../../src/helpers/address.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,UAAU,EACV,WAAW,EACX,UAAU,EACV,MAAM,EACN,WAAW,GACd,MAAM,MAAM,CAAC;AACd,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,+CAA+C;AAC/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,oCAAoC,CAAC;AAExE,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AACnD,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAEjC,MAAM,UAAU,cAAc,CAAC,OAAe;IAC1C,IAAI,OAAO,KAAK,OAAO,CAAC,IAAI;QAAE,OAAO,WAAW,CAAC,IAAI,CAAC;IACtD,IAAI,OAAO,KAAK,OAAO,CAAC,MAAM;QAAE,OAAO,WAAW,CAAC,MAAM,CAAC;IAC1D,OAAO,WAAW,CAAC,GAAG,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAe;IAC3C,OAAO,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe;IACzC,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IACxC,4DAA4D;IAC5D,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,mBAAmB,CAAC,UAAkB;IAClD,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC;QACxB,UAAU,CAAC,EAAE,CAAC,mBAAmB,CAAC;QAClC,UAAU,CAAC,UAA2B,CAAC;KAC1C,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEpD,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,8DAA8D;AAC9D,4EAA4E;AAC5E,oEAAoE;AACpE,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACzC,4DAA4D;IAC5D,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1C,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC;AACpC,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,OAAe;IAC7D,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,+EAA+E;AAC/E,uEAAuE;AACvE,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC7C,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,WAAW,CAAC,GAAG,CAAC;IACrD,IAAI,aAAa,CAAC,OAAO,CAAC;QAAE,OAAO,WAAW,CAAC,IAAI,CAAC;IACpD,OAAO,WAAW,CAAC,MAAM,CAAC;AAC9B,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,uBAAuB,CAAC,OAAe;IACnD,OAAO,wBAAwB,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAe,EAAE,MAAmB;IAClE,IAAI,MAAM,KAAK,WAAW,CAAC,IAAI,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;QAC/D,OAAO,OAAO,CAAC,CAAC,iBAAiB;IACrC,CAAC;IACD,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,wBAAwB;AAC1D,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,CAAS,EAAE,CAAS;IAC/D,OAAO,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,yEAAyE;AACzE,wEAAwE;AACxE,iEAAiE;AACjE,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,OAAe;IACzD,OAAO,gBAAgB,CAAC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,2EAA2E;AAC3E,sEAAsE;AACtE,MAAM,UAAU,mBAAmB,CAAC,OAAe;IAC/C,OAAO,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe,EAAE,MAAmB;IAC1D,qEAAqE;IACrE,uEAAuE;IACvE,2BAA2B;IAC3B,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,WAAW,EAAmB,CAAC;IAClD,CAAC;IAED,IAAI,MAAM,KAAK,WAAW,CAAC,GAAG,EAAE,CAAC;QAC7B,OAAO,OAAO,CAAC,WAAW,EAAmB,CAAC;IAClD,CAAC;IACD,IAAI,MAAM,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,mBAAmB,CAAC,OAAO,CAAkB,CAAC;IACzD,CAAC;IAED,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,OAAe;IAC1D,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,MAAM,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,OAAO,KAAK,mBAAmB,CAAC;IAC3C,CAAC;IACD,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;QAChC,OAAO,OAAO,KAAK,cAAc,CAAC;IACtC,CAAC;IACD,OAAO,OAAO,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"address.js","sourceRoot":"","sources":["../../../src/helpers/address.ts"],"names":[],"mappings":"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"}