@account-kit/wallet-client 0.0.1-alpha.1 → 0.1.0-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 (151) hide show
  1. package/dist/esm/abi/index.d.ts +8 -8
  2. package/dist/esm/abi/index.js +8 -8
  3. package/dist/esm/abi/index.js.map +1 -1
  4. package/dist/esm/capabilities/index.d.ts +23 -0
  5. package/dist/esm/capabilities/index.js +4 -2
  6. package/dist/esm/capabilities/index.js.map +1 -1
  7. package/dist/esm/capabilities/overrides.d.ts +26 -0
  8. package/dist/esm/capabilities/overrides.js +14 -0
  9. package/dist/esm/capabilities/overrides.js.map +1 -0
  10. package/dist/esm/capabilities/permissions/index.d.ts +57 -17
  11. package/dist/esm/capabilities/permissions/index.js +26 -15
  12. package/dist/esm/capabilities/permissions/index.js.map +1 -1
  13. package/dist/esm/capabilities/permissions/mav2.js +1 -1
  14. package/dist/esm/capabilities/permissions/mav2.js.map +1 -1
  15. package/dist/esm/client/actions/grantPermissions.d.ts +1 -1
  16. package/dist/esm/client/actions/grantPermissions.js.map +1 -1
  17. package/dist/esm/client/actions/requestAccount.d.ts +2 -2
  18. package/dist/esm/client/actions/requestAccount.js +2 -2
  19. package/dist/esm/client/actions/requestAccount.js.map +1 -1
  20. package/dist/esm/client/actions/sendPreparedCalls.d.ts +2 -2
  21. package/dist/esm/client/actions/sendPreparedCalls.js.map +1 -1
  22. package/dist/esm/client/actions/signMessage.d.ts +1 -1
  23. package/dist/esm/client/actions/signMessage.js +1 -1
  24. package/dist/esm/client/actions/signMessage.js.map +1 -1
  25. package/dist/esm/client/actions/signSignatureRequest.d.ts +1 -1
  26. package/dist/esm/client/actions/signSignatureRequest.js +2 -2
  27. package/dist/esm/client/actions/signSignatureRequest.js.map +1 -1
  28. package/dist/esm/client/actions/signTypedData.d.ts +1 -1
  29. package/dist/esm/client/actions/signTypedData.js +1 -1
  30. package/dist/esm/client/actions/signTypedData.js.map +1 -1
  31. package/dist/esm/client/client.e2e-test.js +5 -6
  32. package/dist/esm/client/client.e2e-test.js.map +1 -1
  33. package/dist/esm/client/decorator.d.ts +8 -8
  34. package/dist/esm/client/decorator.js +10 -10
  35. package/dist/esm/client/decorator.js.map +1 -1
  36. package/dist/esm/client/index.d.ts +1 -1
  37. package/dist/esm/client/index.js +3 -3
  38. package/dist/esm/client/index.js.map +1 -1
  39. package/dist/esm/exports/index.d.ts +13 -13
  40. package/dist/esm/exports/index.js +13 -13
  41. package/dist/esm/exports/index.js.map +1 -1
  42. package/dist/esm/exports/internal.d.ts +12 -12
  43. package/dist/esm/exports/internal.js +11 -11
  44. package/dist/esm/exports/internal.js.map +1 -1
  45. package/dist/esm/isomorphic/actions/createSession.d.ts +3 -3
  46. package/dist/esm/isomorphic/actions/createSession.js +7 -5
  47. package/dist/esm/isomorphic/actions/createSession.js.map +1 -1
  48. package/dist/esm/isomorphic/actions/getCallsStatus.d.ts +2 -2
  49. package/dist/esm/isomorphic/actions/getCallsStatus.js +3 -3
  50. package/dist/esm/isomorphic/actions/getCallsStatus.js.map +1 -1
  51. package/dist/esm/isomorphic/actions/prepareCalls.d.ts +2 -2
  52. package/dist/esm/isomorphic/actions/prepareCalls.js +4 -3
  53. package/dist/esm/isomorphic/actions/prepareCalls.js.map +1 -1
  54. package/dist/esm/isomorphic/actions/sendPreparedCalls.d.ts +4 -4
  55. package/dist/esm/isomorphic/actions/sendPreparedCalls.js +3 -3
  56. package/dist/esm/isomorphic/actions/sendPreparedCalls.js.map +1 -1
  57. package/dist/esm/isomorphic/client.d.ts +8 -7
  58. package/dist/esm/isomorphic/client.js +15 -8
  59. package/dist/esm/isomorphic/client.js.map +1 -1
  60. package/dist/esm/isomorphic/utils/createAccount.d.ts +2 -2
  61. package/dist/esm/isomorphic/utils/createAccount.js +1 -1
  62. package/dist/esm/isomorphic/utils/createAccount.js.map +1 -1
  63. package/dist/esm/isomorphic/utils/parsePermissionsContext.d.ts +4 -4
  64. package/dist/esm/isomorphic/utils/parsePermissionsContext.js +1 -1
  65. package/dist/esm/isomorphic/utils/parsePermissionsContext.js.map +1 -1
  66. package/dist/esm/local/client.js +6 -5
  67. package/dist/esm/local/client.js.map +1 -1
  68. package/dist/esm/remote/client.js +3 -3
  69. package/dist/esm/remote/client.js.map +1 -1
  70. package/dist/esm/rpc/request.d.ts +32 -9
  71. package/dist/esm/rpc/request.js +17 -7
  72. package/dist/esm/rpc/request.js.map +1 -1
  73. package/dist/esm/rpc/schema.d.ts +32 -9
  74. package/dist/esm/rpc/schema.js +1 -1
  75. package/dist/esm/rpc/schema.js.map +1 -1
  76. package/dist/types/abi/index.d.ts +8 -8
  77. package/dist/types/abi/index.d.ts.map +1 -1
  78. package/dist/types/capabilities/index.d.ts +23 -0
  79. package/dist/types/capabilities/index.d.ts.map +1 -1
  80. package/dist/types/capabilities/overrides.d.ts +27 -0
  81. package/dist/types/capabilities/overrides.d.ts.map +1 -0
  82. package/dist/types/capabilities/permissions/index.d.ts +57 -17
  83. package/dist/types/capabilities/permissions/index.d.ts.map +1 -1
  84. package/dist/types/client/actions/grantPermissions.d.ts +1 -1
  85. package/dist/types/client/actions/grantPermissions.d.ts.map +1 -1
  86. package/dist/types/client/actions/requestAccount.d.ts +2 -2
  87. package/dist/types/client/actions/requestAccount.d.ts.map +1 -1
  88. package/dist/types/client/actions/sendPreparedCalls.d.ts +2 -2
  89. package/dist/types/client/actions/sendPreparedCalls.d.ts.map +1 -1
  90. package/dist/types/client/actions/signMessage.d.ts +1 -1
  91. package/dist/types/client/actions/signMessage.d.ts.map +1 -1
  92. package/dist/types/client/actions/signSignatureRequest.d.ts +1 -1
  93. package/dist/types/client/actions/signSignatureRequest.d.ts.map +1 -1
  94. package/dist/types/client/actions/signTypedData.d.ts +1 -1
  95. package/dist/types/client/actions/signTypedData.d.ts.map +1 -1
  96. package/dist/types/client/decorator.d.ts +8 -8
  97. package/dist/types/client/decorator.d.ts.map +1 -1
  98. package/dist/types/client/index.d.ts +1 -1
  99. package/dist/types/client/index.d.ts.map +1 -1
  100. package/dist/types/exports/index.d.ts +13 -13
  101. package/dist/types/exports/index.d.ts.map +1 -1
  102. package/dist/types/exports/internal.d.ts +12 -12
  103. package/dist/types/exports/internal.d.ts.map +1 -1
  104. package/dist/types/isomorphic/actions/createSession.d.ts +3 -3
  105. package/dist/types/isomorphic/actions/createSession.d.ts.map +1 -1
  106. package/dist/types/isomorphic/actions/getCallsStatus.d.ts +2 -2
  107. package/dist/types/isomorphic/actions/getCallsStatus.d.ts.map +1 -1
  108. package/dist/types/isomorphic/actions/prepareCalls.d.ts +2 -2
  109. package/dist/types/isomorphic/actions/prepareCalls.d.ts.map +1 -1
  110. package/dist/types/isomorphic/actions/sendPreparedCalls.d.ts +4 -4
  111. package/dist/types/isomorphic/actions/sendPreparedCalls.d.ts.map +1 -1
  112. package/dist/types/isomorphic/client.d.ts +8 -7
  113. package/dist/types/isomorphic/client.d.ts.map +1 -1
  114. package/dist/types/isomorphic/utils/createAccount.d.ts +2 -2
  115. package/dist/types/isomorphic/utils/createAccount.d.ts.map +1 -1
  116. package/dist/types/isomorphic/utils/parsePermissionsContext.d.ts +4 -4
  117. package/dist/types/isomorphic/utils/parsePermissionsContext.d.ts.map +1 -1
  118. package/dist/types/local/client.d.ts.map +1 -1
  119. package/dist/types/remote/client.d.ts.map +1 -1
  120. package/dist/types/rpc/request.d.ts +32 -9
  121. package/dist/types/rpc/request.d.ts.map +1 -1
  122. package/dist/types/rpc/schema.d.ts +32 -9
  123. package/dist/types/rpc/schema.d.ts.map +1 -1
  124. package/package.json +8 -3
  125. package/src/abi/index.ts +8 -8
  126. package/src/capabilities/index.ts +4 -2
  127. package/src/capabilities/overrides.ts +20 -0
  128. package/src/capabilities/permissions/index.ts +42 -24
  129. package/src/capabilities/permissions/mav2.ts +1 -1
  130. package/src/client/actions/grantPermissions.ts +1 -1
  131. package/src/client/actions/requestAccount.ts +4 -4
  132. package/src/client/actions/sendPreparedCalls.ts +3 -3
  133. package/src/client/actions/signMessage.ts +2 -2
  134. package/src/client/actions/signSignatureRequest.ts +2 -2
  135. package/src/client/actions/signTypedData.ts +2 -2
  136. package/src/client/client.e2e-test.ts +5 -6
  137. package/src/client/decorator.ts +19 -19
  138. package/src/client/index.ts +6 -3
  139. package/src/exports/index.ts +13 -13
  140. package/src/exports/internal.ts +12 -12
  141. package/src/isomorphic/actions/createSession.ts +18 -14
  142. package/src/isomorphic/actions/getCallsStatus.ts +6 -6
  143. package/src/isomorphic/actions/prepareCalls.ts +7 -6
  144. package/src/isomorphic/actions/sendPreparedCalls.ts +7 -7
  145. package/src/isomorphic/client.ts +24 -11
  146. package/src/isomorphic/utils/createAccount.ts +3 -3
  147. package/src/isomorphic/utils/parsePermissionsContext.ts +3 -3
  148. package/src/local/client.ts +9 -8
  149. package/src/remote/client.ts +3 -3
  150. package/src/rpc/request.ts +33 -18
  151. package/src/rpc/schema.ts +3 -3
@@ -1,8 +1,8 @@
1
1
  import type { StaticDecode } from "@sinclair/typebox";
2
- import type { PrepareCallsParams } from "../actions/prepareCalls";
3
- import type { TypeSerializedInitcode } from "../../schemas";
4
2
  import { InvalidRequestError } from "ox/RpcResponse";
5
- import { decodePermissionsContext } from "../../capabilities/permissions/mav2";
3
+ import { decodePermissionsContext } from "../../capabilities/permissions/mav2.js";
4
+ import type { TypeSerializedInitcode } from "../../schemas.js";
5
+ import type { PrepareCallsParams } from "../actions/prepareCalls.js";
6
6
 
7
7
  export function parsePermissionsContext(
8
8
  capabilities: PrepareCallsParams["capabilities"],
@@ -1,22 +1,22 @@
1
1
  import { split } from "@aa-sdk/core";
2
+ import { buildDeferredActionDigest } from "@account-kit/smart-contracts/experimental";
2
3
  import { createClient, custom, type Address, type JsonRpcAccount } from "viem";
4
+ import {
5
+ encodePermissionsContext,
6
+ prefixSignatureKeyType,
7
+ } from "../capabilities/permissions/mav2.js";
8
+ import { signSignatureRequest } from "../client/actions/signSignatureRequest.js";
3
9
  import type { PrepareCallsParams } from "../isomorphic/actions/prepareCalls";
4
10
  import {
5
11
  createIsomorphicClient,
6
12
  type IsomorphicClient,
7
- } from "../isomorphic/client";
13
+ } from "../isomorphic/client.js";
8
14
  import type {
9
15
  CreateInnerClientParams,
10
16
  InnerClientActions,
11
17
  InnerWalletApiClient,
12
18
  } from "../types";
13
- import { assertNever } from "../utils";
14
- import { signSignatureRequest } from "../client/actions/signSignatureRequest";
15
- import {
16
- encodePermissionsContext,
17
- prefixSignatureKeyType,
18
- } from "../capabilities/permissions/mav2";
19
- import { buildDeferredActionDigest } from "@account-kit/smart-contracts/experimental";
19
+ import { assertNever } from "../utils.js";
20
20
 
21
21
  const localMethods = [
22
22
  "wallet_prepareCalls",
@@ -40,6 +40,7 @@ export function createLocalClient(
40
40
  transport,
41
41
  chain,
42
42
  policyId,
43
+ useErc7677middleware: false,
43
44
  });
44
45
 
45
46
  const clientMap: Record<string, ReturnType<typeof createIsomorphicClient>> = {
@@ -1,14 +1,14 @@
1
1
  import { Provider } from "ox";
2
2
  import { createClient, custom, type Address, type JsonRpcAccount } from "viem";
3
- import { WalletServerRpcSchema } from "../rpc/schema";
3
+ import { encodePermissionsContext } from "../capabilities/permissions/mav2.js";
4
+ import { signSignatureRequest } from "../client/actions/signSignatureRequest.js";
5
+ import { WalletServerRpcSchema } from "../rpc/schema.js";
4
6
  import type {
5
7
  CreateInnerClientParams,
6
8
  InnerClientActions,
7
9
  InnerWalletApiClient,
8
10
  InnerWalletApiClientBase,
9
11
  } from "../types";
10
- import { signSignatureRequest } from "../client/actions/signSignatureRequest";
11
- import { encodePermissionsContext } from "../capabilities/permissions/mav2";
12
12
 
13
13
  export function createRemoteClient<
14
14
  TAccount extends JsonRpcAccount<Address> | undefined =
@@ -1,9 +1,9 @@
1
1
  import { Type } from "@sinclair/typebox";
2
- import { Capabilities } from "../capabilities";
2
+ import { Capabilities } from "../capabilities/index.js";
3
3
  import {
4
4
  PermissionsContext,
5
5
  PermissionsData,
6
- } from "../capabilities/permissions";
6
+ } from "../capabilities/permissions/index.js";
7
7
  import {
8
8
  TypeAddress,
9
9
  TypeBase64UrlEncodedString,
@@ -14,7 +14,7 @@ import {
14
14
  TypeUserOperationRequest_v6,
15
15
  TypeUserOperationRequest_v7,
16
16
  TypeUuid,
17
- } from "../schemas";
17
+ } from "../schemas.js";
18
18
 
19
19
  export const wallet_sendPreparedCalls = Type.Object(
20
20
  {
@@ -32,9 +32,15 @@ export const wallet_sendPreparedCalls = Type.Object(
32
32
  ]),
33
33
  chainId: TypeHex(),
34
34
  signature: Type.Object({
35
- // ignored, but in the spec can be used when the signature on the UO needs to be formatted differently
36
- // potentially useful for deferred actions?
37
- type: Type.String(),
35
+ type: Type.Transform(Type.String())
36
+ .Decode((value) => {
37
+ if (value.toLowerCase() !== "ecdsa") {
38
+ throw new Error("Invalid signature type, must be 'ecdsa'");
39
+ }
40
+
41
+ return "ecdsa" as const;
42
+ })
43
+ .Encode((value) => value),
38
44
  signature: TypeHex(),
39
45
  }),
40
46
  capabilities: Type.Optional(
@@ -180,18 +186,27 @@ export const wallet_listAccounts = Type.Object(
180
186
  },
181
187
  );
182
188
 
183
- export const wallet_createSession = Type.Object({
184
- Request: Type.Object({
185
- method: Type.Literal("wallet_createSession"),
186
- params: Type.Tuple([
187
- Type.Intersect([PermissionsData, Type.Object({ account: TypeAddress })]),
188
- ]),
189
- }),
190
- ReturnType: Type.Object({
191
- sessionId: TypeHex(),
192
- signatureRequest: TypeSignatureRequest,
193
- }),
194
- });
189
+ export const wallet_createSession = Type.Object(
190
+ {
191
+ Request: Type.Object({
192
+ method: Type.Literal("wallet_createSession"),
193
+ params: Type.Tuple([
194
+ Type.Intersect([
195
+ PermissionsData,
196
+ Type.Object({ account: TypeAddress }),
197
+ ]),
198
+ ]),
199
+ }),
200
+ ReturnType: Type.Object({
201
+ sessionId: TypeHex(),
202
+ signatureRequest: TypeSignatureRequest,
203
+ }),
204
+ },
205
+ {
206
+ description:
207
+ "This method is used to create a session for a given address with specified permissions.",
208
+ },
209
+ );
195
210
 
196
211
  export const wallet_getCallsStatus = Type.Object(
197
212
  {
package/src/rpc/schema.ts CHANGED
@@ -1,10 +1,10 @@
1
- import { type Static } from "@sinclair/typebox";
1
+ import { type Static, type StaticDecode } from "@sinclair/typebox";
2
2
  import { RpcSchema } from "ox";
3
- import * as Requests from "./request";
3
+ import * as Requests from "./request.js";
4
4
 
5
5
  export const WalletServerRpcSchema = RpcSchema.from<
6
6
  | Static<typeof Requests.wallet_prepareCalls>
7
- | Static<typeof Requests.wallet_sendPreparedCalls>
7
+ | StaticDecode<typeof Requests.wallet_sendPreparedCalls>
8
8
  | Static<typeof Requests.wallet_createAccount>
9
9
  | Static<typeof Requests.wallet_requestAccount>
10
10
  | Static<typeof Requests.wallet_listAccounts>