-
Notifications
You must be signed in to change notification settings - Fork 693
Expand file tree
/
Copy pathgov.go
More file actions
32 lines (27 loc) · 1.01 KB
/
gov.go
File metadata and controls
32 lines (27 loc) · 1.01 KB
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
package gov
import (
"fmt"
"github.com/osmosis-labs/osmosis/v10/x/superfluid/keeper"
"github.com/osmosis-labs/osmosis/v10/x/superfluid/keeper/internal/events"
"github.com/osmosis-labs/osmosis/v10/x/superfluid/types"
sdk "github.com/cosmos/cosmos-sdk/types"
)
func HandleSetSuperfluidAssetsProposal(ctx sdk.Context, k keeper.Keeper, ek types.EpochKeeper, p *types.SetSuperfluidAssetsProposal) error {
for _, asset := range p.Assets {
k.AddNewSuperfluidAsset(ctx, asset)
events.EmitSetSuperfluidAssetEvent(ctx, asset.Denom, asset.AssetType)
}
return nil
}
func HandleRemoveSuperfluidAssetsProposal(ctx sdk.Context, k keeper.Keeper, p *types.RemoveSuperfluidAssetsProposal) error {
for _, denom := range p.SuperfluidAssetDenoms {
asset := k.GetSuperfluidAsset(ctx, denom)
dummyAsset := types.SuperfluidAsset{}
if asset == dummyAsset {
return fmt.Errorf("superfluid asset %s doesn't exist", denom)
}
k.BeginUnwindSuperfluidAsset(ctx, 0, asset)
events.EmitRemoveSuperfluidAsset(ctx, denom)
}
return nil
}