* set CDP block interval to 100 to only run interest synchronization
for risky cdps every 100 blocks instead of every block
* refactor and use constant for setting to improve clarity; update
block interval to 50 instead of 100. This will decrease risk by
running around every 6 minutes instead of 12 mintues for current
mainnet block times.
* revert back to iavl v1 to avoid hash changes on new modules like
we are seeing on the v0.24.x to v0.25.x upgrade block. Also, add
replace statements for exp and rapid to match upstream cosmos-sdk
* fix sharding prune store logging and error return.
* add comment to clarify WithKeyTable usage
* Update cometbft, cosmos, ethermint, and ibc-go
* Replace github.com/tendermint/tendermint by github.com/cometbft/cometbft
* Replace github.com/tendermint/tm-db by github.com/cometbft/cometbft-db
* Replace gogo/protobuf with cosmos/gogoproto & simapp replacement
* Replace cosmos-sdk/simapp/helpers with cosmos-sdk/testutil/sims
* Remove no longer used simulations
* Replace ibchost with ibcexported
See https://github.com/cosmos/ibc-go/blob/v7.2.2/docs/migrations/v6-to-v7.md#ibc-module-constants
* Add new consensus params keeper
* Add consensus keeper to blockers
* Fix keeper and module issues in app.go
* Add IsSendEnabledCoins and update SetParams interface changes
* Fix protobuf build for cosmos 47 (#1800)
* fix cp errors by using -f; fix lint by only linting our proto dir;
and use proofs.proto directly from ics23 for ibc-go v7
* run proto-all; commit updated third party deps and swagger changes
* regenerate proto files
* use correct gocosmos build plugin for buf
* re-gen all protobuf files to update paths for new gocosmos plugin
* update protoc and buf to latest versions
* fix staking keeper issues in app.go
* update tally handler for gov changes
* chain id fix and flag fixes
* update deps for cometbft 47.7 upgrade
* remove all module legacy queriers
* update stakingKeeper to pointer
* Replace ModuleCdc from govv1beta1 to govcodec
* remove simulations
* abci.LastCommitInfo → abci.CommitInfo
* Remove unused code in keys.go
* simapp.MakeTestEncodingConfig -> moduletestutil.MakeTestEncodingConfi
* Fix chain id issues in tests
* Fix remaining unit test issues
* Update changelog for upgrade
* Fix e2e tests using updated kvtool
* Update protonet to v47 compatible genesis
* Bump cometbft-db to v0.9.1-kava.1
* Update kvtool
* Remove extra changelog
* Fix merged rocksdb issues
* go mod cleanup
* Bump cometbft-db to v9 and go to 1.21
* Bump rocksdb version to v8.10.0
* Update kvtool to latest version
* Update gin to v1.9.0
* Use ibctm.ModuleName in app_test
* Fallback to genesis chain id instead of client toml
* Remove all simulations
* Fix cdp migrations issue with v47
* Update dependencies to correct tags
---------
Co-authored-by: Nick DeLuca <nickdeluca08@gmail.com>
* Add authority, MsgUpdateParams
* Add e2e test for x/community UpdateParamsMsg proposal
* Ensure new params are different
* Add errors and update codec
* Update changelog
* Use single reused govAuthorityAddr
* Add unit tests for authority and msg
* Validate authority address
* Update proto comment
* Check for ErrInvalidSigner in invalid authority error
* Emit events for staking rewards
* Update test to check disable inflation check
* Only emit staking rewards event when non-zero value
* use existing transfer amount for event
* add assertion that no events are emitted for zero rewards; refactor
event assertions to be a little cleaner
---------
Co-authored-by: Nick DeLuca <nickdeluca08@gmail.com>
* add new field upgrade_time_set_staking_rewards_per_second with intention
of integrating into the disable inflation logic to set an initial
staking reward time
* when the disable inflation upgrade time occurs, set the staking rewards
per second to the value specified by the new
upgrade_time_set_staking_rewards_per_second. This will allow a decoupled
implementation between the ugprade switching logic, and the core
functionality of paying staking rewards from the pool
* add staking rewards state to community keeper and community module
genesis that is required to calculate and track staking reward payouts
accross blocks
* add implementation of staking reward payouts
* remove unused error
* touch up tests and add a test case that fully tests behavior when pool
is drained
* add function comments
* refactor and pull out main calculation to private pure function with
no dependence on keeper
* zero out default parameters -- these are too chain specific to have
useful defaults
* small touch ups on comments, test cases
* use correct Int from sdkmath, not old sdk types; update protonet genesis
for new parmater
* fix copy pasta comment
* use bond denom from staking keeper instead of referncing ukava directly
* add staking reward state for valid genesis
* update kvtool genesis for new params and rewards state
* feat: disable inflation upgrade logic
* improve disable inflation comments
* add upgrade tests
* update changelog
* split disable inflation upgrade and the upgrade check
* remove pay rewards logic
* clean up incentives test
* add abci test
* refactor upgradeTime and blockTime check
* fix abci test
* fix wrong pr in changelog
* refactor disable inflation tests, behavior, and implementation
- Unit tests are now shared between keeper and abci begin blocker
since behavior is 100% the same
- ABCI is unaware of keeper initial keeper logic branch (keeper
methods required to be called in certain order by begin blocker)
- Behavior of zero time is changed -- this now doesn't run for the
zero time. This is more ideal for new chains (genesis should set
all correct state instead of relying on inflation disable logic),
and allows for a simpler implementation.
- Begin blocker now panics if parameters are not in state
* remove previous tests and implementation
* remove previous block time keeper state -- not needed for inflation
disalbing
* move inflation disabling to private method and add more comments
* remove unused key
* use correct spelling for idempotence
---------
Co-authored-by: Nick DeLuca <nickdeluca08@gmail.com>
* add community params type
* add get/set params methods
* add community genesis state type
* add community init/export genesis
* add querier methods for params
* add query cli cmd
* update changelog
* update protonet genesis
* Add `RewardsPerSecond` param to `x/community` module (#1707)
* Add RewardsPerSecond param to community
* Update rewards per second param to int
* Add rewards_per_second to protonet genesis
* Use default rewards per second of 744191
* Include value if negative in Validate error
* Rename RewardsPerSecond param to StakingRewardsPerSecond
* Add changelog entry
* Add param migration, update consensus version to 2
* Update proto docs
* Update staking_rewards_per_second param name in protonet genesis (#1730)
* Update godoc
Co-authored-by: Robert Pirtle <Astropirtle@gmail.com>
* add genesis state tests
* document what 0 upgrade time means
* update kvtool to include new params
---------
Co-authored-by: drklee3 <derrick@dlee.dev>
Co-authored-by: Robert Pirtle <Astropirtle@gmail.com>
* initialize x/metrics with metrics collection
* include global labels in x/metrics metrics
* add x/metrics spec
* add x/metrics test coverage
* update changelog
* fix(evmutil): create module account on InitGenesis
ensures the creation of the x/evmutil module account on init genesis.
* update changelog
* cleanup debug logging
* add amino registration test
* register evmutil types on app amino codec
* register new msg type in amino and proto,
also use new register method that checks length to catch ledger issues
* clarify variable naming
* add proto for allowed sdk denoms -> evm conversion
* add validation for AllowedNativeCoinERC20Token
* add validation for AllowedNativeCoinERC20Tokens
* add AllowedNativeDenoms into params & genesis
* add evmutil Params.Validate() test
* fix eip712 ante test
* update changelog
* update internal testnet genesis.json
* update state & param specs
updates to the sections describing functionality will be updated once
that functionality actually exists... :)
* update field decimal -> decimals
field now matches erc20 spec
* add validation decimals will cast to uint8
* add v2 store migration for evmutil
* create & register evmutil migrations
* adds migrator to evmutil's keeper
* sets up Migrate1To2 migration
* registers migration in module
* updates GetParams to properly handle historic block queries
* add unit test for GetParams with historic store
* add CommunityPoolCDPRepayDebtProposal proto & type
* add cdpKeeper to x/community's keeper
* add handler for CommunityPoolCDPRepayDebtProposal
* more test cases
* rename CommunityPoolCDP -> CommunityCDP
the proposal does not interact with the vanilla community pool
* fix & test stringer
* update changelog