@account-kit/smart-contracts 4.35.0 → 4.36.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 (186) hide show
  1. package/dist/esm/plugindefs/session-key/config.js.map +1 -1
  2. package/dist/esm/src/light-account/accounts/account.js.map +1 -1
  3. package/dist/esm/src/light-account/accounts/base.js.map +1 -1
  4. package/dist/esm/src/light-account/accounts/multiOwner.js.map +1 -1
  5. package/dist/esm/src/light-account/accounts/predictAddress.js.map +1 -1
  6. package/dist/esm/src/light-account/actions/transferOwnership.d.ts +1 -1
  7. package/dist/esm/src/light-account/actions/transferOwnership.js.map +1 -1
  8. package/dist/esm/src/light-account/actions/updateOwners.js.map +1 -1
  9. package/dist/esm/src/light-account/clients/alchemyClient.js.map +1 -1
  10. package/dist/esm/src/light-account/clients/client.js.map +1 -1
  11. package/dist/esm/src/light-account/clients/multiOwnerAlchemyClient.js.map +1 -1
  12. package/dist/esm/src/light-account/clients/multiOwnerLightAccount.js.map +1 -1
  13. package/dist/esm/src/light-account/decorators/lightAccount.js.map +1 -1
  14. package/dist/esm/src/light-account/decorators/multiOwnerLightAccount.js.map +1 -1
  15. package/dist/esm/src/light-account/types.js.map +1 -1
  16. package/dist/esm/src/light-account/utils.d.ts +1 -1
  17. package/dist/esm/src/light-account/utils.js.map +1 -1
  18. package/dist/esm/src/ma-v2/account/common/modularAccountV2Base.js.map +1 -1
  19. package/dist/esm/src/ma-v2/account/modularAccountV2.js.map +1 -1
  20. package/dist/esm/src/ma-v2/account/nativeSMASigner.d.ts +2 -207
  21. package/dist/esm/src/ma-v2/account/nativeSMASigner.js +7 -4
  22. package/dist/esm/src/ma-v2/account/nativeSMASigner.js.map +1 -1
  23. package/dist/esm/src/ma-v2/account/predictAddress.js.map +1 -1
  24. package/dist/esm/src/ma-v2/actions/deferralActions.js.map +1 -1
  25. package/dist/esm/src/ma-v2/actions/install-validation/installValidation.js.map +1 -1
  26. package/dist/esm/src/ma-v2/client/client.js.map +1 -1
  27. package/dist/esm/src/ma-v2/modules/allowlist-module/module.js.map +1 -1
  28. package/dist/esm/src/ma-v2/modules/native-token-limit-module/module.js.map +1 -1
  29. package/dist/esm/src/ma-v2/modules/paymaster-guard-module/module.js.map +1 -1
  30. package/dist/esm/src/ma-v2/modules/single-signer-validation/module.js.map +1 -1
  31. package/dist/esm/src/ma-v2/modules/single-signer-validation/signer.d.ts +2 -207
  32. package/dist/esm/src/ma-v2/modules/single-signer-validation/signer.js +7 -4
  33. package/dist/esm/src/ma-v2/modules/single-signer-validation/signer.js.map +1 -1
  34. package/dist/esm/src/ma-v2/modules/time-range-module/module.js.map +1 -1
  35. package/dist/esm/src/ma-v2/modules/utils.js.map +1 -1
  36. package/dist/esm/src/ma-v2/modules/webauthn-validation/module.js.map +1 -1
  37. package/dist/esm/src/ma-v2/permissionBuilder.js.map +1 -1
  38. package/dist/esm/src/ma-v2/permissionBuilderErrors.js +1 -1
  39. package/dist/esm/src/ma-v2/permissionBuilderErrors.js.map +1 -1
  40. package/dist/esm/src/ma-v2/utils.js.map +1 -1
  41. package/dist/esm/src/msca/account/multiOwnerAccount.js.map +1 -1
  42. package/dist/esm/src/msca/account/multisigAccount.d.ts +1 -1
  43. package/dist/esm/src/msca/account/multisigAccount.js.map +1 -1
  44. package/dist/esm/src/msca/account-loupe/decorator.js.map +1 -1
  45. package/dist/esm/src/msca/account-loupe/types.js.map +1 -1
  46. package/dist/esm/src/msca/client/alchemyClient.js.map +1 -1
  47. package/dist/esm/src/msca/client/client.js.map +1 -1
  48. package/dist/esm/src/msca/client/multiSigAlchemyClient.js.map +1 -1
  49. package/dist/esm/src/msca/plugin-manager/decorator.js.map +1 -1
  50. package/dist/esm/src/msca/plugin-manager/installPlugin.js.map +1 -1
  51. package/dist/esm/src/msca/plugin-manager/uninstallPlugin.js.map +1 -1
  52. package/dist/esm/src/msca/plugins/multi-owner/extension.js.map +1 -1
  53. package/dist/esm/src/msca/plugins/multi-owner/plugin.js.map +1 -1
  54. package/dist/esm/src/msca/plugins/multi-owner/signer.d.ts +3 -208
  55. package/dist/esm/src/msca/plugins/multi-owner/signer.js.map +1 -1
  56. package/dist/esm/src/msca/plugins/multisig/actions/getThreshold.js.map +1 -1
  57. package/dist/esm/src/msca/plugins/multisig/actions/isOwnerOf.js.map +1 -1
  58. package/dist/esm/src/msca/plugins/multisig/actions/proposeUserOperation.js.map +1 -1
  59. package/dist/esm/src/msca/plugins/multisig/actions/readOwners.js.map +1 -1
  60. package/dist/esm/src/msca/plugins/multisig/actions/signMultisigUserOperation.js.map +1 -1
  61. package/dist/esm/src/msca/plugins/multisig/extension.js.map +1 -1
  62. package/dist/esm/src/msca/plugins/multisig/middleware.js.map +1 -1
  63. package/dist/esm/src/msca/plugins/multisig/plugin.js.map +1 -1
  64. package/dist/esm/src/msca/plugins/multisig/signer.d.ts +3 -208
  65. package/dist/esm/src/msca/plugins/multisig/signer.js.map +1 -1
  66. package/dist/esm/src/msca/plugins/multisig/types.js.map +1 -1
  67. package/dist/esm/src/msca/plugins/multisig/utils/formatSignatures.js.map +1 -1
  68. package/dist/esm/src/msca/plugins/multisig/utils/getSignerType.d.ts +1 -1
  69. package/dist/esm/src/msca/plugins/multisig/utils/getSignerType.js.map +1 -1
  70. package/dist/esm/src/msca/plugins/multisig/utils/splitAggregatedSignature.d.ts +1 -1
  71. package/dist/esm/src/msca/plugins/multisig/utils/splitAggregatedSignature.js.map +1 -1
  72. package/dist/esm/src/msca/plugins/session-key/extension.js.map +1 -1
  73. package/dist/esm/src/msca/plugins/session-key/permissions.js.map +1 -1
  74. package/dist/esm/src/msca/plugins/session-key/plugin.js.map +1 -1
  75. package/dist/esm/src/msca/plugins/session-key/signer.d.ts +4 -209
  76. package/dist/esm/src/msca/plugins/session-key/signer.js.map +1 -1
  77. package/dist/esm/src/msca/plugins/session-key/utils.js.map +1 -1
  78. package/dist/esm/src/msca/plugins/types.js.map +1 -1
  79. package/dist/esm/src/msca/utils.js.map +1 -1
  80. package/dist/types/src/light-account/accounts/account.d.ts.map +1 -1
  81. package/dist/types/src/light-account/accounts/base.d.ts.map +1 -1
  82. package/dist/types/src/light-account/accounts/multiOwner.d.ts.map +1 -1
  83. package/dist/types/src/light-account/actions/transferOwnership.d.ts +1 -1
  84. package/dist/types/src/light-account/actions/transferOwnership.d.ts.map +1 -1
  85. package/dist/types/src/light-account/actions/updateOwners.d.ts.map +1 -1
  86. package/dist/types/src/light-account/types.d.ts.map +1 -1
  87. package/dist/types/src/light-account/utils.d.ts +1 -1
  88. package/dist/types/src/light-account/utils.d.ts.map +1 -1
  89. package/dist/types/src/ma-v2/account/nativeSMASigner.d.ts +2 -207
  90. package/dist/types/src/ma-v2/account/nativeSMASigner.d.ts.map +1 -1
  91. package/dist/types/src/ma-v2/modules/allowlist-module/module.d.ts.map +1 -1
  92. package/dist/types/src/ma-v2/modules/single-signer-validation/signer.d.ts +2 -207
  93. package/dist/types/src/ma-v2/modules/single-signer-validation/signer.d.ts.map +1 -1
  94. package/dist/types/src/ma-v2/modules/utils.d.ts.map +1 -1
  95. package/dist/types/src/ma-v2/permissionBuilderErrors.d.ts.map +1 -1
  96. package/dist/types/src/ma-v2/utils.d.ts.map +1 -1
  97. package/dist/types/src/msca/account/multisigAccount.d.ts +1 -1
  98. package/dist/types/src/msca/account/multisigAccount.d.ts.map +1 -1
  99. package/dist/types/src/msca/plugin-manager/decorator.d.ts.map +1 -1
  100. package/dist/types/src/msca/plugin-manager/installPlugin.d.ts.map +1 -1
  101. package/dist/types/src/msca/plugin-manager/uninstallPlugin.d.ts.map +1 -1
  102. package/dist/types/src/msca/plugins/multi-owner/plugin.d.ts.map +1 -1
  103. package/dist/types/src/msca/plugins/multi-owner/signer.d.ts +3 -208
  104. package/dist/types/src/msca/plugins/multi-owner/signer.d.ts.map +1 -1
  105. package/dist/types/src/msca/plugins/multisig/actions/proposeUserOperation.d.ts.map +1 -1
  106. package/dist/types/src/msca/plugins/multisig/plugin.d.ts.map +1 -1
  107. package/dist/types/src/msca/plugins/multisig/signer.d.ts +3 -208
  108. package/dist/types/src/msca/plugins/multisig/signer.d.ts.map +1 -1
  109. package/dist/types/src/msca/plugins/multisig/types.d.ts.map +1 -1
  110. package/dist/types/src/msca/plugins/multisig/utils/formatSignatures.d.ts.map +1 -1
  111. package/dist/types/src/msca/plugins/multisig/utils/getSignerType.d.ts +1 -1
  112. package/dist/types/src/msca/plugins/multisig/utils/getSignerType.d.ts.map +1 -1
  113. package/dist/types/src/msca/plugins/multisig/utils/splitAggregatedSignature.d.ts +1 -1
  114. package/dist/types/src/msca/plugins/multisig/utils/splitAggregatedSignature.d.ts.map +1 -1
  115. package/dist/types/src/msca/plugins/session-key/extension.d.ts.map +1 -1
  116. package/dist/types/src/msca/plugins/session-key/plugin.d.ts.map +1 -1
  117. package/dist/types/src/msca/plugins/session-key/signer.d.ts +4 -209
  118. package/dist/types/src/msca/plugins/session-key/signer.d.ts.map +1 -1
  119. package/dist/types/src/msca/utils.d.ts.map +1 -1
  120. package/package.json +7 -9
  121. package/plugindefs/session-key/config.ts +1 -1
  122. package/src/light-account/accounts/account.ts +7 -5
  123. package/src/light-account/accounts/base.ts +18 -15
  124. package/src/light-account/accounts/multiOwner.ts +9 -6
  125. package/src/light-account/accounts/predictAddress.ts +5 -5
  126. package/src/light-account/actions/transferOwnership.ts +5 -4
  127. package/src/light-account/actions/updateOwners.ts +6 -5
  128. package/src/light-account/clients/alchemyClient.ts +3 -3
  129. package/src/light-account/clients/client.ts +6 -6
  130. package/src/light-account/clients/multiOwnerAlchemyClient.ts +3 -3
  131. package/src/light-account/clients/multiOwnerLightAccount.ts +7 -7
  132. package/src/light-account/decorators/lightAccount.ts +4 -4
  133. package/src/light-account/decorators/multiOwnerLightAccount.ts +4 -4
  134. package/src/light-account/types.ts +3 -2
  135. package/src/light-account/utils.ts +10 -10
  136. package/src/ma-v2/account/common/modularAccountV2Base.ts +8 -8
  137. package/src/ma-v2/account/modularAccountV2.ts +4 -4
  138. package/src/ma-v2/account/nativeSMASigner.ts +16 -13
  139. package/src/ma-v2/account/predictAddress.ts +13 -13
  140. package/src/ma-v2/actions/deferralActions.ts +7 -7
  141. package/src/ma-v2/actions/install-validation/installValidation.ts +14 -14
  142. package/src/ma-v2/client/client.ts +8 -8
  143. package/src/ma-v2/modules/allowlist-module/module.ts +5 -5
  144. package/src/ma-v2/modules/native-token-limit-module/module.ts +1 -1
  145. package/src/ma-v2/modules/paymaster-guard-module/module.ts +2 -2
  146. package/src/ma-v2/modules/single-signer-validation/module.ts +2 -2
  147. package/src/ma-v2/modules/single-signer-validation/signer.ts +14 -11
  148. package/src/ma-v2/modules/time-range-module/module.ts +6 -6
  149. package/src/ma-v2/modules/utils.ts +4 -4
  150. package/src/ma-v2/modules/webauthn-validation/module.ts +2 -2
  151. package/src/ma-v2/permissionBuilder.ts +14 -14
  152. package/src/ma-v2/permissionBuilderErrors.ts +9 -7
  153. package/src/ma-v2/utils.ts +4 -4
  154. package/src/msca/account/multiOwnerAccount.ts +5 -5
  155. package/src/msca/account/multisigAccount.ts +6 -6
  156. package/src/msca/account-loupe/decorator.ts +11 -11
  157. package/src/msca/account-loupe/types.ts +1 -1
  158. package/src/msca/client/alchemyClient.ts +4 -4
  159. package/src/msca/client/client.ts +12 -12
  160. package/src/msca/client/multiSigAlchemyClient.ts +4 -4
  161. package/src/msca/plugin-manager/decorator.ts +6 -5
  162. package/src/msca/plugin-manager/installPlugin.ts +8 -7
  163. package/src/msca/plugin-manager/uninstallPlugin.ts +6 -5
  164. package/src/msca/plugins/multi-owner/extension.ts +10 -10
  165. package/src/msca/plugins/multi-owner/plugin.ts +21 -19
  166. package/src/msca/plugins/multi-owner/signer.ts +4 -4
  167. package/src/msca/plugins/multisig/actions/getThreshold.ts +3 -3
  168. package/src/msca/plugins/multisig/actions/isOwnerOf.ts +2 -2
  169. package/src/msca/plugins/multisig/actions/proposeUserOperation.ts +4 -3
  170. package/src/msca/plugins/multisig/actions/readOwners.ts +3 -3
  171. package/src/msca/plugins/multisig/actions/signMultisigUserOperation.ts +5 -5
  172. package/src/msca/plugins/multisig/extension.ts +16 -16
  173. package/src/msca/plugins/multisig/middleware.ts +2 -2
  174. package/src/msca/plugins/multisig/plugin.ts +21 -19
  175. package/src/msca/plugins/multisig/signer.ts +5 -5
  176. package/src/msca/plugins/multisig/types.ts +4 -2
  177. package/src/msca/plugins/multisig/utils/formatSignatures.ts +1 -1
  178. package/src/msca/plugins/multisig/utils/getSignerType.ts +2 -2
  179. package/src/msca/plugins/multisig/utils/splitAggregatedSignature.ts +7 -6
  180. package/src/msca/plugins/session-key/extension.ts +16 -14
  181. package/src/msca/plugins/session-key/permissions.ts +7 -7
  182. package/src/msca/plugins/session-key/plugin.ts +30 -28
  183. package/src/msca/plugins/session-key/signer.ts +5 -5
  184. package/src/msca/plugins/session-key/utils.ts +4 -4
  185. package/src/msca/plugins/types.ts +1 -1
  186. package/src/msca/utils.ts +11 -11
@@ -19,14 +19,15 @@ export async function proposeUserOperation<
19
19
  TAccount extends SmartContractAccount | undefined =
20
20
  | SmartContractAccount
21
21
  | undefined,
22
- TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>
22
+ TEntryPointVersion extends
23
+ GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>,
23
24
  >(
24
25
  client: Client<TTransport, TChain, TAccount>,
25
26
  {
26
27
  uo,
27
28
  account = client.account,
28
29
  overrides: overrides_,
29
- }: SendUserOperationParameters<TAccount, undefined>
30
+ }: SendUserOperationParameters<TAccount, undefined>,
30
31
  ): Promise<ProposeUserOperationResult> {
31
32
  // these overrides allow us to set a high max fee and PVG upper bound
32
33
  const overrides = {
@@ -44,7 +45,7 @@ export async function proposeUserOperation<
44
45
  throw new IncompatibleClientError(
45
46
  "SmartAccountClient",
46
47
  "proposeUserOperation",
47
- client
48
+ client,
48
49
  );
49
50
  }
50
51
 
@@ -12,10 +12,10 @@ export async function readOwners<
12
12
  TChain extends Chain | undefined = Chain | undefined,
13
13
  TAccount extends SmartContractAccount | undefined =
14
14
  | SmartContractAccount
15
- | undefined
15
+ | undefined,
16
16
  >(
17
17
  client: Client<TTransport, TChain, TAccount>,
18
- args: GetPluginAddressParameter & GetAccountParameter<TAccount>
18
+ args: GetPluginAddressParameter & GetAccountParameter<TAccount>,
19
19
  ) {
20
20
  const account = args?.account ?? client.account;
21
21
  if (!account) {
@@ -25,7 +25,7 @@ export async function readOwners<
25
25
  // either via account loupe or checking if the supports interface call passes on the account
26
26
  const [owners] = await MultisigPlugin.getContract(
27
27
  client,
28
- args?.pluginAddress
28
+ args?.pluginAddress,
29
29
  ).read.ownershipInfoOf([account.address]);
30
30
  return owners;
31
31
  }
@@ -19,10 +19,10 @@ export async function signMultisigUserOperation<
19
19
  TChain extends Chain | undefined = Chain | undefined,
20
20
  TAccount extends SmartContractAccount | undefined =
21
21
  | SmartContractAccount
22
- | undefined
22
+ | undefined,
23
23
  >(
24
24
  client: Client<TTransport, TChain, TAccount>,
25
- params: SignMultisigUserOperationParams<TAccount>
25
+ params: SignMultisigUserOperationParams<TAccount>,
26
26
  ): Promise<SignMultisigUserOperationResult> {
27
27
  const { account = client.account, signatures, userOperationRequest } = params;
28
28
 
@@ -34,7 +34,7 @@ export async function signMultisigUserOperation<
34
34
  throw new IncompatibleClientError(
35
35
  "SmartAccountClient",
36
36
  "signMultisigUserOperation",
37
- client
37
+ client,
38
38
  );
39
39
  }
40
40
 
@@ -75,13 +75,13 @@ export async function signMultisigUserOperation<
75
75
  });
76
76
 
77
77
  const signatureObj = splitSignatures.signatures.find(
78
- (x) => x.signer === signerAddress
78
+ (x) => x.signer === signerAddress,
79
79
  );
80
80
 
81
81
  if (!signatureObj) {
82
82
  // TODO: strongly type this
83
83
  throw new Error(
84
- "INTERNAL ERROR: signature not found in split signatures, this is an internal bug please report"
84
+ "INTERNAL ERROR: signature not found in split signatures, this is an internal bug please report",
85
85
  );
86
86
  }
87
87
 
@@ -26,34 +26,34 @@ import {
26
26
  export type MultisigPluginActions<
27
27
  TAccount extends SmartContractAccount | undefined =
28
28
  | SmartContractAccount
29
- | undefined
29
+ | undefined,
30
30
  > = MultisigPluginActions_<TAccount, MultisigUserOperationContext> & {
31
31
  readOwners: (
32
- params: GetPluginAddressParameter & GetAccountParameter<TAccount>
32
+ params: GetPluginAddressParameter & GetAccountParameter<TAccount>,
33
33
  ) => Promise<ReadonlyArray<Address>>;
34
34
 
35
35
  isOwnerOf: (
36
36
  params: { address: Address } & GetPluginAddressParameter &
37
- GetAccountParameter<TAccount>
37
+ GetAccountParameter<TAccount>,
38
38
  ) => Promise<boolean>;
39
39
 
40
40
  getThreshold: (
41
- params: GetPluginAddressParameter & GetAccountParameter<TAccount>
41
+ params: GetPluginAddressParameter & GetAccountParameter<TAccount>,
42
42
  ) => Promise<bigint>;
43
43
 
44
44
  proposeUserOperation: (
45
- params: SendUserOperationParameters<TAccount, undefined>
45
+ params: SendUserOperationParameters<TAccount, undefined>,
46
46
  ) => Promise<
47
47
  ProposeUserOperationResult<TAccount, GetEntryPointFromAccount<TAccount>>
48
48
  >;
49
49
 
50
50
  signMultisigUserOperation: (
51
- params: SignMultisigUserOperationParams<TAccount>
51
+ params: SignMultisigUserOperationParams<TAccount>,
52
52
  ) => Promise<SignMultisigUserOperationResult>;
53
53
  } & (IsUndefined<TAccount> extends false
54
54
  ? {
55
55
  readOwners: (
56
- params?: GetPluginAddressParameter & GetAccountParameter<TAccount>
56
+ params?: GetPluginAddressParameter & GetAccountParameter<TAccount>,
57
57
  ) => Promise<ReadonlyArray<Address>>;
58
58
  }
59
59
  : {});
@@ -76,38 +76,38 @@ export const multisigPluginActions: <
76
76
  TChain extends Chain | undefined = Chain | undefined,
77
77
  TAccount extends SmartContractAccount | undefined =
78
78
  | SmartContractAccount
79
- | undefined
79
+ | undefined,
80
80
  >(
81
- client: Client<TTransport, TChain, TAccount>
81
+ client: Client<TTransport, TChain, TAccount>,
82
82
  ) => MultisigPluginActions<TAccount> = <
83
83
  TTransport extends Transport = Transport,
84
84
  TChain extends Chain | undefined = Chain | undefined,
85
85
  TAccount extends SmartContractAccount | undefined =
86
86
  | SmartContractAccount
87
- | undefined
87
+ | undefined,
88
88
  >(
89
- client: Client<TTransport, TChain, TAccount>
89
+ client: Client<TTransport, TChain, TAccount>,
90
90
  ) => ({
91
91
  ...multisigPluginActions_(client),
92
92
  readOwners: (
93
- args: GetPluginAddressParameter & GetAccountParameter<TAccount>
93
+ args: GetPluginAddressParameter & GetAccountParameter<TAccount>,
94
94
  ) => readOwners(client, args),
95
95
 
96
96
  isOwnerOf: (
97
97
  args: { address: Address } & GetPluginAddressParameter &
98
- GetAccountParameter<TAccount>
98
+ GetAccountParameter<TAccount>,
99
99
  ) => isOwnerOf(client, args),
100
100
 
101
101
  getThreshold: (
102
- args: GetPluginAddressParameter & GetAccountParameter<TAccount>
102
+ args: GetPluginAddressParameter & GetAccountParameter<TAccount>,
103
103
  ) => getThreshold(client, args),
104
104
 
105
105
  proposeUserOperation: (
106
- args: SendUserOperationParameters<TAccount, undefined>
106
+ args: SendUserOperationParameters<TAccount, undefined>,
107
107
  ) => proposeUserOperation(client, args),
108
108
 
109
109
  signMultisigUserOperation: (
110
- params: SignMultisigUserOperationParams<TAccount>
110
+ params: SignMultisigUserOperationParams<TAccount>,
111
111
  ): Promise<SignMultisigUserOperationResult> =>
112
112
  signMultisigUserOperation(client, params),
113
113
  });
@@ -63,7 +63,7 @@ export const multisigSignatureMiddleware: ClientMiddlewareFn<
63
63
  }
64
64
 
65
65
  const signature = await account.signUserOperationHash(
66
- account.getEntryPoint().getUserOperationHash(request)
66
+ account.getEntryPoint().getUserOperationHash(request),
67
67
  );
68
68
 
69
69
  const signerType = await getSignerType({
@@ -142,7 +142,7 @@ const isUsingMaxValues = (
142
142
  upperLimitPvg: Hex;
143
143
  upperLimitMaxFeePerGas: Hex;
144
144
  upperLimitMaxPriorityFeePerGas: Hex;
145
- }
145
+ },
146
146
  ): boolean => {
147
147
  if (
148
148
  BigInt(request.preVerificationGas) !== BigInt(upperLimits.upperLimitPvg)
@@ -38,7 +38,8 @@ type ExecutionActions<
38
38
  TContext extends UserOperationContext | undefined =
39
39
  | UserOperationContext
40
40
  | undefined,
41
- TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>
41
+ TEntryPointVersion extends
42
+ GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>,
42
43
  > = {
43
44
  updateOwnership: (
44
45
  args: Pick<
@@ -50,7 +51,7 @@ type ExecutionActions<
50
51
  > &
51
52
  UserOperationOverridesParameter<TEntryPointVersion> &
52
53
  GetAccountParameter<TAccount> &
53
- GetContextParameter<TContext>
54
+ GetContextParameter<TContext>,
54
55
  ) => Promise<SendUserOperationResult<TEntryPointVersion>>;
55
56
  };
56
57
 
@@ -69,20 +70,21 @@ type ManagementActions<
69
70
  TContext extends UserOperationContext | undefined =
70
71
  | Record<string, any>
71
72
  | undefined,
72
- TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>
73
+ TEntryPointVersion extends
74
+ GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>,
73
75
  > = {
74
76
  installMultisigPlugin: (
75
77
  args: UserOperationOverridesParameter<TEntryPointVersion> &
76
78
  InstallMultisigPluginParams &
77
79
  GetAccountParameter<TAccount> &
78
- GetContextParameter<TContext>
80
+ GetContextParameter<TContext>,
79
81
  ) => Promise<SendUserOperationResult<TEntryPointVersion>>;
80
82
  };
81
83
 
82
84
  type ReadAndEncodeActions<
83
85
  TAccount extends SmartContractAccount | undefined =
84
86
  | SmartContractAccount
85
- | undefined
87
+ | undefined,
86
88
  > = {
87
89
  encodeUpdateOwnership: (
88
90
  args: Pick<
@@ -91,7 +93,7 @@ type ReadAndEncodeActions<
91
93
  "updateOwnership"
92
94
  >,
93
95
  "args"
94
- >
96
+ >,
95
97
  ) => Hex;
96
98
 
97
99
  encodeEip712Domain: (
@@ -101,11 +103,11 @@ type ReadAndEncodeActions<
101
103
  "eip712Domain"
102
104
  >,
103
105
  "args"
104
- >
106
+ >,
105
107
  ) => Hex;
106
108
 
107
109
  readEip712Domain: (
108
- args: GetAccountParameter<TAccount>
110
+ args: GetAccountParameter<TAccount>,
109
111
  ) => Promise<
110
112
  ReadContractReturnType<
111
113
  typeof MultisigPluginExecutionFunctionAbi,
@@ -120,7 +122,7 @@ type ReadAndEncodeActions<
120
122
  "isValidSignature"
121
123
  >,
122
124
  "args"
123
- >
125
+ >,
124
126
  ) => Hex;
125
127
 
126
128
  readIsValidSignature: (
@@ -131,7 +133,7 @@ type ReadAndEncodeActions<
131
133
  >,
132
134
  "args"
133
135
  > &
134
- GetAccountParameter<TAccount>
136
+ GetAccountParameter<TAccount>,
135
137
  ) => Promise<
136
138
  ReadContractReturnType<
137
139
  typeof MultisigPluginExecutionFunctionAbi,
@@ -146,7 +148,7 @@ export type MultisigPluginActions<
146
148
  | undefined,
147
149
  TContext extends UserOperationContext | undefined =
148
150
  | UserOperationContext
149
- | undefined
151
+ | undefined,
150
152
  > = ExecutionActions<TAccount, TContext> &
151
153
  ManagementActions<TAccount, TContext> &
152
154
  ReadAndEncodeActions<TAccount>;
@@ -176,7 +178,7 @@ export const MultisigPlugin: Plugin<typeof MultisigPluginAbi> = {
176
178
  },
177
179
  getContract: <C extends Client>(
178
180
  client: C,
179
- address?: Address
181
+ address?: Address,
180
182
  ): GetContractReturnType<typeof MultisigPluginAbi, PublicClient, Address> => {
181
183
  if (!client.chain) throw new ChainNotFoundError();
182
184
 
@@ -200,9 +202,9 @@ export const multisigPluginActions: <
200
202
  | undefined,
201
203
  TContext extends UserOperationContext | undefined =
202
204
  | UserOperationContext
203
- | undefined
205
+ | undefined,
204
206
  >(
205
- client: Client<TTransport, TChain, TAccount>
207
+ client: Client<TTransport, TChain, TAccount>,
206
208
  ) => MultisigPluginActions<TAccount, TContext> = (client) => ({
207
209
  updateOwnership({ args, overrides, context, account = client.account }) {
208
210
  if (!account) {
@@ -212,7 +214,7 @@ export const multisigPluginActions: <
212
214
  throw new IncompatibleClientError(
213
215
  "SmartAccountClient",
214
216
  "updateOwnership",
215
- client
217
+ client,
216
218
  );
217
219
  }
218
220
 
@@ -238,7 +240,7 @@ export const multisigPluginActions: <
238
240
  throw new IncompatibleClientError(
239
241
  "SmartAccountClient",
240
242
  "installMultisigPlugin",
241
- client
243
+ client,
242
244
  );
243
245
  }
244
246
 
@@ -260,7 +262,7 @@ export const multisigPluginActions: <
260
262
  pluginAddress,
261
263
  pluginInitData: encodeAbiParameters(
262
264
  [{ type: "address[]" }, { type: "uint256" }],
263
- params.args
265
+ params.args,
264
266
  ),
265
267
  dependencies,
266
268
  overrides,
@@ -291,7 +293,7 @@ export const multisigPluginActions: <
291
293
  throw new IncompatibleClientError(
292
294
  "SmartAccountClient",
293
295
  "readEip712Domain",
294
- client
296
+ client,
295
297
  );
296
298
  }
297
299
 
@@ -318,7 +320,7 @@ export const multisigPluginActions: <
318
320
  throw new IncompatibleClientError(
319
321
  "SmartAccountClient",
320
322
  "readIsValidSignature",
321
- client
323
+ client,
322
324
  );
323
325
  }
324
326
 
@@ -13,7 +13,7 @@ import { MultisigPlugin, MultisigPluginAbi } from "./plugin.js";
13
13
 
14
14
  type MultisigSignMethodsParams<
15
15
  TTransport extends Transport,
16
- TSigner extends SmartAccountSigner
16
+ TSigner extends SmartAccountSigner,
17
17
  > = {
18
18
  client: BundlerClient<TTransport>;
19
19
  accountAddress: Address;
@@ -24,7 +24,7 @@ type MultisigSignMethodsParams<
24
24
 
25
25
  export const multisigSignMethods = <
26
26
  TTransport extends Transport,
27
- TSigner extends SmartAccountSigner
27
+ TSigner extends SmartAccountSigner,
28
28
  >({
29
29
  client,
30
30
  accountAddress,
@@ -76,7 +76,7 @@ export const multisigSignMethods = <
76
76
  "FF".repeat(32 * 3) +
77
77
  "fffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3c" +
78
78
  "fffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c".repeat(
79
- Number(actualThreshold) - 1
79
+ Number(actualThreshold) - 1,
80
80
  )) as Hex;
81
81
  },
82
82
 
@@ -90,9 +90,9 @@ export const multisigSignMethods = <
90
90
 
91
91
  signTypedData: <
92
92
  const typedData extends TypedData | Record<string, unknown>,
93
- primaryType extends keyof typedData | "EIP712Domain" = keyof typedData
93
+ primaryType extends keyof typedData | "EIP712Domain" = keyof typedData,
94
94
  >(
95
- typedDataDefinition: TypedDataDefinition<typedData, primaryType>
95
+ typedDataDefinition: TypedDataDefinition<typedData, primaryType>,
96
96
  ): Promise<Hex> => {
97
97
  return signWith712Wrapper(hashTypedData(typedDataDefinition));
98
98
  },
@@ -28,7 +28,8 @@ export type SignMultisigUserOperationParams<
28
28
  TAccount extends SmartContractAccount | undefined =
29
29
  | SmartContractAccount
30
30
  | undefined,
31
- TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>
31
+ TEntryPointVersion extends
32
+ GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>,
32
33
  > = {
33
34
  userOperationRequest: UserOperationRequest<TEntryPointVersion>;
34
35
  signatures: Signature[];
@@ -39,7 +40,8 @@ export type ProposeUserOperationResult<
39
40
  TAccount extends SmartContractAccount | undefined =
40
41
  | SmartContractAccount
41
42
  | undefined,
42
- TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>
43
+ TEntryPointVersion extends
44
+ GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>,
43
45
  > = {
44
46
  request: UserOperationRequest<TEntryPointVersion>;
45
47
  aggregatedSignature: Hex;
@@ -14,7 +14,7 @@ import type { Signature } from "../types";
14
14
  */
15
15
  export const formatSignatures = (
16
16
  signatures: Signature[],
17
- usingMaxValues: boolean = false
17
+ usingMaxValues: boolean = false,
18
18
  ) => {
19
19
  let eoaSigs: string = "";
20
20
  let contractSigs: string = "";
@@ -22,7 +22,7 @@ type GetSignerTypeParams<
22
22
  TAccount,
23
23
  PublicRpcSchema,
24
24
  PublicActions
25
- > = Client<TTransport, TChain, TAccount, PublicRpcSchema, PublicActions>
25
+ > = Client<TTransport, TChain, TAccount, PublicRpcSchema, PublicActions>,
26
26
  > = {
27
27
  signer: SmartAccountSigner<any>;
28
28
  signature: Hex;
@@ -50,7 +50,7 @@ type GetSignerTypeParams<
50
50
  */
51
51
  export const getSignerType = async <
52
52
  TTransport extends Transport = Transport,
53
- TChain extends Chain | undefined = Chain | undefined
53
+ TChain extends Chain | undefined = Chain | undefined,
54
54
  >({
55
55
  client,
56
56
  signature,
@@ -12,7 +12,8 @@ export type SplitAggregateSignatureParams<
12
12
  TAccount extends SmartContractAccount | undefined =
13
13
  | SmartContractAccount
14
14
  | undefined,
15
- TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>
15
+ TEntryPointVersion extends
16
+ GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>,
16
17
  > = {
17
18
  aggregatedSignature: Hex;
18
19
  threshold: number;
@@ -40,9 +41,9 @@ export type SplitAggregateSignatureResult = {
40
41
  export const splitAggregatedSignature = async <
41
42
  TAccount extends SmartContractAccount | undefined =
42
43
  | SmartContractAccount
43
- | undefined
44
+ | undefined,
44
45
  >(
45
- args: SplitAggregateSignatureParams<TAccount>
46
+ args: SplitAggregateSignatureParams<TAccount>,
46
47
  ): Promise<SplitAggregateSignatureResult> => {
47
48
  const { aggregatedSignature, threshold, account, request } = args;
48
49
  if (aggregatedSignature.length < 192 + (65 * threshold - 1)) {
@@ -109,11 +110,11 @@ export const splitAggregatedSignature = async <
109
110
  const signer = takeBytes(signature, { count: 20, offset: 12 });
110
111
  const offset = fromHex(
111
112
  takeBytes(signature, { count: 32, offset: 32 }),
112
- "number"
113
+ "number",
113
114
  );
114
115
  const signatureLength = fromHex(
115
116
  takeBytes(signaturesAndData, { count: 32, offset }),
116
- "number"
117
+ "number",
117
118
  );
118
119
 
119
120
  return {
@@ -125,7 +126,7 @@ export const splitAggregatedSignature = async <
125
126
  offset: offset + 32,
126
127
  }),
127
128
  };
128
- }
129
+ },
129
130
  );
130
131
 
131
132
  return {
@@ -24,7 +24,8 @@ export type SessionKeyPluginActions<
24
24
  TAccount extends SmartContractAccount | undefined =
25
25
  | SmartContractAccount
26
26
  | undefined,
27
- TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>
27
+ TEntryPointVersion extends
28
+ GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>,
28
29
  > = Omit<
29
30
  SessionKeyPluginActions_<TAccount>,
30
31
  | "removeSessionKey"
@@ -34,17 +35,17 @@ export type SessionKeyPluginActions<
34
35
  > & {
35
36
  isAccountSessionKey: (
36
37
  args: { key: Address } & GetPluginAddressParameter &
37
- GetAccountParameter<TAccount>
38
+ GetAccountParameter<TAccount>,
38
39
  ) => Promise<boolean>;
39
40
 
40
41
  getAccountSessionKeys: (
41
- args: GetPluginAddressParameter & GetAccountParameter<TAccount>
42
+ args: GetPluginAddressParameter & GetAccountParameter<TAccount>,
42
43
  ) => Promise<ReadonlyArray<Address>>;
43
44
 
44
45
  removeSessionKey: (
45
46
  args: { key: Address } & GetPluginAddressParameter &
46
47
  GetAccountParameter<TAccount> &
47
- UserOperationOverridesParameter<TEntryPointVersion>
48
+ UserOperationOverridesParameter<TEntryPointVersion>,
48
49
  ) => Promise<SendUserOperationResult<TEntryPointVersion>>;
49
50
 
50
51
  addSessionKey: (
@@ -54,7 +55,7 @@ export type SessionKeyPluginActions<
54
55
  tag: Hex;
55
56
  } & GetPluginAddressParameter &
56
57
  GetAccountParameter<TAccount> &
57
- UserOperationOverridesParameter<TEntryPointVersion>
58
+ UserOperationOverridesParameter<TEntryPointVersion>,
58
59
  ) => Promise<SendUserOperationResult<TEntryPointVersion>>;
59
60
 
60
61
  rotateSessionKey: (
@@ -63,7 +64,7 @@ export type SessionKeyPluginActions<
63
64
  newKey: Address;
64
65
  } & GetPluginAddressParameter &
65
66
  GetAccountParameter<TAccount> &
66
- UserOperationOverridesParameter<TEntryPointVersion>
67
+ UserOperationOverridesParameter<TEntryPointVersion>,
67
68
  ) => Promise<SendUserOperationResult<TEntryPointVersion>>;
68
69
 
69
70
  updateSessionKeyPermissions: (
@@ -72,12 +73,12 @@ export type SessionKeyPluginActions<
72
73
  permissions: Hex[];
73
74
  } & GetPluginAddressParameter &
74
75
  GetAccountParameter<TAccount> &
75
- UserOperationOverridesParameter<TEntryPointVersion>
76
+ UserOperationOverridesParameter<TEntryPointVersion>,
76
77
  ) => Promise<SendUserOperationResult<TEntryPointVersion>>;
77
78
  } & (IsUndefined<TAccount> extends false
78
79
  ? {
79
80
  getAccountSessionKeys: (
80
- args?: GetPluginAddressParameter & GetAccountParameter<TAccount>
81
+ args?: GetPluginAddressParameter & GetAccountParameter<TAccount>,
81
82
  ) => Promise<ReadonlyArray<Address>>;
82
83
  }
83
84
  : {});
@@ -100,18 +101,19 @@ export const sessionKeyPluginActions: <
100
101
  TChain extends Chain | undefined = Chain | undefined,
101
102
  TAccount extends SmartContractAccount | undefined =
102
103
  | SmartContractAccount
103
- | undefined
104
+ | undefined,
104
105
  >(
105
- client: Client<TTransport, TChain, TAccount>
106
+ client: Client<TTransport, TChain, TAccount>,
106
107
  ) => SessionKeyPluginActions<TAccount> = <
107
108
  TTransport extends Transport = Transport,
108
109
  TChain extends Chain | undefined = Chain | undefined,
109
110
  TAccount extends SmartContractAccount | undefined =
110
111
  | SmartContractAccount
111
112
  | undefined,
112
- TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>
113
+ TEntryPointVersion extends
114
+ GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>,
113
115
  >(
114
- client: Client<TTransport, TChain, TAccount>
116
+ client: Client<TTransport, TChain, TAccount>,
115
117
  ) => {
116
118
  const {
117
119
  removeSessionKey,
@@ -209,14 +211,14 @@ export const sessionKeyPluginActions: <
209
211
  },
210
212
 
211
213
  getAccountSessionKeys: async (
212
- args: GetPluginAddressParameter & GetAccountParameter<TAccount>
214
+ args: GetPluginAddressParameter & GetAccountParameter<TAccount>,
213
215
  ) => {
214
216
  const account = args?.account ?? client.account;
215
217
  if (!account) throw new AccountNotFoundError();
216
218
 
217
219
  const contract = SessionKeyPlugin.getContract(
218
220
  client,
219
- args?.pluginAddress
221
+ args?.pluginAddress,
220
222
  );
221
223
 
222
224
  return await contract.read.sessionKeysOf([account.address]);
@@ -268,14 +268,14 @@ export class SessionKeyPermissionsBuilder {
268
268
  abi: SessionKeyPermissionsUpdatesAbi,
269
269
  functionName: "updateAccessListAddressEntry",
270
270
  args: [entry.contractAddress, entry.isOnList, entry.checkSelectors],
271
- })
271
+ }),
272
272
  ),
273
273
  ...this._contractMethodAccessEntrys.map((entry) =>
274
274
  encodeFunctionData({
275
275
  abi: SessionKeyPermissionsUpdatesAbi,
276
276
  functionName: "updateAccessListFunctionEntry",
277
277
  args: [entry.contractAddress, entry.methodSelector, entry.isOnList],
278
- })
278
+ }),
279
279
  ),
280
280
  this.encodeIfDefined(
281
281
  (timeRange) =>
@@ -284,7 +284,7 @@ export class SessionKeyPermissionsBuilder {
284
284
  functionName: "updateTimeRange",
285
285
  args: [timeRange.validFrom, timeRange.validUntil],
286
286
  }),
287
- this._timeRange
287
+ this._timeRange,
288
288
  ),
289
289
  this.encodeIfDefined(
290
290
  (nativeSpendLimit) =>
@@ -296,7 +296,7 @@ export class SessionKeyPermissionsBuilder {
296
296
  nativeSpendLimit.refreshInterval ?? 0,
297
297
  ],
298
298
  }),
299
- this._nativeTokenSpendLimit
299
+ this._nativeTokenSpendLimit,
300
300
  ),
301
301
  ...this._erc20TokenSpendLimits.map((erc20SpendLimit) =>
302
302
  encodeFunctionData({
@@ -307,7 +307,7 @@ export class SessionKeyPermissionsBuilder {
307
307
  erc20SpendLimit.spendLimit,
308
308
  erc20SpendLimit.refreshInterval ?? 0,
309
309
  ],
310
- })
310
+ }),
311
311
  ),
312
312
  this.encodeIfDefined(
313
313
  (spendLimit) =>
@@ -316,7 +316,7 @@ export class SessionKeyPermissionsBuilder {
316
316
  functionName: "setGasSpendLimit",
317
317
  args: [spendLimit.spendLimit, spendLimit.refreshInterval ?? 0],
318
318
  }),
319
- this._gasSpendLimit
319
+ this._gasSpendLimit,
320
320
  ),
321
321
  this.encodeIfDefined(
322
322
  (paymaster) =>
@@ -325,7 +325,7 @@ export class SessionKeyPermissionsBuilder {
325
325
  functionName: "setRequiredPaymaster",
326
326
  args: [paymaster],
327
327
  }),
328
- this._requiredPaymaster
328
+ this._requiredPaymaster,
329
329
  ),
330
330
  ].filter((x) => x !== "0x");
331
331
  }