Documentation ¶
Index ¶
- Constants
- func FlowTokenTypeID(chain flow.Chain) string
- func NewBalanceReporter(chain flow.Chain, view state.View) *balanceProcessor
- type AccountReporter
- type EpochCounterReporter
- type FungibleTokenTracker
- type ReportFileWriter
- type ReportFileWriterFactory
- type ReportNilWriter
- type ReportWriter
- type ReportWriterFactory
- type TokenDataPoint
Constants ¶
const FungibleTokenTrackerReportPrefix = "fungible_token_report"
Variables ¶
This section is empty.
Functions ¶
func FlowTokenTypeID ¶ added in v0.25.1
Types ¶
type AccountReporter ¶
type AccountReporter struct { Log zerolog.Logger RWF ReportWriterFactory Chain flow.Chain }
AccountReporter iterates through registers keeping a map of register sizes reports on storage metrics
func (*AccountReporter) Name ¶
func (r *AccountReporter) Name() string
type EpochCounterReporter ¶ added in v0.23.3
EpochCounterReporter reports the current epoch counter from the FlowEpoch smart contract.
func (*EpochCounterReporter) Name ¶ added in v0.23.3
func (e *EpochCounterReporter) Name() string
type FungibleTokenTracker ¶ added in v0.25.1
type FungibleTokenTracker struct {
// contains filtered or unexported fields
}
FungibleTokenTracker iterates through stored cadence values over all accounts and check for any value with the given resource typeID
func NewFungibleTokenTracker ¶ added in v0.25.1
func NewFungibleTokenTracker(logger zerolog.Logger, rwf ReportWriterFactory, chain flow.Chain, vaultTypeIDs []string) *FungibleTokenTracker
func (*FungibleTokenTracker) Name ¶ added in v0.25.1
func (r *FungibleTokenTracker) Name() string
func (*FungibleTokenTracker) Report ¶ added in v0.25.1
func (r *FungibleTokenTracker) Report(payloads []ledger.Payload) error
Report creates a fungible_token_report_*.json file that contains data on all fungible token Vaults in the state commitment. I recommend using gojq to browse through the data, because of the large uint64 numbers which jq won't be able to handle.
type ReportFileWriter ¶
type ReportFileWriter struct {
// contains filtered or unexported fields
}
func (*ReportFileWriter) Close ¶
func (r *ReportFileWriter) Close()
func (*ReportFileWriter) Write ¶
func (r *ReportFileWriter) Write(dataPoint interface{})
type ReportFileWriterFactory ¶
type ReportFileWriterFactory struct {
// contains filtered or unexported fields
}
func NewReportFileWriterFactory ¶
func NewReportFileWriterFactory(outputDir string, log zerolog.Logger) *ReportFileWriterFactory
func (*ReportFileWriterFactory) Filename ¶ added in v0.25.1
func (r *ReportFileWriterFactory) Filename(dataNamespace string) string
func (*ReportFileWriterFactory) ReportWriter ¶
func (r *ReportFileWriterFactory) ReportWriter(dataNamespace string) ReportWriter
type ReportNilWriter ¶
type ReportNilWriter struct { }
ReportNilWriter does nothing. Can be used as the final fallback writer
func (ReportNilWriter) Close ¶
func (r ReportNilWriter) Close()
func (ReportNilWriter) Write ¶
func (r ReportNilWriter) Write(_ interface{})
type ReportWriter ¶
type ReportWriter interface { Write(dataPoint interface{}) Close() }
ReportWriter writes data from reports
func NewReportFileWriter ¶
func NewReportFileWriter(fileName string, log zerolog.Logger) ReportWriter
type ReportWriterFactory ¶
type ReportWriterFactory interface {
ReportWriter(dataNamespace string) ReportWriter
}
TODO janezp: we should be able to swithch the report writer to write to a database.
type TokenDataPoint ¶ added in v0.25.1
type TokenDataPoint struct { // Path is the storage path of the composite the vault was found in Path string `json:"path"` // Address is the owner of the composite the vault was found in Address string `json:"address"` // Balance is the balance of the flow vault Balance uint64 `json:"balance"` // token type TypeID string `json:"type_id"` }