@rhinestone/sdk 2.0.0-beta.0 → 2.0.0-beta.2
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 +43 -2
- package/dist/src/accounts/index.d.ts.map +1 -1
- package/dist/src/accounts/index.js +6 -34
- package/dist/src/accounts/json-rpc/providers.d.ts.map +1 -1
- package/dist/src/accounts/json-rpc/providers.js +3 -2
- package/dist/src/actions/smart-sessions.d.ts.map +1 -1
- package/dist/src/actions/smart-sessions.js +3 -3
- package/dist/src/errors/index.d.ts +3 -3
- package/dist/src/errors/index.d.ts.map +1 -1
- package/dist/src/errors/index.js +6 -4
- package/dist/src/execution/compact.d.ts +1 -144
- package/dist/src/execution/compact.d.ts.map +1 -1
- package/dist/src/execution/compact.js +1 -109
- package/dist/src/execution/error.d.ts +10 -1
- package/dist/src/execution/error.d.ts.map +1 -1
- package/dist/src/execution/error.js +9 -1
- package/dist/src/execution/index.d.ts +5 -7
- package/dist/src/execution/index.d.ts.map +1 -1
- package/dist/src/execution/index.js +24 -44
- package/dist/src/execution/utils.d.ts +29 -13
- package/dist/src/execution/utils.d.ts.map +1 -1
- package/dist/src/execution/utils.js +174 -122
- package/dist/src/index.d.ts +21 -16
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +15 -45
- 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 +74 -22
- package/dist/src/orchestrator/caip2.d.ts +7 -0
- package/dist/src/orchestrator/caip2.d.ts.map +1 -0
- package/dist/src/orchestrator/caip2.js +17 -0
- package/dist/src/orchestrator/client.d.ts +11 -11
- package/dist/src/orchestrator/client.d.ts.map +1 -1
- package/dist/src/orchestrator/client.js +193 -295
- package/dist/src/orchestrator/consts.d.ts +2 -2
- package/dist/src/orchestrator/consts.d.ts.map +1 -1
- package/dist/src/orchestrator/consts.js +2 -2
- package/dist/src/orchestrator/error.d.ts +72 -217
- package/dist/src/orchestrator/error.d.ts.map +1 -1
- package/dist/src/orchestrator/error.js +117 -195
- package/dist/src/orchestrator/index.d.ts +5 -5
- package/dist/src/orchestrator/index.d.ts.map +1 -1
- package/dist/src/orchestrator/index.js +3 -3
- 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 +97 -232
- package/dist/src/orchestrator/types.d.ts.map +1 -1
- package/dist/src/types.d.ts +101 -32
- 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 -143
- package/dist/src/execution/permit2.d.ts.map +0 -1
- package/dist/src/execution/permit2.js +0 -280
- package/dist/src/execution/singleChainOps.d.ts +0 -41
- package/dist/src/execution/singleChainOps.d.ts.map +0 -1
- package/dist/src/execution/singleChainOps.js +0 -42
- package/dist/src/execution/types.d.ts +0 -36
- package/dist/src/execution/types.d.ts.map +0 -1
- package/dist/src/execution/types.js +0 -1
- /package/dist/src/{accounts → utils}/walletClient.d.ts +0 -0
package/dist/src/index.js
CHANGED
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
import { checkAddress, deploy as deployInternal, FactoryArgsNotAvailableError, getAccountProvider, getAddress as getAddressInternal, getInitCode, isDeployed as isDeployedInternal, OwnersFieldRequiredError, setup as setupInternal, signEip7702InitData as signEip7702InitDataInternal, } from './accounts/index.js';
|
|
2
|
-
import { walletClientToAccount, wrapParaAccount } from './accounts/walletClient.js';
|
|
3
|
-
import { deployAccountsForOwners } from './actions/deployment.js';
|
|
4
2
|
import { createAuthProvider } from './auth/provider.js';
|
|
5
|
-
import { getIntentStatus as getIntentStatusInternal, getPortfolio as getPortfolioInternal,
|
|
6
|
-
import { checkERC20AllowanceDirect, checkERC20Allowance as checkERC20AllowanceInternal, getPermit2Address, signPermit2Batch, signPermit2Sequential, } from './execution/permit2.js';
|
|
3
|
+
import { getIntentStatus as getIntentStatusInternal, getPortfolio as getPortfolioInternal, sendUserOperation as sendUserOperationInternal, splitIntents as splitIntentsInternal, waitForExecution as waitForExecutionInternal, } from './execution/index.js';
|
|
7
4
|
import { getTransactionMessages as getTransactionMessagesInternal, prepareTransaction as prepareTransactionInternal, prepareUserOperation as prepareUserOperationInternal, signAuthorizations as signAuthorizationsInternal, signMessage as signMessageInternal, signTransaction as signTransactionInternal, signTypedData as signTypedDataInternal, signUserOperation as signUserOperationInternal, submitTransaction as submitTransactionInternal, submitUserOperation as submitUserOperationInternal, } from './execution/utils.js';
|
|
8
5
|
import { getExecutors as getExecutorsInternal, getOwners as getOwnersInternal, getSessionDetails as getSessionDetailsInternal, getValidators as getValidatorsInternal, MULTI_FACTOR_VALIDATOR_ADDRESS, OWNABLE_VALIDATOR_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS, signEnableSession as signEnableSessionInternal, WEBAUTHN_VALIDATOR_ADDRESS, } from './modules/index.js';
|
|
9
6
|
import { isSessionEnabled as isSessionEnabledInternal, } from './modules/validators/smart-sessions.js';
|
|
10
|
-
import { getAllSupportedChainsAndTokens, getSupportedTokens, getTokenAddress, getTokenDecimals, } from './orchestrator/index.js';
|
|
11
7
|
/**
|
|
12
8
|
* Initialize a Rhinestone account
|
|
13
9
|
* Note: accounts are deployed onchain only when the first transaction is sent.
|
|
@@ -81,19 +77,21 @@ async function createRhinestoneAccount(config) {
|
|
|
81
77
|
/**
|
|
82
78
|
* Get the transaction typed data message to sign
|
|
83
79
|
* @param preparedTransaction Prepared transaction data
|
|
80
|
+
* @param options Optional override; pass `{ intentId }` to inspect a specific quote from `preparedTransaction.quotes.all`
|
|
84
81
|
* @see {@link prepareTransaction} to prepare the transaction data for signing
|
|
85
82
|
*/
|
|
86
|
-
function getTransactionMessages(preparedTransaction) {
|
|
87
|
-
return getTransactionMessagesInternal(config, preparedTransaction);
|
|
83
|
+
function getTransactionMessages(preparedTransaction, options) {
|
|
84
|
+
return getTransactionMessagesInternal(config, preparedTransaction, options);
|
|
88
85
|
}
|
|
89
86
|
/**
|
|
90
87
|
* Sign a transaction
|
|
91
88
|
* @param preparedTransaction Prepared transaction data
|
|
89
|
+
* @param options Optional override; pass `{ intentId }` to sign a specific quote from `preparedTransaction.quotes.all`
|
|
92
90
|
* @returns signed transaction data
|
|
93
91
|
* @see {@link prepareTransaction} to prepare the transaction data for signing
|
|
94
92
|
*/
|
|
95
|
-
function signTransaction(preparedTransaction) {
|
|
96
|
-
return signTransactionInternal(config, preparedTransaction);
|
|
93
|
+
function signTransaction(preparedTransaction, options) {
|
|
94
|
+
return signTransactionInternal(config, preparedTransaction, options);
|
|
97
95
|
}
|
|
98
96
|
/**
|
|
99
97
|
* Sign the required EIP-7702 authorizations for a transaction
|
|
@@ -127,14 +125,14 @@ async function createRhinestoneAccount(config) {
|
|
|
127
125
|
/**
|
|
128
126
|
* Submit a transaction
|
|
129
127
|
* @param signedTransaction Signed transaction data
|
|
130
|
-
* @param
|
|
128
|
+
* @param options Optional submission options
|
|
129
|
+
* @param options.authorizations EIP-7702 authorizations to submit
|
|
131
130
|
* @returns transaction result object (a UserOp hash)
|
|
132
131
|
* @see {@link signTransaction} to sign the transaction data
|
|
133
132
|
* @see {@link signAuthorizations} to sign the required EIP-7702 authorizations
|
|
134
|
-
* @see {@link dryRun} true when intent is not executed onchain (internal use only)
|
|
135
133
|
*/
|
|
136
|
-
function submitTransaction(signedTransaction,
|
|
137
|
-
return submitTransactionInternal(config, signedTransaction, authorizations ?? [],
|
|
134
|
+
function submitTransaction(signedTransaction, options) {
|
|
135
|
+
return submitTransactionInternal(config, signedTransaction, options?.authorizations ?? [], options?.internal_dryRun ?? false);
|
|
138
136
|
}
|
|
139
137
|
/**
|
|
140
138
|
* Prepare a user operation data
|
|
@@ -162,14 +160,6 @@ async function createRhinestoneAccount(config) {
|
|
|
162
160
|
function submitUserOperation(signedUserOperation) {
|
|
163
161
|
return submitUserOperationInternal(config, signedUserOperation);
|
|
164
162
|
}
|
|
165
|
-
/**
|
|
166
|
-
* Sign and send a transaction
|
|
167
|
-
* @param transaction Transaction to send
|
|
168
|
-
* @returns transaction result object (an intent ID)
|
|
169
|
-
*/
|
|
170
|
-
function sendTransaction(transaction) {
|
|
171
|
-
return sendTransactionInternal(config, transaction);
|
|
172
|
-
}
|
|
173
163
|
/**
|
|
174
164
|
* Sign and send a user operation
|
|
175
165
|
* @param transaction User operation to send
|
|
@@ -178,8 +168,8 @@ async function createRhinestoneAccount(config) {
|
|
|
178
168
|
function sendUserOperation(transaction) {
|
|
179
169
|
return sendUserOperationInternal(config, transaction);
|
|
180
170
|
}
|
|
181
|
-
function waitForExecution(result
|
|
182
|
-
return waitForExecutionInternal(config, result
|
|
171
|
+
function waitForExecution(result) {
|
|
172
|
+
return waitForExecutionInternal(config, result);
|
|
183
173
|
}
|
|
184
174
|
/**
|
|
185
175
|
* Get account address
|
|
@@ -231,18 +221,6 @@ async function createRhinestoneAccount(config) {
|
|
|
231
221
|
function experimental_signEnableSession(details) {
|
|
232
222
|
return signEnableSessionInternal(config, details);
|
|
233
223
|
}
|
|
234
|
-
/**
|
|
235
|
-
* Check ERC20 allowance for the account owner and token (using Permit2 as spender)
|
|
236
|
-
* @param tokenAddress The token contract address
|
|
237
|
-
* @param chain The chain to check the allowance on
|
|
238
|
-
* @returns The allowance amount
|
|
239
|
-
*/
|
|
240
|
-
function checkERC20Allowance(tokenAddress, chain) {
|
|
241
|
-
if (!config.provider) {
|
|
242
|
-
throw new Error('Provider configuration is required');
|
|
243
|
-
}
|
|
244
|
-
return checkERC20AllowanceInternal(tokenAddress, chain, config);
|
|
245
|
-
}
|
|
246
224
|
return {
|
|
247
225
|
config,
|
|
248
226
|
deploy,
|
|
@@ -259,7 +237,6 @@ async function createRhinestoneAccount(config) {
|
|
|
259
237
|
prepareUserOperation,
|
|
260
238
|
signUserOperation,
|
|
261
239
|
submitUserOperation,
|
|
262
|
-
sendTransaction,
|
|
263
240
|
sendUserOperation,
|
|
264
241
|
waitForExecution,
|
|
265
242
|
getAddress,
|
|
@@ -270,7 +247,6 @@ async function createRhinestoneAccount(config) {
|
|
|
270
247
|
experimental_getSessionDetails,
|
|
271
248
|
experimental_isSessionEnabled,
|
|
272
249
|
experimental_signEnableSession,
|
|
273
|
-
checkERC20Allowance,
|
|
274
250
|
getInitData,
|
|
275
251
|
};
|
|
276
252
|
}
|
|
@@ -311,12 +287,6 @@ class RhinestoneSDK {
|
|
|
311
287
|
return splitIntentsInternal(this.authProvider, this.endpointUrl, input, this.headers);
|
|
312
288
|
}
|
|
313
289
|
}
|
|
314
|
-
export { RhinestoneSDK, createRhinestoneAccount,
|
|
290
|
+
export { RhinestoneSDK, createRhinestoneAccount,
|
|
315
291
|
// Validator addresses
|
|
316
|
-
OWNABLE_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, MULTI_FACTOR_VALIDATOR_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS,
|
|
317
|
-
// Registry functions
|
|
318
|
-
getSupportedTokens, getTokenAddress, getTokenDecimals, getAllSupportedChainsAndTokens,
|
|
319
|
-
// Permit2 helpers
|
|
320
|
-
checkERC20AllowanceDirect, getPermit2Address,
|
|
321
|
-
// Multi-chain permit2 signing
|
|
322
|
-
signPermit2Batch, signPermit2Sequential, };
|
|
292
|
+
OWNABLE_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, MULTI_FACTOR_VALIDATOR_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS, };
|
|
@@ -3,9 +3,9 @@ import type { RhinestoneConfig } from '../types.js';
|
|
|
3
3
|
import { type ModeleSetup, type Module } from './common.js';
|
|
4
4
|
import { getExecutors, getOwners, getValidators } from './read.js';
|
|
5
5
|
import { getOwnerValidator, MULTI_FACTOR_VALIDATOR_ADDRESS, OWNABLE_VALIDATOR_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS } from './validators/index.js';
|
|
6
|
-
import { getSessionDetails, signEnableSession } from './validators/smart-sessions.js';
|
|
6
|
+
import { getSessionDetails, signEnableSession, toSession } from './validators/smart-sessions.js';
|
|
7
7
|
declare function getSetup(config: RhinestoneConfig): ModeleSetup;
|
|
8
8
|
declare function getIntentExecutor(config: RhinestoneConfig): Module;
|
|
9
9
|
declare function isRip7212SupportedNetwork(chain: Chain): boolean;
|
|
10
|
-
export { OWNABLE_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, MULTI_FACTOR_VALIDATOR_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS, getSetup, getOwnerValidator, getOwners, getExecutors, getIntentExecutor, getValidators, isRip7212SupportedNetwork, getSessionDetails, signEnableSession, };
|
|
10
|
+
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, };
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../modules/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,KAAK,EAAuB,MAAM,MAAM,CAAA;AAcpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAKhD,OAAO,EAQL,KAAK,WAAW,EAChB,KAAK,MAAM,EACZ,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAC/D,OAAO,EACL,iBAAiB,EAEjB,8BAA8B,EAC9B,yBAAyB,EACzB,8BAA8B,EAC9B,0BAA0B,EAC3B,MAAM,cAAc,CAAA;AAErB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../modules/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,KAAK,EAAuB,MAAM,MAAM,CAAA;AAcpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAKhD,OAAO,EAQL,KAAK,WAAW,EAChB,KAAK,MAAM,EACZ,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAC/D,OAAO,EACL,iBAAiB,EAEjB,8BAA8B,EAC9B,yBAAyB,EACzB,8BAA8B,EAC9B,0BAA0B,EAC3B,MAAM,cAAc,CAAA;AAErB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACV,MAAM,6BAA6B,CAAA;AAKpC,iBAAS,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,WAAW,CA0EvD;AAED,iBAAS,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAY3D;AAED,iBAAS,yBAAyB,CAAC,KAAK,EAAE,KAAK,WAc9C;AAED,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,QAAQ,EACR,iBAAiB,EACjB,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,GACV,CAAA"}
|
|
@@ -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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"}
|