From 434cbf0e7eb63f3fd294d7787366ce0790ea77e5 Mon Sep 17 00:00:00 2001 From: Westlad Date: Thu, 3 Feb 2022 12:04:33 +0000 Subject: [PATCH 01/27] feat: added dev build scripts --- .github/workflows/dev.yml | 129 ++++++++++++++++++++++++++++++++++++++ dev.env | 8 +++ docker-compose.beta.yml | 99 +++++++++++++++++++++++++++++ 3 files changed, 236 insertions(+) create mode 100644 .github/workflows/dev.yml create mode 100644 dev.env create mode 100644 docker-compose.beta.yml diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml new file mode 100644 index 000000000..4a49bfb0e --- /dev/null +++ b/.github/workflows/dev.yml @@ -0,0 +1,129 @@ +# Deploys containers to the development environment. +# +name: Deploy to Staging +on: + push: + branches: + - dev +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DOCKER_ACTOR: ${{ secrets.DOCKER_ACTOR }} + +jobs: + + build-worker: + name: Build deployer + runs-on: ubuntu-20.04 + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Login to docker registry + run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $DOCKER_ACTOR --password-stdin + - name: Docker push worker + run: | + docker build -t ghcr.io/eyblockchain/nightfall3-worker . -f worker.Dockerfile + docker push ghcr.io/eyblockchain/nightfall3-worker + + build-deployer: + name: Build deployer + runs-on: ubuntu-20.04 + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Login to docker registry + run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $DOCKER_ACTOR --password-stdin + - name: Docker push deployer + run: | + docker build -t ghcr.io/eyblockchain/nightfall3-deployer . -f deployer.Dockerfile + docker push ghcr.io/eyblockchain/nightfall3-deployer + + build-optimist: + name: Build optimist + runs-on: ubuntu-20.04 + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Login to docker registry + run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $DOCKER_ACTOR --password-stdin + - name: Docker push optimist + run: | + docker build -t ghcr.io/eyblockchain/nightfall3-optimist . -f optimist.Dockerfile + docker push ghcr.io/eyblockchain/nightfall3-optimist + + build-proposer: + name: Build proposer + runs-on: ubuntu-20.04 + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Login to docker registry + run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $DOCKER_ACTOR --password-stdin + - name: Docker push proposer + run: | + docker build -t ghcr.io/eyblockchain/nightfall3-proposer . -f proposer.Dockerfile + docker push ghcr.io/eyblockchain/nightfall3-proposer + +# build-challenger: +# name: Build challenger +# runs-on: ubuntu-20.04 +# steps: +# - name: Checkout +# uses: actions/checkout@v2 +# - name: Login to docker registry +# run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $DOCKER_ACTOR --password-stdin +# - name: Docker push challenger +# run: | +# docker build -t ghcr.io/eyblockchain/nightfall3-challenger . -f challenger.Dockerfile +# docker push ghcr.io/eyblockchain/nightfall3-challenger + +# build-liquidity: +# name: Build liquidity provider +# runs-on: ubuntu-20.04 +# steps: +# - name: Checkout +# uses: actions/checkout@v2 +# - name: Login to docker registry +# run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $DOCKER_ACTOR --password-stdin +# - name: Docker push liqidity +# run: | +# docker build -t ghcr.io/eyblockchain/nightfall3-liquidity . -f liquidity.Dockerfile +# docker push ghcr.io/eyblockchain/nightfall3-liquidity + + deploy: + name: Deploy + runs-on: ubuntu-20.04 + needs: [build-deployer, build-optimist, build-proposer, build-challenger, build-liquidity] + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Configure SSH + run: | + mkdir -p ~/.ssh/ + echo "$SSH_KEY" > ~/.ssh/dev.key + chmod 600 ~/.ssh/dev.key + cat >>~/.ssh/config < Date: Thu, 3 Feb 2022 13:55:07 +0000 Subject: [PATCH 02/27] fix: action script --- .github/workflows/dev.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index 4a49bfb0e..157122448 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -12,7 +12,7 @@ env: jobs: build-worker: - name: Build deployer + name: build-worker runs-on: ubuntu-20.04 steps: - name: Checkout @@ -25,7 +25,7 @@ jobs: docker push ghcr.io/eyblockchain/nightfall3-worker build-deployer: - name: Build deployer + name: build-deployer runs-on: ubuntu-20.04 steps: - name: Checkout @@ -38,7 +38,7 @@ jobs: docker push ghcr.io/eyblockchain/nightfall3-deployer build-optimist: - name: Build optimist + name: build-optimist runs-on: ubuntu-20.04 steps: - name: Checkout @@ -51,7 +51,7 @@ jobs: docker push ghcr.io/eyblockchain/nightfall3-optimist build-proposer: - name: Build proposer + name: build-proposer runs-on: ubuntu-20.04 steps: - name: Checkout From 78444fc6bc62db9021996c1a09610496e898120a Mon Sep 17 00:00:00 2001 From: Westlad Date: Thu, 3 Feb 2022 13:56:33 +0000 Subject: [PATCH 03/27] fix: action script --- .github/workflows/dev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index 157122448..015040277 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -92,7 +92,7 @@ jobs: deploy: name: Deploy runs-on: ubuntu-20.04 - needs: [build-deployer, build-optimist, build-proposer, build-challenger, build-liquidity] + needs: [build-deployer, build-optimist, build-proposer, build-worker] steps: - name: Checkout uses: actions/checkout@v2 From a35abfb2207b3371993680fe902139c0600147f7 Mon Sep 17 00:00:00 2001 From: Westlad Date: Thu, 3 Feb 2022 14:04:03 +0000 Subject: [PATCH 04/27] fix: scp command --- .github/workflows/dev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index 015040277..24d9cb8fd 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -114,7 +114,7 @@ jobs: SSH_HOST: ohio.nightfall3.com - name: Copy files run: | - scp dev.env pull-images.sh docker-compose.beta.yml dev + scp dev.env pull-images.sh docker-compose.beta.yml dev:~/ ssh dev 'mv dev.env .env' ssh dev 'mv docker-compose.beta.yml docker-compose.yml' - name: Login to docker registry From fd78924e6581bdf36e60d509bb580fe1cd301ebf Mon Sep 17 00:00:00 2001 From: Westlad Date: Thu, 3 Feb 2022 15:19:50 +0000 Subject: [PATCH 05/27] feat: add script to wait for deployer to exit --- .github/workflows/dev.yml | 6 +++--- await-deployer.sh | 21 +++++++++++++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) create mode 100755 await-deployer.sh diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index 24d9cb8fd..7f4e1916c 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -114,16 +114,16 @@ jobs: SSH_HOST: ohio.nightfall3.com - name: Copy files run: | - scp dev.env pull-images.sh docker-compose.beta.yml dev:~/ + scp dev.env pull-images.sh docker-compose.beta.yml await-deployer.sh dev:~/ ssh dev 'mv dev.env .env' ssh dev 'mv docker-compose.beta.yml docker-compose.yml' - name: Login to docker registry run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $DOCKER_ACTOR --password-stdin - name: Pull docker images - run: ssh dev './pull-images' + run: ssh dev './pull-images.sh' - name: Run up nightfall run: ssh 'docker-compose up -d deployer optimist' - name: Run up applications run: | - ssh dev 'await-deployer' + ssh dev './await-deployer.sh' ssh dev 'docker-compose up -d proposer' diff --git a/await-deployer.sh b/await-deployer.sh new file mode 100755 index 000000000..8214d38dd --- /dev/null +++ b/await-deployer.sh @@ -0,0 +1,21 @@ +#! /bin/bash + +# Wait until deployer is up and then wait until it exists. Useful if you need +# to wait until nightfall is deployed before you can do something + +while : +do + if [[ `docker ps` = *deployer* ]]; then + break + fi + sleep 1 +done +echo 'deployer container detected' +while : +do + if [[ `docker ps` != *deployer* ]]; then + break + fi + sleep 1 +done +echo 'deployer container has exited' From eae0e7f6dcc29dc466ccb1cd2acb3166009a468a Mon Sep 17 00:00:00 2001 From: Westlad Date: Thu, 3 Feb 2022 15:42:22 +0000 Subject: [PATCH 06/27] fix: ssh command typo --- .github/workflows/dev.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index 7f4e1916c..42fb247d8 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -112,7 +112,7 @@ jobs: SSH_USER: pong SSH_KEY: ${{ secrets.DEV_SSH_KEY }} SSH_HOST: ohio.nightfall3.com - - name: Copy files + - name: Copy and rename files run: | scp dev.env pull-images.sh docker-compose.beta.yml await-deployer.sh dev:~/ ssh dev 'mv dev.env .env' @@ -122,7 +122,7 @@ jobs: - name: Pull docker images run: ssh dev './pull-images.sh' - name: Run up nightfall - run: ssh 'docker-compose up -d deployer optimist' + run: ssh dev 'docker-compose up -d deployer optimist' - name: Run up applications run: | ssh dev './await-deployer.sh' From 29bd855967c89e547c0c1822108ee339ead4e9c2 Mon Sep 17 00:00:00 2001 From: Westlad Date: Thu, 3 Feb 2022 16:05:37 +0000 Subject: [PATCH 07/27] fix: deployer starts a worker --- docker-compose.beta.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker-compose.beta.yml b/docker-compose.beta.yml index ac4049557..537330134 100644 --- a/docker-compose.beta.yml +++ b/docker-compose.beta.yml @@ -31,6 +31,8 @@ services: build: dockerfile: deployer.Dockerfile context: ./ + depends_on: + - worker volumes: - type: volume source: build From b65563bd55f365461c935fd8a99fa08374aac317 Mon Sep 17 00:00:00 2001 From: Westlad Date: Fri, 4 Feb 2022 14:29:16 +0000 Subject: [PATCH 08/27] chore: refactor scripts --- .github/workflows/dev.yml | 8 +++----- dev.env => deployment-scripts/dev.env | 0 .../docker-compose.beta.yml | 1 - deployment-scripts/down.sh | 6 ++++++ pull-images.sh => deployment-scripts/pull-images.sh | 0 await-deployer.sh => deployment-scripts/start.sh | 4 ++++ 6 files changed, 13 insertions(+), 6 deletions(-) rename dev.env => deployment-scripts/dev.env (100%) rename docker-compose.beta.yml => deployment-scripts/docker-compose.beta.yml (99%) create mode 100644 deployment-scripts/down.sh rename pull-images.sh => deployment-scripts/pull-images.sh (100%) rename await-deployer.sh => deployment-scripts/start.sh (70%) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index 42fb247d8..bfe771939 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -114,7 +114,7 @@ jobs: SSH_HOST: ohio.nightfall3.com - name: Copy and rename files run: | - scp dev.env pull-images.sh docker-compose.beta.yml await-deployer.sh dev:~/ + scp deployement-scripts/* dev:~/ ssh dev 'mv dev.env .env' ssh dev 'mv docker-compose.beta.yml docker-compose.yml' - name: Login to docker registry @@ -122,8 +122,6 @@ jobs: - name: Pull docker images run: ssh dev './pull-images.sh' - name: Run up nightfall - run: ssh dev 'docker-compose up -d deployer optimist' - - name: Run up applications run: | - ssh dev './await-deployer.sh' - ssh dev 'docker-compose up -d proposer' + ssh dev './down.sh' + ssh dev 'nohup ./start.sh' diff --git a/dev.env b/deployment-scripts/dev.env similarity index 100% rename from dev.env rename to deployment-scripts/dev.env diff --git a/docker-compose.beta.yml b/deployment-scripts/docker-compose.beta.yml similarity index 99% rename from docker-compose.beta.yml rename to deployment-scripts/docker-compose.beta.yml index 537330134..1bef60da6 100644 --- a/docker-compose.beta.yml +++ b/deployment-scripts/docker-compose.beta.yml @@ -87,7 +87,6 @@ services: PROPOSER_ETHEREUM_SIGNING_KEY: ${PROPOSER_ETHEREUM_SIGNING_KEY} volumes: - mongodb: proving_files: build: diff --git a/deployment-scripts/down.sh b/deployment-scripts/down.sh new file mode 100644 index 000000000..9fa926c50 --- /dev/null +++ b/deployment-scripts/down.sh @@ -0,0 +1,6 @@ +#! /bin/bash + +# brings all containers down, deletes all volumes except for the trusted setup + +docker-compose -p nightfall down --remove-orphans +docker volume rm nightfall_build diff --git a/pull-images.sh b/deployment-scripts/pull-images.sh similarity index 100% rename from pull-images.sh rename to deployment-scripts/pull-images.sh diff --git a/await-deployer.sh b/deployment-scripts/start.sh similarity index 70% rename from await-deployer.sh rename to deployment-scripts/start.sh index 8214d38dd..77e207c1e 100755 --- a/await-deployer.sh +++ b/deployment-scripts/start.sh @@ -3,6 +3,8 @@ # Wait until deployer is up and then wait until it exists. Useful if you need # to wait until nightfall is deployed before you can do something +docker-compose -p nightfall --profile servers up -d +# Now wait whie deployer runs up, does it's thing, and exits while : do if [[ `docker ps` = *deployer* ]]; then @@ -19,3 +21,5 @@ do sleep 1 done echo 'deployer container has exited' + +docker-compose -p nightfall --profile applications up -d From ae7cb01e419db630d213c46e79e457d0a95ce1f3 Mon Sep 17 00:00:00 2001 From: Westlad Date: Fri, 4 Feb 2022 14:34:41 +0000 Subject: [PATCH 09/27] fix: script typo --- .github/workflows/dev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index bfe771939..5a36cb4d7 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -114,7 +114,7 @@ jobs: SSH_HOST: ohio.nightfall3.com - name: Copy and rename files run: | - scp deployement-scripts/* dev:~/ + scp deployment-scripts/* dev:~/ ssh dev 'mv dev.env .env' ssh dev 'mv docker-compose.beta.yml docker-compose.yml' - name: Login to docker registry From 356079daf6cb83e7f455860d11ec2e37a0a250e9 Mon Sep 17 00:00:00 2001 From: Westlad Date: Fri, 4 Feb 2022 14:44:55 +0000 Subject: [PATCH 10/27] fix: file permissions --- deployment-scripts/down.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 deployment-scripts/down.sh diff --git a/deployment-scripts/down.sh b/deployment-scripts/down.sh old mode 100644 new mode 100755 From 1bf29d24f76e507651f84d19de814caf14bfec2c Mon Sep 17 00:00:00 2001 From: Westlad Date: Fri, 4 Feb 2022 15:01:28 +0000 Subject: [PATCH 11/27] fix: file permissions --- .github/workflows/dev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index 5a36cb4d7..61b633ace 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -1,5 +1,5 @@ # Deploys containers to the development environment. -# +# name: Deploy to Staging on: push: From c5022618347b8e024fa6ae0001de8e231f559dd7 Mon Sep 17 00:00:00 2001 From: Westlad Date: Fri, 4 Feb 2022 15:09:04 +0000 Subject: [PATCH 12/27] fix: check volume exists before deleting --- deployment-scripts/down.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/deployment-scripts/down.sh b/deployment-scripts/down.sh index 9fa926c50..6b0060d01 100755 --- a/deployment-scripts/down.sh +++ b/deployment-scripts/down.sh @@ -1,6 +1,9 @@ #! /bin/bash # brings all containers down, deletes all volumes except for the trusted setup +VOLUME_LIST=$(docker volume ls -q) docker-compose -p nightfall down --remove-orphans -docker volume rm nightfall_build +if [[ $(echo $VOLUME_LIST | grep nightfall_build) ]]; then + docker volume rm nightfall_build +fi From 6ae8e7e4f32315df37766cd846624069f1cbbe2d Mon Sep 17 00:00:00 2001 From: Westlad Date: Fri, 4 Feb 2022 15:22:33 +0000 Subject: [PATCH 13/27] fix: add profiles to docker-compose --- deployment-scripts/docker-compose.beta.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/deployment-scripts/docker-compose.beta.yml b/deployment-scripts/docker-compose.beta.yml index 1bef60da6..bba0994eb 100644 --- a/deployment-scripts/docker-compose.beta.yml +++ b/deployment-scripts/docker-compose.beta.yml @@ -7,6 +7,8 @@ services: build: dockerfile: optimist.Dockerfile context: ./ + profiles: + - servers networks: - pong_network volumes: @@ -31,6 +33,8 @@ services: build: dockerfile: deployer.Dockerfile context: ./ + profiles: + - servers depends_on: - worker volumes: @@ -60,6 +64,8 @@ services: build: dockerfile: worker.Dockerfile context: ./ + profiles: + - servers volumes: - type: volume source: proving_files @@ -74,6 +80,8 @@ services: build: dockerfile: proposer.Dockerfile context: ./ + profiles: + - applications networks: - pong_network environment: From 843d29318974e9e90b54c7938ab6b824b1f9858c Mon Sep 17 00:00:00 2001 From: Westlad Date: Fri, 4 Feb 2022 16:32:47 +0000 Subject: [PATCH 14/27] fix: nohup start command --- .github/workflows/dev.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index 61b633ace..2cafbab02 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -1,5 +1,5 @@ # Deploys containers to the development environment. -# +# name: Deploy to Staging on: push: @@ -121,7 +121,9 @@ jobs: run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $DOCKER_ACTOR --password-stdin - name: Pull docker images run: ssh dev './pull-images.sh' - - name: Run up nightfall + - name: Stop previous nightfall, delete build volume + run: ssh dev './down.sh' + - name: Start new instance run: | - ssh dev './down.sh' - ssh dev 'nohup ./start.sh' + ssh dev 'nohup ./start.sh &' + ssh dev 'exit' From ed069a67d98c1d25402eb71b44f43d988803c03d Mon Sep 17 00:00:00 2001 From: Westlad Date: Fri, 4 Feb 2022 16:59:48 +0000 Subject: [PATCH 15/27] fix: nohup start command hanging --- .github/workflows/dev.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index 2cafbab02..e124bb379 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -124,6 +124,4 @@ jobs: - name: Stop previous nightfall, delete build volume run: ssh dev './down.sh' - name: Start new instance - run: | - ssh dev 'nohup ./start.sh &' - ssh dev 'exit' + run: ssh dev 'nohup ./start.sh > /dev/null 2>&1 > start.log &' From 094cca982cccb65ab8d3156b3be0e25ae504c469 Mon Sep 17 00:00:00 2001 From: Westlad Date: Mon, 7 Feb 2022 15:12:20 +0000 Subject: [PATCH 16/27] feat: move proposer to optimist endpoint --- cli/lib/nf3.mjs | 25 +++++++++++++++---- deployment-scripts/docker-compose.beta.yml | 6 ++--- .../migrations/4_test_tokens_migration.js | 2 ++ test/ping-pong/docker-compose.yml | 2 -- test/ping-pong/proposer/src/index.mjs | 10 +++----- 5 files changed, 29 insertions(+), 16 deletions(-) diff --git a/cli/lib/nf3.mjs b/cli/lib/nf3.mjs index e34895825..d05ce0222 100644 --- a/cli/lib/nf3.mjs +++ b/cli/lib/nf3.mjs @@ -81,12 +81,27 @@ class Nf3 { blockchain. @returns {Promise} */ - async init(mnemonic) { + async init(mnemonic, contractAddressProvider) { await this.setWeb3Provider(); - this.shieldContractAddress = await this.getContractAddress('Shield'); - this.proposersContractAddress = await this.getContractAddress('Proposers'); - this.challengesContractAddress = await this.getContractAddress('Challenges'); - this.stateContractAddress = await this.getContractAddress('State'); + // this code will call client to get contract addresses, or optimist if client isn't deployed + switch (contractAddressProvider) { + case undefined: + this.contractGetter = this.getContractAddress; + break; + case 'client': + this.contractGetter = this.getContractAddress; + break; + case 'optimist': + this.contractGetter = this.getContractAddressOptimist; + break; + default: + throw new Error('Unknown contract address server'); + } + // once we know where to ask, we can get the contract addresses + this.shieldContractAddress = await this.contractGetter('Shield'); + this.proposersContractAddress = await this.contractGetter('Proposers'); + this.challengesContractAddress = await this.contractGetter('Challenges'); + this.stateContractAddress = await this.contractGetter('State'); // set the ethereumAddress iff we have a signing key if (typeof this.ethereumSigningKey === 'string') { this.ethereumAddress = await this.getAccounts(); diff --git a/deployment-scripts/docker-compose.beta.yml b/deployment-scripts/docker-compose.beta.yml index bba0994eb..75525a33d 100644 --- a/deployment-scripts/docker-compose.beta.yml +++ b/deployment-scripts/docker-compose.beta.yml @@ -15,6 +15,8 @@ services: - type: volume source: build target: /app/build/ + ports: + - 80:80 environment: WEBSOCKET_PORT: 8080 BLOCKCHAIN_WS_HOST: ${BLOCKCHAIN_WS_HOST} @@ -51,7 +53,7 @@ services: BLOCKCHAIN_WS_HOST: ${BLOCKCHAIN_WS_HOST} BLOCKCHAIN_PORT: ${BLOCKCHAIN_PORT} ZOKRATES_WORKER_HOST: worker - USE_STUBS: 'false' + USE_STUBS: 'true' ETH_PRIVATE_KEY: ${ETH_PRIVATE_KEY} ETH_ADDRESS: ${ETH_ADDRESS} GAS_PRICE: 20000000000 @@ -88,8 +90,6 @@ services: OPTIMIST_HOST: optimist OPTIMIST_WS_PORT: 8080 OPTIMIST_HTTP_PORT: 80 - CLIENT_HOST: client - CLIENT_PORT: 80 BLOCKCHAIN_WS_HOST: ${BLOCKCHAIN_WS_HOST} BLOCKCHAIN_PORT: ${BLOCKCHAIN_PORT} PROPOSER_ETHEREUM_SIGNING_KEY: ${PROPOSER_ETHEREUM_SIGNING_KEY} diff --git a/nightfall-deployer/migrations/4_test_tokens_migration.js b/nightfall-deployer/migrations/4_test_tokens_migration.js index 640c5e859..8d86a7ec9 100644 --- a/nightfall-deployer/migrations/4_test_tokens_migration.js +++ b/nightfall-deployer/migrations/4_test_tokens_migration.js @@ -10,6 +10,7 @@ const ERC1155Mock = artifacts.require('ERC1155Mock.sol'); const walletTestAddress = '0xfCb059A4dB5B961d3e48706fAC91a55Bad0035C9'; const liquidityProviderAddress = '0x4789FD18D5d71982045d85d5218493fD69F55AC4'; +const ilyas = '0x9C8B2276D490141Ae1440Da660E470E7C0349C63'; const nERC721 = 35; module.exports = function(deployer, _, accounts) { @@ -37,6 +38,7 @@ module.exports = function(deployer, _, accounts) { // For testing the wallet await ERC20deployed.transfer(walletTestAddress, 10000000000); await ERC20deployed.transfer(liquidityProviderAddress, 1000000000000); + await ERC20deployed.transfer(ilyas, 1000000000000); await ERC1155deployed.safeBatchTransferFrom(accounts[0], walletTestAddress, [0, 1, 4], [100000, 200000, 100000], []); diff --git a/test/ping-pong/docker-compose.yml b/test/ping-pong/docker-compose.yml index 56cf456b8..5f3fdffcc 100644 --- a/test/ping-pong/docker-compose.yml +++ b/test/ping-pong/docker-compose.yml @@ -110,8 +110,6 @@ services: OPTIMIST_HOST: optimist OPTIMIST_WS_PORT: 8080 OPTIMIST_HTTP_PORT: 80 - CLIENT_HOST: client - CLIENT_PORT: 80 BLOCKCHAIN_WS_HOST: blockchain1 BLOCKCHAIN_PORT: 8546 diff --git a/test/ping-pong/proposer/src/index.mjs b/test/ping-pong/proposer/src/index.mjs index ee4213223..8f4876e1a 100644 --- a/test/ping-pong/proposer/src/index.mjs +++ b/test/ping-pong/proposer/src/index.mjs @@ -5,8 +5,7 @@ import config from 'config'; import logger from 'common-files/utils/logger.mjs'; import Nf3 from '../../../../cli/lib/nf3.mjs'; -const { proposerEthereumSigningKey, optimistWsUrl, web3WsUrl, clientBaseUrl, optimistBaseUrl } = - config; +const { proposerEthereumSigningKey, optimistWsUrl, web3WsUrl, optimistBaseUrl } = config; /** Does the preliminary setup and starts listening on the websocket @@ -14,13 +13,12 @@ Does the preliminary setup and starts listening on the websocket async function startProposer() { logger.info('Starting Proposer...'); const nf3 = new Nf3(web3WsUrl, proposerEthereumSigningKey, { - clientApiUrl: clientBaseUrl, + // clientApiUrl: clientBaseUrl, optimistApiUrl: optimistBaseUrl, optimistWsUrl, }); - await nf3.init(); - if ((await nf3.healthcheck('optimist')) && (await nf3.healthcheck('client'))) - logger.info('Healthcheck passed'); + await nf3.init(undefined, 'optimist'); + if (await nf3.healthcheck('optimist')) logger.info('Healthcheck passed'); else throw new Error('Healthcheck failed'); await nf3.registerProposer(); logger.debug('Proposer registration complete'); From 3da3849f69d3cf48a9ef385c033ee44063e1435c Mon Sep 17 00:00:00 2001 From: Westlad Date: Mon, 7 Feb 2022 16:18:31 +0000 Subject: [PATCH 17/27] fix: transfer more money to user account --- nightfall-deployer/migrations/4_test_tokens_migration.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/nightfall-deployer/migrations/4_test_tokens_migration.js b/nightfall-deployer/migrations/4_test_tokens_migration.js index 8d86a7ec9..542edf9fe 100644 --- a/nightfall-deployer/migrations/4_test_tokens_migration.js +++ b/nightfall-deployer/migrations/4_test_tokens_migration.js @@ -10,7 +10,6 @@ const ERC1155Mock = artifacts.require('ERC1155Mock.sol'); const walletTestAddress = '0xfCb059A4dB5B961d3e48706fAC91a55Bad0035C9'; const liquidityProviderAddress = '0x4789FD18D5d71982045d85d5218493fD69F55AC4'; -const ilyas = '0x9C8B2276D490141Ae1440Da660E470E7C0349C63'; const nERC721 = 35; module.exports = function(deployer, _, accounts) { @@ -20,7 +19,7 @@ module.exports = function(deployer, _, accounts) { const ERC20deployed = await ERC20Mock.deployed(); // For ping pong tests for (const address of UserEthereumAddresses) { - await ERC20deployed.transfer(address, 1000000); + await ERC20deployed.transfer(address, 1000000000000); } if (!config.ETH_ADDRESS) {// indicates we're running a wallet test that uses hardcoded addresses // For e2e tests @@ -38,7 +37,6 @@ module.exports = function(deployer, _, accounts) { // For testing the wallet await ERC20deployed.transfer(walletTestAddress, 10000000000); await ERC20deployed.transfer(liquidityProviderAddress, 1000000000000); - await ERC20deployed.transfer(ilyas, 1000000000000); await ERC1155deployed.safeBatchTransferFrom(accounts[0], walletTestAddress, [0, 1, 4], [100000, 200000, 100000], []); From ae6fb06ee8fe0c63fc806beca03264b5e853a0a2 Mon Sep 17 00:00:00 2001 From: Westlad Date: Tue, 8 Feb 2022 07:17:48 +0000 Subject: [PATCH 18/27] fix: down script kills running start script --- .github/workflows/dev.yml | 2 ++ deployment-scripts/down.sh | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index e124bb379..f037c1718 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -121,6 +121,8 @@ jobs: run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $DOCKER_ACTOR --password-stdin - name: Pull docker images run: ssh dev './pull-images.sh' + - name: Kill any start scripts + run: ssh dev 'pkill -KILL start.sh' - name: Stop previous nightfall, delete build volume run: ssh dev './down.sh' - name: Start new instance diff --git a/deployment-scripts/down.sh b/deployment-scripts/down.sh index 6b0060d01..cca8ea57b 100755 --- a/deployment-scripts/down.sh +++ b/deployment-scripts/down.sh @@ -4,6 +4,6 @@ VOLUME_LIST=$(docker volume ls -q) docker-compose -p nightfall down --remove-orphans -if [[ $(echo $VOLUME_LIST | grep nightfall_build) ]]; then - docker volume rm nightfall_build -fi +#if [[ $(echo $VOLUME_LIST | grep nightfall_build) ]]; then +# docker volume rm nightfall_build +#fi From 797ea168cea45b2114058db6d630fc82ad2bd8fc Mon Sep 17 00:00:00 2001 From: Westlad Date: Tue, 8 Feb 2022 09:46:15 +0000 Subject: [PATCH 19/27] fix: removal of start.sh - do not return an error if script isnt running --- .github/workflows/dev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index f037c1718..4c3289bf0 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -122,7 +122,7 @@ jobs: - name: Pull docker images run: ssh dev './pull-images.sh' - name: Kill any start scripts - run: ssh dev 'pkill -KILL start.sh' + run: ssh dev 'pkill -KILL start.sh || true' - name: Stop previous nightfall, delete build volume run: ssh dev './down.sh' - name: Start new instance From 97fb4bf697bb5a3e8f7f10160b1c9d33545f77ba Mon Sep 17 00:00:00 2001 From: Westlad Date: Tue, 8 Feb 2022 12:45:55 +0000 Subject: [PATCH 20/27] feat: add approvals for deployment --- .github/workflows/dev.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index 4c3289bf0..5adb17b82 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -5,6 +5,9 @@ on: push: branches: - dev + pull_request: + branches: + - master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} DOCKER_ACTOR: ${{ secrets.DOCKER_ACTOR }} @@ -92,6 +95,8 @@ jobs: deploy: name: Deploy runs-on: ubuntu-20.04 + environment: + name: Development needs: [build-deployer, build-optimist, build-proposer, build-worker] steps: - name: Checkout From 02df37684f1e583a1e02d6470258195117d50fc3 Mon Sep 17 00:00:00 2001 From: Westlad Date: Tue, 8 Feb 2022 12:56:34 +0000 Subject: [PATCH 21/27] feat: add approvals for deployment --- .github/workflows/dev.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index 5adb17b82..600861b32 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -5,9 +5,8 @@ on: push: branches: - dev - pull_request: - branches: - master + env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} DOCKER_ACTOR: ${{ secrets.DOCKER_ACTOR }} From 47e242d5be905cef9ae08a35a1e1d7344ed3b94d Mon Sep 17 00:00:00 2001 From: Westlad Date: Tue, 8 Feb 2022 13:34:13 +0000 Subject: [PATCH 22/27] fix: dont migrate new contracts if we already have them deployed --- nightfall-deployer/entrypoint.sh | 2 +- nightfall-deployer/src/circuit-setup.mjs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nightfall-deployer/entrypoint.sh b/nightfall-deployer/entrypoint.sh index ef88a8c88..5eeb45dee 100755 --- a/nightfall-deployer/entrypoint.sh +++ b/nightfall-deployer/entrypoint.sh @@ -7,7 +7,7 @@ if [ -z "${USE_INFURA}" ] && [ -z "${ETH_PRIVATE_KEY}" ]; then while ! nc -z ${BLOCKCHAIN_WS_HOST} ${BLOCKCHAIN_PORT}; do sleep 3; done fi -npx truffle migrate --network=${ETH_NETWORK} --reset +npx truffle migrate --network=${ETH_NETWORK} #sleep 10 diff --git a/nightfall-deployer/src/circuit-setup.mjs b/nightfall-deployer/src/circuit-setup.mjs index fe1a7baed..f9bb59cf5 100644 --- a/nightfall-deployer/src/circuit-setup.mjs +++ b/nightfall-deployer/src/circuit-setup.mjs @@ -87,7 +87,7 @@ async function setupCircuits() { for (let i = 0; i < vks.length; i++) { const circuit = circuitsToSetup[i]; if (!vks[i] || config.ALWAYS_DO_TRUSTED_SETUP) { - // we don't have an existing vk so let's generate one (TODO in parallel) + // we don't have an existing vk so let's generate one try { logger.info( `no existing verification key. Fear not, I will make a new one: calling generate keys on ${circuit}`, From 046350a8230176c4e0d909e451feaba5a59d7372 Mon Sep 17 00:00:00 2001 From: Westlad Date: Wed, 9 Feb 2022 14:34:13 +0000 Subject: [PATCH 23/27] fix: action is manually triggered --- .github/workflows/dev.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index 600861b32..165592993 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -1,11 +1,8 @@ # Deploys containers to the development environment. # -name: Deploy to Staging +name: Deploy to Development on: - push: - branches: - - dev - - master + workflow_dispatch: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From f8f3dc5001f9ecdecd92d5369c6fc1156092d756 Mon Sep 17 00:00:00 2001 From: Westlad Date: Wed, 9 Feb 2022 14:50:04 +0000 Subject: [PATCH 24/27] fix: manual deployment workflow --- .github/workflows/dev.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index 165592993..9fc4347b8 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -1,8 +1,7 @@ # Deploys containers to the development environment. # name: Deploy to Development -on: - workflow_dispatch: +on: workflow_dispatch env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 0428abae6b6ca09f02a31571c43a16083462cd47 Mon Sep 17 00:00:00 2001 From: Westlad Date: Wed, 9 Feb 2022 14:59:04 +0000 Subject: [PATCH 25/27] fix: manual deployment workflow -github bug --- .github/workflows/{dev.yml => development-deploy.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{dev.yml => development-deploy.yml} (100%) diff --git a/.github/workflows/dev.yml b/.github/workflows/development-deploy.yml similarity index 100% rename from .github/workflows/dev.yml rename to .github/workflows/development-deploy.yml From 4e5622deaa8ff1566ff28d1d49d05176adf3fc10 Mon Sep 17 00:00:00 2001 From: Westlad Date: Wed, 9 Feb 2022 15:11:08 +0000 Subject: [PATCH 26/27] fix: manual deployment workflow -github bug --- .github/workflows/development-deploy.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/development-deploy.yml b/.github/workflows/development-deploy.yml index 9fc4347b8..114d8257e 100644 --- a/.github/workflows/development-deploy.yml +++ b/.github/workflows/development-deploy.yml @@ -4,8 +4,8 @@ name: Deploy to Development on: workflow_dispatch env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - DOCKER_ACTOR: ${{ secrets.DOCKER_ACTOR }} + GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + DOCKER_ACTOR: "${{ secrets.DOCKER_ACTOR }}" jobs: @@ -109,9 +109,9 @@ jobs: StrictHostKeyChecking no END env: - SSH_USER: pong - SSH_KEY: ${{ secrets.DEV_SSH_KEY }} - SSH_HOST: ohio.nightfall3.com + SSH_USER: "pong" + SSH_KEY: "${{ secrets.DEV_SSH_KEY }}" + SSH_HOST: "ohio.nightfall3.com" - name: Copy and rename files run: | scp deployment-scripts/* dev:~/ From 41c05308295f1da2831317b9cb0dc925ff1a060f Mon Sep 17 00:00:00 2001 From: Westlad Date: Wed, 9 Feb 2022 15:29:22 +0000 Subject: [PATCH 27/27] fix: remove unnecessary quotes --- .github/workflows/development-deploy.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/development-deploy.yml b/.github/workflows/development-deploy.yml index 114d8257e..9fc4347b8 100644 --- a/.github/workflows/development-deploy.yml +++ b/.github/workflows/development-deploy.yml @@ -4,8 +4,8 @@ name: Deploy to Development on: workflow_dispatch env: - GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" - DOCKER_ACTOR: "${{ secrets.DOCKER_ACTOR }}" + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DOCKER_ACTOR: ${{ secrets.DOCKER_ACTOR }} jobs: @@ -109,9 +109,9 @@ jobs: StrictHostKeyChecking no END env: - SSH_USER: "pong" - SSH_KEY: "${{ secrets.DEV_SSH_KEY }}" - SSH_HOST: "ohio.nightfall3.com" + SSH_USER: pong + SSH_KEY: ${{ secrets.DEV_SSH_KEY }} + SSH_HOST: ohio.nightfall3.com - name: Copy and rename files run: | scp deployment-scripts/* dev:~/