Go to file
John Kemp aa37ae9e74
feat: Low-s normalization for ecdsa secp256r1 signing (#9738)
* added low-s normalization to ecdsa secp256r1 signing

* go fmt fixes

* removed else block as golint required

* implement raw signature encoding for secp256r1

* move the creation of signature to after the check for sig string length

* fake commit to re-run checks? (move the creation of signature to after the check for sig string length)

* added a signature test for high s signature that requires sig validation to fail after the valid signature was mutated by extracting and scalar negating its s value

* reordered code to prevent mutated message from being used in sig verify

* added test for successful high_s signature with the ecdsa portion of the publicKey

* Remove comment for self-explanatory code.

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Missing quote

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Apply minor suggestions from code review

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* normalize comments for godoc

* refactored p256Order functions as private vars

* Div -> Rsh optimizing time for division

* resolve two code coverage issues; fix some small review issues

* test using private signatureRaw function instead of copying code. Added tests to improve code coverage

Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: Robert Zaremba <robert@zaremba.ch>
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
2021-07-27 14:14:05 -04:00
.github build(deps): bump codecov/codecov-action from 1.5.2 to 2.0.2 (#9758) 2021-07-26 11:40:40 +00:00
baseapp feat!: support debug trace QueryResult (#9576) 2021-07-08 09:25:40 +00:00
client fix: support output flag on tx commands (#9717) 2021-07-26 14:13:41 +00:00
codec feat!: remove legacy REST (#9594) 2021-07-06 10:04:54 +00:00
container test: Added tests for DecCoins to increase code coverage (#9752) 2021-07-26 20:51:22 +00:00
contrib feat: Non-zero Default Fees (#9371) 2021-06-25 10:41:32 +00:00
cosmovisor docs: fix cosmovisor quickstart (#9730) 2021-07-26 07:51:36 +00:00
crypto feat: Low-s normalization for ecdsa secp256r1 signing (#9738) 2021-07-27 14:14:05 -04:00
docs docs: remove legacy rest docs (#9745) 2021-07-26 19:33:58 -07:00
internal/conv internal/conv: fix wrong string to bytes implementation (#9141) 2021-04-19 14:51:05 +01:00
proto/cosmos Merge branch 'master' into aaronc/6513-textual-json-proto 2021-07-20 14:26:13 +01:00
scripts chore: Add script to validate gentxs (#9486) 2021-07-27 09:37:29 +00:00
server perf(grpcweb): remove useless HTTP HandlerFun wrapping (#9711) 2021-07-19 09:28:49 +00:00
simapp x/bank: create reverse prefix for denom<->address (#9611) 2021-07-26 13:51:04 -04:00
snapshots snapshots: document use of ioutil.TempDir() (#8508) 2021-02-04 09:54:01 +00:00
std Add ADR 031 BaseApp and codec infrastructure (#7519) 2020-10-15 13:07:59 +00:00
store docs: Add godocs to GasMeter methods (#9665) 2021-07-12 23:17:01 +00:00
telemetry v043 audit changes for telemetry/ (#9297) 2021-05-11 12:28:47 +00:00
tests test: fix mockgen version (#9127) 2021-05-25 09:18:59 +00:00
testutil fix: start GRPCWebServer in goroutine (#9704) 2021-07-19 01:20:55 +00:00
third_party/proto Any: update and test String method (#8854) 2021-03-12 12:24:07 +00:00
types feat: Query txs by signature and by address+seq (#9750) 2021-07-27 13:32:56 +00:00
version feat: add cosmos-sdk Version (#9429) 2021-06-18 12:56:55 +00:00
x feat: Query txs by signature and by address+seq (#9750) 2021-07-27 13:32:56 +00:00
.build.sh fix library file path (#8301) 2021-01-12 10:08:42 +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
.deepsource.toml chore: refactor code quality issues (#8932) 2021-03-22 09:30:27 +00: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: fix cosmovisor quickstart (#9730) 2021-07-26 07:51:36 +00:00
.golangci.yml refactor: Rename x/{mod}/legacy to x/{mod}/migrations (#9628) 2021-07-05 14:55:51 +00:00
.goreleaser.yml ci: automate release post tag push (#6230) 2020-05-25 20:02:08 +02:00
.markdownlint.json chore: add markdownlint to lint commands (#9353) 2021-05-27 15:31:04 +00:00
.markdownlintignore chore: add markdownlint to lint commands (#9353) 2021-05-27 15:31:04 +00:00
.mergify.yml chore: Add mergify v0.43 backport (#9591) 2021-06-28 12:23:20 +02:00
buf.yaml refactor: Bring back deprecated proto fields to v1beta1 (#9534) 2021-06-23 13:03:33 +00:00
CHANGELOG.md feat: Query txs by signature and by address+seq (#9750) 2021-07-27 13:32:56 +00:00
CODE_OF_CONDUCT.md Update CODE_OF_CONDUCT.md (#7381) 2020-09-28 11:28:30 +02:00
CONTRIBUTING.md docs: Update CONTRIBUTING.md (#9760) 2021-07-26 06:43:14 +00:00
docker-compose.yml perf: Change localnet CIDR from /16 (65k addresses) to /25 (128 addresses) to reduce docker network conflicts (#9667) 2021-07-12 08:51:36 +00:00
Dockerfile remove plantuml install in docker (#9059) 2021-04-06 19:04:00 +00:00
go.mod build(deps): bump github.com/jhump/protoreflect from 1.8.2 to 1.9.0 (#9693) 2021-07-14 22:05:17 +02:00
go.sum build(deps): bump github.com/jhump/protoreflect from 1.8.2 to 1.9.0 (#9693) 2021-07-14 22:05:17 +02:00
LICENSE Add README.md to Basecoin; Update licenses 2018-01-28 18:17:19 -08:00
Makefile feat: simd runs in-process testnet by default (#9246) 2021-06-29 10:41:55 +00:00
README.md chore: add markdownlint to lint commands (#9353) 2021-05-27 15:31:04 +00:00
SECURITY.md chore: add markdownlint to lint commands (#9353) 2021-05-27 15:31:04 +00:00
STABLE_RELEASES.md chore: add markdownlint to lint commands (#9353) 2021-05-27 15:31:04 +00: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.

Interblockchain Communication (IBC)

The IBC module for the SDK has moved to its own repository. Go there to build and integrate with the IBC module.

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.