@rhinestone/sdk 2.0.0-beta.1 → 2.0.0-beta.3
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.
- package/README.md +42 -1
- package/dist/src/accounts/index.d.ts.map +1 -1
- package/dist/src/accounts/index.js +6 -34
- package/dist/src/actions/smart-sessions.d.ts.map +1 -1
- package/dist/src/actions/smart-sessions.js +3 -3
- package/dist/src/execution/index.d.ts +3 -4
- package/dist/src/execution/index.d.ts.map +1 -1
- package/dist/src/execution/index.js +3 -27
- package/dist/src/execution/utils.d.ts +1 -1
- package/dist/src/execution/utils.d.ts.map +1 -1
- package/dist/src/execution/utils.js +7 -5
- package/dist/src/index.d.ts +16 -12
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +9 -39
- package/dist/src/modules/index.d.ts +2 -2
- package/dist/src/modules/index.d.ts.map +1 -1
- package/dist/src/modules/index.js +2 -2
- package/dist/src/modules/read.d.ts.map +1 -1
- package/dist/src/modules/read.js +2 -4
- package/dist/src/modules/validators/index.d.ts +2 -2
- package/dist/src/modules/validators/index.d.ts.map +1 -1
- package/dist/src/modules/validators/index.js +2 -2
- package/dist/src/modules/validators/permissions.d.ts +5 -0
- package/dist/src/modules/validators/permissions.d.ts.map +1 -0
- package/dist/src/modules/validators/permissions.js +111 -0
- package/dist/src/modules/validators/policies/claim/permit2.d.ts +29 -3
- package/dist/src/modules/validators/policies/claim/permit2.d.ts.map +1 -1
- package/dist/src/modules/validators/smart-sessions.d.ts +14 -27
- package/dist/src/modules/validators/smart-sessions.d.ts.map +1 -1
- package/dist/src/modules/validators/smart-sessions.js +71 -17
- package/dist/src/orchestrator/client.d.ts.map +1 -1
- package/dist/src/orchestrator/client.js +1 -8
- package/dist/src/orchestrator/consts.d.ts +1 -1
- package/dist/src/orchestrator/consts.js +1 -1
- package/dist/src/orchestrator/index.d.ts +4 -4
- package/dist/src/orchestrator/index.d.ts.map +1 -1
- package/dist/src/orchestrator/index.js +2 -2
- package/dist/src/orchestrator/registry.d.ts +1 -8
- package/dist/src/orchestrator/registry.d.ts.map +1 -1
- package/dist/src/orchestrator/registry.js +1 -26
- package/dist/src/orchestrator/types.d.ts +2 -8
- package/dist/src/orchestrator/types.d.ts.map +1 -1
- package/dist/src/types.d.ts +99 -28
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/index.d.ts +2 -1
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +2 -1
- package/dist/src/utils/walletClient.d.ts.map +1 -0
- package/dist/src/{accounts → utils}/walletClient.js +1 -1
- package/package.json +1 -5
- package/dist/src/accounts/passport.d.ts +0 -9
- package/dist/src/accounts/passport.d.ts.map +0 -1
- package/dist/src/accounts/passport.js +0 -78
- package/dist/src/accounts/walletClient.d.ts.map +0 -1
- package/dist/src/actions/compact.d.ts +0 -15
- package/dist/src/actions/compact.d.ts.map +0 -1
- package/dist/src/actions/compact.js +0 -200
- package/dist/src/actions/deployment.d.ts +0 -19
- package/dist/src/actions/deployment.d.ts.map +0 -1
- package/dist/src/actions/deployment.js +0 -76
- package/dist/src/execution/permit2.d.ts +0 -7
- package/dist/src/execution/permit2.d.ts.map +0 -1
- package/dist/src/execution/permit2.js +0 -51
- /package/dist/src/{accounts → utils}/walletClient.d.ts +0 -0
|
@@ -5,7 +5,7 @@ import { getModule, MODULE_TYPE_EXECUTOR, MODULE_TYPE_FALLBACK, MODULE_TYPE_HOOK
|
|
|
5
5
|
import { getExecutors, getOwners, getValidators } from './read.js';
|
|
6
6
|
import { getOwnerValidator, getSmartSessionValidator, MULTI_FACTOR_VALIDATOR_ADDRESS, OWNABLE_VALIDATOR_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, } from './validators/index.js';
|
|
7
7
|
import { getSocialRecoveryValidator } from './validators/core.js';
|
|
8
|
-
import { getSessionDetails, signEnableSession, } from './validators/smart-sessions.js';
|
|
8
|
+
import { getSessionDetails, signEnableSession, toSession, } from './validators/smart-sessions.js';
|
|
9
9
|
const SMART_SESSION_COMPATIBILITY_FALLBACK_ADDRESS = '0x000000000052e9685932845660777DF43C2dC496';
|
|
10
10
|
function getSetup(config) {
|
|
11
11
|
const ownerValidator = getOwnerValidator(config);
|
|
@@ -87,4 +87,4 @@ function isRip7212SupportedNetwork(chain) {
|
|
|
87
87
|
];
|
|
88
88
|
return supportedChains.includes(chain);
|
|
89
89
|
}
|
|
90
|
-
export { OWNABLE_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, MULTI_FACTOR_VALIDATOR_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS, getSetup, getOwnerValidator, getOwners, getExecutors, getIntentExecutor, getValidators, isRip7212SupportedNetwork, getSessionDetails, signEnableSession, };
|
|
90
|
+
export { OWNABLE_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, MULTI_FACTOR_VALIDATOR_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS, getSetup, getOwnerValidator, getOwners, getExecutors, getIntentExecutor, getValidators, isRip7212SupportedNetwork, getSessionDetails, signEnableSession, toSession, };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../modules/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAsB,MAAM,MAAM,CAAA;AAEnE,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAG3D,iBAAe,aAAa,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,OAAO,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../modules/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAsB,MAAM,MAAM,CAAA;AAEnE,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAG3D,iBAAe,aAAa,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,OAAO,EAAE,CAAC,CAiDpB;AAED,iBAAe,SAAS,CACtB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC;IACT,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB,GAAG,IAAI,CAAC,CAkER;AAED,iBAAe,YAAY,CACzB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,OAAO,EAAE,CAAC,CAiDpB;AAED,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,CAAA"}
|
package/dist/src/modules/read.js
CHANGED
|
@@ -9,8 +9,7 @@ async function getValidators(accountType, account, chain, provider) {
|
|
|
9
9
|
switch (accountType) {
|
|
10
10
|
case 'safe':
|
|
11
11
|
case 'startale':
|
|
12
|
-
case 'nexus':
|
|
13
|
-
case 'passport': {
|
|
12
|
+
case 'nexus': {
|
|
14
13
|
const validators = await publicClient.readContract({
|
|
15
14
|
abi: [
|
|
16
15
|
{
|
|
@@ -127,8 +126,7 @@ async function getExecutors(accountType, account, chain, provider) {
|
|
|
127
126
|
switch (accountType) {
|
|
128
127
|
case 'safe':
|
|
129
128
|
case 'startale':
|
|
130
|
-
case 'nexus':
|
|
131
|
-
case 'passport': {
|
|
129
|
+
case 'nexus': {
|
|
132
130
|
const executors = await publicClient.readContract({
|
|
133
131
|
abi: [
|
|
134
132
|
{
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { getMockSignature, getOwnerValidator, MULTI_FACTOR_VALIDATOR_ADDRESS, OWNABLE_VALIDATOR_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS } from './core.js';
|
|
2
|
-
import { buildMockSignature, DUMMY_PRECLAIMOP_SELECTOR, DUMMY_PRECLAIMOP_TARGET, getEnableSessionCall, getPermissionId, getSmartSessionValidator, isSessionEnabled, packSignature } from './smart-sessions.js';
|
|
3
|
-
export { OWNABLE_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, MULTI_FACTOR_VALIDATOR_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS, DUMMY_PRECLAIMOP_TARGET, DUMMY_PRECLAIMOP_SELECTOR, getOwnerValidator, getSmartSessionValidator, getEnableSessionCall, getPermissionId, getMockSignature, buildMockSignature, isSessionEnabled, packSignature, };
|
|
2
|
+
import { buildMockSignature, DUMMY_PRECLAIMOP_SELECTOR, DUMMY_PRECLAIMOP_TARGET, getEnableSessionCall, getPermissionId, getSmartSessionValidator, isSessionEnabled, packSignature, toSession } from './smart-sessions.js';
|
|
3
|
+
export { OWNABLE_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, MULTI_FACTOR_VALIDATOR_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS, DUMMY_PRECLAIMOP_TARGET, DUMMY_PRECLAIMOP_SELECTOR, getOwnerValidator, getSmartSessionValidator, getEnableSessionCall, getPermissionId, getMockSignature, buildMockSignature, isSessionEnabled, packSignature, toSession, };
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../modules/validators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,8BAA8B,EAC9B,yBAAyB,EACzB,8BAA8B,EAC9B,0BAA0B,EAC3B,MAAM,QAAQ,CAAA;AACf,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACxB,gBAAgB,EAChB,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../modules/validators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,8BAA8B,EAC9B,yBAAyB,EACzB,8BAA8B,EAC9B,0BAA0B,EAC3B,MAAM,QAAQ,CAAA;AACf,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACxB,gBAAgB,EAChB,aAAa,EACb,SAAS,EACV,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,SAAS,GACV,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { getMockSignature, getOwnerValidator, MULTI_FACTOR_VALIDATOR_ADDRESS, OWNABLE_VALIDATOR_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, } from './core.js';
|
|
2
|
-
import { buildMockSignature, DUMMY_PRECLAIMOP_SELECTOR, DUMMY_PRECLAIMOP_TARGET, getEnableSessionCall, getPermissionId, getSmartSessionValidator, isSessionEnabled, packSignature, } from './smart-sessions.js';
|
|
3
|
-
export { OWNABLE_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, MULTI_FACTOR_VALIDATOR_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS, DUMMY_PRECLAIMOP_TARGET, DUMMY_PRECLAIMOP_SELECTOR, getOwnerValidator, getSmartSessionValidator, getEnableSessionCall, getPermissionId, getMockSignature, buildMockSignature, isSessionEnabled, packSignature, };
|
|
2
|
+
import { buildMockSignature, DUMMY_PRECLAIMOP_SELECTOR, DUMMY_PRECLAIMOP_TARGET, getEnableSessionCall, getPermissionId, getSmartSessionValidator, isSessionEnabled, packSignature, toSession, } from './smart-sessions.js';
|
|
3
|
+
export { OWNABLE_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, MULTI_FACTOR_VALIDATOR_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS, DUMMY_PRECLAIMOP_TARGET, DUMMY_PRECLAIMOP_SELECTOR, getOwnerValidator, getSmartSessionValidator, getEnableSessionCall, getPermissionId, getMockSignature, buildMockSignature, isSessionEnabled, packSignature, toSession, };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Permission, ScopedAction } from '../../types.js';
|
|
2
|
+
declare function resolvePermission(permission: Permission): ScopedAction[];
|
|
3
|
+
declare function resolvePermissions(permissions: readonly Permission[]): ScopedAction[];
|
|
4
|
+
export { resolvePermissions, resolvePermission };
|
|
5
|
+
//# sourceMappingURL=permissions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../../modules/validators/permissions.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,UAAU,EAEV,YAAY,EAEb,MAAM,aAAa,CAAA;AA0CpB,iBAAS,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,YAAY,EAAE,CA+FjE;AAED,iBAAS,kBAAkB,CACzB,WAAW,EAAE,SAAS,UAAU,EAAE,GACjC,YAAY,EAAE,CAEhB;AAED,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,CAAA"}
|
|
@@ -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
|
-
|
|
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:
|
|
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:
|
|
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;
|
|
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
|
-
|
|
11
|
-
|
|
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
|
|
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":"AACA,OAAO,EACL,KAAK,OAAO,EAMZ,KAAK,GAAG,EAOR,KAAK,mBAAmB,EAKzB,MAAM,MAAM,CAAA;AAcb,OAAO,KAAK,EAEV,MAAM,EACN,cAAc,EACd,uBAAuB,EACvB,gBAAgB,EAChB,OAAO,EACP,iBAAiB,EAElB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAA4B,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;AACjE,OAAO,EAGL,8BAA8B,EAC9B,kCAAkC,EACnC,MAAM,QAAQ,CAAA;
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
//
|
|
432
|
-
|
|
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
|
|
447
|
-
|
|
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
|
-
|
|
469
|
-
claimPolicies: session.claimPolicies?.map((p) => ({
|
|
508
|
+
claimPolicies: session.claimPolicies?.map((policy) => ({
|
|
470
509
|
policy: PERMIT2_CLAIM_POLICY_ADDRESS,
|
|
471
|
-
initData: encodePermit2ClaimPolicyInitData(
|
|
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
|
-
|
|
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 +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;
|
|
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;IAyCf,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"}
|
|
@@ -37,8 +37,7 @@ export class Orchestrator {
|
|
|
37
37
|
chain: parseChainId(c.chainId),
|
|
38
38
|
address: c.address,
|
|
39
39
|
decimals: c.decimals,
|
|
40
|
-
|
|
41
|
-
unlocked: BigInt(c.balance.unlocked),
|
|
40
|
+
amount: BigInt(c.amount),
|
|
42
41
|
})),
|
|
43
42
|
}));
|
|
44
43
|
}
|
|
@@ -235,12 +234,6 @@ function decodeCost(cost) {
|
|
|
235
234
|
return {
|
|
236
235
|
input: cost.input.map(decodeCostTokenEntry),
|
|
237
236
|
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
237
|
fees: cost.fees,
|
|
245
238
|
};
|
|
246
239
|
}
|
|
@@ -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.
|
|
3
|
+
declare const SDK_VERSION = "2.0.0-beta.3";
|
|
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.
|
|
3
|
+
const SDK_VERSION = '2.0.0-beta.3';
|
|
4
4
|
const API_VERSION = '2026-04.blanc';
|
|
5
5
|
export { PROD_ORCHESTRATOR_URL, RHINESTONE_SPOKE_POOL_ADDRESS, SDK_VERSION, API_VERSION, };
|
|
@@ -2,10 +2,10 @@ import type { AuthProvider } from '../auth/provider.js';
|
|
|
2
2
|
import { Orchestrator } from './client.js';
|
|
3
3
|
import { RHINESTONE_SPOKE_POOL_ADDRESS } from './consts.js';
|
|
4
4
|
import { ConflictError, ExternalServiceTimeoutError, ForbiddenError, InsufficientLiquidityError, InternalServerError, isAuthError, isOrchestratorError, isRateLimited, isRetryable, isValidationError, NotFoundError, OrchestratorError, RateLimitedError, RelayerMarketUnavailableError, SettlementExecutionError, SettlementQuoteError, UnauthorizedError, UnprocessableContentError, UnsupportedChainError, UnsupportedTokenError, ValidationError } from './error.js';
|
|
5
|
-
import {
|
|
6
|
-
import type { ApprovalRequired, AuxiliaryFunds, Cost, CostTokenEntry, EstimatedFillTime, Execution, FeeBreakdown, Fees,
|
|
5
|
+
import { getTokenSymbol, getWethAddress, isTokenAddressSupported } from './registry.js';
|
|
6
|
+
import type { ApprovalRequired, AuxiliaryFunds, Cost, CostTokenEntry, EstimatedFillTime, Execution, FeeBreakdown, Fees, IntentInput, IntentOpStatus, IntentOptions, IntentSubmitRequest, IntentSubmitResponse, Portfolio, Price, Quote, QuoteResponse, SettlementLayer, SignatureMode, SignData, SignedAuthorization, SplitIntentsInput, SplitIntentsResult, SponsorSettings, SupportedChain, TokenConfig, TokenRequirements, TypedDataDefinition, UsdAmount, WrapRequired } from './types.js';
|
|
7
7
|
import { INTENT_STATUS_CLAIMED, INTENT_STATUS_COMPLETED, INTENT_STATUS_EXPIRED, INTENT_STATUS_FAILED, INTENT_STATUS_FILLED, INTENT_STATUS_PENDING, INTENT_STATUS_PRECONFIRMED } from './types.js';
|
|
8
8
|
declare function getOrchestrator(authProvider: AuthProvider, orchestratorUrl?: string, headers?: Record<string, string>): Orchestrator;
|
|
9
|
-
export type { ApprovalRequired, AuxiliaryFunds, Cost, CostTokenEntry, EstimatedFillTime, Execution, FeeBreakdown, Fees,
|
|
10
|
-
export { INTENT_STATUS_PENDING, INTENT_STATUS_EXPIRED, INTENT_STATUS_COMPLETED, INTENT_STATUS_FILLED, INTENT_STATUS_FAILED, INTENT_STATUS_PRECONFIRMED, INTENT_STATUS_CLAIMED, RHINESTONE_SPOKE_POOL_ADDRESS, Orchestrator, ConflictError, ExternalServiceTimeoutError, ForbiddenError, InsufficientLiquidityError, InternalServerError, NotFoundError, OrchestratorError, RateLimitedError, RelayerMarketUnavailableError, SettlementExecutionError, SettlementQuoteError, UnauthorizedError, UnprocessableContentError, UnsupportedChainError, UnsupportedTokenError, ValidationError, getOrchestrator, getWethAddress, getTokenSymbol,
|
|
9
|
+
export type { ApprovalRequired, AuxiliaryFunds, Cost, CostTokenEntry, EstimatedFillTime, Execution, FeeBreakdown, Fees, IntentInput, IntentOpStatus, IntentOptions, IntentSubmitRequest, IntentSubmitResponse, Portfolio, Price, Quote, QuoteResponse, SettlementLayer, SignatureMode, SignData, SignedAuthorization, SplitIntentsInput, SplitIntentsResult, SponsorSettings, SupportedChain, TokenConfig, TokenRequirements, TypedDataDefinition, UsdAmount, WrapRequired, };
|
|
10
|
+
export { INTENT_STATUS_PENDING, INTENT_STATUS_EXPIRED, INTENT_STATUS_COMPLETED, INTENT_STATUS_FILLED, INTENT_STATUS_FAILED, INTENT_STATUS_PRECONFIRMED, INTENT_STATUS_CLAIMED, RHINESTONE_SPOKE_POOL_ADDRESS, Orchestrator, ConflictError, ExternalServiceTimeoutError, ForbiddenError, InsufficientLiquidityError, InternalServerError, NotFoundError, OrchestratorError, RateLimitedError, RelayerMarketUnavailableError, SettlementExecutionError, SettlementQuoteError, UnauthorizedError, UnprocessableContentError, UnsupportedChainError, UnsupportedTokenError, ValidationError, getOrchestrator, getWethAddress, getTokenSymbol, isOrchestratorError, isRetryable, isAuthError, isValidationError, isRateLimited, isTokenAddressSupported, };
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../orchestrator/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAyB,6BAA6B,EAAE,MAAM,UAAU,CAAA;AAC/E,OAAO,EACL,aAAa,EACb,2BAA2B,EAC3B,cAAc,EACd,0BAA0B,EAC1B,mBAAmB,EACnB,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,6BAA6B,EAC7B,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EAChB,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../orchestrator/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAyB,6BAA6B,EAAE,MAAM,UAAU,CAAA;AAC/E,OAAO,EACL,aAAa,EACb,2BAA2B,EAC3B,cAAc,EACd,0BAA0B,EAC1B,mBAAmB,EACnB,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,6BAA6B,EAC7B,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EAChB,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,cAAc,EACd,cAAc,EACd,uBAAuB,EACxB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,IAAI,EACJ,cAAc,EACd,iBAAiB,EACjB,SAAS,EACT,YAAY,EACZ,IAAI,EACJ,WAAW,EACX,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,SAAS,EACT,KAAK,EACL,KAAK,EACL,aAAa,EACb,eAAe,EACf,aAAa,EACb,QAAQ,EACR,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACT,YAAY,EACb,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,SAAS,CAAA;AAEhB,iBAAS,eAAe,CACtB,YAAY,EAAE,YAAY,EAC1B,eAAe,CAAC,EAAE,MAAM,EACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,YAAY,CAMd;AAED,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,IAAI,EACJ,cAAc,EACd,iBAAiB,EACjB,SAAS,EACT,YAAY,EACZ,IAAI,EACJ,WAAW,EACX,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,SAAS,EACT,KAAK,EACL,KAAK,EACL,aAAa,EACb,eAAe,EACf,aAAa,EACb,QAAQ,EACR,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACT,YAAY,GACb,CAAA;AACD,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,6BAA6B,EAC7B,YAAY,EACZ,aAAa,EACb,2BAA2B,EAC3B,cAAc,EACd,0BAA0B,EAC1B,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,6BAA6B,EAC7B,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,uBAAuB,GACxB,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Orchestrator } from './client.js';
|
|
2
2
|
import { PROD_ORCHESTRATOR_URL, RHINESTONE_SPOKE_POOL_ADDRESS } from './consts.js';
|
|
3
3
|
import { ConflictError, ExternalServiceTimeoutError, ForbiddenError, InsufficientLiquidityError, InternalServerError, isAuthError, isOrchestratorError, isRateLimited, isRetryable, isValidationError, NotFoundError, OrchestratorError, RateLimitedError, RelayerMarketUnavailableError, SettlementExecutionError, SettlementQuoteError, UnauthorizedError, UnprocessableContentError, UnsupportedChainError, UnsupportedTokenError, ValidationError, } from './error.js';
|
|
4
|
-
import {
|
|
4
|
+
import { getTokenSymbol, getWethAddress, isTokenAddressSupported, } from './registry.js';
|
|
5
5
|
import { INTENT_STATUS_CLAIMED, INTENT_STATUS_COMPLETED, INTENT_STATUS_EXPIRED, INTENT_STATUS_FAILED, INTENT_STATUS_FILLED, INTENT_STATUS_PENDING, INTENT_STATUS_PRECONFIRMED, } from './types.js';
|
|
6
6
|
function getOrchestrator(authProvider, orchestratorUrl, headers) {
|
|
7
7
|
return new Orchestrator(orchestratorUrl ?? PROD_ORCHESTRATOR_URL, authProvider, headers);
|
|
8
8
|
}
|
|
9
|
-
export { INTENT_STATUS_PENDING, INTENT_STATUS_EXPIRED, INTENT_STATUS_COMPLETED, INTENT_STATUS_FILLED, INTENT_STATUS_FAILED, INTENT_STATUS_PRECONFIRMED, INTENT_STATUS_CLAIMED, RHINESTONE_SPOKE_POOL_ADDRESS, Orchestrator, ConflictError, ExternalServiceTimeoutError, ForbiddenError, InsufficientLiquidityError, InternalServerError, NotFoundError, OrchestratorError, RateLimitedError, RelayerMarketUnavailableError, SettlementExecutionError, SettlementQuoteError, UnauthorizedError, UnprocessableContentError, UnsupportedChainError, UnsupportedTokenError, ValidationError, getOrchestrator, getWethAddress, getTokenSymbol,
|
|
9
|
+
export { INTENT_STATUS_PENDING, INTENT_STATUS_EXPIRED, INTENT_STATUS_COMPLETED, INTENT_STATUS_FILLED, INTENT_STATUS_FAILED, INTENT_STATUS_PRECONFIRMED, INTENT_STATUS_CLAIMED, RHINESTONE_SPOKE_POOL_ADDRESS, Orchestrator, ConflictError, ExternalServiceTimeoutError, ForbiddenError, InsufficientLiquidityError, InternalServerError, NotFoundError, OrchestratorError, RateLimitedError, RelayerMarketUnavailableError, SettlementExecutionError, SettlementQuoteError, UnauthorizedError, UnprocessableContentError, UnsupportedChainError, UnsupportedTokenError, ValidationError, getOrchestrator, getWethAddress, getTokenSymbol, isOrchestratorError, isRetryable, isAuthError, isValidationError, isRateLimited, isTokenAddressSupported, };
|
|
@@ -1,23 +1,16 @@
|
|
|
1
1
|
import { type Address, type Chain } from 'viem';
|
|
2
2
|
import type { TokenSymbol } from '../types.js';
|
|
3
|
-
import type { TokenConfig } from './types.js';
|
|
4
3
|
declare function getSupportedChainIds(): number[];
|
|
5
4
|
declare function getWethAddress(chain: Chain): Address;
|
|
6
5
|
declare function getWrappedTokenAddress(chain: Chain): Address;
|
|
7
6
|
declare function getTokenSymbol(tokenAddress: Address, chainId: number): string | undefined;
|
|
8
7
|
declare function getTokenAddress(tokenSymbol: TokenSymbol, chainId: number): Address;
|
|
9
|
-
declare function getTokenDecimals(tokenSymbol: TokenSymbol, chainId: number): number;
|
|
10
8
|
declare function getChainById(chainId: number): Chain;
|
|
11
9
|
declare function isTestnet(chainId: number): boolean;
|
|
12
10
|
declare function isTokenAddressSupported(address: Address, chainId: number): boolean;
|
|
13
|
-
declare function getSupportedTokens(chainId: number): TokenConfig[];
|
|
14
11
|
declare function getDefaultAccountAccessList(onTestnets?: boolean): {
|
|
15
12
|
chainIds: number[];
|
|
16
13
|
};
|
|
17
14
|
declare function resolveTokenAddress(token: TokenSymbol | Address, chainId: number): Address;
|
|
18
|
-
|
|
19
|
-
chainId: number;
|
|
20
|
-
tokens: TokenConfig[];
|
|
21
|
-
}[];
|
|
22
|
-
export { getTokenSymbol, getTokenAddress, getTokenDecimals, getWethAddress, getWrappedTokenAddress, getChainById, getSupportedTokens, getSupportedChainIds, isTestnet, isTokenAddressSupported, getDefaultAccountAccessList, resolveTokenAddress, getAllSupportedChainsAndTokens, };
|
|
15
|
+
export { getTokenSymbol, getTokenAddress, getWethAddress, getWrappedTokenAddress, getChainById, getSupportedChainIds, isTestnet, isTokenAddressSupported, getDefaultAccountAccessList, resolveTokenAddress, };
|
|
23
16
|
//# 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;
|
|
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;AAG3C,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,EAC5B,OAAO,EAAE,MAAM,GACd,OAAO,CAKT;AAED,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,oBAAoB,EACpB,SAAS,EACT,uBAAuB,EACvB,2BAA2B,EAC3B,mBAAmB,GACpB,CAAA"}
|