Documentation
¶
Index ¶
- Variables
- func NewConnector[T any](cfg *config.StorageConnectionConfig) (T, error)
- type BalancesQueryFilter
- type BigInt
- type ClickHouseConnector
- func (c *ClickHouseConnector) DeleteBlockFailures(failures []common.BlockFailure) error
- func (c *ClickHouseConnector) DeleteStagingData(data []common.BlockData) error
- func (c *ClickHouseConnector) GetAggregations(table string, qf QueryFilter) (QueryResult[interface{}], error)
- func (c *ClickHouseConnector) GetBlockFailures(qf QueryFilter) ([]common.BlockFailure, error)
- func (c *ClickHouseConnector) GetBlockHeadersDescending(chainId *big.Int, from *big.Int, to *big.Int) (blockHeaders []common.BlockHeader, err error)
- func (c *ClickHouseConnector) GetBlocks(qf QueryFilter, fields ...string) (QueryResult[common.Block], error)
- func (c *ClickHouseConnector) GetLastReorgCheckedBlockNumber(chainId *big.Int) (*big.Int, error)
- func (c *ClickHouseConnector) GetLastStagedBlockNumber(chainId *big.Int, rangeStart *big.Int, rangeEnd *big.Int) (maxBlockNumber *big.Int, err error)
- func (c *ClickHouseConnector) GetLogs(qf QueryFilter, fields ...string) (QueryResult[common.Log], error)
- func (c *ClickHouseConnector) GetMaxBlockNumber(chainId *big.Int) (maxBlockNumber *big.Int, err error)
- func (c *ClickHouseConnector) GetStagingData(qf QueryFilter) ([]common.BlockData, error)
- func (c *ClickHouseConnector) GetTokenBalances(qf BalancesQueryFilter, fields ...string) (QueryResult[common.TokenBalance], error)
- func (c *ClickHouseConnector) GetTokenTransfers(qf TransfersQueryFilter, fields ...string) (QueryResult[common.TokenTransfer], error)
- func (c *ClickHouseConnector) GetTraces(qf QueryFilter, fields ...string) (QueryResult[common.Trace], error)
- func (c *ClickHouseConnector) GetTransactions(qf QueryFilter, fields ...string) (QueryResult[common.Transaction], error)
- func (c *ClickHouseConnector) InsertBlockData(data []common.BlockData) error
- func (c *ClickHouseConnector) InsertStagingData(data []common.BlockData) error
- func (c *ClickHouseConnector) ReplaceBlockData(data []common.BlockData) ([]common.BlockData, error)
- func (c *ClickHouseConnector) SetLastReorgCheckedBlockNumber(chainId *big.Int, blockNumber *big.Int) error
- func (c *ClickHouseConnector) StoreBlockFailures(failures []common.BlockFailure) error
- type IMainStorage
- type IOrchestratorStorage
- type IStagingStorage
- type IStorage
- type InsertOptions
- type QueryFilter
- type QueryResult
- type TransfersQueryFilter
Constants ¶
This section is empty.
Variables ¶
View Source
var DEFAULT_MAX_ROWS_PER_INSERT = 100000
View Source
var ZERO_BYTES_10 = strings.Repeat("\x00", 10)
View Source
var ZERO_BYTES_66 = strings.Repeat("\x00", 66)
Functions ¶
func NewConnector ¶
func NewConnector[T any](cfg *config.StorageConnectionConfig) (T, error)
Types ¶
type BalancesQueryFilter ¶
type BigInt ¶
func (BigInt) MarshalJSON ¶
type ClickHouseConnector ¶
type ClickHouseConnector struct {
// contains filtered or unexported fields
}
func NewClickHouseConnector ¶
func NewClickHouseConnector(cfg *config.ClickhouseConfig) (*ClickHouseConnector, error)
func (*ClickHouseConnector) DeleteBlockFailures ¶
func (c *ClickHouseConnector) DeleteBlockFailures(failures []common.BlockFailure) error
func (*ClickHouseConnector) DeleteStagingData ¶
func (c *ClickHouseConnector) DeleteStagingData(data []common.BlockData) error
func (*ClickHouseConnector) GetAggregations ¶
func (c *ClickHouseConnector) GetAggregations(table string, qf QueryFilter) (QueryResult[interface{}], error)
func (*ClickHouseConnector) GetBlockFailures ¶
func (c *ClickHouseConnector) GetBlockFailures(qf QueryFilter) ([]common.BlockFailure, error)
func (*ClickHouseConnector) GetBlockHeadersDescending ¶
func (c *ClickHouseConnector) GetBlockHeadersDescending(chainId *big.Int, from *big.Int, to *big.Int) (blockHeaders []common.BlockHeader, err error)
func (*ClickHouseConnector) GetBlocks ¶
func (c *ClickHouseConnector) GetBlocks(qf QueryFilter, fields ...string) (QueryResult[common.Block], error)
func (*ClickHouseConnector) GetLastReorgCheckedBlockNumber ¶
func (*ClickHouseConnector) GetLastStagedBlockNumber ¶
func (*ClickHouseConnector) GetLogs ¶
func (c *ClickHouseConnector) GetLogs(qf QueryFilter, fields ...string) (QueryResult[common.Log], error)
func (*ClickHouseConnector) GetMaxBlockNumber ¶
func (*ClickHouseConnector) GetStagingData ¶
func (c *ClickHouseConnector) GetStagingData(qf QueryFilter) ([]common.BlockData, error)
func (*ClickHouseConnector) GetTokenBalances ¶
func (c *ClickHouseConnector) GetTokenBalances(qf BalancesQueryFilter, fields ...string) (QueryResult[common.TokenBalance], error)
func (*ClickHouseConnector) GetTokenTransfers ¶
func (c *ClickHouseConnector) GetTokenTransfers(qf TransfersQueryFilter, fields ...string) (QueryResult[common.TokenTransfer], error)
func (*ClickHouseConnector) GetTraces ¶
func (c *ClickHouseConnector) GetTraces(qf QueryFilter, fields ...string) (QueryResult[common.Trace], error)
func (*ClickHouseConnector) GetTransactions ¶
func (c *ClickHouseConnector) GetTransactions(qf QueryFilter, fields ...string) (QueryResult[common.Transaction], error)
func (*ClickHouseConnector) InsertBlockData ¶
func (c *ClickHouseConnector) InsertBlockData(data []common.BlockData) error
func (*ClickHouseConnector) InsertStagingData ¶
func (c *ClickHouseConnector) InsertStagingData(data []common.BlockData) error
func (*ClickHouseConnector) ReplaceBlockData ¶
func (*ClickHouseConnector) SetLastReorgCheckedBlockNumber ¶
func (*ClickHouseConnector) StoreBlockFailures ¶
func (c *ClickHouseConnector) StoreBlockFailures(failures []common.BlockFailure) error
type IMainStorage ¶
type IMainStorage interface {
InsertBlockData(data []common.BlockData) error
ReplaceBlockData(data []common.BlockData) ([]common.BlockData, error)
GetBlocks(qf QueryFilter, fields ...string) (blocks QueryResult[common.Block], err error)
GetTransactions(qf QueryFilter, fields ...string) (transactions QueryResult[common.Transaction], err error)
GetLogs(qf QueryFilter, fields ...string) (logs QueryResult[common.Log], err error)
GetTraces(qf QueryFilter, fields ...string) (traces QueryResult[common.Trace], err error)
GetAggregations(table string, qf QueryFilter) (QueryResult[interface{}], error)
GetMaxBlockNumber(chainId *big.Int) (maxBlockNumber *big.Int, err error)
/**
* Get block headers ordered from latest to oldest.
*/
GetBlockHeadersDescending(chainId *big.Int, from *big.Int, to *big.Int) (blockHeaders []common.BlockHeader, err error)
GetTokenBalances(qf BalancesQueryFilter, fields ...string) (QueryResult[common.TokenBalance], error)
GetTokenTransfers(qf TransfersQueryFilter, fields ...string) (QueryResult[common.TokenTransfer], error)
}
type IOrchestratorStorage ¶
type IOrchestratorStorage interface {
GetBlockFailures(qf QueryFilter) ([]common.BlockFailure, error)
StoreBlockFailures(failures []common.BlockFailure) error
DeleteBlockFailures(failures []common.BlockFailure) error
GetLastReorgCheckedBlockNumber(chainId *big.Int) (*big.Int, error)
SetLastReorgCheckedBlockNumber(chainId *big.Int, blockNumber *big.Int) error
}
type IStagingStorage ¶
type IStagingStorage interface {
InsertStagingData(data []common.BlockData) error
GetStagingData(qf QueryFilter) (data []common.BlockData, err error)
DeleteStagingData(data []common.BlockData) error
GetLastStagedBlockNumber(chainId *big.Int, rangeStart *big.Int, rangeEnd *big.Int) (maxBlockNumber *big.Int, err error)
}
type IStorage ¶
type IStorage struct {
OrchestratorStorage IOrchestratorStorage
MainStorage IMainStorage
StagingStorage IStagingStorage
}
func NewStorageConnector ¶
func NewStorageConnector(cfg *config.StorageConfig) (IStorage, error)
type InsertOptions ¶
type InsertOptions struct {
AsDeleted bool
}
type QueryFilter ¶
type QueryFilter struct {
ChainId *big.Int
BlockNumbers []*big.Int
FilterParams map[string]string
GroupBy []string
SortBy string
SortOrder string
Page int
Limit int
Offset int
Aggregates []string // e.g., ["COUNT(*) AS count", "SUM(amount) AS total_amount"]
FromAddress string
ContractAddress string
WalletAddress string
Signature string
ForceConsistentData bool
}
type QueryResult ¶
type TransfersQueryFilter ¶
type TransfersQueryFilter struct {
ChainId *big.Int
TokenTypes []string
TokenAddress string
WalletAddress string
TokenIds []*big.Int
TransactionHash string
StartBlockNumber *big.Int
EndBlockNumber *big.Int
GroupBy []string
SortBy string
SortOrder string // "ASC" or "DESC"
Page int
Limit int
Offset int
}
Click to show internal directories.
Click to hide internal directories.