@account-kit/wallet-client 0.1.0-alpha.9 → 4.50.0
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/LICENSE +21 -0
- package/dist/esm/client/actions/formatSign.d.ts +30 -0
- package/dist/esm/client/actions/formatSign.js +32 -0
- package/dist/esm/client/actions/formatSign.js.map +1 -0
- package/dist/esm/client/actions/getCallsStatus.d.ts +6 -3
- package/dist/esm/client/actions/getCallsStatus.js +3 -0
- package/dist/esm/client/actions/getCallsStatus.js.map +1 -1
- package/dist/esm/client/actions/grantPermissions.d.ts +10 -11
- package/dist/esm/client/actions/grantPermissions.js +26 -12
- package/dist/esm/client/actions/grantPermissions.js.map +1 -1
- package/dist/esm/client/actions/listAccounts.d.ts +10 -3
- package/dist/esm/client/actions/listAccounts.js +14 -2
- package/dist/esm/client/actions/listAccounts.js.map +1 -1
- package/dist/esm/client/actions/prepareCalls.d.ts +6 -3
- package/dist/esm/client/actions/prepareCalls.js +12 -8
- package/dist/esm/client/actions/prepareCalls.js.map +1 -1
- package/dist/esm/client/actions/prepareSign.d.ts +28 -0
- package/dist/esm/client/actions/prepareSign.js +31 -0
- package/dist/esm/client/actions/prepareSign.js.map +1 -0
- package/dist/esm/client/actions/requestAccount.d.ts +3 -1
- package/dist/esm/client/actions/requestAccount.js +5 -3
- package/dist/esm/client/actions/requestAccount.js.map +1 -1
- package/dist/esm/client/actions/sendPreparedCalls.d.ts +3 -1
- package/dist/esm/client/actions/sendPreparedCalls.js +2 -0
- package/dist/esm/client/actions/sendPreparedCalls.js.map +1 -1
- package/dist/esm/client/actions/signMessage.d.ts +5 -2
- package/dist/esm/client/actions/signMessage.js +5 -2
- package/dist/esm/client/actions/signMessage.js.map +1 -1
- package/dist/esm/client/actions/signPreparedCalls.d.ts +2 -2
- package/dist/esm/client/actions/signPreparedCalls.js +3 -3
- package/dist/esm/client/actions/signPreparedCalls.js.map +1 -1
- package/dist/esm/client/actions/signSignatureRequest.d.ts +6 -10
- package/dist/esm/client/actions/signSignatureRequest.js +4 -7
- package/dist/esm/client/actions/signSignatureRequest.js.map +1 -1
- package/dist/esm/client/actions/signTypedData.d.ts +2 -0
- package/dist/esm/client/actions/signTypedData.js +2 -0
- package/dist/esm/client/actions/signTypedData.js.map +1 -1
- package/dist/esm/client/decorator.d.ts +0 -2
- package/dist/esm/client/decorator.js +1 -3
- package/dist/esm/client/decorator.js.map +1 -1
- package/dist/esm/client/index.d.ts +10 -6
- package/dist/esm/client/index.js +18 -21
- package/dist/esm/client/index.js.map +1 -1
- package/dist/esm/exports/index.d.ts +1 -5
- package/dist/esm/exports/index.js +1 -6
- package/dist/esm/exports/index.js.map +1 -1
- package/dist/esm/internal/account.d.ts +33 -0
- package/dist/esm/{isomorphic/utils/createAccount.js → internal/account.js} +25 -49
- package/dist/esm/internal/account.js.map +1 -0
- package/dist/esm/types.d.ts +5 -11
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/utils.d.ts +13 -1
- package/dist/esm/utils.js +13 -1
- package/dist/esm/utils.js.map +1 -1
- package/dist/esm/version.d.ts +1 -0
- package/dist/esm/version.js +4 -0
- package/dist/esm/version.js.map +1 -0
- package/dist/types/client/actions/formatSign.d.ts +31 -0
- package/dist/types/client/actions/formatSign.d.ts.map +1 -0
- package/dist/types/client/actions/getCallsStatus.d.ts +6 -3
- package/dist/types/client/actions/getCallsStatus.d.ts.map +1 -1
- package/dist/types/client/actions/grantPermissions.d.ts +10 -11
- package/dist/types/client/actions/grantPermissions.d.ts.map +1 -1
- package/dist/types/client/actions/listAccounts.d.ts +10 -3
- package/dist/types/client/actions/listAccounts.d.ts.map +1 -1
- package/dist/types/client/actions/prepareCalls.d.ts +6 -3
- package/dist/types/client/actions/prepareCalls.d.ts.map +1 -1
- package/dist/types/client/actions/prepareSign.d.ts +29 -0
- package/dist/types/client/actions/prepareSign.d.ts.map +1 -0
- package/dist/types/client/actions/requestAccount.d.ts +3 -1
- package/dist/types/client/actions/requestAccount.d.ts.map +1 -1
- package/dist/types/client/actions/sendPreparedCalls.d.ts +3 -1
- package/dist/types/client/actions/sendPreparedCalls.d.ts.map +1 -1
- package/dist/types/client/actions/signMessage.d.ts +5 -2
- package/dist/types/client/actions/signMessage.d.ts.map +1 -1
- package/dist/types/client/actions/signPreparedCalls.d.ts +2 -2
- package/dist/types/client/actions/signPreparedCalls.d.ts.map +1 -1
- package/dist/types/client/actions/signSignatureRequest.d.ts +6 -10
- package/dist/types/client/actions/signSignatureRequest.d.ts.map +1 -1
- package/dist/types/client/actions/signTypedData.d.ts +2 -0
- package/dist/types/client/actions/signTypedData.d.ts.map +1 -1
- package/dist/types/client/decorator.d.ts +0 -2
- package/dist/types/client/decorator.d.ts.map +1 -1
- package/dist/types/client/index.d.ts +10 -6
- package/dist/types/client/index.d.ts.map +1 -1
- package/dist/types/exports/index.d.ts +1 -5
- package/dist/types/exports/index.d.ts.map +1 -1
- package/dist/types/internal/account.d.ts +34 -0
- package/dist/types/internal/account.d.ts.map +1 -0
- package/dist/types/types.d.ts +5 -11
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/utils.d.ts +13 -1
- package/dist/types/utils.d.ts.map +1 -1
- package/dist/types/version.d.ts +2 -0
- package/dist/types/version.d.ts.map +1 -0
- package/package.json +33 -28
- package/src/client/actions/formatSign.ts +55 -0
- package/src/client/actions/getCallsStatus.ts +10 -6
- package/src/client/actions/grantPermissions.ts +46 -18
- package/src/client/actions/listAccounts.ts +22 -5
- package/src/client/actions/prepareCalls.ts +22 -16
- package/src/client/actions/prepareSign.ts +51 -0
- package/src/client/actions/requestAccount.ts +6 -4
- package/src/client/actions/sendPreparedCalls.ts +3 -1
- package/src/client/actions/signMessage.ts +5 -2
- package/src/client/actions/signPreparedCalls.ts +8 -12
- package/src/client/actions/signSignatureRequest.ts +12 -15
- package/src/client/actions/signTypedData.ts +2 -0
- package/src/client/decorator.ts +1 -8
- package/src/client/index.ts +41 -33
- package/src/exports/index.ts +1 -13
- package/src/internal/account.ts +120 -0
- package/src/types.ts +7 -18
- package/src/utils.ts +13 -1
- package/src/version.ts +3 -0
- package/dist/esm/capabilities/eip7702Auth.d.ts +0 -4
- package/dist/esm/capabilities/eip7702Auth.js +0 -18
- package/dist/esm/capabilities/eip7702Auth.js.map +0 -1
- package/dist/esm/capabilities/index.d.ts +0 -41
- package/dist/esm/capabilities/index.js +0 -14
- package/dist/esm/capabilities/index.js.map +0 -1
- package/dist/esm/capabilities/multiDimensionalNonce.d.ts +0 -3
- package/dist/esm/capabilities/multiDimensionalNonce.js +0 -7
- package/dist/esm/capabilities/multiDimensionalNonce.js.map +0 -1
- package/dist/esm/capabilities/overrides.d.ts +0 -26
- package/dist/esm/capabilities/overrides.js +0 -14
- package/dist/esm/capabilities/overrides.js.map +0 -1
- package/dist/esm/capabilities/paymaster.d.ts +0 -3
- package/dist/esm/capabilities/paymaster.js +0 -5
- package/dist/esm/capabilities/paymaster.js.map +0 -1
- package/dist/esm/capabilities/permissions/index.d.ts +0 -145
- package/dist/esm/capabilities/permissions/index.js +0 -83
- package/dist/esm/capabilities/permissions/index.js.map +0 -1
- package/dist/esm/capabilities/permissions/mav2.d.ts +0 -36
- package/dist/esm/capabilities/permissions/mav2.js +0 -88
- package/dist/esm/capabilities/permissions/mav2.js.map +0 -1
- package/dist/esm/client/actions/createAccount.d.ts +0 -35
- package/dist/esm/client/actions/createAccount.js +0 -32
- package/dist/esm/client/actions/createAccount.js.map +0 -1
- package/dist/esm/client/client.e2e-test.d.ts +0 -1
- package/dist/esm/client/client.e2e-test.js +0 -375
- package/dist/esm/client/client.e2e-test.js.map +0 -1
- package/dist/esm/exports/internal.d.ts +0 -14
- package/dist/esm/exports/internal.js +0 -16
- package/dist/esm/exports/internal.js.map +0 -1
- package/dist/esm/isomorphic/actions/createSession.d.ts +0 -14
- package/dist/esm/isomorphic/actions/createSession.js +0 -95
- package/dist/esm/isomorphic/actions/createSession.js.map +0 -1
- package/dist/esm/isomorphic/actions/getCallsStatus.d.ts +0 -21
- package/dist/esm/isomorphic/actions/getCallsStatus.js +0 -113
- package/dist/esm/isomorphic/actions/getCallsStatus.js.map +0 -1
- package/dist/esm/isomorphic/actions/prepareCalls.d.ts +0 -8
- package/dist/esm/isomorphic/actions/prepareCalls.js +0 -116
- package/dist/esm/isomorphic/actions/prepareCalls.js.map +0 -1
- package/dist/esm/isomorphic/actions/sendPreparedCalls.d.ts +0 -8
- package/dist/esm/isomorphic/actions/sendPreparedCalls.js +0 -157
- package/dist/esm/isomorphic/actions/sendPreparedCalls.js.map +0 -1
- package/dist/esm/isomorphic/client.d.ts +0 -239
- package/dist/esm/isomorphic/client.js +0 -37
- package/dist/esm/isomorphic/client.js.map +0 -1
- package/dist/esm/isomorphic/utils/7702.d.ts +0 -23
- package/dist/esm/isomorphic/utils/7702.js +0 -75
- package/dist/esm/isomorphic/utils/7702.js.map +0 -1
- package/dist/esm/isomorphic/utils/createAccount.d.ts +0 -24
- 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 -13
- 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/esm/rpc/examples.d.ts +0 -230
- package/dist/esm/rpc/examples.js +0 -314
- package/dist/esm/rpc/examples.js.map +0 -1
- package/dist/esm/rpc/request.d.ts +0 -755
- package/dist/esm/rpc/request.js +0 -214
- package/dist/esm/rpc/request.js.map +0 -1
- package/dist/esm/rpc/schema.d.ts +0 -703
- package/dist/esm/rpc/schema.js +0 -5
- package/dist/esm/rpc/schema.js.map +0 -1
- package/dist/esm/schemas.d.ts +0 -712
- package/dist/esm/schemas.js +0 -463
- package/dist/esm/schemas.js.map +0 -1
- package/dist/types/capabilities/eip7702Auth.d.ts +0 -5
- package/dist/types/capabilities/eip7702Auth.d.ts.map +0 -1
- package/dist/types/capabilities/index.d.ts +0 -42
- package/dist/types/capabilities/index.d.ts.map +0 -1
- package/dist/types/capabilities/multiDimensionalNonce.d.ts +0 -4
- package/dist/types/capabilities/multiDimensionalNonce.d.ts.map +0 -1
- package/dist/types/capabilities/overrides.d.ts +0 -27
- package/dist/types/capabilities/overrides.d.ts.map +0 -1
- package/dist/types/capabilities/paymaster.d.ts +0 -4
- package/dist/types/capabilities/paymaster.d.ts.map +0 -1
- package/dist/types/capabilities/permissions/index.d.ts +0 -146
- package/dist/types/capabilities/permissions/index.d.ts.map +0 -1
- package/dist/types/capabilities/permissions/mav2.d.ts +0 -37
- package/dist/types/capabilities/permissions/mav2.d.ts.map +0 -1
- package/dist/types/client/actions/createAccount.d.ts +0 -36
- package/dist/types/client/actions/createAccount.d.ts.map +0 -1
- package/dist/types/client/client.e2e-test.d.ts +0 -2
- package/dist/types/client/client.e2e-test.d.ts.map +0 -1
- package/dist/types/exports/internal.d.ts +0 -15
- package/dist/types/exports/internal.d.ts.map +0 -1
- package/dist/types/isomorphic/actions/createSession.d.ts +0 -15
- package/dist/types/isomorphic/actions/createSession.d.ts.map +0 -1
- package/dist/types/isomorphic/actions/getCallsStatus.d.ts +0 -22
- package/dist/types/isomorphic/actions/getCallsStatus.d.ts.map +0 -1
- package/dist/types/isomorphic/actions/prepareCalls.d.ts +0 -9
- package/dist/types/isomorphic/actions/prepareCalls.d.ts.map +0 -1
- package/dist/types/isomorphic/actions/sendPreparedCalls.d.ts +0 -9
- package/dist/types/isomorphic/actions/sendPreparedCalls.d.ts.map +0 -1
- package/dist/types/isomorphic/client.d.ts +0 -240
- package/dist/types/isomorphic/client.d.ts.map +0 -1
- package/dist/types/isomorphic/utils/7702.d.ts +0 -24
- package/dist/types/isomorphic/utils/7702.d.ts.map +0 -1
- package/dist/types/isomorphic/utils/createAccount.d.ts +0 -25
- 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/dist/types/rpc/examples.d.ts +0 -231
- package/dist/types/rpc/examples.d.ts.map +0 -1
- package/dist/types/rpc/request.d.ts +0 -756
- package/dist/types/rpc/request.d.ts.map +0 -1
- package/dist/types/rpc/schema.d.ts +0 -704
- package/dist/types/rpc/schema.d.ts.map +0 -1
- package/dist/types/schemas.d.ts +0 -713
- package/dist/types/schemas.d.ts.map +0 -1
- package/src/capabilities/eip7702Auth.ts +0 -26
- package/src/capabilities/index.ts +0 -14
- package/src/capabilities/multiDimensionalNonce.ts +0 -7
- package/src/capabilities/overrides.ts +0 -35
- package/src/capabilities/paymaster.ts +0 -5
- package/src/capabilities/permissions/index.ts +0 -163
- package/src/capabilities/permissions/mav2.ts +0 -138
- package/src/client/actions/createAccount.ts +0 -53
- package/src/client/client.e2e-test.ts +0 -463
- package/src/exports/internal.ts +0 -17
- package/src/isomorphic/actions/createSession.ts +0 -159
- package/src/isomorphic/actions/getCallsStatus.ts +0 -170
- package/src/isomorphic/actions/prepareCalls.ts +0 -170
- package/src/isomorphic/actions/sendPreparedCalls.ts +0 -232
- package/src/isomorphic/client.ts +0 -94
- package/src/isomorphic/utils/7702.ts +0 -143
- package/src/isomorphic/utils/createAccount.ts +0 -170
- package/src/isomorphic/utils/createDummySigner.ts +0 -27
- package/src/isomorphic/utils/decodeSignature.ts +0 -18
- package/src/isomorphic/utils/parsePermissionsContext.ts +0 -49
- package/src/isomorphic/utils/supportsFeature.ts +0 -34
- package/src/local/client.ts +0 -136
- package/src/remote/client.ts +0 -67
- package/src/rpc/examples.ts +0 -342
- package/src/rpc/request.ts +0 -300
- package/src/rpc/schema.ts +0 -40
- package/src/schemas.ts +0 -657
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { Type } from "@sinclair/typebox";
|
|
2
|
-
import { TypeAddress } from "../schemas.js";
|
|
3
|
-
import {
|
|
4
|
-
EIP_7702_ACCOUNT_TYPE,
|
|
5
|
-
SUPPORTED_DELEGATION_ADDRESSES,
|
|
6
|
-
} from "../isomorphic/utils/7702.js";
|
|
7
|
-
|
|
8
|
-
export const Eip7702AuthCapability = Type.Union([
|
|
9
|
-
Type.Object(
|
|
10
|
-
{
|
|
11
|
-
account: Type.Optional(TypeAddress),
|
|
12
|
-
// Wallet applications must maintain a strict shortlist of well-known accounts.
|
|
13
|
-
// https://github.com/ethereum/ERCs/pull/947/files#diff-dab085f963ca621595044bcbc0922705aa38b69f5bf8770dcb3d0496a633efcfR189
|
|
14
|
-
delegation: Type.Union([
|
|
15
|
-
...SUPPORTED_DELEGATION_ADDRESSES.map((address) =>
|
|
16
|
-
Type.Literal(address),
|
|
17
|
-
),
|
|
18
|
-
...EIP_7702_ACCOUNT_TYPE.map((it) => Type.Literal(it)),
|
|
19
|
-
]),
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
description: "Specify EIP-7702 delegation",
|
|
23
|
-
},
|
|
24
|
-
),
|
|
25
|
-
Type.Literal(true, { description: "Default EIP-7702 delegation" }),
|
|
26
|
-
]);
|
|
@@ -1,14 +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
|
-
import { Eip7702AuthCapability } from "./eip7702Auth.js";
|
|
6
|
-
import { MultiDimensionalNonceCapability } from "./multiDimensionalNonce.js";
|
|
7
|
-
|
|
8
|
-
export const Capabilities = Type.Object({
|
|
9
|
-
permissions: Type.Optional(PermissionsCapability),
|
|
10
|
-
paymasterService: Type.Optional(PaymasterCapability),
|
|
11
|
-
gasParamsOverride: Type.Optional(GasParamsOverrideCapability),
|
|
12
|
-
eip7702Auth: Type.Optional(Eip7702AuthCapability),
|
|
13
|
-
nonceOverride: Type.Optional(MultiDimensionalNonceCapability),
|
|
14
|
-
});
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { Type } from "@sinclair/typebox";
|
|
2
|
-
import { TypeHex } from "../schemas.js";
|
|
3
|
-
|
|
4
|
-
export const MultiDimensionalNonceCapability = Type.Object({
|
|
5
|
-
// we do not support the optional sequentialNonce param
|
|
6
|
-
nonceKey: TypeHex({ description: "Override nonce key as hex string" }),
|
|
7
|
-
});
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { Type } from "@sinclair/typebox";
|
|
2
|
-
import { TypeHex } from "../schemas.js";
|
|
3
|
-
|
|
4
|
-
export const Mutliplier = Type.Object(
|
|
5
|
-
{ multiplier: Type.Number() },
|
|
6
|
-
{ description: "Multiplier" },
|
|
7
|
-
);
|
|
8
|
-
|
|
9
|
-
// This is still being defined in https://github.com/ethereum/ERCs/pull/947/files#diff-dab085f963ca621595044bcbc0922705aa38b69f5bf8770dcb3d0496a633efcfR158
|
|
10
|
-
export const GasParamsOverrideCapability = Type.Object(
|
|
11
|
-
{
|
|
12
|
-
preVerificationGas: Type.Optional(
|
|
13
|
-
Type.Union([TypeHex({ description: "Absolute" }), Mutliplier]),
|
|
14
|
-
),
|
|
15
|
-
verificationGasLimit: Type.Optional(
|
|
16
|
-
Type.Union([TypeHex({ description: "Absolute" }), Mutliplier]),
|
|
17
|
-
),
|
|
18
|
-
callGasLimit: Type.Optional(
|
|
19
|
-
Type.Union([TypeHex({ description: "Absolute" }), Mutliplier]),
|
|
20
|
-
),
|
|
21
|
-
paymasterVerificationGasLimit: Type.Optional(
|
|
22
|
-
Type.Union([TypeHex({ description: "Absolute" }), Mutliplier]),
|
|
23
|
-
),
|
|
24
|
-
paymasterPostOpGasLimit: Type.Optional(
|
|
25
|
-
Type.Union([TypeHex({ description: "Absolute" }), Mutliplier]),
|
|
26
|
-
),
|
|
27
|
-
maxFeePerGas: Type.Optional(
|
|
28
|
-
Type.Union([TypeHex({ description: "Absolute" }), Mutliplier]),
|
|
29
|
-
),
|
|
30
|
-
maxPriorityFeePerGas: Type.Optional(
|
|
31
|
-
Type.Union([TypeHex({ description: "Absolute" }), Mutliplier]),
|
|
32
|
-
),
|
|
33
|
-
},
|
|
34
|
-
{ minProperties: 1 },
|
|
35
|
-
);
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
import { PermissionType } from "@account-kit/smart-contracts/experimental";
|
|
2
|
-
import {
|
|
3
|
-
Type,
|
|
4
|
-
type TLiteral,
|
|
5
|
-
type TLiteralValue,
|
|
6
|
-
type TObject,
|
|
7
|
-
type TSchema,
|
|
8
|
-
} from "@sinclair/typebox";
|
|
9
|
-
import { KeySigner, TypeAddress, TypeHex } from "../../schemas.js";
|
|
10
|
-
|
|
11
|
-
const Permission = <
|
|
12
|
-
TData extends TSchema,
|
|
13
|
-
TLiteralVal extends TLiteralValue,
|
|
14
|
-
TType extends TLiteral<TLiteralVal>,
|
|
15
|
-
>(
|
|
16
|
-
typeString: TLiteralVal, // e.g., "root"
|
|
17
|
-
typeEnum: TLiteralVal, // e.g., PermissionType.ROOT
|
|
18
|
-
data: TData,
|
|
19
|
-
description: string,
|
|
20
|
-
): TObject<{ type: TType; data: TData }> => {
|
|
21
|
-
return Type.Transform(
|
|
22
|
-
Type.Object(
|
|
23
|
-
{
|
|
24
|
-
type: Type.Literal(typeEnum),
|
|
25
|
-
data,
|
|
26
|
-
},
|
|
27
|
-
{ description, title: `${typeString}` },
|
|
28
|
-
),
|
|
29
|
-
)
|
|
30
|
-
.Decode((value) => ({
|
|
31
|
-
...value,
|
|
32
|
-
type: typeString, // enum → string
|
|
33
|
-
}))
|
|
34
|
-
.Encode((value) => ({
|
|
35
|
-
...value,
|
|
36
|
-
type: typeEnum, // string → enum
|
|
37
|
-
})) as never;
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
const NativeTokenTransfer = Permission(
|
|
41
|
-
"native-token-transfer",
|
|
42
|
-
PermissionType.NATIVE_TOKEN_TRANSFER,
|
|
43
|
-
Type.Object({
|
|
44
|
-
allowance: TypeHex(),
|
|
45
|
-
}),
|
|
46
|
-
"allows transfer of native tokens from the account",
|
|
47
|
-
);
|
|
48
|
-
|
|
49
|
-
const Erc20TokenTransfer = Permission(
|
|
50
|
-
"erc20-token-transfer",
|
|
51
|
-
PermissionType.ERC20_TOKEN_TRANSFER,
|
|
52
|
-
Type.Object({
|
|
53
|
-
allowance: TypeHex(),
|
|
54
|
-
address: TypeAddress,
|
|
55
|
-
}),
|
|
56
|
-
"allows transfer or approval of erc20 tokens from the account",
|
|
57
|
-
);
|
|
58
|
-
|
|
59
|
-
const GasLimit = Permission(
|
|
60
|
-
"gas-limit",
|
|
61
|
-
PermissionType.GAS_LIMIT,
|
|
62
|
-
Type.Object({
|
|
63
|
-
limit: TypeHex(),
|
|
64
|
-
}),
|
|
65
|
-
"allows the key to spend gas for UOs",
|
|
66
|
-
);
|
|
67
|
-
|
|
68
|
-
const ContractAccess = Permission(
|
|
69
|
-
"contract-access",
|
|
70
|
-
PermissionType.CONTRACT_ACCESS,
|
|
71
|
-
Type.Object({
|
|
72
|
-
address: TypeAddress,
|
|
73
|
-
}),
|
|
74
|
-
"grants access to all functions in a contract",
|
|
75
|
-
);
|
|
76
|
-
|
|
77
|
-
const AccountFunction = Permission(
|
|
78
|
-
"account-functions",
|
|
79
|
-
PermissionType.ACCOUNT_FUNCTIONS,
|
|
80
|
-
Type.Object({
|
|
81
|
-
functions: Type.Array(TypeHex(), { minItems: 1 }),
|
|
82
|
-
}),
|
|
83
|
-
"grants access to functions in the account",
|
|
84
|
-
);
|
|
85
|
-
|
|
86
|
-
const AllExternalFunctionAccess = Permission(
|
|
87
|
-
"functions-on-all-contracts",
|
|
88
|
-
PermissionType.FUNCTIONS_ON_ALL_CONTRACTS,
|
|
89
|
-
Type.Object({
|
|
90
|
-
functions: Type.Array(TypeHex(), { minItems: 1 }),
|
|
91
|
-
}),
|
|
92
|
-
"access to a function selector in any address or contract",
|
|
93
|
-
);
|
|
94
|
-
|
|
95
|
-
const ContractFunctionAccess = Permission(
|
|
96
|
-
"functions-on-contract",
|
|
97
|
-
PermissionType.FUNCTIONS_ON_CONTRACT,
|
|
98
|
-
Type.Object({
|
|
99
|
-
address: TypeAddress,
|
|
100
|
-
functions: Type.Array(TypeHex(), { minItems: 1 }),
|
|
101
|
-
}),
|
|
102
|
-
"grants access to specified functions on a specific contract",
|
|
103
|
-
);
|
|
104
|
-
|
|
105
|
-
const Root = Permission(
|
|
106
|
-
"root",
|
|
107
|
-
PermissionType.ROOT,
|
|
108
|
-
Type.Optional(Type.Never()),
|
|
109
|
-
"grants full access to everything",
|
|
110
|
-
);
|
|
111
|
-
|
|
112
|
-
export const TypePermission = Type.Union([
|
|
113
|
-
// 7715 permissions
|
|
114
|
-
NativeTokenTransfer,
|
|
115
|
-
Erc20TokenTransfer,
|
|
116
|
-
GasLimit,
|
|
117
|
-
// additional permissions
|
|
118
|
-
ContractAccess,
|
|
119
|
-
AccountFunction,
|
|
120
|
-
AllExternalFunctionAccess,
|
|
121
|
-
ContractFunctionAccess,
|
|
122
|
-
Root,
|
|
123
|
-
]);
|
|
124
|
-
|
|
125
|
-
export const PermissionsArray = Type.Array(TypePermission, { minItems: 1 });
|
|
126
|
-
|
|
127
|
-
export const PermissionsContext = Type.Object(
|
|
128
|
-
{
|
|
129
|
-
context: TypeHex(),
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
description: "Permissions context",
|
|
133
|
-
},
|
|
134
|
-
);
|
|
135
|
-
|
|
136
|
-
export const RemotePermission = Type.Object(
|
|
137
|
-
{
|
|
138
|
-
sessionId: TypeHex(),
|
|
139
|
-
signature: TypeHex(),
|
|
140
|
-
},
|
|
141
|
-
{
|
|
142
|
-
description: "Remote permission",
|
|
143
|
-
},
|
|
144
|
-
);
|
|
145
|
-
|
|
146
|
-
export const PermissionsData = Type.Object({
|
|
147
|
-
chainId: TypeHex(),
|
|
148
|
-
expirySec: Type.Optional(
|
|
149
|
-
Type.Integer({
|
|
150
|
-
maximum: 9999999999, // This is valid until November 20, 2286.
|
|
151
|
-
description: "Unix timestamp in seconds (0 for no expiry)",
|
|
152
|
-
}),
|
|
153
|
-
),
|
|
154
|
-
key: KeySigner,
|
|
155
|
-
permissions: PermissionsArray,
|
|
156
|
-
});
|
|
157
|
-
|
|
158
|
-
export const PermissionsCapability = Type.Union([
|
|
159
|
-
PermissionsContext,
|
|
160
|
-
RemotePermission,
|
|
161
|
-
// TODO: support permissions object here instead of only context-encoded permissions
|
|
162
|
-
// PermissionsData,
|
|
163
|
-
]);
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
import { PermissionType } from "@account-kit/smart-contracts/experimental";
|
|
2
|
-
import type { Static } from "@sinclair/typebox";
|
|
3
|
-
import { concatHex, sliceHex, type Hex } from "viem";
|
|
4
|
-
import type { KeySigner } from "../../schemas.ts";
|
|
5
|
-
import { assertNever } from "../../utils.js";
|
|
6
|
-
import type { PermissionsCapability, PermissionsData } from "./index.ts";
|
|
7
|
-
|
|
8
|
-
export const SESSION_ID_LENGTH_BYTES = 16;
|
|
9
|
-
export const ENTITY_ID_LENGTH_BYTES = 4;
|
|
10
|
-
|
|
11
|
-
export const PermissionsContextVersion = {
|
|
12
|
-
REMOTE_MODE_DEFERRED_ACTION: "0x00",
|
|
13
|
-
LOCAL_MODE_DEFERRED_ACTION: "0x01",
|
|
14
|
-
NON_DEFERRED_ACTION: "0x02",
|
|
15
|
-
} as const;
|
|
16
|
-
|
|
17
|
-
type ContextVersionHex =
|
|
18
|
-
(typeof PermissionsContextVersion)[keyof typeof PermissionsContextVersion];
|
|
19
|
-
|
|
20
|
-
type DecodedPermissionsContext = {
|
|
21
|
-
contextVersion: keyof typeof PermissionsContextVersion;
|
|
22
|
-
} & (
|
|
23
|
-
| {
|
|
24
|
-
contextVersion: "REMOTE_MODE_DEFERRED_ACTION";
|
|
25
|
-
sessionId: Hex;
|
|
26
|
-
signature: Hex;
|
|
27
|
-
deferredAction?: never;
|
|
28
|
-
}
|
|
29
|
-
| {
|
|
30
|
-
contextVersion: "LOCAL_MODE_DEFERRED_ACTION";
|
|
31
|
-
deferredAction: Hex;
|
|
32
|
-
sessionId?: never;
|
|
33
|
-
signature?: never;
|
|
34
|
-
}
|
|
35
|
-
| {
|
|
36
|
-
contextVersion: "NON_DEFERRED_ACTION";
|
|
37
|
-
deferredAction?: never;
|
|
38
|
-
sessionId?: never;
|
|
39
|
-
signature?: never;
|
|
40
|
-
entityId: Hex;
|
|
41
|
-
isGlobalValidation: boolean;
|
|
42
|
-
}
|
|
43
|
-
);
|
|
44
|
-
|
|
45
|
-
export const encodePermissionsContext = (
|
|
46
|
-
context: DecodedPermissionsContext,
|
|
47
|
-
): Hex => {
|
|
48
|
-
switch (context.contextVersion) {
|
|
49
|
-
case "REMOTE_MODE_DEFERRED_ACTION":
|
|
50
|
-
return concatHex([
|
|
51
|
-
PermissionsContextVersion.REMOTE_MODE_DEFERRED_ACTION,
|
|
52
|
-
context.sessionId,
|
|
53
|
-
context.signature,
|
|
54
|
-
]);
|
|
55
|
-
case "LOCAL_MODE_DEFERRED_ACTION":
|
|
56
|
-
return concatHex([
|
|
57
|
-
PermissionsContextVersion.LOCAL_MODE_DEFERRED_ACTION,
|
|
58
|
-
context.deferredAction,
|
|
59
|
-
]);
|
|
60
|
-
case "NON_DEFERRED_ACTION":
|
|
61
|
-
return concatHex([
|
|
62
|
-
PermissionsContextVersion.NON_DEFERRED_ACTION,
|
|
63
|
-
context.isGlobalValidation ? "0x01" : "0x00",
|
|
64
|
-
context.entityId,
|
|
65
|
-
]);
|
|
66
|
-
default:
|
|
67
|
-
return assertNever(context, "Unexpected context version");
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
|
|
71
|
-
export const decodePermissionsContext = (
|
|
72
|
-
capability: Static<typeof PermissionsCapability>,
|
|
73
|
-
): DecodedPermissionsContext => {
|
|
74
|
-
if (!("context" in capability)) {
|
|
75
|
-
return {
|
|
76
|
-
contextVersion: "REMOTE_MODE_DEFERRED_ACTION",
|
|
77
|
-
sessionId: capability.sessionId,
|
|
78
|
-
signature: capability.signature,
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
const input = capability.context;
|
|
83
|
-
|
|
84
|
-
const contextVersion = sliceHex(input, 0, 1) as ContextVersionHex;
|
|
85
|
-
switch (contextVersion) {
|
|
86
|
-
case "0x00": {
|
|
87
|
-
const sessionId = sliceHex(input, 1, SESSION_ID_LENGTH_BYTES + 1);
|
|
88
|
-
const signature = sliceHex(input, SESSION_ID_LENGTH_BYTES + 1);
|
|
89
|
-
return {
|
|
90
|
-
contextVersion: "REMOTE_MODE_DEFERRED_ACTION",
|
|
91
|
-
sessionId,
|
|
92
|
-
signature,
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
case "0x01": {
|
|
96
|
-
const deferredAction = sliceHex(input, 1);
|
|
97
|
-
return {
|
|
98
|
-
contextVersion: "LOCAL_MODE_DEFERRED_ACTION",
|
|
99
|
-
deferredAction,
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
case "0x02": {
|
|
103
|
-
const isGlobalValidation = sliceHex(input, 1, 2) === "0x01";
|
|
104
|
-
const entityId = sliceHex(input, 2, ENTITY_ID_LENGTH_BYTES + 2);
|
|
105
|
-
return {
|
|
106
|
-
contextVersion: "NON_DEFERRED_ACTION",
|
|
107
|
-
isGlobalValidation,
|
|
108
|
-
entityId,
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
default:
|
|
112
|
-
return assertNever(
|
|
113
|
-
contextVersion,
|
|
114
|
-
`Unexpected context version: ${contextVersion}`,
|
|
115
|
-
);
|
|
116
|
-
}
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
export const prefixSignatureKeyType = (
|
|
120
|
-
sig: Hex,
|
|
121
|
-
type: KeySigner["type"],
|
|
122
|
-
): Hex => {
|
|
123
|
-
switch (type) {
|
|
124
|
-
case "ecdsa":
|
|
125
|
-
case "secp256k1":
|
|
126
|
-
return concatHex(["0x00", sig]);
|
|
127
|
-
case "contract":
|
|
128
|
-
return concatHex(["0x01", sig]);
|
|
129
|
-
default:
|
|
130
|
-
return assertNever(type, "Unexpected session key type");
|
|
131
|
-
}
|
|
132
|
-
};
|
|
133
|
-
|
|
134
|
-
export const isGlobalValidation = (
|
|
135
|
-
data: Pick<Static<typeof PermissionsData>, "permissions">,
|
|
136
|
-
): boolean => {
|
|
137
|
-
return data.permissions.some((p) => p.type === PermissionType.ROOT);
|
|
138
|
-
};
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import type { SmartAccountSigner } from "@aa-sdk/core";
|
|
2
|
-
import type { Static } from "@sinclair/typebox";
|
|
3
|
-
import type { Address } from "abitype";
|
|
4
|
-
import type { wallet_createAccount } from "../../rpc/request.ts";
|
|
5
|
-
import type { InnerWalletApiClient } from "../../types.ts";
|
|
6
|
-
|
|
7
|
-
export type CreateAccountParams = Omit<
|
|
8
|
-
Extract<
|
|
9
|
-
Static<typeof wallet_createAccount>["Request"]["params"][0],
|
|
10
|
-
{ signerAddress: Address }
|
|
11
|
-
>,
|
|
12
|
-
"signerAddress"
|
|
13
|
-
>;
|
|
14
|
-
|
|
15
|
-
export type CreateAccountResult = Static<
|
|
16
|
-
typeof wallet_createAccount
|
|
17
|
-
>["ReturnType"];
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Creates a new account for the provided signer using the wallet API client.
|
|
21
|
-
* This method is primarily used to import existing accounts.
|
|
22
|
-
* For most cases, you should use requestAccount instead.
|
|
23
|
-
* If the account already exists, an error will be thrown.
|
|
24
|
-
*
|
|
25
|
-
* @param {InnerWalletApiClient} client - The wallet API client to use for the request
|
|
26
|
-
* @param {SmartAccountSigner} signer - The signer that will be associated with the account
|
|
27
|
-
* @param {CreateAccountParams} params - Parameters for creating the account
|
|
28
|
-
* @param {string} [params.id] - Optional UUID v4 identifier for the account
|
|
29
|
-
* @param {object} params.creationOptions - Options for account creation
|
|
30
|
-
* @param {string} [params.creationOptions.accountType] - Currently only "sma-b" (Modular Account v2) is supported
|
|
31
|
-
* @param {string} [params.creationOptions.salt] - Optional hex string to use as salt for account creation
|
|
32
|
-
* @returns {Promise<CreateAccountResult>} A Promise that resolves to the created account information
|
|
33
|
-
*
|
|
34
|
-
* @example
|
|
35
|
-
* // Create a new account with a custom salt
|
|
36
|
-
* const account = await client.createAccount({
|
|
37
|
-
* creationOptions: {
|
|
38
|
-
* accountType: "sma-b",
|
|
39
|
-
* salt: "0x04"
|
|
40
|
-
* }
|
|
41
|
-
* });
|
|
42
|
-
* console.log(`Created account at address: ${account.accountAddress}`);
|
|
43
|
-
*/
|
|
44
|
-
export async function createAccount(
|
|
45
|
-
client: InnerWalletApiClient,
|
|
46
|
-
signer: SmartAccountSigner,
|
|
47
|
-
params: CreateAccountParams,
|
|
48
|
-
): Promise<CreateAccountResult> {
|
|
49
|
-
return client.request({
|
|
50
|
-
method: "wallet_createAccount",
|
|
51
|
-
params: [{ signerAddress: await signer.getAddress(), ...params }],
|
|
52
|
-
});
|
|
53
|
-
}
|