Go to file
dauTT b52ffa08e1
Implement ADR 026 (#7029)
* 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>
2020-09-04 20:59:22 +00:00
.circleci fix docs build failure (#6633) 2020-07-07 19:56:01 +02:00
.github buildsystem: simplify Makefile and ci automation (#7189) 2020-08-31 15:39:05 +02:00
baseapp Add height in exported genesis (#7089) 2020-09-03 10:11:46 +00:00
client Implement ADR 026 (#7029) 2020-09-04 20:59:22 +00:00
codec Remove duplicate tests in unknownproto (#7231) 2020-09-03 17:11:13 +00:00
contrib buildsystem: simplify Makefile and ci automation (#7189) 2020-08-31 15:39:05 +02:00
cosmovisor Merge cosmosd (#6820) 2020-08-19 16:58:43 +01:00
crypto crypto: fix keys's internal package import path (#7198) 2020-08-29 20:20:26 +00:00
docs Add a mock application module to test core IBC (#7187) 2020-08-31 13:58:23 +00:00
proto Implement ADR 026 (#7029) 2020-09-04 20:59:22 +00:00
scripts Add swagger for gRPC REST (#7075) 2020-08-28 18:49:08 +00:00
server Add height in exported genesis (#7089) 2020-09-03 10:11:46 +00:00
simapp Implement ADR 026 (#7029) 2020-09-04 20:59:22 +00:00
std Update tm pubkey references (#7102) 2020-08-28 16:02:38 +00:00
store Add height in exported genesis (#7089) 2020-09-03 10:11:46 +00:00
telemetry Minor Code Cleanup - gRPC queries (#6862) 2020-07-28 12:53:35 +00:00
tests Update tm pubkey references (#7102) 2020-08-28 16:02:38 +00:00
testutil Add height in exported genesis (#7089) 2020-09-03 10:11:46 +00:00
third_party/proto Migrate IBC tendermint header to proto (#7120) 2020-08-20 11:46:11 -04:00
types Add SkipSequenceCheck flag in SignatureV2 for Amino signatures (#7234) 2020-09-04 17:49:07 +00:00
version testutil: add ApplyMockIODiscardOutErr, simplify existing functions (#6665) 2020-07-10 08:55:48 +02:00
x Implement ADR 026 (#7029) 2020-09-04 20:59:22 +00:00
.codecov.yml test delay for codecov (#7134) 2020-08-21 15:38:40 +01:00
.dockerignore Add basic Dockerfile to build all binaries and export gaiad 2018-04-10 12:39:47 +02:00
.gitattributes Merge PR #6426: Migrate API Server 2020-06-15 13:39:09 -04:00
.gitignore docs: improve IBC guide (#6472) 2020-07-07 06:19:36 -04:00
.golangci.yml linter: enable nolintlint (#6162) 2020-05-08 08:46:12 +00:00
.goreleaser.yml ci: automate release post tag push (#6230) 2020-05-25 20:02:08 +02:00
.mergify.yml Tweak mergify config 2020-03-01 16:18:22 +00:00
buf.yaml Add Grpc gateway annotations (#6918) 2020-08-14 10:05:35 +00:00
CHANGELOG.md Fix ApproxRoot Infinite Looping (#7140) 2020-08-29 11:13:36 +01:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2018-01-29 12:38:50 +01:00
CONTRIBUTING.md Stable Releases: Definition and Process (#6394) 2020-07-14 10:28:53 +02:00
docker-compose.yml buildsystem: simplify Makefile and ci automation (#7189) 2020-08-31 15:39:05 +02:00
Dockerfile Add flag & toml config for gRPC server (#6933) 2020-08-05 15:45:22 +00:00
go.mod Bump github.com/grpc-ecosystem/grpc-gateway from 1.14.7 to 1.14.8 (#7236) 2020-09-04 02:38:24 -04:00
go.sum Bump github.com/grpc-ecosystem/grpc-gateway from 1.14.7 to 1.14.8 (#7236) 2020-09-04 02:38:24 -04:00
LICENSE Add README.md to Basecoin; Update licenses 2018-01-28 18:17:19 -08:00
Makefile buildsystem: simplify Makefile and ci automation (#7189) 2020-08-31 15:39:05 +02:00
README.md readme: add sourcegraph badge (#6362) 2020-06-07 17:08:19 -04:00
SECURITY.md update SECURITY.md (#6263) 2020-05-21 11:12:51 +02:00
snapcraft.yaml replace dep with go mod (#3907) 2019-03-18 13:45:25 +01:00
snapcraft.yaml.in Autobuild snap (#3455) 2019-01-31 09:59:19 -08:00
STABLE_RELEASES.md Stable Releases: Definition and Process (#6394) 2020-07-14 10:28:53 +02:00

Cosmos SDK

banner

The Cosmos-SDK is a framework for building blockchain applications in Golang. It is being used to build Gaia, the first implementation of the Cosmos Hub.

WARNING: The SDK has mostly stabilized, but we are still making some breaking changes.

Note: Requires Go 1.14+

Quick Start

To learn how the SDK works from a high-level perspective, go to the SDK Intro.

If you want to get started quickly and learn how to build on top of the SDK, please follow the SDK Application Tutorial. You can also fork the tutorial's repository to get started building your own Cosmos SDK application.

For more, please go to the Cosmos SDK Docs.

Cosmos Hub Mainnet

The Cosmos Hub application, gaia, has moved to its own repository. Go there to join the Cosmos Hub mainnet and more.

Scaffolding

If you are starting a new app or a new module we provide a scaffolding tool to help you get started and speed up development. If you have any questions or find a bug, feel free to open an issue in the repo.

Disambiguation

This Cosmos-SDK project is not related to the React-Cosmos project (yet). Many thanks to Evan Coury and Ovidiu (@skidding) for this Github organization name. As per our agreement, this disambiguation notice will stay here.