@dynamic-labs-sdk/zerodev 0.1.2 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/KernelClient.types.d.ts.map +1 -0
- package/{src → dist}/addZerodevExtension/addZerodevExtension.d.ts +1 -1
- package/dist/addZerodevExtension/addZerodevExtension.d.ts.map +1 -0
- package/dist/addZerodevExtension/index.d.ts.map +1 -0
- package/dist/canSponsorTransaction/canSponsorTransaction.d.ts.map +1 -0
- package/dist/canSponsorTransaction/index.d.ts.map +1 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/core.cjs.js +17 -0
- package/dist/core.cjs.js.map +1 -0
- package/dist/core.esm.js +9 -0
- package/dist/core.esm.js.map +1 -0
- package/{src → dist}/createKernelClientForWalletAccount/createKernelClientForWalletAccount.d.ts +1 -1
- package/dist/createKernelClientForWalletAccount/createKernelClientForWalletAccount.d.ts.map +1 -0
- package/dist/createKernelClientForWalletAccount/index.d.ts.map +1 -0
- package/dist/estimateTransactionGas/estimateTransactionGas.d.ts.map +1 -0
- package/dist/estimateTransactionGas/index.d.ts.map +1 -0
- package/dist/exports/core.d.ts.map +1 -0
- package/dist/exports/index.d.ts.map +1 -0
- package/{src → dist}/getSignerForSmartWalletAccount/getSignerForSmartWalletAccount.d.ts +1 -1
- package/dist/getSignerForSmartWalletAccount/getSignerForSmartWalletAccount.d.ts.map +1 -0
- package/dist/getSignerForSmartWalletAccount/index.d.ts.map +1 -0
- package/dist/getZerodevRpc-Bv9aCgYr.esm.js +177 -0
- package/dist/getZerodevRpc-Bv9aCgYr.esm.js.map +1 -0
- package/dist/getZerodevRpc-DhG6DLOa.cjs.js +254 -0
- package/dist/getZerodevRpc-DhG6DLOa.cjs.js.map +1 -0
- package/dist/index.cjs.js +258 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.esm.js +253 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/isGasSponsorshipError/index.d.ts.map +1 -0
- package/dist/isGasSponsorshipError/isGasSponsorshipError.d.ts.map +1 -0
- package/dist/isZerodevWalletAccount/index.d.ts.map +1 -0
- package/dist/isZerodevWalletAccount/isZerodevWalletAccount.d.ts.map +1 -0
- package/dist/tsconfig.lib.tsbuildinfo +1 -0
- package/dist/utils/calculateGasForUserOperation/calculateGasForUserOperation.d.ts.map +1 -0
- package/dist/utils/calculateGasForUserOperation/index.d.ts.map +1 -0
- package/dist/utils/createKernelAccount/createKernelAccount.d.ts.map +1 -0
- package/dist/utils/createKernelAccount/index.d.ts.map +1 -0
- package/dist/utils/createZerodevWalletProvider/createZerodevWalletProvider.d.ts.map +1 -0
- package/dist/utils/createZerodevWalletProvider/index.d.ts.map +1 -0
- package/dist/utils/getAllUserZerodevAddresses/getAllUserZerodevAddresses.d.ts.map +1 -0
- package/dist/utils/getAllUserZerodevAddresses/index.d.ts.map +1 -0
- package/dist/utils/getEcdsaValidator/getEcdsaValidator.d.ts.map +1 -0
- package/dist/utils/getEcdsaValidator/index.d.ts.map +1 -0
- package/dist/utils/getEntryPoint/getEntryPoint.d.ts.map +1 -0
- package/dist/utils/getEntryPoint/index.d.ts.map +1 -0
- package/dist/utils/getKernelVersion/getKernelVersion.d.ts.map +1 -0
- package/dist/utils/getKernelVersion/index.d.ts.map +1 -0
- package/dist/utils/getPaymasterConfig/getPaymasterConfig.d.ts.map +1 -0
- package/dist/utils/getPaymasterConfig/index.d.ts.map +1 -0
- package/{src → dist}/utils/getZerodevChainProviderForNetworkId/getZerodevChainProviderForNetworkId.d.ts +1 -1
- package/dist/utils/getZerodevChainProviderForNetworkId/getZerodevChainProviderForNetworkId.d.ts.map +1 -0
- package/dist/utils/getZerodevChainProviderForNetworkId/index.d.ts.map +1 -0
- package/{src → dist}/utils/getZerodevProviderFromSettings/getZerodevProviderFromSettings.d.ts +1 -1
- package/dist/utils/getZerodevProviderFromSettings/getZerodevProviderFromSettings.d.ts.map +1 -0
- package/dist/utils/getZerodevProviderFromSettings/index.d.ts.map +1 -0
- package/{src → dist}/utils/getZerodevRpc/getZerodevRpc.d.ts +1 -1
- package/dist/utils/getZerodevRpc/getZerodevRpc.d.ts.map +1 -0
- package/dist/utils/getZerodevRpc/index.d.ts.map +1 -0
- package/dist/utils/prepareUserOperationWithKernelClient/index.d.ts.map +1 -0
- package/dist/utils/prepareUserOperationWithKernelClient/prepareUserOperationWithKernelClient.d.ts.map +1 -0
- package/dist/utils/shouldSignWithEoa/index.d.ts.map +1 -0
- package/dist/utils/shouldSignWithEoa/shouldSignWithEoa.d.ts.map +1 -0
- package/dist/utils/shouldUseEIP7702/index.d.ts.map +1 -0
- package/{src → dist}/utils/shouldUseEIP7702/shouldUseEIP7702.d.ts +1 -1
- package/dist/utils/shouldUseEIP7702/shouldUseEIP7702.d.ts.map +1 -0
- package/dist/utils/signMessage/index.d.ts.map +1 -0
- package/dist/utils/signMessage/signMessage.d.ts.map +1 -0
- package/package.json +29 -15
- package/CHANGELOG.md +0 -606
- package/core.cjs.d.ts +0 -1
- package/core.cjs.js +0 -25
- package/core.esm.d.ts +0 -1
- package/core.esm.js +0 -14
- package/getZerodevRpc.cjs.js +0 -222
- package/getZerodevRpc.esm.js +0 -208
- package/index.cjs.d.ts +0 -1
- package/index.cjs.js +0 -311
- package/index.esm.d.ts +0 -1
- package/index.esm.js +0 -305
- package/src/KernelClient.types.d.ts.map +0 -1
- package/src/addZerodevExtension/addZerodevExtension.d.ts.map +0 -1
- package/src/addZerodevExtension/index.d.ts.map +0 -1
- package/src/canSponsorTransaction/canSponsorTransaction.d.ts.map +0 -1
- package/src/canSponsorTransaction/index.d.ts.map +0 -1
- package/src/constants.d.ts.map +0 -1
- package/src/createKernelClientForWalletAccount/createKernelClientForWalletAccount.d.ts.map +0 -1
- package/src/createKernelClientForWalletAccount/index.d.ts.map +0 -1
- package/src/estimateTransactionGas/estimateTransactionGas.d.ts.map +0 -1
- package/src/estimateTransactionGas/index.d.ts.map +0 -1
- package/src/exports/core.d.ts.map +0 -1
- package/src/exports/index.d.ts.map +0 -1
- package/src/getSignerForSmartWalletAccount/getSignerForSmartWalletAccount.d.ts.map +0 -1
- package/src/getSignerForSmartWalletAccount/index.d.ts.map +0 -1
- package/src/isGasSponsorshipError/index.d.ts.map +0 -1
- package/src/isGasSponsorshipError/isGasSponsorshipError.d.ts.map +0 -1
- package/src/isZerodevWalletAccount/index.d.ts.map +0 -1
- package/src/isZerodevWalletAccount/isZerodevWalletAccount.d.ts.map +0 -1
- package/src/utils/calculateGasForUserOperation/calculateGasForUserOperation.d.ts.map +0 -1
- package/src/utils/calculateGasForUserOperation/index.d.ts.map +0 -1
- package/src/utils/createKernelAccount/createKernelAccount.d.ts.map +0 -1
- package/src/utils/createKernelAccount/index.d.ts.map +0 -1
- package/src/utils/createZerodevWalletProvider/createZerodevWalletProvider.d.ts.map +0 -1
- package/src/utils/createZerodevWalletProvider/index.d.ts.map +0 -1
- package/src/utils/getAllUserZerodevAddresses/getAllUserZerodevAddresses.d.ts.map +0 -1
- package/src/utils/getAllUserZerodevAddresses/index.d.ts.map +0 -1
- package/src/utils/getEcdsaValidator/getEcdsaValidator.d.ts.map +0 -1
- package/src/utils/getEcdsaValidator/index.d.ts.map +0 -1
- package/src/utils/getEntryPoint/getEntryPoint.d.ts.map +0 -1
- package/src/utils/getEntryPoint/index.d.ts.map +0 -1
- package/src/utils/getKernelVersion/getKernelVersion.d.ts.map +0 -1
- package/src/utils/getKernelVersion/index.d.ts.map +0 -1
- package/src/utils/getPaymasterConfig/getPaymasterConfig.d.ts.map +0 -1
- package/src/utils/getPaymasterConfig/index.d.ts.map +0 -1
- package/src/utils/getZerodevChainProviderForNetworkId/getZerodevChainProviderForNetworkId.d.ts.map +0 -1
- package/src/utils/getZerodevChainProviderForNetworkId/index.d.ts.map +0 -1
- package/src/utils/getZerodevProviderFromSettings/getZerodevProviderFromSettings.d.ts.map +0 -1
- package/src/utils/getZerodevProviderFromSettings/index.d.ts.map +0 -1
- package/src/utils/getZerodevRpc/getZerodevRpc.d.ts.map +0 -1
- package/src/utils/getZerodevRpc/index.d.ts.map +0 -1
- package/src/utils/prepareUserOperationWithKernelClient/index.d.ts.map +0 -1
- package/src/utils/prepareUserOperationWithKernelClient/prepareUserOperationWithKernelClient.d.ts.map +0 -1
- package/src/utils/shouldSignWithEoa/index.d.ts.map +0 -1
- package/src/utils/shouldSignWithEoa/shouldSignWithEoa.d.ts.map +0 -1
- package/src/utils/shouldUseEIP7702/index.d.ts.map +0 -1
- package/src/utils/shouldUseEIP7702/shouldUseEIP7702.d.ts.map +0 -1
- package/src/utils/signMessage/index.d.ts.map +0 -1
- package/src/utils/signMessage/signMessage.d.ts.map +0 -1
- /package/{src → dist}/KernelClient.types.d.ts +0 -0
- /package/{src → dist}/addZerodevExtension/index.d.ts +0 -0
- /package/{src → dist}/canSponsorTransaction/canSponsorTransaction.d.ts +0 -0
- /package/{src → dist}/canSponsorTransaction/index.d.ts +0 -0
- /package/{src → dist}/constants.d.ts +0 -0
- /package/{src → dist}/createKernelClientForWalletAccount/index.d.ts +0 -0
- /package/{src → dist}/estimateTransactionGas/estimateTransactionGas.d.ts +0 -0
- /package/{src → dist}/estimateTransactionGas/index.d.ts +0 -0
- /package/{src → dist}/exports/core.d.ts +0 -0
- /package/{src → dist}/exports/index.d.ts +0 -0
- /package/{src → dist}/getSignerForSmartWalletAccount/index.d.ts +0 -0
- /package/{src → dist}/isGasSponsorshipError/index.d.ts +0 -0
- /package/{src → dist}/isGasSponsorshipError/isGasSponsorshipError.d.ts +0 -0
- /package/{src → dist}/isZerodevWalletAccount/index.d.ts +0 -0
- /package/{src → dist}/isZerodevWalletAccount/isZerodevWalletAccount.d.ts +0 -0
- /package/{src → dist}/utils/calculateGasForUserOperation/calculateGasForUserOperation.d.ts +0 -0
- /package/{src → dist}/utils/calculateGasForUserOperation/index.d.ts +0 -0
- /package/{src → dist}/utils/createKernelAccount/createKernelAccount.d.ts +0 -0
- /package/{src → dist}/utils/createKernelAccount/index.d.ts +0 -0
- /package/{src → dist}/utils/createZerodevWalletProvider/createZerodevWalletProvider.d.ts +0 -0
- /package/{src → dist}/utils/createZerodevWalletProvider/index.d.ts +0 -0
- /package/{src → dist}/utils/getAllUserZerodevAddresses/getAllUserZerodevAddresses.d.ts +0 -0
- /package/{src → dist}/utils/getAllUserZerodevAddresses/index.d.ts +0 -0
- /package/{src → dist}/utils/getEcdsaValidator/getEcdsaValidator.d.ts +0 -0
- /package/{src → dist}/utils/getEcdsaValidator/index.d.ts +0 -0
- /package/{src → dist}/utils/getEntryPoint/getEntryPoint.d.ts +0 -0
- /package/{src → dist}/utils/getEntryPoint/index.d.ts +0 -0
- /package/{src → dist}/utils/getKernelVersion/getKernelVersion.d.ts +0 -0
- /package/{src → dist}/utils/getKernelVersion/index.d.ts +0 -0
- /package/{src → dist}/utils/getPaymasterConfig/getPaymasterConfig.d.ts +0 -0
- /package/{src → dist}/utils/getPaymasterConfig/index.d.ts +0 -0
- /package/{src → dist}/utils/getZerodevChainProviderForNetworkId/index.d.ts +0 -0
- /package/{src → dist}/utils/getZerodevProviderFromSettings/index.d.ts +0 -0
- /package/{src → dist}/utils/getZerodevRpc/index.d.ts +0 -0
- /package/{src → dist}/utils/prepareUserOperationWithKernelClient/index.d.ts +0 -0
- /package/{src → dist}/utils/prepareUserOperationWithKernelClient/prepareUserOperationWithKernelClient.d.ts +0 -0
- /package/{src → dist}/utils/shouldSignWithEoa/index.d.ts +0 -0
- /package/{src → dist}/utils/shouldSignWithEoa/shouldSignWithEoa.d.ts +0 -0
- /package/{src → dist}/utils/shouldUseEIP7702/index.d.ts +0 -0
- /package/{src → dist}/utils/signMessage/index.d.ts +0 -0
- /package/{src → dist}/utils/signMessage/signMessage.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KernelClient.types.d.ts","sourceRoot":"","sources":["../src/KernelClient.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,MAAM,YAAY,GAAG,mBAAmB,CAC5C,SAAS,EACT,KAAK,EACL,YAAY,EACZ,MAAM,EACN,SAAS,CACV,CAAC"}
|
|
@@ -6,5 +6,5 @@ export declare const ZERODEV_EXTENSION_KEY = "zerodev";
|
|
|
6
6
|
*
|
|
7
7
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
8
8
|
*/
|
|
9
|
-
export declare const addZerodevExtension: (client?:
|
|
9
|
+
export declare const addZerodevExtension: (client?: import("@dynamic-labs-sdk/client").DynamicClient) => void;
|
|
10
10
|
//# sourceMappingURL=addZerodevExtension.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addZerodevExtension.d.ts","sourceRoot":"","sources":["../../src/addZerodevExtension/addZerodevExtension.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,qBAAqB,YAAY,CAAC;AAE/C;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,qEAe/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/addZerodevExtension/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canSponsorTransaction.d.ts","sourceRoot":"","sources":["../../src/canSponsorTransaction/canSponsorTransaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAGhC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1D,KAAK,+BAA+B,GAAG;IACrC,WAAW,EAAE;QACX,IAAI,CAAC,EAAE,GAAG,CAAC;QACX,EAAE,EAAE,GAAG,CAAC;QACR,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;AAEF,KAAK,qCAAqC,GAAG,+BAA+B,GAAG;IAC7E,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,aAAa,EAAE,gBAAgB,CAAC;CACjC,CAAC;AAEF,KAAK,qCAAqC,GAAG,+BAA+B,GAAG;IAC7E,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,CAAC,EAAE,KAAK,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GACnC,qCAAqC,GACrC,qCAAqC,CAAC;AAE1C;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,kDAI/B,2BAA2B,KAAG,OAAO,CAAC,OAAO,CA0B/C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/canSponsorTransaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,KAAK,2BAA2B,GACjC,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,gBAAgB;;;;CAI5B,CAAC;AAEF,eAAO,MAAM,oBAAoB,mCAAmC,CAAC;AAErE,eAAO,MAAM,kBAAkB;;;;;;CAMrB,CAAC;AAEX,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAC1C,iBAAiB,EACjB,mBAAmB,CAKX,CAAC"}
|
package/dist/core.cjs.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
const require_getZerodevRpc = require('./getZerodevRpc-DhG6DLOa.cjs.js');
|
|
2
|
+
let _dynamic_labs_sdk_assert_package_version = require("@dynamic-labs-sdk/assert-package-version");
|
|
3
|
+
|
|
4
|
+
//#region src/exports/core.ts
|
|
5
|
+
(0, _dynamic_labs_sdk_assert_package_version.assertPackageVersion)(require_getZerodevRpc.name, require_getZerodevRpc.version);
|
|
6
|
+
|
|
7
|
+
//#endregion
|
|
8
|
+
exports.createKernelAccount = require_getZerodevRpc.createKernelAccount;
|
|
9
|
+
exports.getEcdsaValidator = require_getZerodevRpc.getEcdsaValidator;
|
|
10
|
+
exports.getEntryPoint = require_getZerodevRpc.getEntryPoint;
|
|
11
|
+
exports.getKernelVersion = require_getZerodevRpc.getKernelVersion;
|
|
12
|
+
exports.getPaymasterConfig = require_getZerodevRpc.getPaymasterConfig;
|
|
13
|
+
exports.getZerodevChainProviderForNetworkId = require_getZerodevRpc.getZerodevChainProviderForNetworkId;
|
|
14
|
+
exports.getZerodevProviderFromSettings = require_getZerodevRpc.getZerodevProviderFromSettings;
|
|
15
|
+
exports.getZerodevRpc = require_getZerodevRpc.getZerodevRpc;
|
|
16
|
+
exports.shouldUseEIP7702 = require_getZerodevRpc.shouldUseEIP7702;
|
|
17
|
+
//# sourceMappingURL=core.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.cjs.js","names":["name","version"],"sources":["../src/exports/core.ts"],"sourcesContent":["import { assertPackageVersion } from '@dynamic-labs-sdk/assert-package-version';\n\nimport { name, version } from '../../package.json';\n\nassertPackageVersion(name, version);\n\n/**\n * @categoryDescription Extension Development\n * Core utilities and functions for building ZeroDev SDK extensions.\n * These APIs provide low-level access to the SDK internals and are intended\n * for advanced use cases and extension development. Most applications should\n * use the higher-level APIs exported from the main SDK package instead.\n */\n\n/** @category Extension Development */\nexport { createKernelAccount } from '../utils/createKernelAccount';\n/** @category Extension Development */\nexport { getEcdsaValidator } from '../utils/getEcdsaValidator';\n/** @category Extension Development */\nexport { getEntryPoint } from '../utils/getEntryPoint';\n/** @category Extension Development */\nexport { getKernelVersion } from '../utils/getKernelVersion';\n/** @category Extension Development */\nexport { getPaymasterConfig } from '../utils/getPaymasterConfig';\n/** @category Extension Development */\nexport { getZerodevChainProviderForNetworkId } from '../utils/getZerodevChainProviderForNetworkId';\n/** @category Extension Development */\nexport { getZerodevProviderFromSettings } from '../utils/getZerodevProviderFromSettings';\n/** @category Extension Development */\nexport { getZerodevRpc } from '../utils/getZerodevRpc';\n/** @category Extension Development */\nexport { shouldUseEIP7702 } from '../utils/shouldUseEIP7702';\n"],"mappings":";;;;mEAIqBA,4BAAMC,8BAAQ"}
|
package/dist/core.esm.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { a as getKernelVersion, f as name, i as shouldUseEIP7702, l as getZerodevChainProviderForNetworkId, n as getPaymasterConfig, o as getEntryPoint, p as version, r as createKernelAccount, s as getEcdsaValidator, t as getZerodevRpc, u as getZerodevProviderFromSettings } from "./getZerodevRpc-Bv9aCgYr.esm.js";
|
|
2
|
+
import { assertPackageVersion } from "@dynamic-labs-sdk/assert-package-version";
|
|
3
|
+
|
|
4
|
+
//#region src/exports/core.ts
|
|
5
|
+
assertPackageVersion(name, version);
|
|
6
|
+
|
|
7
|
+
//#endregion
|
|
8
|
+
export { createKernelAccount, getEcdsaValidator, getEntryPoint, getKernelVersion, getPaymasterConfig, getZerodevChainProviderForNetworkId, getZerodevProviderFromSettings, getZerodevRpc, shouldUseEIP7702 };
|
|
9
|
+
//# sourceMappingURL=core.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.esm.js","names":[],"sources":["../src/exports/core.ts"],"sourcesContent":["import { assertPackageVersion } from '@dynamic-labs-sdk/assert-package-version';\n\nimport { name, version } from '../../package.json';\n\nassertPackageVersion(name, version);\n\n/**\n * @categoryDescription Extension Development\n * Core utilities and functions for building ZeroDev SDK extensions.\n * These APIs provide low-level access to the SDK internals and are intended\n * for advanced use cases and extension development. Most applications should\n * use the higher-level APIs exported from the main SDK package instead.\n */\n\n/** @category Extension Development */\nexport { createKernelAccount } from '../utils/createKernelAccount';\n/** @category Extension Development */\nexport { getEcdsaValidator } from '../utils/getEcdsaValidator';\n/** @category Extension Development */\nexport { getEntryPoint } from '../utils/getEntryPoint';\n/** @category Extension Development */\nexport { getKernelVersion } from '../utils/getKernelVersion';\n/** @category Extension Development */\nexport { getPaymasterConfig } from '../utils/getPaymasterConfig';\n/** @category Extension Development */\nexport { getZerodevChainProviderForNetworkId } from '../utils/getZerodevChainProviderForNetworkId';\n/** @category Extension Development */\nexport { getZerodevProviderFromSettings } from '../utils/getZerodevProviderFromSettings';\n/** @category Extension Development */\nexport { getZerodevRpc } from '../utils/getZerodevRpc';\n/** @category Extension Development */\nexport { shouldUseEIP7702 } from '../utils/shouldUseEIP7702';\n"],"mappings":";;;;AAIA,qBAAqB,MAAM,QAAQ"}
|
package/{src → dist}/createKernelClientForWalletAccount/createKernelClientForWalletAccount.d.ts
RENAMED
|
@@ -25,6 +25,6 @@ type CreateKernelClientForWalletAccountParams = {
|
|
|
25
25
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
26
26
|
* @returns A promise that resolves to a KernelClient instance.
|
|
27
27
|
*/
|
|
28
|
-
export declare const createKernelClientForWalletAccount: ({ smartWalletAccount, withSponsorship, bundlerProvider, networkId, bundlerRpc: bundlerRpcOverride, paymasterRpc: paymasterRpcOverride, gasTokenAddress, }: CreateKernelClientForWalletAccountParams, client?:
|
|
28
|
+
export declare const createKernelClientForWalletAccount: ({ smartWalletAccount, withSponsorship, bundlerProvider, networkId, bundlerRpc: bundlerRpcOverride, paymasterRpc: paymasterRpcOverride, gasTokenAddress, }: CreateKernelClientForWalletAccountParams, client?: import("@dynamic-labs-sdk/client").DynamicClient) => Promise<KernelClient>;
|
|
29
29
|
export {};
|
|
30
30
|
//# sourceMappingURL=createKernelClientForWalletAccount.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createKernelClientForWalletAccount.d.ts","sourceRoot":"","sources":["../../src/createKernelClientForWalletAccount/createKernelClientForWalletAccount.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAKzE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAGhC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAK1D,KAAK,wCAAwC,GAAG;IAC9C,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,gBAAgB,CAAC;IACrC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,kCAAkC,8JAS1C,wCAAwC,gEAE1C,OAAO,CAAC,YAAY,CAqFtB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/createKernelClientForWalletAccount/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"estimateTransactionGas.d.ts","sourceRoot":"","sources":["../../src/estimateTransactionGas/estimateTransactionGas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAMhC,MAAM,MAAM,4BAA4B,GAAG;IACzC,WAAW,EAAE;QACX,IAAI,CAAC,EAAE,GAAG,CAAC;QACX,EAAE,EAAE,GAAG,CAAC;QACR,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,aAAa,EAAE,gBAAgB,CAAC;CACjC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,oCAGhC,4BAA4B,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAqBtD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/estimateTransactionGas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,KAAK,4BAA4B,GAClC,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/exports/core.ts"],"names":[],"mappings":"AAMA;;;;;;GAMG;AAEH,sCAAsC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,sCAAsC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,sCAAsC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,sCAAsC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,sCAAsC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,sCAAsC;AACtC,OAAO,EAAE,mCAAmC,EAAE,MAAM,8CAA8C,CAAC;AACnG,sCAAsC;AACtC,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,sCAAsC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,sCAAsC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/exports/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,kCAAkC,EAAE,MAAM,uCAAuC,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -12,6 +12,6 @@ type GetSignerForSmartWalletAccountParams = {
|
|
|
12
12
|
* @returns A promise that resolves to an WalletClient instance.
|
|
13
13
|
* @throws NoSmartWalletAccountSignerFoundError When the signer wallet account is not found for the given smart wallet account.
|
|
14
14
|
*/
|
|
15
|
-
export declare const getSignerForSmartWalletAccount: ({ smartWalletAccount }: GetSignerForSmartWalletAccountParams, client?:
|
|
15
|
+
export declare const getSignerForSmartWalletAccount: ({ smartWalletAccount }: GetSignerForSmartWalletAccountParams, client?: import("@dynamic-labs-sdk/client").DynamicClient) => Promise<WalletClient<Transport, Chain, Account>>;
|
|
16
16
|
export {};
|
|
17
17
|
//# sourceMappingURL=getSignerForSmartWalletAccount.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSignerForSmartWalletAccount.d.ts","sourceRoot":"","sources":["../../src/getSignerForSmartWalletAccount/getSignerForSmartWalletAccount.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEpE,KAAK,oCAAoC,GAAG;IAC1C,kBAAkB,EAAE,gBAAgB,CAAC;CACtC,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,8BAA8B,2BACjB,oCAAoC,gEAE3D,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAgBjD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/getSignerForSmartWalletAccount/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { DYNAMIC_ICONIC_SPRITE_URL, assertDefined, getDefaultClient, getVerifiedCredentialForWalletAccount } from "@dynamic-labs-sdk/client/core";
|
|
2
|
+
import { NoSmartWalletAccountSignerFoundError, getOwnerWalletAccountForSmartWalletAccount } from "@dynamic-labs-sdk/client";
|
|
3
|
+
import { isEvmWalletAccount } from "@dynamic-labs-sdk/evm";
|
|
4
|
+
import { ProviderEntryPointVersionEnum, ProviderEnum, ProviderKernelVersionEnum, ZerodevBundlerProvider } from "@dynamic-labs/sdk-api-core";
|
|
5
|
+
import { constants, createKernelAccount, createZeroDevPaymasterClient } from "@zerodev/sdk";
|
|
6
|
+
import { createWalletClientForWalletAccount } from "@dynamic-labs-sdk/evm/viem";
|
|
7
|
+
import { http } from "viem";
|
|
8
|
+
import { createEcdsaKernelMigrationAccount, signerToEcdsaValidator } from "@zerodev/ecdsa-validator";
|
|
9
|
+
import { toMultiChainECDSAValidator } from "@zerodev/multi-chain-ecdsa-validator";
|
|
10
|
+
|
|
11
|
+
//#region package.json
|
|
12
|
+
var name = "@dynamic-labs-sdk/zerodev";
|
|
13
|
+
var version = "0.2.4";
|
|
14
|
+
|
|
15
|
+
//#endregion
|
|
16
|
+
//#region src/constants.ts
|
|
17
|
+
const ZERODEV_METADATA = {
|
|
18
|
+
displayName: "ZeroDev",
|
|
19
|
+
icon: `${DYNAMIC_ICONIC_SPRITE_URL}#smartwallet`,
|
|
20
|
+
normalizedWalletName: "zerodev"
|
|
21
|
+
};
|
|
22
|
+
const ZERODEV_RPC_BASE_URL = "https://rpc.zerodev.app/api/v2";
|
|
23
|
+
const KERNEL_VERSION_MAP = {
|
|
24
|
+
[ProviderKernelVersionEnum.V33]: constants.KERNEL_V3_3,
|
|
25
|
+
[ProviderKernelVersionEnum.V32]: constants.KERNEL_V3_2,
|
|
26
|
+
[ProviderKernelVersionEnum.V31]: constants.KERNEL_V3_1,
|
|
27
|
+
[ProviderKernelVersionEnum.V30]: constants.KERNEL_V3_0,
|
|
28
|
+
[ProviderKernelVersionEnum.V24]: constants.KERNEL_V2_4
|
|
29
|
+
};
|
|
30
|
+
const ENTRY_POINT_VERSION_MAP = {
|
|
31
|
+
.6: constants.KERNEL_V2_4,
|
|
32
|
+
.7: constants.KERNEL_V3_1,
|
|
33
|
+
.8: constants.KERNEL_V3_3
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
//#endregion
|
|
37
|
+
//#region src/utils/getZerodevProviderFromSettings/getZerodevProviderFromSettings.ts
|
|
38
|
+
const getZerodevProviderFromSettings = (client) => {
|
|
39
|
+
const projectSettings = client.projectSettings;
|
|
40
|
+
assertDefined(projectSettings, "Project settings are not available");
|
|
41
|
+
const zerodevProvider = projectSettings.providers?.find((provider) => provider.provider === ProviderEnum.Zerodev);
|
|
42
|
+
assertDefined(zerodevProvider, "Zerodev is not configured in project settings");
|
|
43
|
+
return zerodevProvider;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
//#endregion
|
|
47
|
+
//#region src/utils/getZerodevChainProviderForNetworkId/getZerodevChainProviderForNetworkId.ts
|
|
48
|
+
const getZerodevChainProviderForNetworkId = ({ networkId }, client) => {
|
|
49
|
+
return getZerodevProviderFromSettings(client).multichainAccountAbstractionProviders?.find((provider) => provider.chain === networkId);
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
//#endregion
|
|
53
|
+
//#region src/getSignerForSmartWalletAccount/getSignerForSmartWalletAccount.ts
|
|
54
|
+
/**
|
|
55
|
+
* Gets a WalletClient instance for the EOA of the smart wallet account.
|
|
56
|
+
* You can use this signer to sign EVM transactions.
|
|
57
|
+
*
|
|
58
|
+
* @param params.smartWalletAccount - The EVM smart wallet account to get the signer for.
|
|
59
|
+
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
60
|
+
* @returns A promise that resolves to an WalletClient instance.
|
|
61
|
+
* @throws NoSmartWalletAccountSignerFoundError When the signer wallet account is not found for the given smart wallet account.
|
|
62
|
+
*/
|
|
63
|
+
const getSignerForSmartWalletAccount = ({ smartWalletAccount }, client = getDefaultClient()) => {
|
|
64
|
+
const signerWalletAccount = getOwnerWalletAccountForSmartWalletAccount({ smartWalletAccount }, client);
|
|
65
|
+
if (!signerWalletAccount || !isEvmWalletAccount(signerWalletAccount)) throw new NoSmartWalletAccountSignerFoundError(smartWalletAccount.address);
|
|
66
|
+
return createWalletClientForWalletAccount({ walletAccount: signerWalletAccount }, client);
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
//#endregion
|
|
70
|
+
//#region src/utils/getEcdsaValidator/getEcdsaValidator.ts
|
|
71
|
+
const getEcdsaValidator = ({ ecdsaProviderType, publicClient, signer, entryPoint, kernelVersion }) => {
|
|
72
|
+
const params = {
|
|
73
|
+
entryPoint,
|
|
74
|
+
kernelVersion,
|
|
75
|
+
signer
|
|
76
|
+
};
|
|
77
|
+
if (ecdsaProviderType === "zerodev_multi_chain") return toMultiChainECDSAValidator(publicClient, params);
|
|
78
|
+
return signerToEcdsaValidator(publicClient, params);
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
//#endregion
|
|
82
|
+
//#region src/utils/getEntryPoint/getEntryPoint.ts
|
|
83
|
+
const getEntryPoint = (entryPoint) => {
|
|
84
|
+
if (entryPoint === ProviderEntryPointVersionEnum.V6) return constants.getEntryPoint("0.6");
|
|
85
|
+
return constants.getEntryPoint("0.7");
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
//#endregion
|
|
89
|
+
//#region src/utils/getKernelVersion/getKernelVersion.ts
|
|
90
|
+
const getKernelVersion = ({ kernelVersion, entryPoint }) => {
|
|
91
|
+
if (kernelVersion && kernelVersion in KERNEL_VERSION_MAP) return KERNEL_VERSION_MAP[kernelVersion];
|
|
92
|
+
const entryPointVersion = entryPoint.version;
|
|
93
|
+
if (entryPointVersion in ENTRY_POINT_VERSION_MAP) return ENTRY_POINT_VERSION_MAP[entryPointVersion];
|
|
94
|
+
return constants.KERNEL_V3_3;
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
//#endregion
|
|
98
|
+
//#region src/utils/shouldUseEIP7702/shouldUseEIP7702.ts
|
|
99
|
+
const shouldUseEIP7702 = ({ smartWalletAccount }, client) => {
|
|
100
|
+
const zerodevProvider = getZerodevProviderFromSettings(client);
|
|
101
|
+
assertDefined(zerodevProvider, "Zerodev provider is not enabled in project settings");
|
|
102
|
+
const eoaWalletAccount = getOwnerWalletAccountForSmartWalletAccount({ smartWalletAccount }, client);
|
|
103
|
+
assertDefined(eoaWalletAccount, "EOA wallet account is not found");
|
|
104
|
+
return zerodevProvider.enableEIP7702 && smartWalletAccount.address === eoaWalletAccount.address;
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
//#endregion
|
|
108
|
+
//#region src/utils/createKernelAccount/createKernelAccount.ts
|
|
109
|
+
const createKernelAccount$1 = async ({ publicClient, smartWalletAccount }, client) => {
|
|
110
|
+
const zerodevProvider = getZerodevProviderFromSettings(client);
|
|
111
|
+
assertDefined(zerodevProvider, "Zerodev provider is not enabled in project settings");
|
|
112
|
+
const signer = await getSignerForSmartWalletAccount({ smartWalletAccount }, client);
|
|
113
|
+
const walletProperties = getVerifiedCredentialForWalletAccount({ walletAccount: smartWalletAccount }, client)?.walletProperties;
|
|
114
|
+
const entryPoint = getEntryPoint(walletProperties?.entryPointVersion ?? zerodevProvider.entryPointVersion);
|
|
115
|
+
if (shouldUseEIP7702({ smartWalletAccount }, client)) return createKernelAccount(publicClient, {
|
|
116
|
+
eip7702Account: signer,
|
|
117
|
+
entryPoint,
|
|
118
|
+
kernelVersion: constants.KERNEL_V3_3
|
|
119
|
+
});
|
|
120
|
+
const kernelVersion = getKernelVersion({
|
|
121
|
+
entryPoint,
|
|
122
|
+
kernelVersion: walletProperties?.kernelVersion ?? zerodevProvider.kernelVersion
|
|
123
|
+
});
|
|
124
|
+
if (zerodevProvider.enableKernelV3Migration ?? false) return createEcdsaKernelMigrationAccount(publicClient, {
|
|
125
|
+
entryPoint,
|
|
126
|
+
migrationVersion: {
|
|
127
|
+
from: kernelVersion,
|
|
128
|
+
to: getKernelVersion({
|
|
129
|
+
entryPoint,
|
|
130
|
+
kernelVersion: zerodevProvider.kernelVersion
|
|
131
|
+
})
|
|
132
|
+
},
|
|
133
|
+
signer
|
|
134
|
+
});
|
|
135
|
+
return createKernelAccount(publicClient, {
|
|
136
|
+
entryPoint,
|
|
137
|
+
kernelVersion,
|
|
138
|
+
plugins: { sudo: await getEcdsaValidator({
|
|
139
|
+
ecdsaProviderType: walletProperties?.ecdsaProviderType ?? zerodevProvider.ecdsaProviderType,
|
|
140
|
+
entryPoint,
|
|
141
|
+
kernelVersion,
|
|
142
|
+
publicClient,
|
|
143
|
+
signer
|
|
144
|
+
}) }
|
|
145
|
+
});
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
//#endregion
|
|
149
|
+
//#region src/utils/getPaymasterConfig/getPaymasterConfig.ts
|
|
150
|
+
const getPaymasterConfig = ({ chain, gasTokenAddress, paymasterRpc }) => {
|
|
151
|
+
const getPaymasterData = (params) => {
|
|
152
|
+
return createZeroDevPaymasterClient({
|
|
153
|
+
chain,
|
|
154
|
+
transport: http(paymasterRpc)
|
|
155
|
+
}).sponsorUserOperation({
|
|
156
|
+
gasToken: gasTokenAddress,
|
|
157
|
+
userOperation: params
|
|
158
|
+
});
|
|
159
|
+
};
|
|
160
|
+
return { paymaster: { getPaymasterData } };
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
//#endregion
|
|
164
|
+
//#region src/utils/getZerodevRpc/getZerodevRpc.ts
|
|
165
|
+
const getZerodevRpc = ({ networkId, bundlerProvider, rpcType }, client) => {
|
|
166
|
+
const zerodevProvider = getZerodevProviderFromSettings(client);
|
|
167
|
+
if (zerodevProvider?.zerodevPaymasterRpcUrl) return zerodevProvider.zerodevPaymasterRpcUrl;
|
|
168
|
+
const zerodevChainProvider = getZerodevChainProviderForNetworkId({ networkId }, client);
|
|
169
|
+
assertDefined(zerodevChainProvider, `No zerodev provider found for network id ${networkId}`);
|
|
170
|
+
const paymasterProvider = bundlerProvider ?? zerodevProvider.zerodevBundlerProvider ?? ZerodevBundlerProvider.Pimlico;
|
|
171
|
+
const paramName = rpcType === "bundler" ? "bundlerProvider" : "paymasterProvider";
|
|
172
|
+
return `${ZERODEV_RPC_BASE_URL}/${rpcType}/${zerodevChainProvider.clientId}?${paramName}=${paymasterProvider}`;
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
//#endregion
|
|
176
|
+
export { getKernelVersion as a, getSignerForSmartWalletAccount as c, ZERODEV_METADATA as d, name as f, shouldUseEIP7702 as i, getZerodevChainProviderForNetworkId as l, getPaymasterConfig as n, getEntryPoint as o, version as p, createKernelAccount$1 as r, getEcdsaValidator as s, getZerodevRpc as t, getZerodevProviderFromSettings as u };
|
|
177
|
+
//# sourceMappingURL=getZerodevRpc-Bv9aCgYr.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getZerodevRpc-Bv9aCgYr.esm.js","names":["ENTRY_POINT_VERSION_MAP: Record<\n EntryPointVersion,\n KERNEL_VERSION_TYPE\n>","entryPointVersion: keyof typeof ENTRY_POINT_VERSION_MAP","createKernelAccount","createZerodevKernelAccount"],"sources":["../package.json","../src/constants.ts","../src/utils/getZerodevProviderFromSettings/getZerodevProviderFromSettings.ts","../src/utils/getZerodevChainProviderForNetworkId/getZerodevChainProviderForNetworkId.ts","../src/getSignerForSmartWalletAccount/getSignerForSmartWalletAccount.ts","../src/utils/getEcdsaValidator/getEcdsaValidator.ts","../src/utils/getEntryPoint/getEntryPoint.ts","../src/utils/getKernelVersion/getKernelVersion.ts","../src/utils/shouldUseEIP7702/shouldUseEIP7702.ts","../src/utils/createKernelAccount/createKernelAccount.ts","../src/utils/getPaymasterConfig/getPaymasterConfig.ts","../src/utils/getZerodevRpc/getZerodevRpc.ts"],"sourcesContent":["","import { DYNAMIC_ICONIC_SPRITE_URL } from '@dynamic-labs-sdk/client/core';\nimport { ProviderKernelVersionEnum } from '@dynamic-labs/sdk-api-core';\nimport { constants } from '@zerodev/sdk';\nimport type { KERNEL_VERSION_TYPE } from '@zerodev/sdk/types';\nimport type { EntryPointVersion } from 'viem/account-abstraction';\n\nexport const ZERODEV_METADATA = {\n displayName: 'ZeroDev',\n icon: `${DYNAMIC_ICONIC_SPRITE_URL}#smartwallet`,\n normalizedWalletName: 'zerodev',\n};\n\nexport const ZERODEV_RPC_BASE_URL = 'https://rpc.zerodev.app/api/v2';\n\nexport const KERNEL_VERSION_MAP = {\n [ProviderKernelVersionEnum.V33]: constants.KERNEL_V3_3,\n [ProviderKernelVersionEnum.V32]: constants.KERNEL_V3_2,\n [ProviderKernelVersionEnum.V31]: constants.KERNEL_V3_1,\n [ProviderKernelVersionEnum.V30]: constants.KERNEL_V3_0,\n [ProviderKernelVersionEnum.V24]: constants.KERNEL_V2_4,\n} as const;\n\nexport const ENTRY_POINT_VERSION_MAP: Record<\n EntryPointVersion,\n KERNEL_VERSION_TYPE\n> = {\n 0.6: constants.KERNEL_V2_4,\n 0.7: constants.KERNEL_V3_1,\n 0.8: constants.KERNEL_V3_3,\n} as const;\n","import type { DynamicClient } from '@dynamic-labs-sdk/client';\nimport { assertDefined } from '@dynamic-labs-sdk/client/core';\nimport { ProviderEnum } from '@dynamic-labs/sdk-api-core';\n\nexport const getZerodevProviderFromSettings = (client: DynamicClient) => {\n const projectSettings = client.projectSettings;\n\n assertDefined(projectSettings, 'Project settings are not available');\n\n const zerodevProvider = projectSettings.providers?.find(\n (provider) => provider.provider === ProviderEnum.Zerodev\n );\n\n assertDefined(\n zerodevProvider,\n 'Zerodev is not configured in project settings'\n );\n\n return zerodevProvider;\n};\n","import type { DynamicClient } from '@dynamic-labs-sdk/client';\n\nimport { getZerodevProviderFromSettings } from '../getZerodevProviderFromSettings';\n\ntype GetZerodevChainProviderForNetworkIdProps = {\n networkId: string;\n};\n\nexport const getZerodevChainProviderForNetworkId = (\n { networkId }: GetZerodevChainProviderForNetworkIdProps,\n client: DynamicClient\n) => {\n const zerodevProvider = getZerodevProviderFromSettings(client);\n\n return zerodevProvider.multichainAccountAbstractionProviders?.find(\n (provider) => provider.chain === networkId\n );\n};\n","import {\n NoSmartWalletAccountSignerFoundError,\n getOwnerWalletAccountForSmartWalletAccount,\n} from '@dynamic-labs-sdk/client';\nimport { getDefaultClient } from '@dynamic-labs-sdk/client/core';\nimport {\n type EvmWalletAccount,\n isEvmWalletAccount,\n} from '@dynamic-labs-sdk/evm';\nimport { createWalletClientForWalletAccount } from '@dynamic-labs-sdk/evm/viem';\nimport type { Account, Chain, Transport, WalletClient } from 'viem';\n\ntype GetSignerForSmartWalletAccountParams = {\n smartWalletAccount: EvmWalletAccount;\n};\n\n/**\n * Gets a WalletClient instance for the EOA of the smart wallet account.\n * You can use this signer to sign EVM transactions.\n *\n * @param params.smartWalletAccount - The EVM smart wallet account to get the signer for.\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @returns A promise that resolves to an WalletClient instance.\n * @throws NoSmartWalletAccountSignerFoundError When the signer wallet account is not found for the given smart wallet account.\n */\nexport const getSignerForSmartWalletAccount = (\n { smartWalletAccount }: GetSignerForSmartWalletAccountParams,\n client = getDefaultClient()\n): Promise<WalletClient<Transport, Chain, Account>> => {\n const signerWalletAccount = getOwnerWalletAccountForSmartWalletAccount(\n { smartWalletAccount },\n client\n );\n\n if (!signerWalletAccount || !isEvmWalletAccount(signerWalletAccount)) {\n throw new NoSmartWalletAccountSignerFoundError(smartWalletAccount.address);\n }\n\n return createWalletClientForWalletAccount(\n {\n walletAccount: signerWalletAccount,\n },\n client\n );\n};\n","import { signerToEcdsaValidator } from '@zerodev/ecdsa-validator';\nimport { toMultiChainECDSAValidator } from '@zerodev/multi-chain-ecdsa-validator';\nimport type {\n EntryPointType,\n GetKernelVersion,\n Signer,\n} from '@zerodev/sdk/types';\nimport type { Client } from 'viem';\nimport type { EntryPointVersion } from 'viem/account-abstraction';\n\ntype GetEcdsaValidatorParams = {\n ecdsaProviderType?: string;\n entryPoint: EntryPointType<EntryPointVersion>;\n kernelVersion: GetKernelVersion<EntryPointVersion>;\n publicClient: Client;\n signer: Signer;\n};\n\nexport const getEcdsaValidator = ({\n ecdsaProviderType,\n publicClient,\n signer,\n entryPoint,\n kernelVersion,\n}: GetEcdsaValidatorParams) => {\n const params = {\n entryPoint,\n kernelVersion,\n signer,\n };\n\n if (ecdsaProviderType === 'zerodev_multi_chain') {\n return toMultiChainECDSAValidator(publicClient, params);\n }\n\n return signerToEcdsaValidator(publicClient, params);\n};\n","import { ProviderEntryPointVersionEnum } from '@dynamic-labs/sdk-api-core';\nimport { constants } from '@zerodev/sdk';\n\nexport const getEntryPoint = (entryPoint?: string) => {\n if (entryPoint === ProviderEntryPointVersionEnum.V6) {\n return constants.getEntryPoint('0.6');\n }\n\n // default to v7\n return constants.getEntryPoint('0.7');\n};\n","import type { ProviderKernelVersionEnum } from '@dynamic-labs/sdk-api-core';\nimport { constants } from '@zerodev/sdk';\nimport type { EntryPointType } from '@zerodev/sdk/types';\nimport type { EntryPointVersion } from 'viem/account-abstraction';\n\nimport { ENTRY_POINT_VERSION_MAP, KERNEL_VERSION_MAP } from '../../constants';\n\ntype GetKernelVersionParams = {\n entryPoint: EntryPointType<EntryPointVersion>;\n kernelVersion: ProviderKernelVersionEnum | undefined;\n};\n\nexport const getKernelVersion = ({\n kernelVersion,\n entryPoint,\n}: GetKernelVersionParams) => {\n // If kernel version is explicitly provided, use it\n if (kernelVersion && kernelVersion in KERNEL_VERSION_MAP) {\n return KERNEL_VERSION_MAP[kernelVersion];\n }\n\n // If no kernel version provided, determine based on entry point version\n const entryPointVersion: keyof typeof ENTRY_POINT_VERSION_MAP =\n entryPoint.version;\n if (entryPointVersion in ENTRY_POINT_VERSION_MAP) {\n return ENTRY_POINT_VERSION_MAP[entryPointVersion];\n }\n\n // Fallback to latest version\n return constants.KERNEL_V3_3;\n};\n","import {\n type DynamicClient,\n type WalletAccount,\n getOwnerWalletAccountForSmartWalletAccount,\n} from '@dynamic-labs-sdk/client';\nimport { assertDefined } from '@dynamic-labs-sdk/client/core';\n\nimport { getZerodevProviderFromSettings } from '../getZerodevProviderFromSettings';\n\ntype ShouldUseEIP7702Params = {\n smartWalletAccount: WalletAccount;\n};\n\nexport const shouldUseEIP7702 = (\n { smartWalletAccount }: ShouldUseEIP7702Params,\n client: DynamicClient\n) => {\n const zerodevProvider = getZerodevProviderFromSettings(client);\n\n assertDefined(\n zerodevProvider,\n 'Zerodev provider is not enabled in project settings'\n );\n\n const eoaWalletAccount = getOwnerWalletAccountForSmartWalletAccount(\n { smartWalletAccount },\n client\n );\n\n assertDefined(eoaWalletAccount, 'EOA wallet account is not found');\n\n return (\n zerodevProvider.enableEIP7702 &&\n // with EIP7702, the EOA wallet account address is the same as the smart wallet account address\n smartWalletAccount.address === eoaWalletAccount.address\n );\n};\n","import type { DynamicClient } from '@dynamic-labs-sdk/client';\nimport {\n assertDefined,\n getVerifiedCredentialForWalletAccount,\n} from '@dynamic-labs-sdk/client/core';\nimport type { EvmWalletAccount } from '@dynamic-labs-sdk/evm';\nimport { createEcdsaKernelMigrationAccount } from '@zerodev/ecdsa-validator';\nimport {\n type CreateKernelAccountReturnType,\n constants,\n createKernelAccount as createZerodevKernelAccount,\n} from '@zerodev/sdk';\nimport type { PublicClient } from 'viem';\nimport type { EntryPointVersion } from 'viem/account-abstraction';\n\nimport { getSignerForSmartWalletAccount } from '../../getSignerForSmartWalletAccount';\nimport { getEcdsaValidator } from '../getEcdsaValidator';\nimport { getEntryPoint } from '../getEntryPoint';\nimport { getKernelVersion } from '../getKernelVersion';\nimport { getZerodevProviderFromSettings } from '../getZerodevProviderFromSettings';\nimport { shouldUseEIP7702 } from '../shouldUseEIP7702';\n\ntype CreateKernelAccountParams = {\n publicClient: PublicClient;\n smartWalletAccount: EvmWalletAccount;\n};\n\nexport const createKernelAccount = async (\n { publicClient, smartWalletAccount }: CreateKernelAccountParams,\n client: DynamicClient\n): Promise<CreateKernelAccountReturnType<EntryPointVersion>> => {\n const zerodevProvider = getZerodevProviderFromSettings(client);\n\n assertDefined(\n zerodevProvider,\n 'Zerodev provider is not enabled in project settings'\n );\n\n const signer = await getSignerForSmartWalletAccount(\n {\n smartWalletAccount,\n },\n client\n );\n\n const walletProperties = getVerifiedCredentialForWalletAccount(\n { walletAccount: smartWalletAccount },\n client\n )?.walletProperties;\n\n const entryPointVersion =\n walletProperties?.entryPointVersion ?? zerodevProvider.entryPointVersion;\n const entryPoint = getEntryPoint(entryPointVersion);\n\n const useEIP7702 = shouldUseEIP7702({ smartWalletAccount }, client);\n\n if (useEIP7702) {\n return createZerodevKernelAccount(publicClient, {\n eip7702Account: signer,\n entryPoint,\n kernelVersion: constants.KERNEL_V3_3,\n });\n }\n\n const kernelVersionValue =\n walletProperties?.kernelVersion ?? zerodevProvider.kernelVersion;\n\n const kernelVersion = getKernelVersion({\n entryPoint,\n kernelVersion: kernelVersionValue,\n });\n\n const kernelV3MigrationEnabled =\n zerodevProvider.enableKernelV3Migration ?? false;\n\n if (kernelV3MigrationEnabled) {\n const apiKernelVersion = getKernelVersion({\n entryPoint,\n kernelVersion: zerodevProvider.kernelVersion,\n });\n\n return createEcdsaKernelMigrationAccount(publicClient, {\n entryPoint,\n migrationVersion: {\n from: kernelVersion,\n to: apiKernelVersion,\n },\n signer,\n });\n }\n\n const validator = await getEcdsaValidator({\n ecdsaProviderType:\n walletProperties?.ecdsaProviderType ?? zerodevProvider.ecdsaProviderType,\n entryPoint,\n kernelVersion,\n publicClient,\n signer,\n });\n\n return createZerodevKernelAccount(publicClient, {\n entryPoint,\n kernelVersion,\n plugins: {\n sudo: validator,\n },\n });\n};\n","import { createZeroDevPaymasterClient } from '@zerodev/sdk';\nimport type { Hex, Chain as ViemChain } from 'viem';\nimport { http } from 'viem';\nimport type { GetPaymasterDataParameters } from 'viem/account-abstraction';\n\ntype GetPaymasterConfigProps = {\n chain: ViemChain;\n /**\n * The address the ERC20 token to use for the paymaster.\n * If not provided, the paymaster will use the default gas token for the chain.\n */\n gasTokenAddress?: Hex;\n paymasterRpc: string;\n};\n\nexport const getPaymasterConfig = ({\n chain,\n gasTokenAddress,\n paymasterRpc,\n}: GetPaymasterConfigProps) => {\n const getPaymasterData = (params: GetPaymasterDataParameters) => {\n const zerodevPaymaster = createZeroDevPaymasterClient({\n chain,\n transport: http(paymasterRpc),\n });\n\n return zerodevPaymaster.sponsorUserOperation({\n gasToken: gasTokenAddress,\n userOperation: params,\n });\n };\n\n return {\n paymaster: {\n getPaymasterData,\n },\n };\n};\n","import type { DynamicClient } from '@dynamic-labs-sdk/client';\nimport { assertDefined } from '@dynamic-labs-sdk/client/core';\nimport { ZerodevBundlerProvider } from '@dynamic-labs/sdk-api-core';\n\nimport { ZERODEV_RPC_BASE_URL } from '../../constants';\nimport { getZerodevChainProviderForNetworkId } from '../getZerodevChainProviderForNetworkId';\nimport { getZerodevProviderFromSettings } from '../getZerodevProviderFromSettings';\n\ntype GetZerodevRpcParams = {\n bundlerProvider?: ZerodevBundlerProvider;\n networkId: string;\n rpcType: 'paymaster' | 'bundler';\n};\n\nexport const getZerodevRpc = (\n { networkId, bundlerProvider, rpcType }: GetZerodevRpcParams,\n client: DynamicClient\n) => {\n const zerodevProvider = getZerodevProviderFromSettings(client);\n\n if (zerodevProvider?.zerodevPaymasterRpcUrl) {\n return zerodevProvider.zerodevPaymasterRpcUrl;\n }\n\n const zerodevChainProvider = getZerodevChainProviderForNetworkId(\n { networkId },\n client\n );\n\n assertDefined(\n zerodevChainProvider,\n `No zerodev provider found for network id ${networkId}`\n );\n\n const paymasterProvider =\n bundlerProvider ??\n zerodevProvider.zerodevBundlerProvider ??\n ZerodevBundlerProvider.Pimlico;\n\n const paramName =\n rpcType === 'bundler' ? 'bundlerProvider' : 'paymasterProvider';\n\n return `${ZERODEV_RPC_BASE_URL}/${rpcType}/${zerodevChainProvider.clientId}?${paramName}=${paymasterProvider}`;\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
let _dynamic_labs_sdk_client_core = require("@dynamic-labs-sdk/client/core");
|
|
2
|
+
let _dynamic_labs_sdk_client = require("@dynamic-labs-sdk/client");
|
|
3
|
+
let _dynamic_labs_sdk_evm = require("@dynamic-labs-sdk/evm");
|
|
4
|
+
let _dynamic_labs_sdk_api_core = require("@dynamic-labs/sdk-api-core");
|
|
5
|
+
let _zerodev_sdk = require("@zerodev/sdk");
|
|
6
|
+
let _dynamic_labs_sdk_evm_viem = require("@dynamic-labs-sdk/evm/viem");
|
|
7
|
+
let viem = require("viem");
|
|
8
|
+
let _zerodev_ecdsa_validator = require("@zerodev/ecdsa-validator");
|
|
9
|
+
let _zerodev_multi_chain_ecdsa_validator = require("@zerodev/multi-chain-ecdsa-validator");
|
|
10
|
+
|
|
11
|
+
//#region package.json
|
|
12
|
+
var name = "@dynamic-labs-sdk/zerodev";
|
|
13
|
+
var version = "0.2.4";
|
|
14
|
+
|
|
15
|
+
//#endregion
|
|
16
|
+
//#region src/constants.ts
|
|
17
|
+
const ZERODEV_METADATA = {
|
|
18
|
+
displayName: "ZeroDev",
|
|
19
|
+
icon: `${_dynamic_labs_sdk_client_core.DYNAMIC_ICONIC_SPRITE_URL}#smartwallet`,
|
|
20
|
+
normalizedWalletName: "zerodev"
|
|
21
|
+
};
|
|
22
|
+
const ZERODEV_RPC_BASE_URL = "https://rpc.zerodev.app/api/v2";
|
|
23
|
+
const KERNEL_VERSION_MAP = {
|
|
24
|
+
[_dynamic_labs_sdk_api_core.ProviderKernelVersionEnum.V33]: _zerodev_sdk.constants.KERNEL_V3_3,
|
|
25
|
+
[_dynamic_labs_sdk_api_core.ProviderKernelVersionEnum.V32]: _zerodev_sdk.constants.KERNEL_V3_2,
|
|
26
|
+
[_dynamic_labs_sdk_api_core.ProviderKernelVersionEnum.V31]: _zerodev_sdk.constants.KERNEL_V3_1,
|
|
27
|
+
[_dynamic_labs_sdk_api_core.ProviderKernelVersionEnum.V30]: _zerodev_sdk.constants.KERNEL_V3_0,
|
|
28
|
+
[_dynamic_labs_sdk_api_core.ProviderKernelVersionEnum.V24]: _zerodev_sdk.constants.KERNEL_V2_4
|
|
29
|
+
};
|
|
30
|
+
const ENTRY_POINT_VERSION_MAP = {
|
|
31
|
+
.6: _zerodev_sdk.constants.KERNEL_V2_4,
|
|
32
|
+
.7: _zerodev_sdk.constants.KERNEL_V3_1,
|
|
33
|
+
.8: _zerodev_sdk.constants.KERNEL_V3_3
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
//#endregion
|
|
37
|
+
//#region src/utils/getZerodevProviderFromSettings/getZerodevProviderFromSettings.ts
|
|
38
|
+
const getZerodevProviderFromSettings = (client) => {
|
|
39
|
+
const projectSettings = client.projectSettings;
|
|
40
|
+
(0, _dynamic_labs_sdk_client_core.assertDefined)(projectSettings, "Project settings are not available");
|
|
41
|
+
const zerodevProvider = projectSettings.providers?.find((provider) => provider.provider === _dynamic_labs_sdk_api_core.ProviderEnum.Zerodev);
|
|
42
|
+
(0, _dynamic_labs_sdk_client_core.assertDefined)(zerodevProvider, "Zerodev is not configured in project settings");
|
|
43
|
+
return zerodevProvider;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
//#endregion
|
|
47
|
+
//#region src/utils/getZerodevChainProviderForNetworkId/getZerodevChainProviderForNetworkId.ts
|
|
48
|
+
const getZerodevChainProviderForNetworkId = ({ networkId }, client) => {
|
|
49
|
+
return getZerodevProviderFromSettings(client).multichainAccountAbstractionProviders?.find((provider) => provider.chain === networkId);
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
//#endregion
|
|
53
|
+
//#region src/getSignerForSmartWalletAccount/getSignerForSmartWalletAccount.ts
|
|
54
|
+
/**
|
|
55
|
+
* Gets a WalletClient instance for the EOA of the smart wallet account.
|
|
56
|
+
* You can use this signer to sign EVM transactions.
|
|
57
|
+
*
|
|
58
|
+
* @param params.smartWalletAccount - The EVM smart wallet account to get the signer for.
|
|
59
|
+
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
60
|
+
* @returns A promise that resolves to an WalletClient instance.
|
|
61
|
+
* @throws NoSmartWalletAccountSignerFoundError When the signer wallet account is not found for the given smart wallet account.
|
|
62
|
+
*/
|
|
63
|
+
const getSignerForSmartWalletAccount = ({ smartWalletAccount }, client = (0, _dynamic_labs_sdk_client_core.getDefaultClient)()) => {
|
|
64
|
+
const signerWalletAccount = (0, _dynamic_labs_sdk_client.getOwnerWalletAccountForSmartWalletAccount)({ smartWalletAccount }, client);
|
|
65
|
+
if (!signerWalletAccount || !(0, _dynamic_labs_sdk_evm.isEvmWalletAccount)(signerWalletAccount)) throw new _dynamic_labs_sdk_client.NoSmartWalletAccountSignerFoundError(smartWalletAccount.address);
|
|
66
|
+
return (0, _dynamic_labs_sdk_evm_viem.createWalletClientForWalletAccount)({ walletAccount: signerWalletAccount }, client);
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
//#endregion
|
|
70
|
+
//#region src/utils/getEcdsaValidator/getEcdsaValidator.ts
|
|
71
|
+
const getEcdsaValidator = ({ ecdsaProviderType, publicClient, signer, entryPoint, kernelVersion }) => {
|
|
72
|
+
const params = {
|
|
73
|
+
entryPoint,
|
|
74
|
+
kernelVersion,
|
|
75
|
+
signer
|
|
76
|
+
};
|
|
77
|
+
if (ecdsaProviderType === "zerodev_multi_chain") return (0, _zerodev_multi_chain_ecdsa_validator.toMultiChainECDSAValidator)(publicClient, params);
|
|
78
|
+
return (0, _zerodev_ecdsa_validator.signerToEcdsaValidator)(publicClient, params);
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
//#endregion
|
|
82
|
+
//#region src/utils/getEntryPoint/getEntryPoint.ts
|
|
83
|
+
const getEntryPoint = (entryPoint) => {
|
|
84
|
+
if (entryPoint === _dynamic_labs_sdk_api_core.ProviderEntryPointVersionEnum.V6) return _zerodev_sdk.constants.getEntryPoint("0.6");
|
|
85
|
+
return _zerodev_sdk.constants.getEntryPoint("0.7");
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
//#endregion
|
|
89
|
+
//#region src/utils/getKernelVersion/getKernelVersion.ts
|
|
90
|
+
const getKernelVersion = ({ kernelVersion, entryPoint }) => {
|
|
91
|
+
if (kernelVersion && kernelVersion in KERNEL_VERSION_MAP) return KERNEL_VERSION_MAP[kernelVersion];
|
|
92
|
+
const entryPointVersion = entryPoint.version;
|
|
93
|
+
if (entryPointVersion in ENTRY_POINT_VERSION_MAP) return ENTRY_POINT_VERSION_MAP[entryPointVersion];
|
|
94
|
+
return _zerodev_sdk.constants.KERNEL_V3_3;
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
//#endregion
|
|
98
|
+
//#region src/utils/shouldUseEIP7702/shouldUseEIP7702.ts
|
|
99
|
+
const shouldUseEIP7702 = ({ smartWalletAccount }, client) => {
|
|
100
|
+
const zerodevProvider = getZerodevProviderFromSettings(client);
|
|
101
|
+
(0, _dynamic_labs_sdk_client_core.assertDefined)(zerodevProvider, "Zerodev provider is not enabled in project settings");
|
|
102
|
+
const eoaWalletAccount = (0, _dynamic_labs_sdk_client.getOwnerWalletAccountForSmartWalletAccount)({ smartWalletAccount }, client);
|
|
103
|
+
(0, _dynamic_labs_sdk_client_core.assertDefined)(eoaWalletAccount, "EOA wallet account is not found");
|
|
104
|
+
return zerodevProvider.enableEIP7702 && smartWalletAccount.address === eoaWalletAccount.address;
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
//#endregion
|
|
108
|
+
//#region src/utils/createKernelAccount/createKernelAccount.ts
|
|
109
|
+
const createKernelAccount = async ({ publicClient, smartWalletAccount }, client) => {
|
|
110
|
+
const zerodevProvider = getZerodevProviderFromSettings(client);
|
|
111
|
+
(0, _dynamic_labs_sdk_client_core.assertDefined)(zerodevProvider, "Zerodev provider is not enabled in project settings");
|
|
112
|
+
const signer = await getSignerForSmartWalletAccount({ smartWalletAccount }, client);
|
|
113
|
+
const walletProperties = (0, _dynamic_labs_sdk_client_core.getVerifiedCredentialForWalletAccount)({ walletAccount: smartWalletAccount }, client)?.walletProperties;
|
|
114
|
+
const entryPoint = getEntryPoint(walletProperties?.entryPointVersion ?? zerodevProvider.entryPointVersion);
|
|
115
|
+
if (shouldUseEIP7702({ smartWalletAccount }, client)) return (0, _zerodev_sdk.createKernelAccount)(publicClient, {
|
|
116
|
+
eip7702Account: signer,
|
|
117
|
+
entryPoint,
|
|
118
|
+
kernelVersion: _zerodev_sdk.constants.KERNEL_V3_3
|
|
119
|
+
});
|
|
120
|
+
const kernelVersion = getKernelVersion({
|
|
121
|
+
entryPoint,
|
|
122
|
+
kernelVersion: walletProperties?.kernelVersion ?? zerodevProvider.kernelVersion
|
|
123
|
+
});
|
|
124
|
+
if (zerodevProvider.enableKernelV3Migration ?? false) return (0, _zerodev_ecdsa_validator.createEcdsaKernelMigrationAccount)(publicClient, {
|
|
125
|
+
entryPoint,
|
|
126
|
+
migrationVersion: {
|
|
127
|
+
from: kernelVersion,
|
|
128
|
+
to: getKernelVersion({
|
|
129
|
+
entryPoint,
|
|
130
|
+
kernelVersion: zerodevProvider.kernelVersion
|
|
131
|
+
})
|
|
132
|
+
},
|
|
133
|
+
signer
|
|
134
|
+
});
|
|
135
|
+
return (0, _zerodev_sdk.createKernelAccount)(publicClient, {
|
|
136
|
+
entryPoint,
|
|
137
|
+
kernelVersion,
|
|
138
|
+
plugins: { sudo: await getEcdsaValidator({
|
|
139
|
+
ecdsaProviderType: walletProperties?.ecdsaProviderType ?? zerodevProvider.ecdsaProviderType,
|
|
140
|
+
entryPoint,
|
|
141
|
+
kernelVersion,
|
|
142
|
+
publicClient,
|
|
143
|
+
signer
|
|
144
|
+
}) }
|
|
145
|
+
});
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
//#endregion
|
|
149
|
+
//#region src/utils/getPaymasterConfig/getPaymasterConfig.ts
|
|
150
|
+
const getPaymasterConfig = ({ chain, gasTokenAddress, paymasterRpc }) => {
|
|
151
|
+
const getPaymasterData = (params) => {
|
|
152
|
+
return (0, _zerodev_sdk.createZeroDevPaymasterClient)({
|
|
153
|
+
chain,
|
|
154
|
+
transport: (0, viem.http)(paymasterRpc)
|
|
155
|
+
}).sponsorUserOperation({
|
|
156
|
+
gasToken: gasTokenAddress,
|
|
157
|
+
userOperation: params
|
|
158
|
+
});
|
|
159
|
+
};
|
|
160
|
+
return { paymaster: { getPaymasterData } };
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
//#endregion
|
|
164
|
+
//#region src/utils/getZerodevRpc/getZerodevRpc.ts
|
|
165
|
+
const getZerodevRpc = ({ networkId, bundlerProvider, rpcType }, client) => {
|
|
166
|
+
const zerodevProvider = getZerodevProviderFromSettings(client);
|
|
167
|
+
if (zerodevProvider?.zerodevPaymasterRpcUrl) return zerodevProvider.zerodevPaymasterRpcUrl;
|
|
168
|
+
const zerodevChainProvider = getZerodevChainProviderForNetworkId({ networkId }, client);
|
|
169
|
+
(0, _dynamic_labs_sdk_client_core.assertDefined)(zerodevChainProvider, `No zerodev provider found for network id ${networkId}`);
|
|
170
|
+
const paymasterProvider = bundlerProvider ?? zerodevProvider.zerodevBundlerProvider ?? _dynamic_labs_sdk_api_core.ZerodevBundlerProvider.Pimlico;
|
|
171
|
+
const paramName = rpcType === "bundler" ? "bundlerProvider" : "paymasterProvider";
|
|
172
|
+
return `${ZERODEV_RPC_BASE_URL}/${rpcType}/${zerodevChainProvider.clientId}?${paramName}=${paymasterProvider}`;
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
//#endregion
|
|
176
|
+
Object.defineProperty(exports, 'ZERODEV_METADATA', {
|
|
177
|
+
enumerable: true,
|
|
178
|
+
get: function () {
|
|
179
|
+
return ZERODEV_METADATA;
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
Object.defineProperty(exports, 'createKernelAccount', {
|
|
183
|
+
enumerable: true,
|
|
184
|
+
get: function () {
|
|
185
|
+
return createKernelAccount;
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
Object.defineProperty(exports, 'getEcdsaValidator', {
|
|
189
|
+
enumerable: true,
|
|
190
|
+
get: function () {
|
|
191
|
+
return getEcdsaValidator;
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
Object.defineProperty(exports, 'getEntryPoint', {
|
|
195
|
+
enumerable: true,
|
|
196
|
+
get: function () {
|
|
197
|
+
return getEntryPoint;
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
Object.defineProperty(exports, 'getKernelVersion', {
|
|
201
|
+
enumerable: true,
|
|
202
|
+
get: function () {
|
|
203
|
+
return getKernelVersion;
|
|
204
|
+
}
|
|
205
|
+
});
|
|
206
|
+
Object.defineProperty(exports, 'getPaymasterConfig', {
|
|
207
|
+
enumerable: true,
|
|
208
|
+
get: function () {
|
|
209
|
+
return getPaymasterConfig;
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
Object.defineProperty(exports, 'getSignerForSmartWalletAccount', {
|
|
213
|
+
enumerable: true,
|
|
214
|
+
get: function () {
|
|
215
|
+
return getSignerForSmartWalletAccount;
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
Object.defineProperty(exports, 'getZerodevChainProviderForNetworkId', {
|
|
219
|
+
enumerable: true,
|
|
220
|
+
get: function () {
|
|
221
|
+
return getZerodevChainProviderForNetworkId;
|
|
222
|
+
}
|
|
223
|
+
});
|
|
224
|
+
Object.defineProperty(exports, 'getZerodevProviderFromSettings', {
|
|
225
|
+
enumerable: true,
|
|
226
|
+
get: function () {
|
|
227
|
+
return getZerodevProviderFromSettings;
|
|
228
|
+
}
|
|
229
|
+
});
|
|
230
|
+
Object.defineProperty(exports, 'getZerodevRpc', {
|
|
231
|
+
enumerable: true,
|
|
232
|
+
get: function () {
|
|
233
|
+
return getZerodevRpc;
|
|
234
|
+
}
|
|
235
|
+
});
|
|
236
|
+
Object.defineProperty(exports, 'name', {
|
|
237
|
+
enumerable: true,
|
|
238
|
+
get: function () {
|
|
239
|
+
return name;
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
Object.defineProperty(exports, 'shouldUseEIP7702', {
|
|
243
|
+
enumerable: true,
|
|
244
|
+
get: function () {
|
|
245
|
+
return shouldUseEIP7702;
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
Object.defineProperty(exports, 'version', {
|
|
249
|
+
enumerable: true,
|
|
250
|
+
get: function () {
|
|
251
|
+
return version;
|
|
252
|
+
}
|
|
253
|
+
});
|
|
254
|
+
//# sourceMappingURL=getZerodevRpc-DhG6DLOa.cjs.js.map
|