This repository has been archived by the owner on Mar 12, 2024. It is now read-only.
0.9.0
Added
- Added support to Cartesi Machine snapshots
- Script for updating proofs used in unit tests
- Authority consensus model implementation (single validator)
- Simple claim storage implementation (one claim per DApp)
- Library that defines several constants related to the canonical off-chain machine
- Added integration tests for proxy
- DApp Address Relay contract (allows the off-chain machine to know the DApp's address)
- Added outputs to rollups events
- Added new indexer that consumes broker events
Changed
- Simplified the on-chain architecture (not backwards-compatible)
- Adopted Foundry for contract testing (Hardhat is still being used for deployment)
CartesiDApp
does not implement EIP-2535 anymore- Made each Portal a contract of their own, and shared amongst all the DApps
- Made inputs added by Portals more compact by using the packed ABI encoding instead of the standard one
- Made ERC-20 deposits more generic by allowing base layer transfers to fail, and adding a boolean field signaling whether it was successful or not
- Made ERC-721 deposits more generic by adding an arbitrary data field to be interpreted by the off-chain machine in the execution layer
- Moved the input boxes of every DApp into a single, permissionless contract
- Input boxes are now append-only—they are not cleared every new epoch (old Input Facet)
- Modularized the consensus layer (a DApp can now seamlessly change its consensus model)
- Modularized the claim storage layer (a consensus can now seamlessly change how it stores claims)
- Voucher bitmask position is now determined by the input index (in the input box) and output index
- Validators need now to specify the range of inputs of each claim they submit on-chain
- Refactor GraphQL API for simplified architecture
- Bumped grpc-interfaces to 0.12.0
- Changed inspect-server to use new server-manager interface
- Changed advance-runner to use new server-manager interface
Removed
- Setup Input
- Quorum consensus model implementation (up to 8 validators)
- Bank contract
- DApp configuration parameters related to the off-chain machine specs (now defined as constants)
- Removed
epochIndex
field fromOutputValidityProof
struct - Removed headers from inputs added by trusted permissionless contracts like portals and relayers
- Remove polling-based indexer