@zerodev/sdk 4.0.14 → 4.0.16
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/cjs/kernel-zerodev/ethers-provider/ethers-provider.js +13 -4
- package/dist/cjs/kernel-zerodev/ethers-provider/ethers-provider.js.map +1 -1
- package/dist/cjs/kernel-zerodev/owner/passkey/utils.d.ts +1 -2
- package/dist/cjs/kernel-zerodev/owner/passkey/utils.js +16 -16
- package/dist/cjs/kernel-zerodev/owner/passkey/utils.js.map +1 -1
- package/dist/cjs/kernel-zerodev/paymaster/token-paymaster.d.ts +1 -1
- package/dist/cjs/kernel-zerodev/paymaster/token-paymaster.js +3 -2
- package/dist/cjs/kernel-zerodev/paymaster/token-paymaster.js.map +1 -1
- package/dist/cjs/kernel-zerodev/provider.js +2 -0
- package/dist/cjs/kernel-zerodev/provider.js.map +1 -1
- package/dist/cjs/kernel-zerodev/validator/base.d.ts +0 -3
- package/dist/cjs/kernel-zerodev/validator/base.js +0 -7
- package/dist/cjs/kernel-zerodev/validator/base.js.map +1 -1
- package/dist/cjs/kernel-zerodev/validator-provider/base.js +11 -5
- package/dist/cjs/kernel-zerodev/validator-provider/base.js.map +1 -1
- package/dist/esm/kernel-zerodev/ethers-provider/ethers-provider.js +13 -4
- package/dist/esm/kernel-zerodev/ethers-provider/ethers-provider.js.map +1 -1
- package/dist/esm/kernel-zerodev/owner/passkey/utils.d.ts +1 -2
- package/dist/esm/kernel-zerodev/owner/passkey/utils.js +15 -15
- package/dist/esm/kernel-zerodev/owner/passkey/utils.js.map +1 -1
- package/dist/esm/kernel-zerodev/paymaster/token-paymaster.d.ts +1 -1
- package/dist/esm/kernel-zerodev/paymaster/token-paymaster.js +3 -2
- package/dist/esm/kernel-zerodev/paymaster/token-paymaster.js.map +1 -1
- package/dist/esm/kernel-zerodev/provider.js +2 -0
- package/dist/esm/kernel-zerodev/provider.js.map +1 -1
- package/dist/esm/kernel-zerodev/validator/base.d.ts +0 -3
- package/dist/esm/kernel-zerodev/validator/base.js +0 -7
- package/dist/esm/kernel-zerodev/validator/base.js.map +1 -1
- package/dist/esm/kernel-zerodev/validator-provider/base.js +11 -5
- package/dist/esm/kernel-zerodev/validator-provider/base.js.map +1 -1
- package/dist/types/kernel-zerodev/ethers-provider/ethers-provider.d.ts.map +1 -1
- package/dist/types/kernel-zerodev/owner/passkey/utils.d.ts +1 -2
- package/dist/types/kernel-zerodev/owner/passkey/utils.d.ts.map +1 -1
- package/dist/types/kernel-zerodev/paymaster/token-paymaster.d.ts +1 -1
- package/dist/types/kernel-zerodev/paymaster/token-paymaster.d.ts.map +1 -1
- package/dist/types/kernel-zerodev/provider.d.ts.map +1 -1
- package/dist/types/kernel-zerodev/validator/base.d.ts +0 -3
- package/dist/types/kernel-zerodev/validator/base.d.ts.map +1 -1
- package/dist/types/kernel-zerodev/validator-provider/base.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/kernel-zerodev/ethers-provider/ethers-provider.ts +16 -4
- package/src/kernel-zerodev/owner/passkey/utils.ts +31 -28
- package/src/kernel-zerodev/paymaster/token-paymaster.ts +5 -2
- package/src/kernel-zerodev/provider.ts +3 -0
- package/src/kernel-zerodev/validator/base.ts +0 -4
- package/src/kernel-zerodev/validator-provider/base.ts +14 -5
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import type { Hex, Signature } from "./types.js";
|
|
2
1
|
import type { SignTypedDataParams } from "@alchemy/aa-core";
|
|
3
2
|
export declare const publicKey = "public-key";
|
|
4
3
|
export declare const es256 = -7;
|
|
5
4
|
export declare const generateRandomBuffer: () => ArrayBuffer;
|
|
6
5
|
export declare const base64UrlEncode: (challenge: ArrayBuffer) => string;
|
|
7
|
-
export declare
|
|
6
|
+
export declare const signMessageImplementation: (msg: string, id: string, walletId: string, projectId: string, credentialId: string, apiUrl?: string) => Promise<`0x${string}`>;
|
|
8
7
|
export declare const signMessage: (msg: string | Uint8Array, id: string, walletId: string, projectId: string, credentialId: string, apiUrl?: string) => Promise<`0x${string}`>;
|
|
9
8
|
export declare const signTypedData: (params: SignTypedDataParams, id: string, walletId: string, projectId: string, credentialId: string, apiUrl?: string) => Promise<`0x${string}`>;
|
|
10
9
|
export declare function base64URLStringToBuffer(base64URLString: string): ArrayBuffer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/kernel-zerodev/owner/passkey/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/kernel-zerodev/owner/passkey/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAO5D,eAAO,MAAM,SAAS,eAAe,CAAC;AAEtC,eAAO,MAAM,KAAK,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB,QAAO,WAKvC,CAAC;AAEF,eAAO,MAAM,eAAe,cAAe,WAAW,KAAG,MAMxD,CAAC;AAEF,eAAO,MAAM,yBAAyB,QAC/B,MAAM,MACP,MAAM,YACA,MAAM,aACL,MAAM,gBACH,MAAM,4CAmDrB,CAAC;AAEF,eAAO,MAAM,WAAW,QACjB,MAAM,GAAG,UAAU,MACpB,MAAM,YACA,MAAM,aACL,MAAM,gBACH,MAAM,4CAWrB,CAAC;AAEF,eAAO,MAAM,aAAa,WAChB,mBAAmB,MACvB,MAAM,YACA,MAAM,aACL,MAAM,gBACH,MAAM,4CAYrB,CAAC;AAGF,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,MAAM,GAAG,WAAW,CAyB5E"}
|
|
@@ -7,7 +7,7 @@ import { type PaymasterAndBundlerProviders, type PaymasterConfig } from "./types
|
|
|
7
7
|
export declare class TokenPaymaster extends Paymaster {
|
|
8
8
|
protected paymasterConfig: PaymasterConfig<"TOKEN_PAYMASTER">;
|
|
9
9
|
constructor(provider: ZeroDevProvider, paymasterConfig: PaymasterConfig<"TOKEN_PAYMASTER">);
|
|
10
|
-
getPaymasterAddress(): Promise<Hex | undefined>;
|
|
10
|
+
getPaymasterAddress(paymasterProvider?: PaymasterAndBundlerProviders): Promise<Hex | undefined>;
|
|
11
11
|
decodeMainCallFromCallData(kernelAddress: PromiseOrValue<string>, callData: PromiseOrValue<BytesLike>): Promise<UserOperationCallDataWithDelegate | undefined>;
|
|
12
12
|
getERC20UserOp(struct: UserOperationStruct, mainCall: UserOperationCallDataWithDelegate, gasTokenAddress: Hex, paymasterAddress: Hex): Promise<UserOperationStruct | undefined>;
|
|
13
13
|
getPaymasterResponse(struct: UserOperationStruct, paymasterProvider?: PaymasterAndBundlerProviders, shouldOverrideFee?: boolean): Promise<UserOperationStruct | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-paymaster.d.ts","sourceRoot":"","sources":["../../../../src/kernel-zerodev/paymaster/token-paymaster.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,SAAS,EAEd,KAAK,mBAAmB,EACzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,KAAK,GAAG,EAAiD,MAAM,MAAM,CAAC;AAc/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAEL,KAAK,iCAAiC,EACvC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,eAAe,EACrB,MAAM,YAAY,CAAC;AAGpB,qBAAa,cAAe,SAAQ,SAAS;IAGzC,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC,iBAAiB,CAAC;gBAD7D,QAAQ,EAAE,eAAe,EACf,eAAe,EAAE,eAAe,CAAC,iBAAiB,CAAC;IAIzD,mBAAmB,
|
|
1
|
+
{"version":3,"file":"token-paymaster.d.ts","sourceRoot":"","sources":["../../../../src/kernel-zerodev/paymaster/token-paymaster.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,SAAS,EAEd,KAAK,mBAAmB,EACzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,KAAK,GAAG,EAAiD,MAAM,MAAM,CAAC;AAc/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAEL,KAAK,iCAAiC,EACvC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,eAAe,EACrB,MAAM,YAAY,CAAC;AAGpB,qBAAa,cAAe,SAAQ,SAAS;IAGzC,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC,iBAAiB,CAAC;gBAD7D,QAAQ,EAAE,eAAe,EACf,eAAe,EAAE,eAAe,CAAC,iBAAiB,CAAC;IAIzD,mBAAmB,CACvB,iBAAiB,CAAC,EAAE,4BAA4B,GAC/C,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;IAmBrB,0BAA0B,CAC9B,aAAa,EAAE,cAAc,CAAC,MAAM,CAAC,EACrC,QAAQ,EAAE,cAAc,CAAC,SAAS,CAAC,GAClC,OAAO,CAAC,iCAAiC,GAAG,SAAS,CAAC;IA2DnD,cAAc,CAClB,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,iCAAiC,EAC3C,eAAe,EAAE,GAAG,EACpB,gBAAgB,EAAE,GAAG,GACpB,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAgCrC,oBAAoB,CACxB,MAAM,EAAE,mBAAmB,EAC3B,iBAAiB,CAAC,EAAE,4BAA4B,EAChD,iBAAiB,CAAC,EAAE,OAAO,GAC1B,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;CA8C5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/kernel-zerodev/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,IAAI,EAET,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC3B,MAAM,MAAM,CAAC;AACd,OAAO,EAGL,KAAK,wBAAwB,EAE7B,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAK5B,oBAAoB,EACpB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EAAE,0BAA0B,EAAmB,MAAM,cAAc,CAAC;AAM3E,OAAO,KAAK,EACV,4BAA4B,EAC5B,eAAe,EACf,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,0BAA0B,CAAC;IACrC,eAAe,CAAC,EAAE,4BAA4B,CAAC;IAC/C,IAAI,CAAC,EAAE,wBAAwB,GAAG;QAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAChC,CAAC;CACH,CAAC;AAEF,oBAAY,SAAS;IACnB,IAAI,IAAI;IACR,YAAY,IAAI;CACjB;AAED,KAAK,wBAAwB,CAAC,CAAC,IAAI,CAAC,SAAS,qBAAqB,GAC9D,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,YAAY,GACvC,CAAC,SAAS,0BAA0B,GACpC,SAAS,CAAC,IAAI,GACd,KAAK,CAAC;AAEV,qBAAa,eAAgB,SAAQ,oBAAoB,CAAC,aAAa,CAAC;IACtE,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAC;gBAE5B,EACV,SAAS,EACT,KAAK,EACL,iBAAsC,EACtC,MAAoB,EACpB,OAAO,EACP,eAAe,EACf,IAAI,GACL,EAAE,qBAAqB;IA2BxB,YAAY,QAAO,MAAM,CAAmB;IAE5C,eAAe,YACJ,qBAAqB,cACnB,yBAAyB,qBAAqB,CAAC,KACzD,QAAQ,IAAI,CAAC,CAwBd;IAEF,iBAAiB,sFAIH,sBAAsB,8CAEjC,QAAQ,uBAAuB,CAAC,CA2GjC;IAEF,oBAAoB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;IAc3C,WAAW,CAAC,OAAO,EAAE,GAAG,GAAG,KAAK;IAsBhC,UAAU,EAAE,MAAM,0BAA0B,CAK1C;IAEF,4BAA4B,EAAE,mBAAmB,CAM/C;IAEF,2BAA2B,CAAC,MAAM,EAAE,eAAe,CAAC,eAAe,CAAC;;;IAUpE,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/kernel-zerodev/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,IAAI,EAET,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC3B,MAAM,MAAM,CAAC;AACd,OAAO,EAGL,KAAK,wBAAwB,EAE7B,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAK5B,oBAAoB,EACpB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EAAE,0BAA0B,EAAmB,MAAM,cAAc,CAAC;AAM3E,OAAO,KAAK,EACV,4BAA4B,EAC5B,eAAe,EACf,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,0BAA0B,CAAC;IACrC,eAAe,CAAC,EAAE,4BAA4B,CAAC;IAC/C,IAAI,CAAC,EAAE,wBAAwB,GAAG;QAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAChC,CAAC;CACH,CAAC;AAEF,oBAAY,SAAS;IACnB,IAAI,IAAI;IACR,YAAY,IAAI;CACjB;AAED,KAAK,wBAAwB,CAAC,CAAC,IAAI,CAAC,SAAS,qBAAqB,GAC9D,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,YAAY,GACvC,CAAC,SAAS,0BAA0B,GACpC,SAAS,CAAC,IAAI,GACd,KAAK,CAAC;AAEV,qBAAa,eAAgB,SAAQ,oBAAoB,CAAC,aAAa,CAAC;IACtE,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAC;gBAE5B,EACV,SAAS,EACT,KAAK,EACL,iBAAsC,EACtC,MAAoB,EACpB,OAAO,EACP,eAAe,EACf,IAAI,GACL,EAAE,qBAAqB;IA2BxB,YAAY,QAAO,MAAM,CAAmB;IAE5C,eAAe,YACJ,qBAAqB,cACnB,yBAAyB,qBAAqB,CAAC,KACzD,QAAQ,IAAI,CAAC,CAwBd;IAEF,iBAAiB,sFAIH,sBAAsB,8CAEjC,QAAQ,uBAAuB,CAAC,CA2GjC;IAEF,oBAAoB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;IAc3C,WAAW,CAAC,OAAO,EAAE,GAAG,GAAG,KAAK;IAsBhC,UAAU,EAAE,MAAM,0BAA0B,CAK1C;IAEF,4BAA4B,EAAE,mBAAmB,CAM/C;IAEF,2BAA2B,CAAC,MAAM,EAAE,eAAe,CAAC,eAAe,CAAC;;;IAUpE,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CA6BjE;CACH"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { type SignTypedDataParams, type SmartAccountSigner, type UserOperationRequest } from "@alchemy/aa-core";
|
|
2
2
|
import { type Chain, type Hex, type Address, type PublicClient, type Transport } from "viem";
|
|
3
|
-
import type { PaymasterAndBundlerProviders } from "../paymaster/types.js";
|
|
4
3
|
export declare enum ValidatorMode {
|
|
5
4
|
sudo = "0x00000000",
|
|
6
5
|
plugin = "0x00000001",
|
|
@@ -18,7 +17,6 @@ export interface KernelBaseValidatorParams {
|
|
|
18
17
|
executor?: Address;
|
|
19
18
|
selector?: Hex;
|
|
20
19
|
rpcUrl?: string;
|
|
21
|
-
bundlerProvider?: PaymasterAndBundlerProviders;
|
|
22
20
|
}
|
|
23
21
|
export type ValidatorPluginData = Required<Pick<KernelBaseValidatorParams, "executor" | "selector" | "validAfter" | "validUntil">>;
|
|
24
22
|
export declare abstract class KernelBaseValidator {
|
|
@@ -33,7 +31,6 @@ export declare abstract class KernelBaseValidator {
|
|
|
33
31
|
protected executor?: Address;
|
|
34
32
|
protected selector?: Hex;
|
|
35
33
|
protected rpcUrl?: string;
|
|
36
|
-
protected bundlerProvider?: PaymasterAndBundlerProviders;
|
|
37
34
|
publicClient?: PublicClient<Transport, Chain>;
|
|
38
35
|
constructor(params: KernelBaseValidatorParams);
|
|
39
36
|
abstract encodeEnable(enableData: Hex): Hex;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator/base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,GAAG,EAGR,KAAK,OAAO,EAGZ,KAAK,YAAY,EACjB,KAAK,SAAS,EAGf,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator-provider/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,4BAA4B,EAC5B,eAAe,EACf,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,KAAK,wBAAwB,EAE9B,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,MAAM,2BAA2B,CAAC,CAAC,SAAS,yBAAyB,IAAI;IAC7E,eAAe,CAAC,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IACnD,cAAc,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAChD,aAAa,CAAC,EAAE,IAAI,CAClB,wBAAwB,EACxB,MAAM,+BAA+B,CAAC,CAAC,CAAC,CACzC,CAAC;IACF,eAAe,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,+BAA+B,CAAC,CAAC,CAAC,CAAC,CAAC;CACrE,CAAC;AAEF,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,yBAAyB;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,4BAA4B,CAAC;IAC/C,IAAI,CAAC,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAC;IACtC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,iBAAiB,CACjC,mBAAmB,EACnB,yBAAyB,CAC1B,CAAC;CACH;AAED,MAAM,MAAM,+BAA+B,CACzC,CAAC,SAAS,yBAAyB,IACjC,uBAAuB,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;AAIlD,8BAAsB,iBAAiB,CACrC,CAAC,SAAS,mBAAmB,EAC7B,CAAC,SAAS,yBAAyB,CACnC,SAAQ,eAAe;IACvB,SAAS,CAAC,eAAe,CAAC,EAAE,iBAAiB,CAC3C,mBAAmB,EACnB,yBAAyB,CAC1B,CAAC;gBAEA,MAAM,EAAE,+BAA+B,CAAC,CAAC,CAAC,EAC1C,SAAS,EAAE,mBAAmB;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator-provider/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,4BAA4B,EAC5B,eAAe,EACf,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,KAAK,wBAAwB,EAE9B,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,MAAM,2BAA2B,CAAC,CAAC,SAAS,yBAAyB,IAAI;IAC7E,eAAe,CAAC,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IACnD,cAAc,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAChD,aAAa,CAAC,EAAE,IAAI,CAClB,wBAAwB,EACxB,MAAM,+BAA+B,CAAC,CAAC,CAAC,CACzC,CAAC;IACF,eAAe,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,+BAA+B,CAAC,CAAC,CAAC,CAAC,CAAC;CACrE,CAAC;AAEF,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,yBAAyB;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,4BAA4B,CAAC;IAC/C,IAAI,CAAC,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAC;IACtC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,iBAAiB,CACjC,mBAAmB,EACnB,yBAAyB,CAC1B,CAAC;CACH;AAED,MAAM,MAAM,+BAA+B,CACzC,CAAC,SAAS,yBAAyB,IACjC,uBAAuB,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;AAIlD,8BAAsB,iBAAiB,CACrC,CAAC,SAAS,mBAAmB,EAC7B,CAAC,SAAS,yBAAyB,CACnC,SAAQ,eAAe;IACvB,SAAS,CAAC,eAAe,CAAC,EAAE,iBAAiB,CAC3C,mBAAmB,EACnB,yBAAyB,CAC1B,CAAC;gBAEA,MAAM,EAAE,+BAA+B,CAAC,CAAC,CAAC,EAC1C,SAAS,EAAE,mBAAmB;IA4ChC,YAAY,QAAO,CAAC,CAOlB;IAEF,oBAAoB,eAAsB,GAAG,KAAG,QAAQ,GAAG,CAAC,CAO1D;IAEF,qBAAqB,gBAAuB,GAAG,KAAG,QAAQ,GAAG,CAAC,CAO5D;IAEF,uBAAuB,eACT,GAAG,KACd,QAAQ,uBAAuB,CAAC,CAYjC;IAEF,wBAAwB,gBACT,GAAG,KACf,QAAQ,uBAAuB,CAAC,CAYjC;CACH"}
|
package/package.json
CHANGED
|
@@ -25,16 +25,28 @@ export class ZeroDevEthersProvider<
|
|
|
25
25
|
readonly accountProvider: ValidatorProviderTypeMap[V];
|
|
26
26
|
constructor(validatorType: V, params: ValidatorProviderParamsMap[V]) {
|
|
27
27
|
super();
|
|
28
|
-
let
|
|
29
|
-
|
|
28
|
+
let bundlerProvider = params.bundlerProvider;
|
|
29
|
+
const shouldUsePaymaster =
|
|
30
|
+
params.usePaymaster === undefined || params.usePaymaster;
|
|
31
|
+
if (
|
|
32
|
+
params.opts?.paymasterConfig &&
|
|
33
|
+
params.opts?.paymasterConfig.policy === "TOKEN_PAYMASTER" &&
|
|
34
|
+
shouldUsePaymaster
|
|
35
|
+
) {
|
|
36
|
+
bundlerProvider = "STACKUP";
|
|
37
|
+
}
|
|
38
|
+
let accountProvider = new ValidatorProviders[validatorType]({
|
|
39
|
+
...params,
|
|
40
|
+
bundlerProvider,
|
|
41
|
+
});
|
|
42
|
+
if (shouldUsePaymaster) {
|
|
30
43
|
let paymasterConfig = params.opts?.paymasterConfig ?? {
|
|
31
44
|
policy: "VERIFYING_PAYMASTER",
|
|
32
45
|
};
|
|
33
46
|
paymasterConfig = {
|
|
34
47
|
...paymasterConfig,
|
|
35
48
|
paymasterProvider:
|
|
36
|
-
params.opts?.paymasterConfig?.paymasterProvider ??
|
|
37
|
-
params.bundlerProvider,
|
|
49
|
+
params.opts?.paymasterConfig?.paymasterProvider ?? bundlerProvider,
|
|
38
50
|
};
|
|
39
51
|
accountProvider = withZeroDevPaymasterAndData(
|
|
40
52
|
accountProvider,
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { browserInit, TurnkeyApi } from "@turnkey/http";
|
|
2
2
|
import axios from "axios";
|
|
3
3
|
import { API_URL } from "../../constants.js";
|
|
4
|
-
import type { Hex, Signature } from "./types.js";
|
|
5
|
-
import { ethers } from "ethers";
|
|
6
4
|
import type { SignTypedDataParams } from "@alchemy/aa-core";
|
|
7
|
-
import { hashTypedData } from "viem";
|
|
5
|
+
import { hashTypedData, signatureToHex, hashMessage } from "viem";
|
|
8
6
|
|
|
9
7
|
browserInit({
|
|
10
8
|
baseUrl: "https://api.turnkey.com",
|
|
@@ -29,32 +27,15 @@ export const base64UrlEncode = (challenge: ArrayBuffer): string => {
|
|
|
29
27
|
.replace(/=/g, "");
|
|
30
28
|
};
|
|
31
29
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
// return `0x${new secp256k1.Signature(
|
|
35
|
-
// hexToBigInt(r),
|
|
36
|
-
// hexToBigInt(s),
|
|
37
|
-
// ).toCompactHex()}${toHex(v).slice(2)}`
|
|
38
|
-
// }
|
|
39
|
-
|
|
40
|
-
//ETHERS
|
|
41
|
-
export function signatureToHex({ r, s, v }: Signature): Hex {
|
|
42
|
-
return ethers.utils.joinSignature({
|
|
43
|
-
r: `0x${r}`,
|
|
44
|
-
s: `0x${s}`,
|
|
45
|
-
//@ts-expect-error
|
|
46
|
-
v: parseInt(v) + 27,
|
|
47
|
-
}) as Hex;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export const signMessage = async (
|
|
51
|
-
msg: string | Uint8Array,
|
|
30
|
+
export const signMessageImplementation = async (
|
|
31
|
+
msg: string,
|
|
52
32
|
id: string,
|
|
53
33
|
walletId: string,
|
|
54
34
|
projectId: string,
|
|
55
35
|
credentialId: string,
|
|
56
36
|
apiUrl = API_URL
|
|
57
37
|
) => {
|
|
38
|
+
console.log("SIGN MESSAGE IMPLEMENTATION")
|
|
58
39
|
const signedRequest = await TurnkeyApi.signSignRawPayload(
|
|
59
40
|
{
|
|
60
41
|
body: {
|
|
@@ -62,7 +43,7 @@ export const signMessage = async (
|
|
|
62
43
|
organizationId: id,
|
|
63
44
|
parameters: {
|
|
64
45
|
privateKeyId: walletId,
|
|
65
|
-
payload:
|
|
46
|
+
payload: msg,
|
|
66
47
|
encoding: "PAYLOAD_ENCODING_HEXADECIMAL",
|
|
67
48
|
hashFunction: "HASH_FUNCTION_NO_OP",
|
|
68
49
|
},
|
|
@@ -91,15 +72,37 @@ export const signMessage = async (
|
|
|
91
72
|
let result = activity?.result?.signRawPayloadResult;
|
|
92
73
|
|
|
93
74
|
if (result) {
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
|
|
75
|
+
const signatureHex = signatureToHex({
|
|
76
|
+
r: `0x${result.r}`,
|
|
77
|
+
s: `0x${result.s}`,
|
|
78
|
+
v: result.v === "00" ? 27n : 28n,
|
|
79
|
+
});
|
|
80
|
+
if (signatureHex) {
|
|
81
|
+
return signatureHex;
|
|
97
82
|
}
|
|
98
83
|
}
|
|
99
84
|
}
|
|
100
85
|
return "0x";
|
|
101
86
|
};
|
|
102
87
|
|
|
88
|
+
export const signMessage = async (
|
|
89
|
+
msg: string | Uint8Array,
|
|
90
|
+
id: string,
|
|
91
|
+
walletId: string,
|
|
92
|
+
projectId: string,
|
|
93
|
+
credentialId: string,
|
|
94
|
+
apiUrl = API_URL
|
|
95
|
+
) => {
|
|
96
|
+
return await signMessageImplementation(
|
|
97
|
+
hashMessage(typeof msg === 'string' ? msg : {raw: msg}),
|
|
98
|
+
id,
|
|
99
|
+
walletId,
|
|
100
|
+
projectId,
|
|
101
|
+
credentialId,
|
|
102
|
+
apiUrl
|
|
103
|
+
);
|
|
104
|
+
};
|
|
105
|
+
|
|
103
106
|
export const signTypedData = async (
|
|
104
107
|
params: SignTypedDataParams,
|
|
105
108
|
id: string,
|
|
@@ -109,7 +112,7 @@ export const signTypedData = async (
|
|
|
109
112
|
apiUrl = API_URL
|
|
110
113
|
) => {
|
|
111
114
|
const hashToSign = hashTypedData(params);
|
|
112
|
-
return await
|
|
115
|
+
return await signMessageImplementation(
|
|
113
116
|
hashToSign,
|
|
114
117
|
id,
|
|
115
118
|
walletId,
|
|
@@ -38,7 +38,9 @@ export class TokenPaymaster extends Paymaster {
|
|
|
38
38
|
) {
|
|
39
39
|
super(provider);
|
|
40
40
|
}
|
|
41
|
-
async getPaymasterAddress(
|
|
41
|
+
async getPaymasterAddress(
|
|
42
|
+
paymasterProvider?: PaymasterAndBundlerProviders
|
|
43
|
+
): Promise<Hex | undefined> {
|
|
42
44
|
const chainId = await getChainId(this.provider.getProjectId());
|
|
43
45
|
|
|
44
46
|
try {
|
|
@@ -47,6 +49,7 @@ export class TokenPaymaster extends Paymaster {
|
|
|
47
49
|
{
|
|
48
50
|
chainId,
|
|
49
51
|
entryPointAddress: ENTRYPOINT_ADDRESS,
|
|
52
|
+
paymasterProvider,
|
|
50
53
|
},
|
|
51
54
|
{ headers: { "Content-Type": "application/json" } }
|
|
52
55
|
);
|
|
@@ -176,7 +179,7 @@ export class TokenPaymaster extends Paymaster {
|
|
|
176
179
|
this.paymasterConfig.gasToken,
|
|
177
180
|
chainId
|
|
178
181
|
);
|
|
179
|
-
let paymasterAddress = await this.getPaymasterAddress();
|
|
182
|
+
let paymasterAddress = await this.getPaymasterAddress(paymasterProvider);
|
|
180
183
|
if (gasTokenAddress !== undefined && paymasterAddress !== undefined) {
|
|
181
184
|
const erc20UserOp = await this.getERC20UserOp(
|
|
182
185
|
struct,
|
|
@@ -323,6 +323,9 @@ export class ZeroDevProvider extends SmartAccountProvider<HttpTransport> {
|
|
|
323
323
|
case "eth_sendTransaction":
|
|
324
324
|
const [tx] = params as [RpcTransactionRequest];
|
|
325
325
|
return this.sendTransaction(tx);
|
|
326
|
+
case "eth_signTypedData_v4":
|
|
327
|
+
//@ts-expect-error
|
|
328
|
+
return this.signTypedData(JSON.parse(params[1]))
|
|
326
329
|
case "personal_sign":
|
|
327
330
|
if (!this.account) {
|
|
328
331
|
throw new Error("account not connected!");
|
|
@@ -24,7 +24,6 @@ import {
|
|
|
24
24
|
ECDSA_VALIDATOR_ADDRESS,
|
|
25
25
|
ENTRYPOINT_ADDRESS,
|
|
26
26
|
} from "../constants.js";
|
|
27
|
-
import type { PaymasterAndBundlerProviders } from "../paymaster/types.js";
|
|
28
27
|
import { polygonMumbai } from "viem/chains";
|
|
29
28
|
|
|
30
29
|
export enum ValidatorMode {
|
|
@@ -45,7 +44,6 @@ export interface KernelBaseValidatorParams {
|
|
|
45
44
|
executor?: Address;
|
|
46
45
|
selector?: Hex;
|
|
47
46
|
rpcUrl?: string;
|
|
48
|
-
bundlerProvider?: PaymasterAndBundlerProviders;
|
|
49
47
|
}
|
|
50
48
|
|
|
51
49
|
export type ValidatorPluginData = Required<
|
|
@@ -69,7 +67,6 @@ export abstract class KernelBaseValidator {
|
|
|
69
67
|
protected executor?: Address;
|
|
70
68
|
protected selector?: Hex;
|
|
71
69
|
protected rpcUrl?: string;
|
|
72
|
-
protected bundlerProvider?: PaymasterAndBundlerProviders;
|
|
73
70
|
publicClient?: PublicClient<Transport, Chain>;
|
|
74
71
|
|
|
75
72
|
constructor(params: KernelBaseValidatorParams) {
|
|
@@ -84,7 +81,6 @@ export abstract class KernelBaseValidator {
|
|
|
84
81
|
this.selector = params.selector;
|
|
85
82
|
this.chain = params.chain;
|
|
86
83
|
this.rpcUrl = params.rpcUrl ?? BUNDLER_URL;
|
|
87
|
-
this.bundlerProvider = params.bundlerProvider;
|
|
88
84
|
this.publicClient = createPublicClient({
|
|
89
85
|
transport: http(CHAIN_ID_TO_NODE[this.chain?.id ?? polygonMumbai.id]),
|
|
90
86
|
chain: this.chain ?? polygonMumbai,
|
|
@@ -57,12 +57,22 @@ export abstract class ValidatorProvider<
|
|
|
57
57
|
params: ExtendedValidatorProviderParams<P>,
|
|
58
58
|
validator: KernelBaseValidator
|
|
59
59
|
) {
|
|
60
|
+
let bundlerProvider = params.bundlerProvider;
|
|
61
|
+
const shouldUsePaymaster =
|
|
62
|
+
params.usePaymaster === undefined || params.usePaymaster;
|
|
63
|
+
if (
|
|
64
|
+
params.opts?.paymasterConfig &&
|
|
65
|
+
params.opts?.paymasterConfig.policy === "TOKEN_PAYMASTER" &&
|
|
66
|
+
shouldUsePaymaster
|
|
67
|
+
) {
|
|
68
|
+
bundlerProvider = "STACKUP";
|
|
69
|
+
}
|
|
60
70
|
super({
|
|
61
71
|
...params.opts?.providerConfig,
|
|
62
72
|
chain: params.opts?.providerConfig?.chain ?? polygonMumbai,
|
|
63
73
|
rpcUrl: params.opts?.providerConfig?.rpcUrl,
|
|
64
74
|
projectId: params.projectId,
|
|
65
|
-
bundlerProvider
|
|
75
|
+
bundlerProvider,
|
|
66
76
|
});
|
|
67
77
|
this.connect(
|
|
68
78
|
() =>
|
|
@@ -71,20 +81,19 @@ export abstract class ValidatorProvider<
|
|
|
71
81
|
validator,
|
|
72
82
|
defaultValidator: params.defaultProvider?.getValidator(),
|
|
73
83
|
rpcClient: this.rpcClient,
|
|
74
|
-
bundlerProvider
|
|
84
|
+
bundlerProvider,
|
|
75
85
|
index: params.defaultProvider?.getAccount().getIndex(),
|
|
76
86
|
...params.opts?.accountConfig,
|
|
77
87
|
})
|
|
78
88
|
);
|
|
79
|
-
if (
|
|
89
|
+
if (shouldUsePaymaster) {
|
|
80
90
|
let paymasterConfig = params.opts?.paymasterConfig ?? {
|
|
81
91
|
policy: "VERIFYING_PAYMASTER",
|
|
82
92
|
};
|
|
83
93
|
paymasterConfig = {
|
|
84
94
|
...paymasterConfig,
|
|
85
95
|
paymasterProvider:
|
|
86
|
-
params.opts?.paymasterConfig?.paymasterProvider ??
|
|
87
|
-
params.bundlerProvider,
|
|
96
|
+
params.opts?.paymasterConfig?.paymasterProvider ?? bundlerProvider,
|
|
88
97
|
};
|
|
89
98
|
withZeroDevPaymasterAndData(this, paymasterConfig);
|
|
90
99
|
}
|