github.com/0xPolygon/supernets2-node@v0.0.0-20230711153321-2fe574524eaa/etherman/datacommittee_test.go (about) 1 package etherman 2 3 import ( 4 "math/big" 5 "testing" 6 7 "github.com/ethereum/go-ethereum/common" 8 "github.com/ethereum/go-ethereum/crypto" 9 "github.com/stretchr/testify/assert" 10 "github.com/stretchr/testify/require" 11 ) 12 13 func TestUpdateDataCommitteeEvent(t *testing.T) { 14 // Set up testing environment 15 etherman, ethBackend, auth, _, _, da := newTestingEnv() 16 17 // Update the committee 18 requiredAmountOfSignatures := big.NewInt(2) 19 URLs := []string{"1", "2", "3"} 20 addrs := []common.Address{ 21 common.HexToAddress("0x1"), 22 common.HexToAddress("0x2"), 23 common.HexToAddress("0x3"), 24 } 25 addrsBytes := []byte{} 26 for _, addr := range addrs { 27 addrsBytes = append(addrsBytes, addr.Bytes()...) 28 } 29 _, err := da.SetupCommittee(auth, requiredAmountOfSignatures, URLs, addrsBytes) 30 require.NoError(t, err) 31 ethBackend.Commit() 32 33 // Assert the committee update 34 actualSetup, err := etherman.GetCurrentDataCommittee() 35 require.NoError(t, err) 36 expectedMembers := []DataCommitteeMember{} 37 expectedSetup := DataCommittee{ 38 RequiredSignatures: uint64(len(URLs) - 1), 39 AddressesHash: crypto.Keccak256Hash(addrsBytes), 40 } 41 for i, url := range URLs { 42 expectedMembers = append(expectedMembers, DataCommitteeMember{ 43 URL: url, 44 Addr: addrs[i], 45 }) 46 } 47 expectedSetup.Members = expectedMembers 48 assert.Equal(t, expectedSetup, *actualSetup) 49 }