Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add contract test for bigint out of range #142

Merged
merged 4 commits into from
Sep 21, 2024

Conversation

acuarica
Copy link
Owner

This PR is a continuation of #140. It includes a contract from mainnet library Math-0xa4846160bdcd18f9de4d434d09399bc6f6231fa4 were the error was first discovered.

@acuarica acuarica added the test Improve tests or tests quality label Sep 21, 2024
Copy link

size-limit report 📦

Path Size
dist/sevm.js 17.5 KB (0%)

@acuarica acuarica merged commit 6d309f7 into main Sep 21, 2024
13 checks passed
@acuarica acuarica deleted the add-contract-test-for-bigint-out-of-range branch September 21, 2024 03:08
Copy link

Contract Dataset Summary

⚠️ Symbolic Execution Errors - 927 errors of 20 kinds (in 237 contracts)

x JUMP(0x56)@<pc> offset should be numeric but found `add(0x1, local<n>)` - 8 error(s)
  • TheDescendentsNFT 0x20f7C15595F1a8A2F78DA63d518777b60818468E ~17.1k v0.8.20 (x4)
  • PointFarmors 0x37ef980d65841c4c018e2a514a91ea07d7772ba7 ~34.3k v0.8.22 (x4)
x Memory destination for CODECOPY is not reducible to Val - 499 error(s)
  • TransparentUpgradeableProxy 0x10b5f02956d242ab770605d59b7d27e51e45774c ~4.2k v0.8.9 (x2)
  • Blindsight 0x7a449043deb555b9bb0add56ff66bafba1abe84e ~25.5k v0.8.9 (x10)
  • MODELY 0xdbab23ee1df3864ae1bb2822ff3b28e04fa96c54 ~21.8k v0.8.19 
  • MemoryPageFactRegistry 0x40864568f679c10aC9e72211500096a5130770fA ~4.3k v0.6.12 
  • GpsStatementVerifier 0xd51A3D50d4D2f99a345a66971E650EEA064DD8dF ~15.7k v0.6.12 
  • CpuFrilessVerifier 0x28E3aD4201ba416B23d9950503dB28a9232BE32a ~36.8k v0.6.12 (x17)
  • CpuFrilessVerifier 0xaA2c9CDD4ceAebe9A35873B77F57FB47c3Ef11b9 ~38.6k v0.6.12 (x17)
  • CpuFrilessVerifier 0xD0fC19710c389ef4a7244656cB08db08eA9D88b4 ~36.0k v0.6.12 (x17)
  • CpuFrilessVerifier 0x8055948c530dbBc19cc350d53473EEe3a1e3d22B ~34.5k v0.6.12 (x17)
  • CpuFrilessVerifier 0x66F2345D003511a1A60D87E3984Bb8d12C21A970 ~36.4k v0.6.12 (x17)
... 101 more contracts
x JUMP(0x56)@<pc> offset should be numeric but found `local<n>` - 340 error(s)
  • TFBXV 0xc856c519c068f1b29bb54f81d498c457c99d6b16 ~35.4k v0.8.22 (x5)
  • CurveHandler 0xBcFacE618465F7D35cE82992FbE92e63C0529b13 ~19.8k v0.8.17 (x7)
  • PunkPuppets 0x42b075d31e706fb38f7e236ad2aa66a1460cf721 ~17.5k v0.8.18 (x4)
  • PudgyPuppets 0xb801bf563e7ac8667211c9ae6c7cfff0586fb214 ~17.5k v0.8.18 (x4)
  • Nuts 0x88266f9eb705F5282a2507A9c418821a2AC9f8BD ~11.3k v0.8.22 (x5)
  • GalaxyFox 0x8F1CecE048Cade6b8a05dFA2f90EE4025F4F2662 ~17.9k v0.8.23 (x5)
  • LilMiladyPudgys 0x72ce68a0b1b897bf65561d6cc636c9370f5a7c6e ~17.5k v0.8.18 (x4)
  • LilPudgyMilady 0x88c2ae9d230e9bd7b2d13848b884a8a3074db68d ~18.2k v0.8.7 (x4)
  • Stuff 0xfA297F8a132811b5ED682Bed0bE035520DB7F89b ~18.0k v0.8.18 (x5)
  • FellowshipDutchAuction 0xbC3042ee8C6E1197Ab5EAe5B4E674D3885033Dd2 ~14.0k v0.8.23 (x4)
... 61 more contracts
x JUMP(0x56)@<pc> destination should be JUMPDEST@0 but found '0x60' - 7 error(s)
  • CurveRegistryCache 0x29E06bBA53f73E271859214D9D87a1bE636273C0 ~16.1k v0.8.17 
  • XAlpha 0x369733153E6E08d38F2BC72ae2432E855Cfbe221 ~14.2k v0.8.17 
  • GuineaPigGovernor 0x96032D2B0640c220Fc5128cac3E4962AcA570C61 ~46.6k v0.8.23 (x3)
  • Vector 0xBb3D7F42C58Abd83616Ad7C8C72473Ee46df2678 ~29.7k v0.8.22 
  • Vector 0x5ad182646ab2a52f0f7d422c65f3f95bf2024877 ~29.7k v0.8.22 
x POP with empty stack - 18 error(s)
  • TitanTracker 0xD9ED35075F47078160170A74459A5AF6BdBbB2C2 ~32.2k v0.8.19 (x4)
  • ZeroxScans 0x10703cA5e253306e2ABABD68e963198be8887c81 ~35.7k v0.8.19 (x4)
  • ChainFactory_ERC20 0x23e70d4A085B72e970907b4126A604E2edF0E238 ~25.3k v0.8.23 (x2)
  • ETHERYIELD 0x3a2868C9A755BE1ec2977fB8f3BA8593c10c8DA4 ~34.8k v0.8.19 (x4)
  • ZeroxScans 0x347d28958B8C621838734fCBBd787e3407Ab9eb0 ~35.8k v0.8.19 (x4)
x JUMP(0x56)@<pc> offset should be numeric but found `mload(0x0)` - 34 error(s)
  • yPRISMA Forwarder Callback Minter 0x3d05654f333eea534fc5d7b873c9b8bf35b0550f ~3.8k <no version> 
  • Curve Degen Leverage Bot Factory 0x34bc9970228b14a76ebf0a7f5a601001bbca20c8 ~23.0k <no version> 
  • Curve Leverage Bot 0x425d9ca45409fd8f39f749dcf83f0ebdbb0b7da4 ~3.8k <no version> 
  • Liquidity Gauge v4 0x08d36c723b8213122f678025c2d9eb1ec7ab8f9d ~17.7k <no version> 
  • Curve Leverage Bot 0x89d79cda1a62e3ea95ca21d64681e853a0847300 ~3.8k <no version> 
  • Curve Leverage Bot 0xc12BE7AF8FD9Fa1bdE8Ad88bb10EF955b6e35417 ~3.8k <no version> 
  • Uniswap V3 TWAP Bot 0x7cb5d8dd2ec6aca4f006b44de8b734cc1298f40d ~19.3k <no version> 
  • Yearn Vault Factory 0x32035cb2a4308894f7e59c6c487651c4acce60ab ~6.6k <no version> 
  • Yearn V3 Vault 0x7d9a48273cf48c194086F6E79a56d7f23c0Ed4f2 ~45.2k <no version> 
  • Vyper_contract 0x7c868F045a60501A2F4159446545939771ddA323 ~0.4k <no version> 
... 24 more contracts
x Memory size too large creating Log: 115792089237316195423570985008687907853269984665640564039457584007913129639488 in `sub(local<n>, local<n>)` - 1 error(s)
  • FlatPriceSale_v_2_1 0x57c08f6827DC9A88b253830D73E0d8314b32E8D1 ~28.4k v0.8.21 
x Memory size too large creating Log: 115792089237316195423570985008687907853269984665640564039457584007913129639520 in `sub(add(0x20, add(local<n>, local<n>)), local<n>)` - 1 error(s)
  • FlatPriceSale_v_2_1 0x57c08f6827DC9A88b253830D73E0d8314b32E8D1 ~28.4k v0.8.21 
x Memory size too large creating Log: 115792089237316195423570985008687907853269984665640564039457584007913129639552 in `sub(add(0x20, add(local<n>, local<n>)), local<n>)` - 1 error(s)
  • FlatPriceSale_v_2_1 0x57c08f6827DC9A88b253830D73E0d8314b32E8D1 ~28.4k v0.8.21 
x Memory size too large creating Log: 115792089237316195423570985008687907853269984665640564039457584007913129639584 in `sub(add(0x20, add(local<n>, local<n>)), local<n>)` - 1 error(s)
  • FlatPriceSale_v_2_1 0x57c08f6827DC9A88b253830D73E0d8314b32E8D1 ~28.4k v0.8.21 
x Memory size too large creating Log: 115792089237316195423570985008687907853269984665640564039457584007913129639616 in `sub(add(0x20, add(local<n>, local<n>)), local<n>)` - 1 error(s)
  • FlatPriceSale_v_2_1 0x57c08f6827DC9A88b253830D73E0d8314b32E8D1 ~28.4k v0.8.21 
x Memory size too large creating Log: 115792089237316195423570985008687907853269984665640564039457584007913129639648 in `sub(add(0x20, add(local<n>, local<n>)), local<n>)` - 1 error(s)
  • FlatPriceSale_v_2_1 0x57c08f6827DC9A88b253830D73E0d8314b32E8D1 ~28.4k v0.8.21 
x Memory size too large creating Log: 115792089237316195423570985008687907853269984665640564039457584007913129639680 in `sub(add(0x20, add(local<n>, local<n>)), local<n>)` - 1 error(s)
  • FlatPriceSale_v_2_1 0x57c08f6827DC9A88b253830D73E0d8314b32E8D1 ~28.4k v0.8.21 
x Memory size too large creating Log: 115792089237316195423570985008687907853269984665640564039457584007913129639712 in `sub(add(0x20, add(local<n>, local<n>)), local<n>)` - 1 error(s)
  • FlatPriceSale_v_2_1 0x57c08f6827DC9A88b253830D73E0d8314b32E8D1 ~28.4k v0.8.21 
x Memory size too large creating Log: 115792089237316195423570985008687907853269984665640564039457584007913129639744 in `sub(add(0x20, add(local<n>, local<n>)), local<n>)` - 1 error(s)
  • FlatPriceSale_v_2_1 0x57c08f6827DC9A88b253830D73E0d8314b32E8D1 ~28.4k v0.8.21 
x Memory size too large creating Log: 115792089237316195423570985008687907853269984665640564039457584007913129639776 in `sub(add(0x20, add(local<n>, local<n>)), local<n>)` - 1 error(s)
  • FlatPriceSale_v_2_1 0x57c08f6827DC9A88b253830D73E0d8314b32E8D1 ~28.4k v0.8.21 
x Memory size too large creating Log: 115792089237316195423570985008687907853269984665640564039457584007913129639808 in `sub(add(0x20, add(local<n>, local<n>)), local<n>)` - 1 error(s)
  • FlatPriceSale_v_2_1 0x57c08f6827DC9A88b253830D73E0d8314b32E8D1 ~28.4k v0.8.21 
x JUMP(0x56)@<pc> offset should be numeric but found `add(local<n>, local<n>)` - 2 error(s)
  • Acidmen_nfts 0x1316cd513db5b9944101b652ffe0137708998079 ~17.0k v0.8.22 (x2)
x Memory size too large creating Sha3: 115792089237316195423570985008687907853269984665640564039457584007913129639808 in `sub(local<n>, local<n>)` - 5 error(s)
  • LOLWS 0xf4c2706e5c53869337ed5ab9e3bd801c224bba19 ~5.3k v0.8.23 
  • SIG 0xa9ec2f0ee0ae09b8a1d00d6653418f202ce91d44 ~6.3k v0.8.23 
  • WFW 0x32b819e2306e77dcb1c4a6fb7a796da69b9e356a ~6.3k v0.8.23 
  • Token 0xaeB3607eC434454ceB308f5Cd540875efb54309A ~10.7k v0.8.10 
  • OmniMerlin 0x234F534D322dF1a8a236a2F952d6657bf800F1FA ~5.2k v0.8.13 
x Memory size too large creating Revert: 115792089237316195423570985008687907853269984665640564039457584007913129639808 in `sub(0x0, local<n>)` - 3 error(s)
  • GoldFeverMaskBoxStore 0x986BE1392a313e9246e6B871AC42Eaf6c643A2C3 ~15.2k v0.8.17 
  • GoldFeverMaskBoxStore 0xD9d1f6BFBD32B5942B230d611733BCFC4805480f ~15.0k v0.8.17 
  • GoldFeverMaskBoxStore 0xd734f49358917695137f6c79Bd9757b7156840Bf ~14.2k v0.8.17 

⚡ Bench Stats

  • Contract decode & execution average 11.5 ms (total 76162 ms)
  • Generate Solidity source average 6.8 ms (total 44898 ms)
  • Generate Yul source average 20.7 ms (total 136469 ms)

🏷 ️ Metadata Stats

  • No metadata (41)
  • Protocols ipfs(6482) bzzr0(43) <no protocol>(20) bzzr1(18)
  • SOLC versions 0.8.20(1514) 0.8.23(1101) 0.8.19(1077) 0.8.22(756) 0.8.21(536) 0.8.18(286) 0.8.17(274) 0.8.9(156) 0.8.10(105) 0.8.16(102) 0.6.12(80) 0.8.0(78) 0.8.15(51) 0.8.12(49) 0.8.7(48) 0.8.24(45) <no version>(42) 0.8.6(40) 0.8.14(34) 0.8.13(34) 0.8.4(30) 0.8.11(29) 0.7.6(10) 0.8.8(10) 0.5.17(9) 0.7.0(8) 0.8.3(8) 0.6.9(7) 0.5.16(7) 0.8.2(6) 0.8.1(5) 0.7.4(4) 0.8.5(4) 0.7.5(3) 0.6.4(2) 0.6.10(2) 0.5.9(2) 0.7.1(2) 0.5.15(1) 0.6.0(1) 0.7.3(1) 0.6.6(1) 0.6.7(1) 0.5.12(1) 0.5.10(1)

📜 Bytecode Stats

  • Selectors Missed selectors (14872) | Hit selectors (2000)
  • ERCs (most used first) ERC20(2290) | ERC20Metadata(2287) | ERC165(282) | ERC173(173) | ERC721(26)
  • Precompiled Contracts (most used first) 0x1(205) | 0x5(187) | 0x4(45) | 0x0(11) | 0x2(7) | 0x6(3) | 0x8(2)
  • PCs (0)
  • Coverage 🚧 165,240/1,991,618 unreacheable chunks (16787.9k)
  • Revert Selectors (most used first) 4e487b71(107086) | 08c379a0(38390) | 118cdaa7(608) | 96c6fd1e(354) | e450d38c(353) | ec442f05(301) | 3e8be92f(285) | df2d9b42(230) | 1e4fbdf7(179) | e602df05(147) | 2e076300(147) | 272772ea(139) | d93c0665(136) | 94280d62(121) | 8404f626(114)
    ...412 more revert selectors

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
test Improve tests or tests quality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant