Skip to main content

Solidity API

Settleable

Contract module that allows children to implement state settlement mechanisms.

This module is supposed to be used in layer 1 (settlement layer).

bridgeAddressSettleable

address bridgeAddressSettleable

_settleable

bool _settleable

_executeBatchNonce

mapping(uint72 => uint256) _executeBatchNonce

SettlementDisabled

event SettlementDisabled(address account)

Emitted when state settlement is diabled by account.

SettlementEnabled

event SettlementEnabled(address account)

Emitted when state settlement is enabled by account.

constructor

constructor(address bridgeAddress) internal

receiveRollupInfo

function receiveRollupInfo(struct RollupInfo rollupInfo, bytes state, bytes32[] proof) external

Receives rollup info.

Requirements:

  • {_settleable} must be true.
  • It must be called only by the bridge.
  • Batch index must be valid.
  • Merkle proof must be verified.

_disableSettlement

function _disableSettlement() internal

_enableSettlement

function _enableSettlement() internal

_settle

function _settle(address, uint16, struct KeyValuePair[]) internal virtual

_It is implemented in the following:

  • ERC20Settleable
  • ERC721Settleable
  • ERC20RollupHandler
  • NativeTokenHandler_

_isSettleable

function _isSettleable() internal view virtual returns (bool)

Returns true if the contract is Settleable, and false otherwise.

NameTypeDescription
[0]booltrue if Settleable. otherwise, false.