Skip to content

Commit

Permalink
lint: enable unused in golangci-lint
Browse files Browse the repository at this point in the history
  • Loading branch information
p0mvn committed Jul 1, 2022
1 parent 2007bab commit 64304a8
Show file tree
Hide file tree
Showing 18 changed files with 62 additions and 105 deletions.
9 changes: 8 additions & 1 deletion .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ linters:
- typecheck
- unconvert
# - unparam <- looks for unused parameters (enable later)
# - unused <- looks for unused variables (enable later)
- unused # looks for unused variables, subset of staticcheck binary.
# - varcheck <- later
# - varnamelen <- disabled because defies idiom
# - wastedassign
Expand All @@ -95,5 +95,12 @@ issues:
- path: client/docs
linters:
- all
- path: x/gamm/pool-models/stableswap
linters:
# Stableswap is in development.
# We should re-enable deadcode and unused linting
# across its files, once stableswap is fully complete.
- unused
- deadcode
max-issues-per-linter: 10000
max-same-issues: 10000
2 changes: 1 addition & 1 deletion osmomath/math.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import (
var powPrecision, _ = sdk.NewDecFromStr("0.00000001")

// Singletons.
//nolint:deadcode
// nolint: deadcode, unused
var zero sdk.Dec = sdk.ZeroDec()

var (
Expand Down
5 changes: 0 additions & 5 deletions store/node.go
Original file line number Diff line number Diff line change
Expand Up @@ -233,11 +233,6 @@ func (node Node) find(key []byte) (idx int, match bool) {
return len(node.Children), false
}

func (node *Node) set(idx int, child *Child) *Node {
node.Children[idx] = child
return node
}

func (node *Node) setAcc(idx int, acc sdk.Int) *Node {
node.Children[idx] = &Child{node.Children[idx].Index, acc}
return node
Expand Down
5 changes: 0 additions & 5 deletions tests/e2e/containers/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,6 @@ const (
// This image should be pre-built with `make docker-build-debug` either in CI or locally.
CurrentBranchOsmoRepository = "osmosis"
CurrentBranchOsmoTag = "debug"
/// Current Git branch repo/version for osmosis initialization. It is meant to be built locally.
// It is used when skipping upgrade by setting OSMOSIS_E2E_SKIP_UPGRADE to true).
// This image should be pre-built with `make docker-build-e2e-chain-init` either in CI or locally.
currentBranchInitRepository = "osmosis-e2e-chain-init"
currentBranchInitTag = "debug"
// Pre-upgrade osmosis repo/tag to pull.
// It should be uploaded to Docker Hub. OSMOSIS_E2E_SKIP_UPGRADE should be unset
// for this functionality to be used.
Expand Down
27 changes: 0 additions & 27 deletions tests/e2e/initialization/chain.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,33 +52,6 @@ func (c *internalChain) createAndInitValidators(count int) error {
return nil
}

func (c *internalChain) createAndInitValidatorsWithMnemonics(count int, mnemonics []string) error {
for i := 0; i < count; i++ {
// create node
node := c.createValidator(i)

// generate genesis files
if err := node.init(); err != nil {
return err
}

c.validators = append(c.validators, node)

// create keys
if err := node.createKeyFromMnemonic("val", mnemonics[i]); err != nil {
return err
}
if err := node.createNodeKey(); err != nil {
return err
}
if err := node.createConsensusKey(); err != nil {
return err
}
}

return nil
}

func (c *internalChain) createValidator(index int) *internalValidator {
return &internalValidator{
chain: c,
Expand Down
21 changes: 8 additions & 13 deletions tests/e2e/initialization/validator.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,14 @@ import (
)

type internalValidator struct {
chain *internalChain
index int
moniker string
mnemonic string
keyInfo keyring.Info
privateKey cryptotypes.PrivKey
consensusKey privval.FilePVKey
consensusPrivKey cryptotypes.PrivKey
nodeKey p2p.NodeKey
chain *internalChain
index int
moniker string
mnemonic string
keyInfo keyring.Info
privateKey cryptotypes.PrivKey
consensusKey privval.FilePVKey
nodeKey p2p.NodeKey
}

func (v *internalValidator) instanceName() string {
Expand All @@ -58,10 +57,6 @@ func (v *internalValidator) getMoniker() string {
return v.moniker
}

func (v *internalValidator) getMnemonic() string {
return v.mnemonic
}

func (v *internalValidator) buildCreateValidatorMsg(amount sdk.Coin) (sdk.Msg, error) {
description := stakingtypes.NewDescription(v.moniker, "", "", "", "")
commissionRates := stakingtypes.CommissionRates{
Expand Down
6 changes: 3 additions & 3 deletions x/gamm/keeper/gas_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ func (suite *KeeperTestSuite) measureJoinPoolGas(
shareOutAmountMax sdk.Int, maxCoins sdk.Coins,
) uint64 {
alreadySpent := suite.Ctx.GasMeter().GasConsumed()
err := suite.App.GAMMKeeper.JoinPoolNoSwap(suite.Ctx, addr, poolID, shareOutAmountMax, maxCoins)
_, err := suite.App.GAMMKeeper.JoinPoolNoSwap(suite.Ctx, addr, poolID, shareOutAmountMax, maxCoins)
suite.Require().NoError(err)
newSpent := suite.Ctx.GasMeter().GasConsumed()
spentNow := newSpent - alreadySpent
Expand Down Expand Up @@ -76,7 +76,7 @@ func (suite *KeeperTestSuite) TestJoinPoolGas() {
suite.Assert().LessOrEqual(int(firstJoinGas), 100000)

for i := 1; i < startAveragingAt; i++ {
err := suite.App.GAMMKeeper.JoinPoolNoSwap(suite.Ctx, defaultAddr, poolId, minShareOutAmount, sdk.Coins{})
_, err := suite.App.GAMMKeeper.JoinPoolNoSwap(suite.Ctx, defaultAddr, poolId, minShareOutAmount, sdk.Coins{})
suite.Require().NoError(err)
}

Expand Down Expand Up @@ -133,7 +133,7 @@ func (suite *KeeperTestSuite) TestRepeatedJoinPoolDistinctDenom() {
firstJoinGas := suite.measureJoinPoolGas(defaultAddr, initialPoolId, minShareOutAmount, defaultCoins)

for i := 2; i < denomNumber; i++ {
err := suite.App.GAMMKeeper.JoinPoolNoSwap(suite.Ctx, defaultAddr, uint64(i), minShareOutAmount, sdk.Coins{})
_, err := suite.App.GAMMKeeper.JoinPoolNoSwap(suite.Ctx, defaultAddr, uint64(i), minShareOutAmount, sdk.Coins{})
suite.Require().NoError(err)
}

Expand Down
2 changes: 1 addition & 1 deletion x/gamm/keeper/keeper.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ func NewKeeper(cdc codec.BinaryCodec, storeKey sdk.StoreKey, paramSpace paramtyp
}
}

func (k *Keeper) createSwapEvent(ctx sdk.Context, sender sdk.AccAddress, poolId uint64, input sdk.Coins, output sdk.Coins) {
func (k *Keeper) createSwapEvent(ctx sdk.Context, sender sdk.AccAddress, poolId uint64, input sdk.Int, output sdk.Int) {
ctx.EventManager().EmitEvents(sdk.Events{
sdk.NewEvent(
types.TypeEvtTokenSwapped,
Expand Down
38 changes: 19 additions & 19 deletions x/gamm/keeper/msg_server.go
Original file line number Diff line number Diff line change
Expand Up @@ -108,22 +108,12 @@ func (server msgServer) JoinPool(goCtx context.Context, msg *types.MsgJoinPool)
return nil, err
}

err = server.keeper.JoinPoolNoSwap(ctx, sender, msg.PoolId, msg.ShareOutAmount, msg.TokenInMaxs)
addedLiquidity, err := server.keeper.JoinPoolNoSwap(ctx, sender, msg.PoolId, msg.ShareOutAmount, msg.TokenInMaxs)
if err != nil {
return nil, err
}

ctx.EventManager().EmitEvents(sdk.Events{
sdk.NewEvent(
types.TypeEvtPoolJoined,
sdk.NewAttribute(types.AttributeKeyPoolId, strconv.FormatUint(msg.PoolId, 10)),
),
sdk.NewEvent(
sdk.EventTypeMessage,
sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory),
sdk.NewAttribute(sdk.AttributeKeySender, msg.Sender),
),
})
server.keeper.createAddLiquidityEvent(ctx, sender, msg.PoolId, addedLiquidity)

return &types.MsgJoinPoolResponse{}, nil
}
Expand All @@ -136,11 +126,13 @@ func (server msgServer) ExitPool(goCtx context.Context, msg *types.MsgExitPool)
return nil, err
}

_, err = server.keeper.ExitPool(ctx, sender, msg.PoolId, msg.ShareInAmount, msg.TokenOutMins)
exitCoins, err := server.keeper.ExitPool(ctx, sender, msg.PoolId, msg.ShareInAmount, msg.TokenOutMins)
if err != nil {
return nil, err
}

server.keeper.createRemoveLiquidityEvent(ctx, sender, msg.PoolId, exitCoins)

ctx.EventManager().EmitEvents(sdk.Events{
sdk.NewEvent(
types.TypeEvtPoolExited,
Expand Down Expand Up @@ -169,7 +161,7 @@ func (server msgServer) SwapExactAmountIn(goCtx context.Context, msg *types.MsgS
return nil, err
}

// Swap event is handled elsewhere
// Swap event is handled in MultihopSwapExactAmountIn
ctx.EventManager().EmitEvents(sdk.Events{
sdk.NewEvent(
sdk.EventTypeMessage,
Expand All @@ -194,7 +186,7 @@ func (server msgServer) SwapExactAmountOut(goCtx context.Context, msg *types.Msg
return nil, err
}

// Swap event is handled elsewhere
// Swap event is handled in MultihopSwapExactAmountOut
ctx.EventManager().EmitEvents(sdk.Events{
sdk.NewEvent(
sdk.EventTypeMessage,
Expand All @@ -220,7 +212,7 @@ func (server msgServer) JoinSwapExternAmountIn(goCtx context.Context, msg *types
return nil, err
}

// Swap and LP events are handled elsewhere
// LP event is handled elsewhere
ctx.EventManager().EmitEvents(sdk.Events{
sdk.NewEvent(
sdk.EventTypeMessage,
Expand All @@ -229,6 +221,8 @@ func (server msgServer) JoinSwapExternAmountIn(goCtx context.Context, msg *types
),
})

server.keeper.createSwapEvent(ctx, sender, msg.PoolId, msg.TokenIn.Amount, shareOutAmount)

return &types.MsgJoinSwapExternAmountInResponse{ShareOutAmount: shareOutAmount}, nil
}

Expand All @@ -245,7 +239,7 @@ func (server msgServer) JoinSwapShareAmountOut(goCtx context.Context, msg *types
return nil, err
}

// Swap and LP events are handled elsewhere
// LP event is handled elsewhere
ctx.EventManager().EmitEvents(sdk.Events{
sdk.NewEvent(
sdk.EventTypeMessage,
Expand All @@ -254,6 +248,8 @@ func (server msgServer) JoinSwapShareAmountOut(goCtx context.Context, msg *types
),
})

server.keeper.createSwapEvent(ctx, sender, msg.PoolId, tokenInAmount, msg.ShareOutAmount)

return &types.MsgJoinSwapShareAmountOutResponse{TokenInAmount: tokenInAmount}, nil
}

Expand All @@ -270,7 +266,7 @@ func (server msgServer) ExitSwapExternAmountOut(goCtx context.Context, msg *type
return nil, err
}

// Swap and LP events are handled elsewhere
// LP event is handled elsewhere
ctx.EventManager().EmitEvents(sdk.Events{
sdk.NewEvent(
sdk.EventTypeMessage,
Expand All @@ -279,6 +275,8 @@ func (server msgServer) ExitSwapExternAmountOut(goCtx context.Context, msg *type
),
})

server.keeper.createSwapEvent(ctx, sender, msg.PoolId, shareInAmount, msg.TokenOut.Amount)

return &types.MsgExitSwapExternAmountOutResponse{ShareInAmount: shareInAmount}, nil
}

Expand All @@ -295,7 +293,7 @@ func (server msgServer) ExitSwapShareAmountIn(goCtx context.Context, msg *types.
return nil, err
}

// Swap and LP events are handled elsewhere
// LP event is handled elsewhere
ctx.EventManager().EmitEvents(sdk.Events{
sdk.NewEvent(
sdk.EventTypeMessage,
Expand All @@ -304,5 +302,7 @@ func (server msgServer) ExitSwapShareAmountIn(goCtx context.Context, msg *types.
),
})

server.keeper.createSwapEvent(ctx, sender, msg.PoolId, msg.ShareInAmount, tokenOutAmount)

return &types.MsgExitSwapShareAmountInResponse{TokenOutAmount: tokenOutAmount}, nil
}
4 changes: 4 additions & 0 deletions x/gamm/keeper/multihop.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ func (k Keeper) MultihopSwapExactAmountIn(

// Chain output of current pool as the input for the next routed pool
tokenIn = sdk.NewCoin(route.TokenOutDenom, tokenOutAmount)

k.createSwapEvent(ctx, sender, route.PoolId, tokenIn.Amount, tokenOutAmount)
}
return
}
Expand Down Expand Up @@ -79,6 +81,8 @@ func (k Keeper) MultihopSwapExactAmountOut(
if i == 0 {
tokenInAmount = _tokenInAmount
}

k.createSwapEvent(ctx, sender, route.PoolId, tokenInAmount, tokenOut.Amount)
}

return tokenInAmount, nil
Expand Down
14 changes: 7 additions & 7 deletions x/gamm/keeper/pool_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -183,35 +183,35 @@ func (k Keeper) JoinPoolNoSwap(
poolId uint64,
shareOutAmount sdk.Int,
tokenInMaxs sdk.Coins,
) (err error) {
) (sdk.Coins, error) {
// all pools handled within this method are pointer references, `JoinPool` directly updates the pools
pool, err := k.GetPoolAndPoke(ctx, poolId)
if err != nil {
return err
return sdk.Coins{}, err
}

// we do an abstract calculation on the lp liquidity coins needed to have
// the designated amount of given shares of the pool without performing swap
neededLpLiquidity, err := getMaximalNoSwapLPAmount(ctx, pool, shareOutAmount)
if err != nil {
return err
return sdk.Coins{}, err
}

// check that needed lp liquidity does not exceed the given `tokenInMaxs` parameter. Return error if so.
// if tokenInMaxs == 0, don't do this check.
if tokenInMaxs.Len() != 0 {
if !(neededLpLiquidity.DenomsSubsetOf(tokenInMaxs) && tokenInMaxs.IsAllGTE(neededLpLiquidity)) {
return sdkerrors.Wrapf(types.ErrLimitMaxAmount, "TokenInMaxs is less than the needed LP liquidity to this JoinPoolNoSwap,"+
return sdk.Coins{}, sdkerrors.Wrapf(types.ErrLimitMaxAmount, "TokenInMaxs is less than the needed LP liquidity to this JoinPoolNoSwap,"+
" upperbound: %v, needed %v", tokenInMaxs, neededLpLiquidity)
} else if !(tokenInMaxs.DenomsSubsetOf(neededLpLiquidity)) {
return sdkerrors.Wrapf(types.ErrDenomNotFoundInPool, "TokenInMaxs includes tokens that are not part of the target pool,"+
return sdk.Coins{}, sdkerrors.Wrapf(types.ErrDenomNotFoundInPool, "TokenInMaxs includes tokens that are not part of the target pool,"+
" input tokens: %v, pool tokens %v", tokenInMaxs, neededLpLiquidity)
}
}

sharesOut, err := pool.JoinPool(ctx, neededLpLiquidity, pool.GetSwapFee(ctx))
if err != nil {
return err
return sdk.Coins{}, err
}
// sanity check, don't return error as not worth halting the LP. We know its not too much.
if sharesOut.LT(shareOutAmount) {
Expand All @@ -220,7 +220,7 @@ func (k Keeper) JoinPoolNoSwap(
}

err = k.applyJoinPoolStateChange(ctx, pool, sender, sharesOut, neededLpLiquidity)
return err
return neededLpLiquidity, err
}

// getMaximalNoSwapLPAmount returns the coins(lp liquidity) needed to get the specified amount of shares in the pool.
Expand Down
Loading

0 comments on commit 64304a8

Please sign in to comment.