@rhinestone/sdk 1.0.0-alpha.25 → 1.0.0-alpha.27

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.
Files changed (68) hide show
  1. package/dist/src/accounts/error.d.ts +12 -5
  2. package/dist/src/accounts/error.d.ts.map +1 -1
  3. package/dist/src/accounts/error.js +19 -10
  4. package/dist/src/accounts/index.d.ts +11 -4
  5. package/dist/src/accounts/index.d.ts.map +1 -1
  6. package/dist/src/accounts/index.js +119 -40
  7. package/dist/src/accounts/index.test.js +2 -2
  8. package/dist/src/accounts/kernel.d.ts +1 -1
  9. package/dist/src/accounts/kernel.d.ts.map +1 -1
  10. package/dist/src/accounts/kernel.js +29 -1
  11. package/dist/src/accounts/kernel.test.js +37 -4
  12. package/dist/src/accounts/nexus.d.ts +4 -3
  13. package/dist/src/accounts/nexus.d.ts.map +1 -1
  14. package/dist/src/accounts/nexus.js +82 -14
  15. package/dist/src/accounts/nexus.test.js +35 -2
  16. package/dist/src/accounts/safe.d.ts.map +1 -1
  17. package/dist/src/accounts/safe.js +79 -55
  18. package/dist/src/accounts/safe.test.js +35 -2
  19. package/dist/src/accounts/signing/common.d.ts +1 -1
  20. package/dist/src/accounts/signing/common.d.ts.map +1 -1
  21. package/dist/src/accounts/signing/common.js +14 -13
  22. package/dist/src/accounts/signing/message.js +3 -3
  23. package/dist/src/accounts/signing/passkeys.d.ts +8 -1
  24. package/dist/src/accounts/signing/passkeys.d.ts.map +1 -1
  25. package/dist/src/accounts/signing/passkeys.js +35 -0
  26. package/dist/src/accounts/signing/passkeys.test.js +15 -0
  27. package/dist/src/accounts/walletClient.d.ts.map +1 -1
  28. package/dist/src/accounts/walletClient.js +2 -1
  29. package/dist/src/actions/index.d.ts +30 -2
  30. package/dist/src/actions/index.d.ts.map +1 -1
  31. package/dist/src/actions/index.js +37 -6
  32. package/dist/src/actions/index.test.js +11 -11
  33. package/dist/src/execution/error.d.ts +8 -1
  34. package/dist/src/execution/error.d.ts.map +1 -1
  35. package/dist/src/execution/error.js +10 -1
  36. package/dist/src/execution/index.d.ts +12 -3
  37. package/dist/src/execution/index.d.ts.map +1 -1
  38. package/dist/src/execution/index.js +25 -17
  39. package/dist/src/execution/utils.d.ts +1 -1
  40. package/dist/src/execution/utils.d.ts.map +1 -1
  41. package/dist/src/execution/utils.js +24 -6
  42. package/dist/src/index.d.ts +6 -5
  43. package/dist/src/index.d.ts.map +1 -1
  44. package/dist/src/index.js +19 -3
  45. package/dist/src/modules/common.d.ts +10 -4
  46. package/dist/src/modules/common.d.ts.map +1 -1
  47. package/dist/src/modules/common.js +22 -1
  48. package/dist/src/modules/index.d.ts +2 -1
  49. package/dist/src/modules/index.d.ts.map +1 -1
  50. package/dist/src/modules/index.js +16 -13
  51. package/dist/src/modules/index.test.js +8 -7
  52. package/dist/src/modules/validators/core.d.ts +4 -3
  53. package/dist/src/modules/validators/core.d.ts.map +1 -1
  54. package/dist/src/modules/validators/core.js +24 -14
  55. package/dist/src/modules/validators/core.test.js +4 -4
  56. package/dist/src/orchestrator/client.js +6 -6
  57. package/dist/src/orchestrator/registry.d.ts.map +1 -1
  58. package/dist/src/orchestrator/registry.js +11 -10
  59. package/dist/src/orchestrator/registry.test.js +4 -4
  60. package/dist/src/types.d.ts +30 -20
  61. package/dist/src/types.d.ts.map +1 -1
  62. package/package.json +1 -1
  63. package/dist/src/accounts/custom.d.ts +0 -18
  64. package/dist/src/accounts/custom.d.ts.map +0 -1
  65. package/dist/src/accounts/custom.js +0 -121
  66. package/dist/src/accounts/custom.test.d.ts +0 -2
  67. package/dist/src/accounts/custom.test.d.ts.map +0 -1
  68. package/dist/src/accounts/custom.test.js +0 -64
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SessionChainRequiredError = exports.OrderPathRequiredForIntentsError = exports.UserOperationRequiredForSmartSessionsError = exports.SourceChainsNotAvailableForUserOpFlowError = exports.ExecutionError = exports.IntentFailedError = exports.isExecutionError = void 0;
3
+ exports.UserOperationRequiredForSmartSessionsError = exports.SourceChainsNotAvailableForUserOpFlowError = exports.SimulationNotSupportedForUserOpFlowError = exports.SessionChainRequiredError = exports.OrderPathRequiredForIntentsError = exports.IntentFailedError = exports.ExecutionError = exports.isExecutionError = void 0;
4
4
  exports.sendTransaction = sendTransaction;
5
+ exports.sendTransactionInternal = sendTransactionInternal;
5
6
  exports.waitForExecution = waitForExecution;
6
7
  exports.getMaxSpendableAmount = getMaxSpendableAmount;
7
8
  exports.getPortfolio = getPortfolio;
@@ -17,43 +18,50 @@ Object.defineProperty(exports, "IntentFailedError", { enumerable: true, get: fun
17
18
  Object.defineProperty(exports, "isExecutionError", { enumerable: true, get: function () { return error_1.isExecutionError; } });
18
19
  Object.defineProperty(exports, "OrderPathRequiredForIntentsError", { enumerable: true, get: function () { return error_1.OrderPathRequiredForIntentsError; } });
19
20
  Object.defineProperty(exports, "SessionChainRequiredError", { enumerable: true, get: function () { return error_1.SessionChainRequiredError; } });
21
+ Object.defineProperty(exports, "SimulationNotSupportedForUserOpFlowError", { enumerable: true, get: function () { return error_1.SimulationNotSupportedForUserOpFlowError; } });
20
22
  Object.defineProperty(exports, "SourceChainsNotAvailableForUserOpFlowError", { enumerable: true, get: function () { return error_1.SourceChainsNotAvailableForUserOpFlowError; } });
21
23
  Object.defineProperty(exports, "UserOperationRequiredForSmartSessionsError", { enumerable: true, get: function () { return error_1.UserOperationRequiredForSmartSessionsError; } });
22
24
  const smart_session_1 = require("./smart-session");
23
25
  const utils_2 = require("./utils");
24
26
  const POLLING_INTERVAL = 500;
25
27
  async function sendTransaction(config, transaction) {
26
- if ('chain' in transaction) {
27
- // Same-chain transaction
28
- return await sendTransactionInternal(config, [transaction.chain], transaction.chain, transaction.calls, transaction.gasLimit, transaction.tokenRequests, transaction.signers, transaction.sponsored, transaction.settlementLayers);
29
- }
30
- else {
31
- // Cross-chain transaction
32
- return await sendTransactionInternal(config, transaction.sourceChains || [], transaction.targetChain, transaction.calls, transaction.gasLimit, transaction.tokenRequests, transaction.signers, transaction.sponsored, transaction.settlementLayers);
33
- }
28
+ const sourceChains = 'chain' in transaction
29
+ ? [transaction.chain]
30
+ : transaction.sourceChains || [];
31
+ const targetChain = 'chain' in transaction ? transaction.chain : transaction.targetChain;
32
+ const { calls, gasLimit, tokenRequests, signers, sponsored, settlementLayers, } = transaction;
33
+ return await sendTransactionInternal(config, sourceChains, targetChain, calls, {
34
+ gasLimit,
35
+ initialTokenRequests: tokenRequests,
36
+ signers,
37
+ sponsored,
38
+ settlementLayers,
39
+ });
34
40
  }
35
- async function sendTransactionInternal(config, sourceChains, targetChain, callInputs, gasLimit, initialTokenRequests, signers, sponsored, settlementLayers) {
41
+ async function sendTransactionInternal(config, sourceChains, targetChain, callInputs, options) {
36
42
  const accountAddress = (0, accounts_1.getAddress)(config);
37
43
  // Across requires passing some value to repay the solvers
38
- const tokenRequests = !initialTokenRequests || initialTokenRequests.length === 0
44
+ const tokenRequests = !options.initialTokenRequests || options.initialTokenRequests.length === 0
39
45
  ? [
40
46
  {
41
47
  address: viem_1.zeroAddress,
42
48
  amount: 1n,
43
49
  },
44
50
  ]
45
- : initialTokenRequests;
46
- const asUserOp = signers?.type === 'guardians' || signers?.type === 'session';
47
- if (asUserOp) {
48
- const withSession = signers?.type === 'session' ? signers.session : null;
51
+ : options.initialTokenRequests;
52
+ const sendAsUserOp = options.asUserOp ||
53
+ options.signers?.type === 'guardians' ||
54
+ options.signers?.type === 'session';
55
+ if (sendAsUserOp) {
56
+ const withSession = options.signers?.type === 'session' ? options.signers.session : null;
49
57
  if (withSession) {
50
58
  await (0, smart_session_1.enableSmartSession)(targetChain, config, withSession);
51
59
  }
52
60
  // Smart sessions require a UserOp flow
53
- return await sendTransactionAsUserOp(config, targetChain, callInputs, signers);
61
+ return await sendTransactionAsUserOp(config, targetChain, callInputs, options.signers);
54
62
  }
55
63
  else {
56
- return await sendTransactionAsIntent(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, accountAddress, signers, sponsored, settlementLayers);
64
+ return await sendTransactionAsIntent(config, sourceChains, targetChain, callInputs, options.gasLimit, tokenRequests, accountAddress, options.signers, options.sponsored, options.settlementLayers);
57
65
  }
58
66
  }
59
67
  async function sendTransactionAsUserOp(config, chain, callInputs, signers) {
@@ -42,7 +42,7 @@ declare function signIntent(config: RhinestoneAccountConfig, targetChain: Chain,
42
42
  declare function getOrchestratorByChain(chainId: number, apiKey: string | undefined, orchestratorUrl?: string): import("../orchestrator").Orchestrator;
43
43
  declare function submitIntentInternal(config: RhinestoneAccountConfig, sourceChains: Chain[] | undefined, targetChain: Chain, intentOp: IntentOp, signature: Hex, authorizations: SignedAuthorizationList): Promise<TransactionResult>;
44
44
  declare function simulateIntentInternal(config: RhinestoneAccountConfig, _sourceChains: Chain[] | undefined, targetChain: Chain, intentOp: IntentOp, signature: Hex, authorizations: SignedAuthorizationList): Promise<import("../orchestrator").IntentResult>;
45
- 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>;
45
+ 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>;
46
46
  declare function parseCalls(calls: CallInput[], chainId: number): Call[];
47
47
  export { prepareTransaction, signTransaction, signAuthorizations, signAuthorizationsInternal, signMessage, signTypedData, submitTransaction, simulateTransaction, getOrchestratorByChain, signIntent, prepareTransactionAsIntent, submitIntentInternal, simulateIntentInternal, getValidatorAccount, parseCalls, };
48
48
  export type { IntentData, TransactionResult, PreparedTransactionData, SignedTransactionData, };
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../execution/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../execution/utils.ts"],"names":[],"mappings":"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"}
@@ -159,7 +159,7 @@ async function simulateTransaction(config, signedTransaction, authorizations) {
159
159
  const { sourceChains, targetChain } = getTransactionParams(transaction);
160
160
  const asUserOp = data.type === 'userop';
161
161
  if (asUserOp) {
162
- throw new Error('Simulation not supported for UserOp transactions');
162
+ throw new error_1.SimulationNotSupportedForUserOpFlowError();
163
163
  }
164
164
  else {
165
165
  const intentOp = data.intentRoute.intentOp;
@@ -232,7 +232,7 @@ async function prepareTransactionAsIntent(config, sourceChains, targetChain, cal
232
232
  chainIds: sourceChains.map((chain) => chain.id),
233
233
  }
234
234
  : undefined;
235
- const { setupOps, delegations } = await getSetupOperationsAndDelegations(config, accountAddress, eip7702InitSignature);
235
+ const { setupOps, delegations } = await getSetupOperationsAndDelegations(config, targetChain, accountAddress, eip7702InitSignature);
236
236
  const metaIntent = {
237
237
  destinationChainId: targetChain.id,
238
238
  tokenTransfers: tokenRequests.map((tokenRequest) => ({
@@ -272,11 +272,23 @@ async function signIntent(config, targetChain, intentOp, signers) {
272
272
  }
273
273
  const ownerValidator = (0, validators_1.getOwnerValidator)(config);
274
274
  const isRoot = validator.address === ownerValidator.address;
275
+ const signature = await getIntentSignature(config, intentOp, signers, targetChain, validator, isRoot);
276
+ return signature;
277
+ }
278
+ async function getIntentSignature(config, intentOp, signers, targetChain, validator, isRoot) {
275
279
  const typedData = (0, compact_1.getIntentData)(intentOp);
276
- const signature = await (0, accounts_1.getTypedDataPackedSignature)(config, signers, targetChain, {
280
+ if ((0, core_1.supportsEip712)(validator)) {
281
+ const signature = await (0, accounts_1.getTypedDataPackedSignature)(config, signers, targetChain, {
282
+ address: validator.address,
283
+ isRoot,
284
+ }, typedData);
285
+ return signature;
286
+ }
287
+ const hash = (0, viem_1.hashTypedData)(typedData);
288
+ const signature = await (0, accounts_1.getPackedSignature)(config, signers, targetChain, {
277
289
  address: validator.address,
278
290
  isRoot,
279
- }, typedData);
291
+ }, hash);
280
292
  return signature;
281
293
  }
282
294
  async function signUserOp(config, chain, signers, userOp) {
@@ -384,7 +396,7 @@ async function simulateIntentInternal(config, _sourceChains, targetChain, intent
384
396
  }
385
397
  async function getValidatorAccount(config, signers, publicClient, chain) {
386
398
  if (!signers) {
387
- return undefined;
399
+ return (0, accounts_1.getSmartAccount)(config, publicClient, chain);
388
400
  }
389
401
  // Owners
390
402
  const withOwner = signers.type === 'owner' ? signers : null;
@@ -445,7 +457,7 @@ function parseCalls(calls, chainId) {
445
457
  to: (0, registry_1.resolveTokenAddress)(call.to, chainId),
446
458
  }));
447
459
  }
448
- async function getSetupOperationsAndDelegations(config, accountAddress, eip7702InitSignature) {
460
+ async function getSetupOperationsAndDelegations(config, chain, accountAddress, eip7702InitSignature) {
449
461
  const initCode = (0, accounts_1.getInitCode)(config);
450
462
  if (config.eoa) {
451
463
  // EIP-7702 initialization is only needed for EOA accounts
@@ -468,6 +480,12 @@ async function getSetupOperationsAndDelegations(config, accountAddress, eip7702I
468
480
  };
469
481
  }
470
482
  else if (initCode) {
483
+ const isAccountDeployed = await (0, accounts_1.isDeployed)(config, chain);
484
+ if (isAccountDeployed) {
485
+ return {
486
+ setupOps: [],
487
+ };
488
+ }
471
489
  // Contract account with init code
472
490
  return {
473
491
  setupOps: [
@@ -1,16 +1,17 @@
1
1
  import type { Address, Chain, HashTypedDataParameters, Hex, SignableMessage, SignedAuthorizationList, TypedData } from 'viem';
2
2
  import type { UserOperationReceipt } from 'viem/account-abstraction';
3
- import { AccountError, Eip7702AccountMustHaveEoaError, Eip7702NotSupportedForAccountError, ExistingEip7702AccountsNotSupportedError, FactoryArgsNotAvailableError, isAccountError, SigningNotSupportedForAccountError, SignMessageNotSupportedByAccountError, SmartSessionsNotEnabledError } from './accounts';
3
+ import { AccountConfigurationNotSupportedError, AccountError, Eip7702AccountMustHaveEoaError, Eip7702NotSupportedForAccountError, ExistingEip7702AccountsNotSupportedError, FactoryArgsNotAvailableError, isAccountError, SigningNotSupportedForAccountError, SmartSessionsNotEnabledError, WalletClientNoConnectedAccountError } from './accounts';
4
4
  import { walletClientToAccount } from './accounts/walletClient';
5
- import { addOwner, addPasskeyOwner, changeMultiFactorThreshold, changePasskeyThreshold, changeThreshold, disableEcdsa, disableMultiFactor, disablePasskeys, enableEcdsa, enableMultiFactor, enablePasskeys, encodeSmartSessionSignature, recover, recoverEcdsaOwnership, recoverPasskeyOwnership, removeOwner, removePasskeyOwner, removeSubValidator, setSubValidator, setUpRecovery } from './actions';
6
- import { ExecutionError, IntentFailedError, isExecutionError, OrderPathRequiredForIntentsError, SessionChainRequiredError, SourceChainsNotAvailableForUserOpFlowError, type TransactionResult, UserOperationRequiredForSmartSessionsError } from './execution';
5
+ import { addOwner, addPasskeyOwner, changeMultiFactorThreshold, changePasskeyThreshold, changeThreshold, disableEcdsa, disableMultiFactor, disablePasskeys, enableEcdsa, enableMultiFactor, enablePasskeys, encodeSmartSessionSignature, installModule, recover, recoverEcdsaOwnership, recoverPasskeyOwnership, removeOwner, removePasskeyOwner, removeSubValidator, setSubValidator, setUpRecovery, uninstallModule } from './actions';
6
+ import { ExecutionError, IntentFailedError, isExecutionError, OrderPathRequiredForIntentsError, SessionChainRequiredError, SimulationNotSupportedForUserOpFlowError, SourceChainsNotAvailableForUserOpFlowError, type TransactionResult, UserOperationRequiredForSmartSessionsError } from './execution';
7
7
  import { type SessionDetails } from './execution/smart-session';
8
8
  import { type IntentData, type PreparedTransactionData, type SignedTransactionData } from './execution/utils';
9
9
  import { AuthenticationRequiredError, getSupportedTokens, getTokenAddress, 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';
10
10
  import type { Call, RhinestoneAccountConfig, Session, SignerSet, Transaction } from './types';
11
11
  interface RhinestoneAccount {
12
12
  config: RhinestoneAccountConfig;
13
- deploy: (chain: Chain, session?: Session) => Promise<void>;
13
+ deploy: (chain: Chain, session?: Session) => Promise<boolean>;
14
+ setup: (chain: Chain) => Promise<boolean>;
14
15
  signEip7702InitData: () => Promise<Hex>;
15
16
  prepareTransaction: (transaction: Transaction) => Promise<PreparedTransactionData>;
16
17
  signTransaction: (preparedTransaction: PreparedTransactionData) => Promise<SignedTransactionData>;
@@ -38,6 +39,6 @@ interface RhinestoneAccount {
38
39
  * @returns account
39
40
  */
40
41
  declare function createRhinestoneAccount(config: RhinestoneAccountConfig): Promise<RhinestoneAccount>;
41
- export { createRhinestoneAccount, walletClientToAccount, addOwner, addPasskeyOwner, changeMultiFactorThreshold, changeThreshold, changePasskeyThreshold, disableEcdsa, disableMultiFactor, disablePasskeys, enableEcdsa, enableMultiFactor, enablePasskeys, encodeSmartSessionSignature, recover, recoverEcdsaOwnership, recoverPasskeyOwnership, removeOwner, removePasskeyOwner, removeSubValidator, setSubValidator, setUpRecovery, isAccountError, AccountError, Eip7702AccountMustHaveEoaError, ExistingEip7702AccountsNotSupportedError, FactoryArgsNotAvailableError, SmartSessionsNotEnabledError, SigningNotSupportedForAccountError, SignMessageNotSupportedByAccountError, Eip7702NotSupportedForAccountError, isExecutionError, IntentFailedError, ExecutionError, SourceChainsNotAvailableForUserOpFlowError, UserOperationRequiredForSmartSessionsError, OrderPathRequiredForIntentsError, SessionChainRequiredError, isOrchestratorError, AuthenticationRequiredError, InsufficientBalanceError, InvalidApiKeyError, InvalidIntentSignatureError, NoPathFoundError, OnlyOneTargetTokenAmountCanBeUnsetError, OrchestratorError, IntentNotFoundError, TokenNotSupportedError, UnsupportedChainError, UnsupportedChainIdError, UnsupportedTokenError, getSupportedTokens, getTokenAddress, };
42
+ export { createRhinestoneAccount, walletClientToAccount, addOwner, addPasskeyOwner, changeMultiFactorThreshold, changeThreshold, changePasskeyThreshold, disableEcdsa, disableMultiFactor, disablePasskeys, enableEcdsa, enableMultiFactor, enablePasskeys, encodeSmartSessionSignature, installModule, recover, recoverEcdsaOwnership, recoverPasskeyOwnership, removeOwner, removePasskeyOwner, removeSubValidator, setSubValidator, setUpRecovery, uninstallModule, isAccountError, AccountError, AccountConfigurationNotSupportedError, Eip7702AccountMustHaveEoaError, ExistingEip7702AccountsNotSupportedError, FactoryArgsNotAvailableError, SmartSessionsNotEnabledError, SigningNotSupportedForAccountError, Eip7702NotSupportedForAccountError, WalletClientNoConnectedAccountError, isExecutionError, ExecutionError, IntentFailedError, OrderPathRequiredForIntentsError, SessionChainRequiredError, SimulationNotSupportedForUserOpFlowError, SourceChainsNotAvailableForUserOpFlowError, UserOperationRequiredForSmartSessionsError, isOrchestratorError, AuthenticationRequiredError, InsufficientBalanceError, InvalidApiKeyError, InvalidIntentSignatureError, NoPathFoundError, OnlyOneTargetTokenAmountCanBeUnsetError, OrchestratorError, IntentNotFoundError, TokenNotSupportedError, UnsupportedChainError, UnsupportedChainIdError, UnsupportedTokenError, getSupportedTokens, getTokenAddress, };
42
43
  export type { RhinestoneAccount, Session, Call, IntentData, PreparedTransactionData, SignedTransactionData, TransactionResult, IntentCost, IntentInput, IntentOp, IntentOpStatus, IntentResult, IntentRoute, SettlementSystem, SignedIntentOp, Portfolio, };
43
44
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -1,9 +1,10 @@
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.SourceChainsNotAvailableForUserOpFlowError = 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.setUpRecovery = exports.setSubValidator = exports.removeSubValidator = exports.removePasskeyOwner = exports.removeOwner = exports.recoverPasskeyOwnership = exports.recoverEcdsaOwnership = exports.recover = exports.encodeSmartSessionSignature = exports.enablePasskeys = exports.enableMultiFactor = exports.enableEcdsa = exports.disablePasskeys = exports.disableMultiFactor = exports.disableEcdsa = exports.changePasskeyThreshold = exports.changeThreshold = exports.changeMultiFactorThreshold = exports.addPasskeyOwner = exports.addOwner = exports.walletClientToAccount = void 0;
4
- exports.getTokenAddress = exports.getSupportedTokens = void 0;
3
+ exports.IntentNotFoundError = exports.OrchestratorError = exports.OnlyOneTargetTokenAmountCanBeUnsetError = exports.NoPathFoundError = exports.InvalidIntentSignatureError = exports.InvalidApiKeyError = exports.InsufficientBalanceError = exports.AuthenticationRequiredError = exports.isOrchestratorError = exports.UserOperationRequiredForSmartSessionsError = exports.SourceChainsNotAvailableForUserOpFlowError = exports.SimulationNotSupportedForUserOpFlowError = exports.SessionChainRequiredError = exports.OrderPathRequiredForIntentsError = exports.IntentFailedError = exports.ExecutionError = exports.isExecutionError = exports.WalletClientNoConnectedAccountError = exports.Eip7702NotSupportedForAccountError = exports.SigningNotSupportedForAccountError = exports.SmartSessionsNotEnabledError = exports.FactoryArgsNotAvailableError = exports.ExistingEip7702AccountsNotSupportedError = exports.Eip7702AccountMustHaveEoaError = exports.AccountConfigurationNotSupportedError = exports.AccountError = exports.isAccountError = exports.uninstallModule = exports.setUpRecovery = exports.setSubValidator = exports.removeSubValidator = exports.removePasskeyOwner = exports.removeOwner = exports.recoverPasskeyOwnership = exports.recoverEcdsaOwnership = exports.recover = exports.installModule = exports.encodeSmartSessionSignature = exports.enablePasskeys = exports.enableMultiFactor = exports.enableEcdsa = exports.disablePasskeys = exports.disableMultiFactor = exports.disableEcdsa = exports.changePasskeyThreshold = exports.changeThreshold = exports.changeMultiFactorThreshold = exports.addPasskeyOwner = exports.addOwner = exports.walletClientToAccount = void 0;
4
+ exports.getTokenAddress = exports.getSupportedTokens = exports.UnsupportedTokenError = exports.UnsupportedChainIdError = exports.UnsupportedChainError = exports.TokenNotSupportedError = void 0;
5
5
  exports.createRhinestoneAccount = createRhinestoneAccount;
6
6
  const accounts_1 = require("./accounts");
7
+ Object.defineProperty(exports, "AccountConfigurationNotSupportedError", { enumerable: true, get: function () { return accounts_1.AccountConfigurationNotSupportedError; } });
7
8
  Object.defineProperty(exports, "AccountError", { enumerable: true, get: function () { return accounts_1.AccountError; } });
8
9
  Object.defineProperty(exports, "Eip7702AccountMustHaveEoaError", { enumerable: true, get: function () { return accounts_1.Eip7702AccountMustHaveEoaError; } });
9
10
  Object.defineProperty(exports, "Eip7702NotSupportedForAccountError", { enumerable: true, get: function () { return accounts_1.Eip7702NotSupportedForAccountError; } });
@@ -11,8 +12,8 @@ Object.defineProperty(exports, "ExistingEip7702AccountsNotSupportedError", { enu
11
12
  Object.defineProperty(exports, "FactoryArgsNotAvailableError", { enumerable: true, get: function () { return accounts_1.FactoryArgsNotAvailableError; } });
12
13
  Object.defineProperty(exports, "isAccountError", { enumerable: true, get: function () { return accounts_1.isAccountError; } });
13
14
  Object.defineProperty(exports, "SigningNotSupportedForAccountError", { enumerable: true, get: function () { return accounts_1.SigningNotSupportedForAccountError; } });
14
- Object.defineProperty(exports, "SignMessageNotSupportedByAccountError", { enumerable: true, get: function () { return accounts_1.SignMessageNotSupportedByAccountError; } });
15
15
  Object.defineProperty(exports, "SmartSessionsNotEnabledError", { enumerable: true, get: function () { return accounts_1.SmartSessionsNotEnabledError; } });
16
+ Object.defineProperty(exports, "WalletClientNoConnectedAccountError", { enumerable: true, get: function () { return accounts_1.WalletClientNoConnectedAccountError; } });
16
17
  const walletClient_1 = require("./accounts/walletClient");
17
18
  Object.defineProperty(exports, "walletClientToAccount", { enumerable: true, get: function () { return walletClient_1.walletClientToAccount; } });
18
19
  const actions_1 = require("./actions");
@@ -28,6 +29,7 @@ Object.defineProperty(exports, "enableEcdsa", { enumerable: true, get: function
28
29
  Object.defineProperty(exports, "enableMultiFactor", { enumerable: true, get: function () { return actions_1.enableMultiFactor; } });
29
30
  Object.defineProperty(exports, "enablePasskeys", { enumerable: true, get: function () { return actions_1.enablePasskeys; } });
30
31
  Object.defineProperty(exports, "encodeSmartSessionSignature", { enumerable: true, get: function () { return actions_1.encodeSmartSessionSignature; } });
32
+ Object.defineProperty(exports, "installModule", { enumerable: true, get: function () { return actions_1.installModule; } });
31
33
  Object.defineProperty(exports, "recover", { enumerable: true, get: function () { return actions_1.recover; } });
32
34
  Object.defineProperty(exports, "recoverEcdsaOwnership", { enumerable: true, get: function () { return actions_1.recoverEcdsaOwnership; } });
33
35
  Object.defineProperty(exports, "recoverPasskeyOwnership", { enumerable: true, get: function () { return actions_1.recoverPasskeyOwnership; } });
@@ -36,12 +38,14 @@ Object.defineProperty(exports, "removePasskeyOwner", { enumerable: true, get: fu
36
38
  Object.defineProperty(exports, "removeSubValidator", { enumerable: true, get: function () { return actions_1.removeSubValidator; } });
37
39
  Object.defineProperty(exports, "setSubValidator", { enumerable: true, get: function () { return actions_1.setSubValidator; } });
38
40
  Object.defineProperty(exports, "setUpRecovery", { enumerable: true, get: function () { return actions_1.setUpRecovery; } });
41
+ Object.defineProperty(exports, "uninstallModule", { enumerable: true, get: function () { return actions_1.uninstallModule; } });
39
42
  const execution_1 = require("./execution");
40
43
  Object.defineProperty(exports, "ExecutionError", { enumerable: true, get: function () { return execution_1.ExecutionError; } });
41
44
  Object.defineProperty(exports, "IntentFailedError", { enumerable: true, get: function () { return execution_1.IntentFailedError; } });
42
45
  Object.defineProperty(exports, "isExecutionError", { enumerable: true, get: function () { return execution_1.isExecutionError; } });
43
46
  Object.defineProperty(exports, "OrderPathRequiredForIntentsError", { enumerable: true, get: function () { return execution_1.OrderPathRequiredForIntentsError; } });
44
47
  Object.defineProperty(exports, "SessionChainRequiredError", { enumerable: true, get: function () { return execution_1.SessionChainRequiredError; } });
48
+ Object.defineProperty(exports, "SimulationNotSupportedForUserOpFlowError", { enumerable: true, get: function () { return execution_1.SimulationNotSupportedForUserOpFlowError; } });
45
49
  Object.defineProperty(exports, "SourceChainsNotAvailableForUserOpFlowError", { enumerable: true, get: function () { return execution_1.SourceChainsNotAvailableForUserOpFlowError; } });
46
50
  Object.defineProperty(exports, "UserOperationRequiredForSmartSessionsError", { enumerable: true, get: function () { return execution_1.UserOperationRequiredForSmartSessionsError; } });
47
51
  const smart_session_1 = require("./execution/smart-session");
@@ -70,6 +74,9 @@ Object.defineProperty(exports, "UnsupportedTokenError", { enumerable: true, get:
70
74
  * @returns account
71
75
  */
72
76
  async function createRhinestoneAccount(config) {
77
+ // Sanity check for existing (externally created) accounts
78
+ // Ensures we decode the initdata correctly
79
+ (0, accounts_1.checkAddress)(config);
73
80
  /**
74
81
  * Deploys the account on a given chain
75
82
  * @param chain Chain to deploy the account on
@@ -78,6 +85,14 @@ async function createRhinestoneAccount(config) {
78
85
  function deploy(chain, session) {
79
86
  return (0, accounts_1.deploy)(config, chain, session);
80
87
  }
88
+ /**
89
+ * Sets up the existing account on a given chain
90
+ * by installing the missing modules (if any).
91
+ * @param chain Chain to set up the account on
92
+ */
93
+ function setup(chain) {
94
+ return (0, accounts_1.setup)(config, chain);
95
+ }
81
96
  /**
82
97
  * Prepare and sign the EIP-7702 account initialization data
83
98
  * @returns init data signature
@@ -219,6 +234,7 @@ async function createRhinestoneAccount(config) {
219
234
  return {
220
235
  config,
221
236
  deploy,
237
+ setup,
222
238
  signEip7702InitData,
223
239
  prepareTransaction,
224
240
  signTransaction,
@@ -1,16 +1,22 @@
1
1
  import type { Address, Hex } from 'viem';
2
- type ModuleType = typeof MODULE_TYPE_ID_VALIDATOR | typeof MODULE_TYPE_ID_EXECUTOR | typeof MODULE_TYPE_ID_FALLBACK | typeof MODULE_TYPE_ID_HOOK;
2
+ type ModuleTypeId = typeof MODULE_TYPE_ID_VALIDATOR | typeof MODULE_TYPE_ID_EXECUTOR | typeof MODULE_TYPE_ID_FALLBACK | typeof MODULE_TYPE_ID_HOOK;
3
+ type ModuleType = typeof MODULE_TYPE_VALIDATOR | typeof MODULE_TYPE_EXECUTOR | typeof MODULE_TYPE_FALLBACK | typeof MODULE_TYPE_HOOK;
3
4
  interface Module {
4
5
  address: Address;
5
6
  initData: Hex;
6
7
  deInitData: Hex;
7
8
  additionalContext: Hex;
8
- type: ModuleType;
9
+ type: ModuleTypeId;
9
10
  }
10
11
  declare const MODULE_TYPE_ID_VALIDATOR = 1n;
11
12
  declare const MODULE_TYPE_ID_EXECUTOR = 2n;
12
13
  declare const MODULE_TYPE_ID_FALLBACK = 3n;
13
14
  declare const MODULE_TYPE_ID_HOOK = 4n;
14
- export { MODULE_TYPE_ID_VALIDATOR, MODULE_TYPE_ID_EXECUTOR, MODULE_TYPE_ID_FALLBACK, MODULE_TYPE_ID_HOOK, };
15
- export type { Module, ModuleType };
15
+ declare const MODULE_TYPE_VALIDATOR = "validator";
16
+ declare const MODULE_TYPE_EXECUTOR = "executor";
17
+ declare const MODULE_TYPE_FALLBACK = "fallback";
18
+ declare const MODULE_TYPE_HOOK = "hook";
19
+ declare function toModuleTypeId(type: ModuleType): ModuleTypeId;
20
+ export { MODULE_TYPE_ID_VALIDATOR, MODULE_TYPE_ID_EXECUTOR, MODULE_TYPE_ID_FALLBACK, MODULE_TYPE_ID_HOOK, MODULE_TYPE_VALIDATOR, MODULE_TYPE_EXECUTOR, MODULE_TYPE_FALLBACK, MODULE_TYPE_HOOK, toModuleTypeId, };
21
+ export type { Module, ModuleType, ModuleTypeId };
16
22
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../modules/common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAExC,KAAK,UAAU,GACX,OAAO,wBAAwB,GAC/B,OAAO,uBAAuB,GAC9B,OAAO,uBAAuB,GAC9B,OAAO,mBAAmB,CAAA;AAE9B,UAAU,MAAM;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,GAAG,CAAA;IACb,UAAU,EAAE,GAAG,CAAA;IACf,iBAAiB,EAAE,GAAG,CAAA;IACtB,IAAI,EAAE,UAAU,CAAA;CACjB;AAED,QAAA,MAAM,wBAAwB,KAAK,CAAA;AACnC,QAAA,MAAM,uBAAuB,KAAK,CAAA;AAClC,QAAA,MAAM,uBAAuB,KAAK,CAAA;AAClC,QAAA,MAAM,mBAAmB,KAAK,CAAA;AAE9B,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,GACpB,CAAA;AACD,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,CAAA"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../modules/common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAExC,KAAK,YAAY,GACb,OAAO,wBAAwB,GAC/B,OAAO,uBAAuB,GAC9B,OAAO,uBAAuB,GAC9B,OAAO,mBAAmB,CAAA;AAE9B,KAAK,UAAU,GACX,OAAO,qBAAqB,GAC5B,OAAO,oBAAoB,GAC3B,OAAO,oBAAoB,GAC3B,OAAO,gBAAgB,CAAA;AAE3B,UAAU,MAAM;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,GAAG,CAAA;IACb,UAAU,EAAE,GAAG,CAAA;IACf,iBAAiB,EAAE,GAAG,CAAA;IACtB,IAAI,EAAE,YAAY,CAAA;CACnB;AAED,QAAA,MAAM,wBAAwB,KAAK,CAAA;AACnC,QAAA,MAAM,uBAAuB,KAAK,CAAA;AAClC,QAAA,MAAM,uBAAuB,KAAK,CAAA;AAClC,QAAA,MAAM,mBAAmB,KAAK,CAAA;AAE9B,QAAA,MAAM,qBAAqB,cAAc,CAAA;AACzC,QAAA,MAAM,oBAAoB,aAAa,CAAA;AACvC,QAAA,MAAM,oBAAoB,aAAa,CAAA;AACvC,QAAA,MAAM,gBAAgB,SAAS,CAAA;AAE/B,iBAAS,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,CAWtD;AAED,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,GACf,CAAA;AACD,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,CAAA"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MODULE_TYPE_ID_HOOK = exports.MODULE_TYPE_ID_FALLBACK = exports.MODULE_TYPE_ID_EXECUTOR = exports.MODULE_TYPE_ID_VALIDATOR = void 0;
3
+ exports.MODULE_TYPE_HOOK = exports.MODULE_TYPE_FALLBACK = exports.MODULE_TYPE_EXECUTOR = exports.MODULE_TYPE_VALIDATOR = exports.MODULE_TYPE_ID_HOOK = exports.MODULE_TYPE_ID_FALLBACK = exports.MODULE_TYPE_ID_EXECUTOR = exports.MODULE_TYPE_ID_VALIDATOR = void 0;
4
+ exports.toModuleTypeId = toModuleTypeId;
4
5
  const MODULE_TYPE_ID_VALIDATOR = 1n;
5
6
  exports.MODULE_TYPE_ID_VALIDATOR = MODULE_TYPE_ID_VALIDATOR;
6
7
  const MODULE_TYPE_ID_EXECUTOR = 2n;
@@ -9,3 +10,23 @@ const MODULE_TYPE_ID_FALLBACK = 3n;
9
10
  exports.MODULE_TYPE_ID_FALLBACK = MODULE_TYPE_ID_FALLBACK;
10
11
  const MODULE_TYPE_ID_HOOK = 4n;
11
12
  exports.MODULE_TYPE_ID_HOOK = MODULE_TYPE_ID_HOOK;
13
+ const MODULE_TYPE_VALIDATOR = 'validator';
14
+ exports.MODULE_TYPE_VALIDATOR = MODULE_TYPE_VALIDATOR;
15
+ const MODULE_TYPE_EXECUTOR = 'executor';
16
+ exports.MODULE_TYPE_EXECUTOR = MODULE_TYPE_EXECUTOR;
17
+ const MODULE_TYPE_FALLBACK = 'fallback';
18
+ exports.MODULE_TYPE_FALLBACK = MODULE_TYPE_FALLBACK;
19
+ const MODULE_TYPE_HOOK = 'hook';
20
+ exports.MODULE_TYPE_HOOK = MODULE_TYPE_HOOK;
21
+ function toModuleTypeId(type) {
22
+ switch (type) {
23
+ case MODULE_TYPE_VALIDATOR:
24
+ return MODULE_TYPE_ID_VALIDATOR;
25
+ case MODULE_TYPE_EXECUTOR:
26
+ return MODULE_TYPE_ID_EXECUTOR;
27
+ case MODULE_TYPE_FALLBACK:
28
+ return MODULE_TYPE_ID_FALLBACK;
29
+ case MODULE_TYPE_HOOK:
30
+ return MODULE_TYPE_ID_HOOK;
31
+ }
32
+ }
@@ -11,6 +11,7 @@ interface ModeleSetup {
11
11
  hooks: Module[];
12
12
  }
13
13
  declare function getSetup(config: RhinestoneAccountConfig): ModeleSetup;
14
+ declare function getIntentExecutor(config: RhinestoneAccountConfig): Module;
14
15
  declare function isRip7212SupportedNetwork(chain: Chain): boolean;
15
- export { HOOK_ADDRESS, getSetup, getOwnerValidator, getOwners, getValidators, isRip7212SupportedNetwork, };
16
+ export { HOOK_ADDRESS, getSetup, getOwnerValidator, getOwners, getIntentExecutor, getValidators, isRip7212SupportedNetwork, };
16
17
  //# 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,MAAM,UAAU,CAAA;AAEvD,OAAO,EAGL,KAAK,MAAM,EACZ,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,YAAY,EAGb,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAA4B,MAAM,cAAc,CAAA;AAM1E,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB;AAED,iBAAS,QAAQ,CAAC,MAAM,EAAE,uBAAuB,GAAG,WAAW,CA2D9D;AAED,iBAAS,yBAAyB,CAAC,KAAK,EAAE,KAAK,WAW9C;AAED,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,yBAAyB,GAC1B,CAAA"}
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,MAAM,UAAU,CAAA;AAEvD,OAAO,EAGL,KAAK,MAAM,EACZ,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,YAAY,EAGb,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAA4B,MAAM,cAAc,CAAA;AAM1E,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB;AAED,iBAAS,QAAQ,CAAC,MAAM,EAAE,uBAAuB,GAAG,WAAW,CAiD9D;AAED,iBAAS,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAWlE;AAED,iBAAS,yBAAyB,CAAC,KAAK,EAAE,KAAK,WAW9C;AAED,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,yBAAyB,GAC1B,CAAA"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getValidators = exports.getOwners = exports.getOwnerValidator = exports.HOOK_ADDRESS = void 0;
4
4
  exports.getSetup = getSetup;
5
+ exports.getIntentExecutor = getIntentExecutor;
5
6
  exports.isRip7212SupportedNetwork = isRip7212SupportedNetwork;
6
7
  const viem_1 = require("viem");
7
8
  const chains_1 = require("viem/chains");
@@ -14,7 +15,7 @@ Object.defineProperty(exports, "getValidators", { enumerable: true, get: functio
14
15
  const validators_1 = require("./validators");
15
16
  Object.defineProperty(exports, "getOwnerValidator", { enumerable: true, get: function () { return validators_1.getOwnerValidator; } });
16
17
  const core_1 = require("./validators/core");
17
- const SMART_SESSION_COMPATIBILITY_FALLBACK_ADDRESS = '0x12cae64c42f362e7d5a847c2d33388373f629177';
18
+ const SMART_SESSION_COMPATIBILITY_FALLBACK_ADDRESS = '0x000000000052e9685932845660777DF43C2dC496';
18
19
  function getSetup(config) {
19
20
  const ownerValidator = (0, validators_1.getOwnerValidator)(config);
20
21
  const smartSessionValidator = (0, validators_1.getSmartSessionValidator)(config);
@@ -26,18 +27,8 @@ function getSetup(config) {
26
27
  const socialRecoveryValidator = (0, core_1.getSocialRecoveryValidator)(config.recovery.guardians, config.recovery.threshold);
27
28
  validators.push(socialRecoveryValidator);
28
29
  }
29
- const intentExecutorAddress = config.orchestratorUrl
30
- ? omni_account_1.INTENT_EXECUTOR_ADDRESS_DEV
31
- : omni_account_1.INTENT_EXECUTOR_ADDRESS;
32
- const executors = [
33
- {
34
- address: intentExecutorAddress,
35
- initData: '0x',
36
- deInitData: '0x',
37
- additionalContext: '0x',
38
- type: common_1.MODULE_TYPE_ID_EXECUTOR,
39
- },
40
- ];
30
+ const intentExecutor = getIntentExecutor(config);
31
+ const executors = [intentExecutor];
41
32
  const fallbacks = [];
42
33
  // Some accounts (e.g. Safe) need a fallback method to support smart sessions
43
34
  if (config.sessions) {
@@ -63,6 +54,18 @@ function getSetup(config) {
63
54
  hooks,
64
55
  };
65
56
  }
57
+ function getIntentExecutor(config) {
58
+ const intentExecutorAddress = config.orchestratorUrl
59
+ ? omni_account_1.INTENT_EXECUTOR_ADDRESS_DEV
60
+ : omni_account_1.INTENT_EXECUTOR_ADDRESS;
61
+ return {
62
+ address: intentExecutorAddress,
63
+ initData: '0x',
64
+ deInitData: '0x',
65
+ additionalContext: '0x',
66
+ type: common_1.MODULE_TYPE_ID_EXECUTOR,
67
+ };
68
+ }
66
69
  function isRip7212SupportedNetwork(chain) {
67
70
  const supportedChains = [
68
71
  chains_1.optimism,
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const vitest_1 = require("vitest");
4
4
  const consts_1 = require("../../test/consts");
5
+ const common_1 = require("./common");
5
6
  const index_1 = require("./index");
6
7
  (0, vitest_1.describe)('Modules', () => {
7
8
  (0, vitest_1.describe)('Setup', () => {
@@ -15,8 +16,8 @@ const index_1 = require("./index");
15
16
  },
16
17
  };
17
18
  const setup = (0, index_1.getSetup)(config);
18
- (0, vitest_1.expect)(setup.validators[0].address).toBe('0x000000000013fdB5234E4E3162a810F54d9f7E98');
19
- (0, vitest_1.expect)(setup.validators[0].type).toBe(1n);
19
+ (0, vitest_1.expect)(setup.validators[0].address).toBe('0x000000000013fdb5234e4e3162a810f54d9f7e98');
20
+ (0, vitest_1.expect)(setup.validators[0].type).toBe(common_1.MODULE_TYPE_ID_VALIDATOR);
20
21
  });
21
22
  (0, vitest_1.test)('should use webauthn validator for passkey owners', () => {
22
23
  const config = {
@@ -28,8 +29,8 @@ const index_1 = require("./index");
28
29
  };
29
30
  const setup = (0, index_1.getSetup)(config);
30
31
  (0, vitest_1.expect)(setup.validators).toHaveLength(1);
31
- (0, vitest_1.expect)(setup.validators[0].address).toBe('0x0000000000578c4cB0e472a5462da43C495C3F33');
32
- (0, vitest_1.expect)(setup.validators[0].type).toBe(1n);
32
+ (0, vitest_1.expect)(setup.validators[0].address).toBe('0x0000000000578c4cb0e472a5462da43c495c3f33');
33
+ (0, vitest_1.expect)(setup.validators[0].type).toBe(common_1.MODULE_TYPE_ID_VALIDATOR);
33
34
  });
34
35
  (0, vitest_1.test)('should use smart session validator when sessions are enabled', () => {
35
36
  const config = {
@@ -54,7 +55,7 @@ const index_1 = require("./index");
54
55
  if (!smartSessionValidator) {
55
56
  return;
56
57
  }
57
- (0, vitest_1.expect)(smartSessionValidator.type).toBe(1n);
58
+ (0, vitest_1.expect)(smartSessionValidator.type).toBe(common_1.MODULE_TYPE_ID_VALIDATOR);
58
59
  });
59
60
  (0, vitest_1.test)('should use smart session compatibility fallback for safe accounts with sessions', () => {
60
61
  const config = {
@@ -78,12 +79,12 @@ const index_1 = require("./index");
78
79
  },
79
80
  };
80
81
  const setup = (0, index_1.getSetup)(config);
81
- const smartSessionFallback = setup.fallbacks.find((fallback) => fallback.address === '0x12cae64c42f362e7d5a847c2d33388373f629177');
82
+ const smartSessionFallback = setup.fallbacks.find((fallback) => fallback.address === '0x000000000052e9685932845660777DF43C2dC496');
82
83
  (0, vitest_1.expect)(smartSessionFallback).toBeDefined();
83
84
  if (!smartSessionFallback) {
84
85
  return;
85
86
  }
86
- (0, vitest_1.expect)(smartSessionFallback.type).toBe(3n);
87
+ (0, vitest_1.expect)(smartSessionFallback.type).toBe(common_1.MODULE_TYPE_ID_FALLBACK);
87
88
  });
88
89
  vitest_1.test.todo('using the omni account should install the necessary modules');
89
90
  });
@@ -13,14 +13,15 @@ interface WebauthnCredential {
13
13
  declare const OWNABLE_VALIDATOR_ADDRESS: Address;
14
14
  declare const WEBAUTHN_VALIDATOR_ADDRESS: Address;
15
15
  declare const MULTI_FACTOR_VALIDATOR_ADDRESS: Address;
16
- declare const OWNABLE_V0_VALIDATOR_ADDRESS: Address;
16
+ declare const WEBAUTHN_V0_VALIDATOR_ADDRESS: Address;
17
17
  declare function getOwnerValidator(config: RhinestoneAccountConfig): Module;
18
18
  declare function getMockSignature(ownerSet: OwnerSet): Hex;
19
19
  declare function getValidator(owners: OwnerSet): Module;
20
20
  declare function getOwnableValidator(threshold: number, owners: Address[], address?: Address): Module;
21
- declare function getWebAuthnValidator(threshold: number, webAuthnCredentials: WebauthnCredential[]): Module;
21
+ declare function getWebAuthnValidator(threshold: number, webAuthnCredentials: WebauthnCredential[], address?: Address): Module;
22
22
  declare function getMultiFactorValidator(threshold: number, validators: (OwnableValidatorConfig | WebauthnValidatorConfig | null)[]): Module;
23
23
  declare function getSocialRecoveryValidator(guardians: Account[], threshold?: number): Module;
24
- export { OWNABLE_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, MULTI_FACTOR_VALIDATOR_ADDRESS, OWNABLE_V0_VALIDATOR_ADDRESS, getOwnerValidator, getOwnableValidator, getWebAuthnValidator, getMultiFactorValidator, getSocialRecoveryValidator, getValidator, getMockSignature, };
24
+ declare function supportsEip712(validator: Module): boolean;
25
+ export { OWNABLE_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, MULTI_FACTOR_VALIDATOR_ADDRESS, WEBAUTHN_V0_VALIDATOR_ADDRESS, getOwnerValidator, getOwnableValidator, getWebAuthnValidator, getMultiFactorValidator, getSocialRecoveryValidator, getValidator, getMockSignature, supportsEip712, };
25
26
  export type { WebauthnCredential };
26
27
  //# 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,EAIT,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EACV,sBAAsB,EACtB,QAAQ,EACR,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,aAAa,CAAA;AAEpB,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;AAG9C,QAAA,MAAM,8BAA8B,EAAE,OACQ,CAAA;AAE9C,QAAA,MAAM,4BAA4B,EAAE,OACU,CAAA;AAO9C,iBAAS,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,UAEzD;AAED,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAkDjD;AAED,iBAAS,YAAY,CAAC,MAAM,EAAE,QAAQ,UAyBrC;AAED,iBAAS,mBAAmB,CAC1B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,EAAE,EACjB,OAAO,CAAC,EAAE,OAAO,GAChB,MAAM,CAiBR;AAED,iBAAS,oBAAoB,CAC3B,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,kBAAkB,EAAE,GACxC,MAAM,CA4DR;AAED,iBAAS,uBAAuB,CAC9B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,CAAC,sBAAsB,GAAG,uBAAuB,GAAG,IAAI,CAAC,EAAE,GACtE,MAAM,CAgDR;AAED,iBAAS,0BAA0B,CACjC,SAAS,EAAE,OAAO,EAAE,EACpB,SAAS,SAAI,GACZ,MAAM,CAsBR;AAeD,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,8BAA8B,EAC9B,4BAA4B,EAC5B,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC1B,YAAY,EACZ,gBAAgB,GACjB,CAAA;AACD,YAAY,EAAE,kBAAkB,EAAE,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,EAIT,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EACV,sBAAsB,EACtB,QAAQ,EACR,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,aAAa,CAAA;AAEpB,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;AAG9C,QAAA,MAAM,8BAA8B,EAAE,OACQ,CAAA;AAO9C,QAAA,MAAM,6BAA6B,EAAE,OACS,CAAA;AAO9C,iBAAS,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,UAEzD;AAED,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAiDjD;AAED,iBAAS,YAAY,CAAC,MAAM,EAAE,QAAQ,UAoBrC;AAED,iBAAS,mBAAmB,CAC1B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,EAAE,EACjB,OAAO,CAAC,EAAE,OAAO,GAChB,MAAM,CAiBR;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,CAAC,sBAAsB,GAAG,uBAAuB,GAAG,IAAI,CAAC,EAAE,GACtE,MAAM,CAgDR;AAED,iBAAS,0BAA0B,CACjC,SAAS,EAAE,OAAO,EAAE,EACpB,SAAS,SAAI,GACZ,MAAM,CAsBR;AAeD,iBAAS,cAAc,CAAC,SAAS,EAAE,MAAM,WAQxC;AAED,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,EAC7B,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC1B,YAAY,EACZ,gBAAgB,EAChB,cAAc,GACf,CAAA;AACD,YAAY,EAAE,kBAAkB,EAAE,CAAA"}