diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d3acfd5ce2..3d363e083d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,7 +18,7 @@ on: - ready_for_review concurrency: - group: ${{ github.head_ref || github.run_id }} + group: build-${{ github.head_ref || github.run_id }} cancel-in-progress: true env: @@ -30,8 +30,11 @@ env: jobs: build-and-test-single-arch: runs-on: ubuntu-latest + # runs-on: ["zeta-runners"] timeout-minutes: 20 if: (! startsWith(github.ref, 'refs/tags/')) || (! startsWith(github.ref, 'refs/heads/develop') ) + concurrency: + group: "build-and-test-single-arch" steps: - uses: actions/checkout@v3 @@ -60,12 +63,17 @@ jobs: uses: de-vri-es/setup-git-credentials@v2.0.8 with: credentials: ${{ secrets.PAT_GITHUB_SERVICE_ACCT }} - + - name: Test - run: | - echo "Running Build Tests" - make clean - make test + uses: nick-fields/retry@v2 + with: + timeout_minutes: 20 + max_attempts: 2 + retry_on: error + command: | + echo "Running Build Tests" + make clean + make test - name: Build zetacored and zetaclientd env: @@ -136,10 +144,15 @@ jobs: # ${{ matrix.runs-on }}-go- - name: Test - run: | - echo "Running Build Tests" - make clean - make test + uses: nick-fields/retry@v2 + with: + timeout_minutes: 20 + max_attempts: 2 + retry_on: error + command: | + echo "Running Build Tests" + make clean + make test - name: Build zetacored and zetaclientd env: @@ -227,13 +240,25 @@ jobs: with: credentials: ${{ secrets.PAT_GITHUB_SERVICE_ACCT }} + # - name: Test + # shell: alpine.sh --root {0} + # run: | + # echo "Running Build Tests" + # apk add --no-cache --update + # make clean + # make test + - name: Test - shell: alpine.sh --root {0} - run: | - echo "Running Build Tests" - apk add --no-cache --update - make clean - make test + uses: nick-fields/retry@v2 + with: + timeout_minutes: 20 + max_attempts: 2 + retry_on: error + shell: alpine.sh --root {0} + command: | + echo "Running Build Tests" + make clean + make test - name: Build zetacored and zetaclientd env: @@ -247,8 +272,6 @@ jobs: make install-testnet cp "$HOME"/go/bin/* ./ - - - name: Binary Docker Test env: CPU_ARCH: ${{ env.CPU_ARCH }} diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index 19ae574124..6e79fea33a 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -7,10 +7,15 @@ on: env: GOPRIVATE: github.com/zeta-chain/* - + +concurrency: + group: linters-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + jobs: lint: runs-on: ubuntu-latest + timeout-minutes: 10 env: GO111MODULE: on @@ -32,6 +37,9 @@ jobs: go-version: 1.19 - name: Run golangci-lint - uses: golangci/golangci-lint-action@v3.3.1 + uses: golangci/golangci-lint-action@v3 + with: version: v1.50 + skip-cache: false + diff --git a/docs/spec/crosschain/messages.md b/docs/spec/crosschain/messages.md index 46a1a6c8b9..ced6c54042 100644 --- a/docs/spec/crosschain/messages.md +++ b/docs/spec/crosschain/messages.md @@ -134,7 +134,7 @@ created. If the receiver chain is a ZetaChain, the EVM deposit is handled and the status of CCTX is changed to "outbound mined". If EVM deposit handling fails, -the status of CCTX is changed to 'aborted'. +the status of CCTX is chagned to 'aborted'. If the receiver chain is a connected chain, the inbound CCTX is finalized (prices and nonce are updated) and status changes to "pending outbound". If @@ -160,43 +160,3 @@ message MsgVoteOnObservedInboundTx { } ``` -## MsgSetNodeKeys - -Not implemented yet. - -```proto -message MsgSetNodeKeys { - string creator = 1; - common.PubKeySet pubkeySet = 2; - string tss_signer_Address = 3; -} -``` - -## MsgUpdatePermissionFlags - -Updates permissions. Currently, this is only used to enable/disable the -inbound transactions. - -Only the admin policy account is authorized to broadcast this message. - -```proto -message MsgUpdatePermissionFlags { - string creator = 1; - bool isInboundEnabled = 3; -} -``` - -## MsgUpdateKeygen - -Updates the block height of the keygen and sets the status to "pending -keygen". - -Only the admin policy account is authorized to broadcast this message. - -```proto -message MsgUpdateKeygen { - string creator = 1; - int64 block = 2; -} -``` - diff --git a/docs/spec/crosschain/overview.md b/docs/spec/crosschain/overview.md index 7c849ceeeb..3f371d5274 100644 --- a/docs/spec/crosschain/overview.md +++ b/docs/spec/crosschain/overview.md @@ -72,8 +72,6 @@ status is changed to final. | MsgVoteOnObservedInboundTx | | ✅ | | MsgAddToOutTxTracker | ✅ | ✅ | | MsgRemoveFromOutTxTracker | ✅ | | -| MsgUpdatePermissionFlags | ✅ | | -| MsgUpdateKeygenPermission | ✅ | | ## State @@ -83,8 +81,6 @@ The module stores the following information in the state: - List of chain nonces - List of last chain heights - List of cross-chain transactions -- List of - Mapping between inbound transactions and cross-chain transactions -- Keygen - TSS key - Gas prices on connected chains submitted by observers diff --git a/docs/spec/fungible/overview.md b/docs/spec/fungible/overview.md index 86fce8f5ff..f7c477f2f3 100644 --- a/docs/spec/fungible/overview.md +++ b/docs/spec/fungible/overview.md @@ -1,6 +1,6 @@ # Overview -The `fungible` facilitates the deployment of fungible tokens of connected +The `fungible` module facilitates the deployment of fungible tokens of connected blockchains (called "foreign coins") on ZetaChain. Foreign coins are represented as ZRC20 tokens on ZetaChain. diff --git a/docs/spec/observer/messages.md b/docs/spec/observer/messages.md index 83307d9f52..cfac959d16 100644 --- a/docs/spec/observer/messages.md +++ b/docs/spec/observer/messages.md @@ -29,3 +29,41 @@ message MsgUpdateCoreParams { } ``` +## MsgAddBlameVote + +```proto +message MsgAddBlameVote { + string creator = 1; + int64 chain_id = 2; + Blame blame_info = 3; +} +``` + +## MsgUpdatePermissionFlags + +Updates permissions. Currently, this is only used to enable/disable the +inbound transactions. + +Only the admin policy account is authorized to broadcast this message. + +```proto +message MsgUpdatePermissionFlags { + string creator = 1; + bool isInboundEnabled = 3; +} +``` + +## MsgUpdateKeygen + +Updates the block height of the keygen and sets the status to "pending +keygen". + +Only the admin policy account is authorized to broadcast this message. + +```proto +message MsgUpdateKeygen { + string creator = 1; + int64 block = 2; +} +``` + diff --git a/x/crosschain/client/integrationtests/suite.go b/x/crosschain/client/integrationtests/suite.go index 8960bd770b..6dff655679 100644 --- a/x/crosschain/client/integrationtests/suite.go +++ b/x/crosschain/client/integrationtests/suite.go @@ -4,6 +4,8 @@ package integrationtests import ( + "time" + sdk "github.com/cosmos/cosmos-sdk/types" ethcfg "github.com/evmos/ethermint/cmd/config" "github.com/stretchr/testify/suite" @@ -54,6 +56,7 @@ func (s *IntegrationTestSuite) SetupSuite() { net, err := network.New(s.T(), app.NodeDir, s.cfg) s.Assert().NoError(err) s.network = net + time.Sleep(3 * time.Second) _, err = s.network.WaitForHeight(1) s.Require().NoError(err)