common

package
v3.0.0+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 30, 2019 License: GPL-3.0, LGPL-3.0, LGPL-3.0-or-later Imports: 23 Imported by: 147

Documentation

Overview

Package common contains various helper functions.

Index

Constants

View Source
const (
	// TimeLockNow wacom
	TimeLockNow uint64 = 0
	// TimeLockForever wacom
	TimeLockForever uint64 = 0xffffffffffffffff
)
View Source
const (
	// HashLength is the expected length of the hash
	HashLength = 32
	// AddressLength is the expected length of the adddress
	AddressLength = 20
)

Lengths of hashes and addresses in bytes.

View Source
const (
	// GenNotationFunc wacom
	GenNotationFunc = iota
	// GenAssetFunc wacom
	GenAssetFunc
	// SendAssetFunc wacom
	SendAssetFunc
	// TimeLockFunc wacom
	TimeLockFunc
	// BuyTicketFunc wacom
	BuyTicketFunc
	// OldAssetValueChangeFunc wacom (deprecated)
	OldAssetValueChangeFunc
	// MakeSwapFunc wacom
	MakeSwapFunc
	// RecallSwapFunc wacom
	RecallSwapFunc
	// TakeSwapFunc wacom
	TakeSwapFunc
	// EmptyFunc wacom
	EmptyFunc
	// MakeSwapFuncExt wacom
	MakeSwapFuncExt
	// TakeSwapFuncExt wacom
	TakeSwapFuncExt
	// AssetValueChangeFunc wacom
	AssetValueChangeFunc
	// MakeMultiSwapFunc wacom
	MakeMultiSwapFunc
	// RecallMultiSwapFunc wacom
	RecallMultiSwapFunc
	// TakeMultiSwapFunc wacom
	TakeMultiSwapFunc
)
View Source
const (
	DebugMode = false
)

Variables

View Source
var (
	Big0   = big.NewInt(0)
	Big1   = big.NewInt(1)
	Big2   = big.NewInt(2)
	Big3   = big.NewInt(3)
	Big32  = big.NewInt(32)
	Big100 = big.NewInt(100)
	Big256 = big.NewInt(256)
	Big257 = big.NewInt(257)

	BigMaxUint64 = new(big.Int).SetUint64(math.MaxUint64)
)

Common big integers often used

View Source
var (
	// NotationKey wacom
	NotationKey = []byte{0x01}
	// AssetKey wacom
	AssetKey = []byte{0x02}
	// TicketKey wacom
	TicketKey = []byte{0x03}
	// SwapKey wacom
	SwapKey = []byte{0x06} // 4 was the old
	// AutoBuyTicket wacom
	AutoBuyTicket = false
	// AutoBuyTicketChan wacom
	AutoBuyTicketChan = make(chan int, 10)
	// MultiSwapKey wacom
	MultiSwapKey = []byte{0x07}
)
View Source
var AssetKeyAddress = HexToAddress("0xfffffffffffffffffffffffffffffffffffffffc")

AssetKeyAddress wacom

View Source
var FSNCallAddress = HexToAddress("0xffffffffffffffffffffffffffffffffffffffff")

FSNCallAddress wacom

View Source
var MultiSwapKeyAddress = HexToAddress("0xfffffffffffffffffffffffffffffffffffffff9")

MultiSwapKeyAddress wacom

View Source
var NotationKeyAddress = HexToAddress("0xfffffffffffffffffffffffffffffffffffffffd")

NotationKeyAddress wacom

View Source
var OwnerUSANAssetID = HexToHash("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe")

OwnerUSANAssetID wacom

View Source
var SwapKeyAddress = HexToAddress("0xfffffffffffffffffffffffffffffffffffffffa")

SwapKeyAddress wacom

View Source
var SystemAsset = Asset{
	Name:        "Fusion",
	Symbol:      "FSN",
	Decimals:    18,
	Total:       new(big.Int).Mul(big.NewInt(81920000), big.NewInt(1000000000000000000)),
	ID:          SystemAssetID,
	Description: "https://fusion.org",
}

SystemAsset wacom

View Source
var SystemAssetID = HexToHash("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")

SystemAssetID wacom

View Source
var TicketKeyAddress = HexToAddress("0xfffffffffffffffffffffffffffffffffffffffb")

TicketKeyAddress wacom

View Source
var TicketLogAddress = HexToAddress("0xfffffffffffffffffffffffffffffffffffffffe")

TicketLogAddress wacom

Functions

func AbsolutePath

func AbsolutePath(datadir string, filename string) string

AbsolutePath returns datadir + filename, or filename if it is absolute.

func Bytes2Hex

func Bytes2Hex(d []byte) string

Bytes2Hex returns the hexadecimal encoding of d.

func BytesToInt

func BytesToInt(b []byte) int

BytesToInt wacom

func BytesToUint32

func BytesToUint32(b []byte) uint32

BytesToUint32 wacom

func BytesToUint64

func BytesToUint64(b []byte) uint64

BytesToUint64 wacom

func CopyBytes

func CopyBytes(b []byte) (copiedBytes []byte)

CopyBytes returns an exact copy of the provided bytes.

func FileExist

func FileExist(filePath string) bool

FileExist checks if a file exists at filePath.

func FromHex

func FromHex(s string) []byte

FromHex returns the bytes represented by the hexadecimal string s. s may be prefixed with "0x".

func GetFsnCallFee

func GetFsnCallFee(to *Address, funcType FSNCallFunc) *big.Int

func Hex2Bytes

func Hex2Bytes(str string) []byte

Hex2Bytes returns the bytes represented by the hexadecimal string str.

func Hex2BytesFixed

func Hex2BytesFixed(str string, flen int) []byte

Hex2BytesFixed returns bytes of a specified fixed length flen.

func IntToBytes

func IntToBytes(n int) []byte

IntToBytes wacom

func IsFsnCall

func IsFsnCall(to *Address) bool

func IsHexAddress

func IsHexAddress(s string) bool

IsHexAddress verifies whether a string can represent a valid hex-encoded Ethereum address or not.

func LeftPadBytes

func LeftPadBytes(slice []byte, l int) []byte

LeftPadBytes zero-pads slice to the left up to length l.

func LoadJSON

func LoadJSON(file string, val interface{}) error

LoadJSON reads the given file and unmarshals its content.

func MakeName

func MakeName(name, version string) string

MakeName creates a node name that follows the ethereum convention for such names. It adds the operation system name and Go runtime version the name.

func MaxUint64

func MaxUint64(x, y uint64) uint64

func MinUint64

func MinUint64(x, y uint64) uint64

func ParseBig256

func ParseBig256(s string) (*big.Int, bool)

ParseBig256 parses s as a 256 bit integer in decimal or hexadecimal syntax. Leading zeros are accepted. The empty string parses as zero.

func PrintDepricationWarning

func PrintDepricationWarning(str string)

PrintDepricationWarning prinst the given string in a box using fmt.Println.

func Report

func Report(extra ...interface{})

Report gives off a warning requesting the user to submit an issue to the github tracker.

func RightPadBytes

func RightPadBytes(slice []byte, l int) []byte

RightPadBytes zero-pads slice to the right up to length l.

func TicketPrice

func TicketPrice(blocknumber *big.Int) *big.Int

TicketPrice place holder for ticket price

func ToHex deprecated

func ToHex(b []byte) string

ToHex returns the hex representation of b, prefixed with '0x'. For empty slices, the return value is "0x0".

Deprecated: use hexutil.Encode instead.

func Uint32ToBytes

func Uint32ToBytes(n uint32) []byte

Uint32ToBytes wacom

func Uint64ToBytes

func Uint64ToBytes(n uint64) []byte

Uint64ToBytes wacom

Types

type Address

type Address [AddressLength]byte

Address represents the 20 byte address of an Ethereum account.

func BigToAddress

func BigToAddress(b *big.Int) Address

BigToAddress returns Address with byte values of b. If b is larger than len(h), b will be cropped from the left.

func BytesToAddress

func BytesToAddress(b []byte) Address

BytesToAddress returns Address with value b. If b is larger than len(h), b will be cropped from the left.

func HexToAddress

func HexToAddress(s string) Address

HexToAddress returns Address with byte values of s. If s is larger than len(h), s will be cropped from the left.

func (Address) Big

func (a Address) Big() *big.Int

Big converts an address to a big integer.

func (Address) Bytes

func (a Address) Bytes() []byte

Bytes gets the string representation of the underlying address.

func (Address) Format

func (a Address) Format(s fmt.State, c rune)

Format implements fmt.Formatter, forcing the byte slice to be formatted as is, without going through the stringer interface used for logging.

func (Address) Hash

func (a Address) Hash() Hash

Hash converts an address to a hash by left-padding it with zeros.

func (Address) Hex

func (a Address) Hex() string

Hex returns an EIP55-compliant hex string representation of the address.

func (Address) IsSpecialKeyAddress

func (addr Address) IsSpecialKeyAddress() bool

func (Address) MarshalText

func (a Address) MarshalText() ([]byte, error)

MarshalText returns the hex representation of a.

func (*Address) Scan

func (a *Address) Scan(src interface{}) error

Scan implements Scanner for database/sql.

func (*Address) SetBytes

func (a *Address) SetBytes(b []byte)

SetBytes sets the address to the value of b. If b is larger than len(a) it will panic.

func (Address) String

func (a Address) String() string

String implements fmt.Stringer.

func (*Address) UnmarshalJSON

func (a *Address) UnmarshalJSON(input []byte) error

UnmarshalJSON parses a hash in hex syntax.

func (*Address) UnmarshalText

func (a *Address) UnmarshalText(input []byte) error

UnmarshalText parses a hash in hex syntax.

func (Address) Value

func (a Address) Value() (driver.Value, error)

Value implements valuer for database/sql.

type Asset

type Asset struct {
	ID          Hash
	Owner       Address
	Name        string
	Symbol      string
	Decimals    uint8
	Total       *big.Int `json:",string"`
	CanChange   bool
	Description string
}

Asset wacom

func (*Asset) DeepCopy

func (u *Asset) DeepCopy() Asset

func (*Asset) MarshalJSON

func (u *Asset) MarshalJSON() ([]byte, error)

type AssetValueChangeExParam

type AssetValueChangeExParam struct {
	AssetID     Hash
	To          Address
	Value       *big.Int `json:",string"`
	IsInc       bool
	TransacData string
}

AssetValueChangeExParam wacom

func (*AssetValueChangeExParam) Check

func (p *AssetValueChangeExParam) Check(blockNumber *big.Int) error

Check wacom

func (*AssetValueChangeExParam) ToBytes

func (p *AssetValueChangeExParam) ToBytes() ([]byte, error)

ToBytes wacom

type BuyTicketParam

type BuyTicketParam struct {
	Start uint64
	End   uint64
}

BuyTicketParam wacom

func (*BuyTicketParam) Check

func (p *BuyTicketParam) Check(blockNumber *big.Int, timestamp uint64, adjust int64) error

Check wacom

func (*BuyTicketParam) ToBytes

func (p *BuyTicketParam) ToBytes() ([]byte, error)

ToBytes wacom

type FSNCallFunc

type FSNCallFunc uint8

FSNCallFunc wacom

type FSNCallParam

type FSNCallParam struct {
	Func FSNCallFunc
	Data []byte
}

FSNCallParam wacom

func (*FSNCallParam) Check

func (p *FSNCallParam) Check(blockNumber *big.Int) error

Check wacom

func (*FSNCallParam) ToBytes

func (p *FSNCallParam) ToBytes() ([]byte, error)

ToBytes wacom

type GenAssetParam

type GenAssetParam struct {
	Name        string
	Symbol      string
	Decimals    uint8
	Total       *big.Int `json:",string"`
	CanChange   bool
	Description string
}

GenAssetParam wacom

func (*GenAssetParam) Check

func (p *GenAssetParam) Check(blockNumber *big.Int) error

Check wacom

func (*GenAssetParam) ToAsset

func (p *GenAssetParam) ToAsset() Asset

ToAsset wacom

func (*GenAssetParam) ToBytes

func (p *GenAssetParam) ToBytes() ([]byte, error)

ToBytes wacom

type Hash

type Hash [HashLength]byte

Hash represents the 32 byte Keccak256 hash of arbitrary data.

func BigToHash

func BigToHash(b *big.Int) Hash

BigToHash sets byte representation of b to hash. If b is larger than len(h), b will be cropped from the left.

func BytesToHash

func BytesToHash(b []byte) Hash

BytesToHash sets b to hash. If b is larger than len(h), b will be cropped from the left.

func HexToHash

func HexToHash(s string) Hash

HexToHash sets byte representation of s to hash. If b is larger than len(h), b will be cropped from the left.

func (Hash) Big

func (h Hash) Big() *big.Int

Big converts a hash to a big integer.

func (Hash) Bytes

func (h Hash) Bytes() []byte

Bytes gets the byte representation of the underlying hash.

func (Hash) Format

func (h Hash) Format(s fmt.State, c rune)

Format implements fmt.Formatter, forcing the byte slice to be formatted as is, without going through the stringer interface used for logging.

func (Hash) Generate

func (h Hash) Generate(rand *rand.Rand, size int) reflect.Value

Generate implements testing/quick.Generator.

func (Hash) Hex

func (h Hash) Hex() string

Hex converts a hash to a hex string.

func (Hash) MarshalText

func (h Hash) MarshalText() ([]byte, error)

MarshalText returns the hex representation of h.

func (*Hash) Scan

func (h *Hash) Scan(src interface{}) error

Scan implements Scanner for database/sql.

func (*Hash) SetBytes

func (h *Hash) SetBytes(b []byte)

SetBytes sets the hash to the value of b. If b is larger than len(h), b will be cropped from the left.

func (Hash) String

func (h Hash) String() string

String implements the stringer interface and is used also by the logger when doing full logging into a file.

func (Hash) TerminalString

func (h Hash) TerminalString() string

TerminalString implements log.TerminalStringer, formatting a string for console output during logging.

func (*Hash) UnmarshalJSON

func (h *Hash) UnmarshalJSON(input []byte) error

UnmarshalJSON parses a hash in hex syntax.

func (*Hash) UnmarshalText

func (h *Hash) UnmarshalText(input []byte) error

UnmarshalText parses a hash in hex syntax.

func (Hash) Value

func (h Hash) Value() (driver.Value, error)

Value implements valuer for database/sql.

type KeyValue

type KeyValue struct {
	Key   string
	Value interface{}
}

KeyValue wacom

func NewKeyValue

func NewKeyValue(name string, v interface{}) *KeyValue

NewKeyValue wacom

type MakeMultiSwapParam

type MakeMultiSwapParam struct {
	FromAssetID   []Hash
	FromStartTime []uint64
	FromEndTime   []uint64
	MinFromAmount []*big.Int `json:",string"`
	ToAssetID     []Hash
	ToStartTime   []uint64
	ToEndTime     []uint64
	MinToAmount   []*big.Int `json:",string"`
	SwapSize      *big.Int   `json:",string"`
	Targes        []Address
	Time          *big.Int
	Description   string
}

MakeMultiSwapParam wacom

func (*MakeMultiSwapParam) Check

func (p *MakeMultiSwapParam) Check(blockNumber *big.Int, timestamp uint64) error

Check wacom

func (*MakeMultiSwapParam) ToBytes

func (p *MakeMultiSwapParam) ToBytes() ([]byte, error)

ToBytes wacom

type MakeSwapParam

type MakeSwapParam struct {
	FromAssetID   Hash
	FromStartTime uint64
	FromEndTime   uint64
	MinFromAmount *big.Int `json:",string"`
	ToAssetID     Hash
	ToStartTime   uint64
	ToEndTime     uint64
	MinToAmount   *big.Int `json:",string"`
	SwapSize      *big.Int `json:",string"`
	Targes        []Address
	Time          *big.Int
	Description   string
}

MakeSwapParam wacom

func (*MakeSwapParam) Check

func (p *MakeSwapParam) Check(blockNumber *big.Int, timestamp uint64) error

Check wacom

func (*MakeSwapParam) ToBytes

func (p *MakeSwapParam) ToBytes() ([]byte, error)

ToBytes wacom

type MixedcaseAddress

type MixedcaseAddress struct {
	// contains filtered or unexported fields
}

MixedcaseAddress retains the original string, which may or may not be correctly checksummed

func NewMixedcaseAddress

func NewMixedcaseAddress(addr Address) MixedcaseAddress

NewMixedcaseAddress constructor (mainly for testing)

func NewMixedcaseAddressFromString

func NewMixedcaseAddressFromString(hexaddr string) (*MixedcaseAddress, error)

NewMixedcaseAddressFromString is mainly meant for unit-testing

func (*MixedcaseAddress) Address

func (ma *MixedcaseAddress) Address() Address

Address returns the address

func (*MixedcaseAddress) MarshalJSON

func (ma *MixedcaseAddress) MarshalJSON() ([]byte, error)

MarshalJSON marshals the original value

func (*MixedcaseAddress) Original

func (ma *MixedcaseAddress) Original() string

Original returns the mixed-case input string

func (*MixedcaseAddress) String

func (ma *MixedcaseAddress) String() string

String implements fmt.Stringer

func (*MixedcaseAddress) UnmarshalJSON

func (ma *MixedcaseAddress) UnmarshalJSON(input []byte) error

UnmarshalJSON parses MixedcaseAddress

func (*MixedcaseAddress) ValidChecksum

func (ma *MixedcaseAddress) ValidChecksum() bool

ValidChecksum returns true if the address has valid checksum

type MultiSwap

type MultiSwap struct {
	ID            Hash
	Owner         Address
	FromAssetID   []Hash
	FromStartTime []uint64
	FromEndTime   []uint64
	MinFromAmount []*big.Int `json:",string"`
	ToAssetID     []Hash
	ToStartTime   []uint64
	ToEndTime     []uint64
	MinToAmount   []*big.Int `json:",string"`
	SwapSize      *big.Int   `json:",string"`
	Targes        []Address
	Time          *big.Int // Provides information for TIME
	Description   string
	Notation      uint64
}

MultiSwap wacom

func (*MultiSwap) DeepCopy

func (s *MultiSwap) DeepCopy() MultiSwap

DeepCopy wacom

type PrettyAge

type PrettyAge time.Time

PrettyAge is a pretty printed version of a time.Duration value that rounds the values up to a single most significant unit, days/weeks/years included.

func (PrettyAge) String

func (t PrettyAge) String() string

String implements the Stringer interface, allowing pretty printing of duration values rounded to the most significant time unit.

type PrettyDuration

type PrettyDuration time.Duration

PrettyDuration is a pretty printed version of a time.Duration value that cuts the unnecessary precision off from the formatted textual representation.

func (PrettyDuration) String

func (d PrettyDuration) String() string

String implements the Stringer interface, allowing pretty printing of duration values rounded to three decimals.

type RecallMultiSwapParam

type RecallMultiSwapParam struct {
	SwapID Hash
}

RecallMultiSwapParam wacom

func (*RecallMultiSwapParam) Check

func (p *RecallMultiSwapParam) Check(blockNumber *big.Int, swap *MultiSwap) error

Check wacom

func (*RecallMultiSwapParam) ToBytes

func (p *RecallMultiSwapParam) ToBytes() ([]byte, error)

ToBytes wacom

type RecallSwapParam

type RecallSwapParam struct {
	SwapID Hash
}

RecallSwapParam wacom

func (*RecallSwapParam) Check

func (p *RecallSwapParam) Check(blockNumber *big.Int, swap *Swap) error

Check wacom

func (*RecallSwapParam) ToBytes

func (p *RecallSwapParam) ToBytes() ([]byte, error)

ToBytes wacom

type SendAssetParam

type SendAssetParam struct {
	AssetID Hash
	To      Address
	Value   *big.Int `json:",string"`
}

SendAssetParam wacom

func (*SendAssetParam) Check

func (p *SendAssetParam) Check(blockNumber *big.Int) error

Check wacom

func (*SendAssetParam) ToBytes

func (p *SendAssetParam) ToBytes() ([]byte, error)

ToBytes wacom

type StorageSize

type StorageSize float64

StorageSize is a wrapper around a float value that supports user friendly formatting.

func (StorageSize) String

func (s StorageSize) String() string

String implements the stringer interface.

func (StorageSize) TerminalString

func (s StorageSize) TerminalString() string

TerminalString implements log.TerminalStringer, formatting a string for console output during logging.

type Swap

type Swap struct {
	ID            Hash
	Owner         Address
	FromAssetID   Hash
	FromStartTime uint64
	FromEndTime   uint64
	MinFromAmount *big.Int `json:",string"`
	ToAssetID     Hash
	ToStartTime   uint64
	ToEndTime     uint64
	MinToAmount   *big.Int `json:",string"`
	SwapSize      *big.Int `json:",string"`
	Targes        []Address
	Time          *big.Int // Provides information for TIME
	Description   string
	Notation      uint64
}

Swap wacom

func (*Swap) DeepCopy

func (s *Swap) DeepCopy() Swap

DeepCopy wacom

type TailFlag

type TailFlag int
const (
	TailInBoth TailFlag = iota
	TailInFirst
	TailInSecond
)

type TakeMultiSwapParam

type TakeMultiSwapParam struct {
	SwapID Hash
	Size   *big.Int `json:",string"`
}

TakeMultiSwapParam wacom

func (*TakeMultiSwapParam) Check

func (p *TakeMultiSwapParam) Check(blockNumber *big.Int, swap *MultiSwap, timestamp uint64) error

Check wacom

func (*TakeMultiSwapParam) ToBytes

func (p *TakeMultiSwapParam) ToBytes() ([]byte, error)

ToBytes wacom

type TakeSwapParam

type TakeSwapParam struct {
	SwapID Hash
	Size   *big.Int `json:",string"`
}

TakeSwapParam wacom

func (*TakeSwapParam) Check

func (p *TakeSwapParam) Check(blockNumber *big.Int, swap *Swap, timestamp uint64) error

Check wacom

func (*TakeSwapParam) ToBytes

func (p *TakeSwapParam) ToBytes() ([]byte, error)

ToBytes wacom

type Ticket

type Ticket struct {
	Owner Address
	TicketBody
}

func (*Ticket) MarshalJSON

func (t *Ticket) MarshalJSON() ([]byte, error)

func (*Ticket) String

func (t *Ticket) String() string

func (*Ticket) ToDisplay

func (t *Ticket) ToDisplay() TicketDisplay

type TicketBody

type TicketBody struct {
	ID         Hash
	Height     uint64
	StartTime  uint64
	ExpireTime uint64
}

Ticket wacom

func (*TicketBody) BlockHeight

func (t *TicketBody) BlockHeight() *big.Int

func (*TicketBody) IsInGenesis

func (t *TicketBody) IsInGenesis() bool

func (*TicketBody) Value

func (t *TicketBody) Value() *big.Int

type TicketBodySlice

type TicketBodySlice []TicketBody

func (TicketBodySlice) DeepCopy

func (s TicketBodySlice) DeepCopy() TicketBodySlice

type TicketDisplay

type TicketDisplay struct {
	Owner      Address
	Height     uint64
	StartTime  uint64
	ExpireTime uint64
	Value      *big.Int
}

type TicketPtrSlice

type TicketPtrSlice []*Ticket

func (TicketPtrSlice) String

func (s TicketPtrSlice) String() string

type TicketSlice

type TicketSlice []Ticket

func (TicketSlice) DeepCopy

func (s TicketSlice) DeepCopy() TicketSlice

func (TicketSlice) String

func (s TicketSlice) String() string

func (TicketSlice) ToMap

func (s TicketSlice) ToMap() map[Hash]TicketDisplay

type TicketsData

type TicketsData struct {
	Owner   Address
	Tickets TicketBodySlice
}

func (TicketsData) DeepCopy

func (s TicketsData) DeepCopy() TicketsData

func (TicketsData) ToMap

func (s TicketsData) ToMap() map[Hash]TicketDisplay

func (TicketsData) ToTicketSlice

func (s TicketsData) ToTicketSlice() TicketSlice

type TicketsDataSlice

type TicketsDataSlice []TicketsData

func (TicketsDataSlice) AddTicket

func (s TicketsDataSlice) AddTicket(ticket *Ticket) (TicketsDataSlice, error)

func (TicketsDataSlice) ClearExpiredTickets

func (s TicketsDataSlice) ClearExpiredTickets(timestamp uint64) (TicketsDataSlice, error)

func (TicketsDataSlice) DeepCopy

func (s TicketsDataSlice) DeepCopy() TicketsDataSlice

func (TicketsDataSlice) Get

func (s TicketsDataSlice) Get(id Hash) (*Ticket, error)

func (TicketsDataSlice) NumberOfOwners

func (s TicketsDataSlice) NumberOfOwners() uint64

func (TicketsDataSlice) NumberOfTickets

func (s TicketsDataSlice) NumberOfTickets() uint64

func (TicketsDataSlice) NumberOfTicketsAndOwners

func (s TicketsDataSlice) NumberOfTicketsAndOwners() (uint64, uint64)

func (TicketsDataSlice) NumberOfTicketsByAddress

func (s TicketsDataSlice) NumberOfTicketsByAddress(addr Address) uint64

func (TicketsDataSlice) RemoveTicket

func (s TicketsDataSlice) RemoveTicket(id Hash) (TicketsDataSlice, error)

func (TicketsDataSlice) ToMap

func (s TicketsDataSlice) ToMap() map[Hash]TicketDisplay

func (TicketsDataSlice) ToTicketSlice

func (s TicketsDataSlice) ToTicketSlice() TicketSlice

type TimeLock

type TimeLock struct {
	Items []*TimeLockItem
}

///////////////////////////// TimeLock /////////////////////////// TimeLock wacom

func NewTimeLock

func NewTimeLock(items ...*TimeLockItem) *TimeLock

NewTimeLock wacom

func (*TimeLock) Add

func (z *TimeLock) Add(x, y *TimeLock) *TimeLock

Add wacom

func (*TimeLock) CheckValid

func (z *TimeLock) CheckValid()

func (*TimeLock) ClearExpired

func (z *TimeLock) ClearExpired(timestamp uint64) *TimeLock

func (*TimeLock) Clone

func (z *TimeLock) Clone() *TimeLock

Clone wacom

func (*TimeLock) Cmp

func (z *TimeLock) Cmp(x *TimeLock) int

Cmp wacom

func (*TimeLock) IsEmpty

func (z *TimeLock) IsEmpty() bool

func (*TimeLock) IsValid

func (z *TimeLock) IsValid() error

func (*TimeLock) Len

func (z *TimeLock) Len() int

func (*TimeLock) Less

func (z *TimeLock) Less(i, j int) bool

func (*TimeLock) RawString

func (z *TimeLock) RawString() string

func (*TimeLock) Set

func (z *TimeLock) Set(x *TimeLock) *TimeLock

Set wacom

func (*TimeLock) SetItems

func (z *TimeLock) SetItems(items []*TimeLockItem)

SetItems wacom

func (*TimeLock) String

func (z *TimeLock) String() string

String wacom

func (*TimeLock) Sub

func (z *TimeLock) Sub(x, y *TimeLock) *TimeLock

Sub wacom

func (*TimeLock) Swap

func (z *TimeLock) Swap(i, j int)

func (*TimeLock) ToDisplay

func (z *TimeLock) ToDisplay() *TimeLock

type TimeLockItem

type TimeLockItem struct {
	StartTime uint64
	EndTime   uint64
	Value     *big.Int `json:",string"`
}

TimeLockItem wacom

func (*TimeLockItem) Add

func (*TimeLockItem) AdjustEnd

func (z *TimeLockItem) AdjustEnd(endTime uint64) *TimeLockItem

func (*TimeLockItem) AdjustStart

func (z *TimeLockItem) AdjustStart(startTime uint64) *TimeLockItem

func (*TimeLockItem) AdjustStartEnd

func (z *TimeLockItem) AdjustStartEnd(startTime uint64, endTime uint64) *TimeLockItem

func (*TimeLockItem) CanMerge

func (z *TimeLockItem) CanMerge(x *TimeLockItem) bool

func (*TimeLockItem) Clone

func (z *TimeLockItem) Clone() *TimeLockItem

func (*TimeLockItem) EqualRange

func (z *TimeLockItem) EqualRange(x *TimeLockItem) bool

func (*TimeLockItem) IsValid

func (z *TimeLockItem) IsValid() error

func (*TimeLockItem) MarshalJSON

func (u *TimeLockItem) MarshalJSON() ([]byte, error)

func (*TimeLockItem) Merge

func (z *TimeLockItem) Merge(x *TimeLockItem) *TimeLockItem

please ensure CanMerge condition is satisfied

func (*TimeLockItem) String

func (z *TimeLockItem) String() string

func (*TimeLockItem) Sub

type TimeLockParam

type TimeLockParam struct {
	Type      TimeLockType
	AssetID   Hash
	To        Address
	StartTime uint64
	EndTime   uint64
	Value     *big.Int `json:",string"`
}

TimeLockParam wacom

func (*TimeLockParam) Check

func (p *TimeLockParam) Check(blockNumber *big.Int, timestamp uint64) error

Check wacom

func (*TimeLockParam) ToBytes

func (p *TimeLockParam) ToBytes() ([]byte, error)

ToBytes wacom

type TimeLockType

type TimeLockType uint

TimeLockType wacom

const (
	AssetToTimeLock TimeLockType = iota
	TimeLockToTimeLock
	TimeLockToAsset
)

TimeLockTypes wacom

type TransferNotationParam

type TransferNotationParam struct {
	Notation  uint64
	ToAddress Address
}

TransferNotationParam wacom

func (*TransferNotationParam) ToBytes

func (p *TransferNotationParam) ToBytes() ([]byte, error)

ToBytes wacom

type UnprefixedAddress

type UnprefixedAddress Address

UnprefixedAddress allows marshaling an Address without 0x prefix.

func (UnprefixedAddress) MarshalText

func (a UnprefixedAddress) MarshalText() ([]byte, error)

MarshalText encodes the address as hex.

func (*UnprefixedAddress) UnmarshalText

func (a *UnprefixedAddress) UnmarshalText(input []byte) error

UnmarshalText decodes the address from hex. The 0x prefix is optional.

type UnprefixedHash

type UnprefixedHash Hash

UnprefixedHash allows marshaling a Hash without 0x prefix.

func (UnprefixedHash) MarshalText

func (h UnprefixedHash) MarshalText() ([]byte, error)

MarshalText encodes the hash as hex.

func (*UnprefixedHash) UnmarshalText

func (h *UnprefixedHash) UnmarshalText(input []byte) error

UnmarshalText decodes the hash from hex. The 0x prefix is optional.

Directories

Path Synopsis
Package bitutil implements fast bitwise operations.
Package bitutil implements fast bitwise operations.
Package compiler wraps the Solidity compiler executable (solc).
Package compiler wraps the Solidity compiler executable (solc).
Package hexutil implements hex encoding with 0x prefix.
Package hexutil implements hex encoding with 0x prefix.
Package math provides integer math utilities.
Package math provides integer math utilities.
Package mclock is a wrapper for a monotonic clock source
Package mclock is a wrapper for a monotonic clock source
Package overflow offers overflow-checked integer arithmetic operations for int, int32, and int64.
Package overflow offers overflow-checked integer arithmetic operations for int, int32, and int64.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL