b8e65255-792d-49ec-8397-23cbf11b718e
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 |
|---|---|---|---|---|
| 31475 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 77476 | artifact.fetch | complete | 1 / 3 | 2 weeks ago |
| 77477 | tool.cast_disasm | complete | 1 / 3 | 2 weeks ago |
| 77478 | analysis.bundle | complete | 1 / 3 | 2 weeks ago |
| 77479 | capability.graph | complete | 1 / 3 | 2 weeks ago |
| 77480 | detector.run | complete | 1 / 3 | 2 weeks ago |
| 77481 | validation.fork | complete | 1 / 3 | 2 weeks ago |
No slither job recorded yet.
[codex:812874] OpenAI Codex v0.77.0 (research preview)
[codex:812874] --------
[codex:812874] workdir: /tmp/codex-multi-5e_tue2m
[codex:812874] model: gpt-5.2-codex
[codex:812874] provider: openai
[codex:812874] approval: never
[codex:812874] sandbox: read-only
[codex:812874] reasoning effort: xhigh
[codex:812874] reasoning summaries: auto
[codex:812874] session id: 019b860a-51b1-77c1-98b1-d226b208418a
[codex:812874] --------
[codex:812874] user
[codex:812874] 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:812874]
[codex:812874] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:812874]
[codex:812874] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:812874] - Gas inefficiency, code quality, or best practices
[codex:812874] - Theoretical vulnerabilities without a clear extraction path
[codex:812874] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:812874] - Issues requiring social engineering or off-chain coordination
[codex:812874]
[codex:812874] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:812874] - CALL/DELEGATECALL with controllable destination or calldata
[codex:812874] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:812874] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:812874] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:812874] - External calls before state updates (reentrancy)
[codex:812874] - SELFDESTRUCT with controllable beneficiary
[codex:812874] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:812874]
[codex:812874] For each finding, you MUST explain:
[codex:812874] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:812874] 2. The concrete sequence of transactions to extract value
[codex:812874] 3. Why you believe this is exploitable (not just suspicious)
[codex:812874]
[codex:812874] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:812874] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:812874]
[codex:812874] Output MUST be valid JSON matching the provided schema.
[codex:812874] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:812874] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:812874] mcp startup: no servers
[codex:812874]
[codex:812874] thinking
[codex:812874] **Opening file for review**
[codex:812874] exec
[codex:812874] /bin/bash -lc ls in /tmp/codex-multi-5e_tue2m succeeded in 6ms:
[codex:812874] BYTECODE_BUNDLE.txt
[codex:812874] codex-output-schema.json
[codex:812874] exec
[codex:812874] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-5e_tue2m succeeded in 7ms:
[codex:812874] Runtime bytecode bundle for best-effort auditing.
[codex:812874] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:812874]
[codex:812874] FILE: runtime_bytecode.hex
[codex:812874] 0x6080604052600436106100595760003560e01c806313af40351461006257806322bee4941461008b5780633ccfd60b146100a757806351cff8d9146100be578063858ced35146100e7578063960bfe041461011057610060565b3661006057005b005b34801561006e57600080fd5b506100896004803603810190610084919061083d565b610139565b005b6100a560048036038101906100a091906108cf565b6101d4565b005b3480156100b357600080fd5b506100bc6102ac565b005b3480156100ca57600080fd5b506100e560048036038101906100e0919061083d565b6104a7565b005b3480156100f357600080fd5b5061010e6004803603810190610109919061083d565b6106d7565b005b34801561011c57600080fd5b5061013760048036038101906101329190610965565b610773565b005b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461019157600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461022c57600080fd5b60008373ffffffffffffffffffffffffffffffffffffffff163484846040516102569291906109d1565b60006040518083038185875af1925050503d8060008114610293576040519150601f19603f3d011682016040523d82523d6000602084013e610298565b606091505b50509050806102a657600080fd5b50505050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061035357503373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b61035c57600080fd5b6000479050600080821161036f57600080fd5b60025482101561040c57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516103bf90610a10565b60006040518083038185875af1925050503d80600081146103fc576040519150601f19603f3d011682016040523d82523d6000602084013e610401565b606091505b505080915050610499565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161045090610a10565b60006040518083038185875af1925050503d806000811461048d576040519150601f19603f3d011682016040523d82523d6000602084013e610492565b606091505b5050809150505b806104a357600080fd5b5050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061054e57503373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b61055757600080fd5b6000479050600080821161056a57600080fd5b6002548210806105c557503373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b1561063b578273ffffffffffffffffffffffffffffffffffffffff16826040516105ee90610a10565b60006040518083038185875af1925050503d806000811461062b576040519150601f19603f3d011682016040523d82523d6000602084013e610630565b606091505b5050809150506106c8565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161067f90610a10565b60006040518083038185875af1925050503d80600081146106bc576040519150601f19603f3d011682016040523d82523d6000602084013e6106c1565b606091505b5050809150505b806106d257600080fd5b505050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461072f57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107cb57600080fd5b8060028190555050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061080a826107df565b9050919050565b61081a816107ff565b811461082557600080fd5b50565b60008135905061083781610811565b92915050565b600060208284031215610853576108526107d5565b5b600061086184828501610828565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261088f5761088e61086a565b5b8235905067ffffffffffffffff8111156108ac576108ab61086f565b5b6020830191508360018202830111156108c8576108c7610874565b5b9250929050565b6000806000604084860312156108e8576108e76107d5565b5b60006108f686828701610828565b935050602084013567ffffffffffffffff811115610917576109166107da565b5b61092386828701610879565b92509250509250925092565b6000819050919050565b6109428161092f565b811461094d57600080fd5b50565b60008135905061095f81610939565b92915050565b60006020828403121561097b5761097a6107d5565b5b600061098984828501610950565b91505092915050565b600081905092915050565b82818337600083830152505050565b60006109b88385610992565b93506109c583858461099d565b82840190509392505050565b60006109de8284866109ac565b91508190509392505050565b50565b60006109fa600083610992565b9150610a05826109ea565b600082019050919050565b6000610a1b826109ed565b915081905091905056fea264697066735822122068ac20280b308c818322b4dc31c2959a1c37b94ab01032a8c56379b127425fee64736f6c63430008110033
[codex:812874]
[codex:812874]
[codex:812874] thinking
[codex:812874] **Parsing runtime bytecode functions**
[codex:812874] thinking
[codex:812874] **Concluding no exploitable paths found**
[codex:812874]
[codex:812874] I carefully analyzed all functions and their access controls, including owner and operator restrictions, call patterns, and storage updates. None of the externally reachable functions allow unauthorized profit extraction or delegatecall misuse. The contract’s design gates critical operations behind ownership or operator roles, so no direct profit path emerges from the bytecode alone. I’m preparing JSON output accordingly.
[codex:812874] codex
[codex:812874] {"no_findings":true,"summary":"No concrete, exploitable profit path identified from the bytecode bundle; externally reachable functions appear gated by owner/operator checks and no unprotected value-transfer/delegatecall/selfdestruct patterns were found.","findings":[]}
[codex:812874] tokens used
[codex:812874] 18,245
[codex:812874] {"no_findings":true,"summary":"No concrete, exploitable profit path identified from the bytecode bundle; externally reachable functions appear gated by owner/operator checks and no unprotected value-transfer/delegatecall/selfdestruct patterns were found.","findings":[]}
{
"codex": {
"ran_at": "2026-01-03T22:49:14.724730+00:00",
"returncode": 0
},
"summary": "No concrete, exploitable profit path identified from the bytecode bundle; externally reachable functions appear gated by owner/operator checks and no unprotected value-transfer/delegatecall/selfdestruct patterns were found.",
"raw_final": {
"summary": "No concrete, exploitable profit path identified from the bytecode bundle; externally reachable functions appear gated by owner/operator checks and no unprotected value-transfer/delegatecall/selfdestruct patterns were found.",
"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 0x0059 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x13af4035 00000019: EQ 0000001a: PUSH2 0x0062 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0x22bee494 00000024: EQ 00000025: PUSH2 0x008b 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0x3ccfd60b 0000002f: EQ 00000030: PUSH2 0x00a7 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0x51cff8d9 0000003a: EQ 0000003b: PUSH2 0x00be 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0x858ced35 00000045: EQ 00000046: PUSH2 0x00e7 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0x960bfe04 00000050: EQ 00000051: PUSH2 0x0110 00000054: JUMPI 00000055: PUSH2 0x0060 00000058: JUMP 00000059: JUMPDEST 0000005a: CALLDATASIZE 0000005b: PUSH2 0x0060 0000005e: JUMPI 0000005f: STOP 00000060: JUMPDEST 00000061: STOP 00000062: JUMPDEST 00000063: CALLVALUE 00000064: DUP1 00000065: ISZERO 00000066: PUSH2 0x006e 00000069: JUMPI 0000006a: PUSH1 0x00 0000006c: DUP1 0000006d: REVERT 0000006e: JUMPDEST 0000006f: POP 00000070: PUSH2 0x0089 00000073: PUSH1 0x04 00000075: DUP1 00000076: CALLDATASIZE 00000077: SUB 00000078: DUP2 00000079: ADD 0000007a: SWAP1 0000007b: PUSH2 0x0084 0000007e: SWAP2 0000007f: SWAP1 00000080: PUSH2 0x083d 00000083: JUMP 00000084: JUMPDEST 00000085: PUSH2 0x0139 00000088: JUMP 00000089: JUMPDEST 0000008a: STOP 0000008b: JUMPDEST 0000008c: PUSH2 0x00a5 0000008f: PUSH1 0x04 00000091: DUP1 00000092: CALLDATASIZE 00000093: SUB 00000094: DUP2 00000095: ADD 00000096: SWAP1 00000097: PUSH2 0x00a0 0000009a: SWAP2 0000009b: SWAP1 0000009c: PUSH2 0x08cf 0000009f: JUMP 000000a0: JUMPDEST 000000a1: PUSH2 0x01d4 000000a4: JUMP 000000a5: JUMPDEST 000000a6: STOP 000000a7: JUMPDEST 000000a8: CALLVALUE 000000a9: DUP1 000000aa: ISZERO 000000ab: PUSH2 0x00b3 000000ae: JUMPI 000000af: PUSH1 0x00 000000b1: DUP1 000000b2: REVERT 000000b3: JUMPDEST 000000b4: POP 000000b5: PUSH2 0x00bc 000000b8: PUSH2 0x02ac 000000bb: JUMP 000000bc: JUMPDEST 000000bd: STOP 000000be: JUMPDEST 000000bf: CALLVALUE 000000c0: DUP1 000000c1: ISZERO 000000c2: PUSH2 0x00ca 000000c5: JUMPI 000000c6: PUSH1 0x00 000000c8: DUP1 000000c9: REVERT 000000ca: JUMPDEST 000000cb: POP 000000cc: PUSH2 0x00e5 000000cf: PUSH1 0x04 000000d1: DUP1 000000d2: CALLDATASIZE 000000d3: SUB 000000d4: DUP2 000000d5: ADD 000000d6: SWAP1 000000d7: PUSH2 0x00e0 000000da: SWAP2 000000db: SWAP1 000000dc: PUSH2 0x083d 000000df: JUMP 000000e0: JUMPDEST 000000e1: PUSH2 0x04a7 000000e4: JUMP 000000e5: JUMPDEST 000000e6: STOP 000000e7: JUMPDEST 000000e8: CALLVALUE 000000e9: DUP1 000000ea: ISZERO 000000eb: PUSH2 0x00f3 000000ee: JUMPI 000000ef: PUSH1 0x00 000000f1: DUP1 000000f2: REVERT 000000f3: JUMPDEST 000000f4: POP 000000f5: PUSH2 0x010e 000000f8: PUSH1 0x04 000000fa: DUP1 000000fb: CALLDATASIZE 000000fc: SUB 000000fd: DUP2 000000fe: ADD 000000ff: SWAP1 00000100: PUSH2 0x0109 00000103: SWAP2 00000104: SWAP1 00000105: PUSH2 0x083d 00000108: JUMP 00000109: JUMPDEST 0000010a: PUSH2 0x06d7 0000010d: JUMP 0000010e: JUMPDEST 0000010f: STOP 00000110: JUMPDEST 00000111: CALLVALUE 00000112: DUP1 00000113: ISZERO 00000114: PUSH2 0x011c 00000117: JUMPI 00000118: PUSH1 0x00 0000011a: DUP1 0000011b: REVERT 0000011c: JUMPDEST 0000011d: POP 0000011e: PUSH2 0x0137 00000121: PUSH1 0x04 00000123: DUP1 00000124: CALLDATASIZE 00000125: SUB 00000126: DUP2 00000127: ADD 00000128: SWAP1 00000129: PUSH2 0x0132 0000012c: SWAP2 0000012d: SWAP1 0000012e: PUSH2 0x0965 00000131: JUMP 00000132: JUMPDEST 00000133: PUSH2 0x0773 00000136: JUMP 00000137: JUMPDEST 00000138: STOP 00000139: JUMPDEST 0000013a: CALLER 0000013b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000150: AND 00000151: PUSH1 0x00 00000153: DUP1 00000154: SLOAD 00000155: SWAP1 00000156: PUSH2 0x0100 00000159: EXP 0000015a: SWAP1 0000015b: DIV 0000015c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000171: AND 00000172: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000187: AND 00000188: EQ 00000189: PUSH2 0x0191 0000018c: JUMPI 0000018d: PUSH1 0x00 0000018f: DUP1 00000190: REVERT 00000191: JUMPDEST 00000192: DUP1 00000193: PUSH1 0x00 00000195: DUP1 00000196: PUSH2 0x0100 00000199: EXP 0000019a: DUP2 0000019b: SLOAD 0000019c: DUP2 0000019d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001b2: MUL 000001b3: NOT 000001b4: AND 000001b5: SWAP1 000001b6: DUP4 000001b7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001cc: AND 000001cd: MUL 000001ce: OR 000001cf: SWAP1 000001d0: SSTORE 000001d1: POP 000001d2: POP 000001d3: JUMP 000001d4: JUMPDEST 000001d5: CALLER 000001d6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001eb: AND 000001ec: PUSH1 0x00 000001ee: DUP1 000001ef: SLOAD 000001f0: SWAP1 000001f1: PUSH2 0x0100 000001f4: EXP 000001f5: SWAP1 000001f6: DIV 000001f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000020c: AND 0000020d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000222: AND 00000223: EQ 00000224: PUSH2 0x022c 00000227: JUMPI 00000228: PUSH1 0x00 0000022a: DUP1 0000022b: REVERT 0000022c: JUMPDEST 0000022d: PUSH1 0x00 0000022f: DUP4 00000230: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000245: AND 00000246: CALLVALUE 00000247: DUP5 00000248: DUP5 00000249: PUSH1 0x40 0000024b: MLOAD 0000024c: PUSH2 0x0256 0000024f: SWAP3 00000250: SWAP2 00000251: SWAP1 00000252: PUSH2 0x09d1 00000255: JUMP 00000256: JUMPDEST 00000257: PUSH1 0x00 00000259: PUSH1 0x40 0000025b: MLOAD 0000025c: DUP1 0000025d: DUP4 0000025e: SUB 0000025f: DUP2 00000260: DUP6 00000261: DUP8 00000262: GAS 00000263: CALL 00000264: SWAP3 00000265: POP 00000266: POP 00000267: POP 00000268: RETURNDATASIZE 00000269: DUP1 0000026a: PUSH1 0x00 0000026c: DUP2 0000026d: EQ 0000026e: PUSH2 0x0293 00000271: JUMPI 00000272: PUSH1 0x40 00000274: MLOAD 00000275: SWAP2 00000276: POP 00000277: PUSH1 0x1f 00000279: NOT 0000027a: PUSH1 0x3f 0000027c: RETURNDATASIZE 0000027d: ADD 0000027e: AND 0000027f: DUP3 00000280: ADD 00000281: PUSH1 0x40 00000283: MSTORE 00000284: RETURNDATASIZE 00000285: DUP3 00000286: MSTORE 00000287: RETURNDATASIZE 00000288: PUSH1 0x00 0000028a: PUSH1 0x20 0000028c: DUP5 0000028d: ADD 0000028e: RETURNDATACOPY 0000028f: PUSH2 0x0298 00000292: JUMP 00000293: JUMPDEST 00000294: PUSH1 0x60 00000296: SWAP2 00000297: POP 00000298: JUMPDEST 00000299: POP 0000029a: POP 0000029b: SWAP1 0000029c: POP 0000029d: DUP1 0000029e: PUSH2 0x02a6 000002a1: JUMPI 000002a2: PUSH1 0x00 000002a4: DUP1 000002a5: REVERT 000002a6: JUMPDEST 000002a7: POP 000002a8: POP 000002a9: POP 000002aa: POP 000002ab: JUMP 000002ac: JUMPDEST 000002ad: CALLER 000002ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002c3: AND 000002c4: PUSH1 0x01 000002c6: PUSH1 0x00 000002c8: SWAP1 000002c9: SLOAD 000002ca: SWAP1 000002cb: PUSH2 0x0100 000002ce: EXP 000002cf: SWAP1 000002d0: DIV 000002d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002e6: AND 000002e7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002fc: AND 000002fd: EQ 000002fe: DUP1 000002ff: PUSH2 0x0353 00000302: JUMPI 00000303: POP 00000304: CALLER 00000305: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000031a: AND 0000031b: PUSH1 0x00 0000031d: DUP1 0000031e: SLOAD 0000031f: SWAP1 00000320: PUSH2 0x0100 00000323: EXP 00000324: SWAP1 00000325: DIV 00000326: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000033b: AND 0000033c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000351: AND 00000352: EQ 00000353: JUMPDEST 00000354: PUSH2 0x035c 00000357: JUMPI 00000358: PUSH1 0x00 0000035a: DUP1 0000035b: REVERT 0000035c: JUMPDEST 0000035d: PUSH1 0x00 0000035f: SELFBALANCE 00000360: SWAP1 00000361: POP 00000362: PUSH1 0x00 00000364: DUP1 00000365: DUP3 00000366: GT 00000367: PUSH2 0x036f 0000036a: JUMPI 0000036b: PUSH1 0x00 0000036d: DUP1 0000036e: REVERT 0000036f: JUMPDEST 00000370: PUSH1 0x02 00000372: SLOAD 00000373: DUP3 00000374: LT 00000375: ISZERO 00000376: PUSH2 0x040c 00000379: JUMPI 0000037a: PUSH1 0x01 0000037c: PUSH1 0x00 0000037e: SWAP1 0000037f: SLOAD 00000380: SWAP1 00000381: PUSH2 0x0100 00000384: EXP 00000385: SWAP1 00000386: DIV 00000387: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000039c: AND 0000039d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000003b2: AND 000003b3: DUP3 000003b4: PUSH1 0x40 000003b6: MLOAD 000003b7: PUSH2 0x03bf 000003ba: SWAP1 000003bb: PUSH2 0x0a10 000003be: JUMP 000003bf: JUMPDEST 000003c0: PUSH1 0x00 000003c2: PUSH1 0x40 000003c4: MLOAD 000003c5: DUP1 000003c6: DUP4 000003c7: SUB 000003c8: DUP2 000003c9: DUP6 000003ca: DUP8 000003cb: GAS 000003cc: CALL 000003cd: SWAP3 000003ce: POP 000003cf: POP 000003d0: POP 000003d1: RETURNDATASIZE 000003d2: DUP1 000003d3: PUSH1 0x00 000003d5: DUP2 000003d6: EQ 000003d7: PUSH2 0x03fc 000003da: JUMPI 000003db: PUSH1 0x40 000003dd: MLOAD 000003de: SWAP2 000003df: POP 000003e0: PUSH1 0x1f 000003e2: NOT 000003e3: PUSH1 0x3f 000003e5: RETURNDATASIZE 000003e6: ADD 000003e7: AND 000003e8: DUP3 000003e9: ADD 000003ea: PUSH1 0x40 000003ec: MSTORE 000003ed: RETURNDATASIZE 000003ee: DUP3 000003ef: MSTORE 000003f0: RETURNDATASIZE 000003f1: PUSH1 0x00 000003f3: PUSH1 0x20 000003f5: DUP5 000003f6: ADD 000003f7: RETURNDATACOPY 000003f8: PUSH2 0x0401 000003fb: JUMP 000003fc: JUMPDEST 000003fd: PUSH1 0x60 000003ff: SWAP2 00000400: POP 00000401: JUMPDEST 00000402: POP 00000403: POP 00000404: DUP1 00000405: SWAP2 00000406: POP 00000407: POP 00000408: PUSH2 0x0499 0000040b: JUMP 0000040c: JUMPDEST 0000040d: PUSH1 0x00 0000040f: DUP1 00000410: SLOAD 00000411: SWAP1 00000412: PUSH2 0x0100 00000415: EXP 00000416: SWAP1 00000417: DIV 00000418: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000042d: AND 0000042e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000443: AND 00000444: DUP3 00000445: PUSH1 0x40 00000447: MLOAD 00000448: PUSH2 0x0450 0000044b: SWAP1 0000044c: PUSH2 0x0a10 0000044f: JUMP 00000450: JUMPDEST 00000451: PUSH1 0x00 00000453: PUSH1 0x40 00000455: MLOAD 00000456: DUP1 00000457: DUP4 00000458: SUB 00000459: DUP2 0000045a: DUP6 0000045b: DUP8 0000045c: GAS 0000045d: CALL 0000045e: SWAP3 0000045f: POP 00000460: POP 00000461: POP 00000462: RETURNDATASIZE 00000463: DUP1 00000464: PUSH1 0x00 00000466: DUP2 00000467: EQ 00000468: PUSH2 0x048d 0000046b: JUMPI 0000046c: PUSH1 0x40 0000046e: MLOAD 0000046f: SWAP2 00000470: POP 00000471: PUSH1 0x1f 00000473: NOT 00000474: PUSH1 0x3f 00000476: RETURNDATASIZE 00000477: ADD 00000478: AND 00000479: DUP3 0000047a: ADD 0000047b: PUSH1 0x40 0000047d: MSTORE 0000047e: RETURNDATASIZE 0000047f: DUP3 00000480: MSTORE 00000481: RETURNDATASIZE 00000482: PUSH1 0x00 00000484: PUSH1 0x20 00000486: DUP5 00000487: ADD 00000488: RETURNDATACOPY 00000489: PUSH2 0x0492 0000048c: JUMP 0000048d: JUMPDEST 0000048e: PUSH1 0x60 00000490: SWAP2 00000491: POP 00000492: JUMPDEST 00000493: POP 00000494: POP 00000495: DUP1 00000496: SWAP2 00000497: POP 00000498: POP 00000499: JUMPDEST 0000049a: DUP1 0000049b: PUSH2 0x04a3 0000049e: JUMPI 0000049f: PUSH1 0x00 000004a1: DUP1 000004a2: REVERT 000004a3: JUMPDEST 000004a4: POP 000004a5: POP 000004a6: JUMP 000004a7: JUMPDEST 000004a8: CALLER 000004a9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004be: AND 000004bf: PUSH1 0x01 000004c1: PUSH1 0x00 000004c3: SWAP1 000004c4: SLOAD 000004c5: SWAP1 000004c6: PUSH2 0x0100 000004c9: EXP 000004ca: SWAP1 000004cb: DIV 000004cc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004e1: AND 000004e2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004f7: AND 000004f8: EQ 000004f9: DUP1 000004fa: PUSH2 0x054e 000004fd: JUMPI 000004fe: POP 000004ff: CALLER 00000500: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000515: AND 00000516: PUSH1 0x00 00000518: DUP1 00000519: SLOAD 0000051a: SWAP1 0000051b: PUSH2 0x0100 0000051e: EXP 0000051f: SWAP1 00000520: DIV 00000521: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000536: AND 00000537: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000054c: AND 0000054d: EQ 0000054e: JUMPDEST 0000054f: PUSH2 0x0557 00000552: JUMPI 00000553: PUSH1 0x00 00000555: DUP1 00000556: REVERT 00000557: JUMPDEST 00000558: PUSH1 0x00 0000055a: SELFBALANCE 0000055b: SWAP1 0000055c: POP 0000055d: PUSH1 0x00 0000055f: DUP1 00000560: DUP3 00000561: GT 00000562: PUSH2 0x056a 00000565: JUMPI 00000566: PUSH1 0x00 00000568: DUP1 00000569: REVERT 0000056a: JUMPDEST 0000056b: PUSH1 0x02 0000056d: SLOAD 0000056e: DUP3 0000056f: LT 00000570: DUP1 00000571: PUSH2 0x05c5 00000574: JUMPI 00000575: POP 00000576: CALLER 00000577: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000058c: AND 0000058d: PUSH1 0x00 0000058f: DUP1 00000590: SLOAD 00000591: SWAP1 00000592: PUSH2 0x0100 00000595: EXP 00000596: SWAP1 00000597: DIV 00000598: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005ad: AND 000005ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005c3: AND 000005c4: EQ 000005c5: JUMPDEST 000005c6: ISZERO 000005c7: PUSH2 0x063b 000005ca: JUMPI 000005cb: DUP3 000005cc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005e1: AND 000005e2: DUP3 000005e3: PUSH1 0x40 000005e5: MLOAD 000005e6: PUSH2 0x05ee 000005e9: SWAP1 000005ea: PUSH2 0x0a10 000005ed: JUMP 000005ee: JUMPDEST 000005ef: PUSH1 0x00 000005f1: PUSH1 0x40 000005f3: MLOAD 000005f4: DUP1 000005f5: DUP4 000005f6: SUB 000005f7: DUP2 000005f8: DUP6 000005f9: DUP8 000005fa: GAS 000005fb: CALL 000005fc: SWAP3 000005fd: POP 000005fe: POP 000005ff: POP 00000600: RETURNDATASIZE 00000601: DUP1 00000602: PUSH1 0x00 00000604: DUP2 00000605: EQ 00000606: PUSH2 0x062b 00000609: JUMPI 0000060a: PUSH1 0x40 0000060c: MLOAD 0000060d: SWAP2 0000060e: POP 0000060f: PUSH1 0x1f 00000611: NOT 00000612: PUSH1 0x3f 00000614: RETURNDATASIZE 00000615: ADD 00000616: AND 00000617: DUP3 00000618: ADD 00000619: PUSH1 0x40 0000061b: MSTORE 0000061c: RETURNDATASIZE 0000061d: DUP3 0000061e: MSTORE 0000061f: RETURNDATASIZE 00000620: PUSH1 0x00 00000622: PUSH1 0x20 00000624: DUP5 00000625: ADD 00000626: RETURNDATACOPY 00000627: PUSH2 0x0630 0000062a: JUMP 0000062b: JUMPDEST 0000062c: PUSH1 0x60 0000062e: SWAP2 0000062f: POP 00000630: JUMPDEST 00000631: POP 00000632: POP 00000633: DUP1 00000634: SWAP2 00000635: POP 00000636: POP 00000637: PUSH2 0x06c8 0000063a: JUMP 0000063b: JUMPDEST 0000063c: PUSH1 0x00 0000063e: DUP1 0000063f: SLOAD 00000640: SWAP1 00000641: PUSH2 0x0100 00000644: EXP 00000645: SWAP1 00000646: DIV 00000647: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000065c: AND 0000065d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000672: AND 00000673: DUP3 00000674: PUSH1 0x40 00000676: MLOAD 00000677: PUSH2 0x067f 0000067a: SWAP1 0000067b: PUSH2 0x0a10 0000067e: JUMP 0000067f: JUMPDEST 00000680: PUSH1 0x00 00000682: PUSH1 0x40 00000684: MLOAD 00000685: DUP1 00000686: DUP4 00000687: SUB 00000688: DUP2 00000689: DUP6 0000068a: DUP8 0000068b: GAS 0000068c: CALL 0000068d: SWAP3 0000068e: POP 0000068f: POP 00000690: POP 00000691: RETURNDATASIZE 00000692: DUP1 00000693: PUSH1 0x00 00000695: DUP2 00000696: EQ 00000697: PUSH2 0x06bc 0000069a: JUMPI 0000069b: PUSH1 0x40 0000069d: MLOAD 0000069e: SWAP2 0000069f: POP 000006a0: PUSH1 0x1f 000006a2: NOT 000006a3: PUSH1 0x3f 000006a5: RETURNDATASIZE 000006a6: ADD 000006a7: AND 000006a8: DUP3 000006a9: ADD 000006aa: PUSH1 0x40 000006ac: MSTORE 000006ad: RETURNDATASIZE 000006ae: DUP3 000006af: MSTORE 000006b0: RETURNDATASIZE 000006b1: PUSH1 0x00 000006b3: PUSH1 0x20 000006b5: DUP5 000006b6: ADD 000006b7: RETURNDATACOPY 000006b8: PUSH2 0x06c1 000006bb: JUMP 000006bc: JUMPDEST 000006bd: PUSH1 0x60 000006bf: SWAP2 000006c0: POP 000006c1: JUMPDEST 000006c2: POP 000006c3: POP 000006c4: DUP1 000006c5: SWAP2 000006c6: POP 000006c7: POP 000006c8: JUMPDEST 000006c9: DUP1 000006ca: PUSH2 0x06d2 000006cd: JUMPI 000006ce: PUSH1 0x00 000006d0: DUP1 000006d1: REVERT 000006d2: JUMPDEST 000006d3: POP 000006d4: POP 000006d5: POP 000006d6: JUMP 000006d7: JUMPDEST 000006d8: CALLER 000006d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006ee: AND 000006ef: PUSH1 0x00 000006f1: DUP1 000006f2: SLOAD 000006f3: SWAP1 000006f4: PUSH2 0x0100 000006f7: EXP 000006f8: SWAP1 000006f9: DIV 000006fa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000070f: AND 00000710: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000725: AND 00000726: EQ 00000727: PUSH2 0x072f 0000072a: JUMPI 0000072b: PUSH1 0x00 0000072d: DUP1 0000072e: REVERT 0000072f: JUMPDEST 00000730: DUP1 00000731: PUSH1 0x01 00000733: PUSH1 0x00 00000735: PUSH2 0x0100 00000738: EXP 00000739: DUP2 0000073a: SLOAD 0000073b: DUP2 0000073c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000751: MUL 00000752: NOT 00000753: AND 00000754: SWAP1 00000755: DUP4 00000756: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000076b: AND 0000076c: MUL 0000076d: OR 0000076e: SWAP1 0000076f: SSTORE 00000770: POP 00000771: POP 00000772: JUMP 00000773: JUMPDEST 00000774: CALLER 00000775: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000078a: AND 0000078b: PUSH1 0x00 0000078d: DUP1 0000078e: SLOAD 0000078f: SWAP1 00000790: PUSH2 0x0100 00000793: EXP 00000794: SWAP1 00000795: DIV 00000796: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007ab: AND 000007ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007c1: AND 000007c2: EQ 000007c3: PUSH2 0x07cb 000007c6: JUMPI 000007c7: PUSH1 0x00 000007c9: DUP1 000007ca: REVERT 000007cb: JUMPDEST 000007cc: DUP1 000007cd: PUSH1 0x02 000007cf: DUP2 000007d0: SWAP1 000007d1: SSTORE 000007d2: POP 000007d3: POP 000007d4: JUMP 000007d5: JUMPDEST 000007d6: PUSH1 0x00 000007d8: DUP1 000007d9: REVERT 000007da: JUMPDEST 000007db: PUSH1 0x00 000007dd: DUP1 000007de: REVERT 000007df: JUMPDEST 000007e0: PUSH1 0x00 000007e2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007f7: DUP3 000007f8: AND 000007f9: SWAP1 000007fa: POP 000007fb: SWAP2 000007fc: SWAP1 000007fd: POP 000007fe: JUMP 000007ff: JUMPDEST 00000800: PUSH1 0x00 00000802: PUSH2 0x080a 00000805: DUP3 00000806: PUSH2 0x07df 00000809: JUMP 0000080a: JUMPDEST 0000080b: SWAP1 0000080c: POP 0000080d: SWAP2 0000080e: SWAP1 0000080f: POP 00000810: JUMP 00000811: JUMPDEST 00000812: PUSH2 0x081a 00000815: DUP2 00000816: PUSH2 0x07ff 00000819: JUMP 0000081a: JUMPDEST 0000081b: DUP2 0000081c: EQ 0000081d: PUSH2 0x0825 00000820: JUMPI 00000821: PUSH1 0x00 00000823: DUP1 00000824: REVERT 00000825: JUMPDEST 00000826: POP 00000827: JUMP 00000828: JUMPDEST 00000829: PUSH1 0x00 0000082b: DUP2 0000082c: CALLDATALOAD 0000082d: SWAP1 0000082e: POP 0000082f: PUSH2 0x0837 00000832: DUP2 00000833: PUSH2 0x0811 00000836: JUMP 00000837: JUMPDEST 00000838: SWAP3 00000839: SWAP2 0000083a: POP 0000083b: POP 0000083c: JUMP 0000083d: JUMPDEST 0000083e: PUSH1 0x00 00000840: PUSH1 0x20 00000842: DUP3 00000843: DUP5 00000844: SUB 00000845: SLT 00000846: ISZERO 00000847: PUSH2 0x0853 0000084a: JUMPI 0000084b: PUSH2 0x0852 0000084e: PUSH2 0x07d5 00000851: JUMP 00000852: JUMPDEST 00000853: JUMPDEST 00000854: PUSH1 0x00 00000856: PUSH2 0x0861 00000859: DUP5 0000085a: DUP3 0000085b: DUP6 0000085c: ADD 0000085d: PUSH2 0x0828 00000860: JUMP 00000861: JUMPDEST 00000862: SWAP2 00000863: POP 00000864: POP 00000865: SWAP3 00000866: SWAP2 00000867: POP 00000868: POP 00000869: JUMP 0000086a: JUMPDEST 0000086b: PUSH1 0x00 0000086d: DUP1 0000086e: REVERT 0000086f: JUMPDEST 00000870: PUSH1 0x00 00000872: DUP1 00000873: REVERT 00000874: JUMPDEST 00000875: PUSH1 0x00 00000877: DUP1 00000878: REVERT 00000879: JUMPDEST 0000087a: PUSH1 0x00 0000087c: DUP1 0000087d: DUP4 0000087e: PUSH1 0x1f 00000880: DUP5 00000881: ADD 00000882: SLT 00000883: PUSH2 0x088f 00000886: JUMPI 00000887: PUSH2 0x088e 0000088a: PUSH2 0x086a 0000088d: JUMP 0000088e: JUMPDEST 0000088f: JUMPDEST 00000890: DUP3 00000891: CALLDATALOAD 00000892: SWAP1 00000893: POP 00000894: PUSH8 0xffffffffffffffff 0000089d: DUP2 0000089e: GT 0000089f: ISZERO 000008a0: PUSH2 0x08ac 000008a3: JUMPI 000008a4: PUSH2 0x08ab 000008a7: PUSH2 0x086f 000008aa: JUMP 000008ab: JUMPDEST 000008ac: JUMPDEST 000008ad: PUSH1 0x20 000008af: DUP4 000008b0: ADD 000008b1: SWAP2 000008b2: POP 000008b3: DUP4 000008b4: PUSH1 0x01 000008b6: DUP3 000008b7: MUL 000008b8: DUP4 000008b9: ADD 000008ba: GT 000008bb: ISZERO 000008bc: PUSH2 0x08c8 000008bf: JUMPI 000008c0: PUSH2 0x08c7 000008c3: PUSH2 0x0874 000008c6: JUMP 000008c7: JUMPDEST 000008c8: JUMPDEST 000008c9: SWAP3 000008ca: POP 000008cb: SWAP3 000008cc: SWAP1 000008cd: POP 000008ce: JUMP 000008cf: JUMPDEST 000008d0: PUSH1 0x00 000008d2: DUP1 000008d3: PUSH1 0x00 000008d5: PUSH1 0x40 000008d7: DUP5 000008d8: DUP7 000008d9: SUB 000008da: SLT 000008db: ISZERO 000008dc: PUSH2 0x08e8 000008df: JUMPI 000008e0: PUSH2 0x08e7 000008e3: PUSH2 0x07d5 000008e6: JUMP 000008e7: JUMPDEST 000008e8: JUMPDEST 000008e9: PUSH1 0x00 000008eb: PUSH2 0x08f6 000008ee: DUP7 000008ef: DUP3 000008f0: DUP8 000008f1: ADD 000008f2: PUSH2 0x0828 000008f5: JUMP 000008f6: JUMPDEST 000008f7: SWAP4 000008f8: POP 000008f9: POP 000008fa: PUSH1 0x20 000008fc: DUP5 000008fd: ADD 000008fe: CALLDATALOAD 000008ff: PUSH8 0xffffffffffffffff 00000908: DUP2 00000909: GT 0000090a: ISZERO 0000090b: PUSH2 0x0917 0000090e: JUMPI 0000090f: PUSH2 0x0916 00000912: PUSH2 0x07da 00000915: JUMP 00000916: JUMPDEST 00000917: JUMPDEST 00000918: PUSH2 0x0923 0000091b: DUP7 0000091c: DUP3 0000091d: DUP8 0000091e: ADD 0000091f: PUSH2 0x0879 00000922: JUMP 00000923: JUMPDEST 00000924: SWAP3 00000925: POP 00000926: SWAP3 00000927: POP 00000928: POP 00000929: SWAP3 0000092a: POP 0000092b: SWAP3 0000092c: POP 0000092d: SWAP3 0000092e: JUMP 0000092f: JUMPDEST 00000930: PUSH1 0x00 00000932: DUP2 00000933: SWAP1 00000934: POP 00000935: SWAP2 00000936: SWAP1 00000937: POP 00000938: JUMP 00000939: JUMPDEST 0000093a: PUSH2 0x0942 0000093d: DUP2 0000093e: PUSH2 0x092f 00000941: JUMP 00000942: JUMPDEST 00000943: DUP2 00000944: EQ 00000945: PUSH2 0x094d 00000948: JUMPI 00000949: PUSH1 0x00 0000094b: DUP1 0000094c: REVERT 0000094d: JUMPDEST 0000094e: POP 0000094f: JUMP 00000950: JUMPDEST 00000951: PUSH1 0x00 00000953: DUP2 00000954: CALLDATALOAD 00000955: SWAP1 00000956: POP 00000957: PUSH2 0x095f 0000095a: DUP2 0000095b: PUSH2 0x0939 0000095e: JUMP 0000095f: JUMPDEST 00000960: SWAP3 00000961: SWAP2 00000962: POP 00000963: POP 00000964: JUMP 00000965: JUMPDEST 00000966: PUSH1 0x00 00000968: PUSH1 0x20 0000096a: DUP3 0000096b: DUP5 0000096c: SUB 0000096d: SLT 0000096e: ISZERO 0000096f: PUSH2 0x097b 00000972: JUMPI 00000973: PUSH2 0x097a 00000976: PUSH2 0x07d5 00000979: JUMP 0000097a: JUMPDEST 0000097b: JUMPDEST 0000097c: PUSH1 0x00 0000097e: PUSH2 0x0989 00000981: DUP5 00000982: DUP3 00000983: DUP6 00000984: ADD 00000985: PUSH2 0x0950 00000988: JUMP 00000989: JUMPDEST 0000098a: SWAP2 0000098b: POP 0000098c: POP 0000098d: SWAP3 0000098e: SWAP2 0000098f: POP 00000990: POP 00000991: JUMP 00000992: JUMPDEST 00000993: PUSH1 0x00 00000995: DUP2 00000996: SWAP1 00000997: POP 00000998: SWAP3 00000999: SWAP2 0000099a: POP 0000099b: POP 0000099c: JUMP 0000099d: JUMPDEST 0000099e: DUP3 0000099f: DUP2 000009a0: DUP4 000009a1: CALLDATACOPY 000009a2: PUSH1 0x00 000009a4: DUP4 000009a5: DUP4 000009a6: ADD 000009a7: MSTORE 000009a8: POP 000009a9: POP 000009aa: POP 000009ab: JUMP 000009ac: JUMPDEST 000009ad: PUSH1 0x00 000009af: PUSH2 0x09b8 000009b2: DUP4 000009b3: DUP6 000009b4: PUSH2 0x0992 000009b7: JUMP 000009b8: JUMPDEST 000009b9: SWAP4 000009ba: POP 000009bb: PUSH2 0x09c5 000009be: DUP4 000009bf: DUP6 000009c0: DUP5 000009c1: PUSH2 0x099d 000009c4: JUMP 000009c5: JUMPDEST 000009c6: DUP3 000009c7: DUP5 000009c8: ADD 000009c9: SWAP1 000009ca: POP 000009cb: SWAP4 000009cc: SWAP3 000009cd: POP 000009ce: POP 000009cf: POP 000009d0: JUMP 000009d1: JUMPDEST 000009d2: PUSH1 0x00 000009d4: PUSH2 0x09de 000009d7: DUP3 000009d8: DUP5 000009d9: DUP7 000009da: PUSH2 0x09ac 000009dd: JUMP 000009de: JUMPDEST 000009df: SWAP2 000009e0: POP 000009e1: DUP2 000009e2: SWAP1 000009e3: POP 000009e4: SWAP4 000009e5: SWAP3 000009e6: POP 000009e7: POP 000009e8: POP 000009e9: JUMP 000009ea: JUMPDEST 000009eb: POP 000009ec: JUMP 000009ed: JUMPDEST 000009ee: PUSH1 0x00 000009f0: PUSH2 0x09fa 000009f3: PUSH1 0x00 000009f5: DUP4 000009f6: PUSH2 0x0992 000009f9: JUMP 000009fa: JUMPDEST 000009fb: SWAP2 000009fc: POP 000009fd: PUSH2 0x0a05 00000a00: DUP3 00000a01: PUSH2 0x09ea 00000a04: JUMP 00000a05: JUMPDEST 00000a06: PUSH1 0x00 00000a08: DUP3 00000a09: ADD 00000a0a: SWAP1 00000a0b: POP 00000a0c: SWAP2 00000a0d: SWAP1 00000a0e: POP 00000a0f: JUMP 00000a10: JUMPDEST 00000a11: PUSH1 0x00 00000a13: PUSH2 0x0a1b 00000a16: DUP3 00000a17: PUSH2 0x09ed 00000a1a: JUMP 00000a1b: JUMPDEST 00000a1c: SWAP2 00000a1d: POP 00000a1e: DUP2 00000a1f: SWAP1 00000a20: POP 00000a21: SWAP2 00000a22: SWAP1 00000a23: POP 00000a24: JUMP 00000a25: INVALID 00000a26: LOG2 00000a27: PUSH5 0x6970667358 00000a2d: UNKNOWN(0x22) 00000a2e: SLT 00000a2f: KECCAK256 00000a30: PUSH9 0xac20280b308c818322 00000a3a: UNKNOWN(0xB4) 00000a3b: UNKNOWN(0xDC) 00000a3c: BALANCE 00000a3d: UNKNOWN(0xC2) 00000a3e: SWAP6 00000a3f: SWAP11 00000a40: SHR 00000a41: CALLDATACOPY 00000a42: UNKNOWN(0xB9) 00000a43: BLOBBASEFEE 00000a44: UNKNOWN(0xB0) 00000a45: LT 00000a46: ORIGIN 00000a47: UNKNOWN(0xA8) 00000a48: UNKNOWN(0xC5) 00000a49: PUSH4 0x79b12742 00000a4e: PUSH0 00000a4f: UNKNOWN(0xEE) 00000a50: PUSH5 0x736f6c6343 00000a56: STOP 00000a57: ADDMOD 00000a58: GT 00000a59: STOP 00000a5a: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | auth | detector | Authorization based on tx.origin | 70 | no | — |
viewvalidation_json{
"reason": "missing sink mapping",
"status": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x13af4035",
"selector": "0x13af4035",
"calldata_variants": [
"0x13af4035",
"0x13af40350000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x22bee494",
"selector": "0x22bee494",
"calldata_variants": [
"0x22bee494",
"0x22bee4940000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3ccfd60b",
"selector": "0x3ccfd60b",
"calldata_variants": [
"0x3ccfd60b",
"0x3ccfd60b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x51cff8d9",
"selector": "0x51cff8d9",
"calldata_variants": [
"0x51cff8d9",
"0x51cff8d90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x858ced35",
"selector": "0x858ced35",
"calldata_variants": [
"0x858ced35",
"0x858ced350000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x960bfe04",
"selector": "0x960bfe04",
"calldata_variants": [
"0x960bfe04",
"0x960bfe040000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 2630,
"type": "tx_origin_used"
}
]
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x2e8b11e59a52752d584669e379f8e433cdf9d7cb245bbc825700360b6ca71a77
call_targets:
0xb16b00b500bff7cd947ce2438c7fadaeaffeb93f
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x2e8b11e59a52752d584669e379f8e433cdf9d7cb245bbc825700360b6ca71a77",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xb16b00b500bff7cd947ce2438c7fadaeaffeb93f"
],
"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": "0x13af4035",
"selector": "0x13af4035",
"calldata_variants": [
"0x13af4035",
"0x13af40350000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x22bee494",
"selector": "0x22bee494",
"calldata_variants": [
"0x22bee494",
"0x22bee4940000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3ccfd60b",
"selector": "0x3ccfd60b",
"calldata_variants": [
"0x3ccfd60b",
"0x3ccfd60b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x51cff8d9",
"selector": "0x51cff8d9",
"calldata_variants": [
"0x51cff8d9",
"0x51cff8d90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x858ced35",
"selector": "0x858ced35",
"calldata_variants": [
"0x858ced35",
"0x858ced350000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x960bfe04",
"selector": "0x960bfe04",
"calldata_variants": [
"0x960bfe04",
"0x960bfe040000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 611,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 972,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1117,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 5,
"guards_detected": [
{
"pc": 2630,
"type": "tx_origin_used"
}
],
"untrusted_call_count": 5
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x2e8b11e59a52752d584669e379f8e433cdf9d7cb245bbc825700360b6ca71a77
call_targets:
0xb16b00b500bff7cd947ce2438c7fadaeaffeb93f
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x2e8b11e59a52752d584669e379f8e433cdf9d7cb245bbc825700360b6ca71a77",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xb16b00b500bff7cd947ce2438c7fadaeaffeb93f"
],
"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": "0x13af4035",
"selector": "0x13af4035",
"calldata_variants": [
"0x13af4035",
"0x13af40350000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x22bee494",
"selector": "0x22bee494",
"calldata_variants": [
"0x22bee494",
"0x22bee4940000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3ccfd60b",
"selector": "0x3ccfd60b",
"calldata_variants": [
"0x3ccfd60b",
"0x3ccfd60b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x51cff8d9",
"selector": "0x51cff8d9",
"calldata_variants": [
"0x51cff8d9",
"0x51cff8d90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x858ced35",
"selector": "0x858ced35",
"calldata_variants": [
"0x858ced35",
"0x858ced350000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x960bfe04",
"selector": "0x960bfe04",
"calldata_variants": [
"0x960bfe04",
"0x960bfe040000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 611,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 972,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1117,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 5,
"guards_detected": [
{
"pc": 2630,
"type": "tx_origin_used"
}
]
}
|