diff --git a/packages/contracts/contracts/optimistic-ethereum/OVM/chain/OVM_CanonicalTransactionChain.sol b/packages/contracts/contracts/optimistic-ethereum/OVM/chain/OVM_CanonicalTransactionChain.sol index 30ef9e6a494466412949f890e308f6b601092d62..e85bd30617043cda02557a17822ed213d071f182 100644 --- a/packages/contracts/contracts/optimistic-ethereum/OVM/chain/OVM_CanonicalTransactionChain.sol +++ b/packages/contracts/contracts/optimistic-ethereum/OVM/chain/OVM_CanonicalTransactionChain.sol @@ -172,7 +172,9 @@ contract OVM_CanonicalTransactionChain is iOVM_CanonicalTransactionChain, OVM_Ba queue.push2(transactionHash, timestampAndBlockNumber, bytes28(0)); - emit QueueTransactionAppended(transaction, timestampAndBlockNumber); + (, uint32 nextQueueIndex) = _getLatestBatchContext(); + // TODO: Evaluate if we need timestamp + emit TransactionEnqueued(transaction, nextQueueIndex - 1, block.timestamp); } /** @@ -203,7 +205,7 @@ contract OVM_CanonicalTransactionChain is iOVM_CanonicalTransactionChain, OVM_Ba _numQueuedTransactions ); - emit ChainBatchAppended( + emit QueueBatchAppended( nextQueueIndex - _numQueuedTransactions, _numQueuedTransactions ); @@ -271,6 +273,10 @@ contract OVM_CanonicalTransactionChain is iOVM_CanonicalTransactionChain, OVM_Ba } } + require( + numSequencerTransactionsProcessed == _transactions.length, + "Not all sequencer transactions were processed." + ); require( transactionIndex == _totalElementsToAppend, "Actual transaction index does not match expected total elements to append." @@ -283,7 +289,7 @@ contract OVM_CanonicalTransactionChain is iOVM_CanonicalTransactionChain, OVM_Ba numQueuedTransactions ); - emit ChainBatchAppended( + emit SequencerBatchAppended( nextQueueIndex - numQueuedTransactions, numQueuedTransactions ); diff --git a/packages/contracts/contracts/optimistic-ethereum/iOVM/chain/iOVM_CanonicalTransactionChain.sol b/packages/contracts/contracts/optimistic-ethereum/iOVM/chain/iOVM_CanonicalTransactionChain.sol index b527d7133a66fb61db9cfa6132e1dc812f9e2267..5027004121be9bdba916ef6bc53f51e68bf1655b 100644 --- a/packages/contracts/contracts/optimistic-ethereum/iOVM/chain/iOVM_CanonicalTransactionChain.sol +++ b/packages/contracts/contracts/optimistic-ethereum/iOVM/chain/iOVM_CanonicalTransactionChain.sol @@ -17,12 +17,18 @@ interface iOVM_CanonicalTransactionChain is iOVM_BaseChain { * Events * **********/ - event QueueTransactionAppended( + event TransactionEnqueued( bytes _transaction, - bytes32 _timestampAndBlockNumber + uint _queueIndex, + uint _timestamp ); - event ChainBatchAppended( + event QueueBatchAppended( + uint256 _startingQueueIndex, + uint256 _numQueueElements + ); + + event SequencerBatchAppended( uint256 _startingQueueIndex, uint256 _numQueueElements );