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.