@rhinestone/sdk 2.0.0-beta.43 → 2.0.0-beta.44

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 (51) hide show
  1. package/README.md +2 -2
  2. package/dist/src/accounts/json-rpc/index.d.ts.map +1 -1
  3. package/dist/src/accounts/json-rpc/index.js +6 -12
  4. package/dist/src/accounts/json-rpc/providers.d.ts +1 -3
  5. package/dist/src/accounts/json-rpc/providers.d.ts.map +1 -1
  6. package/dist/src/accounts/json-rpc/providers.js +1 -13
  7. package/dist/src/accounts/nexus.d.ts +2 -2
  8. package/dist/src/accounts/nexus.d.ts.map +1 -1
  9. package/dist/src/accounts/nexus.js +61 -10
  10. package/dist/src/execution/index.d.ts.map +1 -1
  11. package/dist/src/execution/index.js +9 -10
  12. package/dist/src/execution/utils.d.ts.map +1 -1
  13. package/dist/src/execution/utils.js +16 -19
  14. package/dist/src/index.d.ts +11 -1
  15. package/dist/src/index.d.ts.map +1 -1
  16. package/dist/src/index.js +27 -1
  17. package/dist/src/modules/validators/cross-chain-permits.d.ts +3 -2
  18. package/dist/src/modules/validators/cross-chain-permits.d.ts.map +1 -1
  19. package/dist/src/modules/validators/cross-chain-permits.js +5 -9
  20. package/dist/src/modules/validators/policies/claim/arbiters.d.ts +8 -11
  21. package/dist/src/modules/validators/policies/claim/arbiters.d.ts.map +1 -1
  22. package/dist/src/modules/validators/policies/claim/arbiters.js +50 -27
  23. package/dist/src/modules/validators/smart-sessions.d.ts +1 -0
  24. package/dist/src/modules/validators/smart-sessions.d.ts.map +1 -1
  25. package/dist/src/modules/validators/smart-sessions.js +22 -14
  26. package/dist/src/orchestrator/caip2.d.ts +1 -3
  27. package/dist/src/orchestrator/caip2.d.ts.map +1 -1
  28. package/dist/src/orchestrator/caip2.js +30 -21
  29. package/dist/src/orchestrator/chain-catalog.d.ts +34 -0
  30. package/dist/src/orchestrator/chain-catalog.d.ts.map +1 -0
  31. package/dist/src/orchestrator/chain-catalog.js +46 -0
  32. package/dist/src/orchestrator/client.d.ts +14 -0
  33. package/dist/src/orchestrator/client.d.ts.map +1 -1
  34. package/dist/src/orchestrator/client.js +46 -0
  35. package/dist/src/orchestrator/consts.d.ts +1 -1
  36. package/dist/src/orchestrator/consts.js +1 -1
  37. package/dist/src/orchestrator/index.d.ts +1 -2
  38. package/dist/src/orchestrator/index.d.ts.map +1 -1
  39. package/dist/src/orchestrator/index.js +1 -2
  40. package/dist/src/orchestrator/registry.d.ts +2 -12
  41. package/dist/src/orchestrator/registry.d.ts.map +1 -1
  42. package/dist/src/orchestrator/registry.js +26 -83
  43. package/dist/src/orchestrator/types.d.ts +9 -12
  44. package/dist/src/orchestrator/types.d.ts.map +1 -1
  45. package/dist/src/orchestrator/wire.d.ts +1 -0
  46. package/dist/src/orchestrator/wire.d.ts.map +1 -1
  47. package/dist/src/orchestrator/wire.gen.d.ts +26 -6
  48. package/dist/src/orchestrator/wire.gen.d.ts.map +1 -1
  49. package/dist/src/types.d.ts +15 -19
  50. package/dist/src/types.d.ts.map +1 -1
  51. package/package.json +1 -2
@@ -1 +1 @@
1
- {"version":3,"file":"arbiters.d.ts","sourceRoot":"","sources":["../../../../../../modules/validators/policies/claim/arbiters.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAiBlE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,SAAS,yBAAyB,EAAE,GAAG,SAAS,EACxD,eAAe,CAAC,EAAE,OAAO,GACxB,OAAO,EAAE,GAAG,SAAS,CA8BvB"}
1
+ {"version":3,"file":"arbiters.d.ts","sourceRoot":"","sources":["../../../../../../modules/validators/policies/claim/arbiters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAoDlE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,SAAS,yBAAyB,EAAE,GAAG,SAAS,EACxD,eAAe,CAAC,EAAE,OAAO,GACxB,OAAO,EAAE,GAAG,SAAS,CA2BvB"}
@@ -1,9 +1,7 @@
1
- import { contractAddresses, contractAddressesDev, } from '@rhinestone/shared-configs';
2
1
  /**
3
- * The contract registry keys (per `shared-configs/contracts.{,dev}.js`)
4
- * that each settlement layer expands to. `ACROSS` whitelists both arbiter
5
- * impls so a session is permissioned for the 7579 and multicall paths
6
- * regardless of which one the orchestrator picks at intent time.
2
+ * The arbiter contract keys that each settlement layer expands to. `ACROSS`
3
+ * whitelists both arbiter impls so a session is permissioned for the 7579 and
4
+ * multicall paths regardless of which one the orchestrator picks at intent time.
7
5
  */
8
6
  const SETTLEMENT_LAYER_CONTRACT_KEYS = {
9
7
  SAME_CHAIN: ['samechainArbiter'],
@@ -11,18 +9,47 @@ const SETTLEMENT_LAYER_CONTRACT_KEYS = {
11
9
  ACROSS: ['across7579Arbiter', 'acrossMulticallArbiter'],
12
10
  };
13
11
  /**
14
- * Collects every distinct arbiter address that any chain in the registry
15
- * has deployed for the given settlement layers. The resulting whitelist
16
- * is what the Permit2 claim policy enforces on-chain — a session signed
17
- * once with this whitelist is valid against any of those arbiters.
12
+ * Bundled arbiter allow-set — the deployed arbiter addresses per key, per
13
+ * environment (the union across chains).
18
14
  *
19
- * **"Any" means any of the *supported* settlement layers**, not any
20
- * address on earth. When `layers` is empty or undefined, this resolver
21
- * expands to the union of every layer in
22
- * {@link SETTLEMENT_LAYER_CONTRACT_KEYS}, so the on-chain arbiter check
23
- * stays meaningful (the worst case is still a Rhinestone-blessed
24
- * arbiter). To get a truly unrestricted whitelist a caller would have
25
- * to bypass this helper entirely.
15
+ * v2: this is a small, signed-path **constant** bundled in the SDK rather than
16
+ * read from `@rhinestone/shared-configs`. The arbiter is baked into the user's
17
+ * Permit2 session signature, so it must stay **client-trusted** — never sourced
18
+ * from the orchestrator you transact against. Rhinestone's arbiters are CREATE2
19
+ * and near-uniform across chains, so this is a handful of addresses per key
20
+ * (e.g. `ecoArbiter` has a mainnet and a testnet address). A new *chain* reuses
21
+ * these; only a contract redeploy or a new settlement layer changes them.
22
+ */
23
+ const ARBITER_ADDRESSES = {
24
+ prod: {
25
+ samechainArbiter: ['0x000000000006e2569CaF8Ff021810790e0A0D740'],
26
+ ecoArbiter: [
27
+ '0x2e7627CCfAe4eDb336eEb5a70f08415B0F1a2b8C',
28
+ '0xA212A6ACCC8db0e4cdf4394D0A851c70Fc27A8F0',
29
+ ],
30
+ across7579Arbiter: ['0x28a4D41776968c1201A807ec51fFB405362B8882'],
31
+ acrossMulticallArbiter: ['0xA162fabb9a0EeF2736485A587aAAB3d015e14224'],
32
+ },
33
+ dev: {
34
+ samechainArbiter: ['0x8fA7720Eee299223f25De8DC03C68A28541dCD10'],
35
+ ecoArbiter: [
36
+ '0x1BeBAfb3D05d84A5Bfd94800c88d1342f755d8AB',
37
+ '0x8A061029AE4c5Cf69b5368119B3b0C80B31F55fE',
38
+ ],
39
+ across7579Arbiter: ['0x1b19973F7a29E950ad4FaF8872745B6378005517'],
40
+ acrossMulticallArbiter: ['0x8343FBBA0526deC1c952A098057021027648bcf9'],
41
+ },
42
+ };
43
+ /**
44
+ * Collects every distinct arbiter address for the given settlement layers. The
45
+ * resulting whitelist is what the Permit2 claim policy enforces on-chain — a
46
+ * session signed once with this whitelist is valid against any of those
47
+ * arbiters.
48
+ *
49
+ * **"Any" means any of the *supported* settlement layers**, not any address on
50
+ * earth. When `layers` is empty or undefined, this expands to the union of
51
+ * every layer in {@link SETTLEMENT_LAYER_CONTRACT_KEYS}, so the on-chain arbiter
52
+ * check stays meaningful (the worst case is still a Rhinestone-blessed arbiter).
26
53
  *
27
54
  * @param layers Settlement layers the session is permitted to use.
28
55
  * Empty/undefined ⇒ all supported layers.
@@ -32,20 +59,16 @@ export function getArbitersForSettlementLayers(layers, useDevContracts) {
32
59
  const effectiveLayers = !layers || layers.length === 0
33
60
  ? Object.keys(SETTLEMENT_LAYER_CONTRACT_KEYS)
34
61
  : layers;
35
- const registry = useDevContracts ? contractAddressesDev : contractAddresses;
62
+ const book = ARBITER_ADDRESSES[useDevContracts ? 'dev' : 'prod'];
36
63
  const keys = effectiveLayers.flatMap((l) => SETTLEMENT_LAYER_CONTRACT_KEYS[l]);
37
64
  const seen = new Set();
38
65
  const addresses = [];
39
- // shared-configs is shaped Record<chainId, Record<contractKey, Address>>.
40
- // The same logical arbiter often shares an address across chains, but a
41
- // given key may also have multiple addresses live in the wild (e.g.
42
- // post-redeploy). We collect every unique address we see for the keys
43
- // the caller asked for, deduplicated case-insensitively.
44
- for (const chainContracts of Object.values(registry)) {
45
- for (const key of keys) {
46
- const addr = chainContracts[key];
47
- if (!addr)
48
- continue;
66
+ // The same logical arbiter often shares an address across chains, but a given
67
+ // key may have multiple addresses live (e.g. a mainnet + testnet deployment).
68
+ // Collect every unique address for the requested keys, deduped
69
+ // case-insensitively.
70
+ for (const key of keys) {
71
+ for (const addr of book[key] ?? []) {
49
72
  const norm = addr.toLowerCase();
50
73
  if (seen.has(norm))
51
74
  continue;
@@ -190,6 +190,7 @@ declare function getDisableSessionCall(account: Address, session: Session, expir
190
190
  }>;
191
191
  declare function toSession<const TAbis extends readonly Abi[]>(definition: SessionDefinition<TAbis>, options?: {
192
192
  useDevContracts?: boolean;
193
+ wrappedNativeToken?: Address;
193
194
  }): Session;
194
195
  /**
195
196
  * Selects the claim policy whose constraints the given Permit2 message
@@ -1 +1 @@
1
- {"version":3,"file":"smart-sessions.d.ts","sourceRoot":"","sources":["../../../../modules/validators/smart-sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smart-sessions.d.ts","sourceRoot":"","sources":["../../../../modules/validators/smart-sessions.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { K1_DEFAULT_VALIDATOR_ADDRESS } from '../../accounts/startale.js';
6
6
  import { createTransport } from '../../accounts/utils.js';
7
7
  import { RESET_PERIOD_ONE_WEEK, SCOPE_MULTICHAIN, } from '../../execution/compact.js';
8
8
  import { signTypedData } from '../../execution/utils.js';
9
- import { getChainById, getWrappedTokenAddress, } from '../../orchestrator/registry.js';
9
+ import { getChainById } from '../../orchestrator/registry.js';
10
10
  import smartSessionEmissaryAbi from '../abi/smart-session-emissary.js';
11
11
  import { MODULE_TYPE_ID_VALIDATOR } from '../common.js';
12
12
  import { getOwnerValidator, getValidator, ownerSetUsesEns, SMART_SESSION_EMISSARY_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS_DEV, } from './core.js';
@@ -494,7 +494,7 @@ async function getDisableSessionCall(account, session, expires, provider, useDev
494
494
  }
495
495
  function toSession(definition, options = {}) {
496
496
  const addresses = resolvePolicyAddresses(definition.policyAddresses);
497
- const sessionData = resolveSessionData(definition, options.useDevContracts, addresses);
497
+ const sessionData = resolveSessionData(definition, options.useDevContracts, addresses, options.wrappedNativeToken);
498
498
  // Cross-chain permits add synthesized claim policies that must appear
499
499
  // on the returned `Session` too — `getSessionData(session)` re-encodes
500
500
  // from `session.claimPolicies` at signing time, so missing entries
@@ -705,7 +705,7 @@ function resolvePermit2ClaimPolicy(policy) {
705
705
  })),
706
706
  };
707
707
  }
708
- function resolveSessionData(session, useDevContracts, addresses = DEFAULT_POLICY_ADDRESSES) {
708
+ function resolveSessionData(session, useDevContracts, addresses = DEFAULT_POLICY_ADDRESSES, wrappedNativeToken) {
709
709
  // ENS validation is HCA-only, and HCA accounts cannot install the smart
710
710
  // session validator, so an ENS session owner would silently resolve to the
711
711
  // HCA module and sign/enable against a validator the account does not have.
@@ -749,18 +749,26 @@ function resolveSessionData(session, useDevContracts, addresses = DEFAULT_POLICY
749
749
  const expandedPermits = (session.crossChainPermits ?? []).map((p) => expandCrossChainPermit(p, useDevContracts));
750
750
  const extraClaimPolicies = expandedPermits.map((e) => e.claim);
751
751
  const permitFallbackPolicies = expandedPermits.flatMap((e) => e.fallbackPolicies);
752
+ // Native-token wrapping: permit `deposit()` on the chain's wrapped-native
753
+ // token. Only injected when the wrapped-native address is known — supplied by
754
+ // `RhinestoneSDK.createSession` (resolved from `/chains`). Direct `toSession`
755
+ // callers pass `wrappedNativeToken` to opt in.
756
+ const nativeWrapActions = wrappedNativeToken
757
+ ? [
758
+ {
759
+ target: wrappedNativeToken,
760
+ selector: toFunctionSelector({
761
+ type: 'function',
762
+ name: 'deposit',
763
+ inputs: [],
764
+ outputs: [],
765
+ stateMutability: 'payable',
766
+ }),
767
+ },
768
+ ]
769
+ : [];
752
770
  const injectedActions = [
753
- // Native token wrapping
754
- {
755
- target: getWrappedTokenAddress(session.chain),
756
- selector: toFunctionSelector({
757
- type: 'function',
758
- name: 'deposit',
759
- inputs: [],
760
- outputs: [],
761
- stateMutability: 'payable',
762
- }),
763
- },
771
+ ...nativeWrapActions,
764
772
  // Intent-execution fallback for any non-scoped call. Cross-chain
765
773
  // permits attach their synthesized SpendingLimits / TimeFrame
766
774
  // guardrails to this same fallback so the on-chain emissary applies
@@ -10,9 +10,7 @@ declare function isEvmCaip2(chainId: string): chainId is EvmCaip2ChainId;
10
10
  /**
11
11
  * True when a numeric chain id is genuinely non-EVM (Solana / Tron). HyperCore
12
12
  * (1337) is EVM-settled, so this is `false` for it even though its wire id is
13
- * the non-eip155 `hypercore:mainnet` namespace — `registry.ts` /
14
- * `execution/utils.ts` rely on HyperCore being EVM-classified here. Sourced
15
- * from the shared-configs registry `vmType`.
13
+ * the non-`eip155` `hypercore:mainnet` namespace.
16
14
  */
17
15
  declare function isNonEvmChainId(chainId: number): boolean;
18
16
  export type { Caip2ChainId, EvmCaip2ChainId, SolanaCaip2ChainId, TronCaip2ChainId, HyperCoreCaip2ChainId, };
@@ -1 +1 @@
1
- {"version":3,"file":"caip2.d.ts","sourceRoot":"","sources":["../../../orchestrator/caip2.ts"],"names":[],"mappings":"AAeA,KAAK,eAAe,GAAG,UAAU,MAAM,EAAE,CAAA;AACzC,KAAK,kBAAkB,GAAG,UAAU,MAAM,EAAE,CAAA;AAC5C,KAAK,gBAAgB,GAAG,QAAQ,MAAM,EAAE,CAAA;AACxC,KAAK,qBAAqB,GAAG,mBAAmB,CAAA;AAChD,KAAK,YAAY,GACb,eAAe,GACf,kBAAkB,GAClB,gBAAgB,GAChB,qBAAqB,CAAA;AAIzB,iBAAS,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAO9C;AAED,iBAAS,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAU1C;AAED,iBAAS,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI,YAAY,CAGzD;AAED,iBAAS,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI,eAAe,CAE/D;AAED;;;;;;GAMG;AACH,iBAAS,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,YAAY,EACV,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,GACtB,CAAA;AACD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"caip2.d.ts","sourceRoot":"","sources":["../../../orchestrator/caip2.ts"],"names":[],"mappings":"AAWA,KAAK,eAAe,GAAG,UAAU,MAAM,EAAE,CAAA;AACzC,KAAK,kBAAkB,GAAG,UAAU,MAAM,EAAE,CAAA;AAC5C,KAAK,gBAAgB,GAAG,QAAQ,MAAM,EAAE,CAAA;AACxC,KAAK,qBAAqB,GAAG,mBAAmB,CAAA;AAChD,KAAK,YAAY,GACb,eAAe,GACf,kBAAkB,GAClB,gBAAgB,GAChB,qBAAqB,CAAA;AAqBzB,iBAAS,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAM9C;AAED,iBAAS,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAS1C;AAED,iBAAS,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI,YAAY,CAGzD;AAED,iBAAS,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI,eAAe,CAE/D;AAED;;;;GAIG;AACH,iBAAS,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,YAAY,EACV,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,GACtB,CAAA;AACD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,OAAO,EAAE,CAAA"}
@@ -1,37 +1,48 @@
1
- // CAIP-2 wire format. The namespace ↔ numeric-id mapping is owned by
2
- // `@rhinestone/shared-configs` (the same source the orchestrator uses), so the
3
- // SDK and orchestrator can't drift on the wire shape — adding a chain is a
4
- // shared-configs registry entry, not a hand-maintained table in each repo.
5
- // HyperCore is a first-class `virtual` registry entry there: its canonical id
6
- // is `hypercore:mainnet` (EVM-settled, so `isNonEvmChainId(1337) === false`).
1
+ // CAIP-2 wire format. EVM chains map programmatically (`eip155:<id>`); the
2
+ // handful of non-EVM / virtual chains carry an explicit id ↔ caip2 mapping.
3
+ //
4
+ // v2: this small table is bundled here rather than read from
5
+ // `@rhinestone/shared-configs`. EVM is the common case and needs no table, so a
6
+ // new EVM chain needs no SDK change; a new non-EVM chain is rare and adds one
7
+ // entry below. HyperCore is EVM-settled (id 1337) so `isNonEvmChainId` is
8
+ // `false` for it even though its wire id is the non-`eip155` `hypercore:mainnet`.
7
9
  //
8
10
  // Spec: https://chainagnostic.org/CAIPs/caip-2
9
- import { chainIdFromCaip2, getCaip2, isNonEvmChainId as isNonEvmChainIdFromRegistry, } from '@rhinestone/shared-configs';
11
+ // Non-`eip155` chains. `nonEvm` distinguishes genuinely non-EVM VMs
12
+ // (Solana/Tron) from EVM-settled virtual chains (HyperCore) — see
13
+ // `isNonEvmChainId`.
14
+ const NON_EVM_CHAINS = [
15
+ { id: 1337, caip2: 'hypercore:mainnet', nonEvm: false },
16
+ { id: 728126428, caip2: 'tron:mainnet', nonEvm: true },
17
+ {
18
+ id: 792703809,
19
+ caip2: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',
20
+ nonEvm: true,
21
+ },
22
+ ];
10
23
  const EIP155_CAIP2_REGEX = /^eip155:\d+$/;
11
24
  function toCaip2(chainId) {
12
25
  if (!Number.isInteger(chainId) || chainId < 0) {
13
26
  throw new Error(`Invalid chain id: ${chainId}`);
14
27
  }
15
- // `getCaip2` returns the registry-declared caip2 (Solana/Tron/HyperCore) or
16
- // the `eip155:<id>` fallback for plain EVM chains.
17
- return getCaip2(chainId);
28
+ const nonEvm = NON_EVM_CHAINS.find((c) => c.id === chainId);
29
+ return nonEvm ? nonEvm.caip2 : `eip155:${chainId}`;
18
30
  }
19
31
  function fromCaip2(chainId) {
20
- // eip155 references aren't registry-backed (they compose programmatically),
21
- // so parse them numerically here. This also keeps accepting the legacy
22
- // `eip155:1337` HyperCore id for back-compat.
32
+ // eip155 references compose programmatically. This also keeps accepting the
33
+ // legacy `eip155:1337` HyperCore id for back-compat.
23
34
  if (EIP155_CAIP2_REGEX.test(chainId)) {
24
35
  return Number(chainId.slice('eip155:'.length));
25
36
  }
26
- const id = chainIdFromCaip2(chainId);
27
- if (id !== undefined)
28
- return id;
37
+ const entry = NON_EVM_CHAINS.find((c) => c.caip2 === chainId);
38
+ if (entry)
39
+ return entry.id;
29
40
  throw new Error(`Invalid CAIP-2 chain id: ${chainId}`);
30
41
  }
31
42
  function isCaip2(chainId) {
32
43
  if (EIP155_CAIP2_REGEX.test(chainId))
33
44
  return true;
34
- return chainIdFromCaip2(chainId) !== undefined;
45
+ return NON_EVM_CHAINS.some((c) => c.caip2 === chainId);
35
46
  }
36
47
  function isEvmCaip2(chainId) {
37
48
  return EIP155_CAIP2_REGEX.test(chainId);
@@ -39,11 +50,9 @@ function isEvmCaip2(chainId) {
39
50
  /**
40
51
  * True when a numeric chain id is genuinely non-EVM (Solana / Tron). HyperCore
41
52
  * (1337) is EVM-settled, so this is `false` for it even though its wire id is
42
- * the non-eip155 `hypercore:mainnet` namespace — `registry.ts` /
43
- * `execution/utils.ts` rely on HyperCore being EVM-classified here. Sourced
44
- * from the shared-configs registry `vmType`.
53
+ * the non-`eip155` `hypercore:mainnet` namespace.
45
54
  */
46
55
  function isNonEvmChainId(chainId) {
47
- return isNonEvmChainIdFromRegistry(chainId);
56
+ return NON_EVM_CHAINS.some((c) => c.id === chainId && c.nonEvm);
48
57
  }
49
58
  export { fromCaip2, isCaip2, isEvmCaip2, isNonEvmChainId, toCaip2 };
@@ -0,0 +1,34 @@
1
+ export type CatalogToken = {
2
+ symbol: string;
3
+ address: string;
4
+ decimals: number;
5
+ };
6
+ export type ChainInfo = {
7
+ name: string;
8
+ testnet: boolean;
9
+ supportedTokens: 'all' | CatalogToken[];
10
+ wrappedNativeToken?: CatalogToken;
11
+ };
12
+ export type ChainInfoMap = Record<number, ChainInfo>;
13
+ /**
14
+ * Read-only view over the chain facts returned by `GET /chains`. Built once
15
+ * (prefetched at account construction) and read synchronously thereafter.
16
+ */
17
+ export declare class ChainCatalog {
18
+ private readonly chains;
19
+ constructor(chains: ChainInfoMap);
20
+ getSupportedChainIds(): number[];
21
+ isSupported(chainId: number): boolean;
22
+ getChainInfo(chainId: number): ChainInfo | undefined;
23
+ /**
24
+ * Whether the chain is a testnet, per the orchestrator's `/chains`. Uses the
25
+ * catalog's own flag so it is authoritative for every supported chain
26
+ * (including non-EVM and chains newer than the SDK's viem), rather than
27
+ * viem's local chain list.
28
+ */
29
+ isTestnet(chainId: number): boolean;
30
+ /** The wrapped-native (e.g. WETH) token for the chain, if the orchestrator advertises it. */
31
+ getWrappedNativeToken(chainId: number): CatalogToken | undefined;
32
+ getSupportedTokens(chainId: number): 'all' | CatalogToken[] | undefined;
33
+ }
34
+ //# sourceMappingURL=chain-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-catalog.d.ts","sourceRoot":"","sources":["../../../orchestrator/chain-catalog.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAGhB,eAAe,EAAE,KAAK,GAAG,YAAY,EAAE,CAAA;IAIvC,kBAAkB,CAAC,EAAE,YAAY,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AAEpD;;;GAGG;AACH,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAEjD,oBAAoB,IAAI,MAAM,EAAE;IAIhC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIrC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIpD;;;;;OAKG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAInC,6FAA6F;IAC7F,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIhE,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,YAAY,EAAE,GAAG,SAAS;CAGxE"}
@@ -0,0 +1,46 @@
1
+ // Runtime chain catalog, sourced from the orchestrator's `GET /chains`.
2
+ //
3
+ // This replaces the SDK's bundled `@rhinestone/shared-configs` chain data: the
4
+ // orchestrator is authoritative for chain *facts* (which chains are supported,
5
+ // their tokens, and the wrapped-native token), so the SDK reads them at runtime
6
+ // instead of baking them in at build time. That's what lets a new chain go live
7
+ // without an SDK release.
8
+ //
9
+ // `Chain` objects themselves (rpc/nativeCurrency/formatters, needed for signing
10
+ // and `createPublicClient`) still come from viem — `/chains` can't carry those.
11
+ // The catalog only owns the chain *facts*.
12
+ /**
13
+ * Read-only view over the chain facts returned by `GET /chains`. Built once
14
+ * (prefetched at account construction) and read synchronously thereafter.
15
+ */
16
+ export class ChainCatalog {
17
+ chains;
18
+ constructor(chains) {
19
+ this.chains = chains;
20
+ }
21
+ getSupportedChainIds() {
22
+ return Object.keys(this.chains).map(Number);
23
+ }
24
+ isSupported(chainId) {
25
+ return chainId in this.chains;
26
+ }
27
+ getChainInfo(chainId) {
28
+ return this.chains[chainId];
29
+ }
30
+ /**
31
+ * Whether the chain is a testnet, per the orchestrator's `/chains`. Uses the
32
+ * catalog's own flag so it is authoritative for every supported chain
33
+ * (including non-EVM and chains newer than the SDK's viem), rather than
34
+ * viem's local chain list.
35
+ */
36
+ isTestnet(chainId) {
37
+ return this.chains[chainId]?.testnet ?? false;
38
+ }
39
+ /** The wrapped-native (e.g. WETH) token for the chain, if the orchestrator advertises it. */
40
+ getWrappedNativeToken(chainId) {
41
+ return this.chains[chainId]?.wrappedNativeToken;
42
+ }
43
+ getSupportedTokens(chainId) {
44
+ return this.chains[chainId]?.supportedTokens;
45
+ }
46
+ }
@@ -1,5 +1,6 @@
1
1
  import type { Address } from 'viem';
2
2
  import type { AuthProvider } from '../auth/provider.js';
3
+ import { ChainCatalog, type ChainInfoMap } from './chain-catalog.js';
3
4
  import type { AppFeeBalances, IntentInput, IntentOpStatus, IntentSubmitRequestInternal, IntentSubmitResponse, Portfolio, QuoteResponse, SplitIntentsInput, SplitIntentsResult } from './types.js';
4
5
  interface PolicyContext {
5
6
  intentInput: unknown;
@@ -9,6 +10,7 @@ export declare class Orchestrator {
9
10
  private serverUrl;
10
11
  private authProvider;
11
12
  private extraHeaders?;
13
+ private chainCatalogPromise?;
12
14
  constructor(serverUrl: string, authProvider: AuthProvider, headers?: Record<string, string>);
13
15
  getPortfolio(accountAddress: Address, filter?: {
14
16
  chainIds?: number[];
@@ -16,6 +18,18 @@ export declare class Orchestrator {
16
18
  [chainId: number]: Address[];
17
19
  };
18
20
  }): Promise<Portfolio>;
21
+ /**
22
+ * Fetch the supported chains and their facts (tokens, wrapped-native token)
23
+ * from the orchestrator's public `/chains` endpoint. Returns a map keyed by
24
+ * numeric chain id (CAIP-2 keys on the wire are decoded).
25
+ */
26
+ getChains(): Promise<ChainInfoMap>;
27
+ /**
28
+ * Lazily fetch (once) the runtime chain catalog from `/chains`. Cached for the
29
+ * lifetime of this client; callers that need chain facts await this instead of
30
+ * relying on bundled chain data.
31
+ */
32
+ getChainCatalog(): Promise<ChainCatalog>;
19
33
  getAppFeeBalances(): Promise<AppFeeBalances>;
20
34
  createQuote(input: IntentInput): Promise<QuoteResponse>;
21
35
  getSplit(input: SplitIntentsInput): Promise<SplitIntentsResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../orchestrator/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAQpD,OAAO,KAAK,EAEV,cAAc,EAMd,WAAW,EACX,cAAc,EAEd,2BAA2B,EAC3B,oBAAoB,EACpB,SAAS,EAET,aAAa,EAEb,iBAAiB,EACjB,kBAAkB,EAGnB,MAAM,SAAS,CAAA;AAqBhB,UAAU,aAAa;IACrB,WAAW,EAAE,OAAO,CAAA;IACpB,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,YAAY,CAAC,CAAwB;gBAG3C,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,YAAY,EAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAO5B,YAAY,CAChB,cAAc,EAAE,OAAO,EACvB,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;QACnB,MAAM,CAAC,EAAE;YAAE,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,CAAA;SAAE,CAAA;KAC1C,GACA,OAAO,CAAC,SAAS,CAAC;IAiCf,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAW5C,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAUvD,QAAQ,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAoB/D,YAAY,CAChB,OAAO,EAAE,2BAA2B,EACpC,aAAa,CAAC,EAAE,aAAa,GAC5B,OAAO,CAAC,oBAAoB,CAAC;IAmB1B,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;YAsB5C,UAAU;YAWV,gBAAgB;YAiBhB,KAAK;CA8BpB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../orchestrator/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAEpD,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAOjE,OAAO,KAAK,EAEV,cAAc,EAMd,WAAW,EACX,cAAc,EAEd,2BAA2B,EAC3B,oBAAoB,EACpB,SAAS,EAET,aAAa,EAEb,iBAAiB,EACjB,kBAAkB,EAGnB,MAAM,SAAS,CAAA;AAsBhB,UAAU,aAAa;IACrB,WAAW,EAAE,OAAO,CAAA;IACpB,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,YAAY,CAAC,CAAwB;IAG7C,OAAO,CAAC,mBAAmB,CAAC,CAAuB;gBAGjD,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,YAAY,EAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAO5B,YAAY,CAChB,cAAc,EAAE,OAAO,EACvB,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;QACnB,MAAM,CAAC,EAAE;YAAE,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,CAAA;SAAE,CAAA;KAC1C,GACA,OAAO,CAAC,SAAS,CAAC;IAiCrB;;;;OAIG;IACG,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC;IA2BxC;;;;OAIG;IACH,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC;IAOlC,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAW5C,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAUvD,QAAQ,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAoB/D,YAAY,CAChB,OAAO,EAAE,2BAA2B,EACpC,aAAa,CAAC,EAAE,aAAa,GAC5B,OAAO,CAAC,oBAAoB,CAAC;IAmB1B,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;YAsB5C,UAAU;YAWV,gBAAgB;YAiBhB,KAAK;CA8BpB"}
@@ -1,4 +1,5 @@
1
1
  import { fromCaip2, isCaip2, toCaip2 } from './caip2.js';
2
+ import { ChainCatalog } from './chain-catalog.js';
2
3
  import { API_VERSION, SDK_VERSION } from './consts.js';
3
4
  import { OrchestratorError, parseErrorEnvelope, } from './error.js';
4
5
  import { convertBigIntFields } from './utils.js';
@@ -6,6 +7,9 @@ export class Orchestrator {
6
7
  serverUrl;
7
8
  authProvider;
8
9
  extraHeaders;
10
+ // Memoized so the chain catalog is fetched at most once per client, lazily on
11
+ // first use — never at account construction.
12
+ chainCatalogPromise;
9
13
  constructor(serverUrl, authProvider, headers) {
10
14
  this.serverUrl = serverUrl;
11
15
  this.authProvider = authProvider;
@@ -41,6 +45,48 @@ export class Orchestrator {
41
45
  })),
42
46
  }));
43
47
  }
48
+ /**
49
+ * Fetch the supported chains and their facts (tokens, wrapped-native token)
50
+ * from the orchestrator's public `/chains` endpoint. Returns a map keyed by
51
+ * numeric chain id (CAIP-2 keys on the wire are decoded).
52
+ */
53
+ async getChains() {
54
+ const json = (await this.fetch(`${this.serverUrl}/chains`, {
55
+ headers: await this.getHeaders(),
56
+ }));
57
+ const out = {};
58
+ for (const [key, entry] of Object.entries(json)) {
59
+ let id;
60
+ try {
61
+ id = isCaip2(key) ? fromCaip2(key) : Number(key);
62
+ }
63
+ catch {
64
+ // Skip chains whose CAIP-2 id we can't map to a numeric id.
65
+ continue;
66
+ }
67
+ if (!Number.isFinite(id))
68
+ continue;
69
+ // Adapter boundary: map the generated wire shape → the domain `ChainInfo`.
70
+ // If the orchestrator renames or drops a field, `wire.gen.ts` regenerates
71
+ // and this mapping fails to typecheck instead of drifting silently.
72
+ out[id] = {
73
+ name: entry.name,
74
+ testnet: entry.testnet,
75
+ supportedTokens: entry.supportedTokens,
76
+ wrappedNativeToken: entry.wrappedNativeToken,
77
+ };
78
+ }
79
+ return out;
80
+ }
81
+ /**
82
+ * Lazily fetch (once) the runtime chain catalog from `/chains`. Cached for the
83
+ * lifetime of this client; callers that need chain facts await this instead of
84
+ * relying on bundled chain data.
85
+ */
86
+ getChainCatalog() {
87
+ this.chainCatalogPromise ??= this.getChains().then((chains) => new ChainCatalog(chains));
88
+ return this.chainCatalogPromise;
89
+ }
44
90
  async getAppFeeBalances() {
45
91
  const json = await this.fetch(`${this.serverUrl}/app-fees/balances`, { headers: await this.getHeaders() });
46
92
  return {
@@ -1,6 +1,6 @@
1
1
  declare const PROD_ORCHESTRATOR_URL = "https://v1.orchestrator.rhinestone.dev";
2
2
  declare const RHINESTONE_SPOKE_POOL_ADDRESS = "0x000000000060f6e853447881951574cdd0663530";
3
- declare const SDK_VERSION = "2.0.0-beta.43";
3
+ declare const SDK_VERSION = "2.0.0-beta.44";
4
4
  declare const API_VERSION = "2026-04.blanc";
5
5
  export { PROD_ORCHESTRATOR_URL, RHINESTONE_SPOKE_POOL_ADDRESS, SDK_VERSION, API_VERSION, };
6
6
  //# sourceMappingURL=consts.d.ts.map
@@ -1,5 +1,5 @@
1
1
  const PROD_ORCHESTRATOR_URL = 'https://v1.orchestrator.rhinestone.dev';
2
2
  const RHINESTONE_SPOKE_POOL_ADDRESS = '0x000000000060f6e853447881951574cdd0663530';
3
- const SDK_VERSION = '2.0.0-beta.43';
3
+ const SDK_VERSION = '2.0.0-beta.44';
4
4
  const API_VERSION = '2026-04.blanc';
5
5
  export { PROD_ORCHESTRATOR_URL, RHINESTONE_SPOKE_POOL_ADDRESS, SDK_VERSION, API_VERSION, };
@@ -4,10 +4,9 @@ import { RHINESTONE_SPOKE_POOL_ADDRESS } from './consts.js';
4
4
  import { type DestinationChain, hyperCoreMainnet, isNonEvmChain, type NonEvmAddress, type NonEvmChain, solanaMainnet, tronMainnet } from './destinations.js';
5
5
  import type { ErrorDetail, SponsorLimitKey } from './error.js';
6
6
  import { ConflictError, ExternalServiceTimeoutError, ForbiddenError, InsufficientLiquidityError, InsufficientSponsorBalanceError, InternalServerError, isAuthError, isConnectionError, isInsufficientSponsorBalance, isOrchestratorError, isRateLimited, isRetryable, isSimulationFailed, isSponsorError, isSponsorLimitExceeded, isValidationError, KeyScopeDeniedError, NotFoundError, OrchestratorError, RateLimitedError, RelayerMarketUnavailableError, SettlementExecutionError, SettlementQuoteError, SimulationFailedError, SponsorLimitExceededError, UnauthorizedError, UnprocessableContentError, UnsupportedChainError, UnsupportedTokenError, ValidationError } from './error.js';
7
- import { getTokenSymbol, getWethAddress, isTokenAddressSupported } from './registry.js';
8
7
  import type { AppFeeBalances, AppFeeRate, ApprovalRequired, AuxiliaryFunds, BridgeFill, ChainOperation, Cost, CostTokenEntry, EstimatedFillTime, Execution, FailureReason, FeeBreakdown, Fees, IntentInput, IntentOpStatus, IntentOptions, IntentSubmitRequest, IntentSubmitResponse, OperationStatus, OriginSignature, Portfolio, Price, Quote, QuoteResponse, SettlementLayer, SettlementLayerFilter, SignatureMode, SignData, SignedAuthorization, SplitIntentsInput, SplitIntentsResult, SponsorSettings, SupportedChain, TokenConfig, TokenRequirements, TypedDataDefinition, UsdAmount, WrapRequired } from './types.js';
9
8
  import { INTENT_STATUS_COMPLETED, INTENT_STATUS_FAILED, INTENT_STATUS_PENDING } from './types.js';
10
9
  declare function getOrchestrator(authProvider: AuthProvider, orchestratorUrl?: string, headers?: Record<string, string>): Orchestrator;
11
10
  export type { ApprovalRequired, AppFeeBalances, AppFeeRate, AuxiliaryFunds, BridgeFill, ChainOperation, Cost, CostTokenEntry, DestinationChain, ErrorDetail, SponsorLimitKey, NonEvmAddress, NonEvmChain, EstimatedFillTime, Execution, FailureReason, FeeBreakdown, Fees, IntentInput, IntentOpStatus, IntentOptions, IntentSubmitRequest, IntentSubmitResponse, OperationStatus, OriginSignature, Portfolio, Price, Quote, QuoteResponse, SettlementLayer, SettlementLayerFilter, SignatureMode, SignData, SignedAuthorization, SplitIntentsInput, SplitIntentsResult, SponsorSettings, SupportedChain, TokenConfig, TokenRequirements, TypedDataDefinition, UsdAmount, WrapRequired, };
12
- export { hyperCoreMainnet, isNonEvmChain, solanaMainnet, tronMainnet, INTENT_STATUS_PENDING, INTENT_STATUS_COMPLETED, INTENT_STATUS_FAILED, RHINESTONE_SPOKE_POOL_ADDRESS, Orchestrator, ConflictError, ExternalServiceTimeoutError, ForbiddenError, InsufficientLiquidityError, InsufficientSponsorBalanceError, InternalServerError, KeyScopeDeniedError, NotFoundError, OrchestratorError, RateLimitedError, RelayerMarketUnavailableError, SimulationFailedError, SettlementExecutionError, SettlementQuoteError, SponsorLimitExceededError, UnauthorizedError, UnprocessableContentError, UnsupportedChainError, UnsupportedTokenError, ValidationError, getOrchestrator, getWethAddress, getTokenSymbol, isOrchestratorError, isRetryable, isConnectionError, isAuthError, isValidationError, isRateLimited, isSimulationFailed, isSponsorLimitExceeded, isInsufficientSponsorBalance, isSponsorError, isTokenAddressSupported, };
11
+ export { hyperCoreMainnet, isNonEvmChain, solanaMainnet, tronMainnet, INTENT_STATUS_PENDING, INTENT_STATUS_COMPLETED, INTENT_STATUS_FAILED, RHINESTONE_SPOKE_POOL_ADDRESS, Orchestrator, ConflictError, ExternalServiceTimeoutError, ForbiddenError, InsufficientLiquidityError, InsufficientSponsorBalanceError, InternalServerError, KeyScopeDeniedError, NotFoundError, OrchestratorError, RateLimitedError, RelayerMarketUnavailableError, SimulationFailedError, SettlementExecutionError, SettlementQuoteError, SponsorLimitExceededError, UnauthorizedError, UnprocessableContentError, UnsupportedChainError, UnsupportedTokenError, ValidationError, getOrchestrator, isOrchestratorError, isRetryable, isConnectionError, isAuthError, isValidationError, isRateLimited, isSimulationFailed, isSponsorLimitExceeded, isInsufficientSponsorBalance, isSponsorError, };
13
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../orchestrator/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../orchestrator/index.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,8 @@ import { Orchestrator } from './client.js';
2
2
  import { PROD_ORCHESTRATOR_URL, RHINESTONE_SPOKE_POOL_ADDRESS } from './consts.js';
3
3
  import { hyperCoreMainnet, isNonEvmChain, solanaMainnet, tronMainnet, } from './destinations.js';
4
4
  import { ConflictError, ExternalServiceTimeoutError, ForbiddenError, InsufficientLiquidityError, InsufficientSponsorBalanceError, InternalServerError, isAuthError, isConnectionError, isInsufficientSponsorBalance, isOrchestratorError, isRateLimited, isRetryable, isSimulationFailed, isSponsorError, isSponsorLimitExceeded, isValidationError, KeyScopeDeniedError, NotFoundError, OrchestratorError, RateLimitedError, RelayerMarketUnavailableError, SettlementExecutionError, SettlementQuoteError, SimulationFailedError, SponsorLimitExceededError, UnauthorizedError, UnprocessableContentError, UnsupportedChainError, UnsupportedTokenError, ValidationError, } from './error.js';
5
- import { getTokenSymbol, getWethAddress, isTokenAddressSupported, } from './registry.js';
6
5
  import { INTENT_STATUS_COMPLETED, INTENT_STATUS_FAILED, INTENT_STATUS_PENDING, } from './types.js';
7
6
  function getOrchestrator(authProvider, orchestratorUrl, headers) {
8
7
  return new Orchestrator(orchestratorUrl ?? PROD_ORCHESTRATOR_URL, authProvider, headers);
9
8
  }
10
- export { hyperCoreMainnet, isNonEvmChain, solanaMainnet, tronMainnet, INTENT_STATUS_PENDING, INTENT_STATUS_COMPLETED, INTENT_STATUS_FAILED, RHINESTONE_SPOKE_POOL_ADDRESS, Orchestrator, ConflictError, ExternalServiceTimeoutError, ForbiddenError, InsufficientLiquidityError, InsufficientSponsorBalanceError, InternalServerError, KeyScopeDeniedError, NotFoundError, OrchestratorError, RateLimitedError, RelayerMarketUnavailableError, SimulationFailedError, SettlementExecutionError, SettlementQuoteError, SponsorLimitExceededError, UnauthorizedError, UnprocessableContentError, UnsupportedChainError, UnsupportedTokenError, ValidationError, getOrchestrator, getWethAddress, getTokenSymbol, isOrchestratorError, isRetryable, isConnectionError, isAuthError, isValidationError, isRateLimited, isSimulationFailed, isSponsorLimitExceeded, isInsufficientSponsorBalance, isSponsorError, isTokenAddressSupported, };
9
+ export { hyperCoreMainnet, isNonEvmChain, solanaMainnet, tronMainnet, INTENT_STATUS_PENDING, INTENT_STATUS_COMPLETED, INTENT_STATUS_FAILED, RHINESTONE_SPOKE_POOL_ADDRESS, Orchestrator, ConflictError, ExternalServiceTimeoutError, ForbiddenError, InsufficientLiquidityError, InsufficientSponsorBalanceError, InternalServerError, KeyScopeDeniedError, NotFoundError, OrchestratorError, RateLimitedError, RelayerMarketUnavailableError, SimulationFailedError, SettlementExecutionError, SettlementQuoteError, SponsorLimitExceededError, UnauthorizedError, UnprocessableContentError, UnsupportedChainError, UnsupportedTokenError, ValidationError, getOrchestrator, isOrchestratorError, isRetryable, isConnectionError, isAuthError, isValidationError, isRateLimited, isSimulationFailed, isSponsorLimitExceeded, isInsufficientSponsorBalance, isSponsorError, };
@@ -1,17 +1,7 @@
1
1
  import { type Address, type Chain } from 'viem';
2
- import type { TokenSymbol } from '../types.js';
3
2
  import type { NonEvmAddress } from './destinations.js';
4
- declare function getSupportedChainIds(): number[];
5
- declare function getWethAddress(chain: Chain): Address;
6
- declare function getWrappedTokenAddress(chain: Chain): Address;
7
- declare function getTokenSymbol(tokenAddress: Address, chainId: number): string | undefined;
8
- declare function getTokenAddress(tokenSymbol: TokenSymbol, chainId: number): Address;
9
3
  declare function getChainById(chainId: number): Chain;
10
4
  declare function isTestnet(chainId: number): boolean;
11
- declare function isTokenAddressSupported(address: Address, chainId: number): boolean;
12
- declare function getDefaultAccountAccessList(onTestnets?: boolean): {
13
- chainIds: number[];
14
- };
15
- declare function resolveTokenAddress(token: TokenSymbol | Address | NonEvmAddress, chainId: number): Address | NonEvmAddress;
16
- export { getTokenSymbol, getTokenAddress, getWethAddress, getWrappedTokenAddress, getChainById, getSupportedChainIds, isTestnet, isTokenAddressSupported, getDefaultAccountAccessList, resolveTokenAddress, };
5
+ declare function resolveTokenAddress(token: Address | NonEvmAddress, chainId: number): Address | NonEvmAddress;
6
+ export { getChainById, isTestnet, resolveTokenAddress };
17
7
  //# sourceMappingURL=registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../orchestrator/registry.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAa,MAAM,MAAM,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAGnD,iBAAS,oBAAoB,IAAI,MAAM,EAAE,CAExC;AAMD,iBAAS,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAY7C;AAED,iBAAS,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAarD;AAED,iBAAS,cAAc,CACrB,YAAY,EAAE,OAAO,EACrB,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,SAAS,CAWpB;AAED,iBAAS,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAY3E;AAED,iBAAS,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAM5C;AAED,iBAAS,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAG3C;AAED,iBAAS,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAS3E;AAED,iBAAS,2BAA2B,CAAC,UAAU,CAAC,EAAE,OAAO;;EAaxD;AAED,iBAAS,mBAAmB,CAC1B,KAAK,EAAE,WAAW,GAAG,OAAO,GAAG,aAAa,EAC5C,OAAO,EAAE,MAAM,GACd,OAAO,GAAG,aAAa,CAiBzB;AAED,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,oBAAoB,EACpB,SAAS,EACT,uBAAuB,EACvB,2BAA2B,EAC3B,mBAAmB,GACpB,CAAA"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../orchestrator/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAA0B,MAAM,MAAM,CAAA;AAGvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAUnD,iBAAS,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAc5C;AAED,iBAAS,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAG3C;AAED,iBAAS,mBAAmB,CAC1B,KAAK,EAAE,OAAO,GAAG,aAAa,EAC9B,OAAO,EAAE,MAAM,GACd,OAAO,GAAG,aAAa,CAkBzB;AAED,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAA"}