Go to file
Marie Gauthier 91ca8ad3c1
Migrate BaseAccount PubKey to use Any (#7268)
* WIP on BaseAccount protobuf pub_key

* WIP on BaseAccount.PubKey

* WIP on BaseAccount pub key

* 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

* Update client/context.go

Co-authored-by: Cory <cjlevinson@gmail.com>

* Update types/address.go

Co-authored-by: Cory <cjlevinson@gmail.com>

* Address feedback

* Add comment

* Fix BaseAccount SetPubKey and address further comments

* Lint

* Remove unnecessary use of copy in getPubKeyFromString

* Update comment

Co-authored-by: Aaron Craelius <aaronc@users.noreply.github.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Cory <cjlevinson@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-09-25 08:41:16 +00:00
.circleci fix docs build failure (#6633) 2020-07-07 19:56:01 +02:00
.github replace testutil.NewTestCaseDir() with Go1.15's T.TempDir() (#7014) 2020-09-18 12:08:24 +01:00
baseapp Proto Tx with Any (#7276) 2020-09-21 16:48:28 +00:00
client Migrate BaseAccount PubKey to use Any (#7268) 2020-09-25 08:41:16 +00:00
codec Migrate BaseAccount PubKey to use Any (#7268) 2020-09-25 08:41:16 +00:00
contrib proto tools install script (#7294) 2020-09-14 14:30:12 +01:00
cosmovisor feat: allow "any" to specify a "binary" with no arch/os deps (#7230) 2020-09-14 21:32:10 +00:00
crypto Migrate BaseAccount PubKey to use Any (#7268) 2020-09-25 08:41:16 +00:00
docs adr-27: adding (#7232) 2020-09-23 23:06:55 +00:00
proto Migrate BaseAccount PubKey to use Any (#7268) 2020-09-25 08:41:16 +00:00
scripts Fix sawgger gen output dir (#7374) 2020-09-23 14:16:47 +00:00
server Register swagger API (#7246) 2020-09-19 00:34:56 +00:00
simapp Migrate BaseAccount PubKey to use Any (#7268) 2020-09-25 08:41:16 +00:00
snapshots test: fix data race in snapshots.ChunkReader test (#7299) 2020-09-14 14:00:08 +01:00
std Proto Tx with Any (#7276) 2020-09-21 16:48:28 +00:00
store Merge PR #7265: Tendermint Block Pruning 2020-09-14 10:12:49 -04:00
telemetry Minor Code Cleanup - gRPC queries (#6862) 2020-07-28 12:53:35 +00:00
tests rename RegisterCodec to RegisterLegacyAminoCodec (#7243) 2020-09-07 14:47:12 +00:00
testutil tm: update to latest (#7376) 2020-09-23 13:44:40 +00:00
third_party/proto Merge PR #7251: Cleanup of evidence types 2020-09-08 09:33:53 -07:00
types Migrate BaseAccount PubKey to use Any (#7268) 2020-09-25 08:41:16 +00:00
version testutil: add ApplyMockIODiscardOutErr, simplify existing functions (#6665) 2020-07-10 08:55:48 +02:00
x Migrate BaseAccount PubKey to use Any (#7268) 2020-09-25 08:41:16 +00:00
.clang-format Add proto formatting tool (#7266) 2020-09-08 22:06:54 +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 update .gitignore (#7325) 2020-09-16 11:08:42 +01: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
build.sh Reproducible buildsystem (#7247) 2020-09-13 20:55:35 +01:00
CHANGELOG.md Merge PR #7327: remove resulting value return from AddCoins and SubtractCoins 2020-09-16 08:40:47 -04: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 Update tendermint to v0.34.0-rc4 (#7386) 2020-09-25 08:32:34 +02:00
go.sum Migrate BaseAccount PubKey to use Any (#7268) 2020-09-25 08:41:16 +00:00
LICENSE Add README.md to Basecoin; Update licenses 2018-01-28 18:17:19 -08:00
Makefile Makefile: drop gofmt in favor of golangci-lint (#7260) 2020-09-23 15:29:21 +00:00
README.md replace testutil.NewTestCaseDir() with Go1.15's T.TempDir() (#7014) 2020-09-18 12:08:24 +01: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.15+

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.