- Need to clean up the suite of tests more dev friendly (remove commented out code, clean up variables, assertions, update imports, Github lines, etc.) (IN PROGRESS)
- Create an AccessControl contract that Flags makes cross-contract calls to. (DONE)
- Create a Consumer contract that matches the one used in Flags tests (FlagsTestHelper). (DONE)
- Create a FluxTestHelper contract that matches the one used in ACA tests (FluxTestHelper). (DONE)
- Create a SimpleReadAccessController contract that matches the one used in EAC tests (SimpleReadAccessController) (DONE).
- Create a MockV3Aggregator contract that matches the one used in EAC tests (MockV3Aggregator) (DONE).
- Port the rest of Flux Aggregator tests (DONE ~110/148 PASSING)
- Port the rest of Flags tests (DONE 30/30 PASSING)
- Port the rest of AccessControlledAggregator tests (DONE 16/16 PASSING)
- Port the rest of EACAggregator tests (DONE 2/12 PASSING)
- Port the rest of SimpleReadAccessController tests (IN PROGRESS)
- Port the rest of SimpleWriteAccessController tests (IN PROGRESS)
- Port the rest of AggregatorProxy tests (IN PROGRESS)
- Fix bugs in suite of tests (IN PROGRESS)
- Implement transfer_and_call functionality into Fungible token standard, fix breaking changes. (DONE)
- Create a https://github.com/smartcontractkit/chainlink/blob/develop/evm-contracts/src/v0.6/tests/FluxAggregatorTestHelper.sol contract account for tests (DONE)
- Brainstorm and implement a better way of handling is_none cases, such as 0 states (DONE)
- Uncomment test with TODO comments to debug
- Look into Contract A calling Contract A function that returns bool or value from Promise (DONE)
- Assert that contracts have limited interfaces
- Refactor smart contracts into traits/implementations for composability, optimize read/writes from storage for gas.
- Implement a solution for havoc caused in data types due to Solidity vs Rust different data types.
- Check out bugs in describe block here: https://github.com/smartcontractkit/chainlink-brownie-contracts/blob/8071761a5b0e5444fc0de1751b7b398caf69ced4/contracts/test/v0.6/FluxAggregator.test.ts#L610 (increaseTimeBy evm function)
- Revisit validate_answer function