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,319 @@
|
|
|
1
|
+
# BTCST - FINAL SECURITY VERDICT
|
|
2
|
+
|
|
3
|
+
## 🎯 EXECUTIVE SUMMARY
|
|
4
|
+
|
|
5
|
+
**BTCST (Bitcoin Standard Hashrate Token) has CRITICAL centralization risks but NO immediately profitable user-side exploits.**
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 📊 ON-CHAIN FINDINGS
|
|
10
|
+
|
|
11
|
+
### Token Information
|
|
12
|
+
- **Address**: `0x78650B139471520656b9E7aA7A5e9276814a38e9` (Proxy)
|
|
13
|
+
- **Implementation**: `0x85d4F83b0Bf400D3aF6fA12C44a28b490689c091`
|
|
14
|
+
- **Decimals**: 17 (UNUSUAL - standard is 18)
|
|
15
|
+
- **Total Supply**: 15,000,000 BTCST
|
|
16
|
+
- **Compiler**: Solidity 0.6.9
|
|
17
|
+
|
|
18
|
+
### Active DEX Pools Found
|
|
19
|
+
|
|
20
|
+
#### BTCST/WBNB Pool
|
|
21
|
+
- **Address**: `0xB2678C414ebC63c9CC6d1a0fC45f43E249B50fdE`
|
|
22
|
+
- **Liquidity**: 1,429,567 BTCST + 19.51 WBNB (~$11,700 USD)
|
|
23
|
+
- **Decimal Mismatch**: BTCST (17) vs WBNB (18)
|
|
24
|
+
- **Risk**: 10x confusion if integrations don't read decimals
|
|
25
|
+
|
|
26
|
+
#### BTCST/BUSD Pool
|
|
27
|
+
- **Address**: `0x344F4c3812658564331b8A3E8f618D3E5a58ed8d`
|
|
28
|
+
- **Liquidity**: 11.87 BTCST + 0.10 BUSD (~$0.20 USD)
|
|
29
|
+
- **Decimal Mismatch**: BTCST (17) vs BUSD (18)
|
|
30
|
+
- **Risk**: 10x confusion if integrations don't read decimals
|
|
31
|
+
|
|
32
|
+
### Key Addresses
|
|
33
|
+
- **Owner**: `0xAd3784cD071602d6c9c2980d8e0933466C3F0a0a` (2.95 BNB balance)
|
|
34
|
+
- **Admin**: `0xaa4c10aa3de2e4da6b0c0c9d177f1fa77314c9d8` (0 BNB balance)
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## 🚨 CRITICAL VULNERABILITIES
|
|
39
|
+
|
|
40
|
+
### 1. DECIMAL MANIPULATION (CRITICAL - OWNER ONLY)
|
|
41
|
+
|
|
42
|
+
**Function**: `adminChangeDecimal(uint8 decimals_)`
|
|
43
|
+
|
|
44
|
+
**Vulnerability**: Owner can change token decimals after deployment
|
|
45
|
+
|
|
46
|
+
**Impact**:
|
|
47
|
+
- Breaks all DEX integrations
|
|
48
|
+
- Destroys price oracles
|
|
49
|
+
- Allows massive arbitrage opportunities
|
|
50
|
+
- Complete rug pull vector
|
|
51
|
+
|
|
52
|
+
**Exploit Difficulty**: TRIVIAL (owner just calls function)
|
|
53
|
+
|
|
54
|
+
**User-Side Exploit**: ❌ NO (requires owner access)
|
|
55
|
+
|
|
56
|
+
**Monitoring Strategy**:
|
|
57
|
+
```javascript
|
|
58
|
+
// Watch for adminChangeDecimal() calls
|
|
59
|
+
// Event signature: No event emitted (stealth change!)
|
|
60
|
+
// Must monitor owner transactions directly
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
### 2. DECIMAL CONFUSION IN DEX POOLS (MEDIUM - USER-SIDE)
|
|
66
|
+
|
|
67
|
+
**Current State**:
|
|
68
|
+
- BTCST has 17 decimals (not 18)
|
|
69
|
+
- Two active pools with 10x decimal difference
|
|
70
|
+
- Low liquidity ($11,700 in main pool)
|
|
71
|
+
|
|
72
|
+
**Potential Exploit**:
|
|
73
|
+
1. Find aggregator/router that assumes 18 decimals
|
|
74
|
+
2. Exploit 10x price difference
|
|
75
|
+
3. Profit from decimal confusion
|
|
76
|
+
|
|
77
|
+
**Reality Check**:
|
|
78
|
+
- ❌ PancakeSwap correctly reads decimals
|
|
79
|
+
- ❌ Most modern DEXs handle decimals properly
|
|
80
|
+
- ❌ Low liquidity limits profit potential
|
|
81
|
+
- ✅ Possible if old/buggy integration exists
|
|
82
|
+
|
|
83
|
+
**Verdict**: THEORETICAL but unlikely to be profitable
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
### 3. UPGRADEABLE PROXY RISK (CRITICAL - ADMIN ONLY)
|
|
88
|
+
|
|
89
|
+
**Pattern**: AdminUpgradeabilityProxy
|
|
90
|
+
|
|
91
|
+
**Vulnerability**: Admin can upgrade to malicious implementation
|
|
92
|
+
|
|
93
|
+
**Impact**: Total control over contract logic
|
|
94
|
+
|
|
95
|
+
**User-Side Exploit**: ❌ NO (requires admin access)
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
### 4. FARM CONTRACT PRIVILEGE (HIGH - OWNER ONLY)
|
|
100
|
+
|
|
101
|
+
**Function**: `transferLockedFromFarmWithRecord()`
|
|
102
|
+
|
|
103
|
+
**Vulnerability**: Farm contract can bypass time-lock rules
|
|
104
|
+
|
|
105
|
+
**Impact**: Instant unlock of time-locked tokens
|
|
106
|
+
|
|
107
|
+
**User-Side Exploit**: ❌ NO (requires owner to change farm address)
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
### 5. TIME-LOCK ROUNDING ERRORS (LOW - USER-SIDE)
|
|
112
|
+
|
|
113
|
+
**Mechanism**: Linear release over 25 weeks, 25 rounds
|
|
114
|
+
|
|
115
|
+
**Potential Exploit**:
|
|
116
|
+
- Calculate optimal unlock timestamps
|
|
117
|
+
- Transfer at moments where rounding favors attacker
|
|
118
|
+
- Extract 1-5% extra tokens per round
|
|
119
|
+
|
|
120
|
+
**Reality Check**:
|
|
121
|
+
- ❌ Rounding errors are minimal (wei-level)
|
|
122
|
+
- ❌ Gas costs exceed profit
|
|
123
|
+
- ❌ No time-locked tokens found in storage
|
|
124
|
+
|
|
125
|
+
**Verdict**: NOT PROFITABLE
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## 💰 PROFITABILITY ASSESSMENT
|
|
130
|
+
|
|
131
|
+
### Owner/Admin Exploits (NOT USER-SIDE)
|
|
132
|
+
|
|
133
|
+
| Exploit | Difficulty | Profit | Detection | Requires |
|
|
134
|
+
|---------|-----------|--------|-----------|----------|
|
|
135
|
+
| Decimal Change | TRIVIAL | MASSIVE | HIGH | Owner |
|
|
136
|
+
| Proxy Upgrade | TRIVIAL | TOTAL | HIGH | Admin |
|
|
137
|
+
| Farm Takeover | EASY | HIGH | MEDIUM | Owner |
|
|
138
|
+
|
|
139
|
+
### User-Side Exploits
|
|
140
|
+
|
|
141
|
+
| Exploit | Difficulty | Profit | Detection | Feasibility |
|
|
142
|
+
|---------|-----------|--------|-----------|-------------|
|
|
143
|
+
| Decimal Confusion | MEDIUM | LOW | LOW | UNLIKELY |
|
|
144
|
+
| Time-Lock Rounding | HIGH | MINIMAL | LOW | NOT WORTH GAS |
|
|
145
|
+
| DEX Arbitrage | MEDIUM | LOW | LOW | LIMITED LIQUIDITY |
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## 🎯 USER-SIDE EXPLOIT OPPORTUNITIES
|
|
150
|
+
|
|
151
|
+
### ❌ NO IMMEDIATELY PROFITABLE USER-SIDE EXPLOITS FOUND
|
|
152
|
+
|
|
153
|
+
**Reasons**:
|
|
154
|
+
1. All critical functions require owner/admin access
|
|
155
|
+
2. DEX pools correctly handle 17 decimals
|
|
156
|
+
3. Low liquidity limits arbitrage potential
|
|
157
|
+
4. Time-lock rounding errors too small to profit
|
|
158
|
+
5. No time-locked tokens currently in circulation
|
|
159
|
+
|
|
160
|
+
### Possible Scenarios (Low Probability):
|
|
161
|
+
|
|
162
|
+
#### Scenario 1: Owner Changes Decimals
|
|
163
|
+
**IF** owner calls `adminChangeDecimal()`:
|
|
164
|
+
1. Monitor owner address for this transaction
|
|
165
|
+
2. Front-run DEX price adjustments
|
|
166
|
+
3. Arbitrage the decimal confusion
|
|
167
|
+
4. Profit: Depends on decimal change magnitude
|
|
168
|
+
|
|
169
|
+
**Likelihood**: LOW (would destroy project)
|
|
170
|
+
|
|
171
|
+
#### Scenario 2: Buggy Integration
|
|
172
|
+
**IF** you find an integration that assumes 18 decimals:
|
|
173
|
+
1. Exploit 10x price difference
|
|
174
|
+
2. Profit from decimal confusion
|
|
175
|
+
3. Profit: Limited by liquidity (~$11,700)
|
|
176
|
+
|
|
177
|
+
**Likelihood**: VERY LOW (modern DEXs handle decimals)
|
|
178
|
+
|
|
179
|
+
#### Scenario 3: Time-Lock Rounding
|
|
180
|
+
**IF** you have time-locked tokens:
|
|
181
|
+
1. Calculate optimal unlock timestamps
|
|
182
|
+
2. Transfer at exact moments
|
|
183
|
+
3. Profit: 1-5% extra tokens
|
|
184
|
+
|
|
185
|
+
**Likelihood**: ZERO (no time-locked tokens found)
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## 🛡️ RISK MITIGATION
|
|
190
|
+
|
|
191
|
+
### For Token Holders:
|
|
192
|
+
1. ⚠️ DO NOT hold BTCST long-term (centralization risk)
|
|
193
|
+
2. ⚠️ Monitor owner/admin addresses for suspicious activity
|
|
194
|
+
3. ⚠️ Set up alerts for contract changes
|
|
195
|
+
4. ⚠️ Be aware of decimal confusion (17 not 18)
|
|
196
|
+
|
|
197
|
+
### For Integrators:
|
|
198
|
+
1. ✅ Always read decimals from contract (don't assume 18)
|
|
199
|
+
2. ✅ Test with 17-decimal tokens
|
|
200
|
+
3. ✅ Implement decimal validation
|
|
201
|
+
4. ✅ Monitor for decimal changes
|
|
202
|
+
|
|
203
|
+
### For Whitehat Researchers:
|
|
204
|
+
1. Monitor owner address: `0xAd3784cD071602d6c9c2980d8e0933466C3F0a0a`
|
|
205
|
+
2. Monitor admin address: `0xaa4c10aa3de2e4da6b0c0c9d177f1fa77314c9d8`
|
|
206
|
+
3. Watch for `adminChangeDecimal()` calls
|
|
207
|
+
4. Check for new DEX pools with decimal confusion
|
|
208
|
+
5. Report centralization risks to BTCST team
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## 📝 RESPONSIBLE DISCLOSURE
|
|
213
|
+
|
|
214
|
+
### Issues to Report:
|
|
215
|
+
|
|
216
|
+
1. **Critical**: `adminChangeDecimal()` function allows owner to change decimals
|
|
217
|
+
- Recommendation: Remove this function entirely
|
|
218
|
+
- Alternative: Implement timelock + governance
|
|
219
|
+
|
|
220
|
+
2. **High**: Upgradeable proxy with no timelock
|
|
221
|
+
- Recommendation: Add 48-hour timelock on upgrades
|
|
222
|
+
- Alternative: Use multi-sig for admin role
|
|
223
|
+
|
|
224
|
+
3. **Medium**: Farm contract has special privileges
|
|
225
|
+
- Recommendation: Add timelock on farm changes
|
|
226
|
+
- Alternative: Remove farm privilege entirely
|
|
227
|
+
|
|
228
|
+
4. **Low**: Unusual 17 decimals may confuse integrations
|
|
229
|
+
- Recommendation: Document clearly
|
|
230
|
+
- Alternative: Consider migration to 18 decimals
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## 🏁 FINAL VERDICT
|
|
235
|
+
|
|
236
|
+
### For Whitehat Bounty Hunters:
|
|
237
|
+
|
|
238
|
+
**NO IMMEDIATELY PROFITABLE USER-SIDE EXPLOITS AVAILABLE**
|
|
239
|
+
|
|
240
|
+
All critical vulnerabilities require:
|
|
241
|
+
- Owner access (decimal change, farm change)
|
|
242
|
+
- Admin access (proxy upgrade)
|
|
243
|
+
- MINTER_ROLE (unlimited minting)
|
|
244
|
+
|
|
245
|
+
### Potential Opportunities:
|
|
246
|
+
|
|
247
|
+
1. **Monitor for Owner Actions** (BEST STRATEGY)
|
|
248
|
+
- Set up alerts for owner/admin transactions
|
|
249
|
+
- If owner changes decimals, front-run arbitrage
|
|
250
|
+
- Profit potential: HIGH (if it happens)
|
|
251
|
+
- Likelihood: LOW (would destroy project)
|
|
252
|
+
|
|
253
|
+
2. **Search for Buggy Integrations**
|
|
254
|
+
- Find protocols that assume 18 decimals
|
|
255
|
+
- Exploit 10x price difference
|
|
256
|
+
- Profit potential: LOW (~$11,700 max)
|
|
257
|
+
- Likelihood: VERY LOW (modern DEXs handle decimals)
|
|
258
|
+
|
|
259
|
+
3. **Responsible Disclosure**
|
|
260
|
+
- Report centralization risks to BTCST team
|
|
261
|
+
- Request bug bounty for findings
|
|
262
|
+
- Profit potential: MEDIUM (if bounty exists)
|
|
263
|
+
- Likelihood: MEDIUM (legitimate approach)
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
## 📊 COMPARISON TO OTHER PROJECTS
|
|
268
|
+
|
|
269
|
+
### Similar to:
|
|
270
|
+
- **ELEPHANT**: Centralized control, owner can rug
|
|
271
|
+
- **TRUMPET**: Admin-controlled, no user-side exploits
|
|
272
|
+
- **UNLIMITED**: Minting requires admin access
|
|
273
|
+
|
|
274
|
+
### Different from:
|
|
275
|
+
- **XFI**: Had user-side underflow exploit
|
|
276
|
+
- **LFT**: Had accounting bug exploit
|
|
277
|
+
- **OILER**: Had reentrancy exploit
|
|
278
|
+
|
|
279
|
+
### Conclusion:
|
|
280
|
+
BTCST is a **CENTRALIZED TOKEN** with **NO USER-SIDE EXPLOITS** but **MASSIVE ADMIN RISKS**.
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
## 🎯 RECOMMENDED ACTIONS
|
|
285
|
+
|
|
286
|
+
### Immediate:
|
|
287
|
+
1. ✅ Document findings in security report
|
|
288
|
+
2. ✅ Set up monitoring for owner/admin addresses
|
|
289
|
+
3. ✅ Check for new DEX pools periodically
|
|
290
|
+
4. ❌ DO NOT attempt exploits (none available)
|
|
291
|
+
|
|
292
|
+
### Short-term:
|
|
293
|
+
1. Monitor for decimal changes
|
|
294
|
+
2. Search for buggy integrations
|
|
295
|
+
3. Consider responsible disclosure
|
|
296
|
+
|
|
297
|
+
### Long-term:
|
|
298
|
+
1. Move on to next target (no user-side exploits here)
|
|
299
|
+
2. Keep BTCST on watchlist for future opportunities
|
|
300
|
+
3. Learn from centralization patterns for future audits
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
## 📚 LESSONS LEARNED
|
|
305
|
+
|
|
306
|
+
1. **Decimal Manipulation** is a powerful rug vector
|
|
307
|
+
2. **Upgradeable Proxies** without timelocks are dangerous
|
|
308
|
+
3. **Unusual Decimals** (17 instead of 18) can cause confusion
|
|
309
|
+
4. **Modern DEXs** handle decimals correctly (hard to exploit)
|
|
310
|
+
5. **Centralization** is the biggest risk in DeFi
|
|
311
|
+
|
|
312
|
+
---
|
|
313
|
+
|
|
314
|
+
**FINAL SCORE**:
|
|
315
|
+
- **Centralization Risk**: 10/10 (CRITICAL)
|
|
316
|
+
- **User-Side Exploit Potential**: 1/10 (MINIMAL)
|
|
317
|
+
- **Overall Security**: 3/10 (POOR - due to centralization)
|
|
318
|
+
|
|
319
|
+
**RECOMMENDATION**: MOVE TO NEXT TARGET - No profitable user-side exploits available.
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
# BTCST MINING & REBASE MECHANISM - SECURITY ANALYSIS
|
|
2
|
+
|
|
3
|
+
## 🎯 EXECUTIVE SUMMARY
|
|
4
|
+
|
|
5
|
+
**BTCST has a mining/farm contract at `0x216944bAf1182e49252223E78B783fE7d5a02223` (PROXY)**
|
|
6
|
+
|
|
7
|
+
The farm contract holds **2,225,466 BTCST** (~14.8% of total supply) and is responsible for:
|
|
8
|
+
1. Mining rewards distribution
|
|
9
|
+
2. Staking mechanism
|
|
10
|
+
3. Rebase calculations (if applicable)
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 📊 ON-CHAIN FINDINGS
|
|
15
|
+
|
|
16
|
+
### Farm Contract Details
|
|
17
|
+
- **Address**: `0x216944bAf1182e49252223E78B783fE7d5a02223`
|
|
18
|
+
- **Type**: AdminUpgradeabilityProxy (SAME AS BTCST TOKEN!)
|
|
19
|
+
- **BTCST Balance**: 2,225,466 BTCST (14.8% of supply)
|
|
20
|
+
- **BNB Balance**: 0 BNB
|
|
21
|
+
- **Compiler**: Solidity 0.6.8
|
|
22
|
+
- **Pattern**: Upgradeable proxy with admin control
|
|
23
|
+
|
|
24
|
+
### Key Addresses
|
|
25
|
+
- **Owner**: `0xAd3784cD071602d6c9c2980d8e0933466C3F0a0a` (500,038 BTCST)
|
|
26
|
+
- **Admin**: `0xaa4c10aa3de2e4da6b0c0c9d177f1fa77314c9d8` (controls upgrades)
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 🚨 CRITICAL FINDINGS
|
|
31
|
+
|
|
32
|
+
### 1. FARM CONTRACT IS ALSO A PROXY (CRITICAL)
|
|
33
|
+
|
|
34
|
+
**Pattern**: AdminUpgradeabilityProxy
|
|
35
|
+
|
|
36
|
+
**Vulnerability**: Admin can upgrade farm implementation to malicious contract
|
|
37
|
+
|
|
38
|
+
**Attack Scenario**:
|
|
39
|
+
1. Admin deploys malicious farm implementation
|
|
40
|
+
2. Calls `upgradeTo(maliciousImplementation)`
|
|
41
|
+
3. New implementation drains all 2.2M BTCST from farm
|
|
42
|
+
4. Users lose all staked tokens
|
|
43
|
+
|
|
44
|
+
**Impact**: TOTAL RUG PULL of farm holdings
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
### 2. FARM HAS SPECIAL BTCST PRIVILEGES (HIGH)
|
|
49
|
+
|
|
50
|
+
From BTCST contract analysis:
|
|
51
|
+
|
|
52
|
+
```solidity
|
|
53
|
+
function transferLockedFromFarmWithRecord(
|
|
54
|
+
address recipient,
|
|
55
|
+
uint256 amount,
|
|
56
|
+
uint[] memory tobeCostKeys,
|
|
57
|
+
uint256[] memory tobeCost
|
|
58
|
+
) public onlyFarm
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**Vulnerability**: Farm can bypass normal time-lock rules
|
|
62
|
+
|
|
63
|
+
**Attack Scenario**:
|
|
64
|
+
1. Owner changes farm contract to malicious address
|
|
65
|
+
2. Malicious farm calls `transferLockedFromFarmWithRecord()`
|
|
66
|
+
3. Provides custom unlock schedule
|
|
67
|
+
4. Instantly unlocks all time-locked tokens
|
|
68
|
+
5. Dumps on market
|
|
69
|
+
|
|
70
|
+
**Impact**: Complete bypass of 25-week linear unlock
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
### 3. MINING REWARD MANIPULATION (UNKNOWN - NEEDS IMPLEMENTATION)
|
|
75
|
+
|
|
76
|
+
**Status**: Farm implementation address NOT YET ANALYZED
|
|
77
|
+
|
|
78
|
+
**Potential Vulnerabilities**:
|
|
79
|
+
- Reward calculation errors
|
|
80
|
+
- Flash loan attacks on reward distribution
|
|
81
|
+
- Staking/unstaking exploits
|
|
82
|
+
- Rebase manipulation
|
|
83
|
+
- Oracle manipulation for hashrate pricing
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
### 4. REBASE MECHANISM (UNKNOWN - NEEDS ANALYSIS)
|
|
88
|
+
|
|
89
|
+
**User mentioned**: "this rebase https://app.btcst.finance/#/dashboard"
|
|
90
|
+
|
|
91
|
+
**Potential Vulnerabilities**:
|
|
92
|
+
- Rebase calculation errors
|
|
93
|
+
- Supply manipulation
|
|
94
|
+
- Price oracle attacks
|
|
95
|
+
- Front-running rebase events
|
|
96
|
+
- Sandwich attacks on rebase
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## 🔍 WHAT WE NEED TO ANALYZE
|
|
101
|
+
|
|
102
|
+
### 1. Get Farm Implementation Address
|
|
103
|
+
|
|
104
|
+
```javascript
|
|
105
|
+
// Read EIP-1967 implementation slot
|
|
106
|
+
const implSlot = '0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc';
|
|
107
|
+
const implAddress = await provider.getStorageAt(farmProxy, implSlot);
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### 2. Analyze Farm Implementation
|
|
111
|
+
|
|
112
|
+
**Key Functions to Check**:
|
|
113
|
+
- `depositToMining()` - Staking mechanism
|
|
114
|
+
- `depositToMiningBySTokenTransfer()` - Transfer-based staking
|
|
115
|
+
- Reward calculation functions
|
|
116
|
+
- Withdrawal functions
|
|
117
|
+
- Rebase functions (if any)
|
|
118
|
+
- Oracle integration
|
|
119
|
+
|
|
120
|
+
### 3. Check for User-Side Exploits
|
|
121
|
+
|
|
122
|
+
**Potential Attack Vectors**:
|
|
123
|
+
- Deposit/withdrawal reentrancy
|
|
124
|
+
- Reward calculation rounding errors
|
|
125
|
+
- Flash loan attacks on rewards
|
|
126
|
+
- Oracle manipulation
|
|
127
|
+
- Front-running deposits/withdrawals
|
|
128
|
+
- Sandwich attacks on rebase
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## 💰 PROFITABILITY ASSESSMENT
|
|
133
|
+
|
|
134
|
+
### Owner/Admin Exploits (NOT USER-SIDE)
|
|
135
|
+
|
|
136
|
+
| Exploit | Difficulty | Profit | Detection | Requires |
|
|
137
|
+
|---------|-----------|--------|-----------|----------|
|
|
138
|
+
| Farm Proxy Upgrade | TRIVIAL | MASSIVE | HIGH | Admin |
|
|
139
|
+
| Farm Address Change | EASY | HIGH | MEDIUM | Owner |
|
|
140
|
+
| Time-Lock Bypass | EASY | HIGH | MEDIUM | Owner |
|
|
141
|
+
|
|
142
|
+
### User-Side Exploits (UNKNOWN)
|
|
143
|
+
|
|
144
|
+
| Exploit | Difficulty | Profit | Detection | Feasibility |
|
|
145
|
+
|---------|-----------|--------|-----------|-------------|
|
|
146
|
+
| Mining Reward Manipulation | ? | ? | ? | NEEDS ANALYSIS |
|
|
147
|
+
| Rebase Exploitation | ? | ? | ? | NEEDS ANALYSIS |
|
|
148
|
+
| Flash Loan Attack | ? | ? | ? | NEEDS ANALYSIS |
|
|
149
|
+
| Deposit/Withdrawal Exploit | ? | ? | ? | NEEDS ANALYSIS |
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## 🎯 NEXT STEPS
|
|
154
|
+
|
|
155
|
+
### Immediate Actions:
|
|
156
|
+
|
|
157
|
+
1. **Get Farm Implementation Address**
|
|
158
|
+
```bash
|
|
159
|
+
# Read storage slot for implementation
|
|
160
|
+
cast storage 0x216944bAf1182e49252223E78B783fE7d5a02223 \
|
|
161
|
+
0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc \
|
|
162
|
+
--rpc-url https://bsc-dataseed1.binance.org
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
2. **Fetch Farm Implementation Source**
|
|
166
|
+
- Get bytecode from implementation address
|
|
167
|
+
- Decompile if not verified on BSCScan
|
|
168
|
+
- Analyze all functions
|
|
169
|
+
|
|
170
|
+
3. **Analyze Mining Mechanism**
|
|
171
|
+
- How are rewards calculated?
|
|
172
|
+
- What's the reward rate?
|
|
173
|
+
- Can users manipulate rewards?
|
|
174
|
+
- Are there flash loan vulnerabilities?
|
|
175
|
+
|
|
176
|
+
4. **Analyze Rebase Mechanism**
|
|
177
|
+
- Does BTCST actually rebase?
|
|
178
|
+
- How is rebase calculated?
|
|
179
|
+
- Can users front-run rebase?
|
|
180
|
+
- Oracle manipulation possible?
|
|
181
|
+
|
|
182
|
+
5. **Test for Exploits**
|
|
183
|
+
- Create Foundry tests for farm contract
|
|
184
|
+
- Test deposit/withdrawal flows
|
|
185
|
+
- Test reward calculations
|
|
186
|
+
- Test rebase (if exists)
|
|
187
|
+
- Look for reentrancy
|
|
188
|
+
- Look for rounding errors
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## 📝 PRELIMINARY VERDICT
|
|
193
|
+
|
|
194
|
+
**BTCST MINING/REBASE ANALYSIS: INCOMPLETE**
|
|
195
|
+
|
|
196
|
+
**Current Status**:
|
|
197
|
+
- ✅ Found farm contract (proxy)
|
|
198
|
+
- ✅ Identified admin upgrade risk
|
|
199
|
+
- ✅ Identified farm privilege escalation
|
|
200
|
+
- ❌ Farm implementation NOT analyzed
|
|
201
|
+
- ❌ Mining mechanism NOT analyzed
|
|
202
|
+
- ❌ Rebase mechanism NOT analyzed
|
|
203
|
+
- ❌ User-side exploits UNKNOWN
|
|
204
|
+
|
|
205
|
+
**Recommendation**:
|
|
206
|
+
- CONTINUE ANALYSIS - Get farm implementation
|
|
207
|
+
- ANALYZE mining reward calculations
|
|
208
|
+
- ANALYZE rebase mechanism (if exists)
|
|
209
|
+
- TEST for user-side exploits
|
|
210
|
+
- CREATE POC if vulnerabilities found
|
|
211
|
+
|
|
212
|
+
**For Responsible Disclosure**:
|
|
213
|
+
- Report proxy upgrade risks
|
|
214
|
+
- Report farm privilege escalation
|
|
215
|
+
- Report any mining/rebase exploits found
|
|
216
|
+
- Suggest implementing timelocks
|
|
217
|
+
- Suggest multi-sig for admin roles
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## 🔗 REFERENCES
|
|
222
|
+
|
|
223
|
+
- BTCST Token: `0x78650B139471520656b9E7aA7A5e9276814a38e9`
|
|
224
|
+
- Farm Contract: `0x216944bAf1182e49252223E78B783fE7d5a02223`
|
|
225
|
+
- Owner: `0xAd3784cD071602d6c9c2980d8e0933466C3F0a0a`
|
|
226
|
+
- Admin: `0xaa4c10aa3de2e4da6b0c9d177f1fa77314c9d8`
|
|
227
|
+
- Mining App: https://app.btcst.finance/#/mine
|
|
228
|
+
- Rebase Dashboard: https://app.btcst.finance/#/dashboard
|
|
229
|
+
|