CHANGELOG
v21.0.0
Features
- 2633 - support for stateful precompiled contracts
- 2788 - add common importable zetacored rpc package
- 2784 - staking precompiled contract
- 2795 - support restricted address in Solana
- 2861 - emit events from staking precompile
- 2860 - bank precompiled contract
- 2870 - support for multiple Bitcoin chains in the zetaclient
- 2883 - add chain static information for btc signet testnet
- 2907 - derive Bitcoin tss address by chain id and added more Signet static info
- 2911 - add chain static information for btc testnet4
- 2904 - integrate authenticated calls smart contract functionality into protocol
- 2919 - add inbound sender to revert context
- 2957 - enable Bitcoin inscription support on testnet
- 2896 - add TON inbound observation
- 2987 - add non-EVM standard inbound memo package
- 2979 - add fungible keeper ability to lock/unlock ZRC20 tokens
- 3012 - integrate authenticated calls erc20 smart contract functionality into protocol
- 3025 - standard memo for Bitcoin inbound
Refactor
- 2749 - fix all lint errors from govet
- 2725 - refactor SetCctxAndNonceToCctxAndInboundHashToCctx to receive tsspubkey as an argument
- 2802 - set default liquidity cap for new ZRC20s
- 2826 - remove unused code from emissions module and add new parameter for fixed block reward amount
- 2890 - refactor
MsgUpdateChainInfo
to accept a single chain, and addMsgRemoveChainInfo
to remove a chain - 2899 - remove btc deposit fee v1 and improve unit tests
- 2952 - add error_message to cctx.status
- 3039 - use
btcd
native APIs to handle Bitcoin Taproot address
Tests
- 2661 - update connector and erc20Custody addresses in tss migration e2e tests
- 2703 - add e2e tests for stateful precompiled contracts
- 2830 - extend staking precompile tests
- 2867 - skip precompiles test for tss migration
- 2833 - add e2e framework for TON blockchain
- 2874 - add support for multiple runs for precompile tests
- 2895 - add e2e test for bitcoin deposit and call
- 2894 - increase gas limit for TSS vote tx
- 2932 - add gateway upgrade as part of the upgrade test
- 2947 - initialize simulation tests
Fixes
- 2674 - allow operators to vote on ballots associated with discarded keygen without affecting the status of the current keygen.
- 2672 - check observer set for duplicates when adding a new observer or updating an existing one
- 2735 - fix the outbound tracker blocking confirmation and outbound processing on EVM chains by locally index outbound txs in zetaclient
- 2944 - add tsspubkey to index for tss keygen voting
- 2842 - fix: move interval assignment out of cctx loop in EVM outbound tx scheduler
- 2853 - calling precompile through sc with sc state update
- 2925 - add recover to init chainer to diplay informative message when starting a node from block 1
- 2909 - add legacy messages back to codec for querier backward compatibility
- 3018 - support
DepositAndCall
andWithdrawAndCall
with empty payload - 3030 - Avoid storing invalid Solana gateway address in the
SetGatewayAddress
- 3047 - wrong block hash in subscribe new heads
v20.0.0
Features
- 2578 - add Gateway address in protocol contract list
- 2630 - implement
MsgMigrateERC20CustodyFunds
to migrate the funds from the ERC20Custody to a new contracts (to be used for the new ERC20Custody contract for smart contract V2) - 2578 - Add Gateway address in protocol contract list
- 2594 - Integrate Protocol Contracts V2 in the protocol
- 2634 - add support for EIP-1559 gas fees
- 2597 - Add generic rpc metrics to zetaclient
- 2538 - add background worker routines to shutdown zetaclientd when needed for tss migration
- 2681 - implement
MsgUpdateERC20CustodyPauseStatus
to pause or unpause ERC20 Custody contract (to be used for the migration process for smart contract V2) - 2644 - add created_timestamp to cctx status
- 2673 - add relayer key importer, encryption and decryption
- 2633 - support for stateful precompiled contracts
- 2751 - add RPC status check for Solana chain
- 2788 - add common importable zetacored rpc package
- 2784 - staking precompiled contract
- 2795 - support restricted address in Solana
- 2825 - add Bitcoin inscriptions support
Refactor
Tests
- 2726 - add e2e tests for deposit and call, deposit and revert
- 2821 - V2 protocol contracts migration e2e tests
Fixes
- 2654 - add validation for authorization list in when validating genesis state for authorization module
- 2672 - check observer set for duplicates when adding a new observer or updating an existing one
- 2824 - fix Solana deposit number
v19.0.0
Breaking Changes
- 2460 - Upgrade to go 1.22. This required us to temporarily remove the QUIC backend from go-libp2p. If you are a zetaclient operator and have configured quic peers, you need to switch to tcp peers.
- List of the other breaking changes can be found in this document
Features
- 2032 - improve some general structure of the ZetaClient codebase
- 2100 - cosmos v0.47 upgrade
- 2145 - add
ibc
andibc-transfer
modules - 2135 - add develop build version logic
- 2152 - custom priority nonce mempool
- 2113 - add zetaclientd-supervisor process
- 2154 - add
ibccrosschain
module - 2282 - modify rpc methods to support synthetic txs
- 2258 - add Optimism and Base in static chain information
- 2287 - implement
MsgUpdateChainInfo
message - 2279 - add a CCTXGateway field to chain static data
- 2275 - add ChainInfo singleton state variable in authority
- 2291 - initialize cctx gateway interface
- 2289 - add an authorization list to keep track of all authorizations on the chain
- 2305 - add new messages
MsgAddAuthorization
andMsgRemoveAuthorization
that can be used to update the authorization list - 2313 - add
CheckAuthorization
function to replace theIsAuthorized
function. The new function uses the authorization list to verify the signer's authorization - 2312 - add queries
ShowAuthorization
andListAuthorizations
- 2319 - use
CheckAuthorization
function in all messages - 2325 - revert telemetry server changes
- 2339 - add binaries related question to syncing issue form
- 2366 - add migration script for adding authorizations table
- 2372 - add queries for tss fund migration info
- 2416 - add Solana chain information
- 2465 - add Solana inbound SOL token observation
- 2497 - support for runtime chain (de)provisioning
- 2518 - add support for Solana address in zetacore
- 2483 - add priorityFee (gasTipCap) gas to the state
- 2567 - add sign latency metric to zetaclient (zetaclient_sign_latency)
- 2524 - add inscription envelop parsing
- 2560 - add support for Solana SOL token withdraw
- 2533 - parse memo from both OP_RETURN and inscription
- 2765 - bitcoin depositor fee improvement
Refactor
- 2094 - upgrade go-tss to use cosmos v0.47
- 2110 - move non-query rate limiter logic to zetaclient side and code refactor
- 2032 - improve some general structure of the ZetaClient codebase
- 2097 - refactor lightclient verification flags to account for individual chains
- 2071 - Modify chains struct to add all chain related information
- 2118 - consolidate inbound and outbound naming
- 2124 - removed unused variables and method
- 2150 - created
chains
zetacore
orchestrator
packages in zetaclient and reorganized source files accordingly - 2210 - removed unnecessary panics in the zetaclientd process
- 2205 - remove deprecated variables pre-v17
- 2226 - improve Go formatting with imports standardization and max line length to 120
- 2262 - refactor MsgUpdateZRC20 into MsgPauseZrc20 and MsgUnPauseZRC20
- 2290 - rename
MsgAddBlameVote
message toMsgVoteBlame
- 2269 - refactor MsgUpdateCrosschainFlags into MsgEnableCCTX, MsgDisableCCTX and MsgUpdateGasPriceIncreaseFlags
- 2306 - refactor zetaclient outbound transaction signing logic
- 2296 - move
testdata
package totestutil
to organize test-related utilities - 2317 - add ValidateOutbound method for cctx orchestrator
- 2340 - add ValidateInbound method for cctx orchestrator
- 2344 - group common data of EVM/Bitcoin signer and observer using base structs
- 2357 - integrate base Signer structure into EVM/Bitcoin Signer
- 2359 - integrate base Observer structure into EVM/Bitcoin Observer
- 2375 - improve & speedup code formatting
- 2380 - use
ChainInfo
inauthority
to allow dynamically support new chains - 2395 - converge AppContext with ZetaCoreContext in zetaclient
- 2428 - propagate context across codebase & refactor zetacore client
- 2464 - move common voting logic to voting.go and add new function VoteOnBallot
- 2515 - replace chainName by chainID for ChainNonces indexing
- 2541 - deprecate ChainName field in Chain object
- 2542 - adjust permissions to be more restrictive
- 2572 - turn off IBC modules
- 2556 - refactor migrator length check to use consensus type
- 2568 - improve AppContext by converging chains, chainParams, enabledChains, and additionalChains into a single zctx.Chain
Tests
- 2047 - fix liquidity cap advanced test
- 2181 - add more assertion and test cases in ZEVM message passing E2E tests
- 2184 - add tx priority checks to e2e tests
- 2199 - custom priority mempool unit tests
- 2240 - removed hard-coded Bitcoin regnet chainID in E2E withdraw tests
- 2266 - try fixing E2E test
crosschain_swap
failurebtc transaction not signed
- 2294 - add and fix existing ethermint rpc unit test
- 2329 - fix TODOs in rpc unit tests
- 2342 - extend rpc unit tests with testing extension to include synthetic ethereum txs
- 2299 - add
zetae2e
command to deploy test contracts - 2364 - add stateful upgrade test
- 2360 - add stateful e2e tests.
- 2349 - add TestBitcoinDepositRefund and WithdrawBitcoinMultipleTimes E2E tests
- 2368 - eliminate panic usage across testing suite
- 2369 - fix random cross-chain swap failure caused by using tiny UTXO
- 2549 - add separate accounts for each policy in e2e tests
- 2415 - add e2e test for upgrade and test admin functionalities
- 2440 - Add e2e test for TSS migration
- 2473 - add e2e tests for most used admin transactions
Fixes
- 1484 - replaced hard-coded
MaxLookaheadNonce
with a default lookback factor - 2125 - fix develop upgrade test
- 2222 - removed
maxHeightDiff
to let observer scan from Bitcoin height where it left off - 2233 - fix
IsSupported
flag not properly updated in zetaclient's context - 2243 - fix incorrect bitcoin outbound height in the CCTX outbound parameter
- 2256 - fix rate limiter falsely included reverted non-withdraw cctxs
- 2327 - partially cherry picked the fix to Bitcoin outbound dust amount
- 2362 - set 1000 satoshis as minimum BTC amount that can be withdrawn from zEVM
- 2382 - add tx input and gas in rpc methods for synthetic eth txs
- 2396 - special handle bitcoin testnet gas price estimator
- 2434 - the default database when running
zetacored init
is now pebbledb - 2481 - increase gas limit inbound and outbound vote message to 500k
- 2545 - check solana minimum rent exempt to avoid outbound failure
- 2547 - limit max txs in priority mempool
- 2628 - avoid submitting invalid hashes to outbound tracker
CI
- 2388 - added GitHub attestations of binaries produced in the release workflow.
- 2285 - added nightly EVM performance testing pipeline, modified localnet testing docker image to utilize debian:bookworm, removed build-jet runners where applicable, removed deprecated/removed upgrade path testing pipeline
- 2268 - updated the publish-release pipeline to utilize the Github Actions Ubuntu 20.04 Runners
- 2070 - Added commands to build binaries from the working branch as a live full node rpc to test non-governance changes
- 2119 - Updated the release pipeline to only run on hotfix/ and release/ branches. Added option to only run pre-checks and not cut release as well. Switched approval steps to use environments
- 2189 - Updated the docker tag when a release trigger runs to be the github event for the release name which should be the version. Removed mac specific build as the arm build should handle that
- 2191 - Fixed conditional logic for the docker build step for non release builds to not overwrite the github tag
- 2192 - Added release status checker and updater pipeline that will update release statuses when they go live on network
- 2335 - ci: updated the artillery report to publish to artillery cloud
- 2377 - ci: adjusted sast-linters.yml to not scan itself, nor alert on removal of nosec.
- 2400 - ci: adjusted the performance test to pass or fail pipeline based on test results, alert slack, and launch network with state. Fixed connection issues as well.
- 2425 - Added verification to performance testing pipeline to ensure p99 aren't above 2000ms and p50 aren't above 40ms, Tweaked the config to 400 users requests per second. 425 is the current max before it starts failing.
Documentation
- 2321 - improve documentation for ZetaClient functions and packages
Performance
- 2482 - increase the outbound tracker buffer length from 2 to 5
v18.0.0
- 2470 - add Polygon, Base and Base Sepolia in static chain info
v17.0.1
Fixes
- hotfix/v17.0.1 - modify the amount field in CCTXs that carry dust BTC amounts to avoid dust output error
v17.0.0
Fixes
- 2249 - fix inbound and outbound validation for BSC chain
- 2265 - fix rate limiter query for revert cctxs
v16.0.0
Breaking Changes
-
Admin policies have been moved from
observer
to a new moduleauthority
- Updating admin policies now requires to send a governance proposal executing the
UpdatePolicies
message in theauthority
module - The
Policies
query of theauthority
module must be used to get the current admin policies PolicyType_group1
has been renamed intoPolicyType_groupEmergency
andPolicyType_group2
has been renamed intoPolicyType_groupAdmin
- Updating admin policies now requires to send a governance proposal executing the
-
A new module called
lightclient
has been created for the blocker header and proof functionality to add inbound and outbound trackers in a permissionless manner (currently deactivated on live networks)- The list of block headers are now stored in the
lightclient
module instead of theobserver
module- The message to vote on new block headers is still in the
observer
module but has been renamed toMsgVoteBlockHeader
instead ofMsgAddBlockHeader
- The
GetAllBlockHeaders
query has been moved to thelightclient
module and renamed toBlockHeaderAll
- The
GetBlockHeaderByHash
query has been moved to thelightclient
module and renamed toBlockHeader
- The
GetBlockHeaderStateByChain
query has been moved to thelightclient
module and renamed toChainState
- The
Prove
query has been moved to thelightclient
module - The
BlockHeaderVerificationFlags
has been deprecated inCrosschainFlags
,VerificationFlags
should be used instead
- The message to vote on new block headers is still in the
- The list of block headers are now stored in the
-
MsgGasPriceVoter
message in thecrosschain
module has been renamed toMsgVoteGasPrice
- The structure of the message remains the same
-
MsgCreateTSSVoter
message in thecrosschain
module has been moved to theobserver
module and renamed toMsgVoteTSS
- The structure of the message remains the same
Refactor
- 1511 - move ballot voting logic from
crosschain
toobserver
- 1783 - refactor zetaclient metrics naming and structure
- 1774 - split params and config in zetaclient
- 1831 - removing unnecessary pointers in context structure
- 1864 - prevent panic in param management
- 1848 - create a method to observe deposits to tss address in one evm block
- 1885 - change important metrics on port 8123 to be prometheus compatible
- 1863 - remove duplicate ValidateChainParams function
- 1914 - move crosschain flags to core context in zetaclient
- 1948 - remove deprecated GetTSSAddress query in crosschain module
- 1936 - refactor common package into subpackages and rename to pkg
- 1966 - move TSS vote message from crosschain to observer
- 1853 - refactor vote inbound tx and vote outbound tx
- 1815 - add authority module for authorized actions
- 1976 - add lightclient module for header and proof functionality
- 2001 - replace broadcast mode block with sync and remove fungible params
- 1989 - simplify
IsSendOutTxProcessed
method and add unit tests - 2013 - rename
GasPriceVoter
message toVoteGasPrice
- 2059 - Remove unused params from all functions in zetanode
- 2071 - Modify chains struct to add all chain related information
- 2076 - automatically deposit native zeta to an address if it doesn't exist on ZEVM
- 2169 - Limit zEVM revert transactions to coin type ZETA
Features
- 1789 - block cross-chain transactions that involve restricted addresses
- 1755 - use evm JSON RPC for inbound tx (including blob tx) observation
- 1884 - added zetatool cmd, added subcommand to filter deposits
- 1942 - support Bitcoin P2TR, P2WSH, P2SH, P2PKH addresses
- 1935 - add an operational authority group
- 1954 - add metric for concurrent keysigns
- 1979 - add script to import genesis data into an existing genesis file
- 2006 - add Amoy testnet static chain information
- 2045 - add grpc query with outbound rate limit for zetaclient to use
- 2046 - add state variable in crosschain for rate limiter flags
- 2034 - add support for zEVM message passing
- 1825 - add a message to withdraw emission rewards
Tests
- 1767 - add unit tests for emissions module begin blocker
- 1816 - add args to e2e tests
- 1791 - add e2e tests for feature of restricted address
- 1787 - add unit tests for cross-chain evm hooks and e2e test failed withdraw to BTC legacy address
- 1840 - fix code coverage test failures ignored in CI
- 1870 - enable emissions pool in local e2e testing
- 1868 - run e2e btc tests locally
- 1851 - rename usdt to erc20 in e2e tests
- 1872 - remove usage of RPC in unit test
- 1805 - add admin and performance test and fix upgrade test
- 1879 - full coverage for messages in types packages
- 1899 - add empty test files so packages are included in coverage
- 1900 - add testing for external chain migration
- 1903 - common package tests
- 1961 - improve observer module coverage
- 1967 - improve crosschain module coverage
- 1955 - improve emissions module coverage
- 1941 - add unit tests for zetacore package
- 1985 - improve fungible module coverage
- 1992 - remove setupKeeper from crosschain module
- 2008 - add test for connector bytecode update
- 2047 - fix liquidity cap advanced test
- 2076 - automatically deposit native zeta to an address if it doesn't exist on ZEVM
Fixes
- 1861 - fix
ObserverSlashAmount
invalid read - 1880 - lower the gas price multiplier for EVM chains
- 1883 - zetaclient should check 'IsSupported' flag to pause/unpause a specific chain
- 2076 - automatically deposit native zeta to an address if it doesn't exist on ZEVM
- 1633 - zetaclient should be able to pick up new connector and erc20Custody addresses
- 1944 - fix evm signer unit tests
- 1888 - zetaclient should stop inbound/outbound txs according to cross-chain flags
- 1970 - remove the timeout in the evm outtx tracker processing thread
Chores
- 1814 - fix code coverage ignore for protobuf generated files
CI
- 1958 - Fix e2e advanced test debug checkbox
- 1945 - update advanced testing pipeline to not execute tests that weren't selected so they show skipped instead of skipping steps
- 1940 - adjust release pipeline to be created as pre-release instead of latest
- 1867 - default restore_type for full node docker-compose to snapshot instead of statesync for reliability
- 1891 - fix typo that was introduced to docker-compose and a typo in start.sh for the docker start script for full nodes
- 1894 - added download binaries and configs to the start sequence so it will download binaries that don't exist
- 1953 - run E2E tests for all PRs
Version: v15.0.0
Features
- 1912 - add reset chain nonces msg
Version: v14.0.1
- 1817 - Add migration script to fix pending and chain nonces on testnet
Version: v13.0.0
Breaking Changes
zetaclientd start
: now requires 2 inputs from stdin: hotkey password and tss keyshare password
Starting zetaclient now requires two passwords to be input; one for the hotkey and another for the tss key-share
Features
- 1698 - bitcoin dynamic depositor fee
Docs
- 1731 added doc for hotkey and tss key-share password prompts
Features
- [1728] (#1728) - allow aborted transactions to be refunded by minting tokens to zEvm
Refactor
- 1766 - Refactors the
PostTxProcessing
EVM hook functionality to deal with invalid withdraw events - 1630 - added password prompts for hotkey and tss keyshare in zetaclient
- 1760 - Make staking keeper private in crosschain module
- 1809 - Refactored tryprocessout function in evm signer
Fixes
- 1678 - clean cached stale block to fix evm outtx hash mismatch
- 1690 - double watched gas prices and fix btc scheduler
- 1687 - only use EVM supported chains for gas stability pool
- 1692 - fix get params query for emissions module
- 1706 - fix CLI crosschain show-out-tx-tracker
- 1707 - fix bitcoin fee rate estimation
- 1712 - increase EVM outtx inclusion timeout to 20 minutes
- 1733 - remove the unnecessary 2x multiplier in the convertGasToZeta RPC
- 1721 - zetaclient should provide bitcoin_chain_id when querying TSS address
- 1744 - added cmd to encrypt tss keyshare file, allowing empty tss password for backward compatibility
Tests
- 1584 - allow to run E2E tests on any networks
- 1746 - rename smoke tests to e2e tests
- 1753 - fix gosec errors on usage of rand package
- 1762 - improve coverage for fungible module
- 1782 - improve coverage for fungible module system contract
CI
- Adjusted the release pipeline to be a manually executed pipeline with an approver step. The pipeline now executes all the required tests run before the approval step unless skipped
- Added pipeline to build and push docker images into dockerhub on release for ubuntu and macos
- Adjusted the pipeline for building and pushing docker images for MacOS to install and run docker
- Added docker-compose and make commands for launching full nodes.
make mainnet-zetarpc-node
make mainnet-bitcoind-node
- Made adjustments to the docker-compose for launching mainnet full nodes to include examples of using the docker images build from the docker image build pipeline
- 1736 - chore: add Ethermint endpoints to OpenAPI
- Re-wrote Dockerfile for building Zetacored docker images
- Adjusted the docker-compose files for Zetacored nodes to utilize the new docker image
- Added scripts for the new docker image that facilitate the start up automation
- Adjusted the docker pipeline slightly to pull the version on PR from the app.go file
- 1781 - add codecov coverage report in CI
- fixed the download binary script to use relative pathing from binary_list file
Features
- 1425 add
whitelist-erc20
command
Chores
Version: v12.2.4
Fixes
- 1638 - additional check to make sure external chain height always increases
- 1672 - paying 50% more than base gas price to buffer EIP1559 gas price increase
- 1642 - Change WhitelistERC20 authorization from group1 to group2
- 1610 - add pending outtx hash to tracker after monitoring for 10 minutes
- 1656 - schedule bitcoin keysign with intervals to avoid keysign failures
- 1662 - skip Goerli BlobTxType transactions introduced in Dencun upgrade
- 1663 - skip Mumbai empty block if ethclient sanity check fails
- 1661 - use estimated SegWit tx size for Bitcoin gas fee calculation
- 1667 - estimate SegWit tx size in uinit of vByte
- 1675 - use chain param ConfirmationCount for bitcoin confirmation
Chores
- 1694 - remove standalone network, use require testing package for the entire node folder
Version: v12.1.0
Tests
- 1577 - add chain header tests in E2E tests and fix admin tests
Features
- 1658 - modify emission distribution to use fixed block rewards
Fixes
- 1535 - Avoid voting on wrong ballots due to false blockNumber in EVM tx receipt
- 1588 - fix chain params comparison logic
- 1650 - exempt (discounted) system txs from min gas price check and gas fee deduction
- 1632 - set keygen to
KeygenStatus_KeyGenSuccess
if its inKeygenStatus_PendingKeygen
- 1576 - Fix zetaclient crash due to out of bound integer conversion and log prints
- 1575 - Skip unsupported chain parameters by IsSupported flag
CI
- 1580 - Fix release pipelines cleanup step
Chores
Features
- 1591 - support lower gas limit for voting on inbound and outbound transactions
- 1592 - check inbound tracker tx hash against Tss address and some refactor on inTx observation
Refactoring
- 1628 optimize return and simplify code
- 1640 reorganize zetaclient into subpackages
- 1619 - Add evm fee calculation to tss migration of evm chains
Version: v12.0.0
Breaking Changes
TSS and chain validation related queries have been moved from crosschain
module to observer
module:
PendingNonces
:Changed from/zeta-chain/crosschain/pendingNonces/{chain_id}/{address}
to/zeta-chain/observer/pendingNonces/{chain_id}/{address}
. It returns all the pending nonces for a chain id and address. This returns the current pending nonces for the chainChainNonces
: Changed from/zeta-chain/crosschain/chainNonces/{chain_id}
to/zeta-chain/observer/chainNonces/{chain_id}
. It returns all the chain nonces for a chain id. This returns the current nonce of the TSS address for the chainChainNoncesAll
:Changed from/zeta-chain/crosschain/chainNonces
to/zeta-chain/observer/chainNonces
. It returns all the chain nonces for all chains. This returns the current nonce of the TSS address for all chains
All chains now have the same observer set:
ObserversByChain
:/zeta-chain/observer/observers_by_chain/{observation_chain}
has been removed and replaced with/zeta-chain/observer/observer_set
. All chains have the same observer setAllObserverMappers
:/zeta-chain/observer/all_observer_mappers
has been removed./zeta-chain/observer/observer_set
should be used to get observers.
Observer params and core params have been merged into chain params:
Params
:/zeta-chain/observer/params
no longer returns observer params. Observer params data have been moved to chain params described below.GetCoreParams
: Renamed intoGetChainParams
./zeta-chain/observer/get_core_params
moved to/zeta-chain/observer/get_chain_params
GetCoreParamsByChain
: Renamed intoGetChainParamsForChain
./zeta-chain/observer/get_core_params_by_chain
moved to/zeta-chain/observer/get_chain_params_by_chain
Getting the correct TSS address for Bitcoin now requires providing the Bitcoin chain id:
GetTssAddress
: Changed from/zeta-chain/observer/get_tss_address/
to/zeta-chain/observer/getTssAddress/{bitcoin_chain_id}
. Optional bitcoin chain id can now be passed as a parameter to fetch the correct tss for required BTC chain. This parameter only affects the BTC tss address in the response
Features
- 1498 - Add monitoring(grafana, prometheus, ethbalance) for localnet testing
- 1395 - Add state variable to track aborted zeta amount
- 1410 -
snapshots
commands - enable zetaclients to use dynamic gas price on zetachain - enables >0 min_gas_price in feemarket module
- add static chain data for Sepolia testnet
- added metrics to track the burn rate of the hotkey in the telemetry server as well as prometheus
Fixes
- 1554 - Screen out unconfirmed UTXOs that are not created by TSS itself
- 1560 - Zetaclient post evm-chain outtx hashes only when receipt is available
- 1516 - Unprivileged outtx tracker removal
- 1537 - Sanity check events of ZetaSent/ZetaReceived/ZetaRevertedWithdrawn/Deposited
- 1530 - Outbound tx confirmation/inclusion enhancement
- 1496 - post block header for enabled EVM chains only
- 1518 - Avoid duplicate keysign if an outTx is already pending
- fix Code4rena issue - zetaclients potentially miss inTx when PostSend (or other RPC) fails
- fix go-staticcheck warnings for zetaclient
- fix Athens-3 issue - incorrect pending-tx inclusion and incorrect confirmation count
- masked zetaclient config at startup
- set limit for queried pending cctxs
- add check to verify new tss has been produced when triggering tss funds migration
- fix Athens-3 log print issue - avoid posting unnecessary outtx confirmation
- fix docker build issues with version: golang:1.20-alpine3.18
- 1525 - relax EVM chain block header length check 1024->4096
- 1522 - block
distribution
module account from receiving zeta - 1528 - fix panic caused on decoding malformed BTC addresses
- 1536 - add index to check previously finalized inbounds
- 1556 - add emptiness check for topic array in event parsing
- 1546 - fix reset of pending nonces on genesis import
- 1555 - Reduce websocket message limit to 10MB
- 1567 - add bitcoin chain id to fetch the tss address rpc endpoint
- 1501 - fix stress test - use new refactored config file and smoketest runner
- 1589 - add bitcoin chain id to
get tss address
andget tss address historical
cli query
Refactoring
- 1552 - requires group2 to enable header verification
- 1211 - use
grpc
andmsg
for query and message files - refactor cctx scheduler - decouple evm cctx scheduler from btc cctx scheduler
- move tss state from crosschain to observer
- move pending nonces, chain nonces and nonce to cctx to observer
- move tss related cli from crosschain to observer
- reorganize smoke tests structure
- Add pagination to queries which iterate over large data sets InTxTrackerAll ,PendingNoncesAll ,AllBlameRecord ,TssHistory
- GetTssAddress now returns only the current tss address for ETH and BTC
- Add a new query GetTssAddressesByFinalizedBlockHeight to get any other tss addresses for a finalized block height
- Move observer params into core params
- Remove chain id from the index for observer mapper and rename it to observer set.
- Add logger to smoke tests
- 1521 - replace go-tss lib version with one that reverts back to thorchain tss-lib
- 1558 - change log level for gas stability pool iteration error
- Update --ledger flag hint
Chores
- 1446 - renamed file
zetaclientd/aux.go
tozetaclientd/utils.go
to avoid complaints from go package resolver - 1499 - Add scripts to localnet to help test gov proposals
- 1442 - remove build types in
.goreleaser.yaml
- 1504 - remove
-race
in themake install
command - 1564 - bump ti-actions/changed-files
Tests
- 1538 - improve stateful e2e testing
CI
- Removed private runners and unused GitHub Action
Version: v11.0.0
Features
- 1387 - Add HSM capability for zetaclient hot key
- add a new thread to zetaclient which checks zeta supply in all connected chains in every block
- add a new tx to update an observer, this can be either be run a tombstoned observer/validator or via admin_policy_group_2
Fixes
- Added check for redeployment of gas and asset token contracts
- 1372 - Include Event Index as part for inbound tx digest
- 1367 - fix minRelayTxFee issue and check misuse of bitcoin mainnet/testnet addresses
- 1358 - add a new thread to zetaclient which checks zeta supply in all connected chains in every block
- prevent deposits for paused zrc20
- 1406 - improve log prints and speed up evm outtx inclusion
- fix Athens-3 issue - include bitcoin outtx regardless of the cctx status
Refactoring
- 1391 - consolidate node builds
- update
MsgUpdateContractBytecode
to use code hash instead of contract address
Chores
Tests
- Add unit tests for adding votes to a ballot
CI
Version: v10.1.2
Features
- 1137 - external stress testing
- 1205 - allow setting liquidity cap for ZRC20
- 1260 - add ability to update gas limit
- 1263 - Bitcoin block header and merkle proof
- 1247 - add query command to get all gas stability pool balances
- 1143 - tss funds migration capability
- 1358 - zetaclient thread for zeta supply checks
- 1384 - tx to update an observer
Fixes
- 1195 - added upgrade name, and allow download. allows to test release
- 1153 - address
cosmos-gosec
lint issues - 1128 - adding namespaces back in rpc
- 1245 - set unique index for generate cctx
- 1250 - remove error return in
IsAuthorized
- 1261 - Ethereum comparison checksum/non-checksum format
- 1264 - Blame index update
- 1243 - feed sataoshi/B to zetacore and check actual outTx size
- 1235 - cherry pick all hotfix from v10.0.x (zero-amount, precision, etc.)
- 1257 - register emissions grpc server
- 1277 - read gas limit from smart contract
- 1252 - add CLI command to query system contract
- 1285 - add notice when using
--ledger
with Ethereum HD path - 1283 - query outtx tracker by chain using prefixed store
- 1280 - minor fixes to stateful upgrade
- 1304 - remove check
gasObtained == outTxGasFee
- 1308 - begin blocker for mock mainnet
Refactoring
- 1226 - call
onCrossChainCall
when depositing to a contract - 1238 - change default mempool version in config
- 1279 - remove duplicate funtion name IsEthereum
- 1289 - skip gas stability pool funding when gasLimit is equal gasUsed
Chores
- 1193 - switch back to
cosmos/cosmos-sdk
- 1222 - changed maxNestedMsgs
- 1265 - sync from mockmain
- 1307 - increment handler version
Tests
- 1135 - Stateful upgrade for smoke tests
CI
- 1218 - cross-compile release binaries and simplify PR testings
- 1302 - add mainnet builds to goreleaser