Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: match comets bls implmentation #22613

Merged
merged 5 commits into from
Nov 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion client/v2/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@ require (
github.com/cometbft/cometbft/api v1.0.0-rc.1 // indirect
github.com/cosmos/btcutil v1.0.5 // indirect
github.com/cosmos/cosmos-db v1.0.3-0.20240911104526-ddc3f09bfc22 // indirect
github.com/cosmos/crypto v0.1.2 // indirect
github.com/cosmos/go-bip39 v1.0.0
github.com/cosmos/gogogateway v1.2.0 // indirect
github.com/cosmos/gogoproto v1.7.0
Expand Down
2 changes: 0 additions & 2 deletions client/v2/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -127,8 +127,6 @@ github.com/cosmos/cosmos-db v1.0.3-0.20240911104526-ddc3f09bfc22 h1:V3WlarcZwlYY
github.com/cosmos/cosmos-db v1.0.3-0.20240911104526-ddc3f09bfc22/go.mod h1:Z8IXcFJ9PqKK6BIsVOB3QXtkKoqUOp1vRvPT39kOXEA=
github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA=
github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec=
github.com/cosmos/crypto v0.1.2 h1:Yn500sPY+9sKVdhiPUSDtt8JOpBGMB515dOmla4zfls=
github.com/cosmos/crypto v0.1.2/go.mod h1:b6VWz3HczIpBaQPvI7KrbQeF3pXHh0al3T5e0uwMBQw=
github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY=
github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw=
github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE=
Expand Down
6 changes: 4 additions & 2 deletions crypto/codec/amino.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package codec

import (
"github.com/cometbft/cometbft/crypto/bls12381"

"cosmossdk.io/core/registry"

bls12_381 "github.com/cosmos/cosmos-sdk/crypto/keys/bls12_381"
Expand All @@ -18,13 +20,13 @@ func RegisterCrypto(registrar registry.AminoRegistrar) {
ed25519.PubKeyName)
registrar.RegisterConcrete(&secp256k1.PubKey{},
secp256k1.PubKeyName)
registrar.RegisterConcrete(&bls12_381.PubKey{}, bls12_381.PubKeyName)
registrar.RegisterConcrete(&bls12_381.PubKey{}, bls12381.PubKeyName)
Copy link
Contributor

@coderabbitai coderabbitai bot Nov 21, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codebase verification

⚠️ Potential issue

Critical: Incorrect BLS key registration detected

The review comment is correct. The code is registering bls12_381.PubKey from the SDK package but using bls12381.PubKeyName from CometBFT's package, which is a mismatch. This could lead to runtime issues due to different key sizes and implementations between the two packages.

Key findings from the code:

  • Line 22 imports CometBFT's bls12381 but registers SDK's bls12_381.PubKey
  • The validation checks in key_cgo.go confirm different size requirements between implementations
  • The mismatch between type and name constant could cause serialization/deserialization issues
🔗 Analysis chain

Critical: Potential key size mismatch in PubKey registration

There's a concerning mismatch where we're registering the old BLS type (bls12_381.PubKey) but using the new constant (bls12381.PubKeyName). According to issue #22549, there's a fundamental difference in key sizes (96 bytes vs 48 bytes) between implementations.

Let's verify the key size handling:

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for key size validations and potential issues
# Look for size checks and panic conditions

echo "Checking for key size validations:"
rg --type go "public key must be \d+ bytes"

echo "Checking for BLS key size constants:"
rg --type go "const.*PubKeySize.*=.*\d+"

Length of output: 307


Script:

#!/bin/bash
# Let's check the actual BLS key size definitions and usages

echo "Checking BLS-related constants and types:"
rg --type go -A 5 "type.*PubKey.*struct"

echo "Checking BLS-related imports and package declarations:"
rg --type go "bls12381|bls12_381"

echo "Looking for key size validations in BLS implementations:"
rg --type go -A 5 "func.*ValidateKey|func.*Validate.*Key"

Length of output: 28920


Script:

#!/bin/bash
# Let's check for BLS-related constants and key size definitions

echo "Checking for BLS key size constants and validations:"
rg --type go -B 2 -A 2 "PubKeySize.*=.*\d+|SignatureLength.*=.*\d+|MaxMsgLen.*=.*\d+" crypto/keys/bls12_381/

echo "Checking BLS package imports and type definitions:"
rg --type go "package bls12381|package bls12_381" -A 10

echo "Looking for BLS key validation checks:"
rg --type go "len\(.*\).*!=" crypto/keys/bls12_381/

Length of output: 2488


Script:

#!/bin/bash
# Let's check the actual implementation and imports in the file under review

echo "Checking the content of the file under review:"
cat crypto/codec/amino.go

echo "Checking the imported bls12381 package constants:"
rg --type go -B 2 -A 2 "PubKeyName.*=|PrivKeyName.*=" crypto/keys/bls12_381/

Length of output: 1508

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I noticed the same, is it ok?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@facundomedica, the mismatch between bls12_381.PubKey and bls12381.PubKeyName is not okay. Registering the SDK's bls12_381.PubKey with CometBFT's bls12381.PubKeyName can lead to runtime issues due to differences in key sizes and implementations between the two packages.

To resolve this issue, you should ensure that both the PubKey and PubKeyName come from the same package. Here's how you can update the code:

registrar.RegisterConcrete(&bls12381.PubKey{}, bls12381.PubKeyName)

By using bls12381.PubKey from the CometBFT package, you ensure consistency between the key type and the key name, preventing potential serialization and deserialization issues.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The keys are the same in both repos. Didn't want to duplicate and open a window for the mismatch to occur again

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like the humans are having a chat. I'll hop back into my burrow for now. If you need me again, just tag @coderabbitai in a new comment, and I'll come hopping out!

registrar.RegisterConcrete(&kmultisig.LegacyAminoPubKey{},
kmultisig.PubKeyAminoRoute)
registrar.RegisterInterface((*cryptotypes.PrivKey)(nil), nil)
registrar.RegisterConcrete(&ed25519.PrivKey{},
ed25519.PrivKeyName)
registrar.RegisterConcrete(&secp256k1.PrivKey{},
secp256k1.PrivKeyName)
registrar.RegisterConcrete(&bls12_381.PrivKey{}, bls12_381.PrivKeyName)
registrar.RegisterConcrete(&bls12_381.PrivKey{}, bls12381.PrivKeyName)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Ensure consistent migration of BLS key types

Similar to the PubKey registration, there's a mismatch between the private key type and constant sources. To ensure a robust migration:

  1. Consider creating a migration layer that handles the key size differences
  2. Document the migration path for users
  3. Add validation checks for key compatibility

Consider this alternative approach:

-registrar.RegisterConcrete(&bls12_381.PrivKey{}, bls12381.PrivKeyName)
+// TODO: Add migration layer
+type CompatBLSPrivKey struct {
+    *bls12381.PrivKey
+}
+registrar.RegisterConcrete(&CompatBLSPrivKey{}, bls12381.PrivKeyName)

Committable suggestion skipped: line range outside the PR's diff.

}
6 changes: 4 additions & 2 deletions crypto/codec/pubkey.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package codec

import (
"github.com/cometbft/cometbft/crypto/bls12381"

"cosmossdk.io/errors"

cryptokeys "github.com/cosmos/cosmos-sdk/crypto/keys"
Expand Down Expand Up @@ -29,7 +31,7 @@ func PubKeyToProto(pk cryptokeys.JSONPubkey) (cryptotypes.PubKey, error) {
return &secp256k1.PubKey{
Key: pk.Value,
}, nil
case bls12_381.PubKeyName:
case bls12381.PubKeyName:
return &bls12_381.PubKey{
Key: pk.Value,
}, nil
Comment on lines +34 to 37
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Add validation for BLS public key size

Given the known issue with BLS public key sizes (48 vs 96 bytes) mentioned in #22549, we should add validation here to ensure proper handling of different key sizes.

Consider adding size validation:

 case bls12381.PubKeyName:
+    if len(pk.Value) != 96 {
+        return nil, errors.Wrapf(sdkerrors.ErrInvalidPubKey, "invalid bls12381 public key size: got %d, want 96", len(pk.Value))
+    }
     return &bls12_381.PubKey{
         Key: pk.Value,
     }, nil
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
case bls12381.PubKeyName:
return &bls12_381.PubKey{
Key: pk.Value,
}, nil
case bls12381.PubKeyName:
if len(pk.Value) != 96 {
return nil, errors.Wrapf(sdkerrors.ErrInvalidPubKey, "invalid bls12381 public key size: got %d, want 96", len(pk.Value))
}
return &bls12_381.PubKey{
Key: pk.Value,
}, nil

Expand Down Expand Up @@ -60,7 +62,7 @@ func PubKeyFromProto(pk cryptotypes.PubKey) (cryptokeys.JSONPubkey, error) {
}, nil
case *bls12_381.PubKey:
return cryptokeys.JSONPubkey{
KeyType: bls12_381.PubKeyName,
KeyType: bls12381.PubKeyName,
Value: pk.Bytes(),
}, nil
Comment on lines 64 to 67
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codebase verification

⚠️ Potential issue

The BLS type naming inconsistency is a legitimate concern

Looking at the imports and usage in crypto/codec/pubkey.go, there is indeed an inconsistency:

  • The type check uses *bls12_381.PubKey (from github.com/cosmos/cosmos-sdk/crypto/keys/bls12_381)
  • The KeyType uses bls12381.PubKeyName (from github.com/cometbft/cometbft/crypto/bls12381)

This mismatch between SDK and CometBFT BLS packages could lead to type matching issues. The code should consistently use either the SDK's BLS implementation or CometBFT's implementation, but not mix them.

🔗 Analysis chain

Ensure consistent BLS type naming

There's an inconsistency between the type check (*bls12_381.PubKey) and the KeyType assignment (bls12381.PubKeyName). This mismatch could cause issues with type matching elsewhere in the system.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check for potential type matching issues
echo "Checking for KeyType usage..."
rg --type go "KeyType\s*[:=]\s*(bls12381|bls12_381)"

echo "Checking for PubKey type assertions..."
rg --type go "\.?\([*]?(bls12381|bls12_381)\.PubKey\)"

Length of output: 323


Script:

#!/bin/bash
# Let's check the actual type definitions and imports to understand the naming pattern
echo "Checking BLS-related type definitions and imports..."
rg --type go -A 3 "type.*PubKey.*struct"

echo "Checking BLS-related constants and variables..."
rg --type go "(var|const).*bls"

echo "Checking import statements with BLS..."
rg --type go "^import.*bls"

# Check for any BLS-related string constants
echo "Checking BLS-related string constants..."
rg --type go "\"bls.*\""

Length of output: 15496


Script:

#!/bin/bash
# Let's check the specific BLS package to understand the naming convention
echo "Checking BLS package contents..."
rg --type go -A 3 "package bls" 

echo "Checking PubKeyName constant definition..."
rg --type go "PubKeyName.*=.*"

echo "Checking the actual import in the file under review..."
cat crypto/codec/pubkey.go

Length of output: 3355

default:
Expand Down
21 changes: 0 additions & 21 deletions crypto/keys/bls12_381/const.go

This file was deleted.

7 changes: 4 additions & 3 deletions crypto/keys/bls12_381/key.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (
"fmt"

"github.com/cometbft/cometbft/crypto"
bls "github.com/cometbft/cometbft/crypto/bls12381"

"github.com/cosmos/cosmos-sdk/codec"
cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
Expand Down Expand Up @@ -54,7 +55,7 @@ func (privKey PrivKey) Equals(other cryptotypes.LedgerPrivKey) bool {

// Type returns the type.
func (PrivKey) Type() string {
return KeyType
return bls.KeyType
}

// Sign signs the given byte array. If msg is larger than
Expand All @@ -70,7 +71,7 @@ func (privKey PrivKey) MarshalAmino() ([]byte, error) {

// UnmarshalAmino overrides Amino binary marshaling.
func (privKey *PrivKey) UnmarshalAmino(bz []byte) error {
if len(bz) != PrivKeySize {
if len(bz) != bls.PrivKeySize {
return errors.New("invalid privkey size")
}
privKey.Key = bz
Expand Down Expand Up @@ -119,7 +120,7 @@ func (pubKey PubKey) Bytes() []byte {

// Type returns the key's type.
func (PubKey) Type() string {
return KeyType
return bls.KeyType
}

// Equals returns true if the other's type is the same and their bytes are deeply equal.
Expand Down
49 changes: 21 additions & 28 deletions crypto/keys/bls12_381/key_cgo.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@ import (

"github.com/cometbft/cometbft/crypto"
"github.com/cometbft/cometbft/crypto/tmhash"

bls12381 "github.com/cosmos/crypto/curves/bls12381"
"github.com/cometbft/cometbft/crypto/bls12381"

"github.com/cosmos/cosmos-sdk/codec"
cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
Expand All @@ -32,20 +31,20 @@ var (

// NewPrivateKeyFromBytes build a new key from the given bytes.
func NewPrivateKeyFromBytes(bz []byte) (PrivKey, error) {
secretKey, err := bls12381.SecretKeyFromBytes(bz)
secretKey, err := bls12381.NewPrivateKeyFromBytes(bz)
if err != nil {
return PrivKey{}, err
}
return PrivKey{
Key: secretKey.Marshal(),
Key: secretKey.Bytes(),
}, nil
}

// GenPrivKey generates a new key.
func GenPrivKey() (PrivKey, error) {
secretKey, err := bls12381.RandKey()
secretKey, err := bls12381.GenPrivKey()
return PrivKey{
Key: secretKey.Marshal(),
Key: secretKey.Bytes(),
}, err
}

Expand All @@ -57,13 +56,13 @@ func (privKey PrivKey) Bytes() []byte {
// PubKey returns the private key's public key. If the privkey is not valid
// it returns a nil value.
func (privKey PrivKey) PubKey() cryptotypes.PubKey {
secretKey, err := bls12381.SecretKeyFromBytes(privKey.Key)
secretKey, err := bls12381.NewPrivateKeyFromBytes(privKey.Key)
if err != nil {
return nil
}

return &PubKey{
Key: secretKey.PublicKey().Marshal(),
Key: secretKey.PubKey().Bytes(),
}
}

Expand All @@ -74,24 +73,23 @@ func (privKey PrivKey) Equals(other cryptotypes.LedgerPrivKey) bool {

// Type returns the type.
func (PrivKey) Type() string {
return KeyType
return bls12381.KeyType
}

// Sign signs the given byte array. If msg is larger than
// MaxMsgLen, SHA256 sum will be signed instead of the raw bytes.
func (privKey PrivKey) Sign(msg []byte) ([]byte, error) {
secretKey, err := bls12381.SecretKeyFromBytes(privKey.Key)
secretKey, err := bls12381.NewPrivateKeyFromBytes(privKey.Key)
if err != nil {
return nil, err
}

if len(msg) > MaxMsgLen {
if len(msg) > bls12381.MaxMsgLen {
hash := sha256.Sum256(msg)
sig := secretKey.Sign(hash[:])
return sig.Marshal(), nil
return secretKey.Sign(hash[:])
}
sig := secretKey.Sign(msg)
return sig.Marshal(), nil

return secretKey.Sign(msg)
}

// MarshalAmino overrides Amino binary marshaling.
Expand All @@ -101,7 +99,7 @@ func (privKey PrivKey) MarshalAmino() ([]byte, error) {

// UnmarshalAmino overrides Amino binary marshaling.
func (privKey *PrivKey) UnmarshalAmino(bz []byte) error {
if len(bz) != PrivKeySize {
if len(bz) != bls12381.PrivKeySize {
return errors.New("invalid privkey size")
}
privKey.Key = bz
Expand Down Expand Up @@ -135,35 +133,30 @@ var _ cryptotypes.PubKey = &PubKey{}
//
// The function will panic if the public key is invalid.
func (pubKey PubKey) Address() crypto.Address {
pk, _ := bls12381.PublicKeyFromBytes(pubKey.Key)
if len(pk.Marshal()) != PubKeySize {
pk, _ := bls12381.NewPublicKeyFromBytes(pubKey.Key)
if len(pk.Bytes()) != bls12381.PubKeySize {
panic("pubkey is incorrect size")
}
return crypto.Address(tmhash.SumTruncated(pubKey.Key))
Comment on lines +136 to 140
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Handle errors returned by NewPublicKeyFromBytes in Address() method.

In the Address() method, the error returned by bls12381.NewPublicKeyFromBytes(pubKey.Key) is ignored. Ignoring errors can lead to unexpected panics if the public key is invalid. It's important to check and handle the error to ensure robustness.

Apply this diff to handle the error:

 func (pubKey PubKey) Address() crypto.Address {
-    pk, _ := bls12381.NewPublicKeyFromBytes(pubKey.Key)
-    if len(pk.Bytes()) != bls12381.PubKeySize {
-        panic("pubkey is incorrect size")
-    }
+    pk, err := bls12381.NewPublicKeyFromBytes(pubKey.Key)
+    if err != nil {
+        panic(fmt.Sprintf("invalid public key: %v", err))
+    }
     return crypto.Address(tmhash.SumTruncated(pubKey.Key))
 }

Alternatively, consider redesigning the method to return an error instead of panicking, if that aligns with the overall design of the codebase.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
pk, _ := bls12381.NewPublicKeyFromBytes(pubKey.Key)
if len(pk.Bytes()) != bls12381.PubKeySize {
panic("pubkey is incorrect size")
}
return crypto.Address(tmhash.SumTruncated(pubKey.Key))
pk, err := bls12381.NewPublicKeyFromBytes(pubKey.Key)
if err != nil {
panic(fmt.Sprintf("invalid public key: %v", err))
}
return crypto.Address(tmhash.SumTruncated(pubKey.Key))

}

// VerifySignature verifies the given signature.
func (pubKey PubKey) VerifySignature(msg, sig []byte) bool {
if len(sig) != SignatureLength {
if len(sig) != bls12381.SignatureLength {
return false
}

pubK, err := bls12381.PublicKeyFromBytes(pubKey.Key)
pubK, err := bls12381.NewPublicKeyFromBytes(pubKey.Key)
if err != nil { // invalid pubkey
return false
}

if len(msg) > MaxMsgLen {
if len(msg) > bls12381.MaxMsgLen {
hash := sha256.Sum256(msg)
msg = hash[:]
}

ok, err := bls12381.VerifySignature(sig, [MaxMsgLen]byte(msg[:MaxMsgLen]), pubK)
if err != nil { // bad signature
return false
}

return ok
return pubK.VerifySignature(msg, sig)
}

// Bytes returns the byte format.
Expand All @@ -173,7 +166,7 @@ func (pubKey PubKey) Bytes() []byte {

// Type returns the key's type.
func (PubKey) Type() string {
return KeyType
return bls12381.KeyType
}

// Equals returns true if the other's type is the same and their bytes are deeply equal.
Expand Down
4 changes: 3 additions & 1 deletion crypto/keys/jsonkey.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package keys

import (
bls "github.com/cometbft/cometbft/crypto/bls12381"

"github.com/cosmos/cosmos-sdk/crypto/keys/bls12_381"
"github.com/cosmos/cosmos-sdk/crypto/keys/ed25519"
"github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1"
Expand All @@ -26,7 +28,7 @@ func (pk JSONPubkey) Address() types.Address {
Key: pk.Value,
}
return secp256k1.Address()
case bls12_381.PubKeyName:
case bls.PubKeyName:
bls12_381 := bls12_381.PubKey{
Key: pk.Value,
}
Expand Down
4 changes: 3 additions & 1 deletion crypto/keys/multisig/codec.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package multisig

import (
"github.com/cometbft/cometbft/crypto/bls12381"

"github.com/cosmos/cosmos-sdk/codec"
bls12_381 "github.com/cosmos/cosmos-sdk/crypto/keys/bls12_381"
"github.com/cosmos/cosmos-sdk/crypto/keys/ed25519"
Expand All @@ -26,7 +28,7 @@ func init() {
AminoCdc.RegisterConcrete(&secp256k1.PubKey{},
secp256k1.PubKeyName)
AminoCdc.RegisterConcrete(&bls12_381.PubKey{},
bls12_381.PubKeyName)
bls12381.PubKeyName)
AminoCdc.RegisterConcrete(&LegacyAminoPubKey{},
PubKeyAminoRoute)
}
1 change: 0 additions & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ require (
github.com/cosmos/btcutil v1.0.5
github.com/cosmos/cosmos-db v1.0.3-0.20240911104526-ddc3f09bfc22
github.com/cosmos/cosmos-proto v1.0.0-beta.5
github.com/cosmos/crypto v0.1.2
github.com/cosmos/go-bip39 v1.0.0
github.com/cosmos/gogogateway v1.2.0
github.com/cosmos/gogoproto v1.7.0
Expand Down
2 changes: 0 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -114,8 +114,6 @@ github.com/cosmos/cosmos-db v1.0.3-0.20240911104526-ddc3f09bfc22 h1:V3WlarcZwlYY
github.com/cosmos/cosmos-db v1.0.3-0.20240911104526-ddc3f09bfc22/go.mod h1:Z8IXcFJ9PqKK6BIsVOB3QXtkKoqUOp1vRvPT39kOXEA=
github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA=
github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec=
github.com/cosmos/crypto v0.1.2 h1:Yn500sPY+9sKVdhiPUSDtt8JOpBGMB515dOmla4zfls=
github.com/cosmos/crypto v0.1.2/go.mod h1:b6VWz3HczIpBaQPvI7KrbQeF3pXHh0al3T5e0uwMBQw=
github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY=
github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw=
github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE=
Expand Down
6 changes: 3 additions & 3 deletions scripts/build/build.mk
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,10 @@ ifeq (boltdb,$(findstring boltdb,$(COSMOS_BUILD_OPTIONS)))
build_tags += boltdb
endif

# handle blst
ifeq (blst,$(findstring blst,$(COSMOS_BUILD_OPTIONS)))
# handle bls12381
ifeq (bls12381,$(findstring bls12381,$(COSMOS_BUILD_OPTIONS)))
CGO_ENABLED=1
build_tags += blst
build_tags += bls12381
endif

whitespace :=
Expand Down
1 change: 0 additions & 1 deletion server/v2/cometbft/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,6 @@ require (
github.com/cometbft/cometbft-db v0.15.0 // indirect
github.com/cosmos/btcutil v1.0.5 // indirect
github.com/cosmos/cosmos-proto v1.0.0-beta.5 // indirect
github.com/cosmos/crypto v0.1.2 // indirect
github.com/cosmos/go-bip39 v1.0.0 // indirect
github.com/cosmos/gogogateway v1.2.0 // indirect
github.com/cosmos/iavl v1.3.1 // indirect
Expand Down
2 changes: 0 additions & 2 deletions server/v2/cometbft/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,6 @@ github.com/cosmos/cosmos-db v1.0.3-0.20240911104526-ddc3f09bfc22 h1:V3WlarcZwlYY
github.com/cosmos/cosmos-db v1.0.3-0.20240911104526-ddc3f09bfc22/go.mod h1:Z8IXcFJ9PqKK6BIsVOB3QXtkKoqUOp1vRvPT39kOXEA=
github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA=
github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec=
github.com/cosmos/crypto v0.1.2 h1:Yn500sPY+9sKVdhiPUSDtt8JOpBGMB515dOmla4zfls=
github.com/cosmos/crypto v0.1.2/go.mod h1:b6VWz3HczIpBaQPvI7KrbQeF3pXHh0al3T5e0uwMBQw=
github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY=
github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw=
github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE=
Expand Down
1 change: 0 additions & 1 deletion simapp/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,6 @@ require (
github.com/cosmos/btcutil v1.0.5 // indirect
github.com/cosmos/cosmos-db v1.0.3-0.20240911104526-ddc3f09bfc22 // indirect
github.com/cosmos/cosmos-proto v1.0.0-beta.5 // indirect
github.com/cosmos/crypto v0.1.2 // indirect
github.com/cosmos/go-bip39 v1.0.0 // indirect
github.com/cosmos/gogogateway v1.2.0 // indirect
github.com/cosmos/iavl v1.3.1 // indirect
Expand Down
2 changes: 0 additions & 2 deletions simapp/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -328,8 +328,6 @@ github.com/cosmos/cosmos-db v1.0.3-0.20240911104526-ddc3f09bfc22 h1:V3WlarcZwlYY
github.com/cosmos/cosmos-db v1.0.3-0.20240911104526-ddc3f09bfc22/go.mod h1:Z8IXcFJ9PqKK6BIsVOB3QXtkKoqUOp1vRvPT39kOXEA=
github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA=
github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec=
github.com/cosmos/crypto v0.1.2 h1:Yn500sPY+9sKVdhiPUSDtt8JOpBGMB515dOmla4zfls=
github.com/cosmos/crypto v0.1.2/go.mod h1:b6VWz3HczIpBaQPvI7KrbQeF3pXHh0al3T5e0uwMBQw=
github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY=
github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw=
github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE=
Expand Down
1 change: 0 additions & 1 deletion simapp/v2/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,6 @@ require (
github.com/cosmos/btcutil v1.0.5 // indirect
github.com/cosmos/cosmos-db v1.0.3-0.20240911104526-ddc3f09bfc22 // indirect
github.com/cosmos/cosmos-proto v1.0.0-beta.5 // indirect
github.com/cosmos/crypto v0.1.2 // indirect
github.com/cosmos/go-bip39 v1.0.0 // indirect
github.com/cosmos/gogogateway v1.2.0 // indirect
github.com/cosmos/gogoproto v1.7.0 // indirect
Expand Down
2 changes: 0 additions & 2 deletions simapp/v2/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -327,8 +327,6 @@ github.com/cosmos/cosmos-db v1.0.3-0.20240911104526-ddc3f09bfc22 h1:V3WlarcZwlYY
github.com/cosmos/cosmos-db v1.0.3-0.20240911104526-ddc3f09bfc22/go.mod h1:Z8IXcFJ9PqKK6BIsVOB3QXtkKoqUOp1vRvPT39kOXEA=
github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA=
github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec=
github.com/cosmos/crypto v0.1.2 h1:Yn500sPY+9sKVdhiPUSDtt8JOpBGMB515dOmla4zfls=
github.com/cosmos/crypto v0.1.2/go.mod h1:b6VWz3HczIpBaQPvI7KrbQeF3pXHh0al3T5e0uwMBQw=
github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY=
github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw=
github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE=
Expand Down
1 change: 0 additions & 1 deletion tests/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,6 @@ require (
github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect
github.com/cometbft/cometbft-db v0.15.0 // indirect
github.com/cosmos/btcutil v1.0.5 // indirect
github.com/cosmos/crypto v0.1.2 // indirect
github.com/cosmos/go-bip39 v1.0.0 // indirect
github.com/cosmos/gogogateway v1.2.0 // indirect
github.com/cosmos/iavl v1.3.1 // indirect
Expand Down
Loading
Loading