Amaury and Robert Zaremba
ba74a7c737
x{stake,slash,gov,distrib} In-place Store Migrations ( #8504 )
...
* Add 1st version of migrate
* Put migration logic into Configurator
* add test to bank store migration
* add test for configurator
* Error if no migration found
* Remove RunMigrations from Configurator interface
* Update spec
* Rename folders
* copy-paste from keys.go
* Fix nil map
* rename function
* Update simapp/app.go
Co-authored-by: Robert Zaremba <robert@zaremba.ch >
* Update simapp/app_test.go
Co-authored-by: Robert Zaremba <robert@zaremba.ch >
* Adderss reviews
* Fix tests
* Update testutil/context.go
Co-authored-by: Robert Zaremba <robert@zaremba.ch >
* Update docs for ConsensusVersion
* Rename to forVersion
* Fix tests
* Check error early
* Return 1 for intiial version
* Use MigrationKeeper
* Fix test
* Revert adding marshaler to Configurator
* Godoc updates
* Update docs
* Add distrib legacy folder
* Add tests for distrib migration
* Add gov migrations
* Copy paste whole keys file
* Add gov migrations
* Add staking
* Fix staking tests
* Update spec and module.go
* Update to latest changes
* Update migration scripts
* capability to 1
* Fix tests
* Add package godoc
* Remove whitespace
* Remove global
* Use Migrator
* Remove 042 keys files
* Fix build
* Unlambda
* Rename to Migrate1to2
Co-authored-by: Robert Zaremba <robert@zaremba.ch >
2021-02-25 10:43:31 +00:00
Amaury and Marko
eeb3eabdc6
docs: Add mention to use gRPC v1.33.2 ( #8658 )
...
Co-authored-by: Marko <marbar3778@yahoo.com >
2021-02-25 07:57:06 +00:00
Kimura Yu
115096b09d
change dir '.appd' to '.app' ( #8695 )
2021-02-25 07:52:17 +00:00
Federico Kunze
149bed48fd
bank: name and symbol metadata fields ( #8677 )
...
* bank: name and symbol metadata fields
* cli test
* changelog
2021-02-24 20:06:04 -03:00
77668a3c23
Add multisign batch command ( #7787 )
...
* initial commit
* update signing data
* Update signature
* code cleanup
* code cleanup
* Add test for ms batch
* update test
* add build flag
* update flags
* update tests
* add test for signbatch multisig
* update test
* fix sign batch multisig
* add test
* update offline usage
* update with sign batch fix
* fix lint
* update tests
* update test
* update tests
* fix signature only
* update seq
* fix conflicts
* update multisign
* revert unintended
* fix tests
* rename flags
* code refactor
* fix typo
* update docs
* update test
* Update x/auth/client/cli/tx_multisign.go
* use named return values and explicit return
* Update x/auth/client/cli/tx_multisign.go
Co-authored-by: Robert Zaremba <robert@zaremba.ch >
* Update x/auth/client/cli/tx_multisign.go
Co-authored-by: Robert Zaremba <robert@zaremba.ch >
Co-authored-by: Alessio Treglia <alessio@tendermint.com >
Co-authored-by: Jonathan Gimeno <jonathan@tendermint.com >
Co-authored-by: Jonathan Gimeno <jgimeno@gmail.com >
Co-authored-by: Robert Zaremba <robert@zaremba.ch >
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-02-24 19:56:10 +00:00
Marko
2c18d8a28b
add tm version to makefile ( #8689 )
2021-02-24 19:43:12 +00:00
MD Aleem and Anil Kumar Kammari
897f20b1d1
fix REST endpoints in migration docs ( #8648 )
...
* fix endpoints
* update docs
* fix routes
* update docs
Co-authored-by: Anil Kumar Kammari <anil@vitwit.com >
2021-02-24 15:03:27 +00:00
Amaury and Alessio Treglia
2539acd6f7
simapp InitChainer: use json instead of tmjson ( #7523 )
...
* simapp InitChainer: use json instead of tmjson
* First run for test
* Revert export_test
Co-authored-by: Alessio Treglia <alessio@tendermint.com >
2021-02-24 14:49:34 +00:00
Robert Zaremba and Alessio Treglia
7969135abc
rework unsafe string -> bytes conversion #8674 ( #8684 )
...
Changing the unsafe string -> bytes conversion to fix
a security concern.
Closes : #8670
Co-authored-by: Alessio Treglia <alessio@tendermint.com >
2021-02-24 12:47:32 +00:00
06ababdf36
ADR-033 cosmetic updates ( #8676 )
...
* ADR-033 cosmetic updates
* Apply suggestions from code review
Co-authored-by: Aaron Craelius <aaron@regen.network >
* remove invoker middleware framing
* Update NewFooMsgServer
* Update docs/architecture/adr-033-protobuf-inter-module-comm.md
Co-authored-by: Aaron Craelius <aaron@regen.network >
* Update docs/architecture/adr-033-protobuf-inter-module-comm.md
Co-authored-by: Cory <cjlevinson@gmail.com >
* Update docs/architecture/adr-033-protobuf-inter-module-comm.md
Co-authored-by: Cory <cjlevinson@gmail.com >
Co-authored-by: Aaron Craelius <aaron@regen.network >
Co-authored-by: Cory <cjlevinson@gmail.com >
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-02-24 11:45:21 +00:00
Cory
09c4dc0074
add mergify config for automated launchpad backports ( #8667 )
2021-02-24 07:22:19 +00:00
cc70749b07
keyring: remove hardcoded default passphrase on NewMnemonic ( #8662 )
...
* keyring: remove hardcoded default passphrase on NewMnemonic
* minor changes
* changelog
* address @alessio's comment
* Update CHANGELOG.md
* test fixes
* update comment and test
Co-authored-by: Alessio Treglia <alessio@tendermint.com >
Co-authored-by: Jonathan Gimeno <jgimeno@gmail.com >
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-02-23 16:49:09 +00:00
Robert Zaremba and Alessio Treglia
8dd6c325ba
multisig checks and optimization ( #8600 )
...
* Add Equal method to the CompactBitArray
* optimize NumTrueBitsBefore
* fix compact_bit_array
* add more tests and update comments
* add check for unique keys
* add unit tests
* LegacyAminoPubKey: rollback pubkey uniqueness check
* comment update
* Bechmark NumTrueBitsBefore
* Adding one more test
* changelog update
* Update crypto/types/compact_bit_array.go
Co-authored-by: Alessio Treglia <alessio@tendermint.com >
* change iff to if and only if
* add comment to NumTrueBitsBefore
* merge conflict
* Changelog cosmetic update
* Update CHANGELOG.md
Co-authored-by: Alessio Treglia <alessio@tendermint.com >
2021-02-23 15:55:06 +00:00
Robert Zaremba
8db9bbba04
linter: ignore false positives in types/address ( #8674 )
2021-02-23 13:38:37 +00:00
4c70268c9b
docs: update master docs ( #8353 )
...
* bump docs theme to 1.0.180
* add v0.40 to config.js versions
* Fix code snippet link
* reorganize order of versions
* 0.39, 0.41, master
* defaulting to 0.41
Co-authored-by: billy rennekamp <billy.rennekamp@gmail.com >
Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com >
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-02-23 10:57:04 +00:00
Alessio Treglia
f2ee972e31
various linter fixes ( #8666 )
2021-02-23 08:46:01 +00:00
Alessio Treglia
39b816ebb3
ci: update golangci-lint ( #8660 )
2021-02-22 15:50:58 +00:00
Riccardo Montagnin and Alessio Treglia
f49e1554e6
Deprecate SetFullFundraiserPath in favor of SetPurpose and SetCoinType ( #8629 )
...
Co-authored-by: Alessio Treglia <alessio@tendermint.com >
2021-02-22 15:14:09 +00:00
c2be53a447
auth: query all accounts stored via gRPC ( #8522 )
...
* Added the ability to query all accounts stored using gRPC
* Added CHANGELOG entry
* Fixed linting errors
* Update CHANGELOG.md
Co-authored-by: Amaury <amaury.martiny@protonmail.com >
* Update proto/cosmos/auth/v1beta1/query.proto
Co-authored-by: Amaury <amaury.martiny@protonmail.com >
* Run make proto-all
* Merged origin/master
* Applied suggestions
* Added CLI command
* Updated CHANGELOG
* Fixed merge conflicts
Co-authored-by: Amaury <amaury.martiny@protonmail.com >
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com >
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-02-22 14:21:46 +00:00
Alessio Treglia
3e6fb55e00
merge changelogs ( #8661 )
2021-02-22 14:09:03 +00:00
0b3af0e4e0
build(deps): bump github.com/prometheus/client_golang from 1.8.0 to 1.9.0 ( #8180 )
...
* build(deps): bump github.com/prometheus/client_golang
Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang ) from 1.8.0 to 1.9.0.
- [Release notes](https://github.com/prometheus/client_golang/releases )
- [Changelog](https://github.com/prometheus/client_golang/blob/master/CHANGELOG.md )
- [Commits](https://github.com/prometheus/client_golang/compare/v1.8.0...v1.9.0 )
Signed-off-by: dependabot[bot] <support@github.com >
* go mod tidy
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Robert Zaremba <robert@zaremba.ch >
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Amaury M <1293565+amaurym@users.noreply.github.com >
2021-02-22 12:34:58 +00:00
Aleksandr Bezobchuk and mergify[bot]
2f069c90b3
server: fix interceptConfigs ( #8641 )
...
* server: fix interceptConfigs
* cl++
* revert call
* update error message
* revise TestInterceptConfigsPreRunHandlerDoesNotMixConfigFiles
* remove TestInterceptConfigsPreRunHandlerDoesNotMixConfigFiles
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-02-22 11:51:35 +00:00
81cc5c1194
gRPC gateway issue with colons in the account url path ( #8649 )
...
* add allow_colon_final_segments flag
* add test
* Update x/auth/client/rest/rest_test.go
Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com >
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-02-22 11:30:45 +00:00
dependabot[bot]
7b527673cc
build(deps): bump github.com/prometheus/common from 0.16.0 to 0.17.0 ( #8637 )
...
Bumps [github.com/prometheus/common](https://github.com/prometheus/common ) from 0.16.0 to 0.17.0.
- [Release notes](https://github.com/prometheus/common/releases )
- [Commits](https://github.com/prometheus/common/compare/v0.16.0...v0.17.0 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-22 10:35:23 +00:00
dependabot[bot]
a846e4e4f9
build(deps): bump github.com/otiai10/copy from 1.4.2 to 1.5.0 ( #8655 )
...
Bumps [github.com/otiai10/copy](https://github.com/otiai10/copy ) from 1.4.2 to 1.5.0.
- [Release notes](https://github.com/otiai10/copy/releases )
- [Commits](https://github.com/otiai10/copy/compare/v1.4.2...v1.5.0 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-22 09:10:38 +00:00
Afanti and Marko
2f426136bd
typo fix ( #8647 )
...
Co-authored-by: Marko <marbar3778@yahoo.com >
2021-02-20 09:48:39 +00:00
MD Aleem
7df79b55f0
x/authz: Add DelegateAuthorization, UndelegateAuthorization ( #8472 )
...
* add proto msgs
* add delegate authorization
* add delegate authorization tests
* add delegate authorization to cli
* fix lint
* add cli tests
* made max_tokens optional
* add tests
* add table tests
* resolve conflicts
* add undelegate authorization
* proto-gen
* fix errors
* fix lint
* resolve conflicts
* fix imports
* add allow & deny lists to delegate authorization
* refactor authorizations
* proto-docs
* fix lint
* review changes
* golint
* proto lint
* review changes
* add staking authorization
* review changes
* fix protos
* review changes
* review changes
* clean docs
* proto-docs
* proto-gen
* proto-docs
2021-02-20 06:57:57 +00:00
7e481cc716
ADR 033: Inter-Module Communication ( #7459 )
...
* Initial WIP
* WIP
* WIP
* WIP
* WIP
* WIP
* WIP
* WIP
* Update Invoker
* WIP
* Tidying up
* Update title
* Cleanup diff
* cleanup
* Update context
* Add ClientConn impl
* WIP
* updates
* revert go.mod
* Describe internal methods and authorization
* Add comparison to x/capability
* Cleanup
* Apply suggestions from code review
Co-authored-by: Robert Zaremba <robert@zaremba.ch >
* Update docs/architecture/adr-033-protobuf-inter-module-comm.md
Co-authored-by: Robert Zaremba <robert@zaremba.ch >
* Update docs/architecture/adr-033-protobuf-inter-module-comm.md
Co-authored-by: Robert Zaremba <robert@zaremba.ch >
* Update docs/architecture/adr-033-protobuf-inter-module-comm.md
Co-authored-by: Robert Zaremba <robert@zaremba.ch >
* Update docs/architecture/adr-033-protobuf-inter-module-comm.md
Co-authored-by: Robert Zaremba <robert@zaremba.ch >
* ADR-033 Updates / Amendments (#8190 )
* updates to ADR33 based on 12.04.20 architecture call
* add comments about improved devx
* Update docs/architecture/adr-033-protobuf-inter-module-comm.md
Co-authored-by: Aaron Craelius <aaron@regen.network >
* update with atomicity note
Co-authored-by: Aaron Craelius <aaron@regen.network >
Co-authored-by: Robert Zaremba <robert@zaremba.ch >
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com >
Co-authored-by: Cory <cjlevinson@gmail.com >
Co-authored-by: Alessio Treglia <alessio@tendermint.com >
2021-02-19 15:34:54 +00:00
e577378497
Add failing address to multisig validation ( #8518 )
...
* Add helper to multisig validation
* Added bech32 address output
* Fix test
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Amaury M <1293565+amaurym@users.noreply.github.com >
2021-02-19 15:23:52 +00:00
colin axnér and mergify[bot]
ceeb2a0b34
Update baseapp docs ( #8630 )
...
* update docs
* Update docs/core/baseapp.md
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-02-19 15:07:52 +00:00
Alessio Treglia and mergify[bot]
9b7a12f7db
run make format ( #8642 )
...
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-02-19 15:02:53 +00:00
Helder Moreira
c6355fdb99
utils: fix wrong filename in error message ( #8643 )
2021-02-19 14:46:58 +00:00
dependabot[bot] and SaReN
ef8dabcf0f
build(deps): bump github.com/prometheus/common from 0.15.0 to 0.16.0 ( #8619 )
...
Bumps [github.com/prometheus/common](https://github.com/prometheus/common ) from 0.15.0 to 0.16.0.
- [Release notes](https://github.com/prometheus/common/releases )
- [Commits](https://github.com/prometheus/common/compare/v0.15.0...v0.16.0 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: SaReN <sahithnarahari@gmail.com >
2021-02-18 19:47:51 +00:00
73e38e4009
Use service Msgs in CLI tx commands ( #8512 )
...
* Use service Msgs in CLI tx commands
* Update comment
* Gracefully support amino signing
* CLI to use svc msg
* Fix lint
* Use fq method name in events
* Update tests
* Fix quering events
* Add docs
* Fix test build
* Fix events
* Fix search for events
* Handle old andd new event quering
* Use merge events
* Better encCfg
* Add page in search
* Fix tests
* Update test and comments
* Update x/auth/legacy/legacytx/stdsign.go
Co-authored-by: atheeshp <59333759+atheeshp@users.noreply.github.com >
* Fix conflict for weighted vote
* Make CopyTx actually run
* Fix CopyTx
* Fix test
* Add changelog entry
* Remove useless code
* Add msgs tests
* Remove testing proto Msg via CLI
* Fix lint
* Fix test
* Implement GetSignBytes on ServiceMsg
* Fix %T
Co-authored-by: atheeshp <59333759+atheeshp@users.noreply.github.com >
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-02-18 18:00:19 +00:00
Alessio Treglia
b4820fe491
Bump tendermint to v0.34.7 ( #8616 )
...
Fix build failures.
2021-02-18 08:33:56 +00:00
Federico Kunze
53637b607f
bank: additional denom metadata test case ( #8612 )
2021-02-17 23:57:28 +00:00
abb3dfefa0
[Bank] Remove the unsafe balance changing API ( #8473 )
...
* temp commit
* setbalance now is internal
* remove set balances in genesis
* feedback test commit
* update tests
* fix: genesis panic message
* fix not bonded pool
* fix(staking): genesis test
* fix(simapp): rollback state fix change
* fix(staking): genesis large val set test
* [Bank Refactor] Frojdi jonathan/remove setsupply (#8491 )
* init supply in a different way
* remove external usage of set supply
* change(staking): replace SetSupply with MintCoins in tests
* change(evidence): replace SetSupply with MintCoins in tests
* change(crisis): remove SetSupply in tests
* change(bank): remove set supply from genesis tests
* change(bank): remove set supply from keeper tests
* change(bank): remove remaining set supply usage from keeper tests
* change(bank): remove set supply usage from grpc query and querier tests
* change(bank): remove SetSupply from keeper interface
Co-authored-by: Frojdi Dymylja <frojdi.dymylja@gmail.com >
* remove setbalances from genesis in gov
* remove keyring
* add init genesis state
* change(staking): make genesis checks coherent and add tests
* remove setbalances on distribution
* fix(staking): genesis tests
* [Bank Refactor]: Remove SetBalances usage from the code and tests (#8509 )
* change(distribution): remove SetBalances usage from keeper tests
* add(simapp): FundAccount utility function
* chore(staking): use FundAccount in keeper tests
* change(staking): remove usage of SetBalance in allocation tests
* change(staking): remove usage of SetBalance in delegation tests
* change(staking): remove usage of SetBalance in proposal handler tests
* change(staking): remove usage of SetBalances in grpc query tests
* change(staking): remove usage of SetBalances in operations tests
* change(distribution): remove usage of SetBalances in genesis
* change(authz): remove usage of SetBalances keeper and operations test
* fix(authz): TestKeeperFees failing test
* change(slashing): remove SetBalances from expected BankKeeper
* change(slashing): remove usage of SetBalances in tests
* change(distribution): remove SetBalances from expected BankKeeper
* change(genutil): remove usage of SetBalances from tests
* change(gov): remove SetBalances from expected BankKeeper
* change(gov): remove usage of SetBalances from tests
* change(staking): remove usage of SetBalances from slash tests
* change(staking): remove SetBalances from expected BankKeeper
* change(staking): remove usage of SetBalances from delegation tests
* change(staking): remove usage of SetBalances from operations tests
* change(staking): remove usage of SetBalances from validator tests
* change(bank): remove usage of SetBalances from app tests
* change(bank): remove usage of SetBalances from bench tests
* change(bank): remove usage of SetBalances from querier tests
* change(bank): remove usage of SetBalances from grpc query tests
* change(bank): remove usage of SetBalances from operations tests
* change(bank): partially remove usage of SetBalances from keeper tests
* change(bank): finalize removal of usage of SetBalances from keeper tests
* change(auth): remove usage of SetBalances from verify tests
* change(auth): partially remove usage of SetBalances from tests
* [Bank refactor]: finalize removal of setbalances from auth (#8527 )
* add tests with is check tx
* temp commit
* fix test
* fix other test and remove setbalances
* change(auth): remove usage of SetBalances is vesting tests
Co-authored-by: Jonathan Gimeno <jgimeno@gmail.com >
* change(types): remove usage of SetBalances in queries
* fix(types): pagination tests
* [Bank refactor] fix pagination tests (#8550 )
* fix tests
* lint
* change(bank): remove SetBalances from keeper public API
Co-authored-by: Jonathan Gimeno <jgimeno@gmail.com >
Co-authored-by: SaReN <sahithnarahari@gmail.com >
* change(bank): remove SubtractCoins from keeper public API
* change(ibc/transfer): remove AddCoins from relay tests
* change(bank): remove AddCoins from public keeper API
* fix imports
* remove set balances
* fix fee test
* remove set balances
* fix(staking): remove dependency on minter authorization for staking pools
* chore: update CHANGELOG.md
* update: x/distribution/keeper/keeper_test.go
Co-authored-by: Robert Zaremba <robert@zaremba.ch >
* Update simapp/test_helpers.go
Co-authored-by: Robert Zaremba <robert@zaremba.ch >
* Update x/staking/genesis_test.go
Co-authored-by: Robert Zaremba <robert@zaremba.ch >
* fix(simapp): FundAccount amount variable name
* fix some PR issues
Co-authored-by: Frojdi Dymylja <frojdi.dymylja@gmail.com >
Co-authored-by: Frojdi Dymylja <33157909+fdymylja@users.noreply.github.com >
Co-authored-by: SaReN <sahithnarahari@gmail.com >
Co-authored-by: Alessio Treglia <alessio@tendermint.com >
Co-authored-by: Robert Zaremba <robert@zaremba.ch >
2021-02-17 18:20:33 +00:00
0bcc402790
add backport label to prs ( #8609 )
...
Backport a PR by just adding the target branch's label, e.g. backport-to-v0.41.x.
Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com >
Co-authored-by: Alessio Treglia <alessio@tendermint.com >
2021-02-17 15:15:22 +00:00
Amaury
50dec2e9fa
Add v0.41.1 section in Changelog ( #8610 )
2021-02-17 13:40:59 +00:00
cc215d6097
Update master CHANGELOG.md with v0.41, enable building docs for v0.41 ( #8562 )
...
* pull changelog updates in from v0.41.0 release
* update docs versions file to only build off release/v0.41.x release branch for Stargate docs
* Update CHANGELOG.md
Co-authored-by: Robert Zaremba <robert@zaremba.ch >
Co-authored-by: Amaury M <1293565+amaurym@users.noreply.github.com >
Co-authored-by: Robert Zaremba <robert@zaremba.ch >
2021-02-17 12:41:08 +00:00
Emmanuel T Odeke and Alessio Treglia
d56de85a54
x/gov/simulation: fix wrong NewDecodeStore Proposal decoding + proper tests ( #8603 )
...
The code in NewDecodeStore decoded the wrong proposal due
to a typographical error, but the tests used the exact same
value for the key value pairs hence the typo could never be caught.
I noticed it during an audit of the code, and I've fixed the
tests to pass in varying values for the various key value pairs.
Fixes #8570
Co-authored-by: Alessio Treglia <alessio@tendermint.com >
2021-02-17 03:04:43 -08:00
Emmanuel T Odeke
f970056a92
crypto/hd: make DerivePrivateKeyForPath error and not panic on trailing slashes ( #8607 )
...
Detected during my audit, right before fuzzing, the code that
checked for presence of hyphens per path segment assumed that
the part would always be non-empty. However, with paths such as:
* m/4/
* /44/
* m/4///
it'd panic with a runtime slice out of bounds.
With this new change, we now:
* firstly strip the right trailing slash
* on finding any empty segments of a path return an error
Fixes #8557
2021-02-17 10:30:04 +00:00
Emmanuel T Odeke
56fc3fc572
codec/types: avoid unnecessary allocations for NewAnyWithCustomTypeURL on error ( #8605 )
...
Avoids a bleed out attack in which a node can be made to allocate
memory slowly or very fast in small strides, by sending bad data
to code that invokes NewAnyWithCustomTypeURL, in which we
unconditionally returned a new Any object. On a 64-bit machine,
this would waste 96 bytes per invocation even on error.
Added a test to ensure zero allocations with a fixed error returned.
Also added a benchmark which shows reduction in wasted allocations and
wasted CPU time:
```shell
$ benchstat before.txt after.txt
name old time/op new time/op delta
NewAnyWithCustomTypeURLWithErrorReturned-8 142ns ± 6% 55ns ±12% -61.65% (p=0.000 n=9+10)
name old alloc/op new alloc/op delta
NewAnyWithCustomTypeURLWithErrorReturned-8 96.0B ± 0% 0.0B -100.00% (p=0.000 n=10+10)
name old allocs/op new allocs/op delta
NewAnyWithCustomTypeURLWithErrorReturned-8 1.00 ± 0% 0.00 -100.00% (p=0.000 n=10+10)
```
Fixes #8537
2021-02-17 10:13:00 +00:00
47dd07d4ff
Modify IBC client governance unfreezing to reflect ADR changes ( #8405 )
...
* update proto files
* make proto-gen
* update clienttypes
* update localhost and solo machine
* refactor tm client proposal handling
* copy metadata
* self review fixes
* update 02-client keeper tests
* fix 02-client type tests
* fix localhost and solomachine tests
* begin updating tm tests
* partially fix tm tests
* increase codecov
* add more tests
* add changelog
* update specs
* add docs
* fix test
* modify adr
* allow modified chain-ids
* add CLI command
* fix typos
* fix lint
* Apply suggestions from code review
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com >
* update docs, rm example
* Update docs/ibc/proposals.md
Co-authored-by: Christopher Goes <cwgoes@pluranimity.org >
* update height checks to reflect chain-id changes cc @AdityaSripal
* Apply suggestions from code review
Co-authored-by: Christopher Goes <cwgoes@pluranimity.org >
* Apply suggestions from code review
Co-authored-by: Aditya <adityasripal@gmail.com >
* address most of @AdityaSripal suggestions
* update docs per review suggestions
* Update x/ibc/core/02-client/types/proposal.go
* add proposal handler
* register proposal type
* register proposal on codec
* fix routing
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com >
Co-authored-by: Christopher Goes <cwgoes@pluranimity.org >
Co-authored-by: Aditya <adityasripal@gmail.com >
2021-02-16 15:31:40 +00:00
Prathyusha Lakkireddy and mergify[bot]
d3e51cf8a7
Improve create proposal code ( #8586 )
...
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-02-15 15:43:09 +00:00
Robert Zaremba and Marie Gauthier
adbf5a71e6
adr-028 address generation ( #8415 )
...
* Optimize secp256k1 hashing
* Add ADR-028 related functions
* Update ed25519
* fix errors/handle
* fix build
* fix build
* Add tests and update function names
* wip
* Use LengthPrefix for composed addresses
* add tests for NewComposed
* add module hash function
* fix append
* rollback ed25519 ADR-28 update
* rollback ed25519 ADR-28 test
* Adding Module tests and convert tests to test suite
* convert store_key_test.go to test suite
* rollback test check comment
* Rename assert.Panic and add comment
* add note to ed25519 about SDK support with regards to ADR-28
* Update ed25519 TestAddress
* Adding Deprecated notes for ed25519.PrivKey
* Update crypto/keys/ed25519/ed25519.go
Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com >
* Update types/address/hash_test.go
Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com >
* solve linter issues
* linter: remove gocritic
Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com >
2021-02-15 15:32:51 +00:00
Marko and Aleksandr Bezobchuk
b4690d8ec6
atlas: evidence ( #8561 )
...
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com >
2021-02-15 13:51:42 +00:00
a534a960db
types: use (*math/big.Int).BitLen() == 0 to check if value is 0 ( #8580 )
...
Instead of using len((*math/big.Int).Bytes()) == 0, which expensively
creates a byte slice and marshals a value, on the majority hot path,
instead use the cheaper method .BitLen() to check if 0.
Benchmarking results, just from types:
name old time/op new time/op delta
CoinsAdditionIntersect/sizes:_A_1,_B_1-8 132ns ± 2% 126ns ±13% -4.55% (p=0.050 n=10+10)
CoinsAdditionIntersect/sizes:_A_5,_B_5-8 1.41µs ± 3% 1.41µs ± 2% ~ (p=1.000 n=10+10)
CoinsAdditionIntersect/sizes:_A_5,_B_20-8 2.30µs ± 1% 2.27µs ± 3% ~ (p=0.066 n=10+10)
CoinsAdditionIntersect/sizes:_A_1,_B_1000-8 30.9µs ± 3% 30.7µs ± 1% ~ (p=0.218 n=10+10)
CoinsAdditionIntersect/sizes:_A_2,_B_1000-8 31.4µs ± 3% 30.8µs ± 2% -1.94% (p=0.015 n=10+10)
CoinsAdditionNoIntersect/sizes:_A_1,_B_1-8 116ns ± 1% 114ns ± 4% ~ (p=0.142 n=10+10)
CoinsAdditionNoIntersect/sizes:_A_5,_B_5-8 1.11µs ± 1% 1.08µs ± 3% -2.36% (p=0.003 n=8+10)
CoinsAdditionNoIntersect/sizes:_A_5,_B_20-8 1.85µs ± 2% 1.82µs ± 1% -1.38% (p=0.001 n=10+9)
CoinsAdditionNoIntersect/sizes:_A_1,_B_1000-8 30.7µs ± 1% 30.6µs ± 3% ~ (p=0.393 n=10+10)
CoinsAdditionNoIntersect/sizes:_A_2,_B_1000-8 31.1µs ± 1% 30.7µs ± 2% -1.32% (p=0.015 n=10+10)
CoinsAdditionNoIntersect/sizes:_A_1000,_B_2-8 31.0µs ± 2% 30.7µs ± 2% ~ (p=0.190 n=10+10)
Bech32ifyPubKey-8 28.8µs ± 5% 28.8µs ± 3% ~ (p=0.965 n=10+8)
GetPubKeyFromBech32-8 38.8µs ± 3% 39.4µs ± 2% +1.70% (p=0.013 n=9+10)
ParseCoin-8 16.7µs ± 6% 15.8µs ± 4% -5.21% (p=0.001 n=10+10)
MarshalTo-8 521ns ± 5% 508ns ± 3% -2.56% (p=0.029 n=10+10)
UintMarshal-8 3.10µs ±17% 2.56µs ± 3% -17.45% (p=0.000 n=10+9)
IntMarshal-8 2.52µs ±10% 1.94µs ± 2% -23.10% (p=0.000 n=10+10)
name old alloc/op new alloc/op delta
Bech32ifyPubKey-8 4.02kB ± 0% 4.02kB ± 0% ~ (all equal)
GetPubKeyFromBech32-8 2.48kB ± 0% 2.48kB ± 0% ~ (all equal)
ParseCoin-8 2.21kB ± 0% 2.21kB ± 0% ~ (all equal)
MarshalTo-8 80.0B ± 0% 80.0B ± 0% ~ (all equal)
UintMarshal-8 440B ± 0% 392B ± 0% -10.91% (p=0.000 n=10+10)
IntMarshal-8 216B ± 0% 168B ± 0% -22.22% (p=0.000 n=10+10)
name old allocs/op new allocs/op delta
Bech32ifyPubKey-8 25.0 ± 0% 25.0 ± 0% ~ (all equal)
GetPubKeyFromBech32-8 85.0 ± 0% 85.0 ± 0% ~ (all equal)
ParseCoin-8 71.0 ± 0% 71.0 ± 0% ~ (all equal)
MarshalTo-8 2.00 ± 0% 2.00 ± 0% ~ (all equal)
UintMarshal-8 31.0 ± 0% 25.0 ± 0% -19.35% (p=0.000 n=10+10)
IntMarshal-8 24.0 ± 0% 18.0 ± 0% -25.00% (p=0.000 n=10+10)
name old speed new speed delta
UintMarshal-8 2.27MB/s ±15% 2.75MB/s ± 2% +20.87% (p=0.000 n=10+8)
IntMarshal-8 2.78MB/s ± 9% 3.60MB/s ± 2% +29.69% (p=0.000 n=10+10)
Fixes #8575
Co-authored-by: Alessio Treglia <alessio@tendermint.com >
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-02-15 10:53:10 +00:00
MD Aleem and mergify[bot]
d162b29cf4
Add pagination to GetValidatorSetByHeight response ( #8567 )
...
* fix pagination
* add test
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-02-15 10:41:39 +00:00
Amaury and Robert Zaremba
e306e5b6f5
Make gRPC requests go through tendermint Query ( #8549 )
...
* Make gRPC requests go through tendermint Query
* Remove commented code
* Dry run in InitChain?
* Save type of first run
* Add metadata in repsonse
* Factorize some code
* Fix lint
* Update comments
* Fix md test
* Fix test expected
* Don't put RunGRPCQuery as clientCtx method
* Update baseapp/grpcserver.go
Co-authored-by: Robert Zaremba <robert@zaremba.ch >
* Address review comments
Co-authored-by: Robert Zaremba <robert@zaremba.ch >
2021-02-15 10:01:44 +00:00