Documentation
¶
Overview ¶
sequence-indexer v0.4.0 6071879702f8258e8912ca95cf2d9c1459ca991d -- This file has been generated by https://github.com/webrpc/webrpc using gen/golang Do not edit by hand. Update your webrpc schema and re-generate.
Index ¶
- Constants
- Variables
- func HTTPRequestHeaders(ctx context.Context) (http.Header, bool)
- func HTTPStatusFromErrorCode(code ErrorCode) int
- func IsErrorCode(err error, code ErrorCode) bool
- func IsValidErrorCode(code ErrorCode) bool
- func WebRPCSchemaHash() string
- func WebRPCSchemaVersion() string
- func WebRPCVersion() string
- func WithHTTPRequestHeaders(ctx context.Context, h http.Header) (context.Context, error)
- type ContractInfo
- type ContractInfoExtensions
- type ContractType
- type Error
- func ErrorInternal(format string, args ...interface{}) Error
- func ErrorInvalidArgument(argument string, validationMsg string) Error
- func ErrorNotFound(format string, args ...interface{}) Error
- func ErrorRequiredArgument(argument string) Error
- func Errorf(code ErrorCode, msgf string, args ...interface{}) Error
- func Failf(format string, args ...interface{}) Error
- func WrapError(code ErrorCode, cause error, format string, args ...interface{}) Error
- func WrapFailf(cause error, format string, args ...interface{}) Error
- type ErrorCode
- type ErrorPayload
- type EtherBalance
- type EventLog
- type EventLogDataType
- type EventLogType
- type HTTPClient
- type IndexState
- type Indexer
- type Page
- type RuntimeChecks
- type RuntimeStatus
- type SortBy
- type SortOrder
- type TokenBalance
- type TokenHistory
- type TokenMetadata
- type TokenSupply
- type Transaction
- type TransactionHistoryFilter
- type TxnTransfer
- type TxnTransferType
- type Version
Constants ¶
View Source
const IndexerPathPrefix = "/rpc/Indexer/"
Variables ¶
View Source
var ( // For Client HTTPClientRequestHeadersCtxKey = &contextKey{"HTTPClientRequestHeaders"} // For Server HTTPResponseWriterCtxKey = &contextKey{"HTTPResponseWriter"} HTTPRequestCtxKey = &contextKey{"HTTPRequest"} ServiceNameCtxKey = &contextKey{"ServiceName"} MethodNameCtxKey = &contextKey{"MethodName"} )
View Source
var ContractType_name = map[uint8]string{
0: "UNKNOWN",
1: "ERC20",
2: "ERC721",
3: "ERC1155",
4: "SEQUENCE_WALLET",
5: "ERC20_BRIDGE",
6: "ERC721_BRIDGE",
7: "ERC1155_BRIDGE",
}
View Source
var ContractType_value = map[string]uint8{
"UNKNOWN": 0,
"ERC20": 1,
"ERC721": 2,
"ERC1155": 3,
"SEQUENCE_WALLET": 4,
"ERC20_BRIDGE": 5,
"ERC721_BRIDGE": 6,
"ERC1155_BRIDGE": 7,
}
View Source
var EventLogDataType_name = map[uint8]string{
0: "UNKNOWN",
1: "TOKEN_TRANSFER",
2: "SEQUENCE_TXN",
}
View Source
var EventLogDataType_value = map[string]uint8{
"UNKNOWN": 0,
"TOKEN_TRANSFER": 1,
"SEQUENCE_TXN": 2,
}
View Source
var EventLogType_name = map[uint8]string{
0: "UNKNOWN",
1: "BLOCK_ADDED",
2: "BLOCK_REMOVED",
}
View Source
var EventLogType_value = map[string]uint8{
"UNKNOWN": 0,
"BLOCK_ADDED": 1,
"BLOCK_REMOVED": 2,
}
View Source
var SortOrder_name = map[uint32]string{
0: "DESC",
1: "ASC",
}
View Source
var SortOrder_value = map[string]uint32{
"DESC": 0,
"ASC": 1,
}
View Source
var TxnTransferType_name = map[uint32]string{
0: "UNKNOWN",
1: "SEND",
2: "RECEIVE",
}
View Source
var TxnTransferType_value = map[string]uint32{
"UNKNOWN": 0,
"SEND": 1,
"RECEIVE": 2,
}
View Source
var WebRPCServices = map[string][]string{
"Indexer": {
"Ping",
"Version",
"RuntimeStatus",
"GetChainID",
"GetEtherBalance",
"GetTokenBalances",
"GetTokenSupplies",
"GetTokenSuppliesMap",
"GetBalanceUpdates",
"GetTransactionHistory",
"SyncBalance",
},
}
Functions ¶
func HTTPStatusFromErrorCode ¶
func IsErrorCode ¶
func IsValidErrorCode ¶
Types ¶
type ContractInfo ¶ added in v0.12.6
type ContractInfo struct {
ChainID uint64 `json:"chainId"`
Address string `json:"address"`
Name string `json:"name"`
Type string `json:"type"`
Symbol string `json:"symbol"`
Decimals *uint64 `json:"decimals,omitempty"`
LogoURI string `json:"logoURI,omitempty"`
Extensions *ContractInfoExtensions `json:"extensions"`
}
type ContractInfoExtensions ¶ added in v0.12.6
type ContractType ¶
type ContractType uint8
const ( ContractType_UNKNOWN ContractType = 0 ContractType_ERC20 ContractType = 1 ContractType_ERC721 ContractType = 2 ContractType_ERC1155 ContractType = 3 ContractType_SEQUENCE_WALLET ContractType = 4 ContractType_ERC20_BRIDGE ContractType = 5 ContractType_ERC721_BRIDGE ContractType = 6 ContractType_ERC1155_BRIDGE ContractType = 7 )
func (ContractType) MarshalJSON ¶
func (x ContractType) MarshalJSON() ([]byte, error)
func (ContractType) String ¶
func (x ContractType) String() string
func (*ContractType) UnmarshalJSON ¶
func (x *ContractType) UnmarshalJSON(b []byte) error
type Error ¶
type Error interface {
// Code is of the valid error codes
Code() ErrorCode
// Msg returns a human-readable, unstructured messages describing the error
Msg() string
// Cause is reason for the error
Cause() error
// Error returns a string of the form "webrpc error <Code>: <Msg>"
Error() string
// Error response payload
Payload() ErrorPayload
}
func ErrorInternal ¶
func ErrorInvalidArgument ¶
func ErrorNotFound ¶
func ErrorRequiredArgument ¶
type ErrorCode ¶
type ErrorCode string
const ( // Unknown error. For example when handling errors raised by APIs that do not // return enough error information. ErrUnknown ErrorCode = "unknown" // Fail error. General failure error type. ErrFail ErrorCode = "fail" // Canceled indicates the operation was cancelled (typically by the caller). ErrCanceled ErrorCode = "canceled" // InvalidArgument indicates client specified an invalid argument. It // indicates arguments that are problematic regardless of the state of the // system (i.e. a malformed file name, required argument, number out of range, // etc.). ErrInvalidArgument ErrorCode = "invalid argument" // DeadlineExceeded means operation expired before completion. For operations // that change the state of the system, this error may be returned even if the // operation has completed successfully (timeout). ErrDeadlineExceeded ErrorCode = "deadline exceeded" // NotFound means some requested entity was not found. ErrNotFound ErrorCode = "not found" // BadRoute means that the requested URL path wasn't routable to a webrpc // service and method. This is returned by the generated server, and usually // shouldn't be returned by applications. Instead, applications should use // NotFound or Unimplemented. ErrBadRoute ErrorCode = "bad route" // AlreadyExists means an attempt to create an entity failed because one // already exists. ErrAlreadyExists ErrorCode = "already exists" // PermissionDenied indicates the caller does not have permission to execute // the specified operation. It must not be used if the caller cannot be // identified (Unauthenticated). ErrPermissionDenied ErrorCode = "permission denied" // Unauthenticated indicates the request does not have valid authentication // credentials for the operation. ErrUnauthenticated ErrorCode = "unauthenticated" // ResourceExhausted indicates some resource has been exhausted, perhaps a // per-user quota, or perhaps the entire file system is out of space. ErrResourceExhausted ErrorCode = "resource exhausted" // FailedPrecondition indicates operation was rejected because the system is // not in a state required for the operation's execution. For example, doing // an rmdir operation on a directory that is non-empty, or on a non-directory // object, or when having conflicting read-modify-write on the same resource. ErrFailedPrecondition ErrorCode = "failed precondition" // Aborted indicates the operation was aborted, typically due to a concurrency // issue like sequencer check failures, transaction aborts, etc. ErrAborted ErrorCode = "aborted" // OutOfRange means operation was attempted past the valid range. For example, // seeking or reading past end of a paginated collection. // // Unlike InvalidArgument, this error indicates a problem that may be fixed if // the system state changes (i.e. adding more items to the collection). // // There is a fair bit of overlap between FailedPrecondition and OutOfRange. // We recommend using OutOfRange (the more specific error) when it applies so // that callers who are iterating through a space can easily look for an // OutOfRange error to detect when they are done. ErrOutOfRange ErrorCode = "out of range" // Unimplemented indicates operation is not implemented or not // supported/enabled in this service. ErrUnimplemented ErrorCode = "unimplemented" // Internal errors. When some invariants expected by the underlying system // have been broken. In other words, something bad happened in the library or // backend service. Do not confuse with HTTP Internal Server Error; an // Internal error could also happen on the client code, i.e. when parsing a // server response. ErrInternal ErrorCode = "internal" // likely a transient condition and may be corrected by retrying with a // backoff. ErrUnavailable ErrorCode = "unavailable" // DataLoss indicates unrecoverable data loss or corruption. ErrDataLoss ErrorCode = "data loss" // ErrNone is the zero-value, is considered an empty error and should not be // used. ErrNone ErrorCode = "" )
type ErrorPayload ¶
type EtherBalance ¶
type EventLog ¶
type EventLog struct {
ID uint64 `json:"id" db:"id,omitempty"`
Type EventLogType `json:"type" db:"type"`
BlockNumber uint64 `json:"blockNumber" db:"block_num"`
BlockHash prototyp.Hash `json:"blockHash" db:"block_hash"`
ContractAddress prototyp.Hash `json:"contractAddress" db:"contract_address"`
ContractType ContractType `json:"contractType" db:"contract_type"`
TxnHash prototyp.Hash `json:"txnHash" db:"txn_hash"`
TxnIndex uint `json:"txnIndex" db:"txn_index"`
TxnLogIndex uint `json:"txnLogIndex" db:"txn_log_index"`
LogDataType EventLogDataType `json:"logDataType" db:"log_data_type"`
TS time.Time `json:"ts" db:"ts"`
LogData string `json:"logData" db:"log_data"`
}
type EventLogDataType ¶
type EventLogDataType uint8
const ( EventLogDataType_UNKNOWN EventLogDataType = 0 EventLogDataType_TOKEN_TRANSFER EventLogDataType = 1 EventLogDataType_SEQUENCE_TXN EventLogDataType = 2 )
func (EventLogDataType) MarshalJSON ¶
func (x EventLogDataType) MarshalJSON() ([]byte, error)
func (EventLogDataType) String ¶
func (x EventLogDataType) String() string
func (*EventLogDataType) UnmarshalJSON ¶
func (x *EventLogDataType) UnmarshalJSON(b []byte) error
type EventLogType ¶
type EventLogType uint8
const ( EventLogType_UNKNOWN EventLogType = 0 EventLogType_BLOCK_ADDED EventLogType = 1 EventLogType_BLOCK_REMOVED EventLogType = 2 )
func (EventLogType) MarshalJSON ¶
func (x EventLogType) MarshalJSON() ([]byte, error)
func (EventLogType) String ¶
func (x EventLogType) String() string
func (*EventLogType) UnmarshalJSON ¶
func (x *EventLogType) UnmarshalJSON(b []byte) error
type HTTPClient ¶
HTTPClient is the interface used by generated clients to send HTTP requests. It is fulfilled by *(net/http).Client, which is sufficient for most users. Users can provide their own implementation for special retry policies.
type IndexState ¶
type Indexer ¶
type Indexer interface {
Ping(ctx context.Context) (bool, error)
Version(ctx context.Context) (*Version, error)
RuntimeStatus(ctx context.Context) (*RuntimeStatus, error)
GetChainID(ctx context.Context) (uint64, error)
GetEtherBalance(ctx context.Context, accountAddress *string) (*EtherBalance, error)
GetTokenBalances(ctx context.Context, accountAddress *string, contractAddress *string, includeMetadata *bool, page *Page) (*Page, []*TokenBalance, error)
GetTokenSupplies(ctx context.Context, contractAddress string, includeMetadata *bool, page *Page) (*Page, *ContractType, []*TokenSupply, error)
GetTokenSuppliesMap(ctx context.Context, tokenMap map[string][]string, includeMetadata *bool) (map[string][]*TokenSupply, error)
GetBalanceUpdates(ctx context.Context, contractAddress string, lastUpdateID uint64, page *Page) (*Page, []*TokenBalance, error)
GetTransactionHistory(ctx context.Context, filter *TransactionHistoryFilter, page *Page, includeMetadata *bool) (*Page, []*Transaction, error)
SyncBalance(ctx context.Context, accountAddress string, contractAddress string, tokenID *string) error
}
func NewIndexerClient ¶
func NewIndexerClient(addr string, client HTTPClient) Indexer
type Page ¶
type Page struct {
Page *uint32 `json:"page,omitempty"`
Column *string `json:"column,omitempty"`
Before *interface{} `json:"before,omitempty"`
After *interface{} `json:"after,omitempty"`
Sort []*SortBy `json:"sort,omitempty"`
PageSize *uint32 `json:"pageSize,omitempty"`
More *bool `json:"more,omitempty"`
}
type RuntimeChecks ¶
type RuntimeStatus ¶
type RuntimeStatus struct {
HealthOK bool `json:"healthOK"`
IndexerEnabled bool `json:"indexerEnabled"`
StartTime time.Time `json:"startTime"`
Uptime uint64 `json:"uptime"`
Ver string `json:"ver"`
Branch string `json:"branch"`
CommitHash string `json:"commitHash"`
ChainID uint64 `json:"chainID"`
Checks *RuntimeChecks `json:"checks"`
}
type SortOrder ¶
type SortOrder uint32
func (SortOrder) MarshalJSON ¶
func (*SortOrder) UnmarshalJSON ¶
type TokenBalance ¶
type TokenBalance struct {
ID uint64 `json:"id,omitempty" db:"id,omitempty"`
Key prototyp.Key `json:"-" db:"key"`
ContractAddress prototyp.Hash `json:"contractAddress" db:"contract_address"`
ContractType ContractType `json:"contractType" db:"contract_type"`
AccountAddress prototyp.HashMaybe `json:"accountAddress,omitempty" db:"account_address,omitempty"`
TokenID prototyp.BigInt `json:"tokenID,omitempty" db:"token_id"`
Balance prototyp.BigInt `json:"balance" db:"balance"`
BlockHash prototyp.Hash `json:"blockHash,omitempty" db:"block_hash"`
BlockNumber uint64 `json:"blockNumber,omitempty" db:"block_num"`
UpdateID uint64 `json:"updateId" db:"update_id"`
ChainID uint64 `json:"chainId" db:"-"`
ContractInfo *ContractInfo `json:"contractInfo,omitempty" db:"-"`
TokenMetadata *TokenMetadata `json:"tokenMetadata,omitempty" db:"-"`
}
type TokenHistory ¶
type TokenHistory struct {
ID uint64 `json:"id" db:"id,omitempty"`
BlockNumber uint64 `json:"blockNumber" db:"block_num"`
BlockHash prototyp.Hash `json:"blockHash" db:"block_hash"`
ContractAddress prototyp.Hash `json:"contractAddress" db:"contract_address"`
ContractType ContractType `json:"contractType" db:"contract_type"`
FromAddress prototyp.Hash `json:"fromAddress" db:"from_address"`
ToAddress prototyp.Hash `json:"toAddress" db:"to_address"`
TxnHash prototyp.Hash `json:"txnHash" db:"txn_hash"`
TxnIndex uint `json:"txnIndex" db:"txn_index"`
TxnLogIndex uint `json:"txnLogIndex" db:"txn_log_index"`
LogData string `json:"logData" db:"log_data"`
TS time.Time `json:"ts" db:"ts"`
}
type TokenMetadata ¶ added in v0.12.6
type TokenMetadata struct {
TokenID string `json:"tokenId"`
ContractAddress prototyp.Hash `json:"contractAddress"`
Name string `json:"name"`
Description string `json:"description"`
Image string `json:"image"`
Decimals uint64 `json:"decimals"`
Properties map[string]interface{} `json:"properties"`
Video string `json:"video,omitempty"`
Audio string `json:"audio,omitempty"`
ImageData string `json:"image_data,omitempty"`
ExternalUrl string `json:"external_url,omitempty"`
BackgroundColor string `json:"background_color,omitempty"`
AnimationUrl string `json:"animation_url,omitempty"`
Attributes []map[string]interface{} `json:"attributes"`
}
type TokenSupply ¶
type TokenSupply struct {
TokenID prototyp.BigInt `json:"tokenID,omitempty" db:"token_id"`
Supply prototyp.BigInt `json:"supply" db:"supply"`
ChainID uint64 `json:"chainId" db:"-"`
ContractInfo *ContractInfo `json:"contractInfo,omitempty" db:"-"`
TokenMetadata *TokenMetadata `json:"tokenMetadata,omitempty" db:"-"`
}
type Transaction ¶
type Transaction struct {
TxnHash prototyp.Hash `json:"txnHash"`
BlockNumber uint64 `json:"blockNumber"`
BlockHash prototyp.Hash `json:"blockHash"`
ChainID uint64 `json:"chainId"`
MetaTxnID *string `json:"metaTxnID"`
Transfers []*TxnTransfer `json:"transfers"`
Timestamp *time.Time `json:"timestamp" db:"ts,omitempty"`
}
type TransactionHistoryFilter ¶
type TransactionHistoryFilter struct {
AccountAddress *string `json:"accountAddress"`
ContractAddress *string `json:"contractAddress"`
AccountAddresses []string `json:"accountAddresses"`
ContractAddresses []string `json:"contractAddresses"`
TransactionHashes []string `json:"transactionHashes"`
MetaTransactionIDs []string `json:"metaTransactionIDs"`
FromBlock *uint64 `json:"fromBlock"`
ToBlock *uint64 `json:"toBlock"`
}
type TxnTransfer ¶
type TxnTransfer struct {
TransferType TxnTransferType `json:"transferType"`
ContractAddress prototyp.Hash `json:"contractAddress"`
ContractType ContractType `json:"contractType"`
From prototyp.Hash `json:"from"`
To prototyp.Hash `json:"to"`
TokenIds []prototyp.BigInt `json:"tokenIds,omitempty"`
Amounts []prototyp.BigInt `json:"amounts"`
LogIndex uint `json:"logIndex"`
ContractInfo *ContractInfo `json:"contractInfo,omitempty"`
TokenMetadata map[string]*TokenMetadata `json:"tokenMetadata,omitempty"`
}
type TxnTransferType ¶
type TxnTransferType uint32
const ( TxnTransferType_UNKNOWN TxnTransferType = 0 TxnTransferType_SEND TxnTransferType = 1 TxnTransferType_RECEIVE TxnTransferType = 2 )
func (TxnTransferType) MarshalJSON ¶
func (x TxnTransferType) MarshalJSON() ([]byte, error)
func (TxnTransferType) String ¶
func (x TxnTransferType) String() string
func (*TxnTransferType) UnmarshalJSON ¶
func (x *TxnTransferType) UnmarshalJSON(b []byte) error
Click to show internal directories.
Click to hide internal directories.