@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
package/README.md CHANGED
@@ -535,6 +535,115 @@ const sessionKeyProvider = await SessionKeyProvider.fromSessionKeyParams({
535
535
  });
536
536
  ```
537
537
 
538
+ ### Recovery Key Validator
539
+
540
+ #### Initiate the recovery and retrieve the recoveryId
541
+
542
+ ```ts
543
+ // 1. Get the default ecdsa validator provider
544
+ const ecdsaProvider = await ECDSAProvider.init({
545
+ projectId, // zeroDev projectId
546
+ owner,
547
+ });
548
+
549
+ // 2. Initialize the Recovery Provider
550
+ const recoveryData = {
551
+ guardians: { // Guardian addresses with their weights
552
+ [guardianAddress]: 1,
553
+ [guardian2Address]: 1,
554
+ [guardian3Address]: 1,
555
+ },
556
+ threshold: 3,
557
+ delaySeconds: 0,
558
+ };
559
+
560
+ const recoveryProvider = await RecoveryProvider.init({
561
+ projectId,
562
+ defaultProvider: ecdsaProvider,
563
+ opts: {
564
+ validatorConfig: {
565
+ ...recoveryData,
566
+ },
567
+ },
568
+ });
569
+
570
+ // 3. Enable the recovery plugin
571
+ const result = await recoveryProvider.enableRecovery();
572
+ await recoveryProvider.waitForUserOperationTransaction(
573
+ result.hash as Hex
574
+ );
575
+
576
+ // 3. Initiate the recovery
577
+ const recoveryId = await recoveryProvider.initiateRecovery(<NewOwnerAddress>);
578
+ ```
579
+
580
+ #### Share recoveryId with the guardians to sign recoveryHash
581
+
582
+ ```ts
583
+ // 1. Intialize the Recovery Provider for guardian
584
+ const guardian =
585
+ LocalAccountSigner.privateKeyToAccountSigner(<PrivateKey>);
586
+ const recoveryProvider = await RecoveryProvider.init({
587
+ projectId,
588
+ recoveryId,
589
+ opts: {
590
+ validatorConfig: {
591
+ accountSigner: guardian,
592
+ },
593
+ },
594
+ });
595
+
596
+ // 2. Sign the recovery hash
597
+ await recoveryProvider.signRecovery();
598
+ ```
599
+
600
+ #### Submit the recovery request
601
+
602
+ | Anybody can submit the recovery request if they have the recoveryId
603
+
604
+ ```ts
605
+ // 1. Initialize the recovery provider
606
+ const account = privateKeyToAccount(<PrivateKey>);
607
+ const recoveryProvider = await RecoveryProvider.init({
608
+ projectId,
609
+ recoveryId,
610
+ opts: {
611
+ validatorConfig: {
612
+ guardianAccountOrProvider: account,
613
+ },
614
+ },
615
+ });
616
+
617
+ // 2. Submit the recovery request
618
+ const result = await recoveryProvider.submitRecovery();
619
+ await recoveryProvider.waitForUserOperationTransaction(
620
+ result.hash as Hex
621
+ );
622
+ ```
623
+
624
+ #### Cancel the recovery request
625
+
626
+ | Owner of the account can canel the recovery request
627
+
628
+ ```ts
629
+ // 1. Get the default ecdsa validator provider
630
+ const ecdsaProvider = await ECDSAProvider.init({
631
+ projectId, // zeroDev projectId
632
+ owner,
633
+ });
634
+
635
+ // 2. Initialize the Recovery Provider
636
+ const recoveryProvider = await RecoveryProvider.init({
637
+ projectId,
638
+ defaultProvider: ecdsaProvider,
639
+ recoveryId,
640
+ });
641
+
642
+ // 3. Cancel the recovery
643
+ const result = await recoveryProvider.cancelRecovery();
644
+ await recoveryProvider.waitForUserOperationTransaction(result.hash as Hex);
645
+ ```
646
+
538
647
  ## Components
539
648
 
540
649
  ### Core Components
@@ -0,0 +1,15 @@
1
+ export declare const RecoveryActionAbi: readonly [{
2
+ readonly inputs: readonly [{
3
+ readonly internalType: "address";
4
+ readonly name: "_validator";
5
+ readonly type: "address";
6
+ }, {
7
+ readonly internalType: "bytes";
8
+ readonly name: "_data";
9
+ readonly type: "bytes";
10
+ }];
11
+ readonly name: "doRecovery";
12
+ readonly outputs: readonly [];
13
+ readonly stateMutability: "nonpayable";
14
+ readonly type: "function";
15
+ }];
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RecoveryActionAbi = void 0;
4
+ exports.RecoveryActionAbi = [
5
+ {
6
+ inputs: [
7
+ {
8
+ internalType: "address",
9
+ name: "_validator",
10
+ type: "address",
11
+ },
12
+ {
13
+ internalType: "bytes",
14
+ name: "_data",
15
+ type: "bytes",
16
+ },
17
+ ],
18
+ name: "doRecovery",
19
+ outputs: [],
20
+ stateMutability: "nonpayable",
21
+ type: "function",
22
+ },
23
+ ];
24
+ //# sourceMappingURL=RecoveryActionAbi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecoveryActionAbi.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/abis/RecoveryActionAbi.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG;IAC/B;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;CACO,CAAC","sourcesContent":["export const RecoveryActionAbi = [\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"_validator\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"_data\",\n type: \"bytes\",\n },\n ],\n name: \"doRecovery\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n] as const;\n"]}
@@ -0,0 +1,296 @@
1
+ export declare const WeightedValidatorAbi: readonly [{
2
+ readonly inputs: readonly [{
3
+ readonly internalType: "bytes32";
4
+ readonly name: "_callDataAndNonceHash";
5
+ readonly type: "bytes32";
6
+ }, {
7
+ readonly internalType: "address";
8
+ readonly name: "_kernel";
9
+ readonly type: "address";
10
+ }];
11
+ readonly name: "approve";
12
+ readonly outputs: readonly [];
13
+ readonly stateMutability: "nonpayable";
14
+ readonly type: "function";
15
+ }, {
16
+ readonly inputs: readonly [{
17
+ readonly internalType: "bytes32";
18
+ readonly name: "_callDataAndNonceHash";
19
+ readonly type: "bytes32";
20
+ }, {
21
+ readonly internalType: "address";
22
+ readonly name: "_kernel";
23
+ readonly type: "address";
24
+ }, {
25
+ readonly internalType: "bytes";
26
+ readonly name: "sigs";
27
+ readonly type: "bytes";
28
+ }];
29
+ readonly name: "approveWithSig";
30
+ readonly outputs: readonly [];
31
+ readonly stateMutability: "nonpayable";
32
+ readonly type: "function";
33
+ }, {
34
+ readonly inputs: readonly [{
35
+ readonly internalType: "bytes";
36
+ readonly name: "";
37
+ readonly type: "bytes";
38
+ }];
39
+ readonly name: "disable";
40
+ readonly outputs: readonly [];
41
+ readonly stateMutability: "payable";
42
+ readonly type: "function";
43
+ }, {
44
+ readonly inputs: readonly [];
45
+ readonly name: "eip712Domain";
46
+ readonly outputs: readonly [{
47
+ readonly internalType: "bytes1";
48
+ readonly name: "fields";
49
+ readonly type: "bytes1";
50
+ }, {
51
+ readonly internalType: "string";
52
+ readonly name: "name";
53
+ readonly type: "string";
54
+ }, {
55
+ readonly internalType: "string";
56
+ readonly name: "version";
57
+ readonly type: "string";
58
+ }, {
59
+ readonly internalType: "uint256";
60
+ readonly name: "chainId";
61
+ readonly type: "uint256";
62
+ }, {
63
+ readonly internalType: "address";
64
+ readonly name: "verifyingContract";
65
+ readonly type: "address";
66
+ }, {
67
+ readonly internalType: "bytes32";
68
+ readonly name: "salt";
69
+ readonly type: "bytes32";
70
+ }, {
71
+ readonly internalType: "uint256[]";
72
+ readonly name: "extensions";
73
+ readonly type: "uint256[]";
74
+ }];
75
+ readonly stateMutability: "view";
76
+ readonly type: "function";
77
+ }, {
78
+ readonly inputs: readonly [{
79
+ readonly internalType: "bytes";
80
+ readonly name: "_data";
81
+ readonly type: "bytes";
82
+ }];
83
+ readonly name: "enable";
84
+ readonly outputs: readonly [];
85
+ readonly stateMutability: "payable";
86
+ readonly type: "function";
87
+ }, {
88
+ readonly inputs: readonly [{
89
+ readonly internalType: "address";
90
+ readonly name: "guardian";
91
+ readonly type: "address";
92
+ }, {
93
+ readonly internalType: "address";
94
+ readonly name: "kernel";
95
+ readonly type: "address";
96
+ }];
97
+ readonly name: "guardian";
98
+ readonly outputs: readonly [{
99
+ readonly internalType: "uint24";
100
+ readonly name: "weight";
101
+ readonly type: "uint24";
102
+ }, {
103
+ readonly internalType: "address";
104
+ readonly name: "nextGuardian";
105
+ readonly type: "address";
106
+ }];
107
+ readonly stateMutability: "view";
108
+ readonly type: "function";
109
+ }, {
110
+ readonly inputs: readonly [{
111
+ readonly internalType: "bytes32";
112
+ readonly name: "callDataAndNonceHash";
113
+ readonly type: "bytes32";
114
+ }, {
115
+ readonly internalType: "address";
116
+ readonly name: "kernel";
117
+ readonly type: "address";
118
+ }];
119
+ readonly name: "proposalStatus";
120
+ readonly outputs: readonly [{
121
+ readonly internalType: "enum ProposalStatus";
122
+ readonly name: "status";
123
+ readonly type: "uint8";
124
+ }, {
125
+ readonly internalType: "ValidAfter";
126
+ readonly name: "validAfter";
127
+ readonly type: "uint48";
128
+ }, {
129
+ readonly internalType: "uint24";
130
+ readonly name: "weightApproved";
131
+ readonly type: "uint24";
132
+ }];
133
+ readonly stateMutability: "view";
134
+ readonly type: "function";
135
+ }, {
136
+ readonly inputs: readonly [{
137
+ readonly internalType: "address";
138
+ readonly name: "";
139
+ readonly type: "address";
140
+ }, {
141
+ readonly internalType: "bytes";
142
+ readonly name: "";
143
+ readonly type: "bytes";
144
+ }];
145
+ readonly name: "validCaller";
146
+ readonly outputs: readonly [{
147
+ readonly internalType: "bool";
148
+ readonly name: "";
149
+ readonly type: "bool";
150
+ }];
151
+ readonly stateMutability: "view";
152
+ readonly type: "function";
153
+ }, {
154
+ readonly inputs: readonly [{
155
+ readonly internalType: "bytes32";
156
+ readonly name: "hash";
157
+ readonly type: "bytes32";
158
+ }, {
159
+ readonly internalType: "bytes";
160
+ readonly name: "signature";
161
+ readonly type: "bytes";
162
+ }];
163
+ readonly name: "validateSignature";
164
+ readonly outputs: readonly [{
165
+ readonly internalType: "ValidationData";
166
+ readonly name: "";
167
+ readonly type: "uint256";
168
+ }];
169
+ readonly stateMutability: "view";
170
+ readonly type: "function";
171
+ }, {
172
+ readonly inputs: readonly [{
173
+ readonly components: readonly [{
174
+ readonly internalType: "address";
175
+ readonly name: "sender";
176
+ readonly type: "address";
177
+ }, {
178
+ readonly internalType: "uint256";
179
+ readonly name: "nonce";
180
+ readonly type: "uint256";
181
+ }, {
182
+ readonly internalType: "bytes";
183
+ readonly name: "initCode";
184
+ readonly type: "bytes";
185
+ }, {
186
+ readonly internalType: "bytes";
187
+ readonly name: "callData";
188
+ readonly type: "bytes";
189
+ }, {
190
+ readonly internalType: "uint256";
191
+ readonly name: "callGasLimit";
192
+ readonly type: "uint256";
193
+ }, {
194
+ readonly internalType: "uint256";
195
+ readonly name: "verificationGasLimit";
196
+ readonly type: "uint256";
197
+ }, {
198
+ readonly internalType: "uint256";
199
+ readonly name: "preVerificationGas";
200
+ readonly type: "uint256";
201
+ }, {
202
+ readonly internalType: "uint256";
203
+ readonly name: "maxFeePerGas";
204
+ readonly type: "uint256";
205
+ }, {
206
+ readonly internalType: "uint256";
207
+ readonly name: "maxPriorityFeePerGas";
208
+ readonly type: "uint256";
209
+ }, {
210
+ readonly internalType: "bytes";
211
+ readonly name: "paymasterAndData";
212
+ readonly type: "bytes";
213
+ }, {
214
+ readonly internalType: "bytes";
215
+ readonly name: "signature";
216
+ readonly type: "bytes";
217
+ }];
218
+ readonly internalType: "struct UserOperation";
219
+ readonly name: "userOp";
220
+ readonly type: "tuple";
221
+ }, {
222
+ readonly internalType: "bytes32";
223
+ readonly name: "userOpHash";
224
+ readonly type: "bytes32";
225
+ }, {
226
+ readonly internalType: "uint256";
227
+ readonly name: "missingFunds";
228
+ readonly type: "uint256";
229
+ }];
230
+ readonly name: "validateUserOp";
231
+ readonly outputs: readonly [{
232
+ readonly internalType: "ValidationData";
233
+ readonly name: "validationData";
234
+ readonly type: "uint256";
235
+ }];
236
+ readonly stateMutability: "payable";
237
+ readonly type: "function";
238
+ }, {
239
+ readonly inputs: readonly [{
240
+ readonly internalType: "bytes32";
241
+ readonly name: "_callDataAndNonceHash";
242
+ readonly type: "bytes32";
243
+ }];
244
+ readonly name: "veto";
245
+ readonly outputs: readonly [];
246
+ readonly stateMutability: "nonpayable";
247
+ readonly type: "function";
248
+ }, {
249
+ readonly inputs: readonly [{
250
+ readonly internalType: "bytes32";
251
+ readonly name: "callDataAndNonceHash";
252
+ readonly type: "bytes32";
253
+ }, {
254
+ readonly internalType: "address";
255
+ readonly name: "guardian";
256
+ readonly type: "address";
257
+ }, {
258
+ readonly internalType: "address";
259
+ readonly name: "kernel";
260
+ readonly type: "address";
261
+ }];
262
+ readonly name: "voteStatus";
263
+ readonly outputs: readonly [{
264
+ readonly internalType: "enum VoteStatus";
265
+ readonly name: "status";
266
+ readonly type: "uint8";
267
+ }];
268
+ readonly stateMutability: "view";
269
+ readonly type: "function";
270
+ }, {
271
+ readonly inputs: readonly [{
272
+ readonly internalType: "address";
273
+ readonly name: "kernel";
274
+ readonly type: "address";
275
+ }];
276
+ readonly name: "weightedStorage";
277
+ readonly outputs: readonly [{
278
+ readonly internalType: "uint24";
279
+ readonly name: "totalWeight";
280
+ readonly type: "uint24";
281
+ }, {
282
+ readonly internalType: "uint24";
283
+ readonly name: "threshold";
284
+ readonly type: "uint24";
285
+ }, {
286
+ readonly internalType: "uint48";
287
+ readonly name: "delay";
288
+ readonly type: "uint48";
289
+ }, {
290
+ readonly internalType: "address";
291
+ readonly name: "firstGuardian";
292
+ readonly type: "address";
293
+ }];
294
+ readonly stateMutability: "view";
295
+ readonly type: "function";
296
+ }];