* -added consensus version tracking to x/upgrade
* -added interface to module manager -added e2e test for migrations using consensus version store in x/upgrade -cleaned up x/upgrade Keeper -handler in apply upgrade now handles errors and setting consensus versions -cleaned up migration map keys -removed init chainer method -simapp now implements GetConsensusVersions to assist with testing
* Changed MigrationMap identifier to VersionMap
removed module_test
* updated docs
* forgot this
* added line to changelog for this PR
* Change set consensus version function to match adr 041 spec
* add documentation
* remove newline from changelog
unnecessary newline removed
* updated example in simapp for RunMigrations, SetCurrentConsensusVersions now returns an error
* switch TestMigrations to use Require instead of t.Fatal
* Update CHANGELOG.md
Co-authored-by: Aaron Craelius <aaron@regen.network>
* docs for SetVersionManager
* -init genesis method added -removed panics/fails from setting consensus versions
* update identifiers to be more go-like
* update docs and UpgradeHandler fnc sig
* Upgrade Keeper now takes a VersionMap instead of a VersionManager interface
* upgrade keeper transition to Version Map
* cleanup, added versionmap return to RunMigrations
* quick fix
* Update docs/architecture/adr-041-in-place-store-migrations.md
Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>
* remove support for versionmap field on upgrade keeper
* cleanup
* rename get/set version map keeper functions
* update adr doc to match name changes
* remove redudant line
Co-authored-by: technicallyty <48813565+tytech3@users.noreply.github.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* Overview of keepers in object capability model (OCM)
* Updates to the spec, making clarifications
* Create a sequence diagram of a (fresh) delegation
* Misc notes, not yet decided where to put them
* Description of the shares abstraction in validators
* Model all keeper dependencies and move the UML file to docs
* Move and rename delegation sequence diagram
* Move shares description
* Remove TODO
* Diagram touch-ups
* Add how consensus power is calculated
* remove temp file
* Diagram improvements
* Describe slashing in more detail
* Describe redelegation
* Describe unbonding
* Delegation updates
* Delegation updates
* Make a diagram describing overall transaction flow
* Add delegation flows for the events of tokens being bonded/unbonding/etc.
* Grammar fix
* Diagram updates: distinguish alts, remove numbering.
* Use groups instead of "func:" participants
* Remove unused keepers from dependency diagram
* Add title to unbonding diagram
* Move keeper dependencies
* small doc updates
* remove numbers on sequence diagram
* !!!WIP EndBlock
* Explain "Last"-prefix in storage
* Remove `panic` step (they are supposed to never happen)
* EndBlock sequence diagram (with TODOs)
* Add TODO
* More visible TODOs
* Remove numbering
* Complete EndBlock
* Remove numbering
* Remove TODOs and update title
* add title back
* remove endblock seq-diagram
* spec updates
* Make power index update conditional on not being jailed
* update title
* Delete sequnce diagrams
* Fix tokens to consensus power ratio
* Fix type
Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>
Co-authored-by: hjort <>
Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* define package-level supported Keyring algorithms
This commit lets developer define what algorithms Keyring supports instead of relying on just keyring.New options.
This change is needed since it allows us to support those algorithms in CLI commands too without subverting their current execution flow.
* read dry run cli flag as persistent command flag
* add dry run field to CLI command handling context
* use CLI context keyring instead of creating a new one
* keyring supported algorithms are used as if they were defaults, name them as such
* --dry-run value is now associated to client.context.Simulate
Since Simulate is now used in both tx and query commands, move its reading routine into ReadPersistentCommandFlags.
Removed DryRun from Context, since it's not needed anymore.
* rename supported algorithms variable
Co-authored-by: Alessio Treglia <alessio@tendermint.com>
* remove keyring algorithms global, let user set them via client.Context methods
* remove old keyring globals test
Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: Jonathan Gimeno <jgimeno@gmail.com>
Replace defer l.Close() with l.Close() to shutdown the listener
as fast as possible to avoid the "bind: address already in use"
error that so often occurs in CI build.
From: https://github.com/phayes/freeport/pull/8
Reference: #6671
Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>
* remove time based upgrades
* cleanup
* cleanup evidence of time based upgrades
* cleanup docs referring to time based upgrades
* forgot one
* added line to changelog deprecated section
* Update proto/cosmos/upgrade/v1beta1/upgrade.proto
Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>
* update changelog line to correct section
* update buf config to allow reserved fields
Co-authored-by: technicallyty <48813565+tytech3@users.noreply.github.com>
Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>
Co-authored-by: SaReN <sahithnarahari@gmail.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>
* Skips very noisy benchmarks that end up running only for b.N=1 because
their entire time is spent in setup, and varying parameters doesn't change
much given that the number of stores is what dominates the expense. To
ensure we can provide reliable benchmarks, progressively for the project,
skip these until there is a proper re-work of what the benchmarks need to do
* Previously sub-benchmarks: b.Run(...) did not b.ReportAllocs() due to a faulty
assumption that invoking b.ReportAllocs() at the top would be inherited by
all sub-benchmarks. This change fixes that
Fixes#8779Fixes#8855
Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
This commit automatically trusts the calling application with its data,
avoiding all the annoying keychain popups that appears when dealing with
keys (list, add...).
Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Upstream's latest changes are causing mayhem in
the build pipelines. This change reverts upstream's
latest commit.
Upstream issue: rokroskar/workflow-run-cleanup-action#16