gofumpt - apply format changes for readability and consistency (#1248)

This commit is contained in:
Jacob Gadikian 2022-05-10 01:37:36 +07:00 committed by GitHub
parent f472d119cc
commit 09ddb3e367
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
160 changed files with 300 additions and 335 deletions

View File

@ -168,10 +168,12 @@ func TestAppImportExport(t *testing.T) {
storeKeysPrefixes := []StoreKeysPrefixes{ storeKeysPrefixes := []StoreKeysPrefixes{
{app.keys[baseapp.MainStoreKey], newApp.keys[baseapp.MainStoreKey], [][]byte{}}, {app.keys[baseapp.MainStoreKey], newApp.keys[baseapp.MainStoreKey], [][]byte{}},
{app.keys[auth.StoreKey], newApp.keys[auth.StoreKey], [][]byte{}}, {app.keys[auth.StoreKey], newApp.keys[auth.StoreKey], [][]byte{}},
{app.keys[staking.StoreKey], newApp.keys[staking.StoreKey], {
app.keys[staking.StoreKey], newApp.keys[staking.StoreKey],
[][]byte{ [][]byte{
staking.UnbondingQueueKey, staking.RedelegationQueueKey, staking.ValidatorQueueKey, staking.UnbondingQueueKey, staking.RedelegationQueueKey, staking.ValidatorQueueKey,
}}, // ordering may change but it doesn't matter },
}, // ordering may change but it doesn't matter
{app.keys[slashing.StoreKey], newApp.keys[slashing.StoreKey], [][]byte{}}, {app.keys[slashing.StoreKey], newApp.keys[slashing.StoreKey], [][]byte{}},
{app.keys[mint.StoreKey], newApp.keys[mint.StoreKey], [][]byte{}}, {app.keys[mint.StoreKey], newApp.keys[mint.StoreKey], [][]byte{}},
{app.keys[distr.StoreKey], newApp.keys[distr.StoreKey], [][]byte{}}, {app.keys[distr.StoreKey], newApp.keys[distr.StoreKey], [][]byte{}},
@ -320,7 +322,6 @@ func TestAppStateDeterminism(t *testing.T) {
func AppStateFn(cdc *codec.Codec, simManager *module.SimulationManager) simulation.AppStateFn { func AppStateFn(cdc *codec.Codec, simManager *module.SimulationManager) simulation.AppStateFn {
return func(r *rand.Rand, accs []simulation.Account, config simulation.Config, return func(r *rand.Rand, accs []simulation.Account, config simulation.Config,
) (appState json.RawMessage, simAccs []simulation.Account, chainID string, genesisTimestamp time.Time) { ) (appState json.RawMessage, simAccs []simulation.Account, chainID string, genesisTimestamp time.Time) {
if simapp.FlagGenesisTimeValue == 0 { if simapp.FlagGenesisTimeValue == 0 {
genesisTimestamp = time.Unix(r.Int63n(190288396800), 0) // 1st Jan year 8000 genesisTimestamp = time.Unix(r.Int63n(190288396800), 0) // 1st Jan year 8000
} else { } else {

View File

@ -12,9 +12,7 @@ import (
"github.com/kava-labs/kava/app/ante" "github.com/kava-labs/kava/app/ante"
) )
var ( var _ sdk.AnteHandler = (&MockAnteHandler{}).AnteHandle
_ sdk.AnteHandler = (&MockAnteHandler{}).AnteHandle
)
type MockAnteHandler struct { type MockAnteHandler struct {
WasCalled bool WasCalled bool

View File

@ -211,7 +211,6 @@ func TestAuthzLimiterDecorator(t *testing.T) {
for _, tc := range testCases { for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) { t.Run(tc.name, func(t *testing.T) {
tx, err := helpers.GenTx( tx, err := helpers.GenTx(
txConfig, txConfig,
tc.msgs, tc.msgs,

View File

@ -323,7 +323,6 @@ func NewApp(
options Options, options Options,
baseAppOptions ...func(*baseapp.BaseApp), baseAppOptions ...func(*baseapp.BaseApp),
) *App { ) *App {
appCodec := encodingConfig.Marshaler appCodec := encodingConfig.Marshaler
legacyAmino := encodingConfig.Amino legacyAmino := encodingConfig.Amino
interfaceRegistry := encodingConfig.InterfaceRegistry interfaceRegistry := encodingConfig.InterfaceRegistry
@ -348,7 +347,7 @@ func NewApp(
tkeys := sdk.NewTransientStoreKeys(paramstypes.TStoreKey, evmtypes.TransientKey) tkeys := sdk.NewTransientStoreKeys(paramstypes.TStoreKey, evmtypes.TransientKey)
memKeys := sdk.NewMemoryStoreKeys(capabilitytypes.MemStoreKey) memKeys := sdk.NewMemoryStoreKeys(capabilitytypes.MemStoreKey)
var app = &App{ app := &App{
BaseApp: bApp, BaseApp: bApp,
legacyAmino: legacyAmino, legacyAmino: legacyAmino,
appCodec: appCodec, appCodec: appCodec,

View File

@ -46,7 +46,7 @@ func (app *App) ExportAppStateAndValidators(forZeroHeight bool, jailWhiteList []
func (app *App) prepForZeroHeightGenesis(ctx sdk.Context, jailWhiteList []string) { func (app *App) prepForZeroHeightGenesis(ctx sdk.Context, jailWhiteList []string) {
applyWhiteList := false applyWhiteList := false
//Check if there is a whitelist // Check if there is a whitelist
if len(jailWhiteList) > 0 { if len(jailWhiteList) > 0 {
applyWhiteList = true applyWhiteList = true
} }

View File

@ -84,7 +84,6 @@ func (builder *AuthBankGenesisBuilder) WithSimpleModuleAccount(moduleName string
// WithSimplePeriodicVestingAccount adds a periodic vesting account to the genesis state. // WithSimplePeriodicVestingAccount adds a periodic vesting account to the genesis state.
func (builder *AuthBankGenesisBuilder) WithSimplePeriodicVestingAccount(address sdk.AccAddress, balance sdk.Coins, periods vestingtypes.Periods, firstPeriodStartTimestamp int64) *AuthBankGenesisBuilder { func (builder *AuthBankGenesisBuilder) WithSimplePeriodicVestingAccount(address sdk.AccAddress, balance sdk.Coins, periods vestingtypes.Periods, firstPeriodStartTimestamp int64) *AuthBankGenesisBuilder {
vestingAccount := newPeriodicVestingAccount(address, periods, firstPeriodStartTimestamp) vestingAccount := newPeriodicVestingAccount(address, periods, firstPeriodStartTimestamp)
return builder. return builder.

View File

@ -1,3 +1,4 @@
//go:build cli_test
// +build cli_test // +build cli_test
package clitest package clitest
@ -1137,7 +1138,8 @@ func TestKvCLIMultisignSortSignatures(t *testing.T) {
// Multisign, keys in different order // Multisign, keys in different order
success, stdout, _ = f.TxMultisign(unsignedTxFile.Name(), keyFooBarBaz, []string{ success, stdout, _ = f.TxMultisign(unsignedTxFile.Name(), keyFooBarBaz, []string{
bazSignatureFile.Name(), fooSignatureFile.Name()}) bazSignatureFile.Name(), fooSignatureFile.Name(),
})
require.True(t, success) require.True(t, success)
// Write the output to disk // Write the output to disk
@ -1205,13 +1207,15 @@ func TestKvCLIMultisign(t *testing.T) {
// Does not work in offline mode // Does not work in offline mode
success, stdout, _ = f.TxMultisign(unsignedTxFile.Name(), keyFooBarBaz, []string{ success, stdout, _ = f.TxMultisign(unsignedTxFile.Name(), keyFooBarBaz, []string{
fooSignatureFile.Name(), barSignatureFile.Name()}, "--offline") fooSignatureFile.Name(), barSignatureFile.Name(),
}, "--offline")
require.Contains(t, "couldn't verify signature", stdout) require.Contains(t, "couldn't verify signature", stdout)
require.False(t, success) require.False(t, success)
// Success multisign // Success multisign
success, stdout, _ = f.TxMultisign(unsignedTxFile.Name(), keyFooBarBaz, []string{ success, stdout, _ = f.TxMultisign(unsignedTxFile.Name(), keyFooBarBaz, []string{
fooSignatureFile.Name(), barSignatureFile.Name()}) fooSignatureFile.Name(), barSignatureFile.Name(),
})
require.True(t, success) require.True(t, success)
// Write the output to disk // Write the output to disk

View File

@ -367,8 +367,8 @@ func (f *Fixtures) TxEncode(fileName string, flags ...string) (bool, string, str
// TxMultisign is kvcli tx multisign // TxMultisign is kvcli tx multisign
func (f *Fixtures) TxMultisign(fileName, name string, signaturesFiles []string, func (f *Fixtures) TxMultisign(fileName, name string, signaturesFiles []string,
flags ...string) (bool, string, string) { flags ...string,
) (bool, string, string) {
cmd := fmt.Sprintf("%s tx multisign --keyring-backend=test %v %s %s %s", f.KvcliBinary, f.Flags(), cmd := fmt.Sprintf("%s tx multisign --keyring-backend=test %v %s %s %s", f.KvcliBinary, f.Flags(),
fileName, name, strings.Join(signaturesFiles, " "), fileName, name, strings.Join(signaturesFiles, " "),
) )
@ -425,7 +425,6 @@ func (f *Fixtures) TxGovVote(proposalID int, option gov.VoteOption, from string,
func (f *Fixtures) TxGovSubmitParamChangeProposal( func (f *Fixtures) TxGovSubmitParamChangeProposal(
from, proposalPath string, deposit sdk.Coin, flags ...string, from, proposalPath string, deposit sdk.Coin, flags ...string,
) (bool, string, string) { ) (bool, string, string) {
cmd := fmt.Sprintf( cmd := fmt.Sprintf(
"%s tx gov submit-proposal param-change %s --keyring-backend=test --from=%s %v", "%s tx gov submit-proposal param-change %s --keyring-backend=test --from=%s %v",
f.KvcliBinary, proposalPath, from, f.Flags(), f.KvcliBinary, proposalPath, from, f.Flags(),
@ -439,7 +438,6 @@ func (f *Fixtures) TxGovSubmitParamChangeProposal(
func (f *Fixtures) TxGovSubmitCommunityPoolSpendProposal( func (f *Fixtures) TxGovSubmitCommunityPoolSpendProposal(
from, proposalPath string, deposit sdk.Coin, flags ...string, from, proposalPath string, deposit sdk.Coin, flags ...string,
) (bool, string, string) { ) (bool, string, string) {
cmd := fmt.Sprintf( cmd := fmt.Sprintf(
"%s tx gov submit-proposal community-pool-spend %s --keyring-backend=test --from=%s %v", "%s tx gov submit-proposal community-pool-spend %s --keyring-backend=test --from=%s %v",
f.KvcliBinary, proposalPath, from, f.Flags(), f.KvcliBinary, proposalPath, from, f.Flags(),

View File

@ -16,9 +16,7 @@ import (
"github.com/tharsis/ethermint/crypto/hd" "github.com/tharsis/ethermint/crypto/hd"
) )
var ( var ethFlag = "eth"
ethFlag = "eth"
)
// KeyCommands registers a sub-tree of commands to interact with // KeyCommands registers a sub-tree of commands to interact with
// local private key storage. // local private key storage.

View File

@ -43,7 +43,6 @@ func (ac appCreator) newApp(
traceStore io.Writer, traceStore io.Writer,
appOpts servertypes.AppOptions, appOpts servertypes.AppOptions,
) servertypes.Application { ) servertypes.Application {
var cache sdk.MultiStorePersistentCache var cache sdk.MultiStorePersistentCache
if cast.ToBool(appOpts.Get(server.FlagInterBlockCache)) { if cast.ToBool(appOpts.Get(server.FlagInterBlockCache)) {
cache = store.NewCommitKVStoreCacheManager() cache = store.NewCommitKVStoreCacheManager()
@ -114,7 +113,6 @@ func (ac appCreator) appExport(
jailAllowedAddrs []string, jailAllowedAddrs []string,
appOpts servertypes.AppOptions, appOpts servertypes.AppOptions,
) (servertypes.ExportedApp, error) { ) (servertypes.ExportedApp, error) {
homePath, ok := appOpts.Get(flags.FlagHome).(string) homePath, ok := appOpts.Get(flags.FlagHome).(string)
if !ok || homePath == "" { if !ok || homePath == "" {
return servertypes.ExportedApp{}, errors.New("application home not set") return servertypes.ExportedApp{}, errors.New("application home not set")

View File

@ -83,7 +83,7 @@ func TestResetPeriodVestingAccount_SingleVestingPeriod_Vesting(t *testing.T) {
expectedEndtime := newVestingStartTime.Add(15 * 24 * time.Hour).Unix() expectedEndtime := newVestingStartTime.Add(15 * 24 * time.Hour).Unix()
// new period length changed, amount unchanged // new period length changed, amount unchanged
expectedPeriods := []vestingtypes.Period{ expectedPeriods := []vestingtypes.Period{
vestingtypes.Period{ {
Length: 15 * 24 * 60 * 60, // 15 days Length: 15 * 24 * 60 * 60, // 15 days
Amount: balance, Amount: balance,
}, },
@ -156,11 +156,11 @@ func TestResetPeriodVestingAccount_MultiplePeriods(t *testing.T) {
expectedEndtime := newVestingStartTime.Add(30 * 24 * time.Hour).Unix() expectedEndtime := newVestingStartTime.Add(30 * 24 * time.Hour).Unix()
// new period length changed, amount unchanged // new period length changed, amount unchanged
expectedPeriods := []vestingtypes.Period{ expectedPeriods := []vestingtypes.Period{
vestingtypes.Period{ {
Length: 15 * 24 * 60 * 60, // 15 days Length: 15 * 24 * 60 * 60, // 15 days
Amount: sdk.NewCoins(sdk.NewCoin("ukava", sdk.NewInt(1e6))), Amount: sdk.NewCoins(sdk.NewCoin("ukava", sdk.NewInt(1e6))),
}, },
vestingtypes.Period{ {
Length: 15 * 24 * 60 * 60, // 15 days Length: 15 * 24 * 60 * 60, // 15 days
Amount: sdk.NewCoins(sdk.NewCoin("ukava", sdk.NewInt(1e6))), Amount: sdk.NewCoins(sdk.NewCoin("ukava", sdk.NewInt(1e6))),
}, },

View File

@ -14,7 +14,7 @@ import (
// v40 cosmos auth module genesis state, returning a copy of the original state where all // v40 cosmos auth module genesis state, returning a copy of the original state where all
// periodic vesting accounts have been zeroed out. // periodic vesting accounts have been zeroed out.
func MigrateAuthV040(authGenState v040auth.GenesisState, genesisTime time.Time, ctx client.Context) *v040auth.GenesisState { func MigrateAuthV040(authGenState v040auth.GenesisState, genesisTime time.Time, ctx client.Context) *v040auth.GenesisState {
var anyAccounts = make([]*codectypes.Any, len(authGenState.Accounts)) anyAccounts := make([]*codectypes.Any, len(authGenState.Accounts))
for i, anyAcc := range authGenState.Accounts { for i, anyAcc := range authGenState.Accounts {
// Only need to make modifications to vesting accounts // Only need to make modifications to vesting accounts
if anyAcc.TypeUrl != "/cosmos.vesting.v1beta1.PeriodicVestingAccount" { if anyAcc.TypeUrl != "/cosmos.vesting.v1beta1.PeriodicVestingAccount" {

View File

@ -8,7 +8,6 @@ import (
) )
func migrateCommitteePermissions(genState committeetypes.GenesisState) committeetypes.GenesisState { func migrateCommitteePermissions(genState committeetypes.GenesisState) committeetypes.GenesisState {
var newCommittees committeetypes.Committees var newCommittees committeetypes.Committees
for _, committee := range genState.GetCommittees() { for _, committee := range genState.GetCommittees() {
switch committee.GetDescription() { switch committee.GetDescription() {

View File

@ -33,7 +33,6 @@ func GetTxCmd() *cobra.Command {
txCmd.AddCommand(cmds...) txCmd.AddCommand(cmds...)
return txCmd return txCmd
} }
// GetCmdPlaceBid cli command for placing bids on auctions // GetCmdPlaceBid cli command for placing bids on auctions

View File

@ -3,7 +3,6 @@ package rest
import ( import (
"fmt" "fmt"
"net/http" "net/http"
"strings" "strings"
"github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client"

View File

@ -16,16 +16,18 @@ import (
"github.com/kava-labs/kava/x/auction/types" "github.com/kava-labs/kava/x/auction/types"
) )
var _, testAddrs = app.GeneratePrivKeyAddressPairs(2) var (
var testTime = time.Date(1998, 1, 1, 0, 0, 0, 0, time.UTC) _, testAddrs = app.GeneratePrivKeyAddressPairs(2)
var testAuction = types.NewCollateralAuction( testTime = time.Date(1998, 1, 1, 0, 0, 0, 0, time.UTC)
"seller", testAuction = types.NewCollateralAuction(
c("lotdenom", 10), "seller",
testTime, c("lotdenom", 10),
c("biddenom", 1000), testTime,
types.WeightedAddresses{Addresses: testAddrs, Weights: []sdk.Int{sdk.OneInt(), sdk.OneInt()}}, c("biddenom", 1000),
c("debt", 1000), types.WeightedAddresses{Addresses: testAddrs, Weights: []sdk.Int{sdk.OneInt(), sdk.OneInt()}},
).WithID(3).(types.GenesisAuction) c("debt", 1000),
).WithID(3).(types.GenesisAuction)
)
func TestInitGenesis(t *testing.T) { func TestInitGenesis(t *testing.T) {
t.Run("valid", func(t *testing.T) { t.Run("valid", func(t *testing.T) {

View File

@ -46,7 +46,6 @@ func (k Keeper) StartSurplusAuction(ctx sdk.Context, seller string, lot sdk.Coin
// StartDebtAuction starts a new debt (reverse) auction. // StartDebtAuction starts a new debt (reverse) auction.
func (k Keeper) StartDebtAuction(ctx sdk.Context, buyer string, bid sdk.Coin, initialLot sdk.Coin, debt sdk.Coin) (uint64, error) { func (k Keeper) StartDebtAuction(ctx sdk.Context, buyer string, bid sdk.Coin, initialLot sdk.Coin, debt sdk.Coin) (uint64, error) {
auction := types.NewDebtAuction( auction := types.NewDebtAuction(
buyer, buyer,
bid, bid,
@ -132,7 +131,6 @@ func (k Keeper) StartCollateralAuction(
// PlaceBid places a bid on any auction. // PlaceBid places a bid on any auction.
func (k Keeper) PlaceBid(ctx sdk.Context, auctionID uint64, bidder sdk.AccAddress, newAmount sdk.Coin) error { func (k Keeper) PlaceBid(ctx sdk.Context, auctionID uint64, bidder sdk.AccAddress, newAmount sdk.Coin) error {
auction, found := k.GetAuction(ctx, auctionID) auction, found := k.GetAuction(ctx, auctionID)
if !found { if !found {
return sdkerrors.Wrapf(types.ErrAuctionNotFound, "%d", auctionID) return sdkerrors.Wrapf(types.ErrAuctionNotFound, "%d", auctionID)

View File

@ -25,11 +25,10 @@ const (
) )
func TestAuctionBidding(t *testing.T) { func TestAuctionBidding(t *testing.T) {
config := sdk.GetConfig() config := sdk.GetConfig()
app.SetBech32AddressPrefixes(config) app.SetBech32AddressPrefixes(config)
someTime := time.Date(0001, time.January, 1, 0, 0, 0, 0, time.UTC) someTime := time.Date(0o001, time.January, 1, 0, 0, 0, 0, time.UTC)
_, addrs := app.GeneratePrivKeyAddressPairs(5) _, addrs := app.GeneratePrivKeyAddressPairs(5)
buyer := addrs[0] buyer := addrs[0]

View File

@ -117,7 +117,6 @@ func TestGrpcAuctionsFilter(t *testing.T) {
for _, tc := range tests { for _, tc := range tests {
t.Run(tc.giveName, func(t *testing.T) { t.Run(tc.giveName, func(t *testing.T) {
res, err := qs.Auctions(sdk.WrapSDKContext(ctx), &tc.giveRequest) res, err := qs.Auctions(sdk.WrapSDKContext(ctx), &tc.giveRequest)
require.NoError(t, err) require.NoError(t, err)

View File

@ -12,7 +12,6 @@ import (
// RegisterInvariants registers all staking invariants // RegisterInvariants registers all staking invariants
func RegisterInvariants(ir sdk.InvariantRegistry, k Keeper) { func RegisterInvariants(ir sdk.InvariantRegistry, k Keeper) {
ir.RegisterRoute(types.ModuleName, "module-account", ir.RegisterRoute(types.ModuleName, "module-account",
ModuleAccountInvariants(k)) ModuleAccountInvariants(k))
ir.RegisterRoute(types.ModuleName, "valid-auctions", ir.RegisterRoute(types.ModuleName, "valid-auctions",
@ -24,7 +23,6 @@ func RegisterInvariants(ir sdk.InvariantRegistry, k Keeper) {
// ModuleAccountInvariants checks that the module account's coins matches those stored in auctions // ModuleAccountInvariants checks that the module account's coins matches those stored in auctions
func ModuleAccountInvariants(k Keeper) sdk.Invariant { func ModuleAccountInvariants(k Keeper) sdk.Invariant {
return func(ctx sdk.Context) (string, bool) { return func(ctx sdk.Context) (string, bool) {
totalAuctionCoins := sdk.NewCoins() totalAuctionCoins := sdk.NewCoins()
k.IterateAuctions(ctx, func(auction types.Auction) bool { k.IterateAuctions(ctx, func(auction types.Auction) bool {
a, ok := auction.(types.GenesisAuction) a, ok := auction.(types.GenesisAuction)

View File

@ -24,7 +24,8 @@ type Keeper struct {
// NewKeeper returns a new auction keeper. // NewKeeper returns a new auction keeper.
func NewKeeper(cdc codec.Codec, storeKey sdk.StoreKey, paramstore paramtypes.Subspace, func NewKeeper(cdc codec.Codec, storeKey sdk.StoreKey, paramstore paramtypes.Subspace,
bankKeeper types.BankKeeper, accountKeeper types.AccountKeeper) Keeper { bankKeeper types.BankKeeper, accountKeeper types.AccountKeeper,
) Keeper {
if !paramstore.HasKeyTable() { if !paramstore.HasKeyTable() {
paramstore = paramstore.WithKeyTable(types.ParamKeyTable()) paramstore = paramstore.WithKeyTable(types.ParamKeyTable())
} }
@ -81,7 +82,6 @@ func (k Keeper) Logger(ctx sdk.Context) log.Logger {
func (k Keeper) SetNextAuctionID(ctx sdk.Context, id uint64) { func (k Keeper) SetNextAuctionID(ctx sdk.Context, id uint64) {
store := prefix.NewStore(ctx.KVStore(k.storeKey), types.NextAuctionIDKey) store := prefix.NewStore(ctx.KVStore(k.storeKey), types.NextAuctionIDKey)
store.Set(types.NextAuctionIDKey, types.Uint64ToBytes(id)) store.Set(types.NextAuctionIDKey, types.Uint64ToBytes(id))
} }
// GetNextAuctionID reads the next available global ID from store // GetNextAuctionID reads the next available global ID from store

View File

@ -124,7 +124,6 @@ func TestIterateAuctionsByTime(t *testing.T) {
if v.endTime.Before(cutoffTime) || v.endTime.Equal(cutoffTime) { // endTime ≤ cutoffTime if v.endTime.Before(cutoffTime) || v.endTime.Equal(cutoffTime) { // endTime ≤ cutoffTime
expectedIndex = append(expectedIndex, v.auctionID) expectedIndex = append(expectedIndex, v.auctionID)
} }
} }
var readIndex []uint64 var readIndex []uint64
keeper.IterateAuctionsByTime(ctx, cutoffTime, func(id uint64) bool { keeper.IterateAuctionsByTime(ctx, cutoffTime, func(id uint64) bool {

View File

@ -36,6 +36,7 @@ func GenBidDuration(r *rand.Rand) time.Duration {
} }
return d return d
} }
func GenMaxAuctionDuration(r *rand.Rand) time.Duration { func GenMaxAuctionDuration(r *rand.Rand) time.Duration {
d, err := RandomPositiveDuration(r, MaxBidDuration, AverageBlockTime*200) d, err := RandomPositiveDuration(r, MaxBidDuration, AverageBlockTime*200)
if err != nil { if err != nil {
@ -48,12 +49,13 @@ func GenIncrementCollateral(r *rand.Rand) sdk.Dec {
return simulation.RandomDecAmount(r, sdk.MustNewDecFromStr("1")) return simulation.RandomDecAmount(r, sdk.MustNewDecFromStr("1"))
} }
var GenIncrementDebt = GenIncrementCollateral var (
var GenIncrementSurplus = GenIncrementCollateral GenIncrementDebt = GenIncrementCollateral
GenIncrementSurplus = GenIncrementCollateral
)
// RandomizedGenState generates a random GenesisState for auction // RandomizedGenState generates a random GenesisState for auction
func RandomizedGenState(simState *module.SimulationState) { func RandomizedGenState(simState *module.SimulationState) {
p := types.NewParams( p := types.NewParams(
GenMaxAuctionDuration(simState.Rand), GenMaxAuctionDuration(simState.Rand),
GenBidDuration(simState.Rand), GenBidDuration(simState.Rand),
@ -80,7 +82,7 @@ func RandomizedGenState(simState *module.SimulationState) {
sdk.NewInt64Coin("debt", 100), // same as usdx sdk.NewInt64Coin("debt", 100), // same as usdx
), ),
} }
var startingID = auctionGenesis.NextAuctionID startingID := auctionGenesis.NextAuctionID
var ok bool var ok bool
var totalAuctionCoins sdk.Coins var totalAuctionCoins sdk.Coins
for i, a := range auctions { for i, a := range auctions {

View File

@ -122,7 +122,8 @@ func SimulateMsgPlaceBid(ak auth.AccountKeeper, keeper keeper.Keeper) simulation
func generateBidAmount( func generateBidAmount(
r *rand.Rand, params types.Params, auc types.Auction, r *rand.Rand, params types.Params, auc types.Auction,
bidder authexported.Account, blockTime time.Time) (sdk.Coin, error) { bidder authexported.Account, blockTime time.Time,
) (sdk.Coin, error) {
bidderBalance := bidder.SpendableCoins(blockTime) bidderBalance := bidder.SpendableCoins(blockTime)
switch a := auc.(type) { switch a := auc.(type) {

View File

@ -20,7 +20,6 @@ func newTestModuleCodec() codec.Codec {
} }
func TestGenesisState_Validate(t *testing.T) { func TestGenesisState_Validate(t *testing.T) {
arbitraryTime := time.Date(1998, 1, 1, 0, 0, 0, 0, time.UTC) arbitraryTime := time.Date(1998, 1, 1, 0, 0, 0, 0, time.UTC)
validAuction := &CollateralAuction{ validAuction := &CollateralAuction{
BaseAuction: BaseAuction{ BaseAuction: BaseAuction{
@ -82,7 +81,6 @@ func TestGenesisState_Validate(t *testing.T) {
for _, tc := range testCases { for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) { t.Run(tc.name, func(t *testing.T) {
err := tc.genesis.Validate() err := tc.genesis.Validate()
if tc.expectPass { if tc.expectPass {
require.NoError(t, err) require.NoError(t, err)
@ -91,11 +89,9 @@ func TestGenesisState_Validate(t *testing.T) {
} }
}) })
} }
} }
func TestGenesisState_UnmarshalAnys(t *testing.T) { func TestGenesisState_UnmarshalAnys(t *testing.T) {
cdc := newTestModuleCodec() cdc := newTestModuleCodec()
arbitraryTime := time.Date(1998, 1, 1, 0, 0, 0, 0, time.UTC) arbitraryTime := time.Date(1998, 1, 1, 0, 0, 0, 0, time.UTC)

View File

@ -14,8 +14,10 @@ import (
"github.com/kava-labs/kava/x/bep3/types" "github.com/kava-labs/kava/x/bep3/types"
) )
const restSwapID = "swap-id" const (
const restDenom = "denom" restSwapID = "swap-id"
restDenom = "denom"
)
func registerQueryRoutes(cliCtx client.Context, r *mux.Router) { func registerQueryRoutes(cliCtx client.Context, r *mux.Router) {
r.HandleFunc(fmt.Sprintf("/%s/swap/{%s}", types.ModuleName, restSwapID), queryAtomicSwapHandlerFn(cliCtx)).Methods("GET") r.HandleFunc(fmt.Sprintf("/%s/swap/{%s}", types.ModuleName, restSwapID), queryAtomicSwapHandlerFn(cliCtx)).Methods("GET")
@ -23,7 +25,6 @@ func registerQueryRoutes(cliCtx client.Context, r *mux.Router) {
r.HandleFunc(fmt.Sprintf("/%s/supply/{%s}", types.ModuleName, restDenom), queryAssetSupplyHandlerFn(cliCtx)).Methods("GET") r.HandleFunc(fmt.Sprintf("/%s/supply/{%s}", types.ModuleName, restDenom), queryAssetSupplyHandlerFn(cliCtx)).Methods("GET")
r.HandleFunc(fmt.Sprintf("/%s/supplies", types.ModuleName), queryAssetSuppliesHandlerFn(cliCtx)).Methods("GET") r.HandleFunc(fmt.Sprintf("/%s/supplies", types.ModuleName), queryAssetSuppliesHandlerFn(cliCtx)).Methods("GET")
r.HandleFunc(fmt.Sprintf("/%s/parameters", types.ModuleName), queryParamsHandlerFn(cliCtx)).Methods("GET") r.HandleFunc(fmt.Sprintf("/%s/parameters", types.ModuleName), queryParamsHandlerFn(cliCtx)).Methods("GET")
} }
func queryAtomicSwapHandlerFn(cliCtx client.Context) http.HandlerFunc { func queryAtomicSwapHandlerFn(cliCtx client.Context) http.HandlerFunc {

View File

@ -340,7 +340,6 @@ func (suite *GenesisTestSuite) TestGenesisState() {
}, tc.name) }, tc.name)
} }
}) })
} }
} }

View File

@ -98,7 +98,6 @@ func (suite *AssetTestSuite) TestIncrementCurrentAssetSupply() {
for _, tc := range testCases { for _, tc := range testCases {
suite.SetupTest() suite.SetupTest()
suite.Run(tc.name, func() { suite.Run(tc.name, func() {
preSupply, found := suite.keeper.GetAssetSupply(suite.ctx, tc.args.coin.Denom) preSupply, found := suite.keeper.GetAssetSupply(suite.ctx, tc.args.coin.Denom)
err := suite.keeper.IncrementCurrentAssetSupply(suite.ctx, tc.args.coin) err := suite.keeper.IncrementCurrentAssetSupply(suite.ctx, tc.args.coin)
postSupply, _ := suite.keeper.GetAssetSupply(suite.ctx, tc.args.coin.Denom) postSupply, _ := suite.keeper.GetAssetSupply(suite.ctx, tc.args.coin.Denom)
@ -138,7 +137,8 @@ func (suite *AssetTestSuite) TestIncrementTimeLimitedCurrentAssetSupply() {
OutgoingSupply: c("inc", 5), OutgoingSupply: c("inc", 5),
CurrentSupply: c("inc", 10), CurrentSupply: c("inc", 10),
TimeLimitedCurrentSupply: c("inc", 5), TimeLimitedCurrentSupply: c("inc", 5),
TimeElapsed: time.Duration(0)}, TimeElapsed: time.Duration(0),
},
}, },
errArgs{ errArgs{
expectPass: true, expectPass: true,
@ -215,7 +215,6 @@ func (suite *AssetTestSuite) TestDecrementCurrentAssetSupply() {
for _, tc := range testCases { for _, tc := range testCases {
suite.SetupTest() suite.SetupTest()
suite.Run(tc.name, func() { suite.Run(tc.name, func() {
preSupply, found := suite.keeper.GetAssetSupply(suite.ctx, tc.args.coin.Denom) preSupply, found := suite.keeper.GetAssetSupply(suite.ctx, tc.args.coin.Denom)
err := suite.keeper.DecrementCurrentAssetSupply(suite.ctx, tc.args.coin) err := suite.keeper.DecrementCurrentAssetSupply(suite.ctx, tc.args.coin)
postSupply, _ := suite.keeper.GetAssetSupply(suite.ctx, tc.args.coin.Denom) postSupply, _ := suite.keeper.GetAssetSupply(suite.ctx, tc.args.coin.Denom)
@ -313,7 +312,8 @@ func (suite *AssetTestSuite) TestIncrementTimeLimitedIncomingAssetSupply() {
OutgoingSupply: c("inc", 5), OutgoingSupply: c("inc", 5),
CurrentSupply: c("inc", 5), CurrentSupply: c("inc", 5),
TimeLimitedCurrentSupply: c("inc", 0), TimeLimitedCurrentSupply: c("inc", 0),
TimeElapsed: time.Duration(0)}, TimeElapsed: time.Duration(0),
},
}, },
errArgs{ errArgs{
expectPass: true, expectPass: true,
@ -390,7 +390,6 @@ func (suite *AssetTestSuite) TestDecrementIncomingAssetSupply() {
for _, tc := range testCases { for _, tc := range testCases {
suite.SetupTest() suite.SetupTest()
suite.Run(tc.name, func() { suite.Run(tc.name, func() {
preSupply, found := suite.keeper.GetAssetSupply(suite.ctx, tc.args.coin.Denom) preSupply, found := suite.keeper.GetAssetSupply(suite.ctx, tc.args.coin.Denom)
err := suite.keeper.DecrementIncomingAssetSupply(suite.ctx, tc.args.coin) err := suite.keeper.DecrementIncomingAssetSupply(suite.ctx, tc.args.coin)
postSupply, _ := suite.keeper.GetAssetSupply(suite.ctx, tc.args.coin.Denom) postSupply, _ := suite.keeper.GetAssetSupply(suite.ctx, tc.args.coin.Denom)
@ -449,7 +448,6 @@ func (suite *AssetTestSuite) TestIncrementOutgoingAssetSupply() {
for _, tc := range testCases { for _, tc := range testCases {
suite.SetupTest() suite.SetupTest()
suite.Run(tc.name, func() { suite.Run(tc.name, func() {
preSupply, found := suite.keeper.GetAssetSupply(suite.ctx, tc.args.coin.Denom) preSupply, found := suite.keeper.GetAssetSupply(suite.ctx, tc.args.coin.Denom)
err := suite.keeper.IncrementOutgoingAssetSupply(suite.ctx, tc.args.coin) err := suite.keeper.IncrementOutgoingAssetSupply(suite.ctx, tc.args.coin)
postSupply, _ := suite.keeper.GetAssetSupply(suite.ctx, tc.args.coin.Denom) postSupply, _ := suite.keeper.GetAssetSupply(suite.ctx, tc.args.coin.Denom)

View File

@ -25,7 +25,8 @@ type Keeper struct {
// NewKeeper creates a bep3 keeper // NewKeeper creates a bep3 keeper
func NewKeeper(cdc codec.Codec, key sdk.StoreKey, sk types.BankKeeper, ak types.AccountKeeper, func NewKeeper(cdc codec.Codec, key sdk.StoreKey, sk types.BankKeeper, ak types.AccountKeeper,
paramstore paramtypes.Subspace, maccs map[string]bool) Keeper { paramstore paramtypes.Subspace, maccs map[string]bool,
) Keeper {
if !paramstore.HasKeyTable() { if !paramstore.HasKeyTable() {
paramstore = paramstore.WithKeyTable(types.ParamKeyTable()) paramstore = paramstore.WithKeyTable(types.ParamKeyTable())
} }
@ -160,7 +161,8 @@ func (k Keeper) RemoveFromLongtermStorage(ctx sdk.Context, atomicSwap types.Atom
// IterateAtomicSwapsLongtermStorage provides an iterator over AtomicSwaps ordered by deletion height. // IterateAtomicSwapsLongtermStorage provides an iterator over AtomicSwaps ordered by deletion height.
// For each AtomicSwap cb will be called. If cb returns true the iterator will close and stop. // For each AtomicSwap cb will be called. If cb returns true the iterator will close and stop.
func (k Keeper) IterateAtomicSwapsLongtermStorage(ctx sdk.Context, inclusiveCutoffTime uint64, func (k Keeper) IterateAtomicSwapsLongtermStorage(ctx sdk.Context, inclusiveCutoffTime uint64,
cb func(swapID []byte) (stop bool)) { cb func(swapID []byte) (stop bool),
) {
store := prefix.NewStore(ctx.KVStore(k.key), types.AtomicSwapLongtermStoragePrefix) store := prefix.NewStore(ctx.KVStore(k.key), types.AtomicSwapLongtermStoragePrefix)
iterator := store.Iterator( iterator := store.Iterator(
nil, // start at the very start of the prefix store nil, // start at the very start of the prefix store

View File

@ -78,6 +78,7 @@ func (suite *KeeperTestSuite) TestRemoveAtomicSwap() {
_, found = suite.keeper.GetAtomicSwap(suite.ctx, atomicSwap.GetSwapID()) _, found = suite.keeper.GetAtomicSwap(suite.ctx, atomicSwap.GetSwapID())
suite.False(found) suite.False(found)
} }
func (suite *KeeperTestSuite) TestIterateAtomicSwaps() { func (suite *KeeperTestSuite) TestIterateAtomicSwaps() {
suite.ResetChain() suite.ResetChain()
@ -324,7 +325,6 @@ func (suite *KeeperTestSuite) TestGetSetAssetSupply() {
} }
func (suite *KeeperTestSuite) TestGetAllAssetSupplies() { func (suite *KeeperTestSuite) TestGetAllAssetSupplies() {
// Put asset supply in store // Put asset supply in store
assetSupply := types.NewAssetSupply(c("bnb", 0), c("bnb", 0), c("bnb", 50000), c("bnb", 0), time.Duration(0)) assetSupply := types.NewAssetSupply(c("bnb", 0), c("bnb", 0), c("bnb", 50000), c("bnb", 0), time.Duration(0))
suite.keeper.SetAssetSupply(suite.ctx, assetSupply, "bnb") suite.keeper.SetAssetSupply(suite.ctx, assetSupply, "bnb")

View File

@ -63,7 +63,6 @@ func (suite *ParamsTestSuite) TestGetSetDeputyAddress() {
addr, err := suite.keeper.GetDeputyAddress(suite.ctx, "bnb") addr, err := suite.keeper.GetDeputyAddress(suite.ctx, "bnb")
suite.Require().NoError(err) suite.Require().NoError(err)
suite.Equal(suite.addrs[1], addr) suite.Equal(suite.addrs[1], addr)
} }
func (suite *ParamsTestSuite) TestGetDeputyFixedFee() { func (suite *ParamsTestSuite) TestGetDeputyFixedFee() {

View File

@ -15,7 +15,8 @@ import (
// CreateAtomicSwap creates a new atomic swap. // CreateAtomicSwap creates a new atomic swap.
func (k Keeper) CreateAtomicSwap(ctx sdk.Context, randomNumberHash []byte, timestamp int64, heightSpan uint64, func (k Keeper) CreateAtomicSwap(ctx sdk.Context, randomNumberHash []byte, timestamp int64, heightSpan uint64,
sender, recipient sdk.AccAddress, senderOtherChain, recipientOtherChain string, sender, recipient sdk.AccAddress, senderOtherChain, recipientOtherChain string,
amount sdk.Coins, crossChain bool) error { amount sdk.Coins, crossChain bool,
) error {
// Confirm that this is not a duplicate swap // Confirm that this is not a duplicate swap
swapID := types.CalculateSwapID(randomNumberHash, sender, senderOtherChain) swapID := types.CalculateSwapID(randomNumberHash, sender, senderOtherChain)
_, found := k.GetAtomicSwap(ctx, swapID) _, found := k.GetAtomicSwap(ctx, swapID)

View File

@ -197,7 +197,6 @@ func (suite *AtomicSwapTestSuite) TestCreateAtomicSwap() {
true, true,
}, },
{ {
"outgoing swap amount not greater than fixed fee", "outgoing swap amount not greater than fixed fee",
currentTmTime, currentTmTime,
args{ args{
@ -453,21 +452,20 @@ func (suite *AtomicSwapTestSuite) TestCreateAtomicSwap() {
suite.NotNil(actualSwap) suite.NotNil(actualSwap)
// Confirm swap contents // Confirm swap contents
expectedSwap := expectedSwap := types.AtomicSwap{
types.AtomicSwap{ Amount: tc.args.coins,
Amount: tc.args.coins, RandomNumberHash: tc.args.randomNumberHash,
RandomNumberHash: tc.args.randomNumberHash, ExpireHeight: uint64(suite.ctx.BlockHeight()) + tc.args.heightSpan,
ExpireHeight: uint64(suite.ctx.BlockHeight()) + tc.args.heightSpan, Timestamp: tc.args.timestamp,
Timestamp: tc.args.timestamp, Sender: tc.args.sender,
Sender: tc.args.sender, Recipient: tc.args.recipient,
Recipient: tc.args.recipient, SenderOtherChain: tc.args.senderOtherChain,
SenderOtherChain: tc.args.senderOtherChain, RecipientOtherChain: tc.args.recipientOtherChain,
RecipientOtherChain: tc.args.recipientOtherChain, ClosedBlock: 0,
ClosedBlock: 0, Status: types.SWAP_STATUS_OPEN,
Status: types.SWAP_STATUS_OPEN, CrossChain: tc.args.crossChain,
CrossChain: tc.args.crossChain, Direction: tc.args.direction,
Direction: tc.args.direction, }
}
suite.Equal(expectedSwap, actualSwap) suite.Equal(expectedSwap, actualSwap)
} else { } else {
suite.Error(err) suite.Error(err)

View File

@ -78,7 +78,6 @@ func GenMaxBlockLock(r *rand.Rand, minBlockLock uint64) uint64 {
// GenSupportedAssets gets randomized SupportedAssets // GenSupportedAssets gets randomized SupportedAssets
func GenSupportedAssets(r *rand.Rand) types.AssetParams { func GenSupportedAssets(r *rand.Rand) types.AssetParams {
numAssets := (r.Intn(10) + 1) numAssets := (r.Intn(10) + 1)
assets := make(types.AssetParams, numAssets+1) assets := make(types.AssetParams, numAssets+1)
for i := 0; i < numAssets; i++ { for i := 0; i < numAssets; i++ {
@ -113,7 +112,8 @@ func genSupportedAsset(r *rand.Rand, denom string) types.AssetParam {
Limit: limit, Limit: limit,
TimeLimited: timeLimited, TimeLimited: timeLimited,
TimePeriod: time.Hour * 24, TimePeriod: time.Hour * 24,
TimeBasedLimit: timeBasedLimit}, TimeBasedLimit: timeBasedLimit,
},
Active: true, Active: true,
DeputyAddress: GenRandBnbDeputy(r).Address, DeputyAddress: GenRandBnbDeputy(r).Address,
FixedFee: GenRandFixedFee(r), FixedFee: GenRandFixedFee(r),
@ -146,7 +146,6 @@ func RandomizedGenState(simState *module.SimulationState) {
} }
func loadRandomBep3GenState(simState *module.SimulationState) types.GenesisState { func loadRandomBep3GenState(simState *module.SimulationState) types.GenesisState {
supportedAssets := GenSupportedAssets(simState.Rand) supportedAssets := GenSupportedAssets(simState.Rand)
supplies := types.AssetSupplies{} supplies := types.AssetSupplies{}
for _, asset := range supportedAssets { for _, asset := range supportedAssets {

View File

@ -133,7 +133,6 @@ func SimulateMsgCreateAtomicSwap(ak types.AccountKeeper, k keeper.Keeper) simula
} }
// The maximum amount for outgoing swaps is limited by the asset's current supply // The maximum amount for outgoing swaps is limited by the asset's current supply
if recipient.Address.Equals(asset.DeputyAddress) { if recipient.Address.Equals(asset.DeputyAddress) {
if maximumAmount.GT(assetSupply.CurrentSupply.Amount.Sub(assetSupply.OutgoingSupply.Amount)) { if maximumAmount.GT(assetSupply.CurrentSupply.Amount.Sub(assetSupply.OutgoingSupply.Amount)) {
maximumAmount = assetSupply.CurrentSupply.Amount.Sub(assetSupply.OutgoingSupply.Amount) maximumAmount = assetSupply.CurrentSupply.Amount.Sub(assetSupply.OutgoingSupply.Amount)
} }
@ -330,7 +329,8 @@ func operationRefundAtomicSwap(ak types.AccountKeeper, k keeper.Keeper, swapID [
// findValidAccountAssetSupplyPair finds an account for which the callback func returns true // findValidAccountAssetSupplyPair finds an account for which the callback func returns true
func findValidAccountAssetPair(accounts []simulation.Account, assets types.AssetParams, func findValidAccountAssetPair(accounts []simulation.Account, assets types.AssetParams,
cb func(simulation.Account, types.AssetParam) bool) (simulation.Account, types.AssetParam, bool) { cb func(simulation.Account, types.AssetParam) bool,
) (simulation.Account, types.AssetParam, bool) {
for _, asset := range assets { for _, asset := range assets {
for _, acc := range accounts { for _, acc := range accounts {
if isValid := cb(acc, asset); isValid { if isValid := cb(acc, asset); isValid {

View File

@ -113,7 +113,6 @@ func (suite *GenesisTestSuite) TestValidate() {
} else { } else {
suite.Require().Error(err, tc.name) suite.Require().Error(err, tc.name)
} }
}) })
} }
} }

View File

@ -38,7 +38,8 @@ var (
// NewMsgCreateAtomicSwap initializes a new MsgCreateAtomicSwap // NewMsgCreateAtomicSwap initializes a new MsgCreateAtomicSwap
func NewMsgCreateAtomicSwap(from, to string, recipientOtherChain, func NewMsgCreateAtomicSwap(from, to string, recipientOtherChain,
senderOtherChain string, randomNumberHash tmbytes.HexBytes, timestamp int64, senderOtherChain string, randomNumberHash tmbytes.HexBytes, timestamp int64,
amount sdk.Coins, heightSpan uint64) MsgCreateAtomicSwap { amount sdk.Coins, heightSpan uint64,
) MsgCreateAtomicSwap {
return MsgCreateAtomicSwap{ return MsgCreateAtomicSwap{
From: from, From: from,
To: to, To: to,

View File

@ -39,7 +39,6 @@ func (suite *ParamsTestSuite) SetupTest() {
} }
func (suite *ParamsTestSuite) TestParamValidation() { func (suite *ParamsTestSuite) TestParamValidation() {
type args struct { type args struct {
assetParams types.AssetParams assetParams types.AssetParams
} }
@ -83,10 +82,11 @@ func (suite *ParamsTestSuite) TestParamValidation() {
{ {
name: "valid multi asset", name: "valid multi asset",
args: args{ args: args{
assetParams: types.AssetParams{types.NewAssetParam( assetParams: types.AssetParams{
"bnb", 714, suite.supply[0], true, types.NewAssetParam(
suite.addr, sdk.NewInt(1000), sdk.NewInt(100000000), sdk.NewInt(100000000000), "bnb", 714, suite.supply[0], true,
types.DefaultMinBlockLock, types.DefaultMaxBlockLock), suite.addr, sdk.NewInt(1000), sdk.NewInt(100000000), sdk.NewInt(100000000000),
types.DefaultMinBlockLock, types.DefaultMaxBlockLock),
types.NewAssetParam( types.NewAssetParam(
"btcb", 0, suite.supply[1], true, "btcb", 0, suite.supply[1], true,
suite.addr, sdk.NewInt(1000), sdk.NewInt(10000000), sdk.NewInt(100000000000), suite.addr, sdk.NewInt(1000), sdk.NewInt(10000000), sdk.NewInt(100000000000),
@ -213,10 +213,11 @@ func (suite *ParamsTestSuite) TestParamValidation() {
{ {
name: "duplicate denom", name: "duplicate denom",
args: args{ args: args{
assetParams: types.AssetParams{types.NewAssetParam( assetParams: types.AssetParams{
"bnb", 714, suite.supply[0], true, types.NewAssetParam(
suite.addr, sdk.NewInt(1000), sdk.NewInt(100000000), sdk.NewInt(100000000000), "bnb", 714, suite.supply[0], true,
types.DefaultMinBlockLock, types.DefaultMaxBlockLock), suite.addr, sdk.NewInt(1000), sdk.NewInt(100000000), sdk.NewInt(100000000000),
types.DefaultMinBlockLock, types.DefaultMaxBlockLock),
types.NewAssetParam( types.NewAssetParam(
"bnb", 0, suite.supply[0], true, "bnb", 0, suite.supply[0], true,
suite.addr, sdk.NewInt(1000), sdk.NewInt(10000000), sdk.NewInt(100000000000), suite.addr, sdk.NewInt(1000), sdk.NewInt(10000000), sdk.NewInt(100000000000),

View File

@ -70,7 +70,8 @@ type QueryAtomicSwaps struct {
// NewQueryAtomicSwaps creates a new instance of QueryAtomicSwaps // NewQueryAtomicSwaps creates a new instance of QueryAtomicSwaps
func NewQueryAtomicSwaps(page, limit int, involve sdk.AccAddress, expiration uint64, func NewQueryAtomicSwaps(page, limit int, involve sdk.AccAddress, expiration uint64,
status SwapStatus, direction SwapDirection) QueryAtomicSwaps { status SwapStatus, direction SwapDirection,
) QueryAtomicSwaps {
return QueryAtomicSwaps{ return QueryAtomicSwaps{
Page: page, Page: page,
Limit: limit, Limit: limit,

View File

@ -15,7 +15,8 @@ import (
// NewAtomicSwap returns a new AtomicSwap // NewAtomicSwap returns a new AtomicSwap
func NewAtomicSwap(amount sdk.Coins, randomNumberHash tmbytes.HexBytes, expireHeight uint64, timestamp int64, func NewAtomicSwap(amount sdk.Coins, randomNumberHash tmbytes.HexBytes, expireHeight uint64, timestamp int64,
sender, recipient sdk.AccAddress, senderOtherChain, recipientOtherChain string, closedBlock int64, sender, recipient sdk.AccAddress, senderOtherChain, recipientOtherChain string, closedBlock int64,
status SwapStatus, crossChain bool, direction SwapDirection) AtomicSwap { status SwapStatus, crossChain bool, direction SwapDirection,
) AtomicSwap {
return AtomicSwap{ return AtomicSwap{
Amount: amount, Amount: amount,
RandomNumberHash: randomNumberHash, RandomNumberHash: randomNumberHash,

View File

@ -120,6 +120,7 @@ func (suite *ModuleTestSuite) setPrice(price sdk.Dec, market string) {
suite.NoError(err) suite.NoError(err)
suite.Equal(price, pp.Price) suite.Equal(price, pp.Price)
} }
func (suite *ModuleTestSuite) TestBeginBlock() { func (suite *ModuleTestSuite) TestBeginBlock() {
suite.createCdps() suite.createCdps()
ak := suite.app.GetAccountKeeper() ak := suite.app.GetAccountKeeper()
@ -147,7 +148,6 @@ func (suite *ModuleTestSuite) TestBeginBlock() {
acc = ak.GetModuleAccount(suite.ctx, auctiontypes.ModuleName) acc = ak.GetModuleAccount(suite.ctx, auctiontypes.ModuleName)
suite.Equal(int64(71955653865), bk.GetBalance(suite.ctx, acc.GetAddress(), "debt").Amount.Int64()) suite.Equal(int64(71955653865), bk.GetBalance(suite.ctx, acc.GetAddress(), "debt").Amount.Int64())
} }
func (suite *ModuleTestSuite) TestSeizeSingleCdpWithFees() { func (suite *ModuleTestSuite) TestSeizeSingleCdpWithFees() {

View File

@ -11,7 +11,6 @@ import (
// InitGenesis sets initial genesis state for cdp module // InitGenesis sets initial genesis state for cdp module
func InitGenesis(ctx sdk.Context, k keeper.Keeper, pk types.PricefeedKeeper, ak types.AccountKeeper, gs types.GenesisState) { func InitGenesis(ctx sdk.Context, k keeper.Keeper, pk types.PricefeedKeeper, ak types.AccountKeeper, gs types.GenesisState) {
if err := gs.Validate(); err != nil { if err := gs.Validate(); err != nil {
panic(fmt.Sprintf("failed to validate %s genesis state: %s", types.ModuleName, err)) panic(fmt.Sprintf("failed to validate %s genesis state: %s", types.ModuleName, err))
} }
@ -85,7 +84,6 @@ func InitGenesis(ctx sdk.Context, k keeper.Keeper, pk types.PricefeedKeeper, ak
for _, d := range gs.Deposits { for _, d := range gs.Deposits {
k.SetDeposit(ctx, d) k.SetDeposit(ctx, d)
} }
} }
// ExportGenesis export genesis state for cdp module // ExportGenesis export genesis state for cdp module

View File

@ -168,7 +168,6 @@ func (suite *GenesisTestSuite) TestValidGenState() {
} }
func (suite *GenesisTestSuite) Test_InitExportGenesis() { func (suite *GenesisTestSuite) Test_InitExportGenesis() {
cdps := types.CDPs{ cdps := types.CDPs{
{ {
ID: 2, ID: 2,

View File

@ -108,6 +108,7 @@ func NewPricefeedGenStateMulti(cdc codec.JSONCodec) app.GenesisState {
} }
return app.GenesisState{pricefeedtypes.ModuleName: cdc.MustMarshalJSON(&pfGenesis)} return app.GenesisState{pricefeedtypes.ModuleName: cdc.MustMarshalJSON(&pfGenesis)}
} }
func NewCDPGenStateMulti(cdc codec.JSONCodec) app.GenesisState { func NewCDPGenStateMulti(cdc codec.JSONCodec) app.GenesisState {
cdpGenesis := types.GenesisState{ cdpGenesis := types.GenesisState{
Params: types.Params{ Params: types.Params{

View File

@ -27,8 +27,8 @@ func (k Keeper) AuctionCollateral(ctx sdk.Context, deposits types.Deposits, coll
// CreateAuctionsFromDeposit creates auctions from the input deposit // CreateAuctionsFromDeposit creates auctions from the input deposit
func (k Keeper) CreateAuctionsFromDeposit( func (k Keeper) CreateAuctionsFromDeposit(
ctx sdk.Context, collateral sdk.Coin, collateralType string, returnAddr sdk.AccAddress, debt, auctionSize sdk.Int, ctx sdk.Context, collateral sdk.Coin, collateralType string, returnAddr sdk.AccAddress, debt, auctionSize sdk.Int,
principalDenom string) error { principalDenom string,
) error {
// number of auctions of auctionSize // number of auctions of auctionSize
numberOfAuctions := collateral.Amount.Quo(auctionSize) numberOfAuctions := collateral.Amount.Quo(auctionSize)
debtPerAuction := debt.Mul(auctionSize).Quo(collateral.Amount) debtPerAuction := debt.Mul(auctionSize).Quo(collateral.Amount)
@ -73,7 +73,6 @@ func (k Keeper) CreateAuctionsFromDeposit(
sdk.NewCoin(principalDenom, debtAmount.Add(penalty)), []sdk.AccAddress{returnAddr}, sdk.NewCoin(principalDenom, debtAmount.Add(penalty)), []sdk.AccAddress{returnAddr},
[]sdk.Int{auctionSize}, sdk.NewCoin(debtDenom, debtAmount), []sdk.Int{auctionSize}, sdk.NewCoin(debtDenom, debtAmount),
) )
if err != nil { if err != nil {
return err return err
} }

View File

@ -173,7 +173,6 @@ func (k Keeper) BurnDebtCoins(ctx sdk.Context, moduleAccount string, denom strin
// GetCdpID returns the id of the cdp corresponding to a specific owner and collateral denom // GetCdpID returns the id of the cdp corresponding to a specific owner and collateral denom
func (k Keeper) GetCdpID(ctx sdk.Context, owner sdk.AccAddress, collateralType string) (uint64, bool) { func (k Keeper) GetCdpID(ctx sdk.Context, owner sdk.AccAddress, collateralType string) (uint64, bool) {
cdpIDs, found := k.GetCdpIdsByOwner(ctx, owner) cdpIDs, found := k.GetCdpIdsByOwner(ctx, owner)
if !found { if !found {
return 0, false return 0, false
@ -185,7 +184,6 @@ func (k Keeper) GetCdpID(ctx sdk.Context, owner sdk.AccAddress, collateralType s
} }
} }
return 0, false return 0, false
} }
// GetCdpIdsByOwner returns all the ids of cdps corresponding to a particular owner // GetCdpIdsByOwner returns all the ids of cdps corresponding to a particular owner
@ -256,7 +254,6 @@ func (k Keeper) DeleteCDP(ctx sdk.Context, cdp types.CDP) error {
} }
store.Delete(types.CdpKey(cdp.Type, cdp.ID)) store.Delete(types.CdpKey(cdp.Type, cdp.ID))
return nil return nil
} }
// GetAllCdps returns all cdps from the store // GetAllCdps returns all cdps from the store

View File

@ -124,7 +124,6 @@ func (k Keeper) GetDeposit(ctx sdk.Context, cdpID uint64, depositor sdk.AccAddre
} }
k.cdc.MustUnmarshal(bz, &deposit) k.cdc.MustUnmarshal(bz, &deposit)
return deposit, true return deposit, true
} }
// SetDeposit sets the deposit in the store // SetDeposit sets the deposit in the store
@ -133,7 +132,6 @@ func (k Keeper) SetDeposit(ctx sdk.Context, deposit types.Deposit) {
bz := k.cdc.MustMarshal(&deposit) bz := k.cdc.MustMarshal(&deposit)
store.Set(types.DepositKey(deposit.CdpID, deposit.Depositor), bz) store.Set(types.DepositKey(deposit.CdpID, deposit.Depositor), bz)
} }
// DeleteDeposit deletes a deposit from the store // DeleteDeposit deletes a deposit from the store

View File

@ -35,7 +35,8 @@ func (suite *DepositTestSuite) SetupTest() {
cdc, cdc,
[]sdk.Coins{ []sdk.Coins{
cs(c("xrp", 500000000), c("btc", 500000000)), cs(c("xrp", 500000000), c("btc", 500000000)),
cs(c("xrp", 200000000))}, cs(c("xrp", 200000000)),
},
addrs[0:2], addrs[0:2],
) )
tApp.InitializeFromGenesisStates( tApp.InitializeFromGenesisStates(

View File

@ -53,7 +53,6 @@ func (suite *DrawTestSuite) SetupTest() {
} }
func (suite *DrawTestSuite) TestAddRepayPrincipal() { func (suite *DrawTestSuite) TestAddRepayPrincipal() {
err := suite.keeper.AddPrincipal(suite.ctx, suite.addrs[0], "xrp-a", c("usdx", 10000000)) err := suite.keeper.AddPrincipal(suite.ctx, suite.addrs[0], "xrp-a", c("usdx", 10000000))
suite.NoError(err) suite.NoError(err)
@ -125,7 +124,6 @@ func (suite *DrawTestSuite) TestAddRepayPrincipal() {
bk = suite.app.GetBankKeeper() bk = suite.app.GetBankKeeper()
acc = ak.GetModuleAccount(suite.ctx, types.ModuleName) acc = ak.GetModuleAccount(suite.ctx, types.ModuleName)
suite.Equal(sdk.Coins{}, bk.GetAllBalances(suite.ctx, acc.GetAddress())) suite.Equal(sdk.Coins{}, bk.GetAllBalances(suite.ctx, acc.GetAddress()))
} }
func (suite *DrawTestSuite) TestRepayPrincipalOverpay() { func (suite *DrawTestSuite) TestRepayPrincipalOverpay() {

View File

@ -97,8 +97,7 @@ func (s QueryServer) TotalCollateral(c context.Context, req *types.QueryTotalCol
// collect collateral types for each denom // collect collateral types for each denom
for _, collateralParam := range params.CollateralParams { for _, collateralParam := range params.CollateralParams {
denomCollateralTypes[collateralParam.Denom] = denomCollateralTypes[collateralParam.Denom] = append(denomCollateralTypes[collateralParam.Denom], collateralParam.Type)
append(denomCollateralTypes[collateralParam.Denom], collateralParam.Type)
} }
// sort collateral types alphabetically // sort collateral types alphabetically

View File

@ -217,6 +217,7 @@ func (suite *grpcQueryTestSuite) TestGrpcQueryCdp() {
}) })
} }
} }
func (suite *grpcQueryTestSuite) TestGrpcQueryDeposits() { func (suite *grpcQueryTestSuite) TestGrpcQueryDeposits() {
suite.addCdp() suite.addCdp()

View File

@ -9,9 +9,7 @@ import (
"github.com/kava-labs/kava/x/cdp/types" "github.com/kava-labs/kava/x/cdp/types"
) )
var ( var scalingFactor = 1e18
scalingFactor = 1e18
)
// AccumulateInterest calculates the new interest that has accrued for the input collateral type based on the total amount of principal // AccumulateInterest calculates the new interest that has accrued for the input collateral type based on the total amount of principal
// that has been created with that collateral type and the amount of time that has passed since interest was last accumulated // that has been created with that collateral type and the amount of time that has passed since interest was last accumulated

View File

@ -146,7 +146,6 @@ func (suite *InterestTestSuite) TestCalculateInterestFactor() {
} }
func (suite *InterestTestSuite) TestAccumulateInterest() { func (suite *InterestTestSuite) TestAccumulateInterest() {
type args struct { type args struct {
ctype string ctype string
initialTime time.Time initialTime time.Time
@ -385,7 +384,6 @@ func (suite *InterestTestSuite) TestSynchronizeInterest() {
suite.Require().Equal(tc.args.expectedFees, cdp.AccumulatedFees) suite.Require().Equal(tc.args.expectedFees, cdp.AccumulatedFees)
suite.Require().Equal(tc.args.expectedFeesUpdatedTime, cdp.FeesUpdated) suite.Require().Equal(tc.args.expectedFeesUpdatedTime, cdp.FeesUpdated)
}) })
} }
} }
@ -532,7 +530,6 @@ func (suite *InterestTestSuite) TestMultipleCDPInterest() {
} }
suite.Require().Equal(tc.args.expectedSumOfCDPPrincipal, sumOfCDPPrincipal) suite.Require().Equal(tc.args.expectedSumOfCDPPrincipal, sumOfCDPPrincipal)
}) })
} }
} }
@ -640,7 +637,6 @@ func (suite *InterestTestSuite) TestCalculateCDPInterest() {
newInterest := suite.keeper.CalculateNewInterest(suite.ctx, cdp) newInterest := suite.keeper.CalculateNewInterest(suite.ctx, cdp)
suite.Require().Equal(tc.args.expectedFees, newInterest) suite.Require().Equal(tc.args.expectedFees, newInterest)
}) })
} }
} }
@ -665,7 +661,6 @@ func (suite *InterestTestSuite) TestSyncInterestForRiskyCDPs() {
oneYearInSeconds := 31536000 oneYearInSeconds := 31536000
testCases := []test{ testCases := []test{
{ {
"1 year", "1 year",
args{ args{

View File

@ -27,7 +27,8 @@ type Keeper struct {
// NewKeeper creates a new keeper // NewKeeper creates a new keeper
func NewKeeper(cdc codec.Codec, key sdk.StoreKey, paramstore paramtypes.Subspace, pfk types.PricefeedKeeper, func NewKeeper(cdc codec.Codec, key sdk.StoreKey, paramstore paramtypes.Subspace, pfk types.PricefeedKeeper,
ak types.AuctionKeeper, bk types.BankKeeper, ack types.AccountKeeper, maccs map[string][]string) Keeper { ak types.AuctionKeeper, bk types.BankKeeper, ack types.AccountKeeper, maccs map[string][]string,
) Keeper {
if !paramstore.HasKeyTable() { if !paramstore.HasKeyTable() {
paramstore = paramstore.WithKeyTable(types.ParamKeyTable()) paramstore = paramstore.WithKeyTable(types.ParamKeyTable())
} }

View File

@ -117,7 +117,6 @@ func BenchmarkCdpIteration(b *testing.B) {
} }
}) })
} }
} }
var errResult error var errResult error

View File

@ -68,7 +68,6 @@ func queryGetCdp(ctx sdk.Context, req abci.RequestQuery, keeper Keeper, legacyQu
return nil, sdkerrors.Wrap(sdkerrors.ErrJSONMarshal, err.Error()) return nil, sdkerrors.Wrap(sdkerrors.ErrJSONMarshal, err.Error())
} }
return bz, nil return bz, nil
} }
// query deposits on a particular cdp // query deposits on a particular cdp
@ -96,7 +95,6 @@ func queryGetDeposits(ctx sdk.Context, req abci.RequestQuery, keeper Keeper, leg
return nil, sdkerrors.Wrap(sdkerrors.ErrJSONMarshal, err.Error()) return nil, sdkerrors.Wrap(sdkerrors.ErrJSONMarshal, err.Error())
} }
return bz, nil return bz, nil
} }
// query cdps with matching denom and ratio LESS THAN the input ratio // query cdps with matching denom and ratio LESS THAN the input ratio
@ -264,8 +262,7 @@ func queryGetTotalCollateral(ctx sdk.Context, req abci.RequestQuery, keeper Keep
// collect collateral types for each denom // collect collateral types for each denom
for _, collateralParam := range params.CollateralParams { for _, collateralParam := range params.CollateralParams {
denomCollateralTypes[collateralParam.Denom] = denomCollateralTypes[collateralParam.Denom] = append(denomCollateralTypes[collateralParam.Denom], collateralParam.Type)
append(denomCollateralTypes[collateralParam.Denom], collateralParam.Type)
} }
// sort collateral types alphabetically // sort collateral types alphabetically

View File

@ -152,7 +152,6 @@ func (suite *QuerierTestSuite) TestQueryCdp() {
} }
_, err = suite.querier(ctx, []string{types.QueryGetCdp}, query) _, err = suite.querier(ctx, []string{types.QueryGetCdp}, query)
suite.Error(err) suite.Error(err)
} }
func (suite *QuerierTestSuite) TestQueryCdpsByCollateralType() { func (suite *QuerierTestSuite) TestQueryCdpsByCollateralType() {
@ -282,7 +281,6 @@ func (suite *QuerierTestSuite) TestQueryDeposits() {
var d types.Deposits var d types.Deposits
suite.Nil(suite.legacyAmino.UnmarshalJSON(bz, &d)) suite.Nil(suite.legacyAmino.UnmarshalJSON(bz, &d))
suite.Equal(deposits, d) suite.Equal(deposits, d)
} }
func (suite *QuerierTestSuite) TestQueryAccounts() { func (suite *QuerierTestSuite) TestQueryAccounts() {

View File

@ -27,11 +27,11 @@ var (
ErrInvalidDeposit = sdkerrors.Register(ModuleName, 10, "invalid deposit") ErrInvalidDeposit = sdkerrors.Register(ModuleName, 10, "invalid deposit")
// ErrInvalidPayment error for invalid payment // ErrInvalidPayment error for invalid payment
ErrInvalidPayment = sdkerrors.Register(ModuleName, 11, "invalid payment") ErrInvalidPayment = sdkerrors.Register(ModuleName, 11, "invalid payment")
//ErrDepositNotAvailable error for withdrawing deposits in liquidation // ErrDepositNotAvailable error for withdrawing deposits in liquidation
ErrDepositNotAvailable = sdkerrors.Register(ModuleName, 12, "deposit in liquidation") ErrDepositNotAvailable = sdkerrors.Register(ModuleName, 12, "deposit in liquidation")
// ErrInvalidWithdrawAmount error for invalid withdrawal amount // ErrInvalidWithdrawAmount error for invalid withdrawal amount
ErrInvalidWithdrawAmount = sdkerrors.Register(ModuleName, 13, "withdrawal amount exceeds deposit") ErrInvalidWithdrawAmount = sdkerrors.Register(ModuleName, 13, "withdrawal amount exceeds deposit")
//ErrCdpNotAvailable error for depositing to a CDP in liquidation // ErrCdpNotAvailable error for depositing to a CDP in liquidation
ErrCdpNotAvailable = sdkerrors.Register(ModuleName, 14, "cannot modify cdp in liquidation") ErrCdpNotAvailable = sdkerrors.Register(ModuleName, 14, "cannot modify cdp in liquidation")
// ErrBelowDebtFloor error for creating a cdp with debt below the minimum // ErrBelowDebtFloor error for creating a cdp with debt below the minimum
ErrBelowDebtFloor = sdkerrors.Register(ModuleName, 15, "proposed cdp debt is below minimum") ErrBelowDebtFloor = sdkerrors.Register(ModuleName, 15, "proposed cdp debt is below minimum")

View File

@ -11,7 +11,8 @@ import (
// NewGenesisState returns a new genesis state // NewGenesisState returns a new genesis state
func NewGenesisState(params Params, cdps CDPs, deposits Deposits, startingCdpID uint64, func NewGenesisState(params Params, cdps CDPs, deposits Deposits, startingCdpID uint64,
debtDenom, govDenom string, prevAccumTimes GenesisAccumulationTimes, debtDenom, govDenom string, prevAccumTimes GenesisAccumulationTimes,
totalPrincipals GenesisTotalPrincipals) GenesisState { totalPrincipals GenesisTotalPrincipals,
) GenesisState {
return GenesisState{ return GenesisState{
Params: params, Params: params,
CDPs: cdps, CDPs: cdps,
@ -41,7 +42,6 @@ func DefaultGenesisState() GenesisState {
// Validate performs basic validation of genesis data returning an // Validate performs basic validation of genesis data returning an
// error for any failed validation criteria. // error for any failed validation criteria.
func (gs GenesisState) Validate() error { func (gs GenesisState) Validate() error {
if err := gs.Params.Validate(); err != nil { if err := gs.Params.Validate(); err != nil {
return err return err
} }

View File

@ -137,7 +137,6 @@ func CollateralRatioKey(collateralType string, cdpID uint64, ratio sdk.Dec) []by
// SplitCollateralRatioKey split the collateral ratio key and return the denom, cdp id, and collateral:debt ratio // SplitCollateralRatioKey split the collateral ratio key and return the denom, cdp id, and collateral:debt ratio
func SplitCollateralRatioKey(key []byte) (string, uint64, sdk.Dec) { func SplitCollateralRatioKey(key []byte) (string, uint64, sdk.Dec) {
cdpID := GetCdpIDFromBytes(key[len(key)-8:]) cdpID := GetCdpIDFromBytes(key[len(key)-8:])
split := bytes.Split(key[:len(key)-8], sep) split := bytes.Split(key[:len(key)-8], sep)
collateralType := string(split[0]) collateralType := string(split[0])

View File

@ -68,7 +68,8 @@ func DefaultParams() Params {
// NewCollateralParam returns a new CollateralParam // NewCollateralParam returns a new CollateralParam
func NewCollateralParam( func NewCollateralParam(
denom, ctype string, liqRatio sdk.Dec, debtLimit sdk.Coin, stabilityFee sdk.Dec, auctionSize sdk.Int, denom, ctype string, liqRatio sdk.Dec, debtLimit sdk.Coin, stabilityFee sdk.Dec, auctionSize sdk.Int,
liqPenalty sdk.Dec, spotMarketID, liquidationMarketID string, keeperReward sdk.Dec, checkIndexCount sdk.Int, conversionFactor sdk.Int) CollateralParam { liqPenalty sdk.Dec, spotMarketID, liquidationMarketID string, keeperReward sdk.Dec, checkIndexCount sdk.Int, conversionFactor sdk.Int,
) CollateralParam {
return CollateralParam{ return CollateralParam{
Denom: denom, Denom: denom,
Type: ctype, Type: ctype,

View File

@ -31,7 +31,6 @@ type PostProposalReq struct {
func postProposalHandlerFn(cliCtx client.Context) http.HandlerFunc { func postProposalHandlerFn(cliCtx client.Context) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) { return func(w http.ResponseWriter, r *http.Request) {
// Parse and validate url params // Parse and validate url params
vars := mux.Vars(r) vars := mux.Vars(r)
if len(vars[RestCommitteeID]) == 0 { if len(vars[RestCommitteeID]) == 0 {
@ -78,7 +77,6 @@ type PostVoteReq struct {
func postVoteHandlerFn(cliCtx client.Context) http.HandlerFunc { func postVoteHandlerFn(cliCtx client.Context) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) { return func(w http.ResponseWriter, r *http.Request) {
// Parse and validate url params // Parse and validate url params
vars := mux.Vars(r) vars := mux.Vars(r)
if len(vars[RestProposalID]) == 0 { if len(vars[RestProposalID]) == 0 {
@ -148,7 +146,6 @@ func ProposalRESTHandler(cliCtx client.Context) govrest.ProposalRESTHandler {
func postGovProposalHandlerFn(cliCtx client.Context) http.HandlerFunc { func postGovProposalHandlerFn(cliCtx client.Context) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) { return func(w http.ResponseWriter, r *http.Request) {
// Parse and validate http request body // Parse and validate http request body
var req PostGovProposalReq var req PostGovProposalReq
if !rest.ReadRESTReq(w, r, cliCtx.LegacyAmino, &req) { if !rest.ReadRESTReq(w, r, cliCtx.LegacyAmino, &req) {

View File

@ -33,7 +33,6 @@ func (suite *GenesisTestSuite) SetupTest() {
} }
func (suite *GenesisTestSuite) TestInitGenesis() { func (suite *GenesisTestSuite) TestInitGenesis() {
memberCom := types.MustNewMemberCommittee( memberCom := types.MustNewMemberCommittee(
1, 1,
"This member committee is for testing.", "This member committee is for testing.",

View File

@ -260,8 +260,8 @@ func (suite *PermissionTestSuite) TestSubParamChangePermission_Allows() {
) )
}) })
} }
} }
func TestPermissionTestSuite(t *testing.T) { func TestPermissionTestSuite(t *testing.T) {
suite.Run(t, new(PermissionTestSuite)) suite.Run(t, new(PermissionTestSuite))
} }

View File

@ -16,7 +16,6 @@ import (
// getProposalVoteMap collects up votes into a map indexed by proposalID // getProposalVoteMap collects up votes into a map indexed by proposalID
func getProposalVoteMap(k keeper.Keeper, ctx sdk.Context) map[uint64]([]types.Vote) { func getProposalVoteMap(k keeper.Keeper, ctx sdk.Context) map[uint64]([]types.Vote) {
proposalVoteMap := map[uint64]([]types.Vote){} proposalVoteMap := map[uint64]([]types.Vote){}
k.IterateProposals(ctx, func(p types.Proposal) bool { k.IterateProposals(ctx, func(p types.Proposal) bool {

View File

@ -25,7 +25,8 @@ type Keeper struct {
} }
func NewKeeper(cdc codec.Codec, storeKey sdk.StoreKey, router govtypes.Router, func NewKeeper(cdc codec.Codec, storeKey sdk.StoreKey, router govtypes.Router,
paramKeeper types.ParamKeeper, ak types.AccountKeeper, sk types.BankKeeper) Keeper { paramKeeper types.ParamKeeper, ak types.AccountKeeper, sk types.BankKeeper,
) Keeper {
// Logic in the keeper methods assume the set of gov handlers is fixed. // Logic in the keeper methods assume the set of gov handlers is fixed.
// So the gov router must be sealed so no handlers can be added or removed after the keeper is created. // So the gov router must be sealed so no handlers can be added or removed after the keeper is created.
router.Seal() router.Seal()

View File

@ -66,7 +66,7 @@ func (suite *MsgServerTestSuite) SetupTest() {
suite.app.InitializeFromGenesisStates( suite.app.InitializeFromGenesisStates(
app.GenesisState{types.ModuleName: cdc.MustMarshalJSON(testGenesis)}, app.GenesisState{types.ModuleName: cdc.MustMarshalJSON(testGenesis)},
// TODO: not used? // TODO: not used?
//NewDistributionGenesisWithPool(suite.communityPoolAmt), // NewDistributionGenesisWithPool(suite.communityPoolAmt),
) )
suite.ctx = suite.app.NewContext(true, tmproto.Header{Height: 1, Time: firstBlockTime}) suite.ctx = suite.app.NewContext(true, tmproto.Header{Height: 1, Time: firstBlockTime})
} }
@ -118,7 +118,6 @@ func (suite *MsgServerTestSuite) TestSubmitProposalMsg_Invalid() {
suite.keeper.GetProposalsByCommittee(suite.ctx, committeeID), suite.keeper.GetProposalsByCommittee(suite.ctx, committeeID),
"proposal found when none should exist", "proposal found when none should exist",
) )
} }
func (suite *MsgServerTestSuite) TestSubmitProposalMsg_ValidUpgrade() { func (suite *MsgServerTestSuite) TestSubmitProposalMsg_ValidUpgrade() {

View File

@ -57,7 +57,6 @@ func (k Keeper) AddVote(ctx sdk.Context, proposalID uint64, voter sdk.AccAddress
} }
if pr.HasExpiredBy(ctx.BlockTime()) { if pr.HasExpiredBy(ctx.BlockTime()) {
return sdkerrors.Wrapf(types.ErrProposalExpired, "%s ≥ %s", ctx.BlockTime(), pr.Deadline) return sdkerrors.Wrapf(types.ErrProposalExpired, "%s ≥ %s", ctx.BlockTime(), pr.Deadline)
} }
com, found := k.GetCommittee(ctx, pr.CommitteeID) com, found := k.GetCommittee(ctx, pr.CommitteeID)
if !found { if !found {
@ -189,7 +188,8 @@ func (k Keeper) GetTokenCommitteeProposalResult(ctx sdk.Context, proposalID uint
// total current votes, total possible votes (equal to token supply), vote threshold (yes vote ratio // total current votes, total possible votes (equal to token supply), vote threshold (yes vote ratio
// required for proposal to pass), and quorum (votes tallied at this percentage). // required for proposal to pass), and quorum (votes tallied at this percentage).
func (k Keeper) TallyTokenCommitteeVotes(ctx sdk.Context, proposalID uint64, func (k Keeper) TallyTokenCommitteeVotes(ctx sdk.Context, proposalID uint64,
tallyDenom string) (yesVotes, noVotes, totalVotes, possibleVotes sdk.Dec) { tallyDenom string,
) (yesVotes, noVotes, totalVotes, possibleVotes sdk.Dec) {
votes := k.GetVotesByProposal(ctx, proposalID) votes := k.GetVotesByProposal(ctx, proposalID)
yesVotes = sdk.ZeroDec() yesVotes = sdk.ZeroDec()

View File

@ -43,7 +43,6 @@ func NewQuerier(k Keeper, legacyQuerierCdc *codec.LegacyAmino) sdk.Querier {
// ------------------------------------------ // ------------------------------------------
func queryCommittees(ctx sdk.Context, req abci.RequestQuery, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) { func queryCommittees(ctx sdk.Context, req abci.RequestQuery, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) {
committees := keeper.GetCommittees(ctx) committees := keeper.GetCommittees(ctx)
bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, committees) bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, committees)
@ -128,7 +127,6 @@ func queryNextProposalID(ctx sdk.Context, req abci.RequestQuery, k Keeper, legac
func queryVotes(ctx sdk.Context, req abci.RequestQuery, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) { func queryVotes(ctx sdk.Context, req abci.RequestQuery, keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) {
var params types.QueryProposalParams var params types.QueryProposalParams
err := legacyQuerierCdc.UnmarshalJSON(req.Data, &params) err := legacyQuerierCdc.UnmarshalJSON(req.Data, &params)
if err != nil { if err != nil {
return nil, sdkerrors.Wrap(sdkerrors.ErrJSONUnmarshal, err.Error()) return nil, sdkerrors.Wrap(sdkerrors.ErrJSONUnmarshal, err.Error())
} }

View File

@ -192,7 +192,6 @@ func (suite *QuerierTestSuite) TestQueryVote() {
} }
func (suite *QuerierTestSuite) TestQueryTally() { func (suite *QuerierTestSuite) TestQueryTally() {
ctx := suite.ctx.WithIsCheckTx(false) ctx := suite.ctx.WithIsCheckTx(false)
// Expected result // Expected result
@ -236,6 +235,7 @@ func (p *TestParams) ParamSetPairs() paramstypes.ParamSetPairs {
paramstypes.NewParamSetPair([]byte(paramKey), &p.TestKey, func(interface{}) error { return nil }), paramstypes.NewParamSetPair([]byte(paramKey), &p.TestKey, func(interface{}) error { return nil }),
} }
} }
func (suite *QuerierTestSuite) TestQueryRawParams() { func (suite *QuerierTestSuite) TestQueryRawParams() {
ctx := suite.ctx.WithIsCheckTx(false) ctx := suite.ctx.WithIsCheckTx(false)

View File

@ -239,7 +239,8 @@ type MemberCommittee struct {
// NewMemberCommittee instantiates a new instance of MemberCommittee // NewMemberCommittee instantiates a new instance of MemberCommittee
func NewMemberCommittee(id uint64, description string, members []sdk.AccAddress, permissions []Permission, func NewMemberCommittee(id uint64, description string, members []sdk.AccAddress, permissions []Permission,
threshold sdk.Dec, duration time.Duration, tallyOption TallyOption) MemberCommittee { threshold sdk.Dec, duration time.Duration, tallyOption TallyOption,
) MemberCommittee {
return MemberCommittee{ return MemberCommittee{
BaseCommittee: BaseCommittee{ BaseCommittee: BaseCommittee{
ID: id, ID: id,
@ -276,7 +277,8 @@ type TokenCommittee struct {
// NewTokenCommittee instantiates a new instance of TokenCommittee // NewTokenCommittee instantiates a new instance of TokenCommittee
func NewTokenCommittee(id uint64, description string, members []sdk.AccAddress, permissions []Permission, func NewTokenCommittee(id uint64, description string, members []sdk.AccAddress, permissions []Permission,
threshold sdk.Dec, duration time.Duration, tallyOption TallyOption, quorum sdk.Dec, tallyDenom string) TokenCommittee { threshold sdk.Dec, duration time.Duration, tallyOption TallyOption, quorum sdk.Dec, tallyDenom string,
) TokenCommittee {
return TokenCommittee{ return TokenCommittee{
BaseCommittee: BaseCommittee{ BaseCommittee: BaseCommittee{
ID: id, ID: id,

View File

@ -112,7 +112,8 @@ type AllowedCollateralParam struct {
func NewAllowedCollateralParam( func NewAllowedCollateralParam(
ctype string, denom, liqRatio, debtLimit, ctype string, denom, liqRatio, debtLimit,
stabilityFee, auctionSize, liquidationPenalty, stabilityFee, auctionSize, liquidationPenalty,
prefix, spotMarket, liquidationMarket, conversionFactor, keeperReward, ltvIndexCount bool) AllowedCollateralParam { prefix, spotMarket, liquidationMarket, conversionFactor, keeperReward, ltvIndexCount bool,
) AllowedCollateralParam {
return AllowedCollateralParam{ return AllowedCollateralParam{
Type: ctype, Type: ctype,
Denom: denom, Denom: denom,

View File

@ -105,7 +105,7 @@ func (s *migrateTestSuite) TestMigrate_PricefeedPermissions() {
genstate := Migrate(s.v15genstate, s.v15pricefeedgenstate) genstate := Migrate(s.v15genstate, s.v15pricefeedgenstate)
var uniqueMarkets = make(map[string]bool) uniqueMarkets := make(map[string]bool)
for _, permission := range genstate.GetCommittees()[0].GetPermissions() { for _, permission := range genstate.GetCommittees()[0].GetPermissions() {
paramChangePermission, ok := permission.(v016committee.ParamsChangePermission) paramChangePermission, ok := permission.(v016committee.ParamsChangePermission)

View File

@ -16,9 +16,7 @@ import (
"github.com/kava-labs/kava/x/committee/types" "github.com/kava-labs/kava/x/committee/types"
) )
var ( var proposalPassPercentage = 0.9
proposalPassPercentage = 0.9
)
type AccountKeeper interface { type AccountKeeper interface {
GetAccount(sdk.Context, sdk.AccAddress) authexported.Account GetAccount(sdk.Context, sdk.AccAddress) authexported.Account
@ -27,8 +25,8 @@ type AccountKeeper interface {
// WeightedOperations creates an operation (with weight) for each type of proposal generator. // WeightedOperations creates an operation (with weight) for each type of proposal generator.
// Custom proposal generators can be added for more control over types of proposal submitted, eg to increase likelyhood of particular cdp param changes. // Custom proposal generators can be added for more control over types of proposal submitted, eg to increase likelyhood of particular cdp param changes.
func WeightedOperations(appParams simulation.AppParams, cdc *codec.Codec, ak AccountKeeper, func WeightedOperations(appParams simulation.AppParams, cdc *codec.Codec, ak AccountKeeper,
k keeper.Keeper, wContents []simulation.WeightedProposalContent) simulation.WeightedOperations { k keeper.Keeper, wContents []simulation.WeightedProposalContent,
) simulation.WeightedOperations {
var wops simulation.WeightedOperations var wops simulation.WeightedOperations
for _, wContent := range wContents { for _, wContent := range wContents {
@ -59,7 +57,6 @@ func WeightedOperations(appParams simulation.AppParams, cdc *codec.Codec, ak Acc
// For each submit proposal msg, future ops for the vote messages are generated. Sometimes it doesn't run enough votes to allow the proposal to timeout - the likelihood of this happening is controlled by a parameter. // For each submit proposal msg, future ops for the vote messages are generated. Sometimes it doesn't run enough votes to allow the proposal to timeout - the likelihood of this happening is controlled by a parameter.
func SimulateMsgSubmitProposal(cdc *codec.Codec, ak AccountKeeper, k keeper.Keeper, contentSim simulation.ContentSimulatorFn) simulation.Operation { func SimulateMsgSubmitProposal(cdc *codec.Codec, ak AccountKeeper, k keeper.Keeper, contentSim simulation.ContentSimulatorFn) simulation.Operation {
return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simulation.Account, chainID string) (simulation.OperationMsg, []simulation.FutureOperation, error) { return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simulation.Account, chainID string) (simulation.OperationMsg, []simulation.FutureOperation, error) {
// 1) Send a submit proposal msg // 1) Send a submit proposal msg
committees := k.GetCommittees(ctx) committees := k.GetCommittees(ctx)
@ -176,8 +173,8 @@ func SimulateMsgSubmitProposal(cdc *codec.Codec, ak AccountKeeper, k keeper.Keep
func SimulateMsgVote(k keeper.Keeper, ak AccountKeeper, voter sdk.AccAddress, proposalID uint64, voteType types.VoteType) simulation.Operation { func SimulateMsgVote(k keeper.Keeper, ak AccountKeeper, voter sdk.AccAddress, proposalID uint64, voteType types.VoteType) simulation.Operation {
return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simulation.Account, chainID string) ( return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simulation.Account, chainID string) (
opMsg simulation.OperationMsg, fOps []simulation.FutureOperation, err error) { opMsg simulation.OperationMsg, fOps []simulation.FutureOperation, err error,
) {
msg := types.NewMsgVote(voter, proposalID, voteType) msg := types.NewMsgVote(voter, proposalID, voteType)
account := ak.GetAccount(ctx, voter) account := ak.GetAccount(ctx, voter)

View File

@ -242,7 +242,8 @@ func (c BaseCommittee) Validate() error {
// NewMemberCommittee instantiates a new instance of MemberCommittee // NewMemberCommittee instantiates a new instance of MemberCommittee
func NewMemberCommittee(id uint64, description string, members []sdk.AccAddress, permissions []Permission, func NewMemberCommittee(id uint64, description string, members []sdk.AccAddress, permissions []Permission,
threshold sdk.Dec, duration time.Duration, tallyOption TallyOption) (*MemberCommittee, error) { threshold sdk.Dec, duration time.Duration, tallyOption TallyOption,
) (*MemberCommittee, error) {
permissionsAny, err := PackPermissions(permissions) permissionsAny, err := PackPermissions(permissions)
if err != nil { if err != nil {
return nil, err return nil, err
@ -262,7 +263,8 @@ func NewMemberCommittee(id uint64, description string, members []sdk.AccAddress,
// MustNewMemberCommittee instantiates a new instance of MemberCommittee and panics on error // MustNewMemberCommittee instantiates a new instance of MemberCommittee and panics on error
func MustNewMemberCommittee(id uint64, description string, members []sdk.AccAddress, permissions []Permission, func MustNewMemberCommittee(id uint64, description string, members []sdk.AccAddress, permissions []Permission,
threshold sdk.Dec, duration time.Duration, tallyOption TallyOption) *MemberCommittee { threshold sdk.Dec, duration time.Duration, tallyOption TallyOption,
) *MemberCommittee {
committee, err := NewMemberCommittee(id, description, members, permissions, threshold, duration, tallyOption) committee, err := NewMemberCommittee(id, description, members, permissions, threshold, duration, tallyOption)
if err != nil { if err != nil {
panic(err) panic(err)
@ -275,7 +277,8 @@ func (c MemberCommittee) GetType() string { return MemberCommitteeType }
// NewTokenCommittee instantiates a new instance of TokenCommittee // NewTokenCommittee instantiates a new instance of TokenCommittee
func NewTokenCommittee(id uint64, description string, members []sdk.AccAddress, permissions []Permission, func NewTokenCommittee(id uint64, description string, members []sdk.AccAddress, permissions []Permission,
threshold sdk.Dec, duration time.Duration, tallyOption TallyOption, quorum sdk.Dec, tallyDenom string) (*TokenCommittee, error) { threshold sdk.Dec, duration time.Duration, tallyOption TallyOption, quorum sdk.Dec, tallyDenom string,
) (*TokenCommittee, error) {
permissionsAny, err := PackPermissions(permissions) permissionsAny, err := PackPermissions(permissions)
if err != nil { if err != nil {
return nil, err return nil, err
@ -297,7 +300,8 @@ func NewTokenCommittee(id uint64, description string, members []sdk.AccAddress,
// MustNewTokenCommittee instantiates a new instance of TokenCommittee and panics on error // MustNewTokenCommittee instantiates a new instance of TokenCommittee and panics on error
func MustNewTokenCommittee(id uint64, description string, members []sdk.AccAddress, permissions []Permission, func MustNewTokenCommittee(id uint64, description string, members []sdk.AccAddress, permissions []Permission,
threshold sdk.Dec, duration time.Duration, tallyOption TallyOption, quorum sdk.Dec, tallyDenom string) *TokenCommittee { threshold sdk.Dec, duration time.Duration, tallyOption TallyOption, quorum sdk.Dec, tallyDenom string,
) *TokenCommittee {
committee, err := NewTokenCommittee(id, description, members, permissions, threshold, duration, tallyOption, quorum, tallyDenom) committee, err := NewTokenCommittee(id, description, members, permissions, threshold, duration, tallyOption, quorum, tallyDenom)
if err != nil { if err != nil {
panic(err) panic(err)

View File

@ -57,8 +57,9 @@ func TestGenesisState_Validate(t *testing.T) {
"hard", "hard",
), ),
}, },
types.Proposals{types.MustNewProposal( types.Proposals{
govtypes.NewTextProposal("A Title", "A description of this proposal."), 1, 1, testTime.Add(7*24*time.Hour)), types.MustNewProposal(
govtypes.NewTextProposal("A Title", "A description of this proposal."), 1, 1, testTime.Add(7*24*time.Hour)),
}, },
[]types.Vote{ []types.Vote{
{ProposalID: 1, Voter: addresses[0], VoteType: types.VOTE_TYPE_YES}, {ProposalID: 1, Voter: addresses[0], VoteType: types.VOTE_TYPE_YES},

View File

@ -45,7 +45,6 @@ func TestMsgSubmitProposal_ValidateBasic(t *testing.T) {
for _, tc := range tests { for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) { t.Run(tc.name, func(t *testing.T) {
err := tc.msg.ValidateBasic() err := tc.msg.ValidateBasic()
if tc.expectPass { if tc.expectPass {
@ -98,7 +97,6 @@ func TestMsgVote_ValidateBasic(t *testing.T) {
for _, tc := range tests { for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) { t.Run(tc.name, func(t *testing.T) {
err := tc.msg.ValidateBasic() err := tc.msg.ValidateBasic()
if tc.expectPass { if tc.expectPass {

View File

@ -794,16 +794,18 @@ func (s *ParamsChangeTestSuite) TestParamsChangePermission_NoSubparamRequirement
{ {
name: "fail if one change is not allowed", name: "fail if one change is not allowed",
expected: false, expected: false,
changes: []paramsproposal.ParamChange{{ changes: []paramsproposal.ParamChange{
Subspace: cdptypes.ModuleName, {
Key: string(cdptypes.KeySurplusThreshold), Subspace: cdptypes.ModuleName,
Value: sdk.NewInt(120).String(), Key: string(cdptypes.KeySurplusThreshold),
}, Value: sdk.NewInt(120).String(),
},
{ {
Subspace: cdptypes.ModuleName, Subspace: cdptypes.ModuleName,
Key: string(cdptypes.KeySurplusLot), Key: string(cdptypes.KeySurplusLot),
Value: sdk.NewInt(120).String(), Value: sdk.NewInt(120).String(),
}}, },
},
}, },
} }
@ -834,7 +836,6 @@ func TestParamsChangeTestSuite(t *testing.T) {
} }
func TestAllowedParamsChanges_Get(t *testing.T) { func TestAllowedParamsChanges_Get(t *testing.T) {
exampleAPCs := types.AllowedParamsChanges{ exampleAPCs := types.AllowedParamsChanges{
{ {
Subspace: "subspaceA", Subspace: "subspaceA",
@ -907,7 +908,6 @@ func TestAllowedParamsChanges_Get(t *testing.T) {
} }
func TestAllowedParamsChanges_Set(t *testing.T) { func TestAllowedParamsChanges_Set(t *testing.T) {
exampleAPCs := types.AllowedParamsChanges{ exampleAPCs := types.AllowedParamsChanges{
{ {
Subspace: "subspaceA", Subspace: "subspaceA",
@ -1029,7 +1029,6 @@ func TestAllowedParamsChanges_Set(t *testing.T) {
} }
func TestAllowedParamsChanges_Delete(t *testing.T) { func TestAllowedParamsChanges_Delete(t *testing.T) {
exampleAPCs := types.AllowedParamsChanges{ exampleAPCs := types.AllowedParamsChanges{
{ {
Subspace: "subspaceA", Subspace: "subspaceA",

View File

@ -150,7 +150,7 @@ func (suite *evmBankKeeperTestSuite) TestSendCoinsFromModuleToAccount() {
sdk.NewCoins(sdk.NewInt64Coin("akava", 98_000_000_000_000)), sdk.NewCoins(sdk.NewInt64Coin("akava", 98_000_000_000_000)),
sdk.Coins{}, sdk.Coins{},
sdk.NewCoins( sdk.NewCoins(
sdk.NewInt64Coin("akava", 00), sdk.NewInt64Coin("akava", 0o0),
sdk.NewInt64Coin("ukava", 98), sdk.NewInt64Coin("ukava", 98),
), ),
false, false,

View File

@ -33,7 +33,6 @@ func FullyBackedInvariant(bankK types.BankKeeper, k Keeper) sdk.Invariant {
message := sdk.FormatInvariant(types.ModuleName, "fully backed broken", "sum of minor balances greater than module account") message := sdk.FormatInvariant(types.ModuleName, "fully backed broken", "sum of minor balances greater than module account")
return func(ctx sdk.Context) (string, bool) { return func(ctx sdk.Context) (string, bool) {
totalMinorBalances := sdk.ZeroInt() totalMinorBalances := sdk.ZeroInt()
k.IterateAllAccounts(ctx, func(acc types.Account) bool { k.IterateAllAccounts(ctx, func(acc types.Account) bool {
totalMinorBalances = totalMinorBalances.Add(acc.Balance) totalMinorBalances = totalMinorBalances.Add(acc.Balance)
@ -55,7 +54,6 @@ func SmallBalancesInvariant(_ types.BankKeeper, k Keeper) sdk.Invariant {
message := sdk.FormatInvariant(types.ModuleName, "small balances broken", "minor balances not all less than overflow") message := sdk.FormatInvariant(types.ModuleName, "small balances broken", "minor balances not all less than overflow")
return func(ctx sdk.Context) (string, bool) { return func(ctx sdk.Context) (string, bool) {
k.IterateAllAccounts(ctx, func(account types.Account) bool { k.IterateAllAccounts(ctx, func(account types.Account) bool {
if account.Balance.GTE(ConversionMultiplier) { if account.Balance.GTE(ConversionMultiplier) {
broken = true broken = true

View File

@ -78,7 +78,6 @@ func (suite *invariantTestSuite) runInvariant(route string, invariant func(bankK
} }
func (suite *invariantTestSuite) TestFullyBackedInvariant() { func (suite *invariantTestSuite) TestFullyBackedInvariant() {
// default state is valid // default state is valid
_, broken := suite.runInvariant("fully-backed", keeper.FullyBackedInvariant) _, broken := suite.runInvariant("fully-backed", keeper.FullyBackedInvariant)
suite.Equal(false, broken) suite.Equal(false, broken)

View File

@ -12,9 +12,7 @@ const (
StoreKey = "utilevm" // cannot be emvutil due to collision with x/evm StoreKey = "utilevm" // cannot be emvutil due to collision with x/evm
) )
var ( var AccountStoreKeyPrefix = []byte{0x00} // prefix for keys that store accounts
AccountStoreKeyPrefix = []byte{0x00} // prefix for keys that store accounts
)
// AccountStoreKey turns an address to a key used to get the account from the store // AccountStoreKey turns an address to a key used to get the account from the store
func AccountStoreKey(addr sdk.AccAddress) []byte { func AccountStoreKey(addr sdk.AccAddress) []byte {

View File

@ -39,7 +39,6 @@ func (suite *GenesisTestSuite) SetupTest() {
} }
func (suite *GenesisTestSuite) Test_InitExportGenesis() { func (suite *GenesisTestSuite) Test_InitExportGenesis() {
loanToValue, _ := sdk.NewDecFromStr("0.6") loanToValue, _ := sdk.NewDecFromStr("0.6")
params := types.NewParams( params := types.NewParams(
types.MoneyMarkets{ types.MoneyMarkets{

View File

@ -427,7 +427,6 @@ func (suite *KeeperTestSuite) TestBorrow() {
} }
func (suite *KeeperTestSuite) TestValidateBorrow() { func (suite *KeeperTestSuite) TestValidateBorrow() {
blockDuration := time.Second * 3600 * 24 // long blocks to accumulate larger interest blockDuration := time.Second * 3600 * 24 // long blocks to accumulate larger interest
_, addrs := app.GeneratePrivKeyAddressPairs(5) _, addrs := app.GeneratePrivKeyAddressPairs(5)

View File

@ -55,7 +55,6 @@ func (suite *grpcQueryTestSuite) SetupTest() {
addrs, addrs,
), ),
) )
} }
func (suite *grpcQueryTestSuite) TestGrpcQueryParams() { func (suite *grpcQueryTestSuite) TestGrpcQueryParams() {

View File

@ -60,7 +60,6 @@ func (k Keeper) ApplyInterestRateUpdates(ctx sdk.Context) {
// AccrueInterest applies accrued interest to total borrows and reserves by calculating // AccrueInterest applies accrued interest to total borrows and reserves by calculating
// interest from the last checkpoint time and writing the updated values to the store. // interest from the last checkpoint time and writing the updated values to the store.
func (k Keeper) AccrueInterest(ctx sdk.Context, denom string) error { func (k Keeper) AccrueInterest(ctx sdk.Context, denom string) error {
previousAccrualTime, found := k.GetPreviousAccrualTime(ctx, denom) previousAccrualTime, found := k.GetPreviousAccrualTime(ctx, denom)
if !found { if !found {
k.SetPreviousAccrualTime(ctx, denom, ctx.BlockTime()) k.SetPreviousAccrualTime(ctx, denom, ctx.BlockTime())

View File

@ -26,7 +26,8 @@ type Keeper struct {
// NewKeeper creates a new keeper // NewKeeper creates a new keeper
func NewKeeper(cdc codec.Codec, key sdk.StoreKey, paramstore paramtypes.Subspace, func NewKeeper(cdc codec.Codec, key sdk.StoreKey, paramstore paramtypes.Subspace,
ak types.AccountKeeper, bk types.BankKeeper, ak types.AccountKeeper, bk types.BankKeeper,
pfk types.PricefeedKeeper, auk types.AuctionKeeper) Keeper { pfk types.PricefeedKeeper, auk types.AuctionKeeper,
) Keeper {
if !paramstore.HasKeyTable() { if !paramstore.HasKeyTable() {
paramstore = paramstore.WithKeyTable(types.ParamKeyTable()) paramstore = paramstore.WithKeyTable(types.ParamKeyTable())
} }

View File

@ -62,7 +62,6 @@ func (suite *KeeperTestSuite) TestGetSetDeleteDeposit() {
_, f = suite.keeper.GetDeposit(suite.ctx, sdk.AccAddress("test")) _, f = suite.keeper.GetDeposit(suite.ctx, sdk.AccAddress("test"))
suite.Require().False(f) suite.Require().False(f)
} }
func (suite *KeeperTestSuite) TestIterateDeposits() { func (suite *KeeperTestSuite) TestIterateDeposits() {

View File

@ -73,7 +73,8 @@ func (k Keeper) AttemptKeeperLiquidation(ctx sdk.Context, keeper sdk.AccAddress,
// SeizeDeposits seizes a list of deposits and sends them to auction // SeizeDeposits seizes a list of deposits and sends them to auction
func (k Keeper) SeizeDeposits(ctx sdk.Context, keeper sdk.AccAddress, deposit types.Deposit, func (k Keeper) SeizeDeposits(ctx sdk.Context, keeper sdk.AccAddress, deposit types.Deposit,
borrow types.Borrow, dDenoms, bDenoms []string) error { borrow types.Borrow, dDenoms, bDenoms []string,
) error {
liqMap, err := k.LoadLiquidationData(ctx, deposit, borrow) liqMap, err := k.LoadLiquidationData(ctx, deposit, borrow)
if err != nil { if err != nil {
return err return err
@ -146,7 +147,8 @@ func (k Keeper) SeizeDeposits(ctx sdk.Context, keeper sdk.AccAddress, deposit ty
// StartAuctions attempts to start auctions for seized assets // StartAuctions attempts to start auctions for seized assets
func (k Keeper) StartAuctions(ctx sdk.Context, borrower sdk.AccAddress, borrows, deposits sdk.Coins, func (k Keeper) StartAuctions(ctx sdk.Context, borrower sdk.AccAddress, borrows, deposits sdk.Coins,
depositCoinValues, borrowCoinValues types.ValuationMap, ltv sdk.Dec, liqMap map[string]LiqData) (sdk.Coins, error) { depositCoinValues, borrowCoinValues types.ValuationMap, ltv sdk.Dec, liqMap map[string]LiqData,
) (sdk.Coins, error) {
// Sort keys to ensure deterministic behavior // Sort keys to ensure deterministic behavior
bKeys := borrowCoinValues.GetSortedKeys() bKeys := borrowCoinValues.GetSortedKeys()
dKeys := depositCoinValues.GetSortedKeys() dKeys := depositCoinValues.GetSortedKeys()
@ -387,7 +389,6 @@ func (k Keeper) LoadLiquidationData(ctx sdk.Context, deposit types.Deposit, borr
mm, found := k.GetMoneyMarket(ctx, denom) mm, found := k.GetMoneyMarket(ctx, denom)
if !found { if !found {
return liqMap, sdkerrors.Wrapf(types.ErrMarketNotFound, "no market found for denom %s", denom) return liqMap, sdkerrors.Wrapf(types.ErrMarketNotFound, "no market found for denom %s", denom)
} }
priceData, err := k.pricefeedKeeper.GetCurrentPrice(ctx, mm.SpotMarketID) priceData, err := k.pricefeedKeeper.GetCurrentPrice(ctx, mm.SpotMarketID)

View File

@ -82,7 +82,6 @@ func queryGetModAccounts(ctx sdk.Context, req abci.RequestQuery, k Keeper, legac
} }
bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, response) bz, err := codec.MarshalJSONIndent(legacyQuerierCdc, response)
if err != nil { if err != nil {
return nil, sdkerrors.Wrap(sdkerrors.ErrJSONMarshal, err.Error()) return nil, sdkerrors.Wrap(sdkerrors.ErrJSONMarshal, err.Error())
} }
@ -91,7 +90,6 @@ func queryGetModAccounts(ctx sdk.Context, req abci.RequestQuery, k Keeper, legac
} }
func queryGetDeposits(ctx sdk.Context, req abci.RequestQuery, k Keeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) { func queryGetDeposits(ctx sdk.Context, req abci.RequestQuery, k Keeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) {
var params types.QueryDepositsParams var params types.QueryDepositsParams
err := legacyQuerierCdc.UnmarshalJSON(req.Data, &params) err := legacyQuerierCdc.UnmarshalJSON(req.Data, &params)
if err != nil { if err != nil {
@ -163,7 +161,6 @@ func queryGetDeposits(ctx sdk.Context, req abci.RequestQuery, k Keeper, legacyQu
} }
func queryGetUnsyncedDeposits(ctx sdk.Context, req abci.RequestQuery, k Keeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) { func queryGetUnsyncedDeposits(ctx sdk.Context, req abci.RequestQuery, k Keeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) {
var params types.QueryUnsyncedDepositsParams var params types.QueryUnsyncedDepositsParams
err := legacyQuerierCdc.UnmarshalJSON(req.Data, &params) err := legacyQuerierCdc.UnmarshalJSON(req.Data, &params)
if err != nil { if err != nil {
@ -219,7 +216,6 @@ func queryGetUnsyncedDeposits(ctx sdk.Context, req abci.RequestQuery, k Keeper,
} }
func queryGetBorrows(ctx sdk.Context, req abci.RequestQuery, k Keeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) { func queryGetBorrows(ctx sdk.Context, req abci.RequestQuery, k Keeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) {
var params types.QueryBorrowsParams var params types.QueryBorrowsParams
err := legacyQuerierCdc.UnmarshalJSON(req.Data, &params) err := legacyQuerierCdc.UnmarshalJSON(req.Data, &params)
if err != nil { if err != nil {
@ -291,7 +287,6 @@ func queryGetBorrows(ctx sdk.Context, req abci.RequestQuery, k Keeper, legacyQue
} }
func queryGetUnsyncedBorrows(ctx sdk.Context, req abci.RequestQuery, k Keeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) { func queryGetUnsyncedBorrows(ctx sdk.Context, req abci.RequestQuery, k Keeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) {
var params types.QueryUnsyncedBorrowsParams var params types.QueryUnsyncedBorrowsParams
err := legacyQuerierCdc.UnmarshalJSON(req.Data, &params) err := legacyQuerierCdc.UnmarshalJSON(req.Data, &params)
if err != nil { if err != nil {

View File

@ -207,7 +207,6 @@ func (suite *KeeperTestSuite) TestWithdraw() {
suite.Require().True(strings.Contains(err.Error(), tc.errArgs.contains)) suite.Require().True(strings.Contains(err.Error(), tc.errArgs.contains))
} }
}) })
} }
} }

View File

@ -122,7 +122,6 @@ func (bif BorrowInterestFactor) Validate() error {
} }
if bif.Value.IsNegative() { if bif.Value.IsNegative() {
return fmt.Errorf("borrow interest factor value cannot be negative: %s", bif) return fmt.Errorf("borrow interest factor value cannot be negative: %s", bif)
} }
return nil return nil
} }

View File

@ -113,5 +113,4 @@ func TestBorrow_NormalizedBorrow(t *testing.T) {
} }
}) })
} }
} }

View File

@ -122,7 +122,6 @@ func (sif SupplyInterestFactor) Validate() error {
} }
if sif.Value.IsNegative() { if sif.Value.IsNegative() {
return fmt.Errorf("supply interest factor value cannot be negative: %s", sif) return fmt.Errorf("supply interest factor value cannot be negative: %s", sif)
} }
return nil return nil
} }

View File

@ -113,5 +113,4 @@ func TestDeposit_NormalizedDeposit(t *testing.T) {
} }
}) })
} }
} }

View File

@ -10,7 +10,8 @@ import (
// NewGenesisState returns a new genesis state // NewGenesisState returns a new genesis state
func NewGenesisState( func NewGenesisState(
params Params, prevAccumulationTimes GenesisAccumulationTimes, deposits Deposits, params Params, prevAccumulationTimes GenesisAccumulationTimes, deposits Deposits,
borrows Borrows, totalSupplied, totalBorrowed, totalReserves sdk.Coins) GenesisState { borrows Borrows, totalSupplied, totalBorrowed, totalReserves sdk.Coins,
) GenesisState {
return GenesisState{ return GenesisState{
Params: params, Params: params,
PreviousAccumulationTimes: prevAccumulationTimes, PreviousAccumulationTimes: prevAccumulationTimes,
@ -38,7 +39,6 @@ func DefaultGenesisState() GenesisState {
// Validate performs basic validation of genesis data returning an // Validate performs basic validation of genesis data returning an
// error for any failed validation criteria. // error for any failed validation criteria.
func (gs GenesisState) Validate() error { func (gs GenesisState) Validate() error {
if err := gs.Params.Validate(); err != nil { if err := gs.Params.Validate(); err != nil {
return err return err
} }

View File

@ -61,7 +61,8 @@ func (bl BorrowLimit) Equal(blCompareTo BorrowLimit) bool {
// NewMoneyMarket returns a new MoneyMarket // NewMoneyMarket returns a new MoneyMarket
func NewMoneyMarket(denom string, borrowLimit BorrowLimit, spotMarketID string, conversionFactor sdk.Int, func NewMoneyMarket(denom string, borrowLimit BorrowLimit, spotMarketID string, conversionFactor sdk.Int,
interestRateModel InterestRateModel, reserveFactor, keeperRewardPercentage sdk.Dec) MoneyMarket { interestRateModel InterestRateModel, reserveFactor, keeperRewardPercentage sdk.Dec,
) MoneyMarket {
return MoneyMarket{ return MoneyMarket{
Denom: denom, Denom: denom,
BorrowLimit: borrowLimit, BorrowLimit: borrowLimit,

View File

@ -14,8 +14,10 @@ import (
"github.com/kava-labs/kava/x/incentive/types" "github.com/kava-labs/kava/x/incentive/types"
) )
const multiplierFlag = "multiplier" const (
const multiplierFlagShort = "m" multiplierFlag = "multiplier"
multiplierFlagShort = "m"
)
// GetTxCmd returns the transaction cli commands for the incentive module // GetTxCmd returns the transaction cli commands for the incentive module
func GetTxCmd() *cobra.Command { func GetTxCmd() *cobra.Command {
@ -42,7 +44,6 @@ func GetTxCmd() *cobra.Command {
} }
func getCmdClaimCdp() *cobra.Command { func getCmdClaimCdp() *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "claim-cdp [multiplier]", Use: "claim-cdp [multiplier]",
Short: "claim USDX minting rewards using a given multiplier", Short: "claim USDX minting rewards using a given multiplier",

View File

@ -183,7 +183,6 @@ func executeSwapRewardsQuery(w http.ResponseWriter, cliCtx client.Context, param
} }
func executeAllRewardQueries(w http.ResponseWriter, cliCtx client.Context, params types.QueryRewardsParams) { func executeAllRewardQueries(w http.ResponseWriter, cliCtx client.Context, params types.QueryRewardsParams) {
paramsBz, err := cliCtx.LegacyAmino.MarshalJSON(params) paramsBz, err := cliCtx.LegacyAmino.MarshalJSON(params)
if err != nil { if err != nil {
rest.WriteErrorResponse(w, http.StatusBadRequest, fmt.Sprintf("failed to marshal query params: %s", err)) rest.WriteErrorResponse(w, http.StatusBadRequest, fmt.Sprintf("failed to marshal query params: %s", err))

View File

@ -29,14 +29,17 @@ func usdxMintingGenerator(req PostClaimReq) (sdk.Msg, error) {
msg := types.NewMsgClaimUSDXMintingReward(req.Sender.String(), req.DenomsToClaim[0].MultiplierName) msg := types.NewMsgClaimUSDXMintingReward(req.Sender.String(), req.DenomsToClaim[0].MultiplierName)
return &msg, nil return &msg, nil
} }
func hardGenerator(req PostClaimReq) (sdk.Msg, error) { func hardGenerator(req PostClaimReq) (sdk.Msg, error) {
msg := types.NewMsgClaimHardReward(req.Sender.String(), req.DenomsToClaim) msg := types.NewMsgClaimHardReward(req.Sender.String(), req.DenomsToClaim)
return &msg, nil return &msg, nil
} }
func delegatorGenerator(req PostClaimReq) (sdk.Msg, error) { func delegatorGenerator(req PostClaimReq) (sdk.Msg, error) {
msg := types.NewMsgClaimDelegatorReward(req.Sender.String(), req.DenomsToClaim) msg := types.NewMsgClaimDelegatorReward(req.Sender.String(), req.DenomsToClaim)
return &msg, nil return &msg, nil
} }
func swapGenerator(req PostClaimReq) (sdk.Msg, error) { func swapGenerator(req PostClaimReq) (sdk.Msg, error) {
msg := types.NewMsgClaimSwapReward(req.Sender.String(), req.DenomsToClaim) msg := types.NewMsgClaimSwapReward(req.Sender.String(), req.DenomsToClaim)
return &msg, nil return &msg, nil

Some files were not shown because too many files have changed in this diff Show More