Skip to content

Commit

Permalink
Merge pull request #8 from SecretSaturn/Solana
Browse files Browse the repository at this point in the history
Add Solana support
  • Loading branch information
SecretSaturn authored Oct 10, 2024
2 parents e161a35 + 16a9202 commit e91bff6
Show file tree
Hide file tree
Showing 75 changed files with 8,788 additions and 6,509 deletions.
173 changes: 173 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
name: Continuous Integration

on:
workflow_dispatch:
push:
branches:
- main
paths:
- "TNLS-Relayers/**"
- "TNLS-Gateways/public-gateway/**"
- "TNLS-Gateways/secret/**"
- ".github/workflows/ci.yml"
pull_request:
branches:
- main
paths:
- "TNLS-Relayers/**"
- "TNLS-Gateways/public-gateway/**"
- "TNLS-Gateways/secret/**"
- ".github/workflows/ci.yml"

jobs:
foundry_tests:
name: Foundry Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly

- name: Install forge dependencies
working-directory: TNLS-Gateways/public-gateway
run: forge install

- name: Run tests
working-directory: TNLS-Gateways/public-gateway
run: forge test -vvv

- name: Check gas snapshots
working-directory: TNLS-Gateways/public-gateway
run: forge snapshot --check --tolerance 1

secret_unit_tests:
name: Secret Gateway Unit Tests
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable
env:
CARGO_TERM_COLOR: always
SCCACHE_GHA_ENABLED: "true"
RUSTC_WRAPPER: "sccache"
steps:
- uses: actions/checkout@v4

- uses: actions/cache@v4
with:
path: |
~/.cargo
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: ${{ runner.os }}-cargo-

- uses: mozilla-actions/[email protected]

- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}

- name: Run Unit Tests
working-directory: TNLS-Gateways/secret
run: cargo test --release

secret_integration_tests:
name: Secret Gateway Integration Tests
runs-on: ubuntu-latest
needs: secret_unit_tests
services:
secret:
image: ghcr.io/scrtlabs/localsecret:v1.13.3
ports:
- 1317:1317
- 5000:5000
- 9091:9091
- 26657:26657
env:
CARGO_TERM_COLOR: always
SCCACHE_GHA_ENABLED: "true"
RUSTC_WRAPPER: "sccache"
steps:
- uses: actions/checkout@v4

- uses: actions/cache@v4
with:
path: |
~/.cargo
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: ${{ runner.os }}-cargo-

- uses: mozilla-actions/[email protected]

- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
target: wasm32-unknown-unknown

- name: Install dependencies
working-directory: TNLS-Gateways/secret
run: npm --prefix tests/ install

- name: Install latest Binaryen
run: |
BINARYEN_VERSION=version_118
wget https://github.com/WebAssembly/binaryen/releases/download/${BINARYEN_VERSION}/binaryen-${BINARYEN_VERSION}-x86_64-linux.tar.gz
tar -xzf binaryen-${BINARYEN_VERSION}-x86_64-linux.tar.gz
sudo mv binaryen-${BINARYEN_VERSION} /usr/local/binaryen
echo "/usr/local/binaryen/bin" >> $GITHUB_PATH
- name: Verify installation
run: wasm-opt --version

- name: Build wasm contract
working-directory: TNLS-Gateways/secret
run: make build-mainnet

- name: Run integration tests
working-directory: TNLS-Gateways/secret
run: make integration-test

build_and_push:
name: Build and Push Docker Image
runs-on: ubuntu-latest
needs:
- foundry_tests
- secret_integration_tests
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
IMAGE_NAME: secretpath
IMAGE_TAG: latest
DOCKER_BUILDKIT: 1
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Cache Docker layers
uses: actions/cache@v3
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
- name: Log in to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build and Push Docker Image
working-directory: TNLS-Relayers
run: |
docker compose build --pull
docker compose push
42 changes: 0 additions & 42 deletions .github/workflows/Foundry_tests.yml

This file was deleted.

117 changes: 0 additions & 117 deletions .github/workflows/Secret_gateway_tests.yml

This file was deleted.

8 changes: 3 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
.idea
TNLS-Relayers/etherscan_api_key.txt
TNLS-Relayers/infura_api_endpoint.txt
*/*/*/infura_api_endpoint.txt
*/.*
*/venv
*/__pycache__
.DS_Store
Expand All @@ -24,11 +20,13 @@ TNLS-Gateways/secret/contract.wasm
TNLS-Gateways/secret/contract.wasm.gz
.env
__pycache__/
*.example
TNLS-Gateways/public-gateway/broadcast/*
TNLS-Gateways/public-gateway/lib/*
*.gz
TNLS-Samples/RNG/contract.wasm.gz
/TNLS-Gateways/solana-gateway/node_modules
/venv
/TNLS-Gateways/solana-gateway/.anchor/program-logs
/secret-deploy/node_modules
/secret-deploy/secret_gateway.log
/secret-deploy/secret_sample.log
20 changes: 15 additions & 5 deletions TNLS-Gateways/public-gateway/.gas-snapshot
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
ContractTest:testFail_CannotPreExecutionWithoutValidPayloadSig() (gas: 61787)
ContractTest:testFail_PostExecutionWithoutMapStoredAddressSignatures() (gas: 83236)
ContractTest:test_PostExecution() (gas: 84170)
ContractTest:test_PostExecutionExplicitValues() (gas: 2787283)
ContractTest:test_PreExecution() (gas: 64465)
ContractTest:test_EstimateRequestPrice() (gas: 10900)
ContractTest:test_OwnerFunctions() (gas: 44469)
ContractTest:test_PostExecution() (gas: 99534)
ContractTest:test_PostExecutionWithoutValidSignature() (gas: 94618)
ContractTest:test_PostExecution_InvalidPacketHash() (gas: 88078)
ContractTest:test_PostExecution_Reexecution() (gas: 107644)
ContractTest:test_PreExecution() (gas: 80573)
ContractTest:test_RecoverSigner() (gas: 24861)
ContractTest:test_RequestRandomness() (gas: 88250)
ContractTest:test_RequestRandomness_Limits() (gas: 86674)
ContractTest:test_RequestRandomness_PaidCallbackFeeTooLow() (gas: 26826)
ContractTest:test_Send_GasRefund() (gas: 77266)
ContractTest:test_Send_InvalidPayloadHash() (gas: 37302)
ContractTest:test_TaskCompletionOrder() (gas: 173468)
ContractTest:test_TasksFromMultipleUsers() (gas: 135553)
Loading

0 comments on commit e91bff6

Please sign in to comment.