Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: keeper plugin wrappers #10

Merged
merged 18 commits into from
Nov 10, 2023
Prev Previous commit
Next Next commit
beautify
aljo242 committed Nov 10, 2023
commit 8b9e117705db3b69bb5021522e25fd875804076b
9 changes: 5 additions & 4 deletions x/feemarket/keeper/keeper.go
Original file line number Diff line number Diff line change
@@ -56,19 +56,20 @@ func (k *Keeper) Plugin() interfaces.FeeMarketImplementation {
return k.plugin
}

// SetFeeMarket sets the fee market implementation data in the keeper
// SetFeeMarket sets the fee market implementation data in the keeper.
func (k *Keeper) SetFeeMarket(ctx sdk.Context, fm interfaces.FeeMarketImplementation) error {
bz, err := fm.Marshal()
if err != nil {
return fmt.Errorf("unable to marshal fee market implemenation: %w", err)
}

k.setData(ctx, bz)
k.plugin = fm

return nil
}

// GetFeeMarket gets arbitrary byte data in the keeper.
// GetFeeMarket gets the fee market implementation data in the keeper. Will
func (k *Keeper) GetFeeMarket(ctx sdk.Context) (interfaces.FeeMarketImplementation, error) {
bz, err := k.getData(ctx)
if err != nil {
@@ -79,15 +80,15 @@ func (k *Keeper) GetFeeMarket(ctx sdk.Context) (interfaces.FeeMarketImplementati
return k.plugin, err
}

// SetData sets arbitrary byte data in the keeper.
// setData sets arbitrary byte data in the keeper.
func (k *Keeper) setData(ctx sdk.Context, data []byte) {
// TODO: limit max data size?

store := ctx.KVStore(k.storeKey)
store.Set(types.KeyData, data)
}

// GetData gets arbitrary byte data in the keeper.
// getData gets arbitrary byte data in the keeper.
func (k *Keeper) getData(ctx sdk.Context) ([]byte, error) {
store := ctx.KVStore(k.storeKey)
bz := store.Get(types.KeyData)