From b70b885511a33bdde022f61237b29e697f5edac0 Mon Sep 17 00:00:00 2001 From: Julian Strobl Date: Mon, 26 Feb 2024 12:57:27 +0100 Subject: [PATCH] Revert "Revert unnecessary config patch (#323)" This reverts commit b1c4d11ccf3e98bd46a13d7fb54b6b5c0aefbf29. --- config/config.go | 108 ++++++++++++++---- tests/e2e/dao/asset_distribution_suite.go | 5 + .../dao/pop_participant_selection_suite.go | 8 ++ tests/e2e/dao/suite.go | 6 + x/dao/keeper/params.go | 20 ++++ x/dao/types/params.go | 8 +- x/machine/keeper/params.go | 6 + 7 files changed, 133 insertions(+), 28 deletions(-) diff --git a/config/config.go b/config/config.go index b33e099..3df7f71 100644 --- a/config/config.go +++ b/config/config.go @@ -12,34 +12,69 @@ const DefaultConfigTemplate = ` ############################################################################### [planetmint] +asset-registry-domain = "{{ .PlmntConfig.AssetRegistryDomain }}" +asset-registry-path = "{{ .PlmntConfig.AssetRegistryPath }}" +asset-registry-scheme = "{{ .PlmntConfig.AssetRegistryScheme}}" +claim-address = "{{ .PlmntConfig.ClaimAddress }}" +claim-denom = "{{ .PlmntConfig.ClaimDenom }}" +distribution-address-dao = "{{ .PlmntConfig.DistributionAddrDAO }}" +distribution-address-early-inv = "{{ .PlmntConfig.DistributionAddrEarlyInv }}" +distribution-address-investor = "{{ .PlmntConfig.DistributionAddrInvestor }}" +distribution-address-pop = "{{ .PlmntConfig.DistributionAddrPop }}" +distribution-address-strategic = "{{ .PlmntConfig.DistributionAddrStrategic }}" +distribution-offset = {{ .PlmntConfig.DistributionOffset }} +mqtt-response-timeout = {{ .PlmntConfig.MqttResponseTimeout }} +pop-epochs = {{ .PlmntConfig.PopEpochs }} +reissuance-asset = "{{ .PlmntConfig.ReissuanceAsset }}" +reissuance-epochs = {{ .PlmntConfig.ReissuanceEpochs }} rpc-host = "{{ .PlmntConfig.RPCHost }}" rpc-port = {{ .PlmntConfig.RPCPort }} rpc-user = "{{ .PlmntConfig.RPCUser }}" rpc-password = "{{ .PlmntConfig.RPCPassword }}" rpc-scheme = "{{ .PlmntConfig.RPCScheme }}" rpc-wallet = "{{ .PlmntConfig.RPCWallet }}" +staged-denom = "{{ .PlmntConfig.StagedDenom }}" +token-denom = "{{ .PlmntConfig.TokenDenom }}" +tx-gas-limit = {{ .PlmntConfig.TxGasLimit }} validator-address = "{{ .PlmntConfig.ValidatorAddress }}" mqtt-domain = "{{ .PlmntConfig.MqttDomain }}" mqtt-port = {{ .PlmntConfig.MqttPort }} mqtt-user = "{{ .PlmntConfig.MqttUser }}" mqtt-password = "{{ .PlmntConfig.MqttPassword }}" - ` // Config defines Planetmint's top level configuration type Config struct { - ConfigRootDir string `json:"config-root-dir" mapstructure:"config-root-dir"` - RPCHost string `json:"rpc-host" mapstructure:"rpc-host"` - RPCPort int `json:"rpc-port" mapstructure:"rpc-port"` - RPCUser string `json:"rpc-user" mapstructure:"rpc-user"` - RPCPassword string `json:"rpc-password" mapstructure:"rpc-password"` - RPCScheme string `json:"rpc-scheme" mapstructure:"rpc-scheme"` - RPCWallet string `json:"rpc-wallet" mapstructure:"rpc-wallet"` - ValidatorAddress string `json:"validator-address" mapstructure:"validator-address"` - MqttDomain string `json:"mqtt-domain" mapstructure:"mqtt-domain"` - MqttPort int `json:"mqtt-port" mapstructure:"mqtt-port"` - MqttUser string `json:"mqtt-user" mapstructure:"mqtt-user"` - MqttPassword string `json:"mqtt-password" mapstructure:"mqtt-password"` + AssetRegistryDomain string `json:"asset-registry-domain" mapstructure:"asset-registry-domain"` + AssetRegistryPath string `json:"asset-registry-path" mapstructure:"asset-registry-path"` + AssetRegistryScheme string `json:"asset-registry-scheme" mapstructure:"asset-registry-scheme"` + ClaimAddress string `json:"claim-address" mapstructure:"claim-address"` + ClaimDenom string `json:"claim-denom" mapstructure:"claim-denom"` + ConfigRootDir string `json:"config-root-dir" mapstructure:"config-root-dir"` + DistributionAddrDAO string `json:"distribution-addr-dao" mapstructure:"distribution-addr-dao"` + DistributionAddrEarlyInv string `json:"distribution-addr-early-inv" mapstructure:"distribution-addr-early-inv"` + DistributionAddrInvestor string `json:"distribution-addr-investor" mapstructure:"distribution-addr-investor"` + DistributionAddrPop string `json:"distribution-addr-pop" mapstructure:"distribution-addr-pop"` + DistributionAddrStrategic string `json:"distribution-addr-strategic" mapstructure:"distribution-addr-strategic"` + DistributionOffset int `json:"distribution-offset" mapstructure:"distribution-offset"` + MqttDomain string `json:"mqtt-domain" mapstructure:"mqtt-domain"` + MqttPassword string `json:"mqtt-password" mapstructure:"mqtt-password"` + MqttPort int `json:"mqtt-port" mapstructure:"mqtt-port"` + MqttResponseTimeout int `json:"mqtt-response-timeout" mapstructure:"mqtt-response-timeout"` + MqttUser string `json:"mqtt-user" mapstructure:"mqtt-user"` + PopEpochs int `json:"pop-epochs" mapstructure:"pop-epochs"` + RPCHost string `json:"rpc-host" mapstructure:"rpc-host"` + RPCPassword string `json:"rpc-password" mapstructure:"rpc-password"` + RPCPort int `json:"rpc-port" mapstructure:"rpc-port"` + RPCScheme string `json:"rpc-scheme" mapstructure:"rpc-scheme"` + RPCUser string `json:"rpc-user" mapstructure:"rpc-user"` + RPCWallet string `json:"rpc-wallet" mapstructure:"rpc-wallet"` + ReissuanceAsset string `json:"reissuance-asset" mapstructure:"reissuance-asset"` + ReissuanceEpochs int `json:"reissuance-epochs" mapstructure:"reissuance-epochs"` + StagedDenom string `json:"staged-denom" mapstructure:"staged-denom"` + TokenDenom string `json:"token-denom" mapstructure:"token-denom"` + TxGasLimit int `json:"tx-gas-limit" mapstructure:"tx-gas-limit"` + ValidatorAddress string `json:"validator-address" mapstructure:"validator-address"` } // cosmos-sdk wide global singleton @@ -51,18 +86,43 @@ var ( // DefaultConfig returns planetmint's default configuration. func DefaultConfig() *Config { return &Config{ - ConfigRootDir: "", - RPCHost: "localhost", - RPCPort: 18884, - RPCUser: "user", - RPCPassword: "password", - RPCScheme: "http", - RPCWallet: "rpcwallet", + AssetRegistryDomain: "testnet-assets.rddl.io", + AssetRegistryPath: "register_asset", + AssetRegistryScheme: "https", + ClaimAddress: "plmnt1w5dww335zhh98pzv783hqre355ck3u4w4hjxcx", + ClaimDenom: "crddl", + ConfigRootDir: "", + DistributionAddrDAO: "vjU8eMzU3JbUWZEpVANt2ePJuPWSPixgjiSj2jDMvkVVQQi2DDnZuBRVX4Ygt5YGBf5zvTWCr1ntdqYH", + DistributionAddrEarlyInv: "vjTyRN2G42Yq3T5TJBecHj1dF1xdhKF89hKV4HJN3uXxUbaVGVR76hAfVRQqQCovWaEpar7G5qBBprFG", + DistributionAddrInvestor: "vjTyRN2G42Yq3T5TJBecHj1dF1xdhKF89hKV4HJN3uXxUbaVGVR76hAfVRQqQCovWaEpar7G5qBBprFG", + DistributionAddrPop: "vjTvXCFSReRsZ7grdsAreRR12KuKpDw8idueQJK9Yh1BYS7ggAqgvCxCgwh13KGK6M52y37HUmvr4GdD", + DistributionAddrStrategic: "vjTyRN2G42Yq3T5TJBecHj1dF1xdhKF89hKV4HJN3uXxUbaVGVR76hAfVRQqQCovWaEpar7G5qBBprFG", + // `DistributionOffset` relative to `ReissuanceEpochs`. CometBFT epochs of 5s equate 30 min (12*30) + // to wait for confirmations on the reissuance + DistributionOffset: 360, + MqttDomain: "testnet-mqtt.rddl.io", + MqttPassword: "password", + MqttPort: 1885, + MqttResponseTimeout: 2000, // the value is defined in milliseconds + MqttUser: "user", + PopEpochs: 24, // 24 CometBFT epochs of 5s equate 120s + RPCHost: "localhost", + RPCPassword: "password", + RPCPort: 18884, + RPCScheme: "http", + RPCUser: "user", + RPCWallet: "rpcwallet", + ReissuanceAsset: "7add40beb27df701e02ee85089c5bc0021bc813823fedb5f1dcb5debda7f3da9", + // `ReissuanceEpochs` is a configuration parameter that determines the number of CometBFT epochs + // required for reissuance. In the context of Planetmint, reissuance refers to the process of + // issuing new tokens. This configuration parameter specifies the number of epochs (each epoch is 5 + // seconds) that need to pass before reissuance can occur. In this case, `ReissuanceEpochs` is set + // to 17280, which means that reissuance can occur after 1 day (12*60*24) of epochs. + ReissuanceEpochs: 17280, + StagedDenom: "stagedcrddl", + TokenDenom: "plmnt", + TxGasLimit: 200000, ValidatorAddress: "plmnt1w5dww335zhh98pzv783hqre355ck3u4w4hjxcx", - MqttDomain: "testnet-mqtt.rddl.io", - MqttPort: 1885, - MqttUser: "user", - MqttPassword: "password", } } diff --git a/tests/e2e/dao/asset_distribution_suite.go b/tests/e2e/dao/asset_distribution_suite.go index 8dd32e6..165c7db 100644 --- a/tests/e2e/dao/asset_distribution_suite.go +++ b/tests/e2e/dao/asset_distribution_suite.go @@ -4,6 +4,7 @@ import ( "math" "strconv" + "github.com/planetmint/planetmint-go/config" clitestutil "github.com/planetmint/planetmint-go/testutil/cli" "github.com/planetmint/planetmint-go/testutil/network" daocli "github.com/planetmint/planetmint-go/x/dao/client/cli" @@ -37,6 +38,10 @@ func (s *AssetDistributionE2ETestSuite) SetupSuite() { daoGenState.Params.ReissuanceEpochs = s.reissaunceEpochs s.cfg.GenesisState[daotypes.ModuleName] = s.cfg.Codec.MustMarshalJSON(&daoGenState) + conf := config.GetConfig() + conf.DistributionOffset = int(s.distributionOffset) + conf.ReissuanceEpochs = int(s.reissaunceEpochs) + s.network = network.Load(s.T(), s.cfg) } diff --git a/tests/e2e/dao/pop_participant_selection_suite.go b/tests/e2e/dao/pop_participant_selection_suite.go index 8698e4c..cc6ea69 100644 --- a/tests/e2e/dao/pop_participant_selection_suite.go +++ b/tests/e2e/dao/pop_participant_selection_suite.go @@ -11,6 +11,7 @@ import ( "github.com/cosmos/cosmos-sdk/crypto/keyring" sdk "github.com/cosmos/cosmos-sdk/types" bank "github.com/cosmos/cosmos-sdk/x/bank/client/cli" + "github.com/planetmint/planetmint-go/config" "github.com/planetmint/planetmint-go/lib" "github.com/planetmint/planetmint-go/testutil" clitestutil "github.com/planetmint/planetmint-go/testutil/cli" @@ -78,6 +79,13 @@ func (s *PopSelectionE2ETestSuite) SetupSuite() { daoGenState.Params.ClaimAddress = valAddr.String() s.cfg.GenesisState[daotypes.ModuleName] = s.cfg.Codec.MustMarshalJSON(&daoGenState) + conf := config.GetConfig() + conf.PopEpochs = int(s.popEpochs) + conf.ReissuanceEpochs = int(s.reissuanceEpochs) + conf.DistributionOffset = int(s.distributionOffset) + conf.MqttResponseTimeout = 200 + conf.ClaimAddress = valAddr.String() + s.network = network.Load(s.T(), s.cfg) } diff --git a/tests/e2e/dao/suite.go b/tests/e2e/dao/suite.go index 184d61a..c9b8624 100644 --- a/tests/e2e/dao/suite.go +++ b/tests/e2e/dao/suite.go @@ -9,6 +9,7 @@ import ( "cosmossdk.io/math" "github.com/cosmos/cosmos-sdk/crypto/keyring" bank "github.com/cosmos/cosmos-sdk/x/bank/client/cli" + "github.com/planetmint/planetmint-go/config" "github.com/planetmint/planetmint-go/lib" clitestutil "github.com/planetmint/planetmint-go/testutil/cli" e2etestutil "github.com/planetmint/planetmint-go/testutil/e2e" @@ -79,6 +80,11 @@ func (s *E2ETestSuite) SetupSuite() { daoGenState.Params.ClaimAddress = valAddr.String() s.cfg.GenesisState[daotypes.ModuleName] = s.cfg.Codec.MustMarshalJSON(&daoGenState) + conf := config.GetConfig() + conf.DistributionOffset = int(s.distributionOffset) + conf.ReissuanceEpochs = int(s.reissuanceEpochs) + conf.ClaimAddress = valAddr.String() + bbalances := sdk.NewCoins( sdk.NewCoin(daoGenState.Params.TokenDenom, math.NewInt(10000)), ) diff --git a/x/dao/keeper/params.go b/x/dao/keeper/params.go index 53d154f..6cb073c 100644 --- a/x/dao/keeper/params.go +++ b/x/dao/keeper/params.go @@ -2,6 +2,7 @@ package keeper import ( sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/planetmint/planetmint-go/config" "github.com/planetmint/planetmint-go/x/dao/types" ) @@ -13,6 +14,25 @@ func (k Keeper) GetParams(ctx sdk.Context) (params types.Params) { return params } k.cdc.MustUnmarshal(bz, ¶ms) + mintAddress := params.MintAddress + params = types.Params{ + ClaimAddress: config.GetConfig().ClaimAddress, + ClaimDenom: config.GetConfig().ClaimDenom, + DistributionAddressDao: config.GetConfig().DistributionAddrDAO, + DistributionAddressEarlyInv: config.GetConfig().DistributionAddrEarlyInv, + DistributionAddressInvestor: config.GetConfig().DistributionAddrInvestor, + DistributionAddressPop: config.GetConfig().DistributionAddrPop, + DistributionAddressStrategic: config.GetConfig().DistributionAddrStrategic, + DistributionOffset: int64(config.GetConfig().DistributionOffset), + MintAddress: mintAddress, + MqttResponseTimeout: int64(config.GetConfig().MqttResponseTimeout), + PopEpochs: int64(config.GetConfig().PopEpochs), + ReissuanceAsset: config.GetConfig().ReissuanceAsset, + ReissuanceEpochs: int64(config.GetConfig().ReissuanceEpochs), + StagedDenom: config.GetConfig().StagedDenom, + TokenDenom: config.GetConfig().TokenDenom, + TxGasLimit: uint64(config.GetConfig().TxGasLimit), + } return params } diff --git a/x/dao/types/params.go b/x/dao/types/params.go index 398c72b..3fd41dc 100644 --- a/x/dao/types/params.go +++ b/x/dao/types/params.go @@ -53,16 +53,16 @@ func DefaultParams() Params { "stagedcrddl", "crddl", "7add40beb27df701e02ee85089c5bc0021bc813823fedb5f1dcb5debda7f3da9", - 3600, - 5, - 75, + 17280, + 24, + 360, "vjTyRN2G42Yq3T5TJBecHj1dF1xdhKF89hKV4HJN3uXxUbaVGVR76hAfVRQqQCovWaEpar7G5qBBprFG", "vjTyRN2G42Yq3T5TJBecHj1dF1xdhKF89hKV4HJN3uXxUbaVGVR76hAfVRQqQCovWaEpar7G5qBBprFG", "vjTyRN2G42Yq3T5TJBecHj1dF1xdhKF89hKV4HJN3uXxUbaVGVR76hAfVRQqQCovWaEpar7G5qBBprFG", "vjU8eMzU3JbUWZEpVANt2ePJuPWSPixgjiSj2jDMvkVVQQi2DDnZuBRVX4Ygt5YGBf5zvTWCr1ntdqYH", "vjTvXCFSReRsZ7grdsAreRR12KuKpDw8idueQJK9Yh1BYS7ggAqgvCxCgwh13KGK6M52y37HUmvr4GdD", 2000, - "plmnt1m5apfematgm7uueazhk482026ert95x2l2dx78", + "plmnt1w5dww335zhh98pzv783hqre355ck3u4w4hjxcx", 200000) } diff --git a/x/machine/keeper/params.go b/x/machine/keeper/params.go index 4ce5d97..6f32b5e 100644 --- a/x/machine/keeper/params.go +++ b/x/machine/keeper/params.go @@ -2,6 +2,7 @@ package keeper import ( sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/planetmint/planetmint-go/config" "github.com/planetmint/planetmint-go/x/machine/types" ) @@ -13,6 +14,11 @@ func (k Keeper) GetParams(ctx sdk.Context) (params types.Params) { return params } k.cdc.MustUnmarshal(bz, ¶ms) + params = types.Params{ + AssetRegistryDomain: config.GetConfig().AssetRegistryDomain, + AssetRegistryPath: config.GetConfig().AssetRegistryPath, + AssetRegistryScheme: config.GetConfig().AssetRegistryScheme, + } return params }