Skip to content

Commit

Permalink
follow v0.2.12
Browse files Browse the repository at this point in the history
  • Loading branch information
yoshidan committed Sep 22, 2024
1 parent 3bdee9b commit d55c00d
Show file tree
Hide file tree
Showing 18 changed files with 351 additions and 652 deletions.
32 changes: 23 additions & 9 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,29 @@ jobs:
env:
SGX_MODE: SW
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- uses: actions-rs/toolchain@v1
- uses: actions/setup-go@v5
with:
toolchain: nightly
- run: curl -LO https://download.01.org/intel-sgx/sgx-linux/2.19/distro/ubuntu22.04-server/sgx_linux_x64_sdk_2.19.100.3.bin
- run: chmod +x ./sgx_linux_x64_sdk_2.19.100.3.bin
- run: echo -e 'no\n/opt' | ./sgx_linux_x64_sdk_2.19.100.3.bin
- run: source /opt/sgxsdk/environment && make lcp
- run: source /opt/sgxsdk/environment && make all yrly build-images prepare-contracts
- run: source /opt/sgxsdk/environment && make e2e-test
go-version: '1.21'
- uses: dtolnay/rust-toolchain@nightly
- uses: datachainlab/rust-cache@allow_registry_src_caching
with:
workspaces: |
./lcp
./enclave
cache-directories: |
~/.cargo/registry/src/**/librocksdb-sys-*
- name: Install SGX SDK
run: |
curl -LO https://download.01.org/intel-sgx/sgx-linux/2.19/distro/ubuntu22.04-server/sgx_linux_x64_sdk_2.19.100.3.bin
chmod +x ./sgx_linux_x64_sdk_2.19.100.3.bin
echo -e 'no\n/opt' | ./sgx_linux_x64_sdk_2.19.100.3.bin
- name: Run E2E test
run: |
source /opt/sgxsdk/environment
make prepare-contracts
make build-images
make USE_UPGRADE_TEST=no e2e-test
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "lcp"]
path = lcp
url = https://github.com/datachainlab/lcp
23 changes: 0 additions & 23 deletions ImportRustSGXSDK.mk

This file was deleted.

45 changes: 21 additions & 24 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
######## Import SGX SDK ########
include ImportRustSGXSDK.mk

######## SGX SDK Settings ########
SGX_SDK ?= /opt/sgxsdk
SGX_MODE ?= HW
Expand All @@ -9,7 +6,7 @@ SGX_DEBUG ?= 0
SGX_PRERELEASE ?= 0
SGX_PRODUCTION ?= 0

include rust-sgx-sdk/buildenv.mk
include buildenv.mk

ifeq ($(shell getconf LONG_BIT), 32)
SGX_ARCH := x86
Expand Down Expand Up @@ -52,27 +49,26 @@ endif

SGX_COMMON_CFLAGS += -fstack-protector

CARGO_FEATURES = --features=default
ENCLAVE_CARGO_FEATURES = --features=default
APP_CARGO_FEATURES = --features=default
ifeq ($(SGX_PRODUCTION), 1)
SGX_ENCLAVE_MODE = "Production Mode"
SGX_ENCLAVE_CONFIG = $(SGX_ENCLAVE_CONFIG)
SGX_SIGN_KEY = $(SGX_COMMERCIAL_KEY)
CARGO_FEATURES = --features=production
else
SGX_ENCLAVE_MODE = "Development Mode"
SGX_ENCLAVE_CONFIG = "enclave/Enclave.config.xml"
SGX_SIGN_KEY = "enclave/Enclave_private.pem"
ifneq ($(SGX_MODE), HW)
CARGO_FEATURES = --features=default,sgx-sw
ENCLAVE_CARGO_FEATURES = --features=default
APP_CARGO_FEATURES = --features=default,sgx-sw
endif
endif

######## CUSTOM Settings ########

CUSTOM_LIBRARY_PATH := ./lib
CUSTOM_BIN_PATH := ./bin
CUSTOM_EDL_PATH := ./rust-sgx-sdk/edl
CUSTOM_COMMON_PATH := ./rust-sgx-sdk/common

######## EDL Settings ########

Expand All @@ -93,7 +89,7 @@ ProtectedFs_Library_Name := sgx_tprotected_fs

RustEnclave_C_Files := $(wildcard ./enclave/*.c)
RustEnclave_C_Objects := $(RustEnclave_C_Files:.c=.o)
RustEnclave_Include_Paths := -I$(CUSTOM_COMMON_PATH)/inc -I$(CUSTOM_EDL_PATH) -I$(SGX_SDK)/include -I$(SGX_SDK)/include/tlibc -I$(SGX_SDK)/include/stlport -I$(SGX_SDK)/include/epid -I ./enclave -I./include
RustEnclave_Include_Paths := -I$(SGX_SDK)/include -I$(SGX_SDK)/include/tlibc -I$(SGX_SDK)/include/stlport -I$(SGX_SDK)/include/epid -I ./enclave -I./include

RustEnclave_Link_Libs := -L$(CUSTOM_LIBRARY_PATH) -lenclave
RustEnclave_Compile_Flags := $(SGX_COMMON_CFLAGS) $(ENCLAVE_CFLAGS) $(RustEnclave_Include_Paths)
Expand All @@ -115,7 +111,7 @@ all: $(Signed_RustEnclave_Name)
######## EDL Objects ########

$(Enclave_EDL_Files): $(SGX_EDGER8R) enclave/Enclave.edl
$(SGX_EDGER8R) --trusted enclave/Enclave.edl --search-path $(SGX_SDK)/include --search-path $(CUSTOM_EDL_PATH) --trusted-dir enclave
$(SGX_EDGER8R) --trusted enclave/Enclave.edl --search-path $(SGX_SDK)/include --trusted-dir enclave
@echo "GEN => $(Enclave_EDL_Files)"

######## Enclave Objects ########
Expand Down Expand Up @@ -153,31 +149,32 @@ down:
fmt:
@cargo fmt --all && cd ./enclave && cargo fmt --all

.PHONY: docker
docker:
@cd rust-sgx-sdk/dockerfile && docker build --no-cache -t datachainlab/sgx-rust:2004-1.1.5 -f Dockerfile.2004.nightly .

.PHONY: yrly
yrly:
go build -ldflags="-X github.com/datachainlab/ibc-parlia-relay/module/constant.blocksPerEpoch=20" -o ./bin/yrly -tags "dev customcert" ./relayer

######## E2E test ########
LCP_REPO=./lcp
LCP_BIN=$(LCP_REPO)/bin/lcp

USE_UPGRADE_TEST ?= no

LCP_BIN ?= lcp
$(LCP_BIN):
$(MAKE) -C $(LCP_REPO)

.PHONY: prepare-contracts
prepare-contracts:
make -C ./tests/e2e/chains/bsc dep
$(MAKE) -C ./tests/e2e/chains/bsc dep

.PHONY: build-images
build-images:
make -C ./tests/e2e/chains/tendermint image
make -C ./tests/e2e/chains/bsc build

.PHONY: lcp
lcp:
SGX_MODE=$(SGX_MODE) ./build_lcp.sh
$(MAKE) -C ./tests/e2e/chains/tendermint image
$(MAKE) -C ./tests/e2e/chains/bsc build

.PHONY: e2e-test
e2e-test: $(Signed_RustEnclave_Name) yrly
e2e-test: e2e-clean $(LCP_BIN) $(Signed_RustEnclave_Name) yrly
LCP_BIN=$(LCP_BIN) ./tests/e2e/scripts/run_e2e_test.sh

.PHONY: e2e-clean
e2e-clean:
$(MAKE) -C ./tests/e2e/chains/bsc rm-oz-upgrades
14 changes: 6 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
This is a cross-chain messaging demo between Cosmos and BSC using IBC and LCP (Light Client Proxy).

## Supported Versions
- [ibc-solidity v0.3.35](https://github.com/hyperledger-labs/yui-ibc-solidity/releases/tag/v0.3.35)
- [lcp v0.2.9](https://github.com/datachainlab/lcp/releases/tag/v0.2.9)
- [ibc-solidity v0.3.37](https://github.com/hyperledger-labs/yui-ibc-solidity/releases/tag/v0.3.37)
- [lcp v0.2.10](https://github.com/datachainlab/lcp/releases/tag/v0.2.10)
- [lcp-go v0.2.10](https://github.com/datachainlab/lcp-go/releases/tag/v0.2.10)
- [lcp-solidity v0.1.14](https://github.com/datachainlab/lcp-solidity/releases/tag/v0.1.14)
- [lcp-solidity v0.1.15](https://github.com/datachainlab/lcp-solidity/releases/tag/v0.1.15)
- [yui-relayer v0.5.8](https://github.com/hyperledger-labs/yui-relayer/releases/tag/v0.5.8)
- [ethereum-ibc-relay-chain v0.3.10](https://github.com/datachainlab/ethereum-ibc-relay-chain/releases/tag/v0.3.10)
- [parlia-elc v0.3.1](https://github.com/datachainlab/parlia-elc/releases/tag/v0.3.1)
- [parlia-elc v0.3.2](https://github.com/datachainlab/parlia-elc/releases/tag/v0.3.2)
- [ibc-parlia-relay v0.3.4](https://github.com/datachainlab/ibc-parlia-relay/releases/tag/v0.3.4)

## Pre-requisites
Expand All @@ -21,8 +21,7 @@ This is a cross-chain messaging demo between Cosmos and BSC using IBC and LCP (L

### SGX HW mode(default)
```
$ make lcp
$ make all yrly build-images prepare-contracts
$ make build-images prepare-contracts
$ make e2e-test
$ make down
```
Expand All @@ -32,8 +31,7 @@ $ make down
```
$ export SGX_MODE=SW
$ source /opt/sgxsdk/environment
$ make lcp
$ make all yrly build-images prepare-contracts
$ make build-images prepare-contracts
$ make e2e-test
$ make down
```
Expand Down
6 changes: 0 additions & 6 deletions build_lcp.sh

This file was deleted.

File renamed without changes.
Loading

0 comments on commit d55c00d

Please sign in to comment.