cosmology-tech / starship

A k8s based unified development environment for Cosmos Ecosystem (and beyond)
https://docs.cosmology.zone/starship
MIT License
72 stars 25 forks source link

feature: add noble chain #566

Closed 0xpatrickdev closed 2 weeks ago

Anmol1696 commented 2 weeks ago

Is it just the image?

Anmol1696 commented 2 weeks ago

@0xpatrickdev with #576 we will have both docker image as well as support for noble as chain name in starship.

But on further checking there seems to be some issue with setting the default minter and owner. Getting the error:

 panic: Minting denom is not set                                                                                                                                                                                                                   │
│                                                                                                                                                                                                                                                   │
│ goroutine 1 [running]:                                                                                                                                                                                                                            │
│ github.com/circlefin/noble-fiattokenfactory/x/fiattokenfactory/keeper.(*Keeper).GetMintingDenom(_, {{0x28673a8, 0x39adfc0}, {0x28771d0, 0x4000324bc0}, {{0x0, 0x0}, {0x400113c319, 0x7}, 0x0, ...}, ...})                                         │
│     /go/pkg/mod/github.com/circlefin/noble-fiattokenfactory@v0.0.0-20240502160322-738932cb316d/x/fiattokenfactory/keeper/minting_denom.go:34 +0x19c                                                                                               │
│ github.com/noble-assets/halo/x/halo/keeper.(*Keeper).SendRestrictionFn(_, {{0x28673a8, 0x39adfc0}, {0x28771d0, 0x4000324bc0}, {{0x0, 0x0}, {0x400113c319, 0x7}, 0x0, ...}, ...}, ...)                                                             │
│     /go/pkg/mod/github.com/noble-assets/halo@v1.0.1/x/halo/keeper/keeper.go:64 +0x80                                                                                                                                                              │
│ github.com/noble-assets/noble/v7/app.New.BaseKeeper.WithSendCoinsRestriction.func2({{0x28673a8, 0x39adfc0}, {0x28771d0, 0x4000324bc0}, {{0x0, 0x0}, {0x400113c319, 0x7}, 0x0, {0x124b065c, ...}, ...}, ...}, ...)                                 │
│     /go/pkg/mod/github.com/noble-assets/cosmos-sdk@v0.45.16-send-restrictions/x/bank/keeper/keeper.go:146 +0x78                                                                                                                                   │
│ github.com/noble-assets/noble/v7/app.New.BaseKeeper.WithSendCoinsRestriction.func3({{0x28673a8, 0x39adfc0}, {0x28771d0, 0x4000324bc0}, {{0x0, 0x0}, {0x400113c319, 0x7}, 0x0, {0x124b065c, ...}, ...}, ...}, ...)                                 │
│     /go/pkg/mod/github.com/noble-assets/cosmos-sdk@v0.45.16-send-restrictions/x/bank/keeper/keeper.go:150 +0xe0                                                                                                                                   │
│ github.com/cosmos/cosmos-sdk/x/bank/keeper.BaseSendKeeper.SendCoins({{{0x2877c60, 0x40001e3330}, {0x284c330, 0x40011be4e0}, {0x2879198, 0x4000234360}}, {0x2877c60, 0x40001e3330}, {0x2879198, 0x4000234360}, ...}, ...)                          │
│     /go/pkg/mod/github.com/noble-assets/cosmos-sdk@v0.45.16-send-restrictions/x/bank/keeper/send.go:148 +0x80                                                                                                                                     │
│ github.com/cosmos/cosmos-sdk/x/bank/keeper.BaseKeeper.SendCoinsFromModuleToModule({{{{0x2877c60, 0x40001e3330}, {0x284c330, 0x40011be4e0}, {0x2879198, 0x4000234360}}, {0x2877c60, 0x40001e3330}, {0x2879198, 0x4000234360}, ...}, ...}, ...)     │
│     /go/pkg/mod/github.com/noble-assets/cosmos-sdk@v0.45.16-send-restrictions/x/bank/keeper/keeper.go:357 +0x12c                                                                                                                                  │
│ github.com/cosmos/cosmos-sdk/x/staking/keeper.Keeper.notBondedTokensToBonded({{0x284c330, 0x40011be5c0}, {0x2877c60, 0x40001e3330}, {0x2868758, 0x4000234480}, {0xffff75787758, 0x40001ff080}, {0x2876720, 0x4001164340}, ...}, ...)              │
│     /go/pkg/mod/github.com/noble-assets/cosmos-sdk@v0.45.16-send-restrictions/x/staking/keeper/pool.go:30 +0x204                                                                                                                                  │
│ github.com/cosmos/cosmos-sdk/x/staking/keeper.Keeper.ApplyAndReturnValidatorSetUpdates({{0x284c330, 0x40011be5c0}, {0x2877c60, 0x40001e3330}, {0x2868758, 0x4000234480}, {0xffff75787758, 0x40001ff080}, {0x2876720, 0x4001164340}, ...}, ...)    │
│     /go/pkg/mod/github.com/noble-assets/cosmos-sdk@v0.45.16-send-restrictions/x/staking/keeper/val_state_change.go:210 +0xea0                                                                                                                     │
│ github.com/cosmos/cosmos-sdk/x/genutil.DeliverGenTxs({{0x28673a8, 0x39adfc0}, {0x28771d0, 0x4000324bc0}, {{0x0, 0x0}, {0x400113c319, 0x7}, 0x0, {0x124b065c, ...}, ...}, ...}, ...)                                                               │
│     /go/pkg/mod/github.com/noble-assets/cosmos-sdk@v0.45.16-send-restrictions/x/genutil/gentx.go:114 +0x1c0                                                                                                                                       │
│ github.com/cosmos/cosmos-sdk/x/genutil.InitGenesis(...)                                                                                                                                                                                           │
│     /go/pkg/mod/github.com/noble-assets/cosmos-sdk@v0.45.16-send-restrictions/x/genutil/genesis.go:18                                                                                                                                             │
│ github.com/cosmos/cosmos-sdk/x/genutil.AppModule.InitGenesis({{}, {_, _}, {_, _}, _, {_, _}}, {{0x28673a8, 0x39adfc0}, ...}, ...)                                                                                                                 │
│     /go/pkg/mod/github.com/noble-assets/cosmos-sdk@v0.45.16-send-restrictions/x/genutil/module.go:98 +0x100                                                                                                                                       │
│ github.com/cosmos/cosmos-sdk/types/module.(*Manager).InitGenesis(_, {{0x28673a8, 0x39adfc0}, {0x28771d0, 0x4000324bc0}, {{0x0, 0x0}, {0x400113c319, 0x7}, 0x0, ...}, ...}, ...)                                                                   │
│     /go/pkg/mod/github.com/noble-assets/cosmos-sdk@v0.45.16-send-restrictions/types/module/module.go:327 +0x194                                                                                                                                   │
│ github.com/noble-assets/noble/v7/app.(*App).InitChainer(_, {{0x28673a8, 0x39adfc0}, {0x28771d0, 0x4000324bc0}, {{0x0, 0x0}, {0x400113c319, 0x7}, 0x0, ...}, ...}, ...)                                                                            │
│     /go/src/github.com/noble-assets/noble/app/app.go:804 +0x1cc                                                                                                                                                                                   │
│ github.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).InitChain(0x4000369a40, {{0x124b065c, 0xedeb45d3c, 0x0}, {0x400113c319, 0x7}, 0x40011664e0, {0x39adfc0, 0x0, 0x0}, ...})                                                                          │
│     /go/pkg/mod/github.com/noble-assets/cosmos-sdk@v0.45.16-send-restrictions/baseapp/abci.go:63 +0x34c                                                                                                                                           │
│ github.com/tendermint/tendermint/abci/client.(*localClient).InitChainSync(0x400058e780, {{0x124b065c, 0xedeb45d3c, 0x0}, {0x400113c319, 0x7}, 0x40011664e0, {0x39adfc0, 0x0, 0x0}, ...})                                                          │
│     /go/pkg/mod/github.com/cometbft/cometbft@v0.34.27/abci/client/local_client.go:272 +0x188                                                                                                                                                      │
│ github.com/tendermint/tendermint/proxy.(*appConnConsensus).InitChainSync(0x40002dbc80?, {{0x124b065c, 0xedeb45d3c, 0x0}, {0x400113c319, 0x7}, 0x40011664e0, {0x39adfc0, 0x0, 0x0}, ...})                                                          │
│     /go/pkg/mod/github.com/cometbft/cometbft@v0.34.27/proxy/app_conn.go:77 +0x80                                                                                                                                                                  │
│ github.com/tendermint/tendermint/consensus.(*Handshaker).ReplayBlocks(_, {{{0xb, 0x0}, {0x1d28a3c, 0x7}}, {0x400113c319, 0x7}, 0x1, 0x0, {{0x0, ...}, ...}, ...}, ...)                                                                            │
│     /go/pkg/mod/github.com/cometbft/cometbft@v0.34.27/consensus/replay.go:319 +0xb80                                                                                                                                                              │
│ github.com/tendermint/tendermint/consensus.(*Handshaker).Handshake(0x4000defbd0, {0x287a610, 0x4000ff8b60})                                                                                                                                       │
│     /go/pkg/mod/github.com/cometbft/cometbft@v0.34.27/consensus/replay.go:268 +0x324                                                                                                                                                              │
│ github.com/tendermint/tendermint/node.doHandshake({_, _}, {{{0xb, 0x0}, {0x1d28a3c, 0x7}}, {0x400113c319, 0x7}, 0x1, 0x0, ...}, ...)                                                                                                              │
│     /go/pkg/mod/github.com/cometbft/cometbft@v0.34.27/node/node.go:329 +0x11c                                                                                                                                                                     │
│ github.com/tendermint/tendermint/node.NewNode(0x400063bcc0, {0x284f6e0, 0x4000ff5c20}, 0x4000059f50, {0x2846c60, 0x4000201bc0}, 0x2846c20?, 0x4000fed1e0?, 0x4000df09d8, {0x2867488, ...}, ...)
Anmol1696 commented 2 weeks ago

If you are able to figure out exactly how to change the genesis file, then we have a special way to handle custom chain scripts like here for injective: https://github.com/cosmology-tech/starship/blob/main/starship/charts/devnet/scripts/injective/update-genesis.sh

You can maybe open a PR with file: charts/devnet/scripts/noble/update-genesis.sh that has the changes needed. FYI you can basically change all the default scripts from: charts/devnet/scripts/default and overwirte them.

After that you just need to update the default settings for the chain scripts like so: https://github.com/cosmology-tech/starship/blob/main/starship/charts/devnet/defaults.yaml#L190

Here are the details of the allowed scripts directive: https://docs.cosmology.zone/starship/config/chains#scripts-optional

Anmol1696 commented 2 weeks ago

I will still go ahead and merge #576, so you can just make the changes directly in main. Although it would be a beta support.

0xpatrickdev commented 2 weeks ago

Thanks @Anmol1696 ! Here is a PR for the genesis state requirements: https://github.com/cosmology-tech/starship/pull/579