@charterlabs/rhinestone-sdk 0.2.8 → 0.3.0
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/error.d.ts +4 -1
- package/dist/src/accounts/error.d.ts.map +1 -1
- package/dist/src/accounts/error.js +9 -1
- package/dist/src/accounts/index.d.ts +11 -4
- package/dist/src/accounts/index.d.ts.map +1 -1
- package/dist/src/accounts/index.js +32 -10
- package/dist/src/accounts/json-rpc/index.d.ts.map +1 -1
- package/dist/src/accounts/json-rpc/index.js +4 -0
- package/dist/src/accounts/json-rpc/index.test.d.ts +2 -0
- package/dist/src/accounts/json-rpc/index.test.d.ts.map +1 -0
- package/dist/src/accounts/json-rpc/index.test.js +33 -0
- package/dist/src/accounts/json-rpc/providers.d.ts +2 -1
- package/dist/src/accounts/json-rpc/providers.d.ts.map +1 -1
- package/dist/src/accounts/json-rpc/providers.js +8 -0
- package/dist/src/accounts/json-rpc/providers.test.d.ts +2 -0
- package/dist/src/accounts/json-rpc/providers.test.d.ts.map +1 -0
- package/dist/src/accounts/json-rpc/providers.test.js +43 -0
- package/dist/src/accounts/kernel.d.ts +9 -2
- package/dist/src/accounts/kernel.d.ts.map +1 -1
- package/dist/src/accounts/kernel.js +15 -1
- package/dist/src/accounts/nexus.d.ts +11 -4
- package/dist/src/accounts/nexus.d.ts.map +1 -1
- package/dist/src/accounts/nexus.js +19 -3
- package/dist/src/accounts/passport.d.ts +4 -4
- package/dist/src/accounts/passport.d.ts.map +1 -1
- package/dist/src/accounts/safe.d.ts +9 -2
- package/dist/src/accounts/safe.d.ts.map +1 -1
- package/dist/src/accounts/safe.js +17 -1
- package/dist/src/accounts/signing/common.d.ts.map +1 -1
- package/dist/src/accounts/signing/common.js +26 -5
- package/dist/src/accounts/signing/message.js +1 -1
- package/dist/src/accounts/startale.d.ts +9 -2
- package/dist/src/accounts/startale.d.ts.map +1 -1
- package/dist/src/accounts/startale.js +17 -1
- package/dist/src/accounts/walletClient.d.ts +27 -0
- package/dist/src/accounts/walletClient.d.ts.map +1 -1
- package/dist/src/accounts/walletClient.js +77 -0
- package/dist/src/actions/index.d.ts +1 -10
- package/dist/src/actions/index.d.ts.map +1 -1
- package/dist/src/actions/smart-sessions.d.ts +2 -11
- package/dist/src/actions/smart-sessions.d.ts.map +1 -1
- package/dist/src/actions/smart-sessions.js +0 -10
- 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 +3 -1
- package/dist/src/execution/error.d.ts +8 -1
- package/dist/src/execution/error.d.ts.map +1 -1
- package/dist/src/execution/error.js +10 -1
- package/dist/src/execution/index.d.ts +9 -4
- package/dist/src/execution/index.d.ts.map +1 -1
- package/dist/src/execution/index.js +32 -12
- package/dist/src/execution/singleChainOps.d.ts +28 -0
- package/dist/src/execution/singleChainOps.d.ts.map +1 -0
- package/dist/src/execution/{multiChainOps.js → singleChainOps.js} +7 -14
- package/dist/src/execution/smart-session.d.ts +5 -7
- package/dist/src/execution/smart-session.d.ts.map +1 -1
- package/dist/src/execution/smart-session.js +113 -228
- package/dist/src/execution/utils.d.ts +4 -4
- package/dist/src/execution/utils.d.ts.map +1 -1
- package/dist/src/execution/utils.js +125 -29
- package/dist/src/index.d.ts +13 -15
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +14 -6
- package/dist/src/modules/common.d.ts +3 -1
- package/dist/src/modules/common.d.ts.map +1 -1
- package/dist/src/modules/common.js +10 -0
- package/dist/src/modules/index.d.ts.map +1 -1
- package/dist/src/modules/index.js +15 -1
- package/dist/src/modules/validators/core.d.ts +5 -3
- package/dist/src/modules/validators/core.d.ts.map +1 -1
- package/dist/src/modules/validators/core.js +39 -2
- package/dist/src/modules/validators/smart-sessions.d.ts +6 -6
- package/dist/src/modules/validators/smart-sessions.d.ts.map +1 -1
- package/dist/src/modules/validators/smart-sessions.js +23 -12
- package/dist/src/orchestrator/client.d.ts.map +1 -1
- package/dist/src/orchestrator/client.js +13 -1
- package/dist/src/orchestrator/error.d.ts +27 -1
- package/dist/src/orchestrator/error.d.ts.map +1 -1
- package/dist/src/orchestrator/error.js +10 -1
- package/dist/src/orchestrator/index.d.ts +6 -6
- package/dist/src/orchestrator/index.d.ts.map +1 -1
- package/dist/src/orchestrator/index.js +4 -3
- package/dist/src/orchestrator/registry.d.ts +6 -2
- package/dist/src/orchestrator/registry.d.ts.map +1 -1
- package/dist/src/orchestrator/registry.js +30 -70
- package/dist/src/orchestrator/registry.test.js +24 -24
- package/dist/src/orchestrator/types.d.ts +31 -21
- package/dist/src/orchestrator/types.d.ts.map +1 -1
- package/dist/src/orchestrator/types.js +3 -5
- package/dist/src/types.d.ts +43 -8
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/index.d.ts +12 -1
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +16 -0
- package/package.json +5 -5
- package/dist/src/execution/multiChainOps.d.ts +0 -40
- package/dist/src/execution/multiChainOps.d.ts.map +0 -1
- package/dist/src/execution/smart-session.test.d.ts +0 -2
- package/dist/src/execution/smart-session.test.d.ts.map +0 -1
- package/dist/src/execution/smart-session.test.js +0 -34
|
@@ -8,6 +8,7 @@ exports.sendUserOperationInternal = sendUserOperationInternal;
|
|
|
8
8
|
exports.waitForExecution = waitForExecution;
|
|
9
9
|
exports.getMaxSpendableAmount = getMaxSpendableAmount;
|
|
10
10
|
exports.getPortfolio = getPortfolio;
|
|
11
|
+
exports.getIntentStatus = getIntentStatus;
|
|
11
12
|
const viem_1 = require("viem");
|
|
12
13
|
const chains_1 = require("viem/chains");
|
|
13
14
|
const accounts_1 = require("../accounts");
|
|
@@ -25,7 +26,7 @@ Object.defineProperty(exports, "SignerNotSupportedError", { enumerable: true, ge
|
|
|
25
26
|
const smart_session_1 = require("./smart-session");
|
|
26
27
|
const utils_2 = require("./utils");
|
|
27
28
|
const POLL_INITIAL_MS = 500;
|
|
28
|
-
const POLL_SLOW_AFTER_MS =
|
|
29
|
+
const POLL_SLOW_AFTER_MS = 15000;
|
|
29
30
|
const POLL_SLOW_MS = 2000;
|
|
30
31
|
const POLL_MAX_WAIT_MS = 180000;
|
|
31
32
|
const POLL_ERROR_BACKOFF_MS = 1000;
|
|
@@ -35,20 +36,21 @@ async function sendTransaction(config, transaction) {
|
|
|
35
36
|
? [transaction.chain]
|
|
36
37
|
: transaction.sourceChains || [];
|
|
37
38
|
const targetChain = 'chain' in transaction ? transaction.chain : transaction.targetChain;
|
|
38
|
-
const { calls, gasLimit, tokenRequests, signers, sponsored, settlementLayers, sourceAssets, feeAsset,
|
|
39
|
+
const { calls, gasLimit, tokenRequests, recipient, signers, sponsored, settlementLayers, sourceAssets, feeAsset, } = transaction;
|
|
39
40
|
const isUserOpSigner = signers?.type === 'guardians' || signers?.type === 'session';
|
|
40
41
|
if (isUserOpSigner) {
|
|
41
42
|
throw new error_1.SignerNotSupportedError();
|
|
42
43
|
}
|
|
43
|
-
return await sendTransactionInternal(config, sourceChains, targetChain,
|
|
44
|
+
return await sendTransactionInternal(config, sourceChains, targetChain, {
|
|
45
|
+
callInputs: calls,
|
|
44
46
|
gasLimit,
|
|
45
47
|
initialTokenRequests: tokenRequests,
|
|
48
|
+
recipient,
|
|
46
49
|
signers,
|
|
47
50
|
sponsored,
|
|
48
51
|
settlementLayers,
|
|
49
52
|
sourceAssets,
|
|
50
53
|
feeAsset,
|
|
51
|
-
dryRun,
|
|
52
54
|
});
|
|
53
55
|
}
|
|
54
56
|
async function sendUserOperation(config, transaction) {
|
|
@@ -61,16 +63,16 @@ async function sendUserOperation(config, transaction) {
|
|
|
61
63
|
// Smart sessions require a UserOp flow
|
|
62
64
|
return await sendUserOperationInternal(config, transaction.chain, resolvedCalls, transaction.signers);
|
|
63
65
|
}
|
|
64
|
-
async function sendTransactionInternal(config, sourceChains, targetChain,
|
|
66
|
+
async function sendTransactionInternal(config, sourceChains, targetChain, options) {
|
|
65
67
|
const accountAddress = (0, accounts_1.getAddress)(config);
|
|
66
|
-
const resolvedCalls = await (0, utils_2.resolveCallInputs)(callInputs, config, targetChain, accountAddress);
|
|
68
|
+
const resolvedCalls = await (0, utils_2.resolveCallInputs)(options.callInputs, config, targetChain, accountAddress);
|
|
67
69
|
const tokenRequests = (0, utils_2.getTokenRequests)(sourceChains, targetChain, options.initialTokenRequests, options.settlementLayers);
|
|
68
70
|
const sendAsUserOp = options.signers?.type === 'guardians' || options.signers?.type === 'session';
|
|
69
71
|
if (sendAsUserOp) {
|
|
70
72
|
throw new error_1.SignerNotSupportedError();
|
|
71
73
|
}
|
|
72
74
|
else {
|
|
73
|
-
return await sendTransactionAsIntent(config, sourceChains, targetChain, resolvedCalls, options.gasLimit, tokenRequests,
|
|
75
|
+
return await sendTransactionAsIntent(config, sourceChains, targetChain, resolvedCalls, options.gasLimit, tokenRequests, options.recipient, accountAddress, options.signers, options.sponsored, options.settlementLayers, options.sourceAssets, options.feeAsset, options.lockFunds);
|
|
74
76
|
}
|
|
75
77
|
}
|
|
76
78
|
async function sendUserOperationInternal(config, chain, callInputs, signers) {
|
|
@@ -100,8 +102,8 @@ async function sendUserOperationInternal(config, chain, callInputs, signers) {
|
|
|
100
102
|
chain: chain.id,
|
|
101
103
|
};
|
|
102
104
|
}
|
|
103
|
-
async function sendTransactionAsIntent(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests,
|
|
104
|
-
const intentRoute = await (0, utils_2.prepareTransactionAsIntent)(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, accountAddress, sponsored ?? false, undefined, settlementLayers, sourceAssets, feeAsset, lockFunds);
|
|
105
|
+
async function sendTransactionAsIntent(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, recipient, accountAddress, signers, sponsored, settlementLayers, sourceAssets, feeAsset, lockFunds) {
|
|
106
|
+
const intentRoute = await (0, utils_2.prepareTransactionAsIntent)(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, recipient, accountAddress, sponsored ?? false, undefined, settlementLayers, sourceAssets, feeAsset, lockFunds, undefined);
|
|
105
107
|
if (!intentRoute) {
|
|
106
108
|
throw new error_1.OrderPathRequiredForIntentsError();
|
|
107
109
|
}
|
|
@@ -109,7 +111,7 @@ async function sendTransactionAsIntent(config, sourceChains, targetChain, callIn
|
|
|
109
111
|
const authorizations = config.eoa
|
|
110
112
|
? await (0, utils_2.signAuthorizationsInternal)(config, intentRoute)
|
|
111
113
|
: [];
|
|
112
|
-
return await (0, utils_2.submitIntentInternal)(config, sourceChains, targetChain, intentRoute.intentOp, originSignatures, destinationSignature, authorizations,
|
|
114
|
+
return await (0, utils_2.submitIntentInternal)(config, sourceChains, targetChain, intentRoute.intentOp, originSignatures, destinationSignature, authorizations, false);
|
|
113
115
|
}
|
|
114
116
|
async function waitForExecution(config, result, acceptsPreconfirmations) {
|
|
115
117
|
const validStatuses = new Set([
|
|
@@ -205,14 +207,32 @@ async function waitForExecution(config, result, acceptsPreconfirmations) {
|
|
|
205
207
|
}
|
|
206
208
|
}
|
|
207
209
|
}
|
|
208
|
-
async function getMaxSpendableAmount(config, chain,
|
|
210
|
+
async function getMaxSpendableAmount(config, chain, token, gasUnits, sponsored = false) {
|
|
209
211
|
const address = (0, accounts_1.getAddress)(config);
|
|
210
212
|
const orchestrator = (0, utils_2.getOrchestratorByChain)(chain.id, config.apiKey, config.endpointUrl);
|
|
213
|
+
const tokenAddress = (0, registry_1.resolveTokenAddress)(token, chain.id);
|
|
211
214
|
return orchestrator.getMaxTokenAmount(address, chain.id, tokenAddress, gasUnits, sponsored);
|
|
212
215
|
}
|
|
213
216
|
async function getPortfolio(config, onTestnets) {
|
|
214
217
|
const address = (0, accounts_1.getAddress)(config);
|
|
215
|
-
const chainId = onTestnets ? chains_1.
|
|
218
|
+
const chainId = onTestnets ? chains_1.baseSepolia.id : chains_1.base.id;
|
|
216
219
|
const orchestrator = (0, utils_2.getOrchestratorByChain)(chainId, config.apiKey, config.endpointUrl);
|
|
217
220
|
return orchestrator.getPortfolio(address);
|
|
218
221
|
}
|
|
222
|
+
async function getIntentStatus(apiKey, endpointUrl, intentId) {
|
|
223
|
+
const environment = BigInt(intentId.toString().slice(0, 1));
|
|
224
|
+
const chainId = environment === 4n ? chains_1.base.id : chains_1.baseSepolia.id;
|
|
225
|
+
const orchestrator = (0, utils_2.getOrchestratorByChain)(chainId, apiKey, endpointUrl);
|
|
226
|
+
const internalStatus = await orchestrator.getIntentOpStatus(intentId);
|
|
227
|
+
return {
|
|
228
|
+
status: internalStatus.status,
|
|
229
|
+
fill: {
|
|
230
|
+
hash: internalStatus.fillTransactionHash,
|
|
231
|
+
chainId: chainId,
|
|
232
|
+
},
|
|
233
|
+
claims: internalStatus.claims.map((claim) => ({
|
|
234
|
+
hash: claim.claimTransactionHash,
|
|
235
|
+
chainId: claim.chainId,
|
|
236
|
+
})),
|
|
237
|
+
};
|
|
238
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Address } from 'viem';
|
|
2
|
+
import type { Execution, IntentOpElement } from '../orchestrator/types';
|
|
3
|
+
declare function getTypedData(account: Address, intentExecutorAddress: Address, element: IntentOpElement, nonce: bigint): {
|
|
4
|
+
domain: {
|
|
5
|
+
name: string;
|
|
6
|
+
version: string;
|
|
7
|
+
chainId: number;
|
|
8
|
+
verifyingContract: `0x${string}`;
|
|
9
|
+
};
|
|
10
|
+
types: {
|
|
11
|
+
SingleChainOps: {
|
|
12
|
+
name: string;
|
|
13
|
+
type: string;
|
|
14
|
+
}[];
|
|
15
|
+
Op: {
|
|
16
|
+
name: string;
|
|
17
|
+
type: string;
|
|
18
|
+
}[];
|
|
19
|
+
};
|
|
20
|
+
primaryType: "SingleChainOps";
|
|
21
|
+
message: {
|
|
22
|
+
account: `0x${string}`;
|
|
23
|
+
nonce: bigint;
|
|
24
|
+
ops: Execution[];
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
export { getTypedData };
|
|
28
|
+
//# sourceMappingURL=singleChainOps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"singleChainOps.d.ts","sourceRoot":"","sources":["../../../execution/singleChainOps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvE,iBAAS,YAAY,CACnB,OAAO,EAAE,OAAO,EAChB,qBAAqB,EAAE,OAAO,EAC9B,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;EA8Bd;AACD,OAAO,EAAE,YAAY,EAAE,CAAA"}
|
|
@@ -1,26 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getTypedData = getTypedData;
|
|
4
|
-
function getTypedData(account, intentExecutorAddress,
|
|
5
|
-
const ops =
|
|
6
|
-
const chainOps = {
|
|
7
|
-
chainId: BigInt(intentOp.elements[0].chainId),
|
|
8
|
-
nonce: BigInt(intentOp.nonce),
|
|
9
|
-
ops,
|
|
10
|
-
};
|
|
4
|
+
function getTypedData(account, intentExecutorAddress, element, nonce) {
|
|
5
|
+
const ops = element.mandate.destinationOps;
|
|
11
6
|
return {
|
|
12
7
|
domain: {
|
|
13
8
|
name: 'IntentExecutor',
|
|
14
9
|
version: 'v0.0.1',
|
|
10
|
+
chainId: Number(element.mandate.destinationChainId),
|
|
15
11
|
verifyingContract: intentExecutorAddress,
|
|
16
12
|
},
|
|
17
13
|
types: {
|
|
18
|
-
|
|
14
|
+
SingleChainOps: [
|
|
19
15
|
{ name: 'account', type: 'address' },
|
|
20
|
-
{ name: 'ops', type: 'ChainOps[]' },
|
|
21
|
-
],
|
|
22
|
-
ChainOps: [
|
|
23
|
-
{ name: 'chainId', type: 'uint256' },
|
|
24
16
|
{ name: 'nonce', type: 'uint256' },
|
|
25
17
|
{ name: 'ops', type: 'Op[]' },
|
|
26
18
|
],
|
|
@@ -30,10 +22,11 @@ function getTypedData(account, intentExecutorAddress, intentOp) {
|
|
|
30
22
|
{ name: 'data', type: 'bytes' },
|
|
31
23
|
],
|
|
32
24
|
},
|
|
33
|
-
primaryType: '
|
|
25
|
+
primaryType: 'SingleChainOps',
|
|
34
26
|
message: {
|
|
35
27
|
account,
|
|
36
|
-
|
|
28
|
+
nonce,
|
|
29
|
+
ops,
|
|
37
30
|
},
|
|
38
31
|
};
|
|
39
32
|
}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import { type Chain, type Hex } from 'viem';
|
|
2
|
-
import { type
|
|
2
|
+
import { type EnableSessionData } from '../modules/validators/smart-sessions';
|
|
3
3
|
import type { RhinestoneConfig, Session } from '../types';
|
|
4
4
|
interface SessionDetails {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
hashesAndChainIds: ChainDigest[];
|
|
5
|
+
signature: Hex;
|
|
6
|
+
nonces: bigint[];
|
|
8
7
|
enableSessionData: EnableSessionData;
|
|
9
8
|
}
|
|
10
|
-
declare function getSessionDetails(config: RhinestoneConfig, sessions: Session[], sessionIndex: number, signature?: Hex): Promise<SessionDetails>;
|
|
11
|
-
declare function getMultichainDigest(chainDigests: ChainDigest[]): Hex;
|
|
9
|
+
declare function getSessionDetails(config: RhinestoneConfig, sessions: Session[], sessionIndex: number, initialNonces?: bigint[], signature?: Hex): Promise<SessionDetails>;
|
|
12
10
|
declare function enableSmartSession(chain: Chain, config: RhinestoneConfig, session: Session): Promise<void>;
|
|
13
|
-
export { enableSmartSession, getSessionDetails
|
|
11
|
+
export { enableSmartSession, getSessionDetails };
|
|
14
12
|
export type { SessionDetails };
|
|
15
13
|
//# sourceMappingURL=smart-session.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smart-session.d.ts","sourceRoot":"","sources":["../../../execution/smart-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"smart-session.d.ts","sourceRoot":"","sources":["../../../execution/smart-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,KAAK,EAEV,KAAK,GAAG,EAIT,MAAM,MAAM,CAAA;AAiBb,OAAO,EACL,KAAK,iBAAiB,EAKvB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAGzD,UAAU,cAAc;IACtB,SAAS,EAAE,GAAG,CAAA;IACd,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,iBAAiB,EAAE,iBAAiB,CAAA;CACrC;AA6CD,iBAAe,iBAAiB,CAC9B,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,OAAO,EAAE,EACnB,YAAY,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,MAAM,EAAE,EACxB,SAAS,CAAC,EAAE,GAAG,GACd,OAAO,CAAC,cAAc,CAAC,CAiHzB;AA+BD,iBAAe,kBAAkB,CAC/B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,OAAO,iBA2BjB;AAED,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,CAAA;AAChD,YAAY,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -2,113 +2,137 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.enableSmartSession = enableSmartSession;
|
|
4
4
|
exports.getSessionDetails = getSessionDetails;
|
|
5
|
-
exports.getMultichainDigest = getMultichainDigest;
|
|
6
5
|
const viem_1 = require("viem");
|
|
7
6
|
const accounts_1 = require("../accounts");
|
|
8
7
|
const utils_1 = require("../accounts/utils");
|
|
9
8
|
const validators_1 = require("../modules/validators");
|
|
10
9
|
const smart_sessions_1 = require("../modules/validators/smart-sessions");
|
|
11
10
|
const error_1 = require("./error");
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
const smartSessionTypes = {
|
|
12
|
+
PolicyData: [
|
|
13
|
+
{ name: 'policy', type: 'address' },
|
|
14
|
+
{ name: 'initData', type: 'bytes' },
|
|
15
|
+
],
|
|
16
|
+
ActionData: [
|
|
17
|
+
{ name: 'actionTargetSelector', type: 'bytes4' },
|
|
18
|
+
{ name: 'actionTarget', type: 'address' },
|
|
19
|
+
{ name: 'actionPolicies', type: 'PolicyData[]' },
|
|
20
|
+
],
|
|
21
|
+
ERC7739Context: [
|
|
22
|
+
{ name: 'appDomainSeparator', type: 'bytes32' },
|
|
23
|
+
{ name: 'contentName', type: 'string[]' },
|
|
24
|
+
],
|
|
25
|
+
ERC7739Data: [
|
|
26
|
+
{ name: 'allowedERC7739Content', type: 'ERC7739Context[]' },
|
|
27
|
+
{ name: 'erc1271Policies', type: 'PolicyData[]' },
|
|
28
|
+
],
|
|
29
|
+
SignedPermissions: [
|
|
30
|
+
{ name: 'permitGenericPolicy', type: 'bool' },
|
|
31
|
+
{ name: 'permitAdminAccess', type: 'bool' },
|
|
32
|
+
{ name: 'ignoreSecurityAttestations', type: 'bool' },
|
|
33
|
+
{ name: 'permitERC4337Paymaster', type: 'bool' },
|
|
34
|
+
{ name: 'userOpPolicies', type: 'PolicyData[]' },
|
|
35
|
+
{ name: 'erc7739Policies', type: 'ERC7739Data' },
|
|
36
|
+
{ name: 'actions', type: 'ActionData[]' },
|
|
37
|
+
],
|
|
38
|
+
SignedSession: [
|
|
39
|
+
{ name: 'account', type: 'address' },
|
|
40
|
+
{ name: 'permissions', type: 'SignedPermissions' },
|
|
41
|
+
{ name: 'sessionValidator', type: 'address' },
|
|
42
|
+
{ name: 'sessionValidatorInitData', type: 'bytes' },
|
|
43
|
+
{ name: 'salt', type: 'bytes32' },
|
|
44
|
+
{ name: 'smartSession', type: 'address' },
|
|
45
|
+
{ name: 'nonce', type: 'uint256' },
|
|
46
|
+
],
|
|
47
|
+
ChainSession: [
|
|
48
|
+
{ name: 'chainId', type: 'uint64' },
|
|
49
|
+
{ name: 'session', type: 'SignedSession' },
|
|
50
|
+
],
|
|
51
|
+
MultiChainSession: [{ name: 'sessionsAndChainIds', type: 'ChainSession[]' }],
|
|
52
|
+
};
|
|
53
|
+
async function getSessionDetails(config, sessions, sessionIndex, initialNonces, signature) {
|
|
54
|
+
const chains = sessions
|
|
55
|
+
.map((session) => session.chain)
|
|
56
|
+
.filter((chain) => !!chain);
|
|
57
|
+
if (chains.length !== sessions.length) {
|
|
58
|
+
throw new error_1.SessionChainRequiredError();
|
|
59
|
+
}
|
|
14
60
|
const accountAddress = (0, accounts_1.getAddress)(config);
|
|
15
|
-
const
|
|
61
|
+
const publicClients = chains.map((chain) => (0, viem_1.createPublicClient)({
|
|
62
|
+
chain,
|
|
63
|
+
transport: (0, utils_1.createTransport)(chain, config.provider),
|
|
64
|
+
}));
|
|
65
|
+
const sessionDatas = sessions.map((session) => (0, smart_sessions_1.getSmartSessionData)(session));
|
|
66
|
+
const sessionNonces = await Promise.all(sessions.map((session, index) => initialNonces?.[index] ??
|
|
67
|
+
getSessionNonce(publicClients[index], accountAddress, (0, validators_1.getPermissionId)(session))));
|
|
68
|
+
const signedSessions = sessionDatas.map((session, index) => ({
|
|
69
|
+
account: accountAddress,
|
|
70
|
+
permissions: {
|
|
71
|
+
permitGenericPolicy: session.actions.some((action) => action.actionTarget === smart_sessions_1.SMART_SESSIONS_FALLBACK_TARGET_FLAG &&
|
|
72
|
+
action.actionTargetSelector ===
|
|
73
|
+
smart_sessions_1.SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG),
|
|
74
|
+
permitAdminAccess: session.actions.some((action) => action.actionTargetSelector ===
|
|
75
|
+
smart_sessions_1.SMART_SESSIONS_FALLBACK_TARGET_SELECTOR_FLAG_PERMITTED_TO_CALL_SMARTSESSION),
|
|
76
|
+
ignoreSecurityAttestations: false,
|
|
77
|
+
permitERC4337Paymaster: session.permitERC4337Paymaster,
|
|
78
|
+
userOpPolicies: session.userOpPolicies,
|
|
79
|
+
erc7739Policies: session.erc7739Policies,
|
|
80
|
+
actions: session.actions,
|
|
81
|
+
},
|
|
82
|
+
sessionValidator: session.sessionValidator,
|
|
83
|
+
sessionValidatorInitData: session.sessionValidatorInitData,
|
|
84
|
+
salt: session.salt,
|
|
85
|
+
smartSession: validators_1.SMART_SESSIONS_VALIDATOR_ADDRESS,
|
|
86
|
+
nonce: sessionNonces[index],
|
|
87
|
+
}));
|
|
88
|
+
const chainDigests = signedSessions.map((session, index) => ({
|
|
89
|
+
chainId: BigInt(chains[index].id),
|
|
90
|
+
sessionDigest: (0, viem_1.hashStruct)({
|
|
91
|
+
types: smartSessionTypes,
|
|
92
|
+
primaryType: 'SignedSession',
|
|
93
|
+
data: session,
|
|
94
|
+
}),
|
|
95
|
+
}));
|
|
96
|
+
const typedData = {
|
|
97
|
+
domain: {
|
|
98
|
+
name: 'SmartSession',
|
|
99
|
+
version: '1',
|
|
100
|
+
},
|
|
101
|
+
types: smartSessionTypes,
|
|
102
|
+
primaryType: 'MultiChainSession',
|
|
103
|
+
message: {
|
|
104
|
+
sessionsAndChainIds: signedSessions.map((session, index) => ({
|
|
105
|
+
chainId: BigInt(chains[index].id),
|
|
106
|
+
session,
|
|
107
|
+
})),
|
|
108
|
+
},
|
|
109
|
+
};
|
|
16
110
|
const chain = sessions[sessionIndex].chain;
|
|
17
111
|
if (!chain) {
|
|
18
112
|
throw new error_1.SessionChainRequiredError();
|
|
19
113
|
}
|
|
20
114
|
const validator = {
|
|
21
|
-
address:
|
|
22
|
-
isRoot:
|
|
115
|
+
address: sessionDatas[sessionIndex].sessionValidator,
|
|
116
|
+
isRoot: false,
|
|
23
117
|
};
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
(await (0, accounts_1.getPackedSignature)(config, undefined, chain, validator, sessionDetails.permissionEnableHash));
|
|
27
|
-
return sessionDetails;
|
|
28
|
-
}
|
|
29
|
-
async function getEnableSessionDetails(accountType, sessions, sessionIndex, accountAddress, provider) {
|
|
30
|
-
const chainDigests = [];
|
|
31
|
-
const chainSessions = [];
|
|
32
|
-
for (const session of sessions) {
|
|
33
|
-
const permissionId = (0, validators_1.getPermissionId)(session);
|
|
34
|
-
const sessionChain = session.chain;
|
|
35
|
-
if (!sessionChain) {
|
|
36
|
-
throw new error_1.SessionChainRequiredError();
|
|
37
|
-
}
|
|
38
|
-
const publicClient = (0, viem_1.createPublicClient)({
|
|
39
|
-
chain: sessionChain,
|
|
40
|
-
transport: (0, utils_1.createTransport)(sessionChain, provider),
|
|
41
|
-
});
|
|
42
|
-
const sessionNonce = await getSessionNonce(publicClient, accountAddress, permissionId);
|
|
43
|
-
const sessionData = await (0, smart_sessions_1.getSessionData)(session);
|
|
44
|
-
const sessionDigest = await getSessionDigest(publicClient, accountAddress, sessionData, permissionId, validators_1.SMART_SESSION_MODE_ENABLE);
|
|
45
|
-
chainDigests.push({
|
|
46
|
-
chainId: BigInt(sessionChain.id),
|
|
47
|
-
sessionDigest,
|
|
48
|
-
});
|
|
49
|
-
chainSessions.push({
|
|
50
|
-
chainId: BigInt(sessionChain.id),
|
|
51
|
-
session: {
|
|
52
|
-
permissions: {
|
|
53
|
-
permitGenericPolicy: false,
|
|
54
|
-
permitAdminAccess: false,
|
|
55
|
-
ignoreSecurityAttestations: false,
|
|
56
|
-
permitERC4337Paymaster: sessionData.permitERC4337Paymaster,
|
|
57
|
-
userOpPolicies: sessionData.userOpPolicies,
|
|
58
|
-
erc7739Policies: sessionData.erc7739Policies,
|
|
59
|
-
actions: sessionData.actions,
|
|
60
|
-
},
|
|
61
|
-
salt: sessionData.salt,
|
|
62
|
-
sessionValidator: sessionData.sessionValidator,
|
|
63
|
-
sessionValidatorInitData: sessionData.sessionValidatorInitData,
|
|
64
|
-
account: accountAddress,
|
|
65
|
-
smartSession: validators_1.SMART_SESSIONS_VALIDATOR_ADDRESS,
|
|
66
|
-
nonce: sessionNonce,
|
|
67
|
-
},
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
const permissionEnableHash = getMultichainDigest(chainDigests);
|
|
71
|
-
const sessionToEnable = sessions[sessionIndex || 0];
|
|
72
|
-
const sessionChain = sessionToEnable.chain;
|
|
73
|
-
if (!sessionChain) {
|
|
74
|
-
throw new error_1.SessionChainRequiredError();
|
|
75
|
-
}
|
|
76
|
-
const sessionData = await (0, smart_sessions_1.getSessionData)(sessionToEnable);
|
|
118
|
+
const sessionSignature = signature ??
|
|
119
|
+
(await (0, accounts_1.getTypedDataPackedSignature)(config, undefined, chain, validator, typedData));
|
|
77
120
|
return {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
hashesAndChainIds: chainDigests,
|
|
121
|
+
nonces: sessionNonces,
|
|
122
|
+
signature: sessionSignature,
|
|
81
123
|
enableSessionData: {
|
|
82
|
-
permissionId: (0, validators_1.getPermissionId)(sessionToEnable),
|
|
83
|
-
validator: sessionData.sessionValidator,
|
|
84
|
-
accountType,
|
|
85
124
|
chainDigestIndex: sessionIndex,
|
|
86
|
-
hashesAndChainIds: chainDigests
|
|
87
|
-
|
|
88
|
-
|
|
125
|
+
hashesAndChainIds: chainDigests.map((chainDigest) => ({
|
|
126
|
+
chainId: BigInt(chainDigest.chainId),
|
|
127
|
+
sessionDigest: chainDigest.sessionDigest,
|
|
128
|
+
})),
|
|
129
|
+
sessionToEnable: sessionDatas[sessionIndex],
|
|
130
|
+
signature: sessionSignature,
|
|
89
131
|
},
|
|
90
132
|
};
|
|
91
133
|
}
|
|
92
|
-
function getMultichainDigest(chainDigests) {
|
|
93
|
-
function hashChainDigestMimicRPC(chainDigest) {
|
|
94
|
-
const CHAIN_SESSION_TYPEHASH = '0x1ea7e4bc398fa0ccd68d92b5d8931a3fd93eebe1cf0391b4ba28935801af7c80';
|
|
95
|
-
return (0, viem_1.keccak256)((0, viem_1.encodePacked)(['bytes32', 'uint256', 'bytes32'], [
|
|
96
|
-
CHAIN_SESSION_TYPEHASH,
|
|
97
|
-
chainDigest.chainId,
|
|
98
|
-
chainDigest.sessionDigest,
|
|
99
|
-
]));
|
|
100
|
-
}
|
|
101
|
-
function hashChainDigestArray(chainDigests) {
|
|
102
|
-
const hashes = chainDigests.map((digest) => hashChainDigestMimicRPC(digest));
|
|
103
|
-
return (0, viem_1.keccak256)((0, viem_1.concat)(hashes));
|
|
104
|
-
}
|
|
105
|
-
const MULTICHAIN_SESSION_TYPEHASH = '0x0c9d02fb89a1da34d66ea2088dc9ee6a58efee71cef6f1bb849ed74fc6003d98';
|
|
106
|
-
const MULTICHAIN_DOMAIN_SEPARATOR = '0x057501e891776d1482927e5f094ae44049a4d893ba2d7b334dd7db8d38d3a0e1';
|
|
107
|
-
const structHash = (0, viem_1.keccak256)((0, viem_1.encodePacked)(['bytes32', 'bytes32'], [MULTICHAIN_SESSION_TYPEHASH, hashChainDigestArray(chainDigests)]));
|
|
108
|
-
return (0, viem_1.keccak256)((0, viem_1.concat)(['0x1901', MULTICHAIN_DOMAIN_SEPARATOR, structHash]));
|
|
109
|
-
}
|
|
110
134
|
async function getSessionNonce(client, account, permissionId) {
|
|
111
|
-
|
|
135
|
+
const nonce = await client.readContract({
|
|
112
136
|
address: validators_1.SMART_SESSIONS_VALIDATOR_ADDRESS,
|
|
113
137
|
abi: [
|
|
114
138
|
{
|
|
@@ -128,147 +152,8 @@ async function getSessionNonce(client, account, permissionId) {
|
|
|
128
152
|
],
|
|
129
153
|
functionName: 'getNonce',
|
|
130
154
|
args: [permissionId, account],
|
|
131
|
-
})
|
|
132
|
-
|
|
133
|
-
async function getSessionDigest(client, account, session, permissionId, mode) {
|
|
134
|
-
return (await client.readContract({
|
|
135
|
-
address: validators_1.SMART_SESSIONS_VALIDATOR_ADDRESS,
|
|
136
|
-
abi: [
|
|
137
|
-
{
|
|
138
|
-
type: 'function',
|
|
139
|
-
name: 'getSessionDigest',
|
|
140
|
-
inputs: [
|
|
141
|
-
{
|
|
142
|
-
name: 'permissionId',
|
|
143
|
-
type: 'bytes32',
|
|
144
|
-
internalType: 'PermissionId',
|
|
145
|
-
},
|
|
146
|
-
{ name: 'account', type: 'address', internalType: 'address' },
|
|
147
|
-
{
|
|
148
|
-
name: 'data',
|
|
149
|
-
type: 'tuple',
|
|
150
|
-
internalType: 'struct Session',
|
|
151
|
-
components: [
|
|
152
|
-
{
|
|
153
|
-
name: 'sessionValidator',
|
|
154
|
-
type: 'address',
|
|
155
|
-
internalType: 'contract ISessionValidator',
|
|
156
|
-
},
|
|
157
|
-
{
|
|
158
|
-
name: 'sessionValidatorInitData',
|
|
159
|
-
type: 'bytes',
|
|
160
|
-
internalType: 'bytes',
|
|
161
|
-
},
|
|
162
|
-
{ name: 'salt', type: 'bytes32', internalType: 'bytes32' },
|
|
163
|
-
{
|
|
164
|
-
name: 'userOpPolicies',
|
|
165
|
-
type: 'tuple[]',
|
|
166
|
-
internalType: 'struct PolicyData[]',
|
|
167
|
-
components: [
|
|
168
|
-
{
|
|
169
|
-
name: 'policy',
|
|
170
|
-
type: 'address',
|
|
171
|
-
internalType: 'address',
|
|
172
|
-
},
|
|
173
|
-
{ name: 'initData', type: 'bytes', internalType: 'bytes' },
|
|
174
|
-
],
|
|
175
|
-
},
|
|
176
|
-
{
|
|
177
|
-
name: 'erc7739Policies',
|
|
178
|
-
type: 'tuple',
|
|
179
|
-
internalType: 'struct ERC7739Data',
|
|
180
|
-
components: [
|
|
181
|
-
{
|
|
182
|
-
name: 'allowedERC7739Content',
|
|
183
|
-
type: 'tuple[]',
|
|
184
|
-
internalType: 'struct ERC7739Context[]',
|
|
185
|
-
components: [
|
|
186
|
-
{
|
|
187
|
-
name: 'appDomainSeparator',
|
|
188
|
-
type: 'bytes32',
|
|
189
|
-
internalType: 'bytes32',
|
|
190
|
-
},
|
|
191
|
-
{
|
|
192
|
-
name: 'contentName',
|
|
193
|
-
type: 'string[]',
|
|
194
|
-
internalType: 'string[]',
|
|
195
|
-
},
|
|
196
|
-
],
|
|
197
|
-
},
|
|
198
|
-
{
|
|
199
|
-
name: 'erc1271Policies',
|
|
200
|
-
type: 'tuple[]',
|
|
201
|
-
internalType: 'struct PolicyData[]',
|
|
202
|
-
components: [
|
|
203
|
-
{
|
|
204
|
-
name: 'policy',
|
|
205
|
-
type: 'address',
|
|
206
|
-
internalType: 'address',
|
|
207
|
-
},
|
|
208
|
-
{
|
|
209
|
-
name: 'initData',
|
|
210
|
-
type: 'bytes',
|
|
211
|
-
internalType: 'bytes',
|
|
212
|
-
},
|
|
213
|
-
],
|
|
214
|
-
},
|
|
215
|
-
],
|
|
216
|
-
},
|
|
217
|
-
{
|
|
218
|
-
name: 'actions',
|
|
219
|
-
type: 'tuple[]',
|
|
220
|
-
internalType: 'struct ActionData[]',
|
|
221
|
-
components: [
|
|
222
|
-
{
|
|
223
|
-
name: 'actionTargetSelector',
|
|
224
|
-
type: 'bytes4',
|
|
225
|
-
internalType: 'bytes4',
|
|
226
|
-
},
|
|
227
|
-
{
|
|
228
|
-
name: 'actionTarget',
|
|
229
|
-
type: 'address',
|
|
230
|
-
internalType: 'address',
|
|
231
|
-
},
|
|
232
|
-
{
|
|
233
|
-
name: 'actionPolicies',
|
|
234
|
-
type: 'tuple[]',
|
|
235
|
-
internalType: 'struct PolicyData[]',
|
|
236
|
-
components: [
|
|
237
|
-
{
|
|
238
|
-
name: 'policy',
|
|
239
|
-
type: 'address',
|
|
240
|
-
internalType: 'address',
|
|
241
|
-
},
|
|
242
|
-
{
|
|
243
|
-
name: 'initData',
|
|
244
|
-
type: 'bytes',
|
|
245
|
-
internalType: 'bytes',
|
|
246
|
-
},
|
|
247
|
-
],
|
|
248
|
-
},
|
|
249
|
-
],
|
|
250
|
-
},
|
|
251
|
-
{
|
|
252
|
-
name: 'permitERC4337Paymaster',
|
|
253
|
-
type: 'bool',
|
|
254
|
-
internalType: 'bool',
|
|
255
|
-
},
|
|
256
|
-
],
|
|
257
|
-
},
|
|
258
|
-
{
|
|
259
|
-
name: 'mode',
|
|
260
|
-
type: 'uint8',
|
|
261
|
-
internalType: 'enum SmartSessionMode',
|
|
262
|
-
},
|
|
263
|
-
],
|
|
264
|
-
outputs: [{ name: '', type: 'bytes32', internalType: 'bytes32' }],
|
|
265
|
-
stateMutability: 'view',
|
|
266
|
-
},
|
|
267
|
-
],
|
|
268
|
-
functionName: 'getSessionDigest',
|
|
269
|
-
// @ts-ignore Viem fails to infer the type of "session"
|
|
270
|
-
args: [permissionId, account, session, Number(mode)],
|
|
271
|
-
}));
|
|
155
|
+
});
|
|
156
|
+
return nonce;
|
|
272
157
|
}
|
|
273
158
|
async function enableSmartSession(chain, config, session) {
|
|
274
159
|
const publicClient = (0, viem_1.createPublicClient)({
|
|
@@ -2,7 +2,7 @@ import { type Address, type Chain, type HashTypedDataParameters, type Hex, type
|
|
|
2
2
|
import { type UserOperation } from 'viem/account-abstraction';
|
|
3
3
|
import { type IntentOp, type IntentRoute } from '../orchestrator';
|
|
4
4
|
import type { SettlementLayer } from '../orchestrator/types';
|
|
5
|
-
import type { Call, CalldataInput, CallInput, RhinestoneConfig, SignerSet, SourceAssetInput, TokenRequest, TokenSymbol, Transaction, UserOperationTransaction } from '../types';
|
|
5
|
+
import type { Call, CalldataInput, CallInput, RhinestoneAccountConfig, RhinestoneConfig, SignerSet, SourceAssetInput, TokenRequest, TokenSymbol, Transaction, UserOperationTransaction } from '../types';
|
|
6
6
|
interface UserOperationResult {
|
|
7
7
|
type: 'userop';
|
|
8
8
|
hash: Hex;
|
|
@@ -32,7 +32,7 @@ interface SignedUserOperationData extends PreparedUserOperationData {
|
|
|
32
32
|
}
|
|
33
33
|
declare function prepareTransaction(config: RhinestoneConfig, transaction: Transaction): Promise<PreparedTransactionData>;
|
|
34
34
|
declare function prepareUserOperation(config: RhinestoneConfig, transaction: UserOperationTransaction): Promise<PreparedUserOperationData>;
|
|
35
|
-
declare function resolveCallInputs(inputs: CallInput[], config: RhinestoneConfig, chain: Chain, accountAddress: Address): Promise<CalldataInput[]>;
|
|
35
|
+
declare function resolveCallInputs(inputs: CallInput[] | undefined, config: RhinestoneConfig, chain: Chain, accountAddress: Address): Promise<CalldataInput[]>;
|
|
36
36
|
declare function signTransaction(config: RhinestoneConfig, preparedTransaction: PreparedTransactionData): Promise<SignedTransactionData>;
|
|
37
37
|
declare function signUserOperation(config: RhinestoneConfig, preparedUserOperation: PreparedUserOperationData): Promise<SignedUserOperationData>;
|
|
38
38
|
declare function signAuthorizations(config: RhinestoneConfig, preparedTransaction: PreparedTransactionData): Promise<SignedAuthorization[]>;
|
|
@@ -42,12 +42,12 @@ declare function signAuthorizationsInternal(config: RhinestoneConfig, data: Inte
|
|
|
42
42
|
declare function submitTransaction(config: RhinestoneConfig, signedTransaction: SignedTransactionData, authorizations: SignedAuthorizationList, dryRun?: boolean): Promise<TransactionResult>;
|
|
43
43
|
declare function submitUserOperation(config: RhinestoneConfig, signedUserOperation: SignedUserOperationData): Promise<UserOperationResult>;
|
|
44
44
|
declare function getTokenRequests(sourceChains: Chain[], targetChain: Chain, initialTokenRequests: TokenRequest[] | undefined, settlementLayers: SettlementLayer[] | undefined): TokenRequest[];
|
|
45
|
-
declare function prepareTransactionAsIntent(config: RhinestoneConfig, sourceChains: Chain[] | undefined, targetChain: Chain, callInputs: CalldataInput[], gasLimit: bigint | undefined, tokenRequests: TokenRequest[], accountAddress: Address, isSponsored: boolean, eip7702InitSignature: Hex | undefined, settlementLayers: SettlementLayer[] | undefined, sourceAssets: SourceAssetInput | undefined, feeAsset: Address | TokenSymbol | undefined, lockFunds
|
|
45
|
+
declare function prepareTransactionAsIntent(config: RhinestoneConfig, sourceChains: Chain[] | undefined, targetChain: Chain, callInputs: CalldataInput[], gasLimit: bigint | undefined, tokenRequests: TokenRequest[], recipientInput: RhinestoneAccountConfig | Address | undefined, accountAddress: Address, isSponsored: boolean, eip7702InitSignature: Hex | undefined, settlementLayers: SettlementLayer[] | undefined, sourceAssets: SourceAssetInput | undefined, feeAsset: Address | TokenSymbol | undefined, lockFunds: boolean | undefined, account: {
|
|
46
46
|
setupOps?: {
|
|
47
47
|
to: Address;
|
|
48
48
|
data: Hex;
|
|
49
49
|
}[];
|
|
50
|
-
}): Promise<IntentRoute>;
|
|
50
|
+
} | undefined): Promise<IntentRoute>;
|
|
51
51
|
declare function signIntent(config: RhinestoneConfig, targetChain: Chain, intentOp: IntentOp, signers?: SignerSet): Promise<{
|
|
52
52
|
originSignatures: any[];
|
|
53
53
|
destinationSignature: `0x${string}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../execution/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../execution/utils.ts"],"names":[],"mappings":"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"}
|