@account-kit/wallet-client 0.0.1-alpha.1

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 (259) hide show
  1. package/dist/esm/abi/LightAccountFactoryAbi_V1_0_1.d.ts +55 -0
  2. package/dist/esm/abi/LightAccountFactoryAbi_V1_0_1.js +45 -0
  3. package/dist/esm/abi/LightAccountFactoryAbi_V1_0_1.js.map +1 -0
  4. package/dist/esm/abi/LightAccountFactoryAbi_V1_0_2.d.ts +55 -0
  5. package/dist/esm/abi/LightAccountFactoryAbi_V1_0_2.js +45 -0
  6. package/dist/esm/abi/LightAccountFactoryAbi_V1_0_2.js.map +1 -0
  7. package/dist/esm/abi/LightAccountFactoryAbi_V1_1_0.d.ts +55 -0
  8. package/dist/esm/abi/LightAccountFactoryAbi_V1_1_0.js +45 -0
  9. package/dist/esm/abi/LightAccountFactoryAbi_V1_1_0.js.map +1 -0
  10. package/dist/esm/abi/LightAccountFactoryAbi_V2_0_0.d.ts +256 -0
  11. package/dist/esm/abi/LightAccountFactoryAbi_V2_0_0.js +202 -0
  12. package/dist/esm/abi/LightAccountFactoryAbi_V2_0_0.js.map +1 -0
  13. package/dist/esm/abi/ModularAccountFactoryAbi_V2_0_0.d.ts +492 -0
  14. package/dist/esm/abi/ModularAccountFactoryAbi_V2_0_0.js +399 -0
  15. package/dist/esm/abi/ModularAccountFactoryAbi_V2_0_0.js.map +1 -0
  16. package/dist/esm/abi/MultiOwnerLightAccountFactoryAbi_V2_0_0.d.ts +286 -0
  17. package/dist/esm/abi/MultiOwnerLightAccountFactoryAbi_V2_0_0.js +225 -0
  18. package/dist/esm/abi/MultiOwnerLightAccountFactoryAbi_V2_0_0.js.map +1 -0
  19. package/dist/esm/abi/MultiOwnerModularAccountFactoryAbi_V1_0_0.d.ts +234 -0
  20. package/dist/esm/abi/MultiOwnerModularAccountFactoryAbi_V1_0_0.js +179 -0
  21. package/dist/esm/abi/MultiOwnerModularAccountFactoryAbi_V1_0_0.js.map +1 -0
  22. package/dist/esm/abi/MultisigModularAccountFactoryAbi_V1_0_0.d.ts +246 -0
  23. package/dist/esm/abi/MultisigModularAccountFactoryAbi_V1_0_0.js +182 -0
  24. package/dist/esm/abi/MultisigModularAccountFactoryAbi_V1_0_0.js.map +1 -0
  25. package/dist/esm/abi/index.d.ts +8 -0
  26. package/dist/esm/abi/index.js +9 -0
  27. package/dist/esm/abi/index.js.map +1 -0
  28. package/dist/esm/capabilities/index.d.ts +8 -0
  29. package/dist/esm/capabilities/index.js +8 -0
  30. package/dist/esm/capabilities/index.js.map +1 -0
  31. package/dist/esm/capabilities/paymaster.d.ts +3 -0
  32. package/dist/esm/capabilities/paymaster.js +5 -0
  33. package/dist/esm/capabilities/paymaster.js.map +1 -0
  34. package/dist/esm/capabilities/permissions/index.d.ts +98 -0
  35. package/dist/esm/capabilities/permissions/index.js +60 -0
  36. package/dist/esm/capabilities/permissions/index.js.map +1 -0
  37. package/dist/esm/capabilities/permissions/mav2.d.ts +36 -0
  38. package/dist/esm/capabilities/permissions/mav2.js +79 -0
  39. package/dist/esm/capabilities/permissions/mav2.js.map +1 -0
  40. package/dist/esm/client/actions/createAccount.d.ts +10 -0
  41. package/dist/esm/client/actions/createAccount.js +7 -0
  42. package/dist/esm/client/actions/createAccount.js.map +1 -0
  43. package/dist/esm/client/actions/getCallsStatus.d.ts +6 -0
  44. package/dist/esm/client/actions/getCallsStatus.js +7 -0
  45. package/dist/esm/client/actions/getCallsStatus.js.map +1 -0
  46. package/dist/esm/client/actions/grantPermissions.d.ts +13 -0
  47. package/dist/esm/client/actions/grantPermissions.js +11 -0
  48. package/dist/esm/client/actions/grantPermissions.js.map +1 -0
  49. package/dist/esm/client/actions/listAccounts.d.ts +6 -0
  50. package/dist/esm/client/actions/listAccounts.js +4 -0
  51. package/dist/esm/client/actions/listAccounts.js.map +1 -0
  52. package/dist/esm/client/actions/prepareCalls.d.ts +15 -0
  53. package/dist/esm/client/actions/prepareCalls.js +17 -0
  54. package/dist/esm/client/actions/prepareCalls.js.map +1 -0
  55. package/dist/esm/client/actions/requestAccount.d.ts +11 -0
  56. package/dist/esm/client/actions/requestAccount.js +28 -0
  57. package/dist/esm/client/actions/requestAccount.js.map +1 -0
  58. package/dist/esm/client/actions/sendPreparedCalls.d.ts +6 -0
  59. package/dist/esm/client/actions/sendPreparedCalls.js +8 -0
  60. package/dist/esm/client/actions/sendPreparedCalls.js.map +1 -0
  61. package/dist/esm/client/actions/signMessage.d.ts +6 -0
  62. package/dist/esm/client/actions/signMessage.js +7 -0
  63. package/dist/esm/client/actions/signMessage.js.map +1 -0
  64. package/dist/esm/client/actions/signSignatureRequest.d.ts +10 -0
  65. package/dist/esm/client/actions/signSignatureRequest.js +15 -0
  66. package/dist/esm/client/actions/signSignatureRequest.js.map +1 -0
  67. package/dist/esm/client/actions/signTypedData.d.ts +6 -0
  68. package/dist/esm/client/actions/signTypedData.js +7 -0
  69. package/dist/esm/client/actions/signTypedData.js.map +1 -0
  70. package/dist/esm/client/client.e2e-test.d.ts +1 -0
  71. package/dist/esm/client/client.e2e-test.js +238 -0
  72. package/dist/esm/client/client.e2e-test.js.map +1 -0
  73. package/dist/esm/client/decorator.d.ts +24 -0
  74. package/dist/esm/client/decorator.js +25 -0
  75. package/dist/esm/client/decorator.js.map +1 -0
  76. package/dist/esm/client/index.d.ts +18 -0
  77. package/dist/esm/client/index.js +43 -0
  78. package/dist/esm/client/index.js.map +1 -0
  79. package/dist/esm/exports/index.d.ts +13 -0
  80. package/dist/esm/exports/index.js +18 -0
  81. package/dist/esm/exports/index.js.map +1 -0
  82. package/dist/esm/exports/internal.d.ts +13 -0
  83. package/dist/esm/exports/internal.js +15 -0
  84. package/dist/esm/exports/internal.js.map +1 -0
  85. package/dist/esm/isomorphic/actions/createSession.d.ts +14 -0
  86. package/dist/esm/isomorphic/actions/createSession.js +63 -0
  87. package/dist/esm/isomorphic/actions/createSession.js.map +1 -0
  88. package/dist/esm/isomorphic/actions/getCallsStatus.d.ts +21 -0
  89. package/dist/esm/isomorphic/actions/getCallsStatus.js +60 -0
  90. package/dist/esm/isomorphic/actions/getCallsStatus.js.map +1 -0
  91. package/dist/esm/isomorphic/actions/prepareCalls.d.ts +8 -0
  92. package/dist/esm/isomorphic/actions/prepareCalls.js +57 -0
  93. package/dist/esm/isomorphic/actions/prepareCalls.js.map +1 -0
  94. package/dist/esm/isomorphic/actions/sendPreparedCalls.d.ts +8 -0
  95. package/dist/esm/isomorphic/actions/sendPreparedCalls.js +43 -0
  96. package/dist/esm/isomorphic/actions/sendPreparedCalls.js.map +1 -0
  97. package/dist/esm/isomorphic/client.d.ts +97 -0
  98. package/dist/esm/isomorphic/client.js +30 -0
  99. package/dist/esm/isomorphic/client.js.map +1 -0
  100. package/dist/esm/isomorphic/utils/createAccount.d.ts +22 -0
  101. package/dist/esm/isomorphic/utils/createAccount.js +32 -0
  102. package/dist/esm/isomorphic/utils/createAccount.js.map +1 -0
  103. package/dist/esm/isomorphic/utils/createDummySigner.d.ts +3 -0
  104. package/dist/esm/isomorphic/utils/createDummySigner.js +17 -0
  105. package/dist/esm/isomorphic/utils/createDummySigner.js.map +1 -0
  106. package/dist/esm/isomorphic/utils/parsePermissionsContext.d.ts +20 -0
  107. package/dist/esm/isomorphic/utils/parsePermissionsContext.js +21 -0
  108. package/dist/esm/isomorphic/utils/parsePermissionsContext.js.map +1 -0
  109. package/dist/esm/local/client.d.ts +3 -0
  110. package/dist/esm/local/client.js +89 -0
  111. package/dist/esm/local/client.js.map +1 -0
  112. package/dist/esm/remote/client.d.ts +3 -0
  113. package/dist/esm/remote/client.js +42 -0
  114. package/dist/esm/remote/client.js.map +1 -0
  115. package/dist/esm/rpc/request.d.ts +329 -0
  116. package/dist/esm/rpc/request.js +194 -0
  117. package/dist/esm/rpc/request.js.map +1 -0
  118. package/dist/esm/rpc/schema.d.ts +319 -0
  119. package/dist/esm/rpc/schema.js +5 -0
  120. package/dist/esm/rpc/schema.js.map +1 -0
  121. package/dist/esm/schemas.d.ts +216 -0
  122. package/dist/esm/schemas.js +211 -0
  123. package/dist/esm/schemas.js.map +1 -0
  124. package/dist/esm/types.d.ts +27 -0
  125. package/dist/esm/types.js +2 -0
  126. package/dist/esm/types.js.map +1 -0
  127. package/dist/esm/utils.d.ts +4 -0
  128. package/dist/esm/utils.js +12 -0
  129. package/dist/esm/utils.js.map +1 -0
  130. package/dist/types/abi/LightAccountFactoryAbi_V1_0_1.d.ts +56 -0
  131. package/dist/types/abi/LightAccountFactoryAbi_V1_0_1.d.ts.map +1 -0
  132. package/dist/types/abi/LightAccountFactoryAbi_V1_0_2.d.ts +56 -0
  133. package/dist/types/abi/LightAccountFactoryAbi_V1_0_2.d.ts.map +1 -0
  134. package/dist/types/abi/LightAccountFactoryAbi_V1_1_0.d.ts +56 -0
  135. package/dist/types/abi/LightAccountFactoryAbi_V1_1_0.d.ts.map +1 -0
  136. package/dist/types/abi/LightAccountFactoryAbi_V2_0_0.d.ts +257 -0
  137. package/dist/types/abi/LightAccountFactoryAbi_V2_0_0.d.ts.map +1 -0
  138. package/dist/types/abi/ModularAccountFactoryAbi_V2_0_0.d.ts +493 -0
  139. package/dist/types/abi/ModularAccountFactoryAbi_V2_0_0.d.ts.map +1 -0
  140. package/dist/types/abi/MultiOwnerLightAccountFactoryAbi_V2_0_0.d.ts +287 -0
  141. package/dist/types/abi/MultiOwnerLightAccountFactoryAbi_V2_0_0.d.ts.map +1 -0
  142. package/dist/types/abi/MultiOwnerModularAccountFactoryAbi_V1_0_0.d.ts +235 -0
  143. package/dist/types/abi/MultiOwnerModularAccountFactoryAbi_V1_0_0.d.ts.map +1 -0
  144. package/dist/types/abi/MultisigModularAccountFactoryAbi_V1_0_0.d.ts +247 -0
  145. package/dist/types/abi/MultisigModularAccountFactoryAbi_V1_0_0.d.ts.map +1 -0
  146. package/dist/types/abi/index.d.ts +9 -0
  147. package/dist/types/abi/index.d.ts.map +1 -0
  148. package/dist/types/capabilities/index.d.ts +9 -0
  149. package/dist/types/capabilities/index.d.ts.map +1 -0
  150. package/dist/types/capabilities/paymaster.d.ts +4 -0
  151. package/dist/types/capabilities/paymaster.d.ts.map +1 -0
  152. package/dist/types/capabilities/permissions/index.d.ts +99 -0
  153. package/dist/types/capabilities/permissions/index.d.ts.map +1 -0
  154. package/dist/types/capabilities/permissions/mav2.d.ts +37 -0
  155. package/dist/types/capabilities/permissions/mav2.d.ts.map +1 -0
  156. package/dist/types/client/actions/createAccount.d.ts +11 -0
  157. package/dist/types/client/actions/createAccount.d.ts.map +1 -0
  158. package/dist/types/client/actions/getCallsStatus.d.ts +7 -0
  159. package/dist/types/client/actions/getCallsStatus.d.ts.map +1 -0
  160. package/dist/types/client/actions/grantPermissions.d.ts +14 -0
  161. package/dist/types/client/actions/grantPermissions.d.ts.map +1 -0
  162. package/dist/types/client/actions/listAccounts.d.ts +7 -0
  163. package/dist/types/client/actions/listAccounts.d.ts.map +1 -0
  164. package/dist/types/client/actions/prepareCalls.d.ts +16 -0
  165. package/dist/types/client/actions/prepareCalls.d.ts.map +1 -0
  166. package/dist/types/client/actions/requestAccount.d.ts +12 -0
  167. package/dist/types/client/actions/requestAccount.d.ts.map +1 -0
  168. package/dist/types/client/actions/sendPreparedCalls.d.ts +7 -0
  169. package/dist/types/client/actions/sendPreparedCalls.d.ts.map +1 -0
  170. package/dist/types/client/actions/signMessage.d.ts +7 -0
  171. package/dist/types/client/actions/signMessage.d.ts.map +1 -0
  172. package/dist/types/client/actions/signSignatureRequest.d.ts +11 -0
  173. package/dist/types/client/actions/signSignatureRequest.d.ts.map +1 -0
  174. package/dist/types/client/actions/signTypedData.d.ts +7 -0
  175. package/dist/types/client/actions/signTypedData.d.ts.map +1 -0
  176. package/dist/types/client/client.e2e-test.d.ts +2 -0
  177. package/dist/types/client/client.e2e-test.d.ts.map +1 -0
  178. package/dist/types/client/decorator.d.ts +25 -0
  179. package/dist/types/client/decorator.d.ts.map +1 -0
  180. package/dist/types/client/index.d.ts +19 -0
  181. package/dist/types/client/index.d.ts.map +1 -0
  182. package/dist/types/exports/index.d.ts +14 -0
  183. package/dist/types/exports/index.d.ts.map +1 -0
  184. package/dist/types/exports/internal.d.ts +14 -0
  185. package/dist/types/exports/internal.d.ts.map +1 -0
  186. package/dist/types/isomorphic/actions/createSession.d.ts +15 -0
  187. package/dist/types/isomorphic/actions/createSession.d.ts.map +1 -0
  188. package/dist/types/isomorphic/actions/getCallsStatus.d.ts +22 -0
  189. package/dist/types/isomorphic/actions/getCallsStatus.d.ts.map +1 -0
  190. package/dist/types/isomorphic/actions/prepareCalls.d.ts +9 -0
  191. package/dist/types/isomorphic/actions/prepareCalls.d.ts.map +1 -0
  192. package/dist/types/isomorphic/actions/sendPreparedCalls.d.ts +9 -0
  193. package/dist/types/isomorphic/actions/sendPreparedCalls.d.ts.map +1 -0
  194. package/dist/types/isomorphic/client.d.ts +98 -0
  195. package/dist/types/isomorphic/client.d.ts.map +1 -0
  196. package/dist/types/isomorphic/utils/createAccount.d.ts +23 -0
  197. package/dist/types/isomorphic/utils/createAccount.d.ts.map +1 -0
  198. package/dist/types/isomorphic/utils/createDummySigner.d.ts +4 -0
  199. package/dist/types/isomorphic/utils/createDummySigner.d.ts.map +1 -0
  200. package/dist/types/isomorphic/utils/parsePermissionsContext.d.ts +21 -0
  201. package/dist/types/isomorphic/utils/parsePermissionsContext.d.ts.map +1 -0
  202. package/dist/types/local/client.d.ts +4 -0
  203. package/dist/types/local/client.d.ts.map +1 -0
  204. package/dist/types/remote/client.d.ts +4 -0
  205. package/dist/types/remote/client.d.ts.map +1 -0
  206. package/dist/types/rpc/request.d.ts +330 -0
  207. package/dist/types/rpc/request.d.ts.map +1 -0
  208. package/dist/types/rpc/schema.d.ts +320 -0
  209. package/dist/types/rpc/schema.d.ts.map +1 -0
  210. package/dist/types/schemas.d.ts +217 -0
  211. package/dist/types/schemas.d.ts.map +1 -0
  212. package/dist/types/types.d.ts +28 -0
  213. package/dist/types/types.d.ts.map +1 -0
  214. package/dist/types/utils.d.ts +5 -0
  215. package/dist/types/utils.d.ts.map +1 -0
  216. package/package.json +67 -0
  217. package/src/abi/LightAccountFactoryAbi_V1_0_1.ts +44 -0
  218. package/src/abi/LightAccountFactoryAbi_V1_0_2.ts +44 -0
  219. package/src/abi/LightAccountFactoryAbi_V1_1_0.ts +44 -0
  220. package/src/abi/LightAccountFactoryAbi_V2_0_0.ts +201 -0
  221. package/src/abi/ModularAccountFactoryAbi_V2_0_0.ts +398 -0
  222. package/src/abi/MultiOwnerLightAccountFactoryAbi_V2_0_0.ts +224 -0
  223. package/src/abi/MultiOwnerModularAccountFactoryAbi_V1_0_0.ts +178 -0
  224. package/src/abi/MultisigModularAccountFactoryAbi_V1_0_0.ts +181 -0
  225. package/src/abi/index.ts +8 -0
  226. package/src/capabilities/index.ts +11 -0
  227. package/src/capabilities/paymaster.ts +5 -0
  228. package/src/capabilities/permissions/index.ts +124 -0
  229. package/src/capabilities/permissions/mav2.ts +127 -0
  230. package/src/client/actions/createAccount.ts +28 -0
  231. package/src/client/actions/getCallsStatus.ts +29 -0
  232. package/src/client/actions/grantPermissions.ts +48 -0
  233. package/src/client/actions/listAccounts.ts +18 -0
  234. package/src/client/actions/prepareCalls.ts +55 -0
  235. package/src/client/actions/requestAccount.ts +71 -0
  236. package/src/client/actions/sendPreparedCalls.ts +23 -0
  237. package/src/client/actions/signMessage.ts +32 -0
  238. package/src/client/actions/signSignatureRequest.ts +34 -0
  239. package/src/client/actions/signTypedData.ts +32 -0
  240. package/src/client/client.e2e-test.ts +294 -0
  241. package/src/client/decorator.ts +102 -0
  242. package/src/client/index.ts +93 -0
  243. package/src/exports/index.ts +32 -0
  244. package/src/exports/internal.ts +16 -0
  245. package/src/isomorphic/actions/createSession.ts +116 -0
  246. package/src/isomorphic/actions/getCallsStatus.ts +98 -0
  247. package/src/isomorphic/actions/prepareCalls.ts +99 -0
  248. package/src/isomorphic/actions/sendPreparedCalls.ts +95 -0
  249. package/src/isomorphic/client.ts +81 -0
  250. package/src/isomorphic/utils/createAccount.ts +58 -0
  251. package/src/isomorphic/utils/createDummySigner.ts +26 -0
  252. package/src/isomorphic/utils/parsePermissionsContext.ts +33 -0
  253. package/src/local/client.ts +132 -0
  254. package/src/remote/client.ts +67 -0
  255. package/src/rpc/request.ts +258 -0
  256. package/src/rpc/schema.ts +40 -0
  257. package/src/schemas.ts +257 -0
  258. package/src/types.ts +60 -0
  259. package/src/utils.ts +13 -0
@@ -0,0 +1,211 @@
1
+ import { FormatRegistry, Type, } from "@sinclair/typebox";
2
+ import { toHex, slice, pad, concat, hexToBigInt } from "viem";
3
+ const UUID_V4_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
4
+ FormatRegistry.Set("uuid", (value) => UUID_V4_REGEX.test(value));
5
+ const BASE_64_URL_REGEX = /^[A-Za-z0-9_-]+$/; // Matches base64url encoded strings (without padding)
6
+ FormatRegistry.Set("base64url", (value) => BASE_64_URL_REGEX.test(value));
7
+ export const TypeHex = (options) => Type.TemplateLiteral("0x${string}", options);
8
+ export const TypeAddress = Type.TemplateLiteral("0x${string}");
9
+ export const TypeUuid = Type.String({ format: "uuid" });
10
+ export const TypeBase64UrlEncodedString = Type.String({
11
+ format: "base64url",
12
+ });
13
+ // BigInt is not json-serializable, so it must be encoded as a string.
14
+ export const TypeU256 = Type.Transform(Type.String())
15
+ .Decode((value) => BigInt(value))
16
+ .Encode((value) => toHex(value));
17
+ export const TypeU32 = Type.Transform(Type.String())
18
+ .Decode((value) => Number.parseInt(value, 16))
19
+ .Encode((value) => toHex(value));
20
+ export const TypeUserOperationRequest_v6 = Type.Object({
21
+ sender: TypeAddress,
22
+ nonce: TypeHex(),
23
+ initCode: Type.Union([TypeHex(), Type.Literal("0x")]),
24
+ callData: TypeHex(),
25
+ callGasLimit: TypeHex(),
26
+ verificationGasLimit: TypeHex(),
27
+ preVerificationGas: TypeHex(),
28
+ maxFeePerGas: TypeHex(),
29
+ maxPriorityFeePerGas: TypeHex(),
30
+ paymasterAndData: Type.Union([TypeHex(), Type.Literal("0x")]),
31
+ signature: TypeHex(),
32
+ });
33
+ export const TypeUserOperationRequest_v7 = Type.Object({
34
+ sender: TypeAddress,
35
+ nonce: TypeHex(),
36
+ factory: Type.Optional(TypeAddress),
37
+ factoryData: Type.Optional(TypeHex()),
38
+ callData: TypeHex(),
39
+ callGasLimit: TypeHex(),
40
+ verificationGasLimit: TypeHex(),
41
+ preVerificationGas: TypeHex(),
42
+ maxFeePerGas: TypeHex(),
43
+ maxPriorityFeePerGas: TypeHex(),
44
+ paymaster: Type.Optional(TypeAddress),
45
+ paymasterData: Type.Optional(TypeHex()),
46
+ paymasterVerificationGasLimit: Type.Optional(TypeHex()),
47
+ paymasterPostOpGasLimit: Type.Optional(TypeHex()),
48
+ signature: TypeHex(),
49
+ });
50
+ export const TypeWebAuthnPublicKey = Type.Object({
51
+ x: TypeU256,
52
+ y: TypeU256,
53
+ });
54
+ export const TypePersistedInitcode = Type.Object({
55
+ factoryAddress: TypeAddress,
56
+ initcode: Type.Union([
57
+ Type.Object({
58
+ factoryType: Type.Literal("unknown"),
59
+ factoryData: TypeHex(),
60
+ }),
61
+ Type.Object({
62
+ factoryType: Type.Union([
63
+ Type.Literal("LightAccountV2.0.0"),
64
+ Type.Literal("LightAccountV1.1.0"),
65
+ Type.Literal("LightAccountV1.0.2"),
66
+ Type.Literal("LightAccountV1.0.1"),
67
+ ]),
68
+ salt: TypeU256,
69
+ initialOwner: TypeAddress,
70
+ }),
71
+ Type.Object({
72
+ factoryType: Type.Union([
73
+ Type.Literal("MAv1.0.0-MultiOwner"),
74
+ Type.Literal("LightAccountV2.0.0-MultiOwner"),
75
+ ]),
76
+ salt: TypeU256,
77
+ initialOwners: Type.Array(TypeAddress),
78
+ }),
79
+ Type.Object({
80
+ factoryType: Type.Literal("MAv1.0.0-MultiSig"),
81
+ salt: TypeU256,
82
+ initialOwners: Type.Array(TypeAddress),
83
+ threshold: TypeU256,
84
+ }),
85
+ Type.Intersect([
86
+ Type.Object({
87
+ factoryType: Type.Literal("MAv2.0.0"),
88
+ salt: TypeU256,
89
+ }),
90
+ Type.Union([
91
+ Type.Object({
92
+ mav2type: Type.Literal("ma-ssv"),
93
+ initialOwner: TypeAddress,
94
+ entityId: TypeU32,
95
+ }),
96
+ Type.Object({
97
+ mav2type: Type.Literal("sma-b"),
98
+ initialOwner: TypeAddress,
99
+ }),
100
+ Type.Object({
101
+ mav2type: Type.Literal("ma-webauthn"),
102
+ initialOwner: TypeWebAuthnPublicKey,
103
+ entityId: TypeU32,
104
+ }),
105
+ ]),
106
+ ]),
107
+ ]),
108
+ });
109
+ export const TypeSerializedInitcode = Type.Object({
110
+ factoryType: Type.Union([
111
+ Type.Literal("LightAccountV1.0.1"),
112
+ Type.Literal("LightAccountV1.0.2"),
113
+ Type.Literal("LightAccountV1.1.0"),
114
+ Type.Literal("LightAccountV2.0.0"),
115
+ Type.Literal("LightAccountV2.0.0-MultiOwner"),
116
+ Type.Literal("MAv1.0.0-MultiOwner"),
117
+ Type.Literal("MAv1.0.0-MultiSig"),
118
+ Type.Literal("MAv2.0.0-sma-b"),
119
+ Type.Literal("MAv2.0.0-ma-ssv"),
120
+ Type.Literal("MAv2.0.0-ma-webauthn"),
121
+ Type.Literal("unknown"),
122
+ ]),
123
+ factoryAddress: TypeAddress,
124
+ factoryData: TypeHex(),
125
+ });
126
+ export const TypeCounterfactualInfo = Type.Intersect([
127
+ Type.Object({
128
+ accountAddress: TypeAddress,
129
+ }),
130
+ Type.Union([
131
+ Type.Intersect([
132
+ Type.Object({
133
+ type: Type.Literal("sca"),
134
+ }),
135
+ TypePersistedInitcode,
136
+ ]),
137
+ Type.Object({
138
+ type: Type.Literal("7702"),
139
+ }),
140
+ ]),
141
+ ]);
142
+ export const TypeCreationOptions = Type.Optional(Type.Union([
143
+ Type.Object({
144
+ // Optional b/c `sma-b` is the default if no accountType is specified.
145
+ accountType: Type.Optional(Type.Literal("sma-b")),
146
+ salt: Type.Optional(TypeHex()),
147
+ }),
148
+ // TODO: add more options after v0.
149
+ ]));
150
+ export const KeySigner = Type.Object({
151
+ type: Type.Union([Type.Literal("secp256k1"), Type.Literal("contract")]),
152
+ publicKey: TypeHex(),
153
+ });
154
+ export const TTypedDataDefinition = Type.Transform(Type.Object({
155
+ domain: Type.Optional(Type.Object({
156
+ chainId: Type.Optional(Type.Number()),
157
+ name: Type.Optional(Type.String()),
158
+ salt: Type.Optional(TypeHex()),
159
+ verifyingContract: Type.Optional(TypeAddress),
160
+ version: Type.Optional(Type.String()),
161
+ })),
162
+ types: Type.Record(Type.String(), Type.Array(Type.Object({
163
+ name: Type.String(),
164
+ type: Type.String(),
165
+ }))),
166
+ primaryType: Type.String(),
167
+ message: Type.Record(Type.String(), Type.Unknown()),
168
+ }))
169
+ // No-op b/c Viem is happy w/ the encoded version too.
170
+ .Decode((it) => it)
171
+ // Encode the TypedDataDefinition into our json-serialized format.
172
+ .Encode(({ domain, types, primaryType, message }) => {
173
+ return {
174
+ domain: {
175
+ ...domain,
176
+ chainId: typeof domain?.chainId === "bigint"
177
+ ? Number(domain.chainId)
178
+ : domain?.chainId,
179
+ },
180
+ types,
181
+ primaryType,
182
+ message: JSON.parse(JSON.stringify(message, (_, v) => typeof v === "bigint" ? toHex(v) : v)),
183
+ };
184
+ });
185
+ export const TypeSignatureRequest = Type.Union([
186
+ Type.Object({
187
+ type: Type.Literal("personal_sign"),
188
+ data: Type.Union([
189
+ Type.String({ minLength: 1 }),
190
+ Type.Object({
191
+ raw: TypeHex(),
192
+ }),
193
+ ]),
194
+ }),
195
+ Type.Object({
196
+ type: Type.Literal("eth_signTypedData_v4"),
197
+ data: TTypedDataDefinition,
198
+ }),
199
+ ]);
200
+ export const TypeCallId = Type.Transform(TypeHex())
201
+ .Decode((value) => {
202
+ return {
203
+ chainId: toHex(hexToBigInt(slice(value, 0, 32))),
204
+ hash: slice(value, 32),
205
+ };
206
+ })
207
+ .Encode(({ chainId, hash }) => {
208
+ const chainIdPadded = pad(chainId, { size: 32 });
209
+ return concat([chainIdPadded, hash]);
210
+ });
211
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,IAAI,GAGL,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAE9D,MAAM,aAAa,GACjB,wEAAwE,CAAC;AAC3E,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAEjE,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,CAAC,sDAAsD;AACpG,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAuB,EAAE,EAAE,CACjD,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AAC/C,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AACxD,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC,MAAM,CAAC;IACpD,MAAM,EAAE,WAAW;CACpB,CAAC,CAAC;AAEH,sEAAsE;AACtE,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;KAClD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAChC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAEnC,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;KACjD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;KAC7C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAEnC,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC,MAAM,CAAC;IACrD,MAAM,EAAE,WAAW;IACnB,KAAK,EAAE,OAAO,EAAE;IAChB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,QAAQ,EAAE,OAAO,EAAE;IACnB,YAAY,EAAE,OAAO,EAAE;IACvB,oBAAoB,EAAE,OAAO,EAAE;IAC/B,kBAAkB,EAAE,OAAO,EAAE;IAC7B,YAAY,EAAE,OAAO,EAAE;IACvB,oBAAoB,EAAE,OAAO,EAAE;IAC/B,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,SAAS,EAAE,OAAO,EAAE;CACrB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC,MAAM,CAAC;IACrD,MAAM,EAAE,WAAW;IACnB,KAAK,EAAE,OAAO,EAAE;IAChB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACnC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACrC,QAAQ,EAAE,OAAO,EAAE;IACnB,YAAY,EAAE,OAAO,EAAE;IACvB,oBAAoB,EAAE,OAAO,EAAE;IAC/B,kBAAkB,EAAE,OAAO,EAAE;IAC7B,YAAY,EAAE,OAAO,EAAE;IACvB,oBAAoB,EAAE,OAAO,EAAE;IAC/B,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACrC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACvC,6BAA6B,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACvD,uBAAuB,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACjD,SAAS,EAAE,OAAO,EAAE;CACrB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC;IAC/C,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,QAAQ;CACZ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC;IAC/C,cAAc,EAAE,WAAW;IAC3B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC;YACV,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACpC,WAAW,EAAE,OAAO,EAAE;SACvB,CAAC;QACF,IAAI,CAAC,MAAM,CAAC;YACV,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC;gBACtB,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC;aACnC,CAAC;YACF,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,WAAW;SAC1B,CAAC;QACF,IAAI,CAAC,MAAM,CAAC;YACV,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC;gBACtB,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC;gBACnC,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC;aAC9C,CAAC;YACF,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;SACvC,CAAC;QACF,IAAI,CAAC,MAAM,CAAC;YACV,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;YAC9C,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YACtC,SAAS,EAAE,QAAQ;SACpB,CAAC;QACF,IAAI,CAAC,SAAS,CAAC;YACb,IAAI,CAAC,MAAM,CAAC;gBACV,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;gBACrC,IAAI,EAAE,QAAQ;aACf,CAAC;YACF,IAAI,CAAC,KAAK,CAAC;gBACT,IAAI,CAAC,MAAM,CAAC;oBACV,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;oBAChC,YAAY,EAAE,WAAW;oBACzB,QAAQ,EAAE,OAAO;iBAClB,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC;oBACV,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;oBAC/B,YAAY,EAAE,WAAW;iBAC1B,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC;oBACV,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;oBACrC,YAAY,EAAE,qBAAqB;oBACnC,QAAQ,EAAE,OAAO;iBAClB,CAAC;aACH,CAAC;SACH,CAAC;KACH,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC;IAChD,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;KACxB,CAAC;IACF,cAAc,EAAE,WAAW;IAC3B,WAAW,EAAE,OAAO,EAAE;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC;IACnD,IAAI,CAAC,MAAM,CAAC;QACV,cAAc,EAAE,WAAW;KAC5B,CAAC;IACF,IAAI,CAAC,KAAK,CAAC;QACT,IAAI,CAAC,SAAS,CAAC;YACb,IAAI,CAAC,MAAM,CAAC;gBACV,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;aAC1B,CAAC;YACF,qBAAqB;SACtB,CAAC;QACF,IAAI,CAAC,MAAM,CAAC;YACV,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;SAC3B,CAAC;KACH,CAAC;CACH,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAC9C,IAAI,CAAC,KAAK,CAAC;IACT,IAAI,CAAC,MAAM,CAAC;QACV,sEAAsE;QACtE,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;KAC/B,CAAC;IACF,mCAAmC;CACpC,CAAC,CACH,CAAC;AAQF,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACvE,SAAS,EAAE,OAAO,EAAE;CACrB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAChD,IAAI,CAAC,MAAM,CAAC;IACV,MAAM,EAAE,IAAI,CAAC,QAAQ,CACnB,IAAI,CAAC,MAAM,CAAC;QACV,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACrC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAClC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC9B,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC7C,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;KACtC,CAAC,CACH;IACD,KAAK,EAAE,IAAI,CAAC,MAAM,CAChB,IAAI,CAAC,MAAM,EAAE,EACb,IAAI,CAAC,KAAK,CACR,IAAI,CAAC,MAAM,CAAC;QACV,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;KACpB,CAAC,CACH,CACF;IACD,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE;IAC1B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;CACpD,CAAC,CACH;IACC,sDAAsD;KACrD,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IACnB,kEAAkE;KACjE,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE;IAClD,OAAO;QACL,MAAM,EAAE;YACN,GAAG,MAAM;YACT,OAAO,EACL,OAAO,MAAM,EAAE,OAAO,KAAK,QAAQ;gBACjC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;gBACxB,CAAC,CAAC,MAAM,EAAE,OAAO;SACtB;QACD,KAAK;QACL,WAAW;QACX,OAAO,EAAE,IAAI,CAAC,KAAK,CACjB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC/B,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACrC,CACF;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC;QACV,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;QACnC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC;gBACV,GAAG,EAAE,OAAO,EAAE;aACf,CAAC;SACH,CAAC;KACH,CAAC;IACF,IAAI,CAAC,MAAM,CAAC;QACV,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC;QAC1C,IAAI,EAAE,oBAAoB;KAC3B,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;KAChD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;IAChB,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAChD,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;KACvB,CAAC;AACJ,CAAC,CAAC;KACD,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;IAC5B,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACjD,OAAO,MAAM,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC","sourcesContent":["import {\n FormatRegistry,\n Type,\n type SchemaOptions,\n type Static,\n} from \"@sinclair/typebox\";\nimport { toHex, slice, pad, concat, hexToBigInt } from \"viem\";\n\nconst UUID_V4_REGEX =\n /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\nFormatRegistry.Set(\"uuid\", (value) => UUID_V4_REGEX.test(value));\n\nconst BASE_64_URL_REGEX = /^[A-Za-z0-9_-]+$/; // Matches base64url encoded strings (without padding)\nFormatRegistry.Set(\"base64url\", (value) => BASE_64_URL_REGEX.test(value));\n\nexport const TypeHex = (options?: SchemaOptions) =>\n Type.TemplateLiteral(\"0x${string}\", options);\nexport const TypeAddress = Type.TemplateLiteral(\"0x${string}\");\nexport const TypeUuid = Type.String({ format: \"uuid\" });\nexport const TypeBase64UrlEncodedString = Type.String({\n format: \"base64url\",\n});\n\n// BigInt is not json-serializable, so it must be encoded as a string.\nexport const TypeU256 = Type.Transform(Type.String())\n .Decode((value) => BigInt(value))\n .Encode((value) => toHex(value));\n\nexport const TypeU32 = Type.Transform(Type.String())\n .Decode((value) => Number.parseInt(value, 16))\n .Encode((value) => toHex(value));\n\nexport const TypeUserOperationRequest_v6 = Type.Object({\n sender: TypeAddress,\n nonce: TypeHex(),\n initCode: Type.Union([TypeHex(), Type.Literal(\"0x\")]),\n callData: TypeHex(),\n callGasLimit: TypeHex(),\n verificationGasLimit: TypeHex(),\n preVerificationGas: TypeHex(),\n maxFeePerGas: TypeHex(),\n maxPriorityFeePerGas: TypeHex(),\n paymasterAndData: Type.Union([TypeHex(), Type.Literal(\"0x\")]),\n signature: TypeHex(),\n});\n\nexport const TypeUserOperationRequest_v7 = Type.Object({\n sender: TypeAddress,\n nonce: TypeHex(),\n factory: Type.Optional(TypeAddress),\n factoryData: Type.Optional(TypeHex()),\n callData: TypeHex(),\n callGasLimit: TypeHex(),\n verificationGasLimit: TypeHex(),\n preVerificationGas: TypeHex(),\n maxFeePerGas: TypeHex(),\n maxPriorityFeePerGas: TypeHex(),\n paymaster: Type.Optional(TypeAddress),\n paymasterData: Type.Optional(TypeHex()),\n paymasterVerificationGasLimit: Type.Optional(TypeHex()),\n paymasterPostOpGasLimit: Type.Optional(TypeHex()),\n signature: TypeHex(),\n});\n\nexport const TypeWebAuthnPublicKey = Type.Object({\n x: TypeU256,\n y: TypeU256,\n});\n\nexport const TypePersistedInitcode = Type.Object({\n factoryAddress: TypeAddress,\n initcode: Type.Union([\n Type.Object({\n factoryType: Type.Literal(\"unknown\"),\n factoryData: TypeHex(),\n }),\n Type.Object({\n factoryType: Type.Union([\n Type.Literal(\"LightAccountV2.0.0\"),\n Type.Literal(\"LightAccountV1.1.0\"),\n Type.Literal(\"LightAccountV1.0.2\"),\n Type.Literal(\"LightAccountV1.0.1\"),\n ]),\n salt: TypeU256,\n initialOwner: TypeAddress,\n }),\n Type.Object({\n factoryType: Type.Union([\n Type.Literal(\"MAv1.0.0-MultiOwner\"),\n Type.Literal(\"LightAccountV2.0.0-MultiOwner\"),\n ]),\n salt: TypeU256,\n initialOwners: Type.Array(TypeAddress),\n }),\n Type.Object({\n factoryType: Type.Literal(\"MAv1.0.0-MultiSig\"),\n salt: TypeU256,\n initialOwners: Type.Array(TypeAddress),\n threshold: TypeU256,\n }),\n Type.Intersect([\n Type.Object({\n factoryType: Type.Literal(\"MAv2.0.0\"),\n salt: TypeU256,\n }),\n Type.Union([\n Type.Object({\n mav2type: Type.Literal(\"ma-ssv\"),\n initialOwner: TypeAddress,\n entityId: TypeU32,\n }),\n Type.Object({\n mav2type: Type.Literal(\"sma-b\"),\n initialOwner: TypeAddress,\n }),\n Type.Object({\n mav2type: Type.Literal(\"ma-webauthn\"),\n initialOwner: TypeWebAuthnPublicKey,\n entityId: TypeU32,\n }),\n ]),\n ]),\n ]),\n});\n\nexport const TypeSerializedInitcode = Type.Object({\n factoryType: Type.Union([\n Type.Literal(\"LightAccountV1.0.1\"),\n Type.Literal(\"LightAccountV1.0.2\"),\n Type.Literal(\"LightAccountV1.1.0\"),\n Type.Literal(\"LightAccountV2.0.0\"),\n Type.Literal(\"LightAccountV2.0.0-MultiOwner\"),\n Type.Literal(\"MAv1.0.0-MultiOwner\"),\n Type.Literal(\"MAv1.0.0-MultiSig\"),\n Type.Literal(\"MAv2.0.0-sma-b\"),\n Type.Literal(\"MAv2.0.0-ma-ssv\"),\n Type.Literal(\"MAv2.0.0-ma-webauthn\"),\n Type.Literal(\"unknown\"),\n ]),\n factoryAddress: TypeAddress,\n factoryData: TypeHex(),\n});\n\nexport const TypeCounterfactualInfo = Type.Intersect([\n Type.Object({\n accountAddress: TypeAddress,\n }),\n Type.Union([\n Type.Intersect([\n Type.Object({\n type: Type.Literal(\"sca\"),\n }),\n TypePersistedInitcode,\n ]),\n Type.Object({\n type: Type.Literal(\"7702\"),\n }),\n ]),\n]);\nexport type TypeCounterfactualInfo = Static<typeof TypeCounterfactualInfo>;\n\nexport const TypeCreationOptions = Type.Optional(\n Type.Union([\n Type.Object({\n // Optional b/c `sma-b` is the default if no accountType is specified.\n accountType: Type.Optional(Type.Literal(\"sma-b\")),\n salt: Type.Optional(TypeHex()),\n }),\n // TODO: add more options after v0.\n ]),\n);\nexport type TypeCreationOptions = Static<typeof TypeCreationOptions>;\n\nexport type TypeAccountType = Exclude<\n Static<typeof TypeCreationOptions>,\n undefined\n>[\"accountType\"];\n\nexport const KeySigner = Type.Object({\n type: Type.Union([Type.Literal(\"secp256k1\"), Type.Literal(\"contract\")]),\n publicKey: TypeHex(),\n});\nexport type KeySigner = Static<typeof KeySigner>;\n\nexport const TTypedDataDefinition = Type.Transform(\n Type.Object({\n domain: Type.Optional(\n Type.Object({\n chainId: Type.Optional(Type.Number()),\n name: Type.Optional(Type.String()),\n salt: Type.Optional(TypeHex()),\n verifyingContract: Type.Optional(TypeAddress),\n version: Type.Optional(Type.String()),\n }),\n ),\n types: Type.Record(\n Type.String(),\n Type.Array(\n Type.Object({\n name: Type.String(),\n type: Type.String(),\n }),\n ),\n ),\n primaryType: Type.String(),\n message: Type.Record(Type.String(), Type.Unknown()),\n }),\n)\n // No-op b/c Viem is happy w/ the encoded version too.\n .Decode((it) => it)\n // Encode the TypedDataDefinition into our json-serialized format.\n .Encode(({ domain, types, primaryType, message }) => {\n return {\n domain: {\n ...domain,\n chainId:\n typeof domain?.chainId === \"bigint\"\n ? Number(domain.chainId)\n : domain?.chainId,\n },\n types,\n primaryType,\n message: JSON.parse(\n JSON.stringify(message, (_, v) =>\n typeof v === \"bigint\" ? toHex(v) : v,\n ),\n ),\n };\n });\n\nexport const TypeSignatureRequest = Type.Union([\n Type.Object({\n type: Type.Literal(\"personal_sign\"),\n data: Type.Union([\n Type.String({ minLength: 1 }),\n Type.Object({\n raw: TypeHex(),\n }),\n ]),\n }),\n Type.Object({\n type: Type.Literal(\"eth_signTypedData_v4\"),\n data: TTypedDataDefinition,\n }),\n]);\n\nexport const TypeCallId = Type.Transform(TypeHex())\n .Decode((value) => {\n return {\n chainId: toHex(hexToBigInt(slice(value, 0, 32))),\n hash: slice(value, 32),\n };\n })\n .Encode(({ chainId, hash }) => {\n const chainIdPadded = pad(chainId, { size: 32 });\n return concat([chainIdPadded, hash]);\n });\n"]}
@@ -0,0 +1,27 @@
1
+ import type { AlchemyTransport } from "@account-kit/infra";
2
+ import type { Address, Chain, Client, Hex, IsUndefined, JsonRpcAccount, Transport } from "viem";
3
+ import type { WalletServerViemRpcSchema } from "./rpc/schema";
4
+ import type { SmartAccountSigner } from "@aa-sdk/core";
5
+ import type { GrantPermissionsParams, GrantPermissionsResult } from "./client/actions/grantPermissions";
6
+ export type CreateInnerClientParams<TAccount extends JsonRpcAccount<Address> | undefined = JsonRpcAccount<Address> | undefined> = {
7
+ chain: Chain;
8
+ transport: AlchemyTransport;
9
+ policyId?: string;
10
+ } & (IsUndefined<TAccount> extends true ? {
11
+ account?: never;
12
+ } : {
13
+ account: Address;
14
+ });
15
+ export type InnerWalletApiClientBase<TAccount extends JsonRpcAccount<Address> | undefined = JsonRpcAccount<Address> | undefined, TExtend extends {
16
+ [key: string]: unknown;
17
+ } | undefined = {
18
+ [key: string]: unknown;
19
+ } | undefined> = Client<Transport, Chain, TAccount, WalletServerViemRpcSchema, {
20
+ policyId?: string;
21
+ } & TExtend>;
22
+ export type InnerClientActions = {
23
+ grantPermissions: (signer: SmartAccountSigner, params: GrantPermissionsParams & {
24
+ chainId: Hex;
25
+ }) => Promise<GrantPermissionsResult>;
26
+ };
27
+ export type InnerWalletApiClient<TAccount extends JsonRpcAccount<Address> | undefined = JsonRpcAccount<Address> | undefined> = InnerWalletApiClientBase<TAccount, InnerClientActions>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { AlchemyTransport } from \"@account-kit/infra\";\nimport type {\n Address,\n Chain,\n Client,\n Hex,\n IsUndefined,\n JsonRpcAccount,\n Transport,\n} from \"viem\";\nimport type { WalletServerViemRpcSchema } from \"./rpc/schema\";\nimport type { SmartAccountSigner } from \"@aa-sdk/core\";\nimport type {\n GrantPermissionsParams,\n GrantPermissionsResult,\n} from \"./client/actions/grantPermissions\";\n\nexport type CreateInnerClientParams<\n TAccount extends JsonRpcAccount<Address> | undefined =\n | JsonRpcAccount<Address>\n | undefined,\n> = {\n chain: Chain;\n transport: AlchemyTransport;\n policyId?: string;\n} & (IsUndefined<TAccount> extends true\n ? {\n account?: never;\n }\n : {\n account: Address;\n });\n\nexport type InnerWalletApiClientBase<\n TAccount extends JsonRpcAccount<Address> | undefined =\n | JsonRpcAccount<Address>\n | undefined,\n TExtend extends { [key: string]: unknown } | undefined =\n | { [key: string]: unknown }\n | undefined,\n> = Client<\n Transport,\n Chain,\n TAccount,\n WalletServerViemRpcSchema,\n { policyId?: string } & TExtend\n>;\n\nexport type InnerClientActions = {\n grantPermissions: (\n signer: SmartAccountSigner,\n params: GrantPermissionsParams & { chainId: Hex },\n ) => Promise<GrantPermissionsResult>;\n};\n\nexport type InnerWalletApiClient<\n TAccount extends JsonRpcAccount<Address> | undefined =\n | JsonRpcAccount<Address>\n | undefined,\n> = InnerWalletApiClientBase<TAccount, InnerClientActions>;\n"]}
@@ -0,0 +1,4 @@
1
+ import { type Hex } from "viem";
2
+ export declare const assertNever: (_val: never, msg: string) => never;
3
+ /** If the value is already Hex, it is returned unchanged. If it's a string, number or bigint, it's converted. */
4
+ export declare const castToHex: (val: string | number | bigint | Hex) => Hex;
@@ -0,0 +1,12 @@
1
+ import { isHex, toHex } from "viem";
2
+ export const assertNever = (_val, msg) => {
3
+ throw new Error(msg);
4
+ };
5
+ /** If the value is already Hex, it is returned unchanged. If it's a string, number or bigint, it's converted. */
6
+ export const castToHex = (val) => {
7
+ if (isHex(val)) {
8
+ return val;
9
+ }
10
+ return toHex(val);
11
+ };
12
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAY,MAAM,MAAM,CAAC;AAE9C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAW,EAAE,GAAW,EAAS,EAAE;IAC7D,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,iHAAiH;AACjH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAmC,EAAO,EAAE;IACpE,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACf,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;AACpB,CAAC,CAAC","sourcesContent":["import { isHex, toHex, type Hex } from \"viem\";\n\nexport const assertNever = (_val: never, msg: string): never => {\n throw new Error(msg);\n};\n\n/** If the value is already Hex, it is returned unchanged. If it's a string, number or bigint, it's converted. */\nexport const castToHex = (val: string | number | bigint | Hex): Hex => {\n if (isHex(val)) {\n return val;\n }\n return toHex(val);\n};\n"]}
@@ -0,0 +1,56 @@
1
+ export declare const LightAccountFactoryAbi_V1_0_1: readonly [{
2
+ readonly inputs: readonly [{
3
+ readonly internalType: "contract IEntryPoint";
4
+ readonly name: "_entryPoint";
5
+ readonly type: "address";
6
+ }];
7
+ readonly stateMutability: "nonpayable";
8
+ readonly type: "constructor";
9
+ }, {
10
+ readonly inputs: readonly [];
11
+ readonly name: "accountImplementation";
12
+ readonly outputs: readonly [{
13
+ readonly internalType: "contract LightAccount";
14
+ readonly name: "";
15
+ readonly type: "address";
16
+ }];
17
+ readonly stateMutability: "view";
18
+ readonly type: "function";
19
+ }, {
20
+ readonly inputs: readonly [{
21
+ readonly internalType: "address";
22
+ readonly name: "owner";
23
+ readonly type: "address";
24
+ }, {
25
+ readonly internalType: "uint256";
26
+ readonly name: "salt";
27
+ readonly type: "uint256";
28
+ }];
29
+ readonly name: "createAccount";
30
+ readonly outputs: readonly [{
31
+ readonly internalType: "contract LightAccount";
32
+ readonly name: "ret";
33
+ readonly type: "address";
34
+ }];
35
+ readonly stateMutability: "nonpayable";
36
+ readonly type: "function";
37
+ }, {
38
+ readonly inputs: readonly [{
39
+ readonly internalType: "address";
40
+ readonly name: "owner";
41
+ readonly type: "address";
42
+ }, {
43
+ readonly internalType: "uint256";
44
+ readonly name: "salt";
45
+ readonly type: "uint256";
46
+ }];
47
+ readonly name: "getAddress";
48
+ readonly outputs: readonly [{
49
+ readonly internalType: "address";
50
+ readonly name: "";
51
+ readonly type: "address";
52
+ }];
53
+ readonly stateMutability: "view";
54
+ readonly type: "function";
55
+ }];
56
+ //# sourceMappingURL=LightAccountFactoryAbi_V1_0_1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LightAccountFactoryAbi_V1_0_1.d.ts","sourceRoot":"","sources":["../../../src/abi/LightAccountFactoryAbi_V1_0_1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2ChC,CAAC"}
@@ -0,0 +1,56 @@
1
+ export declare const LightAccountFactoryAbi_V1_0_2: readonly [{
2
+ readonly inputs: readonly [{
3
+ readonly internalType: "contract IEntryPoint";
4
+ readonly name: "_entryPoint";
5
+ readonly type: "address";
6
+ }];
7
+ readonly stateMutability: "nonpayable";
8
+ readonly type: "constructor";
9
+ }, {
10
+ readonly inputs: readonly [];
11
+ readonly name: "accountImplementation";
12
+ readonly outputs: readonly [{
13
+ readonly internalType: "contract LightAccount";
14
+ readonly name: "";
15
+ readonly type: "address";
16
+ }];
17
+ readonly stateMutability: "view";
18
+ readonly type: "function";
19
+ }, {
20
+ readonly inputs: readonly [{
21
+ readonly internalType: "address";
22
+ readonly name: "owner";
23
+ readonly type: "address";
24
+ }, {
25
+ readonly internalType: "uint256";
26
+ readonly name: "salt";
27
+ readonly type: "uint256";
28
+ }];
29
+ readonly name: "createAccount";
30
+ readonly outputs: readonly [{
31
+ readonly internalType: "contract LightAccount";
32
+ readonly name: "ret";
33
+ readonly type: "address";
34
+ }];
35
+ readonly stateMutability: "nonpayable";
36
+ readonly type: "function";
37
+ }, {
38
+ readonly inputs: readonly [{
39
+ readonly internalType: "address";
40
+ readonly name: "owner";
41
+ readonly type: "address";
42
+ }, {
43
+ readonly internalType: "uint256";
44
+ readonly name: "salt";
45
+ readonly type: "uint256";
46
+ }];
47
+ readonly name: "getAddress";
48
+ readonly outputs: readonly [{
49
+ readonly internalType: "address";
50
+ readonly name: "";
51
+ readonly type: "address";
52
+ }];
53
+ readonly stateMutability: "view";
54
+ readonly type: "function";
55
+ }];
56
+ //# sourceMappingURL=LightAccountFactoryAbi_V1_0_2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LightAccountFactoryAbi_V1_0_2.d.ts","sourceRoot":"","sources":["../../../src/abi/LightAccountFactoryAbi_V1_0_2.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2ChC,CAAC"}
@@ -0,0 +1,56 @@
1
+ export declare const LightAccountFactoryAbi_V1_1_0: readonly [{
2
+ readonly inputs: readonly [{
3
+ readonly internalType: "contract IEntryPoint";
4
+ readonly name: "_entryPoint";
5
+ readonly type: "address";
6
+ }];
7
+ readonly stateMutability: "nonpayable";
8
+ readonly type: "constructor";
9
+ }, {
10
+ readonly inputs: readonly [];
11
+ readonly name: "accountImplementation";
12
+ readonly outputs: readonly [{
13
+ readonly internalType: "contract LightAccount";
14
+ readonly name: "";
15
+ readonly type: "address";
16
+ }];
17
+ readonly stateMutability: "view";
18
+ readonly type: "function";
19
+ }, {
20
+ readonly inputs: readonly [{
21
+ readonly internalType: "address";
22
+ readonly name: "owner";
23
+ readonly type: "address";
24
+ }, {
25
+ readonly internalType: "uint256";
26
+ readonly name: "salt";
27
+ readonly type: "uint256";
28
+ }];
29
+ readonly name: "createAccount";
30
+ readonly outputs: readonly [{
31
+ readonly internalType: "contract LightAccount";
32
+ readonly name: "ret";
33
+ readonly type: "address";
34
+ }];
35
+ readonly stateMutability: "nonpayable";
36
+ readonly type: "function";
37
+ }, {
38
+ readonly inputs: readonly [{
39
+ readonly internalType: "address";
40
+ readonly name: "owner";
41
+ readonly type: "address";
42
+ }, {
43
+ readonly internalType: "uint256";
44
+ readonly name: "salt";
45
+ readonly type: "uint256";
46
+ }];
47
+ readonly name: "getAddress";
48
+ readonly outputs: readonly [{
49
+ readonly internalType: "address";
50
+ readonly name: "";
51
+ readonly type: "address";
52
+ }];
53
+ readonly stateMutability: "view";
54
+ readonly type: "function";
55
+ }];
56
+ //# sourceMappingURL=LightAccountFactoryAbi_V1_1_0.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LightAccountFactoryAbi_V1_1_0.d.ts","sourceRoot":"","sources":["../../../src/abi/LightAccountFactoryAbi_V1_1_0.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2ChC,CAAC"}