Skip to content

Commit

Permalink
Prepare for parachain support
Browse files Browse the repository at this point in the history
  • Loading branch information
mikiquantum committed Feb 15, 2022
1 parent f0343fd commit e36ebda
Show file tree
Hide file tree
Showing 60 changed files with 597 additions and 291 deletions.
8 changes: 2 additions & 6 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,19 +1,15 @@
# Copyright 2020 ChainSafe Systems
# SPDX-License-Identifier: LGPL-3.0-only

FROM golang:1.13-stretch AS builder
FROM golang:1.17-stretch AS builder
ADD . /src
WORKDIR /src
RUN go mod download
RUN cd cmd/chainbridge && go build -o /bridge .

# # final stage
FROM debian:stretch-slim
RUN apt-get -y update && apt-get -y upgrade && apt-get install ca-certificates wget -y
RUN wget -P /usr/local/bin/ https://chainbridge.ams3.digitaloceanspaces.com/subkey-rc6 \
&& mv /usr/local/bin/subkey-rc6 /usr/local/bin/subkey \
&& chmod +x /usr/local/bin/subkey
RUN subkey --version
RUN apt-get -y update && apt-get -y upgrade && apt-get install ca-certificates -y

COPY --from=builder /bridge ./
RUN chmod +x ./bridge
Expand Down
16 changes: 4 additions & 12 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
PROJECTNAME=$(shell basename "$(PWD)")
VERSION=-ldflags="-X main.Version=$(shell git describe --tags)"
SOL_DIR=./solidity
ARCH=$(shell arch)

CENT_EMITTER_ADDR?=0x1
CENT_CHAIN_ID?=0x1
Expand All @@ -22,25 +23,16 @@ get:
@echo " > \033[32mDownloading & Installing all the modules...\033[0m "
go mod tidy && go mod download

get-lint:
curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s v1.31.0

.PHONY: lint
lint:
if [ ! -f ./bin/golangci-lint ]; then \
$(MAKE) get-lint; \
fi;
./bin/golangci-lint run ./... --timeout 5m0s
@docker run -v `pwd`:/app -w /app golangci/golangci-lint:v1.36.0 golangci-lint run

lint-fix:
if [ ! -f ./bin/golangci-lint ]; then \
$(MAKE) get-lint; \
fi;
./bin/golangci-lint run ./... --timeout 5m0s --fix
@docker run -v `pwd`:/app -w /app golangci/golangci-lint:v1.36.0 golangci-lint run --fix

build:
@echo " > \033[32mBuilding binary...\033[0m "
cd cmd/chainbridge && env GOARCH=amd64 go build -o ../../build/chainbridge $(VERSION)
cd cmd/chainbridge && env GOARCH=$(ARCH) go build -o ../../build/chainbridge $(VERSION)

install:
@echo " > \033[32mInstalling bridge...\033[0m "
Expand Down
12 changes: 6 additions & 6 deletions chains/ethereum/chain.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@ import (
erc721Handler "github.com/ChainSafe/ChainBridge/bindings/ERC721Handler"
"github.com/ChainSafe/ChainBridge/bindings/GenericHandler"
connection "github.com/ChainSafe/ChainBridge/connections/ethereum"
"github.com/ChainSafe/chainbridge-utils/blockstore"
"github.com/ChainSafe/chainbridge-utils/core"
"github.com/ChainSafe/chainbridge-utils/crypto/secp256k1"
"github.com/ChainSafe/chainbridge-utils/keystore"
metrics "github.com/ChainSafe/chainbridge-utils/metrics/types"
"github.com/ChainSafe/chainbridge-utils/msg"
"github.com/ChainSafe/log15"
"github.com/centrifuge/chainbridge-utils/blockstore"
"github.com/centrifuge/chainbridge-utils/core"
"github.com/centrifuge/chainbridge-utils/crypto/secp256k1"
"github.com/centrifuge/chainbridge-utils/keystore"
metrics "github.com/centrifuge/chainbridge-utils/metrics/types"
"github.com/centrifuge/chainbridge-utils/msg"
"github.com/ethereum/go-ethereum/accounts/abi/bind"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/ethclient"
Expand Down
6 changes: 3 additions & 3 deletions chains/ethereum/chain_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ import (
"time"

ethtest "github.com/ChainSafe/ChainBridge/shared/ethereum/testing"
"github.com/ChainSafe/chainbridge-utils/core"
"github.com/ChainSafe/chainbridge-utils/keystore"
"github.com/ChainSafe/chainbridge-utils/msg"
"github.com/centrifuge/chainbridge-utils/core"
"github.com/centrifuge/chainbridge-utils/keystore"
"github.com/centrifuge/chainbridge-utils/msg"
"github.com/ethereum/go-ethereum/common"
ethcrypto "github.com/ethereum/go-ethereum/crypto"
)
Expand Down
4 changes: 2 additions & 2 deletions chains/ethereum/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import (
"math/big"

utils "github.com/ChainSafe/ChainBridge/shared/ethereum"
"github.com/ChainSafe/chainbridge-utils/core"
"github.com/ChainSafe/chainbridge-utils/msg"
"github.com/centrifuge/chainbridge-utils/core"
"github.com/centrifuge/chainbridge-utils/msg"
"github.com/ethereum/go-ethereum/common"
)

Expand Down
2 changes: 1 addition & 1 deletion chains/ethereum/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import (
"reflect"
"testing"

"github.com/ChainSafe/chainbridge-utils/core"
"github.com/centrifuge/chainbridge-utils/core"
"github.com/ethereum/go-ethereum/common"
)

Expand Down
2 changes: 1 addition & 1 deletion chains/ethereum/events.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
package ethereum

import (
"github.com/ChainSafe/chainbridge-utils/msg"
"github.com/centrifuge/chainbridge-utils/msg"
"github.com/ethereum/go-ethereum/accounts/abi/bind"
)

Expand Down
6 changes: 3 additions & 3 deletions chains/ethereum/listener.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ import (
"github.com/ChainSafe/ChainBridge/bindings/GenericHandler"
"github.com/ChainSafe/ChainBridge/chains"
utils "github.com/ChainSafe/ChainBridge/shared/ethereum"
"github.com/ChainSafe/chainbridge-utils/blockstore"
metrics "github.com/ChainSafe/chainbridge-utils/metrics/types"
"github.com/ChainSafe/chainbridge-utils/msg"
"github.com/ChainSafe/log15"
"github.com/centrifuge/chainbridge-utils/blockstore"
metrics "github.com/centrifuge/chainbridge-utils/metrics/types"
"github.com/centrifuge/chainbridge-utils/msg"
eth "github.com/ethereum/go-ethereum"
"github.com/ethereum/go-ethereum/accounts/abi/bind"
ethcommon "github.com/ethereum/go-ethereum/common"
Expand Down
4 changes: 2 additions & 2 deletions chains/ethereum/listener_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ import (
"github.com/ChainSafe/ChainBridge/bindings/GenericHandler"
utils "github.com/ChainSafe/ChainBridge/shared/ethereum"
ethtest "github.com/ChainSafe/ChainBridge/shared/ethereum/testing"
"github.com/ChainSafe/chainbridge-utils/blockstore"
"github.com/ChainSafe/chainbridge-utils/msg"
"github.com/ChainSafe/log15"
"github.com/centrifuge/chainbridge-utils/blockstore"
"github.com/centrifuge/chainbridge-utils/msg"
"github.com/ethereum/go-ethereum/common"
ethcrypto "github.com/ethereum/go-ethereum/crypto"
)
Expand Down
4 changes: 2 additions & 2 deletions chains/ethereum/test_utils_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ import (
"github.com/ChainSafe/ChainBridge/bindings/Bridge"
connection "github.com/ChainSafe/ChainBridge/connections/ethereum"
utils "github.com/ChainSafe/ChainBridge/shared/ethereum"
"github.com/ChainSafe/chainbridge-utils/keystore"
"github.com/ChainSafe/chainbridge-utils/msg"
"github.com/ChainSafe/log15"
"github.com/centrifuge/chainbridge-utils/keystore"
"github.com/centrifuge/chainbridge-utils/msg"
"github.com/ethereum/go-ethereum/common"
)

Expand Down
6 changes: 3 additions & 3 deletions chains/ethereum/writer.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ package ethereum

import (
"github.com/ChainSafe/ChainBridge/bindings/Bridge"
"github.com/ChainSafe/chainbridge-utils/core"
metrics "github.com/ChainSafe/chainbridge-utils/metrics/types"
"github.com/ChainSafe/chainbridge-utils/msg"
"github.com/ChainSafe/log15"
"github.com/centrifuge/chainbridge-utils/core"
metrics "github.com/centrifuge/chainbridge-utils/metrics/types"
"github.com/centrifuge/chainbridge-utils/msg"
)

var _ core.Writer = &writer{}
Expand Down
2 changes: 1 addition & 1 deletion chains/ethereum/writer_methods.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ import (
"time"

utils "github.com/ChainSafe/ChainBridge/shared/ethereum"
"github.com/ChainSafe/chainbridge-utils/msg"
log "github.com/ChainSafe/log15"
"github.com/centrifuge/chainbridge-utils/msg"
)

// Number of blocks to wait for an finalization event
Expand Down
2 changes: 1 addition & 1 deletion chains/ethereum/writer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ import (
"github.com/ChainSafe/ChainBridge/bindings/Bridge"
utils "github.com/ChainSafe/ChainBridge/shared/ethereum"
ethtest "github.com/ChainSafe/ChainBridge/shared/ethereum/testing"
"github.com/ChainSafe/chainbridge-utils/msg"
"github.com/ChainSafe/log15"
"github.com/centrifuge/chainbridge-utils/msg"
eth "github.com/ethereum/go-ethereum"
"github.com/ethereum/go-ethereum/common"
ethtypes "github.com/ethereum/go-ethereum/core/types"
Expand Down
2 changes: 1 addition & 1 deletion chains/interfaces.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
package chains

import (
"github.com/ChainSafe/chainbridge-utils/msg"
"github.com/centrifuge/chainbridge-utils/msg"
)

type Router interface {
Expand Down
12 changes: 6 additions & 6 deletions chains/substrate/chain.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,13 @@ As the writer receives messages from the router, it constructs proposals. If a p
package substrate

import (
"github.com/ChainSafe/chainbridge-utils/blockstore"
"github.com/ChainSafe/chainbridge-utils/core"
"github.com/ChainSafe/chainbridge-utils/crypto/sr25519"
"github.com/ChainSafe/chainbridge-utils/keystore"
metrics "github.com/ChainSafe/chainbridge-utils/metrics/types"
"github.com/ChainSafe/chainbridge-utils/msg"
"github.com/ChainSafe/log15"
"github.com/centrifuge/chainbridge-utils/blockstore"
"github.com/centrifuge/chainbridge-utils/core"
"github.com/centrifuge/chainbridge-utils/crypto/sr25519"
"github.com/centrifuge/chainbridge-utils/keystore"
metrics "github.com/centrifuge/chainbridge-utils/metrics/types"
"github.com/centrifuge/chainbridge-utils/msg"
)

var _ core.Chain = &Chain{}
Expand Down
2 changes: 1 addition & 1 deletion chains/substrate/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ package substrate
import (
"strconv"

"github.com/ChainSafe/chainbridge-utils/core"
"github.com/centrifuge/chainbridge-utils/core"
)

func parseStartBlock(cfg *core.ChainConfig) uint64 {
Expand Down
2 changes: 1 addition & 1 deletion chains/substrate/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ package substrate
import (
"testing"

"github.com/ChainSafe/chainbridge-utils/core"
"github.com/centrifuge/chainbridge-utils/core"
)

func TestParseStartBlock(t *testing.T) {
Expand Down
12 changes: 6 additions & 6 deletions chains/substrate/connection.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ import (
"sync"

utils "github.com/ChainSafe/ChainBridge/shared/substrate"
"github.com/ChainSafe/chainbridge-utils/msg"
"github.com/ChainSafe/log15"
gsrpc "github.com/centrifuge/go-substrate-rpc-client"
"github.com/centrifuge/go-substrate-rpc-client/rpc/author"
"github.com/centrifuge/go-substrate-rpc-client/signature"
"github.com/centrifuge/go-substrate-rpc-client/types"
"github.com/centrifuge/chainbridge-utils/msg"
gsrpc "github.com/centrifuge/go-substrate-rpc-client/v4"
"github.com/centrifuge/go-substrate-rpc-client/v4/rpc/author"
"github.com/centrifuge/go-substrate-rpc-client/v4/signature"
"github.com/centrifuge/go-substrate-rpc-client/v4/types"
)

type Connection struct {
Expand Down Expand Up @@ -181,7 +181,7 @@ func (c *Connection) queryStorage(prefix, method string, arg1, arg2 []byte, resu

// TODO: Add this to GSRPC
func getConst(meta *types.Metadata, prefix, name string, res interface{}) error {
for _, mod := range meta.AsMetadataV11.Modules {
for _, mod := range meta.AsMetadataV14.Pallets {
if string(mod.Name) == prefix {
for _, cons := range mod.Constants {
if string(cons.Name) == name {
Expand Down
2 changes: 1 addition & 1 deletion chains/substrate/connection_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ package substrate
import (
"testing"

"github.com/centrifuge/go-substrate-rpc-client/types"
"github.com/centrifuge/go-substrate-rpc-client/v4/types"
)

func TestConnect_QueryStorage(t *testing.T) {
Expand Down
4 changes: 2 additions & 2 deletions chains/substrate/events.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ import (
"fmt"
"math/big"

events "github.com/ChainSafe/chainbridge-substrate-events"
"github.com/ChainSafe/chainbridge-utils/msg"
"github.com/ChainSafe/log15"
events "github.com/centrifuge/chainbridge-substrate-events"
"github.com/centrifuge/chainbridge-utils/msg"
)

type eventName string
Expand Down
8 changes: 4 additions & 4 deletions chains/substrate/listener.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ import (

"github.com/ChainSafe/ChainBridge/chains"
utils "github.com/ChainSafe/ChainBridge/shared/substrate"
"github.com/ChainSafe/chainbridge-utils/blockstore"
metrics "github.com/ChainSafe/chainbridge-utils/metrics/types"
"github.com/ChainSafe/chainbridge-utils/msg"
"github.com/ChainSafe/log15"
"github.com/centrifuge/go-substrate-rpc-client/types"
"github.com/centrifuge/chainbridge-utils/blockstore"
metrics "github.com/centrifuge/chainbridge-utils/metrics/types"
"github.com/centrifuge/chainbridge-utils/msg"
"github.com/centrifuge/go-substrate-rpc-client/v4/types"
)

type listener struct {
Expand Down
6 changes: 3 additions & 3 deletions chains/substrate/listener_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ import (

utils "github.com/ChainSafe/ChainBridge/shared/substrate"
subtest "github.com/ChainSafe/ChainBridge/shared/substrate/testing"
"github.com/ChainSafe/chainbridge-utils/blockstore"
"github.com/ChainSafe/chainbridge-utils/msg"
"github.com/centrifuge/go-substrate-rpc-client/types"
"github.com/centrifuge/chainbridge-utils/blockstore"
"github.com/centrifuge/chainbridge-utils/msg"
"github.com/centrifuge/go-substrate-rpc-client/v4/types"
)

const ListenerTimeout = time.Second * 30
Expand Down
6 changes: 3 additions & 3 deletions chains/substrate/test_helper_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ import (
"testing"

utils "github.com/ChainSafe/ChainBridge/shared/substrate"
"github.com/ChainSafe/chainbridge-utils/keystore"
"github.com/ChainSafe/chainbridge-utils/msg"
"github.com/ChainSafe/log15"
"github.com/centrifuge/go-substrate-rpc-client/types"
"github.com/centrifuge/chainbridge-utils/keystore"
"github.com/centrifuge/chainbridge-utils/msg"
"github.com/centrifuge/go-substrate-rpc-client/v4/types"
"github.com/ethereum/go-ethereum/common/hexutil"
)

Expand Down
6 changes: 3 additions & 3 deletions chains/substrate/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ package substrate
import (
"math/big"

"github.com/ChainSafe/chainbridge-utils/msg"
"github.com/centrifuge/go-substrate-rpc-client/scale"
"github.com/centrifuge/go-substrate-rpc-client/types"
"github.com/centrifuge/chainbridge-utils/msg"
"github.com/centrifuge/go-substrate-rpc-client/v4/scale"
"github.com/centrifuge/go-substrate-rpc-client/v4/types"
)

type voteState struct {
Expand Down
8 changes: 4 additions & 4 deletions chains/substrate/writer.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ import (
"fmt"
"time"

"github.com/ChainSafe/chainbridge-utils/core"
"github.com/centrifuge/chainbridge-utils/core"

utils "github.com/ChainSafe/ChainBridge/shared/substrate"
metrics "github.com/ChainSafe/chainbridge-utils/metrics/types"
"github.com/ChainSafe/chainbridge-utils/msg"
"github.com/ChainSafe/log15"
"github.com/centrifuge/go-substrate-rpc-client/types"
metrics "github.com/centrifuge/chainbridge-utils/metrics/types"
"github.com/centrifuge/chainbridge-utils/msg"
"github.com/centrifuge/go-substrate-rpc-client/v4/types"
)

var _ core.Writer = &writer{}
Expand Down
4 changes: 2 additions & 2 deletions chains/substrate/writer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ import (
"reflect"
"testing"

"github.com/centrifuge/go-substrate-rpc-client/types"
"github.com/centrifuge/go-substrate-rpc-client/v4/types"

utils "github.com/ChainSafe/ChainBridge/shared/substrate"
subtest "github.com/ChainSafe/ChainBridge/shared/substrate/testing"
message "github.com/ChainSafe/chainbridge-utils/msg"
message "github.com/centrifuge/chainbridge-utils/msg"
)

func assertProposalState(t *testing.T, conn *Connection, prop *proposal, votes *voteState, hasValue bool) {
Expand Down
Loading

0 comments on commit e36ebda

Please sign in to comment.