* 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>
14 KiB
Changelog
Unreleased
Features
- (metrics) #1668 Adds non-state breaking x/metrics module for custom telemetry.
- (metrics) #1669 Add performance timing metrics to all Begin/EndBlockers
- (community) [#1704] Add module params
- (community) #1706 Add disable inflation upgrade
Bug Fixes
- (evmutil) #1655 Initialize x/evmutil module account in InitGenesis
State Machine Breaking
- (community) [#1704] Add param to control when inflation will be disabled
- (community) #1707 Default staking rewards per second set to
744191
- (community) #1706 Add disable inflation upgrade to begin blocker that updates x/mint and x/kavadist params.
v0.24.0
Features
- (evmutil) #1590 & #1596 Add allow list param of sdk native denoms that can be transferred to evm
- (evmutil) #1591 & #1596 Configure module to support deploying ERC20KavaWrappedCosmosCoin contracts
- (evmutil) #1598 Track deployed ERC20 contract addresses for representing cosmos coins in module state
- (evmutil) #1603 Add MsgConvertCosmosCoinToERC20 for converting an sdk.Coin to an ERC20 in the EVM
- (evmutil) #1604 Emit events for MsgConvertCosmosCoinToERC20:
message
&convert_cosmos_coin_to_erc20
- (evmutil) #1605 Add query for deployed ERC20 contracts representing Cosmos coins in the EVM
- (evmutil) #1609 Add MsgConvertCosmosCoinFromERC20 for converting the ERC20 back to an sdk.Coin
- (evmutil) #1610 Add new invariant checking that ERC20s are fully backed by sdk.Coins
Client Breaking
- (evmutil) #1603 Renamed error
ErrConversionNotEnabled
toErrEVMConversionNotEnabled
- (evmutil) #1604 Renamed event types
convert_erc20_to_coin
->convert_evm_erc20_to_coin
convert_coin_to_erc20
->convert_evm_erc20_from_coin
- (evmutil) #1614 Renamed CLI commands for converting an EVM-native asset to sdk.Coin
NOTE: no changes were made to existing Msg names (
MsgConvertCoinToERC20
&MsgConvertERC20ToCoin
)convert-erc20-to-coin
->convert-evm-erc20-to-coin
convert-coin-to-erc20
->convert-evm-erc20-from-coin
- (cli) #1624 Removes unused, no-op
migrate
CLI command.
Bug Fixes
- (cli) #1624 Fix
assert-invariants
CLI command.
v0.23.2
Bug Fixes
- (deps) #1622 Bump tm-db to v0.6.7-kava.3 to return rocksdb open error
v0.23.0
Improvements
- (deps) #1477 Bump Cosmos SDK to v0.46.10.
- (deps) #1477 Bump Ethermint to v0.21.0.
- (deps) #1477 Bump ibc-go to v6.1.0.
- (deps) #1477 Migrate to CometBFT.
- (x/incentive) #1512 Add grpc query service.
- (deps) #1544 Bump confio/ics23/go to v0.9.0, cosmos/keyring to v1.2.0.
- (x/committee) #1562 Add CommunityPoolLendWithdrawPermission
- (x/community) #1563 Include x/community module pool balance in x/distribution community_pool query response.
- (x/community) #1565 Add CommunityCDPRepayDebtProposal
- (x/committee) #1566 Add CommunityCDPRepayDebtPermission
- (x/community) #1567 Add CommunityCDPWithdrawCollateralProposal
- (x/committee) #1568 Add CommunityCDPWithdrawCollateralPermission
Deprecated
- (x/validator-vesting) #1542 Deprecate legacy circulating and total supply rest endpoints.
Client Breaking
- #1477 Remove legacy REST endpoints.
- #1519 Remove required denom path parameter from hard grpc query endpoints.
Bug Fixes
- (x/incentive) #1550 Fix validation on genesis reward accumulation time.
- (deps) #1622 Bump tm-db to v0.6.7-kava.3 to return rocksdb open error
- (deps) #1631 Bump cometbft to v0.34.27-kava.0 to avoid goleveldb panic on large genesis files.
v0.16.1
State Machine Breaking
- #1152 Fix MultiSpend Proposal With Async Upgrade Time
v0.16.0
State Machine Breaking
- #1106 Upgrades app to cosmos-sdk v0.44.x and adds IBC and ICS-20 modules.
v0.13.0
- Hard Protocol - Introduces borrowing functionality to HARD protocol. See full spec
Breaking changes
-
#750 Update CDP liquidations to allow for liquidation by external keeper.
-
#751 Use accumulators for CDP interest accumulation.
-
#780 Moves HARD token distribution from
harvest
module toincentive
module. All HARD supply, borrow, and delegator reward objects and claims are moved to theincentive
module.
v0.12.0
- #701 Patch issue that prevented atomic swaps from completing successfully
v0.11.0
-
#591 Add a
raw-params
cli method to query raw parameter values for use in manual verification of gov proposals. -
#596 Add REST client and CLI query to get module account information for the CDP module
-
#590 Add CLI query to return kavadist module account balance
-
[#584] Add REST client and CLI queries for
kavadist
module -
[#578] Add v0.3 compatible REST client that supports
-
[#629] Add CDP collateral type as a field for CDPs and collateral parameters.
-
[#658] Add harvest v1 and HARD token distribution schedule
Breaking changes
- CDPs have an additional field, Type, which is a string that represents the unique collateral type that this CDP holds. This enables, for example, a single denom such as 'bnb' to have two CDP types, 'bnb-a' and 'bnb-b'.
- CollateralParam has an additional field, Type, which is a string that represents the collateral type of CDPs that this collateral parameter governs. It must be non-empty at genesis or when altering CDP fields. It is UNSAFE to alter the type of an existing collateral param using unchain governance.
- CDP messages must specify the collateral type 'bnb-a', rather than the denom of the cdp.
- In the incentive module, fields previously named
Denom
have been changed toCollateralType
. Previously, 'Denom' was validated to check that it satisfiedsdk.ValidateDenom
, now, the validation checks that theCollateralType
is not blank. - Incentive module messages now require the user to specify the collateral type ('bnb-a'), rather than the denom of the cdp ('bnb')
/v0_3/node_info
/v0_3/auth/accounts/<address>
/v0_3/<hash>
/v0_3/txs
/v0_3/staking/delegators/<address>/delegations
/v0_3/staking/delegators/<address>/unbonding_delegations
/v0_3/distribution/delegators/<address>/rewards
- #598 CLI and REST queries for committee proposals (ie
kvcli q committee proposal 1
) now query the historical state to return the proposal object before it was deleted from state - #625 The Cosmos SDK has been updated to v0.39.1. This brings with it several
breaking changes detailed
in their changelog.
Notably account JSON serialization has been modified to use amino instead of
the Go stdlib, so numbers are serialized to strings, and public keys are no
longer encoded into bech32 strings. Also pruning config has changed:
pruning=everything
andpruning=nothing
still work but there are different flags for custom pruning configuration.
v0.8.1 kava-3 Patch Release
This version mitigates a memory leak in tendermint that was found prior to launching kava-3. It is fully compatible with v0.8.0 and is intended to replace that version as the canonical software version for upgrading the Kava mainnet from kava-2 to kava-3. Note that there are no breaking changes between the versions, but a safety check was added to this version to prevent starting the node with an unsafe configuration.
Bugfix
The default tendermint pruning strategy, pruning="syncable"
is currently
unsafe due to a memory leak
that can cause irrecoverable data loss. This patch release prevents kvd
from
being started with the pruning="syncable"
configuration. Until a patch for
tendermint is released, the ONLY pruning strategies that are safe to run are
everything
(an archival node) or nothing
(only the most recent state is
kept). It is strongly recommended that validators use pruning="nothing"
for
kava-3. It is expected that a patch to tendermint will be released in a
non-breaking manner and that nodes will be able to update seamlessly after the
launch of kava-3.
The steps for upgrading to kava-3 can be found here. Please note the additional section on pruning.
v0.8.0 kava-3 Release
This version is intended to be the canonical software version for upgrading the Kava mainnet from kava-2 to kava-3. As a result, no subsequent versions of Kava will be released until kava-3 launches unless necessary due to critical state-machine faults that require a new version to launch successfully.
Migration
The steps for upgrading to kava-3 can be found here
Features
This is the first release that includes all the modules which comprise the CDP system.
State Machine Breaking Changes
(sdk) Update Cosmos-SDK version to v0.38.4. To review cosmos-sdk changes, see the changelog.
v0.3.5
- Bump tendermint version to 0.32.10 to address cosmos security advisory Lavender
v0.3.2
- #364 Use new BIP44 coin type in the CLI, retain support for the old one through a flag.
v0.3.1
- #266 Bump tendermint version to 0.32.7 to address cosmos security advisory Periwinkle
v0.3.0
Features
-
#253 Add a new validator vesting account type, which releases coins on a periodic vesting schedule based on if a specific validator signed sufficient pre-commits. If the validator didn't sign enough pre-commits, the vesting coins are burned or sent to a return address.
-
#260 Pin to cosmos-sdk commit #18de630 (tendermint 0.32.6)
Improvements
- #257 Include scripts to run large-scale simulations remotely using aws-batch