Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
b682c09
feat(vNext): remove LotPool contract and all references
wkyleg Jan 23, 2026
d9737fc
feat(vNext): add ProtocolConfig and wire veELTA to Governor
wkyleg Jan 23, 2026
5d6e1b9
feat(vNext): add FeeCollector and TreasuryUSDCVault
wkyleg Jan 23, 2026
bafee50
feat(vNext): implement LP-keyed transfer tax for AppToken
wkyleg Jan 23, 2026
1574e54
feat(vNext): add FeeSwapper and FeeManager for daily settlement
wkyleg Jan 23, 2026
1a1f2ac
test(vNext): add curve lifecycle test foundation
wkyleg Jan 23, 2026
7823d50
feat(vNext): add AppVestingWallet for team token vesting
wkyleg Jan 23, 2026
bbe5f03
feat(vNext): add AirdropDistributor and ReferralRegistry modules
wkyleg Jan 23, 2026
226f2de
feat: Add bonding curve lifecycle states (Commit 9)
wkyleg Jan 23, 2026
46a7daf
feat: Update AppFactory to 50/25/25 allocation with vesting (Commit 10)
wkyleg Jan 23, 2026
e693ea1
feat: Wire fee pipeline with ELTA→USDC treasury swap (Commit 11)
wkyleg Jan 23, 2026
9c2d649
feat: Add multi-currency support to Tournament with FeeCollector rout…
wkyleg Jan 23, 2026
48e173e
feat: Add InAppContent721 ERC-721 and ContentStore for primary sales …
wkyleg Jan 23, 2026
b81810a
feat: Add granular roles to AppToken and operators array to AppFactor…
wkyleg Jan 23, 2026
99e0f2b
feat: Wire referral system - add referrer to buy() and referralBps to…
wkyleg Jan 23, 2026
ea1210e
feat: Wire AppFactory to register creator with FeeManager (Commit 16)
wkyleg Jan 23, 2026
867d0aa
fix: Change default token supply from 1B to 10M as documented (Commit…
wkyleg Jan 23, 2026
b639497
feat: Add MODULE_ADMIN_ROLE and MODULE_OPERATOR_ROLE to Tournament an…
wkyleg Jan 23, 2026
5f4cb69
feat: Route app creation fee through FeeCollector (Commit 19)
wkyleg Jan 23, 2026
36e0aca
feat: Add multi-currency support to ContentStore (Commit 20)
wkyleg Jan 23, 2026
0321c28
feat: Add optional sniper protection fee window to AppBondingCurve (C…
wkyleg Jan 23, 2026
987e04e
feat: Add configurable burn mechanism to AppToken and ContentStore (C…
wkyleg Jan 23, 2026
1532345
feat: Wire AppFactory to ProtocolConfig for bonding curve parameters
wkyleg Jan 23, 2026
85b1b29
feat: Add minSwapThreshold to ProtocolConfig and FeeSwapper
wkyleg Jan 23, 2026
4c20462
fix: Add overflow checks for unsafe typecasts
wkyleg Jan 23, 2026
1123de5
test: Add comprehensive invariant testing suite
wkyleg Jan 23, 2026
3360eb9
test: Add comprehensive security testing suite (800 tests)
wkyleg Jan 23, 2026
6f8c307
test: Add ContentStoreSecurity tests (814 total tests)
wkyleg Jan 23, 2026
244a2f9
test: Add ProtocolConfigSecurity tests (836 total tests)
wkyleg Jan 23, 2026
4dd5df1
test: Add AppFactorySecurity tests (848 total tests)
wkyleg Jan 23, 2026
6b95725
test: Complete security testing plan (897 total tests)
wkyleg Jan 23, 2026
ab507ec
test: Add StakingFuzz tests (910 total tests)
wkyleg Jan 23, 2026
5e1a1bf
feat: Add comprehensive security and invariant tests
wkyleg Jan 24, 2026
8eebea2
fix: Correct test setup issues in security and invariant tests
wkyleg Jan 25, 2026
309cb13
refactor: Rename ElataXP to ElataPoints and fix security tests
wkyleg Jan 25, 2026
f719193
fix: Fix FeeCollector and AppModuleFactory bugs, add comprehensive tests
wkyleg Jan 26, 2026
3e24c0b
fix: Update test setups to use real contracts instead of EOA addresses
wkyleg Jan 26, 2026
585e924
feat: simplify ELTA token + add NetworkConfig deployment system
wkyleg Jan 27, 2026
5b2872b
fix: resolve 7 failing CI tests
wkyleg Jan 27, 2026
7d6a6e6
fix: update EdgeCases assertion to match new token amounts
wkyleg Jan 27, 2026
c4a1c05
refactor: use external ELTA repo as dependency
wkyleg Jan 27, 2026
dbf4f5a
feat: add agent-based simulation framework and protocol updates
wkyleg Jan 29, 2026
5a7dc4b
fix: CI failures for FeeManager test and contract size
wkyleg Jan 29, 2026
4d8b05b
feat: add comprehensive advanced testing suite
wkyleg Jan 29, 2026
c47ba5f
chore: configure lint rules to suppress non-critical warnings
wkyleg Jan 29, 2026
4735f3e
fix: use SafeERC20 for all transfers in production code
wkyleg Jan 29, 2026
08ace2e
refactor: split AppModuleFactory into separate factories
wkyleg Jan 30, 2026
7f04492
fix: resolve fuzz test failures and off-by-one errors in table tests
wkyleg Jan 30, 2026
7fe551e
fix: resolve all CI test failures
wkyleg Jan 30, 2026
ad8cccc
fix: refactor AppBondingCurve constructor to use InitParams struct
wkyleg Jan 30, 2026
53fd0fb
fix: add swap file to CI and optimize build settings
wkyleg Jan 30, 2026
605a087
fix: refactor to use InitParams structs for stack depth + CI src-only…
wkyleg Feb 2, 2026
c88eb7c
fix: update test.yml workflow to build src/ only
wkyleg Feb 3, 2026
860ac19
fix: prevent overflow in KDriftVaryingTrades fuzz test
wkyleg Feb 3, 2026
1b8b248
docs: comprehensive documentation and simulation overhaul
wkyleg Feb 5, 2026
9c8ee8e
chore: align protocol code, tests, docs, and simulation stack
wkyleg Feb 26, 2026
92b08e9
fix: pin simulation AgentForge dependency in CI
wkyleg Feb 26, 2026
2c8c648
ci: stabilize required checks for vNext deployment
wkyleg Feb 26, 2026
1871e41
fix: stabilize CI gates and critical fuzz transfer assumption
wkyleg Feb 27, 2026
4258061
Finalize Sepolia deployment artifacts and harden vesting invariant te…
wkyleg Feb 27, 2026
c9d3fb3
Add Sepolia env sync and release handoff artifacts.
wkyleg Feb 27, 2026
6a23ca3
fix: stabilize deterministic LLM scenario outputs
wkyleg Feb 27, 2026
7c3d2a1
chore: switch agentforge dependency from local link to npm ^0.2.0
wkyleg Mar 5, 2026
d732c99
fix: remove --frozen-lockfile from simulation CI
wkyleg Mar 5, 2026
c8c1019
chore: regenerate sim lockfile for @elata-biosciences/agentforge@0.2.0
wkyleg Mar 5, 2026
177f0d9
fix: remove intentTag references for agentforge 0.2.0 compatibility
wkyleg Mar 5, 2026
2a6d3b3
fix: remove all intentTag references for agentforge 0.2.0
wkyleg Mar 5, 2026
7649721
fix(ci): reduce CI resource usage to prevent OOM and timeouts
wkyleg Mar 10, 2026
f90abde
ci: remove Code Quality and Gas Report checks
wkyleg Mar 10, 2026
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
  •  
  •  
  •  
7 changes: 3 additions & 4 deletions .github/LOCAL_DEV_DIAGRAM.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,8 @@ Start Anvil
├─► Core Protocol Contracts
│ ├─► ELTA Token ─────────────► 0x5FbDB...
│ ├─► ElataXP ────────────────► 0xe7f17...
│ ├─► ElataPoints ────────────► 0xe7f17...
│ ├─► VeELTA ────────────────► 0x9fE46...
│ ├─► LotPool ───────────────► 0xCf7Ed...
│ ├─► RewardsDistributor ────► 0xDc64a...
│ ├─► ElataTimelock ─────────► 0x5FC8d...
│ └─► ElataGovernor ─────────► 0x0165...
Expand Down Expand Up @@ -127,7 +126,7 @@ generate-config.ts
└─► Generate: frontend/src/config/contracts.ts
export const contracts = {
ELTA: '0x5FbDB...' as const,
ElataXP: '0xe7f17...' as const,
ElataPoints: '0xe7f17...' as const,
...
};
```
Expand Down Expand Up @@ -258,7 +257,7 @@ Persistence: Ephemeral (resets on restart)
## What Gets Created

### Contracts (12)
- ✅ ELTA, ElataXP, VeELTA, LotPool
- ✅ ELTA, ElataPoints, VeELTA
- ✅ RewardsDistributor, ElataTimelock, ElataGovernor
- ✅ AppFactory, AppModuleFactory, TournamentFactory
- ✅ Mock Uniswap Factory + Router
Expand Down
65 changes: 46 additions & 19 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: CI

on:
push:
branches: [main, develop]
branches: [main, develop, vNext]
pull_request:
branches: [main, develop]
branches: [main, develop, vNext]

env:
FOUNDRY_PROFILE: ci
Expand All @@ -22,14 +22,27 @@ jobs:
uses: foundry-rs/foundry-toolchain@v1
with:
version: v1.4.2
cache: true

- name: Cache Foundry build
uses: actions/cache@v4
with:
path: |
cache/
out/
key: foundry-build-${{ hashFiles('foundry.toml', 'src/**/*.sol', 'test/**/*.sol', 'lib/**') }}
restore-keys: |
foundry-build-

- name: Show Foundry version
run: forge --version

- name: Run Forge build
- name: Run Forge build (source only)
run: |
forge --version
forge build
forge build src/ --sizes
env:
FOUNDRY_PROFILE: default

- name: Run Forge tests
run: |
Expand All @@ -39,20 +52,6 @@ jobs:
run: |
forge test --match-contract CoreSecurityVerification

lint:
name: Code Quality
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: v1.4.2

- name: Run gas report
run: forge test --gas-report

coverage:
name: Test Coverage
runs-on: ubuntu-latest
Expand All @@ -78,4 +77,32 @@ jobs:
flags: foundry
token: ${{ secrets.CODECOV_TOKEN }}
continue-on-error: true
if: success() || failure()

snapshot:
name: Gas Snapshot
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v4
with:
submodules: recursive

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: v1.4.2

- name: Generate gas snapshot
run: forge snapshot

- name: Compare gas snapshot (PR only)
if: github.event_name == 'pull_request'
run: forge snapshot --check
continue-on-error: true

- name: Upload snapshot artifact
uses: actions/upload-artifact@v4
with:
name: gas-snapshot
path: .gas-snapshot
retention-days: 30
32 changes: 0 additions & 32 deletions .github/workflows/pr-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,38 +58,6 @@ jobs:
forge test --match-contract Security -vv
forge test --match-contract CoreSecurityVerification -vv

gas-report:
name: Gas Report
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: v1.4.2

- name: Generate gas report
run: forge test --gas-report

- name: Post gas report as comment
uses: actions/github-script@v7
if: github.event_name == 'pull_request'
with:
script: |
const fs = require('fs');
const gasReport = await exec.getExecOutput('forge test --gas-report');

github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: '## ⛽ Gas Report\n\n```\n' + gasReport.stdout + '\n```'
});
continue-on-error: true

coverage:
name: Test Coverage
runs-on: ubuntu-latest
Expand Down
Loading
Loading