Versions in this module Expand all Collapse all v0 v0.1.0 Dec 10, 2018 Changes in this version + var ErrInsufficientBalance = fmt.Errorf("balance is lower than the amount to be executed") + var ErrInvalidNonce = fmt.Errorf("invalid nonce") + var ErrKeyExisted = fmt.Errorf("key already existed") + var ErrKeyNotExist = fmt.Errorf("key not existed") + func JointKvDataKey(acc, key string) (rkey string) + func KVDataFromBytes(key string, data []byte) (cvtypes.StateDataItfc, error) + func KvDataSplit(str string) (acc, key string) + func RemoteAccFromBytes(key string, data []byte) (cvtypes.StateDataItfc, error) + type ModifiedUndoItfc interface + Copy func() ModifiedUndoItfc + Undo func(state cvtypes.StateItfc) + type ModifyBalanceUndo struct + func (n *ModifyBalanceUndo) Copy() ModifiedUndoItfc + func (n *ModifyBalanceUndo) Undo(state cvtypes.StateItfc) + type ModifyKvUndo struct + func (n *ModifyKvUndo) Copy() ModifiedUndoItfc + func (n *ModifyKvUndo) Undo(state cvtypes.StateItfc) + type ModifyNonceUndo struct + func (n *ModifyNonceUndo) Copy() ModifiedUndoItfc + func (n *ModifyNonceUndo) Undo(state cvtypes.StateItfc) + type RemoteAccount struct + func (ra *RemoteAccount) AddBalance(add *big.Int) + func (ra *RemoteAccount) AddNonce(add uint64) + func (ra *RemoteAccount) Bytes() ([]byte, error) + func (ra *RemoteAccount) Copy() cvtypes.StateDataItfc + func (ra *RemoteAccount) DelKv(key string) + func (ra *RemoteAccount) GetBalance() *big.Int + func (ra *RemoteAccount) GetKv(key string) []byte + func (ra *RemoteAccount) GetNonce() uint64 + func (ra *RemoteAccount) Init(accID string, balance *big.Int, state *RemoteState) + func (ra *RemoteAccount) Key() string + func (ra *RemoteAccount) Load(state *RemoteState) + func (ra *RemoteAccount) OnCommit() error + func (ra *RemoteAccount) SetKv(key string, value []byte) (err error) + func (ra *RemoteAccount) SubBalance(sub *big.Int) error + type RemoteState struct + func NewRemoteState(database db.DB, log *zap.Logger) *RemoteState + func (rs *RemoteState) AccDelKv(accID string, key string) + func (rs *RemoteState) AccGetKv(accID string, key string) []byte + func (rs *RemoteState) AccSetKv(accID string, key string, value []byte) error + func (rs *RemoteState) AddNonce(accID string, add uint64) + func (rs *RemoteState) Copy() *RemoteState + func (rs *RemoteState) CreateRemoteAcc(accID string, balance *big.Int) *RemoteAccount + func (rs *RemoteState) GetBalance(accID string) *big.Int + func (rs *RemoteState) GetNonce(accID string) uint64 + func (rs *RemoteState) RemoteAcc(accID string) *RemoteAccount + func (rs *RemoteState) RevertToSnapshot(version int) + func (rs *RemoteState) Snapshot() int + func (rs *RemoteState) Transfer(fromID, toID string, balance *big.Int) bool + type RevertLayer struct + func (rl *RevertLayer) Copy() *RevertLayer + func (rl *RevertLayer) Init(state cvtypes.StateItfc) + func (rl *RevertLayer) RevertToVerstion(v int) + func (rl *RevertLayer) Snapshot() int + type StVersion struct + type State struct + func NewState(database db.DB) *State + func (os *State) Commit() ([]byte, error) + func (os *State) Copy() (cp *State) + func (os *State) CreateData(acc cvtypes.StateDataItfc) (err error) + func (os *State) ExistData(accID string) bool + func (os *State) GetData(accID string, fromBytes cvtypes.FromBytesFunc) (acc cvtypes.StateDataItfc, err error) + func (os *State) Load(root []byte) + func (os *State) Lock() + func (os *State) MarkModified(key string) + func (os *State) ModifyData(key string, data cvtypes.StateDataItfc) + func (os *State) Reload(root []byte) + func (os *State) RemoveData(accID string) bool + func (os *State) Unlock() + type StateKvData struct + func (k *StateKvData) Bytes() ([]byte, error) + func (k *StateKvData) Copy() cvtypes.StateDataItfc + func (k *StateKvData) Init(key string, value []byte) + func (k *StateKvData) Key() string + func (k *StateKvData) OnCommit() error + func (k *StateKvData) Reset(key string, value []byte)