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

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 (146) 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 +1 -0
  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 +3 -3
  14. package/dist/esm/client/actions/requestAccount.js.map +1 -1
  15. package/dist/esm/client/actions/signSignatureRequest.d.ts +3 -3
  16. package/dist/esm/client/actions/signSignatureRequest.js.map +1 -1
  17. package/dist/esm/client/client.e2e-test.js +190 -329
  18. package/dist/esm/client/client.e2e-test.js.map +1 -1
  19. package/dist/esm/client/index.d.ts +1 -4
  20. package/dist/esm/client/index.js +13 -18
  21. package/dist/esm/client/index.js.map +1 -1
  22. package/dist/esm/{isomorphic/utils/createAccount.d.ts → internal/account.d.ts} +3 -7
  23. package/dist/esm/{isomorphic/utils/createAccount.js → internal/account.js} +9 -33
  24. package/dist/esm/internal/account.js.map +1 -0
  25. package/dist/esm/types.d.ts +2 -8
  26. package/dist/esm/types.js.map +1 -1
  27. package/dist/types/client/actions/getCallsStatus.d.ts +4 -3
  28. package/dist/types/client/actions/getCallsStatus.d.ts.map +1 -1
  29. package/dist/types/client/actions/grantPermissions.d.ts +5 -4
  30. package/dist/types/client/actions/grantPermissions.d.ts.map +1 -1
  31. package/dist/types/client/actions/prepareCalls.d.ts +4 -3
  32. package/dist/types/client/actions/prepareCalls.d.ts.map +1 -1
  33. package/dist/types/client/actions/prepareSign.d.ts +4 -3
  34. package/dist/types/client/actions/prepareSign.d.ts.map +1 -1
  35. package/dist/types/client/actions/requestAccount.d.ts.map +1 -1
  36. package/dist/types/client/actions/signSignatureRequest.d.ts +3 -3
  37. package/dist/types/client/actions/signSignatureRequest.d.ts.map +1 -1
  38. package/dist/types/client/index.d.ts +1 -4
  39. package/dist/types/client/index.d.ts.map +1 -1
  40. package/dist/types/{isomorphic/utils/createAccount.d.ts → internal/account.d.ts} +4 -8
  41. package/dist/types/internal/account.d.ts.map +1 -0
  42. package/dist/types/types.d.ts +2 -8
  43. package/dist/types/types.d.ts.map +1 -1
  44. package/package.json +3 -8
  45. package/src/client/actions/getCallsStatus.ts +8 -6
  46. package/src/client/actions/grantPermissions.ts +41 -10
  47. package/src/client/actions/prepareCalls.ts +11 -6
  48. package/src/client/actions/prepareSign.ts +9 -6
  49. package/src/client/actions/requestAccount.ts +3 -3
  50. package/src/client/actions/signSignatureRequest.ts +8 -8
  51. package/src/client/client.e2e-test.ts +143 -298
  52. package/src/client/index.ts +22 -23
  53. package/src/{isomorphic/utils/createAccount.ts → internal/account.ts} +11 -51
  54. package/src/types.ts +4 -15
  55. package/dist/esm/exports/internal.d.ts +0 -4
  56. package/dist/esm/exports/internal.js +0 -3
  57. package/dist/esm/exports/internal.js.map +0 -1
  58. package/dist/esm/isomorphic/actions/createSession.d.ts +0 -13
  59. package/dist/esm/isomorphic/actions/createSession.js +0 -94
  60. package/dist/esm/isomorphic/actions/createSession.js.map +0 -1
  61. package/dist/esm/isomorphic/actions/formatSign.d.ts +0 -8
  62. package/dist/esm/isomorphic/actions/formatSign.js +0 -42
  63. package/dist/esm/isomorphic/actions/formatSign.js.map +0 -1
  64. package/dist/esm/isomorphic/actions/getCallsStatus.d.ts +0 -7
  65. package/dist/esm/isomorphic/actions/getCallsStatus.js +0 -71
  66. package/dist/esm/isomorphic/actions/getCallsStatus.js.map +0 -1
  67. package/dist/esm/isomorphic/actions/prepareCalls.d.ts +0 -7
  68. package/dist/esm/isomorphic/actions/prepareCalls.js +0 -116
  69. package/dist/esm/isomorphic/actions/prepareCalls.js.map +0 -1
  70. package/dist/esm/isomorphic/actions/prepareSign.d.ts +0 -7
  71. package/dist/esm/isomorphic/actions/prepareSign.js +0 -49
  72. package/dist/esm/isomorphic/actions/prepareSign.js.map +0 -1
  73. package/dist/esm/isomorphic/actions/sendPreparedCalls.d.ts +0 -7
  74. package/dist/esm/isomorphic/actions/sendPreparedCalls.js +0 -156
  75. package/dist/esm/isomorphic/actions/sendPreparedCalls.js.map +0 -1
  76. package/dist/esm/isomorphic/client.d.ts +0 -275
  77. package/dist/esm/isomorphic/client.js +0 -41
  78. package/dist/esm/isomorphic/client.js.map +0 -1
  79. package/dist/esm/isomorphic/utils/7702.d.ts +0 -19
  80. package/dist/esm/isomorphic/utils/7702.js +0 -70
  81. package/dist/esm/isomorphic/utils/7702.js.map +0 -1
  82. package/dist/esm/isomorphic/utils/createAccount.js.map +0 -1
  83. package/dist/esm/isomorphic/utils/createDummySigner.d.ts +0 -3
  84. package/dist/esm/isomorphic/utils/createDummySigner.js +0 -17
  85. package/dist/esm/isomorphic/utils/createDummySigner.js.map +0 -1
  86. package/dist/esm/isomorphic/utils/decodeSignature.d.ts +0 -3
  87. package/dist/esm/isomorphic/utils/decodeSignature.js +0 -15
  88. package/dist/esm/isomorphic/utils/decodeSignature.js.map +0 -1
  89. package/dist/esm/isomorphic/utils/parsePermissionsContext.d.ts +0 -21
  90. package/dist/esm/isomorphic/utils/parsePermissionsContext.js +0 -34
  91. package/dist/esm/isomorphic/utils/parsePermissionsContext.js.map +0 -1
  92. package/dist/esm/isomorphic/utils/supportsFeature.d.ts +0 -4
  93. package/dist/esm/isomorphic/utils/supportsFeature.js +0 -21
  94. package/dist/esm/isomorphic/utils/supportsFeature.js.map +0 -1
  95. package/dist/esm/local/client.d.ts +0 -3
  96. package/dist/esm/local/client.js +0 -97
  97. package/dist/esm/local/client.js.map +0 -1
  98. package/dist/esm/remote/client.d.ts +0 -9
  99. package/dist/esm/remote/client.js +0 -41
  100. package/dist/esm/remote/client.js.map +0 -1
  101. package/dist/types/exports/internal.d.ts +0 -5
  102. package/dist/types/exports/internal.d.ts.map +0 -1
  103. package/dist/types/isomorphic/actions/createSession.d.ts +0 -14
  104. package/dist/types/isomorphic/actions/createSession.d.ts.map +0 -1
  105. package/dist/types/isomorphic/actions/formatSign.d.ts +0 -9
  106. package/dist/types/isomorphic/actions/formatSign.d.ts.map +0 -1
  107. package/dist/types/isomorphic/actions/getCallsStatus.d.ts +0 -8
  108. package/dist/types/isomorphic/actions/getCallsStatus.d.ts.map +0 -1
  109. package/dist/types/isomorphic/actions/prepareCalls.d.ts +0 -8
  110. package/dist/types/isomorphic/actions/prepareCalls.d.ts.map +0 -1
  111. package/dist/types/isomorphic/actions/prepareSign.d.ts +0 -8
  112. package/dist/types/isomorphic/actions/prepareSign.d.ts.map +0 -1
  113. package/dist/types/isomorphic/actions/sendPreparedCalls.d.ts +0 -8
  114. package/dist/types/isomorphic/actions/sendPreparedCalls.d.ts.map +0 -1
  115. package/dist/types/isomorphic/client.d.ts +0 -276
  116. package/dist/types/isomorphic/client.d.ts.map +0 -1
  117. package/dist/types/isomorphic/utils/7702.d.ts +0 -20
  118. package/dist/types/isomorphic/utils/7702.d.ts.map +0 -1
  119. package/dist/types/isomorphic/utils/createAccount.d.ts.map +0 -1
  120. package/dist/types/isomorphic/utils/createDummySigner.d.ts +0 -4
  121. package/dist/types/isomorphic/utils/createDummySigner.d.ts.map +0 -1
  122. package/dist/types/isomorphic/utils/decodeSignature.d.ts +0 -4
  123. package/dist/types/isomorphic/utils/decodeSignature.d.ts.map +0 -1
  124. package/dist/types/isomorphic/utils/parsePermissionsContext.d.ts +0 -22
  125. package/dist/types/isomorphic/utils/parsePermissionsContext.d.ts.map +0 -1
  126. package/dist/types/isomorphic/utils/supportsFeature.d.ts +0 -5
  127. package/dist/types/isomorphic/utils/supportsFeature.d.ts.map +0 -1
  128. package/dist/types/local/client.d.ts +0 -4
  129. package/dist/types/local/client.d.ts.map +0 -1
  130. package/dist/types/remote/client.d.ts +0 -10
  131. package/dist/types/remote/client.d.ts.map +0 -1
  132. package/src/exports/internal.ts +0 -8
  133. package/src/isomorphic/actions/createSession.ts +0 -163
  134. package/src/isomorphic/actions/formatSign.ts +0 -76
  135. package/src/isomorphic/actions/getCallsStatus.ts +0 -112
  136. package/src/isomorphic/actions/prepareCalls.ts +0 -172
  137. package/src/isomorphic/actions/prepareSign.ts +0 -91
  138. package/src/isomorphic/actions/sendPreparedCalls.ts +0 -234
  139. package/src/isomorphic/client.ts +0 -102
  140. package/src/isomorphic/utils/7702.ts +0 -135
  141. package/src/isomorphic/utils/createDummySigner.ts +0 -27
  142. package/src/isomorphic/utils/decodeSignature.ts +0 -21
  143. package/src/isomorphic/utils/parsePermissionsContext.ts +0 -51
  144. package/src/isomorphic/utils/supportsFeature.ts +0 -34
  145. package/src/local/client.ts +0 -136
  146. package/src/remote/client.ts +0 -67
@@ -1,7 +1,6 @@
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> = {
@@ -17,11 +16,6 @@ export type InnerWalletApiClientBase<TExtend extends {
17
16
  } | undefined> = Client<Transport, Chain, JsonRpcAccount<Address> | undefined, WalletServerViemRpcSchema, {
18
17
  policyId?: 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,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,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.10",
5
+ "version": "0.1.0-alpha.12",
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.10",
59
+ "@alchemy/wallet-api-types": "0.1.0-alpha.12",
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": "e2a5d2c48c0036868b0529639890192ef1cf5455"
69
+ "gitHead": "636e4fee83cc3eebe1eb6bbe54590d684e4b5768"
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.
@@ -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
- import { TypeSerializedInitcode } from "@alchemy/wallet-api-types";
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<
@@ -76,7 +76,7 @@ export async function requestAccount(
76
76
  const account = await createAccount({
77
77
  accountAddress,
78
78
  counterfactualInfo: counterfactualInfo
79
- ? Value.Parse(TypeSerializedInitcode, counterfactualInfo)
79
+ ? Value.Parse(SerializedInitcode, counterfactualInfo)
80
80
  : undefined,
81
81
  delegation,
82
82
  chain: client.chain,
@@ -2,19 +2,19 @@ import type { SmartAccountSigner } from "@aa-sdk/core";
2
2
  import { type Hex, hexToNumber, serializeSignature } from "viem";
3
3
  import { assertNever } from "../../utils.js";
4
4
  import {
5
- type TypePersonalSignSignatureRequest,
6
- type TypeTypedDataSignatureRequest,
7
- type TypeAuthorizationSignatureRequest,
8
- type TypeEip7702UnsignedAuth,
5
+ type PersonalSignSignatureRequest,
6
+ type TypedDataSignatureRequest,
7
+ type AuthorizationSignatureRequest,
8
+ type Eip7702UnsignedAuth,
9
9
  } from "@alchemy/wallet-api-types";
10
10
  import { vToYParity } from "ox/Signature";
11
11
  import type { WithoutRawPayload } from "../../types.ts";
12
12
 
13
13
  export type SignSignatureRequestParams = WithoutRawPayload<
14
- | TypePersonalSignSignatureRequest
15
- | TypeTypedDataSignatureRequest
16
- | (TypeAuthorizationSignatureRequest & {
17
- data: TypeEip7702UnsignedAuth;
14
+ | PersonalSignSignatureRequest
15
+ | TypedDataSignatureRequest
16
+ | (AuthorizationSignatureRequest & {
17
+ data: Eip7702UnsignedAuth;
18
18
  })
19
19
  >;
20
20