github.com/gnolang/gno@v0.0.0-20240520182011-228e9d0192ce/examples/gno.land/p/demo/uint256/error.gno (about)

     1  package uint256
     2  
     3  import (
     4  	"errors"
     5  )
     6  
     7  var (
     8  	ErrEmptyString      = errors.New("empty hex string")
     9  	ErrSyntax           = errors.New("invalid hex string")
    10  	ErrRange            = errors.New("number out of range")
    11  	ErrMissingPrefix    = errors.New("hex string without 0x prefix")
    12  	ErrEmptyNumber      = errors.New("hex string \"0x\"")
    13  	ErrLeadingZero      = errors.New("hex number with leading zero digits")
    14  	ErrBig256Range      = errors.New("hex number > 256 bits")
    15  	ErrBadBufferLength  = errors.New("bad ssz buffer length")
    16  	ErrBadEncodedLength = errors.New("bad ssz encoded length")
    17  	ErrInvalidBase      = errors.New("invalid base")
    18  	ErrInvalidBitSize   = errors.New("invalid bit size")
    19  )
    20  
    21  type u256Error struct {
    22  	fn    string // function name
    23  	input string
    24  	err   error
    25  }
    26  
    27  func (e *u256Error) Error() string {
    28  	return e.fn + ": " + e.input + ": " + e.err.Error()
    29  }
    30  
    31  func (e *u256Error) Unwrap() error {
    32  	return e.err
    33  }
    34  
    35  func errEmptyString(fn, input string) error {
    36  	return &u256Error{fn: fn, input: input, err: ErrEmptyString}
    37  }
    38  
    39  func errSyntax(fn, input string) error {
    40  	return &u256Error{fn: fn, input: input, err: ErrSyntax}
    41  }
    42  
    43  func errMissingPrefix(fn, input string) error {
    44  	return &u256Error{fn: fn, input: input, err: ErrMissingPrefix}
    45  }
    46  
    47  func errEmptyNumber(fn, input string) error {
    48  	return &u256Error{fn: fn, input: input, err: ErrEmptyNumber}
    49  }
    50  
    51  func errLeadingZero(fn, input string) error {
    52  	return &u256Error{fn: fn, input: input, err: ErrLeadingZero}
    53  }
    54  
    55  func errRange(fn, input string) error {
    56  	return &u256Error{fn: fn, input: input, err: ErrRange}
    57  }
    58  
    59  func errBig256Range(fn, input string) error {
    60  	return &u256Error{fn: fn, input: input, err: ErrBig256Range}
    61  }
    62  
    63  func errBadBufferLength(fn, input string) error {
    64  	return &u256Error{fn: fn, input: input, err: ErrBadBufferLength}
    65  }
    66  
    67  func errInvalidBase(fn string, base int) error {
    68  	return &u256Error{fn: fn, input: string(base), err: ErrInvalidBase}
    69  }
    70  
    71  func errInvalidBitSize(fn string, bitSize int) error {
    72  	return &u256Error{fn: fn, input: string(bitSize), err: ErrInvalidBitSize}
    73  }