@waiaas/actions 2.10.0-rc.8 → 2.10.0-rc.9

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 (41) hide show
  1. package/dist/index.d.ts +8 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +22 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/providers/dcent-swap/auto-router.d.ts +89 -0
  6. package/dist/providers/dcent-swap/auto-router.d.ts.map +1 -0
  7. package/dist/providers/dcent-swap/auto-router.js +247 -0
  8. package/dist/providers/dcent-swap/auto-router.js.map +1 -0
  9. package/dist/providers/dcent-swap/config.d.ts +30 -0
  10. package/dist/providers/dcent-swap/config.d.ts.map +1 -0
  11. package/dist/providers/dcent-swap/config.js +22 -0
  12. package/dist/providers/dcent-swap/config.js.map +1 -0
  13. package/dist/providers/dcent-swap/currency-mapper.d.ts +19 -0
  14. package/dist/providers/dcent-swap/currency-mapper.d.ts.map +1 -0
  15. package/dist/providers/dcent-swap/currency-mapper.js +161 -0
  16. package/dist/providers/dcent-swap/currency-mapper.js.map +1 -0
  17. package/dist/providers/dcent-swap/dcent-api-client.d.ts +80 -0
  18. package/dist/providers/dcent-swap/dcent-api-client.d.ts.map +1 -0
  19. package/dist/providers/dcent-swap/dcent-api-client.js +147 -0
  20. package/dist/providers/dcent-swap/dcent-api-client.js.map +1 -0
  21. package/dist/providers/dcent-swap/dex-swap.d.ts +60 -0
  22. package/dist/providers/dcent-swap/dex-swap.d.ts.map +1 -0
  23. package/dist/providers/dcent-swap/dex-swap.js +210 -0
  24. package/dist/providers/dcent-swap/dex-swap.js.map +1 -0
  25. package/dist/providers/dcent-swap/exchange-status-tracker.d.ts +39 -0
  26. package/dist/providers/dcent-swap/exchange-status-tracker.d.ts.map +1 -0
  27. package/dist/providers/dcent-swap/exchange-status-tracker.js +101 -0
  28. package/dist/providers/dcent-swap/exchange-status-tracker.js.map +1 -0
  29. package/dist/providers/dcent-swap/exchange.d.ts +60 -0
  30. package/dist/providers/dcent-swap/exchange.d.ts.map +1 -0
  31. package/dist/providers/dcent-swap/exchange.js +139 -0
  32. package/dist/providers/dcent-swap/exchange.js.map +1 -0
  33. package/dist/providers/dcent-swap/index.d.ts +61 -0
  34. package/dist/providers/dcent-swap/index.d.ts.map +1 -0
  35. package/dist/providers/dcent-swap/index.js +244 -0
  36. package/dist/providers/dcent-swap/index.js.map +1 -0
  37. package/dist/providers/dcent-swap/schemas.d.ts +441 -0
  38. package/dist/providers/dcent-swap/schemas.d.ts.map +1 -0
  39. package/dist/providers/dcent-swap/schemas.js +106 -0
  40. package/dist/providers/dcent-swap/schemas.js.map +1 -0
  41. package/package.json +2 -2
package/dist/index.d.ts CHANGED
@@ -55,6 +55,14 @@ export { buildRegistrationFile } from './providers/erc8004/registration-file.js'
55
55
  export { IDENTITY_REGISTRY_ABI } from './providers/erc8004/identity-abi.js';
56
56
  export { REPUTATION_REGISTRY_ABI } from './providers/erc8004/reputation-abi.js';
57
57
  export { VALIDATION_REGISTRY_ABI } from './providers/erc8004/validation-abi.js';
58
+ export { DcentSwapActionProvider } from './providers/dcent-swap/index.js';
59
+ export { DCENT_SWAP_DEFAULTS } from './providers/dcent-swap/config.js';
60
+ export type { DcentSwapConfig } from './providers/dcent-swap/config.js';
61
+ export { DcentSwapApiClient } from './providers/dcent-swap/dcent-api-client.js';
62
+ export { caip19ToDcentId, dcentIdToCaip19 } from './providers/dcent-swap/currency-mapper.js';
63
+ export { ExchangeStatusTracker } from './providers/dcent-swap/exchange-status-tracker.js';
64
+ export type { ExchangeQuoteResult, ExecuteExchangeParams, ExchangeResult } from './providers/dcent-swap/exchange.js';
65
+ export type { DcentQuoteResult, GetQuotesParams } from './providers/dcent-swap/dex-swap.js';
58
66
  export { ActionApiClient } from './common/action-api-client.js';
59
67
  export { asBps, asPct, clampSlippageBps, bpsToPct, pctToBps } from './common/slippage.js';
60
68
  export type { SlippageBps, SlippagePct } from './common/slippage.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -13,6 +13,7 @@ import { PendleYieldProvider } from './providers/pendle/index.js';
13
13
  import { DriftPerpProvider } from './providers/drift/index.js';
14
14
  import { Erc8004ActionProvider } from './providers/erc8004/index.js';
15
15
  import { ERC8004_DEFAULTS } from './providers/erc8004/config.js';
16
+ import { DcentSwapActionProvider } from './providers/dcent-swap/index.js';
16
17
  // Re-export provider classes
17
18
  export { JupiterSwapActionProvider } from './providers/jupiter-swap/index.js';
18
19
  export { JUPITER_PROGRAM_ID, JUPITER_SWAP_DEFAULTS } from './providers/jupiter-swap/config.js';
@@ -49,6 +50,11 @@ export { buildRegistrationFile } from './providers/erc8004/registration-file.js'
49
50
  export { IDENTITY_REGISTRY_ABI } from './providers/erc8004/identity-abi.js';
50
51
  export { REPUTATION_REGISTRY_ABI } from './providers/erc8004/reputation-abi.js';
51
52
  export { VALIDATION_REGISTRY_ABI } from './providers/erc8004/validation-abi.js';
53
+ export { DcentSwapActionProvider } from './providers/dcent-swap/index.js';
54
+ export { DCENT_SWAP_DEFAULTS } from './providers/dcent-swap/config.js';
55
+ export { DcentSwapApiClient } from './providers/dcent-swap/dcent-api-client.js';
56
+ export { caip19ToDcentId, dcentIdToCaip19 } from './providers/dcent-swap/currency-mapper.js';
57
+ export { ExchangeStatusTracker } from './providers/dcent-swap/exchange-status-tracker.js';
52
58
  // Re-export common utilities
53
59
  export { ActionApiClient } from './common/action-api-client.js';
54
60
  export { asBps, asPct, clampSlippageBps, bpsToPct, pctToBps } from './common/slippage.js';
@@ -210,6 +216,22 @@ export function registerBuiltInProviders(registry, settingsReader, options) {
210
216
  return new Erc8004ActionProvider(config);
211
217
  },
212
218
  },
219
+ {
220
+ key: 'dcent_swap',
221
+ enabledKey: 'actions.dcent_swap_enabled',
222
+ factory: () => {
223
+ const dcentConfig = {
224
+ apiBaseUrl: settingsReader.get('actions.dcent_swap_api_url'),
225
+ requestTimeoutMs: 15_000,
226
+ defaultSlippageBps: Number(settingsReader.get('actions.dcent_swap_default_slippage_bps')),
227
+ maxSlippageBps: Number(settingsReader.get('actions.dcent_swap_max_slippage_bps')),
228
+ currencyCacheTtlMs: Number(settingsReader.get('actions.dcent_swap_currency_cache_ttl_ms')),
229
+ exchangePollIntervalMs: Number(settingsReader.get('actions.dcent_swap_exchange_poll_interval_ms')),
230
+ exchangePollMaxMs: Number(settingsReader.get('actions.dcent_swap_exchange_poll_max_ms')),
231
+ };
232
+ return new DcentSwapActionProvider(dcentConfig);
233
+ },
234
+ },
213
235
  ];
214
236
  for (const { key, enabledKey, factory } of providers) {
215
237
  if (settingsReader.get(enabledKey) === 'true') {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAA0B,MAAM,oCAAoC,CAAC;AAC9F,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAA0B,MAAM,oCAAoC,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAqB,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAsB,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAG1E,6BAA6B;AAC7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAG/F,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAG5I,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE3F,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAEzG,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAE7I,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAEvF,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAErH,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAE7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGzH,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,QAAQ,EAAE,UAAU,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAE7L,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAG5H,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,UAAU,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAE/K,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEtG,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAE1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAG7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AACxG,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAEhF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAI1F,6BAA6B;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAG1F,qEAAqE;AACrE,OAAO,EACL,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,kCAAkC,CAAC;AAoB1C;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAA0B,EAC1B,cAA8B,EAC9B,OAAoC;IAEpC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,MAAM,SAAS,GAIV;QACH;YACE,GAAG,EAAE,cAAc;YACnB,UAAU,EAAE,8BAA8B;YAC1C,OAAO,EAAE,GAAG,EAAE;gBACZ,MAAM,MAAM,GAAmE;oBAC7E,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC,mCAAmC,CAAC;oBACnE,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,8BAA8B,CAAC;oBAC1D,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;oBAC3F,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;oBACnF,iBAAiB,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;oBAC1F,eAAe,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;oBACrF,gBAAgB,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;iBACxF,CAAC;gBACF,OAAO,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC;YAC/C,CAAC;SACF;QACD;YACE,GAAG,EAAE,YAAY;YACjB,UAAU,EAAE,4BAA4B;YACxC,OAAO,EAAE,GAAG,EAAE;gBACZ,MAAM,MAAM,GAAyE;oBACnF,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,4BAA4B,CAAC;oBACxD,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;oBACzF,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;oBACjF,gBAAgB,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;iBACtF,CAAC;gBACF,OAAO,IAAI,wBAAwB,CAAC,MAAM,CAAC,CAAC;YAC9C,CAAC;SACF;QACD;YACE,GAAG,EAAE,MAAM;YACX,UAAU,EAAE,sBAAsB;YAClC,OAAO,EAAE,GAAG,EAAE;gBACZ,MAAM,MAAM,GAAoD;oBAC9D,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC,2BAA2B,CAAC;oBAC3D,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,sBAAsB,CAAC;oBAClD,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;oBACnF,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;oBAC3E,gBAAgB,EAAE,MAAM;iBACzB,CAAC;gBACF,OAAO,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACxC,CAAC;SACF;QACD;YACE,GAAG,EAAE,cAAc;YACnB,UAAU,EAAE,8BAA8B;YAC1C,OAAO,EAAE,GAAG,EAAE;gBACZ,4CAA4C;gBAC5C,MAAM,UAAU,GAAgB,kBAAkB,CAAC;gBACnD,MAAM,SAAS,GAAG,iBAAiB,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC;gBAC9D,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAEtE,gGAAgG;gBAChG,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;gBAC/E,MAAM,kBAAkB,GAAG,cAAc,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;gBAE/F,MAAM,MAAM,GAAsB;oBAChC,OAAO,EAAE,IAAI;oBACb,YAAY,EAAE,aAAa,IAAI,SAAS,CAAC,YAAY;oBACrD,sBAAsB,EAAE,kBAAkB,IAAI,SAAS,CAAC,sBAAsB;iBAC/E,CAAC;gBACF,OAAO,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC;YAC/C,CAAC;SACF;QACD;YACE,GAAG,EAAE,cAAc;YACnB,UAAU,EAAE,8BAA8B;YAC1C,OAAO,EAAE,GAAG,EAAE;gBACZ,kDAAkD;gBAClD,8EAA8E;gBAC9E,MAAM,iBAAiB,GAAG,cAAc,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;gBACxF,MAAM,mBAAmB,GAAG,cAAc,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;gBAEpF,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;gBAE9C,MAAM,MAAM,GAAsB;oBAChC,OAAO,EAAE,IAAI;oBACb,gBAAgB,EAAE,iBAAiB,IAAI,SAAS,CAAC,gBAAgB;oBACjE,WAAW,EAAE,mBAAmB,IAAI,SAAS,CAAC,WAAW;oBACzD,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;iBAC7C,CAAC;gBACF,OAAO,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC;YAC/C,CAAC;SACF;QACD;YACE,GAAG,EAAE,SAAS;YACd,UAAU,EAAE,yBAAyB;YACrC,OAAO,EAAE,GAAG,EAAE;gBACZ,MAAM,MAAM,GAAiB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC/C,OAAO,IAAI,qBAAqB,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAC/D,CAAC;SACF;QACD;YACE,GAAG,EAAE,QAAQ;YACb,UAAU,EAAE,wBAAwB;YACpC,OAAO,EAAE,GAAG,EAAE;gBACZ,MAAM,MAAM,GAAiB;oBAC3B,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,MAAM;oBAC7D,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,IAAI,GAAG;iBAC9E,CAAC;gBACF,OAAO,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAC;SACF;QACD;YACE,GAAG,EAAE,cAAc;YACnB,UAAU,EAAE,8BAA8B;YAC1C,OAAO,EAAE,GAAG,EAAE;gBACZ,MAAM,MAAM,GAAiB;oBAC3B,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC,mCAAmC,CAAC,IAAI,+BAA+B;oBACtG,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,8BAA8B,CAAC,IAAI,EAAE;oBAChE,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC,IAAI,GAAG;oBAClG,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,IAAI,GAAG;oBAC1F,gBAAgB,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC,IAAI,MAAM;iBAClG,CAAC;gBACF,OAAO,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;SACF;QACD;YACE,GAAG,EAAE,YAAY;YACjB,UAAU,EAAE,uBAAuB;YACnC,OAAO,EAAE,GAAG,EAAE;gBACZ,MAAM,MAAM,GAAgB;oBAC1B,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,CAAC;iBACd,CAAC;gBACF,OAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC;SACF;QACD;YACE,GAAG,EAAE,eAAe;YACpB,UAAU,EAAE,+BAA+B;YAC3C,OAAO,EAAE,GAAG,EAAE;gBACZ,MAAM,MAAM,GAAkB;oBAC5B,GAAG,gBAAgB;oBACnB,OAAO,EAAE,IAAI;oBACb,uBAAuB,EAAE,cAAc,CAAC,GAAG,CAAC,2CAA2C,CAAC;oBACxF,yBAAyB,EAAE,cAAc,CAAC,GAAG,CAAC,6CAA6C,CAAC;oBAC5F,yBAAyB,EAAE,cAAc,CAAC,GAAG,CAAC,6CAA6C,CAAC;oBAC5F,uBAAuB,EAAE,cAAc,CAAC,GAAG,CAAC,4CAA4C,CAAC;oBACzF,uBAAuB,EAAE,cAAc,CAAC,GAAG,CAAC,2CAA2C,CAAC,KAAK,MAAM;oBACnG,qBAAqB,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC,IAAI,GAAG;iBACrG,CAAC;gBACF,OAAO,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAC;SACF;QACD;YACE,GAAG,EAAE,YAAY;YACjB,UAAU,EAAE,4BAA4B;YACxC,OAAO,EAAE,GAAG,EAAE;gBACZ,MAAM,WAAW,GAAoB;oBACnC,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC,4BAA4B,CAAC;oBAC5D,gBAAgB,EAAE,MAAM;oBACxB,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;oBACzF,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;oBACjF,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;oBAC1F,sBAAsB,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;oBAClG,iBAAiB,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;iBACzF,CAAC;gBACF,OAAO,IAAI,uBAAuB,CAAC,WAAW,CAAC,CAAC;YAClD,CAAC;SACF;KACF,CAAC;IAEF,KAAK,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,SAAS,EAAE,CAAC;QACrD,IAAI,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,EAAE,CAAC;YAC9C,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC;gBAC3B,IAAI,QAAQ,EAAE,CAAC;oBACb,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnB,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,sBAAsB,GAAG,wBAAwB,EAAE,GAAG,CAAC,CAAC;gBACrE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,89 @@
1
+ import type { ContractCallRequest } from '@waiaas/core';
2
+ import { DcentSwapApiClient } from './dcent-api-client.js';
3
+ import { type GetQuotesParams } from './dex-swap.js';
4
+ import type { DcentQuoteProvider } from './schemas.js';
5
+ import type { DcentSwapConfig } from './config.js';
6
+ export interface IntermediateToken {
7
+ caip19: string;
8
+ symbol: string;
9
+ decimals: number;
10
+ }
11
+ export interface TwoHopRoute {
12
+ intermediateToken: IntermediateToken;
13
+ hop1: {
14
+ provider: DcentQuoteProvider;
15
+ fromAsset: string;
16
+ toAsset: string;
17
+ };
18
+ hop2: {
19
+ provider: DcentQuoteProvider;
20
+ fromAsset: string;
21
+ toAsset: string;
22
+ };
23
+ finalExpectedAmount: string;
24
+ totalFees: {
25
+ hop1Fee: string;
26
+ hop2Fee: string;
27
+ totalFee: string;
28
+ };
29
+ isMultiHop: true;
30
+ hopCount: 2;
31
+ }
32
+ export interface TwoHopQuoteResult {
33
+ routes: TwoHopRoute[];
34
+ bestRoute: TwoHopRoute | null;
35
+ }
36
+ export interface TwoHopExecutionResult {
37
+ requests: ContractCallRequest[];
38
+ metadata: {
39
+ isMultiHop: true;
40
+ hopCount: 2;
41
+ intermediateToken: {
42
+ caip19: string;
43
+ symbol: string;
44
+ decimals: number;
45
+ };
46
+ hop1ExpectedAmount: string;
47
+ finalExpectedAmount: string;
48
+ totalFees: {
49
+ hop1Fee: string;
50
+ hop2Fee: string;
51
+ totalFee: string;
52
+ };
53
+ };
54
+ }
55
+ /** Well-known intermediate tokens per CAIP-2 chain identifier. */
56
+ export declare const INTERMEDIATE_TOKENS: Record<string, IntermediateToken[]>;
57
+ /**
58
+ * Get intermediate tokens for a given CAIP-19 asset's chain.
59
+ * Extracts the CAIP-2 chain identifier from the CAIP-19 URI.
60
+ */
61
+ export declare function getIntermediatesForChain(caip19: string): IntermediateToken[];
62
+ /**
63
+ * Find 2-hop routes via intermediate tokens when direct route is unavailable.
64
+ *
65
+ * 1. First checks if direct route exists — if yes, returns empty (no fallback needed).
66
+ * 2. For each intermediate token on the same chain:
67
+ * - Skip if same as fromAsset or toAsset
68
+ * - Query hop 1 (fromAsset -> intermediate) and hop 2 (intermediate -> toAsset)
69
+ * - Build TwoHopRoute with cumulative costs
70
+ * 3. Sort routes by finalExpectedAmount descending.
71
+ */
72
+ export declare function findTwoHopRoutes(client: DcentSwapApiClient, params: GetQuotesParams): Promise<TwoHopQuoteResult>;
73
+ /**
74
+ * Execute a 2-hop swap, producing a flat ContractCallRequest[] BATCH.
75
+ *
76
+ * If route is not provided, calls findTwoHopRoutes to discover the best route.
77
+ * Concatenates hop1 + hop2 ContractCallRequest arrays.
78
+ * On hop2 failure, throws PARTIAL_SWAP_FAILURE with intermediate token info.
79
+ */
80
+ export declare function executeTwoHopSwap(client: DcentSwapApiClient, params: {
81
+ fromAsset: string;
82
+ toAsset: string;
83
+ amount: string;
84
+ fromDecimals: number;
85
+ toDecimals: number;
86
+ walletAddress: string;
87
+ slippageBps?: number;
88
+ }, config: DcentSwapConfig, route?: TwoHopRoute): Promise<TwoHopExecutionResult>;
89
+ //# sourceMappingURL=auto-router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-router.d.ts","sourceRoot":"","sources":["../../../src/providers/dcent-swap/auto-router.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAqC,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACxF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAMnD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,IAAI,EAAE;QAAE,QAAQ,EAAE,kBAAkB,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,IAAI,EAAE;QAAE,QAAQ,EAAE,kBAAkB,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAClE,UAAU,EAAE,IAAI,CAAC;IACjB,QAAQ,EAAE,CAAC,CAAC;CACb;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,QAAQ,EAAE;QACR,UAAU,EAAE,IAAI,CAAC;QACjB,QAAQ,EAAE,CAAC,CAAC;QACZ,iBAAiB,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC;QACxE,kBAAkB,EAAE,MAAM,CAAC;QAC3B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,SAAS,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC;KACnE,CAAC;CACH;AAMD,kEAAkE;AAClE,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CA8BnE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAG5E;AAkBD;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,iBAAiB,CAAC,CAqG5B;AAMD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE;IACN,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,EACD,MAAM,EAAE,eAAe,EACvB,KAAK,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,qBAAqB,CAAC,CA+EhC"}
@@ -0,0 +1,247 @@
1
+ /**
2
+ * 2-hop auto-routing fallback for DCent Swap.
3
+ *
4
+ * When DCent API returns `fail_no_available_provider` for a direct pair,
5
+ * this module probes intermediate tokens (ETH, USDC, USDT per chain) to
6
+ * find 2-hop paths and calculates cumulative costs.
7
+ *
8
+ * Design source: doc 77 section 11 (Phase 345 confirmed scope: DS-04 fallback).
9
+ */
10
+ import { ChainError, parseCaip19 } from '@waiaas/core';
11
+ import { DcentSwapApiClient } from './dcent-api-client.js';
12
+ import { tryGetDcentQuotes, executeDexSwap } from './dex-swap.js';
13
+ // ---------------------------------------------------------------------------
14
+ // Per-chain intermediate tokens
15
+ // ---------------------------------------------------------------------------
16
+ /** Well-known intermediate tokens per CAIP-2 chain identifier. */
17
+ export const INTERMEDIATE_TOKENS = {
18
+ 'eip155:1': [
19
+ { caip19: 'eip155:1/slip44:60', symbol: 'ETH', decimals: 18 },
20
+ { caip19: 'eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', symbol: 'USDC', decimals: 6 },
21
+ { caip19: 'eip155:1/erc20:0xdac17f958d2ee523a2206206994597c13d831ec7', symbol: 'USDT', decimals: 6 },
22
+ ],
23
+ 'eip155:56': [
24
+ { caip19: 'eip155:56/slip44:60', symbol: 'BNB', decimals: 18 },
25
+ { caip19: 'eip155:56/erc20:0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d', symbol: 'USDC', decimals: 18 },
26
+ { caip19: 'eip155:56/erc20:0x55d398326f99059ff775485246999027b3197955', symbol: 'USDT', decimals: 18 },
27
+ ],
28
+ 'eip155:137': [
29
+ { caip19: 'eip155:137/slip44:966', symbol: 'MATIC', decimals: 18 },
30
+ { caip19: 'eip155:137/erc20:0x3c499c542cef5e3811e1192ce70d8cc03d5c3359', symbol: 'USDC', decimals: 6 },
31
+ { caip19: 'eip155:137/erc20:0xc2132d05d31c914a87c6611c10748aeb04b58e8f', symbol: 'USDT', decimals: 6 },
32
+ ],
33
+ 'eip155:10': [
34
+ { caip19: 'eip155:10/slip44:60', symbol: 'ETH', decimals: 18 },
35
+ { caip19: 'eip155:10/erc20:0x0b2c639c533813f4aa9d7837caf62653d097ff85', symbol: 'USDC', decimals: 6 },
36
+ { caip19: 'eip155:10/erc20:0x94b008aa00579c1307b0ef2c499ad98a8ce58e58', symbol: 'USDT', decimals: 6 },
37
+ ],
38
+ 'eip155:8453': [
39
+ { caip19: 'eip155:8453/slip44:60', symbol: 'ETH', decimals: 18 },
40
+ { caip19: 'eip155:8453/erc20:0x833589fcd6edb6e08f4c7c32d4f71b54bda02913', symbol: 'USDC', decimals: 6 },
41
+ ],
42
+ 'eip155:42161': [
43
+ { caip19: 'eip155:42161/slip44:60', symbol: 'ETH', decimals: 18 },
44
+ { caip19: 'eip155:42161/erc20:0xaf88d065e77c8cc2239327c5edb3a432268e5831', symbol: 'USDC', decimals: 6 },
45
+ { caip19: 'eip155:42161/erc20:0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9', symbol: 'USDT', decimals: 6 },
46
+ ],
47
+ };
48
+ /**
49
+ * Get intermediate tokens for a given CAIP-19 asset's chain.
50
+ * Extracts the CAIP-2 chain identifier from the CAIP-19 URI.
51
+ */
52
+ export function getIntermediatesForChain(caip19) {
53
+ const { chainId } = parseCaip19(caip19);
54
+ return INTERMEDIATE_TOKENS[chainId] ?? [];
55
+ }
56
+ // ---------------------------------------------------------------------------
57
+ // Fee extraction helper
58
+ // ---------------------------------------------------------------------------
59
+ function extractDepositFee(provider) {
60
+ const fee = provider.providerFee;
61
+ if (fee && typeof fee.depositFee === 'string') {
62
+ return fee.depositFee;
63
+ }
64
+ return '0';
65
+ }
66
+ // ---------------------------------------------------------------------------
67
+ // 2-hop route discovery
68
+ // ---------------------------------------------------------------------------
69
+ /**
70
+ * Find 2-hop routes via intermediate tokens when direct route is unavailable.
71
+ *
72
+ * 1. First checks if direct route exists — if yes, returns empty (no fallback needed).
73
+ * 2. For each intermediate token on the same chain:
74
+ * - Skip if same as fromAsset or toAsset
75
+ * - Query hop 1 (fromAsset -> intermediate) and hop 2 (intermediate -> toAsset)
76
+ * - Build TwoHopRoute with cumulative costs
77
+ * 3. Sort routes by finalExpectedAmount descending.
78
+ */
79
+ export async function findTwoHopRoutes(client, params) {
80
+ // Step 1: Check if direct route exists
81
+ const directResult = await tryGetDcentQuotes(client, params);
82
+ if ('result' in directResult && directResult.result.dexProviders.length > 0) {
83
+ // Direct route available — no fallback needed
84
+ return { routes: [], bestRoute: null };
85
+ }
86
+ // Step 2: Probe intermediate tokens
87
+ const intermediates = getIntermediatesForChain(params.fromAsset);
88
+ const routes = [];
89
+ // Use Promise.allSettled for parallel probing
90
+ const probeResults = await Promise.allSettled(intermediates.map(async (intermediate) => {
91
+ // Skip if intermediate is same as from or to
92
+ if (intermediate.caip19 === params.fromAsset || intermediate.caip19 === params.toAsset) {
93
+ return null;
94
+ }
95
+ // Hop 1: fromAsset -> intermediate
96
+ const hop1Result = await tryGetDcentQuotes(client, {
97
+ fromAsset: params.fromAsset,
98
+ toAsset: intermediate.caip19,
99
+ amount: params.amount,
100
+ fromDecimals: params.fromDecimals,
101
+ toDecimals: intermediate.decimals,
102
+ });
103
+ if ('noRoute' in hop1Result || !hop1Result.result.bestDexProvider) {
104
+ return null;
105
+ }
106
+ const hop1Provider = hop1Result.result.bestDexProvider;
107
+ const hop1ExpectedAmount = hop1Provider.expectedAmount ?? '0';
108
+ if (hop1ExpectedAmount === '0')
109
+ return null;
110
+ // Hop 2: intermediate -> toAsset
111
+ const hop2Result = await tryGetDcentQuotes(client, {
112
+ fromAsset: intermediate.caip19,
113
+ toAsset: params.toAsset,
114
+ amount: hop1ExpectedAmount,
115
+ fromDecimals: intermediate.decimals,
116
+ toDecimals: params.toDecimals,
117
+ });
118
+ if ('noRoute' in hop2Result || !hop2Result.result.bestDexProvider) {
119
+ return null;
120
+ }
121
+ const hop2Provider = hop2Result.result.bestDexProvider;
122
+ const hop2ExpectedAmount = hop2Provider.expectedAmount ?? '0';
123
+ if (hop2ExpectedAmount === '0')
124
+ return null;
125
+ // Calculate cumulative fees
126
+ const hop1Fee = extractDepositFee(hop1Provider);
127
+ const hop2Fee = extractDepositFee(hop2Provider);
128
+ const totalFee = (BigInt(hop1Fee) + BigInt(hop2Fee)).toString();
129
+ const route = {
130
+ intermediateToken: intermediate,
131
+ hop1: {
132
+ provider: hop1Provider,
133
+ fromAsset: params.fromAsset,
134
+ toAsset: intermediate.caip19,
135
+ },
136
+ hop2: {
137
+ provider: hop2Provider,
138
+ fromAsset: intermediate.caip19,
139
+ toAsset: params.toAsset,
140
+ },
141
+ finalExpectedAmount: hop2ExpectedAmount,
142
+ totalFees: { hop1Fee, hop2Fee, totalFee },
143
+ isMultiHop: true,
144
+ hopCount: 2,
145
+ };
146
+ return route;
147
+ }));
148
+ // Collect successful routes
149
+ for (const result of probeResults) {
150
+ if (result.status === 'fulfilled' && result.value) {
151
+ routes.push(result.value);
152
+ }
153
+ }
154
+ // Sort by finalExpectedAmount descending
155
+ routes.sort((a, b) => {
156
+ const amountA = BigInt(a.finalExpectedAmount);
157
+ const amountB = BigInt(b.finalExpectedAmount);
158
+ if (amountB > amountA)
159
+ return 1;
160
+ if (amountB < amountA)
161
+ return -1;
162
+ return 0;
163
+ });
164
+ return {
165
+ routes,
166
+ bestRoute: routes[0] ?? null,
167
+ };
168
+ }
169
+ // ---------------------------------------------------------------------------
170
+ // 2-hop execution
171
+ // ---------------------------------------------------------------------------
172
+ /**
173
+ * Execute a 2-hop swap, producing a flat ContractCallRequest[] BATCH.
174
+ *
175
+ * If route is not provided, calls findTwoHopRoutes to discover the best route.
176
+ * Concatenates hop1 + hop2 ContractCallRequest arrays.
177
+ * On hop2 failure, throws PARTIAL_SWAP_FAILURE with intermediate token info.
178
+ */
179
+ export async function executeTwoHopSwap(client, params, config, route) {
180
+ // Discover route if not provided
181
+ if (!route) {
182
+ const quoteResult = await findTwoHopRoutes(client, {
183
+ fromAsset: params.fromAsset,
184
+ toAsset: params.toAsset,
185
+ amount: params.amount,
186
+ fromDecimals: params.fromDecimals,
187
+ toDecimals: params.toDecimals,
188
+ });
189
+ if (!quoteResult.bestRoute) {
190
+ throw new ChainError('INVALID_INSTRUCTION', 'ethereum', {
191
+ message: `No 2-hop swap route available from ${params.fromAsset} to ${params.toAsset}`,
192
+ });
193
+ }
194
+ route = quoteResult.bestRoute;
195
+ }
196
+ const intermediate = route.intermediateToken;
197
+ const hop1ExpectedAmount = route.hop1.provider.expectedAmount ?? '0';
198
+ // Execute hop 1: fromAsset -> intermediate
199
+ const hop1Requests = await executeDexSwap(client, {
200
+ fromAsset: params.fromAsset,
201
+ toAsset: intermediate.caip19,
202
+ amount: params.amount,
203
+ fromDecimals: params.fromDecimals,
204
+ toDecimals: intermediate.decimals,
205
+ walletAddress: params.walletAddress,
206
+ slippageBps: params.slippageBps,
207
+ }, config);
208
+ // Execute hop 2: intermediate -> toAsset
209
+ let hop2Requests;
210
+ try {
211
+ hop2Requests = await executeDexSwap(client, {
212
+ fromAsset: intermediate.caip19,
213
+ toAsset: params.toAsset,
214
+ amount: hop1ExpectedAmount,
215
+ fromDecimals: intermediate.decimals,
216
+ toDecimals: params.toDecimals,
217
+ walletAddress: params.walletAddress,
218
+ slippageBps: params.slippageBps,
219
+ }, config);
220
+ }
221
+ catch {
222
+ // Partial failure: hop 1 may have succeeded but hop 2 failed
223
+ throw new ChainError('INVALID_INSTRUCTION', 'ethereum', {
224
+ message: `2-hop swap partially completed. Hop 1 succeeded but Hop 2 failed. ` +
225
+ `Intermediate token ${intermediate.symbol} (${intermediate.caip19}) may have balance of approximately ${hop1ExpectedAmount} smallest units. ` +
226
+ `Please check your wallet balance and swap the intermediate token manually.`,
227
+ });
228
+ }
229
+ // Combine into flat BATCH
230
+ const requests = [...hop1Requests, ...hop2Requests];
231
+ return {
232
+ requests,
233
+ metadata: {
234
+ isMultiHop: true,
235
+ hopCount: 2,
236
+ intermediateToken: {
237
+ caip19: intermediate.caip19,
238
+ symbol: intermediate.symbol,
239
+ decimals: intermediate.decimals,
240
+ },
241
+ hop1ExpectedAmount,
242
+ finalExpectedAmount: route.finalExpectedAmount,
243
+ totalFees: route.totalFees,
244
+ },
245
+ };
246
+ }
247
+ //# sourceMappingURL=auto-router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-router.js","sourceRoot":"","sources":["../../../src/providers/dcent-swap/auto-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAwB,MAAM,eAAe,CAAC;AAyCxF,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAE9E,kEAAkE;AAClE,MAAM,CAAC,MAAM,mBAAmB,GAAwC;IACtE,UAAU,EAAE;QACV,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC7D,EAAE,MAAM,EAAE,2DAA2D,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;QACpG,EAAE,MAAM,EAAE,2DAA2D,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;KACrG;IACD,WAAW,EAAE;QACX,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9D,EAAE,MAAM,EAAE,4DAA4D,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;QACtG,EAAE,MAAM,EAAE,4DAA4D,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;KACvG;IACD,YAAY,EAAE;QACZ,EAAE,MAAM,EAAE,uBAAuB,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAClE,EAAE,MAAM,EAAE,6DAA6D,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;QACtG,EAAE,MAAM,EAAE,6DAA6D,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;KACvG;IACD,WAAW,EAAE;QACX,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9D,EAAE,MAAM,EAAE,4DAA4D,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;QACrG,EAAE,MAAM,EAAE,4DAA4D,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;KACtG;IACD,aAAa,EAAE;QACb,EAAE,MAAM,EAAE,uBAAuB,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChE,EAAE,MAAM,EAAE,8DAA8D,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;KACxG;IACD,cAAc,EAAE;QACd,EAAE,MAAM,EAAE,wBAAwB,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;QACjE,EAAE,MAAM,EAAE,+DAA+D,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;QACxG,EAAE,MAAM,EAAE,+DAA+D,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;KACzG;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAc;IACrD,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,SAAS,iBAAiB,CAAC,QAA4B;IACrD,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAkD,CAAC;IACxE,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,GAAG,CAAC,UAAU,CAAC;IACxB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAA0B,EAC1B,MAAuB;IAEvB,uCAAuC;IACvC,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7D,IAAI,QAAQ,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5E,8CAA8C;QAC9C,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACzC,CAAC;IAED,oCAAoC;IACpC,MAAM,aAAa,GAAG,wBAAwB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACjE,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,8CAA8C;IAC9C,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,UAAU,CAC3C,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;QACvC,6CAA6C;QAC7C,IAAI,YAAY,CAAC,MAAM,KAAK,MAAM,CAAC,SAAS,IAAI,YAAY,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;YACvF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mCAAmC;QACnC,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE;YACjD,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,YAAY,CAAC,MAAM;YAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,UAAU,EAAE,YAAY,CAAC,QAAQ;SAClC,CAAC,CAAC;QAEH,IAAI,SAAS,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAClE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC;QACvD,MAAM,kBAAkB,GAAG,YAAY,CAAC,cAAc,IAAI,GAAG,CAAC;QAC9D,IAAI,kBAAkB,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAE5C,iCAAiC;QACjC,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE;YACjD,SAAS,EAAE,YAAY,CAAC,MAAM;YAC9B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,kBAAkB;YAC1B,YAAY,EAAE,YAAY,CAAC,QAAQ;YACnC,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;QAEH,IAAI,SAAS,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAClE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC;QACvD,MAAM,kBAAkB,GAAG,YAAY,CAAC,cAAc,IAAI,GAAG,CAAC;QAC9D,IAAI,kBAAkB,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAE5C,4BAA4B;QAC5B,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEhE,MAAM,KAAK,GAAgB;YACzB,iBAAiB,EAAE,YAAY;YAC/B,IAAI,EAAE;gBACJ,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,OAAO,EAAE,YAAY,CAAC,MAAM;aAC7B;YACD,IAAI,EAAE;gBACJ,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,YAAY,CAAC,MAAM;gBAC9B,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB;YACD,mBAAmB,EAAE,kBAAkB;YACvC,SAAS,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;YACzC,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,CAAC;SACZ,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CACH,CAAC;IAEF,4BAA4B;IAC5B,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QAClC,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACnB,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAC9C,IAAI,OAAO,GAAG,OAAO;YAAE,OAAO,CAAC,CAAC;QAChC,IAAI,OAAO,GAAG,OAAO;YAAE,OAAO,CAAC,CAAC,CAAC;QACjC,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,MAAM;QACN,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI;KAC7B,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAA0B,EAC1B,MAQC,EACD,MAAuB,EACvB,KAAmB;IAEnB,iCAAiC;IACjC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE;YACjD,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,UAAU,CAAC,qBAAqB,EAAE,UAAU,EAAE;gBACtD,OAAO,EAAE,sCAAsC,MAAM,CAAC,SAAS,OAAO,MAAM,CAAC,OAAO,EAAE;aACvF,CAAC,CAAC;QACL,CAAC;QACD,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC;IAChC,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAC7C,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,GAAG,CAAC;IAErE,2CAA2C;IAC3C,MAAM,YAAY,GAAG,MAAM,cAAc,CACvC,MAAM,EACN;QACE,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,YAAY,CAAC,MAAM;QAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,UAAU,EAAE,YAAY,CAAC,QAAQ;QACjC,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,EACD,MAAM,CACP,CAAC;IAEF,yCAAyC;IACzC,IAAI,YAAmC,CAAC;IACxC,IAAI,CAAC;QACH,YAAY,GAAG,MAAM,cAAc,CACjC,MAAM,EACN;YACE,SAAS,EAAE,YAAY,CAAC,MAAM;YAC9B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,kBAAkB;YAC1B,YAAY,EAAE,YAAY,CAAC,QAAQ;YACnC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,EACD,MAAM,CACP,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,6DAA6D;QAC7D,MAAM,IAAI,UAAU,CAAC,qBAAqB,EAAE,UAAU,EAAE;YACtD,OAAO,EAAE,oEAAoE;gBAC3E,sBAAsB,YAAY,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,uCAAuC,kBAAkB,mBAAmB;gBAC7I,4EAA4E;SAC/E,CAAC,CAAC;IACL,CAAC;IAED,0BAA0B;IAC1B,MAAM,QAAQ,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,YAAY,CAAC,CAAC;IAEpD,OAAO;QACL,QAAQ;QACR,QAAQ,EAAE;YACR,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,CAAC;YACX,iBAAiB,EAAE;gBACjB,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,QAAQ,EAAE,YAAY,CAAC,QAAQ;aAChC;YACD,kBAAkB;YAClB,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;YAC9C,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * DCent Swap configuration.
3
+ *
4
+ * Defines the DcentSwapConfig interface and default values.
5
+ * Design source: doc 77 section 10.4 (Admin Settings keys).
6
+ */
7
+ export interface DcentSwapConfig {
8
+ /** DCent Swap Backend API base URL (DS-01). */
9
+ apiBaseUrl: string;
10
+ /** HTTP request timeout in milliseconds. */
11
+ requestTimeoutMs: number;
12
+ /** Default slippage in basis points (1 bps = 0.01%). */
13
+ defaultSlippageBps: number;
14
+ /** Maximum slippage in basis points. */
15
+ maxSlippageBps: number;
16
+ /** Currency cache TTL in milliseconds (DS-05). */
17
+ currencyCacheTtlMs: number;
18
+ /** Exchange status polling interval in milliseconds (doc 77 section 8.4). */
19
+ exchangePollIntervalMs: number;
20
+ /** Exchange status polling maximum duration in milliseconds. */
21
+ exchangePollMaxMs: number;
22
+ }
23
+ /**
24
+ * Default configuration values.
25
+ *
26
+ * - DS-01: swapbuy-beta endpoint (includes Exchange providers)
27
+ * - DS-05: 24h currency cache TTL, 15s request timeout
28
+ */
29
+ export declare const DCENT_SWAP_DEFAULTS: DcentSwapConfig;
30
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/providers/dcent-swap/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,eAAe;IAC9B,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,gBAAgB,EAAE,MAAM,CAAC;IACzB,wDAAwD;IACxD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wCAAwC;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,kDAAkD;IAClD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,6EAA6E;IAC7E,sBAAsB,EAAE,MAAM,CAAC;IAC/B,gEAAgE;IAChE,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,eAQjC,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * DCent Swap configuration.
3
+ *
4
+ * Defines the DcentSwapConfig interface and default values.
5
+ * Design source: doc 77 section 10.4 (Admin Settings keys).
6
+ */
7
+ /**
8
+ * Default configuration values.
9
+ *
10
+ * - DS-01: swapbuy-beta endpoint (includes Exchange providers)
11
+ * - DS-05: 24h currency cache TTL, 15s request timeout
12
+ */
13
+ export const DCENT_SWAP_DEFAULTS = {
14
+ apiBaseUrl: 'https://swapbuy-beta.dcentwallet.com',
15
+ requestTimeoutMs: 15_000,
16
+ defaultSlippageBps: 100, // 1%
17
+ maxSlippageBps: 500, // 5%
18
+ currencyCacheTtlMs: 86_400_000, // 24 hours
19
+ exchangePollIntervalMs: 30_000, // 30 seconds
20
+ exchangePollMaxMs: 3_600_000, // 1 hour
21
+ };
22
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/providers/dcent-swap/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmBH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAoB;IAClD,UAAU,EAAE,sCAAsC;IAClD,gBAAgB,EAAE,MAAM;IACxB,kBAAkB,EAAE,GAAG,EAAG,KAAK;IAC/B,cAAc,EAAE,GAAG,EAAO,KAAK;IAC/B,kBAAkB,EAAE,UAAU,EAAE,WAAW;IAC3C,sBAAsB,EAAE,MAAM,EAAK,aAAa;IAChD,iBAAiB,EAAE,SAAS,EAAO,SAAS;CAC7C,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Convert a CAIP-19 asset type URI to a DCent Currency ID.
3
+ *
4
+ * @example caip19ToDcentId('eip155:1/slip44:60') => 'ETHEREUM'
5
+ * @example caip19ToDcentId('eip155:1/erc20:0xa0b8...') => 'ERC20/0xa0b8...'
6
+ * @example caip19ToDcentId('eip155:10/slip44:60') => 'CHAN:10'
7
+ * @example caip19ToDcentId('solana:.../token:EPjF...') => 'SPL-TOKEN/EPjF...'
8
+ */
9
+ export declare function caip19ToDcentId(caip19: string): string;
10
+ /**
11
+ * Convert a DCent Currency ID to a CAIP-19 asset type URI.
12
+ *
13
+ * @example dcentIdToCaip19('ETHEREUM') => 'eip155:1/slip44:60'
14
+ * @example dcentIdToCaip19('ERC20/0xa0b8...') => 'eip155:1/erc20:0xa0b8...'
15
+ * @example dcentIdToCaip19('CHAN:10') => 'eip155:10/slip44:60'
16
+ * @example dcentIdToCaip19('SPL-TOKEN/EPjF...') => 'solana:.../token:EPjF...'
17
+ */
18
+ export declare function dcentIdToCaip19(dcentId: string): string;
19
+ //# sourceMappingURL=currency-mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currency-mapper.d.ts","sourceRoot":"","sources":["../../../src/providers/dcent-swap/currency-mapper.ts"],"names":[],"mappings":"AAuEA;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAuCtD;AAMD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA+CvD"}