fd3f4d05-929d-48ff-ba19-76e54f216f03
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 31144 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 76678 | artifact.fetch | complete | 1 / 3 | 2 weeks ago |
| 76679 | tool.cast_disasm | complete | 1 / 3 | 2 weeks ago |
| 76680 | analysis.bundle | complete | 1 / 3 | 2 weeks ago |
| 76681 | capability.graph | complete | 1 / 3 | 2 weeks ago |
| 76682 | detector.run | complete | 1 / 3 | 2 weeks ago |
| 76683 | validation.fork | complete | 1 / 3 | 2 weeks ago |
No slither job recorded yet.
[codex:3740] OpenAI Codex v0.77.0 (research preview)
[codex:3740] --------
[codex:3740] workdir: /tmp/codex-multi-ow0dxn4k
[codex:3740] model: gpt-5.2-codex
[codex:3740] provider: openai
[codex:3740] approval: never
[codex:3740] sandbox: read-only
[codex:3740] reasoning effort: xhigh
[codex:3740] reasoning summaries: auto
[codex:3740] session id: 019b7b7c-dcc2-7d72-948e-63bb0e49da1d
[codex:3740] --------
[codex:3740] user
[codex:3740] You are a profit-focused exploit hunter analyzing EVM bytecode. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:3740]
[codex:3740] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:3740]
[codex:3740] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:3740] - Gas inefficiency, code quality, or best practices
[codex:3740] - Theoretical vulnerabilities without a clear extraction path
[codex:3740] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:3740] - Issues requiring social engineering or off-chain coordination
[codex:3740]
[codex:3740] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:3740] - CALL/DELEGATECALL with controllable destination or calldata
[codex:3740] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:3740] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:3740] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:3740] - External calls before state updates (reentrancy)
[codex:3740] - SELFDESTRUCT with controllable beneficiary
[codex:3740] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:3740]
[codex:3740] For each finding, you MUST explain:
[codex:3740] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:3740] 2. The concrete sequence of transactions to extract value
[codex:3740] 3. Why you believe this is exploitable (not just suspicious)
[codex:3740]
[codex:3740] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:3740] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:3740]
[codex:3740] Output MUST be valid JSON matching the provided schema.
[codex:3740] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:3740] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:3740] mcp startup: no servers
[codex:3740]
[codex:3740] thinking
[codex:3740] **Reviewing bytecode file**
[codex:3740] exec
[codex:3740] /bin/bash -lc ls in /tmp/codex-multi-ow0dxn4k succeeded in 6ms:
[codex:3740] BYTECODE_BUNDLE.txt
[codex:3740] codex-output-schema.json
[codex:3740] exec
[codex:3740] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-ow0dxn4k succeeded in 6ms:
[codex:3740] Runtime bytecode bundle for best-effort auditing.
[codex:3740] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:3740]
[codex:3740] FILE: runtime_bytecode.hex
[codex:3740] 0x6060604052361561008a576000357c010000000000000000000000000000000000000000000000000000000090048063095ea7b3146100b857806318160ddd146100ed57806323b872dd146101105780632e1a7d4d1461014e57806370a082311461017a578063a9059cbb146101a6578063d0e30db0146101db578063dd62ed3e146101fe5761008a565b6100a25b60006100986108f7565b905061009f565b90565b6040518082815260200191505060405180910390f35b6100d7600480803590602001909190803590602001909190505061061a565b6040518082815260200191505060405180910390f35b6100fa6004805050610757565b6040518082815260200191505060405180910390f35b61013860048080359060200190919080359060200190919080359060200190919050506103df565b6040518082815260200191505060405180910390f35b610164600480803590602001909190505061077b565b6040518082815260200191505060405180910390f35b6101906004808035906020019091905050610233565b6040518082815260200191505060405180910390f35b6101c56004808035906020019091908035906020019091905050610271565b6040518082815260200191505060405180910390f35b6101e860048050506108f7565b6040518082815260200191505060405180910390f35b61021d60048080359060200190919080359060200190919050506106ee565b6040518082815260200191505060405180910390f35b6000600060005060008373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005054905061026c565b919050565b600081600060005060003373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000505410156102af57610002565b6102e8600060005060008573ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600050548361098f565b15156102f357610002565b81600060005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282825054039250508190555081600060005060008573ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828282505401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190506103d9565b92915050565b600081600060005060008673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005054101561041d57610002565b81600160005060008673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005054101561048357610002565b6104bc600060005060008573ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600050548361098f565b15156104c757610002565b81600160005060008673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282825054039250508190555081600060005060008673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282825054039250508190555081600060005060008573ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828282505401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050610613565b9392505050565b600081600160005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005060008573ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190506106e8565b92915050565b6000600160005060008473ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005060008373ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600050549050610751565b92915050565b60003073ffffffffffffffffffffffffffffffffffffffff16319050610778565b90565b60006107b6600060005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005054836109cb565b600060005060003373ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600050819055503373ffffffffffffffffffffffffffffffffffffffff168260405180905060006040518083038185876185025a03f1925050501561087c573373ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65836040518082815260200191505060405180910390a2600190506108f2566108e9565b6108b5600060005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005054836109a4565b600060005060003373ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600050819055505b600090506108f2565b919050565b600034600060005060003373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828282505401925050819055503373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040518082815260200191505060405180910390a26001905061098c565b90565b6000828284011015905061099e565b92915050565b60006109b0838361098f565b15156109bb57610002565b81830190506109c5565b92915050565b60006109d783836109f2565b15156109e257610002565b81830390506109ec565b92915050565b60008282111590506109ff565b9291505056
[codex:3740]
[codex:3740] thinking
[codex:3740] **Examining bytecode for vulnerabilities**
[codex:3740] exec
[codex:3740] /bin/bash -lc 'which evm || which disasm || which ethdasm || which forge' in /tmp/codex-multi-ow0dxn4k succeeded in 10ms:
[codex:3740] /home/noahkuhn/.foundry/bin/forge
[codex:3740]
[codex:3740] thinking
[codex:3740] **Checking forge versus cast**
[codex:3740] exec
[codex:3740] /bin/bash -lc 'which cast' in /tmp/codex-multi-ow0dxn4k succeeded in 7ms:
[codex:3740] /home/noahkuhn/.foundry/bin/cast
[codex:3740]
[codex:3740] thinking
[codex:3740] **Confirming cast's disassemble capability**
[codex:3740] exec
[codex:3740] /bin/bash -lc 'cast disassemble $(cat BYTECODE_BUNDLE.txt | sed -n '"'s/"'^0x//p'"' | head -n 1)" in /tmp/codex-multi-ow0dxn4k succeeded in 27ms:
[codex:3740] 00000000: PUSH1 0x60
[codex:3740] 00000002: PUSH1 0x40
[codex:3740] 00000004: MSTORE
[codex:3740] 00000005: CALLDATASIZE
[codex:3740] 00000006: ISZERO
[codex:3740] 00000007: PUSH2 0x008a
[codex:3740] 0000000a: JUMPI
[codex:3740] 0000000b: PUSH1 0x00
[codex:3740] 0000000d: CALLDATALOAD
[codex:3740] 0000000e: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
[codex:3740] 0000002c: SWAP1
[codex:3740] 0000002d: DIV
[codex:3740] 0000002e: DUP1
[codex:3740] 0000002f: PUSH4 0x095ea7b3
[codex:3740] 00000034: EQ
[codex:3740] 00000035: PUSH2 0x00b8
[codex:3740] 00000038: JUMPI
[codex:3740] 00000039: DUP1
[codex:3740] 0000003a: PUSH4 0x18160ddd
[codex:3740] 0000003f: EQ
[codex:3740]
[codex:3740]
[codex:3740]
[codex:3740] thinking
[codex:3740] **Analyzing potential vulnerabilities in token contract**
[codex:3740] thinking
[codex:3740] **Tracing stack and safe math calls in withdraw function**
[codex:3740]
[codex:3740] I’m carefully mapping the stack and internal jumps around the withdraw function, focusing on how arguments and return addresses flow through nested safeSub and safeAdd calls to verify arithmetic correctness and avoid underflow or overflow errors. This close look helps me confirm that balance updates and safety checks align as expected in the contract logic.
[codex:3740] thinking
[codex:3740] **Analyzing detailed stack behavior and safeSub logic**
[codex:3740]
[codex:3740] I’m carefully tracing stack positions and instructions inside the safeSub function, confirming the correct logic for preventing underflow by checking that amount is not greater than balance. This detailed walkthrough reassures me that arithmetic checks and stack manipulations comply with expected safe math patterns.
[codex:3740] codex
[codex:3740] {"no_findings":true,"summary":"Reviewed the runtime bytecode; it matches a standard WETH-style ERC20 (deposit/withdraw/transfer/approve) with balance/allowance checks and state updates before external calls. No concrete profit-extraction path is identifiable from the bytecode alone.","findings":[]}
[codex:3740] tokens used
[codex:3740] 29,317
[codex:3740] {"no_findings":true,"summary":"Reviewed the runtime bytecode; it matches a standard WETH-style ERC20 (deposit/withdraw/transfer/approve) with balance/allowance checks and state updates before external calls. No concrete profit-extraction path is identifiable from the bytecode alone.","findings":[]}
{
"codex": {
"ran_at": "2026-01-01T21:39:42.051664+00:00",
"returncode": 0
},
"summary": "Reviewed the runtime bytecode; it matches a standard WETH-style ERC20 (deposit/withdraw/transfer/approve) with balance/allowance checks and state updates before external calls. No concrete profit-extraction path is identifiable from the bytecode alone.",
"raw_final": {
"summary": "Reviewed the runtime bytecode; it matches a standard WETH-style ERC20 (deposit/withdraw/transfer/approve) with balance/allowance checks and state updates before external calls. No concrete profit-extraction path is identifiable from the bytecode alone.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x60 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLDATASIZE 00000006: ISZERO 00000007: PUSH2 0x008a 0000000a: JUMPI 0000000b: PUSH1 0x00 0000000d: CALLDATALOAD 0000000e: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 0000002c: SWAP1 0000002d: DIV 0000002e: DUP1 0000002f: PUSH4 0x095ea7b3 00000034: EQ 00000035: PUSH2 0x00b8 00000038: JUMPI 00000039: DUP1 0000003a: PUSH4 0x18160ddd 0000003f: EQ 00000040: PUSH2 0x00ed 00000043: JUMPI 00000044: DUP1 00000045: PUSH4 0x23b872dd 0000004a: EQ 0000004b: PUSH2 0x0110 0000004e: JUMPI 0000004f: DUP1 00000050: PUSH4 0x2e1a7d4d 00000055: EQ 00000056: PUSH2 0x014e 00000059: JUMPI 0000005a: DUP1 0000005b: PUSH4 0x70a08231 00000060: EQ 00000061: PUSH2 0x017a 00000064: JUMPI 00000065: DUP1 00000066: PUSH4 0xa9059cbb 0000006b: EQ 0000006c: PUSH2 0x01a6 0000006f: JUMPI 00000070: DUP1 00000071: PUSH4 0xd0e30db0 00000076: EQ 00000077: PUSH2 0x01db 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0xdd62ed3e 00000081: EQ 00000082: PUSH2 0x01fe 00000085: JUMPI 00000086: PUSH2 0x008a 00000089: JUMP 0000008a: JUMPDEST 0000008b: PUSH2 0x00a2 0000008e: JUMPDEST 0000008f: PUSH1 0x00 00000091: PUSH2 0x0098 00000094: PUSH2 0x08f7 00000097: JUMP 00000098: JUMPDEST 00000099: SWAP1 0000009a: POP 0000009b: PUSH2 0x009f 0000009e: JUMP 0000009f: JUMPDEST 000000a0: SWAP1 000000a1: JUMP 000000a2: JUMPDEST 000000a3: PUSH1 0x40 000000a5: MLOAD 000000a6: DUP1 000000a7: DUP3 000000a8: DUP2 000000a9: MSTORE 000000aa: PUSH1 0x20 000000ac: ADD 000000ad: SWAP2 000000ae: POP 000000af: POP 000000b0: PUSH1 0x40 000000b2: MLOAD 000000b3: DUP1 000000b4: SWAP2 000000b5: SUB 000000b6: SWAP1 000000b7: RETURN 000000b8: JUMPDEST 000000b9: PUSH2 0x00d7 000000bc: PUSH1 0x04 000000be: DUP1 000000bf: DUP1 000000c0: CALLDATALOAD 000000c1: SWAP1 000000c2: PUSH1 0x20 000000c4: ADD 000000c5: SWAP1 000000c6: SWAP2 000000c7: SWAP1 000000c8: DUP1 000000c9: CALLDATALOAD 000000ca: SWAP1 000000cb: PUSH1 0x20 000000cd: ADD 000000ce: SWAP1 000000cf: SWAP2 000000d0: SWAP1 000000d1: POP 000000d2: POP 000000d3: PUSH2 0x061a 000000d6: JUMP 000000d7: JUMPDEST 000000d8: PUSH1 0x40 000000da: MLOAD 000000db: DUP1 000000dc: DUP3 000000dd: DUP2 000000de: MSTORE 000000df: PUSH1 0x20 000000e1: ADD 000000e2: SWAP2 000000e3: POP 000000e4: POP 000000e5: PUSH1 0x40 000000e7: MLOAD 000000e8: DUP1 000000e9: SWAP2 000000ea: SUB 000000eb: SWAP1 000000ec: RETURN 000000ed: JUMPDEST 000000ee: PUSH2 0x00fa 000000f1: PUSH1 0x04 000000f3: DUP1 000000f4: POP 000000f5: POP 000000f6: PUSH2 0x0757 000000f9: JUMP 000000fa: JUMPDEST 000000fb: PUSH1 0x40 000000fd: MLOAD 000000fe: DUP1 000000ff: DUP3 00000100: DUP2 00000101: MSTORE 00000102: PUSH1 0x20 00000104: ADD 00000105: SWAP2 00000106: POP 00000107: POP 00000108: PUSH1 0x40 0000010a: MLOAD 0000010b: DUP1 0000010c: SWAP2 0000010d: SUB 0000010e: SWAP1 0000010f: RETURN 00000110: JUMPDEST 00000111: PUSH2 0x0138 00000114: PUSH1 0x04 00000116: DUP1 00000117: DUP1 00000118: CALLDATALOAD 00000119: SWAP1 0000011a: PUSH1 0x20 0000011c: ADD 0000011d: SWAP1 0000011e: SWAP2 0000011f: SWAP1 00000120: DUP1 00000121: CALLDATALOAD 00000122: SWAP1 00000123: PUSH1 0x20 00000125: ADD 00000126: SWAP1 00000127: SWAP2 00000128: SWAP1 00000129: DUP1 0000012a: CALLDATALOAD 0000012b: SWAP1 0000012c: PUSH1 0x20 0000012e: ADD 0000012f: SWAP1 00000130: SWAP2 00000131: SWAP1 00000132: POP 00000133: POP 00000134: PUSH2 0x03df 00000137: JUMP 00000138: JUMPDEST 00000139: PUSH1 0x40 0000013b: MLOAD 0000013c: DUP1 0000013d: DUP3 0000013e: DUP2 0000013f: MSTORE 00000140: PUSH1 0x20 00000142: ADD 00000143: SWAP2 00000144: POP 00000145: POP 00000146: PUSH1 0x40 00000148: MLOAD 00000149: DUP1 0000014a: SWAP2 0000014b: SUB 0000014c: SWAP1 0000014d: RETURN 0000014e: JUMPDEST 0000014f: PUSH2 0x0164 00000152: PUSH1 0x04 00000154: DUP1 00000155: DUP1 00000156: CALLDATALOAD 00000157: SWAP1 00000158: PUSH1 0x20 0000015a: ADD 0000015b: SWAP1 0000015c: SWAP2 0000015d: SWAP1 0000015e: POP 0000015f: POP 00000160: PUSH2 0x077b 00000163: JUMP 00000164: JUMPDEST 00000165: PUSH1 0x40 00000167: MLOAD 00000168: DUP1 00000169: DUP3 0000016a: DUP2 0000016b: MSTORE 0000016c: PUSH1 0x20 0000016e: ADD 0000016f: SWAP2 00000170: POP 00000171: POP 00000172: PUSH1 0x40 00000174: MLOAD 00000175: DUP1 00000176: SWAP2 00000177: SUB 00000178: SWAP1 00000179: RETURN 0000017a: JUMPDEST 0000017b: PUSH2 0x0190 0000017e: PUSH1 0x04 00000180: DUP1 00000181: DUP1 00000182: CALLDATALOAD 00000183: SWAP1 00000184: PUSH1 0x20 00000186: ADD 00000187: SWAP1 00000188: SWAP2 00000189: SWAP1 0000018a: POP 0000018b: POP 0000018c: PUSH2 0x0233 0000018f: JUMP 00000190: JUMPDEST 00000191: PUSH1 0x40 00000193: MLOAD 00000194: DUP1 00000195: DUP3 00000196: DUP2 00000197: MSTORE 00000198: PUSH1 0x20 0000019a: ADD 0000019b: SWAP2 0000019c: POP 0000019d: POP 0000019e: PUSH1 0x40 000001a0: MLOAD 000001a1: DUP1 000001a2: SWAP2 000001a3: SUB 000001a4: SWAP1 000001a5: RETURN 000001a6: JUMPDEST 000001a7: PUSH2 0x01c5 000001aa: PUSH1 0x04 000001ac: DUP1 000001ad: DUP1 000001ae: CALLDATALOAD 000001af: SWAP1 000001b0: PUSH1 0x20 000001b2: ADD 000001b3: SWAP1 000001b4: SWAP2 000001b5: SWAP1 000001b6: DUP1 000001b7: CALLDATALOAD 000001b8: SWAP1 000001b9: PUSH1 0x20 000001bb: ADD 000001bc: SWAP1 000001bd: SWAP2 000001be: SWAP1 000001bf: POP 000001c0: POP 000001c1: PUSH2 0x0271 000001c4: JUMP 000001c5: JUMPDEST 000001c6: PUSH1 0x40 000001c8: MLOAD 000001c9: DUP1 000001ca: DUP3 000001cb: DUP2 000001cc: MSTORE 000001cd: PUSH1 0x20 000001cf: ADD 000001d0: SWAP2 000001d1: POP 000001d2: POP 000001d3: PUSH1 0x40 000001d5: MLOAD 000001d6: DUP1 000001d7: SWAP2 000001d8: SUB 000001d9: SWAP1 000001da: RETURN 000001db: JUMPDEST 000001dc: PUSH2 0x01e8 000001df: PUSH1 0x04 000001e1: DUP1 000001e2: POP 000001e3: POP 000001e4: PUSH2 0x08f7 000001e7: JUMP 000001e8: JUMPDEST 000001e9: PUSH1 0x40 000001eb: MLOAD 000001ec: DUP1 000001ed: DUP3 000001ee: DUP2 000001ef: MSTORE 000001f0: PUSH1 0x20 000001f2: ADD 000001f3: SWAP2 000001f4: POP 000001f5: POP 000001f6: PUSH1 0x40 000001f8: MLOAD 000001f9: DUP1 000001fa: SWAP2 000001fb: SUB 000001fc: SWAP1 000001fd: RETURN 000001fe: JUMPDEST 000001ff: PUSH2 0x021d 00000202: PUSH1 0x04 00000204: DUP1 00000205: DUP1 00000206: CALLDATALOAD 00000207: SWAP1 00000208: PUSH1 0x20 0000020a: ADD 0000020b: SWAP1 0000020c: SWAP2 0000020d: SWAP1 0000020e: DUP1 0000020f: CALLDATALOAD 00000210: SWAP1 00000211: PUSH1 0x20 00000213: ADD 00000214: SWAP1 00000215: SWAP2 00000216: SWAP1 00000217: POP 00000218: POP 00000219: PUSH2 0x06ee 0000021c: JUMP 0000021d: JUMPDEST 0000021e: PUSH1 0x40 00000220: MLOAD 00000221: DUP1 00000222: DUP3 00000223: DUP2 00000224: MSTORE 00000225: PUSH1 0x20 00000227: ADD 00000228: SWAP2 00000229: POP 0000022a: POP 0000022b: PUSH1 0x40 0000022d: MLOAD 0000022e: DUP1 0000022f: SWAP2 00000230: SUB 00000231: SWAP1 00000232: RETURN 00000233: JUMPDEST 00000234: PUSH1 0x00 00000236: PUSH1 0x00 00000238: PUSH1 0x00 0000023a: POP 0000023b: PUSH1 0x00 0000023d: DUP4 0000023e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000253: AND 00000254: DUP2 00000255: MSTORE 00000256: PUSH1 0x20 00000258: ADD 00000259: SWAP1 0000025a: DUP2 0000025b: MSTORE 0000025c: PUSH1 0x20 0000025e: ADD 0000025f: PUSH1 0x00 00000261: KECCAK256 00000262: PUSH1 0x00 00000264: POP 00000265: SLOAD 00000266: SWAP1 00000267: POP 00000268: PUSH2 0x026c 0000026b: JUMP 0000026c: JUMPDEST 0000026d: SWAP2 0000026e: SWAP1 0000026f: POP 00000270: JUMP 00000271: JUMPDEST 00000272: PUSH1 0x00 00000274: DUP2 00000275: PUSH1 0x00 00000277: PUSH1 0x00 00000279: POP 0000027a: PUSH1 0x00 0000027c: CALLER 0000027d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000292: AND 00000293: DUP2 00000294: MSTORE 00000295: PUSH1 0x20 00000297: ADD 00000298: SWAP1 00000299: DUP2 0000029a: MSTORE 0000029b: PUSH1 0x20 0000029d: ADD 0000029e: PUSH1 0x00 000002a0: KECCAK256 000002a1: PUSH1 0x00 000002a3: POP 000002a4: SLOAD 000002a5: LT 000002a6: ISZERO 000002a7: PUSH2 0x02af 000002aa: JUMPI 000002ab: PUSH2 0x0002 000002ae: JUMP 000002af: JUMPDEST 000002b0: PUSH2 0x02e8 000002b3: PUSH1 0x00 000002b5: PUSH1 0x00 000002b7: POP 000002b8: PUSH1 0x00 000002ba: DUP6 000002bb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002d0: AND 000002d1: DUP2 000002d2: MSTORE 000002d3: PUSH1 0x20 000002d5: ADD 000002d6: SWAP1 000002d7: DUP2 000002d8: MSTORE 000002d9: PUSH1 0x20 000002db: ADD 000002dc: PUSH1 0x00 000002de: KECCAK256 000002df: PUSH1 0x00 000002e1: POP 000002e2: SLOAD 000002e3: DUP4 000002e4: PUSH2 0x098f 000002e7: JUMP 000002e8: JUMPDEST 000002e9: ISZERO 000002ea: ISZERO 000002eb: PUSH2 0x02f3 000002ee: JUMPI 000002ef: PUSH2 0x0002 000002f2: JUMP 000002f3: JUMPDEST 000002f4: DUP2 000002f5: PUSH1 0x00 000002f7: PUSH1 0x00 000002f9: POP 000002fa: PUSH1 0x00 000002fc: CALLER 000002fd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000312: AND 00000313: DUP2 00000314: MSTORE 00000315: PUSH1 0x20 00000317: ADD 00000318: SWAP1 00000319: DUP2 0000031a: MSTORE 0000031b: PUSH1 0x20 0000031d: ADD 0000031e: PUSH1 0x00 00000320: KECCAK256 00000321: PUSH1 0x00 00000323: DUP3 00000324: DUP3 00000325: DUP3 00000326: POP 00000327: SLOAD 00000328: SUB 00000329: SWAP3 0000032a: POP 0000032b: POP 0000032c: DUP2 0000032d: SWAP1 0000032e: SSTORE 0000032f: POP 00000330: DUP2 00000331: PUSH1 0x00 00000333: PUSH1 0x00 00000335: POP 00000336: PUSH1 0x00 00000338: DUP6 00000339: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000034e: AND 0000034f: DUP2 00000350: MSTORE 00000351: PUSH1 0x20 00000353: ADD 00000354: SWAP1 00000355: DUP2 00000356: MSTORE 00000357: PUSH1 0x20 00000359: ADD 0000035a: PUSH1 0x00 0000035c: KECCAK256 0000035d: PUSH1 0x00 0000035f: DUP3 00000360: DUP3 00000361: DUP3 00000362: POP 00000363: SLOAD 00000364: ADD 00000365: SWAP3 00000366: POP 00000367: POP 00000368: DUP2 00000369: SWAP1 0000036a: SSTORE 0000036b: POP 0000036c: DUP3 0000036d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000382: AND 00000383: CALLER 00000384: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000399: AND 0000039a: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 000003bb: DUP5 000003bc: PUSH1 0x40 000003be: MLOAD 000003bf: DUP1 000003c0: DUP3 000003c1: DUP2 000003c2: MSTORE 000003c3: PUSH1 0x20 000003c5: ADD 000003c6: SWAP2 000003c7: POP 000003c8: POP 000003c9: PUSH1 0x40 000003cb: MLOAD 000003cc: DUP1 000003cd: SWAP2 000003ce: SUB 000003cf: SWAP1 000003d0: LOG3 000003d1: PUSH1 0x01 000003d3: SWAP1 000003d4: POP 000003d5: PUSH2 0x03d9 000003d8: JUMP 000003d9: JUMPDEST 000003da: SWAP3 000003db: SWAP2 000003dc: POP 000003dd: POP 000003de: JUMP 000003df: JUMPDEST 000003e0: PUSH1 0x00 000003e2: DUP2 000003e3: PUSH1 0x00 000003e5: PUSH1 0x00 000003e7: POP 000003e8: PUSH1 0x00 000003ea: DUP7 000003eb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000400: AND 00000401: DUP2 00000402: MSTORE 00000403: PUSH1 0x20 00000405: ADD 00000406: SWAP1 00000407: DUP2 00000408: MSTORE 00000409: PUSH1 0x20 0000040b: ADD 0000040c: PUSH1 0x00 0000040e: KECCAK256 0000040f: PUSH1 0x00 00000411: POP 00000412: SLOAD 00000413: LT 00000414: ISZERO 00000415: PUSH2 0x041d 00000418: JUMPI 00000419: PUSH2 0x0002 0000041c: JUMP 0000041d: JUMPDEST 0000041e: DUP2 0000041f: PUSH1 0x01 00000421: PUSH1 0x00 00000423: POP 00000424: PUSH1 0x00 00000426: DUP7 00000427: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000043c: AND 0000043d: DUP2 0000043e: MSTORE 0000043f: PUSH1 0x20 00000441: ADD 00000442: SWAP1 00000443: DUP2 00000444: MSTORE 00000445: PUSH1 0x20 00000447: ADD 00000448: PUSH1 0x00 0000044a: KECCAK256 0000044b: PUSH1 0x00 0000044d: POP 0000044e: PUSH1 0x00 00000450: CALLER 00000451: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000466: AND 00000467: DUP2 00000468: MSTORE 00000469: PUSH1 0x20 0000046b: ADD 0000046c: SWAP1 0000046d: DUP2 0000046e: MSTORE 0000046f: PUSH1 0x20 00000471: ADD 00000472: PUSH1 0x00 00000474: KECCAK256 00000475: PUSH1 0x00 00000477: POP 00000478: SLOAD 00000479: LT 0000047a: ISZERO 0000047b: PUSH2 0x0483 0000047e: JUMPI 0000047f: PUSH2 0x0002 00000482: JUMP 00000483: JUMPDEST 00000484: PUSH2 0x04bc 00000487: PUSH1 0x00 00000489: PUSH1 0x00 0000048b: POP 0000048c: PUSH1 0x00 0000048e: DUP6 0000048f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004a4: AND 000004a5: DUP2 000004a6: MSTORE 000004a7: PUSH1 0x20 000004a9: ADD 000004aa: SWAP1 000004ab: DUP2 000004ac: MSTORE 000004ad: PUSH1 0x20 000004af: ADD 000004b0: PUSH1 0x00 000004b2: KECCAK256 000004b3: PUSH1 0x00 000004b5: POP 000004b6: SLOAD 000004b7: DUP4 000004b8: PUSH2 0x098f 000004bb: JUMP 000004bc: JUMPDEST 000004bd: ISZERO 000004be: ISZERO 000004bf: PUSH2 0x04c7 000004c2: JUMPI 000004c3: PUSH2 0x0002 000004c6: JUMP 000004c7: JUMPDEST 000004c8: DUP2 000004c9: PUSH1 0x01 000004cb: PUSH1 0x00 000004cd: POP 000004ce: PUSH1 0x00 000004d0: DUP7 000004d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004e6: AND 000004e7: DUP2 000004e8: MSTORE 000004e9: PUSH1 0x20 000004eb: ADD 000004ec: SWAP1 000004ed: DUP2 000004ee: MSTORE 000004ef: PUSH1 0x20 000004f1: ADD 000004f2: PUSH1 0x00 000004f4: KECCAK256 000004f5: PUSH1 0x00 000004f7: POP 000004f8: PUSH1 0x00 000004fa: CALLER 000004fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000510: AND 00000511: DUP2 00000512: MSTORE 00000513: PUSH1 0x20 00000515: ADD 00000516: SWAP1 00000517: DUP2 00000518: MSTORE 00000519: PUSH1 0x20 0000051b: ADD 0000051c: PUSH1 0x00 0000051e: KECCAK256 0000051f: PUSH1 0x00 00000521: DUP3 00000522: DUP3 00000523: DUP3 00000524: POP 00000525: SLOAD 00000526: SUB 00000527: SWAP3 00000528: POP 00000529: POP 0000052a: DUP2 0000052b: SWAP1 0000052c: SSTORE 0000052d: POP 0000052e: DUP2 0000052f: PUSH1 0x00 00000531: PUSH1 0x00 00000533: POP 00000534: PUSH1 0x00 00000536: DUP7 00000537: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000054c: AND 0000054d: DUP2 0000054e: MSTORE 0000054f: PUSH1 0x20 00000551: ADD 00000552: SWAP1 00000553: DUP2 00000554: MSTORE 00000555: PUSH1 0x20 00000557: ADD 00000558: PUSH1 0x00 0000055a: KECCAK256 0000055b: PUSH1 0x00 0000055d: DUP3 0000055e: DUP3 0000055f: DUP3 00000560: POP 00000561: SLOAD 00000562: SUB 00000563: SWAP3 00000564: POP 00000565: POP 00000566: DUP2 00000567: SWAP1 00000568: SSTORE 00000569: POP 0000056a: DUP2 0000056b: PUSH1 0x00 0000056d: PUSH1 0x00 0000056f: POP 00000570: PUSH1 0x00 00000572: DUP6 00000573: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000588: AND 00000589: DUP2 0000058a: MSTORE 0000058b: PUSH1 0x20 0000058d: ADD 0000058e: SWAP1 0000058f: DUP2 00000590: MSTORE 00000591: PUSH1 0x20 00000593: ADD 00000594: PUSH1 0x00 00000596: KECCAK256 00000597: PUSH1 0x00 00000599: DUP3 0000059a: DUP3 0000059b: DUP3 0000059c: POP 0000059d: SLOAD 0000059e: ADD 0000059f: SWAP3 000005a0: POP 000005a1: POP 000005a2: DUP2 000005a3: SWAP1 000005a4: SSTORE 000005a5: POP 000005a6: DUP3 000005a7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005bc: AND 000005bd: DUP5 000005be: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005d3: AND 000005d4: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 000005f5: DUP5 000005f6: PUSH1 0x40 000005f8: MLOAD 000005f9: DUP1 000005fa: DUP3 000005fb: DUP2 000005fc: MSTORE 000005fd: PUSH1 0x20 000005ff: ADD 00000600: SWAP2 00000601: POP 00000602: POP 00000603: PUSH1 0x40 00000605: MLOAD 00000606: DUP1 00000607: SWAP2 00000608: SUB 00000609: SWAP1 0000060a: LOG3 0000060b: PUSH1 0x01 0000060d: SWAP1 0000060e: POP 0000060f: PUSH2 0x0613 00000612: JUMP 00000613: JUMPDEST 00000614: SWAP4 00000615: SWAP3 00000616: POP 00000617: POP 00000618: POP 00000619: JUMP 0000061a: JUMPDEST 0000061b: PUSH1 0x00 0000061d: DUP2 0000061e: PUSH1 0x01 00000620: PUSH1 0x00 00000622: POP 00000623: PUSH1 0x00 00000625: CALLER 00000626: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000063b: AND 0000063c: DUP2 0000063d: MSTORE 0000063e: PUSH1 0x20 00000640: ADD 00000641: SWAP1 00000642: DUP2 00000643: MSTORE 00000644: PUSH1 0x20 00000646: ADD 00000647: PUSH1 0x00 00000649: KECCAK256 0000064a: PUSH1 0x00 0000064c: POP 0000064d: PUSH1 0x00 0000064f: DUP6 00000650: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000665: AND 00000666: DUP2 00000667: MSTORE 00000668: PUSH1 0x20 0000066a: ADD 0000066b: SWAP1 0000066c: DUP2 0000066d: MSTORE 0000066e: PUSH1 0x20 00000670: ADD 00000671: PUSH1 0x00 00000673: KECCAK256 00000674: PUSH1 0x00 00000676: POP 00000677: DUP2 00000678: SWAP1 00000679: SSTORE 0000067a: POP 0000067b: DUP3 0000067c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000691: AND 00000692: CALLER 00000693: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006a8: AND 000006a9: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925 000006ca: DUP5 000006cb: PUSH1 0x40 000006cd: MLOAD 000006ce: DUP1 000006cf: DUP3 000006d0: DUP2 000006d1: MSTORE 000006d2: PUSH1 0x20 000006d4: ADD 000006d5: SWAP2 000006d6: POP 000006d7: POP 000006d8: PUSH1 0x40 000006da: MLOAD 000006db: DUP1 000006dc: SWAP2 000006dd: SUB 000006de: SWAP1 000006df: LOG3 000006e0: PUSH1 0x01 000006e2: SWAP1 000006e3: POP 000006e4: PUSH2 0x06e8 000006e7: JUMP 000006e8: JUMPDEST 000006e9: SWAP3 000006ea: SWAP2 000006eb: POP 000006ec: POP 000006ed: JUMP 000006ee: JUMPDEST 000006ef: PUSH1 0x00 000006f1: PUSH1 0x01 000006f3: PUSH1 0x00 000006f5: POP 000006f6: PUSH1 0x00 000006f8: DUP5 000006f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000070e: AND 0000070f: DUP2 00000710: MSTORE 00000711: PUSH1 0x20 00000713: ADD 00000714: SWAP1 00000715: DUP2 00000716: MSTORE 00000717: PUSH1 0x20 00000719: ADD 0000071a: PUSH1 0x00 0000071c: KECCAK256 0000071d: PUSH1 0x00 0000071f: POP 00000720: PUSH1 0x00 00000722: DUP4 00000723: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000738: AND 00000739: DUP2 0000073a: MSTORE 0000073b: PUSH1 0x20 0000073d: ADD 0000073e: SWAP1 0000073f: DUP2 00000740: MSTORE 00000741: PUSH1 0x20 00000743: ADD 00000744: PUSH1 0x00 00000746: KECCAK256 00000747: PUSH1 0x00 00000749: POP 0000074a: SLOAD 0000074b: SWAP1 0000074c: POP 0000074d: PUSH2 0x0751 00000750: JUMP 00000751: JUMPDEST 00000752: SWAP3 00000753: SWAP2 00000754: POP 00000755: POP 00000756: JUMP 00000757: JUMPDEST 00000758: PUSH1 0x00 0000075a: ADDRESS 0000075b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000770: AND 00000771: BALANCE 00000772: SWAP1 00000773: POP 00000774: PUSH2 0x0778 00000777: JUMP 00000778: JUMPDEST 00000779: SWAP1 0000077a: JUMP 0000077b: JUMPDEST 0000077c: PUSH1 0x00 0000077e: PUSH2 0x07b6 00000781: PUSH1 0x00 00000783: PUSH1 0x00 00000785: POP 00000786: PUSH1 0x00 00000788: CALLER 00000789: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000079e: AND 0000079f: DUP2 000007a0: MSTORE 000007a1: PUSH1 0x20 000007a3: ADD 000007a4: SWAP1 000007a5: DUP2 000007a6: MSTORE 000007a7: PUSH1 0x20 000007a9: ADD 000007aa: PUSH1 0x00 000007ac: KECCAK256 000007ad: PUSH1 0x00 000007af: POP 000007b0: SLOAD 000007b1: DUP4 000007b2: PUSH2 0x09cb 000007b5: JUMP 000007b6: JUMPDEST 000007b7: PUSH1 0x00 000007b9: PUSH1 0x00 000007bb: POP 000007bc: PUSH1 0x00 000007be: CALLER 000007bf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007d4: AND 000007d5: DUP2 000007d6: MSTORE 000007d7: PUSH1 0x20 000007d9: ADD 000007da: SWAP1 000007db: DUP2 000007dc: MSTORE 000007dd: PUSH1 0x20 000007df: ADD 000007e0: PUSH1 0x00 000007e2: KECCAK256 000007e3: PUSH1 0x00 000007e5: POP 000007e6: DUP2 000007e7: SWAP1 000007e8: SSTORE 000007e9: POP 000007ea: CALLER 000007eb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000800: AND 00000801: DUP3 00000802: PUSH1 0x40 00000804: MLOAD 00000805: DUP1 00000806: SWAP1 00000807: POP 00000808: PUSH1 0x00 0000080a: PUSH1 0x40 0000080c: MLOAD 0000080d: DUP1 0000080e: DUP4 0000080f: SUB 00000810: DUP2 00000811: DUP6 00000812: DUP8 00000813: PUSH2 0x8502 00000816: GAS 00000817: SUB 00000818: CALL 00000819: SWAP3 0000081a: POP 0000081b: POP 0000081c: POP 0000081d: ISZERO 0000081e: PUSH2 0x087c 00000821: JUMPI 00000822: CALLER 00000823: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000838: AND 00000839: PUSH32 0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65 0000085a: DUP4 0000085b: PUSH1 0x40 0000085d: MLOAD 0000085e: DUP1 0000085f: DUP3 00000860: DUP2 00000861: MSTORE 00000862: PUSH1 0x20 00000864: ADD 00000865: SWAP2 00000866: POP 00000867: POP 00000868: PUSH1 0x40 0000086a: MLOAD 0000086b: DUP1 0000086c: SWAP2 0000086d: SUB 0000086e: SWAP1 0000086f: LOG2 00000870: PUSH1 0x01 00000872: SWAP1 00000873: POP 00000874: PUSH2 0x08f2 00000877: JUMP 00000878: PUSH2 0x08e9 0000087b: JUMP 0000087c: JUMPDEST 0000087d: PUSH2 0x08b5 00000880: PUSH1 0x00 00000882: PUSH1 0x00 00000884: POP 00000885: PUSH1 0x00 00000887: CALLER 00000888: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000089d: AND 0000089e: DUP2 0000089f: MSTORE 000008a0: PUSH1 0x20 000008a2: ADD 000008a3: SWAP1 000008a4: DUP2 000008a5: MSTORE 000008a6: PUSH1 0x20 000008a8: ADD 000008a9: PUSH1 0x00 000008ab: KECCAK256 000008ac: PUSH1 0x00 000008ae: POP 000008af: SLOAD 000008b0: DUP4 000008b1: PUSH2 0x09a4 000008b4: JUMP 000008b5: JUMPDEST 000008b6: PUSH1 0x00 000008b8: PUSH1 0x00 000008ba: POP 000008bb: PUSH1 0x00 000008bd: CALLER 000008be: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008d3: AND 000008d4: DUP2 000008d5: MSTORE 000008d6: PUSH1 0x20 000008d8: ADD 000008d9: SWAP1 000008da: DUP2 000008db: MSTORE 000008dc: PUSH1 0x20 000008de: ADD 000008df: PUSH1 0x00 000008e1: KECCAK256 000008e2: PUSH1 0x00 000008e4: POP 000008e5: DUP2 000008e6: SWAP1 000008e7: SSTORE 000008e8: POP 000008e9: JUMPDEST 000008ea: PUSH1 0x00 000008ec: SWAP1 000008ed: POP 000008ee: PUSH2 0x08f2 000008f1: JUMP 000008f2: JUMPDEST 000008f3: SWAP2 000008f4: SWAP1 000008f5: POP 000008f6: JUMP 000008f7: JUMPDEST 000008f8: PUSH1 0x00 000008fa: CALLVALUE 000008fb: PUSH1 0x00 000008fd: PUSH1 0x00 000008ff: POP 00000900: PUSH1 0x00 00000902: CALLER 00000903: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000918: AND 00000919: DUP2 0000091a: MSTORE 0000091b: PUSH1 0x20 0000091d: ADD 0000091e: SWAP1 0000091f: DUP2 00000920: MSTORE 00000921: PUSH1 0x20 00000923: ADD 00000924: PUSH1 0x00 00000926: KECCAK256 00000927: PUSH1 0x00 00000929: DUP3 0000092a: DUP3 0000092b: DUP3 0000092c: POP 0000092d: SLOAD 0000092e: ADD 0000092f: SWAP3 00000930: POP 00000931: POP 00000932: DUP2 00000933: SWAP1 00000934: SSTORE 00000935: POP 00000936: CALLER 00000937: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000094c: AND 0000094d: PUSH32 0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c 0000096e: CALLVALUE 0000096f: PUSH1 0x40 00000971: MLOAD 00000972: DUP1 00000973: DUP3 00000974: DUP2 00000975: MSTORE 00000976: PUSH1 0x20 00000978: ADD 00000979: SWAP2 0000097a: POP 0000097b: POP 0000097c: PUSH1 0x40 0000097e: MLOAD 0000097f: DUP1 00000980: SWAP2 00000981: SUB 00000982: SWAP1 00000983: LOG2 00000984: PUSH1 0x01 00000986: SWAP1 00000987: POP 00000988: PUSH2 0x098c 0000098b: JUMP 0000098c: JUMPDEST 0000098d: SWAP1 0000098e: JUMP 0000098f: JUMPDEST 00000990: PUSH1 0x00 00000992: DUP3 00000993: DUP3 00000994: DUP5 00000995: ADD 00000996: LT 00000997: ISZERO 00000998: SWAP1 00000999: POP 0000099a: PUSH2 0x099e 0000099d: JUMP 0000099e: JUMPDEST 0000099f: SWAP3 000009a0: SWAP2 000009a1: POP 000009a2: POP 000009a3: JUMP 000009a4: JUMPDEST 000009a5: PUSH1 0x00 000009a7: PUSH2 0x09b0 000009aa: DUP4 000009ab: DUP4 000009ac: PUSH2 0x098f 000009af: JUMP 000009b0: JUMPDEST 000009b1: ISZERO 000009b2: ISZERO 000009b3: PUSH2 0x09bb 000009b6: JUMPI 000009b7: PUSH2 0x0002 000009ba: JUMP 000009bb: JUMPDEST 000009bc: DUP2 000009bd: DUP4 000009be: ADD 000009bf: SWAP1 000009c0: POP 000009c1: PUSH2 0x09c5 000009c4: JUMP 000009c5: JUMPDEST 000009c6: SWAP3 000009c7: SWAP2 000009c8: POP 000009c9: POP 000009ca: JUMP 000009cb: JUMPDEST 000009cc: PUSH1 0x00 000009ce: PUSH2 0x09d7 000009d1: DUP4 000009d2: DUP4 000009d3: PUSH2 0x09f2 000009d6: JUMP 000009d7: JUMPDEST 000009d8: ISZERO 000009d9: ISZERO 000009da: PUSH2 0x09e2 000009dd: JUMPI 000009de: PUSH2 0x0002 000009e1: JUMP 000009e2: JUMPDEST 000009e3: DUP2 000009e4: DUP4 000009e5: SUB 000009e6: SWAP1 000009e7: POP 000009e8: PUSH2 0x09ec 000009eb: JUMP 000009ec: JUMPDEST 000009ed: SWAP3 000009ee: SWAP2 000009ef: POP 000009f0: POP 000009f1: JUMP 000009f2: JUMPDEST 000009f3: PUSH1 0x00 000009f5: DUP3 000009f6: DUP3 000009f7: GT 000009f8: ISZERO 000009f9: SWAP1 000009fa: POP 000009fb: PUSH2 0x09ff 000009fe: JUMP 000009ff: JUMPDEST 00000a00: SWAP3 00000a01: SWAP2 00000a02: POP 00000a03: POP 00000a04: JUMP
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x5e4b58fbeafbf959102d2e96ec2b4b393433fa23829ec20d4e30166b9604b229
call_targets:
0xecf8f87f810ecf450940c9f60066b4a7a501d6a7
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x5e4b58fbeafbf959102d2e96ec2b4b393433fa23829ec20d4e30166b9604b229",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xecf8f87f810ecf450940c9f60066b4a7a501d6a7"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x095ea7b3",
"selector": "0x095ea7b3",
"calldata_variants": [
"0x095ea7b3",
"0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18160ddd",
"selector": "0x18160ddd",
"calldata_variants": [
"0x18160ddd",
"0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x23b872dd",
"selector": "0x23b872dd",
"calldata_variants": [
"0x23b872dd",
"0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x70a08231",
"selector": "0x70a08231",
"calldata_variants": [
"0x70a08231",
"0x70a082310000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa9059cbb",
"selector": "0xa9059cbb",
"calldata_variants": [
"0xa9059cbb",
"0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd0e30db0",
"selector": "0xd0e30db0",
"calldata_variants": [
"0xd0e30db0",
"0xd0e30db00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2072,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 1,
"guards_detected": [],
"untrusted_call_count": 1
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x5e4b58fbeafbf959102d2e96ec2b4b393433fa23829ec20d4e30166b9604b229
call_targets:
0xecf8f87f810ecf450940c9f60066b4a7a501d6a7
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x5e4b58fbeafbf959102d2e96ec2b4b393433fa23829ec20d4e30166b9604b229",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xecf8f87f810ecf450940c9f60066b4a7a501d6a7"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x095ea7b3",
"selector": "0x095ea7b3",
"calldata_variants": [
"0x095ea7b3",
"0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18160ddd",
"selector": "0x18160ddd",
"calldata_variants": [
"0x18160ddd",
"0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x23b872dd",
"selector": "0x23b872dd",
"calldata_variants": [
"0x23b872dd",
"0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x70a08231",
"selector": "0x70a08231",
"calldata_variants": [
"0x70a08231",
"0x70a082310000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa9059cbb",
"selector": "0xa9059cbb",
"calldata_variants": [
"0xa9059cbb",
"0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd0e30db0",
"selector": "0xd0e30db0",
"calldata_variants": [
"0xd0e30db0",
"0xd0e30db00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2072,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 1,
"guards_detected": []
}
|