@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.
Files changed (169) hide show
  1. package/dist/KernelClient.types.d.ts.map +1 -0
  2. package/{src → dist}/addZerodevExtension/addZerodevExtension.d.ts +1 -1
  3. package/dist/addZerodevExtension/addZerodevExtension.d.ts.map +1 -0
  4. package/dist/addZerodevExtension/index.d.ts.map +1 -0
  5. package/dist/canSponsorTransaction/canSponsorTransaction.d.ts.map +1 -0
  6. package/dist/canSponsorTransaction/index.d.ts.map +1 -0
  7. package/dist/constants.d.ts.map +1 -0
  8. package/dist/core.cjs.js +17 -0
  9. package/dist/core.cjs.js.map +1 -0
  10. package/dist/core.esm.js +9 -0
  11. package/dist/core.esm.js.map +1 -0
  12. package/{src → dist}/createKernelClientForWalletAccount/createKernelClientForWalletAccount.d.ts +1 -1
  13. package/dist/createKernelClientForWalletAccount/createKernelClientForWalletAccount.d.ts.map +1 -0
  14. package/dist/createKernelClientForWalletAccount/index.d.ts.map +1 -0
  15. package/dist/estimateTransactionGas/estimateTransactionGas.d.ts.map +1 -0
  16. package/dist/estimateTransactionGas/index.d.ts.map +1 -0
  17. package/dist/exports/core.d.ts.map +1 -0
  18. package/dist/exports/index.d.ts.map +1 -0
  19. package/{src → dist}/getSignerForSmartWalletAccount/getSignerForSmartWalletAccount.d.ts +1 -1
  20. package/dist/getSignerForSmartWalletAccount/getSignerForSmartWalletAccount.d.ts.map +1 -0
  21. package/dist/getSignerForSmartWalletAccount/index.d.ts.map +1 -0
  22. package/dist/getZerodevRpc-Bv9aCgYr.esm.js +177 -0
  23. package/dist/getZerodevRpc-Bv9aCgYr.esm.js.map +1 -0
  24. package/dist/getZerodevRpc-DhG6DLOa.cjs.js +254 -0
  25. package/dist/getZerodevRpc-DhG6DLOa.cjs.js.map +1 -0
  26. package/dist/index.cjs.js +258 -0
  27. package/dist/index.cjs.js.map +1 -0
  28. package/dist/index.esm.js +253 -0
  29. package/dist/index.esm.js.map +1 -0
  30. package/dist/isGasSponsorshipError/index.d.ts.map +1 -0
  31. package/dist/isGasSponsorshipError/isGasSponsorshipError.d.ts.map +1 -0
  32. package/dist/isZerodevWalletAccount/index.d.ts.map +1 -0
  33. package/dist/isZerodevWalletAccount/isZerodevWalletAccount.d.ts.map +1 -0
  34. package/dist/tsconfig.lib.tsbuildinfo +1 -0
  35. package/dist/utils/calculateGasForUserOperation/calculateGasForUserOperation.d.ts.map +1 -0
  36. package/dist/utils/calculateGasForUserOperation/index.d.ts.map +1 -0
  37. package/dist/utils/createKernelAccount/createKernelAccount.d.ts.map +1 -0
  38. package/dist/utils/createKernelAccount/index.d.ts.map +1 -0
  39. package/dist/utils/createZerodevWalletProvider/createZerodevWalletProvider.d.ts.map +1 -0
  40. package/dist/utils/createZerodevWalletProvider/index.d.ts.map +1 -0
  41. package/dist/utils/getAllUserZerodevAddresses/getAllUserZerodevAddresses.d.ts.map +1 -0
  42. package/dist/utils/getAllUserZerodevAddresses/index.d.ts.map +1 -0
  43. package/dist/utils/getEcdsaValidator/getEcdsaValidator.d.ts.map +1 -0
  44. package/dist/utils/getEcdsaValidator/index.d.ts.map +1 -0
  45. package/dist/utils/getEntryPoint/getEntryPoint.d.ts.map +1 -0
  46. package/dist/utils/getEntryPoint/index.d.ts.map +1 -0
  47. package/dist/utils/getKernelVersion/getKernelVersion.d.ts.map +1 -0
  48. package/dist/utils/getKernelVersion/index.d.ts.map +1 -0
  49. package/dist/utils/getPaymasterConfig/getPaymasterConfig.d.ts.map +1 -0
  50. package/dist/utils/getPaymasterConfig/index.d.ts.map +1 -0
  51. package/{src → dist}/utils/getZerodevChainProviderForNetworkId/getZerodevChainProviderForNetworkId.d.ts +1 -1
  52. package/dist/utils/getZerodevChainProviderForNetworkId/getZerodevChainProviderForNetworkId.d.ts.map +1 -0
  53. package/dist/utils/getZerodevChainProviderForNetworkId/index.d.ts.map +1 -0
  54. package/{src → dist}/utils/getZerodevProviderFromSettings/getZerodevProviderFromSettings.d.ts +1 -1
  55. package/dist/utils/getZerodevProviderFromSettings/getZerodevProviderFromSettings.d.ts.map +1 -0
  56. package/dist/utils/getZerodevProviderFromSettings/index.d.ts.map +1 -0
  57. package/{src → dist}/utils/getZerodevRpc/getZerodevRpc.d.ts +1 -1
  58. package/dist/utils/getZerodevRpc/getZerodevRpc.d.ts.map +1 -0
  59. package/dist/utils/getZerodevRpc/index.d.ts.map +1 -0
  60. package/dist/utils/prepareUserOperationWithKernelClient/index.d.ts.map +1 -0
  61. package/dist/utils/prepareUserOperationWithKernelClient/prepareUserOperationWithKernelClient.d.ts.map +1 -0
  62. package/dist/utils/shouldSignWithEoa/index.d.ts.map +1 -0
  63. package/dist/utils/shouldSignWithEoa/shouldSignWithEoa.d.ts.map +1 -0
  64. package/dist/utils/shouldUseEIP7702/index.d.ts.map +1 -0
  65. package/{src → dist}/utils/shouldUseEIP7702/shouldUseEIP7702.d.ts +1 -1
  66. package/dist/utils/shouldUseEIP7702/shouldUseEIP7702.d.ts.map +1 -0
  67. package/dist/utils/signMessage/index.d.ts.map +1 -0
  68. package/dist/utils/signMessage/signMessage.d.ts.map +1 -0
  69. package/package.json +29 -15
  70. package/CHANGELOG.md +0 -606
  71. package/core.cjs.d.ts +0 -1
  72. package/core.cjs.js +0 -25
  73. package/core.esm.d.ts +0 -1
  74. package/core.esm.js +0 -14
  75. package/getZerodevRpc.cjs.js +0 -222
  76. package/getZerodevRpc.esm.js +0 -208
  77. package/index.cjs.d.ts +0 -1
  78. package/index.cjs.js +0 -311
  79. package/index.esm.d.ts +0 -1
  80. package/index.esm.js +0 -305
  81. package/src/KernelClient.types.d.ts.map +0 -1
  82. package/src/addZerodevExtension/addZerodevExtension.d.ts.map +0 -1
  83. package/src/addZerodevExtension/index.d.ts.map +0 -1
  84. package/src/canSponsorTransaction/canSponsorTransaction.d.ts.map +0 -1
  85. package/src/canSponsorTransaction/index.d.ts.map +0 -1
  86. package/src/constants.d.ts.map +0 -1
  87. package/src/createKernelClientForWalletAccount/createKernelClientForWalletAccount.d.ts.map +0 -1
  88. package/src/createKernelClientForWalletAccount/index.d.ts.map +0 -1
  89. package/src/estimateTransactionGas/estimateTransactionGas.d.ts.map +0 -1
  90. package/src/estimateTransactionGas/index.d.ts.map +0 -1
  91. package/src/exports/core.d.ts.map +0 -1
  92. package/src/exports/index.d.ts.map +0 -1
  93. package/src/getSignerForSmartWalletAccount/getSignerForSmartWalletAccount.d.ts.map +0 -1
  94. package/src/getSignerForSmartWalletAccount/index.d.ts.map +0 -1
  95. package/src/isGasSponsorshipError/index.d.ts.map +0 -1
  96. package/src/isGasSponsorshipError/isGasSponsorshipError.d.ts.map +0 -1
  97. package/src/isZerodevWalletAccount/index.d.ts.map +0 -1
  98. package/src/isZerodevWalletAccount/isZerodevWalletAccount.d.ts.map +0 -1
  99. package/src/utils/calculateGasForUserOperation/calculateGasForUserOperation.d.ts.map +0 -1
  100. package/src/utils/calculateGasForUserOperation/index.d.ts.map +0 -1
  101. package/src/utils/createKernelAccount/createKernelAccount.d.ts.map +0 -1
  102. package/src/utils/createKernelAccount/index.d.ts.map +0 -1
  103. package/src/utils/createZerodevWalletProvider/createZerodevWalletProvider.d.ts.map +0 -1
  104. package/src/utils/createZerodevWalletProvider/index.d.ts.map +0 -1
  105. package/src/utils/getAllUserZerodevAddresses/getAllUserZerodevAddresses.d.ts.map +0 -1
  106. package/src/utils/getAllUserZerodevAddresses/index.d.ts.map +0 -1
  107. package/src/utils/getEcdsaValidator/getEcdsaValidator.d.ts.map +0 -1
  108. package/src/utils/getEcdsaValidator/index.d.ts.map +0 -1
  109. package/src/utils/getEntryPoint/getEntryPoint.d.ts.map +0 -1
  110. package/src/utils/getEntryPoint/index.d.ts.map +0 -1
  111. package/src/utils/getKernelVersion/getKernelVersion.d.ts.map +0 -1
  112. package/src/utils/getKernelVersion/index.d.ts.map +0 -1
  113. package/src/utils/getPaymasterConfig/getPaymasterConfig.d.ts.map +0 -1
  114. package/src/utils/getPaymasterConfig/index.d.ts.map +0 -1
  115. package/src/utils/getZerodevChainProviderForNetworkId/getZerodevChainProviderForNetworkId.d.ts.map +0 -1
  116. package/src/utils/getZerodevChainProviderForNetworkId/index.d.ts.map +0 -1
  117. package/src/utils/getZerodevProviderFromSettings/getZerodevProviderFromSettings.d.ts.map +0 -1
  118. package/src/utils/getZerodevProviderFromSettings/index.d.ts.map +0 -1
  119. package/src/utils/getZerodevRpc/getZerodevRpc.d.ts.map +0 -1
  120. package/src/utils/getZerodevRpc/index.d.ts.map +0 -1
  121. package/src/utils/prepareUserOperationWithKernelClient/index.d.ts.map +0 -1
  122. package/src/utils/prepareUserOperationWithKernelClient/prepareUserOperationWithKernelClient.d.ts.map +0 -1
  123. package/src/utils/shouldSignWithEoa/index.d.ts.map +0 -1
  124. package/src/utils/shouldSignWithEoa/shouldSignWithEoa.d.ts.map +0 -1
  125. package/src/utils/shouldUseEIP7702/index.d.ts.map +0 -1
  126. package/src/utils/shouldUseEIP7702/shouldUseEIP7702.d.ts.map +0 -1
  127. package/src/utils/signMessage/index.d.ts.map +0 -1
  128. package/src/utils/signMessage/signMessage.d.ts.map +0 -1
  129. /package/{src → dist}/KernelClient.types.d.ts +0 -0
  130. /package/{src → dist}/addZerodevExtension/index.d.ts +0 -0
  131. /package/{src → dist}/canSponsorTransaction/canSponsorTransaction.d.ts +0 -0
  132. /package/{src → dist}/canSponsorTransaction/index.d.ts +0 -0
  133. /package/{src → dist}/constants.d.ts +0 -0
  134. /package/{src → dist}/createKernelClientForWalletAccount/index.d.ts +0 -0
  135. /package/{src → dist}/estimateTransactionGas/estimateTransactionGas.d.ts +0 -0
  136. /package/{src → dist}/estimateTransactionGas/index.d.ts +0 -0
  137. /package/{src → dist}/exports/core.d.ts +0 -0
  138. /package/{src → dist}/exports/index.d.ts +0 -0
  139. /package/{src → dist}/getSignerForSmartWalletAccount/index.d.ts +0 -0
  140. /package/{src → dist}/isGasSponsorshipError/index.d.ts +0 -0
  141. /package/{src → dist}/isGasSponsorshipError/isGasSponsorshipError.d.ts +0 -0
  142. /package/{src → dist}/isZerodevWalletAccount/index.d.ts +0 -0
  143. /package/{src → dist}/isZerodevWalletAccount/isZerodevWalletAccount.d.ts +0 -0
  144. /package/{src → dist}/utils/calculateGasForUserOperation/calculateGasForUserOperation.d.ts +0 -0
  145. /package/{src → dist}/utils/calculateGasForUserOperation/index.d.ts +0 -0
  146. /package/{src → dist}/utils/createKernelAccount/createKernelAccount.d.ts +0 -0
  147. /package/{src → dist}/utils/createKernelAccount/index.d.ts +0 -0
  148. /package/{src → dist}/utils/createZerodevWalletProvider/createZerodevWalletProvider.d.ts +0 -0
  149. /package/{src → dist}/utils/createZerodevWalletProvider/index.d.ts +0 -0
  150. /package/{src → dist}/utils/getAllUserZerodevAddresses/getAllUserZerodevAddresses.d.ts +0 -0
  151. /package/{src → dist}/utils/getAllUserZerodevAddresses/index.d.ts +0 -0
  152. /package/{src → dist}/utils/getEcdsaValidator/getEcdsaValidator.d.ts +0 -0
  153. /package/{src → dist}/utils/getEcdsaValidator/index.d.ts +0 -0
  154. /package/{src → dist}/utils/getEntryPoint/getEntryPoint.d.ts +0 -0
  155. /package/{src → dist}/utils/getEntryPoint/index.d.ts +0 -0
  156. /package/{src → dist}/utils/getKernelVersion/getKernelVersion.d.ts +0 -0
  157. /package/{src → dist}/utils/getKernelVersion/index.d.ts +0 -0
  158. /package/{src → dist}/utils/getPaymasterConfig/getPaymasterConfig.d.ts +0 -0
  159. /package/{src → dist}/utils/getPaymasterConfig/index.d.ts +0 -0
  160. /package/{src → dist}/utils/getZerodevChainProviderForNetworkId/index.d.ts +0 -0
  161. /package/{src → dist}/utils/getZerodevProviderFromSettings/index.d.ts +0 -0
  162. /package/{src → dist}/utils/getZerodevRpc/index.d.ts +0 -0
  163. /package/{src → dist}/utils/prepareUserOperationWithKernelClient/index.d.ts +0 -0
  164. /package/{src → dist}/utils/prepareUserOperationWithKernelClient/prepareUserOperationWithKernelClient.d.ts +0 -0
  165. /package/{src → dist}/utils/shouldSignWithEoa/index.d.ts +0 -0
  166. /package/{src → dist}/utils/shouldSignWithEoa/shouldSignWithEoa.d.ts +0 -0
  167. /package/{src → dist}/utils/shouldUseEIP7702/index.d.ts +0 -0
  168. /package/{src → dist}/utils/signMessage/index.d.ts +0 -0
  169. /package/{src → dist}/utils/signMessage/signMessage.d.ts +0 -0
@@ -1,222 +0,0 @@
1
- 'use strict';
2
-
3
- var core = require('@dynamic-labs-sdk/client/core');
4
- var ecdsaValidator = require('@zerodev/ecdsa-validator');
5
- var sdk = require('@zerodev/sdk');
6
- var client = require('@dynamic-labs-sdk/client');
7
- var evm = require('@dynamic-labs-sdk/evm');
8
- var viem = require('@dynamic-labs-sdk/evm/viem');
9
- var multiChainEcdsaValidator = require('@zerodev/multi-chain-ecdsa-validator');
10
- var sdkApiCore = require('@dynamic-labs/sdk-api-core');
11
- var viem$1 = require('viem');
12
-
13
- var name = "@dynamic-labs-sdk/zerodev";
14
- var version = "0.1.2";
15
-
16
- const ZERODEV_METADATA = {
17
- displayName: 'ZeroDev',
18
- icon: `${core.DYNAMIC_ICONIC_SPRITE_URL}#smartwallet`,
19
- normalizedWalletName: 'zerodev'
20
- };
21
- const ZERODEV_RPC_BASE_URL = 'https://rpc.zerodev.app/api/v2';
22
- const KERNEL_VERSION_MAP = {
23
- [sdkApiCore.ProviderKernelVersionEnum.V33]: sdk.constants.KERNEL_V3_3,
24
- [sdkApiCore.ProviderKernelVersionEnum.V32]: sdk.constants.KERNEL_V3_2,
25
- [sdkApiCore.ProviderKernelVersionEnum.V31]: sdk.constants.KERNEL_V3_1,
26
- [sdkApiCore.ProviderKernelVersionEnum.V30]: sdk.constants.KERNEL_V3_0,
27
- [sdkApiCore.ProviderKernelVersionEnum.V24]: sdk.constants.KERNEL_V2_4
28
- };
29
- const ENTRY_POINT_VERSION_MAP = {
30
- 0.6: sdk.constants.KERNEL_V2_4,
31
- 0.7: sdk.constants.KERNEL_V3_1,
32
- 0.8: sdk.constants.KERNEL_V3_3
33
- };
34
-
35
- const getZerodevProviderFromSettings = (client)=>{
36
- var _projectSettings_providers;
37
- const projectSettings = client.projectSettings;
38
- core.assertDefined(projectSettings, 'Project settings are not available');
39
- const zerodevProvider = (_projectSettings_providers = projectSettings.providers) == null ? void 0 : _projectSettings_providers.find((provider)=>provider.provider === sdkApiCore.ProviderEnum.Zerodev);
40
- core.assertDefined(zerodevProvider, 'Zerodev is not configured in project settings');
41
- return zerodevProvider;
42
- };
43
-
44
- const getZerodevChainProviderForNetworkId = ({ networkId }, client)=>{
45
- var _zerodevProvider_multichainAccountAbstractionProviders;
46
- const zerodevProvider = getZerodevProviderFromSettings(client);
47
- return (_zerodevProvider_multichainAccountAbstractionProviders = zerodevProvider.multichainAccountAbstractionProviders) == null ? void 0 : _zerodevProvider_multichainAccountAbstractionProviders.find((provider)=>provider.chain === networkId);
48
- };
49
-
50
- /**
51
- * Gets a WalletClient instance for the EOA of the smart wallet account.
52
- * You can use this signer to sign EVM transactions.
53
- *
54
- * @param params.smartWalletAccount - The EVM smart wallet account to get the signer for.
55
- * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
56
- * @returns A promise that resolves to an WalletClient instance.
57
- * @throws NoSmartWalletAccountSignerFoundError When the signer wallet account is not found for the given smart wallet account.
58
- */ const getSignerForSmartWalletAccount = ({ smartWalletAccount }, client$1 = core.getDefaultClient())=>{
59
- const signerWalletAccount = client.getOwnerWalletAccountForSmartWalletAccount({
60
- smartWalletAccount
61
- }, client$1);
62
- if (!signerWalletAccount || !evm.isEvmWalletAccount(signerWalletAccount)) {
63
- throw new client.NoSmartWalletAccountSignerFoundError(smartWalletAccount.address);
64
- }
65
- return viem.createWalletClientForWalletAccount({
66
- walletAccount: signerWalletAccount
67
- }, client$1);
68
- };
69
-
70
- const getEcdsaValidator = ({ ecdsaProviderType, publicClient, signer, entryPoint, kernelVersion })=>{
71
- const params = {
72
- entryPoint,
73
- kernelVersion,
74
- signer
75
- };
76
- if (ecdsaProviderType === 'zerodev_multi_chain') {
77
- return multiChainEcdsaValidator.toMultiChainECDSAValidator(publicClient, params);
78
- }
79
- return ecdsaValidator.signerToEcdsaValidator(publicClient, params);
80
- };
81
-
82
- const getEntryPoint = (entryPoint)=>{
83
- if (entryPoint === sdkApiCore.ProviderEntryPointVersionEnum.V6) {
84
- return sdk.constants.getEntryPoint('0.6');
85
- }
86
- // default to v7
87
- return sdk.constants.getEntryPoint('0.7');
88
- };
89
-
90
- const getKernelVersion = ({ kernelVersion, entryPoint })=>{
91
- // If kernel version is explicitly provided, use it
92
- if (kernelVersion && kernelVersion in KERNEL_VERSION_MAP) {
93
- return KERNEL_VERSION_MAP[kernelVersion];
94
- }
95
- // If no kernel version provided, determine based on entry point version
96
- const entryPointVersion = entryPoint.version;
97
- if (entryPointVersion in ENTRY_POINT_VERSION_MAP) {
98
- return ENTRY_POINT_VERSION_MAP[entryPointVersion];
99
- }
100
- // Fallback to latest version
101
- return sdk.constants.KERNEL_V3_3;
102
- };
103
-
104
- const shouldUseEIP7702 = ({ smartWalletAccount }, client$1)=>{
105
- const zerodevProvider = getZerodevProviderFromSettings(client$1);
106
- core.assertDefined(zerodevProvider, 'Zerodev provider is not enabled in project settings');
107
- const eoaWalletAccount = client.getOwnerWalletAccountForSmartWalletAccount({
108
- smartWalletAccount
109
- }, client$1);
110
- core.assertDefined(eoaWalletAccount, 'EOA wallet account is not found');
111
- return zerodevProvider.enableEIP7702 && // with EIP7702, the EOA wallet account address is the same as the smart wallet account address
112
- smartWalletAccount.address === eoaWalletAccount.address;
113
- };
114
-
115
- const createKernelAccount = async ({ publicClient, smartWalletAccount }, client)=>{
116
- var _getVerifiedCredentialForWalletAccount;
117
- const zerodevProvider = getZerodevProviderFromSettings(client);
118
- core.assertDefined(zerodevProvider, 'Zerodev provider is not enabled in project settings');
119
- const signer = await getSignerForSmartWalletAccount({
120
- smartWalletAccount
121
- }, client);
122
- const walletProperties = (_getVerifiedCredentialForWalletAccount = core.getVerifiedCredentialForWalletAccount({
123
- walletAccount: smartWalletAccount
124
- }, client)) == null ? void 0 : _getVerifiedCredentialForWalletAccount.walletProperties;
125
- var _walletProperties_entryPointVersion;
126
- const entryPointVersion = (_walletProperties_entryPointVersion = walletProperties == null ? void 0 : walletProperties.entryPointVersion) != null ? _walletProperties_entryPointVersion : zerodevProvider.entryPointVersion;
127
- const entryPoint = getEntryPoint(entryPointVersion);
128
- const useEIP7702 = shouldUseEIP7702({
129
- smartWalletAccount
130
- }, client);
131
- if (useEIP7702) {
132
- return sdk.createKernelAccount(publicClient, {
133
- eip7702Account: signer,
134
- entryPoint,
135
- kernelVersion: sdk.constants.KERNEL_V3_3
136
- });
137
- }
138
- var _walletProperties_kernelVersion;
139
- const kernelVersionValue = (_walletProperties_kernelVersion = walletProperties == null ? void 0 : walletProperties.kernelVersion) != null ? _walletProperties_kernelVersion : zerodevProvider.kernelVersion;
140
- const kernelVersion = getKernelVersion({
141
- entryPoint,
142
- kernelVersion: kernelVersionValue
143
- });
144
- var _zerodevProvider_enableKernelV3Migration;
145
- const kernelV3MigrationEnabled = (_zerodevProvider_enableKernelV3Migration = zerodevProvider.enableKernelV3Migration) != null ? _zerodevProvider_enableKernelV3Migration : false;
146
- if (kernelV3MigrationEnabled) {
147
- const apiKernelVersion = getKernelVersion({
148
- entryPoint,
149
- kernelVersion: zerodevProvider.kernelVersion
150
- });
151
- return ecdsaValidator.createEcdsaKernelMigrationAccount(publicClient, {
152
- entryPoint,
153
- migrationVersion: {
154
- from: kernelVersion,
155
- to: apiKernelVersion
156
- },
157
- signer
158
- });
159
- }
160
- var _walletProperties_ecdsaProviderType;
161
- const validator = await getEcdsaValidator({
162
- ecdsaProviderType: (_walletProperties_ecdsaProviderType = walletProperties == null ? void 0 : walletProperties.ecdsaProviderType) != null ? _walletProperties_ecdsaProviderType : zerodevProvider.ecdsaProviderType,
163
- entryPoint,
164
- kernelVersion,
165
- publicClient,
166
- signer
167
- });
168
- return sdk.createKernelAccount(publicClient, {
169
- entryPoint,
170
- kernelVersion,
171
- plugins: {
172
- sudo: validator
173
- }
174
- });
175
- };
176
-
177
- const getPaymasterConfig = ({ chain, gasTokenAddress, paymasterRpc })=>{
178
- const getPaymasterData = (params)=>{
179
- const zerodevPaymaster = sdk.createZeroDevPaymasterClient({
180
- chain,
181
- transport: viem$1.http(paymasterRpc)
182
- });
183
- return zerodevPaymaster.sponsorUserOperation({
184
- gasToken: gasTokenAddress,
185
- userOperation: params
186
- });
187
- };
188
- return {
189
- paymaster: {
190
- getPaymasterData
191
- }
192
- };
193
- };
194
-
195
- const getZerodevRpc = ({ networkId, bundlerProvider, rpcType }, client)=>{
196
- const zerodevProvider = getZerodevProviderFromSettings(client);
197
- if (zerodevProvider == null ? void 0 : zerodevProvider.zerodevPaymasterRpcUrl) {
198
- return zerodevProvider.zerodevPaymasterRpcUrl;
199
- }
200
- const zerodevChainProvider = getZerodevChainProviderForNetworkId({
201
- networkId
202
- }, client);
203
- core.assertDefined(zerodevChainProvider, `No zerodev provider found for network id ${networkId}`);
204
- var _ref;
205
- const paymasterProvider = (_ref = bundlerProvider != null ? bundlerProvider : zerodevProvider.zerodevBundlerProvider) != null ? _ref : sdkApiCore.ZerodevBundlerProvider.Pimlico;
206
- const paramName = rpcType === 'bundler' ? 'bundlerProvider' : 'paymasterProvider';
207
- return `${ZERODEV_RPC_BASE_URL}/${rpcType}/${zerodevChainProvider.clientId}?${paramName}=${paymasterProvider}`;
208
- };
209
-
210
- exports.ZERODEV_METADATA = ZERODEV_METADATA;
211
- exports.createKernelAccount = createKernelAccount;
212
- exports.getEcdsaValidator = getEcdsaValidator;
213
- exports.getEntryPoint = getEntryPoint;
214
- exports.getKernelVersion = getKernelVersion;
215
- exports.getPaymasterConfig = getPaymasterConfig;
216
- exports.getSignerForSmartWalletAccount = getSignerForSmartWalletAccount;
217
- exports.getZerodevChainProviderForNetworkId = getZerodevChainProviderForNetworkId;
218
- exports.getZerodevProviderFromSettings = getZerodevProviderFromSettings;
219
- exports.getZerodevRpc = getZerodevRpc;
220
- exports.name = name;
221
- exports.shouldUseEIP7702 = shouldUseEIP7702;
222
- exports.version = version;
@@ -1,208 +0,0 @@
1
- import { DYNAMIC_ICONIC_SPRITE_URL, assertDefined, getDefaultClient, getVerifiedCredentialForWalletAccount } from '@dynamic-labs-sdk/client/core';
2
- import { signerToEcdsaValidator, createEcdsaKernelMigrationAccount } from '@zerodev/ecdsa-validator';
3
- import { constants, createKernelAccount as createKernelAccount$1, createZeroDevPaymasterClient } from '@zerodev/sdk';
4
- import { getOwnerWalletAccountForSmartWalletAccount, NoSmartWalletAccountSignerFoundError } from '@dynamic-labs-sdk/client';
5
- import { isEvmWalletAccount } from '@dynamic-labs-sdk/evm';
6
- import { createWalletClientForWalletAccount } from '@dynamic-labs-sdk/evm/viem';
7
- import { toMultiChainECDSAValidator } from '@zerodev/multi-chain-ecdsa-validator';
8
- import { ProviderKernelVersionEnum, ProviderEnum, ProviderEntryPointVersionEnum, ZerodevBundlerProvider } from '@dynamic-labs/sdk-api-core';
9
- import { http } from 'viem';
10
-
11
- var name = "@dynamic-labs-sdk/zerodev";
12
- var version = "0.1.2";
13
-
14
- const ZERODEV_METADATA = {
15
- displayName: 'ZeroDev',
16
- icon: `${DYNAMIC_ICONIC_SPRITE_URL}#smartwallet`,
17
- normalizedWalletName: 'zerodev'
18
- };
19
- const ZERODEV_RPC_BASE_URL = 'https://rpc.zerodev.app/api/v2';
20
- const KERNEL_VERSION_MAP = {
21
- [ProviderKernelVersionEnum.V33]: constants.KERNEL_V3_3,
22
- [ProviderKernelVersionEnum.V32]: constants.KERNEL_V3_2,
23
- [ProviderKernelVersionEnum.V31]: constants.KERNEL_V3_1,
24
- [ProviderKernelVersionEnum.V30]: constants.KERNEL_V3_0,
25
- [ProviderKernelVersionEnum.V24]: constants.KERNEL_V2_4
26
- };
27
- const ENTRY_POINT_VERSION_MAP = {
28
- 0.6: constants.KERNEL_V2_4,
29
- 0.7: constants.KERNEL_V3_1,
30
- 0.8: constants.KERNEL_V3_3
31
- };
32
-
33
- const getZerodevProviderFromSettings = (client)=>{
34
- var _projectSettings_providers;
35
- const projectSettings = client.projectSettings;
36
- assertDefined(projectSettings, 'Project settings are not available');
37
- const zerodevProvider = (_projectSettings_providers = projectSettings.providers) == null ? void 0 : _projectSettings_providers.find((provider)=>provider.provider === ProviderEnum.Zerodev);
38
- assertDefined(zerodevProvider, 'Zerodev is not configured in project settings');
39
- return zerodevProvider;
40
- };
41
-
42
- const getZerodevChainProviderForNetworkId = ({ networkId }, client)=>{
43
- var _zerodevProvider_multichainAccountAbstractionProviders;
44
- const zerodevProvider = getZerodevProviderFromSettings(client);
45
- return (_zerodevProvider_multichainAccountAbstractionProviders = zerodevProvider.multichainAccountAbstractionProviders) == null ? void 0 : _zerodevProvider_multichainAccountAbstractionProviders.find((provider)=>provider.chain === networkId);
46
- };
47
-
48
- /**
49
- * Gets a WalletClient instance for the EOA of the smart wallet account.
50
- * You can use this signer to sign EVM transactions.
51
- *
52
- * @param params.smartWalletAccount - The EVM smart wallet account to get the signer for.
53
- * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
54
- * @returns A promise that resolves to an WalletClient instance.
55
- * @throws NoSmartWalletAccountSignerFoundError When the signer wallet account is not found for the given smart wallet account.
56
- */ const getSignerForSmartWalletAccount = ({ smartWalletAccount }, client = getDefaultClient())=>{
57
- const signerWalletAccount = getOwnerWalletAccountForSmartWalletAccount({
58
- smartWalletAccount
59
- }, client);
60
- if (!signerWalletAccount || !isEvmWalletAccount(signerWalletAccount)) {
61
- throw new NoSmartWalletAccountSignerFoundError(smartWalletAccount.address);
62
- }
63
- return createWalletClientForWalletAccount({
64
- walletAccount: signerWalletAccount
65
- }, client);
66
- };
67
-
68
- const getEcdsaValidator = ({ ecdsaProviderType, publicClient, signer, entryPoint, kernelVersion })=>{
69
- const params = {
70
- entryPoint,
71
- kernelVersion,
72
- signer
73
- };
74
- if (ecdsaProviderType === 'zerodev_multi_chain') {
75
- return toMultiChainECDSAValidator(publicClient, params);
76
- }
77
- return signerToEcdsaValidator(publicClient, params);
78
- };
79
-
80
- const getEntryPoint = (entryPoint)=>{
81
- if (entryPoint === ProviderEntryPointVersionEnum.V6) {
82
- return constants.getEntryPoint('0.6');
83
- }
84
- // default to v7
85
- return constants.getEntryPoint('0.7');
86
- };
87
-
88
- const getKernelVersion = ({ kernelVersion, entryPoint })=>{
89
- // If kernel version is explicitly provided, use it
90
- if (kernelVersion && kernelVersion in KERNEL_VERSION_MAP) {
91
- return KERNEL_VERSION_MAP[kernelVersion];
92
- }
93
- // If no kernel version provided, determine based on entry point version
94
- const entryPointVersion = entryPoint.version;
95
- if (entryPointVersion in ENTRY_POINT_VERSION_MAP) {
96
- return ENTRY_POINT_VERSION_MAP[entryPointVersion];
97
- }
98
- // Fallback to latest version
99
- return constants.KERNEL_V3_3;
100
- };
101
-
102
- const shouldUseEIP7702 = ({ smartWalletAccount }, client)=>{
103
- const zerodevProvider = getZerodevProviderFromSettings(client);
104
- assertDefined(zerodevProvider, 'Zerodev provider is not enabled in project settings');
105
- const eoaWalletAccount = getOwnerWalletAccountForSmartWalletAccount({
106
- smartWalletAccount
107
- }, client);
108
- assertDefined(eoaWalletAccount, 'EOA wallet account is not found');
109
- return zerodevProvider.enableEIP7702 && // with EIP7702, the EOA wallet account address is the same as the smart wallet account address
110
- smartWalletAccount.address === eoaWalletAccount.address;
111
- };
112
-
113
- const createKernelAccount = async ({ publicClient, smartWalletAccount }, client)=>{
114
- var _getVerifiedCredentialForWalletAccount;
115
- const zerodevProvider = getZerodevProviderFromSettings(client);
116
- assertDefined(zerodevProvider, 'Zerodev provider is not enabled in project settings');
117
- const signer = await getSignerForSmartWalletAccount({
118
- smartWalletAccount
119
- }, client);
120
- const walletProperties = (_getVerifiedCredentialForWalletAccount = getVerifiedCredentialForWalletAccount({
121
- walletAccount: smartWalletAccount
122
- }, client)) == null ? void 0 : _getVerifiedCredentialForWalletAccount.walletProperties;
123
- var _walletProperties_entryPointVersion;
124
- const entryPointVersion = (_walletProperties_entryPointVersion = walletProperties == null ? void 0 : walletProperties.entryPointVersion) != null ? _walletProperties_entryPointVersion : zerodevProvider.entryPointVersion;
125
- const entryPoint = getEntryPoint(entryPointVersion);
126
- const useEIP7702 = shouldUseEIP7702({
127
- smartWalletAccount
128
- }, client);
129
- if (useEIP7702) {
130
- return createKernelAccount$1(publicClient, {
131
- eip7702Account: signer,
132
- entryPoint,
133
- kernelVersion: constants.KERNEL_V3_3
134
- });
135
- }
136
- var _walletProperties_kernelVersion;
137
- const kernelVersionValue = (_walletProperties_kernelVersion = walletProperties == null ? void 0 : walletProperties.kernelVersion) != null ? _walletProperties_kernelVersion : zerodevProvider.kernelVersion;
138
- const kernelVersion = getKernelVersion({
139
- entryPoint,
140
- kernelVersion: kernelVersionValue
141
- });
142
- var _zerodevProvider_enableKernelV3Migration;
143
- const kernelV3MigrationEnabled = (_zerodevProvider_enableKernelV3Migration = zerodevProvider.enableKernelV3Migration) != null ? _zerodevProvider_enableKernelV3Migration : false;
144
- if (kernelV3MigrationEnabled) {
145
- const apiKernelVersion = getKernelVersion({
146
- entryPoint,
147
- kernelVersion: zerodevProvider.kernelVersion
148
- });
149
- return createEcdsaKernelMigrationAccount(publicClient, {
150
- entryPoint,
151
- migrationVersion: {
152
- from: kernelVersion,
153
- to: apiKernelVersion
154
- },
155
- signer
156
- });
157
- }
158
- var _walletProperties_ecdsaProviderType;
159
- const validator = await getEcdsaValidator({
160
- ecdsaProviderType: (_walletProperties_ecdsaProviderType = walletProperties == null ? void 0 : walletProperties.ecdsaProviderType) != null ? _walletProperties_ecdsaProviderType : zerodevProvider.ecdsaProviderType,
161
- entryPoint,
162
- kernelVersion,
163
- publicClient,
164
- signer
165
- });
166
- return createKernelAccount$1(publicClient, {
167
- entryPoint,
168
- kernelVersion,
169
- plugins: {
170
- sudo: validator
171
- }
172
- });
173
- };
174
-
175
- const getPaymasterConfig = ({ chain, gasTokenAddress, paymasterRpc })=>{
176
- const getPaymasterData = (params)=>{
177
- const zerodevPaymaster = createZeroDevPaymasterClient({
178
- chain,
179
- transport: http(paymasterRpc)
180
- });
181
- return zerodevPaymaster.sponsorUserOperation({
182
- gasToken: gasTokenAddress,
183
- userOperation: params
184
- });
185
- };
186
- return {
187
- paymaster: {
188
- getPaymasterData
189
- }
190
- };
191
- };
192
-
193
- const getZerodevRpc = ({ networkId, bundlerProvider, rpcType }, client)=>{
194
- const zerodevProvider = getZerodevProviderFromSettings(client);
195
- if (zerodevProvider == null ? void 0 : zerodevProvider.zerodevPaymasterRpcUrl) {
196
- return zerodevProvider.zerodevPaymasterRpcUrl;
197
- }
198
- const zerodevChainProvider = getZerodevChainProviderForNetworkId({
199
- networkId
200
- }, client);
201
- assertDefined(zerodevChainProvider, `No zerodev provider found for network id ${networkId}`);
202
- var _ref;
203
- const paymasterProvider = (_ref = bundlerProvider != null ? bundlerProvider : zerodevProvider.zerodevBundlerProvider) != null ? _ref : ZerodevBundlerProvider.Pimlico;
204
- const paramName = rpcType === 'bundler' ? 'bundlerProvider' : 'paymasterProvider';
205
- return `${ZERODEV_RPC_BASE_URL}/${rpcType}/${zerodevChainProvider.clientId}?${paramName}=${paymasterProvider}`;
206
- };
207
-
208
- export { ZERODEV_METADATA as Z, getPaymasterConfig as a, getZerodevChainProviderForNetworkId as b, createKernelAccount as c, getSignerForSmartWalletAccount as d, getEcdsaValidator as e, getEntryPoint as f, getZerodevRpc as g, getKernelVersion as h, getZerodevProviderFromSettings as i, name as n, shouldUseEIP7702 as s, version as v };
package/index.cjs.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from "./src/exports/index";