Skip to content

Releases: cartesi/rollups-contracts

v2.0.0-rc.6

07 Aug 19:47
Compare
Choose a tag to compare
v2.0.0-rc.6 Pre-release
Pre-release

Major Changes

  • f8c25e9: Added a lastProcessedBlockNumber parameter to IConsensus functions and events.

  • 3d40890: Removed authorityOwner parameter from AuthorityCreated event.

  • 7f27379: Added an epochLength parameter to functions of:

    • IAuthorityFactory
    • ISelfHostedApplicationFactory
    • IQuorumFactory

Minor Changes

  • 7f27379: Added a getEpochLength function to IConsensus interface.

v2.0.0-rc.5

15 Jul 20:00
Compare
Choose a tag to compare
v2.0.0-rc.5 Pre-release
Pre-release

Major Changes

  • 5b46210: Add validateOutputHash function to IApplication

  • 5b46210: Removed InputRange struct

  • 5b46210: Refactored IConsensus

    • Removed InputRange from functions and events
    • Claim is now output hashes root hash
    • Replaced getEpochHash with wasClaimAccepted
  • 5b46210: Updated wasOutputExecuted function signature

    • Removed inputIndex parameter
    • Renamed outputIndexWithinInput as outputIndex
  • 5b46210: Remove functions getInputBox and getPortals from IApplication

  • 5b46210: Removed parameters from Application contracts

    • IInputBox (not used)
    • IPortals[] (wasted gas on SSTORE, not used)
  • 5b46210: Removed support to ERC-165 (not used)

  • 5b46210: Remove IInputBox and IPortal[] parameters from IApplicationFactory and ISelfHostedApplicationFactory functions and events

  • 5b46210: Completely restructured OutputValidityProof

    • Removed all fields
    • Added outputIndex
    • Added outputHashesSiblings

v2.0.0-rc.4

28 Jun 13:28
Compare
Choose a tag to compare
v2.0.0-rc.4 Pre-release
Pre-release

Major Changes

  • 446d05a: Add the following fields as the input metadata:

    • The application contract address
    • The chain ID
    • The latest RANDAO mix of the post beacon state of the previous block
  • eee5e13: Removed ENS-related contracts

Minor Changes

  • eee5e13: Deploy contracts to Ethereum Sepolia
  • eee5e13: Add SafeERC20Transfer to deploy script
  • eee5e13: Add QuorumFactory to deploy script

v2.0.0-rc.3

16 May 17:52
Compare
Choose a tag to compare
v2.0.0-rc.3 Pre-release
Pre-release

Major Changes

  • 472eb80: Added contract AssetTransferToENS that can be used as a destination for DELEGATECALL vouchers to transfer assets to ENS-identified accounts.
    Added library LibAddress for safe low level call and safe delegate call.
  • cae579d: Added ENS Portal.
    Added a new input encoding for ENS inputs.

Minor Changes

  • 5559379: Add a contract for safe ERC20 transfers. This can be used by delegatecall vouchers.
  • d4c1164: Add self-hosted application factory contract
  • 8e958f2: Supported the execution of DELEGATECALL vouchers

v1.4.0

22 Apr 15:08
Compare
Choose a tag to compare

Minor Changes

  • fe97347: Remove arbitrum goerli and optimism goerli configuration
  • c2c239e: Add self-hosted application factory contract

v1.3.1

15 Apr 15:32
Compare
Choose a tag to compare

Patch Changes

v1.3.0

11 Apr 19:22
Compare
Choose a tag to compare

Minor Changes

  • 705bfa5: Support deployment to base network.

v2.0.0-rc.2

27 Mar 16:23
Compare
Choose a tag to compare
v2.0.0-rc.2 Pre-release
Pre-release

Major Changes

  • 91d1c11: Remove EvmInspect function

Minor Changes

  • 91d1c11: Rename parameters of EvmAdvance function

v2.0.0-rc.1

30 Jan 22:50
Compare
Choose a tag to compare
v2.0.0-rc.1 Pre-release
Pre-release

Patch Changes

  • f29b098: Adjusted the GitHub Action that publishes the Rust bindings to crates.io.

    • Initialize git submodules recursively
    • Install the foundry toolkit

v2.0.0-rc.0

30 Jan 22:29
Compare
Choose a tag to compare
v2.0.0-rc.0 Pre-release
Pre-release

Major Changes

  • d8561fe: Modified the OutputValidityProof struct:

    • Collapsed the vouchersEpochRootHash and noticesEpochRootHash fields into a single outputsEpochRootHash field
    • Added an inputRange field
  • d8561fe: Modified the ERC-20 deposit input:

    • Removed the success field, because the ERC-20 portal now only adds inputs for successful deposits.
  • d8561fe: Modified the CanonicalMachine library:

    • Collapsed the VOUCHER_METADATA_LOG2_SIZE and NOTICE_METADATA_LOG2_SIZE constants into a single OUTPUT_METADATA_LOG2_SIZE constant (with the same value).
    • Collapsed the EPOCH_VOUCHER_LOG2_SIZE and EPOCH_NOTICE_LOG2_SIZE constants into a single EPOCH_OUTPUT_LOG2_SIZE constant (with the same value).
    • Updated the value of the INPUT_MAX_SIZE constant to reflect a change in the off-chain machine.
  • d8561fe: Modified the EtherPortal contract:

    • Made it support the following interfaces (as in EIP-165):

      • IERC165
      • IInputRelay
      • IEtherPortal
  • d8561fe: Modified the AbstractConsensus contract:

    • Removed the join function
    • Implemented the getEpochHash function
    • Added an internal _acceptClaim function
  • 13eb18a: Inputs are now blockchain-agnostic and self-contained blobs.

  • 4e2533e: Include application address in EvmAdvance input.

  • d8561fe: Modified the IInputRelay interface:

    • Made it inherit from IERC165
  • d8561fe: Modified the ERC1155BatchPortal contract:

    • Made it support the following interfaces (as in EIP-165):

      • IERC165
      • IInputRelay
      • IERC1155BatchPortal
  • d8561fe: Modified the IEtherPortal interface:

    • Added an EtherTransferFailed error.
  • d8561fe: Bumped @openzeppelin/contracts from 4.9.2 to 5.0.0.

  • d8561fe: Moved Proof to a dedicated file in the common directory.

  • f39e4ef: Added a value field to vouchers.

  • d8561fe: Moved OutputValidityProof to a dedicated file in the common directory.

  • d8561fe: Modified the ICartesiDAppFactory interface:

    • Renamed it as IApplicationFactory.

    • Added the following parameters to its functions and events:

      • inputBox
      • inputRelays
  • d8561fe: Modified the CartesiDApp contract:

    • Renamed it as Application.

    • Added the following parameters to its constructor:

      • inputBox
      • inputRelays
    • Made it support the following interfaces (as in EIP-165):

      • IApplication
      • IERC721Receiver
    • Removed the withdrawEther function.

    • Removed the OnlyApplication error.

    • Removed the EtherTransferFailed error.

  • d8561fe: Modified the ERC1155SinglePortal contract:

    • Made it support the following interfaces (as in EIP-165):

      • IERC165
      • IInputRelay
      • IERC1155SinglePortal
  • d8561fe: Removed:

    • the History contract.
    • the IHistory interface.
    • the HistoryFactory contract.
    • the IHistoryFactory interface.
    • the AuthorityHistoryPairFactory contract.
    • the IAuthorityHistoryPairFactory interface.
    • the OutputEncoding library.
    • the LibInput library.
    • the ApplicationAddressRelay contract.
    • the IApplicationAddressRelay interface.
  • 8892a88: Include chain ID in EvmAdvance input.

  • d8561fe: Modified the ICartesiDApp interface:

    • Renamed it as IApplication.

    • Made it inherit from:

      • IERC721Receiver.
      • IERC1155Receiver (which inherits from IERC165).
    • Modified the executeVoucher function:

      • Renamed it as executeOutput.
      • Errors raised by low-level calls are bubbled up.
      • Changed the type of the proof parameter to OutputValidityProof.
      • Removed the boolean return value.
    • Modified the validateNotice function:

      • Renamed it as validateOutput.
      • Changed type of the proof parameter to OutputValidityProof.
      • Removed the boolean return value.
    • Modified the VoucherExecuted event:

      • Renamed it as OutputExecuted.
      • Split the voucherId parameter into inputIndex and outputIndexWithinInput parameters.
      • Added an output parameter.
    • Modified the wasVoucherExecuted function:

      • Renamed it as wasOutputExecuted.
    • Added a getInputBox function.

    • Added a getInputRelays function.

    • Added an InputIndexOutOfRange error.

    • Added an OutputNotExecutable error.

    • Added an OutputNotReexecutable error.

    • Added an IncorrectEpochHash error.

    • Added an IncorrectOutputsEpochRootHash error.

    • Added an IncorrectOutputHashesRootHash error.

  • 13eb18a: Modified the IInputBox interface:

    • Modified the InputAdded event:

      • Removed the sender parameter.
      • Changed the semantics of the input parameter.
    • Added an InputTooLarge error.

  • d8561fe: Modified the CartesiDAppFactory contract:

    • Renamed it as ApplicationFactory.
  • d8561fe: Modified the InputRelay contract:

    • Made it support the following interfaces (as in EIP-165):

      • IERC165
      • IInputRelay
  • d8561fe: Modified the Authority contract:

    • Removed the AuthorityWithdrawalFailed error
    • Removed the NewHistory event
    • Removed the getClaim function
    • Removed the getHistory function
    • Removed the join function
    • Removed the migrateHistoryToConsensus function
    • Removed the setHistory function
    • Removed the submitClaim(bytes) function
    • Removed the withdrawERC20Tokens function
    • Implemented the submitClaim(address,(uint64,uint64),bytes32) function
  • d8561fe: Completely modified the IConsensus interface:

    • Removed the join function
    • Removed the getClaim function
    • Removed the ApplicationJoined event
    • Added a submitClaim function
    • Added a getEpochHash function
    • Added a ClaimSubmission event
    • Added a ClaimAcceptance event
  • d8561fe: Bumped the Solidity compiler from 0.8.19 to 0.8.23.

  • d8561fe: Modified the IERC20Portal interface:

    • Added an ERC20TransferFailed error.
  • d8561fe: Modified the ERC20Portal contract:

    • Made it support the following interfaces (as in EIP-165):

      • IERC165
      • IInputRelay
      • IERC20Portal
  • d8561fe: Removed deployments to Goerli testnets (L1 and L2s).

  • d8561fe: Modified the ERC721Portal contract:

    • Made it support the following interfaces (as in EIP-165):

      • IERC165
      • IInputRelay
      • IERC721Portal

Minor Changes

  • d8561fe: Added:

    • an Outputs interface
    • an InputRange struct
    • a LibInputRange library
    • a Quorum contract (which implements the IConsensus interface)
    • a QuorumFactory contract
    • an IQuorumFactory interface