Skip to content

Commit

Permalink
Merge branch 'main' into batcher
Browse files Browse the repository at this point in the history
  • Loading branch information
fish-sammy authored Apr 1, 2024
2 parents e83b40e + 92096b8 commit 7b41d29
Show file tree
Hide file tree
Showing 17 changed files with 341 additions and 271 deletions.
64 changes: 64 additions & 0 deletions .github/workflows/build-binaries-and-push-to-r2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: Upload core binary to Cloudflare R2 bucket

on:
push:
branches:
- main
workflow_dispatch:
inputs:
branch:
description: Github branch to checkout for build
required: true
default: main
type: string

jobs:
build-and-upload:
name: Build binary and push to R2
runs-on: ubuntu-20.04
permissions:
contents: write
packages: write
id-token: write
steps:
- name: Determine branch
id: get-branch-name
run: |
if [ "${{ github.event_name }}" == "push" ]; then
branch="main"
else
branch="${{ inputs.branch }}"
fi
echo "branch=$branch" >> $GITHUB_OUTPUT
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: "0"
path: axelar-core
submodules: recursive
ref: ${{ steps.get-branch-name.outputs.branch }}

- name: Build axelard binary with version and commit hash
id: build-binary
run: |
mkdir ./binary_file/
cd axelar-core
make build
semver=$(git describe --tags)
echo "Semantic Version of current binary: $semver"
cd ..
sudo mv axelar-core/bin/axelard ./binary_file/axelard-linux-amd64-$semver
echo "binary-directory=./binary_file" >> $GITHUB_OUTPUT
- name: List contents of root directory
run: ls -la

- uses: ryand56/r2-upload-action@latest
with:
r2-account-id: ${{ secrets.R2_ACCOUNT_ID }}
r2-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID_CF }}
r2-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY_CF }}
r2-bucket: ${{ secrets.R2_BUCKET }}
source-dir: ${{ steps.build-binary.outputs.binary-directory }}
destination-dir: ./pre-releases/axelard/
10 changes: 10 additions & 0 deletions .github/workflows/build-docker-image-and-binaries.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,16 @@ jobs:
S3_PATH: s3://axelar-releases/axelard/${{ github.event.inputs.tag }}
run: |
aws s3 cp ./bin ${S3_PATH}/ --recursive
- name: Upload binaries to Cloudflare R2
uses: ryand56/r2-upload-action@latest
with:
r2-account-id: ${{ secrets.R2_ACCOUNT_ID }}
r2-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID_CF }}
r2-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY_CF }}
r2-bucket: ${{ secrets.R2_BUCKET }}
source-dir: ./bin
destination-dir: ./releases/axelard/

release-docker:

Expand Down
14 changes: 7 additions & 7 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,12 @@ require (
github.com/stretchr/testify v1.8.4
github.com/tendermint/tendermint v0.34.27
github.com/tendermint/tm-db v0.6.8-0.20220506192307-f628bb5dc95b
golang.org/x/crypto v0.19.0
golang.org/x/crypto v0.21.0
golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1
golang.org/x/mod v0.15.0
golang.org/x/mod v0.16.0
golang.org/x/sync v0.6.0
golang.org/x/text v0.14.0
golang.org/x/tools v0.18.0
golang.org/x/tools v0.19.0
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2
google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529
google.golang.org/grpc v1.58.3
Expand Down Expand Up @@ -171,9 +171,9 @@ require (
github.com/zondax/ledger-go v0.14.1 // indirect
go.etcd.io/bbolt v1.3.7 // indirect
go.opencensus.io v0.24.0 // indirect
golang.org/x/net v0.21.0 // indirect
golang.org/x/sys v0.17.0 // indirect
golang.org/x/term v0.17.0 // indirect
golang.org/x/net v0.22.0 // indirect
golang.org/x/sys v0.18.0 // indirect
golang.org/x/term v0.18.0 // indirect
google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
Expand Down Expand Up @@ -209,4 +209,4 @@ replace github.com/rjeczalik/notify => github.com/rjeczalik/notify v0.9.3
replace github.com/tendermint/tendermint => github.com/cometbft/cometbft v0.34.31

// Temporary replacement for rosetta support
replace github.com/cosmos/cosmos-sdk => github.com/axelarnetwork/cosmos-sdk v0.45.17-0.20230904150332-37fb903a6c62
replace github.com/cosmos/cosmos-sdk => github.com/axelarnetwork/cosmos-sdk v0.45.17-0.20240321205000-47c0c80e20ca
28 changes: 14 additions & 14 deletions go.sum

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 11 additions & 8 deletions vald/evm/deposit_confirmation.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,21 +19,24 @@ func (mgr Mgr) ProcessDepositConfirmation(event *types.ConfirmDepositStarted) er
return nil
}

var vote *voteTypes.VoteRequest

txReceipt, err := mgr.GetTxReceiptIfFinalized(event.Chain, common.Hash(event.TxID), event.ConfirmationHeight)
if err != nil {
return err
}
if txReceipt == nil {
mgr.logger().Infof("broadcasting empty vote for poll %s", event.PollID.String())
_, err := mgr.broadcaster.Broadcast(context.TODO(), voteTypes.NewVoteRequest(mgr.proxy, event.PollID, types.NewVoteEvents(event.Chain)))
if txReceipt.Err() != nil {
vote = voteTypes.NewVoteRequest(mgr.proxy, event.PollID, types.NewVoteEvents(event.Chain))

return err
}
mgr.logger().Infof("broadcasting empty vote for poll %s: %s", event.PollID.String(), txReceipt.Err().Error())
} else {
events := mgr.processDepositConfirmationLogs(event, txReceipt.Ok().Logs)
vote = voteTypes.NewVoteRequest(mgr.proxy, event.PollID, types.NewVoteEvents(event.Chain, events...))

events := mgr.processDepositConfirmationLogs(event, txReceipt.Logs)
mgr.logger().Infof("broadcasting vote %v for poll %s", events, event.PollID.String())
}

mgr.logger().Infof("broadcasting vote %v for poll %s", events, event.PollID.String())
_, err = mgr.broadcaster.Broadcast(context.TODO(), voteTypes.NewVoteRequest(mgr.proxy, event.PollID, types.NewVoteEvents(event.Chain, events...)))
_, err = mgr.broadcaster.Broadcast(context.TODO(), vote)

return err
}
Expand Down
23 changes: 15 additions & 8 deletions vald/evm/deposit_confirmation_test.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package evm_test

import (
"bytes"
"context"
"math/big"
"strings"
Expand All @@ -22,6 +23,8 @@ import (
"github.com/axelarnetwork/axelar-core/x/evm/types/testutils"
nexus "github.com/axelarnetwork/axelar-core/x/nexus/exported"
votetypes "github.com/axelarnetwork/axelar-core/x/vote/types"
"github.com/axelarnetwork/utils/monads/results"
"github.com/axelarnetwork/utils/slices"
. "github.com/axelarnetwork/utils/test"
)

Expand Down Expand Up @@ -144,11 +147,14 @@ func TestMgr_ProccessDepositConfirmation(t *testing.T) {
HeaderByNumberFunc: func(context.Context, *big.Int) (*evmRpc.Header, error) {
return &evmRpc.Header{Transactions: []common.Hash{receipt.TxHash}}, nil
},
TransactionReceiptFunc: func(_ context.Context, txID common.Hash) (*geth.Receipt, error) {
if txID != receipt.TxHash {
return nil, ethereum.NotFound
}
return receipt, nil
TransactionReceiptsFunc: func(ctx context.Context, txHashes []common.Hash) ([]evmRpc.TxReceiptResult, error) {
return slices.Map(txHashes, func(txHash common.Hash) evmRpc.TxReceiptResult {
if bytes.Equal(txHash.Bytes(), receipt.TxHash.Bytes()) {
return evmRpc.TxReceiptResult(results.FromOk(*receipt))
}

return evmRpc.TxReceiptResult(results.FromErr[geth.Receipt](ethereum.NotFound))
}), nil
},
LatestFinalizedBlockNumberFunc: func(ctx context.Context, confirmations uint64) (*big.Int, error) {
return receipt.BlockNumber, nil
Expand All @@ -157,8 +163,10 @@ func TestMgr_ProccessDepositConfirmation(t *testing.T) {
}).
Branch(
Given("no deposit has been made", func() {
rpc.TransactionReceiptFunc = func(context.Context, common.Hash) (*geth.Receipt, error) {
return nil, ethereum.NotFound
rpc.TransactionReceiptsFunc = func(ctx context.Context, txHashes []common.Hash) ([]evmRpc.TxReceiptResult, error) {
return slices.Map(txHashes, func(hash common.Hash) evmRpc.TxReceiptResult {
return evmRpc.TxReceiptResult(results.FromErr[geth.Receipt](ethereum.NotFound))
}), nil
}
}).
When("confirming a random deposit on the correct chain", func() {
Expand All @@ -180,7 +188,6 @@ func TestMgr_ProccessDepositConfirmation(t *testing.T) {
event.Participants = append(event.Participants, valAddr)

err = mgr.ProcessDepositConfirmation(&event)

}).
Then("return error", func(t *testing.T) {
assert.Error(t, err)
Expand Down
Loading

0 comments on commit 7b41d29

Please sign in to comment.