Valorem Clear v1.0.0
This release contains the first stable version of the Valorem Clearinghouse, v1.0.0.
Thanks to all those who made this possible!
What's Changed
- add license by @0xAlcibiades in #1
- Basic ability to write options by @0xAlcibiades in #2
- Ability to exercise option by @0xAlcibiades in #3
- tests for newChain, write by @cranium7811 in #5
- tests and additional checks by @cranium7811 in #7
- redeem, testRedeem by @cranium7811 in #9
- Gas optimizations in storage structs by @0xAlcibiades in #10
- Exercise Assignment by @0xAlcibiades in #11
- Add require by @0xAlcibiades in #18
- fix bug in exercise logic by @0xAlcibiades in #19
- Clean up outstanding tasks, annotate code by @0xAlcibiades in #20
- Interface for options engine by @0xAlcibiades in #21
- cleanup readme by @0xAlcibiades in #22
- Event architecture and implementation by @0xAlcibiades in #24
- add interface for IERC1155Metadata by @0xAlcibiades in #26
- retests with interface by @cranium7811 in #27
- Add underlying info by @0xAlcibiades in #28
- Audit by @pegahcarter in #30
- add some natspec by @0xAlcibiades in #31
- clean test file for reimplemenation by @0xAlcibiades in #33
- Use the vm from forge-std for clarity by @0xAlcibiades in #34
- save one warm storage read by @0xAlcibiades in #35
- the test condition was always false by @0xAlcibiades in #36
- workaround setFeeTo issue by @0xAlcibiades in #37
- working expect revert by @0xAlcibiades in #38
- tests by @pegahcarter in #39
- test: redeem and some fuzzing by @pegahcarter in #40
- Tests: more passing by @pegahcarter in #41
- Fix broken test implementations by @0xAlcibiades in #42
- add smart contract docs to readme by @0xAlcibiades in #46
- fix
assignExercise
by @lonerapier in #47 - Ensure underlying function doesn't revert when not exercised by @thal0x in #49
- add coverage to ci by @thal0x in #51
- Implement tokenURI for options positions by @thal0x in #53
- autoformat and update deps by @0xAlcibiades in #57
- fix tests by @0xAlcibiades in #58
- format function tokenType to solidity by @RyanSea in #55
- natspecify + docs by @Flip-Liquid in #59
- rename option chain -> option type by @Flip-Liquid in #62
- Encode option and claim ids in token ID by @Flip-Liquid in #65
- normalize error interfaces by @0xAlcibiades in #64
- Underlying test by @Flip-Liquid in #63
- add ability to write more options for a claim by @Flip-Liquid in #68
- Feature/add event tests by @neodaoist in #67
- Pre audit cleanup by @0xAlcibiades in #80
- Bucket claims by day to cap exercise assignment runtime complexity by @Flip-Liquid in #69
- Feature/better event assertions by @neodaoist in #83
- Remove duplicative require statement from write() by @neodaoist in #88
- Additional tests + NatSpec for encoding/decoding by @neodaoist in #89
- fuzz gas test by @Flip-Liquid in #91
- Add lcov and slither to CI pipeline by @neodaoist in #92
- ⛽ Optimize newOptionType() by @neodaoist in #95
- impl unexercised list of buckets for write & assign exercise by @Flip-Liquid in #93
- More test coverage on sad paths by @neodaoist in #94
- test fixes + explicit option balance check by @Flip-Liquid in #100
- add explicit error code for insufficient fungible options balance by @Flip-Liquid in #102
- Underlying() fix for fungible options + test fixups / coverage + drop dead code by @Flip-Liquid in #103
- Standardize member naming and ordering by @neodaoist in #99
- Improve docs by @neodaoist in #84
- fix tests with removing bucket accessor by @Flip-Liquid in #105
- Move feeTo from hardcoded to constructor arg by @neodaoist in #112
- fixups by @Flip-Liquid in #106
- Fix codecov; Fix Cucumber link; Address solhint warning by @neodaoist in #117
- Expand different decimals test by @neodaoist in #115
- Fix NewOptionType event test by @neodaoist in #114
- Fix fee sweeping tests by @neodaoist in #113
- Remove dupe functions by @neodaoist in #119
- 🔧 Foundry project maintenance and NatSpec by @neodaoist in #120
- uri adapter by @Flip-Liquid in #122
- Review feedback by @Flip-Liquid in #123
- Add basic gas report by @neodaoist in #125
- Fix write() event emission bug; Gas golf write() by @neodaoist in #126
- Move event emissions before mint/burn and transfers by @neodaoist in #131
- Add zero address check in constructor by @neodaoist in #134
- Perform multiplication before division for fee calculations by @neodaoist in #132
- fix duplicate event emission by @0xAlcibiades in #144
- fix write logic bug by simplifying write logic by @0xAlcibiades in #130
- ✨ Add fee switch by @neodaoist in #142
- Event audit for subgraph by @0xAlcibiades in #145
- Rehash storage layout by @0xAlcibiades in #146
- Remove internal _claim map by @Flip-Liquid in #141
- Make terms consistent by @0xAlcibiades in #147
- Natspec, Ontology, Interface cleanup by @0xAlcibiades in #149
- Cleanup, document, natspec for contract by @0xAlcibiades in #150
- Add basic deploy script by @neodaoist in #153
- Add ASCII art by @0xAlcibiades in #155
- Initial test suite re-org by @neodaoist in #152
- Prevent zero risk arbitrage by writing into bucket getting exercised by @0xAlcibiades in #154
- Doc, naming, ordering, copyrights by @neodaoist in #157
- Rename Underlying to Position — why overload
Underlying
? by @neodaoist in #158 - Audit fixes remove enum by @Flip-Liquid in #160
- Invariant test stub by @neodaoist in #159
- Quantify and test rounding dust by @0xAlcibiades in #163
- Fix reentrancy by @0xAlcibiades in #165
- change calldata by @0xAlcibiades in #166
- add check and test for minimum asset amounts for new option types by @Flip-Liquid in #164
- Reorganize unit/integration tests and deduplicate by @0xAlcibiades in #168
- ✨ Implement 2-step feeTo address update by @neodaoist in #169
- invariant tests by @Flip-Liquid in #162
- remaining todos for unit tests from audit threat model by @0xAlcibiades in #171
- Addressing zellic audit findings by @0xAlcibiades in #143
- NatSpec ordering; README update by @neodaoist in #174
- Deterministic deploys by @neodaoist in #175
- Support off-chain claim accounting via bucket events by @neodaoist in #185
- ♻️ Address Zellic audit 2 feedback 3.1 by @neodaoist in #198
- Final prep by @neodaoist in #201
- Zellic audit #2 feedback by @neodaoist in #199
- Clarify NatSpec on exercise assignment by @neodaoist in #204
New Contributors
- @0xAlcibiades made their first contribution in #1
- @cranium7811 made their first contribution in #5
- @pegahcarter made their first contribution in #30
- @lonerapier made their first contribution in #47
- @thal0x made their first contribution in #49
- @RyanSea made their first contribution in #55
Full Changelog: https://github.com/valorem-labs-inc/valorem-core/commits/v1.0.0