diff --git a/.github/workflows/build-test-release.yml b/.github/workflows/build-test-release.yml index d8500129..179fd016 100644 --- a/.github/workflows/build-test-release.yml +++ b/.github/workflows/build-test-release.yml @@ -28,7 +28,7 @@ jobs: run: scripts/tests.integration.sh - name: Run e2e tests shell: bash - run: E2E=true scripts/run.sh 1.9.3 + run: E2E=true scripts/run.sh 1.9.4 env: E2E: true build_test_release: @@ -45,7 +45,9 @@ jobs: with: go-version: 1.18 - name: Set up arm64 cross compiler - run: sudo apt-get -y install gcc-aarch64-linux-gnu + run: | + sudo apt-get -y update + sudo apt-get -y install gcc-aarch64-linux-gnu - name: Checkout osxcross uses: actions/checkout@v2 with: diff --git a/README.md b/README.md index 869e866f..19edbf7f 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ this to its logical conclusion). [v0.0.10] AvalancheGo@v1.9.2 [v0.0.11] AvalancheGo@v1.9.2 [v0.0.12] AvalancheGo@v1.9.3 +[v0.0.13] AvalancheGo@v1.9.4 ``` ## Introduction diff --git a/chain/mempool.go b/chain/mempool.go index 6ee1163b..35b94999 100644 --- a/chain/mempool.go +++ b/chain/mempool.go @@ -5,11 +5,12 @@ package chain import ( "github.com/ava-labs/avalanchego/ids" + "github.com/ava-labs/avalanchego/utils/set" ) type Mempool interface { Len() int - Prune(ids.Set) + Prune(set.Set[ids.ID]) PopMax() (*Transaction, uint64) Add(*Transaction) bool NewTxs(uint64) []*Transaction diff --git a/chain/mempool_mock.go b/chain/mempool_mock.go index 3004cfcb..b2abdfb3 100644 --- a/chain/mempool_mock.go +++ b/chain/mempool_mock.go @@ -11,6 +11,7 @@ import ( reflect "reflect" ids "github.com/ava-labs/avalanchego/ids" + set "github.com/ava-labs/avalanchego/utils/set" gomock "github.com/golang/mock/gomock" ) @@ -95,7 +96,7 @@ func (mr *MockMempoolMockRecorder) PopMax() *gomock.Call { } // Prune mocks base method. -func (m *MockMempool) Prune(arg0 ids.Set) { +func (m *MockMempool) Prune(arg0 set.Set[ids.ID]) { m.ctrl.T.Helper() m.ctrl.Call(m, "Prune", arg0) } diff --git a/chain/tx_test.go b/chain/tx_test.go index 80df1239..27ab1422 100644 --- a/chain/tx_test.go +++ b/chain/tx_test.go @@ -12,6 +12,7 @@ import ( "github.com/ava-labs/avalanchego/database/memdb" "github.com/ava-labs/avalanchego/ids" + "github.com/ava-labs/avalanchego/utils/set" "github.com/ethereum/go-ethereum/crypto" ) @@ -23,7 +24,7 @@ func TestTransaction(t *testing.T) { t.Fatal(err) } - found := ids.NewSet(3) + found := set.NewSet[ids.ID](3) g := DefaultGenesis() for i := range []int{0, 1, 2} { tx := &Transaction{ @@ -80,7 +81,7 @@ func TestTransactionErrInvalidSignature(t *testing.T) { return createTestTx(t, ids.ID{0, 1}, priv) }, blockTime: 1, - ctx: &Context{RecentBlockIDs: ids.Set{{0, 1}: struct{}{}}}, + ctx: &Context{RecentBlockIDs: set.Set[ids.ID]{{0, 1}: struct{}{}}}, executeErr: nil, }, { @@ -89,7 +90,7 @@ func TestTransactionErrInvalidSignature(t *testing.T) { return tx }, blockTime: 1, - ctx: &Context{RecentBlockIDs: ids.Set{{0, 1}: struct{}{}}}, + ctx: &Context{RecentBlockIDs: set.Set[ids.ID]{{0, 1}: struct{}{}}}, executeErr: ErrInvalidBalance, }, } diff --git a/chain/vm.go b/chain/vm.go index 7faa0678..e60fe3f3 100644 --- a/chain/vm.go +++ b/chain/vm.go @@ -6,11 +6,12 @@ package chain import ( "github.com/ava-labs/avalanchego/database" "github.com/ava-labs/avalanchego/ids" + "github.com/ava-labs/avalanchego/utils/set" ) type Context struct { - RecentBlockIDs ids.Set - RecentTxIDs ids.Set + RecentBlockIDs set.Set[ids.ID] + RecentTxIDs set.Set[ids.ID] RecentLoadUnits uint64 Prices []uint64 diff --git a/compatibility.json b/compatibility.json index 0c49f8ab..5678baa5 100644 --- a/compatibility.json +++ b/compatibility.json @@ -1,5 +1,6 @@ { "rpcChainVMProtocolVersion": { + "v0.0.13": 20, "v0.0.12": 19, "v0.0.11": 19, "v0.0.10": 19, diff --git a/go.mod b/go.mod index 94296b25..611d99fd 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.18 require ( github.com/ava-labs/avalanche-network-runner-sdk v0.3.0 - github.com/ava-labs/avalanchego v1.9.3 + github.com/ava-labs/avalanchego v1.9.4 github.com/ethereum/go-ethereum v1.10.26 github.com/fatih/color v1.13.0 github.com/golang/mock v1.6.0 diff --git a/go.sum b/go.sum index 64b37cff..1e73344c 100644 --- a/go.sum +++ b/go.sum @@ -66,6 +66,8 @@ github.com/ava-labs/avalanche-network-runner-sdk v0.3.0 h1:TVi9JEdKNU/RevYZ9PyW4 github.com/ava-labs/avalanche-network-runner-sdk v0.3.0/go.mod h1:SgKJvtqvgo/Bl/c8fxEHCLaSxEbzimYfBopcfrajxQk= github.com/ava-labs/avalanchego v1.9.3 h1:vEIa5R7p9P+q1Tf4DHFQppI0ELgKdv0tLVx4sMDNXZc= github.com/ava-labs/avalanchego v1.9.3/go.mod h1:UR0FdZiS5+0fEqGk3S8zLIiQ2xdzIfTcCnndBRJQ5NA= +github.com/ava-labs/avalanchego v1.9.4 h1:z5tE/vUGzUQflqv3mn6X5E1VTCZHYhuD36idOyPNRrc= +github.com/ava-labs/avalanchego v1.9.4/go.mod h1:H4pMTYzgudfPs9WX+KXI0nCiUGNkdgPWOwm1nqzGibQ= github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= diff --git a/mempool/mempool.go b/mempool/mempool.go index 9a0a2801..bbd4cb5f 100644 --- a/mempool/mempool.go +++ b/mempool/mempool.go @@ -8,6 +8,7 @@ import ( "sync" "github.com/ava-labs/avalanchego/ids" + "github.com/ava-labs/avalanchego/utils/set" "github.com/ava-labs/spacesvm/chain" ) @@ -132,7 +133,7 @@ func (th *Mempool) Remove(id ids.ID) *chain.Transaction { // O(log N) } // Prune removes all transactions that are not found in "validHashes". -func (th *Mempool) Prune(validHashes ids.Set) { +func (th *Mempool) Prune(validHashes set.Set[ids.ID]) { th.mu.RLock() toRemove := []ids.ID{} for _, txE := range th.maxHeap.items { // O(N) diff --git a/mempool/mempool_benchmark_test.go b/mempool/mempool_benchmark_test.go index bc860675..3617630b 100644 --- a/mempool/mempool_benchmark_test.go +++ b/mempool/mempool_benchmark_test.go @@ -9,6 +9,7 @@ import ( "testing" "github.com/ava-labs/avalanchego/ids" + "github.com/ava-labs/avalanchego/utils/set" "github.com/ethereum/go-ethereum/crypto" "github.com/ava-labs/spacesvm/chain" @@ -45,7 +46,7 @@ func createTestMempool( maxSize int, n int, sampleBlk int, -) (mp chain.Mempool, sampleBlkIDs ids.Set) { +) (mp chain.Mempool, sampleBlkIDs set.Set[ids.ID]) { b.Helper() if sampleBlk*2 >= n { b.Fatalf("unexpected sampleBlk %d (expected < N/2 %d)", sampleBlk, n) @@ -91,7 +92,7 @@ func createTestMempool( txs[i] = tx } - sampleBlkIDs = ids.NewSet(sampleBlk) + sampleBlkIDs = set.NewSet[ids.ID](sampleBlk) mp = mempool.New(g, maxSize) diff --git a/scripts/mock.sh b/scripts/mock.sh index a26bc581..1d259dd1 100755 --- a/scripts/mock.sh +++ b/scripts/mock.sh @@ -12,7 +12,7 @@ fi echo "MOCKGEN RUNNING!" -go install -v github.com/golang/mock/mockgen@v1.6.0 +go install -v github.com/golang/mock/mockgen@v1.7.0-rc.1 mockgen \ -copyright_file=./LICENSE.header \ diff --git a/tests/integration/integration_test.go b/tests/integration/integration_test.go index 735735a7..ba6afa47 100644 --- a/tests/integration/integration_test.go +++ b/tests/integration/integration_test.go @@ -26,6 +26,7 @@ import ( "github.com/ava-labs/avalanchego/snow" "github.com/ava-labs/avalanchego/snow/choices" "github.com/ava-labs/avalanchego/snow/engine/common" + "github.com/ava-labs/avalanchego/utils/set" "github.com/ava-labs/avalanchego/utils/units" avago_version "github.com/ava-labs/avalanchego/version" ecommon "github.com/ethereum/go-ethereum/common" @@ -786,7 +787,7 @@ func (app *appSender) SendAppGossip(ctx context.Context, appGossipBytes []byte) return app.instances[app.next].vm.AppGossip(ctx, sender, appGossipBytes) } -func (app *appSender) SendAppRequest(_ context.Context, _ ids.NodeIDSet, _ uint32, _ []byte) error { +func (app *appSender) SendAppRequest(_ context.Context, _ set.Set[ids.NodeID], _ uint32, _ []byte) error { return nil } @@ -794,7 +795,7 @@ func (app *appSender) SendAppResponse(_ context.Context, _ ids.NodeID, _ uint32, return nil } -func (app *appSender) SendAppGossipSpecific(_ context.Context, _ ids.NodeIDSet, _ []byte) error { +func (app *appSender) SendAppGossipSpecific(_ context.Context, _ set.Set[ids.NodeID], _ []byte) error { return nil } diff --git a/version/version.go b/version/version.go index fee7e75c..256f9534 100644 --- a/version/version.go +++ b/version/version.go @@ -9,5 +9,5 @@ import "github.com/ava-labs/avalanchego/version" var Version = &version.Semantic{ Major: 0, Minor: 0, - Patch: 12, + Patch: 13, } diff --git a/vm/chain_vm.go b/vm/chain_vm.go index e8f684b8..d88d248b 100644 --- a/vm/chain_vm.go +++ b/vm/chain_vm.go @@ -6,6 +6,7 @@ package vm import ( "github.com/ava-labs/avalanchego/database" "github.com/ava-labs/avalanchego/ids" + "github.com/ava-labs/avalanchego/utils/set" log "github.com/inconshreveable/log15" "github.com/ava-labs/spacesvm/chain" @@ -67,8 +68,8 @@ func (vm *VM) Accepted(b *chain.StatelessBlock) { func (vm *VM) ExecutionContext(currTime int64, lastBlock *chain.StatelessBlock) (*chain.Context, error) { g := vm.genesis - recentBlockIDs := ids.Set{} - recentTxIDs := ids.Set{} + recentBlockIDs := set.Set[ids.ID]{} + recentTxIDs := set.Set[ids.ID]{} recentUnits := uint64(0) prices := []uint64{} costs := []uint64{}