@charterlabs/rhinestone-sdk 0.3.1 → 0.3.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 +31 -200
- package/dist/src/accounts/index.d.ts +3 -2
- package/dist/src/accounts/index.d.ts.map +1 -1
- package/dist/src/accounts/index.js +14 -6
- package/dist/src/accounts/signing/common.d.ts.map +1 -1
- package/dist/src/accounts/signing/common.js +9 -18
- package/dist/src/actions/compact.d.ts +2 -1
- package/dist/src/actions/compact.d.ts.map +1 -1
- package/dist/src/actions/compact.js +3 -1
- package/dist/src/actions/smart-sessions.d.ts +11 -1
- package/dist/src/actions/smart-sessions.d.ts.map +1 -1
- package/dist/src/actions/smart-sessions.js +33 -0
- package/dist/src/errors/index.d.ts +2 -2
- package/dist/src/errors/index.d.ts.map +1 -1
- package/dist/src/errors/index.js +2 -1
- package/dist/src/execution/compact.d.ts +3 -1
- package/dist/src/execution/compact.d.ts.map +1 -1
- package/dist/src/execution/compact.js +5 -1
- package/dist/src/execution/error.d.ts +1 -0
- package/dist/src/execution/error.d.ts.map +1 -1
- package/dist/src/execution/index.d.ts +3 -3
- package/dist/src/execution/index.d.ts.map +1 -1
- package/dist/src/execution/index.js +16 -11
- package/dist/src/execution/utils.d.ts +9 -7
- package/dist/src/execution/utils.d.ts.map +1 -1
- package/dist/src/execution/utils.js +85 -14
- package/dist/src/index.d.ts +6 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +13 -11
- 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 -1
- package/dist/src/modules/validators/core.d.ts +2 -1
- package/dist/src/modules/validators/core.d.ts.map +1 -1
- package/dist/src/modules/validators/core.js +4 -3
- package/dist/src/modules/validators/smart-sessions.d.ts +9 -5
- package/dist/src/modules/validators/smart-sessions.d.ts.map +1 -1
- package/dist/src/modules/validators/smart-sessions.js +383 -22
- package/dist/src/orchestrator/client.d.ts +2 -7
- package/dist/src/orchestrator/client.d.ts.map +1 -1
- package/dist/src/orchestrator/client.js +49 -43
- package/dist/src/orchestrator/error.d.ts +11 -1
- package/dist/src/orchestrator/error.d.ts.map +1 -1
- package/dist/src/orchestrator/error.js +16 -1
- package/dist/src/orchestrator/index.d.ts +4 -4
- package/dist/src/orchestrator/index.d.ts.map +1 -1
- package/dist/src/orchestrator/index.js +2 -1
- package/dist/src/orchestrator/registry.d.ts +1 -1
- package/dist/src/orchestrator/registry.d.ts.map +1 -1
- package/dist/src/orchestrator/registry.js +3 -14
- package/dist/src/orchestrator/registry.test.js +5 -1
- package/dist/src/orchestrator/types.d.ts +26 -4
- package/dist/src/orchestrator/types.d.ts.map +1 -1
- package/dist/src/orchestrator/types.js +15 -1
- package/dist/src/types.d.ts +30 -11
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Address, type Chain, type Hex } from 'viem';
|
|
2
2
|
import type { UserOperationReceipt } from 'viem/_types/account-abstraction';
|
|
3
|
-
import type { IntentOpStatus } from '../orchestrator';
|
|
3
|
+
import type { IntentOpStatus, SplitIntentsInput } from '../orchestrator';
|
|
4
4
|
import type { SettlementLayer } from '../orchestrator/types';
|
|
5
5
|
import type { CalldataInput, CallInput, RhinestoneAccountConfig, RhinestoneConfig, SignerSet, SourceAssetInput, Sponsorship, TokenRequest, TokenSymbol, Transaction, UserOperationTransaction } from '../types';
|
|
6
6
|
import { ExecutionError, IntentFailedError, IntentStatusTimeoutError, isExecutionError, OrderPathRequiredForIntentsError, SessionChainRequiredError, SignerNotSupportedError } from './error';
|
|
@@ -31,11 +31,11 @@ declare function sendTransactionInternal(config: RhinestoneConfig, sourceChains:
|
|
|
31
31
|
}): Promise<TransactionResult>;
|
|
32
32
|
declare function sendUserOperationInternal(config: RhinestoneConfig, chain: Chain, callInputs: CalldataInput[], signers?: SignerSet): Promise<UserOperationResult>;
|
|
33
33
|
declare function waitForExecution(config: RhinestoneConfig, result: TransactionResult | UserOperationResult, acceptsPreconfirmations: boolean): Promise<TransactionStatus | UserOperationReceipt>;
|
|
34
|
-
declare function getMaxSpendableAmount(config: RhinestoneConfig, chain: Chain, token: Address | TokenSymbol, gasUnits: bigint, sponsored?: boolean): Promise<bigint>;
|
|
35
34
|
declare function getPortfolio(config: RhinestoneConfig, onTestnets: boolean): Promise<import("../orchestrator").Portfolio>;
|
|
36
35
|
declare function getIntentStatus(apiKey: string | undefined, endpointUrl: string | undefined, intentId: bigint): Promise<TransactionStatus & {
|
|
37
36
|
status: IntentOpStatus['status'];
|
|
38
37
|
}>;
|
|
39
|
-
|
|
38
|
+
declare function splitIntents(apiKey: string | undefined, endpointUrl: string | undefined, input: SplitIntentsInput): Promise<import("../orchestrator").SplitIntentsResult>;
|
|
39
|
+
export { sendTransaction, sendTransactionInternal, sendUserOperation, sendUserOperationInternal, waitForExecution, getPortfolio, getIntentStatus, splitIntents, isExecutionError, ExecutionError, IntentFailedError, IntentStatusTimeoutError, OrderPathRequiredForIntentsError, SessionChainRequiredError, SignerNotSupportedError, };
|
|
40
40
|
export type { TransactionStatus, TransactionResult, UserOperationResult };
|
|
41
41
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../execution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAsB,KAAK,GAAG,EAAE,MAAM,MAAM,CAAA;AAC7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AAI3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../execution/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,9 +6,9 @@ exports.sendTransactionInternal = sendTransactionInternal;
|
|
|
6
6
|
exports.sendUserOperation = sendUserOperation;
|
|
7
7
|
exports.sendUserOperationInternal = sendUserOperationInternal;
|
|
8
8
|
exports.waitForExecution = waitForExecution;
|
|
9
|
-
exports.getMaxSpendableAmount = getMaxSpendableAmount;
|
|
10
9
|
exports.getPortfolio = getPortfolio;
|
|
11
10
|
exports.getIntentStatus = getIntentStatus;
|
|
11
|
+
exports.splitIntents = splitIntents;
|
|
12
12
|
const viem_1 = require("viem");
|
|
13
13
|
const chains_1 = require("viem/chains");
|
|
14
14
|
const accounts_1 = require("../accounts");
|
|
@@ -92,11 +92,11 @@ async function sendUserOperationInternal(config, chain, callInputs, signers) {
|
|
|
92
92
|
};
|
|
93
93
|
}
|
|
94
94
|
async function sendTransactionAsIntent(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, recipient, signers, sponsored, settlementLayers, sourceAssets, feeAsset, lockFunds) {
|
|
95
|
-
const intentRoute = await (0, utils_2.prepareTransactionAsIntent)(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, recipient, sponsored ?? false, undefined, settlementLayers, sourceAssets, feeAsset, lockFunds, undefined);
|
|
95
|
+
const intentRoute = await (0, utils_2.prepareTransactionAsIntent)(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, recipient, sponsored ?? false, undefined, settlementLayers, sourceAssets, feeAsset, lockFunds, undefined, signers);
|
|
96
96
|
if (!intentRoute) {
|
|
97
97
|
throw new error_1.OrderPathRequiredForIntentsError();
|
|
98
98
|
}
|
|
99
|
-
const { originSignatures, destinationSignature } = await (0, utils_2.signIntent)(config, intentRoute.intentOp, signers);
|
|
99
|
+
const { originSignatures, destinationSignature } = await (0, utils_2.signIntent)(config, intentRoute.intentOp, targetChain, signers);
|
|
100
100
|
const authorizations = config.eoa
|
|
101
101
|
? await (0, utils_2.signAuthorizationsInternal)(config, intentRoute)
|
|
102
102
|
: [];
|
|
@@ -121,7 +121,9 @@ async function waitForExecution(config, result, acceptsPreconfirmations) {
|
|
|
121
121
|
const now = Date.now();
|
|
122
122
|
if (now - startTs >= POLL_MAX_WAIT_MS) {
|
|
123
123
|
throw new error_1.IntentStatusTimeoutError({
|
|
124
|
-
context: {
|
|
124
|
+
context: {
|
|
125
|
+
intentId: result.id.toString(),
|
|
126
|
+
},
|
|
125
127
|
});
|
|
126
128
|
}
|
|
127
129
|
const orchestrator = (0, utils_2.getOrchestratorByChain)(result.targetChain, config.apiKey, config.endpointUrl);
|
|
@@ -166,7 +168,12 @@ async function waitForExecution(config, result, acceptsPreconfirmations) {
|
|
|
166
168
|
}
|
|
167
169
|
}
|
|
168
170
|
if (intentStatus.status === orchestrator_1.INTENT_STATUS_FAILED) {
|
|
169
|
-
|
|
171
|
+
const intentId = result.id.toString();
|
|
172
|
+
throw new error_1.IntentFailedError({
|
|
173
|
+
context: {
|
|
174
|
+
intentId,
|
|
175
|
+
},
|
|
176
|
+
});
|
|
170
177
|
}
|
|
171
178
|
return {
|
|
172
179
|
fill: {
|
|
@@ -196,12 +203,6 @@ async function waitForExecution(config, result, acceptsPreconfirmations) {
|
|
|
196
203
|
}
|
|
197
204
|
}
|
|
198
205
|
}
|
|
199
|
-
async function getMaxSpendableAmount(config, chain, token, gasUnits, sponsored = false) {
|
|
200
|
-
const orchestrator = (0, utils_2.getOrchestratorByChain)(chain.id, config.apiKey, config.endpointUrl);
|
|
201
|
-
const tokenAddress = (0, registry_1.resolveTokenAddress)(token, chain.id);
|
|
202
|
-
const account = (0, utils_2.getIntentAccount)(config, undefined, undefined);
|
|
203
|
-
return orchestrator.getMaxTokenAmount(account, chain.id, tokenAddress, gasUnits, sponsored);
|
|
204
|
-
}
|
|
205
206
|
async function getPortfolio(config, onTestnets) {
|
|
206
207
|
const address = (0, accounts_1.getAddress)(config);
|
|
207
208
|
const chainId = onTestnets ? chains_1.baseSepolia.id : chains_1.base.id;
|
|
@@ -225,3 +226,7 @@ async function getIntentStatus(apiKey, endpointUrl, intentId) {
|
|
|
225
226
|
})),
|
|
226
227
|
};
|
|
227
228
|
}
|
|
229
|
+
async function splitIntents(apiKey, endpointUrl, input) {
|
|
230
|
+
const orchestrator = (0, utils_2.getOrchestratorByChain)(input.chain.id, apiKey, endpointUrl);
|
|
231
|
+
return orchestrator.splitIntents(input);
|
|
232
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Address, type Chain, type HashTypedDataParameters, type Hex, type PublicClient, type SignableMessage, type SignedAuthorization, type SignedAuthorizationList, type TypedData, type TypedDataDefinition } from 'viem';
|
|
2
2
|
import { type UserOperation } from 'viem/account-abstraction';
|
|
3
3
|
import { type IntentOp, type IntentRoute } from '../orchestrator';
|
|
4
|
-
import type
|
|
4
|
+
import { type OriginSignature, type SettlementLayer } from '../orchestrator/types';
|
|
5
5
|
import type { Call, CalldataInput, CallInput, RhinestoneAccountConfig, RhinestoneConfig, SignerSet, SourceAssetInput, Sponsorship, TokenRequest, TokenSymbol, Transaction, UserOperationTransaction } from '../types';
|
|
6
6
|
interface UserOperationResult {
|
|
7
7
|
type: 'userop';
|
|
@@ -24,7 +24,7 @@ interface PreparedUserOperationData {
|
|
|
24
24
|
transaction: UserOperationTransaction;
|
|
25
25
|
}
|
|
26
26
|
interface SignedTransactionData extends PreparedTransactionData {
|
|
27
|
-
originSignatures:
|
|
27
|
+
originSignatures: OriginSignature[];
|
|
28
28
|
destinationSignature: Hex;
|
|
29
29
|
}
|
|
30
30
|
interface SignedUserOperationData extends PreparedUserOperationData {
|
|
@@ -41,7 +41,9 @@ declare function signTransaction(config: RhinestoneConfig, preparedTransaction:
|
|
|
41
41
|
declare function signUserOperation(config: RhinestoneConfig, preparedUserOperation: PreparedUserOperationData): Promise<SignedUserOperationData>;
|
|
42
42
|
declare function signAuthorizations(config: RhinestoneConfig, preparedTransaction: PreparedTransactionData): Promise<SignedAuthorization[]>;
|
|
43
43
|
declare function signMessage(config: RhinestoneConfig, message: SignableMessage, chain: Chain, signers: SignerSet | undefined): Promise<`0x${string}`>;
|
|
44
|
-
declare function signTypedData<typedData extends TypedData | Record<string, unknown> = TypedData, primaryType extends keyof typedData | 'EIP712Domain' = keyof typedData>(config: RhinestoneConfig, parameters: HashTypedDataParameters<typedData, primaryType>, chain: Chain, signers: SignerSet | undefined
|
|
44
|
+
declare function signTypedData<typedData extends TypedData | Record<string, unknown> = TypedData, primaryType extends keyof typedData | 'EIP712Domain' = keyof typedData>(config: RhinestoneConfig, parameters: HashTypedDataParameters<typedData, primaryType>, chain: Chain, signers: SignerSet | undefined, options?: {
|
|
45
|
+
skipErc6492?: boolean;
|
|
46
|
+
}): Promise<`0x${string}`>;
|
|
45
47
|
declare function signAuthorizationsInternal(config: RhinestoneConfig, data: IntentRoute | UserOperation): Promise<SignedAuthorization[]>;
|
|
46
48
|
declare function submitTransaction(config: RhinestoneConfig, signedTransaction: SignedTransactionData, authorizations: SignedAuthorizationList, dryRun?: boolean): Promise<TransactionResult>;
|
|
47
49
|
declare function submitUserOperation(config: RhinestoneConfig, signedUserOperation: SignedUserOperationData): Promise<UserOperationResult>;
|
|
@@ -69,13 +71,13 @@ declare function prepareTransactionAsIntent(config: RhinestoneConfig, sourceChai
|
|
|
69
71
|
to: Address;
|
|
70
72
|
data: Hex;
|
|
71
73
|
}[];
|
|
72
|
-
} | undefined): Promise<IntentRoute>;
|
|
73
|
-
declare function signIntent(config: RhinestoneConfig, intentOp: IntentOp, signers?: SignerSet): Promise<{
|
|
74
|
-
originSignatures:
|
|
74
|
+
} | undefined, signers: SignerSet | undefined): Promise<IntentRoute>;
|
|
75
|
+
declare function signIntent(config: RhinestoneConfig, intentOp: IntentOp, targetChain: Chain, signers?: SignerSet): Promise<{
|
|
76
|
+
originSignatures: OriginSignature[];
|
|
75
77
|
destinationSignature: `0x${string}`;
|
|
76
78
|
}>;
|
|
77
79
|
declare function getOrchestratorByChain(chainId: number, apiKey: string | undefined, orchestratorUrl?: string): import("../orchestrator").Orchestrator;
|
|
78
|
-
declare function submitIntentInternal(config: RhinestoneConfig, sourceChains: Chain[] | undefined, targetChain: Chain, intentOp: IntentOp, originSignatures:
|
|
80
|
+
declare function submitIntentInternal(config: RhinestoneConfig, sourceChains: Chain[] | undefined, targetChain: Chain, intentOp: IntentOp, originSignatures: OriginSignature[], destinationSignature: Hex, authorizations: SignedAuthorizationList, dryRun: boolean): Promise<TransactionResult>;
|
|
79
81
|
declare function getValidatorAccount(config: RhinestoneConfig, 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>;
|
|
80
82
|
declare function parseCalls(calls: CalldataInput[], chainId: number): Call[];
|
|
81
83
|
export { prepareTransaction, getTransactionMessages, signTransaction, signAuthorizations, signAuthorizationsInternal, signMessage, signTypedData, submitTransaction, prepareUserOperation, signUserOperation, submitUserOperation, getOrchestratorByChain, signIntent, prepareTransactionAsIntent, submitIntentInternal, getValidatorAccount, parseCalls, getTokenRequests, resolveCallInputs, getIntentAccount, };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../execution/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,KAAK,EAKV,KAAK,uBAAuB,EAC5B,KAAK,GAAG,EAIR,KAAK,YAAY,EAEjB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,SAAS,EACd,KAAK,mBAAmB,EAIzB,MAAM,MAAM,CAAA;AACb,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../execution/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,7 @@ const core_1 = require("../modules/validators/core");
|
|
|
31
31
|
const orchestrator_1 = require("../orchestrator");
|
|
32
32
|
const consts_1 = require("../orchestrator/consts");
|
|
33
33
|
const registry_1 = require("../orchestrator/registry");
|
|
34
|
+
const types_1 = require("../orchestrator/types");
|
|
34
35
|
const compact_1 = require("./compact");
|
|
35
36
|
const error_1 = require("./error");
|
|
36
37
|
const permit2_1 = require("./permit2");
|
|
@@ -42,7 +43,7 @@ async function prepareTransaction(config, transaction) {
|
|
|
42
43
|
if (isUserOpSigner) {
|
|
43
44
|
throw new error_1.SignerNotSupportedError();
|
|
44
45
|
}
|
|
45
|
-
const intentRoute = await prepareTransactionAsIntent(config, sourceChains, targetChain, await resolveCallInputs(transaction.calls, config, targetChain, accountAddress), transaction.gasLimit, tokenRequests, recipient, sponsored, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, lockFunds, account);
|
|
46
|
+
const intentRoute = await prepareTransactionAsIntent(config, sourceChains, targetChain, await resolveCallInputs(transaction.calls, config, targetChain, accountAddress), transaction.gasLimit, tokenRequests, recipient, sponsored, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, lockFunds, account, signers);
|
|
46
47
|
return {
|
|
47
48
|
intentRoute,
|
|
48
49
|
transaction,
|
|
@@ -86,7 +87,10 @@ function getTransactionMessages(config, preparedTransaction) {
|
|
|
86
87
|
async function signTransaction(config, preparedTransaction) {
|
|
87
88
|
const { signers } = getTransactionParams(preparedTransaction.transaction);
|
|
88
89
|
const intentRoute = preparedTransaction.intentRoute;
|
|
89
|
-
const
|
|
90
|
+
const targetChain = 'targetChain' in preparedTransaction.transaction
|
|
91
|
+
? preparedTransaction.transaction.targetChain
|
|
92
|
+
: preparedTransaction.transaction.chain;
|
|
93
|
+
const { originSignatures, destinationSignature } = await signIntent(config, intentRoute.intentOp, targetChain, signers);
|
|
90
94
|
return {
|
|
91
95
|
intentRoute,
|
|
92
96
|
transaction: preparedTransaction.transaction,
|
|
@@ -118,13 +122,13 @@ async function signMessage(config, message, chain, signers) {
|
|
|
118
122
|
const ownerValidator = (0, validators_1.getOwnerValidator)(config);
|
|
119
123
|
const isRoot = validator.address === ownerValidator.address;
|
|
120
124
|
const hash = (0, viem_1.hashMessage)(message);
|
|
121
|
-
const signature = await (0, accounts_1.
|
|
125
|
+
const signature = await (0, accounts_1.getEip1271Signature)(config, signers, chain, {
|
|
122
126
|
address: validator.address,
|
|
123
127
|
isRoot,
|
|
124
128
|
}, hash);
|
|
125
129
|
return await (0, accounts_1.toErc6492Signature)(config, signature, chain);
|
|
126
130
|
}
|
|
127
|
-
async function signTypedData(config, parameters, chain, signers) {
|
|
131
|
+
async function signTypedData(config, parameters, chain, signers, options) {
|
|
128
132
|
const validator = getValidator(config, signers);
|
|
129
133
|
if (!validator) {
|
|
130
134
|
throw new Error('Validator not available');
|
|
@@ -141,7 +145,10 @@ async function signTypedData(config, parameters, chain, signers) {
|
|
|
141
145
|
address: validator.address,
|
|
142
146
|
isRoot,
|
|
143
147
|
}, parameters);
|
|
144
|
-
|
|
148
|
+
if (!options?.skipErc6492) {
|
|
149
|
+
return await (0, accounts_1.toErc6492Signature)(config, signature, chain);
|
|
150
|
+
}
|
|
151
|
+
return signature;
|
|
145
152
|
}
|
|
146
153
|
async function signTypedDataWithSession(config, chain, validator, signers, parameters) {
|
|
147
154
|
const { name, version, chainId, verifyingContract, salt } = (0, accounts_1.getEip712Domain)(config, chain);
|
|
@@ -324,7 +331,7 @@ function getIntentAccount(config, eip7702InitSignature, account) {
|
|
|
324
331
|
delegations,
|
|
325
332
|
};
|
|
326
333
|
}
|
|
327
|
-
async function prepareTransactionAsIntent(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, recipientInput, sponsored, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, lockFunds, account) {
|
|
334
|
+
async function prepareTransactionAsIntent(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, recipientInput, sponsored, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, lockFunds, account, signers) {
|
|
328
335
|
const calls = parseCalls(callInputs, targetChain.id);
|
|
329
336
|
const accountAccessList = createAccountAccessList(sourceChains, sourceAssets);
|
|
330
337
|
function getRecipient(recipient) {
|
|
@@ -344,6 +351,9 @@ async function prepareTransactionAsIntent(config, sourceChains, targetChain, cal
|
|
|
344
351
|
}
|
|
345
352
|
const intentAccount = getIntentAccount(config, eip7702InitSignature, account);
|
|
346
353
|
const recipient = getRecipient(recipientInput);
|
|
354
|
+
const signatureMode = signers?.type === 'experimental_session'
|
|
355
|
+
? types_1.SIG_MODE_EMISSARY_EXECUTION_ERC1271
|
|
356
|
+
: types_1.SIG_MODE_ERC1271_EMISSARY;
|
|
347
357
|
const metaIntent = {
|
|
348
358
|
destinationChainId: targetChain.id,
|
|
349
359
|
tokenRequests: tokenRequests.map((tokenRequest) => ({
|
|
@@ -372,14 +382,15 @@ async function prepareTransactionAsIntent(config, sourceChains, targetChain, cal
|
|
|
372
382
|
}
|
|
373
383
|
: undefined,
|
|
374
384
|
settlementLayers,
|
|
385
|
+
signatureMode,
|
|
375
386
|
},
|
|
376
387
|
};
|
|
377
388
|
const orchestrator = getOrchestratorByChain(targetChain.id, config.apiKey, config.endpointUrl);
|
|
378
389
|
const intentRoute = await orchestrator.getIntentRoute(metaIntent);
|
|
379
390
|
return intentRoute;
|
|
380
391
|
}
|
|
381
|
-
async function signIntent(config, intentOp, signers) {
|
|
382
|
-
const { origin } = getIntentMessages(config, intentOp);
|
|
392
|
+
async function signIntent(config, intentOp, targetChain, signers) {
|
|
393
|
+
const { origin, destination } = getIntentMessages(config, intentOp);
|
|
383
394
|
if (config.account?.type === 'eoa') {
|
|
384
395
|
const eoa = config.eoa;
|
|
385
396
|
if (!eoa) {
|
|
@@ -410,15 +421,42 @@ async function signIntent(config, intentOp, signers) {
|
|
|
410
421
|
const originSignatures = [];
|
|
411
422
|
for (const typedData of origin) {
|
|
412
423
|
const chain = (0, registry_1.getChainById)(typedData.domain?.chainId);
|
|
413
|
-
|
|
424
|
+
// For same chain transactions, we need to modify the origin signers
|
|
425
|
+
// Specifically, we need to remove the enable data in this case
|
|
426
|
+
const matchesTargetChain = chain.id === targetChain.id;
|
|
427
|
+
const originSigners = signers?.type === 'experimental_session'
|
|
428
|
+
? {
|
|
429
|
+
type: 'experimental_session',
|
|
430
|
+
session: signers.session,
|
|
431
|
+
verifyExecutions: matchesTargetChain
|
|
432
|
+
? signers.verifyExecutions
|
|
433
|
+
: undefined,
|
|
434
|
+
enableData: matchesTargetChain ? signers.enableData : undefined,
|
|
435
|
+
}
|
|
436
|
+
: signers;
|
|
437
|
+
const signature = await signIntentTypedData(config, originSigners, validator, isRoot, typedData, chain);
|
|
414
438
|
originSignatures.push(signature);
|
|
415
439
|
}
|
|
416
|
-
const destinationSignature = originSignatures
|
|
440
|
+
const destinationSignature = await getDestinationSignature(config, signers, validator, isRoot, targetChain, destination, originSignatures);
|
|
417
441
|
return {
|
|
418
442
|
originSignatures,
|
|
419
443
|
destinationSignature,
|
|
420
444
|
};
|
|
421
445
|
}
|
|
446
|
+
async function getDestinationSignature(config, signers, validator, isRoot, targetChain, destination, originSignatures) {
|
|
447
|
+
// For smart sessions, we need to provide a separate destination signature for the target chain
|
|
448
|
+
if (signers?.type === 'experimental_session') {
|
|
449
|
+
const destinationChain = (0, registry_1.getChainById)(targetChain.id);
|
|
450
|
+
const destinationSignatures = await signIntentTypedData(config, signers, validator, isRoot, destination, destinationChain);
|
|
451
|
+
return typeof destinationSignatures === 'object'
|
|
452
|
+
? destinationSignatures.preClaimSig
|
|
453
|
+
: (destinationSignatures ?? '0x');
|
|
454
|
+
}
|
|
455
|
+
const lastOriginSignature = originSignatures.at(-1);
|
|
456
|
+
return typeof lastOriginSignature === 'object'
|
|
457
|
+
? lastOriginSignature.preClaimSig
|
|
458
|
+
: (lastOriginSignature ?? '0x');
|
|
459
|
+
}
|
|
422
460
|
function getIntentMessages(config, intentOp) {
|
|
423
461
|
const address = (0, accounts_1.getAddress)(config);
|
|
424
462
|
const intentExecutor = (0, modules_1.getIntentExecutor)(config);
|
|
@@ -454,7 +492,32 @@ async function signIntentTypedData(config, signers, validator, isRoot, parameter
|
|
|
454
492
|
}, parameters);
|
|
455
493
|
}
|
|
456
494
|
const hash = (0, viem_1.hashTypedData)(parameters);
|
|
457
|
-
|
|
495
|
+
if (signers?.type === 'experimental_session' && signers.verifyExecutions) {
|
|
496
|
+
const eip1271Signature = await (0, accounts_1.getEip1271Signature)(config, signers.type === 'experimental_session'
|
|
497
|
+
? {
|
|
498
|
+
type: 'experimental_session',
|
|
499
|
+
session: signers.session,
|
|
500
|
+
verifyExecutions: false,
|
|
501
|
+
enableData: signers.enableData,
|
|
502
|
+
}
|
|
503
|
+
: signers, chain, {
|
|
504
|
+
address: validator.address,
|
|
505
|
+
isRoot,
|
|
506
|
+
}, hash);
|
|
507
|
+
const emissarySignature = await (0, accounts_1.getEmissarySignature)(config, signers.type === 'experimental_session'
|
|
508
|
+
? {
|
|
509
|
+
type: 'experimental_session',
|
|
510
|
+
session: signers.session,
|
|
511
|
+
verifyExecutions: true,
|
|
512
|
+
enableData: signers.enableData,
|
|
513
|
+
}
|
|
514
|
+
: signers, chain, hash);
|
|
515
|
+
return {
|
|
516
|
+
preClaimSig: emissarySignature,
|
|
517
|
+
notarizedClaimSig: eip1271Signature,
|
|
518
|
+
};
|
|
519
|
+
}
|
|
520
|
+
return await (0, accounts_1.getEip1271Signature)(config, signers, chain, {
|
|
458
521
|
address: validator.address,
|
|
459
522
|
isRoot,
|
|
460
523
|
}, hash);
|
|
@@ -595,7 +658,7 @@ function getValidator(config, signers) {
|
|
|
595
658
|
}
|
|
596
659
|
}
|
|
597
660
|
// Smart sessions
|
|
598
|
-
const withSession = signers.type === 'experimental_session'
|
|
661
|
+
const withSession = signers.type === 'experimental_session';
|
|
599
662
|
if (withSession) {
|
|
600
663
|
return (0, validators_1.getSmartSessionValidator)(config);
|
|
601
664
|
}
|
|
@@ -618,10 +681,18 @@ function createAccountAccessList(sourceChains, sourceAssets) {
|
|
|
618
681
|
if (!sourceChains && !sourceAssets)
|
|
619
682
|
return undefined;
|
|
620
683
|
const chainIds = sourceChains?.map((chain) => chain.id);
|
|
621
|
-
if (!sourceAssets)
|
|
684
|
+
if (!sourceAssets)
|
|
622
685
|
return { chainIds };
|
|
623
|
-
}
|
|
624
686
|
if (Array.isArray(sourceAssets)) {
|
|
687
|
+
const isExactConfig = sourceAssets.length > 0 && typeof sourceAssets[0] !== 'string';
|
|
688
|
+
if (isExactConfig) {
|
|
689
|
+
const resolvedConfigs = sourceAssets.map((config) => ({
|
|
690
|
+
chainId: config.chain.id,
|
|
691
|
+
tokenAddress: (0, registry_1.resolveTokenAddress)(config.address, config.chain.id),
|
|
692
|
+
amount: config.amount,
|
|
693
|
+
}));
|
|
694
|
+
return resolvedConfigs;
|
|
695
|
+
}
|
|
625
696
|
return chainIds
|
|
626
697
|
? { chainIds, tokens: sourceAssets }
|
|
627
698
|
: { tokens: sourceAssets };
|
package/dist/src/index.d.ts
CHANGED
|
@@ -6,8 +6,8 @@ import { deployAccountsForOwners } from './actions/deployment';
|
|
|
6
6
|
import { type TransactionResult, type TransactionStatus, type UserOperationResult } from './execution';
|
|
7
7
|
import { type BatchPermit2Result, checkERC20AllowanceDirect, getPermit2Address, type MultiChainPermit2Config, type MultiChainPermit2Result, signPermit2Batch, signPermit2Sequential } from './execution/permit2';
|
|
8
8
|
import { type IntentRoute, type PreparedTransactionData, type PreparedUserOperationData, type SignedTransactionData, type SignedUserOperationData } from './execution/utils';
|
|
9
|
-
import type
|
|
10
|
-
import { type ApprovalRequired, getAllSupportedChainsAndTokens, getSupportedTokens, getTokenAddress, getTokenDecimals, type
|
|
9
|
+
import { type SessionDetails } from './modules/validators/smart-sessions';
|
|
10
|
+
import { type ApprovalRequired, getAllSupportedChainsAndTokens, getSupportedTokens, getTokenAddress, getTokenDecimals, type IntentInput, type IntentOp, type IntentOpStatus, type Portfolio, type SettlementLayer, type SignedIntentOp, type SplitIntentsInput, type SplitIntentsResult, type TokenRequirements, type WrapRequired } from './orchestrator';
|
|
11
11
|
import type { AccountProviderConfig, AccountType, BundlerConfig, Call, CallInput, MultiFactorValidatorConfig, OwnableValidatorConfig, OwnerSet, PaymasterConfig, Policy, ProviderConfig, Recovery, RhinestoneAccountConfig, RhinestoneConfig, RhinestoneSDKConfig, Session, SignerSet, TokenRequest, TokenSymbol, Transaction, UniversalActionPolicyParamCondition, UserOperationTransaction, WebauthnValidatorConfig } from './types';
|
|
12
12
|
interface RhinestoneAccount {
|
|
13
13
|
config: RhinestoneAccountConfig;
|
|
@@ -42,8 +42,9 @@ interface RhinestoneAccount {
|
|
|
42
42
|
waitForExecution(result: UserOperationResult, acceptsPreconfirmations?: boolean): Promise<UserOperationReceipt>;
|
|
43
43
|
getAddress: () => Address;
|
|
44
44
|
getPortfolio: (onTestnets?: boolean) => Promise<Portfolio>;
|
|
45
|
-
getMaxSpendableAmount: (chain: Chain, tokenAddress: Address | TokenSymbol, gasUnits: bigint, sponsored?: boolean) => Promise<bigint>;
|
|
46
45
|
experimental_getSessionDetails: (sessions: Session[]) => Promise<SessionDetails>;
|
|
46
|
+
experimental_isSessionEnabled: (session: Session) => Promise<boolean>;
|
|
47
|
+
experimental_signEnableSession: (details: SessionDetails) => Promise<Hex>;
|
|
47
48
|
getOwners: (chain: Chain) => Promise<{
|
|
48
49
|
accounts: Address[];
|
|
49
50
|
threshold: number;
|
|
@@ -70,9 +71,10 @@ declare class RhinestoneSDK {
|
|
|
70
71
|
getIntentStatus(intentId: bigint): Promise<TransactionStatus & {
|
|
71
72
|
status: IntentOpStatus["status"];
|
|
72
73
|
}>;
|
|
74
|
+
splitIntents(input: SplitIntentsInput): Promise<SplitIntentsResult>;
|
|
73
75
|
}
|
|
74
76
|
export { RhinestoneSDK, createRhinestoneAccount, deployAccountsForOwners, walletClientToAccount, wrapParaAccount, getSupportedTokens, getTokenAddress, getTokenDecimals, getAllSupportedChainsAndTokens, deployStandaloneWithEoaInternal as deployStandaloneWithEoa, checkERC20AllowanceDirect, getPermit2Address, signPermit2Batch, signPermit2Sequential, };
|
|
75
|
-
export type { RhinestoneAccount, AccountType, RhinestoneAccountConfig, AccountProviderConfig, ProviderConfig, BundlerConfig, PaymasterConfig, Transaction, TokenSymbol, CallInput, Call, TokenRequest, OwnerSet, OwnableValidatorConfig, WebauthnValidatorConfig, MultiFactorValidatorConfig, SignerSet, Session, Recovery, Policy, UniversalActionPolicyParamCondition, PreparedTransactionData, SignedTransactionData, TransactionResult, PreparedUserOperationData, SignedUserOperationData, UserOperationResult,
|
|
77
|
+
export type { RhinestoneAccount, AccountType, RhinestoneAccountConfig, AccountProviderConfig, ProviderConfig, BundlerConfig, PaymasterConfig, Transaction, TokenSymbol, CallInput, Call, TokenRequest, OwnerSet, OwnableValidatorConfig, WebauthnValidatorConfig, MultiFactorValidatorConfig, SignerSet, Session, Recovery, Policy, UniversalActionPolicyParamCondition, PreparedTransactionData, SignedTransactionData, TransactionResult, PreparedUserOperationData, SignedUserOperationData, UserOperationResult, IntentInput, IntentOp, IntentOpStatus, IntentRoute, SettlementLayer, SignedIntentOp, SplitIntentsInput, SplitIntentsResult, Portfolio, TokenRequirements, WrapRequired, ApprovalRequired, MultiChainPermit2Config, MultiChainPermit2Result, BatchPermit2Result, };
|
|
76
78
|
export { generateCredentialId, getCredentialIds, hasCredentialById, hasCredential, addCredential, removeCredential, setThreshold, getCredentialInfo, getThreshold, getCredentials, WEBAUTHN_VALIDATOR_ABI, } from './modules/validators/webauthn-contract';
|
|
77
79
|
export { getOrchestrator } from './orchestrator';
|
|
78
80
|
//# 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,EACV,OAAO,EACP,KAAK,EACL,uBAAuB,EACvB,GAAG,EACH,eAAe,EACf,uBAAuB,EACvB,SAAS,EACT,mBAAmB,EACnB,OAAO,EACR,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AACpE,OAAO,EAWL,uBAAuB,IAAI,+BAA+B,EAC3D,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAML,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EAEzB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,KAAK,kBAAkB,EACvB,yBAAyB,EAEzB,iBAAiB,EACjB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAG9B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAQ7B,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "signPermit2Batch", { enumerable: true, get: func
|
|
|
17
17
|
Object.defineProperty(exports, "signPermit2Sequential", { enumerable: true, get: function () { return permit2_1.signPermit2Sequential; } });
|
|
18
18
|
const utils_1 = require("./execution/utils");
|
|
19
19
|
const modules_1 = require("./modules");
|
|
20
|
+
const smart_sessions_1 = require("./modules/validators/smart-sessions");
|
|
20
21
|
const orchestrator_1 = require("./orchestrator");
|
|
21
22
|
Object.defineProperty(exports, "getAllSupportedChainsAndTokens", { enumerable: true, get: function () { return orchestrator_1.getAllSupportedChainsAndTokens; } });
|
|
22
23
|
Object.defineProperty(exports, "getSupportedTokens", { enumerable: true, get: function () { return orchestrator_1.getSupportedTokens; } });
|
|
@@ -213,16 +214,6 @@ async function createRhinestoneAccount(config) {
|
|
|
213
214
|
function getPortfolio(onTestnets = false) {
|
|
214
215
|
return (0, execution_1.getPortfolio)(config, onTestnets);
|
|
215
216
|
}
|
|
216
|
-
/**
|
|
217
|
-
* Get the maximum spendable token amount on the target chain
|
|
218
|
-
* @param chain Target chain
|
|
219
|
-
* @param token Token address (on the target chain)
|
|
220
|
-
* @param gasUnits Gas cost estimate for the transaction execution
|
|
221
|
-
* @returns Maximum spendable amount in absolute units
|
|
222
|
-
*/
|
|
223
|
-
function getMaxSpendableAmount(chain, token, gasUnits, sponsored = false) {
|
|
224
|
-
return (0, execution_1.getMaxSpendableAmount)(config, chain, token, gasUnits, sponsored);
|
|
225
|
-
}
|
|
226
217
|
/**
|
|
227
218
|
* Get account owners (ECDSA)
|
|
228
219
|
* @param chain Chain to get the owners on
|
|
@@ -246,6 +237,13 @@ async function createRhinestoneAccount(config) {
|
|
|
246
237
|
const account = getAddress();
|
|
247
238
|
return (0, modules_1.getSessionDetails)(account, sessions);
|
|
248
239
|
}
|
|
240
|
+
function experimental_isSessionEnabled(session) {
|
|
241
|
+
const account = getAddress();
|
|
242
|
+
return (0, smart_sessions_1.isSessionEnabled)(account, config.provider, session);
|
|
243
|
+
}
|
|
244
|
+
function experimental_signEnableSession(details) {
|
|
245
|
+
return (0, modules_1.signEnableSession)(config, details);
|
|
246
|
+
}
|
|
249
247
|
/**
|
|
250
248
|
* Check ERC20 allowance for the account owner and token (using Permit2 as spender)
|
|
251
249
|
* @param tokenAddress The token contract address
|
|
@@ -280,10 +278,11 @@ async function createRhinestoneAccount(config) {
|
|
|
280
278
|
waitForExecution,
|
|
281
279
|
getAddress,
|
|
282
280
|
getPortfolio,
|
|
283
|
-
getMaxSpendableAmount,
|
|
284
281
|
getOwners,
|
|
285
282
|
getValidators,
|
|
286
283
|
experimental_getSessionDetails,
|
|
284
|
+
experimental_isSessionEnabled,
|
|
285
|
+
experimental_signEnableSession,
|
|
287
286
|
checkERC20Allowance,
|
|
288
287
|
getInitData,
|
|
289
288
|
};
|
|
@@ -318,6 +317,9 @@ class RhinestoneSDK {
|
|
|
318
317
|
getIntentStatus(intentId) {
|
|
319
318
|
return (0, execution_1.getIntentStatus)(this.apiKey, this.endpointUrl, intentId);
|
|
320
319
|
}
|
|
320
|
+
splitIntents(input) {
|
|
321
|
+
return (0, execution_1.splitIntents)(this.apiKey, this.endpointUrl, input);
|
|
322
|
+
}
|
|
321
323
|
}
|
|
322
324
|
exports.RhinestoneSDK = RhinestoneSDK;
|
|
323
325
|
// WebAuthn Validator contract helpers (keep Charter API stable)
|
|
@@ -3,9 +3,9 @@ import type { RhinestoneAccountConfig, RhinestoneConfig } from '../types';
|
|
|
3
3
|
import { type ModeleSetup, type Module } from './common';
|
|
4
4
|
import { getOwners, getValidators } from './read';
|
|
5
5
|
import { getOwnerValidator } from './validators';
|
|
6
|
-
import { getSessionDetails } from './validators/smart-sessions';
|
|
6
|
+
import { getSessionDetails, signEnableSession } from './validators/smart-sessions';
|
|
7
7
|
declare function getSetup(config: RhinestoneAccountConfig): ModeleSetup;
|
|
8
8
|
declare function getIntentExecutor(config: RhinestoneConfig): Module;
|
|
9
9
|
declare function isRip7212SupportedNetwork(chain: Chain): boolean;
|
|
10
|
-
export { getSetup, getOwnerValidator, getOwners, getIntentExecutor, getValidators, isRip7212SupportedNetwork, getSessionDetails, };
|
|
10
|
+
export { getSetup, getOwnerValidator, getOwners, getIntentExecutor, getValidators, isRip7212SupportedNetwork, getSessionDetails, signEnableSession, };
|
|
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;AAWpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAKzE,OAAO,EAQL,KAAK,WAAW,EAChB,KAAK,MAAM,EACZ,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAA4B,MAAM,cAAc,CAAA;AAE1E,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../modules/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,KAAK,EAAuB,MAAM,MAAM,CAAA;AAWpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAKzE,OAAO,EAQL,KAAK,WAAW,EAChB,KAAK,MAAM,EACZ,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAA4B,MAAM,cAAc,CAAA;AAE1E,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,6BAA6B,CAAA;AAKpC,iBAAS,QAAQ,CAAC,MAAM,EAAE,uBAAuB,GAAG,WAAW,CA0E9D;AAED,iBAAS,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAY3D;AAED,iBAAS,yBAAyB,CAAC,KAAK,EAAE,KAAK,WAW9C;AAED,OAAO,EACL,QAAQ,EACR,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,GAClB,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getSessionDetails = exports.getValidators = exports.getOwners = exports.getOwnerValidator = void 0;
|
|
3
|
+
exports.signEnableSession = exports.getSessionDetails = exports.getValidators = exports.getOwners = exports.getOwnerValidator = void 0;
|
|
4
4
|
exports.getSetup = getSetup;
|
|
5
5
|
exports.getIntentExecutor = getIntentExecutor;
|
|
6
6
|
exports.isRip7212SupportedNetwork = isRip7212SupportedNetwork;
|
|
@@ -16,6 +16,7 @@ Object.defineProperty(exports, "getOwnerValidator", { enumerable: true, get: fun
|
|
|
16
16
|
const core_1 = require("./validators/core");
|
|
17
17
|
const smart_sessions_1 = require("./validators/smart-sessions");
|
|
18
18
|
Object.defineProperty(exports, "getSessionDetails", { enumerable: true, get: function () { return smart_sessions_1.getSessionDetails; } });
|
|
19
|
+
Object.defineProperty(exports, "signEnableSession", { enumerable: true, get: function () { return smart_sessions_1.signEnableSession; } });
|
|
19
20
|
const SMART_SESSION_COMPATIBILITY_FALLBACK_ADDRESS = '0x000000000052e9685932845660777DF43C2dC496';
|
|
20
21
|
function getSetup(config) {
|
|
21
22
|
const ownerValidator = (0, validators_1.getOwnerValidator)(config);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type Account, type Address, type Hex } from 'viem';
|
|
2
2
|
import type { ENSValidatorConfig, OwnableValidatorConfig, OwnerSet, RhinestoneAccountConfig, WebauthnValidatorConfig } from '../../types';
|
|
3
3
|
import { type Module } from '../common';
|
|
4
|
+
declare const SMART_SESSION_EMISSARY_ADDRESS: Address;
|
|
4
5
|
interface PublicKey {
|
|
5
6
|
prefix?: number | undefined;
|
|
6
7
|
x: bigint;
|
|
@@ -24,6 +25,6 @@ declare function getWebAuthnValidator(threshold: number, webAuthnCredentials: We
|
|
|
24
25
|
declare function getMultiFactorValidator(threshold: number, validators: (OwnableValidatorConfig | ENSValidatorConfig | WebauthnValidatorConfig | null)[]): Module;
|
|
25
26
|
declare function getSocialRecoveryValidator(guardians: Account[], threshold?: number): Module;
|
|
26
27
|
declare function supportsEip712(validator: Module): boolean;
|
|
27
|
-
export { OWNABLE_VALIDATOR_ADDRESS, ENS_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, MULTI_FACTOR_VALIDATOR_ADDRESS, WEBAUTHN_V0_VALIDATOR_ADDRESS, getOwnerValidator, getOwnableValidator, getENSValidator, getWebAuthnValidator, getMultiFactorValidator, getSocialRecoveryValidator, getValidator, getMockSignature, supportsEip712, };
|
|
28
|
+
export { OWNABLE_VALIDATOR_ADDRESS, ENS_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, MULTI_FACTOR_VALIDATOR_ADDRESS, WEBAUTHN_V0_VALIDATOR_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS, getOwnerValidator, getOwnableValidator, getENSValidator, getWebAuthnValidator, getMultiFactorValidator, getSocialRecoveryValidator, getValidator, getMockSignature, supportsEip712, };
|
|
28
29
|
export type { WebauthnCredential };
|
|
29
30
|
//# sourceMappingURL=core.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../modules/validators/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,OAAO,EAKZ,KAAK,GAAG,EAKT,MAAM,MAAM,CAAA;AAGb,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACtB,QAAQ,EACR,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAA4B,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../modules/validators/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,OAAO,EAKZ,KAAK,GAAG,EAKT,MAAM,MAAM,CAAA;AAGb,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACtB,QAAQ,EACR,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAA4B,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;AAEjE,QAAA,MAAM,8BAA8B,EAAE,OACQ,CAAA;AAE9C,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,qBAAqB,EAAE,OACiB,CAAA;AAC9C,QAAA,MAAM,0BAA0B,EAAE,OACY,CAAA;AAG9C,QAAA,MAAM,8BAA8B,EAAE,OACQ,CAAA;AAO9C,QAAA,MAAM,6BAA6B,EAAE,OACS,CAAA;AAO9C,iBAAS,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,UAKzD;AAED,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAmDjD;AAED,iBAAS,YAAY,CAAC,MAAM,EAAE,QAAQ,UA2BrC;AAED,iBAAS,mBAAmB,CAC1B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,EAAE,EACjB,OAAO,CAAC,EAAE,OAAO,GAChB,MAAM,CAiBR;AAED,iBAAS,eAAe,CACtB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,EAAE,EACjB,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,CAAC,EAAE,OAAO,GAChB,MAAM,CAsCR;AAED,iBAAS,oBAAoB,CAC3B,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,kBAAkB,EAAE,EACzC,OAAO,CAAC,EAAE,OAAO,GAChB,MAAM,CA4DR;AAED,iBAAS,uBAAuB,CAC9B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,CACR,sBAAsB,GACtB,kBAAkB,GAClB,uBAAuB,GACvB,IAAI,CACP,EAAE,GACF,MAAM,CAgDR;AAED,iBAAS,0BAA0B,CACjC,SAAS,EAAE,OAAO,EAAE,EACpB,SAAS,SAAI,GACZ,MAAM,CAsBR;AAeD,iBAAS,cAAc,CAAC,SAAS,EAAE,MAAM,WASxC;AAED,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,EAC7B,8BAA8B,EAC9B,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC1B,YAAY,EACZ,gBAAgB,EAChB,cAAc,GACf,CAAA;AACD,YAAY,EAAE,kBAAkB,EAAE,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WEBAUTHN_V0_VALIDATOR_ADDRESS = exports.MULTI_FACTOR_VALIDATOR_ADDRESS = exports.WEBAUTHN_VALIDATOR_ADDRESS = exports.ENS_VALIDATOR_ADDRESS = exports.OWNABLE_VALIDATOR_ADDRESS = void 0;
|
|
3
|
+
exports.SMART_SESSION_EMISSARY_ADDRESS = exports.WEBAUTHN_V0_VALIDATOR_ADDRESS = exports.MULTI_FACTOR_VALIDATOR_ADDRESS = exports.WEBAUTHN_VALIDATOR_ADDRESS = exports.ENS_VALIDATOR_ADDRESS = exports.OWNABLE_VALIDATOR_ADDRESS = void 0;
|
|
4
4
|
exports.getOwnerValidator = getOwnerValidator;
|
|
5
5
|
exports.getOwnableValidator = getOwnableValidator;
|
|
6
6
|
exports.getENSValidator = getENSValidator;
|
|
@@ -13,7 +13,8 @@ exports.supportsEip712 = supportsEip712;
|
|
|
13
13
|
const viem_1 = require("viem");
|
|
14
14
|
const error_1 = require("../../accounts/error");
|
|
15
15
|
const common_1 = require("../common");
|
|
16
|
-
const
|
|
16
|
+
const SMART_SESSION_EMISSARY_ADDRESS = '0xad568b3f825a8d5ffc06dd3253526b64d810ae89';
|
|
17
|
+
exports.SMART_SESSION_EMISSARY_ADDRESS = SMART_SESSION_EMISSARY_ADDRESS;
|
|
17
18
|
const OWNABLE_VALIDATOR_ADDRESS = '0x000000000013fdb5234e4e3162a810f54d9f7e98';
|
|
18
19
|
exports.OWNABLE_VALIDATOR_ADDRESS = OWNABLE_VALIDATOR_ADDRESS;
|
|
19
20
|
const ENS_VALIDATOR_ADDRESS = '0xdc38f07b060374b6480c4bf06231e7d10955bca4';
|
|
@@ -272,7 +273,7 @@ function supportsEip712(validator) {
|
|
|
272
273
|
switch (validator.address.toLowerCase()) {
|
|
273
274
|
case OWNABLE_BETA_VALIDATOR_ADDRESS: // Ownable Validator V1-beta
|
|
274
275
|
case OWNABLE_V0_VALIDATOR_ADDRESS: // Ownable Validator V0
|
|
275
|
-
case
|
|
276
|
+
case SMART_SESSION_EMISSARY_ADDRESS: // Smart Sessions (not yet supported)
|
|
276
277
|
return false;
|
|
277
278
|
default:
|
|
278
279
|
return true;
|