@zerodev/sdk 5.4.12 → 5.4.14

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.
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getKernelVersion = void 0;
4
+ const viem_1 = require("viem");
5
+ const actions_1 = require("viem/actions");
6
+ const utils_1 = require("viem/utils");
7
+ const constants_1 = require("../../constants");
8
+ const getKernelVersion = async (client, args) => {
9
+ const { address } = args;
10
+ const storageValue = await (0, utils_1.getAction)(client, actions_1.getStorageAt, "getStorageAt")({
11
+ address,
12
+ slot: constants_1.KERNEL_IMPLEMENTATION_SLOT
13
+ });
14
+ if (!storageValue) {
15
+ throw new Error("Kernel version not found");
16
+ }
17
+ const addressSlice = (0, utils_1.slice)(storageValue, 12);
18
+ const addressHex = (0, utils_1.isHex)(addressSlice) ? addressSlice : (0, utils_1.toHex)(addressSlice);
19
+ const kernelImplementationAddress = (0, utils_1.getAddress)(addressHex);
20
+ if ((0, utils_1.isAddressEqual)(kernelImplementationAddress, viem_1.zeroAddress)) {
21
+ return null;
22
+ }
23
+ const kernelVersion = Object.keys(constants_1.KernelVersionToAddressesMap).find((version) => (0, utils_1.isAddressEqual)(constants_1.KernelVersionToAddressesMap[version].accountImplementationAddress, kernelImplementationAddress));
24
+ if (!kernelVersion) {
25
+ return null;
26
+ }
27
+ return kernelVersion;
28
+ };
29
+ exports.getKernelVersion = getKernelVersion;
30
+ //# sourceMappingURL=getKernelVersion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getKernelVersion.js","sourceRoot":"","sources":["../../../actions/public/getKernelVersion.ts"],"names":[],"mappings":";;;AAAA,+BAA6D;AAC7D,0CAA2C;AAC3C,sCAAuF;AACvF,+CAAyF;AA6BlF,MAAM,gBAAgB,GAAG,KAAK,EACjC,MAAc,EACd,IAA4B,EACO,EAAE;IACrC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IAExB,MAAM,YAAY,GAAG,MAAM,IAAA,iBAAS,EAChC,MAAM,EACN,sBAAY,EACZ,cAAc,CACjB,CAAC;QACE,OAAO;QACP,IAAI,EAAE,sCAA0B;KACnC,CAAC,CAAA;IACF,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAC/C,CAAC;IACD,MAAM,YAAY,GAAG,IAAA,aAAK,EAAC,YAAY,EAAE,EAAE,CAAC,CAAA;IAC5C,MAAM,UAAU,GAAG,IAAA,aAAK,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAA,aAAK,EAAC,YAAY,CAAC,CAAA;IAC3E,MAAM,2BAA2B,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAA;IAC1D,IAAI,IAAA,sBAAc,EAAC,2BAA2B,EAAE,kBAAW,CAAC,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAA;IACf,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,uCAA2B,CAAC,CAAC,IAAI,CAC/D,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,sBAAc,EAAC,uCAA2B,CAAC,OAA8B,CAAC,CAAC,4BAA4B,EAAE,2BAA2B,CAAC,CACrJ,CAAA;IACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACjB,OAAO,IAAI,CAAA;IACf,CAAC;IACD,OAAO,aAAoC,CAAA;AAC/C,CAAC,CAAA;AA9BY,QAAA,gBAAgB,oBA8B5B"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isPluginInstalled = exports.getKernelImplementationAddress = exports.isSmartAccountDeployed = exports.getSenderAddress = exports.getAccountNonce = void 0;
3
+ exports.isPluginInstalled = exports.getKernelVersion = exports.getKernelImplementationAddress = exports.isSmartAccountDeployed = exports.getSenderAddress = exports.getAccountNonce = void 0;
4
4
  var getAccountNonce_js_1 = require("./getAccountNonce.js");
5
5
  Object.defineProperty(exports, "getAccountNonce", { enumerable: true, get: function () { return getAccountNonce_js_1.getAccountNonce; } });
6
6
  var getSenderAddress_js_1 = require("./getSenderAddress.js");
@@ -9,6 +9,8 @@ var isSmartAccountDeployed_js_1 = require("./isSmartAccountDeployed.js");
9
9
  Object.defineProperty(exports, "isSmartAccountDeployed", { enumerable: true, get: function () { return isSmartAccountDeployed_js_1.isSmartAccountDeployed; } });
10
10
  var getKernelImplementationAddress_js_1 = require("./getKernelImplementationAddress.js");
11
11
  Object.defineProperty(exports, "getKernelImplementationAddress", { enumerable: true, get: function () { return getKernelImplementationAddress_js_1.getKernelImplementationAddress; } });
12
+ var getKernelVersion_js_1 = require("./getKernelVersion.js");
13
+ Object.defineProperty(exports, "getKernelVersion", { enumerable: true, get: function () { return getKernelVersion_js_1.getKernelVersion; } });
12
14
  var isPluginInstalled_js_1 = require("./isPluginInstalled.js");
13
15
  Object.defineProperty(exports, "isPluginInstalled", { enumerable: true, get: function () { return isPluginInstalled_js_1.isPluginInstalled; } });
14
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../actions/public/index.ts"],"names":[],"mappings":";;;AAAA,2DAG6B;AADzB,qHAAA,eAAe,OAAA;AAEnB,6DAI8B;AAD1B,uHAAA,gBAAgB,OAAA;AAEpB,yEAAoE;AAA3D,mIAAA,sBAAsB,OAAA;AAC/B,yFAAoF;AAA3E,mJAAA,8BAA8B,OAAA;AACvC,+DAA0D;AAAjD,yHAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../actions/public/index.ts"],"names":[],"mappings":";;;AAAA,2DAG6B;AADzB,qHAAA,eAAe,OAAA;AAEnB,6DAI8B;AAD1B,uHAAA,gBAAgB,OAAA;AAEpB,yEAAoE;AAA3D,mIAAA,sBAAsB,OAAA;AAC/B,yFAAoF;AAA3E,mJAAA,8BAA8B,OAAA;AACvC,6DAAwD;AAA/C,uHAAA,gBAAgB,OAAA;AACzB,+DAA0D;AAAjD,yHAAA,iBAAiB,OAAA"}
package/_cjs/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUpgradeKernelCall = exports.isPluginInitialized = exports.getUserOperationGasPrice = exports.setPimlicoAsProvider = exports.isProviderSet = exports.getEncodedPluginsData = exports.KernelEIP1193Provider = exports.getCustomNonceKeyFromString = exports.verifyEIP6492Signature = exports.gasTokenAddresses = exports.constants = exports.TokenActionsAbi = exports.KernelFactoryStakerAbi = exports.KernelV3FactoryAbi = exports.KernelV3_1AccountAbi = exports.KernelV3InitAbi = exports.KernelV3ExecuteAbi = exports.KernelV3AccountAbi = exports.KernelFactoryAbi = exports.KernelAccountAbi = exports.createFallbackKernelAccountClient = exports.createKernelAccountClient = exports.createZeroDevPaymasterClient = exports.kernelAccountClientActions = exports.zerodevPaymasterActions = exports.sponsorUserOperation = exports.getPluginsEnableTypedData = exports.getActionSelector = exports.accountMetadata = exports.getKernelV3Nonce = exports.EIP1271Abi = exports.addressToEmptyAccount = exports.KERNEL_ADDRESSES = exports.createKernelAccountV1 = exports.createKernelAccountV0_2 = exports.createKernelAccount = void 0;
3
+ exports.encodeDeployCallDataV07 = exports.encodeDeployCallDataV06 = exports.encodeCallDataEpV07 = exports.encodeCallDataEpV06 = exports.eip712WrapHash = exports.getUpgradeKernelCall = exports.isPluginInitialized = exports.getUserOperationGasPrice = exports.setPimlicoAsProvider = exports.isProviderSet = exports.getEncodedPluginsData = exports.KernelEIP1193Provider = exports.getCustomNonceKeyFromString = exports.verifyEIP6492Signature = exports.gasTokenAddresses = exports.constants = exports.TokenActionsAbi = exports.KernelFactoryStakerAbi = exports.KernelV3FactoryAbi = exports.KernelV3_1AccountAbi = exports.KernelV3InitAbi = exports.KernelV3ExecuteAbi = exports.KernelV3AccountAbi = exports.KernelFactoryAbi = exports.KernelAccountAbi = exports.createFallbackKernelAccountClient = exports.createKernelAccountClient = exports.createZeroDevPaymasterClient = exports.kernelAccountClientActions = exports.zerodevPaymasterActions = exports.sponsorUserOperation = exports.getPluginsEnableTypedData = exports.getActionSelector = exports.accountMetadata = exports.getKernelV3Nonce = exports.EIP1271Abi = exports.addressToEmptyAccount = exports.KERNEL_ADDRESSES = exports.createKernelAccountV1 = exports.createKernelAccountV0_2 = exports.createKernelAccount = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  var index_js_1 = require("./accounts/index.js");
6
6
  Object.defineProperty(exports, "createKernelAccount", { enumerable: true, get: function () { return index_js_1.createKernelAccount; } });
@@ -62,4 +62,14 @@ tslib_1.__exportStar(require("./errors/index.js"), exports);
62
62
  tslib_1.__exportStar(require("./utils/index.js"), exports);
63
63
  var getUpgradeKernelCall_js_1 = require("./accounts/kernel/utils/common/getUpgradeKernelCall.js");
64
64
  Object.defineProperty(exports, "getUpgradeKernelCall", { enumerable: true, get: function () { return getUpgradeKernelCall_js_1.getUpgradeKernelCall; } });
65
+ var eip712WrapHash_js_1 = require("./accounts/kernel/utils/common/eip712WrapHash.js");
66
+ Object.defineProperty(exports, "eip712WrapHash", { enumerable: true, get: function () { return eip712WrapHash_js_1.eip712WrapHash; } });
67
+ var encodeCallData_js_1 = require("./accounts/kernel/utils/account/ep0_6/encodeCallData.js");
68
+ Object.defineProperty(exports, "encodeCallDataEpV06", { enumerable: true, get: function () { return encodeCallData_js_1.encodeCallData; } });
69
+ var encodeCallData_js_2 = require("./accounts/kernel/utils/account/ep0_7/encodeCallData.js");
70
+ Object.defineProperty(exports, "encodeCallDataEpV07", { enumerable: true, get: function () { return encodeCallData_js_2.encodeCallData; } });
71
+ var encodeDeployCallData_js_1 = require("./accounts/kernel/utils/account/ep0_6/encodeDeployCallData.js");
72
+ Object.defineProperty(exports, "encodeDeployCallDataV06", { enumerable: true, get: function () { return encodeDeployCallData_js_1.encodeDeployCallData; } });
73
+ var encodeDeployCallData_js_2 = require("./accounts/kernel/utils/account/ep0_7/encodeDeployCallData.js");
74
+ Object.defineProperty(exports, "encodeDeployCallDataV07", { enumerable: true, get: function () { return encodeDeployCallData_js_2.encodeDeployCallData; } });
65
75
  //# sourceMappingURL=index.js.map
package/_cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;AAAA,gDAgB4B;AAfxB,+GAAA,mBAAmB,OAAA;AACnB,mHAAA,uBAAuB,OAAA;AACvB,iHAAA,qBAAqB,OAAA;AAMrB,4GAAA,gBAAgB,OAAA;AAChB,iHAAA,qBAAqB,OAAA;AACrB,sGAAA,UAAU,OAAA;AACV,4GAAA,gBAAgB,OAAA;AAChB,2GAAA,eAAe,OAAA;AACf,6GAAA,iBAAiB,OAAA;AACjB,qHAAA,yBAAyB,OAAA;AAE7B,uFAIoD;AAHhD,+HAAA,oBAAoB,OAAA;AAKxB,4DAKuC;AAJnC,oHAAA,uBAAuB,OAAA;AAEvB,uHAAA,0BAA0B,OAAA;AAG9B,mEAGqC;AAFjC,kIAAA,4BAA4B,OAAA;AAGhC,2EAGyC;AAFrC,mIAAA,yBAAyB,OAAA;AAG7B,2FAA4F;AAAnF,mJAAA,iCAAiC,OAAA;AAQ1C,iFAA4E;AAAnE,uHAAA,gBAAgB,OAAA;AACzB,iFAA4E;AAAnE,uHAAA,gBAAgB,OAAA;AACzB,gGAIiE;AAH7D,yHAAA,kBAAkB,OAAA;AAClB,yHAAA,kBAAkB,OAAA;AAClB,sHAAA,eAAe,OAAA;AAEnB,8FAA6F;AAApF,2HAAA,oBAAoB,OAAA;AAC7B,gGAA6F;AAApF,yHAAA,kBAAkB,OAAA;AAC3B,4GAAuG;AAA9F,mIAAA,sBAAsB,OAAA;AAC/B,+EAA0E;AAAjE,qHAAA,eAAe,OAAA;AACxB,8CAA2C;AAC3C,qDAA0B;AAC1B,+DAAgF;AAAvE,yHAAA,iBAAiB,OAAA;AAC1B,sDAGkC;AAF9B,kHAAA,sBAAsB,OAAA;AACtB,uHAAA,2BAA2B,OAAA;AAE/B,iDAA4D;AAAnD,iHAAA,qBAAqB,OAAA;AAC9B,2GAAsG;AAA7F,iIAAA,qBAAqB,OAAA;AAC9B,+CAAwE;AAA/D,yGAAA,aAAa,OAAA;AAAE,gHAAA,oBAAoB,OAAA;AAC5C,oGAA+F;AAAtF,uIAAA,wBAAwB,OAAA;AACjC,uGAAkG;AAAzF,6HAAA,mBAAmB,OAAA;AAC5B,4DAAiC;AACjC,2DAAgC;AAChC,kGAA6F;AAApF,+HAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;AAAA,gDAgB4B;AAfxB,+GAAA,mBAAmB,OAAA;AACnB,mHAAA,uBAAuB,OAAA;AACvB,iHAAA,qBAAqB,OAAA;AAMrB,4GAAA,gBAAgB,OAAA;AAChB,iHAAA,qBAAqB,OAAA;AACrB,sGAAA,UAAU,OAAA;AACV,4GAAA,gBAAgB,OAAA;AAChB,2GAAA,eAAe,OAAA;AACf,6GAAA,iBAAiB,OAAA;AACjB,qHAAA,yBAAyB,OAAA;AAE7B,uFAIoD;AAHhD,+HAAA,oBAAoB,OAAA;AAKxB,4DAKuC;AAJnC,oHAAA,uBAAuB,OAAA;AAEvB,uHAAA,0BAA0B,OAAA;AAG9B,mEAGqC;AAFjC,kIAAA,4BAA4B,OAAA;AAGhC,2EAGyC;AAFrC,mIAAA,yBAAyB,OAAA;AAG7B,2FAA4F;AAAnF,mJAAA,iCAAiC,OAAA;AAQ1C,iFAA4E;AAAnE,uHAAA,gBAAgB,OAAA;AACzB,iFAA4E;AAAnE,uHAAA,gBAAgB,OAAA;AACzB,gGAIiE;AAH7D,yHAAA,kBAAkB,OAAA;AAClB,yHAAA,kBAAkB,OAAA;AAClB,sHAAA,eAAe,OAAA;AAEnB,8FAA6F;AAApF,2HAAA,oBAAoB,OAAA;AAC7B,gGAA6F;AAApF,yHAAA,kBAAkB,OAAA;AAC3B,4GAAuG;AAA9F,mIAAA,sBAAsB,OAAA;AAC/B,+EAA0E;AAAjE,qHAAA,eAAe,OAAA;AACxB,8CAA2C;AAC3C,qDAA0B;AAC1B,+DAAgF;AAAvE,yHAAA,iBAAiB,OAAA;AAC1B,sDAGkC;AAF9B,kHAAA,sBAAsB,OAAA;AACtB,uHAAA,2BAA2B,OAAA;AAE/B,iDAA4D;AAAnD,iHAAA,qBAAqB,OAAA;AAC9B,2GAAsG;AAA7F,iIAAA,qBAAqB,OAAA;AAC9B,+CAAwE;AAA/D,yGAAA,aAAa,OAAA;AAAE,gHAAA,oBAAoB,OAAA;AAC5C,oGAA+F;AAAtF,uIAAA,wBAAwB,OAAA;AACjC,uGAAkG;AAAzF,6HAAA,mBAAmB,OAAA;AAC5B,4DAAiC;AACjC,2DAAgC;AAChC,kGAA6F;AAApF,+HAAA,oBAAoB,OAAA;AAC7B,sFAAiF;AAAxE,mHAAA,cAAc,OAAA;AACvB,6FAA+G;AAAtG,wHAAA,cAAc,OAAuB;AAC9C,6FAA+G;AAAtG,wHAAA,cAAc,OAAuB;AAC9C,yGAA+H;AAAtH,kIAAA,oBAAoB,OAA2B;AACxD,yGAA+H;AAAtH,kIAAA,oBAAoB,OAA2B"}
@@ -0,0 +1,48 @@
1
+ import { zeroAddress } from "viem";
2
+ import { getStorageAt } from "viem/actions";
3
+ import { getAction, getAddress, isAddressEqual, isHex, slice, toHex } from "viem/utils";
4
+ import { KERNEL_IMPLEMENTATION_SLOT, KernelVersionToAddressesMap } from "../../constants";
5
+ /**
6
+ * Returns the address of the kernel implementation.
7
+ *
8
+ * @param client {@link client} that you created using viem's createPublicClient.
9
+ * @param args {@link GetKernelVersionParams} address
10
+ * @returns KERNEL_VERSION_TYPE
11
+ *
12
+ * @example
13
+ * import { createPublicClient } from "viem"
14
+ * import { getKernelImplementationAddress } from "@zerodev/sdk/actions"
15
+ *
16
+ * const client = createPublicClient({
17
+ * chain: goerli,
18
+ * transport: http("https://goerli.infura.io/v3/your-infura-key")
19
+ * })
20
+ *
21
+ * const kernelVersion = await getKernelVersion(client, {
22
+ * address,
23
+ * })
24
+ *
25
+ * // Return "0.3.1"
26
+ */
27
+ export const getKernelVersion = async (client, args) => {
28
+ const { address } = args;
29
+ const storageValue = await getAction(client, getStorageAt, "getStorageAt")({
30
+ address,
31
+ slot: KERNEL_IMPLEMENTATION_SLOT
32
+ });
33
+ if (!storageValue) {
34
+ throw new Error("Kernel version not found");
35
+ }
36
+ const addressSlice = slice(storageValue, 12);
37
+ const addressHex = isHex(addressSlice) ? addressSlice : toHex(addressSlice);
38
+ const kernelImplementationAddress = getAddress(addressHex);
39
+ if (isAddressEqual(kernelImplementationAddress, zeroAddress)) {
40
+ return null;
41
+ }
42
+ const kernelVersion = Object.keys(KernelVersionToAddressesMap).find((version) => isAddressEqual(KernelVersionToAddressesMap[version].accountImplementationAddress, kernelImplementationAddress));
43
+ if (!kernelVersion) {
44
+ return null;
45
+ }
46
+ return kernelVersion;
47
+ };
48
+ //# sourceMappingURL=getKernelVersion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getKernelVersion.js","sourceRoot":"","sources":["../../../actions/public/getKernelVersion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA6B,MAAM,MAAM,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvF,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAOzF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACjC,MAAc,EACd,IAA4B,EACO,EAAE;IACrC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IAExB,MAAM,YAAY,GAAG,MAAM,SAAS,CAChC,MAAM,EACN,YAAY,EACZ,cAAc,CACjB,CAAC;QACE,OAAO;QACP,IAAI,EAAE,0BAA0B;KACnC,CAAC,CAAA;IACF,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAC/C,CAAC;IACD,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;IAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IAC3E,MAAM,2BAA2B,GAAG,UAAU,CAAC,UAAU,CAAC,CAAA;IAC1D,IAAI,cAAc,CAAC,2BAA2B,EAAE,WAAW,CAAC,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAA;IACf,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAC/D,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,2BAA2B,CAAC,OAA8B,CAAC,CAAC,4BAA4B,EAAE,2BAA2B,CAAC,CACrJ,CAAA;IACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACjB,OAAO,IAAI,CAAA;IACf,CAAC;IACD,OAAO,aAAoC,CAAA;AAC/C,CAAC,CAAA"}
@@ -2,5 +2,6 @@ export { getAccountNonce } from "./getAccountNonce.js";
2
2
  export { getSenderAddress } from "./getSenderAddress.js";
3
3
  export { isSmartAccountDeployed } from "./isSmartAccountDeployed.js";
4
4
  export { getKernelImplementationAddress } from "./getKernelImplementationAddress.js";
5
+ export { getKernelVersion } from "./getKernelVersion.js";
5
6
  export { isPluginInstalled } from "./isPluginInstalled.js";
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../actions/public/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,eAAe,EAClB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAGH,gBAAgB,EACnB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAA;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../actions/public/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,eAAe,EAClB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAGH,gBAAgB,EACnB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAA;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA"}
package/_esm/index.js CHANGED
@@ -26,4 +26,9 @@ export { isPluginInitialized } from "./accounts/kernel/utils/plugins/ep0_7/isPlu
26
26
  export * from "./errors/index.js";
27
27
  export * from "./utils/index.js";
28
28
  export { getUpgradeKernelCall } from "./accounts/kernel/utils/common/getUpgradeKernelCall.js";
29
+ export { eip712WrapHash } from "./accounts/kernel/utils/common/eip712WrapHash.js";
30
+ export { encodeCallData as encodeCallDataEpV06 } from "./accounts/kernel/utils/account/ep0_6/encodeCallData.js";
31
+ export { encodeCallData as encodeCallDataEpV07 } from "./accounts/kernel/utils/account/ep0_7/encodeCallData.js";
32
+ export { encodeDeployCallData as encodeDeployCallDataV06 } from "./accounts/kernel/utils/account/ep0_6/encodeDeployCallData.js";
33
+ export { encodeDeployCallData as encodeDeployCallDataV07 } from "./accounts/kernel/utils/account/ep0_7/encodeDeployCallData.js";
29
34
  //# sourceMappingURL=index.js.map
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,uBAAuB,EACvB,qBAAqB,EAMrB,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EAC5B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACH,oBAAoB,EAGvB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAiC,MAAM,kCAAkC,CAAA;AAChF,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,EAAE,iCAAiC,EAAE,MAAM,0CAA0C,CAAA;AAC5F,OAAO,EAMN,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,oBAAoB,EAAE,MAAM,wDAAwD,CAAA;AAC7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAA;AAC7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAA;AACvG,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,EACH,sBAAsB,EACtB,2BAA2B,EAC9B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAA;AACtG,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sDAAsD,CAAA;AAC/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,8DAA8D,CAAA;AAClG,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wDAAwD,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EAMrB,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EAC5B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACH,oBAAoB,EAGvB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAiC,MAAM,kCAAkC,CAAA;AAChF,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,EAAE,iCAAiC,EAAE,MAAM,0CAA0C,CAAA;AAC5F,OAAO,EAMN,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,oBAAoB,EAAE,MAAM,wDAAwD,CAAA;AAC7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAA;AAC7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAA;AACvG,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,EACH,sBAAsB,EACtB,2BAA2B,EAC9B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAA;AACtG,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sDAAsD,CAAA;AAC/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,8DAA8D,CAAA;AAClG,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wDAAwD,CAAA;AAC7F,OAAO,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAA;AACjF,OAAO,EAAE,cAAc,IAAI,mBAAmB,EAAE,MAAM,yDAAyD,CAAA;AAC/G,OAAO,EAAE,cAAc,IAAI,mBAAmB,EAAE,MAAM,yDAAyD,CAAA;AAC/G,OAAO,EAAE,oBAAoB,IAAI,uBAAuB,EAAE,MAAM,+DAA+D,CAAA;AAC/H,OAAO,EAAE,oBAAoB,IAAI,uBAAuB,EAAE,MAAM,+DAA+D,CAAA"}
@@ -0,0 +1,29 @@
1
+ import { type Address, type Client } from "viem";
2
+ import type { KERNEL_VERSION_TYPE } from "../../types";
3
+ export type GetKernelVersionParams = {
4
+ address: Address;
5
+ };
6
+ /**
7
+ * Returns the address of the kernel implementation.
8
+ *
9
+ * @param client {@link client} that you created using viem's createPublicClient.
10
+ * @param args {@link GetKernelVersionParams} address
11
+ * @returns KERNEL_VERSION_TYPE
12
+ *
13
+ * @example
14
+ * import { createPublicClient } from "viem"
15
+ * import { getKernelImplementationAddress } from "@zerodev/sdk/actions"
16
+ *
17
+ * const client = createPublicClient({
18
+ * chain: goerli,
19
+ * transport: http("https://goerli.infura.io/v3/your-infura-key")
20
+ * })
21
+ *
22
+ * const kernelVersion = await getKernelVersion(client, {
23
+ * address,
24
+ * })
25
+ *
26
+ * // Return "0.3.1"
27
+ */
28
+ export declare const getKernelVersion: (client: Client, args: GetKernelVersionParams) => Promise<KERNEL_VERSION_TYPE | null>;
29
+ //# sourceMappingURL=getKernelVersion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getKernelVersion.d.ts","sourceRoot":"","sources":["../../../actions/public/getKernelVersion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,MAAM,CAAA;AAI7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,MAAM,sBAAsB,GAAG;IACjC,OAAO,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,gBAAgB,WACjB,MAAM,QACR,sBAAsB,KAC7B,QAAQ,mBAAmB,GAAG,IAAI,CA2BpC,CAAA"}
@@ -2,5 +2,6 @@ export { type GetAccountNonceParams, getAccountNonce } from "./getAccountNonce.j
2
2
  export { type GetSenderAddressParams, type InvalidEntryPointError, getSenderAddress } from "./getSenderAddress.js";
3
3
  export { isSmartAccountDeployed } from "./isSmartAccountDeployed.js";
4
4
  export { getKernelImplementationAddress } from "./getKernelImplementationAddress.js";
5
+ export { getKernelVersion } from "./getKernelVersion.js";
5
6
  export { isPluginInstalled } from "./isPluginInstalled.js";
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../actions/public/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,qBAAqB,EAC1B,eAAe,EAClB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACH,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,gBAAgB,EACnB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAA;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../actions/public/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,qBAAqB,EAC1B,eAAe,EAClB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACH,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,gBAAgB,EACnB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAA;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA"}
package/_types/index.d.ts CHANGED
@@ -25,4 +25,9 @@ export { isPluginInitialized } from "./accounts/kernel/utils/plugins/ep0_7/isPlu
25
25
  export * from "./errors/index.js";
26
26
  export * from "./utils/index.js";
27
27
  export { getUpgradeKernelCall } from "./accounts/kernel/utils/common/getUpgradeKernelCall.js";
28
+ export { eip712WrapHash } from "./accounts/kernel/utils/common/eip712WrapHash.js";
29
+ export { encodeCallData as encodeCallDataEpV06 } from "./accounts/kernel/utils/account/ep0_6/encodeCallData.js";
30
+ export { encodeCallData as encodeCallDataEpV07 } from "./accounts/kernel/utils/account/ep0_7/encodeCallData.js";
31
+ export { encodeDeployCallData as encodeDeployCallDataV06 } from "./accounts/kernel/utils/account/ep0_6/encodeDeployCallData.js";
32
+ export { encodeDeployCallData as encodeDeployCallDataV07 } from "./accounts/kernel/utils/account/ep0_7/encodeDeployCallData.js";
28
33
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAClC,KAAK,+BAA+B,EACpC,KAAK,gCAAgC,EACrC,KAAK,kCAAkC,EACvC,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EAC5B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACH,oBAAoB,EACpB,KAAK,8BAA8B,EACnC,KAAK,8BAA8B,EACtC,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,kCAAkC,CAAA;AAChF,OAAO,EACH,uBAAuB,EACvB,KAAK,6BAA6B,EAClC,0BAA0B,EAC1B,KAAK,0BAA0B,EAClC,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACH,4BAA4B,EAC5B,KAAK,sBAAsB,EAC9B,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACH,yBAAyB,EACzB,KAAK,mBAAmB,EAC3B,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,iCAAiC,EAAE,MAAM,0CAA0C,CAAA;AAC5F,OAAO,EACH,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,MAAM,EACd,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,oBAAoB,EAAE,MAAM,wDAAwD,CAAA;AAC7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAA;AAC7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAA;AACvG,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAA;AAC1E,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAChF,OAAO,EACH,sBAAsB,EACtB,2BAA2B,EAC9B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAA;AACtG,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sDAAsD,CAAA;AAC/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,8DAA8D,CAAA;AAClG,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wDAAwD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAClC,KAAK,+BAA+B,EACpC,KAAK,gCAAgC,EACrC,KAAK,kCAAkC,EACvC,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EAC5B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACH,oBAAoB,EACpB,KAAK,8BAA8B,EACnC,KAAK,8BAA8B,EACtC,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,kCAAkC,CAAA;AAChF,OAAO,EACH,uBAAuB,EACvB,KAAK,6BAA6B,EAClC,0BAA0B,EAC1B,KAAK,0BAA0B,EAClC,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACH,4BAA4B,EAC5B,KAAK,sBAAsB,EAC9B,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACH,yBAAyB,EACzB,KAAK,mBAAmB,EAC3B,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,iCAAiC,EAAE,MAAM,0CAA0C,CAAA;AAC5F,OAAO,EACH,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,MAAM,EACd,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,oBAAoB,EAAE,MAAM,wDAAwD,CAAA;AAC7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAA;AAC7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAA;AACvG,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAA;AAC1E,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAChF,OAAO,EACH,sBAAsB,EACtB,2BAA2B,EAC9B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAA;AACtG,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sDAAsD,CAAA;AAC/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,8DAA8D,CAAA;AAClG,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wDAAwD,CAAA;AAC7F,OAAO,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAA;AACjF,OAAO,EAAE,cAAc,IAAI,mBAAmB,EAAE,MAAM,yDAAyD,CAAA;AAC/G,OAAO,EAAE,cAAc,IAAI,mBAAmB,EAAE,MAAM,yDAAyD,CAAA;AAC/G,OAAO,EAAE,oBAAoB,IAAI,uBAAuB,EAAE,MAAM,+DAA+D,CAAA;AAC/H,OAAO,EAAE,oBAAoB,IAAI,uBAAuB,EAAE,MAAM,+DAA+D,CAAA"}
@@ -0,0 +1,63 @@
1
+ import { zeroAddress, type Address, type Client } from "viem"
2
+ import { getStorageAt } from "viem/actions"
3
+ import { getAction, getAddress, isAddressEqual, isHex, slice, toHex } from "viem/utils"
4
+ import { KERNEL_IMPLEMENTATION_SLOT, KernelVersionToAddressesMap } from "../../constants"
5
+ import type { KERNEL_VERSION_TYPE } from "../../types";
6
+
7
+ export type GetKernelVersionParams = {
8
+ address: Address
9
+ }
10
+
11
+ /**
12
+ * Returns the address of the kernel implementation.
13
+ *
14
+ * @param client {@link client} that you created using viem's createPublicClient.
15
+ * @param args {@link GetKernelVersionParams} address
16
+ * @returns KERNEL_VERSION_TYPE
17
+ *
18
+ * @example
19
+ * import { createPublicClient } from "viem"
20
+ * import { getKernelImplementationAddress } from "@zerodev/sdk/actions"
21
+ *
22
+ * const client = createPublicClient({
23
+ * chain: goerli,
24
+ * transport: http("https://goerli.infura.io/v3/your-infura-key")
25
+ * })
26
+ *
27
+ * const kernelVersion = await getKernelVersion(client, {
28
+ * address,
29
+ * })
30
+ *
31
+ * // Return "0.3.1"
32
+ */
33
+ export const getKernelVersion = async (
34
+ client: Client,
35
+ args: GetKernelVersionParams
36
+ ): Promise<KERNEL_VERSION_TYPE | null> => {
37
+ const { address } = args
38
+
39
+ const storageValue = await getAction(
40
+ client,
41
+ getStorageAt,
42
+ "getStorageAt"
43
+ )({
44
+ address,
45
+ slot: KERNEL_IMPLEMENTATION_SLOT
46
+ })
47
+ if (!storageValue) {
48
+ throw new Error("Kernel version not found")
49
+ }
50
+ const addressSlice = slice(storageValue, 12)
51
+ const addressHex = isHex(addressSlice) ? addressSlice : toHex(addressSlice)
52
+ const kernelImplementationAddress = getAddress(addressHex)
53
+ if (isAddressEqual(kernelImplementationAddress, zeroAddress)) {
54
+ return null
55
+ }
56
+ const kernelVersion = Object.keys(KernelVersionToAddressesMap).find(
57
+ (version) => isAddressEqual(KernelVersionToAddressesMap[version as KERNEL_VERSION_TYPE].accountImplementationAddress, kernelImplementationAddress)
58
+ )
59
+ if (!kernelVersion) {
60
+ return null
61
+ }
62
+ return kernelVersion as KERNEL_VERSION_TYPE
63
+ }
@@ -9,4 +9,5 @@ export {
9
9
  } from "./getSenderAddress.js"
10
10
  export { isSmartAccountDeployed } from "./isSmartAccountDeployed.js"
11
11
  export { getKernelImplementationAddress } from "./getKernelImplementationAddress.js"
12
+ export { getKernelVersion } from "./getKernelVersion.js"
12
13
  export { isPluginInstalled } from "./isPluginInstalled.js"
package/index.ts CHANGED
@@ -69,3 +69,8 @@ export { isPluginInitialized } from "./accounts/kernel/utils/plugins/ep0_7/isPlu
69
69
  export * from "./errors/index.js"
70
70
  export * from "./utils/index.js"
71
71
  export { getUpgradeKernelCall } from "./accounts/kernel/utils/common/getUpgradeKernelCall.js"
72
+ export { eip712WrapHash } from "./accounts/kernel/utils/common/eip712WrapHash.js"
73
+ export { encodeCallData as encodeCallDataEpV06 } from "./accounts/kernel/utils/account/ep0_6/encodeCallData.js"
74
+ export { encodeCallData as encodeCallDataEpV07 } from "./accounts/kernel/utils/account/ep0_7/encodeCallData.js"
75
+ export { encodeDeployCallData as encodeDeployCallDataV06 } from "./accounts/kernel/utils/account/ep0_6/encodeDeployCallData.js"
76
+ export { encodeDeployCallData as encodeDeployCallDataV07 } from "./accounts/kernel/utils/account/ep0_7/encodeDeployCallData.js"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zerodev/sdk",
3
- "version": "5.4.12",
3
+ "version": "5.4.14",
4
4
  "author": "ZeroDev",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",