@silvana-one/upgradable 0.1.0

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.
@@ -0,0 +1,1126 @@
1
+ import { Field, PublicKey, Signature, SelfProof, UInt32, DynamicProof, Bool, Nullifier, PrivateKey, Provable } from "o1js";
2
+ import { Storage } from "@silvana-one/storage";
3
+ import { PublicKeyOption } from "./upgradable.js";
4
+ export { ValidatorsList, UpgradeAuthorityDatabase, ValidatorsState, ValidatorsDecision, ValidatorDecisionType, ValidatorsDecisionState, ValidatorsVoting, ValidatorsVotingProof, ValidatorsVotingNativeProof, UpgradeDatabaseState, UpgradeDatabaseStatePacked, ChainId, };
5
+ declare const ValidatorsList_base: typeof import("node_modules/o1js/dist/node/lib/provable/merkle-tree-indexed.js").IndexedMerkleMapBase;
6
+ /**
7
+ * The `ValidatorsList` is an indexed Merkle map used to store the list of validators.
8
+ */
9
+ declare class ValidatorsList extends ValidatorsList_base {
10
+ }
11
+ declare const UpgradeAuthorityDatabase_base: typeof import("node_modules/o1js/dist/node/lib/provable/merkle-tree-indexed.js").IndexedMerkleMapBase;
12
+ /**
13
+ * The `UpgradeAuthorityDatabase` is an indexed Merkle map used to manage upgrade proposals.
14
+ */
15
+ declare class UpgradeAuthorityDatabase extends UpgradeAuthorityDatabase_base {
16
+ }
17
+ /** Chain IDs following Auro Wallet naming conventions. */
18
+ declare const ChainId: {
19
+ "mina:mainnet": import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
20
+ "mina:devnet": import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
21
+ "zeko:mainnet": import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
22
+ "zeko:devnet": import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
23
+ };
24
+ type ChainId = keyof typeof ChainId;
25
+ /** Validator decision types for upgrade proposals. */
26
+ declare const ValidatorDecisionType: {
27
+ readonly updateDatabase: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
28
+ readonly updateValidatorsList: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
29
+ };
30
+ type ValidatorDecisionType = keyof typeof ValidatorDecisionType;
31
+ declare const ValidatorsState_base: (new (value: {
32
+ chainId: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
33
+ root: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
34
+ count: UInt32;
35
+ }) => {
36
+ chainId: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
37
+ root: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
38
+ count: UInt32;
39
+ }) & {
40
+ _isStruct: true;
41
+ } & Omit<import("node_modules/o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{
42
+ chainId: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
43
+ root: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
44
+ count: UInt32;
45
+ }, {
46
+ chainId: bigint;
47
+ root: bigint;
48
+ count: bigint;
49
+ }>, "fromFields"> & {
50
+ fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]) => {
51
+ chainId: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
52
+ root: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
53
+ count: UInt32;
54
+ };
55
+ } & {
56
+ fromValue: (value: {
57
+ chainId: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
58
+ root: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
59
+ count: bigint | UInt32;
60
+ }) => {
61
+ chainId: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
62
+ root: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
63
+ count: UInt32;
64
+ };
65
+ toInput: (x: {
66
+ chainId: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
67
+ root: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
68
+ count: UInt32;
69
+ }) => {
70
+ fields?: Field[] | undefined;
71
+ packed?: [Field, number][] | undefined;
72
+ };
73
+ toJSON: (x: {
74
+ chainId: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
75
+ root: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
76
+ count: UInt32;
77
+ }) => {
78
+ chainId: string;
79
+ root: string;
80
+ count: string;
81
+ };
82
+ fromJSON: (x: {
83
+ chainId: string;
84
+ root: string;
85
+ count: string;
86
+ }) => {
87
+ chainId: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
88
+ root: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
89
+ count: UInt32;
90
+ };
91
+ empty: () => {
92
+ chainId: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
93
+ root: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
94
+ count: UInt32;
95
+ };
96
+ };
97
+ /**
98
+ * Represents the state of the validators.
99
+ */
100
+ declare class ValidatorsState extends ValidatorsState_base {
101
+ /**
102
+ * Asserts that two `ValidatorsState` instances are equal.
103
+ * @param a First `ValidatorsState` instance.
104
+ * @param b Second `ValidatorsState` instance.
105
+ */
106
+ static assertEquals(a: ValidatorsState, b: ValidatorsState): void;
107
+ /**
108
+ * Computes the hash of the validators state.
109
+ * @returns Hash of the current state.
110
+ */
111
+ hash(): import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
112
+ /**
113
+ * Returns an empty `ValidatorsState`.
114
+ * @returns An empty `ValidatorsState` instance.
115
+ */
116
+ static empty(): ValidatorsState;
117
+ }
118
+ declare const UpgradeDatabaseStatePacked_base: (new (value: {
119
+ root: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
120
+ storage: Storage;
121
+ nextUpgradeAuthorityX: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
122
+ data: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
123
+ }) => {
124
+ root: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
125
+ storage: Storage;
126
+ nextUpgradeAuthorityX: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
127
+ data: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
128
+ }) & {
129
+ _isStruct: true;
130
+ } & Omit<import("node_modules/o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{
131
+ root: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
132
+ storage: Storage;
133
+ nextUpgradeAuthorityX: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
134
+ data: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
135
+ }, {
136
+ root: bigint;
137
+ storage: {
138
+ url: bigint[];
139
+ };
140
+ nextUpgradeAuthorityX: bigint;
141
+ data: bigint;
142
+ }>, "fromFields"> & {
143
+ fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]) => {
144
+ root: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
145
+ storage: Storage;
146
+ nextUpgradeAuthorityX: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
147
+ data: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
148
+ };
149
+ } & {
150
+ fromValue: (value: {
151
+ root: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
152
+ storage: Storage | {
153
+ url: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[] | bigint[];
154
+ };
155
+ nextUpgradeAuthorityX: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
156
+ data: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
157
+ }) => {
158
+ root: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
159
+ storage: Storage;
160
+ nextUpgradeAuthorityX: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
161
+ data: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
162
+ };
163
+ toInput: (x: {
164
+ root: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
165
+ storage: Storage;
166
+ nextUpgradeAuthorityX: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
167
+ data: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
168
+ }) => {
169
+ fields?: Field[] | undefined;
170
+ packed?: [Field, number][] | undefined;
171
+ };
172
+ toJSON: (x: {
173
+ root: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
174
+ storage: Storage;
175
+ nextUpgradeAuthorityX: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
176
+ data: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
177
+ }) => {
178
+ root: string;
179
+ storage: {
180
+ url: string[];
181
+ };
182
+ nextUpgradeAuthorityX: string;
183
+ data: string;
184
+ };
185
+ fromJSON: (x: {
186
+ root: string;
187
+ storage: {
188
+ url: string[];
189
+ };
190
+ nextUpgradeAuthorityX: string;
191
+ data: string;
192
+ }) => {
193
+ root: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
194
+ storage: Storage;
195
+ nextUpgradeAuthorityX: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
196
+ data: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
197
+ };
198
+ empty: () => {
199
+ root: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
200
+ storage: Storage;
201
+ nextUpgradeAuthorityX: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
202
+ data: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
203
+ };
204
+ };
205
+ /**
206
+ * Represents the packed state of the upgrade database.
207
+ */
208
+ declare class UpgradeDatabaseStatePacked extends UpgradeDatabaseStatePacked_base {
209
+ }
210
+ declare const UpgradeDatabaseState_base: (new (value: {
211
+ root: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
212
+ storage: Storage;
213
+ nextUpgradeAuthority: PublicKeyOption;
214
+ version: UInt32;
215
+ validFrom: UInt32;
216
+ }) => {
217
+ root: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
218
+ storage: Storage;
219
+ nextUpgradeAuthority: PublicKeyOption;
220
+ version: UInt32;
221
+ validFrom: UInt32;
222
+ }) & {
223
+ _isStruct: true;
224
+ } & Omit<import("node_modules/o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{
225
+ root: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
226
+ storage: Storage;
227
+ nextUpgradeAuthority: PublicKeyOption;
228
+ version: UInt32;
229
+ validFrom: UInt32;
230
+ }, {
231
+ root: bigint;
232
+ storage: {
233
+ url: bigint[];
234
+ };
235
+ nextUpgradeAuthority: {
236
+ x: bigint;
237
+ isOdd: boolean;
238
+ } | undefined;
239
+ version: bigint;
240
+ validFrom: bigint;
241
+ }>, "fromFields"> & {
242
+ fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]) => {
243
+ root: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
244
+ storage: Storage;
245
+ nextUpgradeAuthority: PublicKeyOption;
246
+ version: UInt32;
247
+ validFrom: UInt32;
248
+ };
249
+ } & {
250
+ fromValue: (value: {
251
+ root: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
252
+ storage: Storage | {
253
+ url: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[] | bigint[];
254
+ };
255
+ nextUpgradeAuthority: PublicKey | {
256
+ x: bigint;
257
+ isOdd: boolean;
258
+ } | PublicKeyOption | {
259
+ isSome: boolean | Bool;
260
+ value: PublicKey | {
261
+ x: bigint;
262
+ isOdd: boolean;
263
+ };
264
+ } | undefined;
265
+ version: bigint | UInt32;
266
+ validFrom: bigint | UInt32;
267
+ }) => {
268
+ root: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
269
+ storage: Storage;
270
+ nextUpgradeAuthority: PublicKeyOption;
271
+ version: UInt32;
272
+ validFrom: UInt32;
273
+ };
274
+ toInput: (x: {
275
+ root: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
276
+ storage: Storage;
277
+ nextUpgradeAuthority: PublicKeyOption;
278
+ version: UInt32;
279
+ validFrom: UInt32;
280
+ }) => {
281
+ fields?: Field[] | undefined;
282
+ packed?: [Field, number][] | undefined;
283
+ };
284
+ toJSON: (x: {
285
+ root: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
286
+ storage: Storage;
287
+ nextUpgradeAuthority: PublicKeyOption;
288
+ version: UInt32;
289
+ validFrom: UInt32;
290
+ }) => {
291
+ root: string;
292
+ storage: {
293
+ url: string[];
294
+ };
295
+ nextUpgradeAuthority: {
296
+ prototype: {
297
+ isSome: boolean;
298
+ value: any;
299
+ assertSome: {};
300
+ assertNone: {};
301
+ orElse: {};
302
+ };
303
+ toFields: {};
304
+ toAuxiliary: {};
305
+ sizeInFields: {};
306
+ check: {};
307
+ toValue: {};
308
+ fromValue: {};
309
+ toCanonical?: {} | null | undefined;
310
+ fromFields: {};
311
+ from: {};
312
+ none: {};
313
+ };
314
+ version: string;
315
+ validFrom: string;
316
+ };
317
+ fromJSON: (x: {
318
+ root: string;
319
+ storage: {
320
+ url: string[];
321
+ };
322
+ nextUpgradeAuthority: {
323
+ prototype: {
324
+ isSome: boolean;
325
+ value: any;
326
+ assertSome: {};
327
+ assertNone: {};
328
+ orElse: {};
329
+ };
330
+ toFields: {};
331
+ toAuxiliary: {};
332
+ sizeInFields: {};
333
+ check: {};
334
+ toValue: {};
335
+ fromValue: {};
336
+ toCanonical?: {} | null | undefined;
337
+ fromFields: {};
338
+ from: {};
339
+ none: {};
340
+ };
341
+ version: string;
342
+ validFrom: string;
343
+ }) => {
344
+ root: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
345
+ storage: Storage;
346
+ nextUpgradeAuthority: PublicKeyOption;
347
+ version: UInt32;
348
+ validFrom: UInt32;
349
+ };
350
+ empty: () => {
351
+ root: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
352
+ storage: Storage;
353
+ nextUpgradeAuthority: PublicKeyOption;
354
+ version: UInt32;
355
+ validFrom: UInt32;
356
+ };
357
+ };
358
+ /**
359
+ * Represents the state of the upgrade database.
360
+ */
361
+ declare class UpgradeDatabaseState extends UpgradeDatabaseState_base {
362
+ /**
363
+ * Asserts that two `UpgradeDatabaseState` instances are equal.
364
+ * @param a First `UpgradeDatabaseState` instance.
365
+ * @param b Second `UpgradeDatabaseState` instance.
366
+ */
367
+ static assertEquals(a: UpgradeDatabaseState, b: UpgradeDatabaseState): void;
368
+ /**
369
+ * Returns an empty `UpgradeDatabaseState`.
370
+ * @returns An empty `UpgradeDatabaseState` instance.
371
+ */
372
+ static empty(): UpgradeDatabaseState;
373
+ /**
374
+ * Packs the `UpgradeDatabaseState` into a `UpgradeDatabaseStatePacked`.
375
+ * @returns A packed representation of the upgrade database state.
376
+ */
377
+ pack(): UpgradeDatabaseStatePacked;
378
+ /**
379
+ * Unpacks a `UpgradeDatabaseStatePacked` into a `UpgradeDatabaseState`.
380
+ * @param packed The packed upgrade database state.
381
+ * @returns An unpacked `UpgradeDatabaseState` instance.
382
+ */
383
+ static unpack(packed: UpgradeDatabaseStatePacked): UpgradeDatabaseState;
384
+ }
385
+ declare const ValidatorsDecision_base: (new (value: {
386
+ message: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
387
+ decisionType: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
388
+ contractAddress: PublicKey;
389
+ chainId: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
390
+ validators: ValidatorsState;
391
+ upgradeDatabase: UpgradeDatabaseState;
392
+ updateValidatorsList: ValidatorsState;
393
+ expiry: UInt32;
394
+ }) => {
395
+ message: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
396
+ decisionType: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
397
+ contractAddress: PublicKey;
398
+ chainId: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
399
+ validators: ValidatorsState;
400
+ upgradeDatabase: UpgradeDatabaseState;
401
+ updateValidatorsList: ValidatorsState;
402
+ expiry: UInt32;
403
+ }) & {
404
+ _isStruct: true;
405
+ } & Omit<import("node_modules/o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{
406
+ message: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
407
+ decisionType: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
408
+ contractAddress: PublicKey;
409
+ chainId: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
410
+ validators: ValidatorsState;
411
+ upgradeDatabase: UpgradeDatabaseState;
412
+ updateValidatorsList: ValidatorsState;
413
+ expiry: UInt32;
414
+ }, {
415
+ message: bigint;
416
+ decisionType: bigint;
417
+ contractAddress: {
418
+ x: bigint;
419
+ isOdd: boolean;
420
+ };
421
+ chainId: bigint;
422
+ validators: {
423
+ chainId: bigint;
424
+ root: bigint;
425
+ count: bigint;
426
+ };
427
+ upgradeDatabase: {
428
+ root: bigint;
429
+ storage: {
430
+ url: bigint[];
431
+ };
432
+ nextUpgradeAuthority: {
433
+ x: bigint;
434
+ isOdd: boolean;
435
+ } | undefined;
436
+ version: bigint;
437
+ validFrom: bigint;
438
+ };
439
+ updateValidatorsList: {
440
+ chainId: bigint;
441
+ root: bigint;
442
+ count: bigint;
443
+ };
444
+ expiry: bigint;
445
+ }>, "fromFields"> & {
446
+ fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]) => {
447
+ message: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
448
+ decisionType: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
449
+ contractAddress: PublicKey;
450
+ chainId: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
451
+ validators: ValidatorsState;
452
+ upgradeDatabase: UpgradeDatabaseState;
453
+ updateValidatorsList: ValidatorsState;
454
+ expiry: UInt32;
455
+ };
456
+ } & {
457
+ fromValue: (value: {
458
+ message: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
459
+ decisionType: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
460
+ contractAddress: PublicKey | {
461
+ x: Field | bigint;
462
+ isOdd: Bool | boolean;
463
+ };
464
+ chainId: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
465
+ validators: ValidatorsState | {
466
+ chainId: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
467
+ root: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
468
+ count: bigint | UInt32;
469
+ };
470
+ upgradeDatabase: UpgradeDatabaseState | {
471
+ root: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
472
+ storage: Storage | {
473
+ url: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[] | bigint[];
474
+ };
475
+ nextUpgradeAuthority: PublicKey | {
476
+ x: bigint;
477
+ isOdd: boolean;
478
+ } | PublicKeyOption | {
479
+ isSome: boolean | Bool;
480
+ value: PublicKey | {
481
+ x: bigint;
482
+ isOdd: boolean;
483
+ };
484
+ } | undefined;
485
+ version: bigint | UInt32;
486
+ validFrom: bigint | UInt32;
487
+ };
488
+ updateValidatorsList: ValidatorsState | {
489
+ chainId: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
490
+ root: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
491
+ count: bigint | UInt32;
492
+ };
493
+ expiry: bigint | UInt32;
494
+ }) => {
495
+ message: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
496
+ decisionType: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
497
+ contractAddress: PublicKey;
498
+ chainId: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
499
+ validators: ValidatorsState;
500
+ upgradeDatabase: UpgradeDatabaseState;
501
+ updateValidatorsList: ValidatorsState;
502
+ expiry: UInt32;
503
+ };
504
+ toInput: (x: {
505
+ message: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
506
+ decisionType: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
507
+ contractAddress: PublicKey;
508
+ chainId: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
509
+ validators: ValidatorsState;
510
+ upgradeDatabase: UpgradeDatabaseState;
511
+ updateValidatorsList: ValidatorsState;
512
+ expiry: UInt32;
513
+ }) => {
514
+ fields?: Field[] | undefined;
515
+ packed?: [Field, number][] | undefined;
516
+ };
517
+ toJSON: (x: {
518
+ message: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
519
+ decisionType: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
520
+ contractAddress: PublicKey;
521
+ chainId: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
522
+ validators: ValidatorsState;
523
+ upgradeDatabase: UpgradeDatabaseState;
524
+ updateValidatorsList: ValidatorsState;
525
+ expiry: UInt32;
526
+ }) => {
527
+ message: string;
528
+ decisionType: string;
529
+ contractAddress: string;
530
+ chainId: string;
531
+ validators: {
532
+ chainId: string;
533
+ root: string;
534
+ count: string;
535
+ };
536
+ upgradeDatabase: {
537
+ root: string;
538
+ storage: {
539
+ url: string[];
540
+ };
541
+ nextUpgradeAuthority: {
542
+ prototype: {
543
+ isSome: boolean;
544
+ value: any;
545
+ assertSome: {};
546
+ assertNone: {};
547
+ orElse: {};
548
+ };
549
+ toFields: {};
550
+ toAuxiliary: {};
551
+ sizeInFields: {};
552
+ check: {};
553
+ toValue: {};
554
+ fromValue: {};
555
+ toCanonical?: {} | null | undefined;
556
+ fromFields: {};
557
+ from: {};
558
+ none: {};
559
+ };
560
+ version: string;
561
+ validFrom: string;
562
+ };
563
+ updateValidatorsList: {
564
+ chainId: string;
565
+ root: string;
566
+ count: string;
567
+ };
568
+ expiry: string;
569
+ };
570
+ fromJSON: (x: {
571
+ message: string;
572
+ decisionType: string;
573
+ contractAddress: string;
574
+ chainId: string;
575
+ validators: {
576
+ chainId: string;
577
+ root: string;
578
+ count: string;
579
+ };
580
+ upgradeDatabase: {
581
+ root: string;
582
+ storage: {
583
+ url: string[];
584
+ };
585
+ nextUpgradeAuthority: {
586
+ prototype: {
587
+ isSome: boolean;
588
+ value: any;
589
+ assertSome: {};
590
+ assertNone: {};
591
+ orElse: {};
592
+ };
593
+ toFields: {};
594
+ toAuxiliary: {};
595
+ sizeInFields: {};
596
+ check: {};
597
+ toValue: {};
598
+ fromValue: {};
599
+ toCanonical?: {} | null | undefined;
600
+ fromFields: {};
601
+ from: {};
602
+ none: {};
603
+ };
604
+ version: string;
605
+ validFrom: string;
606
+ };
607
+ updateValidatorsList: {
608
+ chainId: string;
609
+ root: string;
610
+ count: string;
611
+ };
612
+ expiry: string;
613
+ }) => {
614
+ message: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
615
+ decisionType: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
616
+ contractAddress: PublicKey;
617
+ chainId: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
618
+ validators: ValidatorsState;
619
+ upgradeDatabase: UpgradeDatabaseState;
620
+ updateValidatorsList: ValidatorsState;
621
+ expiry: UInt32;
622
+ };
623
+ empty: () => {
624
+ message: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
625
+ decisionType: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
626
+ contractAddress: PublicKey;
627
+ chainId: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
628
+ validators: ValidatorsState;
629
+ upgradeDatabase: UpgradeDatabaseState;
630
+ updateValidatorsList: ValidatorsState;
631
+ expiry: UInt32;
632
+ };
633
+ };
634
+ /**
635
+ * Represents a decision made by the validators.
636
+ */
637
+ declare class ValidatorsDecision extends ValidatorsDecision_base {
638
+ /**
639
+ * Asserts that two `ValidatorsDecision` instances are equal.
640
+ * @param a First `ValidatorsDecision` instance.
641
+ * @param b Second `ValidatorsDecision` instance.
642
+ */
643
+ static assertEquals(a: ValidatorsDecision, b: ValidatorsDecision): void;
644
+ createNullifierMessage(): Field[];
645
+ createJsonNullifier(params: {
646
+ network: "mainnet" | "testnet";
647
+ privateKey: PrivateKey;
648
+ }): import("node_modules/mina-signer/dist/node/mina-signer/src/types.js").Nullifier;
649
+ }
650
+ declare const ValidatorsDecisionState_base: (new (value: {
651
+ decision: ValidatorsDecision;
652
+ alreadyVoted: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
653
+ yesVotes: UInt32;
654
+ noVotes: UInt32;
655
+ abstainVotes: UInt32;
656
+ }) => {
657
+ decision: ValidatorsDecision;
658
+ alreadyVoted: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
659
+ yesVotes: UInt32;
660
+ noVotes: UInt32;
661
+ abstainVotes: UInt32;
662
+ }) & {
663
+ _isStruct: true;
664
+ } & Omit<import("node_modules/o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{
665
+ decision: ValidatorsDecision;
666
+ alreadyVoted: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
667
+ yesVotes: UInt32;
668
+ noVotes: UInt32;
669
+ abstainVotes: UInt32;
670
+ }, {
671
+ decision: {
672
+ message: bigint;
673
+ decisionType: bigint;
674
+ contractAddress: {
675
+ x: bigint;
676
+ isOdd: boolean;
677
+ };
678
+ chainId: bigint;
679
+ validators: {
680
+ chainId: bigint;
681
+ root: bigint;
682
+ count: bigint;
683
+ };
684
+ upgradeDatabase: {
685
+ root: bigint;
686
+ storage: {
687
+ url: bigint[];
688
+ };
689
+ nextUpgradeAuthority: {
690
+ x: bigint;
691
+ isOdd: boolean;
692
+ } | undefined;
693
+ version: bigint;
694
+ validFrom: bigint;
695
+ };
696
+ updateValidatorsList: {
697
+ chainId: bigint;
698
+ root: bigint;
699
+ count: bigint;
700
+ };
701
+ expiry: bigint;
702
+ };
703
+ alreadyVoted: bigint;
704
+ yesVotes: bigint;
705
+ noVotes: bigint;
706
+ abstainVotes: bigint;
707
+ }>, "fromFields"> & {
708
+ fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]) => {
709
+ decision: ValidatorsDecision;
710
+ alreadyVoted: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
711
+ yesVotes: UInt32;
712
+ noVotes: UInt32;
713
+ abstainVotes: UInt32;
714
+ };
715
+ } & {
716
+ fromValue: (value: {
717
+ decision: ValidatorsDecision | {
718
+ message: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
719
+ decisionType: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
720
+ contractAddress: PublicKey | {
721
+ x: Field | bigint;
722
+ isOdd: Bool | boolean;
723
+ };
724
+ chainId: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
725
+ validators: ValidatorsState | {
726
+ chainId: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
727
+ root: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
728
+ count: bigint | UInt32;
729
+ };
730
+ upgradeDatabase: UpgradeDatabaseState | {
731
+ root: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
732
+ storage: Storage | {
733
+ url: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[] | bigint[];
734
+ };
735
+ nextUpgradeAuthority: PublicKey | {
736
+ x: bigint;
737
+ isOdd: boolean;
738
+ } | PublicKeyOption | {
739
+ isSome: boolean | Bool;
740
+ value: PublicKey | {
741
+ x: bigint;
742
+ isOdd: boolean;
743
+ };
744
+ } | undefined;
745
+ version: bigint | UInt32;
746
+ validFrom: bigint | UInt32;
747
+ };
748
+ updateValidatorsList: ValidatorsState | {
749
+ chainId: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
750
+ root: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
751
+ count: bigint | UInt32;
752
+ };
753
+ expiry: bigint | UInt32;
754
+ };
755
+ alreadyVoted: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
756
+ yesVotes: bigint | UInt32;
757
+ noVotes: bigint | UInt32;
758
+ abstainVotes: bigint | UInt32;
759
+ }) => {
760
+ decision: ValidatorsDecision;
761
+ alreadyVoted: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
762
+ yesVotes: UInt32;
763
+ noVotes: UInt32;
764
+ abstainVotes: UInt32;
765
+ };
766
+ toInput: (x: {
767
+ decision: ValidatorsDecision;
768
+ alreadyVoted: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
769
+ yesVotes: UInt32;
770
+ noVotes: UInt32;
771
+ abstainVotes: UInt32;
772
+ }) => {
773
+ fields?: Field[] | undefined;
774
+ packed?: [Field, number][] | undefined;
775
+ };
776
+ toJSON: (x: {
777
+ decision: ValidatorsDecision;
778
+ alreadyVoted: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
779
+ yesVotes: UInt32;
780
+ noVotes: UInt32;
781
+ abstainVotes: UInt32;
782
+ }) => {
783
+ decision: {
784
+ message: string;
785
+ decisionType: string;
786
+ contractAddress: string;
787
+ chainId: string;
788
+ validators: {
789
+ chainId: string;
790
+ root: string;
791
+ count: string;
792
+ };
793
+ upgradeDatabase: {
794
+ root: string;
795
+ storage: {
796
+ url: string[];
797
+ };
798
+ nextUpgradeAuthority: {
799
+ prototype: {
800
+ isSome: boolean;
801
+ value: any;
802
+ assertSome: {};
803
+ assertNone: {};
804
+ orElse: {};
805
+ };
806
+ toFields: {};
807
+ toAuxiliary: {};
808
+ sizeInFields: {};
809
+ check: {};
810
+ toValue: {};
811
+ fromValue: {};
812
+ toCanonical?: {} | null | undefined;
813
+ fromFields: {};
814
+ from: {};
815
+ none: {};
816
+ };
817
+ version: string;
818
+ validFrom: string;
819
+ };
820
+ updateValidatorsList: {
821
+ chainId: string;
822
+ root: string;
823
+ count: string;
824
+ };
825
+ expiry: string;
826
+ };
827
+ alreadyVoted: string;
828
+ yesVotes: string;
829
+ noVotes: string;
830
+ abstainVotes: string;
831
+ };
832
+ fromJSON: (x: {
833
+ decision: {
834
+ message: string;
835
+ decisionType: string;
836
+ contractAddress: string;
837
+ chainId: string;
838
+ validators: {
839
+ chainId: string;
840
+ root: string;
841
+ count: string;
842
+ };
843
+ upgradeDatabase: {
844
+ root: string;
845
+ storage: {
846
+ url: string[];
847
+ };
848
+ nextUpgradeAuthority: {
849
+ prototype: {
850
+ isSome: boolean;
851
+ value: any;
852
+ assertSome: {};
853
+ assertNone: {};
854
+ orElse: {};
855
+ };
856
+ toFields: {};
857
+ toAuxiliary: {};
858
+ sizeInFields: {};
859
+ check: {};
860
+ toValue: {};
861
+ fromValue: {};
862
+ toCanonical?: {} | null | undefined;
863
+ fromFields: {};
864
+ from: {};
865
+ none: {};
866
+ };
867
+ version: string;
868
+ validFrom: string;
869
+ };
870
+ updateValidatorsList: {
871
+ chainId: string;
872
+ root: string;
873
+ count: string;
874
+ };
875
+ expiry: string;
876
+ };
877
+ alreadyVoted: string;
878
+ yesVotes: string;
879
+ noVotes: string;
880
+ abstainVotes: string;
881
+ }) => {
882
+ decision: ValidatorsDecision;
883
+ alreadyVoted: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
884
+ yesVotes: UInt32;
885
+ noVotes: UInt32;
886
+ abstainVotes: UInt32;
887
+ };
888
+ empty: () => {
889
+ decision: ValidatorsDecision;
890
+ alreadyVoted: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
891
+ yesVotes: UInt32;
892
+ noVotes: UInt32;
893
+ abstainVotes: UInt32;
894
+ };
895
+ };
896
+ /**
897
+ * Represents the state of a validators decision during the voting process.
898
+ */
899
+ declare class ValidatorsDecisionState extends ValidatorsDecisionState_base {
900
+ static startVoting(decision: ValidatorsDecision): ValidatorsDecisionState;
901
+ /**
902
+ * Records a vote
903
+ * @param validatorNullifier The nullifier of the validator.
904
+ * @param validatorsList The ValidatorsList containing authorized validators.
905
+ * @param votedList The ValidatorsList tracking who has already voted.
906
+ * @param yes Whether this is a "yes" vote.
907
+ * @param no Whether this is a "no" vote.
908
+ * @param abstain Whether this is an "abstain" vote.
909
+ * @param signature The signature of the validator.
910
+ * @returns A new `ValidatorsDecisionState` reflecting the vote.
911
+ */
912
+ vote(validatorNullifier: Nullifier, validatorsList: ValidatorsList, votedList: ValidatorsList, yes: Bool, no: Bool, abstain: Bool, signature: Signature): ValidatorsDecisionState;
913
+ /**
914
+ * Asserts that two `ValidatorsDecisionState` instances are equal.
915
+ * @param a First `ValidatorsDecisionState` instance.
916
+ * @param b Second `ValidatorsDecisionState` instance.
917
+ */
918
+ static assertEquals(a: ValidatorsDecisionState, b: ValidatorsDecisionState): void;
919
+ }
920
+ /**
921
+ * The `ValidatorsVoting` ZkProgram implements the voting logic for validators.
922
+ */
923
+ declare const ValidatorsVoting: {
924
+ name: string;
925
+ compile: (options?: {
926
+ cache?: import("o1js").Cache;
927
+ forceRecompile?: boolean;
928
+ proofsEnabled?: boolean;
929
+ }) => Promise<{
930
+ verificationKey: {
931
+ data: string;
932
+ hash: Field;
933
+ };
934
+ }>;
935
+ verify: (proof: import("o1js").Proof<ValidatorsDecisionState, ValidatorsDecisionState>) => Promise<boolean>;
936
+ digest: () => Promise<string>;
937
+ analyzeMethods: () => Promise<{
938
+ startVoting: {
939
+ rows: number;
940
+ digest: string;
941
+ gates: import("node_modules/o1js/dist/node/snarky.js").Gate[];
942
+ publicInputSize: number;
943
+ print(): void;
944
+ summary(): Partial<Record<import("node_modules/o1js/dist/node/snarky.js").GateType | "Total rows", number>>;
945
+ };
946
+ vote: {
947
+ rows: number;
948
+ digest: string;
949
+ gates: import("node_modules/o1js/dist/node/snarky.js").Gate[];
950
+ publicInputSize: number;
951
+ print(): void;
952
+ summary(): Partial<Record<import("node_modules/o1js/dist/node/snarky.js").GateType | "Total rows", number>>;
953
+ };
954
+ merge: {
955
+ rows: number;
956
+ digest: string;
957
+ gates: import("node_modules/o1js/dist/node/snarky.js").Gate[];
958
+ publicInputSize: number;
959
+ print(): void;
960
+ summary(): Partial<Record<import("node_modules/o1js/dist/node/snarky.js").GateType | "Total rows", number>>;
961
+ };
962
+ }>;
963
+ publicInputType: typeof ValidatorsDecisionState;
964
+ publicOutputType: typeof ValidatorsDecisionState;
965
+ privateInputTypes: {
966
+ startVoting: [typeof ValidatorsDecision];
967
+ vote: [typeof ValidatorsDecision, typeof Nullifier, typeof ValidatorsList, typeof ValidatorsList, typeof import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool & ((x: boolean | import("node_modules/o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool) => import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool), typeof import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool & ((x: boolean | import("node_modules/o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool) => import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool), typeof import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool & ((x: boolean | import("node_modules/o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool) => import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool), typeof Signature];
968
+ merge: [typeof SelfProof, typeof SelfProof];
969
+ };
970
+ auxiliaryOutputTypes: {
971
+ startVoting: undefined;
972
+ vote: undefined;
973
+ merge: undefined;
974
+ };
975
+ rawMethods: {
976
+ startVoting: (publicInput: ValidatorsDecisionState, ...args: [ValidatorsDecision] & any[]) => Promise<{
977
+ publicOutput: ValidatorsDecisionState;
978
+ }>;
979
+ vote: (publicInput: ValidatorsDecisionState, ...args: [ValidatorsDecision, Nullifier, import("node_modules/o1js/dist/node/lib/provable/merkle-tree-indexed.js").IndexedMerkleMapBase, import("node_modules/o1js/dist/node/lib/provable/merkle-tree-indexed.js").IndexedMerkleMapBase, import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool, import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool, import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool, Signature] & any[]) => Promise<{
980
+ publicOutput: ValidatorsDecisionState;
981
+ }>;
982
+ merge: (publicInput: ValidatorsDecisionState, ...args: [SelfProof<unknown, unknown>, SelfProof<unknown, unknown>] & any[]) => Promise<{
983
+ publicOutput: ValidatorsDecisionState;
984
+ }>;
985
+ };
986
+ proofsEnabled: boolean;
987
+ setProofsEnabled(proofsEnabled: boolean): void;
988
+ } & {
989
+ startVoting: (publicInput: ValidatorsDecisionState, ...args: [ValidatorsDecision] & any[]) => Promise<{
990
+ proof: import("o1js").Proof<ValidatorsDecisionState, ValidatorsDecisionState>;
991
+ auxiliaryOutput: undefined;
992
+ }>;
993
+ vote: (publicInput: ValidatorsDecisionState, ...args: [ValidatorsDecision, Nullifier, import("node_modules/o1js/dist/node/lib/provable/merkle-tree-indexed.js").IndexedMerkleMapBase, import("node_modules/o1js/dist/node/lib/provable/merkle-tree-indexed.js").IndexedMerkleMapBase, import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool, import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool, import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool, Signature] & any[]) => Promise<{
994
+ proof: import("o1js").Proof<ValidatorsDecisionState, ValidatorsDecisionState>;
995
+ auxiliaryOutput: undefined;
996
+ }>;
997
+ merge: (publicInput: ValidatorsDecisionState, ...args: [SelfProof<unknown, unknown>, SelfProof<unknown, unknown>] & any[]) => Promise<{
998
+ proof: import("o1js").Proof<ValidatorsDecisionState, ValidatorsDecisionState>;
999
+ auxiliaryOutput: undefined;
1000
+ }>;
1001
+ };
1002
+ declare const ValidatorsVotingNativeProof_base: {
1003
+ new ({ proof, publicInput, publicOutput, maxProofsVerified, }: {
1004
+ proof: unknown;
1005
+ publicInput: ValidatorsDecisionState;
1006
+ publicOutput: ValidatorsDecisionState;
1007
+ maxProofsVerified: 0 | 2 | 1;
1008
+ }): import("o1js").Proof<ValidatorsDecisionState, ValidatorsDecisionState>;
1009
+ fromJSON<S extends import("node_modules/o1js/dist/node/lib/util/types.js").Subclass<typeof import("o1js").Proof>>(this: S, { maxProofsVerified, proof: proofString, publicInput: publicInputJson, publicOutput: publicOutputJson, }: import("o1js").JsonProof): Promise<import("o1js").Proof<import("o1js").InferProvable<S["publicInputType"]>, import("o1js").InferProvable<S["publicOutputType"]>>>;
1010
+ dummy<Input, OutPut>(publicInput: Input, publicOutput: OutPut, maxProofsVerified: 0 | 2 | 1, domainLog2?: number): Promise<import("o1js").Proof<Input, OutPut>>;
1011
+ readonly provable: {
1012
+ toFields: (value: import("o1js").Proof<any, any>) => import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
1013
+ toAuxiliary: (value?: import("o1js").Proof<any, any> | undefined) => any[];
1014
+ fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[], aux: any[]) => import("o1js").Proof<any, any>;
1015
+ sizeInFields(): number;
1016
+ check: (value: import("o1js").Proof<any, any>) => void;
1017
+ toValue: (x: import("o1js").Proof<any, any>) => import("node_modules/o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>;
1018
+ fromValue: (x: import("o1js").Proof<any, any> | import("node_modules/o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>) => import("o1js").Proof<any, any>;
1019
+ toCanonical?: ((x: import("o1js").Proof<any, any>) => import("o1js").Proof<any, any>) | undefined;
1020
+ };
1021
+ publicInputType: import("o1js").FlexibleProvable<any>;
1022
+ publicOutputType: import("o1js").FlexibleProvable<any>;
1023
+ tag: () => {
1024
+ name: string;
1025
+ };
1026
+ publicFields(value: import("o1js").ProofBase<any, any>): {
1027
+ input: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
1028
+ output: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
1029
+ };
1030
+ _proofFromBase64(proofString: string, maxProofsVerified: 0 | 2 | 1): unknown;
1031
+ _proofToBase64(proof: unknown, maxProofsVerified: 0 | 2 | 1): string;
1032
+ } & {
1033
+ provable: Provable<import("o1js").Proof<ValidatorsDecisionState, ValidatorsDecisionState>, import("node_modules/o1js/dist/node/lib/proof-system/proof.js").ProofValue<{
1034
+ decision: {
1035
+ message: bigint;
1036
+ decisionType: bigint;
1037
+ contractAddress: {
1038
+ x: bigint;
1039
+ isOdd: boolean;
1040
+ };
1041
+ chainId: bigint;
1042
+ validators: {
1043
+ chainId: bigint;
1044
+ root: bigint;
1045
+ count: bigint;
1046
+ };
1047
+ upgradeDatabase: {
1048
+ root: bigint;
1049
+ storage: {
1050
+ url: bigint[];
1051
+ };
1052
+ nextUpgradeAuthority: {
1053
+ x: bigint;
1054
+ isOdd: boolean;
1055
+ } | undefined;
1056
+ version: bigint;
1057
+ validFrom: bigint;
1058
+ };
1059
+ updateValidatorsList: {
1060
+ chainId: bigint;
1061
+ root: bigint;
1062
+ count: bigint;
1063
+ };
1064
+ expiry: bigint;
1065
+ };
1066
+ alreadyVoted: bigint;
1067
+ yesVotes: bigint;
1068
+ noVotes: bigint;
1069
+ abstainVotes: bigint;
1070
+ }, {
1071
+ decision: {
1072
+ message: bigint;
1073
+ decisionType: bigint;
1074
+ contractAddress: {
1075
+ x: bigint;
1076
+ isOdd: boolean;
1077
+ };
1078
+ chainId: bigint;
1079
+ validators: {
1080
+ chainId: bigint;
1081
+ root: bigint;
1082
+ count: bigint;
1083
+ };
1084
+ upgradeDatabase: {
1085
+ root: bigint;
1086
+ storage: {
1087
+ url: bigint[];
1088
+ };
1089
+ nextUpgradeAuthority: {
1090
+ x: bigint;
1091
+ isOdd: boolean;
1092
+ } | undefined;
1093
+ version: bigint;
1094
+ validFrom: bigint;
1095
+ };
1096
+ updateValidatorsList: {
1097
+ chainId: bigint;
1098
+ root: bigint;
1099
+ count: bigint;
1100
+ };
1101
+ expiry: bigint;
1102
+ };
1103
+ alreadyVoted: bigint;
1104
+ yesVotes: bigint;
1105
+ noVotes: bigint;
1106
+ abstainVotes: bigint;
1107
+ }>>;
1108
+ };
1109
+ /** Proof classes for the `ValidatorsVoting` ZkProgram. */
1110
+ declare class ValidatorsVotingNativeProof extends ValidatorsVotingNativeProof_base {
1111
+ }
1112
+ declare class ValidatorsVotingProof extends DynamicProof<ValidatorsDecisionState, ValidatorsDecisionState> {
1113
+ static publicInputType: typeof ValidatorsDecisionState;
1114
+ static publicOutputType: typeof ValidatorsDecisionState;
1115
+ static maxProofsVerified: 2;
1116
+ static featureFlags: {
1117
+ rangeCheck0: undefined;
1118
+ rangeCheck1: undefined;
1119
+ foreignFieldAdd: undefined;
1120
+ foreignFieldMul: undefined;
1121
+ xor: undefined;
1122
+ rot: undefined;
1123
+ lookup: undefined;
1124
+ runtimeTables: undefined;
1125
+ };
1126
+ }