The constructor of this class. Params will be automatically injected upon called.
The arguments passed to the command. Typically, this holds required parameters of commands.
The internal dApp configuration object. This object is used to configure key functionalities such as the name of a dApp and the enabled scopes of the backend runtime.
Memory store of addresses that have been discovered as recipient of transfer transactions issued from the dApp's main account.
The discovery source. In most cases this will be the host dapp's main account public key.
Memory store for the last time of execution. This is used in getStateData to update the latest execution state.
Memory store for the last page number being read. This is used in getStateData to update the latest execution state.
Memory store for the last account being read. This is used in getStateData to update the latest execution state.
The internal dApp network configuration object. This object is used to configure the access to the underlying blockchain network.
The command scope. This is the scope that must be enabled
through the configuration files for this command to be
available.
This property is required through the extension of
BaseCommand.
Requires state information of the module. This object is typically populated upon first execution and updated any time later.
Configuration field for the page size to be read. This is used to determine how many transactions are queried per page from the database.
This method must return a command name. Note that
it should use only characters of: A-Za-z0-9:-_.
e.g. "name"
This property is required through the extension of
DiscoveryCommand.
This method must return a command signature that
contains hints on the command name and its required
and optional arguments.
e.g. "command
This property is required through the extension of
DiscoveryCommand.
Getter for the discovery state identifier, e.g.
"discovery.accounts", "discovery.transactions",
"payout.outputs" etc.
This method is an implementation necessary because
of the extensions of StatefulModule.
This method uses the logger to print debug messages.
This method implements the discovery logic for this command
that will find relevant subjects. Subjects in this command
are accounts that have previously received a transaction
from the dApp's main account.
Discovery is done in 2 steps as described below:
accounts
This method uses the logger to print error messages.
Optionally, a stack
can be passed to print a stack trace.
This method will find the next relevant discovery source
by iterating through the passed sources and checking
individual synchronization state.
Accounts that are fully synchronized require less requests
for recent transactions. Note that a per-source state is
persisted as well, to keep track of the last page number as
well as to keep track of when the runtime reads the latest
available page of transactions for said discovery source.
The discovery sources public keys and/or addresses.
The discovery source address.
Creates a state query for this discovery service. Each discovery service shall set its own stateIdentifier which is considered the identifier of the discovery module's state document.
This method uses the logger to print info messages.
This helper method serves as a parser for the -s
or --source
option of this command.
The discovery source can contain either of a public
key or an address, that will be parsed into discoverySource.
The sourceArgument as passed in the terminal.
A parsed dHealth Account Address.
This method is the entry point of any command line
executed command. nest-commander
implements a flow
where this method is called with parameters that are
respectively the raw arguments and the parsed arguments
to this command call.
This method uses the stateService to fetch the
current execution and also uses it to update the state.
Note that the runWithOptions method is called inside
a try-catch block to force the error handling process.
This method is the entry point of this scheduler. Due to
the usage of the Cron
decorator, and the implementation
of the CommandRunner
interface in BaseCommand,
the nest backend runtime is able to discover this when the
discovery
scope is enabled.
This method is necessary to make sure this command is run
with the correct --source
option.
This scheduler is registered to run every 2 minutes.
This method implements the execution logic for
discovery commands that extend this class. Child
classes must implement a discover method
that is called.
Note that this method is called by BaseCommand.
The parsed runtime arguments passed to the command.
This method prints usage information to the command line
and is used by nest-commander
to print a correctly formatted
help message.
Note that usage methods can be overwritten but must always
print a standard command line signature.
Generated using TypeDoc
The implementation for the accounts discovery scheduler. Contains source code for the execution logic of a command with name:
discovery:DiscoverAccounts
.v0.1.0