b06bb93d-d452-44cd-9570-143f26675bfb
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 31039 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 76048 | artifact.fetch | failed | 1 / 3 | 2 weeks ago |
| 76049 | tool.cast_disasm | complete | 1 / 3 | 2 weeks ago |
| 76050 | analysis.bundle | complete | 1 / 3 | 2 weeks ago |
| 76051 | capability.graph | complete | 1 / 3 | 2 weeks ago |
| 76052 | detector.run | complete | 1 / 3 | 2 weeks ago |
| 76053 | validation.fork | complete | 1 / 3 | 2 weeks ago |
No slither job recorded yet.
[codex:536304] OpenAI Codex v0.77.0 (research preview)
[codex:536304] --------
[codex:536304] workdir: /tmp/codex-multi-n6h2w74j
[codex:536304] model: gpt-5.2-codex
[codex:536304] provider: openai
[codex:536304] approval: never
[codex:536304] sandbox: read-only
[codex:536304] reasoning effort: xhigh
[codex:536304] reasoning summaries: auto
[codex:536304] session id: 019b79f2-cb53-72d1-8e2f-1b21e53e62ba
[codex:536304] --------
[codex:536304] user
[codex:536304] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:536304]
[codex:536304] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:536304]
[codex:536304] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:536304] - Gas inefficiency, code quality, naming, or best practices
[codex:536304] - Theoretical vulnerabilities without a clear extraction path
[codex:536304] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:536304] - Front-running unless it enables theft beyond MEV
[codex:536304] - DoS, griefing, or issues that don't result in attacker profit
[codex:536304] - Missing events, view function issues, or informational findings
[codex:536304]
[codex:536304] HIGH-VALUE PATTERNS TO HUNT:
[codex:536304] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:536304] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:536304] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:536304] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:536304] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:536304] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:536304] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:536304] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:536304] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:536304]
[codex:536304] For each finding, you MUST provide:
[codex:536304] 1. Exact file and line numbers of vulnerable code
[codex:536304] 2. Step-by-step exploit transaction sequence
[codex:536304] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:536304]
[codex:536304] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:536304]
[codex:536304] Output MUST be valid JSON matching the provided schema.
[codex:536304] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:536304] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:536304] mcp startup: no servers
[codex:536304]
[codex:536304] thinking
[codex:536304] **Checking instructions and audit file**
[codex:536304] exec
[codex:536304] /bin/bash -lc ls in /tmp/codex-multi-n6h2w74j succeeded in 5ms:
[codex:536304] AUDIT_BUNDLE.txt
[codex:536304] codex-output-schema.json
[codex:536304] contracts
[codex:536304] exec
[codex:536304] /bin/bash -lc 'rg -n "" AUDIT_BUNDLE.txt' in /tmp/codex-multi-n6h2w74j succeeded in 8ms:
[codex:536304] 1:This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:536304] 2:
[codex:536304] 3:================================================================================
[codex:536304] 4:FILE: contracts/Users/lebedkin/programming/xsigma/truffle-tutorial/SigToken/contracts/SigThreePoolProxy.sol
[codex:536304] 5:================================================================================
[codex:536304] 6:// SPDX-License-Identifier: MIT
[codex:536304] 7:// Fork of Swerve's YPoolDelegator https://etherscan.io/address/0x329239599afB305DA0A2eC69c58F8a6697F9F88d#code
[codex:536304] 8:
[codex:536304] 9:pragma solidity 0.6.12;
[codex:536304] 10:pragma experimental ABIEncoderV2;
[codex:536304] 11:
[codex:536304] 12:import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:536304] 13:import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
[codex:536304] 14:import "@openzeppelin/contracts/math/Math.sol";
[codex:536304] 15:import "./SigToken.sol";
[codex:536304] 16:
[codex:536304] 17:contract SigThreePoolProxy {
[codex:536304] 18: uint256 constant N_COINS = 3;
[codex:536304] 19: address[] public coins;
[codex:536304] 20: uint256[] public balances;
[codex:536304]
[codex:536304]
[codex:536304] thinking
[codex:536304] **Analyzing proxy and cashback mechanisms for exploits**
[codex:536304] thinking
[codex:536304] **Concluding no exploitable profit paths**
[codex:536304]
[codex:536304] I've carefully reviewed the proxy’s delegatecall behavior, cashback calculations, token balances, and access controls; everything seems restricted enough to prevent an attacker from profiting. The math checks out, token transfers are safe, and owner-only functions prevent abuse. Given these conditions and trusted tokens, no concrete exploit path to drain value appears.
[codex:536304] codex
[codex:536304] {"no_findings":true,"summary":"Reviewed `contracts/Users/lebedkin/programming/xsigma/truffle-tutorial/SigToken/contracts/SigThreePoolProxy.sol` and `contracts/Users/lebedkin/programming/xsigma/truffle-tutorial/SigToken/contracts/SigToken.sol`; no concrete, exploitable profit path found under the stated assumptions (trusted coins, secure admin).","findings":[]}
[codex:536304] tokens used
[codex:536304] 13,246
[codex:536304] {"no_findings":true,"summary":"Reviewed `contracts/Users/lebedkin/programming/xsigma/truffle-tutorial/SigToken/contracts/SigThreePoolProxy.sol` and `contracts/Users/lebedkin/programming/xsigma/truffle-tutorial/SigToken/contracts/SigToken.sol`; no concrete, exploitable profit path found under the stated assumptions (trusted coins, secure admin).","findings":[]}
{
"codex": {
"ran_at": "2026-01-01T14:26:44.495316+00:00",
"returncode": 0
},
"summary": "Reviewed `contracts/Users/lebedkin/programming/xsigma/truffle-tutorial/SigToken/contracts/SigThreePoolProxy.sol` and `contracts/Users/lebedkin/programming/xsigma/truffle-tutorial/SigToken/contracts/SigToken.sol`; no concrete, exploitable profit path found under the stated assumptions (trusted coins, secure admin).",
"raw_final": {
"summary": "Reviewed `contracts/Users/lebedkin/programming/xsigma/truffle-tutorial/SigToken/contracts/SigThreePoolProxy.sol` and `contracts/Users/lebedkin/programming/xsigma/truffle-tutorial/SigToken/contracts/SigToken.sol`; no concrete, exploitable profit path found under the stated assumptions (trusted coins, secure admin).",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x0144 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x6a9efeab 00000019: GT 0000001a: PUSH2 0x00b6 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xb4b577ad 00000024: GT 00000025: PUSH2 0x006f 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xb4b577ad 0000002f: EQ 00000030: PUSH2 0x0351 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xc6610657 0000003a: EQ 0000003b: PUSH2 0x0366 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xddca3f43 00000045: EQ 00000046: PUSH2 0x0386 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xe0a0b586 00000050: EQ 00000051: PUSH2 0x039b 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xe3824462 0000005b: EQ 0000005c: PUSH2 0x03b0 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0xfee3f7f9 00000066: EQ 00000067: PUSH2 0x03c5 0000006a: JUMPI 0000006b: PUSH2 0x014b 0000006e: JUMP 0000006f: JUMPDEST 00000070: DUP1 00000071: PUSH4 0x6a9efeab 00000076: EQ 00000077: PUSH2 0x02a5 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0x7d008a40 00000081: EQ 00000082: PUSH2 0x02c7 00000085: JUMPI 00000086: DUP1 00000087: PUSH4 0x8da5cb5b 0000008c: EQ 0000008d: PUSH2 0x02da 00000090: JUMPI 00000091: DUP1 00000092: PUSH4 0x90a7e05b 00000097: EQ 00000098: PUSH2 0x02ef 0000009b: JUMPI 0000009c: DUP1 0000009d: PUSH4 0x92773c55 000000a2: EQ 000000a3: PUSH2 0x030f 000000a6: JUMPI 000000a7: DUP1 000000a8: PUSH4 0xa250e192 000000ad: EQ 000000ae: PUSH2 0x032f 000000b1: JUMPI 000000b2: PUSH2 0x014b 000000b5: JUMP 000000b6: JUMPDEST 000000b7: DUP1 000000b8: PUSH4 0x405e28f8 000000bd: GT 000000be: PUSH2 0x0108 000000c1: JUMPI 000000c2: DUP1 000000c3: PUSH4 0x405e28f8 000000c8: EQ 000000c9: PUSH2 0x0206 000000cc: JUMPI 000000cd: DUP1 000000ce: PUSH4 0x4903b0d1 000000d3: EQ 000000d4: PUSH2 0x021b 000000d7: JUMPI 000000d8: DUP1 000000d9: PUSH4 0x5383db20 000000de: EQ 000000df: PUSH2 0x023b 000000e2: JUMPI 000000e3: DUP1 000000e4: PUSH4 0x5409491a 000000e9: EQ 000000ea: PUSH2 0x025b 000000ed: JUMPI 000000ee: DUP1 000000ef: PUSH4 0x58680d0b 000000f4: EQ 000000f5: PUSH2 0x0270 000000f8: JUMPI 000000f9: DUP1 000000fa: PUSH4 0x5d552b68 000000ff: EQ 00000100: PUSH2 0x0285 00000103: JUMPI 00000104: PUSH2 0x014b 00000107: JUMP 00000108: JUMPDEST 00000109: DUP1 0000010a: PUSH4 0x14052288 0000010f: EQ 00000110: PUSH2 0x016f 00000113: JUMPI 00000114: DUP1 00000115: PUSH4 0x18299fc2 0000011a: EQ 0000011b: PUSH2 0x019a 0000011e: JUMPI 0000011f: DUP1 00000120: PUSH4 0x1ec0cdc1 00000125: EQ 00000126: PUSH2 0x01ba 00000129: JUMPI 0000012a: DUP1 0000012b: PUSH4 0x2081066c 00000130: EQ 00000131: PUSH2 0x01dc 00000134: JUMPI 00000135: DUP1 00000136: PUSH4 0x30c54085 0000013b: EQ 0000013c: PUSH2 0x01f1 0000013f: JUMPI 00000140: PUSH2 0x014b 00000143: JUMP 00000144: JUMPDEST 00000145: CALLDATASIZE 00000146: PUSH2 0x014b 00000149: JUMPI 0000014a: STOP 0000014b: JUMPDEST 0000014c: CALLVALUE 0000014d: DUP1 0000014e: ISZERO 0000014f: PUSH2 0x0157 00000152: JUMPI 00000153: PUSH1 0x00 00000155: DUP1 00000156: REVERT 00000157: JUMPDEST 00000158: POP 00000159: PUSH1 0x11 0000015b: SLOAD 0000015c: PUSH2 0x016d 0000015f: SWAP1 00000160: PUSH1 0x01 00000162: PUSH1 0x01 00000164: PUSH1 0xa0 00000166: SHL 00000167: SUB 00000168: AND 00000169: PUSH2 0x03da 0000016c: JUMP 0000016d: JUMPDEST 0000016e: STOP 0000016f: JUMPDEST 00000170: CALLVALUE 00000171: DUP1 00000172: ISZERO 00000173: PUSH2 0x017b 00000176: JUMPI 00000177: PUSH1 0x00 00000179: DUP1 0000017a: REVERT 0000017b: JUMPDEST 0000017c: POP 0000017d: PUSH2 0x0184 00000180: PUSH2 0x03fe 00000183: JUMP 00000184: JUMPDEST 00000185: PUSH1 0x40 00000187: MLOAD 00000188: PUSH2 0x0191 0000018b: SWAP2 0000018c: SWAP1 0000018d: PUSH2 0x0c94 00000190: JUMP 00000191: JUMPDEST 00000192: PUSH1 0x40 00000194: MLOAD 00000195: DUP1 00000196: SWAP2 00000197: SUB 00000198: SWAP1 00000199: RETURN 0000019a: JUMPDEST 0000019b: CALLVALUE 0000019c: DUP1 0000019d: ISZERO 0000019e: PUSH2 0x01a6 000001a1: JUMPI 000001a2: PUSH1 0x00 000001a4: DUP1 000001a5: REVERT 000001a6: JUMPDEST 000001a7: POP 000001a8: PUSH2 0x016d 000001ab: PUSH2 0x01b5 000001ae: CALLDATASIZE 000001af: PUSH1 0x04 000001b1: PUSH2 0x0aba 000001b4: JUMP 000001b5: JUMPDEST 000001b6: PUSH2 0x0404 000001b9: JUMP 000001ba: JUMPDEST 000001bb: CALLVALUE 000001bc: DUP1 000001bd: ISZERO 000001be: PUSH2 0x01c6 000001c1: JUMPI 000001c2: PUSH1 0x00 000001c4: DUP1 000001c5: REVERT 000001c6: JUMPDEST 000001c7: POP 000001c8: PUSH2 0x01cf 000001cb: PUSH2 0x04f0 000001ce: JUMP 000001cf: JUMPDEST 000001d0: PUSH1 0x40 000001d2: MLOAD 000001d3: PUSH2 0x0191 000001d6: SWAP2 000001d7: SWAP1 000001d8: PUSH2 0x0bad 000001db: JUMP 000001dc: JUMPDEST 000001dd: CALLVALUE 000001de: DUP1 000001df: ISZERO 000001e0: PUSH2 0x01e8 000001e3: JUMPI 000001e4: PUSH1 0x00 000001e6: DUP1 000001e7: REVERT 000001e8: JUMPDEST 000001e9: POP 000001ea: PUSH2 0x0184 000001ed: PUSH2 0x04ff 000001f0: JUMP 000001f1: JUMPDEST 000001f2: CALLVALUE 000001f3: DUP1 000001f4: ISZERO 000001f5: PUSH2 0x01fd 000001f8: JUMPI 000001f9: PUSH1 0x00 000001fb: DUP1 000001fc: REVERT 000001fd: JUMPDEST 000001fe: POP 000001ff: PUSH2 0x016d 00000202: PUSH2 0x0505 00000205: JUMP 00000206: JUMPDEST 00000207: CALLVALUE 00000208: DUP1 00000209: ISZERO 0000020a: PUSH2 0x0212 0000020d: JUMPI 0000020e: PUSH1 0x00 00000210: DUP1 00000211: REVERT 00000212: JUMPDEST 00000213: POP 00000214: PUSH2 0x0184 00000217: PUSH2 0x066b 0000021a: JUMP 0000021b: JUMPDEST 0000021c: CALLVALUE 0000021d: DUP1 0000021e: ISZERO 0000021f: PUSH2 0x0227 00000222: JUMPI 00000223: PUSH1 0x00 00000225: DUP1 00000226: REVERT 00000227: JUMPDEST 00000228: POP 00000229: PUSH2 0x0184 0000022c: PUSH2 0x0236 0000022f: CALLDATASIZE 00000230: PUSH1 0x04 00000232: PUSH2 0x0b30 00000235: JUMP 00000236: JUMPDEST 00000237: PUSH2 0x0671 0000023a: JUMP 0000023b: JUMPDEST 0000023c: CALLVALUE 0000023d: DUP1 0000023e: ISZERO 0000023f: PUSH2 0x0247 00000242: JUMPI 00000243: PUSH1 0x00 00000245: DUP1 00000246: REVERT 00000247: JUMPDEST 00000248: POP 00000249: PUSH2 0x016d 0000024c: PUSH2 0x0256 0000024f: CALLDATASIZE 00000250: PUSH1 0x04 00000252: PUSH2 0x0a73 00000255: JUMP 00000256: JUMPDEST 00000257: PUSH2 0x068f 0000025a: JUMP 0000025b: JUMPDEST 0000025c: CALLVALUE 0000025d: DUP1 0000025e: ISZERO 0000025f: PUSH2 0x0267 00000262: JUMPI 00000263: PUSH1 0x00 00000265: DUP1 00000266: REVERT 00000267: JUMPDEST 00000268: POP 00000269: PUSH2 0x0184 0000026c: PUSH2 0x06c8 0000026f: JUMP 00000270: JUMPDEST 00000271: CALLVALUE 00000272: DUP1 00000273: ISZERO 00000274: PUSH2 0x027c 00000277: JUMPI 00000278: PUSH1 0x00 0000027a: DUP1 0000027b: REVERT 0000027c: JUMPDEST 0000027d: POP 0000027e: PUSH2 0x0184 00000281: PUSH2 0x06ce 00000284: JUMP 00000285: JUMPDEST 00000286: CALLVALUE 00000287: DUP1 00000288: ISZERO 00000289: PUSH2 0x0291 0000028c: JUMPI 0000028d: PUSH1 0x00 0000028f: DUP1 00000290: REVERT 00000291: JUMPDEST 00000292: POP 00000293: PUSH2 0x0184 00000296: PUSH2 0x02a0 00000299: CALLDATASIZE 0000029a: PUSH1 0x04 0000029c: PUSH2 0x0b30 0000029f: JUMP 000002a0: JUMPDEST 000002a1: PUSH2 0x06d4 000002a4: JUMP 000002a5: JUMPDEST 000002a6: CALLVALUE 000002a7: DUP1 000002a8: ISZERO 000002a9: PUSH2 0x02b1 000002ac: JUMPI 000002ad: PUSH1 0x00 000002af: DUP1 000002b0: REVERT 000002b1: JUMPDEST 000002b2: POP 000002b3: PUSH2 0x02ba 000002b6: PUSH2 0x084c 000002b9: JUMP 000002ba: JUMPDEST 000002bb: PUSH1 0x40 000002bd: MLOAD 000002be: PUSH2 0x0191 000002c1: SWAP2 000002c2: SWAP1 000002c3: PUSH2 0x0c9d 000002c6: JUMP 000002c7: JUMPDEST 000002c8: PUSH2 0x016d 000002cb: PUSH2 0x02d5 000002ce: CALLDATASIZE 000002cf: PUSH1 0x04 000002d1: PUSH2 0x0b60 000002d4: JUMP 000002d5: JUMPDEST 000002d6: PUSH2 0x085f 000002d9: JUMP 000002da: JUMPDEST 000002db: CALLVALUE 000002dc: DUP1 000002dd: ISZERO 000002de: PUSH2 0x02e6 000002e1: JUMPI 000002e2: PUSH1 0x00 000002e4: DUP1 000002e5: REVERT 000002e6: JUMPDEST 000002e7: POP 000002e8: PUSH2 0x01cf 000002eb: PUSH2 0x08cf 000002ee: JUMP 000002ef: JUMPDEST 000002f0: CALLVALUE 000002f1: DUP1 000002f2: ISZERO 000002f3: PUSH2 0x02fb 000002f6: JUMPI 000002f7: PUSH1 0x00 000002f9: DUP1 000002fa: REVERT 000002fb: JUMPDEST 000002fc: POP 000002fd: PUSH2 0x0184 00000300: PUSH2 0x030a 00000303: CALLDATASIZE 00000304: PUSH1 0x04 00000306: PUSH2 0x0b30 00000309: JUMP 0000030a: JUMPDEST 0000030b: PUSH2 0x08de 0000030e: JUMP 0000030f: JUMPDEST 00000310: CALLVALUE 00000311: DUP1 00000312: ISZERO 00000313: PUSH2 0x031b 00000316: JUMPI 00000317: PUSH1 0x00 00000319: DUP1 0000031a: REVERT 0000031b: JUMPDEST 0000031c: POP 0000031d: PUSH2 0x0184 00000320: PUSH2 0x032a 00000323: CALLDATASIZE 00000324: PUSH1 0x04 00000326: PUSH2 0x0afd 00000329: JUMP 0000032a: JUMPDEST 0000032b: PUSH2 0x0914 0000032e: JUMP 0000032f: JUMPDEST 00000330: CALLVALUE 00000331: DUP1 00000332: ISZERO 00000333: PUSH2 0x033b 00000336: JUMPI 00000337: PUSH1 0x00 00000339: DUP1 0000033a: REVERT 0000033b: JUMPDEST 0000033c: POP 0000033d: PUSH2 0x0344 00000340: PUSH2 0x0975 00000343: JUMP 00000344: JUMPDEST 00000345: PUSH1 0x40 00000347: MLOAD 00000348: PUSH2 0x0191 0000034b: SWAP2 0000034c: SWAP1 0000034d: PUSH2 0x0cae 00000350: JUMP 00000351: JUMPDEST 00000352: CALLVALUE 00000353: DUP1 00000354: ISZERO 00000355: PUSH2 0x035d 00000358: JUMPI 00000359: PUSH1 0x00 0000035b: DUP1 0000035c: REVERT 0000035d: JUMPDEST 0000035e: POP 0000035f: PUSH2 0x0184 00000362: PUSH2 0x098c 00000365: JUMP 00000366: JUMPDEST 00000367: CALLVALUE 00000368: DUP1 00000369: ISZERO 0000036a: PUSH2 0x0372 0000036d: JUMPI 0000036e: PUSH1 0x00 00000370: DUP1 00000371: REVERT 00000372: JUMPDEST 00000373: POP 00000374: PUSH2 0x01cf 00000377: PUSH2 0x0381 0000037a: CALLDATASIZE 0000037b: PUSH1 0x04 0000037d: PUSH2 0x0b30 00000380: JUMP 00000381: JUMPDEST 00000382: PUSH2 0x0992 00000385: JUMP 00000386: JUMPDEST 00000387: CALLVALUE 00000388: DUP1 00000389: ISZERO 0000038a: PUSH2 0x0392 0000038d: JUMPI 0000038e: PUSH1 0x00 00000390: DUP1 00000391: REVERT 00000392: JUMPDEST 00000393: POP 00000394: PUSH2 0x0184 00000397: PUSH2 0x09b9 0000039a: JUMP 0000039b: JUMPDEST 0000039c: CALLVALUE 0000039d: DUP1 0000039e: ISZERO 0000039f: PUSH2 0x03a7 000003a2: JUMPI 000003a3: PUSH1 0x00 000003a5: DUP1 000003a6: REVERT 000003a7: JUMPDEST 000003a8: POP 000003a9: PUSH2 0x0184 000003ac: PUSH2 0x09bf 000003af: JUMP 000003b0: JUMPDEST 000003b1: CALLVALUE 000003b2: DUP1 000003b3: ISZERO 000003b4: PUSH2 0x03bc 000003b7: JUMPI 000003b8: PUSH1 0x00 000003ba: DUP1 000003bb: REVERT 000003bc: JUMPDEST 000003bd: POP 000003be: PUSH2 0x0184 000003c1: PUSH2 0x09c5 000003c4: JUMP 000003c5: JUMPDEST 000003c6: CALLVALUE 000003c7: DUP1 000003c8: ISZERO 000003c9: PUSH2 0x03d1 000003cc: JUMPI 000003cd: PUSH1 0x00 000003cf: DUP1 000003d0: REVERT 000003d1: JUMPDEST 000003d2: POP 000003d3: PUSH2 0x0184 000003d6: PUSH2 0x09cb 000003d9: JUMP 000003da: JUMPDEST 000003db: CALLDATASIZE 000003dc: PUSH1 0x00 000003de: DUP1 000003df: CALLDATACOPY 000003e0: PUSH1 0x00 000003e2: DUP1 000003e3: CALLDATASIZE 000003e4: PUSH1 0x00 000003e6: DUP5 000003e7: GAS 000003e8: DELEGATECALL 000003e9: RETURNDATASIZE 000003ea: PUSH1 0x00 000003ec: DUP1 000003ed: RETURNDATACOPY 000003ee: DUP1 000003ef: DUP1 000003f0: ISZERO 000003f1: PUSH2 0x03f9 000003f4: JUMPI 000003f5: RETURNDATASIZE 000003f6: PUSH1 0x00 000003f8: RETURN 000003f9: JUMPDEST 000003fa: RETURNDATASIZE 000003fb: PUSH1 0x00 000003fd: REVERT 000003fe: JUMPDEST 000003ff: PUSH1 0x09 00000401: SLOAD 00000402: DUP2 00000403: JUMP 00000404: JUMPDEST 00000405: PUSH1 0x11 00000407: SLOAD 00000408: PUSH1 0x40 0000040a: MLOAD 0000040b: PUSH1 0x00 0000040d: SWAP2 0000040e: PUSH1 0x60 00000410: SWAP2 00000411: PUSH1 0x01 00000413: PUSH1 0x01 00000415: PUSH1 0xa0 00000417: SHL 00000418: SUB 00000419: SWAP1 0000041a: SWAP2 0000041b: AND 0000041c: SWAP1 0000041d: PUSH2 0x0430 00000420: SWAP1 00000421: DUP9 00000422: SWAP1 00000423: DUP9 00000424: SWAP1 00000425: DUP9 00000426: SWAP1 00000427: DUP9 00000428: SWAP1 00000429: PUSH1 0x24 0000042b: ADD 0000042c: PUSH2 0x0bda 0000042f: JUMP 00000430: JUMPDEST 00000431: PUSH1 0x40 00000433: DUP1 00000434: MLOAD 00000435: PUSH1 0x1f 00000437: NOT 00000438: DUP2 00000439: DUP5 0000043a: SUB 0000043b: ADD 0000043c: DUP2 0000043d: MSTORE 0000043e: SWAP2 0000043f: DUP2 00000440: MSTORE 00000441: PUSH1 0x20 00000443: DUP3 00000444: ADD 00000445: DUP1 00000446: MLOAD 00000447: PUSH1 0x01 00000449: PUSH1 0x01 0000044b: PUSH1 0xe0 0000044d: SHL 0000044e: SUB 0000044f: AND 00000450: PUSH4 0x0f7c0849 00000455: PUSH1 0xe2 00000457: SHL 00000458: OR 00000459: SWAP1 0000045a: MSTORE 0000045b: MLOAD 0000045c: PUSH2 0x0465 0000045f: SWAP2 00000460: SWAP1 00000461: PUSH2 0x0b91 00000464: JUMP 00000465: JUMPDEST 00000466: PUSH1 0x00 00000468: PUSH1 0x40 0000046a: MLOAD 0000046b: DUP1 0000046c: DUP4 0000046d: SUB 0000046e: DUP2 0000046f: DUP6 00000470: GAS 00000471: DELEGATECALL 00000472: SWAP2 00000473: POP 00000474: POP 00000475: RETURNDATASIZE 00000476: DUP1 00000477: PUSH1 0x00 00000479: DUP2 0000047a: EQ 0000047b: PUSH2 0x04a0 0000047e: JUMPI 0000047f: PUSH1 0x40 00000481: MLOAD 00000482: SWAP2 00000483: POP 00000484: PUSH1 0x1f 00000486: NOT 00000487: PUSH1 0x3f 00000489: RETURNDATASIZE 0000048a: ADD 0000048b: AND 0000048c: DUP3 0000048d: ADD 0000048e: PUSH1 0x40 00000490: MSTORE 00000491: RETURNDATASIZE 00000492: DUP3 00000493: MSTORE 00000494: RETURNDATASIZE 00000495: PUSH1 0x00 00000497: PUSH1 0x20 00000499: DUP5 0000049a: ADD 0000049b: RETURNDATACOPY 0000049c: PUSH2 0x04a5 0000049f: JUMP 000004a0: JUMPDEST 000004a1: PUSH1 0x60 000004a3: SWAP2 000004a4: POP 000004a5: JUMPDEST 000004a6: POP 000004a7: SWAP2 000004a8: POP 000004a9: SWAP2 000004aa: POP 000004ab: DUP2 000004ac: PUSH2 0x04de 000004af: JUMPI 000004b0: DUP1 000004b1: MLOAD 000004b2: ISZERO 000004b3: PUSH2 0x04d9 000004b6: JUMPI 000004b7: DUP1 000004b8: PUSH1 0x40 000004ba: MLOAD 000004bb: PUSH3 0x461bcd 000004bf: PUSH1 0xe5 000004c1: SHL 000004c2: DUP2 000004c3: MSTORE 000004c4: PUSH1 0x04 000004c6: ADD 000004c7: PUSH2 0x04d0 000004ca: SWAP2 000004cb: SWAP1 000004cc: PUSH2 0x0bfd 000004cf: JUMP 000004d0: JUMPDEST 000004d1: PUSH1 0x40 000004d3: MLOAD 000004d4: DUP1 000004d5: SWAP2 000004d6: SUB 000004d7: SWAP1 000004d8: REVERT 000004d9: JUMPDEST 000004da: PUSH1 0x00 000004dc: DUP1 000004dd: REVERT 000004de: JUMPDEST 000004df: PUSH2 0x04e8 000004e2: DUP7 000004e3: DUP6 000004e4: PUSH2 0x09d1 000004e7: JUMP 000004e8: JUMPDEST 000004e9: POP 000004ea: POP 000004eb: POP 000004ec: POP 000004ed: POP 000004ee: POP 000004ef: JUMP 000004f0: JUMPDEST 000004f1: PUSH1 0x0e 000004f3: SLOAD 000004f4: PUSH1 0x01 000004f6: PUSH1 0x01 000004f8: PUSH1 0xa0 000004fa: SHL 000004fb: SUB 000004fc: AND 000004fd: DUP2 000004fe: JUMP 000004ff: JUMPDEST 00000500: PUSH1 0x08 00000502: SLOAD 00000503: DUP2 00000504: JUMP 00000505: JUMPDEST 00000506: PUSH1 0x00 00000508: JUMPDEST 00000509: PUSH1 0x03 0000050b: DUP2 0000050c: LT 0000050d: ISZERO 0000050e: PUSH2 0x0668 00000511: JUMPI 00000512: PUSH1 0x00 00000514: DUP1 00000515: DUP3 00000516: DUP2 00000517: SLOAD 00000518: DUP2 00000519: LT 0000051a: PUSH2 0x051f 0000051d: JUMPI 0000051e: INVALID 0000051f: JUMPDEST 00000520: PUSH1 0x00 00000522: SWAP2 00000523: DUP3 00000524: MSTORE 00000525: PUSH1 0x20 00000527: DUP3 00000528: KECCAK256 00000529: ADD 0000052a: SLOAD 0000052b: PUSH1 0x01 0000052d: DUP1 0000052e: SLOAD 0000052f: PUSH1 0x01 00000531: PUSH1 0x01 00000533: PUSH1 0xa0 00000535: SHL 00000536: SUB 00000537: SWAP1 00000538: SWAP3 00000539: AND 0000053a: SWAP4 0000053b: POP 0000053c: SWAP1 0000053d: DUP5 0000053e: SWAP1 0000053f: DUP2 00000540: LT 00000541: PUSH2 0x0546 00000544: JUMPI 00000545: INVALID 00000546: JUMPDEST 00000547: SWAP1 00000548: PUSH1 0x00 0000054a: MSTORE 0000054b: PUSH1 0x20 0000054d: PUSH1 0x00 0000054f: KECCAK256 00000550: ADD 00000551: SLOAD 00000552: DUP3 00000553: PUSH1 0x01 00000555: PUSH1 0x01 00000557: PUSH1 0xa0 00000559: SHL 0000055a: SUB 0000055b: AND 0000055c: PUSH4 0x70a08231 00000561: ADDRESS 00000562: PUSH1 0x40 00000564: MLOAD 00000565: DUP3 00000566: PUSH4 0xffffffff 0000056b: AND 0000056c: PUSH1 0xe0 0000056e: SHL 0000056f: DUP2 00000570: MSTORE 00000571: PUSH1 0x04 00000573: ADD 00000574: PUSH2 0x057d 00000577: SWAP2 00000578: SWAP1 00000579: PUSH2 0x0bad 0000057c: JUMP 0000057d: JUMPDEST 0000057e: PUSH1 0x20 00000580: PUSH1 0x40 00000582: MLOAD 00000583: DUP1 00000584: DUP4 00000585: SUB 00000586: DUP2 00000587: DUP7 00000588: DUP1 00000589: EXTCODESIZE 0000058a: ISZERO 0000058b: DUP1 0000058c: ISZERO 0000058d: PUSH2 0x0595 00000590: JUMPI 00000591: PUSH1 0x00 00000593: DUP1 00000594: REVERT 00000595: JUMPDEST 00000596: POP 00000597: GAS 00000598: STATICCALL 00000599: ISZERO 0000059a: DUP1 0000059b: ISZERO 0000059c: PUSH2 0x05a9 0000059f: JUMPI 000005a0: RETURNDATASIZE 000005a1: PUSH1 0x00 000005a3: DUP1 000005a4: RETURNDATACOPY 000005a5: RETURNDATASIZE 000005a6: PUSH1 0x00 000005a8: REVERT 000005a9: JUMPDEST 000005aa: POP 000005ab: POP 000005ac: POP 000005ad: POP 000005ae: PUSH1 0x40 000005b0: MLOAD 000005b1: RETURNDATASIZE 000005b2: PUSH1 0x1f 000005b4: NOT 000005b5: PUSH1 0x1f 000005b7: DUP3 000005b8: ADD 000005b9: AND 000005ba: DUP3 000005bb: ADD 000005bc: DUP1 000005bd: PUSH1 0x40 000005bf: MSTORE 000005c0: POP 000005c1: DUP2 000005c2: ADD 000005c3: SWAP1 000005c4: PUSH2 0x05cd 000005c7: SWAP2 000005c8: SWAP1 000005c9: PUSH2 0x0b48 000005cc: JUMP 000005cd: JUMPDEST 000005ce: SUB 000005cf: SWAP1 000005d0: POP 000005d1: DUP1 000005d2: ISZERO 000005d3: PUSH2 0x065e 000005d6: JUMPI 000005d7: PUSH1 0x12 000005d9: SLOAD 000005da: PUSH1 0x40 000005dc: MLOAD 000005dd: PUSH4 0xa9059cbb 000005e2: PUSH1 0xe0 000005e4: SHL 000005e5: DUP2 000005e6: MSTORE 000005e7: PUSH1 0x01 000005e9: PUSH1 0x01 000005eb: PUSH1 0xa0 000005ed: SHL 000005ee: SUB 000005ef: DUP5 000005f0: DUP2 000005f1: AND 000005f2: SWAP3 000005f3: PUSH4 0xa9059cbb 000005f8: SWAP3 000005f9: PUSH2 0x060a 000005fc: SWAP3 000005fd: SWAP1 000005fe: SWAP2 000005ff: AND 00000600: SWAP1 00000601: DUP6 00000602: SWAP1 00000603: PUSH1 0x04 00000605: ADD 00000606: PUSH2 0x0bc1 00000609: JUMP 0000060a: JUMPDEST 0000060b: PUSH1 0x20 0000060d: PUSH1 0x40 0000060f: MLOAD 00000610: DUP1 00000611: DUP4 00000612: SUB 00000613: DUP2 00000614: PUSH1 0x00 00000616: DUP8 00000617: DUP1 00000618: EXTCODESIZE 00000619: ISZERO 0000061a: DUP1 0000061b: ISZERO 0000061c: PUSH2 0x0624 0000061f: JUMPI 00000620: PUSH1 0x00 00000622: DUP1 00000623: REVERT 00000624: JUMPDEST 00000625: POP 00000626: GAS 00000627: CALL 00000628: ISZERO 00000629: DUP1 0000062a: ISZERO 0000062b: PUSH2 0x0638 0000062e: JUMPI 0000062f: RETURNDATASIZE 00000630: PUSH1 0x00 00000632: DUP1 00000633: RETURNDATACOPY 00000634: RETURNDATASIZE 00000635: PUSH1 0x00 00000637: REVERT 00000638: JUMPDEST 00000639: POP 0000063a: POP 0000063b: POP 0000063c: POP 0000063d: PUSH1 0x40 0000063f: MLOAD 00000640: RETURNDATASIZE 00000641: PUSH1 0x1f 00000643: NOT 00000644: PUSH1 0x1f 00000646: DUP3 00000647: ADD 00000648: AND 00000649: DUP3 0000064a: ADD 0000064b: DUP1 0000064c: PUSH1 0x40 0000064e: MSTORE 0000064f: POP 00000650: DUP2 00000651: ADD 00000652: SWAP1 00000653: PUSH2 0x065c 00000656: SWAP2 00000657: SWAP1 00000658: PUSH2 0x0a9a 0000065b: JUMP 0000065c: JUMPDEST 0000065d: POP 0000065e: JUMPDEST 0000065f: POP 00000660: POP 00000661: PUSH1 0x01 00000663: ADD 00000664: PUSH2 0x0508 00000667: JUMP 00000668: JUMPDEST 00000669: POP 0000066a: JUMP 0000066b: JUMPDEST 0000066c: PUSH1 0x0a 0000066e: SLOAD 0000066f: DUP2 00000670: JUMP 00000671: JUMPDEST 00000672: PUSH1 0x01 00000674: DUP2 00000675: DUP2 00000676: SLOAD 00000677: DUP2 00000678: LT 00000679: PUSH2 0x067e 0000067c: JUMPI 0000067d: INVALID 0000067e: JUMPDEST 0000067f: PUSH1 0x00 00000681: SWAP2 00000682: DUP3 00000683: MSTORE 00000684: PUSH1 0x20 00000686: SWAP1 00000687: SWAP2 00000688: KECCAK256 00000689: ADD 0000068a: SLOAD 0000068b: SWAP1 0000068c: POP 0000068d: DUP2 0000068e: JUMP 0000068f: JUMPDEST 00000690: PUSH1 0x04 00000692: SLOAD 00000693: PUSH1 0x01 00000695: PUSH1 0x01 00000697: PUSH1 0xa0 00000699: SHL 0000069a: SUB 0000069b: AND 0000069c: CALLER 0000069d: EQ 0000069e: PUSH2 0x06a6 000006a1: JUMPI 000006a2: PUSH1 0x00 000006a4: DUP1 000006a5: REVERT 000006a6: JUMPDEST 000006a7: PUSH1 0x12 000006a9: DUP1 000006aa: SLOAD 000006ab: PUSH1 0x01 000006ad: PUSH1 0x01 000006af: PUSH1 0xa0 000006b1: SHL 000006b2: SUB 000006b3: NOT 000006b4: AND 000006b5: PUSH1 0x01 000006b7: PUSH1 0x01 000006b9: PUSH1 0xa0 000006bb: SHL 000006bc: SUB 000006bd: SWAP3 000006be: SWAP1 000006bf: SWAP3 000006c0: AND 000006c1: SWAP2 000006c2: SWAP1 000006c3: SWAP2 000006c4: OR 000006c5: SWAP1 000006c6: SSTORE 000006c7: JUMP 000006c8: JUMPDEST 000006c9: PUSH1 0x06 000006cb: SLOAD 000006cc: DUP2 000006cd: JUMP 000006ce: JUMPDEST 000006cf: PUSH1 0x0c 000006d1: SLOAD 000006d2: DUP2 000006d3: JUMP 000006d4: JUMPDEST 000006d5: PUSH1 0x13 000006d7: SLOAD 000006d8: PUSH1 0x40 000006da: MLOAD 000006db: PUSH4 0x70a08231 000006e0: PUSH1 0xe0 000006e2: SHL 000006e3: DUP2 000006e4: MSTORE 000006e5: PUSH1 0x00 000006e7: SWAP2 000006e8: DUP3 000006e9: SWAP2 000006ea: PUSH1 0x02 000006ec: SWAP2 000006ed: PUSH1 0x01 000006ef: PUSH1 0x01 000006f1: PUSH1 0xa0 000006f3: SHL 000006f4: SUB 000006f5: AND 000006f6: SWAP1 000006f7: PUSH4 0x70a08231 000006fc: SWAP1 000006fd: PUSH2 0x070a 00000700: SWAP1 00000701: CALLER 00000702: SWAP1 00000703: PUSH1 0x04 00000705: ADD 00000706: PUSH2 0x0bad 00000709: JUMP 0000070a: JUMPDEST 0000070b: PUSH1 0x20 0000070d: PUSH1 0x40 0000070f: MLOAD 00000710: DUP1 00000711: DUP4 00000712: SUB 00000713: DUP2 00000714: DUP7 00000715: DUP1 00000716: EXTCODESIZE 00000717: ISZERO 00000718: DUP1 00000719: ISZERO 0000071a: PUSH2 0x0722 0000071d: JUMPI 0000071e: PUSH1 0x00 00000720: DUP1 00000721: REVERT 00000722: JUMPDEST 00000723: POP 00000724: GAS 00000725: STATICCALL 00000726: ISZERO 00000727: DUP1 00000728: ISZERO 00000729: PUSH2 0x0736 0000072c: JUMPI 0000072d: RETURNDATASIZE 0000072e: PUSH1 0x00 00000730: DUP1 00000731: RETURNDATACOPY 00000732: RETURNDATASIZE 00000733: PUSH1 0x00 00000735: REVERT 00000736: JUMPDEST 00000737: POP 00000738: POP 00000739: POP 0000073a: POP 0000073b: PUSH1 0x40 0000073d: MLOAD 0000073e: RETURNDATASIZE 0000073f: PUSH1 0x1f 00000741: NOT 00000742: PUSH1 0x1f 00000744: DUP3 00000745: ADD 00000746: AND 00000747: DUP3 00000748: ADD 00000749: DUP1 0000074a: PUSH1 0x40 0000074c: MSTORE 0000074d: POP 0000074e: DUP2 0000074f: ADD 00000750: SWAP1 00000751: PUSH2 0x075a 00000754: SWAP2 00000755: SWAP1 00000756: PUSH2 0x0b48 00000759: JUMP 0000075a: JUMPDEST 0000075b: PUSH1 0x13 0000075d: SLOAD 0000075e: PUSH1 0x40 00000760: MLOAD 00000761: PUSH4 0x70a08231 00000766: PUSH1 0xe0 00000768: SHL 00000769: DUP2 0000076a: MSTORE 0000076b: PUSH1 0x01 0000076d: PUSH1 0x01 0000076f: PUSH1 0xa0 00000771: SHL 00000772: SUB 00000773: SWAP1 00000774: SWAP2 00000775: AND 00000776: SWAP1 00000777: PUSH4 0x70a08231 0000077c: SWAP1 0000077d: PUSH2 0x078a 00000780: SWAP1 00000781: ORIGIN 00000782: SWAP1 00000783: PUSH1 0x04 00000785: ADD 00000786: PUSH2 0x0bad 00000789: JUMP 0000078a: JUMPDEST 0000078b: PUSH1 0x20 0000078d: PUSH1 0x40 0000078f: MLOAD 00000790: DUP1 00000791: DUP4 00000792: SUB 00000793: DUP2 00000794: DUP7 00000795: DUP1 00000796: EXTCODESIZE 00000797: ISZERO 00000798: DUP1 00000799: ISZERO 0000079a: PUSH2 0x07a2 0000079d: JUMPI 0000079e: PUSH1 0x00 000007a0: DUP1 000007a1: REVERT 000007a2: JUMPDEST 000007a3: POP 000007a4: GAS 000007a5: STATICCALL 000007a6: ISZERO 000007a7: DUP1 000007a8: ISZERO 000007a9: PUSH2 0x07b6 000007ac: JUMPI 000007ad: RETURNDATASIZE 000007ae: PUSH1 0x00 000007b0: DUP1 000007b1: RETURNDATACOPY 000007b2: RETURNDATASIZE 000007b3: PUSH1 0x00 000007b5: REVERT 000007b6: JUMPDEST 000007b7: POP 000007b8: POP 000007b9: POP 000007ba: POP 000007bb: PUSH1 0x40 000007bd: MLOAD 000007be: RETURNDATASIZE 000007bf: PUSH1 0x1f 000007c1: NOT 000007c2: PUSH1 0x1f 000007c4: DUP3 000007c5: ADD 000007c6: AND 000007c7: DUP3 000007c8: ADD 000007c9: DUP1 000007ca: PUSH1 0x40 000007cc: MSTORE 000007cd: POP 000007ce: DUP2 000007cf: ADD 000007d0: SWAP1 000007d1: PUSH2 0x07da 000007d4: SWAP2 000007d5: SWAP1 000007d6: PUSH2 0x0b48 000007d9: JUMP 000007da: JUMPDEST 000007db: ADD 000007dc: DUP2 000007dd: PUSH2 0x07e2 000007e0: JUMPI 000007e1: INVALID 000007e2: JUMPDEST 000007e3: DIV 000007e4: SWAP1 000007e5: POP 000007e6: PUSH9 0x01a055690d9db80000 000007f0: DUP2 000007f1: LT 000007f2: ISZERO 000007f3: PUSH2 0x0800 000007f6: JUMPI 000007f7: PUSH1 0x00 000007f9: SWAP2 000007fa: POP 000007fb: POP 000007fc: PUSH2 0x0847 000007ff: JUMP 00000800: JUMPDEST 00000801: PUSH1 0x00 00000803: PUSH2 0x0815 00000806: DUP3 00000807: PUSH9 0x056bc75e2d63100000 00000811: PUSH2 0x0a47 00000814: JUMP 00000815: JUMPDEST 00000816: SWAP1 00000817: POP 00000818: PUSH1 0x00 0000081a: PUSH2 0x0828 0000081d: DUP6 0000081e: PUSH5 0x174876e800 00000824: PUSH2 0x0a47 00000827: JUMP 00000828: JUMPDEST 00000829: SWAP1 0000082a: POP 0000082b: PUSH1 0x00 0000082d: PUSH9 0x056bc75e2d63100000 00000837: PUSH3 0x0186a0 0000083b: DUP5 0000083c: MUL 0000083d: DIV 0000083e: SWAP2 0000083f: SWAP1 00000840: SWAP2 00000841: MUL 00000842: SWAP4 00000843: POP 00000844: POP 00000845: POP 00000846: POP 00000847: JUMPDEST 00000848: SWAP2 00000849: SWAP1 0000084a: POP 0000084b: JUMP 0000084c: JUMPDEST 0000084d: PUSH1 0x0e 0000084f: SLOAD 00000850: PUSH1 0x01 00000852: PUSH1 0xe0 00000854: SHL 00000855: SWAP1 00000856: DIV 00000857: PUSH4 0xffffffff 0000085c: AND 0000085d: DUP2 0000085e: JUMP 0000085f: JUMPDEST 00000860: PUSH1 0x04 00000862: SLOAD 00000863: PUSH1 0x01 00000865: PUSH1 0x01 00000867: PUSH1 0xa0 00000869: SHL 0000086a: SUB 0000086b: AND 0000086c: CALLER 0000086d: EQ 0000086e: PUSH2 0x0889 00000871: JUMPI 00000872: PUSH1 0x40 00000874: MLOAD 00000875: PUSH3 0x461bcd 00000879: PUSH1 0xe5 0000087b: SHL 0000087c: DUP2 0000087d: MSTORE 0000087e: PUSH1 0x04 00000880: ADD 00000881: PUSH2 0x04d0 00000884: SWAP1 00000885: PUSH2 0x0c67 00000888: JUMP 00000889: JUMPDEST 0000088a: DUP1 0000088b: SELFBALANCE 0000088c: LT 0000088d: ISZERO 0000088e: PUSH2 0x08a9 00000891: JUMPI 00000892: PUSH1 0x40 00000894: MLOAD 00000895: PUSH3 0x461bcd 00000899: PUSH1 0xe5 0000089b: SHL 0000089c: DUP2 0000089d: MSTORE 0000089e: PUSH1 0x04 000008a0: ADD 000008a1: PUSH2 0x04d0 000008a4: SWAP1 000008a5: PUSH2 0x0c30 000008a8: JUMP 000008a9: JUMPDEST 000008aa: PUSH1 0x14 000008ac: DUP5 000008ad: SWAP1 000008ae: SSTORE 000008af: PUSH1 0x15 000008b1: DUP4 000008b2: SWAP1 000008b3: SSTORE 000008b4: DUP4 000008b5: DUP4 000008b6: SUB 000008b7: DUP3 000008b8: DUP3 000008b9: SUB 000008ba: DUP2 000008bb: PUSH2 0x08c0 000008be: JUMPI 000008bf: INVALID 000008c0: JUMPDEST 000008c1: SDIV 000008c2: PUSH1 0x16 000008c4: SSTORE 000008c5: POP 000008c6: SELFBALANCE 000008c7: SWAP1 000008c8: SUB 000008c9: PUSH1 0x17 000008cb: SSTORE 000008cc: POP 000008cd: POP 000008ce: JUMP 000008cf: JUMPDEST 000008d0: PUSH1 0x04 000008d2: SLOAD 000008d3: PUSH1 0x01 000008d5: PUSH1 0x01 000008d7: PUSH1 0xa0 000008d9: SHL 000008da: SUB 000008db: AND 000008dc: DUP2 000008dd: JUMP 000008de: JUMPDEST 000008df: PUSH1 0x00 000008e1: PUSH1 0x14 000008e3: SLOAD 000008e4: DUP3 000008e5: LT 000008e6: DUP1 000008e7: PUSH2 0x08f1 000008ea: JUMPI 000008eb: POP 000008ec: DUP2 000008ed: PUSH1 0x15 000008ef: SLOAD 000008f0: LT 000008f1: JUMPDEST 000008f2: ISZERO 000008f3: PUSH2 0x08fe 000008f6: JUMPI 000008f7: POP 000008f8: PUSH1 0x00 000008fa: PUSH2 0x0847 000008fd: JUMP 000008fe: JUMPDEST 000008ff: PUSH1 0x17 00000901: SLOAD 00000902: PUSH1 0x14 00000904: SLOAD 00000905: DUP4 00000906: SUB 00000907: PUSH1 0x16 00000909: SLOAD 0000090a: MUL 0000090b: SELFBALANCE 0000090c: ADD 0000090d: ADD 0000090e: SWAP1 0000090f: POP 00000910: SWAP2 00000911: SWAP1 00000912: POP 00000913: JUMP 00000914: JUMPDEST 00000915: PUSH1 0x00 00000917: DUP4 00000918: PUSH1 0x0f 0000091a: SIGNEXTEND 0000091b: PUSH1 0x00 0000091d: EQ 0000091e: PUSH2 0x092c 00000921: JUMPI 00000922: PUSH5 0xe8d4a51000 00000928: DUP4 00000929: MUL 0000092a: SWAP3 0000092b: POP 0000092c: JUMPDEST 0000092d: PUSH9 0x3635c9adc5dea00000 00000937: DUP4 00000938: LT 00000939: PUSH2 0x096a 0000093c: JUMPI 0000093d: PUSH1 0x00 0000093f: PUSH2 0x0947 00000942: NUMBER 00000943: PUSH2 0x08de 00000946: JUMP 00000947: JUMPDEST 00000948: SWAP1 00000949: POP 0000094a: PUSH1 0x00 0000094c: PUSH2 0x0960 0000094f: PUSH2 0x0957 00000952: DUP6 00000953: PUSH2 0x06d4 00000956: JUMP 00000957: JUMPDEST 00000958: PUSH1 0x0a 0000095a: DUP5 0000095b: DIV 0000095c: PUSH2 0x0a47 0000095f: JUMP 00000960: JUMPDEST 00000961: SWAP3 00000962: POP 00000963: PUSH2 0x096e 00000966: SWAP2 00000967: POP 00000968: POP 00000969: JUMP 0000096a: JUMPDEST 0000096b: POP 0000096c: PUSH1 0x00 0000096e: JUMPDEST 0000096f: SWAP4 00000970: SWAP3 00000971: POP 00000972: POP 00000973: POP 00000974: JUMP 00000975: JUMPDEST 00000976: PUSH1 0x0e 00000978: SLOAD 00000979: PUSH1 0x01 0000097b: PUSH1 0xa0 0000097d: SHL 0000097e: SWAP1 0000097f: DIV 00000980: PUSH8 0xffffffffffffffff 00000989: AND 0000098a: DUP2 0000098b: JUMP 0000098c: JUMPDEST 0000098d: PUSH1 0x07 0000098f: SLOAD 00000990: DUP2 00000991: JUMP 00000992: JUMPDEST 00000993: PUSH1 0x00 00000995: DUP2 00000996: DUP2 00000997: SLOAD 00000998: DUP2 00000999: LT 0000099a: PUSH2 0x099f 0000099d: JUMPI 0000099e: INVALID 0000099f: JUMPDEST 000009a0: PUSH1 0x00 000009a2: SWAP2 000009a3: DUP3 000009a4: MSTORE 000009a5: PUSH1 0x20 000009a7: SWAP1 000009a8: SWAP2 000009a9: KECCAK256 000009aa: ADD 000009ab: SLOAD 000009ac: PUSH1 0x01 000009ae: PUSH1 0x01 000009b0: PUSH1 0xa0 000009b2: SHL 000009b3: SUB 000009b4: AND 000009b5: SWAP1 000009b6: POP 000009b7: DUP2 000009b8: JUMP 000009b9: JUMPDEST 000009ba: PUSH1 0x02 000009bc: SLOAD 000009bd: DUP2 000009be: JUMP 000009bf: JUMPDEST 000009c0: PUSH1 0x0b 000009c2: SLOAD 000009c3: DUP2 000009c4: JUMP 000009c5: JUMPDEST 000009c6: PUSH1 0x0d 000009c8: SLOAD 000009c9: DUP2 000009ca: JUMP 000009cb: JUMPDEST 000009cc: PUSH1 0x03 000009ce: SLOAD 000009cf: DUP2 000009d0: JUMP 000009d1: JUMPDEST 000009d2: DUP2 000009d3: PUSH1 0x0f 000009d5: SIGNEXTEND 000009d6: PUSH1 0x00 000009d8: EQ 000009d9: PUSH2 0x09e4 000009dc: JUMPI 000009dd: PUSH5 0xe8d4a51000 000009e3: MUL 000009e4: JUMPDEST 000009e5: PUSH9 0x3635c9adc5dea00000 000009ef: DUP2 000009f0: LT 000009f1: PUSH2 0x0a43 000009f4: JUMPI 000009f5: PUSH1 0x00 000009f7: PUSH2 0x09ff 000009fa: NUMBER 000009fb: PUSH2 0x08de 000009fe: JUMP 000009ff: JUMPDEST 00000a00: SWAP1 00000a01: POP 00000a02: PUSH1 0x00 00000a04: PUSH2 0x0a0f 00000a07: PUSH2 0x0957 00000a0a: GASPRICE 00000a0b: PUSH2 0x06d4 00000a0e: JUMP 00000a0f: JUMPDEST 00000a10: PUSH1 0x40 00000a12: MLOAD 00000a13: SWAP1 00000a14: SWAP2 00000a15: POP 00000a16: ORIGIN 00000a17: SWAP1 00000a18: DUP3 00000a19: ISZERO 00000a1a: PUSH2 0x08fc 00000a1d: MUL 00000a1e: SWAP1 00000a1f: DUP4 00000a20: SWAP1 00000a21: PUSH1 0x00 00000a23: DUP2 00000a24: DUP2 00000a25: DUP2 00000a26: DUP6 00000a27: DUP9 00000a28: DUP9 00000a29: CALL 00000a2a: SWAP4 00000a2b: POP 00000a2c: POP 00000a2d: POP 00000a2e: POP 00000a2f: ISZERO 00000a30: DUP1 00000a31: ISZERO 00000a32: PUSH2 0x0a3f 00000a35: JUMPI 00000a36: RETURNDATASIZE 00000a37: PUSH1 0x00 00000a39: DUP1 00000a3a: RETURNDATACOPY 00000a3b: RETURNDATASIZE 00000a3c: PUSH1 0x00 00000a3e: REVERT 00000a3f: JUMPDEST 00000a40: POP 00000a41: POP 00000a42: POP 00000a43: JUMPDEST 00000a44: POP 00000a45: POP 00000a46: JUMP 00000a47: JUMPDEST 00000a48: PUSH1 0x00 00000a4a: DUP2 00000a4b: DUP4 00000a4c: LT 00000a4d: PUSH2 0x0a56 00000a50: JUMPI 00000a51: DUP2 00000a52: PUSH2 0x0a58 00000a55: JUMP 00000a56: JUMPDEST 00000a57: DUP3 00000a58: JUMPDEST 00000a59: SWAP1 00000a5a: POP 00000a5b: JUMPDEST 00000a5c: SWAP3 00000a5d: SWAP2 00000a5e: POP 00000a5f: POP 00000a60: JUMP 00000a61: JUMPDEST 00000a62: DUP1 00000a63: CALLDATALOAD 00000a64: PUSH1 0x0f 00000a66: DUP2 00000a67: SWAP1 00000a68: SIGNEXTEND 00000a69: DUP2 00000a6a: EQ 00000a6b: PUSH2 0x0a5b 00000a6e: JUMPI 00000a6f: PUSH1 0x00 00000a71: DUP1 00000a72: REVERT 00000a73: JUMPDEST 00000a74: PUSH1 0x00 00000a76: PUSH1 0x20 00000a78: DUP3 00000a79: DUP5 00000a7a: SUB 00000a7b: SLT 00000a7c: ISZERO 00000a7d: PUSH2 0x0a84 00000a80: JUMPI 00000a81: DUP1 00000a82: DUP2 00000a83: REVERT 00000a84: JUMPDEST 00000a85: DUP2 00000a86: CALLDATALOAD 00000a87: PUSH1 0x01 00000a89: PUSH1 0x01 00000a8b: PUSH1 0xa0 00000a8d: SHL 00000a8e: SUB 00000a8f: DUP2 00000a90: AND 00000a91: DUP2 00000a92: EQ 00000a93: PUSH2 0x096e 00000a96: JUMPI 00000a97: DUP2 00000a98: DUP3 00000a99: REVERT 00000a9a: JUMPDEST 00000a9b: PUSH1 0x00 00000a9d: PUSH1 0x20 00000a9f: DUP3 00000aa0: DUP5 00000aa1: SUB 00000aa2: SLT 00000aa3: ISZERO 00000aa4: PUSH2 0x0aab 00000aa7: JUMPI 00000aa8: DUP1 00000aa9: DUP2 00000aaa: REVERT 00000aab: JUMPDEST 00000aac: DUP2 00000aad: MLOAD 00000aae: DUP1 00000aaf: ISZERO 00000ab0: ISZERO 00000ab1: DUP2 00000ab2: EQ 00000ab3: PUSH2 0x096e 00000ab6: JUMPI 00000ab7: DUP2 00000ab8: DUP3 00000ab9: REVERT 00000aba: JUMPDEST 00000abb: PUSH1 0x00 00000abd: DUP1 00000abe: PUSH1 0x00 00000ac0: DUP1 00000ac1: PUSH1 0x80 00000ac3: DUP6 00000ac4: DUP8 00000ac5: SUB 00000ac6: SLT 00000ac7: ISZERO 00000ac8: PUSH2 0x0acf 00000acb: JUMPI 00000acc: DUP3 00000acd: DUP4 00000ace: REVERT 00000acf: JUMPDEST 00000ad0: PUSH2 0x0ad9 00000ad3: DUP7 00000ad4: DUP7 00000ad5: PUSH2 0x0a61 00000ad8: JUMP 00000ad9: JUMPDEST 00000ada: SWAP4 00000adb: POP 00000adc: PUSH2 0x0ae8 00000adf: DUP7 00000ae0: PUSH1 0x20 00000ae2: DUP8 00000ae3: ADD 00000ae4: PUSH2 0x0a61 00000ae7: JUMP 00000ae8: JUMPDEST 00000ae9: SWAP4 00000aea: SWAP7 00000aeb: SWAP4 00000aec: SWAP6 00000aed: POP 00000aee: POP 00000aef: POP 00000af0: POP 00000af1: PUSH1 0x40 00000af3: DUP3 00000af4: ADD 00000af5: CALLDATALOAD 00000af6: SWAP2 00000af7: PUSH1 0x60 00000af9: ADD 00000afa: CALLDATALOAD 00000afb: SWAP1 00000afc: JUMP 00000afd: JUMPDEST 00000afe: PUSH1 0x00 00000b00: DUP1 00000b01: PUSH1 0x00 00000b03: PUSH1 0x60 00000b05: DUP5 00000b06: DUP7 00000b07: SUB 00000b08: SLT 00000b09: ISZERO 00000b0a: PUSH2 0x0b11 00000b0d: JUMPI 00000b0e: DUP3 00000b0f: DUP4 00000b10: REVERT 00000b11: JUMPDEST 00000b12: PUSH2 0x0b1b 00000b15: DUP6 00000b16: DUP6 00000b17: PUSH2 0x0a61 00000b1a: JUMP 00000b1b: JUMPDEST 00000b1c: SWAP6 00000b1d: PUSH1 0x20 00000b1f: DUP6 00000b20: ADD 00000b21: CALLDATALOAD 00000b22: SWAP6 00000b23: POP 00000b24: PUSH1 0x40 00000b26: SWAP1 00000b27: SWAP5 00000b28: ADD 00000b29: CALLDATALOAD 00000b2a: SWAP4 00000b2b: SWAP3 00000b2c: POP 00000b2d: POP 00000b2e: POP 00000b2f: JUMP 00000b30: JUMPDEST 00000b31: PUSH1 0x00 00000b33: PUSH1 0x20 00000b35: DUP3 00000b36: DUP5 00000b37: SUB 00000b38: SLT 00000b39: ISZERO 00000b3a: PUSH2 0x0b41 00000b3d: JUMPI 00000b3e: DUP1 00000b3f: DUP2 00000b40: REVERT 00000b41: JUMPDEST 00000b42: POP 00000b43: CALLDATALOAD 00000b44: SWAP2 00000b45: SWAP1 00000b46: POP 00000b47: JUMP 00000b48: JUMPDEST 00000b49: PUSH1 0x00 00000b4b: PUSH1 0x20 00000b4d: DUP3 00000b4e: DUP5 00000b4f: SUB 00000b50: SLT 00000b51: ISZERO 00000b52: PUSH2 0x0b59 00000b55: JUMPI 00000b56: DUP1 00000b57: DUP2 00000b58: REVERT 00000b59: JUMPDEST 00000b5a: POP 00000b5b: MLOAD 00000b5c: SWAP2 00000b5d: SWAP1 00000b5e: POP 00000b5f: JUMP 00000b60: JUMPDEST 00000b61: PUSH1 0x00 00000b63: DUP1 00000b64: PUSH1 0x00 00000b66: DUP1 00000b67: PUSH1 0x80 00000b69: DUP6 00000b6a: DUP8 00000b6b: SUB 00000b6c: SLT 00000b6d: ISZERO 00000b6e: PUSH2 0x0b75 00000b71: JUMPI 00000b72: DUP4 00000b73: DUP5 00000b74: REVERT 00000b75: JUMPDEST 00000b76: POP 00000b77: POP 00000b78: DUP3 00000b79: CALLDATALOAD 00000b7a: SWAP5 00000b7b: PUSH1 0x20 00000b7d: DUP5 00000b7e: ADD 00000b7f: CALLDATALOAD 00000b80: SWAP5 00000b81: POP 00000b82: PUSH1 0x40 00000b84: DUP5 00000b85: ADD 00000b86: CALLDATALOAD 00000b87: SWAP4 00000b88: PUSH1 0x60 00000b8a: ADD 00000b8b: CALLDATALOAD 00000b8c: SWAP3 00000b8d: POP 00000b8e: SWAP1 00000b8f: POP 00000b90: JUMP 00000b91: JUMPDEST 00000b92: PUSH1 0x00 00000b94: DUP3 00000b95: MLOAD 00000b96: PUSH2 0x0ba3 00000b99: DUP2 00000b9a: DUP5 00000b9b: PUSH1 0x20 00000b9d: DUP8 00000b9e: ADD 00000b9f: PUSH2 0x0cc3 00000ba2: JUMP 00000ba3: JUMPDEST 00000ba4: SWAP2 00000ba5: SWAP1 00000ba6: SWAP2 00000ba7: ADD 00000ba8: SWAP3 00000ba9: SWAP2 00000baa: POP 00000bab: POP 00000bac: JUMP 00000bad: JUMPDEST 00000bae: PUSH1 0x01 00000bb0: PUSH1 0x01 00000bb2: PUSH1 0xa0 00000bb4: SHL 00000bb5: SUB 00000bb6: SWAP2 00000bb7: SWAP1 00000bb8: SWAP2 00000bb9: AND 00000bba: DUP2 00000bbb: MSTORE 00000bbc: PUSH1 0x20 00000bbe: ADD 00000bbf: SWAP1 00000bc0: JUMP 00000bc1: JUMPDEST 00000bc2: PUSH1 0x01 00000bc4: PUSH1 0x01 00000bc6: PUSH1 0xa0 00000bc8: SHL 00000bc9: SUB 00000bca: SWAP3 00000bcb: SWAP1 00000bcc: SWAP3 00000bcd: AND 00000bce: DUP3 00000bcf: MSTORE 00000bd0: PUSH1 0x20 00000bd2: DUP3 00000bd3: ADD 00000bd4: MSTORE 00000bd5: PUSH1 0x40 00000bd7: ADD 00000bd8: SWAP1 00000bd9: JUMP 00000bda: JUMPDEST 00000bdb: PUSH1 0x0f 00000bdd: SWAP5 00000bde: DUP6 00000bdf: SIGNEXTEND 00000be0: DUP2 00000be1: MSTORE 00000be2: SWAP3 00000be3: SWAP1 00000be4: SWAP4 00000be5: SIGNEXTEND 00000be6: PUSH1 0x20 00000be8: DUP4 00000be9: ADD 00000bea: MSTORE 00000beb: PUSH1 0x40 00000bed: DUP3 00000bee: ADD 00000bef: MSTORE 00000bf0: PUSH1 0x60 00000bf2: DUP2 00000bf3: ADD 00000bf4: SWAP2 00000bf5: SWAP1 00000bf6: SWAP2 00000bf7: MSTORE 00000bf8: PUSH1 0x80 00000bfa: ADD 00000bfb: SWAP1 00000bfc: JUMP 00000bfd: JUMPDEST 00000bfe: PUSH1 0x00 00000c00: PUSH1 0x20 00000c02: DUP3 00000c03: MSTORE 00000c04: DUP3 00000c05: MLOAD 00000c06: DUP1 00000c07: PUSH1 0x20 00000c09: DUP5 00000c0a: ADD 00000c0b: MSTORE 00000c0c: PUSH2 0x0c1c 00000c0f: DUP2 00000c10: PUSH1 0x40 00000c12: DUP6 00000c13: ADD 00000c14: PUSH1 0x20 00000c16: DUP8 00000c17: ADD 00000c18: PUSH2 0x0cc3 00000c1b: JUMP 00000c1c: JUMPDEST 00000c1d: PUSH1 0x1f 00000c1f: ADD 00000c20: PUSH1 0x1f 00000c22: NOT 00000c23: AND 00000c24: SWAP2 00000c25: SWAP1 00000c26: SWAP2 00000c27: ADD 00000c28: PUSH1 0x40 00000c2a: ADD 00000c2b: SWAP3 00000c2c: SWAP2 00000c2d: POP 00000c2e: POP 00000c2f: JUMP 00000c30: JUMPDEST 00000c31: PUSH1 0x20 00000c33: DUP1 00000c34: DUP3 00000c35: MSTORE 00000c36: PUSH1 0x17 00000c38: SWAP1 00000c39: DUP3 00000c3a: ADD 00000c3b: MSTORE 00000c3c: PUSH32 0x62616c616e6365203c20746f74616c436173686261636b000000000000000000 00000c5d: PUSH1 0x40 00000c5f: DUP3 00000c60: ADD 00000c61: MSTORE 00000c62: PUSH1 0x60 00000c64: ADD 00000c65: SWAP1 00000c66: JUMP 00000c67: JUMPDEST 00000c68: PUSH1 0x20 00000c6a: DUP1 00000c6b: DUP3 00000c6c: MSTORE 00000c6d: PUSH1 0x13 00000c6f: SWAP1 00000c70: DUP3 00000c71: ADD 00000c72: MSTORE 00000c73: PUSH19 0x36b9b39739b2b73232b9101e9e9037bbb732b9 00000c87: PUSH1 0x69 00000c89: SHL 00000c8a: PUSH1 0x40 00000c8c: DUP3 00000c8d: ADD 00000c8e: MSTORE 00000c8f: PUSH1 0x60 00000c91: ADD 00000c92: SWAP1 00000c93: JUMP 00000c94: JUMPDEST 00000c95: SWAP1 00000c96: DUP2 00000c97: MSTORE 00000c98: PUSH1 0x20 00000c9a: ADD 00000c9b: SWAP1 00000c9c: JUMP 00000c9d: JUMPDEST 00000c9e: PUSH4 0xffffffff 00000ca3: SWAP2 00000ca4: SWAP1 00000ca5: SWAP2 00000ca6: AND 00000ca7: DUP2 00000ca8: MSTORE 00000ca9: PUSH1 0x20 00000cab: ADD 00000cac: SWAP1 00000cad: JUMP 00000cae: JUMPDEST 00000caf: PUSH8 0xffffffffffffffff 00000cb8: SWAP2 00000cb9: SWAP1 00000cba: SWAP2 00000cbb: AND 00000cbc: DUP2 00000cbd: MSTORE 00000cbe: PUSH1 0x20 00000cc0: ADD 00000cc1: SWAP1 00000cc2: JUMP 00000cc3: JUMPDEST 00000cc4: PUSH1 0x00 00000cc6: JUMPDEST 00000cc7: DUP4 00000cc8: DUP2 00000cc9: LT 00000cca: ISZERO 00000ccb: PUSH2 0x0cde 00000cce: JUMPI 00000ccf: DUP2 00000cd0: DUP2 00000cd1: ADD 00000cd2: MLOAD 00000cd3: DUP4 00000cd4: DUP3 00000cd5: ADD 00000cd6: MSTORE 00000cd7: PUSH1 0x20 00000cd9: ADD 00000cda: PUSH2 0x0cc6 00000cdd: JUMP 00000cde: JUMPDEST 00000cdf: DUP4 00000ce0: DUP2 00000ce1: GT 00000ce2: ISZERO 00000ce3: PUSH2 0x0ced 00000ce6: JUMPI 00000ce7: PUSH1 0x00 00000ce9: DUP5 00000cea: DUP5 00000ceb: ADD 00000cec: MSTORE 00000ced: JUMPDEST 00000cee: POP 00000cef: POP 00000cf0: POP 00000cf1: POP 00000cf2: JUMP 00000cf3: INVALID 00000cf4: LOG2 00000cf5: PUSH5 0x6970667358 00000cfb: UNKNOWN(0x22) 00000cfc: SLT 00000cfd: KECCAK256 00000cfe: SWAP9 00000cff: CREATE2 00000d00: SIGNEXTEND 00000d01: SUB 00000d02: UNKNOWN(0xB9) 00000d03: UNKNOWN(0xAB) 00000d04: SWAP9 00000d05: UNKNOWN(0xBA) 00000d06: UNKNOWN(0xBC) 00000d07: CALLDATACOPY 00000d08: GAS 00000d09: PUSH6 0x42b3d8c23f6f 00000d10: UNKNOWN(0xE9) 00000d11: PUSH9 0x082d38523b1d3665aa 00000d1b: UNKNOWN(0xBE) 00000d1c: LOG1 00000d1d: UNKNOWN(0xD5) 00000d1e: PUSH5 0x736f6c6343 00000d24: STOP 00000d25: MOD 00000d26: UNKNOWN(0x0C) 00000d27: STOP 00000d28: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | upgradeability | detector | Untrusted DELEGATECALL target reachable | 55 | no | no |
viewtrace_id: 0x8ca5a3f86f67e6b9371893c40fb86dc0241149b70fda6d46db942bd9737abb03
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 192,
"trace_id": "0x8ca5a3f86f67e6b9371893c40fb86dc0241149b70fda6d46db942bd9737abb03",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xb4b577ad",
"selector": "0xb4b577ad",
"calldata_variants": [
"0xb4b577ad",
"0xb4b577ad0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc6610657",
"selector": "0xc6610657",
"calldata_variants": [
"0xc6610657",
"0xc66106570000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xddca3f43",
"selector": "0xddca3f43",
"calldata_variants": [
"0xddca3f43",
"0xddca3f430000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe0a0b586",
"selector": "0xe0a0b586",
"calldata_variants": [
"0xe0a0b586",
"0xe0a0b5860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe3824462",
"selector": "0xe3824462",
"calldata_variants": [
"0xe3824462",
"0xe38244620000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfee3f7f9",
"selector": "0xfee3f7f9",
"calldata_variants": [
"0xfee3f7f9",
"0xfee3f7f90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6a9efeab",
"selector": "0x6a9efeab",
"calldata_variants": [
"0x6a9efeab",
"0x6a9efeab0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7d008a40",
"selector": "0x7d008a40",
"calldata_variants": [
"0x7d008a40",
"0x7d008a400000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1000,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 1137,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [
{
"pc": 1921,
"type": "tx_origin_used"
},
{
"pc": 2582,
"type": "tx_origin_used"
}
],
"delegatecall_count": 2,
"untrusted_delegatecall_count": 2
}
|
| high | auth | detector | Authorization based on tx.origin | 70 | no | — |
viewvalidation_json{
"reason": "missing sink mapping",
"status": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xb4b577ad",
"selector": "0xb4b577ad",
"calldata_variants": [
"0xb4b577ad",
"0xb4b577ad0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc6610657",
"selector": "0xc6610657",
"calldata_variants": [
"0xc6610657",
"0xc66106570000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xddca3f43",
"selector": "0xddca3f43",
"calldata_variants": [
"0xddca3f43",
"0xddca3f430000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe0a0b586",
"selector": "0xe0a0b586",
"calldata_variants": [
"0xe0a0b586",
"0xe0a0b5860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe3824462",
"selector": "0xe3824462",
"calldata_variants": [
"0xe3824462",
"0xe38244620000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfee3f7f9",
"selector": "0xfee3f7f9",
"calldata_variants": [
"0xfee3f7f9",
"0xfee3f7f90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6a9efeab",
"selector": "0x6a9efeab",
"calldata_variants": [
"0x6a9efeab",
"0x6a9efeab0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7d008a40",
"selector": "0x7d008a40",
"calldata_variants": [
"0x7d008a40",
"0x7d008a400000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 1921,
"type": "tx_origin_used"
},
{
"pc": 2582,
"type": "tx_origin_used"
}
]
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 2
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0xce9d6a84eb5c2910f4feb6d89e73ace488b5e6367696594742481e28b783d947
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0xce9d6a84eb5c2910f4feb6d89e73ace488b5e6367696594742481e28b783d947",
"confirmed": false,
"trace_mode": "structLogs",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xb4b577ad",
"selector": "0xb4b577ad",
"calldata_variants": [
"0xb4b577ad",
"0xb4b577ad0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc6610657",
"selector": "0xc6610657",
"calldata_variants": [
"0xc6610657",
"0xc66106570000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xddca3f43",
"selector": "0xddca3f43",
"calldata_variants": [
"0xddca3f43",
"0xddca3f430000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe0a0b586",
"selector": "0xe0a0b586",
"calldata_variants": [
"0xe0a0b586",
"0xe0a0b5860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe3824462",
"selector": "0xe3824462",
"calldata_variants": [
"0xe3824462",
"0xe38244620000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfee3f7f9",
"selector": "0xfee3f7f9",
"calldata_variants": [
"0xfee3f7f9",
"0xfee3f7f90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6a9efeab",
"selector": "0x6a9efeab",
"calldata_variants": [
"0x6a9efeab",
"0x6a9efeab0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7d008a40",
"selector": "0x7d008a40",
"calldata_variants": [
"0x7d008a40",
"0x7d008a400000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 0,
"create2_count": 1
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x48bc5aed34e5cb063c3bb67c5ecd1cb8e8ed6f05b5b990894a14541f871736c1
call_targets:
0x3333333acdedbbc9ad7bda0876e60714195681c5
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x48bc5aed34e5cb063c3bb67c5ecd1cb8e8ed6f05b5b990894a14541f871736c1",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x3333333acdedbbc9ad7bda0876e60714195681c5"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xb4b577ad",
"selector": "0xb4b577ad",
"calldata_variants": [
"0xb4b577ad",
"0xb4b577ad0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc6610657",
"selector": "0xc6610657",
"calldata_variants": [
"0xc6610657",
"0xc66106570000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xddca3f43",
"selector": "0xddca3f43",
"calldata_variants": [
"0xddca3f43",
"0xddca3f430000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe0a0b586",
"selector": "0xe0a0b586",
"calldata_variants": [
"0xe0a0b586",
"0xe0a0b5860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe3824462",
"selector": "0xe3824462",
"calldata_variants": [
"0xe3824462",
"0xe38244620000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfee3f7f9",
"selector": "0xfee3f7f9",
"calldata_variants": [
"0xfee3f7f9",
"0xfee3f7f90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6a9efeab",
"selector": "0x6a9efeab",
"calldata_variants": [
"0x6a9efeab",
"0x6a9efeab0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7d008a40",
"selector": "0x7d008a40",
"calldata_variants": [
"0x7d008a40",
"0x7d008a400000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1575,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2601,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": [
{
"pc": 1921,
"type": "tx_origin_used"
},
{
"pc": 2582,
"type": "tx_origin_used"
}
]
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x48bc5aed34e5cb063c3bb67c5ecd1cb8e8ed6f05b5b990894a14541f871736c1
call_targets:
0x3333333acdedbbc9ad7bda0876e60714195681c5
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x48bc5aed34e5cb063c3bb67c5ecd1cb8e8ed6f05b5b990894a14541f871736c1",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x3333333acdedbbc9ad7bda0876e60714195681c5"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xb4b577ad",
"selector": "0xb4b577ad",
"calldata_variants": [
"0xb4b577ad",
"0xb4b577ad0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc6610657",
"selector": "0xc6610657",
"calldata_variants": [
"0xc6610657",
"0xc66106570000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xddca3f43",
"selector": "0xddca3f43",
"calldata_variants": [
"0xddca3f43",
"0xddca3f430000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe0a0b586",
"selector": "0xe0a0b586",
"calldata_variants": [
"0xe0a0b586",
"0xe0a0b5860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe3824462",
"selector": "0xe3824462",
"calldata_variants": [
"0xe3824462",
"0xe38244620000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfee3f7f9",
"selector": "0xfee3f7f9",
"calldata_variants": [
"0xfee3f7f9",
"0xfee3f7f90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6a9efeab",
"selector": "0x6a9efeab",
"calldata_variants": [
"0x6a9efeab",
"0x6a9efeab0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7d008a40",
"selector": "0x7d008a40",
"calldata_variants": [
"0x7d008a40",
"0x7d008a400000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1575,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2601,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 2,
"guards_detected": [
{
"pc": 1921,
"type": "tx_origin_used"
},
{
"pc": 2582,
"type": "tx_origin_used"
}
],
"untrusted_call_count": 2
}
|
| low | other | cast | Contract creation opcode present | 60 | no | — |
viewevidence_json{
"notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
"create_count": 0,
"create2_count": 1
}
|