-
Notifications
You must be signed in to change notification settings - Fork 41
/
msg_server_proposals.go
75 lines (61 loc) · 2.54 KB
/
msg_server_proposals.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
package keeper
import (
"context"
"cosmossdk.io/errors"
sdk "github.com/cosmos/cosmos-sdk/types"
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"
"github.com/elys-network/elys/x/oracle/types"
)
func (k msgServer) UpdateParams(goCtx context.Context, msg *types.MsgUpdateParams) (*types.MsgUpdateParamsResponse, error) {
ctx := sdk.UnwrapSDKContext(goCtx)
if k.authority != msg.Authority {
return nil, errors.Wrapf(govtypes.ErrInvalidSigner, "invalid authority; expected %s, got %s", k.authority, msg.Authority)
}
k.Keeper.SetParams(ctx, msg.Params)
return &types.MsgUpdateParamsResponse{}, nil
}
func (k msgServer) AddAssetInfo(goCtx context.Context, msg *types.MsgAddAssetInfo) (*types.MsgAddAssetInfoResponse, error) {
ctx := sdk.UnwrapSDKContext(goCtx)
if k.authority != msg.Authority {
return nil, errors.Wrapf(govtypes.ErrInvalidSigner, "invalid authority; expected %s, got %s", k.authority, msg.Authority)
}
k.Keeper.SetAssetInfo(ctx, types.AssetInfo{
Denom: msg.Denom,
Display: msg.Display,
BandTicker: msg.BandTicker,
ElysTicker: msg.ElysTicker,
Decimal: msg.Decimal,
})
return &types.MsgAddAssetInfoResponse{}, nil
}
func (k msgServer) RemoveAssetInfo(goCtx context.Context, msg *types.MsgRemoveAssetInfo) (*types.MsgRemoveAssetInfoResponse, error) {
ctx := sdk.UnwrapSDKContext(goCtx)
if k.authority != msg.Authority {
return nil, errors.Wrapf(govtypes.ErrInvalidSigner, "invalid authority; expected %s, got %s", k.authority, msg.Authority)
}
k.Keeper.RemoveAssetInfo(ctx, msg.Denom)
return &types.MsgRemoveAssetInfoResponse{}, nil
}
func (k msgServer) AddPriceFeeders(goCtx context.Context, msg *types.MsgAddPriceFeeders) (*types.MsgAddPriceFeedersResponse, error) {
ctx := sdk.UnwrapSDKContext(goCtx)
if k.authority != msg.Authority {
return nil, errors.Wrapf(govtypes.ErrInvalidSigner, "invalid authority; expected %s, got %s", k.authority, msg.Authority)
}
for _, feeder := range msg.Feeders {
k.Keeper.SetPriceFeeder(ctx, types.PriceFeeder{
Feeder: feeder,
IsActive: true,
})
}
return &types.MsgAddPriceFeedersResponse{}, nil
}
func (k msgServer) RemovePriceFeeders(goCtx context.Context, msg *types.MsgRemovePriceFeeders) (*types.MsgRemovePriceFeedersResponse, error) {
ctx := sdk.UnwrapSDKContext(goCtx)
if k.authority != msg.Authority {
return nil, errors.Wrapf(govtypes.ErrInvalidSigner, "invalid authority; expected %s, got %s", k.authority, msg.Authority)
}
for _, feeder := range msg.Feeders {
k.Keeper.RemovePriceFeeder(ctx, feeder)
}
return &types.MsgRemovePriceFeedersResponse{}, nil
}