@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.
- package/dist/esm/client/actions/getCallsStatus.d.ts +4 -3
- package/dist/esm/client/actions/getCallsStatus.js +1 -0
- package/dist/esm/client/actions/getCallsStatus.js.map +1 -1
- package/dist/esm/client/actions/grantPermissions.d.ts +5 -4
- package/dist/esm/client/actions/grantPermissions.js +21 -5
- package/dist/esm/client/actions/grantPermissions.js.map +1 -1
- package/dist/esm/client/actions/prepareCalls.d.ts +4 -3
- package/dist/esm/client/actions/prepareCalls.js +3 -2
- package/dist/esm/client/actions/prepareCalls.js.map +1 -1
- package/dist/esm/client/actions/prepareSign.d.ts +4 -3
- package/dist/esm/client/actions/prepareSign.js +1 -0
- package/dist/esm/client/actions/prepareSign.js.map +1 -1
- package/dist/esm/client/actions/requestAccount.js +1 -1
- package/dist/esm/client/actions/requestAccount.js.map +1 -1
- package/dist/esm/client/client.e2e-test.js +171 -349
- package/dist/esm/client/client.e2e-test.js.map +1 -1
- package/dist/esm/client/index.d.ts +8 -6
- package/dist/esm/client/index.js +18 -18
- package/dist/esm/client/index.js.map +1 -1
- package/dist/esm/{isomorphic/utils/createAccount.d.ts → internal/account.d.ts} +1 -5
- package/dist/esm/{isomorphic/utils/createAccount.js → internal/account.js} +8 -32
- package/dist/esm/internal/account.js.map +1 -0
- package/dist/esm/types.d.ts +4 -10
- package/dist/esm/types.js.map +1 -1
- package/dist/types/client/actions/getCallsStatus.d.ts +4 -3
- package/dist/types/client/actions/getCallsStatus.d.ts.map +1 -1
- package/dist/types/client/actions/grantPermissions.d.ts +5 -4
- package/dist/types/client/actions/grantPermissions.d.ts.map +1 -1
- package/dist/types/client/actions/prepareCalls.d.ts +4 -3
- package/dist/types/client/actions/prepareCalls.d.ts.map +1 -1
- package/dist/types/client/actions/prepareSign.d.ts +4 -3
- package/dist/types/client/actions/prepareSign.d.ts.map +1 -1
- package/dist/types/client/actions/requestAccount.d.ts.map +1 -1
- package/dist/types/client/index.d.ts +8 -6
- package/dist/types/client/index.d.ts.map +1 -1
- package/dist/types/{isomorphic/utils/createAccount.d.ts → internal/account.d.ts} +2 -6
- package/dist/types/internal/account.d.ts.map +1 -0
- package/dist/types/types.d.ts +4 -10
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +3 -8
- package/src/client/actions/getCallsStatus.ts +8 -6
- package/src/client/actions/grantPermissions.ts +41 -10
- package/src/client/actions/prepareCalls.ts +13 -8
- package/src/client/actions/prepareSign.ts +9 -6
- package/src/client/actions/requestAccount.ts +1 -1
- package/src/client/client.e2e-test.ts +208 -442
- package/src/client/index.ts +39 -30
- package/src/{isomorphic/utils/createAccount.ts → internal/account.ts} +9 -49
- package/src/types.ts +6 -17
- package/dist/esm/exports/internal.d.ts +0 -4
- package/dist/esm/exports/internal.js +0 -3
- package/dist/esm/exports/internal.js.map +0 -1
- package/dist/esm/isomorphic/actions/createSession.d.ts +0 -13
- package/dist/esm/isomorphic/actions/createSession.js +0 -94
- package/dist/esm/isomorphic/actions/createSession.js.map +0 -1
- package/dist/esm/isomorphic/actions/formatSign.d.ts +0 -8
- package/dist/esm/isomorphic/actions/formatSign.js +0 -42
- package/dist/esm/isomorphic/actions/formatSign.js.map +0 -1
- package/dist/esm/isomorphic/actions/getCallsStatus.d.ts +0 -7
- package/dist/esm/isomorphic/actions/getCallsStatus.js +0 -71
- package/dist/esm/isomorphic/actions/getCallsStatus.js.map +0 -1
- package/dist/esm/isomorphic/actions/prepareCalls.d.ts +0 -7
- package/dist/esm/isomorphic/actions/prepareCalls.js +0 -116
- package/dist/esm/isomorphic/actions/prepareCalls.js.map +0 -1
- package/dist/esm/isomorphic/actions/prepareSign.d.ts +0 -7
- package/dist/esm/isomorphic/actions/prepareSign.js +0 -49
- package/dist/esm/isomorphic/actions/prepareSign.js.map +0 -1
- package/dist/esm/isomorphic/actions/sendPreparedCalls.d.ts +0 -7
- package/dist/esm/isomorphic/actions/sendPreparedCalls.js +0 -183
- package/dist/esm/isomorphic/actions/sendPreparedCalls.js.map +0 -1
- package/dist/esm/isomorphic/client.d.ts +0 -275
- package/dist/esm/isomorphic/client.js +0 -41
- package/dist/esm/isomorphic/client.js.map +0 -1
- package/dist/esm/isomorphic/utils/7702.d.ts +0 -19
- package/dist/esm/isomorphic/utils/7702.js +0 -70
- package/dist/esm/isomorphic/utils/7702.js.map +0 -1
- package/dist/esm/isomorphic/utils/createAccount.js.map +0 -1
- package/dist/esm/isomorphic/utils/createDummySigner.d.ts +0 -3
- package/dist/esm/isomorphic/utils/createDummySigner.js +0 -17
- package/dist/esm/isomorphic/utils/createDummySigner.js.map +0 -1
- package/dist/esm/isomorphic/utils/decodeSignature.d.ts +0 -3
- package/dist/esm/isomorphic/utils/decodeSignature.js +0 -15
- package/dist/esm/isomorphic/utils/decodeSignature.js.map +0 -1
- package/dist/esm/isomorphic/utils/parsePermissionsContext.d.ts +0 -21
- package/dist/esm/isomorphic/utils/parsePermissionsContext.js +0 -34
- package/dist/esm/isomorphic/utils/parsePermissionsContext.js.map +0 -1
- package/dist/esm/isomorphic/utils/supportsFeature.d.ts +0 -4
- package/dist/esm/isomorphic/utils/supportsFeature.js +0 -21
- package/dist/esm/isomorphic/utils/supportsFeature.js.map +0 -1
- package/dist/esm/local/client.d.ts +0 -3
- package/dist/esm/local/client.js +0 -97
- package/dist/esm/local/client.js.map +0 -1
- package/dist/esm/remote/client.d.ts +0 -9
- package/dist/esm/remote/client.js +0 -41
- package/dist/esm/remote/client.js.map +0 -1
- package/dist/types/exports/internal.d.ts +0 -5
- package/dist/types/exports/internal.d.ts.map +0 -1
- package/dist/types/isomorphic/actions/createSession.d.ts +0 -14
- package/dist/types/isomorphic/actions/createSession.d.ts.map +0 -1
- package/dist/types/isomorphic/actions/formatSign.d.ts +0 -9
- package/dist/types/isomorphic/actions/formatSign.d.ts.map +0 -1
- package/dist/types/isomorphic/actions/getCallsStatus.d.ts +0 -8
- package/dist/types/isomorphic/actions/getCallsStatus.d.ts.map +0 -1
- package/dist/types/isomorphic/actions/prepareCalls.d.ts +0 -8
- package/dist/types/isomorphic/actions/prepareCalls.d.ts.map +0 -1
- package/dist/types/isomorphic/actions/prepareSign.d.ts +0 -8
- package/dist/types/isomorphic/actions/prepareSign.d.ts.map +0 -1
- package/dist/types/isomorphic/actions/sendPreparedCalls.d.ts +0 -8
- package/dist/types/isomorphic/actions/sendPreparedCalls.d.ts.map +0 -1
- package/dist/types/isomorphic/client.d.ts +0 -276
- package/dist/types/isomorphic/client.d.ts.map +0 -1
- package/dist/types/isomorphic/utils/7702.d.ts +0 -20
- package/dist/types/isomorphic/utils/7702.d.ts.map +0 -1
- package/dist/types/isomorphic/utils/createAccount.d.ts.map +0 -1
- package/dist/types/isomorphic/utils/createDummySigner.d.ts +0 -4
- package/dist/types/isomorphic/utils/createDummySigner.d.ts.map +0 -1
- package/dist/types/isomorphic/utils/decodeSignature.d.ts +0 -4
- package/dist/types/isomorphic/utils/decodeSignature.d.ts.map +0 -1
- package/dist/types/isomorphic/utils/parsePermissionsContext.d.ts +0 -22
- package/dist/types/isomorphic/utils/parsePermissionsContext.d.ts.map +0 -1
- package/dist/types/isomorphic/utils/supportsFeature.d.ts +0 -5
- package/dist/types/isomorphic/utils/supportsFeature.d.ts.map +0 -1
- package/dist/types/local/client.d.ts +0 -4
- package/dist/types/local/client.d.ts.map +0 -1
- package/dist/types/remote/client.d.ts +0 -10
- package/dist/types/remote/client.d.ts.map +0 -1
- package/src/exports/internal.ts +0 -8
- package/src/isomorphic/actions/createSession.ts +0 -163
- package/src/isomorphic/actions/formatSign.ts +0 -76
- package/src/isomorphic/actions/getCallsStatus.ts +0 -112
- package/src/isomorphic/actions/prepareCalls.ts +0 -172
- package/src/isomorphic/actions/prepareSign.ts +0 -88
- package/src/isomorphic/actions/sendPreparedCalls.ts +0 -271
- package/src/isomorphic/client.ts +0 -102
- package/src/isomorphic/utils/7702.ts +0 -135
- package/src/isomorphic/utils/createDummySigner.ts +0 -27
- package/src/isomorphic/utils/decodeSignature.ts +0 -21
- package/src/isomorphic/utils/parsePermissionsContext.ts +0 -51
- package/src/isomorphic/utils/supportsFeature.ts +0 -34
- package/src/local/client.ts +0 -136
- package/src/remote/client.ts +0 -67
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
import type { SmartAccountSigner, SmartContractAccount } from "@aa-sdk/core";
|
|
2
|
-
import { type
|
|
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=
|
|
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"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import type {
|
|
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
|
-
|
|
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
|
-
|
|
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<
|
|
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,
|
|
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.
|
|
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.
|
|
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": "
|
|
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 =
|
|
5
|
+
export type GetCallsStatusParams = Static<
|
|
6
|
+
typeof wallet_getCallsStatus
|
|
7
|
+
>["Request"]["params"][0];
|
|
8
8
|
|
|
9
|
-
export type GetCallsStatusResult =
|
|
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 {
|
|
3
|
-
|
|
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
|
-
> =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
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<
|
|
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 =
|
|
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.
|
|
63
|
+
if (client.policyIds && !params.capabilities?.paymasterService) {
|
|
59
64
|
params.capabilities = {
|
|
60
65
|
...params.capabilities,
|
|
61
|
-
paymasterService: {
|
|
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<
|
|
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 =
|
|
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<
|