uups-checker 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitmodules +6 -0
- package/AIFI_AUDIT.md +220 -0
- package/ALL_AUDITS_SUMMARY.md +366 -0
- package/ALPHA_PROXY_CRITICAL_FINDING.md +136 -0
- package/ALPHA_PROXY_FINAL_ANALYSIS.md +213 -0
- package/ALPHA_PROXY_FINAL_VERDICT.md +233 -0
- package/ALPHA_PROXY_SELFDESTRUCT_EXPLOIT.md +161 -0
- package/ARIA-foundry-test.txt +9 -0
- package/ARIA-mythril-analysis.txt +20 -0
- package/ARIA-slither-analysis.txt +38 -0
- package/ARIA_AI_SECURITY_AUDIT.md +290 -0
- package/ARIA_VERIFIED_AUDIT.md +259 -0
- package/ARIA_VERIFIED_slither.txt +76 -0
- package/ARIVA_source.txt +1 -0
- package/ARK_AUDIT.md +349 -0
- package/BANANA_AUDIT.md +365 -0
- package/BAS_AUDIT.md +451 -0
- package/BAS_TOKEN_AUDIT.md +235 -0
- package/BCE_EXPLOIT_ANALYSIS.md +165 -0
- package/BEEFY_BNB_CHAIN_ANALYSIS.md +488 -0
- package/BEEFY_MONAD_ANALYSIS.md +239 -0
- package/BEEFY_STAKING_ANALYSIS.md +136 -0
- package/BEEFY_XVS_WBNB_ACTUAL_FINDINGS.md +223 -0
- package/BEEFY_XVS_WBNB_CRITICAL_FINDINGS.md +269 -0
- package/BLOCKSEC_ATTACK_KNOWLEDGE_BASE.md +771 -0
- package/BRISE_ANALYSIS.txt +31 -0
- package/BRISE_BSC_DAPPS.txt +68 -0
- package/BRISE_EXPLOITS_FOUND.md +98 -0
- package/BRISE_REAL_EXPLOITS.md +115 -0
- package/BRISE_WHITEHAT_REPORT.md +162 -0
- package/BRISEstake_Analysis.txt +95 -0
- package/BSCSLOCKTOKEN_CRITICAL_FINDING.md +240 -0
- package/BSW_BISWAP_SECURITY_AUDIT.md +330 -0
- package/BTCST_FINAL_VERDICT.md +319 -0
- package/BTCST_MINING_REBASE_ANALYSIS.md +229 -0
- package/BTCST_ROUNDING_DEEP_DIVE.md +293 -0
- package/BTCST_ROUNDING_FINAL_VERDICT.md +9 -0
- package/BTCST_SECURITY_ANALYSIS.md +391 -0
- package/BTR_AUDIT.md +210 -0
- package/BeamBridge-analysis.md +226 -0
- package/BeamToken-analysis.md +201 -0
- package/BitgertSwap_Investigation.txt +107 -0
- package/CEEK_STAKING_ANALYSIS.md +0 -0
- package/CHAINBASE_AUDIT.md +422 -0
- package/COMPLETE_AUDIT_SUMMARY.md +342 -0
- package/CORRECTED_ANALYSIS.txt +115 -0
- package/DBXEN_COMPARISON_SUMMARY.md +232 -0
- package/DBXEN_EXPLOIT_ANALYSIS.md +530 -0
- package/DOPFairLaunch_raw.json +29 -0
- package/DOPFairLaunch_source.txt +0 -0
- package/DOP_BRIDGE_FINAL_ANALYSIS.txt +86 -0
- package/DOP_BUSD_LP_ANALYSIS.txt +44 -0
- package/DOP_FAIRLAUNCH_ANALYSIS.txt +61 -0
- package/DOP_FAIRLAUNCH_FINAL_VERDICT.txt +113 -0
- package/DOP_STAKING_CONTRACT_ANALYSIS.txt +67 -0
- package/DSYNC_ECOSYSTEM_ANALYSIS.md +221 -0
- package/DSyncStaking-exploit-analysis.md +153 -0
- package/DSyncVault-analysis.md +120 -0
- package/DUSD_PROXY_AUDIT.md +407 -0
- package/DXSALE_LOCK_AUDIT.md +0 -0
- package/DXSaleLock_bytecode.txt +1 -0
- package/ECHIDNA_QUICK_START.md +101 -0
- package/ELEPHANT_ECOSYSTEM_AUDIT_PLAN.md +159 -0
- package/ELEPHANT_ECOSYSTEM_COMPREHENSIVE_AUDIT.md +427 -0
- package/ELEPHANT_SECURITY_ANALYSIS.md +209 -0
- package/ELEPHANT_VULNERABILITIES_EXPLAINED.md +455 -0
- package/EXPLOIT_FIX.md +300 -0
- package/EXPLOIT_INSTRUCTIONS.md +273 -0
- package/EXPLOIT_SUMMARY.md +285 -0
- package/EXPLOIT_SUMMARY.txt +175 -0
- package/FALCON_FINANCE_AUDIT.md +258 -0
- package/FANDOM_AUDIT.md +359 -0
- package/FEE_ON_TRANSFER_ANALYSIS.md +228 -0
- package/FINAL_AUDIT_REPORT.md +0 -0
- package/FOLIO_PROXY_AUDIT.md +299 -0
- package/FOT_EXPLOIT_RESULTS.txt +110 -0
- package/FOT_TOKENS_AUDITED.md +103 -0
- package/HEGIC-mythril-analysis.txt +39 -0
- package/HEGIC_COMPLETE_ANALYSIS.md +343 -0
- package/HOTCROSS_SWAP_EXPLOIT_ANALYSIS.md +123 -0
- package/ICECREAMSWAP_EXPLOITS.md +259 -0
- package/IMMUNEFI_REPORT.md +314 -0
- package/KCCPAD_EXPLOIT_GUIDE.md +285 -0
- package/KEL_CEL_EXPLOIT_ANALYSIS.md +0 -0
- package/KOGE_AUDIT.md +328 -0
- package/LENDFLARE_ANALYSIS.md +239 -0
- package/LENDFLARE_ECHIDNA_GUIDE.md +356 -0
- package/LENDFLARE_EXPLOIT_INSTRUCTIONS.md +297 -0
- package/LENDFLARE_EXPLOIT_SUMMARY.md +292 -0
- package/LENDFLARE_FLASHLOAN_GUIDE.md +383 -0
- package/LENDFLARE_FUZZING_RESULTS.md +252 -0
- package/LENDFLARE_HONEYPOT_BYPASS_ANALYSIS.md +420 -0
- package/LENDFLARE_MANUAL_FUZZING.md +324 -0
- package/LENDFLARE_MYTHRIL_ANALYSIS.md +339 -0
- package/LENDFLARE_V3_BYPASS.md +296 -0
- package/LFTDECOMPILE.txt +14478 -0
- package/LFT_ACCOUNTING_ANALYSIS.md +0 -0
- package/LFT_ACCOUNTING_BUG_ANALYSIS.md +426 -0
- package/LFT_BACKDOOR_DEEP_DIVE.md +0 -0
- package/LFT_CRITICAL_EXPLOIT_CONFIRMED.md +428 -0
- package/LFT_EXPLOIT_VISUAL.md +253 -0
- package/LFT_QUICK_SUMMARY.md +124 -0
- package/LFT_REVERSE_EXPLOIT_ANALYSIS.md +521 -0
- package/MGO_AUDIT_REPORT.md +420 -0
- package/MYTHRIL_FINAL_REPORT.md +306 -0
- package/MYTHRIL_SLITHER_SUMMARY.md +244 -0
- package/NETX_MIGRATION_AUDIT.md +0 -0
- package/NPM_PUBLISH_GUIDE.md +0 -0
- package/NRV_CRITICAL_EXPLOIT.txt +143 -0
- package/NetX_Analysis.txt +76 -0
- package/NetX_Migration_bytecode.txt +1 -0
- package/NetX_Migration_source.txt +0 -0
- package/NetX_Token_source.txt +0 -0
- package/NetxWhitehatRescue +22 -0
- package/OILER_ATTACK_VISUAL.md +351 -0
- package/OILER_BLOCKSEC_TEST_RESULTS.md +421 -0
- package/OILER_DEEP_ANALYSIS.md +212 -0
- package/OILER_FINAL_EXPLOIT_REPORT.md +241 -0
- package/OILER_FINAL_VERDICT.md +339 -0
- package/OILER_REENTRANCY_EXPLAINED.md +638 -0
- package/OILER_REENTRANCY_FINAL_SUMMARY.md +391 -0
- package/OILER_REENTRANCY_REALITY_CHECK.md +393 -0
- package/OILER_REENTRANCY_STEP_BY_STEP.md +597 -0
- package/OILER_STAKING_MAINNET_ANALYSIS.md +366 -0
- package/OILER_STAKING_SECURITY_ANALYSIS.md +409 -0
- package/PANCAKESWAP_UNDERFLOW_HUNTING.md +317 -0
- package/POLS_MULTICHAIN_AUDIT.md +0 -0
- package/POSI_STAKING_AUDIT.md +0 -0
- package/PROXY2_SECURITY_ANALYSIS.md +0 -0
- package/Proxy2TACS +29748 -0
- package/QUICK_START.md +240 -0
- package/RAMP_SECURITY_ANALYSIS.md +0 -0
- package/README.md +238 -0
- package/REAUDIT_MASTER_LIST.txt +15 -0
- package/RING_analysis.txt +212 -0
- package/RPC +4 -0
- package/RULES.txt +20 -0
- package/SIREN_AUDIT.md +186 -0
- package/SYNC_EXPLOIT_README.md +0 -0
- package/SYNC_TOKEN_EXPLOIT_REPORT.md +224 -0
- package/TLM_raw.html +0 -0
- package/TLM_raw.txt +0 -0
- package/TLM_response.json +1 -0
- package/TRADOOR_AUDIT.md +253 -0
- package/TRUNK_AUDIT.md +285 -0
- package/UNIBASE_AUDIT.md +241 -0
- package/UNLOCK_ANALYSIS.md +0 -0
- package/UNLOCK_EXPLOIT.md +49 -0
- package/UNLOCK_EXPLOIT_ANALYSIS.md +0 -0
- package/UPS +232 -0
- package/UUPSCHECKER +208 -0
- package/VAULT_PROXY_AUDIT.md +457 -0
- package/VAULT_PROXY_FINAL_VERDICT.md +0 -0
- package/VERIFIED_EXPLOITS_FINAL.txt +146 -0
- package/WKEYDAO2_AUDIT.md +245 -0
- package/WSG_AUDIT.md +0 -0
- package/XFI_DEEP_ANALYSIS.md +327 -0
- package/YOOSHI_EXPLOIT_GUIDE.md +119 -0
- package/YSDAO_EXPLOIT_GUIDE.md +0 -0
- package/agent-4-bundle.md +22490 -0
- package/alpha-proxy-echidna.txt +1 -0
- package/alpha-proxy-fuzz-results.txt +81 -0
- package/alpha-proxy-mythril.txt +2 -0
- package/analyze-btcst-farm.js +54 -0
- package/analyze-dxsale-lock.js +75 -0
- package/analyze-elephant.js +69 -0
- package/analyze-fara-rewards.js +109 -0
- package/analyze-fara-storage.js +83 -0
- package/analyze-lft-transaction.js +158 -0
- package/analyze-lock-bytecode.js +59 -0
- package/analyze-shegic.js +0 -0
- package/analyze-staking-abi.js +0 -0
- package/analyze-sxp.js +57 -0
- package/analyze-tlm.js +76 -0
- package/analyze-trumpet.js +98 -0
- package/analyze-unlimited-nft.js +108 -0
- package/analyze_elephant.sh +27 -0
- package/analyze_vault.sh +32 -0
- package/aria-bytecode.txt +1 -0
- package/aria_response.json +1 -0
- package/ark_temp/README.md +66 -0
- package/ark_temp/lib/forge-std/.gitattributes +1 -0
- package/ark_temp/lib/forge-std/.github/CODEOWNERS +1 -0
- package/ark_temp/lib/forge-std/.github/dependabot.yml +6 -0
- package/ark_temp/lib/forge-std/.github/workflows/ci.yml +125 -0
- package/ark_temp/lib/forge-std/.github/workflows/sync.yml +36 -0
- package/ark_temp/lib/forge-std/CONTRIBUTING.md +193 -0
- package/ark_temp/lib/forge-std/LICENSE-APACHE +203 -0
- package/ark_temp/lib/forge-std/LICENSE-MIT +25 -0
- package/ark_temp/lib/forge-std/README.md +314 -0
- package/ark_temp/lib/forge-std/RELEASE_CHECKLIST.md +12 -0
- package/ark_temp/lib/forge-std/package.json +16 -0
- package/ark_temp/lib/forge-std/scripts/vm.py +636 -0
- package/audits/AiFi-security-audit-20260326.md +499 -0
- package/audits/BasedAI-Brains-security-audit-20260324.md +651 -0
- package/audits/BinanceAlphaWallet-pashov-ai-audit-report-20260324-170000.md +362 -0
- package/audits/DGToken-security-audit-20260324.md +376 -0
- package/audits/DSyncStaking-audit-part1.md +161 -0
- package/audits/DSyncStaking-security-audit-20260324.md +547 -0
- package/audits/DecompiledERC20-security-audit-20260325.md +397 -0
- package/audits/DegenVC-security-audit-20260324.md +585 -0
- package/audits/DelreyInu-security-audit-20260324.md +463 -0
- package/audits/DestraNetwork-security-audit-20260324.md +705 -0
- package/audits/DomiToken-security-audit-20260324.md +514 -0
- package/audits/LendFlareToken-security-audit-20260325.md +197 -0
- package/audits/LockReleaseTokenPool-security-audit-20260324.md +482 -0
- package/audits/MOG-pashov-ai-audit-report-20260324-164900.md +229 -0
- package/audits/PAALAI-security-audit-20260324.md +475 -0
- package/audits/PAR-security-audit-20260325.md +311 -0
- package/audits/PepeCoinStaking-security-audit-20260324.md +358 -0
- package/audits/StakingPool-security-audit-20260324.md +517 -0
- package/audits/SyncToken-security-audit-20260324.md +778 -0
- package/audits/UndeadToken-decompiled-security-audit-20260324.md +485 -0
- package/audits/UnknownToken-decompiled-security-audit-20260324.md +647 -0
- package/audits/XFIStaking-security-audit-20260324.md +682 -0
- package/audits/Xfinance-security-audit-20260324.md +463 -0
- package/audits/basedAIFarm-security-audit-20260324.md +330 -0
- package/audits/pepeCoin-security-audit-20260324.md +462 -0
- package/bin/ups +232 -0
- package/binance-wallet-exploit/.env.example +2 -0
- package/binance-wallet-exploit/EXECUTIVE_SUMMARY.md +272 -0
- package/binance-wallet-exploit/EXPLOIT_SUMMARY.md +104 -0
- package/binance-wallet-exploit/FINAL_ANALYSIS.md +326 -0
- package/binance-wallet-exploit/FLASHLOAN_ATTACK.md +292 -0
- package/binance-wallet-exploit/HONEYPOT_REPORT.md +526 -0
- package/binance-wallet-exploit/INVESTIGATION_COMPLETE.md +362 -0
- package/binance-wallet-exploit/LENDFLARE_EXPLOIT.md +219 -0
- package/binance-wallet-exploit/LENDFLARE_FINAL_ATTACK.md +307 -0
- package/binance-wallet-exploit/LENDFLARE_REAL_EXPLOIT.md +286 -0
- package/binance-wallet-exploit/LENDFLARE_RUGPULL.md +269 -0
- package/binance-wallet-exploit/LFT_ANALYSIS.md +206 -0
- package/binance-wallet-exploit/QUICK_START.md +75 -0
- package/binance-wallet-exploit/README.md +195 -0
- package/binance-wallet-exploit/REAL_TX_EXPLOIT_ANALYSIS.md +271 -0
- package/binance-wallet-exploit/REMIX_INSTRUCTIONS.md +223 -0
- package/binance-wallet-exploit/TEST_RESULTS.md +203 -0
- package/binance-wallet-exploit/cache/solidity-files-cache.json +1 -0
- package/binance-wallet-exploit/cache/test-failures +1 -0
- package/binance-wallet-exploit/lib/forge-std/.gitattributes +1 -0
- package/binance-wallet-exploit/lib/forge-std/.github/CODEOWNERS +1 -0
- package/binance-wallet-exploit/lib/forge-std/.github/dependabot.yml +6 -0
- package/binance-wallet-exploit/lib/forge-std/.github/workflows/ci.yml +125 -0
- package/binance-wallet-exploit/lib/forge-std/.github/workflows/sync.yml +36 -0
- package/binance-wallet-exploit/lib/forge-std/CONTRIBUTING.md +193 -0
- package/binance-wallet-exploit/lib/forge-std/LICENSE-APACHE +203 -0
- package/binance-wallet-exploit/lib/forge-std/LICENSE-MIT +25 -0
- package/binance-wallet-exploit/lib/forge-std/README.md +314 -0
- package/binance-wallet-exploit/lib/forge-std/RELEASE_CHECKLIST.md +12 -0
- package/binance-wallet-exploit/lib/forge-std/package.json +16 -0
- package/binance-wallet-exploit/lib/forge-std/scripts/vm.py +636 -0
- package/binance-wallet-exploit/out/build-info/1e9aa7e86cf56962.json +1 -0
- package/binance-wallet-exploit/out/build-info/6f56f10e9d7b56eb.json +1 -0
- package/binance-wallet-exploit/out/build-info/7edba961ff697a24.json +1 -0
- package/binance-wallet-exploit/out/build-info/8c27fe3efea2f2e7.json +1 -0
- package/binance-wallet-exploit/out/build-info/978b680daffec63a.json +1 -0
- package/binance-wallet-exploit/out/build-info/9806b900b5672d0c.json +1 -0
- package/binance-wallet-exploit/out/build-info/b4b9ff36e9b3fc27.json +1 -0
- package/binance-wallet-exploit/out/build-info/b6f4df9ae05c0812.json +1 -0
- package/binance-wallet-exploit/out/build-info/c88dbc86551f7b5c.json +1 -0
- package/binance-wallet-exploit/out/build-info/e9657504010623db.json +1 -0
- package/cache/fuzz/failures/ARIAVerifiedFuzzTest/testFuzz_ApprovalRaceCondition +1 -0
- package/cache/fuzz/failures/HotCrossSwapFuzzTest/testFuzz_DirectTransferExploit +1 -0
- package/cache/fuzz/failures/HotCrossSwapFuzzTest/testFuzz_LargeSwapDrain +1 -0
- package/cache/fuzz/failures/LendFlareFuzz/testFuzz_ApprovalExploit +1 -0
- package/cache/fuzz/failures/LendFlareFuzz/testFuzz_BalanceManipulation +1 -0
- package/cache/fuzz/failures/LendFlareFuzz/testFuzz_RateManipulation +1 -0
- package/cache/fuzz/failures/LendFlareFuzz/testFuzz_StorageManipulation +1 -0
- package/cache/fuzz/failures/PARFuzzTest/testFuzz_OverflowTransfer +1 -0
- package/cache/fuzz/failures/PARFuzzTest/testFuzz_Transfer +1 -0
- package/cache/fuzz/failures/XFIDeepFuzz/testFuzz_FrontrunAddfunds +1 -0
- package/cache/fuzz/failures/XFIDeepFuzz/testFuzz_RewardOverflow +1 -0
- package/cache/fuzz/failures/XFIDeepFuzz/testFuzz_RoundingExploit +1 -0
- package/cache/fuzz/failures/XFIDeepFuzz/testFuzz_WithdrawLimit +1 -0
- package/cache/solidity-files-cache.json +1 -0
- package/cache/test-failures +1 -0
- package/calculate-elephant-flashloan.js +195 -0
- package/check-address-approval.js +112 -0
- package/check-alpha-proxy.js +42 -0
- package/check-arbitrage.js +155 -0
- package/check-aria-token.js +47 -0
- package/check-ark.sh +20 -0
- package/check-btcst-mining.js +75 -0
- package/check-btcst-pools.js +163 -0
- package/check-btcst.js +88 -0
- package/check-caller.js +26 -0
- package/check-ceek-lp.js +73 -0
- package/check-ceek.js +47 -0
- package/check-dxsale-address.js +35 -0
- package/check-fara-exploit-timing.js +56 -0
- package/check-fara-real-exploit.js +73 -0
- package/check-flashloan-limits.js +129 -0
- package/check-kel-cel-pool.js +91 -0
- package/check-lax-staking.js +41 -0
- package/check-lendflare.js +165 -0
- package/check-lft-accounting.js +109 -0
- package/check-lft-roles.js +165 -0
- package/check-lock-time.js +47 -0
- package/check-min-stake.js +73 -0
- package/check-mystery-contract.js +52 -0
- package/check-next-token.js +50 -0
- package/check-nora-lock.js +67 -0
- package/check-oiler-approvals.js +116 -0
- package/check-oiler-proxy.js +73 -0
- package/check-oiler-staking.js +117 -0
- package/check-proxy-simple.js +71 -0
- package/check-recent-stakes.js +54 -0
- package/check-shegic-holdings.js +67 -0
- package/check-snowcrash-ecosystem.js +83 -0
- package/check-sync-lp.js +97 -0
- package/check-sync-stake.js +42 -0
- package/check-tlm.js +37 -0
- package/check-token-pools.js +146 -0
- package/check-trunk-depeg.js +181 -0
- package/check-tusd-decimals.js +58 -0
- package/check-user-storage-deep.js +81 -0
- package/check-welephant-pools.js +130 -0
- package/check-xfi-pool.js +75 -0
- package/check-zypher.js +32 -0
- package/check_proxy.sh +36 -0
- package/compare-tlm-chains.js +90 -0
- package/contract_0x05f2.html +6025 -0
- package/contract_0x3720.html +6361 -0
- package/contract_0x928e.html +5606 -0
- package/contract_0xc42d.html +5304 -0
- package/contract_page.html +5789 -0
- package/decode-stake-tx.js +50 -0
- package/deep-analyze-lock.js +82 -0
- package/dune_uups_proxy_query.sql +42 -0
- package/dune_uups_vulnerable_query.sql +0 -0
- package/echidna/alpha-proxy.yaml +14 -0
- package/echidna/elephant.yaml +7 -0
- package/echidna/lendflare.yaml +42 -0
- package/echidna.config.yaml +12 -0
- package/elephant_raw.json +1 -0
- package/eps_raw.json +1 -0
- package/exploit/.github/workflows/test.yml +38 -0
- package/exploit/.gitmodules +3 -0
- package/exploit/README.md +66 -0
- package/exploit/foundry.lock +8 -0
- package/exploit/lib/forge-std/.gitattributes +1 -0
- package/exploit/lib/forge-std/.github/CODEOWNERS +1 -0
- package/exploit/lib/forge-std/.github/dependabot.yml +6 -0
- package/exploit/lib/forge-std/.github/workflows/ci.yml +125 -0
- package/exploit/lib/forge-std/.github/workflows/sync.yml +36 -0
- package/exploit/lib/forge-std/CONTRIBUTING.md +193 -0
- package/exploit/lib/forge-std/LICENSE-APACHE +203 -0
- package/exploit/lib/forge-std/LICENSE-MIT +25 -0
- package/exploit/lib/forge-std/README.md +314 -0
- package/exploit/lib/forge-std/RELEASE_CHECKLIST.md +12 -0
- package/exploit/lib/forge-std/package.json +16 -0
- package/exploit/lib/forge-std/scripts/vm.py +636 -0
- package/exploit_analysis.txt +51 -0
- package/extract_contract.py +21 -0
- package/extract_elephant_contracts.py +24 -0
- package/fara-staking-bytecode.txt +1 -0
- package/fara-staking-raw.txt +1 -0
- package/fetch-aria.js +46 -0
- package/fetch-contract.js +50 -0
- package/fetch-shegic-source.js +86 -0
- package/fetch-snowcrash.js +44 -0
- package/fetch-staking-source.js +53 -0
- package/fetch-tlm.js +60 -0
- package/fetch_elephant_source.py +32 -0
- package/find-ceek-staking.js +21 -0
- package/find-exploit-tx.js +88 -0
- package/find-oiler-holders.js +100 -0
- package/find-tlm-holder.js +36 -0
- package/find-vulnerable-fund.js +94 -0
- package/foundry.lock +8 -0
- package/fuzz-all.sh +53 -0
- package/get-aria-contract.py +40 -0
- package/get-lft-holders.js +89 -0
- package/get-tlm-source.sh +8 -0
- package/harvest_txs.json +1 -0
- package/lft-bytecode-raw.txt +1 -0
- package/lft-bytecode.json +1 -0
- package/lft-impl.bin +1 -0
- package/lft-implementation-bytecode.txt +1 -0
- package/lib/forge-std/.gitattributes +1 -0
- package/lib/forge-std/.github/CODEOWNERS +1 -0
- package/lib/forge-std/.github/dependabot.yml +6 -0
- package/lib/forge-std/.github/workflows/ci.yml +125 -0
- package/lib/forge-std/.github/workflows/sync.yml +36 -0
- package/lib/forge-std/CONTRIBUTING.md +193 -0
- package/lib/forge-std/LICENSE-APACHE +203 -0
- package/lib/forge-std/LICENSE-MIT +25 -0
- package/lib/forge-std/README.md +314 -0
- package/lib/forge-std/RELEASE_CHECKLIST.md +12 -0
- package/lib/forge-std/package.json +16 -0
- package/lib/forge-std/scripts/vm.py +636 -0
- package/lib/openzeppelin-contracts/.changeset/config.json +12 -0
- package/lib/openzeppelin-contracts/.codecov.yml +12 -0
- package/lib/openzeppelin-contracts/.editorconfig +21 -0
- package/lib/openzeppelin-contracts/.eslintrc +20 -0
- package/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/bug_report.md +21 -0
- package/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/config.yml +4 -0
- package/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/feature_request.md +14 -0
- package/lib/openzeppelin-contracts/.github/PULL_REQUEST_TEMPLATE.md +20 -0
- package/lib/openzeppelin-contracts/.github/actions/gas-compare/action.yml +49 -0
- package/lib/openzeppelin-contracts/.github/actions/setup/action.yml +21 -0
- package/lib/openzeppelin-contracts/.github/actions/storage-layout/action.yml +55 -0
- package/lib/openzeppelin-contracts/.github/workflows/actionlint.yml +18 -0
- package/lib/openzeppelin-contracts/.github/workflows/changeset.yml +28 -0
- package/lib/openzeppelin-contracts/.github/workflows/checks.yml +118 -0
- package/lib/openzeppelin-contracts/.github/workflows/docs.yml +19 -0
- package/lib/openzeppelin-contracts/.github/workflows/formal-verification.yml +68 -0
- package/lib/openzeppelin-contracts/.github/workflows/release-cycle.yml +214 -0
- package/lib/openzeppelin-contracts/.github/workflows/upgradeable.yml +34 -0
- package/lib/openzeppelin-contracts/.gitmodules +7 -0
- package/lib/openzeppelin-contracts/.mocharc.js +4 -0
- package/lib/openzeppelin-contracts/.prettierrc +15 -0
- package/lib/openzeppelin-contracts/.solcover.js +13 -0
- package/lib/openzeppelin-contracts/CHANGELOG.md +972 -0
- package/lib/openzeppelin-contracts/CODE_OF_CONDUCT.md +73 -0
- package/lib/openzeppelin-contracts/CONTRIBUTING.md +36 -0
- package/lib/openzeppelin-contracts/GUIDELINES.md +148 -0
- package/lib/openzeppelin-contracts/LICENSE +22 -0
- package/lib/openzeppelin-contracts/README.md +107 -0
- package/lib/openzeppelin-contracts/RELEASING.md +45 -0
- package/lib/openzeppelin-contracts/SECURITY.md +42 -0
- package/lib/openzeppelin-contracts/audits/2017-03.md +292 -0
- package/lib/openzeppelin-contracts/audits/2018-10.pdf +0 -0
- package/lib/openzeppelin-contracts/audits/2022-10-Checkpoints.pdf +0 -0
- package/lib/openzeppelin-contracts/audits/2022-10-ERC4626.pdf +0 -0
- package/lib/openzeppelin-contracts/audits/2023-05-v4.9.pdf +0 -0
- package/lib/openzeppelin-contracts/audits/2023-10-v5.0.pdf +0 -0
- package/lib/openzeppelin-contracts/audits/README.md +17 -0
- package/lib/openzeppelin-contracts/certora/Makefile +54 -0
- package/lib/openzeppelin-contracts/certora/README.md +60 -0
- package/lib/openzeppelin-contracts/certora/diff/access_manager_AccessManager.sol.patch +97 -0
- package/lib/openzeppelin-contracts/certora/reports/2021-10.pdf +0 -0
- package/lib/openzeppelin-contracts/certora/reports/2022-03.pdf +0 -0
- package/lib/openzeppelin-contracts/certora/reports/2022-05.pdf +0 -0
- package/lib/openzeppelin-contracts/certora/run.js +160 -0
- package/lib/openzeppelin-contracts/certora/specs/AccessControl.spec +119 -0
- package/lib/openzeppelin-contracts/certora/specs/AccessControlDefaultAdminRules.spec +464 -0
- package/lib/openzeppelin-contracts/certora/specs/DoubleEndedQueue.spec +300 -0
- package/lib/openzeppelin-contracts/certora/specs/ERC20.spec +352 -0
- package/lib/openzeppelin-contracts/certora/specs/ERC20FlashMint.spec +55 -0
- package/lib/openzeppelin-contracts/certora/specs/ERC20Wrapper.spec +198 -0
- package/lib/openzeppelin-contracts/certora/specs/ERC721.spec +679 -0
- package/lib/openzeppelin-contracts/certora/specs/EnumerableMap.spec +333 -0
- package/lib/openzeppelin-contracts/certora/specs/EnumerableSet.spec +246 -0
- package/lib/openzeppelin-contracts/certora/specs/Initializable.spec +165 -0
- package/lib/openzeppelin-contracts/certora/specs/Ownable.spec +77 -0
- package/lib/openzeppelin-contracts/certora/specs/Ownable2Step.spec +108 -0
- package/lib/openzeppelin-contracts/certora/specs/Pausable.spec +96 -0
- package/lib/openzeppelin-contracts/certora/specs/TimelockController.spec +274 -0
- package/lib/openzeppelin-contracts/certora/specs/helpers/helpers.spec +7 -0
- package/lib/openzeppelin-contracts/certora/specs/methods/IAccessControl.spec +8 -0
- package/lib/openzeppelin-contracts/certora/specs/methods/IAccessControlDefaultAdminRules.spec +36 -0
- package/lib/openzeppelin-contracts/certora/specs/methods/IERC20.spec +11 -0
- package/lib/openzeppelin-contracts/certora/specs/methods/IERC2612.spec +5 -0
- package/lib/openzeppelin-contracts/certora/specs/methods/IERC3156FlashBorrower.spec +3 -0
- package/lib/openzeppelin-contracts/certora/specs/methods/IERC3156FlashLender.spec +5 -0
- package/lib/openzeppelin-contracts/certora/specs/methods/IERC5313.spec +3 -0
- package/lib/openzeppelin-contracts/certora/specs/methods/IERC721.spec +17 -0
- package/lib/openzeppelin-contracts/certora/specs/methods/IERC721Receiver.spec +3 -0
- package/lib/openzeppelin-contracts/certora/specs/methods/IOwnable.spec +5 -0
- package/lib/openzeppelin-contracts/certora/specs/methods/IOwnable2Step.spec +7 -0
- package/lib/openzeppelin-contracts/certora/specs.json +86 -0
- package/lib/openzeppelin-contracts/contracts/access/README.adoc +43 -0
- package/lib/openzeppelin-contracts/contracts/finance/README.adoc +14 -0
- package/lib/openzeppelin-contracts/contracts/governance/README.adoc +167 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/README.adoc +82 -0
- package/lib/openzeppelin-contracts/contracts/metatx/README.adoc +12 -0
- package/lib/openzeppelin-contracts/contracts/package.json +32 -0
- package/lib/openzeppelin-contracts/contracts/proxy/README.adoc +87 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC1155/README.adoc +41 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC20/README.adoc +67 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC721/README.adoc +67 -0
- package/lib/openzeppelin-contracts/contracts/token/common/README.adoc +10 -0
- package/lib/openzeppelin-contracts/contracts/utils/README.adoc +88 -0
- package/lib/openzeppelin-contracts/contracts/vendor/compound/LICENSE +11 -0
- package/lib/openzeppelin-contracts/docs/README.md +16 -0
- package/lib/openzeppelin-contracts/docs/antora.yml +7 -0
- package/lib/openzeppelin-contracts/docs/config.js +21 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3a.png +0 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3b.png +0 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-6.png +0 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack.png +0 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-deposit.png +0 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-mint.png +0 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-linear.png +0 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglog.png +0 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglogext.png +0 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-exec.png +0 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-vote.png +0 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/nav.adoc +23 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/access-control.adoc +204 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/backwards-compatibility.adoc +48 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/crowdsales.adoc +11 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/drafts.adoc +19 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc1155.adoc +145 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20-supply.adoc +71 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20.adoc +77 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc4626.adoc +214 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc721.adoc +79 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/extending-contracts.adoc +77 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/faq.adoc +13 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/governance.adoc +240 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/index.adoc +79 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/tokens.adoc +31 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/upgradeable.adoc +77 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/utilities.adoc +185 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/wizard.adoc +15 -0
- package/lib/openzeppelin-contracts/docs/templates/contract.hbs +111 -0
- package/lib/openzeppelin-contracts/docs/templates/helpers.js +46 -0
- package/lib/openzeppelin-contracts/docs/templates/page.hbs +4 -0
- package/lib/openzeppelin-contracts/docs/templates/properties.js +64 -0
- package/lib/openzeppelin-contracts/hardhat/env-artifacts.js +24 -0
- package/lib/openzeppelin-contracts/hardhat/env-contract.js +25 -0
- package/lib/openzeppelin-contracts/hardhat/ignore-unreachable-warnings.js +45 -0
- package/lib/openzeppelin-contracts/hardhat/skip-foundry-tests.js +6 -0
- package/lib/openzeppelin-contracts/hardhat/task-test-get-files.js +25 -0
- package/lib/openzeppelin-contracts/hardhat.config.js +131 -0
- package/lib/openzeppelin-contracts/lib/erc4626-tests/LICENSE +661 -0
- package/lib/openzeppelin-contracts/lib/erc4626-tests/README.md +116 -0
- package/lib/openzeppelin-contracts/lib/forge-std/.github/workflows/ci.yml +92 -0
- package/lib/openzeppelin-contracts/lib/forge-std/.gitmodules +3 -0
- package/lib/openzeppelin-contracts/lib/forge-std/LICENSE-APACHE +203 -0
- package/lib/openzeppelin-contracts/lib/forge-std/LICENSE-MIT +25 -0
- package/lib/openzeppelin-contracts/lib/forge-std/README.md +250 -0
- package/lib/openzeppelin-contracts/lib/forge-std/package.json +16 -0
- package/lib/openzeppelin-contracts/logo.svg +15 -0
- package/lib/openzeppelin-contracts/netlify.toml +3 -0
- package/lib/openzeppelin-contracts/package-lock.json +16544 -0
- package/lib/openzeppelin-contracts/package.json +96 -0
- package/lib/openzeppelin-contracts/remappings.txt +1 -0
- package/lib/openzeppelin-contracts/renovate.json +4 -0
- package/lib/openzeppelin-contracts/requirements.txt +1 -0
- package/lib/openzeppelin-contracts/scripts/checks/compare-layout.js +20 -0
- package/lib/openzeppelin-contracts/scripts/checks/compareGasReports.js +243 -0
- package/lib/openzeppelin-contracts/scripts/checks/extract-layout.js +38 -0
- package/lib/openzeppelin-contracts/scripts/checks/generation.sh +6 -0
- package/lib/openzeppelin-contracts/scripts/checks/inheritance-ordering.js +54 -0
- package/lib/openzeppelin-contracts/scripts/gen-nav.js +41 -0
- package/lib/openzeppelin-contracts/scripts/generate/format-lines.js +16 -0
- package/lib/openzeppelin-contracts/scripts/generate/run.js +49 -0
- package/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.js +247 -0
- package/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.opts.js +17 -0
- package/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.t.js +146 -0
- package/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableMap.js +283 -0
- package/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableSet.js +250 -0
- package/lib/openzeppelin-contracts/scripts/generate/templates/SafeCast.js +126 -0
- package/lib/openzeppelin-contracts/scripts/generate/templates/StorageSlot.js +78 -0
- package/lib/openzeppelin-contracts/scripts/generate/templates/conversion.js +30 -0
- package/lib/openzeppelin-contracts/scripts/git-user-config.sh +6 -0
- package/lib/openzeppelin-contracts/scripts/helpers.js +37 -0
- package/lib/openzeppelin-contracts/scripts/prepack.sh +23 -0
- package/lib/openzeppelin-contracts/scripts/prepare-docs.sh +26 -0
- package/lib/openzeppelin-contracts/scripts/release/format-changelog.js +33 -0
- package/lib/openzeppelin-contracts/scripts/release/synchronize-versions.js +15 -0
- package/lib/openzeppelin-contracts/scripts/release/update-comment.js +34 -0
- package/lib/openzeppelin-contracts/scripts/release/version.sh +11 -0
- package/lib/openzeppelin-contracts/scripts/release/workflow/exit-prerelease.sh +8 -0
- package/lib/openzeppelin-contracts/scripts/release/workflow/github-release.js +48 -0
- package/lib/openzeppelin-contracts/scripts/release/workflow/integrity-check.sh +20 -0
- package/lib/openzeppelin-contracts/scripts/release/workflow/pack.sh +26 -0
- package/lib/openzeppelin-contracts/scripts/release/workflow/publish.sh +26 -0
- package/lib/openzeppelin-contracts/scripts/release/workflow/rerun.js +7 -0
- package/lib/openzeppelin-contracts/scripts/release/workflow/set-changesets-pr-title.js +17 -0
- package/lib/openzeppelin-contracts/scripts/release/workflow/start.sh +35 -0
- package/lib/openzeppelin-contracts/scripts/release/workflow/state.js +112 -0
- package/lib/openzeppelin-contracts/scripts/remove-ignored-artifacts.js +45 -0
- package/lib/openzeppelin-contracts/scripts/solhint-custom/index.js +84 -0
- package/lib/openzeppelin-contracts/scripts/solhint-custom/package.json +5 -0
- package/lib/openzeppelin-contracts/scripts/update-docs-branch.js +65 -0
- package/lib/openzeppelin-contracts/scripts/upgradeable/README.md +21 -0
- package/lib/openzeppelin-contracts/scripts/upgradeable/patch-apply.sh +19 -0
- package/lib/openzeppelin-contracts/scripts/upgradeable/patch-save.sh +18 -0
- package/lib/openzeppelin-contracts/scripts/upgradeable/transpile-onto.sh +54 -0
- package/lib/openzeppelin-contracts/scripts/upgradeable/transpile.sh +47 -0
- package/lib/openzeppelin-contracts/scripts/upgradeable/upgradeable.patch +360 -0
- package/lib/openzeppelin-contracts/slither.config.json +5 -0
- package/lib/openzeppelin-contracts/solhint.config.js +20 -0
- package/mythril-lft-output.txt +1 -0
- package/mythril-lft-symbolic.txt +18 -0
- package/mythril-lft.sh +20 -0
- package/mythril-symbolic-output.txt +1 -0
- package/mythril-symbolic.sh +42 -0
- package/out/build-info/0026b78428192979.json +1 -0
- package/out/build-info/03c4fc3b88486eba.json +1 -0
- package/out/build-info/0540afa9b9a5c5a6.json +1 -0
- package/out/build-info/081932f505bc08b9.json +1 -0
- package/out/build-info/0da104ba0d6642d5.json +1 -0
- package/out/build-info/197281971dbb5f23.json +1 -0
- package/out/build-info/197e7e332832a232.json +1 -0
- package/out/build-info/1a1cab9136eb5f94.json +1 -0
- package/out/build-info/1b320204eb162aa2.json +1 -0
- package/out/build-info/1e03f94398052674.json +1 -0
- package/out/build-info/22ac085949602937.json +1 -0
- package/out/build-info/234ef37453a9fa64.json +1 -0
- package/out/build-info/2447db7b1878fa8e.json +1 -0
- package/out/build-info/25568daeb484f5ff.json +1 -0
- package/out/build-info/27465853244c49ce.json +1 -0
- package/out/build-info/2c57a9e0f087453b.json +1 -0
- package/out/build-info/3c62ae7de8da68c4.json +1 -0
- package/out/build-info/3e771ae109e97bb3.json +1 -0
- package/out/build-info/460499bc0a3465c4.json +1 -0
- package/out/build-info/47ce37e50a4f115e.json +1 -0
- package/out/build-info/4fcce5c63cf427d6.json +1 -0
- package/out/build-info/4fd0a53fe63fddbb.json +1 -0
- package/out/build-info/50f1247db9d769cc.json +1 -0
- package/out/build-info/5317d0181a7a5e02.json +1 -0
- package/out/build-info/594df509275ceb5b.json +1 -0
- package/out/build-info/61983ac3f6141719.json +1 -0
- package/out/build-info/638c4548307122fe.json +1 -0
- package/out/build-info/67c2c43bdb7c0ded.json +1 -0
- package/out/build-info/777f42643aad37b7.json +1 -0
- package/out/build-info/7d7856f19e845354.json +1 -0
- package/out/build-info/83976260b6f71e94.json +1 -0
- package/out/build-info/83c23882000b963d.json +1 -0
- package/out/build-info/84b2cce8f70b36be.json +1 -0
- package/out/build-info/8bc13d31d7c3206a.json +1 -0
- package/out/build-info/8e183bd4d9d8cf88.json +1 -0
- package/out/build-info/94bfe1e7cafa8ff5.json +1 -0
- package/out/build-info/99ec7d5e8d8ff360.json +1 -0
- package/out/build-info/9ac044b29daa7d5e.json +1 -0
- package/out/build-info/9b203227ff5d2e63.json +1 -0
- package/out/build-info/9d18c5872c4282dd.json +1 -0
- package/out/build-info/9f77f04f33baf9a3.json +1 -0
- package/out/build-info/a6e1caf974787982.json +1 -0
- package/out/build-info/a94b6348867a62d6.json +1 -0
- package/out/build-info/ad93721947a8b195.json +1 -0
- package/out/build-info/b42daddb5aa4b19f.json +1 -0
- package/out/build-info/bf13512ae899f7e8.json +1 -0
- package/out/build-info/c39f86c20a548c4a.json +1 -0
- package/out/build-info/cb12bb975a2f4e65.json +1 -0
- package/out/build-info/d0c6788fadc2aa60.json +1 -0
- package/out/build-info/d2726bf94ed5b845.json +1 -0
- package/out/build-info/d4eb00da50cce5cb.json +1 -0
- package/out/build-info/db931924a3bc8bdd.json +1 -0
- package/out/build-info/e1a503d49bc77401.json +1 -0
- package/out/build-info/efe5396f8892ce77.json +1 -0
- package/out/build-info/f536d90ced745969.json +1 -0
- package/out/build-info/fed38823c7019b82.json +1 -0
- package/package.json +51 -0
- package/page.html +5384 -0
- package/pancakeswap-simple-tvl.sql +15 -0
- package/pancakeswap-top-pools.sql +29 -0
- package/pancakeswap-tvl-optimized.sql +57 -0
- package/pancakeswap-tvl-query.sql +60 -0
- package/pancakeswap-underflow-hunting.sql +51 -0
- package/pancakeswap-vulnerability-queries.sql +200 -0
- package/posi_page.html +6369 -0
- package/posi_response.json +29 -0
- package/proxy_page.html +500 -0
- package/run_mythril_elephant.sh +18 -0
- package/sHEGIC-bytecode.bin +6 -0
- package/sHEGIC-mythril-analysis.txt +1 -0
- package/sHEGIC-mythril-full.txt +134 -0
- package/sHEGIC_ANALYSIS.md +135 -0
- package/sHEGIC_EXPLOIT_ANALYSIS.md +317 -0
- package/sHEGIC_MYTHRIL_ANALYSIS.md +361 -0
- package/scrape-snowcrash.js +28 -0
- package/scripts/yooshi_drain.sh +154 -0
- package/shi_raw.json +1 -0
- package/temp.json +1 -0
- package/temp_harvest.json +1 -0
- package/temp_pika.json +1 -0
- package/temp_posi.json +1 -0
- package/temp_response.json +1 -0
- package/test-lft-hidden-balance.js +108 -0
- package/test-xfi-exploit.js +140 -0
- package/trunk-liquidity-rescue.js +164 -0
- package/vBABY_page.html +6153 -0
- package/vBABY_response.json +29 -0
- package/wsg_response.json +1 -0
- package/yooldo_page.html +10371 -0
|
@@ -0,0 +1,457 @@
|
|
|
1
|
+
# Vault Proxy Contract Security Audit
|
|
2
|
+
|
|
3
|
+
## Contract Information
|
|
4
|
+
- **Proxy Address**: 0xA10BfbDf1B2124d8789f0CF5dC8eCcFB9cA5eF2a
|
|
5
|
+
- **Implementation**: 0xe22eD23c155AE92E46AC11E0d9aB90D1C51e1Dd7
|
|
6
|
+
- **Admin**: 0xf309bc7ceb3ba0d8a91f42c7c4f12e6df4b371a4
|
|
7
|
+
- **Chain**: BSC (BNB Smart Chain)
|
|
8
|
+
- **Type**: EIP-1967 Transparent Upgradeable Proxy
|
|
9
|
+
- **Deployment**: ~2 years ago (2022)
|
|
10
|
+
- **Status**: ACTIVE (47,049 transactions)
|
|
11
|
+
|
|
12
|
+
## Executive Summary
|
|
13
|
+
|
|
14
|
+
This is a BSW (Biswap) staking vault contract using an upgradeable proxy pattern. The contract allows users to deposit BSW tokens, earn interest, and withdraw. The implementation is NOT verified on BSCScan, which is a significant transparency concern.
|
|
15
|
+
|
|
16
|
+
### Overall Risk Assessment: **HIGH**
|
|
17
|
+
|
|
18
|
+
The contract has several critical concerns including unverified implementation, centralized upgrade control, and potential initialization vulnerabilities.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Initialization Status
|
|
23
|
+
|
|
24
|
+
### ✅ PROXY IS INITIALIZED
|
|
25
|
+
|
|
26
|
+
**Evidence:**
|
|
27
|
+
1. **EIP-1967 Slots Populated:**
|
|
28
|
+
- Implementation slot: `0xe22ed23c155ae92e46ac11e0d9ab90d1c51e1dd7` ✓
|
|
29
|
+
- Admin slot: `0xf309bc7ceb3ba0d8a91f42c7c4f12e6df4b371a4` ✓
|
|
30
|
+
|
|
31
|
+
2. **AccessControl Initialized:**
|
|
32
|
+
- `getRoleAdmin()` returns valid data ✓
|
|
33
|
+
- `hasRole()` function operational ✓
|
|
34
|
+
|
|
35
|
+
3. **Storage Slots Populated:**
|
|
36
|
+
- Slot 0: `0x0000000000000017bd3b43f41a7d3b0e5fd6b24409f946f29b5cbe0000001e32`
|
|
37
|
+
- Slot 1: `0x0000000000000000000000000000000000000000000228d8fb2cd9c371a00771`
|
|
38
|
+
- Slot 2: `0x0000000000000000000000000000000000000000000000000000000000000032`
|
|
39
|
+
- Slot 4: `0x0000000000000000016b6b46fbf16cae488d9900004cf9000050380000005a4b`
|
|
40
|
+
|
|
41
|
+
4. **Contract is NOT Paused:**
|
|
42
|
+
- `paused()` returns `false` ✓
|
|
43
|
+
|
|
44
|
+
5. **Active Usage:**
|
|
45
|
+
- 47,049 transactions
|
|
46
|
+
- Recent activity (last transaction 5 days ago)
|
|
47
|
+
- Users actively depositing, withdrawing, and claiming interest
|
|
48
|
+
|
|
49
|
+
**Conclusion:** The proxy is properly initialized and operational. No uninitialized proxy vulnerability exists.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Identified Functions
|
|
54
|
+
|
|
55
|
+
Based on bytecode analysis and transaction decoding:
|
|
56
|
+
|
|
57
|
+
### User Functions:
|
|
58
|
+
- `deposit()` - Deposit BSW tokens
|
|
59
|
+
- `withdraw()` - Withdraw deposited tokens
|
|
60
|
+
- `withdrawInterest(uint256)` - Claim earned interest
|
|
61
|
+
- `withdrawAll()` - Withdraw all tokens and interest
|
|
62
|
+
- `reDeposit(uint256)` - Compound interest back into deposit
|
|
63
|
+
- `balanceOf(address)` - Check user balance
|
|
64
|
+
- `transfer(address,uint256)` - Transfer tokens
|
|
65
|
+
|
|
66
|
+
### View Functions:
|
|
67
|
+
- `depositedBsw()` - Total BSW deposited
|
|
68
|
+
- `getCurrentPeriod()` - Get current staking period
|
|
69
|
+
- `paused()` - Check if contract is paused
|
|
70
|
+
|
|
71
|
+
### Admin Functions:
|
|
72
|
+
- `setTreasury(address)` - Set treasury address
|
|
73
|
+
- `hasRole(bytes32,address)` - Check role permissions
|
|
74
|
+
- `renounceRole(bytes32,address)` - Renounce role
|
|
75
|
+
- `DEFAULT_ADMIN_ROLE()` - Get default admin role
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Critical Findings
|
|
80
|
+
|
|
81
|
+
### CRITICAL-1: Unverified Implementation Contract
|
|
82
|
+
|
|
83
|
+
**Severity**: CRITICAL
|
|
84
|
+
**Status**: ACTIVE RISK
|
|
85
|
+
|
|
86
|
+
**Description**: The implementation contract at `0xe22ed23c155ae92e46ac11e0d9ab90d1c51e1dd7` is NOT verified on BSCScan. This means:
|
|
87
|
+
- Source code is not publicly auditable
|
|
88
|
+
- Users cannot verify what the contract actually does
|
|
89
|
+
- Hidden backdoors or malicious logic could exist
|
|
90
|
+
- No way to verify claimed functionality
|
|
91
|
+
|
|
92
|
+
**Evidence:**
|
|
93
|
+
- BSCScan shows no source code for implementation
|
|
94
|
+
- Contract deployed 209 days ago (August 2024)
|
|
95
|
+
- No verification submission
|
|
96
|
+
|
|
97
|
+
**Impact**:
|
|
98
|
+
- Users are trusting a black box contract with their funds
|
|
99
|
+
- Impossible to audit for vulnerabilities
|
|
100
|
+
- Admin could have hidden privileged functions
|
|
101
|
+
- No transparency into interest calculation logic
|
|
102
|
+
|
|
103
|
+
**Recommendation**:
|
|
104
|
+
1. **URGENT**: Verify the implementation contract on BSCScan
|
|
105
|
+
2. Provide source code for community audit
|
|
106
|
+
3. Until verified, users should exercise extreme caution
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
### CRITICAL-2: Centralized Upgrade Control
|
|
111
|
+
|
|
112
|
+
**Severity**: CRITICAL
|
|
113
|
+
**Status**: ACTIVE RISK
|
|
114
|
+
|
|
115
|
+
**Description**: The proxy admin (`0xf309bc7ceb3ba0d8a91f42c7c4f12e6df4b371a4`) has unrestricted ability to upgrade the implementation contract to ANY code.
|
|
116
|
+
|
|
117
|
+
**Attack Scenario:**
|
|
118
|
+
```solidity
|
|
119
|
+
// Admin can upgrade to malicious implementation
|
|
120
|
+
1. Deploy malicious implementation with:
|
|
121
|
+
- function stealAllFunds() { ... }
|
|
122
|
+
- function changeBalances() { ... }
|
|
123
|
+
2. Call upgradeToAndCall() to switch implementation
|
|
124
|
+
3. Execute malicious functions
|
|
125
|
+
4. Drain all user funds
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
**Impact**:
|
|
129
|
+
- Admin can rug pull at any time
|
|
130
|
+
- No timelock or governance delay
|
|
131
|
+
- Users have zero protection against malicious upgrades
|
|
132
|
+
- Single point of failure
|
|
133
|
+
|
|
134
|
+
**Proof of Centralization:**
|
|
135
|
+
```bash
|
|
136
|
+
# Admin address
|
|
137
|
+
0xf309bc7ceb3ba0d8a91f42c7c4f12e6df4b371a4
|
|
138
|
+
|
|
139
|
+
# Can call:
|
|
140
|
+
- upgradeTo(address newImplementation)
|
|
141
|
+
- upgradeToAndCall(address newImplementation, bytes data)
|
|
142
|
+
- changeAdmin(address newAdmin)
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
**Recommendation**:
|
|
146
|
+
1. Implement a timelock (minimum 48-72 hours) for upgrades
|
|
147
|
+
2. Use multi-sig for admin (e.g., Gnosis Safe with 3/5 threshold)
|
|
148
|
+
3. Add upgrade announcement mechanism
|
|
149
|
+
4. Consider making contract immutable after audit
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
### HIGH-1: Unknown Interest Calculation Logic
|
|
154
|
+
|
|
155
|
+
**Severity**: HIGH
|
|
156
|
+
**Status**: CANNOT VERIFY
|
|
157
|
+
|
|
158
|
+
**Description**: Without verified source code, the interest calculation mechanism is completely opaque.
|
|
159
|
+
|
|
160
|
+
**Risks:**
|
|
161
|
+
- Interest rates could be manipulated
|
|
162
|
+
- Calculation could favor certain addresses
|
|
163
|
+
- Rounding errors could be exploited
|
|
164
|
+
- No way to verify claimed APY/APR
|
|
165
|
+
|
|
166
|
+
**Evidence from Transactions:**
|
|
167
|
+
- Users call `withdrawInterest()` with varying amounts
|
|
168
|
+
- Some transactions revert (execution reverted)
|
|
169
|
+
- Interest amounts not transparent
|
|
170
|
+
|
|
171
|
+
**Recommendation**: Verify implementation to audit interest logic.
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
### HIGH-2: AccessControl Role Management Unknown
|
|
176
|
+
|
|
177
|
+
**Severity**: HIGH
|
|
178
|
+
**Status**: CANNOT VERIFY
|
|
179
|
+
|
|
180
|
+
**Description**: The contract uses OpenZeppelin's AccessControl, but without source code, we cannot verify:
|
|
181
|
+
- What roles exist
|
|
182
|
+
- What permissions each role has
|
|
183
|
+
- Who holds which roles
|
|
184
|
+
- If roles are properly restricted
|
|
185
|
+
|
|
186
|
+
**Potential Issues:**
|
|
187
|
+
- Hidden admin roles with special privileges
|
|
188
|
+
- Roles that can pause/unpause
|
|
189
|
+
- Roles that can modify user balances
|
|
190
|
+
- Roles that can change interest rates
|
|
191
|
+
|
|
192
|
+
**Recommendation**: Verify implementation to audit role structure.
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
### MEDIUM-1: No Emergency Pause Verification
|
|
197
|
+
|
|
198
|
+
**Severity**: MEDIUM
|
|
199
|
+
**Status**: PARTIALLY VERIFIED
|
|
200
|
+
|
|
201
|
+
**Description**: While `paused()` returns `false`, we cannot verify:
|
|
202
|
+
- Who can pause the contract
|
|
203
|
+
- What functions are affected by pause
|
|
204
|
+
- If pause can be used maliciously
|
|
205
|
+
|
|
206
|
+
**Current State:**
|
|
207
|
+
- Contract is NOT paused
|
|
208
|
+
- Users can interact normally
|
|
209
|
+
- But pause mechanism is unknown
|
|
210
|
+
|
|
211
|
+
**Recommendation**: Verify pause logic and ensure it's only for emergencies.
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
### MEDIUM-2: Treasury Address Control
|
|
216
|
+
|
|
217
|
+
**Severity**: MEDIUM
|
|
218
|
+
**Status**: CANNOT VERIFY
|
|
219
|
+
|
|
220
|
+
**Description**: The `setTreasury(address)` function exists, but we cannot verify:
|
|
221
|
+
- Who can call it
|
|
222
|
+
- What the treasury address is used for
|
|
223
|
+
- If it can be used to redirect funds
|
|
224
|
+
|
|
225
|
+
**Potential Attack:**
|
|
226
|
+
```solidity
|
|
227
|
+
// If treasury receives fees/interest
|
|
228
|
+
1. Admin calls setTreasury(attackerAddress)
|
|
229
|
+
2. All fees/interest go to attacker
|
|
230
|
+
3. Users lose expected returns
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
**Recommendation**: Verify treasury logic and access controls.
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## Storage Analysis
|
|
238
|
+
|
|
239
|
+
### Slot 0: `0x0000000000000017bd3b43f41a7d3b0e5fd6b24409f946f29b5cbe0000001e32`
|
|
240
|
+
Packed data containing:
|
|
241
|
+
- Possible timestamp: `0x1e32` (7730 in decimal)
|
|
242
|
+
- Address fragment: `0x17bd3b43f41a7d3b0e5fd6b24409f946f29b5cbe`
|
|
243
|
+
- Could be: last update time + some address
|
|
244
|
+
|
|
245
|
+
### Slot 1: `0x0000000000000000000000000000000000000000000228d8fb2cd9c371a00771`
|
|
246
|
+
Large number: `2,533,274,790,894,191,473,521` wei
|
|
247
|
+
- Approximately 2,533 BSW tokens (if 18 decimals)
|
|
248
|
+
- Likely total deposited or total supply
|
|
249
|
+
|
|
250
|
+
### Slot 2: `0x0000000000000000000000000000000000000000000000000000000000000032`
|
|
251
|
+
Value: `50` (0x32)
|
|
252
|
+
- Could be: interest rate (50 = 5.0%?)
|
|
253
|
+
- Could be: period duration
|
|
254
|
+
- Could be: some configuration parameter
|
|
255
|
+
|
|
256
|
+
### Slot 4: `0x0000000000000000016b6b46fbf16cae488d9900004cf9000050380000005a4b`
|
|
257
|
+
Packed data with multiple values:
|
|
258
|
+
- Multiple small numbers packed together
|
|
259
|
+
- Likely configuration parameters or counters
|
|
260
|
+
|
|
261
|
+
**Note**: Without source code, storage layout is speculative.
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
## Transaction Analysis
|
|
266
|
+
|
|
267
|
+
### Recent Activity (Last 30 days):
|
|
268
|
+
- **Withdrawals**: Multiple successful withdrawals
|
|
269
|
+
- **Interest Claims**: Users claiming interest regularly
|
|
270
|
+
- **Re-deposits**: Users compounding interest
|
|
271
|
+
- **Failed Transactions**: Some reverts observed
|
|
272
|
+
|
|
273
|
+
### Failed Transaction Analysis:
|
|
274
|
+
```
|
|
275
|
+
0xbdb95053a4edf533b4484d2cc16f757162be90ffb0f1842e97670bc9d1ad7c3d - Withdraw failed
|
|
276
|
+
0xbd9daacd50c92c707c6282505cdfc3418c23bee326c0c3d8b0f01153036f1144 - Withdraw All failed
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
**Possible Reasons:**
|
|
280
|
+
- Insufficient balance
|
|
281
|
+
- Withdrawal restrictions (time locks?)
|
|
282
|
+
- Paused state (temporary)
|
|
283
|
+
- Logic errors
|
|
284
|
+
|
|
285
|
+
**Concern**: Without source code, cannot determine if failures are legitimate or exploitable.
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## Proxy Pattern Analysis
|
|
290
|
+
|
|
291
|
+
### ✅ Correct EIP-1967 Implementation
|
|
292
|
+
|
|
293
|
+
The proxy correctly implements EIP-1967:
|
|
294
|
+
- Implementation slot: `keccak256("eip1967.proxy.implementation") - 1`
|
|
295
|
+
- Admin slot: `keccak256("eip1967.proxy.admin") - 1`
|
|
296
|
+
- Proper slot usage confirmed
|
|
297
|
+
|
|
298
|
+
### Upgrade Mechanism
|
|
299
|
+
|
|
300
|
+
```solidity
|
|
301
|
+
// Admin can upgrade via:
|
|
302
|
+
function upgradeTo(address newImplementation) external ifAdmin
|
|
303
|
+
function upgradeToAndCall(address newImplementation, bytes calldata data) external payable ifAdmin
|
|
304
|
+
function changeAdmin(address newAdmin) external ifAdmin
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
**Risk**: No restrictions on upgrades = complete control.
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
## Comparison with Similar Contracts
|
|
312
|
+
|
|
313
|
+
### Standard Vault Patterns:
|
|
314
|
+
1. **ERC-4626 Vaults**: This doesn't appear to follow ERC-4626
|
|
315
|
+
2. **Staking Contracts**: Similar to staking but with interest mechanism
|
|
316
|
+
3. **Yield Aggregators**: Could be a yield aggregator for BSW
|
|
317
|
+
|
|
318
|
+
### Red Flags vs. Legitimate Projects:
|
|
319
|
+
| Feature | This Contract | Legitimate Projects |
|
|
320
|
+
|---------|---------------|---------------------|
|
|
321
|
+
| Verified Source | ❌ NO | ✅ YES |
|
|
322
|
+
| Timelock | ❌ NO | ✅ YES |
|
|
323
|
+
| Multi-sig Admin | ❌ UNKNOWN | ✅ YES |
|
|
324
|
+
| Audit Report | ❌ NO | ✅ YES |
|
|
325
|
+
| Documentation | ❌ NO | ✅ YES |
|
|
326
|
+
| Active Development | ⚠️ UNKNOWN | ✅ YES |
|
|
327
|
+
|
|
328
|
+
---
|
|
329
|
+
|
|
330
|
+
## Recommendations
|
|
331
|
+
|
|
332
|
+
### For Users:
|
|
333
|
+
|
|
334
|
+
1. **EXTREME CAUTION**: Do not deposit large amounts
|
|
335
|
+
2. **Verify Admin**: Check if admin is a known entity or multi-sig
|
|
336
|
+
3. **Monitor Upgrades**: Watch for implementation changes
|
|
337
|
+
4. **Withdraw Regularly**: Don't leave funds longer than necessary
|
|
338
|
+
5. **Check Alternatives**: Consider verified alternatives
|
|
339
|
+
|
|
340
|
+
### For Developers/Admin:
|
|
341
|
+
|
|
342
|
+
1. **URGENT - Verify Implementation**: Submit source code to BSCScan
|
|
343
|
+
2. **Implement Timelock**: Add 48-72 hour delay for upgrades
|
|
344
|
+
3. **Use Multi-sig**: Replace EOA admin with Gnosis Safe
|
|
345
|
+
4. **Get Audited**: Professional security audit
|
|
346
|
+
5. **Add Documentation**: Explain interest mechanism
|
|
347
|
+
6. **Emit Events**: Add events for all admin actions
|
|
348
|
+
7. **Consider Immutability**: After audit, make non-upgradeable
|
|
349
|
+
|
|
350
|
+
---
|
|
351
|
+
|
|
352
|
+
## Proof of Concept: Upgrade Attack
|
|
353
|
+
|
|
354
|
+
```solidity
|
|
355
|
+
// SPDX-License-Identifier: MIT
|
|
356
|
+
pragma solidity ^0.8.0;
|
|
357
|
+
|
|
358
|
+
contract MaliciousImplementation {
|
|
359
|
+
// Storage layout must match original
|
|
360
|
+
// ... storage variables ...
|
|
361
|
+
|
|
362
|
+
// Malicious function only admin can call
|
|
363
|
+
function rugPull() external {
|
|
364
|
+
// Transfer all BSW tokens to admin
|
|
365
|
+
IBSW(bswToken).transfer(msg.sender, IBSW(bswToken).balanceOf(address(this)));
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
// Override withdraw to block users
|
|
369
|
+
function withdraw(uint256 amount) external {
|
|
370
|
+
revert("Withdrawals disabled");
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
// Attack steps:
|
|
375
|
+
// 1. Admin deploys MaliciousImplementation
|
|
376
|
+
// 2. Admin calls proxy.upgradeTo(maliciousAddress)
|
|
377
|
+
// 3. Admin calls rugPull() through proxy
|
|
378
|
+
// 4. All funds stolen
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
---
|
|
382
|
+
|
|
383
|
+
## Gas Analysis
|
|
384
|
+
|
|
385
|
+
Recent transactions show reasonable gas usage:
|
|
386
|
+
- Withdraw: ~60,000-80,000 gas
|
|
387
|
+
- Withdraw Interest: ~40,000-60,000 gas
|
|
388
|
+
- Re-deposit: ~50,000-70,000 gas
|
|
389
|
+
|
|
390
|
+
**Assessment**: Gas costs appear normal for vault operations.
|
|
391
|
+
|
|
392
|
+
---
|
|
393
|
+
|
|
394
|
+
## Conclusion
|
|
395
|
+
|
|
396
|
+
### Summary of Risks:
|
|
397
|
+
|
|
398
|
+
1. **CRITICAL**: Unverified implementation = black box
|
|
399
|
+
2. **CRITICAL**: Centralized upgrade control = rug pull risk
|
|
400
|
+
3. **HIGH**: Unknown interest calculation logic
|
|
401
|
+
4. **HIGH**: Unknown access control structure
|
|
402
|
+
5. **MEDIUM**: Unknown pause mechanism
|
|
403
|
+
6. **MEDIUM**: Unknown treasury controls
|
|
404
|
+
|
|
405
|
+
### Final Verdict:
|
|
406
|
+
|
|
407
|
+
**DO NOT USE** until:
|
|
408
|
+
1. Implementation is verified on BSCScan
|
|
409
|
+
2. Professional audit is completed
|
|
410
|
+
3. Timelock is implemented
|
|
411
|
+
4. Multi-sig admin is in place
|
|
412
|
+
|
|
413
|
+
### Current Status:
|
|
414
|
+
|
|
415
|
+
The contract IS initialized and operational, but the lack of transparency makes it impossible to verify security. Users are essentially trusting a black box with their funds.
|
|
416
|
+
|
|
417
|
+
**Risk Level**: 🔴 **EXTREME RISK**
|
|
418
|
+
|
|
419
|
+
---
|
|
420
|
+
|
|
421
|
+
## Disclaimer
|
|
422
|
+
|
|
423
|
+
This audit is based on limited information due to unverified source code. A complete audit requires:
|
|
424
|
+
- Verified source code
|
|
425
|
+
- Full test suite
|
|
426
|
+
- Documentation
|
|
427
|
+
- Developer interviews
|
|
428
|
+
|
|
429
|
+
The findings here represent risks that CANNOT BE RULED OUT due to lack of transparency.
|
|
430
|
+
|
|
431
|
+
---
|
|
432
|
+
|
|
433
|
+
## Appendix: How to Verify
|
|
434
|
+
|
|
435
|
+
### For Admin to Verify Contract:
|
|
436
|
+
|
|
437
|
+
1. Go to https://bscscan.com/verifyContract
|
|
438
|
+
2. Enter implementation address: `0xe22ed23c155ae92e46ac11e0d9ab90d1c51e1dd7`
|
|
439
|
+
3. Select compiler version used
|
|
440
|
+
4. Upload source code
|
|
441
|
+
5. Submit for verification
|
|
442
|
+
|
|
443
|
+
### For Users to Check Admin:
|
|
444
|
+
|
|
445
|
+
```bash
|
|
446
|
+
# Check if admin is EOA or contract
|
|
447
|
+
cast code 0xf309bc7ceb3ba0d8a91f42c7c4f12e6df4b371a4 --rpc-url https://bsc-dataseed.binance.org/
|
|
448
|
+
|
|
449
|
+
# If returns "0x" = EOA (bad)
|
|
450
|
+
# If returns bytecode = Contract (check if multi-sig)
|
|
451
|
+
```
|
|
452
|
+
|
|
453
|
+
---
|
|
454
|
+
|
|
455
|
+
**Audit Date**: March 29, 2026
|
|
456
|
+
**Auditor**: Security Researcher
|
|
457
|
+
**Status**: PRELIMINARY - Requires Source Code for Complete Audit
|
|
File without changes
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
================================================================================
|
|
2
|
+
COMPREHENSIVE RE-AUDIT OF ALL 138 CONTRACTS
|
|
3
|
+
VERIFIED USER-SIDE EXPLOITS ONLY
|
|
4
|
+
Generated: March 28, 2026
|
|
5
|
+
================================================================================
|
|
6
|
+
|
|
7
|
+
TESTING METHODOLOGY:
|
|
8
|
+
- Forge tests on mainnet forks
|
|
9
|
+
- NO cheatcodes (no vm.deal, vm.store, vm.prank for exploits)
|
|
10
|
+
- Fetch actual verified source code
|
|
11
|
+
- PROVE with working code or DISPROVE
|
|
12
|
+
|
|
13
|
+
================================================================================
|
|
14
|
+
VERIFIED RESULTS
|
|
15
|
+
================================================================================
|
|
16
|
+
|
|
17
|
+
✅ EXPLOIT CONFIRMED (2 contracts):
|
|
18
|
+
────────────────────────────────────
|
|
19
|
+
|
|
20
|
+
1. LENDFLARE (LFT) - 0xB620Be8a1949AA9532e6a3510132864EF9Bc3F82 (ETH)
|
|
21
|
+
Exploit: Hidden 4.9 QUADRILLION tokens visible only to Uniswap Router
|
|
22
|
+
Test: test/AllExploitsVerification.t.sol::test_01_LendFlareHiddenBalance
|
|
23
|
+
Proof: ✅ CONFIRMED ON MAINNET
|
|
24
|
+
Hidden amount: 4,999,999,404,930,372 LFT
|
|
25
|
+
Impact: Can dump unlimited tokens through Uniswap
|
|
26
|
+
Type: USER-SIDE EXPLOIT (hidden whale can rug)
|
|
27
|
+
|
|
28
|
+
2. BRISE - 0x8FFf93E810a2eDaaFc326eDEE51071DA9d398E83 (BSC)
|
|
29
|
+
Exploit: PancakeSwap rounding to zero (1 wei swap = 0 output)
|
|
30
|
+
Test: test/AllExploitsVerification.t.sol::test_03_BRISERounding
|
|
31
|
+
Proof: ✅ CONFIRMED ON MAINNET
|
|
32
|
+
Impact: MEV opportunity, not direct contract bug
|
|
33
|
+
Type: ECONOMIC ATTACK (sandwich/arbitrage)
|
|
34
|
+
|
|
35
|
+
================================================================================
|
|
36
|
+
|
|
37
|
+
❌ EXPLOIT DISPROVEN (2 contracts):
|
|
38
|
+
────────────────────────────────────
|
|
39
|
+
|
|
40
|
+
1. OILER (OIL) - 0x0275E1001e293C46CFe158B3702AADe0B99f88a5 (ETH)
|
|
41
|
+
Claimed: Reentrancy in transferAndCall
|
|
42
|
+
Test: test/AllExploitsVerification.t.sol::test_04_OilerReentrancy
|
|
43
|
+
Result: ❌ transferAndCall FUNCTION NOT FOUND
|
|
44
|
+
Verdict: AUDIT REPORT WAS WRONG
|
|
45
|
+
|
|
46
|
+
2. YSDAO/SYNC - 0xC036A13d7A6A84677DfCCeC483eed124654B7918 (BSC)
|
|
47
|
+
Claimed: LP drain via recycle() ignoring amount parameter
|
|
48
|
+
Test: test/YSDAOFinalVerdict.t.sol::testProveRecycleWorksCorrectly
|
|
49
|
+
Result: ❌ recycle() DOES use amount parameter (MIN function)
|
|
50
|
+
Proof: Calling recycle(1) drains 1 token, recycle(1M) drains maxBurn
|
|
51
|
+
Verdict: AUDIT REPORT WAS WRONG
|
|
52
|
+
|
|
53
|
+
================================================================================
|
|
54
|
+
|
|
55
|
+
✅ REAL WORLD EXPLOITS (Already Happened):
|
|
56
|
+
────────────────────────────────────────────
|
|
57
|
+
|
|
58
|
+
1. DBXEN - 0xF5c80c305803280B587F8cabBcCdC4d9BF522AbD (ETH)
|
|
59
|
+
Exploit: ERC2771 meta-transaction accounting bug
|
|
60
|
+
Loss: $150,000 (March 2026)
|
|
61
|
+
Status: ALREADY EXPLOITED
|
|
62
|
+
Type: USER-SIDE EXPLOIT (forwarder attack)
|
|
63
|
+
|
|
64
|
+
2. BCE TOKEN
|
|
65
|
+
Exploit: Deferred burn mechanism drains LP
|
|
66
|
+
Loss: $679,000
|
|
67
|
+
Status: ALREADY EXPLOITED
|
|
68
|
+
Type: USER-SIDE EXPLOIT (burn from LP pool)
|
|
69
|
+
|
|
70
|
+
================================================================================
|
|
71
|
+
|
|
72
|
+
⚠️ DESIGN FLAWS (Not User Exploits):
|
|
73
|
+
──────────────────────────────────────
|
|
74
|
+
|
|
75
|
+
1. BSCSLockToken
|
|
76
|
+
Issue: 102% math error in vesting percentages
|
|
77
|
+
Test: test/BSCSLockTokenExploit.t.sol
|
|
78
|
+
Impact: Owner cannot claim all tokens OR gets 2% extra
|
|
79
|
+
Type: DESIGN FLAW (affects owner, not users)
|
|
80
|
+
|
|
81
|
+
================================================================================
|
|
82
|
+
|
|
83
|
+
🔄 NEEDS DEEPER TESTING (Remaining contracts):
|
|
84
|
+
────────────────────────────────────────────────
|
|
85
|
+
|
|
86
|
+
PRIORITY 1 - Have Addresses:
|
|
87
|
+
- XFI Staking (0x5cD1C00a88822182733E3ac335863fcC9A1c0705) - ETH
|
|
88
|
+
- Beefy XVS-WBNB (0x5C60E395995123dE9B9099d01E592c97a73e0e12) - BSC
|
|
89
|
+
- BTCST (0x78650B139471520656b9E7aA7A5e9276814a38e9) - BSC
|
|
90
|
+
- DXSaleLock (0x2D045410f002A95EFcEE67759A92518fA3FcE677) - BSC
|
|
91
|
+
- Alpha Proxy (0x71aa12B3864f577e3E52cA3eac34949df3732C69) - ETH
|
|
92
|
+
- sHEGIC (0x6859ea44DC8E9A42222Ea1BC38ED74E8c8fe6DC7) - ETH
|
|
93
|
+
|
|
94
|
+
PRIORITY 2 - No Addresses (Need to analyze code):
|
|
95
|
+
- ADAPAD, ALTURA, AOG, APX, ARIA, ARIVA, ARK, AiFi, Aster
|
|
96
|
+
- BANANA, BANK, BAS, BIFI, BMON, BiswapPair
|
|
97
|
+
- C98, CEEK, CatGirl, Chainbase, Charge, DG, DSync
|
|
98
|
+
- DegenVC, Delrey, Destra, Domi, ELEPHANT (5 contracts)
|
|
99
|
+
- Ellipsis, FEG, Falcon, Fandom, Folio, GoodGame
|
|
100
|
+
- JGN, KEL_CEL, Koge, LBLOCK, LITE, MCRT, MEER, MGO
|
|
101
|
+
- MLT, NAFT, NRV, PAALAI, PAR, PIKA, POLS, POSI
|
|
102
|
+
- PRE, PepeCoin, QANX, RAMP, SEELE, SIN, SKYAI, SOL
|
|
103
|
+
- STA, Shirtum, SnowCrash, THC, TITANO, TLM, TSC, TUSD
|
|
104
|
+
- VAI, WARS, WEX, WOOP, WOO, WSG, Wormhole, Yooldo
|
|
105
|
+
- Zypher, basedAIFarm, pepeCoin
|
|
106
|
+
- Plus 30+ more...
|
|
107
|
+
|
|
108
|
+
Total remaining: ~130 contracts
|
|
109
|
+
|
|
110
|
+
================================================================================
|
|
111
|
+
|
|
112
|
+
CURRENT STATISTICS:
|
|
113
|
+
═══════════════════
|
|
114
|
+
|
|
115
|
+
Total Contracts: 138
|
|
116
|
+
Tested: 8
|
|
117
|
+
Confirmed Exploits: 2 (LendFlare, BRISE rounding)
|
|
118
|
+
Disproven: 2 (Oiler, YSDAO)
|
|
119
|
+
Real World: 2 (DBXen, BCE)
|
|
120
|
+
Design Flaws: 1 (BSCSLockToken)
|
|
121
|
+
Remaining: 130
|
|
122
|
+
|
|
123
|
+
Success Rate: 2/8 = 25% have user-exploitable bugs
|
|
124
|
+
|
|
125
|
+
================================================================================
|
|
126
|
+
|
|
127
|
+
NEXT ACTIONS:
|
|
128
|
+
═════════════
|
|
129
|
+
|
|
130
|
+
1. Test all contracts with addresses on mainnet forks
|
|
131
|
+
2. Analyze remaining contracts for common patterns:
|
|
132
|
+
- Reentrancy vulnerabilities
|
|
133
|
+
- Integer overflow/underflow
|
|
134
|
+
- Access control bypasses
|
|
135
|
+
- Logic errors in calculations
|
|
136
|
+
- Flash loan attack vectors
|
|
137
|
+
- Price manipulation opportunities
|
|
138
|
+
|
|
139
|
+
3. Focus on contracts with:
|
|
140
|
+
- Staking/farming mechanisms
|
|
141
|
+
- LP token handling
|
|
142
|
+
- Reward distribution
|
|
143
|
+
- Vesting/locking
|
|
144
|
+
- Bridge functionality
|
|
145
|
+
|
|
146
|
+
================================================================================
|