PolygonRollupBaseEtrogNoGap.sol
Functions¶
constructor
¶
function constructor(
contract IPolygonZkEVMGlobalExitRootV2 _globalExitRootManager,
contract IERC20Upgradeable _pol,
contract IPolygonZkEVMBridgeV2 _bridgeAddress,
contract PolygonRollupManager _rollupManager
) public
Parameters¶
Name | Type | Description |
---|---|---|
_globalExitRootManager |
contract IPolygonZkEVMGlobalExitRootV2 | Global exit root manager address. |
_pol |
contract IERC20Upgradeable | POL token address. |
_bridgeAddress |
contract IPolygonZkEVMBridgeV2 | Bridge address. |
_rollupManager |
contract PolygonRollupManager | Global exit root manager address. |
initializeMigration
¶
function initializeMigration(
) external
sequenceBatchesValidium
¶
Allows a sequencer to send multiple batches.
function sequenceBatchesValidium(
struct PolygonValidiumStorageMigration.ValidiumBatchData[] batches,
uint64 maxSequenceTimestamp,
uint64 initSequencedBatch,
address l2Coinbase,
bytes dataAvailabilityMessage
) external
Parameters¶
Name | Type | Description |
---|---|---|
batches |
struct PolygonValidiumStorageMigration.ValidiumBatchData[] | Struct array which holds the data necessary for appending new batches to the sequence. |
maxSequenceTimestamp |
uint64 | Max timestamp of the sequence. This timestamp must be within a safety range (actual + 36 seconds). It should be equal or greater than the last block inside the sequence. Otherwise the batch is invalidated by the circuit. |
initSequencedBatch |
uint64 | This parameter must match the current last batch sequenced. This is a protection mechanism against the sequencer sending undesired data. |
l2Coinbase |
address | Address that will receive the fees from L2. |
dataAvailabilityMessage |
bytes | Byte array containing the signatures and all the addresses of the committee in ascending order [signature 0, …, signature requiredAmountOfSignatures -1, address 0, … address N] Note that al signatures are ECDSA, therefore each must be 65 bytes long. |
Note that POL is not a reentrant token.
sequenceBatches
¶
Allows a sequencer to send multiple batches.
function sequenceBatches(
struct PolygonRollupBaseEtrogNoGap.BatchData[] batches,
uint64 maxSequenceTimestamp,
uint64 initSequencedBatch,
address l2Coinbase
) public
Parameters¶
Name | Type | Description |
---|---|---|
batches |
struct PolygonRollupBaseEtrogNoGap.BatchData[] | Struct array which holds the data necessary for appending new batches to the sequence. |
maxSequenceTimestamp |
uint64 | Max timestamp of the sequence. The timestamp must be within a safety range (actual + 36 seconds). It should be equal or greater than the last block inside the sequence. Otherwise the batch is invalidated by the circuit. |
initSequencedBatch |
uint64 | This parameter must match the current last batch sequenced. This is a protection mechanism against the sequencer sending undesired data. |
l2Coinbase |
address | Address that will receive the fees from L2. Note that POL is not a reentrant token. |
setDataAvailabilityProtocol
¶
Allows the admin to set a new data availability protocol.
function setDataAvailabilityProtocol(
contract IDataAvailabilityProtocol newDataAvailabilityProtocol
) external
Parameters¶
Name | Type | Description |
---|---|---|
newDataAvailabilityProtocol |
contract IDataAvailabilityProtocol | Address of the new data availability protocol. |
switchSequenceWithDataAvailability
¶
Allows the admin to switch the sequencing functionality to a data availability configuration.
function switchSequenceWithDataAvailability(
bool newIsSequenceWithDataAvailabilityAllowed
) external
Parameters¶
Name | Type | Description |
---|---|---|
newIsSequenceWithDataAvailabilityAllowed |
bool | Boolean to switch. |
Events¶
SetDataAvailabilityProtocol
¶
Emitted when the admin updates the data availability protocol.
event SetDataAvailabilityProtocol(
)
SwitchSequenceWithDataAvailability
¶
Emitted when switching the sequencing functionality to a data availability configuration.
event SwitchSequenceWithDataAvailability(
)