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

Analysis Run

b06bb93d-d452-44cd-9570-143f26675bfb

failed
Chain ID
1
Address
Block Number
Created
Thu, Jan 1, 2026 2:26 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
Verified
Review Backing
Not yet
Best current signal
Untrusted DELEGATECALL target reachable
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
31039 report.consolidate complete 1 / 1 3 months ago
76048 artifact.fetch failed 1 / 3 2 weeks ago
76049 tool.cast_disasm complete 1 / 3 2 weeks ago
76050 analysis.bundle complete 1 / 3 2 weeks ago
76051 capability.graph complete 1 / 3 2 weeks ago
76052 detector.run complete 1 / 3 2 weeks ago
76053 validation.fork complete 1 / 3 2 weeks ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
Reviewed `contracts/Users/lebedkin/programming/xsigma/truffle-tutorial/SigToken/contracts/SigThreePoolProxy.sol` and `contracts/Users/lebedkin/programming/xsigma/truffle-tutorial/SigToken/contracts/SigToken.sol`; no concrete, exploitable profit path found under the stated assumptions (trusted coins, secure admin).
View stderr
[codex:536304] OpenAI Codex v0.77.0 (research preview)
[codex:536304] --------
[codex:536304] workdir: /tmp/codex-multi-n6h2w74j
[codex:536304] model: gpt-5.2-codex
[codex:536304] provider: openai
[codex:536304] approval: never
[codex:536304] sandbox: read-only
[codex:536304] reasoning effort: xhigh
[codex:536304] reasoning summaries: auto
[codex:536304] session id: 019b79f2-cb53-72d1-8e2f-1b21e53e62ba
[codex:536304] --------
[codex:536304] user
[codex:536304] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:536304] 
[codex:536304] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:536304] 
[codex:536304] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:536304] - Gas inefficiency, code quality, naming, or best practices
[codex:536304] - Theoretical vulnerabilities without a clear extraction path
[codex:536304] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:536304] - Front-running unless it enables theft beyond MEV
[codex:536304] - DoS, griefing, or issues that don't result in attacker profit
[codex:536304] - Missing events, view function issues, or informational findings
[codex:536304] 
[codex:536304] HIGH-VALUE PATTERNS TO HUNT:
[codex:536304] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:536304] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:536304] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:536304] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:536304] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:536304] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:536304] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:536304] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:536304] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:536304] 
[codex:536304] For each finding, you MUST provide:
[codex:536304] 1. Exact file and line numbers of vulnerable code
[codex:536304] 2. Step-by-step exploit transaction sequence
[codex:536304] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:536304] 
[codex:536304] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:536304] 
[codex:536304] Output MUST be valid JSON matching the provided schema.
[codex:536304] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:536304] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:536304] mcp startup: no servers
[codex:536304] 
[codex:536304] thinking
[codex:536304] **Checking instructions and audit file**
[codex:536304] exec
[codex:536304] /bin/bash -lc ls in /tmp/codex-multi-n6h2w74j succeeded in 5ms:
[codex:536304] AUDIT_BUNDLE.txt
[codex:536304] codex-output-schema.json
[codex:536304] contracts
[codex:536304] exec
[codex:536304] /bin/bash -lc 'rg -n "" AUDIT_BUNDLE.txt' in /tmp/codex-multi-n6h2w74j succeeded in 8ms:
[codex:536304] 1:This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:536304] 2:
[codex:536304] 3:================================================================================
[codex:536304] 4:FILE: contracts/Users/lebedkin/programming/xsigma/truffle-tutorial/SigToken/contracts/SigThreePoolProxy.sol
[codex:536304] 5:================================================================================
[codex:536304] 6:// SPDX-License-Identifier: MIT
[codex:536304] 7:// Fork of Swerve's YPoolDelegator https://etherscan.io/address/0x329239599afB305DA0A2eC69c58F8a6697F9F88d#code
[codex:536304] 8:
[codex:536304] 9:pragma solidity 0.6.12;
[codex:536304] 10:pragma experimental ABIEncoderV2;
[codex:536304] 11:
[codex:536304] 12:import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:536304] 13:import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
[codex:536304] 14:import "@openzeppelin/contracts/math/Math.sol";
[codex:536304] 15:import "./SigToken.sol";
[codex:536304] 16:
[codex:536304] 17:contract SigThreePoolProxy {
[codex:536304] 18:    uint256 constant N_COINS = 3;
[codex:536304] 19:    address[] public coins;
[codex:536304] 20:    uint256[] public balances;
[codex:536304] 
[codex:536304] 
[codex:536304] thinking
[codex:536304] **Analyzing proxy and cashback mechanisms for exploits**
[codex:536304] thinking
[codex:536304] **Concluding no exploitable profit paths**
[codex:536304] 
[codex:536304] I've carefully reviewed the proxy’s delegatecall behavior, cashback calculations, token balances, and access controls; everything seems restricted enough to prevent an attacker from profiting. The math checks out, token transfers are safe, and owner-only functions prevent abuse. Given these conditions and trusted tokens, no concrete exploit path to drain value appears.
[codex:536304] codex
[codex:536304] {"no_findings":true,"summary":"Reviewed `contracts/Users/lebedkin/programming/xsigma/truffle-tutorial/SigToken/contracts/SigThreePoolProxy.sol` and `contracts/Users/lebedkin/programming/xsigma/truffle-tutorial/SigToken/contracts/SigToken.sol`; no concrete, exploitable profit path found under the stated assumptions (trusted coins, secure admin).","findings":[]}
[codex:536304] tokens used
[codex:536304] 13,246
[codex:536304] {"no_findings":true,"summary":"Reviewed `contracts/Users/lebedkin/programming/xsigma/truffle-tutorial/SigToken/contracts/SigThreePoolProxy.sol` and `contracts/Users/lebedkin/programming/xsigma/truffle-tutorial/SigToken/contracts/SigToken.sol`; no concrete, exploitable profit path found under the stated assumptions (trusted coins, secure admin).","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-01T14:26:44.495316+00:00",
        "returncode": 0
    },
    "summary": "Reviewed `contracts/Users/lebedkin/programming/xsigma/truffle-tutorial/SigToken/contracts/SigThreePoolProxy.sol` and `contracts/Users/lebedkin/programming/xsigma/truffle-tutorial/SigToken/contracts/SigToken.sol`; no concrete, exploitable profit path found under the stated assumptions (trusted coins, secure admin).",
    "raw_final": {
        "summary": "Reviewed `contracts/Users/lebedkin/programming/xsigma/truffle-tutorial/SigToken/contracts/SigThreePoolProxy.sol` and `contracts/Users/lebedkin/programming/xsigma/truffle-tutorial/SigToken/contracts/SigToken.sol`; no concrete, exploitable profit path found under the stated assumptions (trusted coins, secure admin).",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
2
Selfdestruct
0
CREATE2
1
CALL-family (heavy)
5
EXT*/BALANCE
4
Total opcodes
2278
Flags
delegatecall_present create_opcodes_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0144
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x6a9efeab
00000019: GT
0000001a: PUSH2 0x00b6
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xb4b577ad
00000024: GT
00000025: PUSH2 0x006f
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xb4b577ad
0000002f: EQ
00000030: PUSH2 0x0351
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xc6610657
0000003a: EQ
0000003b: PUSH2 0x0366
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xddca3f43
00000045: EQ
00000046: PUSH2 0x0386
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xe0a0b586
00000050: EQ
00000051: PUSH2 0x039b
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xe3824462
0000005b: EQ
0000005c: PUSH2 0x03b0
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0xfee3f7f9
00000066: EQ
00000067: PUSH2 0x03c5
0000006a: JUMPI
0000006b: PUSH2 0x014b
0000006e: JUMP
0000006f: JUMPDEST
00000070: DUP1
00000071: PUSH4 0x6a9efeab
00000076: EQ
00000077: PUSH2 0x02a5
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0x7d008a40
00000081: EQ
00000082: PUSH2 0x02c7
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0x8da5cb5b
0000008c: EQ
0000008d: PUSH2 0x02da
00000090: JUMPI
00000091: DUP1
00000092: PUSH4 0x90a7e05b
00000097: EQ
00000098: PUSH2 0x02ef
0000009b: JUMPI
0000009c: DUP1
0000009d: PUSH4 0x92773c55
000000a2: EQ
000000a3: PUSH2 0x030f
000000a6: JUMPI
000000a7: DUP1
000000a8: PUSH4 0xa250e192
000000ad: EQ
000000ae: PUSH2 0x032f
000000b1: JUMPI
000000b2: PUSH2 0x014b
000000b5: JUMP
000000b6: JUMPDEST
000000b7: DUP1
000000b8: PUSH4 0x405e28f8
000000bd: GT
000000be: PUSH2 0x0108
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0x405e28f8
000000c8: EQ
000000c9: PUSH2 0x0206
000000cc: JUMPI
000000cd: DUP1
000000ce: PUSH4 0x4903b0d1
000000d3: EQ
000000d4: PUSH2 0x021b
000000d7: JUMPI
000000d8: DUP1
000000d9: PUSH4 0x5383db20
000000de: EQ
000000df: PUSH2 0x023b
000000e2: JUMPI
000000e3: DUP1
000000e4: PUSH4 0x5409491a
000000e9: EQ
000000ea: PUSH2 0x025b
000000ed: JUMPI
000000ee: DUP1
000000ef: PUSH4 0x58680d0b
000000f4: EQ
000000f5: PUSH2 0x0270
000000f8: JUMPI
000000f9: DUP1
000000fa: PUSH4 0x5d552b68
000000ff: EQ
00000100: PUSH2 0x0285
00000103: JUMPI
00000104: PUSH2 0x014b
00000107: JUMP
00000108: JUMPDEST
00000109: DUP1
0000010a: PUSH4 0x14052288
0000010f: EQ
00000110: PUSH2 0x016f
00000113: JUMPI
00000114: DUP1
00000115: PUSH4 0x18299fc2
0000011a: EQ
0000011b: PUSH2 0x019a
0000011e: JUMPI
0000011f: DUP1
00000120: PUSH4 0x1ec0cdc1
00000125: EQ
00000126: PUSH2 0x01ba
00000129: JUMPI
0000012a: DUP1
0000012b: PUSH4 0x2081066c
00000130: EQ
00000131: PUSH2 0x01dc
00000134: JUMPI
00000135: DUP1
00000136: PUSH4 0x30c54085
0000013b: EQ
0000013c: PUSH2 0x01f1
0000013f: JUMPI
00000140: PUSH2 0x014b
00000143: JUMP
00000144: JUMPDEST
00000145: CALLDATASIZE
00000146: PUSH2 0x014b
00000149: JUMPI
0000014a: STOP
0000014b: JUMPDEST
0000014c: CALLVALUE
0000014d: DUP1
0000014e: ISZERO
0000014f: PUSH2 0x0157
00000152: JUMPI
00000153: PUSH1 0x00
00000155: DUP1
00000156: REVERT
00000157: JUMPDEST
00000158: POP
00000159: PUSH1 0x11
0000015b: SLOAD
0000015c: PUSH2 0x016d
0000015f: SWAP1
00000160: PUSH1 0x01
00000162: PUSH1 0x01
00000164: PUSH1 0xa0
00000166: SHL
00000167: SUB
00000168: AND
00000169: PUSH2 0x03da
0000016c: JUMP
0000016d: JUMPDEST
0000016e: STOP
0000016f: JUMPDEST
00000170: CALLVALUE
00000171: DUP1
00000172: ISZERO
00000173: PUSH2 0x017b
00000176: JUMPI
00000177: PUSH1 0x00
00000179: DUP1
0000017a: REVERT
0000017b: JUMPDEST
0000017c: POP
0000017d: PUSH2 0x0184
00000180: PUSH2 0x03fe
00000183: JUMP
00000184: JUMPDEST
00000185: PUSH1 0x40
00000187: MLOAD
00000188: PUSH2 0x0191
0000018b: SWAP2
0000018c: SWAP1
0000018d: PUSH2 0x0c94
00000190: JUMP
00000191: JUMPDEST
00000192: PUSH1 0x40
00000194: MLOAD
00000195: DUP1
00000196: SWAP2
00000197: SUB
00000198: SWAP1
00000199: RETURN
0000019a: JUMPDEST
0000019b: CALLVALUE
0000019c: DUP1
0000019d: ISZERO
0000019e: PUSH2 0x01a6
000001a1: JUMPI
000001a2: PUSH1 0x00
000001a4: DUP1
000001a5: REVERT
000001a6: JUMPDEST
000001a7: POP
000001a8: PUSH2 0x016d
000001ab: PUSH2 0x01b5
000001ae: CALLDATASIZE
000001af: PUSH1 0x04
000001b1: PUSH2 0x0aba
000001b4: JUMP
000001b5: JUMPDEST
000001b6: PUSH2 0x0404
000001b9: JUMP
000001ba: JUMPDEST
000001bb: CALLVALUE
000001bc: DUP1
000001bd: ISZERO
000001be: PUSH2 0x01c6
000001c1: JUMPI
000001c2: PUSH1 0x00
000001c4: DUP1
000001c5: REVERT
000001c6: JUMPDEST
000001c7: POP
000001c8: PUSH2 0x01cf
000001cb: PUSH2 0x04f0
000001ce: JUMP
000001cf: JUMPDEST
000001d0: PUSH1 0x40
000001d2: MLOAD
000001d3: PUSH2 0x0191
000001d6: SWAP2
000001d7: SWAP1
000001d8: PUSH2 0x0bad
000001db: JUMP
000001dc: JUMPDEST
000001dd: CALLVALUE
000001de: DUP1
000001df: ISZERO
000001e0: PUSH2 0x01e8
000001e3: JUMPI
000001e4: PUSH1 0x00
000001e6: DUP1
000001e7: REVERT
000001e8: JUMPDEST
000001e9: POP
000001ea: PUSH2 0x0184
000001ed: PUSH2 0x04ff
000001f0: JUMP
000001f1: JUMPDEST
000001f2: CALLVALUE
000001f3: DUP1
000001f4: ISZERO
000001f5: PUSH2 0x01fd
000001f8: JUMPI
000001f9: PUSH1 0x00
000001fb: DUP1
000001fc: REVERT
000001fd: JUMPDEST
000001fe: POP
000001ff: PUSH2 0x016d
00000202: PUSH2 0x0505
00000205: JUMP
00000206: JUMPDEST
00000207: CALLVALUE
00000208: DUP1
00000209: ISZERO
0000020a: PUSH2 0x0212
0000020d: JUMPI
0000020e: PUSH1 0x00
00000210: DUP1
00000211: REVERT
00000212: JUMPDEST
00000213: POP
00000214: PUSH2 0x0184
00000217: PUSH2 0x066b
0000021a: JUMP
0000021b: JUMPDEST
0000021c: CALLVALUE
0000021d: DUP1
0000021e: ISZERO
0000021f: PUSH2 0x0227
00000222: JUMPI
00000223: PUSH1 0x00
00000225: DUP1
00000226: REVERT
00000227: JUMPDEST
00000228: POP
00000229: PUSH2 0x0184
0000022c: PUSH2 0x0236
0000022f: CALLDATASIZE
00000230: PUSH1 0x04
00000232: PUSH2 0x0b30
00000235: JUMP
00000236: JUMPDEST
00000237: PUSH2 0x0671
0000023a: JUMP
0000023b: JUMPDEST
0000023c: CALLVALUE
0000023d: DUP1
0000023e: ISZERO
0000023f: PUSH2 0x0247
00000242: JUMPI
00000243: PUSH1 0x00
00000245: DUP1
00000246: REVERT
00000247: JUMPDEST
00000248: POP
00000249: PUSH2 0x016d
0000024c: PUSH2 0x0256
0000024f: CALLDATASIZE
00000250: PUSH1 0x04
00000252: PUSH2 0x0a73
00000255: JUMP
00000256: JUMPDEST
00000257: PUSH2 0x068f
0000025a: JUMP
0000025b: JUMPDEST
0000025c: CALLVALUE
0000025d: DUP1
0000025e: ISZERO
0000025f: PUSH2 0x0267
00000262: JUMPI
00000263: PUSH1 0x00
00000265: DUP1
00000266: REVERT
00000267: JUMPDEST
00000268: POP
00000269: PUSH2 0x0184
0000026c: PUSH2 0x06c8
0000026f: JUMP
00000270: JUMPDEST
00000271: CALLVALUE
00000272: DUP1
00000273: ISZERO
00000274: PUSH2 0x027c
00000277: JUMPI
00000278: PUSH1 0x00
0000027a: DUP1
0000027b: REVERT
0000027c: JUMPDEST
0000027d: POP
0000027e: PUSH2 0x0184
00000281: PUSH2 0x06ce
00000284: JUMP
00000285: JUMPDEST
00000286: CALLVALUE
00000287: DUP1
00000288: ISZERO
00000289: PUSH2 0x0291
0000028c: JUMPI
0000028d: PUSH1 0x00
0000028f: DUP1
00000290: REVERT
00000291: JUMPDEST
00000292: POP
00000293: PUSH2 0x0184
00000296: PUSH2 0x02a0
00000299: CALLDATASIZE
0000029a: PUSH1 0x04
0000029c: PUSH2 0x0b30
0000029f: JUMP
000002a0: JUMPDEST
000002a1: PUSH2 0x06d4
000002a4: JUMP
000002a5: JUMPDEST
000002a6: CALLVALUE
000002a7: DUP1
000002a8: ISZERO
000002a9: PUSH2 0x02b1
000002ac: JUMPI
000002ad: PUSH1 0x00
000002af: DUP1
000002b0: REVERT
000002b1: JUMPDEST
000002b2: POP
000002b3: PUSH2 0x02ba
000002b6: PUSH2 0x084c
000002b9: JUMP
000002ba: JUMPDEST
000002bb: PUSH1 0x40
000002bd: MLOAD
000002be: PUSH2 0x0191
000002c1: SWAP2
000002c2: SWAP1
000002c3: PUSH2 0x0c9d
000002c6: JUMP
000002c7: JUMPDEST
000002c8: PUSH2 0x016d
000002cb: PUSH2 0x02d5
000002ce: CALLDATASIZE
000002cf: PUSH1 0x04
000002d1: PUSH2 0x0b60
000002d4: JUMP
000002d5: JUMPDEST
000002d6: PUSH2 0x085f
000002d9: JUMP
000002da: JUMPDEST
000002db: CALLVALUE
000002dc: DUP1
000002dd: ISZERO
000002de: PUSH2 0x02e6
000002e1: JUMPI
000002e2: PUSH1 0x00
000002e4: DUP1
000002e5: REVERT
000002e6: JUMPDEST
000002e7: POP
000002e8: PUSH2 0x01cf
000002eb: PUSH2 0x08cf
000002ee: JUMP
000002ef: JUMPDEST
000002f0: CALLVALUE
000002f1: DUP1
000002f2: ISZERO
000002f3: PUSH2 0x02fb
000002f6: JUMPI
000002f7: PUSH1 0x00
000002f9: DUP1
000002fa: REVERT
000002fb: JUMPDEST
000002fc: POP
000002fd: PUSH2 0x0184
00000300: PUSH2 0x030a
00000303: CALLDATASIZE
00000304: PUSH1 0x04
00000306: PUSH2 0x0b30
00000309: JUMP
0000030a: JUMPDEST
0000030b: PUSH2 0x08de
0000030e: JUMP
0000030f: JUMPDEST
00000310: CALLVALUE
00000311: DUP1
00000312: ISZERO
00000313: PUSH2 0x031b
00000316: JUMPI
00000317: PUSH1 0x00
00000319: DUP1
0000031a: REVERT
0000031b: JUMPDEST
0000031c: POP
0000031d: PUSH2 0x0184
00000320: PUSH2 0x032a
00000323: CALLDATASIZE
00000324: PUSH1 0x04
00000326: PUSH2 0x0afd
00000329: JUMP
0000032a: JUMPDEST
0000032b: PUSH2 0x0914
0000032e: JUMP
0000032f: JUMPDEST
00000330: CALLVALUE
00000331: DUP1
00000332: ISZERO
00000333: PUSH2 0x033b
00000336: JUMPI
00000337: PUSH1 0x00
00000339: DUP1
0000033a: REVERT
0000033b: JUMPDEST
0000033c: POP
0000033d: PUSH2 0x0344
00000340: PUSH2 0x0975
00000343: JUMP
00000344: JUMPDEST
00000345: PUSH1 0x40
00000347: MLOAD
00000348: PUSH2 0x0191
0000034b: SWAP2
0000034c: SWAP1
0000034d: PUSH2 0x0cae
00000350: JUMP
00000351: JUMPDEST
00000352: CALLVALUE
00000353: DUP1
00000354: ISZERO
00000355: PUSH2 0x035d
00000358: JUMPI
00000359: PUSH1 0x00
0000035b: DUP1
0000035c: REVERT
0000035d: JUMPDEST
0000035e: POP
0000035f: PUSH2 0x0184
00000362: PUSH2 0x098c
00000365: JUMP
00000366: JUMPDEST
00000367: CALLVALUE
00000368: DUP1
00000369: ISZERO
0000036a: PUSH2 0x0372
0000036d: JUMPI
0000036e: PUSH1 0x00
00000370: DUP1
00000371: REVERT
00000372: JUMPDEST
00000373: POP
00000374: PUSH2 0x01cf
00000377: PUSH2 0x0381
0000037a: CALLDATASIZE
0000037b: PUSH1 0x04
0000037d: PUSH2 0x0b30
00000380: JUMP
00000381: JUMPDEST
00000382: PUSH2 0x0992
00000385: JUMP
00000386: JUMPDEST
00000387: CALLVALUE
00000388: DUP1
00000389: ISZERO
0000038a: PUSH2 0x0392
0000038d: JUMPI
0000038e: PUSH1 0x00
00000390: DUP1
00000391: REVERT
00000392: JUMPDEST
00000393: POP
00000394: PUSH2 0x0184
00000397: PUSH2 0x09b9
0000039a: JUMP
0000039b: JUMPDEST
0000039c: CALLVALUE
0000039d: DUP1
0000039e: ISZERO
0000039f: PUSH2 0x03a7
000003a2: JUMPI
000003a3: PUSH1 0x00
000003a5: DUP1
000003a6: REVERT
000003a7: JUMPDEST
000003a8: POP
000003a9: PUSH2 0x0184
000003ac: PUSH2 0x09bf
000003af: JUMP
000003b0: JUMPDEST
000003b1: CALLVALUE
000003b2: DUP1
000003b3: ISZERO
000003b4: PUSH2 0x03bc
000003b7: JUMPI
000003b8: PUSH1 0x00
000003ba: DUP1
000003bb: REVERT
000003bc: JUMPDEST
000003bd: POP
000003be: PUSH2 0x0184
000003c1: PUSH2 0x09c5
000003c4: JUMP
000003c5: JUMPDEST
000003c6: CALLVALUE
000003c7: DUP1
000003c8: ISZERO
000003c9: PUSH2 0x03d1
000003cc: JUMPI
000003cd: PUSH1 0x00
000003cf: DUP1
000003d0: REVERT
000003d1: JUMPDEST
000003d2: POP
000003d3: PUSH2 0x0184
000003d6: PUSH2 0x09cb
000003d9: JUMP
000003da: JUMPDEST
000003db: CALLDATASIZE
000003dc: PUSH1 0x00
000003de: DUP1
000003df: CALLDATACOPY
000003e0: PUSH1 0x00
000003e2: DUP1
000003e3: CALLDATASIZE
000003e4: PUSH1 0x00
000003e6: DUP5
000003e7: GAS
000003e8: DELEGATECALL
000003e9: RETURNDATASIZE
000003ea: PUSH1 0x00
000003ec: DUP1
000003ed: RETURNDATACOPY
000003ee: DUP1
000003ef: DUP1
000003f0: ISZERO
000003f1: PUSH2 0x03f9
000003f4: JUMPI
000003f5: RETURNDATASIZE
000003f6: PUSH1 0x00
000003f8: RETURN
000003f9: JUMPDEST
000003fa: RETURNDATASIZE
000003fb: PUSH1 0x00
000003fd: REVERT
000003fe: JUMPDEST
000003ff: PUSH1 0x09
00000401: SLOAD
00000402: DUP2
00000403: JUMP
00000404: JUMPDEST
00000405: PUSH1 0x11
00000407: SLOAD
00000408: PUSH1 0x40
0000040a: MLOAD
0000040b: PUSH1 0x00
0000040d: SWAP2
0000040e: PUSH1 0x60
00000410: SWAP2
00000411: PUSH1 0x01
00000413: PUSH1 0x01
00000415: PUSH1 0xa0
00000417: SHL
00000418: SUB
00000419: SWAP1
0000041a: SWAP2
0000041b: AND
0000041c: SWAP1
0000041d: PUSH2 0x0430
00000420: SWAP1
00000421: DUP9
00000422: SWAP1
00000423: DUP9
00000424: SWAP1
00000425: DUP9
00000426: SWAP1
00000427: DUP9
00000428: SWAP1
00000429: PUSH1 0x24
0000042b: ADD
0000042c: PUSH2 0x0bda
0000042f: JUMP
00000430: JUMPDEST
00000431: PUSH1 0x40
00000433: DUP1
00000434: MLOAD
00000435: PUSH1 0x1f
00000437: NOT
00000438: DUP2
00000439: DUP5
0000043a: SUB
0000043b: ADD
0000043c: DUP2
0000043d: MSTORE
0000043e: SWAP2
0000043f: DUP2
00000440: MSTORE
00000441: PUSH1 0x20
00000443: DUP3
00000444: ADD
00000445: DUP1
00000446: MLOAD
00000447: PUSH1 0x01
00000449: PUSH1 0x01
0000044b: PUSH1 0xe0
0000044d: SHL
0000044e: SUB
0000044f: AND
00000450: PUSH4 0x0f7c0849
00000455: PUSH1 0xe2
00000457: SHL
00000458: OR
00000459: SWAP1
0000045a: MSTORE
0000045b: MLOAD
0000045c: PUSH2 0x0465
0000045f: SWAP2
00000460: SWAP1
00000461: PUSH2 0x0b91
00000464: JUMP
00000465: JUMPDEST
00000466: PUSH1 0x00
00000468: PUSH1 0x40
0000046a: MLOAD
0000046b: DUP1
0000046c: DUP4
0000046d: SUB
0000046e: DUP2
0000046f: DUP6
00000470: GAS
00000471: DELEGATECALL
00000472: SWAP2
00000473: POP
00000474: POP
00000475: RETURNDATASIZE
00000476: DUP1
00000477: PUSH1 0x00
00000479: DUP2
0000047a: EQ
0000047b: PUSH2 0x04a0
0000047e: JUMPI
0000047f: PUSH1 0x40
00000481: MLOAD
00000482: SWAP2
00000483: POP
00000484: PUSH1 0x1f
00000486: NOT
00000487: PUSH1 0x3f
00000489: RETURNDATASIZE
0000048a: ADD
0000048b: AND
0000048c: DUP3
0000048d: ADD
0000048e: PUSH1 0x40
00000490: MSTORE
00000491: RETURNDATASIZE
00000492: DUP3
00000493: MSTORE
00000494: RETURNDATASIZE
00000495: PUSH1 0x00
00000497: PUSH1 0x20
00000499: DUP5
0000049a: ADD
0000049b: RETURNDATACOPY
0000049c: PUSH2 0x04a5
0000049f: JUMP
000004a0: JUMPDEST
000004a1: PUSH1 0x60
000004a3: SWAP2
000004a4: POP
000004a5: JUMPDEST
000004a6: POP
000004a7: SWAP2
000004a8: POP
000004a9: SWAP2
000004aa: POP
000004ab: DUP2
000004ac: PUSH2 0x04de
000004af: JUMPI
000004b0: DUP1
000004b1: MLOAD
000004b2: ISZERO
000004b3: PUSH2 0x04d9
000004b6: JUMPI
000004b7: DUP1
000004b8: PUSH1 0x40
000004ba: MLOAD
000004bb: PUSH3 0x461bcd
000004bf: PUSH1 0xe5
000004c1: SHL
000004c2: DUP2
000004c3: MSTORE
000004c4: PUSH1 0x04
000004c6: ADD
000004c7: PUSH2 0x04d0
000004ca: SWAP2
000004cb: SWAP1
000004cc: PUSH2 0x0bfd
000004cf: JUMP
000004d0: JUMPDEST
000004d1: PUSH1 0x40
000004d3: MLOAD
000004d4: DUP1
000004d5: SWAP2
000004d6: SUB
000004d7: SWAP1
000004d8: REVERT
000004d9: JUMPDEST
000004da: PUSH1 0x00
000004dc: DUP1
000004dd: REVERT
000004de: JUMPDEST
000004df: PUSH2 0x04e8
000004e2: DUP7
000004e3: DUP6
000004e4: PUSH2 0x09d1
000004e7: JUMP
000004e8: JUMPDEST
000004e9: POP
000004ea: POP
000004eb: POP
000004ec: POP
000004ed: POP
000004ee: POP
000004ef: JUMP
000004f0: JUMPDEST
000004f1: PUSH1 0x0e
000004f3: SLOAD
000004f4: PUSH1 0x01
000004f6: PUSH1 0x01
000004f8: PUSH1 0xa0
000004fa: SHL
000004fb: SUB
000004fc: AND
000004fd: DUP2
000004fe: JUMP
000004ff: JUMPDEST
00000500: PUSH1 0x08
00000502: SLOAD
00000503: DUP2
00000504: JUMP
00000505: JUMPDEST
00000506: PUSH1 0x00
00000508: JUMPDEST
00000509: PUSH1 0x03
0000050b: DUP2
0000050c: LT
0000050d: ISZERO
0000050e: PUSH2 0x0668
00000511: JUMPI
00000512: PUSH1 0x00
00000514: DUP1
00000515: DUP3
00000516: DUP2
00000517: SLOAD
00000518: DUP2
00000519: LT
0000051a: PUSH2 0x051f
0000051d: JUMPI
0000051e: INVALID
0000051f: JUMPDEST
00000520: PUSH1 0x00
00000522: SWAP2
00000523: DUP3
00000524: MSTORE
00000525: PUSH1 0x20
00000527: DUP3
00000528: KECCAK256
00000529: ADD
0000052a: SLOAD
0000052b: PUSH1 0x01
0000052d: DUP1
0000052e: SLOAD
0000052f: PUSH1 0x01
00000531: PUSH1 0x01
00000533: PUSH1 0xa0
00000535: SHL
00000536: SUB
00000537: SWAP1
00000538: SWAP3
00000539: AND
0000053a: SWAP4
0000053b: POP
0000053c: SWAP1
0000053d: DUP5
0000053e: SWAP1
0000053f: DUP2
00000540: LT
00000541: PUSH2 0x0546
00000544: JUMPI
00000545: INVALID
00000546: JUMPDEST
00000547: SWAP1
00000548: PUSH1 0x00
0000054a: MSTORE
0000054b: PUSH1 0x20
0000054d: PUSH1 0x00
0000054f: KECCAK256
00000550: ADD
00000551: SLOAD
00000552: DUP3
00000553: PUSH1 0x01
00000555: PUSH1 0x01
00000557: PUSH1 0xa0
00000559: SHL
0000055a: SUB
0000055b: AND
0000055c: PUSH4 0x70a08231
00000561: ADDRESS
00000562: PUSH1 0x40
00000564: MLOAD
00000565: DUP3
00000566: PUSH4 0xffffffff
0000056b: AND
0000056c: PUSH1 0xe0
0000056e: SHL
0000056f: DUP2
00000570: MSTORE
00000571: PUSH1 0x04
00000573: ADD
00000574: PUSH2 0x057d
00000577: SWAP2
00000578: SWAP1
00000579: PUSH2 0x0bad
0000057c: JUMP
0000057d: JUMPDEST
0000057e: PUSH1 0x20
00000580: PUSH1 0x40
00000582: MLOAD
00000583: DUP1
00000584: DUP4
00000585: SUB
00000586: DUP2
00000587: DUP7
00000588: DUP1
00000589: EXTCODESIZE
0000058a: ISZERO
0000058b: DUP1
0000058c: ISZERO
0000058d: PUSH2 0x0595
00000590: JUMPI
00000591: PUSH1 0x00
00000593: DUP1
00000594: REVERT
00000595: JUMPDEST
00000596: POP
00000597: GAS
00000598: STATICCALL
00000599: ISZERO
0000059a: DUP1
0000059b: ISZERO
0000059c: PUSH2 0x05a9
0000059f: JUMPI
000005a0: RETURNDATASIZE
000005a1: PUSH1 0x00
000005a3: DUP1
000005a4: RETURNDATACOPY
000005a5: RETURNDATASIZE
000005a6: PUSH1 0x00
000005a8: REVERT
000005a9: JUMPDEST
000005aa: POP
000005ab: POP
000005ac: POP
000005ad: POP
000005ae: PUSH1 0x40
000005b0: MLOAD
000005b1: RETURNDATASIZE
000005b2: PUSH1 0x1f
000005b4: NOT
000005b5: PUSH1 0x1f
000005b7: DUP3
000005b8: ADD
000005b9: AND
000005ba: DUP3
000005bb: ADD
000005bc: DUP1
000005bd: PUSH1 0x40
000005bf: MSTORE
000005c0: POP
000005c1: DUP2
000005c2: ADD
000005c3: SWAP1
000005c4: PUSH2 0x05cd
000005c7: SWAP2
000005c8: SWAP1
000005c9: PUSH2 0x0b48
000005cc: JUMP
000005cd: JUMPDEST
000005ce: SUB
000005cf: SWAP1
000005d0: POP
000005d1: DUP1
000005d2: ISZERO
000005d3: PUSH2 0x065e
000005d6: JUMPI
000005d7: PUSH1 0x12
000005d9: SLOAD
000005da: PUSH1 0x40
000005dc: MLOAD
000005dd: PUSH4 0xa9059cbb
000005e2: PUSH1 0xe0
000005e4: SHL
000005e5: DUP2
000005e6: MSTORE
000005e7: PUSH1 0x01
000005e9: PUSH1 0x01
000005eb: PUSH1 0xa0
000005ed: SHL
000005ee: SUB
000005ef: DUP5
000005f0: DUP2
000005f1: AND
000005f2: SWAP3
000005f3: PUSH4 0xa9059cbb
000005f8: SWAP3
000005f9: PUSH2 0x060a
000005fc: SWAP3
000005fd: SWAP1
000005fe: SWAP2
000005ff: AND
00000600: SWAP1
00000601: DUP6
00000602: SWAP1
00000603: PUSH1 0x04
00000605: ADD
00000606: PUSH2 0x0bc1
00000609: JUMP
0000060a: JUMPDEST
0000060b: PUSH1 0x20
0000060d: PUSH1 0x40
0000060f: MLOAD
00000610: DUP1
00000611: DUP4
00000612: SUB
00000613: DUP2
00000614: PUSH1 0x00
00000616: DUP8
00000617: DUP1
00000618: EXTCODESIZE
00000619: ISZERO
0000061a: DUP1
0000061b: ISZERO
0000061c: PUSH2 0x0624
0000061f: JUMPI
00000620: PUSH1 0x00
00000622: DUP1
00000623: REVERT
00000624: JUMPDEST
00000625: POP
00000626: GAS
00000627: CALL
00000628: ISZERO
00000629: DUP1
0000062a: ISZERO
0000062b: PUSH2 0x0638
0000062e: JUMPI
0000062f: RETURNDATASIZE
00000630: PUSH1 0x00
00000632: DUP1
00000633: RETURNDATACOPY
00000634: RETURNDATASIZE
00000635: PUSH1 0x00
00000637: REVERT
00000638: JUMPDEST
00000639: POP
0000063a: POP
0000063b: POP
0000063c: POP
0000063d: PUSH1 0x40
0000063f: MLOAD
00000640: RETURNDATASIZE
00000641: PUSH1 0x1f
00000643: NOT
00000644: PUSH1 0x1f
00000646: DUP3
00000647: ADD
00000648: AND
00000649: DUP3
0000064a: ADD
0000064b: DUP1
0000064c: PUSH1 0x40
0000064e: MSTORE
0000064f: POP
00000650: DUP2
00000651: ADD
00000652: SWAP1
00000653: PUSH2 0x065c
00000656: SWAP2
00000657: SWAP1
00000658: PUSH2 0x0a9a
0000065b: JUMP
0000065c: JUMPDEST
0000065d: POP
0000065e: JUMPDEST
0000065f: POP
00000660: POP
00000661: PUSH1 0x01
00000663: ADD
00000664: PUSH2 0x0508
00000667: JUMP
00000668: JUMPDEST
00000669: POP
0000066a: JUMP
0000066b: JUMPDEST
0000066c: PUSH1 0x0a
0000066e: SLOAD
0000066f: DUP2
00000670: JUMP
00000671: JUMPDEST
00000672: PUSH1 0x01
00000674: DUP2
00000675: DUP2
00000676: SLOAD
00000677: DUP2
00000678: LT
00000679: PUSH2 0x067e
0000067c: JUMPI
0000067d: INVALID
0000067e: JUMPDEST
0000067f: PUSH1 0x00
00000681: SWAP2
00000682: DUP3
00000683: MSTORE
00000684: PUSH1 0x20
00000686: SWAP1
00000687: SWAP2
00000688: KECCAK256
00000689: ADD
0000068a: SLOAD
0000068b: SWAP1
0000068c: POP
0000068d: DUP2
0000068e: JUMP
0000068f: JUMPDEST
00000690: PUSH1 0x04
00000692: SLOAD
00000693: PUSH1 0x01
00000695: PUSH1 0x01
00000697: PUSH1 0xa0
00000699: SHL
0000069a: SUB
0000069b: AND
0000069c: CALLER
0000069d: EQ
0000069e: PUSH2 0x06a6
000006a1: JUMPI
000006a2: PUSH1 0x00
000006a4: DUP1
000006a5: REVERT
000006a6: JUMPDEST
000006a7: PUSH1 0x12
000006a9: DUP1
000006aa: SLOAD
000006ab: PUSH1 0x01
000006ad: PUSH1 0x01
000006af: PUSH1 0xa0
000006b1: SHL
000006b2: SUB
000006b3: NOT
000006b4: AND
000006b5: PUSH1 0x01
000006b7: PUSH1 0x01
000006b9: PUSH1 0xa0
000006bb: SHL
000006bc: SUB
000006bd: SWAP3
000006be: SWAP1
000006bf: SWAP3
000006c0: AND
000006c1: SWAP2
000006c2: SWAP1
000006c3: SWAP2
000006c4: OR
000006c5: SWAP1
000006c6: SSTORE
000006c7: JUMP
000006c8: JUMPDEST
000006c9: PUSH1 0x06
000006cb: SLOAD
000006cc: DUP2
000006cd: JUMP
000006ce: JUMPDEST
000006cf: PUSH1 0x0c
000006d1: SLOAD
000006d2: DUP2
000006d3: JUMP
000006d4: JUMPDEST
000006d5: PUSH1 0x13
000006d7: SLOAD
000006d8: PUSH1 0x40
000006da: MLOAD
000006db: PUSH4 0x70a08231
000006e0: PUSH1 0xe0
000006e2: SHL
000006e3: DUP2
000006e4: MSTORE
000006e5: PUSH1 0x00
000006e7: SWAP2
000006e8: DUP3
000006e9: SWAP2
000006ea: PUSH1 0x02
000006ec: SWAP2
000006ed: PUSH1 0x01
000006ef: PUSH1 0x01
000006f1: PUSH1 0xa0
000006f3: SHL
000006f4: SUB
000006f5: AND
000006f6: SWAP1
000006f7: PUSH4 0x70a08231
000006fc: SWAP1
000006fd: PUSH2 0x070a
00000700: SWAP1
00000701: CALLER
00000702: SWAP1
00000703: PUSH1 0x04
00000705: ADD
00000706: PUSH2 0x0bad
00000709: JUMP
0000070a: JUMPDEST
0000070b: PUSH1 0x20
0000070d: PUSH1 0x40
0000070f: MLOAD
00000710: DUP1
00000711: DUP4
00000712: SUB
00000713: DUP2
00000714: DUP7
00000715: DUP1
00000716: EXTCODESIZE
00000717: ISZERO
00000718: DUP1
00000719: ISZERO
0000071a: PUSH2 0x0722
0000071d: JUMPI
0000071e: PUSH1 0x00
00000720: DUP1
00000721: REVERT
00000722: JUMPDEST
00000723: POP
00000724: GAS
00000725: STATICCALL
00000726: ISZERO
00000727: DUP1
00000728: ISZERO
00000729: PUSH2 0x0736
0000072c: JUMPI
0000072d: RETURNDATASIZE
0000072e: PUSH1 0x00
00000730: DUP1
00000731: RETURNDATACOPY
00000732: RETURNDATASIZE
00000733: PUSH1 0x00
00000735: REVERT
00000736: JUMPDEST
00000737: POP
00000738: POP
00000739: POP
0000073a: POP
0000073b: PUSH1 0x40
0000073d: MLOAD
0000073e: RETURNDATASIZE
0000073f: PUSH1 0x1f
00000741: NOT
00000742: PUSH1 0x1f
00000744: DUP3
00000745: ADD
00000746: AND
00000747: DUP3
00000748: ADD
00000749: DUP1
0000074a: PUSH1 0x40
0000074c: MSTORE
0000074d: POP
0000074e: DUP2
0000074f: ADD
00000750: SWAP1
00000751: PUSH2 0x075a
00000754: SWAP2
00000755: SWAP1
00000756: PUSH2 0x0b48
00000759: JUMP
0000075a: JUMPDEST
0000075b: PUSH1 0x13
0000075d: SLOAD
0000075e: PUSH1 0x40
00000760: MLOAD
00000761: PUSH4 0x70a08231
00000766: PUSH1 0xe0
00000768: SHL
00000769: DUP2
0000076a: MSTORE
0000076b: PUSH1 0x01
0000076d: PUSH1 0x01
0000076f: PUSH1 0xa0
00000771: SHL
00000772: SUB
00000773: SWAP1
00000774: SWAP2
00000775: AND
00000776: SWAP1
00000777: PUSH4 0x70a08231
0000077c: SWAP1
0000077d: PUSH2 0x078a
00000780: SWAP1
00000781: ORIGIN
00000782: SWAP1
00000783: PUSH1 0x04
00000785: ADD
00000786: PUSH2 0x0bad
00000789: JUMP
0000078a: JUMPDEST
0000078b: PUSH1 0x20
0000078d: PUSH1 0x40
0000078f: MLOAD
00000790: DUP1
00000791: DUP4
00000792: SUB
00000793: DUP2
00000794: DUP7
00000795: DUP1
00000796: EXTCODESIZE
00000797: ISZERO
00000798: DUP1
00000799: ISZERO
0000079a: PUSH2 0x07a2
0000079d: JUMPI
0000079e: PUSH1 0x00
000007a0: DUP1
000007a1: REVERT
000007a2: JUMPDEST
000007a3: POP
000007a4: GAS
000007a5: STATICCALL
000007a6: ISZERO
000007a7: DUP1
000007a8: ISZERO
000007a9: PUSH2 0x07b6
000007ac: JUMPI
000007ad: RETURNDATASIZE
000007ae: PUSH1 0x00
000007b0: DUP1
000007b1: RETURNDATACOPY
000007b2: RETURNDATASIZE
000007b3: PUSH1 0x00
000007b5: REVERT
000007b6: JUMPDEST
000007b7: POP
000007b8: POP
000007b9: POP
000007ba: POP
000007bb: PUSH1 0x40
000007bd: MLOAD
000007be: RETURNDATASIZE
000007bf: PUSH1 0x1f
000007c1: NOT
000007c2: PUSH1 0x1f
000007c4: DUP3
000007c5: ADD
000007c6: AND
000007c7: DUP3
000007c8: ADD
000007c9: DUP1
000007ca: PUSH1 0x40
000007cc: MSTORE
000007cd: POP
000007ce: DUP2
000007cf: ADD
000007d0: SWAP1
000007d1: PUSH2 0x07da
000007d4: SWAP2
000007d5: SWAP1
000007d6: PUSH2 0x0b48
000007d9: JUMP
000007da: JUMPDEST
000007db: ADD
000007dc: DUP2
000007dd: PUSH2 0x07e2
000007e0: JUMPI
000007e1: INVALID
000007e2: JUMPDEST
000007e3: DIV
000007e4: SWAP1
000007e5: POP
000007e6: PUSH9 0x01a055690d9db80000
000007f0: DUP2
000007f1: LT
000007f2: ISZERO
000007f3: PUSH2 0x0800
000007f6: JUMPI
000007f7: PUSH1 0x00
000007f9: SWAP2
000007fa: POP
000007fb: POP
000007fc: PUSH2 0x0847
000007ff: JUMP
00000800: JUMPDEST
00000801: PUSH1 0x00
00000803: PUSH2 0x0815
00000806: DUP3
00000807: PUSH9 0x056bc75e2d63100000
00000811: PUSH2 0x0a47
00000814: JUMP
00000815: JUMPDEST
00000816: SWAP1
00000817: POP
00000818: PUSH1 0x00
0000081a: PUSH2 0x0828
0000081d: DUP6
0000081e: PUSH5 0x174876e800
00000824: PUSH2 0x0a47
00000827: JUMP
00000828: JUMPDEST
00000829: SWAP1
0000082a: POP
0000082b: PUSH1 0x00
0000082d: PUSH9 0x056bc75e2d63100000
00000837: PUSH3 0x0186a0
0000083b: DUP5
0000083c: MUL
0000083d: DIV
0000083e: SWAP2
0000083f: SWAP1
00000840: SWAP2
00000841: MUL
00000842: SWAP4
00000843: POP
00000844: POP
00000845: POP
00000846: POP
00000847: JUMPDEST
00000848: SWAP2
00000849: SWAP1
0000084a: POP
0000084b: JUMP
0000084c: JUMPDEST
0000084d: PUSH1 0x0e
0000084f: SLOAD
00000850: PUSH1 0x01
00000852: PUSH1 0xe0
00000854: SHL
00000855: SWAP1
00000856: DIV
00000857: PUSH4 0xffffffff
0000085c: AND
0000085d: DUP2
0000085e: JUMP
0000085f: JUMPDEST
00000860: PUSH1 0x04
00000862: SLOAD
00000863: PUSH1 0x01
00000865: PUSH1 0x01
00000867: PUSH1 0xa0
00000869: SHL
0000086a: SUB
0000086b: AND
0000086c: CALLER
0000086d: EQ
0000086e: PUSH2 0x0889
00000871: JUMPI
00000872: PUSH1 0x40
00000874: MLOAD
00000875: PUSH3 0x461bcd
00000879: PUSH1 0xe5
0000087b: SHL
0000087c: DUP2
0000087d: MSTORE
0000087e: PUSH1 0x04
00000880: ADD
00000881: PUSH2 0x04d0
00000884: SWAP1
00000885: PUSH2 0x0c67
00000888: JUMP
00000889: JUMPDEST
0000088a: DUP1
0000088b: SELFBALANCE
0000088c: LT
0000088d: ISZERO
0000088e: PUSH2 0x08a9
00000891: JUMPI
00000892: PUSH1 0x40
00000894: MLOAD
00000895: PUSH3 0x461bcd
00000899: PUSH1 0xe5
0000089b: SHL
0000089c: DUP2
0000089d: MSTORE
0000089e: PUSH1 0x04
000008a0: ADD
000008a1: PUSH2 0x04d0
000008a4: SWAP1
000008a5: PUSH2 0x0c30
000008a8: JUMP
000008a9: JUMPDEST
000008aa: PUSH1 0x14
000008ac: DUP5
000008ad: SWAP1
000008ae: SSTORE
000008af: PUSH1 0x15
000008b1: DUP4
000008b2: SWAP1
000008b3: SSTORE
000008b4: DUP4
000008b5: DUP4
000008b6: SUB
000008b7: DUP3
000008b8: DUP3
000008b9: SUB
000008ba: DUP2
000008bb: PUSH2 0x08c0
000008be: JUMPI
000008bf: INVALID
000008c0: JUMPDEST
000008c1: SDIV
000008c2: PUSH1 0x16
000008c4: SSTORE
000008c5: POP
000008c6: SELFBALANCE
000008c7: SWAP1
000008c8: SUB
000008c9: PUSH1 0x17
000008cb: SSTORE
000008cc: POP
000008cd: POP
000008ce: JUMP
000008cf: JUMPDEST
000008d0: PUSH1 0x04
000008d2: SLOAD
000008d3: PUSH1 0x01
000008d5: PUSH1 0x01
000008d7: PUSH1 0xa0
000008d9: SHL
000008da: SUB
000008db: AND
000008dc: DUP2
000008dd: JUMP
000008de: JUMPDEST
000008df: PUSH1 0x00
000008e1: PUSH1 0x14
000008e3: SLOAD
000008e4: DUP3
000008e5: LT
000008e6: DUP1
000008e7: PUSH2 0x08f1
000008ea: JUMPI
000008eb: POP
000008ec: DUP2
000008ed: PUSH1 0x15
000008ef: SLOAD
000008f0: LT
000008f1: JUMPDEST
000008f2: ISZERO
000008f3: PUSH2 0x08fe
000008f6: JUMPI
000008f7: POP
000008f8: PUSH1 0x00
000008fa: PUSH2 0x0847
000008fd: JUMP
000008fe: JUMPDEST
000008ff: PUSH1 0x17
00000901: SLOAD
00000902: PUSH1 0x14
00000904: SLOAD
00000905: DUP4
00000906: SUB
00000907: PUSH1 0x16
00000909: SLOAD
0000090a: MUL
0000090b: SELFBALANCE
0000090c: ADD
0000090d: ADD
0000090e: SWAP1
0000090f: POP
00000910: SWAP2
00000911: SWAP1
00000912: POP
00000913: JUMP
00000914: JUMPDEST
00000915: PUSH1 0x00
00000917: DUP4
00000918: PUSH1 0x0f
0000091a: SIGNEXTEND
0000091b: PUSH1 0x00
0000091d: EQ
0000091e: PUSH2 0x092c
00000921: JUMPI
00000922: PUSH5 0xe8d4a51000
00000928: DUP4
00000929: MUL
0000092a: SWAP3
0000092b: POP
0000092c: JUMPDEST
0000092d: PUSH9 0x3635c9adc5dea00000
00000937: DUP4
00000938: LT
00000939: PUSH2 0x096a
0000093c: JUMPI
0000093d: PUSH1 0x00
0000093f: PUSH2 0x0947
00000942: NUMBER
00000943: PUSH2 0x08de
00000946: JUMP
00000947: JUMPDEST
00000948: SWAP1
00000949: POP
0000094a: PUSH1 0x00
0000094c: PUSH2 0x0960
0000094f: PUSH2 0x0957
00000952: DUP6
00000953: PUSH2 0x06d4
00000956: JUMP
00000957: JUMPDEST
00000958: PUSH1 0x0a
0000095a: DUP5
0000095b: DIV
0000095c: PUSH2 0x0a47
0000095f: JUMP
00000960: JUMPDEST
00000961: SWAP3
00000962: POP
00000963: PUSH2 0x096e
00000966: SWAP2
00000967: POP
00000968: POP
00000969: JUMP
0000096a: JUMPDEST
0000096b: POP
0000096c: PUSH1 0x00
0000096e: JUMPDEST
0000096f: SWAP4
00000970: SWAP3
00000971: POP
00000972: POP
00000973: POP
00000974: JUMP
00000975: JUMPDEST
00000976: PUSH1 0x0e
00000978: SLOAD
00000979: PUSH1 0x01
0000097b: PUSH1 0xa0
0000097d: SHL
0000097e: SWAP1
0000097f: DIV
00000980: PUSH8 0xffffffffffffffff
00000989: AND
0000098a: DUP2
0000098b: JUMP
0000098c: JUMPDEST
0000098d: PUSH1 0x07
0000098f: SLOAD
00000990: DUP2
00000991: JUMP
00000992: JUMPDEST
00000993: PUSH1 0x00
00000995: DUP2
00000996: DUP2
00000997: SLOAD
00000998: DUP2
00000999: LT
0000099a: PUSH2 0x099f
0000099d: JUMPI
0000099e: INVALID
0000099f: JUMPDEST
000009a0: PUSH1 0x00
000009a2: SWAP2
000009a3: DUP3
000009a4: MSTORE
000009a5: PUSH1 0x20
000009a7: SWAP1
000009a8: SWAP2
000009a9: KECCAK256
000009aa: ADD
000009ab: SLOAD
000009ac: PUSH1 0x01
000009ae: PUSH1 0x01
000009b0: PUSH1 0xa0
000009b2: SHL
000009b3: SUB
000009b4: AND
000009b5: SWAP1
000009b6: POP
000009b7: DUP2
000009b8: JUMP
000009b9: JUMPDEST
000009ba: PUSH1 0x02
000009bc: SLOAD
000009bd: DUP2
000009be: JUMP
000009bf: JUMPDEST
000009c0: PUSH1 0x0b
000009c2: SLOAD
000009c3: DUP2
000009c4: JUMP
000009c5: JUMPDEST
000009c6: PUSH1 0x0d
000009c8: SLOAD
000009c9: DUP2
000009ca: JUMP
000009cb: JUMPDEST
000009cc: PUSH1 0x03
000009ce: SLOAD
000009cf: DUP2
000009d0: JUMP
000009d1: JUMPDEST
000009d2: DUP2
000009d3: PUSH1 0x0f
000009d5: SIGNEXTEND
000009d6: PUSH1 0x00
000009d8: EQ
000009d9: PUSH2 0x09e4
000009dc: JUMPI
000009dd: PUSH5 0xe8d4a51000
000009e3: MUL
000009e4: JUMPDEST
000009e5: PUSH9 0x3635c9adc5dea00000
000009ef: DUP2
000009f0: LT
000009f1: PUSH2 0x0a43
000009f4: JUMPI
000009f5: PUSH1 0x00
000009f7: PUSH2 0x09ff
000009fa: NUMBER
000009fb: PUSH2 0x08de
000009fe: JUMP
000009ff: JUMPDEST
00000a00: SWAP1
00000a01: POP
00000a02: PUSH1 0x00
00000a04: PUSH2 0x0a0f
00000a07: PUSH2 0x0957
00000a0a: GASPRICE
00000a0b: PUSH2 0x06d4
00000a0e: JUMP
00000a0f: JUMPDEST
00000a10: PUSH1 0x40
00000a12: MLOAD
00000a13: SWAP1
00000a14: SWAP2
00000a15: POP
00000a16: ORIGIN
00000a17: SWAP1
00000a18: DUP3
00000a19: ISZERO
00000a1a: PUSH2 0x08fc
00000a1d: MUL
00000a1e: SWAP1
00000a1f: DUP4
00000a20: SWAP1
00000a21: PUSH1 0x00
00000a23: DUP2
00000a24: DUP2
00000a25: DUP2
00000a26: DUP6
00000a27: DUP9
00000a28: DUP9
00000a29: CALL
00000a2a: SWAP4
00000a2b: POP
00000a2c: POP
00000a2d: POP
00000a2e: POP
00000a2f: ISZERO
00000a30: DUP1
00000a31: ISZERO
00000a32: PUSH2 0x0a3f
00000a35: JUMPI
00000a36: RETURNDATASIZE
00000a37: PUSH1 0x00
00000a39: DUP1
00000a3a: RETURNDATACOPY
00000a3b: RETURNDATASIZE
00000a3c: PUSH1 0x00
00000a3e: REVERT
00000a3f: JUMPDEST
00000a40: POP
00000a41: POP
00000a42: POP
00000a43: JUMPDEST
00000a44: POP
00000a45: POP
00000a46: JUMP
00000a47: JUMPDEST
00000a48: PUSH1 0x00
00000a4a: DUP2
00000a4b: DUP4
00000a4c: LT
00000a4d: PUSH2 0x0a56
00000a50: JUMPI
00000a51: DUP2
00000a52: PUSH2 0x0a58
00000a55: JUMP
00000a56: JUMPDEST
00000a57: DUP3
00000a58: JUMPDEST
00000a59: SWAP1
00000a5a: POP
00000a5b: JUMPDEST
00000a5c: SWAP3
00000a5d: SWAP2
00000a5e: POP
00000a5f: POP
00000a60: JUMP
00000a61: JUMPDEST
00000a62: DUP1
00000a63: CALLDATALOAD
00000a64: PUSH1 0x0f
00000a66: DUP2
00000a67: SWAP1
00000a68: SIGNEXTEND
00000a69: DUP2
00000a6a: EQ
00000a6b: PUSH2 0x0a5b
00000a6e: JUMPI
00000a6f: PUSH1 0x00
00000a71: DUP1
00000a72: REVERT
00000a73: JUMPDEST
00000a74: PUSH1 0x00
00000a76: PUSH1 0x20
00000a78: DUP3
00000a79: DUP5
00000a7a: SUB
00000a7b: SLT
00000a7c: ISZERO
00000a7d: PUSH2 0x0a84
00000a80: JUMPI
00000a81: DUP1
00000a82: DUP2
00000a83: REVERT
00000a84: JUMPDEST
00000a85: DUP2
00000a86: CALLDATALOAD
00000a87: PUSH1 0x01
00000a89: PUSH1 0x01
00000a8b: PUSH1 0xa0
00000a8d: SHL
00000a8e: SUB
00000a8f: DUP2
00000a90: AND
00000a91: DUP2
00000a92: EQ
00000a93: PUSH2 0x096e
00000a96: JUMPI
00000a97: DUP2
00000a98: DUP3
00000a99: REVERT
00000a9a: JUMPDEST
00000a9b: PUSH1 0x00
00000a9d: PUSH1 0x20
00000a9f: DUP3
00000aa0: DUP5
00000aa1: SUB
00000aa2: SLT
00000aa3: ISZERO
00000aa4: PUSH2 0x0aab
00000aa7: JUMPI
00000aa8: DUP1
00000aa9: DUP2
00000aaa: REVERT
00000aab: JUMPDEST
00000aac: DUP2
00000aad: MLOAD
00000aae: DUP1
00000aaf: ISZERO
00000ab0: ISZERO
00000ab1: DUP2
00000ab2: EQ
00000ab3: PUSH2 0x096e
00000ab6: JUMPI
00000ab7: DUP2
00000ab8: DUP3
00000ab9: REVERT
00000aba: JUMPDEST
00000abb: PUSH1 0x00
00000abd: DUP1
00000abe: PUSH1 0x00
00000ac0: DUP1
00000ac1: PUSH1 0x80
00000ac3: DUP6
00000ac4: DUP8
00000ac5: SUB
00000ac6: SLT
00000ac7: ISZERO
00000ac8: PUSH2 0x0acf
00000acb: JUMPI
00000acc: DUP3
00000acd: DUP4
00000ace: REVERT
00000acf: JUMPDEST
00000ad0: PUSH2 0x0ad9
00000ad3: DUP7
00000ad4: DUP7
00000ad5: PUSH2 0x0a61
00000ad8: JUMP
00000ad9: JUMPDEST
00000ada: SWAP4
00000adb: POP
00000adc: PUSH2 0x0ae8
00000adf: DUP7
00000ae0: PUSH1 0x20
00000ae2: DUP8
00000ae3: ADD
00000ae4: PUSH2 0x0a61
00000ae7: JUMP
00000ae8: JUMPDEST
00000ae9: SWAP4
00000aea: SWAP7
00000aeb: SWAP4
00000aec: SWAP6
00000aed: POP
00000aee: POP
00000aef: POP
00000af0: POP
00000af1: PUSH1 0x40
00000af3: DUP3
00000af4: ADD
00000af5: CALLDATALOAD
00000af6: SWAP2
00000af7: PUSH1 0x60
00000af9: ADD
00000afa: CALLDATALOAD
00000afb: SWAP1
00000afc: JUMP
00000afd: JUMPDEST
00000afe: PUSH1 0x00
00000b00: DUP1
00000b01: PUSH1 0x00
00000b03: PUSH1 0x60
00000b05: DUP5
00000b06: DUP7
00000b07: SUB
00000b08: SLT
00000b09: ISZERO
00000b0a: PUSH2 0x0b11
00000b0d: JUMPI
00000b0e: DUP3
00000b0f: DUP4
00000b10: REVERT
00000b11: JUMPDEST
00000b12: PUSH2 0x0b1b
00000b15: DUP6
00000b16: DUP6
00000b17: PUSH2 0x0a61
00000b1a: JUMP
00000b1b: JUMPDEST
00000b1c: SWAP6
00000b1d: PUSH1 0x20
00000b1f: DUP6
00000b20: ADD
00000b21: CALLDATALOAD
00000b22: SWAP6
00000b23: POP
00000b24: PUSH1 0x40
00000b26: SWAP1
00000b27: SWAP5
00000b28: ADD
00000b29: CALLDATALOAD
00000b2a: SWAP4
00000b2b: SWAP3
00000b2c: POP
00000b2d: POP
00000b2e: POP
00000b2f: JUMP
00000b30: JUMPDEST
00000b31: PUSH1 0x00
00000b33: PUSH1 0x20
00000b35: DUP3
00000b36: DUP5
00000b37: SUB
00000b38: SLT
00000b39: ISZERO
00000b3a: PUSH2 0x0b41
00000b3d: JUMPI
00000b3e: DUP1
00000b3f: DUP2
00000b40: REVERT
00000b41: JUMPDEST
00000b42: POP
00000b43: CALLDATALOAD
00000b44: SWAP2
00000b45: SWAP1
00000b46: POP
00000b47: JUMP
00000b48: JUMPDEST
00000b49: PUSH1 0x00
00000b4b: PUSH1 0x20
00000b4d: DUP3
00000b4e: DUP5
00000b4f: SUB
00000b50: SLT
00000b51: ISZERO
00000b52: PUSH2 0x0b59
00000b55: JUMPI
00000b56: DUP1
00000b57: DUP2
00000b58: REVERT
00000b59: JUMPDEST
00000b5a: POP
00000b5b: MLOAD
00000b5c: SWAP2
00000b5d: SWAP1
00000b5e: POP
00000b5f: JUMP
00000b60: JUMPDEST
00000b61: PUSH1 0x00
00000b63: DUP1
00000b64: PUSH1 0x00
00000b66: DUP1
00000b67: PUSH1 0x80
00000b69: DUP6
00000b6a: DUP8
00000b6b: SUB
00000b6c: SLT
00000b6d: ISZERO
00000b6e: PUSH2 0x0b75
00000b71: JUMPI
00000b72: DUP4
00000b73: DUP5
00000b74: REVERT
00000b75: JUMPDEST
00000b76: POP
00000b77: POP
00000b78: DUP3
00000b79: CALLDATALOAD
00000b7a: SWAP5
00000b7b: PUSH1 0x20
00000b7d: DUP5
00000b7e: ADD
00000b7f: CALLDATALOAD
00000b80: SWAP5
00000b81: POP
00000b82: PUSH1 0x40
00000b84: DUP5
00000b85: ADD
00000b86: CALLDATALOAD
00000b87: SWAP4
00000b88: PUSH1 0x60
00000b8a: ADD
00000b8b: CALLDATALOAD
00000b8c: SWAP3
00000b8d: POP
00000b8e: SWAP1
00000b8f: POP
00000b90: JUMP
00000b91: JUMPDEST
00000b92: PUSH1 0x00
00000b94: DUP3
00000b95: MLOAD
00000b96: PUSH2 0x0ba3
00000b99: DUP2
00000b9a: DUP5
00000b9b: PUSH1 0x20
00000b9d: DUP8
00000b9e: ADD
00000b9f: PUSH2 0x0cc3
00000ba2: JUMP
00000ba3: JUMPDEST
00000ba4: SWAP2
00000ba5: SWAP1
00000ba6: SWAP2
00000ba7: ADD
00000ba8: SWAP3
00000ba9: SWAP2
00000baa: POP
00000bab: POP
00000bac: JUMP
00000bad: JUMPDEST
00000bae: PUSH1 0x01
00000bb0: PUSH1 0x01
00000bb2: PUSH1 0xa0
00000bb4: SHL
00000bb5: SUB
00000bb6: SWAP2
00000bb7: SWAP1
00000bb8: SWAP2
00000bb9: AND
00000bba: DUP2
00000bbb: MSTORE
00000bbc: PUSH1 0x20
00000bbe: ADD
00000bbf: SWAP1
00000bc0: JUMP
00000bc1: JUMPDEST
00000bc2: PUSH1 0x01
00000bc4: PUSH1 0x01
00000bc6: PUSH1 0xa0
00000bc8: SHL
00000bc9: SUB
00000bca: SWAP3
00000bcb: SWAP1
00000bcc: SWAP3
00000bcd: AND
00000bce: DUP3
00000bcf: MSTORE
00000bd0: PUSH1 0x20
00000bd2: DUP3
00000bd3: ADD
00000bd4: MSTORE
00000bd5: PUSH1 0x40
00000bd7: ADD
00000bd8: SWAP1
00000bd9: JUMP
00000bda: JUMPDEST
00000bdb: PUSH1 0x0f
00000bdd: SWAP5
00000bde: DUP6
00000bdf: SIGNEXTEND
00000be0: DUP2
00000be1: MSTORE
00000be2: SWAP3
00000be3: SWAP1
00000be4: SWAP4
00000be5: SIGNEXTEND
00000be6: PUSH1 0x20
00000be8: DUP4
00000be9: ADD
00000bea: MSTORE
00000beb: PUSH1 0x40
00000bed: DUP3
00000bee: ADD
00000bef: MSTORE
00000bf0: PUSH1 0x60
00000bf2: DUP2
00000bf3: ADD
00000bf4: SWAP2
00000bf5: SWAP1
00000bf6: SWAP2
00000bf7: MSTORE
00000bf8: PUSH1 0x80
00000bfa: ADD
00000bfb: SWAP1
00000bfc: JUMP
00000bfd: JUMPDEST
00000bfe: PUSH1 0x00
00000c00: PUSH1 0x20
00000c02: DUP3
00000c03: MSTORE
00000c04: DUP3
00000c05: MLOAD
00000c06: DUP1
00000c07: PUSH1 0x20
00000c09: DUP5
00000c0a: ADD
00000c0b: MSTORE
00000c0c: PUSH2 0x0c1c
00000c0f: DUP2
00000c10: PUSH1 0x40
00000c12: DUP6
00000c13: ADD
00000c14: PUSH1 0x20
00000c16: DUP8
00000c17: ADD
00000c18: PUSH2 0x0cc3
00000c1b: JUMP
00000c1c: JUMPDEST
00000c1d: PUSH1 0x1f
00000c1f: ADD
00000c20: PUSH1 0x1f
00000c22: NOT
00000c23: AND
00000c24: SWAP2
00000c25: SWAP1
00000c26: SWAP2
00000c27: ADD
00000c28: PUSH1 0x40
00000c2a: ADD
00000c2b: SWAP3
00000c2c: SWAP2
00000c2d: POP
00000c2e: POP
00000c2f: JUMP
00000c30: JUMPDEST
00000c31: PUSH1 0x20
00000c33: DUP1
00000c34: DUP3
00000c35: MSTORE
00000c36: PUSH1 0x17
00000c38: SWAP1
00000c39: DUP3
00000c3a: ADD
00000c3b: MSTORE
00000c3c: PUSH32 0x62616c616e6365203c20746f74616c436173686261636b000000000000000000
00000c5d: PUSH1 0x40
00000c5f: DUP3
00000c60: ADD
00000c61: MSTORE
00000c62: PUSH1 0x60
00000c64: ADD
00000c65: SWAP1
00000c66: JUMP
00000c67: JUMPDEST
00000c68: PUSH1 0x20
00000c6a: DUP1
00000c6b: DUP3
00000c6c: MSTORE
00000c6d: PUSH1 0x13
00000c6f: SWAP1
00000c70: DUP3
00000c71: ADD
00000c72: MSTORE
00000c73: PUSH19 0x36b9b39739b2b73232b9101e9e9037bbb732b9
00000c87: PUSH1 0x69
00000c89: SHL
00000c8a: PUSH1 0x40
00000c8c: DUP3
00000c8d: ADD
00000c8e: MSTORE
00000c8f: PUSH1 0x60
00000c91: ADD
00000c92: SWAP1
00000c93: JUMP
00000c94: JUMPDEST
00000c95: SWAP1
00000c96: DUP2
00000c97: MSTORE
00000c98: PUSH1 0x20
00000c9a: ADD
00000c9b: SWAP1
00000c9c: JUMP
00000c9d: JUMPDEST
00000c9e: PUSH4 0xffffffff
00000ca3: SWAP2
00000ca4: SWAP1
00000ca5: SWAP2
00000ca6: AND
00000ca7: DUP2
00000ca8: MSTORE
00000ca9: PUSH1 0x20
00000cab: ADD
00000cac: SWAP1
00000cad: JUMP
00000cae: JUMPDEST
00000caf: PUSH8 0xffffffffffffffff
00000cb8: SWAP2
00000cb9: SWAP1
00000cba: SWAP2
00000cbb: AND
00000cbc: DUP2
00000cbd: MSTORE
00000cbe: PUSH1 0x20
00000cc0: ADD
00000cc1: SWAP1
00000cc2: JUMP
00000cc3: JUMPDEST
00000cc4: PUSH1 0x00
00000cc6: JUMPDEST
00000cc7: DUP4
00000cc8: DUP2
00000cc9: LT
00000cca: ISZERO
00000ccb: PUSH2 0x0cde
00000cce: JUMPI
00000ccf: DUP2
00000cd0: DUP2
00000cd1: ADD
00000cd2: MLOAD
00000cd3: DUP4
00000cd4: DUP3
00000cd5: ADD
00000cd6: MSTORE
00000cd7: PUSH1 0x20
00000cd9: ADD
00000cda: PUSH2 0x0cc6
00000cdd: JUMP
00000cde: JUMPDEST
00000cdf: DUP4
00000ce0: DUP2
00000ce1: GT
00000ce2: ISZERO
00000ce3: PUSH2 0x0ced
00000ce6: JUMPI
00000ce7: PUSH1 0x00
00000ce9: DUP5
00000cea: DUP5
00000ceb: ADD
00000cec: MSTORE
00000ced: JUMPDEST
00000cee: POP
00000cef: POP
00000cf0: POP
00000cf1: POP
00000cf2: JUMP
00000cf3: INVALID
00000cf4: LOG2
00000cf5: PUSH5 0x6970667358
00000cfb: UNKNOWN(0x22)
00000cfc: SLT
00000cfd: KECCAK256
00000cfe: SWAP9
00000cff: CREATE2
00000d00: SIGNEXTEND
00000d01: SUB
00000d02: UNKNOWN(0xB9)
00000d03: UNKNOWN(0xAB)
00000d04: SWAP9
00000d05: UNKNOWN(0xBA)
00000d06: UNKNOWN(0xBC)
00000d07: CALLDATACOPY
00000d08: GAS
00000d09: PUSH6 0x42b3d8c23f6f
00000d10: UNKNOWN(0xE9)
00000d11: PUSH9 0x082d38523b1d3665aa
00000d1b: UNKNOWN(0xBE)
00000d1c: LOG1
00000d1d: UNKNOWN(0xD5)
00000d1e: PUSH5 0x736f6c6343
00000d24: STOP
00000d25: MOD
00000d26: UNKNOWN(0x0C)
00000d27: STOP
00000d28: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high upgradeability detector Untrusted DELEGATECALL target reachable 55 no no
view
trace_id: 0x8ca5a3f86f67e6b9371893c40fb86dc0241149b70fda6d46db942bd9737abb03
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0x8ca5a3f86f67e6b9371893c40fb86dc0241149b70fda6d46db942bd9737abb03",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xb4b577ad",
            "selector": "0xb4b577ad",
            "calldata_variants": [
                "0xb4b577ad",
                "0xb4b577ad0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc6610657",
            "selector": "0xc6610657",
            "calldata_variants": [
                "0xc6610657",
                "0xc66106570000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xddca3f43",
            "selector": "0xddca3f43",
            "calldata_variants": [
                "0xddca3f43",
                "0xddca3f430000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe0a0b586",
            "selector": "0xe0a0b586",
            "calldata_variants": [
                "0xe0a0b586",
                "0xe0a0b5860000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe3824462",
            "selector": "0xe3824462",
            "calldata_variants": [
                "0xe3824462",
                "0xe38244620000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfee3f7f9",
            "selector": "0xfee3f7f9",
            "calldata_variants": [
                "0xfee3f7f9",
                "0xfee3f7f90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6a9efeab",
            "selector": "0x6a9efeab",
            "calldata_variants": [
                "0x6a9efeab",
                "0x6a9efeab0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7d008a40",
            "selector": "0x7d008a40",
            "calldata_variants": [
                "0x7d008a40",
                "0x7d008a400000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1000,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 1137,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [
        {
            "pc": 1921,
            "type": "tx_origin_used"
        },
        {
            "pc": 2582,
            "type": "tx_origin_used"
        }
    ],
    "delegatecall_count": 2,
    "untrusted_delegatecall_count": 2
}
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": "0xb4b577ad",
            "selector": "0xb4b577ad",
            "calldata_variants": [
                "0xb4b577ad",
                "0xb4b577ad0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc6610657",
            "selector": "0xc6610657",
            "calldata_variants": [
                "0xc6610657",
                "0xc66106570000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xddca3f43",
            "selector": "0xddca3f43",
            "calldata_variants": [
                "0xddca3f43",
                "0xddca3f430000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe0a0b586",
            "selector": "0xe0a0b586",
            "calldata_variants": [
                "0xe0a0b586",
                "0xe0a0b5860000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe3824462",
            "selector": "0xe3824462",
            "calldata_variants": [
                "0xe3824462",
                "0xe38244620000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfee3f7f9",
            "selector": "0xfee3f7f9",
            "calldata_variants": [
                "0xfee3f7f9",
                "0xfee3f7f90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6a9efeab",
            "selector": "0x6a9efeab",
            "calldata_variants": [
                "0x6a9efeab",
                "0x6a9efeab0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7d008a40",
            "selector": "0x7d008a40",
            "calldata_variants": [
                "0x7d008a40",
                "0x7d008a400000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 1921,
            "type": "tx_origin_used"
        },
        {
            "pc": 2582,
            "type": "tx_origin_used"
        }
    ]
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 2
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0xce9d6a84eb5c2910f4feb6d89e73ace488b5e6367696594742481e28b783d947
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0xce9d6a84eb5c2910f4feb6d89e73ace488b5e6367696594742481e28b783d947",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xb4b577ad",
            "selector": "0xb4b577ad",
            "calldata_variants": [
                "0xb4b577ad",
                "0xb4b577ad0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc6610657",
            "selector": "0xc6610657",
            "calldata_variants": [
                "0xc6610657",
                "0xc66106570000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xddca3f43",
            "selector": "0xddca3f43",
            "calldata_variants": [
                "0xddca3f43",
                "0xddca3f430000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe0a0b586",
            "selector": "0xe0a0b586",
            "calldata_variants": [
                "0xe0a0b586",
                "0xe0a0b5860000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe3824462",
            "selector": "0xe3824462",
            "calldata_variants": [
                "0xe3824462",
                "0xe38244620000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfee3f7f9",
            "selector": "0xfee3f7f9",
            "calldata_variants": [
                "0xfee3f7f9",
                "0xfee3f7f90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6a9efeab",
            "selector": "0x6a9efeab",
            "calldata_variants": [
                "0x6a9efeab",
                "0x6a9efeab0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7d008a40",
            "selector": "0x7d008a40",
            "calldata_variants": [
                "0x7d008a40",
                "0x7d008a400000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 0,
    "create2_count": 1
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x48bc5aed34e5cb063c3bb67c5ecd1cb8e8ed6f05b5b990894a14541f871736c1
call_targets: 0x3333333acdedbbc9ad7bda0876e60714195681c5
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x48bc5aed34e5cb063c3bb67c5ecd1cb8e8ed6f05b5b990894a14541f871736c1",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x3333333acdedbbc9ad7bda0876e60714195681c5"
    ],
    "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": "0xb4b577ad",
            "selector": "0xb4b577ad",
            "calldata_variants": [
                "0xb4b577ad",
                "0xb4b577ad0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc6610657",
            "selector": "0xc6610657",
            "calldata_variants": [
                "0xc6610657",
                "0xc66106570000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xddca3f43",
            "selector": "0xddca3f43",
            "calldata_variants": [
                "0xddca3f43",
                "0xddca3f430000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe0a0b586",
            "selector": "0xe0a0b586",
            "calldata_variants": [
                "0xe0a0b586",
                "0xe0a0b5860000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe3824462",
            "selector": "0xe3824462",
            "calldata_variants": [
                "0xe3824462",
                "0xe38244620000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfee3f7f9",
            "selector": "0xfee3f7f9",
            "calldata_variants": [
                "0xfee3f7f9",
                "0xfee3f7f90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6a9efeab",
            "selector": "0x6a9efeab",
            "calldata_variants": [
                "0x6a9efeab",
                "0x6a9efeab0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7d008a40",
            "selector": "0x7d008a40",
            "calldata_variants": [
                "0x7d008a40",
                "0x7d008a400000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1575,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2601,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 2,
    "guards_detected": [
        {
            "pc": 1921,
            "type": "tx_origin_used"
        },
        {
            "pc": 2582,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x48bc5aed34e5cb063c3bb67c5ecd1cb8e8ed6f05b5b990894a14541f871736c1
call_targets: 0x3333333acdedbbc9ad7bda0876e60714195681c5
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x48bc5aed34e5cb063c3bb67c5ecd1cb8e8ed6f05b5b990894a14541f871736c1",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x3333333acdedbbc9ad7bda0876e60714195681c5"
    ],
    "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": "0xb4b577ad",
            "selector": "0xb4b577ad",
            "calldata_variants": [
                "0xb4b577ad",
                "0xb4b577ad0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc6610657",
            "selector": "0xc6610657",
            "calldata_variants": [
                "0xc6610657",
                "0xc66106570000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xddca3f43",
            "selector": "0xddca3f43",
            "calldata_variants": [
                "0xddca3f43",
                "0xddca3f430000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe0a0b586",
            "selector": "0xe0a0b586",
            "calldata_variants": [
                "0xe0a0b586",
                "0xe0a0b5860000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe3824462",
            "selector": "0xe3824462",
            "calldata_variants": [
                "0xe3824462",
                "0xe38244620000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfee3f7f9",
            "selector": "0xfee3f7f9",
            "calldata_variants": [
                "0xfee3f7f9",
                "0xfee3f7f90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6a9efeab",
            "selector": "0x6a9efeab",
            "calldata_variants": [
                "0x6a9efeab",
                "0x6a9efeab0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7d008a40",
            "selector": "0x7d008a40",
            "calldata_variants": [
                "0x7d008a40",
                "0x7d008a400000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1575,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2601,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 2,
    "guards_detected": [
        {
            "pc": 1921,
            "type": "tx_origin_used"
        },
        {
            "pc": 2582,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 2
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 0,
    "create2_count": 1
}