@zerodev/sdk 4.4.0 → 4.4.2

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 (37) 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 +1 -1
  5. package/dist/cjs/kernel-zerodev/constants.js +4 -1
  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 +1 -1
  17. package/dist/esm/kernel-zerodev/constants.js +4 -1
  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 +1 -1
  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/abis/WeightedValidatorAbi.ts +65 -8
  35. package/src/kernel-zerodev/constants.ts +4 -1
  36. package/src/kernel-zerodev/validator/recovery-validator.ts +14 -1
  37. package/src/kernel-zerodev/validator-provider/recovery-provider.ts +27 -2
@@ -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(