Skip to content

Commit e0933bc

Browse files
committed
fix(x/market): ensure orders closed on deployment close
Signed-off-by: Artur Troian <[email protected]>
1 parent 4a92629 commit e0933bc

File tree

8 files changed

+71
-21
lines changed

8 files changed

+71
-21
lines changed

_run/init.sh

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ configure_genesis() {
100100
done
101101
guardian_json+="]"
102102

103+
# shellcheck disable=SC2002
103104
cat "${GENESIS_PATH}.orig" | \
104105
jq -M '.app_state.gov.voting_params.voting_period = "60s"' \
105106
| jq -M '.app_state.gov.params.voting_period = "60s"' \
@@ -109,8 +110,8 @@ configure_genesis() {
109110
| jq -M '.app_state.wasm.params.instantiate_default_permission = "Everybody"' \
110111
| jq -M --argjson guardians "$guardian_json" --arg feed_id "$AKT_PRICE_FEED_ID" '
111112
.app_state.oracle.params.min_price_sources = 1 |
112-
.app_state.oracle.params.max_price_staleness_period = 30 |
113-
.app_state.oracle.params.twap_window = 50 |
113+
.app_state.oracle.params.max_price_staleness_period = "60s" |
114+
.app_state.oracle.params.twap_window = "30s" |
114115
.app_state.oracle.params.max_price_deviation_bps = 1000 |
115116
.app_state.oracle.params.price_retention = "86400s" |
116117
.app_state.oracle.params.prune_epoch = "hour" |
@@ -287,8 +288,8 @@ register_oracle_source() {
287288
"params": {
288289
"sources": ["$pyth_addr"],
289290
"min_price_sources": 1,
290-
"max_price_staleness_period": 30,
291-
"twap_window": 50,
291+
"max_price_staleness_period": "60s",
292+
"twap_window": "30s",
292293
"max_price_deviation_bps": 1000,
293294
"price_retention": "86400s",
294295
"prune_epoch": "hour",
@@ -299,7 +300,7 @@ register_oracle_source() {
299300
"@type": "/akash.bme.v1.MsgFundVault",
300301
"authority": "akash10d07y265gmmuvt4z0w9aw880jnsr700jhe7z0f",
301302
"amount": {"denom": "${CHAIN_TOKEN_DENOM}", "amount": "1000000000000"},
302-
"source": "$admin_addr"
303+
"source": "$(akash keys show main -a)"
303304
}
304305
],
305306
"deposit": "10000000uakt",

_run/node/deployment.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ profiles:
4040
attributes:
4141
region: us-west
4242
pricing:
43-
web:
44-
denom: uakt
43+
web:
44+
denom: uact
4545
amount: 1000
4646

4747
deployment:
@@ -52,4 +52,4 @@ deployment:
5252
bew:
5353
westcoast:
5454
profile: web
55-
count: 1
55+
count: 1

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ require (
4848
google.golang.org/grpc v1.76.0
4949
gopkg.in/yaml.v3 v3.0.1
5050
gotest.tools/v3 v3.5.2
51-
pkg.akt.dev/go v0.2.5
51+
pkg.akt.dev/go v0.2.6
5252
pkg.akt.dev/go/cli v0.2.2
5353
pkg.akt.dev/go/sdl v0.2.0
5454
)

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3293,8 +3293,8 @@ nhooyr.io/websocket v1.8.17 h1:KEVeLJkUywCKVsnLIDlD/5gtayKp8VoCkksHCGGfT9Y=
32933293
nhooyr.io/websocket v1.8.17/go.mod h1:rN9OFWIUwuxg4fR5tELlYC04bXYowCP9GX47ivo2l+c=
32943294
pgregory.net/rapid v0.5.5 h1:jkgx1TjbQPD/feRoK+S/mXw9e1uj6WilpHrXJowi6oA=
32953295
pgregory.net/rapid v0.5.5/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04=
3296-
pkg.akt.dev/go v0.2.5 h1:D/sSVGlQvOSgK4zcPA/r/ug/Wkt10lqMUs2N+xUxOpQ=
3297-
pkg.akt.dev/go v0.2.5/go.mod h1:x9Cku9yibLk4aGLTE/Yy7eEkkda0uOSRWmYwQeFw23o=
3296+
pkg.akt.dev/go v0.2.6 h1:QpZqFNTKu4xNwZcgit6SVJsKNhWkd0IH0Y0Lzgpco9c=
3297+
pkg.akt.dev/go v0.2.6/go.mod h1:x9Cku9yibLk4aGLTE/Yy7eEkkda0uOSRWmYwQeFw23o=
32983298
pkg.akt.dev/go/cli v0.2.2 h1:PWDAAeHkVtcZ9qE76yh4IhJ2J/42ekhwSyrGWLPGi/g=
32993299
pkg.akt.dev/go/cli v0.2.2/go.mod h1:MHm9lU8hb+xQ8BX3b9c9S1pMyZKUob5tVjHXQ4T1uwU=
33003300
pkg.akt.dev/go/sdl v0.2.0 h1:hY74GjN4itV92REf8HqGt1rQDtXsruzE/iIzd/FpUB8=

upgrades/CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,14 @@ Goal of the upgrade here
4040
Add new upgrades after this line based on the template above
4141
-----
4242

43+
##### v2.1.0
44+
45+
###### Description
46+
47+
- Migrations
48+
- oracle `1 -> 2`
49+
- deployment `7 -> 8`
50+
4351
##### v2.0.0
4452

4553
###### Description

upgrades/software/v2.1.0/upgrade.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,17 @@ import (
77
"fmt"
88

99
"cosmossdk.io/log"
10+
sdkmath "cosmossdk.io/math"
1011
storetypes "cosmossdk.io/store/types"
1112
upgradetypes "cosmossdk.io/x/upgrade/types"
1213
wasmkeeper "github.com/CosmWasm/wasmd/x/wasm/keeper"
1314
wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types"
1415
sdk "github.com/cosmos/cosmos-sdk/types"
1516
"github.com/cosmos/cosmos-sdk/types/module"
17+
distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types"
18+
etypes "pkg.akt.dev/go/node/escrow/module"
1619
otypes "pkg.akt.dev/go/node/oracle/v2"
20+
"pkg.akt.dev/go/sdkutil"
1721

1822
apptypes "pkg.akt.dev/node/v2/app/types"
1923
utypes "pkg.akt.dev/node/v2/upgrades/types"
@@ -81,6 +85,27 @@ func (up *upgrade) UpgradeHandler() upgradetypes.UpgradeHandler {
8185
return toVM, err
8286
}
8387

88+
if sctx.ChainID() == "akashnet-2" {
89+
feePool, err := up.Keepers.Cosmos.Distr.FeePool.Get(ctx)
90+
if err != nil {
91+
return toVM, fmt.Errorf("failed to get fee pool: %w", err)
92+
}
93+
94+
// deposit 427,414,453uAKT to escrow as stated in the upgrade proposal
95+
escrowDepositAmount := sdk.NewCoin(sdkutil.DenomUakt, sdkmath.NewInt(427414453))
96+
97+
err = up.Keepers.Cosmos.Bank.SendCoinsFromModuleToModule(ctx, distrtypes.ModuleName, etypes.ModuleName, sdk.Coins{escrowDepositAmount})
98+
if err != nil {
99+
return toVM, fmt.Errorf("failed to transfer funds to escrow: %w", err)
100+
}
101+
102+
feePool.CommunityPool = feePool.CommunityPool.Sub(sdk.DecCoins{sdk.NewDecCoinFromCoin(escrowDepositAmount)})
103+
104+
err = up.Keepers.Cosmos.Distr.FeePool.Set(ctx, feePool)
105+
if err != nil {
106+
return toVM, fmt.Errorf("failed to set updated fee pool balance: %w", err)
107+
}
108+
}
84109
return toVM, err
85110
}
86111
}

x/bme/keeper/keeper.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -846,7 +846,7 @@ func (k *keeper) RequestBurnMint(ctx context.Context, srcAddr sdk.AccAddress, ds
846846
// on each block sequence starts from 1
847847
func (k *keeper) nextLedgerSeq(ctx sdk.Context) (int64, error) {
848848
seq, err := k.ledgerSequence.Get(ctx)
849-
if err != nil {
849+
if err != nil && !errors.Is(err, collections.ErrNotFound) {
850850
return 0, err
851851
}
852852

x/market/keeper/keeper.go

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -403,11 +403,10 @@ func (k Keeper) OnGroupClosed(ctx sdk.Context, id dtypes.GroupID, state dvbeta.G
403403
return nil
404404
}
405405

406-
var err error
407-
k.WithOrdersForGroup(ctx, id, types.OrderActive, func(order types.Order) bool {
408-
err = k.OnOrderClosed(ctx, order)
406+
orderCb := func(ctx sdk.Context, order types.Order) error {
407+
err := k.OnOrderClosed(ctx, order)
409408
if err != nil {
410-
return true
409+
return err
411410
}
412411

413412
k.WithBidsForOrder(ctx, order.ID, types.BidOpen, func(bid types.Bid) bool {
@@ -416,14 +415,31 @@ func (k Keeper) OnGroupClosed(ctx sdk.Context, id dtypes.GroupID, state dvbeta.G
416415
})
417416

418417
if err != nil {
419-
return true
418+
return err
420419
}
421420

422-
k.WithBidsForOrder(ctx, order.ID, types.BidActive, func(bid types.Bid) bool {
423-
err = processClose(ctx, bid)
424-
return err != nil
425-
})
421+
if order.State == types.OrderActive {
422+
k.WithBidsForOrder(ctx, order.ID, types.BidActive, func(bid types.Bid) bool {
423+
err = processClose(ctx, bid)
424+
return err != nil
425+
})
426+
}
427+
428+
return err
429+
}
430+
431+
var err error
432+
433+
k.WithOrdersForGroup(ctx, id, types.OrderActive, func(order types.Order) bool {
434+
err = orderCb(ctx, order)
435+
return err != nil
436+
})
437+
if err != nil {
438+
return err
439+
}
426440

441+
k.WithOrdersForGroup(ctx, id, types.OrderOpen, func(order types.Order) bool {
442+
err = orderCb(ctx, order)
427443
return err != nil
428444
})
429445

0 commit comments

Comments
 (0)