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

Analysis Run

b8e65255-792d-49ec-8397-23cbf11b718e

complete
Chain ID
1
Address
Block Number
Created
Sat, Jan 3, 2026 10:49 PM
Review Summary

What survived the funnel

Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?

Confirmed
0
Validated
0
Source
Bytecode only
Review Backing
Not yet
Best current signal
Authorization based on tx.origin
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
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

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no
Implementation:
Verified Source: no

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
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.
View stderr
[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":[]}
Metadata
{
    "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
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
5
EXT*/BALANCE
1
Total opcodes
1364
Flags
No heuristic flags raised.
View cast disassembly output
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

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high auth detector Authorization based on tx.origin 70 no
view
validation_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
view
trace_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
view
trace_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"
        }
    ]
}