permissionless 0.2.23 → 0.2.24

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.
@@ -0,0 +1,94 @@
1
+ import { concat, concatHex, decodeAbiParameters, encodeAbiParameters, encodePacked } from "viem";
2
+ import { toOwner } from "../../utils/index.js";
3
+ import { EIP712_SAFE_OPERATION_TYPE_V06, EIP712_SAFE_OPERATION_TYPE_V07, getDefaultAddresses, getPaymasterAndData } from "./toSafeSmartAccount.js";
4
+ export async function signUserOperation(parameters) {
5
+ const { chainId, entryPoint, validAfter = 0, validUntil = 0, safe4337ModuleAddress: _safe4337ModuleAddress, version, owners, signatures: existingSignatures, account, ...userOperation } = parameters;
6
+ const { safe4337ModuleAddress } = getDefaultAddresses(version, entryPoint.version, {
7
+ safe4337ModuleAddress: _safe4337ModuleAddress
8
+ });
9
+ const message = {
10
+ safe: userOperation.sender,
11
+ callData: userOperation.callData,
12
+ nonce: userOperation.nonce,
13
+ initCode: userOperation.initCode ?? "0x",
14
+ maxFeePerGas: userOperation.maxFeePerGas,
15
+ maxPriorityFeePerGas: userOperation.maxPriorityFeePerGas,
16
+ preVerificationGas: userOperation.preVerificationGas,
17
+ verificationGasLimit: userOperation.verificationGasLimit,
18
+ callGasLimit: userOperation.callGasLimit,
19
+ paymasterAndData: userOperation.paymasterAndData ?? "0x",
20
+ validAfter: validAfter,
21
+ validUntil: validUntil,
22
+ entryPoint: entryPoint.address
23
+ };
24
+ if ("initCode" in userOperation) {
25
+ message.paymasterAndData = userOperation.paymasterAndData ?? "0x";
26
+ }
27
+ if ("factory" in userOperation) {
28
+ if (userOperation.factory && userOperation.factoryData) {
29
+ message.initCode = concatHex([
30
+ userOperation.factory,
31
+ userOperation.factoryData
32
+ ]);
33
+ }
34
+ if (!userOperation.sender) {
35
+ throw new Error("Sender is required");
36
+ }
37
+ message.paymasterAndData = getPaymasterAndData({
38
+ ...userOperation,
39
+ sender: userOperation.sender
40
+ });
41
+ }
42
+ const localOwners = [
43
+ await toOwner({
44
+ owner: account
45
+ })
46
+ ];
47
+ let unPackedSignatures = [];
48
+ if (existingSignatures) {
49
+ const decoded = decodeAbiParameters([
50
+ {
51
+ components: [
52
+ { type: "address", name: "signer" },
53
+ { type: "bytes", name: "data" }
54
+ ],
55
+ name: "signatures",
56
+ type: "tuple[]"
57
+ }
58
+ ], existingSignatures);
59
+ unPackedSignatures = decoded[0];
60
+ }
61
+ const signatures = [
62
+ ...unPackedSignatures,
63
+ ...(await Promise.all(localOwners.map(async (localOwner) => ({
64
+ signer: localOwner.address,
65
+ data: await localOwner.signTypedData({
66
+ domain: {
67
+ chainId,
68
+ verifyingContract: safe4337ModuleAddress
69
+ },
70
+ types: entryPoint.version === "0.6"
71
+ ? EIP712_SAFE_OPERATION_TYPE_V06
72
+ : EIP712_SAFE_OPERATION_TYPE_V07,
73
+ primaryType: "SafeOp",
74
+ message: message
75
+ })
76
+ }))))
77
+ ];
78
+ if (signatures.length !== owners.length) {
79
+ return encodeAbiParameters([
80
+ {
81
+ components: [
82
+ { type: "address", name: "signer" },
83
+ { type: "bytes", name: "data" }
84
+ ],
85
+ name: "signatures",
86
+ type: "tuple[]"
87
+ }
88
+ ], [signatures]);
89
+ }
90
+ signatures.sort((left, right) => left.signer.toLowerCase().localeCompare(right.signer.toLowerCase()));
91
+ const signatureBytes = concat(signatures.map((sig) => sig.data));
92
+ return encodePacked(["uint48", "uint48", "bytes"], [validAfter, validUntil, signatureBytes]);
93
+ }
94
+ //# sourceMappingURL=signUserOperation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signUserOperation.js","sourceRoot":"","sources":["../../../accounts/safe/signUserOperation.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
- import { concat, concatHex, encodeAbiParameters, encodeFunctionData, encodePacked, getContractAddress, hashMessage, hashTypedData, hexToBigInt, keccak256, pad, toBytes, toHex, zeroAddress } from "viem";
1
+ import { concat, encodeAbiParameters, encodeFunctionData, encodePacked, getContractAddress, hashMessage, hashTypedData, hexToBigInt, keccak256, pad, toBytes, toHex, zeroAddress } from "viem";
2
2
  import { entryPoint06Abi, entryPoint07Abi, entryPoint07Address, toSmartAccount } from "viem/account-abstraction";
3
- import { getChainId, readContract, signTypedData } from "viem/actions";
3
+ import { getChainId, readContract } from "viem/actions";
4
4
  import { getAction } from "viem/utils";
5
5
  import { getAccountNonce } from "../../actions/public/getAccountNonce.js";
6
6
  import { encode7579Calls } from "../../utils/encode7579Calls.js";
7
7
  import { isSmartAccountDeployed } from "../../utils/isSmartAccountDeployed.js";
8
8
  import { toOwner } from "../../utils/toOwner.js";
9
+ import { signUserOperation } from "./signUserOperation.js";
9
10
  const multiSendAbi = [
10
11
  {
11
12
  inputs: [
@@ -317,7 +318,7 @@ const executeUserOpWithErrorStringAbi = [
317
318
  type: "function"
318
319
  }
319
320
  ];
320
- const EIP712_SAFE_OPERATION_TYPE_V06 = {
321
+ export const EIP712_SAFE_OPERATION_TYPE_V06 = {
321
322
  SafeOp: [
322
323
  { type: "address", name: "safe" },
323
324
  { type: "uint256", name: "nonce" },
@@ -334,7 +335,7 @@ const EIP712_SAFE_OPERATION_TYPE_V06 = {
334
335
  { type: "address", name: "entryPoint" }
335
336
  ]
336
337
  };
337
- const EIP712_SAFE_OPERATION_TYPE_V07 = {
338
+ export const EIP712_SAFE_OPERATION_TYPE_V07 = {
338
339
  SafeOp: [
339
340
  { type: "address", name: "safe" },
340
341
  { type: "uint256", name: "nonce" },
@@ -418,11 +419,11 @@ const encodeMultiSend = (txs) => {
418
419
  args: [data]
419
420
  });
420
421
  };
421
- const get7579LaunchPadInitData = ({ safe4337ModuleAddress, safeSingletonAddress, erc7579LaunchpadAddress, owner, validators, executors, fallbacks, hooks, attesters, attestersThreshold }) => {
422
+ const get7579LaunchPadInitData = ({ safe4337ModuleAddress, safeSingletonAddress, erc7579LaunchpadAddress, owners, validators, executors, fallbacks, hooks, attesters, threshold, attestersThreshold }) => {
422
423
  const initData = {
423
424
  singleton: safeSingletonAddress,
424
- owners: [owner],
425
- threshold: BigInt(1),
425
+ owners: owners,
426
+ threshold: threshold,
426
427
  setupTo: erc7579LaunchpadAddress,
427
428
  setupData: encodeFunctionData({
428
429
  abi: initSafe7579Abi,
@@ -450,16 +451,17 @@ const get7579LaunchPadInitData = ({ safe4337ModuleAddress, safeSingletonAddress,
450
451
  };
451
452
  return initData;
452
453
  };
453
- const getInitializerCode = async ({ owner, safeModuleSetupAddress, safe4337ModuleAddress, multiSendAddress, safeSingletonAddress, erc7579LaunchpadAddress, setupTransactions = [], safeModules = [], validators = [], executors = [], fallbacks = [], hooks = [], attesters = [], attestersThreshold = 0, paymentToken = zeroAddress, payment = BigInt(0), paymentReceiver = zeroAddress }) => {
454
+ const getInitializerCode = async ({ owners, threshold, safeModuleSetupAddress, safe4337ModuleAddress, multiSendAddress, safeSingletonAddress, erc7579LaunchpadAddress, setupTransactions = [], safeModules = [], validators = [], executors = [], fallbacks = [], hooks = [], attesters = [], attestersThreshold = 0, paymentToken = zeroAddress, payment = BigInt(0), paymentReceiver = zeroAddress }) => {
454
455
  if (erc7579LaunchpadAddress) {
455
456
  const initData = get7579LaunchPadInitData({
456
457
  safe4337ModuleAddress,
457
458
  safeSingletonAddress,
458
459
  erc7579LaunchpadAddress,
459
- owner,
460
+ owners,
460
461
  validators,
461
462
  executors,
462
463
  fallbacks,
464
+ threshold,
463
465
  hooks,
464
466
  attesters,
465
467
  attestersThreshold
@@ -547,7 +549,7 @@ const getInitializerCode = async ({ owner, safeModuleSetupAddress, safe4337Modul
547
549
  abi: setupAbi,
548
550
  functionName: "setup",
549
551
  args: [
550
- [owner],
552
+ owners,
551
553
  BigInt(1),
552
554
  multiSendAddress,
553
555
  multiSendCallData,
@@ -558,7 +560,7 @@ const getInitializerCode = async ({ owner, safeModuleSetupAddress, safe4337Modul
558
560
  ]
559
561
  });
560
562
  };
561
- function getPaymasterAndData(unpackedUserOperation) {
563
+ export function getPaymasterAndData(unpackedUserOperation) {
562
564
  return unpackedUserOperation.paymaster
563
565
  ? concat([
564
566
  unpackedUserOperation.paymaster,
@@ -573,12 +575,10 @@ function getPaymasterAndData(unpackedUserOperation) {
573
575
  ])
574
576
  : "0x";
575
577
  }
576
- const getAccountInitCode = async ({ owner, safeModuleSetupAddress, safe4337ModuleAddress, safeSingletonAddress, erc7579LaunchpadAddress, multiSendAddress, paymentToken, payment, paymentReceiver, saltNonce = BigInt(0), setupTransactions = [], safeModules = [], validators = [], executors = [], fallbacks = [], hooks = [], attesters = [], attestersThreshold = 0 }) => {
577
- if (!owner) {
578
- throw new Error("Owner account not found");
579
- }
578
+ const getAccountInitCode = async ({ owners, threshold, safeModuleSetupAddress, safe4337ModuleAddress, safeSingletonAddress, erc7579LaunchpadAddress, multiSendAddress, paymentToken, payment, paymentReceiver, saltNonce = BigInt(0), setupTransactions = [], safeModules = [], validators = [], executors = [], fallbacks = [], hooks = [], attesters = [], attestersThreshold = 0 }) => {
580
579
  const initializer = await getInitializerCode({
581
- owner,
580
+ owners,
581
+ threshold,
582
582
  safeModuleSetupAddress,
583
583
  safe4337ModuleAddress,
584
584
  multiSendAddress,
@@ -607,7 +607,7 @@ const getAccountInitCode = async ({ owner, safeModuleSetupAddress, safe4337Modul
607
607
  });
608
608
  return initCodeCallData;
609
609
  };
610
- const getDefaultAddresses = (safeVersion, entryPointVersion, { addModuleLibAddress: _addModuleLibAddress, safeModuleSetupAddress: _safeModuleSetupAddress, safe4337ModuleAddress: _safe4337ModuleAddress, safeProxyFactoryAddress: _safeProxyFactoryAddress, safeSingletonAddress: _safeSingletonAddress, multiSendAddress: _multiSendAddress, multiSendCallOnlyAddress: _multiSendCallOnlyAddress }) => {
610
+ export const getDefaultAddresses = (safeVersion, entryPointVersion, { addModuleLibAddress: _addModuleLibAddress, safeModuleSetupAddress: _safeModuleSetupAddress, safe4337ModuleAddress: _safe4337ModuleAddress, safeProxyFactoryAddress: _safeProxyFactoryAddress, safeSingletonAddress: _safeSingletonAddress, multiSendAddress: _multiSendAddress, multiSendCallOnlyAddress: _multiSendCallOnlyAddress }) => {
611
611
  const safeModuleSetupAddress = _safeModuleSetupAddress ??
612
612
  _addModuleLibAddress ??
613
613
  SAFE_VERSION_TO_ADDRESSES_MAP[safeVersion][entryPointVersion]
@@ -654,14 +654,15 @@ const proxyCreationCodeAbi = [
654
654
  type: "function"
655
655
  }
656
656
  ];
657
- const getAccountAddress = async ({ client, owner, safeModuleSetupAddress, safe4337ModuleAddress, safeProxyFactoryAddress, safeSingletonAddress, multiSendAddress, erc7579LaunchpadAddress, paymentToken, payment, paymentReceiver, setupTransactions = [], safeModules = [], saltNonce = BigInt(0), validators = [], executors = [], fallbacks = [], hooks = [], attesters = [], attestersThreshold = 0 }) => {
657
+ const getAccountAddress = async ({ client, owners, threshold, safeModuleSetupAddress, safe4337ModuleAddress, safeProxyFactoryAddress, safeSingletonAddress, multiSendAddress, erc7579LaunchpadAddress, paymentToken, payment, paymentReceiver, setupTransactions = [], safeModules = [], saltNonce = BigInt(0), validators = [], executors = [], fallbacks = [], hooks = [], attesters = [], attestersThreshold = 0 }) => {
658
658
  const proxyCreationCode = await readContract(client, {
659
659
  abi: proxyCreationCodeAbi,
660
660
  address: safeProxyFactoryAddress,
661
661
  functionName: "proxyCreationCode"
662
662
  });
663
663
  const initializer = await getInitializerCode({
664
- owner,
664
+ owners,
665
+ threshold,
665
666
  safeModuleSetupAddress,
666
667
  safe4337ModuleAddress,
667
668
  multiSendAddress,
@@ -697,8 +698,25 @@ const getAccountAddress = async ({ client, owner, safeModuleSetupAddress, safe43
697
698
  * @returns A Private Key Simple Account.
698
699
  */
699
700
  export async function toSafeSmartAccount(parameters) {
700
- const { client, owners, address, version, safe4337ModuleAddress: _safe4337ModuleAddress, safeProxyFactoryAddress: _safeProxyFactoryAddress, safeSingletonAddress: _safeSingletonAddress, erc7579LaunchpadAddress, saltNonce = BigInt(0), validUntil = 0, validAfter = 0, nonceKey, paymentToken, payment, paymentReceiver } = parameters;
701
- const localOwner = await toOwner({ owner: owners[0] });
701
+ const { client, owners: _owners, address, threshold = BigInt(_owners.length), version, safe4337ModuleAddress: _safe4337ModuleAddress, safeProxyFactoryAddress: _safeProxyFactoryAddress, safeSingletonAddress: _safeSingletonAddress, erc7579LaunchpadAddress, saltNonce = BigInt(0), validUntil = 0, validAfter = 0, nonceKey, paymentToken, payment, paymentReceiver } = parameters;
702
+ const owners = _owners.map((owner) => "account" in owner ? owner.account : owner);
703
+ const localOwners = await Promise.all(_owners
704
+ .filter((owner) => {
705
+ if ("type" in owner && owner.type === "local") {
706
+ return true;
707
+ }
708
+ if ("request" in owner) {
709
+ return true;
710
+ }
711
+ if ("account" in owner) {
712
+ // walletClient
713
+ return true;
714
+ }
715
+ return false;
716
+ })
717
+ .map((owner) => toOwner({
718
+ owner: owner
719
+ })));
702
720
  const entryPoint = {
703
721
  address: parameters.entryPoint?.address ?? entryPoint07Address,
704
722
  abi: (parameters.entryPoint?.version ?? "0.7") === "0.6"
@@ -754,7 +772,8 @@ export async function toSafeSmartAccount(parameters) {
754
772
  return {
755
773
  factory: safeProxyFactoryAddress,
756
774
  factoryData: await getAccountInitCode({
757
- owner: localOwner.address,
775
+ owners: owners.map((owner) => owner.address),
776
+ threshold,
758
777
  safeModuleSetupAddress,
759
778
  safe4337ModuleAddress,
760
779
  safeSingletonAddress,
@@ -785,7 +804,8 @@ export async function toSafeSmartAccount(parameters) {
785
804
  // Get the sender address based on the init code
786
805
  accountAddress = await getAccountAddress({
787
806
  client,
788
- owner: localOwner.address,
807
+ owners: owners.map((owner) => owner.address),
808
+ threshold,
789
809
  safeModuleSetupAddress,
790
810
  safe4337ModuleAddress,
791
811
  safeProxyFactoryAddress,
@@ -816,7 +836,8 @@ export async function toSafeSmartAccount(parameters) {
816
836
  safe4337ModuleAddress,
817
837
  safeSingletonAddress,
818
838
  erc7579LaunchpadAddress,
819
- owner: localOwner.address,
839
+ owners: owners.map((owner) => owner.address),
840
+ threshold,
820
841
  validators,
821
842
  executors,
822
843
  fallbacks,
@@ -897,12 +918,21 @@ export async function toSafeSmartAccount(parameters) {
897
918
  });
898
919
  },
899
920
  async getStubSignature() {
900
- return "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff";
921
+ return encodePacked(["uint48", "uint48", "bytes"], [
922
+ 0,
923
+ 0,
924
+ `0x${owners
925
+ .map((_) => "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")
926
+ .join("")}`
927
+ ]);
901
928
  },
902
929
  async sign({ hash }) {
903
930
  return this.signMessage({ message: hash });
904
931
  },
905
932
  async signMessage({ message }) {
933
+ if (localOwners.length !== owners.length) {
934
+ throw new Error("Owners length mismatch, currently not supported");
935
+ }
906
936
  const messageHash = hashTypedData({
907
937
  domain: {
908
938
  chainId: await getMemoizedChainId(),
@@ -916,82 +946,72 @@ export async function toSafeSmartAccount(parameters) {
916
946
  message: generateSafeMessageMessage(message)
917
947
  }
918
948
  });
919
- return adjustVInSignature("eth_sign", await localOwner.signMessage({
920
- message: {
921
- raw: toBytes(messageHash)
922
- }
923
- }));
949
+ const signatures = await Promise.all(localOwners.map(async (localOwner) => ({
950
+ signer: localOwner.address,
951
+ data: adjustVInSignature("eth_sign", await localOwner.signMessage({
952
+ message: {
953
+ raw: toBytes(messageHash)
954
+ }
955
+ }))
956
+ })));
957
+ signatures.sort((left, right) => left.signer
958
+ .toLowerCase()
959
+ .localeCompare(right.signer.toLowerCase()));
960
+ const signatureBytes = concat(signatures.map((sig) => sig.data));
961
+ return signatureBytes;
924
962
  },
925
963
  async signTypedData(typedData) {
926
- return adjustVInSignature("eth_signTypedData", await localOwner.signTypedData({
927
- domain: {
928
- chainId: await getMemoizedChainId(),
929
- verifyingContract: await this.getAddress()
930
- },
931
- types: {
932
- SafeMessage: [{ name: "message", type: "bytes" }]
933
- },
934
- primaryType: "SafeMessage",
935
- message: {
936
- message: generateSafeMessageMessage(typedData)
937
- }
938
- }));
964
+ if (localOwners.length !== owners.length) {
965
+ throw new Error("Owners length mismatch, currently not supported");
966
+ }
967
+ const signatures = await Promise.all(localOwners.map(async (localOwner) => ({
968
+ signer: localOwner.address,
969
+ data: adjustVInSignature("eth_signTypedData", await localOwner.signTypedData({
970
+ domain: {
971
+ chainId: await getMemoizedChainId(),
972
+ verifyingContract: await this.getAddress()
973
+ },
974
+ types: {
975
+ SafeMessage: [
976
+ { name: "message", type: "bytes" }
977
+ ]
978
+ },
979
+ primaryType: "SafeMessage",
980
+ message: {
981
+ message: generateSafeMessageMessage(typedData)
982
+ }
983
+ }))
984
+ })));
985
+ signatures.sort((left, right) => left.signer
986
+ .toLowerCase()
987
+ .localeCompare(right.signer.toLowerCase()));
988
+ const signatureBytes = concat(signatures.map((sig) => sig.data));
989
+ return signatureBytes;
939
990
  },
940
991
  async signUserOperation(parameters) {
941
992
  const { chainId = await getMemoizedChainId(), ...userOperation } = parameters;
942
- const message = {
943
- safe: await this.getAddress(),
944
- callData: userOperation.callData,
945
- nonce: userOperation.nonce,
946
- initCode: userOperation.initCode ?? "0x",
947
- maxFeePerGas: userOperation.maxFeePerGas,
948
- maxPriorityFeePerGas: userOperation.maxPriorityFeePerGas,
949
- preVerificationGas: userOperation.preVerificationGas,
950
- verificationGasLimit: userOperation.verificationGasLimit,
951
- callGasLimit: userOperation.callGasLimit,
952
- paymasterAndData: userOperation.paymasterAndData ?? "0x",
953
- validAfter: validAfter,
954
- validUntil: validUntil,
955
- entryPoint: entryPoint.address
956
- };
957
- if ("initCode" in userOperation) {
958
- message.paymasterAndData =
959
- userOperation.paymasterAndData ?? "0x";
993
+ if (localOwners.length !== owners.length) {
994
+ throw new Error("Owners length mismatch use SafeSmartAccount.signUserOperation from `permissionless/accounts/safe`");
960
995
  }
961
- if ("factory" in userOperation) {
962
- if (userOperation.factory && userOperation.factoryData) {
963
- message.initCode = concatHex([
964
- userOperation.factory,
965
- userOperation.factoryData
966
- ]);
967
- }
968
- message.paymasterAndData = getPaymasterAndData({
996
+ let signatures = undefined;
997
+ for (const owner of owners) {
998
+ signatures = await signUserOperation({
969
999
  ...userOperation,
970
- sender: userOperation.sender ?? (await this.getAddress())
1000
+ version,
1001
+ entryPoint,
1002
+ owners: localOwners,
1003
+ account: owner,
1004
+ chainId: await getMemoizedChainId(),
1005
+ signatures,
1006
+ validAfter,
1007
+ validUntil,
1008
+ safe4337ModuleAddress
971
1009
  });
972
1010
  }
973
- const signatures = [
974
- {
975
- signer: localOwner.address,
976
- data: await signTypedData(client, {
977
- account: localOwner,
978
- domain: {
979
- chainId,
980
- verifyingContract: safe4337ModuleAddress
981
- },
982
- types: entryPoint.version === "0.6"
983
- ? EIP712_SAFE_OPERATION_TYPE_V06
984
- : EIP712_SAFE_OPERATION_TYPE_V07,
985
- primaryType: "SafeOp",
986
- message: message
987
- })
988
- }
989
- ];
990
- signatures.sort((left, right) => left.signer
991
- .toLowerCase()
992
- .localeCompare(right.signer.toLowerCase()));
993
- const signatureBytes = concat(signatures.map((sig) => sig.data));
994
- return encodePacked(["uint48", "uint48", "bytes"], [validAfter, validUntil, signatureBytes]);
1011
+ if (!signatures) {
1012
+ throw new Error("No signatures found");
1013
+ }
1014
+ return signatures;
995
1015
  }
996
1016
  });
997
1017
  }
@@ -1 +1 @@
1
- {"version":3,"file":"toSafeSmartAccount.js","sourceRoot":"","sources":["../../../accounts/safe/toSafeSmartAccount.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toSafeSmartAccount.js","sourceRoot":"","sources":["../../../accounts/safe/toSafeSmartAccount.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type SafeSmartAccountImplementation, type SafeVersion, type ToSafeSmartAccountParameters, type ToSafeSmartAccountReturnType, toSafeSmartAccount } from "./toSafeSmartAccount.js";
2
+ import { signUserOperation } from "./signUserOperation.js";
3
+ declare const SafeSmartAccount: {
4
+ toSafeSmartAccount: typeof toSafeSmartAccount;
5
+ signUserOperation: typeof signUserOperation;
6
+ };
7
+ export { type SafeSmartAccountImplementation, type SafeVersion, type ToSafeSmartAccountParameters, type ToSafeSmartAccountReturnType, SafeSmartAccount };
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../accounts/safe/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,8BAA8B,EACnC,KAAK,WAAW,EAChB,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EACjC,kBAAkB,EACrB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,QAAA,MAAM,gBAAgB;;;CAGrB,CAAA;AAED,OAAO,EACH,KAAK,8BAA8B,EACnC,KAAK,WAAW,EAChB,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EACjC,gBAAgB,EACnB,CAAA"}
@@ -0,0 +1,19 @@
1
+ import { type Account, type Address, type Chain, type Hex, type LocalAccount, type OneOf, type Transport, type UnionPartialBy, type WalletClient } from "viem";
2
+ import type { UserOperation } from "viem/account-abstraction";
3
+ import type { EthereumProvider } from "../../utils/toOwner.js";
4
+ import { type SafeVersion } from "./toSafeSmartAccount.js";
5
+ export declare function signUserOperation(parameters: UnionPartialBy<UserOperation, "sender"> & {
6
+ version: SafeVersion;
7
+ entryPoint: {
8
+ address: Address;
9
+ version: "0.6" | "0.7";
10
+ };
11
+ owners: Account[];
12
+ account: OneOf<EthereumProvider | WalletClient<Transport, Chain | undefined, Account> | LocalAccount>;
13
+ chainId: number;
14
+ signatures?: Hex;
15
+ validAfter?: number;
16
+ validUntil?: number;
17
+ safe4337ModuleAddress?: Address;
18
+ }): Promise<`0x${string}`>;
19
+ //# sourceMappingURL=signUserOperation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signUserOperation.d.ts","sourceRoot":"","sources":["../../../accounts/safe/signUserOperation.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,GAAG,EACR,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,YAAY,EAMpB,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAE7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAGH,KAAK,WAAW,EAGnB,MAAM,yBAAyB,CAAA;AAEhC,wBAAsB,iBAAiB,CACnC,UAAU,EAAE,cAAc,CAAC,aAAa,EAAE,QAAQ,CAAC,GAAG;IAClD,OAAO,EAAE,WAAW,CAAA;IACpB,UAAU,EAAE;QACR,OAAO,EAAE,OAAO,CAAA;QAChB,OAAO,EAAE,KAAK,GAAG,KAAK,CAAA;KACzB,CAAA;IACD,MAAM,EAAE,OAAO,EAAE,CAAA;IACjB,OAAO,EAAE,KAAK,CACR,gBAAgB,GAChB,YAAY,CAAC,SAAS,EAAE,KAAK,GAAG,SAAS,EAAE,OAAO,CAAC,GACnD,YAAY,CACjB,CAAA;IACD,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,GAAG,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAClC,0BAmIJ"}