@zerodev/sdk 5.4.6 → 5.4.8

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.
Files changed (50) hide show
  1. package/_cjs/accounts/kernel/utils/common/getUpgradeKernelCall.js +22 -0
  2. package/_cjs/accounts/kernel/utils/common/getUpgradeKernelCall.js.map +1 -0
  3. package/_cjs/actions/account-client/upgradeKernel.js +23 -0
  4. package/_cjs/actions/account-client/upgradeKernel.js.map +1 -0
  5. package/_cjs/actions/public/getKernelImplementationAddress.js +21 -0
  6. package/_cjs/actions/public/getKernelImplementationAddress.js.map +1 -0
  7. package/_cjs/actions/public/index.js +3 -1
  8. package/_cjs/actions/public/index.js.map +1 -1
  9. package/_cjs/clients/decorators/kernel.js +2 -0
  10. package/_cjs/clients/decorators/kernel.js.map +1 -1
  11. package/_cjs/constants.js +2 -1
  12. package/_cjs/constants.js.map +1 -1
  13. package/_cjs/index.js +3 -1
  14. package/_cjs/index.js.map +1 -1
  15. package/_esm/accounts/kernel/utils/common/getUpgradeKernelCall.js +18 -0
  16. package/_esm/accounts/kernel/utils/common/getUpgradeKernelCall.js.map +1 -0
  17. package/_esm/actions/account-client/upgradeKernel.js +19 -0
  18. package/_esm/actions/account-client/upgradeKernel.js.map +1 -0
  19. package/_esm/actions/public/getKernelImplementationAddress.js +39 -0
  20. package/_esm/actions/public/getKernelImplementationAddress.js.map +1 -0
  21. package/_esm/actions/public/index.js +1 -0
  22. package/_esm/actions/public/index.js.map +1 -1
  23. package/_esm/clients/decorators/kernel.js +2 -0
  24. package/_esm/clients/decorators/kernel.js.map +1 -1
  25. package/_esm/constants.js +1 -0
  26. package/_esm/constants.js.map +1 -1
  27. package/_esm/index.js +1 -0
  28. package/_esm/index.js.map +1 -1
  29. package/_types/accounts/kernel/utils/common/getUpgradeKernelCall.d.ts +9 -0
  30. package/_types/accounts/kernel/utils/common/getUpgradeKernelCall.d.ts.map +1 -0
  31. package/_types/actions/account-client/upgradeKernel.d.ts +8 -0
  32. package/_types/actions/account-client/upgradeKernel.d.ts.map +1 -0
  33. package/_types/actions/public/getKernelImplementationAddress.d.ts +28 -0
  34. package/_types/actions/public/getKernelImplementationAddress.d.ts.map +1 -0
  35. package/_types/actions/public/index.d.ts +1 -0
  36. package/_types/actions/public/index.d.ts.map +1 -1
  37. package/_types/clients/decorators/kernel.d.ts +9 -0
  38. package/_types/clients/decorators/kernel.d.ts.map +1 -1
  39. package/_types/constants.d.ts +1 -0
  40. package/_types/constants.d.ts.map +1 -1
  41. package/_types/index.d.ts +1 -0
  42. package/_types/index.d.ts.map +1 -1
  43. package/accounts/kernel/utils/common/getUpgradeKernelCall.ts +29 -0
  44. package/actions/account-client/upgradeKernel.ts +49 -0
  45. package/actions/public/getKernelImplementationAddress.ts +52 -0
  46. package/actions/public/index.ts +1 -0
  47. package/clients/decorators/kernel.ts +19 -0
  48. package/constants.ts +3 -0
  49. package/index.ts +1 -0
  50. package/package.json +1 -1
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getUpgradeKernelCall = void 0;
4
+ const viem_1 = require("viem");
5
+ const constants_js_1 = require("../../../../constants.js");
6
+ const utils_js_1 = require("../../../../utils.js");
7
+ const KernelAccountAbi_js_1 = require("../../abi/kernel_v_3_0_0/KernelAccountAbi.js");
8
+ function getUpgradeKernelCall(account, kernelVersion) {
9
+ (0, utils_js_1.validateKernelVersionWithEntryPoint)(account.entryPoint.version, kernelVersion);
10
+ const implementation = constants_js_1.KernelVersionToAddressesMap[kernelVersion].accountImplementationAddress;
11
+ return {
12
+ to: account.address,
13
+ data: (0, viem_1.encodeFunctionData)({
14
+ abi: KernelAccountAbi_js_1.KernelV3AccountAbi,
15
+ functionName: "upgradeTo",
16
+ args: [implementation]
17
+ }),
18
+ value: 0n
19
+ };
20
+ }
21
+ exports.getUpgradeKernelCall = getUpgradeKernelCall;
22
+ //# sourceMappingURL=getUpgradeKernelCall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUpgradeKernelCall.js","sourceRoot":"","sources":["../../../../../accounts/kernel/utils/common/getUpgradeKernelCall.ts"],"names":[],"mappings":";;;AACA,+BAAyC;AAEzC,2DAAsE;AAEtE,mDAA0E;AAC1E,sFAAiF;AAEjF,SAAgB,oBAAoB,CAChC,OAAqB,EACrB,aAAkC;IAElC,IAAA,8CAAmC,EAC/B,OAAO,CAAC,UAAU,CAAC,OAAO,EAC1B,aAAa,CAChB,CAAA;IACD,MAAM,cAAc,GAChB,0CAA2B,CAAC,aAAa,CAAC,CAAC,4BAA4B,CAAA;IAE3E,OAAO;QACH,EAAE,EAAE,OAAO,CAAC,OAAO;QACnB,IAAI,EAAE,IAAA,yBAAkB,EAAC;YACrB,GAAG,EAAE,wCAAkB;YACvB,YAAY,EAAE,WAAW;YACzB,IAAI,EAAE,CAAC,cAAc,CAAC;SACzB,CAAC;QACF,KAAK,EAAE,EAAE;KACZ,CAAA;AACL,CAAC;AApBD,oDAoBC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.upgradeKernel = void 0;
4
+ const account_abstraction_1 = require("viem/account-abstraction");
5
+ const utils_1 = require("viem/utils");
6
+ const getUpgradeKernelCall_js_1 = require("../../accounts/kernel/utils/common/getUpgradeKernelCall.js");
7
+ const index_js_1 = require("../../errors/index.js");
8
+ async function upgradeKernel(client, args) {
9
+ const { account: account_ = client.account, kernelVersion } = args;
10
+ if (!account_)
11
+ throw new index_js_1.AccountNotFoundError({
12
+ docsPath: "/docs/actions/wallet/sendTransaction"
13
+ });
14
+ const account = (0, utils_1.parseAccount)(account_);
15
+ const call = (0, getUpgradeKernelCall_js_1.getUpgradeKernelCall)(account, kernelVersion);
16
+ return await (0, utils_1.getAction)(client, account_abstraction_1.sendUserOperation, "sendUserOperation")({
17
+ ...args,
18
+ calls: [call],
19
+ account
20
+ });
21
+ }
22
+ exports.upgradeKernel = upgradeKernel;
23
+ //# sourceMappingURL=upgradeKernel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgradeKernel.js","sourceRoot":"","sources":["../../../actions/account-client/upgradeKernel.ts"],"names":[],"mappings":";;;AACA,kEAIiC;AACjC,sCAAoD;AACpD,wGAAiG;AACjG,oDAA4D;AAarD,KAAK,UAAU,aAAa,CAM/B,MAAyC,EACzC,IAAwE;IAExE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,IAAI,CAAA;IAClE,IAAI,CAAC,QAAQ;QACT,MAAM,IAAI,+BAAoB,CAAC;YAC3B,QAAQ,EAAE,sCAAsC;SACnD,CAAC,CAAA;IAEN,MAAM,OAAO,GAAG,IAAA,oBAAY,EAAC,QAAQ,CAAiB,CAAA;IACtD,MAAM,IAAI,GAAG,IAAA,8CAAoB,EAAC,OAAO,EAAE,aAAa,CAAC,CAAA;IAEzD,OAAO,MAAM,IAAA,iBAAS,EAClB,MAAM,EACN,uCAAiB,EACjB,mBAAmB,CACtB,CAAC;QACE,GAAG,IAAI;QACP,KAAK,EAAE,CAAC,IAAI,CAAC;QACb,OAAO;KACqB,CAAC,CAAA;AACrC,CAAC;AA3BD,sCA2BC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getKernelImplementationAddress = void 0;
4
+ const actions_1 = require("viem/actions");
5
+ const utils_1 = require("viem/utils");
6
+ const constants_1 = require("../../constants");
7
+ const getKernelImplementationAddress = async (client, args) => {
8
+ const { address } = args;
9
+ const storageValue = await (0, utils_1.getAction)(client, actions_1.getStorageAt, "getStorageAt")({
10
+ address,
11
+ slot: constants_1.KERNEL_IMPLEMENTATION_SLOT
12
+ });
13
+ if (!storageValue) {
14
+ throw new Error("Kernel implementation address not found");
15
+ }
16
+ const addressSlice = (0, utils_1.slice)(storageValue, 12);
17
+ const addressHex = (0, utils_1.isHex)(addressSlice) ? addressSlice : (0, utils_1.toHex)(addressSlice);
18
+ return (0, utils_1.getAddress)(addressHex);
19
+ };
20
+ exports.getKernelImplementationAddress = getKernelImplementationAddress;
21
+ //# sourceMappingURL=getKernelImplementationAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getKernelImplementationAddress.js","sourceRoot":"","sources":["../../../actions/public/getKernelImplementationAddress.ts"],"names":[],"mappings":";;;AACA,0CAA2C;AAC3C,sCAAuE;AACvE,+CAA4D;AA4BrD,MAAM,8BAA8B,GAAG,KAAK,EAC/C,MAAc,EACd,IAA0C,EAC1B,EAAE;IAClB,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,yCAAyC,CAAC,CAAA;IAC9D,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,OAAO,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAA;AACjC,CAAC,CAAA;AApBY,QAAA,8BAA8B,kCAoB1C"}
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isSmartAccountDeployed = exports.getSenderAddress = exports.getAccountNonce = void 0;
3
+ 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");
7
7
  Object.defineProperty(exports, "getSenderAddress", { enumerable: true, get: function () { return getSenderAddress_js_1.getSenderAddress; } });
8
8
  var isSmartAccountDeployed_js_1 = require("./isSmartAccountDeployed.js");
9
9
  Object.defineProperty(exports, "isSmartAccountDeployed", { enumerable: true, get: function () { return isSmartAccountDeployed_js_1.isSmartAccountDeployed; } });
10
+ var getKernelImplementationAddress_js_1 = require("./getKernelImplementationAddress.js");
11
+ Object.defineProperty(exports, "getKernelImplementationAddress", { enumerable: true, get: function () { return getKernelImplementationAddress_js_1.getKernelImplementationAddress; } });
10
12
  //# 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"}
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"}
@@ -7,6 +7,7 @@ const invalidateNonce_js_1 = require("../../actions/account-client/invalidateNon
7
7
  const sendTransaction_js_1 = require("../../actions/account-client/sendTransaction.js");
8
8
  const signMessage_js_1 = require("../../actions/account-client/signMessage.js");
9
9
  const signTypedData_js_1 = require("../../actions/account-client/signTypedData.js");
10
+ const upgradeKernel_js_1 = require("../../actions/account-client/upgradeKernel.js");
10
11
  const writeContract_js_1 = require("../../actions/account-client/writeContract.js");
11
12
  const index_js_1 = require("../../actions/index.js");
12
13
  const estimateGasInERC20_js_1 = require("../../actions/paymaster/estimateGasInERC20.js");
@@ -26,6 +27,7 @@ function kernelAccountClientActions() {
26
27
  changeSudoValidator: async (args) => (0, index_js_1.changeSudoValidator)(client, args),
27
28
  invalidateNonce: async (args) => (0, invalidateNonce_js_1.invalidateNonce)(client, args),
28
29
  getKernelV3ModuleCurrentNonce: async () => (0, getKernelV3ModuleCurrentNonce_js_1.getKernelV3ModuleCurrentNonce)(client),
30
+ upgradeKernel: async (args) => (0, upgradeKernel_js_1.upgradeKernel)(client, args),
29
31
  sendTransaction: (args) => (0, sendTransaction_js_1.sendTransaction)(client, args),
30
32
  signMessage: (args) => (0, signMessage_js_1.signMessage)(client, args),
31
33
  signTypedData: (args) => (0, signTypedData_js_1.signTypedData)(client, args),
@@ -1 +1 @@
1
- {"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../../clients/decorators/kernel.ts"],"names":[],"mappings":";;;AAaA,oHAA6G;AAC7G,0GAGiE;AACjE,wFAGwD;AACxD,wFAAiF;AACjF,gFAAyE;AACzE,oFAA6E;AAC7E,oFAA6E;AAM7E,qDAI+B;AAC/B,yFAIsD;AACtD,6FAIwD;AAejD,MAAM,uBAAuB,GAChC,GAAgD,EAAE,CAClD,CAAC,MAAc,EAAiC,EAAE,CAAC,CAAC;IAChD,oBAAoB,EAAE,KAAK,EAAE,IAAoC,EAAE,EAAE,CACjE,IAAA,8CAAoB,EAChB,MAAmD,EACnD;QACI,GAAG,IAAI;KACV,CACJ;IACL,kBAAkB,EAAE,KAAK,EAAE,IAAkC,EAAE,EAAE,CAC7D,IAAA,0CAAkB,EACd,MAAmD,EACnD,IAAI,CACP;CACR,CAAC,CAAA;AAfO,QAAA,uBAAuB,2BAe9B;AAuXN,SAAgB,0BAA0B;IACtC,OAAO,CAMH,MAAgD,EACC,EAAE,CAAC,CAAC;QACrD,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,4BAAiB,EAAC,MAAM,EAAE,IAAI,CAAC;QAC5D,wBAAwB,EAAE,KAAK,IAAI,EAAE,CAAC,IAAA,sDAAwB,EAAC,MAAM,CAAC;QACtE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAe,EAAC,MAAM,EAAE,IAAI,CAAC;QAC9D,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,8BAAmB,EAAC,MAAM,EAAE,IAAI,CAAC;QACtE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,oCAAe,EAAC,MAAM,EAAE,IAAI,CAAC;QAC9D,6BAA6B,EAAE,KAAK,IAAI,EAAE,CACtC,IAAA,gEAA6B,EAAC,MAAM,CAAC;QAEzC,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,oCAAe,EAAC,MAAM,EAAE,IAAW,CAAC;QAC/D,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,4BAAW,EAAC,MAAM,EAAE,IAAI,CAAC;QAChD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,gCAAa,EAAC,MAAM,EAAE,IAAI,CAAC;QACpD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,gCAAa,EAAC,MAAM,EAAE,IAAI,CAAC;KACvD,CAAC,CAAA;AACN,CAAC;AAtBD,gEAsBC"}
1
+ {"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../../clients/decorators/kernel.ts"],"names":[],"mappings":";;;AAaA,oHAA6G;AAC7G,0GAGiE;AACjE,wFAGwD;AACxD,wFAAiF;AACjF,gFAAyE;AACzE,oFAA6E;AAC7E,oFAGsD;AACtD,oFAA6E;AAM7E,qDAI+B;AAC/B,yFAIsD;AACtD,6FAIwD;AAejD,MAAM,uBAAuB,GAChC,GAAgD,EAAE,CAClD,CAAC,MAAc,EAAiC,EAAE,CAAC,CAAC;IAChD,oBAAoB,EAAE,KAAK,EAAE,IAAoC,EAAE,EAAE,CACjE,IAAA,8CAAoB,EAChB,MAAmD,EACnD;QACI,GAAG,IAAI;KACV,CACJ;IACL,kBAAkB,EAAE,KAAK,EAAE,IAAkC,EAAE,EAAE,CAC7D,IAAA,0CAAkB,EACd,MAAmD,EACnD,IAAI,CACP;CACR,CAAC,CAAA;AAfO,QAAA,uBAAuB,2BAe9B;AAqYN,SAAgB,0BAA0B;IACtC,OAAO,CAMH,MAAgD,EACC,EAAE,CAAC,CAAC;QACrD,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,4BAAiB,EAAC,MAAM,EAAE,IAAI,CAAC;QAC5D,wBAAwB,EAAE,KAAK,IAAI,EAAE,CAAC,IAAA,sDAAwB,EAAC,MAAM,CAAC;QACtE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAe,EAAC,MAAM,EAAE,IAAI,CAAC;QAC9D,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,8BAAmB,EAAC,MAAM,EAAE,IAAI,CAAC;QACtE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,oCAAe,EAAC,MAAM,EAAE,IAAI,CAAC;QAC9D,6BAA6B,EAAE,KAAK,IAAI,EAAE,CACtC,IAAA,gEAA6B,EAAC,MAAM,CAAC;QACzC,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,gCAAa,EAAC,MAAM,EAAE,IAAI,CAAC;QAE1D,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,oCAAe,EAAC,MAAM,EAAE,IAAW,CAAC;QAC/D,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,4BAAW,EAAC,MAAM,EAAE,IAAI,CAAC;QAChD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,gCAAa,EAAC,MAAM,EAAE,IAAI,CAAC;QACpD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,gCAAa,EAAC,MAAM,EAAE,IAAI,CAAC;KACvD,CAAC,CAAA;AACN,CAAC;AAvBD,gEAuBC"}
package/_cjs/constants.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getEntryPoint = exports.KernelFactoryToInitCodeHashMap = exports.safeCreateCallAddress = exports.EXEC_TYPE = exports.CALL_TYPE = exports.VALIDATOR_MODE = exports.VALIDATOR_TYPE = exports.KERNEL_NAME = exports.ONLY_ENTRYPOINT_HOOK_ADDRESS = exports.TOKEN_ACTION = exports.KERNEL_V3_2 = exports.KERNEL_V3_1 = exports.KERNEL_V3_0 = exports.KERNEL_V2_4 = exports.KERNEL_V2_3 = exports.KERNEL_V2_2 = exports.KERNEL_V0_2 = exports.KernelVersionToAddressesMap = exports.FACTORY_ADDRESS_V0_6_INIT_CODE_HASH = exports.FACTORY_ADDRESS_V0_6 = exports.MAGIC_VALUE_SIG_REPLAYABLE = exports.DUMMY_ECDSA_SIG = void 0;
3
+ exports.getEntryPoint = exports.KERNEL_IMPLEMENTATION_SLOT = exports.KernelFactoryToInitCodeHashMap = exports.safeCreateCallAddress = exports.EXEC_TYPE = exports.CALL_TYPE = exports.VALIDATOR_MODE = exports.VALIDATOR_TYPE = exports.KERNEL_NAME = exports.ONLY_ENTRYPOINT_HOOK_ADDRESS = exports.TOKEN_ACTION = exports.KERNEL_V3_2 = exports.KERNEL_V3_1 = exports.KERNEL_V3_0 = exports.KERNEL_V2_4 = exports.KERNEL_V2_3 = exports.KERNEL_V2_2 = exports.KERNEL_V0_2 = exports.KernelVersionToAddressesMap = exports.FACTORY_ADDRESS_V0_6_INIT_CODE_HASH = exports.FACTORY_ADDRESS_V0_6 = exports.MAGIC_VALUE_SIG_REPLAYABLE = exports.DUMMY_ECDSA_SIG = void 0;
4
4
  const viem_1 = require("viem");
5
5
  const account_abstraction_1 = require("viem/account-abstraction");
6
6
  exports.DUMMY_ECDSA_SIG = "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c";
@@ -82,6 +82,7 @@ exports.KernelFactoryToInitCodeHashMap = {
82
82
  "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3": "0xee9d8350bd899dd261db689aafd87eb8a30f085adbaff48152399438ff4eed73",
83
83
  "0x6723b44Abeec4E71eBE3232BD5B455805baDD22f": "0x6fe6e6ea30eddce942b9618033ab8429f9ddac594053bec8a6744fffc71976e2"
84
84
  };
85
+ exports.KERNEL_IMPLEMENTATION_SLOT = "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc";
85
86
  const getEntryPoint = (entryPointVersion) => {
86
87
  if (entryPointVersion === "0.6")
87
88
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":";;;AAAA,+BAA0D;AAC1D,kEAIiC;AAQpB,QAAA,eAAe,GACxB,sIAAsI,CAAA;AAE7H,QAAA,0BAA0B,GACnC,oEAAoE,CAAA;AAW3D,QAAA,oBAAoB,GAAG,4CAA4C,CAAA;AACnE,QAAA,mCAAmC,GAC5C,oEAAoE,CAAA;AAE3D,QAAA,2BAA2B,GASpC;IACA,OAAO,EAAE;QACL,4BAA4B,EAAE,kBAAW;QACzC,cAAc,EAAE,4CAA4C;KAC/D;IACD,OAAO,EAAE;QACL,4BAA4B,EACxB,4CAA4C;QAChD,cAAc,EAAE,4BAAoB;QACpC,YAAY,EAAE,2CAAmC;KACpD;IACD,OAAO,EAAE;QACL,4BAA4B,EACxB,4CAA4C;QAChD,cAAc,EAAE,4BAAoB;QACpC,YAAY,EAAE,2CAAmC;KACpD;IACD,OAAO,EAAE;QACL,4BAA4B,EACxB,4CAA4C;QAChD,cAAc,EAAE,4BAAoB;QACpC,YAAY,EAAE,2CAAmC;KACpD;IACD,OAAO,EAAE;QACL,4BAA4B,EACxB,4CAA4C;QAChD,cAAc,EAAE,4CAA4C;QAC5D,kBAAkB,EAAE,4CAA4C;QAChE,YAAY,EACR,oEAAoE;KAC3E;IACD,OAAO,EAAE;QACL,4BAA4B,EACxB,4CAA4C;QAChD,cAAc,EAAE,4CAA4C;QAC5D,kBAAkB,EAAE,4CAA4C;QAChE,YAAY,EACR,oEAAoE;KAC3E;IACD,OAAO,EAAE;QACL,4BAA4B,EACxB,4CAA4C;QAChD,cAAc,EAAE,4CAA4C;QAC5D,kBAAkB,EAAE,4CAA4C;QAChE,YAAY,EACR,oEAAoE;KAC3E;CACJ,CAAA;AAEY,QAAA,WAAW,GAA2B,OAAO,CAAA;AAC7C,QAAA,WAAW,GAA2B,OAAO,CAAA;AAC7C,QAAA,WAAW,GAA2B,OAAO,CAAA;AAC7C,QAAA,WAAW,GAA2B,OAAO,CAAA;AAC7C,QAAA,WAAW,GAA2B,OAAO,CAAA;AAC7C,QAAA,WAAW,GAA2B,OAAO,CAAA;AAC7C,QAAA,WAAW,GAA2B,OAAO,CAAA;AAE7C,QAAA,YAAY,GAAG,4CAA4C,CAAA;AAC3D,QAAA,4BAA4B,GACrC,4CAA4C,CAAA;AACnC,QAAA,WAAW,GAAG,QAAQ,CAAA;AAEtB,QAAA,cAAc,GAAG;IAC1B,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,MAAM;CACZ,CAAA;AACV,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,kCAAgB,CAAA;IAChB,iCAAe,CAAA;AACnB,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB;AACD,IAAY,SAIX;AAJD,WAAY,SAAS;IACjB,4BAAe,CAAA;IACf,2BAAc,CAAA;IACd,mCAAsB,CAAA;AAC1B,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AACD,IAAY,SAGX;AAHD,WAAY,SAAS;IACjB,6BAAgB,CAAA;IAChB,8BAAiB,CAAA;AACrB,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB;AAIY,QAAA,qBAAqB,GAC9B,4CAA4C,CAAA;AACnC,QAAA,8BAA8B,GAA4B;IACnE,4CAA4C,EACxC,oEAAoE;IACxE,4CAA4C,EACxC,oEAAoE;CAC3E,CAAA;AAEM,MAAM,aAAa,GAAG,CACzB,iBAAqC,EACH,EAAE;IACpC,IAAI,iBAAiB,KAAK,KAAK;QAC3B,OAAO;YACH,OAAO,EAAE,yCAAmB;YAC5B,OAAO,EAAE,iBAAiB;SAC7B,CAAA;IACL,OAAO;QACH,OAAO,EAAE,yCAAmB;QAC5B,OAAO,EAAE,iBAAiB;KAC7B,CAAA;AACL,CAAC,CAAA;AAZY,QAAA,aAAa,iBAYzB"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":"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"}
package/_cjs/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- 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.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; } });
@@ -60,4 +60,6 @@ var isPluginInitialized_js_1 = require("./accounts/kernel/utils/plugins/ep0_7/is
60
60
  Object.defineProperty(exports, "isPluginInitialized", { enumerable: true, get: function () { return isPluginInitialized_js_1.isPluginInitialized; } });
61
61
  tslib_1.__exportStar(require("./errors/index.js"), exports);
62
62
  tslib_1.__exportStar(require("./utils/index.js"), exports);
63
+ var getUpgradeKernelCall_js_1 = require("./accounts/kernel/utils/common/getUpgradeKernelCall.js");
64
+ Object.defineProperty(exports, "getUpgradeKernelCall", { enumerable: true, get: function () { return getUpgradeKernelCall_js_1.getUpgradeKernelCall; } });
63
65
  //# 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"}
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"}
@@ -0,0 +1,18 @@
1
+ import { encodeFunctionData } from "viem";
2
+ import { KernelVersionToAddressesMap } from "../../../../constants.js";
3
+ import { validateKernelVersionWithEntryPoint } from "../../../../utils.js";
4
+ import { KernelV3AccountAbi } from "../../abi/kernel_v_3_0_0/KernelAccountAbi.js";
5
+ export function getUpgradeKernelCall(account, kernelVersion) {
6
+ validateKernelVersionWithEntryPoint(account.entryPoint.version, kernelVersion);
7
+ const implementation = KernelVersionToAddressesMap[kernelVersion].accountImplementationAddress;
8
+ return {
9
+ to: account.address,
10
+ data: encodeFunctionData({
11
+ abi: KernelV3AccountAbi,
12
+ functionName: "upgradeTo",
13
+ args: [implementation]
14
+ }),
15
+ value: 0n
16
+ };
17
+ }
18
+ //# sourceMappingURL=getUpgradeKernelCall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUpgradeKernelCall.js","sourceRoot":"","sources":["../../../../../accounts/kernel/utils/common/getUpgradeKernelCall.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;AAEzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAA;AAEtE,OAAO,EAAE,mCAAmC,EAAE,MAAM,sBAAsB,CAAA;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAA;AAEjF,MAAM,UAAU,oBAAoB,CAChC,OAAqB,EACrB,aAAkC;IAElC,mCAAmC,CAC/B,OAAO,CAAC,UAAU,CAAC,OAAO,EAC1B,aAAa,CAChB,CAAA;IACD,MAAM,cAAc,GAChB,2BAA2B,CAAC,aAAa,CAAC,CAAC,4BAA4B,CAAA;IAE3E,OAAO;QACH,EAAE,EAAE,OAAO,CAAC,OAAO;QACnB,IAAI,EAAE,kBAAkB,CAAC;YACrB,GAAG,EAAE,kBAAkB;YACvB,YAAY,EAAE,WAAW;YACzB,IAAI,EAAE,CAAC,cAAc,CAAC;SACzB,CAAC;QACF,KAAK,EAAE,EAAE;KACZ,CAAA;AACL,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { sendUserOperation } from "viem/account-abstraction";
2
+ import { getAction, parseAccount } from "viem/utils";
3
+ import { getUpgradeKernelCall } from "../../accounts/kernel/utils/common/getUpgradeKernelCall.js";
4
+ import { AccountNotFoundError } from "../../errors/index.js";
5
+ export async function upgradeKernel(client, args) {
6
+ const { account: account_ = client.account, kernelVersion } = args;
7
+ if (!account_)
8
+ throw new AccountNotFoundError({
9
+ docsPath: "/docs/actions/wallet/sendTransaction"
10
+ });
11
+ const account = parseAccount(account_);
12
+ const call = getUpgradeKernelCall(account, kernelVersion);
13
+ return await getAction(client, sendUserOperation, "sendUserOperation")({
14
+ ...args,
15
+ calls: [call],
16
+ account
17
+ });
18
+ }
19
+ //# sourceMappingURL=upgradeKernel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgradeKernel.js","sourceRoot":"","sources":["../../../actions/account-client/upgradeKernel.ts"],"names":[],"mappings":"AACA,OAAO,EAGH,iBAAiB,EACpB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4DAA4D,CAAA;AACjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAa5D,MAAM,CAAC,KAAK,UAAU,aAAa,CAM/B,MAAyC,EACzC,IAAwE;IAExE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,IAAI,CAAA;IAClE,IAAI,CAAC,QAAQ;QACT,MAAM,IAAI,oBAAoB,CAAC;YAC3B,QAAQ,EAAE,sCAAsC;SACnD,CAAC,CAAA;IAEN,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAiB,CAAA;IACtD,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;IAEzD,OAAO,MAAM,SAAS,CAClB,MAAM,EACN,iBAAiB,EACjB,mBAAmB,CACtB,CAAC;QACE,GAAG,IAAI;QACP,KAAK,EAAE,CAAC,IAAI,CAAC;QACb,OAAO;KACqB,CAAC,CAAA;AACrC,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { getStorageAt } from "viem/actions";
2
+ import { getAction, getAddress, isHex, slice, toHex } from "viem/utils";
3
+ import { KERNEL_IMPLEMENTATION_SLOT } from "../../constants";
4
+ /**
5
+ * Returns the address of the kernel implementation.
6
+ *
7
+ * @param client {@link client} that you created using viem's createPublicClient.
8
+ * @param args {@link GetKernelImplementationAddressParams} address
9
+ * @returns Address
10
+ *
11
+ * @example
12
+ * import { createPublicClient } from "viem"
13
+ * import { getKernelImplementationAddress } from "@zerodev/sdk/actions"
14
+ *
15
+ * const client = createPublicClient({
16
+ * chain: goerli,
17
+ * transport: http("https://goerli.infura.io/v3/your-infura-key")
18
+ * })
19
+ *
20
+ * const kernelImplementationAddress = await getKernelImplementationAddress(client, {
21
+ * address,
22
+ * })
23
+ *
24
+ * // Return 0x0000000000000000000000000000000000000000
25
+ */
26
+ export const getKernelImplementationAddress = async (client, args) => {
27
+ const { address } = args;
28
+ const storageValue = await getAction(client, getStorageAt, "getStorageAt")({
29
+ address,
30
+ slot: KERNEL_IMPLEMENTATION_SLOT
31
+ });
32
+ if (!storageValue) {
33
+ throw new Error("Kernel implementation address not found");
34
+ }
35
+ const addressSlice = slice(storageValue, 12);
36
+ const addressHex = isHex(addressSlice) ? addressSlice : toHex(addressSlice);
37
+ return getAddress(addressHex);
38
+ };
39
+ //# sourceMappingURL=getKernelImplementationAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getKernelImplementationAddress.js","sourceRoot":"","sources":["../../../actions/public/getKernelImplementationAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAM5D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,KAAK,EAC/C,MAAc,EACd,IAA0C,EAC1B,EAAE;IAClB,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,yCAAyC,CAAC,CAAA;IAC9D,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,OAAO,UAAU,CAAC,UAAU,CAAC,CAAA;AACjC,CAAC,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export { getAccountNonce } from "./getAccountNonce.js";
2
2
  export { getSenderAddress } from "./getSenderAddress.js";
3
3
  export { isSmartAccountDeployed } from "./isSmartAccountDeployed.js";
4
+ export { getKernelImplementationAddress } from "./getKernelImplementationAddress.js";
4
5
  //# 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"}
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"}
@@ -4,6 +4,7 @@ import { invalidateNonce } from "../../actions/account-client/invalidateNonce.js
4
4
  import { sendTransaction } from "../../actions/account-client/sendTransaction.js";
5
5
  import { signMessage } from "../../actions/account-client/signMessage.js";
6
6
  import { signTypedData } from "../../actions/account-client/signTypedData.js";
7
+ import { upgradeKernel } from "../../actions/account-client/upgradeKernel.js";
7
8
  import { writeContract } from "../../actions/account-client/writeContract.js";
8
9
  import { changeSudoValidator, signUserOperation, uninstallPlugin } from "../../actions/index.js";
9
10
  import { estimateGasInERC20 } from "../../actions/paymaster/estimateGasInERC20.js";
@@ -22,6 +23,7 @@ export function kernelAccountClientActions() {
22
23
  changeSudoValidator: async (args) => changeSudoValidator(client, args),
23
24
  invalidateNonce: async (args) => invalidateNonce(client, args),
24
25
  getKernelV3ModuleCurrentNonce: async () => getKernelV3ModuleCurrentNonce(client),
26
+ upgradeKernel: async (args) => upgradeKernel(client, args),
25
27
  // biome-ignore lint/suspicious/noExplicitAny: <explanation>
26
28
  sendTransaction: (args) => sendTransaction(client, args),
27
29
  signMessage: (args) => signMessage(client, args),
@@ -1 +1 @@
1
- {"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../../clients/decorators/kernel.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,6BAA6B,EAAE,MAAM,+DAA+D,CAAA;AAC7G,OAAO,EAEH,wBAAwB,EAC3B,MAAM,0DAA0D,CAAA;AACjE,OAAO,EAEH,eAAe,EAClB,MAAM,iDAAiD,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAA;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAA;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAA;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAA;AAM7E,OAAO,EACH,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EAClB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAGH,kBAAkB,EACrB,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAGH,oBAAoB,EACvB,MAAM,iDAAiD,CAAA;AAexD,MAAM,CAAC,MAAM,uBAAuB,GAChC,GAAgD,EAAE,CAClD,CAAC,MAAc,EAAiC,EAAE,CAAC,CAAC;IAChD,oBAAoB,EAAE,KAAK,EAAE,IAAoC,EAAE,EAAE,CACjE,oBAAoB,CAChB,MAAmD,EACnD;QACI,GAAG,IAAI;KACV,CACJ;IACL,kBAAkB,EAAE,KAAK,EAAE,IAAkC,EAAE,EAAE,CAC7D,kBAAkB,CACd,MAAmD,EACnD,IAAI,CACP;CACR,CAAC,CAAA;AAuXN,MAAM,UAAU,0BAA0B;IACtC,OAAO,CAMH,MAAgD,EACC,EAAE,CAAC,CAAC;QACrD,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC;QAC5D,wBAAwB,EAAE,KAAK,IAAI,EAAE,CAAC,wBAAwB,CAAC,MAAM,CAAC;QACtE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC;QAC9D,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC;QACtE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC;QAC9D,6BAA6B,EAAE,KAAK,IAAI,EAAE,CACtC,6BAA6B,CAAC,MAAM,CAAC;QACzC,4DAA4D;QAC5D,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,IAAW,CAAC;QAC/D,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC;QAChD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC;QACpD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC;KACvD,CAAC,CAAA;AACN,CAAC"}
1
+ {"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../../clients/decorators/kernel.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,6BAA6B,EAAE,MAAM,+DAA+D,CAAA;AAC7G,OAAO,EAEH,wBAAwB,EAC3B,MAAM,0DAA0D,CAAA;AACjE,OAAO,EAEH,eAAe,EAClB,MAAM,iDAAiD,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAA;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAA;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAA;AAC7E,OAAO,EAEH,aAAa,EAChB,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAA;AAM7E,OAAO,EACH,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EAClB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAGH,kBAAkB,EACrB,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAGH,oBAAoB,EACvB,MAAM,iDAAiD,CAAA;AAexD,MAAM,CAAC,MAAM,uBAAuB,GAChC,GAAgD,EAAE,CAClD,CAAC,MAAc,EAAiC,EAAE,CAAC,CAAC;IAChD,oBAAoB,EAAE,KAAK,EAAE,IAAoC,EAAE,EAAE,CACjE,oBAAoB,CAChB,MAAmD,EACnD;QACI,GAAG,IAAI;KACV,CACJ;IACL,kBAAkB,EAAE,KAAK,EAAE,IAAkC,EAAE,EAAE,CAC7D,kBAAkB,CACd,MAAmD,EACnD,IAAI,CACP;CACR,CAAC,CAAA;AAqYN,MAAM,UAAU,0BAA0B;IACtC,OAAO,CAMH,MAAgD,EACC,EAAE,CAAC,CAAC;QACrD,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC;QAC5D,wBAAwB,EAAE,KAAK,IAAI,EAAE,CAAC,wBAAwB,CAAC,MAAM,CAAC;QACtE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC;QAC9D,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC;QACtE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC;QAC9D,6BAA6B,EAAE,KAAK,IAAI,EAAE,CACtC,6BAA6B,CAAC,MAAM,CAAC;QACzC,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC;QAC1D,4DAA4D;QAC5D,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,IAAW,CAAC;QAC/D,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC;QAChD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC;QACpD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC;KACvD,CAAC,CAAA;AACN,CAAC"}
package/_esm/constants.js CHANGED
@@ -89,6 +89,7 @@ export const KernelFactoryToInitCodeHashMap = {
89
89
  "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3": "0xee9d8350bd899dd261db689aafd87eb8a30f085adbaff48152399438ff4eed73",
90
90
  "0x6723b44Abeec4E71eBE3232BD5B455805baDD22f": "0x6fe6e6ea30eddce942b9618033ab8429f9ddac594053bec8a6744fffc71976e2"
91
91
  };
92
+ export const KERNEL_IMPLEMENTATION_SLOT = "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc";
92
93
  export const getEntryPoint = (entryPointVersion) => {
93
94
  if (entryPointVersion === "0.6")
94
95
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":"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"}
package/_esm/index.js CHANGED
@@ -25,4 +25,5 @@ export { getUserOperationGasPrice } from "./actions/account-client/getUserOperat
25
25
  export { isPluginInitialized } from "./accounts/kernel/utils/plugins/ep0_7/isPluginInitialized.js";
26
26
  export * from "./errors/index.js";
27
27
  export * from "./utils/index.js";
28
+ export { getUpgradeKernelCall } from "./accounts/kernel/utils/common/getUpgradeKernelCall.js";
28
29
  //# 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"}
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"}
@@ -0,0 +1,9 @@
1
+ import type { Hex } from "viem";
2
+ import type { SmartAccount } from "viem/account-abstraction";
3
+ import type { KERNEL_VERSION_TYPE } from "../../../../types/kernel.js";
4
+ export declare function getUpgradeKernelCall(account: SmartAccount, kernelVersion: KERNEL_VERSION_TYPE): {
5
+ to: string;
6
+ data: Hex;
7
+ value: bigint;
8
+ };
9
+ //# sourceMappingURL=getUpgradeKernelCall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUpgradeKernelCall.d.ts","sourceRoot":"","sources":["../../../../../accounts/kernel/utils/common/getUpgradeKernelCall.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAE/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAItE,wBAAgB,oBAAoB,CAChC,OAAO,EAAE,YAAY,EACrB,aAAa,EAAE,mBAAmB,GACnC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAiB1C"}
@@ -0,0 +1,8 @@
1
+ import type { Chain, Client, Hash, Prettify, Transport } from "viem";
2
+ import { type SendUserOperationParameters, type SmartAccount } from "viem/account-abstraction";
3
+ import type { KERNEL_VERSION_TYPE } from "../../types/kernel.js";
4
+ export type UpgradeKernelParameters<account extends SmartAccount | undefined, accountOverride extends SmartAccount | undefined = undefined, calls extends readonly unknown[] = readonly unknown[]> = Prettify<Partial<SendUserOperationParameters<account, accountOverride, calls>> & {
5
+ kernelVersion: KERNEL_VERSION_TYPE;
6
+ }>;
7
+ export declare function upgradeKernel<account extends SmartAccount | undefined, chain extends Chain | undefined, accountOverride extends SmartAccount | undefined = undefined, calls extends readonly unknown[] = readonly unknown[]>(client: Client<Transport, chain, account>, args: Prettify<UpgradeKernelParameters<account, accountOverride, calls>>): Promise<Hash>;
8
+ //# sourceMappingURL=upgradeKernel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgradeKernel.d.ts","sourceRoot":"","sources":["../../../actions/account-client/upgradeKernel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AACpE,OAAO,EACH,KAAK,2BAA2B,EAChC,KAAK,YAAY,EAEpB,MAAM,0BAA0B,CAAA;AAIjC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAEhE,MAAM,MAAM,uBAAuB,CAC/B,OAAO,SAAS,YAAY,GAAG,SAAS,EACxC,eAAe,SAAS,YAAY,GAAG,SAAS,GAAG,SAAS,EAC5D,KAAK,SAAS,SAAS,OAAO,EAAE,GAAG,SAAS,OAAO,EAAE,IACrD,QAAQ,CACR,OAAO,CAAC,2BAA2B,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC,GAAG;IACpE,aAAa,EAAE,mBAAmB,CAAA;CACrC,CACJ,CAAA;AAED,wBAAsB,aAAa,CAC/B,OAAO,SAAS,YAAY,GAAG,SAAS,EACxC,KAAK,SAAS,KAAK,GAAG,SAAS,EAC/B,eAAe,SAAS,YAAY,GAAG,SAAS,GAAG,SAAS,EAC5D,KAAK,SAAS,SAAS,OAAO,EAAE,GAAG,SAAS,OAAO,EAAE,EAErD,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,EACzC,IAAI,EAAE,QAAQ,CAAC,uBAAuB,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC,GACzE,OAAO,CAAC,IAAI,CAAC,CAmBf"}
@@ -0,0 +1,28 @@
1
+ import type { Address, Client } from "viem";
2
+ export type GetKernelImplementationAddressParams = {
3
+ address: Address;
4
+ };
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 GetKernelImplementationAddressParams} address
10
+ * @returns Address
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 kernelImplementationAddress = await getKernelImplementationAddress(client, {
22
+ * address,
23
+ * })
24
+ *
25
+ * // Return 0x0000000000000000000000000000000000000000
26
+ */
27
+ export declare const getKernelImplementationAddress: (client: Client, args: GetKernelImplementationAddressParams) => Promise<Address>;
28
+ //# sourceMappingURL=getKernelImplementationAddress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getKernelImplementationAddress.d.ts","sourceRoot":"","sources":["../../../actions/public/getKernelImplementationAddress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAK3C,MAAM,MAAM,oCAAoC,GAAG;IAC/C,OAAO,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,8BAA8B,WAC/B,MAAM,QACR,oCAAoC,KAC3C,QAAQ,OAAO,CAiBjB,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export { type GetAccountNonceParams, getAccountNonce } from "./getAccountNonce.js";
2
2
  export { type GetSenderAddressParams, type InvalidEntryPointError, getSenderAddress } from "./getSenderAddress.js";
3
3
  export { isSmartAccountDeployed } from "./isSmartAccountDeployed.js";
4
+ export { getKernelImplementationAddress } from "./getKernelImplementationAddress.js";
4
5
  //# 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"}
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"}
@@ -5,6 +5,7 @@ import { type InvalidateNonceParameters } from "../../actions/account-client/inv
5
5
  import { sendTransaction } from "../../actions/account-client/sendTransaction.js";
6
6
  import { signMessage } from "../../actions/account-client/signMessage.js";
7
7
  import { signTypedData } from "../../actions/account-client/signTypedData.js";
8
+ import { type UpgradeKernelParameters } from "../../actions/account-client/upgradeKernel.js";
8
9
  import { writeContract } from "../../actions/account-client/writeContract.js";
9
10
  import type { ChangeSudoValidatorParameters, SignUserOperationReturnType, UninstallPluginParameters } from "../../actions/index.js";
10
11
  import { signUserOperation } from "../../actions/index.js";
@@ -63,6 +64,14 @@ export type KernelAccountClientActions<TChain extends Chain | undefined = Chain
63
64
  * @returns nonce
64
65
  */
65
66
  getKernelV3ModuleCurrentNonce: () => Promise<number>;
67
+ /**
68
+ * Creates, signs, and sends a transaction to upgrade the kernel to the network.
69
+ * This function also allows you to sponsor this transaction if sender is a smartAccount
70
+ *
71
+ * @param args - {@link UpgradeKernelParameters}
72
+ * @returns The [Transaction](https://viem.sh/docs/glossary/terms.html#transaction) hash. {@link SendTransactionReturnType}
73
+ */
74
+ upgradeKernel: <accountOverride extends SmartAccount | undefined = undefined, calls extends readonly unknown[] = readonly unknown[]>(args: UpgradeKernelParameters<TSmartAccount, accountOverride, calls>) => Promise<Hash>;
66
75
  /**
67
76
  * Creates, signs, and sends a new transaction to the network.
68
77
  * This function also allows you to sponsor this transaction if sender is a smartAccount
@@ -1 +1 @@
1
- {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../../../clients/decorators/kernel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../../../clients/decorators/kernel.ts"],"names":[],"mappings":"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"}
@@ -45,5 +45,6 @@ export declare const safeCreateCallAddress = "0x9b35Af71d77eaf8d7e40252370304687
45
45
  export declare const KernelFactoryToInitCodeHashMap: {
46
46
  [key: Address]: Hex;
47
47
  };
48
+ export declare const KERNEL_IMPLEMENTATION_SLOT = "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc";
48
49
  export declare const getEntryPoint: <TEntryPointVersion extends EntryPointVersion>(entryPointVersion: TEntryPointVersion) => EntryPointType<TEntryPointVersion>;
49
50
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAe,MAAM,MAAM,CAAA;AAC1D,OAAO,EACH,KAAK,iBAAiB,EAGzB,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EACR,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACtB,MAAM,mBAAmB,CAAA;AAE1B,eAAO,MAAM,eAAe,yIAC8G,CAAA;AAE1I,eAAO,MAAM,0BAA0B,uEACiC,CAAA;AAWxE,eAAO,MAAM,oBAAoB,+CAA+C,CAAA;AAChF,eAAO,MAAM,mCAAmC,uEACwB,CAAA;AAExE,eAAO,MAAM,2BAA2B,EAAE;KACrC,GAAG,IAAI,mBAAmB,GAAG;QAC1B,4BAA4B,EAAE,OAAO,CAAA;QACrC,cAAc,EAAE,OAAO,CAAA;QACvB,kBAAkB,CAAC,EAAE,GAAG,SAAS,sBAAsB,GACjD,OAAO,GACP,KAAK,CAAA;QACX,YAAY,CAAC,EAAE,GAAG,CAAA;KACrB;CAgDJ,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,sBAAgC,CAAA;AAC1D,eAAO,MAAM,WAAW,EAAE,sBAAgC,CAAA;AAC1D,eAAO,MAAM,WAAW,EAAE,sBAAgC,CAAA;AAC1D,eAAO,MAAM,WAAW,EAAE,sBAAgC,CAAA;AAC1D,eAAO,MAAM,WAAW,EAAE,sBAAgC,CAAA;AAC1D,eAAO,MAAM,WAAW,EAAE,sBAAgC,CAAA;AAC1D,eAAO,MAAM,WAAW,EAAE,sBAAgC,CAAA;AAE1D,eAAO,MAAM,YAAY,+CAA+C,CAAA;AACxE,eAAO,MAAM,4BAA4B,+CACO,CAAA;AAChD,eAAO,MAAM,WAAW,WAAW,CAAA;AAEnC,eAAO,MAAM,cAAc;;;;CAIjB,CAAA;AACV,oBAAY,cAAc;IACtB,OAAO,SAAS;IAChB,MAAM,SAAS;CAClB;AACD,oBAAY,SAAS;IACjB,MAAM,SAAS;IACf,KAAK,SAAS;IACd,aAAa,SAAS;CACzB;AACD,oBAAY,SAAS;IACjB,OAAO,SAAS;IAChB,QAAQ,SAAS;CACpB;AAID,eAAO,MAAM,qBAAqB,+CACc,CAAA;AAChD,eAAO,MAAM,8BAA8B,EAAE;IAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,CAAA;CAKjE,CAAA;AAED,eAAO,MAAM,aAAa,6HAYzB,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAe,MAAM,MAAM,CAAA;AAC1D,OAAO,EACH,KAAK,iBAAiB,EAGzB,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EACR,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACtB,MAAM,mBAAmB,CAAA;AAE1B,eAAO,MAAM,eAAe,yIAC8G,CAAA;AAE1I,eAAO,MAAM,0BAA0B,uEACiC,CAAA;AAWxE,eAAO,MAAM,oBAAoB,+CAA+C,CAAA;AAChF,eAAO,MAAM,mCAAmC,uEACwB,CAAA;AAExE,eAAO,MAAM,2BAA2B,EAAE;KACrC,GAAG,IAAI,mBAAmB,GAAG;QAC1B,4BAA4B,EAAE,OAAO,CAAA;QACrC,cAAc,EAAE,OAAO,CAAA;QACvB,kBAAkB,CAAC,EAAE,GAAG,SAAS,sBAAsB,GACjD,OAAO,GACP,KAAK,CAAA;QACX,YAAY,CAAC,EAAE,GAAG,CAAA;KACrB;CAgDJ,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,sBAAgC,CAAA;AAC1D,eAAO,MAAM,WAAW,EAAE,sBAAgC,CAAA;AAC1D,eAAO,MAAM,WAAW,EAAE,sBAAgC,CAAA;AAC1D,eAAO,MAAM,WAAW,EAAE,sBAAgC,CAAA;AAC1D,eAAO,MAAM,WAAW,EAAE,sBAAgC,CAAA;AAC1D,eAAO,MAAM,WAAW,EAAE,sBAAgC,CAAA;AAC1D,eAAO,MAAM,WAAW,EAAE,sBAAgC,CAAA;AAE1D,eAAO,MAAM,YAAY,+CAA+C,CAAA;AACxE,eAAO,MAAM,4BAA4B,+CACO,CAAA;AAChD,eAAO,MAAM,WAAW,WAAW,CAAA;AAEnC,eAAO,MAAM,cAAc;;;;CAIjB,CAAA;AACV,oBAAY,cAAc;IACtB,OAAO,SAAS;IAChB,MAAM,SAAS;CAClB;AACD,oBAAY,SAAS;IACjB,MAAM,SAAS;IACf,KAAK,SAAS;IACd,aAAa,SAAS;CACzB;AACD,oBAAY,SAAS;IACjB,OAAO,SAAS;IAChB,QAAQ,SAAS;CACpB;AAID,eAAO,MAAM,qBAAqB,+CACc,CAAA;AAChD,eAAO,MAAM,8BAA8B,EAAE;IAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,CAAA;CAKjE,CAAA;AAED,eAAO,MAAM,0BAA0B,uEACiC,CAAA;AAExE,eAAO,MAAM,aAAa,6HAYzB,CAAA"}
package/_types/index.d.ts CHANGED
@@ -24,4 +24,5 @@ export { getUserOperationGasPrice } from "./actions/account-client/getUserOperat
24
24
  export { isPluginInitialized } from "./accounts/kernel/utils/plugins/ep0_7/isPluginInitialized.js";
25
25
  export * from "./errors/index.js";
26
26
  export * from "./utils/index.js";
27
+ export { getUpgradeKernelCall } from "./accounts/kernel/utils/common/getUpgradeKernelCall.js";
27
28
  //# 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"}
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"}
@@ -0,0 +1,29 @@
1
+ import type { Hex } from "viem"
2
+ import { encodeFunctionData } from "viem"
3
+ import type { SmartAccount } from "viem/account-abstraction"
4
+ import { KernelVersionToAddressesMap } from "../../../../constants.js"
5
+ import type { KERNEL_VERSION_TYPE } from "../../../../types/kernel.js"
6
+ import { validateKernelVersionWithEntryPoint } from "../../../../utils.js"
7
+ import { KernelV3AccountAbi } from "../../abi/kernel_v_3_0_0/KernelAccountAbi.js"
8
+
9
+ export function getUpgradeKernelCall(
10
+ account: SmartAccount,
11
+ kernelVersion: KERNEL_VERSION_TYPE
12
+ ): { to: string; data: Hex; value: bigint } {
13
+ validateKernelVersionWithEntryPoint(
14
+ account.entryPoint.version,
15
+ kernelVersion
16
+ )
17
+ const implementation =
18
+ KernelVersionToAddressesMap[kernelVersion].accountImplementationAddress
19
+
20
+ return {
21
+ to: account.address,
22
+ data: encodeFunctionData({
23
+ abi: KernelV3AccountAbi,
24
+ functionName: "upgradeTo",
25
+ args: [implementation]
26
+ }),
27
+ value: 0n
28
+ }
29
+ }
@@ -0,0 +1,49 @@
1
+ import type { Chain, Client, Hash, Prettify, Transport } from "viem"
2
+ import {
3
+ type SendUserOperationParameters,
4
+ type SmartAccount,
5
+ sendUserOperation
6
+ } from "viem/account-abstraction"
7
+ import { getAction, parseAccount } from "viem/utils"
8
+ import { getUpgradeKernelCall } from "../../accounts/kernel/utils/common/getUpgradeKernelCall.js"
9
+ import { AccountNotFoundError } from "../../errors/index.js"
10
+ import type { KERNEL_VERSION_TYPE } from "../../types/kernel.js"
11
+
12
+ export type UpgradeKernelParameters<
13
+ account extends SmartAccount | undefined,
14
+ accountOverride extends SmartAccount | undefined = undefined,
15
+ calls extends readonly unknown[] = readonly unknown[]
16
+ > = Prettify<
17
+ Partial<SendUserOperationParameters<account, accountOverride, calls>> & {
18
+ kernelVersion: KERNEL_VERSION_TYPE
19
+ }
20
+ >
21
+
22
+ export async function upgradeKernel<
23
+ account extends SmartAccount | undefined,
24
+ chain extends Chain | undefined,
25
+ accountOverride extends SmartAccount | undefined = undefined,
26
+ calls extends readonly unknown[] = readonly unknown[]
27
+ >(
28
+ client: Client<Transport, chain, account>,
29
+ args: Prettify<UpgradeKernelParameters<account, accountOverride, calls>>
30
+ ): Promise<Hash> {
31
+ const { account: account_ = client.account, kernelVersion } = args
32
+ if (!account_)
33
+ throw new AccountNotFoundError({
34
+ docsPath: "/docs/actions/wallet/sendTransaction"
35
+ })
36
+
37
+ const account = parseAccount(account_) as SmartAccount
38
+ const call = getUpgradeKernelCall(account, kernelVersion)
39
+
40
+ return await getAction(
41
+ client,
42
+ sendUserOperation,
43
+ "sendUserOperation"
44
+ )({
45
+ ...args,
46
+ calls: [call],
47
+ account
48
+ } as SendUserOperationParameters)
49
+ }
@@ -0,0 +1,52 @@
1
+ import type { Address, Client } from "viem"
2
+ import { getStorageAt } from "viem/actions"
3
+ import { getAction, getAddress, isHex, slice, toHex } from "viem/utils"
4
+ import { KERNEL_IMPLEMENTATION_SLOT } from "../../constants"
5
+
6
+ export type GetKernelImplementationAddressParams = {
7
+ address: Address
8
+ }
9
+
10
+ /**
11
+ * Returns the address of the kernel implementation.
12
+ *
13
+ * @param client {@link client} that you created using viem's createPublicClient.
14
+ * @param args {@link GetKernelImplementationAddressParams} address
15
+ * @returns Address
16
+ *
17
+ * @example
18
+ * import { createPublicClient } from "viem"
19
+ * import { getKernelImplementationAddress } from "@zerodev/sdk/actions"
20
+ *
21
+ * const client = createPublicClient({
22
+ * chain: goerli,
23
+ * transport: http("https://goerli.infura.io/v3/your-infura-key")
24
+ * })
25
+ *
26
+ * const kernelImplementationAddress = await getKernelImplementationAddress(client, {
27
+ * address,
28
+ * })
29
+ *
30
+ * // Return 0x0000000000000000000000000000000000000000
31
+ */
32
+ export const getKernelImplementationAddress = async (
33
+ client: Client,
34
+ args: GetKernelImplementationAddressParams
35
+ ): Promise<Address> => {
36
+ const { address } = args
37
+
38
+ const storageValue = await getAction(
39
+ client,
40
+ getStorageAt,
41
+ "getStorageAt"
42
+ )({
43
+ address,
44
+ slot: KERNEL_IMPLEMENTATION_SLOT
45
+ })
46
+ if (!storageValue) {
47
+ throw new Error("Kernel implementation address not found")
48
+ }
49
+ const addressSlice = slice(storageValue, 12)
50
+ const addressHex = isHex(addressSlice) ? addressSlice : toHex(addressSlice)
51
+ return getAddress(addressHex)
52
+ }
@@ -8,3 +8,4 @@ export {
8
8
  getSenderAddress
9
9
  } from "./getSenderAddress.js"
10
10
  export { isSmartAccountDeployed } from "./isSmartAccountDeployed.js"
11
+ export { getKernelImplementationAddress } from "./getKernelImplementationAddress.js"
@@ -23,6 +23,10 @@ import {
23
23
  import { sendTransaction } from "../../actions/account-client/sendTransaction.js"
24
24
  import { signMessage } from "../../actions/account-client/signMessage.js"
25
25
  import { signTypedData } from "../../actions/account-client/signTypedData.js"
26
+ import {
27
+ type UpgradeKernelParameters,
28
+ upgradeKernel
29
+ } from "../../actions/account-client/upgradeKernel.js"
26
30
  import { writeContract } from "../../actions/account-client/writeContract.js"
27
31
  import type {
28
32
  ChangeSudoValidatorParameters,
@@ -157,6 +161,20 @@ export type KernelAccountClientActions<
157
161
  * @returns nonce
158
162
  */
159
163
  getKernelV3ModuleCurrentNonce: () => Promise<number>
164
+ /**
165
+ * Creates, signs, and sends a transaction to upgrade the kernel to the network.
166
+ * This function also allows you to sponsor this transaction if sender is a smartAccount
167
+ *
168
+ * @param args - {@link UpgradeKernelParameters}
169
+ * @returns The [Transaction](https://viem.sh/docs/glossary/terms.html#transaction) hash. {@link SendTransactionReturnType}
170
+ */
171
+ upgradeKernel: <
172
+ accountOverride extends SmartAccount | undefined = undefined,
173
+ calls extends readonly unknown[] = readonly unknown[]
174
+ >(
175
+ args: UpgradeKernelParameters<TSmartAccount, accountOverride, calls>
176
+ ) => Promise<Hash>
177
+
160
178
  /**
161
179
  * Creates, signs, and sends a new transaction to the network.
162
180
  * This function also allows you to sponsor this transaction if sender is a smartAccount
@@ -464,6 +482,7 @@ export function kernelAccountClientActions() {
464
482
  invalidateNonce: async (args) => invalidateNonce(client, args),
465
483
  getKernelV3ModuleCurrentNonce: async () =>
466
484
  getKernelV3ModuleCurrentNonce(client),
485
+ upgradeKernel: async (args) => upgradeKernel(client, args),
467
486
  // biome-ignore lint/suspicious/noExplicitAny: <explanation>
468
487
  sendTransaction: (args) => sendTransaction(client, args as any),
469
488
  signMessage: (args) => signMessage(client, args),
package/constants.ts CHANGED
@@ -131,6 +131,9 @@ export const KernelFactoryToInitCodeHashMap: { [key: Address]: Hex } = {
131
131
  "0x6fe6e6ea30eddce942b9618033ab8429f9ddac594053bec8a6744fffc71976e2"
132
132
  }
133
133
 
134
+ export const KERNEL_IMPLEMENTATION_SLOT =
135
+ "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"
136
+
134
137
  export const getEntryPoint = <TEntryPointVersion extends EntryPointVersion>(
135
138
  entryPointVersion: TEntryPointVersion
136
139
  ): EntryPointType<TEntryPointVersion> => {
package/index.ts CHANGED
@@ -68,3 +68,4 @@ export { getUserOperationGasPrice } from "./actions/account-client/getUserOperat
68
68
  export { isPluginInitialized } from "./accounts/kernel/utils/plugins/ep0_7/isPluginInitialized.js"
69
69
  export * from "./errors/index.js"
70
70
  export * from "./utils/index.js"
71
+ export { getUpgradeKernelCall } from "./accounts/kernel/utils/common/getUpgradeKernelCall.js"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zerodev/sdk",
3
- "version": "5.4.6",
3
+ "version": "5.4.8",
4
4
  "author": "ZeroDev",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",