@aztec/stdlib 0.87.3-nightly.20250529 → 0.87.4
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 -3
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +0 -38
- package/dest/avm/avm.d.ts +12 -696
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +8 -16
- package/dest/avm/avm_accumulated_data.d.ts +0 -77
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_accumulated_data.js +0 -67
- package/dest/avm/avm_circuit_public_inputs.d.ts +3 -73
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.js +9 -19
- package/dest/avm/avm_proving_request.d.ts +0 -366
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/block/body.d.ts +1 -1
- package/dest/block/body.d.ts.map +1 -1
- package/dest/block/body.js +2 -2
- package/dest/block/index.d.ts +0 -1
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +0 -1
- package/dest/block/l2_block.d.ts +2 -3
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +5 -10
- package/dest/block/l2_block_source.d.ts +4 -9
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +0 -1
- package/dest/block/published_l2_block.d.ts +69 -99
- package/dest/block/published_l2_block.d.ts.map +1 -1
- package/dest/block/published_l2_block.js +12 -38
- package/dest/block/test/l2_tips_store_test_suite.js +1 -1
- package/dest/interfaces/archiver.js +2 -2
- package/dest/interfaces/aztec-node.js +2 -2
- package/dest/interfaces/p2p.d.ts +2 -5
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +2 -1
- package/dest/interfaces/proving-job.d.ts +4 -370
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +2 -2
- package/dest/interfaces/server_circuit_prover.d.ts +2 -3
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +1 -1
- package/dest/kernel/hints/key_validation_hint.d.ts +6 -2
- package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_hint.js +7 -5
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts +7 -7
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
- package/dest/kernel/hints/private_kernel_reset_hints.js +4 -8
- package/dest/kernel/hints/read_request_hints.d.ts +8 -8
- package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
- package/dest/kernel/index.d.ts +0 -1
- package/dest/kernel/index.d.ts.map +1 -1
- package/dest/kernel/index.js +0 -1
- package/dest/kernel/private_kernel_data.d.ts +25 -6
- package/dest/kernel/private_kernel_data.d.ts.map +1 -1
- package/dest/kernel/private_kernel_data.js +19 -8
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +4 -7
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.js +6 -10
- package/dest/kernel/private_kernel_reset_dimensions.d.ts +10 -10
- package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_dimensions.js +29 -29
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +1 -10
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +3 -8
- package/dest/kernel/public_call_request.d.ts +0 -54
- package/dest/kernel/public_call_request.d.ts.map +1 -1
- package/dest/kernel/public_call_request.js +0 -58
- package/dest/logs/contract_class_log.d.ts +4 -0
- package/dest/logs/contract_class_log.d.ts.map +1 -1
- package/dest/logs/contract_class_log.js +33 -0
- package/dest/logs/log_with_tx_data.d.ts +3 -3
- package/dest/logs/log_with_tx_data.d.ts.map +1 -1
- package/dest/logs/log_with_tx_data.js +13 -9
- package/dest/logs/private_log.d.ts +0 -1
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/private_log.js +0 -3
- package/dest/logs/public_log.d.ts +0 -1
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +0 -3
- package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
- package/dest/logs/tx_scoped_l2_log.js +0 -1
- package/dest/rollup/avm_proof_data.d.ts +5 -7
- package/dest/rollup/avm_proof_data.d.ts.map +1 -1
- package/dest/rollup/avm_proof_data.js +4 -12
- package/dest/rollup/base_rollup_hints.d.ts +4 -4
- package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
- package/dest/rollup/base_rollup_hints.js +8 -8
- package/dest/rollup/previous_rollup_block_data.d.ts +15 -6
- package/dest/rollup/previous_rollup_block_data.d.ts.map +1 -1
- package/dest/rollup/previous_rollup_block_data.js +13 -8
- package/dest/rollup/previous_rollup_data.d.ts +15 -6
- package/dest/rollup/previous_rollup_data.d.ts.map +1 -1
- package/dest/rollup/previous_rollup_data.js +13 -8
- package/dest/rollup/private_tube_data.d.ts +3 -3
- package/dest/rollup/private_tube_data.d.ts.map +1 -1
- package/dest/rollup/private_tube_data.js +3 -3
- package/dest/rollup/public_tube_data.d.ts +3 -3
- package/dest/rollup/public_tube_data.d.ts.map +1 -1
- package/dest/rollup/public_tube_data.js +3 -3
- package/dest/rollup/root_rollup.d.ts +10 -9
- package/dest/rollup/root_rollup.d.ts.map +1 -1
- package/dest/rollup/root_rollup.js +20 -9
- package/dest/tests/factories.d.ts +1 -2
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +19 -25
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +3 -4
- package/dest/tx/processed_tx.d.ts.map +1 -1
- package/dest/tx/processed_tx.js +5 -2
- package/dest/tx/tx.d.ts +25 -10
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +50 -25
- package/dest/tx/tx_effect.d.ts +1 -1
- package/dest/tx/tx_effect.d.ts.map +1 -1
- package/dest/tx/tx_effect.js +2 -2
- package/dest/validators/types.d.ts +0 -4
- package/dest/validators/types.d.ts.map +1 -1
- package/dest/vks/index.d.ts +1 -1
- package/dest/vks/index.d.ts.map +1 -1
- package/dest/vks/index.js +1 -1
- package/dest/vks/{vk_data.d.ts → vk_witness_data.d.ts} +8 -8
- package/dest/vks/vk_witness_data.d.ts.map +1 -0
- package/dest/vks/{vk_data.js → vk_witness_data.js} +10 -10
- package/package.json +7 -7
- package/src/abi/abi.ts +0 -37
- package/src/avm/avm.ts +0 -14
- package/src/avm/avm_accumulated_data.ts +0 -93
- package/src/avm/avm_circuit_public_inputs.ts +2 -22
- package/src/block/body.ts +2 -7
- package/src/block/index.ts +0 -1
- package/src/block/l2_block.ts +3 -8
- package/src/block/l2_block_source.ts +3 -9
- package/src/block/published_l2_block.ts +24 -38
- package/src/block/test/l2_tips_store_test_suite.ts +1 -1
- package/src/interfaces/archiver.ts +2 -2
- package/src/interfaces/aztec-node.ts +2 -2
- package/src/interfaces/p2p.ts +3 -8
- package/src/interfaces/proving-job.ts +3 -3
- package/src/interfaces/server_circuit_prover.ts +2 -3
- package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +3 -3
- package/src/kernel/hints/key_validation_hint.ts +6 -4
- package/src/kernel/hints/private_kernel_reset_hints.ts +43 -34
- package/src/kernel/hints/read_request_hints.ts +15 -27
- package/src/kernel/index.ts +0 -1
- package/src/kernel/private_kernel_data.ts +29 -7
- package/src/kernel/private_kernel_reset_circuit_private_inputs.ts +13 -16
- package/src/kernel/private_kernel_reset_dimensions.ts +27 -27
- package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -10
- package/src/kernel/public_call_request.ts +0 -66
- package/src/logs/contract_class_log.ts +36 -0
- package/src/logs/log_with_tx_data.ts +11 -7
- package/src/logs/private_log.ts +0 -4
- package/src/logs/public_log.ts +0 -4
- package/src/logs/tx_scoped_l2_log.ts +0 -1
- package/src/rollup/avm_proof_data.ts +7 -14
- package/src/rollup/base_rollup_hints.ts +4 -4
- package/src/rollup/previous_rollup_block_data.ts +12 -6
- package/src/rollup/previous_rollup_data.ts +12 -6
- package/src/rollup/private_tube_data.ts +4 -4
- package/src/rollup/public_tube_data.ts +4 -4
- package/src/rollup/root_rollup.ts +19 -6
- package/src/tests/factories.ts +32 -36
- package/src/tests/mocks.ts +3 -6
- package/src/tx/processed_tx.ts +5 -4
- package/src/tx/tx.ts +54 -28
- package/src/tx/tx_effect.ts +5 -23
- package/src/validators/types.ts +0 -2
- package/src/vks/index.ts +1 -1
- package/src/vks/{vk_data.ts → vk_witness_data.ts} +6 -6
- package/dest/block/proposal/committee_attestation.d.ts +0 -34
- package/dest/block/proposal/committee_attestation.d.ts.map +0 -1
- package/dest/block/proposal/committee_attestation.js +0 -59
- package/dest/block/proposal/index.d.ts +0 -2
- package/dest/block/proposal/index.d.ts.map +0 -1
- package/dest/block/proposal/index.js +0 -1
- package/dest/kernel/padded_side_effects.d.ts +0 -26
- package/dest/kernel/padded_side_effects.d.ts.map +0 -1
- package/dest/kernel/padded_side_effects.js +0 -51
- package/dest/vks/vk_data.d.ts.map +0 -1
- package/src/block/proposal/committee_attestation.ts +0 -70
- package/src/block/proposal/index.ts +0 -1
- package/src/kernel/padded_side_effects.ts +0 -73
package/dest/tests/factories.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { makeBlockBlobPublicInputs, makeSpongeBlob } from '@aztec/blob-lib/testing';
|
|
2
|
-
import { ARCHIVE_HEIGHT,
|
|
2
|
+
import { ARCHIVE_HEIGHT, AVM_PROOF_LENGTH_IN_FIELDS, AZTEC_MAX_EPOCH_DURATION, BLOBS_PER_BLOCK, CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, FIELDS_PER_BLOB, FIXED_DA_GAS, FIXED_L2_GAS, GeneratorIndex, L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH, MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_ENQUEUED_CALLS_PER_CALL, MAX_ENQUEUED_CALLS_PER_TX, MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_CALL, MAX_NOTE_HASHES_PER_TX, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIERS_PER_CALL, MAX_NULLIFIERS_PER_TX, MAX_NULLIFIER_READ_REQUESTS_PER_CALL, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PRIVATE_LOGS_PER_CALL, MAX_PRIVATE_LOGS_PER_TX, MAX_PUBLIC_LOGS_PER_TX, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, NOTE_HASH_SUBTREE_SIBLING_PATH_LENGTH, NULLIFIER_SUBTREE_SIBLING_PATH_LENGTH, NULLIFIER_TREE_HEIGHT, NUM_BASE_PARITY_PER_ROOT_PARITY, NUM_MSGS_PER_BASE_PARITY, PRIVATE_LOG_SIZE_IN_FIELDS, PUBLIC_DATA_TREE_HEIGHT, PUBLIC_LOG_SIZE_IN_FIELDS, RECURSIVE_PROOF_LENGTH, TUBE_PROOF_LENGTH, VK_TREE_HEIGHT } from '@aztec/constants';
|
|
3
3
|
import { makeHalfFullTuple, makeTuple } from '@aztec/foundation/array';
|
|
4
4
|
import { toBufferBE } from '@aztec/foundation/bigint-buffer';
|
|
5
5
|
import { compact } from '@aztec/foundation/collection';
|
|
@@ -10,7 +10,7 @@ import { MembershipWitness } from '@aztec/foundation/trees';
|
|
|
10
10
|
import { FunctionSelector } from '../abi/function_selector.js';
|
|
11
11
|
import { ContractStorageRead } from '../avm/contract_storage_read.js';
|
|
12
12
|
import { ContractStorageUpdateRequest } from '../avm/contract_storage_update_request.js';
|
|
13
|
-
import { AvmAccumulatedData,
|
|
13
|
+
import { AvmAccumulatedData, AvmAppendLeavesHint, AvmBytecodeCommitmentHint, AvmCircuitInputs, AvmCircuitPublicInputs, AvmCommitCheckpointHint, AvmContractClassHint, AvmContractInstanceHint, AvmCreateCheckpointHint, AvmEnqueuedCallHint, AvmExecutionHints, AvmGetLeafPreimageHintNullifierTree, AvmGetLeafPreimageHintPublicDataTree, AvmGetLeafValueHint, AvmGetPreviousValueIndexHint, AvmGetSiblingPathHint, AvmRevertCheckpointHint, AvmSequentialInsertHintNullifierTree, AvmSequentialInsertHintPublicDataTree, AvmTxHint, RevertCode } from '../avm/index.js';
|
|
14
14
|
import { PublicDataHint } from '../avm/public_data_hint.js';
|
|
15
15
|
import { PublicDataRead } from '../avm/public_data_read.js';
|
|
16
16
|
import { PublicDataWrite } from '../avm/public_data_write.js';
|
|
@@ -29,7 +29,7 @@ import { PrivateCallRequest } from '../kernel/private_call_request.js';
|
|
|
29
29
|
import { PrivateCircuitPublicInputs } from '../kernel/private_circuit_public_inputs.js';
|
|
30
30
|
import { PrivateLogData } from '../kernel/private_log_data.js';
|
|
31
31
|
import { PrivateToRollupKernelCircuitPublicInputs } from '../kernel/private_to_rollup_kernel_circuit_public_inputs.js';
|
|
32
|
-
import { CountedPublicCallRequest, PublicCallRequest
|
|
32
|
+
import { CountedPublicCallRequest, PublicCallRequest } from '../kernel/public_call_request.js';
|
|
33
33
|
import { PublicKeys, computeAddress } from '../keys/index.js';
|
|
34
34
|
import { ContractClassLogFields } from '../logs/index.js';
|
|
35
35
|
import { PrivateLog } from '../logs/private_log.js';
|
|
@@ -77,8 +77,8 @@ import { TxConstantData } from '../tx/tx_constant_data.js';
|
|
|
77
77
|
import { TxContext } from '../tx/tx_context.js';
|
|
78
78
|
import { TxRequest } from '../tx/tx_request.js';
|
|
79
79
|
import { RollupTypes, Vector } from '../types/index.js';
|
|
80
|
-
import { VkData } from '../vks/index.js';
|
|
81
80
|
import { VerificationKey, VerificationKeyAsFields, VerificationKeyData } from '../vks/verification_key.js';
|
|
81
|
+
import { VkWitnessData } from '../vks/vk_witness_data.js';
|
|
82
82
|
import { mockTx } from './mocks.js';
|
|
83
83
|
/**
|
|
84
84
|
* Creates an arbitrary side effect object with the given seed.
|
|
@@ -206,9 +206,6 @@ function makePrivateToAvmAccumulatedDataArrayLengths(seed = 1) {
|
|
|
206
206
|
function makeAvmAccumulatedData(seed = 1) {
|
|
207
207
|
return new AvmAccumulatedData(makeTuple(MAX_NOTE_HASHES_PER_TX, fr, seed), makeTuple(MAX_NULLIFIERS_PER_TX, fr, seed + 0x100), makeTuple(MAX_L2_TO_L1_MSGS_PER_TX, makeScopedL2ToL1Message, seed + 0x200), makeTuple(MAX_PUBLIC_LOGS_PER_TX, makePublicLog, seed + 0x300), makeTuple(MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, makePublicDataWrite, seed + 0x400));
|
|
208
208
|
}
|
|
209
|
-
function makeAvmAccumulatedDataArrayLengths(seed = 1) {
|
|
210
|
-
return new AvmAccumulatedDataArrayLengths(seed, seed + 1, seed + 2, seed + 3, seed + 4);
|
|
211
|
-
}
|
|
212
209
|
export function makeGas(seed = 1) {
|
|
213
210
|
return new Gas(seed, seed + 1);
|
|
214
211
|
}
|
|
@@ -245,7 +242,7 @@ function makePrivateToPublicKernelCircuitPublicInputs(seed = 1) {
|
|
|
245
242
|
return new PrivateToRollupKernelCircuitPublicInputs(makeTxConstantData(seed + 0x100), makeRollupValidationRequests(seed), makePrivateToRollupAccumulatedData(seed, fullAccumulatedData), makeGas(seed + 0x600), makeAztecAddress(seed + 0x700));
|
|
246
243
|
}
|
|
247
244
|
function makeAvmCircuitPublicInputs(seed = 1) {
|
|
248
|
-
return new AvmCircuitPublicInputs(makeGlobalVariables(seed), makeTreeSnapshots(seed + 0x10), makeGas(seed + 0x20), makeGasSettings(), makeAztecAddress(seed + 0x40),
|
|
245
|
+
return new AvmCircuitPublicInputs(makeGlobalVariables(seed), makeTreeSnapshots(seed + 0x10), makeGas(seed + 0x20), makeGasSettings(), makeAztecAddress(seed + 0x40), makeTuple(MAX_ENQUEUED_CALLS_PER_TX, makePublicCallRequest, seed + 0x100), makeTuple(MAX_ENQUEUED_CALLS_PER_TX, makePublicCallRequest, seed + 0x200), makePublicCallRequest(seed + 0x300), makePrivateToAvmAccumulatedDataArrayLengths(seed + 0x400), makePrivateToAvmAccumulatedDataArrayLengths(seed + 0x410), makePrivateToAvmAccumulatedData(seed + 0x500), makePrivateToAvmAccumulatedData(seed + 0x600), makeTreeSnapshots(seed + 0x700), makeGas(seed + 0x750), makeAvmAccumulatedData(seed + 0x800), fr(seed + 0x900), false);
|
|
249
246
|
}
|
|
250
247
|
function makeSiblingPath(seed, size) {
|
|
251
248
|
return makeTuple(size, fr, seed);
|
|
@@ -297,9 +294,6 @@ function makePrivateCallRequest(seed = 1) {
|
|
|
297
294
|
export function makePublicCallRequest(seed = 1) {
|
|
298
295
|
return new PublicCallRequest(makeAztecAddress(seed), makeAztecAddress(seed + 1), false, fr(seed + 0x3));
|
|
299
296
|
}
|
|
300
|
-
export function makePublicCallRequestArrayLengths(seed = 1) {
|
|
301
|
-
return new PublicCallRequestArrayLengths(seed, seed + 1, seed % 2 === 0);
|
|
302
|
-
}
|
|
303
297
|
function makeCountedPublicCallRequest(seed = 1) {
|
|
304
298
|
return new CountedPublicCallRequest(makePublicCallRequest(seed), seed + 0x100);
|
|
305
299
|
}
|
|
@@ -440,7 +434,7 @@ export function makeScopedL2ToL1Message(seed = 1) {
|
|
|
440
434
|
* @param globalVariables - The global variables to use when generating the previous rollup data.
|
|
441
435
|
* @returns A previous rollup data.
|
|
442
436
|
*/ export function makePreviousRollupData(seed = 0, globalVariables = undefined) {
|
|
443
|
-
return new PreviousRollupData(makeBaseOrMergeRollupPublicInputs(seed, globalVariables), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, seed + 0x50),
|
|
437
|
+
return new PreviousRollupData(makeBaseOrMergeRollupPublicInputs(seed, globalVariables), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, seed + 0x50), VerificationKeyAsFields.makeFakeHonk(), makeMembershipWitness(VK_TREE_HEIGHT, seed + 0x120));
|
|
444
438
|
}
|
|
445
439
|
/**
|
|
446
440
|
* Makes arbitrary previous rollup block data.
|
|
@@ -448,7 +442,7 @@ export function makeScopedL2ToL1Message(seed = 1) {
|
|
|
448
442
|
* @param globalVariables - The global variables to use when generating the previous rollup block data.
|
|
449
443
|
* @returns A previous rollup block data.
|
|
450
444
|
*/ export function makePreviousRollupBlockData(seed = 0, globalVariables = undefined) {
|
|
451
|
-
return new PreviousRollupBlockData(makeBlockRootOrBlockMergeRollupPublicInputs(seed, globalVariables), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, seed + 0x50),
|
|
445
|
+
return new PreviousRollupBlockData(makeBlockRootOrBlockMergeRollupPublicInputs(seed, globalVariables), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, seed + 0x50), VerificationKeyAsFields.makeFakeHonk(), makeMembershipWitness(VK_TREE_HEIGHT, seed + 0x120));
|
|
452
446
|
}
|
|
453
447
|
/**
|
|
454
448
|
* Makes root rollup inputs.
|
|
@@ -509,7 +503,7 @@ export function makeRootParityInputs(seed = 0) {
|
|
|
509
503
|
* @param blockNumber - The block number to use in the global variables of a header.
|
|
510
504
|
* @returns A root rollup public inputs.
|
|
511
505
|
*/ export function makeRootRollupPublicInputs(seed = 0) {
|
|
512
|
-
return new RootRollupPublicInputs(
|
|
506
|
+
return new RootRollupPublicInputs(makeAppendOnlyTreeSnapshot(seed + 0x100), makeAppendOnlyTreeSnapshot(seed + 0x200), fr(seed + 0x300), fr(seed + 0x400), fr(seed + 0x500), makeTuple(AZTEC_MAX_EPOCH_DURATION, ()=>fr(seed), 0x650), makeTuple(AZTEC_MAX_EPOCH_DURATION, ()=>makeFeeRecipient(seed), 0x600), fr(seed + 0x700), fr(seed + 0x701), fr(seed + 0x702), fr(seed + 0x703), fr(seed + 0x704), makeTuple(AZTEC_MAX_EPOCH_DURATION, ()=>makeBlockBlobPublicInputs(seed), 0x800));
|
|
513
507
|
}
|
|
514
508
|
/**
|
|
515
509
|
* Makes content commitment
|
|
@@ -618,11 +612,11 @@ function makeTreeSnapshots(seed = 0) {
|
|
|
618
612
|
const feeWriteSiblingPath = makeTuple(PUBLIC_DATA_TREE_HEIGHT, fr, seed + 0x9000);
|
|
619
613
|
return new PrivateBaseStateDiffHints(nullifierPredecessorPreimages, nullifierPredecessorMembershipWitnesses, sortedNullifiers, sortedNullifierIndexes, noteHashSubtreeSiblingPath, nullifierSubtreeSiblingPath, feeWriteLowLeafPreimage, feeWriteLowLeafMembershipWitness, feeWriteSiblingPath);
|
|
620
614
|
}
|
|
621
|
-
function
|
|
622
|
-
return new
|
|
615
|
+
function makeVkWitnessData(seed = 1) {
|
|
616
|
+
return new VkWitnessData(VerificationKeyData.makeFakeHonk(), seed, makeTuple(VK_TREE_HEIGHT, fr, seed + 0x100));
|
|
623
617
|
}
|
|
624
618
|
function makePrivateTubeData(seed = 1, kernelPublicInputs) {
|
|
625
|
-
return new PrivateTubeData(kernelPublicInputs ?? makePrivateToRollupKernelCircuitPublicInputs(seed, true), makeRecursiveProof(TUBE_PROOF_LENGTH, seed + 0x100),
|
|
619
|
+
return new PrivateTubeData(kernelPublicInputs ?? makePrivateToRollupKernelCircuitPublicInputs(seed, true), makeRecursiveProof(TUBE_PROOF_LENGTH, seed + 0x100), makeVkWitnessData(seed + 0x200));
|
|
626
620
|
}
|
|
627
621
|
function makeContractClassLogFields(seed = 1) {
|
|
628
622
|
return new ContractClassLogFields(makeArray(CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, fr, seed));
|
|
@@ -632,7 +626,7 @@ function makePrivateBaseRollupHints(seed = 1) {
|
|
|
632
626
|
const startSpongeBlob = makeSpongeBlob(seed + 0x200);
|
|
633
627
|
const stateDiffHints = makePrivateBaseStateDiffHints(seed + 0x600);
|
|
634
628
|
const archiveRootMembershipWitness = makeMembershipWitness(ARCHIVE_HEIGHT, seed + 0x9000);
|
|
635
|
-
const
|
|
629
|
+
const contractClassLogsPreimages = makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, makeContractClassLogFields, seed + 0x800);
|
|
636
630
|
const constants = makeConstantRollupData(0x100);
|
|
637
631
|
const feePayerFeeJuiceBalanceReadHint = PublicDataHint.empty();
|
|
638
632
|
return PrivateBaseRollupHints.from({
|
|
@@ -641,19 +635,19 @@ function makePrivateBaseRollupHints(seed = 1) {
|
|
|
641
635
|
stateDiffHints,
|
|
642
636
|
feePayerFeeJuiceBalanceReadHint,
|
|
643
637
|
archiveRootMembershipWitness,
|
|
644
|
-
|
|
638
|
+
contractClassLogsPreimages,
|
|
645
639
|
constants
|
|
646
640
|
});
|
|
647
641
|
}
|
|
648
642
|
function makePublicBaseRollupHints(seed = 1) {
|
|
649
643
|
const startSpongeBlob = makeSpongeBlob(seed + 0x200);
|
|
650
644
|
const archiveRootMembershipWitness = makeMembershipWitness(ARCHIVE_HEIGHT, seed + 0x9000);
|
|
651
|
-
const
|
|
645
|
+
const contractClassLogsPreimages = makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, makeContractClassLogFields, seed + 0x800);
|
|
652
646
|
const constants = makeConstantRollupData(0x100);
|
|
653
647
|
return PublicBaseRollupHints.from({
|
|
654
648
|
startSpongeBlob,
|
|
655
649
|
archiveRootMembershipWitness,
|
|
656
|
-
|
|
650
|
+
contractClassLogsPreimages,
|
|
657
651
|
constants
|
|
658
652
|
});
|
|
659
653
|
}
|
|
@@ -666,10 +660,10 @@ export function makePrivateBaseRollupInputs(seed = 0) {
|
|
|
666
660
|
});
|
|
667
661
|
}
|
|
668
662
|
function makePublicTubeData(seed = 1) {
|
|
669
|
-
return new PublicTubeData(makePrivateToPublicKernelCircuitPublicInputs(seed), makeRecursiveProof(TUBE_PROOF_LENGTH, seed + 0x100),
|
|
663
|
+
return new PublicTubeData(makePrivateToPublicKernelCircuitPublicInputs(seed), makeRecursiveProof(TUBE_PROOF_LENGTH, seed + 0x100), makeVkWitnessData(seed + 0x200));
|
|
670
664
|
}
|
|
671
665
|
function makeAvmProofData(seed = 1) {
|
|
672
|
-
return new AvmProofData(makeAvmCircuitPublicInputs(seed), makeRecursiveProof(
|
|
666
|
+
return new AvmProofData(makeAvmCircuitPublicInputs(seed), makeRecursiveProof(AVM_PROOF_LENGTH_IN_FIELDS, seed + 0x100), makeVkWitnessData(seed + 0x200));
|
|
673
667
|
}
|
|
674
668
|
export function makePublicBaseRollupInputs(seed = 0) {
|
|
675
669
|
const tubeData = makePublicTubeData(seed);
|
|
@@ -869,13 +863,13 @@ export function makeAvmEnqueuedCallHint(seed = 0) {
|
|
|
869
863
|
return new AvmEnqueuedCallHint(new AztecAddress(new Fr(seed)), new AztecAddress(new Fr(seed + 2)), makeArray(seed % 20 + 4, (i)=>new Fr(i), seed + 0x1000), /*isStaticCall=*/ false);
|
|
870
864
|
}
|
|
871
865
|
export function makeAvmTxHint(seed = 0) {
|
|
872
|
-
return new AvmTxHint(`txhash-${seed}`, makeGlobalVariables(seed),
|
|
866
|
+
return new AvmTxHint(`txhash-${seed}`, makeGlobalVariables(seed), {
|
|
873
867
|
noteHashes: makeArray(seed % 20 + 4, (i)=>new Fr(i), seed + 0x1000),
|
|
874
868
|
nullifiers: makeArray(seed % 20 + 4, (i)=>new Fr(i), seed + 0x2000)
|
|
875
869
|
}, {
|
|
876
870
|
noteHashes: makeArray(seed % 20 + 4, (i)=>new Fr(i), seed + 0x3000),
|
|
877
871
|
nullifiers: makeArray(seed % 20 + 4, (i)=>new Fr(i), seed + 0x4000)
|
|
878
|
-
}, makeArray(seed % 20 + 4, (i)=>makeAvmEnqueuedCallHint(i), seed + 0x5000), makeArray(seed % 20 + 4, (i)=>makeAvmEnqueuedCallHint(i), seed + 0x6000), makeAvmEnqueuedCallHint(seed + 0x7000)
|
|
872
|
+
}, makeArray(seed % 20 + 4, (i)=>makeAvmEnqueuedCallHint(i), seed + 0x5000), makeArray(seed % 20 + 4, (i)=>makeAvmEnqueuedCallHint(i), seed + 0x6000), makeAvmEnqueuedCallHint(seed + 0x7000));
|
|
879
873
|
}
|
|
880
874
|
/**
|
|
881
875
|
* Creates arbitrary AvmExecutionHints.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../src/tests/mocks.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAe,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../src/tests/mocks.ts"],"names":[],"mappings":"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"}
|
package/dest/tests/mocks.js
CHANGED
|
@@ -4,7 +4,6 @@ import { times } from '@aztec/foundation/collection';
|
|
|
4
4
|
import { Secp256k1Signer, randomBytes } from '@aztec/foundation/crypto';
|
|
5
5
|
import { Fr } from '@aztec/foundation/fields';
|
|
6
6
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
7
|
-
import { CommitteeAttestation } from '../block/index.js';
|
|
8
7
|
import { L2Block } from '../block/l2_block.js';
|
|
9
8
|
import { computeContractAddressFromInstance } from '../contract/contract_address.js';
|
|
10
9
|
import { getContractClassFromArtifact } from '../contract/contract_class.js';
|
|
@@ -166,17 +165,17 @@ export async function randomPublishedL2Block(l2BlockNumber, opts = {}) {
|
|
|
166
165
|
blockHash: Buffer32.random().toString()
|
|
167
166
|
};
|
|
168
167
|
const signers = opts.signers ?? times(3, ()=>Secp256k1Signer.random());
|
|
169
|
-
const
|
|
168
|
+
const attestations = await Promise.all(signers.map((signer)=>makeBlockAttestation({
|
|
170
169
|
signer,
|
|
171
170
|
header: block.header,
|
|
172
171
|
archive: block.archive.root,
|
|
173
172
|
stateReference: block.header.state,
|
|
174
173
|
txHashes: block.body.txEffects.map((tx)=>tx.txHash)
|
|
175
174
|
})));
|
|
176
|
-
const
|
|
175
|
+
const signatures = attestations.map((attestation)=>attestation.signature);
|
|
177
176
|
return {
|
|
178
177
|
block,
|
|
179
178
|
l1,
|
|
180
|
-
|
|
179
|
+
signatures
|
|
181
180
|
};
|
|
182
181
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processed_tx.d.ts","sourceRoot":"","sources":["../../src/tx/processed_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,wDAAwD,CAAC;AACnH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,oBAAY,gBAAgB;IAC1B,KAAK,IAAA;IACL,SAAS,IAAA;IACT,QAAQ,IAAA;CACT;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,oCAAoC,CAAC;IAC3C;;OAEG;IACH,cAAc,EAAE,cAAc,CAAC;IAC/B;;OAEG;IACH,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACjD;;OAEG;IACH,SAAS,EAAE,oBAAoB,CAAC;IAChC;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAInB,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;IACvB;;OAEG;IACH,YAAY,EAAE,eAAe,GAAG,SAAS,CAAC;CAC3C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB;;OAEG;IACH,EAAE,EAAE,EAAE,CAAC;IACP;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,wBAAsB,gCAAgC,CACpD,EAAE,EAAE,EAAE,EACN,cAAc,EAAE,EAAE,EAClB,yBAAyB,EAAE,eAAe,EAC1C,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,WAAW,CAAC,CAsCtB;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,MAAM,CAI1D;AAED,wBAAsB,oCAAoC,CACxD,EAAE,EAAE,EAAE,EACN,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,eAAe,GAAG,SAAS,GACxC,OAAO,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"processed_tx.d.ts","sourceRoot":"","sources":["../../src/tx/processed_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,wDAAwD,CAAC;AACnH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,oBAAY,gBAAgB;IAC1B,KAAK,IAAA;IACL,SAAS,IAAA;IACT,QAAQ,IAAA;CACT;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,oCAAoC,CAAC;IAC3C;;OAEG;IACH,cAAc,EAAE,cAAc,CAAC;IAC/B;;OAEG;IACH,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACjD;;OAEG;IACH,SAAS,EAAE,oBAAoB,CAAC;IAChC;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAInB,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;IACvB;;OAEG;IACH,YAAY,EAAE,eAAe,GAAG,SAAS,CAAC;CAC3C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB;;OAEG;IACH,EAAE,EAAE,EAAE,CAAC;IACP;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,wBAAsB,gCAAgC,CACpD,EAAE,EAAE,EAAE,EACN,cAAc,EAAE,EAAE,EAClB,yBAAyB,EAAE,eAAe,EAC1C,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,WAAW,CAAC,CAsCtB;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,MAAM,CAI1D;AAED,wBAAsB,oCAAoC,CACxD,EAAE,EAAE,EAAE,EACN,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,eAAe,GAAG,SAAS,GACxC,OAAO,CAAC,WAAW,CAAC,CA2CtB"}
|
package/dest/tx/processed_tx.js
CHANGED
|
@@ -14,7 +14,7 @@ export async function makeProcessedTxFromPrivateOnlyTx(tx, transactionFee, feePa
|
|
|
14
14
|
const data = tx.data.forRollup;
|
|
15
15
|
const txEffect = new TxEffect(RevertCode.OK, await tx.getTxHash(), transactionFee, data.end.noteHashes.filter((h)=>!h.isZero()), data.end.nullifiers.filter((h)=>!h.isZero()), data.end.l2ToL1Msgs.map((message)=>siloL2ToL1Message(message, constants.txContext.version, constants.txContext.chainId)).filter((h)=>!h.isZero()), [
|
|
16
16
|
feePaymentPublicDataWrite
|
|
17
|
-
], data.end.privateLogs.filter((l)=>!l.isEmpty()), [], tx.
|
|
17
|
+
], data.end.privateLogs.filter((l)=>!l.isEmpty()), [], await tx.filterContractClassLogs(tx.data.getNonEmptyContractClassLogsHashes(), true));
|
|
18
18
|
const gasUsed = {
|
|
19
19
|
// Billed gas is the same as total gas since there is no teardown execution
|
|
20
20
|
totalGas: tx.data.gasUsed,
|
|
@@ -47,7 +47,10 @@ export async function makeProcessedTxFromTxWithPublicCalls(tx, avmProvingRequest
|
|
|
47
47
|
...tx.data.forPublic.nonRevertibleAccumulatedData.privateLogs,
|
|
48
48
|
...revertCode.isOK() ? tx.data.forPublic.revertibleAccumulatedData.privateLogs : []
|
|
49
49
|
].filter((l)=>!l.isEmpty());
|
|
50
|
-
const contractClassLogs =
|
|
50
|
+
const contractClassLogs = [
|
|
51
|
+
...await tx.getSplitContractClassLogs(false, true),
|
|
52
|
+
...revertCode.isOK() ? await tx.getSplitContractClassLogs(true, true) : []
|
|
53
|
+
].filter((l)=>!l.isEmpty());
|
|
51
54
|
const txEffect = new TxEffect(revertCode, await tx.getTxHash(), avmPublicInputs.transactionFee, avmPublicInputs.accumulatedData.noteHashes.filter((h)=>!h.isZero()), avmPublicInputs.accumulatedData.nullifiers.filter((h)=>!h.isZero()), avmPublicInputs.accumulatedData.l2ToL1Msgs.map((message)=>siloL2ToL1Message(message, constants.txContext.version, constants.txContext.chainId)).filter((h)=>!h.isZero()), publicDataWrites, privateLogs, avmPublicInputs.accumulatedData.publicLogs.filter((l)=>!l.isEmpty()), contractClassLogs);
|
|
52
55
|
return {
|
|
53
56
|
hash: txEffect.txHash,
|
package/dest/tx/tx.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import type { FieldsOf } from '@aztec/foundation/types';
|
|
|
6
6
|
import type { GasSettings } from '../gas/gas_settings.js';
|
|
7
7
|
import type { GetPublicLogsResponse } from '../interfaces/get_logs_response.js';
|
|
8
8
|
import type { L2LogsSource } from '../interfaces/l2_logs_source.js';
|
|
9
|
+
import type { ScopedLogHash } from '../kernel/log_hash.js';
|
|
9
10
|
import { PrivateKernelTailCircuitPublicInputs } from '../kernel/private_kernel_tail_circuit_public_inputs.js';
|
|
10
11
|
import { ContractClassLog, ContractClassLogFields } from '../logs/contract_class_log.js';
|
|
11
12
|
import { Gossipable } from '../p2p/gossipable.js';
|
|
@@ -30,11 +31,9 @@ export declare class Tx extends Gossipable {
|
|
|
30
31
|
*/
|
|
31
32
|
readonly clientIvcProof: ClientIvcProof;
|
|
32
33
|
/**
|
|
33
|
-
* Contract class
|
|
34
|
-
* Their order should match the order of the log hashes returned from `this.data.getNonEmptyContractClassLogsHashes`.
|
|
35
|
-
* It's checked in data_validator.ts
|
|
34
|
+
* Contract class logs generated by the tx.
|
|
36
35
|
*/
|
|
37
|
-
|
|
36
|
+
contractClassLogs: ContractClassLogFields[];
|
|
38
37
|
/**
|
|
39
38
|
* An array of calldata for the enqueued public function calls and the teardown function call.
|
|
40
39
|
*/
|
|
@@ -53,11 +52,9 @@ export declare class Tx extends Gossipable {
|
|
|
53
52
|
*/
|
|
54
53
|
clientIvcProof: ClientIvcProof,
|
|
55
54
|
/**
|
|
56
|
-
* Contract class
|
|
57
|
-
* Their order should match the order of the log hashes returned from `this.data.getNonEmptyContractClassLogsHashes`.
|
|
58
|
-
* It's checked in data_validator.ts
|
|
55
|
+
* Contract class logs generated by the tx.
|
|
59
56
|
*/
|
|
60
|
-
|
|
57
|
+
contractClassLogs: ContractClassLogFields[],
|
|
61
58
|
/**
|
|
62
59
|
* An array of calldata for the enqueued public function calls and the teardown function call.
|
|
63
60
|
*/
|
|
@@ -90,13 +87,19 @@ export declare class Tx extends Gossipable {
|
|
|
90
87
|
* @returns The requested logs.
|
|
91
88
|
*/
|
|
92
89
|
getPublicLogs(logsSource: L2LogsSource): Promise<GetPublicLogsResponse>;
|
|
93
|
-
getContractClassLogs(): ContractClassLog[];
|
|
94
90
|
/**
|
|
95
91
|
* Gets either revertible or non revertible contract class logs emitted by this tx.
|
|
96
92
|
* @param revertible - true for revertible only logs, false for non reverible only logs.
|
|
97
93
|
* @returns The requested logs.
|
|
98
94
|
*/
|
|
99
|
-
getSplitContractClassLogs(revertible: boolean): ContractClassLog[]
|
|
95
|
+
getSplitContractClassLogs(revertible: boolean, silo?: boolean): Promise<ContractClassLog[]>;
|
|
96
|
+
/**
|
|
97
|
+
* Filters contract class logs emitted by this tx.
|
|
98
|
+
* @param logHashes - logs to keep represented by their hashes.
|
|
99
|
+
* @param silo - whether to silo the logs before returning them.
|
|
100
|
+
* @returns The requested logs.
|
|
101
|
+
*/
|
|
102
|
+
filterContractClassLogs(logHashes: ScopedLogHash[], silo?: boolean): Promise<ContractClassLog[]>;
|
|
100
103
|
/**
|
|
101
104
|
* Computes (if necessary) & return transaction hash.
|
|
102
105
|
* @returns The hash of the public inputs of the private kernel tail circuit.
|
|
@@ -142,6 +145,18 @@ export declare class Tx extends Gossipable {
|
|
|
142
145
|
* @returns A random tx.
|
|
143
146
|
*/
|
|
144
147
|
static random(randomProof?: boolean): Tx;
|
|
148
|
+
/**
|
|
149
|
+
* Filters out logs from functions that are not present in the provided kernel output.
|
|
150
|
+
*
|
|
151
|
+
* The purpose of this is to remove logs that got dropped due to a revert,
|
|
152
|
+
* in which case, we only have the kernel's hashes to go on, as opposed to
|
|
153
|
+
* this grouping by function maintained in this class.
|
|
154
|
+
*
|
|
155
|
+
* The logic therefore is to drop all FunctionLogs if any constituent hash
|
|
156
|
+
* does not appear in the provided hashes: it is impossible for part of a
|
|
157
|
+
* function to revert.
|
|
158
|
+
*/
|
|
159
|
+
filterRevertedLogs(): Promise<void>;
|
|
145
160
|
}
|
|
146
161
|
/** Utility type for an entity that has a hash property for a txhash */
|
|
147
162
|
type HasHash = {
|
package/dest/tx/tx.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../src/tx/tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAyD,MAAM,6BAA6B,CAAC;AAClH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAIxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,oCAAoC,EAAE,MAAM,wDAAwD,CAAC;AAC9G,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;GAEG;AACH,qBAAa,EAAG,SAAQ,UAAU;;IAO9B;;OAEG;aACa,IAAI,EAAE,oCAAoC;IAC1D;;;OAGG;aACa,cAAc,EAAE,cAAc;IAC9C
|
|
1
|
+
{"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../src/tx/tx.ts"],"names":[],"mappings":"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"}
|
package/dest/tx/tx.js
CHANGED
|
@@ -16,7 +16,7 @@ import { TxHash } from './tx_hash.js';
|
|
|
16
16
|
*/ export class Tx extends Gossipable {
|
|
17
17
|
data;
|
|
18
18
|
clientIvcProof;
|
|
19
|
-
|
|
19
|
+
contractClassLogs;
|
|
20
20
|
publicFunctionCalldata;
|
|
21
21
|
static p2pTopic = TopicType.tx;
|
|
22
22
|
// For memoization
|
|
@@ -28,13 +28,11 @@ import { TxHash } from './tx_hash.js';
|
|
|
28
28
|
* Proof from the private kernel circuit.
|
|
29
29
|
* TODO(#7368): This client IVC object currently contains various VKs that will eventually be more like static data.
|
|
30
30
|
*/ clientIvcProof, /**
|
|
31
|
-
* Contract class
|
|
32
|
-
|
|
33
|
-
* It's checked in data_validator.ts
|
|
34
|
-
*/ contractClassLogFields, /**
|
|
31
|
+
* Contract class logs generated by the tx.
|
|
32
|
+
*/ contractClassLogs, /**
|
|
35
33
|
* An array of calldata for the enqueued public function calls and the teardown function call.
|
|
36
34
|
*/ publicFunctionCalldata){
|
|
37
|
-
super(), this.data = data, this.clientIvcProof = clientIvcProof, this.
|
|
35
|
+
super(), this.data = data, this.clientIvcProof = clientIvcProof, this.contractClassLogs = contractClassLogs, this.publicFunctionCalldata = publicFunctionCalldata;
|
|
38
36
|
}
|
|
39
37
|
// Gossipable method
|
|
40
38
|
async generateP2PMessageIdentifier() {
|
|
@@ -88,7 +86,7 @@ import { TxHash } from './tx_hash.js';
|
|
|
88
86
|
return serializeToBuffer([
|
|
89
87
|
this.data,
|
|
90
88
|
this.clientIvcProof,
|
|
91
|
-
serializeArrayOfBufferableToVector(this.
|
|
89
|
+
serializeArrayOfBufferableToVector(this.contractClassLogs, 1),
|
|
92
90
|
serializeArrayOfBufferableToVector(this.publicFunctionCalldata, 1)
|
|
93
91
|
]);
|
|
94
92
|
}
|
|
@@ -96,12 +94,12 @@ import { TxHash } from './tx_hash.js';
|
|
|
96
94
|
return z.object({
|
|
97
95
|
data: PrivateKernelTailCircuitPublicInputs.schema,
|
|
98
96
|
clientIvcProof: ClientIvcProof.schema,
|
|
99
|
-
|
|
97
|
+
contractClassLogs: z.array(ContractClassLogFields.schema),
|
|
100
98
|
publicFunctionCalldata: z.array(HashedValues.schema)
|
|
101
99
|
}).transform(Tx.from);
|
|
102
100
|
}
|
|
103
101
|
static from(fields) {
|
|
104
|
-
return new Tx(fields.data, fields.clientIvcProof, fields.
|
|
102
|
+
return new Tx(fields.data, fields.clientIvcProof, fields.contractClassLogs, fields.publicFunctionCalldata);
|
|
105
103
|
}
|
|
106
104
|
/**
|
|
107
105
|
* Gets public logs emitted by this tx.
|
|
@@ -112,25 +110,38 @@ import { TxHash } from './tx_hash.js';
|
|
|
112
110
|
txHash: await this.getTxHash()
|
|
113
111
|
});
|
|
114
112
|
}
|
|
115
|
-
getContractClassLogs() {
|
|
116
|
-
const logHashes = this.data.getNonEmptyContractClassLogsHashes();
|
|
117
|
-
return logHashes.map((logHash, i)=>ContractClassLog.from({
|
|
118
|
-
contractAddress: logHash.contractAddress,
|
|
119
|
-
fields: this.contractClassLogFields[i],
|
|
120
|
-
emittedLength: logHash.logHash.length
|
|
121
|
-
}));
|
|
122
|
-
}
|
|
123
113
|
/**
|
|
124
114
|
* Gets either revertible or non revertible contract class logs emitted by this tx.
|
|
125
115
|
* @param revertible - true for revertible only logs, false for non reverible only logs.
|
|
126
116
|
* @returns The requested logs.
|
|
127
|
-
*/ getSplitContractClassLogs(revertible) {
|
|
117
|
+
*/ async getSplitContractClassLogs(revertible, silo = false) {
|
|
118
|
+
// Should only be called on txs with public calls
|
|
128
119
|
if (!this.data.forPublic) {
|
|
129
|
-
|
|
120
|
+
return [];
|
|
130
121
|
}
|
|
131
|
-
const
|
|
132
|
-
|
|
133
|
-
|
|
122
|
+
const contractClassLogsHashes = revertible ? this.data.forPublic.revertibleAccumulatedData.contractClassLogsHashes.filter((h)=>!h.isEmpty()) : this.data.forPublic.nonRevertibleAccumulatedData.contractClassLogsHashes.filter((h)=>!h.isEmpty());
|
|
123
|
+
return await this.filterContractClassLogs(contractClassLogsHashes, silo);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Filters contract class logs emitted by this tx.
|
|
127
|
+
* @param logHashes - logs to keep represented by their hashes.
|
|
128
|
+
* @param silo - whether to silo the logs before returning them.
|
|
129
|
+
* @returns The requested logs.
|
|
130
|
+
*/ async filterContractClassLogs(logHashes, silo = false) {
|
|
131
|
+
const contractClassLogs = [];
|
|
132
|
+
for (const fields of this.contractClassLogs){
|
|
133
|
+
const hashedLog = await fields.hash();
|
|
134
|
+
const logHash = logHashes.find((hash)=>hash.value.equals(hashedLog));
|
|
135
|
+
if (logHash) {
|
|
136
|
+
const log = ContractClassLog.from({
|
|
137
|
+
contractAddress: logHash.contractAddress,
|
|
138
|
+
fields,
|
|
139
|
+
emittedLength: logHash.logHash.length
|
|
140
|
+
});
|
|
141
|
+
contractClassLogs.push(silo ? await log.silo() : log);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return contractClassLogs;
|
|
134
145
|
}
|
|
135
146
|
/**
|
|
136
147
|
* Computes (if necessary) & return transaction hash.
|
|
@@ -173,7 +184,7 @@ import { TxHash } from './tx_hash.js';
|
|
|
173
184
|
};
|
|
174
185
|
}
|
|
175
186
|
getSize() {
|
|
176
|
-
return this.data.getSize() + this.clientIvcProof.clientIvcProofBuffer.length + arraySerializedSizeOfNonEmpty(this.
|
|
187
|
+
return this.data.getSize() + this.clientIvcProof.clientIvcProofBuffer.length + arraySerializedSizeOfNonEmpty(this.contractClassLogs) + this.publicFunctionCalldata.reduce((accum, cd)=>accum + cd.getSize(), 0);
|
|
177
188
|
}
|
|
178
189
|
/**
|
|
179
190
|
* Estimates the tx size based on its private effects. Note that the actual size of the tx
|
|
@@ -202,9 +213,9 @@ import { TxHash } from './tx_hash.js';
|
|
|
202
213
|
*/ static clone(tx) {
|
|
203
214
|
const publicInputs = PrivateKernelTailCircuitPublicInputs.fromBuffer(tx.data.toBuffer());
|
|
204
215
|
const clientIvcProof = ClientIvcProof.fromBuffer(tx.clientIvcProof.toBuffer());
|
|
205
|
-
const
|
|
216
|
+
const contractClassLogs = tx.contractClassLogs.map((p)=>p.clone());
|
|
206
217
|
const publicFunctionCalldata = tx.publicFunctionCalldata.map((cd)=>HashedValues.fromBuffer(cd.toBuffer()));
|
|
207
|
-
const clonedTx = new Tx(publicInputs, clientIvcProof,
|
|
218
|
+
const clonedTx = new Tx(publicInputs, clientIvcProof, contractClassLogs, publicFunctionCalldata);
|
|
208
219
|
if (tx.txHash) {
|
|
209
220
|
clonedTx.setTxHash(TxHash.fromBuffer(tx.txHash.toBuffer()));
|
|
210
221
|
}
|
|
@@ -221,6 +232,20 @@ import { TxHash } from './tx_hash.js';
|
|
|
221
232
|
HashedValues.random()
|
|
222
233
|
]);
|
|
223
234
|
}
|
|
235
|
+
/**
|
|
236
|
+
* Filters out logs from functions that are not present in the provided kernel output.
|
|
237
|
+
*
|
|
238
|
+
* The purpose of this is to remove logs that got dropped due to a revert,
|
|
239
|
+
* in which case, we only have the kernel's hashes to go on, as opposed to
|
|
240
|
+
* this grouping by function maintained in this class.
|
|
241
|
+
*
|
|
242
|
+
* The logic therefore is to drop all FunctionLogs if any constituent hash
|
|
243
|
+
* does not appear in the provided hashes: it is impossible for part of a
|
|
244
|
+
* function to revert.
|
|
245
|
+
*/ // TODO: don't modify the tx object directly. The preimages should match the log hashes. When did the log hashes change?
|
|
246
|
+
async filterRevertedLogs() {
|
|
247
|
+
this.contractClassLogs = (await this.getSplitContractClassLogs(false)).map((log)=>log.fields);
|
|
248
|
+
}
|
|
224
249
|
#combinePublicCallRequestWithCallData(request) {
|
|
225
250
|
const calldataMap = this.getCalldataMap();
|
|
226
251
|
// Assume empty calldata if nothing is given for the hash.
|
package/dest/tx/tx_effect.d.ts
CHANGED
|
@@ -112,7 +112,7 @@ export declare class TxEffect {
|
|
|
112
112
|
* @dev Follows new_sha in variable_merkle_tree.nr
|
|
113
113
|
*/
|
|
114
114
|
txOutHash(): Buffer<ArrayBufferLike>;
|
|
115
|
-
static random(numPublicCallsPerTx?: number, numPublicLogsPerCall?: number
|
|
115
|
+
static random(numPublicCallsPerTx?: number, numPublicLogsPerCall?: number): Promise<TxEffect>;
|
|
116
116
|
static empty(): TxEffect;
|
|
117
117
|
isEmpty(): boolean;
|
|
118
118
|
/** Returns a hex representation of the TxEffect object. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx_effect.d.ts","sourceRoot":"","sources":["../../src/tx/tx_effect.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,KAAK,QAAQ,EAA6B,MAAM,yBAAyB,CAAC;AAInF,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,YAAY,EACZ,WAAW,EAGZ,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,eAAO,MAAM,eAAe,uBAAuB,CAAC;AAEpD,eAAO,MAAM,4BAA4B,QAA0C,CAAC;AAEpF,eAAO,MAAM,4BAA4B,QAAmC,CAAC;AAE7E,qBAAa,QAAQ;IAEjB;;OAEG;IACI,UAAU,EAAE,UAAU;IAC7B;;OAEG;IACI,MAAM,EAAE,MAAM;IACrB;;OAEG;IACI,cAAc,EAAE,EAAE;IACzB;;OAEG;IACI,UAAU,EAAE,EAAE,EAAE;IACvB;;OAEG;IACI,UAAU,EAAE,EAAE,EAAE;IACvB;;;OAGG;IACI,UAAU,EAAE,EAAE,EAAE;IACvB;;OAEG;IACI,gBAAgB,EAAE,eAAe,EAAE;IAC1C;;OAEG;IACI,WAAW,EAAE,UAAU,EAAE;IAChC;;OAEG;IACI,UAAU,EAAE,SAAS,EAAE;IAC9B;;OAEG;IACI,iBAAiB,EAAE,gBAAgB,EAAE;;IAxC5C;;OAEG;IACI,UAAU,EAAE,UAAU;IAC7B;;OAEG;IACI,MAAM,EAAE,MAAM;IACrB;;OAEG;IACI,cAAc,EAAE,EAAE;IACzB;;OAEG;IACI,UAAU,EAAE,EAAE,EAAE;IACvB;;OAEG;IACI,UAAU,EAAE,EAAE,EAAE;IACvB;;;OAGG;IACI,UAAU,EAAE,EAAE,EAAE;IACvB;;OAEG;IACI,gBAAgB,EAAE,eAAe,EAAE;IAC1C;;OAEG;IACI,WAAW,EAAE,UAAU,EAAE;IAChC;;OAEG;IACI,UAAU,EAAE,SAAS,EAAE;IAC9B;;OAEG;IACI,iBAAiB,EAAE,gBAAgB,EAAE;IAoD9C,QAAQ,IAAI,MAAM;IAelB,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAsBhC,yEAAyE;IACzE,SAAS;IAIT;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,QAAQ;IAiB1D;;;;OAIG;IACH,SAAS;WAuBI,MAAM,
|
|
1
|
+
{"version":3,"file":"tx_effect.d.ts","sourceRoot":"","sources":["../../src/tx/tx_effect.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,KAAK,QAAQ,EAA6B,MAAM,yBAAyB,CAAC;AAInF,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,YAAY,EACZ,WAAW,EAGZ,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,eAAO,MAAM,eAAe,uBAAuB,CAAC;AAEpD,eAAO,MAAM,4BAA4B,QAA0C,CAAC;AAEpF,eAAO,MAAM,4BAA4B,QAAmC,CAAC;AAE7E,qBAAa,QAAQ;IAEjB;;OAEG;IACI,UAAU,EAAE,UAAU;IAC7B;;OAEG;IACI,MAAM,EAAE,MAAM;IACrB;;OAEG;IACI,cAAc,EAAE,EAAE;IACzB;;OAEG;IACI,UAAU,EAAE,EAAE,EAAE;IACvB;;OAEG;IACI,UAAU,EAAE,EAAE,EAAE;IACvB;;;OAGG;IACI,UAAU,EAAE,EAAE,EAAE;IACvB;;OAEG;IACI,gBAAgB,EAAE,eAAe,EAAE;IAC1C;;OAEG;IACI,WAAW,EAAE,UAAU,EAAE;IAChC;;OAEG;IACI,UAAU,EAAE,SAAS,EAAE;IAC9B;;OAEG;IACI,iBAAiB,EAAE,gBAAgB,EAAE;;IAxC5C;;OAEG;IACI,UAAU,EAAE,UAAU;IAC7B;;OAEG;IACI,MAAM,EAAE,MAAM;IACrB;;OAEG;IACI,cAAc,EAAE,EAAE;IACzB;;OAEG;IACI,UAAU,EAAE,EAAE,EAAE;IACvB;;OAEG;IACI,UAAU,EAAE,EAAE,EAAE;IACvB;;;OAGG;IACI,UAAU,EAAE,EAAE,EAAE;IACvB;;OAEG;IACI,gBAAgB,EAAE,eAAe,EAAE;IAC1C;;OAEG;IACI,WAAW,EAAE,UAAU,EAAE;IAChC;;OAEG;IACI,UAAU,EAAE,SAAS,EAAE;IAC9B;;OAEG;IACI,iBAAiB,EAAE,gBAAgB,EAAE;IAoD9C,QAAQ,IAAI,MAAM;IAelB,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAsBhC,yEAAyE;IACzE,SAAS;IAIT;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,QAAQ;IAiB1D;;;;OAIG;IACH,SAAS;WAuBI,MAAM,CAAC,mBAAmB,SAAI,EAAE,oBAAoB,SAAI,GAAG,OAAO,CAAC,QAAQ,CAAC;IAezF,MAAM,CAAC,KAAK,IAAI,QAAQ;IAIxB,OAAO,IAAI,OAAO;IAIlB,2DAA2D;IAC3D,QAAQ;IAIR;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAOhB;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE;;;;IAK5B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE;;;;IAQjC;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE;IAuB7B;;OAEG;IACH,YAAY,IAAI,EAAE,EAAE;IAoDpB;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW;IA0EhD,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAetC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,CAepC;IAED,CAAC,OAAO,CAAC,MAAM,CAAC;IAsBhB;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;CAG9B"}
|
package/dest/tx/tx_effect.js
CHANGED
|
@@ -160,8 +160,8 @@ export class TxEffect {
|
|
|
160
160
|
}
|
|
161
161
|
return thisLayer[0];
|
|
162
162
|
}
|
|
163
|
-
static async random(numPublicCallsPerTx = 3, numPublicLogsPerCall = 1
|
|
164
|
-
return new TxEffect(RevertCode.random(), TxHash.random(), new Fr(Math.floor(Math.random() * 100_000)), makeTuple(
|
|
163
|
+
static async random(numPublicCallsPerTx = 3, numPublicLogsPerCall = 1) {
|
|
164
|
+
return new TxEffect(RevertCode.random(), TxHash.random(), new Fr(Math.floor(Math.random() * 100_000)), makeTuple(MAX_NOTE_HASHES_PER_TX, Fr.random), makeTuple(MAX_NULLIFIERS_PER_TX, Fr.random), makeTuple(MAX_L2_TO_L1_MSGS_PER_TX, Fr.random), makeTuple(MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, PublicDataWrite.random), makeTuple(MAX_PRIVATE_LOGS_PER_TX, ()=>PrivateLog.random()), await makeTupleAsync(numPublicCallsPerTx * numPublicLogsPerCall, async ()=>await PublicLog.random()), await makeTupleAsync(MAX_CONTRACT_CLASS_LOGS_PER_TX, ContractClassLog.random));
|
|
165
165
|
}
|
|
166
166
|
static empty() {
|
|
167
167
|
return new TxEffect(RevertCode.OK, TxHash.zero(), Fr.ZERO, [], [], [], [], [], [], []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/validators/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,aAAa,CAAC;AAE1D,MAAM,MAAM,qBAAqB,GAC7B,aAAa,GACb,gBAAgB,GAChB,cAAc,GACd,kBAAkB,GAClB,oBAAoB,CAAC;AAEzB,MAAM,MAAM,sBAAsB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,qBAAqB,CAAA;CAAE,EAAE,CAAC;AAEvF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,UAAU,CAAC;IACpB,YAAY,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,eAAe,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE;QACf,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,kBAAkB,EAAE;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,OAAO,EAAE,sBAAsB,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/validators/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,aAAa,CAAC;AAE1D,MAAM,MAAM,qBAAqB,GAC7B,aAAa,GACb,gBAAgB,GAChB,cAAc,GACd,kBAAkB,GAClB,oBAAoB,CAAC;AAEzB,MAAM,MAAM,sBAAsB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,qBAAqB,CAAA;CAAE,EAAE,CAAC;AAEvF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,UAAU,CAAC;IACpB,YAAY,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,eAAe,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE;QACf,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,kBAAkB,EAAE;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,OAAO,EAAE,sBAAsB,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
|
package/dest/vks/index.d.ts
CHANGED
package/dest/vks/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vks/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vks/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC"}
|
package/dest/vks/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './verification_key.js';
|
|
2
|
-
export * from './
|
|
2
|
+
export * from './vk_witness_data.js';
|
|
@@ -3,28 +3,28 @@ import { Fr } from '@aztec/foundation/fields';
|
|
|
3
3
|
import { BufferReader, type Tuple } from '@aztec/foundation/serialize';
|
|
4
4
|
import type { UInt32 } from '../types/shared.js';
|
|
5
5
|
import { VerificationKeyData } from './verification_key.js';
|
|
6
|
-
export declare class
|
|
6
|
+
export declare class VkWitnessData {
|
|
7
7
|
vk: VerificationKeyData;
|
|
8
8
|
/**
|
|
9
9
|
* Index of the vk in the vk tree.
|
|
10
10
|
*/
|
|
11
|
-
|
|
11
|
+
vkIndex: UInt32;
|
|
12
12
|
/**
|
|
13
13
|
* Sibling path of the vk in the vk tree.
|
|
14
14
|
*/
|
|
15
|
-
|
|
15
|
+
vkPath: Tuple<Fr, typeof VK_TREE_HEIGHT>;
|
|
16
16
|
constructor(vk: VerificationKeyData,
|
|
17
17
|
/**
|
|
18
18
|
* Index of the vk in the vk tree.
|
|
19
19
|
*/
|
|
20
|
-
|
|
20
|
+
vkIndex: UInt32,
|
|
21
21
|
/**
|
|
22
22
|
* Sibling path of the vk in the vk tree.
|
|
23
23
|
*/
|
|
24
|
-
|
|
25
|
-
static empty():
|
|
26
|
-
static fromBuffer(buffer: Buffer | BufferReader):
|
|
24
|
+
vkPath: Tuple<Fr, typeof VK_TREE_HEIGHT>);
|
|
25
|
+
static empty(): VkWitnessData;
|
|
26
|
+
static fromBuffer(buffer: Buffer | BufferReader): VkWitnessData;
|
|
27
27
|
toBuffer(): Buffer<ArrayBufferLike>;
|
|
28
28
|
toString(): `0x${string}`;
|
|
29
29
|
}
|
|
30
|
-
//# sourceMappingURL=
|
|
30
|
+
//# sourceMappingURL=vk_witness_data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vk_witness_data.d.ts","sourceRoot":"","sources":["../../src/vks/vk_witness_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAqB,MAAM,6BAA6B,CAAC;AAG1F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,qBAAa,aAAa;IAEf,EAAE,EAAE,mBAAmB;IAC9B;;OAEG;IACI,OAAO,EAAE,MAAM;IACtB;;OAEG;IACI,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,cAAc,CAAC;gBARxC,EAAE,EAAE,mBAAmB;IAC9B;;OAEG;IACI,OAAO,EAAE,MAAM;IACtB;;OAEG;IACI,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,cAAc,CAAC;IAGjD,MAAM,CAAC,KAAK;IAIZ,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAS/C,QAAQ;IAIR,QAAQ;CAGT"}
|