// BlockOracleCheckpointIterator is returned from FilterCheckpoint and is used to iterate over the raw logs and unpacked data for Checkpoint events raised by the BlockOracle contract.
typeBlockOracleCheckpointIteratorstruct{
Event*BlockOracleCheckpoint// 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*BlockOracleCheckpointIterator)Next()bool{
// If the iterator failed, stop iterating
ifit.fail!=nil{
returnfalse
}
// If the iterator completed, deliver directly whatever's available