Documentation ¶
Overview ¶
Package types defines common types.
Index ¶
- Constants
- Variables
- type Bytes20
- type Bytes32
- func (b *Bytes32) Compare(b2 *Bytes32) int
- func (b *Bytes32) Equals(b2 *Bytes32) bool
- func (b *Bytes32) EqualsBytes(b2 []byte) bool
- func (b *Bytes32) MarshalJSON() ([]byte, error)
- func (b *Bytes32) Reverse(rb *ReversedBytes32)
- func (b *Bytes32) String() string
- func (b *Bytes32) UnmarshalJSON(data []byte) error
- func (b *Bytes32) Unstring(src string) error
- func (b *Bytes32) Value() (driver.Value, error)
- func (b *Bytes32) Zero() bool
- type Error
- func NewError(code int, component string, message string) *Error
- func NewErrorf(code int, component string, format string, args ...interface{}) *Error
- func WrapError(err error, code int, component string, message string) *Error
- func WrapErrorf(err error, code int, component string, format string, args ...interface{}) *Error
- type EvidenceSlice
- type Link
- type PaginatedSegments
- type ReversedBytes20
- type ReversedBytes32
- type SegmentSlice
- type TransactionID
Constants ¶
const Bytes20Size = 20
Bytes20Size is the size of a 20-byte long byte array.
const Bytes32Size = 32
Bytes32Size is the size of a 32-byte long byte array.
const (
// Component name for monitoring.
Component = "types"
)
Variables ¶
var Bytes32Zero = &Bytes32{}
Bytes32Zero is the default value for a 32-byte long byte array.
Functions ¶
This section is empty.
Types ¶
type Bytes20 ¶
type Bytes20 [Bytes20Size]byte
Bytes20 is a 20-byte long byte array.
func NewBytes20FromString ¶
NewBytes20FromString creates a Bytes20 from a hex encoded string.
func (*Bytes20) MarshalJSON ¶
MarshalJSON implements encoding/json.Marshaler.MarshalJSON.
func (*Bytes20) Reverse ¶
func (b *Bytes20) Reverse(rb *ReversedBytes20)
Reverse reverses the bytes order.
func (*Bytes20) UnmarshalJSON ¶
UnmarshalJSON implements encoding/json.Unmarshaler.UnmarshalJSON.
type Bytes32 ¶
type Bytes32 [Bytes32Size]byte
Bytes32 is a 32-byte long byte array.
func NewBytes32FromBytes ¶ added in v0.2.0
NewBytes32FromBytes creates a Bytes32 from a byte slice.
func NewBytes32FromString ¶
NewBytes32FromString creates a Bytes32 from a hex encoded string.
func (*Bytes32) EqualsBytes ¶ added in v0.2.0
EqualsBytes checks if a byte slice equals a Bytes32
func (*Bytes32) MarshalJSON ¶
MarshalJSON implements encoding/json.Marshaler.MarshalJSON.
func (*Bytes32) Reverse ¶
func (b *Bytes32) Reverse(rb *ReversedBytes32)
Reverse reverses the bytes order.
func (*Bytes32) UnmarshalJSON ¶
UnmarshalJSON implements encoding/json.Unmarshaler.UnmarshalJSON.
type Error ¶ added in v0.3.1
type Error struct { Code int // Error code (see monitoring/errorcode.go). Component string // Component that triggered the error (e.g. "fossilizer"). Message string // Custom error message. Wrapped error // Inner error. }
Error structure to provide accurate metrics and logs. Errors coming from external dependencies should always be wrapped inside an instance of this structured error type (in particular to capture a stack trace). Errors coming from dependencies inside go-core should either be propagated as-is or wrapped depending on the code's ability to add new relevant context.
func WrapErrorf ¶ added in v0.3.1
WrapErrorf wraps an error and adds a stack trace.
func (*Error) Format ¶ added in v0.3.1
Format the error when printing. %+v prints the full stack trace of the deepest error in the stack in case an internal error was wrapped.
func (*Error) MarshalJSON ¶ added in v0.3.1
MarshalJSON recursively checks inner errors to marshal them properly.
type EvidenceSlice ¶ added in v0.3.1
type EvidenceSlice []*chainscript.Evidence
EvidenceSlice is a slice of evidences.
func (*EvidenceSlice) AddEvidence ¶ added in v0.3.1
func (e *EvidenceSlice) AddEvidence(evidence *chainscript.Evidence) error
AddEvidence adds an evidence to the slice.
func (EvidenceSlice) FindEvidences ¶ added in v0.3.1
func (e EvidenceSlice) FindEvidences(backend string) (res EvidenceSlice)
FindEvidences find all evidences generated by a specified backend.
func (EvidenceSlice) GetEvidence ¶ added in v0.3.1
func (e EvidenceSlice) GetEvidence(backend, provider string) *chainscript.Evidence
GetEvidence gets an evidence from a backend's provider.
type Link ¶ added in v0.3.1
type Link struct {
Link *chainscript.Link
}
Link simply wraps a chainscript.Link. It can be useful in scenario where you don't want to work directly with the chainscript package. For example directly using chainscript.Link doesn't work in plugins (because the plugin compilation uses GOPATH instead of the vendor directory). Even if your GOPATH and vendor directory have the same version of go-chainscript the runtime will treat them as different types so the cast to a ScriptValidatorFunc will fail.
type PaginatedSegments ¶ added in v0.3.1
type PaginatedSegments struct { Segments SegmentSlice `json:"segments"` TotalCount int `json:"totalCount"` }
PaginatedSegments is a slice of segments along with the total results count.
type ReversedBytes20 ¶
type ReversedBytes20 [Bytes20Size]byte
ReversedBytes20 is a 20-byte long byte reversed array. While the bytes are reversed, the hex encoded strings are not.
func NewReversedBytes20FromString ¶
func NewReversedBytes20FromString(src string) (*ReversedBytes20, error)
NewReversedBytes20FromString creates a ReversedBytes20 from a hex encoded string.
func (*ReversedBytes20) MarshalJSON ¶
func (rb *ReversedBytes20) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.MarshalJSON.
func (*ReversedBytes20) Reverse ¶
func (rb *ReversedBytes20) Reverse(b *Bytes20)
Reverse reverses the bytes order.
func (*ReversedBytes20) String ¶
func (rb *ReversedBytes20) String() string
String returns a hex encoded string.
func (*ReversedBytes20) UnmarshalJSON ¶
func (rb *ReversedBytes20) UnmarshalJSON(data []byte) error
UnmarshalJSON implements encoding/json.Unmarshaler.UnmarshalJSON.
func (*ReversedBytes20) Unstring ¶
func (rb *ReversedBytes20) Unstring(src string) error
Unstring sets the value from a hex encoded string.
type ReversedBytes32 ¶
type ReversedBytes32 [Bytes32Size]byte
ReversedBytes32 is a 32-byte long byte reversed array. While the bytes are reversed, the hex encoded strings are not.
func NewReversedBytes32FromString ¶
func NewReversedBytes32FromString(src string) (*ReversedBytes32, error)
NewReversedBytes32FromString creates a ReversedBytes32 from a hex encoded string.
func (*ReversedBytes32) MarshalJSON ¶
func (rb *ReversedBytes32) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.MarshalJSON.
func (*ReversedBytes32) Reverse ¶
func (rb *ReversedBytes32) Reverse(b *Bytes32)
Reverse reverses the bytes order.
func (*ReversedBytes32) String ¶
func (rb *ReversedBytes32) String() string
String returns a hex encoded string.
func (*ReversedBytes32) UnmarshalJSON ¶
func (rb *ReversedBytes32) UnmarshalJSON(data []byte) error
UnmarshalJSON implements encoding/json.Unmarshaler.UnmarshalJSON.
func (*ReversedBytes32) Unstring ¶
func (rb *ReversedBytes32) Unstring(src string) error
Unstring sets the value from a hex encoded string.
type SegmentSlice ¶ added in v0.3.1
type SegmentSlice []*chainscript.Segment
SegmentSlice is a slice of segment pointers.
func (SegmentSlice) Len ¶ added in v0.3.1
func (s SegmentSlice) Len() int
Len implements sort.Interface.Len.
func (SegmentSlice) Less ¶ added in v0.3.1
func (s SegmentSlice) Less(i, j int) bool
Less implements sort.Interface.Less.
func (*SegmentSlice) Sort ¶ added in v0.3.1
func (s *SegmentSlice) Sort(reverse bool)
Sort returns the sorted segment slice.
func (SegmentSlice) Swap ¶ added in v0.3.1
func (s SegmentSlice) Swap(i, j int)
Swap implements sort.Interface.Swap.
type TransactionID ¶ added in v0.2.0
type TransactionID []byte
TransactionID is a blockchain transaction ID.
func (TransactionID) MarshalJSON ¶ added in v0.2.0
func (txid TransactionID) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.MarshalJSON.
func (TransactionID) String ¶ added in v0.2.0
func (txid TransactionID) String() string
String returns a hex encoded string.
func (*TransactionID) UnmarshalJSON ¶ added in v0.2.0
func (txid *TransactionID) UnmarshalJSON(data []byte) (err error)
UnmarshalJSON implements encoding/json.Unmarshaler.UnmarshalJSON.