Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Stargate] Merge & tag v0.40.0-rc0 #7502

Merged
merged 39 commits into from
Oct 10, 2020
Merged

[Stargate] Merge & tag v0.40.0-rc0 #7502

merged 39 commits into from
Oct 10, 2020

Conversation

clevinson
Copy link
Contributor

@clevinson clevinson commented Oct 9, 2020

Description

This PR merges recent changes from master into v0.40.x branch, and updates changelog with recent additions and a release date for v0.40.0-rc0.

Merging can happen with sufficient approvals, but the RC should not be tagged and/or published before Tues Oct 13th, as to avoid publishing on a Friday before a (US) long weekend :)

After merging:

  • Tag v0.40.0-rc0 off merge commit
  • Publish RC on github with release notes inline

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

  • Targeted PR against correct branch (see CONTRIBUTING.md)
  • Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
  • Code follows the module structure standards.
  • Wrote unit and integration tests
  • Updated relevant documentation (docs/) or specification (x/<module>/spec/)
  • Added relevant godoc comments.
  • Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
  • Re-reviewed Files changed in the Github PR explorer
  • Review Codecov Report in the comment section below once CI passes

dependabot bot and others added 30 commits October 2, 2020 04:21
Bumps [actions/setup-go](https://github.com/actions/setup-go) from v2.1.2 to v2.1.3.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](actions/setup-go@v2.1.2...37335c7)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* ibc: protobuf v1

* update codec

* core client

* core connection

* core host

* core commitment

* core port

* core channel

* core ibc module files

* core exported

* core types & simulation

* core spec

* make proto-all

* ibc alias
* LGTM alerts audit

* Update x/simulation/mock_tendermint.go

Co-authored-by: Alessio Treglia <[email protected]>

* Update x/staking/keeper/delegation.go

Co-authored-by: Alessio Treglia <[email protected]>

* comment false positive

Co-authored-by: Alessio Treglia <[email protected]>
* update channel handshake

Add ProvedID to ChanOpenTry which allows for flexible handshake identifier selection. Add CounterpartyChannelID to OpenAck. Update and add to handshake tests. Modify msgs_test. Counterparty ValidateBasic will return nil on an empty channel identifier to allow for flexible handshake identifier selection to succeed.

* Update x/ibc/core/04-channel/keeper/handshake.go

* add conn open init docs

* update docs for conn open try and conn open ack

* update channel docs
The simd target is removed in favor of build/install targets:

- build runs go build ./... with all appropriate flags and args.
- install runs go install ./... with all approriate flags and args.

localnet-start now depends on build-linux [1].

[1] This should hopefully put a smile on @alexanderbez's face!

Remove unused install scripts and snapcraft build files.
* ADR 023 updates

* ADR 023 updates

* ADR 023 updates

* Update docs/architecture/adr-023-protobuf-naming.md

Co-authored-by: Amaury Martiny <[email protected]>

* Update ADR 023

Co-authored-by: Federico Kunze <[email protected]>
Co-authored-by: Amaury Martiny <[email protected]>
* Fix package-lock

* Fix package-lock

* update package-lock

* bump docs theme to 1.0.171

* Fix typo, chinese character in URL
* update dead doc links

* bump docs theme to 1.0.172

* [favicons] add favicons

* makefile: change build-docs target for shells other than bash

Co-authored-by: Denis Fadeev <[email protected]>
Co-authored-by: Federico Kunze <[email protected]>
Co-authored-by: vms <[email protected]>
Co-authored-by: Helder Moreira <[email protected]>
Co-authored-by: Amaury Martiny <[email protected]>
Co-authored-by: Alessio Treglia <[email protected]>
* rename provedID

rename provedID to counterpartyChosenID for connection and channel. Update if statement in handshake and tests. Ref: #7439 (comment)

* update docs

Co-authored-by: Christopher Goes <[email protected]>
* WIP on BaseAccount protobuf pub_key

* WIP on BaseAccount.PubKey

* Migrate supply

* Change validator_slash_event

* Add evidence

* Add evidence to genutil migrate

* Fix lint

* Add println

* No _ in package name

* Add slashing migrate

* Add tests for slashing

* Add capacity to array

* stray fmt.Prinlnt

* WIP on BaseAccount pub key

* Put current types in v0_40

* Add evidence old types

* Remove useless impl

* Add RegisterInterface

* Add clientCtx to argument

* Register evidence interfaces

* Update PubKey

* Update Account

* Docs

* WIP on protobuf keys

* Use Type() and Bytes() in sr25519 pub key Equals

* Add tests

* Add few more tests

* Update other pub/priv key types Equals

* Fix PrivKey's Sign method

* Rename variables in tests

* Fix infinite recursive calls

* Use tm ed25519 keys

* Add Sign and VerifySignature tests

* Remove ed25519 and sr25519 references

* proto linting

* Add proto crypto file

* Implement some of the new multisig proto type methods

* Add tests for MultisigThresholdPubKey

* Add tests for pubkey pb/amino conversion functions

* Move crypto types.go and register new proto pubkeys

* Add missing pointer ref

* Address review comments

* panic in MultisigThresholdPubKey VerifySignature

* Fix compile errors

* Remove pk conversion in ante handler

* Use internal crypto.PubKey in multisig

* Add tests for MultisigThresholdPubKey VerifyMultisignature

* Only keep LegacyAminoMultisigThresholdPubKey and move to proto keys to v1

* Remove conversion functions and introduce internal PubKey type

* Override Amino marshaling for proto pubkeys

* Merge master

* Make proto-gen

* Start removal of old PubKeyMultisigThreshold references

* Fix tests

* Fix solomachine

* Fix ante handler tests

* Pull latest go-amino

* Remove ed25519

* Remove old secp256k1 PubKey and PrivKey

* Uncomment test case

* Fix linting issues

* More linting

* Revert tests keys values

* Add Amino overrides to proto keys

* Add pubkey test

* Fix tests

* Use threshold isntead of K

* Standardize Type

* Revert standardize types commit

* Fix build

* Fix lint

* Fix lint

* Add comment

* Register crypto.PubKey

* Add empty key in BuildSimTx

* Simplify proto names

* Unpack interfaces for signing desc

* Fix IBC tests?

* Format proto

* Use secp256k1 in ibc

* Fixed merge issues

* Uncomment tests

* Update x/ibc/testing/solomachine.go

* UnpackInterfaces for solomachine types

* Remove old multisig

* Add amino marshal for multisig

* Fix lint

* Correctly register amino

* One test left!

* Remove old struct

* Fix test

* Fix test

* Unpack into tmcrypto

* Remove old threshold pubkey tests

* Fix register amino

* Fix lint

* Use sdk crypto PubKey in multisig UnpackInterfaces

* Potential fix?

* Register LegacyAminoPubKey

* Register our own PubKey

* Register tmcrypto PubKey

* Register both PubKeys

* Register interfaces in test

* Refactor fiels

* Add comments

* Remove old cosmos-sdk/crypto/keys reference

* Use anil's suggestion

* Add norace back

* Use our own ed25519

* Fix pubkey types

* Fix network tests

* Fix more tests

* Make ibc work?

* Use TM pubkey in NewValidator

* Fix lint

* Put interface in tpyes

* rerun CI

* Better name register

* Remove stray code

* Add ed25519 tests

* Check nil

* Correct interface impl assert

* rerun CI

* Add fix for Bech32

* Address comments

* FIx lint

* Add tests for solomachine unpack interfaces

* Fix query tx by hash

* Better name in amino register

* Fix lint

* Add back ed25519 test (fixes #7352)

* go mod tidy

* Fix merge issues

* Sort import

* Add test for backwards-compatibility

* Fix tests

* Fix merge issue

* Fix merge issues

* Fix tests build

* Fix tests

* Marshal to proto

* Fix 040 marshalling

* Remove dontcover

* Fix equivocation

* Add vesting

* Fix vesting

* Fix slashing test

* Fix evidence test

* Remove pb.go files

* Fix legacy auth tests

* deterministic tests help

* Fix auth tests

* Remove useless code

* Small cleanups

* Add comment

* Fix migrate hub

* fmt.Println

* No need to marshal indent

* Update proto comment

* Fix merge issues

* Support nil pubkey

* Use protobuf empty

* Address comments

* Fix tests

* Unify legacy package names

Co-authored-by: Aaron Craelius <[email protected]>
Co-authored-by: Aaron Craelius <[email protected]>
Co-authored-by: blushi <[email protected]>
Co-authored-by: Alexander Bezobchuk <[email protected]>
Co-authored-by: colin axnér <[email protected]>
Co-authored-by: Zaki Manian <[email protected]>
Co-authored-by: Alessio Treglia <[email protected]>
* Updating the ADR template

Introducing few small sections to the template:

* Summary: IMHO it's very valuable for every reader to quickly see what this ADR is about. Must be short.
* Backwards Compatibility -- each ADR MUST analyze backward compatibility issue. Let's make it clear and put as the ADR subsection.
* Test Cases -- often, when analyzing a problem and implementing a solution, it's very useful to define test-cases. Hence it SHOULD be a part of the template.

Inspiration: Enterprise Ethreum Alliance Proposal [template](https://github.com/EntEthAlliance/EEPs/blob/master/draft/templates/EEP0002-Standards_Proposal_Template.md)

* change Summary -> Abstract
* WIP on adding Fee granter field

* WIP on adding Fee granter field

* WIP on adding Fee granter field

* Update comments, add tests
* enforce client-chosen parameters are persisted across upgrades in tendermint clients

* Update x/ibc/light-clients/07-tendermint/types/upgrade.go

Co-authored-by: colin axnér <[email protected]>
* Use nil instead of protobuf.Empty in genesis

* Fix tests
Allow ValidateDenom to be customized per application.

closes: #6744
* prevent upgrades if client is expired

* fix test
* Remove deprecated docs and add first guidelines to protobuf migration

* Add conventions

* Reorder and add more FAQ doc

* Update guidelines for pb msg definitions

* Use commit hash in github links

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
#7471)

* update err msg and add passing default in simapp

* fix default

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* require old chain halts before upgrade

* Update proto/ibc/core/client/v1/client.proto

Co-authored-by: Federico Kunze <[email protected]>

* start address reviews

* Apply suggestions from code review

Co-authored-by: colin axnér <[email protected]>

* 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 <[email protected]>
Co-authored-by: colin axnér <[email protected]>
Co-authored-by: Colin Axner <[email protected]>
* Add test for /block_results

* Fix test

* Use http RPC client

* Fix temporarily block_results

* Use init

* Add flag back

* Remove init

* Update TM master

* Address comments

* Fix build

* require refactor

* Add build flag back

* More timeout on test

* fix timeout-minutes

Co-authored-by: Aaron Craelius <[email protected]>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* add ConsensusParams to ClientState

* validate self consensu params using context + tests

* fix tests

* remove test

* Update proto/ibc/lightclients/tendermint/v1/tendermint.proto

Co-authored-by: Federico Kunze <[email protected]>

* add tests for nil consensus params

* use default consensus params variable housed in the testing pkg

* set consensus params in get context call

* disallow nil consensus params

* disallow nil consensus state + fixes

* remove comments

* make proto

* fix build

* fix build

Co-authored-by: Federico Kunze <[email protected]>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* x/genutil: fix CollectTxs traversal logic

Fixes the file traversal of CollectTxs to correctly skip over
directories instead of trying to read them, failing and erroring
out.

Also while here, changed the order to perform the os read
only after the AppState UnmarshalJSON has succeeded, otherwise
an attack vector can be to purposefully request many file stats
which touches kernel resources, while  just causing failures
indefinitely.

Fixes #6788

* address comments

* Fix test by passing in blank AppState

Co-authored-by: Alexander Bezobchuk <[email protected]>
Co-authored-by: SaReN <[email protected]>
Co-authored-by: Federico Kunze <[email protected]>
Co-authored-by: Federico Kunze <[email protected]>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* rename epoch to version

* Apply suggestions from code review

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* ibc transfer metrics

* ibc client metrics

* update connection logs

* connection metrics

* channel metrics

* update logs

* docs updates

* update telemetry.md

* move calls from handler

* Update x/ibc/core/04-channel/keeper/handshake.go

Co-authored-by: colin axnér <[email protected]>

* add chain-id metric

* address @colin-axner comments

Co-authored-by: colin axnér <[email protected]>
Co-authored-by: Christopher Goes <[email protected]>
The image has been moved to gh/tendemrint/images.
* Fix package-lock

* Fix package-lock

* update package-lock

* bump docs theme to 1.0.171

* Fix typo, chinese character in URL
* update dead doc links

* bump docs theme to 1.0.172

* [favicons] add favicons

* makefile: change build-docs target for shells other than bash

* docs: set master as default version

* docs: add v0.40.x to versions

Co-authored-by: Denis Fadeev <[email protected]>
Co-authored-by: Federico Kunze <[email protected]>
Co-authored-by: vms <[email protected]>
Co-authored-by: Helder Moreira <[email protected]>
Co-authored-by: Amaury Martiny <[email protected]>
Co-authored-by: Alessio Treglia <[email protected]>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
robert-zaremba and others added 9 commits October 9, 2020 14:08
* Add ADR 029 stub

* ADR 029 first draft

* Cleanup

* Updates from code review

* Updates from review

Co-authored-by: Alessio Treglia <[email protected]>
* Fix ISSUE #64 on cosmosdevs/stargate

* Fix ISSUE #64 on cosmosdevs/stargate

* Update x/upgrade/client/cli/tx.go

Co-authored-by: Aleksandr Bezobchuk <[email protected]>
* Migrate staking module

* Add gov legacy

* Add comments

* Add x/distrib

* x/crisis

* x/mint

* Fix test

* migrate x/genutil

* Fix lint

* Fix staking constants

* Fix test

* Update x/genutil/legacy/v040/migrate.go

Co-authored-by: Marie Gauthier <[email protected]>

* Add migrate script instead of change BondStatus constants

* Fix test

* Fix another test

Co-authored-by: Marie Gauthier <[email protected]>
Co-authored-by: Cory <[email protected]>
* Ideas

* WIP

* Add ADR 031

* WIP

* WIP

* Revert changes

* Revert changes

* Revert changes

* Updates

* Updates

* Apply suggestions from code review

Co-authored-by: Amaury Martiny <[email protected]>
Co-authored-by: Anil Kumar Kammari <[email protected]>

* Add package names

* Adding clarifications

+ Adding an abstract
+ Updating the first paragraph of decision

* Update Context and wording

* Update wording

* Address proto naming

Co-authored-by: Amaury Martiny <[email protected]>
Co-authored-by: Anil Kumar Kammari <[email protected]>
Co-authored-by: Robert Zaremba <[email protected]>
Co-authored-by: Cory <[email protected]>
@codecov
Copy link

codecov bot commented Oct 9, 2020

Codecov Report

❗ No coverage uploaded for pull request base (v0.40.x@87a7f9c). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             v0.40.x    #7502   +/-   ##
==========================================
  Coverage           ?   56.03%           
==========================================
  Files              ?      592           
  Lines              ?    37253           
  Branches           ?        0           
==========================================
  Hits               ?    20875           
  Misses             ?    14261           
  Partials           ?     2117           

Copy link
Member

@jackzampolin jackzampolin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazing work from many teams and orgs has gone into this incredible piece of software. A true testament to the efforts of this open source community. Great work everyone! Can't wait to deploy this live! 🚀 👩‍🚀 👨‍🚀 ⚛️

@lgtm-com
Copy link

lgtm-com bot commented Oct 9, 2020

This pull request fixes 5 alerts when merging 4cef6f9 into 87a7f9c - view on LGTM.com

fixed alerts:

  • 3 for Incorrect conversion between integer types
  • 1 for Useless assignment to local variable
  • 1 for Useless assignment to field

Copy link
Contributor

@cwgoes cwgoes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK, great work all!

@alexanderbez
Copy link
Contributor

Thanks for creating this @clevinson. Going to merge :)

@alexanderbez alexanderbez merged commit 1532492 into v0.40.x Oct 10, 2020
@alexanderbez alexanderbez deleted the clevinson/v0.40-rc0 branch October 10, 2020 13:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.