Skip to content
This repository was archived by the owner on Nov 25, 2025. It is now read-only.
Closed
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
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ jobs:
with:
go-version-file: "go.mod"
- name: Run e2e tests
uses: ava-labs/avalanchego/.github/actions/run-monitored-tmpnet-cmd@d8bfb84e85957e16c6e5bab105f61e29485f369c
uses: ava-labs/avalanchego/.github/actions/run-monitored-tmpnet-cmd@9d6003364cbfba9e7d3ec566391fe83d649fabf2
with:
run: ./scripts/tests.e2e.sh
prometheus_username: ${{ secrets.PROMETHEUS_ID || '' }}
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ go 1.23.6

require (
github.com/VictoriaMetrics/fastcache v1.12.1
github.com/ava-labs/avalanchego v1.13.1-rc.0.0.20250421193253-d8bfb84e8595
github.com/ava-labs/avalanchego v1.13.1-cache-cleanup
github.com/ava-labs/libevm v1.13.14-0.2.0.release
github.com/davecgh/go-spew v1.1.1
github.com/deckarep/golang-set/v2 v2.1.0
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,8 @@ github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY
github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156 h1:eMwmnE/GDgah4HI848JfFxHt+iPb26b4zyfspmqY0/8=
github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM=
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
github.com/ava-labs/avalanchego v1.13.1-rc.0.0.20250421193253-d8bfb84e8595 h1:sazRMIAL0gAJGyhZCkO8zPTVFufwuxPHQoPfmP6qLko=
github.com/ava-labs/avalanchego v1.13.1-rc.0.0.20250421193253-d8bfb84e8595/go.mod h1:6cFD9bIDPn9aDPzTvAjBndeqURKA1C9c4aEeIcvS0Ms=
github.com/ava-labs/avalanchego v1.13.1-cache-cleanup h1:IFtK2HsIzCnIYfMmq5S6vYRwpz0lyzXBl3Ff5v/4ro4=
github.com/ava-labs/avalanchego v1.13.1-cache-cleanup/go.mod h1:6cFD9bIDPn9aDPzTvAjBndeqURKA1C9c4aEeIcvS0Ms=
github.com/ava-labs/libevm v1.13.14-0.2.0.release h1:uKGCc5/ceeBbfAPRVtBUxbQt50WzB2pEDb8Uy93ePgQ=
github.com/ava-labs/libevm v1.13.14-0.2.0.release/go.mod h1:+Iol+sVQ1KyoBsHf3veyrBmHCXr3xXRWq6ZXkgVfNLU=
github.com/aymerick/raymond v2.0.3-0.20180322193309-b565731e1464+incompatible/go.mod h1:osfaiScAUVup+UC9Nfq76eWqDhXlp+4UYaA8uhTBO6g=
Expand Down
6 changes: 3 additions & 3 deletions plugin/evm/atomic/mempool.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import (
"fmt"
"sync"

"github.com/ava-labs/avalanchego/cache"
"github.com/ava-labs/avalanchego/cache/lru"
"github.com/ava-labs/avalanchego/ids"
"github.com/ava-labs/avalanchego/network/p2p/gossip"
"github.com/ava-labs/avalanchego/snow"
Expand Down Expand Up @@ -67,7 +67,7 @@ type Mempool struct {
issuedTxs map[ids.ID]*Tx
// discardedTxs is an LRU Cache of transactions that have been discarded after failing
// verification.
discardedTxs *cache.LRU[ids.ID, *Tx]
discardedTxs *lru.Cache[ids.ID, *Tx]
// Pending is a channel of length one, which the mempool ensures has an item on
// it as long as there is an unissued transaction remaining in [txs]
Pending chan struct{}
Expand Down Expand Up @@ -98,7 +98,7 @@ func NewMempool(ctx *snow.Context, registerer prometheus.Registerer, maxSize int
return &Mempool{
ctx: ctx,
issuedTxs: make(map[ids.ID]*Tx),
discardedTxs: &cache.LRU[ids.ID, *Tx]{Size: discardedTxsCacheSize},
discardedTxs: lru.NewCache[ids.ID, *Tx](discardedTxsCacheSize),
currentTxs: make(map[ids.ID]*Tx),
Pending: make(chan struct{}, 1),
txHeap: newTxHeap(maxSize),
Expand Down
10 changes: 3 additions & 7 deletions plugin/evm/vm.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import (
"sync"
"time"

"github.com/ava-labs/avalanchego/cache/lru"
"github.com/ava-labs/avalanchego/cache/metercacher"
"github.com/ava-labs/avalanchego/network/p2p"
"github.com/ava-labs/avalanchego/network/p2p/acp118"
Expand Down Expand Up @@ -78,7 +79,6 @@ import (

avalancheRPC "github.com/gorilla/rpc/v2"

"github.com/ava-labs/avalanchego/cache"
"github.com/ava-labs/avalanchego/codec"
"github.com/ava-labs/avalanchego/codec/linearcodec"
"github.com/ava-labs/avalanchego/database"
Expand Down Expand Up @@ -513,11 +513,7 @@ func (vm *VM) Initialize(

vm.chainConfig = g.Config
vm.networkID = vm.ethConfig.NetworkId
vm.secpCache = secp256k1.RecoverCache{
LRU: cache.LRU[ids.ID, *secp256k1.PublicKey]{
Size: secpCacheSize,
},
}
vm.secpCache = *secp256k1.NewRecoverCache(secpCacheSize)

if err := configExtra.Verify(); err != nil {
return fmt.Errorf("failed to verify chain config: %w", err)
Expand Down Expand Up @@ -549,7 +545,7 @@ func (vm *VM) Initialize(
for i, hexMsg := range vm.config.WarpOffChainMessages {
offchainWarpMessages[i] = []byte(hexMsg)
}
warpSignatureCache := &cache.LRU[ids.ID, []byte]{Size: warpSignatureCacheSize}
warpSignatureCache := lru.NewCache[ids.ID, []byte](warpSignatureCacheSize)
meteredCache, err := metercacher.New("warp_signature_cache", vm.sdkMetrics, warpSignatureCache)
if err != nil {
return fmt.Errorf("failed to create warp signature cache: %w", err)
Expand Down
5 changes: 3 additions & 2 deletions warp/backend.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
"fmt"

"github.com/ava-labs/avalanchego/cache"
"github.com/ava-labs/avalanchego/cache/lru"
"github.com/ava-labs/avalanchego/database"
"github.com/ava-labs/avalanchego/ids"
"github.com/ava-labs/avalanchego/network/p2p/acp118"
Expand Down Expand Up @@ -57,7 +58,7 @@ type backend struct {
warpSigner avalancheWarp.Signer
blockClient BlockClient
signatureCache cache.Cacher[ids.ID, []byte]
messageCache *cache.LRU[ids.ID, *avalancheWarp.UnsignedMessage]
messageCache *lru.Cache[ids.ID, *avalancheWarp.UnsignedMessage]
offchainAddressedCallMsgs map[ids.ID]*avalancheWarp.UnsignedMessage
stats *verifierStats
}
Expand All @@ -79,7 +80,7 @@ func NewBackend(
warpSigner: warpSigner,
blockClient: blockClient,
signatureCache: signatureCache,
messageCache: &cache.LRU[ids.ID, *avalancheWarp.UnsignedMessage]{Size: messageCacheSize},
messageCache: lru.NewCache[ids.ID, *avalancheWarp.UnsignedMessage](messageCacheSize),
stats: newVerifierStats(),
offchainAddressedCallMsgs: make(map[ids.ID]*avalancheWarp.UnsignedMessage),
}
Expand Down
12 changes: 6 additions & 6 deletions warp/backend_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
"context"
"testing"

"github.com/ava-labs/avalanchego/cache"
"github.com/ava-labs/avalanchego/cache/lru"
"github.com/ava-labs/avalanchego/database"
"github.com/ava-labs/avalanchego/database/memdb"
"github.com/ava-labs/avalanchego/ids"
Expand Down Expand Up @@ -44,7 +44,7 @@ func TestAddAndGetValidMessage(t *testing.T) {
sk, err := localsigner.New()
require.NoError(t, err)
warpSigner := avalancheWarp.NewSigner(sk, networkID, sourceChainID)
messageSignatureCache := &cache.LRU[ids.ID, []byte]{Size: 500}
messageSignatureCache := lru.NewCache[ids.ID, []byte](500)
backend, err := NewBackend(networkID, sourceChainID, warpSigner, nil, db, messageSignatureCache, nil)
require.NoError(t, err)

Expand All @@ -67,7 +67,7 @@ func TestAddAndGetUnknownMessage(t *testing.T) {
sk, err := localsigner.New()
require.NoError(t, err)
warpSigner := avalancheWarp.NewSigner(sk, networkID, sourceChainID)
messageSignatureCache := &cache.LRU[ids.ID, []byte]{Size: 500}
messageSignatureCache := lru.NewCache[ids.ID, []byte](500)
backend, err := NewBackend(networkID, sourceChainID, warpSigner, nil, db, messageSignatureCache, nil)
require.NoError(t, err)

Expand All @@ -86,7 +86,7 @@ func TestGetBlockSignature(t *testing.T) {
sk, err := localsigner.New()
require.NoError(err)
warpSigner := avalancheWarp.NewSigner(sk, networkID, sourceChainID)
messageSignatureCache := &cache.LRU[ids.ID, []byte]{Size: 500}
messageSignatureCache := lru.NewCache[ids.ID, []byte](500)
backend, err := NewBackend(networkID, sourceChainID, warpSigner, blockClient, db, messageSignatureCache, nil)
require.NoError(err)

Expand All @@ -113,7 +113,7 @@ func TestZeroSizedCache(t *testing.T) {
warpSigner := avalancheWarp.NewSigner(sk, networkID, sourceChainID)

// Verify zero sized cache works normally, because the lru cache will be initialized to size 1 for any size parameter <= 0.
messageSignatureCache := &cache.LRU[ids.ID, []byte]{Size: 0}
messageSignatureCache := lru.NewCache[ids.ID, []byte](0)
backend, err := NewBackend(networkID, sourceChainID, warpSigner, nil, db, messageSignatureCache, nil)
require.NoError(t, err)

Expand Down Expand Up @@ -173,7 +173,7 @@ func TestOffChainMessages(t *testing.T) {
require := require.New(t)
db := memdb.New()

messageSignatureCache := &cache.LRU[ids.ID, []byte]{Size: 0}
messageSignatureCache := lru.NewCache[ids.ID, []byte](0)
backend, err := NewBackend(networkID, sourceChainID, warpSigner, nil, db, messageSignatureCache, test.offchainMessages)
require.ErrorIs(err, test.err)
if test.check != nil {
Expand Down
6 changes: 3 additions & 3 deletions warp/handlers/signature_request_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
"context"
"testing"

"github.com/ava-labs/avalanchego/cache"
"github.com/ava-labs/avalanchego/cache/lru"
"github.com/ava-labs/avalanchego/database/memdb"
"github.com/ava-labs/avalanchego/ids"
"github.com/ava-labs/avalanchego/utils/crypto/bls"
Expand Down Expand Up @@ -36,7 +36,7 @@ func TestMessageSignatureHandler(t *testing.T) {
offchainMessage, err := avalancheWarp.NewUnsignedMessage(snowCtx.NetworkID, snowCtx.ChainID, addressedPayload.Bytes())
require.NoError(t, err)

messageSignatureCache := &cache.LRU[ids.ID, []byte]{Size: 100}
messageSignatureCache := lru.NewCache[ids.ID, []byte](100)
backend, err := warp.NewBackend(snowCtx.NetworkID, snowCtx.ChainID, warpSigner, warptest.EmptyBlockClient, database, messageSignatureCache, [][]byte{offchainMessage.Bytes()})
require.NoError(t, err)

Expand Down Expand Up @@ -139,7 +139,7 @@ func TestBlockSignatureHandler(t *testing.T) {
warpSigner := avalancheWarp.NewSigner(blsSecretKey, snowCtx.NetworkID, snowCtx.ChainID)
blkID := ids.GenerateTestID()
blockClient := warptest.MakeBlockClient(blkID)
messageSignatureCache := &cache.LRU[ids.ID, []byte]{Size: 100}
messageSignatureCache := lru.NewCache[ids.ID, []byte](100)
backend, err := warp.NewBackend(
snowCtx.NetworkID,
snowCtx.ChainID,
Expand Down
5 changes: 3 additions & 2 deletions warp/verifier_backend_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
"time"

"github.com/ava-labs/avalanchego/cache"
"github.com/ava-labs/avalanchego/cache/lru"
"github.com/ava-labs/avalanchego/database/memdb"
"github.com/ava-labs/avalanchego/ids"
"github.com/ava-labs/avalanchego/network/p2p/acp118"
Expand Down Expand Up @@ -97,7 +98,7 @@ func TestAddressedCallSignatures(t *testing.T) {
t.Run(name, func(t *testing.T) {
var sigCache cache.Cacher[ids.ID, []byte]
if withCache {
sigCache = &cache.LRU[ids.ID, []byte]{Size: 100}
sigCache = lru.NewCache[ids.ID, []byte](100)
} else {
sigCache = &cache.Empty[ids.ID, []byte]{}
}
Expand Down Expand Up @@ -209,7 +210,7 @@ func TestBlockSignatures(t *testing.T) {
t.Run(name, func(t *testing.T) {
var sigCache cache.Cacher[ids.ID, []byte]
if withCache {
sigCache = &cache.LRU[ids.ID, []byte]{Size: 100}
sigCache = lru.NewCache[ids.ID, []byte](100)
} else {
sigCache = &cache.Empty[ids.ID, []byte]{}
}
Expand Down
Loading