github.com/prysmaticlabs/prysm@v1.4.4/beacon-chain/db/kv/deposit_contract_test.go (about) 1 package kv 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/ethereum/go-ethereum/common" 8 "github.com/prysmaticlabs/prysm/shared/testutil/assert" 9 "github.com/prysmaticlabs/prysm/shared/testutil/require" 10 ) 11 12 func TestStore_DepositContract(t *testing.T) { 13 db := setupDB(t) 14 ctx := context.Background() 15 contractAddress := common.Address{1, 2, 3} 16 retrieved, err := db.DepositContractAddress(ctx) 17 require.NoError(t, err) 18 assert.DeepEqual(t, []uint8(nil), retrieved, "Expected nil contract address") 19 require.NoError(t, db.SaveDepositContractAddress(ctx, contractAddress)) 20 retrieved, err = db.DepositContractAddress(ctx) 21 require.NoError(t, err) 22 assert.Equal(t, contractAddress, common.BytesToAddress(retrieved), "Unexpected address") 23 otherAddress := common.Address{4, 5, 6} 24 err = db.SaveDepositContractAddress(ctx, otherAddress) 25 want := "cannot override deposit contract address" 26 assert.ErrorContains(t, want, err, "Should not have been able to override old deposit contract address") 27 }