Skip to content
This repository has been archived by the owner on Mar 12, 2024. It is now read-only.

0.9.0

Compare
Choose a tag to compare
@gligneul gligneul released this 19 May 17:01
· 166 commits to main since this release
v0.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 from OutputValidityProof struct
  • Removed headers from inputs added by trusted permissionless contracts like portals and relayers
  • Remove polling-based indexer