Commit Graph

194 Commits

Author SHA1 Message Date
vastonus
e61ee1d389
refactor: use b.Loop() to simplify the code and improve performance (#25379)
Signed-off-by: vastonus <vastonus@outlook.com>
2025-10-01 14:34:05 +00:00
Alex | Interchain Labs
727faf0484
refactor: bring cometbft back to v0.38.x family (#25285) 2025-08-29 15:58:04 -04:00
maksneprik
86245cba91
docs: fix typos (#25075)
Co-authored-by: Alex | Interchain Labs <alex@interchainlabs.io>
2025-08-04 19:29:38 +00:00
Tomass
1debb23bef
docs: fix typos in comments / code (#25017)
Co-authored-by: Alex | Interchain Labs <alex@interchainlabs.io>
2025-07-25 19:53:59 +00:00
Micke
db3f09e679
docs: correct spelling errors across multiple packages (#25002) 2025-07-25 18:03:09 +00:00
David Klank
82aca772d6
docs: fix misspelled issues (#24985) 2025-07-24 14:48:57 +00:00
Shreyans Tatiya
1572b8e0c3
feat: Add NewPubKeyFromBytes for secp256r1 to create PubKey from bytes (#24919)
Co-authored-by: Alex | Interchain Labs <alex@interchainlabs.io>
2025-07-16 15:15:54 +00:00
Simon Zhang
fecd038337
feat: port bls12381 from v0.52.rc2 (#24872)
Co-authored-by: Alex | Interchain Labs <alex@interchainlabs.io>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-07-15 22:02:12 +00:00
Alex | Interchain Labs
b482ce4a74
feat: add conversion function from comet type to sdk crypto type (#24861) 2025-06-10 17:19:36 +00:00
Zachary Becker
fd170b5140
feat: Update Cosmos SDK to CometBFT v2 (#24837)
Co-authored-by: aljo242 <alex@interchainlabs.io>
2025-06-04 17:34:20 +00:00
Alex | Interchain Labs
a2d6d1f6ac
chore: fix godoc comments for functions and structs (#24736) 2025-05-13 13:48:13 +00:00
Fabiana Cecin
b71d0894f0
feat: Upgrade to CometBFT v1.x series (#24114)
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Julián Toledano <JulianToledano@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com>
Co-authored-by: Alex | Interchain Labs <alex@interchainlabs.io>
Co-authored-by: Zachary Becker <zachary@interchainlabs.io>
2025-05-13 12:57:22 +00:00
DuongNguyen | Decentrio
83acb8eba2
chore: remove go mods from x/modules (#24522)
Co-authored-by: Đông Liều <93205232+DongLieu@users.noreply.github.com>
2025-05-12 20:17:10 +00:00
Alex | Interchain Labs
3c6deab626
chore: run modernize (#24356) 2025-04-03 10:42:20 -04:00
Aaron Craelius
167f3f12e2
refactor: migrate codec/types to type aliases, remove depinject dep on sdk (#24336)
Co-authored-by: Alex | Interchain Labs <alex@interchainlabs.io>
Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com>
2025-04-02 23:37:19 +00:00
Alex | Interchain Labs
b7a20b81f6
chore: lint v2 (#24118) 2025-03-25 15:57:24 +00:00
Alex | Interchain Labs
7fd79df4e1
chore: fix all linting (#24101) 2025-03-21 15:04:36 -07:00
Hoang Do
3ac5b7c912
feat(genutil): Allow manually setting the consensus key type in genesis (#24018)
Co-authored-by: Alex | Interchain Labs <alex@interchainlabs.io>
2025-03-17 17:32:39 -04:00
Facundo Medica
564cc4d370
fix(crypto): revert #20438 (#21019) 2024-07-22 16:08:40 +02:00
mergify[bot]
5db395bcca
fix: nested multisig signatures using CLI (backport #20438) (#20692)
Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
Co-authored-by: Facundo <facundomedica@gmail.com>
2024-06-19 22:25:22 +02:00
mergify[bot]
49c3ae6a57
fix: secp256r1 json missing quotes (backport #20060) (#20069)
Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>
2024-04-17 10:21:30 +00:00
mergify[bot]
521ebe52bd
fix: Implement gogoproto customtype to secp256r1 keys (backport #20027) (#20031)
Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>
2024-04-13 12:16:24 +02:00
mergify[bot]
6ddf0af2e7
refactor(runtime): define address codec providers in runtime (backport #17037) (#17043)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2023-07-18 16:38:14 +02:00
Julien Robert
c452721442
style: add gci linter (#16758)
Co-authored-by: Jacob Gadikian <faddat@users.noreply.github.com>
2023-06-29 09:46:37 +00:00
Facundo Medica
af3122aa6c
feat!: Provide logger through depinject (#15818)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2023-04-24 09:42:55 +00:00
Marko
90e2a2ae89
style: linting (#15704)
## Description

closing in on completion of linting

---

### Author Checklist

*All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.*

I have...

* [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
* [ ] added `!` to the type prefix if API or client breaking change
* [ ] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#pr-targeting))
* [ ] provided a link to the relevant issue or specification
* [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/main/docs/docs/building-modules)
* [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#testing)
* [ ] added a changelog entry to `CHANGELOG.md`
* [ ] included comments for [documenting Go code](https://blog.golang.org/godoc)
* [ ] updated the relevant documentation or specification
* [ ] reviewed "Files changed" and left comments if necessary
* [ ] confirmed all CI checks have passed

### Reviewers Checklist

*All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.*

I have...

* [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
* [ ] confirmed `!` in the type prefix if API or client breaking change
* [ ] confirmed all author checklist items have been addressed 
* [ ] reviewed state machine logic
* [ ] reviewed API design and naming
* [ ] reviewed documentation is accurate
* [ ] reviewed tests and test coverage
* [ ] manually tested (if applicable)
2023-04-06 23:25:23 +00:00
Jacob Gadikian
a9546bfad0
style: apply any / all automated lint fixes (#15644) 2023-03-31 13:48:41 +02:00
Marko
51f3e70a12
style: more linting (#15618) 2023-03-30 13:00:18 +00:00
Marko
c1ea84d583
style: more linting (#15616) 2023-03-30 12:05:50 +00:00
Marko
1f2875d445
style: gofumpt linting (#15605) 2023-03-30 06:27:38 +00:00
Jacob Gadikian
37ba88872d
style: enable strict gofumpt (#15579) 2023-03-28 18:59:21 +00:00
Marko
fd34d3f221
chore: fix int conversion lint (#15070)
## Description

this pr fixes a integer conversion lint issue. 

---

### Author Checklist

*All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.*

I have...

- [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] added `!` to the type prefix if API or client breaking change
- [ ] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#pr-targeting))
- [ ] provided a link to the relevant issue or specification
- [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/main/docs/docs/building-modules)
- [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#testing)
- [ ] added a changelog entry to `CHANGELOG.md`
- [ ] included comments for [documenting Go code](https://blog.golang.org/godoc)
- [ ] updated the relevant documentation or specification
- [ ] reviewed "Files changed" and left comments if necessary
- [ ] confirmed all CI checks have passed

### Reviewers Checklist

*All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.*

I have...

- [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] confirmed `!` in the type prefix if API or client breaking change
- [ ] confirmed all author checklist items have been addressed 
- [ ] reviewed state machine logic
- [ ] reviewed API design and naming
- [ ] reviewed documentation is accurate
- [ ] reviewed tests and test coverage
- [ ] manually tested (if applicable)
2023-02-20 12:36:51 +00:00
Facundo Medica
4a6a1e3cb8
refactor: fix lint issues + gofumpt (#15062) 2023-02-19 10:31:49 +00:00
Marko
a28ba7b148
chore: use secp directly instead of wrapper (#15018) 2023-02-13 22:05:38 +00:00
Julien Robert
4f13b5b319
refactor!: extract AppStateFn out of simapp (#14977) 2023-02-09 14:16:07 +00:00
Julián Toledano
0081563092
test: add more secp256k1 test vectors (#14756) 2023-02-09 12:51:34 +00:00
Julien Robert
c17c3caab8
refactor: rename commands to match consensus engine name (#14956) 2023-02-08 20:09:28 +00:00
Julien Robert
80dd55f79b
refactor: rename to CometBFT (#14914) 2023-02-06 18:11:14 +00:00
Julien Robert
41a3dfeced
refactor!: migrate Cosmos SDK to CometBFT (#14897) 2023-02-05 14:51:33 +01:00
Julien Robert
44fbb0df9c
refactor: reduce tendermint deps (#14616) 2023-01-18 11:28:18 +01:00
Jacob Gadikian
be8c5a09c2
chore: lint tests (#14268) 2022-12-18 23:48:31 +00:00
Julián Toledano
6188f6e798
refactor!: key presentation outside keyring (#14151)
* refactor: move key presentation to client/keys

* refactor: move key presentation to client/keys

* update: changelog

Co-authored-by: Ezequiel Raynaudo <raynaudo.ee@gmail.com>
2022-12-07 10:22:19 +00:00
Jacob Gadikian
679c5d6086
chore: run markdownlint on the whole repository (#14106) 2022-11-30 19:51:26 +00:00
Facundo Medica
644f906966
refactor: (secp256k1) cleaner way to check for lower S form signatures (#13884)
## Description

TLDR; check for `s.IsOverHalfOrder()` with less steps

Before this PR:

```go
        // parse the signature:
	signature := signatureFromBytes(sigStr)
	// Reject malleable signatures. libsecp256k1 does this check but btcec doesn't.
	// see: f9401ae011/crypto/signature_nocgo.go (L90-L93)
	// Serialize() would negate S value if it is over half order.
	// Hence, if the signature is different after Serialize() if should be rejected.
	modifiedSignature, parseErr := ecdsa.ParseDERSignature(signature.Serialize())
	if parseErr != nil {
		return false
	}
	if !signature.IsEqual(modifiedSignature) {
		return false
	}
	
```

It's serializing the signature into a new variable and then comparing if both are equal. Inside `Serialize()` we have:

5d537320a0/dcrec/secp256k1/ecdsa/signature.go (L88-L95)

```go
	// Ensure the S component of the signature is less than or equal to the half
	// order of the group because both S and its negation are valid signatures
	// modulo the order, so this forces a consistent choice to reduce signature
	// malleability.
	sigS := new(secp256k1.ModNScalar).Set(&sig.s)
	if sigS.IsOverHalfOrder() {
		sigS.Negate()
	}
```

Before btcec update to v2:

Until btcec update this was simpler because S was exported in the signature: ed9cd41396 (diff-30a6b594e157a12a28bf8a26f65ab4de1dc3c65c8419e5756f0b9c25d9ce1a93L46)

```go
if signature.S.Cmp(secp256k1halfN) > 0 {
    return false
}
```


Closes: #XXXX



---

### Author Checklist

*All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.*

I have...

- [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] added `!` to the type prefix if API or client breaking change
- [ ] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#pr-targeting))
- [ ] provided a link to the relevant issue or specification
- [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/main/docs/building-modules)
- [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#testing)
- [ ] added a changelog entry to `CHANGELOG.md`
- [ ] included comments for [documenting Go code](https://blog.golang.org/godoc)
- [ ] updated the relevant documentation or specification
- [ ] reviewed "Files changed" and left comments if necessary
- [ ] confirmed all CI checks have passed

### Reviewers Checklist

*All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.*

I have...

- [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] confirmed `!` in the type prefix if API or client breaking change
- [ ] confirmed all author checklist items have been addressed 
- [ ] reviewed state machine logic
- [ ] reviewed API design and naming
- [ ] reviewed documentation is accurate
- [ ] reviewed tests and test coverage
- [ ] manually tested (if applicable)
2022-11-23 17:16:00 +00:00
Julien Robert
d9bc5acac8
fix: .String() panics when pubkey is set on a BaseAccount (#13838) 2022-11-14 14:56:18 +00:00
Amaury
b49f948b36
feat: Add proto annotations for Amino JSON (#13501)
* add legacy_amino_name

* make-proto-gen

* remove useless omitempty

* add annotations

* Add proto annotations

* Add more annotations

* update cosmos-proto

* Add message scalar?

* Add comments

* Fix comment

* lint proto files

* proto-gen

* go mod tidy

* Add multisig encoding

* Add field name

* Format proto

* proto-gen

* Update proto/cosmos/msg/v1/msg.proto

Co-authored-by: Aaron Craelius <aaron@regen.network>

* Add dont_omitempty whenever we have nullable=false

* proto-gen

* Remove problematic annotations

* put legacy_amino in subpackage

* proto-gen

* Fixes

* legacy_amino.v1

* add non-working proto

* Generate in separate package

* Remove `cosmos.msg` prefix

* make proto-gen

* remove v1 too

* make proto-format

* Add field option

* format

* proto-gen

* Use underscores

* update legacy_amino -> amino

* update to `key_field`

* make proto-format

* make proto-gen

Co-authored-by: Aaron Craelius <aaron@regen.network>
2022-11-07 22:51:51 +00:00
Elias Naur
ed9cd41396
chore(crypto): update btcec to v2 (#13513)
Similar to Tendermint's PR,

https://github.com/tendermint/tendermint/pull/9250

Note that crypto/ledger is not updated in this PR, because if its
dependency on the R and S values being exposed by ParseDERSignature.

Updates #13423

Signed-off-by: Elias Naur <elias@orijtech.com>

Signed-off-by: Elias Naur <elias@orijtech.com>
Co-authored-by: Marko <marbar3778@yahoo.com>
2022-10-17 16:33:43 +02:00
Emmanuel T Odeke
641ab20415
fix: crypto/keys/secp246k1/*: add +build cgo guard to avoid failure with CGO_ENABLED=0 (#13267)
Fixes an oversight that hadn't been considered when the build
guards were added to the other files in the same directory, that
this test requires linking with code that hooks into cgo. This change
adds the build guard

    +build cgo

Fixes #13266
2022-09-14 01:06:44 +02:00
Julien Robert
6d0ef15b0a
refactor: migrate to cosmos/gogoproto (#13070) 2022-09-08 17:27:48 +00:00
Marko
e09516f479
chore: bump tendermint version (#13148) 2022-09-05 07:39:12 +00:00