@account-kit/smart-contracts 4.7.0 → 4.9.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 (187) hide show
  1. package/dist/esm/src/light-account/clients/alchemyClient.js +6 -12
  2. package/dist/esm/src/light-account/clients/alchemyClient.js.map +1 -1
  3. package/dist/esm/src/light-account/clients/client.d.ts +9 -4
  4. package/dist/esm/src/light-account/clients/client.js +26 -1
  5. package/dist/esm/src/light-account/clients/client.js.map +1 -1
  6. package/dist/esm/src/light-account/clients/multiOwnerAlchemyClient.js +6 -11
  7. package/dist/esm/src/light-account/clients/multiOwnerAlchemyClient.js.map +1 -1
  8. package/dist/esm/src/light-account/clients/multiOwnerLightAccount.d.ts +10 -4
  9. package/dist/esm/src/light-account/clients/multiOwnerLightAccount.js +27 -3
  10. package/dist/esm/src/light-account/clients/multiOwnerLightAccount.js.map +1 -1
  11. package/dist/esm/src/ma-v2/abis/accountFactoryAbi.d.ts +492 -0
  12. package/dist/esm/src/ma-v2/abis/accountFactoryAbi.js +639 -0
  13. package/dist/esm/src/ma-v2/abis/accountFactoryAbi.js.map +1 -0
  14. package/dist/esm/src/ma-v2/abis/modularAccountAbi.d.ts +954 -0
  15. package/dist/esm/src/ma-v2/abis/modularAccountAbi.js +1242 -0
  16. package/dist/esm/src/ma-v2/abis/modularAccountAbi.js.map +1 -0
  17. package/dist/esm/src/ma-v2/abis/semiModularAccountBytecodeAbi.d.ts +991 -0
  18. package/dist/esm/src/ma-v2/abis/semiModularAccountBytecodeAbi.js +1289 -0
  19. package/dist/esm/src/ma-v2/abis/semiModularAccountBytecodeAbi.js.map +1 -0
  20. package/dist/esm/src/ma-v2/abis/semiModularAccountStorageAbi.d.ts +1001 -0
  21. package/dist/esm/src/ma-v2/abis/semiModularAccountStorageAbi.js +1302 -0
  22. package/dist/esm/src/ma-v2/abis/semiModularAccountStorageAbi.js.map +1 -0
  23. package/dist/esm/src/ma-v2/account/nativeSMASigner.d.ts +238 -0
  24. package/dist/esm/src/ma-v2/account/nativeSMASigner.js +88 -0
  25. package/dist/esm/src/ma-v2/account/nativeSMASigner.js.map +1 -0
  26. package/dist/esm/src/ma-v2/account/semiModularAccountV2.d.ts +41 -0
  27. package/dist/esm/src/ma-v2/account/semiModularAccountV2.js +148 -0
  28. package/dist/esm/src/ma-v2/account/semiModularAccountV2.js.map +1 -0
  29. package/dist/esm/src/ma-v2/actions/common/types.d.ts +31 -0
  30. package/dist/esm/src/ma-v2/actions/common/types.js +6 -0
  31. package/dist/esm/src/ma-v2/actions/common/types.js.map +1 -0
  32. package/dist/esm/src/ma-v2/actions/common/utils.d.ts +76 -0
  33. package/dist/esm/src/ma-v2/actions/common/utils.js +100 -0
  34. package/dist/esm/src/ma-v2/actions/common/utils.js.map +1 -0
  35. package/dist/esm/src/ma-v2/actions/install-validation/installValidation.d.ts +71 -0
  36. package/dist/esm/src/ma-v2/actions/install-validation/installValidation.js +109 -0
  37. package/dist/esm/src/ma-v2/actions/install-validation/installValidation.js.map +1 -0
  38. package/dist/esm/src/ma-v2/client/client.d.ts +13 -0
  39. package/dist/esm/src/ma-v2/client/client.js +54 -0
  40. package/dist/esm/src/ma-v2/client/client.js.map +1 -0
  41. package/dist/esm/src/ma-v2/index.d.ts +26 -0
  42. package/dist/esm/src/ma-v2/index.js +24 -0
  43. package/dist/esm/src/ma-v2/index.js.map +1 -0
  44. package/dist/esm/src/ma-v2/modules/allowlist-module/abis/allowlistModuleAbi.d.ts +556 -0
  45. package/dist/esm/src/ma-v2/modules/allowlist-module/abis/allowlistModuleAbi.js +716 -0
  46. package/dist/esm/src/ma-v2/modules/allowlist-module/abis/allowlistModuleAbi.js.map +1 -0
  47. package/dist/esm/src/ma-v2/modules/allowlist-module/module.d.ts +579 -0
  48. package/dist/esm/src/ma-v2/modules/allowlist-module/module.js +56 -0
  49. package/dist/esm/src/ma-v2/modules/allowlist-module/module.js.map +1 -0
  50. package/dist/esm/src/ma-v2/modules/native-token-limit-module/abis/nativeTokenLimitModuleAbi.d.ts +312 -0
  51. package/dist/esm/src/ma-v2/modules/native-token-limit-module/abis/nativeTokenLimitModuleAbi.js +404 -0
  52. package/dist/esm/src/ma-v2/modules/native-token-limit-module/abis/nativeTokenLimitModuleAbi.js.map +1 -0
  53. package/dist/esm/src/ma-v2/modules/native-token-limit-module/module.d.ts +322 -0
  54. package/dist/esm/src/ma-v2/modules/native-token-limit-module/module.js +14 -0
  55. package/dist/esm/src/ma-v2/modules/native-token-limit-module/module.js.map +1 -0
  56. package/dist/esm/src/ma-v2/modules/paymaster-guard-module/abis/paymasterGuardModuleAbi.d.ts +186 -0
  57. package/dist/esm/src/ma-v2/modules/paymaster-guard-module/abis/paymasterGuardModuleAbi.js +242 -0
  58. package/dist/esm/src/ma-v2/modules/paymaster-guard-module/abis/paymasterGuardModuleAbi.js.map +1 -0
  59. package/dist/esm/src/ma-v2/modules/paymaster-guard-module/module.d.ts +196 -0
  60. package/dist/esm/src/ma-v2/modules/paymaster-guard-module/module.js +25 -0
  61. package/dist/esm/src/ma-v2/modules/paymaster-guard-module/module.js.map +1 -0
  62. package/dist/esm/src/ma-v2/modules/single-signer-validation/abis/singleSignerValidationModuleAbi.d.ts +45 -0
  63. package/dist/esm/src/ma-v2/modules/single-signer-validation/abis/singleSignerValidationModuleAbi.js +331 -0
  64. package/dist/esm/src/ma-v2/modules/single-signer-validation/abis/singleSignerValidationModuleAbi.js.map +1 -0
  65. package/dist/esm/src/ma-v2/modules/single-signer-validation/module.d.ts +10 -0
  66. package/dist/esm/src/ma-v2/modules/single-signer-validation/module.js +16 -0
  67. package/dist/esm/src/ma-v2/modules/single-signer-validation/module.js.map +1 -0
  68. package/dist/esm/src/ma-v2/modules/single-signer-validation/signer.d.ts +239 -0
  69. package/dist/esm/src/ma-v2/modules/single-signer-validation/signer.js +93 -0
  70. package/dist/esm/src/ma-v2/modules/single-signer-validation/signer.js.map +1 -0
  71. package/dist/esm/src/ma-v2/modules/time-range-module/abis/timeRangeModuleAbi.d.ts +229 -0
  72. package/dist/esm/src/ma-v2/modules/time-range-module/abis/timeRangeModuleAbi.js +296 -0
  73. package/dist/esm/src/ma-v2/modules/time-range-module/abis/timeRangeModuleAbi.js.map +1 -0
  74. package/dist/esm/src/ma-v2/modules/time-range-module/module.d.ts +245 -0
  75. package/dist/esm/src/ma-v2/modules/time-range-module/module.js +42 -0
  76. package/dist/esm/src/ma-v2/modules/time-range-module/module.js.map +1 -0
  77. package/dist/esm/src/ma-v2/modules/utils.d.ts +91 -0
  78. package/dist/esm/src/ma-v2/modules/utils.js +188 -0
  79. package/dist/esm/src/ma-v2/modules/utils.js.map +1 -0
  80. package/dist/esm/src/ma-v2/modules/webauthn-validation/abis/webauthnValidationAbi.d.ts +287 -0
  81. package/dist/esm/src/ma-v2/modules/webauthn-validation/abis/webauthnValidationAbi.js +374 -0
  82. package/dist/esm/src/ma-v2/modules/webauthn-validation/abis/webauthnValidationAbi.js.map +1 -0
  83. package/dist/esm/src/ma-v2/utils.d.ts +16 -0
  84. package/dist/esm/src/ma-v2/utils.js +105 -0
  85. package/dist/esm/src/ma-v2/utils.js.map +1 -0
  86. package/dist/esm/src/msca/client/alchemyClient.js +4 -17
  87. package/dist/esm/src/msca/client/alchemyClient.js.map +1 -1
  88. package/dist/esm/src/msca/client/client.d.ts +14 -5
  89. package/dist/esm/src/msca/client/client.js +62 -0
  90. package/dist/esm/src/msca/client/client.js.map +1 -1
  91. package/dist/esm/src/msca/client/multiSigAlchemyClient.d.ts +4 -2
  92. package/dist/esm/src/msca/client/multiSigAlchemyClient.js +5 -19
  93. package/dist/esm/src/msca/client/multiSigAlchemyClient.js.map +1 -1
  94. package/dist/types/src/light-account/clients/alchemyClient.d.ts.map +1 -1
  95. package/dist/types/src/light-account/clients/client.d.ts +9 -4
  96. package/dist/types/src/light-account/clients/client.d.ts.map +1 -1
  97. package/dist/types/src/light-account/clients/multiOwnerAlchemyClient.d.ts.map +1 -1
  98. package/dist/types/src/light-account/clients/multiOwnerLightAccount.d.ts +10 -4
  99. package/dist/types/src/light-account/clients/multiOwnerLightAccount.d.ts.map +1 -1
  100. package/dist/types/src/ma-v2/abis/accountFactoryAbi.d.ts +493 -0
  101. package/dist/types/src/ma-v2/abis/accountFactoryAbi.d.ts.map +1 -0
  102. package/dist/types/src/ma-v2/abis/modularAccountAbi.d.ts +955 -0
  103. package/dist/types/src/ma-v2/abis/modularAccountAbi.d.ts.map +1 -0
  104. package/dist/types/src/ma-v2/abis/semiModularAccountBytecodeAbi.d.ts +992 -0
  105. package/dist/types/src/ma-v2/abis/semiModularAccountBytecodeAbi.d.ts.map +1 -0
  106. package/dist/types/src/ma-v2/abis/semiModularAccountStorageAbi.d.ts +1002 -0
  107. package/dist/types/src/ma-v2/abis/semiModularAccountStorageAbi.d.ts.map +1 -0
  108. package/dist/types/src/ma-v2/account/nativeSMASigner.d.ts +239 -0
  109. package/dist/types/src/ma-v2/account/nativeSMASigner.d.ts.map +1 -0
  110. package/dist/types/src/ma-v2/account/semiModularAccountV2.d.ts +42 -0
  111. package/dist/types/src/ma-v2/account/semiModularAccountV2.d.ts.map +1 -0
  112. package/dist/types/src/ma-v2/actions/common/types.d.ts +32 -0
  113. package/dist/types/src/ma-v2/actions/common/types.d.ts.map +1 -0
  114. package/dist/types/src/ma-v2/actions/common/utils.d.ts +77 -0
  115. package/dist/types/src/ma-v2/actions/common/utils.d.ts.map +1 -0
  116. package/dist/types/src/ma-v2/actions/install-validation/installValidation.d.ts +72 -0
  117. package/dist/types/src/ma-v2/actions/install-validation/installValidation.d.ts.map +1 -0
  118. package/dist/types/src/ma-v2/client/client.d.ts +14 -0
  119. package/dist/types/src/ma-v2/client/client.d.ts.map +1 -0
  120. package/dist/types/src/ma-v2/index.d.ts +27 -0
  121. package/dist/types/src/ma-v2/index.d.ts.map +1 -0
  122. package/dist/types/src/ma-v2/modules/allowlist-module/abis/allowlistModuleAbi.d.ts +557 -0
  123. package/dist/types/src/ma-v2/modules/allowlist-module/abis/allowlistModuleAbi.d.ts.map +1 -0
  124. package/dist/types/src/ma-v2/modules/allowlist-module/module.d.ts +580 -0
  125. package/dist/types/src/ma-v2/modules/allowlist-module/module.d.ts.map +1 -0
  126. package/dist/types/src/ma-v2/modules/native-token-limit-module/abis/nativeTokenLimitModuleAbi.d.ts +313 -0
  127. package/dist/types/src/ma-v2/modules/native-token-limit-module/abis/nativeTokenLimitModuleAbi.d.ts.map +1 -0
  128. package/dist/types/src/ma-v2/modules/native-token-limit-module/module.d.ts +323 -0
  129. package/dist/types/src/ma-v2/modules/native-token-limit-module/module.d.ts.map +1 -0
  130. package/dist/types/src/ma-v2/modules/paymaster-guard-module/abis/paymasterGuardModuleAbi.d.ts +187 -0
  131. package/dist/types/src/ma-v2/modules/paymaster-guard-module/abis/paymasterGuardModuleAbi.d.ts.map +1 -0
  132. package/dist/types/src/ma-v2/modules/paymaster-guard-module/module.d.ts +197 -0
  133. package/dist/types/src/ma-v2/modules/paymaster-guard-module/module.d.ts.map +1 -0
  134. package/dist/types/src/ma-v2/modules/single-signer-validation/abis/singleSignerValidationModuleAbi.d.ts +46 -0
  135. package/dist/types/src/ma-v2/modules/single-signer-validation/abis/singleSignerValidationModuleAbi.d.ts.map +1 -0
  136. package/dist/types/src/ma-v2/modules/single-signer-validation/module.d.ts +11 -0
  137. package/dist/types/src/ma-v2/modules/single-signer-validation/module.d.ts.map +1 -0
  138. package/dist/types/src/ma-v2/modules/single-signer-validation/signer.d.ts +240 -0
  139. package/dist/types/src/ma-v2/modules/single-signer-validation/signer.d.ts.map +1 -0
  140. package/dist/types/src/ma-v2/modules/time-range-module/abis/timeRangeModuleAbi.d.ts +230 -0
  141. package/dist/types/src/ma-v2/modules/time-range-module/abis/timeRangeModuleAbi.d.ts.map +1 -0
  142. package/dist/types/src/ma-v2/modules/time-range-module/module.d.ts +246 -0
  143. package/dist/types/src/ma-v2/modules/time-range-module/module.d.ts.map +1 -0
  144. package/dist/types/src/ma-v2/modules/utils.d.ts +92 -0
  145. package/dist/types/src/ma-v2/modules/utils.d.ts.map +1 -0
  146. package/dist/types/src/ma-v2/modules/webauthn-validation/abis/webauthnValidationAbi.d.ts +288 -0
  147. package/dist/types/src/ma-v2/modules/webauthn-validation/abis/webauthnValidationAbi.d.ts.map +1 -0
  148. package/dist/types/src/ma-v2/utils.d.ts +17 -0
  149. package/dist/types/src/ma-v2/utils.d.ts.map +1 -0
  150. package/dist/types/src/msca/client/alchemyClient.d.ts.map +1 -1
  151. package/dist/types/src/msca/client/client.d.ts +14 -5
  152. package/dist/types/src/msca/client/client.d.ts.map +1 -1
  153. package/dist/types/src/msca/client/multiSigAlchemyClient.d.ts +4 -2
  154. package/dist/types/src/msca/client/multiSigAlchemyClient.d.ts.map +1 -1
  155. package/package.json +11 -5
  156. package/src/light-account/clients/alchemyClient.ts +5 -14
  157. package/src/light-account/clients/client.ts +52 -6
  158. package/src/light-account/clients/multiOwnerAlchemyClient.ts +5 -13
  159. package/src/light-account/clients/multiOwnerLightAccount.ts +64 -8
  160. package/src/ma-v2/abis/accountFactoryAbi.ts +638 -0
  161. package/src/ma-v2/abis/modularAccountAbi.ts +1241 -0
  162. package/src/ma-v2/abis/semiModularAccountBytecodeAbi.ts +1288 -0
  163. package/src/ma-v2/abis/semiModularAccountStorageAbi.ts +1301 -0
  164. package/src/ma-v2/account/nativeSMASigner.ts +121 -0
  165. package/src/ma-v2/account/semiModularAccountV2.ts +289 -0
  166. package/src/ma-v2/actions/common/types.ts +37 -0
  167. package/src/ma-v2/actions/common/utils.ts +103 -0
  168. package/src/ma-v2/actions/install-validation/installValidation.ts +213 -0
  169. package/src/ma-v2/client/client.ts +117 -0
  170. package/src/ma-v2/index.ts +47 -0
  171. package/src/ma-v2/modules/allowlist-module/abis/allowlistModuleAbi.ts +715 -0
  172. package/src/ma-v2/modules/allowlist-module/module.ts +87 -0
  173. package/src/ma-v2/modules/native-token-limit-module/abis/nativeTokenLimitModuleAbi.ts +403 -0
  174. package/src/ma-v2/modules/native-token-limit-module/module.ts +21 -0
  175. package/src/ma-v2/modules/paymaster-guard-module/abis/paymasterGuardModuleAbi.ts +241 -0
  176. package/src/ma-v2/modules/paymaster-guard-module/module.ts +35 -0
  177. package/src/ma-v2/modules/single-signer-validation/abis/singleSignerValidationModuleAbi.ts +330 -0
  178. package/src/ma-v2/modules/single-signer-validation/module.ts +24 -0
  179. package/src/ma-v2/modules/single-signer-validation/signer.ts +127 -0
  180. package/src/ma-v2/modules/time-range-module/abis/timeRangeModuleAbi.ts +295 -0
  181. package/src/ma-v2/modules/time-range-module/module.ts +63 -0
  182. package/src/ma-v2/modules/utils.ts +213 -0
  183. package/src/ma-v2/modules/webauthn-validation/abis/webauthnValidationAbi.ts +373 -0
  184. package/src/ma-v2/utils.ts +138 -0
  185. package/src/msca/client/alchemyClient.ts +3 -22
  186. package/src/msca/client/client.ts +157 -13
  187. package/src/msca/client/multiSigAlchemyClient.ts +6 -29
@@ -0,0 +1,241 @@
1
+ export const paymasterGuardModuleAbi = [
2
+ {
3
+ type: "function",
4
+ name: "moduleId",
5
+ inputs: [],
6
+ outputs: [
7
+ {
8
+ name: "",
9
+ type: "string",
10
+ internalType: "string",
11
+ },
12
+ ],
13
+ stateMutability: "pure",
14
+ },
15
+ {
16
+ type: "function",
17
+ name: "onInstall",
18
+ inputs: [
19
+ {
20
+ name: "data",
21
+ type: "bytes",
22
+ internalType: "bytes",
23
+ },
24
+ ],
25
+ outputs: [],
26
+ stateMutability: "nonpayable",
27
+ },
28
+ {
29
+ type: "function",
30
+ name: "onUninstall",
31
+ inputs: [
32
+ {
33
+ name: "data",
34
+ type: "bytes",
35
+ internalType: "bytes",
36
+ },
37
+ ],
38
+ outputs: [],
39
+ stateMutability: "nonpayable",
40
+ },
41
+ {
42
+ type: "function",
43
+ name: "paymasters",
44
+ inputs: [
45
+ {
46
+ name: "entityId",
47
+ type: "uint32",
48
+ internalType: "uint32",
49
+ },
50
+ {
51
+ name: "account",
52
+ type: "address",
53
+ internalType: "address",
54
+ },
55
+ ],
56
+ outputs: [
57
+ {
58
+ name: "paymaster",
59
+ type: "address",
60
+ internalType: "address",
61
+ },
62
+ ],
63
+ stateMutability: "view",
64
+ },
65
+ {
66
+ type: "function",
67
+ name: "preRuntimeValidationHook",
68
+ inputs: [
69
+ {
70
+ name: "",
71
+ type: "uint32",
72
+ internalType: "uint32",
73
+ },
74
+ {
75
+ name: "",
76
+ type: "address",
77
+ internalType: "address",
78
+ },
79
+ {
80
+ name: "",
81
+ type: "uint256",
82
+ internalType: "uint256",
83
+ },
84
+ {
85
+ name: "",
86
+ type: "bytes",
87
+ internalType: "bytes",
88
+ },
89
+ {
90
+ name: "",
91
+ type: "bytes",
92
+ internalType: "bytes",
93
+ },
94
+ ],
95
+ outputs: [],
96
+ stateMutability: "view",
97
+ },
98
+ {
99
+ type: "function",
100
+ name: "preSignatureValidationHook",
101
+ inputs: [
102
+ {
103
+ name: "",
104
+ type: "uint32",
105
+ internalType: "uint32",
106
+ },
107
+ {
108
+ name: "",
109
+ type: "address",
110
+ internalType: "address",
111
+ },
112
+ {
113
+ name: "",
114
+ type: "bytes32",
115
+ internalType: "bytes32",
116
+ },
117
+ {
118
+ name: "",
119
+ type: "bytes",
120
+ internalType: "bytes",
121
+ },
122
+ ],
123
+ outputs: [],
124
+ stateMutability: "pure",
125
+ },
126
+ {
127
+ type: "function",
128
+ name: "preUserOpValidationHook",
129
+ inputs: [
130
+ {
131
+ name: "entityId",
132
+ type: "uint32",
133
+ internalType: "uint32",
134
+ },
135
+ {
136
+ name: "userOp",
137
+ type: "tuple",
138
+ internalType: "struct PackedUserOperation",
139
+ components: [
140
+ {
141
+ name: "sender",
142
+ type: "address",
143
+ internalType: "address",
144
+ },
145
+ {
146
+ name: "nonce",
147
+ type: "uint256",
148
+ internalType: "uint256",
149
+ },
150
+ {
151
+ name: "initCode",
152
+ type: "bytes",
153
+ internalType: "bytes",
154
+ },
155
+ {
156
+ name: "callData",
157
+ type: "bytes",
158
+ internalType: "bytes",
159
+ },
160
+ {
161
+ name: "accountGasLimits",
162
+ type: "bytes32",
163
+ internalType: "bytes32",
164
+ },
165
+ {
166
+ name: "preVerificationGas",
167
+ type: "uint256",
168
+ internalType: "uint256",
169
+ },
170
+ {
171
+ name: "gasFees",
172
+ type: "bytes32",
173
+ internalType: "bytes32",
174
+ },
175
+ {
176
+ name: "paymasterAndData",
177
+ type: "bytes",
178
+ internalType: "bytes",
179
+ },
180
+ {
181
+ name: "signature",
182
+ type: "bytes",
183
+ internalType: "bytes",
184
+ },
185
+ ],
186
+ },
187
+ {
188
+ name: "",
189
+ type: "bytes32",
190
+ internalType: "bytes32",
191
+ },
192
+ ],
193
+ outputs: [
194
+ {
195
+ name: "",
196
+ type: "uint256",
197
+ internalType: "uint256",
198
+ },
199
+ ],
200
+ stateMutability: "view",
201
+ },
202
+ {
203
+ type: "function",
204
+ name: "supportsInterface",
205
+ inputs: [
206
+ {
207
+ name: "interfaceId",
208
+ type: "bytes4",
209
+ internalType: "bytes4",
210
+ },
211
+ ],
212
+ outputs: [
213
+ {
214
+ name: "",
215
+ type: "bool",
216
+ internalType: "bool",
217
+ },
218
+ ],
219
+ stateMutability: "view",
220
+ },
221
+ {
222
+ type: "error",
223
+ name: "BadPaymasterSpecified",
224
+ inputs: [],
225
+ },
226
+ {
227
+ type: "error",
228
+ name: "InvalidPaymaster",
229
+ inputs: [],
230
+ },
231
+ {
232
+ type: "error",
233
+ name: "NotImplemented",
234
+ inputs: [],
235
+ },
236
+ {
237
+ type: "error",
238
+ name: "UnexpectedDataPassed",
239
+ inputs: [],
240
+ },
241
+ ] as const;
@@ -0,0 +1,35 @@
1
+ import { encodeAbiParameters, type Address, type Hex } from "viem";
2
+ import { paymasterGuardModuleAbi } from "./abis/paymasterGuardModuleAbi.js";
3
+
4
+ export const PaymasterGuardModule = {
5
+ abi: paymasterGuardModuleAbi,
6
+ encodeOnInstallData: (args: {
7
+ entityId: number;
8
+ paymaster: Address;
9
+ }): Hex => {
10
+ const { entityId, paymaster } = args;
11
+ return encodeAbiParameters(
12
+ [
13
+ {
14
+ type: "uint32",
15
+ },
16
+ {
17
+ type: "address",
18
+ },
19
+ ],
20
+ [entityId, paymaster]
21
+ );
22
+ },
23
+ encodeOnUninstallData: (args: { entityId: number }): Hex => {
24
+ const { entityId } = args;
25
+
26
+ return encodeAbiParameters(
27
+ [
28
+ {
29
+ type: "uint32",
30
+ },
31
+ ],
32
+ [entityId]
33
+ );
34
+ },
35
+ };
@@ -0,0 +1,330 @@
1
+ export const singleSignerValidationModuleAbi = [
2
+ {
3
+ type: "function",
4
+ name: "moduleId",
5
+ inputs: [],
6
+ outputs: [
7
+ {
8
+ name: "",
9
+ type: "string",
10
+ internalType: "string",
11
+ },
12
+ ],
13
+ stateMutability: "pure",
14
+ },
15
+ {
16
+ type: "function",
17
+ name: "onInstall",
18
+ inputs: [
19
+ {
20
+ name: "data",
21
+ type: "bytes",
22
+ internalType: "bytes",
23
+ },
24
+ ],
25
+ outputs: [],
26
+ stateMutability: "nonpayable",
27
+ },
28
+ {
29
+ type: "function",
30
+ name: "onUninstall",
31
+ inputs: [
32
+ {
33
+ name: "data",
34
+ type: "bytes",
35
+ internalType: "bytes",
36
+ },
37
+ ],
38
+ outputs: [],
39
+ stateMutability: "nonpayable",
40
+ },
41
+ {
42
+ type: "function",
43
+ name: "replaySafeHash",
44
+ inputs: [
45
+ {
46
+ name: "account",
47
+ type: "address",
48
+ internalType: "address",
49
+ },
50
+ {
51
+ name: "hash",
52
+ type: "bytes32",
53
+ internalType: "bytes32",
54
+ },
55
+ ],
56
+ outputs: [
57
+ {
58
+ name: "",
59
+ type: "bytes32",
60
+ internalType: "bytes32",
61
+ },
62
+ ],
63
+ stateMutability: "view",
64
+ },
65
+ {
66
+ type: "function",
67
+ name: "signers",
68
+ inputs: [
69
+ {
70
+ name: "entityId",
71
+ type: "uint32",
72
+ internalType: "uint32",
73
+ },
74
+ {
75
+ name: "account",
76
+ type: "address",
77
+ internalType: "address",
78
+ },
79
+ ],
80
+ outputs: [
81
+ {
82
+ name: "",
83
+ type: "address",
84
+ internalType: "address",
85
+ },
86
+ ],
87
+ stateMutability: "view",
88
+ },
89
+ {
90
+ type: "function",
91
+ name: "supportsInterface",
92
+ inputs: [
93
+ {
94
+ name: "interfaceId",
95
+ type: "bytes4",
96
+ internalType: "bytes4",
97
+ },
98
+ ],
99
+ outputs: [
100
+ {
101
+ name: "",
102
+ type: "bool",
103
+ internalType: "bool",
104
+ },
105
+ ],
106
+ stateMutability: "view",
107
+ },
108
+ {
109
+ type: "function",
110
+ name: "transferSigner",
111
+ inputs: [
112
+ {
113
+ name: "entityId",
114
+ type: "uint32",
115
+ internalType: "uint32",
116
+ },
117
+ {
118
+ name: "newSigner",
119
+ type: "address",
120
+ internalType: "address",
121
+ },
122
+ ],
123
+ outputs: [],
124
+ stateMutability: "nonpayable",
125
+ },
126
+ {
127
+ type: "function",
128
+ name: "validateRuntime",
129
+ inputs: [
130
+ {
131
+ name: "account",
132
+ type: "address",
133
+ internalType: "address",
134
+ },
135
+ {
136
+ name: "entityId",
137
+ type: "uint32",
138
+ internalType: "uint32",
139
+ },
140
+ {
141
+ name: "sender",
142
+ type: "address",
143
+ internalType: "address",
144
+ },
145
+ {
146
+ name: "",
147
+ type: "uint256",
148
+ internalType: "uint256",
149
+ },
150
+ {
151
+ name: "",
152
+ type: "bytes",
153
+ internalType: "bytes",
154
+ },
155
+ {
156
+ name: "",
157
+ type: "bytes",
158
+ internalType: "bytes",
159
+ },
160
+ ],
161
+ outputs: [],
162
+ stateMutability: "view",
163
+ },
164
+ {
165
+ type: "function",
166
+ name: "validateSignature",
167
+ inputs: [
168
+ {
169
+ name: "account",
170
+ type: "address",
171
+ internalType: "address",
172
+ },
173
+ {
174
+ name: "entityId",
175
+ type: "uint32",
176
+ internalType: "uint32",
177
+ },
178
+ {
179
+ name: "",
180
+ type: "address",
181
+ internalType: "address",
182
+ },
183
+ {
184
+ name: "digest",
185
+ type: "bytes32",
186
+ internalType: "bytes32",
187
+ },
188
+ {
189
+ name: "signature",
190
+ type: "bytes",
191
+ internalType: "bytes",
192
+ },
193
+ ],
194
+ outputs: [
195
+ {
196
+ name: "",
197
+ type: "bytes4",
198
+ internalType: "bytes4",
199
+ },
200
+ ],
201
+ stateMutability: "view",
202
+ },
203
+ {
204
+ type: "function",
205
+ name: "validateUserOp",
206
+ inputs: [
207
+ {
208
+ name: "entityId",
209
+ type: "uint32",
210
+ internalType: "uint32",
211
+ },
212
+ {
213
+ name: "userOp",
214
+ type: "tuple",
215
+ internalType: "struct PackedUserOperation",
216
+ components: [
217
+ {
218
+ name: "sender",
219
+ type: "address",
220
+ internalType: "address",
221
+ },
222
+ {
223
+ name: "nonce",
224
+ type: "uint256",
225
+ internalType: "uint256",
226
+ },
227
+ {
228
+ name: "initCode",
229
+ type: "bytes",
230
+ internalType: "bytes",
231
+ },
232
+ {
233
+ name: "callData",
234
+ type: "bytes",
235
+ internalType: "bytes",
236
+ },
237
+ {
238
+ name: "accountGasLimits",
239
+ type: "bytes32",
240
+ internalType: "bytes32",
241
+ },
242
+ {
243
+ name: "preVerificationGas",
244
+ type: "uint256",
245
+ internalType: "uint256",
246
+ },
247
+ {
248
+ name: "gasFees",
249
+ type: "bytes32",
250
+ internalType: "bytes32",
251
+ },
252
+ {
253
+ name: "paymasterAndData",
254
+ type: "bytes",
255
+ internalType: "bytes",
256
+ },
257
+ {
258
+ name: "signature",
259
+ type: "bytes",
260
+ internalType: "bytes",
261
+ },
262
+ ],
263
+ },
264
+ {
265
+ name: "userOpHash",
266
+ type: "bytes32",
267
+ internalType: "bytes32",
268
+ },
269
+ ],
270
+ outputs: [
271
+ {
272
+ name: "",
273
+ type: "uint256",
274
+ internalType: "uint256",
275
+ },
276
+ ],
277
+ stateMutability: "view",
278
+ },
279
+ {
280
+ type: "event",
281
+ name: "SignerTransferred",
282
+ inputs: [
283
+ {
284
+ name: "account",
285
+ type: "address",
286
+ indexed: true,
287
+ internalType: "address",
288
+ },
289
+ {
290
+ name: "entityId",
291
+ type: "uint32",
292
+ indexed: true,
293
+ internalType: "uint32",
294
+ },
295
+ {
296
+ name: "newSigner",
297
+ type: "address",
298
+ indexed: true,
299
+ internalType: "address",
300
+ },
301
+ {
302
+ name: "previousSigner",
303
+ type: "address",
304
+ indexed: false,
305
+ internalType: "address",
306
+ },
307
+ ],
308
+ anonymous: true,
309
+ },
310
+ {
311
+ type: "error",
312
+ name: "InvalidSignatureType",
313
+ inputs: [],
314
+ },
315
+ {
316
+ type: "error",
317
+ name: "NotAuthorized",
318
+ inputs: [],
319
+ },
320
+ {
321
+ type: "error",
322
+ name: "NotImplemented",
323
+ inputs: [],
324
+ },
325
+ {
326
+ type: "error",
327
+ name: "UnexpectedDataPassed",
328
+ inputs: [],
329
+ },
330
+ ];
@@ -0,0 +1,24 @@
1
+ import { encodeAbiParameters, type Address, type Hex } from "viem";
2
+
3
+ export const SingleSignerValidationModule = {
4
+ encodeOnInstallData: (args: { entityId: number; signer: Address }): Hex => {
5
+ const { entityId, signer } = args;
6
+ return encodeAbiParameters(
7
+ [{ type: "uint32" }, { type: "address" }],
8
+ [entityId, signer]
9
+ );
10
+ },
11
+
12
+ encodeOnUninstallData: (args: { entityId: number }): Hex => {
13
+ const { entityId } = args;
14
+
15
+ return encodeAbiParameters(
16
+ [
17
+ {
18
+ type: "uint32",
19
+ },
20
+ ],
21
+ [entityId]
22
+ );
23
+ },
24
+ };