mirror of
https://github.com/0glabs/0g-chain.git
synced 2024-12-24 23:35:19 +00:00
tidy up cdp tests
This commit is contained in:
parent
2152bb4ed2
commit
81302ce29f
@ -2,7 +2,6 @@ package cdp_test
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/cosmos/cosmos-sdk/simapp"
|
"github.com/cosmos/cosmos-sdk/simapp"
|
||||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||||
@ -10,7 +9,6 @@ import (
|
|||||||
|
|
||||||
"github.com/kava-labs/kava/app"
|
"github.com/kava-labs/kava/app"
|
||||||
"github.com/kava-labs/kava/x/cdp"
|
"github.com/kava-labs/kava/x/cdp"
|
||||||
"github.com/kava-labs/kava/x/pricefeed"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestApp_CreateModifyDeleteCDP(t *testing.T) {
|
func TestApp_CreateModifyDeleteCDP(t *testing.T) {
|
||||||
@ -21,40 +19,13 @@ func TestApp_CreateModifyDeleteCDP(t *testing.T) {
|
|||||||
testPrivKey := privKeys[0]
|
testPrivKey := privKeys[0]
|
||||||
tApp.InitializeFromGenesisStates(
|
tApp.InitializeFromGenesisStates(
|
||||||
app.NewAuthGenState(addrs, []sdk.Coins{cs(c("xrp", 100))}),
|
app.NewAuthGenState(addrs, []sdk.Coins{cs(c("xrp", 100))}),
|
||||||
|
NewPFGenState("xrp", d("1.00")),
|
||||||
|
NewCDPGenState("xrp", d("1.5")),
|
||||||
)
|
)
|
||||||
ctx := tApp.NewContext(false, abci.Header{})
|
|
||||||
// check balance
|
// check balance
|
||||||
|
ctx := tApp.NewContext(false, abci.Header{})
|
||||||
tApp.CheckBalance(t, ctx, testAddr, cs(c("xrp", 100)))
|
tApp.CheckBalance(t, ctx, testAddr, cs(c("xrp", 100)))
|
||||||
|
|
||||||
// setup cdp keeper
|
|
||||||
keeper := tApp.GetCDPKeeper()
|
|
||||||
params := cdp.CdpParams{
|
|
||||||
GlobalDebtLimit: sdk.NewInt(100000),
|
|
||||||
CollateralParams: []cdp.CollateralParams{
|
|
||||||
{
|
|
||||||
Denom: "xrp",
|
|
||||||
LiquidationRatio: sdk.MustNewDecFromStr("1.5"),
|
|
||||||
DebtLimit: sdk.NewInt(10000),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
StableDenoms: []string{"usdx"},
|
|
||||||
}
|
|
||||||
keeper.SetParams(ctx, params)
|
|
||||||
keeper.SetGlobalDebt(ctx, sdk.NewInt(0))
|
|
||||||
pricefeedKeeper := tApp.GetPriceFeedKeeper()
|
|
||||||
ap := pricefeed.Params{
|
|
||||||
Markets: []pricefeed.Market{
|
|
||||||
pricefeed.Market{
|
|
||||||
MarketID: "xrp", BaseAsset: "xrp",
|
|
||||||
QuoteAsset: "usd", Oracles: pricefeed.Oracles{}, Active: true},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
pricefeedKeeper.SetParams(ctx, ap)
|
|
||||||
pricefeedKeeper.SetPrice(
|
|
||||||
ctx, sdk.AccAddress{}, "xrp",
|
|
||||||
sdk.MustNewDecFromStr("1.00"),
|
|
||||||
time.Unix(9999999999, 0)) // some deterministic future date
|
|
||||||
pricefeedKeeper.SetCurrentPrices(ctx, "xrp")
|
|
||||||
tApp.EndBlock(abci.RequestEndBlock{})
|
tApp.EndBlock(abci.RequestEndBlock{})
|
||||||
tApp.Commit()
|
tApp.Commit()
|
||||||
|
|
||||||
|
@ -1,7 +1,13 @@
|
|||||||
package cdp_test
|
package cdp_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||||
|
|
||||||
|
"github.com/kava-labs/kava/x/cdp"
|
||||||
|
"github.com/kava-labs/kava/x/pricefeed"
|
||||||
|
"github.com/kava-labs/kava/app"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Avoid cluttering test cases with long function name
|
// Avoid cluttering test cases with long function name
|
||||||
@ -9,3 +15,42 @@ func i(in int64) sdk.Int { return sdk.NewInt(in) }
|
|||||||
func d(str string) sdk.Dec { return sdk.MustNewDecFromStr(str) }
|
func d(str string) sdk.Dec { return sdk.MustNewDecFromStr(str) }
|
||||||
func c(denom string, amount int64) sdk.Coin { return sdk.NewInt64Coin(denom, amount) }
|
func c(denom string, amount int64) sdk.Coin { return sdk.NewInt64Coin(denom, amount) }
|
||||||
func cs(coins ...sdk.Coin) sdk.Coins { return sdk.NewCoins(coins...) }
|
func cs(coins ...sdk.Coin) sdk.Coins { return sdk.NewCoins(coins...) }
|
||||||
|
|
||||||
|
func NewPFGenState(asset string, price sdk.Dec) app.GenesisState {
|
||||||
|
quote := "usd"
|
||||||
|
ap := pricefeed.Params{
|
||||||
|
Markets: []pricefeed.Market{
|
||||||
|
pricefeed.Market{MarketID: asset, BaseAsset: asset, QuoteAsset: quote, Oracles: pricefeed.Oracles{}, Active: true},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
pfGenesis := pricefeed.GenesisState{
|
||||||
|
Params: ap,
|
||||||
|
PostedPrices: []pricefeed.PostedPrice{
|
||||||
|
pricefeed.PostedPrice{
|
||||||
|
MarketID: asset,
|
||||||
|
OracleAddress: sdk.AccAddress{},
|
||||||
|
Price: price,
|
||||||
|
Expiry: time.Unix(9999999999, 0), // some deterministic future date,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
return app.GenesisState{pricefeed.ModuleName: pricefeed.ModuleCdc.MustMarshalJSON(pfGenesis)}
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewCDPGenState(asset string, liquidationRatio sdk.Dec) app.GenesisState {
|
||||||
|
cdpGenesis := cdp.GenesisState{
|
||||||
|
Params: cdp.CdpParams{
|
||||||
|
GlobalDebtLimit: sdk.NewInt(1000000),
|
||||||
|
CollateralParams: []cdp.CollateralParams{
|
||||||
|
{
|
||||||
|
Denom: asset,
|
||||||
|
LiquidationRatio: liquidationRatio,
|
||||||
|
DebtLimit: sdk.NewInt(500000),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
GlobalDebt: sdk.ZeroInt(),
|
||||||
|
CDPs: cdp.CDPs{},
|
||||||
|
}
|
||||||
|
return app.GenesisState{cdp.ModuleName: cdp.ModuleCdc.MustMarshalJSON(cdpGenesis)}
|
||||||
|
}
|
@ -35,8 +35,9 @@ func TestKeeper_AddSubtractGetCoins(t *testing.T) {
|
|||||||
t.Run(tc.name, func(t *testing.T) {
|
t.Run(tc.name, func(t *testing.T) {
|
||||||
// setup app with an account
|
// setup app with an account
|
||||||
tApp := app.NewTestApp()
|
tApp := app.NewTestApp()
|
||||||
authGenState := app.NewAuthGenState([]sdk.AccAddress{normalAddr}, []sdk.Coins{cs(c("usdx", 100), c("kava", 100))})
|
tApp.InitializeFromGenesisStates(
|
||||||
tApp.InitializeFromGenesisStates(authGenState)
|
app.NewAuthGenState([]sdk.AccAddress{normalAddr}, []sdk.Coins{cs(c("usdx", 100), c("kava", 100))}),
|
||||||
|
)
|
||||||
|
|
||||||
// create a new context and setup the liquidator account
|
// create a new context and setup the liquidator account
|
||||||
ctx := tApp.NewContext(false, abci.Header{})
|
ctx := tApp.NewContext(false, abci.Header{})
|
||||||
|
@ -1,9 +1,14 @@
|
|||||||
package keeper_test
|
package keeper_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||||
|
|
||||||
|
"github.com/kava-labs/kava/app"
|
||||||
|
"github.com/kava-labs/kava/x/cdp"
|
||||||
"github.com/kava-labs/kava/x/cdp/types"
|
"github.com/kava-labs/kava/x/cdp/types"
|
||||||
|
"github.com/kava-labs/kava/x/pricefeed"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Avoid cluttering test cases with long function name
|
// Avoid cluttering test cases with long function name
|
||||||
@ -12,35 +17,91 @@ func d(str string) sdk.Dec { return sdk.MustNewDecFromStr(str)
|
|||||||
func c(denom string, amount int64) sdk.Coin { return sdk.NewInt64Coin(denom, amount) }
|
func c(denom string, amount int64) sdk.Coin { return sdk.NewInt64Coin(denom, amount) }
|
||||||
func cs(coins ...sdk.Coin) sdk.Coins { return sdk.NewCoins(coins...) }
|
func cs(coins ...sdk.Coin) sdk.Coins { return sdk.NewCoins(coins...) }
|
||||||
|
|
||||||
func defaultParamsMulti() types.CdpParams {
|
func NewPFGenState(asset string, price sdk.Dec) app.GenesisState {
|
||||||
return types.CdpParams{
|
quote := "usd"
|
||||||
GlobalDebtLimit: sdk.NewInt(1000000),
|
ap := pricefeed.Params{
|
||||||
CollateralParams: []types.CollateralParams{
|
Markets: []pricefeed.Market{
|
||||||
{
|
pricefeed.Market{MarketID: asset, BaseAsset: asset, QuoteAsset: quote, Oracles: pricefeed.Oracles{}, Active: true},
|
||||||
Denom: "btc",
|
},
|
||||||
LiquidationRatio: sdk.MustNewDecFromStr("1.5"),
|
}
|
||||||
DebtLimit: sdk.NewInt(500000),
|
pfGenesis := pricefeed.GenesisState{
|
||||||
},
|
Params: ap,
|
||||||
{
|
PostedPrices: []pricefeed.PostedPrice{
|
||||||
Denom: "xrp",
|
pricefeed.PostedPrice{
|
||||||
LiquidationRatio: sdk.MustNewDecFromStr("2.0"),
|
MarketID: asset,
|
||||||
DebtLimit: sdk.NewInt(500000),
|
OracleAddress: sdk.AccAddress{},
|
||||||
|
Price: price,
|
||||||
|
Expiry: time.Unix(9999999999, 0), // some deterministic future date,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
StableDenoms: []string{"usdx"},
|
|
||||||
}
|
}
|
||||||
|
return app.GenesisState{pricefeed.ModuleName: pricefeed.ModuleCdc.MustMarshalJSON(pfGenesis)}
|
||||||
}
|
}
|
||||||
|
|
||||||
func defaultParamsSingle() types.CdpParams {
|
func NewCDPGenState(asset string, liquidationRatio sdk.Dec) app.GenesisState {
|
||||||
return types.CdpParams{
|
cdpGenesis := cdp.GenesisState{
|
||||||
GlobalDebtLimit: sdk.NewInt(1000000),
|
Params: cdp.CdpParams{
|
||||||
CollateralParams: []types.CollateralParams{
|
GlobalDebtLimit: sdk.NewInt(1000000),
|
||||||
{
|
CollateralParams: []cdp.CollateralParams{
|
||||||
Denom: "xrp",
|
{
|
||||||
LiquidationRatio: sdk.MustNewDecFromStr("2.0"),
|
Denom: asset,
|
||||||
DebtLimit: sdk.NewInt(500000),
|
LiquidationRatio: liquidationRatio,
|
||||||
|
DebtLimit: sdk.NewInt(500000),
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
StableDenoms: []string{"usdx"},
|
GlobalDebt: sdk.ZeroInt(),
|
||||||
|
CDPs: cdp.CDPs{},
|
||||||
}
|
}
|
||||||
|
return app.GenesisState{cdp.ModuleName: cdp.ModuleCdc.MustMarshalJSON(cdpGenesis)}
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewPFGenStateMulti() app.GenesisState {
|
||||||
|
quote := "usd"
|
||||||
|
ap := pricefeed.Params{
|
||||||
|
Markets: []pricefeed.Market{
|
||||||
|
pricefeed.Market{MarketID: "btc", BaseAsset: "btc", QuoteAsset: quote, Oracles: pricefeed.Oracles{}, Active: true},
|
||||||
|
pricefeed.Market{MarketID: "xrp", BaseAsset: "xrp", QuoteAsset: quote, Oracles: pricefeed.Oracles{}, Active: true},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
pfGenesis := pricefeed.GenesisState{
|
||||||
|
Params: ap,
|
||||||
|
PostedPrices: []pricefeed.PostedPrice{
|
||||||
|
pricefeed.PostedPrice{
|
||||||
|
MarketID: "btc",
|
||||||
|
OracleAddress: sdk.AccAddress{},
|
||||||
|
Price: sdk.MustNewDecFromStr("8000.00"),
|
||||||
|
Expiry: time.Unix(9999999999, 0), // some deterministic future date,
|
||||||
|
},
|
||||||
|
pricefeed.PostedPrice{
|
||||||
|
MarketID: "xrp",
|
||||||
|
OracleAddress: sdk.AccAddress{},
|
||||||
|
Price: sdk.MustNewDecFromStr("0.25"),
|
||||||
|
Expiry: time.Unix(9999999999, 0), // some deterministic future date,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
return app.GenesisState{pricefeed.ModuleName: pricefeed.ModuleCdc.MustMarshalJSON(pfGenesis)}
|
||||||
|
}
|
||||||
|
func NewCDPGenStateMulti() app.GenesisState {
|
||||||
|
cdpGenesis := cdp.GenesisState{
|
||||||
|
Params: cdp.CdpParams{
|
||||||
|
GlobalDebtLimit: sdk.NewInt(1000000),
|
||||||
|
CollateralParams: []types.CollateralParams{
|
||||||
|
{
|
||||||
|
Denom: "btc",
|
||||||
|
LiquidationRatio: sdk.MustNewDecFromStr("1.5"),
|
||||||
|
DebtLimit: sdk.NewInt(500000),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Denom: "xrp",
|
||||||
|
LiquidationRatio: sdk.MustNewDecFromStr("2.0"),
|
||||||
|
DebtLimit: sdk.NewInt(500000),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
GlobalDebt: sdk.ZeroInt(),
|
||||||
|
CDPs: cdp.CDPs{},
|
||||||
|
}
|
||||||
|
return app.GenesisState{cdp.ModuleName: cdp.ModuleCdc.MustMarshalJSON(cdpGenesis)}
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,6 @@ import (
|
|||||||
|
|
||||||
"github.com/kava-labs/kava/app"
|
"github.com/kava-labs/kava/app"
|
||||||
"github.com/kava-labs/kava/x/cdp/types"
|
"github.com/kava-labs/kava/x/cdp/types"
|
||||||
"github.com/kava-labs/kava/x/pricefeed"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// How could one reduce the number of params in the test cases. Create a table driven test for each of the 4 add/withdraw collateral/debt?
|
// How could one reduce the number of params in the test cases. Create a table driven test for each of the 4 add/withdraw collateral/debt?
|
||||||
@ -94,41 +93,19 @@ func TestKeeper_ModifyCDP(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) {
|
||||||
// setup keeper
|
// setup test app
|
||||||
tApp := app.NewTestApp()
|
tApp := app.NewTestApp()
|
||||||
// initialize cdp owner account with coins
|
// initialize cdp owner account with coins, and collateral with price and params
|
||||||
authGen := app.NewAuthGenState([]sdk.AccAddress{ownerAddr}, []sdk.Coins{tc.priorState.OwnerCoins})
|
tApp.InitializeFromGenesisStates(
|
||||||
tApp.InitializeFromGenesisStates(authGen)
|
app.NewAuthGenState([]sdk.AccAddress{ownerAddr}, []sdk.Coins{tc.priorState.OwnerCoins}),
|
||||||
|
NewPFGenState("xrp", d(tc.price)),
|
||||||
|
NewCDPGenState("xrp", d("2.0")),
|
||||||
|
)
|
||||||
// create a context for db access
|
// create a context for db access
|
||||||
ctx := tApp.NewContext(false, abci.Header{})
|
ctx := tApp.NewContext(false, abci.Header{})
|
||||||
|
|
||||||
// setup store state
|
// setup store state
|
||||||
keeper := tApp.GetCDPKeeper()
|
keeper := tApp.GetCDPKeeper()
|
||||||
keeper.SetParams(ctx, defaultParamsSingle())
|
|
||||||
pricefeedKeeper := tApp.GetPriceFeedKeeper()
|
|
||||||
ap := pricefeed.Params{
|
|
||||||
Markets: []pricefeed.Market{
|
|
||||||
pricefeed.Market{
|
|
||||||
MarketID: "xrp", BaseAsset: "xrp",
|
|
||||||
QuoteAsset: "usd", Oracles: pricefeed.Oracles{}, Active: true},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
pricefeedKeeper.SetParams(ctx, ap)
|
|
||||||
_, err := pricefeedKeeper.SetPrice(
|
|
||||||
ctx, ownerAddr, "xrp",
|
|
||||||
sdk.MustNewDecFromStr(tc.price),
|
|
||||||
time.Unix(9999999999, 0)) // some deterministic future date
|
|
||||||
if err != nil {
|
|
||||||
t.Log("test context height", ctx.BlockHeight())
|
|
||||||
t.Log(err)
|
|
||||||
t.Log(tc.name)
|
|
||||||
}
|
|
||||||
err = pricefeedKeeper.SetCurrentPrices(ctx, "xrp")
|
|
||||||
if err != nil {
|
|
||||||
t.Log("test context height", ctx.BlockHeight())
|
|
||||||
t.Log(err)
|
|
||||||
t.Log(tc.name)
|
|
||||||
}
|
|
||||||
if tc.priorState.CDP.CollateralDenom != "" { // check if the prior CDP should be created or not (see if an empty one was specified)
|
if tc.priorState.CDP.CollateralDenom != "" { // check if the prior CDP should be created or not (see if an empty one was specified)
|
||||||
keeper.SetCDP(ctx, tc.priorState.CDP)
|
keeper.SetCDP(ctx, tc.priorState.CDP)
|
||||||
}
|
}
|
||||||
@ -138,7 +115,7 @@ func TestKeeper_ModifyCDP(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// call func under test
|
// call func under test
|
||||||
err = keeper.ModifyCDP(ctx, tc.args.owner, tc.args.collateralDenom, tc.args.changeInCollateral, tc.args.changeInDebt)
|
err := keeper.ModifyCDP(ctx, tc.args.owner, tc.args.collateralDenom, tc.args.changeInCollateral, tc.args.changeInDebt)
|
||||||
|
|
||||||
// get new state for verification
|
// get new state for verification
|
||||||
actualCDP, found := keeper.GetCDP(ctx, tc.args.owner, tc.args.collateralDenom)
|
actualCDP, found := keeper.GetCDP(ctx, tc.args.owner, tc.args.collateralDenom)
|
||||||
@ -172,38 +149,23 @@ func TestKeeper_PartialSeizeCDP(t *testing.T) {
|
|||||||
testAddr := addrs[0]
|
testAddr := addrs[0]
|
||||||
|
|
||||||
tApp := app.NewTestApp()
|
tApp := app.NewTestApp()
|
||||||
authGenState := app.NewAuthGenState(addrs, []sdk.Coins{cs(c(collateral, 100))})
|
tApp.InitializeFromGenesisStates(
|
||||||
tApp.InitializeFromGenesisStates(authGenState)
|
app.NewAuthGenState(addrs, []sdk.Coins{cs(c(collateral, 100))}),
|
||||||
|
NewPFGenState(collateral, d("1.00")),
|
||||||
|
NewCDPGenState(collateral, d("2.00")),
|
||||||
|
)
|
||||||
|
|
||||||
ctx := tApp.NewContext(false, abci.Header{})
|
ctx := tApp.NewContext(false, abci.Header{})
|
||||||
keeper := tApp.GetCDPKeeper()
|
keeper := tApp.GetCDPKeeper()
|
||||||
|
|
||||||
// setup pricefeed
|
|
||||||
pricefeedKeeper := tApp.GetPriceFeedKeeper()
|
|
||||||
ap := pricefeed.Params{
|
|
||||||
Markets: []pricefeed.Market{
|
|
||||||
pricefeed.Market{
|
|
||||||
MarketID: "xrp", BaseAsset: collateral,
|
|
||||||
QuoteAsset: "usd", Oracles: pricefeed.Oracles{}, Active: true},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
pricefeedKeeper.SetParams(ctx, ap)
|
|
||||||
pricefeedKeeper.SetPrice(
|
|
||||||
ctx, sdk.AccAddress{}, collateral,
|
|
||||||
sdk.MustNewDecFromStr("1.00"),
|
|
||||||
time.Unix(9999999999, 0)) // some deterministic future date
|
|
||||||
pricefeedKeeper.SetCurrentPrices(ctx, collateral)
|
|
||||||
|
|
||||||
// Create CDP
|
// Create CDP
|
||||||
keeper.SetParams(ctx, defaultParamsSingle())
|
|
||||||
err := keeper.ModifyCDP(ctx, testAddr, collateral, i(10), i(5))
|
err := keeper.ModifyCDP(ctx, testAddr, collateral, i(10), i(5))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
// Reduce price
|
// Reduce price
|
||||||
pricefeedKeeper.SetPrice(
|
tApp.GetPriceFeedKeeper().SetPrice(
|
||||||
ctx, sdk.AccAddress{}, collateral,
|
ctx, sdk.AccAddress{}, collateral,
|
||||||
sdk.MustNewDecFromStr("0.90"),
|
d("0.90"), time.Unix(9999999999, 0)) // some deterministic future date
|
||||||
time.Unix(9999999999, 0)) // some deterministic future date
|
tApp.GetPriceFeedKeeper().SetCurrentPrices(ctx, collateral)
|
||||||
pricefeedKeeper.SetCurrentPrices(ctx, collateral)
|
|
||||||
|
|
||||||
// Seize entire CDP
|
// Seize entire CDP
|
||||||
err = keeper.PartialSeizeCDP(ctx, testAddr, collateral, i(10), i(5))
|
err = keeper.PartialSeizeCDP(ctx, testAddr, collateral, i(10), i(5))
|
||||||
@ -218,11 +180,14 @@ func TestKeeper_PartialSeizeCDP(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestKeeper_GetCDPs(t *testing.T) {
|
func TestKeeper_GetCDPs(t *testing.T) {
|
||||||
// setup keeper
|
// setup test app
|
||||||
tApp := app.NewTestApp()
|
tApp := app.NewTestApp().InitializeFromGenesisStates(
|
||||||
|
NewPFGenStateMulti(), // collateral needs to be in pricefeed for cdp InitGenesis to validate
|
||||||
|
NewCDPGenStateMulti(),
|
||||||
|
)
|
||||||
ctx := tApp.NewContext(true, abci.Header{})
|
ctx := tApp.NewContext(true, abci.Header{})
|
||||||
keeper := tApp.GetCDPKeeper()
|
keeper := tApp.GetCDPKeeper()
|
||||||
keeper.SetParams(ctx, defaultParamsMulti())
|
|
||||||
// setup CDPs
|
// setup CDPs
|
||||||
_, addrs := app.GeneratePrivKeyAddressPairs(2)
|
_, addrs := app.GeneratePrivKeyAddressPairs(2)
|
||||||
cdps := types.CDPs{
|
cdps := types.CDPs{
|
||||||
@ -299,7 +264,6 @@ func TestKeeper_GetSetDeleteCDP(t *testing.T) {
|
|||||||
ctx := tApp.NewContext(true, abci.Header{})
|
ctx := tApp.NewContext(true, abci.Header{})
|
||||||
keeper := tApp.GetCDPKeeper()
|
keeper := tApp.GetCDPKeeper()
|
||||||
|
|
||||||
keeper.SetParams(ctx, defaultParamsSingle())
|
|
||||||
_, addrs := app.GeneratePrivKeyAddressPairs(1)
|
_, addrs := app.GeneratePrivKeyAddressPairs(1)
|
||||||
cdp := types.CDP{addrs[0], "xrp", i(412), i(56)}
|
cdp := types.CDP{addrs[0], "xrp", i(412), i(56)}
|
||||||
|
|
||||||
@ -323,7 +287,7 @@ func TestKeeper_GetSetGDebt(t *testing.T) {
|
|||||||
tApp := app.NewTestApp()
|
tApp := app.NewTestApp()
|
||||||
ctx := tApp.NewContext(true, abci.Header{})
|
ctx := tApp.NewContext(true, abci.Header{})
|
||||||
keeper := tApp.GetCDPKeeper()
|
keeper := tApp.GetCDPKeeper()
|
||||||
keeper.SetParams(ctx, defaultParamsSingle())
|
|
||||||
gDebt := i(4120000)
|
gDebt := i(4120000)
|
||||||
|
|
||||||
// write and read from store
|
// write and read from store
|
||||||
@ -339,7 +303,7 @@ func TestKeeper_GetSetCollateralState(t *testing.T) {
|
|||||||
tApp := app.NewTestApp()
|
tApp := app.NewTestApp()
|
||||||
ctx := tApp.NewContext(true, abci.Header{})
|
ctx := tApp.NewContext(true, abci.Header{})
|
||||||
keeper := tApp.GetCDPKeeper()
|
keeper := tApp.GetCDPKeeper()
|
||||||
keeper.SetParams(ctx, defaultParamsSingle())
|
|
||||||
collateralState := types.CollateralState{"xrp", i(15400)}
|
collateralState := types.CollateralState{"xrp", i(15400)}
|
||||||
|
|
||||||
// write and read from store
|
// write and read from store
|
||||||
|
Loading…
Reference in New Issue
Block a user