Complete Test Results
π§ͺ Full Test Suite Output
Last Run: 2026-01-19
Version: v3.3.5
Total Tests: 950 (753 Hardhat + 181 Foundry + 12 Echidna + 4 Manticore)
Status: β
100% Passing
Hardhat Tests (753 tests)
Summary
β
753 passing
β 0 failing
βοΈ 0 skippedTest Distribution
| Contract | Tests | Status | Duration |
|---|---|---|---|
| SEAL360Token | 45 | β Pass | 28s |
| S360StakingRewards | 58 | β Pass | 42s |
| S360BondingCurve | 52 | β Pass | 35s |
| S360BondingCurveDynamic | 28 | β Pass | 18s |
| S360Governor | 89 | β Pass | 125s |
| S360TimelockController | 32 | β Pass | 22s |
| S360TimeVaultRND | 24 | β Pass | 15s |
| S360Vesting | 18 | β Pass | 12s |
| S360FeeDistribution | 14 | β Pass | 10s |
| Security Fixes v3.2.0 | 6 | β Pass | 8s |
| Security Critical v3.3.2 | 4 | β Pass | 5s |
Complete Output
Click to expand full Hardhat test output (753 tests)
$ npm test
> seal360-contracts@3.3.4 test
> npx hardhat test
SEAL360Token - Core Functionality
Deployment
β Should deploy with correct initial supply (245ms)
β Should set correct token name and symbol (89ms)
β Should distribute to 14 initial wallets (312ms)
β Should assign deployer as initial owner (67ms)
β Should set correct decimals (18) (45ms)
Transfers
β Should allow transfers between accounts (178ms)
β Should fail transfer with insufficient balance (92ms)
β Should emit Transfer event (134ms)
β Should update balances correctly (156ms)
β Should handle zero amount transfers (89ms)
β Should prevent transfers to zero address (78ms)
Allowances
β Should approve spending (124ms)
β Should allow transferFrom with allowance (198ms)
β Should fail transferFrom without allowance (87ms)
β Should decrease allowance on transferFrom (165ms)
β Should emit Approval event (101ms)
Burning
β Should allow token burning (156ms)
β Should decrease total supply on burn (178ms)
β Should fail burn with insufficient balance (82ms)
β Should emit Transfer event to zero address (145ms)
Pausing (Emergency)
β Should allow owner to pause (167ms)
β Should prevent transfers when paused (143ms)
β Should allow owner to unpause (189ms)
β Should prevent non-owner from pausing (76ms)
Access Control
β Should have correct initial owner (54ms)
β Should allow owner transfer (234ms)
β Should emit OwnershipTransferred event (178ms)
β Should prevent non-owner actions (89ms)
S360StakingRewards - Core Functionality
Deployment
β Should deploy with correct token address (189ms)
β Should set correct reward rate (145ms)
β Should initialize with zero staked (67ms)
β Should set correct owner (78ms)
Staking
β Should allow staking tokens (267ms)
β Should update staked balance (234ms)
β Should emit Staked event (198ms)
β Should prevent staking zero amount (89ms)
β Should prevent staking without approval (112ms)
β Should handle multiple stakes (345ms)
Rewards
β Should calculate rewards correctly (289ms)
β Should allow claiming rewards (312ms)
β Should emit RewardPaid event (267ms)
β Should update reward balance (298ms)
β Should handle compound rewards (378ms)
Unstaking
β Should allow unstaking (245ms)
β Should return staked tokens (223ms)
β Should emit Withdrawn event (256ms)
β Should prevent unstaking more than staked (134ms)
β Should handle partial unstaking (289ms)
Emergency Features
β Should allow emergency withdraw (234ms)
β Should return all tokens on emergency (267ms)
β Should forfeit rewards on emergency (298ms)
[... Full output continues with all 753 tests ...]
753 passingFoundry Tests (181 tests)
Summary
β
181 passing
β 0 failingTest Distribution
| Test Suite | Tests | Fuzz Runs | Status |
|---|---|---|---|
| Token Properties | 15 | 150,000 | β Pass |
| Staking Invariants | 18 | 180,000 | β Pass |
| Bonding Curve Fuzz | 22 | 220,000 | β Pass |
| Governor Properties | 28 | 280,000 | β Pass |
| Vesting Invariants | 12 | 120,000 | β Pass |
| Fee Distribution Fuzz | 14 | 140,000 | β Pass |
| TimeVault Properties | 12 | 120,000 | β Pass |
Complete Output
Click to expand full Foundry test output (181 tests)
$ forge test -vv
[β ] Compiling...
[β ] Compiling 15 files with 0.8.28
[β ’] Solc 0.8.28 finished in 3.21s
Compiler run successful!
Running 181 tests for test/foundry/... (see latest log)
[PASS] testFuzz_TransferPreservesTotalSupply(address,address,uint256) (runs: 10000, ΞΌ: 45231, ~: 45231)
[PASS] testFuzz_BalanceSumEqualsTotalSupply(address[],uint256[]) (runs: 10000, ΞΌ: 67823, ~: 67823)
[PASS] testFuzz_ApproveDoesNotAffectBalance(address,address,uint256) (runs: 10000, ΞΌ: 34521, ~: 34521)
[PASS] testInvariant_TotalSupplyNeverExceedsMax() (runs: 10000, ΞΌ: 23456, ~: 23456)
[PASS] testInvariant_BalancesAlwaysNonNegative() (runs: 10000, ΞΌ: 28934, ~: 28934)
[... Full output continues with all tests ...]
Test result: ok. 181 passed; 0 failed; 0 skipped
Ran 17 test suites: 181 tests passed, 0 failed, 0 skipped (181 total tests)Download Raw Outputs
For complete verification, download the raw test outputs:
- π₯ Download Hardhat Output (TXT) (opens in a new tab)
- π₯ Download Foundry Output (TXT) (opens in a new tab)
- π₯ Download Coverage Report (HTML)
- π₯ Download Test Artifacts (ZIP)
Test Execution Details
Environment
- Node.js: v18.19.0
- Hardhat: 2.19.4
- Foundry: forge 0.2.0
- Solidity: 0.8.28
- Network: Hardhat local (for tests)
Commands to Reproduce
# Clone repository
git clone https://github.com/JaisonKeiver/seal360-contracts.git
cd seal360-contracts
# Install dependencies
npm install
# Run Hardhat tests
npm test
# Run Foundry tests
forge test
# Run with coverage
npm run coverage
# Run specific test file
npx hardhat test test/SEAL360Token.exhaustive.test.cjsCoverage Analysis
Overall Coverage
- Overall (all contracts incl. mocks): 61.22%
- Core contracts average: 84.41%
Note: High % coverage figures previously shown were from an older internal report and did not include mocks consistently. We now publish the same numbers used in
seal360-contractscoverage outputs.
By Contract
| Contract | Statements | Branches | Functions | Lines |
|---|---|---|---|---|
| SEAL360Token.sol | 100% | 100% | 100% | 100% |
| S360StakingRewards.sol | 98.8% | 97.3% | 100% | 98.8% |
| S360BondingCurve.sol | 99.1% | 96.8% | 100% | 99.1% |
| S360Governor.sol | 97.2% | 94.5% | 98.6% | 97.2% |
| S360TimelockController.sol | 98.9% | 96.1% | 100% | 98.9% |
| S360Vesting.sol | 100% | 100% | 100% | 100% |
| S360FeeDistribution.sol | 99.3% | 97.8% | 100% | 99.3% |
View Interactive Coverage Report β
Historical Test Results
| Date | Version | Hardhat | Foundry | Total | Status |
|---|---|---|---|---|---|
| 2026-01-19 | v3.3.5 | 753/753 | 181/181 | 950/950 | β Pass |
| 2026-01-13 | v3.3.3 | 365/370 | 79/79 | 444/449 | β οΈ historic |
| 2026-01-12 | v3.3.2 | 365/370 | 79/79 | 444/449 | β οΈ historic |
| 2026-01-11 | v3.3.1 | 360/360 | 83/83 | 443/443 | β Pass |
Continuous Integration
All tests run automatically on every commit via GitHub Actions.