Documentation ¶
Index ¶
- Constants
- Variables
- type Bucket
- type BucketType
- type ContractIndexer
- type Indexer
- func (s *Indexer) Bucket(id uint64) (*Bucket, bool)
- func (s *Indexer) BucketTypes() ([]*BucketType, error)
- func (s *Indexer) Buckets() ([]*Bucket, error)
- func (s *Indexer) BucketsByCandidate(candidate address.Address) ([]*Bucket, error)
- func (s *Indexer) BucketsByIndices(indices []uint64) ([]*Bucket, error)
- func (s *Indexer) CandidateVotes(candidate address.Address) *big.Int
- func (s *Indexer) DeleteTipBlock(context.Context, *block.Block) error
- func (s *Indexer) Height() (uint64, error)
- func (s *Indexer) PutBlock(ctx context.Context, blk *block.Block) error
- func (s *Indexer) Start(ctx context.Context) error
- func (s *Indexer) StartHeight() uint64
- func (s *Indexer) Stop(ctx context.Context) error
- func (s *Indexer) TotalBucketCount() uint64
Constants ¶
const ( // StakingContractABI is the ABI of system staking contract StakingContractABI = `` /* 5568-byte string literal not displayed */ )
Variables ¶
var ( // ErrBucketNotExist is the error when bucket does not exist ErrBucketNotExist = errors.New("bucket does not exist") )
Functions ¶
This section is empty.
Types ¶
type Bucket ¶
type Bucket = staking.VoteBucket
Bucket defines the bucket struct for contract staking
type BucketType ¶
type BucketType = staking.ContractStakingBucketType
BucketType defines the type of contract staking bucket
type ContractIndexer ¶
type ContractIndexer interface { blockdao.BlockIndexerWithStart // CandidateVotes returns the total staked votes of a candidate // candidate identified by owner address CandidateVotes(ownerAddr address.Address) *big.Int // Buckets returns active buckets Buckets() ([]*Bucket, error) // BucketsByIndices returns active buckets by indices BucketsByIndices([]uint64) ([]*Bucket, error) // BucketsByCandidate returns active buckets by candidate BucketsByCandidate(ownerAddr address.Address) ([]*Bucket, error) // TotalBucketCount returns the total number of buckets including burned buckets TotalBucketCount() uint64 // BucketTypes returns the active bucket types BucketTypes() ([]*BucketType, error) }
ContractIndexer defines the interface of contract staking reader
func NewDummyContractStakingIndexer ¶
func NewDummyContractStakingIndexer() ContractIndexer
NewDummyContractStakingIndexer creates an empty contract staking indexer
type Indexer ¶
type Indexer struct {
// contains filtered or unexported fields
}
Indexer is the contract staking indexer Main functions:
- handle contract staking contract events when new block comes to generate index data
- provide query interface for contract staking index data
func NewContractStakingIndexer ¶
func NewContractStakingIndexer(kvStore db.KVStore, contractAddr string, contractDeployHeight uint64) (*Indexer, error)
NewContractStakingIndexer creates a new contract staking indexer
func (*Indexer) BucketTypes ¶
func (s *Indexer) BucketTypes() ([]*BucketType, error)
BucketTypes returns the active bucket types
func (*Indexer) BucketsByCandidate ¶
BucketsByCandidate returns the buckets by candidate
func (*Indexer) BucketsByIndices ¶
BucketsByIndices returns the buckets by indices
func (*Indexer) CandidateVotes ¶
CandidateVotes returns the candidate votes
func (*Indexer) DeleteTipBlock ¶
DeleteTipBlock deletes the tip block from indexer
func (*Indexer) StartHeight ¶
StartHeight returns the start height of the indexer
func (*Indexer) TotalBucketCount ¶
TotalBucketCount returns the total bucket count including active and burnt buckets