Documentation
¶
Index ¶
- Variables
- func CallProcessor(processor Processor, input string, config Params, results chan<- Result)
- func Start(work <-chan string, processorID ProcessorID, threads int, config Params, ...)
- type DynamicProcessor
- type ErrorDetails
- type Params
- type Processor
- type ProcessorID
- type Result
- type Skip
- type StructProcessor
Constants ¶
This section is empty.
Variables ¶
var ErrorLog *log.Logger
ErrorLog is used while the validator is running.
var ValidatorCmd *cobra.Command
ValidatorCmd is the account validator utility.
Functions ¶
func CallProcessor ¶
CallProcessor invokes the processor with a retry mechanism. Accepted input formats: 1: "(b64 or not encoded address)" 2: "address,(b64 or not encoded address)" 3: "box,(appid),(b64 encoded box name)"
Types ¶
type DynamicProcessor ¶
type DynamicProcessor struct {
}
DynamicProcessor implements process address by dynamically normalizing the JSON and ensuring the results are equal.
func (DynamicProcessor) ProcessAddress ¶
func (gp DynamicProcessor) ProcessAddress(algodData, indexerData []byte) (Result, error)
ProcessAddress is the entrypoint for the DynamicProcessor's address comparator.
func (DynamicProcessor) ProcessBox ¶
func (gp DynamicProcessor) ProcessBox(algodData, indexerData []byte) (Result, error)
ProcessBox is the entrypoint for the DynamicProcessor's box comparator.
type ErrorDetails ¶
type ErrorDetails struct {
Resource string
Address string
Appid string
Boxname string
Algod string
Indexer string
Diff []string
}
ErrorDetails are additional details attached to a result in the event of an error.
type Params ¶
type Params struct {
AlgodURL string
AlgodToken string
IndexerURL string
IndexerToken string
Retries int
RetryDelayMS int
}
Params are the program arguments which need to be passed between objects.
type Processor ¶
type Processor interface {
ProcessAddress(algodData []byte, indexerData []byte) (Result, error)
ProcessBox(algodData []byte, indexerData []byte) (Result, error)
}
Processor is the algorithm to fetch and compare data from indexer and algod
func MakeProcessor ¶
func MakeProcessor(id ProcessorID) (Processor, error)
MakeProcessor initializes the Processor from a ProcessorID
type ProcessorID ¶
type ProcessorID int
ProcessorID is used to select which processor to use for validation.
const ( Struct ProcessorID = iota Dynamic Default = Struct )
ProcessorIDs
type Result ¶
type Result struct {
// Error is set if there were errors running the test.
Error error
SameRound bool
SkipReason Skip
Equal bool
Retries int
Details *ErrorDetails
}
Result is the output of ProcessAddress.
type Skip ¶
type Skip string
Skip indicates why something was skipped.
const ( // NotSkipped is the default value indicated the results are not skipped. NotSkipped Skip = "" SkipLimitReached Skip = "account-limit" SkipAccountNotFound Skip = "missing-account" SkipBoxNotFound Skip = "box-not-found" SkipBoxFailedLookup Skip = "box-failed-lookup" SkipBoxWrongAppid Skip = "box-wrong-appid" SkipBoxMultiple Skip = "box-multiple-boxes" SkipBoxWrongBox Skip = "box-wrong-box" )
constants relating to different skip cases
type StructProcessor ¶
type StructProcessor struct {
}
StructProcessor implements the process function by serializing API responses into structs and comparing the typed objects to each other directly.
func (StructProcessor) ProcessAddress ¶
func (gp StructProcessor) ProcessAddress(algodData, indexerData []byte) (Result, error)
ProcessAddress is the entrypoint for the StructProcessor's account comparator
func (StructProcessor) ProcessBox ¶
func (gp StructProcessor) ProcessBox(algodData, indexerData []byte) (Result, error)
ProcessBox is the entrypoint for the StructProcessor's box comparator