@zerodev/sdk 4.0.16 → 4.0.18

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 (152) hide show
  1. package/README.md +109 -0
  2. package/dist/cjs/kernel-zerodev/abis/RecoveryActionAbi.d.ts +15 -0
  3. package/dist/cjs/kernel-zerodev/abis/RecoveryActionAbi.js +24 -0
  4. package/dist/cjs/kernel-zerodev/abis/RecoveryActionAbi.js.map +1 -0
  5. package/dist/cjs/kernel-zerodev/abis/WeightedValidatorAbi.d.ts +296 -0
  6. package/dist/cjs/kernel-zerodev/abis/WeightedValidatorAbi.js +389 -0
  7. package/dist/cjs/kernel-zerodev/abis/WeightedValidatorAbi.js.map +1 -0
  8. package/dist/cjs/kernel-zerodev/account.d.ts +2 -0
  9. package/dist/cjs/kernel-zerodev/account.js +30 -0
  10. package/dist/cjs/kernel-zerodev/account.js.map +1 -1
  11. package/dist/cjs/kernel-zerodev/api/index.d.ts +2 -0
  12. package/dist/cjs/kernel-zerodev/api/index.js +28 -1
  13. package/dist/cjs/kernel-zerodev/api/index.js.map +1 -1
  14. package/dist/cjs/kernel-zerodev/constants.d.ts +2 -0
  15. package/dist/cjs/kernel-zerodev/constants.js +3 -1
  16. package/dist/cjs/kernel-zerodev/constants.js.map +1 -1
  17. package/dist/cjs/kernel-zerodev/ethers-provider/account-signer.d.ts +1 -1
  18. package/dist/cjs/kernel-zerodev/owner/passkey/utils.js +1 -1
  19. package/dist/cjs/kernel-zerodev/owner/passkey/utils.js.map +1 -1
  20. package/dist/cjs/kernel-zerodev/provider.js.map +1 -1
  21. package/dist/cjs/kernel-zerodev/validator/base.d.ts +2 -0
  22. package/dist/cjs/kernel-zerodev/validator/base.js +9 -0
  23. package/dist/cjs/kernel-zerodev/validator/base.js.map +1 -1
  24. package/dist/cjs/kernel-zerodev/validator/index.d.ts +2 -1
  25. package/dist/cjs/kernel-zerodev/validator/index.js +4 -1
  26. package/dist/cjs/kernel-zerodev/validator/index.js.map +1 -1
  27. package/dist/cjs/kernel-zerodev/validator/recovery-validator.d.ts +52 -0
  28. package/dist/cjs/kernel-zerodev/validator/recovery-validator.js +298 -0
  29. package/dist/cjs/kernel-zerodev/validator/recovery-validator.js.map +1 -0
  30. package/dist/cjs/kernel-zerodev/validator/session-key-validator.d.ts +1 -1
  31. package/dist/cjs/kernel-zerodev/validator/session-key-validator.js +14 -1
  32. package/dist/cjs/kernel-zerodev/validator/session-key-validator.js.map +1 -1
  33. package/dist/cjs/kernel-zerodev/validator/types.d.ts +7 -1
  34. package/dist/cjs/kernel-zerodev/validator/types.js.map +1 -1
  35. package/dist/cjs/kernel-zerodev/validator-provider/base.d.ts +2 -2
  36. package/dist/cjs/kernel-zerodev/validator-provider/base.js +7 -3
  37. package/dist/cjs/kernel-zerodev/validator-provider/base.js.map +1 -1
  38. package/dist/cjs/kernel-zerodev/validator-provider/ecdsa-provider.d.ts +1 -1
  39. package/dist/cjs/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts +1 -1
  40. package/dist/cjs/kernel-zerodev/validator-provider/index.d.ts +2 -1
  41. package/dist/cjs/kernel-zerodev/validator-provider/index.js +4 -1
  42. package/dist/cjs/kernel-zerodev/validator-provider/index.js.map +1 -1
  43. package/dist/cjs/kernel-zerodev/validator-provider/kill-switch-provider.d.ts +1 -1
  44. package/dist/cjs/kernel-zerodev/validator-provider/recovery-provider.d.ts +26 -0
  45. package/dist/cjs/kernel-zerodev/validator-provider/recovery-provider.js +278 -0
  46. package/dist/cjs/kernel-zerodev/validator-provider/recovery-provider.js.map +1 -0
  47. package/dist/cjs/kernel-zerodev/validator-provider/session-key-provider.d.ts +1 -1
  48. package/dist/cjs/kernel-zerodev/validator-provider/types.d.ts +3 -0
  49. package/dist/cjs/kernel-zerodev/validator-provider/types.js.map +1 -1
  50. package/dist/esm/kernel-zerodev/abis/RecoveryActionAbi.d.ts +15 -0
  51. package/dist/esm/kernel-zerodev/abis/RecoveryActionAbi.js +21 -0
  52. package/dist/esm/kernel-zerodev/abis/RecoveryActionAbi.js.map +1 -0
  53. package/dist/esm/kernel-zerodev/abis/WeightedValidatorAbi.d.ts +296 -0
  54. package/dist/esm/kernel-zerodev/abis/WeightedValidatorAbi.js +386 -0
  55. package/dist/esm/kernel-zerodev/abis/WeightedValidatorAbi.js.map +1 -0
  56. package/dist/esm/kernel-zerodev/account.d.ts +2 -0
  57. package/dist/esm/kernel-zerodev/account.js +30 -0
  58. package/dist/esm/kernel-zerodev/account.js.map +1 -1
  59. package/dist/esm/kernel-zerodev/api/index.d.ts +2 -0
  60. package/dist/esm/kernel-zerodev/api/index.js +25 -0
  61. package/dist/esm/kernel-zerodev/api/index.js.map +1 -1
  62. package/dist/esm/kernel-zerodev/constants.d.ts +2 -0
  63. package/dist/esm/kernel-zerodev/constants.js +2 -0
  64. package/dist/esm/kernel-zerodev/constants.js.map +1 -1
  65. package/dist/esm/kernel-zerodev/ethers-provider/account-signer.d.ts +1 -1
  66. package/dist/esm/kernel-zerodev/owner/passkey/utils.js +1 -1
  67. package/dist/esm/kernel-zerodev/owner/passkey/utils.js.map +1 -1
  68. package/dist/esm/kernel-zerodev/provider.js.map +1 -1
  69. package/dist/esm/kernel-zerodev/validator/base.d.ts +2 -0
  70. package/dist/esm/kernel-zerodev/validator/base.js +9 -0
  71. package/dist/esm/kernel-zerodev/validator/base.js.map +1 -1
  72. package/dist/esm/kernel-zerodev/validator/index.d.ts +2 -1
  73. package/dist/esm/kernel-zerodev/validator/index.js +3 -1
  74. package/dist/esm/kernel-zerodev/validator/index.js.map +1 -1
  75. package/dist/esm/kernel-zerodev/validator/recovery-validator.d.ts +52 -0
  76. package/dist/esm/kernel-zerodev/validator/recovery-validator.js +292 -0
  77. package/dist/esm/kernel-zerodev/validator/recovery-validator.js.map +1 -0
  78. package/dist/esm/kernel-zerodev/validator/session-key-validator.d.ts +1 -1
  79. package/dist/esm/kernel-zerodev/validator/session-key-validator.js +14 -1
  80. package/dist/esm/kernel-zerodev/validator/session-key-validator.js.map +1 -1
  81. package/dist/esm/kernel-zerodev/validator/types.d.ts +7 -1
  82. package/dist/esm/kernel-zerodev/validator/types.js.map +1 -1
  83. package/dist/esm/kernel-zerodev/validator-provider/base.d.ts +2 -2
  84. package/dist/esm/kernel-zerodev/validator-provider/base.js +7 -3
  85. package/dist/esm/kernel-zerodev/validator-provider/base.js.map +1 -1
  86. package/dist/esm/kernel-zerodev/validator-provider/ecdsa-provider.d.ts +1 -1
  87. package/dist/esm/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts +1 -1
  88. package/dist/esm/kernel-zerodev/validator-provider/index.d.ts +2 -1
  89. package/dist/esm/kernel-zerodev/validator-provider/index.js +3 -1
  90. package/dist/esm/kernel-zerodev/validator-provider/index.js.map +1 -1
  91. package/dist/esm/kernel-zerodev/validator-provider/kill-switch-provider.d.ts +1 -1
  92. package/dist/esm/kernel-zerodev/validator-provider/recovery-provider.d.ts +26 -0
  93. package/dist/esm/kernel-zerodev/validator-provider/recovery-provider.js +271 -0
  94. package/dist/esm/kernel-zerodev/validator-provider/recovery-provider.js.map +1 -0
  95. package/dist/esm/kernel-zerodev/validator-provider/session-key-provider.d.ts +1 -1
  96. package/dist/esm/kernel-zerodev/validator-provider/types.d.ts +3 -0
  97. package/dist/esm/kernel-zerodev/validator-provider/types.js.map +1 -1
  98. package/dist/types/kernel-zerodev/abis/RecoveryActionAbi.d.ts +16 -0
  99. package/dist/types/kernel-zerodev/abis/RecoveryActionAbi.d.ts.map +1 -0
  100. package/dist/types/kernel-zerodev/abis/WeightedValidatorAbi.d.ts +297 -0
  101. package/dist/types/kernel-zerodev/abis/WeightedValidatorAbi.d.ts.map +1 -0
  102. package/dist/types/kernel-zerodev/account.d.ts +2 -0
  103. package/dist/types/kernel-zerodev/account.d.ts.map +1 -1
  104. package/dist/types/kernel-zerodev/api/index.d.ts +2 -0
  105. package/dist/types/kernel-zerodev/api/index.d.ts.map +1 -1
  106. package/dist/types/kernel-zerodev/constants.d.ts +2 -0
  107. package/dist/types/kernel-zerodev/constants.d.ts.map +1 -1
  108. package/dist/types/kernel-zerodev/ethers-provider/account-signer.d.ts +1 -1
  109. package/dist/types/kernel-zerodev/ethers-provider/account-signer.d.ts.map +1 -1
  110. package/dist/types/kernel-zerodev/validator/base.d.ts +2 -0
  111. package/dist/types/kernel-zerodev/validator/base.d.ts.map +1 -1
  112. package/dist/types/kernel-zerodev/validator/index.d.ts +2 -1
  113. package/dist/types/kernel-zerodev/validator/index.d.ts.map +1 -1
  114. package/dist/types/kernel-zerodev/validator/recovery-validator.d.ts +53 -0
  115. package/dist/types/kernel-zerodev/validator/recovery-validator.d.ts.map +1 -0
  116. package/dist/types/kernel-zerodev/validator/session-key-validator.d.ts +1 -1
  117. package/dist/types/kernel-zerodev/validator/session-key-validator.d.ts.map +1 -1
  118. package/dist/types/kernel-zerodev/validator/types.d.ts +7 -1
  119. package/dist/types/kernel-zerodev/validator/types.d.ts.map +1 -1
  120. package/dist/types/kernel-zerodev/validator-provider/base.d.ts +2 -2
  121. package/dist/types/kernel-zerodev/validator-provider/base.d.ts.map +1 -1
  122. package/dist/types/kernel-zerodev/validator-provider/ecdsa-provider.d.ts +1 -1
  123. package/dist/types/kernel-zerodev/validator-provider/ecdsa-provider.d.ts.map +1 -1
  124. package/dist/types/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts +1 -1
  125. package/dist/types/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts.map +1 -1
  126. package/dist/types/kernel-zerodev/validator-provider/index.d.ts +2 -1
  127. package/dist/types/kernel-zerodev/validator-provider/index.d.ts.map +1 -1
  128. package/dist/types/kernel-zerodev/validator-provider/kill-switch-provider.d.ts +1 -1
  129. package/dist/types/kernel-zerodev/validator-provider/kill-switch-provider.d.ts.map +1 -1
  130. package/dist/types/kernel-zerodev/validator-provider/recovery-provider.d.ts +27 -0
  131. package/dist/types/kernel-zerodev/validator-provider/recovery-provider.d.ts.map +1 -0
  132. package/dist/types/kernel-zerodev/validator-provider/session-key-provider.d.ts +1 -1
  133. package/dist/types/kernel-zerodev/validator-provider/session-key-provider.d.ts.map +1 -1
  134. package/dist/types/kernel-zerodev/validator-provider/types.d.ts +3 -0
  135. package/dist/types/kernel-zerodev/validator-provider/types.d.ts.map +1 -1
  136. package/package.json +1 -1
  137. package/src/kernel-zerodev/abis/RecoveryActionAbi.ts +20 -0
  138. package/src/kernel-zerodev/abis/WeightedValidatorAbi.ts +385 -0
  139. package/src/kernel-zerodev/account.ts +33 -0
  140. package/src/kernel-zerodev/api/index.ts +32 -0
  141. package/src/kernel-zerodev/constants.ts +3 -0
  142. package/src/kernel-zerodev/owner/passkey/utils.ts +2 -2
  143. package/src/kernel-zerodev/provider.ts +1 -1
  144. package/src/kernel-zerodev/validator/base.ts +11 -0
  145. package/src/kernel-zerodev/validator/index.ts +3 -0
  146. package/src/kernel-zerodev/validator/recovery-validator.ts +366 -0
  147. package/src/kernel-zerodev/validator/session-key-validator.ts +17 -4
  148. package/src/kernel-zerodev/validator/types.ts +10 -1
  149. package/src/kernel-zerodev/validator-provider/base.ts +7 -3
  150. package/src/kernel-zerodev/validator-provider/index.ts +3 -0
  151. package/src/kernel-zerodev/validator-provider/recovery-provider.ts +350 -0
  152. package/src/kernel-zerodev/validator-provider/types.ts +6 -0
@@ -1,8 +1,9 @@
1
1
  import { ECDSAProvider } from "./ecdsa-provider.js";
2
2
  import { ERC165SessionKeyProvider } from "./erc165-session-key-provider.js";
3
3
  import { KillSwitchProvider } from "./kill-switch-provider.js";
4
+ import { RecoveryProvider } from "./recovery-provider.js";
4
5
  import { SessionKeyProvider } from "./session-key-provider.js";
5
6
  import type { ValidatorProviderMap } from "./types.js";
6
7
  export declare const ValidatorProviders: ValidatorProviderMap;
7
- export { ECDSAProvider, KillSwitchProvider, ERC165SessionKeyProvider, SessionKeyProvider, };
8
+ export { ECDSAProvider, KillSwitchProvider, ERC165SessionKeyProvider, SessionKeyProvider, RecoveryProvider, };
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator-provider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,eAAO,MAAM,kBAAkB,EAAE,oBAKhC,CAAC;AAEF,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,GACnB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator-provider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,eAAO,MAAM,kBAAkB,EAAE,oBAMhC,CAAC;AAEF,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,GACjB,CAAC"}
@@ -4,6 +4,6 @@ export declare class KillSwitchProvider extends ValidatorProvider<KillSwitchVali
4
4
  constructor(params: ExtendedValidatorProviderParams<KillSwitchValidatorParams>);
5
5
  static init(params: ExtendedValidatorProviderParams<KillSwitchValidatorParams>): Promise<KillSwitchProvider>;
6
6
  changeGuardian: (enableData: `0x${string}`) => Promise<import("@alchemy/aa-core").SendUserOperationResult>;
7
- deleteKillSwitchData: (disableData: `0x${string}`) => Promise<import("@alchemy/aa-core").SendUserOperationResult>;
7
+ deleteKillSwitchData: (disableData?: `0x${string}`) => Promise<import("@alchemy/aa-core").SendUserOperationResult>;
8
8
  }
9
9
  //# sourceMappingURL=kill-switch-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kill-switch-provider.d.ts","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator-provider/kill-switch-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,KAAK,+BAA+B,EACrC,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,mBAAmB,EACnB,KAAK,yBAAyB,EAC/B,MAAM,uCAAuC,CAAC;AAM/C,qBAAa,kBAAmB,SAAQ,iBAAiB,CACvD,mBAAmB,EACnB,yBAAyB,CAC1B;gBAEG,MAAM,EAAE,+BAA+B,CAAC,yBAAyB,CAAC;WA4BhD,IAAI,CACtB,MAAM,EAAE,+BAA+B,CAAC,yBAAyB,CAAC,GACjE,OAAO,CAAC,kBAAkB,CAAC;IAmB9B,cAAc,6FAAgC;IAE9C,oBAAoB,8FAAiC;CACtD"}
1
+ {"version":3,"file":"kill-switch-provider.d.ts","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator-provider/kill-switch-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,KAAK,+BAA+B,EACrC,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,mBAAmB,EACnB,KAAK,yBAAyB,EAC/B,MAAM,uCAAuC,CAAC;AAM/C,qBAAa,kBAAmB,SAAQ,iBAAiB,CACvD,mBAAmB,EACnB,yBAAyB,CAC1B;gBAEG,MAAM,EAAE,+BAA+B,CAAC,yBAAyB,CAAC;WA4BhD,IAAI,CACtB,MAAM,EAAE,+BAA+B,CAAC,yBAAyB,CAAC,GACjE,OAAO,CAAC,kBAAkB,CAAC;IAmB9B,cAAc,6FAAgC;IAE9C,oBAAoB,+FAAiC;CACtD"}
@@ -0,0 +1,27 @@
1
+ import { ValidatorProvider, type ExtendedValidatorProviderParams } from "./base.js";
2
+ import { RecoveryValidator, type RecoveryConfig, type RecoveryValidatorParams } from "../validator/recovery-validator.js";
3
+ import { type Address, type SendUserOperationResult } from "@alchemy/aa-core";
4
+ import { type Hex, type TransactionReceipt } from "viem";
5
+ export interface RecoveryProviderParams extends ExtendedValidatorProviderParams<RecoveryValidatorParams> {
6
+ recoveryId?: string;
7
+ enableData?: Hex;
8
+ }
9
+ export declare class RecoveryProvider extends ValidatorProvider<RecoveryValidator, RecoveryValidatorParams> {
10
+ recoveryId?: string;
11
+ enableData?: Hex;
12
+ constructor(params: RecoveryProviderParams);
13
+ static init(params: RecoveryProviderParams): Promise<RecoveryProvider>;
14
+ getDefaultValidator(): Promise<Address>;
15
+ encodeCalldataAndNonce(enableData: Hex): Promise<Hex>;
16
+ enableRecovery(): Promise<SendUserOperationResult>;
17
+ initiateRecovery(enableData: Hex): Promise<string>;
18
+ serializeRecoveryConfig(): string;
19
+ static deserializeRecoveryConfig(recoveryConfig: string): RecoveryConfig;
20
+ approveRecovery(enableData?: Hex): Promise<TransactionReceipt>;
21
+ signRecovery(enableData?: Hex): Promise<void>;
22
+ approveRecoveryWithSig(enableData?: Hex, sigs?: Hex): Promise<TransactionReceipt>;
23
+ cancelRecovery(enableData?: Hex): Promise<SendUserOperationResult>;
24
+ submitRecovery(enableData?: Hex): Promise<SendUserOperationResult>;
25
+ deleteRecoveryData: (disableData?: `0x${string}`) => Promise<SendUserOperationResult>;
26
+ }
27
+ //# sourceMappingURL=recovery-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recovery-provider.d.ts","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator-provider/recovery-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,KAAK,+BAA+B,EACrC,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC7B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,uBAAuB,EAC7B,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAIL,KAAK,GAAG,EAGR,KAAK,kBAAkB,EAExB,MAAM,MAAM,CAAC;AAMd,MAAM,WAAW,sBACf,SAAQ,+BAA+B,CAAC,uBAAuB,CAAC;IAChE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB;AAED,qBAAa,gBAAiB,SAAQ,iBAAiB,CACrD,iBAAiB,EACjB,uBAAuB,CACxB;IACC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,GAAG,CAAC;gBACL,MAAM,EAAE,sBAAsB;WA2BtB,IAAI,CACtB,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,gBAAgB,CAAC;IA6CtB,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC;IAUvC,sBAAsB,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAerD,cAAc,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAkBlD,gBAAgB,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAyBxD,uBAAuB,IAAI,MAAM;WAQnB,yBAAyB,CACrC,cAAc,EAAE,MAAM,GACrB,cAAc;IAMX,eAAe,CAAC,UAAU,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA+B9D,YAAY,CAAC,UAAU,CAAC,EAAE,GAAG;IAkC7B,sBAAsB,CAC1B,UAAU,CAAC,EAAE,GAAG,EAChB,IAAI,CAAC,EAAE,GAAG,GACT,OAAO,CAAC,kBAAkB,CAAC;IAoCxB,cAAc,CAAC,UAAU,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAqBlE,cAAc,CAAC,UAAU,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAqBxE,kBAAkB,oEAAiC;CACpD"}
@@ -14,6 +14,6 @@ export declare class SessionKeyProvider extends ValidatorProvider<SessionKeyVali
14
14
  serializeSessionKeyParams(sessionPrivateKey?: Hex): Promise<string>;
15
15
  static deserializeSessionKeyParams(sessionKeyParams: string): PrefillSessionData["sessionKeyParams"];
16
16
  changeSessionKeyData: (enableData: `0x${string}`) => Promise<import("@alchemy/aa-core").SendUserOperationResult>;
17
- deleteSessionKey: (disableData: `0x${string}`) => Promise<import("@alchemy/aa-core").SendUserOperationResult>;
17
+ deleteSessionKey: (disableData?: `0x${string}`) => Promise<import("@alchemy/aa-core").SendUserOperationResult>;
18
18
  }
19
19
  //# sourceMappingURL=session-key-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-key-provider.d.ts","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator-provider/session-key-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,KAAK,+BAA+B,EACpC,KAAK,uBAAuB,EAC7B,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAC/B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAGL,KAAK,GAAG,EACR,KAAK,kBAAkB,EACxB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,gBAAgB,GAChC,YAAY,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,kBAAkB,GACvD,uBAAuB,CAAC,yBAAyB,CAAC,GAClD,OAAO,CAAC,yBAAyB,CAAC,GAClC,aAAa,CAAC,yBAAyB,CAAC,CAAC;AAE3C,qBAAa,kBAAmB,SAAQ,iBAAiB,CACvD,mBAAmB,EACnB,yBAAyB,CAC1B;gBAEG,MAAM,EAAE,+BAA+B,CAAC,yBAAyB,CAAC;WA4BhD,IAAI,CACtB,MAAM,EAAE,+BAA+B,CAAC,yBAAyB,CAAC,GACjE,OAAO,CAAC,kBAAkB,CAAC;WAmBV,oBAAoB,CACtC,MAAM,EAAE,wBAAwB,EAChC,MAAM,CAAC,EAAE,kBAAkB;IA8BvB,yBAAyB,CAAC,iBAAiB,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;WAoB3D,2BAA2B,CACvC,gBAAgB,EAAE,MAAM,GACvB,kBAAkB,CAAC,kBAAkB,CAAC;IAMzC,oBAAoB,6FAAgC;IAEpD,gBAAgB,8FAAiC;CAClD"}
1
+ {"version":3,"file":"session-key-provider.d.ts","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator-provider/session-key-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,KAAK,+BAA+B,EACpC,KAAK,uBAAuB,EAC7B,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAC/B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAGL,KAAK,GAAG,EACR,KAAK,kBAAkB,EACxB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,gBAAgB,GAChC,YAAY,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,kBAAkB,GACvD,uBAAuB,CAAC,yBAAyB,CAAC,GAClD,OAAO,CAAC,yBAAyB,CAAC,GAClC,aAAa,CAAC,yBAAyB,CAAC,CAAC;AAE3C,qBAAa,kBAAmB,SAAQ,iBAAiB,CACvD,mBAAmB,EACnB,yBAAyB,CAC1B;gBAEG,MAAM,EAAE,+BAA+B,CAAC,yBAAyB,CAAC;WA4BhD,IAAI,CACtB,MAAM,EAAE,+BAA+B,CAAC,yBAAyB,CAAC,GACjE,OAAO,CAAC,kBAAkB,CAAC;WAmBV,oBAAoB,CACtC,MAAM,EAAE,wBAAwB,EAChC,MAAM,CAAC,EAAE,kBAAkB;IA8BvB,yBAAyB,CAAC,iBAAiB,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;WAoB3D,2BAA2B,CACvC,gBAAgB,EAAE,MAAM,GACvB,kBAAkB,CAAC,kBAAkB,CAAC;IAMzC,oBAAoB,6FAAgC;IAEpD,gBAAgB,+FAAiC;CAClD"}
@@ -7,18 +7,21 @@ import type { ExtendedValidatorProviderParams } from "./base.js";
7
7
  import type { ECDSAProvider } from "./ecdsa-provider.js";
8
8
  import type { ERC165SessionKeyProvider } from "./erc165-session-key-provider.js";
9
9
  import type { KillSwitchProvider } from "./kill-switch-provider.js";
10
+ import type { RecoveryProvider, RecoveryProviderParams } from "./recovery-provider.js";
10
11
  import type { SessionKeyProvider, PrefillSessionData, SessionKeyProviderParams } from "./session-key-provider.js";
11
12
  export type ValidatorProviderTypeMap = {
12
13
  ECDSA: ECDSAProvider;
13
14
  KILL_SWITCH: KillSwitchProvider;
14
15
  ERC165_SESSION_KEY: ERC165SessionKeyProvider;
15
16
  SESSION_KEY: SessionKeyProvider;
17
+ RECOVERY: RecoveryProvider;
16
18
  };
17
19
  export type ValidatorProviderParamsMap = {
18
20
  ECDSA: ExtendedValidatorProviderParams<ECDSAValidatorParams>;
19
21
  KILL_SWITCH: ExtendedValidatorProviderParams<KillSwitchValidatorParams>;
20
22
  ERC165_SESSION_KEY: ExtendedValidatorProviderParams<ERC165SessionKeyValidatorParams>;
21
23
  SESSION_KEY: ExtendedValidatorProviderParams<SessionKeyValidatorParams>;
24
+ RECOVERY: RecoveryProviderParams;
22
25
  };
23
26
  export type ValidatorProviderMap = {
24
27
  [V in SupportedValidators]: new (params: ValidatorProviderParamsMap[V]) => ValidatorProviderTypeMap[V];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator-provider/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,8CAA8C,CAAC;AACpG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,EAAE,aAAa,CAAC;IACrB,WAAW,EAAE,kBAAkB,CAAC;IAChC,kBAAkB,EAAE,wBAAwB,CAAC;IAC7C,WAAW,EAAE,kBAAkB,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,EAAE,+BAA+B,CAAC,oBAAoB,CAAC,CAAC;IAC7D,WAAW,EAAE,+BAA+B,CAAC,yBAAyB,CAAC,CAAC;IACxE,kBAAkB,EAAE,+BAA+B,CAAC,+BAA+B,CAAC,CAAC;IACrF,WAAW,EAAE,+BAA+B,CAAC,yBAAyB,CAAC,CAAC;CACzE,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;KAChC,CAAC,IAAI,mBAAmB,GAAG,KAC1B,MAAM,EAAE,0BAA0B,CAAC,CAAC,CAAC,KAClC,wBAAwB,CAAC,CAAC,CAAC;CACjC,CAAC;AAEF,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator-provider/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,8CAA8C,CAAC;AACpG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,EAAE,aAAa,CAAC;IACrB,WAAW,EAAE,kBAAkB,CAAC;IAChC,kBAAkB,EAAE,wBAAwB,CAAC;IAC7C,WAAW,EAAE,kBAAkB,CAAC;IAChC,QAAQ,EAAE,gBAAgB,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,EAAE,+BAA+B,CAAC,oBAAoB,CAAC,CAAC;IAC7D,WAAW,EAAE,+BAA+B,CAAC,yBAAyB,CAAC,CAAC;IACxE,kBAAkB,EAAE,+BAA+B,CAAC,+BAA+B,CAAC,CAAC;IACrF,WAAW,EAAE,+BAA+B,CAAC,yBAAyB,CAAC,CAAC;IACxE,QAAQ,EAAE,sBAAsB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;KAChC,CAAC,IAAI,mBAAmB,GAAG,KAC1B,MAAM,EAAE,0BAA0B,CAAC,CAAC,CAAC,KAClC,wBAAwB,CAAC,CAAC,CAAC;CACjC,CAAC;AAEF,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zerodev/sdk",
3
- "version": "4.0.16",
3
+ "version": "4.0.18",
4
4
  "description": "A collection of ERC-4337 compliant smart contract account interfaces",
5
5
  "author": "ZeroDev",
6
6
  "license": "MIT",
@@ -0,0 +1,20 @@
1
+ export const RecoveryActionAbi = [
2
+ {
3
+ inputs: [
4
+ {
5
+ internalType: "address",
6
+ name: "_validator",
7
+ type: "address",
8
+ },
9
+ {
10
+ internalType: "bytes",
11
+ name: "_data",
12
+ type: "bytes",
13
+ },
14
+ ],
15
+ name: "doRecovery",
16
+ outputs: [],
17
+ stateMutability: "nonpayable",
18
+ type: "function",
19
+ },
20
+ ] as const;
@@ -0,0 +1,385 @@
1
+ export const WeightedValidatorAbi = [
2
+ {
3
+ inputs: [
4
+ {
5
+ internalType: "bytes32",
6
+ name: "_callDataAndNonceHash",
7
+ type: "bytes32",
8
+ },
9
+ {
10
+ internalType: "address",
11
+ name: "_kernel",
12
+ type: "address",
13
+ },
14
+ ],
15
+ name: "approve",
16
+ outputs: [],
17
+ stateMutability: "nonpayable",
18
+ type: "function",
19
+ },
20
+ {
21
+ inputs: [
22
+ {
23
+ internalType: "bytes32",
24
+ name: "_callDataAndNonceHash",
25
+ type: "bytes32",
26
+ },
27
+ {
28
+ internalType: "address",
29
+ name: "_kernel",
30
+ type: "address",
31
+ },
32
+ {
33
+ internalType: "bytes",
34
+ name: "sigs",
35
+ type: "bytes",
36
+ },
37
+ ],
38
+ name: "approveWithSig",
39
+ outputs: [],
40
+ stateMutability: "nonpayable",
41
+ type: "function",
42
+ },
43
+ {
44
+ inputs: [
45
+ {
46
+ internalType: "bytes",
47
+ name: "",
48
+ type: "bytes",
49
+ },
50
+ ],
51
+ name: "disable",
52
+ outputs: [],
53
+ stateMutability: "payable",
54
+ type: "function",
55
+ },
56
+ {
57
+ inputs: [],
58
+ name: "eip712Domain",
59
+ outputs: [
60
+ {
61
+ internalType: "bytes1",
62
+ name: "fields",
63
+ type: "bytes1",
64
+ },
65
+ {
66
+ internalType: "string",
67
+ name: "name",
68
+ type: "string",
69
+ },
70
+ {
71
+ internalType: "string",
72
+ name: "version",
73
+ type: "string",
74
+ },
75
+ {
76
+ internalType: "uint256",
77
+ name: "chainId",
78
+ type: "uint256",
79
+ },
80
+ {
81
+ internalType: "address",
82
+ name: "verifyingContract",
83
+ type: "address",
84
+ },
85
+ {
86
+ internalType: "bytes32",
87
+ name: "salt",
88
+ type: "bytes32",
89
+ },
90
+ {
91
+ internalType: "uint256[]",
92
+ name: "extensions",
93
+ type: "uint256[]",
94
+ },
95
+ ],
96
+ stateMutability: "view",
97
+ type: "function",
98
+ },
99
+ {
100
+ inputs: [
101
+ {
102
+ internalType: "bytes",
103
+ name: "_data",
104
+ type: "bytes",
105
+ },
106
+ ],
107
+ name: "enable",
108
+ outputs: [],
109
+ stateMutability: "payable",
110
+ type: "function",
111
+ },
112
+ {
113
+ inputs: [
114
+ {
115
+ internalType: "address",
116
+ name: "guardian",
117
+ type: "address",
118
+ },
119
+ {
120
+ internalType: "address",
121
+ name: "kernel",
122
+ type: "address",
123
+ },
124
+ ],
125
+ name: "guardian",
126
+ outputs: [
127
+ {
128
+ internalType: "uint24",
129
+ name: "weight",
130
+ type: "uint24",
131
+ },
132
+ {
133
+ internalType: "address",
134
+ name: "nextGuardian",
135
+ type: "address",
136
+ },
137
+ ],
138
+ stateMutability: "view",
139
+ type: "function",
140
+ },
141
+ {
142
+ inputs: [
143
+ {
144
+ internalType: "bytes32",
145
+ name: "callDataAndNonceHash",
146
+ type: "bytes32",
147
+ },
148
+ {
149
+ internalType: "address",
150
+ name: "kernel",
151
+ type: "address",
152
+ },
153
+ ],
154
+ name: "proposalStatus",
155
+ outputs: [
156
+ {
157
+ internalType: "enum ProposalStatus",
158
+ name: "status",
159
+ type: "uint8",
160
+ },
161
+ {
162
+ internalType: "ValidAfter",
163
+ name: "validAfter",
164
+ type: "uint48",
165
+ },
166
+ {
167
+ internalType: "uint24",
168
+ name: "weightApproved",
169
+ type: "uint24",
170
+ },
171
+ ],
172
+ stateMutability: "view",
173
+ type: "function",
174
+ },
175
+ {
176
+ inputs: [
177
+ {
178
+ internalType: "address",
179
+ name: "",
180
+ type: "address",
181
+ },
182
+ {
183
+ internalType: "bytes",
184
+ name: "",
185
+ type: "bytes",
186
+ },
187
+ ],
188
+ name: "validCaller",
189
+ outputs: [
190
+ {
191
+ internalType: "bool",
192
+ name: "",
193
+ type: "bool",
194
+ },
195
+ ],
196
+ stateMutability: "view",
197
+ type: "function",
198
+ },
199
+ {
200
+ inputs: [
201
+ {
202
+ internalType: "bytes32",
203
+ name: "hash",
204
+ type: "bytes32",
205
+ },
206
+ {
207
+ internalType: "bytes",
208
+ name: "signature",
209
+ type: "bytes",
210
+ },
211
+ ],
212
+ name: "validateSignature",
213
+ outputs: [
214
+ {
215
+ internalType: "ValidationData",
216
+ name: "",
217
+ type: "uint256",
218
+ },
219
+ ],
220
+ stateMutability: "view",
221
+ type: "function",
222
+ },
223
+ {
224
+ inputs: [
225
+ {
226
+ components: [
227
+ {
228
+ internalType: "address",
229
+ name: "sender",
230
+ type: "address",
231
+ },
232
+ {
233
+ internalType: "uint256",
234
+ name: "nonce",
235
+ type: "uint256",
236
+ },
237
+ {
238
+ internalType: "bytes",
239
+ name: "initCode",
240
+ type: "bytes",
241
+ },
242
+ {
243
+ internalType: "bytes",
244
+ name: "callData",
245
+ type: "bytes",
246
+ },
247
+ {
248
+ internalType: "uint256",
249
+ name: "callGasLimit",
250
+ type: "uint256",
251
+ },
252
+ {
253
+ internalType: "uint256",
254
+ name: "verificationGasLimit",
255
+ type: "uint256",
256
+ },
257
+ {
258
+ internalType: "uint256",
259
+ name: "preVerificationGas",
260
+ type: "uint256",
261
+ },
262
+ {
263
+ internalType: "uint256",
264
+ name: "maxFeePerGas",
265
+ type: "uint256",
266
+ },
267
+ {
268
+ internalType: "uint256",
269
+ name: "maxPriorityFeePerGas",
270
+ type: "uint256",
271
+ },
272
+ {
273
+ internalType: "bytes",
274
+ name: "paymasterAndData",
275
+ type: "bytes",
276
+ },
277
+ {
278
+ internalType: "bytes",
279
+ name: "signature",
280
+ type: "bytes",
281
+ },
282
+ ],
283
+ internalType: "struct UserOperation",
284
+ name: "userOp",
285
+ type: "tuple",
286
+ },
287
+ {
288
+ internalType: "bytes32",
289
+ name: "userOpHash",
290
+ type: "bytes32",
291
+ },
292
+ {
293
+ internalType: "uint256",
294
+ name: "missingFunds",
295
+ type: "uint256",
296
+ },
297
+ ],
298
+ name: "validateUserOp",
299
+ outputs: [
300
+ {
301
+ internalType: "ValidationData",
302
+ name: "validationData",
303
+ type: "uint256",
304
+ },
305
+ ],
306
+ stateMutability: "payable",
307
+ type: "function",
308
+ },
309
+ {
310
+ inputs: [
311
+ {
312
+ internalType: "bytes32",
313
+ name: "_callDataAndNonceHash",
314
+ type: "bytes32",
315
+ },
316
+ ],
317
+ name: "veto",
318
+ outputs: [],
319
+ stateMutability: "nonpayable",
320
+ type: "function",
321
+ },
322
+ {
323
+ inputs: [
324
+ {
325
+ internalType: "bytes32",
326
+ name: "callDataAndNonceHash",
327
+ type: "bytes32",
328
+ },
329
+ {
330
+ internalType: "address",
331
+ name: "guardian",
332
+ type: "address",
333
+ },
334
+ {
335
+ internalType: "address",
336
+ name: "kernel",
337
+ type: "address",
338
+ },
339
+ ],
340
+ name: "voteStatus",
341
+ outputs: [
342
+ {
343
+ internalType: "enum VoteStatus",
344
+ name: "status",
345
+ type: "uint8",
346
+ },
347
+ ],
348
+ stateMutability: "view",
349
+ type: "function",
350
+ },
351
+ {
352
+ inputs: [
353
+ {
354
+ internalType: "address",
355
+ name: "kernel",
356
+ type: "address",
357
+ },
358
+ ],
359
+ name: "weightedStorage",
360
+ outputs: [
361
+ {
362
+ internalType: "uint24",
363
+ name: "totalWeight",
364
+ type: "uint24",
365
+ },
366
+ {
367
+ internalType: "uint24",
368
+ name: "threshold",
369
+ type: "uint24",
370
+ },
371
+ {
372
+ internalType: "uint48",
373
+ name: "delay",
374
+ type: "uint48",
375
+ },
376
+ {
377
+ internalType: "address",
378
+ name: "firstGuardian",
379
+ type: "address",
380
+ },
381
+ ],
382
+ stateMutability: "view",
383
+ type: "function",
384
+ },
385
+ ] as const;
@@ -201,6 +201,27 @@ export class KernelSmartContractAccount<
201
201
  return this.encodeExecuteAction(target, value, data, 1);
202
202
  }
203
203
 
204
+ async encodeSetExection() {
205
+ if (!this.validator) {
206
+ throw new Error("Validator not connected");
207
+ }
208
+ const { executor, selector, validAfter, validUntil } =
209
+ await this.validator.getPluginValidatorData();
210
+ const enableData = await this.validator.getEnableData();
211
+ return encodeFunctionData({
212
+ abi: KernelAccountAbi,
213
+ functionName: "setExecution",
214
+ args: [
215
+ selector,
216
+ executor,
217
+ this.validator.validatorAddress,
218
+ validUntil,
219
+ validAfter,
220
+ enableData,
221
+ ],
222
+ });
223
+ }
224
+
204
225
  async signWithEip6492(msg: string | Uint8Array): Promise<Hex> {
205
226
  try {
206
227
  if (!this.validator) {
@@ -264,6 +285,18 @@ export class KernelSmartContractAccount<
264
285
  return concatHex([this.factoryAddress, await this.getFactoryInitCode()]);
265
286
  }
266
287
 
288
+ async getNonce(): Promise<bigint> {
289
+ if (!(await this.isAccountDeployed())) {
290
+ return 0n;
291
+ }
292
+ if (!this.validator) {
293
+ throw Error("Validator unintialized");
294
+ }
295
+ const address = await this.getAddress();
296
+ const key = this.validator.getNonceKey();
297
+ return this.entryPoint.read.getNonce([address, key]);
298
+ }
299
+
267
300
  protected async getFactoryInitCode(): Promise<Hex> {
268
301
  const validator = this.defaultValidator ?? this.validator;
269
302
  if (!validator) {
@@ -23,3 +23,35 @@ export const getChainId = async (
23
23
  return undefined;
24
24
  }
25
25
  };
26
+
27
+ export const getRecoveryData = async (recoveryId: string) => {
28
+ try {
29
+ const { data } = await axios.get(
30
+ `${BACKEND_URL}/v1/recovery/${recoveryId}`,
31
+ {
32
+ headers: { "Content-Type": "application/json" },
33
+ }
34
+ );
35
+ return data;
36
+ } catch (error) {
37
+ console.log(error);
38
+ return undefined;
39
+ }
40
+ };
41
+
42
+ export const setSignatures = async (recoveryId: string, signatures: string) => {
43
+ try {
44
+ const { data } = await axios.patch(
45
+ `${BACKEND_URL}/v1/recovery/${recoveryId}`,
46
+ {
47
+ signatures,
48
+ },
49
+ {
50
+ headers: { "Content-Type": "application/json" },
51
+ }
52
+ );
53
+ return data;
54
+ } catch (error) {
55
+ console.log(error);
56
+ }
57
+ };
@@ -26,6 +26,9 @@ export const ERC165_SESSION_KEY_VALIDATOR_ADDRESS =
26
26
  export const TOKEN_ACTION = "0x2087C7FfD0d0DAE80a00EE74325aBF3449e0eaf1";
27
27
  export const SESSION_KEY_VALIDATOR_ADDRESS =
28
28
  "0x1C1D5b70aD6e0c04366aab100261A6Bcc251EA3f";
29
+ export const RECOVERY_VALIDATOR_ADDRESS =
30
+ "0x4fd47D861c349bD49DC61341a922cb72F9dF7E8d";
31
+ export const RECOVERY_ACTION = "0x2f65dB8039fe5CAEE0a8680D2879deB800F31Ae1";
29
32
  export const oneAddress = "0x0000000000000000000000000000000000000001";
30
33
 
31
34
  export const gasTokenChainAddresses: IGasTokenAddresses = {
@@ -35,7 +35,7 @@ export const signMessageImplementation = async (
35
35
  credentialId: string,
36
36
  apiUrl = API_URL
37
37
  ) => {
38
- console.log("SIGN MESSAGE IMPLEMENTATION")
38
+ console.log("SIGN MESSAGE IMPLEMENTATION");
39
39
  const signedRequest = await TurnkeyApi.signSignRawPayload(
40
40
  {
41
41
  body: {
@@ -94,7 +94,7 @@ export const signMessage = async (
94
94
  apiUrl = API_URL
95
95
  ) => {
96
96
  return await signMessageImplementation(
97
- hashMessage(typeof msg === 'string' ? msg : {raw: msg}),
97
+ hashMessage(typeof msg === "string" ? msg : { raw: msg }),
98
98
  id,
99
99
  walletId,
100
100
  projectId,
@@ -325,7 +325,7 @@ export class ZeroDevProvider extends SmartAccountProvider<HttpTransport> {
325
325
  return this.sendTransaction(tx);
326
326
  case "eth_signTypedData_v4":
327
327
  //@ts-expect-error
328
- return this.signTypedData(JSON.parse(params[1]))
328
+ return this.signTypedData(JSON.parse(params[1]));
329
329
  case "personal_sign":
330
330
  if (!this.account) {
331
331
  throw new Error("account not connected!");
@@ -124,6 +124,10 @@ export abstract class KernelBaseValidator {
124
124
  };
125
125
  }
126
126
 
127
+ getNonceKey(): bigint {
128
+ return 0n;
129
+ }
130
+
127
131
  async getDynamicDummySignature(
128
132
  kernelAccountAddress: Address,
129
133
  calldata: Hex
@@ -172,6 +176,13 @@ export abstract class KernelBaseValidator {
172
176
  return this.validatorAddress;
173
177
  }
174
178
 
179
+ getPublicClient(): PublicClient<Transport, Chain> {
180
+ if (!this.publicClient) {
181
+ throw new Error("Validator uninitialized: PublicClient missing");
182
+ }
183
+ return this.publicClient;
184
+ }
185
+
175
186
  async approveExecutor(
176
187
  kernel: Address,
177
188
  selector: Hex,