2019-09-26 15:36:23 +00:00
|
|
|
package types
|
|
|
|
|
2019-10-04 19:32:56 +00:00
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
|
|
|
|
ethtypes "github.com/ethereum/go-ethereum/core/types"
|
|
|
|
)
|
|
|
|
|
2020-03-09 13:17:23 +00:00
|
|
|
// Supported endpoints
|
|
|
|
const (
|
|
|
|
QueryProtocolVersion = "protocolVersion"
|
|
|
|
QueryBalance = "balance"
|
|
|
|
QueryBlockNumber = "blockNumber"
|
|
|
|
QueryStorage = "storage"
|
|
|
|
QueryCode = "code"
|
|
|
|
QueryNonce = "nonce"
|
|
|
|
QueryHashToHeight = "hashToHeight"
|
2020-05-04 22:02:26 +00:00
|
|
|
QueryTransactionLogs = "transactionLogs"
|
2020-03-09 13:17:23 +00:00
|
|
|
QueryLogsBloom = "logsBloom"
|
|
|
|
QueryLogs = "logs"
|
|
|
|
QueryAccount = "account"
|
|
|
|
)
|
|
|
|
|
2019-09-26 15:36:23 +00:00
|
|
|
// QueryResProtocolVersion is response type for protocol version query
|
|
|
|
type QueryResProtocolVersion struct {
|
|
|
|
Version string `json:"version"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func (q QueryResProtocolVersion) String() string {
|
|
|
|
return q.Version
|
|
|
|
}
|
|
|
|
|
|
|
|
// QueryResBalance is response type for balance query
|
|
|
|
type QueryResBalance struct {
|
|
|
|
Balance string `json:"balance"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func (q QueryResBalance) String() string {
|
|
|
|
return q.Balance
|
|
|
|
}
|
|
|
|
|
|
|
|
// QueryResBlockNumber is response type for block number query
|
|
|
|
type QueryResBlockNumber struct {
|
|
|
|
Number int64 `json:"blockNumber"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func (q QueryResBlockNumber) String() string {
|
|
|
|
return string(q.Number)
|
|
|
|
}
|
|
|
|
|
|
|
|
// QueryResStorage is response type for storage query
|
|
|
|
type QueryResStorage struct {
|
|
|
|
Value []byte `json:"value"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func (q QueryResStorage) String() string {
|
|
|
|
return string(q.Value)
|
|
|
|
}
|
|
|
|
|
|
|
|
// QueryResCode is response type for code query
|
|
|
|
type QueryResCode struct {
|
|
|
|
Code []byte
|
|
|
|
}
|
|
|
|
|
|
|
|
func (q QueryResCode) String() string {
|
|
|
|
return string(q.Code)
|
|
|
|
}
|
|
|
|
|
|
|
|
// QueryResNonce is response type for Nonce query
|
|
|
|
type QueryResNonce struct {
|
|
|
|
Nonce uint64 `json:"nonce"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func (q QueryResNonce) String() string {
|
|
|
|
return string(q.Nonce)
|
|
|
|
}
|
2019-10-04 19:32:56 +00:00
|
|
|
|
2019-10-16 00:46:50 +00:00
|
|
|
// QueryETHLogs is response type for tx logs query
|
|
|
|
type QueryETHLogs struct {
|
2019-10-04 19:32:56 +00:00
|
|
|
Logs []*ethtypes.Log `json:"logs"`
|
|
|
|
}
|
|
|
|
|
2019-10-16 00:46:50 +00:00
|
|
|
func (q QueryETHLogs) String() string {
|
2020-01-07 20:56:49 +00:00
|
|
|
return fmt.Sprintf("%+v", q.Logs)
|
2019-10-04 19:32:56 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// QueryBloomFilter is response type for tx logs query
|
|
|
|
type QueryBloomFilter struct {
|
|
|
|
Bloom ethtypes.Bloom `json:"bloom"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func (q QueryBloomFilter) String() string {
|
|
|
|
return string(q.Bloom.Bytes())
|
|
|
|
}
|
2019-10-16 00:46:50 +00:00
|
|
|
|
|
|
|
// QueryAccount is response type for querying Ethereum state objects
|
2020-03-09 13:17:23 +00:00
|
|
|
type QueryResAccount struct {
|
2019-10-16 00:46:50 +00:00
|
|
|
Balance string `json:"balance"`
|
|
|
|
CodeHash []byte `json:"codeHash"`
|
|
|
|
Nonce uint64 `json:"nonce"`
|
|
|
|
}
|