Enhance ComboHandler and orchestrator functionality with access control and error handling improvements

- Added AccessControl to ComboHandler for role-based access management.
- Implemented gas estimation for plan execution and improved gas limit checks.
- Updated execution and preparation methods to enforce step count limits and role restrictions.
- Enhanced error handling in orchestrator API endpoints with AppError for better validation feedback.
- Integrated request timeout middleware for improved request management.
- Updated Swagger documentation to reflect new API structure and parameters.
This commit is contained in:
defiQUG
2025-11-05 17:55:48 -08:00
parent f600b7b15e
commit f52313e7c6
54 changed files with 3230 additions and 208 deletions

41
.github/workflows/quality.yml vendored Normal file
View File

@@ -0,0 +1,41 @@
name: Code Quality
on:
pull_request:
branches: [main, develop]
jobs:
sonarqube:
name: SonarQube Analysis
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: SonarQube Scan
uses: sonarsource/sonarqube-scan-action@master
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }}
code-quality:
name: Code Quality Checks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "18"
- name: Install dependencies
run: |
cd webapp && npm ci
cd ../orchestrator && npm ci
- name: Lint
run: |
cd webapp && npm run lint
cd ../orchestrator && npm run lint || echo "Lint script not configured"
- name: Type Check
run: |
cd webapp && npx tsc --noEmit
cd ../orchestrator && npx tsc --noEmit

35
.github/workflows/security-scan.yml vendored Normal file
View File

@@ -0,0 +1,35 @@
name: Security Scan
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
schedule:
- cron: '0 0 * * 0' # Weekly
jobs:
dependency-scan:
name: Dependency Vulnerability Scan
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Snyk Scan
uses: snyk/actions/node@master
env:
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
with:
args: --severity-threshold=high
owasp-zap:
name: OWASP ZAP Scan
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: ZAP Scan
uses: zaproxy/action-full-scan@v0.10.0
with:
target: 'http://localhost:3000'
rules_file_name: '.zap/rules.tsv'
cmd_options: '-a'