Releases: zeta-chain/node
v19.1.4
v19.2.1
v19.2.0
v19.1.1
This is a zetaclientd
only release. You may run any v19.x.x zetacored
version.
Note to full node operators:
app-db-backend = pebbledb
must be set in app.toml if it was previously unset or empty
v19.1.1
Fix release CI build
v19.1.0
Breaking Changes
zetaclientd
now prompts for a "Solana Relayer Key" password. If you have not configured a solana relayer key, you should enter an empty password.
Fixes
- 2628 - avoid submitting invalid hashes to outbound tracker
Features
- 2568 - improve AppContext by converging chains, chainParams, enabledChains, and additionalChains into a single zctx.Chain
- 2597 - Add generic rpc metrics to zetaclient
- 2634 - add support for EIP-1559 gas fees
- 2673 - add relayer key importer, encryption and decryption
v19.0.1
Fixes
- 2704 - skip calling
GetBlockHeaderEnabledChains()
to bypass API error
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)
- 2629 - backport Solana withdraw to
release/v19
branch
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 uncessary 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
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 tin...
v18.0.1
v19.0.1
v19.0.0
Note to full node operators:
app-db-backend = pebbledb
must be set in app.toml if it was previously unset or empty
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.
app-db-backend = pebbledb
must be set inapp.toml
if it was previously unset or empty- 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)
- 2629 - backport Solana withdraw to
release/v19
branch
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 uncessary 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
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 ...
v18.0.0
v17.0.1
CHANGELOG
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
- 2076 - automatically deposit native zeta to an address if it doesn't exist on ZEVM.
- 2160 - 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
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 zetabridge package
- 1985 - improve fungible module coverage
- 1992 - remove setupKeeper from crosschain module
- 2008 - add test for connector bytecode update
- 2060 - add unit test for rate limiter query
- 2127 - add import data to e2e test
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
- 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
- 2267 - Change publish-release to github action ubuntu runner.
- 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 d...
v17.0.0
CHANGELOG
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
- 2076 - automatically deposit native zeta to an address if it doesn't exist on ZEVM.
- 2160 - 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
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 zetabridge package
- 1985 - improve fungible module coverage
- 1992 - remove setupKeeper from crosschain module
- 2008 - add test for connector bytecode update
- 2060 - add unit test for rate limiter query
- 2127 - add import data to e2e test
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
- 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
- 2267 - Change publish-release to github action ubuntu runner.
- 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](https://github.com/zeta-chain/...