{address:awaitl1MessengerImpersonator.getAddress()}// This allows us to use an ethers override {from: Mock__L2CrossDomainMessenger.address} to mock calls
{address:awaitl1MessengerImpersonator.getAddress()}// This allows us to use an ethers override {from: Mock__L2CrossDomainMessenger.address} to mock calls
it('onlyFromCrossDomainAccount: should revert on calls from the right crossDomainMessenger, but wrong xDomainMessageSender (ie. not the L2DepositedERC20)',async()=>{
it('onlyFromCrossDomainAccount: should revert on calls from the right crossDomainMessenger, but wrong xDomainMessageSender (ie. not the L2DepositedERC20)',async()=>{
@@ -261,7 +261,7 @@ The logic of `appendStateBatch()` will compute the Merkle root of the batches an
...
@@ -261,7 +261,7 @@ The logic of `appendStateBatch()` will compute the Merkle root of the batches an
##### `appendStateBatch()` requirements
##### `appendStateBatch()` requirements
- The batch may not be empty, at least one new state root must be added
- The batch may not be empty, at least one new state root must be added
- The `OVM_BondManager.isCollateralized(msg.sender)` must return `true`
- The `BondManager.isCollateralized(msg.sender)` must return `true`
- The resulting number of elements in the SCC (ie. all state commitments, not batches) must be less than or equal to the number of elements (ie. transactions) in the CTC.
- The resulting number of elements in the SCC (ie. all state commitments, not batches) must be less than or equal to the number of elements (ie. transactions) in the CTC.