Skip to content

import modules reserve #188

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 69 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
e46f413
bring new module to onomy
DongLieu Oct 8, 2024
e5eaf22
add script
DongLieu Oct 11, 2024
221b307
update script test vault
DongLieu Oct 12, 2024
1626e4a
new version
DongLieu Oct 12, 2024
c358612
updates
DongLieu Oct 14, 2024
b1ee7ab
new version
DongLieu Oct 14, 2024
495a70c
updates handle v2.1.0
DongLieu Oct 15, 2024
3854344
demo8
DongLieu Oct 15, 2024
7b09011
updates script
DongLieu Oct 15, 2024
fa5591f
nits
DongLieu Oct 15, 2024
fea1cda
update
DongLieu Oct 15, 2024
42730a6
updates
DongLieu Oct 17, 2024
3d2d733
merge main
DongLieu Oct 17, 2024
b0e20e5
nits
DongLieu Oct 17, 2024
8456245
updates version
DongLieu Oct 17, 2024
9202733
update atom proposal
hieuvubk Oct 18, 2024
13378e4
separate setup
hieuvubk Oct 18, 2024
067fa57
fix ibc
DongLieu Oct 21, 2024
9106d95
add vaults-test
hungdinh82 Oct 22, 2024
4f73c64
up verrsion
DongLieu Oct 22, 2024
4604e4a
merge v2.0.1
DongLieu Oct 22, 2024
d5b3f41
add vaults-test 7,8,9
hungdinh82 Oct 23, 2024
d67c90b
merge
DongLieu Oct 24, 2024
1099e51
nits
DongLieu Oct 24, 2024
5287f70
Merge branch 'dong/testnetgen' into dong/import-new-module
DongLieu Oct 24, 2024
95c2786
add vaults-test8
hungdinh82 Oct 28, 2024
38f89e4
add test case 8
hungdinh82 Oct 28, 2024
0bed4d8
update
DongLieu Oct 28, 2024
45f9278
update
DongLieu Oct 28, 2024
7802f4b
update
DongLieu Oct 28, 2024
8494c71
update
DongLieu Oct 28, 2024
faf92e6
ok
DongLieu Oct 29, 2024
8e05171
nits
DongLieu Oct 29, 2024
3035430
update
DongLieu Oct 30, 2024
1c8cc67
fix
DongLieu Oct 31, 2024
618492a
new oracel module
DongLieu Nov 1, 2024
2b529d6
update
DongLieu Nov 1, 2024
57e41ea
ok
DongLieu Nov 1, 2024
4fe32aa
nits
DongLieu Nov 1, 2024
16e5fb6
mock toi uu
DongLieu Nov 5, 2024
74d97b2
ok
DongLieu Nov 5, 2024
fa66279
updates script
DongLieu Nov 5, 2024
c3935c0
version update
DongLieu Nov 5, 2024
c391b31
ok
DongLieu Nov 6, 2024
2bb8236
update version
DongLieu Nov 6, 2024
5033634
nits
DongLieu Nov 6, 2024
8b744e8
rename
DongLieu Nov 6, 2024
be65ca5
add vaults test for EUR and JPY
hungdinh82 Nov 7, 2024
f13f9d1
update
DongLieu Nov 7, 2024
433cf7b
add demo test JPY
hungdinh82 Nov 7, 2024
a9f3048
updates
DongLieu Nov 8, 2024
601427c
updates
DongLieu Nov 8, 2024
f569959
add test JPY for price JPY = 0.0066 USD
hungdinh82 Nov 8, 2024
3eb918d
nom-nomUSD
DongLieu Nov 8, 2024
70c7f33
Merge pull request #1 from DongLieu/dong/mmmmm
DongLieu Nov 8, 2024
9eb17d6
add final test for JPY
hungdinh82 Nov 8, 2024
ec43ffc
ok
DongLieu Nov 11, 2024
4e6e44d
v0.0.0-testnet-1
DongLieu Nov 11, 2024
83191d5
v0.1.0-testnet1
DongLieu Nov 11, 2024
425f047
resolve conflicts
DongLieu Nov 11, 2024
5727184
v0.1.1-testnet1
DongLieu Nov 11, 2024
daf2c46
updates proposal.json
DongLieu Nov 11, 2024
6d27e19
updates proposal file for PSM
DongLieu Nov 11, 2024
1c02e3e
v0.1.2-testnet2
DongLieu Nov 11, 2024
a94b56d
proposal.json updates
DongLieu Nov 11, 2024
1627d06
v0.1.3-testnet3
DongLieu Nov 11, 2024
3c0eebf
v0.1.4-testnet4
DongLieu Nov 12, 2024
7cdfeac
updates
DongLieu Nov 14, 2024
c53a1e6
v0.1.5-testnet
DongLieu Nov 15, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ import (
v1_1_6 "github.com/onomyprotocol/onomy/app/upgrades/v1.1.6"
v2_0_0 "github.com/onomyprotocol/onomy/app/upgrades/v2.0.0"
v2_1_0 "github.com/onomyprotocol/onomy/app/upgrades/v2.1.0"

v2_1_1 "github.com/onomyprotocol/onomy/app/upgrades/v2.1.1"
"github.com/onomyprotocol/onomy/docs"
)

Expand Down Expand Up @@ -235,9 +235,9 @@ func NewOnomyApp( // nolint:funlen // app new cosmos func
app.mm.SetOrderEndBlockers(orderEndBlockers()...)
app.mm.SetOrderInitGenesis(orderInitBlockers()...)

//
app.mm.RegisterInvariants(app.CrisisKeeper)
app.configurator = module.NewConfigurator(app.appCodec, app.MsgServiceRouter(), app.GRPCQueryRouter())

err = app.mm.RegisterServices(app.configurator)
if err != nil {
panic(err)
Expand Down Expand Up @@ -463,6 +463,7 @@ func (app *OnomyApp) setupUpgradeHandlers() {
app.UpgradeKeeper.SetUpgradeHandler(v1_1_6.Name, v1_1_6.UpgradeHandler)
app.UpgradeKeeper.SetUpgradeHandler(v2_0_0.Name, v2_0_0.CreateUpgradeHandler(app.mm, app.configurator, &app.AppKeepers))
app.UpgradeKeeper.SetUpgradeHandler(v2_1_0.Name, v2_1_0.CreateUpgradeHandler(app.mm, app.configurator, &app.AppKeepers))
app.UpgradeKeeper.SetUpgradeHandler(v2_1_1.Name, v2_1_1.CreateUpgradeHandler(app.mm, app.configurator, &app.AppKeepers))

upgradeInfo, err := app.UpgradeKeeper.ReadUpgradeInfoFromDisk()
if err != nil {
Expand All @@ -481,10 +482,18 @@ func (app *OnomyApp) setupUpgradeHandlers() {
storeUpgrades = &storetypes.StoreUpgrades{
Deleted: []string{"provider"},
}
case v2_0_0.Name:
storeUpgrades = &storetypes.StoreUpgrades{
Added: []string{"consensus", "crisis", "dao"},
}
case v2_1_0.Name:
storeUpgrades = &storetypes.StoreUpgrades{
Deleted: []string{"dao"},
}
case v2_1_1.Name:
storeUpgrades = &storetypes.StoreUpgrades{
Added: []string{"vaults", "oracle", "auction", "psm"},
}
default:
// no store upgrades.
}
Expand Down
88 changes: 82 additions & 6 deletions app/keepers/keeper.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,21 @@ import (
porttypes "github.com/cosmos/ibc-go/v8/modules/core/05-port/types"
ibcexported "github.com/cosmos/ibc-go/v8/modules/core/exported"
ibckeeper "github.com/cosmos/ibc-go/v8/modules/core/keeper"

auctionKeeper "github.com/onomyprotocol/reserve/x/auction/keeper"
oracleKeeper "github.com/onomyprotocol/reserve/x/oracle/keeper"
psmKeeper "github.com/onomyprotocol/reserve/x/psm/keeper"
vaultsKeeper "github.com/onomyprotocol/reserve/x/vaults/keeper"
vaults "github.com/onomyprotocol/reserve/x/vaults/module"

auctiontypes "github.com/onomyprotocol/reserve/x/auction/types"
oracletypes "github.com/onomyprotocol/reserve/x/oracle/types"
psmtypes "github.com/onomyprotocol/reserve/x/psm/types"
vaultstypes "github.com/onomyprotocol/reserve/x/vaults/types"

// oracle "github.com/onomyprotocol/reserve/x/oracle"
oraclemodule "github.com/onomyprotocol/reserve/x/oracle/module"
psm "github.com/onomyprotocol/reserve/x/psm/module"
)

type AppKeepers struct {
Expand Down Expand Up @@ -83,12 +98,17 @@ type AppKeepers struct {
TransferKeeper ibctransferkeeper.Keeper

// make scoped keepers public for test purposes.
ScopedIBCKeeper capabilitykeeper.ScopedKeeper
ScopedTransferKeeper capabilitykeeper.ScopedKeeper
ScopedICSproviderkeeper capabilitykeeper.ScopedKeeper
ScopedIBCKeeper capabilitykeeper.ScopedKeeper
ScopedTransferKeeper capabilitykeeper.ScopedKeeper
ScopedOracleKeeper capabilitykeeper.ScopedKeeper

// Modules.
TransferModule transfer.AppModule

PSMKeeper psmKeeper.Keeper
AuctionKeeper auctionKeeper.Keeper
VaultsKeeper vaultsKeeper.Keeper
OracleKeeper oracleKeeper.Keeper
}

func NewAppKeeper(
Expand Down Expand Up @@ -145,6 +165,7 @@ func NewAppKeeper(

appKeepers.ScopedIBCKeeper = appKeepers.CapabilityKeeper.ScopeToModule(ibcexported.ModuleName)
appKeepers.ScopedTransferKeeper = appKeepers.CapabilityKeeper.ScopeToModule(ibctransfertypes.ModuleName)
appKeepers.ScopedOracleKeeper = appKeepers.CapabilityKeeper.ScopeToModule(oracletypes.ModuleName)

// Applications that wish to enforce statically created ScopedKeepers should call `Seal` after creating
// their scoped modules in `NewApp` with `ScopeToModule`.
Expand Down Expand Up @@ -288,7 +309,9 @@ func NewAppKeeper(
govRouter.
AddRoute(govtypes.RouterKey, govv1beta1.ProposalHandler).
AddRoute(paramproposal.RouterKey, params.NewParamChangeProposalHandler(appKeepers.ParamsKeeper)).
AddRoute(ibcclienttypes.RouterKey, ibcclient.NewClientProposalHandler(appKeepers.IBCKeeper.ClientKeeper))
AddRoute(ibcclienttypes.RouterKey, ibcclient.NewClientProposalHandler(appKeepers.IBCKeeper.ClientKeeper)).
AddRoute(psmtypes.RouterKey, psm.NewPSMProposalHandler(&appKeepers.PSMKeeper)).
AddRoute(vaultstypes.RouterKey, vaults.NewVaultsProposalHandler(&appKeepers.VaultsKeeper))

// Set legacy router for backwards compatibility with gov v1beta1.
appKeepers.GovKeeper.SetLegacyRouter(govRouter)
Expand Down Expand Up @@ -319,11 +342,52 @@ func NewAppKeeper(

appKeepers.TransferModule = transfer.NewAppModule(appKeepers.TransferKeeper)

appKeepers.OracleKeeper = oracleKeeper.NewKeeper(
appCodec,
runtime.NewKVStoreService(appKeepers.keys[oracletypes.StoreKey]),
logger,
appKeepers.AccountKeeper,
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
appKeepers.IBCKeeper.ChannelKeeper,
appKeepers.IBCKeeper.PortKeeper,
appKeepers.ScopedOracleKeeper,
)

appKeepers.PSMKeeper = psmKeeper.NewKeeper(
appCodec,
runtime.NewKVStoreService(appKeepers.keys[psmtypes.ModuleName]),
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
appKeepers.BankKeeper,
appKeepers.AccountKeeper,
appKeepers.OracleKeeper,
)

appKeepers.VaultsKeeper = *vaultsKeeper.NewKeeper(
appCodec,
runtime.NewKVStoreService(appKeepers.keys[vaultstypes.ModuleName]),
appKeepers.AccountKeeper,
appKeepers.BankKeeper,
appKeepers.OracleKeeper,
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
)

appKeepers.AuctionKeeper = auctionKeeper.NewKeeper(
appCodec,
runtime.NewKVStoreService(appKeepers.keys[auctiontypes.ModuleName]),
appKeepers.AccountKeeper,
appKeepers.BankKeeper,
&appKeepers.VaultsKeeper,
logger,
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
)

ibcmodule := transfer.NewIBCModule(appKeepers.TransferKeeper)

// Create static IBC router, add transfer route, then set and seal it.
ibcRouter := porttypes.NewRouter()
ibcRouter.AddRoute(ibctransfertypes.ModuleName, ibcmodule)
ibcRouter := porttypes.NewRouter().
AddRoute(ibctransfertypes.ModuleName, ibcmodule).
AddRoute(oracletypes.ModuleName, oraclemodule.NewIBCModule(appKeepers.OracleKeeper))

appKeepers.IBCKeeper.SetRouter(ibcRouter)

return appKeepers
Expand Down Expand Up @@ -355,6 +419,10 @@ func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino
paramsKeeper.Subspace(crisistypes.ModuleName).WithKeyTable(crisistypes.ParamKeyTable()) //nolint: staticcheck // SA1019
paramsKeeper.Subspace(ibcexported.ModuleName).WithKeyTable(keyTable)
paramsKeeper.Subspace(ibctransfertypes.ModuleName).WithKeyTable(ibctransfertypes.ParamKeyTable())
paramsKeeper.Subspace(psmtypes.ModuleName)
paramsKeeper.Subspace(auctiontypes.ModuleName)
paramsKeeper.Subspace(oracletypes.ModuleName).WithKeyTable(oracletypes.ParamKeyTable())
paramsKeeper.Subspace(vaultstypes.ModuleName)

return paramsKeeper
}
Expand All @@ -372,3 +440,11 @@ func (r *DefaultFeemarketDenomResolver) ConvertToDenom(_ sdk.Context, coin sdk.D
func (r *DefaultFeemarketDenomResolver) ExtraDenoms(_ sdk.Context) ([]string, error) {
return []string{}, nil
}

func (a AppKeepers) GetIBCKeeper() *ibckeeper.Keeper {
return a.IBCKeeper
}

func (a AppKeepers) GetScopedIBCKeeper(string) capabilitykeeper.ScopedKeeper {
return a.ScopedIBCKeeper
}
9 changes: 9 additions & 0 deletions app/keepers/keys.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ import (
capabilitytypes "github.com/cosmos/ibc-go/modules/capability/types"
ibctransfertypes "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types"
ibcexported "github.com/cosmos/ibc-go/v8/modules/core/exported"

auctiontypes "github.com/onomyprotocol/reserve/x/auction/types"
oracletypes "github.com/onomyprotocol/reserve/x/oracle/types"
psmtypes "github.com/onomyprotocol/reserve/x/psm/types"
vaultstypes "github.com/onomyprotocol/reserve/x/vaults/types"
)

func (appKeepers *AppKeepers) GenerateKeys() {
Expand All @@ -42,6 +47,10 @@ func (appKeepers *AppKeepers) GenerateKeys() {
feegrant.StoreKey,
authzkeeper.StoreKey,
consensusparamtypes.StoreKey,
auctiontypes.StoreKey,
oracletypes.StoreKey,
psmtypes.StoreKey,
vaultstypes.StoreKey,
)

// Define transient store keys.
Expand Down
35 changes: 35 additions & 0 deletions app/module.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,27 @@ import (
ibc "github.com/cosmos/ibc-go/v8/modules/core"
ibcexported "github.com/cosmos/ibc-go/v8/modules/core/exported"
ibctm "github.com/cosmos/ibc-go/v8/modules/light-clients/07-tendermint"

auctiontypes "github.com/onomyprotocol/reserve/x/auction/types"
oracletypes "github.com/onomyprotocol/reserve/x/oracle/types"
psmtypes "github.com/onomyprotocol/reserve/x/psm/types"
vaultstypes "github.com/onomyprotocol/reserve/x/vaults/types"

auction "github.com/onomyprotocol/reserve/x/auction/module"
oracle "github.com/onomyprotocol/reserve/x/oracle/module"
psm "github.com/onomyprotocol/reserve/x/psm/module"
vaults "github.com/onomyprotocol/reserve/x/vaults/module"
)

var (
// module account permissions.
maccPerms = map[string][]string{ //nolint:gochecknoglobals // cosmos-sdk application style
authtypes.FeeCollectorName: nil,
auctiontypes.ModuleName: {authtypes.Minter, authtypes.Burner},
vaultstypes.ModuleName: {authtypes.Minter, authtypes.Burner},
vaultstypes.ReserveModuleName: {authtypes.Burner},
psmtypes.ModuleName: {authtypes.Minter, authtypes.Burner},
oracletypes.ModuleName: nil,
distrtypes.ModuleName: nil,
minttypes.ModuleName: {authtypes.Minter},
stakingtypes.BondedPoolName: {authtypes.Burner, authtypes.Staking},
Expand All @@ -76,6 +91,10 @@ func appModules(
auth.NewAppModule(appCodec, app.AccountKeeper, nil, app.GetSubspace(authtypes.ModuleName)),
vesting.NewAppModule(app.AccountKeeper, app.BankKeeper),
bank.NewAppModule(appCodec, app.BankKeeper, app.AccountKeeper, app.GetSubspace(banktypes.ModuleName)),
auction.NewAppModule(appCodec, app.AuctionKeeper, app.AccountKeeper, app.BankKeeper),
vaults.NewAppModule(appCodec, app.VaultsKeeper, app.AccountKeeper, app.BankKeeper),
oracle.NewAppModule(appCodec, app.OracleKeeper, app.AccountKeeper, app.BankKeeper),
psm.NewAppModule(appCodec, app.PSMKeeper, app.AccountKeeper, app.BankKeeper),
capability.NewAppModule(appCodec, *app.CapabilityKeeper, false),
crisis.NewAppModule(app.CrisisKeeper, skipGenesisInvariants, app.GetSubspace(crisistypes.ModuleName)),
gov.NewAppModule(appCodec, app.GovKeeper, app.AccountKeeper, app.BankKeeper, app.GetSubspace(govtypes.ModuleName)),
Expand Down Expand Up @@ -133,6 +152,10 @@ func orderBeginBlockers() []string {
paramstypes.ModuleName,
vestingtypes.ModuleName,
consensusparamtypes.ModuleName,
oracletypes.ModuleName,
vaultstypes.ModuleName,
auctiontypes.ModuleName,
psmtypes.ModuleName,
}
}

Expand All @@ -157,6 +180,10 @@ func orderEndBlockers() []string {
upgradetypes.ModuleName,
vestingtypes.ModuleName,
consensusparamtypes.ModuleName,
oracletypes.ModuleName,
vaultstypes.ModuleName,
auctiontypes.ModuleName,
psmtypes.ModuleName,
}
}

Expand All @@ -181,6 +208,10 @@ func orderInitBlockers() []string {
vestingtypes.ModuleName,
consensusparamtypes.ModuleName,
crisistypes.ModuleName,
oracletypes.ModuleName,
vaultstypes.ModuleName,
auctiontypes.ModuleName,
psmtypes.ModuleName,
}
}

Expand All @@ -192,6 +223,10 @@ func simulationModules(
return []module.AppModuleSimulation{
auth.NewAppModule(appCodec, app.AccountKeeper, authsims.RandomGenesisAccounts, app.GetSubspace(authtypes.ModuleName)),
bank.NewAppModule(appCodec, app.BankKeeper, app.AccountKeeper, app.GetSubspace(banktypes.ModuleName)),
// auction.NewAppModule(appCodec, app.AuctionKeeper, app.AccountKeeper, app.BankKeeper),
// vaults.NewAppModule(appCodec, app.VaultsKeeper, app.AccountKeeper, app.BankKeeper),
// oracle.NewAppModule(appCodec, app.OracleKeeper, app.AccountKeeper, app.BankKeeper),
psm.NewAppModule(appCodec, app.PSMKeeper, app.AccountKeeper, app.BankKeeper),
capability.NewAppModule(appCodec, *app.CapabilityKeeper, false),
feegrantmodule.NewAppModule(appCodec, app.AccountKeeper, app.BankKeeper, app.FeeGrantKeeper, app.interfaceRegistry),
gov.NewAppModule(appCodec, app.GovKeeper, app.AccountKeeper, app.BankKeeper, app.GetSubspace(govtypes.ModuleName)),
Expand Down
32 changes: 32 additions & 0 deletions app/upgrades/v2.1.1/upgrade.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
// Package v1_1_4 is contains chain upgrade of the corresponding version.
package v2_1_1 //nolint:revive,stylecheck // app version

import (
"context"
upgradetypes "cosmossdk.io/x/upgrade/types"
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/types/module"

"github.com/onomyprotocol/onomy/app/keepers"
)

// Name is migration name.
const Name = "v2.1.1"

// UpgradeHandler is an x/upgrade handler.
func CreateUpgradeHandler(
mm *module.Manager,
configurator module.Configurator,
keepers *keepers.AppKeepers,
) upgradetypes.UpgradeHandler {

return func(c context.Context, _ upgradetypes.Plan, vm module.VersionMap) (module.VersionMap, error) {
ctx := sdk.UnwrapSDKContext(c)
vm, err := mm.RunMigrations(ctx, configurator, vm)
if err != nil {
return vm, err
}

return vm, nil
}
}
Loading
Loading