feat!: storage_layout and #[aztec(storage)]#5387
Conversation
14b4fde to
44981a4
Compare
d958ec9 to
0d8dd6e
Compare
dda80d9 to
8e9e449
Compare
0d8dd6e to
35ddcab
Compare
8e9e449 to
81195fd
Compare
35ddcab to
e63b35c
Compare
81195fd to
097e3ae
Compare
e63b35c to
ced6bcf
Compare
097e3ae to
856f0e6
Compare
ced6bcf to
e35698d
Compare
Benchmark resultsMetrics with a significant change:
Detailed resultsAll benchmarks are run on txs on the This benchmark source data is available in JSON format on S3 here. Values are compared against data from master at commit L2 block published to L1Each column represents the number of txs on an L2 block published to L1.
L2 chain processingEach column represents the number of blocks on the L2 chain where each block has 16 txs.
Circuits statsStats on running time and I/O sizes collected for every circuit run across all benchmarks.
Tree insertion statsThe duration to insert a fixed batch of leaves into each tree type.
MiscellaneousTransaction sizes based on how many contract classes are registered in the tx.
Transaction size based on fee payment method
Transaction processing duration by data writes.
|
e35698d to
554d3c1
Compare
… gj/storage_layout
Requires #5386
Closes #5079
Leveraging the new
#[abi(tag)]export attribute, the#[aztec(storage]and#[aztec(note)]decorators are now used by the aztec macros to generate exportable global structs that include storage and notes info. These are then interpreted bynoir-compilerin the ts codegen and exposed through the contract classes.In the process I realized we didn't really need the
process_def_collectorpass, which has been removed (one less thing to worry about before moving to metaprogramming!) in favor of using#[aztec(note)]to identify notes that need to get included in the autogeneratedcompute_note_hash_and_nullifierimplementation.