a55b469a-02ae-48b6-9b88-48b24b6e6a62
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 |
|---|---|---|---|---|
| 31474 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 77470 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 77471 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 77472 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 77473 | capability.graph | complete | 1 / 3 | 1 week ago |
| 77474 | detector.run | complete | 1 / 3 | 1 week ago |
| 77475 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:1455771] OpenAI Codex v0.77.0 (research preview)
[codex:1455771] --------
[codex:1455771] workdir: /tmp/codex-multi-5muaodep
[codex:1455771] model: gpt-5.2-codex
[codex:1455771] provider: openai
[codex:1455771] approval: never
[codex:1455771] sandbox: read-only
[codex:1455771] reasoning effort: xhigh
[codex:1455771] reasoning summaries: auto
[codex:1455771] session id: 019b8609-46fa-7510-8086-8b657a80f5d5
[codex:1455771] --------
[codex:1455771] user
[codex:1455771] 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:1455771]
[codex:1455771] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:1455771]
[codex:1455771] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1455771] - Gas inefficiency, code quality, or best practices
[codex:1455771] - Theoretical vulnerabilities without a clear extraction path
[codex:1455771] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:1455771] - Issues requiring social engineering or off-chain coordination
[codex:1455771]
[codex:1455771] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:1455771] - CALL/DELEGATECALL with controllable destination or calldata
[codex:1455771] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:1455771] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:1455771] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:1455771] - External calls before state updates (reentrancy)
[codex:1455771] - SELFDESTRUCT with controllable beneficiary
[codex:1455771] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:1455771]
[codex:1455771] For each finding, you MUST explain:
[codex:1455771] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:1455771] 2. The concrete sequence of transactions to extract value
[codex:1455771] 3. Why you believe this is exploitable (not just suspicious)
[codex:1455771]
[codex:1455771] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:1455771] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:1455771]
[codex:1455771] Output MUST be valid JSON matching the provided schema.
[codex:1455771] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1455771] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1455771] mcp startup: no servers
[codex:1455771]
[codex:1455771] thinking
[codex:1455771] **Checking BYTECODE_BUNDLE contents**
[codex:1455771] exec
[codex:1455771] /bin/bash -lc ls in /tmp/codex-multi-5muaodep succeeded in 6ms:
[codex:1455771] BYTECODE_BUNDLE.txt
[codex:1455771] codex-output-schema.json
[codex:1455771] exec
[codex:1455771] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-5muaodep succeeded in 5ms:
[codex:1455771] Runtime bytecode bundle for best-effort auditing.
[codex:1455771] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:1455771]
[codex:1455771] FILE: runtime_bytecode.hex
[codex:1455771] 0x6080604052600436106100435760003560e01c806390ec71bd1461008e5780639189a59e146100a3578063dfd1fb7a14610100578063e00af4a71461012057600080fd5b3661008957341561008757604080513381523460208201527fa419615bc8fda4c87663805ee2a3597a6d71c1d476911d9892f340d965bc7bf1910160405180910390a15b005b600080fd5b34801561009a57600080fd5b50610087610140565b3480156100af57600080fd5b506100d77f0000000000000000000000002b343e042afc3c758d738b314fc5f4274d69498381565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b34801561010c57600080fd5b5061008761011b36600461092f565b6102d2565b34801561012c57600080fd5b5061008761013b3660046109b2565b61046f565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000002b343e042afc3c758d738b314fc5f4274d69498316146101e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f756e617574686f72697a6564000000000000000000000000000000000000000060448201526064015b60405180910390fd5b604051479060009073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000002b343e042afc3c758d738b314fc5f4274d694983169083908381818185875af1925050503d806000811461025e576040519150601f19603f3d011682016040523d82523d6000602084013e610263565b606091505b50509050806102ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f6661696c656420746f207377656570206574686572000000000000000000000060448201526064016101db565b5050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000002b343e042afc3c758d738b314fc5f4274d6949831614610371576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f756e617574686f72697a6564000000000000000000000000000000000000000060448201526064016101db565b6000808473ffffffffffffffffffffffffffffffffffffffff16848460405161039b9291906109cd565b6000604051808303816000865af19150503d80600081146103d8576040519150601f19603f3d011682016040523d82523d6000602084013e6103dd565b606091505b5091509150811561042a577f18e614c03fae7d4f0ad0790905bc76b8690e946c477b2b8970403bcad27a9b968585858460405161041d9493929190610a57565b60405180910390a1610468565b7faba0bbd4bfc61304155c867f51e2bc1c6f844c4d852c9bdb15c2cd9c3c8e62748585858460405161045f9493929190610a57565b60405180910390a15b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000002b343e042afc3c758d738b314fc5f4274d694983161461050e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f756e617574686f72697a6564000000000000000000000000000000000000000060448201526064016101db565b6040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152819060009073ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa15801561057d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a19190610ada565b604080517f0000000000000000000000002b343e042afc3c758d738b314fc5f4274d69498373ffffffffffffffffffffffffffffffffffffffff16602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052909150610651908490610770565b604080517f0000000000000000000000002b343e042afc3c758d738b314fc5f4274d69498373ffffffffffffffffffffffffffffffffffffffff90811660248301527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60448084019190915283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b3000000000000000000000000000000000000000000000000000000001790529151918516916107269190610af3565b6000604051808303816000865af19150503d8060008114610763576040519150601f19603f3d011682016040523d82523d6000602084013e610768565b606091505b505050505050565b60006107b283836040518060400160405280600c81526020017f45524332303a726576657274000000000000000000000000000000000000000081525061083b565b80519091501561083657808060200190518101906107d09190610b0f565b610836576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f45524332303a66616c736500000000000000000000000000000000000000000060448201526064016101db565b505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516108659190610af3565b6000604051808303816000865af19150503d80600081146108a2576040519150601f19603f3d011682016040523d82523d6000602084013e6108a7565b606091505b509150915081156108bb5791506108ff9050565b8051156108cb5780518082602001fd5b836040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101db9190610b31565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461092a57600080fd5b919050565b60008060006040848603121561094457600080fd5b61094d84610906565b9250602084013567ffffffffffffffff8082111561096a57600080fd5b818601915086601f83011261097e57600080fd5b81358181111561098d57600080fd5b87602082850101111561099f57600080fd5b6020830194508093505050509250925092565b6000602082840312156109c457600080fd5b6108ff82610906565b8183823760009101908152919050565b60005b838110156109f85781810151838201526020016109e0565b83811115610a07576000848401525b50505050565b60008151808452610a258160208601602086016109dd565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b73ffffffffffffffffffffffffffffffffffffffff85168152606060208201528260608201528284608083013760006080848301015260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011682016080838203016040840152610acf6080820185610a0d565b979650505050505050565b600060208284031215610aec57600080fd5b5051919050565b60008251610b058184602087016109dd565b9190910192915050565b600060208284031215610b2157600080fd5b815180151581146108ff57600080fd5b6020815260006108ff6020830184610a0d56fea2646970667358221220311306807309c680ca22af13021e958a8626751d8dce160be1809b58c7232ab164736f6c634300080f0033
[codex:1455771]
[codex:1455771] thinking
[codex:1455771] **Analyzing bytecode for exploits**
[codex:1455771]
[codex:1455771] I’m carefully reading the contract’s bytecode to see if there’s any way to profit by bypassing the owner-only restrictions. The contract hardcodes an owner address and restricts key functions like sweeping ETH or tokens and executing arbitrary calls to the owner only. The fallback and receive functions accept ETH but don’t transfer it out. I don’t see storage writes or a vulnerable owner setter. No reentrancy or unchecked external calls appear exploitable. Overall, I find no paths for unauthorized profit extraction, so I’ll prepare a JSON output signaling no findings.
[codex:1455771] codex
[codex:1455771] {"no_findings":true,"summary":"No concrete, exploitable profit path identified in the runtime bytecode; all value-transfer/external-call paths appear gated by a hardcoded owner check with no observed bypass in bytecode.","findings":[]}
[codex:1455771] tokens used
[codex:1455771] 11,191
[codex:1455771] {"no_findings":true,"summary":"No concrete, exploitable profit path identified in the runtime bytecode; all value-transfer/external-call paths appear gated by a hardcoded owner check with no observed bypass in bytecode.","findings":[]}
{
"codex": {
"ran_at": "2026-01-03T22:46:20.966823+00:00",
"returncode": 0
},
"summary": "No concrete, exploitable profit path identified in the runtime bytecode; all value-transfer/external-call paths appear gated by a hardcoded owner check with no observed bypass in bytecode.",
"raw_final": {
"summary": "No concrete, exploitable profit path identified in the runtime bytecode; all value-transfer/external-call paths appear gated by a hardcoded owner check with no observed bypass in bytecode.",
"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 0x0043 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x90ec71bd 00000019: EQ 0000001a: PUSH2 0x008e 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0x9189a59e 00000024: EQ 00000025: PUSH2 0x00a3 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xdfd1fb7a 0000002f: EQ 00000030: PUSH2 0x0100 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xe00af4a7 0000003a: EQ 0000003b: PUSH2 0x0120 0000003e: JUMPI 0000003f: PUSH1 0x00 00000041: DUP1 00000042: REVERT 00000043: JUMPDEST 00000044: CALLDATASIZE 00000045: PUSH2 0x0089 00000048: JUMPI 00000049: CALLVALUE 0000004a: ISZERO 0000004b: PUSH2 0x0087 0000004e: JUMPI 0000004f: PUSH1 0x40 00000051: DUP1 00000052: MLOAD 00000053: CALLER 00000054: DUP2 00000055: MSTORE 00000056: CALLVALUE 00000057: PUSH1 0x20 00000059: DUP3 0000005a: ADD 0000005b: MSTORE 0000005c: PUSH32 0xa419615bc8fda4c87663805ee2a3597a6d71c1d476911d9892f340d965bc7bf1 0000007d: SWAP2 0000007e: ADD 0000007f: PUSH1 0x40 00000081: MLOAD 00000082: DUP1 00000083: SWAP2 00000084: SUB 00000085: SWAP1 00000086: LOG1 00000087: JUMPDEST 00000088: STOP 00000089: JUMPDEST 0000008a: PUSH1 0x00 0000008c: DUP1 0000008d: REVERT 0000008e: JUMPDEST 0000008f: CALLVALUE 00000090: DUP1 00000091: ISZERO 00000092: PUSH2 0x009a 00000095: JUMPI 00000096: PUSH1 0x00 00000098: DUP1 00000099: REVERT 0000009a: JUMPDEST 0000009b: POP 0000009c: PUSH2 0x0087 0000009f: PUSH2 0x0140 000000a2: JUMP 000000a3: JUMPDEST 000000a4: CALLVALUE 000000a5: DUP1 000000a6: ISZERO 000000a7: PUSH2 0x00af 000000aa: JUMPI 000000ab: PUSH1 0x00 000000ad: DUP1 000000ae: REVERT 000000af: JUMPDEST 000000b0: POP 000000b1: PUSH2 0x00d7 000000b4: PUSH32 0x0000000000000000000000002b343e042afc3c758d738b314fc5f4274d694983 000000d5: DUP2 000000d6: JUMP 000000d7: JUMPDEST 000000d8: PUSH1 0x40 000000da: MLOAD 000000db: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000000f0: SWAP1 000000f1: SWAP2 000000f2: AND 000000f3: DUP2 000000f4: MSTORE 000000f5: PUSH1 0x20 000000f7: ADD 000000f8: PUSH1 0x40 000000fa: MLOAD 000000fb: DUP1 000000fc: SWAP2 000000fd: SUB 000000fe: SWAP1 000000ff: RETURN 00000100: JUMPDEST 00000101: CALLVALUE 00000102: DUP1 00000103: ISZERO 00000104: PUSH2 0x010c 00000107: JUMPI 00000108: PUSH1 0x00 0000010a: DUP1 0000010b: REVERT 0000010c: JUMPDEST 0000010d: POP 0000010e: PUSH2 0x0087 00000111: PUSH2 0x011b 00000114: CALLDATASIZE 00000115: PUSH1 0x04 00000117: PUSH2 0x092f 0000011a: JUMP 0000011b: JUMPDEST 0000011c: PUSH2 0x02d2 0000011f: JUMP 00000120: JUMPDEST 00000121: CALLVALUE 00000122: DUP1 00000123: ISZERO 00000124: PUSH2 0x012c 00000127: JUMPI 00000128: PUSH1 0x00 0000012a: DUP1 0000012b: REVERT 0000012c: JUMPDEST 0000012d: POP 0000012e: PUSH2 0x0087 00000131: PUSH2 0x013b 00000134: CALLDATASIZE 00000135: PUSH1 0x04 00000137: PUSH2 0x09b2 0000013a: JUMP 0000013b: JUMPDEST 0000013c: PUSH2 0x046f 0000013f: JUMP 00000140: JUMPDEST 00000141: CALLER 00000142: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000157: PUSH32 0x0000000000000000000000002b343e042afc3c758d738b314fc5f4274d694983 00000178: AND 00000179: EQ 0000017a: PUSH2 0x01e4 0000017d: JUMPI 0000017e: PUSH1 0x40 00000180: MLOAD 00000181: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000001a2: DUP2 000001a3: MSTORE 000001a4: PUSH1 0x20 000001a6: PUSH1 0x04 000001a8: DUP3 000001a9: ADD 000001aa: MSTORE 000001ab: PUSH1 0x0c 000001ad: PUSH1 0x24 000001af: DUP3 000001b0: ADD 000001b1: MSTORE 000001b2: PUSH32 0x756e617574686f72697a65640000000000000000000000000000000000000000 000001d3: PUSH1 0x44 000001d5: DUP3 000001d6: ADD 000001d7: MSTORE 000001d8: PUSH1 0x64 000001da: ADD 000001db: JUMPDEST 000001dc: PUSH1 0x40 000001de: MLOAD 000001df: DUP1 000001e0: SWAP2 000001e1: SUB 000001e2: SWAP1 000001e3: REVERT 000001e4: JUMPDEST 000001e5: PUSH1 0x40 000001e7: MLOAD 000001e8: SELFBALANCE 000001e9: SWAP1 000001ea: PUSH1 0x00 000001ec: SWAP1 000001ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000202: PUSH32 0x0000000000000000000000002b343e042afc3c758d738b314fc5f4274d694983 00000223: AND 00000224: SWAP1 00000225: DUP4 00000226: SWAP1 00000227: DUP4 00000228: DUP2 00000229: DUP2 0000022a: DUP2 0000022b: DUP6 0000022c: DUP8 0000022d: GAS 0000022e: CALL 0000022f: SWAP3 00000230: POP 00000231: POP 00000232: POP 00000233: RETURNDATASIZE 00000234: DUP1 00000235: PUSH1 0x00 00000237: DUP2 00000238: EQ 00000239: PUSH2 0x025e 0000023c: JUMPI 0000023d: PUSH1 0x40 0000023f: MLOAD 00000240: SWAP2 00000241: POP 00000242: PUSH1 0x1f 00000244: NOT 00000245: PUSH1 0x3f 00000247: RETURNDATASIZE 00000248: ADD 00000249: AND 0000024a: DUP3 0000024b: ADD 0000024c: PUSH1 0x40 0000024e: MSTORE 0000024f: RETURNDATASIZE 00000250: DUP3 00000251: MSTORE 00000252: RETURNDATASIZE 00000253: PUSH1 0x00 00000255: PUSH1 0x20 00000257: DUP5 00000258: ADD 00000259: RETURNDATACOPY 0000025a: PUSH2 0x0263 0000025d: JUMP 0000025e: JUMPDEST 0000025f: PUSH1 0x60 00000261: SWAP2 00000262: POP 00000263: JUMPDEST 00000264: POP 00000265: POP 00000266: SWAP1 00000267: POP 00000268: DUP1 00000269: PUSH2 0x02ce 0000026c: JUMPI 0000026d: PUSH1 0x40 0000026f: MLOAD 00000270: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000291: DUP2 00000292: MSTORE 00000293: PUSH1 0x20 00000295: PUSH1 0x04 00000297: DUP3 00000298: ADD 00000299: MSTORE 0000029a: PUSH1 0x15 0000029c: PUSH1 0x24 0000029e: DUP3 0000029f: ADD 000002a0: MSTORE 000002a1: PUSH32 0x6661696c656420746f2073776565702065746865720000000000000000000000 000002c2: PUSH1 0x44 000002c4: DUP3 000002c5: ADD 000002c6: MSTORE 000002c7: PUSH1 0x64 000002c9: ADD 000002ca: PUSH2 0x01db 000002cd: JUMP 000002ce: JUMPDEST 000002cf: POP 000002d0: POP 000002d1: JUMP 000002d2: JUMPDEST 000002d3: CALLER 000002d4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002e9: PUSH32 0x0000000000000000000000002b343e042afc3c758d738b314fc5f4274d694983 0000030a: AND 0000030b: EQ 0000030c: PUSH2 0x0371 0000030f: JUMPI 00000310: PUSH1 0x40 00000312: MLOAD 00000313: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000334: DUP2 00000335: MSTORE 00000336: PUSH1 0x20 00000338: PUSH1 0x04 0000033a: DUP3 0000033b: ADD 0000033c: MSTORE 0000033d: PUSH1 0x0c 0000033f: PUSH1 0x24 00000341: DUP3 00000342: ADD 00000343: MSTORE 00000344: PUSH32 0x756e617574686f72697a65640000000000000000000000000000000000000000 00000365: PUSH1 0x44 00000367: DUP3 00000368: ADD 00000369: MSTORE 0000036a: PUSH1 0x64 0000036c: ADD 0000036d: PUSH2 0x01db 00000370: JUMP 00000371: JUMPDEST 00000372: PUSH1 0x00 00000374: DUP1 00000375: DUP5 00000376: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000038b: AND 0000038c: DUP5 0000038d: DUP5 0000038e: PUSH1 0x40 00000390: MLOAD 00000391: PUSH2 0x039b 00000394: SWAP3 00000395: SWAP2 00000396: SWAP1 00000397: PUSH2 0x09cd 0000039a: JUMP 0000039b: JUMPDEST 0000039c: PUSH1 0x00 0000039e: PUSH1 0x40 000003a0: MLOAD 000003a1: DUP1 000003a2: DUP4 000003a3: SUB 000003a4: DUP2 000003a5: PUSH1 0x00 000003a7: DUP7 000003a8: GAS 000003a9: CALL 000003aa: SWAP2 000003ab: POP 000003ac: POP 000003ad: RETURNDATASIZE 000003ae: DUP1 000003af: PUSH1 0x00 000003b1: DUP2 000003b2: EQ 000003b3: PUSH2 0x03d8 000003b6: JUMPI 000003b7: PUSH1 0x40 000003b9: MLOAD 000003ba: SWAP2 000003bb: POP 000003bc: PUSH1 0x1f 000003be: NOT 000003bf: PUSH1 0x3f 000003c1: RETURNDATASIZE 000003c2: ADD 000003c3: AND 000003c4: DUP3 000003c5: ADD 000003c6: PUSH1 0x40 000003c8: MSTORE 000003c9: RETURNDATASIZE 000003ca: DUP3 000003cb: MSTORE 000003cc: RETURNDATASIZE 000003cd: PUSH1 0x00 000003cf: PUSH1 0x20 000003d1: DUP5 000003d2: ADD 000003d3: RETURNDATACOPY 000003d4: PUSH2 0x03dd 000003d7: JUMP 000003d8: JUMPDEST 000003d9: PUSH1 0x60 000003db: SWAP2 000003dc: POP 000003dd: JUMPDEST 000003de: POP 000003df: SWAP2 000003e0: POP 000003e1: SWAP2 000003e2: POP 000003e3: DUP2 000003e4: ISZERO 000003e5: PUSH2 0x042a 000003e8: JUMPI 000003e9: PUSH32 0x18e614c03fae7d4f0ad0790905bc76b8690e946c477b2b8970403bcad27a9b96 0000040a: DUP6 0000040b: DUP6 0000040c: DUP6 0000040d: DUP5 0000040e: PUSH1 0x40 00000410: MLOAD 00000411: PUSH2 0x041d 00000414: SWAP5 00000415: SWAP4 00000416: SWAP3 00000417: SWAP2 00000418: SWAP1 00000419: PUSH2 0x0a57 0000041c: JUMP 0000041d: JUMPDEST 0000041e: PUSH1 0x40 00000420: MLOAD 00000421: DUP1 00000422: SWAP2 00000423: SUB 00000424: SWAP1 00000425: LOG1 00000426: PUSH2 0x0468 00000429: JUMP 0000042a: JUMPDEST 0000042b: PUSH32 0xaba0bbd4bfc61304155c867f51e2bc1c6f844c4d852c9bdb15c2cd9c3c8e6274 0000044c: DUP6 0000044d: DUP6 0000044e: DUP6 0000044f: DUP5 00000450: PUSH1 0x40 00000452: MLOAD 00000453: PUSH2 0x045f 00000456: SWAP5 00000457: SWAP4 00000458: SWAP3 00000459: SWAP2 0000045a: SWAP1 0000045b: PUSH2 0x0a57 0000045e: JUMP 0000045f: JUMPDEST 00000460: PUSH1 0x40 00000462: MLOAD 00000463: DUP1 00000464: SWAP2 00000465: SUB 00000466: SWAP1 00000467: LOG1 00000468: JUMPDEST 00000469: POP 0000046a: POP 0000046b: POP 0000046c: POP 0000046d: POP 0000046e: JUMP 0000046f: JUMPDEST 00000470: CALLER 00000471: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000486: PUSH32 0x0000000000000000000000002b343e042afc3c758d738b314fc5f4274d694983 000004a7: AND 000004a8: EQ 000004a9: PUSH2 0x050e 000004ac: JUMPI 000004ad: PUSH1 0x40 000004af: MLOAD 000004b0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000004d1: DUP2 000004d2: MSTORE 000004d3: PUSH1 0x20 000004d5: PUSH1 0x04 000004d7: DUP3 000004d8: ADD 000004d9: MSTORE 000004da: PUSH1 0x0c 000004dc: PUSH1 0x24 000004de: DUP3 000004df: ADD 000004e0: MSTORE 000004e1: PUSH32 0x756e617574686f72697a65640000000000000000000000000000000000000000 00000502: PUSH1 0x44 00000504: DUP3 00000505: ADD 00000506: MSTORE 00000507: PUSH1 0x64 00000509: ADD 0000050a: PUSH2 0x01db 0000050d: JUMP 0000050e: JUMPDEST 0000050f: PUSH1 0x40 00000511: MLOAD 00000512: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 00000533: DUP2 00000534: MSTORE 00000535: ADDRESS 00000536: PUSH1 0x04 00000538: DUP3 00000539: ADD 0000053a: MSTORE 0000053b: DUP2 0000053c: SWAP1 0000053d: PUSH1 0x00 0000053f: SWAP1 00000540: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000555: DUP4 00000556: AND 00000557: SWAP1 00000558: PUSH4 0x70a08231 0000055d: SWAP1 0000055e: PUSH1 0x24 00000560: ADD 00000561: PUSH1 0x20 00000563: PUSH1 0x40 00000565: MLOAD 00000566: DUP1 00000567: DUP4 00000568: SUB 00000569: DUP2 0000056a: DUP7 0000056b: GAS 0000056c: STATICCALL 0000056d: ISZERO 0000056e: DUP1 0000056f: ISZERO 00000570: PUSH2 0x057d 00000573: JUMPI 00000574: RETURNDATASIZE 00000575: PUSH1 0x00 00000577: DUP1 00000578: RETURNDATACOPY 00000579: RETURNDATASIZE 0000057a: PUSH1 0x00 0000057c: REVERT 0000057d: JUMPDEST 0000057e: POP 0000057f: POP 00000580: POP 00000581: POP 00000582: PUSH1 0x40 00000584: MLOAD 00000585: RETURNDATASIZE 00000586: PUSH1 0x1f 00000588: NOT 00000589: PUSH1 0x1f 0000058b: DUP3 0000058c: ADD 0000058d: AND 0000058e: DUP3 0000058f: ADD 00000590: DUP1 00000591: PUSH1 0x40 00000593: MSTORE 00000594: POP 00000595: DUP2 00000596: ADD 00000597: SWAP1 00000598: PUSH2 0x05a1 0000059b: SWAP2 0000059c: SWAP1 0000059d: PUSH2 0x0ada 000005a0: JUMP 000005a1: JUMPDEST 000005a2: PUSH1 0x40 000005a4: DUP1 000005a5: MLOAD 000005a6: PUSH32 0x0000000000000000000000002b343e042afc3c758d738b314fc5f4274d694983 000005c7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005dc: AND 000005dd: PUSH1 0x24 000005df: DUP3 000005e0: ADD 000005e1: MSTORE 000005e2: PUSH1 0x44 000005e4: DUP1 000005e5: DUP3 000005e6: ADD 000005e7: DUP5 000005e8: SWAP1 000005e9: MSTORE 000005ea: DUP3 000005eb: MLOAD 000005ec: DUP1 000005ed: DUP4 000005ee: SUB 000005ef: SWAP1 000005f0: SWAP2 000005f1: ADD 000005f2: DUP2 000005f3: MSTORE 000005f4: PUSH1 0x64 000005f6: SWAP1 000005f7: SWAP2 000005f8: ADD 000005f9: SWAP1 000005fa: SWAP2 000005fb: MSTORE 000005fc: PUSH1 0x20 000005fe: DUP2 000005ff: ADD 00000600: DUP1 00000601: MLOAD 00000602: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000061f: AND 00000620: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 00000641: OR 00000642: SWAP1 00000643: MSTORE 00000644: SWAP1 00000645: SWAP2 00000646: POP 00000647: PUSH2 0x0651 0000064a: SWAP1 0000064b: DUP5 0000064c: SWAP1 0000064d: PUSH2 0x0770 00000650: JUMP 00000651: JUMPDEST 00000652: PUSH1 0x40 00000654: DUP1 00000655: MLOAD 00000656: PUSH32 0x0000000000000000000000002b343e042afc3c758d738b314fc5f4274d694983 00000677: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000068c: SWAP1 0000068d: DUP2 0000068e: AND 0000068f: PUSH1 0x24 00000691: DUP4 00000692: ADD 00000693: MSTORE 00000694: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000006b5: PUSH1 0x44 000006b7: DUP1 000006b8: DUP5 000006b9: ADD 000006ba: SWAP2 000006bb: SWAP1 000006bc: SWAP2 000006bd: MSTORE 000006be: DUP4 000006bf: MLOAD 000006c0: DUP1 000006c1: DUP5 000006c2: SUB 000006c3: SWAP1 000006c4: SWAP2 000006c5: ADD 000006c6: DUP2 000006c7: MSTORE 000006c8: PUSH1 0x64 000006ca: SWAP1 000006cb: SWAP3 000006cc: ADD 000006cd: DUP4 000006ce: MSTORE 000006cf: PUSH1 0x20 000006d1: DUP3 000006d2: ADD 000006d3: DUP1 000006d4: MLOAD 000006d5: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000006f2: AND 000006f3: PUSH32 0x095ea7b300000000000000000000000000000000000000000000000000000000 00000714: OR 00000715: SWAP1 00000716: MSTORE 00000717: SWAP2 00000718: MLOAD 00000719: SWAP2 0000071a: DUP6 0000071b: AND 0000071c: SWAP2 0000071d: PUSH2 0x0726 00000720: SWAP2 00000721: SWAP1 00000722: PUSH2 0x0af3 00000725: JUMP 00000726: JUMPDEST 00000727: PUSH1 0x00 00000729: PUSH1 0x40 0000072b: MLOAD 0000072c: DUP1 0000072d: DUP4 0000072e: SUB 0000072f: DUP2 00000730: PUSH1 0x00 00000732: DUP7 00000733: GAS 00000734: CALL 00000735: SWAP2 00000736: POP 00000737: POP 00000738: RETURNDATASIZE 00000739: DUP1 0000073a: PUSH1 0x00 0000073c: DUP2 0000073d: EQ 0000073e: PUSH2 0x0763 00000741: JUMPI 00000742: PUSH1 0x40 00000744: MLOAD 00000745: SWAP2 00000746: POP 00000747: PUSH1 0x1f 00000749: NOT 0000074a: PUSH1 0x3f 0000074c: RETURNDATASIZE 0000074d: ADD 0000074e: AND 0000074f: DUP3 00000750: ADD 00000751: PUSH1 0x40 00000753: MSTORE 00000754: RETURNDATASIZE 00000755: DUP3 00000756: MSTORE 00000757: RETURNDATASIZE 00000758: PUSH1 0x00 0000075a: PUSH1 0x20 0000075c: DUP5 0000075d: ADD 0000075e: RETURNDATACOPY 0000075f: PUSH2 0x0768 00000762: JUMP 00000763: JUMPDEST 00000764: PUSH1 0x60 00000766: SWAP2 00000767: POP 00000768: JUMPDEST 00000769: POP 0000076a: POP 0000076b: POP 0000076c: POP 0000076d: POP 0000076e: POP 0000076f: JUMP 00000770: JUMPDEST 00000771: PUSH1 0x00 00000773: PUSH2 0x07b2 00000776: DUP4 00000777: DUP4 00000778: PUSH1 0x40 0000077a: MLOAD 0000077b: DUP1 0000077c: PUSH1 0x40 0000077e: ADD 0000077f: PUSH1 0x40 00000781: MSTORE 00000782: DUP1 00000783: PUSH1 0x0c 00000785: DUP2 00000786: MSTORE 00000787: PUSH1 0x20 00000789: ADD 0000078a: PUSH32 0x45524332303a7265766572740000000000000000000000000000000000000000 000007ab: DUP2 000007ac: MSTORE 000007ad: POP 000007ae: PUSH2 0x083b 000007b1: JUMP 000007b2: JUMPDEST 000007b3: DUP1 000007b4: MLOAD 000007b5: SWAP1 000007b6: SWAP2 000007b7: POP 000007b8: ISZERO 000007b9: PUSH2 0x0836 000007bc: JUMPI 000007bd: DUP1 000007be: DUP1 000007bf: PUSH1 0x20 000007c1: ADD 000007c2: SWAP1 000007c3: MLOAD 000007c4: DUP2 000007c5: ADD 000007c6: SWAP1 000007c7: PUSH2 0x07d0 000007ca: SWAP2 000007cb: SWAP1 000007cc: PUSH2 0x0b0f 000007cf: JUMP 000007d0: JUMPDEST 000007d1: PUSH2 0x0836 000007d4: JUMPI 000007d5: PUSH1 0x40 000007d7: MLOAD 000007d8: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000007f9: DUP2 000007fa: MSTORE 000007fb: PUSH1 0x20 000007fd: PUSH1 0x04 000007ff: DUP3 00000800: ADD 00000801: MSTORE 00000802: PUSH1 0x0b 00000804: PUSH1 0x24 00000806: DUP3 00000807: ADD 00000808: MSTORE 00000809: PUSH32 0x45524332303a66616c7365000000000000000000000000000000000000000000 0000082a: PUSH1 0x44 0000082c: DUP3 0000082d: ADD 0000082e: MSTORE 0000082f: PUSH1 0x64 00000831: ADD 00000832: PUSH2 0x01db 00000835: JUMP 00000836: JUMPDEST 00000837: POP 00000838: POP 00000839: POP 0000083a: JUMP 0000083b: JUMPDEST 0000083c: PUSH1 0x60 0000083e: PUSH1 0x00 00000840: DUP1 00000841: DUP6 00000842: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000857: AND 00000858: DUP6 00000859: PUSH1 0x40 0000085b: MLOAD 0000085c: PUSH2 0x0865 0000085f: SWAP2 00000860: SWAP1 00000861: PUSH2 0x0af3 00000864: JUMP 00000865: JUMPDEST 00000866: PUSH1 0x00 00000868: PUSH1 0x40 0000086a: MLOAD 0000086b: DUP1 0000086c: DUP4 0000086d: SUB 0000086e: DUP2 0000086f: PUSH1 0x00 00000871: DUP7 00000872: GAS 00000873: CALL 00000874: SWAP2 00000875: POP 00000876: POP 00000877: RETURNDATASIZE 00000878: DUP1 00000879: PUSH1 0x00 0000087b: DUP2 0000087c: EQ 0000087d: PUSH2 0x08a2 00000880: JUMPI 00000881: PUSH1 0x40 00000883: MLOAD 00000884: SWAP2 00000885: POP 00000886: PUSH1 0x1f 00000888: NOT 00000889: PUSH1 0x3f 0000088b: RETURNDATASIZE 0000088c: ADD 0000088d: AND 0000088e: DUP3 0000088f: ADD 00000890: PUSH1 0x40 00000892: MSTORE 00000893: RETURNDATASIZE 00000894: DUP3 00000895: MSTORE 00000896: RETURNDATASIZE 00000897: PUSH1 0x00 00000899: PUSH1 0x20 0000089b: DUP5 0000089c: ADD 0000089d: RETURNDATACOPY 0000089e: PUSH2 0x08a7 000008a1: JUMP 000008a2: JUMPDEST 000008a3: PUSH1 0x60 000008a5: SWAP2 000008a6: POP 000008a7: JUMPDEST 000008a8: POP 000008a9: SWAP2 000008aa: POP 000008ab: SWAP2 000008ac: POP 000008ad: DUP2 000008ae: ISZERO 000008af: PUSH2 0x08bb 000008b2: JUMPI 000008b3: SWAP2 000008b4: POP 000008b5: PUSH2 0x08ff 000008b8: SWAP1 000008b9: POP 000008ba: JUMP 000008bb: JUMPDEST 000008bc: DUP1 000008bd: MLOAD 000008be: ISZERO 000008bf: PUSH2 0x08cb 000008c2: JUMPI 000008c3: DUP1 000008c4: MLOAD 000008c5: DUP1 000008c6: DUP3 000008c7: PUSH1 0x20 000008c9: ADD 000008ca: REVERT 000008cb: JUMPDEST 000008cc: DUP4 000008cd: PUSH1 0x40 000008cf: MLOAD 000008d0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000008f1: DUP2 000008f2: MSTORE 000008f3: PUSH1 0x04 000008f5: ADD 000008f6: PUSH2 0x01db 000008f9: SWAP2 000008fa: SWAP1 000008fb: PUSH2 0x0b31 000008fe: JUMP 000008ff: JUMPDEST 00000900: SWAP4 00000901: SWAP3 00000902: POP 00000903: POP 00000904: POP 00000905: JUMP 00000906: JUMPDEST 00000907: DUP1 00000908: CALLDATALOAD 00000909: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000091e: DUP2 0000091f: AND 00000920: DUP2 00000921: EQ 00000922: PUSH2 0x092a 00000925: JUMPI 00000926: PUSH1 0x00 00000928: DUP1 00000929: REVERT 0000092a: JUMPDEST 0000092b: SWAP2 0000092c: SWAP1 0000092d: POP 0000092e: JUMP 0000092f: JUMPDEST 00000930: PUSH1 0x00 00000932: DUP1 00000933: PUSH1 0x00 00000935: PUSH1 0x40 00000937: DUP5 00000938: DUP7 00000939: SUB 0000093a: SLT 0000093b: ISZERO 0000093c: PUSH2 0x0944 0000093f: JUMPI 00000940: PUSH1 0x00 00000942: DUP1 00000943: REVERT 00000944: JUMPDEST 00000945: PUSH2 0x094d 00000948: DUP5 00000949: PUSH2 0x0906 0000094c: JUMP 0000094d: JUMPDEST 0000094e: SWAP3 0000094f: POP 00000950: PUSH1 0x20 00000952: DUP5 00000953: ADD 00000954: CALLDATALOAD 00000955: PUSH8 0xffffffffffffffff 0000095e: DUP1 0000095f: DUP3 00000960: GT 00000961: ISZERO 00000962: PUSH2 0x096a 00000965: JUMPI 00000966: PUSH1 0x00 00000968: DUP1 00000969: REVERT 0000096a: JUMPDEST 0000096b: DUP2 0000096c: DUP7 0000096d: ADD 0000096e: SWAP2 0000096f: POP 00000970: DUP7 00000971: PUSH1 0x1f 00000973: DUP4 00000974: ADD 00000975: SLT 00000976: PUSH2 0x097e 00000979: JUMPI 0000097a: PUSH1 0x00 0000097c: DUP1 0000097d: REVERT 0000097e: JUMPDEST 0000097f: DUP2 00000980: CALLDATALOAD 00000981: DUP2 00000982: DUP2 00000983: GT 00000984: ISZERO 00000985: PUSH2 0x098d 00000988: JUMPI 00000989: PUSH1 0x00 0000098b: DUP1 0000098c: REVERT 0000098d: JUMPDEST 0000098e: DUP8 0000098f: PUSH1 0x20 00000991: DUP3 00000992: DUP6 00000993: ADD 00000994: ADD 00000995: GT 00000996: ISZERO 00000997: PUSH2 0x099f 0000099a: JUMPI 0000099b: PUSH1 0x00 0000099d: DUP1 0000099e: REVERT 0000099f: JUMPDEST 000009a0: PUSH1 0x20 000009a2: DUP4 000009a3: ADD 000009a4: SWAP5 000009a5: POP 000009a6: DUP1 000009a7: SWAP4 000009a8: POP 000009a9: POP 000009aa: POP 000009ab: POP 000009ac: SWAP3 000009ad: POP 000009ae: SWAP3 000009af: POP 000009b0: SWAP3 000009b1: JUMP 000009b2: JUMPDEST 000009b3: PUSH1 0x00 000009b5: PUSH1 0x20 000009b7: DUP3 000009b8: DUP5 000009b9: SUB 000009ba: SLT 000009bb: ISZERO 000009bc: PUSH2 0x09c4 000009bf: JUMPI 000009c0: PUSH1 0x00 000009c2: DUP1 000009c3: REVERT 000009c4: JUMPDEST 000009c5: PUSH2 0x08ff 000009c8: DUP3 000009c9: PUSH2 0x0906 000009cc: JUMP 000009cd: JUMPDEST 000009ce: DUP2 000009cf: DUP4 000009d0: DUP3 000009d1: CALLDATACOPY 000009d2: PUSH1 0x00 000009d4: SWAP2 000009d5: ADD 000009d6: SWAP1 000009d7: DUP2 000009d8: MSTORE 000009d9: SWAP2 000009da: SWAP1 000009db: POP 000009dc: JUMP 000009dd: JUMPDEST 000009de: PUSH1 0x00 000009e0: JUMPDEST 000009e1: DUP4 000009e2: DUP2 000009e3: LT 000009e4: ISZERO 000009e5: PUSH2 0x09f8 000009e8: JUMPI 000009e9: DUP2 000009ea: DUP2 000009eb: ADD 000009ec: MLOAD 000009ed: DUP4 000009ee: DUP3 000009ef: ADD 000009f0: MSTORE 000009f1: PUSH1 0x20 000009f3: ADD 000009f4: PUSH2 0x09e0 000009f7: JUMP 000009f8: JUMPDEST 000009f9: DUP4 000009fa: DUP2 000009fb: GT 000009fc: ISZERO 000009fd: PUSH2 0x0a07 00000a00: JUMPI 00000a01: PUSH1 0x00 00000a03: DUP5 00000a04: DUP5 00000a05: ADD 00000a06: MSTORE 00000a07: JUMPDEST 00000a08: POP 00000a09: POP 00000a0a: POP 00000a0b: POP 00000a0c: JUMP 00000a0d: JUMPDEST 00000a0e: PUSH1 0x00 00000a10: DUP2 00000a11: MLOAD 00000a12: DUP1 00000a13: DUP5 00000a14: MSTORE 00000a15: PUSH2 0x0a25 00000a18: DUP2 00000a19: PUSH1 0x20 00000a1b: DUP7 00000a1c: ADD 00000a1d: PUSH1 0x20 00000a1f: DUP7 00000a20: ADD 00000a21: PUSH2 0x09dd 00000a24: JUMP 00000a25: JUMPDEST 00000a26: PUSH1 0x1f 00000a28: ADD 00000a29: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00000a4a: AND 00000a4b: SWAP3 00000a4c: SWAP1 00000a4d: SWAP3 00000a4e: ADD 00000a4f: PUSH1 0x20 00000a51: ADD 00000a52: SWAP3 00000a53: SWAP2 00000a54: POP 00000a55: POP 00000a56: JUMP 00000a57: JUMPDEST 00000a58: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a6d: DUP6 00000a6e: AND 00000a6f: DUP2 00000a70: MSTORE 00000a71: PUSH1 0x60 00000a73: PUSH1 0x20 00000a75: DUP3 00000a76: ADD 00000a77: MSTORE 00000a78: DUP3 00000a79: PUSH1 0x60 00000a7b: DUP3 00000a7c: ADD 00000a7d: MSTORE 00000a7e: DUP3 00000a7f: DUP5 00000a80: PUSH1 0x80 00000a82: DUP4 00000a83: ADD 00000a84: CALLDATACOPY 00000a85: PUSH1 0x00 00000a87: PUSH1 0x80 00000a89: DUP5 00000a8a: DUP4 00000a8b: ADD 00000a8c: ADD 00000a8d: MSTORE 00000a8e: PUSH1 0x00 00000a90: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00000ab1: PUSH1 0x1f 00000ab3: DUP6 00000ab4: ADD 00000ab5: AND 00000ab6: DUP3 00000ab7: ADD 00000ab8: PUSH1 0x80 00000aba: DUP4 00000abb: DUP3 00000abc: SUB 00000abd: ADD 00000abe: PUSH1 0x40 00000ac0: DUP5 00000ac1: ADD 00000ac2: MSTORE 00000ac3: PUSH2 0x0acf 00000ac6: PUSH1 0x80 00000ac8: DUP3 00000ac9: ADD 00000aca: DUP6 00000acb: PUSH2 0x0a0d 00000ace: JUMP 00000acf: JUMPDEST 00000ad0: SWAP8 00000ad1: SWAP7 00000ad2: POP 00000ad3: POP 00000ad4: POP 00000ad5: POP 00000ad6: POP 00000ad7: POP 00000ad8: POP 00000ad9: JUMP 00000ada: JUMPDEST 00000adb: PUSH1 0x00 00000add: PUSH1 0x20 00000adf: DUP3 00000ae0: DUP5 00000ae1: SUB 00000ae2: SLT 00000ae3: ISZERO 00000ae4: PUSH2 0x0aec 00000ae7: JUMPI 00000ae8: PUSH1 0x00 00000aea: DUP1 00000aeb: REVERT 00000aec: JUMPDEST 00000aed: POP 00000aee: MLOAD 00000aef: SWAP2 00000af0: SWAP1 00000af1: POP 00000af2: JUMP 00000af3: JUMPDEST 00000af4: PUSH1 0x00 00000af6: DUP3 00000af7: MLOAD 00000af8: PUSH2 0x0b05 00000afb: DUP2 00000afc: DUP5 00000afd: PUSH1 0x20 00000aff: DUP8 00000b00: ADD 00000b01: PUSH2 0x09dd 00000b04: JUMP 00000b05: JUMPDEST 00000b06: SWAP2 00000b07: SWAP1 00000b08: SWAP2 00000b09: ADD 00000b0a: SWAP3 00000b0b: SWAP2 00000b0c: POP 00000b0d: POP 00000b0e: JUMP 00000b0f: JUMPDEST 00000b10: PUSH1 0x00 00000b12: PUSH1 0x20 00000b14: DUP3 00000b15: DUP5 00000b16: SUB 00000b17: SLT 00000b18: ISZERO 00000b19: PUSH2 0x0b21 00000b1c: JUMPI 00000b1d: PUSH1 0x00 00000b1f: DUP1 00000b20: REVERT 00000b21: JUMPDEST 00000b22: DUP2 00000b23: MLOAD 00000b24: DUP1 00000b25: ISZERO 00000b26: ISZERO 00000b27: DUP2 00000b28: EQ 00000b29: PUSH2 0x08ff 00000b2c: JUMPI 00000b2d: PUSH1 0x00 00000b2f: DUP1 00000b30: REVERT 00000b31: JUMPDEST 00000b32: PUSH1 0x20 00000b34: DUP2 00000b35: MSTORE 00000b36: PUSH1 0x00 00000b38: PUSH2 0x08ff 00000b3b: PUSH1 0x20 00000b3d: DUP4 00000b3e: ADD 00000b3f: DUP5 00000b40: PUSH2 0x0a0d 00000b43: JUMP 00000b44: INVALID 00000b45: LOG2 00000b46: PUSH5 0x6970667358 00000b4c: UNKNOWN(0x22) 00000b4d: SLT 00000b4e: KECCAK256 00000b4f: BALANCE 00000b50: SGT 00000b51: MOD 00000b52: DUP1 00000b53: PUSH20 0x09c680ca22af13021e958a8626751d8dce160be1 00000b68: DUP1 00000b69: SWAP12 00000b6a: PC 00000b6b: UNKNOWN(0xC7) 00000b6c: UNKNOWN(0x23) 00000b6d: UNKNOWN(0x2A) 00000b6e: UNKNOWN(0xB1) 00000b6f: PUSH5 0x736f6c6343 00000b75: STOP 00000b76: ADDMOD 00000b77: UNKNOWN(0x0F) 00000b78: STOP 00000b79: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x4878b189f2caf3185bf04252de09584403c16c28664742d436b112b519b9a713
call_targets:
0x7c725b2fe1088a9c12bb7b156445132d39eb96a0
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x4878b189f2caf3185bf04252de09584403c16c28664742d436b112b519b9a713",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x7c725b2fe1088a9c12bb7b156445132d39eb96a0"
],
"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": "0x90ec71bd",
"selector": "0x90ec71bd",
"calldata_variants": [
"0x90ec71bd",
"0x90ec71bd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9189a59e",
"selector": "0x9189a59e",
"calldata_variants": [
"0x9189a59e",
"0x9189a59e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdfd1fb7a",
"selector": "0xdfd1fb7a",
"calldata_variants": [
"0xdfd1fb7a",
"0xdfd1fb7a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe00af4a7",
"selector": "0xe00af4a7",
"calldata_variants": [
"0xe00af4a7",
"0xe00af4a70000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 558,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 937,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1844,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 4,
"guards_detected": [
{
"pc": 321,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 723,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1136,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 4
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x4878b189f2caf3185bf04252de09584403c16c28664742d436b112b519b9a713
call_targets:
0x7c725b2fe1088a9c12bb7b156445132d39eb96a0
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x4878b189f2caf3185bf04252de09584403c16c28664742d436b112b519b9a713",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x7c725b2fe1088a9c12bb7b156445132d39eb96a0"
],
"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": "0x90ec71bd",
"selector": "0x90ec71bd",
"calldata_variants": [
"0x90ec71bd",
"0x90ec71bd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9189a59e",
"selector": "0x9189a59e",
"calldata_variants": [
"0x9189a59e",
"0x9189a59e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdfd1fb7a",
"selector": "0xdfd1fb7a",
"calldata_variants": [
"0xdfd1fb7a",
"0xdfd1fb7a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe00af4a7",
"selector": "0xe00af4a7",
"calldata_variants": [
"0xe00af4a7",
"0xe00af4a70000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 558,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 937,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1844,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 4,
"guards_detected": [
{
"pc": 321,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 723,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1136,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|