@aztec/stdlib 1.2.0 → 2.0.0-nightly.20250813
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/abi/abi.d.ts +0 -67
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +1 -14
- package/dest/abi/authorization_selector.d.ts +52 -0
- package/dest/abi/authorization_selector.d.ts.map +1 -0
- package/dest/abi/authorization_selector.js +70 -0
- package/dest/abi/contract_artifact.d.ts.map +1 -1
- package/dest/abi/contract_artifact.js +0 -40
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +3 -6
- package/dest/abi/index.d.ts +1 -0
- package/dest/abi/index.d.ts.map +1 -1
- package/dest/abi/index.js +1 -0
- package/dest/avm/avm.d.ts +278 -412
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +12 -12
- package/dest/avm/avm_proving_request.d.ts +160 -186
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/block/l2_block.d.ts +8 -0
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +9 -0
- package/dest/block/l2_block_source.d.ts +446 -2
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +29 -0
- package/dest/block/proposal/committee_attestation.d.ts +3 -1
- package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
- package/dest/block/proposal/committee_attestation.js +3 -0
- package/dest/block/published_l2_block.d.ts +2 -1
- package/dest/block/published_l2_block.d.ts.map +1 -1
- package/dest/block/published_l2_block.js +6 -1
- package/dest/contract/contract_instance.d.ts +3 -3
- package/dest/contract/contract_instance.d.ts.map +1 -1
- package/dest/contract/contract_instance.js +3 -3
- package/dest/contract/interfaces/contract_class.d.ts +2 -2
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts +9 -9
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
- package/dest/contract/interfaces/protocol_contract_addresses.js +4 -4
- package/dest/contract/private_function_membership_proof.d.ts +1 -1
- package/dest/contract/private_function_membership_proof.js +1 -1
- package/dest/contract/utility_function_membership_proof.d.ts +1 -1
- package/dest/contract/utility_function_membership_proof.js +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +20 -0
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -0
- package/dest/{shared_mutable/shared_mutable_values.js → delayed_public_mutable/delayed_public_mutable_values.js} +9 -9
- package/dest/{shared_mutable/shared_mutable_values_with_hash.d.ts → delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts} +6 -6
- package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts.map +1 -0
- package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.js +30 -0
- package/dest/delayed_public_mutable/index.d.ts +5 -0
- package/dest/delayed_public_mutable/index.d.ts.map +1 -0
- package/dest/delayed_public_mutable/index.js +4 -0
- package/dest/delayed_public_mutable/scheduled_delay_change.d.ts.map +1 -0
- package/dest/delayed_public_mutable/scheduled_value_change.d.ts.map +1 -0
- package/dest/gas/gas.d.ts +1 -0
- package/dest/gas/gas.d.ts.map +1 -1
- package/dest/gas/gas.js +3 -0
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +1 -4
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +4 -2
- package/dest/interfaces/aztec-node-admin.d.ts +211 -8
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +9 -3
- package/dest/interfaces/configs.d.ts +27 -0
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +6 -1
- package/dest/interfaces/get_logs_response.d.ts +1 -1
- package/dest/interfaces/proving-job.d.ts +166 -192
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/pxe.d.ts +3 -1
- package/dest/interfaces/pxe.d.ts.map +1 -1
- package/dest/interfaces/pxe.js +1 -1
- package/dest/interfaces/server.d.ts +4 -2
- package/dest/interfaces/server.d.ts.map +1 -1
- package/dest/interfaces/server.js +4 -2
- package/dest/interfaces/slasher.d.ts +86 -0
- package/dest/interfaces/slasher.d.ts.map +1 -0
- package/dest/interfaces/slasher.js +23 -0
- package/dest/interfaces/tx_provider.d.ts +24 -0
- package/dest/interfaces/tx_provider.d.ts.map +1 -0
- package/dest/kernel/claimed_length_array.d.ts +34 -0
- package/dest/kernel/claimed_length_array.d.ts.map +1 -0
- package/dest/kernel/claimed_length_array.js +58 -0
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +6 -6
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.js +18 -20
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +7 -10
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_nullifier_read_request_hints.js +17 -32
- package/dest/kernel/hints/build_transient_data_hints.d.ts +4 -3
- package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_transient_data_hints.js +9 -10
- package/dest/kernel/hints/index.d.ts +1 -2
- package/dest/kernel/hints/index.d.ts.map +1 -1
- package/dest/kernel/hints/index.js +1 -2
- package/dest/kernel/hints/note_hash_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/note_hash_read_request_hints.js +4 -4
- package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/nullifier_read_request_hints.js +4 -4
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts +5 -5
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
- package/dest/kernel/hints/private_kernel_reset_hints.js +9 -9
- package/dest/kernel/hints/read_request_hints.d.ts +17 -17
- package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/read_request_hints.js +28 -28
- package/dest/kernel/hints/{transient_data_index_hint.d.ts → transient_data_squashing_hint.d.ts} +5 -5
- package/dest/kernel/hints/transient_data_squashing_hint.d.ts.map +1 -0
- package/dest/kernel/hints/{transient_data_index_hint.js → transient_data_squashing_hint.js} +5 -5
- package/dest/kernel/index.d.ts +1 -0
- package/dest/kernel/index.d.ts.map +1 -1
- package/dest/kernel/index.js +1 -0
- package/dest/kernel/private_accumulated_data.d.ts +16 -15
- package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_accumulated_data.js +3 -3
- package/dest/kernel/private_call_data.d.ts +4 -4
- package/dest/kernel/private_call_data.d.ts.map +1 -1
- package/dest/kernel/private_call_data.js +2 -2
- package/dest/kernel/private_circuit_public_inputs.d.ts +26 -25
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +33 -15
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +9 -0
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +8 -4
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +10 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +9 -6
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +11 -4
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +20 -18
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +4 -4
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +9 -10
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +11 -11
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +11 -12
- package/dest/kernel/private_validation_requests.d.ts +8 -20
- package/dest/kernel/private_validation_requests.d.ts.map +1 -1
- package/dest/kernel/private_validation_requests.js +9 -21
- package/dest/kernel/utils/order_and_comparison.d.ts +0 -3
- package/dest/kernel/utils/order_and_comparison.d.ts.map +1 -1
- package/dest/kernel/utils/order_and_comparison.js +0 -19
- package/dest/logs/extended_public_log.d.ts +1 -1
- package/dest/logs/shared_secret_derivation.d.ts +1 -1
- package/dest/logs/shared_secret_derivation.js +1 -1
- package/dest/messaging/l2_to_l1_membership.d.ts +4 -1
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +49 -54
- package/dest/messaging/l2_to_l1_message.d.ts +2 -0
- package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_message.js +7 -0
- package/dest/note/notes_filter.d.ts +5 -2
- package/dest/note/notes_filter.d.ts.map +1 -1
- package/dest/note/notes_filter.js +1 -1
- package/dest/p2p/attestation_utils.d.ts +10 -0
- package/dest/p2p/attestation_utils.d.ts.map +1 -0
- package/dest/p2p/attestation_utils.js +21 -0
- package/dest/p2p/block_attestation.d.ts +3 -4
- package/dest/p2p/block_attestation.d.ts.map +1 -1
- package/dest/p2p/block_attestation.js +3 -4
- package/dest/p2p/block_proposal.d.ts +8 -1
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +21 -8
- package/dest/p2p/consensus_payload.d.ts +3 -11
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +13 -22
- package/dest/p2p/index.d.ts +1 -0
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +1 -0
- package/dest/p2p/topic_type.d.ts.map +1 -1
- package/dest/p2p/topic_type.js +5 -3
- package/dest/rollup/block_root_rollup.d.ts +1 -1
- package/dest/slashing/index.d.ts +51 -0
- package/dest/slashing/index.d.ts.map +1 -0
- package/dest/slashing/index.js +54 -0
- package/dest/stats/stats.d.ts +2 -2
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +0 -2
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +25 -24
- package/dest/tests/mocks.d.ts +2 -0
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +31 -22
- 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 +11 -11
- package/dest/tx/processed_tx.d.ts +2 -2
- package/dest/tx/processed_tx.d.ts.map +1 -1
- package/dest/tx/processed_tx.js +4 -4
- package/dest/tx/proven_tx.d.ts +1 -1
- package/dest/tx/proven_tx.d.ts.map +1 -1
- package/dest/tx/proven_tx.js +7 -3
- package/dest/tx/simulated_tx.d.ts +11 -17
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +12 -12
- package/dest/tx/tx.d.ts +25 -25
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +60 -48
- package/dest/tx/tx_effect.d.ts +2 -2
- package/dest/tx/tx_effect.d.ts.map +1 -1
- package/dest/tx/tx_effect.js +3 -18
- package/dest/tx/tx_execution_request.js +2 -2
- package/dest/tx/tx_hash.d.ts +7 -0
- package/dest/tx/tx_hash.d.ts.map +1 -1
- package/dest/tx/tx_hash.js +19 -1
- package/dest/tx/tx_request.d.ts +5 -5
- package/dest/tx/tx_request.d.ts.map +1 -1
- package/dest/tx/tx_request.js +7 -7
- package/dest/tx/validator/error_texts.d.ts +1 -0
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +1 -0
- package/dest/tx/validator/tx_validator.d.ts +6 -4
- package/dest/tx/validator/tx_validator.d.ts.map +1 -1
- package/dest/tx/validator/tx_validator.js +3 -0
- package/dest/versioning/versioning.d.ts.map +1 -1
- package/dest/vks/verification_key.d.ts.map +1 -1
- package/dest/vks/verification_key.js +4 -4
- package/package.json +10 -9
- package/src/abi/abi.ts +0 -38
- package/src/abi/authorization_selector.ts +95 -0
- package/src/abi/contract_artifact.ts +0 -49
- package/src/abi/decoder.ts +3 -6
- package/src/abi/index.ts +1 -0
- package/src/avm/avm.ts +7 -9
- package/src/block/l2_block.ts +18 -0
- package/src/block/l2_block_source.ts +70 -1
- package/src/block/proposal/committee_attestation.ts +5 -1
- package/src/block/published_l2_block.ts +14 -5
- package/src/contract/contract_instance.ts +3 -3
- package/src/contract/interfaces/protocol_contract_addresses.ts +5 -10
- package/src/contract/private_function_membership_proof.ts +1 -1
- package/src/contract/utility_function_membership_proof.ts +1 -1
- package/src/{shared_mutable/shared_mutable_values.ts → delayed_public_mutable/delayed_public_mutable_values.ts} +10 -10
- package/src/delayed_public_mutable/delayed_public_mutable_values_with_hash.ts +38 -0
- package/src/delayed_public_mutable/index.ts +4 -0
- package/src/gas/gas.ts +4 -0
- package/src/hash/hash.ts +1 -4
- package/src/interfaces/archiver.ts +3 -1
- package/src/interfaces/aztec-node-admin.ts +19 -8
- package/src/interfaces/configs.ts +17 -0
- package/src/interfaces/pxe.ts +4 -2
- package/src/interfaces/server.ts +4 -2
- package/src/interfaces/slasher.ts +49 -0
- package/src/interfaces/tx_provider.ts +16 -0
- package/src/kernel/claimed_length_array.ts +104 -0
- package/src/kernel/hints/build_note_hash_read_request_hints.ts +28 -30
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +28 -59
- package/src/kernel/hints/build_transient_data_hints.ts +12 -14
- package/src/kernel/hints/index.ts +1 -2
- package/src/kernel/hints/note_hash_read_request_hints.ts +4 -16
- package/src/kernel/hints/nullifier_read_request_hints.ts +4 -16
- package/src/kernel/hints/private_kernel_reset_hints.ts +7 -7
- package/src/kernel/hints/read_request_hints.ts +22 -22
- package/src/kernel/hints/{transient_data_index_hint.ts → transient_data_squashing_hint.ts} +5 -5
- package/src/kernel/index.ts +1 -0
- package/src/kernel/private_accumulated_data.ts +23 -23
- package/src/kernel/private_call_data.ts +3 -3
- package/src/kernel/private_circuit_public_inputs.ts +92 -68
- package/src/kernel/private_kernel_circuit_public_inputs.ts +9 -1
- package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +13 -4
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +20 -20
- package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +7 -7
- package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +16 -10
- package/src/kernel/private_validation_requests.ts +19 -50
- package/src/kernel/utils/order_and_comparison.ts +0 -25
- package/src/logs/shared_secret_derivation.ts +1 -1
- package/src/messaging/l2_to_l1_membership.ts +76 -85
- package/src/messaging/l2_to_l1_message.ts +9 -0
- package/src/note/notes_filter.ts +6 -3
- package/src/p2p/attestation_utils.ts +35 -0
- package/src/p2p/block_attestation.ts +3 -4
- package/src/p2p/block_proposal.ts +23 -5
- package/src/p2p/consensus_payload.ts +10 -29
- package/src/p2p/index.ts +1 -0
- package/src/p2p/topic_type.ts +3 -1
- package/src/slashing/index.ts +74 -0
- package/src/stats/stats.ts +2 -2
- package/src/tests/factories.ts +37 -27
- package/src/tests/mocks.ts +24 -22
- package/src/tx/index.ts +0 -1
- package/src/tx/private_execution_result.ts +11 -9
- package/src/tx/processed_tx.ts +6 -6
- package/src/tx/proven_tx.ts +7 -8
- package/src/tx/simulated_tx.ts +13 -19
- package/src/tx/tx.ts +70 -57
- package/src/tx/tx_effect.ts +5 -20
- package/src/tx/tx_execution_request.ts +2 -2
- package/src/tx/tx_hash.ts +21 -1
- package/src/tx/tx_request.ts +7 -6
- package/src/tx/validator/error_texts.ts +1 -0
- package/src/tx/validator/tx_validator.ts +5 -0
- package/src/versioning/versioning.ts +0 -3
- package/src/vks/verification_key.ts +4 -7
- package/dest/interfaces/tx-collector.d.ts +0 -15
- package/dest/interfaces/tx-collector.d.ts.map +0 -1
- package/dest/kernel/hints/rollup_validation_requests.d.ts +0 -34
- package/dest/kernel/hints/rollup_validation_requests.d.ts.map +0 -1
- package/dest/kernel/hints/rollup_validation_requests.js +0 -55
- package/dest/kernel/hints/transient_data_index_hint.d.ts.map +0 -1
- package/dest/shared_mutable/index.d.ts +0 -5
- package/dest/shared_mutable/index.d.ts.map +0 -1
- package/dest/shared_mutable/index.js +0 -4
- package/dest/shared_mutable/scheduled_delay_change.d.ts.map +0 -1
- package/dest/shared_mutable/scheduled_value_change.d.ts.map +0 -1
- package/dest/shared_mutable/shared_mutable_values.d.ts +0 -20
- package/dest/shared_mutable/shared_mutable_values.d.ts.map +0 -1
- package/dest/shared_mutable/shared_mutable_values_with_hash.d.ts.map +0 -1
- package/dest/shared_mutable/shared_mutable_values_with_hash.js +0 -30
- package/dest/tx/include_by_timestamp.d.ts +0 -54
- package/dest/tx/include_by_timestamp.d.ts.map +0 -1
- package/dest/tx/include_by_timestamp.js +0 -72
- package/src/interfaces/tx-collector.ts +0 -17
- package/src/kernel/hints/rollup_validation_requests.ts +0 -71
- package/src/shared_mutable/index.ts +0 -4
- package/src/shared_mutable/shared_mutable_values_with_hash.ts +0 -38
- package/src/tx/include_by_timestamp.ts +0 -90
- /package/dest/{shared_mutable → delayed_public_mutable}/scheduled_delay_change.d.ts +0 -0
- /package/dest/{shared_mutable → delayed_public_mutable}/scheduled_delay_change.js +0 -0
- /package/dest/{shared_mutable → delayed_public_mutable}/scheduled_value_change.d.ts +0 -0
- /package/dest/{shared_mutable → delayed_public_mutable}/scheduled_value_change.js +0 -0
- /package/dest/interfaces/{tx-collector.js → tx_provider.js} +0 -0
- /package/src/{shared_mutable → delayed_public_mutable}/scheduled_delay_change.ts +0 -0
- /package/src/{shared_mutable → delayed_public_mutable}/scheduled_value_change.ts +0 -0
package/src/tests/factories.ts
CHANGED
|
@@ -45,11 +45,11 @@ import {
|
|
|
45
45
|
VK_TREE_HEIGHT,
|
|
46
46
|
} from '@aztec/constants';
|
|
47
47
|
import { type FieldsOf, makeHalfFullTuple, makeTuple } from '@aztec/foundation/array';
|
|
48
|
-
import { compact } from '@aztec/foundation/collection';
|
|
48
|
+
import { compact, padArrayEnd } from '@aztec/foundation/collection';
|
|
49
49
|
import { SchnorrSignature, poseidon2HashWithSeparator, sha256 } from '@aztec/foundation/crypto';
|
|
50
50
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
51
51
|
import { BLS12Point, Fr, GrumpkinScalar, Point } from '@aztec/foundation/fields';
|
|
52
|
-
import type { Bufferable } from '@aztec/foundation/serialize';
|
|
52
|
+
import type { Bufferable, Serializable, Tuple } from '@aztec/foundation/serialize';
|
|
53
53
|
import { MembershipWitness } from '@aztec/foundation/trees';
|
|
54
54
|
|
|
55
55
|
import { FunctionSelector } from '../abi/function_selector.js';
|
|
@@ -99,8 +99,8 @@ import type { MerkleTreeReadOperations } from '../interfaces/merkle_tree_operati
|
|
|
99
99
|
import { KeyValidationRequest } from '../kernel/hints/key_validation_request.js';
|
|
100
100
|
import { KeyValidationRequestAndGenerator } from '../kernel/hints/key_validation_request_and_generator.js';
|
|
101
101
|
import { ReadRequest } from '../kernel/hints/read_request.js';
|
|
102
|
-
import { RollupValidationRequests } from '../kernel/hints/rollup_validation_requests.js';
|
|
103
102
|
import {
|
|
103
|
+
ClaimedLengthArray,
|
|
104
104
|
PartialPrivateTailPublicInputsForPublic,
|
|
105
105
|
PartialPrivateTailPublicInputsForRollup,
|
|
106
106
|
PrivateKernelTailCircuitPublicInputs,
|
|
@@ -109,7 +109,6 @@ import {
|
|
|
109
109
|
PrivateToPublicAccumulatedData,
|
|
110
110
|
PrivateToPublicKernelCircuitPublicInputs,
|
|
111
111
|
PrivateToRollupAccumulatedData,
|
|
112
|
-
mergeAccumulatedData,
|
|
113
112
|
} from '../kernel/index.js';
|
|
114
113
|
import { CountedLogHash, LogHash, ScopedLogHash } from '../kernel/log_hash.js';
|
|
115
114
|
import { NoteHash } from '../kernel/note_hash.js';
|
|
@@ -167,7 +166,6 @@ import { CallContext } from '../tx/call_context.js';
|
|
|
167
166
|
import { ContentCommitment } from '../tx/content_commitment.js';
|
|
168
167
|
import { FunctionData } from '../tx/function_data.js';
|
|
169
168
|
import { GlobalVariables } from '../tx/global_variables.js';
|
|
170
|
-
import { IncludeByTimestamp } from '../tx/include_by_timestamp.js';
|
|
171
169
|
import { PartialStateReference } from '../tx/partial_state_reference.js';
|
|
172
170
|
import { makeProcessedTxFromPrivateOnlyTx, makeProcessedTxFromTxWithPublicCalls } from '../tx/processed_tx.js';
|
|
173
171
|
import { PublicCallRequestWithCalldata } from '../tx/public_call_request_with_calldata.js';
|
|
@@ -309,10 +307,6 @@ export function makeContractStorageRead(seed = 1): ContractStorageRead {
|
|
|
309
307
|
return new ContractStorageRead(fr(seed), fr(seed + 1), seed + 2);
|
|
310
308
|
}
|
|
311
309
|
|
|
312
|
-
export function makeRollupValidationRequests(seed = 1) {
|
|
313
|
-
return new RollupValidationRequests(new IncludeByTimestamp(true, BigInt(seed + 0x31415)));
|
|
314
|
-
}
|
|
315
|
-
|
|
316
310
|
function makeTxConstantData(seed = 1) {
|
|
317
311
|
return new TxConstantData(makeHeader(seed), makeTxContext(seed + 0x100), new Fr(seed + 0x200), new Fr(seed + 0x201));
|
|
318
312
|
}
|
|
@@ -411,9 +405,9 @@ export function makePrivateKernelTailCircuitPublicInputs(
|
|
|
411
405
|
: undefined;
|
|
412
406
|
return new PrivateKernelTailCircuitPublicInputs(
|
|
413
407
|
makeTxConstantData(seed + 0x300),
|
|
414
|
-
makeRollupValidationRequests(seed + 0x500),
|
|
415
408
|
makeGas(seed + 0x600),
|
|
416
409
|
makeAztecAddress(seed + 0x700),
|
|
410
|
+
BigInt(seed + 0x800),
|
|
417
411
|
forPublic,
|
|
418
412
|
forRollup,
|
|
419
413
|
);
|
|
@@ -422,12 +416,12 @@ export function makePrivateKernelTailCircuitPublicInputs(
|
|
|
422
416
|
function makePrivateToPublicKernelCircuitPublicInputs(seed = 1) {
|
|
423
417
|
return new PrivateToPublicKernelCircuitPublicInputs(
|
|
424
418
|
makeTxConstantData(seed),
|
|
425
|
-
makeRollupValidationRequests(seed + 0x100),
|
|
426
419
|
makePrivateToPublicAccumulatedData(seed + 0x200),
|
|
427
420
|
makePrivateToPublicAccumulatedData(seed + 0x300),
|
|
428
421
|
makePublicCallRequest(seed + 0x400),
|
|
429
422
|
makeGas(seed + 0x500),
|
|
430
423
|
makeAztecAddress(seed + 0x600),
|
|
424
|
+
BigInt(seed + 0x700),
|
|
431
425
|
);
|
|
432
426
|
}
|
|
433
427
|
|
|
@@ -442,10 +436,10 @@ export function makePrivateToRollupKernelCircuitPublicInputs(
|
|
|
442
436
|
): PrivateToRollupKernelCircuitPublicInputs {
|
|
443
437
|
return new PrivateToRollupKernelCircuitPublicInputs(
|
|
444
438
|
makeTxConstantData(seed + 0x100),
|
|
445
|
-
makeRollupValidationRequests(seed),
|
|
446
439
|
makePrivateToRollupAccumulatedData(seed, fullAccumulatedData),
|
|
447
440
|
makeGas(seed + 0x600),
|
|
448
441
|
makeAztecAddress(seed + 0x700),
|
|
442
|
+
BigInt(seed + 0x800),
|
|
449
443
|
);
|
|
450
444
|
}
|
|
451
445
|
|
|
@@ -562,6 +556,15 @@ export function makeTxRequest(seed = 1): TxRequest {
|
|
|
562
556
|
});
|
|
563
557
|
}
|
|
564
558
|
|
|
559
|
+
function makeClaimedLengthArray<T extends Serializable, N extends number>(
|
|
560
|
+
arraySize: N,
|
|
561
|
+
makeItem: (seed: number) => T,
|
|
562
|
+
seed: number,
|
|
563
|
+
length = arraySize,
|
|
564
|
+
): ClaimedLengthArray<T, N> {
|
|
565
|
+
return new ClaimedLengthArray(makeTuple(arraySize, makeItem, seed) as Tuple<T, N>, length);
|
|
566
|
+
}
|
|
567
|
+
|
|
565
568
|
/**
|
|
566
569
|
* Makes arbitrary private circuit public inputs.
|
|
567
570
|
* @param seed - The seed to use for generating the private circuit public inputs.
|
|
@@ -569,26 +572,30 @@ export function makeTxRequest(seed = 1): TxRequest {
|
|
|
569
572
|
*/
|
|
570
573
|
export function makePrivateCircuitPublicInputs(seed = 0): PrivateCircuitPublicInputs {
|
|
571
574
|
return PrivateCircuitPublicInputs.from({
|
|
572
|
-
includeByTimestamp:
|
|
575
|
+
includeByTimestamp: BigInt(seed + 0x31415),
|
|
573
576
|
callContext: makeCallContext(seed, { isStaticCall: true }),
|
|
574
577
|
argsHash: fr(seed + 0x100),
|
|
575
578
|
returnsHash: fr(seed + 0x200),
|
|
576
579
|
minRevertibleSideEffectCounter: fr(0),
|
|
577
|
-
noteHashReadRequests:
|
|
578
|
-
nullifierReadRequests:
|
|
579
|
-
keyValidationRequestsAndGenerators:
|
|
580
|
+
noteHashReadRequests: makeClaimedLengthArray(MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, makeReadRequest, seed + 0x300),
|
|
581
|
+
nullifierReadRequests: makeClaimedLengthArray(MAX_NULLIFIER_READ_REQUESTS_PER_CALL, makeReadRequest, seed + 0x310),
|
|
582
|
+
keyValidationRequestsAndGenerators: makeClaimedLengthArray(
|
|
580
583
|
MAX_KEY_VALIDATION_REQUESTS_PER_CALL,
|
|
581
584
|
makeKeyValidationRequestAndGenerators,
|
|
582
585
|
seed + 0x320,
|
|
583
586
|
),
|
|
584
|
-
noteHashes:
|
|
585
|
-
nullifiers:
|
|
586
|
-
privateCallRequests:
|
|
587
|
-
|
|
587
|
+
noteHashes: makeClaimedLengthArray(MAX_NOTE_HASHES_PER_CALL, makeNoteHash, seed + 0x400),
|
|
588
|
+
nullifiers: makeClaimedLengthArray(MAX_NULLIFIERS_PER_CALL, makeNullifier, seed + 0x500),
|
|
589
|
+
privateCallRequests: makeClaimedLengthArray(
|
|
590
|
+
MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,
|
|
591
|
+
makePrivateCallRequest,
|
|
592
|
+
seed + 0x600,
|
|
593
|
+
),
|
|
594
|
+
publicCallRequests: makeClaimedLengthArray(MAX_ENQUEUED_CALLS_PER_CALL, makeCountedPublicCallRequest, seed + 0x700),
|
|
588
595
|
publicTeardownCallRequest: makePublicCallRequest(seed + 0x800),
|
|
589
|
-
l2ToL1Msgs:
|
|
590
|
-
privateLogs:
|
|
591
|
-
contractClassLogsHashes:
|
|
596
|
+
l2ToL1Msgs: makeClaimedLengthArray(MAX_L2_TO_L1_MSGS_PER_CALL, makeCountedL2ToL1Message, seed + 0x800),
|
|
597
|
+
privateLogs: makeClaimedLengthArray(MAX_PRIVATE_LOGS_PER_CALL, makePrivateLogData, seed + 0x875),
|
|
598
|
+
contractClassLogsHashes: makeClaimedLengthArray(MAX_CONTRACT_CLASS_LOGS_PER_TX, makeCountedLogHash, seed + 0xa00),
|
|
592
599
|
startSideEffectCounter: fr(seed + 0x849),
|
|
593
600
|
endSideEffectCounter: fr(seed + 0x850),
|
|
594
601
|
historicalHeader: makeHeader(seed + 0xd00, undefined),
|
|
@@ -1475,7 +1482,6 @@ export async function makePublicCallRequestWithCalldata(seed = 0): Promise<Publi
|
|
|
1475
1482
|
export async function makeAvmTxHint(seed = 0): Promise<AvmTxHint> {
|
|
1476
1483
|
return new AvmTxHint(
|
|
1477
1484
|
`txhash-${seed}`,
|
|
1478
|
-
makeGlobalVariables(seed),
|
|
1479
1485
|
makeGasSettings(),
|
|
1480
1486
|
makeGasFees(seed + 0x1000),
|
|
1481
1487
|
{
|
|
@@ -1510,6 +1516,7 @@ export async function makeAvmExecutionHints(
|
|
|
1510
1516
|
const baseLength = lengthOffset + (seed % lengthSeedMod);
|
|
1511
1517
|
|
|
1512
1518
|
const fields = {
|
|
1519
|
+
globalVariables: makeGlobalVariables(seed + 0x4000),
|
|
1513
1520
|
tx: await makeAvmTxHint(seed + 0x4100),
|
|
1514
1521
|
contractInstances: makeArray(baseLength + 2, makeAvmContractInstanceHint, seed + 0x4700),
|
|
1515
1522
|
contractClasses: makeArray(baseLength + 5, makeAvmContractClassHint, seed + 0x4900),
|
|
@@ -1542,6 +1549,7 @@ export async function makeAvmExecutionHints(
|
|
|
1542
1549
|
};
|
|
1543
1550
|
|
|
1544
1551
|
return new AvmExecutionHints(
|
|
1552
|
+
fields.globalVariables,
|
|
1545
1553
|
fields.tx,
|
|
1546
1554
|
fields.contractInstances,
|
|
1547
1555
|
fields.contractClasses,
|
|
@@ -1650,6 +1658,7 @@ export async function makeBloatedProcessedTx({
|
|
|
1650
1658
|
|
|
1651
1659
|
tx.data.forRollup!.end = data;
|
|
1652
1660
|
|
|
1661
|
+
await tx.recomputeHash();
|
|
1653
1662
|
return makeProcessedTxFromPrivateOnlyTx(tx, transactionFee, feePaymentPublicDataWrite, globalVariables);
|
|
1654
1663
|
} else {
|
|
1655
1664
|
const dataFromPrivate = tx.data.forPublic!;
|
|
@@ -1693,9 +1702,9 @@ export async function makeBloatedProcessedTx({
|
|
|
1693
1702
|
avmOutput.previousRevertibleAccumulatedData.getArrayLengths();
|
|
1694
1703
|
// Assign final data emitted from avm.
|
|
1695
1704
|
avmOutput.accumulatedData.noteHashes = revertibleData.noteHashes;
|
|
1696
|
-
avmOutput.accumulatedData.nullifiers =
|
|
1697
|
-
nonRevertibleData.nullifiers,
|
|
1698
|
-
|
|
1705
|
+
avmOutput.accumulatedData.nullifiers = padArrayEnd(
|
|
1706
|
+
nonRevertibleData.nullifiers.concat(revertibleData.nullifiers).filter(n => !n.isEmpty()),
|
|
1707
|
+
Fr.ZERO,
|
|
1699
1708
|
MAX_NULLIFIERS_PER_TX,
|
|
1700
1709
|
);
|
|
1701
1710
|
avmOutput.accumulatedData.l2ToL1Msgs = revertibleData.l2ToL1Msgs;
|
|
@@ -1715,6 +1724,7 @@ export async function makeBloatedProcessedTx({
|
|
|
1715
1724
|
billedGas: Gas.empty(),
|
|
1716
1725
|
} satisfies GasUsed;
|
|
1717
1726
|
|
|
1727
|
+
await tx.recomputeHash();
|
|
1718
1728
|
return makeProcessedTxFromTxWithPublicCalls(
|
|
1719
1729
|
tx,
|
|
1720
1730
|
{
|
package/src/tests/mocks.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MAX_ENQUEUED_CALLS_PER_TX } from '@aztec/constants';
|
|
1
|
+
import { MAX_ENQUEUED_CALLS_PER_TX, MAX_INCLUDE_BY_TIMESTAMP_DURATION } from '@aztec/constants';
|
|
2
2
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
3
3
|
import { times } from '@aztec/foundation/collection';
|
|
4
4
|
import { Secp256k1Signer, randomBytes } from '@aztec/foundation/crypto';
|
|
@@ -126,6 +126,9 @@ export const mockTx = async (
|
|
|
126
126
|
data.constants.vkTreeRoot = vkTreeRoot;
|
|
127
127
|
data.constants.protocolContractTreeRoot = protocolContractTreeRoot;
|
|
128
128
|
|
|
129
|
+
// Set includeByTimestamp to the maximum allowed duration from the current time.
|
|
130
|
+
data.includeByTimestamp = BigInt(Math.floor(Date.now() / 1000) + MAX_INCLUDE_BY_TIMESTAMP_DURATION);
|
|
131
|
+
|
|
129
132
|
const publicFunctionCalldata: HashedValues[] = [];
|
|
130
133
|
if (!isForPublic) {
|
|
131
134
|
data.forRollup!.end.nullifiers[0] = firstNullifier.value;
|
|
@@ -163,7 +166,12 @@ export const mockTx = async (
|
|
|
163
166
|
.build();
|
|
164
167
|
}
|
|
165
168
|
|
|
166
|
-
return
|
|
169
|
+
return await Tx.create({
|
|
170
|
+
data,
|
|
171
|
+
clientIvcProof,
|
|
172
|
+
contractClassLogFields: [],
|
|
173
|
+
publicFunctionCalldata,
|
|
174
|
+
});
|
|
167
175
|
};
|
|
168
176
|
|
|
169
177
|
export const mockTxForRollup = (seed = 1, opts: Parameters<typeof mockTx>[1] = {}) =>
|
|
@@ -214,7 +222,6 @@ export const randomContractArtifact = (): ContractArtifact => ({
|
|
|
214
222
|
},
|
|
215
223
|
fileMap: {},
|
|
216
224
|
storageLayout: {},
|
|
217
|
-
notes: {},
|
|
218
225
|
});
|
|
219
226
|
|
|
220
227
|
export const randomContractInstanceWithAddress = async (
|
|
@@ -252,18 +259,12 @@ const makeAndSignConsensusPayload = (
|
|
|
252
259
|
options?: MakeConsensusPayloadOptions,
|
|
253
260
|
) => {
|
|
254
261
|
const header = options?.header ?? makeHeader(1);
|
|
255
|
-
const {
|
|
256
|
-
signer = Secp256k1Signer.random(),
|
|
257
|
-
archive = Fr.random(),
|
|
258
|
-
stateReference = header.state,
|
|
259
|
-
txHashes = [0, 1, 2, 3, 4, 5].map(() => TxHash.random()),
|
|
260
|
-
} = options ?? {};
|
|
262
|
+
const { signer = Secp256k1Signer.random(), archive = Fr.random(), stateReference = header.state } = options ?? {};
|
|
261
263
|
|
|
262
264
|
const payload = ConsensusPayload.fromFields({
|
|
263
265
|
header: header.toPropose(),
|
|
264
266
|
archive,
|
|
265
267
|
stateReference,
|
|
266
|
-
txHashes,
|
|
267
268
|
});
|
|
268
269
|
|
|
269
270
|
const hash = getHashedSignaturePayloadEthSignedMessage(payload, domainSeparator);
|
|
@@ -277,7 +278,8 @@ export const makeBlockProposal = (options?: MakeConsensusPayloadOptions): BlockP
|
|
|
277
278
|
SignatureDomainSeparator.blockProposal,
|
|
278
279
|
options,
|
|
279
280
|
);
|
|
280
|
-
|
|
281
|
+
const txHashes = options?.txHashes ?? [0, 1, 2, 3, 4, 5].map(() => TxHash.random());
|
|
282
|
+
return new BlockProposal(blockNumber, payload, signature, txHashes, options?.txs ?? []);
|
|
281
283
|
};
|
|
282
284
|
|
|
283
285
|
// TODO(https://github.com/AztecProtocol/aztec-packages/issues/8028)
|
|
@@ -289,6 +291,16 @@ export const makeBlockAttestation = (options?: MakeConsensusPayloadOptions): Blo
|
|
|
289
291
|
return new BlockAttestation(blockNumber, payload, signature);
|
|
290
292
|
};
|
|
291
293
|
|
|
294
|
+
export const makeBlockAttestationFromBlock = (block: L2Block, signer?: Secp256k1Signer): BlockAttestation => {
|
|
295
|
+
return makeBlockAttestation({
|
|
296
|
+
signer,
|
|
297
|
+
header: block.header,
|
|
298
|
+
archive: block.archive.root,
|
|
299
|
+
stateReference: block.header.state,
|
|
300
|
+
txHashes: block.body.txEffects.map(tx => tx.txHash),
|
|
301
|
+
});
|
|
302
|
+
};
|
|
303
|
+
|
|
292
304
|
export async function randomPublishedL2Block(
|
|
293
305
|
l2BlockNumber: number,
|
|
294
306
|
opts: { signers?: Secp256k1Signer[] } = {},
|
|
@@ -301,17 +313,7 @@ export async function randomPublishedL2Block(
|
|
|
301
313
|
};
|
|
302
314
|
|
|
303
315
|
const signers = opts.signers ?? times(3, () => Secp256k1Signer.random());
|
|
304
|
-
const atts = await Promise.all(
|
|
305
|
-
signers.map(signer =>
|
|
306
|
-
makeBlockAttestation({
|
|
307
|
-
signer,
|
|
308
|
-
header: block.header,
|
|
309
|
-
archive: block.archive.root,
|
|
310
|
-
stateReference: block.header.state,
|
|
311
|
-
txHashes: block.body.txEffects.map(tx => tx.txHash),
|
|
312
|
-
}),
|
|
313
|
-
),
|
|
314
|
-
);
|
|
316
|
+
const atts = await Promise.all(signers.map(signer => makeBlockAttestationFromBlock(block, signer)));
|
|
315
317
|
const attestations = atts.map(
|
|
316
318
|
(attestation, i) => new CommitteeAttestation(signers[i].address, attestation.signature),
|
|
317
319
|
);
|
package/src/tx/index.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export * from './block_header.js';
|
|
2
2
|
export * from './call_context.js';
|
|
3
3
|
export * from './global_variables.js';
|
|
4
|
-
export * from './include_by_timestamp.js';
|
|
5
4
|
export * from './content_commitment.js';
|
|
6
5
|
export * from './state_reference.js';
|
|
7
6
|
export * from './partial_state_reference.js';
|
|
@@ -136,7 +136,7 @@ export class PrivateCallExecutionResult {
|
|
|
136
136
|
/** The offchain effects emitted during execution of this function call via the `emit_offchain_effect` oracle. */
|
|
137
137
|
public offchainEffects: { data: Fr[] }[],
|
|
138
138
|
/** The nested executions. */
|
|
139
|
-
public
|
|
139
|
+
public nestedExecutionResults: PrivateCallExecutionResult[],
|
|
140
140
|
/**
|
|
141
141
|
* Contract class logs emitted during execution of this function call.
|
|
142
142
|
* Note: We only need to collect the ContractClassLogFields as preimages for the tx.
|
|
@@ -158,7 +158,7 @@ export class PrivateCallExecutionResult {
|
|
|
158
158
|
noteHashNullifierCounterMap: mapSchema(z.coerce.number(), z.number()),
|
|
159
159
|
returnValues: z.array(schemas.Fr),
|
|
160
160
|
offchainEffects: z.array(z.object({ data: z.array(schemas.Fr) })),
|
|
161
|
-
|
|
161
|
+
nestedExecutionResults: z.array(z.lazy(() => PrivateCallExecutionResult.schema)),
|
|
162
162
|
contractClassLogs: z.array(CountedContractClassLog.schema),
|
|
163
163
|
})
|
|
164
164
|
.transform(PrivateCallExecutionResult.from);
|
|
@@ -175,7 +175,7 @@ export class PrivateCallExecutionResult {
|
|
|
175
175
|
fields.noteHashNullifierCounterMap,
|
|
176
176
|
fields.returnValues,
|
|
177
177
|
fields.offchainEffects,
|
|
178
|
-
fields.
|
|
178
|
+
fields.nestedExecutionResults,
|
|
179
179
|
fields.contractClassLogs,
|
|
180
180
|
);
|
|
181
181
|
}
|
|
@@ -205,7 +205,7 @@ export function collectNoteHashLeafIndexMap(execResult: PrivateExecutionResult)
|
|
|
205
205
|
const accum: Map<bigint, bigint> = new Map();
|
|
206
206
|
const collectNoteHashLeafIndexMapRecursive = (callResult: PrivateCallExecutionResult, accum: Map<bigint, bigint>) => {
|
|
207
207
|
callResult.noteHashLeafIndexMap.forEach((value, key) => accum.set(key, value));
|
|
208
|
-
callResult.
|
|
208
|
+
callResult.nestedExecutionResults.forEach(nested => collectNoteHashLeafIndexMapRecursive(nested, accum));
|
|
209
209
|
};
|
|
210
210
|
collectNoteHashLeafIndexMapRecursive(execResult.entrypoint, accum);
|
|
211
211
|
return accum;
|
|
@@ -218,7 +218,7 @@ export function collectNoteHashNullifierCounterMap(execResult: PrivateExecutionR
|
|
|
218
218
|
accum: Map<number, number>,
|
|
219
219
|
) => {
|
|
220
220
|
callResult.noteHashNullifierCounterMap.forEach((value, key) => accum.set(key, value));
|
|
221
|
-
callResult.
|
|
221
|
+
callResult.nestedExecutionResults.forEach(nested => collectNoteHashNullifierCounterMapRecursive(nested, accum));
|
|
222
222
|
};
|
|
223
223
|
collectNoteHashNullifierCounterMapRecursive(execResult.entrypoint, accum);
|
|
224
224
|
return accum;
|
|
@@ -230,7 +230,7 @@ export function collectNoteHashNullifierCounterMap(execResult: PrivateExecutionR
|
|
|
230
230
|
* @returns All contract class logs.
|
|
231
231
|
*/
|
|
232
232
|
function collectContractClassLogs(execResult: PrivateCallExecutionResult): CountedContractClassLog[] {
|
|
233
|
-
return [execResult.contractClassLogs, ...execResult.
|
|
233
|
+
return [execResult.contractClassLogs, ...execResult.nestedExecutionResults.flatMap(collectContractClassLogs)].flat();
|
|
234
234
|
}
|
|
235
235
|
|
|
236
236
|
/**
|
|
@@ -256,7 +256,7 @@ export function collectOffchainEffects(execResult: PrivateExecutionResult): Offc
|
|
|
256
256
|
...msg,
|
|
257
257
|
contractAddress: callResult.publicInputs.callContext.contractAddress, // contract that emitted the effect
|
|
258
258
|
})),
|
|
259
|
-
...callResult.
|
|
259
|
+
...callResult.nestedExecutionResults.flatMap(nested => collectEffectsRecursive(nested)),
|
|
260
260
|
];
|
|
261
261
|
};
|
|
262
262
|
return collectEffectsRecursive(execResult.entrypoint);
|
|
@@ -264,7 +264,7 @@ export function collectOffchainEffects(execResult: PrivateExecutionResult): Offc
|
|
|
264
264
|
|
|
265
265
|
export function getFinalMinRevertibleSideEffectCounter(execResult: PrivateExecutionResult): number {
|
|
266
266
|
const collectFinalMinRevertibleSideEffectCounterRecursive = (callResult: PrivateCallExecutionResult): number => {
|
|
267
|
-
return callResult.
|
|
267
|
+
return callResult.nestedExecutionResults.reduce((counter, exec) => {
|
|
268
268
|
const nestedCounter = collectFinalMinRevertibleSideEffectCounterRecursive(exec);
|
|
269
269
|
return nestedCounter ? nestedCounter : counter;
|
|
270
270
|
}, callResult.publicInputs.minRevertibleSideEffectCounter.toNumber());
|
|
@@ -279,7 +279,9 @@ export function collectNested<T>(
|
|
|
279
279
|
const thisExecutionReads = executionStack.flatMap(extractExecutionItems);
|
|
280
280
|
|
|
281
281
|
return thisExecutionReads.concat(
|
|
282
|
-
executionStack.flatMap(({
|
|
282
|
+
executionStack.flatMap(({ nestedExecutionResults }) =>
|
|
283
|
+
collectNested(nestedExecutionResults, extractExecutionItems),
|
|
284
|
+
),
|
|
283
285
|
);
|
|
284
286
|
}
|
|
285
287
|
|
package/src/tx/processed_tx.ts
CHANGED
|
@@ -77,16 +77,16 @@ export type FailedTx = {
|
|
|
77
77
|
error: Error;
|
|
78
78
|
};
|
|
79
79
|
|
|
80
|
-
export
|
|
80
|
+
export function makeProcessedTxFromPrivateOnlyTx(
|
|
81
81
|
tx: Tx,
|
|
82
82
|
transactionFee: Fr,
|
|
83
83
|
feePaymentPublicDataWrite: PublicDataWrite,
|
|
84
84
|
globalVariables: GlobalVariables,
|
|
85
|
-
):
|
|
85
|
+
): ProcessedTx {
|
|
86
86
|
const data = tx.data.forRollup!;
|
|
87
87
|
const txEffect = new TxEffect(
|
|
88
88
|
RevertCode.OK,
|
|
89
|
-
|
|
89
|
+
tx.getTxHash(),
|
|
90
90
|
transactionFee,
|
|
91
91
|
data.end.noteHashes.filter(h => !h.isZero()),
|
|
92
92
|
data.end.nullifiers.filter(h => !h.isZero()),
|
|
@@ -134,13 +134,13 @@ export function toNumBlobFields(txs: ProcessedTx[]): number {
|
|
|
134
134
|
}, 0);
|
|
135
135
|
}
|
|
136
136
|
|
|
137
|
-
export
|
|
137
|
+
export function makeProcessedTxFromTxWithPublicCalls(
|
|
138
138
|
tx: Tx,
|
|
139
139
|
avmProvingRequest: AvmProvingRequest,
|
|
140
140
|
gasUsed: GasUsed,
|
|
141
141
|
revertCode: RevertCode,
|
|
142
142
|
revertReason: SimulationError | undefined,
|
|
143
|
-
):
|
|
143
|
+
): ProcessedTx {
|
|
144
144
|
const avmPublicInputs = avmProvingRequest.inputs.publicInputs;
|
|
145
145
|
|
|
146
146
|
const globalVariables = avmPublicInputs.globalVariables;
|
|
@@ -158,7 +158,7 @@ export async function makeProcessedTxFromTxWithPublicCalls(
|
|
|
158
158
|
|
|
159
159
|
const txEffect = new TxEffect(
|
|
160
160
|
revertCode,
|
|
161
|
-
|
|
161
|
+
tx.getTxHash(),
|
|
162
162
|
avmPublicInputs.transactionFee,
|
|
163
163
|
avmPublicInputs.accumulatedData.noteHashes.filter(h => !h.isZero()),
|
|
164
164
|
avmPublicInputs.accumulatedData.nullifiers.filter(h => !h.isZero()),
|
package/src/tx/proven_tx.ts
CHANGED
|
@@ -22,16 +22,15 @@ export class TxProvingResult {
|
|
|
22
22
|
public stats?: ProvingStats,
|
|
23
23
|
) {}
|
|
24
24
|
|
|
25
|
-
toTx(): Tx {
|
|
25
|
+
async toTx(): Promise<Tx> {
|
|
26
26
|
const contractClassLogs = collectSortedContractClassLogs(this.privateExecutionResult);
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
this.publicInputs,
|
|
30
|
-
this.clientIvcProof,
|
|
31
|
-
contractClassLogs,
|
|
32
|
-
this.privateExecutionResult.publicFunctionCalldata,
|
|
33
|
-
);
|
|
34
|
-
return tx;
|
|
28
|
+
return await Tx.create({
|
|
29
|
+
data: this.publicInputs,
|
|
30
|
+
clientIvcProof: this.clientIvcProof,
|
|
31
|
+
contractClassLogFields: contractClassLogs,
|
|
32
|
+
publicFunctionCalldata: this.privateExecutionResult.publicFunctionCalldata,
|
|
33
|
+
});
|
|
35
34
|
}
|
|
36
35
|
|
|
37
36
|
getOffchainEffects(): OffchainEffect[] {
|
package/src/tx/simulated_tx.ts
CHANGED
|
@@ -4,7 +4,6 @@ import type { FieldsOf } from '@aztec/foundation/types';
|
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
|
|
6
6
|
import { type ContractArtifact, ContractArtifactSchema } from '../abi/abi.js';
|
|
7
|
-
import { AztecAddress } from '../aztec-address/index.js';
|
|
8
7
|
import {
|
|
9
8
|
type ContractInstanceWithAddress,
|
|
10
9
|
ContractInstanceWithAddressSchema,
|
|
@@ -37,10 +36,7 @@ export type ContractOverrides = Record<
|
|
|
37
36
|
* set, it *must* be run without the kernel circuits, or validations will fail
|
|
38
37
|
*/
|
|
39
38
|
export class SimulationOverrides {
|
|
40
|
-
constructor(
|
|
41
|
-
public contracts?: ContractOverrides,
|
|
42
|
-
public msgSender?: AztecAddress,
|
|
43
|
-
) {}
|
|
39
|
+
constructor(public contracts?: ContractOverrides) {}
|
|
44
40
|
|
|
45
41
|
static get schema() {
|
|
46
42
|
return z
|
|
@@ -51,10 +47,9 @@ export class SimulationOverrides {
|
|
|
51
47
|
z.object({ instance: ContractInstanceWithAddressSchema, artifact: ContractArtifactSchema }),
|
|
52
48
|
),
|
|
53
49
|
),
|
|
54
|
-
msgSender: optional(AztecAddress.schema),
|
|
55
50
|
})
|
|
56
|
-
.transform(({ contracts
|
|
57
|
-
return new SimulationOverrides(contracts
|
|
51
|
+
.transform(({ contracts }) => {
|
|
52
|
+
return new SimulationOverrides(contracts);
|
|
58
53
|
});
|
|
59
54
|
}
|
|
60
55
|
}
|
|
@@ -69,16 +64,15 @@ export class PrivateSimulationResult {
|
|
|
69
64
|
return accumulatePrivateReturnValues(this.privateExecutionResult);
|
|
70
65
|
}
|
|
71
66
|
|
|
72
|
-
toSimulatedTx(): Tx {
|
|
67
|
+
async toSimulatedTx(): Promise<Tx> {
|
|
73
68
|
const contractClassLogs = collectSortedContractClassLogs(this.privateExecutionResult);
|
|
74
69
|
|
|
75
|
-
|
|
76
|
-
this.publicInputs,
|
|
77
|
-
ClientIvcProof.empty(),
|
|
78
|
-
contractClassLogs,
|
|
79
|
-
this.privateExecutionResult.publicFunctionCalldata,
|
|
80
|
-
);
|
|
81
|
-
return tx;
|
|
70
|
+
return await Tx.create({
|
|
71
|
+
data: this.publicInputs,
|
|
72
|
+
clientIvcProof: ClientIvcProof.empty(),
|
|
73
|
+
contractClassLogFields: contractClassLogs,
|
|
74
|
+
publicFunctionCalldata: this.privateExecutionResult.publicFunctionCalldata,
|
|
75
|
+
});
|
|
82
76
|
}
|
|
83
77
|
}
|
|
84
78
|
|
|
@@ -146,7 +140,7 @@ export class TxSimulationResult {
|
|
|
146
140
|
return new PrivateSimulationResult(this.privateExecutionResult, this.publicInputs).getPrivateReturnValues();
|
|
147
141
|
}
|
|
148
142
|
|
|
149
|
-
toSimulatedTx(): Tx {
|
|
143
|
+
toSimulatedTx(): Promise<Tx> {
|
|
150
144
|
return new PrivateSimulationResult(this.privateExecutionResult, this.publicInputs).toSimulatedTx();
|
|
151
145
|
}
|
|
152
146
|
|
|
@@ -166,8 +160,8 @@ export function accumulatePrivateReturnValues(executionResult: PrivateExecutionR
|
|
|
166
160
|
executionResult: PrivateCallExecutionResult,
|
|
167
161
|
): NestedProcessReturnValues => {
|
|
168
162
|
const acc = new NestedProcessReturnValues(executionResult.returnValues);
|
|
169
|
-
acc.nested = executionResult.
|
|
170
|
-
collectPrivateReturnValuesRecursive(
|
|
163
|
+
acc.nested = executionResult.nestedExecutionResults.map(nestedExecutionResult =>
|
|
164
|
+
collectPrivateReturnValuesRecursive(nestedExecutionResult),
|
|
171
165
|
);
|
|
172
166
|
return acc;
|
|
173
167
|
};
|