Documentation ¶
Overview ¶
Package common contains various helper functions.
Index ¶
- Constants
- Variables
- func AbsolutePath(Datadir string, filename string) string
- func Bytes2Hex(d []byte) string
- func CheckChan() interface{}
- func CheckEleSharding(rShard, lShard uint16, rEthHeight, lEthHeight uint64, ...) bool
- func CompressBytes(data []byte) ([]byte, error)
- func CopyBytes(b []byte) (copiedBytes []byte)
- func EleSyncRule(remoteHeightEle, localHeightEle, remoteHeightEth, localHeightEth int64) bool
- func EmptyAddress(a Address) bool
- func EmptyHash(h Hash) bool
- func FileExist(filePath string) bool
- func FromHex(s string) []byte
- func GetAlign64(pos int64) int64
- func GetBrotherSharding(currentShard, totalShard uint16) int16
- func GetChildSharding(currentShard, totalShard uint16) (int16, int16)
- func GetEleShardHeight(rShard, lShard uint16) uint64
- func GetEleSharding(eBase *Address, lampHeight uint64) uint16
- func GetErrBytes(err error) []byte
- func GetErrString(errBytes []byte) string
- func GetIPPort(ip string) (string, string)
- func GetNextShardingHeight(lampHeight uint64) uint64
- func GetParentSharding(currentShard, totalShard uint16) int16
- func GetRealSharding(address Address) uint16
- func GetSharding(address Address, lampHeight uint64) uint16
- func GetSharding2(realShard, totalShard uint16) uint16
- func GetSharding3(realShard uint16, lampHeight uint64) uint16
- func GetShardingHeight(s uint16) uint64
- func GetShareObjData(sharingCode string) (objId uint64, offset uint64, length uint64, price uint64, timeStart string, ...)
- func GetTimeString(sec uint64) string
- func GetTotalSharding(lampHeight uint64) uint16
- func GetTxsType(eBase, from, to *Address, lampHeight uint64) int
- func GetUnixTime(str string) (uint64, error)
- func GetconsenusBft() bool
- func Hex2Bytes(str string) []byte
- func Hex2BytesFixed(str string, flen int) []byte
- func IsFreeAct(h uint64, t uint8) bool
- func IsHexAddress(s string) bool
- func IsSameIP(ip, ip2 string) bool
- func IsSameSharding(a, b Address, lampHeight uint64) bool
- func KeyID(addr Address, objID uint64) string
- func LeftPadBytes(slice []byte, l int) []byte
- func LoadJSON(file string, val interface{}) error
- func MakeName(name, version string) string
- func Max(x, y int64) int64
- func Min(x, y int64) int64
- func PrintDepricationWarning(str string)
- func Report(extra ...interface{})
- func RightPadBytes(slice []byte, l int) []byte
- func ToHex(b []byte) string
- func UncompressBytes(data []byte) ([]byte, error)
- type Address
- func (a Address) Big() *big.Int
- func (a Address) Bytes() []byte
- func (a *Address) Equal(b Address) bool
- func (a Address) Format(s fmt.State, c rune)
- func (a Address) Hash() Hash
- func (a Address) Hex() string
- func (a Address) MarshalText() ([]byte, error)
- func (a *Address) PShortString() string
- func (a *Address) Set(other Address)
- func (a *Address) SetBytes(b []byte)
- func (a *Address) SetString(s string)
- func (a Address) ShortString() string
- func (a Address) Str() string
- func (a Address) String() string
- func (a Address) ToHex() string
- func (a *Address) UnmarshalJSON(input []byte) error
- func (a *Address) UnmarshalText(input []byte) error
- type AddressNode
- type Addresss
- type BlockIDNode
- type CSAuthData
- type DataHash
- type Hash
- func (h Hash) Big() *big.Int
- func (h Hash) Bytes() []byte
- func (a *Hash) Equal(b Hash) bool
- func (h Hash) Format(s fmt.State, c rune)
- func (h Hash) Generate(rand *rand.Rand, size int) reflect.Value
- func (h Hash) Hex() string
- func (h Hash) MarshalText() ([]byte, error)
- func (h *Hash) PShortPointer() string
- func (h *Hash) Set(other Hash)
- func (h *Hash) SetBytes(b []byte)
- func (h *Hash) SetString(s string)
- func (h Hash) ShortString() string
- func (h Hash) Str() string
- func (h Hash) String() string
- func (h Hash) TerminalString() string
- func (h Hash) ToHex() string
- func (h *Hash) UnmarshalJSON(input []byte) error
- func (h *Hash) UnmarshalText(input []byte) error
- type Hashs
- type PrettyDuration
- type SDBMailData
- type SharingCodeST
- type StorageSize
- type TxMailData
- type UnprefixedAddress
- type UnprefixedHash
- type WalletCSAuthData
Constants ¶
const ( HashLength = 32 AddressLength = 20 DataHashLength = 4 )
const ( LocalTxs = 0 InputTxs = 1 OutputTxs = 2 MaxTxs = OutputTxs + 1 InvalidTxs = 4 )
extend txs
const BitTotal = 2 // 13
const MaxShardingTotal = (2 << (BitTotal - 1))
Variables ¶
var ( Big1 = big.NewInt(1) Big2 = big.NewInt(2) Big3 = big.NewInt(3) Big0 = big.NewInt(0) Big32 = big.NewInt(32) Big256 = big.NewInt(0xff) Big257 = big.NewInt(257) )
Common big integers often used
var ( ErrInterfaceType = errors.New("interface type not match") ErrToDo = errors.New("need to do") )
Functions ¶
func AbsolutePath ¶
func CheckEleSharding ¶
func CompressBytes ¶
func EleSyncRule ¶
func EmptyAddress ¶
func GetAlign64 ¶
func GetBrotherSharding ¶
func GetChildSharding ¶
func GetEleShardHeight ¶
func GetEleSharding ¶
func GetErrBytes ¶
func GetErrString ¶
func GetNextShardingHeight ¶
func GetParentSharding ¶
func GetRealSharding ¶
Real sharding by address, sharding [0, 8191]
func GetSharding ¶
func GetSharding2 ¶
func GetSharding3 ¶
func GetShardingHeight ¶
func GetShareObjData ¶
func GetTimeString ¶
func GetTotalSharding ¶
func GetTxsType ¶
func GetUnixTime ¶
func Hex2BytesFixed ¶
func IsHexAddress ¶
IsHexAddress verifies whether a string can represent a valid hex-encoded Ethereum address or not.
func IsSameSharding ¶
func LeftPadBytes ¶
func MakeName ¶
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 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 UncompressBytes ¶
Types ¶
type Address ¶
type Address [AddressLength]byte
Address represents the 20 byte address of an Ethereum account.
func BigToAddress ¶
func BytesToAddress ¶
func HexToAddress ¶
func StringToAddress ¶
func (Address) Format ¶
Format implements fmt.Formatter, forcing the byte slice to be formatted as is, without going through the stringer interface used for logging.
func (Address) MarshalText ¶
MarshalText returns the hex representation of a.
func (*Address) PShortString ¶
func (*Address) SetBytes ¶
Sets the address to the value of b. If b is larger than len(a) it will panic
func (Address) ShortString ¶
func (Address) ToHex ¶
Hex returns an EIP55-compliant hex string representation of the address(a hex string without 0x prefix).
func (*Address) UnmarshalJSON ¶
UnmarshalJSON parses a hash in hex syntax.
func (*Address) UnmarshalText ¶
UnmarshalText parses a hash in hex syntax.
type AddressNode ¶
type BlockIDNode ¶
type CSAuthData ¶
type CSAuthData struct { Authorizer Address // authorizer StartTime uint64 // authorize starttime EndTime uint64 // authorize endtime Flow uint64 // authorize flow // AuthAllowTime uint64 // authorizer allow time CSPickupTime uint64 // pickup time AuthAllowFlow uint64 // authorizer allow flow CSPickupFlow uint64 // pickup flow // UsedFlow uint64 // used flow PayMethod uint8 // payment method, 0-time, 1-flow }
type Hash ¶
type Hash [HashLength]byte
Hash represents the 32 byte Keccak256 hash of arbitrary data.
func BytesToHash ¶
func StringToHash ¶
func (Hash) Format ¶
Format implements fmt.Formatter, forcing the byte slice to be formatted as is, without going through the stringer interface used for logging.
func (Hash) MarshalText ¶
MarshalText returns the hex representation of h.
func (*Hash) PShortPointer ¶
func (*Hash) 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) SetString ¶
Set string `s` to h. If s is larger than len(h) s will be cropped (from left) to fit.
func (Hash) ShortString ¶
func (Hash) String ¶
String implements the stringer interface and is used also by the logger when doing full logging into a file.
func (Hash) TerminalString ¶
TerminalString implements log.TerminalStringer, formatting a string for console output during logging.
func (*Hash) UnmarshalJSON ¶
UnmarshalJSON parses a hash in hex syntax.
func (*Hash) UnmarshalText ¶
UnmarshalText parses a hash in hex syntax.
type PrettyDuration ¶
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 SDBMailData ¶
type SharingCodeST ¶
type SharingCodeST struct { FileObjID uint64 `json:"ObjectID"` FileName string `json:"FileName"` FileOffset uint64 `json:"FileOffset"` FileSize uint64 `json:"FileSize"` Receiver string `json:"Receiver"` StartTime string `json:"TimeStart"` StopTime string `json:"TimeStop"` Price uint64 `json:"Price"` Key string `json:"Key"` Signature string `json:"Signature"` }
func (*SharingCodeST) HashNoSignature ¶
func (s *SharingCodeST) HashNoSignature() Hash
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 TxMailData ¶
type TxMailData struct { Title string `json:"Title,omitempty"` Sender string `json:"Sender,omitempty"` Receiver string `json:"Receiver,omitempty"` Content string `json:"Content,omitempty"` TimeStamp string `json:"TimeStamp,omitempty"` FileSharing string `json:"FileSharing,omitempty"` Signature string `json:"Signature,omitempty"` EncryptType string `json:"EncryptType,omitempty"` Key string `json:"Key,omitempty"` }
func (*TxMailData) UnmarshalJson ¶
func (mail *TxMailData) UnmarshalJson(jsonStr string) error
type UnprefixedAddress ¶
type UnprefixedAddress Address
UnprefixedHash 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.
type WalletCSAuthData ¶
type WalletCSAuthData struct { CsAddr Address // CsAddr StartTime uint64 // authorize starttime EndTime uint64 // authorize endtime Flow uint64 // authorize flow CSPickupTime uint64 // pickup time AuthAllowFlow uint64 // authorizer allow flow CSPickupFlow uint64 // pickup flow PayMethod uint8 // payment method, 0-time, 1-flow NodeID string }
Source Files ¶
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 |