Skip to content

Commit

Permalink
Fix build errors
Browse files Browse the repository at this point in the history
  • Loading branch information
Daniel committed Nov 2, 2022
1 parent 8affd7b commit eb501ca
Show file tree
Hide file tree
Showing 9 changed files with 84 additions and 85 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ syntax = "proto3";

package interchain_security.ccv.provider.v1;

option go_package = "github.com/cosmos/interchain-security/x/ccv/types";
option go_package = "github.com/cosmos/interchain-security/x/ccv/provider/types";

import "gogoproto/gogo.proto";
import "tendermint/crypto/keys.proto";
Expand Down
18 changes: 9 additions & 9 deletions x/ccv/provider/keeper/genesis.go
Original file line number Diff line number Diff line change
Expand Up @@ -129,21 +129,21 @@ func (k Keeper) ExportGenesis(ctx sdk.Context) *types.GenesisState {
}
}

keyAssignment := func() *ccv.KeyAssignment {
km := &ccv.KeyAssignment{}
km.ProviderConsAddrToConsumerKey = []ccv.ConsAddrToKey{}
km.ConsumerKeyToProviderKey = []ccv.KeyToKey{}
km.ConsumerConsAddrToLastUpdateMemo = []ccv.ConsAddrToLastUpdateMemo{}
keyAssignment := func() *types.KeyAssignment {
km := &types.KeyAssignment{}
km.ProviderConsAddrToConsumerKey = []types.ConsAddrToKey{}
km.ConsumerKeyToProviderKey = []types.KeyToKey{}
km.ConsumerConsAddrToLastUpdateMemo = []types.ConsAddrToLastUpdateMemo{}
k.KeyAssignment(ctx, chainID).Store.IterateProviderConsAddrToConsumerPublicKey(func(pca ProviderConsAddr, ck ConsumerPublicKey) bool {
km.ProviderConsAddrToConsumerKey = append(km.ProviderConsAddrToConsumerKey, ccv.ConsAddrToKey{ConsAddr: pca, Key: &ck})
km.ProviderConsAddrToConsumerKey = append(km.ProviderConsAddrToConsumerKey, types.ConsAddrToKey{ConsAddr: pca, Key: &ck})
return false
})
k.KeyAssignment(ctx, chainID).Store.IterateConsumerPublicKeyToProviderPublicKey(func(ck ConsumerPublicKey, pk ProviderPublicKey) bool {
km.ConsumerKeyToProviderKey = append(km.ConsumerKeyToProviderKey, ccv.KeyToKey{From: &ck, To: &pk})
km.ConsumerKeyToProviderKey = append(km.ConsumerKeyToProviderKey, types.KeyToKey{From: &ck, To: &pk})
return false
})
k.KeyAssignment(ctx, chainID).Store.IterateConsumerConsAddrToLastUpdateMemo(func(ck ConsumerConsAddr, m ccv.LastUpdateMemo) bool {
km.ConsumerConsAddrToLastUpdateMemo = append(km.ConsumerConsAddrToLastUpdateMemo, ccv.ConsAddrToLastUpdateMemo{ConsAddr: ck, LastUpdateMemo: &m})
k.KeyAssignment(ctx, chainID).Store.IterateConsumerConsAddrToLastUpdateMemo(func(ck ConsumerConsAddr, m types.LastUpdateMemo) bool {
km.ConsumerConsAddrToLastUpdateMemo = append(km.ConsumerConsAddrToLastUpdateMemo, types.ConsAddrToLastUpdateMemo{ConsAddr: ck, LastUpdateMemo: &m})
return false
})

Expand Down
14 changes: 7 additions & 7 deletions x/ccv/provider/keeper/genesis_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,16 @@ func TestIniAndExportGenesis(t *testing.T) {
initHeight, vscID := uint64(5), uint64(1)
ubdIndex := []uint64{0, 1, 2}
params := providertypes.DefaultParams()
keyAssignments := []ccv.KeyAssignment{
keyAssignments := []providertypes.KeyAssignment{
{
ProviderConsAddrToConsumerKey: []ccv.ConsAddrToKey{{ConsAddr: sdk.ConsAddress{}, Key: &tmprotocrypto.PublicKey{}}},
ConsumerKeyToProviderKey: []ccv.KeyToKey{},
ConsumerConsAddrToLastUpdateMemo: []ccv.ConsAddrToLastUpdateMemo{},
ProviderConsAddrToConsumerKey: []providertypes.ConsAddrToKey{{ConsAddr: sdk.ConsAddress{}, Key: &tmprotocrypto.PublicKey{}}},
ConsumerKeyToProviderKey: []providertypes.KeyToKey{},
ConsumerConsAddrToLastUpdateMemo: []providertypes.ConsAddrToLastUpdateMemo{},
},
{
ProviderConsAddrToConsumerKey: []ccv.ConsAddrToKey{},
ConsumerKeyToProviderKey: []ccv.KeyToKey{},
ConsumerConsAddrToLastUpdateMemo: []ccv.ConsAddrToLastUpdateMemo{},
ProviderConsAddrToConsumerKey: []providertypes.ConsAddrToKey{},
ConsumerKeyToProviderKey: []providertypes.KeyToKey{},
ConsumerConsAddrToLastUpdateMemo: []providertypes.ConsAddrToLastUpdateMemo{},
},
}

Expand Down
37 changes: 18 additions & 19 deletions x/ccv/provider/keeper/keyassignment.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import (

sdk "github.com/cosmos/cosmos-sdk/types"
providertypes "github.com/cosmos/interchain-security/x/ccv/provider/types"
ccvtypes "github.com/cosmos/interchain-security/x/ccv/types"

sdkcryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec"

Expand Down Expand Up @@ -39,16 +38,16 @@ func PubKeyToConsAddr(k tmprotocrypto.PublicKey) sdk.ConsAddress {
type Store interface {
SetProviderConsAddrToConsumerPublicKey(ProviderConsAddr, ConsumerPublicKey)
SetConsumerPublicKeyToProviderPublicKey(ConsumerPublicKey, ProviderPublicKey)
SetConsumerConsAddrToLastUpdateMemo(ConsumerConsAddr, ccvtypes.LastUpdateMemo)
SetConsumerConsAddrToLastUpdateMemo(ConsumerConsAddr, providertypes.LastUpdateMemo)
GetProviderConsAddrToConsumerPublicKey(ProviderConsAddr) (ConsumerPublicKey, bool)
GetConsumerPublicKeyToProviderPublicKey(ConsumerPublicKey) (ProviderPublicKey, bool)
GetConsumerConsAddrToLastUpdateMemo(ConsumerConsAddr) (ccvtypes.LastUpdateMemo, bool)
GetConsumerConsAddrToLastUpdateMemo(ConsumerConsAddr) (providertypes.LastUpdateMemo, bool)
DelProviderConsAddrToConsumerPublicKey(ProviderConsAddr)
DelConsumerPublicKeyToProviderPublicKey(ConsumerPublicKey)
DelConsumerConsAddrToLastUpdateMemo(ConsumerConsAddr)
IterateProviderConsAddrToConsumerPublicKey(func(ProviderConsAddr, ConsumerPublicKey) bool)
IterateConsumerPublicKeyToProviderPublicKey(func(ConsumerPublicKey, ProviderPublicKey) bool)
IterateConsumerConsAddrToLastUpdateMemo(func(ConsumerConsAddr, ccvtypes.LastUpdateMemo) bool)
IterateConsumerConsAddrToLastUpdateMemo(func(ConsumerConsAddr, providertypes.LastUpdateMemo) bool)
}

type KeyAssignment struct {
Expand Down Expand Up @@ -84,7 +83,7 @@ func (ka *KeyAssignment) DeleteProviderKey(pca ProviderConsAddr) error {
}
ka.Store.DelProviderConsAddrToConsumerPublicKey(pca)
toDelete := []ConsumerConsAddr{}
ka.Store.IterateConsumerConsAddrToLastUpdateMemo(func(cca ConsumerConsAddr, lum ccvtypes.LastUpdateMemo) bool {
ka.Store.IterateConsumerConsAddrToLastUpdateMemo(func(cca ConsumerConsAddr, lum providertypes.LastUpdateMemo) bool {
pcaInMemo := PubKeyToConsAddr(*lum.ProviderKey)
if pca.Equals(pcaInMemo) { // TODO: find other place where I should have used Equals
toDelete = append(toDelete, cca)
Expand Down Expand Up @@ -114,7 +113,7 @@ func (ka *KeyAssignment) GetProviderPubKeyFromConsumerConsAddress(cca sdk.ConsAd

func (ka *KeyAssignment) PruneUnusedKeys(latestVscid VSCID) {
toDel := []ConsumerConsAddr{}
ka.Store.IterateConsumerConsAddrToLastUpdateMemo(func(cca ConsumerConsAddr, m ccvtypes.LastUpdateMemo) bool {
ka.Store.IterateConsumerConsAddrToLastUpdateMemo(func(cca ConsumerConsAddr, m providertypes.LastUpdateMemo) bool {
if m.Power == 0 && m.Vscid <= latestVscid {
toDel = append(toDel, cca)
}
Expand All @@ -134,7 +133,7 @@ func (ka *KeyAssignment) getProviderKeysForUpdate(stakingUpdates map[ProviderPub
// Get provider keys which the consumer is aware of, because the
// last update sent to the consumer was a positive power update
// and the assigned key has changed since that update.
ka.Store.IterateConsumerConsAddrToLastUpdateMemo(func(cca ConsumerConsAddr, m ccvtypes.LastUpdateMemo) bool {
ka.Store.IterateConsumerConsAddrToLastUpdateMemo(func(cca ConsumerConsAddr, m providertypes.LastUpdateMemo) bool {
pca := PubKeyToConsAddr(*m.ProviderKey)
if newCk, ok := ka.Store.GetProviderConsAddrToConsumerPublicKey(pca); ok { // TODO: do away with ok, should always be ok
oldCk := m.ConsumerKey
Expand All @@ -158,9 +157,9 @@ func (ka *KeyAssignment) getProviderKeysForUpdate(stakingUpdates map[ProviderPub
return keys, included
}

func (ka KeyAssignment) getProviderKeysLastPositiveUpdate(mustCreateUpdate map[string]bool) map[string]ccvtypes.LastUpdateMemo {
lastUpdate := map[string]ccvtypes.LastUpdateMemo{}
ka.Store.IterateConsumerConsAddrToLastUpdateMemo(func(_ ConsumerConsAddr, m ccvtypes.LastUpdateMemo) bool {
func (ka KeyAssignment) getProviderKeysLastPositiveUpdate(mustCreateUpdate map[string]bool) map[string]providertypes.LastUpdateMemo {
lastUpdate := map[string]providertypes.LastUpdateMemo{}
ka.Store.IterateConsumerConsAddrToLastUpdateMemo(func(_ ConsumerConsAddr, m providertypes.LastUpdateMemo) bool {
s := DeterministicStringify(*m.ProviderKey)
if 0 < m.Power {
if _, found := mustCreateUpdate[s]; found {
Expand Down Expand Up @@ -196,7 +195,7 @@ func (ka *KeyAssignment) getConsumerUpdates(vscid VSCID, stakingUpdates map[Prov
canonicalConsumerKey[s] = *u.ConsumerKey
consumerUpdates[*u.ConsumerKey] = 0
cca := PubKeyToConsAddr(*u.ConsumerKey)
ka.Store.SetConsumerConsAddrToLastUpdateMemo(cca, ccvtypes.LastUpdateMemo{ConsumerKey: u.ConsumerKey, ProviderKey: &pk, Vscid: vscid, Power: 0})
ka.Store.SetConsumerConsAddrToLastUpdateMemo(cca, providertypes.LastUpdateMemo{ConsumerKey: u.ConsumerKey, ProviderKey: &pk, Vscid: vscid, Power: 0})
}
}

Expand Down Expand Up @@ -229,7 +228,7 @@ func (ka *KeyAssignment) getConsumerUpdates(vscid VSCID, stakingUpdates map[Prov
panic("must find ck for pk")
}
cca := PubKeyToConsAddr(ck)
ka.Store.SetConsumerConsAddrToLastUpdateMemo(cca, ccvtypes.LastUpdateMemo{ConsumerKey: &ck, ProviderKey: &pk, Vscid: vscid, Power: power})
ka.Store.SetConsumerConsAddrToLastUpdateMemo(cca, providertypes.LastUpdateMemo{ConsumerKey: &ck, ProviderKey: &pk, Vscid: vscid, Power: power})
if k, found := canonicalConsumerKey[DeterministicStringify(ck)]; found {
consumerUpdates[k] = power
} else {
Expand Down Expand Up @@ -330,7 +329,7 @@ func (ka *KeyAssignment) InternalInvariants() bool {
{
// All entries in ckToMemo have a consumer consensus
// address which is the address held inside
ka.Store.IterateConsumerConsAddrToLastUpdateMemo(func(cca ConsumerConsAddr, m ccvtypes.LastUpdateMemo) bool {
ka.Store.IterateConsumerConsAddrToLastUpdateMemo(func(cca ConsumerConsAddr, m providertypes.LastUpdateMemo) bool {
cons := PubKeyToConsAddr(*m.ConsumerKey)
if len(cca) != len(cons) {
good = false
Expand All @@ -348,7 +347,7 @@ func (ka *KeyAssignment) InternalInvariants() bool {
// The set of all LastUpdateMemos with positive power
// has pairwise unique provider keys
seen := map[string]bool{}
ka.Store.IterateConsumerConsAddrToLastUpdateMemo(func(_ ConsumerConsAddr, m ccvtypes.LastUpdateMemo) bool {
ka.Store.IterateConsumerConsAddrToLastUpdateMemo(func(_ ConsumerConsAddr, m providertypes.LastUpdateMemo) bool {
if 0 < m.Power {
s := DeterministicStringify(*m.ProviderKey)
if _, ok := seen[s]; ok {
Expand Down Expand Up @@ -392,7 +391,7 @@ func (s *KeyAssignmentStore) SetConsumerPublicKeyToProviderPublicKey(k ConsumerP
}
s.Store.Set(providertypes.KeyAssignmentCkToPkKey(s.ChainID, kbz), vbz)
}
func (s *KeyAssignmentStore) SetConsumerConsAddrToLastUpdateMemo(k ConsumerConsAddr, v ccvtypes.LastUpdateMemo) {
func (s *KeyAssignmentStore) SetConsumerConsAddrToLastUpdateMemo(k ConsumerConsAddr, v providertypes.LastUpdateMemo) {
kbz, err := k.Marshal()
if err != nil {
panic(err)
Expand Down Expand Up @@ -431,13 +430,13 @@ func (s *KeyAssignmentStore) GetConsumerPublicKeyToProviderPublicKey(k ConsumerP
}
return v, false
}
func (s *KeyAssignmentStore) GetConsumerConsAddrToLastUpdateMemo(k ConsumerConsAddr) (v ccvtypes.LastUpdateMemo, found bool) {
func (s *KeyAssignmentStore) GetConsumerConsAddrToLastUpdateMemo(k ConsumerConsAddr) (v providertypes.LastUpdateMemo, found bool) {
kbz, err := k.Marshal()
if err != nil {
panic(err)
}
if vbz := s.Store.Get(providertypes.KeyAssignmentCcaToLastUpdateMemoKey(s.ChainID, kbz)); vbz != nil {
v := ccvtypes.LastUpdateMemo{}
v := providertypes.LastUpdateMemo{}
err := v.Unmarshal(vbz)
if err != nil {
panic(err)
Expand Down Expand Up @@ -507,7 +506,7 @@ func (s *KeyAssignmentStore) IterateConsumerPublicKeyToProviderPublicKey(cb func
}
}
}
func (s *KeyAssignmentStore) IterateConsumerConsAddrToLastUpdateMemo(cb func(ConsumerConsAddr, ccvtypes.LastUpdateMemo) bool) {
func (s *KeyAssignmentStore) IterateConsumerConsAddrToLastUpdateMemo(cb func(ConsumerConsAddr, providertypes.LastUpdateMemo) bool) {
prefix := providertypes.KeyAssignmentCcaToLastUpdateMemoChainPrefix(s.ChainID)
iterator := sdk.KVStorePrefixIterator(s.Store, prefix)
defer iterator.Close()
Expand All @@ -517,7 +516,7 @@ func (s *KeyAssignmentStore) IterateConsumerConsAddrToLastUpdateMemo(cb func(Con
if err != nil {
panic(err)
}
v := ccvtypes.LastUpdateMemo{}
v := providertypes.LastUpdateMemo{}
err = v.Unmarshal(iterator.Value())
if err != nil {
panic(err)
Expand Down
19 changes: 10 additions & 9 deletions x/ccv/provider/keeper/keyassignment_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ import (
testcrypto "github.com/cosmos/interchain-security/testutil/crypto"
testkeeper "github.com/cosmos/interchain-security/testutil/keeper"
providerkeeper "github.com/cosmos/interchain-security/x/ccv/provider/keeper"
ccvtypes "github.com/cosmos/interchain-security/x/ccv/types"
providertypes "github.com/cosmos/interchain-security/x/ccv/provider/types"

abci "github.com/tendermint/tendermint/abci/types"
tmprotocrypto "github.com/tendermint/tendermint/proto/tendermint/crypto"
)
Expand Down Expand Up @@ -511,7 +512,7 @@ func TestKeyAssignmentKeySerialization(t *testing.T) {
}

func TestKeyAssignmentMemo(t *testing.T) {
arr := []ccvtypes.LastUpdateMemo{
arr := []providertypes.LastUpdateMemo{
{}, {},
}
{
Expand All @@ -531,7 +532,7 @@ func TestKeyAssignmentMemo(t *testing.T) {
}

func TestKeyAssignmentMemoLoopIteration(t *testing.T) {
m := ccvtypes.LastUpdateMemo{}
m := providertypes.LastUpdateMemo{}
{
k0 := key(0)
m.ProviderKey = &k0
Expand Down Expand Up @@ -725,7 +726,7 @@ func TestValidatorRemoval(t *testing.T) {
require.False(t, found)

}
km.Store.IterateConsumerConsAddrToLastUpdateMemo(func(cca providerkeeper.ConsumerConsAddr, lum ccvtypes.LastUpdateMemo) bool {
km.Store.IterateConsumerConsAddrToLastUpdateMemo(func(cca providerkeeper.ConsumerConsAddr, lum providertypes.LastUpdateMemo) bool {
pcaQueried := providerkeeper.PubKeyToConsAddr(*lum.ProviderKey)
require.False(t, pca.Equals(pcaQueried))
return false
Expand All @@ -737,7 +738,7 @@ func compareForEquality(t *testing.T,
km providerkeeper.KeyAssignment,
pcaToCk map[string]providerkeeper.ConsumerPublicKey,
ckToPk map[providerkeeper.ConsumerPublicKey]providerkeeper.ProviderPublicKey,
ccaToLastUpdateMemo map[string]ccvtypes.LastUpdateMemo) {
ccaToLastUpdateMemo map[string]providertypes.LastUpdateMemo) {

cnt := 0
km.Store.IterateProviderConsAddrToConsumerPublicKey(func(_ providerkeeper.ProviderConsAddr, _ providerkeeper.ConsumerPublicKey) bool {
Expand All @@ -754,7 +755,7 @@ func compareForEquality(t *testing.T,
require.Equal(t, len(ckToPk), cnt)

cnt = 0
km.Store.IterateConsumerConsAddrToLastUpdateMemo(func(_ providerkeeper.ConsumerConsAddr, _ ccvtypes.LastUpdateMemo) bool {
km.Store.IterateConsumerConsAddrToLastUpdateMemo(func(_ providerkeeper.ConsumerConsAddr, _ providertypes.LastUpdateMemo) bool {
cnt += 1
return false
})
Expand Down Expand Up @@ -797,19 +798,19 @@ func checkCorrectSerializationAndDeserialization(t *testing.T,

pcaToCk := map[string]providerkeeper.ConsumerPublicKey{}
ckToPk := map[providerkeeper.ConsumerPublicKey]providerkeeper.ProviderPublicKey{}
ccaToLastUpdateMemo := map[string]ccvtypes.LastUpdateMemo{}
ccaToLastUpdateMemo := map[string]providertypes.LastUpdateMemo{}

pcaToCk[string(providerkeeper.PubKeyToConsAddr(keys[0]))] = keys[1]
pcaToCk[string(providerkeeper.PubKeyToConsAddr(keys[2]))] = keys[3]
ckToPk[keys[4]] = keys[5]
ckToPk[keys[6]] = keys[7]
ccaToLastUpdateMemo[string(providerkeeper.PubKeyToConsAddr(keys[8]))] = ccvtypes.LastUpdateMemo{
ccaToLastUpdateMemo[string(providerkeeper.PubKeyToConsAddr(keys[8]))] = providertypes.LastUpdateMemo{
ConsumerKey: &keys[9],
ProviderKey: &keys[10],
Vscid: uint64_0,
Power: int64_0,
}
ccaToLastUpdateMemo[string(providerkeeper.PubKeyToConsAddr(keys[11]))] = ccvtypes.LastUpdateMemo{
ccaToLastUpdateMemo[string(providerkeeper.PubKeyToConsAddr(keys[11]))] = providertypes.LastUpdateMemo{
ConsumerKey: &keys[12],
ProviderKey: &keys[13],
Vscid: uint64_1,
Expand Down
4 changes: 2 additions & 2 deletions x/ccv/provider/types/consumer.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ func NewConsumerStates(
unbondingOpsIndexes []UnbondingOpIndex,
pendingValsetChanges []ccv.ValidatorSetChangePacketData,
slashDowntimeAck []string,
keyassignment *ccv.KeyAssignment,
keyAssignment *KeyAssignment,
) ConsumerState {
return ConsumerState{
ChainId: chainID,
Expand All @@ -27,6 +27,6 @@ func NewConsumerStates(
PendingValsetChanges: pendingValsetChanges,
ConsumerGenesis: genesis,
SlashDowntimeAck: slashDowntimeAck,
KeyAssignment: keyassignment,
KeyAssignment: keyAssignment,
}
}
8 changes: 4 additions & 4 deletions x/ccv/provider/types/genesis.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit eb501ca

Please sign in to comment.