Skip to content

Commit

Permalink
Fixed merge errors & unit tests
Browse files Browse the repository at this point in the history
Co-authored-by: Stana Miric <stana.miric@ethernal.tech>
  • Loading branch information
dusan-maksimovic and stana-miric committed May 27, 2024
1 parent 7694918 commit b0a7667
Show file tree
Hide file tree
Showing 15 changed files with 239 additions and 351 deletions.
8 changes: 7 additions & 1 deletion ante/ante.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ import (
gaiaerrors "github.com/cosmos/gaia/v18/types/errors"
)

// UseFeeMarketDecorator to make the integration testing easier: we can switch off its ante and post decorators with this flag
var UseFeeMarketDecorator = true

// HandlerOptions extend the SDK's AnteHandler options by requiring the IBC
// channel keeper.
type HandlerOptions struct {
Expand Down Expand Up @@ -68,7 +71,10 @@ func NewAnteHandler(opts HandlerOptions) (sdk.AnteHandler, error) {
ante.NewSigVerificationDecorator(opts.AccountKeeper, opts.SignModeHandler),
ante.NewIncrementSequenceDecorator(opts.AccountKeeper),
ibcante.NewRedundantRelayDecorator(opts.IBCkeeper),
feemarketante.NewFeeMarketCheckDecorator(opts.FeeMarketKeeper),
}

if UseFeeMarketDecorator {
anteDecorators = append(anteDecorators, feemarketante.NewFeeMarketCheckDecorator(opts.FeeMarketKeeper))
}

return sdk.ChainAnteDecorators(anteDecorators...), nil
Expand Down
6 changes: 6 additions & 0 deletions app/post.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ import (

sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"

"github.com/cosmos/gaia/v18/ante"
)

// PostHandlerOptions are the options required for constructing a FeeMarket PostHandler.
Expand All @@ -19,6 +21,10 @@ type PostHandlerOptions struct {

// NewPostHandler returns a PostHandler chain with the fee deduct decorator.
func NewPostHandler(options PostHandlerOptions) (sdk.PostHandler, error) {
if !ante.UseFeeMarketDecorator {
return nil, nil
}

if options.AccountKeeper == nil {
return nil, errorsmod.Wrap(sdkerrors.ErrLogic, "account keeper is required for post builder")
}
Expand Down
2 changes: 0 additions & 2 deletions app/upgrades/v16/constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package v16

import (
ratelimittypes "github.com/Stride-Labs/ibc-rate-limiting/ratelimit/types"
feemarkettypes "github.com/skip-mev/feemarket/x/feemarket/types"

icacontrollertypes "github.com/cosmos/ibc-go/v7/modules/apps/27-interchain-accounts/controller/types"
ibcfeetypes "github.com/cosmos/ibc-go/v7/modules/apps/29-fee/types"
Expand All @@ -29,7 +28,6 @@ var Upgrade = upgrades.Upgrade{
ratelimittypes.ModuleName,
icacontrollertypes.SubModuleName,
ibcfeetypes.ModuleName,
feemarkettypes.ModuleName,
},
Deleted: []string{
globalfee.ModuleName,
Expand Down
31 changes: 0 additions & 31 deletions app/upgrades/v16/upgrades.go
Original file line number Diff line number Diff line change
Expand Up @@ -94,11 +94,6 @@ func CreateUpgradeHandler(
return vm, errorsmod.Wrapf(err, "failed initializing ICS epochs")
}

err = ConfigureFeeMarketModule(ctx, keepers)
if err != nil {
return vm, err
}

ctx.Logger().Info("Upgrade complete")
return vm, err
}
Expand Down Expand Up @@ -193,29 +188,3 @@ func InitICSEpochs(ctx sdk.Context, pk providerkeeper.Keeper, sk stakingkeeper.K

return nil
}

func ConfigureFeeMarketModule(ctx sdk.Context, keepers *keepers.AppKeepers) error {
params, err := keepers.FeeMarketKeeper.GetParams(ctx)
if err != nil {
return err
}

params.Enabled = true
params.FeeDenom = "uatom"
// TODO check and set param values:
params.MinBaseFee = sdk.MustNewDecFromStr("0.00001")
// params.TargetBlockUtilization =
// params.MaxBlockUtilization =
if err := keepers.FeeMarketKeeper.SetParams(ctx, params); err != nil {
return err
}

state, err := keepers.FeeMarketKeeper.GetState(ctx)
if err != nil {
return err
}

state.BaseFee = sdk.MustNewDecFromStr("0.00001")

return keepers.FeeMarketKeeper.SetState(ctx, state)
}
7 changes: 7 additions & 0 deletions app/upgrades/v18/constants.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package v18

import (
store "github.com/cosmos/cosmos-sdk/store/types"
"github.com/cosmos/gaia/v18/app/upgrades"
feemarkettypes "github.com/skip-mev/feemarket/x/feemarket/types"
)

const (
Expand All @@ -12,4 +14,9 @@ const (
var Upgrade = upgrades.Upgrade{
UpgradeName: UpgradeName,
CreateUpgradeHandler: CreateUpgradeHandler,
StoreUpgrades: store.StoreUpgrades{
Added: []string{
feemarkettypes.ModuleName,
},
},
}
32 changes: 32 additions & 0 deletions app/upgrades/v18/upgrades.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,39 @@ func CreateUpgradeHandler(
return vm, err
}

err = ConfigureFeeMarketModule(ctx, keepers)
if err != nil {
return vm, err
}

ctx.Logger().Info("Upgrade v18 complete")
return vm, nil
}
}

func ConfigureFeeMarketModule(ctx sdk.Context, keepers *keepers.AppKeepers) error {
params, err := keepers.FeeMarketKeeper.GetParams(ctx)
if err != nil {
return err
}

params.Enabled = true
params.FeeDenom = "uatom"
// TODO check and set param values:
params.DistributeFees = true
params.MinBaseFee = sdk.MustNewDecFromStr("0.025")
// params.TargetBlockUtilization =
// params.MaxBlockUtilization =
if err := keepers.FeeMarketKeeper.SetParams(ctx, params); err != nil {
return err
}

state, err := keepers.FeeMarketKeeper.GetState(ctx)
if err != nil {
return err
}

state.BaseFee = sdk.MustNewDecFromStr("0.025")

return keepers.FeeMarketKeeper.SetState(ctx, state)
}
30 changes: 16 additions & 14 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ require (
github.com/cometbft/cometbft-db v0.11.0
github.com/cosmos/cosmos-sdk v0.47.13-ics-lsm
github.com/cosmos/go-bip39 v1.0.0
github.com/cosmos/gogoproto v1.4.10
github.com/cosmos/gogoproto v1.4.11
github.com/cosmos/ibc-apps/middleware/packet-forward-middleware/v7 v7.1.3
github.com/cosmos/ibc-go/v7 v7.4.0
github.com/cosmos/interchain-security/v4 v4.2.0
Expand All @@ -22,7 +22,7 @@ require (
github.com/ory/dockertest/v3 v3.10.0
github.com/rakyll/statik v0.1.7
github.com/skip-mev/block-sdk v1.4.0
github.com/skip-mev/feemarket v0.0.1-alpha.2
github.com/skip-mev/feemarket v0.0.0-20240417180439-812daf6c1577
github.com/spf13/cast v1.6.0
github.com/spf13/cobra v1.8.0
github.com/spf13/pflag v1.0.5
Expand Down Expand Up @@ -85,7 +85,7 @@ require (
github.com/creachadair/taskgroup v0.4.2 // indirect
github.com/danieljoos/wincred v1.1.2 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect
github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect
github.com/dgraph-io/badger/v2 v2.2007.4 // indirect
github.com/dgraph-io/ristretto v0.1.1 // indirect
Expand All @@ -98,13 +98,14 @@ require (
github.com/dvsekhvalnov/jose2go v1.6.0 // indirect
github.com/felixge/httpsnoop v1.0.4 // indirect
github.com/fsnotify/fsnotify v1.7.0 // indirect
github.com/getsentry/sentry-go v0.23.0 // indirect
github.com/getsentry/sentry-go v0.25.0 // indirect
github.com/go-kit/kit v0.12.0 // indirect
github.com/go-kit/log v0.2.1 // indirect
github.com/go-logfmt/logfmt v0.6.0 // indirect
github.com/go-logr/logr v1.4.1 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/gobwas/ws v1.1.0 // indirect
github.com/gobwas/httphead v0.1.0 // indirect
github.com/gobwas/pool v0.2.1 // indirect
github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect
github.com/gogo/googleapis v1.4.1 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
Expand Down Expand Up @@ -141,7 +142,7 @@ require (
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/jmespath/go-jmespath v0.4.0 // indirect
github.com/jmhodges/levigo v1.0.0 // indirect
github.com/klauspost/compress v1.17.0 // indirect
github.com/klauspost/compress v1.17.2 // indirect
github.com/kr/pretty v0.3.1 // indirect
github.com/kr/text v0.2.0 // indirect
github.com/lib/pq v1.10.9 // indirect
Expand All @@ -164,7 +165,7 @@ require (
github.com/opencontainers/runc v1.1.12 // indirect
github.com/oxyno-zeta/gomock-extra-matcher v1.2.0 // indirect
github.com/pelletier/go-toml/v2 v2.1.0 // indirect
github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 // indirect
github.com/petermattis/goid v0.0.0-20230904192822-1876fd5063bc // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/prometheus/client_golang v1.17.0 // indirect
Expand All @@ -178,7 +179,7 @@ require (
github.com/sagikazarmark/locafero v0.4.0 // indirect
github.com/sagikazarmark/slog-shim v0.1.0 // indirect
github.com/sasha-s/go-deadlock v0.3.1 // indirect
github.com/sirupsen/logrus v1.9.0 // indirect
github.com/sirupsen/logrus v1.9.3 // indirect
github.com/sourcegraph/conc v0.3.0 // indirect
github.com/spf13/afero v1.11.0 // indirect
github.com/subosito/gotenv v1.6.0 // indirect
Expand All @@ -198,11 +199,10 @@ require (
go.opentelemetry.io/otel v1.22.0 // indirect
go.opentelemetry.io/otel/metric v1.22.0 // indirect
go.opentelemetry.io/otel/trace v1.22.0 // indirect
go.uber.org/atomic v1.10.0 // indirect
go.uber.org/mock v0.2.0 // indirect
go.uber.org/multierr v1.9.0 // indirect
go.uber.org/multierr v1.10.0 // indirect
golang.org/x/crypto v0.21.0 // indirect
golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect
golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect
golang.org/x/mod v0.17.0 // indirect
golang.org/x/net v0.23.0 // indirect
golang.org/x/oauth2 v0.17.0 // indirect
Expand All @@ -211,7 +211,7 @@ require (
golang.org/x/term v0.18.0 // indirect
golang.org/x/text v0.14.0 // indirect
golang.org/x/time v0.5.0 // indirect
golang.org/x/tools v0.13.0 // indirect
golang.org/x/tools v0.17.0 // indirect
google.golang.org/api v0.162.0 // indirect
google.golang.org/appengine v1.6.8 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de // indirect
Expand All @@ -231,6 +231,10 @@ replace (
// Use special SDK v0.47.x release with support for both ICS and LSM
github.com/cosmos/cosmos-sdk => github.com/cosmos/cosmos-sdk v0.47.13-ics-lsm

github.com/cosmos/gogoproto => github.com/cosmos/gogoproto v1.4.10

github.com/cosmos/iavl => github.com/cosmos/iavl v0.20.1

// Use special ICS v4.1.0-ics-lsm release with support for LSM
github.com/cosmos/interchain-security/v4 => github.com/cosmos/interchain-security/v4 v4.2.0-lsm

Expand All @@ -242,8 +246,6 @@ replace (
// TODO Remove it: https://github.com/cosmos/cosmos-sdk/issues/10409
github.com/gin-gonic/gin => github.com/gin-gonic/gin v1.8.1

github.com/skip-mev/feemarket => github.com/MSalopek/feemarket v0.0.0-20240417163849-894793eb7e0a

// following versions might cause unexpected behavior
github.com/syndtr/goleveldb => github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7

Expand Down
Loading

0 comments on commit b0a7667

Please sign in to comment.