diff --git a/go.mod b/go.mod index c77e869795..50f35b7b65 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.23.6 require ( github.com/VictoriaMetrics/fastcache v1.12.1 github.com/antithesishq/antithesis-sdk-go v0.3.8 - github.com/ava-labs/avalanchego v1.12.3-0.20250218154446-f1ec9a13b90a + github.com/ava-labs/avalanchego v1.12.3-0.20250224161924-06777fd91bc2 github.com/cespare/cp v0.1.0 github.com/crate-crypto/go-ipa v0.0.0-20231025140028-3c0104f4b233 github.com/davecgh/go-spew v1.1.1 @@ -57,7 +57,7 @@ require ( require ( github.com/DataDog/zstd v1.5.2 // indirect github.com/NYTimes/gziphandler v1.1.1 // indirect - github.com/ava-labs/coreth v0.14.1-rc.1.0.20250217192834-6060a4a6a6d3 // indirect + github.com/ava-labs/coreth v0.14.1-rc.1.0.20250219185827-6a9db205a450 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bits-and-blooms/bitset v1.10.0 // indirect github.com/btcsuite/btcd/btcec/v2 v2.3.2 // indirect diff --git a/go.sum b/go.sum index f5f6740c90..35abe480f9 100644 --- a/go.sum +++ b/go.sum @@ -60,10 +60,10 @@ github.com/antithesishq/antithesis-sdk-go v0.3.8/go.mod h1:IUpT2DPAKh6i/YhSbt6Gl github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/ava-labs/avalanchego v1.12.3-0.20250218154446-f1ec9a13b90a h1:cBuGdwpaB1TBnfHS0w7oJyBJlM2UGOS4CEioxqMCG2g= -github.com/ava-labs/avalanchego v1.12.3-0.20250218154446-f1ec9a13b90a/go.mod h1:pgUuh27zaeaXeMiIqqu/OWpbAhJQkYMJMft6nxXG9FE= -github.com/ava-labs/coreth v0.14.1-rc.1.0.20250217192834-6060a4a6a6d3 h1:0OrQidq+b3kb7KlnDqc5mkB/73i1zxYEMiXioWSU4+w= -github.com/ava-labs/coreth v0.14.1-rc.1.0.20250217192834-6060a4a6a6d3/go.mod h1:/XrU+CAm/0wiY5Ui05TLj2/n+czbCV6/Qrw/UMWp5aI= +github.com/ava-labs/avalanchego v1.12.3-0.20250224161924-06777fd91bc2 h1:K0VBtP+zMdyBT6Fx9LzHmwaCxmdLmxAsSFdMScqicH0= +github.com/ava-labs/avalanchego v1.12.3-0.20250224161924-06777fd91bc2/go.mod h1:DfZ1/FHFxr1XnpDMfbMmex8bKxAtIISCGASdMUNFXtY= +github.com/ava-labs/coreth v0.14.1-rc.1.0.20250219185827-6a9db205a450 h1:xSoL6plkPrb2w21v4JRnQg3BIJSg2svBHXyil09RMAg= +github.com/ava-labs/coreth v0.14.1-rc.1.0.20250219185827-6a9db205a450/go.mod h1:AEQcF8MWrKH0sS114wEZlkSfeGF5F66xTbQYqqimNLI= github.com/aymerick/raymond v2.0.3-0.20180322193309-b565731e1464+incompatible/go.mod h1:osfaiScAUVup+UC9Nfq76eWqDhXlp+4UYaA8uhTBO6g= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= diff --git a/plugin/evm/vm_warp_test.go b/plugin/evm/vm_warp_test.go index 03e30932a9..17e7f7c29c 100644 --- a/plugin/evm/vm_warp_test.go +++ b/plugin/evm/vm_warp_test.go @@ -284,13 +284,15 @@ func testWarpVMTransaction(t *testing.T, unsignedMessage *avalancheWarp.Unsigned blsSecretKey1, err := localsigner.New() require.NoError(err) blsPublicKey1 := blsSecretKey1.PublicKey() - blsSignature1 := blsSecretKey1.Sign(unsignedMessage.Bytes()) + blsSignature1, err := blsSecretKey1.Sign(unsignedMessage.Bytes()) + require.NoError(err) nodeID2 := ids.GenerateTestNodeID() blsSecretKey2, err := localsigner.New() require.NoError(err) blsPublicKey2 := blsSecretKey2.PublicKey() - blsSignature2 := blsSecretKey2.Sign(unsignedMessage.Bytes()) + blsSignature2, err := blsSecretKey2.Sign(unsignedMessage.Bytes()) + require.NoError(err) blsAggregatedSignature, err := bls.AggregateSignatures([]*bls.Signature{blsSignature1, blsSignature2}) require.NoError(err) @@ -553,11 +555,14 @@ func testReceiveWarpMessage( newSigner := func(networkID ids.ID, weight uint64) signer { secret, err := localsigner.New() require.NoError(err) + sig, err := secret.Sign(unsignedMessage.Bytes()) + require.NoError(err) + return signer{ networkID: networkID, nodeID: ids.GenerateTestNodeID(), secret: secret, - signature: secret.Sign(unsignedMessage.Bytes()), + signature: sig, weight: weight, } } diff --git a/precompile/contracts/warp/predicate_test.go b/precompile/contracts/warp/predicate_test.go index 35afb24ed9..460dd4be2c 100644 --- a/precompile/contracts/warp/predicate_test.go +++ b/precompile/contracts/warp/predicate_test.go @@ -94,7 +94,10 @@ func init() { } for _, testVdr := range testVdrs { - blsSignature := testVdr.sk.Sign(unsignedMsg.Bytes()) + blsSignature, err := testVdr.sk.Sign(unsignedMsg.Bytes()) + if err != nil { + panic(err) + } blsSignatures = append(blsSignatures, blsSignature) } @@ -235,13 +238,16 @@ func testWarpMessageFromPrimaryNetwork(t *testing.T, requirePrimaryNetworkSigner getValidatorsOutput := make(map[ids.NodeID]*validators.GetValidatorOutput) blsSignatures := make([]*bls.Signature, 0, numKeys) for i := 0; i < numKeys; i++ { + sig, err := testVdrs[i].sk.Sign(unsignedMsg.Bytes()) + require.NoError(err) + validatorOutput := &validators.GetValidatorOutput{ NodeID: testVdrs[i].nodeID, Weight: 20, PublicKey: testVdrs[i].vdr.PublicKey, } getValidatorsOutput[testVdrs[i].nodeID] = validatorOutput - blsSignatures = append(blsSignatures, testVdrs[i].sk.Sign(unsignedMsg.Bytes())) + blsSignatures = append(blsSignatures, sig) } aggregateSignature, err := bls.AggregateSignatures(blsSignatures) require.NoError(err) diff --git a/precompile/contracts/warp/signature_verification_test.go b/precompile/contracts/warp/signature_verification_test.go index 90ee808f91..e3b33e2d4d 100644 --- a/precompile/contracts/warp/signature_verification_test.go +++ b/precompile/contracts/warp/signature_verification_test.go @@ -213,8 +213,10 @@ func TestSignatureVerification(t *testing.T) { signers.Add(1) unsignedBytes := unsignedMsg.Bytes() - vdr0Sig := testVdrs[0].sk.Sign(unsignedBytes) - vdr1Sig := testVdrs[1].sk.Sign(unsignedBytes) + vdr0Sig, err := testVdrs[0].sk.Sign(unsignedBytes) + require.NoError(err) + vdr1Sig, err := testVdrs[1].sk.Sign(unsignedBytes) + require.NoError(err) aggSig, err := bls.AggregateSignatures([]*bls.Signature{vdr0Sig, vdr1Sig}) require.NoError(err) aggSigBytes := [bls.SignatureLen]byte{} @@ -285,7 +287,8 @@ func TestSignatureVerification(t *testing.T) { require.NoError(err) unsignedBytes := unsignedMsg.Bytes() - vdr0Sig := testVdrs[0].sk.Sign(unsignedBytes) + vdr0Sig, err := testVdrs[0].sk.Sign(unsignedBytes) + require.NoError(err) aggSigBytes := [bls.SignatureLen]byte{} copy(aggSigBytes[:], bls.SignatureToBytes(vdr0Sig)) @@ -324,10 +327,12 @@ func TestSignatureVerification(t *testing.T) { signers.Add(1) unsignedBytes := unsignedMsg.Bytes() - vdr0Sig := testVdrs[0].sk.Sign(unsignedBytes) + vdr0Sig, err := testVdrs[0].sk.Sign(unsignedBytes) + require.NoError(err) // Give sig from vdr[2] even though the bit vector says it // should be from vdr[1] - vdr2Sig := testVdrs[2].sk.Sign(unsignedBytes) + vdr2Sig, err := testVdrs[2].sk.Sign(unsignedBytes) + require.NoError(err) aggSig, err := bls.AggregateSignatures([]*bls.Signature{vdr0Sig, vdr2Sig}) require.NoError(err) aggSigBytes := [bls.SignatureLen]byte{} @@ -368,7 +373,8 @@ func TestSignatureVerification(t *testing.T) { signers.Add(1) unsignedBytes := unsignedMsg.Bytes() - vdr0Sig := testVdrs[0].sk.Sign(unsignedBytes) + vdr0Sig, err := testVdrs[0].sk.Sign(unsignedBytes) + require.NoError(err) // Don't give the sig from vdr[1] aggSigBytes := [bls.SignatureLen]byte{} copy(aggSigBytes[:], bls.SignatureToBytes(vdr0Sig)) @@ -408,11 +414,14 @@ func TestSignatureVerification(t *testing.T) { signers.Add(1) unsignedBytes := unsignedMsg.Bytes() - vdr0Sig := testVdrs[0].sk.Sign(unsignedBytes) - vdr1Sig := testVdrs[1].sk.Sign(unsignedBytes) + vdr0Sig, err := testVdrs[0].sk.Sign(unsignedBytes) + require.NoError(err) + vdr1Sig, err := testVdrs[1].sk.Sign(unsignedBytes) + require.NoError(err) // Give sig from vdr[2] even though the bit vector doesn't have // it - vdr2Sig := testVdrs[2].sk.Sign(unsignedBytes) + vdr2Sig, err := testVdrs[2].sk.Sign(unsignedBytes) + require.NoError(err) aggSig, err := bls.AggregateSignatures([]*bls.Signature{vdr0Sig, vdr1Sig, vdr2Sig}) require.NoError(err) aggSigBytes := [bls.SignatureLen]byte{} @@ -455,8 +464,10 @@ func TestSignatureVerification(t *testing.T) { signers.Add(2) unsignedBytes := unsignedMsg.Bytes() - vdr1Sig := testVdrs[1].sk.Sign(unsignedBytes) - vdr2Sig := testVdrs[2].sk.Sign(unsignedBytes) + vdr1Sig, err := testVdrs[1].sk.Sign(unsignedBytes) + require.NoError(err) + vdr2Sig, err := testVdrs[2].sk.Sign(unsignedBytes) + require.NoError(err) aggSig, err := bls.AggregateSignatures([]*bls.Signature{vdr1Sig, vdr2Sig}) require.NoError(err) aggSigBytes := [bls.SignatureLen]byte{} @@ -499,8 +510,10 @@ func TestSignatureVerification(t *testing.T) { signers.Add(2) unsignedBytes := unsignedMsg.Bytes() - vdr1Sig := testVdrs[1].sk.Sign(unsignedBytes) - vdr2Sig := testVdrs[2].sk.Sign(unsignedBytes) + vdr1Sig, err := testVdrs[1].sk.Sign(unsignedBytes) + require.NoError(err) + vdr2Sig, err := testVdrs[2].sk.Sign(unsignedBytes) + require.NoError(err) aggSig, err := bls.AggregateSignatures([]*bls.Signature{vdr1Sig, vdr2Sig}) require.NoError(err) aggSigBytes := [bls.SignatureLen]byte{} @@ -560,8 +573,10 @@ func TestSignatureVerification(t *testing.T) { signers.Add(1) // vdr[2] unsignedBytes := unsignedMsg.Bytes() - vdr1Sig := testVdrs[1].sk.Sign(unsignedBytes) - vdr2Sig := testVdrs[2].sk.Sign(unsignedBytes) + vdr1Sig, err := testVdrs[1].sk.Sign(unsignedBytes) + require.NoError(err) + vdr2Sig, err := testVdrs[2].sk.Sign(unsignedBytes) + require.NoError(err) aggSig, err := bls.AggregateSignatures([]*bls.Signature{vdr1Sig, vdr2Sig}) require.NoError(err) aggSigBytes := [bls.SignatureLen]byte{} @@ -622,7 +637,8 @@ func TestSignatureVerification(t *testing.T) { unsignedBytes := unsignedMsg.Bytes() // Because vdr[1] and vdr[2] share a key, only one of them sign. - vdr2Sig := testVdrs[2].sk.Sign(unsignedBytes) + vdr2Sig, err := testVdrs[2].sk.Sign(unsignedBytes) + require.NoError(err) aggSigBytes := [bls.SignatureLen]byte{} copy(aggSigBytes[:], bls.SignatureToBytes(vdr2Sig)) diff --git a/warp/aggregator/aggregator_test.go b/warp/aggregator/aggregator_test.go index 397e39553d..2a976bb662 100644 --- a/warp/aggregator/aggregator_test.go +++ b/warp/aggregator/aggregator_test.go @@ -44,9 +44,12 @@ func TestAggregateSignatures(t *testing.T) { vdr1sk, vdr1 := newValidator(t, vdrWeight) vdr2sk, vdr2 := newValidator(t, vdrWeight+1) vdr3sk, vdr3 := newValidator(t, vdrWeight-1) - sig1 := vdr1sk.Sign(unsignedMsg.Bytes()) - sig2 := vdr2sk.Sign(unsignedMsg.Bytes()) - sig3 := vdr3sk.Sign(unsignedMsg.Bytes()) + sig1, err := vdr1sk.Sign(unsignedMsg.Bytes()) + require.NoError(t, err) + sig2, err := vdr2sk.Sign(unsignedMsg.Bytes()) + require.NoError(t, err) + sig3, err := vdr3sk.Sign(unsignedMsg.Bytes()) + require.NoError(t, err) vdrToSig := map[*avalancheWarp.Validator]*bls.Signature{ vdr1: sig1, vdr2: sig2, @@ -54,7 +57,8 @@ func TestAggregateSignatures(t *testing.T) { } nonVdrSk, err := localsigner.New() require.NoError(t, err) - nonVdrSig := nonVdrSk.Sign(unsignedMsg.Bytes()) + nonVdrSig, err := nonVdrSk.Sign(unsignedMsg.Bytes()) + require.NoError(t, err) vdrs := []*avalancheWarp.Validator{ { PublicKey: vdr1.PublicKey,