Documentation ¶
Overview ¶
Package common contains various helper functions.
Index ¶
- Constants
- Variables
- func AbsolutePath(Datadir string, filename string) string
- func Bytes2Hex(d []byte) string
- func CopyBytes(b []byte) (copiedBytes []byte)
- func EmptyHash(h Hash) bool
- func ExtractAddressToBytes(penalties []Address) []byte
- func FileExist(filePath string) bool
- func FromHex(s string) []byte
- func Hex2Bytes(str string) []byte
- func Hex2BytesFixed(str string, flen int) []byte
- func IsHexAddress(s string) bool
- func LeftPadBytes(slice []byte, l int) []byte
- func LoadJSON(file string, val interface{}) error
- func MakeName(name, version string) string
- func PrintDepricationWarning(str string)
- func Report(extra ...interface{})
- func RightPadBytes(slice []byte, l int) []byte
- func ToHex(b []byte) string
- type Address
- func (a Address) Big() *big.Int
- func (a Address) Bytes() []byte
- 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) Set(other Address)
- func (a *Address) SetBytes(b []byte)
- func (a *Address) SetString(s string)
- func (a Address) Str() string
- func (a Address) String() string
- func (a *Address) UnmarshalJSON(input []byte) error
- func (a *Address) UnmarshalText(input []byte) error
- type Hash
- func (h Hash) Big() *big.Int
- func (h Hash) Bytes() []byte
- 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) Set(other Hash)
- func (h *Hash) SetBytes(b []byte)
- func (h *Hash) SetString(s string)
- func (h Hash) Str() string
- func (h Hash) String() string
- func (h Hash) TerminalString() string
- func (h *Hash) UnmarshalJSON(input []byte) error
- func (h *Hash) UnmarshalText(input []byte) error
- type PrettyDuration
- type StorageSize
- type UnprefixedAddress
- type UnprefixedHash
- type Vote
Constants ¶
const ( RewardMasterPercent = 51 RewardVoterPercent = 19 RewardFoundationPercent = 30 HexSignMethod = "e341eaa4" HexSetSecret = "34d38600" HexSetOpening = "e11f5ba2" EpocBlockSecret = 800 EpocBlockOpening = 850 EpocBlockRandomize = 900 MaxMasternodes = 100000000000000 LimitPenaltyEpoch = 4 BlocksPerYear = uint64(15768000) LimitThresholdNonceInQueue = 10 DefaultMinGasPrice = 250000000 MergeSignRange = 15 RangeReturnSigner = 150 MinimunMinerBlockPerEpoch = 1 //IgnoreSignerCheckBlock = uint64(14458500) // Not Needed OneYear = uint64(365 * 86400) LiquidateLendingTradeBlock = uint64(100) )
const ( HashLength = 32 AddressLength = 20 BlockSigners = "0x0000000000000000000000000000000000000089" MasternodeVotingSMC = "0x0000000000000000000000000000000000000088" RandomizeSMC = "0x0000000000000000000000000000000000000090" FoudationAddr = "0x0000000000000000000000000000000000000068" TeamAddr = "0x0000000000000000000000000000000000000099" SdxXAddr = "0x0000000000000000000000000000000000000091" TradingStateAddr = "0x0000000000000000000000000000000000000092" SdxXLendingAddress = "0x0000000000000000000000000000000000000093" SdxXLendingFinalizedTradeAddress = "0x0000000000000000000000000000000000000094" SdxNativeAddress = "0x0000000000000000000000000000000000000001" LendingLockAddress = "0x0000000000000000000000000000000000000011" VoteMethod = "0x6dd7d8ea" UnvoteMethod = "0x02aa9be2" ProposeMethod = "0x01267951" ResignMethod = "0xae6e43f5" SignMethod = "0xe341eaa4" SdxXApplyMethod = "0xc6b32f34" SdxZApplyMethod = "0xc6b32f34" )
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(256) Big257 = big.NewInt(257) )
Common big integers often used
var BaseLendingInterest = big.NewInt(100000000) // 1e8
var BasePrice = big.NewInt(1000000000000000000) // 1
var BaseRecall = big.NewInt(100)
var BaseTopUp = big.NewInt(100)
var BlackListHFNumber = uint64(999999999999999)
var Blacklist = map[Address]bool{ HexToAddress(""): true, }
var IsTestnet bool = false
var LendingRegistrationSMC = "0x0" // These need to be added at a later date once all contracts are deployed
var LendingRegistrationSMCTestnet = "0x0"
var LimitTimeFinality = uint64(30) // limit in 30 block
var MinGasPrice = big.NewInt(DefaultMinGasPrice)
var RateTopUp = big.NewInt(90) // 90%
var RelayerCancelFee = big.NewInt(100000000000000) // 0.0001
var RelayerFee = big.NewInt(1000000000000000) // 0.001
var RelayerLendingCancelFee = big.NewInt(1000000000000000) // 0.001
var RelayerLendingFee = big.NewInt(10000000000000000) // 0.01
var RelayerLockedFund = big.NewInt(20000) // 20000 SDX
var RelayerRegistrationSMC = "0x0" // These need to be added at a later date once all contracts are deployed
var RelayerRegistrationSMCTestnet = "0x0"
var Rewound = uint64(0)
var SRC21GasPrice = big.NewInt(250000000)
var SRC21GasPriceBefore = big.NewInt(2500)
var SRC21IssuerSMC = HexToAddress("0x0") // These need to be added at a later date once all contracts are deployed
var SRC21IssuerSMCTestNet = HexToAddress("0x0")
var SdxXBaseCancelFee = new(big.Int).Mul(SdxXBaseFee, big.NewInt(10)) // 1/ (SdxXBaseFee *10)
var SdxXBaseFee = big.NewInt(10000) // 1 / SdxXBaseFee
var SdxXListingSMC = HexToAddress("0x0") // These need to be added at a later date once all contracts are deployed
var SdxXListingSMCTestNet = HexToAddress("0x0")
var StoreRewardFolder string
var TIP2019Block = big.NewInt(1050000)
hardforks
var TIPRandomize = big.NewInt(1648500)
var TIPSRC21Fee = big.NewInt(999999999999999)
var TIPSdxX = big.NewInt(1649000)
var TIPSdxXCancellationFee = big.NewInt(1650000)
var TIPSdxXLending = big.NewInt(1649500)
var TIPSdxXTestnet = big.NewInt(0)
var TIPSigning = big.NewInt(1648000)
Functions ¶
func AbsolutePath ¶
func ExtractAddressToBytes ¶
Extract validators from byte array.
func Hex2BytesFixed ¶
func IsHexAddress ¶
IsHexAddress verifies whether a string can represent a valid hex-encoded Ethereum address or not.
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 ¶
Types ¶
type Address ¶
type Address [AddressLength]byte
Address represents the 20 byte address of an Ethereum account.
func BigToAddress ¶
func BytesToAddress ¶
func ExtractAddressFromBytes ¶
func HexToAddress ¶
func RemoveItemFromArray ¶
Extract validators from byte array.
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) SetBytes ¶
Sets the address to the value of b. If b is larger than len(a) it will panic
func (*Address) UnmarshalJSON ¶
UnmarshalJSON parses a hash in hex syntax.
func (*Address) UnmarshalText ¶
UnmarshalText parses a hash in hex syntax.
type Hash ¶
type Hash [HashLength]byte
Hash represents the 32 byte Keccak256 hash of arbitrary data.
var RollbackHash Hash
func BytesToHash ¶
func StringToHash ¶
func Uint64ToHash ¶
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) 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) 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 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 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.
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 |
Package prque implements a priority queue data structure supporting arbitrary value types and int64 priorities.
|
Package prque implements a priority queue data structure supporting arbitrary value types and int64 priorities. |