Documentation
¶
Index ¶
- Constants
- Variables
- type Action
- func (a *Action) FromEOSForce(act *eosforce.Action) error
- func (a *Action) FromEOSIO(act *eosio.Action) error
- func (a *Action) FromForceio(act *forceio.Action) error
- func (a *Action) ToEOSForce() (*eosforce.Action, error)
- func (a *Action) ToEOSIO() (*eosio.Action, error)
- func (a *Action) ToForceio() (*forceio.Action, error)
- type Asset
- type BlockGeneralInfo
- type BlockResp
- type Checksum256
- type ClientInterface
- type ClientType
- type InfoResp
- type P2PHandler
- type PermissionLevel
- type PushTransactionFullResp
- type SwitcherInterface
- type Symbol
- type TransactionGeneralInfo
- type TransactionReceipt
- type TransactionStatus
- type TransferActionData
Constants ¶
View Source
const ( // ClientTypeNil nil type for chain ClientTypeNil = ClientType(iota) FORCEIO EOSForce Codex EOSIO ENU // no support now BOS // no support now TLOS // no support now MEETONE // no support now )
Variables ¶
View Source
var ( ErrTypeErrToChain = errors.New("ErrTypeErrToChain") ErrNoSupportChain = errors.New("ErrNoSupportChain") )
Functions ¶
This section is empty.
Types ¶
type Action ¶
type Action struct {
Account string
Name string
Authorization []PermissionLevel
Data interface{}
HexData []byte
}
type BlockGeneralInfo ¶
type BlockGeneralInfo struct {
ID Checksum256 `json:"id"`
BlockNum uint32 `json:"block_num"`
Timestamp time.Time `json:"timestamp"`
Producer string `json:"producer"`
Confirmed uint16 `json:"confirmed"`
Previous Checksum256 `json:"previous"`
TransactionMRoot Checksum256 `json:"transaction_mroot"`
ActionMRoot Checksum256 `json:"action_mroot"`
ScheduleVersion uint32 `json:"schedule_version"`
Transactions []TransactionReceipt `json:"transactions"`
}
type BlockResp ¶
type BlockResp struct {
BlockGeneralInfo
ID Checksum256 `json:"id"`
BlockNum uint32 `json:"block_num"`
RefBlockPrefix uint32 `json:"ref_block_prefix"`
}
type Checksum256 ¶
type Checksum256 []byte
Checksum256 a general type for xxx.Checksum256
func (Checksum256) MarshalJSON ¶
func (t Checksum256) MarshalJSON() ([]byte, error)
MarshalJSON to json
func (Checksum256) String ¶
func (t Checksum256) String() string
func (*Checksum256) UnmarshalJSON ¶
func (t *Checksum256) UnmarshalJSON(data []byte) (err error)
UnmarshalJSON from json
type ClientInterface ¶
type ClientInterface interface {
Type() ClientType
Switcher() SwitcherInterface
Init(cfg *config.ConfigData) error
PushActions(actions ...*Action) (*PushTransactionFullResp, error)
GetInfoData() (*InfoResp, error)
GetBlockDataByID(id string) (*BlockGeneralInfo, error)
GetBlockDataByNum(num uint32) (*BlockGeneralInfo, error)
Name(n string) interface{}
Asset(a *Asset) interface{}
}
ClientInterface client interface for all client
type ClientType ¶
type ClientType uint8
ClientType chain client type
func String2ClientType ¶
func String2ClientType(str string) ClientType
String2ClientType string to clientType
func (ClientType) String ¶
func (c ClientType) String() string
type InfoResp ¶
type InfoResp struct {
ServerVersion string `json:"server_version"`
ChainID Checksum256 `json:"chain_id"`
HeadBlockNum uint32 `json:"head_block_num"`
LastIrreversibleBlockNum uint32 `json:"last_irreversible_block_num"`
LastIrreversibleBlockID Checksum256 `json:"last_irreversible_block_id"`
HeadBlockID Checksum256 `json:"head_block_id"`
HeadBlockTime time.Time `json:"head_block_time"`
HeadBlockProducer string `json:"head_block_producer"`
VirtualBlockCPULimit int64 `json:"virtual_block_cpu_limit"`
VirtualBlockNetLimit int64 `json:"virtual_block_net_limit"`
BlockCPULimit int64 `json:"block_cpu_limit"`
BlockNetLimit int64 `json:"block_net_limit"`
ServerVersionString string `json:"server_version_string"`
}
type P2PHandler ¶
type P2PHandler interface {
OnBlock(peer string, msg *BlockGeneralInfo) error
OnGoAway(peer string, reason uint8, nodeID Checksum256) error
}
P2PHandler a general p2p msg handler interface for each chain
type PermissionLevel ¶
type PushTransactionFullResp ¶
type PushTransactionFullResp struct {
StatusCode string
TransactionID string `json:"transaction_id"`
ProcessedDatas []byte `json:"processed"` // WARN: is an `fc::variant` in server..
BlockID string `json:"block_id"`
BlockNum uint32 `json:"block_num"`
}
PushTransactionFullResp
func (*PushTransactionFullResp) FillProcessedDatas ¶
func (p *PushTransactionFullResp) FillProcessedDatas(data interface{}) error
type SwitcherInterface ¶
type SwitcherInterface interface {
Type() ClientType
NameFromCommon(n string) interface{}
Checksum256FromCommon(c Checksum256) interface{}
PushTransactionFullRespToCommon(r interface{}) (*PushTransactionFullResp, error)
BlockRspToCommon(r interface{}) (*BlockResp, error)
InfoRespToCommon(r interface{}) (*InfoResp, error)
ActionToCommon(d interface{}) (*Action, error)
ActionFromCommon(d *Action) (interface{}, error)
TransactionToCommon(r interface{}) (*TransactionGeneralInfo, error)
BlockToCommon(r interface{}) (*BlockGeneralInfo, error)
UnpackTransferAction(raw []byte) (*TransferActionData, error)
}
SwitcherInterface a interface for diff chain type transfer to common
func NewSwitcherInterface ¶
func NewSwitcherInterface(typ ClientType) SwitcherInterface
NewSwitcherInterface create SwitcherInterface by typ
type TransactionGeneralInfo ¶
type TransactionGeneralInfo struct {
ID Checksum256
Expiration time.Time `json:"expiration"`
RefBlockNum uint16 `json:"ref_block_num"`
RefBlockPrefix uint32 `json:"ref_block_prefix"`
MaxNetUsageWords uint32 `json:"max_net_usage_words"`
MaxCPUUsageMS uint8 `json:"max_cpu_usage_ms"`
DelaySec uint32 `json:"delay_sec"`
ContextFreeActions []*Action `json:"context_free_actions"`
Actions []*Action `json:"actions"`
ContextFreeData [][]byte `json:"context_free_data"`
}
TransactionGeneralInfo Transaction data for each chain
type TransactionReceipt ¶
type TransactionReceipt struct {
Status TransactionStatus `json:"status"`
CPUUsageMicroSeconds uint32 `json:"cpu_usage_us"`
NetUsageWords uint32 `json:"net_usage_words"`
Transaction TransactionGeneralInfo `json:"trx"`
}
type TransactionStatus ¶
type TransactionStatus uint8
const ( TransactionStatusExecuted TransactionStatus = iota ///< succeed, no error handler executed TransactionStatusSoftFail ///< objectively failed (not executed), error handler executed TransactionStatusHardFail ///< objectively failed and error handler objectively failed thus no state change TransactionStatusDelayed ///< transaction delayed TransactionStatusExpired ///< transaction expired TransactionStatusUnknown = TransactionStatus(255) )
Click to show internal directories.
Click to hide internal directories.