TW
Tripwire
Find contracts. Test them. Review real vulns.

Analysis Run

019b3836-5e76-71e9-948d-d7697db00135

complete
Chain ID
1
Address
Block Number
Created
Fri, Dec 19, 2025 8:04 PM
Review Summary

What survived the funnel

Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?

Confirmed
3
Validated
3
Source
Bytecode only
Review Backing
Not yet
Best current signal
Untrusted CALL target/value reachable
crit 0 high 2 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
9491 artifact.fetch complete 1 / 3 3 months ago
9492 tool.cast_disasm complete 1 / 3 3 months ago
82668 analysis.bundle complete 1 / 3 1 week ago
82669 capability.graph complete 1 / 3 1 week ago
82670 detector.run complete 1 / 3 1 week ago
82671 validation.fork complete 1 / 3 1 week ago
113660 report.consolidate complete 1 / 6 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no
Implementation:
Verified Source: no

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
0
No findings?
View stderr
OpenAI Codex v0.118.0 (research preview)
--------
workdir: /tmp/codex-e7xx2nrz
model: gpt-5.4
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: none
session id: 019d5c9a-b467-72d3-9941-4375d3cee94f
--------
user
You are a security auditor. You ONLY have runtime bytecode + analysis artifacts.
You MUST read `BYTECODE_BUNDLE.json` before concluding; it contains the bytecode summary,
evidence bundle, callsites, storage slots, and detector findings.

Special cases when reasoning from bytecode (be explicit about uncertainty):
- Selector inference is best-effort; missing selectors are common.
- Fallback/receive paths may be the only entrypoints.
- CALL vs DELEGATECALL semantics differ; DELEGATECALL executes in caller storage.
- Proxy patterns (EIP-1967, minimal proxies, beacon) change which storage is authoritative.
- Storage slots are raw; mappings/arrays appear via keccak patterns, names are unknown.
- Guard detection is heuristic; absence of guards does NOT mean unguarded.
- Returndata checking is unknown unless explicitly shown in evidence.
- Precompiles (0x1..0x9) and common ERC20 transfer selectors may appear; do not over-claim.

Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title.
- Locations can be pc references like "pc:0x123" or selectors like "selector:0xa9059cbb".

Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation,
accounting/invariant breaks, dangerous delegatecall, and untrusted external calls.
Be conservative: if evidence is weak, mark severity low/medium and explain why.
warning: Codex could not find system bubblewrap on PATH. Please install bubblewrap with your package manager. Codex will use the vendored bubblewrap in the meantime.
ERROR: You've hit your usage limit. Visit https://chatgpt.com/codex/settings/usage to purchase more credits or try again at Apr 8th, 2026 9:11 AM.
ERROR: You've hit your usage limit. Visit https://chatgpt.com/codex/settings/usage to purchase more credits or try again at Apr 8th, 2026 9:11 AM.
Metadata
{
    "codex": {
        "ran_at": "2026-04-05T07:45:37.847854+00:00",
        "returncode": 1
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 5880,
        "bytecode_truncated": false,
        "capability_graph_present": true,
        "analysis_artifact_present": true
    },
    "summary": null,
    "no_findings": null,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
8
EXT*/BALANCE
3
Total opcodes
2061
Flags
create_opcodes_present
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x0061
0000000a: JUMPI
0000000b: PUSH1 0xe0
0000000d: PUSH1 0x02
0000000f: EXP
00000010: PUSH1 0x00
00000012: CALLDATALOAD
00000013: DIV
00000014: PUSH4 0x2de02f8c
00000019: DUP2
0000001a: EQ
0000001b: PUSH2 0x006f
0000001e: JUMPI
0000001f: DUP1
00000020: PUSH4 0x4a79d50c
00000025: EQ
00000026: PUSH2 0x0156
00000029: JUMPI
0000002a: DUP1
0000002b: PUSH4 0x5a3b7e42
00000030: EQ
00000031: PUSH2 0x01b8
00000034: JUMPI
00000035: DUP1
00000036: PUSH4 0x61fdbfd8
0000003b: EQ
0000003c: PUSH2 0x021b
0000003f: JUMPI
00000040: DUP1
00000041: PUSH4 0xa035b1fe
00000046: EQ
00000047: PUSH2 0x0328
0000004a: JUMPI
0000004b: DUP1
0000004c: PUSH4 0xc7802177
00000051: EQ
00000052: PUSH2 0x0336
00000055: JUMPI
00000056: DUP1
00000057: PUSH4 0xe6ad7c03
0000005c: EQ
0000005d: PUSH2 0x03c9
00000060: JUMPI
00000061: JUMPDEST
00000062: CALLVALUE
00000063: PUSH2 0x0002
00000066: JUMPI
00000067: PUSH2 0x041e
0000006a: JUMPDEST
0000006b: PUSH2 0x0002
0000006e: JUMP
0000006f: JUMPDEST
00000070: CALLVALUE
00000071: PUSH2 0x0002
00000074: JUMPI
00000075: PUSH2 0x0420
00000078: PUSH1 0x04
0000007a: DUP1
0000007b: DUP1
0000007c: CALLDATALOAD
0000007d: SWAP1
0000007e: PUSH1 0x20
00000080: ADD
00000081: SWAP1
00000082: DUP3
00000083: ADD
00000084: DUP1
00000085: CALLDATALOAD
00000086: SWAP1
00000087: PUSH1 0x20
00000089: ADD
0000008a: SWAP2
0000008b: SWAP2
0000008c: SWAP1
0000008d: DUP1
0000008e: DUP1
0000008f: PUSH1 0x1f
00000091: ADD
00000092: PUSH1 0x20
00000094: DUP1
00000095: SWAP2
00000096: DIV
00000097: MUL
00000098: PUSH1 0x20
0000009a: ADD
0000009b: PUSH1 0x40
0000009d: MLOAD
0000009e: SWAP1
0000009f: DUP2
000000a0: ADD
000000a1: PUSH1 0x40
000000a3: MSTORE
000000a4: DUP1
000000a5: SWAP4
000000a6: SWAP3
000000a7: SWAP2
000000a8: SWAP1
000000a9: DUP2
000000aa: DUP2
000000ab: MSTORE
000000ac: PUSH1 0x20
000000ae: ADD
000000af: DUP4
000000b0: DUP4
000000b1: DUP1
000000b2: DUP3
000000b3: DUP5
000000b4: CALLDATACOPY
000000b5: POP
000000b6: SWAP5
000000b7: SWAP7
000000b8: POP
000000b9: POP
000000ba: POP
000000bb: POP
000000bc: POP
000000bd: POP
000000be: POP
000000bf: PUSH1 0x00
000000c1: PUSH1 0x03
000000c3: PUSH1 0x00
000000c5: POP
000000c6: DUP3
000000c7: PUSH1 0x40
000000c9: MLOAD
000000ca: DUP1
000000cb: DUP3
000000cc: DUP1
000000cd: MLOAD
000000ce: SWAP1
000000cf: PUSH1 0x20
000000d1: ADD
000000d2: SWAP1
000000d3: DUP1
000000d4: DUP4
000000d5: DUP4
000000d6: DUP3
000000d7: SWAP1
000000d8: PUSH1 0x00
000000da: PUSH1 0x04
000000dc: PUSH1 0x20
000000de: DUP5
000000df: PUSH1 0x1f
000000e1: ADD
000000e2: DIV
000000e3: PUSH1 0x03
000000e5: MUL
000000e6: PUSH1 0x0f
000000e8: ADD
000000e9: CALL
000000ea: POP
000000eb: SWAP1
000000ec: POP
000000ed: ADD
000000ee: SWAP2
000000ef: POP
000000f0: POP
000000f1: SWAP1
000000f2: DUP2
000000f3: MSTORE
000000f4: PUSH1 0x20
000000f6: ADD
000000f7: PUSH1 0x40
000000f9: MLOAD
000000fa: DUP1
000000fb: SWAP2
000000fc: SUB
000000fd: SWAP1
000000fe: KECCAK256
000000ff: PUSH1 0x00
00000101: SWAP1
00000102: SLOAD
00000103: SWAP1
00000104: PUSH2 0x0100
00000107: EXP
00000108: SWAP1
00000109: DIV
0000010a: PUSH1 0xff
0000010c: AND
0000010d: ISZERO
0000010e: ISZERO
0000010f: PUSH1 0x01
00000111: ISZERO
00000112: ISZERO
00000113: EQ
00000114: ISZERO
00000115: PUSH2 0x04b4
00000118: JUMPI
00000119: PUSH1 0x40
0000011b: DUP1
0000011c: MLOAD
0000011d: DUP1
0000011e: DUP3
0000011f: ADD
00000120: SWAP1
00000121: SWAP2
00000122: MSTORE
00000123: PUSH1 0x07
00000125: DUP2
00000126: MSTORE
00000127: PUSH32 0x69732d7061696400000000000000000000000000000000000000000000000000
00000148: PUSH1 0x20
0000014a: DUP3
0000014b: ADD
0000014c: MSTORE
0000014d: PUSH2 0x06fd
00000150: SWAP1
00000151: DUP4
00000152: PUSH2 0x04ee
00000155: JUMP
00000156: JUMPDEST
00000157: CALLVALUE
00000158: PUSH2 0x0002
0000015b: JUMPI
0000015c: PUSH1 0x40
0000015e: DUP1
0000015f: MLOAD
00000160: PUSH1 0x01
00000162: DUP1
00000163: SLOAD
00000164: PUSH1 0x20
00000166: PUSH1 0x02
00000168: DUP3
00000169: DUP5
0000016a: AND
0000016b: ISZERO
0000016c: PUSH2 0x0100
0000016f: MUL
00000170: PUSH1 0x00
00000172: NOT
00000173: ADD
00000174: SWAP1
00000175: SWAP3
00000176: AND
00000177: SWAP2
00000178: SWAP1
00000179: SWAP2
0000017a: DIV
0000017b: PUSH1 0x1f
0000017d: DUP2
0000017e: ADD
0000017f: DUP3
00000180: SWAP1
00000181: DIV
00000182: DUP3
00000183: MUL
00000184: DUP5
00000185: ADD
00000186: DUP3
00000187: ADD
00000188: SWAP1
00000189: SWAP5
0000018a: MSTORE
0000018b: DUP4
0000018c: DUP4
0000018d: MSTORE
0000018e: PUSH2 0x0434
00000191: SWAP4
00000192: SWAP1
00000193: DUP4
00000194: ADD
00000195: DUP3
00000196: DUP3
00000197: DUP1
00000198: ISZERO
00000199: PUSH2 0x0739
0000019c: JUMPI
0000019d: DUP1
0000019e: PUSH1 0x1f
000001a0: LT
000001a1: PUSH2 0x070e
000001a4: JUMPI
000001a5: PUSH2 0x0100
000001a8: DUP1
000001a9: DUP4
000001aa: SLOAD
000001ab: DIV
000001ac: MUL
000001ad: DUP4
000001ae: MSTORE
000001af: SWAP2
000001b0: PUSH1 0x20
000001b2: ADD
000001b3: SWAP2
000001b4: PUSH2 0x0739
000001b7: JUMP
000001b8: JUMPDEST
000001b9: CALLVALUE
000001ba: PUSH2 0x0002
000001bd: JUMPI
000001be: PUSH1 0x40
000001c0: DUP1
000001c1: MLOAD
000001c2: PUSH1 0x00
000001c4: DUP1
000001c5: SLOAD
000001c6: PUSH1 0x20
000001c8: PUSH1 0x02
000001ca: PUSH1 0x01
000001cc: DUP4
000001cd: AND
000001ce: ISZERO
000001cf: PUSH2 0x0100
000001d2: MUL
000001d3: PUSH1 0x00
000001d5: NOT
000001d6: ADD
000001d7: SWAP1
000001d8: SWAP3
000001d9: AND
000001da: SWAP2
000001db: SWAP1
000001dc: SWAP2
000001dd: DIV
000001de: PUSH1 0x1f
000001e0: DUP2
000001e1: ADD
000001e2: DUP3
000001e3: SWAP1
000001e4: DIV
000001e5: DUP3
000001e6: MUL
000001e7: DUP5
000001e8: ADD
000001e9: DUP3
000001ea: ADD
000001eb: SWAP1
000001ec: SWAP5
000001ed: MSTORE
000001ee: DUP4
000001ef: DUP4
000001f0: MSTORE
000001f1: PUSH2 0x0434
000001f4: SWAP4
000001f5: SWAP1
000001f6: DUP4
000001f7: ADD
000001f8: DUP3
000001f9: DUP3
000001fa: DUP1
000001fb: ISZERO
000001fc: PUSH2 0x0739
000001ff: JUMPI
00000200: DUP1
00000201: PUSH1 0x1f
00000203: LT
00000204: PUSH2 0x070e
00000207: JUMPI
00000208: PUSH2 0x0100
0000020b: DUP1
0000020c: DUP4
0000020d: SLOAD
0000020e: DIV
0000020f: MUL
00000210: DUP4
00000211: MSTORE
00000212: SWAP2
00000213: PUSH1 0x20
00000215: ADD
00000216: SWAP2
00000217: PUSH2 0x0739
0000021a: JUMP
0000021b: JUMPDEST
0000021c: CALLVALUE
0000021d: PUSH2 0x0002
00000220: JUMPI
00000221: PUSH2 0x041e
00000224: PUSH1 0x04
00000226: DUP1
00000227: DUP1
00000228: CALLDATALOAD
00000229: SWAP1
0000022a: PUSH1 0x20
0000022c: ADD
0000022d: SWAP1
0000022e: DUP3
0000022f: ADD
00000230: DUP1
00000231: CALLDATALOAD
00000232: SWAP1
00000233: PUSH1 0x20
00000235: ADD
00000236: SWAP2
00000237: SWAP2
00000238: SWAP1
00000239: DUP1
0000023a: DUP1
0000023b: PUSH1 0x1f
0000023d: ADD
0000023e: PUSH1 0x20
00000240: DUP1
00000241: SWAP2
00000242: DIV
00000243: MUL
00000244: PUSH1 0x20
00000246: ADD
00000247: PUSH1 0x40
00000249: MLOAD
0000024a: SWAP1
0000024b: DUP2
0000024c: ADD
0000024d: PUSH1 0x40
0000024f: MSTORE
00000250: DUP1
00000251: SWAP4
00000252: SWAP3
00000253: SWAP2
00000254: SWAP1
00000255: DUP2
00000256: DUP2
00000257: MSTORE
00000258: PUSH1 0x20
0000025a: ADD
0000025b: DUP4
0000025c: DUP4
0000025d: DUP1
0000025e: DUP3
0000025f: DUP5
00000260: CALLDATACOPY
00000261: POP
00000262: SWAP5
00000263: SWAP7
00000264: POP
00000265: POP
00000266: POP
00000267: POP
00000268: POP
00000269: POP
0000026a: POP
0000026b: CALLER
0000026c: PUSH1 0x01
0000026e: PUSH1 0xa0
00000270: PUSH1 0x02
00000272: EXP
00000273: SUB
00000274: AND
00000275: PUSH1 0x00
00000277: SWAP1
00000278: DUP2
00000279: MSTORE
0000027a: PUSH1 0x04
0000027c: PUSH1 0x20
0000027e: MSTORE
0000027f: PUSH1 0x40
00000281: SWAP1
00000282: KECCAK256
00000283: SLOAD
00000284: PUSH1 0xff
00000286: AND
00000287: ISZERO
00000288: ISZERO
00000289: PUSH1 0x01
0000028b: EQ
0000028c: ISZERO
0000028d: PUSH2 0x006a
00000290: JUMPI
00000291: PUSH1 0x01
00000293: PUSH1 0x03
00000295: PUSH1 0x00
00000297: POP
00000298: DUP3
00000299: PUSH1 0x40
0000029b: MLOAD
0000029c: DUP1
0000029d: DUP3
0000029e: DUP1
0000029f: MLOAD
000002a0: SWAP1
000002a1: PUSH1 0x20
000002a3: ADD
000002a4: SWAP1
000002a5: DUP1
000002a6: DUP4
000002a7: DUP4
000002a8: DUP3
000002a9: SWAP1
000002aa: PUSH1 0x00
000002ac: PUSH1 0x04
000002ae: PUSH1 0x20
000002b0: DUP5
000002b1: PUSH1 0x1f
000002b3: ADD
000002b4: DIV
000002b5: PUSH1 0x03
000002b7: MUL
000002b8: PUSH1 0x0f
000002ba: ADD
000002bb: CALL
000002bc: POP
000002bd: SWAP1
000002be: POP
000002bf: ADD
000002c0: SWAP2
000002c1: POP
000002c2: POP
000002c3: SWAP1
000002c4: DUP2
000002c5: MSTORE
000002c6: PUSH1 0x20
000002c8: ADD
000002c9: PUSH1 0x40
000002cb: MLOAD
000002cc: DUP1
000002cd: SWAP2
000002ce: SUB
000002cf: SWAP1
000002d0: KECCAK256
000002d1: PUSH1 0x00
000002d3: PUSH2 0x0100
000002d6: EXP
000002d7: DUP2
000002d8: SLOAD
000002d9: DUP2
000002da: PUSH1 0xff
000002dc: MUL
000002dd: NOT
000002de: AND
000002df: SWAP1
000002e0: DUP4
000002e1: MUL
000002e2: OR
000002e3: SWAP1
000002e4: SSTORE
000002e5: POP
000002e6: PUSH2 0x0741
000002e9: PUSH1 0x40
000002eb: PUSH1 0x40
000002ed: MLOAD
000002ee: SWAP1
000002ef: DUP2
000002f0: ADD
000002f1: PUSH1 0x40
000002f3: MSTORE
000002f4: DUP1
000002f5: PUSH1 0x0e
000002f7: DUP2
000002f8: MSTORE
000002f9: PUSH1 0x20
000002fb: ADD
000002fc: PUSH32 0x6d61726b2d707572636861736564000000000000000000000000000000000000
0000031d: DUP2
0000031e: MSTORE
0000031f: PUSH1 0x20
00000321: ADD
00000322: POP
00000323: DUP3
00000324: PUSH2 0x04ee
00000327: JUMP
00000328: JUMPDEST
00000329: CALLVALUE
0000032a: PUSH2 0x0002
0000032d: JUMPI
0000032e: PUSH2 0x04a2
00000331: PUSH1 0x02
00000333: SLOAD
00000334: DUP2
00000335: JUMP
00000336: JUMPDEST
00000337: CALLVALUE
00000338: PUSH2 0x0002
0000033b: JUMPI
0000033c: PUSH2 0x041e
0000033f: PUSH1 0x04
00000341: DUP1
00000342: DUP1
00000343: CALLDATALOAD
00000344: SWAP1
00000345: PUSH1 0x20
00000347: ADD
00000348: SWAP1
00000349: DUP3
0000034a: ADD
0000034b: DUP1
0000034c: CALLDATALOAD
0000034d: SWAP1
0000034e: PUSH1 0x20
00000350: ADD
00000351: SWAP2
00000352: SWAP2
00000353: SWAP1
00000354: DUP1
00000355: DUP1
00000356: PUSH1 0x1f
00000358: ADD
00000359: PUSH1 0x20
0000035b: DUP1
0000035c: SWAP2
0000035d: DIV
0000035e: MUL
0000035f: PUSH1 0x20
00000361: ADD
00000362: PUSH1 0x40
00000364: MLOAD
00000365: SWAP1
00000366: DUP2
00000367: ADD
00000368: PUSH1 0x40
0000036a: MSTORE
0000036b: DUP1
0000036c: SWAP4
0000036d: SWAP3
0000036e: SWAP2
0000036f: SWAP1
00000370: DUP2
00000371: DUP2
00000372: MSTORE
00000373: PUSH1 0x20
00000375: ADD
00000376: DUP4
00000377: DUP4
00000378: DUP1
00000379: DUP3
0000037a: DUP5
0000037b: CALLDATACOPY
0000037c: POP
0000037d: POP
0000037e: PUSH1 0x40
00000380: DUP1
00000381: MLOAD
00000382: PUSH1 0x20
00000384: DUP9
00000385: CALLDATALOAD
00000386: DUP1
00000387: DUP12
00000388: ADD
00000389: CALLDATALOAD
0000038a: PUSH1 0x1f
0000038c: DUP2
0000038d: ADD
0000038e: DUP4
0000038f: SWAP1
00000390: DIV
00000391: DUP4
00000392: MUL
00000393: DUP5
00000394: ADD
00000395: DUP4
00000396: ADD
00000397: SWAP1
00000398: SWAP5
00000399: MSTORE
0000039a: DUP4
0000039b: DUP4
0000039c: MSTORE
0000039d: SWAP8
0000039e: SWAP10
0000039f: SWAP9
000003a0: PUSH1 0x44
000003a2: SWAP9
000003a3: SWAP3
000003a4: SWAP8
000003a5: POP
000003a6: SWAP2
000003a7: SWAP1
000003a8: SWAP2
000003a9: ADD
000003aa: SWAP5
000003ab: POP
000003ac: SWAP1
000003ad: SWAP3
000003ae: POP
000003af: DUP3
000003b0: SWAP2
000003b1: POP
000003b2: DUP5
000003b3: ADD
000003b4: DUP4
000003b5: DUP3
000003b6: DUP1
000003b7: DUP3
000003b8: DUP5
000003b9: CALLDATACOPY
000003ba: POP
000003bb: SWAP5
000003bc: SWAP7
000003bd: POP
000003be: PUSH2 0x04ee
000003c1: SWAP6
000003c2: POP
000003c3: POP
000003c4: POP
000003c5: POP
000003c6: POP
000003c7: POP
000003c8: JUMP
000003c9: JUMPDEST
000003ca: CALLVALUE
000003cb: PUSH2 0x0002
000003ce: JUMPI
000003cf: PUSH2 0x041e
000003d2: PUSH1 0x04
000003d4: DUP1
000003d5: DUP1
000003d6: CALLDATALOAD
000003d7: SWAP1
000003d8: PUSH1 0x20
000003da: ADD
000003db: SWAP1
000003dc: DUP3
000003dd: ADD
000003de: DUP1
000003df: CALLDATALOAD
000003e0: SWAP1
000003e1: PUSH1 0x20
000003e3: ADD
000003e4: SWAP2
000003e5: SWAP2
000003e6: SWAP1
000003e7: DUP1
000003e8: DUP1
000003e9: PUSH1 0x1f
000003eb: ADD
000003ec: PUSH1 0x20
000003ee: DUP1
000003ef: SWAP2
000003f0: DIV
000003f1: MUL
000003f2: PUSH1 0x20
000003f4: ADD
000003f5: PUSH1 0x40
000003f7: MLOAD
000003f8: SWAP1
000003f9: DUP2
000003fa: ADD
000003fb: PUSH1 0x40
000003fd: MSTORE
000003fe: DUP1
000003ff: SWAP4
00000400: SWAP3
00000401: SWAP2
00000402: SWAP1
00000403: DUP2
00000404: DUP2
00000405: MSTORE
00000406: PUSH1 0x20
00000408: ADD
00000409: DUP4
0000040a: DUP4
0000040b: DUP1
0000040c: DUP3
0000040d: DUP5
0000040e: CALLDATACOPY
0000040f: POP
00000410: SWAP5
00000411: SWAP7
00000412: POP
00000413: PUSH2 0x05f8
00000416: SWAP6
00000417: POP
00000418: POP
00000419: POP
0000041a: POP
0000041b: POP
0000041c: POP
0000041d: JUMP
0000041e: JUMPDEST
0000041f: STOP
00000420: JUMPDEST
00000421: PUSH1 0x40
00000423: DUP1
00000424: MLOAD
00000425: SWAP2
00000426: ISZERO
00000427: ISZERO
00000428: DUP3
00000429: MSTORE
0000042a: MLOAD
0000042b: SWAP1
0000042c: DUP2
0000042d: SWAP1
0000042e: SUB
0000042f: PUSH1 0x20
00000431: ADD
00000432: SWAP1
00000433: RETURN
00000434: JUMPDEST
00000435: PUSH1 0x40
00000437: MLOAD
00000438: DUP1
00000439: DUP1
0000043a: PUSH1 0x20
0000043c: ADD
0000043d: DUP3
0000043e: DUP2
0000043f: SUB
00000440: DUP3
00000441: MSTORE
00000442: DUP4
00000443: DUP2
00000444: DUP2
00000445: MLOAD
00000446: DUP2
00000447: MSTORE
00000448: PUSH1 0x20
0000044a: ADD
0000044b: SWAP2
0000044c: POP
0000044d: DUP1
0000044e: MLOAD
0000044f: SWAP1
00000450: PUSH1 0x20
00000452: ADD
00000453: SWAP1
00000454: DUP1
00000455: DUP4
00000456: DUP4
00000457: DUP3
00000458: SWAP1
00000459: PUSH1 0x00
0000045b: PUSH1 0x04
0000045d: PUSH1 0x20
0000045f: DUP5
00000460: PUSH1 0x1f
00000462: ADD
00000463: DIV
00000464: PUSH1 0x03
00000466: MUL
00000467: PUSH1 0x0f
00000469: ADD
0000046a: CALL
0000046b: POP
0000046c: SWAP1
0000046d: POP
0000046e: SWAP1
0000046f: DUP2
00000470: ADD
00000471: SWAP1
00000472: PUSH1 0x1f
00000474: AND
00000475: DUP1
00000476: ISZERO
00000477: PUSH2 0x0494
0000047a: JUMPI
0000047b: DUP1
0000047c: DUP3
0000047d: SUB
0000047e: DUP1
0000047f: MLOAD
00000480: PUSH1 0x01
00000482: DUP4
00000483: PUSH1 0x20
00000485: SUB
00000486: PUSH2 0x0100
00000489: EXP
0000048a: SUB
0000048b: NOT
0000048c: AND
0000048d: DUP2
0000048e: MSTORE
0000048f: PUSH1 0x20
00000491: ADD
00000492: SWAP2
00000493: POP
00000494: JUMPDEST
00000495: POP
00000496: SWAP3
00000497: POP
00000498: POP
00000499: POP
0000049a: PUSH1 0x40
0000049c: MLOAD
0000049d: DUP1
0000049e: SWAP2
0000049f: SUB
000004a0: SWAP1
000004a1: RETURN
000004a2: JUMPDEST
000004a3: PUSH1 0x40
000004a5: DUP1
000004a6: MLOAD
000004a7: SWAP2
000004a8: DUP3
000004a9: MSTORE
000004aa: MLOAD
000004ab: SWAP1
000004ac: DUP2
000004ad: SWAP1
000004ae: SUB
000004af: PUSH1 0x20
000004b1: ADD
000004b2: SWAP1
000004b3: RETURN
000004b4: JUMPDEST
000004b5: PUSH1 0x40
000004b7: DUP1
000004b8: MLOAD
000004b9: DUP1
000004ba: DUP3
000004bb: ADD
000004bc: SWAP1
000004bd: SWAP2
000004be: MSTORE
000004bf: PUSH1 0x08
000004c1: DUP2
000004c2: MSTORE
000004c3: PUSH32 0x6e6f742d70616964000000000000000000000000000000000000000000000000
000004e4: PUSH1 0x20
000004e6: DUP3
000004e7: ADD
000004e8: MSTORE
000004e9: PUSH2 0x05f3
000004ec: SWAP1
000004ed: DUP4
000004ee: JUMPDEST
000004ef: PUSH32 0xa2e1007a79e0f45c550338d11c793e45b18d99df380f3f4da25feb3bbdea5ef0
00000510: CALLER
00000511: DUP4
00000512: DUP4
00000513: PUSH1 0x40
00000515: MLOAD
00000516: DUP1
00000517: DUP5
00000518: PUSH1 0x01
0000051a: PUSH1 0xa0
0000051c: PUSH1 0x02
0000051e: EXP
0000051f: SUB
00000520: AND
00000521: DUP2
00000522: MSTORE
00000523: PUSH1 0x20
00000525: ADD
00000526: DUP1
00000527: PUSH1 0x20
00000529: ADD
0000052a: DUP1
0000052b: PUSH1 0x20
0000052d: ADD
0000052e: DUP4
0000052f: DUP2
00000530: SUB
00000531: DUP4
00000532: MSTORE
00000533: DUP6
00000534: DUP2
00000535: DUP2
00000536: MLOAD
00000537: DUP2
00000538: MSTORE
00000539: PUSH1 0x20
0000053b: ADD
0000053c: SWAP2
0000053d: POP
0000053e: DUP1
0000053f: MLOAD
00000540: SWAP1
00000541: PUSH1 0x20
00000543: ADD
00000544: SWAP1
00000545: DUP1
00000546: DUP4
00000547: DUP4
00000548: DUP3
00000549: SWAP1
0000054a: PUSH1 0x00
0000054c: PUSH1 0x04
0000054e: PUSH1 0x20
00000550: DUP5
00000551: PUSH1 0x1f
00000553: ADD
00000554: DIV
00000555: PUSH1 0x03
00000557: MUL
00000558: PUSH1 0x0f
0000055a: ADD
0000055b: CALL
0000055c: POP
0000055d: SWAP1
0000055e: POP
0000055f: SWAP1
00000560: DUP2
00000561: ADD
00000562: SWAP1
00000563: PUSH1 0x1f
00000565: AND
00000566: DUP1
00000567: ISZERO
00000568: PUSH2 0x0585
0000056b: JUMPI
0000056c: DUP1
0000056d: DUP3
0000056e: SUB
0000056f: DUP1
00000570: MLOAD
00000571: PUSH1 0x01
00000573: DUP4
00000574: PUSH1 0x20
00000576: SUB
00000577: PUSH2 0x0100
0000057a: EXP
0000057b: SUB
0000057c: NOT
0000057d: AND
0000057e: DUP2
0000057f: MSTORE
00000580: PUSH1 0x20
00000582: ADD
00000583: SWAP2
00000584: POP
00000585: JUMPDEST
00000586: POP
00000587: DUP4
00000588: DUP2
00000589: SUB
0000058a: DUP3
0000058b: MSTORE
0000058c: DUP5
0000058d: DUP2
0000058e: DUP2
0000058f: MLOAD
00000590: DUP2
00000591: MSTORE
00000592: PUSH1 0x20
00000594: ADD
00000595: SWAP2
00000596: POP
00000597: DUP1
00000598: MLOAD
00000599: SWAP1
0000059a: PUSH1 0x20
0000059c: ADD
0000059d: SWAP1
0000059e: DUP1
0000059f: DUP4
000005a0: DUP4
000005a1: DUP3
000005a2: SWAP1
000005a3: PUSH1 0x00
000005a5: PUSH1 0x04
000005a7: PUSH1 0x20
000005a9: DUP5
000005aa: PUSH1 0x1f
000005ac: ADD
000005ad: DIV
000005ae: PUSH1 0x03
000005b0: MUL
000005b1: PUSH1 0x0f
000005b3: ADD
000005b4: CALL
000005b5: POP
000005b6: SWAP1
000005b7: POP
000005b8: SWAP1
000005b9: DUP2
000005ba: ADD
000005bb: SWAP1
000005bc: PUSH1 0x1f
000005be: AND
000005bf: DUP1
000005c0: ISZERO
000005c1: PUSH2 0x05de
000005c4: JUMPI
000005c5: DUP1
000005c6: DUP3
000005c7: SUB
000005c8: DUP1
000005c9: MLOAD
000005ca: PUSH1 0x01
000005cc: DUP4
000005cd: PUSH1 0x20
000005cf: SUB
000005d0: PUSH2 0x0100
000005d3: EXP
000005d4: SUB
000005d5: NOT
000005d6: AND
000005d7: DUP2
000005d8: MSTORE
000005d9: PUSH1 0x20
000005db: ADD
000005dc: SWAP2
000005dd: POP
000005de: JUMPDEST
000005df: POP
000005e0: SWAP6
000005e1: POP
000005e2: POP
000005e3: POP
000005e4: POP
000005e5: POP
000005e6: POP
000005e7: PUSH1 0x40
000005e9: MLOAD
000005ea: DUP1
000005eb: SWAP2
000005ec: SUB
000005ed: SWAP1
000005ee: LOG1
000005ef: JUMPDEST
000005f0: POP
000005f1: POP
000005f2: JUMP
000005f3: JUMPDEST
000005f4: PUSH2 0x0706
000005f7: DUP3
000005f8: JUMPDEST
000005f9: PUSH1 0x00
000005fb: PUSH1 0x02
000005fd: PUSH1 0x00
000005ff: POP
00000600: SLOAD
00000601: DUP3
00000602: ADDRESS
00000603: PUSH1 0x40
00000605: MLOAD
00000606: PUSH2 0x0437
00000609: DUP1
0000060a: PUSH2 0x0744
0000060d: DUP4
0000060e: CODECOPY
0000060f: ADD
00000610: DUP1
00000611: DUP5
00000612: DUP2
00000613: MSTORE
00000614: PUSH1 0x20
00000616: ADD
00000617: DUP1
00000618: PUSH1 0x20
0000061a: ADD
0000061b: DUP4
0000061c: PUSH1 0x01
0000061e: PUSH1 0xa0
00000620: PUSH1 0x02
00000622: EXP
00000623: SUB
00000624: AND
00000625: DUP2
00000626: MSTORE
00000627: PUSH1 0x20
00000629: ADD
0000062a: DUP3
0000062b: DUP2
0000062c: SUB
0000062d: DUP3
0000062e: MSTORE
0000062f: DUP5
00000630: DUP2
00000631: DUP2
00000632: MLOAD
00000633: DUP2
00000634: MSTORE
00000635: PUSH1 0x20
00000637: ADD
00000638: SWAP2
00000639: POP
0000063a: DUP1
0000063b: MLOAD
0000063c: SWAP1
0000063d: PUSH1 0x20
0000063f: ADD
00000640: SWAP1
00000641: DUP1
00000642: DUP4
00000643: DUP4
00000644: DUP3
00000645: SWAP1
00000646: PUSH1 0x00
00000648: PUSH1 0x04
0000064a: PUSH1 0x20
0000064c: DUP5
0000064d: PUSH1 0x1f
0000064f: ADD
00000650: DIV
00000651: PUSH1 0x03
00000653: MUL
00000654: PUSH1 0x0f
00000656: ADD
00000657: CALL
00000658: POP
00000659: SWAP1
0000065a: POP
0000065b: SWAP1
0000065c: DUP2
0000065d: ADD
0000065e: SWAP1
0000065f: PUSH1 0x1f
00000661: AND
00000662: DUP1
00000663: ISZERO
00000664: PUSH2 0x0681
00000667: JUMPI
00000668: DUP1
00000669: DUP3
0000066a: SUB
0000066b: DUP1
0000066c: MLOAD
0000066d: PUSH1 0x01
0000066f: DUP4
00000670: PUSH1 0x20
00000672: SUB
00000673: PUSH2 0x0100
00000676: EXP
00000677: SUB
00000678: NOT
00000679: AND
0000067a: DUP2
0000067b: MSTORE
0000067c: PUSH1 0x20
0000067e: ADD
0000067f: SWAP2
00000680: POP
00000681: JUMPDEST
00000682: POP
00000683: SWAP5
00000684: POP
00000685: POP
00000686: POP
00000687: POP
00000688: POP
00000689: PUSH1 0x40
0000068b: MLOAD
0000068c: DUP1
0000068d: SWAP2
0000068e: SUB
0000068f: SWAP1
00000690: PUSH1 0x00
00000692: CREATE
00000693: DUP1
00000694: ISZERO
00000695: PUSH2 0x0002
00000698: JUMPI
00000699: PUSH1 0x01
0000069b: PUSH1 0xa0
0000069d: PUSH1 0x02
0000069f: EXP
000006a0: SUB
000006a1: DUP2
000006a2: AND
000006a3: PUSH1 0x00
000006a5: SWAP1
000006a6: DUP2
000006a7: MSTORE
000006a8: PUSH1 0x04
000006aa: PUSH1 0x20
000006ac: SWAP1
000006ad: DUP2
000006ae: MSTORE
000006af: PUSH1 0x40
000006b1: SWAP2
000006b2: DUP3
000006b3: SWAP1
000006b4: KECCAK256
000006b5: DUP1
000006b6: SLOAD
000006b7: PUSH1 0xff
000006b9: NOT
000006ba: AND
000006bb: PUSH1 0x01
000006bd: OR
000006be: SWAP1
000006bf: SSTORE
000006c0: DUP2
000006c1: MLOAD
000006c2: DUP1
000006c3: DUP4
000006c4: ADD
000006c5: SWAP1
000006c6: SWAP3
000006c7: MSTORE
000006c8: PUSH1 0x0e
000006ca: DUP3
000006cb: MSTORE
000006cc: PUSH32 0x6372656174652d696e766f696365000000000000000000000000000000000000
000006ed: SWAP1
000006ee: DUP3
000006ef: ADD
000006f0: MSTORE
000006f1: SWAP1
000006f2: SWAP2
000006f3: POP
000006f4: PUSH2 0x05ef
000006f7: SWAP1
000006f8: DUP4
000006f9: PUSH2 0x04ee
000006fc: JUMP
000006fd: JUMPDEST
000006fe: POP
000006ff: PUSH1 0x01
00000701: JUMPDEST
00000702: SWAP2
00000703: SWAP1
00000704: POP
00000705: JUMP
00000706: JUMPDEST
00000707: POP
00000708: PUSH1 0x00
0000070a: PUSH2 0x0701
0000070d: JUMP
0000070e: JUMPDEST
0000070f: DUP3
00000710: ADD
00000711: SWAP2
00000712: SWAP1
00000713: PUSH1 0x00
00000715: MSTORE
00000716: PUSH1 0x20
00000718: PUSH1 0x00
0000071a: KECCAK256
0000071b: SWAP1
0000071c: JUMPDEST
0000071d: DUP2
0000071e: SLOAD
0000071f: DUP2
00000720: MSTORE
00000721: SWAP1
00000722: PUSH1 0x01
00000724: ADD
00000725: SWAP1
00000726: PUSH1 0x20
00000728: ADD
00000729: DUP1
0000072a: DUP4
0000072b: GT
0000072c: PUSH2 0x071c
0000072f: JUMPI
00000730: DUP3
00000731: SWAP1
00000732: SUB
00000733: PUSH1 0x1f
00000735: AND
00000736: DUP3
00000737: ADD
00000738: SWAP2
00000739: JUMPDEST
0000073a: POP
0000073b: POP
0000073c: POP
0000073d: POP
0000073e: POP
0000073f: DUP2
00000740: JUMP
00000741: JUMPDEST
00000742: POP
00000743: JUMP
00000744: PUSH1 0xa0
00000746: PUSH1 0x40
00000748: MSTORE
00000749: PUSH1 0x0d
0000074b: PUSH1 0x60
0000074d: MSTORE
0000074e: PUSH32 0x62697462696e2d76302e302e3100000000000000000000000000000000000000
0000076f: PUSH1 0x80
00000771: MSTORE
00000772: PUSH1 0x00
00000774: DUP1
00000775: SLOAD
00000776: DUP2
00000777: DUP1
00000778: MSTORE
00000779: PUSH32 0x62697462696e2d76302e302e310000000000000000000000000000000000001a
0000079a: DUP3
0000079b: SSTORE
0000079c: PUSH2 0x00b3
0000079f: SWAP1
000007a0: PUSH32 0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563
000007c1: PUSH1 0x20
000007c3: PUSH1 0x02
000007c5: PUSH1 0x01
000007c7: DUP5
000007c8: AND
000007c9: ISZERO
000007ca: PUSH2 0x0100
000007cd: MUL
000007ce: PUSH1 0x00
000007d0: NOT
000007d1: ADD
000007d2: SWAP1
000007d3: SWAP4
000007d4: AND
000007d5: SWAP3
000007d6: SWAP1
000007d7: SWAP3
000007d8: DIV
000007d9: PUSH1 0x1f
000007db: ADD
000007dc: SWAP2
000007dd: SWAP1
000007de: SWAP2
000007df: DIV
000007e0: DUP2
000007e1: ADD
000007e2: SWAP1
000007e3: JUMPDEST
000007e4: DUP1
000007e5: DUP3
000007e6: GT
000007e7: ISZERO
000007e8: PUSH2 0x0147
000007eb: JUMPI
000007ec: PUSH1 0x00
000007ee: DUP2
000007ef: SSTORE
000007f0: PUSH1 0x01
000007f2: ADD
000007f3: PUSH2 0x009f
000007f6: JUMP
000007f7: JUMPDEST
000007f8: POP
000007f9: POP
000007fa: PUSH1 0x40
000007fc: MLOAD
000007fd: PUSH2 0x0437
00000800: CODESIZE
00000801: SUB
00000802: DUP1
00000803: PUSH2 0x0437
00000806: DUP4
00000807: CODECOPY
00000808: DUP2
00000809: ADD
0000080a: PUSH1 0x40
0000080c: MSTORE
0000080d: DUP1
0000080e: DUP1
0000080f: MLOAD
00000810: SWAP1
00000811: PUSH1 0x20
00000813: ADD
00000814: SWAP1
00000815: SWAP2
00000816: SWAP1
00000817: DUP1
00000818: MLOAD
00000819: DUP3
0000081a: ADD
0000081b: SWAP2
0000081c: SWAP1
0000081d: PUSH1 0x20
0000081f: ADD
00000820: DUP1
00000821: MLOAD
00000822: SWAP1
00000823: PUSH1 0x20
00000825: ADD
00000826: SWAP1
00000827: SWAP2
00000828: SWAP1
00000829: POP
0000082a: POP
0000082b: DUP3
0000082c: PUSH1 0x01
0000082e: PUSH1 0x00
00000830: POP
00000831: DUP2
00000832: SWAP1
00000833: SSTORE
00000834: POP
00000835: DUP2
00000836: PUSH1 0x02
00000838: PUSH1 0x00
0000083a: POP
0000083b: SWAP1
0000083c: DUP1
0000083d: MLOAD
0000083e: SWAP1
0000083f: PUSH1 0x20
00000841: ADD
00000842: SWAP1
00000843: DUP3
00000844: DUP1
00000845: SLOAD
00000846: PUSH1 0x01
00000848: DUP2
00000849: PUSH1 0x01
0000084b: AND
0000084c: ISZERO
0000084d: PUSH2 0x0100
00000850: MUL
00000851: SUB
00000852: AND
00000853: PUSH1 0x02
00000855: SWAP1
00000856: DIV
00000857: SWAP1
00000858: PUSH1 0x00
0000085a: MSTORE
0000085b: PUSH1 0x20
0000085d: PUSH1 0x00
0000085f: KECCAK256
00000860: SWAP1
00000861: PUSH1 0x1f
00000863: ADD
00000864: PUSH1 0x20
00000866: SWAP1
00000867: DIV
00000868: DUP2
00000869: ADD
0000086a: SWAP3
0000086b: DUP3
0000086c: PUSH1 0x1f
0000086e: LT
0000086f: PUSH2 0x014b
00000872: JUMPI
00000873: DUP1
00000874: MLOAD
00000875: PUSH1 0xff
00000877: NOT
00000878: AND
00000879: DUP4
0000087a: DUP1
0000087b: ADD
0000087c: OR
0000087d: DUP6
0000087e: SSTORE
0000087f: JUMPDEST
00000880: POP
00000881: PUSH2 0x017b
00000884: SWAP3
00000885: SWAP2
00000886: POP
00000887: PUSH2 0x009f
0000088a: JUMP
0000088b: JUMPDEST
0000088c: POP
0000088d: SWAP1
0000088e: JUMP
0000088f: JUMPDEST
00000890: DUP3
00000891: DUP1
00000892: ADD
00000893: PUSH1 0x01
00000895: ADD
00000896: DUP6
00000897: SSTORE
00000898: DUP3
00000899: ISZERO
0000089a: PUSH2 0x013b
0000089d: JUMPI
0000089e: SWAP2
0000089f: DUP3
000008a0: ADD
000008a1: JUMPDEST
000008a2: DUP3
000008a3: DUP2
000008a4: GT
000008a5: ISZERO
000008a6: PUSH2 0x013b
000008a9: JUMPI
000008aa: DUP3
000008ab: MLOAD
000008ac: DUP3
000008ad: PUSH1 0x00
000008af: POP
000008b0: SSTORE
000008b1: SWAP2
000008b2: PUSH1 0x20
000008b4: ADD
000008b5: SWAP2
000008b6: SWAP1
000008b7: PUSH1 0x01
000008b9: ADD
000008ba: SWAP1
000008bb: PUSH2 0x015d
000008be: JUMP
000008bf: JUMPDEST
000008c0: POP
000008c1: POP
000008c2: PUSH1 0x03
000008c4: DUP1
000008c5: SLOAD
000008c6: PUSH1 0x01
000008c8: PUSH1 0xa0
000008ca: PUSH1 0x02
000008cc: EXP
000008cd: SUB
000008ce: NOT
000008cf: AND
000008d0: DUP3
000008d1: OR
000008d2: SWAP1
000008d3: SSTORE
000008d4: POP
000008d5: POP
000008d6: POP
000008d7: PUSH2 0x0297
000008da: DUP1
000008db: PUSH2 0x01a0
000008de: PUSH1 0x00
000008e0: CODECOPY
000008e1: PUSH1 0x00
000008e3: RETURN
000008e4: PUSH1 0x60
000008e6: PUSH1 0x40
000008e8: MSTORE
000008e9: CALLDATASIZE
000008ea: ISZERO
000008eb: PUSH2 0x0040
000008ee: JUMPI
000008ef: PUSH1 0xe0
000008f1: PUSH1 0x02
000008f3: EXP
000008f4: PUSH1 0x00
000008f6: CALLDATALOAD
000008f7: DIV
000008f8: PUSH4 0x12065fe0
000008fd: DUP2
000008fe: EQ
000008ff: PUSH2 0x00f4
00000902: JUMPI
00000903: DUP1
00000904: PUSH4 0x5a3b7e42
00000909: EQ
0000090a: PUSH2 0x0117
0000090d: JUMPI
0000090e: DUP1
0000090f: PUSH4 0x5c619fed
00000914: EQ
00000915: PUSH2 0x017a
00000918: JUMPI
00000919: DUP1
0000091a: PUSH4 0xa035b1fe
0000091f: EQ
00000920: PUSH2 0x018d
00000923: JUMPI
00000924: JUMPDEST
00000925: CALLVALUE
00000926: PUSH2 0x0002
00000929: JUMPI
0000092a: PUSH2 0x019b
0000092d: PUSH2 0x019d
00000930: CALLER
00000931: CALLVALUE
00000932: JUMPDEST
00000933: PUSH1 0x01
00000935: SLOAD
00000936: ADDRESS
00000937: SWAP1
00000938: PUSH1 0x01
0000093a: PUSH1 0xa0
0000093c: PUSH1 0x02
0000093e: EXP
0000093f: SUB
00000940: DUP3
00000941: AND
00000942: BALANCE
00000943: GT
00000944: ISZERO
00000945: PUSH2 0x025f
00000948: JUMPI
00000949: PUSH1 0x03
0000094b: SLOAD
0000094c: PUSH1 0x40
0000094e: MLOAD
0000094f: PUSH32 0x61fdbfd800000000000000000000000000000000000000000000000000000000
00000970: DUP2
00000971: MSTORE
00000972: PUSH1 0x20
00000974: PUSH1 0x04
00000976: DUP3
00000977: ADD
00000978: SWAP1
00000979: DUP2
0000097a: MSTORE
0000097b: PUSH1 0x02
0000097d: DUP1
0000097e: SLOAD
0000097f: PUSH1 0x00
00000981: NOT
00000982: PUSH1 0x01
00000984: DUP3
00000985: AND
00000986: ISZERO
00000987: PUSH2 0x0100
0000098a: MUL
0000098b: ADD
0000098c: AND
0000098d: DUP2
0000098e: SWAP1
0000098f: DIV
00000990: PUSH1 0x24
00000992: DUP5
00000993: ADD
00000994: DUP2
00000995: SWAP1
00000996: MSTORE
00000997: PUSH1 0x01
00000999: PUSH1 0xa0
0000099b: PUSH1 0x02
0000099d: EXP
0000099e: SUB
0000099f: SWAP5
000009a0: SWAP1
000009a1: SWAP5
000009a2: AND
000009a3: SWAP4
000009a4: PUSH4 0x61fdbfd8
000009a9: SWAP4
000009aa: SWAP2
000009ab: SWAP3
000009ac: SWAP2
000009ad: DUP3
000009ae: SWAP2
000009af: PUSH1 0x44
000009b1: SWAP1
000009b2: SWAP2
000009b3: ADD
000009b4: SWAP1
000009b5: DUP5
000009b6: SWAP1
000009b7: DUP1
000009b8: ISZERO
000009b9: PUSH2 0x0238
000009bc: JUMPI
000009bd: DUP1
000009be: PUSH1 0x1f
000009c0: LT
000009c1: PUSH2 0x020d
000009c4: JUMPI
000009c5: PUSH2 0x0100
000009c8: DUP1
000009c9: DUP4
000009ca: SLOAD
000009cb: DIV
000009cc: MUL
000009cd: DUP4
000009ce: MSTORE
000009cf: SWAP2
000009d0: PUSH1 0x20
000009d2: ADD
000009d3: SWAP2
000009d4: PUSH2 0x0238
000009d7: JUMP
000009d8: JUMPDEST
000009d9: CALLVALUE
000009da: PUSH2 0x0002
000009dd: JUMPI
000009de: PUSH1 0x01
000009e0: PUSH1 0xa0
000009e2: PUSH1 0x02
000009e4: EXP
000009e5: SUB
000009e6: ADDRESS
000009e7: AND
000009e8: BALANCE
000009e9: JUMPDEST
000009ea: PUSH1 0x40
000009ec: DUP1
000009ed: MLOAD
000009ee: SWAP2
000009ef: DUP3
000009f0: MSTORE
000009f1: MLOAD
000009f2: SWAP1
000009f3: DUP2
000009f4: SWAP1
000009f5: SUB
000009f6: PUSH1 0x20
000009f8: ADD
000009f9: SWAP1
000009fa: RETURN
000009fb: JUMPDEST
000009fc: CALLVALUE
000009fd: PUSH2 0x0002
00000a00: JUMPI
00000a01: PUSH1 0x40
00000a03: DUP1
00000a04: MLOAD
00000a05: PUSH1 0x00
00000a07: DUP1
00000a08: SLOAD
00000a09: PUSH1 0x20
00000a0b: PUSH1 0x02
00000a0d: PUSH1 0x01
00000a0f: DUP4
00000a10: AND
00000a11: ISZERO
00000a12: PUSH2 0x0100
00000a15: MUL
00000a16: PUSH1 0x00
00000a18: NOT
00000a19: ADD
00000a1a: SWAP1
00000a1b: SWAP3
00000a1c: AND
00000a1d: SWAP2
00000a1e: SWAP1
00000a1f: SWAP2
00000a20: DIV
00000a21: PUSH1 0x1f
00000a23: DUP2
00000a24: ADD
00000a25: DUP3
00000a26: SWAP1
00000a27: DIV
00000a28: DUP3
00000a29: MUL
00000a2a: DUP5
00000a2b: ADD
00000a2c: DUP3
00000a2d: ADD
00000a2e: SWAP1
00000a2f: SWAP5
00000a30: MSTORE
00000a31: DUP4
00000a32: DUP4
00000a33: MSTORE
00000a34: PUSH2 0x019f
00000a37: SWAP4
00000a38: SWAP1
00000a39: DUP4
00000a3a: ADD
00000a3b: DUP3
00000a3c: DUP3
00000a3d: DUP1
00000a3e: ISZERO
00000a3f: PUSH2 0x028f
00000a42: JUMPI
00000a43: DUP1
00000a44: PUSH1 0x1f
00000a46: LT
00000a47: PUSH2 0x0264
00000a4a: JUMPI
00000a4b: PUSH2 0x0100
00000a4e: DUP1
00000a4f: DUP4
00000a50: SLOAD
00000a51: DIV
00000a52: MUL
00000a53: DUP4
00000a54: MSTORE
00000a55: SWAP2
00000a56: PUSH1 0x20
00000a58: ADD
00000a59: SWAP2
00000a5a: PUSH2 0x028f
00000a5d: JUMP
00000a5e: JUMPDEST
00000a5f: CALLVALUE
00000a60: PUSH2 0x0002
00000a63: JUMPI
00000a64: PUSH2 0x019b
00000a67: PUSH1 0x04
00000a69: CALLDATALOAD
00000a6a: PUSH1 0x24
00000a6c: CALLDATALOAD
00000a6d: PUSH2 0x004e
00000a70: JUMP
00000a71: JUMPDEST
00000a72: CALLVALUE
00000a73: PUSH2 0x0002
00000a76: JUMPI
00000a77: PUSH2 0x0105
00000a7a: PUSH1 0x01
00000a7c: SLOAD
00000a7d: DUP2
00000a7e: JUMP
00000a7f: JUMPDEST
00000a80: STOP
00000a81: JUMPDEST
00000a82: JUMP
00000a83: JUMPDEST
00000a84: PUSH1 0x40
00000a86: MLOAD
00000a87: DUP1
00000a88: DUP1
00000a89: PUSH1 0x20
00000a8b: ADD
00000a8c: DUP3
00000a8d: DUP2
00000a8e: SUB
00000a8f: DUP3
00000a90: MSTORE
00000a91: DUP4
00000a92: DUP2
00000a93: DUP2
00000a94: MLOAD
00000a95: DUP2
00000a96: MSTORE
00000a97: PUSH1 0x20
00000a99: ADD
00000a9a: SWAP2
00000a9b: POP
00000a9c: DUP1
00000a9d: MLOAD
00000a9e: SWAP1
00000a9f: PUSH1 0x20
00000aa1: ADD
00000aa2: SWAP1
00000aa3: DUP1
00000aa4: DUP4
00000aa5: DUP4
00000aa6: DUP3
00000aa7: SWAP1
00000aa8: PUSH1 0x00
00000aaa: PUSH1 0x04
00000aac: PUSH1 0x20
00000aae: DUP5
00000aaf: PUSH1 0x1f
00000ab1: ADD
00000ab2: DIV
00000ab3: PUSH1 0x03
00000ab5: MUL
00000ab6: PUSH1 0x0f
00000ab8: ADD
00000ab9: CALL
00000aba: POP
00000abb: SWAP1
00000abc: POP
00000abd: SWAP1
00000abe: DUP2
00000abf: ADD
00000ac0: SWAP1
00000ac1: PUSH1 0x1f
00000ac3: AND
00000ac4: DUP1
00000ac5: ISZERO
00000ac6: PUSH2 0x01ff
00000ac9: JUMPI
00000aca: DUP1
00000acb: DUP3
00000acc: SUB
00000acd: DUP1
00000ace: MLOAD
00000acf: PUSH1 0x01
00000ad1: DUP4
00000ad2: PUSH1 0x20
00000ad4: SUB
00000ad5: PUSH2 0x0100
00000ad8: EXP
00000ad9: SUB
00000ada: NOT
00000adb: AND
00000adc: DUP2
00000add: MSTORE
00000ade: PUSH1 0x20
00000ae0: ADD
00000ae1: SWAP2
00000ae2: POP
00000ae3: JUMPDEST
00000ae4: POP
00000ae5: SWAP3
00000ae6: POP
00000ae7: POP
00000ae8: POP
00000ae9: PUSH1 0x40
00000aeb: MLOAD
00000aec: DUP1
00000aed: SWAP2
00000aee: SUB
00000aef: SWAP1
00000af0: RETURN
00000af1: JUMPDEST
00000af2: DUP3
00000af3: ADD
00000af4: SWAP2
00000af5: SWAP1
00000af6: PUSH1 0x00
00000af8: MSTORE
00000af9: PUSH1 0x20
00000afb: PUSH1 0x00
00000afd: KECCAK256
00000afe: SWAP1
00000aff: JUMPDEST
00000b00: DUP2
00000b01: SLOAD
00000b02: DUP2
00000b03: MSTORE
00000b04: SWAP1
00000b05: PUSH1 0x01
00000b07: ADD
00000b08: SWAP1
00000b09: PUSH1 0x20
00000b0b: ADD
00000b0c: DUP1
00000b0d: DUP4
00000b0e: GT
00000b0f: PUSH2 0x021b
00000b12: JUMPI
00000b13: DUP3
00000b14: SWAP1
00000b15: SUB
00000b16: PUSH1 0x1f
00000b18: AND
00000b19: DUP3
00000b1a: ADD
00000b1b: SWAP2
00000b1c: JUMPDEST
00000b1d: POP
00000b1e: POP
00000b1f: SWAP3
00000b20: POP
00000b21: POP
00000b22: POP
00000b23: PUSH1 0x00
00000b25: PUSH1 0x40
00000b27: MLOAD
00000b28: DUP1
00000b29: DUP4
00000b2a: SUB
00000b2b: DUP2
00000b2c: PUSH1 0x00
00000b2e: DUP8
00000b2f: DUP1
00000b30: EXTCODESIZE
00000b31: ISZERO
00000b32: PUSH2 0x0002
00000b35: JUMPI
00000b36: PUSH1 0x32
00000b38: GAS
00000b39: SUB
00000b3a: CALL
00000b3b: ISZERO
00000b3c: PUSH2 0x0002
00000b3f: JUMPI
00000b40: POP
00000b41: POP
00000b42: POP
00000b43: JUMPDEST
00000b44: POP
00000b45: POP
00000b46: POP
00000b47: JUMP
00000b48: JUMPDEST
00000b49: DUP3
00000b4a: ADD
00000b4b: SWAP2
00000b4c: SWAP1
00000b4d: PUSH1 0x00
00000b4f: MSTORE
00000b50: PUSH1 0x20
00000b52: PUSH1 0x00
00000b54: KECCAK256
00000b55: SWAP1
00000b56: JUMPDEST
00000b57: DUP2
00000b58: SLOAD
00000b59: DUP2
00000b5a: MSTORE
00000b5b: SWAP1
00000b5c: PUSH1 0x01
00000b5e: ADD
00000b5f: SWAP1
00000b60: PUSH1 0x20
00000b62: ADD
00000b63: DUP1
00000b64: DUP4
00000b65: GT
00000b66: PUSH2 0x0272
00000b69: JUMPI
00000b6a: DUP3
00000b6b: SWAP1
00000b6c: SUB
00000b6d: PUSH1 0x1f
00000b6f: AND
00000b70: DUP3
00000b71: ADD
00000b72: SWAP2
00000b73: JUMPDEST
00000b74: POP
00000b75: POP
00000b76: POP
00000b77: POP
00000b78: POP
00000b79: DUP2
00000b7a: JUMP
View stderr
Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment.

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 yes yes
view
trace_id: 0xe1c2388275201b79954729219ea93276cd753518617b8cdb439b593e47f0f86f
call_targets: 0x0000000000000000000000000000000000000004, 0x98ab899cb5feb717eb263407f31c67d13bb64613
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0xe1c2388275201b79954729219ea93276cd753518617b8cdb439b593e47f0f86f",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0000000000000000000000000000000000000004",
        "0x98ab899cb5feb717eb263407f31c67d13bb64613"
    ],
    "matched_probe": null,
    "target_varies": true,
    "classification": "target_varies"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x2de02f8c",
            "selector": "0x2de02f8c",
            "calldata_variants": [
                "0x2de02f8c",
                "0x2de02f8c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4a79d50c",
            "selector": "0x4a79d50c",
            "calldata_variants": [
                "0x4a79d50c",
                "0x4a79d50c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5a3b7e42",
            "selector": "0x5a3b7e42",
            "calldata_variants": [
                "0x5a3b7e42",
                "0x5a3b7e420000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x61fdbfd8",
            "selector": "0x61fdbfd8",
            "calldata_variants": [
                "0x61fdbfd8",
                "0x61fdbfd80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa035b1fe",
            "selector": "0xa035b1fe",
            "calldata_variants": [
                "0xa035b1fe",
                "0xa035b1fe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc7802177",
            "selector": "0xc7802177",
            "calldata_variants": [
                "0xc7802177",
                "0xc78021770000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe6ad7c03",
            "selector": "0xe6ad7c03",
            "calldata_variants": [
                "0xe6ad7c03",
                "0xe6ad7c030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x12065fe0",
            "selector": "0x12065fe0",
            "calldata_variants": [
                "0x12065fe0",
                "0x12065fe00000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 233,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "constant_zero",
            "target_expression_category": "computed"
        },
        {
            "pc": 699,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "constant",
            "target_expression_category": "computed"
        },
        {
            "pc": 1130,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 8,
    "guards_detected": [],
    "untrusted_call_count": 8
}
high other detector ETH value transfer possible 55 yes yes
view
trace_id: 0xe1c2388275201b79954729219ea93276cd753518617b8cdb439b593e47f0f86f
call_targets: 0x0000000000000000000000000000000000000004, 0x98ab899cb5feb717eb263407f31c67d13bb64613
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0xe1c2388275201b79954729219ea93276cd753518617b8cdb439b593e47f0f86f",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0000000000000000000000000000000000000004",
        "0x98ab899cb5feb717eb263407f31c67d13bb64613"
    ],
    "matched_probe": null,
    "target_varies": true,
    "classification": "target_varies"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x2de02f8c",
            "selector": "0x2de02f8c",
            "calldata_variants": [
                "0x2de02f8c",
                "0x2de02f8c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4a79d50c",
            "selector": "0x4a79d50c",
            "calldata_variants": [
                "0x4a79d50c",
                "0x4a79d50c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5a3b7e42",
            "selector": "0x5a3b7e42",
            "calldata_variants": [
                "0x5a3b7e42",
                "0x5a3b7e420000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x61fdbfd8",
            "selector": "0x61fdbfd8",
            "calldata_variants": [
                "0x61fdbfd8",
                "0x61fdbfd80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa035b1fe",
            "selector": "0xa035b1fe",
            "calldata_variants": [
                "0xa035b1fe",
                "0xa035b1fe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc7802177",
            "selector": "0xc7802177",
            "calldata_variants": [
                "0xc7802177",
                "0xc78021770000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe6ad7c03",
            "selector": "0xe6ad7c03",
            "calldata_variants": [
                "0xe6ad7c03",
                "0xe6ad7c030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x12065fe0",
            "selector": "0x12065fe0",
            "calldata_variants": [
                "0x12065fe0",
                "0x12065fe00000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 699,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "constant",
            "target_expression_category": "computed"
        },
        {
            "pc": 1130,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1371,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 7,
    "guards_detected": []
}
medium other detector CREATE/CREATE2 reachable 45 yes yes
view
trace_id: 0xd9e655ccfddd198bd7181c88e658821ca3e9825e695bd565897f7c22efc98777
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0xd9e655ccfddd198bd7181c88e658821ca3e9825e695bd565897f7c22efc98777",
    "confirmed": true,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "sink_reached"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x2de02f8c",
            "selector": "0x2de02f8c",
            "calldata_variants": [
                "0x2de02f8c",
                "0x2de02f8c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4a79d50c",
            "selector": "0x4a79d50c",
            "calldata_variants": [
                "0x4a79d50c",
                "0x4a79d50c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5a3b7e42",
            "selector": "0x5a3b7e42",
            "calldata_variants": [
                "0x5a3b7e42",
                "0x5a3b7e420000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x61fdbfd8",
            "selector": "0x61fdbfd8",
            "calldata_variants": [
                "0x61fdbfd8",
                "0x61fdbfd80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa035b1fe",
            "selector": "0xa035b1fe",
            "calldata_variants": [
                "0xa035b1fe",
                "0xa035b1fe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc7802177",
            "selector": "0xc7802177",
            "calldata_variants": [
                "0xc7802177",
                "0xc78021770000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe6ad7c03",
            "selector": "0xe6ad7c03",
            "calldata_variants": [
                "0xe6ad7c03",
                "0xe6ad7c030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x12065fe0",
            "selector": "0x12065fe0",
            "calldata_variants": [
                "0x12065fe0",
                "0x12065fe00000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 1,
    "create2_count": 0
}