Documentation ¶
Overview ¶
TODO: refactor this whole module to v0 and v1
Index ¶
- Constants
- Variables
- func GetExplorerPort(nodePort string) string
- func LegGetAddressKey(address oneAddress) []byte
- type Address
- type Bitmap
- type Data
- type HTTPError
- type HeightResponse
- type InaccessibleAddressInfo
- type LegTxRecord
- type LegTxRecords
- type Service
- func (s *Service) DumpCatchupBlock(b *types.Block)
- func (s *Service) DumpNewBlock(b *types.Block)
- func (s *Service) DumpTraceResult(data *tracers.TraceBlockStorage)
- func (s *Service) GetAddresses(w http.ResponseWriter, r *http.Request)
- func (s *Service) GetCheckpointBitmap() *roaring64.Bitmap
- func (s *Service) GetCirculatingSupply(w http.ResponseWriter, r *http.Request)
- func (s *Service) GetHeight(w http.ResponseWriter, r *http.Request)
- func (s *Service) GetInaccessibleAddressInfo(w http.ResponseWriter, r *http.Request)
- func (s *Service) GetNodeSync(w http.ResponseWriter, r *http.Request)
- func (s *Service) GetNormalTxHashesByAccount(address string) ([]ethCommon.Hash, []TxType, error)
- func (s *Service) GetStakingTxHashesByAccount(address string) ([]ethCommon.Hash, []TxType, error)
- func (s *Service) GetTotalSupply(w http.ResponseWriter, r *http.Request)
- func (s *Service) GetTraceResultByHash(hash ethCommon.Hash) (json.RawMessage, error)
- func (s *Service) Init()
- func (s *Service) IsAvailable() bool
- func (s *Service) NotifyService(params map[string]interface{})
- func (s *Service) Run() *http.Server
- func (s *Service) SetMessageChan(messageChan chan *msg_pb.Message)
- func (s *Service) Start() error
- func (s *Service) Stop() error
- type StakingTransaction
- type ThreadSafeBitmap
- type Transaction
- type TxRecord
- type TxType
Constants ¶
const ( LegAddressPrefix = "ad_" CheckpointBitmap = "checkpoint_bitmap" TracePrefix = "tr_" )
const ( LegReceived = "RECEIVED" LegSent = "SENT" )
Tx types ...
Variables ¶
var ErrExplorerNotReady = errors.New("explorer db not ready")
ErrExplorerNotReady is the error when querying explorer db data when explorer db is doing migration and unavailable
Functions ¶
func GetExplorerPort ¶
GetExplorerPort returns the port serving explorer dashboard. This port is explorerPortDifference less than the node port.
Types ¶
type Address ¶
type Address struct { ID string `json:"id"` Balance *big.Int `json:"balance"` // Deprecated TXs LegTxRecords `json:"txs"` StakingTXs LegTxRecords `json:"staking_txs"` }
Address ...
type Bitmap ¶
type Bitmap interface { Clone() *roaring64.Bitmap MarshalBinary() ([]byte, error) CheckedAdd(x uint64) bool Contains(x uint64) bool }
func NewThreadSafeBitmap ¶
type HeightResponse ¶
type InaccessibleAddressInfo ¶
type InaccessibleAddressInfo struct { EthAddress ethCommon.Address `json:"eth-address"` Address string `json:"address"` Balance numeric.Dec `json:"balance"` Nonce uint64 `json:"nonce"` }
InaccessibleAddressInfo ..
type LegTxRecord ¶
LegTxRecord ...
type Service ¶
Service is the struct for explorer service.
func New ¶
func New(intelchainConfig *intelchainconfig.IntelchainConfig, selfPeer *p2p.Peer, bc core.BlockChain, backend itc.NodeAPI) *Service
New returns explorer service.
func (*Service) DumpCatchupBlock ¶
DumpCatchupBlock instruct the explorer storage to dump a catch up block in explorer DB
func (*Service) DumpNewBlock ¶
DumpNewBlock instruct the explorer storage to dump block data in explorer DB
func (*Service) DumpTraceResult ¶
func (s *Service) DumpTraceResult(data *tracers.TraceBlockStorage)
DumpTraceResult instruct the explorer storage to trace data in explorer DB
func (*Service) GetAddresses ¶
func (s *Service) GetAddresses(w http.ResponseWriter, r *http.Request)
GetAddresses serves end-point /addresses, returns size of addresses from address with prefix.
func (*Service) GetCheckpointBitmap ¶
GetCheckpointBitmap get explorer checkpoint bitmap
func (*Service) GetCirculatingSupply ¶
func (s *Service) GetCirculatingSupply(w http.ResponseWriter, r *http.Request)
GetCirculatingSupply serves /circulating-supply end-point. Note that known InaccessibleAddresses have their funds removed from the supply for this endpoint.
func (*Service) GetHeight ¶
func (s *Service) GetHeight(w http.ResponseWriter, r *http.Request)
GetHeight returns heights of current and beacon chains if needed.
func (*Service) GetInaccessibleAddressInfo ¶
func (s *Service) GetInaccessibleAddressInfo(w http.ResponseWriter, r *http.Request)
GetInaccessibleAddressInfo serves /burn-addresses end-point.
func (*Service) GetNodeSync ¶
func (s *Service) GetNodeSync(w http.ResponseWriter, r *http.Request)
GetNodeSync returns status code Teapot 418 if node is not in sync
func (*Service) GetNormalTxHashesByAccount ¶
GetNormalTxHashesByAccount get the normal transaction hashes by account
func (*Service) GetStakingTxHashesByAccount ¶
GetStakingTxHashesByAccount get the staking transaction hashes by account
func (*Service) GetTotalSupply ¶
func (s *Service) GetTotalSupply(w http.ResponseWriter, r *http.Request)
GetTotalSupply serves /total-supply end-point. Note that known InaccessibleAddresses have their funds removed from the supply for this endpoint.
func (*Service) GetTraceResultByHash ¶
func (*Service) IsAvailable ¶
IsAvailable return whether the explorer db is available for now.
func (*Service) NotifyService ¶
NotifyService notify service.
func (*Service) SetMessageChan ¶
SetMessageChan sets up message channel to service.
type StakingTransaction ¶
type StakingTransaction struct {
Transaction
}
StakingTransaction ...
func GetStakingTransaction ¶
func GetStakingTransaction(tx *staking.StakingTransaction, addressBlock *types.Block) (*StakingTransaction, error)
GetStakingTransaction ...
type ThreadSafeBitmap ¶
type ThreadSafeBitmap struct {
// contains filtered or unexported fields
}
func (*ThreadSafeBitmap) CheckedAdd ¶
func (a *ThreadSafeBitmap) CheckedAdd(x uint64) bool
func (*ThreadSafeBitmap) Clone ¶
func (a *ThreadSafeBitmap) Clone() *roaring64.Bitmap
func (*ThreadSafeBitmap) Contains ¶
func (a *ThreadSafeBitmap) Contains(x uint64) bool
func (*ThreadSafeBitmap) MarshalBinary ¶
func (a *ThreadSafeBitmap) MarshalBinary() ([]byte, error)
type Transaction ¶
type Transaction struct { ID string `json:"id"` Timestamp string `json:"timestamp"` From string `json:"from"` To string `json:"to"` Value *big.Int `json:"value"` Bytes string `json:"bytes"` Data string `json:"data"` GasFee *big.Int `json:"gasFee"` FromShard uint32 `json:"fromShard"` ToShard uint32 `json:"toShard"` Type string `json:"type"` }
Transaction ...
func GetTransaction ¶
func GetTransaction(tx *types.Transaction, addressBlock *types.Block) (*Transaction, error)
GetTransaction ...