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

Analysis Run

019b3836-5b54-73e0-9926-1af0a91fedfc

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
2
Validated
2
Source
Bytecode only
Review Backing
Not yet
Best current signal
ETH value transfer possible
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
9033 artifact.fetch complete 1 / 3 3 months ago
9034 tool.cast_disasm complete 1 / 3 3 months ago
52280 analysis.bundle complete 1 / 3 1 week ago
52281 capability.graph complete 1 / 3 1 week ago
52282 detector.run complete 1 / 3 1 week ago
52283 validation.fork complete 1 / 3 1 week ago
113398 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-px16gf6b
model: gpt-5.4
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: none
session id: 019d5c92-abd2-79d1-9d7f-4955b2feac3e
--------
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:36:50.962014+00:00",
        "returncode": 1
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 6688,
        "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)
6
EXT*/BALANCE
1
Total opcodes
2021
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x00c1
0000000a: JUMPI
0000000b: PUSH1 0x00
0000000d: CALLDATALOAD
0000000e: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
0000002c: SWAP1
0000002d: DIV
0000002e: DUP1
0000002f: PUSH4 0x06fdde03
00000034: EQ
00000035: PUSH2 0x00ca
00000038: JUMPI
00000039: DUP1
0000003a: PUSH4 0x095ea7b3
0000003f: EQ
00000040: PUSH2 0x0145
00000043: JUMPI
00000044: DUP1
00000045: PUSH4 0x18160ddd
0000004a: EQ
0000004b: PUSH2 0x017c
0000004e: JUMPI
0000004f: DUP1
00000050: PUSH4 0x23b872dd
00000055: EQ
00000056: PUSH2 0x019f
00000059: JUMPI
0000005a: DUP1
0000005b: PUSH4 0x313ce567
00000060: EQ
00000061: PUSH2 0x01df
00000064: JUMPI
00000065: DUP1
00000066: PUSH4 0x5a3b7e42
0000006b: EQ
0000006c: PUSH2 0x0205
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0x70a08231
00000076: EQ
00000077: PUSH2 0x0280
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0x836a1e23
00000081: EQ
00000082: PUSH2 0x02ac
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0x95d89b41
0000008c: EQ
0000008d: PUSH2 0x02bb
00000090: JUMPI
00000091: DUP1
00000092: PUSH4 0xa9059cbb
00000097: EQ
00000098: PUSH2 0x0336
0000009b: JUMPI
0000009c: DUP1
0000009d: PUSH4 0xcae9ca51
000000a2: EQ
000000a3: PUSH2 0x0357
000000a6: JUMPI
000000a7: DUP1
000000a8: PUSH4 0xdd62ed3e
000000ad: EQ
000000ae: PUSH2 0x03d5
000000b1: JUMPI
000000b2: DUP1
000000b3: PUSH4 0xf8b2cb4f
000000b8: EQ
000000b9: PUSH2 0x040a
000000bc: JUMPI
000000bd: PUSH2 0x00c1
000000c0: JUMP
000000c1: JUMPDEST
000000c2: PUSH2 0x00c8
000000c5: JUMPDEST
000000c6: JUMPDEST
000000c7: JUMP
000000c8: JUMPDEST
000000c9: STOP
000000ca: JUMPDEST
000000cb: PUSH2 0x00d7
000000ce: PUSH1 0x04
000000d0: DUP1
000000d1: POP
000000d2: POP
000000d3: PUSH2 0x0436
000000d6: JUMP
000000d7: JUMPDEST
000000d8: PUSH1 0x40
000000da: MLOAD
000000db: DUP1
000000dc: DUP1
000000dd: PUSH1 0x20
000000df: ADD
000000e0: DUP3
000000e1: DUP2
000000e2: SUB
000000e3: DUP3
000000e4: MSTORE
000000e5: DUP4
000000e6: DUP2
000000e7: DUP2
000000e8: MLOAD
000000e9: DUP2
000000ea: MSTORE
000000eb: PUSH1 0x20
000000ed: ADD
000000ee: SWAP2
000000ef: POP
000000f0: DUP1
000000f1: MLOAD
000000f2: SWAP1
000000f3: PUSH1 0x20
000000f5: ADD
000000f6: SWAP1
000000f7: DUP1
000000f8: DUP4
000000f9: DUP4
000000fa: DUP3
000000fb: SWAP1
000000fc: PUSH1 0x00
000000fe: PUSH1 0x04
00000100: PUSH1 0x20
00000102: DUP5
00000103: PUSH1 0x1f
00000105: ADD
00000106: DIV
00000107: PUSH1 0x03
00000109: MUL
0000010a: PUSH1 0x0f
0000010c: ADD
0000010d: CALL
0000010e: POP
0000010f: SWAP1
00000110: POP
00000111: SWAP1
00000112: DUP2
00000113: ADD
00000114: SWAP1
00000115: PUSH1 0x1f
00000117: AND
00000118: DUP1
00000119: ISZERO
0000011a: PUSH2 0x0137
0000011d: JUMPI
0000011e: DUP1
0000011f: DUP3
00000120: SUB
00000121: DUP1
00000122: MLOAD
00000123: PUSH1 0x01
00000125: DUP4
00000126: PUSH1 0x20
00000128: SUB
00000129: PUSH2 0x0100
0000012c: EXP
0000012d: SUB
0000012e: NOT
0000012f: AND
00000130: DUP2
00000131: MSTORE
00000132: PUSH1 0x20
00000134: ADD
00000135: SWAP2
00000136: POP
00000137: JUMPDEST
00000138: POP
00000139: SWAP3
0000013a: POP
0000013b: POP
0000013c: POP
0000013d: PUSH1 0x40
0000013f: MLOAD
00000140: DUP1
00000141: SWAP2
00000142: SUB
00000143: SWAP1
00000144: RETURN
00000145: JUMPDEST
00000146: PUSH2 0x0164
00000149: PUSH1 0x04
0000014b: DUP1
0000014c: DUP1
0000014d: CALLDATALOAD
0000014e: SWAP1
0000014f: PUSH1 0x20
00000151: ADD
00000152: SWAP1
00000153: SWAP2
00000154: SWAP1
00000155: DUP1
00000156: CALLDATALOAD
00000157: SWAP1
00000158: PUSH1 0x20
0000015a: ADD
0000015b: SWAP1
0000015c: SWAP2
0000015d: SWAP1
0000015e: POP
0000015f: POP
00000160: PUSH2 0x04d7
00000163: JUMP
00000164: JUMPDEST
00000165: PUSH1 0x40
00000167: MLOAD
00000168: DUP1
00000169: DUP3
0000016a: ISZERO
0000016b: ISZERO
0000016c: DUP2
0000016d: MSTORE
0000016e: PUSH1 0x20
00000170: ADD
00000171: SWAP2
00000172: POP
00000173: POP
00000174: PUSH1 0x40
00000176: MLOAD
00000177: DUP1
00000178: SWAP2
00000179: SUB
0000017a: SWAP1
0000017b: RETURN
0000017c: JUMPDEST
0000017d: PUSH2 0x0189
00000180: PUSH1 0x04
00000182: DUP1
00000183: POP
00000184: POP
00000185: PUSH2 0x0546
00000188: JUMP
00000189: JUMPDEST
0000018a: PUSH1 0x40
0000018c: MLOAD
0000018d: DUP1
0000018e: DUP3
0000018f: DUP2
00000190: MSTORE
00000191: PUSH1 0x20
00000193: ADD
00000194: SWAP2
00000195: POP
00000196: POP
00000197: PUSH1 0x40
00000199: MLOAD
0000019a: DUP1
0000019b: SWAP2
0000019c: SUB
0000019d: SWAP1
0000019e: RETURN
0000019f: JUMPDEST
000001a0: PUSH2 0x01c7
000001a3: PUSH1 0x04
000001a5: DUP1
000001a6: DUP1
000001a7: CALLDATALOAD
000001a8: SWAP1
000001a9: PUSH1 0x20
000001ab: ADD
000001ac: SWAP1
000001ad: SWAP2
000001ae: SWAP1
000001af: DUP1
000001b0: CALLDATALOAD
000001b1: SWAP1
000001b2: PUSH1 0x20
000001b4: ADD
000001b5: SWAP1
000001b6: SWAP2
000001b7: SWAP1
000001b8: DUP1
000001b9: CALLDATALOAD
000001ba: SWAP1
000001bb: PUSH1 0x20
000001bd: ADD
000001be: SWAP1
000001bf: SWAP2
000001c0: SWAP1
000001c1: POP
000001c2: POP
000001c3: PUSH2 0x054f
000001c6: JUMP
000001c7: JUMPDEST
000001c8: PUSH1 0x40
000001ca: MLOAD
000001cb: DUP1
000001cc: DUP3
000001cd: ISZERO
000001ce: ISZERO
000001cf: DUP2
000001d0: MSTORE
000001d1: PUSH1 0x20
000001d3: ADD
000001d4: SWAP2
000001d5: POP
000001d6: POP
000001d7: PUSH1 0x40
000001d9: MLOAD
000001da: DUP1
000001db: SWAP2
000001dc: SUB
000001dd: SWAP1
000001de: RETURN
000001df: JUMPDEST
000001e0: PUSH2 0x01ec
000001e3: PUSH1 0x04
000001e5: DUP1
000001e6: POP
000001e7: POP
000001e8: PUSH2 0x07b3
000001eb: JUMP
000001ec: JUMPDEST
000001ed: PUSH1 0x40
000001ef: MLOAD
000001f0: DUP1
000001f1: DUP3
000001f2: PUSH1 0xff
000001f4: AND
000001f5: DUP2
000001f6: MSTORE
000001f7: PUSH1 0x20
000001f9: ADD
000001fa: SWAP2
000001fb: POP
000001fc: POP
000001fd: PUSH1 0x40
000001ff: MLOAD
00000200: DUP1
00000201: SWAP2
00000202: SUB
00000203: SWAP1
00000204: RETURN
00000205: JUMPDEST
00000206: PUSH2 0x0212
00000209: PUSH1 0x04
0000020b: DUP1
0000020c: POP
0000020d: POP
0000020e: PUSH2 0x07c6
00000211: JUMP
00000212: JUMPDEST
00000213: PUSH1 0x40
00000215: MLOAD
00000216: DUP1
00000217: DUP1
00000218: PUSH1 0x20
0000021a: ADD
0000021b: DUP3
0000021c: DUP2
0000021d: SUB
0000021e: DUP3
0000021f: MSTORE
00000220: DUP4
00000221: DUP2
00000222: DUP2
00000223: MLOAD
00000224: DUP2
00000225: MSTORE
00000226: PUSH1 0x20
00000228: ADD
00000229: SWAP2
0000022a: POP
0000022b: DUP1
0000022c: MLOAD
0000022d: SWAP1
0000022e: PUSH1 0x20
00000230: ADD
00000231: SWAP1
00000232: DUP1
00000233: DUP4
00000234: DUP4
00000235: DUP3
00000236: SWAP1
00000237: PUSH1 0x00
00000239: PUSH1 0x04
0000023b: PUSH1 0x20
0000023d: DUP5
0000023e: PUSH1 0x1f
00000240: ADD
00000241: DIV
00000242: PUSH1 0x03
00000244: MUL
00000245: PUSH1 0x0f
00000247: ADD
00000248: CALL
00000249: POP
0000024a: SWAP1
0000024b: POP
0000024c: SWAP1
0000024d: DUP2
0000024e: ADD
0000024f: SWAP1
00000250: PUSH1 0x1f
00000252: AND
00000253: DUP1
00000254: ISZERO
00000255: PUSH2 0x0272
00000258: JUMPI
00000259: DUP1
0000025a: DUP3
0000025b: SUB
0000025c: DUP1
0000025d: MLOAD
0000025e: PUSH1 0x01
00000260: DUP4
00000261: PUSH1 0x20
00000263: SUB
00000264: PUSH2 0x0100
00000267: EXP
00000268: SUB
00000269: NOT
0000026a: AND
0000026b: DUP2
0000026c: MSTORE
0000026d: PUSH1 0x20
0000026f: ADD
00000270: SWAP2
00000271: POP
00000272: JUMPDEST
00000273: POP
00000274: SWAP3
00000275: POP
00000276: POP
00000277: POP
00000278: PUSH1 0x40
0000027a: MLOAD
0000027b: DUP1
0000027c: SWAP2
0000027d: SUB
0000027e: SWAP1
0000027f: RETURN
00000280: JUMPDEST
00000281: PUSH2 0x0296
00000284: PUSH1 0x04
00000286: DUP1
00000287: DUP1
00000288: CALLDATALOAD
00000289: SWAP1
0000028a: PUSH1 0x20
0000028c: ADD
0000028d: SWAP1
0000028e: SWAP2
0000028f: SWAP1
00000290: POP
00000291: POP
00000292: PUSH2 0x0867
00000295: JUMP
00000296: JUMPDEST
00000297: PUSH1 0x40
00000299: MLOAD
0000029a: DUP1
0000029b: DUP3
0000029c: DUP2
0000029d: MSTORE
0000029e: PUSH1 0x20
000002a0: ADD
000002a1: SWAP2
000002a2: POP
000002a3: POP
000002a4: PUSH1 0x40
000002a6: MLOAD
000002a7: DUP1
000002a8: SWAP2
000002a9: SUB
000002aa: SWAP1
000002ab: RETURN
000002ac: JUMPDEST
000002ad: PUSH2 0x02b9
000002b0: PUSH1 0x04
000002b2: DUP1
000002b3: POP
000002b4: POP
000002b5: PUSH2 0x0882
000002b8: JUMP
000002b9: JUMPDEST
000002ba: STOP
000002bb: JUMPDEST
000002bc: PUSH2 0x02c8
000002bf: PUSH1 0x04
000002c1: DUP1
000002c2: POP
000002c3: POP
000002c4: PUSH2 0x094d
000002c7: JUMP
000002c8: JUMPDEST
000002c9: PUSH1 0x40
000002cb: MLOAD
000002cc: DUP1
000002cd: DUP1
000002ce: PUSH1 0x20
000002d0: ADD
000002d1: DUP3
000002d2: DUP2
000002d3: SUB
000002d4: DUP3
000002d5: MSTORE
000002d6: DUP4
000002d7: DUP2
000002d8: DUP2
000002d9: MLOAD
000002da: DUP2
000002db: MSTORE
000002dc: PUSH1 0x20
000002de: ADD
000002df: SWAP2
000002e0: POP
000002e1: DUP1
000002e2: MLOAD
000002e3: SWAP1
000002e4: PUSH1 0x20
000002e6: ADD
000002e7: SWAP1
000002e8: DUP1
000002e9: DUP4
000002ea: DUP4
000002eb: DUP3
000002ec: SWAP1
000002ed: PUSH1 0x00
000002ef: PUSH1 0x04
000002f1: PUSH1 0x20
000002f3: DUP5
000002f4: PUSH1 0x1f
000002f6: ADD
000002f7: DIV
000002f8: PUSH1 0x03
000002fa: MUL
000002fb: PUSH1 0x0f
000002fd: ADD
000002fe: CALL
000002ff: POP
00000300: SWAP1
00000301: POP
00000302: SWAP1
00000303: DUP2
00000304: ADD
00000305: SWAP1
00000306: PUSH1 0x1f
00000308: AND
00000309: DUP1
0000030a: ISZERO
0000030b: PUSH2 0x0328
0000030e: JUMPI
0000030f: DUP1
00000310: DUP3
00000311: SUB
00000312: DUP1
00000313: MLOAD
00000314: PUSH1 0x01
00000316: DUP4
00000317: PUSH1 0x20
00000319: SUB
0000031a: PUSH2 0x0100
0000031d: EXP
0000031e: SUB
0000031f: NOT
00000320: AND
00000321: DUP2
00000322: MSTORE
00000323: PUSH1 0x20
00000325: ADD
00000326: SWAP2
00000327: POP
00000328: JUMPDEST
00000329: POP
0000032a: SWAP3
0000032b: POP
0000032c: POP
0000032d: POP
0000032e: PUSH1 0x40
00000330: MLOAD
00000331: DUP1
00000332: SWAP2
00000333: SUB
00000334: SWAP1
00000335: RETURN
00000336: JUMPDEST
00000337: PUSH2 0x0355
0000033a: PUSH1 0x04
0000033c: DUP1
0000033d: DUP1
0000033e: CALLDATALOAD
0000033f: SWAP1
00000340: PUSH1 0x20
00000342: ADD
00000343: SWAP1
00000344: SWAP2
00000345: SWAP1
00000346: DUP1
00000347: CALLDATALOAD
00000348: SWAP1
00000349: PUSH1 0x20
0000034b: ADD
0000034c: SWAP1
0000034d: SWAP2
0000034e: SWAP1
0000034f: POP
00000350: POP
00000351: PUSH2 0x09ee
00000354: JUMP
00000355: JUMPDEST
00000356: STOP
00000357: JUMPDEST
00000358: PUSH2 0x03bd
0000035b: PUSH1 0x04
0000035d: DUP1
0000035e: DUP1
0000035f: CALLDATALOAD
00000360: SWAP1
00000361: PUSH1 0x20
00000363: ADD
00000364: SWAP1
00000365: SWAP2
00000366: SWAP1
00000367: DUP1
00000368: CALLDATALOAD
00000369: SWAP1
0000036a: PUSH1 0x20
0000036c: ADD
0000036d: SWAP1
0000036e: SWAP2
0000036f: SWAP1
00000370: DUP1
00000371: CALLDATALOAD
00000372: SWAP1
00000373: PUSH1 0x20
00000375: ADD
00000376: SWAP1
00000377: DUP3
00000378: ADD
00000379: DUP1
0000037a: CALLDATALOAD
0000037b: SWAP1
0000037c: PUSH1 0x20
0000037e: ADD
0000037f: SWAP2
00000380: SWAP2
00000381: SWAP1
00000382: DUP1
00000383: DUP1
00000384: PUSH1 0x1f
00000386: ADD
00000387: PUSH1 0x20
00000389: DUP1
0000038a: SWAP2
0000038b: DIV
0000038c: MUL
0000038d: PUSH1 0x20
0000038f: ADD
00000390: PUSH1 0x40
00000392: MLOAD
00000393: SWAP1
00000394: DUP2
00000395: ADD
00000396: PUSH1 0x40
00000398: MSTORE
00000399: DUP1
0000039a: SWAP4
0000039b: SWAP3
0000039c: SWAP2
0000039d: SWAP1
0000039e: DUP2
0000039f: DUP2
000003a0: MSTORE
000003a1: PUSH1 0x20
000003a3: ADD
000003a4: DUP4
000003a5: DUP4
000003a6: DUP1
000003a7: DUP3
000003a8: DUP5
000003a9: CALLDATACOPY
000003aa: DUP3
000003ab: ADD
000003ac: SWAP2
000003ad: POP
000003ae: POP
000003af: POP
000003b0: POP
000003b1: POP
000003b2: POP
000003b3: SWAP1
000003b4: SWAP1
000003b5: SWAP2
000003b6: SWAP1
000003b7: POP
000003b8: POP
000003b9: PUSH2 0x0b79
000003bc: JUMP
000003bd: JUMPDEST
000003be: PUSH1 0x40
000003c0: MLOAD
000003c1: DUP1
000003c2: DUP3
000003c3: ISZERO
000003c4: ISZERO
000003c5: DUP2
000003c6: MSTORE
000003c7: PUSH1 0x20
000003c9: ADD
000003ca: SWAP2
000003cb: POP
000003cc: POP
000003cd: PUSH1 0x40
000003cf: MLOAD
000003d0: DUP1
000003d1: SWAP2
000003d2: SUB
000003d3: SWAP1
000003d4: RETURN
000003d5: JUMPDEST
000003d6: PUSH2 0x03f4
000003d9: PUSH1 0x04
000003db: DUP1
000003dc: DUP1
000003dd: CALLDATALOAD
000003de: SWAP1
000003df: PUSH1 0x20
000003e1: ADD
000003e2: SWAP1
000003e3: SWAP2
000003e4: SWAP1
000003e5: DUP1
000003e6: CALLDATALOAD
000003e7: SWAP1
000003e8: PUSH1 0x20
000003ea: ADD
000003eb: SWAP1
000003ec: SWAP2
000003ed: SWAP1
000003ee: POP
000003ef: POP
000003f0: PUSH2 0x0ca6
000003f3: JUMP
000003f4: JUMPDEST
000003f5: PUSH1 0x40
000003f7: MLOAD
000003f8: DUP1
000003f9: DUP3
000003fa: DUP2
000003fb: MSTORE
000003fc: PUSH1 0x20
000003fe: ADD
000003ff: SWAP2
00000400: POP
00000401: POP
00000402: PUSH1 0x40
00000404: MLOAD
00000405: DUP1
00000406: SWAP2
00000407: SUB
00000408: SWAP1
00000409: RETURN
0000040a: JUMPDEST
0000040b: PUSH2 0x0420
0000040e: PUSH1 0x04
00000410: DUP1
00000411: DUP1
00000412: CALLDATALOAD
00000413: SWAP1
00000414: PUSH1 0x20
00000416: ADD
00000417: SWAP1
00000418: SWAP2
00000419: SWAP1
0000041a: POP
0000041b: POP
0000041c: PUSH2 0x0cd1
0000041f: JUMP
00000420: JUMPDEST
00000421: PUSH1 0x40
00000423: MLOAD
00000424: DUP1
00000425: DUP3
00000426: DUP2
00000427: MSTORE
00000428: PUSH1 0x20
0000042a: ADD
0000042b: SWAP2
0000042c: POP
0000042d: POP
0000042e: PUSH1 0x40
00000430: MLOAD
00000431: DUP1
00000432: SWAP2
00000433: SUB
00000434: SWAP1
00000435: RETURN
00000436: JUMPDEST
00000437: PUSH1 0x01
00000439: PUSH1 0x00
0000043b: POP
0000043c: DUP1
0000043d: SLOAD
0000043e: PUSH1 0x01
00000440: DUP2
00000441: PUSH1 0x01
00000443: AND
00000444: ISZERO
00000445: PUSH2 0x0100
00000448: MUL
00000449: SUB
0000044a: AND
0000044b: PUSH1 0x02
0000044d: SWAP1
0000044e: DIV
0000044f: DUP1
00000450: PUSH1 0x1f
00000452: ADD
00000453: PUSH1 0x20
00000455: DUP1
00000456: SWAP2
00000457: DIV
00000458: MUL
00000459: PUSH1 0x20
0000045b: ADD
0000045c: PUSH1 0x40
0000045e: MLOAD
0000045f: SWAP1
00000460: DUP2
00000461: ADD
00000462: PUSH1 0x40
00000464: MSTORE
00000465: DUP1
00000466: SWAP3
00000467: SWAP2
00000468: SWAP1
00000469: DUP2
0000046a: DUP2
0000046b: MSTORE
0000046c: PUSH1 0x20
0000046e: ADD
0000046f: DUP3
00000470: DUP1
00000471: SLOAD
00000472: PUSH1 0x01
00000474: DUP2
00000475: PUSH1 0x01
00000477: AND
00000478: ISZERO
00000479: PUSH2 0x0100
0000047c: MUL
0000047d: SUB
0000047e: AND
0000047f: PUSH1 0x02
00000481: SWAP1
00000482: DIV
00000483: DUP1
00000484: ISZERO
00000485: PUSH2 0x04cf
00000488: JUMPI
00000489: DUP1
0000048a: PUSH1 0x1f
0000048c: LT
0000048d: PUSH2 0x04a4
00000490: JUMPI
00000491: PUSH2 0x0100
00000494: DUP1
00000495: DUP4
00000496: SLOAD
00000497: DIV
00000498: MUL
00000499: DUP4
0000049a: MSTORE
0000049b: SWAP2
0000049c: PUSH1 0x20
0000049e: ADD
0000049f: SWAP2
000004a0: PUSH2 0x04cf
000004a3: JUMP
000004a4: JUMPDEST
000004a5: DUP3
000004a6: ADD
000004a7: SWAP2
000004a8: SWAP1
000004a9: PUSH1 0x00
000004ab: MSTORE
000004ac: PUSH1 0x20
000004ae: PUSH1 0x00
000004b0: KECCAK256
000004b1: SWAP1
000004b2: JUMPDEST
000004b3: DUP2
000004b4: SLOAD
000004b5: DUP2
000004b6: MSTORE
000004b7: SWAP1
000004b8: PUSH1 0x01
000004ba: ADD
000004bb: SWAP1
000004bc: PUSH1 0x20
000004be: ADD
000004bf: DUP1
000004c0: DUP4
000004c1: GT
000004c2: PUSH2 0x04b2
000004c5: JUMPI
000004c6: DUP3
000004c7: SWAP1
000004c8: SUB
000004c9: PUSH1 0x1f
000004cb: AND
000004cc: DUP3
000004cd: ADD
000004ce: SWAP2
000004cf: JUMPDEST
000004d0: POP
000004d1: POP
000004d2: POP
000004d3: POP
000004d4: POP
000004d5: DUP2
000004d6: JUMP
000004d7: JUMPDEST
000004d8: PUSH1 0x00
000004da: DUP2
000004db: PUSH1 0x07
000004dd: PUSH1 0x00
000004df: POP
000004e0: PUSH1 0x00
000004e2: CALLER
000004e3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004f8: AND
000004f9: DUP2
000004fa: MSTORE
000004fb: PUSH1 0x20
000004fd: ADD
000004fe: SWAP1
000004ff: DUP2
00000500: MSTORE
00000501: PUSH1 0x20
00000503: ADD
00000504: PUSH1 0x00
00000506: KECCAK256
00000507: PUSH1 0x00
00000509: POP
0000050a: PUSH1 0x00
0000050c: DUP6
0000050d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000522: AND
00000523: DUP2
00000524: MSTORE
00000525: PUSH1 0x20
00000527: ADD
00000528: SWAP1
00000529: DUP2
0000052a: MSTORE
0000052b: PUSH1 0x20
0000052d: ADD
0000052e: PUSH1 0x00
00000530: KECCAK256
00000531: PUSH1 0x00
00000533: POP
00000534: DUP2
00000535: SWAP1
00000536: SSTORE
00000537: POP
00000538: PUSH1 0x01
0000053a: SWAP1
0000053b: POP
0000053c: PUSH2 0x0540
0000053f: JUMP
00000540: JUMPDEST
00000541: SWAP3
00000542: SWAP2
00000543: POP
00000544: POP
00000545: JUMP
00000546: JUMPDEST
00000547: PUSH1 0x04
00000549: PUSH1 0x00
0000054b: POP
0000054c: SLOAD
0000054d: DUP2
0000054e: JUMP
0000054f: JUMPDEST
00000550: PUSH1 0x00
00000552: DUP2
00000553: PUSH1 0x06
00000555: PUSH1 0x00
00000557: POP
00000558: PUSH1 0x00
0000055a: DUP7
0000055b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000570: AND
00000571: DUP2
00000572: MSTORE
00000573: PUSH1 0x20
00000575: ADD
00000576: SWAP1
00000577: DUP2
00000578: MSTORE
00000579: PUSH1 0x20
0000057b: ADD
0000057c: PUSH1 0x00
0000057e: KECCAK256
0000057f: PUSH1 0x00
00000581: POP
00000582: SLOAD
00000583: LT
00000584: ISZERO
00000585: PUSH2 0x058d
00000588: JUMPI
00000589: PUSH2 0x0002
0000058c: JUMP
0000058d: JUMPDEST
0000058e: PUSH1 0x06
00000590: PUSH1 0x00
00000592: POP
00000593: PUSH1 0x00
00000595: DUP5
00000596: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005ab: AND
000005ac: DUP2
000005ad: MSTORE
000005ae: PUSH1 0x20
000005b0: ADD
000005b1: SWAP1
000005b2: DUP2
000005b3: MSTORE
000005b4: PUSH1 0x20
000005b6: ADD
000005b7: PUSH1 0x00
000005b9: KECCAK256
000005ba: PUSH1 0x00
000005bc: POP
000005bd: SLOAD
000005be: DUP3
000005bf: PUSH1 0x06
000005c1: PUSH1 0x00
000005c3: POP
000005c4: PUSH1 0x00
000005c6: DUP7
000005c7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005dc: AND
000005dd: DUP2
000005de: MSTORE
000005df: PUSH1 0x20
000005e1: ADD
000005e2: SWAP1
000005e3: DUP2
000005e4: MSTORE
000005e5: PUSH1 0x20
000005e7: ADD
000005e8: PUSH1 0x00
000005ea: KECCAK256
000005eb: PUSH1 0x00
000005ed: POP
000005ee: SLOAD
000005ef: ADD
000005f0: LT
000005f1: ISZERO
000005f2: PUSH2 0x05fa
000005f5: JUMPI
000005f6: PUSH2 0x0002
000005f9: JUMP
000005fa: JUMPDEST
000005fb: PUSH1 0x07
000005fd: PUSH1 0x00
000005ff: POP
00000600: PUSH1 0x00
00000602: DUP6
00000603: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000618: AND
00000619: DUP2
0000061a: MSTORE
0000061b: PUSH1 0x20
0000061d: ADD
0000061e: SWAP1
0000061f: DUP2
00000620: MSTORE
00000621: PUSH1 0x20
00000623: ADD
00000624: PUSH1 0x00
00000626: KECCAK256
00000627: PUSH1 0x00
00000629: POP
0000062a: PUSH1 0x00
0000062c: CALLER
0000062d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000642: AND
00000643: DUP2
00000644: MSTORE
00000645: PUSH1 0x20
00000647: ADD
00000648: SWAP1
00000649: DUP2
0000064a: MSTORE
0000064b: PUSH1 0x20
0000064d: ADD
0000064e: PUSH1 0x00
00000650: KECCAK256
00000651: PUSH1 0x00
00000653: POP
00000654: SLOAD
00000655: DUP3
00000656: GT
00000657: ISZERO
00000658: PUSH2 0x0660
0000065b: JUMPI
0000065c: PUSH2 0x0002
0000065f: JUMP
00000660: JUMPDEST
00000661: DUP2
00000662: PUSH1 0x06
00000664: PUSH1 0x00
00000666: POP
00000667: PUSH1 0x00
00000669: DUP7
0000066a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000067f: AND
00000680: DUP2
00000681: MSTORE
00000682: PUSH1 0x20
00000684: ADD
00000685: SWAP1
00000686: DUP2
00000687: MSTORE
00000688: PUSH1 0x20
0000068a: ADD
0000068b: PUSH1 0x00
0000068d: KECCAK256
0000068e: PUSH1 0x00
00000690: DUP3
00000691: DUP3
00000692: DUP3
00000693: POP
00000694: SLOAD
00000695: SUB
00000696: SWAP3
00000697: POP
00000698: POP
00000699: DUP2
0000069a: SWAP1
0000069b: SSTORE
0000069c: POP
0000069d: DUP2
0000069e: PUSH1 0x06
000006a0: PUSH1 0x00
000006a2: POP
000006a3: PUSH1 0x00
000006a5: DUP6
000006a6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006bb: AND
000006bc: DUP2
000006bd: MSTORE
000006be: PUSH1 0x20
000006c0: ADD
000006c1: SWAP1
000006c2: DUP2
000006c3: MSTORE
000006c4: PUSH1 0x20
000006c6: ADD
000006c7: PUSH1 0x00
000006c9: KECCAK256
000006ca: PUSH1 0x00
000006cc: DUP3
000006cd: DUP3
000006ce: DUP3
000006cf: POP
000006d0: SLOAD
000006d1: ADD
000006d2: SWAP3
000006d3: POP
000006d4: POP
000006d5: DUP2
000006d6: SWAP1
000006d7: SSTORE
000006d8: POP
000006d9: DUP2
000006da: PUSH1 0x07
000006dc: PUSH1 0x00
000006de: POP
000006df: PUSH1 0x00
000006e1: DUP7
000006e2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006f7: AND
000006f8: DUP2
000006f9: MSTORE
000006fa: PUSH1 0x20
000006fc: ADD
000006fd: SWAP1
000006fe: DUP2
000006ff: MSTORE
00000700: PUSH1 0x20
00000702: ADD
00000703: PUSH1 0x00
00000705: KECCAK256
00000706: PUSH1 0x00
00000708: POP
00000709: PUSH1 0x00
0000070b: CALLER
0000070c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000721: AND
00000722: DUP2
00000723: MSTORE
00000724: PUSH1 0x20
00000726: ADD
00000727: SWAP1
00000728: DUP2
00000729: MSTORE
0000072a: PUSH1 0x20
0000072c: ADD
0000072d: PUSH1 0x00
0000072f: KECCAK256
00000730: PUSH1 0x00
00000732: DUP3
00000733: DUP3
00000734: DUP3
00000735: POP
00000736: SLOAD
00000737: SUB
00000738: SWAP3
00000739: POP
0000073a: POP
0000073b: DUP2
0000073c: SWAP1
0000073d: SSTORE
0000073e: POP
0000073f: DUP3
00000740: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000755: AND
00000756: DUP5
00000757: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000076c: AND
0000076d: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
0000078e: DUP5
0000078f: PUSH1 0x40
00000791: MLOAD
00000792: DUP1
00000793: DUP3
00000794: DUP2
00000795: MSTORE
00000796: PUSH1 0x20
00000798: ADD
00000799: SWAP2
0000079a: POP
0000079b: POP
0000079c: PUSH1 0x40
0000079e: MLOAD
0000079f: DUP1
000007a0: SWAP2
000007a1: SUB
000007a2: SWAP1
000007a3: LOG3
000007a4: PUSH1 0x01
000007a6: SWAP1
000007a7: POP
000007a8: PUSH2 0x07ac
000007ab: JUMP
000007ac: JUMPDEST
000007ad: SWAP4
000007ae: SWAP3
000007af: POP
000007b0: POP
000007b1: POP
000007b2: JUMP
000007b3: JUMPDEST
000007b4: PUSH1 0x03
000007b6: PUSH1 0x00
000007b8: SWAP1
000007b9: SLOAD
000007ba: SWAP1
000007bb: PUSH2 0x0100
000007be: EXP
000007bf: SWAP1
000007c0: DIV
000007c1: PUSH1 0xff
000007c3: AND
000007c4: DUP2
000007c5: JUMP
000007c6: JUMPDEST
000007c7: PUSH1 0x00
000007c9: PUSH1 0x00
000007cb: POP
000007cc: DUP1
000007cd: SLOAD
000007ce: PUSH1 0x01
000007d0: DUP2
000007d1: PUSH1 0x01
000007d3: AND
000007d4: ISZERO
000007d5: PUSH2 0x0100
000007d8: MUL
000007d9: SUB
000007da: AND
000007db: PUSH1 0x02
000007dd: SWAP1
000007de: DIV
000007df: DUP1
000007e0: PUSH1 0x1f
000007e2: ADD
000007e3: PUSH1 0x20
000007e5: DUP1
000007e6: SWAP2
000007e7: DIV
000007e8: MUL
000007e9: PUSH1 0x20
000007eb: ADD
000007ec: PUSH1 0x40
000007ee: MLOAD
000007ef: SWAP1
000007f0: DUP2
000007f1: ADD
000007f2: PUSH1 0x40
000007f4: MSTORE
000007f5: DUP1
000007f6: SWAP3
000007f7: SWAP2
000007f8: SWAP1
000007f9: DUP2
000007fa: DUP2
000007fb: MSTORE
000007fc: PUSH1 0x20
000007fe: ADD
000007ff: DUP3
00000800: DUP1
00000801: SLOAD
00000802: PUSH1 0x01
00000804: DUP2
00000805: PUSH1 0x01
00000807: AND
00000808: ISZERO
00000809: PUSH2 0x0100
0000080c: MUL
0000080d: SUB
0000080e: AND
0000080f: PUSH1 0x02
00000811: SWAP1
00000812: DIV
00000813: DUP1
00000814: ISZERO
00000815: PUSH2 0x085f
00000818: JUMPI
00000819: DUP1
0000081a: PUSH1 0x1f
0000081c: LT
0000081d: PUSH2 0x0834
00000820: JUMPI
00000821: PUSH2 0x0100
00000824: DUP1
00000825: DUP4
00000826: SLOAD
00000827: DIV
00000828: MUL
00000829: DUP4
0000082a: MSTORE
0000082b: SWAP2
0000082c: PUSH1 0x20
0000082e: ADD
0000082f: SWAP2
00000830: PUSH2 0x085f
00000833: JUMP
00000834: JUMPDEST
00000835: DUP3
00000836: ADD
00000837: SWAP2
00000838: SWAP1
00000839: PUSH1 0x00
0000083b: MSTORE
0000083c: PUSH1 0x20
0000083e: PUSH1 0x00
00000840: KECCAK256
00000841: SWAP1
00000842: JUMPDEST
00000843: DUP2
00000844: SLOAD
00000845: DUP2
00000846: MSTORE
00000847: SWAP1
00000848: PUSH1 0x01
0000084a: ADD
0000084b: SWAP1
0000084c: PUSH1 0x20
0000084e: ADD
0000084f: DUP1
00000850: DUP4
00000851: GT
00000852: PUSH2 0x0842
00000855: JUMPI
00000856: DUP3
00000857: SWAP1
00000858: SUB
00000859: PUSH1 0x1f
0000085b: AND
0000085c: DUP3
0000085d: ADD
0000085e: SWAP2
0000085f: JUMPDEST
00000860: POP
00000861: POP
00000862: POP
00000863: POP
00000864: POP
00000865: DUP2
00000866: JUMP
00000867: JUMPDEST
00000868: PUSH1 0x06
0000086a: PUSH1 0x00
0000086c: POP
0000086d: PUSH1 0x20
0000086f: MSTORE
00000870: DUP1
00000871: PUSH1 0x00
00000873: MSTORE
00000874: PUSH1 0x40
00000876: PUSH1 0x00
00000878: KECCAK256
00000879: PUSH1 0x00
0000087b: SWAP2
0000087c: POP
0000087d: SWAP1
0000087e: POP
0000087f: SLOAD
00000880: DUP2
00000881: JUMP
00000882: JUMPDEST
00000883: CALLER
00000884: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000899: AND
0000089a: PUSH1 0x05
0000089c: PUSH1 0x00
0000089e: SWAP1
0000089f: SLOAD
000008a0: SWAP1
000008a1: PUSH2 0x0100
000008a4: EXP
000008a5: SWAP1
000008a6: DIV
000008a7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008bc: AND
000008bd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008d2: AND
000008d3: EQ
000008d4: ISZERO
000008d5: PUSH2 0x094a
000008d8: JUMPI
000008d9: PUSH1 0x05
000008db: PUSH1 0x00
000008dd: SWAP1
000008de: SLOAD
000008df: SWAP1
000008e0: PUSH2 0x0100
000008e3: EXP
000008e4: SWAP1
000008e5: DIV
000008e6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008fb: AND
000008fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000911: AND
00000912: PUSH1 0x00
00000914: PUSH3 0x200b20
00000918: ADDRESS
00000919: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000092e: AND
0000092f: BALANCE
00000930: SUB
00000931: PUSH1 0x40
00000933: MLOAD
00000934: DUP1
00000935: SWAP1
00000936: POP
00000937: PUSH1 0x00
00000939: PUSH1 0x40
0000093b: MLOAD
0000093c: DUP1
0000093d: DUP4
0000093e: SUB
0000093f: DUP2
00000940: DUP6
00000941: DUP9
00000942: DUP9
00000943: CALL
00000944: SWAP4
00000945: POP
00000946: POP
00000947: POP
00000948: POP
00000949: POP
0000094a: JUMPDEST
0000094b: JUMPDEST
0000094c: JUMP
0000094d: JUMPDEST
0000094e: PUSH1 0x02
00000950: PUSH1 0x00
00000952: POP
00000953: DUP1
00000954: SLOAD
00000955: PUSH1 0x01
00000957: DUP2
00000958: PUSH1 0x01
0000095a: AND
0000095b: ISZERO
0000095c: PUSH2 0x0100
0000095f: MUL
00000960: SUB
00000961: AND
00000962: PUSH1 0x02
00000964: SWAP1
00000965: DIV
00000966: DUP1
00000967: PUSH1 0x1f
00000969: ADD
0000096a: PUSH1 0x20
0000096c: DUP1
0000096d: SWAP2
0000096e: DIV
0000096f: MUL
00000970: PUSH1 0x20
00000972: ADD
00000973: PUSH1 0x40
00000975: MLOAD
00000976: SWAP1
00000977: DUP2
00000978: ADD
00000979: PUSH1 0x40
0000097b: MSTORE
0000097c: DUP1
0000097d: SWAP3
0000097e: SWAP2
0000097f: SWAP1
00000980: DUP2
00000981: DUP2
00000982: MSTORE
00000983: PUSH1 0x20
00000985: ADD
00000986: DUP3
00000987: DUP1
00000988: SLOAD
00000989: PUSH1 0x01
0000098b: DUP2
0000098c: PUSH1 0x01
0000098e: AND
0000098f: ISZERO
00000990: PUSH2 0x0100
00000993: MUL
00000994: SUB
00000995: AND
00000996: PUSH1 0x02
00000998: SWAP1
00000999: DIV
0000099a: DUP1
0000099b: ISZERO
0000099c: PUSH2 0x09e6
0000099f: JUMPI
000009a0: DUP1
000009a1: PUSH1 0x1f
000009a3: LT
000009a4: PUSH2 0x09bb
000009a7: JUMPI
000009a8: PUSH2 0x0100
000009ab: DUP1
000009ac: DUP4
000009ad: SLOAD
000009ae: DIV
000009af: MUL
000009b0: DUP4
000009b1: MSTORE
000009b2: SWAP2
000009b3: PUSH1 0x20
000009b5: ADD
000009b6: SWAP2
000009b7: PUSH2 0x09e6
000009ba: JUMP
000009bb: JUMPDEST
000009bc: DUP3
000009bd: ADD
000009be: SWAP2
000009bf: SWAP1
000009c0: PUSH1 0x00
000009c2: MSTORE
000009c3: PUSH1 0x20
000009c5: PUSH1 0x00
000009c7: KECCAK256
000009c8: SWAP1
000009c9: JUMPDEST
000009ca: DUP2
000009cb: SLOAD
000009cc: DUP2
000009cd: MSTORE
000009ce: SWAP1
000009cf: PUSH1 0x01
000009d1: ADD
000009d2: SWAP1
000009d3: PUSH1 0x20
000009d5: ADD
000009d6: DUP1
000009d7: DUP4
000009d8: GT
000009d9: PUSH2 0x09c9
000009dc: JUMPI
000009dd: DUP3
000009de: SWAP1
000009df: SUB
000009e0: PUSH1 0x1f
000009e2: AND
000009e3: DUP3
000009e4: ADD
000009e5: SWAP2
000009e6: JUMPDEST
000009e7: POP
000009e8: POP
000009e9: POP
000009ea: POP
000009eb: POP
000009ec: DUP2
000009ed: JUMP
000009ee: JUMPDEST
000009ef: DUP1
000009f0: PUSH1 0x06
000009f2: PUSH1 0x00
000009f4: POP
000009f5: PUSH1 0x00
000009f7: CALLER
000009f8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a0d: AND
00000a0e: DUP2
00000a0f: MSTORE
00000a10: PUSH1 0x20
00000a12: ADD
00000a13: SWAP1
00000a14: DUP2
00000a15: MSTORE
00000a16: PUSH1 0x20
00000a18: ADD
00000a19: PUSH1 0x00
00000a1b: KECCAK256
00000a1c: PUSH1 0x00
00000a1e: POP
00000a1f: SLOAD
00000a20: LT
00000a21: ISZERO
00000a22: PUSH2 0x0a2a
00000a25: JUMPI
00000a26: PUSH2 0x0002
00000a29: JUMP
00000a2a: JUMPDEST
00000a2b: PUSH1 0x06
00000a2d: PUSH1 0x00
00000a2f: POP
00000a30: PUSH1 0x00
00000a32: DUP4
00000a33: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a48: AND
00000a49: DUP2
00000a4a: MSTORE
00000a4b: PUSH1 0x20
00000a4d: ADD
00000a4e: SWAP1
00000a4f: DUP2
00000a50: MSTORE
00000a51: PUSH1 0x20
00000a53: ADD
00000a54: PUSH1 0x00
00000a56: KECCAK256
00000a57: PUSH1 0x00
00000a59: POP
00000a5a: SLOAD
00000a5b: DUP2
00000a5c: PUSH1 0x06
00000a5e: PUSH1 0x00
00000a60: POP
00000a61: PUSH1 0x00
00000a63: DUP6
00000a64: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a79: AND
00000a7a: DUP2
00000a7b: MSTORE
00000a7c: PUSH1 0x20
00000a7e: ADD
00000a7f: SWAP1
00000a80: DUP2
00000a81: MSTORE
00000a82: PUSH1 0x20
00000a84: ADD
00000a85: PUSH1 0x00
00000a87: KECCAK256
00000a88: PUSH1 0x00
00000a8a: POP
00000a8b: SLOAD
00000a8c: ADD
00000a8d: LT
00000a8e: ISZERO
00000a8f: PUSH2 0x0a97
00000a92: JUMPI
00000a93: PUSH2 0x0002
00000a96: JUMP
00000a97: JUMPDEST
00000a98: DUP1
00000a99: PUSH1 0x06
00000a9b: PUSH1 0x00
00000a9d: POP
00000a9e: PUSH1 0x00
00000aa0: CALLER
00000aa1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ab6: AND
00000ab7: DUP2
00000ab8: MSTORE
00000ab9: PUSH1 0x20
00000abb: ADD
00000abc: SWAP1
00000abd: DUP2
00000abe: MSTORE
00000abf: PUSH1 0x20
00000ac1: ADD
00000ac2: PUSH1 0x00
00000ac4: KECCAK256
00000ac5: PUSH1 0x00
00000ac7: DUP3
00000ac8: DUP3
00000ac9: DUP3
00000aca: POP
00000acb: SLOAD
00000acc: SUB
00000acd: SWAP3
00000ace: POP
00000acf: POP
00000ad0: DUP2
00000ad1: SWAP1
00000ad2: SSTORE
00000ad3: POP
00000ad4: DUP1
00000ad5: PUSH1 0x06
00000ad7: PUSH1 0x00
00000ad9: POP
00000ada: PUSH1 0x00
00000adc: DUP5
00000add: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000af2: AND
00000af3: DUP2
00000af4: MSTORE
00000af5: PUSH1 0x20
00000af7: ADD
00000af8: SWAP1
00000af9: DUP2
00000afa: MSTORE
00000afb: PUSH1 0x20
00000afd: ADD
00000afe: PUSH1 0x00
00000b00: KECCAK256
00000b01: PUSH1 0x00
00000b03: DUP3
00000b04: DUP3
00000b05: DUP3
00000b06: POP
00000b07: SLOAD
00000b08: ADD
00000b09: SWAP3
00000b0a: POP
00000b0b: POP
00000b0c: DUP2
00000b0d: SWAP1
00000b0e: SSTORE
00000b0f: POP
00000b10: DUP2
00000b11: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b26: AND
00000b27: CALLER
00000b28: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b3d: AND
00000b3e: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00000b5f: DUP4
00000b60: PUSH1 0x40
00000b62: MLOAD
00000b63: DUP1
00000b64: DUP3
00000b65: DUP2
00000b66: MSTORE
00000b67: PUSH1 0x20
00000b69: ADD
00000b6a: SWAP2
00000b6b: POP
00000b6c: POP
00000b6d: PUSH1 0x40
00000b6f: MLOAD
00000b70: DUP1
00000b71: SWAP2
00000b72: SUB
00000b73: SWAP1
00000b74: LOG3
00000b75: JUMPDEST
00000b76: POP
00000b77: POP
00000b78: JUMP
00000b79: JUMPDEST
00000b7a: PUSH1 0x00
00000b7c: PUSH1 0x00
00000b7e: DUP5
00000b7f: SWAP1
00000b80: POP
00000b81: PUSH2 0x0b8a
00000b84: DUP6
00000b85: DUP6
00000b86: PUSH2 0x04d7
00000b89: JUMP
00000b8a: JUMPDEST
00000b8b: ISZERO
00000b8c: PUSH2 0x0c9d
00000b8f: JUMPI
00000b90: DUP1
00000b91: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ba6: AND
00000ba7: PUSH4 0x8f4ffcb1
00000bac: CALLER
00000bad: DUP7
00000bae: ADDRESS
00000baf: DUP8
00000bb0: PUSH1 0x40
00000bb2: MLOAD
00000bb3: DUP6
00000bb4: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000bd2: MUL
00000bd3: DUP2
00000bd4: MSTORE
00000bd5: PUSH1 0x04
00000bd7: ADD
00000bd8: DUP1
00000bd9: DUP6
00000bda: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bef: AND
00000bf0: DUP2
00000bf1: MSTORE
00000bf2: PUSH1 0x20
00000bf4: ADD
00000bf5: DUP5
00000bf6: DUP2
00000bf7: MSTORE
00000bf8: PUSH1 0x20
00000bfa: ADD
00000bfb: DUP4
00000bfc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c11: AND
00000c12: DUP2
00000c13: MSTORE
00000c14: PUSH1 0x20
00000c16: ADD
00000c17: DUP1
00000c18: PUSH1 0x20
00000c1a: ADD
00000c1b: DUP3
00000c1c: DUP2
00000c1d: SUB
00000c1e: DUP3
00000c1f: MSTORE
00000c20: DUP4
00000c21: DUP2
00000c22: DUP2
00000c23: MLOAD
00000c24: DUP2
00000c25: MSTORE
00000c26: PUSH1 0x20
00000c28: ADD
00000c29: SWAP2
00000c2a: POP
00000c2b: DUP1
00000c2c: MLOAD
00000c2d: SWAP1
00000c2e: PUSH1 0x20
00000c30: ADD
00000c31: SWAP1
00000c32: DUP1
00000c33: DUP4
00000c34: DUP4
00000c35: DUP3
00000c36: SWAP1
00000c37: PUSH1 0x00
00000c39: PUSH1 0x04
00000c3b: PUSH1 0x20
00000c3d: DUP5
00000c3e: PUSH1 0x1f
00000c40: ADD
00000c41: DIV
00000c42: PUSH1 0x03
00000c44: MUL
00000c45: PUSH1 0x0f
00000c47: ADD
00000c48: CALL
00000c49: POP
00000c4a: SWAP1
00000c4b: POP
00000c4c: SWAP1
00000c4d: DUP2
00000c4e: ADD
00000c4f: SWAP1
00000c50: PUSH1 0x1f
00000c52: AND
00000c53: DUP1
00000c54: ISZERO
00000c55: PUSH2 0x0c72
00000c58: JUMPI
00000c59: DUP1
00000c5a: DUP3
00000c5b: SUB
00000c5c: DUP1
00000c5d: MLOAD
00000c5e: PUSH1 0x01
00000c60: DUP4
00000c61: PUSH1 0x20
00000c63: SUB
00000c64: PUSH2 0x0100
00000c67: EXP
00000c68: SUB
00000c69: NOT
00000c6a: AND
00000c6b: DUP2
00000c6c: MSTORE
00000c6d: PUSH1 0x20
00000c6f: ADD
00000c70: SWAP2
00000c71: POP
00000c72: JUMPDEST
00000c73: POP
00000c74: SWAP6
00000c75: POP
00000c76: POP
00000c77: POP
00000c78: POP
00000c79: POP
00000c7a: POP
00000c7b: PUSH1 0x00
00000c7d: PUSH1 0x40
00000c7f: MLOAD
00000c80: DUP1
00000c81: DUP4
00000c82: SUB
00000c83: DUP2
00000c84: PUSH1 0x00
00000c86: DUP8
00000c87: PUSH2 0x61da
00000c8a: GAS
00000c8b: SUB
00000c8c: CALL
00000c8d: ISZERO
00000c8e: PUSH2 0x0002
00000c91: JUMPI
00000c92: POP
00000c93: POP
00000c94: POP
00000c95: PUSH1 0x01
00000c97: SWAP2
00000c98: POP
00000c99: PUSH2 0x0c9e
00000c9c: JUMP
00000c9d: JUMPDEST
00000c9e: JUMPDEST
00000c9f: POP
00000ca0: SWAP4
00000ca1: SWAP3
00000ca2: POP
00000ca3: POP
00000ca4: POP
00000ca5: JUMP
00000ca6: JUMPDEST
00000ca7: PUSH1 0x07
00000ca9: PUSH1 0x00
00000cab: POP
00000cac: PUSH1 0x20
00000cae: MSTORE
00000caf: DUP2
00000cb0: PUSH1 0x00
00000cb2: MSTORE
00000cb3: PUSH1 0x40
00000cb5: PUSH1 0x00
00000cb7: KECCAK256
00000cb8: PUSH1 0x00
00000cba: POP
00000cbb: PUSH1 0x20
00000cbd: MSTORE
00000cbe: DUP1
00000cbf: PUSH1 0x00
00000cc1: MSTORE
00000cc2: PUSH1 0x40
00000cc4: PUSH1 0x00
00000cc6: KECCAK256
00000cc7: PUSH1 0x00
00000cc9: SWAP2
00000cca: POP
00000ccb: SWAP2
00000ccc: POP
00000ccd: POP
00000cce: SLOAD
00000ccf: DUP2
00000cd0: JUMP
00000cd1: JUMPDEST
00000cd2: PUSH1 0x00
00000cd4: PUSH1 0x06
00000cd6: PUSH1 0x00
00000cd8: POP
00000cd9: PUSH1 0x00
00000cdb: DUP4
00000cdc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cf1: AND
00000cf2: DUP2
00000cf3: MSTORE
00000cf4: PUSH1 0x20
00000cf6: ADD
00000cf7: SWAP1
00000cf8: DUP2
00000cf9: MSTORE
00000cfa: PUSH1 0x20
00000cfc: ADD
00000cfd: PUSH1 0x00
00000cff: KECCAK256
00000d00: PUSH1 0x00
00000d02: POP
00000d03: SLOAD
00000d04: SWAP1
00000d05: POP
00000d06: PUSH2 0x0d0a
00000d09: JUMP
00000d0a: JUMPDEST
00000d0b: SWAP2
00000d0c: SWAP1
00000d0d: POP
00000d0e: 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 ETH value transfer possible 55 yes yes
view
trace_id: 0xa43aec1c8ffdbd78a9804f26797d4d827b6dfbe4ee7e020d80f1864cd81a9a31
call_targets: 0x0000000000000000000000000000000000000004, 0xab242a0e92865e9c757096e7239f8fceb5b6dc60
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0xa43aec1c8ffdbd78a9804f26797d4d827b6dfbe4ee7e020d80f1864cd81a9a31",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0000000000000000000000000000000000000004",
        "0xab242a0e92865e9c757096e7239f8fceb5b6dc60"
    ],
    "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": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x313ce567",
            "selector": "0x313ce567",
            "calldata_variants": [
                "0x313ce567",
                "0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5a3b7e42",
            "selector": "0x5a3b7e42",
            "calldata_variants": [
                "0x5a3b7e42",
                "0x5a3b7e420000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x70a08231",
            "selector": "0x70a08231",
            "calldata_variants": [
                "0x70a08231",
                "0x70a082310000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x836a1e23",
            "selector": "0x836a1e23",
            "calldata_variants": [
                "0x836a1e23",
                "0x836a1e230000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 269,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 584,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 766,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 6,
    "guards_detected": []
}
high other detector Untrusted CALL target/value reachable 60 yes yes
view
trace_id: 0xa43aec1c8ffdbd78a9804f26797d4d827b6dfbe4ee7e020d80f1864cd81a9a31
call_targets: 0x0000000000000000000000000000000000000004, 0xab242a0e92865e9c757096e7239f8fceb5b6dc60
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0xa43aec1c8ffdbd78a9804f26797d4d827b6dfbe4ee7e020d80f1864cd81a9a31",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0000000000000000000000000000000000000004",
        "0xab242a0e92865e9c757096e7239f8fceb5b6dc60"
    ],
    "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": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x313ce567",
            "selector": "0x313ce567",
            "calldata_variants": [
                "0x313ce567",
                "0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5a3b7e42",
            "selector": "0x5a3b7e42",
            "calldata_variants": [
                "0x5a3b7e42",
                "0x5a3b7e420000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x70a08231",
            "selector": "0x70a08231",
            "calldata_variants": [
                "0x70a08231",
                "0x70a082310000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x836a1e23",
            "selector": "0x836a1e23",
            "calldata_variants": [
                "0x836a1e23",
                "0x836a1e230000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 269,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 584,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 766,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 6,
    "guards_detected": [],
    "untrusted_call_count": 6
}