Go to file
Andrey Kuprianov a821fe4a61
Model-based tests for relay functions of ICS-20 token transfer (#8145)
* start on MBT for ICS20: setting and checking bank balances

* add bank struct for subtracting banks

* reconstruct ibc denominations in the bank

* add some static tests with bank changes tracking

* small fixes

* better error handling

* add Jsonatr transform from Apalache conterexample into OnRecvPacket test

* add example Apalache CE and transformed test

* changed apalache-to-recv-test.json to output arrays instead of records

* add datastructures for parsing TLA+ tests

* remove accidentally committed code

* add conversion from TLA+ structs to Go structs

* encode abstract ids into addresses via hashes

* first run of auto-generated MBT tests

* first run of auto-generated MBT tests: fix ports and channels

* fix small inconsistencies

* fix mbt_relay_test by not setting the bank balances in every iteration

* add test for onTimeoutPacket

* add handling of OnRecvAcknowledgement to mbt relay test

* add handling of SendTransfer

* add relay-test.json

* revert manual changes in relay-test.json

* fix handling of denominations for SendTransfer

* setup two test channels A-B, B-C; fix escrow address encoding

* a test for all handlers passing

* generalize denom handling to arbitrary length + failing denom test

* rename test function

* MBT test for unsecrow tokens

* add model-based generated tests

* add model-based tests (prev commit: addded model)

* transformed json tests with jsonatr

* modify mbt_relay_test.go to execute all MBT tests

* cleanup

* move jsonatr transforms into another dir

* add MBT_README.md

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-12-11 17:35:44 +00:00
.circleci fix docs build failure (#6633) 2020-07-07 19:56:01 +02:00
.github build(deps): bump gaurav-nelson/github-action-markdown-link-check (#8148) 2020-12-11 14:08:13 +01:00
baseapp Rename GRPCRouter (#8079) 2020-12-04 15:06:50 +00:00
client Use SignModeLegacyAminoJSON when signer is ledger key (#8136) 2020-12-11 13:54:50 +00:00
codec Add UnpackInterfaces to BroadcastReq (#8118) 2020-12-09 11:05:12 +00:00
contrib Refactor Logging using Zerolog (#8072) 2020-12-03 23:17:21 +00:00
cosmovisor cosmovisor: pass quit signals to subprocess (#7776) 2020-11-13 14:54:30 +00:00
crypto Fix CryptoCdc inconsistent (#7987) 2020-12-02 14:50:50 +01:00
docs build(deps): bump vuepress-theme-cosmos from 1.0.178 to 1.0.179 in /docs (#8125) 2020-12-10 16:33:59 +00:00
proto change TmService's validator pubkey type to any (#8060) 2020-12-07 13:51:38 +00:00
scripts All Makefile proto commands use Docker (#7931) 2020-11-13 16:36:58 +00:00
server server: init commit (#8144) 2020-12-10 19:12:42 +00:00
simapp server: init commit (#8144) 2020-12-10 19:12:42 +00:00
snapshots Snapshot sync: use hasher for chunk hashes (#7215) (#7259) 2020-12-10 19:02:17 +00:00
std Add ADR 031 BaseApp and codec infrastructure (#7519) 2020-10-15 13:07:59 +00:00
store Snapshot sync: use hasher for chunk hashes (#7215) (#7259) 2020-12-10 19:02:17 +00:00
telemetry Minor Code Cleanup - gRPC queries (#6862) 2020-07-28 12:53:35 +00:00
tests Replace tmcrypto.PubKey by our own cryptotypes.PubKey (#7419) 2020-11-09 16:01:43 +00:00
testutil use testutil in test cases (#8130) 2020-12-10 12:56:55 +00:00
third_party/proto gRPC-gateway routes as alternative to legacy tendermint REST endpoints (#7965) 2020-11-25 15:58:11 +00:00
types x/bank/keeper: fix a missing gRPC error in AllBalances (#8085) 2020-12-07 01:32:59 -08:00
version version --long displays replaced build dependencies (#7941) 2020-11-16 10:00:34 +00:00
x Model-based tests for relay functions of ICS-20 token transfer (#8145) 2020-12-11 17:35:44 +00:00
.clang-format Fix clang-format to specific version (#7350) 2020-10-27 10:04:34 +00:00
.codecov.yml CI: Fix codecov flag project config (#7994) 2020-11-20 09:13:25 -05:00
.dockerignore
.gitattributes Merge PR #6426: Migrate API Server 2020-06-15 13:39:09 -04:00
.gitignore All Makefile proto commands use Docker (#7931) 2020-11-13 16:36:58 +00: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
CHANGELOG.md Robert/api clientctx (#8107) 2020-12-08 20:17:40 +00:00
CODE_OF_CONDUCT.md Update CODE_OF_CONDUCT.md (#7381) 2020-09-28 11:28:30 +02:00
CONTRIBUTING.md Update CONTRIBUTING.md Point Release Procedure (#7999) 2020-12-11 01:50:07 +00:00
Dockerfile Makefile: simplify and clean-up (#7453) 2020-10-05 10:22:18 +02:00
LICENSE
Makefile Add tx broadcast gRPC endpoint (#7852) 2020-12-02 17:50:40 +00:00
README.md update readme to link starport instead of scaffold (#7613) 2020-10-21 08:08:20 +00:00
SECURITY.md update SECURITY.md (#6263) 2020-05-21 11:12:51 +02:00
STABLE_RELEASES.md Stable Releases: Definition and Process (#6394) 2020-07-14 10:28:53 +02:00
buf.yaml Refactor x/bank according to ADR 031 (#7520) 2020-10-13 09:05:46 +00:00
build.sh Remove reproducible builder image (#7484) 2020-10-08 15:00:34 +01:00
docker-compose.yml buildsystem: simplify Makefile and ci automation (#7189) 2020-08-31 15:39:05 +02:00
go.mod use testutil in test cases (#8130) 2020-12-10 12:56:55 +00:00
go.sum go.mod: update cosmos/go-bip39 to v1.0.0 (#8127) 2020-12-10 09:04:17 +00:00
package-lock.json Proportional slashing ADR Update (#6368) 2020-10-05 09:30:50 +02:00

README.md

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.

Starport

If you are starting a new app or a new module you can use Starport 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.