From acafb7cadd15fb64531fd30dd64f045a00b8e346 Mon Sep 17 00:00:00 2001 From: Shahul Hameed <10547529+shahthepro@users.noreply.github.com> Date: Tue, 18 Jul 2023 15:02:54 +0400 Subject: [PATCH 01/12] Add ABI generation to CI --- .github/workflows/abi.yml | 39 +++++++++++++++++++++++++++++++++++++++ package.json | 3 --- 2 files changed, 39 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/abi.yml diff --git a/.github/workflows/abi.yml b/.github/workflows/abi.yml new file mode 100644 index 0000000000..501c8084c5 --- /dev/null +++ b/.github/workflows/abi.yml @@ -0,0 +1,39 @@ +name: DeFi +on: + push: + branches: + - 'master' + # TODO: Remove before merging + - 'shah/abi-gh-action' + workflow_dispatch: + +concurrency: + cancel-in-progress: true + group: ${{ github.ref_name }} + +jobs: + abi-gen: + name: "Generate and publish ABI" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Use Node.js + uses: actions/setup-node@v3 + with: + node-version: "16.x" + cache: "yarn" + cache-dependency-path: contracts/yarn.lock + + - run: yarn install --frozen-lockfile + working-directory: ./contracts + + - name: "Generate ABI files" + run: (npx hardhat deploy --export "./dist") && (cp ../package.json ./dist/package.json) + env: + CONTRACT_SIZE: true + working-directory: ./contracts + + - name: "Publish" + run: npm publish --access public + working-directory: ./contracts/dist \ No newline at end of file diff --git a/package.json b/package.json index 9baadec94d..9d0645e27d 100644 --- a/package.json +++ b/package.json @@ -9,9 +9,6 @@ "build:oethdapp": "(cd dapp-oeth && NODE_ENV=development yarn install && yarn build)", "start": "bash devops/start-dapp.sh" }, - "dependencies": { - "react-use": "^17.4.0" - }, "engines": { "node": "16" } From ba693fa887ce5381f454f5e39b6f95586d541a22 Mon Sep 17 00:00:00 2001 From: Shahul Hameed <10547529+shahthepro@users.noreply.github.com> Date: Tue, 18 Jul 2023 15:09:04 +0400 Subject: [PATCH 02/12] Move to package.json --- .github/workflows/abi.yml | 2 +- contracts/package.json | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/abi.yml b/.github/workflows/abi.yml index 501c8084c5..e37253d7c8 100644 --- a/.github/workflows/abi.yml +++ b/.github/workflows/abi.yml @@ -29,7 +29,7 @@ jobs: working-directory: ./contracts - name: "Generate ABI files" - run: (npx hardhat deploy --export "./dist") && (cp ../package.json ./dist/package.json) + run: yarn run generate-abi && (cp ../package.json ./dist) env: CONTRACT_SIZE: true working-directory: ./contracts diff --git a/contracts/package.json b/contracts/package.json index 121912cf5b..6d50939753 100644 --- a/contracts/package.json +++ b/contracts/package.json @@ -8,6 +8,7 @@ "deploy:mainnet": "(npx hardhat deploy --network mainnet --verbose --export '../dapp/network.mainnet.json') && yarn run copy-interface-artifacts", "deploy:oeth": "(rm -rf deployments/hardhat && npx hardhat deploy --export '../dapp-oeth/network.json') && yarn run copy-interface-artifacts:oeth", "deploy:oeth:mainnet": "(npx hardhat deploy --network mainnet --verbose --export '../dapp-oeth/network.mainnet.json') && yarn run copy-interface-artifacts", + "generate-abi": "(rm -rf deployments/hardhat && mkdir -p dist/abi && npx hardhat deploy --export '../dist/network.json') && cp artifacts/contracts/**/*.json ./dist/abi", "node": "yarn run node:fork", "node:fork": "./node.sh fork", "lint": "yarn run lint:js && yarn run lint:sol", From db80255cba9a53495a8f06451921f061716e4750 Mon Sep 17 00:00:00 2001 From: Shahul Hameed <10547529+shahthepro@users.noreply.github.com> Date: Tue, 18 Jul 2023 15:29:40 +0400 Subject: [PATCH 03/12] Tweak commands --- .github/workflows/abi.yml | 2 +- contracts/package.json | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/abi.yml b/.github/workflows/abi.yml index e37253d7c8..fa36b01922 100644 --- a/.github/workflows/abi.yml +++ b/.github/workflows/abi.yml @@ -29,7 +29,7 @@ jobs: working-directory: ./contracts - name: "Generate ABI files" - run: yarn run generate-abi && (cp ../package.json ./dist) + run: (yarn run abi:generate) && (yarn run abi:dist) env: CONTRACT_SIZE: true working-directory: ./contracts diff --git a/contracts/package.json b/contracts/package.json index 6d50939753..40aaf62a29 100644 --- a/contracts/package.json +++ b/contracts/package.json @@ -8,7 +8,8 @@ "deploy:mainnet": "(npx hardhat deploy --network mainnet --verbose --export '../dapp/network.mainnet.json') && yarn run copy-interface-artifacts", "deploy:oeth": "(rm -rf deployments/hardhat && npx hardhat deploy --export '../dapp-oeth/network.json') && yarn run copy-interface-artifacts:oeth", "deploy:oeth:mainnet": "(npx hardhat deploy --network mainnet --verbose --export '../dapp-oeth/network.mainnet.json') && yarn run copy-interface-artifacts", - "generate-abi": "(rm -rf deployments/hardhat && mkdir -p dist/abi && npx hardhat deploy --export '../dist/network.json') && cp artifacts/contracts/**/*.json ./dist/abi", + "abi:generate": "(rm -rf deployments/hardhat && mkdir -p dist/abi && npx hardhat deploy --export '../dist/network.json')", + "abi:dist": "cp -at artifacts/contracts/**/*.json ./dist/abi", "node": "yarn run node:fork", "node:fork": "./node.sh fork", "lint": "yarn run lint:js && yarn run lint:sol", From 567dd8c144082dec117cf4cef9fa09d9f84741d3 Mon Sep 17 00:00:00 2001 From: Shahul Hameed <10547529+shahthepro@users.noreply.github.com> Date: Tue, 18 Jul 2023 15:47:05 +0400 Subject: [PATCH 04/12] Update script --- .gitignore | 1 + contracts/package.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8140f2aeb4..13d748dadc 100644 --- a/.gitignore +++ b/.gitignore @@ -58,6 +58,7 @@ contracts/deployments/hardhat* contracts/coverage/ contracts/coverage.json contracts/build/ +contracts/dist/ dapp/network.json dapp/keys/ dapp/ganache-network.json diff --git a/contracts/package.json b/contracts/package.json index 40aaf62a29..41862e4db2 100644 --- a/contracts/package.json +++ b/contracts/package.json @@ -9,7 +9,7 @@ "deploy:oeth": "(rm -rf deployments/hardhat && npx hardhat deploy --export '../dapp-oeth/network.json') && yarn run copy-interface-artifacts:oeth", "deploy:oeth:mainnet": "(npx hardhat deploy --network mainnet --verbose --export '../dapp-oeth/network.mainnet.json') && yarn run copy-interface-artifacts", "abi:generate": "(rm -rf deployments/hardhat && mkdir -p dist/abi && npx hardhat deploy --export '../dist/network.json')", - "abi:dist": "cp -at artifacts/contracts/**/*.json ./dist/abi", + "abi:dist": "find ./artifacts/contracts -name \"*.json\" -type f -exec cp {} ./dist \\; && rm -rf dist/*.dbg.json dist/Mock*.json", "node": "yarn run node:fork", "node:fork": "./node.sh fork", "lint": "yarn run lint:js && yarn run lint:sol", From dedcfbc8182d386d24e033a1f33b0a31306ef9a0 Mon Sep 17 00:00:00 2001 From: Shahul Hameed <10547529+shahthepro@users.noreply.github.com> Date: Tue, 18 Jul 2023 15:52:53 +0400 Subject: [PATCH 05/12] Update dir structure --- contracts/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contracts/package.json b/contracts/package.json index 41862e4db2..8b8589efa4 100644 --- a/contracts/package.json +++ b/contracts/package.json @@ -9,7 +9,7 @@ "deploy:oeth": "(rm -rf deployments/hardhat && npx hardhat deploy --export '../dapp-oeth/network.json') && yarn run copy-interface-artifacts:oeth", "deploy:oeth:mainnet": "(npx hardhat deploy --network mainnet --verbose --export '../dapp-oeth/network.mainnet.json') && yarn run copy-interface-artifacts", "abi:generate": "(rm -rf deployments/hardhat && mkdir -p dist/abi && npx hardhat deploy --export '../dist/network.json')", - "abi:dist": "find ./artifacts/contracts -name \"*.json\" -type f -exec cp {} ./dist \\; && rm -rf dist/*.dbg.json dist/Mock*.json", + "abi:dist": "find ./artifacts/contracts -name \"*.json\" -type f -exec cp {} ./dist/abi \\; && rm -rf dist/abi/*.dbg.json dist/abi/Mock*.json && cp ../package.json dist", "node": "yarn run node:fork", "node:fork": "./node.sh fork", "lint": "yarn run lint:js && yarn run lint:sol", From c32dfe8889468883f9f42c912be2ac0fcf420db1 Mon Sep 17 00:00:00 2001 From: Shahul Hameed <10547529+shahthepro@users.noreply.github.com> Date: Tue, 18 Jul 2023 16:13:54 +0400 Subject: [PATCH 06/12] Add separate package.json for the ABIs --- contracts/abi.package.json | 8 ++++++++ contracts/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 contracts/abi.package.json diff --git a/contracts/abi.package.json b/contracts/abi.package.json new file mode 100644 index 0000000000..34e0f7ada1 --- /dev/null +++ b/contracts/abi.package.json @@ -0,0 +1,8 @@ +{ + "name": "@origin/defi", + "license": "MIT", + "homepage": "https://github.com/originprotocol/origin-dollar", + "engines": { + "node": "16" + } +} diff --git a/contracts/package.json b/contracts/package.json index 8b8589efa4..d2d6b75f28 100644 --- a/contracts/package.json +++ b/contracts/package.json @@ -9,7 +9,7 @@ "deploy:oeth": "(rm -rf deployments/hardhat && npx hardhat deploy --export '../dapp-oeth/network.json') && yarn run copy-interface-artifacts:oeth", "deploy:oeth:mainnet": "(npx hardhat deploy --network mainnet --verbose --export '../dapp-oeth/network.mainnet.json') && yarn run copy-interface-artifacts", "abi:generate": "(rm -rf deployments/hardhat && mkdir -p dist/abi && npx hardhat deploy --export '../dist/network.json')", - "abi:dist": "find ./artifacts/contracts -name \"*.json\" -type f -exec cp {} ./dist/abi \\; && rm -rf dist/abi/*.dbg.json dist/abi/Mock*.json && cp ../package.json dist", + "abi:dist": "find ./artifacts/contracts -name \"*.json\" -type f -exec cp {} ./dist/abi \\; && rm -rf dist/abi/*.dbg.json dist/abi/Mock*.json && cp ./abi.package.json dist/package.json", "node": "yarn run node:fork", "node:fork": "./node.sh fork", "lint": "yarn run lint:js && yarn run lint:sol", From 9e2ff4c705293848d8e096dfd633c84c2bfa7ea4 Mon Sep 17 00:00:00 2001 From: Shahul Hameed <10547529+shahthepro@users.noreply.github.com> Date: Mon, 24 Jul 2023 11:24:26 +0400 Subject: [PATCH 07/12] Add NPM token --- .github/workflows/abi.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/abi.yml b/.github/workflows/abi.yml index fa36b01922..e3b0355a35 100644 --- a/.github/workflows/abi.yml +++ b/.github/workflows/abi.yml @@ -36,4 +36,6 @@ jobs: - name: "Publish" run: npm publish --access public - working-directory: ./contracts/dist \ No newline at end of file + working-directory: ./contracts/dist + env: + NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN_ORIGIN_DEFI}} \ No newline at end of file From 14a53aa1a0b98ee5b9319e5b6cacad030c21b788 Mon Sep 17 00:00:00 2001 From: Shahul Hameed <10547529+shahthepro@users.noreply.github.com> Date: Fri, 4 Aug 2023 16:50:27 +0400 Subject: [PATCH 08/12] Use release tags --- .github/workflows/abi.yml | 17 +++++++++++++++-- contracts/abi.package.json | 1 + 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/.github/workflows/abi.yml b/.github/workflows/abi.yml index e3b0355a35..a06174edd2 100644 --- a/.github/workflows/abi.yml +++ b/.github/workflows/abi.yml @@ -2,9 +2,11 @@ name: DeFi on: push: branches: - - 'master' + # - 'master' # TODO: Remove before merging - 'shah/abi-gh-action' + tags: + - v* workflow_dispatch: concurrency: @@ -33,7 +35,18 @@ jobs: env: CONTRACT_SIZE: true working-directory: ./contracts - + + - name: Update version from tag + working-directory: ./contracts/dist + run: | + VERSION="0.1.0" + if [ "${{ env.GITHUB_REF_TYPE }}" = "tag" ]; then + VERSION="${GITHUB_REF_NAME#v}" + fi + + echo "Version set to $VERSION" + sed -i -e "s/RELEASE_VERSION/$VERSION/g" package.json + - name: "Publish" run: npm publish --access public working-directory: ./contracts/dist diff --git a/contracts/abi.package.json b/contracts/abi.package.json index 34e0f7ada1..6712c2e167 100644 --- a/contracts/abi.package.json +++ b/contracts/abi.package.json @@ -1,5 +1,6 @@ { "name": "@origin/defi", + "version": "RELEASE_VERSION", "license": "MIT", "homepage": "https://github.com/originprotocol/origin-dollar", "engines": { From e70d8038f12556ecf906d81cabe8e1731d6ffa24 Mon Sep 17 00:00:00 2001 From: Shahul Hameed <10547529+shahthepro@users.noreply.github.com> Date: Fri, 4 Aug 2023 16:57:01 +0400 Subject: [PATCH 09/12] Use master environment --- .github/workflows/abi.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/abi.yml b/.github/workflows/abi.yml index a06174edd2..e54b57aca1 100644 --- a/.github/workflows/abi.yml +++ b/.github/workflows/abi.yml @@ -17,6 +17,7 @@ jobs: abi-gen: name: "Generate and publish ABI" runs-on: ubuntu-latest + environment: master steps: - uses: actions/checkout@v3 @@ -51,4 +52,4 @@ jobs: run: npm publish --access public working-directory: ./contracts/dist env: - NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN_ORIGIN_DEFI}} \ No newline at end of file + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN_ORIGIN_DEFI }} \ No newline at end of file From 818e4a55f93b447d4e86a67ee41b3e5a2a80e39d Mon Sep 17 00:00:00 2001 From: Shahul Hameed <10547529+shahthepro@users.noreply.github.com> Date: Fri, 4 Aug 2023 17:04:20 +0400 Subject: [PATCH 10/12] Add npmrc --- contracts/.npmrc | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 contracts/.npmrc diff --git a/contracts/.npmrc b/contracts/.npmrc new file mode 100644 index 0000000000..ababd7a28e --- /dev/null +++ b/contracts/.npmrc @@ -0,0 +1,3 @@ +//registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN} +registry=https://registry.npmjs.org/ +always-auth=true From ce07bb79d07d0214246cc83f34c7eab3d2a6b20d Mon Sep 17 00:00:00 2001 From: Shahul Hameed <10547529+shahthepro@users.noreply.github.com> Date: Fri, 4 Aug 2023 17:06:35 +0400 Subject: [PATCH 11/12] Rename npmrc --- contracts/{.npmrc => .npmrc.abi} | 0 contracts/package.json | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename contracts/{.npmrc => .npmrc.abi} (100%) diff --git a/contracts/.npmrc b/contracts/.npmrc.abi similarity index 100% rename from contracts/.npmrc rename to contracts/.npmrc.abi diff --git a/contracts/package.json b/contracts/package.json index d2d6b75f28..96c861fae6 100644 --- a/contracts/package.json +++ b/contracts/package.json @@ -9,7 +9,7 @@ "deploy:oeth": "(rm -rf deployments/hardhat && npx hardhat deploy --export '../dapp-oeth/network.json') && yarn run copy-interface-artifacts:oeth", "deploy:oeth:mainnet": "(npx hardhat deploy --network mainnet --verbose --export '../dapp-oeth/network.mainnet.json') && yarn run copy-interface-artifacts", "abi:generate": "(rm -rf deployments/hardhat && mkdir -p dist/abi && npx hardhat deploy --export '../dist/network.json')", - "abi:dist": "find ./artifacts/contracts -name \"*.json\" -type f -exec cp {} ./dist/abi \\; && rm -rf dist/abi/*.dbg.json dist/abi/Mock*.json && cp ./abi.package.json dist/package.json", + "abi:dist": "find ./artifacts/contracts -name \"*.json\" -type f -exec cp {} ./dist/abi \\; && rm -rf dist/abi/*.dbg.json dist/abi/Mock*.json && cp ./abi.package.json dist/package.json && cp ./.npmrc.abi dist/.npmrc", "node": "yarn run node:fork", "node:fork": "./node.sh fork", "lint": "yarn run lint:js && yarn run lint:sol", From 46c739d8028dfd8f4f90989336e56ae1bde6fd1f Mon Sep 17 00:00:00 2001 From: Shahul Hameed <10547529+shahthepro@users.noreply.github.com> Date: Fri, 4 Aug 2023 17:09:12 +0400 Subject: [PATCH 12/12] Prepare for merge --- .github/workflows/abi.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/abi.yml b/.github/workflows/abi.yml index e54b57aca1..99e30c3068 100644 --- a/.github/workflows/abi.yml +++ b/.github/workflows/abi.yml @@ -1,13 +1,8 @@ name: DeFi on: push: - branches: - # - 'master' - # TODO: Remove before merging - - 'shah/abi-gh-action' tags: - v* - workflow_dispatch: concurrency: cancel-in-progress: true