019be3d6-82d3-72f2-8366-aba489c5ca7b
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 40729 | artifact.fetch | complete | 1 / 3 | 2 months ago |
| 40730 | proxy.resolve | complete | 1 / 3 | 2 months ago |
| 40731 | tool.cast_disasm | complete | 1 / 3 | 2 months ago |
| 40732 | analysis.bundle | complete | 1 / 3 | 2 months ago |
| 40733 | capability.graph | complete | 1 / 3 | 2 months ago |
| 40734 | detector.run | complete | 1 / 3 | 2 months ago |
| 40735 | validation.fork | complete | 1 / 3 | 2 months ago |
| 41292 | report.consolidate | complete | 1 / 6 | 2 months ago |
{
"status": "not_proxy"
}
No slither job recorded yet.
{"no_findings":false,"summary":"Bytecode shows multiple computed CALLs (some with value) and no detected access-control guards; a CALLCODE opcode also appears in the runtime bytecode but may be in an unreachable data/metadata region.","findings":[{"severity":"medium","category":"access_control","title":"Computed external CALLs with potential value transfer and no detected access control","exploit_scenario":"If any publicly reachable function lets a caller influence the CALL target/value/calldata (as suggested by computed target/value at multiple callsites), an attacker could route contract balance to arbitrary destinations or trigger external side effects; reentrancy could also be possible depending on surrounding state updates. This is uncertain because one trace validation observed a constant self-target, but it did not confirm target variance across all paths.","recommendation":"Review all externally reachable functions that lead to the CALL sites and ensure strict access control/whitelisting of targets and values. If these are intended forwarding helpers, limit usage to authorized callers and consider reentrancy protections around state changes. Document the expected target set and enforce it on-chain.","evidence":"Detector findings report untrusted CALL target/value reachable with guards_detected=[] and computed target/value; callsites list CALL at pc 427, 602, 1583, 1958, 2417, 2647, 2734. Validation did not confirm target variance (constant self-target observed in one trace).","locations":["pc:0x1ab","pc:0x25a","pc:0x62f","pc:0x7a6","pc:0x971","pc:0xa57","pc:0xaae"]},{"severity":"low","category":"other","title":"CALLCODE opcode present (reachability uncertain)","exploit_scenario":"If the CALLCODE site is reachable from a public entrypoint, it executes callee code in the caller’s storage context, enabling arbitrary storage mutation and potential fund theft similar to delegatecall. However, the surrounding bytes look like a data/metadata region (INVALID/STOP nearby), so this may be unreachable.","recommendation":"Confirm the CALLCODE site is unreachable; if reachable, remove it or restrict access tightly. Prefer DELEGATECALL only when absolutely necessary and with strict input/target validation.","evidence":"Callsides list includes CALLCODE at pc 5322; nearby basic block (start_pc 5313) contains CALLCODE/CREATE/STOP/INVALID-like bytes suggesting a non-executable data section, so reachability is unclear.","locations":["pc:0x14ca"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-4siurl7r
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019be424-2c7f-7042-bef7-b7ce273aba57
--------
user
You are a security auditor. You ONLY have runtime bytecode + analysis artifacts.
You MUST read `BYTECODE_BUNDLE.json` before concluding; it contains the bytecode summary,
evidence bundle, callsites, storage slots, and detector findings.
Special cases when reasoning from bytecode (be explicit about uncertainty):
- Selector inference is best-effort; missing selectors are common.
- Fallback/receive paths may be the only entrypoints.
- CALL vs DELEGATECALL semantics differ; DELEGATECALL executes in caller storage.
- Proxy patterns (EIP-1967, minimal proxies, beacon) change which storage is authoritative.
- Storage slots are raw; mappings/arrays appear via keccak patterns, names are unknown.
- Guard detection is heuristic; absence of guards does NOT mean unguarded.
- Returndata checking is unknown unless explicitly shown in evidence.
- Precompiles (0x1..0x9) and common ERC20 transfer selectors may appear; do not over-claim.
Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title.
- Locations can be pc references like "pc:0x123" or selectors like "selector:0xa9059cbb".
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation,
accounting/invariant breaks, dangerous delegatecall, and untrusted external calls.
Be conservative: if evidence is weak, mark severity low/medium and explain why.
mcp startup: no servers
thinking
**Planning to read bytecode bundle**
I'm preparing to read the BYTECODE_BUNDLE.json file by using shell commands like cat or ripgrep for reading, noting that the sandbox is read-only.
exec
/bin/bash -lc ls in /tmp/codex-4siurl7r succeeded in 6ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-4siurl7r succeeded in 7ms:
{
"analysis_artifact": {
"address": "0x6f4dca180149a0b3b4df532054a7f0fecbb96170",
"artifact_hash": "0x95c1f2737ecfc7553afb1699c807a97cbfcc2f5280e172f5b831b845e48c4bb8",
"artifact_json": {
"auth": {
"guards": []
},
"basic_blocks": [
{
"end_pc": 12,
"hash": "0x094776e5365522299caff3a5824d90a1a3558c3cd8bfd6018c1db87447d4706f",
"opcodes": [
"PUSH1",
"PUSH1",
"MSTORE",
"PUSH1",
"CALLDATASIZE",
"LT",
"PUSH2",
thinking
**Planning targeted searches for storage**
I'm preparing to use rg to locate relevant storage-related code sections like detectors, selectors, and slots to focus parsing efforts on those key areas.
exec
/bin/bash -lc 'rg -n "storage|slot" BYTECODE_BUNDLE.json' in /tmp/codex-4siurl7r succeeded in 7ms:
8361: "storage": {
8363: "slots": [
8367: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
8372: "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
8377: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
8382: "slot": "0x00000000000000000000000000000000000000000000000000007137b1822b3d"
8400: "storage": {
8402: "slots": [
8406: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
8411: "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
8416: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
8421: "slot": "0x00000000000000000000000000000000000000000000000000007137b1822b3d"
8439: "storage": {
8441: "slots": [
8445: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
8450: "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
8455: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
8460: "slot": "0x00000000000000000000000000000000000000000000000000007137b1822b3d"
8478: "storage": {
8480: "slots": [
thinking
**Identifying evidence structure**
I'm focusing on the storage section around line 8300 to clarify how "evidence_bundle" and related data are structured for better understanding.
exec
/bin/bash -lc "sed -n '8320,8425p' BYTECODE_BUNDLE.json" in /tmp/codex-4siurl7r succeeded in 8ms:
"entry_pc": 1925612431,
"selector": "0x5ec181fb"
},
{
"entry_pc": null,
"selector": "0x72c6838f"
},
{
"entry_pc": 44597990,
"selector": "0x01ffc9a7"
},
{
"entry_pc": 421133891,
"selector": "0x02a882e6"
},
{
"entry_pc": 613063843,
"selector": "0x1919fe43"
},
{
thinking
**Identifying risky call usage**
I'm focusing on detecting dangerous calls like callcode and delegatecall by searching for those terms to find evidence and relevant issues around untrusted calls and ETH value handling.
exec
/bin/bash -lc 'rg -n "CALLCODE|DELEGATECALL" BYTECODE_BUNDLE.json' in /tmp/codex-4siurl7r succeeded in 6ms:
6207: "CALLCODE",
6315: "opcode": "CALLCODE",
14145: "opcode": "CALLCODE",
exec
/bin/bash -lc "sed -n '6170,6245p' BYTECODE_BUNDLE.json" in /tmp/codex-4siurl7r succeeded in 6ms:
"OP_81",
"PUSH2",
"JUMP"
],
"start_pc": 5291
},
{
"end_pc": 5298,
"hash": "0x97c86bf609725de3d8fed95983da43cc8577bf758c6bbe0d1003dfae7fe03c40",
"opcodes": [
"INVALID"
],
"start_pc": 5298
},
{
"end_pc": 5312,
"hash": "0x34d12160e10f3cf85f65205581391c2d9db98bf2912e5362f619cf4485ce21e3",
"opcodes": [
"OP_DB",
"OP_EB",
thinking
**Flagging uncertain CALLCODE presence**
Noted potential CALLCODE near code end likely in data or metadata region, making its execution uncertain; will treat as low-severity with caution given lack of strong evidence and focus on delegatecall instead.
thinking
**Clarifying untrusted call ambiguity**
Initial signs of unguarded calls with computed targets suggest potential risk, but further validation shows calls target the contract itself, indicating likely safe internal calls; avoiding flagging untrusted call vulnerability without stronger evidence.
exec
/bin/bash -lc 'rg -n "callsites|callsite" BYTECODE_BUNDLE.json' in /tmp/codex-4siurl7r succeeded in 8ms:
6257: "callsites": [
14099: "type": "callsite"
14105: "type": "callsite"
14111: "type": "callsite"
14117: "type": "callsite"
14123: "type": "callsite"
14129: "type": "callsite"
14135: "type": "callsite"
14141: "type": "callsite"
14147: "type": "callsite"
exec
/bin/bash -lc "sed -n '6240,6325p' BYTECODE_BUNDLE.json" in /tmp/codex-4siurl7r succeeded in 9ms:
"hash": "0xf5d7f06969970f440cb00268c4f8509e5a0bafb579dde929cbe098f7a1770aee",
"opcodes": [
"ADDMOD",
"BYTE",
"STOP"
],
"start_pc": 5380
},
{
"end_pc": 5383,
"hash": "0x68a76c33e481a80de967dcfdc2c9c9cf1e80320ad16029944c822ee06cd8a14e",
"opcodes": [
"CALLER"
],
"start_pc": 5383
}
],
"callsites": [
{
"opcode": "CALL",
thinking
**Investigating function sink calls**
I'm checking which functions contain call instructions by reviewing the sinks list and planning to map callsite addresses to selectors within function bodies.
exec
/bin/bash -lc 'rg -n "sinks" BYTECODE_BUNDLE.json' in /tmp/codex-4siurl7r succeeded in 9ms:
8355: "sinks": {
8394: "sinks": {
8433: "sinks": {
8472: "sinks": {
8511: "sinks": {
8550: "sinks": {
8589: "sinks": {
8628: "sinks": {
8667: "sinks": {
8706: "sinks": {
8745: "sinks": {
8784: "sinks": {
8823: "sinks": {
8862: "sinks": {
8901: "sinks": {
8940: "sinks": {
8979: "sinks": {
9018: "sinks": {
9057: "sinks": {
9096: "sinks": {
exec
/bin/bash -lc "sed -n '8340,8420p' BYTECODE_BUNDLE.json" in /tmp/codex-4siurl7r succeeded in 17ms:
"entry_pc": null,
"selector": "0x248a9ca3"
},
{
"entry_pc": 1667,
"selector": "0x7965db0b"
}
],
"functions": [
{
"auth": {
"guards": []
},
"entry_pc": 3060021157,
"selector": "0xb66437a5",
"sinks": {
"call": 8,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 1
thinking
**Planning to identify functions without sinks**
I'm preparing to check another code segment to find functions that might not have any sinks, aiming to understand their behavior better.
exec
/bin/bash -lc "sed -n '8420,8525p' BYTECODE_BUNDLE.json" in /tmp/codex-4siurl7r succeeded in 6ms:
"pc": 5308,
"slot": "0x00000000000000000000000000000000000000000000000000007137b1822b3d"
}
],
"writes": 7
}
},
{
"auth": {
"guards": []
},
"entry_pc": 3921380546,
"selector": "0xd547741f",
"sinks": {
"call": 8,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 1
},
"storage": {
thinking
**Identifying proxy and selector insights**
The contract likely isn’t an upgradeable proxy based on storage heuristics, but presence of WETH-related selectors suggests it interacts with WETH or acts like a vault handling WETH deposits and withdrawals.
thinking
**Analyzing reentrancy guard indications**
The contract shows SSTORE to storage slot 1 near CALLs with jump checks, likely implementing a reentrancy guard. Function entry points seem unreliable, but evidence hints at guard patterns typical for preventing reentrancy vulnerabilities.
exec
/bin/bash -lc 'rg -n "SSTORE" BYTECODE_BUNDLE.json' in /tmp/codex-4siurl7r succeeded in 30ms:
573: "SSTORE",
690: "SSTORE",
2679: "SSTORE",
2942: "SSTORE",
3267: "SSTORE",
3385: "SSTORE",
3538: "SSTORE",
8365: "op": "SSTORE",
8404: "op": "SSTORE",
8443: "op": "SSTORE",
8482: "op": "SSTORE",
8521: "op": "SSTORE",
8560: "op": "SSTORE",
8599: "op": "SSTORE",
8638: "op": "SSTORE",
8677: "op": "SSTORE",
8716: "op": "SSTORE",
8755: "op": "SSTORE",
8794: "op": "SSTORE",
8833: "op": "SSTORE",
thinking
**Planning context extraction around SSTORE**
exec
/bin/bash -lc "sed -n '520,740p' BYTECODE_BUNDLE.json" in /tmp/codex-4siurl7r succeeded in 8ms:
"POP",
"OP_95",
"POP",
"OP_95",
"POP",
"OP_95",
"POP",
"PUSH0",
"PUSH2",
"OP_87",
"PUSH2",
"JUMP"
],
"start_pc": 480
},
{
"end_pc": 517,
"hash": "0x870a58593b7af1108a4e3827fe86c2d63affdb94b9c937ca5f7ba10580833f09",
"opcodes": [
"JUMPDEST",
thinking
**Identifying potential but ambiguous reentrancy guard**
There’s a write before and after the external call that resembles a reentrancy lock pattern, but it’s not formally detected as such, leaving reentrancy risk uncertain; this signals a need to flag external calls surrounded by state changes even if guards aren’t recognized.
thinking
**Analyzing ambiguous contract role and external calls**
The contract shows selectors for deposit and withdraw resembling WETH patterns but also includes multiple external calls with computed targets and no detected access control, suggesting possible arbitrary calls without confirmed authorization; reentrancy guard presence is ambiguous due to unrecognized but suggestive state writes before and after calls.
exec
/bin/bash -lc "sed -n '1500,1625p' BYTECODE_BUNDLE.json" in /tmp/codex-4siurl7r succeeded in 7ms:
"end_pc": 1257,
"hash": "0x3766c60894f912461f9782ded693944d206890f1719429101868a63a13724bf2",
"opcodes": [
"JUMPDEST",
"POP",
"PUSH2",
"PUSH32",
"OP_81",
"JUMP"
],
"start_pc": 1218
},
{
"end_pc": 1265,
"hash": "0x8fcb6ac26c3993e57f43f27c6ae076c137e5b3866b339db2388b69858a1755f7",
"opcodes": [
"JUMPDEST",
"PUSH2",
"PUSH2",
"JUMP"
thinking
**Searching for upgrade-related clues**
exec
/bin/bash -lc "sed -n '9140,9185p' BYTECODE_BUNDLE.json" in /tmp/codex-4siurl7r succeeded in 13ms:
"0xb59b1176",
"0x2e1a7d4d",
"0x2f2ff15d",
"0x36568abe",
"0x5ec181fb",
"0x72c6838f",
"0x01ffc9a7",
"0x02a882e6",
"0x1919fe43",
"0x248a9ca3",
"0x7965db0b"
],
"sinks": {
"call": 8,
"create": 1,
"create2": 0,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 1,
"upgrade_slot_write_suspected": false
thinking
**Summarizing security findings with uncertainties**
I've identified a medium-risk unguarded external CALL with computed target/value suggesting potential arbitrary calls and ETH transfer, though with uncertainty about reachability and constant targets. Also noted a low-risk possible CALLCODE presence likely unreachable, flagged for upgradeability concerns.
thinking
**Refining findings with detailed evidence and categories**
I'm defining two findings: a medium-severity access control issue from computed external CALLs with no guards detected, including detailed evidence and uncertainty; and a low-severity "other" category finding for CALLCODE opcode presence with uncertain reachability, recommending removal or strict controls. I'll produce JSON matching the schema accordingly.
codex
{"no_findings":false,"summary":"Bytecode shows multiple computed CALLs (some with value) and no detected access-control guards; a CALLCODE opcode also appears in the runtime bytecode but may be in an unreachable data/metadata region.","findings":[{"severity":"medium","category":"access_control","title":"Computed external CALLs with potential value transfer and no detected access control","exploit_scenario":"If any publicly reachable function lets a caller influence the CALL target/value/calldata (as suggested by computed target/value at multiple callsites), an attacker could route contract balance to arbitrary destinations or trigger external side effects; reentrancy could also be possible depending on surrounding state updates. This is uncertain because one trace validation observed a constant self-target, but it did not confirm target variance across all paths.","recommendation":"Review all externally reachable functions that lead to the CALL sites and ensure strict access control/whitelisting of targets and values. If these are intended forwarding helpers, limit usage to authorized callers and consider reentrancy protections around state changes. Document the expected target set and enforce it on-chain.","evidence":"Detector findings report untrusted CALL target/value reachable with guards_detected=[] and computed target/value; callsites list CALL at pc 427, 602, 1583, 1958, 2417, 2647, 2734. Validation did not confirm target variance (constant self-target observed in one trace).","locations":["pc:0x1ab","pc:0x25a","pc:0x62f","pc:0x7a6","pc:0x971","pc:0xa57","pc:0xaae"]},{"severity":"low","category":"other","title":"CALLCODE opcode present (reachability uncertain)","exploit_scenario":"If the CALLCODE site is reachable from a public entrypoint, it executes callee code in the caller’s storage context, enabling arbitrary storage mutation and potential fund theft similar to delegatecall. However, the surrounding bytes look like a data/metadata region (INVALID/STOP nearby), so this may be unreachable.","recommendation":"Confirm the CALLCODE site is unreachable; if reachable, remove it or restrict access tightly. Prefer DELEGATECALL only when absolutely necessary and with strict input/target validation.","evidence":"Callsides list includes CALLCODE at pc 5322; nearby basic block (start_pc 5313) contains CALLCODE/CREATE/STOP/INVALID-like bytes suggesting a non-executable data section, so reachability is unclear.","locations":["pc:0x14ca"]}]}
tokens used
38,943
{
"codex": {
"ran_at": "2026-01-22T05:21:50.413227+00:00",
"returncode": 0
},
"project": {
"mode": "bytecode",
"bytecode_length": 10770,
"bytecode_truncated": false,
"capability_graph_present": true,
"analysis_artifact_present": true
},
"summary": "Bytecode shows multiple computed CALLs (some with value) and no detected access-control guards; a CALLCODE opcode also appears in the runtime bytecode but may be in an unreachable data/metadata region.",
"raw_final": {
"summary": "Bytecode shows multiple computed CALLs (some with value) and no detected access-control guards; a CALLCODE opcode also appears in the runtime bytecode but may be in an unreachable data/metadata region.",
"findings": [
{
"title": "Computed external CALLs with potential value transfer and no detected access control",
"category": "access_control",
"evidence": "Detector findings report untrusted CALL target/value reachable with guards_detected=[] and computed target/value; callsites list CALL at pc 427, 602, 1583, 1958, 2417, 2647, 2734. Validation did not confirm target variance (constant self-target observed in one trace).",
"severity": "medium",
"locations": [
"pc:0x1ab",
"pc:0x25a",
"pc:0x62f",
"pc:0x7a6",
"pc:0x971",
"pc:0xa57",
"pc:0xaae"
],
"recommendation": "Review all externally reachable functions that lead to the CALL sites and ensure strict access control/whitelisting of targets and values. If these are intended forwarding helpers, limit usage to authorized callers and consider reentrancy protections around state changes. Document the expected target set and enforce it on-chain.",
"exploit_scenario": "If any publicly reachable function lets a caller influence the CALL target/value/calldata (as suggested by computed target/value at multiple callsites), an attacker could route contract balance to arbitrary destinations or trigger external side effects; reentrancy could also be possible depending on surrounding state updates. This is uncertain because one trace validation observed a constant self-target, but it did not confirm target variance across all paths."
},
{
"title": "CALLCODE opcode present (reachability uncertain)",
"category": "other",
"evidence": "Callsides list includes CALLCODE at pc 5322; nearby basic block (start_pc 5313) contains CALLCODE/CREATE/STOP/INVALID-like bytes suggesting a non-executable data section, so reachability is unclear.",
"severity": "low",
"locations": [
"pc:0x14ca"
],
"recommendation": "Confirm the CALLCODE site is unreachable; if reachable, remove it or restrict access tightly. Prefer DELEGATECALL only when absolutely necessary and with strict input/target validation.",
"exploit_scenario": "If the CALLCODE site is reachable from a public entrypoint, it executes callee code in the caller\u2019s storage context, enabling arbitrary storage mutation and potential fund theft similar to delegatecall. However, the surrounding bytes look like a data/metadata region (INVALID/STOP nearby), so this may be unreachable."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x0117 0000000c: JUMPI 0000000d: PUSH0 0000000e: CALLDATALOAD 0000000f: PUSH1 0xe0 00000011: SHR 00000012: DUP1 00000013: PUSH4 0x75b238fc 00000018: GT 00000019: PUSH2 0x009f 0000001c: JUMPI 0000001d: DUP1 0000001e: PUSH4 0xb66437a5 00000023: GT 00000024: PUSH2 0x0063 00000027: JUMPI 00000028: DUP1 00000029: PUSH4 0xb66437a5 0000002e: EQ 0000002f: PUSH2 0x04b7 00000032: JUMPI 00000033: DUP1 00000034: PUSH4 0xd0e30db0 00000039: EQ 0000003a: PUSH2 0x04ea 0000003d: JUMPI 0000003e: DUP1 0000003f: PUSH4 0xd547741f 00000044: EQ 00000045: PUSH2 0x04f2 00000048: JUMPI 00000049: DUP1 0000004a: PUSH4 0xe9bb84c2 0000004f: EQ 00000050: PUSH2 0x0511 00000053: JUMPI 00000054: DUP1 00000055: PUSH4 0xffa1ad74 0000005a: EQ 0000005b: PUSH2 0x0530 0000005e: JUMPI 0000005f: PUSH2 0x011e 00000062: JUMP 00000063: JUMPDEST 00000064: DUP1 00000065: PUSH4 0x75b238fc 0000006a: EQ 0000006b: PUSH2 0x0447 0000006e: JUMPI 0000006f: DUP1 00000070: PUSH4 0x91d14854 00000075: EQ 00000076: PUSH2 0x045a 00000079: JUMPI 0000007a: DUP1 0000007b: PUSH4 0xa217fddf 00000080: EQ 00000081: PUSH2 0x0447 00000084: JUMPI 00000085: DUP1 00000086: PUSH4 0xa9212b5b 0000008b: EQ 0000008c: PUSH2 0x0479 0000008f: JUMPI 00000090: DUP1 00000091: PUSH4 0xb59b1176 00000096: EQ 00000097: PUSH2 0x0498 0000009a: JUMPI 0000009b: PUSH2 0x011e 0000009e: JUMP 0000009f: JUMPDEST 000000a0: DUP1 000000a1: PUSH4 0x2e1a7d4d 000000a6: GT 000000a7: PUSH2 0x00e6 000000aa: JUMPI 000000ab: DUP1 000000ac: PUSH4 0x2e1a7d4d 000000b1: EQ 000000b2: PUSH2 0x038a 000000b5: JUMPI 000000b6: DUP1 000000b7: PUSH4 0x2f2ff15d 000000bc: EQ 000000bd: PUSH2 0x03a9 000000c0: JUMPI 000000c1: DUP1 000000c2: PUSH4 0x36568abe 000000c7: EQ 000000c8: PUSH2 0x03c8 000000cb: JUMPI 000000cc: DUP1 000000cd: PUSH4 0x5ec181fb 000000d2: EQ 000000d3: PUSH2 0x03e7 000000d6: JUMPI 000000d7: DUP1 000000d8: PUSH4 0x72c6838f 000000dd: EQ 000000de: PUSH2 0x0406 000000e1: JUMPI 000000e2: PUSH2 0x011e 000000e5: JUMP 000000e6: JUMPDEST 000000e7: DUP1 000000e8: PUSH4 0x01ffc9a7 000000ed: EQ 000000ee: PUSH2 0x02db 000000f1: JUMPI 000000f2: DUP1 000000f3: PUSH4 0x02a882e6 000000f8: EQ 000000f9: PUSH2 0x0310 000000fc: JUMPI 000000fd: DUP1 000000fe: PUSH4 0x1919fe43 00000103: EQ 00000104: PUSH2 0x033d 00000107: JUMPI 00000108: DUP1 00000109: PUSH4 0x248a9ca3 0000010e: EQ 0000010f: PUSH2 0x035c 00000112: JUMPI 00000113: PUSH2 0x011e 00000116: JUMP 00000117: JUMPDEST 00000118: CALLDATASIZE 00000119: PUSH2 0x011e 0000011c: JUMPI 0000011d: STOP 0000011e: JUMPDEST 0000011f: PUSH2 0x0148 00000122: PUSH32 0xcad6d1a2298b8fe675ee5c5b6ae9e25f35e079d7c862db237f1f20200f9ea442 00000143: CALLER 00000144: PUSH2 0x0544 00000147: JUMP 00000148: JUMPDEST 00000149: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 0000016a: CALLVALUE 0000016b: ISZERO 0000016c: PUSH2 0x01c0 0000016f: JUMPI 00000170: DUP1 00000171: PUSH1 0x01 00000173: PUSH1 0x01 00000175: PUSH1 0xa0 00000177: SHL 00000178: SUB 00000179: AND 0000017a: PUSH4 0xd0e30db0 0000017f: CALLVALUE 00000180: PUSH1 0x40 00000182: MLOAD 00000183: DUP3 00000184: PUSH4 0xffffffff 00000189: AND 0000018a: PUSH1 0xe0 0000018c: SHL 0000018d: DUP2 0000018e: MSTORE 0000018f: PUSH1 0x04 00000191: ADD 00000192: PUSH0 00000193: PUSH1 0x40 00000195: MLOAD 00000196: DUP1 00000197: DUP4 00000198: SUB 00000199: DUP2 0000019a: DUP6 0000019b: DUP9 0000019c: DUP1 0000019d: EXTCODESIZE 0000019e: ISZERO 0000019f: DUP1 000001a0: ISZERO 000001a1: PUSH2 0x01a8 000001a4: JUMPI 000001a5: PUSH0 000001a6: DUP1 000001a7: REVERT 000001a8: JUMPDEST 000001a9: POP 000001aa: GAS 000001ab: CALL 000001ac: ISZERO 000001ad: DUP1 000001ae: ISZERO 000001af: PUSH2 0x01ba 000001b2: JUMPI 000001b3: RETURNDATASIZE 000001b4: PUSH0 000001b5: DUP1 000001b6: RETURNDATACOPY 000001b7: RETURNDATASIZE 000001b8: PUSH0 000001b9: REVERT 000001ba: JUMPDEST 000001bb: POP 000001bc: POP 000001bd: POP 000001be: POP 000001bf: POP 000001c0: JUMPDEST 000001c1: PUSH0 000001c2: DUP1 000001c3: DUP1 000001c4: DUP1 000001c5: DUP1 000001c6: DUP1 000001c7: PUSH2 0x01d3 000001ca: CALLDATASIZE 000001cb: PUSH1 0x04 000001cd: DUP2 000001ce: DUP5 000001cf: PUSH2 0x0c9b 000001d2: JUMP 000001d3: JUMPDEST 000001d4: DUP2 000001d5: ADD 000001d6: SWAP1 000001d7: PUSH2 0x01e0 000001da: SWAP2 000001db: SWAP1 000001dc: PUSH2 0x0fd9 000001df: JUMP 000001e0: JUMPDEST 000001e1: SWAP6 000001e2: POP 000001e3: SWAP6 000001e4: POP 000001e5: SWAP6 000001e6: POP 000001e7: SWAP6 000001e8: POP 000001e9: SWAP6 000001ea: POP 000001eb: SWAP6 000001ec: POP 000001ed: PUSH0 000001ee: PUSH2 0x01f6 000001f1: DUP8 000001f2: PUSH2 0x0573 000001f5: JUMP 000001f6: JUMPDEST 000001f7: DUP6 000001f8: MLOAD 000001f9: DUP6 000001fa: MLOAD 000001fb: SWAP2 000001fc: SWAP3 000001fd: POP 000001fe: PUSH2 0x0206 00000201: SWAP2 00000202: PUSH2 0x10c3 00000205: JUMP 00000206: JUMPDEST 00000207: PUSH2 0x0216 0000020a: SWAP1 0000020b: PUSH6 0x5af3107a4000 00000212: PUSH2 0x10e2 00000215: JUMP 00000216: JUMPDEST 00000217: PUSH1 0x01 00000219: SSTORE 0000021a: PUSH1 0x40 0000021c: MLOAD 0000021d: PUSH4 0x48a13b53 00000222: PUSH1 0xe0 00000224: SHL 00000225: DUP2 00000226: MSTORE 00000227: PUSH0 00000228: SWAP1 00000229: PUSH1 0x01 0000022b: PUSH1 0x01 0000022d: PUSH1 0xa0 0000022f: SHL 00000230: SUB 00000231: DUP4 00000232: AND 00000233: SWAP1 00000234: PUSH4 0x48a13b53 00000239: SWAP1 0000023a: PUSH2 0x024d 0000023d: SWAP1 0000023e: DUP11 0000023f: SWAP1 00000240: DUP11 00000241: SWAP1 00000242: DUP11 00000243: SWAP1 00000244: DUP10 00000245: SWAP1 00000246: PUSH1 0x04 00000248: ADD 00000249: PUSH2 0x1248 0000024c: JUMP 0000024d: JUMPDEST 0000024e: PUSH1 0x20 00000250: PUSH1 0x40 00000252: MLOAD 00000253: DUP1 00000254: DUP4 00000255: SUB 00000256: DUP2 00000257: PUSH0 00000258: DUP8 00000259: GAS 0000025a: CALL 0000025b: ISZERO 0000025c: DUP1 0000025d: ISZERO 0000025e: PUSH2 0x0269 00000261: JUMPI 00000262: RETURNDATASIZE 00000263: PUSH0 00000264: DUP1 00000265: RETURNDATACOPY 00000266: RETURNDATASIZE 00000267: PUSH0 00000268: REVERT 00000269: JUMPDEST 0000026a: POP 0000026b: POP 0000026c: POP 0000026d: POP 0000026e: PUSH1 0x40 00000270: MLOAD 00000271: RETURNDATASIZE 00000272: PUSH1 0x1f 00000274: NOT 00000275: PUSH1 0x1f 00000277: DUP3 00000278: ADD 00000279: AND 0000027a: DUP3 0000027b: ADD 0000027c: DUP1 0000027d: PUSH1 0x40 0000027f: MSTORE 00000280: POP 00000281: DUP2 00000282: ADD 00000283: SWAP1 00000284: PUSH2 0x028d 00000287: SWAP2 00000288: SWAP1 00000289: PUSH2 0x12a5 0000028c: JUMP 0000028d: JUMPDEST 0000028e: PUSH0 0000028f: PUSH1 0x01 00000291: SSTORE 00000292: DUP5 00000293: MLOAD 00000294: SWAP1 00000295: SWAP2 00000296: POP 00000297: DUP2 00000298: LT 00000299: ISZERO 0000029a: PUSH2 0x02c3 0000029d: JUMPI 0000029e: DUP4 0000029f: MLOAD 000002a0: PUSH1 0x40 000002a2: MLOAD 000002a3: PUSH4 0x52880093 000002a8: PUSH1 0xe1 000002aa: SHL 000002ab: DUP2 000002ac: MSTORE 000002ad: PUSH2 0x02ba 000002b0: SWAP2 000002b1: DUP4 000002b2: SWAP2 000002b3: PUSH1 0x04 000002b5: ADD 000002b6: PUSH2 0x12c3 000002b9: JUMP 000002ba: JUMPDEST 000002bb: PUSH1 0x40 000002bd: MLOAD 000002be: DUP1 000002bf: SWAP2 000002c0: SUB 000002c1: SWAP1 000002c2: REVERT 000002c3: JUMPDEST 000002c4: PUSH2 0x02d9 000002c7: DUP10 000002c8: DUP6 000002c9: PUSH1 0x20 000002cb: ADD 000002cc: MLOAD 000002cd: DUP4 000002ce: DUP10 000002cf: MLOAD 000002d0: DUP9 000002d1: PUSH1 0x40 000002d3: ADD 000002d4: MLOAD 000002d5: PUSH2 0x05af 000002d8: JUMP 000002d9: JUMPDEST 000002da: STOP 000002db: JUMPDEST 000002dc: CALLVALUE 000002dd: DUP1 000002de: ISZERO 000002df: PUSH2 0x02e6 000002e2: JUMPI 000002e3: PUSH0 000002e4: DUP1 000002e5: REVERT 000002e6: JUMPDEST 000002e7: POP 000002e8: PUSH2 0x02fa 000002eb: PUSH2 0x02f5 000002ee: CALLDATASIZE 000002ef: PUSH1 0x04 000002f1: PUSH2 0x1300 000002f4: JUMP 000002f5: JUMPDEST 000002f6: PUSH2 0x0653 000002f9: JUMP 000002fa: JUMPDEST 000002fb: PUSH1 0x40 000002fd: MLOAD 000002fe: PUSH2 0x0307 00000301: SWAP2 00000302: SWAP1 00000303: PUSH2 0x131e 00000306: JUMP 00000307: JUMPDEST 00000308: PUSH1 0x40 0000030a: MLOAD 0000030b: DUP1 0000030c: SWAP2 0000030d: SUB 0000030e: SWAP1 0000030f: RETURN 00000310: JUMPDEST 00000311: CALLVALUE 00000312: DUP1 00000313: ISZERO 00000314: PUSH2 0x031b 00000317: JUMPI 00000318: PUSH0 00000319: DUP1 0000031a: REVERT 0000031b: JUMPDEST 0000031c: POP 0000031d: PUSH2 0x0330 00000320: PUSH0 00000321: DUP1 00000322: MLOAD 00000323: PUSH1 0x20 00000325: PUSH2 0x14b3 00000328: DUP4 00000329: CODECOPY 0000032a: DUP2 0000032b: MLOAD 0000032c: SWAP2 0000032d: MSTORE 0000032e: DUP2 0000032f: JUMP 00000330: JUMPDEST 00000331: PUSH1 0x40 00000333: MLOAD 00000334: PUSH2 0x0307 00000337: SWAP2 00000338: SWAP1 00000339: PUSH2 0x132c 0000033c: JUMP 0000033d: JUMPDEST 0000033e: CALLVALUE 0000033f: DUP1 00000340: ISZERO 00000341: PUSH2 0x0348 00000344: JUMPI 00000345: PUSH0 00000346: DUP1 00000347: REVERT 00000348: JUMPDEST 00000349: POP 0000034a: PUSH2 0x02d9 0000034d: PUSH2 0x0357 00000350: CALLDATASIZE 00000351: PUSH1 0x04 00000353: PUSH2 0x133a 00000356: JUMP 00000357: JUMPDEST 00000358: PUSH2 0x0689 0000035b: JUMP 0000035c: JUMPDEST 0000035d: CALLVALUE 0000035e: DUP1 0000035f: ISZERO 00000360: PUSH2 0x0367 00000363: JUMPI 00000364: PUSH0 00000365: DUP1 00000366: REVERT 00000367: JUMPDEST 00000368: POP 00000369: PUSH2 0x0330 0000036c: PUSH2 0x0376 0000036f: CALLDATASIZE 00000370: PUSH1 0x04 00000372: PUSH2 0x1358 00000375: JUMP 00000376: JUMPDEST 00000377: PUSH0 00000378: SWAP1 00000379: DUP2 0000037a: MSTORE 0000037b: PUSH1 0x20 0000037d: DUP2 0000037e: SWAP1 0000037f: MSTORE 00000380: PUSH1 0x40 00000382: SWAP1 00000383: KECCAK256 00000384: PUSH1 0x01 00000386: ADD 00000387: SLOAD 00000388: SWAP1 00000389: JUMP 0000038a: JUMPDEST 0000038b: CALLVALUE 0000038c: DUP1 0000038d: ISZERO 0000038e: PUSH2 0x0395 00000391: JUMPI 00000392: PUSH0 00000393: DUP1 00000394: REVERT 00000395: JUMPDEST 00000396: POP 00000397: PUSH2 0x02d9 0000039a: PUSH2 0x03a4 0000039d: CALLDATASIZE 0000039e: PUSH1 0x04 000003a0: PUSH2 0x1358 000003a3: JUMP 000003a4: JUMPDEST 000003a5: PUSH2 0x0693 000003a8: JUMP 000003a9: JUMPDEST 000003aa: CALLVALUE 000003ab: DUP1 000003ac: ISZERO 000003ad: PUSH2 0x03b4 000003b0: JUMPI 000003b1: PUSH0 000003b2: DUP1 000003b3: REVERT 000003b4: JUMPDEST 000003b5: POP 000003b6: PUSH2 0x02d9 000003b9: PUSH2 0x03c3 000003bc: CALLDATASIZE 000003bd: PUSH1 0x04 000003bf: PUSH2 0x1376 000003c2: JUMP 000003c3: JUMPDEST 000003c4: PUSH2 0x07c8 000003c7: JUMP 000003c8: JUMPDEST 000003c9: CALLVALUE 000003ca: DUP1 000003cb: ISZERO 000003cc: PUSH2 0x03d3 000003cf: JUMPI 000003d0: PUSH0 000003d1: DUP1 000003d2: REVERT 000003d3: JUMPDEST 000003d4: POP 000003d5: PUSH2 0x02d9 000003d8: PUSH2 0x03e2 000003db: CALLDATASIZE 000003dc: PUSH1 0x04 000003de: PUSH2 0x1376 000003e1: JUMP 000003e2: JUMPDEST 000003e3: PUSH2 0x07f2 000003e6: JUMP 000003e7: JUMPDEST 000003e8: CALLVALUE 000003e9: DUP1 000003ea: ISZERO 000003eb: PUSH2 0x03f2 000003ee: JUMPI 000003ef: PUSH0 000003f0: DUP1 000003f1: REVERT 000003f2: JUMPDEST 000003f3: POP 000003f4: PUSH2 0x02d9 000003f7: PUSH2 0x0401 000003fa: CALLDATASIZE 000003fb: PUSH1 0x04 000003fd: PUSH2 0x13b0 00000400: JUMP 00000401: JUMPDEST 00000402: PUSH2 0x0825 00000405: JUMP 00000406: JUMPDEST 00000407: CALLVALUE 00000408: DUP1 00000409: ISZERO 0000040a: PUSH2 0x0411 0000040d: JUMPI 0000040e: PUSH0 0000040f: DUP1 00000410: REVERT 00000411: JUMPDEST 00000412: POP 00000413: PUSH2 0x043a 00000416: PUSH2 0x0420 00000419: CALLDATASIZE 0000041a: PUSH1 0x04 0000041c: PUSH2 0x1358 0000041f: JUMP 00000420: JUMPDEST 00000421: PUSH1 0x02 00000423: PUSH1 0x20 00000425: MSTORE 00000426: PUSH0 00000427: SWAP1 00000428: DUP2 00000429: MSTORE 0000042a: PUSH1 0x40 0000042c: SWAP1 0000042d: KECCAK256 0000042e: SLOAD 0000042f: PUSH1 0x01 00000431: PUSH1 0x01 00000433: PUSH1 0xa0 00000435: SHL 00000436: SUB 00000437: AND 00000438: DUP2 00000439: JUMP 0000043a: JUMPDEST 0000043b: PUSH1 0x40 0000043d: MLOAD 0000043e: PUSH2 0x0307 00000441: SWAP2 00000442: SWAP1 00000443: PUSH2 0x13e8 00000446: JUMP 00000447: JUMPDEST 00000448: CALLVALUE 00000449: DUP1 0000044a: ISZERO 0000044b: PUSH2 0x0452 0000044e: JUMPI 0000044f: PUSH0 00000450: DUP1 00000451: REVERT 00000452: JUMPDEST 00000453: POP 00000454: PUSH2 0x0330 00000457: PUSH0 00000458: DUP2 00000459: JUMP 0000045a: JUMPDEST 0000045b: CALLVALUE 0000045c: DUP1 0000045d: ISZERO 0000045e: PUSH2 0x0465 00000461: JUMPI 00000462: PUSH0 00000463: DUP1 00000464: REVERT 00000465: JUMPDEST 00000466: POP 00000467: PUSH2 0x02fa 0000046a: PUSH2 0x0474 0000046d: CALLDATASIZE 0000046e: PUSH1 0x04 00000470: PUSH2 0x1376 00000473: JUMP 00000474: JUMPDEST 00000475: PUSH2 0x0888 00000478: JUMP 00000479: JUMPDEST 0000047a: CALLVALUE 0000047b: DUP1 0000047c: ISZERO 0000047d: PUSH2 0x0484 00000480: JUMPI 00000481: PUSH0 00000482: DUP1 00000483: REVERT 00000484: JUMPDEST 00000485: POP 00000486: PUSH2 0x02d9 00000489: PUSH2 0x0493 0000048c: CALLDATASIZE 0000048d: PUSH1 0x04 0000048f: PUSH2 0x1376 00000492: JUMP 00000493: JUMPDEST 00000494: PUSH2 0x08b0 00000497: JUMP 00000498: JUMPDEST 00000499: CALLVALUE 0000049a: DUP1 0000049b: ISZERO 0000049c: PUSH2 0x04a3 0000049f: JUMPI 000004a0: PUSH0 000004a1: DUP1 000004a2: REVERT 000004a3: JUMPDEST 000004a4: POP 000004a5: PUSH2 0x02d9 000004a8: PUSH2 0x04b2 000004ab: CALLDATASIZE 000004ac: PUSH1 0x04 000004ae: PUSH2 0x1358 000004b1: JUMP 000004b2: JUMPDEST 000004b3: PUSH2 0x08c4 000004b6: JUMP 000004b7: JUMPDEST 000004b8: CALLVALUE 000004b9: DUP1 000004ba: ISZERO 000004bb: PUSH2 0x04c2 000004be: JUMPI 000004bf: PUSH0 000004c0: DUP1 000004c1: REVERT 000004c2: JUMPDEST 000004c3: POP 000004c4: PUSH2 0x0330 000004c7: PUSH32 0xcad6d1a2298b8fe675ee5c5b6ae9e25f35e079d7c862db237f1f20200f9ea442 000004e8: DUP2 000004e9: JUMP 000004ea: JUMPDEST 000004eb: PUSH2 0x02d9 000004ee: PUSH2 0x090b 000004f1: JUMP 000004f2: JUMPDEST 000004f3: CALLVALUE 000004f4: DUP1 000004f5: ISZERO 000004f6: PUSH2 0x04fd 000004f9: JUMPI 000004fa: PUSH0 000004fb: DUP1 000004fc: REVERT 000004fd: JUMPDEST 000004fe: POP 000004ff: PUSH2 0x02d9 00000502: PUSH2 0x050c 00000505: CALLDATASIZE 00000506: PUSH1 0x04 00000508: PUSH2 0x1376 0000050b: JUMP 0000050c: JUMPDEST 0000050d: PUSH2 0x0988 00000510: JUMP 00000511: JUMPDEST 00000512: CALLVALUE 00000513: DUP1 00000514: ISZERO 00000515: PUSH2 0x051c 00000518: JUMPI 00000519: PUSH0 0000051a: DUP1 0000051b: REVERT 0000051c: JUMPDEST 0000051d: POP 0000051e: PUSH2 0x02d9 00000521: PUSH2 0x052b 00000524: CALLDATASIZE 00000525: PUSH1 0x04 00000527: PUSH2 0x13f6 0000052a: JUMP 0000052b: JUMPDEST 0000052c: PUSH2 0x09ac 0000052f: JUMP 00000530: JUMPDEST 00000531: CALLVALUE 00000532: DUP1 00000533: ISZERO 00000534: PUSH2 0x053b 00000537: JUMPI 00000538: PUSH0 00000539: DUP1 0000053a: REVERT 0000053b: JUMPDEST 0000053c: POP 0000053d: PUSH2 0x0330 00000540: PUSH1 0x01 00000542: DUP2 00000543: JUMP 00000544: JUMPDEST 00000545: PUSH2 0x054e 00000548: DUP3 00000549: DUP3 0000054a: PUSH2 0x0888 0000054d: JUMP 0000054e: JUMPDEST 0000054f: PUSH2 0x056f 00000552: JUMPI 00000553: DUP1 00000554: DUP3 00000555: PUSH1 0x40 00000557: MLOAD 00000558: PUSH4 0xe2517d3f 0000055d: PUSH1 0xe0 0000055f: SHL 00000560: DUP2 00000561: MSTORE 00000562: PUSH1 0x04 00000564: ADD 00000565: PUSH2 0x02ba 00000568: SWAP3 00000569: SWAP2 0000056a: SWAP1 0000056b: PUSH2 0x1426 0000056e: JUMP 0000056f: JUMPDEST 00000570: POP 00000571: POP 00000572: JUMP 00000573: JUMPDEST 00000574: PUSH0 00000575: DUP2 00000576: DUP2 00000577: MSTORE 00000578: PUSH1 0x02 0000057a: PUSH1 0x20 0000057c: MSTORE 0000057d: PUSH1 0x40 0000057f: SWAP1 00000580: KECCAK256 00000581: SLOAD 00000582: PUSH1 0x01 00000584: PUSH1 0x01 00000586: PUSH1 0xa0 00000588: SHL 00000589: SUB 0000058a: AND 0000058b: DUP1 0000058c: PUSH2 0x05aa 0000058f: JUMPI 00000590: DUP2 00000591: PUSH1 0x40 00000593: MLOAD 00000594: PUSH4 0x201e4ee7 00000599: PUSH1 0xe0 0000059b: SHL 0000059c: DUP2 0000059d: MSTORE 0000059e: PUSH1 0x04 000005a0: ADD 000005a1: PUSH2 0x02ba 000005a4: SWAP2 000005a5: SWAP1 000005a6: PUSH2 0x132c 000005a9: JUMP 000005aa: JUMPDEST 000005ab: SWAP2 000005ac: SWAP1 000005ad: POP 000005ae: JUMP 000005af: JUMPDEST 000005b0: DUP4 000005b1: ISZERO 000005b2: DUP1 000005b3: PUSH2 0x05ba 000005b6: JUMPI 000005b7: POP 000005b8: DUP3 000005b9: ISZERO 000005ba: JUMPDEST 000005bb: PUSH2 0x064c 000005be: JUMPI 000005bf: DUP2 000005c0: DUP4 000005c1: GT 000005c2: ISZERO 000005c3: PUSH2 0x05ca 000005c6: JUMPI 000005c7: DUP2 000005c8: SWAP3 000005c9: POP 000005ca: JUMPDEST 000005cb: DUP1 000005cc: ISZERO 000005cd: PUSH2 0x05e9 000005d0: JUMPI 000005d1: PUSH2 0x05da 000005d4: DUP4 000005d5: DUP6 000005d6: PUSH2 0x10c3 000005d9: JUMP 000005da: JUMPDEST 000005db: SWAP4 000005dc: POP 000005dd: PUSH2 0x05e6 000005e0: DUP3 000005e1: DUP6 000005e2: PUSH2 0x1448 000005e5: JUMP 000005e6: JUMPDEST 000005e7: SWAP4 000005e8: POP 000005e9: JUMPDEST 000005ea: PUSH1 0x40 000005ec: MLOAD 000005ed: PUSH4 0x2e1a7d4d 000005f2: PUSH1 0xe0 000005f4: SHL 000005f5: DUP2 000005f6: MSTORE 000005f7: PUSH1 0x01 000005f9: PUSH1 0x01 000005fb: PUSH1 0xa0 000005fd: SHL 000005fe: SUB 000005ff: DUP7 00000600: AND 00000601: SWAP1 00000602: PUSH4 0x2e1a7d4d 00000607: SWAP1 00000608: PUSH2 0x0615 0000060b: SWAP1 0000060c: DUP8 0000060d: SWAP1 0000060e: PUSH1 0x04 00000610: ADD 00000611: PUSH2 0x132c 00000614: JUMP 00000615: JUMPDEST 00000616: PUSH0 00000617: PUSH1 0x40 00000619: MLOAD 0000061a: DUP1 0000061b: DUP4 0000061c: SUB 0000061d: DUP2 0000061e: PUSH0 0000061f: DUP8 00000620: DUP1 00000621: EXTCODESIZE 00000622: ISZERO 00000623: DUP1 00000624: ISZERO 00000625: PUSH2 0x062c 00000628: JUMPI 00000629: PUSH0 0000062a: DUP1 0000062b: REVERT 0000062c: JUMPDEST 0000062d: POP 0000062e: GAS 0000062f: CALL 00000630: ISZERO 00000631: DUP1 00000632: ISZERO 00000633: PUSH2 0x063e 00000636: JUMPI 00000637: RETURNDATASIZE 00000638: PUSH0 00000639: DUP1 0000063a: RETURNDATACOPY 0000063b: RETURNDATASIZE 0000063c: PUSH0 0000063d: REVERT 0000063e: JUMPDEST 0000063f: POP 00000640: POP 00000641: POP 00000642: POP 00000643: PUSH2 0x064c 00000646: COINBASE 00000647: DUP6 00000648: PUSH2 0x0a8a 0000064b: JUMP 0000064c: JUMPDEST 0000064d: POP 0000064e: POP 0000064f: POP 00000650: POP 00000651: POP 00000652: JUMP 00000653: JUMPDEST 00000654: PUSH0 00000655: PUSH1 0x01 00000657: PUSH1 0x01 00000659: PUSH1 0xe0 0000065b: SHL 0000065c: SUB 0000065d: NOT 0000065e: DUP3 0000065f: AND 00000660: PUSH4 0x7965db0b 00000665: PUSH1 0xe0 00000667: SHL 00000668: EQ 00000669: DUP1 0000066a: PUSH2 0x0683 0000066d: JUMPI 0000066e: POP 0000066f: PUSH4 0x01ffc9a7 00000674: PUSH1 0xe0 00000676: SHL 00000677: PUSH1 0x01 00000679: PUSH1 0x01 0000067b: PUSH1 0xe0 0000067d: SHL 0000067e: SUB 0000067f: NOT 00000680: DUP4 00000681: AND 00000682: EQ 00000683: JUMPDEST 00000684: SWAP3 00000685: SWAP2 00000686: POP 00000687: POP 00000688: JUMP 00000689: JUMPDEST 0000068a: PUSH0 0000068b: PUSH2 0x056f 0000068e: DUP2 0000068f: PUSH2 0x0b03 00000692: JUMP 00000693: JUMPDEST 00000694: PUSH0 00000695: PUSH2 0x069d 00000698: DUP2 00000699: PUSH2 0x0b03 0000069c: JUMP 0000069d: JUMPDEST 0000069e: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 000006bf: PUSH0 000006c0: DUP4 000006c1: SWAP1 000006c2: SUB 000006c3: PUSH2 0x0734 000006c6: JUMPI 000006c7: PUSH1 0x40 000006c9: MLOAD 000006ca: PUSH4 0x70a08231 000006cf: PUSH1 0xe0 000006d1: SHL 000006d2: DUP2 000006d3: MSTORE 000006d4: PUSH1 0x01 000006d6: PUSH1 0x01 000006d8: PUSH1 0xa0 000006da: SHL 000006db: SUB 000006dc: DUP3 000006dd: AND 000006de: SWAP1 000006df: PUSH4 0x70a08231 000006e4: SWAP1 000006e5: PUSH2 0x06f2 000006e8: SWAP1 000006e9: ADDRESS 000006ea: SWAP1 000006eb: PUSH1 0x04 000006ed: ADD 000006ee: PUSH2 0x13e8 000006f1: JUMP 000006f2: JUMPDEST 000006f3: PUSH1 0x20 000006f5: PUSH1 0x40 000006f7: MLOAD 000006f8: DUP1 000006f9: DUP4 000006fa: SUB 000006fb: DUP2 000006fc: DUP7 000006fd: GAS 000006fe: STATICCALL 000006ff: ISZERO 00000700: DUP1 00000701: ISZERO 00000702: PUSH2 0x070d 00000705: JUMPI 00000706: RETURNDATASIZE 00000707: PUSH0 00000708: DUP1 00000709: RETURNDATACOPY 0000070a: RETURNDATASIZE 0000070b: PUSH0 0000070c: REVERT 0000070d: JUMPDEST 0000070e: POP 0000070f: POP 00000710: POP 00000711: POP 00000712: PUSH1 0x40 00000714: MLOAD 00000715: RETURNDATASIZE 00000716: PUSH1 0x1f 00000718: NOT 00000719: PUSH1 0x1f 0000071b: DUP3 0000071c: ADD 0000071d: AND 0000071e: DUP3 0000071f: ADD 00000720: DUP1 00000721: PUSH1 0x40 00000723: MSTORE 00000724: POP 00000725: DUP2 00000726: ADD 00000727: SWAP1 00000728: PUSH2 0x0731 0000072b: SWAP2 0000072c: SWAP1 0000072d: PUSH2 0x12a5 00000730: JUMP 00000731: JUMPDEST 00000732: SWAP3 00000733: POP 00000734: JUMPDEST 00000735: DUP3 00000736: PUSH0 00000737: SUB 00000738: PUSH2 0x0740 0000073b: JUMPI 0000073c: POP 0000073d: POP 0000073e: POP 0000073f: JUMP 00000740: JUMPDEST 00000741: PUSH1 0x40 00000743: MLOAD 00000744: PUSH4 0x2e1a7d4d 00000749: PUSH1 0xe0 0000074b: SHL 0000074c: DUP2 0000074d: MSTORE 0000074e: PUSH1 0x01 00000750: PUSH1 0x01 00000752: PUSH1 0xa0 00000754: SHL 00000755: SUB 00000756: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00000777: AND 00000778: SWAP1 00000779: PUSH4 0x2e1a7d4d 0000077e: SWAP1 0000077f: PUSH2 0x078c 00000782: SWAP1 00000783: DUP7 00000784: SWAP1 00000785: PUSH1 0x04 00000787: ADD 00000788: PUSH2 0x132c 0000078b: JUMP 0000078c: JUMPDEST 0000078d: PUSH0 0000078e: PUSH1 0x40 00000790: MLOAD 00000791: DUP1 00000792: DUP4 00000793: SUB 00000794: DUP2 00000795: PUSH0 00000796: DUP8 00000797: DUP1 00000798: EXTCODESIZE 00000799: ISZERO 0000079a: DUP1 0000079b: ISZERO 0000079c: PUSH2 0x07a3 0000079f: JUMPI 000007a0: PUSH0 000007a1: DUP1 000007a2: REVERT 000007a3: JUMPDEST 000007a4: POP 000007a5: GAS 000007a6: CALL 000007a7: ISZERO 000007a8: DUP1 000007a9: ISZERO 000007aa: PUSH2 0x07b5 000007ad: JUMPI 000007ae: RETURNDATASIZE 000007af: PUSH0 000007b0: DUP1 000007b1: RETURNDATACOPY 000007b2: RETURNDATASIZE 000007b3: PUSH0 000007b4: REVERT 000007b5: JUMPDEST 000007b6: POP 000007b7: POP 000007b8: POP 000007b9: POP 000007ba: PUSH2 0x07c3 000007bd: CALLER 000007be: DUP5 000007bf: PUSH2 0x0a8a 000007c2: JUMP 000007c3: JUMPDEST 000007c4: POP 000007c5: POP 000007c6: POP 000007c7: JUMP 000007c8: JUMPDEST 000007c9: PUSH0 000007ca: DUP3 000007cb: DUP2 000007cc: MSTORE 000007cd: PUSH1 0x20 000007cf: DUP2 000007d0: SWAP1 000007d1: MSTORE 000007d2: PUSH1 0x40 000007d4: SWAP1 000007d5: KECCAK256 000007d6: PUSH1 0x01 000007d8: ADD 000007d9: SLOAD 000007da: PUSH2 0x07e2 000007dd: DUP2 000007de: PUSH2 0x0b03 000007e1: JUMP 000007e2: JUMPDEST 000007e3: PUSH2 0x07ec 000007e6: DUP4 000007e7: DUP4 000007e8: PUSH2 0x0b10 000007eb: JUMP 000007ec: JUMPDEST 000007ed: POP 000007ee: POP 000007ef: POP 000007f0: POP 000007f1: JUMP 000007f2: JUMPDEST 000007f3: PUSH1 0x01 000007f5: PUSH1 0x01 000007f7: PUSH1 0xa0 000007f9: SHL 000007fa: SUB 000007fb: DUP2 000007fc: AND 000007fd: CALLER 000007fe: EQ 000007ff: PUSH2 0x081b 00000802: JUMPI 00000803: PUSH1 0x40 00000805: MLOAD 00000806: PUSH4 0x334bd919 0000080b: PUSH1 0xe1 0000080d: SHL 0000080e: DUP2 0000080f: MSTORE 00000810: PUSH1 0x04 00000812: ADD 00000813: PUSH1 0x40 00000815: MLOAD 00000816: DUP1 00000817: SWAP2 00000818: SUB 00000819: SWAP1 0000081a: REVERT 0000081b: JUMPDEST 0000081c: PUSH2 0x07c3 0000081f: DUP3 00000820: DUP3 00000821: PUSH2 0x0b9f 00000824: JUMP 00000825: JUMPDEST 00000826: PUSH0 00000827: PUSH2 0x082f 0000082a: DUP2 0000082b: PUSH2 0x0b03 0000082e: JUMP 0000082f: JUMPDEST 00000830: DUP2 00000831: MLOAD 00000832: PUSH32 0xcad6d1a2298b8fe675ee5c5b6ae9e25f35e079d7c862db237f1f20200f9ea442 00000853: PUSH0 00000854: JUMPDEST 00000855: DUP3 00000856: DUP2 00000857: LT 00000858: ISZERO 00000859: PUSH2 0x064c 0000085c: JUMPI 0000085d: PUSH2 0x087f 00000860: DUP3 00000861: DUP7 00000862: DUP4 00000863: DUP2 00000864: MLOAD 00000865: DUP2 00000866: LT 00000867: PUSH2 0x0872 0000086a: JUMPI 0000086b: PUSH2 0x0872 0000086e: PUSH2 0x145b 00000871: JUMP 00000872: JUMPDEST 00000873: PUSH1 0x20 00000875: MUL 00000876: PUSH1 0x20 00000878: ADD 00000879: ADD 0000087a: MLOAD 0000087b: PUSH2 0x0b10 0000087e: JUMP 0000087f: JUMPDEST 00000880: POP 00000881: PUSH1 0x01 00000883: ADD 00000884: PUSH2 0x0854 00000887: JUMP 00000888: JUMPDEST 00000889: PUSH0 0000088a: SWAP2 0000088b: DUP3 0000088c: MSTORE 0000088d: PUSH1 0x20 0000088f: DUP3 00000890: DUP2 00000891: MSTORE 00000892: PUSH1 0x40 00000894: DUP1 00000895: DUP5 00000896: KECCAK256 00000897: PUSH1 0x01 00000899: PUSH1 0x01 0000089b: PUSH1 0xa0 0000089d: SHL 0000089e: SUB 0000089f: SWAP4 000008a0: SWAP1 000008a1: SWAP4 000008a2: AND 000008a3: DUP5 000008a4: MSTORE 000008a5: SWAP2 000008a6: SWAP1 000008a7: MSTORE 000008a8: SWAP1 000008a9: KECCAK256 000008aa: SLOAD 000008ab: PUSH1 0xff 000008ad: AND 000008ae: SWAP1 000008af: JUMP 000008b0: JUMPDEST 000008b1: PUSH0 000008b2: PUSH2 0x08ba 000008b5: DUP2 000008b6: PUSH2 0x0b03 000008b9: JUMP 000008ba: JUMPDEST 000008bb: PUSH2 0x07c3 000008be: DUP4 000008bf: DUP4 000008c0: PUSH2 0x0c08 000008c3: JUMP 000008c4: JUMPDEST 000008c5: PUSH0 000008c6: PUSH2 0x08ce 000008c9: DUP2 000008ca: PUSH2 0x0b03 000008cd: JUMP 000008ce: JUMPDEST 000008cf: PUSH0 000008d0: DUP3 000008d1: DUP2 000008d2: MSTORE 000008d3: PUSH1 0x02 000008d5: PUSH1 0x20 000008d7: MSTORE 000008d8: PUSH1 0x40 000008da: SWAP1 000008db: KECCAK256 000008dc: DUP1 000008dd: SLOAD 000008de: PUSH1 0x01 000008e0: PUSH1 0x01 000008e2: PUSH1 0xa0 000008e4: SHL 000008e5: SUB 000008e6: NOT 000008e7: DUP2 000008e8: AND 000008e9: SWAP1 000008ea: SWAP2 000008eb: SSTORE 000008ec: PUSH1 0x01 000008ee: PUSH1 0x01 000008f0: PUSH1 0xa0 000008f2: SHL 000008f3: SUB 000008f4: AND 000008f5: PUSH2 0x07ec 000008f8: PUSH0 000008f9: DUP1 000008fa: MLOAD 000008fb: PUSH1 0x20 000008fd: PUSH2 0x14b3 00000900: DUP4 00000901: CODECOPY 00000902: DUP2 00000903: MLOAD 00000904: SWAP2 00000905: MSTORE 00000906: DUP3 00000907: PUSH2 0x0b9f 0000090a: JUMP 0000090b: JUMPDEST 0000090c: PUSH0 0000090d: PUSH2 0x0915 00000910: DUP2 00000911: PUSH2 0x0b03 00000914: JUMP 00000915: JUMPDEST 00000916: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00000937: PUSH1 0x01 00000939: PUSH1 0x01 0000093b: PUSH1 0xa0 0000093d: SHL 0000093e: SUB 0000093f: AND 00000940: PUSH4 0xd0e30db0 00000945: CALLVALUE 00000946: PUSH1 0x40 00000948: MLOAD 00000949: DUP3 0000094a: PUSH4 0xffffffff 0000094f: AND 00000950: PUSH1 0xe0 00000952: SHL 00000953: DUP2 00000954: MSTORE 00000955: PUSH1 0x04 00000957: ADD 00000958: PUSH0 00000959: PUSH1 0x40 0000095b: MLOAD 0000095c: DUP1 0000095d: DUP4 0000095e: SUB 0000095f: DUP2 00000960: DUP6 00000961: DUP9 00000962: DUP1 00000963: EXTCODESIZE 00000964: ISZERO 00000965: DUP1 00000966: ISZERO 00000967: PUSH2 0x096e 0000096a: JUMPI 0000096b: PUSH0 0000096c: DUP1 0000096d: REVERT 0000096e: JUMPDEST 0000096f: POP 00000970: GAS 00000971: CALL 00000972: ISZERO 00000973: DUP1 00000974: ISZERO 00000975: PUSH2 0x0980 00000978: JUMPI 00000979: RETURNDATASIZE 0000097a: PUSH0 0000097b: DUP1 0000097c: RETURNDATACOPY 0000097d: RETURNDATASIZE 0000097e: PUSH0 0000097f: REVERT 00000980: JUMPDEST 00000981: POP 00000982: POP 00000983: POP 00000984: POP 00000985: POP 00000986: POP 00000987: JUMP 00000988: JUMPDEST 00000989: PUSH0 0000098a: DUP3 0000098b: DUP2 0000098c: MSTORE 0000098d: PUSH1 0x20 0000098f: DUP2 00000990: SWAP1 00000991: MSTORE 00000992: PUSH1 0x40 00000994: SWAP1 00000995: KECCAK256 00000996: PUSH1 0x01 00000998: ADD 00000999: SLOAD 0000099a: PUSH2 0x09a2 0000099d: DUP2 0000099e: PUSH2 0x0b03 000009a1: JUMP 000009a2: JUMPDEST 000009a3: PUSH2 0x07ec 000009a6: DUP4 000009a7: DUP4 000009a8: PUSH2 0x0b9f 000009ab: JUMP 000009ac: JUMPDEST 000009ad: PUSH0 000009ae: DUP1 000009af: MLOAD 000009b0: PUSH1 0x20 000009b2: PUSH2 0x14b3 000009b5: DUP4 000009b6: CODECOPY 000009b7: DUP2 000009b8: MLOAD 000009b9: SWAP2 000009ba: MSTORE 000009bb: PUSH2 0x09c3 000009be: DUP2 000009bf: PUSH2 0x0b03 000009c2: JUMP 000009c3: JUMPDEST 000009c4: DUP2 000009c5: PUSH1 0x01 000009c7: SLOAD 000009c8: LT 000009c9: ISZERO 000009ca: PUSH2 0x09e6 000009cd: JUMPI 000009ce: PUSH1 0x40 000009d0: MLOAD 000009d1: PUSH4 0x25cdf54f 000009d6: PUSH1 0xe2 000009d8: SHL 000009d9: DUP2 000009da: MSTORE 000009db: PUSH1 0x04 000009dd: ADD 000009de: PUSH1 0x40 000009e0: MLOAD 000009e1: DUP1 000009e2: SWAP2 000009e3: SUB 000009e4: SWAP1 000009e5: REVERT 000009e6: JUMPDEST 000009e7: DUP2 000009e8: PUSH1 0x01 000009ea: PUSH0 000009eb: DUP3 000009ec: DUP3 000009ed: SLOAD 000009ee: PUSH2 0x09f7 000009f1: SWAP2 000009f2: SWAP1 000009f3: PUSH2 0x146f 000009f6: JUMP 000009f7: JUMPDEST 000009f8: SWAP1 000009f9: SWAP2 000009fa: SSTORE 000009fb: POP 000009fc: POP 000009fd: PUSH1 0x40 000009ff: MLOAD 00000a00: PUSH4 0xa9059cbb 00000a05: PUSH1 0xe0 00000a07: SHL 00000a08: DUP2 00000a09: MSTORE 00000a0a: PUSH1 0x01 00000a0c: PUSH1 0x01 00000a0e: PUSH1 0xa0 00000a10: SHL 00000a11: SUB 00000a12: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00000a33: AND 00000a34: SWAP1 00000a35: PUSH4 0xa9059cbb 00000a3a: SWAP1 00000a3b: PUSH2 0x0a4a 00000a3e: SWAP1 00000a3f: DUP7 00000a40: SWAP1 00000a41: DUP7 00000a42: SWAP1 00000a43: PUSH1 0x04 00000a45: ADD 00000a46: PUSH2 0x1426 00000a49: JUMP 00000a4a: JUMPDEST 00000a4b: PUSH1 0x20 00000a4d: PUSH1 0x40 00000a4f: MLOAD 00000a50: DUP1 00000a51: DUP4 00000a52: SUB 00000a53: DUP2 00000a54: PUSH0 00000a55: DUP8 00000a56: GAS 00000a57: CALL 00000a58: ISZERO 00000a59: DUP1 00000a5a: ISZERO 00000a5b: PUSH2 0x0a66 00000a5e: JUMPI 00000a5f: RETURNDATASIZE 00000a60: PUSH0 00000a61: DUP1 00000a62: RETURNDATACOPY 00000a63: RETURNDATASIZE 00000a64: PUSH0 00000a65: REVERT 00000a66: JUMPDEST 00000a67: POP 00000a68: POP 00000a69: POP 00000a6a: POP 00000a6b: PUSH1 0x40 00000a6d: MLOAD 00000a6e: RETURNDATASIZE 00000a6f: PUSH1 0x1f 00000a71: NOT 00000a72: PUSH1 0x1f 00000a74: DUP3 00000a75: ADD 00000a76: AND 00000a77: DUP3 00000a78: ADD 00000a79: DUP1 00000a7a: PUSH1 0x40 00000a7c: MSTORE 00000a7d: POP 00000a7e: DUP2 00000a7f: ADD 00000a80: SWAP1 00000a81: PUSH2 0x07ec 00000a84: SWAP2 00000a85: SWAP1 00000a86: PUSH2 0x148d 00000a89: JUMP 00000a8a: JUMPDEST 00000a8b: PUSH0 00000a8c: DUP3 00000a8d: PUSH1 0x01 00000a8f: PUSH1 0x01 00000a91: PUSH1 0xa0 00000a93: SHL 00000a94: SUB 00000a95: AND 00000a96: DUP3 00000a97: PUSH1 0x40 00000a99: MLOAD 00000a9a: PUSH2 0x0aa2 00000a9d: SWAP1 00000a9e: PUSH2 0x14ab 00000aa1: JUMP 00000aa2: JUMPDEST 00000aa3: PUSH0 00000aa4: PUSH1 0x40 00000aa6: MLOAD 00000aa7: DUP1 00000aa8: DUP4 00000aa9: SUB 00000aaa: DUP2 00000aab: DUP6 00000aac: DUP8 00000aad: GAS 00000aae: CALL 00000aaf: SWAP3 00000ab0: POP 00000ab1: POP 00000ab2: POP 00000ab3: RETURNDATASIZE 00000ab4: DUP1 00000ab5: PUSH0 00000ab6: DUP2 00000ab7: EQ 00000ab8: PUSH2 0x0adc 00000abb: JUMPI 00000abc: PUSH1 0x40 00000abe: MLOAD 00000abf: SWAP2 00000ac0: POP 00000ac1: PUSH1 0x1f 00000ac3: NOT 00000ac4: PUSH1 0x3f 00000ac6: RETURNDATASIZE 00000ac7: ADD 00000ac8: AND 00000ac9: DUP3 00000aca: ADD 00000acb: PUSH1 0x40 00000acd: MSTORE 00000ace: RETURNDATASIZE 00000acf: DUP3 00000ad0: MSTORE 00000ad1: RETURNDATASIZE 00000ad2: PUSH0 00000ad3: PUSH1 0x20 00000ad5: DUP5 00000ad6: ADD 00000ad7: RETURNDATACOPY 00000ad8: PUSH2 0x0ae1 00000adb: JUMP 00000adc: JUMPDEST 00000add: PUSH1 0x60 00000adf: SWAP2 00000ae0: POP 00000ae1: JUMPDEST 00000ae2: POP 00000ae3: POP 00000ae4: SWAP1 00000ae5: POP 00000ae6: DUP1 00000ae7: PUSH2 0x07c3 00000aea: JUMPI 00000aeb: PUSH1 0x40 00000aed: MLOAD 00000aee: PUSH4 0x0db2c7f1 00000af3: PUSH1 0xe3 00000af5: SHL 00000af6: DUP2 00000af7: MSTORE 00000af8: PUSH1 0x04 00000afa: ADD 00000afb: PUSH1 0x40 00000afd: MLOAD 00000afe: DUP1 00000aff: SWAP2 00000b00: SUB 00000b01: SWAP1 00000b02: REVERT 00000b03: JUMPDEST 00000b04: PUSH2 0x0b0d 00000b07: DUP2 00000b08: CALLER 00000b09: PUSH2 0x0544 00000b0c: JUMP 00000b0d: JUMPDEST 00000b0e: POP 00000b0f: JUMP 00000b10: JUMPDEST 00000b11: PUSH0 00000b12: PUSH2 0x0b1b 00000b15: DUP4 00000b16: DUP4 00000b17: PUSH2 0x0888 00000b1a: JUMP 00000b1b: JUMPDEST 00000b1c: PUSH2 0x0b98 00000b1f: JUMPI 00000b20: PUSH0 00000b21: DUP4 00000b22: DUP2 00000b23: MSTORE 00000b24: PUSH1 0x20 00000b26: DUP2 00000b27: DUP2 00000b28: MSTORE 00000b29: PUSH1 0x40 00000b2b: DUP1 00000b2c: DUP4 00000b2d: KECCAK256 00000b2e: PUSH1 0x01 00000b30: PUSH1 0x01 00000b32: PUSH1 0xa0 00000b34: SHL 00000b35: SUB 00000b36: DUP7 00000b37: AND 00000b38: DUP5 00000b39: MSTORE 00000b3a: SWAP1 00000b3b: SWAP2 00000b3c: MSTORE 00000b3d: SWAP1 00000b3e: KECCAK256 00000b3f: DUP1 00000b40: SLOAD 00000b41: PUSH1 0xff 00000b43: NOT 00000b44: AND 00000b45: PUSH1 0x01 00000b47: OR 00000b48: SWAP1 00000b49: SSTORE 00000b4a: PUSH2 0x0b50 00000b4d: CALLER 00000b4e: SWAP1 00000b4f: JUMP 00000b50: JUMPDEST 00000b51: PUSH1 0x01 00000b53: PUSH1 0x01 00000b55: PUSH1 0xa0 00000b57: SHL 00000b58: SUB 00000b59: AND 00000b5a: DUP3 00000b5b: PUSH1 0x01 00000b5d: PUSH1 0x01 00000b5f: PUSH1 0xa0 00000b61: SHL 00000b62: SUB 00000b63: AND 00000b64: DUP5 00000b65: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d 00000b86: PUSH1 0x40 00000b88: MLOAD 00000b89: PUSH1 0x40 00000b8b: MLOAD 00000b8c: DUP1 00000b8d: SWAP2 00000b8e: SUB 00000b8f: SWAP1 00000b90: LOG4 00000b91: POP 00000b92: PUSH1 0x01 00000b94: PUSH2 0x0683 00000b97: JUMP 00000b98: JUMPDEST 00000b99: POP 00000b9a: PUSH0 00000b9b: PUSH2 0x0683 00000b9e: JUMP 00000b9f: JUMPDEST 00000ba0: PUSH0 00000ba1: PUSH2 0x0baa 00000ba4: DUP4 00000ba5: DUP4 00000ba6: PUSH2 0x0888 00000ba9: JUMP 00000baa: JUMPDEST 00000bab: ISZERO 00000bac: PUSH2 0x0b98 00000baf: JUMPI 00000bb0: PUSH0 00000bb1: DUP4 00000bb2: DUP2 00000bb3: MSTORE 00000bb4: PUSH1 0x20 00000bb6: DUP2 00000bb7: DUP2 00000bb8: MSTORE 00000bb9: PUSH1 0x40 00000bbb: DUP1 00000bbc: DUP4 00000bbd: KECCAK256 00000bbe: PUSH1 0x01 00000bc0: PUSH1 0x01 00000bc2: PUSH1 0xa0 00000bc4: SHL 00000bc5: SUB 00000bc6: DUP7 00000bc7: AND 00000bc8: DUP1 00000bc9: DUP6 00000bca: MSTORE 00000bcb: SWAP3 00000bcc: MSTORE 00000bcd: DUP1 00000bce: DUP4 00000bcf: KECCAK256 00000bd0: DUP1 00000bd1: SLOAD 00000bd2: PUSH1 0xff 00000bd4: NOT 00000bd5: AND 00000bd6: SWAP1 00000bd7: SSTORE 00000bd8: MLOAD 00000bd9: CALLER 00000bda: SWAP3 00000bdb: DUP7 00000bdc: SWAP2 00000bdd: PUSH32 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b 00000bfe: SWAP2 00000bff: SWAP1 00000c00: LOG4 00000c01: POP 00000c02: PUSH1 0x01 00000c04: PUSH2 0x0683 00000c07: JUMP 00000c08: JUMPDEST 00000c09: PUSH0 00000c0a: DUP3 00000c0b: DUP2 00000c0c: MSTORE 00000c0d: PUSH1 0x02 00000c0f: PUSH1 0x20 00000c11: MSTORE 00000c12: PUSH1 0x40 00000c14: SWAP1 00000c15: KECCAK256 00000c16: SLOAD 00000c17: PUSH1 0x01 00000c19: PUSH1 0x01 00000c1b: PUSH1 0xa0 00000c1d: SHL 00000c1e: SUB 00000c1f: AND 00000c20: PUSH0 00000c21: DUP1 00000c22: MLOAD 00000c23: PUSH1 0x20 00000c25: PUSH2 0x14b3 00000c28: DUP4 00000c29: CODECOPY 00000c2a: DUP2 00000c2b: MLOAD 00000c2c: SWAP2 00000c2d: MSTORE 00000c2e: DUP2 00000c2f: ISZERO 00000c30: PUSH2 0x0c3f 00000c33: JUMPI 00000c34: PUSH2 0x0c3d 00000c37: DUP2 00000c38: DUP4 00000c39: PUSH2 0x0b9f 00000c3c: JUMP 00000c3d: JUMPDEST 00000c3e: POP 00000c3f: JUMPDEST 00000c40: DUP3 00000c41: PUSH1 0x01 00000c43: PUSH1 0x01 00000c45: PUSH1 0xa0 00000c47: SHL 00000c48: SUB 00000c49: AND 00000c4a: EXTCODESIZE 00000c4b: PUSH0 00000c4c: SUB 00000c4d: PUSH2 0x0c6b 00000c50: JUMPI 00000c51: DUP3 00000c52: PUSH1 0x40 00000c54: MLOAD 00000c55: PUSH4 0x3283c86d 00000c5a: PUSH1 0xe2 00000c5c: SHL 00000c5d: DUP2 00000c5e: MSTORE 00000c5f: PUSH1 0x04 00000c61: ADD 00000c62: PUSH2 0x02ba 00000c65: SWAP2 00000c66: SWAP1 00000c67: PUSH2 0x13e8 00000c6a: JUMP 00000c6b: JUMPDEST 00000c6c: PUSH0 00000c6d: DUP5 00000c6e: DUP2 00000c6f: MSTORE 00000c70: PUSH1 0x02 00000c72: PUSH1 0x20 00000c74: MSTORE 00000c75: PUSH1 0x40 00000c77: SWAP1 00000c78: KECCAK256 00000c79: DUP1 00000c7a: SLOAD 00000c7b: PUSH1 0x01 00000c7d: PUSH1 0x01 00000c7f: PUSH1 0xa0 00000c81: SHL 00000c82: SUB 00000c83: NOT 00000c84: AND 00000c85: PUSH1 0x01 00000c87: PUSH1 0x01 00000c89: PUSH1 0xa0 00000c8b: SHL 00000c8c: SUB 00000c8d: DUP6 00000c8e: AND 00000c8f: OR 00000c90: SWAP1 00000c91: SSTORE 00000c92: PUSH2 0x064c 00000c95: DUP2 00000c96: DUP5 00000c97: PUSH2 0x0b10 00000c9a: JUMP 00000c9b: JUMPDEST 00000c9c: PUSH0 00000c9d: DUP1 00000c9e: DUP6 00000c9f: DUP6 00000ca0: GT 00000ca1: ISZERO 00000ca2: PUSH2 0x0cac 00000ca5: JUMPI 00000ca6: PUSH2 0x0cac 00000ca9: PUSH0 00000caa: DUP1 00000cab: REVERT 00000cac: JUMPDEST 00000cad: DUP4 00000cae: DUP7 00000caf: GT 00000cb0: ISZERO 00000cb1: PUSH2 0x0cbb 00000cb4: JUMPI 00000cb5: PUSH2 0x0cbb 00000cb8: PUSH0 00000cb9: DUP1 00000cba: REVERT 00000cbb: JUMPDEST 00000cbc: POP 00000cbd: POP 00000cbe: DUP3 00000cbf: ADD 00000cc0: SWAP4 00000cc1: SWAP2 00000cc2: SWAP1 00000cc3: SWAP3 00000cc4: SUB 00000cc5: SWAP2 00000cc6: POP 00000cc7: JUMP 00000cc8: JUMPDEST 00000cc9: DUP1 00000cca: JUMPDEST 00000ccb: DUP2 00000ccc: EQ 00000ccd: PUSH2 0x0b0d 00000cd0: JUMPI 00000cd1: PUSH0 00000cd2: DUP1 00000cd3: REVERT 00000cd4: JUMPDEST 00000cd5: DUP1 00000cd6: CALLDATALOAD 00000cd7: PUSH2 0x0683 00000cda: DUP2 00000cdb: PUSH2 0x0cc8 00000cde: JUMP 00000cdf: JUMPDEST 00000ce0: PUSH4 0x4e487b71 00000ce5: PUSH1 0xe0 00000ce7: SHL 00000ce8: PUSH0 00000ce9: MSTORE 00000cea: PUSH1 0x41 00000cec: PUSH1 0x04 00000cee: MSTORE 00000cef: PUSH1 0x24 00000cf1: PUSH0 00000cf2: REVERT 00000cf3: JUMPDEST 00000cf4: PUSH1 0x1f 00000cf6: NOT 00000cf7: PUSH1 0x1f 00000cf9: DUP4 00000cfa: ADD 00000cfb: AND 00000cfc: DUP2 00000cfd: ADD 00000cfe: DUP2 00000cff: DUP2 00000d00: LT 00000d01: PUSH8 0xffffffffffffffff 00000d0a: DUP3 00000d0b: GT 00000d0c: OR 00000d0d: ISZERO 00000d0e: PUSH2 0x0d19 00000d11: JUMPI 00000d12: PUSH2 0x0d19 00000d15: PUSH2 0x0cdf 00000d18: JUMP 00000d19: JUMPDEST 00000d1a: PUSH1 0x40 00000d1c: MSTORE 00000d1d: POP 00000d1e: POP 00000d1f: JUMP 00000d20: JUMPDEST 00000d21: PUSH0 00000d22: PUSH2 0x0d2a 00000d25: PUSH1 0x40 00000d27: MLOAD 00000d28: SWAP1 00000d29: JUMP 00000d2a: JUMPDEST 00000d2b: SWAP1 00000d2c: POP 00000d2d: PUSH2 0x05aa 00000d30: DUP3 00000d31: DUP3 00000d32: PUSH2 0x0cf3 00000d35: JUMP 00000d36: JUMPDEST 00000d37: PUSH0 00000d38: PUSH8 0xffffffffffffffff 00000d41: DUP3 00000d42: GT 00000d43: ISZERO 00000d44: PUSH2 0x0d4f 00000d47: JUMPI 00000d48: PUSH2 0x0d4f 00000d4b: PUSH2 0x0cdf 00000d4e: JUMP 00000d4f: JUMPDEST 00000d50: PUSH1 0x1f 00000d52: NOT 00000d53: PUSH1 0x1f 00000d55: DUP4 00000d56: ADD 00000d57: AND 00000d58: PUSH1 0x20 00000d5a: ADD 00000d5b: SWAP3 00000d5c: SWAP2 00000d5d: POP 00000d5e: POP 00000d5f: JUMP 00000d60: JUMPDEST 00000d61: DUP3 00000d62: DUP2 00000d63: DUP4 00000d64: CALLDATACOPY 00000d65: POP 00000d66: PUSH0 00000d67: SWAP2 00000d68: ADD 00000d69: MSTORE 00000d6a: JUMP 00000d6b: JUMPDEST 00000d6c: PUSH0 00000d6d: PUSH2 0x0d7d 00000d70: PUSH2 0x0d78 00000d73: DUP5 00000d74: PUSH2 0x0d36 00000d77: JUMP 00000d78: JUMPDEST 00000d79: PUSH2 0x0d20 00000d7c: JUMP 00000d7d: JUMPDEST 00000d7e: SWAP1 00000d7f: POP 00000d80: DUP3 00000d81: DUP2 00000d82: MSTORE 00000d83: PUSH1 0x20 00000d85: DUP2 00000d86: ADD 00000d87: DUP5 00000d88: DUP5 00000d89: DUP5 00000d8a: ADD 00000d8b: GT 00000d8c: ISZERO 00000d8d: PUSH2 0x0d97 00000d90: JUMPI 00000d91: PUSH2 0x0d97 00000d94: PUSH0 00000d95: DUP1 00000d96: REVERT 00000d97: JUMPDEST 00000d98: PUSH2 0x0da2 00000d9b: DUP5 00000d9c: DUP3 00000d9d: DUP6 00000d9e: PUSH2 0x0d60 00000da1: JUMP 00000da2: JUMPDEST 00000da3: POP 00000da4: SWAP4 00000da5: SWAP3 00000da6: POP 00000da7: POP 00000da8: POP 00000da9: JUMP 00000daa: JUMPDEST 00000dab: PUSH0 00000dac: DUP3 00000dad: PUSH1 0x1f 00000daf: DUP4 00000db0: ADD 00000db1: SLT 00000db2: PUSH2 0x0dbc 00000db5: JUMPI 00000db6: PUSH2 0x0dbc 00000db9: PUSH0 00000dba: DUP1 00000dbb: REVERT 00000dbc: JUMPDEST 00000dbd: DUP2 00000dbe: CALLDATALOAD 00000dbf: PUSH2 0x0dcc 00000dc2: DUP5 00000dc3: DUP3 00000dc4: PUSH1 0x20 00000dc6: DUP7 00000dc7: ADD 00000dc8: PUSH2 0x0d6b 00000dcb: JUMP 00000dcc: JUMPDEST 00000dcd: SWAP5 00000dce: SWAP4 00000dcf: POP 00000dd0: POP 00000dd1: POP 00000dd2: POP 00000dd3: JUMP 00000dd4: JUMPDEST 00000dd5: PUSH0 00000dd6: PUSH8 0xffffffffffffffff 00000ddf: DUP3 00000de0: GT 00000de1: ISZERO 00000de2: PUSH2 0x0ded 00000de5: JUMPI 00000de6: PUSH2 0x0ded 00000de9: PUSH2 0x0cdf 00000dec: JUMP 00000ded: JUMPDEST 00000dee: POP 00000def: PUSH1 0x20 00000df1: SWAP1 00000df2: DUP2 00000df3: MUL 00000df4: ADD 00000df5: SWAP1 00000df6: JUMP 00000df7: JUMPDEST 00000df8: PUSH0 00000df9: PUSH1 0x01 00000dfb: PUSH1 0x01 00000dfd: PUSH1 0xa0 00000dff: SHL 00000e00: SUB 00000e01: DUP3 00000e02: AND 00000e03: PUSH2 0x0683 00000e06: JUMP 00000e07: JUMPDEST 00000e08: PUSH2 0x0cca 00000e0b: DUP2 00000e0c: PUSH2 0x0df7 00000e0f: JUMP 00000e10: JUMPDEST 00000e11: DUP1 00000e12: CALLDATALOAD 00000e13: PUSH2 0x0683 00000e16: DUP2 00000e17: PUSH2 0x0e07 00000e1a: JUMP 00000e1b: JUMPDEST 00000e1c: PUSH0 00000e1d: PUSH2 0x0e28 00000e20: PUSH2 0x0d78 00000e23: DUP5 00000e24: PUSH2 0x0dd4 00000e27: JUMP 00000e28: JUMPDEST 00000e29: DUP4 00000e2a: DUP2 00000e2b: MSTORE 00000e2c: SWAP1 00000e2d: POP 00000e2e: PUSH1 0x20 00000e30: DUP1 00000e31: DUP3 00000e32: ADD 00000e33: SWAP1 00000e34: DUP5 00000e35: MUL 00000e36: DUP4 00000e37: ADD 00000e38: DUP6 00000e39: DUP2 00000e3a: GT 00000e3b: ISZERO 00000e3c: PUSH2 0x0e46 00000e3f: JUMPI 00000e40: PUSH2 0x0e46 00000e43: PUSH0 00000e44: DUP1 00000e45: REVERT 00000e46: JUMPDEST 00000e47: DUP4 00000e48: JUMPDEST 00000e49: DUP2 00000e4a: DUP2 00000e4b: LT 00000e4c: ISZERO 00000e4d: PUSH2 0x0e6a 00000e50: JUMPI 00000e51: DUP1 00000e52: PUSH2 0x0e5b 00000e55: DUP9 00000e56: DUP3 00000e57: PUSH2 0x0e10 00000e5a: JUMP 00000e5b: JUMPDEST 00000e5c: DUP5 00000e5d: MSTORE 00000e5e: POP 00000e5f: PUSH1 0x20 00000e61: SWAP3 00000e62: DUP4 00000e63: ADD 00000e64: SWAP3 00000e65: ADD 00000e66: PUSH2 0x0e48 00000e69: JUMP 00000e6a: JUMPDEST 00000e6b: POP 00000e6c: POP 00000e6d: POP 00000e6e: SWAP4 00000e6f: SWAP3 00000e70: POP 00000e71: POP 00000e72: POP 00000e73: JUMP 00000e74: JUMPDEST 00000e75: PUSH0 00000e76: DUP3 00000e77: PUSH1 0x1f 00000e79: DUP4 00000e7a: ADD 00000e7b: SLT 00000e7c: PUSH2 0x0e86 00000e7f: JUMPI 00000e80: PUSH2 0x0e86 00000e83: PUSH0 00000e84: DUP1 00000e85: REVERT 00000e86: JUMPDEST 00000e87: DUP2 00000e88: CALLDATALOAD 00000e89: PUSH2 0x0dcc 00000e8c: DUP5 00000e8d: DUP3 00000e8e: PUSH1 0x20 00000e90: DUP7 00000e91: ADD 00000e92: PUSH2 0x0e1b 00000e95: JUMP 00000e96: JUMPDEST 00000e97: PUSH1 0xff 00000e99: DUP2 00000e9a: AND 00000e9b: PUSH2 0x0cca 00000e9e: JUMP 00000e9f: JUMPDEST 00000ea0: DUP1 00000ea1: CALLDATALOAD 00000ea2: PUSH2 0x0683 00000ea5: DUP2 00000ea6: PUSH2 0x0e96 00000ea9: JUMP 00000eaa: JUMPDEST 00000eab: DUP1 00000eac: ISZERO 00000ead: ISZERO 00000eae: PUSH2 0x0cca 00000eb1: JUMP 00000eb2: JUMPDEST 00000eb3: DUP1 00000eb4: CALLDATALOAD 00000eb5: PUSH2 0x0683 00000eb8: DUP2 00000eb9: PUSH2 0x0eaa 00000ebc: JUMP 00000ebd: JUMPDEST 00000ebe: PUSH0 00000ebf: PUSH2 0x0100 00000ec2: DUP3 00000ec3: DUP5 00000ec4: SUB 00000ec5: SLT 00000ec6: ISZERO 00000ec7: PUSH2 0x0ed1 00000eca: JUMPI 00000ecb: PUSH2 0x0ed1 00000ece: PUSH0 00000ecf: DUP1 00000ed0: REVERT 00000ed1: JUMPDEST 00000ed2: PUSH2 0x0edc 00000ed5: PUSH2 0x0100 00000ed8: PUSH2 0x0d20 00000edb: JUMP 00000edc: JUMPDEST 00000edd: SWAP1 00000ede: POP 00000edf: PUSH0 00000ee0: PUSH2 0x0ee9 00000ee3: DUP5 00000ee4: DUP5 00000ee5: PUSH2 0x0cd4 00000ee8: JUMP 00000ee9: JUMPDEST 00000eea: DUP3 00000eeb: MSTORE 00000eec: POP 00000eed: PUSH1 0x20 00000eef: PUSH2 0x0efa 00000ef2: DUP5 00000ef3: DUP5 00000ef4: DUP4 00000ef5: ADD 00000ef6: PUSH2 0x0cd4 00000ef9: JUMP 00000efa: JUMPDEST 00000efb: PUSH1 0x20 00000efd: DUP4 00000efe: ADD 00000eff: MSTORE 00000f00: POP 00000f01: PUSH1 0x40 00000f03: PUSH2 0x0f0e 00000f06: DUP5 00000f07: DUP3 00000f08: DUP6 00000f09: ADD 00000f0a: PUSH2 0x0cd4 00000f0d: JUMP 00000f0e: JUMPDEST 00000f0f: PUSH1 0x40 00000f11: DUP4 00000f12: ADD 00000f13: MSTORE 00000f14: POP 00000f15: PUSH1 0x60 00000f17: PUSH2 0x0f22 00000f1a: DUP5 00000f1b: DUP3 00000f1c: DUP6 00000f1d: ADD 00000f1e: PUSH2 0x0cd4 00000f21: JUMP 00000f22: JUMPDEST 00000f23: PUSH1 0x60 00000f25: DUP4 00000f26: ADD 00000f27: MSTORE 00000f28: POP 00000f29: PUSH1 0x80 00000f2b: PUSH2 0x0f36 00000f2e: DUP5 00000f2f: DUP3 00000f30: DUP6 00000f31: ADD 00000f32: PUSH2 0x0cd4 00000f35: JUMP 00000f36: JUMPDEST 00000f37: PUSH1 0x80 00000f39: DUP4 00000f3a: ADD 00000f3b: MSTORE 00000f3c: POP 00000f3d: PUSH1 0xa0 00000f3f: PUSH2 0x0f4a 00000f42: DUP5 00000f43: DUP3 00000f44: DUP6 00000f45: ADD 00000f46: PUSH2 0x0e9f 00000f49: JUMP 00000f4a: JUMPDEST 00000f4b: PUSH1 0xa0 00000f4d: DUP4 00000f4e: ADD 00000f4f: MSTORE 00000f50: POP 00000f51: PUSH1 0xc0 00000f53: PUSH2 0x0f5e 00000f56: DUP5 00000f57: DUP3 00000f58: DUP6 00000f59: ADD 00000f5a: PUSH2 0x0e9f 00000f5d: JUMP 00000f5e: JUMPDEST 00000f5f: PUSH1 0xc0 00000f61: DUP4 00000f62: ADD 00000f63: MSTORE 00000f64: POP 00000f65: PUSH1 0xe0 00000f67: PUSH2 0x0f72 00000f6a: DUP5 00000f6b: DUP3 00000f6c: DUP6 00000f6d: ADD 00000f6e: PUSH2 0x0eb2 00000f71: JUMP 00000f72: JUMPDEST 00000f73: PUSH1 0xe0 00000f75: DUP4 00000f76: ADD 00000f77: MSTORE 00000f78: POP 00000f79: SWAP3 00000f7a: SWAP2 00000f7b: POP 00000f7c: POP 00000f7d: JUMP 00000f7e: JUMPDEST 00000f7f: PUSH0 00000f80: PUSH1 0x60 00000f82: DUP3 00000f83: DUP5 00000f84: SUB 00000f85: SLT 00000f86: ISZERO 00000f87: PUSH2 0x0f91 00000f8a: JUMPI 00000f8b: PUSH2 0x0f91 00000f8e: PUSH0 00000f8f: DUP1 00000f90: REVERT 00000f91: JUMPDEST 00000f92: PUSH2 0x0f9b 00000f95: PUSH1 0x60 00000f97: PUSH2 0x0d20 00000f9a: JUMP 00000f9b: JUMPDEST 00000f9c: SWAP1 00000f9d: POP 00000f9e: PUSH0 00000f9f: PUSH2 0x0fa8 00000fa2: DUP5 00000fa3: DUP5 00000fa4: PUSH2 0x0cd4 00000fa7: JUMP 00000fa8: JUMPDEST 00000fa9: DUP3 00000faa: MSTORE 00000fab: POP 00000fac: PUSH1 0x20 00000fae: PUSH2 0x0fb9 00000fb1: DUP5 00000fb2: DUP5 00000fb3: DUP4 00000fb4: ADD 00000fb5: PUSH2 0x0cd4 00000fb8: JUMP 00000fb9: JUMPDEST 00000fba: PUSH1 0x20 00000fbc: DUP4 00000fbd: ADD 00000fbe: MSTORE 00000fbf: POP 00000fc0: PUSH1 0x40 00000fc2: PUSH2 0x0fcd 00000fc5: DUP5 00000fc6: DUP3 00000fc7: DUP6 00000fc8: ADD 00000fc9: PUSH2 0x0eb2 00000fcc: JUMP 00000fcd: JUMPDEST 00000fce: PUSH1 0x40 00000fd0: DUP4 00000fd1: ADD 00000fd2: MSTORE 00000fd3: POP 00000fd4: SWAP3 00000fd5: SWAP2 00000fd6: POP 00000fd7: POP 00000fd8: JUMP 00000fd9: JUMPDEST 00000fda: PUSH0 00000fdb: DUP1 00000fdc: PUSH0 00000fdd: DUP1 00000fde: PUSH0 00000fdf: DUP1 00000fe0: PUSH2 0x01e0 00000fe3: DUP8 00000fe4: DUP10 00000fe5: SUB 00000fe6: SLT 00000fe7: ISZERO 00000fe8: PUSH2 0x0ff2 00000feb: JUMPI 00000fec: PUSH2 0x0ff2 00000fef: PUSH0 00000ff0: DUP1 00000ff1: REVERT 00000ff2: JUMPDEST 00000ff3: PUSH0 00000ff4: PUSH2 0x0ffd 00000ff7: DUP10 00000ff8: DUP10 00000ff9: PUSH2 0x0cd4 00000ffc: JUMP 00000ffd: JUMPDEST 00000ffe: SWAP7 00000fff: POP 00001000: POP 00001001: PUSH1 0x20 00001003: DUP8 00001004: ADD 00001005: CALLDATALOAD 00001006: PUSH8 0xffffffffffffffff 0000100f: DUP2 00001010: GT 00001011: ISZERO 00001012: PUSH2 0x101c 00001015: JUMPI 00001016: PUSH2 0x101c 00001019: PUSH0 0000101a: DUP1 0000101b: REVERT 0000101c: JUMPDEST 0000101d: PUSH2 0x1028 00001020: DUP10 00001021: DUP3 00001022: DUP11 00001023: ADD 00001024: PUSH2 0x0daa 00001027: JUMP 00001028: JUMPDEST 00001029: SWAP6 0000102a: POP 0000102b: POP 0000102c: PUSH1 0x40 0000102e: DUP8 0000102f: ADD 00001030: CALLDATALOAD 00001031: PUSH8 0xffffffffffffffff 0000103a: DUP2 0000103b: GT 0000103c: ISZERO 0000103d: PUSH2 0x1047 00001040: JUMPI 00001041: PUSH2 0x1047 00001044: PUSH0 00001045: DUP1 00001046: REVERT 00001047: JUMPDEST 00001048: PUSH2 0x1053 0000104b: DUP10 0000104c: DUP3 0000104d: DUP11 0000104e: ADD 0000104f: PUSH2 0x0e74 00001052: JUMP 00001053: JUMPDEST 00001054: SWAP5 00001055: POP 00001056: POP 00001057: PUSH1 0x60 00001059: PUSH2 0x1064 0000105c: DUP10 0000105d: DUP3 0000105e: DUP11 0000105f: ADD 00001060: PUSH2 0x0ebd 00001063: JUMP 00001064: JUMPDEST 00001065: SWAP4 00001066: POP 00001067: POP 00001068: PUSH2 0x0160 0000106b: PUSH2 0x1076 0000106e: DUP10 0000106f: DUP3 00001070: DUP11 00001071: ADD 00001072: PUSH2 0x0f7e 00001075: JUMP 00001076: JUMPDEST 00001077: SWAP3 00001078: POP 00001079: POP 0000107a: PUSH2 0x01c0 0000107d: DUP8 0000107e: ADD 0000107f: CALLDATALOAD 00001080: PUSH8 0xffffffffffffffff 00001089: DUP2 0000108a: GT 0000108b: ISZERO 0000108c: PUSH2 0x1096 0000108f: JUMPI 00001090: PUSH2 0x1096 00001093: PUSH0 00001094: DUP1 00001095: REVERT 00001096: JUMPDEST 00001097: PUSH2 0x10a2 0000109a: DUP10 0000109b: DUP3 0000109c: DUP11 0000109d: ADD 0000109e: PUSH2 0x0daa 000010a1: JUMP 000010a2: JUMPDEST 000010a3: SWAP2 000010a4: POP 000010a5: POP 000010a6: SWAP3 000010a7: SWAP6 000010a8: POP 000010a9: SWAP3 000010aa: SWAP6 000010ab: POP 000010ac: SWAP3 000010ad: SWAP6 000010ae: JUMP 000010af: JUMPDEST 000010b0: PUSH4 0x4e487b71 000010b5: PUSH1 0xe0 000010b7: SHL 000010b8: PUSH0 000010b9: MSTORE 000010ba: PUSH1 0x11 000010bc: PUSH1 0x04 000010be: MSTORE 000010bf: PUSH1 0x24 000010c1: PUSH0 000010c2: REVERT 000010c3: JUMPDEST 000010c4: DUP2 000010c5: DUP2 000010c6: MUL 000010c7: DUP1 000010c8: DUP3 000010c9: ISZERO 000010ca: DUP4 000010cb: DUP3 000010cc: DIV 000010cd: DUP6 000010ce: EQ 000010cf: OR 000010d0: PUSH2 0x10db 000010d3: JUMPI 000010d4: PUSH2 0x10db 000010d7: PUSH2 0x10af 000010da: JUMP 000010db: JUMPDEST 000010dc: POP 000010dd: SWAP3 000010de: SWAP2 000010df: POP 000010e0: POP 000010e1: JUMP 000010e2: JUMPDEST 000010e3: DUP1 000010e4: DUP3 000010e5: ADD 000010e6: DUP1 000010e7: DUP3 000010e8: GT 000010e9: ISZERO 000010ea: PUSH2 0x0683 000010ed: JUMPI 000010ee: PUSH2 0x0683 000010f1: PUSH2 0x10af 000010f4: JUMP 000010f5: JUMPDEST 000010f6: DUP3 000010f7: DUP2 000010f8: DUP4 000010f9: MCOPY 000010fa: POP 000010fb: PUSH0 000010fc: SWAP2 000010fd: ADD 000010fe: MSTORE 000010ff: JUMP 00001100: JUMPDEST 00001101: PUSH0 00001102: PUSH2 0x1109 00001105: DUP3 00001106: MLOAD 00001107: SWAP1 00001108: JUMP 00001109: JUMPDEST 0000110a: DUP1 0000110b: DUP5 0000110c: MSTORE 0000110d: PUSH1 0x20 0000110f: DUP5 00001110: ADD 00001111: SWAP4 00001112: POP 00001113: PUSH2 0x1120 00001116: DUP2 00001117: DUP6 00001118: PUSH1 0x20 0000111a: DUP7 0000111b: ADD 0000111c: PUSH2 0x10f5 0000111f: JUMP 00001120: JUMPDEST 00001121: PUSH1 0x1f 00001123: ADD 00001124: PUSH1 0x1f 00001126: NOT 00001127: AND 00001128: SWAP3 00001129: SWAP1 0000112a: SWAP3 0000112b: ADD 0000112c: SWAP3 0000112d: SWAP2 0000112e: POP 0000112f: POP 00001130: JUMP 00001131: JUMPDEST 00001132: PUSH2 0x113a 00001135: DUP2 00001136: PUSH2 0x0df7 00001139: JUMP 0000113a: JUMPDEST 0000113b: DUP3 0000113c: MSTORE 0000113d: POP 0000113e: POP 0000113f: JUMP 00001140: JUMPDEST 00001141: PUSH0 00001142: PUSH2 0x114b 00001145: DUP4 00001146: DUP4 00001147: PUSH2 0x1131 0000114a: JUMP 0000114b: JUMPDEST 0000114c: POP 0000114d: POP 0000114e: PUSH1 0x20 00001150: ADD 00001151: SWAP1 00001152: JUMP 00001153: JUMPDEST 00001154: PUSH0 00001155: PUSH2 0x115c 00001158: DUP3 00001159: MLOAD 0000115a: SWAP1 0000115b: JUMP 0000115c: JUMPDEST 0000115d: DUP1 0000115e: DUP5 0000115f: MSTORE 00001160: PUSH1 0x20 00001162: SWAP4 00001163: DUP5 00001164: ADD 00001165: SWAP4 00001166: DUP4 00001167: ADD 00001168: DUP1 00001169: PUSH0 0000116a: JUMPDEST 0000116b: DUP4 0000116c: DUP2 0000116d: LT 0000116e: ISZERO 0000116f: PUSH2 0x118f 00001172: JUMPI 00001173: DUP2 00001174: MLOAD 00001175: PUSH2 0x117e 00001178: DUP9 00001179: DUP3 0000117a: PUSH2 0x1140 0000117d: JUMP 0000117e: JUMPDEST 0000117f: SWAP8 00001180: POP 00001181: PUSH1 0x20 00001183: DUP4 00001184: ADD 00001185: SWAP3 00001186: POP 00001187: POP 00001188: PUSH1 0x01 0000118a: ADD 0000118b: PUSH2 0x116a 0000118e: JUMP 0000118f: JUMPDEST 00001190: POP 00001191: SWAP5 00001192: SWAP6 00001193: SWAP5 00001194: POP 00001195: POP 00001196: POP 00001197: POP 00001198: POP 00001199: JUMP 0000119a: JUMPDEST 0000119b: DUP1 0000119c: PUSH2 0x113a 0000119f: JUMP 000011a0: JUMPDEST 000011a1: PUSH1 0xff 000011a3: DUP2 000011a4: AND 000011a5: PUSH2 0x113a 000011a8: JUMP 000011a9: JUMPDEST 000011aa: DUP1 000011ab: ISZERO 000011ac: ISZERO 000011ad: PUSH2 0x113a 000011b0: JUMP 000011b1: JUMPDEST 000011b2: DUP1 000011b3: MLOAD 000011b4: PUSH2 0x0100 000011b7: DUP4 000011b8: ADD 000011b9: SWAP1 000011ba: PUSH2 0x11c3 000011bd: DUP5 000011be: DUP3 000011bf: PUSH2 0x119a 000011c2: JUMP 000011c3: JUMPDEST 000011c4: POP 000011c5: PUSH1 0x20 000011c7: DUP3 000011c8: ADD 000011c9: MLOAD 000011ca: PUSH2 0x11d6 000011cd: PUSH1 0x20 000011cf: DUP6 000011d0: ADD 000011d1: DUP3 000011d2: PUSH2 0x119a 000011d5: JUMP 000011d6: JUMPDEST 000011d7: POP 000011d8: PUSH1 0x40 000011da: DUP3 000011db: ADD 000011dc: MLOAD 000011dd: PUSH2 0x11e9 000011e0: PUSH1 0x40 000011e2: DUP6 000011e3: ADD 000011e4: DUP3 000011e5: PUSH2 0x119a 000011e8: JUMP 000011e9: JUMPDEST 000011ea: POP 000011eb: PUSH1 0x60 000011ed: DUP3 000011ee: ADD 000011ef: MLOAD 000011f0: PUSH2 0x11fc 000011f3: PUSH1 0x60 000011f5: DUP6 000011f6: ADD 000011f7: DUP3 000011f8: PUSH2 0x119a 000011fb: JUMP 000011fc: JUMPDEST 000011fd: POP 000011fe: PUSH1 0x80 00001200: DUP3 00001201: ADD 00001202: MLOAD 00001203: PUSH2 0x120f 00001206: PUSH1 0x80 00001208: DUP6 00001209: ADD 0000120a: DUP3 0000120b: PUSH2 0x119a 0000120e: JUMP 0000120f: JUMPDEST 00001210: POP 00001211: PUSH1 0xa0 00001213: DUP3 00001214: ADD 00001215: MLOAD 00001216: PUSH2 0x1222 00001219: PUSH1 0xa0 0000121b: DUP6 0000121c: ADD 0000121d: DUP3 0000121e: PUSH2 0x11a0 00001221: JUMP 00001222: JUMPDEST 00001223: POP 00001224: PUSH1 0xc0 00001226: DUP3 00001227: ADD 00001228: MLOAD 00001229: PUSH2 0x1235 0000122c: PUSH1 0xc0 0000122e: DUP6 0000122f: ADD 00001230: DUP3 00001231: PUSH2 0x11a0 00001234: JUMP 00001235: JUMPDEST 00001236: POP 00001237: PUSH1 0xe0 00001239: DUP3 0000123a: ADD 0000123b: MLOAD 0000123c: PUSH2 0x07ec 0000123f: PUSH1 0xe0 00001241: DUP6 00001242: ADD 00001243: DUP3 00001244: PUSH2 0x11a9 00001247: JUMP 00001248: JUMPDEST 00001249: PUSH2 0x0160 0000124c: DUP1 0000124d: DUP3 0000124e: MSTORE 0000124f: DUP2 00001250: ADD 00001251: PUSH2 0x125a 00001254: DUP2 00001255: DUP8 00001256: PUSH2 0x1100 00001259: JUMP 0000125a: JUMPDEST 0000125b: SWAP1 0000125c: POP 0000125d: DUP2 0000125e: DUP2 0000125f: SUB 00001260: PUSH1 0x20 00001262: DUP4 00001263: ADD 00001264: MSTORE 00001265: PUSH2 0x126e 00001268: DUP2 00001269: DUP7 0000126a: PUSH2 0x1153 0000126d: JUMP 0000126e: JUMPDEST 0000126f: SWAP1 00001270: POP 00001271: PUSH2 0x127d 00001274: PUSH1 0x40 00001276: DUP4 00001277: ADD 00001278: DUP6 00001279: PUSH2 0x11b1 0000127c: JUMP 0000127d: JUMPDEST 0000127e: DUP2 0000127f: DUP2 00001280: SUB 00001281: PUSH2 0x0140 00001284: DUP4 00001285: ADD 00001286: MSTORE 00001287: PUSH2 0x1290 0000128a: DUP2 0000128b: DUP5 0000128c: PUSH2 0x1100 0000128f: JUMP 00001290: JUMPDEST 00001291: SWAP7 00001292: SWAP6 00001293: POP 00001294: POP 00001295: POP 00001296: POP 00001297: POP 00001298: POP 00001299: JUMP 0000129a: JUMPDEST 0000129b: DUP1 0000129c: MLOAD 0000129d: PUSH2 0x0683 000012a0: DUP2 000012a1: PUSH2 0x0cc8 000012a4: JUMP 000012a5: JUMPDEST 000012a6: PUSH0 000012a7: PUSH1 0x20 000012a9: DUP3 000012aa: DUP5 000012ab: SUB 000012ac: SLT 000012ad: ISZERO 000012ae: PUSH2 0x12b8 000012b1: JUMPI 000012b2: PUSH2 0x12b8 000012b5: PUSH0 000012b6: DUP1 000012b7: REVERT 000012b8: JUMPDEST 000012b9: PUSH0 000012ba: PUSH2 0x0dcc 000012bd: DUP5 000012be: DUP5 000012bf: PUSH2 0x129a 000012c2: JUMP 000012c3: JUMPDEST 000012c4: PUSH1 0x40 000012c6: DUP2 000012c7: ADD 000012c8: PUSH2 0x12d1 000012cb: DUP3 000012cc: DUP6 000012cd: PUSH2 0x119a 000012d0: JUMP 000012d1: JUMPDEST 000012d2: PUSH2 0x12de 000012d5: PUSH1 0x20 000012d7: DUP4 000012d8: ADD 000012d9: DUP5 000012da: PUSH2 0x119a 000012dd: JUMP 000012de: JUMPDEST 000012df: SWAP4 000012e0: SWAP3 000012e1: POP 000012e2: POP 000012e3: POP 000012e4: JUMP 000012e5: JUMPDEST 000012e6: PUSH1 0x01 000012e8: PUSH1 0x01 000012ea: PUSH1 0xe0 000012ec: SHL 000012ed: SUB 000012ee: NOT 000012ef: DUP2 000012f0: AND 000012f1: PUSH2 0x0cca 000012f4: JUMP 000012f5: JUMPDEST 000012f6: DUP1 000012f7: CALLDATALOAD 000012f8: PUSH2 0x0683 000012fb: DUP2 000012fc: PUSH2 0x12e5 000012ff: JUMP 00001300: JUMPDEST 00001301: PUSH0 00001302: PUSH1 0x20 00001304: DUP3 00001305: DUP5 00001306: SUB 00001307: SLT 00001308: ISZERO 00001309: PUSH2 0x1313 0000130c: JUMPI 0000130d: PUSH2 0x1313 00001310: PUSH0 00001311: DUP1 00001312: REVERT 00001313: JUMPDEST 00001314: PUSH0 00001315: PUSH2 0x0dcc 00001318: DUP5 00001319: DUP5 0000131a: PUSH2 0x12f5 0000131d: JUMP 0000131e: JUMPDEST 0000131f: PUSH1 0x20 00001321: DUP2 00001322: ADD 00001323: PUSH2 0x0683 00001326: DUP3 00001327: DUP5 00001328: PUSH2 0x11a9 0000132b: JUMP 0000132c: JUMPDEST 0000132d: PUSH1 0x20 0000132f: DUP2 00001330: ADD 00001331: PUSH2 0x0683 00001334: DUP3 00001335: DUP5 00001336: PUSH2 0x119a 00001339: JUMP 0000133a: JUMPDEST 0000133b: PUSH0 0000133c: PUSH1 0x60 0000133e: DUP3 0000133f: DUP5 00001340: SUB 00001341: SLT 00001342: ISZERO 00001343: PUSH2 0x134d 00001346: JUMPI 00001347: PUSH2 0x134d 0000134a: PUSH0 0000134b: DUP1 0000134c: REVERT 0000134d: JUMPDEST 0000134e: PUSH0 0000134f: PUSH2 0x0dcc 00001352: DUP5 00001353: DUP5 00001354: PUSH2 0x0f7e 00001357: JUMP 00001358: JUMPDEST 00001359: PUSH0 0000135a: PUSH1 0x20 0000135c: DUP3 0000135d: DUP5 0000135e: SUB 0000135f: SLT 00001360: ISZERO 00001361: PUSH2 0x136b 00001364: JUMPI 00001365: PUSH2 0x136b 00001368: PUSH0 00001369: DUP1 0000136a: REVERT 0000136b: JUMPDEST 0000136c: PUSH0 0000136d: PUSH2 0x0dcc 00001370: DUP5 00001371: DUP5 00001372: PUSH2 0x0cd4 00001375: JUMP 00001376: JUMPDEST 00001377: PUSH0 00001378: DUP1 00001379: PUSH1 0x40 0000137b: DUP4 0000137c: DUP6 0000137d: SUB 0000137e: SLT 0000137f: ISZERO 00001380: PUSH2 0x138a 00001383: JUMPI 00001384: PUSH2 0x138a 00001387: PUSH0 00001388: DUP1 00001389: REVERT 0000138a: JUMPDEST 0000138b: PUSH0 0000138c: PUSH2 0x1395 0000138f: DUP6 00001390: DUP6 00001391: PUSH2 0x0cd4 00001394: JUMP 00001395: JUMPDEST 00001396: SWAP3 00001397: POP 00001398: POP 00001399: PUSH1 0x20 0000139b: PUSH2 0x13a6 0000139e: DUP6 0000139f: DUP3 000013a0: DUP7 000013a1: ADD 000013a2: PUSH2 0x0e10 000013a5: JUMP 000013a6: JUMPDEST 000013a7: SWAP2 000013a8: POP 000013a9: POP 000013aa: SWAP3 000013ab: POP 000013ac: SWAP3 000013ad: SWAP1 000013ae: POP 000013af: JUMP 000013b0: JUMPDEST 000013b1: PUSH0 000013b2: PUSH1 0x20 000013b4: DUP3 000013b5: DUP5 000013b6: SUB 000013b7: SLT 000013b8: ISZERO 000013b9: PUSH2 0x13c3 000013bc: JUMPI 000013bd: PUSH2 0x13c3 000013c0: PUSH0 000013c1: DUP1 000013c2: REVERT 000013c3: JUMPDEST 000013c4: DUP2 000013c5: CALLDATALOAD 000013c6: PUSH8 0xffffffffffffffff 000013cf: DUP2 000013d0: GT 000013d1: ISZERO 000013d2: PUSH2 0x13dc 000013d5: JUMPI 000013d6: PUSH2 0x13dc 000013d9: PUSH0 000013da: DUP1 000013db: REVERT 000013dc: JUMPDEST 000013dd: PUSH2 0x0dcc 000013e0: DUP5 000013e1: DUP3 000013e2: DUP6 000013e3: ADD 000013e4: PUSH2 0x0e74 000013e7: JUMP 000013e8: JUMPDEST 000013e9: PUSH1 0x20 000013eb: DUP2 000013ec: ADD 000013ed: PUSH2 0x0683 000013f0: DUP3 000013f1: DUP5 000013f2: PUSH2 0x1131 000013f5: JUMP 000013f6: JUMPDEST 000013f7: PUSH0 000013f8: DUP1 000013f9: PUSH1 0x40 000013fb: DUP4 000013fc: DUP6 000013fd: SUB 000013fe: SLT 000013ff: ISZERO 00001400: PUSH2 0x140a 00001403: JUMPI 00001404: PUSH2 0x140a 00001407: PUSH0 00001408: DUP1 00001409: REVERT 0000140a: JUMPDEST 0000140b: PUSH0 0000140c: PUSH2 0x1415 0000140f: DUP6 00001410: DUP6 00001411: PUSH2 0x0e10 00001414: JUMP 00001415: JUMPDEST 00001416: SWAP3 00001417: POP 00001418: POP 00001419: PUSH1 0x20 0000141b: PUSH2 0x13a6 0000141e: DUP6 0000141f: DUP3 00001420: DUP7 00001421: ADD 00001422: PUSH2 0x0cd4 00001425: JUMP 00001426: JUMPDEST 00001427: PUSH1 0x40 00001429: DUP2 0000142a: ADD 0000142b: PUSH2 0x12d1 0000142e: DUP3 0000142f: DUP6 00001430: PUSH2 0x1131 00001433: JUMP 00001434: JUMPDEST 00001435: PUSH4 0x4e487b71 0000143a: PUSH1 0xe0 0000143c: SHL 0000143d: PUSH0 0000143e: MSTORE 0000143f: PUSH1 0x12 00001441: PUSH1 0x04 00001443: MSTORE 00001444: PUSH1 0x24 00001446: PUSH0 00001447: REVERT 00001448: JUMPDEST 00001449: PUSH0 0000144a: DUP3 0000144b: PUSH2 0x1456 0000144e: JUMPI 0000144f: PUSH2 0x1456 00001452: PUSH2 0x1434 00001455: JUMP 00001456: JUMPDEST 00001457: POP 00001458: DIV 00001459: SWAP1 0000145a: JUMP 0000145b: JUMPDEST 0000145c: PUSH4 0x4e487b71 00001461: PUSH1 0xe0 00001463: SHL 00001464: PUSH0 00001465: MSTORE 00001466: PUSH1 0x32 00001468: PUSH1 0x04 0000146a: MSTORE 0000146b: PUSH1 0x24 0000146d: PUSH0 0000146e: REVERT 0000146f: JUMPDEST 00001470: DUP2 00001471: DUP2 00001472: SUB 00001473: DUP2 00001474: DUP2 00001475: GT 00001476: ISZERO 00001477: PUSH2 0x0683 0000147a: JUMPI 0000147b: PUSH2 0x0683 0000147e: PUSH2 0x10af 00001481: JUMP 00001482: JUMPDEST 00001483: DUP1 00001484: MLOAD 00001485: PUSH2 0x0683 00001488: DUP2 00001489: PUSH2 0x0eaa 0000148c: JUMP 0000148d: JUMPDEST 0000148e: PUSH0 0000148f: PUSH1 0x20 00001491: DUP3 00001492: DUP5 00001493: SUB 00001494: SLT 00001495: ISZERO 00001496: PUSH2 0x14a0 00001499: JUMPI 0000149a: PUSH2 0x14a0 0000149d: PUSH0 0000149e: DUP1 0000149f: REVERT 000014a0: JUMPDEST 000014a1: PUSH0 000014a2: PUSH2 0x0dcc 000014a5: DUP5 000014a6: DUP5 000014a7: PUSH2 0x1482 000014aa: JUMP 000014ab: JUMPDEST 000014ac: PUSH0 000014ad: DUP2 000014ae: PUSH2 0x0683 000014b1: JUMP 000014b2: INVALID 000014b3: UNKNOWN(0xDB) 000014b4: UNKNOWN(0xEB) 000014b5: PUSH6 0x7137b1822b3d 000014bc: SLOAD 000014bd: XOR 000014be: UNKNOWN(0xBE) 000014bf: UNKNOWN(0xA6) 000014c0: REVERT 000014c1: PUSH5 0x1226d964b4 000014c7: UNKNOWN(0xC3) 000014c8: DUP8 000014c9: CLZ 000014ca: CALLCODE 000014cb: CALLDATALOAD 000014cc: CHAINID 000014cd: UNKNOWN(0xDB) 000014ce: UNKNOWN(0x26) 000014cf: UNKNOWN(0x22) 000014d0: UNKNOWN(0x25) 000014d1: DUP9 000014d2: PUSH18 0xa2646970667358221220e840ea2c69aad9f1 000014e5: DUP5 000014e6: DUP4 000014e7: UNKNOWN(0x1F) 000014e8: UNKNOWN(0xEB) 000014e9: UNKNOWN(0xBF) 000014ea: EXTCODEHASH 000014eb: CREATE 000014ec: UNKNOWN(0xDA) 000014ed: DUP13 000014ee: UNKNOWN(0xBD) 000014ef: DUP3 000014f0: UNKNOWN(0xC2) 000014f1: BLOBHASH 000014f2: CODESIZE 000014f3: UNKNOWN(0xE4) 000014f4: PUSH7 0xd6f64a5325fd92 000014fc: UNKNOWN(0xE5) 000014fd: PUSH5 0x736f6c6343 00001503: STOP 00001504: ADDMOD 00001505: BYTE 00001506: STOP 00001507: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x7fadc194c4e87368abf9dd8450b011e4a0f9fee5379bbed6ef75b7454ac56bbd
call_targets:
0x6f4dca180149a0b3b4df532054a7f0fecbb96170
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x7fadc194c4e87368abf9dd8450b011e4a0f9fee5379bbed6ef75b7454ac56bbd",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x6f4dca180149a0b3b4df532054a7f0fecbb96170"
],
"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": "0xb66437a5",
"selector": "0xb66437a5",
"calldata_variants": [
"0xb66437a5",
"0xb66437a50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd0e30db0",
"selector": "0xd0e30db0",
"calldata_variants": [
"0xd0e30db0",
"0xd0e30db00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd547741f",
"selector": "0xd547741f",
"calldata_variants": [
"0xd547741f",
"0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe9bb84c2",
"selector": "0xe9bb84c2",
"calldata_variants": [
"0xe9bb84c2",
"0xe9bb84c20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xffa1ad74",
"selector": "0xffa1ad74",
"calldata_variants": [
"0xffa1ad74",
"0xffa1ad740000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x75b238fc",
"selector": "0x75b238fc",
"calldata_variants": [
"0x75b238fc",
"0x75b238fc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x91d14854",
"selector": "0x91d14854",
"calldata_variants": [
"0x91d14854",
"0x91d148540000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa217fddf",
"selector": "0xa217fddf",
"calldata_variants": [
"0xa217fddf",
"0xa217fddf0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 427,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 602,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1583,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 8,
"guards_detected": []
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x7fadc194c4e87368abf9dd8450b011e4a0f9fee5379bbed6ef75b7454ac56bbd
call_targets:
0x6f4dca180149a0b3b4df532054a7f0fecbb96170
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x7fadc194c4e87368abf9dd8450b011e4a0f9fee5379bbed6ef75b7454ac56bbd",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x6f4dca180149a0b3b4df532054a7f0fecbb96170"
],
"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": "0xb66437a5",
"selector": "0xb66437a5",
"calldata_variants": [
"0xb66437a5",
"0xb66437a50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd0e30db0",
"selector": "0xd0e30db0",
"calldata_variants": [
"0xd0e30db0",
"0xd0e30db00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd547741f",
"selector": "0xd547741f",
"calldata_variants": [
"0xd547741f",
"0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe9bb84c2",
"selector": "0xe9bb84c2",
"calldata_variants": [
"0xe9bb84c2",
"0xe9bb84c20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xffa1ad74",
"selector": "0xffa1ad74",
"calldata_variants": [
"0xffa1ad74",
"0xffa1ad740000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x75b238fc",
"selector": "0x75b238fc",
"calldata_variants": [
"0x75b238fc",
"0x75b238fc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x91d14854",
"selector": "0x91d14854",
"calldata_variants": [
"0x91d14854",
"0x91d148540000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa217fddf",
"selector": "0xa217fddf",
"calldata_variants": [
"0xa217fddf",
"0xa217fddf0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 427,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 602,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1583,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 8,
"guards_detected": [],
"untrusted_call_count": 8
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0x291c27dc51bd30e0148d2f91753fc15c0bf2f1fd98b402e2e9a1f2ab1b94032f
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0x291c27dc51bd30e0148d2f91753fc15c0bf2f1fd98b402e2e9a1f2ab1b94032f",
"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": "0xb66437a5",
"selector": "0xb66437a5",
"calldata_variants": [
"0xb66437a5",
"0xb66437a50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd0e30db0",
"selector": "0xd0e30db0",
"calldata_variants": [
"0xd0e30db0",
"0xd0e30db00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd547741f",
"selector": "0xd547741f",
"calldata_variants": [
"0xd547741f",
"0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe9bb84c2",
"selector": "0xe9bb84c2",
"calldata_variants": [
"0xe9bb84c2",
"0xe9bb84c20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xffa1ad74",
"selector": "0xffa1ad74",
"calldata_variants": [
"0xffa1ad74",
"0xffa1ad740000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x75b238fc",
"selector": "0x75b238fc",
"calldata_variants": [
"0x75b238fc",
"0x75b238fc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x91d14854",
"selector": "0x91d14854",
"calldata_variants": [
"0x91d14854",
"0x91d148540000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa217fddf",
"selector": "0xa217fddf",
"calldata_variants": [
"0xa217fddf",
"0xa217fddf0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 1,
"create2_count": 0
}
|
| medium | access_control | codex | Computed external CALLs with potential value transfer and no detected access control | 75 | no | — |
viewevidence_json{
"evidence": "Detector findings report untrusted CALL target/value reachable with guards_detected=[] and computed target/value; callsites list CALL at pc 427, 602, 1583, 1958, 2417, 2647, 2734. Validation did not confirm target variance (constant self-target observed in one trace).",
"locations": [
"pc:0x1ab",
"pc:0x25a",
"pc:0x62f",
"pc:0x7a6",
"pc:0x971",
"pc:0xa57",
"pc:0xaae"
],
"recommendation": "Review all externally reachable functions that lead to the CALL sites and ensure strict access control/whitelisting of targets and values. If these are intended forwarding helpers, limit usage to authorized callers and consider reentrancy protections around state changes. Document the expected target set and enforce it on-chain.",
"exploit_scenario": "If any publicly reachable function lets a caller influence the CALL target/value/calldata (as suggested by computed target/value at multiple callsites), an attacker could route contract balance to arbitrary destinations or trigger external side effects; reentrancy could also be possible depending on surrounding state updates. This is uncertain because one trace validation observed a constant self-target, but it did not confirm target variance across all paths."
}
|
| low | other | cast | Contract creation opcode present | 60 | no | — |
viewevidence_json{
"notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
"create_count": 1,
"create2_count": 0
}
|
| low | other | codex | CALLCODE opcode present (reachability uncertain) | 65 | no | — |
viewevidence_json{
"evidence": "Callsides list includes CALLCODE at pc 5322; nearby basic block (start_pc 5313) contains CALLCODE/CREATE/STOP/INVALID-like bytes suggesting a non-executable data section, so reachability is unclear.",
"locations": [
"pc:0x14ca"
],
"recommendation": "Confirm the CALLCODE site is unreachable; if reachable, remove it or restrict access tightly. Prefer DELEGATECALL only when absolutely necessary and with strict input/target validation.",
"exploit_scenario": "If the CALLCODE site is reachable from a public entrypoint, it executes callee code in the caller\u2019s storage context, enabling arbitrary storage mutation and potential fund theft similar to delegatecall. However, the surrounding bytes look like a data/metadata region (INVALID/STOP nearby), so this may be unreachable."
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 6
}
|