- (x/liquiditypool) #729 Swap feature to allow direct swap of tokens against liquiditypools.
#1088 This upgrade will migrate all Polynetwork tokens to the new Axelar tokens.
- (x/bridge) #1089 Addition of AxelarBridgeCallDenom into parameter store as Axelar requires the sending of Axelar registered tokens during the IBC transfer of GMP messages.
#1082 This upgrade focuses on the deprecation of Zilliqa related liquidity pools and markets. The denoms affected are:
axt.1.18.a67f22 dxcad.1.18.9dfb98 fees.1.18.c061fe gzil.1.18.c11154 huny.1.18.3a5a8b lunr.1.18.fa4af7 play.1.18.3cf025 port.1.18.b2261e xsgd.1.18.be52cd zil.1.18.1a4a06 zusdt.1.18.1cbca1 zwap.1.18.393529
The purpose of this upgrade is to test additional features to the Polynetwork token migration. This upgrade will migrate two tokens from the Polynetwork token to the new Axelar tokens. Below are the tokens that will be migrated and their new denominations: bnb.1.6.773edb -> brdg/1768794901f8a19c2ec795a5402653cef6cbfe6b3ec6398d39fc37de963cb667 usdc.1.17.851a3a -> brdg/d8c3db91ad4ba11fe52971b4c387b0110c8951ec0f5b8f0fb445ef0306a349e1
- (baseapp) #1078 Replace all CLI to broadcast transactions using From or Group address when available.
- (services/oracle) #1074 Fix oracle service blocking data processing pipeline during long downtime
- (api/ws) #1077 Fix read/write lock for websocket services.
This upgrade will migrate four tokens from the Polynetwork token to the new Axelar tokens. Below are the tokens that will be migrated and their new denominations: nex.1.17.59c1ba -> brdg/0b02ac3efc9df2e80d00f141133c180cdaee0122f92d3e2e310f704e82425a18 gmx.1.19.70275d -> brdg/0f18019978979327ad0ecca00adba941ebf8828f40af270f5e2a3a94c3802d72 wbnb.1.6.ad598c -> brdg/1768794901f8a19c2ec795a5402653cef6cbfe6b3ec6398d39fc37de963cb667 blur.1.2.0c0069 -> brdg/a8bbd91ae3dda9de2e50926a0d93be4d0d5cea34f3080014e5c0c0db6eaf61a4
- (x/bridge) #1061 Improve poly migration token generation script
This upgrade will migrate four tokens from the Polynetwork token to the new Axelar tokens. Below are the tokens that will be migrated and their new denominations: nex.1.17.59c1ba -> brdg/0b02ac3efc9df2e80d00f141133c180cdaee0122f92d3e2e310f704e82425a18 gmx.1.19.70275d -> brdg/0f18019978979327ad0ecca00adba941ebf8828f40af270f5e2a3a94c3802d72 wbnb.1.6.ad598c -> brdg/1768794901f8a19c2ec795a5402653cef6cbfe6b3ec6398d39fc37de963cb667 blur.1.2.0c0069 -> brdg/a8bbd91ae3dda9de2e50926a0d93be4d0d5cea34f3080014e5c0c0db6eaf61a4
- (baseapp) #1016 Polynetwork to Axelar migration code for the conversion of old Polynetwork-Bridged denominations to new Axelar-Bridged denominations. This feature includes the functionality to perform an Administrative Withdrawal of funds in the external LockProxy contract to a MutliSig EOA wallet (0x69CfA6d0F45C02aE6a24Db4A214013d0de4c6016) to assist with the transfer of fund to the new AxelarCarbonGateway contract.
- (x/bridge) #1046 Add destination address encoding validation based on connection encoding type.
- (x/coin) #1057 Add active status filtering to coin tokens GRPC query.
- (api/ws) #1054 Optimize websocket services load by reducing the number of unmarshalling of udpates.
- (x/bridge) #1062 Enforce lower cased EVM addresses for bridge token denominations and external mappings.
- (services/oracle) #1061 Fix dereference of nil pointer in oracle service error handling.
- (x/broker) #1049 Fix memstore in virtual orders causing app hash mismatch
- (x/liquidation) #1045 Fix possible chain panic
- (x/insurance) #977 Limit the maximum usage of insurance fund by each market within a interval period to prevent insurance fund draining.
- (baseapp) #1037 Override
config/config.json
with recommended values throughcarbond start
. Allows gradual tweaking of configs on behalf of validators through software upgrades to improve block time and liveliness.
- (app) #981 Refactor keepers in
app.go
as pointers to reduce the need to order keeper initialisations. - (services/oracle) #1041 Improve oracle responsiveness and accuracy.
- (baseapp) #1038 Reordering oracle processes to run after pre-blocker to ensure migrations are completed first.
- (x/otc) #951 Over The Counter (OTC) module for the OTC trading and dust conversion for users and distribution keeper.
- (baseapp) #966 Allow users to sign Carbon transactions without switching wallet network by enabling cross-chain signature verification for EIP712 signature.
- (x/oracle) #991 Change handling of oracle data to round using significant figures.
- (x/subaccount) #998 Refactor key of subaccount store for better iteration for oracle delegates.
- (x/cdp) #1000 Refactor of CDP methods with additional validation.
- (x/cdp) #1027 Addition of token name to CDP asset params query.
- (x/bridge) #754
Bridge
module integrating General Message Passing for cross-chain communication. Integration of Axelar as a bridge to Carbon.
- (db/cdp) #1011 Archiver to delete extraneous position updates to improve persistence position query speed.
- (db/cdp) #1007 Fix CDP positions all query incorrect filtering causing unpredictable number of rows returned.
- (db/postions) #1008 Fix positions all query using the incorrect pagination causing null return.
- (x/oracle) #995 Remove unused oracle vote and marks related code.
- (baseapp) #1004 Fix MetaMask signing issue.
- (x/market) #992 Refactor of market validations for newly created markets and update of markets.
- (x/broker) #1001 Fix fee deduction for spot markets to account for net available balances if a trade has been executed.
- (x/broker) #580 Deduction of fees from priority list of location for creation of closing orders without the need for the user to have available balance.
- (x/cdp) #793 Refactor of CDP repayment logic and messages into one common transaction flow.
- (x/market) #933 Addition of methods and validation to activate and deactivate markets, with store separation for faster iteration.
- (api/ws) #968 Refactor GRPCs for websocket with helper function for retrieving all records without being limited by pagination unintentionally.
- (x/oracle) #972 Improve oracle handling of decimal precision when dealing with float point data.
- (x/market) #970 Backfill of missing open interest data for spot markets and markets already settled.
- (x/oracle) #971 Redeployment of oracle contracts to fix errors in updating price data to contracts.
- (baseapp) #978 Set configurations required to re-enable ledger support.
- (x/pricing) #982 Fixed issue where valid pricing results where being delayed by one block.
- (x/cdp) #990 Added guard to prevent zero division when unlocking collateral with zero LTV.
- (services/archiver) #852 Archiver service to archive non-essential data and speed up querying of historical information from persistence. Run vacuum full on
transactions
,messages
to reclaim space after archiving has caught up.
- (x/ccm, x/headersync) #918 Removal of Zion related code.
- (x/insurance) #938 Insurance fund eligibility to only liquidity pools with sufficient liquidity to prevent funds from being drained.
- (x/cdp) #962 Health factor query for checking of health factor against persistence data.
- (services/oracle) #964 Oracle servicer optimization for faster processing and subaccount oracle delegate support.
- (x/order)#967 Fix bug where order allocated margin was not properly unmarshalled into Coin type.
- (baseapp) #b5d1c51 Removal of RocksDB as dependency for all networks.
- (x/market) #837 Add an open interest cap on futures markets.
- (baseapp) #925 Blacklist feature to prevent malicious actors from sending coins out of their address.
- (x/oracle) #865 Refactor of oracle module EVM methods into evmcontracts module.
- (baseapp) #888 Refactor naming and usage of cached context for code safety.
- (x/evmcontract) #945 Refactor evm genesis to start at block height 1 and tests to start at block height 2.
- (baseapp) #958 Remove legacy proposal code.
- (baseapp) #928 Fix pagination flag usage on CLI.
- (x/broker) #954 Fix quoting amount for perpetual AMM to account for position margin and not position PnL.
- (baseapp) #956 Fix the parsing of admin address for admin message fee.
- (x/oracle) #957 Fix oracle data parsing and validation bugs.
- (persistence) #893 Batching the insert and updates of orders to improve persistence processing speed.
- (x/oracle) #868 Update oracle processing to use tendermint p2p gossip to collate votes.
- (x/pricing) #870 Add new validation hooks and methods for token price removal.
- (x/liquidation) #927 Change liquidation order price to reflect the market mark price during liquidation.
- (baseapp) #913 Combine Cosmos-SDK Swagger and Carbon Swagger documentation into one Swagger UI.
- (baseapp) #920 Renaming of marketName field and variables to marketId.
- (services/oracle) #922 Improve error trace for oracle service adapters.
- (perpspool) #926 Remove the need to specify share token symbol when creating perpetual liquidity pool.
- (baseapp) #928 Remove legacy proposal code.
- (baseapp) #911 Fix CLI bug due to misconfiguration of autoCLI signing mode.
- (x/order) #931 Fix bug where MsgCancelAll was not working as intended.
- (services/oracle) #932 Fix oracle adapter parsing operations bug.
- (persistence) #919 Change msg proto type to handle pointer string and migrate empty string to NULL value.
- (persistence) #935 Clear persistence buffers in BeginBlock and AfterCommit to prevent collection of stale events.
- (x/cdp) #917 Revert state changes from CDP module migration bug.
- (x/liquiditypool) #864 Remove pools with uneven weights from pool routes and add validation for creating pool routes.
- (baseapp) #903 Remove unused memStoreKey.
- (baseapp) #904 Remove usage of WrapSDKContext from tests.
- (baseapp) #905 Remove deprecated msg.GetSigners method from all messages.
- (x/oracle) #908 Refactor the removal of oracle to be more explicit in EndBlock.
- (x/profile) #906 Remove username field in QueryAllProfileRequest gRPC message.
- (x/auth) #907 Fix bug where the signer in the acc_seq event was not being decoded properly.
- #884 Extract messages within MsgExec types, update granter and grantee details and flatten messages for storage.
- (proto) #885 Addition of cosmos proto.Scalar options to proto fields for readability.
- (baseapp) #890 Remove deprecated codec.ProtoMarshaler to proto.Message for keeper marshal and unmarshal.
- (baseapp) #898 Add grpc-url flag for CLI of all services.
- (api/ws) #892 Fix websocket updates for DayVolume and QuoteVolume on marketstats subscription.
- (baseapp/evm) #899 Fix getSigners Metamask eip712 transaction with amino signing.
- (baseapp/evm) #902 Fix begin/end blocker not running for evm module.
- (baseapp) e38661e Add snapshot CLI commands into root command.
- (x/broker) 181fb8f Fix wrong use of context and cachedContext in broker module.
- Fix gov proposals query due to missing legacy codec
- #796 Bump Cosmos-SDK v0.50.5
- #867 Allow for non-JSON responses for http requests.
- (x/liquiditypool) #860 Handle expiring markets during quoting of virtual orders.
- (x/order) [f606d05] Fix MustKillMarketOrders panic when there are nil market orders to kill.
- (x/liquiditypool) #856 Fix imprecise calculation in GetRewardShare.
- (services/liquidator) [ad9f026] Fix liquidator service not obtaining the full set of prices for liquidation.
- (x/liquiditypool) #856 Fix imprecise calculation in GetRewardShare.
- (baseapp) [327df3c] Fix slow test cases in production tests.
- (x/liquiditypool) #855 Handles negative coins in pool rewards calculation, causing a chain halt at block 54001067.
- (api/ws) #854 Fix MarketLiquidityUsageMultiplier not updating for new markets.
- (x/order) [f606d05] Fix MustKillMarketOrders panic when there are nil market orders to kill.
- (services/liquidator) [ad9f026] Fix liquidator service not obtaining the full set of prices for liquidation.
- (baseapp) [327df3c] Fix slow test cases in production tests.
- (x/liquiditypool) #855 Handles negative coins in pool rewards calculation, causing a chain halt at block 54001067.
- (api/ws) #854 Fix MarketLiquidityUsageMultiplier not updating for new markets.
- (baseapp) #807 Fix all unsafe uint to int conversions.
- (baseapp) #833 Refactor all use of market name to market id for code base.
- (x/broker) #834 Reduce broker endblock time by optimising ProcessDerisk.
- (baseapp) #840 Make fields in UpdateParams optional.
- (api/ws) #817 Add additional events to track edge case for open interest calculation.
- (x/coin) #830 Enforce checks where 0 withdraw amount is forbidden.
- (x/admin) #831 Add global flags to populate group proposal message when submitting a multi-sig message.
- (x/broker) #835 Fix virtual orders being squashed against liquidation orders.
- (x/pricing) #838 Fix impact price not taking into account virtual orders.
- (x/broker) #842 Fix ProcessEdits from affect AMM squashing of orders and add InsertedBlockHeight field to ensure edit order is de-prioritized in matching.
- (x/coin) #843 Add function that updates cibt token decimals to follow base token decimals.
- (x/oracle) [#851] (https://github.com/Switcheo/carbon/pull/851) Add additional checks when creating/updating oracles.
- (x/broker) 9df84d28 Reduce broker endblock time by caching GetAllPoolRoute.
- #732 Bump Cosmos-SDK to v0.47.5.
- (x/evmcontracts) #567 Intergration of EVM into
Order
,Market
andPosition
modules to enable trading via EVM. - (x/subaccount) #764 Add grpc query for subaccount cooldown time.
- (x/broker) #774, #829 Virtualization of order books to improve block performance.
- (x/auth) #813 Enable feegrant checks in antehandler decorator for signless transactions.
- (x/baseapp) #816 Whitelisting of messages authorised for governance proposals.
- (x/baseapp) #823 Normalization of the module governance proposal handlers to the updated Cosmos-SDK v0.47.5 flow.
- (x/perpspool) #769 Add quote shape validation for updates to market quote shapes.
- (baseapp) #778 Upgraded
cosmos/ledger-cosmos-go
to v0.12.4, preventing later versions of ledger firmware results in error with empty message. - (baseapp) #785 Validators can run Oracle services and Carbon on separate nodes. by specifying the
--grpc-url
flag. - #794 Standardize code base to utilize naming convention "Id" instead of "ID".
- (x/position)#797 Refactor update position code into simpler sections for trade, funding and set usage. Refactor transfer of coins from order margin to position margin.
- (baseapp) #798 Add telemetry logs for broker module and subprocesses to monitor performance.
- (x/broker) #805 Optimize order execution state machine to reduce memory usage.
- (api/ws) #770 Fixed erroneous updates resulting in negative open interest rate.
- (x/broker) #771 Orders from Perperutals AMM will always be considered maker orders.
- (x/coin, x/broker, x/liquidation) #773 Re-initialisation of module addresses without modules accounts. Normalize module address getters to ensure initialization.
- (x/adl) #782 Fixed deleverage engine from using the wrong PnL value for long position clawsback.
- (docker) #790 Fixed peer setup for docker nodes.
- (x/broker) #792 Fixed stale orderbook state during edit orders, resulting in panic when settling markets.
- (api/ws) #815 Fixed order of websocket updates for recent trades.
- (api/ws) #821 Fixed file path changes from Cosmos-SDK v0.47.5 for codec generation.
- (x/liquiditypool) #827 Fixed liquidity pool routes from double usage the same pool for different routes.
- (api/ws) Fixed calculation when adding new token into balances map for balances websocket service.
- (api/ws) #826 Fixed wrong usage of mutex embedded within structs of websocket services.
- (api/ws) #821 Fixed race conditions in destroying websocket subscriptions and global channel keys.
- (api/ws) #824 Fixed concurrent map read write for base subscription.
- (api/ws) #820 Fixed orphanded goroutines in subscriptions.
- (api/ws) #819 Fixed channel key of candlesticks affecting market chart updates.
- #810 Optimize index scans for position query to database.
- (api/ws) #766 Fix data race conditions for websocket updates.
- (baseapp)#802 Initialize snapshot directory for RocksDB.
- (x/baseapp) Add debug logs for persistence monitoring.
- #636 Addition of foreign keys for all tables.
- (x/market) #759 Reduced funding rate minimum interval to one minute.
- (x/order) #742 Refactor and normalize all kill order logic from all books and incoming orders.
- (x/liquiditypool) #761 Add event for changes to liquidity pool's reward curves.
- (x/liquiditypool) #763 Fix allocated claim counter having insufficient coins to claim liquiditypool rewards causing chain panic.
- (x/coin) #767 Fix coin validation when creating new coins.
- (x/params) #760 Migration of module parameters from x/params module (deprecated in SDK v0.47.5) to owner module's store.
- #720 Backfill of missing entry in
orders
table.