The block as defined currently is very hard to follow. It uses different names all over the place to refer to the same things. We should use structs when possible, and be more consistent in the naming.
For example, the L2Block don't explicitly define the block header, so the BlockHeader in typescript is not consistent with the actual block. It is only the "after" half of it.
Instead, we must update it to match what is described in the yellow-paper.
### Tasks
- [ ] https://github.com/AztecProtocol/aztec-packages/issues/3572
- [ ] https://github.com/AztecProtocol/aztec-packages/issues/3589
- [ ] https://github.com/AztecProtocol/aztec-packages/issues/3592
- [ ] https://github.com/AztecProtocol/aztec-packages/issues/3916
- [ ] https://github.com/AztecProtocol/aztec-packages/issues/3820
- [ ] https://github.com/AztecProtocol/aztec-packages/issues/3936
- [ ] https://github.com/AztecProtocol/aztec-packages/issues/4010
- [ ] https://github.com/AztecProtocol/aztec-packages/issues/4011
- [x] Restructure the API's to fetch "header" instead of individual parts and then building anyway
- [ ] https://github.com/AztecProtocol/aztec-packages/issues/3868
- [ ] https://github.com/AztecProtocol/aztec-packages/issues/3938
- [ ] https://github.com/AztecProtocol/aztec-packages/issues/3849
- [ ] Update L1 state root definition (pedersen or sha)
- [ ] https://github.com/AztecProtocol/aztec-packages/issues/3824
- [ ] https://github.com/AztecProtocol/aztec-packages/issues/3937
- [ ] https://github.com/AztecProtocol/aztec-packages/issues/3941
- [ ] https://github.com/AztecProtocol/aztec-packages/issues/4031
- [ ] https://github.com/AztecProtocol/aztec-packages/issues/4045
- [ ] https://github.com/AztecProtocol/aztec-packages/issues/4134
- [ ] https://github.com/AztecProtocol/aztec-packages/issues/3441
- [ ] https://github.com/AztecProtocol/aztec-packages/issues/4720
The block as defined currently is very hard to follow. It uses different names all over the place to refer to the same things. We should use structs when possible, and be more consistent in the naming.
For example, the
L2Blockdon't explicitly define the block header, so theBlockHeaderin typescript is not consistent with the actual block. It is only the "after" half of it.Instead, we must update it to match what is described in the yellow-paper.