Releases: cartesi/rollups-contracts
v2.0.0-rc.6
Major Changes
-
f8c25e9: Added a
lastProcessedBlockNumber
parameter toIConsensus
functions and events. -
3d40890: Removed
authorityOwner
parameter fromAuthorityCreated
event. -
7f27379: Added an
epochLength
parameter to functions of:IAuthorityFactory
ISelfHostedApplicationFactory
IQuorumFactory
Minor Changes
- 7f27379: Added a
getEpochLength
function toIConsensus
interface.
v2.0.0-rc.5
Major Changes
-
5b46210: Add
validateOutputHash
function toIApplication
-
5b46210: Removed
InputRange
struct -
5b46210: Refactored
IConsensus
- Removed
InputRange
from functions and events - Claim is now output hashes root hash
- Replaced
getEpochHash
withwasClaimAccepted
- Removed
-
5b46210: Updated
wasOutputExecuted
function signature- Removed
inputIndex
parameter - Renamed
outputIndexWithinInput
asoutputIndex
- Removed
-
5b46210: Remove functions
getInputBox
andgetPortals
fromIApplication
-
5b46210: Removed parameters from
Application
contractsIInputBox
(not used)IPortals[]
(wasted gas onSSTORE
, not used)
-
5b46210: Removed support to ERC-165 (not used)
-
5b46210: Remove
IInputBox
andIPortal[]
parameters fromIApplicationFactory
andISelfHostedApplicationFactory
functions and events -
5b46210: Completely restructured
OutputValidityProof
- Removed all fields
- Added
outputIndex
- Added
outputHashesSiblings
v2.0.0-rc.4
v2.0.0-rc.3
Major Changes
- 472eb80: Added contract
AssetTransferToENS
that can be used as a destination forDELEGATECALL
vouchers to transfer assets to ENS-identified accounts.
Added libraryLibAddress
for safe low level call and safe delegate call. - cae579d: Added ENS Portal.
Added a new input encoding for ENS inputs.
Minor Changes
v1.4.0
v1.3.1
v1.3.0
v2.0.0-rc.2
v2.0.0-rc.1
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
Major Changes
-
d8561fe: Modified the
OutputValidityProof
struct:- Collapsed the
vouchersEpochRootHash
andnoticesEpochRootHash
fields into a singleoutputsEpochRootHash
field - Added an
inputRange
field
- Collapsed the
-
d8561fe: Modified the ERC-20 deposit input:
- Removed the
success
field, because the ERC-20 portal now only adds inputs for successful deposits.
- Removed the
-
d8561fe: Modified the
CanonicalMachine
library:- Collapsed the
VOUCHER_METADATA_LOG2_SIZE
andNOTICE_METADATA_LOG2_SIZE
constants into a singleOUTPUT_METADATA_LOG2_SIZE
constant (with the same value). - Collapsed the
EPOCH_VOUCHER_LOG2_SIZE
andEPOCH_NOTICE_LOG2_SIZE
constants into a singleEPOCH_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.
- Collapsed the
-
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
- Removed the
-
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
- Made it inherit from
-
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.
- Added an
-
d8561fe: Bumped
@openzeppelin/contracts
from4.9.2
to5.0.0
. -
d8561fe: Moved
Proof
to a dedicated file in thecommon
directory. -
f39e4ef: Added a
value
field to vouchers. -
d8561fe: Moved
OutputValidityProof
to a dedicated file in thecommon
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.
- the
-
8892a88: Include chain ID in
EvmAdvance
input. -
d8561fe: Modified the
ICartesiDApp
interface:-
Renamed it as
IApplication
. -
Made it inherit from:
IERC721Receiver
.IERC1155Receiver
(which inherits fromIERC165
).
-
Modified the
executeVoucher
function:- Renamed it as
executeOutput
. - Errors raised by low-level calls are bubbled up.
- Changed the type of the
proof
parameter toOutputValidityProof
. - Removed the boolean return value.
- Renamed it as
-
Modified the
validateNotice
function:- Renamed it as
validateOutput
. - Changed type of the
proof
parameter toOutputValidityProof
. - Removed the boolean return value.
- Renamed it as
-
Modified the
VoucherExecuted
event:- Renamed it as
OutputExecuted
. - Split the
voucherId
parameter intoinputIndex
andoutputIndexWithinInput
parameters. - Added an
output
parameter.
- Renamed it as
-
Modified the
wasVoucherExecuted
function:- Renamed it as
wasOutputExecuted
.
- Renamed it as
-
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.
- Removed the
-
Added an
InputTooLarge
error.
-
-
d8561fe: Modified the
CartesiDAppFactory
contract:- Renamed it as
ApplicationFactory
.
- Renamed it as
-
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
- Removed the
-
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
- Removed the
-
d8561fe: Bumped the Solidity compiler from
0.8.19
to0.8.23
. -
d8561fe: Modified the
IERC20Portal
interface:- Added an
ERC20TransferFailed
error.
- Added an
-
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 theIConsensus
interface) - a
QuorumFactory
contract - an
IQuorumFactory
interface
- an