@account-kit/wallet-client 0.1.0-alpha.1 → 0.1.0-alpha.10

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 (258) hide show
  1. package/dist/esm/client/actions/createAccount.d.ts +27 -2
  2. package/dist/esm/client/actions/createAccount.js +25 -0
  3. package/dist/esm/client/actions/createAccount.js.map +1 -1
  4. package/dist/esm/client/actions/formatSign.d.ts +28 -0
  5. package/dist/esm/client/actions/formatSign.js +30 -0
  6. package/dist/esm/client/actions/formatSign.js.map +1 -0
  7. package/dist/esm/client/actions/getCallsStatus.d.ts +22 -4
  8. package/dist/esm/client/actions/getCallsStatus.js +19 -0
  9. package/dist/esm/client/actions/getCallsStatus.js.map +1 -1
  10. package/dist/esm/client/actions/grantPermissions.d.ts +63 -6
  11. package/dist/esm/client/actions/grantPermissions.js +63 -3
  12. package/dist/esm/client/actions/grantPermissions.js.map +1 -1
  13. package/dist/esm/client/actions/listAccounts.d.ts +32 -4
  14. package/dist/esm/client/actions/listAccounts.js +35 -2
  15. package/dist/esm/client/actions/listAccounts.js.map +1 -1
  16. package/dist/esm/client/actions/prepareCalls.d.ts +32 -6
  17. package/dist/esm/client/actions/prepareCalls.js +39 -5
  18. package/dist/esm/client/actions/prepareCalls.js.map +1 -1
  19. package/dist/esm/client/actions/prepareSign.d.ts +25 -0
  20. package/dist/esm/client/actions/prepareSign.js +28 -0
  21. package/dist/esm/client/actions/prepareSign.js.map +1 -0
  22. package/dist/esm/client/actions/requestAccount.d.ts +24 -6
  23. package/dist/esm/client/actions/requestAccount.js +38 -7
  24. package/dist/esm/client/actions/requestAccount.js.map +1 -1
  25. package/dist/esm/client/actions/sendPreparedCalls.d.ts +33 -4
  26. package/dist/esm/client/actions/sendPreparedCalls.js +37 -1
  27. package/dist/esm/client/actions/sendPreparedCalls.js.map +1 -1
  28. package/dist/esm/client/actions/signMessage.d.ts +25 -5
  29. package/dist/esm/client/actions/signMessage.js +22 -2
  30. package/dist/esm/client/actions/signMessage.js.map +1 -1
  31. package/dist/esm/client/actions/signPreparedCalls.d.ts +14 -0
  32. package/dist/esm/client/actions/signPreparedCalls.js +43 -0
  33. package/dist/esm/client/actions/signPreparedCalls.js.map +1 -0
  34. package/dist/esm/client/actions/signSignatureRequest.d.ts +39 -5
  35. package/dist/esm/client/actions/signSignatureRequest.js +69 -11
  36. package/dist/esm/client/actions/signSignatureRequest.js.map +1 -1
  37. package/dist/esm/client/actions/signTypedData.d.ts +37 -4
  38. package/dist/esm/client/actions/signTypedData.js +34 -1
  39. package/dist/esm/client/actions/signTypedData.js.map +1 -1
  40. package/dist/esm/client/client.e2e-test.js +210 -45
  41. package/dist/esm/client/client.e2e-test.js.map +1 -1
  42. package/dist/esm/client/decorator.d.ts +12 -8
  43. package/dist/esm/client/decorator.js +5 -3
  44. package/dist/esm/client/decorator.js.map +1 -1
  45. package/dist/esm/client/index.d.ts +38 -12
  46. package/dist/esm/client/index.js +0 -3
  47. package/dist/esm/client/index.js.map +1 -1
  48. package/dist/esm/exports/index.d.ts +5 -6
  49. package/dist/esm/exports/index.js +4 -6
  50. package/dist/esm/exports/index.js.map +1 -1
  51. package/dist/esm/exports/internal.d.ts +1 -10
  52. package/dist/esm/exports/internal.js +0 -12
  53. package/dist/esm/exports/internal.js.map +1 -1
  54. package/dist/esm/internal/decorator.d.ts +2 -0
  55. package/dist/esm/internal/decorator.js +10 -0
  56. package/dist/esm/internal/decorator.js.map +1 -0
  57. package/dist/esm/isomorphic/actions/createSession.d.ts +1 -2
  58. package/dist/esm/isomorphic/actions/createSession.js +39 -10
  59. package/dist/esm/isomorphic/actions/createSession.js.map +1 -1
  60. package/dist/esm/isomorphic/actions/formatSign.d.ts +8 -0
  61. package/dist/esm/isomorphic/actions/formatSign.js +42 -0
  62. package/dist/esm/isomorphic/actions/formatSign.js.map +1 -0
  63. package/dist/esm/isomorphic/actions/getCallsStatus.d.ts +1 -15
  64. package/dist/esm/isomorphic/actions/getCallsStatus.js +37 -26
  65. package/dist/esm/isomorphic/actions/getCallsStatus.js.map +1 -1
  66. package/dist/esm/isomorphic/actions/prepareCalls.d.ts +1 -2
  67. package/dist/esm/isomorphic/actions/prepareCalls.js +78 -20
  68. package/dist/esm/isomorphic/actions/prepareCalls.js.map +1 -1
  69. package/dist/esm/isomorphic/actions/prepareSign.d.ts +7 -0
  70. package/dist/esm/isomorphic/actions/prepareSign.js +49 -0
  71. package/dist/esm/isomorphic/actions/prepareSign.js.map +1 -0
  72. package/dist/esm/isomorphic/actions/sendPreparedCalls.d.ts +3 -4
  73. package/dist/esm/isomorphic/actions/sendPreparedCalls.js +138 -25
  74. package/dist/esm/isomorphic/actions/sendPreparedCalls.js.map +1 -1
  75. package/dist/esm/isomorphic/client.d.ts +204 -27
  76. package/dist/esm/isomorphic/client.js +6 -2
  77. package/dist/esm/isomorphic/client.js.map +1 -1
  78. package/dist/esm/isomorphic/utils/7702.d.ts +19 -0
  79. package/dist/esm/isomorphic/utils/7702.js +70 -0
  80. package/dist/esm/isomorphic/utils/7702.js.map +1 -0
  81. package/dist/esm/isomorphic/utils/createAccount.d.ts +5 -4
  82. package/dist/esm/isomorphic/utils/createAccount.js +84 -10
  83. package/dist/esm/isomorphic/utils/createAccount.js.map +1 -1
  84. package/dist/esm/isomorphic/utils/createDummySigner.js +3 -3
  85. package/dist/esm/isomorphic/utils/createDummySigner.js.map +1 -1
  86. package/dist/esm/isomorphic/utils/decodeSignature.d.ts +3 -0
  87. package/dist/esm/isomorphic/utils/decodeSignature.js +15 -0
  88. package/dist/esm/isomorphic/utils/decodeSignature.js.map +1 -0
  89. package/dist/esm/isomorphic/utils/parsePermissionsContext.d.ts +6 -5
  90. package/dist/esm/isomorphic/utils/parsePermissionsContext.js +19 -6
  91. package/dist/esm/isomorphic/utils/parsePermissionsContext.js.map +1 -1
  92. package/dist/esm/isomorphic/utils/supportsFeature.d.ts +4 -0
  93. package/dist/esm/isomorphic/utils/supportsFeature.js +21 -0
  94. package/dist/esm/isomorphic/utils/supportsFeature.js.map +1 -0
  95. package/dist/esm/local/client.d.ts +3 -3
  96. package/dist/esm/local/client.js +11 -4
  97. package/dist/esm/local/client.js.map +1 -1
  98. package/dist/esm/remote/client.d.ts +9 -3
  99. package/dist/esm/remote/client.js +10 -11
  100. package/dist/esm/remote/client.js.map +1 -1
  101. package/dist/esm/types.d.ts +27 -13
  102. package/dist/esm/types.js.map +1 -1
  103. package/dist/esm/utils.d.ts +1 -0
  104. package/dist/esm/utils.js.map +1 -1
  105. package/dist/types/client/actions/createAccount.d.ts +27 -2
  106. package/dist/types/client/actions/createAccount.d.ts.map +1 -1
  107. package/dist/types/client/actions/formatSign.d.ts +29 -0
  108. package/dist/types/client/actions/formatSign.d.ts.map +1 -0
  109. package/dist/types/client/actions/getCallsStatus.d.ts +22 -4
  110. package/dist/types/client/actions/getCallsStatus.d.ts.map +1 -1
  111. package/dist/types/client/actions/grantPermissions.d.ts +63 -6
  112. package/dist/types/client/actions/grantPermissions.d.ts.map +1 -1
  113. package/dist/types/client/actions/listAccounts.d.ts +32 -4
  114. package/dist/types/client/actions/listAccounts.d.ts.map +1 -1
  115. package/dist/types/client/actions/prepareCalls.d.ts +32 -6
  116. package/dist/types/client/actions/prepareCalls.d.ts.map +1 -1
  117. package/dist/types/client/actions/prepareSign.d.ts +26 -0
  118. package/dist/types/client/actions/prepareSign.d.ts.map +1 -0
  119. package/dist/types/client/actions/requestAccount.d.ts +24 -6
  120. package/dist/types/client/actions/requestAccount.d.ts.map +1 -1
  121. package/dist/types/client/actions/sendPreparedCalls.d.ts +33 -4
  122. package/dist/types/client/actions/sendPreparedCalls.d.ts.map +1 -1
  123. package/dist/types/client/actions/signMessage.d.ts +25 -5
  124. package/dist/types/client/actions/signMessage.d.ts.map +1 -1
  125. package/dist/types/client/actions/signPreparedCalls.d.ts +15 -0
  126. package/dist/types/client/actions/signPreparedCalls.d.ts.map +1 -0
  127. package/dist/types/client/actions/signSignatureRequest.d.ts +39 -5
  128. package/dist/types/client/actions/signSignatureRequest.d.ts.map +1 -1
  129. package/dist/types/client/actions/signTypedData.d.ts +37 -4
  130. package/dist/types/client/actions/signTypedData.d.ts.map +1 -1
  131. package/dist/types/client/decorator.d.ts +12 -8
  132. package/dist/types/client/decorator.d.ts.map +1 -1
  133. package/dist/types/client/index.d.ts +38 -12
  134. package/dist/types/client/index.d.ts.map +1 -1
  135. package/dist/types/exports/index.d.ts +5 -6
  136. package/dist/types/exports/index.d.ts.map +1 -1
  137. package/dist/types/exports/internal.d.ts +1 -10
  138. package/dist/types/exports/internal.d.ts.map +1 -1
  139. package/dist/types/internal/decorator.d.ts +3 -0
  140. package/dist/types/internal/decorator.d.ts.map +1 -0
  141. package/dist/types/isomorphic/actions/createSession.d.ts +1 -2
  142. package/dist/types/isomorphic/actions/createSession.d.ts.map +1 -1
  143. package/dist/types/isomorphic/actions/formatSign.d.ts +9 -0
  144. package/dist/types/isomorphic/actions/formatSign.d.ts.map +1 -0
  145. package/dist/types/isomorphic/actions/getCallsStatus.d.ts +1 -15
  146. package/dist/types/isomorphic/actions/getCallsStatus.d.ts.map +1 -1
  147. package/dist/types/isomorphic/actions/prepareCalls.d.ts +1 -2
  148. package/dist/types/isomorphic/actions/prepareCalls.d.ts.map +1 -1
  149. package/dist/types/isomorphic/actions/prepareSign.d.ts +8 -0
  150. package/dist/types/isomorphic/actions/prepareSign.d.ts.map +1 -0
  151. package/dist/types/isomorphic/actions/sendPreparedCalls.d.ts +3 -4
  152. package/dist/types/isomorphic/actions/sendPreparedCalls.d.ts.map +1 -1
  153. package/dist/types/isomorphic/client.d.ts +204 -27
  154. package/dist/types/isomorphic/client.d.ts.map +1 -1
  155. package/dist/types/isomorphic/utils/7702.d.ts +20 -0
  156. package/dist/types/isomorphic/utils/7702.d.ts.map +1 -0
  157. package/dist/types/isomorphic/utils/createAccount.d.ts +5 -4
  158. package/dist/types/isomorphic/utils/createAccount.d.ts.map +1 -1
  159. package/dist/types/isomorphic/utils/createDummySigner.d.ts.map +1 -1
  160. package/dist/types/isomorphic/utils/decodeSignature.d.ts +4 -0
  161. package/dist/types/isomorphic/utils/decodeSignature.d.ts.map +1 -0
  162. package/dist/types/isomorphic/utils/parsePermissionsContext.d.ts +6 -5
  163. package/dist/types/isomorphic/utils/parsePermissionsContext.d.ts.map +1 -1
  164. package/dist/types/isomorphic/utils/supportsFeature.d.ts +5 -0
  165. package/dist/types/isomorphic/utils/supportsFeature.d.ts.map +1 -0
  166. package/dist/types/local/client.d.ts +3 -3
  167. package/dist/types/local/client.d.ts.map +1 -1
  168. package/dist/types/remote/client.d.ts +9 -3
  169. package/dist/types/remote/client.d.ts.map +1 -1
  170. package/dist/types/types.d.ts +27 -13
  171. package/dist/types/types.d.ts.map +1 -1
  172. package/dist/types/utils.d.ts +1 -0
  173. package/dist/types/utils.d.ts.map +1 -1
  174. package/package.json +9 -6
  175. package/src/client/actions/createAccount.ts +27 -2
  176. package/src/client/actions/formatSign.ts +53 -0
  177. package/src/client/actions/getCallsStatus.ts +21 -12
  178. package/src/client/actions/grantPermissions.ts +69 -26
  179. package/src/client/actions/listAccounts.ts +44 -6
  180. package/src/client/actions/prepareCalls.ts +46 -26
  181. package/src/client/actions/prepareSign.ts +46 -0
  182. package/src/client/actions/requestAccount.ts +60 -41
  183. package/src/client/actions/sendPreparedCalls.ts +44 -7
  184. package/src/client/actions/signMessage.ts +26 -21
  185. package/src/client/actions/signPreparedCalls.ts +67 -0
  186. package/src/client/actions/signSignatureRequest.ts +84 -20
  187. package/src/client/actions/signTypedData.ts +40 -19
  188. package/src/client/client.e2e-test.ts +256 -54
  189. package/src/client/decorator.ts +28 -26
  190. package/src/client/index.ts +50 -40
  191. package/src/exports/index.ts +5 -13
  192. package/src/exports/internal.ts +2 -10
  193. package/src/internal/decorator.ts +12 -0
  194. package/src/isomorphic/actions/createSession.ts +55 -12
  195. package/src/isomorphic/actions/formatSign.ts +76 -0
  196. package/src/isomorphic/actions/getCallsStatus.ts +46 -32
  197. package/src/isomorphic/actions/prepareCalls.ts +95 -23
  198. package/src/isomorphic/actions/prepareSign.ts +91 -0
  199. package/src/isomorphic/actions/sendPreparedCalls.ts +181 -42
  200. package/src/isomorphic/client.ts +10 -2
  201. package/src/isomorphic/utils/7702.ts +135 -0
  202. package/src/isomorphic/utils/createAccount.ts +101 -13
  203. package/src/isomorphic/utils/createDummySigner.ts +3 -2
  204. package/src/isomorphic/utils/decodeSignature.ts +21 -0
  205. package/src/isomorphic/utils/parsePermissionsContext.ts +29 -11
  206. package/src/isomorphic/utils/supportsFeature.ts +34 -0
  207. package/src/local/client.ts +58 -55
  208. package/src/remote/client.ts +19 -19
  209. package/src/types.ts +29 -23
  210. package/src/utils.ts +2 -0
  211. package/dist/esm/capabilities/index.d.ts +0 -31
  212. package/dist/esm/capabilities/index.js +0 -10
  213. package/dist/esm/capabilities/index.js.map +0 -1
  214. package/dist/esm/capabilities/overrides.d.ts +0 -26
  215. package/dist/esm/capabilities/overrides.js +0 -14
  216. package/dist/esm/capabilities/overrides.js.map +0 -1
  217. package/dist/esm/capabilities/paymaster.d.ts +0 -3
  218. package/dist/esm/capabilities/paymaster.js +0 -5
  219. package/dist/esm/capabilities/paymaster.js.map +0 -1
  220. package/dist/esm/capabilities/permissions/index.d.ts +0 -138
  221. package/dist/esm/capabilities/permissions/index.js +0 -71
  222. package/dist/esm/capabilities/permissions/index.js.map +0 -1
  223. package/dist/esm/capabilities/permissions/mav2.d.ts +0 -36
  224. package/dist/esm/capabilities/permissions/mav2.js +0 -79
  225. package/dist/esm/capabilities/permissions/mav2.js.map +0 -1
  226. package/dist/esm/rpc/request.d.ts +0 -352
  227. package/dist/esm/rpc/request.js +0 -204
  228. package/dist/esm/rpc/request.js.map +0 -1
  229. package/dist/esm/rpc/schema.d.ts +0 -342
  230. package/dist/esm/rpc/schema.js +0 -5
  231. package/dist/esm/rpc/schema.js.map +0 -1
  232. package/dist/esm/schemas.d.ts +0 -216
  233. package/dist/esm/schemas.js +0 -211
  234. package/dist/esm/schemas.js.map +0 -1
  235. package/dist/types/capabilities/index.d.ts +0 -32
  236. package/dist/types/capabilities/index.d.ts.map +0 -1
  237. package/dist/types/capabilities/overrides.d.ts +0 -27
  238. package/dist/types/capabilities/overrides.d.ts.map +0 -1
  239. package/dist/types/capabilities/paymaster.d.ts +0 -4
  240. package/dist/types/capabilities/paymaster.d.ts.map +0 -1
  241. package/dist/types/capabilities/permissions/index.d.ts +0 -139
  242. package/dist/types/capabilities/permissions/index.d.ts.map +0 -1
  243. package/dist/types/capabilities/permissions/mav2.d.ts +0 -37
  244. package/dist/types/capabilities/permissions/mav2.d.ts.map +0 -1
  245. package/dist/types/rpc/request.d.ts +0 -353
  246. package/dist/types/rpc/request.d.ts.map +0 -1
  247. package/dist/types/rpc/schema.d.ts +0 -343
  248. package/dist/types/rpc/schema.d.ts.map +0 -1
  249. package/dist/types/schemas.d.ts +0 -217
  250. package/dist/types/schemas.d.ts.map +0 -1
  251. package/src/capabilities/index.ts +0 -13
  252. package/src/capabilities/overrides.ts +0 -20
  253. package/src/capabilities/paymaster.ts +0 -5
  254. package/src/capabilities/permissions/index.ts +0 -142
  255. package/src/capabilities/permissions/mav2.ts +0 -127
  256. package/src/rpc/request.ts +0 -273
  257. package/src/rpc/schema.ts +0 -40
  258. package/src/schemas.ts +0 -257
@@ -1,27 +1,45 @@
1
1
  import type { StaticDecode } from "@sinclair/typebox";
2
2
  import { InvalidRequestError } from "ox/RpcResponse";
3
- import { decodePermissionsContext } from "../../capabilities/permissions/mav2.js";
4
- import type { TypeSerializedInitcode } from "../../schemas.js";
5
- import type { PrepareCallsParams } from "../actions/prepareCalls.js";
3
+ import type { Address } from "viem";
4
+ import { getAccountTypeForDelegationAddress7702 } from "./7702.js";
5
+ import {
6
+ decodePermissionsContext,
7
+ PermissionsCapability,
8
+ } from "@alchemy/wallet-api-types/capabilities";
9
+ import { TypeSerializedInitcode } from "@alchemy/wallet-api-types";
6
10
 
7
11
  export function parsePermissionsContext(
8
- capabilities: PrepareCallsParams["capabilities"],
9
- parsedCi: StaticDecode<typeof TypeSerializedInitcode>,
12
+ permissions?: StaticDecode<typeof PermissionsCapability>,
13
+ parsedCi?: StaticDecode<typeof TypeSerializedInitcode> | undefined,
14
+ delegation7702?: Address,
10
15
  ) {
11
- if (!capabilities?.permissions?.context) {
16
+ if (!permissions) {
12
17
  return undefined;
13
18
  }
14
19
 
15
- if (
16
- capabilities?.permissions?.context &&
17
- parsedCi.factoryType !== "MAv2.0.0-sma-b"
18
- ) {
20
+ if ("sessionId" in permissions) {
21
+ throw new InvalidRequestError({
22
+ message: "Remote permissions are not supported in isomorphic client",
23
+ });
24
+ }
25
+
26
+ if (!("context" in permissions)) {
27
+ return undefined;
28
+ }
29
+
30
+ const isMAV2 =
31
+ (parsedCi && parsedCi.factoryType === "MAv2.0.0-sma-b") ||
32
+ (delegation7702 &&
33
+ getAccountTypeForDelegationAddress7702(delegation7702) ===
34
+ "ModularAccountV2");
35
+
36
+ if (!isMAV2) {
19
37
  throw new InvalidRequestError({
20
38
  message: "Permissions are currently only supported by MAv2 accounts",
21
39
  });
22
40
  }
23
41
 
24
- const context = decodePermissionsContext(capabilities.permissions.context);
42
+ const context = decodePermissionsContext(permissions);
25
43
 
26
44
  if (context?.contextVersion === "REMOTE_MODE_DEFERRED_ACTION") {
27
45
  throw new InvalidRequestError({
@@ -0,0 +1,34 @@
1
+ import type { StaticDecode } from "@sinclair/typebox";
2
+ import type { TypeSerializedInitcode } from "@alchemy/wallet-api-types";
3
+
4
+ export type Feature = "permissions";
5
+
6
+ type FactoryType = StaticDecode<typeof TypeSerializedInitcode>["factoryType"];
7
+
8
+ const supportedFeatures: Record<FactoryType, Feature[]> = {
9
+ "LightAccountV1.0.1": [],
10
+ "LightAccountV1.0.2": [],
11
+ "LightAccountV1.1.0": [],
12
+ "LightAccountV2.0.0": [],
13
+ "LightAccountV2.0.0-MultiOwner": [],
14
+ "MAv1.0.0-MultiOwner": [],
15
+ "MAv1.0.0-MultiSig": [],
16
+ "MAv2.0.0-sma-b": ["permissions"],
17
+ "MAv2.0.0-ma-ssv": ["permissions"],
18
+ "MAv2.0.0-ma-webauthn": [],
19
+ unknown: [],
20
+ };
21
+
22
+ export function supportsFeature(
23
+ counterfactualInfo: StaticDecode<typeof TypeSerializedInitcode>,
24
+ feature: Feature,
25
+ ): boolean {
26
+ const factorySupportedFeatures =
27
+ supportedFeatures[counterfactualInfo.factoryType];
28
+ if (factorySupportedFeatures === undefined) {
29
+ throw new Error(
30
+ "Unsupported FactoryType: " + counterfactualInfo.factoryType,
31
+ );
32
+ }
33
+ return factorySupportedFeatures.includes(feature);
34
+ }
@@ -1,12 +1,13 @@
1
1
  import { split } from "@aa-sdk/core";
2
2
  import { buildDeferredActionDigest } from "@account-kit/smart-contracts/experimental";
3
- import { createClient, custom, type Address, type JsonRpcAccount } from "viem";
3
+ import { createClient, custom, type Address } from "viem";
4
4
  import {
5
5
  encodePermissionsContext,
6
6
  prefixSignatureKeyType,
7
- } from "../capabilities/permissions/mav2.js";
7
+ } from "@alchemy/wallet-api-types/capabilities";
8
8
  import { signSignatureRequest } from "../client/actions/signSignatureRequest.js";
9
- import type { PrepareCallsParams } from "../isomorphic/actions/prepareCalls";
9
+ import { internalStateDecorator } from "../internal/decorator.js";
10
+ import type { PrepareCallsParams } from "../isomorphic/actions/prepareCalls.ts";
10
11
  import {
11
12
  createIsomorphicClient,
12
13
  type IsomorphicClient,
@@ -15,7 +16,7 @@ import type {
15
16
  CreateInnerClientParams,
16
17
  InnerClientActions,
17
18
  InnerWalletApiClient,
18
- } from "../types";
19
+ } from "../types.ts";
19
20
  import { assertNever } from "../utils.js";
20
21
 
21
22
  const localMethods = [
@@ -27,10 +28,8 @@ const localMethods = [
27
28
  type LocalMethod = (typeof localMethods)[number];
28
29
 
29
30
  export function createLocalClient<
30
- TAccount extends JsonRpcAccount<Address> | undefined =
31
- | JsonRpcAccount<Address>
32
- | undefined,
33
- >(params: CreateInnerClientParams<TAccount>): InnerWalletApiClient<TAccount>;
31
+ TAccount extends Address | undefined = Address | undefined,
32
+ >(params: CreateInnerClientParams<TAccount>): InnerWalletApiClient;
34
33
 
35
34
  export function createLocalClient(
36
35
  params: CreateInnerClientParams,
@@ -51,46 +50,51 @@ export function createLocalClient(
51
50
  overrides: [
52
51
  {
53
52
  methods: localMethods,
54
- transport: custom({
55
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
56
- async request(args: { method: LocalMethod; params: any }) {
57
- switch (args.method) {
58
- case "wallet_prepareCalls": {
59
- const params = args.params[0] as PrepareCallsParams;
60
- const capabilityPolicyId =
61
- params.capabilities?.paymasterService?.policyId;
53
+ transport: custom(
54
+ {
55
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
56
+ async request(args: { method: LocalMethod; params: any }) {
57
+ switch (args.method) {
58
+ case "wallet_prepareCalls": {
59
+ const params = args.params[0] as PrepareCallsParams;
60
+ const capabilityPolicyId =
61
+ params.capabilities?.paymasterService?.policyId;
62
62
 
63
- if (
64
- capabilityPolicyId != null &&
65
- policyId !== capabilityPolicyId &&
66
- !clientMap[capabilityPolicyId]
67
- ) {
68
- clientMap[capabilityPolicyId] = createIsomorphicClient({
69
- transport,
70
- chain,
71
- policyId: capabilityPolicyId,
72
- });
73
- }
63
+ if (
64
+ capabilityPolicyId != null &&
65
+ policyId !== capabilityPolicyId &&
66
+ !clientMap[capabilityPolicyId]
67
+ ) {
68
+ clientMap[capabilityPolicyId] = createIsomorphicClient({
69
+ transport,
70
+ chain,
71
+ policyId: capabilityPolicyId,
72
+ });
73
+ }
74
74
 
75
- const client =
76
- clientMap[capabilityPolicyId ?? policyId ?? "default"];
77
- return client.prepareCalls(params);
78
- }
79
- case "wallet_sendPreparedCalls":
80
- return isomorphicClient.sendPreparedCalls(args.params[0]);
81
- case "wallet_getCallsStatus":
82
- return isomorphicClient.getCallsStatus(args.params[0]);
83
- case "wallet_createSession": {
84
- return isomorphicClient.createSession(args.params[0]);
75
+ const client =
76
+ clientMap[capabilityPolicyId ?? policyId ?? "default"];
77
+ return client.prepareCalls(params);
78
+ }
79
+ case "wallet_sendPreparedCalls":
80
+ return isomorphicClient.sendPreparedCalls(args.params[0]);
81
+ case "wallet_getCallsStatus":
82
+ return isomorphicClient.getCallsStatus(args.params[0]);
83
+ case "wallet_createSession": {
84
+ return isomorphicClient.createSession(args.params[0]);
85
+ }
86
+ default:
87
+ return assertNever(
88
+ args.method,
89
+ `Unexpected method: ${args.method}`,
90
+ );
85
91
  }
86
- default:
87
- return assertNever(
88
- args.method,
89
- `Unexpected method: ${args.method}`,
90
- );
91
- }
92
+ },
92
93
  },
93
- }),
94
+ {
95
+ retryCount: 0,
96
+ },
97
+ ),
94
98
  },
95
99
  ],
96
100
  fallback: transport,
@@ -100,10 +104,14 @@ export function createLocalClient(
100
104
  transport: innerTransport,
101
105
  chain,
102
106
  account,
103
- }).extend(() => ({
104
- policyId,
105
- ...innerClientActions(isomorphicClient),
106
- }));
107
+ })
108
+ .extend(() => ({
109
+ policyId,
110
+ ...innerClientActions(isomorphicClient),
111
+ }))
112
+ .extend(() => ({
113
+ internal: internalStateDecorator(),
114
+ }));
107
115
  }
108
116
 
109
117
  const innerClientActions = (
@@ -113,18 +121,13 @@ const innerClientActions = (
113
121
  grantPermissions: async (signer, params) => {
114
122
  const { signatureRequest, fullPreSignatureDeferredActionDigest } =
115
123
  await isomorphicClient.createSession(params);
116
-
117
- const { signature } = await signSignatureRequest(
118
- signer,
119
- signatureRequest,
120
- );
121
-
124
+ const signature = await signSignatureRequest(signer, signatureRequest);
122
125
  return {
123
126
  context: encodePermissionsContext({
124
127
  contextVersion: "LOCAL_MODE_DEFERRED_ACTION",
125
128
  deferredAction: buildDeferredActionDigest({
126
129
  fullPreSignatureDeferredActionDigest,
127
- sig: prefixSignatureKeyType(signature, "secp256k1"),
130
+ sig: prefixSignatureKeyType(signature.data, signature.type),
128
131
  }),
129
132
  }),
130
133
  };
@@ -1,20 +1,15 @@
1
1
  import { Provider } from "ox";
2
- import { createClient, custom, type Address, type JsonRpcAccount } from "viem";
3
- import { encodePermissionsContext } from "../capabilities/permissions/mav2.js";
2
+ import { createClient, custom, type Address } from "viem";
3
+ import { encodePermissionsContext } from "@alchemy/wallet-api-types/capabilities";
4
+ import { WalletServerRpcSchema } from "@alchemy/wallet-api-types/rpc";
4
5
  import { signSignatureRequest } from "../client/actions/signSignatureRequest.js";
5
- import { WalletServerRpcSchema } from "../rpc/schema.js";
6
+ import { internalStateDecorator } from "../internal/decorator.js";
6
7
  import type {
7
8
  CreateInnerClientParams,
8
9
  InnerClientActions,
9
10
  InnerWalletApiClient,
10
11
  InnerWalletApiClientBase,
11
- } from "../types";
12
-
13
- export function createRemoteClient<
14
- TAccount extends JsonRpcAccount<Address> | undefined =
15
- | JsonRpcAccount<Address>
16
- | undefined,
17
- >(params: CreateInnerClientParams<TAccount>): InnerWalletApiClient<TAccount>;
12
+ } from "../types.ts";
18
13
 
19
14
  /**
20
15
  * This is a low-level client just used to make RPC requests in remote mode
@@ -22,6 +17,10 @@ export function createRemoteClient<
22
17
  * that uses this client under the hood
23
18
  * @returns
24
19
  */
20
+ export function createRemoteClient<
21
+ TAccount extends Address | undefined = Address | undefined,
22
+ >(params: CreateInnerClientParams<TAccount>): InnerWalletApiClient;
23
+
25
24
  export function createRemoteClient(
26
25
  params: CreateInnerClientParams,
27
26
  ): InnerWalletApiClient {
@@ -34,10 +33,14 @@ export function createRemoteClient(
34
33
  ),
35
34
  chain,
36
35
  account,
37
- }).extend((_client) => ({
38
- policyId: params.policyId,
39
- ...innerClientActions(_client),
40
- }));
36
+ })
37
+ .extend((_client) => ({
38
+ policyId: params.policyId,
39
+ ...innerClientActions(_client),
40
+ }))
41
+ .extend(() => ({
42
+ internal: internalStateDecorator(),
43
+ }));
41
44
 
42
45
  return client;
43
46
  }
@@ -51,15 +54,12 @@ const innerClientActions = (
51
54
  method: "wallet_createSession",
52
55
  params: [params],
53
56
  });
54
- const { signature } = await signSignatureRequest(
55
- signer,
56
- signatureRequest,
57
- );
57
+ const signature = await signSignatureRequest(signer, signatureRequest);
58
58
  return {
59
59
  context: encodePermissionsContext({
60
60
  contextVersion: "REMOTE_MODE_DEFERRED_ACTION",
61
61
  sessionId,
62
- signature,
62
+ signature: signature.data,
63
63
  }),
64
64
  };
65
65
  },
package/src/types.ts CHANGED
@@ -1,47 +1,37 @@
1
+ import type { SmartAccountSigner, SmartContractAccount } from "@aa-sdk/core";
1
2
  import type { AlchemyTransport } from "@account-kit/infra";
2
3
  import type {
3
4
  Address,
4
5
  Chain,
5
6
  Client,
6
7
  Hex,
7
- IsUndefined,
8
8
  JsonRpcAccount,
9
9
  Transport,
10
10
  } from "viem";
11
- import type { WalletServerViemRpcSchema } from "./rpc/schema";
12
- import type { SmartAccountSigner } from "@aa-sdk/core";
13
11
  import type {
14
12
  GrantPermissionsParams,
15
13
  GrantPermissionsResult,
16
- } from "./client/actions/grantPermissions";
14
+ } from "./client/actions/grantPermissions.ts";
15
+ import type { RequestAccountParams } from "./client/actions/requestAccount.ts";
16
+ import type { WalletServerViemRpcSchema } from "@alchemy/wallet-api-types/rpc";
17
17
 
18
18
  export type CreateInnerClientParams<
19
- TAccount extends JsonRpcAccount<Address> | undefined =
20
- | JsonRpcAccount<Address>
21
- | undefined,
19
+ TAccount extends Address | undefined = Address | undefined,
22
20
  > = {
23
21
  chain: Chain;
24
22
  transport: AlchemyTransport;
25
23
  policyId?: string;
26
- } & (IsUndefined<TAccount> extends true
27
- ? {
28
- account?: never;
29
- }
30
- : {
31
- account: Address;
32
- });
24
+ account?: TAccount | Address | undefined;
25
+ };
33
26
 
34
27
  export type InnerWalletApiClientBase<
35
- TAccount extends JsonRpcAccount<Address> | undefined =
36
- | JsonRpcAccount<Address>
37
- | undefined,
38
28
  TExtend extends { [key: string]: unknown } | undefined =
39
29
  | { [key: string]: unknown }
40
30
  | undefined,
41
31
  > = Client<
42
32
  Transport,
43
33
  Chain,
44
- TAccount,
34
+ JsonRpcAccount<Address> | undefined,
45
35
  WalletServerViemRpcSchema,
46
36
  { policyId?: string } & TExtend
47
37
  >;
@@ -53,8 +43,24 @@ export type InnerClientActions = {
53
43
  ) => Promise<GrantPermissionsResult>;
54
44
  };
55
45
 
56
- export type InnerWalletApiClient<
57
- TAccount extends JsonRpcAccount<Address> | undefined =
58
- | JsonRpcAccount<Address>
59
- | undefined,
60
- > = InnerWalletApiClientBase<TAccount, InnerClientActions>;
46
+ export type CachedAccount = {
47
+ account: SmartContractAccount;
48
+ requestParams: RequestAccountParams;
49
+ };
50
+
51
+ export type InternalState = {
52
+ setAccount: (account: CachedAccount) => void;
53
+ getAccount: () => CachedAccount | undefined;
54
+ };
55
+
56
+ export type InnerWalletApiClient = InnerWalletApiClientBase<
57
+ InnerClientActions & { internal: InternalState }
58
+ >;
59
+
60
+ export type WithoutChainId<T> = T extends { chainId: Hex }
61
+ ? Omit<T, "chainId">
62
+ : T;
63
+
64
+ export type WithoutRawPayload<T> = T extends { rawPayload: Hex }
65
+ ? Omit<T, "rawPayload">
66
+ : T;
package/src/utils.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import { isHex, toHex, type Hex } from "viem";
2
2
 
3
+ export type Expect<T extends true> = T;
4
+
3
5
  export const assertNever = (_val: never, msg: string): never => {
4
6
  throw new Error(msg);
5
7
  };
@@ -1,31 +0,0 @@
1
- export declare const Capabilities: import("@sinclair/typebox").TObject<{
2
- permissions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
3
- context: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
4
- }>>;
5
- paymasterService: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
6
- policyId: import("@sinclair/typebox").TString;
7
- }>>;
8
- gasParamsOverride: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
9
- preVerificationGas: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
10
- multiplier: import("@sinclair/typebox").TNumber;
11
- }>]>>;
12
- verificationGasLimit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
13
- multiplier: import("@sinclair/typebox").TNumber;
14
- }>]>>;
15
- callGasLimit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
16
- multiplier: import("@sinclair/typebox").TNumber;
17
- }>]>>;
18
- paymasterVerificationGasLimit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
19
- multiplier: import("@sinclair/typebox").TNumber;
20
- }>]>>;
21
- paymasterPostOpGasLimit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
22
- multiplier: import("@sinclair/typebox").TNumber;
23
- }>]>>;
24
- maxFeePerGas: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
25
- multiplier: import("@sinclair/typebox").TNumber;
26
- }>]>>;
27
- maxPriorityFeePerGas: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
28
- multiplier: import("@sinclair/typebox").TNumber;
29
- }>]>>;
30
- }>>;
31
- }>;
@@ -1,10 +0,0 @@
1
- import { Type } from "@sinclair/typebox";
2
- import { GasParamsOverrideCapability } from "./overrides.js";
3
- import { PaymasterCapability } from "./paymaster.js";
4
- import { PermissionsCapability } from "./permissions/index.js";
5
- export const Capabilities = Type.Object({
6
- permissions: Type.Optional(PermissionsCapability),
7
- paymasterService: Type.Optional(PaymasterCapability),
8
- gasParamsOverride: Type.Optional(GasParamsOverrideCapability),
9
- }, { minProperties: 1 });
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CACrC;IACE,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACjD,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IACpD,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC;CAC9D,EACD,EAAE,aAAa,EAAE,CAAC,EAAE,CACrB,CAAC","sourcesContent":["import { Type } from \"@sinclair/typebox\";\nimport { GasParamsOverrideCapability } from \"./overrides.js\";\nimport { PaymasterCapability } from \"./paymaster.js\";\nimport { PermissionsCapability } from \"./permissions/index.js\";\n\nexport const Capabilities = Type.Object(\n {\n permissions: Type.Optional(PermissionsCapability),\n paymasterService: Type.Optional(PaymasterCapability),\n gasParamsOverride: Type.Optional(GasParamsOverrideCapability),\n },\n { minProperties: 1 },\n);\n"]}
@@ -1,26 +0,0 @@
1
- export declare const Mutliplier: import("@sinclair/typebox").TObject<{
2
- multiplier: import("@sinclair/typebox").TNumber;
3
- }>;
4
- export declare const GasParamsOverrideCapability: import("@sinclair/typebox").TObject<{
5
- preVerificationGas: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
6
- multiplier: import("@sinclair/typebox").TNumber;
7
- }>]>>;
8
- verificationGasLimit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
9
- multiplier: import("@sinclair/typebox").TNumber;
10
- }>]>>;
11
- callGasLimit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
12
- multiplier: import("@sinclair/typebox").TNumber;
13
- }>]>>;
14
- paymasterVerificationGasLimit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
15
- multiplier: import("@sinclair/typebox").TNumber;
16
- }>]>>;
17
- paymasterPostOpGasLimit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
18
- multiplier: import("@sinclair/typebox").TNumber;
19
- }>]>>;
20
- maxFeePerGas: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
21
- multiplier: import("@sinclair/typebox").TNumber;
22
- }>]>>;
23
- maxPriorityFeePerGas: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
24
- multiplier: import("@sinclair/typebox").TNumber;
25
- }>]>>;
26
- }>;
@@ -1,14 +0,0 @@
1
- import { Type } from "@sinclair/typebox";
2
- import { TypeHex } from "../schemas.js";
3
- export const Mutliplier = Type.Object({ multiplier: Type.Number() });
4
- // This is still being defined in https://github.com/ethereum/ERCs/pull/947/files#diff-dab085f963ca621595044bcbc0922705aa38b69f5bf8770dcb3d0496a633efcfR158
5
- export const GasParamsOverrideCapability = Type.Object({
6
- preVerificationGas: Type.Optional(Type.Union([TypeHex(), Mutliplier])),
7
- verificationGasLimit: Type.Optional(Type.Union([TypeHex(), Mutliplier])),
8
- callGasLimit: Type.Optional(Type.Union([TypeHex(), Mutliplier])),
9
- paymasterVerificationGasLimit: Type.Optional(Type.Union([TypeHex(), Mutliplier])),
10
- paymasterPostOpGasLimit: Type.Optional(Type.Union([TypeHex(), Mutliplier])),
11
- maxFeePerGas: Type.Optional(Type.Union([TypeHex(), Mutliplier])),
12
- maxPriorityFeePerGas: Type.Optional(Type.Union([TypeHex(), Mutliplier])),
13
- }, { minProperties: 1 });
14
- //# sourceMappingURL=overrides.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../../src/capabilities/overrides.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAErE,2JAA2J;AAC3J,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC,MAAM,CACpD;IACE,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;IACtE,oBAAoB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;IACxE,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;IAChE,6BAA6B,EAAE,IAAI,CAAC,QAAQ,CAC1C,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC,CACpC;IACD,uBAAuB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;IAC3E,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;IAChE,oBAAoB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;CACzE,EACD,EAAE,aAAa,EAAE,CAAC,EAAE,CACrB,CAAC","sourcesContent":["import { Type } from \"@sinclair/typebox\";\nimport { TypeHex } from \"../schemas.js\";\n\nexport const Mutliplier = Type.Object({ multiplier: Type.Number() });\n\n// This is still being defined in https://github.com/ethereum/ERCs/pull/947/files#diff-dab085f963ca621595044bcbc0922705aa38b69f5bf8770dcb3d0496a633efcfR158\nexport const GasParamsOverrideCapability = Type.Object(\n {\n preVerificationGas: Type.Optional(Type.Union([TypeHex(), Mutliplier])),\n verificationGasLimit: Type.Optional(Type.Union([TypeHex(), Mutliplier])),\n callGasLimit: Type.Optional(Type.Union([TypeHex(), Mutliplier])),\n paymasterVerificationGasLimit: Type.Optional(\n Type.Union([TypeHex(), Mutliplier]),\n ),\n paymasterPostOpGasLimit: Type.Optional(Type.Union([TypeHex(), Mutliplier])),\n maxFeePerGas: Type.Optional(Type.Union([TypeHex(), Mutliplier])),\n maxPriorityFeePerGas: Type.Optional(Type.Union([TypeHex(), Mutliplier])),\n },\n { minProperties: 1 },\n);\n"]}
@@ -1,3 +0,0 @@
1
- export declare const PaymasterCapability: import("@sinclair/typebox").TObject<{
2
- policyId: import("@sinclair/typebox").TString;
3
- }>;
@@ -1,5 +0,0 @@
1
- import { Type } from "@sinclair/typebox";
2
- export const PaymasterCapability = Type.Object({
3
- policyId: Type.String(),
4
- });
5
- //# sourceMappingURL=paymaster.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"paymaster.js","sourceRoot":"","sources":["../../../src/capabilities/paymaster.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC;IAC7C,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE;CACxB,CAAC,CAAC","sourcesContent":["import { Type } from \"@sinclair/typebox\";\n\nexport const PaymasterCapability = Type.Object({\n policyId: Type.String(),\n});\n"]}