Files returned by WriteToNewTempFile are cleaned up
automatically at the end of a test case execution.
WriteToNewTempFile now relies on the TB.TempDir()
function provided by the testing std package.
TempFile returns a temporary file that can be used
within a test case and is automatically removed
at the end of the test execution.
* cli: convert coins to smallest unit registered
fixes: #7623
- test order of decimal operations
- support both int and decimal coins, truncate when normalizing to
base unit
* Update types/coin_test.go
* Update types/coin_test.go
Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: Amaury <amaury.martiny@protonmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* testing: refactore Validation and Delegation handling of x/staking
This Changeset introduces set of improvements for writing tests.
The idea is to create a testing subpackage which will provide functions
to make tests more dev-friendly and wrap higher level use-cases.
Here is a show-up of of creating a service for staking module
for tests.
This PR also changes the `x/staking/types.MsgCreateValidator.Pubkey` from string
to types.Any. This change motivated the other change to show the pattern I'm describing here.
* add validator checks
* type change fixes
* use deprecated
* adding test slashing
* new network comment update
* working on tests
* Fix TestMsgPkDecode test
* Add UnpackInterfaces to MsgCreateValidator
* Fix tests
* Convert bech32 pubkey to proto
* Fix test
* fix v039/migrate_test/TestMigrate
* fix tests
* testslashing: rename Service to Helper
* file rename
* update TestMsgDecode
Co-authored-by: blushi <marie.gauthier63@gmail.com>
Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>
Co-authored-by: Cory Levinson <cjlevinson@gmail.com>
* require old chain halts before upgrade
* Update proto/ibc/core/client/v1/client.proto
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
* start address reviews
* Apply suggestions from code review
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
* address reviews
* rework upgrade to ensure there is never more than one upgrade client in store
* fix tests
* fix conditional
* make proto-gen
* remove if statement skipping tests in upgrade keeper test
* address reviews
* correctly escape and unescape merkle keys
* add small conditional check
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Colin Axner <colinaxner@berkeley.edu>
Introduce 'norace' build tag that is used to
filter out test files containing test cases
or test suites that, if run with the -race
flag on would cause race conditions.
Supersede #7300.
* migrate CommunityPoolSpendProposalJSON to proto
* migrate NewWithdrawAllRewardsCmd to proto
* fix ineffectual issue
* refactor
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* Add allow_governance_override_after_expiry flag to tendermint NewCreateClientCmd
* 1) Add LatestTimestamp to ClientState struct by adding a new attribute latest_timestamp to the message ClientState in proto/ibc/tendermint/tendermint.proto
2) Autogenerate x/ibc/07-tendermint/types/tendermint.pb.go by running 'make proto-gen'. Strangely, as a side effect x/distribution/types/genesis.pb.go, x/evidence/types/genesis.pb.go were also modified by the command 'make proto-gen'
3) Add Expired() function
* Fix tests
* 1) Add allow_governance_override_after_expiry flag to tendemint clientStatus
2) Add allow_governance_override_after_misbehaviour flag to tendermint ClientStatus
* Cosmetic changes
* Fix tests
* Add Unfreeze function
* Add new ClientUpdateProposal type
* Add minor fixes
* Add NewClientUpdateProposalHandler unit tests
* Fix proto-lint-docker
* Delete x/ibc/07-tendermint/tendermint_test.go
* Follow convention to put signer last in msg function signature
* 1) Add GetLatestTimestamp function to ClientStatus interface
2) Change Expired() signature to Expired(now time.Time)
* 1) Add override flag to UpdateClient function
2) Fix tests
* Refactor HandleClientUpdateProposal
* 1) Extend exported Header interface with MarshalBinaryBare and UnmarshalBinaryBare methods
2) Move ClientUpdateProposal message to from ibc.proto to client.proto
3) Refactoring code
4) Add override flag to UpdateClient method
5) Fix tests
* 1) Uncomment tests and clean up code
2) Add basic validation of the header (ValidateBasic) when the override flag is true
* Cosmetic changes
* Add TODO comments
* Fix header MarshalBinaryBare, UnmarshalBinaryBare by using protobuf encoding/decoding
* Fix proto comments
* Fix override logic
* undo gettimestamp for solo machine and localhost
* add update after proposal func, some major refactoring in progress, various issues addressed
* fix tendermint proposal update handling
* run make proto-gen
* remove timestamp from tendemint client
* fix build issue for tm types
* apply various review comments
* add tests for 02-client functionality
* self review fixes
* typo
* update tests slightly
* update tendermint proposal handling tests
* Update x/ibc/02-client/keeper/proposal.go
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
* Update x/ibc/07-tendermint/types/proposal_handle.go
Co-authored-by: Aditya <adityasripal@gmail.com>
* Update x/ibc/07-tendermint/types/proposal_handle.go
Co-authored-by: Aditya <adityasripal@gmail.com>
* apply most of @fedekunze and some of @AdityaSripal suggestions
* convert test to bools
* update docs and increase code cov
* fix build
* fix typo, remove omitempty
* add switch
* apply @fedekunze latest suggestions
* fix lint
* Update x/ibc/02-client/keeper/proposal_test.go
Co-authored-by: Christopher Goes <cwgoes@pluranimity.org>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Colin Axner <colinaxner@berkeley.edu>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Aditya <adityasripal@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* Make JSONMarshaler require proto.Message
* Use &msg with MarshalJSON
* Use *LegacyAmino in queriers instead of JSONMarshaler
* Revert ABCIMessageLogs String() and coins tests
* Use LegacyAmino in client/debug and fix subspace tests
* Use LegacyAmino in all legacy queriers and adapt simulation
* Make AminoCodec implement Marshaler and some godoc fixes
* Test fixes
* Remove unrelevant comment
* Use TxConfig.TxJSONEncoder
* Use encoding/json in genutil cli migrate/validate genesis cmds
* Address simulation related comments
* Use JSONMarshaler in cli tests
* Use proto.Message as respType in cli tests
* Use tmjson for tm GenesisDoc
* Update types/module/simulation.go
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
* Update types/module/module_test.go
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
* Add godoc comments
* Remove unused InsertKeyJSON
* Fix tests
Co-authored-by: Aaron Craelius <aaronc@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
* Replaced hardcoded 'cosmos' and 'cosmosvaloper' help references
* Ran make format target
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* create base proto package, move ValAddresses to staking
* move tx, crypto, query proto packages into base; mark module level packages as beta
* new cosmos/base/abci.proto file, refactor some message names
* add comments to TxResponse
* refactor RegisterInterface calls to new proto package names
* fix bug in merge commit
* move missing module proto packages to beta, move cosmos.kv to cosmos.base.kv
* add tx.proto files, holding proto messages for module Msgs
* rm old generated pb.go files
* cosmos/base/base.proto -> cosmos/base/coin.proto
* mark genutil proto package as beta
* Fix conflicts
* Restructure proto files
* Re put signing
* Fix test
* Update slashing genesis
* Ignore confio proto files
* Fix interface register
* Make proto-gen
* Fix lint
* Put tx service into tx.v1beta1
* Use v1beta1 in interface registry
* Remove to cosmos.base.store
* Remove extra confio in buf
Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
* Add required fields for queries, p1
* Add comments
* Remove required
* More modules
* 2 to go
* Finish all modules
* Fix typo
* Fix test
* Make proto-gen
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
* distribution genesis types migrated to proto
* removed types from types/genesis.go
* fix lint
* added new line proto
* staking genesis migrated to proto
* fix lint
* x/bank: genesis types migrated to proto
* fix lint
* x/mint: genesis types changed to proto
* x/crisis: genesis types changed to proto
* Migrate genesis state of x/crisis
* add new lines
* whitespace
* Fix bad merge
* added missing field
* fixed error
Co-authored-by: sahith-narahari <sahithnarahari@gmail.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: Aaron Craelius <aaronc@users.noreply.github.com>
* Update genutil collect and gentx to use TxGenerator
* Remove print statement
* Use Tx in genutil DeliverGenTxs
* Use Tx in genutil genesis_state
* Use Tx in ValidateGenesis
* Use amino txJSONDecoder and txBinaryEncoder in genutil InitGenesis
* Use TxConfig in place of TxGenerator
* Add gentx tests
* Remove commented line
* Test fixes
* Apply suggestions from code review
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
* Fixes
* Fixes
* Fixes
* Fixes
* Remove unneeded test case (doesn't apply to proto marshaling)
* linting
* Refactor to use new TxEncodingConfig interface in genutil module
* Replace golang/protobuf with gogo/protobuf package
* Use TxEncodingConfig in InitTestnet
* Remove old amino.go file
* Use TxJSONDecoder in genutil ValidateGenesis
* Add parameter to ValidateGenesis to resolve the tx JSON decoder issue
* Address review feedback
Co-authored-by: Jack Zampolin <jack.zampolin@gmail.com>
Co-authored-by: Aaron Craelius <aaronc@users.noreply.github.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* remove verifier
* more removal of trustnode flag
* add todo
* fix lint
* remove file
* remove viper and add link to issue
* remve mention of trustnode
* Rename proto Req to Pagination
* Change Res to Pagination
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* x/distribution/simulation/operations.go: add unit tests
* Use NewDecCoins constructor instead of the DecCoins struct
* Refactor code to use a testing suite
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
* WIP: using encoding config
* Make it compile, test fails
* test should be okay
* Make tests pass
* Add comments
* Convert more tests
* Make TestAnteHandlerSigErrors work
* Make first 2 tests pass
* TestAnteHandlerAccountNumbers
* Use table tests
* Remove print
* Use test table
* TestAnteHandlerSigErrors
* TestAnteHandlerAccountNumbers
* TestAnteHandlerAccountNumbers
* Refactor TestAccount
* Refactor getSignBytes
* TestAnteHandlerAccountNumbersAtBlockHeightZero
* TestAnteHandlerSequences
* TestAnteHandlerFees
* TestAnteHandlerMultiSigner
* TestAnteHandlerBadSignBytes
* TestAnteHandlerSetPubKey
* TestAnteHandlerSigLimitExceeded
* TestCustomSignatureVerificationGasConsumer
* TestAnteHandlerReCheck
* Make all tests pass
* Refactor a little bit more
* Fee test
* SetupTest
* All tests pass
* Refactor to RunTestCase
* Don't use StdFee
* Revert some little stuff
* Finish up last couple of test cases
* Less verbose
* s/TxGenerator/TxConfig
* Add comments
* Indent
* Move KeyTestPubAddr to testdata
* Move testdata to /testutil
* Revert to use signature: nil step in signing
* Add comments
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Prepare migrating testing auxiliary functions from tests
to testutil.
Remove local duplicates on testutil.WriteToNewTempFile().
Always favor testutil.NewTestCaseDir() over ioutil.TempDir().
Add test cases for the testing auxiliary functions.
* consolidate proto files into single directory, turn on PACKAGE_DIRECTORY_MATCH linting
* add third_party root for third party proto files
* move ibc proto files to top level folder, rename .proto files to types.proto as before
* update protocgen script, and run code generation
* move vesting proto definition to cosmos namespace, rename from types.proto in alignment with buf.build naming conventions
* update Makefile so proto dependencies are set with new structure when updated
* add comment for sed usage in makefile
* remove unused aliases of proto generated types
* add settings.json instructions to contributing.md for including protobuf paths
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>
Add cli tests for distribution and mint modules.
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Alessio Treglia <alessio@tendermint.com>
--validate-signatures should not be a flag of the sign command
as the operation performed (transaction signatures verification)
is logically distinct.
cli_test is and has always been an horrible name for package
directory as it's very much Go anti-idiomatic - _test is the
suffix used by test packages, not directories. Plus, CLI test
cases can and should live alongside other testcases that don't
require binaries to be built beforehand. Thus:
x/module/client/cli_test/*.go -> x/module/client/cli/
Test files that require sim{cli,d} shall be tagged with // +build cli_test
With regard to cli test auxiliary functions, they should live in:
x/module/client/testutil/
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
x/staking: Fix all linter warnings.
Fixed warnings across base packages.
New linters:
- unparam
- nolintlint
Co-authored-by: Alessio Treglia <alessio@tendermint.com>
* Added cli integration base setup
* Added cmd to simapp
* Fixed ci-lint issues
* Fixed ci-lint issues
* Addressed changes in Makefile
* Updated simd to latest
* Removed testnet and replay commands
* Modified tx command for simcli
* Did code cleanup
* Removed duplication in Makefile
* Refactored cli_test
* Added build-sim to Makefile
* Added test-cli to circleci
* Added tests for staking txns
* Addressed format issues
* refctored tests code
* Added tests for send, staking
* Removed test_hepers file
* Moved test_cover to contrib
* Added codec in fixtures
* Migrated tests to respective modules
* Exported helper methods
* Moved helpers to bank
* Added codec to fixtures
* Migrated tests to modules
* Removed auth helpers from staking
* Did minor code cleanup
* Added test-cli to Makefile
* Updated github actions
* Did code refactor
* Fixed github actions for cli-test
* Added tests for recover keys and fee deduction
* Did minor code cleanup
* Added build flag to cli_tests
* Moved cli_test to tests
* Modified path in Makefile
* Updated codec std in fixtures
* Added doc for cli tests
* Remove ibc genesis validation
* Fix issue number
* Added missing imports
* Add tests for distribution and simd
* Modified naming for test functions
* Added test for withdraw rewards
* Modified test function names
* Fixed import format
* Migrated helpers to package cli
* Fixed github test actions
* Fixed test coverage in actions
* Added build sim to actions
* Apply Alessio patch for tests
* Removed unused imports
* Added init for go tests
* try fix tests
* goimports what wasn't goimports'd
* try fix ci
* add relevant tags to integration tests
* run integration tests separately
* use go build -o flag and let compiler gemerate the binary with the
right extension for the HOST platform
rename cli-test to test-integration
* update ci
* rename
Co-authored-by: atheesh <atheesh1>
Co-authored-by: kaustubhkapatral <54210167+kaustubhkapatral@users.noreply.github.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: anilCSE <anil@vitwit.com>
Co-authored-by: Alessio Treglia <alessio@tendermint.com>
* enable the wsl linter
Fix various wsl-related warnings.
x/ibc/04-channel/keeper/handshake.go: fix missing return statement in ChanOpenTry().
* goimports -w files
* remove unknown linter references
* run make format
* Revert "run make format"
This reverts commit f810b62b9e4993f08506663d4e5f2ec2228a9863.
* run make format
github.com/spf13/viper's recent releases introduced a semantic
change in some public API such as viper.IsSet(), which have
broken some of our flags checks. Instead of checking whether
users have changed a flag's default value we should rely on such
defaults and adjust runtime behaviour accordingly. In order to do
so, it's important that we pick sane defaults for all our flags.
The --pruning flag and configuration option now allow for a
fake custom strategy. When users elect custom, then the
pruning-{keep,snapshot}-every options are interpreted and
parsed; else they're ignored.
Zero is pruning-{keep,snapshot}-every default value. When
users choose to set a custom pruning strategy they are
signalling that they want more fine-grainted control, therefore
it's legitimate to expect them to know what they are doing and
enter valid values for both options.
Ref #5964
* lint: various linting fixs
Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>
* more linting
* more linting fixes
* more errchecking
* comment out errcheck for now
* undo error check
* address some comments
* remore require error
* change delete to batch delete
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
* change abci file to use BinaryBare
* change all calls to EncodeLengthPrefixed to BinaryBare in distribution keeper store.
* change all calls to EncodeLengthPrefixed to BinaryBare in mint keeper store.
* change all calls to EncodeLengthPrefixed to BinaryBare in auth keeper store.
* change all calls to EncodeLengthPrefixed to BinaryBare in distribution keeper store.
* change all calls to EncodeLengthPrefixed to BinaryBare in staking keeper store.
* change all calls to EncodeLengthPrefixed to BinaryBare in staking keeper store.
* change all calls to EncodeLengthPrefixed to BinaryBare in gov keeper store.
* change all calls to EncodeLengthPrefixed to BinaryBare in slashing keeper store.
* update decoder test
* migrate decoder
* migrate gov simulation decoder
* migrate baseapp_test
* refactor QuerySubspace
* refactor coedc std codec
* migrate keybase
* migrate iavl store
* migrate root multi
* migrate ante basic
* migrate tx type to bare
* migrate auth client
* update auth types
* update decoder
* migrate supply decoder
* migrate stake encoding
* migrate staking simulation
* migrate genutil
* migrate simapp test helpers
* migrate docs
* upgrade changelog
* Update CHANGELOG.md
Co-Authored-By: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
* migrate first distribution test to use simapp
* refactor test TestAllocateTokensTruncation
* migrate allocation test for distribution
* migrate TestCalculateRewardsBasic to simapp in distribution
* migrate TestCalculateRewardsAfterSlash to simapp in distribution
* migrate TestCalculateRewardsAfterManySlashes to use simapp
* migrate TestCalculateRewardsMultiDelegator to use ssimapp
* migrate TestWithdrawDelegationRewardsBasic to simapp
* migrate TestCalculateRewardsAfterManySlashesInSameBlock to simapp
* migrate TestCalculateRewardsMultiDelegatorMultiSlash
* migrate old delegation test
* migrate keeper test to simapp
* refactor all distribution to use simapp
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Packages named utils, common, or misc provide clients with no
sense of what the package contains. This makes it harder for
clients to use the package and makes it harder for maintainers
to keep the package focused. Over time, they accumulate dependencies
that can make compilation significantly and unnecessarily slower,
especially in large programs. And since such package names are
generic, they are more likely to collide with other packages
imported by client code, forcing clients to invent names to
distinguish them.
cit. https://blog.golang.org/package-names
* Bump Tendermint version to v0.33.0
* Deprecate old cmn package with new packages
* Update update DB APIs
* More DB updates
* Bump IAVL to v0.13.0
* Handle error returned by iavl.NewMutableTree
* Fix some IAVL stuffs
* Update IAVL
* More updates
* Passing tests
* Fix unit tests
Co-authored-by: Jack Zampolin <jack.zampolin@gmail.com>
* encoding
* working on baseapp doc
* baseapp work
* reorg
* almost there
* finish first draft
* remove old files
* module doc start
* finish intro
* working
* workinnn
* add transactions into core
* hans comments
* add transactions into core
* working
* gautier comments
* clean
* working
* consolidate intro
* querier
* workiiiing
* refactor for new module interface
* karoly review
* working on baseapp doc
* baseapp work
* reorg
* almost there
* finish first draft
* remove old files
* finish intro
* workinnn
* initial commit after rebase
* query-lifecycle and started modules-interfaces
* query-lifecycle first draft done
* module interfaces first draft
* rest and intro skeletons
* rest and intro done
* small edits and links
* comments
* revisions
* cli.md comments
* comments
* minor edits
* better flow for query lifecycle
* add transactions into core
* hans comments
* add transactions into core
* checkout master-docs files
* deleted some
* remove modules readme
* cli.md comments
* comments
* module-interfaces comments
* Merge PR #4857: Add Context concept doc
* working
* working
* finish messages and queries
* handler
* querier
* last comments!
* punctuation
* querier2
* consolidate intro
* querier
* workiiiing
* refactor for new module interface
* karoly review
* working on baseapp doc
* baseapp work
* reorg
* almost there
* finish first draft
* remove old files
* finish intro
* workinnn
* initial commit after rebase
* query-lifecycle and started modules-interfaces
* query-lifecycle first draft done
* module interfaces first draft
* rest and intro skeletons
* rest and intro done
* small edits and links
* comments
* revisions
* cli.md comments
* comments
* minor edits
* better flow for query lifecycle
* checkout master-docs files
* deleted some
* remove modules readme
* cli.md comments
* comments
* module-interfaces comments
* keeper
* genesis
* finish
* Apply suggestions from code review
Co-Authored-By: Hans Schoenburg <hschoenburg@users.noreply.github.com>
* hans review
* Update docs/core/baseapp.md
Co-Authored-By: Hans Schoenburg <hschoenburg@users.noreply.github.com>
* working
* last comment
* workin
* Apply suggestions from code review
* encoding and node
* almost finish store
* finish docs
* fixes
* fede comments + permalinks
* hans review
* add more permalinks
* update docs theme version (#5239)
* R4R: Docs Cleanup (#5246)
* start
* work
* work
* work
* remove table of content
* links intro
* fix links
* remove junk
* cleanup
* cleanup
* work
* finish cleanup
* addback readmes
* remove nft
* fix links
* remove dup
* remove dup
* remove dup
* remove dup
* remove dup
* fix links
* add subscribe events
* refine rest
* index page
* sidebar
* theme version
* theme version
* testing netlify
* theme version
* tooltip example
* version
* testing code embedding
* reverting back
* theme version
* version
* version
* version
* readme and version
* cleanup
* redo app anatomy
* modules readme, theme version
* theme version
* fix modules list
* theme version
* new snippets
* modules readme
* update docs readme
* modify synopsis
* version
* fix yaml
* version
* version
* version
* version
* version
* version
* version
* version
* version
* version
* add hide banner
* version
* version
* version
* small fixes
* modules readme, version
* remove hotkeys dep, version
* version
* version
* version
* version
* version
* version
* version
* slight notice
* fix links and hide
* permalinks
* small clean
* version
* resolve conflicts, add google analytics
* fix merge remants
* version
* changelog 1/2
* Changelog: docs UI
* version
* remove merge conflicts
* Code: Update link for Contributing to the docs to docs_readme
* HTML/CSS: Update layout of homepage footer to match new layout in Figma
* version
* final modifs
* modules, version
* modules readme
* link to module list from homepage
* version
* building modules link
* version
* version
* fonts
* version
* version
* fix link
* fix package.json
* links in explore sdk section
* core concepts
* version
* change delimeters for frontmatter
* frontmatter in comments
* version
* temp add tiny-cookie
* fixed link issues
* fixed styling issues, copy
* hide frontmatter
* hide frontmatter
* layout fixes, padded ascii diagram
* fira sans font for code
* consolidate intro
* start anatomy of sdk app
* wokring
* working
* querier
* working
* workiiiing
* finish
* add dep and makefile
* Apply suggestions from code review
Co-Authored-By: Alessio Treglia <quadrispro@ubuntu.com>
* typo
* typo
* Apply suggestions from code review
Co-Authored-By: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-Authored-By: Alessio Treglia <quadrispro@ubuntu.com>
Co-Authored-By: frog power 4000 <rigel.rozanski@gmail.com>
* refactor for new module interface
* karoly review
* Apply suggestions from code review
Co-Authored-By: Karoly Albert Szabo <szabo.karoly.a@gmail.com>
Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
* encoding
* working on baseapp doc
* baseapp work
* reorg
* almost there
* finish first draft
* remove old files
* module doc start
* finish intro
* working
* workinnn
* add transactions into core
* hans comments
* add transactions into core
* working
* gautier comments
* clean
* working
* consolidate intro
* querier
* workiiiing
* refactor for new module interface
* karoly review
* working on baseapp doc
* baseapp work
* reorg
* almost there
* finish first draft
* remove old files
* finish intro
* workinnn
* initial commit after rebase
* query-lifecycle and started modules-interfaces
* query-lifecycle first draft done
* module interfaces first draft
* rest and intro skeletons
* rest and intro done
* small edits and links
* comments
* revisions
* cli.md comments
* comments
* minor edits
* better flow for query lifecycle
* add transactions into core
* hans comments
* add transactions into core
* checkout master-docs files
* deleted some
* remove modules readme
* cli.md comments
* comments
* module-interfaces comments
* Merge PR #4857: Add Context concept doc
* working
* working
* finish messages and queries
* handler
* querier
* last comments!
* punctuation
* querier2
* consolidate intro
* querier
* workiiiing
* refactor for new module interface
* karoly review
* working on baseapp doc
* baseapp work
* reorg
* almost there
* finish first draft
* remove old files
* finish intro
* workinnn
* initial commit after rebase
* query-lifecycle and started modules-interfaces
* query-lifecycle first draft done
* module interfaces first draft
* rest and intro skeletons
* rest and intro done
* small edits and links
* comments
* revisions
* cli.md comments
* comments
* minor edits
* better flow for query lifecycle
* checkout master-docs files
* deleted some
* remove modules readme
* cli.md comments
* comments
* module-interfaces comments
* keeper
* genesis
* finish
* Apply suggestions from code review
Co-Authored-By: Hans Schoenburg <hschoenburg@users.noreply.github.com>
* hans review
* Update docs/core/baseapp.md
Co-Authored-By: Hans Schoenburg <hschoenburg@users.noreply.github.com>
* working
* last comment
* workin
* Apply suggestions from code review
* encoding and node
* almost finish store
* finish docs
* fixes
* fede comments + permalinks
* hans review
* add more permalinks
* update docs theme version (#5239)
* R4R: Docs Cleanup (#5246)
* start
* work
* work
* work
* remove table of content
* links intro
* fix links
* remove junk
* cleanup
* cleanup
* work
* finish cleanup
* addback readmes
* remove nft
* fix links
* remove dup
* remove dup
* remove dup
* remove dup
* remove dup
* fix links
* add subscribe events
* refine rest
* index page
* sidebar
* theme version
* theme version
* testing netlify
* theme version
* tooltip example
* version
* testing code embedding
* reverting back
* theme version
* version
* version
* version
* readme and version
* cleanup
* redo app anatomy
* modules readme, theme version
* theme version
* fix modules list
* theme version
* new snippets
* modules readme
* update docs readme
* modify synopsis
* version
* fix yaml
* version
* version
* version
* version
* version
* version
* version
* version
* version
* version
* add hide banner
* version
* version
* version
* small fixes
* modules readme, version
* remove hotkeys dep, version
* version
* version
* version
* version
* version
* version
* version
* slight notice
* fix links and hide
* permalinks
* small clean
* version
* resolve conflicts, add google analytics
* fix merge remants
* version
* changelog 1/2
* Changelog: docs UI
* version
* remove merge conflicts
* Code: Update link for Contributing to the docs to docs_readme
* HTML/CSS: Update layout of homepage footer to match new layout in Figma
* version
* final modifs
* modules, version
* modules readme
* link to module list from homepage
* version
* building modules link
* version
* version
* fonts
* version
* Update post.sh
* Switch keys commands to keyring
* Replace NewKeybase with NewKeyring
* Fix delete test
* Purge dead code
* Override COSMOS_SDK_TEST_KEYRING envvar to switch to a test keyring
* s/unningOnServer/unningUnattended/
C'ing @tnachen
* Add deprecated warning, output looks like the following:
```
$ gaiacli keys update --help
Command "update" is deprecated, it takes no effect with the new keyring
based backend and is provided only for backward compatibility with the
legacy LevelDB based backend.
Refer to your operating system's manual to learn how to change your
keyring's password.
Change the password used to protect private key
Usage:
gaiacli keys update <name> [flags]
Flags:
-h, --help help for update
Global Flags:
--chain-id string Chain ID of tendermint node
-e, --encoding string Binary encoding (hex|b64|btc) (default "hex")
--home string directory for config and data (default "/home/alessio/.gaiacli")
-o, --output string Output format (text|json) (default "text")
--trace print out full stack trace on errors
```
* Update multisign command
* Modify server.GenerateSaveCoinKey()
* GenerateSaveCoinKey more modifications
* Update docs
* Update upgrade module
New Signature interface available in the top level types package.
auth.StdSignature implements such interface. User defined auth
module can now define their own custom signature types.
Work carried out in the context of the following issues:
- #4488
- #4487
* cleanup staking references from types pkg
* check interface on runtime
* fixes
* rename validator set from slashing keeper
* final cleanup
* fix test
* fix querier
* fix tests
* rename interfaces
* update bond status
* fixes
* expected pkg
* ensure expected keepers match used funcs
* cha cha cha
Fixes#4284
Now prints:
gaiacli query distr comission --trust-node cosmos1234
ERROR: unknown command "comission" for "distr"
Did you mean this?
commission
Adds custom argument validation for subcommands with subcommands. Doesn't affect "query" or "tx" subcommands since they reside in gaia repo. All flags except help are disabled for these commands.
Implement the "CommunityPoolSpendProposal" as described in Cosmos Hub proposal 7.
Also a useful test of Git flow for merging features passed in governance proposals.
Gaia is removed from cosmos-sdk repository.
Few changes were required to make sure no packages depend on gaia subpackages.
CI config is amended accordingly.
Unnecessary targets are removed from Makefile.
Simulations run through a lightweight version of gaia renamed to simapp.
Closes: #4104
* first commit
* gaia cleanup
* ...
* staking multihooks
* missing module function return args
* bank module name constant
* working, module interface for x/
* got this thing compiling
* make test compiles and passes
* remove expanded simulation invariants
* genesis issue
* continued
* continued
* register crisis routes thought mm
* begin blocker to mm
* end blocker to mm
* empty routes not initialized
* move gaia initChainer sanity check to baseapp
* remove codecs from module manager
* reorging genesis stuff
* module manager passed by reference/bugfixes from working last commit
int
int
* move invariant checks from gaia to crisis
* typo
* basic refactors cmd/gaia/init
* working
* MultiStakingHooks from types to x/staking/types
int
* default module manager order of operations from input modules
* working
* typo
* add AppModuleBasic
* moduleBasicManager / non-test code compiles
* working attempting to get tests passing
* make test passes
* sim random genesis fix
* export bug
* ...
* genutil module
* genutil working
* refactored - happy with non-testing code in cmd/
* ...
* lint fixes
* comment improvement
* cli test fix
* compile housing
* working through compile errors
* working gettin' compilin'
* non-test code compiles
* move testnet to its own module
* reworking tests
int
* bez staging PR 1 comments
* concise module function-of names
* moved all tests from genesis_test.go to other genutil tests
* genaccounts package, add genutil and genaccounts to app.go
* docs for genutil genaccounts
* genaccounts iterate fn
* non-test code with genaccounts/ now compiles
* working test compiling
* debugging tests
* resolved all make test compile errors
* test debuggin
* resolved all unit tests, introduced param module
* cli-test compile fixes
* staking initialization bug
* code comment improvements, changelog entries
* BasicGaiaApp -> ModuleBasics
* highlevel explanation in types/module.go
* @alexanderbez comment revisions
* @fedekunze PR comments
* @alexanderbez PR comments (x2)
* @cwgoes comments (minor updates)
* @fedekunze suggestions
* panic on init with multiple validator updates from different modules
* initchain panic makes validate genesis fail
int
* AppModuleGenesis seperation
int
* test
* remove init panic logic in validate genesis replaced with TODO
* set maxprocs to match system's GOMAXPROCS
* Update circleci
* Cap maxprocs in CI to 4
* @alexanderbez recent comments addressed
* less blocks in twouble sims
int
* runsim error output flag
* -e on import_export as well
* error out
int
* Try to fix failures
* runsim
This is related to issue #3741 where fetching data from
invalid store, package panic.
Modify subspace.go to return errors instead of panic.
Also update other packages that import subspace and
handle errors.
* Remove shares concept from unbonding and redelegation
* Remove redundant staking REST type declerations
* Rename staking REST request types
* Fix slashing tests
* Fix staking tests
* Fix integration tests
* Add safety checks for when validator tokens are zero
* Attempt to fix simulation
* Add pending log entry
* Update docs
* Implement and use SharesFromTokens
* Rename ShareTokens and ShareTokensTruncated
* Rename Delegation to Amount in DelegateRequest
* Implement and use SharesFromTokensTruncated
* Update MsgDelegate to use Amount instead of Value
* Use constructors in staking sim messages
* Implement and use ValidateUnbondAmount
* add a bunch of tests, add DONTCOVER text tag
- Also fix flaky test (closes: #3559). Don't test values
returned by queries since there's no way to query a
specific height via REST.
* GetTempDir -> NewTestCaseDir
* Rename hooks from Before -> Pre and On -> Post
* Fix lint error
* Update x/slashing/hooks.go
Co-Authored-By: jackzampolin <jack.zampolin@gmail.com>
* Ignore linter warnings on hooks file
* swap 171, 172 for clarity (my own comment)
* Move generate_only and simulate to POST body in REST txs
Closes: #3056
* Run make format
* drop extra else block, outdent its block, and make linter happy
* Update PENDING.md
* Update LCD swagger docs
Fixes regression introduced by #2984.
Continuiation of #3033 , which didn't fix the simulation issues.
(candidate) Complete solution for #3019, 9002 halt bug.
From #2984, it isn't sufficient to take the fee pool rewards of a validator. Since we don't track delegator accums (as we do with validator accums), and because onValidatorModified >updateValidatorDistInfoFromPool is also being called upon delegation updates (or at least I believe this is the reason), it is necessary to also withdraw self delegation.
TODO: I don't think self-delegation should be required to be modified here... consider using a delegation hook to do the self-delegation withdraw part instead, e.g. splitting the updateValidatorDistInfoFromPool function into two. It might not result in cleaner code, however. Think hard.
* Some minor cleanup and reformatting to make things easier to understand
* Update onDelegationSharesModified hook
* Add pending log
* Address PR comments
* Fix linting
* Update PENDING.md
* Add simple period for expensive invariants
* Remove individual module simulations
* Simulate a few more blocks
* Add README explaining reason for shell scripts
* Deduplicate scripts, log exact replication command on failure
* Refactor invariants to take sdk.Context instead of baseapp.BaseApp
* Reference all issues in PENDING.md entry
* Remove no longer used simulation.RandSetup
* Bug fixes
* Address @rigelrozanski comments
* Fix typo
* Fix tag usage in handlers and EndBlocker
* Prepend action tag in baseApp
* Fix LCD
* Remove unnecessary conversion
* Fix invalid consensus pubkey in CLI tests
* Fix tag usage in cli_test
* Shorten bechify in test
* Update docs and PENDING
* Make simulator operations predetermined
* Use new dbm.ReverseIterator API
* Simulation speed improvements
* Pin exact revisions, not branches
* Rename 'MountStoresIAVL' to 'MountStores'
* Zero Power Block fees to community pool
Closes#2812
This PR adds the flag --for-zero-height to gaiad export, which runs several alterations to the application state to prepare for restarting a new chain in a consistent fashion.
It also:
* Moves Gaia's export code to cmd/gaia/app/export.go for cleaner separation.
* Fixes an inconsistency where we treated the initChainer as happening at height -1 - it should now happen at height 0, since the first header sent by Tendermint has height 1.
* Runs the runtime invariant checks on start (in initChainer)
* Adds a few auxiliary functions to clear slashing periods
* Removes the Height field from Delegation objects in x/stake, which was not used anywhere
* Move query and tx commands to modules
* Move GetAccountDecoder to prevent import cycle and replace calls to it with one call in WithAccountDecoder
* Add moduleClients interface and implement in all applicable modules
* Use module clients in cli initialization
* Update slashing import/export
* More slashing.WriteGenesis
* Add test import/export to CI
* Store equality comparison.
* Fix validator bond intra-tx counter
* Set timeslices for unbonding validators
* WriteGenesis => ExportGenesis
* Delete validators from unbonding queue when re-bonded
* Hook for validator deletion, fix staking genesis tests
Rework the process of loading a genesis.json file to load a starting app state and set of initial transactions to process.
* New function to create genesis account from MsgCreateValidator
* Add arg to PrintUnsignedStdTx() to actually operate in offline mode
* New func processStdTxs()
* Remove gen-tx command
* Cleanup, return validators as they need to be written into genesis.json
* Modify gaiad init to allow auto-create of stdTx
* Remove server/testnet.go
* Don't load node_key.json, which might not be available
* Get the txs through DeliverTx
* Add app.slashingKeeper.AddValidators at the end of genesis
* On InitChain(), Signature's account number must be 0
* Add (tentative?) command to generate {node_key,priv_validator}.json files
* Reintroduce gaiad testnet
* Prompt user for passwords
* Update gaia to work with auth.StdTx
* Remove test_utils, NewTestGaiaAppGenState is now deprecated
* Combine --genesis-format and --generate-only
* Improve sign command's --offline flag documentation
* Moniker must be set
* Call app.slashingKeeper.AddValidators() even if len(txs) == 0
* Refactoring, introduce gaiad init --skip-genesis, code cleanup
* Drop unnecessary workaround to make lcd_tests pass
* Reintroduce gentx
* Simple name changes, GenesisState.Txs -> .GenTxs; OWK -> OverwriteKey; OverwriteKeys -> OverwriteKey
This is basically copying over @anton's great script!
Also had to run `make format` to make this pass `test_lint`.
This PR also makes the make commands for tools further align
with the tendermint implementation.
* pulling in stuff from fee-distr PR
* revert some gov changes
* fix using cons address, also remove old commented distr code
* doc update
* val comments
* remove GetValidatorByConsPubKey
* changelog
* ...
* decimal func working
* decimal complete, untested
* fixing tests
* decimal compile errors resolved
* test compile errors
* precision multiplier test
* 1% laptop battery
* fixed TestNewDecFromStr
* equalities working
* fix bankers round chop
* ...
* working, some decimal issues resolved
* fix rounding error
* rounding works
* decimal works
* ...
* deleted rational
* rational conversion working
* revert changelog
* code compiles (not tests)
* went through all NewDec, made sure they were converted from NewRat properly
* test debugging
* all testing bugs besides the json marshalling fixed
* json unmarshal
* lint
* document update
* fix lcd test
* cli test fix
* mostly undo Dece -> Rate
* val comments
* Efficiency improvements
This now caches all of the precision multipliers (as they were all
used in non-mutative functions), and caches the precisionInt calculation.
(Now it just copies the already calculated value)
* Cache another precisionInt() call.
* Improve banker rounding efficiency
* remove defer, make negation in-place.
* chris val comments
* bez comments
* Aditya comments
* ...
* val comments
* rebasing start
* ...
* compiling
* tests pass
* cli fix
* anton, cwgoes, val comments
* val and jae comments
* type
* undo reuse quo