Skip to content

Commit

Permalink
delete gov proposals in oracle and assetprofile modules (#698)
Browse files Browse the repository at this point in the history
* delete gov proposals in oracle and assetprofile modules

* delete gov proposals in oracle and assetprofile modules

* build: fix makefile

---------

Co-authored-by: Cosmic Vagabond <[email protected]>
  • Loading branch information
fenriz07 and cosmic-vagabond authored Aug 7, 2024
1 parent 4606d6c commit 0b10f80
Show file tree
Hide file tree
Showing 13 changed files with 133 additions and 2,201 deletions.
23 changes: 0 additions & 23 deletions proto/elys/assetprofile/tx.proto
Original file line number Diff line number Diff line change
Expand Up @@ -9,34 +9,11 @@ option go_package = "github.com/elys-network/elys/x/assetprofile/types";

// Msg defines the Msg service.
service Msg {
rpc CreateEntry (MsgCreateEntry) returns (MsgCreateEntryResponse);
rpc UpdateEntry (MsgUpdateEntry) returns (MsgUpdateEntryResponse);
rpc DeleteEntry (MsgDeleteEntry) returns (MsgDeleteEntryResponse);
rpc AddEntry (MsgAddEntry ) returns (MsgAddEntryResponse );
}
message MsgCreateEntry {
string authority = 1;
string base_denom = 2;
uint64 decimals = 3;
string denom = 4;
string path = 5;
string ibc_channel_id = 6;
string ibc_counterparty_channel_id = 7;
string display_name = 8;
string display_symbol = 9;
string network = 10;
string address = 11;
string external_symbol = 12;
string transfer_limit = 13;
repeated string permissions = 14;
string unit_denom = 15;
string ibc_counterparty_denom = 16;
string ibc_counterparty_chain_id = 17;
bool commit_enabled = 18;
bool withdraw_enabled = 19;
}

message MsgCreateEntryResponse {}

message MsgUpdateEntry {
string authority = 1;
Expand Down
11 changes: 0 additions & 11 deletions proto/elys/oracle/tx.proto
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ service Msg {
rpc DeletePriceFeeder (MsgDeletePriceFeeder ) returns (MsgDeletePriceFeederResponse );

// proposals
rpc AddAssetInfo (MsgAddAssetInfo ) returns (MsgAddAssetInfoResponse );
rpc RemoveAssetInfo (MsgRemoveAssetInfo ) returns (MsgRemoveAssetInfoResponse );
rpc AddPriceFeeders (MsgAddPriceFeeders ) returns (MsgAddPriceFeedersResponse );
rpc RemovePriceFeeders (MsgRemovePriceFeeders) returns (MsgRemovePriceFeedersResponse);
Expand Down Expand Up @@ -60,16 +59,6 @@ message MsgFeedMultiplePrices {

message MsgFeedMultiplePricesResponse {}

message MsgAddAssetInfo {
string authority = 1;
string denom = 2;
string display = 3;
string band_ticker = 4;
string elys_ticker = 5;
uint64 decimal = 6;
}

message MsgAddAssetInfoResponse {}

message MsgRemoveAssetInfo {
string authority = 1;
Expand Down
51 changes: 0 additions & 51 deletions x/assetprofile/keeper/msg_server_entry.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,57 +13,6 @@ import (
"github.com/elys-network/elys/x/assetprofile/types"
)

func (k msgServer) CreateEntry(goCtx context.Context, msg *types.MsgCreateEntry) (*types.MsgCreateEntryResponse, error) {
if k.authority != msg.Authority {
return nil, errors.Wrapf(govtypes.ErrInvalidSigner, "invalid authority; expected %s, got %s", k.authority, msg.Authority)
}

ctx := sdk.UnwrapSDKContext(goCtx)

// Check if the entry already exists
_, isFound := k.GetEntry(ctx, msg.BaseDenom)
if isFound {
return nil, errorsmod.Wrap(sdkerrors.ErrInvalidRequest, "entry already set")
}

// check the validity of ibc denom & channel
hash, err := ibctransfertypes.ParseHexHash(strings.TrimPrefix(msg.Denom, "ibc/"))
if err == nil && k.transferKeeper != nil {
denomTrace, ok := k.transferKeeper.GetDenomTrace(ctx, hash)
if !ok {
return nil, types.ErrNotValidIbcDenom
}
if !strings.Contains(denomTrace.Path, msg.IbcChannelId) {
return nil, types.ErrChannelIdAndDenomHashMismatch
}
}

entry := types.Entry{
Authority: msg.Authority,
BaseDenom: msg.BaseDenom,
Decimals: msg.Decimals,
Denom: msg.Denom,
Path: msg.Path,
IbcChannelId: msg.IbcChannelId,
IbcCounterpartyChannelId: msg.IbcCounterpartyChannelId,
DisplayName: msg.DisplayName,
DisplaySymbol: msg.DisplaySymbol,
Network: msg.Network,
Address: msg.Address,
ExternalSymbol: msg.ExternalSymbol,
TransferLimit: msg.TransferLimit,
Permissions: msg.Permissions,
UnitDenom: msg.UnitDenom,
IbcCounterpartyDenom: msg.IbcCounterpartyDenom,
IbcCounterpartyChainId: msg.IbcCounterpartyChainId,
CommitEnabled: msg.CommitEnabled,
WithdrawEnabled: msg.WithdrawEnabled,
}

k.SetEntry(ctx, entry)
return &types.MsgCreateEntryResponse{}, nil
}

func (k msgServer) UpdateEntry(goCtx context.Context, msg *types.MsgUpdateEntry) (*types.MsgUpdateEntryResponse, error) {
if k.authority != msg.Authority {
return nil, errors.Wrapf(govtypes.ErrInvalidSigner, "invalid authority; expected %s, got %s", k.authority, msg.Authority)
Expand Down
32 changes: 5 additions & 27 deletions x/assetprofile/keeper/msg_server_entry_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,26 +15,6 @@ import (
"github.com/elys-network/elys/x/assetprofile/types"
)

func TestEntryMsgServerCreate(t *testing.T) {
k, ctx := keepertest.AssetprofileKeeper(t)
srv := keeper.NewMsgServerImpl(*k)
wctx := sdk.WrapSDKContext(ctx)
authority := authtypes.NewModuleAddress(govtypes.ModuleName).String()
for i := 0; i < 5; i++ {
expected := &types.MsgCreateEntry{
Authority: authority,
BaseDenom: strconv.Itoa(i),
}
_, err := srv.CreateEntry(wctx, expected)
require.NoError(t, err)
rst, found := k.GetEntry(ctx,
expected.BaseDenom,
)
require.True(t, found)
require.Equal(t, expected.Authority, rst.Authority)
}
}

func TestEntryMsgServerUpdate(t *testing.T) {
authority := authtypes.NewModuleAddress(govtypes.ModuleName).String()

Expand Down Expand Up @@ -71,23 +51,22 @@ func TestEntryMsgServerUpdate(t *testing.T) {
k, ctx := keepertest.AssetprofileKeeper(t)
srv := keeper.NewMsgServerImpl(*k)
wctx := sdk.WrapSDKContext(ctx)
expected := &types.MsgCreateEntry{
Authority: authority,
expected := &types.MsgAddEntry{
BaseDenom: strconv.Itoa(0),
}
_, err := srv.CreateEntry(wctx, expected)
_, err := srv.AddEntry(wctx, expected)
require.NoError(t, err)

_, err = srv.UpdateEntry(wctx, tc.request)
if tc.err != nil {
require.ErrorIs(t, err, tc.err)
} else {
require.NoError(t, err)
rst, found := k.GetEntry(ctx,
_, found := k.GetEntry(ctx,
expected.BaseDenom,
)
require.True(t, found)
require.Equal(t, expected.Authority, rst.Authority)
//require.Equal(t, expected.Authority, rst.Authority)
}
})
}
Expand Down Expand Up @@ -130,8 +109,7 @@ func TestEntryMsgServerDelete(t *testing.T) {
srv := keeper.NewMsgServerImpl(*k)
wctx := sdk.WrapSDKContext(ctx)

_, err := srv.CreateEntry(wctx, &types.MsgCreateEntry{
Authority: authority,
_, err := srv.AddEntry(wctx, &types.MsgAddEntry{
BaseDenom: strconv.Itoa(0),
})
require.NoError(t, err)
Expand Down
3 changes: 1 addition & 2 deletions x/assetprofile/simulation/entry.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,7 @@ func SimulateMsgCreateEntry(
simAccount, _ := simtypes.RandomAcc(r, accs)

i := r.Int()
msg := &types.MsgCreateEntry{
Authority: simAccount.Address.String(),
msg := &types.MsgAddEntry{
BaseDenom: strconv.Itoa(i),
}

Expand Down
2 changes: 0 additions & 2 deletions x/assetprofile/types/codec.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import (
)

func RegisterCodec(cdc *codec.LegacyAmino) {
legacy.RegisterAminoMsg(cdc, &MsgCreateEntry{}, "assetprofile/MsgCreateEntry")
legacy.RegisterAminoMsg(cdc, &MsgUpdateEntry{}, "assetprofile/MsgUpdateEntry")
legacy.RegisterAminoMsg(cdc, &MsgDeleteEntry{}, "assetprofile/MsgDeleteEntry")
legacy.RegisterAminoMsg(cdc, &MsgAddEntry{}, "assetprofile/AddEntry")
Expand All @@ -22,7 +21,6 @@ func RegisterCodec(cdc *codec.LegacyAmino) {

func RegisterInterfaces(registry cdctypes.InterfaceRegistry) {
registry.RegisterImplementations((*sdk.Msg)(nil),
&MsgCreateEntry{},
&MsgUpdateEntry{},
&MsgDeleteEntry{},
)
Expand Down
71 changes: 0 additions & 71 deletions x/assetprofile/types/messages_entry.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,77 +12,6 @@ const (
TypeMsgDeleteEntry = "delete_entry"
)

var _ sdk.Msg = &MsgCreateEntry{}

func NewMsgCreateEntry(
authority string,
baseDenom string,
decimals uint64,
denom string,
path string,
ibcChannelId string,
ibcCounterpartyChannelId string,
displayName string,
displaySymbol string,
network string,
address string,
externalSymbol string,
transferLimit string,
permissions []string,
unitDenom string,
ibcCounterpartyDenom string,
ibcCounterpartyChainId string,
) *MsgCreateEntry {
return &MsgCreateEntry{
Authority: authority,
BaseDenom: baseDenom,
Decimals: decimals,
Denom: denom,
Path: path,
IbcChannelId: ibcChannelId,
IbcCounterpartyChannelId: ibcCounterpartyChannelId,
DisplayName: displayName,
DisplaySymbol: displaySymbol,
Network: network,
Address: address,
ExternalSymbol: externalSymbol,
TransferLimit: transferLimit,
Permissions: permissions,
UnitDenom: unitDenom,
IbcCounterpartyDenom: ibcCounterpartyDenom,
IbcCounterpartyChainId: ibcCounterpartyChainId,
}
}

func (msg *MsgCreateEntry) Route() string {
return RouterKey
}

func (msg *MsgCreateEntry) Type() string {
return TypeMsgCreateEntry
}

func (msg *MsgCreateEntry) GetSigners() []sdk.AccAddress {
authority, err := sdk.AccAddressFromBech32(msg.Authority)
if err != nil {
panic(err)
}
return []sdk.AccAddress{authority}
}

func (msg *MsgCreateEntry) GetSignBytes() []byte {
bz := ModuleCdc.MustMarshalJSON(msg)
return sdk.MustSortJSON(bz)
}

func (msg *MsgCreateEntry) ValidateBasic() error {
_, err := sdk.AccAddressFromBech32(msg.Authority)
if err != nil {
return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid authority address (%s)", err)
}
return nil
}

var _ sdk.Msg = &MsgUpdateEntry{}

func NewMsgUpdateEntry(
Expand Down
31 changes: 0 additions & 31 deletions x/assetprofile/types/messages_entry_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,37 +8,6 @@ import (
"github.com/stretchr/testify/require"
)

func TestMsgCreateEntry_ValidateBasic(t *testing.T) {
tests := []struct {
name string
msg MsgCreateEntry
err error
}{
{
name: "invalid address",
msg: MsgCreateEntry{
Authority: "invalid_address",
},
err: sdkerrors.ErrInvalidAddress,
}, {
name: "valid address",
msg: MsgCreateEntry{
Authority: sample.AccAddress(),
},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
err := tt.msg.ValidateBasic()
if tt.err != nil {
require.ErrorIs(t, err, tt.err)
return
}
require.NoError(t, err)
})
}
}

func TestMsgUpdateEntry_ValidateBasic(t *testing.T) {
tests := []struct {
name string
Expand Down
Loading

0 comments on commit 0b10f80

Please sign in to comment.