Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
38e35d7
feat: add ESLint and Prettier configuration files for improved code q…
MiguelLZPF Aug 11, 2025
d13fb1f
chore: remove ESLint and Prettier configuration files from ATS and SD…
MiguelLZPF Aug 11, 2025
15c0f1c
chore: update linting and formatting scripts across packages
MiguelLZPF Aug 11, 2025
877f8f3
chore: add LINTING_MIGRATION documentation and update dependencies fo…
MiguelLZPF Aug 11, 2025
1310636
chore: remove outdated Prettier flat config clarification from migrat…
MiguelLZPF Aug 11, 2025
1fbdaab
chore: test linter
MiguelLZPF Aug 11, 2025
c2ffc0d
refactor: linter and formatter apply
MiguelLZPF Aug 11, 2025
136d17c
fix: web tests snapshot and update test scripts
MiguelLZPF Aug 11, 2025
9c64cf7
chore: update Node.js version to 22.x in CI workflows
MiguelLZPF Aug 11, 2025
2c7b9ca
fix: npm ci and add deps script to remove node_modules and lock files
MiguelLZPF Aug 11, 2025
9683688
fix: streamline dependency installation in CI workflow
MiguelLZPF Aug 11, 2025
53593a0
fix: align build and test steps in ATS and Mass Payout workflows
MiguelLZPF Aug 11, 2025
34eee22
fix: comment out build and test steps in Mass Payout workflow; update…
MiguelLZPF Aug 11, 2025
bbdb6c5
refactor: TypeScript code to improve type definitions and remove unus…
MiguelLZPF Aug 12, 2025
ffcdc42
Revert "refactor: TypeScript code to improve type definitions and rem…
MiguelLZPF Aug 12, 2025
112a2c5
refactor: TypeScript code to improve type safety and remove unnecessa…
MiguelLZPF Aug 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
14 changes: 7 additions & 7 deletions .github/dependabot.yaml
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
- package-ecosystem: 'github-actions'
directory: '/'
schedule:
interval: "daily"
interval: 'daily'
open-pull-requests-limit: 10
- package-ecosystem: npm
directory: "/"
directory: '/'
schedule:
interval: "weekly"
interval: 'weekly'
open-pull-requests-limit: 10
versioning-strategy: increase
ignore:
# For all packages, ignore all minor & patch updates
- dependency-name: "*"
- dependency-name: '*'
update-types:
[ "version-update:semver-minor", "version-update:semver-patch" ]
['version-update:semver-minor', 'version-update:semver-patch']
38 changes: 19 additions & 19 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,35 +6,35 @@ Fixes # (issue) 🛠️

## Type of change

- [ ] Bug fix 🐞
- [ ] New feature ✨
- [ ] Breaking change 💥
- [ ] Documentation update 📖
- [ ] Refactor 🔧
- [ ] Bug fix 🐞
- [ ] New feature ✨
- [ ] Breaking change 💥
- [ ] Documentation update 📖
- [ ] Refactor 🔧

## Testing

Describe tests and instructions to reproduce. 🧪

- [ ] Local Tests (npm run test)
- [ ] Manual (CLI or web interface)
- [ ] Local GitHub Actions (act pull_request)
- [ ] Local Tests (npm run test)
- [ ] Manual (CLI or web interface)
- [ ] Local GitHub Actions (act pull_request)

**Node version**:

- [ ] 18
- [ ] 20
- [x] 22
- [ ] 23
- [ ] 18
- [ ] 20
- [x] 22
- [ ] 23

### Test Results (if any)

## Checklist

- [ ] Style Guidelines followed ✅
- [ ] Self-Reviewed 👀
- [ ] Documentation Updated 📚
- [ ] **Linters** - No New Warnings ⚠️
- [ ] Effective Tests Added ✔️
- [ ] Local Tests Pass ✅
- [ ] No reduction of **Coverage**
- [ ] Style Guidelines followed ✅
- [ ] Self-Reviewed 👀
- [ ] Documentation Updated 📚
- [ ] **Linters** - No New Warnings ⚠️
- [ ] Effective Tests Added ✔️
- [ ] Local Tests Pass ✅
- [ ] No reduction of **Coverage**
125 changes: 61 additions & 64 deletions .github/workflows/ats.test.yml
Original file line number Diff line number Diff line change
@@ -1,78 +1,75 @@
name: Tests ATS

on:
push:
branches: [main]
pull_request:
paths:
- 'packages/ats/**'
- 'apps/ats/**'
- 'package.json'
- '.github/workflows/*ats*.yml'
- '.github/workflows/*ats*.yaml'
workflow_dispatch:
push:
branches: [main]
pull_request:
paths:
- 'packages/ats/**'
- 'apps/ats/**'
- 'package.json'
- '.github/workflows/*ats*.yml'
- '.github/workflows/*ats*.yaml'
workflow_dispatch:

permissions:
contents: read
contents: read

jobs:
test-ats:
name: testing
runs-on: token-studio-linux-large
env:
NODE_OPTIONS: '--max-old-space-size=32768'
CONTRACT_SIZER_RUN_ON_COMPILE: 'false'
REPORT_GAS: 'false'
CLIENT_PRIVATE_KEY_ECDSA_1: ${{ secrets.CLIENT_PRIVATE_KEY_ECDSA_1 }}
CLIENT_PUBLIC_KEY_ECDSA_1: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_1 }}
CLIENT_ACCOUNT_ID_ECDSA_1: '0.0.1328'
CLIENT_EVM_ADDRESS_ECDSA_1_CORRECT: '0x97C50bb12E1C6284cF2855cdba95c5D60AEE44CF'
CLIENT_EVM_ADDRESS_ECDSA_1: '0x0000000000000000000000000000000000000530'
CLIENT_PRIVATE_KEY_ECDSA_2: ${{ secrets.CLIENT_PRIVATE_KEY_ECDSA_2 }}
CLIENT_PUBLIC_KEY_ECDSA_2: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_2 }}
CLIENT_ACCOUNT_ID_ECDSA_2: '0.0.2168740'
CLIENT_EVM_ADDRESS_ECDSA_2: '0x00000000000000000000000000000000002117A4'
FACTORY_ADDRESS: '0.0.5480051'
RESOLVER_ADDRESS: '0.0.5479997'
FIREBLOCKS_HEDERA_ACCOUNT_ID: '0.0.2168740'
FIREBLOCKS_HEDERA_PUBLIC_KEY: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_2 }}
DFNS_HEDERA_ACCOUNT_ID: '0.0.2168740'
DFNS_WALLET_PUBLIC_KEY: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_2 }}
AWS_KMS_HEDERA_ACCOUNT_ID: '0.0.4394946'
AWS_KMS_HEDERA_PUBLIC_KEY: '302d300706052b8104000a03220003ee815bb9b5e53f5dbe7264a77e586127dfcb75da8c1246f5aa6ededdb13e6c21'
REACT_APP_MIRROR_NODE: 'https://testnet.mirrornode.hedera.com/api/v1/'
REACT_APP_RPC_NODE: 'https://testnet.hashio.io/api'
REACT_APP_RESOLVER: '0.0.5479997'
REACT_APP_FACTORY: '0.0.5480051'
REACT_APP_SHOW_DISCLAIMER: 'true'
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
test-ats:
name: testing
runs-on: token-studio-linux-large
env:
NODE_OPTIONS: '--max-old-space-size=32768'
CONTRACT_SIZER_RUN_ON_COMPILE: 'false'
REPORT_GAS: 'false'
CLIENT_PRIVATE_KEY_ECDSA_1: ${{ secrets.CLIENT_PRIVATE_KEY_ECDSA_1 }}
CLIENT_PUBLIC_KEY_ECDSA_1: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_1 }}
CLIENT_ACCOUNT_ID_ECDSA_1: '0.0.1328'
CLIENT_EVM_ADDRESS_ECDSA_1_CORRECT: '0x97C50bb12E1C6284cF2855cdba95c5D60AEE44CF'
CLIENT_EVM_ADDRESS_ECDSA_1: '0x0000000000000000000000000000000000000530'
CLIENT_PRIVATE_KEY_ECDSA_2: ${{ secrets.CLIENT_PRIVATE_KEY_ECDSA_2 }}
CLIENT_PUBLIC_KEY_ECDSA_2: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_2 }}
CLIENT_ACCOUNT_ID_ECDSA_2: '0.0.2168740'
CLIENT_EVM_ADDRESS_ECDSA_2: '0x00000000000000000000000000000000002117A4'
FACTORY_ADDRESS: '0.0.5480051'
RESOLVER_ADDRESS: '0.0.5479997'
FIREBLOCKS_HEDERA_ACCOUNT_ID: '0.0.2168740'
FIREBLOCKS_HEDERA_PUBLIC_KEY: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_2 }}
DFNS_HEDERA_ACCOUNT_ID: '0.0.2168740'
DFNS_WALLET_PUBLIC_KEY: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_2 }}
AWS_KMS_HEDERA_ACCOUNT_ID: '0.0.4394946'
AWS_KMS_HEDERA_PUBLIC_KEY: '302d300706052b8104000a03220003ee815bb9b5e53f5dbe7264a77e586127dfcb75da8c1246f5aa6ededdb13e6c21'
REACT_APP_MIRROR_NODE: 'https://testnet.mirrornode.hedera.com/api/v1/'
REACT_APP_RPC_NODE: 'https://testnet.hashio.io/api'
REACT_APP_RESOLVER: '0.0.5479997'
REACT_APP_FACTORY: '0.0.5480051'
REACT_APP_SHOW_DISCLAIMER: 'true'
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

steps:
- name: Harden Runner
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
with:
egress-policy: audit
steps:
- name: Harden Runner
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
with:
egress-policy: audit

- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Setup NodeJS Environment
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: 20.x
- name: Setup NodeJS Environment
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: 22.x

- name: Install root dependencies
run: npm ci --ignore-scripts
- name: Install dependencies
run: npm ci

- name: Install ATS dependencies only
run: npm ci --workspaces --workspace=packages/ats/contracts --workspace=packages/ats/sdk --workspace=apps/ats/web
- name: Build ATS packages
run: npm run ats:build

- name: Build ATS packages
run: npm run ats:build:all
- name: Run ATS tests
run: npm run ats:test

- name: Run ATS tests
run: npm run ats:test:all

- name: Upload coverage report
if: ${{ !cancelled() && always() }}
uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673
- name: Upload coverage report
if: ${{ !cancelled() && always() }}
uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673
126 changes: 58 additions & 68 deletions .github/workflows/mp.test.yml
Original file line number Diff line number Diff line change
@@ -1,81 +1,71 @@
name: Tests Mass Payout

on:
push:
branches: [main]
pull_request:
paths:
- 'packages/mass-payout/**'
- 'apps/mass-payout/**'
- 'package.json'
- '.github/workflows/*mp*.yml'
- '.github/workflows/*mp*.yaml'
workflow_dispatch:
push:
branches: [main]
pull_request:
paths:
- 'packages/mass-payout/**'
- 'apps/mass-payout/**'
- 'package.json'
- '.github/workflows/*mp*.yml'
- '.github/workflows/*mp*.yaml'
workflow_dispatch:

permissions:
contents: read
contents: read

jobs:
test-mass-payout:
name: testing
runs-on: token-studio-linux-large
env:
NODE_OPTIONS: '--max-old-space-size=32768'
CONTRACT_SIZER_RUN_ON_COMPILE: 'false'
REPORT_GAS: 'false'
CLIENT_PRIVATE_KEY_ECDSA_1: ${{ secrets.CLIENT_PRIVATE_KEY_ECDSA_1 }}
CLIENT_PUBLIC_KEY_ECDSA_1: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_1 }}
CLIENT_ACCOUNT_ID_ECDSA_1: '0.0.1328'
CLIENT_EVM_ADDRESS_ECDSA_1_CORRECT: '0x97C50bb12E1C6284cF2855cdba95c5D60AEE44CF'
CLIENT_EVM_ADDRESS_ECDSA_1: '0x0000000000000000000000000000000000000530'
CLIENT_PRIVATE_KEY_ECDSA_2: ${{ secrets.CLIENT_PRIVATE_KEY_ECDSA_2 }}
CLIENT_PUBLIC_KEY_ECDSA_2: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_2 }}
CLIENT_ACCOUNT_ID_ECDSA_2: '0.0.2168740'
CLIENT_EVM_ADDRESS_ECDSA_2: '0x00000000000000000000000000000000002117A4'
FACTORY_ADDRESS: '0.0.5480051'
RESOLVER_ADDRESS: '0.0.5479997'
FIREBLOCKS_HEDERA_ACCOUNT_ID: '0.0.2168740'
FIREBLOCKS_HEDERA_PUBLIC_KEY: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_2 }}
DFNS_HEDERA_ACCOUNT_ID: '0.0.2168740'
DFNS_WALLET_PUBLIC_KEY: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_2 }}
AWS_KMS_HEDERA_ACCOUNT_ID: '0.0.4394946'
AWS_KMS_HEDERA_PUBLIC_KEY: '302d300706052b8104000a03220003ee815bb9b5e53f5dbe7264a77e586127dfcb75da8c1246f5aa6ededdb13e6c21'
REACT_APP_MIRROR_NODE: 'https://testnet.mirrornode.hedera.com/api/v1/'
REACT_APP_RPC_NODE: 'https://testnet.hashio.io/api'
REACT_APP_RESOLVER: '0.0.5479997'
REACT_APP_FACTORY: '0.0.5480051'
REACT_APP_SHOW_DISCLAIMER: 'true'
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
test-mass-payout:
name: testing
runs-on: token-studio-linux-large
env:
NODE_OPTIONS: '--max-old-space-size=32768'
CONTRACT_SIZER_RUN_ON_COMPILE: 'false'
REPORT_GAS: 'false'
CLIENT_PRIVATE_KEY_ECDSA_1: ${{ secrets.CLIENT_PRIVATE_KEY_ECDSA_1 }}
CLIENT_PUBLIC_KEY_ECDSA_1: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_1 }}
CLIENT_ACCOUNT_ID_ECDSA_1: '0.0.1328'
CLIENT_EVM_ADDRESS_ECDSA_1_CORRECT: '0x97C50bb12E1C6284cF2855cdba95c5D60AEE44CF'
CLIENT_EVM_ADDRESS_ECDSA_1: '0x0000000000000000000000000000000000000530'
CLIENT_PRIVATE_KEY_ECDSA_2: ${{ secrets.CLIENT_PRIVATE_KEY_ECDSA_2 }}
CLIENT_PUBLIC_KEY_ECDSA_2: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_2 }}
CLIENT_ACCOUNT_ID_ECDSA_2: '0.0.2168740'
CLIENT_EVM_ADDRESS_ECDSA_2: '0x00000000000000000000000000000000002117A4'
FACTORY_ADDRESS: '0.0.5480051'
RESOLVER_ADDRESS: '0.0.5479997'
FIREBLOCKS_HEDERA_ACCOUNT_ID: '0.0.2168740'
FIREBLOCKS_HEDERA_PUBLIC_KEY: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_2 }}
DFNS_HEDERA_ACCOUNT_ID: '0.0.2168740'
DFNS_WALLET_PUBLIC_KEY: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_2 }}
AWS_KMS_HEDERA_ACCOUNT_ID: '0.0.4394946'
AWS_KMS_HEDERA_PUBLIC_KEY: '302d300706052b8104000a03220003ee815bb9b5e53f5dbe7264a77e586127dfcb75da8c1246f5aa6ededdb13e6c21'
REACT_APP_MIRROR_NODE: 'https://testnet.mirrornode.hedera.com/api/v1/'
REACT_APP_RPC_NODE: 'https://testnet.hashio.io/api'
REACT_APP_RESOLVER: '0.0.5479997'
REACT_APP_FACTORY: '0.0.5480051'
REACT_APP_SHOW_DISCLAIMER: 'true'
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

steps:
- name: Harden Runner
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
with:
egress-policy: audit
steps:
- name: Harden Runner
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
with:
egress-policy: audit

- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Setup NodeJS Environment
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: 20.x
- name: Setup NodeJS Environment
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: 22.x

- name: Install monorepo package dependencies (ats/contracts and ats/sdk)
run: npm ci # Change for npm run:install:ats:all:ci
- name: Install dependencies
run: npm ci

- name: Build mass-payout/contracts
run: npm run build:mp:contracts
# - name: Build mass-payout
# run: npm run mp:build

- name: Build mass-payout/sdk
run: npm run build:mp:sdk

- name: Install mass-payout/web dependencies
run: npm run install:mp:web:lock

- name: Build mass-payout/web
run: npm run build:mp:web

- name: Run mass-payout/contracts tests
working-directory: packages/mass-payout/contracts
run: npm run test
# - name: Test mass-payout
# run: npm run mp:test
31 changes: 31 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Dependencies
node_modules
package-lock.json
yarn.lock
pnpm-lock.yaml

# Build outputs
build
dist
out
coverage
.turbo

# Generated files
typechain-types
artifacts
cache

# Hardhat
*.sol-coverage
gas-report.txt

# IDE
.vscode
.idea

# Environment files
.env*

# Documentation
Smart Contracts Audit Report.pdf
Loading