e44c9565-9bf8-4757-94ca-2c57fa718988
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 |
|---|---|---|---|---|
| 31107 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 76456 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 76457 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 76458 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 76459 | capability.graph | complete | 1 / 3 | 1 week ago |
| 76460 | detector.run | complete | 1 / 3 | 1 week ago |
| 76461 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:970747] OpenAI Codex v0.77.0 (research preview)
[codex:970747] --------
[codex:970747] workdir: /tmp/codex-multi-316v1gjc
[codex:970747] model: gpt-5.2-codex
[codex:970747] provider: openai
[codex:970747] approval: never
[codex:970747] sandbox: read-only
[codex:970747] reasoning effort: xhigh
[codex:970747] reasoning summaries: auto
[codex:970747] session id: 019b7ae3-01f1-70a3-b587-2661cac095b7
[codex:970747] --------
[codex:970747] user
[codex:970747] 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:970747]
[codex:970747] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:970747]
[codex:970747] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:970747] - Gas inefficiency, code quality, or best practices
[codex:970747] - Theoretical vulnerabilities without a clear extraction path
[codex:970747] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:970747] - Issues requiring social engineering or off-chain coordination
[codex:970747]
[codex:970747] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:970747] - CALL/DELEGATECALL with controllable destination or calldata
[codex:970747] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:970747] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:970747] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:970747] - External calls before state updates (reentrancy)
[codex:970747] - SELFDESTRUCT with controllable beneficiary
[codex:970747] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:970747]
[codex:970747] For each finding, you MUST explain:
[codex:970747] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:970747] 2. The concrete sequence of transactions to extract value
[codex:970747] 3. Why you believe this is exploitable (not just suspicious)
[codex:970747]
[codex:970747] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:970747] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:970747]
[codex:970747] Output MUST be valid JSON matching the provided schema.
[codex:970747] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:970747] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:970747] mcp startup: no servers
[codex:970747]
[codex:970747] thinking
[codex:970747] **Reading bytecode file using shell**
[codex:970747] exec
[codex:970747] /bin/bash -lc ls in /tmp/codex-multi-316v1gjc succeeded in 5ms:
[codex:970747] BYTECODE_BUNDLE.txt
[codex:970747] codex-output-schema.json
[codex:970747] exec
[codex:970747] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-316v1gjc succeeded in 5ms:
[codex:970747] Runtime bytecode bundle for best-effort auditing.
[codex:970747] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:970747]
[codex:970747] FILE: runtime_bytecode.hex
[codex:970747] 0x60806040526004361061009a5760003560e01c80638da5cb5b11610069578063dcc3e06e1161004e578063dcc3e06e146101a3578063e30c3978146101c1578063f2fde38b146101df57600080fd5b80638da5cb5b14610147578063c4d66de81461018357600080fd5b80633a6462e4146100db57806349dcbc5e146100fd578063715018a61461011d57806379ba50971461013257600080fd5b366100d65760405134815233907ff6f3bf9d00b52384d77c0b88440f0c216676d7ff221073342ec0606c43ccc40c9060200160405180910390a2005b600080fd5b3480156100e757600080fd5b506100fb6100f63660046108b7565b6101ff565b005b34801561010957600080fd5b506100fb6101183660046108d9565b610307565b34801561012957600080fd5b506100fb61038b565b34801561013e57600080fd5b506100fb610452565b34801561015357600080fd5b506000546201000090046001600160a01b03165b6040516001600160a01b03909116815260200160405180910390f35b34801561018f57600080fd5b506100fb61019e3660046108b7565b6104b2565b3480156101af57600080fd5b506002546001600160a01b0316610167565b3480156101cd57600080fd5b506001546001600160a01b0316610167565b3480156101eb57600080fd5b506100fb6101fa3660046108b7565b610650565b6000546001600160a01b036201000090910416331461024f57604051634389d5ab60e01b815260206004820152600660248201526539b2b73232b960d11b60448201526064015b60405180910390fd5b6001600160a01b0381166102a65760405163046c82ad60e41b815260206004820152600860248201527f72657761726465720000000000000000000000000000000000000000000000006044820152606401610246565b6002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fcf0aff36caea97f7ad632b334936cb196014c193ac1a790b578f12a70d9836db9060200160405180910390a150565b6002546001600160a01b031633148061033057506000546201000090046001600160a01b031633145b61037d57604051634389d5ab60e01b815260206004820152601c60248201527f63616c6c6572206e6f74207265776172646572206f72206f776e6572000000006044820152606401610246565b610387828261076f565b5050565b6000546001600160a01b03620100009091041633146103d657604051634389d5ab60e01b815260206004820152600660248201526539b2b73232b960d11b6044820152606401610246565b6000805475ffffffffffffffffffffffffffffffffffffffff000019811682556001805473ffffffffffffffffffffffffffffffffffffffff19169055604051620100009091046001600160a01b0316919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350565b33806104666001546001600160a01b031690565b6001600160a01b0316146104a657604051634389d5ab60e01b815260206004820152600660248201526539b2b73232b960d11b6044820152606401610246565b6104af81610817565b50565b600054610100900460ff16158080156104d25750600054600160ff909116105b806104ec5750303b1580156104ec575060005460ff166001145b61055e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610246565b6000805460ff191660011790558015610581576000805461ff0019166101001790555b6001600160a01b0382166105d85760405163046c82ad60e41b815260206004820152600560248201527f6f776e65720000000000000000000000000000000000000000000000000000006044820152606401610246565b6000805475ffffffffffffffffffffffffffffffffffffffff00001916620100006001600160a01b038516021790558015610387576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6000546001600160a01b036201000090910416331461069b57604051634389d5ab60e01b815260206004820152600660248201526539b2b73232b960d11b6044820152606401610246565b6001600160a01b0381166106f25760405163046c82ad60e41b815260206004820152600860248201527f6e65774f776e65720000000000000000000000000000000000000000000000006044820152606401610246565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff1990911681179091556107376000546001600160a01b03620100009091041690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146107bc576040519150601f19603f3d011682016040523d82523d6000602084013e6107c1565b606091505b50509050806108125760405162461bcd60e51b815260206004820152600c60248201527f65746820776974686472617700000000000000000000000000000000000000006044820152606401610246565b505050565b6001805473ffffffffffffffffffffffffffffffffffffffff19169055600080546001600160a01b038381166201000081810275ffffffffffffffffffffffffffffffffffffffff0000198516178555604051930490911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b80356001600160a01b03811681146108b257600080fd5b919050565b6000602082840312156108c957600080fd5b6108d28261089b565b9392505050565b600080604083850312156108ec57600080fd5b6108f58361089b565b94602093909301359350505056fea2646970667358221220a3c7700a2adba2f576c1b7e422c062d167331aa018218821a694445aa2b040ac64736f6c63430008180033
[codex:970747]
[codex:970747] thinking
[codex:970747] **Decoding contract bytecode and storage layout**
[codex:970747] exec
[codex:970747] /bin/bash -lc "python - <<'PY'
[codex:970747] import hashlib
[codex:970747] from eth_hash.auto import keccak
[codex:970747]
[codex:970747] s='OwnableUnauthorizedAccount(address)'
[codex:970747] print(keccak(s.encode()).hex()[:8])
[codex:970747]
[codex:970747] s='Ownable: caller is not the owner'
[codex:970747] print(hashlib.sha3_256(s.encode()).hexdigest()[:8])
[codex:970747] PY" in /tmp/codex-multi-316v1gjc succeeded in 109ms:
[codex:970747] 118cdaa7
[codex:970747] c545d1d5
[codex:970747]
[codex:970747] thinking
[codex:970747] **Analyzing error selectors**
[codex:970747] exec
[codex:970747] /bin/bash -lc "python - <<'PY'
[codex:970747] from eth_hash.auto import keccak
[codex:970747] cands=['Unauthorized()','NotOwner()','OwnableUnauthorizedAccount(address)','Ownable: caller is not the owner','OwnableUnauthorizedAccount(address)','CallerNotOwner()','NotAuthorized()','AccessDenied()','OwnableUnauthorizedAccount(address)']
[codex:970747] for s in cands:
[codex:970747] if '(' in s:
[codex:970747] sel=keccak(s.encode()).hex()[:8]
[codex:970747] else:
[codex:970747] sel=''
[codex:970747] print(s, sel)
[codex:970747] PY" in /tmp/codex-multi-316v1gjc succeeded in 75ms:
[codex:970747] Unauthorized() 82b42900
[codex:970747] NotOwner() 30cd7471
[codex:970747] OwnableUnauthorizedAccount(address) 118cdaa7
[codex:970747] Ownable: caller is not the owner
[codex:970747] OwnableUnauthorizedAccount(address) 118cdaa7
[codex:970747] CallerNotOwner() 5cd83192
[codex:970747] NotAuthorized() ea8e4eb5
[codex:970747] AccessDenied() 4ca88867
[codex:970747] OwnableUnauthorizedAccount(address) 118cdaa7
[codex:970747]
[codex:970747] thinking
[codex:970747] **Analyzing custom error selectors**
[codex:970747] exec
[codex:970747] /bin/bash -lc "python - <<'PY'
[codex:970747] from eth_hash.auto import keccak
[codex:970747] cands=['Unauthorized(address)','NotAuthorized(address)','OnlyOwner()','OwnableUnauthorizedAccount(address)','OwnableUnauthorizedAccount(address account)','OwnableUnauthorizedAccount(address account)','Ownable: caller is not the owner']
[codex:970747] for s in cands:
[codex:970747] if '(' in s:
[codex:970747] sel=keccak(s.encode()).hex()[:8]
[codex:970747] print(s, sel)
[codex:970747] PY" in /tmp/codex-multi-316v1gjc succeeded in 76ms:
[codex:970747] Unauthorized(address) 8e4a23d6
[codex:970747] NotAuthorized(address) 4a0bfec1
[codex:970747] OnlyOwner() 5fc483c5
[codex:970747] OwnableUnauthorizedAccount(address) 118cdaa7
[codex:970747] OwnableUnauthorizedAccount(address account) 04ef705d
[codex:970747] OwnableUnauthorizedAccount(address account) 04ef705d
[codex:970747]
[codex:970747]
[codex:970747] thinking
[codex:970747] **Analyzing bytecode for withdrawal functions**
[codex:970747] thinking
[codex:970747] **Examining initializer and ownership logic in detail**
[codex:970747]
[codex:970747] I'm closely reviewing the initializer function's bytecode to verify it properly guards against multiple initializations and checking owner and pending owner update logic for potential bypasses or flaws. I'll also consider implementing a minimal disassembler to aid deeper inspection.
[codex:970747] exec
[codex:970747] /bin/bash -lc "python - <<'PY'
[codex:970747] import sys
[codex:970747] from textwrap import wrap
[codex:970747]
[codex:970747] # read bytecode
[codex:970747] import re
[codex:970747] code=open('/tmp/codex-multi-316v1gjc/BYTECODE_BUNDLE.txt').read()
[codex:970747] hexstr=re.search(r'0x([0-9a-fA-F]+)', code).group(1)
[codex:970747] code_bytes=bytes.fromhex(hexstr)
[codex:970747]
[codex:970747] # opcode table
[codex:970747] opcodes={
[codex:970747] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:970747] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:970747] 0x20:'SHA3',
[codex:970747] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:970747] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:970747] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:970747] 0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:970747] 0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:970747] 0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:970747] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:970747] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT',
[codex:970747] }
[codex:970747]
[codex:970747] # disassemble
[codex:970747] pc=0
[codex:970747] lines=[]
[codex:970747] while pc < len(code_bytes):
[codex:970747] op=code_bytes[pc]
[codex:970747] name=opcodes.get(op, 'UNKNOWN')
[codex:970747] if 0x60 <= op <= 0x7f:
[codex:970747] n=op-0x5f
[codex:970747] data=code_bytes[pc+1:pc+1+n]
[codex:970747] lines.append(f\"{pc:04x}: {name} 0x{data.hex()}\")
[codex:970747] pc += 1+n
[codex:970747] else:
[codex:970747] lines.append(f\"{pc:04x}: {name}\")
[codex:970747] pc += 1
[codex:970747]
[codex:970747] # Print some around key function starts
[codex:970747] # Let's just print whole thing? It might be long but okay.
[codex:970747] for line in lines:
[codex:970747] print(line)
[codex:970747] PY" in /tmp/codex-multi-316v1gjc succeeded in 27ms:
[codex:970747] 0000: PUSH1 0x80
[codex:970747] 0002: PUSH1 0x40
[codex:970747] 0004: MSTORE
[codex:970747] 0005: PUSH1 0x04
[codex:970747] 0007: CALLDATASIZE
[codex:970747] 0008: LT
[codex:970747] 0009: PUSH2 0x009a
[codex:970747] 000c: JUMPI
[codex:970747] 000d: PUSH1 0x00
[codex:970747] 000f: CALLDATALOAD
[codex:970747] 0010: PUSH1 0xe0
[codex:970747] 0012: SHR
[codex:970747] 0013: DUP1
[codex:970747] 0014: PUSH4 0x8da5cb5b
[codex:970747] 0019: GT
[codex:970747] 001a: PUSH2 0x0069
[codex:970747] 001d: JUMPI
[codex:970747] 001e: DUP1
[codex:970747] 001f: PUSH4 0xdcc3e06e
[codex:970747] 0024: GT
[codex:970747]
[codex:970747] thinking
[codex:970747] **Analyzing contract ownership and access controls**
[codex:970747]
[codex:970747] I'm breaking down key contract functions like renounceOwnership, acceptOwnership, setRewarder, and withdraw by decoding their bytecode logic and bitwise operations on storage slots. I'm verifying that owner checks and masking preserve state correctly and no obvious direct exploit paths appear, aside from the typical proxy uninitialized risk—which can't be confirmed from bytecode alone. I'll summarize findings accordingly.
[codex:970747] codex
[codex:970747] {"no_findings":true,"summary":"Reviewed the runtime bytecode. The only ETH transfer uses a low-level CALL guarded by owner/rewarder checks, and the initializer logic appears to be standard one-time initialization. No concrete exploit path to profit is visible from bytecode alone without assuming an uninitialized deployment state.","findings":[]}
[codex:970747] tokens used
[codex:970747] 32,601
[codex:970747] {"no_findings":true,"summary":"Reviewed the runtime bytecode. The only ETH transfer uses a low-level CALL guarded by owner/rewarder checks, and the initializer logic appears to be standard one-time initialization. No concrete exploit path to profit is visible from bytecode alone without assuming an uninitialized deployment state.","findings":[]}
{
"codex": {
"ran_at": "2026-01-01T18:51:44.851189+00:00",
"returncode": 0
},
"summary": "Reviewed the runtime bytecode. The only ETH transfer uses a low-level CALL guarded by owner/rewarder checks, and the initializer logic appears to be standard one-time initialization. No concrete exploit path to profit is visible from bytecode alone without assuming an uninitialized deployment state.",
"raw_final": {
"summary": "Reviewed the runtime bytecode. The only ETH transfer uses a low-level CALL guarded by owner/rewarder checks, and the initializer logic appears to be standard one-time initialization. No concrete exploit path to profit is visible from bytecode alone without assuming an uninitialized deployment state.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x009a 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x8da5cb5b 00000019: GT 0000001a: PUSH2 0x0069 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xdcc3e06e 00000024: GT 00000025: PUSH2 0x004e 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xdcc3e06e 0000002f: EQ 00000030: PUSH2 0x01a3 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xe30c3978 0000003a: EQ 0000003b: PUSH2 0x01c1 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xf2fde38b 00000045: EQ 00000046: PUSH2 0x01df 00000049: JUMPI 0000004a: PUSH1 0x00 0000004c: DUP1 0000004d: REVERT 0000004e: JUMPDEST 0000004f: DUP1 00000050: PUSH4 0x8da5cb5b 00000055: EQ 00000056: PUSH2 0x0147 00000059: JUMPI 0000005a: DUP1 0000005b: PUSH4 0xc4d66de8 00000060: EQ 00000061: PUSH2 0x0183 00000064: JUMPI 00000065: PUSH1 0x00 00000067: DUP1 00000068: REVERT 00000069: JUMPDEST 0000006a: DUP1 0000006b: PUSH4 0x3a6462e4 00000070: EQ 00000071: PUSH2 0x00db 00000074: JUMPI 00000075: DUP1 00000076: PUSH4 0x49dcbc5e 0000007b: EQ 0000007c: PUSH2 0x00fd 0000007f: JUMPI 00000080: DUP1 00000081: PUSH4 0x715018a6 00000086: EQ 00000087: PUSH2 0x011d 0000008a: JUMPI 0000008b: DUP1 0000008c: PUSH4 0x79ba5097 00000091: EQ 00000092: PUSH2 0x0132 00000095: JUMPI 00000096: PUSH1 0x00 00000098: DUP1 00000099: REVERT 0000009a: JUMPDEST 0000009b: CALLDATASIZE 0000009c: PUSH2 0x00d6 0000009f: JUMPI 000000a0: PUSH1 0x40 000000a2: MLOAD 000000a3: CALLVALUE 000000a4: DUP2 000000a5: MSTORE 000000a6: CALLER 000000a7: SWAP1 000000a8: PUSH32 0xf6f3bf9d00b52384d77c0b88440f0c216676d7ff221073342ec0606c43ccc40c 000000c9: SWAP1 000000ca: PUSH1 0x20 000000cc: ADD 000000cd: PUSH1 0x40 000000cf: MLOAD 000000d0: DUP1 000000d1: SWAP2 000000d2: SUB 000000d3: SWAP1 000000d4: LOG2 000000d5: STOP 000000d6: JUMPDEST 000000d7: PUSH1 0x00 000000d9: DUP1 000000da: REVERT 000000db: JUMPDEST 000000dc: CALLVALUE 000000dd: DUP1 000000de: ISZERO 000000df: PUSH2 0x00e7 000000e2: JUMPI 000000e3: PUSH1 0x00 000000e5: DUP1 000000e6: REVERT 000000e7: JUMPDEST 000000e8: POP 000000e9: PUSH2 0x00fb 000000ec: PUSH2 0x00f6 000000ef: CALLDATASIZE 000000f0: PUSH1 0x04 000000f2: PUSH2 0x08b7 000000f5: JUMP 000000f6: JUMPDEST 000000f7: PUSH2 0x01ff 000000fa: JUMP 000000fb: JUMPDEST 000000fc: STOP 000000fd: JUMPDEST 000000fe: CALLVALUE 000000ff: DUP1 00000100: ISZERO 00000101: PUSH2 0x0109 00000104: JUMPI 00000105: PUSH1 0x00 00000107: DUP1 00000108: REVERT 00000109: JUMPDEST 0000010a: POP 0000010b: PUSH2 0x00fb 0000010e: PUSH2 0x0118 00000111: CALLDATASIZE 00000112: PUSH1 0x04 00000114: PUSH2 0x08d9 00000117: JUMP 00000118: JUMPDEST 00000119: PUSH2 0x0307 0000011c: JUMP 0000011d: JUMPDEST 0000011e: CALLVALUE 0000011f: DUP1 00000120: ISZERO 00000121: PUSH2 0x0129 00000124: JUMPI 00000125: PUSH1 0x00 00000127: DUP1 00000128: REVERT 00000129: JUMPDEST 0000012a: POP 0000012b: PUSH2 0x00fb 0000012e: PUSH2 0x038b 00000131: JUMP 00000132: JUMPDEST 00000133: CALLVALUE 00000134: DUP1 00000135: ISZERO 00000136: PUSH2 0x013e 00000139: JUMPI 0000013a: PUSH1 0x00 0000013c: DUP1 0000013d: REVERT 0000013e: JUMPDEST 0000013f: POP 00000140: PUSH2 0x00fb 00000143: PUSH2 0x0452 00000146: JUMP 00000147: JUMPDEST 00000148: CALLVALUE 00000149: DUP1 0000014a: ISZERO 0000014b: PUSH2 0x0153 0000014e: JUMPI 0000014f: PUSH1 0x00 00000151: DUP1 00000152: REVERT 00000153: JUMPDEST 00000154: POP 00000155: PUSH1 0x00 00000157: SLOAD 00000158: PUSH3 0x010000 0000015c: SWAP1 0000015d: DIV 0000015e: PUSH1 0x01 00000160: PUSH1 0x01 00000162: PUSH1 0xa0 00000164: SHL 00000165: SUB 00000166: AND 00000167: JUMPDEST 00000168: PUSH1 0x40 0000016a: MLOAD 0000016b: PUSH1 0x01 0000016d: PUSH1 0x01 0000016f: PUSH1 0xa0 00000171: SHL 00000172: SUB 00000173: SWAP1 00000174: SWAP2 00000175: AND 00000176: DUP2 00000177: MSTORE 00000178: PUSH1 0x20 0000017a: ADD 0000017b: PUSH1 0x40 0000017d: MLOAD 0000017e: DUP1 0000017f: SWAP2 00000180: SUB 00000181: SWAP1 00000182: RETURN 00000183: JUMPDEST 00000184: CALLVALUE 00000185: DUP1 00000186: ISZERO 00000187: PUSH2 0x018f 0000018a: JUMPI 0000018b: PUSH1 0x00 0000018d: DUP1 0000018e: REVERT 0000018f: JUMPDEST 00000190: POP 00000191: PUSH2 0x00fb 00000194: PUSH2 0x019e 00000197: CALLDATASIZE 00000198: PUSH1 0x04 0000019a: PUSH2 0x08b7 0000019d: JUMP 0000019e: JUMPDEST 0000019f: PUSH2 0x04b2 000001a2: JUMP 000001a3: JUMPDEST 000001a4: CALLVALUE 000001a5: DUP1 000001a6: ISZERO 000001a7: PUSH2 0x01af 000001aa: JUMPI 000001ab: PUSH1 0x00 000001ad: DUP1 000001ae: REVERT 000001af: JUMPDEST 000001b0: POP 000001b1: PUSH1 0x02 000001b3: SLOAD 000001b4: PUSH1 0x01 000001b6: PUSH1 0x01 000001b8: PUSH1 0xa0 000001ba: SHL 000001bb: SUB 000001bc: AND 000001bd: PUSH2 0x0167 000001c0: JUMP 000001c1: JUMPDEST 000001c2: CALLVALUE 000001c3: DUP1 000001c4: ISZERO 000001c5: PUSH2 0x01cd 000001c8: JUMPI 000001c9: PUSH1 0x00 000001cb: DUP1 000001cc: REVERT 000001cd: JUMPDEST 000001ce: POP 000001cf: PUSH1 0x01 000001d1: SLOAD 000001d2: PUSH1 0x01 000001d4: PUSH1 0x01 000001d6: PUSH1 0xa0 000001d8: SHL 000001d9: SUB 000001da: AND 000001db: PUSH2 0x0167 000001de: JUMP 000001df: JUMPDEST 000001e0: CALLVALUE 000001e1: DUP1 000001e2: ISZERO 000001e3: PUSH2 0x01eb 000001e6: JUMPI 000001e7: PUSH1 0x00 000001e9: DUP1 000001ea: REVERT 000001eb: JUMPDEST 000001ec: POP 000001ed: PUSH2 0x00fb 000001f0: PUSH2 0x01fa 000001f3: CALLDATASIZE 000001f4: PUSH1 0x04 000001f6: PUSH2 0x08b7 000001f9: JUMP 000001fa: JUMPDEST 000001fb: PUSH2 0x0650 000001fe: JUMP 000001ff: JUMPDEST 00000200: PUSH1 0x00 00000202: SLOAD 00000203: PUSH1 0x01 00000205: PUSH1 0x01 00000207: PUSH1 0xa0 00000209: SHL 0000020a: SUB 0000020b: PUSH3 0x010000 0000020f: SWAP1 00000210: SWAP2 00000211: DIV 00000212: AND 00000213: CALLER 00000214: EQ 00000215: PUSH2 0x024f 00000218: JUMPI 00000219: PUSH1 0x40 0000021b: MLOAD 0000021c: PUSH4 0x4389d5ab 00000221: PUSH1 0xe0 00000223: SHL 00000224: DUP2 00000225: MSTORE 00000226: PUSH1 0x20 00000228: PUSH1 0x04 0000022a: DUP3 0000022b: ADD 0000022c: MSTORE 0000022d: PUSH1 0x06 0000022f: PUSH1 0x24 00000231: DUP3 00000232: ADD 00000233: MSTORE 00000234: PUSH6 0x39b2b73232b9 0000023b: PUSH1 0xd1 0000023d: SHL 0000023e: PUSH1 0x44 00000240: DUP3 00000241: ADD 00000242: MSTORE 00000243: PUSH1 0x64 00000245: ADD 00000246: JUMPDEST 00000247: PUSH1 0x40 00000249: MLOAD 0000024a: DUP1 0000024b: SWAP2 0000024c: SUB 0000024d: SWAP1 0000024e: REVERT 0000024f: JUMPDEST 00000250: PUSH1 0x01 00000252: PUSH1 0x01 00000254: PUSH1 0xa0 00000256: SHL 00000257: SUB 00000258: DUP2 00000259: AND 0000025a: PUSH2 0x02a6 0000025d: JUMPI 0000025e: PUSH1 0x40 00000260: MLOAD 00000261: PUSH4 0x046c82ad 00000266: PUSH1 0xe4 00000268: SHL 00000269: DUP2 0000026a: MSTORE 0000026b: PUSH1 0x20 0000026d: PUSH1 0x04 0000026f: DUP3 00000270: ADD 00000271: MSTORE 00000272: PUSH1 0x08 00000274: PUSH1 0x24 00000276: DUP3 00000277: ADD 00000278: MSTORE 00000279: PUSH32 0x7265776172646572000000000000000000000000000000000000000000000000 0000029a: PUSH1 0x44 0000029c: DUP3 0000029d: ADD 0000029e: MSTORE 0000029f: PUSH1 0x64 000002a1: ADD 000002a2: PUSH2 0x0246 000002a5: JUMP 000002a6: JUMPDEST 000002a7: PUSH1 0x02 000002a9: DUP1 000002aa: SLOAD 000002ab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002c0: NOT 000002c1: AND 000002c2: PUSH1 0x01 000002c4: PUSH1 0x01 000002c6: PUSH1 0xa0 000002c8: SHL 000002c9: SUB 000002ca: DUP4 000002cb: AND 000002cc: SWAP1 000002cd: DUP2 000002ce: OR 000002cf: SWAP1 000002d0: SWAP2 000002d1: SSTORE 000002d2: PUSH1 0x40 000002d4: MLOAD 000002d5: SWAP1 000002d6: DUP2 000002d7: MSTORE 000002d8: PUSH32 0xcf0aff36caea97f7ad632b334936cb196014c193ac1a790b578f12a70d9836db 000002f9: SWAP1 000002fa: PUSH1 0x20 000002fc: ADD 000002fd: PUSH1 0x40 000002ff: MLOAD 00000300: DUP1 00000301: SWAP2 00000302: SUB 00000303: SWAP1 00000304: LOG1 00000305: POP 00000306: JUMP 00000307: JUMPDEST 00000308: PUSH1 0x02 0000030a: SLOAD 0000030b: PUSH1 0x01 0000030d: PUSH1 0x01 0000030f: PUSH1 0xa0 00000311: SHL 00000312: SUB 00000313: AND 00000314: CALLER 00000315: EQ 00000316: DUP1 00000317: PUSH2 0x0330 0000031a: JUMPI 0000031b: POP 0000031c: PUSH1 0x00 0000031e: SLOAD 0000031f: PUSH3 0x010000 00000323: SWAP1 00000324: DIV 00000325: PUSH1 0x01 00000327: PUSH1 0x01 00000329: PUSH1 0xa0 0000032b: SHL 0000032c: SUB 0000032d: AND 0000032e: CALLER 0000032f: EQ 00000330: JUMPDEST 00000331: PUSH2 0x037d 00000334: JUMPI 00000335: PUSH1 0x40 00000337: MLOAD 00000338: PUSH4 0x4389d5ab 0000033d: PUSH1 0xe0 0000033f: SHL 00000340: DUP2 00000341: MSTORE 00000342: PUSH1 0x20 00000344: PUSH1 0x04 00000346: DUP3 00000347: ADD 00000348: MSTORE 00000349: PUSH1 0x1c 0000034b: PUSH1 0x24 0000034d: DUP3 0000034e: ADD 0000034f: MSTORE 00000350: PUSH32 0x63616c6c6572206e6f74207265776172646572206f72206f776e657200000000 00000371: PUSH1 0x44 00000373: DUP3 00000374: ADD 00000375: MSTORE 00000376: PUSH1 0x64 00000378: ADD 00000379: PUSH2 0x0246 0000037c: JUMP 0000037d: JUMPDEST 0000037e: PUSH2 0x0387 00000381: DUP3 00000382: DUP3 00000383: PUSH2 0x076f 00000386: JUMP 00000387: JUMPDEST 00000388: POP 00000389: POP 0000038a: JUMP 0000038b: JUMPDEST 0000038c: PUSH1 0x00 0000038e: SLOAD 0000038f: PUSH1 0x01 00000391: PUSH1 0x01 00000393: PUSH1 0xa0 00000395: SHL 00000396: SUB 00000397: PUSH3 0x010000 0000039b: SWAP1 0000039c: SWAP2 0000039d: DIV 0000039e: AND 0000039f: CALLER 000003a0: EQ 000003a1: PUSH2 0x03d6 000003a4: JUMPI 000003a5: PUSH1 0x40 000003a7: MLOAD 000003a8: PUSH4 0x4389d5ab 000003ad: PUSH1 0xe0 000003af: SHL 000003b0: DUP2 000003b1: MSTORE 000003b2: PUSH1 0x20 000003b4: PUSH1 0x04 000003b6: DUP3 000003b7: ADD 000003b8: MSTORE 000003b9: PUSH1 0x06 000003bb: PUSH1 0x24 000003bd: DUP3 000003be: ADD 000003bf: MSTORE 000003c0: PUSH6 0x39b2b73232b9 000003c7: PUSH1 0xd1 000003c9: SHL 000003ca: PUSH1 0x44 000003cc: DUP3 000003cd: ADD 000003ce: MSTORE 000003cf: PUSH1 0x64 000003d1: ADD 000003d2: PUSH2 0x0246 000003d5: JUMP 000003d6: JUMPDEST 000003d7: PUSH1 0x00 000003d9: DUP1 000003da: SLOAD 000003db: PUSH22 0xffffffffffffffffffffffffffffffffffffffff0000 000003f2: NOT 000003f3: DUP2 000003f4: AND 000003f5: DUP3 000003f6: SSTORE 000003f7: PUSH1 0x01 000003f9: DUP1 000003fa: SLOAD 000003fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000410: NOT 00000411: AND 00000412: SWAP1 00000413: SSTORE 00000414: PUSH1 0x40 00000416: MLOAD 00000417: PUSH3 0x010000 0000041b: SWAP1 0000041c: SWAP2 0000041d: DIV 0000041e: PUSH1 0x01 00000420: PUSH1 0x01 00000422: PUSH1 0xa0 00000424: SHL 00000425: SUB 00000426: AND 00000427: SWAP2 00000428: SWAP1 00000429: DUP3 0000042a: SWAP1 0000042b: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 0000044c: SWAP1 0000044d: DUP4 0000044e: SWAP1 0000044f: LOG3 00000450: POP 00000451: JUMP 00000452: JUMPDEST 00000453: CALLER 00000454: DUP1 00000455: PUSH2 0x0466 00000458: PUSH1 0x01 0000045a: SLOAD 0000045b: PUSH1 0x01 0000045d: PUSH1 0x01 0000045f: PUSH1 0xa0 00000461: SHL 00000462: SUB 00000463: AND 00000464: SWAP1 00000465: JUMP 00000466: JUMPDEST 00000467: PUSH1 0x01 00000469: PUSH1 0x01 0000046b: PUSH1 0xa0 0000046d: SHL 0000046e: SUB 0000046f: AND 00000470: EQ 00000471: PUSH2 0x04a6 00000474: JUMPI 00000475: PUSH1 0x40 00000477: MLOAD 00000478: PUSH4 0x4389d5ab 0000047d: PUSH1 0xe0 0000047f: SHL 00000480: DUP2 00000481: MSTORE 00000482: PUSH1 0x20 00000484: PUSH1 0x04 00000486: DUP3 00000487: ADD 00000488: MSTORE 00000489: PUSH1 0x06 0000048b: PUSH1 0x24 0000048d: DUP3 0000048e: ADD 0000048f: MSTORE 00000490: PUSH6 0x39b2b73232b9 00000497: PUSH1 0xd1 00000499: SHL 0000049a: PUSH1 0x44 0000049c: DUP3 0000049d: ADD 0000049e: MSTORE 0000049f: PUSH1 0x64 000004a1: ADD 000004a2: PUSH2 0x0246 000004a5: JUMP 000004a6: JUMPDEST 000004a7: PUSH2 0x04af 000004aa: DUP2 000004ab: PUSH2 0x0817 000004ae: JUMP 000004af: JUMPDEST 000004b0: POP 000004b1: JUMP 000004b2: JUMPDEST 000004b3: PUSH1 0x00 000004b5: SLOAD 000004b6: PUSH2 0x0100 000004b9: SWAP1 000004ba: DIV 000004bb: PUSH1 0xff 000004bd: AND 000004be: ISZERO 000004bf: DUP1 000004c0: DUP1 000004c1: ISZERO 000004c2: PUSH2 0x04d2 000004c5: JUMPI 000004c6: POP 000004c7: PUSH1 0x00 000004c9: SLOAD 000004ca: PUSH1 0x01 000004cc: PUSH1 0xff 000004ce: SWAP1 000004cf: SWAP2 000004d0: AND 000004d1: LT 000004d2: JUMPDEST 000004d3: DUP1 000004d4: PUSH2 0x04ec 000004d7: JUMPI 000004d8: POP 000004d9: ADDRESS 000004da: EXTCODESIZE 000004db: ISZERO 000004dc: DUP1 000004dd: ISZERO 000004de: PUSH2 0x04ec 000004e1: JUMPI 000004e2: POP 000004e3: PUSH1 0x00 000004e5: SLOAD 000004e6: PUSH1 0xff 000004e8: AND 000004e9: PUSH1 0x01 000004eb: EQ 000004ec: JUMPDEST 000004ed: PUSH2 0x055e 000004f0: JUMPI 000004f1: PUSH1 0x40 000004f3: MLOAD 000004f4: PUSH3 0x461bcd 000004f8: PUSH1 0xe5 000004fa: SHL 000004fb: DUP2 000004fc: MSTORE 000004fd: PUSH1 0x20 000004ff: PUSH1 0x04 00000501: DUP3 00000502: ADD 00000503: MSTORE 00000504: PUSH1 0x2e 00000506: PUSH1 0x24 00000508: DUP3 00000509: ADD 0000050a: MSTORE 0000050b: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561 0000052c: PUSH1 0x44 0000052e: DUP3 0000052f: ADD 00000530: MSTORE 00000531: PUSH32 0x647920696e697469616c697a6564000000000000000000000000000000000000 00000552: PUSH1 0x64 00000554: DUP3 00000555: ADD 00000556: MSTORE 00000557: PUSH1 0x84 00000559: ADD 0000055a: PUSH2 0x0246 0000055d: JUMP 0000055e: JUMPDEST 0000055f: PUSH1 0x00 00000561: DUP1 00000562: SLOAD 00000563: PUSH1 0xff 00000565: NOT 00000566: AND 00000567: PUSH1 0x01 00000569: OR 0000056a: SWAP1 0000056b: SSTORE 0000056c: DUP1 0000056d: ISZERO 0000056e: PUSH2 0x0581 00000571: JUMPI 00000572: PUSH1 0x00 00000574: DUP1 00000575: SLOAD 00000576: PUSH2 0xff00 00000579: NOT 0000057a: AND 0000057b: PUSH2 0x0100 0000057e: OR 0000057f: SWAP1 00000580: SSTORE 00000581: JUMPDEST 00000582: PUSH1 0x01 00000584: PUSH1 0x01 00000586: PUSH1 0xa0 00000588: SHL 00000589: SUB 0000058a: DUP3 0000058b: AND 0000058c: PUSH2 0x05d8 0000058f: JUMPI 00000590: PUSH1 0x40 00000592: MLOAD 00000593: PUSH4 0x046c82ad 00000598: PUSH1 0xe4 0000059a: SHL 0000059b: DUP2 0000059c: MSTORE 0000059d: PUSH1 0x20 0000059f: PUSH1 0x04 000005a1: DUP3 000005a2: ADD 000005a3: MSTORE 000005a4: PUSH1 0x05 000005a6: PUSH1 0x24 000005a8: DUP3 000005a9: ADD 000005aa: MSTORE 000005ab: PUSH32 0x6f776e6572000000000000000000000000000000000000000000000000000000 000005cc: PUSH1 0x44 000005ce: DUP3 000005cf: ADD 000005d0: MSTORE 000005d1: PUSH1 0x64 000005d3: ADD 000005d4: PUSH2 0x0246 000005d7: JUMP 000005d8: JUMPDEST 000005d9: PUSH1 0x00 000005db: DUP1 000005dc: SLOAD 000005dd: PUSH22 0xffffffffffffffffffffffffffffffffffffffff0000 000005f4: NOT 000005f5: AND 000005f6: PUSH3 0x010000 000005fa: PUSH1 0x01 000005fc: PUSH1 0x01 000005fe: PUSH1 0xa0 00000600: SHL 00000601: SUB 00000602: DUP6 00000603: AND 00000604: MUL 00000605: OR 00000606: SWAP1 00000607: SSTORE 00000608: DUP1 00000609: ISZERO 0000060a: PUSH2 0x0387 0000060d: JUMPI 0000060e: PUSH1 0x00 00000610: DUP1 00000611: SLOAD 00000612: PUSH2 0xff00 00000615: NOT 00000616: AND 00000617: SWAP1 00000618: SSTORE 00000619: PUSH1 0x40 0000061b: MLOAD 0000061c: PUSH1 0x01 0000061e: DUP2 0000061f: MSTORE 00000620: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498 00000641: SWAP1 00000642: PUSH1 0x20 00000644: ADD 00000645: PUSH1 0x40 00000647: MLOAD 00000648: DUP1 00000649: SWAP2 0000064a: SUB 0000064b: SWAP1 0000064c: LOG1 0000064d: POP 0000064e: POP 0000064f: JUMP 00000650: JUMPDEST 00000651: PUSH1 0x00 00000653: SLOAD 00000654: PUSH1 0x01 00000656: PUSH1 0x01 00000658: PUSH1 0xa0 0000065a: SHL 0000065b: SUB 0000065c: PUSH3 0x010000 00000660: SWAP1 00000661: SWAP2 00000662: DIV 00000663: AND 00000664: CALLER 00000665: EQ 00000666: PUSH2 0x069b 00000669: JUMPI 0000066a: PUSH1 0x40 0000066c: MLOAD 0000066d: PUSH4 0x4389d5ab 00000672: PUSH1 0xe0 00000674: SHL 00000675: DUP2 00000676: MSTORE 00000677: PUSH1 0x20 00000679: PUSH1 0x04 0000067b: DUP3 0000067c: ADD 0000067d: MSTORE 0000067e: PUSH1 0x06 00000680: PUSH1 0x24 00000682: DUP3 00000683: ADD 00000684: MSTORE 00000685: PUSH6 0x39b2b73232b9 0000068c: PUSH1 0xd1 0000068e: SHL 0000068f: PUSH1 0x44 00000691: DUP3 00000692: ADD 00000693: MSTORE 00000694: PUSH1 0x64 00000696: ADD 00000697: PUSH2 0x0246 0000069a: JUMP 0000069b: JUMPDEST 0000069c: PUSH1 0x01 0000069e: PUSH1 0x01 000006a0: PUSH1 0xa0 000006a2: SHL 000006a3: SUB 000006a4: DUP2 000006a5: AND 000006a6: PUSH2 0x06f2 000006a9: JUMPI 000006aa: PUSH1 0x40 000006ac: MLOAD 000006ad: PUSH4 0x046c82ad 000006b2: PUSH1 0xe4 000006b4: SHL 000006b5: DUP2 000006b6: MSTORE 000006b7: PUSH1 0x20 000006b9: PUSH1 0x04 000006bb: DUP3 000006bc: ADD 000006bd: MSTORE 000006be: PUSH1 0x08 000006c0: PUSH1 0x24 000006c2: DUP3 000006c3: ADD 000006c4: MSTORE 000006c5: PUSH32 0x6e65774f776e6572000000000000000000000000000000000000000000000000 000006e6: PUSH1 0x44 000006e8: DUP3 000006e9: ADD 000006ea: MSTORE 000006eb: PUSH1 0x64 000006ed: ADD 000006ee: PUSH2 0x0246 000006f1: JUMP 000006f2: JUMPDEST 000006f3: PUSH1 0x01 000006f5: DUP1 000006f6: SLOAD 000006f7: PUSH1 0x01 000006f9: PUSH1 0x01 000006fb: PUSH1 0xa0 000006fd: SHL 000006fe: SUB 000006ff: DUP4 00000700: AND 00000701: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000716: NOT 00000717: SWAP1 00000718: SWAP2 00000719: AND 0000071a: DUP2 0000071b: OR 0000071c: SWAP1 0000071d: SWAP2 0000071e: SSTORE 0000071f: PUSH2 0x0737 00000722: PUSH1 0x00 00000724: SLOAD 00000725: PUSH1 0x01 00000727: PUSH1 0x01 00000729: PUSH1 0xa0 0000072b: SHL 0000072c: SUB 0000072d: PUSH3 0x010000 00000731: SWAP1 00000732: SWAP2 00000733: DIV 00000734: AND 00000735: SWAP1 00000736: JUMP 00000737: JUMPDEST 00000738: PUSH1 0x01 0000073a: PUSH1 0x01 0000073c: PUSH1 0xa0 0000073e: SHL 0000073f: SUB 00000740: AND 00000741: PUSH32 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700 00000762: PUSH1 0x40 00000764: MLOAD 00000765: PUSH1 0x40 00000767: MLOAD 00000768: DUP1 00000769: SWAP2 0000076a: SUB 0000076b: SWAP1 0000076c: LOG3 0000076d: POP 0000076e: JUMP 0000076f: JUMPDEST 00000770: PUSH1 0x00 00000772: DUP3 00000773: PUSH1 0x01 00000775: PUSH1 0x01 00000777: PUSH1 0xa0 00000779: SHL 0000077a: SUB 0000077b: AND 0000077c: DUP3 0000077d: PUSH1 0x40 0000077f: MLOAD 00000780: PUSH1 0x00 00000782: PUSH1 0x40 00000784: MLOAD 00000785: DUP1 00000786: DUP4 00000787: SUB 00000788: DUP2 00000789: DUP6 0000078a: DUP8 0000078b: GAS 0000078c: CALL 0000078d: SWAP3 0000078e: POP 0000078f: POP 00000790: POP 00000791: RETURNDATASIZE 00000792: DUP1 00000793: PUSH1 0x00 00000795: DUP2 00000796: EQ 00000797: PUSH2 0x07bc 0000079a: JUMPI 0000079b: PUSH1 0x40 0000079d: MLOAD 0000079e: SWAP2 0000079f: POP 000007a0: PUSH1 0x1f 000007a2: NOT 000007a3: PUSH1 0x3f 000007a5: RETURNDATASIZE 000007a6: ADD 000007a7: AND 000007a8: DUP3 000007a9: ADD 000007aa: PUSH1 0x40 000007ac: MSTORE 000007ad: RETURNDATASIZE 000007ae: DUP3 000007af: MSTORE 000007b0: RETURNDATASIZE 000007b1: PUSH1 0x00 000007b3: PUSH1 0x20 000007b5: DUP5 000007b6: ADD 000007b7: RETURNDATACOPY 000007b8: PUSH2 0x07c1 000007bb: JUMP 000007bc: JUMPDEST 000007bd: PUSH1 0x60 000007bf: SWAP2 000007c0: POP 000007c1: JUMPDEST 000007c2: POP 000007c3: POP 000007c4: SWAP1 000007c5: POP 000007c6: DUP1 000007c7: PUSH2 0x0812 000007ca: JUMPI 000007cb: PUSH1 0x40 000007cd: MLOAD 000007ce: PUSH3 0x461bcd 000007d2: PUSH1 0xe5 000007d4: SHL 000007d5: DUP2 000007d6: MSTORE 000007d7: PUSH1 0x20 000007d9: PUSH1 0x04 000007db: DUP3 000007dc: ADD 000007dd: MSTORE 000007de: PUSH1 0x0c 000007e0: PUSH1 0x24 000007e2: DUP3 000007e3: ADD 000007e4: MSTORE 000007e5: PUSH32 0x6574682077697468647261770000000000000000000000000000000000000000 00000806: PUSH1 0x44 00000808: DUP3 00000809: ADD 0000080a: MSTORE 0000080b: PUSH1 0x64 0000080d: ADD 0000080e: PUSH2 0x0246 00000811: JUMP 00000812: JUMPDEST 00000813: POP 00000814: POP 00000815: POP 00000816: JUMP 00000817: JUMPDEST 00000818: PUSH1 0x01 0000081a: DUP1 0000081b: SLOAD 0000081c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000831: NOT 00000832: AND 00000833: SWAP1 00000834: SSTORE 00000835: PUSH1 0x00 00000837: DUP1 00000838: SLOAD 00000839: PUSH1 0x01 0000083b: PUSH1 0x01 0000083d: PUSH1 0xa0 0000083f: SHL 00000840: SUB 00000841: DUP4 00000842: DUP2 00000843: AND 00000844: PUSH3 0x010000 00000848: DUP2 00000849: DUP2 0000084a: MUL 0000084b: PUSH22 0xffffffffffffffffffffffffffffffffffffffff0000 00000862: NOT 00000863: DUP6 00000864: AND 00000865: OR 00000866: DUP6 00000867: SSTORE 00000868: PUSH1 0x40 0000086a: MLOAD 0000086b: SWAP4 0000086c: DIV 0000086d: SWAP1 0000086e: SWAP2 0000086f: AND 00000870: SWAP3 00000871: SWAP1 00000872: SWAP2 00000873: DUP4 00000874: SWAP2 00000875: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00000896: SWAP2 00000897: LOG3 00000898: POP 00000899: POP 0000089a: JUMP 0000089b: JUMPDEST 0000089c: DUP1 0000089d: CALLDATALOAD 0000089e: PUSH1 0x01 000008a0: PUSH1 0x01 000008a2: PUSH1 0xa0 000008a4: SHL 000008a5: SUB 000008a6: DUP2 000008a7: AND 000008a8: DUP2 000008a9: EQ 000008aa: PUSH2 0x08b2 000008ad: JUMPI 000008ae: PUSH1 0x00 000008b0: DUP1 000008b1: REVERT 000008b2: JUMPDEST 000008b3: SWAP2 000008b4: SWAP1 000008b5: POP 000008b6: JUMP 000008b7: JUMPDEST 000008b8: PUSH1 0x00 000008ba: PUSH1 0x20 000008bc: DUP3 000008bd: DUP5 000008be: SUB 000008bf: SLT 000008c0: ISZERO 000008c1: PUSH2 0x08c9 000008c4: JUMPI 000008c5: PUSH1 0x00 000008c7: DUP1 000008c8: REVERT 000008c9: JUMPDEST 000008ca: PUSH2 0x08d2 000008cd: DUP3 000008ce: PUSH2 0x089b 000008d1: JUMP 000008d2: JUMPDEST 000008d3: SWAP4 000008d4: SWAP3 000008d5: POP 000008d6: POP 000008d7: POP 000008d8: JUMP 000008d9: JUMPDEST 000008da: PUSH1 0x00 000008dc: DUP1 000008dd: PUSH1 0x40 000008df: DUP4 000008e0: DUP6 000008e1: SUB 000008e2: SLT 000008e3: ISZERO 000008e4: PUSH2 0x08ec 000008e7: JUMPI 000008e8: PUSH1 0x00 000008ea: DUP1 000008eb: REVERT 000008ec: JUMPDEST 000008ed: PUSH2 0x08f5 000008f0: DUP4 000008f1: PUSH2 0x089b 000008f4: JUMP 000008f5: JUMPDEST 000008f6: SWAP5 000008f7: PUSH1 0x20 000008f9: SWAP4 000008fa: SWAP1 000008fb: SWAP4 000008fc: ADD 000008fd: CALLDATALOAD 000008fe: SWAP4 000008ff: POP 00000900: POP 00000901: POP 00000902: JUMP 00000903: INVALID 00000904: LOG2 00000905: PUSH5 0x6970667358 0000090b: UNKNOWN(0x22) 0000090c: SLT 0000090d: KECCAK256 0000090e: LOG3 0000090f: UNKNOWN(0xC7) 00000910: PUSH17 0x0a2adba2f576c1b7e422c062d167331aa0 00000922: XOR 00000923: UNKNOWN(0x21) 00000924: DUP9 00000925: UNKNOWN(0x21) 00000926: UNKNOWN(0xA6) 00000927: SWAP5 00000928: DIFFICULTY 00000929: GAS 0000092a: LOG2 0000092b: UNKNOWN(0xB0) 0000092c: BLOCKHASH 0000092d: UNKNOWN(0xAC) 0000092e: PUSH5 0x736f6c6343 00000934: STOP 00000935: ADDMOD 00000936: XOR 00000937: STOP 00000938: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xc14c5e761fafd4d33da634516532cf8824d69d4239397097f32e7a1b3fd9e88e
call_targets:
0x25b47236f7dc9c973ed8d3a7c95b29701402b5d4
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xc14c5e761fafd4d33da634516532cf8824d69d4239397097f32e7a1b3fd9e88e",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x25b47236f7dc9c973ed8d3a7c95b29701402b5d4"
],
"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": "0xdcc3e06e",
"selector": "0xdcc3e06e",
"calldata_variants": [
"0xdcc3e06e",
"0xdcc3e06e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe30c3978",
"selector": "0xe30c3978",
"calldata_variants": [
"0xe30c3978",
"0xe30c39780000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc4d66de8",
"selector": "0xc4d66de8",
"calldata_variants": [
"0xc4d66de8",
"0xc4d66de80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3a6462e4",
"selector": "0x3a6462e4",
"calldata_variants": [
"0x3a6462e4",
"0x3a6462e40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x49dcbc5e",
"selector": "0x49dcbc5e",
"calldata_variants": [
"0x49dcbc5e",
"0x49dcbc5e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x715018a6",
"selector": "0x715018a6",
"calldata_variants": [
"0x715018a6",
"0x715018a60000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1932,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 1,
"guards_detected": []
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xc14c5e761fafd4d33da634516532cf8824d69d4239397097f32e7a1b3fd9e88e
call_targets:
0x25b47236f7dc9c973ed8d3a7c95b29701402b5d4
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xc14c5e761fafd4d33da634516532cf8824d69d4239397097f32e7a1b3fd9e88e",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x25b47236f7dc9c973ed8d3a7c95b29701402b5d4"
],
"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": "0xdcc3e06e",
"selector": "0xdcc3e06e",
"calldata_variants": [
"0xdcc3e06e",
"0xdcc3e06e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe30c3978",
"selector": "0xe30c3978",
"calldata_variants": [
"0xe30c3978",
"0xe30c39780000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc4d66de8",
"selector": "0xc4d66de8",
"calldata_variants": [
"0xc4d66de8",
"0xc4d66de80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3a6462e4",
"selector": "0x3a6462e4",
"calldata_variants": [
"0x3a6462e4",
"0x3a6462e40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x49dcbc5e",
"selector": "0x49dcbc5e",
"calldata_variants": [
"0x49dcbc5e",
"0x49dcbc5e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x715018a6",
"selector": "0x715018a6",
"calldata_variants": [
"0x715018a6",
"0x715018a60000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1932,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 1,
"guards_detected": [],
"untrusted_call_count": 1
}
|