@rhinestone/sdk 1.13.4 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/src/accounts/index.d.ts +5 -2
  2. package/dist/src/accounts/index.d.ts.map +1 -1
  3. package/dist/src/accounts/index.js +43 -25
  4. package/dist/src/accounts/safe.d.ts.map +1 -1
  5. package/dist/src/accounts/safe.js +2 -0
  6. package/dist/src/accounts/signing/common.d.ts +7 -1
  7. package/dist/src/accounts/signing/common.d.ts.map +1 -1
  8. package/dist/src/accounts/signing/common.js +90 -15
  9. package/dist/src/accounts/signing/quorum.d.ts +78 -0
  10. package/dist/src/accounts/signing/quorum.d.ts.map +1 -0
  11. package/dist/src/accounts/signing/quorum.js +41 -0
  12. package/dist/src/actions/smart-sessions.d.ts +2 -1
  13. package/dist/src/actions/smart-sessions.d.ts.map +1 -1
  14. package/dist/src/actions/smart-sessions.js +6 -0
  15. package/dist/src/execution/index.d.ts +2 -1
  16. package/dist/src/execution/index.d.ts.map +1 -1
  17. package/dist/src/execution/index.js +5 -4
  18. package/dist/src/execution/quoters.d.ts +7 -0
  19. package/dist/src/execution/quoters.d.ts.map +1 -0
  20. package/dist/src/execution/quoters.js +55 -0
  21. package/dist/src/execution/utils.d.ts +2 -2
  22. package/dist/src/execution/utils.d.ts.map +1 -1
  23. package/dist/src/execution/utils.js +70 -6
  24. package/dist/src/index.d.ts +3 -3
  25. package/dist/src/index.d.ts.map +1 -1
  26. package/dist/src/index.js +7 -0
  27. package/dist/src/modules/validators/core.d.ts.map +1 -1
  28. package/dist/src/modules/validators/core.js +5 -0
  29. package/dist/src/modules/validators/quorum.d.ts +56 -0
  30. package/dist/src/modules/validators/quorum.d.ts.map +1 -0
  31. package/dist/src/modules/validators/quorum.js +215 -0
  32. package/dist/src/modules/validators/smart-sessions/swap/abi.d.ts +3 -0
  33. package/dist/src/modules/validators/smart-sessions/swap/abi.d.ts.map +1 -0
  34. package/dist/src/modules/validators/smart-sessions/swap/abi.js +67 -0
  35. package/dist/src/modules/validators/smart-sessions/swap/fynd.d.ts +92 -0
  36. package/dist/src/modules/validators/smart-sessions/swap/fynd.d.ts.map +1 -0
  37. package/dist/src/modules/validators/smart-sessions/swap/fynd.js +106 -0
  38. package/dist/src/modules/validators/smart-sessions/swap/rhinestone.d.ts +147 -0
  39. package/dist/src/modules/validators/smart-sessions/swap/rhinestone.d.ts.map +1 -0
  40. package/dist/src/modules/validators/smart-sessions/swap/rhinestone.js +311 -0
  41. package/dist/src/modules/validators/smart-sessions/swap/rules.d.ts +73 -0
  42. package/dist/src/modules/validators/smart-sessions/swap/rules.d.ts.map +1 -0
  43. package/dist/src/modules/validators/smart-sessions/swap/rules.js +112 -0
  44. package/dist/src/modules/validators/smart-sessions/swap/scope.d.ts +18 -0
  45. package/dist/src/modules/validators/smart-sessions/swap/scope.d.ts.map +1 -0
  46. package/dist/src/modules/validators/smart-sessions/swap/scope.js +124 -0
  47. package/dist/src/modules/validators/smart-sessions/swap/zero-ex.d.ts +143 -0
  48. package/dist/src/modules/validators/smart-sessions/swap/zero-ex.d.ts.map +1 -0
  49. package/dist/src/modules/validators/smart-sessions/swap/zero-ex.js +170 -0
  50. package/dist/src/modules/validators/smart-sessions.d.ts +9 -3
  51. package/dist/src/modules/validators/smart-sessions.d.ts.map +1 -1
  52. package/dist/src/modules/validators/smart-sessions.js +229 -89
  53. package/dist/src/orchestrator/consts.d.ts +1 -1
  54. package/dist/src/orchestrator/consts.js +1 -1
  55. package/dist/src/orchestrator/index.d.ts +2 -2
  56. package/dist/src/orchestrator/index.d.ts.map +1 -1
  57. package/dist/src/orchestrator/types.d.ts +12 -1
  58. package/dist/src/orchestrator/types.d.ts.map +1 -1
  59. package/dist/src/types.d.ts +84 -4
  60. package/dist/src/types.d.ts.map +1 -1
  61. package/package.json +7 -2
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.narrowQuoterPin = narrowQuoterPin;
4
+ exports.quoterPinFromSession = quoterPinFromSession;
5
+ exports.venuesForSession = venuesForSession;
6
+ function venuesForSession(session) {
7
+ const via = session?.swap?.via;
8
+ if (!via?.length)
9
+ return null;
10
+ const quoters = new Set();
11
+ for (const venue of via) {
12
+ if (venue.id === '0x')
13
+ quoters.add('0x');
14
+ else if (venue.id === 'fynd')
15
+ quoters.add('fynd');
16
+ else if (venue.id === 'rhinestone')
17
+ return null;
18
+ else
19
+ return null;
20
+ }
21
+ return quoters;
22
+ }
23
+ function quoterPinFromSession(signers, chainIds) {
24
+ if (signers?.type !== 'experimental_session')
25
+ return undefined;
26
+ const relevant = new Set(chainIds);
27
+ const sessions = 'session' in signers
28
+ ? [signers.session]
29
+ : Object.entries(signers.sessions)
30
+ .filter(([chainId]) => relevant.has(Number(chainId)))
31
+ .map(([, config]) => config.session);
32
+ let pinned = null;
33
+ for (const session of sessions) {
34
+ const venues = venuesForSession(session);
35
+ if (!venues)
36
+ continue;
37
+ if (!pinned) {
38
+ pinned = venues;
39
+ continue;
40
+ }
41
+ pinned = new Set([...pinned].filter((quoter) => venues.has(quoter)));
42
+ }
43
+ return pinned ? { include: [...pinned] } : undefined;
44
+ }
45
+ function narrowQuoterPin(derived, explicit) {
46
+ if (!explicit)
47
+ return derived;
48
+ if (!derived || !('include' in derived))
49
+ return explicit;
50
+ const allowed = new Set(derived.include);
51
+ const include = 'include' in explicit
52
+ ? explicit.include.filter((quoter) => allowed.has(quoter))
53
+ : derived.include.filter((quoter) => !explicit.exclude.includes(quoter));
54
+ return { include };
55
+ }
@@ -2,7 +2,7 @@ import { type Address, type Chain, type HashTypedDataParameters, type Hex, type
2
2
  import { type UserOperation } from 'viem/account-abstraction';
3
3
  import type { ResolvedSessionSignerSet } from '../modules/validators/smart-sessions';
4
4
  import { type IntentOp, type IntentRoute } from '../orchestrator';
5
- import { type AppFeeRate, type AuxiliaryFunds, type OriginSignature, type ProtocolFeeRate, type SettlementLayer, type SignatureMode } from '../orchestrator/types';
5
+ import { type AppFeeRate, type AuxiliaryFunds, type OriginSignature, type ProtocolFeeRate, type SettlementLayer, type SignatureMode, type SwapQuoterFilter } from '../orchestrator/types';
6
6
  import type { Call, CalldataInput, CallInput, RhinestoneAccountConfig, RhinestoneConfig, Session, SessionEnableData, SessionSignerSet, SignerSet, SourceAssetInput, Sponsorship, TokenRequest, TokenSymbol, Transaction, UserOperationTransaction } from '../types';
7
7
  type InternalSignerSet = Exclude<SignerSet, SessionSignerSet> | ResolvedSessionSignerSet;
8
8
  declare function resolveSignatureMode(config: RhinestoneConfig, signers: SignerSet | undefined, sourceChains: Chain[] | undefined, targetChain: Chain): Promise<SignatureMode>;
@@ -82,7 +82,7 @@ declare function prepareTransactionAsIntent(config: RhinestoneConfig, sourceChai
82
82
  to: Address;
83
83
  data: Hex;
84
84
  }[];
85
- } | undefined, signers: SignerSet | undefined, sourceCalls: Record<number, CallInput[]> | undefined, appFees?: AppFeeRate, customDeadline?: number, protocolFees?: ProtocolFeeRate): Promise<{
85
+ } | undefined, signers: SignerSet | undefined, sourceCalls: Record<number, CallInput[]> | undefined, appFees?: AppFeeRate, customDeadline?: number, protocolFees?: ProtocolFeeRate, quoters?: SwapQuoterFilter): Promise<{
86
86
  intentRoute: IntentRoute;
87
87
  intentInput: any;
88
88
  }>;
@@ -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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"}
@@ -27,6 +27,7 @@ const viem_1 = require("viem");
27
27
  const account_abstraction_1 = require("viem/account-abstraction");
28
28
  const erc7739_1 = require("viem/experimental/erc7739");
29
29
  const accounts_1 = require("../accounts");
30
+ const kernel_1 = require("../accounts/kernel");
30
31
  const common_1 = require("../accounts/signing/common");
31
32
  const startale_1 = require("../accounts/startale");
32
33
  const utils_1 = require("../accounts/utils");
@@ -35,6 +36,7 @@ const modules_1 = require("../modules");
35
36
  const validators_1 = require("../modules/validators");
36
37
  const core_1 = require("../modules/validators/core");
37
38
  const permit2_1 = require("../modules/validators/policies/claim/permit2");
39
+ const quorum_1 = require("../modules/validators/quorum");
38
40
  const orchestrator_1 = require("../orchestrator");
39
41
  const registry_1 = require("../orchestrator/registry");
40
42
  const types_1 = require("../orchestrator/types");
@@ -42,6 +44,7 @@ const utils_2 = require("../orchestrator/utils");
42
44
  const compact_1 = require("./compact");
43
45
  const error_1 = require("./error");
44
46
  const permit2_2 = require("./permit2");
47
+ const quoters_1 = require("./quoters");
45
48
  const singleChainOps_1 = require("./singleChainOps");
46
49
  function isResolvedSessionSignerSet(signers) {
47
50
  return (signers?.type === 'experimental_session' && 'verifyExecutions' in signers);
@@ -53,13 +56,20 @@ async function resolveSignersForChain(config, signers, chainId) {
53
56
  const resolved = resolveSessionForChain(signers, chainId);
54
57
  const enabled = await (0, validators_1.isSessionEnabled)((0, accounts_1.getAddress)(config), config.provider, resolved.session, config.useDevContracts);
55
58
  const enableData = enabled ? undefined : resolved.enableData;
56
- const hasExplicitActions = !!resolved.session.actions?.length;
57
- const verifyExecutions = resolved.verifyExecutions ?? signers.verifyExecutions ?? hasExplicitActions;
59
+ const restricted = resolved.session.restrictToActions === true ||
60
+ resolved.session.swap !== undefined;
61
+ const hasExplicitActions = !!resolved.session.actions?.length || resolved.session.swap !== undefined;
62
+ const verifyExecutions = restricted
63
+ ? true
64
+ : (resolved.verifyExecutions ??
65
+ signers.verifyExecutions ??
66
+ hasExplicitActions);
58
67
  return {
59
68
  type: 'experimental_session',
60
69
  session: resolved.session,
61
70
  enableData,
62
71
  verifyExecutions,
72
+ useDevContracts: config.useDevContracts,
63
73
  };
64
74
  }
65
75
  // Picks the single signature mode that matches the bytes shape the SDK will
@@ -104,13 +114,13 @@ function resolveSessionForChain(signers, chainId) {
104
114
  return { session: signers.session, enableData: signers.enableData };
105
115
  }
106
116
  async function prepareTransaction(config, transaction) {
107
- const { sourceChains, targetChain, tokenRequests, signers, sponsored, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, appFees, customDeadline, protocolFees, lockFunds, auxiliaryFunds, account, recipient, sourceCalls, } = getTransactionParams(transaction);
117
+ const { sourceChains, targetChain, tokenRequests, signers, sponsored, eip7702InitSignature, settlementLayers, quoters, sourceAssets, feeAsset, appFees, customDeadline, protocolFees, lockFunds, auxiliaryFunds, account, recipient, sourceCalls, } = getTransactionParams(transaction);
108
118
  const accountAddress = (0, accounts_1.getAddress)(config);
109
119
  const isUserOpSigner = signers?.type === 'guardians';
110
120
  if (isUserOpSigner) {
111
121
  throw new error_1.SignerNotSupportedError();
112
122
  }
113
- const prepared = await prepareTransactionAsIntent(config, sourceChains, targetChain, await resolveCallInputs(transaction.calls, config, targetChain, accountAddress), transaction.gasLimit, tokenRequests, recipient, sponsored, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, lockFunds, auxiliaryFunds, account, signers, sourceCalls, appFees, customDeadline, protocolFees);
123
+ const prepared = await prepareTransactionAsIntent(config, sourceChains, targetChain, await resolveCallInputs(transaction.calls, config, targetChain, accountAddress), transaction.gasLimit, tokenRequests, recipient, sponsored, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, lockFunds, auxiliaryFunds, account, signers, sourceCalls, appFees, customDeadline, protocolFees, quoters);
114
124
  return {
115
125
  intentRoute: prepared.intentRoute,
116
126
  intentInput: prepared.intentInput,
@@ -350,6 +360,7 @@ function getTransactionParams(transaction) {
350
360
  const sponsored = transaction.sponsored;
351
361
  const gasLimit = transaction.gasLimit;
352
362
  const settlementLayers = transaction.settlementLayers;
363
+ const quoters = transaction.quoters;
353
364
  const sourceAssets = transaction.sourceAssets;
354
365
  const feeAsset = transaction.feeAsset;
355
366
  const appFees = transaction.appFees;
@@ -370,6 +381,7 @@ function getTransactionParams(transaction) {
370
381
  eip7702InitSignature,
371
382
  gasLimit,
372
383
  settlementLayers,
384
+ quoters,
373
385
  sourceAssets,
374
386
  feeAsset,
375
387
  appFees,
@@ -433,7 +445,7 @@ function getIntentAccount(config, eip7702InitSignature, account) {
433
445
  delegations,
434
446
  };
435
447
  }
436
- async function prepareTransactionAsIntent(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, recipientInput, sponsored, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, lockFunds, auxiliaryFunds, account, signers, sourceCalls, appFees, customDeadline, protocolFees) {
448
+ async function prepareTransactionAsIntent(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, recipientInput, sponsored, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, lockFunds, auxiliaryFunds, account, signers, sourceCalls, appFees, customDeadline, protocolFees, quoters) {
437
449
  const calls = parseCalls(callInputs, targetChain.id);
438
450
  const accountAccessList = createAccountAccessList(sourceChains, sourceAssets);
439
451
  function getRecipient(recipient) {
@@ -522,6 +534,11 @@ async function prepareTransactionAsIntent(config, sourceChains, targetChain, cal
522
534
  ];
523
535
  }
524
536
  }
537
+ const sessionQuoters = (0, quoters_1.quoterPinFromSession)(signers, [
538
+ ...(sourceChains ?? []).map((chain) => chain.id),
539
+ targetChain.id,
540
+ ]);
541
+ const resolvedQuoters = (0, quoters_1.narrowQuoterPin)(sessionQuoters, quoters);
525
542
  const metaIntent = {
526
543
  destinationChainId: targetChain.id,
527
544
  tokenRequests: tokenRequests.map((tokenRequest) => ({
@@ -555,6 +572,7 @@ async function prepareTransactionAsIntent(config, sourceChains, targetChain, cal
555
572
  }
556
573
  : undefined,
557
574
  settlementLayers,
575
+ ...(resolvedQuoters ? { quoters: resolvedQuoters } : {}),
558
576
  signatureMode,
559
577
  auxiliaryFunds,
560
578
  },
@@ -594,6 +612,12 @@ async function signIntent(config, intentOp, targetChain, signers, targetExecutio
594
612
  }
595
613
  const ownerValidator = (0, validators_1.getOwnerValidator)(config);
596
614
  const isRoot = validator.address === ownerValidator.address;
615
+ if (isRoot &&
616
+ config.owners?.type === 'quorum' &&
617
+ origin.length > 1 &&
618
+ (!signers || (signers.type === 'owner' && signers.kind === 'quorum'))) {
619
+ return signQuorumIntentOrigins(config, origin, validator, isRoot, signers);
620
+ }
597
621
  const originSignatures = [];
598
622
  for (const typedData of origin) {
599
623
  const chain = (0, registry_1.getChainById)(typedData.domain?.chainId);
@@ -608,6 +632,40 @@ async function signIntent(config, intentOp, targetChain, signers, targetExecutio
608
632
  destinationSignature,
609
633
  };
610
634
  }
635
+ async function signQuorumIntentOrigins(config, origins, validator, isRoot, signers) {
636
+ if (config.owners?.type !== 'quorum') {
637
+ throw new Error('Quorum owner configuration is missing');
638
+ }
639
+ const address = (0, accounts_1.getAddress)(config);
640
+ const account = (0, accounts_1.getAccountProvider)(config);
641
+ const chains = origins.map((typedData) => (0, registry_1.getChainById)(typedData.domain?.chainId));
642
+ const quorumSigners = signers ?? (0, common_1.convertOwnerSetToSignerSet)(config.owners);
643
+ if (quorumSigners.type !== 'owner' || quorumSigners.kind !== 'quorum') {
644
+ throw new Error('Quorum owners require quorum signers');
645
+ }
646
+ const tree = (0, quorum_1.buildQuorumMerkleTree)(origins.map((typedData, index) => {
647
+ const hash = (0, viem_1.hashTypedData)(typedData);
648
+ const accountHash = account.type === 'kernel' ? (0, kernel_1.wrapMessageHash)(hash, address) : hash;
649
+ return {
650
+ account: address,
651
+ digest: (0, quorum_1.getQuorumSignableHash)({
652
+ validator: validator.address,
653
+ chainId: chains[index].id,
654
+ account: address,
655
+ hash: accountHash,
656
+ }),
657
+ };
658
+ }));
659
+ const signatures = await (0, common_1.signQuorumHash)(quorumSigners, config.owners, undefined, (0, quorum_1.getQuorumMerkleRootSignableHash)({
660
+ validator: validator.address,
661
+ root: tree.root,
662
+ }));
663
+ const originSignatures = await Promise.all(tree.operations.map((operation) => (0, accounts_1.packEip1271Signature)(config, (0, quorum_1.encodeQuorumMerkleSignature)({ operation, signatures }), { address: validator.address, isRoot })));
664
+ return {
665
+ originSignatures,
666
+ destinationSignature: originSignatures.at(-1),
667
+ };
668
+ }
611
669
  async function getDestinationSignature(config, signers, validator, isRoot, targetChain, destination, originSignatures, targetExecution) {
612
670
  // Smart sessions require a separate destination signature because the
613
671
  // session enable data differs per chain
@@ -709,6 +767,7 @@ async function signIntentTypedData(config, signers, validator, isRoot, parameter
709
767
  session: signers.session,
710
768
  verifyExecutions: true,
711
769
  enableData: signers.enableData,
770
+ useDevContracts: signers.useDevContracts,
712
771
  };
713
772
  // signWithSession (called inside getEmissarySignature) already calls packSignature
714
773
  // internally, so no transform is needed here
@@ -721,6 +780,7 @@ async function signIntentTypedData(config, signers, validator, isRoot, parameter
721
780
  verifyExecutions: false,
722
781
  enableData: signers.enableData,
723
782
  claimPolicyData,
783
+ useDevContracts: signers.useDevContracts,
724
784
  };
725
785
  const eip1271Signature = await (0, accounts_1.getEip1271Signature)(config, sessionSignersForEip1271, chain, {
726
786
  address: validator.address,
@@ -731,6 +791,7 @@ async function signIntentTypedData(config, signers, validator, isRoot, parameter
731
791
  session: signers.session,
732
792
  verifyExecutions: true,
733
793
  enableData: signers.enableData,
794
+ useDevContracts: signers.useDevContracts,
734
795
  }, chain, hash);
735
796
  return {
736
797
  preClaimSig: emissarySignature,
@@ -846,7 +907,7 @@ async function getValidatorAccount(config, signers, publicClient, chain) {
846
907
  // Owners
847
908
  const withOwner = signers.type === 'owner' ? signers : null;
848
909
  if (withOwner) {
849
- return (0, accounts_1.getSmartAccount)(config, publicClient, chain);
910
+ return (0, accounts_1.getSmartAccount)(config, publicClient, chain, withOwner);
850
911
  }
851
912
  const withGuardians = signers.type === 'guardians' ? signers : null;
852
913
  return withGuardians
@@ -868,6 +929,9 @@ function getValidator(config, signers) {
868
929
  // Use the configured owner validator (e.g., ENS) rather than forcing Ownable
869
930
  return (0, validators_1.getOwnerValidator)(config);
870
931
  }
932
+ if (withOwner.kind === 'quorum') {
933
+ return (0, validators_1.getOwnerValidator)(config);
934
+ }
871
935
  // Passkeys (WebAuthn)
872
936
  if (withOwner.kind === 'passkey') {
873
937
  return (0, core_1.getWebAuthnValidator)(1, withOwner.accounts.map((account) => ({
@@ -7,8 +7,8 @@ import { type BatchPermit2Result, checkERC20AllowanceDirect, getPermit2Address,
7
7
  import { type IntentRoute, type PreparedTransactionData, type PreparedUserOperationData, type SignedTransactionData, type SignedUserOperationData } from './execution/utils';
8
8
  import { MULTI_FACTOR_VALIDATOR_ADDRESS, OWNABLE_VALIDATOR_ADDRESS, SMART_SESSION_EMISSARY_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS } from './modules';
9
9
  import { type SessionDetails } from './modules/validators/smart-sessions';
10
- import { type AppFee, type AppFeeBalances, type AppFeeRate, type ApprovalRequired, type AuxiliaryFunds, 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
- import type { AccountProviderConfig, AccountType, BundlerConfig, Call, CallInput, ChainSessionConfig, MultiFactorValidatorConfig, OwnableValidatorConfig, OwnerSet, PaymasterConfig, Permit2ClaimPolicy, Policy, ProviderConfig, Recovery, RhinestoneAccountConfig, RhinestoneConfig, RhinestoneSDKConfig, Session, SignerSet, TokenRequest, TokenSymbol, Transaction, UniversalActionPolicyParamCondition, UserOperationTransaction, WebauthnValidatorConfig } from './types';
10
+ import { type AppFee, type AppFeeBalances, type AppFeeRate, type ApprovalRequired, type AuxiliaryFunds, getAllSupportedChainsAndTokens, getSupportedTokens, getTokenAddress, getTokenDecimals, type IntentInput, type IntentOp, type IntentOpStatus, type Portfolio, type SettlementLayer, type SignedIntentOp, type SplitIntentsInput, type SplitIntentsResult, type SwapQuoter, type SwapQuoterFilter, type TokenRequirements, type WrapRequired } from './orchestrator';
11
+ import type { AccountProviderConfig, AccountType, BundlerConfig, Call, CallInput, ChainSessionConfig, MultiFactorValidatorConfig, OwnableValidatorConfig, OwnerSet, PaymasterConfig, Permit2ClaimPolicy, Policy, ProviderConfig, QuorumOwner, QuorumValidatorConfig, Recovery, RhinestoneAccountConfig, RhinestoneConfig, RhinestoneSDKConfig, Session, SignerSet, SwapScope, TokenRequest, TokenSymbol, Transaction, UniversalActionPolicyParamCondition, UserOperationTransaction, WebauthnValidatorConfig } from './types';
12
12
  interface RhinestoneAccount {
13
13
  config: RhinestoneAccountConfig;
14
14
  deploy: (chain: Chain, params?: {
@@ -84,6 +84,6 @@ declare class RhinestoneSDK {
84
84
  */
85
85
  getAppFeeBalances(): Promise<AppFeeBalances>;
86
86
  }
87
- export type { AccountProviderConfig, AccountType, AppFee, AppFeeBalances, AppFeeRate, ApprovalRequired, AuxiliaryFunds, BatchPermit2Result, BundlerConfig, Call, CallInput, ChainSessionConfig, IntentInput, IntentOp, IntentOpStatus, IntentRoute, MultiChainPermit2Config, MultiChainPermit2Result, MultiFactorValidatorConfig, OwnableValidatorConfig, OwnerSet, PaymasterConfig, Permit2ClaimPolicy, Policy, Portfolio, PreparedTransactionData, PreparedUserOperationData, ProviderConfig, Recovery, RhinestoneAccount, RhinestoneAccountConfig, Session, SettlementLayer, SignedIntentOp, SignedTransactionData, SignedUserOperationData, SignerSet, SplitIntentsInput, SplitIntentsResult, TokenRequest, TokenRequirements, TokenSymbol, Transaction, TransactionResult, UniversalActionPolicyParamCondition, UserOperationResult, WebauthnValidatorConfig, WrapRequired, };
87
+ export type { AccountProviderConfig, AccountType, AppFee, AppFeeBalances, AppFeeRate, ApprovalRequired, AuxiliaryFunds, BatchPermit2Result, BundlerConfig, Call, CallInput, ChainSessionConfig, IntentInput, IntentOp, IntentOpStatus, IntentRoute, MultiChainPermit2Config, MultiChainPermit2Result, MultiFactorValidatorConfig, OwnableValidatorConfig, OwnerSet, PaymasterConfig, Permit2ClaimPolicy, Policy, Portfolio, PreparedTransactionData, PreparedUserOperationData, ProviderConfig, QuorumOwner, QuorumValidatorConfig, Recovery, RhinestoneAccount, RhinestoneAccountConfig, Session, SettlementLayer, SignedIntentOp, SignedTransactionData, SignedUserOperationData, SignerSet, SplitIntentsInput, SplitIntentsResult, SwapQuoter, SwapQuoterFilter, SwapScope, TokenRequest, TokenRequirements, TokenSymbol, Transaction, TransactionResult, UniversalActionPolicyParamCondition, UserOperationResult, WebauthnValidatorConfig, WrapRequired, };
88
88
  export { checkERC20AllowanceDirect, createRhinestoneAccount, deployAccountsForOwners, getAllSupportedChainsAndTokens, getPermit2Address, getSupportedTokens, getTokenAddress, getTokenDecimals, MULTI_FACTOR_VALIDATOR_ADDRESS, OWNABLE_VALIDATOR_ADDRESS, RhinestoneSDK, SMART_SESSION_EMISSARY_ADDRESS, signPermit2Batch, signPermit2Sequential, WEBAUTHN_VALIDATOR_ADDRESS, walletClientToAccount, wrapParaAccount, };
89
89
  //# 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
@@ -21,6 +21,7 @@ Object.defineProperty(exports, "MULTI_FACTOR_VALIDATOR_ADDRESS", { enumerable: t
21
21
  Object.defineProperty(exports, "OWNABLE_VALIDATOR_ADDRESS", { enumerable: true, get: function () { return modules_1.OWNABLE_VALIDATOR_ADDRESS; } });
22
22
  Object.defineProperty(exports, "SMART_SESSION_EMISSARY_ADDRESS", { enumerable: true, get: function () { return modules_1.SMART_SESSION_EMISSARY_ADDRESS; } });
23
23
  Object.defineProperty(exports, "WEBAUTHN_VALIDATOR_ADDRESS", { enumerable: true, get: function () { return modules_1.WEBAUTHN_VALIDATOR_ADDRESS; } });
24
+ const quorum_1 = require("./modules/validators/quorum");
24
25
  const smart_sessions_1 = require("./modules/validators/smart-sessions");
25
26
  const orchestrator_1 = require("./orchestrator");
26
27
  Object.defineProperty(exports, "getAllSupportedChainsAndTokens", { enumerable: true, get: function () { return orchestrator_1.getAllSupportedChainsAndTokens; } });
@@ -41,6 +42,9 @@ async function createRhinestoneAccount(config) {
41
42
  if (config.account?.type !== 'eoa' && !config.owners) {
42
43
  throw new accounts_1.OwnersFieldRequiredError();
43
44
  }
45
+ if (config.owners?.type === 'quorum') {
46
+ (0, quorum_1.getQuorumValidator)(config.owners);
47
+ }
44
48
  /**
45
49
  * Deploys the account on a given chain
46
50
  * @param chain Chain to deploy the account on
@@ -221,6 +225,9 @@ async function createRhinestoneAccount(config) {
221
225
  * @returns Account owners
222
226
  */
223
227
  function getOwners(chain) {
228
+ if (config.owners?.type === 'quorum') {
229
+ throw new Error('getOwners is not supported for Quorum validators');
230
+ }
224
231
  const accountType = (0, accounts_1.getAccountProvider)(config).type;
225
232
  const account = getAddress();
226
233
  // For HCA, the module lives behind the factory (custom factories define
@@ -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,EAMZ,KAAK,GAAG,EAOT,MAAM,MAAM,CAAA;AAMb,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;AAGjE,QAAA,MAAM,kCAAkC,EAAE,OACI,CAAA;AAC9C,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,cAAc,EAAE,OAAsD,CAAA;AAC5E,QAAA,MAAM,0BAA0B,EAAE,OACY,CAAA;AAG9C,QAAA,MAAM,8BAA8B,EAAE,OACQ,CAAA;AAO9C,QAAA,MAAM,6BAA6B,EAAE,OACS,CAAA;AAS9C,iBAAS,eAAe,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAMlD;AAED,iBAAS,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,UAazD;AAED,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAsDjD;AAED,iBAAS,YAAY,CAAC,MAAM,EAAE,QAAQ,UAiCrC;AA2BD,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,GACzB,MAAM,CAsCR;AAED,iBAAS,oBAAoB,CAC3B,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,kBAAkB,EAAE,EACzC,OAAO,CAAC,EAAE,OAAO,GAChB,MAAM,CA4DR;AAED,iBAAS,yBAAyB,CAChC,SAAS,EACL,sBAAsB,GACtB,kBAAkB,GAClB,uBAAuB,GAC1B,GAAG,CAgFL;AAED,iBAAS,uBAAuB,CAC9B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,CACR,sBAAsB,GACtB,kBAAkB,GAClB,uBAAuB,GACvB,IAAI,CACP,EAAE,EACH,OAAO,CAAC,EAAE,OAAO,GAChB,MAAM,CAgDR;AAED,iBAAS,0BAA0B,CACjC,SAAS,EAAE,OAAO,EAAE,EACpB,SAAS,SAAI,GACZ,MAAM,CAyBR;AAeD,iBAAS,cAAc,CAAC,SAAS,EAAE,MAAM,WAUxC;AAED,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,EAC7B,8BAA8B,EAC9B,kCAAkC,EAClC,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,EAC1B,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,eAAe,GAChB,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,EAMZ,KAAK,GAAG,EAOT,MAAM,MAAM,CAAA;AAMb,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;AAIjE,QAAA,MAAM,kCAAkC,EAAE,OACI,CAAA;AAC9C,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,cAAc,EAAE,OAAsD,CAAA;AAC5E,QAAA,MAAM,0BAA0B,EAAE,OACY,CAAA;AAG9C,QAAA,MAAM,8BAA8B,EAAE,OACQ,CAAA;AAO9C,QAAA,MAAM,6BAA6B,EAAE,OACS,CAAA;AAS9C,iBAAS,eAAe,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAMlD;AAED,iBAAS,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,UAazD;AAED,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAwDjD;AAED,iBAAS,YAAY,CAAC,MAAM,EAAE,QAAQ,UAmCrC;AA2BD,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,GACzB,MAAM,CAsCR;AAED,iBAAS,oBAAoB,CAC3B,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,kBAAkB,EAAE,EACzC,OAAO,CAAC,EAAE,OAAO,GAChB,MAAM,CA4DR;AAED,iBAAS,yBAAyB,CAChC,SAAS,EACL,sBAAsB,GACtB,kBAAkB,GAClB,uBAAuB,GAC1B,GAAG,CAgFL;AAED,iBAAS,uBAAuB,CAC9B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,CACR,sBAAsB,GACtB,kBAAkB,GAClB,uBAAuB,GACvB,IAAI,CACP,EAAE,EACH,OAAO,CAAC,EAAE,OAAO,GAChB,MAAM,CAgDR;AAED,iBAAS,0BAA0B,CACjC,SAAS,EAAE,OAAO,EAAE,EACpB,SAAS,SAAI,GACZ,MAAM,CAyBR;AAeD,iBAAS,cAAc,CAAC,SAAS,EAAE,MAAM,WAUxC;AAED,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,EAC7B,8BAA8B,EAC9B,kCAAkC,EAClC,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,EAC1B,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,eAAe,GAChB,CAAA;AACD,YAAY,EAAE,kBAAkB,EAAE,CAAA"}
@@ -16,6 +16,7 @@ const viem_1 = require("viem");
16
16
  const error_1 = require("../../accounts/error");
17
17
  const common_1 = require("../common");
18
18
  const ordering_1 = require("./ordering");
19
+ const quorum_1 = require("./quorum");
19
20
  const SMART_SESSION_EMISSARY_ADDRESS_DEV = '0x60731de80d78548875f8a67c4fec2a8660194e0c';
20
21
  exports.SMART_SESSION_EMISSARY_ADDRESS_DEV = SMART_SESSION_EMISSARY_ADDRESS_DEV;
21
22
  const SMART_SESSION_EMISSARY_ADDRESS = '0xad568b3f825a8d5ffc06dd3253526b64d810ae89';
@@ -63,6 +64,8 @@ function getMockSignature(ownerSet) {
63
64
  const signatures = owners.map(() => ECDSA_MOCK_SIGNATURE);
64
65
  return (0, viem_1.concat)(signatures);
65
66
  }
67
+ case 'quorum':
68
+ return (0, quorum_1.getQuorumMockSignature)(ownerSet);
66
69
  case 'passkey':
67
70
  return WEBAUTHN_MOCK_SIGNATURE;
68
71
  case 'multi-factor': {
@@ -102,6 +105,8 @@ function getValidator(owners) {
102
105
  switch (owners.type) {
103
106
  case 'ecdsa':
104
107
  return getOwnableValidator(owners.threshold ?? 1, owners.accounts.map((account) => account.address), owners.module);
108
+ case 'quorum':
109
+ return (0, quorum_1.getQuorumValidator)(owners);
105
110
  case 'ens':
106
111
  // ENS validation is baked into the HCA account implementation, so the
107
112
  // module address is fixed (no override).
@@ -0,0 +1,56 @@
1
+ import { type Address, type Hex } from 'viem';
2
+ import type { QuorumValidatorConfig } from '../../types';
3
+ import type { Module } from '../common';
4
+ interface QuorumSigningOwner {
5
+ readonly ownerId: string;
6
+ readonly signer: Address;
7
+ readonly weight: bigint;
8
+ }
9
+ interface QuorumOwnerSignature {
10
+ readonly ownerId: string;
11
+ readonly signature: Hex;
12
+ }
13
+ interface QuorumMerkleProof {
14
+ readonly root: Hex;
15
+ readonly proof: readonly Hex[];
16
+ }
17
+ interface QuorumMerkleOperation extends QuorumMerkleProof {
18
+ readonly account: Address;
19
+ readonly digest: Hex;
20
+ readonly leaf: Hex;
21
+ }
22
+ declare function getQuorumSignableHash(input: {
23
+ readonly validator: Address;
24
+ readonly chainId: number;
25
+ readonly account: Address;
26
+ readonly hash: Hex;
27
+ }): Hex;
28
+ declare function buildQuorumMerkleTree(operations: readonly {
29
+ readonly account: Address;
30
+ readonly digest: Hex;
31
+ }[]): {
32
+ readonly root: Hex;
33
+ readonly operations: readonly QuorumMerkleOperation[];
34
+ };
35
+ declare function getQuorumMerkleRootSignableHash(input: {
36
+ readonly validator: Address;
37
+ readonly root: Hex;
38
+ }): Hex;
39
+ declare function getQuorumValidator(config: QuorumValidatorConfig): Module;
40
+ declare function encodeQuorumOwnerSignatures(input: {
41
+ readonly owners: readonly QuorumSigningOwner[];
42
+ readonly thresholdWeight: bigint;
43
+ readonly signatures: readonly QuorumOwnerSignature[];
44
+ }): Hex;
45
+ declare function encodeQuorumErc1271Signature(input: {
46
+ readonly signatures: Hex;
47
+ }): Hex;
48
+ declare function encodeQuorumMerkleSignature(input: {
49
+ readonly operation: QuorumMerkleProof;
50
+ readonly signatures: Hex;
51
+ }): Hex;
52
+ declare function getQuorumMockSignature(config: QuorumValidatorConfig): Hex;
53
+ declare function getQuorumConfigOwners(config: QuorumValidatorConfig): QuorumSigningOwner[];
54
+ export { buildQuorumMerkleTree, encodeQuorumErc1271Signature, encodeQuorumMerkleSignature, encodeQuorumOwnerSignatures, getQuorumConfigOwners, getQuorumMerkleRootSignableHash, getQuorumMockSignature, getQuorumSignableHash, getQuorumValidator, };
55
+ export type { QuorumMerkleOperation, QuorumMerkleProof, QuorumOwnerSignature, QuorumSigningOwner, };
56
+ //# sourceMappingURL=quorum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quorum.d.ts","sourceRoot":"","sources":["../../../../modules/validators/quorum.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAGZ,KAAK,GAAG,EAMT,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAcvC,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAA;CACxB;AAED,UAAU,iBAAiB;IACzB,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAA;IAClB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,EAAE,CAAA;CAC/B;AAED,UAAU,qBAAsB,SAAQ,iBAAiB;IACvD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAA;IACpB,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAA;CACnB;AAED,iBAAS,qBAAqB,CAAC,KAAK,EAAE;IACpC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAA;CACnB,GAAG,GAAG,CAmBN;AAED,iBAAS,qBAAqB,CAC5B,UAAU,EAAE,SAAS;IACnB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAA;CACrB,EAAE,GACF;IACD,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAA;IAClB,QAAQ,CAAC,UAAU,EAAE,SAAS,qBAAqB,EAAE,CAAA;CACtD,CAuCA;AAED,iBAAS,+BAA+B,CAAC,KAAK,EAAE;IAC9C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAA;CACnB,GAAG,GAAG,CAaN;AAED,iBAAS,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,CA4BjE;AAED,iBAAS,2BAA2B,CAAC,KAAK,EAAE;IAC1C,QAAQ,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAA;IAC9C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,SAAS,oBAAoB,EAAE,CAAA;CACrD,GAAG,GAAG,CA8BN;AAED,iBAAS,4BAA4B,CAAC,KAAK,EAAE;IAC3C,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAA;CACzB,GAAG,GAAG,CAKN;AAED,iBAAS,2BAA2B,CAAC,KAAK,EAAE;IAC1C,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAA;IACrC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAA;CACzB,GAAG,GAAG,CAaN;AAED,iBAAS,sBAAsB,CAAC,MAAM,EAAE,qBAAqB,GAAG,GAAG,CAUlE;AAED,iBAAS,qBAAqB,CAC5B,MAAM,EAAE,qBAAqB,GAC5B,kBAAkB,EAAE,CAEtB;AA2ED,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,qBAAqB,EACrB,+BAA+B,EAC/B,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,GACnB,CAAA;AACD,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,GACnB,CAAA"}