Documentation
¶
Index ¶
- Constants
- Variables
- func CheckForCoinSupplyOverflow(current *big.Int, delta *big.Int) error
- func RecoverPlain(sighash types.Hash, R, S, Vb *big.Int) (types.Address, error)
- type BuyCoinData
- func (data BuyCoinData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
- func (data BuyCoinData) Gas() int64
- func (data BuyCoinData) Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, ...) Response
- func (data BuyCoinData) String() string
- func (data BuyCoinData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
- type CandidateTx
- type Conversion
- type CreateCoinData
- func (data CreateCoinData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
- func (data CreateCoinData) Gas() int64
- func (data CreateCoinData) Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, ...) Response
- func (data CreateCoinData) String() string
- func (data CreateCoinData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
- type CreateMultisigData
- func (data CreateMultisigData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
- func (data CreateMultisigData) Gas() int64
- func (data CreateMultisigData) Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, ...) Response
- func (data CreateMultisigData) String() string
- func (data CreateMultisigData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
- type Data
- type DeclareCandidacyData
- func (data DeclareCandidacyData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
- func (data DeclareCandidacyData) Gas() int64
- func (data DeclareCandidacyData) Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, ...) Response
- func (data DeclareCandidacyData) String() string
- func (data DeclareCandidacyData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
- type Decoder
- type DelegateData
- func (data DelegateData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
- func (data DelegateData) Gas() int64
- func (data DelegateData) Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, ...) Response
- func (data DelegateData) String() string
- func (data DelegateData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
- type EditCandidateData
- func (data EditCandidateData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
- func (data EditCandidateData) Gas() int64
- func (data EditCandidateData) GetPubKey() types.Pubkey
- func (data EditCandidateData) Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, ...) Response
- func (data EditCandidateData) String() string
- func (data EditCandidateData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
- type MultisendData
- func (data MultisendData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
- func (data MultisendData) Gas() int64
- func (data MultisendData) Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, ...) Response
- func (data MultisendData) String() string
- func (data MultisendData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
- type MultisendDataItem
- type RawData
- type RedeemCheckData
- func (data RedeemCheckData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
- func (data RedeemCheckData) CommissionInBaseCoin(tx *Transaction) *big.Int
- func (data RedeemCheckData) Gas() int64
- func (data RedeemCheckData) Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, ...) Response
- func (data RedeemCheckData) String() string
- func (data RedeemCheckData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
- type Response
- type SellAllCoinData
- func (data SellAllCoinData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
- func (data SellAllCoinData) Gas() int64
- func (data SellAllCoinData) Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, ...) Response
- func (data SellAllCoinData) String() string
- func (data SellAllCoinData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
- type SellCoinData
- func (data SellCoinData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
- func (data SellCoinData) Gas() int64
- func (data SellCoinData) Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, ...) Response
- func (data SellCoinData) String() string
- func (data SellCoinData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
- type SendData
- func (data SendData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
- func (data SendData) Gas() int64
- func (data SendData) Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, ...) Response
- func (data SendData) String() string
- func (data SendData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
- type SetCandidateOffData
- func (data SetCandidateOffData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
- func (data SetCandidateOffData) Gas() int64
- func (data SetCandidateOffData) GetPubKey() types.Pubkey
- func (data SetCandidateOffData) Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, ...) Response
- func (data SetCandidateOffData) String() string
- func (data SetCandidateOffData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
- type SetCandidateOnData
- func (data SetCandidateOnData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
- func (data SetCandidateOnData) Gas() int64
- func (data SetCandidateOnData) GetPubKey() types.Pubkey
- func (data SetCandidateOnData) Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, ...) Response
- func (data SetCandidateOnData) String() string
- func (data SetCandidateOnData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
- type SigType
- type Signature
- type SignatureMulti
- type TotalSpend
- type TotalSpends
- type Transaction
- func (tx *Transaction) CommissionInBaseCoin() *big.Int
- func (tx *Transaction) Gas() int64
- func (tx *Transaction) GetDecodedData() Data
- func (tx *Transaction) Hash() types.Hash
- func (tx *Transaction) Sender() (types.Address, error)
- func (tx *Transaction) Serialize() ([]byte, error)
- func (tx *Transaction) SetDecodedData(data Data)
- func (tx *Transaction) SetMultisigAddress(address types.Address)
- func (tx *Transaction) SetSignature(sig []byte)
- func (tx *Transaction) Sign(prv *ecdsa.PrivateKey) error
- func (tx *Transaction) String() string
- type TxType
- type UnbondData
- func (data UnbondData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
- func (data UnbondData) Gas() int64
- func (data UnbondData) Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, ...) Response
- func (data UnbondData) String() string
- func (data UnbondData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
Constants ¶
View Source
const ( TypeSend TxType = 0x01 TypeSellCoin TxType = 0x02 TypeSellAllCoin TxType = 0x03 TypeBuyCoin TxType = 0x04 TypeCreateCoin TxType = 0x05 TypeDeclareCandidacy TxType = 0x06 TypeDelegate TxType = 0x07 TypeUnbond TxType = 0x08 TypeRedeemCheck TxType = 0x09 TypeSetCandidateOnline TxType = 0x0A TypeSetCandidateOffline TxType = 0x0B TypeCreateMultisig TxType = 0x0C TypeMultisend TxType = 0x0D TypeEditCandidate TxType = 0x0E SigTypeSingle SigType = 0x01 SigTypeMulti SigType = 0x02 )
Variables ¶
View Source
var ( ErrInvalidSig = errors.New("invalid transaction v, r, s values") MaxCoinSupply = big.NewInt(0).Exp(big.NewInt(10), big.NewInt(15+18), nil) // 1,000,000,000,000,000 noahs // todo )
View Source
var (
CommissionMultiplier = big.NewInt(10e14)
)
View Source
var TxDecoder = Decoder{ // contains filtered or unexported fields }
Functions ¶
Types ¶
type BuyCoinData ¶
type BuyCoinData struct {
CoinToBuy types.CoinSymbol `json:"coin_to_buy"`
ValueToBuy *big.Int `json:"value_to_buy"`
CoinToSell types.CoinSymbol `json:"coin_to_sell"`
MaximumValueToSell *big.Int `json:"maximum_value_to_sell"`
}
func (BuyCoinData) BasicCheck ¶
func (data BuyCoinData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
func (BuyCoinData) Gas ¶
func (data BuyCoinData) Gas() int64
func (BuyCoinData) Run ¶
func (data BuyCoinData) Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, currentBlock uint64) Response
func (BuyCoinData) String ¶
func (data BuyCoinData) String() string
func (BuyCoinData) TotalSpend ¶
func (data BuyCoinData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
type CandidateTx ¶
type Conversion ¶
type CreateCoinData ¶
type CreateCoinData struct {
Name string `json:"name"`
Symbol types.CoinSymbol `json:"symbol"`
InitialAmount *big.Int `json:"initial_amount"`
InitialReserve *big.Int `json:"initial_reserve"`
ConstantReserveRatio uint `json:"constant_reserve_ratio"`
}
func (CreateCoinData) BasicCheck ¶
func (data CreateCoinData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
func (CreateCoinData) Gas ¶
func (data CreateCoinData) Gas() int64
func (CreateCoinData) Run ¶
func (data CreateCoinData) Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, currentBlock uint64) Response
func (CreateCoinData) String ¶
func (data CreateCoinData) String() string
func (CreateCoinData) TotalSpend ¶
func (data CreateCoinData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
type CreateMultisigData ¶
type CreateMultisigData struct {
Threshold uint `json:"threshold"`
Weights []uint `json:"weights"`
Addresses []types.Address `json:"addresses"`
}
func (CreateMultisigData) BasicCheck ¶
func (data CreateMultisigData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
func (CreateMultisigData) Gas ¶
func (data CreateMultisigData) Gas() int64
func (CreateMultisigData) Run ¶
func (data CreateMultisigData) Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, currentBlock uint64) Response
func (CreateMultisigData) String ¶
func (data CreateMultisigData) String() string
func (CreateMultisigData) TotalSpend ¶
func (data CreateMultisigData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
type Data ¶
type Data interface {
String() string
Gas() int64
TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
BasicCheck(tx *Transaction, context *state.StateDB) *Response
Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, currentBlock uint64) Response
}
type DeclareCandidacyData ¶
type DeclareCandidacyData struct {
Address types.Address `json:"address"`
PubKey types.Pubkey `json:"pub_key"`
Commission uint `json:"commission"`
Coin types.CoinSymbol `json:"coin"`
Stake *big.Int `json:"stake"`
}
func (DeclareCandidacyData) BasicCheck ¶
func (data DeclareCandidacyData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
func (DeclareCandidacyData) Gas ¶
func (data DeclareCandidacyData) Gas() int64
func (DeclareCandidacyData) Run ¶
func (data DeclareCandidacyData) Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, currentBlock uint64) Response
func (DeclareCandidacyData) String ¶
func (data DeclareCandidacyData) String() string
func (DeclareCandidacyData) TotalSpend ¶
func (data DeclareCandidacyData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
type Decoder ¶
type Decoder struct {
// contains filtered or unexported fields
}
func (*Decoder) DecodeFromBytes ¶
func (decoder *Decoder) DecodeFromBytes(buf []byte) (*Transaction, error)
func (*Decoder) RegisterType ¶
type DelegateData ¶
type DelegateData struct {
PubKey types.Pubkey `json:"pub_key"`
Coin types.CoinSymbol `json:"coin"`
Value *big.Int `json:"value"`
}
func (DelegateData) BasicCheck ¶
func (data DelegateData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
func (DelegateData) Gas ¶
func (data DelegateData) Gas() int64
func (DelegateData) Run ¶
func (data DelegateData) Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, currentBlock uint64) Response
func (DelegateData) String ¶
func (data DelegateData) String() string
func (DelegateData) TotalSpend ¶
func (data DelegateData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
type EditCandidateData ¶
type EditCandidateData struct {
PubKey types.Pubkey `json:"pub_key"`
RewardAddress types.Address `json:"reward_address"`
OwnerAddress types.Address `json:"owner_address"`
}
func (EditCandidateData) BasicCheck ¶
func (data EditCandidateData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
func (EditCandidateData) Gas ¶
func (data EditCandidateData) Gas() int64
func (EditCandidateData) GetPubKey ¶
func (data EditCandidateData) GetPubKey() types.Pubkey
func (EditCandidateData) Run ¶
func (data EditCandidateData) Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, currentBlock uint64) Response
func (EditCandidateData) String ¶
func (data EditCandidateData) String() string
func (EditCandidateData) TotalSpend ¶
func (data EditCandidateData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
type MultisendData ¶
type MultisendData struct {
List []MultisendDataItem `json:"list"`
}
func (MultisendData) BasicCheck ¶
func (data MultisendData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
func (MultisendData) Gas ¶
func (data MultisendData) Gas() int64
func (MultisendData) Run ¶
func (data MultisendData) Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, currentBlock uint64) Response
func (MultisendData) String ¶
func (data MultisendData) String() string
func (MultisendData) TotalSpend ¶
func (data MultisendData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
type MultisendDataItem ¶
type RedeemCheckData ¶
func (RedeemCheckData) BasicCheck ¶
func (data RedeemCheckData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
func (RedeemCheckData) CommissionInBaseCoin ¶
func (data RedeemCheckData) CommissionInBaseCoin(tx *Transaction) *big.Int
func (RedeemCheckData) Gas ¶
func (data RedeemCheckData) Gas() int64
func (RedeemCheckData) Run ¶
func (data RedeemCheckData) Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, currentBlock uint64) Response
func (RedeemCheckData) String ¶
func (data RedeemCheckData) String() string
func (RedeemCheckData) TotalSpend ¶
func (data RedeemCheckData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
type Response ¶
type Response struct {
Code uint32 `json:"code,omitempty"`
Data []byte `json:"data,omitempty"`
Log string `json:"log,omitempty"`
Info string `json:"info,omitempty"`
GasWanted int64 `json:"gas_wanted,omitempty"`
GasUsed int64 `json:"gas_used,omitempty"`
Tags []common.KVPair `json:"tags,omitempty"`
GasPrice uint32 `json:"gas_price"`
}
type SellAllCoinData ¶
type SellAllCoinData struct {
CoinToSell types.CoinSymbol `json:"coin_to_sell"`
CoinToBuy types.CoinSymbol `json:"coin_to_buy"`
MinimumValueToBuy *big.Int `json:"minimum_value_to_buy"`
}
func (SellAllCoinData) BasicCheck ¶
func (data SellAllCoinData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
func (SellAllCoinData) Gas ¶
func (data SellAllCoinData) Gas() int64
func (SellAllCoinData) Run ¶
func (data SellAllCoinData) Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, currentBlock uint64) Response
func (SellAllCoinData) String ¶
func (data SellAllCoinData) String() string
func (SellAllCoinData) TotalSpend ¶
func (data SellAllCoinData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
type SellCoinData ¶
type SellCoinData struct {
CoinToSell types.CoinSymbol `json:"coin_to_sell"`
ValueToSell *big.Int `json:"value_to_sell"`
CoinToBuy types.CoinSymbol `json:"coin_to_buy"`
MinimumValueToBuy *big.Int `json:"minimum_value_to_buy"`
}
func (SellCoinData) BasicCheck ¶
func (data SellCoinData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
func (SellCoinData) Gas ¶
func (data SellCoinData) Gas() int64
func (SellCoinData) Run ¶
func (data SellCoinData) Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, currentBlock uint64) Response
func (SellCoinData) String ¶
func (data SellCoinData) String() string
func (SellCoinData) TotalSpend ¶
func (data SellCoinData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
type SendData ¶
type SendData struct {
Coin types.CoinSymbol `json:"coin"`
To types.Address `json:"to"`
Value *big.Int `json:"value"`
}
func (SendData) BasicCheck ¶
func (data SendData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
func (SendData) TotalSpend ¶
func (data SendData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
type SetCandidateOffData ¶
func (SetCandidateOffData) BasicCheck ¶
func (data SetCandidateOffData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
func (SetCandidateOffData) Gas ¶
func (data SetCandidateOffData) Gas() int64
func (SetCandidateOffData) GetPubKey ¶
func (data SetCandidateOffData) GetPubKey() types.Pubkey
func (SetCandidateOffData) Run ¶
func (data SetCandidateOffData) Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, currentBlock uint64) Response
func (SetCandidateOffData) String ¶
func (data SetCandidateOffData) String() string
func (SetCandidateOffData) TotalSpend ¶
func (data SetCandidateOffData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
type SetCandidateOnData ¶
func (SetCandidateOnData) BasicCheck ¶
func (data SetCandidateOnData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
func (SetCandidateOnData) Gas ¶
func (data SetCandidateOnData) Gas() int64
func (SetCandidateOnData) GetPubKey ¶
func (data SetCandidateOnData) GetPubKey() types.Pubkey
func (SetCandidateOnData) Run ¶
func (data SetCandidateOnData) Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, currentBlock uint64) Response
func (SetCandidateOnData) String ¶
func (data SetCandidateOnData) String() string
func (SetCandidateOnData) TotalSpend ¶
func (data SetCandidateOnData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
type SignatureMulti ¶
type TotalSpend ¶
type TotalSpend struct {
Coin types.CoinSymbol
Value *big.Int
}
type TotalSpends ¶
type TotalSpends []TotalSpend
func (*TotalSpends) Add ¶
func (tss *TotalSpends) Add(coin types.CoinSymbol, value *big.Int)
type Transaction ¶
type Transaction struct {
Nonce uint64
ChainID types.ChainID
GasPrice uint32
GasCoin types.CoinSymbol
Type TxType
Data RawData
Payload []byte
ServiceData []byte
SignatureType SigType
SignatureData []byte
// contains filtered or unexported fields
}
func (*Transaction) CommissionInBaseCoin ¶
func (tx *Transaction) CommissionInBaseCoin() *big.Int
func (*Transaction) Gas ¶
func (tx *Transaction) Gas() int64
func (*Transaction) GetDecodedData ¶
func (tx *Transaction) GetDecodedData() Data
func (*Transaction) Hash ¶
func (tx *Transaction) Hash() types.Hash
func (*Transaction) Serialize ¶
func (tx *Transaction) Serialize() ([]byte, error)
func (*Transaction) SetDecodedData ¶
func (tx *Transaction) SetDecodedData(data Data)
func (*Transaction) SetMultisigAddress ¶
func (tx *Transaction) SetMultisigAddress(address types.Address)
func (*Transaction) SetSignature ¶
func (tx *Transaction) SetSignature(sig []byte)
func (*Transaction) Sign ¶
func (tx *Transaction) Sign(prv *ecdsa.PrivateKey) error
func (*Transaction) String ¶
func (tx *Transaction) String() string
type UnbondData ¶
type UnbondData struct {
PubKey types.Pubkey `json:"pub_key"`
Coin types.CoinSymbol `json:"coin"`
Value *big.Int `json:"value"`
}
func (UnbondData) BasicCheck ¶
func (data UnbondData) BasicCheck(tx *Transaction, context *state.StateDB) *Response
func (UnbondData) Gas ¶
func (data UnbondData) Gas() int64
func (UnbondData) Run ¶
func (data UnbondData) Run(tx *Transaction, context *state.StateDB, isCheck bool, rewardPool *big.Int, currentBlock uint64) Response
func (UnbondData) String ¶
func (data UnbondData) String() string
func (UnbondData) TotalSpend ¶
func (data UnbondData) TotalSpend(tx *Transaction, context *state.StateDB) (TotalSpends, []Conversion, *big.Int, *Response)
Click to show internal directories.
Click to hide internal directories.