@account-kit/wallet-client 0.1.0-alpha.1 → 0.1.0-alpha.10
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/createAccount.d.ts +27 -2
- package/dist/esm/client/actions/createAccount.js +25 -0
- package/dist/esm/client/actions/createAccount.js.map +1 -1
- package/dist/esm/client/actions/formatSign.d.ts +28 -0
- package/dist/esm/client/actions/formatSign.js +30 -0
- package/dist/esm/client/actions/formatSign.js.map +1 -0
- package/dist/esm/client/actions/getCallsStatus.d.ts +22 -4
- package/dist/esm/client/actions/getCallsStatus.js +19 -0
- package/dist/esm/client/actions/getCallsStatus.js.map +1 -1
- package/dist/esm/client/actions/grantPermissions.d.ts +63 -6
- package/dist/esm/client/actions/grantPermissions.js +63 -3
- package/dist/esm/client/actions/grantPermissions.js.map +1 -1
- package/dist/esm/client/actions/listAccounts.d.ts +32 -4
- package/dist/esm/client/actions/listAccounts.js +35 -2
- package/dist/esm/client/actions/listAccounts.js.map +1 -1
- package/dist/esm/client/actions/prepareCalls.d.ts +32 -6
- package/dist/esm/client/actions/prepareCalls.js +39 -5
- package/dist/esm/client/actions/prepareCalls.js.map +1 -1
- package/dist/esm/client/actions/prepareSign.d.ts +25 -0
- package/dist/esm/client/actions/prepareSign.js +28 -0
- package/dist/esm/client/actions/prepareSign.js.map +1 -0
- package/dist/esm/client/actions/requestAccount.d.ts +24 -6
- package/dist/esm/client/actions/requestAccount.js +38 -7
- package/dist/esm/client/actions/requestAccount.js.map +1 -1
- package/dist/esm/client/actions/sendPreparedCalls.d.ts +33 -4
- package/dist/esm/client/actions/sendPreparedCalls.js +37 -1
- package/dist/esm/client/actions/sendPreparedCalls.js.map +1 -1
- package/dist/esm/client/actions/signMessage.d.ts +25 -5
- package/dist/esm/client/actions/signMessage.js +22 -2
- package/dist/esm/client/actions/signMessage.js.map +1 -1
- package/dist/esm/client/actions/signPreparedCalls.d.ts +14 -0
- package/dist/esm/client/actions/signPreparedCalls.js +43 -0
- package/dist/esm/client/actions/signPreparedCalls.js.map +1 -0
- package/dist/esm/client/actions/signSignatureRequest.d.ts +39 -5
- package/dist/esm/client/actions/signSignatureRequest.js +69 -11
- package/dist/esm/client/actions/signSignatureRequest.js.map +1 -1
- package/dist/esm/client/actions/signTypedData.d.ts +37 -4
- package/dist/esm/client/actions/signTypedData.js +34 -1
- package/dist/esm/client/actions/signTypedData.js.map +1 -1
- package/dist/esm/client/client.e2e-test.js +210 -45
- package/dist/esm/client/client.e2e-test.js.map +1 -1
- package/dist/esm/client/decorator.d.ts +12 -8
- package/dist/esm/client/decorator.js +5 -3
- package/dist/esm/client/decorator.js.map +1 -1
- package/dist/esm/client/index.d.ts +38 -12
- package/dist/esm/client/index.js +0 -3
- package/dist/esm/client/index.js.map +1 -1
- package/dist/esm/exports/index.d.ts +5 -6
- package/dist/esm/exports/index.js +4 -6
- package/dist/esm/exports/index.js.map +1 -1
- package/dist/esm/exports/internal.d.ts +1 -10
- package/dist/esm/exports/internal.js +0 -12
- package/dist/esm/exports/internal.js.map +1 -1
- package/dist/esm/internal/decorator.d.ts +2 -0
- package/dist/esm/internal/decorator.js +10 -0
- package/dist/esm/internal/decorator.js.map +1 -0
- package/dist/esm/isomorphic/actions/createSession.d.ts +1 -2
- package/dist/esm/isomorphic/actions/createSession.js +39 -10
- package/dist/esm/isomorphic/actions/createSession.js.map +1 -1
- package/dist/esm/isomorphic/actions/formatSign.d.ts +8 -0
- package/dist/esm/isomorphic/actions/formatSign.js +42 -0
- package/dist/esm/isomorphic/actions/formatSign.js.map +1 -0
- package/dist/esm/isomorphic/actions/getCallsStatus.d.ts +1 -15
- package/dist/esm/isomorphic/actions/getCallsStatus.js +37 -26
- package/dist/esm/isomorphic/actions/getCallsStatus.js.map +1 -1
- package/dist/esm/isomorphic/actions/prepareCalls.d.ts +1 -2
- package/dist/esm/isomorphic/actions/prepareCalls.js +78 -20
- package/dist/esm/isomorphic/actions/prepareCalls.js.map +1 -1
- package/dist/esm/isomorphic/actions/prepareSign.d.ts +7 -0
- package/dist/esm/isomorphic/actions/prepareSign.js +49 -0
- package/dist/esm/isomorphic/actions/prepareSign.js.map +1 -0
- package/dist/esm/isomorphic/actions/sendPreparedCalls.d.ts +3 -4
- package/dist/esm/isomorphic/actions/sendPreparedCalls.js +138 -25
- package/dist/esm/isomorphic/actions/sendPreparedCalls.js.map +1 -1
- package/dist/esm/isomorphic/client.d.ts +204 -27
- package/dist/esm/isomorphic/client.js +6 -2
- package/dist/esm/isomorphic/client.js.map +1 -1
- package/dist/esm/isomorphic/utils/7702.d.ts +19 -0
- package/dist/esm/isomorphic/utils/7702.js +70 -0
- package/dist/esm/isomorphic/utils/7702.js.map +1 -0
- package/dist/esm/isomorphic/utils/createAccount.d.ts +5 -4
- package/dist/esm/isomorphic/utils/createAccount.js +84 -10
- package/dist/esm/isomorphic/utils/createAccount.js.map +1 -1
- package/dist/esm/isomorphic/utils/createDummySigner.js +3 -3
- package/dist/esm/isomorphic/utils/createDummySigner.js.map +1 -1
- package/dist/esm/isomorphic/utils/decodeSignature.d.ts +3 -0
- package/dist/esm/isomorphic/utils/decodeSignature.js +15 -0
- package/dist/esm/isomorphic/utils/decodeSignature.js.map +1 -0
- package/dist/esm/isomorphic/utils/parsePermissionsContext.d.ts +6 -5
- package/dist/esm/isomorphic/utils/parsePermissionsContext.js +19 -6
- package/dist/esm/isomorphic/utils/parsePermissionsContext.js.map +1 -1
- package/dist/esm/isomorphic/utils/supportsFeature.d.ts +4 -0
- package/dist/esm/isomorphic/utils/supportsFeature.js +21 -0
- package/dist/esm/isomorphic/utils/supportsFeature.js.map +1 -0
- package/dist/esm/local/client.d.ts +3 -3
- package/dist/esm/local/client.js +11 -4
- package/dist/esm/local/client.js.map +1 -1
- package/dist/esm/remote/client.d.ts +9 -3
- package/dist/esm/remote/client.js +10 -11
- package/dist/esm/remote/client.js.map +1 -1
- package/dist/esm/types.d.ts +27 -13
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/utils.d.ts +1 -0
- package/dist/esm/utils.js.map +1 -1
- package/dist/types/client/actions/createAccount.d.ts +27 -2
- package/dist/types/client/actions/createAccount.d.ts.map +1 -1
- package/dist/types/client/actions/formatSign.d.ts +29 -0
- package/dist/types/client/actions/formatSign.d.ts.map +1 -0
- package/dist/types/client/actions/getCallsStatus.d.ts +22 -4
- package/dist/types/client/actions/getCallsStatus.d.ts.map +1 -1
- package/dist/types/client/actions/grantPermissions.d.ts +63 -6
- package/dist/types/client/actions/grantPermissions.d.ts.map +1 -1
- package/dist/types/client/actions/listAccounts.d.ts +32 -4
- package/dist/types/client/actions/listAccounts.d.ts.map +1 -1
- package/dist/types/client/actions/prepareCalls.d.ts +32 -6
- package/dist/types/client/actions/prepareCalls.d.ts.map +1 -1
- package/dist/types/client/actions/prepareSign.d.ts +26 -0
- package/dist/types/client/actions/prepareSign.d.ts.map +1 -0
- package/dist/types/client/actions/requestAccount.d.ts +24 -6
- package/dist/types/client/actions/requestAccount.d.ts.map +1 -1
- package/dist/types/client/actions/sendPreparedCalls.d.ts +33 -4
- package/dist/types/client/actions/sendPreparedCalls.d.ts.map +1 -1
- package/dist/types/client/actions/signMessage.d.ts +25 -5
- package/dist/types/client/actions/signMessage.d.ts.map +1 -1
- package/dist/types/client/actions/signPreparedCalls.d.ts +15 -0
- package/dist/types/client/actions/signPreparedCalls.d.ts.map +1 -0
- package/dist/types/client/actions/signSignatureRequest.d.ts +39 -5
- package/dist/types/client/actions/signSignatureRequest.d.ts.map +1 -1
- package/dist/types/client/actions/signTypedData.d.ts +37 -4
- package/dist/types/client/actions/signTypedData.d.ts.map +1 -1
- package/dist/types/client/decorator.d.ts +12 -8
- package/dist/types/client/decorator.d.ts.map +1 -1
- package/dist/types/client/index.d.ts +38 -12
- package/dist/types/client/index.d.ts.map +1 -1
- package/dist/types/exports/index.d.ts +5 -6
- package/dist/types/exports/index.d.ts.map +1 -1
- package/dist/types/exports/internal.d.ts +1 -10
- package/dist/types/exports/internal.d.ts.map +1 -1
- package/dist/types/internal/decorator.d.ts +3 -0
- package/dist/types/internal/decorator.d.ts.map +1 -0
- package/dist/types/isomorphic/actions/createSession.d.ts +1 -2
- package/dist/types/isomorphic/actions/createSession.d.ts.map +1 -1
- package/dist/types/isomorphic/actions/formatSign.d.ts +9 -0
- package/dist/types/isomorphic/actions/formatSign.d.ts.map +1 -0
- package/dist/types/isomorphic/actions/getCallsStatus.d.ts +1 -15
- package/dist/types/isomorphic/actions/getCallsStatus.d.ts.map +1 -1
- package/dist/types/isomorphic/actions/prepareCalls.d.ts +1 -2
- package/dist/types/isomorphic/actions/prepareCalls.d.ts.map +1 -1
- package/dist/types/isomorphic/actions/prepareSign.d.ts +8 -0
- package/dist/types/isomorphic/actions/prepareSign.d.ts.map +1 -0
- package/dist/types/isomorphic/actions/sendPreparedCalls.d.ts +3 -4
- package/dist/types/isomorphic/actions/sendPreparedCalls.d.ts.map +1 -1
- package/dist/types/isomorphic/client.d.ts +204 -27
- package/dist/types/isomorphic/client.d.ts.map +1 -1
- package/dist/types/isomorphic/utils/7702.d.ts +20 -0
- package/dist/types/isomorphic/utils/7702.d.ts.map +1 -0
- package/dist/types/isomorphic/utils/createAccount.d.ts +5 -4
- package/dist/types/isomorphic/utils/createAccount.d.ts.map +1 -1
- package/dist/types/isomorphic/utils/createDummySigner.d.ts.map +1 -1
- package/dist/types/isomorphic/utils/decodeSignature.d.ts +4 -0
- package/dist/types/isomorphic/utils/decodeSignature.d.ts.map +1 -0
- package/dist/types/isomorphic/utils/parsePermissionsContext.d.ts +6 -5
- package/dist/types/isomorphic/utils/parsePermissionsContext.d.ts.map +1 -1
- package/dist/types/isomorphic/utils/supportsFeature.d.ts +5 -0
- package/dist/types/isomorphic/utils/supportsFeature.d.ts.map +1 -0
- package/dist/types/local/client.d.ts +3 -3
- package/dist/types/local/client.d.ts.map +1 -1
- package/dist/types/remote/client.d.ts +9 -3
- package/dist/types/remote/client.d.ts.map +1 -1
- package/dist/types/types.d.ts +27 -13
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/utils.d.ts +1 -0
- package/dist/types/utils.d.ts.map +1 -1
- package/package.json +9 -6
- package/src/client/actions/createAccount.ts +27 -2
- package/src/client/actions/formatSign.ts +53 -0
- package/src/client/actions/getCallsStatus.ts +21 -12
- package/src/client/actions/grantPermissions.ts +69 -26
- package/src/client/actions/listAccounts.ts +44 -6
- package/src/client/actions/prepareCalls.ts +46 -26
- package/src/client/actions/prepareSign.ts +46 -0
- package/src/client/actions/requestAccount.ts +60 -41
- package/src/client/actions/sendPreparedCalls.ts +44 -7
- package/src/client/actions/signMessage.ts +26 -21
- package/src/client/actions/signPreparedCalls.ts +67 -0
- package/src/client/actions/signSignatureRequest.ts +84 -20
- package/src/client/actions/signTypedData.ts +40 -19
- package/src/client/client.e2e-test.ts +256 -54
- package/src/client/decorator.ts +28 -26
- package/src/client/index.ts +50 -40
- package/src/exports/index.ts +5 -13
- package/src/exports/internal.ts +2 -10
- package/src/internal/decorator.ts +12 -0
- package/src/isomorphic/actions/createSession.ts +55 -12
- package/src/isomorphic/actions/formatSign.ts +76 -0
- package/src/isomorphic/actions/getCallsStatus.ts +46 -32
- package/src/isomorphic/actions/prepareCalls.ts +95 -23
- package/src/isomorphic/actions/prepareSign.ts +91 -0
- package/src/isomorphic/actions/sendPreparedCalls.ts +181 -42
- package/src/isomorphic/client.ts +10 -2
- package/src/isomorphic/utils/7702.ts +135 -0
- package/src/isomorphic/utils/createAccount.ts +101 -13
- package/src/isomorphic/utils/createDummySigner.ts +3 -2
- package/src/isomorphic/utils/decodeSignature.ts +21 -0
- package/src/isomorphic/utils/parsePermissionsContext.ts +29 -11
- package/src/isomorphic/utils/supportsFeature.ts +34 -0
- package/src/local/client.ts +58 -55
- package/src/remote/client.ts +19 -19
- package/src/types.ts +29 -23
- package/src/utils.ts +2 -0
- package/dist/esm/capabilities/index.d.ts +0 -31
- package/dist/esm/capabilities/index.js +0 -10
- package/dist/esm/capabilities/index.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 -138
- package/dist/esm/capabilities/permissions/index.js +0 -71
- 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 -79
- package/dist/esm/capabilities/permissions/mav2.js.map +0 -1
- package/dist/esm/rpc/request.d.ts +0 -352
- package/dist/esm/rpc/request.js +0 -204
- package/dist/esm/rpc/request.js.map +0 -1
- package/dist/esm/rpc/schema.d.ts +0 -342
- package/dist/esm/rpc/schema.js +0 -5
- package/dist/esm/rpc/schema.js.map +0 -1
- package/dist/esm/schemas.d.ts +0 -216
- package/dist/esm/schemas.js +0 -211
- package/dist/esm/schemas.js.map +0 -1
- package/dist/types/capabilities/index.d.ts +0 -32
- package/dist/types/capabilities/index.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 -139
- 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/rpc/request.d.ts +0 -353
- package/dist/types/rpc/request.d.ts.map +0 -1
- package/dist/types/rpc/schema.d.ts +0 -343
- package/dist/types/rpc/schema.d.ts.map +0 -1
- package/dist/types/schemas.d.ts +0 -217
- package/dist/types/schemas.d.ts.map +0 -1
- package/src/capabilities/index.ts +0 -13
- package/src/capabilities/overrides.ts +0 -20
- package/src/capabilities/paymaster.ts +0 -5
- package/src/capabilities/permissions/index.ts +0 -142
- package/src/capabilities/permissions/mav2.ts +0 -127
- package/src/rpc/request.ts +0 -273
- package/src/rpc/schema.ts +0 -40
- package/src/schemas.ts +0 -257
|
@@ -1,27 +1,45 @@
|
|
|
1
1
|
import type { StaticDecode } from "@sinclair/typebox";
|
|
2
2
|
import { InvalidRequestError } from "ox/RpcResponse";
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import
|
|
3
|
+
import type { Address } from "viem";
|
|
4
|
+
import { getAccountTypeForDelegationAddress7702 } from "./7702.js";
|
|
5
|
+
import {
|
|
6
|
+
decodePermissionsContext,
|
|
7
|
+
PermissionsCapability,
|
|
8
|
+
} from "@alchemy/wallet-api-types/capabilities";
|
|
9
|
+
import { TypeSerializedInitcode } from "@alchemy/wallet-api-types";
|
|
6
10
|
|
|
7
11
|
export function parsePermissionsContext(
|
|
8
|
-
|
|
9
|
-
parsedCi
|
|
12
|
+
permissions?: StaticDecode<typeof PermissionsCapability>,
|
|
13
|
+
parsedCi?: StaticDecode<typeof TypeSerializedInitcode> | undefined,
|
|
14
|
+
delegation7702?: Address,
|
|
10
15
|
) {
|
|
11
|
-
if (!
|
|
16
|
+
if (!permissions) {
|
|
12
17
|
return undefined;
|
|
13
18
|
}
|
|
14
19
|
|
|
15
|
-
if (
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
20
|
+
if ("sessionId" in permissions) {
|
|
21
|
+
throw new InvalidRequestError({
|
|
22
|
+
message: "Remote permissions are not supported in isomorphic client",
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (!("context" in permissions)) {
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const isMAV2 =
|
|
31
|
+
(parsedCi && parsedCi.factoryType === "MAv2.0.0-sma-b") ||
|
|
32
|
+
(delegation7702 &&
|
|
33
|
+
getAccountTypeForDelegationAddress7702(delegation7702) ===
|
|
34
|
+
"ModularAccountV2");
|
|
35
|
+
|
|
36
|
+
if (!isMAV2) {
|
|
19
37
|
throw new InvalidRequestError({
|
|
20
38
|
message: "Permissions are currently only supported by MAv2 accounts",
|
|
21
39
|
});
|
|
22
40
|
}
|
|
23
41
|
|
|
24
|
-
const context = decodePermissionsContext(
|
|
42
|
+
const context = decodePermissionsContext(permissions);
|
|
25
43
|
|
|
26
44
|
if (context?.contextVersion === "REMOTE_MODE_DEFERRED_ACTION") {
|
|
27
45
|
throw new InvalidRequestError({
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { StaticDecode } from "@sinclair/typebox";
|
|
2
|
+
import type { TypeSerializedInitcode } from "@alchemy/wallet-api-types";
|
|
3
|
+
|
|
4
|
+
export type Feature = "permissions";
|
|
5
|
+
|
|
6
|
+
type FactoryType = StaticDecode<typeof TypeSerializedInitcode>["factoryType"];
|
|
7
|
+
|
|
8
|
+
const supportedFeatures: Record<FactoryType, Feature[]> = {
|
|
9
|
+
"LightAccountV1.0.1": [],
|
|
10
|
+
"LightAccountV1.0.2": [],
|
|
11
|
+
"LightAccountV1.1.0": [],
|
|
12
|
+
"LightAccountV2.0.0": [],
|
|
13
|
+
"LightAccountV2.0.0-MultiOwner": [],
|
|
14
|
+
"MAv1.0.0-MultiOwner": [],
|
|
15
|
+
"MAv1.0.0-MultiSig": [],
|
|
16
|
+
"MAv2.0.0-sma-b": ["permissions"],
|
|
17
|
+
"MAv2.0.0-ma-ssv": ["permissions"],
|
|
18
|
+
"MAv2.0.0-ma-webauthn": [],
|
|
19
|
+
unknown: [],
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export function supportsFeature(
|
|
23
|
+
counterfactualInfo: StaticDecode<typeof TypeSerializedInitcode>,
|
|
24
|
+
feature: Feature,
|
|
25
|
+
): boolean {
|
|
26
|
+
const factorySupportedFeatures =
|
|
27
|
+
supportedFeatures[counterfactualInfo.factoryType];
|
|
28
|
+
if (factorySupportedFeatures === undefined) {
|
|
29
|
+
throw new Error(
|
|
30
|
+
"Unsupported FactoryType: " + counterfactualInfo.factoryType,
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
return factorySupportedFeatures.includes(feature);
|
|
34
|
+
}
|
package/src/local/client.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { split } from "@aa-sdk/core";
|
|
2
2
|
import { buildDeferredActionDigest } from "@account-kit/smart-contracts/experimental";
|
|
3
|
-
import { createClient, custom, type Address
|
|
3
|
+
import { createClient, custom, type Address } from "viem";
|
|
4
4
|
import {
|
|
5
5
|
encodePermissionsContext,
|
|
6
6
|
prefixSignatureKeyType,
|
|
7
|
-
} from "
|
|
7
|
+
} from "@alchemy/wallet-api-types/capabilities";
|
|
8
8
|
import { signSignatureRequest } from "../client/actions/signSignatureRequest.js";
|
|
9
|
-
import
|
|
9
|
+
import { internalStateDecorator } from "../internal/decorator.js";
|
|
10
|
+
import type { PrepareCallsParams } from "../isomorphic/actions/prepareCalls.ts";
|
|
10
11
|
import {
|
|
11
12
|
createIsomorphicClient,
|
|
12
13
|
type IsomorphicClient,
|
|
@@ -15,7 +16,7 @@ import type {
|
|
|
15
16
|
CreateInnerClientParams,
|
|
16
17
|
InnerClientActions,
|
|
17
18
|
InnerWalletApiClient,
|
|
18
|
-
} from "../types";
|
|
19
|
+
} from "../types.ts";
|
|
19
20
|
import { assertNever } from "../utils.js";
|
|
20
21
|
|
|
21
22
|
const localMethods = [
|
|
@@ -27,10 +28,8 @@ const localMethods = [
|
|
|
27
28
|
type LocalMethod = (typeof localMethods)[number];
|
|
28
29
|
|
|
29
30
|
export function createLocalClient<
|
|
30
|
-
TAccount extends
|
|
31
|
-
|
|
32
|
-
| undefined,
|
|
33
|
-
>(params: CreateInnerClientParams<TAccount>): InnerWalletApiClient<TAccount>;
|
|
31
|
+
TAccount extends Address | undefined = Address | undefined,
|
|
32
|
+
>(params: CreateInnerClientParams<TAccount>): InnerWalletApiClient;
|
|
34
33
|
|
|
35
34
|
export function createLocalClient(
|
|
36
35
|
params: CreateInnerClientParams,
|
|
@@ -51,46 +50,51 @@ export function createLocalClient(
|
|
|
51
50
|
overrides: [
|
|
52
51
|
{
|
|
53
52
|
methods: localMethods,
|
|
54
|
-
transport: custom(
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
53
|
+
transport: custom(
|
|
54
|
+
{
|
|
55
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
56
|
+
async request(args: { method: LocalMethod; params: any }) {
|
|
57
|
+
switch (args.method) {
|
|
58
|
+
case "wallet_prepareCalls": {
|
|
59
|
+
const params = args.params[0] as PrepareCallsParams;
|
|
60
|
+
const capabilityPolicyId =
|
|
61
|
+
params.capabilities?.paymasterService?.policyId;
|
|
62
62
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
63
|
+
if (
|
|
64
|
+
capabilityPolicyId != null &&
|
|
65
|
+
policyId !== capabilityPolicyId &&
|
|
66
|
+
!clientMap[capabilityPolicyId]
|
|
67
|
+
) {
|
|
68
|
+
clientMap[capabilityPolicyId] = createIsomorphicClient({
|
|
69
|
+
transport,
|
|
70
|
+
chain,
|
|
71
|
+
policyId: capabilityPolicyId,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
74
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
75
|
+
const client =
|
|
76
|
+
clientMap[capabilityPolicyId ?? policyId ?? "default"];
|
|
77
|
+
return client.prepareCalls(params);
|
|
78
|
+
}
|
|
79
|
+
case "wallet_sendPreparedCalls":
|
|
80
|
+
return isomorphicClient.sendPreparedCalls(args.params[0]);
|
|
81
|
+
case "wallet_getCallsStatus":
|
|
82
|
+
return isomorphicClient.getCallsStatus(args.params[0]);
|
|
83
|
+
case "wallet_createSession": {
|
|
84
|
+
return isomorphicClient.createSession(args.params[0]);
|
|
85
|
+
}
|
|
86
|
+
default:
|
|
87
|
+
return assertNever(
|
|
88
|
+
args.method,
|
|
89
|
+
`Unexpected method: ${args.method}`,
|
|
90
|
+
);
|
|
85
91
|
}
|
|
86
|
-
|
|
87
|
-
return assertNever(
|
|
88
|
-
args.method,
|
|
89
|
-
`Unexpected method: ${args.method}`,
|
|
90
|
-
);
|
|
91
|
-
}
|
|
92
|
+
},
|
|
92
93
|
},
|
|
93
|
-
|
|
94
|
+
{
|
|
95
|
+
retryCount: 0,
|
|
96
|
+
},
|
|
97
|
+
),
|
|
94
98
|
},
|
|
95
99
|
],
|
|
96
100
|
fallback: transport,
|
|
@@ -100,10 +104,14 @@ export function createLocalClient(
|
|
|
100
104
|
transport: innerTransport,
|
|
101
105
|
chain,
|
|
102
106
|
account,
|
|
103
|
-
})
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
+
})
|
|
108
|
+
.extend(() => ({
|
|
109
|
+
policyId,
|
|
110
|
+
...innerClientActions(isomorphicClient),
|
|
111
|
+
}))
|
|
112
|
+
.extend(() => ({
|
|
113
|
+
internal: internalStateDecorator(),
|
|
114
|
+
}));
|
|
107
115
|
}
|
|
108
116
|
|
|
109
117
|
const innerClientActions = (
|
|
@@ -113,18 +121,13 @@ const innerClientActions = (
|
|
|
113
121
|
grantPermissions: async (signer, params) => {
|
|
114
122
|
const { signatureRequest, fullPreSignatureDeferredActionDigest } =
|
|
115
123
|
await isomorphicClient.createSession(params);
|
|
116
|
-
|
|
117
|
-
const { signature } = await signSignatureRequest(
|
|
118
|
-
signer,
|
|
119
|
-
signatureRequest,
|
|
120
|
-
);
|
|
121
|
-
|
|
124
|
+
const signature = await signSignatureRequest(signer, signatureRequest);
|
|
122
125
|
return {
|
|
123
126
|
context: encodePermissionsContext({
|
|
124
127
|
contextVersion: "LOCAL_MODE_DEFERRED_ACTION",
|
|
125
128
|
deferredAction: buildDeferredActionDigest({
|
|
126
129
|
fullPreSignatureDeferredActionDigest,
|
|
127
|
-
sig: prefixSignatureKeyType(signature,
|
|
130
|
+
sig: prefixSignatureKeyType(signature.data, signature.type),
|
|
128
131
|
}),
|
|
129
132
|
}),
|
|
130
133
|
};
|
package/src/remote/client.ts
CHANGED
|
@@ -1,20 +1,15 @@
|
|
|
1
1
|
import { Provider } from "ox";
|
|
2
|
-
import { createClient, custom, type Address
|
|
3
|
-
import { encodePermissionsContext } from "
|
|
2
|
+
import { createClient, custom, type Address } from "viem";
|
|
3
|
+
import { encodePermissionsContext } from "@alchemy/wallet-api-types/capabilities";
|
|
4
|
+
import { WalletServerRpcSchema } from "@alchemy/wallet-api-types/rpc";
|
|
4
5
|
import { signSignatureRequest } from "../client/actions/signSignatureRequest.js";
|
|
5
|
-
import {
|
|
6
|
+
import { internalStateDecorator } from "../internal/decorator.js";
|
|
6
7
|
import type {
|
|
7
8
|
CreateInnerClientParams,
|
|
8
9
|
InnerClientActions,
|
|
9
10
|
InnerWalletApiClient,
|
|
10
11
|
InnerWalletApiClientBase,
|
|
11
|
-
} from "../types";
|
|
12
|
-
|
|
13
|
-
export function createRemoteClient<
|
|
14
|
-
TAccount extends JsonRpcAccount<Address> | undefined =
|
|
15
|
-
| JsonRpcAccount<Address>
|
|
16
|
-
| undefined,
|
|
17
|
-
>(params: CreateInnerClientParams<TAccount>): InnerWalletApiClient<TAccount>;
|
|
12
|
+
} from "../types.ts";
|
|
18
13
|
|
|
19
14
|
/**
|
|
20
15
|
* This is a low-level client just used to make RPC requests in remote mode
|
|
@@ -22,6 +17,10 @@ export function createRemoteClient<
|
|
|
22
17
|
* that uses this client under the hood
|
|
23
18
|
* @returns
|
|
24
19
|
*/
|
|
20
|
+
export function createRemoteClient<
|
|
21
|
+
TAccount extends Address | undefined = Address | undefined,
|
|
22
|
+
>(params: CreateInnerClientParams<TAccount>): InnerWalletApiClient;
|
|
23
|
+
|
|
25
24
|
export function createRemoteClient(
|
|
26
25
|
params: CreateInnerClientParams,
|
|
27
26
|
): InnerWalletApiClient {
|
|
@@ -34,10 +33,14 @@ export function createRemoteClient(
|
|
|
34
33
|
),
|
|
35
34
|
chain,
|
|
36
35
|
account,
|
|
37
|
-
})
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
36
|
+
})
|
|
37
|
+
.extend((_client) => ({
|
|
38
|
+
policyId: params.policyId,
|
|
39
|
+
...innerClientActions(_client),
|
|
40
|
+
}))
|
|
41
|
+
.extend(() => ({
|
|
42
|
+
internal: internalStateDecorator(),
|
|
43
|
+
}));
|
|
41
44
|
|
|
42
45
|
return client;
|
|
43
46
|
}
|
|
@@ -51,15 +54,12 @@ const innerClientActions = (
|
|
|
51
54
|
method: "wallet_createSession",
|
|
52
55
|
params: [params],
|
|
53
56
|
});
|
|
54
|
-
const
|
|
55
|
-
signer,
|
|
56
|
-
signatureRequest,
|
|
57
|
-
);
|
|
57
|
+
const signature = await signSignatureRequest(signer, signatureRequest);
|
|
58
58
|
return {
|
|
59
59
|
context: encodePermissionsContext({
|
|
60
60
|
contextVersion: "REMOTE_MODE_DEFERRED_ACTION",
|
|
61
61
|
sessionId,
|
|
62
|
-
signature,
|
|
62
|
+
signature: signature.data,
|
|
63
63
|
}),
|
|
64
64
|
};
|
|
65
65
|
},
|
package/src/types.ts
CHANGED
|
@@ -1,47 +1,37 @@
|
|
|
1
|
+
import type { SmartAccountSigner, SmartContractAccount } from "@aa-sdk/core";
|
|
1
2
|
import type { AlchemyTransport } from "@account-kit/infra";
|
|
2
3
|
import type {
|
|
3
4
|
Address,
|
|
4
5
|
Chain,
|
|
5
6
|
Client,
|
|
6
7
|
Hex,
|
|
7
|
-
IsUndefined,
|
|
8
8
|
JsonRpcAccount,
|
|
9
9
|
Transport,
|
|
10
10
|
} from "viem";
|
|
11
|
-
import type { WalletServerViemRpcSchema } from "./rpc/schema";
|
|
12
|
-
import type { SmartAccountSigner } from "@aa-sdk/core";
|
|
13
11
|
import type {
|
|
14
12
|
GrantPermissionsParams,
|
|
15
13
|
GrantPermissionsResult,
|
|
16
|
-
} from "./client/actions/grantPermissions";
|
|
14
|
+
} from "./client/actions/grantPermissions.ts";
|
|
15
|
+
import type { RequestAccountParams } from "./client/actions/requestAccount.ts";
|
|
16
|
+
import type { WalletServerViemRpcSchema } from "@alchemy/wallet-api-types/rpc";
|
|
17
17
|
|
|
18
18
|
export type CreateInnerClientParams<
|
|
19
|
-
TAccount extends
|
|
20
|
-
| JsonRpcAccount<Address>
|
|
21
|
-
| undefined,
|
|
19
|
+
TAccount extends Address | undefined = Address | undefined,
|
|
22
20
|
> = {
|
|
23
21
|
chain: Chain;
|
|
24
22
|
transport: AlchemyTransport;
|
|
25
23
|
policyId?: string;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
account?: never;
|
|
29
|
-
}
|
|
30
|
-
: {
|
|
31
|
-
account: Address;
|
|
32
|
-
});
|
|
24
|
+
account?: TAccount | Address | undefined;
|
|
25
|
+
};
|
|
33
26
|
|
|
34
27
|
export type InnerWalletApiClientBase<
|
|
35
|
-
TAccount extends JsonRpcAccount<Address> | undefined =
|
|
36
|
-
| JsonRpcAccount<Address>
|
|
37
|
-
| undefined,
|
|
38
28
|
TExtend extends { [key: string]: unknown } | undefined =
|
|
39
29
|
| { [key: string]: unknown }
|
|
40
30
|
| undefined,
|
|
41
31
|
> = Client<
|
|
42
32
|
Transport,
|
|
43
33
|
Chain,
|
|
44
|
-
|
|
34
|
+
JsonRpcAccount<Address> | undefined,
|
|
45
35
|
WalletServerViemRpcSchema,
|
|
46
36
|
{ policyId?: string } & TExtend
|
|
47
37
|
>;
|
|
@@ -53,8 +43,24 @@ export type InnerClientActions = {
|
|
|
53
43
|
) => Promise<GrantPermissionsResult>;
|
|
54
44
|
};
|
|
55
45
|
|
|
56
|
-
export type
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
46
|
+
export type CachedAccount = {
|
|
47
|
+
account: SmartContractAccount;
|
|
48
|
+
requestParams: RequestAccountParams;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export type InternalState = {
|
|
52
|
+
setAccount: (account: CachedAccount) => void;
|
|
53
|
+
getAccount: () => CachedAccount | undefined;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export type InnerWalletApiClient = InnerWalletApiClientBase<
|
|
57
|
+
InnerClientActions & { internal: InternalState }
|
|
58
|
+
>;
|
|
59
|
+
|
|
60
|
+
export type WithoutChainId<T> = T extends { chainId: Hex }
|
|
61
|
+
? Omit<T, "chainId">
|
|
62
|
+
: T;
|
|
63
|
+
|
|
64
|
+
export type WithoutRawPayload<T> = T extends { rawPayload: Hex }
|
|
65
|
+
? Omit<T, "rawPayload">
|
|
66
|
+
: T;
|
package/src/utils.ts
CHANGED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
export declare const Capabilities: import("@sinclair/typebox").TObject<{
|
|
2
|
-
permissions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
3
|
-
context: import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">;
|
|
4
|
-
}>>;
|
|
5
|
-
paymasterService: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
6
|
-
policyId: import("@sinclair/typebox").TString;
|
|
7
|
-
}>>;
|
|
8
|
-
gasParamsOverride: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
9
|
-
preVerificationGas: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
|
|
10
|
-
multiplier: import("@sinclair/typebox").TNumber;
|
|
11
|
-
}>]>>;
|
|
12
|
-
verificationGasLimit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
|
|
13
|
-
multiplier: import("@sinclair/typebox").TNumber;
|
|
14
|
-
}>]>>;
|
|
15
|
-
callGasLimit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
|
|
16
|
-
multiplier: import("@sinclair/typebox").TNumber;
|
|
17
|
-
}>]>>;
|
|
18
|
-
paymasterVerificationGasLimit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
|
|
19
|
-
multiplier: import("@sinclair/typebox").TNumber;
|
|
20
|
-
}>]>>;
|
|
21
|
-
paymasterPostOpGasLimit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
|
|
22
|
-
multiplier: import("@sinclair/typebox").TNumber;
|
|
23
|
-
}>]>>;
|
|
24
|
-
maxFeePerGas: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
|
|
25
|
-
multiplier: import("@sinclair/typebox").TNumber;
|
|
26
|
-
}>]>>;
|
|
27
|
-
maxPriorityFeePerGas: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
|
|
28
|
-
multiplier: import("@sinclair/typebox").TNumber;
|
|
29
|
-
}>]>>;
|
|
30
|
-
}>>;
|
|
31
|
-
}>;
|
|
@@ -1,10 +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
|
-
export const Capabilities = Type.Object({
|
|
6
|
-
permissions: Type.Optional(PermissionsCapability),
|
|
7
|
-
paymasterService: Type.Optional(PaymasterCapability),
|
|
8
|
-
gasParamsOverride: Type.Optional(GasParamsOverrideCapability),
|
|
9
|
-
}, { minProperties: 1 });
|
|
10
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CACrC;IACE,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACjD,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IACpD,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC;CAC9D,EACD,EAAE,aAAa,EAAE,CAAC,EAAE,CACrB,CAAC","sourcesContent":["import { Type } from \"@sinclair/typebox\";\nimport { GasParamsOverrideCapability } from \"./overrides.js\";\nimport { PaymasterCapability } from \"./paymaster.js\";\nimport { PermissionsCapability } from \"./permissions/index.js\";\n\nexport const Capabilities = Type.Object(\n {\n permissions: Type.Optional(PermissionsCapability),\n paymasterService: Type.Optional(PaymasterCapability),\n gasParamsOverride: Type.Optional(GasParamsOverrideCapability),\n },\n { minProperties: 1 },\n);\n"]}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
export declare const Mutliplier: import("@sinclair/typebox").TObject<{
|
|
2
|
-
multiplier: import("@sinclair/typebox").TNumber;
|
|
3
|
-
}>;
|
|
4
|
-
export declare const GasParamsOverrideCapability: import("@sinclair/typebox").TObject<{
|
|
5
|
-
preVerificationGas: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
|
|
6
|
-
multiplier: import("@sinclair/typebox").TNumber;
|
|
7
|
-
}>]>>;
|
|
8
|
-
verificationGasLimit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
|
|
9
|
-
multiplier: import("@sinclair/typebox").TNumber;
|
|
10
|
-
}>]>>;
|
|
11
|
-
callGasLimit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
|
|
12
|
-
multiplier: import("@sinclair/typebox").TNumber;
|
|
13
|
-
}>]>>;
|
|
14
|
-
paymasterVerificationGasLimit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
|
|
15
|
-
multiplier: import("@sinclair/typebox").TNumber;
|
|
16
|
-
}>]>>;
|
|
17
|
-
paymasterPostOpGasLimit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
|
|
18
|
-
multiplier: import("@sinclair/typebox").TNumber;
|
|
19
|
-
}>]>>;
|
|
20
|
-
maxFeePerGas: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
|
|
21
|
-
multiplier: import("@sinclair/typebox").TNumber;
|
|
22
|
-
}>]>>;
|
|
23
|
-
maxPriorityFeePerGas: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TTemplateLiteralSyntax<"0x${string}">, import("@sinclair/typebox").TObject<{
|
|
24
|
-
multiplier: import("@sinclair/typebox").TNumber;
|
|
25
|
-
}>]>>;
|
|
26
|
-
}>;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Type } from "@sinclair/typebox";
|
|
2
|
-
import { TypeHex } from "../schemas.js";
|
|
3
|
-
export const Mutliplier = Type.Object({ multiplier: Type.Number() });
|
|
4
|
-
// This is still being defined in https://github.com/ethereum/ERCs/pull/947/files#diff-dab085f963ca621595044bcbc0922705aa38b69f5bf8770dcb3d0496a633efcfR158
|
|
5
|
-
export const GasParamsOverrideCapability = Type.Object({
|
|
6
|
-
preVerificationGas: Type.Optional(Type.Union([TypeHex(), Mutliplier])),
|
|
7
|
-
verificationGasLimit: Type.Optional(Type.Union([TypeHex(), Mutliplier])),
|
|
8
|
-
callGasLimit: Type.Optional(Type.Union([TypeHex(), Mutliplier])),
|
|
9
|
-
paymasterVerificationGasLimit: Type.Optional(Type.Union([TypeHex(), Mutliplier])),
|
|
10
|
-
paymasterPostOpGasLimit: Type.Optional(Type.Union([TypeHex(), Mutliplier])),
|
|
11
|
-
maxFeePerGas: Type.Optional(Type.Union([TypeHex(), Mutliplier])),
|
|
12
|
-
maxPriorityFeePerGas: Type.Optional(Type.Union([TypeHex(), Mutliplier])),
|
|
13
|
-
}, { minProperties: 1 });
|
|
14
|
-
//# sourceMappingURL=overrides.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../../src/capabilities/overrides.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAErE,2JAA2J;AAC3J,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC,MAAM,CACpD;IACE,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;IACtE,oBAAoB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;IACxE,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;IAChE,6BAA6B,EAAE,IAAI,CAAC,QAAQ,CAC1C,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC,CACpC;IACD,uBAAuB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;IAC3E,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;IAChE,oBAAoB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;CACzE,EACD,EAAE,aAAa,EAAE,CAAC,EAAE,CACrB,CAAC","sourcesContent":["import { Type } from \"@sinclair/typebox\";\nimport { TypeHex } from \"../schemas.js\";\n\nexport const Mutliplier = Type.Object({ multiplier: Type.Number() });\n\n// This is still being defined in https://github.com/ethereum/ERCs/pull/947/files#diff-dab085f963ca621595044bcbc0922705aa38b69f5bf8770dcb3d0496a633efcfR158\nexport const GasParamsOverrideCapability = Type.Object(\n {\n preVerificationGas: Type.Optional(Type.Union([TypeHex(), Mutliplier])),\n verificationGasLimit: Type.Optional(Type.Union([TypeHex(), Mutliplier])),\n callGasLimit: Type.Optional(Type.Union([TypeHex(), Mutliplier])),\n paymasterVerificationGasLimit: Type.Optional(\n Type.Union([TypeHex(), Mutliplier]),\n ),\n paymasterPostOpGasLimit: Type.Optional(Type.Union([TypeHex(), Mutliplier])),\n maxFeePerGas: Type.Optional(Type.Union([TypeHex(), Mutliplier])),\n maxPriorityFeePerGas: Type.Optional(Type.Union([TypeHex(), Mutliplier])),\n },\n { minProperties: 1 },\n);\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paymaster.js","sourceRoot":"","sources":["../../../src/capabilities/paymaster.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC;IAC7C,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE;CACxB,CAAC,CAAC","sourcesContent":["import { Type } from \"@sinclair/typebox\";\n\nexport const PaymasterCapability = Type.Object({\n policyId: Type.String(),\n});\n"]}
|