@account-kit/wallet-client 0.1.0-alpha.11 → 0.1.0-alpha.13

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 (141) hide show
  1. package/dist/esm/client/actions/getCallsStatus.d.ts +4 -3
  2. package/dist/esm/client/actions/getCallsStatus.js +1 -0
  3. package/dist/esm/client/actions/getCallsStatus.js.map +1 -1
  4. package/dist/esm/client/actions/grantPermissions.d.ts +5 -4
  5. package/dist/esm/client/actions/grantPermissions.js +21 -5
  6. package/dist/esm/client/actions/grantPermissions.js.map +1 -1
  7. package/dist/esm/client/actions/prepareCalls.d.ts +4 -3
  8. package/dist/esm/client/actions/prepareCalls.js +3 -2
  9. package/dist/esm/client/actions/prepareCalls.js.map +1 -1
  10. package/dist/esm/client/actions/prepareSign.d.ts +4 -3
  11. package/dist/esm/client/actions/prepareSign.js +1 -0
  12. package/dist/esm/client/actions/prepareSign.js.map +1 -1
  13. package/dist/esm/client/actions/requestAccount.js +1 -1
  14. package/dist/esm/client/actions/requestAccount.js.map +1 -1
  15. package/dist/esm/client/client.e2e-test.js +171 -349
  16. package/dist/esm/client/client.e2e-test.js.map +1 -1
  17. package/dist/esm/client/index.d.ts +8 -6
  18. package/dist/esm/client/index.js +18 -18
  19. package/dist/esm/client/index.js.map +1 -1
  20. package/dist/esm/{isomorphic/utils/createAccount.d.ts → internal/account.d.ts} +1 -5
  21. package/dist/esm/{isomorphic/utils/createAccount.js → internal/account.js} +8 -32
  22. package/dist/esm/internal/account.js.map +1 -0
  23. package/dist/esm/types.d.ts +4 -10
  24. package/dist/esm/types.js.map +1 -1
  25. package/dist/types/client/actions/getCallsStatus.d.ts +4 -3
  26. package/dist/types/client/actions/getCallsStatus.d.ts.map +1 -1
  27. package/dist/types/client/actions/grantPermissions.d.ts +5 -4
  28. package/dist/types/client/actions/grantPermissions.d.ts.map +1 -1
  29. package/dist/types/client/actions/prepareCalls.d.ts +4 -3
  30. package/dist/types/client/actions/prepareCalls.d.ts.map +1 -1
  31. package/dist/types/client/actions/prepareSign.d.ts +4 -3
  32. package/dist/types/client/actions/prepareSign.d.ts.map +1 -1
  33. package/dist/types/client/actions/requestAccount.d.ts.map +1 -1
  34. package/dist/types/client/index.d.ts +8 -6
  35. package/dist/types/client/index.d.ts.map +1 -1
  36. package/dist/types/{isomorphic/utils/createAccount.d.ts → internal/account.d.ts} +2 -6
  37. package/dist/types/internal/account.d.ts.map +1 -0
  38. package/dist/types/types.d.ts +4 -10
  39. package/dist/types/types.d.ts.map +1 -1
  40. package/package.json +3 -8
  41. package/src/client/actions/getCallsStatus.ts +8 -6
  42. package/src/client/actions/grantPermissions.ts +41 -10
  43. package/src/client/actions/prepareCalls.ts +13 -8
  44. package/src/client/actions/prepareSign.ts +9 -6
  45. package/src/client/actions/requestAccount.ts +1 -1
  46. package/src/client/client.e2e-test.ts +208 -442
  47. package/src/client/index.ts +39 -30
  48. package/src/{isomorphic/utils/createAccount.ts → internal/account.ts} +9 -49
  49. package/src/types.ts +6 -17
  50. package/dist/esm/exports/internal.d.ts +0 -4
  51. package/dist/esm/exports/internal.js +0 -3
  52. package/dist/esm/exports/internal.js.map +0 -1
  53. package/dist/esm/isomorphic/actions/createSession.d.ts +0 -13
  54. package/dist/esm/isomorphic/actions/createSession.js +0 -94
  55. package/dist/esm/isomorphic/actions/createSession.js.map +0 -1
  56. package/dist/esm/isomorphic/actions/formatSign.d.ts +0 -8
  57. package/dist/esm/isomorphic/actions/formatSign.js +0 -42
  58. package/dist/esm/isomorphic/actions/formatSign.js.map +0 -1
  59. package/dist/esm/isomorphic/actions/getCallsStatus.d.ts +0 -7
  60. package/dist/esm/isomorphic/actions/getCallsStatus.js +0 -71
  61. package/dist/esm/isomorphic/actions/getCallsStatus.js.map +0 -1
  62. package/dist/esm/isomorphic/actions/prepareCalls.d.ts +0 -7
  63. package/dist/esm/isomorphic/actions/prepareCalls.js +0 -116
  64. package/dist/esm/isomorphic/actions/prepareCalls.js.map +0 -1
  65. package/dist/esm/isomorphic/actions/prepareSign.d.ts +0 -7
  66. package/dist/esm/isomorphic/actions/prepareSign.js +0 -49
  67. package/dist/esm/isomorphic/actions/prepareSign.js.map +0 -1
  68. package/dist/esm/isomorphic/actions/sendPreparedCalls.d.ts +0 -7
  69. package/dist/esm/isomorphic/actions/sendPreparedCalls.js +0 -183
  70. package/dist/esm/isomorphic/actions/sendPreparedCalls.js.map +0 -1
  71. package/dist/esm/isomorphic/client.d.ts +0 -275
  72. package/dist/esm/isomorphic/client.js +0 -41
  73. package/dist/esm/isomorphic/client.js.map +0 -1
  74. package/dist/esm/isomorphic/utils/7702.d.ts +0 -19
  75. package/dist/esm/isomorphic/utils/7702.js +0 -70
  76. package/dist/esm/isomorphic/utils/7702.js.map +0 -1
  77. package/dist/esm/isomorphic/utils/createAccount.js.map +0 -1
  78. package/dist/esm/isomorphic/utils/createDummySigner.d.ts +0 -3
  79. package/dist/esm/isomorphic/utils/createDummySigner.js +0 -17
  80. package/dist/esm/isomorphic/utils/createDummySigner.js.map +0 -1
  81. package/dist/esm/isomorphic/utils/decodeSignature.d.ts +0 -3
  82. package/dist/esm/isomorphic/utils/decodeSignature.js +0 -15
  83. package/dist/esm/isomorphic/utils/decodeSignature.js.map +0 -1
  84. package/dist/esm/isomorphic/utils/parsePermissionsContext.d.ts +0 -21
  85. package/dist/esm/isomorphic/utils/parsePermissionsContext.js +0 -34
  86. package/dist/esm/isomorphic/utils/parsePermissionsContext.js.map +0 -1
  87. package/dist/esm/isomorphic/utils/supportsFeature.d.ts +0 -4
  88. package/dist/esm/isomorphic/utils/supportsFeature.js +0 -21
  89. package/dist/esm/isomorphic/utils/supportsFeature.js.map +0 -1
  90. package/dist/esm/local/client.d.ts +0 -3
  91. package/dist/esm/local/client.js +0 -97
  92. package/dist/esm/local/client.js.map +0 -1
  93. package/dist/esm/remote/client.d.ts +0 -9
  94. package/dist/esm/remote/client.js +0 -41
  95. package/dist/esm/remote/client.js.map +0 -1
  96. package/dist/types/exports/internal.d.ts +0 -5
  97. package/dist/types/exports/internal.d.ts.map +0 -1
  98. package/dist/types/isomorphic/actions/createSession.d.ts +0 -14
  99. package/dist/types/isomorphic/actions/createSession.d.ts.map +0 -1
  100. package/dist/types/isomorphic/actions/formatSign.d.ts +0 -9
  101. package/dist/types/isomorphic/actions/formatSign.d.ts.map +0 -1
  102. package/dist/types/isomorphic/actions/getCallsStatus.d.ts +0 -8
  103. package/dist/types/isomorphic/actions/getCallsStatus.d.ts.map +0 -1
  104. package/dist/types/isomorphic/actions/prepareCalls.d.ts +0 -8
  105. package/dist/types/isomorphic/actions/prepareCalls.d.ts.map +0 -1
  106. package/dist/types/isomorphic/actions/prepareSign.d.ts +0 -8
  107. package/dist/types/isomorphic/actions/prepareSign.d.ts.map +0 -1
  108. package/dist/types/isomorphic/actions/sendPreparedCalls.d.ts +0 -8
  109. package/dist/types/isomorphic/actions/sendPreparedCalls.d.ts.map +0 -1
  110. package/dist/types/isomorphic/client.d.ts +0 -276
  111. package/dist/types/isomorphic/client.d.ts.map +0 -1
  112. package/dist/types/isomorphic/utils/7702.d.ts +0 -20
  113. package/dist/types/isomorphic/utils/7702.d.ts.map +0 -1
  114. package/dist/types/isomorphic/utils/createAccount.d.ts.map +0 -1
  115. package/dist/types/isomorphic/utils/createDummySigner.d.ts +0 -4
  116. package/dist/types/isomorphic/utils/createDummySigner.d.ts.map +0 -1
  117. package/dist/types/isomorphic/utils/decodeSignature.d.ts +0 -4
  118. package/dist/types/isomorphic/utils/decodeSignature.d.ts.map +0 -1
  119. package/dist/types/isomorphic/utils/parsePermissionsContext.d.ts +0 -22
  120. package/dist/types/isomorphic/utils/parsePermissionsContext.d.ts.map +0 -1
  121. package/dist/types/isomorphic/utils/supportsFeature.d.ts +0 -5
  122. package/dist/types/isomorphic/utils/supportsFeature.d.ts.map +0 -1
  123. package/dist/types/local/client.d.ts +0 -4
  124. package/dist/types/local/client.d.ts.map +0 -1
  125. package/dist/types/remote/client.d.ts +0 -10
  126. package/dist/types/remote/client.d.ts.map +0 -1
  127. package/src/exports/internal.ts +0 -8
  128. package/src/isomorphic/actions/createSession.ts +0 -163
  129. package/src/isomorphic/actions/formatSign.ts +0 -76
  130. package/src/isomorphic/actions/getCallsStatus.ts +0 -112
  131. package/src/isomorphic/actions/prepareCalls.ts +0 -172
  132. package/src/isomorphic/actions/prepareSign.ts +0 -88
  133. package/src/isomorphic/actions/sendPreparedCalls.ts +0 -271
  134. package/src/isomorphic/client.ts +0 -102
  135. package/src/isomorphic/utils/7702.ts +0 -135
  136. package/src/isomorphic/utils/createDummySigner.ts +0 -27
  137. package/src/isomorphic/utils/decodeSignature.ts +0 -21
  138. package/src/isomorphic/utils/parsePermissionsContext.ts +0 -51
  139. package/src/isomorphic/utils/supportsFeature.ts +0 -34
  140. package/src/local/client.ts +0 -136
  141. package/src/remote/client.ts +0 -67
@@ -1,16 +1,13 @@
1
1
  import type { SmartAccountSigner, SmartContractAccount } from "@aa-sdk/core";
2
- import { type ModularAccountV2 } from "@account-kit/smart-contracts";
2
+ import { type Chain, type Transport, type Address } from "viem";
3
3
  import type { StaticDecode } from "@sinclair/typebox";
4
- import type { Address, Chain, Transport } from "viem";
5
4
  import { SerializedInitcode } from "@alchemy/wallet-api-types";
6
- import { PermissionsCapability } from "@alchemy/wallet-api-types/capabilities";
7
5
  type CreateAccountParams = {
8
6
  chain: Chain;
9
7
  transport: Transport;
10
8
  signer: SmartAccountSigner;
11
9
  accountAddress: Address;
12
10
  counterfactualInfo?: StaticDecode<typeof SerializedInitcode>;
13
- permissions?: StaticDecode<typeof PermissionsCapability>;
14
11
  delegation?: Address;
15
12
  };
16
13
  /**
@@ -19,6 +16,5 @@ type CreateAccountParams = {
19
16
  * @returns A promise that resolves to the created smart account.
20
17
  */
21
18
  export declare function createAccount(params: CreateAccountParams): Promise<SmartContractAccount>;
22
- export declare function isModularAccountV2(account: SmartContractAccount): account is ModularAccountV2;
23
19
  export {};
24
- //# sourceMappingURL=createAccount.d.ts.map
20
+ //# sourceMappingURL=account.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/internal/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAO7E,OAAO,EAAa,KAAK,KAAK,EAAE,KAAK,SAAS,EAAE,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAK/D,KAAK,mBAAmB,GAAG;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAC7D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,oBAAoB,CAAC,CA2E/B"}
@@ -1,13 +1,12 @@
1
- import type { SmartAccountSigner, SmartContractAccount } from "@aa-sdk/core";
1
+ import type { SmartContractAccount } from "@aa-sdk/core";
2
2
  import type { AlchemyTransport } from "@account-kit/infra";
3
3
  import type { Address, Chain, Client, Hex, JsonRpcAccount, Transport } from "viem";
4
- import type { GrantPermissionsParams, GrantPermissionsResult } from "./client/actions/grantPermissions.ts";
5
4
  import type { RequestAccountParams } from "./client/actions/requestAccount.ts";
6
5
  import type { WalletServerViemRpcSchema } from "@alchemy/wallet-api-types/rpc";
7
6
  export type CreateInnerClientParams<TAccount extends Address | undefined = Address | undefined> = {
8
7
  chain: Chain;
9
8
  transport: AlchemyTransport;
10
- policyId?: string;
9
+ policyIds?: string[];
11
10
  account?: TAccount | Address | undefined;
12
11
  };
13
12
  export type InnerWalletApiClientBase<TExtend extends {
@@ -15,13 +14,8 @@ export type InnerWalletApiClientBase<TExtend extends {
15
14
  } | undefined = {
16
15
  [key: string]: unknown;
17
16
  } | undefined> = Client<Transport, Chain, JsonRpcAccount<Address> | undefined, WalletServerViemRpcSchema, {
18
- policyId?: string;
17
+ policyIds?: string[];
19
18
  } & TExtend>;
20
- export type InnerClientActions = {
21
- grantPermissions: (signer: SmartAccountSigner, params: GrantPermissionsParams & {
22
- chainId: Hex;
23
- }) => Promise<GrantPermissionsResult>;
24
- };
25
19
  export type CachedAccount = {
26
20
  account: SmartContractAccount;
27
21
  requestParams: RequestAccountParams;
@@ -30,7 +24,7 @@ export type InternalState = {
30
24
  setAccount: (account: CachedAccount) => void;
31
25
  getAccount: () => CachedAccount | undefined;
32
26
  };
33
- export type InnerWalletApiClient = InnerWalletApiClientBase<InnerClientActions & {
27
+ export type InnerWalletApiClient = InnerWalletApiClientBase<{
34
28
  internal: InternalState;
35
29
  }>;
36
30
  export type WithoutChainId<T> = T extends {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,GAAG,EACH,cAAc,EACd,SAAS,EACV,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE/E,MAAM,MAAM,uBAAuB,CACjC,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,IACxD;IACF,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,gBAAgB,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAClC,OAAO,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG,SAAS,GAClD;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAC1B,SAAS,IACX,MAAM,CACR,SAAS,EACT,KAAK,EACL,cAAc,CAAC,OAAO,CAAC,GAAG,SAAS,EACnC,yBAAyB,EACzB;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAChC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,CAChB,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,sBAAsB,GAAG;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,KAC9C,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,oBAAoB,CAAC;IAC9B,aAAa,EAAE,oBAAoB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7C,UAAU,EAAE,MAAM,aAAa,GAAG,SAAS,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,CACzD,kBAAkB,GAAG;IAAE,QAAQ,EAAE,aAAa,CAAA;CAAE,CACjD,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,OAAO,EAAE,GAAG,CAAA;CAAE,GACtD,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,GAClB,CAAC,CAAC;AAEN,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,UAAU,EAAE,GAAG,CAAA;CAAE,GAC5D,IAAI,CAAC,CAAC,EAAE,YAAY,CAAC,GACrB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,GAAG,EACH,cAAc,EACd,SAAS,EACV,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE/E,MAAM,MAAM,uBAAuB,CACjC,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,IACxD;IACF,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,gBAAgB,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAClC,OAAO,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG,SAAS,GAClD;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAC1B,SAAS,IACX,MAAM,CACR,SAAS,EACT,KAAK,EACL,cAAc,CAAC,OAAO,CAAC,GAAG,SAAS,EACnC,yBAAyB,EACzB;IAAE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,OAAO,CACnC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,oBAAoB,CAAC;IAC9B,aAAa,EAAE,oBAAoB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7C,UAAU,EAAE,MAAM,aAAa,GAAG,SAAS,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;IAC1D,QAAQ,EAAE,aAAa,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,OAAO,EAAE,GAAG,CAAA;CAAE,GACtD,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,GAClB,CAAC,CAAC;AAEN,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,UAAU,EAAE,GAAG,CAAA;CAAE,GAC5D,IAAI,CAAC,CAAC,EAAE,YAAY,CAAC,GACrB,CAAC,CAAC"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@account-kit/wallet-client",
3
3
  "private": false,
4
4
  "type": "module",
5
- "version": "0.1.0-alpha.11",
5
+ "version": "0.1.0-alpha.13",
6
6
  "main": "./dist/esm/exports/index.js",
7
7
  "module": "./dist/esm/exports/index.js",
8
8
  "types": "./dist/types/exports/index.d.ts",
@@ -26,11 +26,6 @@
26
26
  "require": "./dist/esm/exports/index.js",
27
27
  "import": "./dist/esm/exports/index.js"
28
28
  },
29
- "./internal": {
30
- "types": "./dist/types/exports/internal.d.ts",
31
- "require": "./dist/esm/exports/internal.js",
32
- "import": "./dist/esm/exports/internal.js"
33
- },
34
29
  "./abi": {
35
30
  "types": "./dist/types/abi/index.d.ts",
36
31
  "require": "./dist/esm/abi/index.js",
@@ -61,7 +56,7 @@
61
56
  "@aa-sdk/core": "^4.43.1",
62
57
  "@account-kit/infra": "^4.43.1",
63
58
  "@account-kit/smart-contracts": "^4.43.1",
64
- "@alchemy/wallet-api-types": "0.1.0-alpha.11",
59
+ "@alchemy/wallet-api-types": "0.1.0-alpha.13",
65
60
  "@sinclair/typebox": "^0.34.33",
66
61
  "deep-equal": "^2.2.3",
67
62
  "ox": "^0.6.12",
@@ -71,5 +66,5 @@
71
66
  "access": "public",
72
67
  "registry": "https://registry.npmjs.org/"
73
68
  },
74
- "gitHead": "62b331ec0e6d8d1d15f36920fa2ca07b266554d1"
69
+ "gitHead": "bccef95f8047c2284add0b44169eae7f54123cdf"
75
70
  }
@@ -1,12 +1,14 @@
1
- import type {
2
- GetCallsStatusParams as IsomorphicGetCallsStatusParams,
3
- GetCallsStatusResponse as IsomorphicGetCallsStatusResult,
4
- } from "../../isomorphic/actions/getCallsStatus.ts";
5
1
  import type { InnerWalletApiClient } from "../../types.ts";
2
+ import type { Static } from "@sinclair/typebox";
3
+ import { wallet_getCallsStatus } from "@alchemy/wallet-api-types/rpc";
6
4
 
7
- export type GetCallsStatusParams = IsomorphicGetCallsStatusParams;
5
+ export type GetCallsStatusParams = Static<
6
+ typeof wallet_getCallsStatus
7
+ >["Request"]["params"][0];
8
8
 
9
- export type GetCallsStatusResult = IsomorphicGetCallsStatusResult;
9
+ export type GetCallsStatusResult = Static<
10
+ typeof wallet_getCallsStatus
11
+ >["ReturnType"];
10
12
 
11
13
  /**
12
14
  * Gets the status of a prepared call by its ID.
@@ -1,14 +1,30 @@
1
1
  import { AccountNotFoundError, type SmartAccountSigner } from "@aa-sdk/core";
2
- import { type Address, type Hex, type IsUndefined, toHex } from "viem";
3
- import type { CreateSessionParams } from "../../isomorphic/actions/createSession.ts";
2
+ import {
3
+ toHex,
4
+ type Address,
5
+ type Hex,
6
+ type IsUndefined,
7
+ type Prettify,
8
+ } from "viem";
4
9
  import type { InnerWalletApiClient } from "../../types.ts";
10
+ import type { Static } from "@sinclair/typebox";
11
+ import { wallet_createSession } from "@alchemy/wallet-api-types/rpc";
12
+ import { encodePermissionsContext } from "@alchemy/wallet-api-types/capabilities";
13
+ import { signSignatureRequest } from "./signSignatureRequest.js";
5
14
 
6
15
  export type GrantPermissionsParams<
7
16
  TAccount extends Address | undefined = Address | undefined,
8
- > = Omit<CreateSessionParams, "account" | "chainId" | "entityId"> &
9
- (IsUndefined<TAccount> extends true
10
- ? { account: Address }
11
- : { account?: never });
17
+ > = Prettify<
18
+ Omit<
19
+ Static<
20
+ (typeof wallet_createSession)["properties"]["Request"]["properties"]["params"]
21
+ >[0],
22
+ "account" | "chainId"
23
+ > &
24
+ (IsUndefined<TAccount> extends true
25
+ ? { account: Address }
26
+ : { account?: never })
27
+ >;
12
28
 
13
29
  export type GrantPermissionsResult = {
14
30
  context: Hex;
@@ -83,9 +99,24 @@ export async function grantPermissions<
83
99
  throw new AccountNotFoundError();
84
100
  }
85
101
 
86
- return client.grantPermissions(signer, {
87
- ...params,
88
- account,
89
- chainId: toHex(client.chain.id),
102
+ const { sessionId, signatureRequest } = await client.request({
103
+ method: "wallet_createSession",
104
+ params: [
105
+ {
106
+ ...params,
107
+ account,
108
+ chainId: toHex(client.chain.id),
109
+ },
110
+ ],
90
111
  });
112
+
113
+ const signature = await signSignatureRequest(signer, signatureRequest);
114
+
115
+ return {
116
+ context: encodePermissionsContext({
117
+ contextVersion: "REMOTE_MODE_DEFERRED_ACTION",
118
+ sessionId,
119
+ signature: signature.data,
120
+ }),
121
+ };
91
122
  }
@@ -1,10 +1,8 @@
1
1
  import { AccountNotFoundError } from "@aa-sdk/core";
2
2
  import { toHex, type Address, type IsUndefined } from "viem";
3
- import type {
4
- PrepareCallsParams as IsomorphicPrepareCallsParams,
5
- PrepareCallsResult as IsomorphicPrepareCallsResult,
6
- } from "../../isomorphic/actions/prepareCalls.ts";
7
3
  import type { InnerWalletApiClient } from "../../types.ts";
4
+ import type { Static } from "@sinclair/typebox";
5
+ import { wallet_prepareCalls } from "@alchemy/wallet-api-types/rpc";
8
6
 
9
7
  export type GetAccountParam<TAccount> =
10
8
  IsUndefined<TAccount> extends true
@@ -13,10 +11,17 @@ export type GetAccountParam<TAccount> =
13
11
 
14
12
  export type PrepareCallsParams<
15
13
  TAccount extends Address | undefined = Address | undefined,
16
- > = Omit<IsomorphicPrepareCallsParams, "from" | "chainId"> &
14
+ > = Omit<
15
+ Static<
16
+ (typeof wallet_prepareCalls)["properties"]["Request"]["properties"]["params"]
17
+ >[0],
18
+ "from" | "chainId"
19
+ > &
17
20
  (IsUndefined<TAccount> extends true ? { from: Address } : { from?: never });
18
21
 
19
- export type PrepareCallsResult = IsomorphicPrepareCallsResult;
22
+ export type PrepareCallsResult = Static<
23
+ typeof wallet_prepareCalls
24
+ >["ReturnType"];
20
25
 
21
26
  /**
22
27
  * Prepares a set of contract calls for execution by building a user operation.
@@ -55,10 +60,10 @@ export async function prepareCalls<
55
60
  throw new AccountNotFoundError();
56
61
  }
57
62
 
58
- if (client.policyId && !params.capabilities?.paymasterService) {
63
+ if (client.policyIds && !params.capabilities?.paymasterService) {
59
64
  params.capabilities = {
60
65
  ...params.capabilities,
61
- paymasterService: { policyId: client.policyId },
66
+ paymasterService: { policyIds: client.policyIds },
62
67
  };
63
68
  }
64
69
 
@@ -1,17 +1,20 @@
1
1
  import type { InnerWalletApiClient } from "../../types.ts";
2
2
  import { toHex, type Address, type IsUndefined } from "viem";
3
- import type {
4
- PrepareSignParams as IsomorphicPrepareSignParams,
5
- PrepareSignResult as IsomorphicPrepareSignResult,
6
- } from "../../isomorphic/actions/prepareSign.ts";
7
3
  import { AccountNotFoundError } from "@aa-sdk/core";
4
+ import type { Static } from "@sinclair/typebox";
5
+ import { wallet_prepareSign } from "@alchemy/wallet-api-types/rpc";
8
6
 
9
7
  export type PrepareSignParams<
10
8
  TAccount extends Address | undefined = Address | undefined,
11
- > = Omit<IsomorphicPrepareSignParams, "from" | "chainId"> &
9
+ > = Omit<
10
+ Static<
11
+ (typeof wallet_prepareSign)["properties"]["Request"]["properties"]["params"]
12
+ >[0],
13
+ "from" | "chainId"
14
+ > &
12
15
  (IsUndefined<TAccount> extends true ? { from: Address } : { from?: never });
13
16
 
14
- export type PrepareSignResult = IsomorphicPrepareSignResult;
17
+ export type PrepareSignResult = Static<typeof wallet_prepareSign>["ReturnType"];
15
18
 
16
19
  /**
17
20
  * Prepares a signature request for signing messages or transactions.
@@ -7,10 +7,10 @@ import { Value } from "@sinclair/typebox/value";
7
7
  import type { Address } from "abitype";
8
8
  import deepEqual from "deep-equal";
9
9
  import { custom } from "viem";
10
- import { createAccount } from "../../isomorphic/utils/createAccount.js";
11
10
  import type { wallet_requestAccount } from "@alchemy/wallet-api-types/rpc";
12
11
  import { SerializedInitcode } from "@alchemy/wallet-api-types";
13
12
  import type { InnerWalletApiClient } from "../../types.js";
13
+ import { createAccount } from "../../internal/account.js";
14
14
 
15
15
  export type RequestAccountParams = Omit<
16
16
  Extract<