@zerodev/sdk 5.1.12 → 5.2.0-alpha-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/_cjs/accounts/kernel/abi/kernel_v_3_0_0/KernelAccountAbi.js +738 -0
- package/_cjs/accounts/kernel/abi/kernel_v_3_0_0/KernelAccountAbi.js.map +1 -0
- package/_cjs/accounts/kernel/abi/kernel_v_3_0_0/KernelModuleAbi.js +15 -0
- package/_cjs/accounts/kernel/abi/kernel_v_3_0_0/KernelModuleAbi.js.map +1 -0
- package/_cjs/accounts/kernel/createKernelAccount.js +231 -75
- package/_cjs/accounts/kernel/createKernelAccount.js.map +1 -1
- package/_cjs/accounts/kernel/v1/createKernelV1Account.js +29 -18
- package/_cjs/accounts/kernel/v1/createKernelV1Account.js.map +1 -1
- package/_cjs/accounts/utils/6492.js +19 -3
- package/_cjs/accounts/utils/6492.js.map +1 -1
- package/_cjs/accounts/utils/index.js +4 -3
- package/_cjs/accounts/utils/index.js.map +1 -1
- package/_cjs/accounts/utils/toKernelPluginManager.js +194 -62
- package/_cjs/accounts/utils/toKernelPluginManager.js.map +1 -1
- package/_cjs/actions/account-client/signUserOperation.js +1 -1
- package/_cjs/actions/account-client/signUserOperation.js.map +1 -1
- package/_cjs/actions/paymaster/estimateGasInERC20.js.map +1 -1
- package/_cjs/actions/paymaster/sponsorUserOperation.js +17 -14
- package/_cjs/actions/paymaster/sponsorUserOperation.js.map +1 -1
- package/_cjs/clients/decorators/kernel.js +8 -5
- package/_cjs/clients/decorators/kernel.js.map +1 -1
- package/_cjs/clients/kernelAccountClient.js +3 -3
- package/_cjs/clients/kernelAccountClient.js.map +1 -1
- package/_cjs/clients/paymasterClient.js +1 -1
- package/_cjs/clients/paymasterClient.js.map +1 -1
- package/_cjs/constants.js +28 -3
- package/_cjs/constants.js.map +1 -1
- package/_cjs/index.js +5 -1
- package/_cjs/index.js.map +1 -1
- package/_cjs/providers/KernelEIP1193Provider.js.map +1 -1
- package/_cjs/types/kernel.js.map +1 -1
- package/_cjs/utils.js +34 -3
- package/_cjs/utils.js.map +1 -1
- package/_esm/accounts/kernel/abi/kernel_v_3_0_0/KernelAccountAbi.js +735 -0
- package/_esm/accounts/kernel/abi/kernel_v_3_0_0/KernelAccountAbi.js.map +1 -0
- package/_esm/accounts/kernel/abi/kernel_v_3_0_0/KernelModuleAbi.js +12 -0
- package/_esm/accounts/kernel/abi/kernel_v_3_0_0/KernelModuleAbi.js.map +1 -0
- package/_esm/accounts/kernel/createKernelAccount.js +240 -81
- package/_esm/accounts/kernel/createKernelAccount.js.map +1 -1
- package/_esm/accounts/kernel/v1/createKernelV1Account.js +37 -20
- package/_esm/accounts/kernel/v1/createKernelV1Account.js.map +1 -1
- package/_esm/accounts/utils/6492.js +16 -1
- package/_esm/accounts/utils/6492.js.map +1 -1
- package/_esm/accounts/utils/index.js +2 -4
- package/_esm/accounts/utils/index.js.map +1 -1
- package/_esm/accounts/utils/toKernelPluginManager.js +198 -66
- package/_esm/accounts/utils/toKernelPluginManager.js.map +1 -1
- package/_esm/actions/account-client/signUserOperation.js +1 -1
- package/_esm/actions/account-client/signUserOperation.js.map +1 -1
- package/_esm/actions/paymaster/estimateGasInERC20.js.map +1 -1
- package/_esm/actions/paymaster/sponsorUserOperation.js +37 -15
- package/_esm/actions/paymaster/sponsorUserOperation.js.map +1 -1
- package/_esm/clients/decorators/kernel.js +9 -5
- package/_esm/clients/decorators/kernel.js.map +1 -1
- package/_esm/clients/kernelAccountClient.js +3 -3
- package/_esm/clients/kernelAccountClient.js.map +1 -1
- package/_esm/clients/paymasterClient.js +1 -1
- package/_esm/clients/paymasterClient.js.map +1 -1
- package/_esm/constants.js +27 -2
- package/_esm/constants.js.map +1 -1
- package/_esm/index.js +1 -0
- package/_esm/index.js.map +1 -1
- package/_esm/providers/KernelEIP1193Provider.js.map +1 -1
- package/_esm/types/kernel.js +1 -0
- package/_esm/types/kernel.js.map +1 -1
- package/_esm/utils.js +33 -4
- package/_esm/utils.js.map +1 -1
- package/_types/accounts/kernel/abi/kernel_v_3_0_0/KernelAccountAbi.d.ts +843 -0
- package/_types/accounts/kernel/abi/kernel_v_3_0_0/KernelAccountAbi.d.ts.map +1 -0
- package/_types/accounts/kernel/abi/kernel_v_3_0_0/KernelModuleAbi.d.ts +16 -0
- package/_types/accounts/kernel/abi/kernel_v_3_0_0/KernelModuleAbi.d.ts.map +1 -0
- package/_types/accounts/kernel/createKernelAccount.d.ts +14 -11
- package/_types/accounts/kernel/createKernelAccount.d.ts.map +1 -1
- package/_types/accounts/kernel/v1/createKernelV1Account.d.ts +5 -4
- package/_types/accounts/kernel/v1/createKernelV1Account.d.ts.map +1 -1
- package/_types/accounts/utils/6492.d.ts +3 -1
- package/_types/accounts/utils/6492.d.ts.map +1 -1
- package/_types/accounts/utils/index.d.ts +2 -4
- package/_types/accounts/utils/index.d.ts.map +1 -1
- package/_types/accounts/utils/toKernelPluginManager.d.ts +3 -2
- package/_types/accounts/utils/toKernelPluginManager.d.ts.map +1 -1
- package/_types/actions/account-client/signUserOperation.d.ts +7 -7
- package/_types/actions/account-client/signUserOperation.d.ts.map +1 -1
- package/_types/actions/paymaster/estimateGasInERC20.d.ts +3 -2
- package/_types/actions/paymaster/estimateGasInERC20.d.ts.map +1 -1
- package/_types/actions/paymaster/sponsorUserOperation.d.ts +7 -6
- package/_types/actions/paymaster/sponsorUserOperation.d.ts.map +1 -1
- package/_types/clients/decorators/kernel.d.ts +8 -7
- package/_types/clients/decorators/kernel.d.ts.map +1 -1
- package/_types/clients/kernelAccountClient.d.ts +101 -22
- package/_types/clients/kernelAccountClient.d.ts.map +1 -1
- package/_types/clients/paymasterClient.d.ts +6 -3
- package/_types/clients/paymasterClient.d.ts.map +1 -1
- package/_types/constants.d.ts +22 -1
- package/_types/constants.d.ts.map +1 -1
- package/_types/index.d.ts +1 -0
- package/_types/index.d.ts.map +1 -1
- package/_types/providers/KernelEIP1193Provider.d.ts +3 -2
- package/_types/providers/KernelEIP1193Provider.d.ts.map +1 -1
- package/_types/types/kernel.d.ts +44 -12
- package/_types/types/kernel.d.ts.map +1 -1
- package/_types/utils.d.ts +11 -2
- package/_types/utils.d.ts.map +1 -1
- package/accounts/kernel/abi/kernel_v_3_0_0/KernelAccountAbi.ts +736 -0
- package/accounts/kernel/abi/kernel_v_3_0_0/KernelModuleAbi.ts +11 -0
- package/accounts/kernel/createKernelAccount.ts +407 -104
- package/accounts/kernel/v1/createKernelV1Account.ts +67 -28
- package/accounts/utils/6492.ts +27 -1
- package/accounts/utils/index.ts +2 -4
- package/accounts/utils/toKernelPluginManager.ts +261 -80
- package/actions/account-client/signUserOperation.ts +25 -13
- package/actions/paymaster/estimateGasInERC20.ts +5 -4
- package/actions/paymaster/sponsorUserOperation.ts +104 -32
- package/clients/decorators/kernel.ts +44 -35
- package/clients/kernelAccountClient.ts +34 -25
- package/clients/paymasterClient.ts +10 -6
- package/constants.ts +25 -2
- package/index.ts +5 -0
- package/package.json +93 -92
- package/providers/KernelEIP1193Provider.ts +6 -3
- package/types/kernel.ts +96 -40
- package/utils.ts +52 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { deepHexlify } from "permissionless/utils";
|
|
1
|
+
import { ENTRYPOINT_ADDRESS_V06, deepHexlify } from "permissionless/utils";
|
|
2
2
|
import { KERNEL_ADDRESSES } from "../../accounts/index.js";
|
|
3
3
|
/**
|
|
4
4
|
* Returns paymasterAndData & updated gas parameters required to sponsor a userOperation.
|
|
@@ -19,21 +19,43 @@ export const sponsorUserOperation = async (client, args) => {
|
|
|
19
19
|
}
|
|
20
20
|
]
|
|
21
21
|
});
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
if (response.maxFeePerGas !== undefined &&
|
|
30
|
-
response.maxPriorityFeePerGas !== undefined) {
|
|
31
|
-
result = {
|
|
32
|
-
...result,
|
|
33
|
-
maxFeePerGas: BigInt(response.maxFeePerGas),
|
|
34
|
-
maxPriorityFeePerGas: BigInt(response.maxPriorityFeePerGas)
|
|
22
|
+
if (args.entryPoint === ENTRYPOINT_ADDRESS_V06) {
|
|
23
|
+
const responseV06 = response;
|
|
24
|
+
return {
|
|
25
|
+
paymasterAndData: responseV06.paymasterAndData,
|
|
26
|
+
preVerificationGas: BigInt(responseV06.preVerificationGas),
|
|
27
|
+
verificationGasLimit: BigInt(responseV06.verificationGasLimit),
|
|
28
|
+
callGasLimit: BigInt(responseV06.callGasLimit)
|
|
35
29
|
};
|
|
36
30
|
}
|
|
37
|
-
|
|
31
|
+
const responseV07 = response;
|
|
32
|
+
return {
|
|
33
|
+
callGasLimit: BigInt(responseV07.callGasLimit),
|
|
34
|
+
verificationGasLimit: BigInt(responseV07.verificationGasLimit),
|
|
35
|
+
preVerificationGas: BigInt(responseV07.preVerificationGas),
|
|
36
|
+
paymaster: responseV07.paymaster,
|
|
37
|
+
paymasterVerificationGasLimit: BigInt(responseV07.paymasterVerificationGasLimit),
|
|
38
|
+
paymasterPostOpGasLimit: BigInt(responseV07.paymasterPostOpGasLimit),
|
|
39
|
+
paymasterData: responseV07.paymasterData
|
|
40
|
+
};
|
|
41
|
+
// [TODO] Add gas price params in the response in permissionless
|
|
42
|
+
// let result: UserOperation<"v0.6"> = {
|
|
43
|
+
// ...args.userOperation,
|
|
44
|
+
// paymasterAndData: response.paymasterAndData,
|
|
45
|
+
// preVerificationGas: BigInt(response.preVerificationGas),
|
|
46
|
+
// verificationGasLimit: BigInt(response.verificationGasLimit),
|
|
47
|
+
// callGasLimit: BigInt(response.callGasLimit)
|
|
48
|
+
// }
|
|
49
|
+
// if (
|
|
50
|
+
// response.maxFeePerGas !== undefined &&
|
|
51
|
+
// response.maxPriorityFeePerGas !== undefined
|
|
52
|
+
// ) {
|
|
53
|
+
// result = {
|
|
54
|
+
// ...result,
|
|
55
|
+
// maxFeePerGas: BigInt(response.maxFeePerGas),
|
|
56
|
+
// maxPriorityFeePerGas: BigInt(response.maxPriorityFeePerGas)
|
|
57
|
+
// }
|
|
58
|
+
// }
|
|
59
|
+
// return result
|
|
38
60
|
};
|
|
39
61
|
//# sourceMappingURL=sponsorUserOperation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sponsorUserOperation.js","sourceRoot":"","sources":["../../../actions/paymaster/sponsorUserOperation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sponsorUserOperation.js","sourceRoot":"","sources":["../../../actions/paymaster/sponsorUserOperation.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAG1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AA2C1D;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACrC,MAA0C,EAC1C,IAAgD,EACG,EAAE;IACrD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAClC,MAAM,EAAE,yBAAyB;QACjC,MAAM,EAAE;YACJ;gBACI,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,EAAY;gBACnC,MAAM,EAAE,WAAW,CACf,IAAI,CAAC,aAAa,CAGrB;gBACD,iBAAiB,EACb,IAAI,CAAC,UAAU,IAAI,gBAAgB,CAAC,eAAe;gBACvD,YAAY,EAAE,IAAI,CAAC,QAAQ,IAAI;oBAC3B,YAAY,EAAE,IAAI,CAAC,QAAQ;iBAC9B;gBACD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,IAAI,KAAK;gBAClD,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI;aAC5C;SACJ;KACJ,CAAC,CAAA;IACF,IAAI,IAAI,CAAC,UAAU,KAAK,sBAAsB,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,QASnB,CAAA;QACD,OAAO;YACH,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;YAC9C,kBAAkB,EAAE,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC;YAC1D,oBAAoB,EAAE,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC;YAC9D,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC;SACH,CAAA;IACnD,CAAC;IACD,MAAM,WAAW,GAAG,QASnB,CAAA;IAED,OAAO;QACH,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC;QAC9C,oBAAoB,EAAE,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC;QAC9D,kBAAkB,EAAE,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC;QAC1D,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,6BAA6B,EAAE,MAAM,CACjC,WAAW,CAAC,6BAA6B,CAC5C;QACD,uBAAuB,EAAE,MAAM,CAAC,WAAW,CAAC,uBAAuB,CAAC;QACpE,aAAa,EAAE,WAAW,CAAC,aAAa;KACG,CAAA;IAC/C,gEAAgE;IAChE,wCAAwC;IACxC,6BAA6B;IAC7B,mDAAmD;IACnD,+DAA+D;IAC/D,mEAAmE;IACnE,kDAAkD;IAClD,IAAI;IACJ,OAAO;IACP,6CAA6C;IAC7C,kDAAkD;IAClD,MAAM;IACN,iBAAiB;IACjB,qBAAqB;IACrB,uDAAuD;IACvD,sEAAsE;IACtE,QAAQ;IACR,IAAI;IAEJ,gBAAgB;AACpB,CAAC,CAAA"}
|
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
import { smartAccountActions } from "permissionless";
|
|
2
|
+
import {} from "permissionless/actions/smartAccount";
|
|
2
3
|
import { signUserOperation } from "../../actions/index.js";
|
|
3
4
|
import { estimateGasInERC20 } from "../../actions/paymaster/estimateGasInERC20.js";
|
|
4
5
|
import { sponsorUserOperation } from "../../actions/paymaster/sponsorUserOperation.js";
|
|
5
|
-
export const zerodevPaymasterActions = (client) => ({
|
|
6
|
-
sponsorUserOperation: async (args) => sponsorUserOperation(client,
|
|
6
|
+
export const zerodevPaymasterActions = (entryPointAddress) => (client) => ({
|
|
7
|
+
sponsorUserOperation: async (args) => sponsorUserOperation(client, {
|
|
8
|
+
...args,
|
|
9
|
+
entryPoint: entryPointAddress
|
|
10
|
+
}),
|
|
7
11
|
estimateGasInERC20: async (args) => estimateGasInERC20(client, args)
|
|
8
12
|
});
|
|
9
|
-
export const kernelAccountClientActions = ({
|
|
10
|
-
...smartAccountActions({
|
|
13
|
+
export const kernelAccountClientActions = ({ middleware }) => (client) => ({
|
|
14
|
+
...smartAccountActions({ middleware })(client),
|
|
11
15
|
signUserOperation: (args) => signUserOperation(client, {
|
|
12
16
|
...args,
|
|
13
|
-
|
|
17
|
+
middleware
|
|
14
18
|
})
|
|
15
19
|
});
|
|
16
20
|
//# sourceMappingURL=kernel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../../clients/decorators/kernel.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../../clients/decorators/kernel.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAE9E,OAAO,EAAmB,MAAM,qCAAqC,CAAA;AAOrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAGH,kBAAkB,EACrB,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAGH,oBAAoB,EACvB,MAAM,iDAAiD,CAAA;AAexD,MAAM,CAAC,MAAM,uBAAuB,GAChC,CAAgC,iBAA6B,EAAE,EAAE,CACjE,CAAC,MAAc,EAA6C,EAAE,CAAC,CAAC;IAC5D,oBAAoB,EAAE,KAAK,EACvB,IAAoE,EACtE,EAAE,CACA,oBAAoB,CAAC,MAA4C,EAAE;QAC/D,GAAG,IAAI;QACP,UAAU,EAAE,iBAAiB;KAChC,CAAC;IACN,kBAAkB,EAAE,KAAK,EAAE,IAAkC,EAAE,EAAE,CAC7D,kBAAkB,CACd,MAA4C,EAC5C,IAAI,CACP;CACR,CAAC,CAAA;AA2BN,MAAM,CAAC,MAAM,0BAA0B,GACnC,CAAgC,EAAE,UAAU,EAA0B,EAAE,EAAE,CAC1E,CAOI,MAAiD,EACY,EAAE,CAAC,CAAC;IACjE,GAAG,mBAAmB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;IAC9C,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CACxB,iBAAiB,CACb,MAAM,EACN;QACI,GAAG,IAAI;QACP,UAAU;KAC6C,CAC9D;CACR,CAAC,CAAA"}
|
|
@@ -2,16 +2,16 @@ import { createClient } from "viem";
|
|
|
2
2
|
import {} from "../accounts/index.js";
|
|
3
3
|
import { kernelAccountClientActions } from "./decorators/kernel.js";
|
|
4
4
|
export const createKernelAccountClient = (parameters) => {
|
|
5
|
-
const { key = "Account", name = "Kernel Account Client",
|
|
5
|
+
const { key = "Account", name = "Kernel Account Client", bundlerTransport } = parameters;
|
|
6
6
|
const client = createClient({
|
|
7
7
|
...parameters,
|
|
8
8
|
key,
|
|
9
9
|
name,
|
|
10
|
-
transport: (opts) =>
|
|
10
|
+
transport: (opts) => bundlerTransport({ ...opts, retryCount: 0 }),
|
|
11
11
|
type: "kernelAccountClient"
|
|
12
12
|
});
|
|
13
13
|
return client.extend(kernelAccountClientActions({
|
|
14
|
-
|
|
14
|
+
middleware: parameters.middleware
|
|
15
15
|
}));
|
|
16
16
|
};
|
|
17
17
|
//# sourceMappingURL=kernelAccountClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernelAccountClient.js","sourceRoot":"","sources":["../../clients/kernelAccountClient.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"kernelAccountClient.js","sourceRoot":"","sources":["../../clients/kernelAccountClient.ts"],"names":[],"mappings":"AAIA,OAAO,EAKH,YAAY,EACf,MAAM,MAAM,CAAA;AACb,OAAO,EAA2B,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAEH,0BAA0B,EAC7B,MAAM,wBAAwB,CAAA;AAsC/B,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAQrC,UAKC,EACiE,EAAE;IACpE,MAAM,EACF,GAAG,GAAG,SAAS,EACf,IAAI,GAAG,uBAAuB,EAC9B,gBAAgB,EACnB,GAAG,UAAU,CAAA;IACd,MAAM,MAAM,GAAG,YAAY,CAAC;QACxB,GAAG,UAAU;QACb,GAAG;QACH,IAAI;QACJ,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QACjE,IAAI,EAAE,qBAAqB;KAC9B,CAAC,CAAA;IAEF,OAAO,MAAM,CAAC,MAAM,CAChB,0BAA0B,CAAC;QACvB,UAAU,EAAE,UAAU,CAAC,UAAU;KACpC,CAAC,CACiE,CAAA;AAC3E,CAAC,CAAA"}
|
|
@@ -25,6 +25,6 @@ export const createZeroDevPaymasterClient = (parameters) => {
|
|
|
25
25
|
name,
|
|
26
26
|
type: "zerodevPaymasterClient"
|
|
27
27
|
});
|
|
28
|
-
return client.extend(zerodevPaymasterActions);
|
|
28
|
+
return client.extend(zerodevPaymasterActions(parameters.entryPoint));
|
|
29
29
|
};
|
|
30
30
|
//# sourceMappingURL=paymasterClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paymasterClient.js","sourceRoot":"","sources":["../../clients/paymasterClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"paymasterClient.js","sourceRoot":"","sources":["../../clients/paymasterClient.ts"],"names":[],"mappings":"AACA,OAAO,EAMH,YAAY,EACf,MAAM,MAAM,CAAA;AAEb,OAAO,EAEH,uBAAuB,EAC1B,MAAM,wBAAwB,CAAA;AAS/B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAKxC,UAEC,EACiC,EAAE;IACpC,MAAM,EAAE,GAAG,GAAG,QAAQ,EAAE,IAAI,GAAG,0BAA0B,EAAE,GAAG,UAAU,CAAA;IACxE,MAAM,MAAM,GAAG,YAAY,CAAC;QACxB,GAAG,UAAU;QACb,GAAG;QACH,IAAI;QACJ,IAAI,EAAE,wBAAwB;KACjC,CAAC,CAAA;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAA;AACxE,CAAC,CAAA"}
|
package/_esm/constants.js
CHANGED
|
@@ -5,9 +5,34 @@ export const KernelImplToVersionMap = {
|
|
|
5
5
|
"0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5": "0.2.2",
|
|
6
6
|
"0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab": "0.2.3",
|
|
7
7
|
"0x5FC0236D6c88a65beD32EECDC5D60a5CAb377717": "0.2.3",
|
|
8
|
-
"0xd3082872F8B06073A021b4602e022d5A070d7cfC": "0.2.4"
|
|
8
|
+
"0xd3082872F8B06073A021b4602e022d5A070d7cfC": "0.2.4",
|
|
9
|
+
"0x079D5D8A3275A230AF743cB59c341Ff74B82488D": "0.3.0-beta"
|
|
9
10
|
};
|
|
10
11
|
export const TOKEN_ACTION = "0x2087C7FfD0d0DAE80a00EE74325aBF3449e0eaf1";
|
|
11
12
|
export const KERNEL_NAME = "Kernel";
|
|
12
|
-
export const LATEST_KERNEL_VERSION =
|
|
13
|
+
export const LATEST_KERNEL_VERSION = {
|
|
14
|
+
"v0.6": "0.2.4",
|
|
15
|
+
"v0.7": "0.3.0-beta"
|
|
16
|
+
};
|
|
17
|
+
export const VALIDATOR_TYPE = {
|
|
18
|
+
SUDO: "0x00",
|
|
19
|
+
SECONDARY: "0x01",
|
|
20
|
+
PERMISSION: "0x02"
|
|
21
|
+
};
|
|
22
|
+
export var VALIDATOR_MODE;
|
|
23
|
+
(function (VALIDATOR_MODE) {
|
|
24
|
+
VALIDATOR_MODE["DEFAULT"] = "0x00";
|
|
25
|
+
VALIDATOR_MODE["ENABLE"] = "0x01";
|
|
26
|
+
})(VALIDATOR_MODE || (VALIDATOR_MODE = {}));
|
|
27
|
+
export var CALL_TYPE;
|
|
28
|
+
(function (CALL_TYPE) {
|
|
29
|
+
CALL_TYPE["SINGLE"] = "0x00";
|
|
30
|
+
CALL_TYPE["BATCH"] = "0x01";
|
|
31
|
+
CALL_TYPE["DELEGATE_CALL"] = "0xFF";
|
|
32
|
+
})(CALL_TYPE || (CALL_TYPE = {}));
|
|
33
|
+
export var EXEC_TYPE;
|
|
34
|
+
(function (EXEC_TYPE) {
|
|
35
|
+
EXEC_TYPE["DEFAULT"] = "0x00";
|
|
36
|
+
EXEC_TYPE["TRY_EXEC"] = "0x01";
|
|
37
|
+
})(EXEC_TYPE || (EXEC_TYPE = {}));
|
|
13
38
|
//# sourceMappingURL=constants.js.map
|
package/_esm/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,MAAM,MAAM,CAAA;AAEnC,MAAM,CAAC,MAAM,eAAe,GACxB,sIAAsI,CAAA;AAE1I,MAAM,CAAC,MAAM,sBAAsB,GAA+B;IAC9D,4CAA4C,EAAE,OAAO;IACrD,4CAA4C,EAAE,OAAO;IACrD,4CAA4C,EAAE,OAAO;IACrD,4CAA4C,EAAE,OAAO;IACrD,4CAA4C,EAAE,OAAO;IACrD,4CAA4C,EAAE,YAAY;CAC7D,CAAA;AACD,MAAM,CAAC,MAAM,YAAY,GAAG,4CAA4C,CAAA;AACxE,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAA;AACnC,MAAM,CAAC,MAAM,qBAAqB,GAA2C;IACzE,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,YAAY;CACvB,CAAA;AACD,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,MAAM;CACZ,CAAA;AACV,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,kCAAgB,CAAA;IAChB,iCAAe,CAAA;AACnB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AACD,MAAM,CAAN,IAAY,SAIX;AAJD,WAAY,SAAS;IACjB,4BAAe,CAAA;IACf,2BAAc,CAAA;IACd,mCAAsB,CAAA;AAC1B,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB;AACD,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACjB,6BAAgB,CAAA;IAChB,8BAAiB,CAAA;AACrB,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB"}
|
package/_esm/index.js
CHANGED
|
@@ -6,6 +6,7 @@ export { createKernelAccountClient } from "./clients/kernelAccountClient.js";
|
|
|
6
6
|
export {} from "./types/kernel.js";
|
|
7
7
|
export { KernelAccountAbi } from "./accounts/kernel/abi/KernelAccountAbi.js";
|
|
8
8
|
export { KernelFactoryAbi } from "./accounts/kernel/abi/KernelFactoryAbi.js";
|
|
9
|
+
export { KernelV3AccountAbi, KernelV3ExecuteAbi, KernelV3InitAbi } from "./accounts/kernel/abi/kernel_v_3_0_0/KernelAccountAbi.js";
|
|
9
10
|
export { TokenActionsAbi } from "./accounts/kernel/abi/TokenActionsAbi.js";
|
|
10
11
|
import * as constants_1 from "./constants.js";
|
|
11
12
|
export { constants_1 as constants };
|
package/_esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mBAAmB,EACnB,qBAAqB,EAErB,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACb,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACH,oBAAoB,EAGvB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EACH,uBAAuB,EAEvB,0BAA0B,EAE7B,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACH,4BAA4B,EAE/B,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACH,yBAAyB,EAE5B,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAIN,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAA;6BAC/C,gBAAgB;wBAA/B,SAAS;AACrB,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,iBAAiB,EAAwB,MAAM,wBAAwB,CAAA;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mBAAmB,EACnB,qBAAqB,EAErB,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACb,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACH,oBAAoB,EAGvB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EACH,uBAAuB,EAEvB,0BAA0B,EAE7B,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACH,4BAA4B,EAE/B,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACH,yBAAyB,EAE5B,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAIN,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EACH,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EAClB,MAAM,0DAA0D,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAA;6BAC/C,gBAAgB;wBAA/B,SAAS;AACrB,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,iBAAiB,EAAwB,MAAM,wBAAwB,CAAA;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KernelEIP1193Provider.js","sourceRoot":"","sources":["../../providers/KernelEIP1193Provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAA4B,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"KernelEIP1193Provider.js","sourceRoot":"","sources":["../../providers/KernelEIP1193Provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAA4B,MAAM,cAAc,CAAA;AAEvD,OAAO,EAKN,MAAM,MAAM,CAAA;AAEb,MAAM,OAAO,qBAEX,SAAQ,YAAY;IAGlB,YAAY,YAA6C;QACrD,KAAK,EAAE,CAAA;QAHH;;;;;WAA6C;QAIjD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EACV,MAAM,EACN,MAAM,GAAG,EAAE,EACK;QAChB,QAAQ,MAAM,EAAE,CAAC;YACb,KAAK,qBAAqB;gBACtB,OAAO,IAAI,CAAC,wBAAwB,EAAE,CAAA;YAC1C,KAAK,cAAc;gBACf,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAA;YACnC,KAAK,qBAAqB;gBACtB,OAAO,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAA;YAChD,KAAK,eAAe;gBAChB,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAA0B,CAAC,CAAA;YAC9D;gBACI,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;QACtE,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,wBAAwB;QAClC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAA;QACb,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC3B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAA;QACb,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,MAAe;QAClD,MAAM,CAAC,EAAE,CAAC,GAAG,MAAqC,CAAA;QAClD,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;IAChD,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC5B,MAAwB;QAExB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAC7C,CAAC;QACD,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,CAAA;QACjC,IACI,OAAO,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EACjD,CAAC;YACC,MAAM,IAAI,KAAK,CACX,yDAAyD,CAC5D,CAAA;QACL,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;YACjC,OAAO;YACP,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO;SACrC,CAAC,CAAA;IACN,CAAC;CACJ"}
|
package/_esm/types/kernel.js
CHANGED
package/_esm/types/kernel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../types/kernel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../types/kernel.ts"],"names":[],"mappings":"AAMA,OAAO,EAA6C,MAAM,MAAM,CAAA;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAuJhD,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,oCAAmB,CAAA;IACnB,sCAAqB,CAAA;IACrB,sCAAqB,CAAA;AACzB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB"}
|
package/_esm/utils.js
CHANGED
|
@@ -1,15 +1,35 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getEntryPointVersion } from "permissionless";
|
|
2
|
+
import { satisfies } from "semver";
|
|
3
|
+
import { concatHex, encodeFunctionData, erc20Abi, hexToSignature, isHex, pad, signatureToHex, zeroAddress } from "viem";
|
|
2
4
|
import { KERNEL_ADDRESSES } from "./accounts/index.js";
|
|
3
|
-
import { KernelImplToVersionMap, LATEST_KERNEL_VERSION } from "./constants.js";
|
|
4
|
-
export const getKernelVersion = (kernelImpl) => {
|
|
5
|
+
import { CALL_TYPE, EXEC_TYPE, KernelImplToVersionMap, LATEST_KERNEL_VERSION } from "./constants.js";
|
|
6
|
+
export const getKernelVersion = (entryPointAddress, kernelImpl) => {
|
|
7
|
+
const entryPointVersion = getEntryPointVersion(entryPointAddress);
|
|
5
8
|
if (!kernelImpl || kernelImpl === zeroAddress)
|
|
6
|
-
return LATEST_KERNEL_VERSION;
|
|
9
|
+
return LATEST_KERNEL_VERSION[entryPointVersion];
|
|
7
10
|
for (const [addr, ver] of Object.entries(KernelImplToVersionMap)) {
|
|
8
11
|
if (addr.toLowerCase() === kernelImpl.toLowerCase())
|
|
9
12
|
return ver;
|
|
10
13
|
}
|
|
11
14
|
return "0.2.1";
|
|
12
15
|
};
|
|
16
|
+
export var KERNEL_FEATURES;
|
|
17
|
+
(function (KERNEL_FEATURES) {
|
|
18
|
+
KERNEL_FEATURES["ERC1271_SIG_WRAPPER"] = "ERC1271_SIG_WRAPPER";
|
|
19
|
+
KERNEL_FEATURES["ERC1271_WITH_VALIDATOR"] = "ERC1271_WITH_VALIDATOR";
|
|
20
|
+
KERNEL_FEATURES["ERC1271_SIG_WRAPPER_WITH_WRAPPED_HASH"] = "ERC1271_SIG_WRAPPER_WITH_WRAPPED_HASH";
|
|
21
|
+
})(KERNEL_FEATURES || (KERNEL_FEATURES = {}));
|
|
22
|
+
const KERNEL_FEATURES_BY_VERSION = {
|
|
23
|
+
[KERNEL_FEATURES.ERC1271_SIG_WRAPPER]: ">=0.2.3 || >=0.3.0-beta",
|
|
24
|
+
[KERNEL_FEATURES.ERC1271_WITH_VALIDATOR]: ">=0.3.0-beta",
|
|
25
|
+
[KERNEL_FEATURES.ERC1271_SIG_WRAPPER_WITH_WRAPPED_HASH]: ">=0.3.0-beta"
|
|
26
|
+
};
|
|
27
|
+
export const hasKernelFeature = (feature, version) => {
|
|
28
|
+
if (!(feature in KERNEL_FEATURES_BY_VERSION)) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
return satisfies(version, KERNEL_FEATURES_BY_VERSION[feature]);
|
|
32
|
+
};
|
|
13
33
|
export const getERC20PaymasterApproveCall = async (client, { gasToken, approveAmount }) => {
|
|
14
34
|
const response = await client.request({
|
|
15
35
|
method: "zd_pm_accounts",
|
|
@@ -44,4 +64,13 @@ export const fixSignedData = (sig) => {
|
|
|
44
64
|
const joined = signatureToHex({ r, s, v });
|
|
45
65
|
return joined;
|
|
46
66
|
};
|
|
67
|
+
export const getExecMode = (callType, execType) => {
|
|
68
|
+
return concatHex([
|
|
69
|
+
callType, // 1 byte
|
|
70
|
+
execType, // 1 byte
|
|
71
|
+
"0x00000000", // 4 bytes
|
|
72
|
+
"0x00000000", // 4 bytes
|
|
73
|
+
pad("0x00000000", { size: 22 })
|
|
74
|
+
]);
|
|
75
|
+
};
|
|
47
76
|
//# sourceMappingURL=utils.js.map
|
package/_esm/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,kBAAkB,EAClB,QAAQ,EACR,cAAc,EACd,KAAK,EACL,cAAc,EACd,WAAW,EACd,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../utils.ts"],"names":[],"mappings":"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"}
|