// L1StandardBridgeERC20DepositInitiatedIterator is returned from FilterERC20DepositInitiated and is used to iterate over the raw logs and unpacked data for ERC20DepositInitiated events raised by the L1StandardBridge contract.
// L1StandardBridgeERC20DepositInitiated represents a ERC20DepositInitiated event raised by the L1StandardBridge contract.
typeL1StandardBridgeERC20DepositInitiatedstruct{
L1Tokencommon.Address
L2Tokencommon.Address
Fromcommon.Address
Tocommon.Address
Amount*big.Int
Data[]byte
Rawtypes.Log// Blockchain specific contextual infos
}
// FilterERC20DepositInitiated is a free log retrieval operation binding the contract event 0x718594027abd4eaed59f95162563e0cc6d0e8d5b86b1c7be8b1b0ac3343d0396.
// WatchERC20DepositInitiated is a free log subscription operation binding the contract event 0x718594027abd4eaed59f95162563e0cc6d0e8d5b86b1c7be8b1b0ac3343d0396.
// L1StandardBridgeERC20WithdrawalFinalizedIterator is returned from FilterERC20WithdrawalFinalized and is used to iterate over the raw logs and unpacked data for ERC20WithdrawalFinalized events raised by the L1StandardBridge contract.
Rawtypes.Log// Blockchain specific contextual infos
}
// FilterERC20WithdrawalFinalized is a free log retrieval operation binding the contract event 0x3ceee06c1e37648fcbb6ed52e17b3e1f275a1f8c7b22a84b2b84732431e046b3.
// WatchERC20WithdrawalFinalized is a free log subscription operation binding the contract event 0x3ceee06c1e37648fcbb6ed52e17b3e1f275a1f8c7b22a84b2b84732431e046b3.
// ParseERC20WithdrawalFinalized is a log parse operation binding the contract event 0x3ceee06c1e37648fcbb6ed52e17b3e1f275a1f8c7b22a84b2b84732431e046b3.
// L1StandardBridgeETHDepositInitiatedIterator is returned from FilterETHDepositInitiated and is used to iterate over the raw logs and unpacked data for ETHDepositInitiated events raised by the L1StandardBridge contract.
// L1StandardBridgeETHDepositInitiated represents a ETHDepositInitiated event raised by the L1StandardBridge contract.
typeL1StandardBridgeETHDepositInitiatedstruct{
Fromcommon.Address
Tocommon.Address
Amount*big.Int
Data[]byte
Rawtypes.Log// Blockchain specific contextual infos
}
// FilterETHDepositInitiated is a free log retrieval operation binding the contract event 0x35d79ab81f2b2017e19afb5c5571778877782d7a8786f5907f93b0f4702f4f23.
// WatchETHDepositInitiated is a free log subscription operation binding the contract event 0x35d79ab81f2b2017e19afb5c5571778877782d7a8786f5907f93b0f4702f4f23.
// L1StandardBridgeETHWithdrawalFinalizedIterator is returned from FilterETHWithdrawalFinalized and is used to iterate over the raw logs and unpacked data for ETHWithdrawalFinalized events raised by the L1StandardBridge contract.
// L1StandardBridgeETHWithdrawalFinalized represents a ETHWithdrawalFinalized event raised by the L1StandardBridge contract.
typeL1StandardBridgeETHWithdrawalFinalizedstruct{
Fromcommon.Address
Tocommon.Address
Amount*big.Int
Data[]byte
Rawtypes.Log// Blockchain specific contextual infos
}
// FilterETHWithdrawalFinalized is a free log retrieval operation binding the contract event 0x2ac69ee804d9a7a0984249f508dfab7cb2534b465b6ce1580f99a38ba9c5e631.
// WatchETHWithdrawalFinalized is a free log subscription operation binding the contract event 0x2ac69ee804d9a7a0984249f508dfab7cb2534b465b6ce1580f99a38ba9c5e631.
// L1ERC20ApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the L1ERC20 contract.
typeL1ERC20ApprovalIteratorstruct{
Event*L1ERC20Approval// Event containing the contract specifics and raw log
contract*bind.BoundContract// Generic contract to use for unpacking event data
eventstring// Event name to use for unpacking event data
logschantypes.Log// Log channel receiving the found contract events
subethereum.Subscription// Subscription for errors, completion and termination
donebool// Whether the subscription completed delivering logs
failerror// Occurred error to stop iteration
}
// Next advances the iterator to the subsequent event, returning whether there
// are any more events found. In case of a retrieval or parsing error, false is
// returned and Error() can be queried for the exact failure.
func(it*L1ERC20ApprovalIterator)Next()bool{
// If the iterator failed, stop iterating
ifit.fail!=nil{
returnfalse
}
// If the iterator completed, deliver directly whatever's available
// L1ERC20TransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the L1ERC20 contract.
typeL1ERC20TransferIteratorstruct{
Event*L1ERC20Transfer// Event containing the contract specifics and raw log
contract*bind.BoundContract// Generic contract to use for unpacking event data
eventstring// Event name to use for unpacking event data
logschantypes.Log// Log channel receiving the found contract events
subethereum.Subscription// Subscription for errors, completion and termination
donebool// Whether the subscription completed delivering logs
failerror// Occurred error to stop iteration
}
// Next advances the iterator to the subsequent event, returning whether there
// are any more events found. In case of a retrieval or parsing error, false is
// returned and Error() can be queried for the exact failure.
func(it*L1ERC20TransferIterator)Next()bool{
// If the iterator failed, stop iterating
ifit.fail!=nil{
returnfalse
}
// If the iterator completed, deliver directly whatever's available
// L2StandardBridgeDepositFailedIterator is returned from FilterDepositFailed and is used to iterate over the raw logs and unpacked data for DepositFailed events raised by the L2StandardBridge contract.
typeL2StandardBridgeDepositFailedIteratorstruct{
Event*L2StandardBridgeDepositFailed// Event containing the contract specifics and raw log
contract*bind.BoundContract// Generic contract to use for unpacking event data
eventstring// Event name to use for unpacking event data
logschantypes.Log// Log channel receiving the found contract events
subethereum.Subscription// Subscription for errors, completion and termination
donebool// Whether the subscription completed delivering logs
failerror// Occurred error to stop iteration
}
// Next advances the iterator to the subsequent event, returning whether there
// are any more events found. In case of a retrieval or parsing error, false is
// returned and Error() can be queried for the exact failure.
// L2StandardBridgeDepositFailed represents a DepositFailed event raised by the L2StandardBridge contract.
typeL2StandardBridgeDepositFailedstruct{
L1Tokencommon.Address
L2Tokencommon.Address
Fromcommon.Address
Tocommon.Address
Amount*big.Int
Data[]byte
Rawtypes.Log// Blockchain specific contextual infos
}
// FilterDepositFailed is a free log retrieval operation binding the contract event 0x7ea89a4591614515571c2b51f5ea06494056f261c10ab1ed8c03c7590d87bce0.
// WatchDepositFailed is a free log subscription operation binding the contract event 0x7ea89a4591614515571c2b51f5ea06494056f261c10ab1ed8c03c7590d87bce0.
// L2StandardBridgeDepositFinalizedIterator is returned from FilterDepositFinalized and is used to iterate over the raw logs and unpacked data for DepositFinalized events raised by the L2StandardBridge contract.
// L2StandardBridgeDepositFinalized represents a DepositFinalized event raised by the L2StandardBridge contract.
typeL2StandardBridgeDepositFinalizedstruct{
L1Tokencommon.Address
L2Tokencommon.Address
Fromcommon.Address
Tocommon.Address
Amount*big.Int
Data[]byte
Rawtypes.Log// Blockchain specific contextual infos
}
// FilterDepositFinalized is a free log retrieval operation binding the contract event 0xb0444523268717a02698be47d0803aa7468c00acbed2f8bd93a0459cde61dd89.
// WatchDepositFinalized is a free log subscription operation binding the contract event 0xb0444523268717a02698be47d0803aa7468c00acbed2f8bd93a0459cde61dd89.
// L2StandardBridgeWithdrawalInitiatedIterator is returned from FilterWithdrawalInitiated and is used to iterate over the raw logs and unpacked data for WithdrawalInitiated events raised by the L2StandardBridge contract.
// L2StandardBridgeWithdrawalInitiated represents a WithdrawalInitiated event raised by the L2StandardBridge contract.
typeL2StandardBridgeWithdrawalInitiatedstruct{
L1Tokencommon.Address
L2Tokencommon.Address
Fromcommon.Address
Tocommon.Address
Amount*big.Int
Data[]byte
Rawtypes.Log// Blockchain specific contextual infos
}
// FilterWithdrawalInitiated is a free log retrieval operation binding the contract event 0x73d170910aba9e6d50b102db522b1dbcd796216f5128b445aa2135272886497e.
// WatchWithdrawalInitiated is a free log subscription operation binding the contract event 0x73d170910aba9e6d50b102db522b1dbcd796216f5128b445aa2135272886497e.
// L2ERC20ApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the L2ERC20 contract.
typeL2ERC20ApprovalIteratorstruct{
Event*L2ERC20Approval// Event containing the contract specifics and raw log
contract*bind.BoundContract// Generic contract to use for unpacking event data
eventstring// Event name to use for unpacking event data
logschantypes.Log// Log channel receiving the found contract events
subethereum.Subscription// Subscription for errors, completion and termination
donebool// Whether the subscription completed delivering logs
failerror// Occurred error to stop iteration
}
// Next advances the iterator to the subsequent event, returning whether there
// are any more events found. In case of a retrieval or parsing error, false is
// returned and Error() can be queried for the exact failure.
func(it*L2ERC20ApprovalIterator)Next()bool{
// If the iterator failed, stop iterating
ifit.fail!=nil{
returnfalse
}
// If the iterator completed, deliver directly whatever's available
// L2ERC20TransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the L2ERC20 contract.
typeL2ERC20TransferIteratorstruct{
Event*L2ERC20Transfer// Event containing the contract specifics and raw log
contract*bind.BoundContract// Generic contract to use for unpacking event data
eventstring// Event name to use for unpacking event data
logschantypes.Log// Log channel receiving the found contract events
subethereum.Subscription// Subscription for errors, completion and termination
donebool// Whether the subscription completed delivering logs
failerror// Occurred error to stop iteration
}
// Next advances the iterator to the subsequent event, returning whether there
// are any more events found. In case of a retrieval or parsing error, false is
// returned and Error() can be queried for the exact failure.
func(it*L2ERC20TransferIterator)Next()bool{
// If the iterator failed, stop iterating
ifit.fail!=nil{
returnfalse
}
// If the iterator completed, deliver directly whatever's available
returnnil,NewCriticalError(fmt.Errorf("found batch with timestamp %d marked as future batch, but expected timestamp %d",batch.Batch.Timestamp,nextTimestamp))
batches=append(batches,batch.Batch)
caseBatchDrop:
}
bq.log.Warn("dropping batch",
}
"batch_timestamp",batch.Batch.Timestamp,
}
"parent_hash",batch.Batch.ParentHash,
"batch_epoch",batch.Batch.Epoch(),
// 2b. Determine the valid time window
"txs",len(batch.Batch.Transactions),
l1OriginTime:=bq.l1Blocks[0].Time
"l2_safe_head",l2SafeHead.ID(),
nextL1BlockTime:=bq.l1Blocks[1].Time// Safe b/c the epoch is the L1 Block number of the first block in L1Blocks