All notable changes to this module will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Add a new trustless relay sub-command to servicer command
- Update documentation and tests in the keybase to use the Secretbox key encryption method
- Exported
rootCmd
to support cross-package usage (i.e. subcommands w/ own pkgs) - Refactored common CLI code
- Moved & refactored
PersistentPreRunE()
helper - Moved & exported
busCLICtxKey
- Exported
GetValueFromCLIContext()
andSetValueInCLIContext()
- Moved
setupAndStartP2PModule
- Moved
setupCurrentHeightProvider
- Moved
setupPeerstoreProvider
- Moved & refactored
- Refactored CLI flags to own package for cross-package use
- Replaced RPC_HOST with POCKET_REMOTE_CLI_URL where appropriate
- Added support for overriding of
remote-cli-url
flag with env var - Improve error handling in client CLI
- Renamed
NewRPCPeerstoreProvider()
andNewPersistencePeerstoreProvider()
toCreate()
(per package)
- Add the
nonInteractive
flag in a couple spots where it was missing
- Change user facing cli name to
p1
- Add query subcommands to interact with a node's RPC server
- Adds debug subcommands matching list of interactive prompt commands
- Refactor debug CLI post P2P module re-consolidation
- Add Query Command
- Add AllChainParams subcommand to query governance parameters
- Make
PromptPrintNodeState
the first prompt in debug mode - Minor cleanup to documentation related to CLI modes
- Fixed one logging statement
- Introduces hashicorp vault keybase to allow for the use of a vault server to store keypairs
- Automatic import reorder
- Refactor debug CLI to use new P2P interfaces
- Added a limit on concurrent key imports for debug client to avoid OOM.
- Simplifies the debug CLI tooling by embedding private-keys.yaml manifest into the CLI binary when the debug build tag is present.
- Support libp2p module in debug CLI
- Renamed the package names for some basic helpers
- Implement SLIP-0010 HD child key derivation with the keybase
- Add CLI endpoints to derive child keys by index
- Add CLI endpoints to interact with the keybase
- Rename ServiceNode Actor Type Name to Servicer
- Added
non_interactive
flag to allow for non-interactiveStake
andUnstake
transactions (dogfooding incluster-manager
) - Updated CLI to use to source the address book and the current height from the RPC server leveraging the
rpcAddressBookProvider
andrpcCurrentHeightProvider
respectively and thebus
for dependency injection
- Introduced logical switch to handle parsing of the debug private keys from a local file OR from Kubernetes secret (PR #517)
- Bugfix for
Stake
command. Address erroneously sent instead of the PublicKey. (PR #518)
- Fixed
docgen
to work from the root of the repository - Updated all the CLI docs
- Integrate keybase with CLI
- Add debug module to keybase to automatically populate keybase with 999 validators
- Added debugging prompts to drive state sync requests
SendMetadataRequest
to send metadata request by all nodes to all nodesSendBlockRequest
to send get block request by all nodes to all nodes
- Added GH_WIKI tags where it was missing
- Documentation and supporting logic to enable
p1 debug
to be used from localhost
- Address legacy linter errors from
golangci-lint
- Changed log lines to utilize new logger module.
- Fix broken link to
shared/crypto/README.md
in keybase documentation
- Create
Keybase
interface to handle CRUD operations forKeyPairs
with aBadgerDB
backend - Add logic to create, import, export, list, delete and update (passphrase) key pairs
- Add logic to sign and verify arbitrary messages
- Add unit tests for the keybase
- The
client
(i.e. CLI) no longer instantiates aP2P
module along with a bus of optional modules. Instead, it instantiates aclient-only
P2P
module that is disconnected from consensus and persistence. Interactions with the persistence & consensus layer happen via RPC. - Replaced previous implementation, reliant on
ValidatorMap
, with a temporary fetch from genesis. This will be replaced with a lightweight peer discovery mechanism in #416 - Simplified debug CLI initialization
- Updated to use
coreTypes
instead of utility types forActor
andActorType
- Updated README.md
- Fixed message signing
- Reporting RPC StatusCode and body
- System commands working end-to-end
- Added Consensus State commands
- Commands documentation generator
- Basic implementation with Utility commands
- Account
- Send
- Actor (Application, Node, Fisherman, Validator)
- Stake (Custodial)
- EditStake
- Unstake
- Unpause
- Governance
- ChangeParameter
- Debug
- Refactored previous CLI into a subcommand
- Account
- Functionally mocked a keybase in the form of a json file (default: pk.json) that will contain the privatekey
- CLI calling RPC via generated client
- Default configuration handling/overrides