Skip to content

Commit

Permalink
resolved conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
ws4charlie committed May 9, 2024
2 parents 72c8cad + e0287d7 commit 1df9f60
Show file tree
Hide file tree
Showing 99 changed files with 4,392 additions and 2,268 deletions.
6 changes: 5 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -114,9 +114,13 @@ jobs:
skip_aws_cli: "true"
skip_docker_compose: "false"

- run: |
echo "github.repository: ${{ github.repository }}"
echo "github.event.pull_request.head.repo.full_name: ${{ github.event.pull_request.head.repo.full_name }}"
- name: Login to Docker Hub
uses: docker/login-action@v2
if: github.event.repository.full_name == 'zeta-chain/node'
if: github.event_name != 'pull_request' || github.repository == github.event.pull_request.head.repo.full_name
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_READ_ONLY }}
Expand Down
16 changes: 11 additions & 5 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
# CHANGELOG

## Unreleased

### Breaking Changes

* `MsgUpdateVerificationFlags` has been removed, and replaced with `MsgEnableHeaderVerification` and `MsgDisableHeaderVerification` messages.
* `MsgEnableHeaderVerification` message enables block header verification for a list of chains and can be triggered via `PolicyType_groupOperational`
* `MsgDisableHeaderVerification` message disables block header verification for a list of chains and can be triggered via `PolicyType_emergency`
* Observer param `ballot_maturity_blocks` is part of `emissions` module now. Observer `params` are deprecated and removed from `observer` module.

### Features
Expand All @@ -16,6 +17,7 @@
* [2094](https://github.com/zeta-chain/node/pull/2094) - upgrade go-tss to use cosmos v0.47
* [2110](https://github.com/zeta-chain/node/pull/2110) - move non-query rate limiter logic to zetaclient side and code refactor.
* [2032](https://github.com/zeta-chain/node/pull/2032) - improve some general structure of the ZetaClient codebase
* [2097](https://github.com/zeta-chain/node/pull/2097) - refactor lightclient verification flags to account for individual chains
* [2071](https://github.com/zeta-chain/node/pull/2071) - Modify chains struct to add all chain related information
* [2124](https://github.com/zeta-chain/node/pull/2124) - removed unused variables and method

Expand Down Expand Up @@ -78,6 +80,7 @@
* [1989](https://github.com/zeta-chain/node/pull/1989) - simplify `IsSendOutTxProcessed` method and add unit tests
* [2013](https://github.com/zeta-chain/node/pull/2013) - rename `GasPriceVoter` message to `VoteGasPrice`
* [2059](https://github.com/zeta-chain/node/pull/2059) - Remove unused params from all functions in zetanode
* [2071](https://github.com/zeta-chain/node/pull/2071) - Modify chains struct to add all chain related information
* [2076](https://github.com/zeta-chain/node/pull/2076) - automatically deposit native zeta to an address if it doesn't exist on ZEVM.

### Features
Expand All @@ -94,6 +97,8 @@
* [2046](https://github.com/zeta-chain/node/pull/2046) - add state variable in crosschain for rate limiter flags
* [2034](https://github.com/zeta-chain/node/pull/2034) - add support for zEVM message passing



### Tests

* [1767](https://github.com/zeta-chain/node/pull/1767) - add unit tests for emissions module begin blocker
Expand All @@ -117,13 +122,14 @@
* [1985](https://github.com/zeta-chain/node/pull/1985) - improve fungible module coverage
* [1992](https://github.com/zeta-chain/node/pull/1992) - remove setupKeeper from crosschain module
* [2008](https://github.com/zeta-chain/node/pull/2008) - add test for connector bytecode update
* [2060](https://github.com/zeta-chain/node/pull/2060) - add unit test for rate limiter query

* [2047](https://github.com/zeta-chain/node/pull/2047) - fix liquidity cap advanced test
* [2076](https://github.com/zeta-chain/node/pull/2076) - automatically deposit native zeta to an address if it doesn't exist on ZEVM.
### Fixes

* [1861](https://github.com/zeta-chain/node/pull/1861) - fix `ObserverSlashAmount` invalid read
* [1880](https://github.com/zeta-chain/node/issues/1880) - lower the gas price multiplier for EVM chains.
* [1883](https://github.com/zeta-chain/node/issues/1883) - zetaclient should check `IsSupported` flag to pause/unpause a specific chain
* [1883](https://github.com/zeta-chain/node/issues/1883) - zetaclient should check 'IsSupported' flag to pause/unpause a specific chain
* * [2076](https://github.com/zeta-chain/node/pull/2076) - automatically deposit native zeta to an address if it doesn't exist on ZEVM.
* [1633](https://github.com/zeta-chain/node/issues/1633) - zetaclient should be able to pick up new connector and erc20Custody addresses
* [1944](https://github.com/zeta-chain/node/pull/1944) - fix evm signer unit tests
* [1888](https://github.com/zeta-chain/node/issues/1888) - zetaclient should stop inbound/outbound txs according to cross-chain flags
Expand Down
2 changes: 1 addition & 1 deletion cmd/zetae2e/config/contracts.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import (
"github.com/zeta-chain/zetacore/e2e/runner"
)

// setContractsFromConfigs get EVM contracts from config
// setContractsFromConfig get EVM contracts from config
func setContractsFromConfig(r *runner.E2ERunner, conf config.Config) error {
var err error

Expand Down
16 changes: 9 additions & 7 deletions cmd/zetae2e/local/local.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import (
"github.com/zeta-chain/zetacore/e2e/e2etests"
"github.com/zeta-chain/zetacore/e2e/runner"
"github.com/zeta-chain/zetacore/e2e/utils"
"github.com/zeta-chain/zetacore/pkg/chains"
"golang.org/x/sync/errgroup"
)

Expand Down Expand Up @@ -190,17 +191,19 @@ func localE2ETest(cmd *cobra.Command, _ []string) {
panic(err)
}

if !skipHeaderProof {
if err := deployerRunner.EnableHeaderVerification([]int64{
chains.GoerliLocalnetChain.ChainId,
chains.BtcRegtestChain.ChainId}); err != nil {
panic(err)
}
}

// setting up the networks
if !skipSetup {
logger.Print("⚙️ setting up networks")
startTime := time.Now()

if !skipHeaderProof {
if err := deployerRunner.EnableVerificationFlags(); err != nil {
panic(err)
}
}

deployerRunner.SetupEVM(contractsDeployed, true)
deployerRunner.SetZEVMContracts()

Expand All @@ -215,7 +218,6 @@ func localE2ETest(cmd *cobra.Command, _ []string) {

logger.Print("✅ setup completed in %s", time.Since(startTime))
}

// if a config output is specified, write the config
if configOut != "" {
newConfig := zetae2econfig.ExportContractsFromRunner(deployerRunner, conf)
Expand Down
2 changes: 1 addition & 1 deletion cmd/zetae2e/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ func runE2ETest(cmd *cobra.Command, args []string) error {
return nil
}

// parseCmdArgsToE2ETests parses command-line arguments into a slice of E2ETestRunConfig structs.
// parseCmdArgsToE2ETestRunConfig parses command-line arguments into a slice of E2ETestRunConfig structs.
func parseCmdArgsToE2ETestRunConfig(args []string) ([]runner.E2ETestRunConfig, error) {
tests := []runner.E2ETestRunConfig{}
for _, arg := range args {
Expand Down
2 changes: 1 addition & 1 deletion docs/cli/zetacored/zetacored_query_lightclient.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,5 @@ zetacored query lightclient [flags]
* [zetacored query lightclient list-chain-state](zetacored_query_lightclient_list-chain-state.md) - List all the chain states
* [zetacored query lightclient show-block-header](zetacored_query_lightclient_show-block-header.md) - Show a block header from its hash
* [zetacored query lightclient show-chain-state](zetacored_query_lightclient_show-chain-state.md) - Show a chain state from its chain id
* [zetacored query lightclient show-verification-flags](zetacored_query_lightclient_show-verification-flags.md) - Show the verification flags
* [zetacored query lightclient show-header-enabled-chains](zetacored_query_lightclient_show-header-enabled-chains.md) - Show the verification flags

Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# query lightclient show-verification-flags
# query lightclient show-header-enabled-chains

Show the verification flags

```
zetacored query lightclient show-verification-flags [flags]
zetacored query lightclient show-header-enabled-chains [flags]
```

### Options
Expand All @@ -12,7 +12,7 @@ zetacored query lightclient show-verification-flags [flags]
--grpc-addr string the gRPC endpoint to use for this chain
--grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS
--height int Use a specific height to query state at (this can error if the node is pruning state)
-h, --help help for show-verification-flags
-h, --help help for show-header-enabled-chains
--node string [host]:[port] to Tendermint RPC interface for this chain
-o, --output string Output format (text|json)
```
Expand Down
3 changes: 2 additions & 1 deletion docs/cli/zetacored/zetacored_tx_lightclient.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,6 @@ zetacored tx lightclient [flags]
### SEE ALSO

* [zetacored tx](zetacored_tx.md) - Transactions subcommands
* [zetacored tx lightclient update-verification-flags](zetacored_tx_lightclient_update-verification-flags.md) - Update verification flags
* [zetacored tx lightclient disable-header-verification](zetacored_tx_lightclient_disable-header-verification.md) - Disable header verification for the list of chains separated by comma
* [zetacored tx lightclient enable-header-verification](zetacored_tx_lightclient_enable-header-verification.md) - Enable verification for the list of chains separated by comma

Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# tx lightclient disable-header-verification

Disable header verification for the list of chains separated by comma

### Synopsis

Provide a list of chain ids separated by comma to disable block header verification for the specified chain ids.

Example:
To disable verification flags for chain ids 1 and 56
zetacored tx lightclient disable-header-verification "1,56"


```
zetacored tx lightclient disable-header-verification [list of chain-id] [flags]
```

### Options

```
-a, --account-number uint The account number of the signing account (offline mode only)
--aux Generate aux signer data instead of sending a tx
-b, --broadcast-mode string Transaction broadcasting mode (sync|async)
--chain-id string The network chain ID
--dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible)
--fee-granter string Fee granter grants fees for the transaction
--fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer
--fees string Fees to pay along with transaction; eg: 10uatom
--from string Name or address of private key with which to sign
--gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000)
--gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1)
--gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom)
--generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name)
-h, --help help for disable-header-verification
--keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory)
--keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used
--ledger Use a connected Ledger device
--node string [host]:[port] to tendermint rpc interface for this chain
--note string Note to add a description to the transaction (previously --memo)
--offline Offline mode (does not allow any online functionality)
-o, --output string Output format (text|json)
-s, --sequence uint The sequence number of the signing account (offline mode only)
--sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature
--timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height
--tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator
-y, --yes Skip tx broadcasting prompt confirmation
```

### Options inherited from parent commands

```
--home string directory for config and data
--log_format string The logging format (json|plain)
--log_level string The logging level (trace|debug|info|warn|error|fatal|panic)
--log_no_color Disable colored logs
--trace print out full stack trace on errors
```

### SEE ALSO

* [zetacored tx lightclient](zetacored_tx_lightclient.md) - lightclient transactions subcommands

Original file line number Diff line number Diff line change
@@ -1,9 +1,18 @@
# tx lightclient update-verification-flags
# tx lightclient enable-header-verification

Update verification flags
Enable verification for the list of chains separated by comma

### Synopsis

Provide a list of chain ids separated by comma to enable block header verification for the specified chain ids.

Example:
To enable verification flags for chain ids 1 and 56
zetacored tx lightclient enable-header-verification "1,56"


```
zetacored tx lightclient update-verification-flags [eth-type-chain-enabled] [btc-type-chain-enabled] [flags]
zetacored tx lightclient enable-header-verification [list of chain-id] [flags]
```

### Options
Expand All @@ -22,7 +31,7 @@ zetacored tx lightclient update-verification-flags [eth-type-chain-enabled] [btc
--gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1)
--gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom)
--generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name)
-h, --help help for update-verification-flags
-h, --help help for enable-header-verification
--keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory)
--keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used
--ledger Use a connected Ledger device
Expand Down
86 changes: 56 additions & 30 deletions docs/openapi/openapi.swagger.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29426,6 +29426,34 @@ paths:
format: int64
tags:
- Query
/zeta-chain/lightclient/header_enabled_chains:
get:
operationId: Query_HeaderEnabledChains
responses:
"200":
description: A successful response.
schema:
$ref: '#/definitions/lightclientQueryHeaderEnabledChainsResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
tags:
- Query
/zeta-chain/lightclient/header_supported_chains:
get:
operationId: Query_HeaderSupportedChains
responses:
"200":
description: A successful response.
schema:
$ref: '#/definitions/lightclientQueryHeaderSupportedChainsResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
tags:
- Query
/zeta-chain/lightclient/prove:
get:
operationId: Query_Prove
Expand Down Expand Up @@ -29490,20 +29518,6 @@ paths:
format: int64
tags:
- Query
/zeta-chain/lightclient/verification_flags:
get:
operationId: Query_VerificationFlags
responses:
"200":
description: A successful response.
schema:
$ref: '#/definitions/lightclientQueryVerificationFlagsResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
tags:
- Query
/zeta-chain/observer/TSS:
get:
summary: Queries a tSS by index.
Expand Down Expand Up @@ -56377,8 +56391,6 @@ definitions:
$ref: '#/definitions/chainsConsensus'
is_external:
type: boolean
is_header_supported:
type: boolean
chainsChainName:
type: string
enum:
Expand Down Expand Up @@ -57111,7 +57123,20 @@ definitions:
type: string
format: byte
title: ChainState defines the overall state of the block headers for a given chain
lightclientMsgUpdateVerificationFlagsResponse:
lightclientHeaderSupportedChain:
type: object
properties:
chain_id:
type: string
format: int64
enabled:
type: boolean
title: |-
HeaderSupportedChain is a structure containing information of weather a chain
is enabled or not for block header verification
lightclientMsgDisableHeaderVerificationResponse:
type: object
lightclientMsgEnableHeaderVerificationResponse:
type: object
lightclientQueryAllBlockHeaderResponse:
type: object
Expand Down Expand Up @@ -57143,26 +57168,27 @@ definitions:
properties:
chain_state:
$ref: '#/definitions/lightclientChainState'
lightclientQueryProveResponse:
lightclientQueryHeaderEnabledChainsResponse:
type: object
properties:
valid:
type: boolean
lightclientQueryVerificationFlagsResponse:
header_enabled_chains:
type: array
items:
type: object
$ref: '#/definitions/lightclientHeaderSupportedChain'
lightclientQueryHeaderSupportedChainsResponse:
type: object
properties:
verification_flags:
$ref: '#/definitions/lightclientVerificationFlags'
lightclientVerificationFlags:
header_supported_chains:
type: array
items:
type: object
$ref: '#/definitions/lightclientHeaderSupportedChain'
lightclientQueryProveResponse:
type: object
properties:
ethTypeChainEnabled:
type: boolean
btcTypeChainEnabled:
valid:
type: boolean
title: |-
VerificationFlags is a structure containing information which chain types are
enabled for block header verification
observerBallotStatus:
type: string
enum:
Expand Down
Loading

0 comments on commit 1df9f60

Please sign in to comment.