0g-chain/CHANGELOG.md
Robert Pirtle af611ca8e1
(v0.26 <- #1851) Optimize Pricefeed EndBlocker (#1895)
* Optimize Pricefeed EndBlocker (#1851)

* optimize pricefeed endblocker to iterate all markets only once to remove
overhead of opening and closing iterator for each market individually.
In addition, extend tests to cover 100% of abci and price updating
behavior.

* use test cases that can't be confused with mean to ensure median is
always used

* update kvtool to master branch

* update changelog

---------

Co-authored-by: Nick DeLuca <nickdeluca08@gmail.com>
2024-05-29 15:44:53 -07:00

17 KiB

Changelog

Unreleased

Improvements

  • (pricefeed) #1851 optimize EndBlocker to iterate all markets only once

[v0.26.0]

Features

  • (cli) #1785 Add shard CLI command to support creating partitions of data for standalone nodes
  • (cdp) [#1818] Add module param and logic for running x/cdp begin blocker every n blocks
  • (cli) #1804 Add rocksdb compact command for manual DB compaction of state or blockstore
  • (cosmos-sdk) #1811 #1846 Upgrades app to cosmos-sdk v0.47.10 with iavl v1 support
  • (validator-vesting) #1832 Add grpc query service to replace removed legacy querier
  • (incentive) #1836 Update x/incentive cli to use grpc query client
  • (ibc) #1839 Add ibc packet forward middleware for ibc transfers
  • (evmutil) #1848 Update evm native conversion logic to handle bep3 assets

v0.25.0

Features

  • (community) #1704 Add module params
  • (community) #1706 Add disable inflation upgrade
  • (community) #1745 Enable params update via governance with MsgUpdateParams
  • (client) #1784 Add Kava gRPC client

Bug Fixes

  • (ethermint) [#1788] Fixes issue where tracing a transaction could show it's status as successful when isolated in simulation even if the tx when executed on the chain failed due to an error such as exhausting the block gas meter
  • (evmutil) #1655 Initialize x/evmutil module account in InitGenesis cosmos ledger app 2.34.12

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
  • (community) #1729 Consolidate community funds from x/distribution and x/kavadist to x/community
  • (community) #1752 Set x/distribution CommunityTax to zero on inflation disable upgrade
  • (community) #1755 Keep funds in x/community in CommunityPoolLendWithdrawProposal handler
  • (staking) #1761 Set validator minimum commission to 5% for all validators under 5%

v0.24.3

Bug Fixes

  • (deps) #1770 Bump ledger-cosmos-go to v0.13.1 to resolve signing error with
  • (rocksdb) [#1767] Fix resolution of rocksdb database path introduced in v0.24.2

Note: There was a bug released as v0.24.2. The tag has been removed and the commit should not be used.

v0.24.1

Features

  • (metrics) #1668 Adds non-state breaking x/metrics module for custom telemetry.
  • (metrics) #1669 Add performance timing metrics to all Begin/EndBlockers
  • (community) #1751 Add AnnualizedRewards query endpoint

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 to ErrEVMConversionNotEnabled
  • (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 to incentive module. All HARD supply, borrow, and delegator reward objects and claims are moved to the incentive 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 to CollateralType. Previously, 'Denom' was validated to check that it satisfied sdk.ValidateDenom, now, the validation checks that the CollateralType 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 and pruning=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

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