@rhinestone/sdk 1.0.0-alpha.2 → 1.0.0-alpha.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/dist/src/accounts/index.d.ts +3 -3
- package/dist/src/accounts/index.d.ts.map +1 -1
- package/dist/src/accounts/index.js +10 -9
- package/dist/src/accounts/kernel.d.ts +6 -6
- package/dist/src/accounts/kernel.d.ts.map +1 -1
- package/dist/src/accounts/nexus.d.ts +3 -3
- package/dist/src/accounts/nexus.d.ts.map +1 -1
- package/dist/src/accounts/safe.d.ts +3 -3
- package/dist/src/accounts/safe.d.ts.map +1 -1
- package/dist/src/accounts/utils.d.ts +4 -3
- package/dist/src/accounts/utils.d.ts.map +1 -1
- package/dist/src/accounts/utils.js +44 -0
- package/dist/src/actions/index.d.ts +5 -5
- package/dist/src/actions/index.d.ts.map +1 -1
- package/dist/src/actions/index.js +8 -4
- package/dist/src/actions/index.test.js +18 -0
- package/dist/src/actions/registry.d.ts +1 -1
- package/dist/src/actions/registry.d.ts.map +1 -1
- package/dist/src/actions/registry.test.js +1 -2
- package/dist/src/actions/smart-session.d.ts +2 -2
- package/dist/src/actions/smart-session.d.ts.map +1 -1
- package/dist/src/execution/compact.d.ts +2 -2
- package/dist/src/execution/compact.d.ts.map +1 -1
- package/dist/src/execution/compact.js +3 -1
- package/dist/src/execution/index.d.ts.map +1 -1
- package/dist/src/execution/index.js +14 -10
- package/dist/src/execution/smart-session.d.ts +1 -1
- package/dist/src/execution/smart-session.d.ts.map +1 -1
- package/dist/src/execution/smart-session.js +10 -10
- package/dist/src/execution/utils.d.ts +7 -6
- package/dist/src/execution/utils.d.ts.map +1 -1
- package/dist/src/execution/utils.js +18 -12
- package/dist/src/index.d.ts +8 -8
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +10 -8
- package/dist/src/modules/read.d.ts +5 -5
- package/dist/src/modules/read.d.ts.map +1 -1
- package/dist/src/modules/read.js +7 -6
- package/dist/src/modules/registry.d.ts +2 -2
- package/dist/src/modules/registry.d.ts.map +1 -1
- package/dist/src/modules/validators/core.d.ts +1 -1
- package/dist/src/modules/validators/core.d.ts.map +1 -1
- package/dist/src/modules/validators/smart-sessions.d.ts +3 -3
- package/dist/src/modules/validators/smart-sessions.d.ts.map +1 -1
- package/dist/src/modules/validators/smart-sessions.js +7 -6
- package/dist/src/orchestrator/client.d.ts.map +1 -1
- package/dist/src/orchestrator/index.d.ts +2 -2
- package/dist/src/orchestrator/index.d.ts.map +1 -1
- package/dist/src/orchestrator/index.js +1 -7
- package/dist/src/orchestrator/registry.d.ts +31 -12
- package/dist/src/orchestrator/registry.d.ts.map +1 -1
- package/dist/src/orchestrator/registry.js +56 -379
- package/dist/src/orchestrator/registry.json +356 -0
- package/dist/src/orchestrator/registry.test.d.ts +2 -0
- package/dist/src/orchestrator/registry.test.d.ts.map +1 -0
- package/dist/src/orchestrator/registry.test.js +137 -0
- package/dist/src/orchestrator/types.d.ts +1 -2
- package/dist/src/orchestrator/types.d.ts.map +1 -1
- package/dist/src/orchestrator/utils.d.ts.map +1 -1
- package/dist/src/types.d.ts +20 -17
- package/dist/src/types.d.ts.map +1 -1
- package/dist/test/consts.d.ts +2 -2
- package/dist/test/consts.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -35,7 +35,7 @@ async function sendTransaction(config, transaction) {
|
|
|
35
35
|
return await sendTransactionInternal(config, transaction.sourceChain, transaction.targetChain, transaction.calls, transaction.gasLimit, transaction.tokenRequests, transaction.signers);
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
async function sendTransactionInternal(config, sourceChain, targetChain,
|
|
38
|
+
async function sendTransactionInternal(config, sourceChain, targetChain, callInputs, gasLimit, initialTokenRequests, signers) {
|
|
39
39
|
if (sourceChain) {
|
|
40
40
|
const isAccountDeployed = await (0, accounts_1.isDeployed)(sourceChain, config);
|
|
41
41
|
if (!isAccountDeployed) {
|
|
@@ -44,7 +44,7 @@ async function sendTransactionInternal(config, sourceChain, targetChain, calls,
|
|
|
44
44
|
}
|
|
45
45
|
const accountAddress = (0, accounts_1.getAddress)(config);
|
|
46
46
|
// Across requires passing some value to repay the solvers
|
|
47
|
-
const tokenRequests = initialTokenRequests.length === 0
|
|
47
|
+
const tokenRequests = !initialTokenRequests || initialTokenRequests.length === 0
|
|
48
48
|
? [
|
|
49
49
|
{
|
|
50
50
|
address: viem_1.zeroAddress,
|
|
@@ -62,17 +62,17 @@ async function sendTransactionInternal(config, sourceChain, targetChain, calls,
|
|
|
62
62
|
await (0, smart_session_1.enableSmartSession)(sourceChain, config, withSession);
|
|
63
63
|
}
|
|
64
64
|
// Smart sessions require a UserOp flow
|
|
65
|
-
return await sendTransactionAsUserOp(config, sourceChain, targetChain,
|
|
65
|
+
return await sendTransactionAsUserOp(config, sourceChain, targetChain, callInputs, signers);
|
|
66
66
|
}
|
|
67
67
|
else {
|
|
68
|
-
return await sendTransactionAsIntent(config, sourceChain, targetChain,
|
|
68
|
+
return await sendTransactionAsIntent(config, sourceChain, targetChain, callInputs, gasLimit, tokenRequests, accountAddress, signers);
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
-
async function sendTransactionAsUserOp(config, sourceChain, targetChain,
|
|
71
|
+
async function sendTransactionAsUserOp(config, sourceChain, targetChain, callInputs, signers) {
|
|
72
72
|
const withSession = signers?.type === 'session' ? signers.session : null;
|
|
73
73
|
const publicClient = (0, viem_1.createPublicClient)({
|
|
74
74
|
chain: sourceChain,
|
|
75
|
-
transport: (0,
|
|
75
|
+
transport: (0, utils_1.createTransport)(sourceChain, config.provider),
|
|
76
76
|
});
|
|
77
77
|
const validatorAccount = await (0, utils_2.getValidatorAccount)(config, signers, publicClient, sourceChain);
|
|
78
78
|
if (!validatorAccount) {
|
|
@@ -82,6 +82,7 @@ async function sendTransactionAsUserOp(config, sourceChain, targetChain, calls,
|
|
|
82
82
|
if (withSession) {
|
|
83
83
|
await (0, smart_session_1.enableSmartSession)(targetChain, config, withSession);
|
|
84
84
|
}
|
|
85
|
+
const calls = (0, utils_2.parseCalls)(callInputs, targetChain.id);
|
|
85
86
|
const hash = await bundlerClient.sendUserOperation({
|
|
86
87
|
account: validatorAccount,
|
|
87
88
|
calls,
|
|
@@ -93,8 +94,8 @@ async function sendTransactionAsUserOp(config, sourceChain, targetChain, calls,
|
|
|
93
94
|
targetChain: targetChain.id,
|
|
94
95
|
};
|
|
95
96
|
}
|
|
96
|
-
async function sendTransactionAsIntent(config, sourceChain, targetChain,
|
|
97
|
-
const { intentRoute, hash: intentHash } = await (0, utils_2.prepareTransactionAsIntent)(config, sourceChain, targetChain,
|
|
97
|
+
async function sendTransactionAsIntent(config, sourceChain, targetChain, callInputs, gasLimit, tokenRequests, accountAddress, signers) {
|
|
98
|
+
const { intentRoute, hash: intentHash } = await (0, utils_2.prepareTransactionAsIntent)(config, sourceChain, targetChain, callInputs, gasLimit, tokenRequests, accountAddress);
|
|
98
99
|
if (!intentRoute) {
|
|
99
100
|
throw new error_1.OrderPathRequiredForIntentsError();
|
|
100
101
|
}
|
|
@@ -125,9 +126,12 @@ async function waitForExecution(config, result, acceptsPreconfirmations) {
|
|
|
125
126
|
}
|
|
126
127
|
case 'userop': {
|
|
127
128
|
const targetChain = (0, registry_1.getChainById)(result.targetChain);
|
|
129
|
+
if (!targetChain) {
|
|
130
|
+
throw new Error(`Unsupported chain ID: ${result.targetChain}`);
|
|
131
|
+
}
|
|
128
132
|
const publicClient = (0, viem_1.createPublicClient)({
|
|
129
133
|
chain: targetChain,
|
|
130
|
-
transport: (0,
|
|
134
|
+
transport: (0, utils_1.createTransport)(targetChain, config.provider),
|
|
131
135
|
});
|
|
132
136
|
const bundlerClient = (0, utils_1.getBundlerClient)(config, publicClient);
|
|
133
137
|
const receipt = await bundlerClient.waitForUserOperationReceipt({
|
|
@@ -158,7 +162,7 @@ async function deposit(config, chain, amount, tokenAddress) {
|
|
|
158
162
|
// ERC20 deposit
|
|
159
163
|
const publicClient = (0, viem_1.createPublicClient)({
|
|
160
164
|
chain,
|
|
161
|
-
transport: (0,
|
|
165
|
+
transport: (0, utils_1.createTransport)(chain, config.provider),
|
|
162
166
|
});
|
|
163
167
|
const allowance = await publicClient.readContract({
|
|
164
168
|
address: tokenAddress,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Chain, type Hex } from 'viem';
|
|
2
|
-
import { ChainDigest, EnableSessionData, SmartSessionModeType } from '../modules/validators/smart-sessions';
|
|
2
|
+
import { type ChainDigest, type EnableSessionData, type SmartSessionModeType } from '../modules/validators/smart-sessions';
|
|
3
3
|
import type { RhinestoneAccountConfig, Session } from '../types';
|
|
4
4
|
interface SessionDetails {
|
|
5
5
|
permissionEnableHash: Hex;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smart-session.d.ts","sourceRoot":"","sources":["../../../execution/smart-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,KAAK,EAIV,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"smart-session.d.ts","sourceRoot":"","sources":["../../../execution/smart-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,KAAK,EAIV,KAAK,GAAG,EAGT,MAAM,MAAM,CAAA;AAoBb,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,iBAAiB,EAGtB,KAAK,oBAAoB,EAC1B,MAAM,sCAAsC,CAAA;AAC7C,OAAO,KAAK,EAGV,uBAAuB,EACvB,OAAO,EACR,MAAM,UAAU,CAAA;AAGjB,UAAU,cAAc;IACtB,oBAAoB,EAAE,GAAG,CAAA;IACzB,IAAI,EAAE,oBAAoB,CAAA;IAC1B,iBAAiB,EAAE,WAAW,EAAE,CAAA;IAChC,iBAAiB,EAAE,iBAAiB,CAAA;CACrC;AAED,iBAAe,iBAAiB,CAC9B,MAAM,EAAE,uBAAuB,EAC/B,QAAQ,EAAE,OAAO,EAAE,EACnB,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,GAAG,GACd,OAAO,CAAC,cAAc,CAAC,CA4BzB;AAgGD,iBAAS,mBAAmB,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,GAAG,CAgC7D;AAiLD,iBAAe,kBAAkB,CAC/B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,uBAAuB,EAC/B,OAAO,EAAE,OAAO,iBAqCjB;AAED,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAA;AACrE,YAAY,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -13,7 +13,7 @@ const error_1 = require("./error");
|
|
|
13
13
|
async function getSessionDetails(config, sessions, sessionIndex, signature) {
|
|
14
14
|
const account = (0, accounts_1.getAccountProvider)(config);
|
|
15
15
|
const accountAddress = (0, accounts_1.getAddress)(config);
|
|
16
|
-
const sessionDetails = await getEnableSessionDetails(account.type, sessions, sessionIndex, accountAddress);
|
|
16
|
+
const sessionDetails = await getEnableSessionDetails(account.type, sessions, sessionIndex, accountAddress, config.provider);
|
|
17
17
|
const chain = sessions[sessionIndex].chain;
|
|
18
18
|
if (!chain) {
|
|
19
19
|
throw new error_1.SessionChainRequiredError();
|
|
@@ -27,21 +27,21 @@ async function getSessionDetails(config, sessions, sessionIndex, signature) {
|
|
|
27
27
|
(await (0, accounts_1.getPackedSignature)(config, config.owners, chain, validator, sessionDetails.permissionEnableHash));
|
|
28
28
|
return sessionDetails;
|
|
29
29
|
}
|
|
30
|
-
async function getEnableSessionDetails(accountType, sessions, sessionIndex, accountAddress) {
|
|
30
|
+
async function getEnableSessionDetails(accountType, sessions, sessionIndex, accountAddress, provider) {
|
|
31
31
|
const chainDigests = [];
|
|
32
32
|
const chainSessions = [];
|
|
33
33
|
for (const session of sessions) {
|
|
34
34
|
const permissionId = (0, validators_1.getPermissionId)(session);
|
|
35
|
-
const publicClient = (0, viem_1.createPublicClient)({
|
|
36
|
-
chain: session.chain,
|
|
37
|
-
transport: (0, viem_1.http)(),
|
|
38
|
-
});
|
|
39
35
|
const sessionChain = session.chain;
|
|
40
36
|
if (!sessionChain) {
|
|
41
37
|
throw new error_1.SessionChainRequiredError();
|
|
42
38
|
}
|
|
39
|
+
const publicClient = (0, viem_1.createPublicClient)({
|
|
40
|
+
chain: sessionChain,
|
|
41
|
+
transport: (0, utils_1.createTransport)(sessionChain, provider),
|
|
42
|
+
});
|
|
43
43
|
const sessionNonce = await getSessionNonce(publicClient, accountAddress, permissionId);
|
|
44
|
-
const sessionData = await (0, smart_sessions_1.getSessionData)(sessionChain, session);
|
|
44
|
+
const sessionData = await (0, smart_sessions_1.getSessionData)(sessionChain, session, provider);
|
|
45
45
|
const sessionDigest = await getSessionDigest(publicClient, accountAddress, sessionData, permissionId, validators_1.SMART_SESSION_MODE_ENABLE);
|
|
46
46
|
chainDigests.push({
|
|
47
47
|
chainId: BigInt(sessionChain.id),
|
|
@@ -74,7 +74,7 @@ async function getEnableSessionDetails(accountType, sessions, sessionIndex, acco
|
|
|
74
74
|
if (!sessionChain) {
|
|
75
75
|
throw new error_1.SessionChainRequiredError();
|
|
76
76
|
}
|
|
77
|
-
const sessionData = await (0, smart_sessions_1.getSessionData)(sessionChain, sessionToEnable);
|
|
77
|
+
const sessionData = await (0, smart_sessions_1.getSessionData)(sessionChain, sessionToEnable, provider);
|
|
78
78
|
return {
|
|
79
79
|
permissionEnableHash,
|
|
80
80
|
mode: validators_1.SMART_SESSION_MODE_ENABLE,
|
|
@@ -274,14 +274,14 @@ async function getSessionDigest(client, account, session, permissionId, mode) {
|
|
|
274
274
|
async function enableSmartSession(chain, config, session) {
|
|
275
275
|
const publicClient = (0, viem_1.createPublicClient)({
|
|
276
276
|
chain,
|
|
277
|
-
transport: (0,
|
|
277
|
+
transport: (0, utils_1.createTransport)(chain, config.provider),
|
|
278
278
|
});
|
|
279
279
|
const address = (0, accounts_1.getAddress)(config);
|
|
280
280
|
const isEnabled = await (0, validators_1.isSessionEnabled)(publicClient, address, (0, validators_1.getPermissionId)(session));
|
|
281
281
|
if (isEnabled) {
|
|
282
282
|
return;
|
|
283
283
|
}
|
|
284
|
-
const enableSessionCall = await (0, validators_1.getEnableSessionCall)(chain, session);
|
|
284
|
+
const enableSessionCall = await (0, validators_1.getEnableSessionCall)(chain, session, config.provider);
|
|
285
285
|
const trustedAttesters = await (0, modules_1.getTrustedAttesters)(publicClient, address);
|
|
286
286
|
const trustAttesterCall = trustedAttesters.length === 0 ? (0, modules_1.getTrustAttesterCall)(config) : undefined;
|
|
287
287
|
const smartAccount = await (0, accounts_1.getSmartAccount)(config, publicClient, chain);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Address, Chain, Hex, PublicClient } from 'viem';
|
|
2
|
-
import { UserOperation } from 'viem/account-abstraction';
|
|
3
|
-
import { IntentOp, IntentRoute } from '../orchestrator';
|
|
4
|
-
import { Call, RhinestoneAccountConfig, SignerSet, TokenRequest, Transaction } from '../types';
|
|
1
|
+
import { type Address, type Chain, type Hex, type PublicClient } from 'viem';
|
|
2
|
+
import { type UserOperation } from 'viem/account-abstraction';
|
|
3
|
+
import { type IntentOp, type IntentRoute } from '../orchestrator';
|
|
4
|
+
import type { Call, CallInput, RhinestoneAccountConfig, SignerSet, TokenRequest, Transaction } from '../types';
|
|
5
5
|
type TransactionResult = {
|
|
6
6
|
type: 'userop';
|
|
7
7
|
hash: Hex;
|
|
@@ -33,11 +33,12 @@ interface SignedTransactionData extends PreparedTransactionData {
|
|
|
33
33
|
declare function prepareTransaction(config: RhinestoneAccountConfig, transaction: Transaction): Promise<PreparedTransactionData>;
|
|
34
34
|
declare function signTransaction(config: RhinestoneAccountConfig, preparedTransaction: PreparedTransactionData): Promise<SignedTransactionData>;
|
|
35
35
|
declare function submitTransaction(config: RhinestoneAccountConfig, signedTransaction: SignedTransactionData): Promise<TransactionResult>;
|
|
36
|
-
declare function prepareTransactionAsIntent(config: RhinestoneAccountConfig, sourceChain: Chain | undefined, targetChain: Chain,
|
|
36
|
+
declare function prepareTransactionAsIntent(config: RhinestoneAccountConfig, sourceChain: Chain | undefined, targetChain: Chain, callInputs: CallInput[], gasLimit: bigint | undefined, tokenRequests: TokenRequest[], accountAddress: Address): Promise<IntentData>;
|
|
37
37
|
declare function signIntent(config: RhinestoneAccountConfig, sourceChain: Chain | undefined, targetChain: Chain, intentHash: Hex, signers?: SignerSet): Promise<`0x${string}`>;
|
|
38
38
|
declare function getOrchestratorByChain(chainId: number, apiKey: string): import("../orchestrator").Orchestrator;
|
|
39
39
|
declare function submitIntentInternal(config: RhinestoneAccountConfig, sourceChain: Chain | undefined, targetChain: Chain, intentOp: IntentOp, signature: Hex, deploy: boolean): Promise<TransactionResult>;
|
|
40
40
|
declare function getValidatorAccount(config: RhinestoneAccountConfig, signers: SignerSet | undefined, publicClient: PublicClient, chain: Chain): Promise<import("viem/account-abstraction").SmartAccount<import("viem/account-abstraction").SmartAccountImplementation<import("viem").Abi, "0.7">> | null | undefined>;
|
|
41
|
-
|
|
41
|
+
declare function parseCalls(calls: CallInput[], chainId: number): Call[];
|
|
42
|
+
export { prepareTransaction, signTransaction, submitTransaction, getOrchestratorByChain, signIntent, prepareTransactionAsIntent, submitIntentInternal, getValidatorAccount, parseCalls, };
|
|
42
43
|
export type { IntentData, TransactionResult, PreparedTransactionData, SignedTransactionData, };
|
|
43
44
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../execution/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../execution/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ exports.signIntent = signIntent;
|
|
|
8
8
|
exports.prepareTransactionAsIntent = prepareTransactionAsIntent;
|
|
9
9
|
exports.submitIntentInternal = submitIntentInternal;
|
|
10
10
|
exports.getValidatorAccount = getValidatorAccount;
|
|
11
|
+
exports.parseCalls = parseCalls;
|
|
11
12
|
const viem_1 = require("viem");
|
|
12
13
|
const account_abstraction_1 = require("viem/account-abstraction");
|
|
13
14
|
const accounts_1 = require("../accounts");
|
|
@@ -91,7 +92,7 @@ function getTransactionParams(transaction) {
|
|
|
91
92
|
const initialTokenRequests = transaction.tokenRequests;
|
|
92
93
|
const signers = transaction.signers;
|
|
93
94
|
// Across requires passing some value to repay the solvers
|
|
94
|
-
const tokenRequests = initialTokenRequests.length === 0
|
|
95
|
+
const tokenRequests = !initialTokenRequests || initialTokenRequests.length === 0
|
|
95
96
|
? [
|
|
96
97
|
{
|
|
97
98
|
address: viem_1.zeroAddress,
|
|
@@ -106,16 +107,17 @@ function getTransactionParams(transaction) {
|
|
|
106
107
|
signers,
|
|
107
108
|
};
|
|
108
109
|
}
|
|
109
|
-
async function prepareTransactionAsUserOp(config, chain,
|
|
110
|
+
async function prepareTransactionAsUserOp(config, chain, callInputs, signers) {
|
|
110
111
|
const publicClient = (0, viem_1.createPublicClient)({
|
|
111
112
|
chain,
|
|
112
|
-
transport: (0,
|
|
113
|
+
transport: (0, utils_1.createTransport)(chain, config.provider),
|
|
113
114
|
});
|
|
114
115
|
const validatorAccount = await getValidatorAccount(config, signers, publicClient, chain);
|
|
115
116
|
if (!validatorAccount) {
|
|
116
117
|
throw new Error('No validator account found');
|
|
117
118
|
}
|
|
118
119
|
const bundlerClient = (0, utils_1.getBundlerClient)(config, publicClient);
|
|
120
|
+
const calls = parseCalls(callInputs, chain.id);
|
|
119
121
|
const userOp = await bundlerClient.prepareUserOperation({
|
|
120
122
|
account: validatorAccount,
|
|
121
123
|
calls,
|
|
@@ -131,7 +133,8 @@ async function prepareTransactionAsUserOp(config, chain, calls, signers) {
|
|
|
131
133
|
}),
|
|
132
134
|
};
|
|
133
135
|
}
|
|
134
|
-
async function prepareTransactionAsIntent(config, sourceChain, targetChain,
|
|
136
|
+
async function prepareTransactionAsIntent(config, sourceChain, targetChain, callInputs, gasLimit, tokenRequests, accountAddress) {
|
|
137
|
+
const calls = parseCalls(callInputs, targetChain.id);
|
|
135
138
|
const accountAccessList = sourceChain
|
|
136
139
|
? {
|
|
137
140
|
chainIds: [sourceChain.id],
|
|
@@ -140,15 +143,11 @@ async function prepareTransactionAsIntent(config, sourceChain, targetChain, call
|
|
|
140
143
|
const metaIntent = {
|
|
141
144
|
destinationChainId: targetChain.id,
|
|
142
145
|
tokenTransfers: tokenRequests.map((tokenRequest) => ({
|
|
143
|
-
tokenAddress: tokenRequest.address,
|
|
146
|
+
tokenAddress: (0, registry_1.resolveTokenAddress)(tokenRequest.address, targetChain.id),
|
|
144
147
|
amount: tokenRequest.amount,
|
|
145
148
|
})),
|
|
146
149
|
account: accountAddress,
|
|
147
|
-
destinationExecutions: calls
|
|
148
|
-
value: call.value ?? 0n,
|
|
149
|
-
to: call.to,
|
|
150
|
-
data: call.data ?? '0x',
|
|
151
|
-
})),
|
|
150
|
+
destinationExecutions: calls,
|
|
152
151
|
destinationGasUnits: gasLimit,
|
|
153
152
|
accountAccessList,
|
|
154
153
|
smartAccount: {
|
|
@@ -188,7 +187,7 @@ async function signUserOp(config, chain, signers, userOp) {
|
|
|
188
187
|
}
|
|
189
188
|
const publicClient = (0, viem_1.createPublicClient)({
|
|
190
189
|
chain,
|
|
191
|
-
transport: (0,
|
|
190
|
+
transport: (0, utils_1.createTransport)(chain, config.provider),
|
|
192
191
|
});
|
|
193
192
|
const account = await getValidatorAccount(config, signers, publicClient, chain);
|
|
194
193
|
if (!account) {
|
|
@@ -199,7 +198,7 @@ async function signUserOp(config, chain, signers, userOp) {
|
|
|
199
198
|
async function submitUserOp(config, chain, userOp, signature) {
|
|
200
199
|
const publicClient = (0, viem_1.createPublicClient)({
|
|
201
200
|
chain,
|
|
202
|
-
transport: (0,
|
|
201
|
+
transport: (0, utils_1.createTransport)(chain, config.provider),
|
|
203
202
|
});
|
|
204
203
|
const bundlerClient = (0, utils_1.getBundlerClient)(config, publicClient);
|
|
205
204
|
const hash = await bundlerClient.request({
|
|
@@ -356,3 +355,10 @@ function getOwners(config, signers) {
|
|
|
356
355
|
}
|
|
357
356
|
return undefined;
|
|
358
357
|
}
|
|
358
|
+
function parseCalls(calls, chainId) {
|
|
359
|
+
return calls.map((call) => ({
|
|
360
|
+
data: call.data ?? '0x',
|
|
361
|
+
value: call.value ?? 0n,
|
|
362
|
+
to: (0, registry_1.resolveTokenAddress)(call.to, chainId),
|
|
363
|
+
}));
|
|
364
|
+
}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import type { Address, Chain, Hex } from 'viem';
|
|
2
|
-
import { UserOperationReceipt } from 'viem/account-abstraction';
|
|
2
|
+
import type { UserOperationReceipt } from 'viem/account-abstraction';
|
|
3
3
|
import { AccountError, Eip7702AccountMustHaveEoaError, Eip7702NotSupportedForAccountError, ExistingEip7702AccountsNotSupportedError, FactoryArgsNotAvailableError, isAccountError, SigningNotSupportedForAccountError, SignMessageNotSupportedByAccountError, SmartSessionsNotEnabledError } from './accounts';
|
|
4
|
+
import { createTransport } from './accounts/utils';
|
|
4
5
|
import { addOwner, changeThreshold, disableEcdsa, disablePasskeys, enableEcdsa, enablePasskeys, encodeSmartSessionSignature, recover, removeOwner, setUpRecovery, trustAttester } from './actions';
|
|
5
6
|
import type { TransactionResult } from './execution';
|
|
6
7
|
import { ExecutionError, IntentFailedError, isExecutionError, OrderPathRequiredForIntentsError, SessionChainRequiredError, SourceChainRequiredForSmartSessionsError, SourceTargetChainMismatchError, UserOperationRequiredForSmartSessionsError } from './execution';
|
|
7
|
-
import { SessionDetails } from './execution/smart-session';
|
|
8
|
-
import { IntentData, PreparedTransactionData, SignedTransactionData } from './execution/utils';
|
|
9
|
-
import { IntentCost, IntentInput, IntentOp, IntentOpStatus, IntentResult, IntentRoute, Portfolio, SettlementSystem, SignedIntentOp } from './orchestrator';
|
|
10
|
-
import {
|
|
11
|
-
import type { Call, Execution, RhinestoneAccountConfig, Session, Transaction } from './types';
|
|
8
|
+
import { type SessionDetails } from './execution/smart-session';
|
|
9
|
+
import { type IntentData, type PreparedTransactionData, type SignedTransactionData } from './execution/utils';
|
|
10
|
+
import { AuthenticationRequiredError, InsufficientBalanceError, type IntentCost, type IntentInput, IntentNotFoundError, type IntentOp, type IntentOpStatus, type IntentResult, type IntentRoute, InvalidApiKeyError, InvalidIntentSignatureError, isOrchestratorError, NoPathFoundError, OnlyOneTargetTokenAmountCanBeUnsetError, OrchestratorError, type Portfolio, type SettlementSystem, type SignedIntentOp, TokenNotSupportedError, UnsupportedChainError, UnsupportedChainIdError, UnsupportedTokenError } from './orchestrator';
|
|
11
|
+
import type { Call, RhinestoneAccountConfig, Session, Transaction } from './types';
|
|
12
12
|
interface RhinestoneAccount {
|
|
13
13
|
config: RhinestoneAccountConfig;
|
|
14
14
|
deploy: (chain: Chain, session?: Session) => Promise<void>;
|
|
@@ -36,6 +36,6 @@ interface RhinestoneAccount {
|
|
|
36
36
|
* @returns account
|
|
37
37
|
*/
|
|
38
38
|
declare function createRhinestoneAccount(config: RhinestoneAccountConfig): Promise<RhinestoneAccount>;
|
|
39
|
-
export { createRhinestoneAccount, addOwner, changeThreshold, disableEcdsa, disablePasskeys, enableEcdsa, enablePasskeys, recover, removeOwner, setUpRecovery, encodeSmartSessionSignature, trustAttester, isAccountError, AccountError, Eip7702AccountMustHaveEoaError, ExistingEip7702AccountsNotSupportedError, FactoryArgsNotAvailableError, SmartSessionsNotEnabledError, SigningNotSupportedForAccountError, SignMessageNotSupportedByAccountError, Eip7702NotSupportedForAccountError, isExecutionError, IntentFailedError, ExecutionError, SourceChainRequiredForSmartSessionsError, SourceTargetChainMismatchError, UserOperationRequiredForSmartSessionsError, OrderPathRequiredForIntentsError, SessionChainRequiredError, isOrchestratorError, AuthenticationRequiredError, InsufficientBalanceError, InvalidApiKeyError, InvalidIntentSignatureError, NoPathFoundError, OnlyOneTargetTokenAmountCanBeUnsetError, OrchestratorError, IntentNotFoundError, TokenNotSupportedError, UnsupportedChainError, UnsupportedChainIdError, UnsupportedTokenError, };
|
|
40
|
-
export type { RhinestoneAccount, Session, Call,
|
|
39
|
+
export { createRhinestoneAccount, createTransport, addOwner, changeThreshold, disableEcdsa, disablePasskeys, enableEcdsa, enablePasskeys, recover, removeOwner, setUpRecovery, encodeSmartSessionSignature, trustAttester, isAccountError, AccountError, Eip7702AccountMustHaveEoaError, ExistingEip7702AccountsNotSupportedError, FactoryArgsNotAvailableError, SmartSessionsNotEnabledError, SigningNotSupportedForAccountError, SignMessageNotSupportedByAccountError, Eip7702NotSupportedForAccountError, isExecutionError, IntentFailedError, ExecutionError, SourceChainRequiredForSmartSessionsError, SourceTargetChainMismatchError, UserOperationRequiredForSmartSessionsError, OrderPathRequiredForIntentsError, SessionChainRequiredError, isOrchestratorError, AuthenticationRequiredError, InsufficientBalanceError, InvalidApiKeyError, InvalidIntentSignatureError, NoPathFoundError, OnlyOneTargetTokenAmountCanBeUnsetError, OrchestratorError, IntentNotFoundError, TokenNotSupportedError, UnsupportedChainError, UnsupportedChainIdError, UnsupportedTokenError, };
|
|
40
|
+
export type { RhinestoneAccount, Session, Call, IntentData, PreparedTransactionData, SignedTransactionData, TransactionResult, IntentCost, IntentInput, IntentOp, IntentOpStatus, IntentResult, IntentRoute, SettlementSystem, SignedIntentOp, Portfolio, };
|
|
41
41
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UnsupportedTokenError = exports.UnsupportedChainIdError = exports.UnsupportedChainError = exports.TokenNotSupportedError = exports.IntentNotFoundError = exports.OrchestratorError = exports.OnlyOneTargetTokenAmountCanBeUnsetError = exports.NoPathFoundError = exports.InvalidIntentSignatureError = exports.InvalidApiKeyError = exports.InsufficientBalanceError = exports.AuthenticationRequiredError = exports.isOrchestratorError = exports.SessionChainRequiredError = exports.OrderPathRequiredForIntentsError = exports.UserOperationRequiredForSmartSessionsError = exports.SourceTargetChainMismatchError = exports.SourceChainRequiredForSmartSessionsError = exports.ExecutionError = exports.IntentFailedError = exports.isExecutionError = exports.Eip7702NotSupportedForAccountError = exports.SignMessageNotSupportedByAccountError = exports.SigningNotSupportedForAccountError = exports.SmartSessionsNotEnabledError = exports.FactoryArgsNotAvailableError = exports.ExistingEip7702AccountsNotSupportedError = exports.Eip7702AccountMustHaveEoaError = exports.AccountError = exports.isAccountError = exports.trustAttester = exports.encodeSmartSessionSignature = exports.setUpRecovery = exports.removeOwner = exports.recover = exports.enablePasskeys = exports.enableEcdsa = exports.disablePasskeys = exports.disableEcdsa = exports.changeThreshold = exports.addOwner = void 0;
|
|
3
|
+
exports.UnsupportedTokenError = exports.UnsupportedChainIdError = exports.UnsupportedChainError = exports.TokenNotSupportedError = exports.IntentNotFoundError = exports.OrchestratorError = exports.OnlyOneTargetTokenAmountCanBeUnsetError = exports.NoPathFoundError = exports.InvalidIntentSignatureError = exports.InvalidApiKeyError = exports.InsufficientBalanceError = exports.AuthenticationRequiredError = exports.isOrchestratorError = exports.SessionChainRequiredError = exports.OrderPathRequiredForIntentsError = exports.UserOperationRequiredForSmartSessionsError = exports.SourceTargetChainMismatchError = exports.SourceChainRequiredForSmartSessionsError = exports.ExecutionError = exports.IntentFailedError = exports.isExecutionError = exports.Eip7702NotSupportedForAccountError = exports.SignMessageNotSupportedByAccountError = exports.SigningNotSupportedForAccountError = exports.SmartSessionsNotEnabledError = exports.FactoryArgsNotAvailableError = exports.ExistingEip7702AccountsNotSupportedError = exports.Eip7702AccountMustHaveEoaError = exports.AccountError = exports.isAccountError = exports.trustAttester = exports.encodeSmartSessionSignature = exports.setUpRecovery = exports.removeOwner = exports.recover = exports.enablePasskeys = exports.enableEcdsa = exports.disablePasskeys = exports.disableEcdsa = exports.changeThreshold = exports.addOwner = exports.createTransport = void 0;
|
|
4
4
|
exports.createRhinestoneAccount = createRhinestoneAccount;
|
|
5
5
|
const accounts_1 = require("./accounts");
|
|
6
6
|
Object.defineProperty(exports, "AccountError", { enumerable: true, get: function () { return accounts_1.AccountError; } });
|
|
@@ -12,6 +12,8 @@ Object.defineProperty(exports, "isAccountError", { enumerable: true, get: functi
|
|
|
12
12
|
Object.defineProperty(exports, "SigningNotSupportedForAccountError", { enumerable: true, get: function () { return accounts_1.SigningNotSupportedForAccountError; } });
|
|
13
13
|
Object.defineProperty(exports, "SignMessageNotSupportedByAccountError", { enumerable: true, get: function () { return accounts_1.SignMessageNotSupportedByAccountError; } });
|
|
14
14
|
Object.defineProperty(exports, "SmartSessionsNotEnabledError", { enumerable: true, get: function () { return accounts_1.SmartSessionsNotEnabledError; } });
|
|
15
|
+
const utils_1 = require("./accounts/utils");
|
|
16
|
+
Object.defineProperty(exports, "createTransport", { enumerable: true, get: function () { return utils_1.createTransport; } });
|
|
15
17
|
const actions_1 = require("./actions");
|
|
16
18
|
Object.defineProperty(exports, "addOwner", { enumerable: true, get: function () { return actions_1.addOwner; } });
|
|
17
19
|
Object.defineProperty(exports, "changeThreshold", { enumerable: true, get: function () { return actions_1.changeThreshold; } });
|
|
@@ -34,7 +36,7 @@ Object.defineProperty(exports, "SourceChainRequiredForSmartSessionsError", { enu
|
|
|
34
36
|
Object.defineProperty(exports, "SourceTargetChainMismatchError", { enumerable: true, get: function () { return execution_1.SourceTargetChainMismatchError; } });
|
|
35
37
|
Object.defineProperty(exports, "UserOperationRequiredForSmartSessionsError", { enumerable: true, get: function () { return execution_1.UserOperationRequiredForSmartSessionsError; } });
|
|
36
38
|
const smart_session_1 = require("./execution/smart-session");
|
|
37
|
-
const
|
|
39
|
+
const utils_2 = require("./execution/utils");
|
|
38
40
|
const modules_1 = require("./modules");
|
|
39
41
|
const orchestrator_1 = require("./orchestrator");
|
|
40
42
|
Object.defineProperty(exports, "AuthenticationRequiredError", { enumerable: true, get: function () { return orchestrator_1.AuthenticationRequiredError; } });
|
|
@@ -61,13 +63,13 @@ async function createRhinestoneAccount(config) {
|
|
|
61
63
|
return (0, accounts_1.deploy)(config, chain, session);
|
|
62
64
|
}
|
|
63
65
|
function prepareTransaction(transaction) {
|
|
64
|
-
return (0,
|
|
66
|
+
return (0, utils_2.prepareTransaction)(config, transaction);
|
|
65
67
|
}
|
|
66
68
|
function signTransaction(preparedTransaction) {
|
|
67
|
-
return (0,
|
|
69
|
+
return (0, utils_2.signTransaction)(config, preparedTransaction);
|
|
68
70
|
}
|
|
69
71
|
function submitTransaction(signedTransaction) {
|
|
70
|
-
return (0,
|
|
72
|
+
return (0, utils_2.submitTransaction)(config, signedTransaction);
|
|
71
73
|
}
|
|
72
74
|
/**
|
|
73
75
|
* Sign and send a transaction
|
|
@@ -116,16 +118,16 @@ async function createRhinestoneAccount(config) {
|
|
|
116
118
|
}
|
|
117
119
|
function areAttestersTrusted(chain) {
|
|
118
120
|
const account = getAddress();
|
|
119
|
-
return (0, modules_1.areAttestersTrusted)(account, chain);
|
|
121
|
+
return (0, modules_1.areAttestersTrusted)(account, chain, config.provider);
|
|
120
122
|
}
|
|
121
123
|
function getOwners(chain) {
|
|
122
124
|
const account = getAddress();
|
|
123
|
-
return (0, modules_1.getOwners)(account, chain);
|
|
125
|
+
return (0, modules_1.getOwners)(account, chain, config.provider);
|
|
124
126
|
}
|
|
125
127
|
function getValidators(chain) {
|
|
126
128
|
const accountType = config.account?.type || 'nexus';
|
|
127
129
|
const account = getAddress();
|
|
128
|
-
return (0, modules_1.getValidators)(accountType, account, chain);
|
|
130
|
+
return (0, modules_1.getValidators)(accountType, account, chain, config.provider);
|
|
129
131
|
}
|
|
130
132
|
async function deposit(chain, amount, tokenAddress) {
|
|
131
133
|
return (0, execution_1.deposit)(config, chain, amount, tokenAddress);
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Address, Chain } from 'viem';
|
|
2
|
-
import { AccountType } from '../types';
|
|
3
|
-
declare function getValidators(accountType: AccountType, account: Address, chain: Chain): Promise<Address[]>;
|
|
4
|
-
declare function getOwners(account: Address, chain: Chain): Promise<{
|
|
1
|
+
import { type Address, type Chain } from 'viem';
|
|
2
|
+
import type { AccountType, ProviderConfig } from '../types';
|
|
3
|
+
declare function getValidators(accountType: AccountType, account: Address, chain: Chain, provider?: ProviderConfig): Promise<Address[]>;
|
|
4
|
+
declare function getOwners(account: Address, chain: Chain, provider?: ProviderConfig): Promise<{
|
|
5
5
|
accounts: Address[];
|
|
6
6
|
threshold: number;
|
|
7
7
|
} | null>;
|
|
8
|
-
declare function areAttestersTrusted(account: Address, chain: Chain): Promise<boolean>;
|
|
8
|
+
declare function areAttestersTrusted(account: Address, chain: Chain, provider?: ProviderConfig): Promise<boolean>;
|
|
9
9
|
export { getValidators, getOwners, areAttestersTrusted };
|
|
10
10
|
//# sourceMappingURL=read.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../modules/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../modules/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAkC,MAAM,MAAM,CAAA;AAE/E,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAK3D,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,CA6CpB;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,mBAAmB,CAChC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,OAAO,CAAC,CA+BlB;AAED,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAA"}
|
package/dist/src/modules/read.js
CHANGED
|
@@ -4,13 +4,14 @@ exports.getValidators = getValidators;
|
|
|
4
4
|
exports.getOwners = getOwners;
|
|
5
5
|
exports.areAttestersTrusted = areAttestersTrusted;
|
|
6
6
|
const viem_1 = require("viem");
|
|
7
|
+
const utils_1 = require("../accounts/utils");
|
|
7
8
|
const omni_account_1 = require("./omni-account");
|
|
8
9
|
const registry_1 = require("./registry");
|
|
9
10
|
const core_1 = require("./validators/core");
|
|
10
|
-
async function getValidators(accountType, account, chain) {
|
|
11
|
+
async function getValidators(accountType, account, chain, provider) {
|
|
11
12
|
const publicClient = (0, viem_1.createPublicClient)({
|
|
12
13
|
chain,
|
|
13
|
-
transport: (0,
|
|
14
|
+
transport: (0, utils_1.createTransport)(chain, provider),
|
|
14
15
|
});
|
|
15
16
|
switch (accountType) {
|
|
16
17
|
case 'safe':
|
|
@@ -53,10 +54,10 @@ async function getValidators(accountType, account, chain) {
|
|
|
53
54
|
}
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
|
-
async function getOwners(account, chain) {
|
|
57
|
+
async function getOwners(account, chain, provider) {
|
|
57
58
|
const publicClient = (0, viem_1.createPublicClient)({
|
|
58
59
|
chain,
|
|
59
|
-
transport: (0,
|
|
60
|
+
transport: (0, utils_1.createTransport)(chain, provider),
|
|
60
61
|
});
|
|
61
62
|
const moduleAddress = core_1.OWNABLE_VALIDATOR_ADDRESS;
|
|
62
63
|
const [ownerResult, thresholdResult] = await publicClient.multicall({
|
|
@@ -120,11 +121,11 @@ async function getOwners(account, chain) {
|
|
|
120
121
|
threshold: thresholdResult.result,
|
|
121
122
|
};
|
|
122
123
|
}
|
|
123
|
-
async function areAttestersTrusted(account, chain) {
|
|
124
|
+
async function areAttestersTrusted(account, chain, provider) {
|
|
124
125
|
const { list: requiredAttesters } = (0, registry_1.getAttesters)();
|
|
125
126
|
const publicClient = (0, viem_1.createPublicClient)({
|
|
126
127
|
chain,
|
|
127
|
-
transport: (0,
|
|
128
|
+
transport: (0, utils_1.createTransport)(chain, provider),
|
|
128
129
|
});
|
|
129
130
|
const trustedAttesters = await publicClient.readContract({
|
|
130
131
|
abi: [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Address, PublicClient } from 'viem';
|
|
2
|
-
import { RhinestoneAccountConfig } from '../types';
|
|
1
|
+
import { type Address, type PublicClient } from 'viem';
|
|
2
|
+
import type { RhinestoneAccountConfig } from '../types';
|
|
3
3
|
declare function getAttesters(): {
|
|
4
4
|
list: Address[];
|
|
5
5
|
threshold: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../modules/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAsB,YAAY,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../modules/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,MAAM,CAAA;AAE1E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAQvD,iBAAS,YAAY,IAAI;IACvB,IAAI,EAAE,OAAO,EAAE,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB,CAKA;AAED,iBAAS,oBAAoB,CAAC,MAAM,EAAE,uBAAuB;;;EA0B5D;AAED,iBAAe,mBAAmB,CAChC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,CAyB7B;AAED,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,YAAY,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../modules/validators/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../modules/validators/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,OAAO,EAIZ,KAAK,GAAG,EAIT,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAEpE,OAAO,EAA4B,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;AAEjE,UAAU,SAAS;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,SAAS,GAAG,GAAG,GAAG,UAAU,CAAA;IACpC,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,QAAA,MAAM,yBAAyB,EAAE,OACa,CAAA;AAC9C,QAAA,MAAM,0BAA0B,EAAE,OACY,CAAA;AAS9C,iBAAS,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,UAEzD;AAED,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAUjD;AAED,iBAAS,YAAY,CAAC,MAAM,EAAE,QAAQ,UAarC;AAED,iBAAS,mBAAmB,CAAC,EAC3B,SAAS,EACT,MAAM,GACP,EAAE;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,OAAO,EAAE,CAAA;CAClB,GAAG,MAAM,CAiBT;AAED,iBAAS,oBAAoB,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,MAAM,CAwD5E;AAED,iBAAS,0BAA0B,CACjC,SAAS,EAAE,OAAO,EAAE,EACpB,SAAS,SAAI,GACZ,MAAM,CAsBR;AAeD,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,YAAY,EACZ,gBAAgB,GACjB,CAAA;AACD,YAAY,EAAE,kBAAkB,EAAE,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Address, type Chain, type Hex, type PublicClient } from 'viem';
|
|
2
|
-
import type { AccountType, RhinestoneAccountConfig, Session } from '../../types';
|
|
2
|
+
import type { AccountType, ProviderConfig, RhinestoneAccountConfig, Session } from '../../types';
|
|
3
3
|
import { type Module } from '../common';
|
|
4
4
|
interface SessionData {
|
|
5
5
|
sessionValidator: Address;
|
|
@@ -82,8 +82,8 @@ declare const SMART_SESSIONS_VALIDATOR_ADDRESS: Address;
|
|
|
82
82
|
declare const SMART_SESSION_MODE_USE = "0x00";
|
|
83
83
|
declare const SMART_SESSION_MODE_ENABLE = "0x01";
|
|
84
84
|
declare const SMART_SESSION_MODE_UNSAFE_ENABLE = "0x02";
|
|
85
|
-
declare function getSessionData(chain: Chain, session: Session): Promise<SessionData>;
|
|
86
|
-
declare function getEnableSessionCall(chain: Chain, session: Session): Promise<{
|
|
85
|
+
declare function getSessionData(chain: Chain, session: Session, provider?: ProviderConfig): Promise<SessionData>;
|
|
86
|
+
declare function getEnableSessionCall(chain: Chain, session: Session, provider?: ProviderConfig): Promise<{
|
|
87
87
|
to: `0x${string}`;
|
|
88
88
|
data: `0x${string}`;
|
|
89
89
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smart-sessions.d.ts","sourceRoot":"","sources":["../../../../modules/validators/smart-sessions.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,KAAK,EAKV,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"smart-sessions.d.ts","sourceRoot":"","sources":["../../../../modules/validators/smart-sessions.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ exports.getPermissionId = getPermissionId;
|
|
|
9
9
|
exports.isSessionEnabled = isSessionEnabled;
|
|
10
10
|
const solady_1 = require("solady");
|
|
11
11
|
const viem_1 = require("viem");
|
|
12
|
+
const utils_1 = require("../../accounts/utils");
|
|
12
13
|
const orchestrator_1 = require("../../orchestrator");
|
|
13
14
|
const smart_sessions_1 = require("../abi/smart-sessions");
|
|
14
15
|
const common_1 = require("../common");
|
|
@@ -36,8 +37,8 @@ const ACTION_CONDITION_GREATER_THAN_OR_EQUAL = 3;
|
|
|
36
37
|
const ACTION_CONDITION_LESS_THAN_OR_EQUAL = 4;
|
|
37
38
|
const ACTION_CONDITION_NOT_EQUAL = 5;
|
|
38
39
|
const ACTION_CONDITION_IN_RANGE = 6;
|
|
39
|
-
async function getSessionData(chain, session) {
|
|
40
|
-
const { appDomainSeparator, contentsType } = await getSessionAllowedERC7739Content(chain);
|
|
40
|
+
async function getSessionData(chain, session, provider) {
|
|
41
|
+
const { appDomainSeparator, contentsType } = await getSessionAllowedERC7739Content(chain, provider);
|
|
41
42
|
const allowedERC7739Content = [
|
|
42
43
|
{
|
|
43
44
|
appDomainSeparator,
|
|
@@ -46,8 +47,8 @@ async function getSessionData(chain, session) {
|
|
|
46
47
|
];
|
|
47
48
|
return getSmartSessionData(chain, session, allowedERC7739Content);
|
|
48
49
|
}
|
|
49
|
-
async function getEnableSessionCall(chain, session) {
|
|
50
|
-
const { appDomainSeparator, contentsType } = await getSessionAllowedERC7739Content(chain);
|
|
50
|
+
async function getEnableSessionCall(chain, session, provider) {
|
|
51
|
+
const { appDomainSeparator, contentsType } = await getSessionAllowedERC7739Content(chain, provider);
|
|
51
52
|
const allowedERC7739Content = [
|
|
52
53
|
{
|
|
53
54
|
appDomainSeparator,
|
|
@@ -90,10 +91,10 @@ function getOmniAccountActions(chain) {
|
|
|
90
91
|
];
|
|
91
92
|
return omniActions;
|
|
92
93
|
}
|
|
93
|
-
async function getSessionAllowedERC7739Content(chain) {
|
|
94
|
+
async function getSessionAllowedERC7739Content(chain, provider) {
|
|
94
95
|
const publicClient = (0, viem_1.createPublicClient)({
|
|
95
96
|
chain,
|
|
96
|
-
transport: (0,
|
|
97
|
+
transport: (0, utils_1.createTransport)(chain, provider),
|
|
97
98
|
});
|
|
98
99
|
const appDomainSeparator = await publicClient.readContract({
|
|
99
100
|
address: omni_account_1.HOOK_ADDRESS,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../orchestrator/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,MAAM,CAAA;AAe3C,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACZ,WAAW,EACX,SAAS,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../orchestrator/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,MAAM,CAAA;AAe3C,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACZ,WAAW,EACX,SAAS,EAET,cAAc,EACf,MAAM,SAAS,CAAA;AAGhB,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,MAAM,CAAQ;gBAEV,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAKvC,YAAY,CAChB,WAAW,EAAE,OAAO,EACpB,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;QACnB,MAAM,CAAC,EAAE;YACP,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,CAAA;SAC7B,CAAA;KACF,GACA,OAAO,CAAC,SAAS,CAAC;IAmDf,iBAAiB,CACrB,WAAW,EAAE,OAAO,EACpB,kBAAkB,EAAE,MAAM,EAC1B,uBAAuB,EAAE,OAAO,EAChC,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,MAAM,CAAC;IAmCZ,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAqBtD,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAgBxD,YAAY,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;IAgBnE,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAalE,OAAO,CAAC,UAAU;CAwHnB"}
|