From cbbc96421cbbc4c758eeee04731a8bab3876fb4d Mon Sep 17 00:00:00 2001 From: Prathamesh Musale Date: Mon, 12 May 2025 18:35:46 +0530 Subject: [PATCH] Update token denom and add a separate staking token --- app/params/config.go | 12 ++++++------ cmd/laconicd/cmd/root.go | 4 ++-- scripts/init.sh | 19 +++++++++++++------ x/bond/params.go | 3 ++- x/registry/keeper/naming_keeper.go | 3 ++- x/registry/params.go | 12 +++++++----- 6 files changed, 32 insertions(+), 21 deletions(-) diff --git a/app/params/config.go b/app/params/config.go index 77c8747d..d0373ff9 100644 --- a/app/params/config.go +++ b/app/params/config.go @@ -10,11 +10,12 @@ import ( ) const ( - CoinUnit = "lnt" - BaseCoinUnit = "alnt" - LntExponent = 18 + CoinUnit = "lps" + BaseCoinUnit = "alps" + LpsExponent = 18 - DefaultBondDenom = BaseCoinUnit + LstakeCoinUnit = "lstake" + DefaultBondDenom = LstakeCoinUnit // Bech32PrefixAccAddr defines the Bech32 prefix of an account's address. Bech32PrefixAccAddr = "laconic" @@ -43,8 +44,7 @@ func RegisterDenoms() { if err != nil { panic(err) } - - err = sdk.RegisterDenom(BaseCoinUnit, math.LegacyNewDecWithPrec(1, LntExponent)) + err = sdk.RegisterDenom(BaseCoinUnit, math.LegacyNewDecWithPrec(1, LpsExponent)) if err != nil { panic(err) } diff --git a/cmd/laconicd/cmd/root.go b/cmd/laconicd/cmd/root.go index af1cd19e..4f6be850 100644 --- a/cmd/laconicd/cmd/root.go +++ b/cmd/laconicd/cmd/root.go @@ -21,7 +21,6 @@ import ( "github.com/cosmos/cosmos-sdk/crypto/keyring" "github.com/cosmos/cosmos-sdk/server" serverconfig "github.com/cosmos/cosmos-sdk/server/config" - sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" "github.com/cosmos/cosmos-sdk/types/tx/signing" "github.com/cosmos/cosmos-sdk/x/auth/tx" @@ -29,6 +28,7 @@ import ( "github.com/cosmos/cosmos-sdk/x/auth/types" "git.vdb.to/cerc-io/laconicd/app" + "git.vdb.to/cerc-io/laconicd/app/params" "git.vdb.to/cerc-io/laconicd/gql" ) @@ -100,7 +100,7 @@ func NewRootCmd() *cobra.Command { // overwrite the minimum gas price from the app configuration srvCfg := serverconfig.DefaultConfig() - srvCfg.MinGasPrices = fmt.Sprintf("0%s", sdk.DefaultBondDenom) + srvCfg.MinGasPrices = fmt.Sprintf("0%s", params.BaseCoinUnit) // overwrite the block timeout cmtCfg := cmtcfg.DefaultConfig() diff --git a/scripts/init.sh b/scripts/init.sh index efb1b366..6460e7a9 100755 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -1,11 +1,15 @@ #!/bin/bash +set -e + KEY="alice" CHAINID=${CHAINID:-"laconic_9000-1"} MONIKER=${MONIKER:-"localtestnet"} KEYRING=${KEYRING:-"test"} -DENOM=${DENOM:-"alnt"} -STAKING_AMOUNT=${STAKING_AMOUNT:-"1000000000000000"} +DENOM=${DENOM:-"alps"} +BALANCE=${BALANCE:-"1000000000000000000000000000000"} # 10^32 alps | 10^12 lps +STAKING_DENOM=${STAKING_DENOM:-"lstake"} +STAKING_AMOUNT=${STAKING_AMOUNT:-"1000000000000000"} # 10^15 lstake MIN_GAS_PRICE=${MIN_GAS_PRICE:-"0.001"} LOGLEVEL=${LOGLEVEL:-"info"} @@ -94,6 +98,11 @@ if [ "$1" == "clean" ] || [ ! -d "$HOME/.laconicd/data" ]; then # Set gas limit in genesis update_genesis '.consensus["params"]["block"]["max_gas"]="10000000"' + # Disable bank transfers for the staking token (lstake) + update_genesis ".app_state[\"bank\"][\"send_enabled\"] += [{\"denom\": \"$STAKING_DENOM\", \"enabled\": false}]" + + update_genesis ".app_state[\"staking\"][\"params\"][\"bond_denom\"]=\"$STAKING_DENOM\"" + # disable produce empty block if [[ "$OSTYPE" == "darwin"* ]]; then sed -i '' 's/create_empty_blocks = true/create_empty_blocks = false/g' $HOME/.laconicd/config/config.toml @@ -116,12 +125,10 @@ if [ "$1" == "clean" ] || [ ! -d "$HOME/.laconicd/data" ]; then fi # Allocate genesis accounts (cosmos formatted addresses) - # 10^30 alnt | 10^12 lnt - laconicd genesis add-genesis-account $KEY 1000000000000000000000000000000$DENOM --keyring-backend $KEYRING + laconicd genesis add-genesis-account $KEY $BALANCE$DENOM,$STAKING_AMOUNT$STAKING_DENOM --keyring-backend $KEYRING # Sign genesis transaction - # 10^15 alnt - laconicd genesis gentx $KEY $STAKING_AMOUNT$DENOM --keyring-backend $KEYRING --chain-id $CHAINID + laconicd genesis gentx $KEY $STAKING_AMOUNT$STAKING_DENOM --keyring-backend $KEYRING --chain-id $CHAINID # Collect genesis tx laconicd genesis collect-gentxs diff --git a/x/bond/params.go b/x/bond/params.go index 12901561..3c6714de 100644 --- a/x/bond/params.go +++ b/x/bond/params.go @@ -5,6 +5,7 @@ import ( fmt "fmt" sdkmath "cosmossdk.io/math" + "git.vdb.to/cerc-io/laconicd/app/params" sdk "github.com/cosmos/cosmos-sdk/types" ) @@ -17,7 +18,7 @@ func NewParams(maxBondAmount sdk.Coin) Params { // DefaultParams returns default module parameters func DefaultParams() Params { - return NewParams(sdk.NewCoin(sdk.DefaultBondDenom, DefaultMaxBondAmountTokens)) + return NewParams(sdk.NewCoin(params.BaseCoinUnit, DefaultMaxBondAmountTokens)) } // Validate checks that the parameters have valid values diff --git a/x/registry/keeper/naming_keeper.go b/x/registry/keeper/naming_keeper.go index 660173cd..925a4a42 100644 --- a/x/registry/keeper/naming_keeper.go +++ b/x/registry/keeper/naming_keeper.go @@ -15,6 +15,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "git.vdb.to/cerc-io/laconicd/app/params" auctiontypes "git.vdb.to/cerc-io/laconicd/x/auction" registrytypes "git.vdb.to/cerc-io/laconicd/x/registry" "git.vdb.to/cerc-io/laconicd/x/registry/helpers" @@ -295,7 +296,7 @@ func (k Keeper) createAuthority(ctx sdk.Context, name string, owner string, isRo moduleParams.AuthorityAuctionCommitFee, moduleParams.AuthorityAuctionRevealFee, moduleParams.AuthorityAuctionMinimumBid, - sdk.NewCoin(sdk.DefaultBondDenom, math.NewInt(0)), + sdk.NewCoin(params.BaseCoinUnit, math.NewInt(0)), 0, ownerAddress, ) diff --git a/x/registry/params.go b/x/registry/params.go index 31c8700d..858f1176 100644 --- a/x/registry/params.go +++ b/x/registry/params.go @@ -6,6 +6,8 @@ import ( sdkmath "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" + + "git.vdb.to/cerc-io/laconicd/app/params" ) // Default parameter values. @@ -60,13 +62,13 @@ func NewParams( // DefaultParams returns a default set of parameters. func DefaultParams() Params { return NewParams( - sdk.NewCoin(sdk.DefaultBondDenom, DefaultRecordRent), DefaultRecordExpiryTime, - sdk.NewCoin(sdk.DefaultBondDenom, DefaultAuthorityRent), + sdk.NewCoin(params.BaseCoinUnit, DefaultRecordRent), DefaultRecordExpiryTime, + sdk.NewCoin(params.BaseCoinUnit, DefaultAuthorityRent), DefaultAuthorityExpiryTime, DefaultAuthorityGracePeriod, DefaultAuthorityAuctionEnabled, DefaultCommitsDuration, DefaultRevealsDuration, - sdk.NewCoin(sdk.DefaultBondDenom, DefaultCommitFee), - sdk.NewCoin(sdk.DefaultBondDenom, DefaultRevealFee), - sdk.NewCoin(sdk.DefaultBondDenom, DefaultMinimumBid), + sdk.NewCoin(params.BaseCoinUnit, DefaultCommitFee), + sdk.NewCoin(params.BaseCoinUnit, DefaultRevealFee), + sdk.NewCoin(params.BaseCoinUnit, DefaultMinimumBid), ) }