This change removes a code pattern that I noticed while on a late night
audit of cosmovisor in which
strings.Builder.WriteString(fmt.Sprintf(...))
calls were being made, yet that's counterproductive to using fmt.Fprintf
which will check whether the writer implements .WriteString and then
avoids the need to firstly build a string using fmt.Sprintf.
The performance wins from this change transcend all dimensions as
exhibited below:
```shell
$ benchstat before.txt after.txt
name old time/op new time/op delta
DetailString-8 5.48µs ±23% 4.40µs ±11% -19.79% (p=0.000 n=20+17)
name old alloc/op new alloc/op delta
DetailString-8 2.63kB ± 0% 2.11kB ± 0% -19.76% (p=0.000 n=20+20)
name old allocs/op new allocs/op delta
DetailString-8 63.0 ± 0% 50.0 ± 0% -20.63% (p=0.000 n=20+20)
```
Fixes#13229
<!--
The default pull request template is for types feat, fix, or refactor.
For other templates, add one of the following parameters to the url:
- template=docs.md
- template=other.md
-->
## Description
ref: #7517
* [x] Remove the x/{module}/client/rest folder
* [x] Remove all glue code between simapp/modules and the REST server
<!-- Add a description of the changes that this PR introduces and the files that
are the most critical to review. -->
---
### Author Checklist
*All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.*
I have...
- [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [x] added `!` to the type prefix if API or client breaking change
- [x] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] provided a link to the relevant issue or specification
- [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules)
- [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#testing)
- [x] added a changelog entry to `CHANGELOG.md`
- [ ] included comments for [documenting Go code](https://blog.golang.org/godoc)
- [ ] updated the relevant documentation or specification - see #9615
- [x] reviewed "Files changed" and left comments if necessary
- [x] confirmed all CI checks have passed
### Reviewers Checklist
*All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.*
I have...
- [x] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [x] confirmed `!` in the type prefix if API or client breaking change
- [ ] confirmed all author checklist items have been addressed
- [ ] reviewed state machine logic
- [x] reviewed API design and naming
- [ ] reviewed documentation is accurate - see #9615
- [ ] reviewed tests and test coverage
- [ ] manually tested (if applicable)
* limit context background
* update
* fixed minor issues
* fixed TestStatusCommand
* Fix keyring import from older versions. (#8436)
Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: sahith-narahari <sahithnarahari@gmail.com>
* Add changelog (#8490)
* fix: tendermint subcommands should not create missing files (#8481)
If the user specifies an incorrect `--home`, then the old behaviour
would automatically populate it with fresh values, but we should
fail instead.
* limit context background
* update
* fixed minor issues
* fixed TestStatusCommand
* statik.go
* replaced static.go
Co-authored-by: Jonathan Gimeno <jgimeno@gmail.com>
Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: sahith-narahari <sahithnarahari@gmail.com>
Co-authored-by: Michael FIG <mfig@agoric.com>
Fix issue encountered in the stargate-2 testnet:
Error: RPC error -32603 - Internal error: page should be within [1, 1] range, given 0
Co-authored-by: Helder Moreira <helder@tendermint.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
* 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>
Also remove duplicate pagination:
- move function to extract query params into types/rest
- adjust pagination values locally until available in tendermint for validators
Code cleanup:
- helper function in test
- fix pagination description in swagger.yaml
- uint instead of int when possible
Closes: #3226Closes: #3991
{,scripts/}Makefile:
- Remove gometalinter, install golangci-lint.
- Remove distinction between tools and devtools.
Just tools is enough.
- test_lint -> lint
Migrating away from underscore separated names.
- Remove unnecessary targets.
- Drop tendermint/lint. Incompatbile with golangci-lint
and no longer necessary anyway.
- Fix misleading message in go-mod-cache.
- New ci-target to avoid download tools twice.
- Run tests with -mod=readonly.
Port tools/gometalinter.json to .golangci.yml
Update CircleCI config accordingly.
Closes: #3896
* --chain-id must be a persistent flag to be successfully read from config
* Prevent panic when not enough arguments
* Add docs on gaiacli config
* Small tweak
* Allow a gaia-cli config file to be created
Closes#1613.
Closes#1275.
Closes#1956.
* Add homedir to Gopkg.toml
* Updates from code review
* Post-rebase fixes
* Update test
* Code review refactor
* Fixes from code review
* Fix import
* Fix broken test
* Fixes from rebase
* Fix formatting
* Add new account bech32 prefixes with godocs
* Restructure spacing of existing account code
* Update account godocs
* More account godoc updates + new tm pub/addr helpers
* Update validator type to use new account types/bech32 prefixes
* Fix account documentation errors
* Update Bech32 prefix for consensus nodes
* Update Bech32 spec doc
* Fix account type tests
* Add missing account consensus functions, clear up godocs, and fix tests
* Add to TestRandBech32PubkeyConsistency check
* Update initialization of validator public keys
* Update query signing info command
* Implement new ConsAddress type with associated unit tests
* [WIP] Update stake and slashing parameters
* Update all calls to MustBech32ifyValPub
* [WIP] Validator operator API updates
* [WIP] Fix and update unit tests
* Fix gov logs (helping to debug failing tests)
* Fix gov tally
* Fix all broken x/ unit tests
* Update gaia app genesis address logic
* Fix linting errors
* Fix broken LCD tests
* Fix broken CLI tests
* Implement command to get validator address and pubkey from key name
* Add support for getting validator key information via REST endpoint
* Update PENDING log
* Update docs
* Revert GaiaGenTx.PubKey bech32 prefix
* Fix broken docs and cli tests
* Update genesis to use correct Bech32 (cons) prefix for pubkeys
* Update docs and unit tests to reflect new cosmos account bech32 prefix
* minor formatting