diff --git a/.github/workflows/sol_testing.yaml b/.github/workflows/sol_testing.yaml new file mode 100644 index 0000000..eb12d4e --- /dev/null +++ b/.github/workflows/sol_testing.yaml @@ -0,0 +1,25 @@ +name: Solidity Contract Testing +on: [push, pull_request] +jobs: + test: + runs-on: ubuntu-latest + strategy: + matrix: + node: [ 22 ] + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Use Nodejs + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node }} + - name: Setup node_modules + run: npm install + working-directory: bca-token-solidity + - name: Compile contracts + run: npx hardhat compile + working-directory: bca-token-solidity + - name: Test contracts + run: npx hardhat test + working-directory: bca-token-solidity + diff --git a/bca-token-solidity/hardhat.config.ts b/bca-token-solidity/hardhat.config.ts index 5fe4f80..f2fccc4 100644 --- a/bca-token-solidity/hardhat.config.ts +++ b/bca-token-solidity/hardhat.config.ts @@ -1,11 +1,12 @@ import { HardhatUserConfig } from "hardhat/config"; import "@nomicfoundation/hardhat-toolbox"; import "solidity-coverage"; +import dotenv from "dotenv"; +dotenv.config(); -const { vars } = require("hardhat/config"); -const INFURA_API_KEY = vars.get("INFURA_API_KEY"); -const POLYGON_PRIVATE_KEY = vars.get("POLYGON_PRIVATE_KEY"); -const AMOY_PRIVATE_KEY = vars.get("AMOY_PRIVATE_KEY"); +const INFURA_API_KEY = process.env.INFURA_API_KEY ?? 'missing'; +const POLYGON_PRIVATE_KEY = process.env.POLYGON_PRIVATE_KEY ?? '1234567890123456789012345678901234567890123456789012345678901234'; +const AMOY_PRIVATE_KEY = process.env.AMOY_PRIVATE_KEY ?? '1234567890123456789012345678901234567890123456789012345678901234'; const config: HardhatUserConfig = { diff --git a/bca-token-solidity/package.json b/bca-token-solidity/package.json index ec3779d..2b0dd20 100644 --- a/bca-token-solidity/package.json +++ b/bca-token-solidity/package.json @@ -3,13 +3,14 @@ "version": "0.0.2", "private": true, "devDependencies": { - "@nomicfoundation/hardhat-ignition-ethers": "^0.15.5", + "@nomicfoundation/hardhat-ignition-ethers": "^0.15.7", "@nomicfoundation/hardhat-toolbox": "^5.0.0", - "hardhat": "^2.22.13", + "hardhat": "^2.22.15", "mocha": "^10.7.3", "solidity-coverage": "^0.8.13" }, "dependencies": { - "@openzeppelin/contracts": "^5.0.2" + "@openzeppelin/contracts": "^5.0.2", + "dotenv": "^16.4.5" } }