Documentation
¶
Index ¶
- Constants
- Variables
- type Action
- type ActionWithTx
- type Address
- type AddressAction
- type AddressActionsFilter
- type AddressListFilter
- type App
- type AppStats
- type AppWithStats
- type Asset
- type Balance
- type BalanceUpdate
- type Block
- type BlockSignature
- type BlockStats
- type Bridge
- type Candle
- type Constant
- type Deposit
- type Fee
- type FeeSummary
- type IAction
- type IAddress
- type IApp
- type IAsset
- type IBalance
- type IBalanceUpdate
- type IBlock
- type IBlockSignature
- type IBlockStats
- type IBridge
- type IConstant
- type IDeposit
- type IFee
- type IPrice
- type IRollup
- type ISearch
- type IState
- type IStats
- type ITransfer
- type ITx
- type IValidator
- type LeaderboardFilters
- type Listener
- type ListenerFactory
- type NetworkSummary
- type NetworkSummaryWithChange
- type Notificator
- type Price
- type Rollup
- type RollupAction
- type RollupAddress
- type RollupAndBridgeActionsFilter
- type RollupListFilter
- type RollupSummary
- type SearchResult
- type SeriesItem
- type SeriesRequest
- type State
- type TPS
- type Timeframe
- type TokenTransferDistributionItem
- type Transaction
- type Transfer
- type Tx
- type TxCountForLast24hItem
- type TxFilter
- type Validator
Constants ¶
View Source
const ( ChannelBlock = "blocks" ChannelHead = "head" ChannelTx = "tx" ChannelConstant = "constant" )
View Source
const ( SeriesDataSize = "data_size" SeriesTPS = "tps" SeriesBPS = "bps" SeriesRBPS = "rbps" SeriesFee = "fee" SeriesSupplyChange = "supply_change" SeriesBlockTime = "block_time" SeriesTxCount = "tx_count" SeriesBytesInBlock = "bytes_in_block" RollupSeriesActionsCount = "actions_count" RollupSeriesSize = "size" RollupSeriesAvgSize = "avg_size" RollupSeriesMinSize = "min_size" RollupSeriesMaxSize = "max_size" )
View Source
const ( ViewBlockStatsByHour = "block_stats_by_hour" ViewBlockStatsByDay = "block_stats_by_day" ViewBlockStatsByMonth = "block_stats_by_month" ViewRollupStatsByHour = "rollup_stats_by_hour" ViewRollupStatsByDay = "rollup_stats_by_day" ViewRollupStatsByMonth = "rollup_stats_by_month" ViewFeeStatsByHour = "fee_stats_by_hour" ViewFeeStatsByDay = "fee_stats_by_day" ViewFeeStatsByMonth = "fee_stats_by_month" ViewTransferStatsByHour = "transfer_stats_by_hour" ViewTransferStatsByDay = "transfer_stats_by_day" ViewTransferStatsByMonth = "transfer_stats_by_month" ViewLeaderboard = "leaderboard" ViewPriceByHour = "price_by_hour" ViewPriceByDay = "price_by_day" )
Variables ¶
View Source
var (
ErrValidation = errors.New("validation error")
)
View Source
var Models = []any{ &State{}, &Constant{}, &Balance{}, &BalanceUpdate{}, &Address{}, &Block{}, &BlockStats{}, &Tx{}, &Action{}, &Validator{}, &Rollup{}, &RollupAction{}, &RollupAddress{}, &AddressAction{}, &BlockSignature{}, &Bridge{}, &Fee{}, &Transfer{}, &Deposit{}, &App{}, &Price{}, }
Functions ¶
This section is empty.
Types ¶
type Action ¶
type Action struct {
bun.BaseModel `bun:"action" comment:"Table with actions"`
Id uint64 `bun:"id,pk,notnull,autoincrement" comment:"Unique internal id"`
Height pkgTypes.Level `bun:",notnull" comment:"The number (height) of this block"`
Time time.Time `bun:"time,pk,notnull" comment:"The time of block"`
Position int64 `bun:"position" comment:"Position in transaction"`
Type types.ActionType `bun:",type:action_type" comment:"Action type"`
TxId uint64 `bun:"tx_id" comment:"Parent transaction id"`
Data map[string]any `bun:"data,type:jsonb" comment:"Action data"`
// Rollup *Rollup `bun:"-"`
Addresses []*AddressAction `bun:"-"`
BalanceUpdates []BalanceUpdate `bun:"-"`
RollupAction *RollupAction `bun:"-"`
Fee *Fee `bun:"rel:has-one,join:id=action_id"`
Deposit *Deposit `bun:"rel:has-one,join:id=action_id"`
}
Action -
type ActionWithTx ¶
type Address ¶
type Address struct {
bun.BaseModel `bun:"address" comment:"Table with addresses."`
Id uint64 `bun:"id,pk,notnull,autoincrement" comment:"Unique internal identity"`
Height types.Level `bun:"height" comment:"Block number of the first address occurrence."`
Hash string `bun:"hash,unique:address_hash" comment:"Address hash"`
Nonce uint32 `bun:"nonce" comment:"Nonce"`
ActionsCount int64 `bun:"actions_count" comment:"Count of actions in which the address was involved"`
SignedTxCount int64 `bun:"signed_tx_count" comment:"Count of signed transactions"`
IsBridge bool `bun:"is_bridge" comment:"Indicate whether the account is a bridge or not"`
IsIbcRelayer *bool `bun:"is_ibc_relayer,default:false" comment:"Indicate whether the account is a IBC realyer or not"`
Balance []*Balance `bun:"rel:has-many,join:id=id"`
}
Address -
type AddressAction ¶
type AddressAction struct {
bun.BaseModel `bun:"address_action" comment:"Table with address actions"`
AddressId uint64 `bun:"address_id,pk" comment:"Address internal id"`
ActionId uint64 `bun:"action_id,pk" comment:"Action internal id"`
TxId uint64 `bun:"tx_id" comment:"Tx internal id"`
ActionType types.ActionType `bun:"action_type,type:action_type" comment:"Action type"`
Time time.Time `bun:"time,notnull,pk" comment:"Action time"`
Height pkgTypes.Level `bun:"height" comment:"Action block height"`
Address *Address `bun:"rel:belongs-to,join:address_id=id"`
Action *Action `bun:"rel:belongs-to,join:action_id=id"`
Tx *Tx `bun:"rel:belongs-to,join:tx_id=id"`
}
func (AddressAction) TableName ¶
func (AddressAction) TableName() string
type AddressActionsFilter ¶
type AddressListFilter ¶
type App ¶ added in v1.2.0
type App struct {
bun.BaseModel `bun:"app" comment:"Table with applications."`
Id uint64 `bun:"id,pk,notnull,autoincrement" comment:"Unique internal identity"`
Group string `bun:"group" comment:"Application group"`
Name string `bun:"name" comment:"Application name"`
Slug string `bun:"slug,unique:app_slug" comment:"Application slug"`
Github string `bun:"github" comment:"Application github link"`
Twitter string `bun:"twitter" comment:"Application twitter account link"`
Website string `bun:"website" comment:"Application website link"`
Logo string `bun:"logo" comment:"Application logo link"`
Description string `bun:"description" comment:"Application description"`
Explorer string `bun:"explorer" comment:"Application explorer link"`
L2Beat string `bun:"l2beat" comment:"Link to L2Beat"`
Links []string `bun:"links,array" comment:"Additional links"`
Stack string `bun:"stack" comment:"Using stack"`
VM string `bun:"vm" comment:"Virtual machine"`
Provider string `bun:"provider" comment:"RaaS"`
Type types.AppType `bun:"type,type:app_type" comment:"Type of application: settled or sovereign"`
Category types.AppCategory `bun:"category,type:app_category" comment:"Category of applications"`
RollupId uint64 `bun:"rollup_id,notnull,unique:app_rollup_id" comment:"Rollup internal identity"`
NativeBridgeId uint64 `bun:"native_bridge_id" comment:"Native bridge internal id"`
Bridge *Address `bun:"rel:belongs-to"`
Rollup *Rollup `bun:"rel:belongs-to"`
}
type AppWithStats ¶ added in v1.2.0
type Balance ¶
type Balance struct {
bun.BaseModel `bun:"balance" comment:"Table with account balances"`
Id uint64 `bun:"id,pk,notnull,autoincrement" comment:"Unique internal identity"`
Currency string `bun:"currency,pk,notnull" comment:"Balance currency"`
Total decimal.Decimal `bun:"total,type:numeric" comment:"Total account balance"`
}
func EmptyBalance ¶
func EmptyBalance() Balance
type BalanceUpdate ¶
type BalanceUpdate struct {
bun.BaseModel `bun:"balance_update" comment:"Table with account balance updates"`
Id uint64 `bun:"id,pk,notnull,autoincrement" comment:"Unique internal identity"`
Height pkgTypes.Level `bun:",notnull" comment:"The number (height) of this block"`
AddressId uint64 `bun:"address_id" comment:"Address internal identity"`
Update decimal.Decimal `bun:"update,type:numeric" comment:"Balance update"`
Currency string `bun:"currency" comment:"Currency"`
Address *Address `bun:"rel:belongs-to"`
}
func (BalanceUpdate) TableName ¶
func (BalanceUpdate) TableName() string
type Block ¶
type Block struct {
bun.BaseModel `bun:"table:block" comment:"Table with blocks"`
Id uint64 `bun:",pk,notnull,autoincrement" comment:"Unique internal identity"`
Height pkgTypes.Level `bun:"height" comment:"The number (height) of this block"`
Time time.Time `bun:"time,pk,notnull" comment:"The time of block"`
VersionBlock uint64 `bun:"version_block" comment:"Block version"`
VersionApp uint64 `bun:"version_app" comment:"App version"`
Hash pkgTypes.Hex `bun:"hash" comment:"Block hash"`
ParentHash pkgTypes.Hex `bun:"parent_hash" comment:"Hash of parent block"`
LastCommitHash pkgTypes.Hex `bun:"last_commit_hash" comment:"Last commit hash"`
DataHash pkgTypes.Hex `bun:"data_hash" comment:"Data hash"`
ValidatorsHash pkgTypes.Hex `bun:"validators_hash" comment:"Validators hash"`
NextValidatorsHash pkgTypes.Hex `bun:"next_validators_hash" comment:"Next validators hash"`
ConsensusHash pkgTypes.Hex `bun:"consensus_hash" comment:"Consensus hash"`
AppHash pkgTypes.Hex `bun:"app_hash" comment:"App hash"`
LastResultsHash pkgTypes.Hex `bun:"last_results_hash" comment:"Last results hash"`
EvidenceHash pkgTypes.Hex `bun:"evidence_hash" comment:"Evidence hash"`
ProposerId uint64 `bun:"proposer_id,nullzero" comment:"Proposer internal id"`
ActionTypes types.Bits `bun:"action_types" comment:"Bit mask for action types contained in block"`
ChainId string `bun:"-"` // internal field for filling state
ProposerAddress string `bun:"-"` // internal field for proposer
Addresses map[string]*Address `bun:"-"` // internal field for saving address
Rollups map[string]*Rollup `bun:"-"` // internal field for saving rollups
RollupAddress map[string]*RollupAddress `bun:"-"` // internal field for saving rollup address
Validators map[string]*Validator `bun:"-"` // internal field for updating validators
BlockSignatures []BlockSignature `bun:"-"` // internal field for saving block signatures
Constants []*Constant `bun:"-"` // internal field for updating constants
Bridges []*Bridge `bun:"-"` // internal field for saving bridges
Transfers []*Transfer `bun:"-"` // internal field for saving transfers
Txs []*Tx `bun:"rel:has-many"`
Stats *BlockStats `bun:"rel:has-one,join:height=height"`
Proposer *Validator `bun:"rel:belongs-to"`
Prices []Price `bun:"rel:has-many,join:time=time"`
}
Block -
type BlockSignature ¶
type BlockSignature struct {
bun.BaseModel `bun:"block_signature" comment:"Table with block signatures"`
Id uint64 `bun:"id,pk,notnull,autoincrement" comment:"Unique internal id"`
Height pkgTypes.Level `bun:",notnull" comment:"The number (height) of this block"`
Time time.Time `bun:"time,pk,notnull" comment:"The time of block"`
ValidatorId uint64 `bun:"validator_id" comment:"Validator's internal identity"`
Validator *Validator `bun:"rel:belongs-to"`
}
func (BlockSignature) TableName ¶
func (BlockSignature) TableName() string
type BlockStats ¶
type BlockStats struct {
bun.BaseModel `bun:"table:block_stats" comment:"Table with block stats"`
Id uint64 `bun:",pk,notnull,autoincrement" comment:"Unique internal identity"`
Height pkgTypes.Level `bun:"height" comment:"The number (height) of this block"`
Time time.Time `bun:"time,pk,notnull" comment:"The time of block"`
TxCount int64 `bun:"tx_count" comment:"Count of transactions in block"`
BlockTime uint64 `bun:"block_time" comment:"Time in milliseconds between current and previous block"`
SupplyChange decimal.Decimal `bun:",type:numeric" comment:"Change of total supply in the block"`
Fee decimal.Decimal `bun:"fee,type:numeric" comment:"Summary block fee"`
BytesInBlock int64 `bun:"bytes_in_block" comment:"Size of all transactions in bytes"`
DataSize int64 `bun:"data_size" comment:"Size of all rollup data in block"`
}
func (BlockStats) TableName ¶
func (BlockStats) TableName() string
type Bridge ¶
type Bridge struct {
bun.BaseModel `bun:"table:bridge" comment:"Table with bridges"`
Id uint64 `bun:"id,pk,notnull,autoincrement" comment:"Unique internal identity"`
RollupId uint64 `bun:"rollup_id" comment:"Rollup id"`
AddressId uint64 `bun:"address_id,unique:bridge_address_id" comment:"Address id"`
Asset string `bun:"asset" comment:"Asset"`
FeeAsset string `bun:"fee_asset" comment:"Fee asset"`
SudoId uint64 `bun:"sudo_id" comment:"Address which is authorized to change the bridge"`
WithdrawerId uint64 `bun:"withdrawer_id" comment:"Address which is used to make withdrawals from the bridge account"`
InitHeight pkgTypes.Level `bun:"init_height" comment:"Height when bridge was initialized"`
Rollup *Rollup `bun:"rel:has-one,join:rollup_id=id"`
Address *Address `bun:"rel:has-one,join:address_id=id"`
Sudo *Address `bun:"rel:has-one,join:sudo_id=id"`
Withdrawer *Address `bun:"rel:has-one,join:withdrawer_id=id"`
}
type Constant ¶
type Constant struct {
bun.BaseModel `bun:"table:constant" comment:"Table with constants"`
Module types.ModuleName `bun:"module,pk,type:module_name" comment:"Module name which declares constant" json:"module"`
Name string `bun:"name,pk,type:text" comment:"Constant name" json:"name"`
Value string `bun:"value,type:text" comment:"Constant value" json:"value"`
}
type Deposit ¶ added in v1.1.0
type Deposit struct {
bun.BaseModel `bun:"deposit" comment:"Table with deposits"`
Id uint64 `bun:"id,pk,notnull,autoincrement" comment:"Unique internal id"`
Height pkgTypes.Level `bun:",notnull" comment:"The number (height) of this block"`
Time time.Time `bun:"time,pk,notnull" comment:"The time of block"`
BridgeId uint64 `bun:"bridge_id" comment:"Bridge id"`
RollupId uint64 `bun:"rollup_id" comment:"Rollup id"`
Asset string `bun:"asset" comment:"Deposit asset"`
Amount decimal.Decimal `bun:"amount,type:numeric" comment:"Deposit amount"`
DestinationChainAddress string `bun:"destination_chain_address" comment:"Destination chain address"`
ActionId uint64 `bun:"action_id" comment:"Internal action id"`
TxId uint64 `bun:"tx_id" comment:"Internal transaction id"`
Bridge *Bridge `bun:"rel:belongs-to"`
Rollup *Rollup `bun:"rel:belongs-to"`
Action *Action `bun:"rel:belongs-to"`
Tx *Tx `bun:"rel:belongs-to"`
}
type Fee ¶
type Fee struct {
bun.BaseModel `bun:"table:fee" comment:"Table with fees"`
Id uint64 `bun:"id,pk,notnull,autoincrement" comment:"Unique internal identity"`
Height pkgTypes.Level `bun:"height,notnull" comment:"The number (height) of this block"`
Time time.Time `bun:"time,pk,notnull" comment:"The time of block"`
Asset string `bun:"asset" comment:"Fee asset"`
Amount decimal.Decimal `bun:"amount,type:numeric" comment:"Fee amount"`
ActionId uint64 `bun:"action_id" comment:"Connected action id"`
TxId uint64 `bun:"tx_id" comment:"Connected transaction id"`
PayerId uint64 `bun:"payer_id" comment:"Who paid fee"`
ActionType string `bun:"-"`
Payer *Address `bun:"rel:belongs-to"`
Tx *Tx `bun:"rel:belongs-to"`
}
type FeeSummary ¶ added in v1.1.0
type IAction ¶
type IAction interface {
storage.Table[*Action]
ByTxId(ctx context.Context, txId uint64, limit, offset int) ([]Action, error)
ByBlock(ctx context.Context, height pkgTypes.Level, limit, offset int) ([]ActionWithTx, error)
ByAddress(ctx context.Context, addressId uint64, filters AddressActionsFilter) ([]AddressAction, error)
ByRollup(ctx context.Context, rollupId uint64, limit, offset int, sort storage.SortOrder) ([]RollupAction, error)
ByRollupAndBridge(ctx context.Context, rollupId uint64, fltrs RollupAndBridgeActionsFilter) ([]ActionWithTx, error)
}
type IApp ¶ added in v1.2.0
type IApp interface {
storage.Table[*App]
Leaderboard(ctx context.Context, fltrs LeaderboardFilters) ([]AppWithStats, error)
BySlug(ctx context.Context, slug string) (AppWithStats, error)
ByRollupId(ctx context.Context, rollupId uint64) (AppWithStats, error)
}
type IBalanceUpdate ¶
type IBalanceUpdate interface {
storage.Table[*BalanceUpdate]
}
type IBlock ¶
type IBlock interface {
storage.Table[*Block]
Last(ctx context.Context) (Block, error)
ByHeight(ctx context.Context, height pkgTypes.Level, withStats bool) (Block, error)
ByHash(ctx context.Context, hash []byte) (Block, error)
ByProposer(ctx context.Context, proposerId uint64, limit, offset int, order storage.SortOrder) ([]Block, error)
ListWithStats(ctx context.Context, limit, offset uint64, order storage.SortOrder) ([]*Block, error)
ByIdWithRelations(ctx context.Context, id uint64) (Block, error)
}
type IBlockSignature ¶
type IBlockStats ¶
type IBridge ¶
type IBridge interface {
storage.Table[*Bridge]
ByAddress(ctx context.Context, addressId uint64) (Bridge, error)
ByRollup(ctx context.Context, rollupId uint64, limit, offset int) ([]Bridge, error)
ByRoles(ctx context.Context, addressId uint64, limit, offset int) ([]Bridge, error)
ListWithAddress(ctx context.Context, limit, offset int) ([]Bridge, error)
ById(ctx context.Context, id uint64) (Bridge, error)
}
type IRollup ¶
type IRollup interface {
sdk.Table[*Rollup]
ActionsByHeight(ctx context.Context, height types.Level, limit, offset int) ([]RollupAction, error)
CountActionsByHeight(ctx context.Context, height types.Level) (int64, error)
ActionsByTxId(ctx context.Context, txId uint64, limit, offset int) ([]RollupAction, error)
CountActionsByTxId(ctx context.Context, txId uint64) (int64, error)
ByHash(ctx context.Context, hash []byte) (Rollup, error)
Addresses(ctx context.Context, rollupId uint64, limit, offset int, sort sdk.SortOrder) ([]RollupAddress, error)
ListRollupsByAddress(ctx context.Context, addressId uint64, limit, offset int, sort sdk.SortOrder) ([]RollupAddress, error)
ListExt(ctx context.Context, fltrs RollupListFilter) ([]Rollup, error)
}
type ISearch ¶
type ISearch interface {
Search(ctx context.Context, query string) ([]SearchResult, error)
}
type IStats ¶
type IStats interface {
Summary(ctx context.Context) (NetworkSummary, error)
SummaryTimeframe(ctx context.Context, timeframe Timeframe) (NetworkSummaryWithChange, error)
Series(ctx context.Context, timeframe Timeframe, name string, req SeriesRequest) ([]SeriesItem, error)
RollupSeries(ctx context.Context, rollupId uint64, timeframe Timeframe, name string, req SeriesRequest) ([]SeriesItem, error)
FeeSummary(ctx context.Context) ([]FeeSummary, error)
TokenTransferDistribution(ctx context.Context, limit int) ([]TokenTransferDistributionItem, error)
ActiveAddressesCount(ctx context.Context) (int64, error)
}
type ITx ¶
type ITx interface {
storage.Table[*Tx]
ByHash(ctx context.Context, hash []byte) (Tx, error)
ByHeight(ctx context.Context, height pkgTypes.Level, limit, offset int) ([]Tx, error)
ByAddress(ctx context.Context, addressId uint64, fltrs TxFilter) ([]Tx, error)
Filter(ctx context.Context, fltrs TxFilter) ([]Tx, error)
}
type IValidator ¶
type LeaderboardFilters ¶ added in v1.2.0
type ListenerFactory ¶
type ListenerFactory interface {
CreateListener() Listener
}
type NetworkSummary ¶
type NetworkSummary struct {
DataSize int64 `bun:"data_size"`
TPS float64 `bun:"tps"`
BPS float64 `bun:"bps"`
RBPS float64 `bun:"rbps"`
Fee decimal.Decimal `bun:"fee"`
Supply decimal.Decimal `bun:"supply"`
BlockTime float64 `bun:"block_time"`
TxCount int64 `bun:"tx_count"`
BytesInBlock int64 `bun:"bytes_in_block"`
}
type NetworkSummaryWithChange ¶
type NetworkSummaryWithChange struct {
DataSize int64 `bun:"data_size"`
DataSizePct float64 `bun:"data_size_pct"`
TPS float64 `bun:"tps"`
TPSPct float64 `bun:"tps_pct"`
BPS float64 `bun:"bps"`
BPSPct float64 `bun:"bps_pct"`
RBPS float64 `bun:"rbps"`
RBPSPct float64 `bun:"rbps_pct"`
BlockTime float64 `bun:"block_time"`
BlockTimePct float64 `bun:"block_time_pct"`
TxCount int64 `bun:"tx_count"`
TxCountPct float64 `bun:"tx_count_pct"`
BytesInBlock int64 `bun:"bytes_in_block"`
BytesInBlockPct float64 `bun:"bytes_in_block_pct"`
}
type Notificator ¶
type Price ¶ added in v1.4.0
type Price struct {
bun.BaseModel `bun:"price" comment:"Table with currency prices"`
CurrencyPair string `bun:"currency_pair,pk,notnull" comment:"Currency pair"`
Time time.Time `bun:"time,pk,notnull" comment:"The time of price event"`
Price decimal.Decimal `bun:"price,type:numeric" comment:"Price of the asset"`
}
type Rollup ¶
type Rollup struct {
bun.BaseModel `bun:"rollup" comment:"Table with rollups"`
Id uint64 `bun:"id,pk,notnull,autoincrement" comment:"Unique internal identity"`
AstriaId []byte `bun:"astria_id,unique:rollup_id" comment:"Astria rollup identity"`
FirstHeight types.Level `bun:"first_height" comment:"Block number of the first rollup occurrence"`
ActionsCount int64 `bun:"actions_count" comment:"Count of actions in which the rollup was involved"`
BridgeCount int64 `bun:"bridge_count" comment:"Count of connected bridges"`
Size int64 `bun:"size" comment:"Count bytes which was saved in the rollup"`
}
type RollupAction ¶
type RollupAction struct {
bun.BaseModel `bun:"rollup_action" comment:"Table with rollup actions"`
RollupId uint64 `bun:"rollup_id,pk" comment:"Rollup internal id"`
ActionId uint64 `bun:"action_id,pk" comment:"Action internal id"`
Time time.Time `bun:"time,notnull,pk" comment:"Action time"`
ActionType types.ActionType `bun:"action_type,type:action_type" comment:"Action type"`
Height pkgTypes.Level `bun:"height" comment:"Action block height"`
TxId uint64 `bun:"tx_id" comment:"Transaction internal id"`
Size int64 `bun:"size" comment:"Count bytes which was pushed to the rollup"`
Action *Action `bun:"rel:belongs-to,join:action_id=id"`
Rollup *Rollup `bun:"rel:belongs-to,join:rollup_id=id"`
Tx *Tx `bun:"rel:belongs-to,join:tx_id=id"`
}
func (RollupAction) TableName ¶
func (RollupAction) TableName() string
type RollupAddress ¶
type RollupAddress struct {
bun.BaseModel `bun:"rollup_address" comment:"Table with rollup addresses"`
RollupId uint64 `bun:"rollup_id,pk" comment:"Rollup internal id"`
AddressId uint64 `bun:"address_id,pk" comment:"Address internal id"`
Height types.Level `bun:"height" comment:"Block height of the first sequence action"`
Address *Address `bun:"rel:belongs-to,join:address_id=id"`
Rollup *Rollup `bun:"rel:belongs-to,join:rollup_id=id"`
}
func (RollupAddress) String ¶
func (r RollupAddress) String() string
func (RollupAddress) TableName ¶
func (RollupAddress) TableName() string
type RollupListFilter ¶
type RollupSummary ¶
type SearchResult ¶
type SeriesItem ¶
type SeriesRequest ¶
func NewSeriesRequest ¶
func NewSeriesRequest(from, to int64) (sr SeriesRequest)
type State ¶
type State struct {
bun.BaseModel `bun:"state" comment:"Current indexer state"`
Id uint64 `bun:",pk,autoincrement" comment:"Unique internal identity" json:"id"`
Name string `bun:",unique:state_name" comment:"Indexer name" json:"name"`
LastHeight types.Level `bun:"last_height" comment:"Last block height" json:"height"`
LastHash []byte `bun:"last_hash" comment:"Last block hash" json:"hash"`
LastTime time.Time `bun:"last_time" comment:"Time of last block" json:"time"`
ChainId string `bun:"chain_id" comment:"Astria chain id" json:"chain_id"`
TotalTx int64 `bun:"total_tx" comment:"Transactions count" json:"tx"`
TotalAccounts int64 `bun:"total_accounts" comment:"Accounts count" json:"accounts"`
TotalRollups int64 `bun:"total_rollups" comment:"Rollups count" json:"rollups"`
TotalValidators int `bun:"total_validators" comment:"Validators count" json:"validators"`
TotalSupply decimal.Decimal `bun:"total_supply,type:numeric" comment:"Total supply" json:"supply"`
TotalBridges int64 `bun:"total_bridges" comment:"Count of bridges" json:"bridges"`
TotalBytes int64 `bun:"total_bytes" comment:"Total rollup bytes" json:"bytes"`
}
State -
type TokenTransferDistributionItem ¶ added in v1.1.0
type Transaction ¶
type Transaction interface {
sdk.Transaction
SaveActions(ctx context.Context, actions ...*Action) error
SaveAddressActions(ctx context.Context, actions ...*AddressAction) error
SaveAddresses(ctx context.Context, addresses ...*Address) (int64, error)
SaveBalances(ctx context.Context, balances ...Balance) error
SaveBalanceUpdates(ctx context.Context, updates ...BalanceUpdate) error
SaveBlockSignatures(ctx context.Context, signs ...BlockSignature) error
SaveBridges(ctx context.Context, bridges ...*Bridge) (int64, error)
SaveConstants(ctx context.Context, constants ...Constant) error
SaveRollupActions(ctx context.Context, actions ...*RollupAction) error
SaveRollupAddresses(ctx context.Context, addresses ...*RollupAddress) error
SaveRollups(ctx context.Context, rollups ...*Rollup) (int64, error)
SaveTransactions(ctx context.Context, txs ...*Tx) error
SaveValidators(ctx context.Context, validators ...*Validator) error
SaveFees(ctx context.Context, fees ...*Fee) error
SaveTransfers(ctx context.Context, transfers ...*Transfer) error
SaveDeposits(ctx context.Context, deposits ...*Deposit) error
SaveApp(ctx context.Context, app *App) error
SavePrices(ctx context.Context, prices ...Price) error
UpdateApp(ctx context.Context, app *App) error
DeleteApp(ctx context.Context, appId uint64) error
RetentionBlockSignatures(ctx context.Context, height types.Level) error
RollbackActions(ctx context.Context, height types.Level) (actions []Action, err error)
RollbackAddressActions(ctx context.Context, height types.Level) (addrActions []AddressAction, err error)
RollbackAddresses(ctx context.Context, height types.Level) (address []Address, err error)
RollbackBalances(ctx context.Context, ids []uint64) error
RollbackBalanceUpdates(ctx context.Context, height types.Level) ([]BalanceUpdate, error)
RollbackBlockSignatures(ctx context.Context, height types.Level) (err error)
RollbackBlockStats(ctx context.Context, height types.Level) (stats BlockStats, err error)
RollbackBlock(ctx context.Context, height types.Level) error
RollbackBridges(ctx context.Context, height types.Level) (int, error)
RollbackRollupActions(ctx context.Context, height types.Level) (rollupActions []RollupAction, err error)
RollbackRollupAddresses(ctx context.Context, height types.Level) (err error)
RollbackRollups(ctx context.Context, height types.Level) ([]Rollup, error)
RollbackTxs(ctx context.Context, height types.Level) (txs []Tx, err error)
RollbackValidators(ctx context.Context, height types.Level) (err error)
RollbackFees(ctx context.Context, height types.Level) (err error)
RollbackDeposits(ctx context.Context, height types.Level) (err error)
RollbackTransfers(ctx context.Context, height types.Level) (err error)
UpdateAddresses(ctx context.Context, address ...*Address) error
UpdateConstants(ctx context.Context, constants ...*Constant) error
UpdateRollups(ctx context.Context, rollups ...*Rollup) error
LastBlock(ctx context.Context) (block Block, err error)
State(ctx context.Context, name string) (state State, err error)
LastNonce(ctx context.Context, id uint64) (uint32, error)
GetProposerId(ctx context.Context, address string) (uint64, error)
GetRollup(ctx context.Context, rollupId []byte) (Rollup, error)
Validators(ctx context.Context) ([]Validator, error)
GetBridgeIdByAddressId(ctx context.Context, id uint64) (uint64, error)
GetAddressId(ctx context.Context, hash string) (uint64, error)
RefreshLeaderboard(ctx context.Context) error
}
type Transfer ¶ added in v1.1.0
type Transfer struct {
bun.BaseModel `bun:"transfer" comment:"Table with asset transfers"`
Id uint64 `bun:"id,pk,notnull,autoincrement" comment:"Unique internal identity"`
Height pkgTypes.Level `bun:"height,notnull" comment:"The number (height) of this block"`
Time time.Time `bun:"time,pk,notnull" comment:"The time of block"`
Asset string `bun:"asset" comment:"Transfer asset"`
Amount decimal.Decimal `bun:"amount,type:numeric" comment:"Transfer amount"`
SourceId uint64 `bun:"src_id" comment:"Who made transfer"`
DestinationId uint64 `bun:"dest_id" comment:"Who receive transfer"`
Source *Address `bun:"rel:belongs-to"`
Destination *Address `bun:"rel:belongs-to"`
}
type Tx ¶
type Tx struct {
bun.BaseModel `bun:"tx" comment:"Table with transactions"`
Id uint64 `bun:"id,autoincrement,pk,notnull" comment:"Unique internal id"`
Height pkgTypes.Level `bun:",notnull" comment:"The number (height) of this block"`
Time time.Time `bun:"time,pk,notnull" comment:"The time of block"`
Position int64 `bun:"position" comment:"Position in block"`
ActionsCount int64 `bun:"actions_count" comment:"Actions count in transaction"`
Status types.Status `bun:"status,type:status" comment:"Transaction status"`
Error string `bun:"error,type:text" comment:"Error string if failed"`
Codespace string `bun:"codespace,type:text" comment:"Codespace"`
SignerId uint64 `bun:"signer_id" comment:"Signer internal identity"`
ActionTypes types.Bits `bun:"action_types" comment:"Bit mask for action types contained in tx"`
Nonce uint32 `bun:"nonce" comment:"Nonce"`
Hash []byte `bun:"hash" comment:"Transaction hash"`
Signature []byte `bun:"signature" comment:"Signature"`
Actions []Action `bun:"rel:has-many,join:id=tx_id"`
Signer *Address `bun:"rel:belongs-to"`
BytesSize int64 `bun:"-"`
}
Tx -
type TxCountForLast24hItem ¶
type Validator ¶
type Validator struct {
bun.BaseModel `bun:"validator" comment:"Table with validators"`
Id uint64 `bun:"id,pk,notnull,autoincrement" comment:"Unique internal identity"`
Address string `bun:"address,unique:validator_address,type:text" comment:"Validator address"`
PubkeyType string `bun:"pubkey_type,type:text" comment:"Validator public key type"`
PubKey []byte `bun:"pubkey,unique:validator_pubkey" comment:"Validator public key"`
Name string `bun:"name,type:text" comment:"Human-readable name for the validator"`
Power decimal.Decimal `bun:"power,type:numeric" comment:"Validator power"`
Height pkgTypes.Level `bun:"height" comment:"Height when validator was created"`
}
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
Click to show internal directories.
Click to hide internal directories.