Documentation ¶
Index ¶
- Variables
- type Account
- type AccountDetails
- type Argument
- type BalanceSummary
- type Block
- type BlockWithMeta
- type ClaimedReward
- type Delegation
- type EMFunction
- type EMInternal
- type EMLogs
- type EventTransfer
- type GetAccountBalanceResponse
- type GetAccountDelegationsResponse
- type GetClaimedRewardResponse
- type GetRewardResponse
- type GetUnclaimedRewardResponse
- type HeightAccount
- type HeightHash
- type HeightRange
- type Heights
- type LatestDataRequest
- type LatestDataResponse
- type RewardAPRSummary
- type RewardAmount
- type RewardQuery
- type RewardSummary
- type RewardsPerValidator
- type SearchArr
- type SmartContractDataEVM
- type SubsetEvent
- type SubsetEventError
- type SyncDataRequest
- type SyncDataResponse
- type TimeAccount
- type Transaction
- type TransactionAmount
- type TransactionEvent
- type TransactionEvents
- type TransactionSearch
- type TransactionSearchInternal
- type TransactionWithMeta
- type UnclaimedReward
- type Validator
Constants ¶
This section is empty.
Variables ¶
var (
ErrNotFound = errors.New("record not found")
)
Functions ¶
This section is empty.
Types ¶
type Account ¶
type Account struct { // Unique account identifier ID string `json:"id"` // External optional account details (if applies) Details *AccountDetails `json:"detail,omitempty"` }
Account - Extended Account information
type AccountDetails ¶
type AccountDetails struct { // Description of account Description string `json:"description,omitempty"` // Contact information Contact string `json:"contact,omitempty"` // Name of account Name string `json:"name,omitempty"` // Website address Website string `json:"website,omitempty"` }
AccountDetails External optional account details (if applies)
type BalanceSummary ¶
type BalanceSummary struct { Height uint64 `json:"height"` Time time.Time `json:"time"` Amount []TransactionAmount `json:"balances"` }
type Block ¶
type Block struct { // ID ID uuid.UUID `json:"id,omitempty"` // CreatedAt of block creation time in database CreatedAt *time.Time `json:"created_at,omitempty"` // UpdatedAt of block update time in database UpdatedAt *time.Time `json:"updated_at,omitempty"` // Hash of the Block Hash string `json:"hash,omitempty"` // Height of the Block Height uint64 `json:"height,omitempty"` // Time of the Block Time time.Time `json:"time,omitempty"` Epoch string `json:"epoch,omitempty"` ChainID string `json:"chain_id,omitempty"` NumberOfTransactions uint64 `json:"num_txs,omitempty"` }
Block contains the block details
type BlockWithMeta ¶
type BlockWithMeta struct { // Network name Network string `json:"network,omitempty"` // ChainID ChainID string `json:"chain_id,omitempty"` // Version of block details Version string `json:"version,omitempty"` // Block details Block Block `json:"block,omitempty"` }
BlockWithMeta contains the block deails with metadata
type ClaimedReward ¶
type ClaimedReward struct { // ID UniqueID of reward ID string `json:"id,omitempty"` // Created at CreatedAt *time.Time `json:"created_at,omitempty"` // Updated at UpdatedAt *time.Time `json:"updated_at,omitempty"` // Reward recipient account address Account string `json:"account,omitempty"` // Chain id of reward ChainID string `json:"chain_id,omitempty"` // Validator rewards ClaimedReward []RewardAmount `json:"claimed_reward,omitempty"` // Epoch Epoch string `json:"epoch,omitempty"` // Height from which reward come from Height uint64 `json:"height,omitempty"` // Name of the network Network string `json:"network,omitempty"` // Address of validator Validator string `json:"validator,omitempty"` // Version of reward Version string `json:"version,omitempty"` // Reward time Time time.Time `json:"time,omitempty"` }
type Delegation ¶
type Delegation struct { Delegator string `json:"delegator"` Validator Validator `json:"validator"` Balance RewardAmount `json:"balance"` }
type EMFunction ¶
type EMFunction struct { // Address of the smart contract Address string `json:"address,omitempty"` // Caller account address Caller string `json:"caller,omitempty"` // From account address From string `json:"from,omitempty"` // To account address To string `json:"to,omitempty"` // Transaction value Value big.Int `json:"value,omitempty"` // Undecoded input Input string `json:"input,omitempty"` // Undecoded output Output string `json:"output,omitempty"` // Execution error Error string `json:"error,omitempty"` // Method function Function string `json:"func,omitempty"` // Smart contract method function hash FunctionHash string `json:"funcHash,omitempty"` // Method name Name string `json:"name,omitempty"` // Input details Inputs []Argument `json:"inputs,omitempty"` // Output details Outputs []Argument `json:"outputs,omitempty"` }
EMFunction contains smart contract method details
type EMInternal ¶
type EMInternal struct { *EMFunction Type string `json:"type,omitempty"` Raw []byte `json:"raw,omitempty"` }
type EMLogs ¶
type EMLogs struct { // Address of the smart contract Address string `json:"address,omitempty"` // Event data Data string `json:"data,omitempty"` // Event function Function string `json:"func,omitempty"` // Event name Name string `json:"name,omitempty"` // Event topics Topics []string `json:"topics,omitempty"` // Input details Inputs []Argument `json:"inputs,omitempty"` // Output details Outputs []Argument `json:"outputs,omitempty"` // Raw event Raw []byte `json:"raw,omitempty"` }
EMLogs contains smart contract event details
type EventTransfer ¶
type EventTransfer struct { // Account recipient Account Account `json:"account,omitempty"` // Amounts from Transfer Amounts []TransactionAmount `json:"amounts,omitempty"` }
EventTransfer - Account and Amounts pair
type GetAccountBalanceResponse ¶
type GetAccountBalanceResponse struct { Height uint64 `json:"height"` Balances []TransactionAmount `json:"balances"` }
type GetAccountDelegationsResponse ¶
type GetAccountDelegationsResponse struct { Height uint64 `json:"height"` Delegations []Delegation `json:"delegations"` }
type GetClaimedRewardResponse ¶
type GetClaimedRewardResponse struct { Height uint64 `json:"height"` ClaimedRewards []ClaimedReward `json:"claimed_rewards"` }
type GetRewardResponse ¶
type GetRewardResponse struct { Height uint64 `json:"height"` Rewards RewardsPerValidator `json:"rewards"` }
type GetUnclaimedRewardResponse ¶
type GetUnclaimedRewardResponse struct { Height uint64 `json:"height"` UnclaimedRewards []UnclaimedReward `json:"unclaimed_rewards"` }
type HeightAccount ¶
type HeightHash ¶
type HeightRange ¶
type Heights ¶
type Heights struct { Heights []uint64 `json:"heights"` ErrorAt []uint64 `json:"error_at"` LatestData LatestDataResponse `json:"latest"` NumberOfTx uint64 `json:"num_tx"` NumberOfHeights uint64 `json:"num_heights"` }
type LatestDataRequest ¶
type LatestDataRequest struct { Network string `json:"network"` ChainID string `json:"chain_id"` Version string `json:"version"` TaskID string `json:"task_id"` LastHash string `json:"last_hash"` LastEpoch string `json:"last_epoch"` LastHeight uint64 `json:"last_height"` LastTime time.Time `json:"last_time"` RetryCount uint64 `json:"retry_count"` Nonce []byte `json:"nonce"` SelfCheck bool `json:"self_check"` }
func (*LatestDataRequest) FromMapStringInterface ¶
func (ldr *LatestDataRequest) FromMapStringInterface(m map[string]interface{})
type LatestDataResponse ¶
type RewardAPRSummary ¶
type RewardAPRSummary struct { Height uint64 `json:"start_height"` TimeBucket time.Time `json:"time_bucket"` Apr string `json:"apr"` Bonded RewardAmount `json:"bonded"` TotalRewards RewardAmount `json:"total_rewards"` Validator Validator `json:"validator"` }
type RewardAmount ¶
type RewardAmount struct { // Textual representation of Amount Text string `json:"text,omitempty"` // The currency in what amount is returned (if applies) Currency string `json:"currency,omitempty"` // Numeric part of the amount Numeric *big.Int `json:"numeric,omitempty"` // Exponential part of amount obviously 0 by default Exp int32 `json:"exp,omitempty"` }
RewardAmount structure holding amount information with decimal implementation (numeric * 10 ^ exp)
type RewardQuery ¶
type RewardQuery struct { // Network identifier to search in // // required: true // example: cosmos Network string `json:"network"` // ChainID to search in // // required: true // example: 'cosmoshub-3' ChainID string `json:"chain_id"` // AfterHeight gets all transaction bigger than given height // Has to be bigger than BeforeHeight // // min: 0 AfterHeight uint64 `json:"after_height"` // BeforeHeight gets all transaction lower than given height // Has to be lesser than AfterHeight // // min: 0 BeforeHeight uint64 `json:"before_height"` // Account - the account identifier to look for Account string `json:"account"` // The time of transaction (if not given by chain API, the same as block) AfterTime time.Time `json:"after_time"` // The time of transaction (if not given by chain API, the same as block) BeforeTime time.Time `json:"before_time"` // Limit of how many requests to get in one request // // default: 100 // max: 1000 Limit uint64 `json:"limit"` // Offset the offset number or Offset uint64 `json:"offset"` }
RewardQuery - A set of fields used as params for search swagger:model
type RewardSummary ¶
type RewardsPerValidator ¶
type RewardsPerValidator map[Validator][]RewardAmount
type SmartContractDataEVM ¶
type SmartContractDataEVM struct { // Contract method Input EMFunction `json:"input,omitempty"` // Contract events Output []EMLogs `json:"output,omitempty"` // List of Internal Transactions Internals []EMInternal `json:"internals,omitempty"` }
SmartContractDataEVM contains the smart contract details
type SubsetEvent ¶
type SubsetEvent struct { // ID UniqueID of subsetevent ID string `json:"id,omitempty"` // Type of transaction Type []string `json:"type,omitempty"` Action string `json:"action,omitempty"` // Collection from where transaction came from Module string `json:"module,omitempty"` // List of sender accounts with optional amounts Sender []EventTransfer `json:"sender,omitempty"` // List of recipient accounts with optional amounts Recipient []EventTransfer `json:"recipient,omitempty"` // The list of all accounts that took part in the subsetevent Node map[string][]Account `json:"node,omitempty"` // Transaction nonce Nonce string `json:"nonce,omitempty"` // Completion time Completion *time.Time `json:"completion,omitempty"` // List of Amounts Amount map[string]TransactionAmount `json:"amount,omitempty"` // List of Transfers with amounts and optional recipients Transfers map[string][]EventTransfer `json:"transfers,omitempty"` // Optional error if occurred Error *SubsetEventError `json:"error,omitempty"` // Set of additional parameters attached to transaction (used as last resort) Additional map[string][]string `json:"additional,omitempty"` // SubEvents because some messages are in fact carying another messages inside Sub []SubsetEvent `json:"sub,omitempty"` // List of smart contracts details SmartContracts []SmartContractDataEVM `json:"smart_contracts,omitempty"` }
SubsetEvent - structure storing main contents of transacion
type SubsetEventError ¶
type SubsetEventError struct { // Message from error event Message string `json:"message,omitempty"` }
SubsetEventError error structure for event
type SyncDataRequest ¶
type SyncDataRequest struct { Network string `json:"network"` ChainID string `json:"chain_id"` Version string `json:"version"` TaskID string `json:"task_id"` LastHeight uint64 `json:"last_height"` FinalHeight uint64 `json:"final_height"` LastHash string `json:"last_hash"` LastEpoch string `json:"last_epoch"` LastTime time.Time `json:"last_time"` RetryCount uint64 `json:"retry_count"` Nonce []byte `json:"nonce"` SelfCheck bool `json:"selfCheck"` }
func (*SyncDataRequest) FromMapStringInterface ¶
func (sdr *SyncDataRequest) FromMapStringInterface(m map[string]interface{})
type SyncDataResponse ¶
type SyncDataResponse struct { LastHash string `json:"last_hash"` LastHeight uint64 `json:"last_height"` LastTime time.Time `json:"last_time"` LastEpoch string `json:"last_epoch"` RetryCount uint64 `json:"retry_count"` Nonce []byte `json:"nonce"` Error []byte `json:"error"` Processing bool `json:"processing"` }
type TimeAccount ¶ added in v0.7.1
type Transaction ¶
type Transaction struct { // ID of transaction assigned on database write ID uuid.UUID `json:"id,omitempty"` // Created at CreatedAt *time.Time `json:"created_at,omitempty"` // Updated at UpdatedAt *time.Time `json:"updated_at,omitempty"` // Hash of the transaction Hash string `json:"hash,omitempty"` // BlockHash - hash of the block of transaction BlockHash string `json:"block_hash,omitempty"` // Height - height of the block of transaction Height uint64 `json:"height,omitempty"` Epoch string `json:"epoch,omitempty"` // ChainID - chain id of transacion ChainID string `json:"chain_id,omitempty"` // Time - time of transaction Time time.Time `json:"time,omitempty"` // Fee - Fees for transaction (if applies) Fee []TransactionAmount `json:"transaction_fee,omitempty"` // GasWanted GasWanted uint64 `json:"gas_wanted,omitempty"` // GasUsed GasUsed uint64 `json:"gas_used,omitempty"` // Memo - the description attached to transactions Memo string `json:"memo,omitempty"` // Version - Version of transaction record Version string `json:"version"` // Events - Transaction contents Events TransactionEvents `json:"events,omitempty"` // Raw - Raw transaction bytes Raw []byte `json:"raw,omitempty"` // RawLog - RawLog transaction's log bytes RawLog []byte `json:"raw_log,omitempty"` // HasErrors - indicates if Transaction has any errors inside HasErrors bool `json:"has_errors"` }
Transaction contains the blockchain transaction details
type TransactionAmount ¶
type TransactionAmount struct { // Textual representation of Amount Text string `json:"text,omitempty"` // The currency in what amount is returned (if applies) Currency string `json:"currency,omitempty"` // Numeric part of the amount Numeric *big.Int `json:"numeric,omitempty"` // Exponential part of amount obviously 0 by default Exp int32 `json:"exp,omitempty"` }
TransactionAmount structure holding amount information with decimal implementation (numeric * 10 ^ exp)
func Add ¶
func Add(t, o TransactionAmount) (TransactionAmount, error)
func Clone ¶
func Clone(t TransactionAmount) TransactionAmount
func Div ¶
func Div(t, o TransactionAmount) (TransactionAmount, error)
func Sub ¶
func Sub(t, o TransactionAmount) (TransactionAmount, error)
func (*TransactionAmount) GetFloat ¶
func (t *TransactionAmount) GetFloat() *big.Float
type TransactionEvent ¶
type TransactionEvent struct { // ID UniqueID of event ID string `json:"id,omitempty"` // The Kind of event Kind string `json:"kind,omitempty"` // Type of transaction Type []string `json:"type,omitempty"` // Collection from where transaction came from Module string `json:"module,omitempty"` // List of sender accounts with optional amounts // Subcontents of event Sub []SubsetEvent `json:"sub,omitempty"` }
TransactionEvent part of transaction contents
type TransactionEvents ¶
type TransactionEvents []TransactionEvent
TransactionEvents - a set of TransactionEvent
func (*TransactionEvents) Scan ¶
func (te *TransactionEvents) Scan(value interface{}) error
type TransactionSearch ¶
type TransactionSearch struct { Network string `json:"network"` ChainIDs []string `json:"chain_ids"` Epoch string `json:"epoch"` Height uint64 `json:"height"` Type []string `json:"type"` BlockHash string `json:"block_hash"` Hash string `json:"hash"` Account []string `json:"account"` Sender []string `json:"sender"` Receiver []string `json:"receiver"` Memo string `json:"memo"` BeforeTime time.Time `json:"before_time"` AfterTime time.Time `json:"after_time"` Limit uint64 `json:"limit"` Offset uint64 `json:"offset"` AfterHeight uint64 `form:"after_id"` BeforeHeight uint64 `form:"before_id"` WithRaw bool `json:"with_raw"` WithRawLog bool `json:"with_raw_log"` }
type TransactionSearchInternal ¶
type TransactionSearchInternal struct { Height uint64 `json:"height"` Type SearchArr `json:"type"` BlockHash string `json:"block_hash"` Hash string `json:"hash"` Account []string `json:"account"` Sender []string `json:"sender"` Receiver []string `json:"receiver"` Memo string `json:"memo"` AfterTime time.Time `json:"before_time"` BeforeTime time.Time `json:"after_time"` AfterHeight uint64 `json:"after_height"` BeforeHeight uint64 `json:"before_height"` Limit uint64 `json:"limit"` Offset uint64 `json:"offset"` Network string `json:"network"` ChainIDs []string `json:"chain_ids"` Epoch string `json:"epoch"` WithRaw bool `json:"with_raw"` WithRawLog bool `json:"with_raw_log"` HasErrors bool `json:"has_errors"` }
type TransactionWithMeta ¶
type TransactionWithMeta struct { Network string `json:"network,omitempty"` Version string `json:"version,omitempty"` ChainID string `json:"chain_id,omitempty"` Transaction Transaction `json:"transaction,omitempty"` }
type UnclaimedReward ¶
type UnclaimedReward struct { // ID UniqueID of reward ID string `json:"id,omitempty"` // Created at CreatedAt *time.Time `json:"created_at,omitempty"` // Updated at UpdatedAt *time.Time `json:"updated_at,omitempty"` // Reward recipient account address Account string `json:"account,omitempty"` // Chain id of reward ChainID string `json:"chain_id,omitempty"` // Epoch Epoch string `json:"epoch,omitempty"` // Height from which reward come from Height uint64 `json:"height,omitempty"` // Name of the network Network string `json:"network,omitempty"` // Validator rewards UnclaimedReward []RewardAmount `json:"unclaimed_reward,omitempty"` // Address of validator Validator string `json:"validator,omitempty"` // Version of reward Version string `json:"version,omitempty"` // Reward time Time time.Time `json:"time,omitempty"` }