@rhinestone/sdk 2.0.0-beta.1 → 2.0.0-beta.10

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 (75) hide show
  1. package/README.md +42 -1
  2. package/dist/src/accounts/index.d.ts.map +1 -1
  3. package/dist/src/accounts/index.js +6 -34
  4. package/dist/src/actions/smart-sessions.d.ts.map +1 -1
  5. package/dist/src/actions/smart-sessions.js +3 -3
  6. package/dist/src/execution/error.d.ts +2 -2
  7. package/dist/src/execution/error.d.ts.map +1 -1
  8. package/dist/src/execution/error.js +3 -3
  9. package/dist/src/execution/index.d.ts +9 -9
  10. package/dist/src/execution/index.d.ts.map +1 -1
  11. package/dist/src/execution/index.js +18 -32
  12. package/dist/src/execution/utils.d.ts +11 -9
  13. package/dist/src/execution/utils.d.ts.map +1 -1
  14. package/dist/src/execution/utils.js +94 -29
  15. package/dist/src/index.d.ts +17 -12
  16. package/dist/src/index.d.ts.map +1 -1
  17. package/dist/src/index.js +12 -39
  18. package/dist/src/modules/index.d.ts +2 -2
  19. package/dist/src/modules/index.d.ts.map +1 -1
  20. package/dist/src/modules/index.js +2 -2
  21. package/dist/src/modules/read.d.ts.map +1 -1
  22. package/dist/src/modules/read.js +2 -4
  23. package/dist/src/modules/validators/index.d.ts +2 -2
  24. package/dist/src/modules/validators/index.d.ts.map +1 -1
  25. package/dist/src/modules/validators/index.js +2 -2
  26. package/dist/src/modules/validators/permissions.d.ts +5 -0
  27. package/dist/src/modules/validators/permissions.d.ts.map +1 -0
  28. package/dist/src/modules/validators/permissions.js +111 -0
  29. package/dist/src/modules/validators/policies/claim/permit2.d.ts +29 -3
  30. package/dist/src/modules/validators/policies/claim/permit2.d.ts.map +1 -1
  31. package/dist/src/modules/validators/smart-sessions.d.ts +14 -27
  32. package/dist/src/modules/validators/smart-sessions.d.ts.map +1 -1
  33. package/dist/src/modules/validators/smart-sessions.js +71 -17
  34. package/dist/src/orchestrator/caip2.d.ts +9 -3
  35. package/dist/src/orchestrator/caip2.d.ts.map +1 -1
  36. package/dist/src/orchestrator/caip2.js +40 -5
  37. package/dist/src/orchestrator/client.d.ts +2 -1
  38. package/dist/src/orchestrator/client.d.ts.map +1 -1
  39. package/dist/src/orchestrator/client.js +41 -18
  40. package/dist/src/orchestrator/consts.d.ts +1 -1
  41. package/dist/src/orchestrator/consts.d.ts.map +1 -1
  42. package/dist/src/orchestrator/consts.js +1 -1
  43. package/dist/src/orchestrator/destinations.d.ts +23 -0
  44. package/dist/src/orchestrator/destinations.d.ts.map +1 -0
  45. package/dist/src/orchestrator/destinations.js +36 -0
  46. package/dist/src/orchestrator/index.d.ts +5 -4
  47. package/dist/src/orchestrator/index.d.ts.map +1 -1
  48. package/dist/src/orchestrator/index.js +3 -2
  49. package/dist/src/orchestrator/registry.d.ts +3 -9
  50. package/dist/src/orchestrator/registry.d.ts.map +1 -1
  51. package/dist/src/orchestrator/registry.js +11 -26
  52. package/dist/src/orchestrator/types.d.ts +47 -15
  53. package/dist/src/orchestrator/types.d.ts.map +1 -1
  54. package/dist/src/types.d.ts +124 -33
  55. package/dist/src/types.d.ts.map +1 -1
  56. package/dist/src/utils/index.d.ts +2 -1
  57. package/dist/src/utils/index.d.ts.map +1 -1
  58. package/dist/src/utils/index.js +2 -1
  59. package/dist/src/utils/walletClient.d.ts.map +1 -0
  60. package/dist/src/{accounts → utils}/walletClient.js +1 -1
  61. package/package.json +2 -6
  62. package/dist/src/accounts/passport.d.ts +0 -9
  63. package/dist/src/accounts/passport.d.ts.map +0 -1
  64. package/dist/src/accounts/passport.js +0 -78
  65. package/dist/src/accounts/walletClient.d.ts.map +0 -1
  66. package/dist/src/actions/compact.d.ts +0 -15
  67. package/dist/src/actions/compact.d.ts.map +0 -1
  68. package/dist/src/actions/compact.js +0 -200
  69. package/dist/src/actions/deployment.d.ts +0 -19
  70. package/dist/src/actions/deployment.d.ts.map +0 -1
  71. package/dist/src/actions/deployment.js +0 -76
  72. package/dist/src/execution/permit2.d.ts +0 -7
  73. package/dist/src/execution/permit2.d.ts.map +0 -1
  74. package/dist/src/execution/permit2.js +0 -51
  75. /package/dist/src/{accounts → utils}/walletClient.d.ts +0 -0
@@ -0,0 +1,111 @@
1
+ import { isAddress, isHex, size, toFunctionSelector, } from 'viem';
2
+ function isStaticAbiType(type) {
3
+ if (type === 'address' || type === 'bool')
4
+ return true;
5
+ if (/^u?int\d*$/.test(type))
6
+ return true;
7
+ if (/^bytes\d+$/.test(type)) {
8
+ const n = Number.parseInt(type.slice(5), 10);
9
+ return n >= 1 && n <= 32;
10
+ }
11
+ return false;
12
+ }
13
+ function toReferenceValue(value, abiType) {
14
+ if (abiType === 'address') {
15
+ if (typeof value === 'string' && isAddress(value))
16
+ return value;
17
+ throw new Error(`Expected address value, got: ${typeof value}`);
18
+ }
19
+ if (abiType === 'bool') {
20
+ if (typeof value === 'boolean')
21
+ return value ? 1n : 0n;
22
+ throw new Error(`Expected boolean value, got: ${typeof value}`);
23
+ }
24
+ if (abiType.startsWith('uint') || abiType.startsWith('int')) {
25
+ if (typeof value === 'bigint')
26
+ return value;
27
+ if (typeof value === 'number')
28
+ return BigInt(value);
29
+ throw new Error(`Expected bigint value for ${abiType}, got: ${typeof value}`);
30
+ }
31
+ if (/^bytes\d+$/.test(abiType)) {
32
+ const expectedSize = Number.parseInt(abiType.slice(5), 10);
33
+ if (typeof value === 'string' &&
34
+ isHex(value) &&
35
+ size(value) === expectedSize) {
36
+ return value;
37
+ }
38
+ throw new Error(`Expected ${expectedSize}-byte hex string for ${abiType}`);
39
+ }
40
+ throw new Error(`Unsupported ABI type: ${abiType}`);
41
+ }
42
+ function resolvePermission(permission) {
43
+ const { abi, address, functions } = permission;
44
+ const actions = [];
45
+ for (const [fnName, fnConfig] of Object.entries(functions)) {
46
+ if (!fnConfig)
47
+ continue;
48
+ const config = fnConfig;
49
+ const abiEntries = abi.filter((entry) => entry.type === 'function' &&
50
+ entry.name === fnName);
51
+ if (abiEntries.length === 0) {
52
+ throw new Error(`Function "${fnName}" not found in the provided ABI.`);
53
+ }
54
+ if (abiEntries.length > 1) {
55
+ throw new Error(`Function "${fnName}" is overloaded (${abiEntries.length} variants). ` +
56
+ 'Permission entries do not support overloaded functions. ' +
57
+ 'Pre-filter the ABI to a single overload before passing it.');
58
+ }
59
+ const abiEntry = abiEntries[0];
60
+ const selector = toFunctionSelector(abiEntry);
61
+ const policies = config.policies ? [...config.policies] : [];
62
+ const params = config.params ?? {};
63
+ const paramEntries = Object.entries(params).filter(([, v]) => v !== undefined);
64
+ if (paramEntries.length > 0) {
65
+ const rules = paramEntries.map(([paramName, rule]) => {
66
+ const paramIndex = abiEntry.inputs.findIndex((p) => p.name === paramName);
67
+ if (paramIndex === -1) {
68
+ throw new Error(`Parameter "${paramName}" not found in function "${fnName}". ` +
69
+ `Available: ${abiEntry.inputs.map((i) => i.name).join(', ')}`);
70
+ }
71
+ const param = abiEntry.inputs[paramIndex];
72
+ if (!isStaticAbiType(param.type)) {
73
+ throw new Error(`Parameter "${paramName}" has dynamic type "${param.type}". ` +
74
+ 'Permission rules only support static types ' +
75
+ '(address, bool, uint*, int*, bytes1–bytes32).');
76
+ }
77
+ const calldataOffset = BigInt(paramIndex) * 32n;
78
+ const referenceValue = toReferenceValue(rule.value, param.type);
79
+ return {
80
+ condition: rule.condition,
81
+ calldataOffset,
82
+ referenceValue,
83
+ ...(rule.usageLimit !== undefined
84
+ ? { usageLimit: rule.usageLimit }
85
+ : {}),
86
+ };
87
+ });
88
+ policies.push({
89
+ type: 'universal-action',
90
+ valueLimitPerUse: config.valueLimitPerUse ?? 0n,
91
+ rules: rules,
92
+ });
93
+ }
94
+ else if (config.valueLimitPerUse !== undefined) {
95
+ policies.push({
96
+ type: 'value-limit',
97
+ limit: config.valueLimitPerUse,
98
+ });
99
+ }
100
+ actions.push({
101
+ target: address,
102
+ selector,
103
+ ...(policies.length > 0 ? { policies } : {}),
104
+ });
105
+ }
106
+ return actions;
107
+ }
108
+ function resolvePermissions(permissions) {
109
+ return permissions.flatMap(resolvePermission);
110
+ }
111
+ export { resolvePermissions, resolvePermission };
@@ -1,5 +1,30 @@
1
1
  import { type Address, type Hex } from 'viem';
2
- import type { Permit2ClaimPolicy } from '../../../../types.js';
2
+ interface InternalPermit2ClaimPolicy {
3
+ type: 'permit2-claim';
4
+ arbiters?: Address[];
5
+ tokensIn?: {
6
+ chainId: number;
7
+ token: Address;
8
+ }[];
9
+ tokensOut?: {
10
+ chainId: number;
11
+ token: Address;
12
+ }[];
13
+ recipients?: {
14
+ chainId: number;
15
+ recipient: Address | 'any';
16
+ }[];
17
+ recipientIsSponsor?: boolean;
18
+ expiryBounds?: {
19
+ min?: bigint;
20
+ max?: bigint;
21
+ };
22
+ fillExpiryBounds?: {
23
+ chainId: number;
24
+ min?: bigint;
25
+ max?: bigint;
26
+ }[];
27
+ }
3
28
  /** Typed representation of the Permit2 message fields used for calldata building */
4
29
  export interface Permit2ClaimMessage {
5
30
  permitted: readonly {
@@ -49,7 +74,8 @@ export interface Permit2ClaimMessage {
49
74
  * else — pre-computed mandateHash [32]
50
75
  *
51
76
  */
52
- export declare function buildPermit2ClaimPolicyCalldata(policy: Permit2ClaimPolicy, message: Permit2ClaimMessage): Hex;
77
+ export declare function buildPermit2ClaimPolicyCalldata(policy: InternalPermit2ClaimPolicy, message: Permit2ClaimMessage): Hex;
53
78
  export declare const PERMIT2_CLAIM_POLICY_ADDRESS: Address;
54
- export declare function encodePermit2ClaimPolicyInitData(policy: Permit2ClaimPolicy): Hex;
79
+ export declare function encodePermit2ClaimPolicyInitData(policy: InternalPermit2ClaimPolicy): Hex;
80
+ export type { InternalPermit2ClaimPolicy };
55
81
  //# sourceMappingURL=permit2.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"permit2.d.ts","sourceRoot":"","sources":["../../../../../../modules/validators/policies/claim/permit2.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAIZ,KAAK,GAAG,EAKT,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAiD3D,oFAAoF;AACpF,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,SAAS;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACxD,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE;QACP,MAAM,EAAE;YACN,SAAS,EAAE,OAAO,CAAA;YAClB,QAAQ,EAAE,SAAS;gBAAE,KAAK,EAAE,OAAO,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,EAAE,CAAA;YACvD,WAAW,EAAE,MAAM,CAAA;YACnB,UAAU,EAAE,MAAM,CAAA;SACnB,CAAA;QACD,MAAM,EAAE,MAAM,CAAA;QACd,SAAS,EAAE;YACT,EAAE,EAAE,GAAG,CAAA;YACP,GAAG,EAAE,SAAS;gBAAE,EAAE,EAAE,OAAO,CAAC;gBAAC,KAAK,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,GAAG,CAAA;aAAE,EAAE,CAAA;SAC1D,CAAA;QACD,OAAO,EAAE;YACP,EAAE,EAAE,GAAG,CAAA;YACP,GAAG,EAAE,SAAS;gBAAE,EAAE,EAAE,OAAO,CAAC;gBAAC,KAAK,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,GAAG,CAAA;aAAE,EAAE,CAAA;SAC1D,CAAA;QACD,CAAC,EAAE,GAAG,CAAA;KACP,CAAA;CACF;AA+ED;;;;;;;;;GASG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,mBAAmB,GAC3B,GAAG,CA2EL;AAED,eAAO,MAAM,4BAA4B,EAAE,OACG,CAAA;AAE9C,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,kBAAkB,GACzB,GAAG,CA2FL"}
1
+ {"version":3,"file":"permit2.d.ts","sourceRoot":"","sources":["../../../../../../modules/validators/policies/claim/permit2.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAIZ,KAAK,GAAG,EAKT,MAAM,MAAM,CAAA;AAab,UAAU,0BAA0B;IAClC,IAAI,EAAE,eAAe,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;IACpB,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,EAAE,CAAA;IAChD,SAAS,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,EAAE,CAAA;IACjD,UAAU,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,GAAG,KAAK,CAAA;KAAE,EAAE,CAAA;IAC9D,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,YAAY,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7C,gBAAgB,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CACrE;AAsCD,oFAAoF;AACpF,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,SAAS;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACxD,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE;QACP,MAAM,EAAE;YACN,SAAS,EAAE,OAAO,CAAA;YAClB,QAAQ,EAAE,SAAS;gBAAE,KAAK,EAAE,OAAO,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,EAAE,CAAA;YACvD,WAAW,EAAE,MAAM,CAAA;YACnB,UAAU,EAAE,MAAM,CAAA;SACnB,CAAA;QACD,MAAM,EAAE,MAAM,CAAA;QACd,SAAS,EAAE;YACT,EAAE,EAAE,GAAG,CAAA;YACP,GAAG,EAAE,SAAS;gBAAE,EAAE,EAAE,OAAO,CAAC;gBAAC,KAAK,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,GAAG,CAAA;aAAE,EAAE,CAAA;SAC1D,CAAA;QACD,OAAO,EAAE;YACP,EAAE,EAAE,GAAG,CAAA;YACP,GAAG,EAAE,SAAS;gBAAE,EAAE,EAAE,OAAO,CAAC;gBAAC,KAAK,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,GAAG,CAAA;aAAE,EAAE,CAAA;SAC1D,CAAA;QACD,CAAC,EAAE,GAAG,CAAA;KACP,CAAA;CACF;AA+ED;;;;;;;;;GASG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,0BAA0B,EAClC,OAAO,EAAE,mBAAmB,GAC3B,GAAG,CA2EL;AAED,eAAO,MAAM,4BAA4B,EAAE,OACG,CAAA;AAE9C,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,0BAA0B,GACjC,GAAG,CA2FL;AAED,YAAY,EAAE,0BAA0B,EAAE,CAAA"}
@@ -1,35 +1,18 @@
1
- import { type Address, type Hex, type TypedDataDefinition } from 'viem';
2
- import type { Policy, ProviderConfig, RhinestoneAccountConfig, RhinestoneConfig, Session, SessionEnableData } from '../../types.js';
1
+ import { type Abi, type Address, type Hex, type TypedDataDefinition } from 'viem';
2
+ import type { Permit2ClaimPolicy, Policy, ProviderConfig, ResolvedAction, ResolvedERC7739Policies, ResolvedPolicy, RhinestoneAccountConfig, RhinestoneConfig, Session, SessionDefinition, SessionEnableData } from '../../types.js';
3
3
  import { type Module } from '../common.js';
4
4
  import { SMART_SESSION_EMISSARY_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS_DEV } from './core.js';
5
+ import { type InternalPermit2ClaimPolicy } from './policies/claim/permit2.js';
5
6
  interface SessionData {
6
7
  sessionValidator: Address;
7
8
  sessionValidatorInitData: Hex;
8
9
  salt: Hex;
9
- erc7739Policies: {
10
- allowedERC7739Content: readonly AllowedERC7739Content[];
11
- erc1271Policies: readonly ERC1271Policy[];
12
- };
13
- actions: readonly ActionData[];
14
- claimPolicies: readonly PolicyData[];
15
- }
16
- interface ERC1271Policy {
17
- policy: Address;
18
- initData: Hex;
19
- }
20
- interface AllowedERC7739Content {
21
- appDomainSeparator: Hex;
22
- contentNames: readonly string[];
23
- }
24
- interface ActionData {
25
- actionTargetSelector: Hex;
26
- actionTarget: Address;
27
- actionPolicies: readonly PolicyData[];
28
- }
29
- interface PolicyData {
30
- policy: Address;
31
- initData: Hex;
10
+ erc7739Policies: ResolvedERC7739Policies;
11
+ actions: readonly ResolvedAction[];
12
+ claimPolicies: readonly ResolvedPolicy[];
32
13
  }
14
+ type ActionData = ResolvedAction;
15
+ type PolicyData = ResolvedPolicy;
33
16
  type SmartSessionModeType = typeof SMART_SESSION_MODE_USE | typeof SMART_SESSION_MODE_ENABLE;
34
17
  interface ChainDigest {
35
18
  chainId: bigint;
@@ -191,7 +174,11 @@ declare function getEnableSessionCall(account: Address, session: Session, enable
191
174
  to: `0x${string}`;
192
175
  data: `0x${string}`;
193
176
  }>;
194
- declare function getSessionData(session: Session, useDevContracts?: boolean): SessionData;
177
+ declare function toSession<const TAbis extends readonly Abi[]>(definition: SessionDefinition<TAbis>, options?: {
178
+ useDevContracts?: boolean;
179
+ }): Session;
180
+ declare function resolvePermit2ClaimPolicy(policy: Permit2ClaimPolicy): InternalPermit2ClaimPolicy;
181
+ declare function getSessionData(session: Session): SessionData;
195
182
  declare function getPermissionId(session: Session): `0x${string}`;
196
183
  declare function getPolicyData(policy: Policy, useDevContracts?: boolean): PolicyData;
197
184
  declare function getSmartSessionValidator(config: RhinestoneConfig): Module | null;
@@ -204,6 +191,6 @@ declare function getSmartSessionValidator(config: RhinestoneConfig): Module | nu
204
191
  * simulates verifyExecution with the mock emissary to estimate gas before the user signs.
205
192
  */
206
193
  declare function buildMockSignature(session: Session, useDevContracts?: boolean, chainCount?: number, targetChainId?: number): Hex;
207
- export { SMART_SESSION_EMISSARY_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS_DEV, SMART_SESSIONS_FALLBACK_TARGET_FLAG, SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG, SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG_PERMITTED_TO_CALL_SMARTSESSION, DUMMY_PRECLAIMOP_TARGET, DUMMY_PRECLAIMOP_SELECTOR, SPENDING_LIMITS_POLICY_ADDRESS, TIME_FRAME_POLICY_ADDRESS, SUDO_POLICY_ADDRESS, UNIVERSAL_ACTION_POLICY_ADDRESS, USAGE_LIMIT_POLICY_ADDRESS, VALUE_LIMIT_POLICY_ADDRESS, INTENT_EXECUTION_POLICY_ADDRESS, packSignature, getSessionData, getPolicyData, getEnableSessionCall, getPermissionId, getSmartSessionValidator, getSessionDetails, isSessionEnabled, signEnableSession, buildMockSignature, };
194
+ export { SMART_SESSION_EMISSARY_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS_DEV, SMART_SESSIONS_FALLBACK_TARGET_FLAG, SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG, SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG_PERMITTED_TO_CALL_SMARTSESSION, DUMMY_PRECLAIMOP_TARGET, DUMMY_PRECLAIMOP_SELECTOR, SPENDING_LIMITS_POLICY_ADDRESS, TIME_FRAME_POLICY_ADDRESS, SUDO_POLICY_ADDRESS, UNIVERSAL_ACTION_POLICY_ADDRESS, USAGE_LIMIT_POLICY_ADDRESS, VALUE_LIMIT_POLICY_ADDRESS, INTENT_EXECUTION_POLICY_ADDRESS, packSignature, toSession, resolvePermit2ClaimPolicy, getSessionData, getPolicyData, getEnableSessionCall, getPermissionId, getSmartSessionValidator, getSessionDetails, isSessionEnabled, signEnableSession, buildMockSignature, };
208
195
  export type { ChainSession, ChainDigest, ResolvedSessionSignerSet, SessionData, SmartSessionModeType, SessionDetails, };
209
196
  //# sourceMappingURL=smart-sessions.d.ts.map
@@ -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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"}
@@ -10,6 +10,7 @@ import { getChainById, getWrappedTokenAddress, } from '../../orchestrator/regist
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, SMART_SESSION_EMISSARY_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS_DEV, } from './core.js';
13
+ import { resolvePermissions } from './permissions.js';
13
14
  import { encodePermit2ClaimPolicyInitData, PERMIT2_CLAIM_POLICY_ADDRESS, } from './policies/claim/permit2.js';
14
15
  const types = {
15
16
  PolicyData: [
@@ -230,7 +231,7 @@ function packSignature(signers, validatorSignature) {
230
231
  async function getSessionDetails(account, sessions, provider, useDevContracts) {
231
232
  const lockTag = '0x000000000000000000000000';
232
233
  const sessionNonces = await Promise.all(sessions.map((session) => getSessionNonce(account, session, lockTag, provider, useDevContracts)));
233
- const sessionDatas = sessions.map((session) => getSessionData(session, useDevContracts));
234
+ const sessionDatas = sessions.map((session) => getSessionData(session));
234
235
  const signedSessions = sessionDatas.map((session, index) => getSignedSession(account, lockTag, session, sessionNonces[index], useDevContracts));
235
236
  const chains = sessions.map((session) => session.chain);
236
237
  const hashesAndChainIds = signedSessions.map((session, index) => ({
@@ -359,7 +360,7 @@ function getSignedSession(account, lockTag, session, nonce, useDevContracts) {
359
360
  };
360
361
  }
361
362
  async function getEnableSessionCall(account, session, enableSessionSignature, hashesAndChainIds, sessionToEnableIndex, useDevContracts) {
362
- const sessionData = getSessionData(session, useDevContracts);
363
+ const sessionData = getSessionData(session);
363
364
  const permissionId = getPermissionId(session);
364
365
  return {
365
366
  to: getSmartSessionEmissaryAddress(useDevContracts),
@@ -388,7 +389,47 @@ async function getEnableSessionCall(account, session, enableSessionSignature, ha
388
389
  }),
389
390
  };
390
391
  }
391
- function getSessionData(session, useDevContracts) {
392
+ function toSession(definition, options = {}) {
393
+ const sessionData = resolveSessionData(definition, options.useDevContracts);
394
+ return {
395
+ chain: definition.chain,
396
+ owners: definition.owners,
397
+ hasExplicitPermissions: !!definition.permissions?.length,
398
+ permissionId: getPermissionIdFromData(sessionData),
399
+ sessionValidator: sessionData.sessionValidator,
400
+ sessionValidatorInitData: sessionData.sessionValidatorInitData,
401
+ salt: sessionData.salt,
402
+ erc7739Policies: sessionData.erc7739Policies,
403
+ actions: sessionData.actions,
404
+ claimPolicies: definition.claimPolicies ?? [],
405
+ };
406
+ }
407
+ function resolvePermit2ClaimPolicy(policy) {
408
+ return {
409
+ type: 'permit2-claim',
410
+ arbiters: policy.spenders,
411
+ tokensIn: policy.sourceTokens?.map(({ chain, address }) => ({
412
+ chainId: chain.id,
413
+ token: address,
414
+ })),
415
+ tokensOut: policy.destinationTokens?.map(({ chain, address }) => ({
416
+ chainId: chain.id,
417
+ token: address,
418
+ })),
419
+ recipients: policy.recipients?.map(({ chain, address }) => ({
420
+ chainId: chain.id,
421
+ recipient: address,
422
+ })),
423
+ recipientIsSponsor: policy.recipientIsAccount,
424
+ expiryBounds: policy.permitDeadline,
425
+ fillExpiryBounds: policy.fillDeadline?.map(({ chain, min, max }) => ({
426
+ chainId: chain.id,
427
+ min,
428
+ max,
429
+ })),
430
+ };
431
+ }
432
+ function resolveSessionData(session, useDevContracts) {
392
433
  const validator = getValidator(session.owners);
393
434
  const allowedContent = [
394
435
  {
@@ -415,7 +456,9 @@ function getSessionData(session, useDevContracts) {
415
456
  },
416
457
  ],
417
458
  };
418
- const userHasFallbackAction = session.actions?.some((action) => !('target' in action) && !('selector' in action));
459
+ const userActions = session.permissions?.length
460
+ ? resolvePermissions(session.permissions)
461
+ : [];
419
462
  const injectedActions = [
420
463
  // Native token wrapping
421
464
  {
@@ -428,12 +471,8 @@ function getSessionData(session, useDevContracts) {
428
471
  stateMutability: 'payable',
429
472
  }),
430
473
  },
431
- // Only inject the intent-execution fallback if the user hasn't defined their own
432
- // fallback action otherwise both map to the same actionId and their policies merge,
433
- // causing IntentExecutionPolicy to be required for all fallback calls
434
- ...(!userHasFallbackAction
435
- ? [{ policies: [{ type: 'intent-execution' }] }]
436
- : []),
474
+ // Intent-execution fallback for any non-scoped call.
475
+ { policies: [{ type: 'intent-execution' }] },
437
476
  // Dummy action: allows the filler to call verifyExecution in ENABLE mode using
438
477
  // an injected dummy preclaimop so any session can be enabled on-chain without
439
478
  // a separate UserOp, regardless of whether it has claim or action policies.
@@ -443,8 +482,9 @@ function getSessionData(session, useDevContracts) {
443
482
  policies: [{ type: 'sudo' }],
444
483
  },
445
484
  ];
446
- const actions = session.actions?.length
447
- ? [...session.actions, ...injectedActions].map((action) => ({
485
+ const allActions = [...userActions, ...injectedActions];
486
+ const actions = userActions.length
487
+ ? allActions.map((action) => ({
448
488
  actionTargetSelector: 'selector' in action
449
489
  ? action.selector
450
490
  : SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG,
@@ -465,15 +505,29 @@ function getSessionData(session, useDevContracts) {
465
505
  sessionValidatorInitData: validator.initData,
466
506
  erc7739Policies: erc7739Data,
467
507
  actions,
468
- // Note: Permit2ClaimPolicy has no dev deployment — same address in all environments
469
- claimPolicies: session.claimPolicies?.map((p) => ({
508
+ claimPolicies: session.claimPolicies?.map((policy) => ({
470
509
  policy: PERMIT2_CLAIM_POLICY_ADDRESS,
471
- initData: encodePermit2ClaimPolicyInitData(p),
510
+ initData: encodePermit2ClaimPolicyInitData(resolvePermit2ClaimPolicy(policy)),
472
511
  })) ?? [],
473
512
  };
474
513
  }
514
+ function getSessionData(session) {
515
+ return {
516
+ sessionValidator: session.sessionValidator,
517
+ salt: session.salt,
518
+ sessionValidatorInitData: session.sessionValidatorInitData,
519
+ erc7739Policies: session.erc7739Policies,
520
+ actions: session.actions,
521
+ claimPolicies: session.claimPolicies.map((policy) => ({
522
+ policy: PERMIT2_CLAIM_POLICY_ADDRESS,
523
+ initData: encodePermit2ClaimPolicyInitData(resolvePermit2ClaimPolicy(policy)),
524
+ })),
525
+ };
526
+ }
475
527
  function getPermissionId(session) {
476
- const sessionData = getSessionData(session);
528
+ return session.permissionId;
529
+ }
530
+ function getPermissionIdFromData(sessionData) {
477
531
  return keccak256(encodeAbiParameters([
478
532
  {
479
533
  type: 'address',
@@ -715,4 +769,4 @@ function buildMockSignature(session, useDevContracts, chainCount = 1, targetChai
715
769
  function createFixedArray(length, getValue) {
716
770
  return Array.from({ length }, (_, i) => getValue(i));
717
771
  }
718
- export { SMART_SESSION_EMISSARY_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS_DEV, SMART_SESSIONS_FALLBACK_TARGET_FLAG, SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG, SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG_PERMITTED_TO_CALL_SMARTSESSION, DUMMY_PRECLAIMOP_TARGET, DUMMY_PRECLAIMOP_SELECTOR, SPENDING_LIMITS_POLICY_ADDRESS, TIME_FRAME_POLICY_ADDRESS, SUDO_POLICY_ADDRESS, UNIVERSAL_ACTION_POLICY_ADDRESS, USAGE_LIMIT_POLICY_ADDRESS, VALUE_LIMIT_POLICY_ADDRESS, INTENT_EXECUTION_POLICY_ADDRESS, packSignature, getSessionData, getPolicyData, getEnableSessionCall, getPermissionId, getSmartSessionValidator, getSessionDetails, isSessionEnabled, signEnableSession, buildMockSignature, };
772
+ export { SMART_SESSION_EMISSARY_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS_DEV, SMART_SESSIONS_FALLBACK_TARGET_FLAG, SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG, SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG_PERMITTED_TO_CALL_SMARTSESSION, DUMMY_PRECLAIMOP_TARGET, DUMMY_PRECLAIMOP_SELECTOR, SPENDING_LIMITS_POLICY_ADDRESS, TIME_FRAME_POLICY_ADDRESS, SUDO_POLICY_ADDRESS, UNIVERSAL_ACTION_POLICY_ADDRESS, USAGE_LIMIT_POLICY_ADDRESS, VALUE_LIMIT_POLICY_ADDRESS, INTENT_EXECUTION_POLICY_ADDRESS, packSignature, toSession, resolvePermit2ClaimPolicy, getSessionData, getPolicyData, getEnableSessionCall, getPermissionId, getSmartSessionValidator, getSessionDetails, isSessionEnabled, signEnableSession, buildMockSignature, };
@@ -1,7 +1,13 @@
1
- type Caip2ChainId = `eip155:${number}`;
1
+ type EvmCaip2ChainId = `eip155:${number}`;
2
+ type SolanaCaip2ChainId = `solana:${string}`;
3
+ type TronCaip2ChainId = `tron:${string}`;
4
+ type Caip2ChainId = EvmCaip2ChainId | SolanaCaip2ChainId | TronCaip2ChainId;
2
5
  declare function toCaip2(chainId: number): Caip2ChainId;
3
6
  declare function fromCaip2(chainId: string): number;
4
7
  declare function isCaip2(chainId: string): chainId is Caip2ChainId;
5
- export type { Caip2ChainId };
6
- export { fromCaip2, isCaip2, toCaip2 };
8
+ declare function isEvmCaip2(chainId: string): chainId is EvmCaip2ChainId;
9
+ /** True when a numeric chain id corresponds to a known non-eip155 namespace. */
10
+ declare function isNonEvmChainId(chainId: number): boolean;
11
+ export type { Caip2ChainId, EvmCaip2ChainId, SolanaCaip2ChainId, TronCaip2ChainId, };
12
+ export { fromCaip2, isCaip2, isEvmCaip2, isNonEvmChainId, toCaip2 };
7
13
  //# sourceMappingURL=caip2.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"caip2.d.ts","sourceRoot":"","sources":["../../../orchestrator/caip2.ts"],"names":[],"mappings":"AAAA,KAAK,YAAY,GAAG,UAAU,MAAM,EAAE,CAAA;AAItC,iBAAS,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAK9C;AAED,iBAAS,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAK1C;AAED,iBAAS,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI,YAAY,CAEzD;AAED,YAAY,EAAE,YAAY,EAAE,CAAA;AAC5B,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"caip2.d.ts","sourceRoot":"","sources":["../../../orchestrator/caip2.ts"],"names":[],"mappings":"AAOA,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,YAAY,GAAG,eAAe,GAAG,kBAAkB,GAAG,gBAAgB,CAAA;AAmB3E,iBAAS,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAO9C;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,gFAAgF;AAChF,iBAAS,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,YAAY,EACV,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,gBAAgB,GACjB,CAAA;AACD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,OAAO,EAAE,CAAA"}
@@ -1,17 +1,52 @@
1
+ // CAIP-2 wire format. Mirrors the orchestrator's caip2.ts namespace registry
2
+ // — Solana / Tron synthetic numeric ids round-trip through the same CAIP-2
3
+ // strings the orchestrator emits, so the SDK and orchestrator agree on the
4
+ // wire shape without needing the user to think about CAIP-2 themselves.
5
+ //
6
+ // Spec: https://chainagnostic.org/CAIPs/caip-2
1
7
  const EIP155_CAIP2_REGEX = /^eip155:\d+$/;
8
+ const NON_EIP155_CAIP2_REGEX = /^(?:solana|tron):[-_a-zA-Z0-9]{1,32}$/;
9
+ // Synthetic numeric ids ↔ CAIP-2 strings for non-eip155 chains. Must match
10
+ // the orchestrator's NON_EIP155_CAIP2_TO_ID exactly — these flow over the
11
+ // wire and any drift would cause routing failures.
12
+ const NON_EIP155_ID_TO_CAIP2 = {
13
+ 792703809: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',
14
+ 728126428: 'tron:0x2b6653dc',
15
+ };
16
+ const NON_EIP155_CAIP2_TO_ID = Object.fromEntries(Object.entries(NON_EIP155_ID_TO_CAIP2).map(([id, caip2]) => [
17
+ caip2,
18
+ Number(id),
19
+ ]));
2
20
  function toCaip2(chainId) {
3
21
  if (!Number.isInteger(chainId) || chainId < 0) {
4
- throw new Error(`Invalid EVM chain id: ${chainId}`);
22
+ throw new Error(`Invalid chain id: ${chainId}`);
5
23
  }
24
+ const nonEvm = NON_EIP155_ID_TO_CAIP2[chainId];
25
+ if (nonEvm)
26
+ return nonEvm;
6
27
  return `eip155:${chainId}`;
7
28
  }
8
29
  function fromCaip2(chainId) {
9
- if (!EIP155_CAIP2_REGEX.test(chainId)) {
10
- throw new Error(`Invalid CAIP-2 chain id: ${chainId}`);
30
+ if (EIP155_CAIP2_REGEX.test(chainId)) {
31
+ return Number(chainId.slice('eip155:'.length));
11
32
  }
12
- return Number(chainId.slice('eip155:'.length));
33
+ if (NON_EIP155_CAIP2_REGEX.test(chainId)) {
34
+ const id = NON_EIP155_CAIP2_TO_ID[chainId];
35
+ if (id !== undefined)
36
+ return id;
37
+ }
38
+ throw new Error(`Invalid CAIP-2 chain id: ${chainId}`);
13
39
  }
14
40
  function isCaip2(chainId) {
41
+ if (EIP155_CAIP2_REGEX.test(chainId))
42
+ return true;
43
+ return chainId in NON_EIP155_CAIP2_TO_ID;
44
+ }
45
+ function isEvmCaip2(chainId) {
15
46
  return EIP155_CAIP2_REGEX.test(chainId);
16
47
  }
17
- export { fromCaip2, isCaip2, toCaip2 };
48
+ /** True when a numeric chain id corresponds to a known non-eip155 namespace. */
49
+ function isNonEvmChainId(chainId) {
50
+ return chainId in NON_EIP155_ID_TO_CAIP2;
51
+ }
52
+ export { fromCaip2, isCaip2, isEvmCaip2, isNonEvmChainId, toCaip2 };
@@ -1,6 +1,6 @@
1
1
  import type { Address } from 'viem';
2
2
  import type { AuthProvider } from '../auth/provider.js';
3
- import type { IntentInput, IntentOpStatus, IntentSubmitRequestInternal, IntentSubmitResponse, Portfolio, QuoteResponse, SplitIntentsInput, SplitIntentsResult } from './types.js';
3
+ import type { IntentInput, IntentOpStatus, IntentSubmitRequestInternal, IntentSubmitResponse, Portfolio, QuoteResponse, SettlementLayerFilter, SplitIntentsInput, SplitIntentsResult } from './types.js';
4
4
  interface PolicyContext {
5
5
  intentInput: unknown;
6
6
  isSponsored: boolean;
@@ -24,5 +24,6 @@ export declare class Orchestrator {
24
24
  private getSubmitHeaders;
25
25
  private fetch;
26
26
  }
27
+ export declare function encodeSettlementLayers(filter: SettlementLayerFilter): readonly string[];
27
28
  export {};
28
29
  //# sourceMappingURL=client.d.ts.map
@@ -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,EAKV,WAAW,EACX,cAAc,EAEd,2BAA2B,EAC3B,oBAAoB,EACpB,SAAS,EAET,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAEnB,MAAM,SAAS,CAAA;AAGhB,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;IA0Cf,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAUvD,QAAQ,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAkB/D,YAAY,CAChB,OAAO,EAAE,2BAA2B,EACpC,aAAa,CAAC,EAAE,aAAa,GAC5B,OAAO,CAAC,oBAAoB,CAAC;IAe1B,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;YAoB5C,UAAU;YAWV,gBAAgB;YAiBhB,KAAK;CAwBpB"}
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,EAMV,WAAW,EACX,cAAc,EAEd,2BAA2B,EAC3B,oBAAoB,EACpB,SAAS,EAET,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAEnB,MAAM,SAAS,CAAA;AAGhB,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;IAyCf,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;IAe1B,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;YAoB5C,UAAU;YAWV,gBAAgB;YAiBhB,KAAK;CAwBpB;AA4HD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,qBAAqB,GAC5B,SAAS,MAAM,EAAE,CAInB"}
@@ -1,4 +1,4 @@
1
- import { fromCaip2, toCaip2 } from './caip2.js';
1
+ import { fromCaip2, isCaip2, toCaip2 } from './caip2.js';
2
2
  import { API_VERSION, SDK_VERSION } from './consts.js';
3
3
  import { OrchestratorError, parseErrorEnvelope, } from './error.js';
4
4
  import { convertBigIntFields } from './utils.js';
@@ -37,8 +37,7 @@ export class Orchestrator {
37
37
  chain: parseChainId(c.chainId),
38
38
  address: c.address,
39
39
  decimals: c.decimals,
40
- locked: BigInt(c.balance.locked),
41
- unlocked: BigInt(c.balance.unlocked),
40
+ amount: BigInt(c.amount),
42
41
  })),
43
42
  }));
44
43
  }
@@ -55,7 +54,9 @@ export class Orchestrator {
55
54
  const body = convertBigIntFields({
56
55
  chainId: toCaip2(input.chain.id),
57
56
  tokens: input.tokens,
58
- settlementLayers: input.settlementLayers,
57
+ settlementLayers: input.settlementLayers
58
+ ? encodeSettlementLayers(input.settlementLayers)
59
+ : undefined,
59
60
  });
60
61
  const json = await this.fetch(`${this.serverUrl}/intents/splits`, {
61
62
  method: 'POST',
@@ -146,9 +147,11 @@ function parseChainId(value) {
146
147
  if (typeof value === 'number')
147
148
  return value;
148
149
  if (typeof value === 'string') {
149
- if (value.startsWith('eip155:'))
150
+ if (isCaip2(value))
150
151
  return fromCaip2(value);
151
- return Number(value);
152
+ const numeric = Number(value);
153
+ if (Number.isFinite(numeric))
154
+ return numeric;
152
155
  }
153
156
  throw new OrchestratorError({
154
157
  message: `Invalid chain id value: ${String(value)}`,
@@ -207,12 +210,31 @@ function encodeAuxiliaryFunds(funds) {
207
210
  ]));
208
211
  }
209
212
  function encodeOptions(options) {
210
- if (!options.auxiliaryFunds)
211
- return options;
212
- return {
213
- ...options,
214
- auxiliaryFunds: encodeAuxiliaryFunds(options.auxiliaryFunds),
215
- };
213
+ const wire = { ...options };
214
+ if (options.auxiliaryFunds) {
215
+ wire.auxiliaryFunds = encodeAuxiliaryFunds(options.auxiliaryFunds);
216
+ }
217
+ if (options.settlementLayers) {
218
+ wire.settlementLayers = encodeSettlementLayers(options.settlementLayers);
219
+ }
220
+ return wire;
221
+ }
222
+ // Inversion universe for `{ exclude }`. Drop once the orchestrator accepts the
223
+ // union natively; RHINO/CCTP are listed despite not being in `SettlementLayer`.
224
+ const KNOWN_SETTLEMENT_LAYERS = [
225
+ 'ACROSS',
226
+ 'ECO',
227
+ 'RELAY',
228
+ 'OFT',
229
+ 'NEAR',
230
+ 'RHINO',
231
+ 'CCTP',
232
+ ];
233
+ export function encodeSettlementLayers(filter) {
234
+ if ('include' in filter)
235
+ return filter.include;
236
+ const excluded = new Set(filter.exclude);
237
+ return KNOWN_SETTLEMENT_LAYERS.filter((layer) => !excluded.has(layer));
216
238
  }
217
239
  function decodeQuoteResponse(json) {
218
240
  const routes = (json.routes ?? []);
@@ -229,18 +251,19 @@ function decodeQuote(route) {
229
251
  tokenRequirements: route.tokenRequirements
230
252
  ? decodeTokenRequirements(route.tokenRequirements)
231
253
  : undefined,
254
+ bridgeFill: decodeBridgeFill(route.bridgeFill),
232
255
  };
233
256
  }
257
+ // Normalizes CAIP-2 strings to numeric IDs for consistency with BridgeFill decodeCostTokenEntry, and getIntent
258
+ function decodeBridgeFill(bf) {
259
+ if (!bf)
260
+ return undefined;
261
+ return { ...bf, destinationChainId: parseChainId(bf.destinationChainId) };
262
+ }
234
263
  function decodeCost(cost) {
235
264
  return {
236
265
  input: cost.input.map(decodeCostTokenEntry),
237
266
  output: cost.output.map(decodeCostTokenEntry),
238
- feeToken: cost.feeToken
239
- ? {
240
- chainId: parseChainId(cost.feeToken.chainId),
241
- tokenAddress: cost.feeToken.tokenAddress,
242
- }
243
- : undefined,
244
267
  fees: cost.fees,
245
268
  };
246
269
  }
@@ -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.1";
3
+ declare const SDK_VERSION = "2.0.0-beta.10";
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 +1 @@
1
- {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../orchestrator/consts.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,qBAAqB,2CAA2C,CAAA;AACtE,QAAA,MAAM,6BAA6B,+CACW,CAAA;AAE9C,QAAA,MAAM,WAAW,iBAAiB,CAAA;AAClC,QAAA,MAAM,WAAW,kBAAkB,CAAA;AAEnC,OAAO,EACL,qBAAqB,EACrB,6BAA6B,EAC7B,WAAW,EACX,WAAW,GACZ,CAAA"}
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../orchestrator/consts.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,qBAAqB,2CAA2C,CAAA;AACtE,QAAA,MAAM,6BAA6B,+CACW,CAAA;AAE9C,QAAA,MAAM,WAAW,kBAAkB,CAAA;AACnC,QAAA,MAAM,WAAW,kBAAkB,CAAA;AAEnC,OAAO,EACL,qBAAqB,EACrB,6BAA6B,EAC7B,WAAW,EACX,WAAW,GACZ,CAAA"}
@@ -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.1';
3
+ const SDK_VERSION = '2.0.0-beta.10';
4
4
  const API_VERSION = '2026-04.blanc';
5
5
  export { PROD_ORCHESTRATOR_URL, RHINESTONE_SPOKE_POOL_ADDRESS, SDK_VERSION, API_VERSION, };