api

package
v1.4.2-beta1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 22, 2020 License: MIT Imports: 44 Imported by: 1

Documentation

Index

Constants

View Source
const (
	MaxNotifyBlocks = 100
)
View Source
const (
	MaxNotifyPovBlocks = 100
)

Variables

View Source
var (
	ErrIdentity  = errors.New("identity authentication failed")
	ErrMark      = errors.New("config is being modified by someone else")
	ErrOperation = errors.New("nothing has been modified")
)
View Source
var (
	ErrParameterNil = errors.New("parameter is nil")
	ErrVerifierType = errors.New("invalid verifier type")
	ErrNoGas        = errors.New("there is no gas token")
	ErrGetPovHeader = errors.New("get pov header err")
	ErrInvalidParam = errors.New("invalid parameter")
)

Functions

func CreatePovSubscription added in v1.3.0

func CreatePovSubscription(ctx context.Context,
	fn func(notifier *rpc.Notifier, subscription *rpc.Subscription)) (*rpc.Subscription, error)

func FillHeader added in v1.4.0

func FillHeader(header *PovApiHeader)

Types

type APIAccount added in v0.0.5

type APIAccount struct {
	Address        types.Address   `json:"account"`
	CoinBalance    *types.Balance  `json:"coinBalance,omitempty"`
	CoinVote       *types.Balance  `json:"vote,omitempty"`
	CoinNetwork    *types.Balance  `json:"network,omitempty"`
	CoinStorage    *types.Balance  `json:"storage,omitempty"`
	CoinOracle     *types.Balance  `json:"oracle,omitempty"`
	Representative *types.Address  `json:"representative,omitempty"`
	Tokens         []*APITokenMeta `json:"tokens"`
}

func GenerateAPIAccountMeta added in v1.4.0

func GenerateAPIAccountMeta(store ledger.Store, am *types.AccountMeta) (*APIAccount, error)

type APIAccountBalance added in v0.0.9

type APIAccountBalance struct {
	Address types.Address `json:"address"`
	Balance types.Balance `json:"balance"`
}

type APIAccountsBalance added in v1.2.3

type APIAccountsBalance struct {
	Balance types.Balance  `json:"balance"`
	Vote    *types.Balance `json:"vote,omitempty"`
	Network *types.Balance `json:"network,omitempty"`
	Storage *types.Balance `json:"storage,omitempty"`
	Oracle  *types.Balance `json:"oracle,omitempty"`
	Pending types.Balance  `json:"pending"`
}

type APIBalance added in v1.2.3

type APIBalance struct {
	*big.Float
}

func (*APIBalance) MarshalText added in v1.2.3

func (b *APIBalance) MarshalText() ([]byte, error)

func (*APIBalance) String added in v1.2.3

func (b *APIBalance) String() string

type APIBlock

type APIBlock struct {
	*types.StateBlock
	TokenName string        `json:"tokenName"`
	Amount    types.Balance `json:"amount"`
	Hash      types.Hash    `json:"hash"`

	PovConfirmHeight uint64 `json:"povConfirmHeight"`
	PovConfirmCount  uint64 `json:"povConfirmCount"`
}

func GenerateAPIBlock added in v1.4.0

func GenerateAPIBlock(store ledger.Store, block *types.StateBlock, latestPov *types.PovHeader) (*APIBlock, error)

type APIPending added in v0.0.5

type APIPending struct {
	*types.PendingKey
	*types.PendingInfo
	TokenName string `json:"tokenName"`
	Timestamp int64  `json:"timestamp"`

	BlockType types.BlockType `json:"blockType"`
}

type APIPendingInfo added in v1.3.0

type APIPendingInfo struct {
	*types.PendingKey
	*types.PendingInfo
	TokenName string `json:"tokenName"`
	Timestamp int64  `json:"timestamp"`
	Used      bool   `json:"used"`
}

type APIRepresentative added in v0.0.5

type APIRepresentative struct {
	Address types.Address `json:"address"`
	Balance types.Balance `json:"balance"`
	Vote    types.Balance `json:"vote"`
	Network types.Balance `json:"network"`
	Storage types.Balance `json:"storage"`
	Oracle  types.Balance `json:"oracle"`
	Total   types.Balance `json:"total"`
}

type APISendBlockPara added in v0.0.5

type APISendBlockPara struct {
	From      types.Address `json:"from"`
	TokenName string        `json:"tokenName"`
	To        types.Address `json:"to"`
	Amount    types.Balance `json:"amount"`
	Sender    string        `json:"sender"`
	Receiver  string        `json:"receiver"`
	Message   types.Hash    `json:"message"`
}

type APITokenMeta added in v0.0.5

type APITokenMeta struct {
	*types.TokenMeta
	TokenName string        `json:"tokenName"`
	Pending   types.Balance `json:"pending"`
}

type APIUncheckBlock added in v1.2.3

type APIUncheckBlock struct {
	Block       *types.StateBlock      `json:"block"`
	Hash        types.Hash             `json:"hash"`
	Link        types.Hash             `json:"link"`
	UnCheckType string                 `json:"uncheckType"`
	SyncType    types.SynchronizedKind `json:"syncType"`
	Height      uint64                 `json:"povHeight"`
}

type AccountApi added in v0.0.5

type AccountApi struct {
	// contains filtered or unexported fields
}

func NewAccountApi added in v0.0.5

func NewAccountApi() *AccountApi

func (*AccountApi) Create added in v0.0.5

func (a *AccountApi) Create(seedStr string, i *uint32) (map[string]string, error)

func (*AccountApi) ForPublicKey added in v0.0.5

func (a *AccountApi) ForPublicKey(pubStr string) (types.Address, error)

func (*AccountApi) NewAccounts added in v1.2.2

func (a *AccountApi) NewAccounts(count *uint32) ([]*Accounts, error)

func (*AccountApi) NewSeed added in v1.1.0

func (a *AccountApi) NewSeed() (string, error)

func (*AccountApi) PublicKey added in v0.0.5

func (a *AccountApi) PublicKey(addr types.Address) string

func (*AccountApi) Validate added in v0.0.5

func (a *AccountApi) Validate(addr string) bool

type Accounts added in v1.2.2

type Accounts struct {
	Seed       string `json:"seed"`
	PrivateKey string `json:"privateKey"`
	PublicKey  string `json:"publicKey"`
	Address    string `json:"address"`
}

type AdminUpdateParam added in v1.4.0

type AdminUpdateParam struct {
	Admin     types.Address `json:"admin"`
	Successor types.Address `json:"successor"`
	Comment   string        `json:"comment"`
}

type AdminUser added in v1.4.0

type AdminUser struct {
	Account types.Address `json:"admin"`
	Comment string        `json:"comment"`
}

type ApiTokenInfo added in v0.0.9

type ApiTokenInfo struct {
	types.TokenInfo
}

type BlackHoleAPI added in v1.4.0

type BlackHoleAPI struct {
	// contains filtered or unexported fields
}

func NewBlackHoleApi added in v1.3.0

func NewBlackHoleApi(l ledger.Store, cc *context.ChainContext) *BlackHoleAPI

func (*BlackHoleAPI) GetDestroyInfoDetail added in v1.4.0

func (b *BlackHoleAPI) GetDestroyInfoDetail(addr *types.Address) ([]*cabi.DestroyInfo, error)

func (*BlackHoleAPI) GetRewardsBlock added in v1.4.0

func (b *BlackHoleAPI) GetRewardsBlock(send *types.Hash) (*types.StateBlock, error)

func (*BlackHoleAPI) GetSendBlock added in v1.4.0

func (b *BlackHoleAPI) GetSendBlock(param *cabi.DestroyParam) (*types.StateBlock, error)

func (*BlackHoleAPI) GetTotalDestroyInfo added in v1.4.0

func (b *BlackHoleAPI) GetTotalDestroyInfo(addr *types.Address) (types.Balance, error)

type BlockSubscriber added in v1.3.0

type BlockSubscriber struct {
	// contains filtered or unexported fields
}

type BlockSubscription added in v1.3.0

type BlockSubscription struct {
	// contains filtered or unexported fields
}

BlockSubscription subscript event from chain, and deliver to every connected websocket

func NewBlockSubscription added in v1.3.0

func NewBlockSubscription(ctx context.Context, eb event.EventBus) *BlockSubscription

func (*BlockSubscription) AddChan added in v1.4.0

func (r *BlockSubscription) AddChan(subID string, addr types.Address, batch bool, ch chan struct{})

func (*BlockSubscription) FetchAddrBlock added in v1.4.0

func (r *BlockSubscription) FetchAddrBlock(subID string) *types.StateBlock

func (*BlockSubscription) FetchBlocks added in v1.4.0

func (r *BlockSubscription) FetchBlocks(subID string) []*types.StateBlock

func (*BlockSubscription) RemoveChan added in v1.4.0

func (r *BlockSubscription) RemoveChan(subID string)

type CacheStat added in v1.4.0

type CacheStat struct {
	Index  int    `json:"index"`
	Key    int    `json:"key"`
	Block  int    `json:"block"`
	Delete int    `json:"delete"`
	Start  string `json:"start"`
	Span   string `json:"span"`
}

type ChainApi added in v1.3.0

type ChainApi struct {
	// contains filtered or unexported fields
}

func NewChainApi added in v1.3.0

func NewChainApi(l ledger.Store) *ChainApi

func (*ChainApi) LedgerSize added in v1.3.0

func (c *ChainApi) LedgerSize() (map[string]int64, error)

func (*ChainApi) Version added in v1.3.0

func (c *ChainApi) Version() (map[string]string, error)

type ConfigApi added in v1.3.0

type ConfigApi struct {
	// contains filtered or unexported fields
}

func NewConfigApi added in v1.3.0

func NewConfigApi(cfgFile string) *ConfigApi

func (*ConfigApi) Commit added in v1.3.0

func (c *ConfigApi) Commit(token string, mark string) (bool, error)

func (*ConfigApi) CurrentConfig added in v1.3.0

func (c *ConfigApi) CurrentConfig(token string) (*config.Config, error)

func (*ConfigApi) Difference added in v1.3.0

func (c *ConfigApi) Difference(token string, mark string) (string, error)

func (*ConfigApi) Save added in v1.3.0

func (c *ConfigApi) Save(token string, mark string) (bool, error)

func (*ConfigApi) Update added in v1.3.0

func (c *ConfigApi) Update(params []string, token string, mark string) (*config.Config, error)

type ContractApi added in v0.0.9

type ContractApi struct {
	// contains filtered or unexported fields
}

func NewContractApi added in v0.0.9

func NewContractApi(cc *chainctx.ChainContext, l ledger.Store) *ContractApi

func (*ContractApi) ContractAddressList added in v1.2.0

func (c *ContractApi) ContractAddressList() []types.Address

func (*ContractApi) GenerateRewardBlock added in v1.4.0

func (c *ContractApi) GenerateRewardBlock(para *ContractRewardBlockPara) (*types.StateBlock, error)

func (*ContractApi) GenerateSendBlock added in v1.4.0

func (c *ContractApi) GenerateSendBlock(para *ContractSendBlockPara) (*types.StateBlock, error)

func (*ContractApi) GetAbiByContractAddress added in v1.3.0

func (c *ContractApi) GetAbiByContractAddress(address types.Address) (string, error)

func (*ContractApi) PackChainContractData added in v1.4.0

func (c *ContractApi) PackChainContractData(contractAddress types.Address, methodName string, params []string) ([]byte, error)

func (*ContractApi) PackContractData added in v0.0.9

func (c *ContractApi) PackContractData(abiStr string, methodName string, params []string) ([]byte, error)

type ContractPrivacyParam added in v1.4.0

type ContractPrivacyParam struct {
	PrivateFrom    string   `json:"privateFrom"`
	PrivateFor     []string `json:"privateFor"`
	PrivateGroupID string   `json:"privateGroupID"`
}

type ContractRewardBlockPara added in v1.4.0

type ContractRewardBlockPara struct {
	SendHash types.Hash `json:"sendHash"`
	Data     []byte     `json:"data"`

	PrivateFrom    string   `json:"privateFrom,omitempty"`
	PrivateFor     []string `json:"privateFor,omitempty"`
	PrivateGroupID string   `json:"privateGroupID,omitempty"`
}

type ContractSendBlockPara added in v1.4.0

type ContractSendBlockPara struct {
	Address   types.Address `json:"address"`
	TokenName string        `json:"tokenName"`
	To        types.Address `json:"to"`
	Amount    types.Balance `json:"amount"`
	Data      []byte        `json:"data"`

	PrivateFrom    string   `json:"privateFrom,omitempty"`
	PrivateFor     []string `json:"privateFor,omitempty"`
	PrivateGroupID string   `json:"privateGroupID,omitempty"`
	EnclaveKey     []byte   `json:"enclaveKey,omitempty"`
}

type DebugApi added in v1.2.3

type DebugApi struct {
	// contains filtered or unexported fields
}

func NewDebugApi added in v1.2.3

func NewDebugApi(cfgFile string, eb event.EventBus) *DebugApi

func (*DebugApi) AccountPending added in v1.3.0

func (l *DebugApi) AccountPending(address types.Address, hash types.Hash) (*APIPendingInfo, error)

func (*DebugApi) Action added in v1.3.0

func (l *DebugApi) Action(at storage.ActionType, t int) (string, error)

func (*DebugApi) BadgerTableSize added in v1.4.2

func (l *DebugApi) BadgerTableSize(keyPrefixs []storage.KeyPrefix) (int64, error)

func (*DebugApi) BlockCacheCount added in v1.2.3

func (l *DebugApi) BlockCacheCount() (map[string]uint64, error)

func (*DebugApi) BlockCaches added in v1.3.0

func (l *DebugApi) BlockCaches() ([]types.Hash, error)
func (l *DebugApi) BlockLink(hash types.Hash) (map[string]types.Hash, error)
func (l *DebugApi) BlockLinks(hash types.Hash) (map[string][]types.Hash, error)

func (*DebugApi) BlocksCountByType added in v1.3.0

func (l *DebugApi) BlocksCountByType(typ string) (map[string]int64, error)

func (*DebugApi) ContractCount added in v1.3.0

func (l *DebugApi) ContractCount() (map[string]int64, error)

func (*DebugApi) DebugConsensus added in v1.4.0

func (l *DebugApi) DebugConsensus() error

func (*DebugApi) FeedConsensus added in v1.4.0

func (l *DebugApi) FeedConsensus() error

func (*DebugApi) GetCache added in v1.4.0

func (l *DebugApi) GetCache() error

func (*DebugApi) GetCacheStat added in v1.4.0

func (l *DebugApi) GetCacheStat() []*CacheStat

func (*DebugApi) GetCacheStatus added in v1.4.0

func (l *DebugApi) GetCacheStatus() map[string]string

func (*DebugApi) GetConsInfo added in v1.3.0

func (l *DebugApi) GetConsInfo() (map[string]interface{}, error)

func (*DebugApi) GetConsPerf added in v1.4.0

func (l *DebugApi) GetConsPerf() (map[string]interface{}, error)

func (*DebugApi) GetOnlineInfo added in v1.3.0

func (l *DebugApi) GetOnlineInfo() (map[uint64]*dpos.RepOnlinePeriod, error)

func (*DebugApi) GetPovInfo added in v1.3.0

func (l *DebugApi) GetPovInfo() (map[string]interface{}, error)

func (*DebugApi) GetPrivacyInfo added in v1.4.0

func (l *DebugApi) GetPrivacyInfo() (map[string]interface{}, error)

func (*DebugApi) GetSyncBlockNum added in v1.3.0

func (l *DebugApi) GetSyncBlockNum() (map[string]uint64, error)

func (*DebugApi) GetUCache added in v1.4.2

func (l *DebugApi) GetUCache() error

func (*DebugApi) GetUCacheStat added in v1.4.2

func (l *DebugApi) GetUCacheStat() []*CacheStat

func (*DebugApi) GetUCacheStatus added in v1.4.2

func (l *DebugApi) GetUCacheStatus() map[string]string

func (*DebugApi) NewBlock added in v1.3.0

func (l *DebugApi) NewBlock(ctx context.Context) (*rpc.Subscription, error)

func (*DebugApi) NodeStatus added in v1.4.2

func (l *DebugApi) NodeStatus() (*NodeStatus, error)

func (*DebugApi) PendingsAmount added in v1.3.0

func (l *DebugApi) PendingsAmount() (map[types.Address]map[string]types.Balance, error)

func (*DebugApi) PendingsCount added in v1.3.0

func (l *DebugApi) PendingsCount() (int, error)

func (*DebugApi) Representative added in v1.3.0

func (l *DebugApi) Representative(address types.Address) (*APIRepresentative, error)

func (*DebugApi) SetConsPerf added in v1.4.0

func (l *DebugApi) SetConsPerf(op int) (map[string]interface{}, error)

func (*DebugApi) UncheckAnalysis added in v1.4.0

func (l *DebugApi) UncheckAnalysis() ([]*UncheckInfo, error)

func (*DebugApi) UncheckBlock added in v1.4.0

func (l *DebugApi) UncheckBlock(hash types.Hash) ([]*UncheckInfo, error)

func (*DebugApi) UncheckBlocks added in v1.2.3

func (l *DebugApi) UncheckBlocks() ([]*APIUncheckBlock, error)

func (*DebugApi) UncheckBlocksCount added in v1.4.0

func (l *DebugApi) UncheckBlocksCount() (map[string]int, error)

func (*DebugApi) UncheckBlocksCountStore added in v1.4.2

func (l *DebugApi) UncheckBlocksCountStore() (map[string]uint64, error)

type KYCAdminUpdateParam added in v1.4.1

type KYCAdminUpdateParam struct {
	Admin     types.Address `json:"admin"`
	Successor types.Address `json:"successor"`
	Comment   string        `json:"comment"`
}

type KYCAdminUser added in v1.4.1

type KYCAdminUser struct {
	Account types.Address `json:"admin"`
	Comment string        `json:"comment"`
}

type KYCApi added in v1.4.1

type KYCApi struct {
	// contains filtered or unexported fields
}

func NewKYCApi added in v1.4.1

func NewKYCApi(cfgFile string, l ledger.Store) *KYCApi

func (*KYCApi) GetAdmin added in v1.4.1

func (p *KYCApi) GetAdmin() (*KYCAdminUser, error)

func (*KYCApi) GetAdminHandoverBlock added in v1.4.1

func (p *KYCApi) GetAdminHandoverBlock(param *KYCAdminUpdateParam) (*types.StateBlock, error)

func (*KYCApi) GetOperator added in v1.4.1

func (p *KYCApi) GetOperator(count int, offset int) ([]*KYCOperatorInfo, error)

func (*KYCApi) GetOperatorCount added in v1.4.1

func (p *KYCApi) GetOperatorCount() int

func (*KYCApi) GetStatus added in v1.4.1

func (p *KYCApi) GetStatus(count int, offset int) ([]*KYCStatusInfo, error)

func (*KYCApi) GetStatusByChainAddress added in v1.4.1

func (p *KYCApi) GetStatusByChainAddress(ca types.Address) (*KYCStatusInfo, error)

func (*KYCApi) GetStatusByTradeAddress added in v1.4.1

func (p *KYCApi) GetStatusByTradeAddress(ta string) (*KYCStatusInfo, error)

func (*KYCApi) GetStatusCount added in v1.4.1

func (p *KYCApi) GetStatusCount() int

func (*KYCApi) GetTradeAddress added in v1.4.1

func (p *KYCApi) GetTradeAddress(address types.Address) (*KYCTradeAddressPack, error)

func (*KYCApi) GetUpdateOperatorBlock added in v1.4.1

func (p *KYCApi) GetUpdateOperatorBlock(param *KYCUpdateOperatorParam) (*types.StateBlock, error)

func (*KYCApi) GetUpdateStatusBlock added in v1.4.1

func (p *KYCApi) GetUpdateStatusBlock(param *KYCUpdateStatusParam) (*types.StateBlock, error)

func (*KYCApi) GetUpdateTradeAddressBlock added in v1.4.1

func (p *KYCApi) GetUpdateTradeAddressBlock(param *KYCUpdateTradeAddressParam) (*types.StateBlock, error)

type KYCOperatorInfo added in v1.4.1

type KYCOperatorInfo struct {
	Operator types.Address `json:"operator"`
	Comment  string        `json:"comment"`
}

type KYCStatusInfo added in v1.4.1

type KYCStatusInfo struct {
	ChainAddress types.Address `json:"chainAddress"`
	Status       string        `json:"status"`
}

type KYCTradeAddress added in v1.4.1

type KYCTradeAddress struct {
	Address string `json:"address"`
	Comment string `json:"comment"`
}

type KYCTradeAddressPack added in v1.4.1

type KYCTradeAddressPack struct {
	ChainAddress types.Address      `json:"chainAddress"`
	TradeAddress []*KYCTradeAddress `json:"tradeAddress"`
}

type KYCUpdateOperatorParam added in v1.4.1

type KYCUpdateOperatorParam struct {
	Admin    types.Address `json:"admin"`
	Operator types.Address `json:"operator"`
	Action   string        `json:"action"`
	Comment  string        `json:"comment"`
}

type KYCUpdateStatusParam added in v1.4.1

type KYCUpdateStatusParam struct {
	Operator     types.Address `json:"operator"`
	ChainAddress types.Address `json:"chainAddress"`
	Status       string        `json:"status"`
}

type KYCUpdateTradeAddressParam added in v1.4.1

type KYCUpdateTradeAddressParam struct {
	Operator     types.Address `json:"operator"`
	ChainAddress types.Address `json:"chainAddress"`
	Action       string        `json:"action"`
	TradeAddress string        `json:"tradeAddress"`
	Comment      string        `json:"comment"`
}

type LedgerAPI added in v1.4.0

type LedgerAPI struct {
	// contains filtered or unexported fields
}

func NewLedgerApi added in v0.0.5

func NewLedgerApi(ctx context.Context, l ledger.Store, eb event.EventBus, cc *chainctx.ChainContext) *LedgerAPI

func (*LedgerAPI) AccountBlocksCount added in v1.4.0

func (l *LedgerAPI) AccountBlocksCount(addr types.Address) (int64, error)

func (*LedgerAPI) AccountHistoryTopn added in v1.4.0

func (l *LedgerAPI) AccountHistoryTopn(address types.Address, count int, offset *int) ([]*APIBlock, error)

AccountHistoryTopn returns blocks of the account, blocks count of each token in the account up to n

func (*LedgerAPI) AccountInfo added in v1.4.0

func (l *LedgerAPI) AccountInfo(address types.Address) (*APIAccount, error)

func (*LedgerAPI) AccountRepresentative added in v1.4.0

func (l *LedgerAPI) AccountRepresentative(addr types.Address) (types.Address, error)

func (*LedgerAPI) AccountVotingWeight added in v1.4.0

func (l *LedgerAPI) AccountVotingWeight(addr types.Address) (types.Balance, error)

func (*LedgerAPI) Accounts added in v1.4.0

func (l *LedgerAPI) Accounts(count int, offset *int) ([]types.Address, error)

func (*LedgerAPI) AccountsBalance added in v1.4.0

func (l *LedgerAPI) AccountsBalance(addresses []types.Address) (map[types.Address]map[string]*APIAccountsBalance, error)

func (*LedgerAPI) AccountsCount added in v1.4.0

func (l *LedgerAPI) AccountsCount() (uint64, error)

func (*LedgerAPI) AccountsFrontiers added in v1.4.0

func (l *LedgerAPI) AccountsFrontiers(addresses []types.Address) (map[types.Address]map[string]types.Hash, error)

func (*LedgerAPI) AccountsPending added in v1.4.0

func (l *LedgerAPI) AccountsPending(addresses []types.Address, n int) (map[types.Address][]*APIPending, error)

func (*LedgerAPI) AllGenesisBlocks added in v1.4.0

func (l *LedgerAPI) AllGenesisBlocks() []types.StateBlock

func (*LedgerAPI) BalanceChange added in v1.4.0

func (l *LedgerAPI) BalanceChange(ctx context.Context, address types.Address) (*rpc.Subscription, error)

func (*LedgerAPI) BlockAccount added in v1.4.0

func (l *LedgerAPI) BlockAccount(hash types.Hash) (types.Address, error)

func (*LedgerAPI) BlockConfirmedStatus added in v1.4.0

func (l *LedgerAPI) BlockConfirmedStatus(hash types.Hash) (bool, error)

func (*LedgerAPI) BlockHash added in v1.4.0

func (l *LedgerAPI) BlockHash(block types.StateBlock) types.Hash

func (*LedgerAPI) Blocks added in v1.4.0

func (l *LedgerAPI) Blocks(count int, offset *int) ([]*APIBlock, error)

func (*LedgerAPI) BlocksCount added in v1.4.0

func (l *LedgerAPI) BlocksCount() (map[string]uint64, error)

BlocksCount returns the number of blocks (include smartcontrant block) in the ctx and unchecked synchronizing blocks

func (*LedgerAPI) BlocksCount2 added in v1.4.0

func (l *LedgerAPI) BlocksCount2() (map[string]uint64, error)

func (*LedgerAPI) BlocksCountByType added in v1.4.0

func (l *LedgerAPI) BlocksCountByType() (map[string]uint64, error)

BlocksCountByType reports the number of blocks in the ctx by type (send, receive, open, change)

func (*LedgerAPI) BlocksInfo added in v1.4.0

func (l *LedgerAPI) BlocksInfo(hash []types.Hash) ([]*APIBlock, error)

func (*LedgerAPI) Chain added in v1.4.0

func (l *LedgerAPI) Chain(hash types.Hash, n int) ([]types.Hash, error)

Chain returns a consecutive list of block hashes in the account chain starting at block up to count

func (*LedgerAPI) ChainToken added in v1.4.0

func (l *LedgerAPI) ChainToken() types.Hash

func (*LedgerAPI) ConfirmedAccountInfo added in v1.4.0

func (l *LedgerAPI) ConfirmedAccountInfo(address types.Address) (*APIAccount, error)

func (*LedgerAPI) ConfirmedBlocksInfo added in v1.4.0

func (l *LedgerAPI) ConfirmedBlocksInfo(hash []types.Hash) ([]*APIBlock, error)

func (*LedgerAPI) Delegators added in v1.4.0

func (l *LedgerAPI) Delegators(hash types.Address) ([]*APIAccountBalance, error)

Delegators returns a list of pairs of delegator names given account a representative and its balance

func (*LedgerAPI) DelegatorsCount added in v1.4.0

func (l *LedgerAPI) DelegatorsCount(hash types.Address) (int64, error)

DelegatorsCount gets number of delegators for a specific representative account

func (*LedgerAPI) GasAddress added in v1.4.0

func (l *LedgerAPI) GasAddress() types.Address

func (*LedgerAPI) GasBlock added in v1.4.0

func (l *LedgerAPI) GasBlock() types.StateBlock

func (*LedgerAPI) GasBlockHash added in v1.4.0

func (l *LedgerAPI) GasBlockHash() types.Hash

func (*LedgerAPI) GasMintageBlock added in v1.4.0

func (l *LedgerAPI) GasMintageBlock() types.StateBlock

func (*LedgerAPI) GasToken added in v1.4.0

func (l *LedgerAPI) GasToken() types.Hash

func (*LedgerAPI) GenerateChangeBlock added in v1.4.0

func (l *LedgerAPI) GenerateChangeBlock(account types.Address, representative types.Address, prkStr *string) (*types.StateBlock, error)

func (*LedgerAPI) GenerateReceiveBlock added in v1.4.0

func (l *LedgerAPI) GenerateReceiveBlock(sendBlock *types.StateBlock, prkStr *string) (*types.StateBlock, error)

func (*LedgerAPI) GenerateReceiveBlockByHash added in v1.4.0

func (l *LedgerAPI) GenerateReceiveBlockByHash(sendHash types.Hash, prkStr *string) (*types.StateBlock, error)

func (*LedgerAPI) GenerateSendBlock added in v1.4.0

func (l *LedgerAPI) GenerateSendBlock(para *APISendBlockPara, prkStr *string) (*types.StateBlock, error)

func (*LedgerAPI) GenesisAddress added in v1.4.0

func (l *LedgerAPI) GenesisAddress() types.Address

func (*LedgerAPI) GenesisBlock added in v1.4.0

func (l *LedgerAPI) GenesisBlock() types.StateBlock

func (*LedgerAPI) GenesisBlockHash added in v1.4.0

func (l *LedgerAPI) GenesisBlockHash() types.Hash

func (*LedgerAPI) GenesisMintageBlock added in v1.4.0

func (l *LedgerAPI) GenesisMintageBlock() types.StateBlock

func (*LedgerAPI) GenesisMintageHash added in v1.4.0

func (l *LedgerAPI) GenesisMintageHash() types.Hash

func (*LedgerAPI) GetAccountOnlineBlock added in v1.4.0

func (l *LedgerAPI) GetAccountOnlineBlock(account types.Address) ([]*types.StateBlock, error)

func (*LedgerAPI) IsGenesisBlock added in v1.4.0

func (l *LedgerAPI) IsGenesisBlock(block *types.StateBlock) bool

IsGenesis check block is chain token genesis

func (*LedgerAPI) IsGenesisToken added in v1.4.0

func (l *LedgerAPI) IsGenesisToken(hash types.Hash) bool

IsGenesis check token is chain token genesis

func (*LedgerAPI) NewAccountBlock added in v1.4.0

func (l *LedgerAPI) NewAccountBlock(ctx context.Context, address types.Address) (*rpc.Subscription, error)

func (*LedgerAPI) NewBlock added in v1.4.0

func (l *LedgerAPI) NewBlock(ctx context.Context) (*rpc.Subscription, error)

func (*LedgerAPI) NewPending added in v1.4.0

func (l *LedgerAPI) NewPending(ctx context.Context, address types.Address) (*rpc.Subscription, error)

func (*LedgerAPI) Pendings added in v1.4.0

func (l *LedgerAPI) Pendings() ([]*APIPending, error)

func (*LedgerAPI) Process added in v1.4.0

func (l *LedgerAPI) Process(block *types.StateBlock) (types.Hash, error)

func (*LedgerAPI) Representatives added in v1.4.0

func (l *LedgerAPI) Representatives(sorting *bool) ([]*APIRepresentative, error)

Representatives returns a list of pairs of representative and its voting weight

func (*LedgerAPI) TokenInfoById added in v1.4.0

func (l *LedgerAPI) TokenInfoById(tokenId types.Hash) (*ApiTokenInfo, error)

func (*LedgerAPI) TokenInfoByName added in v1.4.0

func (l *LedgerAPI) TokenInfoByName(tokenName string) (*ApiTokenInfo, error)

func (*LedgerAPI) Tokens added in v1.4.0

func (l *LedgerAPI) Tokens() ([]*types.TokenInfo, error)

func (*LedgerAPI) TransactionsCount added in v1.4.0

func (l *LedgerAPI) TransactionsCount() (map[string]uint64, error)

BlocksCount returns the number of blocks (not include smartcontrant block) in the ctx and unchecked synchronizing blocks

type LedgerStatus added in v1.4.2

type LedgerStatus struct {
	BlockCount          uint64 `json:"blockCount"`
	UnCheckedBlockCount uint64 `json:"unCheckedBlockCount"`
}

type MetricsApi added in v1.3.0

type MetricsApi struct {
	// contains filtered or unexported fields
}

func NewMetricsApi added in v1.3.0

func NewMetricsApi() *MetricsApi

func (*MetricsApi) DiskInfo added in v1.3.0

func (m *MetricsApi) DiskInfo() (*disk.UsageStat, error)

DiskInfo get disk info

func (*MetricsApi) GetAllCPUTimeStats added in v1.3.0

func (m *MetricsApi) GetAllCPUTimeStats() ([]cpu.TimesStat, error)

GetAllCPUTimeStats get total CPU time status

func (*MetricsApi) GetCPUInfo added in v1.3.0

func (m *MetricsApi) GetCPUInfo() ([]cpu.InfoStat, error)

GetCPUInfo get cpu info by core

func (*MetricsApi) GetCPUTimeStats added in v1.3.0

func (m *MetricsApi) GetCPUTimeStats() ([]cpu.TimesStat, error)

GetCPUTimeStats get CPU time status per core

func (*MetricsApi) GetNetworkInterfaces added in v1.3.0

func (m *MetricsApi) GetNetworkInterfaces() ([]net.IOCountersStat, error)

GetNetworkInterfaces get network interface info

type MinerApi added in v1.2.3

type MinerApi struct {
	// contains filtered or unexported fields
}

func NewMinerApi added in v1.2.3

func NewMinerApi(cfg *config.Config, ledger ledger.Store) *MinerApi

func (*MinerApi) GetAvailRewardInfo added in v1.2.3

func (m *MinerApi) GetAvailRewardInfo(coinbase types.Address) (*MinerAvailRewardInfo, error)

func (*MinerApi) GetRewardData added in v1.2.3

func (m *MinerApi) GetRewardData(param *RewardParam) ([]byte, error)

func (*MinerApi) GetRewardHistory added in v1.3.0

func (m *MinerApi) GetRewardHistory(coinbase types.Address) (*MinerHistoryRewardInfo, error)

func (*MinerApi) GetRewardRecvBlock added in v1.2.3

func (m *MinerApi) GetRewardRecvBlock(input *types.StateBlock) (*types.StateBlock, error)

func (*MinerApi) GetRewardRecvBlockBySendHash added in v1.2.3

func (m *MinerApi) GetRewardRecvBlockBySendHash(sendHash types.Hash) (*types.StateBlock, error)

func (*MinerApi) GetRewardSendBlock added in v1.2.3

func (m *MinerApi) GetRewardSendBlock(param *RewardParam) (*types.StateBlock, error)

func (*MinerApi) UnpackRewardData added in v1.3.0

func (m *MinerApi) UnpackRewardData(data []byte) (*RewardParam, error)

type MinerAvailRewardInfo added in v1.2.3

type MinerAvailRewardInfo struct {
	LastEndHeight     uint64        `json:"lastEndHeight"`
	LatestBlockHeight uint64        `json:"latestBlockHeight"`
	NodeRewardHeight  uint64        `json:"nodeRewardHeight"`
	AvailStartHeight  uint64        `json:"availStartHeight"`
	AvailEndHeight    uint64        `json:"availEndHeight"`
	AvailRewardBlocks uint64        `json:"availRewardBlocks"`
	AvailRewardAmount types.Balance `json:"availRewardAmount"`
	NeedCallReward    bool          `json:"needCallReward"`
}

type MinerHistoryRewardInfo added in v1.2.3

type MinerHistoryRewardInfo struct {
	LastEndHeight  uint64        `json:"lastEndHeight"`
	RewardBlocks   uint64        `json:"rewardBlocks"`
	RewardAmount   types.Balance `json:"rewardAmount"`
	LastRewardTime int64         `json:"lastRewardTime"`
}

type MintageAPI added in v1.4.0

type MintageAPI struct {
	// contains filtered or unexported fields
}

func NewMintageApi added in v0.0.9

func NewMintageApi(cfgFile string, l ledger.Store) *MintageAPI

func (*MintageAPI) GetMintageBlock added in v1.4.0

func (m *MintageAPI) GetMintageBlock(param *MintageParams) (*types.StateBlock, error)

func (*MintageAPI) GetMintageData added in v1.4.0

func (m *MintageAPI) GetMintageData(param *MintageParams) ([]byte, error)

func (*MintageAPI) GetRewardBlock added in v1.4.0

func (m *MintageAPI) GetRewardBlock(input *types.StateBlock) (*types.StateBlock, error)

func (*MintageAPI) GetWithdrawMintageBlock added in v1.4.0

func (m *MintageAPI) GetWithdrawMintageBlock(param *WithdrawParams) (*types.StateBlock, error)

func (*MintageAPI) GetWithdrawMintageData added in v1.4.0

func (m *MintageAPI) GetWithdrawMintageData(tokenId types.Hash) ([]byte, error)

func (*MintageAPI) GetWithdrawRewardBlock added in v1.4.0

func (m *MintageAPI) GetWithdrawRewardBlock(input *types.StateBlock) (*types.StateBlock, error)

func (*MintageAPI) ParseTokenInfo added in v1.4.0

func (p *MintageAPI) ParseTokenInfo(data []byte) (*types.TokenInfo, error)

type MintageParams added in v0.0.9

type MintageParams struct {
	SelfAddr    types.Address `json:"selfAddr"`
	PrevHash    types.Hash    `json:"prevHash"`
	TokenName   string        `json:"tokenName"`
	TokenSymbol string        `json:"tokenSymbol"`
	TotalSupply string        `json:"totalSupply"`
	Decimals    uint8         `json:"decimals"`
	Beneficial  types.Address `json:"beneficial"`
	NEP5TxId    string        `json:"nep5TxId"`
}

type NEP5PledgeAPI added in v1.4.0

type NEP5PledgeAPI struct {
	// contains filtered or unexported fields
}

func NewNEP5PledgeAPI added in v1.4.0

func NewNEP5PledgeAPI(cfgFile string, l ledger.Store) *NEP5PledgeAPI

func (*NEP5PledgeAPI) GetAllPledgeInfo added in v1.4.0

func (p *NEP5PledgeAPI) GetAllPledgeInfo() ([]*NEP5PledgeInfo, error)

search all pledge info

func (*NEP5PledgeAPI) GetBeneficialPledgeInfos added in v1.4.0

func (p *NEP5PledgeAPI) GetBeneficialPledgeInfos(beneficial types.Address, pType string) (*PledgeInfos, error)

get pledge info by beneficial,pType ,return PledgeInfos

func (*NEP5PledgeAPI) GetBeneficialPledgeInfosByAddress added in v1.4.0

func (p *NEP5PledgeAPI) GetBeneficialPledgeInfosByAddress(beneficial types.Address) *PledgeInfos

get pledge info by beneficial,pType ,return PledgeInfos

func (*NEP5PledgeAPI) GetPledgeBeneficialAmount added in v1.4.0

func (p *NEP5PledgeAPI) GetPledgeBeneficialAmount(beneficial types.Address, pType string) (*big.Int, error)

search pledge info by beneficial address,pType,return total amount

func (*NEP5PledgeAPI) GetPledgeBeneficialTotalAmount added in v1.4.0

func (p *NEP5PledgeAPI) GetPledgeBeneficialTotalAmount(addr types.Address) (*big.Int, error)

get pledge total amount by beneficial address ,return total amount

func (*NEP5PledgeAPI) GetPledgeBlock added in v1.4.0

func (p *NEP5PledgeAPI) GetPledgeBlock(param *PledgeParam) (*types.StateBlock, error)

func (*NEP5PledgeAPI) GetPledgeData added in v1.4.0

func (p *NEP5PledgeAPI) GetPledgeData(param *PledgeParam) ([]byte, error)

func (*NEP5PledgeAPI) GetPledgeInfo added in v1.4.0

func (p *NEP5PledgeAPI) GetPledgeInfo(param *WithdrawPledgeParam) ([]*NEP5PledgeInfo, error)

search pledge info by Beneficial,amount pType

func (*NEP5PledgeAPI) GetPledgeInfoWithNEP5TxId added in v1.4.0

func (p *NEP5PledgeAPI) GetPledgeInfoWithNEP5TxId(param *WithdrawPledgeParam) (*NEP5PledgeInfo, error)

search pledge info by nep5Txid

func (*NEP5PledgeAPI) GetPledgeInfoWithTimeExpired added in v1.4.0

func (p *NEP5PledgeAPI) GetPledgeInfoWithTimeExpired(param *WithdrawPledgeParam) ([]*NEP5PledgeInfo, error)

search pledge info by Beneficial,amount pType

func (*NEP5PledgeAPI) GetPledgeInfosByPledgeAddress added in v1.4.0

func (p *NEP5PledgeAPI) GetPledgeInfosByPledgeAddress(addr types.Address) *PledgeInfos

get pledge info by pledge address ,return pledgeinfos

func (*NEP5PledgeAPI) GetPledgeRewardBlock added in v1.4.0

func (p *NEP5PledgeAPI) GetPledgeRewardBlock(input *types.StateBlock) (*types.StateBlock, error)

func (*NEP5PledgeAPI) GetPledgeRewardBlockBySendHash added in v1.4.0

func (p *NEP5PledgeAPI) GetPledgeRewardBlockBySendHash(sendHash types.Hash) (*types.StateBlock, error)

func (*NEP5PledgeAPI) GetTotalPledgeAmount added in v1.4.0

func (p *NEP5PledgeAPI) GetTotalPledgeAmount() (*big.Int, error)

GetTotalPledgeAmount get all pledge amount

func (*NEP5PledgeAPI) GetWithdrawPledgeBlock added in v1.4.0

func (p *NEP5PledgeAPI) GetWithdrawPledgeBlock(param *WithdrawPledgeParam) (*types.StateBlock, error)

func (*NEP5PledgeAPI) GetWithdrawPledgeData added in v1.4.0

func (p *NEP5PledgeAPI) GetWithdrawPledgeData(param *WithdrawPledgeParam) ([]byte, error)

func (*NEP5PledgeAPI) GetWithdrawRewardBlock added in v1.4.0

func (p *NEP5PledgeAPI) GetWithdrawRewardBlock(input *types.StateBlock) (*types.StateBlock, error)

func (*NEP5PledgeAPI) GetWithdrawRewardBlockBySendHash added in v1.4.0

func (p *NEP5PledgeAPI) GetWithdrawRewardBlockBySendHash(sendHash types.Hash) (*types.StateBlock, error)

func (*NEP5PledgeAPI) ParsePledgeInfo added in v1.4.0

func (p *NEP5PledgeAPI) ParsePledgeInfo(data []byte) (*cabi.NEP5PledgeInfo, error)

type NEP5PledgeInfo added in v1.1.0

type NEP5PledgeInfo struct {
	PType         string
	Amount        *big.Int
	WithdrawTime  string
	Beneficial    types.Address
	PledgeAddress types.Address
	NEP5TxId      string
}

type NetApi added in v0.0.5

type NetApi struct {
	// contains filtered or unexported fields
}

func NewNetApi added in v0.0.5

func NewNetApi(l ledger.Store, eb event.EventBus, cc *chainctx.ChainContext) *NetApi

func (*NetApi) ConnectPeersInfo added in v1.1.1

func (q *NetApi) ConnectPeersInfo(count int, offset *int) ([]*types.PeerInfo, error)

func (*NetApi) GetAllPeersInfo added in v1.3.1

func (q *NetApi) GetAllPeersInfo(count int, offset *int) ([]*types.PeerInfo, error)

func (*NetApi) GetBandwidthStats added in v1.3.0

func (q *NetApi) GetBandwidthStats() *topic.EventBandwidthStats

func (*NetApi) GetOnlinePeersInfo added in v1.3.1

func (q *NetApi) GetOnlinePeersInfo(count int, offset *int) ([]*types.PeerInfo, error)

func (*NetApi) GetPeerId added in v1.4.0

func (q *NetApi) GetPeerId() string

func (*NetApi) OnlineRepresentatives added in v0.0.5

func (q *NetApi) OnlineRepresentatives() []types.Address

func (*NetApi) OnlineRepsInfo added in v1.2.3

func (q *NetApi) OnlineRepsInfo() *OnlineRepTotal

func (*NetApi) PeersCount added in v1.3.1

func (q *NetApi) PeersCount() (map[string]uint64, error)

func (*NetApi) Syncing added in v1.2.2

func (q *NetApi) Syncing() bool

type NetStatus added in v1.4.2

type NetStatus struct {
	PeerId                    string            `json:"peerId"`
	ConnectedPeers            []*types.PeerInfo `json:"connectedPeers"`
	OnlineRepresentatives     []types.Address   `json:"onlineRepresentatives"`
	OnlineRepresentativeInfos *OnlineRepTotal   `json:"onlineRepresentativeInfos"`
}

type NodeInfo added in v1.4.0

type NodeInfo struct {
	NodeId  string `json:"nodeId"`
	NodeUrl string `json:"nodeUrl"`
	Comment string `json:"comment"`
}

type NodeParam added in v1.4.0

type NodeParam struct {
	Admin   types.Address `json:"admin"`
	NodeId  string        `json:"nodeId"`
	NodeUrl string        `json:"nodeUrl"`
	Comment string        `json:"comment"`
}

type NodeStatus added in v1.4.2

type NodeStatus struct {
	BuildTime    string        `json:"buildTime"`
	GitRev       string        `json:"gitRev"`
	Version      string        `json:"version"`
	Mode         string        `json:"mode"`
	LedgerStatus *LedgerStatus `json:"ledgerStatus"`
	NetStatus    *NetStatus    `json:"netStatus"`
	POVStatus    *POVStatus    `json:"povStatus"`
}

type OnlineRepInfo added in v1.2.3

type OnlineRepInfo struct {
	Account types.Address
	Vote    types.Balance
}

type OnlineRepTotal added in v1.2.3

type OnlineRepTotal struct {
	Reps              []*OnlineRepInfo
	ValidVotes        types.Balance
	ValidVotesPercent string
}

type OracleParam added in v1.4.0

type OracleParam struct {
	Account types.Address `json:"account"`
	OType   string        `json:"type"`
	OID     string        `json:"id"`
	KeyType string        `json:"keyType"`
	PubKey  string        `json:"pk"`
	Code    string        `json:"code"`
	Hash    string        `json:"hash"`
}

type PKDAvailRewardInfo added in v1.4.0

type PKDAvailRewardInfo struct {
	LastEndHeight     uint64        `json:"lastEndHeight"`
	LatestBlockHeight uint64        `json:"latestBlockHeight"`
	NodeRewardHeight  uint64        `json:"nodeRewardHeight"`
	AvailEndHeight    uint64        `json:"availEndHeight"`
	AvailRewardAmount types.Balance `json:"availRewardAmount"`
	NeedCallReward    bool          `json:"needCallReward"`
}

type PKDHistoryRewardInfo added in v1.4.0

type PKDHistoryRewardInfo struct {
	LastEndHeight  uint64        `json:"lastEndHeight"`
	LastBeneficial types.Address `json:"lastBeneficial"`
	LastRewardTime int64         `json:"lastRewardTime"`
	RewardAmount   types.Balance `json:"rewardAmount"`
}

type PKDRewardParam added in v1.4.0

type PKDRewardParam struct {
	Account      types.Address `json:"account"`
	Beneficial   types.Address `json:"beneficial"`
	EndHeight    uint64        `json:"endHeight"`
	RewardAmount *big.Int      `json:"rewardAmount"`
}

type PKDVerifierStateList added in v1.4.0

type PKDVerifierStateList struct {
	VerifierNum  int                                       `json:"verifierNum"`
	AllVerifiers map[types.Address]*types.PovVerifierState `json:"allVerifiers"`
}

type POVStatus added in v1.4.2

type POVStatus struct {
	PovEnabled     bool                 `json:"povEnabled"`
	SyncState      int                  `json:"syncState"`
	SyncStateStr   string               `json:"syncStateStr"`
	PovLedgerStats *PovLedgerStats      `json:"povLedgerStats"`
	PovMiningInfo  *PovApiGetMiningInfo `json:"povMiningInfo"`
	LatestHeader   *PovApiHeader        `json:"latestHeader"`
}

type PermissionApi added in v1.4.0

type PermissionApi struct {
	// contains filtered or unexported fields
}

func NewPermissionApi added in v1.4.0

func NewPermissionApi(cfgFile string, l ledger.Store) *PermissionApi

func (*PermissionApi) GetAdmin added in v1.4.0

func (p *PermissionApi) GetAdmin() (*AdminUser, error)

func (*PermissionApi) GetAdminHandoverBlock added in v1.4.0

func (p *PermissionApi) GetAdminHandoverBlock(param *AdminUpdateParam) (*types.StateBlock, error)

func (*PermissionApi) GetNode added in v1.4.0

func (p *PermissionApi) GetNode(id string) (*NodeInfo, error)

func (*PermissionApi) GetNodeUpdateBlock added in v1.4.0

func (p *PermissionApi) GetNodeUpdateBlock(param *NodeParam) (*types.StateBlock, error)

func (*PermissionApi) GetNodes added in v1.4.0

func (p *PermissionApi) GetNodes(count int, offset int) ([]*NodeInfo, error)

func (*PermissionApi) GetNodesCount added in v1.4.0

func (p *PermissionApi) GetNodesCount() int

type PledgeInfos added in v1.1.0

type PledgeInfos struct {
	PledgeInfo   []*NEP5PledgeInfo
	TotalAmounts *big.Int
}

type PledgeParam added in v1.1.0

type PledgeParam struct {
	Beneficial    types.Address
	PledgeAddress types.Address
	Amount        types.Balance
	PType         string
	NEP5TxId      string
}

type PovApi added in v1.2.3

type PovApi struct {
	// contains filtered or unexported fields
}

func NewPovApi added in v1.2.3

func NewPovApi(ctx context.Context, cfg *config.Config, l ledger.Store, eb event.EventBus, cc *chainctx.ChainContext) *PovApi

func (*PovApi) BatchGetHeadersByHeight added in v1.2.3

func (api *PovApi) BatchGetHeadersByHeight(height uint64, count uint64, asc bool) (*PovApiBatchHeader, error)

func (*PovApi) CheckAllAccountStates added in v1.3.3

func (api *PovApi) CheckAllAccountStates() (*PovApiCheckStateRsp, error)

func (*PovApi) DumpBlockState added in v1.2.3

func (api *PovApi) DumpBlockState(blockHash types.Hash) (*PovApiDumpState, error)

func (*PovApi) DumpContractState added in v1.4.0

func (api *PovApi) DumpContractState(stateHash types.Hash, address types.Address) (*PovApiContractState, error)

func (*PovApi) GetAccountState added in v1.2.3

func (api *PovApi) GetAccountState(address types.Address, stateHash types.Hash) (*PovApiState, error)

func (*PovApi) GetAccountStateByBlockHash added in v1.2.3

func (api *PovApi) GetAccountStateByBlockHash(address types.Address, blockHash types.Hash) (*PovApiState, error)

func (*PovApi) GetAccountStateByBlockHeight added in v1.2.3

func (api *PovApi) GetAccountStateByBlockHeight(address types.Address, height uint64) (*PovApiState, error)

func (*PovApi) GetAllOnlineRepStates added in v1.3.0

func (api *PovApi) GetAllOnlineRepStates(header *types.PovHeader) []*types.PovRepState

func (*PovApi) GetAllRepStatesByBlockHash added in v1.3.0

func (api *PovApi) GetAllRepStatesByBlockHash(blockHash types.Hash) (*PovApiRepState, error)

func (*PovApi) GetAllRepStatesByBlockHeight added in v1.3.0

func (api *PovApi) GetAllRepStatesByBlockHeight(blockHeight uint64) (*PovApiRepState, error)

func (*PovApi) GetAllRepStatesByStateHash added in v1.3.0

func (api *PovApi) GetAllRepStatesByStateHash(stateHash types.Hash) (*PovApiRepState, error)

func (*PovApi) GetBlockByHash added in v1.2.3

func (api *PovApi) GetBlockByHash(blockHash types.Hash, txOffset uint32, txLimit uint32) (*PovApiBlock, error)

func (*PovApi) GetBlockByHeight added in v1.2.3

func (api *PovApi) GetBlockByHeight(height uint64, txOffset uint32, txLimit uint32) (*PovApiBlock, error)

func (*PovApi) GetBlockTDByHash added in v1.3.0

func (api *PovApi) GetBlockTDByHash(blockHash types.Hash) (*PovApiTD, error)

func (*PovApi) GetBlockTDByHeight added in v1.3.0

func (api *PovApi) GetBlockTDByHeight(height uint64) (*PovApiTD, error)

func (*PovApi) GetDiffDayStat added in v1.3.1

func (api *PovApi) GetDiffDayStat(dayIndex uint32) (*types.PovDiffDayStat, error)

func (*PovApi) GetDiffDayStatByHeight added in v1.3.1

func (api *PovApi) GetDiffDayStatByHeight(height uint64) (*types.PovDiffDayStat, error)

func (*PovApi) GetFittestHeader added in v1.2.3

func (api *PovApi) GetFittestHeader(gap uint64) (*PovApiHeader, error)

func (*PovApi) GetHashInfo added in v1.3.0

func (api *PovApi) GetHashInfo(height uint64, lookup uint64) (*PovApiHashInfo, error)

func (*PovApi) GetHeaderByHash added in v1.2.3

func (api *PovApi) GetHeaderByHash(blockHash types.Hash) (*PovApiHeader, error)

func (*PovApi) GetHeaderByHeight added in v1.2.3

func (api *PovApi) GetHeaderByHeight(height uint64) (*PovApiHeader, error)

func (*PovApi) GetLastNHourInfo added in v1.3.0

func (api *PovApi) GetLastNHourInfo(endHeight uint64, timeSpan uint32) (*PovApiGetLastNHourInfo, error)

func (*PovApi) GetLatestAccountState added in v1.2.3

func (api *PovApi) GetLatestAccountState(address types.Address) (*PovApiState, error)

func (*PovApi) GetLatestBlock added in v1.2.3

func (api *PovApi) GetLatestBlock(txOffset uint32, txLimit uint32) (*PovApiBlock, error)

func (*PovApi) GetLatestHeader added in v1.2.3

func (api *PovApi) GetLatestHeader() (*PovApiHeader, error)

func (*PovApi) GetLedgerStats added in v1.2.3

func (api *PovApi) GetLedgerStats() (*PovLedgerStats, error)

func (*PovApi) GetMinerDayStat added in v1.3.1

func (api *PovApi) GetMinerDayStat(dayIndex uint32) (*types.PovMinerDayStat, error)

func (*PovApi) GetMinerDayStatByHeight added in v1.3.1

func (api *PovApi) GetMinerDayStatByHeight(height uint64) (*types.PovMinerDayStat, error)

func (*PovApi) GetMinerStats added in v1.2.3

func (api *PovApi) GetMinerStats(addrs []types.Address) (*PovMinerStats, error)

func (*PovApi) GetMiningInfo added in v1.3.0

func (api *PovApi) GetMiningInfo() (*PovApiGetMiningInfo, error)

func (*PovApi) GetPovStatus added in v1.2.3

func (api *PovApi) GetPovStatus() (*PovStatus, error)

func (*PovApi) GetRepStatesByHeightAndAccount added in v1.3.1

func (api *PovApi) GetRepStatesByHeightAndAccount(header *types.PovHeader, acc types.Address) *types.PovRepState

func (*PovApi) GetRepStats added in v1.3.0

func (api *PovApi) GetRepStats(addrs []types.Address) (*PovRepStats, error)

func (*PovApi) GetTransaction added in v1.2.3

func (api *PovApi) GetTransaction(txHash types.Hash) (*PovApiTxLookup, error)

func (*PovApi) GetTransactionByBlockHashAndIndex added in v1.2.3

func (api *PovApi) GetTransactionByBlockHashAndIndex(blockHash types.Hash, index uint32) (*PovApiTxLookup, error)

func (*PovApi) GetTransactionByBlockHeightAndIndex added in v1.2.3

func (api *PovApi) GetTransactionByBlockHeightAndIndex(height uint64, index uint32) (*PovApiTxLookup, error)

func (*PovApi) GetWork added in v1.3.0

func (api *PovApi) GetWork(minerAddr types.Address, algoName string) (*PovApiGetWork, error)

func (*PovApi) NewBlock added in v1.3.0

func (api *PovApi) NewBlock(ctx context.Context) (*rpc.Subscription, error)

func (*PovApi) StartMining added in v1.4.0

func (api *PovApi) StartMining(minerAddr types.Address, algoName string) error

func (*PovApi) StopMining added in v1.4.0

func (api *PovApi) StopMining() error

func (*PovApi) SubmitWork added in v1.3.0

func (api *PovApi) SubmitWork(work *PovApiSubmitWork) error

type PovApiBatchHeader added in v1.2.3

type PovApiBatchHeader struct {
	Count   int             `json:"count"`
	Headers []*PovApiHeader `json:"headers"`
}

type PovApiBlock added in v1.2.3

type PovApiBlock struct {
	*types.PovBlock
	AlgoName       string  `json:"algoName"`
	AlgoEfficiency uint    `json:"algoEfficiency"`
	NormBits       uint32  `json:"normBits"`
	NormDifficulty float64 `json:"normDifficulty"`
	AlgoDifficulty float64 `json:"algoDifficulty"`
}

type PovApiCheckStateRsp added in v1.3.3

type PovApiCheckStateRsp struct {
	AccountStates map[types.Address]*types.PovAccountState
	AccountMetas  map[types.Address]*types.AccountMeta
	RepStates     map[types.Address]*types.PovRepState
	RepMetas      map[types.Address]*types.Benefit
}

type PovApiContractState added in v1.4.0

type PovApiContractState struct {
	StateHash types.Hash          `json:"stateHash"`
	CodeHash  types.Hash          `json:"codeHash"`
	KVNum     int                 `json:"kvNum"`
	AllKVs    [][2]types.HexBytes `json:"allKVs"`
}

type PovApiDumpState added in v1.2.3

type PovApiDumpState struct {
	StateHash types.Hash                                `json:"stateHash"`
	Accounts  map[types.Address]*types.PovAccountState  `json:"accounts"`
	Reps      map[types.Address]*types.PovRepState      `json:"reps"`
	Contracts map[types.Address]*types.PovContractState `json:"contracts"`
}

type PovApiGetLastNHourInfo added in v1.3.0

type PovApiGetLastNHourInfo struct {
	MaxTxPerBlock uint32
	MinTxPerBlock uint32
	AvgTxPerBlock uint32

	MaxTxPerHour uint32
	MinTxPerHour uint32
	AvgTxPerHour uint32

	MaxBlockPerHour uint32
	MinBlockPerHour uint32
	AvgBlockPerHour uint32

	AllBlockNum uint32
	AllTxNum    uint32

	Sha256dBlockNum uint32
	X11BlockNum     uint32
	ScryptBlockNum  uint32
	AuxBlockNum     uint32

	HourItemList []*PovApiGetLastNHourItem
}

type PovApiGetLastNHourItem added in v1.3.0

type PovApiGetLastNHourItem struct {
	Hour uint32

	AllBlockNum    uint32
	AllTxNum       uint32
	AllMinerReward types.Balance
	AllRepReward   types.Balance

	Sha256dBlockNum uint32
	X11BlockNum     uint32
	ScryptBlockNum  uint32
	AuxBlockNum     uint32

	MaxTxPerBlock uint32
	MinTxPerBlock uint32
	AvgTxPerBlock uint32
}

type PovApiGetMiningInfo added in v1.3.0

type PovApiGetMiningInfo struct {
	SyncState          int               `json:"syncState"`
	SyncStateStr       string            `json:"syncStateStr"`
	CurrentBlockHeight uint64            `json:"currentBlockHeight"`
	CurrentBlockHash   types.Hash        `json:"currentBlockHash"`
	CurrentBlockSize   uint32            `json:"currentBlockSize"`
	CurrentBlockTx     uint32            `json:"currentBlockTx"`
	CurrentBlockAlgo   types.PovAlgoType `json:"currentBlockAlgo"`
	PooledTx           uint32            `json:"pooledTx"`
	Difficulty         float64           `json:"difficulty"`
	HashInfo           *PovApiHashInfo   `json:"hashInfo"`

	MinerAddr      string `json:"minerAddr"`
	AlgoName       string `json:"algoName"`
	AlgoEfficiency uint   `json:"algoEfficiency"`
	CpuMining      bool   `json:"cpuMining"`
}

type PovApiGetWork added in v1.3.0

type PovApiGetWork struct {
	WorkHash      types.Hash     `json:"workHash"`
	Version       uint32         `json:"version"`
	Previous      types.Hash     `json:"previous"`
	Bits          uint32         `json:"bits"`
	Height        uint64         `json:"height"`
	MinTime       uint32         `json:"minTime"`
	MerkleBranch  []*types.Hash  `json:"merkleBranch"`
	CoinBaseData1 types.HexBytes `json:"coinbaseData1"`
	CoinBaseData2 types.HexBytes `json:"coinbaseData2"`
}

type PovApiHashInfo added in v1.3.0

type PovApiHashInfo struct {
	ChainHashPS   uint64 `json:"chainHashPS"`
	Sha256dHashPS uint64 `json:"sha256dHashPS"`
	ScryptHashPS  uint64 `json:"scryptHashPS"`
	X11HashPS     uint64 `json:"x11HashPS"`
}

type PovApiHeader added in v1.2.3

type PovApiHeader struct {
	*types.PovHeader
	AlgoName       string  `json:"algoName"`
	AlgoEfficiency uint    `json:"algoEfficiency"`
	NormBits       uint32  `json:"normBits"`
	NormDifficulty float64 `json:"normDifficulty"`
	AlgoDifficulty float64 `json:"algoDifficulty"`
}

type PovApiKeyValPair added in v1.4.0

type PovApiKeyValPair struct {
	Key   types.HexBytes `json:"key"`
	Value types.HexBytes
}

type PovApiRepState added in v1.3.0

type PovApiRepState struct {
	StateHash types.Hash                           `json:"stateHash"`
	Reps      map[types.Address]*types.PovRepState `json:"reps"`
}

type PovApiState added in v1.2.3

type PovApiState struct {
	AccountState  *types.PovAccountState  `json:"accountState"`
	RepState      *types.PovRepState      `json:"repState"`
	ContractState *types.PovContractState `json:"contractState"`
}

type PovApiSubmitWork added in v1.3.0

type PovApiSubmitWork struct {
	WorkHash  types.Hash `json:"workHash"`
	BlockHash types.Hash `json:"blockHash"`

	MerkleRoot    types.Hash     `json:"merkleRoot"`
	Timestamp     uint32         `json:"timestamp"`
	Nonce         uint32         `json:"nonce"`
	CoinbaseExtra types.HexBytes `json:"coinbaseExtra"`
	CoinbaseHash  types.Hash     `json:"coinbaseHash"`

	AuxPow *types.PovAuxHeader `json:"auxPow"`
}

type PovApiTD added in v1.2.3

type PovApiTD struct {
	Header *types.PovHeader `json:"header"`
	TD     *types.PovTD     `json:"td"`
}

type PovApiTxLookup added in v1.2.3

type PovApiTxLookup struct {
	TxHash   types.Hash         `json:"txHash"`
	TxLookup *types.PovTxLookup `json:"txLookup"`

	CoinbaseTx *types.PovCoinBaseTx `json:"coinbaseTx"`
	AccountTx  *types.StateBlock    `json:"accountTx"`
}

type PovLedgerStats added in v1.2.3

type PovLedgerStats struct {
	PovBlockCount   uint64 `json:"povBlockCount"`
	PovBestCount    uint64 `json:"povBestCount"`
	PovAllTxCount   uint64 `json:"povAllTxCount"`
	PovCbTxCount    uint64 `json:"povCbTxCount"`
	PovStateTxCount uint64 `json:"povStateTxCount"`
	StateBlockCount uint64 `json:"stateBlockCount"`
}

type PovMinerStatItem added in v1.2.3

type PovMinerStatItem struct {
	Account            types.Address `json:"account"`
	MainBlockNum       uint32        `json:"mainBlockNum"`
	MainRewardAmount   types.Balance `json:"mainRewardAmount"`
	StableBlockNum     uint32        `json:"stableBlockNum"`
	StableRewardAmount types.Balance `json:"stableRewardAmount"`
	FirstBlockTime     time.Time     `json:"firstBlockTime"`
	LastBlockTime      time.Time     `json:"lastBlockTime"`
	FirstBlockHeight   uint64        `json:"firstBlockHeight"`
	LastBlockHeight    uint64        `json:"lastBlockHeight"`
	IsHourOnline       bool          `json:"isHourOnline"`
	IsDayOnline        bool          `json:"isDayOnline"`
}

type PovMinerStats added in v1.2.3

type PovMinerStats struct {
	MinerCount      int `json:"minerCount"`
	HourOnlineCount int `json:"hourOnlineCount"`
	DayOnlineCount  int `json:"dayOnlineCount"`

	MinerStats map[types.Address]*PovMinerStatItem `json:"minerStats"`

	TotalBlockNum     uint32        `json:"totalBlockNum"`
	TotalRewardAmount types.Balance `json:"totalRewardAmount"`
	TotalMinerReward  types.Balance `json:"totalMinerReward"`
	TotalRepReward    types.Balance `json:"totalRepReward"`
	LatestBlockHeight uint64        `json:"latestBlockHeight"`
}

type PovRepStatItem added in v1.3.1

type PovRepStatItem struct {
	MainBlockNum       uint32        `json:"mainBlockNum"`
	MainRewardAmount   types.Balance `json:"mainRewardAmount"`
	MainOnlinePeriod   uint32        `json:"mainOnlinePeriod"`
	StableBlockNum     uint32        `json:"stableBlockNum"`
	StableRewardAmount types.Balance `json:"stableRewardAmount"`
	StableOnlinePeriod uint32        `json:"stableOnlinePeriod"`
	LastOnlineTime     time.Time     `json:"lastOnlineTime"`
	LastOnlineHeight   uint64        `json:"lastOnlineHeight"`
	IsOnline           bool          `json:"isOnline"`
}

type PovRepStats added in v1.3.0

type PovRepStats struct {
	RepCount          uint32                            `json:"repCount"`
	RepStats          map[types.Address]*PovRepStatItem `json:"repStats"`
	TotalBlockNum     uint32                            `json:"totalBlockNum"`
	TotalPeriod       uint32                            `json:"totalPeriod"`
	TotalRewardAmount types.Balance                     `json:"totalRewardAmount"`
	LatestBlockHeight uint64                            `json:"latestBlockHeight"`
}

type PovStatus added in v1.2.3

type PovStatus struct {
	PovEnabled   bool   `json:"povEnabled"`
	SyncState    int    `json:"syncState"`
	SyncStateStr string `json:"syncStateStr"`
}

type PovSubscriber added in v1.3.0

type PovSubscriber struct {
	// contains filtered or unexported fields
}

type PovSubscription added in v1.3.0

type PovSubscription struct {
	// contains filtered or unexported fields
}

PovSubscription subscript event from chain, and deliver to every connected websocket

func NewPovSubscription added in v1.3.0

func NewPovSubscription(ctx context.Context, eb event.EventBus) *PovSubscription

func (*PovSubscription) AddChan added in v1.4.0

func (r *PovSubscription) AddChan(subID string, ch chan struct{})

func (*PovSubscription) FetchBlocks added in v1.4.0

func (r *PovSubscription) FetchBlocks(subID string) []*types.PovBlock

func (*PovSubscription) RemoveChan added in v1.4.0

func (r *PovSubscription) RemoveChan(subID string)

type PrivacyApi added in v1.4.0

type PrivacyApi struct {
	// contains filtered or unexported fields
}

func NewPrivacyApi added in v1.4.0

func NewPrivacyApi(cfg *config.Config, l ledger.Store, eb event.EventBus, cc *chainctx.ChainContext) *PrivacyApi

func (*PrivacyApi) DistributeRawPayload added in v1.4.0

func (api *PrivacyApi) DistributeRawPayload(param *PrivacyDistributeParam) ([]byte, error)

func (*PrivacyApi) GetBlockPrivatePayload added in v1.4.0

func (api *PrivacyApi) GetBlockPrivatePayload(blockHash types.Hash) ([]byte, error)

func (*PrivacyApi) GetDemoKV added in v1.4.0

func (api *PrivacyApi) GetDemoKV(key []byte) ([]byte, error)

GetDemoKV returns KV in PrivacyKV contract (just for demo in testnet)

func (*PrivacyApi) GetRawPayload added in v1.4.0

func (api *PrivacyApi) GetRawPayload(enclaveKey []byte) ([]byte, error)

type PrivacyDistributeParam added in v1.4.0

type PrivacyDistributeParam struct {
	RawPayload     []byte   `json:"rawPayload"`
	PrivateFrom    string   `json:"privateFrom"`
	PrivateFor     []string `json:"privateFor"`
	PrivateGroupID string   `json:"privateGroupID"`
}

type PtmKeyApi added in v1.4.0

type PtmKeyApi struct {
	// contains filtered or unexported fields
}

func NewPtmKeyApi added in v1.4.0

func NewPtmKeyApi(cfgFile string, l ledger.Store) *PtmKeyApi

func (*PtmKeyApi) GetPtmKeyByAccount added in v1.4.0

func (p *PtmKeyApi) GetPtmKeyByAccount(account types.Address) ([]*PtmKeyUpdateParam, error)

func (*PtmKeyApi) GetPtmKeyByAccountAndBtype added in v1.4.0

func (p *PtmKeyApi) GetPtmKeyByAccountAndBtype(account types.Address, Btype string) ([]*PtmKeyUpdateParam, error)

func (*PtmKeyApi) GetPtmKeyDeleteBlock added in v1.4.0

func (p *PtmKeyApi) GetPtmKeyDeleteBlock(param *PtmKeyDeleteParam) (*types.StateBlock, error)

func (*PtmKeyApi) GetPtmKeyUpdateBlock added in v1.4.0

func (p *PtmKeyApi) GetPtmKeyUpdateBlock(param *PtmKeyUpdateParam) (*types.StateBlock, error)

type PtmKeyDeleteParam added in v1.4.0

type PtmKeyDeleteParam struct {
	Account types.Address `json:"account"`
	Btype   string        `json:"btype"`
}

type PtmKeyUpdateParam added in v1.4.0

type PtmKeyUpdateParam struct {
	Account types.Address `json:"account"`
	Btype   string        `json:"btype"`
	Pubkey  string        `json:"pubkey"`
}

type PublicKeyDistributionApi added in v1.4.0

type PublicKeyDistributionApi struct {
	// contains filtered or unexported fields
}

func NewPublicKeyDistributionApi added in v1.4.0

func NewPublicKeyDistributionApi(cfgFile string, l ledger.Store) *PublicKeyDistributionApi

func (*PublicKeyDistributionApi) GetActiveVerifiers added in v1.4.0

func (p *PublicKeyDistributionApi) GetActiveVerifiers(vType string) ([]*VerifierRegParam, error)

func (*PublicKeyDistributionApi) GetAllVerifierStatesByBlockHeight added in v1.4.0

func (p *PublicKeyDistributionApi) GetAllVerifierStatesByBlockHeight(height uint64) (*PKDVerifierStateList, error)

func (*PublicKeyDistributionApi) GetAllVerifiers added in v1.4.0

func (p *PublicKeyDistributionApi) GetAllVerifiers() ([]*VerifierRegParam, error)

func (*PublicKeyDistributionApi) GetAvailRewardInfo added in v1.4.0

func (p *PublicKeyDistributionApi) GetAvailRewardInfo(account types.Address) (*PKDAvailRewardInfo, error)

func (*PublicKeyDistributionApi) GetOracleBlock added in v1.4.0

func (p *PublicKeyDistributionApi) GetOracleBlock(param *OracleParam) (*types.StateBlock, error)

func (*PublicKeyDistributionApi) GetOracleInfosByAccountAndType added in v1.4.0

func (p *PublicKeyDistributionApi) GetOracleInfosByAccountAndType(account types.Address, oType string) ([]*OracleParam, error)

func (*PublicKeyDistributionApi) GetOracleInfosByHash added in v1.4.0

func (p *PublicKeyDistributionApi) GetOracleInfosByHash(hash string) ([]*OracleParam, error)

func (*PublicKeyDistributionApi) GetOracleInfosByType added in v1.4.0

func (p *PublicKeyDistributionApi) GetOracleInfosByType(oType string) ([]*OracleParam, error)

func (*PublicKeyDistributionApi) GetOracleInfosByTypeAndID added in v1.4.0

func (p *PublicKeyDistributionApi) GetOracleInfosByTypeAndID(oType string, id string) ([]*OracleParam, error)

func (*PublicKeyDistributionApi) GetPubKeyByTypeAndID added in v1.4.0

func (p *PublicKeyDistributionApi) GetPubKeyByTypeAndID(pType string, pID string) ([]*PublishInfoState, error)

func (*PublicKeyDistributionApi) GetPublishBlock added in v1.4.0

func (p *PublicKeyDistributionApi) GetPublishBlock(param *PublishParam) (*PublishRet, error)

func (*PublicKeyDistributionApi) GetPublishInfosByAccountAndType added in v1.4.0

func (p *PublicKeyDistributionApi) GetPublishInfosByAccountAndType(account types.Address, pType string) ([]*PublishInfoState, error)

func (*PublicKeyDistributionApi) GetPublishInfosByType added in v1.4.0

func (p *PublicKeyDistributionApi) GetPublishInfosByType(pType string) ([]*PublishInfoState, error)

func (*PublicKeyDistributionApi) GetRecommendPubKey added in v1.4.0

func (p *PublicKeyDistributionApi) GetRecommendPubKey(pType string, pID string) (*PublishInfoState, error)

func (*PublicKeyDistributionApi) GetRewardHistory added in v1.4.0

func (p *PublicKeyDistributionApi) GetRewardHistory(account types.Address) (*PKDHistoryRewardInfo, error)

func (*PublicKeyDistributionApi) GetRewardRecvBlock added in v1.4.0

func (p *PublicKeyDistributionApi) GetRewardRecvBlock(input *types.StateBlock) (*types.StateBlock, error)

func (*PublicKeyDistributionApi) GetRewardRecvBlockBySendHash added in v1.4.0

func (p *PublicKeyDistributionApi) GetRewardRecvBlockBySendHash(sendHash types.Hash) (*types.StateBlock, error)

func (*PublicKeyDistributionApi) GetRewardSendBlock added in v1.4.0

func (p *PublicKeyDistributionApi) GetRewardSendBlock(param *PKDRewardParam) (*types.StateBlock, error)

func (*PublicKeyDistributionApi) GetUnPublishBlock added in v1.4.0

func (p *PublicKeyDistributionApi) GetUnPublishBlock(param *UnPublishParam) (*types.StateBlock, error)

func (*PublicKeyDistributionApi) GetVerifierHeartBlock added in v1.4.0

func (p *PublicKeyDistributionApi) GetVerifierHeartBlock(account types.Address, vTypes []string) (*types.StateBlock, error)

func (*PublicKeyDistributionApi) GetVerifierRegisterBlock added in v1.4.0

func (p *PublicKeyDistributionApi) GetVerifierRegisterBlock(param *VerifierRegParam) (*types.StateBlock, error)

func (*PublicKeyDistributionApi) GetVerifierStateByBlockHeight added in v1.4.0

func (p *PublicKeyDistributionApi) GetVerifierStateByBlockHeight(height uint64, address types.Address) (*types.PovVerifierState, error)

func (*PublicKeyDistributionApi) GetVerifierUnregisterBlock added in v1.4.0

func (p *PublicKeyDistributionApi) GetVerifierUnregisterBlock(param *VerifierUnRegParam) (*types.StateBlock, error)

func (*PublicKeyDistributionApi) GetVerifiersByAccount added in v1.4.0

func (p *PublicKeyDistributionApi) GetVerifiersByAccount(account types.Address) ([]*VerifierRegParam, error)

func (*PublicKeyDistributionApi) GetVerifiersByType added in v1.4.0

func (p *PublicKeyDistributionApi) GetVerifiersByType(vType string) ([]*VerifierRegParam, error)

func (*PublicKeyDistributionApi) PackRewardData added in v1.4.0

func (p *PublicKeyDistributionApi) PackRewardData(param *PKDRewardParam) ([]byte, error)

func (*PublicKeyDistributionApi) UnpackRewardData added in v1.4.0

func (p *PublicKeyDistributionApi) UnpackRewardData(data []byte) (*PKDRewardParam, error)

type PublishInfoState added in v1.4.0

type PublishInfoState struct {
	*PublishParam

	State *types.PovPublishState `json:"state"`
}

type PublishParam added in v1.4.0

type PublishParam struct {
	Account   types.Address   `json:"account"`
	PType     string          `json:"type"`
	PID       string          `json:"id"`
	PubKey    string          `json:"pubKey"`
	KeyType   string          `json:"keyType"`
	Fee       types.Balance   `json:"fee"`
	Verifiers []types.Address `json:"verifiers"`
	Codes     []types.Hash    `json:"codes"`
	Hash      string          `json:"hash"`
}

type PublishRet added in v1.4.0

type PublishRet struct {
	Block     *types.StateBlock           `json:"block"`
	Verifiers map[string]*VerifierContent `json:"verifiers"`
}

type RepApi added in v1.3.0

type RepApi struct {
	// contains filtered or unexported fields
}

func NewRepApi added in v1.3.0

func NewRepApi(cfg *config.Config, ledger ledger.Store) *RepApi

func (*RepApi) GetAvailRewardInfo added in v1.3.0

func (r *RepApi) GetAvailRewardInfo(account types.Address) (*RepAvailRewardInfo, error)

func (*RepApi) GetRepStateWithHeight added in v1.3.0

func (r *RepApi) GetRepStateWithHeight(params *RepStateParams) (*types.PovRepState, error)

func (*RepApi) GetRewardData added in v1.3.0

func (r *RepApi) GetRewardData(param *RepRewardParam) ([]byte, error)

func (*RepApi) GetRewardHistory added in v1.3.0

func (r *RepApi) GetRewardHistory(account types.Address) (*RepHistoryRewardInfo, error)

func (*RepApi) GetRewardRecvBlock added in v1.3.0

func (r *RepApi) GetRewardRecvBlock(input *types.StateBlock) (*types.StateBlock, error)

func (*RepApi) GetRewardRecvBlockBySendHash added in v1.3.0

func (r *RepApi) GetRewardRecvBlockBySendHash(sendHash types.Hash) (*types.StateBlock, error)

func (*RepApi) GetRewardSendBlock added in v1.3.0

func (r *RepApi) GetRewardSendBlock(param *RepRewardParam) (*types.StateBlock, error)

func (*RepApi) UnpackRewardData added in v1.3.0

func (r *RepApi) UnpackRewardData(data []byte) (*RepRewardParam, error)

type RepAvailRewardInfo added in v1.3.0

type RepAvailRewardInfo struct {
	LastEndHeight     uint64        `json:"lastEndHeight"`
	LatestBlockHeight uint64        `json:"latestBlockHeight"`
	NodeRewardHeight  uint64        `json:"nodeRewardHeight"`
	AvailStartHeight  uint64        `json:"availStartHeight"`
	AvailEndHeight    uint64        `json:"availEndHeight"`
	AvailRewardBlocks uint64        `json:"availRewardBlocks"`
	AvailRewardAmount types.Balance `json:"availRewardAmount"`
	NeedCallReward    bool          `json:"needCallReward"`
}

type RepHistoryRewardInfo added in v1.3.0

type RepHistoryRewardInfo struct {
	LastEndHeight  uint64        `json:"lastEndHeight"`
	RewardBlocks   uint64        `json:"rewardBlocks"`
	RewardAmount   types.Balance `json:"rewardAmount"`
	LastRewardTime int64         `json:"lastRewardTime"`
}

type RepRewardParam added in v1.3.0

type RepRewardParam struct {
	Account      types.Address `json:"account"`
	Beneficial   types.Address `json:"beneficial"`
	StartHeight  uint64        `json:"startHeight"`
	EndHeight    uint64        `json:"endHeight"`
	RewardBlocks uint64        `json:"rewardBlocks"`
	RewardAmount *big.Int      `json:"rewardAmount"`
}

type RepStateParams added in v1.3.0

type RepStateParams struct {
	Account types.Address
	Height  uint64
}

type RewardParam added in v1.2.3

type RewardParam struct {
	Coinbase     types.Address `json:"coinbase"`
	Beneficial   types.Address `json:"beneficial"`
	StartHeight  uint64        `json:"startHeight"`
	EndHeight    uint64        `json:"endHeight"`
	RewardBlocks uint64        `json:"rewardBlocks"`
	RewardAmount *big.Int      `json:"rewardAmount"`
}

type RewardsAPI added in v1.4.0

type RewardsAPI struct {
	// contains filtered or unexported fields
}

func NewRewardsAPI added in v1.4.0

func NewRewardsAPI(l ledger.Store, cc *chainctx.ChainContext) *RewardsAPI

func (*RewardsAPI) GetConfidantRewards added in v1.4.0

func (r *RewardsAPI) GetConfidantRewards(confidant types.Address) (map[string]*big.Int, error)

func (*RewardsAPI) GetConfidantRewordsDetail added in v1.4.0

func (r *RewardsAPI) GetConfidantRewordsDetail(confidant types.Address) (map[string][]*cabi.RewardsInfo, error)

func (*RewardsAPI) GetReceiveRewardBlock added in v1.4.0

func (r *RewardsAPI) GetReceiveRewardBlock(send *types.Hash) (*types.StateBlock, error)

func (*RewardsAPI) GetRewardsDetail added in v1.4.0

func (r *RewardsAPI) GetRewardsDetail(txId string) ([]*cabi.RewardsInfo, error)

func (*RewardsAPI) GetSendConfidantBlock added in v1.4.0

func (r *RewardsAPI) GetSendConfidantBlock(param *RewardsParam, sign *types.Signature) (*types.StateBlock, error)

func (*RewardsAPI) GetSendRewardBlock added in v1.4.0

func (r *RewardsAPI) GetSendRewardBlock(param *RewardsParam, sign *types.Signature) (*types.StateBlock, error)

func (*RewardsAPI) GetTotalRewards added in v1.4.0

func (r *RewardsAPI) GetTotalRewards(txId string) (*big.Int, error)

func (*RewardsAPI) GetUnsignedConfidantData added in v1.4.0

func (r *RewardsAPI) GetUnsignedConfidantData(param *RewardsParam) (types.Hash, error)

func (*RewardsAPI) GetUnsignedRewardData added in v1.4.0

func (r *RewardsAPI) GetUnsignedRewardData(param *RewardsParam) (types.Hash, error)

func (*RewardsAPI) IsAirdropRewards added in v1.4.0

func (r *RewardsAPI) IsAirdropRewards(data []byte) bool

type RewardsParam added in v1.2.0

type RewardsParam struct {
	Id     string        `json:"Id"`
	Amount types.Balance `json:"amount"`
	Self   types.Address `json:"self"`
	To     types.Address `json:"to"`
}

type UnPublishParam added in v1.4.0

type UnPublishParam struct {
	Account types.Address `json:"account"`
	PType   string        `json:"type"`
	PID     string        `json:"id"`
	PubKey  string        `json:"pubKey"`
	KeyType string        `json:"keyType"`
	Hash    string        `json:"hash"`
}

type UncheckInfo added in v1.4.0

type UncheckInfo struct {
	Hash      types.Hash `json:"hash"`
	GapType   string     `json:"gapType"`
	GapHash   types.Hash `json:"gapHash"`
	GapHeight uint64     `json:"gapHeight"`
}

type UtilAPI added in v1.4.0

type UtilAPI struct {
	// contains filtered or unexported fields
}

func NewUtilAPI added in v1.4.0

func NewUtilAPI(l ledger.Store) *UtilAPI

func (*UtilAPI) BalanceToRaw added in v1.4.0

func (u *UtilAPI) BalanceToRaw(balance types.Balance, unit string, tokenName *string) (types.Balance, error)

func (*UtilAPI) Decrypt added in v1.4.0

func (u *UtilAPI) Decrypt(cryptograph string, passphrase string) (string, error)

func (*UtilAPI) Encrypt added in v1.4.0

func (u *UtilAPI) Encrypt(raw string, passphrase string) (string, error)

func (*UtilAPI) RawToBalance added in v1.4.0

func (u *UtilAPI) RawToBalance(balance types.Balance, unit string, tokenName *string) (*APIBalance, error)

type VerifierContent added in v1.4.0

type VerifierContent struct {
	Account types.Address `json:"account"`
	PubKey  string        `json:"pubKey"`
	Code    string        `json:"code"`
	Hash    types.Hash    `json:"hash"`
}

type VerifierRegParam added in v1.4.0

type VerifierRegParam struct {
	Account types.Address `json:"account"`
	VType   string        `json:"type"`
	VInfo   string        `json:"id"`
	VKey    string        `json:"key"`
}

type VerifierUnRegParam added in v1.4.0

type VerifierUnRegParam struct {
	Account types.Address `json:"account"`
	VType   string        `json:"type"`
}

type WithdrawParams added in v1.1.0

type WithdrawParams struct {
	SelfAddr types.Address `json:"selfAddr"`
	TokenId  types.Hash    `json:"tokenId"`
}

type WithdrawPledgeParam added in v1.1.0

type WithdrawPledgeParam struct {
	Beneficial types.Address `json:"beneficial"`
	Amount     types.Balance `json:"amount"`
	PType      string        `json:"pType"`
	NEP5TxId   string        `json:"nep5TxId"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL