@zerodev/sdk 4.3.4 → 4.4.1

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 (38) hide show
  1. package/dist/cjs/kernel-zerodev/abis/WeightedValidatorAbi.d.ts +52 -8
  2. package/dist/cjs/kernel-zerodev/abis/WeightedValidatorAbi.js +65 -8
  3. package/dist/cjs/kernel-zerodev/abis/WeightedValidatorAbi.js.map +1 -1
  4. package/dist/cjs/kernel-zerodev/constants.d.ts +2 -2
  5. package/dist/cjs/kernel-zerodev/constants.js +2 -2
  6. package/dist/cjs/kernel-zerodev/constants.js.map +1 -1
  7. package/dist/cjs/kernel-zerodev/validator/recovery-validator.d.ts +1 -0
  8. package/dist/cjs/kernel-zerodev/validator/recovery-validator.js +8 -1
  9. package/dist/cjs/kernel-zerodev/validator/recovery-validator.js.map +1 -1
  10. package/dist/cjs/kernel-zerodev/validator-provider/recovery-provider.d.ts +1 -0
  11. package/dist/cjs/kernel-zerodev/validator-provider/recovery-provider.js +14 -1
  12. package/dist/cjs/kernel-zerodev/validator-provider/recovery-provider.js.map +1 -1
  13. package/dist/esm/kernel-zerodev/abis/WeightedValidatorAbi.d.ts +52 -8
  14. package/dist/esm/kernel-zerodev/abis/WeightedValidatorAbi.js +65 -8
  15. package/dist/esm/kernel-zerodev/abis/WeightedValidatorAbi.js.map +1 -1
  16. package/dist/esm/kernel-zerodev/constants.d.ts +2 -2
  17. package/dist/esm/kernel-zerodev/constants.js +2 -2
  18. package/dist/esm/kernel-zerodev/constants.js.map +1 -1
  19. package/dist/esm/kernel-zerodev/validator/recovery-validator.d.ts +1 -0
  20. package/dist/esm/kernel-zerodev/validator/recovery-validator.js +8 -1
  21. package/dist/esm/kernel-zerodev/validator/recovery-validator.js.map +1 -1
  22. package/dist/esm/kernel-zerodev/validator-provider/recovery-provider.d.ts +1 -0
  23. package/dist/esm/kernel-zerodev/validator-provider/recovery-provider.js +15 -2
  24. package/dist/esm/kernel-zerodev/validator-provider/recovery-provider.js.map +1 -1
  25. package/dist/types/kernel-zerodev/abis/WeightedValidatorAbi.d.ts +52 -8
  26. package/dist/types/kernel-zerodev/abis/WeightedValidatorAbi.d.ts.map +1 -1
  27. package/dist/types/kernel-zerodev/constants.d.ts +2 -2
  28. package/dist/types/kernel-zerodev/constants.d.ts.map +1 -1
  29. package/dist/types/kernel-zerodev/validator/recovery-validator.d.ts +1 -0
  30. package/dist/types/kernel-zerodev/validator/recovery-validator.d.ts.map +1 -1
  31. package/dist/types/kernel-zerodev/validator-provider/recovery-provider.d.ts +1 -0
  32. package/dist/types/kernel-zerodev/validator-provider/recovery-provider.d.ts.map +1 -1
  33. package/package.json +1 -1
  34. package/src/kernel-zerodev/__tests__/config/index.ts +1 -0
  35. package/src/kernel-zerodev/abis/WeightedValidatorAbi.ts +65 -8
  36. package/src/kernel-zerodev/constants.ts +3 -2
  37. package/src/kernel-zerodev/validator/recovery-validator.ts +14 -1
  38. package/src/kernel-zerodev/validator-provider/recovery-provider.ts +27 -2
@@ -243,6 +243,19 @@ export class RecoveryValidator extends KernelBaseValidator {
243
243
  });
244
244
  }
245
245
 
246
+ encodeRenew(
247
+ guardians: Address[],
248
+ weights: number[],
249
+ threshold: number,
250
+ delay: number
251
+ ): Hex {
252
+ return encodeFunctionData({
253
+ abi: WeightedValidatorAbi,
254
+ functionName: "renew",
255
+ args: [guardians, weights, threshold, delay],
256
+ });
257
+ }
258
+
246
259
  encodeRecoveryAction(enableData: Hex, defaultValidatorAddress: Address): Hex {
247
260
  return encodeFunctionData({
248
261
  abi: RecoveryActionAbi,
@@ -393,7 +406,7 @@ export class RecoveryValidator extends KernelBaseValidator {
393
406
  return await signer.signTypedData({
394
407
  domain: {
395
408
  name: "WeightedECDSAValidator",
396
- version: "1",
409
+ version: "0.0.1",
397
410
  chainId: this.chain.id,
398
411
  verifyingContract: this.validatorAddress,
399
412
  },
@@ -26,6 +26,7 @@ import {
26
26
  type TransactionReceipt,
27
27
  createPublicClient,
28
28
  http,
29
+ decodeAbiParameters,
29
30
  } from "viem";
30
31
  import { RecoveryActionAbi } from "../abis/RecoveryActionAbi.js";
31
32
  import { KernelAccountAbi } from "../abis/KernelAccountAbi.js";
@@ -149,10 +150,11 @@ export class RecoveryProvider extends ValidatorProvider<
149
150
  functionName: "doRecovery",
150
151
  args: [defaultValidatorAddress, enableData],
151
152
  });
153
+ const sender = await this.getAddress();
152
154
  const nonce = await (await this.getAccount()).getNonce();
153
155
  const encodedCallDataAndNonce = encodeAbiParameters(
154
- parseAbiParameters("bytes calldata, uint256 nonce"),
155
- [callData, nonce]
156
+ parseAbiParameters("address sender, bytes calldata, uint256 nonce"),
157
+ [sender, callData, nonce]
156
158
  );
157
159
  return keccak256(encodedCallDataAndNonce);
158
160
  }
@@ -175,6 +177,29 @@ export class RecoveryProvider extends ValidatorProvider<
175
177
  });
176
178
  }
177
179
 
180
+ async renewRecovery(): Promise<SendUserOperationResult> {
181
+ if (!this.defaultProvider) {
182
+ throw Error("DefaultProvider uninitilised");
183
+ }
184
+ const enableData = await this.getValidator().getEnableData();
185
+ const [guardians, weights, threshold, delay] = decodeAbiParameters(
186
+ parseAbiParameters(
187
+ "address[] guardians, uint24[] weights, uint24 threshold, uint48 delay"
188
+ ),
189
+ enableData
190
+ );
191
+ const encodedRenewData = await this.getValidator().encodeRenew(
192
+ [...guardians],
193
+ [...weights],
194
+ threshold,
195
+ delay
196
+ );
197
+ return await this.defaultProvider.sendUserOperation({
198
+ target: this.getValidator().validatorAddress,
199
+ data: encodedRenewData,
200
+ });
201
+ }
202
+
178
203
  async initiateRecovery(enableData: Hex): Promise<string> {
179
204
  const serializedConfig = this.serializeRecoveryConfig();
180
205
  const recoveryId = await postRecoveryData(