errors.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // Copyright 2017 The go-ethereum Authors
  2. // This file is part of the go-ethereum library.
  3. //
  4. // The go-ethereum library is free software: you can redistribute it and/or modify
  5. // it under the terms of the GNU Lesser General Public License as published by
  6. // the Free Software Foundation, either version 3 of the License, or
  7. // (at your option) any later version.
  8. //
  9. // The go-ethereum library is distributed in the hope that it will be useful,
  10. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. // GNU Lesser General Public License for more details.
  13. //
  14. // You should have received a copy of the GNU Lesser General Public License
  15. // along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>.
  16. package consensus
  17. import "errors"
  18. var (
  19. // ErrUnknownAncestor is returned when validating a block requires an ancestor
  20. // that is unknown.
  21. ErrUnknownAncestor = errors.New("unknown ancestor")
  22. // ErrLargeBlockTime is returned if the value of the timestamp is beyond
  23. // any reasonable value.
  24. ErrLargeBlockTime = errors.New("timestamp too big")
  25. // ErrZeroBlockTime is returned if the block's timestamp is the same as the one
  26. // its parent has.
  27. ErrZeroBlockTime = errors.New("timestamp equals parent's")
  28. // ErrFutureBlock is returned when a block's timestamp is in the future according
  29. // to the current node.
  30. ErrFutureBlock = errors.New("block in the future")
  31. // ErrInvalidNumber is returned if a block's number doesn't equal it's parent's
  32. // plus one.
  33. ErrInvalidNumber = errors.New("invalid block number")
  34. )