Go to file
Amaury Martiny 7cd25abb87
Proto Tx with Any (#7276)
* 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

* 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

* Use anil's suggestion

* Add norace back

* Check nil

* Address comments

* FIx lint

* Add tests for solomachine unpack interfaces

* Fix query tx by hash

* Better name in amino register

* Display StdTx instead of proto Tx

* Remove useless check

Co-authored-by: Aaron Craelius <aaronc@users.noreply.github.com>
Co-authored-by: blushi <marie.gauthier63@gmail.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
2020-09-21 16:48:28 +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 Proto Tx with Any (#7276) 2020-09-21 16:48:28 +00:00
codec PubKey proto types (#7147) 2020-09-16 11:08:55 +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 Proto Tx with Any (#7276) 2020-09-21 16:48:28 +00:00
docs Proto Tx with Any (#7276) 2020-09-21 16:48:28 +00:00
proto Proto Tx with Any (#7276) 2020-09-21 16:48:28 +00:00
scripts Register swagger API (#7246) 2020-09-19 00:34:56 +00:00
server Register swagger API (#7246) 2020-09-19 00:34:56 +00:00
simapp Proto Tx with Any (#7276) 2020-09-21 16:48:28 +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 Register swagger API (#7246) 2020-09-19 00:34:56 +00:00
third_party/proto Merge PR #7251: Cleanup of evidence types 2020-09-08 09:33:53 -07:00
types Proto Tx with Any (#7276) 2020-09-21 16:48:28 +00:00
version testutil: add ApplyMockIODiscardOutErr, simplify existing functions (#6665) 2020-07-10 08:55:48 +02:00
x Proto Tx with Any (#7276) 2020-09-21 16:48:28 +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 Bump github.com/grpc-ecosystem/grpc-gateway from 1.14.8 to 1.15.0 (#7351) 2020-09-21 13:43:05 +00:00
go.sum Bump github.com/grpc-ecosystem/grpc-gateway from 1.14.8 to 1.15.0 (#7351) 2020-09-21 13:43:05 +00:00
LICENSE Add README.md to Basecoin; Update licenses 2018-01-28 18:17:19 -08:00
Makefile Register swagger API (#7246) 2020-09-19 00:34:56 +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.