019b3836-4025-70d6-a7b0-45af0967529d
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 |
|---|---|---|---|---|
| 5167 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 5168 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 48772 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 48773 | capability.graph | complete | 1 / 3 | 1 week ago |
| 48774 | detector.run | complete | 1 / 3 | 1 week ago |
| 48775 | validation.fork | complete | 1 / 3 | 1 week ago |
| 113303 | report.consolidate | complete | 1 / 6 | 1 week ago |
No slither job recorded yet.
{"no_findings":false,"summary":"Bytecode-only review found one concrete public arbitrary-call surface and one related state-consistency issue on the same public path. CREATE2/CALLCODE detections appear to come from trailing metadata, not reachable runtime logic.","findings":[{"severity":"high","category":"access_control","title":"Public selector reaches variable low-level CALLs with possible ETH transfer","exploit_scenario":"Selector 0xcae9ca51 dispatches directly into logic that reaches CALL at pc:0x466 and CALL at pc:0x4aa without an observed owner check, while nearby admin setters do use a `CALLER == SLOAD(0)` style gate. The detector bundle also validated variable CALL targets and nonzero value as reachable. If the target/value are derived from calldata or attacker-influenced storage on this path, any caller can trigger arbitrary external interactions or outbound ETH transfers from the contract.","recommendation":"Restrict this path with explicit authorization unless it is intentionally public. If it is meant to be public, hard-code or tightly validate the call target, forbid arbitrary calldata passthrough, and prevent unbounded ETH/value forwarding.","evidence":"Dispatcher sends `selector:0xcae9ca51` to pc:0x356. That path reaches pc:0x466 (`CALL`) and pc:0x4aa (`CALL`). Unlike owner-gated paths such as selectors 0x1fe9eabc, 0x7f2a8a80, 0xc4839e8b, and 0xf2fde38b, no `CALLER`/owner comparison is visible before these calls. Detector validation confirmed `target_varies=true` and observed call targets including `0x0000000000000000000000000000000000000004` and the contract itself, with ETH value transfer marked reachable.","locations":["selector:0xcae9ca51","pc:0x466","pc:0x4aa"]},{"severity":"medium","category":"other","title":"External CALL result is discarded after prior state write on public path","exploit_scenario":"On the same public selector 0xcae9ca51 path, storage is written before the low-level CALL at pc:0x466, but the CALL result is immediately popped and execution continues. A malicious or incompatible callee can fail that external action while the contract keeps its internal state change, potentially desynchronizing accounting/claim state from the intended external side effect.","recommendation":"Revert on failed low-level calls unless the failure is explicitly non-fatal and fully accounted for. Where partial failure is acceptable, emit a dedicated event and avoid committing state that assumes the external side effect succeeded.","evidence":"The path performs `SSTORE` at pc:0x3e9, then executes `CALL` at pc:0x466, followed immediately by `POP` with no visible `ISZERO`/revert handling for that call. The later call at pc:0x4aa does have an explicit success check, which makes the missing check at pc:0x466 stand out as intentional or overlooked rather than compiler artifact.","locations":["selector:0xcae9ca51","pc:0x3e9","pc:0x466"]}]}
OpenAI Codex v0.118.0 (research preview)
--------
workdir: /tmp/codex-m6bgnq5h
model: gpt-5.4
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: none
session id: 019d5c61-be9b-7d71-95c3-bb25367790f0
--------
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.
warning: Codex could not find system bubblewrap on PATH. Please install bubblewrap with your package manager. Codex will use the vendored bubblewrap in the meantime.
exec
/bin/bash -lc "pwd && rg --files -g 'BYTECODE_BUNDLE.json' -g 'AGENTS.md' -g '*.json'" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
/tmp/codex-m6bgnq5h
codex-output-schema.json
BYTECODE_BUNDLE.json
exec
/bin/bash -lc 'wc -c BYTECODE_BUNDLE.json && head -n 40 BYTECODE_BUNDLE.json' in /tmp/codex-m6bgnq5h
succeeded in 0ms:
252377 BYTECODE_BUNDLE.json
{
"analysis_artifact": {
"address": "0x2d7eb3b1e243595386c8e15abdb91ecfa1785452",
"artifact_hash": "0x829375fdee9d355a047bf0f4869a151ff3f39a43a611721e8d8bfe15fba975e2",
"artifact_json": {
"auth": {
"guards": []
},
"basic_blocks": [
{
"end_pc": 10,
"hash": "0xf11444caaf4db510565a598ec5db1095f6815c9db671a85c90dde30dacbe11e2",
"opcodes": [
"PUSH1",
"PUSH1",
"MSTORE",
"CALLDATASIZE",
"ISZERO",
"PUSH2",
"JUMPI"
],
"start_pc": 0
},
{
"end_pc": 30,
"hash": "0x81ba1990cb6d08ec7e9f5cef473cf689c892f720fb932454a377fa40a7b6acb2",
"opcodes": [
"PUSH1",
"PUSH1",
"EXP",
"PUSH1",
"CALLDATALOAD",
"DIV",
"PUSH4",
"OP_81",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 11
exec
/bin/bash -lc "jq 'keys' BYTECODE_BUNDLE.json" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
[
"analysis_artifact",
"analysis_run",
"artifact",
"capability_graph",
"detector_findings",
"heuristics_summary"
]
exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json | keys' BYTECODE_BUNDLE.json" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
[
"auth",
"basic_blocks",
"callsites",
"cfg_edges",
"cfg_hash",
"dispatcher_type",
"function_entries",
"functions",
"selectors",
"sinks",
"storage",
"version"
]
exec
/bin/bash -lc "jq '.detector_findings | length, .[0:20]' BYTECODE_BUNDLE.json" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
3
[
{
"confidence": 60,
"evidence_json": {
"call_count": 6,
"examples": [
{
"opcode": "CALL",
"pc": 1126,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 1194,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 1459,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
}
],
"guards_detected": [],
"untrusted_call_count": 6
},
"normalized_json": {
"sink": "CALL"
},
"severity": "high",
"title": "Untrusted CALL target/value reachable",
"validated": true,
"validation_json": {
"attempts": 1,
"call_targets": [
"0x0000000000000000000000000000000000000004",
"0x2d7eb3b1e243595386c8e15abdb91ecfa1785452"
],
"classification": "target_varies",
"confirmed": true,
"errors": 0,
"matched_probe": null,
"sink": "CALL",
"status": "confirmed",
"target_varies": true,
"trace_id": "0x209e21b08cc4f932914f7c51c57ed0527a89584db1b635508786e3ae90ab836c",
"trace_mode": "callTracer"
}
},
{
"confidence": 55,
"evidence_json": {
"eth_value_calls": 6,
"examples": [
{
"opcode": "CALL",
"pc": 1126,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 1194,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 1459,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
}
],
"guards_detected": []
},
"normalized_json": {
"sink": "CALL",
"value": "nonzero"
},
"severity": "high",
"title": "ETH value transfer possible",
"validated": true,
"validation_json": {
"attempts": 1,
"call_targets": [
"0x0000000000000000000000000000000000000004",
"0x2d7eb3b1e243595386c8e15abdb91ecfa1785452"
],
"classification": "target_varies",
"confirmed": true,
"errors": 0,
"matched_probe": null,
"sink": "CALL",
"status": "confirmed",
"target_varies": true,
"trace_id": "0x209e21b08cc4f932914f7c51c57ed0527a89584db1b635508786e3ae90ab836c",
"trace_mode": "callTracer"
}
},
{
"confidence": 45,
"evidence_json": {
"create2_count": 2,
"create_count": 0
},
"normalized_json": {
"sink": "CREATE"
},
"severity": "medium",
"title": "CREATE/CREATE2 reachable",
"validated": false,
"validation_json": {
"attempts": 32,
"call_targets": null,
"classification": "no_sink",
"confirmed": false,
"errors": 0,
"matched_probe": null,
"sink": "CREATE",
"status": "unknown",
"target_varies": null,
"trace_id": "0x6e7c9bd82c1a62d07f4ec39012ee202017ede6903befb1180f7a84e9af69fa8d",
"trace_mode": "structLogs"
}
}
]
exec
/bin/bash -lc "jq '.heuristics_summary' BYTECODE_BUNDLE.json" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
{
"create2_count": 2,
"delegatecall_count": 0,
"flags": [
"create_opcodes_present"
],
"selfdestruct_count": 0
}
exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.selectors' BYTECODE_BUNDLE.json" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
[
"0x06fdde03",
"0x18160ddd",
"0x1fe9eabc",
"0x233de126",
"0x23b872dd",
"0x313ce567",
"0x41fa4876",
"0x70a08231",
"0x7f2a8a80",
"0x8da5cb5b",
"0x95d89b41",
"0xa6f2ae3a",
"0xa9059cbb",
"0xaa295de9",
"0xbc094049",
"0xc4839e8b",
"0xcae9ca51",
"0xdc3080f2",
"0xdd62ed3e",
"0xe4849b32",
"0xf2fde38b",
"0xff9b3acf"
]
exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.function_entries' BYTECODE_BUNDLE.json" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
[
{
"entry_pc": null,
"selector": "0x06fdde03"
},
{
"entry_pc": 535423676,
"selector": "0x18160ddd"
},
{
"entry_pc": 591257894,
"selector": "0x1fe9eabc"
},
{
"entry_pc": 599290589,
"selector": "0x233de126"
},
{
"entry_pc": 826074471,
"selector": "0x23b872dd"
},
{
"entry_pc": 1106921590,
"selector": "0x313ce567"
},
{
"entry_pc": 1889567281,
"selector": "0x41fa4876"
},
{
"entry_pc": 2133494400,
"selector": "0x70a08231"
},
{
"entry_pc": 2376452955,
"selector": "0x7f2a8a80"
},
{
"entry_pc": 2514000705,
"selector": "0x8da5cb5b"
},
{
"entry_pc": 2800922170,
"selector": "0x95d89b41"
},
{
"entry_pc": 2835717307,
"selector": "0xa6f2ae3a"
},
{
"entry_pc": 2854837737,
"selector": "0xa9059cbb"
},
{
"entry_pc": 3154722889,
"selector": "0xaa295de9"
},
{
"entry_pc": 3296960139,
"selector": "0xbc094049"
},
{
"entry_pc": 3404319313,
"selector": "0xc4839e8b"
},
{
"entry_pc": 3694166258,
"selector": "0xcae9ca51"
},
{
"entry_pc": 3714247998,
"selector": "0xdc3080f2"
},
{
"entry_pc": 3833895730,
"selector": "0xdd62ed3e"
},
{
"entry_pc": 4076725131,
"selector": "0xe4849b32"
},
{
"entry_pc": 4288363215,
"selector": "0xf2fde38b"
},
{
"entry_pc": null,
"selector": "0xff9b3acf"
}
]
exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.functions' BYTECODE_BUNDLE.json" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
[
{
"auth": {
"guards": []
},
"entry_pc": null,
"selector": "0x06fdde03",
"sinks": {
"call": 6,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 0
},
"storage": {
"reads": 47,
"slots": [
{
"op": "SLOAD",
"pc": 272,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 343,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 375,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 471,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 596,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 626,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 645,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 715,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 735,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 809,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 818,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
},
{
"op": "SLOAD",
"pc": 830,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SSTORE",
"pc": 1001,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1296,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1393,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1613,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1680,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1717,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1782,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1853,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2203,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2258,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 2276,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2370,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
}
],
"writes": 17
}
},
{
"auth": {
"guards": []
},
"entry_pc": 535423676,
"selector": "0x18160ddd",
"sinks": {
"call": 6,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 0
},
"storage": {
"reads": 47,
"slots": [
{
"op": "SLOAD",
"pc": 272,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 343,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 375,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 471,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 596,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 626,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 645,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 715,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 735,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 809,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 818,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
},
{
"op": "SLOAD",
"pc": 830,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SSTORE",
"pc": 1001,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1296,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1393,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1613,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1680,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1717,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1782,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1853,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2203,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2258,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 2276,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2370,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
}
],
"writes": 17
}
},
{
"auth": {
"guards": []
},
"entry_pc": 591257894,
"selector": "0x1fe9eabc",
"sinks": {
"call": 6,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 0
},
"storage": {
"reads": 47,
"slots": [
{
"op": "SLOAD",
"pc": 272,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 343,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 375,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 471,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 596,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 626,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 645,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 715,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 735,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 809,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 818,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
},
{
"op": "SLOAD",
"pc": 830,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SSTORE",
"pc": 1001,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1296,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1393,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1613,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1680,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1717,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1782,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1853,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2203,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2258,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 2276,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2370,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
}
],
"writes": 17
}
},
{
"auth": {
"guards": []
},
"entry_pc": 599290589,
"selector": "0x233de126",
"sinks": {
"call": 6,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 0
},
"storage": {
"reads": 47,
"slots": [
{
"op": "SLOAD",
"pc": 272,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 343,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 375,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 471,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 596,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 626,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 645,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 715,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 735,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 809,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 818,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
},
{
"op": "SLOAD",
"pc": 830,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SSTORE",
"pc": 1001,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1296,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1393,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1613,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1680,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1717,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1782,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1853,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2203,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2258,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 2276,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2370,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
}
],
"writes": 17
}
},
{
"auth": {
"guards": []
},
"entry_pc": 826074471,
"selector": "0x23b872dd",
"sinks": {
"call": 6,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 0
},
"storage": {
"reads": 47,
"slots": [
{
"op": "SLOAD",
"pc": 272,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 343,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 375,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 471,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 596,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 626,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 645,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 715,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 735,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 809,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 818,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
},
{
"op": "SLOAD",
"pc": 830,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SSTORE",
"pc": 1001,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1296,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1393,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1613,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1680,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1717,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1782,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1853,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2203,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2258,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 2276,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2370,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
}
],
"writes": 17
}
},
{
"auth": {
"guards": []
},
"entry_pc": 1106921590,
"selector": "0x313ce567",
"sinks": {
"call": 6,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 0
},
"storage": {
"reads": 47,
"slots": [
{
"op": "SLOAD",
"pc": 272,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 343,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 375,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 471,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 596,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 626,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 645,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 715,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 735,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 809,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 818,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
},
{
"op": "SLOAD",
"pc": 830,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SSTORE",
"pc": 1001,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1296,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1393,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1613,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1680,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1717,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1782,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1853,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2203,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2258,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 2276,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2370,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
}
],
"writes": 17
}
},
{
"auth": {
"guards": []
},
"entry_pc": 1889567281,
"selector": "0x41fa4876",
"sinks": {
"call": 6,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 0
},
"storage": {
"reads": 47,
"slots": [
{
"op": "SLOAD",
"pc": 272,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 343,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 375,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 471,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 596,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 626,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 645,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 715,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 735,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 809,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 818,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
},
{
"op": "SLOAD",
"pc": 830,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SSTORE",
"pc": 1001,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1296,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1393,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1613,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1680,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1717,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1782,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1853,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2203,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2258,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 2276,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2370,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
}
],
"writes": 17
}
},
{
"auth": {
"guards": []
},
"entry_pc": 2133494400,
"selector": "0x70a08231",
"sinks": {
"call": 6,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 0
},
"storage": {
"reads": 47,
"slots": [
{
"op": "SLOAD",
"pc": 272,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 343,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 375,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 471,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 596,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 626,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 645,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 715,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 735,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 809,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 818,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
},
{
"op": "SLOAD",
"pc": 830,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SSTORE",
"pc": 1001,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1296,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1393,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1613,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1680,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1717,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1782,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1853,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2203,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2258,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 2276,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2370,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
}
],
"writes": 17
}
},
{
"auth": {
"guards": []
},
"entry_pc": 2376452955,
"selector": "0x7f2a8a80",
"sinks": {
"call": 6,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 0
},
"storage": {
"reads": 47,
"slots": [
{
"op": "SLOAD",
"pc": 272,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 343,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 375,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 471,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 596,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 626,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 645,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 715,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 735,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 809,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 818,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
},
{
"op": "SLOAD",
"pc": 830,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SSTORE",
"pc": 1001,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1296,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1393,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1613,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1680,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1717,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1782,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1853,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2203,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2258,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 2276,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2370,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
}
],
"writes": 17
}
},
{
"auth": {
"guards": []
},
"entry_pc": 2514000705,
"selector": "0x8da5cb5b",
"sinks": {
"call": 6,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 0
},
"storage": {
"reads": 47,
"slots": [
{
"op": "SLOAD",
"pc": 272,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 343,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 375,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 471,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 596,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 626,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 645,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 715,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 735,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 809,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 818,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
},
{
"op": "SLOAD",
"pc": 830,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SSTORE",
"pc": 1001,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1296,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1393,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1613,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1680,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1717,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1782,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1853,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2203,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2258,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 2276,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2370,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
}
],
"writes": 17
}
},
{
"auth": {
"guards": []
},
"entry_pc": 2800922170,
"selector": "0x95d89b41",
"sinks": {
"call": 6,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 0
},
"storage": {
"reads": 47,
"slots": [
{
"op": "SLOAD",
"pc": 272,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 343,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 375,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 471,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 596,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 626,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 645,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 715,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 735,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 809,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 818,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
},
{
"op": "SLOAD",
"pc": 830,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SSTORE",
"pc": 1001,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1296,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1393,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1613,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1680,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1717,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1782,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1853,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2203,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2258,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 2276,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2370,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
}
],
"writes": 17
}
},
{
"auth": {
"guards": []
},
"entry_pc": 2835717307,
"selector": "0xa6f2ae3a",
"sinks": {
"call": 6,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 0
},
"storage": {
"reads": 47,
"slots": [
{
"op": "SLOAD",
"pc": 272,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 343,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 375,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 471,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 596,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 626,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 645,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 715,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 735,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 809,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 818,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
},
{
"op": "SLOAD",
"pc": 830,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SSTORE",
"pc": 1001,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1296,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1393,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1613,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1680,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1717,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1782,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1853,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2203,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2258,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 2276,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2370,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
}
],
"writes": 17
}
},
{
"auth": {
"guards": []
},
"entry_pc": 2854837737,
"selector": "0xa9059cbb",
"sinks": {
"call": 6,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 0
},
"storage": {
"reads": 47,
"slots": [
{
"op": "SLOAD",
"pc": 272,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 343,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 375,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 471,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 596,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 626,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 645,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 715,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 735,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 809,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 818,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
},
{
"op": "SLOAD",
"pc": 830,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SSTORE",
"pc": 1001,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1296,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1393,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1613,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1680,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1717,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1782,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1853,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2203,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2258,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 2276,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2370,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
}
],
"writes": 17
}
},
{
"auth": {
"guards": []
},
"entry_pc": 3154722889,
"selector": "0xaa295de9",
"sinks": {
"call": 6,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 0
},
"storage": {
"reads": 47,
"slots": [
{
"op": "SLOAD",
"pc": 272,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 343,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 375,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 471,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 596,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 626,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 645,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 715,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 735,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 809,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 818,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
},
{
"op": "SLOAD",
"pc": 830,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SSTORE",
"pc": 1001,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1296,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1393,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1613,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1680,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1717,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1782,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1853,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2203,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2258,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 2276,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2370,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
}
],
"writes": 17
}
},
{
"auth": {
"guards": []
},
"entry_pc": 3296960139,
"selector": "0xbc094049",
"sinks": {
"call": 6,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 0
},
"storage": {
"reads": 47,
"slots": [
{
"op": "SLOAD",
"pc": 272,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 343,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 375,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 471,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 596,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 626,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 645,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 715,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 735,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 809,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 818,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
},
{
"op": "SLOAD",
"pc": 830,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SSTORE",
"pc": 1001,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1296,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1393,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1613,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1680,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1717,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1782,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1853,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2203,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2258,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 2276,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2370,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
}
],
"writes": 17
}
},
{
"auth": {
"guards": []
},
"entry_pc": 3404319313,
"selector": "0xc4839e8b",
"sinks": {
"call": 6,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 0
},
"storage": {
"reads": 47,
"slots": [
{
"op": "SLOAD",
"pc": 272,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 343,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 375,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 471,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 596,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 626,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 645,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 715,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 735,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 809,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 818,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
},
{
"op": "SLOAD",
"pc": 830,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SSTORE",
"pc": 1001,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1296,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1393,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1613,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1680,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1717,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1782,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1853,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2203,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2258,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 2276,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2370,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
}
],
"writes": 17
}
},
{
"auth": {
"guards": []
},
"entry_pc": 3694166258,
"selector": "0xcae9ca51",
"sinks": {
"call": 6,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 0
},
"storage": {
"reads": 47,
"slots": [
{
"op": "SLOAD",
"pc": 272,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 343,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 375,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 471,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 596,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 626,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 645,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 715,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 735,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 809,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 818,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
},
{
"op": "SLOAD",
"pc": 830,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SSTORE",
"pc": 1001,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1296,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1393,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1613,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1680,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1717,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1782,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1853,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2203,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2258,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 2276,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2370,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
}
],
"writes": 17
}
},
{
"auth": {
"guards": []
},
"entry_pc": 3714247998,
"selector": "0xdc3080f2",
"sinks": {
"call": 6,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 0
},
"storage": {
"reads": 47,
"slots": [
{
"op": "SLOAD",
"pc": 272,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 343,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 375,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 471,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 596,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 626,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 645,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 715,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 735,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 809,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 818,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
},
{
"op": "SLOAD",
"pc": 830,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SSTORE",
"pc": 1001,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1296,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1393,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1613,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1680,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1717,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1782,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1853,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2203,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2258,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 2276,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2370,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
}
],
"writes": 17
}
},
{
"auth": {
"guards": []
},
"entry_pc": 3833895730,
"selector": "0xdd62ed3e",
"sinks": {
"call": 6,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 0
},
"storage": {
"reads": 47,
"slots": [
{
"op": "SLOAD",
"pc": 272,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 343,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 375,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 471,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 596,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 626,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 645,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 715,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 735,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 809,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 818,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
},
{
"op": "SLOAD",
"pc": 830,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SSTORE",
"pc": 1001,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1296,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1393,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1613,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1680,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1717,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1782,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1853,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2203,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2258,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 2276,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2370,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
}
],
"writes": 17
}
},
{
"auth": {
"guards": []
},
"entry_pc": 4076725131,
"selector": "0xe4849b32",
"sinks": {
"call": 6,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 0
},
"storage": {
"reads": 47,
"slots": [
{
"op": "SLOAD",
"pc": 272,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 343,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 375,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 471,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 596,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 626,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 645,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 715,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 735,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 809,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 818,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
},
{
"op": "SLOAD",
"pc": 830,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SSTORE",
"pc": 1001,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1296,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1393,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1613,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1680,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1717,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1782,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1853,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2203,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2258,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 2276,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2370,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
}
],
"writes": 17
}
},
{
"auth": {
"guards": []
},
"entry_pc": 4288363215,
"selector": "0xf2fde38b",
"sinks": {
"call": 6,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 0
},
"storage": {
"reads": 47,
"slots": [
{
"op": "SLOAD",
"pc": 272,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 343,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 375,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 471,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 596,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 626,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 645,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 715,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 735,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 809,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 818,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
},
{
"op": "SLOAD",
"pc": 830,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SSTORE",
"pc": 1001,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1296,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1393,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1613,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1680,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1717,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1782,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1853,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2203,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2258,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 2276,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2370,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
}
],
"writes": 17
}
},
{
"auth": {
"guards": []
},
"entry_pc": null,
"selector": "0xff9b3acf",
"sinks": {
"call": 6,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 0
},
"storage": {
"reads": 47,
"slots": [
{
"op": "SLOAD",
"pc": 272,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 343,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 375,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 471,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 596,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 626,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 645,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 715,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 735,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 809,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 818,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
},
{
"op": "SLOAD",
"pc": 830,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SSTORE",
"pc": 1001,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1296,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1393,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1613,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1680,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1717,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1782,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1853,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2203,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2258,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 2276,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2370,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
}
],
"writes": 17
}
}
]
exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.callsites' BYTECODE_BUNDLE.json" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
[
{
"opcode": "CALL",
"pc": 1126,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 1194,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 1459,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 2385,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALLCODE",
"pc": 2570,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 2588,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
}
]
exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.sinks' BYTECODE_BUNDLE.json" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
{
"call": 6,
"create": 0,
"create2": 2,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 0,
"upgrade_slot_write_suspected": false
}
exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.storage' BYTECODE_BUNDLE.json" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
{
"keccak_count": 30,
"reads": 47,
"slots": [
{
"op": "SLOAD",
"pc": 272,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 343,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 375,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 471,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 596,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 626,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 645,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 715,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 735,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 809,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 818,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
},
{
"op": "SLOAD",
"pc": 830,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SSTORE",
"pc": 1001,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1296,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1363,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1393,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1613,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1680,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1717,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 1782,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1853,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2203,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2258,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
},
{
"op": "SLOAD",
"pc": 2276,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2370,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
}
],
"writes": 17
}
exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.basic_blocks[] | select((.start_pc <= 1126 and .end_pc >= 1126) or (.start_pc <= 1194 and .end_pc >= 1194) or (.start_pc <= 1459 and .end_pc >= 1459) or (.start_pc <= 2385 and .end_pc >= 2385) or (.start_pc <= 2570 and .end_pc >= 2570) or (.start_pc <= 2588 and .end_pc >= 2588))' BYTECODE_BUNDLE.json" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
{
"end_pc": 1142,
"hash": "0x091aeba358c90d31a695fdb0f08326cbe9aeeadeec8d4a08f08ee054a430557e",
"opcodes": [
"JUMPDEST",
"PUSH1",
"OP_80",
"MLOAD",
"PUSH1",
"PUSH1",
"CALLDATALOAD",
"PUSH1",
"OP_81",
"OP_81",
"ADD",
"CALLDATALOAD",
"PUSH1",
"OP_81",
"ADD",
"OP_84",
"OP_90",
"DIV",
"OP_84",
"MUL",
"OP_85",
"ADD",
"OP_84",
"ADD",
"OP_90",
"OP_95",
"MSTORE",
"OP_84",
"OP_84",
"MSTORE",
"PUSH2",
"OP_94",
"OP_81",
"CALLDATALOAD",
"OP_94",
"PUSH1",
"OP_80",
"CALLDATALOAD",
"OP_95",
"OP_93",
"OP_94",
"PUSH1",
"OP_94",
"OP_92",
"OP_93",
"OP_91",
"ADD",
"OP_91",
"OP_81",
"OP_90",
"OP_84",
"ADD",
"OP_83",
"OP_82",
"OP_80",
"OP_82",
"OP_84",
"CALLDATACOPY",
"POP",
"OP_94",
"OP_96",
"POP",
"POP",
"POP",
"POP",
"POP",
"POP",
"POP",
"PUSH1",
"PUSH1",
"OP_83",
"PUSH1",
"PUSH1",
"POP",
"PUSH1",
"CALLER",
"PUSH1",
"PUSH1",
"PUSH1",
"EXP",
"SUB",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_90",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"PUSH1",
"SHA3",
"PUSH1",
"POP",
"PUSH1",
"OP_87",
"PUSH1",
"PUSH1",
"PUSH1",
"EXP",
"SUB",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_90",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"PUSH1",
"SHA3",
"PUSH1",
"POP",
"OP_81",
"OP_90",
"SSTORE",
"POP",
"OP_84",
"OP_90",
"POP",
"OP_80",
"PUSH1",
"PUSH1",
"PUSH1",
"EXP",
"SUB",
"AND",
"PUSH4",
"CALLER",
"OP_86",
"ADDRESS",
"OP_87",
"PUSH1",
"MLOAD",
"OP_85",
"PUSH1",
"PUSH1",
"EXP",
"MUL",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_80",
"OP_85",
"PUSH1",
"PUSH1",
"PUSH1",
"EXP",
"SUB",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_84",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_83",
"PUSH1",
"PUSH1",
"PUSH1",
"EXP",
"SUB",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_80",
"PUSH1",
"ADD",
"OP_82",
"OP_81",
"SUB",
"OP_82",
"MSTORE",
"OP_83",
"OP_81",
"OP_81",
"MLOAD",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_91",
"POP",
"OP_80",
"MLOAD",
"OP_90",
"PUSH1",
"ADD",
"OP_90",
"OP_80",
"OP_83",
"OP_83",
"OP_82",
"OP_90",
"PUSH1",
"PUSH1",
"PUSH1",
"OP_84",
"PUSH1",
"ADD",
"DIV",
"PUSH1",
"MUL",
"PUSH1",
"ADD",
"CALL",
"POP",
"OP_90",
"POP",
"OP_90",
"OP_81",
"ADD",
"OP_90",
"PUSH1",
"AND",
"OP_80",
"ISZERO",
"PUSH2",
"JUMPI"
],
"start_pc": 854
}
{
"end_pc": 1199,
"hash": "0xdf9ff470b26ab5507926e44fb36b152325bbc0b2365977dd939346ff30e6b321",
"opcodes": [
"JUMPDEST",
"POP",
"OP_95",
"POP",
"POP",
"POP",
"POP",
"POP",
"POP",
"PUSH1",
"PUSH1",
"MLOAD",
"OP_80",
"OP_83",
"SUB",
"OP_81",
"PUSH1",
"OP_87",
"PUSH2",
"GAS",
"SUB",
"CALL",
"ISZERO",
"PUSH2",
"JUMPI"
],
"start_pc": 1168
}
{
"end_pc": 1475,
"hash": "0x2e80f4defcef942ee0fe89d4ad2c43c4ca7e2ad1e74c468688804061cdde3d55",
"opcodes": [
"JUMPDEST",
"PUSH1",
"MLOAD",
"OP_80",
"OP_80",
"PUSH1",
"ADD",
"OP_82",
"OP_81",
"SUB",
"OP_82",
"MSTORE",
"OP_83",
"OP_81",
"OP_81",
"MLOAD",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_91",
"POP",
"OP_80",
"MLOAD",
"OP_90",
"PUSH1",
"ADD",
"OP_90",
"OP_80",
"OP_83",
"OP_83",
"OP_82",
"OP_90",
"PUSH1",
"PUSH1",
"PUSH1",
"OP_84",
"PUSH1",
"ADD",
"DIV",
"PUSH1",
"MUL",
"PUSH1",
"ADD",
"CALL",
"POP",
"OP_90",
"POP",
"OP_90",
"OP_81",
"ADD",
"OP_90",
"PUSH1",
"AND",
"OP_80",
"ISZERO",
"PUSH2",
"JUMPI"
],
"start_pc": 1405
}
{
"end_pc": 2439,
"hash": "0x1fc5a71938d0da98723fce3c7152bdafd7e090a7743704f3856290bbe4a86ab7",
"opcodes": [
"JUMPDEST",
"POP",
"ADDRESS",
"PUSH1",
"PUSH1",
"PUSH1",
"EXP",
"SUB",
"OP_90",
"OP_81",
"AND",
"PUSH1",
"OP_90",
"OP_81",
"MSTORE",
"PUSH1",
"PUSH1",
"MSTORE",
"PUSH1",
"OP_80",
"OP_82",
"SHA3",
"OP_80",
"SLOAD",
"OP_85",
"ADD",
"OP_90",
"SSTORE",
"CALLER",
"OP_90",
"OP_92",
"AND",
"OP_80",
"OP_82",
"MSTORE",
"OP_82",
"OP_82",
"SHA3",
"OP_80",
"SLOAD",
"OP_85",
"OP_90",
"SUB",
"OP_90",
"SSTORE",
"OP_91",
"MLOAD",
"PUSH1",
"SLOAD",
"OP_84",
"MUL",
"OP_92",
"OP_91",
"OP_90",
"OP_83",
"OP_90",
"OP_82",
"OP_81",
"OP_81",
"OP_81",
"OP_85",
"OP_88",
"OP_83",
"CALL",
"POP",
"POP",
"PUSH1",
"OP_80",
"MLOAD",
"OP_86",
"OP_81",
"MSTORE",
"OP_90",
"MLOAD",
"ADDRESS",
"PUSH1",
"PUSH1",
"PUSH1",
"EXP",
"SUB",
"AND",
"OP_94",
"OP_93",
"POP",
"PUSH1",
"OP_80",
"MLOAD",
"PUSH1",
"PUSH2",
"OP_83",
"CODECOPY",
"OP_81",
"MLOAD",
"OP_91",
"MSTORE",
"OP_92",
"POP",
"OP_90",
"OP_81",
"OP_90",
"SUB",
"PUSH1",
"ADD",
"OP_90",
"OP_A3",
"OP_91",
"OP_90",
"POP",
"JUMP"
],
"start_pc": 2314
}
{
"end_pc": 2600,
"hash": "0xedbcb8f017f94a8b0e0ef9c5d25fcb2f8f69bea5e664a5ccc5d3a87a49c501f7",
"opcodes": [
"OP_DD",
"CALLCODE",
"MSTORE",
"OP_AD",
"SHL",
"OP_E2",
"OP_C8",
"OP_9B",
"PUSH10",
"CALL",
"PUSH4",
"CREATE2",
"GAS",
"OP_4D",
"CREATE2",
"OP_23",
"OP_B3",
"OP_EF"
],
"start_pc": 2569
}
exec
/bin/bash -lc "jq '.. | objects | with_entries(select(.key|test(\"bytecode|runtime|deployed|code\";\"i\"))) | select(length>0)' BYTECODE_BUNDLE.json | head -n 80" in /tmp/codex-m6bgnq5h
succeeded in 170ms:
Error: writing output failed: Broken pipe
exec
/bin/bash -lc "jq '.analysis_artifact | keys' BYTECODE_BUNDLE.json" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
[
"address",
"artifact_hash",
"artifact_json",
"block_number",
"chain_id",
"codehash",
"created_at",
"id",
"updated_at",
"version"
]
exec
/bin/bash -lc "jq '.artifact | keys' BYTECODE_BUNDLE.json" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
[
"codehash",
"compiler_json",
"implementation_address",
"is_proxy",
"runtime_bytecode",
"verified_source"
]
exec
/bin/bash -lc "jq '.analysis_run | keys' BYTECODE_BUNDLE.json" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
[
"address",
"block_number",
"chain_id",
"child_links",
"created_at",
"id",
"parent_links",
"status",
"updated_at"
]
exec
/bin/bash -lc "jq '.artifact.is_proxy, .artifact.implementation_address, .artifact.verified_source, .artifact.compiler_json' BYTECODE_BUNDLE.json" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
false
null
false
{
"etherscan": {
"skipped": true
}
}
exec
/bin/bash -lc "jq -r '.artifact.runtime_bytecode' BYTECODE_BUNDLE.json | cut -c1-260" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
{
"full": "0x606060405236156101065760e060020a600035046306fdde03811461010857806318160ddd146101655780631fe9eabc1461016e578063233de1261461019057806323b872dd1461019f578063313ce567146101d157806341fa4876146101dd57806370a08231146102335780637f2a8a801461024b5780638da5c
"head": null,
"length": 5204,
"tail": null,
"truncated": false
}
Reading the bytecode bundle and narrowing the reachable sinks before concluding. Next I’ll disassemble the suspicious PCs and map them to selectors/storage patterns.
✓ Read bundle structure and detector findings
→ Inspect runtime bytecode around suspicious call/create sites
• Decide conservative findings and emit JSON
exec
/bin/bash -lc "node - <<'NODE'
const fs=require('fs');
const data=JSON.parse(fs.readFileSync('BYTECODE_BUNDLE.json','utf8'));
const bytecode=data.artifact.runtime_bytecode.full.slice(2);
const ops={0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'};
for(let i=0x60;i<=0x7f;i++) ops[i]='PUSH'+(i-0x5f);
for(let i=0x80;i<=0x8f;i++) ops[i]='DUP'+(i-0x7f);
for(let i=0x90;i<=0x9f;i++) ops[i]='SWAP'+(i-0x8f);
for(let i=0xa0;i<=0xa4;i++) ops[i]='LOG'+(i-0x9f);
const bytes=[]; for(let i=0;i<bytecode.length;i+=2) bytes.push(parseInt(bytecode.slice(i,i+2),16));
const ranges=[[1080,1215],[1380,1495],[2300,2455],[2550,2610]];
for(const [start,end] of ranges){
console.log("'`-- range ${start}-${end} --`);
for(let pc=start; pc<Math.min(end,bytes.length);){
const op=bytes[pc]; const name=ops[op]||('"'OP_'+op.toString(16));
if(name.startsWith('PUSH')){
const n=op-0x5f; const data=bytecode.slice((pc+1)*2,(pc+1+n)*2);
console.log(pc.toString().padStart(4), name.padEnd(8), data);
pc += 1+n;
} else {
console.log(pc.toString().padStart(4), name);
pc += 1;
}
}
}
NODE" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
-- range 1080-1215 --
1080 ADD
1081 DUP3
1082 DUP2
1083 SUB
1084 DUP3
1085 MSTORE
1086 DUP4
1087 DUP2
1088 DUP2
1089 MLOAD
1090 DUP2
1091 MSTORE
1092 PUSH1 20
1094 ADD
1095 SWAP2
1096 POP
1097 DUP1
1098 MLOAD
1099 SWAP1
1100 PUSH1 20
1102 ADD
1103 SWAP1
1104 DUP1
1105 DUP4
1106 DUP4
1107 DUP3
1108 SWAP1
1109 PUSH1 00
1111 PUSH1 04
1113 PUSH1 20
1115 DUP5
1116 PUSH1 1f
1118 ADD
1119 DIV
1120 PUSH1 0f
1122 MUL
1123 PUSH1 03
1125 ADD
1126 CALL
1127 POP
1128 SWAP1
1129 POP
1130 SWAP1
1131 DUP2
1132 ADD
1133 SWAP1
1134 PUSH1 1f
1136 AND
1137 DUP1
1138 ISZERO
1139 PUSH2 0490
1142 JUMPI
1143 DUP1
1144 DUP3
1145 SUB
1146 DUP1
1147 MLOAD
1148 PUSH1 01
1150 DUP4
1151 PUSH1 20
1153 SUB
1154 PUSH2 0100
1157 EXP
1158 SUB
1159 NOT
1160 AND
1161 DUP2
1162 MSTORE
1163 PUSH1 20
1165 ADD
1166 SWAP2
1167 POP
1168 JUMPDEST
1169 POP
1170 SWAP6
1171 POP
1172 POP
1173 POP
1174 POP
1175 POP
1176 POP
1177 PUSH1 00
1179 PUSH1 40
1181 MLOAD
1182 DUP1
1183 DUP4
1184 SUB
1185 DUP2
1186 PUSH1 00
1188 DUP8
1189 PUSH2 61da
1192 GAS
1193 SUB
1194 CALL
1195 ISZERO
1196 PUSH2 0002
1199 JUMPI
1200 POP
1201 PUSH1 01
1203 SWAP8
1204 SWAP7
1205 POP
1206 POP
1207 POP
1208 POP
1209 POP
1210 POP
1211 POP
1212 JUMP
1213 JUMPDEST
1214 PUSH1 0b
-- range 1380-1495 --
1380 ADDMOD
1381 OP_e0
1382 JUMPI
1383 PUSH2 0002
1386 JUMP
1387 JUMPDEST
1388 PUSH2 062d
1391 PUSH1 05
1393 SLOAD
1394 PUSH1 01
1396 PUSH1 a0
1398 PUSH1 02
1400 EXP
1401 SUB
1402 AND
1403 DUP2
1404 JUMP
1405 JUMPDEST
1406 PUSH1 40
1408 MLOAD
1409 DUP1
1410 DUP1
1411 PUSH1 20
1413 ADD
1414 DUP3
1415 DUP2
1416 SUB
1417 DUP3
1418 MSTORE
1419 DUP4
1420 DUP2
1421 DUP2
1422 MLOAD
1423 DUP2
1424 MSTORE
1425 PUSH1 20
1427 ADD
1428 SWAP2
1429 POP
1430 DUP1
1431 MLOAD
1432 SWAP1
1433 PUSH1 20
1435 ADD
1436 SWAP1
1437 DUP1
1438 DUP4
1439 DUP4
1440 DUP3
1441 SWAP1
1442 PUSH1 00
1444 PUSH1 04
1446 PUSH1 20
1448 DUP5
1449 PUSH1 1f
1451 ADD
1452 DIV
1453 PUSH1 0f
1455 MUL
1456 PUSH1 03
1458 ADD
1459 CALL
1460 POP
1461 SWAP1
1462 POP
1463 SWAP1
1464 DUP2
1465 ADD
1466 SWAP1
1467 PUSH1 1f
1469 AND
1470 DUP1
1471 ISZERO
1472 PUSH2 05dd
1475 JUMPI
1476 DUP1
1477 DUP3
1478 SUB
1479 DUP1
1480 MLOAD
1481 PUSH1 01
1483 DUP4
1484 PUSH1 20
1486 SUB
1487 PUSH2 0100
1490 EXP
1491 SUB
1492 NOT
1493 AND
1494 DUP2
-- range 2300-2455 --
2300 DUP3
2301 OR
2302 SWAP1
2303 SSTORE
2304 POP
2305 JUMP
2306 JUMPDEST
2307 POP
2308 SWAP4
2309 SWAP3
2310 POP
2311 POP
2312 POP
2313 JUMP
2314 JUMPDEST
2315 POP
2316 ADDRESS
2317 PUSH1 01
2319 PUSH1 a0
2321 PUSH1 02
2323 EXP
2324 SUB
2325 SWAP1
2326 DUP2
2327 AND
2328 PUSH1 00
2330 SWAP1
2331 DUP2
2332 MSTORE
2333 PUSH1 09
2335 PUSH1 20
2337 MSTORE
2338 PUSH1 40
2340 DUP1
2341 DUP3
2342 SHA3
2343 DUP1
2344 SLOAD
2345 DUP6
2346 ADD
2347 SWAP1
2348 SSTORE
2349 CALLER
2350 SWAP1
2351 SWAP3
2352 AND
2353 DUP1
2354 DUP3
2355 MSTORE
2356 DUP3
2357 DUP3
2358 SHA3
2359 DUP1
2360 SLOAD
2361 DUP6
2362 SWAP1
2363 SUB
2364 SWAP1
2365 SSTORE
2366 SWAP2
2367 MLOAD
2368 PUSH1 08
2370 SLOAD
2371 DUP5
2372 MUL
2373 SWAP3
2374 SWAP2
2375 SWAP1
2376 DUP4
2377 SWAP1
2378 DUP3
2379 DUP2
2380 DUP2
2381 DUP2
2382 DUP6
2383 DUP9
2384 DUP4
2385 CALL
2386 POP
2387 POP
2388 PUSH1 40
2390 DUP1
2391 MLOAD
2392 DUP7
2393 DUP2
2394 MSTORE
2395 SWAP1
2396 MLOAD
2397 ADDRESS
2398 PUSH1 01
2400 PUSH1 a0
2402 PUSH1 02
2404 EXP
2405 SUB
2406 AND
2407 SWAP5
2408 SWAP4
2409 POP
2410 PUSH1 00
2412 DUP1
2413 MLOAD
2414 PUSH1 20
2416 PUSH2 0a09
2419 DUP4
2420 CODECOPY
2421 DUP2
2422 MLOAD
2423 SWAP2
2424 MSTORE
2425 SWAP3
2426 POP
2427 SWAP1
2428 DUP2
2429 SWAP1
2430 SUB
2431 PUSH1 20
2433 ADD
2434 SWAP1
2435 LOG4
2436 SWAP2
2437 SWAP1
2438 POP
2439 JUMP
2440 JUMPDEST
2441 PUSH1 01
2443 PUSH1 a0
2445 PUSH1 02
2447 EXP
2448 SUB
2449 DUP3
2450 AND
2451 PUSH1 00
2453 SWAP1
2454 DUP2
-- range 2550-2610 --
2550 DUP4
2551 CODECOPY
2552 DUP2
2553 MLOAD
2554 SWAP2
2555 MSTORE
2556 SWAP3
2557 SWAP1
2558 DUP2
2559 SWAP1
2560 SUB
2561 SWAP1
2562 SWAP2
2563 ADD
2564 SWAP1
2565 LOG4
2566 POP
2567 POP
2568 JUMP
2569 OP_dd
2570 CALLCODE
2571 MSTORE
2572 OP_ad
2573 SHL
2574 OP_e2
2575 OP_c8
2576 SWAP12
2577 PUSH10 c2b068fc378daa952ba7
2588 CALL
2589 PUSH4 c4a11628
2594 CREATE2
2595 GAS
2596 OP_4d
2597 CREATE2
2598 OP_23
2599 OP_b3
2600 OP_ef
exec
/bin/bash -lc "node - <<'NODE'
const fs=require('fs');
const data=JSON.parse(fs.readFileSync('BYTECODE_BUNDLE.json','utf8'));
const bytecode=data.artifact.runtime_bytecode.full.slice(2);
const ops={0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'};
for(let i=0x60;i<=0x7f;i++) ops[i]='PUSH'+(i-0x5f);
for(let i=0x80;i<=0x8f;i++) ops[i]='DUP'+(i-0x7f);
for(let i=0x90;i<=0x9f;i++) ops[i]='SWAP'+(i-0x8f);
for(let i=0xa0;i<=0xa4;i++) ops[i]='LOG'+(i-0x9f);
const bytes=[]; for(let i=0;i<bytecode.length;i+=2) bytes.push(parseInt(bytecode.slice(i,i+2),16));
for(let pc=0; pc<260;){
const op=bytes[pc]; const name=ops[op]||('OP_'+op.toString(16));
if(name.startsWith('PUSH')){ const n=op-0x5f; const data=bytecode.slice((pc+1)*2,(pc+1+n)*2); console.log(pc.toString().padStart(4), name.padEnd(8), data); pc += 1+n; }
else { console.log(pc.toString().padStart(4), name); pc += 1; }
}
NODE" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
0 PUSH1 60
2 PUSH1 40
4 MSTORE
5 CALLDATASIZE
6 ISZERO
7 PUSH2 0106
10 JUMPI
11 PUSH1 e0
13 PUSH1 02
15 EXP
16 PUSH1 00
18 CALLDATALOAD
19 DIV
20 PUSH4 06fdde03
25 DUP2
26 EQ
27 PUSH2 0108
30 JUMPI
31 DUP1
32 PUSH4 18160ddd
37 EQ
38 PUSH2 0165
41 JUMPI
42 DUP1
43 PUSH4 1fe9eabc
48 EQ
49 PUSH2 016e
52 JUMPI
53 DUP1
54 PUSH4 233de126
59 EQ
60 PUSH2 0190
63 JUMPI
64 DUP1
65 PUSH4 23b872dd
70 EQ
71 PUSH2 019f
74 JUMPI
75 DUP1
76 PUSH4 313ce567
81 EQ
82 PUSH2 01d1
85 JUMPI
86 DUP1
87 PUSH4 41fa4876
92 EQ
93 PUSH2 01dd
96 JUMPI
97 DUP1
98 PUSH4 70a08231
103 EQ
104 PUSH2 0233
107 JUMPI
108 DUP1
109 PUSH4 7f2a8a80
114 EQ
115 PUSH2 024b
118 JUMPI
119 DUP1
120 PUSH4 8da5cb5b
125 EQ
126 PUSH2 026c
129 JUMPI
130 DUP1
131 PUSH4 95d89b41
136 EQ
137 PUSH2 027e
140 JUMPI
141 DUP1
142 PUSH4 a6f2ae3a
147 EQ
148 PUSH2 02d9
151 JUMPI
152 DUP1
153 PUSH4 a9059cbb
158 EQ
159 PUSH2 02f4
162 JUMPI
163 DUP1
164 PUSH4 aa295de9
169 EQ
170 PUSH2 0323
173 JUMPI
174 DUP1
175 PUSH4 bc094049
180 EQ
181 PUSH2 032c
184 JUMPI
185 DUP1
186 PUSH4 c4839e8b
191 EQ
192 PUSH2 0335
195 JUMPI
196 DUP1
197 PUSH4 cae9ca51
202 EQ
203 PUSH2 0356
206 JUMPI
207 DUP1
208 PUSH4 dc3080f2
213 EQ
214 PUSH2 04bd
217 JUMPI
218 DUP1
219 PUSH4 dd62ed3e
224 EQ
225 PUSH2 04e2
228 JUMPI
229 DUP1
230 PUSH4 e4849b32
235 EQ
236 PUSH2 0507
239 JUMPI
240 DUP1
241 PUSH4 f2fde38b
246 EQ
247 PUSH2 054a
250 JUMPI
251 DUP1
252 PUSH4 ff9b3acf
257 EQ
258 PUSH2 056b
exec
/bin/bash -lc "node - <<'NODE'
const fs=require('fs');
const data=JSON.parse(fs.readFileSync('BYTECODE_BUNDLE.json','utf8'));
const bytecode=data.artifact.runtime_bytecode.full.slice(2);
const ops={0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'};
for(let i=0x60;i<=0x7f;i++) ops[i]='PUSH'+(i-0x5f);
for(let i=0x80;i<=0x8f;i++) ops[i]='DUP'+(i-0x7f);
for(let i=0x90;i<=0x9f;i++) ops[i]='SWAP'+(i-0x8f);
for(let i=0xa0;i<=0xa4;i++) ops[i]='LOG'+(i-0x9f);
const bytes=[]; for(let i=0;i<bytecode.length;i+=2) bytes.push(parseInt(bytecode.slice(i,i+2),16));
for(let pc=260; pc<380;){
const op=bytes[pc]; const name=ops[op]||('OP_'+op.toString(16));
if(name.startsWith('PUSH')){ const n=op-0x5f; const data=bytecode.slice((pc+1)*2,(pc+1+n)*2); console.log(pc.toString().padStart(4), name.padEnd(8), data); pc += 1+n; }
else { console.log(pc.toString().padStart(4), name); pc += 1; }
}
NODE" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
260 PUSH12 575b005b6040805160018054
273 PUSH1 20
275 PUSH1 02
277 DUP3
278 DUP5
279 AND
280 ISZERO
281 PUSH2 0100
284 MUL
285 PUSH1 00
287 NOT
288 ADD
289 SWAP1
290 SWAP3
291 AND
292 SWAP2
293 SWAP1
294 SWAP2
295 DIV
296 PUSH1 1f
298 DUP2
299 ADD
300 DUP3
301 SWAP1
302 DIV
303 DUP3
304 MUL
305 DUP5
306 ADD
307 DUP3
308 ADD
309 SWAP1
310 SWAP5
311 MSTORE
312 DUP4
313 DUP4
314 MSTORE
315 PUSH2 057d
318 SWAP4
319 SWAP1
320 DUP4
321 ADD
322 DUP3
323 DUP3
324 DUP1
325 ISZERO
326 PUSH2 079f
329 JUMPI
330 DUP1
331 PUSH1 1f
333 LT
334 PUSH2 0774
337 JUMPI
338 PUSH2 0100
341 DUP1
342 DUP4
343 SLOAD
344 DIV
345 MUL
346 DUP4
347 MSTORE
348 SWAP2
349 PUSH1 20
351 ADD
352 SWAP2
353 PUSH2 079f
356 JUMP
357 JUMPDEST
358 PUSH2 05eb
361 PUSH1 04
363 SLOAD
364 DUP2
365 JUMP
366 JUMPDEST
367 PUSH2 0106
370 PUSH1 04
372 CALLDATALOAD
373 PUSH1 00
375 SLOAD
376 PUSH1 01
378 PUSH1 a0
exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.cfg_edges[] | select(.to==2314 or .from==2314)' BYTECODE_BUNDLE.json" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.cfg_edges[] | select(.to==1405 or .from==1405 or .to==854 or .from==854 or .to==1168 or .from==1168)' BYTECODE_BUNDLE.json" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.cfg_edges[0:20]' BYTECODE_BUNDLE.json" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
[
{
"from": "bb:0",
"to": "bb:262",
"type": "control_flow"
},
{
"from": "bb:0",
"to": "bb:11",
"type": "control_flow_fallthrough"
},
{
"from": "bb:11",
"to": "bb:264",
"type": "control_flow"
},
{
"from": "bb:11",
"to": "bb:31",
"type": "control_flow_fallthrough"
},
{
"from": "bb:31",
"to": "bb:357",
"type": "control_flow"
},
{
"from": "bb:31",
"to": "bb:42",
"type": "control_flow_fallthrough"
},
{
"from": "bb:42",
"to": "bb:366",
"type": "control_flow"
},
{
"from": "bb:42",
"to": "bb:53",
"type": "control_flow_fallthrough"
},
{
"from": "bb:53",
"to": "bb:400",
"type": "control_flow"
},
{
"from": "bb:53",
"to": "bb:64",
"type": "control_flow_fallthrough"
},
{
"from": "bb:64",
"to": "bb:415",
"type": "control_flow"
},
{
"from": "bb:64",
"to": "bb:75",
"type": "control_flow_fallthrough"
},
{
"from": "bb:75",
"to": "bb:465",
"type": "control_flow"
},
{
"from": "bb:75",
"to": "bb:86",
"type": "control_flow_fallthrough"
},
{
"from": "bb:86",
"to": "bb:477",
"type": "control_flow"
},
{
"from": "bb:86",
"to": "bb:97",
"type": "control_flow_fallthrough"
},
{
"from": "bb:97",
"to": "bb:563",
"type": "control_flow"
},
{
"from": "bb:97",
"to": "bb:108",
"type": "control_flow_fallthrough"
},
{
"from": "bb:108",
"to": "bb:587",
"type": "control_flow"
},
{
"from": "bb:108",
"to": "bb:119",
"type": "control_flow_fallthrough"
}
]
exec
/bin/bash -lc "jq '[.analysis_artifact.artifact_json.cfg_edges[] | select(.from|startswith(\"bb:11\") or .from|startswith(\"bb:31\") )]' BYTECODE_BUNDLE.json" in /tmp/codex-m6bgnq5h
exited 5 in 0ms:
jq: error (at BYTECODE_BUNDLE.json:8619): Cannot index string with string "from"
exec
/bin/bash -lc "jq '[.analysis_artifact.artifact_json.cfg_edges[] | select(.from == \"bb:11\" or .from == \"bb:31\" or .from == \"bb:252\" or .from == \"bb:262\") ]' BYTECODE_BUNDLE.json" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
[
{
"from": "bb:11",
"to": "bb:264",
"type": "control_flow"
},
{
"from": "bb:11",
"to": "bb:31",
"type": "control_flow_fallthrough"
},
{
"from": "bb:31",
"to": "bb:357",
"type": "control_flow"
},
{
"from": "bb:31",
"to": "bb:42",
"type": "control_flow_fallthrough"
}
]
exec
/bin/bash -lc "node - <<'NODE'
const fs=require('fs');
const data=JSON.parse(fs.readFileSync('BYTECODE_BUNDLE.json','utf8'));
const bytecode=data.artifact.runtime_bytecode.full.slice(2);
const ops={0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'};
for(let i=0x60;i<=0x7f;i++) ops[i]='PUSH'+(i-0x5f);
for(let i=0x80;i<=0x8f;i++) ops[i]='DUP'+(i-0x7f);
for(let i=0x90;i<=0x9f;i++) ops[i]='SWAP'+(i-0x8f);
for(let i=0xa0;i<=0xa4;i++) ops[i]='LOG'+(i-0x9f);
const bytes=[]; for(let i=0;i<bytecode.length;i+=2) bytes.push(parseInt(bytecode.slice(i,i+2),16));
for(const [start,end] of [[620,720],[1330,1410],[518,650]]){
console.log("'`-- ${start}-${end} --`)
for(let pc=start; pc<end;){
const op=bytes[pc]; const name=ops[op]||('"'OP_'+op.toString(16));
if(name.startsWith('PUSH')){ const n=op-0x5f; const data=bytecode.slice((pc+1)*2,(pc+1+n)*2); console.log(pc.toString().padStart(4), name.padEnd(8), data); pc += 1+n; }
else { console.log(pc.toString().padStart(4), name); pc += 1; }
}
}
NODE" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
-- 620-720 --
620 JUMPDEST
621 PUSH2 062d
624 PUSH1 00
626 SLOAD
627 PUSH1 01
629 PUSH1 a0
631 PUSH1 02
633 EXP
634 SUB
635 AND
636 DUP2
637 JUMP
638 JUMPDEST
639 PUSH2 057d
642 PUSH1 02
644 DUP1
645 SLOAD
646 PUSH1 40
648 DUP1
649 MLOAD
650 PUSH1 20
652 PUSH1 01
654 DUP5
655 AND
656 ISZERO
657 PUSH2 0100
660 MUL
661 PUSH1 00
663 NOT
664 ADD
665 SWAP1
666 SWAP4
667 AND
668 DUP5
669 SWAP1
670 DIV
671 PUSH1 1f
673 DUP2
674 ADD
675 DUP5
676 SWAP1
677 DIV
678 DUP5
679 MUL
680 DUP3
681 ADD
682 DUP5
683 ADD
684 SWAP1
685 SWAP3
686 MSTORE
687 DUP2
688 DUP2
689 MSTORE
690 SWAP3
691 SWAP2
692 DUP4
693 ADD
694 DUP3
695 DUP3
696 DUP1
697 ISZERO
698 PUSH2 079f
701 JUMPI
702 DUP1
703 PUSH1 1f
705 LT
706 PUSH2 0774
709 JUMPI
710 PUSH2 0100
713 DUP1
714 DUP4
715 SLOAD
716 DIV
717 MUL
718 DUP4
719 MSTORE
-- 1330-1410 --
1330 DUP2
1331 MSTORE
1332 PUSH1 09
1334 PUSH1 20
1336 MSTORE
1337 PUSH1 40
1339 DUP2
1340 SHA3
1341 SLOAD
1342 DUP3
1343 SWAP1
1344 LT
1345 ISZERO
1346 PUSH2 090a
1349 JUMPI
1350 PUSH2 0002
1353 JUMP
1354 JUMPDEST
1355 PUSH2 0106
1358 PUSH1 04
1360 CALLDATALOAD
1361 PUSH1 00
1363 SLOAD
1364 CALLER
1365 PUSH1 01
1367 PUSH1 a0
1369 PUSH1 02
1371 EXP
1372 SUB
1373 SWAP1
1374 DUP2
1375 AND
1376 SWAP2
1377 AND
1378 EQ
1379 PUSH2 08e0
1382 JUMPI
1383 PUSH2 0002
1386 JUMP
1387 JUMPDEST
1388 PUSH2 062d
1391 PUSH1 05
1393 SLOAD
1394 PUSH1 01
1396 PUSH1 a0
1398 PUSH1 02
1400 EXP
1401 SUB
1402 AND
1403 DUP2
1404 JUMP
1405 JUMPDEST
1406 PUSH1 40
1408 MLOAD
1409 DUP1
-- 518-650 --
518 DUP2
519 ADD
520 DUP8
521 SWAP1
522 MSTORE
523 DUP2
524 MLOAD
525 SWAP1
526 DUP2
527 SWAP1
528 SUB
529 SWAP1
530 SWAP2
531 ADD
532 SWAP1
533 SHA3
534 PUSH1 02
536 SWAP1
537 MOD
538 PUSH1 00
540 EQ
541 ISZERO
542 PUSH2 022b
545 JUMPI
546 PUSH1 02
548 DUP2
549 SWAP1
550 EXP
551 SWAP1
552 SWAP2
553 ADD
554 SWAP1
555 JUMPDEST
556 PUSH1 01
558 ADD
559 PUSH2 01ec
562 JUMP
563 JUMPDEST
564 PUSH2 05eb
567 PUSH1 04
569 CALLDATALOAD
570 PUSH1 09
572 PUSH1 20
574 MSTORE
575 PUSH1 00
577 SWAP1
578 DUP2
579 MSTORE
580 PUSH1 40
582 SWAP1
583 SHA3
584 SLOAD
585 DUP2
586 JUMP
587 JUMPDEST
588 PUSH2 0106
591 PUSH1 04
593 CALLDATALOAD
594 PUSH1 00
596 SLOAD
597 CALLER
598 PUSH1 01
600 PUSH1 a0
602 PUSH1 02
604 EXP
605 SUB
606 SWAP1
607 DUP2
608 AND
609 SWAP2
610 AND
611 EQ
612 PUSH2 0897
615 JUMPI
616 PUSH2 0002
619 JUMP
620 JUMPDEST
621 PUSH2 062d
624 PUSH1 00
626 SLOAD
627 PUSH1 01
629 PUSH1 a0
631 PUSH1 02
633 EXP
634 SUB
635 AND
636 DUP2
637 JUMP
638 JUMPDEST
639 PUSH2 057d
642 PUSH1 02
644 DUP1
645 SLOAD
646 PUSH1 40
648 DUP1
649 MLOAD
exec
/bin/bash -lc "jq '[.analysis_artifact.artifact_json.cfg_edges[] | select(.to == \"bb:854\" or .from == \"bb:854\" or .to == \"bb:1168\" or .from == \"bb:1168\" or .to == \"bb:1405\" or .from == \"bb:1405\" or .to == \"bb:2314\" or .from == \"bb:2314\") ]' BYTECODE_BUNDLE.json" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
[
{
"from": "bb:196",
"to": "bb:854",
"type": "control_flow"
},
{
"from": "bb:854",
"to": "bb:1168",
"type": "control_flow"
},
{
"from": "bb:854",
"to": "bb:1143",
"type": "control_flow_fallthrough"
},
{
"from": "bb:1143",
"to": "bb:1168",
"type": "control_flow_fallthrough"
},
{
"from": "bb:1168",
"to": "bb:1200",
"type": "control_flow_fallthrough"
},
{
"from": "bb:1287",
"to": "bb:2314",
"type": "control_flow"
},
{
"from": "bb:1405",
"to": "bb:1501",
"type": "control_flow"
},
{
"from": "bb:1405",
"to": "bb:1476",
"type": "control_flow_fallthrough"
}
]
exec
/bin/bash -lc "jq '[.analysis_artifact.artifact_json.cfg_edges[] | select(.to == \"bb:1405\" or .to == \"bb:1355\" or .from == \"bb:1355\" or .from == \"bb:1387\" or .from == \"bb:1354\") ]' BYTECODE_BUNDLE.json" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
[
{
"from": "bb:1354",
"to": "bb:2272",
"type": "control_flow"
},
{
"from": "bb:1354",
"to": "bb:1383",
"type": "control_flow_fallthrough"
}
]
exec
/bin/bash -lc "node - <<'NODE'
const fs=require('fs');
const data=JSON.parse(fs.readFileSync('BYTECODE_BUNDLE.json','utf8'));
const bytecode=data.artifact.runtime_bytecode.full.slice(2);
const ops={0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'};
for(let i=0x60;i<=0x7f;i++) ops[i]='PUSH'+(i-0x5f);
for(let i=0x80;i<=0x8f;i++) ops[i]='DUP'+(i-0x7f);
for(let i=0x90;i<=0x9f;i++) ops[i]='SWAP'+(i-0x8f);
for(let i=0xa0;i<=0xa4;i++) ops[i]='LOG'+(i-0x9f);
const bytes=[]; for(let i=0;i<bytecode.length;i+=2) bytes.push(parseInt(bytecode.slice(i,i+2),16));
for(let pc=1240; pc<1410;){
const op=bytes[pc]; const name=ops[op]||('OP_'+op.toString(16));
if(name.startsWith('PUSH')){ const n=op-0x5f; const data=bytecode.slice((pc+1)*2,(pc+1+n)*2); console.log(pc.toString().padStart(4), name.padEnd(8), data); pc += 1+n; }
else { console.log(pc.toString().padStart(4), name); pc += 1; }
}
NODE" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
1240 DUP2
1241 MSTORE
1242 SHA3
1243 SLOAD
1244 PUSH2 05eb
1247 SWAP1
1248 DUP2
1249 JUMP
1250 JUMPDEST
1251 PUSH1 0a
1253 PUSH1 20
1255 SWAP1
1256 DUP2
1257 MSTORE
1258 PUSH1 04
1260 CALLDATALOAD
1261 PUSH1 00
1263 SWAP1
1264 DUP2
1265 MSTORE
1266 PUSH1 40
1268 DUP1
1269 DUP3
1270 SHA3
1271 SWAP1
1272 SWAP3
1273 MSTORE
1274 PUSH1 24
1276 CALLDATALOAD
1277 DUP2
1278 MSTORE
1279 SHA3
1280 SLOAD
1281 PUSH2 05eb
1284 SWAP1
1285 DUP2
1286 JUMP
1287 JUMPDEST
1288 PUSH2 05eb
1291 PUSH1 04
1293 CALLDATALOAD
1294 PUSH1 04
1296 SLOAD
1297 ADDRESS
1298 PUSH1 01
1300 PUSH1 a0
1302 PUSH1 02
1304 EXP
1305 SUB
1306 SWAP1
1307 DUP2
1308 AND
1309 BALANCE
1310 PUSH6 09184e72a000
1317 MUL
1318 SWAP2
1319 SWAP1
1320 SWAP2
1321 DIV
1322 PUSH1 08
1324 SSTORE
1325 CALLER
1326 AND
1327 PUSH1 00
1329 SWAP1
1330 DUP2
1331 MSTORE
1332 PUSH1 09
1334 PUSH1 20
1336 MSTORE
1337 PUSH1 40
1339 DUP2
1340 SHA3
1341 SLOAD
1342 DUP3
1343 SWAP1
1344 LT
1345 ISZERO
1346 PUSH2 090a
1349 JUMPI
1350 PUSH2 0002
1353 JUMP
1354 JUMPDEST
1355 PUSH2 0106
1358 PUSH1 04
1360 CALLDATALOAD
1361 PUSH1 00
1363 SLOAD
1364 CALLER
1365 PUSH1 01
1367 PUSH1 a0
1369 PUSH1 02
1371 EXP
1372 SUB
1373 SWAP1
1374 DUP2
1375 AND
1376 SWAP2
1377 AND
1378 EQ
1379 PUSH2 08e0
1382 JUMPI
1383 PUSH2 0002
1386 JUMP
1387 JUMPDEST
1388 PUSH2 062d
1391 PUSH1 05
1393 SLOAD
1394 PUSH1 01
1396 PUSH1 a0
1398 PUSH1 02
1400 EXP
1401 SUB
1402 AND
1403 DUP2
1404 JUMP
1405 JUMPDEST
1406 PUSH1 40
1408 MLOAD
1409 DUP1
exec
/bin/bash -lc "jq '[.analysis_artifact.artifact_json.cfg_edges[] | select(.to == \"bb:1287\" or .from == \"bb:1287\") ]' BYTECODE_BUNDLE.json" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
[
{
"from": "bb:229",
"to": "bb:1287",
"type": "control_flow"
},
{
"from": "bb:1287",
"to": "bb:2314",
"type": "control_flow"
},
{
"from": "bb:1287",
"to": "bb:1350",
"type": "control_flow_fallthrough"
}
]
exec
/bin/bash -lc "node - <<'NODE'
const fs=require('fs');
const data=JSON.parse(fs.readFileSync('BYTECODE_BUNDLE.json','utf8'));
const bytecode=data.artifact.runtime_bytecode.full.slice(2);
const ops={0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'};
for(let i=0x60;i<=0x7f;i++) ops[i]='PUSH'+(i-0x5f);
for(let i=0x80;i<=0x8f;i++) ops[i]='DUP'+(i-0x7f);
for(let i=0x90;i<=0x9f;i++) ops[i]='SWAP'+(i-0x8f);
for(let i=0xa0;i<=0xa4;i++) ops[i]='LOG'+(i-0x9f);
const bytes=[]; for(let i=0;i<bytecode.length;i+=2) bytes.push(parseInt(bytecode.slice(i,i+2),16));
for(let pc=780; pc<880;){
const op=bytes[pc]; const name=ops[op]||('OP_'+op.toString(16));
if(name.startsWith('PUSH')){ const n=op-0x5f; const data=bytecode.slice((pc+1)*2,(pc+1+n)*2); console.log(pc.toString().padStart(4), name.padEnd(8), data); pc += 1+n; }
else { console.log(pc.toString().padStart(4), name); pc += 1; }
}
NODE" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
780 MSTORE
781 PUSH1 09
783 PUSH1 20
785 MSTORE
786 PUSH1 40
788 SWAP1
789 SHA3
790 SLOAD
791 DUP2
792 SWAP1
793 LT
794 ISZERO
795 PUSH2 0988
798 JUMPI
799 PUSH2 0002
802 JUMP
803 JUMPDEST
804 PUSH2 05eb
807 PUSH1 06
809 SLOAD
810 DUP2
811 JUMP
812 JUMPDEST
813 PUSH2 05eb
816 PUSH1 08
818 SLOAD
819 DUP2
820 JUMP
821 JUMPDEST
822 PUSH2 0106
825 PUSH1 04
827 CALLDATALOAD
828 PUSH1 00
830 SLOAD
831 CALLER
832 PUSH1 01
834 PUSH1 a0
836 PUSH1 02
838 EXP
839 SUB
840 SWAP1
841 DUP2
842 AND
843 SWAP2
844 AND
845 EQ
846 PUSH2 08b9
849 JUMPI
850 PUSH2 0002
853 JUMP
854 JUMPDEST
855 PUSH1 40
857 DUP1
858 MLOAD
859 PUSH1 20
861 PUSH1 44
863 CALLDATALOAD
864 PUSH1 04
866 DUP2
867 DUP2
868 ADD
869 CALLDATALOAD
870 PUSH1 1f
872 DUP2
873 ADD
874 DUP5
875 SWAP1
876 DIV
877 DUP5
878 MUL
879 DUP6
exec
/bin/bash -lc 'which evm cast hevm panoramix porosity slither crytic-compile solc && true' in /tmp/codex-m6bgnq5h
exited 1 in 0ms:
/home/noahkuhn/.foundry/bin/cast
/var/www/tripwire/.venv/bin/slither
/var/www/tripwire/.venv/bin/crytic-compile
/var/www/tripwire/.venv/bin/solc
exec
/bin/bash -lc "cast --help | sed -n '1,160p'" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
A Swiss Army knife for interacting with Ethereum applications from the command line
Usage: cast [OPTIONS] <COMMAND>
Commands:
4byte Get the function signatures for the given selector from
<https://openchain.xyz> [aliases: 4, 4b]
4byte-calldata Decode ABI-encoded calldata using <https://openchain.xyz> [aliases: 4c,
4bc]
4byte-event Get the event signature for a given topic 0 from <https://openchain.xyz>
[aliases: 4e, 4be, topic0-event, t0e]
abi-encode ABI encode the given function argument, excluding the selector [aliases:
ae]
abi-encode-event ABI encode an event and its arguments to generate topics and data [aliases:
aee]
access-list Create an access list for a transaction [aliases: ac, acl]
address-zero Prints the zero address [aliases: --address-zero, az]
admin Fetch the EIP-1967 admin account [aliases: adm]
age Get the timestamp of a block [aliases: a]
artifact Generate an artifact file, that can be used to deploy a contract locally
[aliases: ar]
b2e-payload Convert Beacon payload to execution payload [aliases: b2e]
balance Get the balance of an account in wei [aliases: b]
base-fee Get the basefee of a block [aliases: ba, fee, basefee]
bind Generate a rust binding from a given ABI [aliases: bi]
block Get information about a block [aliases: bl]
block-number Get the latest block number [aliases: bn]
call Perform a call on an account without publishing a transaction [aliases: c]
calldata ABI-encode a function with arguments [aliases: cd]
chain Get the symbolic name of the current chain
chain-id Get the Ethereum chain ID [aliases: ci, cid]
client Get the current client version [aliases: cl]
code Get the runtime bytecode of a contract [aliases: co]
codehash Get the codehash for an account
codesize Get the runtime bytecode size of a contract [aliases: cs]
completions Generate shell completions script [aliases: com]
compute-address Compute the contract address from a given nonce and deployer address
[aliases: ca]
concat-hex Concatenate hex strings [aliases: --concat-hex, ch]
constructor-args Display constructor arguments used for the contract initialization
[aliases: cra]
create2 Generate a deterministic contract address using CREATE2 [aliases: c2]
creation-code Download a contract creation code from Etherscan and RPC [aliases: cc]
da-estimate Estimates the data availability size of a given opstack block
decode-abi Decode ABI-encoded input or output data [aliases: abi-decode, --abi-decode,
ad]
decode-calldata Decode ABI-encoded input data [aliases: calldata-decode, --calldata-decode,
cdd]
decode-error Decode custom error data [aliases: error-decode, --error-decode, erd]
decode-event Decode event data [aliases: event-decode, --event-decode, ed]
decode-string Decode ABI-encoded string [aliases: string-decode, --string-decode, sd]
decode-transaction Decodes a raw signed EIP 2718 typed transaction [aliases: dt, decode-tx]
disassemble Disassembles a hex-encoded bytecode into a human-readable representation
[aliases: da]
erc20-token ERC20 token operations [aliases: erc20]
estimate Estimate the gas cost of a transaction [aliases: e]
find-block Get the block number closest to the provided timestamp [aliases: f]
format-bytes32-string Formats a string into bytes32 encoding [aliases: --format-bytes32-string]
format-units Format a number from smallest unit to decimal with arbitrary decimals
[aliases: --format-units, fun]
from-bin Convert binary data into hex data [aliases: --from-bin, from-binx, fb]
from-fixed-point Convert a fixed point number into an integer [aliases: --from-fix, ff]
from-rlp Decodes RLP hex-encoded data [aliases: --from-rlp]
from-utf8 Convert UTF8 text to hex [aliases: --from-ascii, --from-utf8, from-ascii,
fu, fa]
from-wei Convert wei into an ETH amount [aliases: --from-wei, fw]
gas-price Get the current gas price [aliases: g]
hash-message Hash a message according to EIP-191 [aliases: --hash-message, hm]
hash-zero Prints the zero hash [aliases: --hash-zero, hz]
help Print this message or the help of the given subcommand(s)
implementation Fetch the EIP-1967 implementation for a contract Can read from the
implementation slot or the beacon slot [aliases: impl]
index Compute the storage slot for an entry in a mapping [aliases: in]
index-erc7201 Compute storage slots as specified by `ERC-7201: Namespaced Storage Layout`
[aliases: index7201, in7201]
interface Generate a Solidity interface from a given ABI [aliases: i]
keccak Hash arbitrary data using Keccak-256 [aliases: k, keccak256]
logs Get logs by signature or topic [aliases: l]
lookup-address Perform an ENS reverse lookup [aliases: la]
max-int Prints the maximum value of the given integer type [aliases: --max-int,
maxi]
max-uint Prints the maximum value of the given integer type [aliases: --max-uint,
maxu]
min-int Prints the minimum value of the given integer type [aliases: --min-int,
mini]
mktx Build and sign a transaction [aliases: m]
namehash Calculate the ENS namehash of a name [aliases: na, nh]
nonce Get the nonce for an account [aliases: n]
pad Pads hex data to a specified length [aliases: pd]
parse-bytes32-address Parses a checksummed address from bytes32 encoding. [aliases:
--parse-bytes32-address]
parse-bytes32-string Parses a string from bytes32 encoding [aliases: --parse-bytes32-string]
parse-units Convert a number from decimal to smallest unit with arbitrary decimals
[aliases: --parse-units, pun]
pretty-calldata Pretty print calldata [aliases: pc]
proof Generate a storage proof for a given storage slot [aliases: pr]
publish Publish a raw transaction to the network [aliases: p]
receipt Get the transaction receipt for a transaction [aliases: re]
recover-authority Recovery an EIP-7702 authority from a Authorization JSON string [aliases:
decode-auth]
resolve-name Perform an ENS lookup [aliases: rn]
rpc Perform a raw JSON-RPC request [aliases: rp]
run Runs a published transaction in a local environment and prints the trace
[aliases: r]
selectors Extracts function selectors and arguments from bytecode [aliases: sel]
send Sign and publish a transaction [aliases: s]
shl Perform a left shifting operation
shr Perform a right shifting operation
sig Get the selector for a function [aliases: si]
sig-event Generate event signatures from event string [aliases: se]
source Get the source code of a contract from a block explorer [aliases: et, src]
storage Get the raw value of a contract's storage slot [aliases: st]
storage-root Get the storage root for an account [aliases: sr]
to-ascii Convert hex data to an ASCII string [aliases: --to-ascii, tas, 2as]
to-base Converts a number of one base to another [aliases: --to-base, --to-radix,
to-radix, tr, 2r]
to-bytes32 Right-pads hex data to 32 bytes [aliases: --to-bytes32, tb, 2b]
to-check-sum-address Convert an address to a checksummed format (EIP-55) [aliases:
--to-checksum-address, --to-checksum, to-checksum, ta, 2a]
to-dec Converts a number of one base to decimal [aliases: --to-dec, td, 2d]
to-fixed-point Convert an integer into a fixed point number [aliases: --to-fix, tf, 2f]
to-hex Converts a number of one base to another [aliases: --to-hex, th, 2h]
to-hexdata Normalize the input to lowercase, 0x-prefixed hex [aliases: --to-hexdata,
thd, 2hd]
to-int256 Convert a number to a hex-encoded int256 [aliases: --to-int256, ti, 2i]
to-rlp RLP encodes hex data, or an array of hex data [aliases: --to-rlp]
to-uint256 Convert a number to a hex-encoded uint256 [aliases: --to-uint256, tu, 2u]
to-unit Convert an ETH amount into another unit (ether, gwei or wei) [aliases:
--to-unit, tun, 2un]
to-utf8 Convert hex data to a utf-8 string [aliases: --to-utf8, tu8, 2u8]
to-wei Convert an ETH amount to wei [aliases: --to-wei, tw, 2w]
trace CLI arguments for `cast trace`
tx Get information about a transaction [aliases: t]
tx-pool Inspect the TxPool of a node [aliases: tp]
upload-signature Upload the given signatures to <https://openchain.xyz> [aliases: ups]
wallet Wallet management utilities [aliases: w]
Options:
-h, --help
Print help (see a summary with '-h')
-j, --threads <THREADS>
Number of threads to use. Specifying 0 defaults to the number of logical cores
[aliases: --jobs]
-V, --version
Print version
Display options:
--color <COLOR>
The color of the log messages
Possible values:
- auto: Intelligently guess whether to use color output (default)
- always: Force color output
- never: Force disable color output
--json
Format log messages as JSON
exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | sed -n '"'820,930p'" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
000004a8: GAS
000004a9: SUB
000004aa: CALL
000004ab: ISZERO
000004ac: PUSH2 0x0002
000004af: JUMPI
000004b0: POP
000004b1: PUSH1 0x01
000004b3: SWAP8
000004b4: SWAP7
000004b5: POP
000004b6: POP
000004b7: POP
000004b8: POP
000004b9: POP
000004ba: POP
000004bb: POP
000004bc: JUMP
000004bd: JUMPDEST
000004be: PUSH1 0x0b
000004c0: PUSH1 0x20
000004c2: SWAP1
000004c3: DUP2
000004c4: MSTORE
000004c5: PUSH1 0x04
000004c7: CALLDATALOAD
000004c8: PUSH1 0x00
000004ca: SWAP1
000004cb: DUP2
000004cc: MSTORE
000004cd: PUSH1 0x40
000004cf: DUP1
000004d0: DUP3
000004d1: KECCAK256
000004d2: SWAP1
000004d3: SWAP3
000004d4: MSTORE
000004d5: PUSH1 0x24
000004d7: CALLDATALOAD
000004d8: DUP2
000004d9: MSTORE
000004da: KECCAK256
000004db: SLOAD
000004dc: PUSH2 0x05eb
000004df: SWAP1
000004e0: DUP2
000004e1: JUMP
000004e2: JUMPDEST
000004e3: PUSH1 0x0a
000004e5: PUSH1 0x20
000004e7: SWAP1
000004e8: DUP2
000004e9: MSTORE
000004ea: PUSH1 0x04
000004ec: CALLDATALOAD
000004ed: PUSH1 0x00
000004ef: SWAP1
000004f0: DUP2
000004f1: MSTORE
000004f2: PUSH1 0x40
000004f4: DUP1
000004f5: DUP3
000004f6: KECCAK256
000004f7: SWAP1
000004f8: SWAP3
000004f9: MSTORE
000004fa: PUSH1 0x24
000004fc: CALLDATALOAD
000004fd: DUP2
000004fe: MSTORE
000004ff: KECCAK256
00000500: SLOAD
00000501: PUSH2 0x05eb
00000504: SWAP1
00000505: DUP2
00000506: JUMP
00000507: JUMPDEST
00000508: PUSH2 0x05eb
0000050b: PUSH1 0x04
0000050d: CALLDATALOAD
0000050e: PUSH1 0x04
00000510: SLOAD
00000511: ADDRESS
00000512: PUSH1 0x01
00000514: PUSH1 0xa0
00000516: PUSH1 0x02
00000518: EXP
00000519: SUB
0000051a: SWAP1
0000051b: DUP2
0000051c: AND
0000051d: BALANCE
0000051e: PUSH6 0x09184e72a000
00000525: MUL
00000526: SWAP2
00000527: SWAP1
00000528: SWAP2
00000529: DIV
0000052a: PUSH1 0x08
0000052c: SSTORE
0000052d: CALLER
0000052e: AND
0000052f: PUSH1 0x00
00000531: SWAP1
00000532: DUP2
00000533: MSTORE
00000534: PUSH1 0x09
00000536: PUSH1 0x20
00000538: MSTORE
00000539: PUSH1 0x40
0000053b: DUP2
exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | sed -n '"'560,870p'" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
00000360: PUSH1 0x04
00000362: DUP2
00000363: DUP2
00000364: ADD
00000365: CALLDATALOAD
00000366: PUSH1 0x1f
00000368: DUP2
00000369: ADD
0000036a: DUP5
0000036b: SWAP1
0000036c: DIV
0000036d: DUP5
0000036e: MUL
0000036f: DUP6
00000370: ADD
00000371: DUP5
00000372: ADD
00000373: SWAP1
00000374: SWAP6
00000375: MSTORE
00000376: DUP5
00000377: DUP5
00000378: MSTORE
00000379: PUSH2 0x05eb
0000037c: SWAP5
0000037d: DUP2
0000037e: CALLDATALOAD
0000037f: SWAP5
00000380: PUSH1 0x24
00000382: DUP1
00000383: CALLDATALOAD
00000384: SWAP6
00000385: SWAP4
00000386: SWAP5
00000387: PUSH1 0x64
00000389: SWAP5
0000038a: SWAP3
0000038b: SWAP4
0000038c: SWAP2
0000038d: ADD
0000038e: SWAP2
0000038f: DUP2
00000390: SWAP1
00000391: DUP5
00000392: ADD
00000393: DUP4
00000394: DUP3
00000395: DUP1
00000396: DUP3
00000397: DUP5
00000398: CALLDATACOPY
00000399: POP
0000039a: SWAP5
0000039b: SWAP7
0000039c: POP
0000039d: POP
0000039e: POP
0000039f: POP
000003a0: POP
000003a1: POP
000003a2: POP
000003a3: PUSH1 0x00
000003a5: PUSH1 0x00
000003a7: DUP4
000003a8: PUSH1 0x0a
000003aa: PUSH1 0x00
000003ac: POP
000003ad: PUSH1 0x00
000003af: CALLER
000003b0: PUSH1 0x01
000003b2: PUSH1 0xa0
000003b4: PUSH1 0x02
000003b6: EXP
000003b7: SUB
000003b8: AND
000003b9: DUP2
000003ba: MSTORE
000003bb: PUSH1 0x20
000003bd: ADD
000003be: SWAP1
000003bf: DUP2
000003c0: MSTORE
000003c1: PUSH1 0x20
000003c3: ADD
000003c4: PUSH1 0x00
000003c6: KECCAK256
000003c7: PUSH1 0x00
000003c9: POP
000003ca: PUSH1 0x00
000003cc: DUP8
000003cd: PUSH1 0x01
000003cf: PUSH1 0xa0
000003d1: PUSH1 0x02
000003d3: EXP
000003d4: SUB
000003d5: AND
000003d6: DUP2
000003d7: MSTORE
000003d8: PUSH1 0x20
000003da: ADD
000003db: SWAP1
000003dc: DUP2
000003dd: MSTORE
000003de: PUSH1 0x20
000003e0: ADD
000003e1: PUSH1 0x00
000003e3: KECCAK256
000003e4: PUSH1 0x00
000003e6: POP
000003e7: DUP2
000003e8: SWAP1
000003e9: SSTORE
000003ea: POP
000003eb: DUP5
000003ec: SWAP1
000003ed: POP
000003ee: DUP1
000003ef: PUSH1 0x01
000003f1: PUSH1 0xa0
000003f3: PUSH1 0x02
000003f5: EXP
000003f6: SUB
000003f7: AND
000003f8: PUSH4 0x8f4ffcb1
000003fd: CALLER
000003fe: DUP7
000003ff: ADDRESS
00000400: DUP8
00000401: PUSH1 0x40
00000403: MLOAD
00000404: DUP6
00000405: PUSH1 0xe0
00000407: PUSH1 0x02
00000409: EXP
0000040a: MUL
0000040b: DUP2
0000040c: MSTORE
0000040d: PUSH1 0x04
0000040f: ADD
00000410: DUP1
00000411: DUP6
00000412: PUSH1 0x01
00000414: PUSH1 0xa0
00000416: PUSH1 0x02
00000418: EXP
00000419: SUB
0000041a: AND
0000041b: DUP2
0000041c: MSTORE
0000041d: PUSH1 0x20
0000041f: ADD
00000420: DUP5
00000421: DUP2
00000422: MSTORE
00000423: PUSH1 0x20
00000425: ADD
00000426: DUP4
00000427: PUSH1 0x01
00000429: PUSH1 0xa0
0000042b: PUSH1 0x02
0000042d: EXP
0000042e: SUB
0000042f: AND
00000430: DUP2
00000431: MSTORE
00000432: PUSH1 0x20
00000434: ADD
00000435: DUP1
00000436: PUSH1 0x20
00000438: ADD
00000439: DUP3
0000043a: DUP2
0000043b: SUB
0000043c: DUP3
0000043d: MSTORE
0000043e: DUP4
0000043f: DUP2
00000440: DUP2
00000441: MLOAD
00000442: DUP2
00000443: MSTORE
00000444: PUSH1 0x20
00000446: ADD
00000447: SWAP2
00000448: POP
00000449: DUP1
0000044a: MLOAD
0000044b: SWAP1
0000044c: PUSH1 0x20
0000044e: ADD
0000044f: SWAP1
00000450: DUP1
00000451: DUP4
00000452: DUP4
00000453: DUP3
00000454: SWAP1
00000455: PUSH1 0x00
00000457: PUSH1 0x04
00000459: PUSH1 0x20
0000045b: DUP5
0000045c: PUSH1 0x1f
0000045e: ADD
0000045f: DIV
00000460: PUSH1 0x0f
00000462: MUL
00000463: PUSH1 0x03
00000465: ADD
00000466: CALL
00000467: POP
00000468: SWAP1
00000469: POP
0000046a: SWAP1
0000046b: DUP2
0000046c: ADD
0000046d: SWAP1
0000046e: PUSH1 0x1f
00000470: AND
00000471: DUP1
00000472: ISZERO
00000473: PUSH2 0x0490
00000476: JUMPI
00000477: DUP1
00000478: DUP3
00000479: SUB
0000047a: DUP1
0000047b: MLOAD
0000047c: PUSH1 0x01
0000047e: DUP4
0000047f: PUSH1 0x20
00000481: SUB
00000482: PUSH2 0x0100
00000485: EXP
00000486: SUB
00000487: NOT
00000488: AND
00000489: DUP2
0000048a: MSTORE
0000048b: PUSH1 0x20
0000048d: ADD
0000048e: SWAP2
0000048f: POP
00000490: JUMPDEST
00000491: POP
00000492: SWAP6
00000493: POP
00000494: POP
00000495: POP
00000496: POP
00000497: POP
00000498: POP
00000499: PUSH1 0x00
0000049b: PUSH1 0x40
0000049d: MLOAD
0000049e: DUP1
0000049f: DUP4
000004a0: SUB
000004a1: DUP2
000004a2: PUSH1 0x00
000004a4: DUP8
000004a5: PUSH2 0x61da
000004a8: GAS
000004a9: SUB
000004aa: CALL
000004ab: ISZERO
000004ac: PUSH2 0x0002
000004af: JUMPI
000004b0: POP
000004b1: PUSH1 0x01
000004b3: SWAP8
000004b4: SWAP7
000004b5: POP
000004b6: POP
000004b7: POP
000004b8: POP
000004b9: POP
000004ba: POP
000004bb: POP
000004bc: JUMP
000004bd: JUMPDEST
000004be: PUSH1 0x0b
000004c0: PUSH1 0x20
000004c2: SWAP1
000004c3: DUP2
000004c4: MSTORE
000004c5: PUSH1 0x04
000004c7: CALLDATALOAD
000004c8: PUSH1 0x00
000004ca: SWAP1
000004cb: DUP2
000004cc: MSTORE
000004cd: PUSH1 0x40
000004cf: DUP1
000004d0: DUP3
000004d1: KECCAK256
000004d2: SWAP1
000004d3: SWAP3
000004d4: MSTORE
000004d5: PUSH1 0x24
000004d7: CALLDATALOAD
000004d8: DUP2
000004d9: MSTORE
000004da: KECCAK256
000004db: SLOAD
000004dc: PUSH2 0x05eb
000004df: SWAP1
000004e0: DUP2
000004e1: JUMP
000004e2: JUMPDEST
000004e3: PUSH1 0x0a
000004e5: PUSH1 0x20
000004e7: SWAP1
exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | sed -n '"'870,980p'" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
000004e7: SWAP1
000004e8: DUP2
000004e9: MSTORE
000004ea: PUSH1 0x04
000004ec: CALLDATALOAD
000004ed: PUSH1 0x00
000004ef: SWAP1
000004f0: DUP2
000004f1: MSTORE
000004f2: PUSH1 0x40
000004f4: DUP1
000004f5: DUP3
000004f6: KECCAK256
000004f7: SWAP1
000004f8: SWAP3
000004f9: MSTORE
000004fa: PUSH1 0x24
000004fc: CALLDATALOAD
000004fd: DUP2
000004fe: MSTORE
000004ff: KECCAK256
00000500: SLOAD
00000501: PUSH2 0x05eb
00000504: SWAP1
00000505: DUP2
00000506: JUMP
00000507: JUMPDEST
00000508: PUSH2 0x05eb
0000050b: PUSH1 0x04
0000050d: CALLDATALOAD
0000050e: PUSH1 0x04
00000510: SLOAD
00000511: ADDRESS
00000512: PUSH1 0x01
00000514: PUSH1 0xa0
00000516: PUSH1 0x02
00000518: EXP
00000519: SUB
0000051a: SWAP1
0000051b: DUP2
0000051c: AND
0000051d: BALANCE
0000051e: PUSH6 0x09184e72a000
00000525: MUL
00000526: SWAP2
00000527: SWAP1
00000528: SWAP2
00000529: DIV
0000052a: PUSH1 0x08
0000052c: SSTORE
0000052d: CALLER
0000052e: AND
0000052f: PUSH1 0x00
00000531: SWAP1
00000532: DUP2
00000533: MSTORE
00000534: PUSH1 0x09
00000536: PUSH1 0x20
00000538: MSTORE
00000539: PUSH1 0x40
0000053b: DUP2
0000053c: KECCAK256
0000053d: SLOAD
0000053e: DUP3
0000053f: SWAP1
00000540: LT
00000541: ISZERO
00000542: PUSH2 0x090a
00000545: JUMPI
00000546: PUSH2 0x0002
00000549: JUMP
0000054a: JUMPDEST
0000054b: PUSH2 0x0106
0000054e: PUSH1 0x04
00000550: CALLDATALOAD
00000551: PUSH1 0x00
00000553: SLOAD
00000554: CALLER
00000555: PUSH1 0x01
00000557: PUSH1 0xa0
00000559: PUSH1 0x02
0000055b: EXP
0000055c: SUB
0000055d: SWAP1
0000055e: DUP2
0000055f: AND
00000560: SWAP2
00000561: AND
00000562: EQ
00000563: PUSH2 0x08e0
00000566: JUMPI
00000567: PUSH2 0x0002
0000056a: JUMP
0000056b: JUMPDEST
0000056c: PUSH2 0x062d
0000056f: PUSH1 0x05
00000571: SLOAD
00000572: PUSH1 0x01
00000574: PUSH1 0xa0
00000576: PUSH1 0x02
00000578: EXP
00000579: SUB
0000057a: AND
0000057b: DUP2
0000057c: JUMP
0000057d: JUMPDEST
0000057e: PUSH1 0x40
00000580: MLOAD
00000581: DUP1
00000582: DUP1
00000583: PUSH1 0x20
exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | sed -n '"'980,1060p'" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
00000583: PUSH1 0x20
00000585: ADD
00000586: DUP3
00000587: DUP2
00000588: SUB
00000589: DUP3
0000058a: MSTORE
0000058b: DUP4
0000058c: DUP2
0000058d: DUP2
0000058e: MLOAD
0000058f: DUP2
00000590: MSTORE
00000591: PUSH1 0x20
00000593: ADD
00000594: SWAP2
00000595: POP
00000596: DUP1
00000597: MLOAD
00000598: SWAP1
00000599: PUSH1 0x20
0000059b: ADD
0000059c: SWAP1
0000059d: DUP1
0000059e: DUP4
0000059f: DUP4
000005a0: DUP3
000005a1: SWAP1
000005a2: PUSH1 0x00
000005a4: PUSH1 0x04
000005a6: PUSH1 0x20
000005a8: DUP5
000005a9: PUSH1 0x1f
000005ab: ADD
000005ac: DIV
000005ad: PUSH1 0x0f
000005af: MUL
000005b0: PUSH1 0x03
000005b2: ADD
000005b3: CALL
000005b4: POP
000005b5: SWAP1
000005b6: POP
000005b7: SWAP1
000005b8: DUP2
000005b9: ADD
000005ba: SWAP1
000005bb: PUSH1 0x1f
000005bd: AND
000005be: DUP1
000005bf: ISZERO
000005c0: PUSH2 0x05dd
000005c3: JUMPI
000005c4: DUP1
000005c5: DUP3
000005c6: SUB
000005c7: DUP1
000005c8: MLOAD
000005c9: PUSH1 0x01
000005cb: DUP4
000005cc: PUSH1 0x20
000005ce: SUB
000005cf: PUSH2 0x0100
000005d2: EXP
000005d3: SUB
000005d4: NOT
000005d5: AND
000005d6: DUP2
000005d7: MSTORE
000005d8: PUSH1 0x20
000005da: ADD
000005db: SWAP2
000005dc: POP
000005dd: JUMPDEST
000005de: POP
000005df: SWAP3
000005e0: POP
000005e1: POP
000005e2: POP
000005e3: PUSH1 0x40
000005e5: MLOAD
exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | sed -n '"'1060,1095p'" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
000005e5: MLOAD
000005e6: DUP1
000005e7: SWAP2
000005e8: SUB
000005e9: SWAP1
000005ea: RETURN
000005eb: JUMPDEST
000005ec: PUSH1 0x40
000005ee: DUP1
000005ef: MLOAD
000005f0: SWAP2
000005f1: DUP3
000005f2: MSTORE
000005f3: MLOAD
000005f4: SWAP1
000005f5: DUP2
000005f6: SWAP1
000005f7: SUB
000005f8: PUSH1 0x20
000005fa: ADD
000005fb: SWAP1
000005fc: RETURN
000005fd: JUMPDEST
000005fe: PUSH1 0x40
00000600: DUP1
00000601: MLOAD
00000602: PUSH4 0xffffffff
00000607: SWAP3
00000608: SWAP1
00000609: SWAP3
0000060a: AND
0000060b: DUP3
0000060c: MSTORE
0000060d: MLOAD
0000060e: SWAP1
0000060f: DUP2
exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | grep -n '"'CREATE2\\|CALLCODE'" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
1895:00000a0a: CALLCODE
1905:00000a22: CREATE2
1908:00000a25: CREATE2
exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | grep -n '"'SSTORE'" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
671:000003e9: SSTORE
919:0000052c: SSTORE
1160:00000664: SSTORE
1260:000006f3: SSTORE
1275:00000703: SSTORE
1295:00000717: SSTORE
1537:0000083d: SSTORE
1552:0000084c: SSTORE
1580:00000869: SSTORE
1618:00000895: SSTORE
1630:000008b6: SSTORE
1654:000008dd: SSTORE
1667:000008ff: SSTORE
1705:0000092c: SSTORE
1722:0000093d: SSTORE
1844:000009d3: SSTORE
1860:000009e3: SSTORE
exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | sed -n '"'1585,1675p'" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
0000086e: MSTORE
0000086f: SWAP2
00000870: MLOAD
00000871: PUSH1 0x00
00000873: DUP1
00000874: MLOAD
00000875: PUSH1 0x20
00000877: PUSH2 0x0a09
0000087a: DUP4
0000087b: CODECOPY
0000087c: DUP2
0000087d: MLOAD
0000087e: SWAP2
0000087f: MSTORE
00000880: SWAP3
00000881: DUP2
00000882: SWAP1
00000883: SUB
00000884: SWAP1
00000885: SWAP2
00000886: ADD
00000887: SWAP1
00000888: LOG3
00000889: POP
0000088a: PUSH1 0x01
0000088c: SWAP4
0000088d: SWAP3
0000088e: POP
0000088f: POP
00000890: POP
00000891: JUMP
00000892: JUMPDEST
00000893: PUSH1 0x06
00000895: SSTORE
00000896: JUMP
00000897: JUMPDEST
00000898: PUSH1 0x05
0000089a: DUP1
0000089b: SLOAD
0000089c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008b1: NOT
000008b2: AND
000008b3: DUP3
000008b4: OR
000008b5: SWAP1
000008b6: SSTORE
000008b7: POP
000008b8: JUMP
000008b9: JUMPDEST
000008ba: PUSH2 0x0200
000008bd: DUP2
000008be: PUSH4 0xffffffff
000008c3: AND
000008c4: LT
000008c5: ISZERO
000008c6: PUSH2 0x08ce
000008c9: JUMPI
000008ca: PUSH2 0x0002
000008cd: JUMP
000008ce: JUMPDEST
000008cf: PUSH1 0x07
000008d1: DUP1
000008d2: SLOAD
000008d3: PUSH4 0xffffffff
000008d8: NOT
000008d9: AND
000008da: DUP3
000008db: OR
000008dc: SWAP1
000008dd: SSTORE
000008de: POP
000008df: JUMP
000008e0: JUMPDEST
000008e1: PUSH1 0x00
000008e3: DUP1
000008e4: SLOAD
000008e5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008fa: NOT
000008fb: AND
000008fc: DUP3
000008fd: OR
000008fe: SWAP1
000008ff: SSTORE
00000900: POP
00000901: JUMP
00000902: JUMPDEST
00000903: POP
00000904: SWAP4
00000905: SWAP3
00000906: POP
00000907: POP
exec
/bin/bash -lc "jq '[.analysis_artifact.artifact_json.cfg_edges[] | select(.to == \"bb:2295\" or .to == \"bb:2201\" or .to == \"bb:2233\" or .to == \"bb:2272\" or .from == \"bb:2295\" or .from == \"bb:2201\" or .from == \"bb:2233\" or .from == \"bb:2272\") ]' BYTECODE_BUNDLE.json" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
[
{
"from": "bb:821",
"to": "bb:2233",
"type": "control_flow"
},
{
"from": "bb:1354",
"to": "bb:2272",
"type": "control_flow"
},
{
"from": "bb:2233",
"to": "bb:2254",
"type": "control_flow"
},
{
"from": "bb:2233",
"to": "bb:2250",
"type": "control_flow_fallthrough"
}
]
exec
/bin/bash -lc "jq '[.analysis_artifact.artifact_json.cfg_edges[] | select(.to == \"bb:2194\" or .to == \"bb:2199\" or .to == \"bb:2233\" or .to == \"bb:2272\" or .from == \"bb:2194\" or .from == \"bb:2199\" or .from == \"bb:2233\" or .from == \"bb:2272\") ]' BYTECODE_BUNDLE.json" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
[
{
"from": "bb:366",
"to": "bb:2194",
"type": "control_flow"
},
{
"from": "bb:587",
"to": "bb:2199",
"type": "control_flow"
},
{
"from": "bb:821",
"to": "bb:2233",
"type": "control_flow"
},
{
"from": "bb:1354",
"to": "bb:2272",
"type": "control_flow"
},
{
"from": "bb:2233",
"to": "bb:2254",
"type": "control_flow"
},
{
"from": "bb:2233",
"to": "bb:2250",
"type": "control_flow_fallthrough"
}
]
exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | sed -n '"'330,420p'" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
0000021d: ISZERO
0000021e: PUSH2 0x022b
00000221: JUMPI
00000222: PUSH1 0x02
00000224: DUP2
00000225: SWAP1
00000226: EXP
00000227: SWAP1
00000228: SWAP2
00000229: ADD
0000022a: SWAP1
0000022b: JUMPDEST
0000022c: PUSH1 0x01
0000022e: ADD
0000022f: PUSH2 0x01ec
00000232: JUMP
00000233: JUMPDEST
00000234: PUSH2 0x05eb
00000237: PUSH1 0x04
00000239: CALLDATALOAD
0000023a: PUSH1 0x09
0000023c: PUSH1 0x20
0000023e: MSTORE
0000023f: PUSH1 0x00
00000241: SWAP1
00000242: DUP2
00000243: MSTORE
00000244: PUSH1 0x40
00000246: SWAP1
00000247: KECCAK256
00000248: SLOAD
00000249: DUP2
0000024a: JUMP
0000024b: JUMPDEST
0000024c: PUSH2 0x0106
0000024f: PUSH1 0x04
00000251: CALLDATALOAD
00000252: PUSH1 0x00
00000254: SLOAD
00000255: CALLER
00000256: PUSH1 0x01
00000258: PUSH1 0xa0
0000025a: PUSH1 0x02
0000025c: EXP
0000025d: SUB
0000025e: SWAP1
0000025f: DUP2
00000260: AND
00000261: SWAP2
00000262: AND
00000263: EQ
00000264: PUSH2 0x0897
00000267: JUMPI
00000268: PUSH2 0x0002
0000026b: JUMP
0000026c: JUMPDEST
0000026d: PUSH2 0x062d
00000270: PUSH1 0x00
00000272: SLOAD
00000273: PUSH1 0x01
00000275: PUSH1 0xa0
00000277: PUSH1 0x02
00000279: EXP
0000027a: SUB
0000027b: AND
0000027c: DUP2
0000027d: JUMP
0000027e: JUMPDEST
0000027f: PUSH2 0x057d
00000282: PUSH1 0x02
00000284: DUP1
00000285: SLOAD
00000286: PUSH1 0x40
00000288: DUP1
00000289: MLOAD
0000028a: PUSH1 0x20
0000028c: PUSH1 0x01
0000028e: DUP5
0000028f: AND
00000290: ISZERO
00000291: PUSH2 0x0100
00000294: MUL
00000295: PUSH1 0x00
00000297: NOT
00000298: ADD
00000299: SWAP1
0000029a: SWAP4
0000029b: AND
0000029c: DUP5
0000029d: SWAP1
0000029e: DIV
exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | sed -n '"'250,330p'" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
000001b5: AND
000001b6: PUSH1 0x00
000001b8: SWAP1
000001b9: DUP2
000001ba: MSTORE
000001bb: PUSH1 0x09
000001bd: PUSH1 0x20
000001bf: MSTORE
000001c0: PUSH1 0x40
000001c2: DUP2
000001c3: KECCAK256
000001c4: SLOAD
000001c5: DUP3
000001c6: SWAP1
000001c7: LT
000001c8: ISZERO
000001c9: PUSH2 0x07a7
000001cc: JUMPI
000001cd: PUSH2 0x0002
000001d0: JUMP
000001d1: JUMPDEST
000001d2: PUSH2 0x0617
000001d5: PUSH1 0x03
000001d7: SLOAD
000001d8: PUSH1 0xff
000001da: AND
000001db: DUP2
000001dc: JUMP
000001dd: JUMPDEST
000001de: PUSH2 0x05eb
000001e1: PUSH1 0x04
000001e3: CALLDATALOAD
000001e4: PUSH1 0x24
000001e6: CALLDATALOAD
000001e7: JUMPDEST
000001e8: PUSH1 0x00
000001ea: DUP1
000001eb: DUP1
000001ec: JUMPDEST
000001ed: DUP4
000001ee: DUP2
000001ef: LT
000001f0: ISZERO
000001f1: PUSH2 0x0902
000001f4: JUMPI
000001f5: PUSH1 0x40
000001f7: DUP1
000001f8: MLOAD
000001f9: NUMBER
000001fa: DUP4
000001fb: SWAP1
000001fc: SUB
000001fd: PUSH1 0x00
000001ff: NOT
00000200: ADD
00000201: BLOCKHASH
00000202: DUP2
00000203: MSTORE
00000204: PUSH1 0x20
00000206: DUP2
00000207: ADD
00000208: DUP8
00000209: SWAP1
0000020a: MSTORE
0000020b: DUP2
0000020c: MLOAD
0000020d: SWAP1
0000020e: DUP2
0000020f: SWAP1
00000210: SUB
00000211: SWAP1
00000212: SWAP2
00000213: ADD
00000214: SWAP1
00000215: KECCAK256
00000216: PUSH1 0x02
00000218: SWAP1
00000219: MOD
0000021a: PUSH1 0x00
0000021c: EQ
0000021d: ISZERO
exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | sed -n '"'160,250p'" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
00000132: ADD
00000133: DUP3
00000134: ADD
00000135: SWAP1
00000136: SWAP5
00000137: MSTORE
00000138: DUP4
00000139: DUP4
0000013a: MSTORE
0000013b: PUSH2 0x057d
0000013e: SWAP4
0000013f: SWAP1
00000140: DUP4
00000141: ADD
00000142: DUP3
00000143: DUP3
00000144: DUP1
00000145: ISZERO
00000146: PUSH2 0x079f
00000149: JUMPI
0000014a: DUP1
0000014b: PUSH1 0x1f
0000014d: LT
0000014e: PUSH2 0x0774
00000151: JUMPI
00000152: PUSH2 0x0100
00000155: DUP1
00000156: DUP4
00000157: SLOAD
00000158: DIV
00000159: MUL
0000015a: DUP4
0000015b: MSTORE
0000015c: SWAP2
0000015d: PUSH1 0x20
0000015f: ADD
00000160: SWAP2
00000161: PUSH2 0x079f
00000164: JUMP
00000165: JUMPDEST
00000166: PUSH2 0x05eb
00000169: PUSH1 0x04
0000016b: SLOAD
0000016c: DUP2
0000016d: JUMP
0000016e: JUMPDEST
0000016f: PUSH2 0x0106
00000172: PUSH1 0x04
00000174: CALLDATALOAD
00000175: PUSH1 0x00
00000177: SLOAD
00000178: PUSH1 0x01
0000017a: PUSH1 0xa0
0000017c: PUSH1 0x02
0000017e: EXP
0000017f: SUB
00000180: SWAP1
00000181: DUP2
00000182: AND
00000183: CALLER
00000184: SWAP1
00000185: SWAP2
00000186: AND
00000187: EQ
00000188: PUSH2 0x0892
0000018b: JUMPI
0000018c: PUSH2 0x0002
0000018f: JUMP
00000190: JUMPDEST
00000191: PUSH2 0x05fd
00000194: PUSH1 0x07
00000196: SLOAD
00000197: PUSH4 0xffffffff
0000019c: AND
0000019d: DUP2
0000019e: JUMP
0000019f: JUMPDEST
000001a0: PUSH2 0x05eb
000001a3: PUSH1 0x04
000001a5: CALLDATALOAD
000001a6: PUSH1 0x24
000001a8: CALLDATALOAD
000001a9: PUSH1 0x44
000001ab: CALLDATALOAD
000001ac: PUSH1 0x01
000001ae: PUSH1 0xa0
000001b0: PUSH1 0x02
000001b2: EXP
000001b3: SUB
000001b4: DUP4
000001b5: AND
exec
/bin/bash -lc "jq '[.analysis_artifact.artifact_json.cfg_edges[] | select(.to == \"bb:1405\") ]' BYTECODE_BUNDLE.json" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
[]
exec
/bin/bash -lc "jq '.capability_graph | keys' BYTECODE_BUNDLE.json" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
[
"address",
"block_number",
"chain_id",
"codehash",
"created_at",
"graph_hash",
"graph_json",
"id",
"updated_at",
"version"
]
exec
/bin/bash -lc "jq '.capability_graph' BYTECODE_BUNDLE.json | head -n 120" in /tmp/codex-m6bgnq5h
succeeded in 0ms:
{
"address": "0x2d7eb3b1e243595386c8e15abdb91ecfa1785452",
"block_number": null,
"chain_id": 1,
"codehash": "0x271ba1bffdc3f015042bb394dbd981805ab747db427cbb0d4371de4d79876830",
"created_at": "2026-04-04T19:59:22.000000Z",
"graph_hash": "0x07292e459c65d16656c55324e76ef7e8cbd8cdd28ed6a8e6292f2a7f384fb533",
"graph_json": {
"edges": [
{
"from": "bb:0",
"to": "bb:262",
"type": "control_flow"
},
{
"from": "bb:0",
"to": "bb:11",
"type": "control_flow_fallthrough"
},
{
"from": "bb:11",
"to": "bb:264",
"type": "control_flow"
},
{
"from": "bb:11",
"to": "bb:31",
"type": "control_flow_fallthrough"
},
{
"from": "bb:31",
"to": "bb:357",
"type": "control_flow"
},
{
"from": "bb:31",
"to": "bb:42",
"type": "control_flow_fallthrough"
},
{
"from": "bb:42",
"to": "bb:366",
"type": "control_flow"
},
{
"from": "bb:42",
"to": "bb:53",
"type": "control_flow_fallthrough"
},
{
"from": "bb:53",
"to": "bb:400",
"type": "control_flow"
},
{
"from": "bb:53",
"to": "bb:64",
"type": "control_flow_fallthrough"
},
{
"from": "bb:64",
"to": "bb:415",
"type": "control_flow"
},
{
"from": "bb:64",
"to": "bb:75",
"type": "control_flow_fallthrough"
},
{
"from": "bb:75",
"to": "bb:465",
"type": "control_flow"
},
{
"from": "bb:75",
"to": "bb:86",
"type": "control_flow_fallthrough"
},
{
"from": "bb:86",
"to": "bb:477",
"type": "control_flow"
},
{
"from": "bb:86",
"to": "bb:97",
"type": "control_flow_fallthrough"
},
{
"from": "bb:97",
"to": "bb:563",
"type": "control_flow"
},
{
"from": "bb:97",
"to": "bb:108",
"type": "control_flow_fallthrough"
},
{
"from": "bb:108",
"to": "bb:587",
"type": "control_flow"
},
{
"from": "bb:108",
"to": "bb:119",
"type": "control_flow_fallthrough"
},
{
"from": "bb:119",
"to": "bb:620",
"type": "control_flow"
},
{
"from": "bb:119",
"to": "bb:130",
"type": "control_flow_fallthrough"
},
{
Error: writing output failed: Broken pipe
codex
{"no_findings":false,"summary":"Bytecode-only review found one concrete public arbitrary-call surface and one related state-consistency issue on the same public path. CREATE2/CALLCODE detections appear to come from trailing metadata, not reachable runtime logic.","findings":[{"severity":"high","category":"access_control","title":"Public selector reaches variable low-level CALLs with possible ETH transfer","exploit_scenario":"Selector 0xcae9ca51 dispatches directly into logic that reaches CALL at pc:0x466 and CALL at pc:0x4aa without an observed owner check, while nearby admin setters do use a `CALLER == SLOAD(0)` style gate. The detector bundle also validated variable CALL targets and nonzero value as reachable. If the target/value are derived from calldata or attacker-influenced storage on this path, any caller can trigger arbitrary external interactions or outbound ETH transfers from the contract.","recommendation":"Restrict this path with explicit authorization unless it is intentionally public. If it is meant to be public, hard-code or tightly validate the call target, forbid arbitrary calldata passthrough, and prevent unbounded ETH/value forwarding.","evidence":"Dispatcher sends `selector:0xcae9ca51` to pc:0x356. That path reaches pc:0x466 (`CALL`) and pc:0x4aa (`CALL`). Unlike owner-gated paths such as selectors 0x1fe9eabc, 0x7f2a8a80, 0xc4839e8b, and 0xf2fde38b, no `CALLER`/owner comparison is visible before these calls. Detector validation confirmed `target_varies=true` and observed call targets including `0x0000000000000000000000000000000000000004` and the contract itself, with ETH value transfer marked reachable.","locations":["selector:0xcae9ca51","pc:0x466","pc:0x4aa"]},{"severity":"medium","category":"other","title":"External CALL result is discarded after prior state write on public path","exploit_scenario":"On the same public selector 0xcae9ca51 path, storage is written before the low-level CALL at pc:0x466, but the CALL result is immediately popped and execution continues. A malicious or incompatible callee can fail that external action while the contract keeps its internal state change, potentially desynchronizing accounting/claim state from the intended external side effect.","recommendation":"Revert on failed low-level calls unless the failure is explicitly non-fatal and fully accounted for. Where partial failure is acceptable, emit a dedicated event and avoid committing state that assumes the external side effect succeeded.","evidence":"The path performs `SSTORE` at pc:0x3e9, then executes `CALL` at pc:0x466, followed immediately by `POP` with no visible `ISZERO`/revert handling for that call. The later call at pc:0x4aa does have an explicit success check, which makes the missing check at pc:0x466 stand out as intentional or overlooked rather than compiler artifact.","locations":["selector:0xcae9ca51","pc:0x3e9","pc:0x466"]}]}
tokens used
94,058
{
"codex": {
"ran_at": "2026-04-05T06:49:20.180273+00:00",
"returncode": 0
},
"project": {
"mode": "bytecode",
"bytecode_length": 5204,
"bytecode_truncated": false,
"capability_graph_present": true,
"analysis_artifact_present": true
},
"summary": "Bytecode-only review found one concrete public arbitrary-call surface and one related state-consistency issue on the same public path. CREATE2/CALLCODE detections appear to come from trailing metadata, not reachable runtime logic.",
"raw_final": {
"summary": "Bytecode-only review found one concrete public arbitrary-call surface and one related state-consistency issue on the same public path. CREATE2/CALLCODE detections appear to come from trailing metadata, not reachable runtime logic.",
"findings": [
{
"title": "Public selector reaches variable low-level CALLs with possible ETH transfer",
"category": "access_control",
"evidence": "Dispatcher sends `selector:0xcae9ca51` to pc:0x356. That path reaches pc:0x466 (`CALL`) and pc:0x4aa (`CALL`). Unlike owner-gated paths such as selectors 0x1fe9eabc, 0x7f2a8a80, 0xc4839e8b, and 0xf2fde38b, no `CALLER`/owner comparison is visible before these calls. Detector validation confirmed `target_varies=true` and observed call targets including `0x0000000000000000000000000000000000000004` and the contract itself, with ETH value transfer marked reachable.",
"severity": "high",
"locations": [
"selector:0xcae9ca51",
"pc:0x466",
"pc:0x4aa"
],
"recommendation": "Restrict this path with explicit authorization unless it is intentionally public. If it is meant to be public, hard-code or tightly validate the call target, forbid arbitrary calldata passthrough, and prevent unbounded ETH/value forwarding.",
"exploit_scenario": "Selector 0xcae9ca51 dispatches directly into logic that reaches CALL at pc:0x466 and CALL at pc:0x4aa without an observed owner check, while nearby admin setters do use a `CALLER == SLOAD(0)` style gate. The detector bundle also validated variable CALL targets and nonzero value as reachable. If the target/value are derived from calldata or attacker-influenced storage on this path, any caller can trigger arbitrary external interactions or outbound ETH transfers from the contract."
},
{
"title": "External CALL result is discarded after prior state write on public path",
"category": "other",
"evidence": "The path performs `SSTORE` at pc:0x3e9, then executes `CALL` at pc:0x466, followed immediately by `POP` with no visible `ISZERO`/revert handling for that call. The later call at pc:0x4aa does have an explicit success check, which makes the missing check at pc:0x466 stand out as intentional or overlooked rather than compiler artifact.",
"severity": "medium",
"locations": [
"selector:0xcae9ca51",
"pc:0x3e9",
"pc:0x466"
],
"recommendation": "Revert on failed low-level calls unless the failure is explicitly non-fatal and fully accounted for. Where partial failure is acceptable, emit a dedicated event and avoid committing state that assumes the external side effect succeeded.",
"exploit_scenario": "On the same public selector 0xcae9ca51 path, storage is written before the low-level CALL at pc:0x466, but the CALL result is immediately popped and execution continues. A malicious or incompatible callee can fail that external action while the contract keeps its internal state change, potentially desynchronizing accounting/claim state from the intended external side effect."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x60 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLDATASIZE 00000006: ISZERO 00000007: PUSH2 0x0106 0000000a: JUMPI 0000000b: PUSH1 0xe0 0000000d: PUSH1 0x02 0000000f: EXP 00000010: PUSH1 0x00 00000012: CALLDATALOAD 00000013: DIV 00000014: PUSH4 0x06fdde03 00000019: DUP2 0000001a: EQ 0000001b: PUSH2 0x0108 0000001e: JUMPI 0000001f: DUP1 00000020: PUSH4 0x18160ddd 00000025: EQ 00000026: PUSH2 0x0165 00000029: JUMPI 0000002a: DUP1 0000002b: PUSH4 0x1fe9eabc 00000030: EQ 00000031: PUSH2 0x016e 00000034: JUMPI 00000035: DUP1 00000036: PUSH4 0x233de126 0000003b: EQ 0000003c: PUSH2 0x0190 0000003f: JUMPI 00000040: DUP1 00000041: PUSH4 0x23b872dd 00000046: EQ 00000047: PUSH2 0x019f 0000004a: JUMPI 0000004b: DUP1 0000004c: PUSH4 0x313ce567 00000051: EQ 00000052: PUSH2 0x01d1 00000055: JUMPI 00000056: DUP1 00000057: PUSH4 0x41fa4876 0000005c: EQ 0000005d: PUSH2 0x01dd 00000060: JUMPI 00000061: DUP1 00000062: PUSH4 0x70a08231 00000067: EQ 00000068: PUSH2 0x0233 0000006b: JUMPI 0000006c: DUP1 0000006d: PUSH4 0x7f2a8a80 00000072: EQ 00000073: PUSH2 0x024b 00000076: JUMPI 00000077: DUP1 00000078: PUSH4 0x8da5cb5b 0000007d: EQ 0000007e: PUSH2 0x026c 00000081: JUMPI 00000082: DUP1 00000083: PUSH4 0x95d89b41 00000088: EQ 00000089: PUSH2 0x027e 0000008c: JUMPI 0000008d: DUP1 0000008e: PUSH4 0xa6f2ae3a 00000093: EQ 00000094: PUSH2 0x02d9 00000097: JUMPI 00000098: DUP1 00000099: PUSH4 0xa9059cbb 0000009e: EQ 0000009f: PUSH2 0x02f4 000000a2: JUMPI 000000a3: DUP1 000000a4: PUSH4 0xaa295de9 000000a9: EQ 000000aa: PUSH2 0x0323 000000ad: JUMPI 000000ae: DUP1 000000af: PUSH4 0xbc094049 000000b4: EQ 000000b5: PUSH2 0x032c 000000b8: JUMPI 000000b9: DUP1 000000ba: PUSH4 0xc4839e8b 000000bf: EQ 000000c0: PUSH2 0x0335 000000c3: JUMPI 000000c4: DUP1 000000c5: PUSH4 0xcae9ca51 000000ca: EQ 000000cb: PUSH2 0x0356 000000ce: JUMPI 000000cf: DUP1 000000d0: PUSH4 0xdc3080f2 000000d5: EQ 000000d6: PUSH2 0x04bd 000000d9: JUMPI 000000da: DUP1 000000db: PUSH4 0xdd62ed3e 000000e0: EQ 000000e1: PUSH2 0x04e2 000000e4: JUMPI 000000e5: DUP1 000000e6: PUSH4 0xe4849b32 000000eb: EQ 000000ec: PUSH2 0x0507 000000ef: JUMPI 000000f0: DUP1 000000f1: PUSH4 0xf2fde38b 000000f6: EQ 000000f7: PUSH2 0x054a 000000fa: JUMPI 000000fb: DUP1 000000fc: PUSH4 0xff9b3acf 00000101: EQ 00000102: PUSH2 0x056b 00000105: JUMPI 00000106: JUMPDEST 00000107: STOP 00000108: JUMPDEST 00000109: PUSH1 0x40 0000010b: DUP1 0000010c: MLOAD 0000010d: PUSH1 0x01 0000010f: DUP1 00000110: SLOAD 00000111: PUSH1 0x20 00000113: PUSH1 0x02 00000115: DUP3 00000116: DUP5 00000117: AND 00000118: ISZERO 00000119: PUSH2 0x0100 0000011c: MUL 0000011d: PUSH1 0x00 0000011f: NOT 00000120: ADD 00000121: SWAP1 00000122: SWAP3 00000123: AND 00000124: SWAP2 00000125: SWAP1 00000126: SWAP2 00000127: DIV 00000128: PUSH1 0x1f 0000012a: DUP2 0000012b: ADD 0000012c: DUP3 0000012d: SWAP1 0000012e: DIV 0000012f: DUP3 00000130: MUL 00000131: DUP5 00000132: ADD 00000133: DUP3 00000134: ADD 00000135: SWAP1 00000136: SWAP5 00000137: MSTORE 00000138: DUP4 00000139: DUP4 0000013a: MSTORE 0000013b: PUSH2 0x057d 0000013e: SWAP4 0000013f: SWAP1 00000140: DUP4 00000141: ADD 00000142: DUP3 00000143: DUP3 00000144: DUP1 00000145: ISZERO 00000146: PUSH2 0x079f 00000149: JUMPI 0000014a: DUP1 0000014b: PUSH1 0x1f 0000014d: LT 0000014e: PUSH2 0x0774 00000151: JUMPI 00000152: PUSH2 0x0100 00000155: DUP1 00000156: DUP4 00000157: SLOAD 00000158: DIV 00000159: MUL 0000015a: DUP4 0000015b: MSTORE 0000015c: SWAP2 0000015d: PUSH1 0x20 0000015f: ADD 00000160: SWAP2 00000161: PUSH2 0x079f 00000164: JUMP 00000165: JUMPDEST 00000166: PUSH2 0x05eb 00000169: PUSH1 0x04 0000016b: SLOAD 0000016c: DUP2 0000016d: JUMP 0000016e: JUMPDEST 0000016f: PUSH2 0x0106 00000172: PUSH1 0x04 00000174: CALLDATALOAD 00000175: PUSH1 0x00 00000177: SLOAD 00000178: PUSH1 0x01 0000017a: PUSH1 0xa0 0000017c: PUSH1 0x02 0000017e: EXP 0000017f: SUB 00000180: SWAP1 00000181: DUP2 00000182: AND 00000183: CALLER 00000184: SWAP1 00000185: SWAP2 00000186: AND 00000187: EQ 00000188: PUSH2 0x0892 0000018b: JUMPI 0000018c: PUSH2 0x0002 0000018f: JUMP 00000190: JUMPDEST 00000191: PUSH2 0x05fd 00000194: PUSH1 0x07 00000196: SLOAD 00000197: PUSH4 0xffffffff 0000019c: AND 0000019d: DUP2 0000019e: JUMP 0000019f: JUMPDEST 000001a0: PUSH2 0x05eb 000001a3: PUSH1 0x04 000001a5: CALLDATALOAD 000001a6: PUSH1 0x24 000001a8: CALLDATALOAD 000001a9: PUSH1 0x44 000001ab: CALLDATALOAD 000001ac: PUSH1 0x01 000001ae: PUSH1 0xa0 000001b0: PUSH1 0x02 000001b2: EXP 000001b3: SUB 000001b4: DUP4 000001b5: AND 000001b6: PUSH1 0x00 000001b8: SWAP1 000001b9: DUP2 000001ba: MSTORE 000001bb: PUSH1 0x09 000001bd: PUSH1 0x20 000001bf: MSTORE 000001c0: PUSH1 0x40 000001c2: DUP2 000001c3: KECCAK256 000001c4: SLOAD 000001c5: DUP3 000001c6: SWAP1 000001c7: LT 000001c8: ISZERO 000001c9: PUSH2 0x07a7 000001cc: JUMPI 000001cd: PUSH2 0x0002 000001d0: JUMP 000001d1: JUMPDEST 000001d2: PUSH2 0x0617 000001d5: PUSH1 0x03 000001d7: SLOAD 000001d8: PUSH1 0xff 000001da: AND 000001db: DUP2 000001dc: JUMP 000001dd: JUMPDEST 000001de: PUSH2 0x05eb 000001e1: PUSH1 0x04 000001e3: CALLDATALOAD 000001e4: PUSH1 0x24 000001e6: CALLDATALOAD 000001e7: JUMPDEST 000001e8: PUSH1 0x00 000001ea: DUP1 000001eb: DUP1 000001ec: JUMPDEST 000001ed: DUP4 000001ee: DUP2 000001ef: LT 000001f0: ISZERO 000001f1: PUSH2 0x0902 000001f4: JUMPI 000001f5: PUSH1 0x40 000001f7: DUP1 000001f8: MLOAD 000001f9: NUMBER 000001fa: DUP4 000001fb: SWAP1 000001fc: SUB 000001fd: PUSH1 0x00 000001ff: NOT 00000200: ADD 00000201: BLOCKHASH 00000202: DUP2 00000203: MSTORE 00000204: PUSH1 0x20 00000206: DUP2 00000207: ADD 00000208: DUP8 00000209: SWAP1 0000020a: MSTORE 0000020b: DUP2 0000020c: MLOAD 0000020d: SWAP1 0000020e: DUP2 0000020f: SWAP1 00000210: SUB 00000211: SWAP1 00000212: SWAP2 00000213: ADD 00000214: SWAP1 00000215: KECCAK256 00000216: PUSH1 0x02 00000218: SWAP1 00000219: MOD 0000021a: PUSH1 0x00 0000021c: EQ 0000021d: ISZERO 0000021e: PUSH2 0x022b 00000221: JUMPI 00000222: PUSH1 0x02 00000224: DUP2 00000225: SWAP1 00000226: EXP 00000227: SWAP1 00000228: SWAP2 00000229: ADD 0000022a: SWAP1 0000022b: JUMPDEST 0000022c: PUSH1 0x01 0000022e: ADD 0000022f: PUSH2 0x01ec 00000232: JUMP 00000233: JUMPDEST 00000234: PUSH2 0x05eb 00000237: PUSH1 0x04 00000239: CALLDATALOAD 0000023a: PUSH1 0x09 0000023c: PUSH1 0x20 0000023e: MSTORE 0000023f: PUSH1 0x00 00000241: SWAP1 00000242: DUP2 00000243: MSTORE 00000244: PUSH1 0x40 00000246: SWAP1 00000247: KECCAK256 00000248: SLOAD 00000249: DUP2 0000024a: JUMP 0000024b: JUMPDEST 0000024c: PUSH2 0x0106 0000024f: PUSH1 0x04 00000251: CALLDATALOAD 00000252: PUSH1 0x00 00000254: SLOAD 00000255: CALLER 00000256: PUSH1 0x01 00000258: PUSH1 0xa0 0000025a: PUSH1 0x02 0000025c: EXP 0000025d: SUB 0000025e: SWAP1 0000025f: DUP2 00000260: AND 00000261: SWAP2 00000262: AND 00000263: EQ 00000264: PUSH2 0x0897 00000267: JUMPI 00000268: PUSH2 0x0002 0000026b: JUMP 0000026c: JUMPDEST 0000026d: PUSH2 0x062d 00000270: PUSH1 0x00 00000272: SLOAD 00000273: PUSH1 0x01 00000275: PUSH1 0xa0 00000277: PUSH1 0x02 00000279: EXP 0000027a: SUB 0000027b: AND 0000027c: DUP2 0000027d: JUMP 0000027e: JUMPDEST 0000027f: PUSH2 0x057d 00000282: PUSH1 0x02 00000284: DUP1 00000285: SLOAD 00000286: PUSH1 0x40 00000288: DUP1 00000289: MLOAD 0000028a: PUSH1 0x20 0000028c: PUSH1 0x01 0000028e: DUP5 0000028f: AND 00000290: ISZERO 00000291: PUSH2 0x0100 00000294: MUL 00000295: PUSH1 0x00 00000297: NOT 00000298: ADD 00000299: SWAP1 0000029a: SWAP4 0000029b: AND 0000029c: DUP5 0000029d: SWAP1 0000029e: DIV 0000029f: PUSH1 0x1f 000002a1: DUP2 000002a2: ADD 000002a3: DUP5 000002a4: SWAP1 000002a5: DIV 000002a6: DUP5 000002a7: MUL 000002a8: DUP3 000002a9: ADD 000002aa: DUP5 000002ab: ADD 000002ac: SWAP1 000002ad: SWAP3 000002ae: MSTORE 000002af: DUP2 000002b0: DUP2 000002b1: MSTORE 000002b2: SWAP3 000002b3: SWAP2 000002b4: DUP4 000002b5: ADD 000002b6: DUP3 000002b7: DUP3 000002b8: DUP1 000002b9: ISZERO 000002ba: PUSH2 0x079f 000002bd: JUMPI 000002be: DUP1 000002bf: PUSH1 0x1f 000002c1: LT 000002c2: PUSH2 0x0774 000002c5: JUMPI 000002c6: PUSH2 0x0100 000002c9: DUP1 000002ca: DUP4 000002cb: SLOAD 000002cc: DIV 000002cd: MUL 000002ce: DUP4 000002cf: MSTORE 000002d0: SWAP2 000002d1: PUSH1 0x20 000002d3: ADD 000002d4: SWAP2 000002d5: PUSH2 0x079f 000002d8: JUMP 000002d9: JUMPDEST 000002da: PUSH2 0x05eb 000002dd: PUSH1 0x06 000002df: SLOAD 000002e0: CALLVALUE 000002e1: SWAP1 000002e2: PUSH1 0x00 000002e4: SWAP1 000002e5: DUP2 000002e6: SWAP1 000002e7: DUP2 000002e8: SWAP1 000002e9: DUP5 000002ea: GT 000002eb: ISZERO 000002ec: PUSH2 0x064a 000002ef: JUMPI 000002f0: PUSH2 0x0002 000002f3: JUMP 000002f4: JUMPDEST 000002f5: PUSH2 0x0106 000002f8: PUSH1 0x04 000002fa: CALLDATALOAD 000002fb: PUSH1 0x24 000002fd: CALLDATALOAD 000002fe: CALLER 000002ff: PUSH1 0x01 00000301: PUSH1 0xa0 00000303: PUSH1 0x02 00000305: EXP 00000306: SUB 00000307: AND 00000308: PUSH1 0x00 0000030a: SWAP1 0000030b: DUP2 0000030c: MSTORE 0000030d: PUSH1 0x09 0000030f: PUSH1 0x20 00000311: MSTORE 00000312: PUSH1 0x40 00000314: SWAP1 00000315: KECCAK256 00000316: SLOAD 00000317: DUP2 00000318: SWAP1 00000319: LT 0000031a: ISZERO 0000031b: PUSH2 0x0988 0000031e: JUMPI 0000031f: PUSH2 0x0002 00000322: JUMP 00000323: JUMPDEST 00000324: PUSH2 0x05eb 00000327: PUSH1 0x06 00000329: SLOAD 0000032a: DUP2 0000032b: JUMP 0000032c: JUMPDEST 0000032d: PUSH2 0x05eb 00000330: PUSH1 0x08 00000332: SLOAD 00000333: DUP2 00000334: JUMP 00000335: JUMPDEST 00000336: PUSH2 0x0106 00000339: PUSH1 0x04 0000033b: CALLDATALOAD 0000033c: PUSH1 0x00 0000033e: SLOAD 0000033f: CALLER 00000340: PUSH1 0x01 00000342: PUSH1 0xa0 00000344: PUSH1 0x02 00000346: EXP 00000347: SUB 00000348: SWAP1 00000349: DUP2 0000034a: AND 0000034b: SWAP2 0000034c: AND 0000034d: EQ 0000034e: PUSH2 0x08b9 00000351: JUMPI 00000352: PUSH2 0x0002 00000355: JUMP 00000356: JUMPDEST 00000357: PUSH1 0x40 00000359: DUP1 0000035a: MLOAD 0000035b: PUSH1 0x20 0000035d: PUSH1 0x44 0000035f: CALLDATALOAD 00000360: PUSH1 0x04 00000362: DUP2 00000363: DUP2 00000364: ADD 00000365: CALLDATALOAD 00000366: PUSH1 0x1f 00000368: DUP2 00000369: ADD 0000036a: DUP5 0000036b: SWAP1 0000036c: DIV 0000036d: DUP5 0000036e: MUL 0000036f: DUP6 00000370: ADD 00000371: DUP5 00000372: ADD 00000373: SWAP1 00000374: SWAP6 00000375: MSTORE 00000376: DUP5 00000377: DUP5 00000378: MSTORE 00000379: PUSH2 0x05eb 0000037c: SWAP5 0000037d: DUP2 0000037e: CALLDATALOAD 0000037f: SWAP5 00000380: PUSH1 0x24 00000382: DUP1 00000383: CALLDATALOAD 00000384: SWAP6 00000385: SWAP4 00000386: SWAP5 00000387: PUSH1 0x64 00000389: SWAP5 0000038a: SWAP3 0000038b: SWAP4 0000038c: SWAP2 0000038d: ADD 0000038e: SWAP2 0000038f: DUP2 00000390: SWAP1 00000391: DUP5 00000392: ADD 00000393: DUP4 00000394: DUP3 00000395: DUP1 00000396: DUP3 00000397: DUP5 00000398: CALLDATACOPY 00000399: POP 0000039a: SWAP5 0000039b: SWAP7 0000039c: POP 0000039d: POP 0000039e: POP 0000039f: POP 000003a0: POP 000003a1: POP 000003a2: POP 000003a3: PUSH1 0x00 000003a5: PUSH1 0x00 000003a7: DUP4 000003a8: PUSH1 0x0a 000003aa: PUSH1 0x00 000003ac: POP 000003ad: PUSH1 0x00 000003af: CALLER 000003b0: PUSH1 0x01 000003b2: PUSH1 0xa0 000003b4: PUSH1 0x02 000003b6: EXP 000003b7: SUB 000003b8: AND 000003b9: DUP2 000003ba: MSTORE 000003bb: PUSH1 0x20 000003bd: ADD 000003be: SWAP1 000003bf: DUP2 000003c0: MSTORE 000003c1: PUSH1 0x20 000003c3: ADD 000003c4: PUSH1 0x00 000003c6: KECCAK256 000003c7: PUSH1 0x00 000003c9: POP 000003ca: PUSH1 0x00 000003cc: DUP8 000003cd: PUSH1 0x01 000003cf: PUSH1 0xa0 000003d1: PUSH1 0x02 000003d3: EXP 000003d4: SUB 000003d5: AND 000003d6: DUP2 000003d7: MSTORE 000003d8: PUSH1 0x20 000003da: ADD 000003db: SWAP1 000003dc: DUP2 000003dd: MSTORE 000003de: PUSH1 0x20 000003e0: ADD 000003e1: PUSH1 0x00 000003e3: KECCAK256 000003e4: PUSH1 0x00 000003e6: POP 000003e7: DUP2 000003e8: SWAP1 000003e9: SSTORE 000003ea: POP 000003eb: DUP5 000003ec: SWAP1 000003ed: POP 000003ee: DUP1 000003ef: PUSH1 0x01 000003f1: PUSH1 0xa0 000003f3: PUSH1 0x02 000003f5: EXP 000003f6: SUB 000003f7: AND 000003f8: PUSH4 0x8f4ffcb1 000003fd: CALLER 000003fe: DUP7 000003ff: ADDRESS 00000400: DUP8 00000401: PUSH1 0x40 00000403: MLOAD 00000404: DUP6 00000405: PUSH1 0xe0 00000407: PUSH1 0x02 00000409: EXP 0000040a: MUL 0000040b: DUP2 0000040c: MSTORE 0000040d: PUSH1 0x04 0000040f: ADD 00000410: DUP1 00000411: DUP6 00000412: PUSH1 0x01 00000414: PUSH1 0xa0 00000416: PUSH1 0x02 00000418: EXP 00000419: SUB 0000041a: AND 0000041b: DUP2 0000041c: MSTORE 0000041d: PUSH1 0x20 0000041f: ADD 00000420: DUP5 00000421: DUP2 00000422: MSTORE 00000423: PUSH1 0x20 00000425: ADD 00000426: DUP4 00000427: PUSH1 0x01 00000429: PUSH1 0xa0 0000042b: PUSH1 0x02 0000042d: EXP 0000042e: SUB 0000042f: AND 00000430: DUP2 00000431: MSTORE 00000432: PUSH1 0x20 00000434: ADD 00000435: DUP1 00000436: PUSH1 0x20 00000438: ADD 00000439: DUP3 0000043a: DUP2 0000043b: SUB 0000043c: DUP3 0000043d: MSTORE 0000043e: DUP4 0000043f: DUP2 00000440: DUP2 00000441: MLOAD 00000442: DUP2 00000443: MSTORE 00000444: PUSH1 0x20 00000446: ADD 00000447: SWAP2 00000448: POP 00000449: DUP1 0000044a: MLOAD 0000044b: SWAP1 0000044c: PUSH1 0x20 0000044e: ADD 0000044f: SWAP1 00000450: DUP1 00000451: DUP4 00000452: DUP4 00000453: DUP3 00000454: SWAP1 00000455: PUSH1 0x00 00000457: PUSH1 0x04 00000459: PUSH1 0x20 0000045b: DUP5 0000045c: PUSH1 0x1f 0000045e: ADD 0000045f: DIV 00000460: PUSH1 0x0f 00000462: MUL 00000463: PUSH1 0x03 00000465: ADD 00000466: CALL 00000467: POP 00000468: SWAP1 00000469: POP 0000046a: SWAP1 0000046b: DUP2 0000046c: ADD 0000046d: SWAP1 0000046e: PUSH1 0x1f 00000470: AND 00000471: DUP1 00000472: ISZERO 00000473: PUSH2 0x0490 00000476: JUMPI 00000477: DUP1 00000478: DUP3 00000479: SUB 0000047a: DUP1 0000047b: MLOAD 0000047c: PUSH1 0x01 0000047e: DUP4 0000047f: PUSH1 0x20 00000481: SUB 00000482: PUSH2 0x0100 00000485: EXP 00000486: SUB 00000487: NOT 00000488: AND 00000489: DUP2 0000048a: MSTORE 0000048b: PUSH1 0x20 0000048d: ADD 0000048e: SWAP2 0000048f: POP 00000490: JUMPDEST 00000491: POP 00000492: SWAP6 00000493: POP 00000494: POP 00000495: POP 00000496: POP 00000497: POP 00000498: POP 00000499: PUSH1 0x00 0000049b: PUSH1 0x40 0000049d: MLOAD 0000049e: DUP1 0000049f: DUP4 000004a0: SUB 000004a1: DUP2 000004a2: PUSH1 0x00 000004a4: DUP8 000004a5: PUSH2 0x61da 000004a8: GAS 000004a9: SUB 000004aa: CALL 000004ab: ISZERO 000004ac: PUSH2 0x0002 000004af: JUMPI 000004b0: POP 000004b1: PUSH1 0x01 000004b3: SWAP8 000004b4: SWAP7 000004b5: POP 000004b6: POP 000004b7: POP 000004b8: POP 000004b9: POP 000004ba: POP 000004bb: POP 000004bc: JUMP 000004bd: JUMPDEST 000004be: PUSH1 0x0b 000004c0: PUSH1 0x20 000004c2: SWAP1 000004c3: DUP2 000004c4: MSTORE 000004c5: PUSH1 0x04 000004c7: CALLDATALOAD 000004c8: PUSH1 0x00 000004ca: SWAP1 000004cb: DUP2 000004cc: MSTORE 000004cd: PUSH1 0x40 000004cf: DUP1 000004d0: DUP3 000004d1: KECCAK256 000004d2: SWAP1 000004d3: SWAP3 000004d4: MSTORE 000004d5: PUSH1 0x24 000004d7: CALLDATALOAD 000004d8: DUP2 000004d9: MSTORE 000004da: KECCAK256 000004db: SLOAD 000004dc: PUSH2 0x05eb 000004df: SWAP1 000004e0: DUP2 000004e1: JUMP 000004e2: JUMPDEST 000004e3: PUSH1 0x0a 000004e5: PUSH1 0x20 000004e7: SWAP1 000004e8: DUP2 000004e9: MSTORE 000004ea: PUSH1 0x04 000004ec: CALLDATALOAD 000004ed: PUSH1 0x00 000004ef: SWAP1 000004f0: DUP2 000004f1: MSTORE 000004f2: PUSH1 0x40 000004f4: DUP1 000004f5: DUP3 000004f6: KECCAK256 000004f7: SWAP1 000004f8: SWAP3 000004f9: MSTORE 000004fa: PUSH1 0x24 000004fc: CALLDATALOAD 000004fd: DUP2 000004fe: MSTORE 000004ff: KECCAK256 00000500: SLOAD 00000501: PUSH2 0x05eb 00000504: SWAP1 00000505: DUP2 00000506: JUMP 00000507: JUMPDEST 00000508: PUSH2 0x05eb 0000050b: PUSH1 0x04 0000050d: CALLDATALOAD 0000050e: PUSH1 0x04 00000510: SLOAD 00000511: ADDRESS 00000512: PUSH1 0x01 00000514: PUSH1 0xa0 00000516: PUSH1 0x02 00000518: EXP 00000519: SUB 0000051a: SWAP1 0000051b: DUP2 0000051c: AND 0000051d: BALANCE 0000051e: PUSH6 0x09184e72a000 00000525: MUL 00000526: SWAP2 00000527: SWAP1 00000528: SWAP2 00000529: DIV 0000052a: PUSH1 0x08 0000052c: SSTORE 0000052d: CALLER 0000052e: AND 0000052f: PUSH1 0x00 00000531: SWAP1 00000532: DUP2 00000533: MSTORE 00000534: PUSH1 0x09 00000536: PUSH1 0x20 00000538: MSTORE 00000539: PUSH1 0x40 0000053b: DUP2 0000053c: KECCAK256 0000053d: SLOAD 0000053e: DUP3 0000053f: SWAP1 00000540: LT 00000541: ISZERO 00000542: PUSH2 0x090a 00000545: JUMPI 00000546: PUSH2 0x0002 00000549: JUMP 0000054a: JUMPDEST 0000054b: PUSH2 0x0106 0000054e: PUSH1 0x04 00000550: CALLDATALOAD 00000551: PUSH1 0x00 00000553: SLOAD 00000554: CALLER 00000555: PUSH1 0x01 00000557: PUSH1 0xa0 00000559: PUSH1 0x02 0000055b: EXP 0000055c: SUB 0000055d: SWAP1 0000055e: DUP2 0000055f: AND 00000560: SWAP2 00000561: AND 00000562: EQ 00000563: PUSH2 0x08e0 00000566: JUMPI 00000567: PUSH2 0x0002 0000056a: JUMP 0000056b: JUMPDEST 0000056c: PUSH2 0x062d 0000056f: PUSH1 0x05 00000571: SLOAD 00000572: PUSH1 0x01 00000574: PUSH1 0xa0 00000576: PUSH1 0x02 00000578: EXP 00000579: SUB 0000057a: AND 0000057b: DUP2 0000057c: JUMP 0000057d: JUMPDEST 0000057e: PUSH1 0x40 00000580: MLOAD 00000581: DUP1 00000582: DUP1 00000583: PUSH1 0x20 00000585: ADD 00000586: DUP3 00000587: DUP2 00000588: SUB 00000589: DUP3 0000058a: MSTORE 0000058b: DUP4 0000058c: DUP2 0000058d: DUP2 0000058e: MLOAD 0000058f: DUP2 00000590: MSTORE 00000591: PUSH1 0x20 00000593: ADD 00000594: SWAP2 00000595: POP 00000596: DUP1 00000597: MLOAD 00000598: SWAP1 00000599: PUSH1 0x20 0000059b: ADD 0000059c: SWAP1 0000059d: DUP1 0000059e: DUP4 0000059f: DUP4 000005a0: DUP3 000005a1: SWAP1 000005a2: PUSH1 0x00 000005a4: PUSH1 0x04 000005a6: PUSH1 0x20 000005a8: DUP5 000005a9: PUSH1 0x1f 000005ab: ADD 000005ac: DIV 000005ad: PUSH1 0x0f 000005af: MUL 000005b0: PUSH1 0x03 000005b2: ADD 000005b3: CALL 000005b4: POP 000005b5: SWAP1 000005b6: POP 000005b7: SWAP1 000005b8: DUP2 000005b9: ADD 000005ba: SWAP1 000005bb: PUSH1 0x1f 000005bd: AND 000005be: DUP1 000005bf: ISZERO 000005c0: PUSH2 0x05dd 000005c3: JUMPI 000005c4: DUP1 000005c5: DUP3 000005c6: SUB 000005c7: DUP1 000005c8: MLOAD 000005c9: PUSH1 0x01 000005cb: DUP4 000005cc: PUSH1 0x20 000005ce: SUB 000005cf: PUSH2 0x0100 000005d2: EXP 000005d3: SUB 000005d4: NOT 000005d5: AND 000005d6: DUP2 000005d7: MSTORE 000005d8: PUSH1 0x20 000005da: ADD 000005db: SWAP2 000005dc: POP 000005dd: JUMPDEST 000005de: POP 000005df: SWAP3 000005e0: POP 000005e1: POP 000005e2: POP 000005e3: PUSH1 0x40 000005e5: MLOAD 000005e6: DUP1 000005e7: SWAP2 000005e8: SUB 000005e9: SWAP1 000005ea: RETURN 000005eb: JUMPDEST 000005ec: PUSH1 0x40 000005ee: DUP1 000005ef: MLOAD 000005f0: SWAP2 000005f1: DUP3 000005f2: MSTORE 000005f3: MLOAD 000005f4: SWAP1 000005f5: DUP2 000005f6: SWAP1 000005f7: SUB 000005f8: PUSH1 0x20 000005fa: ADD 000005fb: SWAP1 000005fc: RETURN 000005fd: JUMPDEST 000005fe: PUSH1 0x40 00000600: DUP1 00000601: MLOAD 00000602: PUSH4 0xffffffff 00000607: SWAP3 00000608: SWAP1 00000609: SWAP3 0000060a: AND 0000060b: DUP3 0000060c: MSTORE 0000060d: MLOAD 0000060e: SWAP1 0000060f: DUP2 00000610: SWAP1 00000611: SUB 00000612: PUSH1 0x20 00000614: ADD 00000615: SWAP1 00000616: RETURN 00000617: JUMPDEST 00000618: PUSH1 0x40 0000061a: DUP1 0000061b: MLOAD 0000061c: PUSH1 0xff 0000061e: SWAP1 0000061f: SWAP3 00000620: AND 00000621: DUP3 00000622: MSTORE 00000623: MLOAD 00000624: SWAP1 00000625: DUP2 00000626: SWAP1 00000627: SUB 00000628: PUSH1 0x20 0000062a: ADD 0000062b: SWAP1 0000062c: RETURN 0000062d: JUMPDEST 0000062e: PUSH1 0x40 00000630: DUP1 00000631: MLOAD 00000632: PUSH1 0x01 00000634: PUSH1 0xa0 00000636: PUSH1 0x02 00000638: EXP 00000639: SUB 0000063a: SWAP3 0000063b: SWAP1 0000063c: SWAP3 0000063d: AND 0000063e: DUP3 0000063f: MSTORE 00000640: MLOAD 00000641: SWAP1 00000642: DUP2 00000643: SWAP1 00000644: SUB 00000645: PUSH1 0x20 00000647: ADD 00000648: SWAP1 00000649: RETURN 0000064a: JUMPDEST 0000064b: PUSH1 0x04 0000064d: SLOAD 0000064e: ADDRESS 0000064f: PUSH1 0x01 00000651: PUSH1 0xa0 00000653: PUSH1 0x02 00000655: EXP 00000656: SUB 00000657: AND 00000658: BALANCE 00000659: PUSH6 0x09184e72a000 00000660: MUL 00000661: DIV 00000662: PUSH1 0x08 00000664: SSTORE 00000665: PUSH1 0x40 00000667: DUP1 00000668: MLOAD 00000669: NUMBER 0000066a: DUP2 0000066b: MSTORE 0000066c: TIMESTAMP 0000066d: PUSH1 0x20 0000066f: DUP3 00000670: ADD 00000671: MSTORE 00000672: DUP1 00000673: DUP3 00000674: ADD 00000675: DUP7 00000676: SWAP1 00000677: MSTORE 00000678: SWAP1 00000679: MLOAD 0000067a: SWAP1 0000067b: DUP2 0000067c: SWAP1 0000067d: SUB 0000067e: PUSH1 0x60 00000680: ADD 00000681: SWAP1 00000682: KECCAK256 00000683: PUSH2 0x068d 00000686: SWAP1 00000687: PUSH1 0x0a 00000689: PUSH2 0x01e7 0000068c: JUMP 0000068d: JUMPDEST 0000068e: PUSH1 0x07 00000690: SLOAD 00000691: SWAP1 00000692: SWAP2 00000693: POP 00000694: PUSH4 0xffffffff 00000699: AND 0000069a: DUP2 0000069b: LT 0000069c: PUSH2 0x06b2 0000069f: JUMPI 000006a0: PUSH1 0x00 000006a2: SWAP3 000006a3: POP 000006a4: PUSH2 0x03e7 000006a7: PUSH5 0x174876e800 000006ad: DUP6 000006ae: DIV 000006af: DIV 000006b0: SWAP2 000006b1: POP 000006b2: JUMPDEST 000006b3: PUSH1 0x07 000006b5: SLOAD 000006b6: PUSH4 0xffffffff 000006bb: AND 000006bc: DUP2 000006bd: LT 000006be: ISZERO 000006bf: PUSH2 0x06d0 000006c2: JUMPI 000006c3: PUSH5 0x174876e800 000006c9: PUSH1 0x02 000006cb: DUP6 000006cc: MUL 000006cd: DIV 000006ce: SWAP3 000006cf: POP 000006d0: JUMPDEST 000006d1: CALLER 000006d2: PUSH1 0x01 000006d4: PUSH1 0xa0 000006d6: PUSH1 0x02 000006d8: EXP 000006d9: SUB 000006da: SWAP1 000006db: DUP2 000006dc: AND 000006dd: PUSH1 0x00 000006df: DUP2 000006e0: DUP2 000006e1: MSTORE 000006e2: PUSH1 0x09 000006e4: PUSH1 0x20 000006e6: SWAP1 000006e7: DUP2 000006e8: MSTORE 000006e9: PUSH1 0x40 000006eb: DUP1 000006ec: DUP4 000006ed: KECCAK256 000006ee: DUP1 000006ef: SLOAD 000006f0: DUP10 000006f1: ADD 000006f2: SWAP1 000006f3: SSTORE 000006f4: PUSH1 0x05 000006f6: SLOAD 000006f7: DUP6 000006f8: AND 000006f9: DUP4 000006fa: MSTORE 000006fb: DUP1 000006fc: DUP4 000006fd: KECCAK256 000006fe: DUP1 000006ff: SLOAD 00000700: DUP9 00000701: ADD 00000702: SWAP1 00000703: SSTORE 00000704: ADDRESS 00000705: SWAP1 00000706: SWAP5 00000707: AND 00000708: DUP1 00000709: DUP4 0000070a: MSTORE 0000070b: SWAP2 0000070c: DUP5 0000070d: SWAP1 0000070e: KECCAK256 0000070f: DUP1 00000710: SLOAD 00000711: DUP8 00000712: DUP10 00000713: ADD 00000714: SWAP1 00000715: SUB 00000716: SWAP1 00000717: SSTORE 00000718: DUP4 00000719: MLOAD 0000071a: DUP8 0000071b: DUP2 0000071c: MSTORE 0000071d: SWAP4 0000071e: MLOAD 0000071f: SWAP3 00000720: SWAP4 00000721: SWAP2 00000722: SWAP3 00000723: PUSH1 0x00 00000725: DUP1 00000726: MLOAD 00000727: PUSH1 0x20 00000729: PUSH2 0x0a09 0000072c: DUP4 0000072d: CODECOPY 0000072e: DUP2 0000072f: MLOAD 00000730: SWAP2 00000731: MSTORE 00000732: SWAP3 00000733: DUP2 00000734: SWAP1 00000735: SUB 00000736: SWAP1 00000737: SWAP2 00000738: ADD 00000739: SWAP1 0000073a: LOG3 0000073b: PUSH1 0x05 0000073d: SLOAD 0000073e: PUSH1 0x40 00000740: DUP1 00000741: MLOAD 00000742: DUP5 00000743: DUP2 00000744: MSTORE 00000745: SWAP1 00000746: MLOAD 00000747: PUSH1 0x01 00000749: PUSH1 0xa0 0000074b: PUSH1 0x02 0000074d: EXP 0000074e: SUB 0000074f: SWAP3 00000750: DUP4 00000751: AND 00000752: SWAP3 00000753: ADDRESS 00000754: AND 00000755: SWAP2 00000756: PUSH1 0x00 00000758: DUP1 00000759: MLOAD 0000075a: PUSH1 0x20 0000075c: PUSH2 0x0a09 0000075f: DUP4 00000760: CODECOPY 00000761: DUP2 00000762: MLOAD 00000763: SWAP2 00000764: MSTORE 00000765: SWAP2 00000766: SWAP1 00000767: DUP2 00000768: SWAP1 00000769: SUB 0000076a: PUSH1 0x20 0000076c: ADD 0000076d: SWAP1 0000076e: LOG3 0000076f: POP 00000770: POP 00000771: POP 00000772: SWAP1 00000773: JUMP 00000774: JUMPDEST 00000775: DUP3 00000776: ADD 00000777: SWAP2 00000778: SWAP1 00000779: PUSH1 0x00 0000077b: MSTORE 0000077c: PUSH1 0x20 0000077e: PUSH1 0x00 00000780: KECCAK256 00000781: SWAP1 00000782: JUMPDEST 00000783: DUP2 00000784: SLOAD 00000785: DUP2 00000786: MSTORE 00000787: SWAP1 00000788: PUSH1 0x01 0000078a: ADD 0000078b: SWAP1 0000078c: PUSH1 0x20 0000078e: ADD 0000078f: DUP1 00000790: DUP4 00000791: GT 00000792: PUSH2 0x0782 00000795: JUMPI 00000796: DUP3 00000797: SWAP1 00000798: SUB 00000799: PUSH1 0x1f 0000079b: AND 0000079c: DUP3 0000079d: ADD 0000079e: SWAP2 0000079f: JUMPDEST 000007a0: POP 000007a1: POP 000007a2: POP 000007a3: POP 000007a4: POP 000007a5: DUP2 000007a6: JUMP 000007a7: JUMPDEST 000007a8: PUSH1 0x01 000007aa: PUSH1 0xa0 000007ac: PUSH1 0x02 000007ae: EXP 000007af: SUB 000007b0: DUP4 000007b1: AND 000007b2: PUSH1 0x00 000007b4: SWAP1 000007b5: DUP2 000007b6: MSTORE 000007b7: PUSH1 0x09 000007b9: PUSH1 0x20 000007bb: MSTORE 000007bc: PUSH1 0x40 000007be: SWAP1 000007bf: KECCAK256 000007c0: SLOAD 000007c1: DUP1 000007c2: DUP4 000007c3: ADD 000007c4: LT 000007c5: ISZERO 000007c6: PUSH2 0x07ce 000007c9: JUMPI 000007ca: PUSH2 0x0002 000007cd: JUMP 000007ce: JUMPDEST 000007cf: PUSH1 0x01 000007d1: PUSH1 0xa0 000007d3: PUSH1 0x02 000007d5: EXP 000007d6: SUB 000007d7: DUP5 000007d8: DUP2 000007d9: AND 000007da: PUSH1 0x00 000007dc: DUP2 000007dd: DUP2 000007de: MSTORE 000007df: PUSH1 0x0a 000007e1: PUSH1 0x20 000007e3: SWAP1 000007e4: DUP2 000007e5: MSTORE 000007e6: PUSH1 0x40 000007e8: DUP1 000007e9: DUP4 000007ea: KECCAK256 000007eb: CALLER 000007ec: SWAP1 000007ed: SWAP6 000007ee: AND 000007ef: DUP1 000007f0: DUP5 000007f1: MSTORE 000007f2: SWAP5 000007f3: DUP3 000007f4: MSTORE 000007f5: DUP1 000007f6: DUP4 000007f7: KECCAK256 000007f8: SLOAD 000007f9: SWAP4 000007fa: DUP4 000007fb: MSTORE 000007fc: PUSH1 0x0b 000007fe: DUP3 000007ff: MSTORE 00000800: DUP1 00000801: DUP4 00000802: KECCAK256 00000803: SWAP5 00000804: DUP4 00000805: MSTORE 00000806: SWAP4 00000807: SWAP1 00000808: MSTORE 00000809: SWAP2 0000080a: SWAP1 0000080b: SWAP2 0000080c: KECCAK256 0000080d: SLOAD 0000080e: DUP4 0000080f: ADD 00000810: GT 00000811: ISZERO 00000812: PUSH2 0x081a 00000815: JUMPI 00000816: PUSH2 0x0002 00000819: JUMP 0000081a: JUMPDEST 0000081b: PUSH1 0x01 0000081d: PUSH1 0xa0 0000081f: PUSH1 0x02 00000821: EXP 00000822: SUB 00000823: DUP5 00000824: DUP2 00000825: AND 00000826: PUSH1 0x00 00000828: DUP2 00000829: DUP2 0000082a: MSTORE 0000082b: PUSH1 0x09 0000082d: PUSH1 0x20 0000082f: SWAP1 00000830: DUP2 00000831: MSTORE 00000832: PUSH1 0x40 00000834: DUP1 00000835: DUP4 00000836: KECCAK256 00000837: DUP1 00000838: SLOAD 00000839: DUP9 0000083a: SWAP1 0000083b: SUB 0000083c: SWAP1 0000083d: SSTORE 0000083e: DUP8 0000083f: DUP6 00000840: AND 00000841: DUP1 00000842: DUP5 00000843: MSTORE 00000844: DUP2 00000845: DUP5 00000846: KECCAK256 00000847: DUP1 00000848: SLOAD 00000849: DUP10 0000084a: ADD 0000084b: SWAP1 0000084c: SSTORE 0000084d: DUP5 0000084e: DUP5 0000084f: MSTORE 00000850: PUSH1 0x0b 00000852: DUP4 00000853: MSTORE 00000854: DUP2 00000855: DUP5 00000856: KECCAK256 00000857: CALLER 00000858: SWAP1 00000859: SWAP7 0000085a: AND 0000085b: DUP5 0000085c: MSTORE 0000085d: SWAP5 0000085e: DUP3 0000085f: MSTORE 00000860: SWAP2 00000861: DUP3 00000862: SWAP1 00000863: KECCAK256 00000864: DUP1 00000865: SLOAD 00000866: DUP8 00000867: ADD 00000868: SWAP1 00000869: SSTORE 0000086a: DUP2 0000086b: MLOAD 0000086c: DUP7 0000086d: DUP2 0000086e: MSTORE 0000086f: SWAP2 00000870: MLOAD 00000871: PUSH1 0x00 00000873: DUP1 00000874: MLOAD 00000875: PUSH1 0x20 00000877: PUSH2 0x0a09 0000087a: DUP4 0000087b: CODECOPY 0000087c: DUP2 0000087d: MLOAD 0000087e: SWAP2 0000087f: MSTORE 00000880: SWAP3 00000881: DUP2 00000882: SWAP1 00000883: SUB 00000884: SWAP1 00000885: SWAP2 00000886: ADD 00000887: SWAP1 00000888: LOG3 00000889: POP 0000088a: PUSH1 0x01 0000088c: SWAP4 0000088d: SWAP3 0000088e: POP 0000088f: POP 00000890: POP 00000891: JUMP 00000892: JUMPDEST 00000893: PUSH1 0x06 00000895: SSTORE 00000896: JUMP 00000897: JUMPDEST 00000898: PUSH1 0x05 0000089a: DUP1 0000089b: SLOAD 0000089c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008b1: NOT 000008b2: AND 000008b3: DUP3 000008b4: OR 000008b5: SWAP1 000008b6: SSTORE 000008b7: POP 000008b8: JUMP 000008b9: JUMPDEST 000008ba: PUSH2 0x0200 000008bd: DUP2 000008be: PUSH4 0xffffffff 000008c3: AND 000008c4: LT 000008c5: ISZERO 000008c6: PUSH2 0x08ce 000008c9: JUMPI 000008ca: PUSH2 0x0002 000008cd: JUMP 000008ce: JUMPDEST 000008cf: PUSH1 0x07 000008d1: DUP1 000008d2: SLOAD 000008d3: PUSH4 0xffffffff 000008d8: NOT 000008d9: AND 000008da: DUP3 000008db: OR 000008dc: SWAP1 000008dd: SSTORE 000008de: POP 000008df: JUMP 000008e0: JUMPDEST 000008e1: PUSH1 0x00 000008e3: DUP1 000008e4: SLOAD 000008e5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008fa: NOT 000008fb: AND 000008fc: DUP3 000008fd: OR 000008fe: SWAP1 000008ff: SSTORE 00000900: POP 00000901: JUMP 00000902: JUMPDEST 00000903: POP 00000904: SWAP4 00000905: SWAP3 00000906: POP 00000907: POP 00000908: POP 00000909: JUMP 0000090a: JUMPDEST 0000090b: POP 0000090c: ADDRESS 0000090d: PUSH1 0x01 0000090f: PUSH1 0xa0 00000911: PUSH1 0x02 00000913: EXP 00000914: SUB 00000915: SWAP1 00000916: DUP2 00000917: AND 00000918: PUSH1 0x00 0000091a: SWAP1 0000091b: DUP2 0000091c: MSTORE 0000091d: PUSH1 0x09 0000091f: PUSH1 0x20 00000921: MSTORE 00000922: PUSH1 0x40 00000924: DUP1 00000925: DUP3 00000926: KECCAK256 00000927: DUP1 00000928: SLOAD 00000929: DUP6 0000092a: ADD 0000092b: SWAP1 0000092c: SSTORE 0000092d: CALLER 0000092e: SWAP1 0000092f: SWAP3 00000930: AND 00000931: DUP1 00000932: DUP3 00000933: MSTORE 00000934: DUP3 00000935: DUP3 00000936: KECCAK256 00000937: DUP1 00000938: SLOAD 00000939: DUP6 0000093a: SWAP1 0000093b: SUB 0000093c: SWAP1 0000093d: SSTORE 0000093e: SWAP2 0000093f: MLOAD 00000940: PUSH1 0x08 00000942: SLOAD 00000943: DUP5 00000944: MUL 00000945: SWAP3 00000946: SWAP2 00000947: SWAP1 00000948: DUP4 00000949: SWAP1 0000094a: DUP3 0000094b: DUP2 0000094c: DUP2 0000094d: DUP2 0000094e: DUP6 0000094f: DUP9 00000950: DUP4 00000951: CALL 00000952: POP 00000953: POP 00000954: PUSH1 0x40 00000956: DUP1 00000957: MLOAD 00000958: DUP7 00000959: DUP2 0000095a: MSTORE 0000095b: SWAP1 0000095c: MLOAD 0000095d: ADDRESS 0000095e: PUSH1 0x01 00000960: PUSH1 0xa0 00000962: PUSH1 0x02 00000964: EXP 00000965: SUB 00000966: AND 00000967: SWAP5 00000968: SWAP4 00000969: POP 0000096a: PUSH1 0x00 0000096c: DUP1 0000096d: MLOAD 0000096e: PUSH1 0x20 00000970: PUSH2 0x0a09 00000973: DUP4 00000974: CODECOPY 00000975: DUP2 00000976: MLOAD 00000977: SWAP2 00000978: MSTORE 00000979: SWAP3 0000097a: POP 0000097b: SWAP1 0000097c: DUP2 0000097d: SWAP1 0000097e: SUB 0000097f: PUSH1 0x20 00000981: ADD 00000982: SWAP1 00000983: LOG3 00000984: SWAP2 00000985: SWAP1 00000986: POP 00000987: JUMP 00000988: JUMPDEST 00000989: PUSH1 0x01 0000098b: PUSH1 0xa0 0000098d: PUSH1 0x02 0000098f: EXP 00000990: SUB 00000991: DUP3 00000992: AND 00000993: PUSH1 0x00 00000995: SWAP1 00000996: DUP2 00000997: MSTORE 00000998: PUSH1 0x09 0000099a: PUSH1 0x20 0000099c: MSTORE 0000099d: PUSH1 0x40 0000099f: SWAP1 000009a0: KECCAK256 000009a1: SLOAD 000009a2: DUP2 000009a3: DUP2 000009a4: ADD 000009a5: LT 000009a6: ISZERO 000009a7: PUSH2 0x09af 000009aa: JUMPI 000009ab: PUSH2 0x0002 000009ae: JUMP 000009af: JUMPDEST 000009b0: CALLER 000009b1: PUSH1 0x01 000009b3: PUSH1 0xa0 000009b5: PUSH1 0x02 000009b7: EXP 000009b8: SUB 000009b9: SWAP1 000009ba: DUP2 000009bb: AND 000009bc: PUSH1 0x00 000009be: DUP2 000009bf: DUP2 000009c0: MSTORE 000009c1: PUSH1 0x09 000009c3: PUSH1 0x20 000009c5: SWAP1 000009c6: DUP2 000009c7: MSTORE 000009c8: PUSH1 0x40 000009ca: DUP1 000009cb: DUP4 000009cc: KECCAK256 000009cd: DUP1 000009ce: SLOAD 000009cf: DUP8 000009d0: SWAP1 000009d1: SUB 000009d2: SWAP1 000009d3: SSTORE 000009d4: SWAP4 000009d5: DUP7 000009d6: AND 000009d7: DUP1 000009d8: DUP4 000009d9: MSTORE 000009da: SWAP2 000009db: DUP5 000009dc: SWAP1 000009dd: KECCAK256 000009de: DUP1 000009df: SLOAD 000009e0: DUP7 000009e1: ADD 000009e2: SWAP1 000009e3: SSTORE 000009e4: DUP4 000009e5: MLOAD 000009e6: DUP6 000009e7: DUP2 000009e8: MSTORE 000009e9: SWAP4 000009ea: MLOAD 000009eb: SWAP2 000009ec: SWAP4 000009ed: PUSH1 0x00 000009ef: DUP1 000009f0: MLOAD 000009f1: PUSH1 0x20 000009f3: PUSH2 0x0a09 000009f6: DUP4 000009f7: CODECOPY 000009f8: DUP2 000009f9: MLOAD 000009fa: SWAP2 000009fb: MSTORE 000009fc: SWAP3 000009fd: SWAP1 000009fe: DUP2 000009ff: SWAP1 00000a00: SUB 00000a01: SWAP1 00000a02: SWAP2 00000a03: ADD 00000a04: SWAP1 00000a05: LOG3 00000a06: POP 00000a07: POP 00000a08: JUMP 00000a09: UNKNOWN(0xDD) 00000a0a: CALLCODE 00000a0b: MSTORE 00000a0c: UNKNOWN(0xAD) 00000a0d: SHL 00000a0e: UNKNOWN(0xE2) 00000a0f: UNKNOWN(0xC8) 00000a10: SWAP12 00000a11: PUSH10 0xc2b068fc378daa952ba7 00000a1c: CALL 00000a1d: PUSH4 0xc4a11628 00000a22: CREATE2 00000a23: GAS 00000a24: UNKNOWN(0x4D) 00000a25: CREATE2 00000a26: UNKNOWN(0x23) 00000a27: UNKNOWN(0xB3) 00000a28: UNKNOWN(0xEF)
Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment.
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | yes | yes |
viewtrace_id: 0x209e21b08cc4f932914f7c51c57ed0527a89584db1b635508786e3ae90ab836c
call_targets:
0x0000000000000000000000000000000000000004, 0x2d7eb3b1e243595386c8e15abdb91ecfa1785452
target_varies:
yes
classification:
target_varies
validation_json{
"sink": "CALL",
"errors": 0,
"status": "confirmed",
"attempts": 1,
"trace_id": "0x209e21b08cc4f932914f7c51c57ed0527a89584db1b635508786e3ae90ab836c",
"confirmed": true,
"trace_mode": "callTracer",
"call_targets": [
"0x0000000000000000000000000000000000000004",
"0x2d7eb3b1e243595386c8e15abdb91ecfa1785452"
],
"matched_probe": null,
"target_varies": true,
"classification": "target_varies"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18160ddd",
"selector": "0x18160ddd",
"calldata_variants": [
"0x18160ddd",
"0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1fe9eabc",
"selector": "0x1fe9eabc",
"calldata_variants": [
"0x1fe9eabc",
"0x1fe9eabc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x233de126",
"selector": "0x233de126",
"calldata_variants": [
"0x233de126",
"0x233de1260000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x23b872dd",
"selector": "0x23b872dd",
"calldata_variants": [
"0x23b872dd",
"0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x313ce567",
"selector": "0x313ce567",
"calldata_variants": [
"0x313ce567",
"0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x41fa4876",
"selector": "0x41fa4876",
"calldata_variants": [
"0x41fa4876",
"0x41fa48760000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x70a08231",
"selector": "0x70a08231",
"calldata_variants": [
"0x70a08231",
"0x70a082310000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1126,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1194,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1459,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 6,
"guards_detected": [],
"untrusted_call_count": 6
}
|
| high | other | detector | ETH value transfer possible | 55 | yes | yes |
viewtrace_id: 0x209e21b08cc4f932914f7c51c57ed0527a89584db1b635508786e3ae90ab836c
call_targets:
0x0000000000000000000000000000000000000004, 0x2d7eb3b1e243595386c8e15abdb91ecfa1785452
target_varies:
yes
classification:
target_varies
validation_json{
"sink": "CALL",
"errors": 0,
"status": "confirmed",
"attempts": 1,
"trace_id": "0x209e21b08cc4f932914f7c51c57ed0527a89584db1b635508786e3ae90ab836c",
"confirmed": true,
"trace_mode": "callTracer",
"call_targets": [
"0x0000000000000000000000000000000000000004",
"0x2d7eb3b1e243595386c8e15abdb91ecfa1785452"
],
"matched_probe": null,
"target_varies": true,
"classification": "target_varies"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18160ddd",
"selector": "0x18160ddd",
"calldata_variants": [
"0x18160ddd",
"0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1fe9eabc",
"selector": "0x1fe9eabc",
"calldata_variants": [
"0x1fe9eabc",
"0x1fe9eabc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x233de126",
"selector": "0x233de126",
"calldata_variants": [
"0x233de126",
"0x233de1260000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x23b872dd",
"selector": "0x23b872dd",
"calldata_variants": [
"0x23b872dd",
"0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x313ce567",
"selector": "0x313ce567",
"calldata_variants": [
"0x313ce567",
"0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x41fa4876",
"selector": "0x41fa4876",
"calldata_variants": [
"0x41fa4876",
"0x41fa48760000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x70a08231",
"selector": "0x70a08231",
"calldata_variants": [
"0x70a08231",
"0x70a082310000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1126,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1194,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1459,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 6,
"guards_detected": []
}
|
| high | access_control | codex | Public selector reaches variable low-level CALLs with possible ETH transfer | 85 | no | — |
viewevidence_json{
"evidence": "Dispatcher sends `selector:0xcae9ca51` to pc:0x356. That path reaches pc:0x466 (`CALL`) and pc:0x4aa (`CALL`). Unlike owner-gated paths such as selectors 0x1fe9eabc, 0x7f2a8a80, 0xc4839e8b, and 0xf2fde38b, no `CALLER`/owner comparison is visible before these calls. Detector validation confirmed `target_varies=true` and observed call targets including `0x0000000000000000000000000000000000000004` and the contract itself, with ETH value transfer marked reachable.",
"locations": [
"selector:0xcae9ca51",
"pc:0x466",
"pc:0x4aa"
],
"recommendation": "Restrict this path with explicit authorization unless it is intentionally public. If it is meant to be public, hard-code or tightly validate the call target, forbid arbitrary calldata passthrough, and prevent unbounded ETH/value forwarding.",
"exploit_scenario": "Selector 0xcae9ca51 dispatches directly into logic that reaches CALL at pc:0x466 and CALL at pc:0x4aa without an observed owner check, while nearby admin setters do use a `CALLER == SLOAD(0)` style gate. The detector bundle also validated variable CALL targets and nonzero value as reachable. If the target/value are derived from calldata or attacker-influenced storage on this path, any caller can trigger arbitrary external interactions or outbound ETH transfers from the contract."
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0x6e7c9bd82c1a62d07f4ec39012ee202017ede6903befb1180f7a84e9af69fa8d
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0x6e7c9bd82c1a62d07f4ec39012ee202017ede6903befb1180f7a84e9af69fa8d",
"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": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18160ddd",
"selector": "0x18160ddd",
"calldata_variants": [
"0x18160ddd",
"0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1fe9eabc",
"selector": "0x1fe9eabc",
"calldata_variants": [
"0x1fe9eabc",
"0x1fe9eabc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x233de126",
"selector": "0x233de126",
"calldata_variants": [
"0x233de126",
"0x233de1260000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x23b872dd",
"selector": "0x23b872dd",
"calldata_variants": [
"0x23b872dd",
"0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x313ce567",
"selector": "0x313ce567",
"calldata_variants": [
"0x313ce567",
"0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x41fa4876",
"selector": "0x41fa4876",
"calldata_variants": [
"0x41fa4876",
"0x41fa48760000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x70a08231",
"selector": "0x70a08231",
"calldata_variants": [
"0x70a08231",
"0x70a082310000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 0,
"create2_count": 2
}
|
| medium | other | codex | External CALL result is discarded after prior state write on public path | 75 | no | — |
viewevidence_json{
"evidence": "The path performs `SSTORE` at pc:0x3e9, then executes `CALL` at pc:0x466, followed immediately by `POP` with no visible `ISZERO`/revert handling for that call. The later call at pc:0x4aa does have an explicit success check, which makes the missing check at pc:0x466 stand out as intentional or overlooked rather than compiler artifact.",
"locations": [
"selector:0xcae9ca51",
"pc:0x3e9",
"pc:0x466"
],
"recommendation": "Revert on failed low-level calls unless the failure is explicitly non-fatal and fully accounted for. Where partial failure is acceptable, emit a dedicated event and avoid committing state that assumes the external side effect succeeded.",
"exploit_scenario": "On the same public selector 0xcae9ca51 path, storage is written before the low-level CALL at pc:0x466, but the CALL result is immediately popped and execution continues. A malicious or incompatible callee can fail that external action while the contract keeps its internal state change, potentially desynchronizing accounting/claim state from the intended external side effect."
}
|