Releases: FuelLabs/fuel-specs
Releases · FuelLabs/fuel-specs
v0.5.0
Release v0.5.0
The first release of the specification that should help in versioning of the protocol documentation. It is compatible with the beta 5 network.
Since it is the first release, it has no highlighted changes yet. The future releases will try to describe significant modifications to the protocol.
What's Changed
- Register approach by @shahankhatch in #1
- Add initial transaction format by @adlerjohn in #6
- Major changes and refactor by @adlerjohn in #7
- Add some crypto precompiles by @adlerjohn in #8
- Add multiply immediate opcode by @adlerjohn in #9
- Add opcodes to extend and shrink call frame stack. by @adlerjohn in #17
- Add memory allocation opcode. by @adlerjohn in #18
- Conditional jumps by @adlerjohn in #19
- Add opcodes for memory copy and compare. by @adlerjohn in #20
- Bunch of clarifications around the VM itself by @adlerjohn in #23
- Specify call and call frames by @adlerjohn in #24
- Add a readme description and organize files by @adlerjohn in #25
- Fix ownership base value for return values by @adlerjohn in #26
- Subsume special registers into regular registers by @adlerjohn in #28
- Fix transaction hash to be 32 bytes instead of uint64. by @adlerjohn in #29
- Fix wording for block hashes of negative-height blocks. by @adlerjohn in #30
- Fix pointer register naming by @adlerjohn in #31
- Minor fixes to crypto opcodes and add Merkle trees by @adlerjohn in #32
- Remove redundant combo arithmetic opcodes by @adlerjohn in #33
- Basic cleanup contract opcodes by @adlerjohn in #34
- Fix the register names used for SB and SW by @adlerjohn in #36
- Use last byte instead of first byte for SB by @adlerjohn in #37
- Define input predicate verification by @adlerjohn in #39
- Fix byte sizes in call frame to be aligned to words. by @adlerjohn in #42
- Cleanup description of special registers. by @adlerjohn in #44
- Add script and predicate data fields. by @adlerjohn in #43
- Fix predicate jump constraints by @adlerjohn in #45
- Specify intial transaction validity and standardness rules by @adlerjohn in #46
- Remove halt opcode by @adlerjohn in #48
- Add a one reserved register by @adlerjohn in #49
- Add NOT opcode by @adlerjohn in #50
- Bound the cost of all operations that operate on variable memory by @adlerjohn in #51
- Remove non-immediate jumps by @adlerjohn in #52
- Remove non-immediate jump references from predicate restrictions by @adlerjohn in #56
- Add operations that are easy to verify by @adlerjohn in #57
- Guarantee transaction length is invariant by @adlerjohn in #59
- Fix description of immediate multiples of 6 bits by @adlerjohn in #61
- Add variable output types by @adlerjohn in #60
- Add conditional contract output by @adlerjohn in #62
- Specify contexts by @adlerjohn in #63
- Make LOG be a no-op with params by @adlerjohn in #66
- Add error flags and overflow/underflow semantics by @adlerjohn in #67
- Improve and simplify gas accounting by @adlerjohn in #68
- Clarify some cases of how pc is advanced by @adlerjohn in #69
- Handle verify opcodes based on context by @adlerjohn in #70
- Specify panic logic by @adlerjohn in #71
- Add transfer opcode by @adlerjohn in #74
- Support forwarding coins with CALL by @adlerjohn in #76
- Add global gas register than only decrements. by @adlerjohn in #77
- Add unsafe math flag by @adlerjohn in #78
- Fix balance logic for transfers by @adlerjohn in #79
- Math flag fixes and improvements by @adlerjohn in #80
- Fix gas deduction on out-of-gas to only deduct from context gas by @adlerjohn in #81
- Add new transaction type to create contract by @adlerjohn in #83
- Restrict max created contract size by @adlerjohn in #84
- Refactor specs repo by @adlerjohn in #87
- Forbid writing to a reserved register by @adlerjohn in #91
- Add opcode to zero out memory by @adlerjohn in #92
- Fix opcodes to be ordered alphabetically. by @adlerjohn in #93
- Separate vm and protocols specs by @adlerjohn in #94
- Document tx lifecycle better by @adlerjohn in #95
- Add checks for input/output bounds. by @adlerjohn in #96
- Add LOADCODE opcode by @adlerjohn in #97
- Add explicit handling of unknown opcode by @adlerjohn in #98
- Cleanup and update readme by @adlerjohn in #99
- Add check for stack and heap collision for LOADCODE by @adlerjohn in #100
- Add withdrawal output type by @adlerjohn in #103
- Misc typo fixes by @adlerjohn in #104
- Enable fee collection by @adlerjohn in #107
- Chore: fix header size of withdrawal by @adlerjohn in #110
- Include bytecode as witness data for create contract tx by @adlerjohn in #113
- Add more metadata to inputs for easier fraud proofs by @adlerjohn in #114
- Move contract ID computation by @adlerjohn in #116
- Support native tokens by @adlerjohn in #117
- Add unconditional transfer opcode by @adlerjohn in #120
- Fix exp overflow width by @adlerjohn in #122
- Minor fixes by @adlerjohn in #123
- Fix VM init stack offset by @adlerjohn in #124
- Support loading of static contract code by @adlerjohn in #125
- Fix offset calculation for stack start initialization by @adlerjohn in #126
- Fix code root description by @adlerjohn in #128
- Rename opcode registers to ABCD by @adlerjohn in #131
- Add mint and burn opcodes by @adlerjohn in #132
- Define linting and formatting rules by @adlerjohn in #133
- Add markdown link checker CI by @adlerjohn in #136
- Make maturity fields 32 bits by @adlerjohn in #137
- Specify access lists by @adlerjohn in #140
- Add check for correctly-sized signature witness by @adlerjohn in #139
- Add check for correct contract ID by @adlerjohn in #138
- Add compressed transaction format by @adlerjohn in #135
- Fix balance type on VM init to be 8 bytes instead of 8 bits. by @adlerjohn in #142
- Fix spacing for panic conditions for LB and LW. by @adlerjohn in #143
- Fix color and contract ID compression by @adlerjohn in #144
- Fix formatting of bitwise or. by @adlerjohn in https://github...