@aztec/stdlib 3.0.0-nightly.20250917 → 3.0.0-nightly.20250919
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.
- package/dest/avm/avm.d.ts +6 -0
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.d.ts +6 -1
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.js +11 -6
- package/dest/avm/avm_proving_request.d.ts +7 -0
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/block/body.d.ts +4 -1
- package/dest/block/body.d.ts.map +1 -1
- package/dest/block/body.js +16 -5
- package/dest/block/index.d.ts +1 -0
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +1 -0
- package/dest/block/l2_block.d.ts +8 -5
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +14 -7
- package/dest/block/l2_block_code_to_purge.d.ts +3 -14
- package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
- package/dest/block/l2_block_code_to_purge.js +23 -13
- package/dest/block/l2_block_header.d.ts +100 -0
- package/dest/block/l2_block_header.d.ts.map +1 -0
- package/dest/block/l2_block_header.js +146 -0
- package/dest/block/l2_block_stream/l2_tips_memory_store.js +1 -1
- package/dest/block/published_l2_block.d.ts +2 -2
- package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.js +1 -3
- package/dest/interfaces/block-builder.d.ts +2 -2
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/epoch-prover.d.ts +26 -9
- package/dest/interfaces/epoch-prover.d.ts.map +1 -1
- package/dest/interfaces/proving-job.d.ts +233 -125
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +120 -102
- package/dest/interfaces/pxe.d.ts +192 -90
- package/dest/interfaces/pxe.d.ts.map +1 -1
- package/dest/interfaces/pxe.js +5 -31
- package/dest/interfaces/server_circuit_prover.d.ts +31 -27
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +3 -2
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts +4 -4
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +7 -7
- package/dest/kernel/private_context_inputs.d.ts +2 -2
- package/dest/kernel/private_context_inputs.d.ts.map +1 -1
- package/dest/kernel/private_context_inputs.js +4 -4
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +1 -1
- package/dest/p2p/consensus_payload.d.ts +7 -6
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +7 -6
- package/dest/parity/index.d.ts +2 -3
- package/dest/parity/index.d.ts.map +1 -1
- package/dest/parity/index.js +2 -3
- package/dest/parity/{base_parity_inputs.d.ts → parity_base_private_inputs.d.ts} +6 -6
- package/dest/parity/parity_base_private_inputs.d.ts.map +1 -0
- package/dest/parity/{base_parity_inputs.js → parity_base_private_inputs.js} +5 -5
- package/dest/parity/parity_root_private_inputs.d.ts +39 -0
- package/dest/parity/parity_root_private_inputs.d.ts.map +1 -0
- package/dest/parity/{root_parity_inputs.js → parity_root_private_inputs.js} +12 -13
- package/dest/proofs/proof_data.d.ts +4 -3
- package/dest/proofs/proof_data.d.ts.map +1 -1
- package/dest/proofs/proof_data.js +2 -2
- package/dest/proofs/proving_request_type.d.ts +16 -11
- package/dest/proofs/proving_request_type.d.ts.map +1 -1
- package/dest/proofs/proving_request_type.js +16 -11
- package/dest/rollup/base_rollup_hints.d.ts +12 -3
- package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
- package/dest/rollup/base_rollup_hints.js +11 -5
- package/dest/rollup/block_constant_data.d.ts +20 -6
- package/dest/rollup/block_constant_data.d.ts.map +1 -1
- package/dest/rollup/block_constant_data.js +15 -7
- package/dest/rollup/{block_merge_rollup.d.ts → block_merge_rollup_private_inputs.d.ts} +17 -10
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/{block_merge_rollup.js → block_merge_rollup_private_inputs.js} +14 -13
- package/dest/rollup/block_rollup_public_inputs.d.ts +124 -0
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/block_rollup_public_inputs.js +85 -0
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +236 -0
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/block_root_rollup_private_inputs.js +257 -0
- package/dest/rollup/checkpoint_constant_data.d.ts +54 -0
- package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -0
- package/dest/rollup/checkpoint_constant_data.js +55 -0
- package/dest/{tx/proposed_block_header.d.ts → rollup/checkpoint_header.d.ts} +11 -12
- package/dest/rollup/checkpoint_header.d.ts.map +1 -0
- package/dest/{tx/proposed_block_header.js → rollup/checkpoint_header.js} +9 -9
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +30 -0
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.js +37 -0
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +105 -0
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/checkpoint_rollup_public_inputs.js +105 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +123 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.js +178 -0
- package/dest/rollup/epoch_constant_data.d.ts +19 -2
- package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
- package/dest/rollup/epoch_constant_data.js +20 -7
- package/dest/rollup/index.d.ts +14 -12
- package/dest/rollup/index.d.ts.map +1 -1
- package/dest/rollup/index.js +14 -12
- package/dest/rollup/{private_base_rollup_inputs.d.ts → private_tx_base_rollup_private_inputs.d.ts} +7 -7
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/{private_base_rollup_inputs.js → private_tx_base_rollup_private_inputs.js} +6 -6
- package/dest/rollup/{public_base_rollup_inputs.d.ts → public_tx_base_rollup_private_inputs.d.ts} +7 -7
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/{public_base_rollup_inputs.js → public_tx_base_rollup_private_inputs.js} +6 -6
- package/dest/rollup/root_rollup_private_inputs.d.ts +67 -0
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/root_rollup_private_inputs.js +69 -0
- package/dest/rollup/root_rollup_public_inputs.d.ts +46 -0
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/root_rollup_public_inputs.js +71 -0
- package/dest/rollup/{merge_rollup.d.ts → tx_merge_rollup_private_inputs.d.ts} +11 -10
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/{merge_rollup.js → tx_merge_rollup_private_inputs.js} +14 -13
- package/dest/rollup/{base_or_merge_rollup_public_inputs.d.ts → tx_rollup_public_inputs.d.ts} +12 -12
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/{base_or_merge_rollup_public_inputs.js → tx_rollup_public_inputs.js} +14 -14
- package/dest/stats/stats.d.ts +1 -1
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +28 -68
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +90 -115
- package/dest/tests/mocks.d.ts +3 -2
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +3 -3
- package/dest/tx/block_header.d.ts +12 -13
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +16 -21
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/global_variables.js +0 -1
- package/dest/tx/index.d.ts +0 -1
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +0 -1
- package/dest/tx/private_execution_result.d.ts +2 -2
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +3 -3
- package/dest/tx/tx_constant_data.d.ts +4 -4
- package/dest/tx/tx_constant_data.d.ts.map +1 -1
- package/dest/tx/tx_constant_data.js +6 -6
- package/dest/tx/tx_effect.d.ts +0 -3
- package/dest/tx/tx_effect.d.ts.map +1 -1
- package/dest/tx/tx_effect.js +2 -7
- package/package.json +8 -8
- package/src/avm/avm_circuit_public_inputs.ts +10 -0
- package/src/block/body.ts +23 -6
- package/src/block/index.ts +1 -0
- package/src/block/l2_block.ts +18 -8
- package/src/block/l2_block_code_to_purge.ts +30 -31
- package/src/block/l2_block_header.ts +232 -0
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +1 -1
- package/src/block/test/l2_tips_store_test_suite.ts +1 -2
- package/src/interfaces/block-builder.ts +2 -6
- package/src/interfaces/epoch-prover.ts +35 -11
- package/src/interfaces/proving-job.ts +199 -123
- package/src/interfaces/pxe.ts +3 -138
- package/src/interfaces/server_circuit_prover.ts +83 -52
- package/src/interfaces/validator.ts +3 -2
- package/src/kernel/private_circuit_public_inputs.ts +5 -5
- package/src/kernel/private_context_inputs.ts +2 -2
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +1 -1
- package/src/p2p/consensus_payload.ts +8 -7
- package/src/parity/index.ts +2 -3
- package/src/parity/{base_parity_inputs.ts → parity_base_private_inputs.ts} +6 -6
- package/src/parity/{root_parity_inputs.ts → parity_root_private_inputs.ts} +16 -18
- package/src/proofs/proof_data.ts +5 -8
- package/src/proofs/proving_request_type.ts +14 -8
- package/src/rollup/base_rollup_hints.ts +9 -1
- package/src/rollup/block_constant_data.ts +13 -3
- package/src/rollup/{block_merge_rollup.ts → block_merge_rollup_private_inputs.ts} +15 -11
- package/src/rollup/block_rollup_public_inputs.ts +123 -0
- package/src/rollup/block_root_rollup_private_inputs.ts +312 -0
- package/src/rollup/checkpoint_constant_data.ts +84 -0
- package/src/{tx/proposed_block_header.ts → rollup/checkpoint_header.ts} +16 -17
- package/src/rollup/checkpoint_merge_rollup_private_inputs.ts +49 -0
- package/src/rollup/{block_root_or_block_merge_public_inputs.ts → checkpoint_rollup_public_inputs.ts} +26 -52
- package/src/rollup/checkpoint_root_rollup_private_inputs.ts +218 -0
- package/src/rollup/epoch_constant_data.ts +32 -8
- package/src/rollup/index.ts +14 -12
- package/src/rollup/{private_base_rollup_inputs.ts → private_tx_base_rollup_private_inputs.ts} +9 -9
- package/src/rollup/{public_base_rollup_inputs.ts → public_tx_base_rollup_private_inputs.ts} +9 -9
- package/src/rollup/root_rollup_private_inputs.ts +90 -0
- package/src/rollup/{root_rollup.ts → root_rollup_public_inputs.ts} +8 -104
- package/src/rollup/{merge_rollup.ts → tx_merge_rollup_private_inputs.ts} +13 -9
- package/src/rollup/{base_or_merge_rollup_public_inputs.ts → tx_rollup_public_inputs.ts} +12 -12
- package/src/stats/stats.ts +18 -12
- package/src/tests/factories.ts +144 -199
- package/src/tests/mocks.ts +6 -13
- package/src/tx/block_header.ts +17 -32
- package/src/tx/global_variables.ts +0 -1
- package/src/tx/index.ts +0 -1
- package/src/tx/private_execution_result.ts +3 -3
- package/src/tx/tx_constant_data.ts +4 -4
- package/src/tx/tx_effect.ts +2 -7
- package/dest/parity/base_parity_inputs.d.ts.map +0 -1
- package/dest/parity/root_parity_input.d.ts +0 -52
- package/dest/parity/root_parity_input.d.ts.map +0 -1
- package/dest/parity/root_parity_input.js +0 -50
- package/dest/parity/root_parity_inputs.d.ts +0 -37
- package/dest/parity/root_parity_inputs.d.ts.map +0 -1
- package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts.map +0 -1
- package/dest/rollup/block_merge_rollup.d.ts.map +0 -1
- package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts +0 -134
- package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts.map +0 -1
- package/dest/rollup/block_root_or_block_merge_public_inputs.js +0 -125
- package/dest/rollup/block_root_rollup.d.ts +0 -283
- package/dest/rollup/block_root_rollup.d.ts.map +0 -1
- package/dest/rollup/block_root_rollup.js +0 -306
- package/dest/rollup/empty_block_root_rollup_inputs.d.ts +0 -51
- package/dest/rollup/empty_block_root_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/empty_block_root_rollup_inputs.js +0 -65
- package/dest/rollup/merge_rollup.d.ts.map +0 -1
- package/dest/rollup/padding_block_root_rollup_inputs.d.ts +0 -20
- package/dest/rollup/padding_block_root_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/padding_block_root_rollup_inputs.js +0 -39
- package/dest/rollup/previous_rollup_block_data.d.ts +0 -47
- package/dest/rollup/previous_rollup_block_data.d.ts.map +0 -1
- package/dest/rollup/previous_rollup_block_data.js +0 -37
- package/dest/rollup/previous_rollup_data.d.ts +0 -47
- package/dest/rollup/previous_rollup_data.d.ts.map +0 -1
- package/dest/rollup/previous_rollup_data.js +0 -37
- package/dest/rollup/private_base_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/public_base_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/root_rollup.d.ts +0 -106
- package/dest/rollup/root_rollup.d.ts.map +0 -1
- package/dest/rollup/root_rollup.js +0 -147
- package/dest/tx/proposed_block_header.d.ts.map +0 -1
- package/src/parity/root_parity_input.ts +0 -71
- package/src/rollup/block_root_rollup.ts +0 -380
- package/src/rollup/empty_block_root_rollup_inputs.ts +0 -80
- package/src/rollup/padding_block_root_rollup_inputs.ts +0 -47
- package/src/rollup/previous_rollup_block_data.ts +0 -48
- package/src/rollup/previous_rollup_data.ts +0 -48
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"private_base_rollup_inputs.d.ts","sourceRoot":"","sources":["../../src/rollup/private_base_rollup_inputs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,wCAAwC,EAAE,MAAM,6DAA6D,CAAC;AACvH,OAAO,EAAE,KAAK,aAAa,EAAa,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,qBAAa,uBAAuB;IAEzB,qBAAqB,EAAE,aAAa,CAAC,wCAAwC,CAAC;IAC9E,KAAK,EAAE,sBAAsB;gBAD7B,qBAAqB,EAAE,aAAa,CAAC,wCAAwC,CAAC,EAC9E,KAAK,EAAE,sBAAsB;IAGtC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC,GAAG,uBAAuB;IAI/E,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC;IAI1D,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,uBAAuB;IAQzE,QAAQ;IAIR,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,QAAQ;IAIR,8DAA8D;IAC9D,MAAM;IAIN,6CAA6C;IAC7C,MAAM,KAAK,MAAM,gEAEhB;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"public_base_rollup_inputs.d.ts","sourceRoot":"","sources":["../../src/rollup/public_base_rollup_inputs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,wCAAwC,EAAE,MAAM,6DAA6D,CAAC;AACvH,OAAO,EAAa,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,qBAAa,sBAAsB;IAExB,mBAAmB,EAAE,mBAAmB,CAAC,wCAAwC,CAAC;IAClF,YAAY,EAAE,YAAY;IAC1B,KAAK,EAAE,qBAAqB;gBAF5B,mBAAmB,EAAE,mBAAmB,CAAC,wCAAwC,CAAC,EAClF,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,qBAAqB;IAGrC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAAG,sBAAsB;IAI7E,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC;IAIzD,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,sBAAsB;IASxE,QAAQ;IAIR,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,QAAQ;IAIR,uDAAuD;IACvD,MAAM;IAIN,yCAAyC;IACzC,MAAM,KAAK,MAAM,+DAEhB;CACF"}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import { FinalBlobAccumulatorPublicInputs } from '@aztec/blob-lib';
|
|
2
|
-
import { AZTEC_MAX_EPOCH_DURATION } from '@aztec/constants';
|
|
3
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
-
import { BufferReader, type Tuple } from '@aztec/foundation/serialize';
|
|
5
|
-
import type { FieldsOf } from '@aztec/foundation/types';
|
|
6
|
-
import { FeeRecipient } from './block_root_or_block_merge_public_inputs.js';
|
|
7
|
-
import { PreviousRollupBlockData } from './previous_rollup_block_data.js';
|
|
8
|
-
/**
|
|
9
|
-
* Represents inputs of the root rollup circuit.
|
|
10
|
-
*/
|
|
11
|
-
export declare class RootRollupInputs {
|
|
12
|
-
/**
|
|
13
|
-
* The previous rollup data.
|
|
14
|
-
* Note: Root rollup circuit is the latest circuit the chain of circuits and the previous rollup data is the data
|
|
15
|
-
* from 2 block merge circuits.
|
|
16
|
-
*/
|
|
17
|
-
previousRollupData: [PreviousRollupBlockData, PreviousRollupBlockData];
|
|
18
|
-
constructor(
|
|
19
|
-
/**
|
|
20
|
-
* The previous rollup data.
|
|
21
|
-
* Note: Root rollup circuit is the latest circuit the chain of circuits and the previous rollup data is the data
|
|
22
|
-
* from 2 block merge circuits.
|
|
23
|
-
*/
|
|
24
|
-
previousRollupData: [PreviousRollupBlockData, PreviousRollupBlockData]);
|
|
25
|
-
/**
|
|
26
|
-
* Serializes the inputs to a buffer.
|
|
27
|
-
* @returns - The inputs serialized to a buffer.
|
|
28
|
-
*/
|
|
29
|
-
toBuffer(): Buffer<ArrayBufferLike>;
|
|
30
|
-
/**
|
|
31
|
-
* Serializes the inputs to a hex string.
|
|
32
|
-
* @returns The instance serialized to a hex string.
|
|
33
|
-
*/
|
|
34
|
-
toString(): `0x${string}`;
|
|
35
|
-
/**
|
|
36
|
-
* Creates a new instance from fields.
|
|
37
|
-
* @param fields - Fields to create the instance from.
|
|
38
|
-
* @returns A new RootRollupInputs instance.
|
|
39
|
-
*/
|
|
40
|
-
static from(fields: FieldsOf<RootRollupInputs>): RootRollupInputs;
|
|
41
|
-
/**
|
|
42
|
-
* Extracts fields from an instance.
|
|
43
|
-
* @param fields - Fields to create the instance from.
|
|
44
|
-
* @returns An array of fields.
|
|
45
|
-
*/
|
|
46
|
-
static getFields(fields: FieldsOf<RootRollupInputs>): readonly [[PreviousRollupBlockData, PreviousRollupBlockData]];
|
|
47
|
-
/**
|
|
48
|
-
* Deserializes the inputs from a buffer.
|
|
49
|
-
* @param buffer - A buffer to deserialize from.
|
|
50
|
-
* @returns A new RootRollupInputs instance.
|
|
51
|
-
*/
|
|
52
|
-
static fromBuffer(buffer: Buffer | BufferReader): RootRollupInputs;
|
|
53
|
-
/**
|
|
54
|
-
* Deserializes the inputs from a hex string.
|
|
55
|
-
* @param str - A hex string to deserialize from.
|
|
56
|
-
* @returns A new RootRollupInputs instance.
|
|
57
|
-
*/
|
|
58
|
-
static fromString(str: string): RootRollupInputs;
|
|
59
|
-
/** Returns a representation for JSON serialization. */
|
|
60
|
-
toJSON(): Buffer<ArrayBufferLike>;
|
|
61
|
-
/** Creates an instance from a string. */
|
|
62
|
-
static get schema(): import("zod").ZodType<RootRollupInputs, any, string>;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Represents public inputs of the root rollup circuit.
|
|
66
|
-
*
|
|
67
|
-
* NOTE: in practice, we'll hash all of this up into a single public input, for cheap onchain verification.
|
|
68
|
-
*/
|
|
69
|
-
export declare class RootRollupPublicInputs {
|
|
70
|
-
/** Root of the archive tree before this rollup is processed */
|
|
71
|
-
previousArchiveRoot: Fr;
|
|
72
|
-
/** Root of the archive tree after this rollup is processed */
|
|
73
|
-
endArchiveRoot: Fr;
|
|
74
|
-
proposedBlockHeaderHashes: Tuple<Fr, typeof AZTEC_MAX_EPOCH_DURATION>;
|
|
75
|
-
fees: Tuple<FeeRecipient, typeof AZTEC_MAX_EPOCH_DURATION>;
|
|
76
|
-
chainId: Fr;
|
|
77
|
-
version: Fr;
|
|
78
|
-
vkTreeRoot: Fr;
|
|
79
|
-
protocolContractTreeRoot: Fr;
|
|
80
|
-
proverId: Fr;
|
|
81
|
-
blobPublicInputs: FinalBlobAccumulatorPublicInputs;
|
|
82
|
-
constructor(
|
|
83
|
-
/** Root of the archive tree before this rollup is processed */
|
|
84
|
-
previousArchiveRoot: Fr,
|
|
85
|
-
/** Root of the archive tree after this rollup is processed */
|
|
86
|
-
endArchiveRoot: Fr, proposedBlockHeaderHashes: Tuple<Fr, typeof AZTEC_MAX_EPOCH_DURATION>, fees: Tuple<FeeRecipient, typeof AZTEC_MAX_EPOCH_DURATION>, chainId: Fr, version: Fr, vkTreeRoot: Fr, protocolContractTreeRoot: Fr, proverId: Fr, blobPublicInputs: FinalBlobAccumulatorPublicInputs);
|
|
87
|
-
static getFields(fields: FieldsOf<RootRollupPublicInputs>): readonly [Fr, Fr, [Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr], [FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient], Fr, Fr, Fr, Fr, Fr, FinalBlobAccumulatorPublicInputs];
|
|
88
|
-
toBuffer(): Buffer<ArrayBufferLike>;
|
|
89
|
-
toFields(): Fr[];
|
|
90
|
-
static from(fields: FieldsOf<RootRollupPublicInputs>): RootRollupPublicInputs;
|
|
91
|
-
/**
|
|
92
|
-
* Deserializes a buffer into a `RootRollupPublicInputs` object.
|
|
93
|
-
* @param buffer - The buffer to deserialize.
|
|
94
|
-
* @returns The deserialized `RootRollupPublicInputs` object.
|
|
95
|
-
*/
|
|
96
|
-
static fromBuffer(buffer: Buffer | BufferReader): RootRollupPublicInputs;
|
|
97
|
-
toString(): `0x${string}`;
|
|
98
|
-
static fromString(str: string): RootRollupPublicInputs;
|
|
99
|
-
/** Returns a representation for JSON serialization. */
|
|
100
|
-
toJSON(): Buffer<ArrayBufferLike>;
|
|
101
|
-
/** Creates an instance from a string. */
|
|
102
|
-
static get schema(): import("zod").ZodType<RootRollupPublicInputs, any, string>;
|
|
103
|
-
/** Creates a random instance. Used for testing only - will not prove/verify. */
|
|
104
|
-
static random(): RootRollupPublicInputs;
|
|
105
|
-
}
|
|
106
|
-
//# sourceMappingURL=root_rollup.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"root_rollup.d.ts","sourceRoot":"","sources":["../../src/rollup/root_rollup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAwC,MAAM,6BAA6B,CAAC;AAE7G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE1E;;GAEG;AACH,qBAAa,gBAAgB;IAEzB;;;;OAIG;IACI,kBAAkB,EAAE,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;;IAL7E;;;;OAIG;IACI,kBAAkB,EAAE,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;IAG/E;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,QAAQ;IAIR;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,gBAAgB;IAIjE;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC;IAInD;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,gBAAgB;IAQlE;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,uDAAuD;IACvD,MAAM;IAIN,yCAAyC;IACzC,MAAM,KAAK,MAAM,yDAEhB;CACF;AAED;;;;GAIG;AACH,qBAAa,sBAAsB;IAE/B,+DAA+D;IACxD,mBAAmB,EAAE,EAAE;IAC9B,8DAA8D;IACvD,cAAc,EAAE,EAAE;IAClB,yBAAyB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,wBAAwB,CAAC;IACrE,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,wBAAwB,CAAC;IAC1D,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,UAAU,EAAE,EAAE;IACd,wBAAwB,EAAE,EAAE;IAC5B,QAAQ,EAAE,EAAE;IACZ,gBAAgB,EAAE,gCAAgC;;IAXzD,+DAA+D;IACxD,mBAAmB,EAAE,EAAE;IAC9B,8DAA8D;IACvD,cAAc,EAAE,EAAE,EAClB,yBAAyB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,wBAAwB,CAAC,EACrE,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,wBAAwB,CAAC,EAC1D,OAAO,EAAE,EAAE,EACX,OAAO,EAAE,EAAE,EACX,UAAU,EAAE,EAAE,EACd,wBAAwB,EAAE,EAAE,EAC5B,QAAQ,EAAE,EAAE,EACZ,gBAAgB,EAAE,gCAAgC;IAG3D,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC;IAezD,QAAQ;IAIR,QAAQ,IAAI,EAAE,EAAE;IAIhB,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAAG,sBAAsB;IAI7E;;;;OAIG;WACW,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,sBAAsB;IAgB/E,QAAQ;IAIR,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,uDAAuD;IACvD,MAAM;IAIN,yCAAyC;IACzC,MAAM,KAAK,MAAM,+DAEhB;IAED,gFAAgF;IAChF,MAAM,CAAC,MAAM;CAcd"}
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { FinalBlobAccumulatorPublicInputs } from '@aztec/blob-lib';
|
|
2
|
-
import { AZTEC_MAX_EPOCH_DURATION } from '@aztec/constants';
|
|
3
|
-
import { makeTuple } from '@aztec/foundation/array';
|
|
4
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
5
|
-
import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
6
|
-
import { BufferReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
|
|
7
|
-
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
8
|
-
import { FeeRecipient } from './block_root_or_block_merge_public_inputs.js';
|
|
9
|
-
import { PreviousRollupBlockData } from './previous_rollup_block_data.js';
|
|
10
|
-
/**
|
|
11
|
-
* Represents inputs of the root rollup circuit.
|
|
12
|
-
*/ export class RootRollupInputs {
|
|
13
|
-
previousRollupData;
|
|
14
|
-
constructor(/**
|
|
15
|
-
* The previous rollup data.
|
|
16
|
-
* Note: Root rollup circuit is the latest circuit the chain of circuits and the previous rollup data is the data
|
|
17
|
-
* from 2 block merge circuits.
|
|
18
|
-
*/ previousRollupData){
|
|
19
|
-
this.previousRollupData = previousRollupData;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Serializes the inputs to a buffer.
|
|
23
|
-
* @returns - The inputs serialized to a buffer.
|
|
24
|
-
*/ toBuffer() {
|
|
25
|
-
return serializeToBuffer(...RootRollupInputs.getFields(this));
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Serializes the inputs to a hex string.
|
|
29
|
-
* @returns The instance serialized to a hex string.
|
|
30
|
-
*/ toString() {
|
|
31
|
-
return bufferToHex(this.toBuffer());
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Creates a new instance from fields.
|
|
35
|
-
* @param fields - Fields to create the instance from.
|
|
36
|
-
* @returns A new RootRollupInputs instance.
|
|
37
|
-
*/ static from(fields) {
|
|
38
|
-
return new RootRollupInputs(...RootRollupInputs.getFields(fields));
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Extracts fields from an instance.
|
|
42
|
-
* @param fields - Fields to create the instance from.
|
|
43
|
-
* @returns An array of fields.
|
|
44
|
-
*/ static getFields(fields) {
|
|
45
|
-
return [
|
|
46
|
-
fields.previousRollupData
|
|
47
|
-
];
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Deserializes the inputs from a buffer.
|
|
51
|
-
* @param buffer - A buffer to deserialize from.
|
|
52
|
-
* @returns A new RootRollupInputs instance.
|
|
53
|
-
*/ static fromBuffer(buffer) {
|
|
54
|
-
const reader = BufferReader.asReader(buffer);
|
|
55
|
-
return new RootRollupInputs([
|
|
56
|
-
reader.readObject(PreviousRollupBlockData),
|
|
57
|
-
reader.readObject(PreviousRollupBlockData)
|
|
58
|
-
]);
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Deserializes the inputs from a hex string.
|
|
62
|
-
* @param str - A hex string to deserialize from.
|
|
63
|
-
* @returns A new RootRollupInputs instance.
|
|
64
|
-
*/ static fromString(str) {
|
|
65
|
-
return RootRollupInputs.fromBuffer(hexToBuffer(str));
|
|
66
|
-
}
|
|
67
|
-
/** Returns a representation for JSON serialization. */ toJSON() {
|
|
68
|
-
return this.toBuffer();
|
|
69
|
-
}
|
|
70
|
-
/** Creates an instance from a string. */ static get schema() {
|
|
71
|
-
return bufferSchemaFor(RootRollupInputs);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Represents public inputs of the root rollup circuit.
|
|
76
|
-
*
|
|
77
|
-
* NOTE: in practice, we'll hash all of this up into a single public input, for cheap onchain verification.
|
|
78
|
-
*/ export class RootRollupPublicInputs {
|
|
79
|
-
previousArchiveRoot;
|
|
80
|
-
endArchiveRoot;
|
|
81
|
-
proposedBlockHeaderHashes;
|
|
82
|
-
fees;
|
|
83
|
-
chainId;
|
|
84
|
-
version;
|
|
85
|
-
vkTreeRoot;
|
|
86
|
-
protocolContractTreeRoot;
|
|
87
|
-
proverId;
|
|
88
|
-
blobPublicInputs;
|
|
89
|
-
constructor(/** Root of the archive tree before this rollup is processed */ previousArchiveRoot, /** Root of the archive tree after this rollup is processed */ endArchiveRoot, proposedBlockHeaderHashes, fees, chainId, version, vkTreeRoot, protocolContractTreeRoot, proverId, blobPublicInputs){
|
|
90
|
-
this.previousArchiveRoot = previousArchiveRoot;
|
|
91
|
-
this.endArchiveRoot = endArchiveRoot;
|
|
92
|
-
this.proposedBlockHeaderHashes = proposedBlockHeaderHashes;
|
|
93
|
-
this.fees = fees;
|
|
94
|
-
this.chainId = chainId;
|
|
95
|
-
this.version = version;
|
|
96
|
-
this.vkTreeRoot = vkTreeRoot;
|
|
97
|
-
this.protocolContractTreeRoot = protocolContractTreeRoot;
|
|
98
|
-
this.proverId = proverId;
|
|
99
|
-
this.blobPublicInputs = blobPublicInputs;
|
|
100
|
-
}
|
|
101
|
-
static getFields(fields) {
|
|
102
|
-
return [
|
|
103
|
-
fields.previousArchiveRoot,
|
|
104
|
-
fields.endArchiveRoot,
|
|
105
|
-
fields.proposedBlockHeaderHashes,
|
|
106
|
-
fields.fees,
|
|
107
|
-
fields.chainId,
|
|
108
|
-
fields.version,
|
|
109
|
-
fields.vkTreeRoot,
|
|
110
|
-
fields.protocolContractTreeRoot,
|
|
111
|
-
fields.proverId,
|
|
112
|
-
fields.blobPublicInputs
|
|
113
|
-
];
|
|
114
|
-
}
|
|
115
|
-
toBuffer() {
|
|
116
|
-
return serializeToBuffer(...RootRollupPublicInputs.getFields(this));
|
|
117
|
-
}
|
|
118
|
-
toFields() {
|
|
119
|
-
return serializeToFields(...RootRollupPublicInputs.getFields(this));
|
|
120
|
-
}
|
|
121
|
-
static from(fields) {
|
|
122
|
-
return new RootRollupPublicInputs(...RootRollupPublicInputs.getFields(fields));
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Deserializes a buffer into a `RootRollupPublicInputs` object.
|
|
126
|
-
* @param buffer - The buffer to deserialize.
|
|
127
|
-
* @returns The deserialized `RootRollupPublicInputs` object.
|
|
128
|
-
*/ static fromBuffer(buffer) {
|
|
129
|
-
const reader = BufferReader.asReader(buffer);
|
|
130
|
-
return new RootRollupPublicInputs(Fr.fromBuffer(reader), Fr.fromBuffer(reader), reader.readArray(AZTEC_MAX_EPOCH_DURATION, Fr), reader.readArray(AZTEC_MAX_EPOCH_DURATION, FeeRecipient), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), reader.readObject(FinalBlobAccumulatorPublicInputs));
|
|
131
|
-
}
|
|
132
|
-
toString() {
|
|
133
|
-
return bufferToHex(this.toBuffer());
|
|
134
|
-
}
|
|
135
|
-
static fromString(str) {
|
|
136
|
-
return RootRollupPublicInputs.fromBuffer(hexToBuffer(str));
|
|
137
|
-
}
|
|
138
|
-
/** Returns a representation for JSON serialization. */ toJSON() {
|
|
139
|
-
return this.toBuffer();
|
|
140
|
-
}
|
|
141
|
-
/** Creates an instance from a string. */ static get schema() {
|
|
142
|
-
return bufferSchemaFor(RootRollupPublicInputs);
|
|
143
|
-
}
|
|
144
|
-
/** Creates a random instance. Used for testing only - will not prove/verify. */ static random() {
|
|
145
|
-
return new RootRollupPublicInputs(Fr.random(), Fr.random(), makeTuple(AZTEC_MAX_EPOCH_DURATION, Fr.random), makeTuple(AZTEC_MAX_EPOCH_DURATION, FeeRecipient.random), Fr.random(), Fr.random(), Fr.random(), Fr.random(), Fr.random(), FinalBlobAccumulatorPublicInputs.random());
|
|
146
|
-
}
|
|
147
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"proposed_block_header.d.ts","sourceRoot":"","sources":["../../src/tx/proposed_block_header.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAuC,MAAM,6BAA6B,CAAC;AAEhG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,0CAA0C;AAC1C,qBAAa,mBAAmB;IAE5B,2DAA2D;IACpD,eAAe,EAAE,EAAE;IAC1B,0CAA0C;IACnC,iBAAiB,EAAE,iBAAiB;IAC3C,kCAAkC;IAC3B,UAAU,EAAE,EAAE;IACrB,iCAAiC;IAC1B,SAAS,EAAE,MAAM;IACxB,iCAAiC;IAC1B,QAAQ,EAAE,UAAU;IAC3B,+BAA+B;IACxB,YAAY,EAAE,YAAY;IACjC,wCAAwC;IACjC,OAAO,EAAE,OAAO;IACvB,wEAAwE;IACjE,aAAa,EAAE,EAAE;;IAfxB,2DAA2D;IACpD,eAAe,EAAE,EAAE;IAC1B,0CAA0C;IACnC,iBAAiB,EAAE,iBAAiB;IAC3C,kCAAkC;IAC3B,UAAU,EAAE,EAAE;IACrB,iCAAiC;IAC1B,SAAS,EAAE,MAAM;IACxB,iCAAiC;IAC1B,QAAQ,EAAE,UAAU;IAC3B,+BAA+B;IACxB,YAAY,EAAE,YAAY;IACjC,wCAAwC;IACjC,OAAO,EAAE,OAAO;IACvB,wEAAwE;IACjE,aAAa,EAAE,EAAE;IAG1B,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,mBAAmB,CAAC,CAa/C;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC;IAatD,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC;IAIjD,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,mBAAmB;IAerE,QAAQ;IAcR,IAAI,IAAI,EAAE;IAIV,MAAM,CAAC,KAAK,CAAC,MAAM,GAAE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAM,GAAG,mBAAmB;IActF,MAAM,CAAC,MAAM,IAAI,mBAAmB;IAapC,OAAO,IAAI,OAAO;IAalB;;;OAGG;IACI,QAAQ;IAIf,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB;IAInD,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU;IAalC,MAAM,IAAI,UAAU;IAgBpB,SAAS;;;;;;;;;;;;;;;;;IAaT,CAAC,OAAO,CAAC,MAAM,CAAC;CAajB"}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { VK_TREE_HEIGHT } from '@aztec/constants';
|
|
2
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
3
|
-
import { schemas } from '@aztec/foundation/schemas';
|
|
4
|
-
import { BufferReader, type Tuple, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
5
|
-
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
6
|
-
import type { FieldsOf } from '@aztec/foundation/types';
|
|
7
|
-
|
|
8
|
-
import { RecursiveProof } from '../proofs/recursive_proof.js';
|
|
9
|
-
import { VerificationKeyAsFields } from '../vks/verification_key.js';
|
|
10
|
-
import { ParityPublicInputs } from './parity_public_inputs.js';
|
|
11
|
-
|
|
12
|
-
export class RootParityInput<PROOF_LENGTH extends number> {
|
|
13
|
-
constructor(
|
|
14
|
-
/** The proof of the execution of the parity circuit. */
|
|
15
|
-
public readonly proof: RecursiveProof<PROOF_LENGTH>,
|
|
16
|
-
/** The circuit's verification key */
|
|
17
|
-
public readonly verificationKey: VerificationKeyAsFields,
|
|
18
|
-
/** The vk path in the vk tree*/
|
|
19
|
-
public readonly vkPath: Tuple<Fr, typeof VK_TREE_HEIGHT>,
|
|
20
|
-
/** The public inputs of the parity circuit. */
|
|
21
|
-
public readonly publicInputs: ParityPublicInputs,
|
|
22
|
-
) {}
|
|
23
|
-
|
|
24
|
-
toBuffer() {
|
|
25
|
-
return serializeToBuffer(...RootParityInput.getFields(this));
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
toString() {
|
|
29
|
-
return bufferToHex(this.toBuffer());
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
static from<PROOF_LENGTH extends number>(
|
|
33
|
-
fields: FieldsOf<RootParityInput<PROOF_LENGTH>>,
|
|
34
|
-
): RootParityInput<PROOF_LENGTH> {
|
|
35
|
-
return new RootParityInput(...RootParityInput.getFields(fields));
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
static getFields<PROOF_LENGTH extends number>(fields: FieldsOf<RootParityInput<PROOF_LENGTH>>) {
|
|
39
|
-
return [fields.proof, fields.verificationKey, fields.vkPath, fields.publicInputs] as const;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
static fromBuffer<PROOF_LENGTH extends number>(
|
|
43
|
-
buffer: Buffer | BufferReader,
|
|
44
|
-
expectedSize?: PROOF_LENGTH,
|
|
45
|
-
): RootParityInput<PROOF_LENGTH> {
|
|
46
|
-
const reader = BufferReader.asReader(buffer);
|
|
47
|
-
return new RootParityInput(
|
|
48
|
-
RecursiveProof.fromBuffer<PROOF_LENGTH>(reader, expectedSize),
|
|
49
|
-
reader.readObject(VerificationKeyAsFields),
|
|
50
|
-
reader.readArray(VK_TREE_HEIGHT, Fr),
|
|
51
|
-
reader.readObject(ParityPublicInputs),
|
|
52
|
-
);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
static fromString<PROOF_LENGTH extends number>(
|
|
56
|
-
str: string,
|
|
57
|
-
expectedSize?: PROOF_LENGTH,
|
|
58
|
-
): RootParityInput<PROOF_LENGTH> {
|
|
59
|
-
return RootParityInput.fromBuffer(hexToBuffer(str), expectedSize);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/** Returns a hex representation for JSON serialization. */
|
|
63
|
-
toJSON() {
|
|
64
|
-
return this.toBuffer();
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/** Creates an instance from a hex string with expected size. */
|
|
68
|
-
static schemaFor<N extends number>(expectedSize?: N) {
|
|
69
|
-
return schemas.Buffer.transform(buf => RootParityInput.fromBuffer(buf, expectedSize));
|
|
70
|
-
}
|
|
71
|
-
}
|