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

Analysis Run

019b3836-3d4a-716f-9c1a-88a7ebc5859e

complete
Chain ID
1
Address
Block Number
Created
Fri, Dec 19, 2025 8:03 PM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
4701 artifact.fetch complete 1 / 3 3 months ago
4702 tool.cast_disasm complete 1 / 3 3 months ago
47984 analysis.bundle complete 1 / 3 1 week ago
47985 capability.graph complete 1 / 3 1 week ago
47986 detector.run complete 1 / 3 1 week ago
47987 validation.fork complete 1 / 3 1 week ago
113284 report.consolidate complete 1 / 6 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
2
No findings?
no
Summary
Read BYTECODE_BUNDLE.json. Bytecode-only analysis suggests this is a payable deposit queue / payout scheme with owner-controlled parameters, a payout loop in the fallback/deposit path, and several unchecked low-level ETH CALLs. The strongest issues are a reentrancy window around queued payouts and accounting that advances even if a payout transfer fails. Selector inference is uncertain; the vulnerable path is the payable fallback/deposit logic rather than a named ABI function.
View stdout
{"no_findings":false,"summary":"Read BYTECODE_BUNDLE.json. Bytecode-only analysis suggests this is a payable deposit queue / payout scheme with owner-controlled parameters, a payout loop in the fallback/deposit path, and several unchecked low-level ETH CALLs. The strongest issues are a reentrancy window around queued payouts and accounting that advances even if a payout transfer fails. Selector inference is uncertain; the vulnerable path is the payable fallback/deposit logic rather than a named ABI function.","findings":[{"severity":"high","category":"reentrancy","title":"Queued payout is sent before the entry is marked paid","exploit_scenario":"An attacker deposits enough to become the next payable recipient. When the contract pays that entry, the attacker's fallback receives more than 1 ETH, then immediately reenters the payable fallback/deposit path with 1 ETH before the original payout is marked complete. Because the queue item and global counters are only updated after the external CALL returns, the same entry can be selected and paid again recursively until available balance is drained.","recommendation":"Apply checks-effects-interactions on the payout path: mark the entry paid and update queue/accounting before any external transfer, or move to a pull-payment claim model. Add a reentrancy guard around the deposit/payout flow.","evidence":"In the deposit/fallback path, the contract computes and executes a value-bearing CALL to the queued recipient at pc:0x8e3. The first observed bookkeeping write for that payout happens only afterward in the SSTORE sequence beginning at pc:0x8f7/pc:0x903, followed by user/global accounting writes at pc:0x951, pc:0x963, and pc:0x9f2. No guard is visible in the artifact. The contract also constrains/advertises its payout multiplier to 110%-150% (bound check at pc:0x32f-0x33f and embedded strings), so a recipient callback has enough ETH to reenter the payable path at pc:0x651.","locations":["pc:0x651","pc:0x8e3","pc:0x903","pc:0x951","pc:0x963","pc:0x9f2"]},{"severity":"medium","category":"other","title":"Payout accounting advances even if the ETH transfer fails","exploit_scenario":"A queued recipient can be a contract that reverts on receiving ETH or otherwise causes the CALL to fail. The contract does not check the CALL result, but still marks the queue item as paid and updates totals as if the transfer succeeded. The recipient loses its payout while the ETH stays in the contract balance and later accounting no longer reflects the obligation correctly.","recommendation":"Check the success flag of value-transferring CALLs and revert or leave the claim outstanding on failure. Prefer a pull-based withdraw pattern so failed transfers do not corrupt payout/accounting state.","evidence":"The payout CALL at pc:0x8e3 is immediately discarded without a success check at pc:0x8e4-pc:0x8e9. Despite that, the code proceeds with state changes that appear to finalize the payout: the queue-entry status byte is updated in the write sequence ending at pc:0x903, user/global totals are mutated around pc:0x93e-pc:0x963, and queue counters are updated at pc:0x9e7-pc:0x9f2. Other ETH CALLs at pc:0x9d, pc:0x690, and pc:0xa6b are also unchecked, but the payout path is the materially dangerous one.","locations":["pc:0x8e3","pc:0x903","pc:0x93e","pc:0x963","pc:0x9e7","pc:0x9f2"]}]}
View stderr
OpenAI Codex v0.118.0 (research preview)
--------
workdir: /tmp/codex-hyjd74og
model: gpt-5.4
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: none
session id: 019d5c16-faf5-7453-89e4-65252b0c858c
--------
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 "ls -la /tmp/codex-hyjd74og && printf '\\n---\\n' && rg --files /tmp/codex-hyjd74og && printf '\\n---\\n' && wc -c /tmp/codex-hyjd74og/BYTECODE_BUNDLE.json" in /tmp/codex-hyjd74og
 succeeded in 0ms:
total 192
drwx------   2 noahkuhn noahkuhn   4096 Apr  5 05:21 .
drwxrwxrwt 270 nobody   nogroup   24576 Apr  5 05:21 ..
-rw-rw-r--   1 noahkuhn noahkuhn 156996 Apr  5 05:21 BYTECODE_BUNDLE.json
-rw-rw-r--   1 noahkuhn noahkuhn    815 Apr  5 05:21 codex-output-schema.json

---
/tmp/codex-hyjd74og/codex-output-schema.json
/tmp/codex-hyjd74og/BYTECODE_BUNDLE.json

---
156996 /tmp/codex-hyjd74og/BYTECODE_BUNDLE.json

exec
/bin/bash -lc "jq '.' /tmp/codex-hyjd74og/codex-output-schema.json" in /tmp/codex-hyjd74og
 succeeded in 0ms:
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "no_findings",
    "summary",
    "findings"
  ],
  "properties": {
    "no_findings": {
      "type": "boolean"
    },
    "summary": {
      "type": "string"
    },
    "findings": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "severity",
          "category",
          "title",
          "evidence",
          "locations",
          "exploit_scenario",
          "recommendation"
        ],
        "properties": {
          "severity": {
            "type": "string",
            "enum": [
              "info",
              "low",
              "medium",
              "high",
              "critical"
            ]
          },
          "category": {
            "type": "string",
            "enum": [
              "access_control",
              "reentrancy",
              "math",
              "oracle",
              "upgradeability",
              "auth",
              "other"
            ]
          },
          "title": {
            "type": "string"
          },
          "exploit_scenario": {
            "type": "string"
          },
          "recommendation": {
            "type": "string"
          },
          "evidence": {
            "type": "string"
          },
          "locations": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      }
    }
  }
}

exec
/bin/bash -lc "jq 'keys' /tmp/codex-hyjd74og/BYTECODE_BUNDLE.json" in /tmp/codex-hyjd74og
 succeeded in 0ms:
[
  "analysis_artifact",
  "analysis_run",
  "artifact",
  "capability_graph",
  "detector_findings",
  "heuristics_summary"
]

exec
/bin/bash -lc "jq '{analysis_run, heuristics_summary, detector_findings_count:(.detector_findings|length), artifact_keys:(.artifact|keys), analysis_artifact_keys:(.analysis_artifact|keys), capability_graph_keys:(.capability_graph|keys)}' /tmp/codex-hyjd74og/BYTECODE_BUNDLE.json" in /tmp/codex-hyjd74og
 succeeded in 0ms:
{
  "analysis_run": {
    "address": "0xf767fca8e65d03fe16d4e38810f5e5376c3372a8",
    "block_number": null,
    "chain_id": 1,
    "child_links": [],
    "created_at": "2025-12-19T20:03:57.000000Z",
    "id": "019b3836-3d4a-716f-9c1a-88a7ebc5859e",
    "parent_links": [],
    "status": "running",
    "updated_at": "2026-04-04T19:57:39.000000Z"
  },
  "heuristics_summary": {
    "create2_count": 0,
    "delegatecall_count": 0,
    "flags": [],
    "selfdestruct_count": 0
  },
  "detector_findings_count": 2,
  "artifact_keys": [
    "codehash",
    "compiler_json",
    "implementation_address",
    "is_proxy",
    "runtime_bytecode",
    "verified_source"
  ],
  "analysis_artifact_keys": [
    "address",
    "artifact_hash",
    "artifact_json",
    "block_number",
    "chain_id",
    "codehash",
    "created_at",
    "id",
    "updated_at",
    "version"
  ],
  "capability_graph_keys": [
    "address",
    "block_number",
    "chain_id",
    "codehash",
    "created_at",
    "graph_hash",
    "graph_json",
    "id",
    "updated_at",
    "version"
  ]
}

exec
/bin/bash -lc "jq '.detector_findings' /tmp/codex-hyjd74og/BYTECODE_BUNDLE.json" in /tmp/codex-hyjd74og
 succeeded in 0ms:
[
  {
    "confidence": 60,
    "evidence_json": {
      "call_count": 7,
      "examples": [
        {
          "opcode": "CALL",
          "pc": 157,
          "returndata_checked": null,
          "target_expression_category": "computed",
          "value_expression_category": "computed"
        },
        {
          "opcode": "CALL",
          "pc": 376,
          "returndata_checked": null,
          "target_expression_category": "computed",
          "value_expression_category": "computed"
        },
        {
          "opcode": "CALL",
          "pc": 1419,
          "returndata_checked": null,
          "target_expression_category": "computed",
          "value_expression_category": "computed"
        }
      ],
      "guards_detected": [],
      "untrusted_call_count": 7
    },
    "normalized_json": {
      "sink": "CALL"
    },
    "severity": "high",
    "title": "Untrusted CALL target/value reachable",
    "validated": true,
    "validation_json": {
      "attempts": 1,
      "call_targets": [
        "0x0000000000000000000000000000000000000004",
        "0xf767fca8e65d03fe16d4e38810f5e5376c3372a8"
      ],
      "classification": "target_varies",
      "confirmed": true,
      "errors": 0,
      "matched_probe": null,
      "sink": "CALL",
      "status": "confirmed",
      "target_varies": true,
      "trace_id": "0x24044db785316ef7c84209a92c2df7f755142df0b5d6adc64c8c6cf7cf069765",
      "trace_mode": "callTracer"
    }
  },
  {
    "confidence": 55,
    "evidence_json": {
      "eth_value_calls": 7,
      "examples": [
        {
          "opcode": "CALL",
          "pc": 157,
          "returndata_checked": null,
          "target_expression_category": "computed",
          "value_expression_category": "computed"
        },
        {
          "opcode": "CALL",
          "pc": 376,
          "returndata_checked": null,
          "target_expression_category": "computed",
          "value_expression_category": "computed"
        },
        {
          "opcode": "CALL",
          "pc": 1419,
          "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",
        "0xf767fca8e65d03fe16d4e38810f5e5376c3372a8"
      ],
      "classification": "target_varies",
      "confirmed": true,
      "errors": 0,
      "matched_probe": null,
      "sink": "CALL",
      "status": "confirmed",
      "target_varies": true,
      "trace_id": "0x24044db785316ef7c84209a92c2df7f755142df0b5d6adc64c8c6cf7cf069765",
      "trace_mode": "callTracer"
    }
  }
]

exec
/bin/bash -lc "jq '.capability_graph.graph_json | keys' /tmp/codex-hyjd74og/BYTECODE_BUNDLE.json" in /tmp/codex-hyjd74og
 succeeded in 0ms:
[
  "edges",
  "nodes",
  "version"
]

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json | keys' /tmp/codex-hyjd74og/BYTECODE_BUNDLE.json" in /tmp/codex-hyjd74og
 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 '.artifact' /tmp/codex-hyjd74og/BYTECODE_BUNDLE.json" in /tmp/codex-hyjd74og
 succeeded in 0ms:
{
  "codehash": "0x1660d853924c1a5aa6e0d494a7fe6d83fe22a4353db29e1d270e44122de066ce",
  "compiler_json": {
    "etherscan": {
      "skipped": true
    }
  },
  "implementation_address": null,
  "is_proxy": false,
  "runtime_bytecode": {
    "full": "0x6060604052361561006c5760e060020a600035046330677b8381146100a55780636a1db1bf146101b15780637fef036e146101e15780638a65d8741461022d578063a6f9dae1146102da578063ced926701461030f578063da3c300d14610347578063f67abd87146103e2575b6105476100a3670de0b6b3a764000034101561065157604051600160a060020a03331690600090349082818181858883f150505050505b565b604080516020808201835260009091528151600354608082018452604382527f5468652063757272656e74206d756c7469706c696572206170706c6965642074928201929092527f6f20616c6c206465706f736974732e204d696e20313130252c206d6178203135928101929092527f30252e00000000000000000000000000000000000000000000000000000000006060830152905b60405180838152602001806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f1680156101a25780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b610547600435600054600160a060020a039081163391909116141561030c57600254600590111561074c57610002565b604080516020808201835260009091528151600554818401909352601781527f546865206e756d626572206f66206465706f736974732e0000000000000000009181019190915261013c565b61054960043560408051602080820183526000808352600160a060020a0385811682526004909252928320548392911682146102d35750506040908190206002810154600191909101548251606081018452602e81527f55736572732073746174733a20746f74616c206465706f736974732c2070617960208201527f6f7574732072656365697665642e00000000000000000000000000000000000093810193909352915b9193909250565b610547600435600054600160a060020a039081163391909116141561030c5760008054600160a060020a031916821790555b50565b610547600435600054600160a060020a039081163391909116141561030c57606e81108061033d5750609681115b1561074757610002565b604080516020808201835260009091528151600254608082018452605482527f546865206665652070657263656e74616765206170706c69656420746f20616c928201929092527f6c206465706f736974732e2049742063616e206368616e676520746f20737065928101929092527f6564207061796f75747320286d6178203525292e00000000000000000000000060608301529061013c565b6105c560043560408051602081019091526000808252600554909182918291908510156105405760058054869081101561000257508054818452600487027f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00154600160a060020a0316955066038d7ea4c6800091908790811015610002579060005260206000209060040201600050600201546005805492909104945090869081101561000257505060408051600487027f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db30154608082018352604482527f456e74727920696e666f3a207573657220616464726573732c2065787065637460208301527f6564207061796f757420696e2046696e6e6579732c207061796f757420737461928201929092527f7475732e00000000000000000000000000000000000000000000000000000000606082015260ff91909116925090505b9193509193565b005b60405180848152602001838152602001806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f1680156105b55780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b6040518085600160a060020a03168152602001848152602001838152602001806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f1680156106405780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b6100a3670de0b6b3a76400006000808080348590111561069657604051600160a060020a033316908290670de0b6b3a763ffff1934019082818181858883f150505050505b600160a060020a0333811660009081526004602052604081205490911614156106dc57604060009081208054600160a060020a0319163317815560018101829055600201555b600580546001810180835582818380158290116107515760040281600402836000526020600020918201910161075191905b8082111561081e578054600160a060020a031916815560006001820181815560028301919091556003909101805460ff1916905561070e565b600355565b600255565b50505091909060005260206000209060040201600050604080516080810182523380825260208083018b9052600380546064908d020484860181905260006060959095018590528654600160a060020a0319168417875560018781018e905560028801919091559501805460ff19169055600160a060020a039091168252600490522081018054820190556006805491820180825590925082818380158290116108225781836000526020600020918201910161082291905b8082111561081e576000815560010161080a565b5090565b50505060009283525060055460209092206000199290920191015560018054600254606490810388020401815560065411610a185760005b60068054919550600591869081101561000257506000527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f850154815481101561000257906000526020600020906004020160005060015460028201549194501115610a3357604051835460028501549350600160a060020a031690600090849082818181858883f193505050505060018360030160006101000a81548160ff02191690830217905550600460005060008460000160009054906101000a9004600160a060020a0316600160a060020a031681526020019081526020016000206000506002016000818150548092919060010191905055508160016000828282505403925050819055506001600660005080549050038410156109e657600680546000198101908110156100025750805460008290527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3e810154919086908110156100025750507ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f8501555b600680546000198101808355909190828015829011610a2e57818360005260206000209182019101610a2e919061080a565b600654602319819004436000190140040661085a565b505050505b5060015430600160a060020a031631036000811115610a715760008054604051600160a060020a03919091169190839082818181858883f150505050505b505050505056",
    "head": null,
    "length": 5362,
    "tail": null,
    "truncated": false
  },
  "verified_source": false
}

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json | {dispatcher_type, selectors, function_entries, functions, auth, sinks, callsites, storage}' /tmp/codex-hyjd74og/BYTECODE_BUNDLE.json" in /tmp/codex-hyjd74og
 succeeded in 0ms:
{
  "dispatcher_type": "selector_jump_table",
  "selectors": [
    "0x30677b83",
    "0x6a1db1bf",
    "0x7fef036e",
    "0x8a65d874",
    "0xa6f9dae1",
    "0xced92670",
    "0xda3c300d",
    "0xf67abd87"
  ],
  "function_entries": [
    {
      "entry_pc": null,
      "selector": "0x30677b83"
    },
    {
      "entry_pc": 2146370414,
      "selector": "0x6a1db1bf"
    },
    {
      "entry_pc": 2321930356,
      "selector": "0x7fef036e"
    },
    {
      "entry_pc": 2801392353,
      "selector": "0x8a65d874"
    },
    {
      "entry_pc": 3470337648,
      "selector": "0xa6f9dae1"
    },
    {
      "entry_pc": 3661377549,
      "selector": "0xced92670"
    },
    {
      "entry_pc": 4135239047,
      "selector": "0xda3c300d"
    },
    {
      "entry_pc": 1351,
      "selector": "0xf67abd87"
    }
  ],
  "functions": [
    {
      "auth": {
        "guards": []
      },
      "entry_pc": null,
      "selector": "0x30677b83",
      "sinks": {
        "call": 7,
        "delegatecall": 0,
        "selfdestruct": 0,
        "staticcall": 0
      },
      "storage": {
        "reads": 51,
        "slots": [
          {
            "op": "SLOAD",
            "pc": 186,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
          },
          {
            "op": "SLOAD",
            "pc": 442,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 467,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
          },
          {
            "op": "SLOAD",
            "pc": 502,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 739,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 765,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 792,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 860,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
          },
          {
            "op": "SLOAD",
            "pc": 1019,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1037,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1146,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1760,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1921,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
          },
          {
            "op": "SLOAD",
            "pc": 2016,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2094,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 2113,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2116,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
          },
          {
            "op": "SLOAD",
            "pc": 2130,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2142,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2226,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2245,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000040"
          },
          {
            "op": "SLOAD",
            "pc": 2323,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 2396,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2413,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2427,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2538,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2587,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2615,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2640,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          }
        ],
        "writes": 25
      }
    },
    {
      "auth": {
        "guards": []
      },
      "entry_pc": 2146370414,
      "selector": "0x6a1db1bf",
      "sinks": {
        "call": 7,
        "delegatecall": 0,
        "selfdestruct": 0,
        "staticcall": 0
      },
      "storage": {
        "reads": 51,
        "slots": [
          {
            "op": "SLOAD",
            "pc": 186,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
          },
          {
            "op": "SLOAD",
            "pc": 442,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 467,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
          },
          {
            "op": "SLOAD",
            "pc": 502,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 739,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 765,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 792,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 860,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
          },
          {
            "op": "SLOAD",
            "pc": 1019,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1037,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1146,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1760,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1921,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
          },
          {
            "op": "SLOAD",
            "pc": 2016,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2094,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 2113,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2116,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
          },
          {
            "op": "SLOAD",
            "pc": 2130,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2142,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2226,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2245,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000040"
          },
          {
            "op": "SLOAD",
            "pc": 2323,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 2396,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2413,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2427,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2538,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2587,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2615,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2640,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          }
        ],
        "writes": 25
      }
    },
    {
      "auth": {
        "guards": []
      },
      "entry_pc": 2321930356,
      "selector": "0x7fef036e",
      "sinks": {
        "call": 7,
        "delegatecall": 0,
        "selfdestruct": 0,
        "staticcall": 0
      },
      "storage": {
        "reads": 51,
        "slots": [
          {
            "op": "SLOAD",
            "pc": 186,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
          },
          {
            "op": "SLOAD",
            "pc": 442,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 467,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
          },
          {
            "op": "SLOAD",
            "pc": 502,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 739,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 765,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 792,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 860,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
          },
          {
            "op": "SLOAD",
            "pc": 1019,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1037,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1146,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1760,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1921,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
          },
          {
            "op": "SLOAD",
            "pc": 2016,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2094,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 2113,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2116,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
          },
          {
            "op": "SLOAD",
            "pc": 2130,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2142,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2226,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2245,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000040"
          },
          {
            "op": "SLOAD",
            "pc": 2323,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 2396,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2413,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2427,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2538,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2587,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2615,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2640,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          }
        ],
        "writes": 25
      }
    },
    {
      "auth": {
        "guards": []
      },
      "entry_pc": 2801392353,
      "selector": "0x8a65d874",
      "sinks": {
        "call": 7,
        "delegatecall": 0,
        "selfdestruct": 0,
        "staticcall": 0
      },
      "storage": {
        "reads": 51,
        "slots": [
          {
            "op": "SLOAD",
            "pc": 186,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
          },
          {
            "op": "SLOAD",
            "pc": 442,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 467,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
          },
          {
            "op": "SLOAD",
            "pc": 502,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 739,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 765,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 792,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 860,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
          },
          {
            "op": "SLOAD",
            "pc": 1019,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1037,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1146,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1760,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1921,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
          },
          {
            "op": "SLOAD",
            "pc": 2016,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2094,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 2113,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2116,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
          },
          {
            "op": "SLOAD",
            "pc": 2130,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2142,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2226,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2245,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000040"
          },
          {
            "op": "SLOAD",
            "pc": 2323,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 2396,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2413,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2427,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2538,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2587,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2615,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2640,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          }
        ],
        "writes": 25
      }
    },
    {
      "auth": {
        "guards": []
      },
      "entry_pc": 3470337648,
      "selector": "0xa6f9dae1",
      "sinks": {
        "call": 7,
        "delegatecall": 0,
        "selfdestruct": 0,
        "staticcall": 0
      },
      "storage": {
        "reads": 51,
        "slots": [
          {
            "op": "SLOAD",
            "pc": 186,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
          },
          {
            "op": "SLOAD",
            "pc": 442,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 467,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
          },
          {
            "op": "SLOAD",
            "pc": 502,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 739,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 765,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 792,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 860,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
          },
          {
            "op": "SLOAD",
            "pc": 1019,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1037,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1146,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1760,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1921,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
          },
          {
            "op": "SLOAD",
            "pc": 2016,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2094,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 2113,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2116,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
          },
          {
            "op": "SLOAD",
            "pc": 2130,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2142,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2226,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2245,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000040"
          },
          {
            "op": "SLOAD",
            "pc": 2323,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 2396,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2413,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2427,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2538,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2587,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2615,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2640,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          }
        ],
        "writes": 25
      }
    },
    {
      "auth": {
        "guards": []
      },
      "entry_pc": 3661377549,
      "selector": "0xced92670",
      "sinks": {
        "call": 7,
        "delegatecall": 0,
        "selfdestruct": 0,
        "staticcall": 0
      },
      "storage": {
        "reads": 51,
        "slots": [
          {
            "op": "SLOAD",
            "pc": 186,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
          },
          {
            "op": "SLOAD",
            "pc": 442,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 467,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
          },
          {
            "op": "SLOAD",
            "pc": 502,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 739,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 765,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 792,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 860,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
          },
          {
            "op": "SLOAD",
            "pc": 1019,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1037,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1146,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1760,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1921,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
          },
          {
            "op": "SLOAD",
            "pc": 2016,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2094,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 2113,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2116,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
          },
          {
            "op": "SLOAD",
            "pc": 2130,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2142,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2226,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2245,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000040"
          },
          {
            "op": "SLOAD",
            "pc": 2323,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 2396,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2413,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2427,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2538,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2587,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2615,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2640,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          }
        ],
        "writes": 25
      }
    },
    {
      "auth": {
        "guards": []
      },
      "entry_pc": 4135239047,
      "selector": "0xda3c300d",
      "sinks": {
        "call": 7,
        "delegatecall": 0,
        "selfdestruct": 0,
        "staticcall": 0
      },
      "storage": {
        "reads": 51,
        "slots": [
          {
            "op": "SLOAD",
            "pc": 186,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
          },
          {
            "op": "SLOAD",
            "pc": 442,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 467,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
          },
          {
            "op": "SLOAD",
            "pc": 502,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 739,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 765,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 792,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 860,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
          },
          {
            "op": "SLOAD",
            "pc": 1019,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1037,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1146,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1760,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1921,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
          },
          {
            "op": "SLOAD",
            "pc": 2016,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2094,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 2113,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2116,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
          },
          {
            "op": "SLOAD",
            "pc": 2130,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2142,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2226,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2245,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000040"
          },
          {
            "op": "SLOAD",
            "pc": 2323,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 2396,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2413,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2427,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2538,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2587,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2615,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2640,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          }
        ],
        "writes": 25
      }
    },
    {
      "auth": {
        "guards": []
      },
      "entry_pc": 1351,
      "selector": "0xf67abd87",
      "sinks": {
        "call": 7,
        "delegatecall": 0,
        "selfdestruct": 0,
        "staticcall": 0
      },
      "storage": {
        "reads": 51,
        "slots": [
          {
            "op": "SLOAD",
            "pc": 186,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
          },
          {
            "op": "SLOAD",
            "pc": 442,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 467,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
          },
          {
            "op": "SLOAD",
            "pc": 502,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 739,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 765,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 792,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 860,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
          },
          {
            "op": "SLOAD",
            "pc": 1019,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1037,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1146,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1760,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 1921,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
          },
          {
            "op": "SLOAD",
            "pc": 2016,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2094,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 2113,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2116,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
          },
          {
            "op": "SLOAD",
            "pc": 2130,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2142,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2226,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2245,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000040"
          },
          {
            "op": "SLOAD",
            "pc": 2323,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 2396,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2413,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2427,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2538,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2587,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
          },
          {
            "op": "SLOAD",
            "pc": 2615,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
          },
          {
            "op": "SLOAD",
            "pc": 2640,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          }
        ],
        "writes": 25
      }
    }
  ],
  "auth": {
    "guards": []
  },
  "sinks": {
    "call": 7,
    "create": 0,
    "create2": 0,
    "delegatecall": 0,
    "selfdestruct": 0,
    "staticcall": 0,
    "upgrade_slot_write_suspected": false
  },
  "callsites": [
    {
      "opcode": "CALL",
      "pc": 157,
      "returndata_checked": null,
      "target_expression_category": "computed",
      "value_expression_category": "computed"
    },
    {
      "opcode": "CALL",
      "pc": 376,
      "returndata_checked": null,
      "target_expression_category": "computed",
      "value_expression_category": "computed"
    },
    {
      "opcode": "CALL",
      "pc": 1419,
      "returndata_checked": null,
      "target_expression_category": "computed",
      "value_expression_category": "computed"
    },
    {
      "opcode": "CALL",
      "pc": 1558,
      "returndata_checked": null,
      "target_expression_category": "computed",
      "value_expression_category": "computed"
    },
    {
      "opcode": "CALL",
      "pc": 1680,
      "returndata_checked": null,
      "target_expression_category": "computed",
      "value_expression_category": "computed"
    },
    {
      "opcode": "CALL",
      "pc": 2275,
      "returndata_checked": null,
      "target_expression_category": "computed",
      "value_expression_category": "computed"
    },
    {
      "opcode": "CALL",
      "pc": 2667,
      "returndata_checked": null,
      "target_expression_category": "computed",
      "value_expression_category": "computed"
    }
  ],
  "storage": {
    "keccak_count": 13,
    "reads": 51,
    "slots": [
      {
        "op": "SLOAD",
        "pc": 186,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
      },
      {
        "op": "SLOAD",
        "pc": 442,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
      },
      {
        "op": "SLOAD",
        "pc": 467,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
      },
      {
        "op": "SLOAD",
        "pc": 502,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
      },
      {
        "op": "SLOAD",
        "pc": 739,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
      },
      {
        "op": "SLOAD",
        "pc": 765,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
      },
      {
        "op": "SLOAD",
        "pc": 792,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
      },
      {
        "op": "SLOAD",
        "pc": 860,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
      },
      {
        "op": "SLOAD",
        "pc": 1019,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
      },
      {
        "op": "SLOAD",
        "pc": 1037,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
      },
      {
        "op": "SLOAD",
        "pc": 1146,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
      },
      {
        "op": "SLOAD",
        "pc": 1760,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
      },
      {
        "op": "SLOAD",
        "pc": 1921,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
      },
      {
        "op": "SLOAD",
        "pc": 2016,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
      },
      {
        "op": "SLOAD",
        "pc": 2094,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
      },
      {
        "op": "SLOAD",
        "pc": 2113,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
      },
      {
        "op": "SLOAD",
        "pc": 2116,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
      },
      {
        "op": "SLOAD",
        "pc": 2130,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
      },
      {
        "op": "SLOAD",
        "pc": 2142,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
      },
      {
        "op": "SLOAD",
        "pc": 2226,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
      },
      {
        "op": "SLOAD",
        "pc": 2245,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000040"
      },
      {
        "op": "SLOAD",
        "pc": 2323,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
      },
      {
        "op": "SLOAD",
        "pc": 2396,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
      },
      {
        "op": "SLOAD",
        "pc": 2413,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
      },
      {
        "op": "SLOAD",
        "pc": 2427,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
      },
      {
        "op": "SLOAD",
        "pc": 2538,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
      },
      {
        "op": "SLOAD",
        "pc": 2587,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
      },
      {
        "op": "SLOAD",
        "pc": 2615,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
      },
      {
        "op": "SLOAD",
        "pc": 2640,
        "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
      }
    ],
    "writes": 25
  }
}

exec
/bin/bash -lc "jq '.capability_graph.graph_json' /tmp/codex-hyjd74og/BYTECODE_BUNDLE.json" in /tmp/codex-hyjd74og
 succeeded in 0ms:
{
  "edges": [
    {
      "from": "bb:0",
      "to": "bb:108",
      "type": "control_flow"
    },
    {
      "from": "bb:0",
      "to": "bb:11",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:11",
      "to": "bb:165",
      "type": "control_flow"
    },
    {
      "from": "bb:11",
      "to": "bb:31",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:31",
      "to": "bb:433",
      "type": "control_flow"
    },
    {
      "from": "bb:31",
      "to": "bb:42",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:42",
      "to": "bb:481",
      "type": "control_flow"
    },
    {
      "from": "bb:42",
      "to": "bb:53",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:53",
      "to": "bb:557",
      "type": "control_flow"
    },
    {
      "from": "bb:53",
      "to": "bb:64",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:64",
      "to": "bb:730",
      "type": "control_flow"
    },
    {
      "from": "bb:64",
      "to": "bb:75",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:75",
      "to": "bb:783",
      "type": "control_flow"
    },
    {
      "from": "bb:75",
      "to": "bb:86",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:86",
      "to": "bb:839",
      "type": "control_flow"
    },
    {
      "from": "bb:86",
      "to": "bb:97",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:97",
      "to": "bb:994",
      "type": "control_flow"
    },
    {
      "from": "bb:97",
      "to": "bb:108",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:108",
      "to": "bb:1617",
      "type": "control_flow"
    },
    {
      "from": "bb:108",
      "to": "bb:131",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:131",
      "to": "bb:163",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:165",
      "to": "bb:316",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:316",
      "to": "bb:418",
      "type": "control_flow"
    },
    {
      "from": "bb:316",
      "to": "bb:393",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:393",
      "to": "bb:418",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:433",
      "to": "bb:780",
      "type": "control_flow"
    },
    {
      "from": "bb:433",
      "to": "bb:465",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:465",
      "to": "bb:1868",
      "type": "control_flow"
    },
    {
      "from": "bb:465",
      "to": "bb:477",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:481",
      "to": "bb:316",
      "type": "control_flow"
    },
    {
      "from": "bb:557",
      "to": "bb:723",
      "type": "control_flow"
    },
    {
      "from": "bb:557",
      "to": "bb:612",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:612",
      "to": "bb:723",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:730",
      "to": "bb:780",
      "type": "control_flow"
    },
    {
      "from": "bb:730",
      "to": "bb:762",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:762",
      "to": "bb:780",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:783",
      "to": "bb:780",
      "type": "control_flow"
    },
    {
      "from": "bb:783",
      "to": "bb:815",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:815",
      "to": "bb:829",
      "type": "control_flow"
    },
    {
      "from": "bb:815",
      "to": "bb:824",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:824",
      "to": "bb:829",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:829",
      "to": "bb:1863",
      "type": "control_flow"
    },
    {
      "from": "bb:829",
      "to": "bb:835",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:839",
      "to": "bb:316",
      "type": "control_flow"
    },
    {
      "from": "bb:994",
      "to": "bb:1344",
      "type": "control_flow"
    },
    {
      "from": "bb:994",
      "to": "bb:1034",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:1034",
      "to": "bb:1047",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:1047",
      "to": "bb:1122",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:1122",
      "to": "bb:1163",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:1163",
      "to": "bb:1344",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:1353",
      "to": "bb:1461",
      "type": "control_flow"
    },
    {
      "from": "bb:1353",
      "to": "bb:1436",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:1436",
      "to": "bb:1461",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:1477",
      "to": "bb:1600",
      "type": "control_flow"
    },
    {
      "from": "bb:1477",
      "to": "bb:1575",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:1575",
      "to": "bb:1600",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:1617",
      "to": "bb:1686",
      "type": "control_flow"
    },
    {
      "from": "bb:1617",
      "to": "bb:1644",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:1644",
      "to": "bb:1686",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:1686",
      "to": "bb:1756",
      "type": "control_flow"
    },
    {
      "from": "bb:1686",
      "to": "bb:1722",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:1722",
      "to": "bb:1756",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:1756",
      "to": "bb:1873",
      "type": "control_flow"
    },
    {
      "from": "bb:1756",
      "to": "bb:1780",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:1780",
      "to": "bb:1806",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:1806",
      "to": "bb:2078",
      "type": "control_flow"
    },
    {
      "from": "bb:1806",
      "to": "bb:1815",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:1815",
      "to": "bb:1806",
      "type": "control_flow"
    },
    {
      "from": "bb:1873",
      "to": "bb:2082",
      "type": "control_flow"
    },
    {
      "from": "bb:1873",
      "to": "bb:2038",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:2038",
      "to": "bb:2058",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:2058",
      "to": "bb:2078",
      "type": "control_flow"
    },
    {
      "from": "bb:2058",
      "to": "bb:2067",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:2067",
      "to": "bb:2058",
      "type": "control_flow"
    },
    {
      "from": "bb:2082",
      "to": "bb:2584",
      "type": "control_flow"
    },
    {
      "from": "bb:2082",
      "to": "bb:2136",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:2136",
      "to": "bb:2138",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:2138",
      "to": "bb:2158",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:2158",
      "to": "bb:2207",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:2207",
      "to": "bb:2611",
      "type": "control_flow"
    },
    {
      "from": "bb:2207",
      "to": "bb:2241",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:2241",
      "to": "bb:2534",
      "type": "control_flow"
    },
    {
      "from": "bb:2241",
      "to": "bb:2424",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:2424",
      "to": "bb:2441",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:2441",
      "to": "bb:2496",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:2496",
      "to": "bb:2534",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:2534",
      "to": "bb:2606",
      "type": "control_flow"
    },
    {
      "from": "bb:2534",
      "to": "bb:2560",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:2560",
      "to": "bb:2058",
      "type": "control_flow"
    },
    {
      "from": "bb:2584",
      "to": "bb:2138",
      "type": "control_flow"
    },
    {
      "from": "bb:2606",
      "to": "bb:2611",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:2611",
      "to": "bb:2673",
      "type": "control_flow"
    },
    {
      "from": "bb:2611",
      "to": "bb:2637",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:2637",
      "to": "bb:2673",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "fn:0x6a1db1bf",
      "to": "bb:2146370414",
      "type": "entry"
    },
    {
      "from": "fn:0x7fef036e",
      "to": "bb:2321930356",
      "type": "entry"
    },
    {
      "from": "fn:0x8a65d874",
      "to": "bb:2801392353",
      "type": "entry"
    },
    {
      "from": "fn:0xa6f9dae1",
      "to": "bb:3470337648",
      "type": "entry"
    },
    {
      "from": "fn:0xced92670",
      "to": "bb:3661377549",
      "type": "entry"
    },
    {
      "from": "fn:0xda3c300d",
      "to": "bb:4135239047",
      "type": "entry"
    },
    {
      "from": "fn:0xf67abd87",
      "to": "bb:1351",
      "type": "entry"
    },
    {
      "from": "bb:131",
      "to": "call:157",
      "type": "contains"
    },
    {
      "from": "call:157",
      "to": "sink:call",
      "type": "capability"
    },
    {
      "from": "bb:316",
      "to": "call:376",
      "type": "contains"
    },
    {
      "from": "call:376",
      "to": "sink:call",
      "type": "capability"
    },
    {
      "from": "bb:1353",
      "to": "call:1419",
      "type": "contains"
    },
    {
      "from": "call:1419",
      "to": "sink:call",
      "type": "capability"
    },
    {
      "from": "bb:1477",
      "to": "call:1558",
      "type": "contains"
    },
    {
      "from": "call:1558",
      "to": "sink:call",
      "type": "capability"
    },
    {
      "from": "bb:1644",
      "to": "call:1680",
      "type": "contains"
    },
    {
      "from": "call:1680",
      "to": "sink:call",
      "type": "capability"
    },
    {
      "from": "bb:2241",
      "to": "call:2275",
      "type": "contains"
    },
    {
      "from": "call:2275",
      "to": "sink:call",
      "type": "capability"
    },
    {
      "from": "bb:2637",
      "to": "call:2667",
      "type": "contains"
    },
    {
      "from": "call:2667",
      "to": "sink:call",
      "type": "capability"
    }
  ],
  "nodes": [
    {
      "end_pc": 10,
      "hash": "0x700ae68e6e48f29f5039c54f12674c3a4ca8c5c3a2f54ca417214312e0b28325",
      "id": "bb:0",
      "start_pc": 0,
      "type": "basic_block"
    },
    {
      "end_pc": 30,
      "hash": "0x65a9278cde7a03e69a6469fb88bd3dc39878efa6a367e5699095c0c19b7ff365",
      "id": "bb:11",
      "start_pc": 11,
      "type": "basic_block"
    },
    {
      "end_pc": 41,
      "hash": "0x2f0f508f981b728a723074628983b070ab664dce78eb010fdebade92a3b12771",
      "id": "bb:31",
      "start_pc": 31,
      "type": "basic_block"
    },
    {
      "end_pc": 52,
      "hash": "0x878c3b23ed887d853351c47c5a90254c4da3dfb85482518827c5c65b051e34ac",
      "id": "bb:42",
      "start_pc": 42,
      "type": "basic_block"
    },
    {
      "end_pc": 63,
      "hash": "0xeac0dbed511e1145cef1cd96b5427a0e0e7d16ad92e6d81353ddab0b25386f2a",
      "id": "bb:53",
      "start_pc": 53,
      "type": "basic_block"
    },
    {
      "end_pc": 74,
      "hash": "0xafb698459ea0d2bfe7406305d17e2ad9df166061eea29bfc66250555ac52f14c",
      "id": "bb:64",
      "start_pc": 64,
      "type": "basic_block"
    },
    {
      "end_pc": 85,
      "hash": "0x6e8ca1c2636783439175fd95ea755257463c663597bf41e53b954147664fc8ef",
      "id": "bb:75",
      "start_pc": 75,
      "type": "basic_block"
    },
    {
      "end_pc": 96,
      "hash": "0x3ada3247ec240c40b84d10ab306b6f48ee8dbeb1ff634c379648440e9639f369",
      "id": "bb:86",
      "start_pc": 86,
      "type": "basic_block"
    },
    {
      "end_pc": 107,
      "hash": "0x2755c7a424b6574a7f68c894882f5faf7a5df91681f696d4dfe98e8dbf3e315a",
      "id": "bb:97",
      "start_pc": 97,
      "type": "basic_block"
    },
    {
      "end_pc": 130,
      "hash": "0xf52763d6208933552de92804f32722707ded0aa291d1ce7742a9b29a31088688",
      "id": "bb:108",
      "start_pc": 108,
      "type": "basic_block"
    },
    {
      "end_pc": 162,
      "hash": "0xfbe24ce4ae16351fc03c1ed6e07e0a0b28cffd46fc16b0cd6d056a7ea3b6b6de",
      "id": "bb:131",
      "start_pc": 131,
      "type": "basic_block"
    },
    {
      "end_pc": 164,
      "hash": "0xa121d074ff03c8aa28b8755b1688d645e41e46df90a8a11a8efb5c4293eb9a3a",
      "id": "bb:163",
      "start_pc": 163,
      "type": "basic_block"
    },
    {
      "end_pc": 315,
      "hash": "0x2692830ce54ea58b8408474f5f25c3284217eac5c2072f549e0a6bb8c728e578",
      "id": "bb:165",
      "start_pc": 165,
      "type": "basic_block"
    },
    {
      "end_pc": 392,
      "hash": "0x1ec10fe67b2428f4b785ac0459976607c1e65815ae25b0db836c6b4cfff1914d",
      "id": "bb:316",
      "start_pc": 316,
      "type": "basic_block"
    },
    {
      "end_pc": 417,
      "hash": "0xf452ac50afbd075b7a02a484f04c4ef5fabe5412afe1c9222accd8f2e83953d9",
      "id": "bb:393",
      "start_pc": 393,
      "type": "basic_block"
    },
    {
      "end_pc": 432,
      "hash": "0x66d0220d71bdee69a0c975cc82ad7d9248e3e12aa938159587c49a5bb4afc802",
      "id": "bb:418",
      "start_pc": 418,
      "type": "basic_block"
    },
    {
      "end_pc": 464,
      "hash": "0x4c890ca7f71c8f70d2ff6fac1a8843af8d7fb4a9634cd38d30ebe617e0e7f8bb",
      "id": "bb:433",
      "start_pc": 433,
      "type": "basic_block"
    },
    {
      "end_pc": 476,
      "hash": "0x1256ea55a51dbb92b876a86f614bfdb6e199d2cd083dc2282e59254b81926cb2",
      "id": "bb:465",
      "start_pc": 465,
      "type": "basic_block"
    },
    {
      "end_pc": 480,
      "hash": "0xd3af870c0425e94c24cf6b85fc9939cf5201a8ae47699537ba18692b2aea1558",
      "id": "bb:477",
      "start_pc": 477,
      "type": "basic_block"
    },
    {
      "end_pc": 556,
      "hash": "0x965cb1bb69f7e941e04dd86fb96e250032d8edb7cf56c836a3068a6cf9d00372",
      "id": "bb:481",
      "start_pc": 481,
      "type": "basic_block"
    },
    {
      "end_pc": 611,
      "hash": "0x9e7a27d7ac91b84b13018ea40ec5653973320ba29eac6ba3397f30f3de7eba7a",
      "id": "bb:557",
      "start_pc": 557,
      "type": "basic_block"
    },
    {
      "end_pc": 722,
      "hash": "0xdc831531bca9d83418b51de336f47203247a5de4928b4e94c21a55ae32211c23",
      "id": "bb:612",
      "start_pc": 612,
      "type": "basic_block"
    },
    {
      "end_pc": 729,
      "hash": "0x40e9e0f1414ffcdc964f7fa98cb9afd59ea9baf96b43e951db085700c53db61a",
      "id": "bb:723",
      "start_pc": 723,
      "type": "basic_block"
    },
    {
      "end_pc": 761,
      "hash": "0xd8db6f3a88bb4336edd80e83a865edd563df2dd3dea49c63005a28254a6fe40d",
      "id": "bb:730",
      "start_pc": 730,
      "type": "basic_block"
    },
    {
      "end_pc": 779,
      "hash": "0xc4afc43646c0f7f50601b9e12cf413eb22f1193abe514cdef91bceae5bbe06c0",
      "id": "bb:762",
      "start_pc": 762,
      "type": "basic_block"
    },
    {
      "end_pc": 782,
      "hash": "0x99291fa94e2dc3892d774abe71cabc1ecbd2f57e6f142e2abf839f3772148c88",
      "id": "bb:780",
      "start_pc": 780,
      "type": "basic_block"
    },
    {
      "end_pc": 814,
      "hash": "0x315a7880d015f64e37daf92a822537976952e015c7733fe837769f9a9db5de52",
      "id": "bb:783",
      "start_pc": 783,
      "type": "basic_block"
    },
    {
      "end_pc": 823,
      "hash": "0x483915403e5bddd805c7e1af718449d312358ce09f3f6aa71b5adf098aa3aea3",
      "id": "bb:815",
      "start_pc": 815,
      "type": "basic_block"
    },
    {
      "end_pc": 828,
      "hash": "0x7adf740adbb92e5277ea8ce1e5992071d7032829b66dae1c08f059173ceaf212",
      "id": "bb:824",
      "start_pc": 824,
      "type": "basic_block"
    },
    {
      "end_pc": 834,
      "hash": "0xd2d3b821f0ca448267c576cf3ea1bfa29cf5f0541cc3ce46d3d66be4fab77da1",
      "id": "bb:829",
      "start_pc": 829,
      "type": "basic_block"
    },
    {
      "end_pc": 838,
      "hash": "0x07f75742e03dcc5d7855f4e3715e16cda057699926bb85bb7d57cfbd32c982ff",
      "id": "bb:835",
      "start_pc": 835,
      "type": "basic_block"
    },
    {
      "end_pc": 993,
      "hash": "0xb48eefb6ab939244d686f48101a1893f66fea46618ba64bb8a73e171e154ce86",
      "id": "bb:839",
      "start_pc": 839,
      "type": "basic_block"
    },
    {
      "end_pc": 1033,
      "hash": "0x05120473173f0b19e6282af2a3d7bcf0b67cda0fe6672f96fc5ae0907a1120e2",
      "id": "bb:994",
      "start_pc": 994,
      "type": "basic_block"
    },
    {
      "end_pc": 1046,
      "hash": "0xc76a895b924eec3a9ca1a646c80215de2e3f3bc1b216a005c2ad5c3867f0dcf4",
      "id": "bb:1034",
      "start_pc": 1034,
      "type": "basic_block"
    },
    {
      "end_pc": 1121,
      "hash": "0xbb6f878db3e9ed5a9c2dc4d4b11c21769a8bbcd529d886a42cb7aa480661623c",
      "id": "bb:1047",
      "start_pc": 1047,
      "type": "basic_block"
    },
    {
      "end_pc": 1162,
      "hash": "0x8419b6306502941dba661a589505a29f7f5c1afba7ffc6c02ce9712f0a65a38b",
      "id": "bb:1122",
      "start_pc": 1122,
      "type": "basic_block"
    },
    {
      "end_pc": 1343,
      "hash": "0xee5ebbe8f9a54f28fb36b5b79b1503c20e16aad4bc709bc2429cc7eb942d806a",
      "id": "bb:1163",
      "start_pc": 1163,
      "type": "basic_block"
    },
    {
      "end_pc": 1350,
      "hash": "0x79f1da60bffd95fb809ab84bb198f1a05cf795809875322ef59c3817df57757e",
      "id": "bb:1344",
      "start_pc": 1344,
      "type": "basic_block"
    },
    {
      "end_pc": 1352,
      "hash": "0xa787b2e8c6d4ad56e3e3297ef5c175f6c80a84dc798423d2b9008a11dd8c75a6",
      "id": "bb:1351",
      "start_pc": 1351,
      "type": "basic_block"
    },
    {
      "end_pc": 1435,
      "hash": "0x88e8c3bd39376096f72700db4ff31c636e0bf760ba9003c80eb3e6a0118088b4",
      "id": "bb:1353",
      "start_pc": 1353,
      "type": "basic_block"
    },
    {
      "end_pc": 1460,
      "hash": "0x581fc3f2af3213f2cd7f121f679e467ea31bd5e9c682e732cc1010797e746105",
      "id": "bb:1436",
      "start_pc": 1436,
      "type": "basic_block"
    },
    {
      "end_pc": 1476,
      "hash": "0x585de6016104d1d2cb8fad2ef6e0c6e5aeecd5482cf940fe3a1775afd847635f",
      "id": "bb:1461",
      "start_pc": 1461,
      "type": "basic_block"
    },
    {
      "end_pc": 1574,
      "hash": "0xe13a91775f6d9d9464d7dd1f7aeaa04691eaf0f23ad1a706f07edb0fd37b33d3",
      "id": "bb:1477",
      "start_pc": 1477,
      "type": "basic_block"
    },
    {
      "end_pc": 1599,
      "hash": "0xe2795e4188089805133423e8901e886d1da47092f24aaae1647b46f679b4ab07",
      "id": "bb:1575",
      "start_pc": 1575,
      "type": "basic_block"
    },
    {
      "end_pc": 1616,
      "hash": "0x53515ceacab3240c9978a69f1fed987e70375414a50226b45a7d74825baa00da",
      "id": "bb:1600",
      "start_pc": 1600,
      "type": "basic_block"
    },
    {
      "end_pc": 1643,
      "hash": "0xe36b4d9b40996a5eab54825b16fc243e7a0383b7642058fff5f75456e9f86e2e",
      "id": "bb:1617",
      "start_pc": 1617,
      "type": "basic_block"
    },
    {
      "end_pc": 1685,
      "hash": "0x2f38653aa67be850b43926c8758232287559e20fdaa758a93a3384f9acdb6e3e",
      "id": "bb:1644",
      "start_pc": 1644,
      "type": "basic_block"
    },
    {
      "end_pc": 1721,
      "hash": "0x2db5ec198a9eb1820536a1b313ee6d7ad677ad3cd6dcf41a4c90a507e8a93e7c",
      "id": "bb:1686",
      "start_pc": 1686,
      "type": "basic_block"
    },
    {
      "end_pc": 1755,
      "hash": "0xeff45e9b8974c20ea6ce8abe54286b60e2de0294e88863af3bdf7a5f5ab59b02",
      "id": "bb:1722",
      "start_pc": 1722,
      "type": "basic_block"
    },
    {
      "end_pc": 1779,
      "hash": "0xe9ff2f740c394197e394239d243460bee08c3b7738c0adba29bf0f55247cba39",
      "id": "bb:1756",
      "start_pc": 1756,
      "type": "basic_block"
    },
    {
      "end_pc": 1805,
      "hash": "0x08e865ef975cc8a59d92c65ad6f79333d6b3e0d5f9692b99a2bae8af1fea0e42",
      "id": "bb:1780",
      "start_pc": 1780,
      "type": "basic_block"
    },
    {
      "end_pc": 1814,
      "hash": "0xe763fb3fc635ee56039a694641c334ca9863c92487c64583e4573c4415bfd4a5",
      "id": "bb:1806",
      "start_pc": 1806,
      "type": "basic_block"
    },
    {
      "end_pc": 1862,
      "hash": "0xc42e19db30ae605eb1e6d1da365fe7a5815119c4176441d02dcd7dc279a8173f",
      "id": "bb:1815",
      "start_pc": 1815,
      "type": "basic_block"
    },
    {
      "end_pc": 1867,
      "hash": "0xdec0d7c6d1a02e4b90be722e04a2b8982b75a754371713d4a9abffebd80ca21f",
      "id": "bb:1863",
      "start_pc": 1863,
      "type": "basic_block"
    },
    {
      "end_pc": 1872,
      "hash": "0xd64796257f4c3007bd3699348a5b593734ef07d751d8229b686ca060977004e6",
      "id": "bb:1868",
      "start_pc": 1868,
      "type": "basic_block"
    },
    {
      "end_pc": 2037,
      "hash": "0x74493c4e7f859fda3344f92411f2bdb2cd0684352fbf75cbe059e1318d6578ba",
      "id": "bb:1873",
      "start_pc": 1873,
      "type": "basic_block"
    },
    {
      "end_pc": 2057,
      "hash": "0x465c7cffcafc703e8a2248272ad2252b2ab5c7cde9a48cb50ac3534ba7bafd35",
      "id": "bb:2038",
      "start_pc": 2038,
      "type": "basic_block"
    },
    {
      "end_pc": 2066,
      "hash": "0xf09432e428b7a83ff5a91d9ff5d95d39b49500ecc2e4dccd50a7ee91cb7fde90",
      "id": "bb:2058",
      "start_pc": 2058,
      "type": "basic_block"
    },
    {
      "end_pc": 2077,
      "hash": "0x2eabefd9b2d56e6d42d6a4cd3f55a7dd54d970f47651aada94a181974e9fe8bf",
      "id": "bb:2067",
      "start_pc": 2067,
      "type": "basic_block"
    },
    {
      "end_pc": 2081,
      "hash": "0xe3f045460f68e37fb6cbae39c5286b7f69d3a47be816a4e75b9188971a47160e",
      "id": "bb:2078",
      "start_pc": 2078,
      "type": "basic_block"
    },
    {
      "end_pc": 2135,
      "hash": "0x0c35184d9ede6aa536dc74e048d3b73bbc0f5118a0b4dbe87db3910014821d64",
      "id": "bb:2082",
      "start_pc": 2082,
      "type": "basic_block"
    },
    {
      "end_pc": 2136,
      "hash": "0x3db89b10985d5d02f5a78fcf9728ad7e44f327b3000d93b6a414bd4425e25c28",
      "id": "bb:2136",
      "start_pc": 2136,
      "type": "basic_block"
    },
    {
      "end_pc": 2157,
      "hash": "0xc3fee58e0faa56edd4d98b3348f9706c326e67739517741f4a8db85be7b68d5a",
      "id": "bb:2138",
      "start_pc": 2138,
      "type": "basic_block"
    },
    {
      "end_pc": 2206,
      "hash": "0xa8bcf4855572bf8898ad0cee3ba571fbb6b9557af5581cf1d17a501e6350fe56",
      "id": "bb:2158",
      "start_pc": 2158,
      "type": "basic_block"
    },
    {
      "end_pc": 2240,
      "hash": "0x857c2975f0fb91306d40307a6cee19a287bff6fe9a1703ffccf2ebbf87551574",
      "id": "bb:2207",
      "start_pc": 2207,
      "type": "basic_block"
    },
    {
      "end_pc": 2423,
      "hash": "0x336d07af0ce5c516344a84969f46e4c10919a385569ef12dd8770173dcb55f43",
      "id": "bb:2241",
      "start_pc": 2241,
      "type": "basic_block"
    },
    {
      "end_pc": 2440,
      "hash": "0x5c881c450cbf7d6e08ab1eb2c78bdec26609e99d2c4c97f2c0ef6e04b1dff8a8",
      "id": "bb:2424",
      "start_pc": 2424,
      "type": "basic_block"
    },
    {
      "end_pc": 2495,
      "hash": "0xde33836ca48c7746d25c97c450639fde6811b98b93a0bc71622f0c8d276ec45f",
      "id": "bb:2441",
      "start_pc": 2441,
      "type": "basic_block"
    },
    {
      "end_pc": 2533,
      "hash": "0x2c181846b785f9cbc52755c9bfc2ee067c4335f587a3170bad627a82064994c3",
      "id": "bb:2496",
      "start_pc": 2496,
      "type": "basic_block"
    },
    {
      "end_pc": 2559,
      "hash": "0x33f03312ac3bdbcd2f99e55af26111bd7e773bbb1c192bcb44454e79b75fb16c",
      "id": "bb:2534",
      "start_pc": 2534,
      "type": "basic_block"
    },
    {
      "end_pc": 2583,
      "hash": "0xf937bb02f7f6d9970d3c594eda869149fc7b98780f01df657c1fb72f5ad5f8b9",
      "id": "bb:2560",
      "start_pc": 2560,
      "type": "basic_block"
    },
    {
      "end_pc": 2605,
      "hash": "0x98cc586d5f98bd2bb859889b7f4ce40c27ff265cafcabd6d06018d036d58f170",
      "id": "bb:2584",
      "start_pc": 2584,
      "type": "basic_block"
    },
    {
      "end_pc": 2610,
      "hash": "0xcbf4d8873b61c779f171f37affff0ae3645b65a4d08e1d0e03edb2cee0c0c0f8",
      "id": "bb:2606",
      "start_pc": 2606,
      "type": "basic_block"
    },
    {
      "end_pc": 2636,
      "hash": "0xd577e657c0fabb2833e502d71d44b5a2dd44495b46471453415c4b239054f46f",
      "id": "bb:2611",
      "start_pc": 2611,
      "type": "basic_block"
    },
    {
      "end_pc": 2672,
      "hash": "0xdc4b259fdb2c8d259eb906ab2aa49a3fccca6b8020eb12cc55f6a6f942e9f408",
      "id": "bb:2637",
      "start_pc": 2637,
      "type": "basic_block"
    },
    {
      "end_pc": 2679,
      "hash": "0x5fc84ab740f7ffbe2e8adf4cc476f6e68c7778f739581f0c52a289d2b49ebe1a",
      "id": "bb:2673",
      "start_pc": 2673,
      "type": "basic_block"
    },
    {
      "id": "call:157",
      "opcode": "CALL",
      "pc": 157,
      "type": "callsite"
    },
    {
      "id": "call:376",
      "opcode": "CALL",
      "pc": 376,
      "type": "callsite"
    },
    {
      "id": "call:1419",
      "opcode": "CALL",
      "pc": 1419,
      "type": "callsite"
    },
    {
      "id": "call:1558",
      "opcode": "CALL",
      "pc": 1558,
      "type": "callsite"
    },
    {
      "id": "call:1680",
      "opcode": "CALL",
      "pc": 1680,
      "type": "callsite"
    },
    {
      "id": "call:2275",
      "opcode": "CALL",
      "pc": 2275,
      "type": "callsite"
    },
    {
      "id": "call:2667",
      "opcode": "CALL",
      "pc": 2667,
      "type": "callsite"
    },
    {
      "id": "sink:call",
      "type": "sink"
    },
    {
      "entry_pc": null,
      "id": "fn:0x30677b83",
      "selector": "0x30677b83",
      "type": "function"
    },
    {
      "entry_pc": 2146370414,
      "id": "fn:0x6a1db1bf",
      "selector": "0x6a1db1bf",
      "type": "function"
    },
    {
      "entry_pc": 2321930356,
      "id": "fn:0x7fef036e",
      "selector": "0x7fef036e",
      "type": "function"
    },
    {
      "entry_pc": 2801392353,
      "id": "fn:0x8a65d874",
      "selector": "0x8a65d874",
      "type": "function"
    },
    {
      "entry_pc": 3470337648,
      "id": "fn:0xa6f9dae1",
      "selector": "0xa6f9dae1",
      "type": "function"
    },
    {
      "entry_pc": 3661377549,
      "id": "fn:0xced92670",
      "selector": "0xced92670",
      "type": "function"
    },
    {
      "entry_pc": 4135239047,
      "id": "fn:0xda3c300d",
      "selector": "0xda3c300d",
      "type": "function"
    },
    {
      "entry_pc": 1351,
      "id": "fn:0xf67abd87",
      "selector": "0xf67abd87",
      "type": "function"
    }
  ],
  "version": "capability_graph_v1"
}

exec
/bin/bash -lc 'which evm || which cast || which hevm || which forge || which python3 || which node' in /tmp/codex-hyjd74og
 succeeded in 0ms:
/home/noahkuhn/.foundry/bin/cast

exec
/bin/bash -lc "cast --help | sed -n '1,120p'" in /tmp/codex-hyjd74og
 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]

exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' /tmp/codex-hyjd74og/BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | sed -n '"'1,260p'" in /tmp/codex-hyjd74og
 succeeded in 0ms:
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x006c
0000000a: JUMPI
0000000b: PUSH1 0xe0
0000000d: PUSH1 0x02
0000000f: EXP
00000010: PUSH1 0x00
00000012: CALLDATALOAD
00000013: DIV
00000014: PUSH4 0x30677b83
00000019: DUP2
0000001a: EQ
0000001b: PUSH2 0x00a5
0000001e: JUMPI
0000001f: DUP1
00000020: PUSH4 0x6a1db1bf
00000025: EQ
00000026: PUSH2 0x01b1
00000029: JUMPI
0000002a: DUP1
0000002b: PUSH4 0x7fef036e
00000030: EQ
00000031: PUSH2 0x01e1
00000034: JUMPI
00000035: DUP1
00000036: PUSH4 0x8a65d874
0000003b: EQ
0000003c: PUSH2 0x022d
0000003f: JUMPI
00000040: DUP1
00000041: PUSH4 0xa6f9dae1
00000046: EQ
00000047: PUSH2 0x02da
0000004a: JUMPI
0000004b: DUP1
0000004c: PUSH4 0xced92670
00000051: EQ
00000052: PUSH2 0x030f
00000055: JUMPI
00000056: DUP1
00000057: PUSH4 0xda3c300d
0000005c: EQ
0000005d: PUSH2 0x0347
00000060: JUMPI
00000061: DUP1
00000062: PUSH4 0xf67abd87
00000067: EQ
00000068: PUSH2 0x03e2
0000006b: JUMPI
0000006c: JUMPDEST
0000006d: PUSH2 0x0547
00000070: PUSH2 0x00a3
00000073: PUSH8 0x0de0b6b3a7640000
0000007c: CALLVALUE
0000007d: LT
0000007e: ISZERO
0000007f: PUSH2 0x0651
00000082: JUMPI
00000083: PUSH1 0x40
00000085: MLOAD
00000086: PUSH1 0x01
00000088: PUSH1 0xa0
0000008a: PUSH1 0x02
0000008c: EXP
0000008d: SUB
0000008e: CALLER
0000008f: AND
00000090: SWAP1
00000091: PUSH1 0x00
00000093: SWAP1
00000094: CALLVALUE
00000095: SWAP1
00000096: DUP3
00000097: DUP2
00000098: DUP2
00000099: DUP2
0000009a: DUP6
0000009b: DUP9
0000009c: DUP4
0000009d: CALL
0000009e: POP
0000009f: POP
000000a0: POP
000000a1: POP
000000a2: POP
000000a3: JUMPDEST
000000a4: JUMP
000000a5: JUMPDEST
000000a6: PUSH1 0x40
000000a8: DUP1
000000a9: MLOAD
000000aa: PUSH1 0x20
000000ac: DUP1
000000ad: DUP3
000000ae: ADD
000000af: DUP4
000000b0: MSTORE
000000b1: PUSH1 0x00
000000b3: SWAP1
000000b4: SWAP2
000000b5: MSTORE
000000b6: DUP2
000000b7: MLOAD
000000b8: PUSH1 0x03
000000ba: SLOAD
000000bb: PUSH1 0x80
000000bd: DUP3
000000be: ADD
000000bf: DUP5
000000c0: MSTORE
000000c1: PUSH1 0x43
000000c3: DUP3
000000c4: MSTORE
000000c5: PUSH32 0x5468652063757272656e74206d756c7469706c696572206170706c6965642074
000000e6: SWAP3
000000e7: DUP3
000000e8: ADD
000000e9: SWAP3
000000ea: SWAP1
000000eb: SWAP3
000000ec: MSTORE
000000ed: PUSH32 0x6f20616c6c206465706f736974732e204d696e20313130252c206d6178203135
0000010e: SWAP3
0000010f: DUP2
00000110: ADD
00000111: SWAP3
00000112: SWAP1
00000113: SWAP3
00000114: MSTORE
00000115: PUSH32 0x30252e0000000000000000000000000000000000000000000000000000000000
00000136: PUSH1 0x60
00000138: DUP4
00000139: ADD
0000013a: MSTORE
0000013b: SWAP1
0000013c: JUMPDEST
0000013d: PUSH1 0x40
0000013f: MLOAD
00000140: DUP1
00000141: DUP4
00000142: DUP2
00000143: MSTORE
00000144: PUSH1 0x20
00000146: ADD
00000147: DUP1
00000148: PUSH1 0x20
0000014a: ADD
0000014b: DUP3
0000014c: DUP2
0000014d: SUB
0000014e: DUP3
0000014f: MSTORE
00000150: DUP4
00000151: DUP2
00000152: DUP2
00000153: MLOAD
00000154: DUP2
00000155: MSTORE
00000156: PUSH1 0x20
00000158: ADD
00000159: SWAP2
0000015a: POP
0000015b: DUP1
0000015c: MLOAD
0000015d: SWAP1
0000015e: PUSH1 0x20
00000160: ADD
00000161: SWAP1
00000162: DUP1
00000163: DUP4
00000164: DUP4
00000165: DUP3
00000166: SWAP1
00000167: PUSH1 0x00
00000169: PUSH1 0x04
0000016b: PUSH1 0x20
0000016d: DUP5
0000016e: PUSH1 0x1f
00000170: ADD
00000171: DIV
00000172: PUSH1 0x0f
00000174: MUL
00000175: PUSH1 0x03
00000177: ADD
00000178: CALL
00000179: POP
0000017a: SWAP1
0000017b: POP
0000017c: SWAP1
0000017d: DUP2
0000017e: ADD
0000017f: SWAP1
00000180: PUSH1 0x1f
00000182: AND
00000183: DUP1
00000184: ISZERO
00000185: PUSH2 0x01a2
00000188: JUMPI
00000189: DUP1
0000018a: DUP3
0000018b: SUB
0000018c: DUP1
0000018d: MLOAD
0000018e: PUSH1 0x01
00000190: DUP4
00000191: PUSH1 0x20
00000193: SUB
00000194: PUSH2 0x0100
00000197: EXP
00000198: SUB
00000199: NOT
0000019a: AND
0000019b: DUP2
0000019c: MSTORE
0000019d: PUSH1 0x20
0000019f: ADD
000001a0: SWAP2
000001a1: POP
000001a2: JUMPDEST
000001a3: POP
000001a4: SWAP4
000001a5: POP
000001a6: POP
000001a7: POP
000001a8: POP
000001a9: PUSH1 0x40
000001ab: MLOAD
000001ac: DUP1
000001ad: SWAP2
000001ae: SUB
000001af: SWAP1
000001b0: RETURN
000001b1: JUMPDEST
000001b2: PUSH2 0x0547
000001b5: PUSH1 0x04
000001b7: CALLDATALOAD
000001b8: PUSH1 0x00
000001ba: SLOAD
000001bb: PUSH1 0x01
000001bd: PUSH1 0xa0
000001bf: PUSH1 0x02
000001c1: EXP
000001c2: SUB
000001c3: SWAP1
000001c4: DUP2
000001c5: AND
000001c6: CALLER
000001c7: SWAP2
000001c8: SWAP1
000001c9: SWAP2
000001ca: AND
000001cb: EQ
000001cc: ISZERO
000001cd: PUSH2 0x030c
000001d0: JUMPI
000001d1: PUSH1 0x02

exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' /tmp/codex-hyjd74og/BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | sed -n '"'260,560p'" in /tmp/codex-hyjd74og
 succeeded in 0ms:
000001d1: PUSH1 0x02
000001d3: SLOAD
000001d4: PUSH1 0x05
000001d6: SWAP1
000001d7: GT
000001d8: ISZERO
000001d9: PUSH2 0x074c
000001dc: JUMPI
000001dd: PUSH2 0x0002
000001e0: JUMP
000001e1: JUMPDEST
000001e2: PUSH1 0x40
000001e4: DUP1
000001e5: MLOAD
000001e6: PUSH1 0x20
000001e8: DUP1
000001e9: DUP3
000001ea: ADD
000001eb: DUP4
000001ec: MSTORE
000001ed: PUSH1 0x00
000001ef: SWAP1
000001f0: SWAP2
000001f1: MSTORE
000001f2: DUP2
000001f3: MLOAD
000001f4: PUSH1 0x05
000001f6: SLOAD
000001f7: DUP2
000001f8: DUP5
000001f9: ADD
000001fa: SWAP1
000001fb: SWAP4
000001fc: MSTORE
000001fd: PUSH1 0x17
000001ff: DUP2
00000200: MSTORE
00000201: PUSH32 0x546865206e756d626572206f66206465706f736974732e000000000000000000
00000222: SWAP2
00000223: DUP2
00000224: ADD
00000225: SWAP2
00000226: SWAP1
00000227: SWAP2
00000228: MSTORE
00000229: PUSH2 0x013c
0000022c: JUMP
0000022d: JUMPDEST
0000022e: PUSH2 0x0549
00000231: PUSH1 0x04
00000233: CALLDATALOAD
00000234: PUSH1 0x40
00000236: DUP1
00000237: MLOAD
00000238: PUSH1 0x20
0000023a: DUP1
0000023b: DUP3
0000023c: ADD
0000023d: DUP4
0000023e: MSTORE
0000023f: PUSH1 0x00
00000241: DUP1
00000242: DUP4
00000243: MSTORE
00000244: PUSH1 0x01
00000246: PUSH1 0xa0
00000248: PUSH1 0x02
0000024a: EXP
0000024b: SUB
0000024c: DUP6
0000024d: DUP2
0000024e: AND
0000024f: DUP3
00000250: MSTORE
00000251: PUSH1 0x04
00000253: SWAP1
00000254: SWAP3
00000255: MSTORE
00000256: SWAP3
00000257: DUP4
00000258: KECCAK256
00000259: SLOAD
0000025a: DUP4
0000025b: SWAP3
0000025c: SWAP2
0000025d: AND
0000025e: DUP3
0000025f: EQ
00000260: PUSH2 0x02d3
00000263: JUMPI
00000264: POP
00000265: POP
00000266: PUSH1 0x40
00000268: SWAP1
00000269: DUP2
0000026a: SWAP1
0000026b: KECCAK256
0000026c: PUSH1 0x02
0000026e: DUP2
0000026f: ADD
00000270: SLOAD
00000271: PUSH1 0x01
00000273: SWAP2
00000274: SWAP1
00000275: SWAP2
00000276: ADD
00000277: SLOAD
00000278: DUP3
00000279: MLOAD
0000027a: PUSH1 0x60
0000027c: DUP2
0000027d: ADD
0000027e: DUP5
0000027f: MSTORE
00000280: PUSH1 0x2e
00000282: DUP2
00000283: MSTORE
00000284: PUSH32 0x55736572732073746174733a20746f74616c206465706f736974732c20706179
000002a5: PUSH1 0x20
000002a7: DUP3
000002a8: ADD
000002a9: MSTORE
000002aa: PUSH32 0x6f7574732072656365697665642e000000000000000000000000000000000000
000002cb: SWAP4
000002cc: DUP2
000002cd: ADD
000002ce: SWAP4
000002cf: SWAP1
000002d0: SWAP4
000002d1: MSTORE
000002d2: SWAP2
000002d3: JUMPDEST
000002d4: SWAP2
000002d5: SWAP4
000002d6: SWAP1
000002d7: SWAP3
000002d8: POP
000002d9: JUMP
000002da: JUMPDEST
000002db: PUSH2 0x0547
000002de: PUSH1 0x04
000002e0: CALLDATALOAD
000002e1: PUSH1 0x00
000002e3: SLOAD
000002e4: PUSH1 0x01
000002e6: PUSH1 0xa0
000002e8: PUSH1 0x02
000002ea: EXP
000002eb: SUB
000002ec: SWAP1
000002ed: DUP2
000002ee: AND
000002ef: CALLER
000002f0: SWAP2
000002f1: SWAP1
000002f2: SWAP2
000002f3: AND
000002f4: EQ
000002f5: ISZERO
000002f6: PUSH2 0x030c
000002f9: JUMPI
000002fa: PUSH1 0x00
000002fc: DUP1
000002fd: SLOAD
000002fe: PUSH1 0x01
00000300: PUSH1 0xa0
00000302: PUSH1 0x02
00000304: EXP
00000305: SUB
00000306: NOT
00000307: AND
00000308: DUP3
00000309: OR
0000030a: SWAP1
0000030b: SSTORE
0000030c: JUMPDEST
0000030d: POP
0000030e: JUMP
0000030f: JUMPDEST
00000310: PUSH2 0x0547
00000313: PUSH1 0x04
00000315: CALLDATALOAD
00000316: PUSH1 0x00
00000318: SLOAD
00000319: PUSH1 0x01
0000031b: PUSH1 0xa0
0000031d: PUSH1 0x02
0000031f: EXP
00000320: SUB
00000321: SWAP1
00000322: DUP2
00000323: AND
00000324: CALLER
00000325: SWAP2
00000326: SWAP1
00000327: SWAP2
00000328: AND
00000329: EQ
0000032a: ISZERO
0000032b: PUSH2 0x030c
0000032e: JUMPI
0000032f: PUSH1 0x6e
00000331: DUP2
00000332: LT
00000333: DUP1
00000334: PUSH2 0x033d
00000337: JUMPI
00000338: POP
00000339: PUSH1 0x96
0000033b: DUP2
0000033c: GT
0000033d: JUMPDEST
0000033e: ISZERO
0000033f: PUSH2 0x0747
00000342: JUMPI
00000343: PUSH2 0x0002
00000346: JUMP
00000347: JUMPDEST
00000348: PUSH1 0x40
0000034a: DUP1
0000034b: MLOAD
0000034c: PUSH1 0x20
0000034e: DUP1
0000034f: DUP3
00000350: ADD
00000351: DUP4
00000352: MSTORE
00000353: PUSH1 0x00
00000355: SWAP1
00000356: SWAP2
00000357: MSTORE
00000358: DUP2
00000359: MLOAD
0000035a: PUSH1 0x02
0000035c: SLOAD
0000035d: PUSH1 0x80
0000035f: DUP3
00000360: ADD
00000361: DUP5
00000362: MSTORE
00000363: PUSH1 0x54
00000365: DUP3
00000366: MSTORE
00000367: PUSH32 0x546865206665652070657263656e74616765206170706c69656420746f20616c
00000388: SWAP3
00000389: DUP3
0000038a: ADD
0000038b: SWAP3
0000038c: SWAP1
0000038d: SWAP3
0000038e: MSTORE
0000038f: PUSH32 0x6c206465706f736974732e2049742063616e206368616e676520746f20737065
000003b0: SWAP3
000003b1: DUP2
000003b2: ADD
000003b3: SWAP3
000003b4: SWAP1
000003b5: SWAP3
000003b6: MSTORE
000003b7: PUSH32 0x6564207061796f75747320286d6178203525292e000000000000000000000000
000003d8: PUSH1 0x60
000003da: DUP4
000003db: ADD
000003dc: MSTORE
000003dd: SWAP1
000003de: PUSH2 0x013c
000003e1: JUMP
000003e2: JUMPDEST
000003e3: PUSH2 0x05c5
000003e6: PUSH1 0x04
000003e8: CALLDATALOAD
000003e9: PUSH1 0x40
000003eb: DUP1
000003ec: MLOAD
000003ed: PUSH1 0x20
000003ef: DUP2
000003f0: ADD
000003f1: SWAP1
000003f2: SWAP2
000003f3: MSTORE
000003f4: PUSH1 0x00
000003f6: DUP1
000003f7: DUP3
000003f8: MSTORE
000003f9: PUSH1 0x05
000003fb: SLOAD
000003fc: SWAP1
000003fd: SWAP2
000003fe: DUP3
000003ff: SWAP2
00000400: DUP3
00000401: SWAP2
00000402: SWAP1
00000403: DUP6
00000404: LT
00000405: ISZERO
00000406: PUSH2 0x0540
00000409: JUMPI
0000040a: PUSH1 0x05
0000040c: DUP1
0000040d: SLOAD

exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' /tmp/codex-hyjd74og/BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | sed -n '"'560,900p'" in /tmp/codex-hyjd74og
 succeeded in 0ms:
0000040d: SLOAD
0000040e: DUP7
0000040f: SWAP1
00000410: DUP2
00000411: LT
00000412: ISZERO
00000413: PUSH2 0x0002
00000416: JUMPI
00000417: POP
00000418: DUP1
00000419: SLOAD
0000041a: DUP2
0000041b: DUP5
0000041c: MSTORE
0000041d: PUSH1 0x04
0000041f: DUP8
00000420: MUL
00000421: PUSH32 0x036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0
00000442: ADD
00000443: SLOAD
00000444: PUSH1 0x01
00000446: PUSH1 0xa0
00000448: PUSH1 0x02
0000044a: EXP
0000044b: SUB
0000044c: AND
0000044d: SWAP6
0000044e: POP
0000044f: PUSH7 0x038d7ea4c68000
00000457: SWAP2
00000458: SWAP1
00000459: DUP8
0000045a: SWAP1
0000045b: DUP2
0000045c: LT
0000045d: ISZERO
0000045e: PUSH2 0x0002
00000461: JUMPI
00000462: SWAP1
00000463: PUSH1 0x00
00000465: MSTORE
00000466: PUSH1 0x20
00000468: PUSH1 0x00
0000046a: KECCAK256
0000046b: SWAP1
0000046c: PUSH1 0x04
0000046e: MUL
0000046f: ADD
00000470: PUSH1 0x00
00000472: POP
00000473: PUSH1 0x02
00000475: ADD
00000476: SLOAD
00000477: PUSH1 0x05
00000479: DUP1
0000047a: SLOAD
0000047b: SWAP3
0000047c: SWAP1
0000047d: SWAP2
0000047e: DIV
0000047f: SWAP5
00000480: POP
00000481: SWAP1
00000482: DUP7
00000483: SWAP1
00000484: DUP2
00000485: LT
00000486: ISZERO
00000487: PUSH2 0x0002
0000048a: JUMPI
0000048b: POP
0000048c: POP
0000048d: PUSH1 0x40
0000048f: DUP1
00000490: MLOAD
00000491: PUSH1 0x04
00000493: DUP8
00000494: MUL
00000495: PUSH32 0x036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db3
000004b6: ADD
000004b7: SLOAD
000004b8: PUSH1 0x80
000004ba: DUP3
000004bb: ADD
000004bc: DUP4
000004bd: MSTORE
000004be: PUSH1 0x44
000004c0: DUP3
000004c1: MSTORE
000004c2: PUSH32 0x456e74727920696e666f3a207573657220616464726573732c20657870656374
000004e3: PUSH1 0x20
000004e5: DUP4
000004e6: ADD
000004e7: MSTORE
000004e8: PUSH32 0x6564207061796f757420696e2046696e6e6579732c207061796f757420737461
00000509: SWAP3
0000050a: DUP3
0000050b: ADD
0000050c: SWAP3
0000050d: SWAP1
0000050e: SWAP3
0000050f: MSTORE
00000510: PUSH32 0x7475732e00000000000000000000000000000000000000000000000000000000
00000531: PUSH1 0x60
00000533: DUP3
00000534: ADD
00000535: MSTORE
00000536: PUSH1 0xff
00000538: SWAP2
00000539: SWAP1
0000053a: SWAP2
0000053b: AND
0000053c: SWAP3
0000053d: POP
0000053e: SWAP1
0000053f: POP
00000540: JUMPDEST
00000541: SWAP2
00000542: SWAP4
00000543: POP
00000544: SWAP2
00000545: SWAP4
00000546: JUMP
00000547: JUMPDEST
00000548: STOP
00000549: JUMPDEST
0000054a: PUSH1 0x40
0000054c: MLOAD
0000054d: DUP1
0000054e: DUP5
0000054f: DUP2
00000550: MSTORE
00000551: PUSH1 0x20
00000553: ADD
00000554: DUP4
00000555: DUP2
00000556: MSTORE
00000557: PUSH1 0x20
00000559: ADD
0000055a: DUP1
0000055b: PUSH1 0x20
0000055d: ADD
0000055e: DUP3
0000055f: DUP2
00000560: SUB
00000561: DUP3
00000562: MSTORE
00000563: DUP4
00000564: DUP2
00000565: DUP2
00000566: MLOAD
00000567: DUP2
00000568: MSTORE
00000569: PUSH1 0x20
0000056b: ADD
0000056c: SWAP2
0000056d: POP
0000056e: DUP1
0000056f: MLOAD
00000570: SWAP1
00000571: PUSH1 0x20
00000573: ADD
00000574: SWAP1
00000575: DUP1
00000576: DUP4
00000577: DUP4
00000578: DUP3
00000579: SWAP1
0000057a: PUSH1 0x00
0000057c: PUSH1 0x04
0000057e: PUSH1 0x20
00000580: DUP5
00000581: PUSH1 0x1f
00000583: ADD
00000584: DIV
00000585: PUSH1 0x0f
00000587: MUL
00000588: PUSH1 0x03
0000058a: ADD
0000058b: CALL
0000058c: POP
0000058d: SWAP1
0000058e: POP
0000058f: SWAP1
00000590: DUP2
00000591: ADD
00000592: SWAP1
00000593: PUSH1 0x1f
00000595: AND
00000596: DUP1
00000597: ISZERO
00000598: PUSH2 0x05b5
0000059b: JUMPI
0000059c: DUP1
0000059d: DUP3
0000059e: SUB
0000059f: DUP1
000005a0: MLOAD
000005a1: PUSH1 0x01
000005a3: DUP4
000005a4: PUSH1 0x20
000005a6: SUB
000005a7: PUSH2 0x0100
000005aa: EXP
000005ab: SUB
000005ac: NOT
000005ad: AND
000005ae: DUP2
000005af: MSTORE
000005b0: PUSH1 0x20
000005b2: ADD
000005b3: SWAP2
000005b4: POP
000005b5: JUMPDEST
000005b6: POP
000005b7: SWAP5
000005b8: POP
000005b9: POP
000005ba: POP
000005bb: POP
000005bc: POP
000005bd: PUSH1 0x40
000005bf: MLOAD
000005c0: DUP1
000005c1: SWAP2
000005c2: SUB
000005c3: SWAP1
000005c4: RETURN
000005c5: JUMPDEST
000005c6: PUSH1 0x40
000005c8: MLOAD
000005c9: DUP1
000005ca: DUP6
000005cb: PUSH1 0x01
000005cd: PUSH1 0xa0
000005cf: PUSH1 0x02
000005d1: EXP
000005d2: SUB
000005d3: AND
000005d4: DUP2
000005d5: MSTORE
000005d6: PUSH1 0x20
000005d8: ADD
000005d9: DUP5
000005da: DUP2
000005db: MSTORE
000005dc: PUSH1 0x20
000005de: ADD
000005df: DUP4
000005e0: DUP2
000005e1: MSTORE
000005e2: PUSH1 0x20
000005e4: ADD
000005e5: DUP1
000005e6: PUSH1 0x20
000005e8: ADD
000005e9: DUP3
000005ea: DUP2
000005eb: SUB
000005ec: DUP3
000005ed: MSTORE
000005ee: DUP4
000005ef: DUP2
000005f0: DUP2
000005f1: MLOAD
000005f2: DUP2
000005f3: MSTORE
000005f4: PUSH1 0x20
000005f6: ADD
000005f7: SWAP2
000005f8: POP
000005f9: DUP1
000005fa: MLOAD
000005fb: SWAP1
000005fc: PUSH1 0x20
000005fe: ADD
000005ff: SWAP1
00000600: DUP1
00000601: DUP4
00000602: DUP4
00000603: DUP3
00000604: SWAP1
00000605: PUSH1 0x00
00000607: PUSH1 0x04
00000609: PUSH1 0x20
0000060b: DUP5
0000060c: PUSH1 0x1f
0000060e: ADD
0000060f: DIV
00000610: PUSH1 0x0f
00000612: MUL
00000613: PUSH1 0x03
00000615: ADD
00000616: CALL
00000617: POP
00000618: SWAP1
00000619: POP
0000061a: SWAP1
0000061b: DUP2
0000061c: ADD
0000061d: SWAP1
0000061e: PUSH1 0x1f
00000620: AND
00000621: DUP1
00000622: ISZERO
00000623: PUSH2 0x0640
00000626: JUMPI
00000627: DUP1
00000628: DUP3
00000629: SUB
0000062a: DUP1
0000062b: MLOAD
0000062c: PUSH1 0x01
0000062e: DUP4
0000062f: PUSH1 0x20
00000631: SUB
00000632: PUSH2 0x0100
00000635: EXP
00000636: SUB
00000637: NOT
00000638: AND
00000639: DUP2
0000063a: MSTORE
0000063b: PUSH1 0x20
0000063d: ADD
0000063e: SWAP2
0000063f: POP
00000640: JUMPDEST
00000641: POP
00000642: SWAP6
00000643: POP
00000644: POP
00000645: POP
00000646: POP
00000647: POP
00000648: POP
00000649: PUSH1 0x40
0000064b: MLOAD
0000064c: DUP1
0000064d: SWAP2
0000064e: SUB

exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' /tmp/codex-hyjd74og/BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | sed -n '"'900,1240p'" in /tmp/codex-hyjd74og
 succeeded in 0ms:
0000064e: SUB
0000064f: SWAP1
00000650: RETURN
00000651: JUMPDEST
00000652: PUSH2 0x00a3
00000655: PUSH8 0x0de0b6b3a7640000
0000065e: PUSH1 0x00
00000660: DUP1
00000661: DUP1
00000662: DUP1
00000663: CALLVALUE
00000664: DUP6
00000665: SWAP1
00000666: GT
00000667: ISZERO
00000668: PUSH2 0x0696
0000066b: JUMPI
0000066c: PUSH1 0x40
0000066e: MLOAD
0000066f: PUSH1 0x01
00000671: PUSH1 0xa0
00000673: PUSH1 0x02
00000675: EXP
00000676: SUB
00000677: CALLER
00000678: AND
00000679: SWAP1
0000067a: DUP3
0000067b: SWAP1
0000067c: PUSH8 0x0de0b6b3a763ffff
00000685: NOT
00000686: CALLVALUE
00000687: ADD
00000688: SWAP1
00000689: DUP3
0000068a: DUP2
0000068b: DUP2
0000068c: DUP2
0000068d: DUP6
0000068e: DUP9
0000068f: DUP4
00000690: CALL
00000691: POP
00000692: POP
00000693: POP
00000694: POP
00000695: POP
00000696: JUMPDEST
00000697: PUSH1 0x01
00000699: PUSH1 0xa0
0000069b: PUSH1 0x02
0000069d: EXP
0000069e: SUB
0000069f: CALLER
000006a0: DUP2
000006a1: AND
000006a2: PUSH1 0x00
000006a4: SWAP1
000006a5: DUP2
000006a6: MSTORE
000006a7: PUSH1 0x04
000006a9: PUSH1 0x20
000006ab: MSTORE
000006ac: PUSH1 0x40
000006ae: DUP2
000006af: KECCAK256
000006b0: SLOAD
000006b1: SWAP1
000006b2: SWAP2
000006b3: AND
000006b4: EQ
000006b5: ISZERO
000006b6: PUSH2 0x06dc
000006b9: JUMPI
000006ba: PUSH1 0x40
000006bc: PUSH1 0x00
000006be: SWAP1
000006bf: DUP2
000006c0: KECCAK256
000006c1: DUP1
000006c2: SLOAD
000006c3: PUSH1 0x01
000006c5: PUSH1 0xa0
000006c7: PUSH1 0x02
000006c9: EXP
000006ca: SUB
000006cb: NOT
000006cc: AND
000006cd: CALLER
000006ce: OR
000006cf: DUP2
000006d0: SSTORE
000006d1: PUSH1 0x01
000006d3: DUP2
000006d4: ADD
000006d5: DUP3
000006d6: SWAP1
000006d7: SSTORE
000006d8: PUSH1 0x02
000006da: ADD
000006db: SSTORE
000006dc: JUMPDEST
000006dd: PUSH1 0x05
000006df: DUP1
000006e0: SLOAD
000006e1: PUSH1 0x01
000006e3: DUP2
000006e4: ADD
000006e5: DUP1
000006e6: DUP4
000006e7: SSTORE
000006e8: DUP3
000006e9: DUP2
000006ea: DUP4
000006eb: DUP1
000006ec: ISZERO
000006ed: DUP3
000006ee: SWAP1
000006ef: GT
000006f0: PUSH2 0x0751
000006f3: JUMPI
000006f4: PUSH1 0x04
000006f6: MUL
000006f7: DUP2
000006f8: PUSH1 0x04
000006fa: MUL
000006fb: DUP4
000006fc: PUSH1 0x00
000006fe: MSTORE
000006ff: PUSH1 0x20
00000701: PUSH1 0x00
00000703: KECCAK256
00000704: SWAP2
00000705: DUP3
00000706: ADD
00000707: SWAP2
00000708: ADD
00000709: PUSH2 0x0751
0000070c: SWAP2
0000070d: SWAP1
0000070e: JUMPDEST
0000070f: DUP1
00000710: DUP3
00000711: GT
00000712: ISZERO
00000713: PUSH2 0x081e
00000716: JUMPI
00000717: DUP1
00000718: SLOAD
00000719: PUSH1 0x01
0000071b: PUSH1 0xa0
0000071d: PUSH1 0x02
0000071f: EXP
00000720: SUB
00000721: NOT
00000722: AND
00000723: DUP2
00000724: SSTORE
00000725: PUSH1 0x00
00000727: PUSH1 0x01
00000729: DUP3
0000072a: ADD
0000072b: DUP2
0000072c: DUP2
0000072d: SSTORE
0000072e: PUSH1 0x02
00000730: DUP4
00000731: ADD
00000732: SWAP2
00000733: SWAP1
00000734: SWAP2
00000735: SSTORE
00000736: PUSH1 0x03
00000738: SWAP1
00000739: SWAP2
0000073a: ADD
0000073b: DUP1
0000073c: SLOAD
0000073d: PUSH1 0xff
0000073f: NOT
00000740: AND
00000741: SWAP1
00000742: SSTORE
00000743: PUSH2 0x070e
00000746: JUMP
00000747: JUMPDEST
00000748: PUSH1 0x03
0000074a: SSTORE
0000074b: JUMP
0000074c: JUMPDEST
0000074d: PUSH1 0x02
0000074f: SSTORE
00000750: JUMP
00000751: JUMPDEST
00000752: POP
00000753: POP
00000754: POP
00000755: SWAP2
00000756: SWAP1
00000757: SWAP1
00000758: PUSH1 0x00
0000075a: MSTORE
0000075b: PUSH1 0x20
0000075d: PUSH1 0x00
0000075f: KECCAK256
00000760: SWAP1
00000761: PUSH1 0x04
00000763: MUL
00000764: ADD
00000765: PUSH1 0x00
00000767: POP
00000768: PUSH1 0x40
0000076a: DUP1
0000076b: MLOAD
0000076c: PUSH1 0x80
0000076e: DUP2
0000076f: ADD
00000770: DUP3
00000771: MSTORE
00000772: CALLER
00000773: DUP1
00000774: DUP3
00000775: MSTORE
00000776: PUSH1 0x20
00000778: DUP1
00000779: DUP4
0000077a: ADD
0000077b: DUP12
0000077c: SWAP1
0000077d: MSTORE
0000077e: PUSH1 0x03
00000780: DUP1
00000781: SLOAD
00000782: PUSH1 0x64
00000784: SWAP1
00000785: DUP14
00000786: MUL
00000787: DIV
00000788: DUP5
00000789: DUP7
0000078a: ADD
0000078b: DUP2
0000078c: SWAP1
0000078d: MSTORE
0000078e: PUSH1 0x00
00000790: PUSH1 0x60
00000792: SWAP6
00000793: SWAP1
00000794: SWAP6
00000795: ADD
00000796: DUP6
00000797: SWAP1
00000798: MSTORE
00000799: DUP7
0000079a: SLOAD
0000079b: PUSH1 0x01
0000079d: PUSH1 0xa0
0000079f: PUSH1 0x02
000007a1: EXP
000007a2: SUB
000007a3: NOT
000007a4: AND
000007a5: DUP5
000007a6: OR
000007a7: DUP8
000007a8: SSTORE
000007a9: PUSH1 0x01
000007ab: DUP8
000007ac: DUP2
000007ad: ADD
000007ae: DUP15
000007af: SWAP1
000007b0: SSTORE
000007b1: PUSH1 0x02
000007b3: DUP9
000007b4: ADD
000007b5: SWAP2
000007b6: SWAP1
000007b7: SWAP2
000007b8: SSTORE
000007b9: SWAP6
000007ba: ADD
000007bb: DUP1
000007bc: SLOAD
000007bd: PUSH1 0xff
000007bf: NOT
000007c0: AND
000007c1: SWAP1
000007c2: SSTORE
000007c3: PUSH1 0x01
000007c5: PUSH1 0xa0
000007c7: PUSH1 0x02
000007c9: EXP
000007ca: SUB
000007cb: SWAP1
000007cc: SWAP2
000007cd: AND
000007ce: DUP3
000007cf: MSTORE
000007d0: PUSH1 0x04
000007d2: SWAP1
000007d3: MSTORE
000007d4: KECCAK256
000007d5: DUP2
000007d6: ADD
000007d7: DUP1
000007d8: SLOAD
000007d9: DUP3
000007da: ADD
000007db: SWAP1
000007dc: SSTORE
000007dd: PUSH1 0x06
000007df: DUP1
000007e0: SLOAD
000007e1: SWAP2
000007e2: DUP3
000007e3: ADD
000007e4: DUP1
000007e5: DUP3
000007e6: SSTORE
000007e7: SWAP1
000007e8: SWAP3
000007e9: POP
000007ea: DUP3
000007eb: DUP2
000007ec: DUP4
000007ed: DUP1
000007ee: ISZERO
000007ef: DUP3
000007f0: SWAP1
000007f1: GT
000007f2: PUSH2 0x0822
000007f5: JUMPI
000007f6: DUP2
000007f7: DUP4
000007f8: PUSH1 0x00
000007fa: MSTORE
000007fb: PUSH1 0x20
000007fd: PUSH1 0x00
000007ff: KECCAK256
00000800: SWAP2

exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' /tmp/codex-hyjd74og/BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | sed -n '"'1240,1460p'" in /tmp/codex-hyjd74og
 succeeded in 0ms:
00000800: SWAP2
00000801: DUP3
00000802: ADD
00000803: SWAP2
00000804: ADD
00000805: PUSH2 0x0822
00000808: SWAP2
00000809: SWAP1
0000080a: JUMPDEST
0000080b: DUP1
0000080c: DUP3
0000080d: GT
0000080e: ISZERO
0000080f: PUSH2 0x081e
00000812: JUMPI
00000813: PUSH1 0x00
00000815: DUP2
00000816: SSTORE
00000817: PUSH1 0x01
00000819: ADD
0000081a: PUSH2 0x080a
0000081d: JUMP
0000081e: JUMPDEST
0000081f: POP
00000820: SWAP1
00000821: JUMP
00000822: JUMPDEST
00000823: POP
00000824: POP
00000825: POP
00000826: PUSH1 0x00
00000828: SWAP3
00000829: DUP4
0000082a: MSTORE
0000082b: POP
0000082c: PUSH1 0x05
0000082e: SLOAD
0000082f: PUSH1 0x20
00000831: SWAP1
00000832: SWAP3
00000833: KECCAK256
00000834: PUSH1 0x00
00000836: NOT
00000837: SWAP3
00000838: SWAP1
00000839: SWAP3
0000083a: ADD
0000083b: SWAP2
0000083c: ADD
0000083d: SSTORE
0000083e: PUSH1 0x01
00000840: DUP1
00000841: SLOAD
00000842: PUSH1 0x02
00000844: SLOAD
00000845: PUSH1 0x64
00000847: SWAP1
00000848: DUP2
00000849: SUB
0000084a: DUP9
0000084b: MUL
0000084c: DIV
0000084d: ADD
0000084e: DUP2
0000084f: SSTORE
00000850: PUSH1 0x06
00000852: SLOAD
00000853: GT
00000854: PUSH2 0x0a18
00000857: JUMPI
00000858: PUSH1 0x00
0000085a: JUMPDEST
0000085b: PUSH1 0x06
0000085d: DUP1
0000085e: SLOAD
0000085f: SWAP2
00000860: SWAP6
00000861: POP
00000862: PUSH1 0x05
00000864: SWAP2
00000865: DUP7
00000866: SWAP1
00000867: DUP2
00000868: LT
00000869: ISZERO
0000086a: PUSH2 0x0002
0000086d: JUMPI
0000086e: POP
0000086f: PUSH1 0x00
00000871: MSTORE
00000872: PUSH32 0xf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f
00000893: DUP6
00000894: ADD
00000895: SLOAD
00000896: DUP2
00000897: SLOAD
00000898: DUP2
00000899: LT
0000089a: ISZERO
0000089b: PUSH2 0x0002
0000089e: JUMPI
0000089f: SWAP1
000008a0: PUSH1 0x00
000008a2: MSTORE
000008a3: PUSH1 0x20
000008a5: PUSH1 0x00
000008a7: KECCAK256
000008a8: SWAP1
000008a9: PUSH1 0x04
000008ab: MUL
000008ac: ADD
000008ad: PUSH1 0x00
000008af: POP
000008b0: PUSH1 0x01
000008b2: SLOAD
000008b3: PUSH1 0x02
000008b5: DUP3
000008b6: ADD
000008b7: SLOAD
000008b8: SWAP2
000008b9: SWAP5
000008ba: POP
000008bb: GT
000008bc: ISZERO
000008bd: PUSH2 0x0a33
000008c0: JUMPI
000008c1: PUSH1 0x40
000008c3: MLOAD
000008c4: DUP4
000008c5: SLOAD
000008c6: PUSH1 0x02
000008c8: DUP6
000008c9: ADD
000008ca: SLOAD
000008cb: SWAP4
000008cc: POP
000008cd: PUSH1 0x01
000008cf: PUSH1 0xa0
000008d1: PUSH1 0x02
000008d3: EXP
000008d4: SUB
000008d5: AND
000008d6: SWAP1
000008d7: PUSH1 0x00
000008d9: SWAP1
000008da: DUP5
000008db: SWAP1
000008dc: DUP3
000008dd: DUP2
000008de: DUP2
000008df: DUP2
000008e0: DUP6
000008e1: DUP9
000008e2: DUP4
000008e3: CALL
000008e4: SWAP4
000008e5: POP
000008e6: POP
000008e7: POP
000008e8: POP
000008e9: POP
000008ea: PUSH1 0x01
000008ec: DUP4
000008ed: PUSH1 0x03
000008ef: ADD
000008f0: PUSH1 0x00
000008f2: PUSH2 0x0100
000008f5: EXP
000008f6: DUP2
000008f7: SLOAD
000008f8: DUP2
000008f9: PUSH1 0xff
000008fb: MUL
000008fc: NOT
000008fd: AND
000008fe: SWAP1
000008ff: DUP4
00000900: MUL
00000901: OR
00000902: SWAP1
00000903: SSTORE
00000904: POP
00000905: PUSH1 0x04
00000907: PUSH1 0x00
00000909: POP
0000090a: PUSH1 0x00
0000090c: DUP5
0000090d: PUSH1 0x00
0000090f: ADD
00000910: PUSH1 0x00
00000912: SWAP1
00000913: SLOAD
00000914: SWAP1
00000915: PUSH2 0x0100
00000918: EXP
00000919: SWAP1
0000091a: DIV
0000091b: PUSH1 0x01
0000091d: PUSH1 0xa0
0000091f: PUSH1 0x02
00000921: EXP
00000922: SUB
00000923: AND
00000924: PUSH1 0x01
00000926: PUSH1 0xa0
00000928: PUSH1 0x02
0000092a: EXP
0000092b: SUB
0000092c: AND
0000092d: DUP2
0000092e: MSTORE
0000092f: PUSH1 0x20
00000931: ADD
00000932: SWAP1
00000933: DUP2
00000934: MSTORE
00000935: PUSH1 0x20
00000937: ADD
00000938: PUSH1 0x00
0000093a: KECCAK256
0000093b: PUSH1 0x00

exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' /tmp/codex-hyjd74og/BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | sed -n '"'1460,1700p'" in /tmp/codex-hyjd74og
 succeeded in 0ms:
0000093b: PUSH1 0x00
0000093d: POP
0000093e: PUSH1 0x02
00000940: ADD
00000941: PUSH1 0x00
00000943: DUP2
00000944: DUP2
00000945: POP
00000946: SLOAD
00000947: DUP1
00000948: SWAP3
00000949: SWAP2
0000094a: SWAP1
0000094b: PUSH1 0x01
0000094d: ADD
0000094e: SWAP2
0000094f: SWAP1
00000950: POP
00000951: SSTORE
00000952: POP
00000953: DUP2
00000954: PUSH1 0x01
00000956: PUSH1 0x00
00000958: DUP3
00000959: DUP3
0000095a: DUP3
0000095b: POP
0000095c: SLOAD
0000095d: SUB
0000095e: SWAP3
0000095f: POP
00000960: POP
00000961: DUP2
00000962: SWAP1
00000963: SSTORE
00000964: POP
00000965: PUSH1 0x01
00000967: PUSH1 0x06
00000969: PUSH1 0x00
0000096b: POP
0000096c: DUP1
0000096d: SLOAD
0000096e: SWAP1
0000096f: POP
00000970: SUB
00000971: DUP5
00000972: LT
00000973: ISZERO
00000974: PUSH2 0x09e6
00000977: JUMPI
00000978: PUSH1 0x06
0000097a: DUP1
0000097b: SLOAD
0000097c: PUSH1 0x00
0000097e: NOT
0000097f: DUP2
00000980: ADD
00000981: SWAP1
00000982: DUP2
00000983: LT
00000984: ISZERO
00000985: PUSH2 0x0002
00000988: JUMPI
00000989: POP
0000098a: DUP1
0000098b: SLOAD
0000098c: PUSH1 0x00
0000098e: DUP3
0000098f: SWAP1
00000990: MSTORE
00000991: PUSH32 0xf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3e
000009b2: DUP2
000009b3: ADD
000009b4: SLOAD
000009b5: SWAP2
000009b6: SWAP1
000009b7: DUP7
000009b8: SWAP1
000009b9: DUP2
000009ba: LT
000009bb: ISZERO
000009bc: PUSH2 0x0002
000009bf: JUMPI
000009c0: POP
000009c1: POP
000009c2: PUSH32 0xf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f
000009e3: DUP6
000009e4: ADD
000009e5: SSTORE
000009e6: JUMPDEST
000009e7: PUSH1 0x06
000009e9: DUP1
000009ea: SLOAD
000009eb: PUSH1 0x00
000009ed: NOT
000009ee: DUP2
000009ef: ADD
000009f0: DUP1
000009f1: DUP4
000009f2: SSTORE
000009f3: SWAP1
000009f4: SWAP2
000009f5: SWAP1
000009f6: DUP3
000009f7: DUP1
000009f8: ISZERO
000009f9: DUP3
000009fa: SWAP1
000009fb: GT
000009fc: PUSH2 0x0a2e
000009ff: JUMPI
00000a00: DUP2
00000a01: DUP4
00000a02: PUSH1 0x00
00000a04: MSTORE
00000a05: PUSH1 0x20
00000a07: PUSH1 0x00
00000a09: KECCAK256
00000a0a: SWAP2
00000a0b: DUP3
00000a0c: ADD
00000a0d: SWAP2
00000a0e: ADD
00000a0f: PUSH2 0x0a2e
00000a12: SWAP2
00000a13: SWAP1
00000a14: PUSH2 0x080a
00000a17: JUMP
00000a18: JUMPDEST
00000a19: PUSH1 0x06
00000a1b: SLOAD
00000a1c: PUSH1 0x23
00000a1e: NOT
00000a1f: DUP2
00000a20: SWAP1
00000a21: DIV
00000a22: NUMBER
00000a23: PUSH1 0x00
00000a25: NOT
00000a26: ADD
00000a27: BLOCKHASH
00000a28: DIV
00000a29: MOD
00000a2a: PUSH2 0x085a
00000a2d: JUMP
00000a2e: JUMPDEST
00000a2f: POP
00000a30: POP
00000a31: POP
00000a32: POP
00000a33: JUMPDEST
00000a34: POP
00000a35: PUSH1 0x01
00000a37: SLOAD
00000a38: ADDRESS
00000a39: PUSH1 0x01
00000a3b: PUSH1 0xa0
00000a3d: PUSH1 0x02
00000a3f: EXP
00000a40: SUB
00000a41: AND
00000a42: BALANCE
00000a43: SUB
00000a44: PUSH1 0x00
00000a46: DUP2
00000a47: GT
00000a48: ISZERO
00000a49: PUSH2 0x0a71
00000a4c: JUMPI
00000a4d: PUSH1 0x00
00000a4f: DUP1
00000a50: SLOAD
00000a51: PUSH1 0x40
00000a53: MLOAD
00000a54: PUSH1 0x01
00000a56: PUSH1 0xa0
00000a58: PUSH1 0x02
00000a5a: EXP
00000a5b: SUB
00000a5c: SWAP2
00000a5d: SWAP1
00000a5e: SWAP2
00000a5f: AND
00000a60: SWAP2
00000a61: SWAP1
00000a62: DUP4
00000a63: SWAP1
00000a64: DUP3
00000a65: DUP2
00000a66: DUP2
00000a67: DUP2
00000a68: DUP6
00000a69: DUP9
00000a6a: DUP4
00000a6b: CALL
00000a6c: POP
00000a6d: POP
00000a6e: POP
00000a6f: POP
00000a70: POP
00000a71: JUMPDEST
00000a72: POP
00000a73: POP
00000a74: POP
00000a75: POP
00000a76: POP
00000a77: JUMP


codex
{"no_findings":false,"summary":"Read BYTECODE_BUNDLE.json. Bytecode-only analysis suggests this is a payable deposit queue / payout scheme with owner-controlled parameters, a payout loop in the fallback/deposit path, and several unchecked low-level ETH CALLs. The strongest issues are a reentrancy window around queued payouts and accounting that advances even if a payout transfer fails. Selector inference is uncertain; the vulnerable path is the payable fallback/deposit logic rather than a named ABI function.","findings":[{"severity":"high","category":"reentrancy","title":"Queued payout is sent before the entry is marked paid","exploit_scenario":"An attacker deposits enough to become the next payable recipient. When the contract pays that entry, the attacker's fallback receives more than 1 ETH, then immediately reenters the payable fallback/deposit path with 1 ETH before the original payout is marked complete. Because the queue item and global counters are only updated after the external CALL returns, the same entry can be selected and paid again recursively until available balance is drained.","recommendation":"Apply checks-effects-interactions on the payout path: mark the entry paid and update queue/accounting before any external transfer, or move to a pull-payment claim model. Add a reentrancy guard around the deposit/payout flow.","evidence":"In the deposit/fallback path, the contract computes and executes a value-bearing CALL to the queued recipient at pc:0x8e3. The first observed bookkeeping write for that payout happens only afterward in the SSTORE sequence beginning at pc:0x8f7/pc:0x903, followed by user/global accounting writes at pc:0x951, pc:0x963, and pc:0x9f2. No guard is visible in the artifact. The contract also constrains/advertises its payout multiplier to 110%-150% (bound check at pc:0x32f-0x33f and embedded strings), so a recipient callback has enough ETH to reenter the payable path at pc:0x651.","locations":["pc:0x651","pc:0x8e3","pc:0x903","pc:0x951","pc:0x963","pc:0x9f2"]},{"severity":"medium","category":"other","title":"Payout accounting advances even if the ETH transfer fails","exploit_scenario":"A queued recipient can be a contract that reverts on receiving ETH or otherwise causes the CALL to fail. The contract does not check the CALL result, but still marks the queue item as paid and updates totals as if the transfer succeeded. The recipient loses its payout while the ETH stays in the contract balance and later accounting no longer reflects the obligation correctly.","recommendation":"Check the success flag of value-transferring CALLs and revert or leave the claim outstanding on failure. Prefer a pull-based withdraw pattern so failed transfers do not corrupt payout/accounting state.","evidence":"The payout CALL at pc:0x8e3 is immediately discarded without a success check at pc:0x8e4-pc:0x8e9. Despite that, the code proceeds with state changes that appear to finalize the payout: the queue-entry status byte is updated in the write sequence ending at pc:0x903, user/global totals are mutated around pc:0x93e-pc:0x963, and queue counters are updated at pc:0x9e7-pc:0x9f2. Other ETH CALLs at pc:0x9d, pc:0x690, and pc:0xa6b are also unchecked, but the payout path is the materially dangerous one.","locations":["pc:0x8e3","pc:0x903","pc:0x93e","pc:0x963","pc:0x9e7","pc:0x9f2"]}]}
tokens used
83,612
Metadata
{
    "codex": {
        "ran_at": "2026-04-05T05:24:39.398233+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 5362,
        "bytecode_truncated": false,
        "capability_graph_present": true,
        "analysis_artifact_present": true
    },
    "summary": "Read BYTECODE_BUNDLE.json. Bytecode-only analysis suggests this is a payable deposit queue / payout scheme with owner-controlled parameters, a payout loop in the fallback/deposit path, and several unchecked low-level ETH CALLs. The strongest issues are a reentrancy window around queued payouts and accounting that advances even if a payout transfer fails. Selector inference is uncertain; the vulnerable path is the payable fallback/deposit logic rather than a named ABI function.",
    "raw_final": {
        "summary": "Read BYTECODE_BUNDLE.json. Bytecode-only analysis suggests this is a payable deposit queue / payout scheme with owner-controlled parameters, a payout loop in the fallback/deposit path, and several unchecked low-level ETH CALLs. The strongest issues are a reentrancy window around queued payouts and accounting that advances even if a payout transfer fails. Selector inference is uncertain; the vulnerable path is the payable fallback/deposit logic rather than a named ABI function.",
        "findings": [
            {
                "title": "Queued payout is sent before the entry is marked paid",
                "category": "reentrancy",
                "evidence": "In the deposit/fallback path, the contract computes and executes a value-bearing CALL to the queued recipient at pc:0x8e3. The first observed bookkeeping write for that payout happens only afterward in the SSTORE sequence beginning at pc:0x8f7/pc:0x903, followed by user/global accounting writes at pc:0x951, pc:0x963, and pc:0x9f2. No guard is visible in the artifact. The contract also constrains/advertises its payout multiplier to 110%-150% (bound check at pc:0x32f-0x33f and embedded strings), so a recipient callback has enough ETH to reenter the payable path at pc:0x651.",
                "severity": "high",
                "locations": [
                    "pc:0x651",
                    "pc:0x8e3",
                    "pc:0x903",
                    "pc:0x951",
                    "pc:0x963",
                    "pc:0x9f2"
                ],
                "recommendation": "Apply checks-effects-interactions on the payout path: mark the entry paid and update queue/accounting before any external transfer, or move to a pull-payment claim model. Add a reentrancy guard around the deposit/payout flow.",
                "exploit_scenario": "An attacker deposits enough to become the next payable recipient. When the contract pays that entry, the attacker's fallback receives more than 1 ETH, then immediately reenters the payable fallback/deposit path with 1 ETH before the original payout is marked complete. Because the queue item and global counters are only updated after the external CALL returns, the same entry can be selected and paid again recursively until available balance is drained."
            },
            {
                "title": "Payout accounting advances even if the ETH transfer fails",
                "category": "other",
                "evidence": "The payout CALL at pc:0x8e3 is immediately discarded without a success check at pc:0x8e4-pc:0x8e9. Despite that, the code proceeds with state changes that appear to finalize the payout: the queue-entry status byte is updated in the write sequence ending at pc:0x903, user/global totals are mutated around pc:0x93e-pc:0x963, and queue counters are updated at pc:0x9e7-pc:0x9f2. Other ETH CALLs at pc:0x9d, pc:0x690, and pc:0xa6b are also unchecked, but the payout path is the materially dangerous one.",
                "severity": "medium",
                "locations": [
                    "pc:0x8e3",
                    "pc:0x903",
                    "pc:0x93e",
                    "pc:0x963",
                    "pc:0x9e7",
                    "pc:0x9f2"
                ],
                "recommendation": "Check the success flag of value-transferring CALLs and revert or leave the claim outstanding on failure. Prefer a pull-based withdraw pattern so failed transfers do not corrupt payout/accounting state.",
                "exploit_scenario": "A queued recipient can be a contract that reverts on receiving ETH or otherwise causes the CALL to fail. The contract does not check the CALL result, but still marks the queue item as paid and updates totals as if the transfer succeeded. The recipient loses its payout while the ETH stays in the contract balance and later accounting no longer reflects the obligation correctly."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
7
EXT*/BALANCE
1
Total opcodes
1666
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x006c
0000000a: JUMPI
0000000b: PUSH1 0xe0
0000000d: PUSH1 0x02
0000000f: EXP
00000010: PUSH1 0x00
00000012: CALLDATALOAD
00000013: DIV
00000014: PUSH4 0x30677b83
00000019: DUP2
0000001a: EQ
0000001b: PUSH2 0x00a5
0000001e: JUMPI
0000001f: DUP1
00000020: PUSH4 0x6a1db1bf
00000025: EQ
00000026: PUSH2 0x01b1
00000029: JUMPI
0000002a: DUP1
0000002b: PUSH4 0x7fef036e
00000030: EQ
00000031: PUSH2 0x01e1
00000034: JUMPI
00000035: DUP1
00000036: PUSH4 0x8a65d874
0000003b: EQ
0000003c: PUSH2 0x022d
0000003f: JUMPI
00000040: DUP1
00000041: PUSH4 0xa6f9dae1
00000046: EQ
00000047: PUSH2 0x02da
0000004a: JUMPI
0000004b: DUP1
0000004c: PUSH4 0xced92670
00000051: EQ
00000052: PUSH2 0x030f
00000055: JUMPI
00000056: DUP1
00000057: PUSH4 0xda3c300d
0000005c: EQ
0000005d: PUSH2 0x0347
00000060: JUMPI
00000061: DUP1
00000062: PUSH4 0xf67abd87
00000067: EQ
00000068: PUSH2 0x03e2
0000006b: JUMPI
0000006c: JUMPDEST
0000006d: PUSH2 0x0547
00000070: PUSH2 0x00a3
00000073: PUSH8 0x0de0b6b3a7640000
0000007c: CALLVALUE
0000007d: LT
0000007e: ISZERO
0000007f: PUSH2 0x0651
00000082: JUMPI
00000083: PUSH1 0x40
00000085: MLOAD
00000086: PUSH1 0x01
00000088: PUSH1 0xa0
0000008a: PUSH1 0x02
0000008c: EXP
0000008d: SUB
0000008e: CALLER
0000008f: AND
00000090: SWAP1
00000091: PUSH1 0x00
00000093: SWAP1
00000094: CALLVALUE
00000095: SWAP1
00000096: DUP3
00000097: DUP2
00000098: DUP2
00000099: DUP2
0000009a: DUP6
0000009b: DUP9
0000009c: DUP4
0000009d: CALL
0000009e: POP
0000009f: POP
000000a0: POP
000000a1: POP
000000a2: POP
000000a3: JUMPDEST
000000a4: JUMP
000000a5: JUMPDEST
000000a6: PUSH1 0x40
000000a8: DUP1
000000a9: MLOAD
000000aa: PUSH1 0x20
000000ac: DUP1
000000ad: DUP3
000000ae: ADD
000000af: DUP4
000000b0: MSTORE
000000b1: PUSH1 0x00
000000b3: SWAP1
000000b4: SWAP2
000000b5: MSTORE
000000b6: DUP2
000000b7: MLOAD
000000b8: PUSH1 0x03
000000ba: SLOAD
000000bb: PUSH1 0x80
000000bd: DUP3
000000be: ADD
000000bf: DUP5
000000c0: MSTORE
000000c1: PUSH1 0x43
000000c3: DUP3
000000c4: MSTORE
000000c5: PUSH32 0x5468652063757272656e74206d756c7469706c696572206170706c6965642074
000000e6: SWAP3
000000e7: DUP3
000000e8: ADD
000000e9: SWAP3
000000ea: SWAP1
000000eb: SWAP3
000000ec: MSTORE
000000ed: PUSH32 0x6f20616c6c206465706f736974732e204d696e20313130252c206d6178203135
0000010e: SWAP3
0000010f: DUP2
00000110: ADD
00000111: SWAP3
00000112: SWAP1
00000113: SWAP3
00000114: MSTORE
00000115: PUSH32 0x30252e0000000000000000000000000000000000000000000000000000000000
00000136: PUSH1 0x60
00000138: DUP4
00000139: ADD
0000013a: MSTORE
0000013b: SWAP1
0000013c: JUMPDEST
0000013d: PUSH1 0x40
0000013f: MLOAD
00000140: DUP1
00000141: DUP4
00000142: DUP2
00000143: MSTORE
00000144: PUSH1 0x20
00000146: ADD
00000147: DUP1
00000148: PUSH1 0x20
0000014a: ADD
0000014b: DUP3
0000014c: DUP2
0000014d: SUB
0000014e: DUP3
0000014f: MSTORE
00000150: DUP4
00000151: DUP2
00000152: DUP2
00000153: MLOAD
00000154: DUP2
00000155: MSTORE
00000156: PUSH1 0x20
00000158: ADD
00000159: SWAP2
0000015a: POP
0000015b: DUP1
0000015c: MLOAD
0000015d: SWAP1
0000015e: PUSH1 0x20
00000160: ADD
00000161: SWAP1
00000162: DUP1
00000163: DUP4
00000164: DUP4
00000165: DUP3
00000166: SWAP1
00000167: PUSH1 0x00
00000169: PUSH1 0x04
0000016b: PUSH1 0x20
0000016d: DUP5
0000016e: PUSH1 0x1f
00000170: ADD
00000171: DIV
00000172: PUSH1 0x0f
00000174: MUL
00000175: PUSH1 0x03
00000177: ADD
00000178: CALL
00000179: POP
0000017a: SWAP1
0000017b: POP
0000017c: SWAP1
0000017d: DUP2
0000017e: ADD
0000017f: SWAP1
00000180: PUSH1 0x1f
00000182: AND
00000183: DUP1
00000184: ISZERO
00000185: PUSH2 0x01a2
00000188: JUMPI
00000189: DUP1
0000018a: DUP3
0000018b: SUB
0000018c: DUP1
0000018d: MLOAD
0000018e: PUSH1 0x01
00000190: DUP4
00000191: PUSH1 0x20
00000193: SUB
00000194: PUSH2 0x0100
00000197: EXP
00000198: SUB
00000199: NOT
0000019a: AND
0000019b: DUP2
0000019c: MSTORE
0000019d: PUSH1 0x20
0000019f: ADD
000001a0: SWAP2
000001a1: POP
000001a2: JUMPDEST
000001a3: POP
000001a4: SWAP4
000001a5: POP
000001a6: POP
000001a7: POP
000001a8: POP
000001a9: PUSH1 0x40
000001ab: MLOAD
000001ac: DUP1
000001ad: SWAP2
000001ae: SUB
000001af: SWAP1
000001b0: RETURN
000001b1: JUMPDEST
000001b2: PUSH2 0x0547
000001b5: PUSH1 0x04
000001b7: CALLDATALOAD
000001b8: PUSH1 0x00
000001ba: SLOAD
000001bb: PUSH1 0x01
000001bd: PUSH1 0xa0
000001bf: PUSH1 0x02
000001c1: EXP
000001c2: SUB
000001c3: SWAP1
000001c4: DUP2
000001c5: AND
000001c6: CALLER
000001c7: SWAP2
000001c8: SWAP1
000001c9: SWAP2
000001ca: AND
000001cb: EQ
000001cc: ISZERO
000001cd: PUSH2 0x030c
000001d0: JUMPI
000001d1: PUSH1 0x02
000001d3: SLOAD
000001d4: PUSH1 0x05
000001d6: SWAP1
000001d7: GT
000001d8: ISZERO
000001d9: PUSH2 0x074c
000001dc: JUMPI
000001dd: PUSH2 0x0002
000001e0: JUMP
000001e1: JUMPDEST
000001e2: PUSH1 0x40
000001e4: DUP1
000001e5: MLOAD
000001e6: PUSH1 0x20
000001e8: DUP1
000001e9: DUP3
000001ea: ADD
000001eb: DUP4
000001ec: MSTORE
000001ed: PUSH1 0x00
000001ef: SWAP1
000001f0: SWAP2
000001f1: MSTORE
000001f2: DUP2
000001f3: MLOAD
000001f4: PUSH1 0x05
000001f6: SLOAD
000001f7: DUP2
000001f8: DUP5
000001f9: ADD
000001fa: SWAP1
000001fb: SWAP4
000001fc: MSTORE
000001fd: PUSH1 0x17
000001ff: DUP2
00000200: MSTORE
00000201: PUSH32 0x546865206e756d626572206f66206465706f736974732e000000000000000000
00000222: SWAP2
00000223: DUP2
00000224: ADD
00000225: SWAP2
00000226: SWAP1
00000227: SWAP2
00000228: MSTORE
00000229: PUSH2 0x013c
0000022c: JUMP
0000022d: JUMPDEST
0000022e: PUSH2 0x0549
00000231: PUSH1 0x04
00000233: CALLDATALOAD
00000234: PUSH1 0x40
00000236: DUP1
00000237: MLOAD
00000238: PUSH1 0x20
0000023a: DUP1
0000023b: DUP3
0000023c: ADD
0000023d: DUP4
0000023e: MSTORE
0000023f: PUSH1 0x00
00000241: DUP1
00000242: DUP4
00000243: MSTORE
00000244: PUSH1 0x01
00000246: PUSH1 0xa0
00000248: PUSH1 0x02
0000024a: EXP
0000024b: SUB
0000024c: DUP6
0000024d: DUP2
0000024e: AND
0000024f: DUP3
00000250: MSTORE
00000251: PUSH1 0x04
00000253: SWAP1
00000254: SWAP3
00000255: MSTORE
00000256: SWAP3
00000257: DUP4
00000258: KECCAK256
00000259: SLOAD
0000025a: DUP4
0000025b: SWAP3
0000025c: SWAP2
0000025d: AND
0000025e: DUP3
0000025f: EQ
00000260: PUSH2 0x02d3
00000263: JUMPI
00000264: POP
00000265: POP
00000266: PUSH1 0x40
00000268: SWAP1
00000269: DUP2
0000026a: SWAP1
0000026b: KECCAK256
0000026c: PUSH1 0x02
0000026e: DUP2
0000026f: ADD
00000270: SLOAD
00000271: PUSH1 0x01
00000273: SWAP2
00000274: SWAP1
00000275: SWAP2
00000276: ADD
00000277: SLOAD
00000278: DUP3
00000279: MLOAD
0000027a: PUSH1 0x60
0000027c: DUP2
0000027d: ADD
0000027e: DUP5
0000027f: MSTORE
00000280: PUSH1 0x2e
00000282: DUP2
00000283: MSTORE
00000284: PUSH32 0x55736572732073746174733a20746f74616c206465706f736974732c20706179
000002a5: PUSH1 0x20
000002a7: DUP3
000002a8: ADD
000002a9: MSTORE
000002aa: PUSH32 0x6f7574732072656365697665642e000000000000000000000000000000000000
000002cb: SWAP4
000002cc: DUP2
000002cd: ADD
000002ce: SWAP4
000002cf: SWAP1
000002d0: SWAP4
000002d1: MSTORE
000002d2: SWAP2
000002d3: JUMPDEST
000002d4: SWAP2
000002d5: SWAP4
000002d6: SWAP1
000002d7: SWAP3
000002d8: POP
000002d9: JUMP
000002da: JUMPDEST
000002db: PUSH2 0x0547
000002de: PUSH1 0x04
000002e0: CALLDATALOAD
000002e1: PUSH1 0x00
000002e3: SLOAD
000002e4: PUSH1 0x01
000002e6: PUSH1 0xa0
000002e8: PUSH1 0x02
000002ea: EXP
000002eb: SUB
000002ec: SWAP1
000002ed: DUP2
000002ee: AND
000002ef: CALLER
000002f0: SWAP2
000002f1: SWAP1
000002f2: SWAP2
000002f3: AND
000002f4: EQ
000002f5: ISZERO
000002f6: PUSH2 0x030c
000002f9: JUMPI
000002fa: PUSH1 0x00
000002fc: DUP1
000002fd: SLOAD
000002fe: PUSH1 0x01
00000300: PUSH1 0xa0
00000302: PUSH1 0x02
00000304: EXP
00000305: SUB
00000306: NOT
00000307: AND
00000308: DUP3
00000309: OR
0000030a: SWAP1
0000030b: SSTORE
0000030c: JUMPDEST
0000030d: POP
0000030e: JUMP
0000030f: JUMPDEST
00000310: PUSH2 0x0547
00000313: PUSH1 0x04
00000315: CALLDATALOAD
00000316: PUSH1 0x00
00000318: SLOAD
00000319: PUSH1 0x01
0000031b: PUSH1 0xa0
0000031d: PUSH1 0x02
0000031f: EXP
00000320: SUB
00000321: SWAP1
00000322: DUP2
00000323: AND
00000324: CALLER
00000325: SWAP2
00000326: SWAP1
00000327: SWAP2
00000328: AND
00000329: EQ
0000032a: ISZERO
0000032b: PUSH2 0x030c
0000032e: JUMPI
0000032f: PUSH1 0x6e
00000331: DUP2
00000332: LT
00000333: DUP1
00000334: PUSH2 0x033d
00000337: JUMPI
00000338: POP
00000339: PUSH1 0x96
0000033b: DUP2
0000033c: GT
0000033d: JUMPDEST
0000033e: ISZERO
0000033f: PUSH2 0x0747
00000342: JUMPI
00000343: PUSH2 0x0002
00000346: JUMP
00000347: JUMPDEST
00000348: PUSH1 0x40
0000034a: DUP1
0000034b: MLOAD
0000034c: PUSH1 0x20
0000034e: DUP1
0000034f: DUP3
00000350: ADD
00000351: DUP4
00000352: MSTORE
00000353: PUSH1 0x00
00000355: SWAP1
00000356: SWAP2
00000357: MSTORE
00000358: DUP2
00000359: MLOAD
0000035a: PUSH1 0x02
0000035c: SLOAD
0000035d: PUSH1 0x80
0000035f: DUP3
00000360: ADD
00000361: DUP5
00000362: MSTORE
00000363: PUSH1 0x54
00000365: DUP3
00000366: MSTORE
00000367: PUSH32 0x546865206665652070657263656e74616765206170706c69656420746f20616c
00000388: SWAP3
00000389: DUP3
0000038a: ADD
0000038b: SWAP3
0000038c: SWAP1
0000038d: SWAP3
0000038e: MSTORE
0000038f: PUSH32 0x6c206465706f736974732e2049742063616e206368616e676520746f20737065
000003b0: SWAP3
000003b1: DUP2
000003b2: ADD
000003b3: SWAP3
000003b4: SWAP1
000003b5: SWAP3
000003b6: MSTORE
000003b7: PUSH32 0x6564207061796f75747320286d6178203525292e000000000000000000000000
000003d8: PUSH1 0x60
000003da: DUP4
000003db: ADD
000003dc: MSTORE
000003dd: SWAP1
000003de: PUSH2 0x013c
000003e1: JUMP
000003e2: JUMPDEST
000003e3: PUSH2 0x05c5
000003e6: PUSH1 0x04
000003e8: CALLDATALOAD
000003e9: PUSH1 0x40
000003eb: DUP1
000003ec: MLOAD
000003ed: PUSH1 0x20
000003ef: DUP2
000003f0: ADD
000003f1: SWAP1
000003f2: SWAP2
000003f3: MSTORE
000003f4: PUSH1 0x00
000003f6: DUP1
000003f7: DUP3
000003f8: MSTORE
000003f9: PUSH1 0x05
000003fb: SLOAD
000003fc: SWAP1
000003fd: SWAP2
000003fe: DUP3
000003ff: SWAP2
00000400: DUP3
00000401: SWAP2
00000402: SWAP1
00000403: DUP6
00000404: LT
00000405: ISZERO
00000406: PUSH2 0x0540
00000409: JUMPI
0000040a: PUSH1 0x05
0000040c: DUP1
0000040d: SLOAD
0000040e: DUP7
0000040f: SWAP1
00000410: DUP2
00000411: LT
00000412: ISZERO
00000413: PUSH2 0x0002
00000416: JUMPI
00000417: POP
00000418: DUP1
00000419: SLOAD
0000041a: DUP2
0000041b: DUP5
0000041c: MSTORE
0000041d: PUSH1 0x04
0000041f: DUP8
00000420: MUL
00000421: PUSH32 0x036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0
00000442: ADD
00000443: SLOAD
00000444: PUSH1 0x01
00000446: PUSH1 0xa0
00000448: PUSH1 0x02
0000044a: EXP
0000044b: SUB
0000044c: AND
0000044d: SWAP6
0000044e: POP
0000044f: PUSH7 0x038d7ea4c68000
00000457: SWAP2
00000458: SWAP1
00000459: DUP8
0000045a: SWAP1
0000045b: DUP2
0000045c: LT
0000045d: ISZERO
0000045e: PUSH2 0x0002
00000461: JUMPI
00000462: SWAP1
00000463: PUSH1 0x00
00000465: MSTORE
00000466: PUSH1 0x20
00000468: PUSH1 0x00
0000046a: KECCAK256
0000046b: SWAP1
0000046c: PUSH1 0x04
0000046e: MUL
0000046f: ADD
00000470: PUSH1 0x00
00000472: POP
00000473: PUSH1 0x02
00000475: ADD
00000476: SLOAD
00000477: PUSH1 0x05
00000479: DUP1
0000047a: SLOAD
0000047b: SWAP3
0000047c: SWAP1
0000047d: SWAP2
0000047e: DIV
0000047f: SWAP5
00000480: POP
00000481: SWAP1
00000482: DUP7
00000483: SWAP1
00000484: DUP2
00000485: LT
00000486: ISZERO
00000487: PUSH2 0x0002
0000048a: JUMPI
0000048b: POP
0000048c: POP
0000048d: PUSH1 0x40
0000048f: DUP1
00000490: MLOAD
00000491: PUSH1 0x04
00000493: DUP8
00000494: MUL
00000495: PUSH32 0x036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db3
000004b6: ADD
000004b7: SLOAD
000004b8: PUSH1 0x80
000004ba: DUP3
000004bb: ADD
000004bc: DUP4
000004bd: MSTORE
000004be: PUSH1 0x44
000004c0: DUP3
000004c1: MSTORE
000004c2: PUSH32 0x456e74727920696e666f3a207573657220616464726573732c20657870656374
000004e3: PUSH1 0x20
000004e5: DUP4
000004e6: ADD
000004e7: MSTORE
000004e8: PUSH32 0x6564207061796f757420696e2046696e6e6579732c207061796f757420737461
00000509: SWAP3
0000050a: DUP3
0000050b: ADD
0000050c: SWAP3
0000050d: SWAP1
0000050e: SWAP3
0000050f: MSTORE
00000510: PUSH32 0x7475732e00000000000000000000000000000000000000000000000000000000
00000531: PUSH1 0x60
00000533: DUP3
00000534: ADD
00000535: MSTORE
00000536: PUSH1 0xff
00000538: SWAP2
00000539: SWAP1
0000053a: SWAP2
0000053b: AND
0000053c: SWAP3
0000053d: POP
0000053e: SWAP1
0000053f: POP
00000540: JUMPDEST
00000541: SWAP2
00000542: SWAP4
00000543: POP
00000544: SWAP2
00000545: SWAP4
00000546: JUMP
00000547: JUMPDEST
00000548: STOP
00000549: JUMPDEST
0000054a: PUSH1 0x40
0000054c: MLOAD
0000054d: DUP1
0000054e: DUP5
0000054f: DUP2
00000550: MSTORE
00000551: PUSH1 0x20
00000553: ADD
00000554: DUP4
00000555: DUP2
00000556: MSTORE
00000557: PUSH1 0x20
00000559: ADD
0000055a: DUP1
0000055b: PUSH1 0x20
0000055d: ADD
0000055e: DUP3
0000055f: DUP2
00000560: SUB
00000561: DUP3
00000562: MSTORE
00000563: DUP4
00000564: DUP2
00000565: DUP2
00000566: MLOAD
00000567: DUP2
00000568: MSTORE
00000569: PUSH1 0x20
0000056b: ADD
0000056c: SWAP2
0000056d: POP
0000056e: DUP1
0000056f: MLOAD
00000570: SWAP1
00000571: PUSH1 0x20
00000573: ADD
00000574: SWAP1
00000575: DUP1
00000576: DUP4
00000577: DUP4
00000578: DUP3
00000579: SWAP1
0000057a: PUSH1 0x00
0000057c: PUSH1 0x04
0000057e: PUSH1 0x20
00000580: DUP5
00000581: PUSH1 0x1f
00000583: ADD
00000584: DIV
00000585: PUSH1 0x0f
00000587: MUL
00000588: PUSH1 0x03
0000058a: ADD
0000058b: CALL
0000058c: POP
0000058d: SWAP1
0000058e: POP
0000058f: SWAP1
00000590: DUP2
00000591: ADD
00000592: SWAP1
00000593: PUSH1 0x1f
00000595: AND
00000596: DUP1
00000597: ISZERO
00000598: PUSH2 0x05b5
0000059b: JUMPI
0000059c: DUP1
0000059d: DUP3
0000059e: SUB
0000059f: DUP1
000005a0: MLOAD
000005a1: PUSH1 0x01
000005a3: DUP4
000005a4: PUSH1 0x20
000005a6: SUB
000005a7: PUSH2 0x0100
000005aa: EXP
000005ab: SUB
000005ac: NOT
000005ad: AND
000005ae: DUP2
000005af: MSTORE
000005b0: PUSH1 0x20
000005b2: ADD
000005b3: SWAP2
000005b4: POP
000005b5: JUMPDEST
000005b6: POP
000005b7: SWAP5
000005b8: POP
000005b9: POP
000005ba: POP
000005bb: POP
000005bc: POP
000005bd: PUSH1 0x40
000005bf: MLOAD
000005c0: DUP1
000005c1: SWAP2
000005c2: SUB
000005c3: SWAP1
000005c4: RETURN
000005c5: JUMPDEST
000005c6: PUSH1 0x40
000005c8: MLOAD
000005c9: DUP1
000005ca: DUP6
000005cb: PUSH1 0x01
000005cd: PUSH1 0xa0
000005cf: PUSH1 0x02
000005d1: EXP
000005d2: SUB
000005d3: AND
000005d4: DUP2
000005d5: MSTORE
000005d6: PUSH1 0x20
000005d8: ADD
000005d9: DUP5
000005da: DUP2
000005db: MSTORE
000005dc: PUSH1 0x20
000005de: ADD
000005df: DUP4
000005e0: DUP2
000005e1: MSTORE
000005e2: PUSH1 0x20
000005e4: ADD
000005e5: DUP1
000005e6: PUSH1 0x20
000005e8: ADD
000005e9: DUP3
000005ea: DUP2
000005eb: SUB
000005ec: DUP3
000005ed: MSTORE
000005ee: DUP4
000005ef: DUP2
000005f0: DUP2
000005f1: MLOAD
000005f2: DUP2
000005f3: MSTORE
000005f4: PUSH1 0x20
000005f6: ADD
000005f7: SWAP2
000005f8: POP
000005f9: DUP1
000005fa: MLOAD
000005fb: SWAP1
000005fc: PUSH1 0x20
000005fe: ADD
000005ff: SWAP1
00000600: DUP1
00000601: DUP4
00000602: DUP4
00000603: DUP3
00000604: SWAP1
00000605: PUSH1 0x00
00000607: PUSH1 0x04
00000609: PUSH1 0x20
0000060b: DUP5
0000060c: PUSH1 0x1f
0000060e: ADD
0000060f: DIV
00000610: PUSH1 0x0f
00000612: MUL
00000613: PUSH1 0x03
00000615: ADD
00000616: CALL
00000617: POP
00000618: SWAP1
00000619: POP
0000061a: SWAP1
0000061b: DUP2
0000061c: ADD
0000061d: SWAP1
0000061e: PUSH1 0x1f
00000620: AND
00000621: DUP1
00000622: ISZERO
00000623: PUSH2 0x0640
00000626: JUMPI
00000627: DUP1
00000628: DUP3
00000629: SUB
0000062a: DUP1
0000062b: MLOAD
0000062c: PUSH1 0x01
0000062e: DUP4
0000062f: PUSH1 0x20
00000631: SUB
00000632: PUSH2 0x0100
00000635: EXP
00000636: SUB
00000637: NOT
00000638: AND
00000639: DUP2
0000063a: MSTORE
0000063b: PUSH1 0x20
0000063d: ADD
0000063e: SWAP2
0000063f: POP
00000640: JUMPDEST
00000641: POP
00000642: SWAP6
00000643: POP
00000644: POP
00000645: POP
00000646: POP
00000647: POP
00000648: POP
00000649: PUSH1 0x40
0000064b: MLOAD
0000064c: DUP1
0000064d: SWAP2
0000064e: SUB
0000064f: SWAP1
00000650: RETURN
00000651: JUMPDEST
00000652: PUSH2 0x00a3
00000655: PUSH8 0x0de0b6b3a7640000
0000065e: PUSH1 0x00
00000660: DUP1
00000661: DUP1
00000662: DUP1
00000663: CALLVALUE
00000664: DUP6
00000665: SWAP1
00000666: GT
00000667: ISZERO
00000668: PUSH2 0x0696
0000066b: JUMPI
0000066c: PUSH1 0x40
0000066e: MLOAD
0000066f: PUSH1 0x01
00000671: PUSH1 0xa0
00000673: PUSH1 0x02
00000675: EXP
00000676: SUB
00000677: CALLER
00000678: AND
00000679: SWAP1
0000067a: DUP3
0000067b: SWAP1
0000067c: PUSH8 0x0de0b6b3a763ffff
00000685: NOT
00000686: CALLVALUE
00000687: ADD
00000688: SWAP1
00000689: DUP3
0000068a: DUP2
0000068b: DUP2
0000068c: DUP2
0000068d: DUP6
0000068e: DUP9
0000068f: DUP4
00000690: CALL
00000691: POP
00000692: POP
00000693: POP
00000694: POP
00000695: POP
00000696: JUMPDEST
00000697: PUSH1 0x01
00000699: PUSH1 0xa0
0000069b: PUSH1 0x02
0000069d: EXP
0000069e: SUB
0000069f: CALLER
000006a0: DUP2
000006a1: AND
000006a2: PUSH1 0x00
000006a4: SWAP1
000006a5: DUP2
000006a6: MSTORE
000006a7: PUSH1 0x04
000006a9: PUSH1 0x20
000006ab: MSTORE
000006ac: PUSH1 0x40
000006ae: DUP2
000006af: KECCAK256
000006b0: SLOAD
000006b1: SWAP1
000006b2: SWAP2
000006b3: AND
000006b4: EQ
000006b5: ISZERO
000006b6: PUSH2 0x06dc
000006b9: JUMPI
000006ba: PUSH1 0x40
000006bc: PUSH1 0x00
000006be: SWAP1
000006bf: DUP2
000006c0: KECCAK256
000006c1: DUP1
000006c2: SLOAD
000006c3: PUSH1 0x01
000006c5: PUSH1 0xa0
000006c7: PUSH1 0x02
000006c9: EXP
000006ca: SUB
000006cb: NOT
000006cc: AND
000006cd: CALLER
000006ce: OR
000006cf: DUP2
000006d0: SSTORE
000006d1: PUSH1 0x01
000006d3: DUP2
000006d4: ADD
000006d5: DUP3
000006d6: SWAP1
000006d7: SSTORE
000006d8: PUSH1 0x02
000006da: ADD
000006db: SSTORE
000006dc: JUMPDEST
000006dd: PUSH1 0x05
000006df: DUP1
000006e0: SLOAD
000006e1: PUSH1 0x01
000006e3: DUP2
000006e4: ADD
000006e5: DUP1
000006e6: DUP4
000006e7: SSTORE
000006e8: DUP3
000006e9: DUP2
000006ea: DUP4
000006eb: DUP1
000006ec: ISZERO
000006ed: DUP3
000006ee: SWAP1
000006ef: GT
000006f0: PUSH2 0x0751
000006f3: JUMPI
000006f4: PUSH1 0x04
000006f6: MUL
000006f7: DUP2
000006f8: PUSH1 0x04
000006fa: MUL
000006fb: DUP4
000006fc: PUSH1 0x00
000006fe: MSTORE
000006ff: PUSH1 0x20
00000701: PUSH1 0x00
00000703: KECCAK256
00000704: SWAP2
00000705: DUP3
00000706: ADD
00000707: SWAP2
00000708: ADD
00000709: PUSH2 0x0751
0000070c: SWAP2
0000070d: SWAP1
0000070e: JUMPDEST
0000070f: DUP1
00000710: DUP3
00000711: GT
00000712: ISZERO
00000713: PUSH2 0x081e
00000716: JUMPI
00000717: DUP1
00000718: SLOAD
00000719: PUSH1 0x01
0000071b: PUSH1 0xa0
0000071d: PUSH1 0x02
0000071f: EXP
00000720: SUB
00000721: NOT
00000722: AND
00000723: DUP2
00000724: SSTORE
00000725: PUSH1 0x00
00000727: PUSH1 0x01
00000729: DUP3
0000072a: ADD
0000072b: DUP2
0000072c: DUP2
0000072d: SSTORE
0000072e: PUSH1 0x02
00000730: DUP4
00000731: ADD
00000732: SWAP2
00000733: SWAP1
00000734: SWAP2
00000735: SSTORE
00000736: PUSH1 0x03
00000738: SWAP1
00000739: SWAP2
0000073a: ADD
0000073b: DUP1
0000073c: SLOAD
0000073d: PUSH1 0xff
0000073f: NOT
00000740: AND
00000741: SWAP1
00000742: SSTORE
00000743: PUSH2 0x070e
00000746: JUMP
00000747: JUMPDEST
00000748: PUSH1 0x03
0000074a: SSTORE
0000074b: JUMP
0000074c: JUMPDEST
0000074d: PUSH1 0x02
0000074f: SSTORE
00000750: JUMP
00000751: JUMPDEST
00000752: POP
00000753: POP
00000754: POP
00000755: SWAP2
00000756: SWAP1
00000757: SWAP1
00000758: PUSH1 0x00
0000075a: MSTORE
0000075b: PUSH1 0x20
0000075d: PUSH1 0x00
0000075f: KECCAK256
00000760: SWAP1
00000761: PUSH1 0x04
00000763: MUL
00000764: ADD
00000765: PUSH1 0x00
00000767: POP
00000768: PUSH1 0x40
0000076a: DUP1
0000076b: MLOAD
0000076c: PUSH1 0x80
0000076e: DUP2
0000076f: ADD
00000770: DUP3
00000771: MSTORE
00000772: CALLER
00000773: DUP1
00000774: DUP3
00000775: MSTORE
00000776: PUSH1 0x20
00000778: DUP1
00000779: DUP4
0000077a: ADD
0000077b: DUP12
0000077c: SWAP1
0000077d: MSTORE
0000077e: PUSH1 0x03
00000780: DUP1
00000781: SLOAD
00000782: PUSH1 0x64
00000784: SWAP1
00000785: DUP14
00000786: MUL
00000787: DIV
00000788: DUP5
00000789: DUP7
0000078a: ADD
0000078b: DUP2
0000078c: SWAP1
0000078d: MSTORE
0000078e: PUSH1 0x00
00000790: PUSH1 0x60
00000792: SWAP6
00000793: SWAP1
00000794: SWAP6
00000795: ADD
00000796: DUP6
00000797: SWAP1
00000798: MSTORE
00000799: DUP7
0000079a: SLOAD
0000079b: PUSH1 0x01
0000079d: PUSH1 0xa0
0000079f: PUSH1 0x02
000007a1: EXP
000007a2: SUB
000007a3: NOT
000007a4: AND
000007a5: DUP5
000007a6: OR
000007a7: DUP8
000007a8: SSTORE
000007a9: PUSH1 0x01
000007ab: DUP8
000007ac: DUP2
000007ad: ADD
000007ae: DUP15
000007af: SWAP1
000007b0: SSTORE
000007b1: PUSH1 0x02
000007b3: DUP9
000007b4: ADD
000007b5: SWAP2
000007b6: SWAP1
000007b7: SWAP2
000007b8: SSTORE
000007b9: SWAP6
000007ba: ADD
000007bb: DUP1
000007bc: SLOAD
000007bd: PUSH1 0xff
000007bf: NOT
000007c0: AND
000007c1: SWAP1
000007c2: SSTORE
000007c3: PUSH1 0x01
000007c5: PUSH1 0xa0
000007c7: PUSH1 0x02
000007c9: EXP
000007ca: SUB
000007cb: SWAP1
000007cc: SWAP2
000007cd: AND
000007ce: DUP3
000007cf: MSTORE
000007d0: PUSH1 0x04
000007d2: SWAP1
000007d3: MSTORE
000007d4: KECCAK256
000007d5: DUP2
000007d6: ADD
000007d7: DUP1
000007d8: SLOAD
000007d9: DUP3
000007da: ADD
000007db: SWAP1
000007dc: SSTORE
000007dd: PUSH1 0x06
000007df: DUP1
000007e0: SLOAD
000007e1: SWAP2
000007e2: DUP3
000007e3: ADD
000007e4: DUP1
000007e5: DUP3
000007e6: SSTORE
000007e7: SWAP1
000007e8: SWAP3
000007e9: POP
000007ea: DUP3
000007eb: DUP2
000007ec: DUP4
000007ed: DUP1
000007ee: ISZERO
000007ef: DUP3
000007f0: SWAP1
000007f1: GT
000007f2: PUSH2 0x0822
000007f5: JUMPI
000007f6: DUP2
000007f7: DUP4
000007f8: PUSH1 0x00
000007fa: MSTORE
000007fb: PUSH1 0x20
000007fd: PUSH1 0x00
000007ff: KECCAK256
00000800: SWAP2
00000801: DUP3
00000802: ADD
00000803: SWAP2
00000804: ADD
00000805: PUSH2 0x0822
00000808: SWAP2
00000809: SWAP1
0000080a: JUMPDEST
0000080b: DUP1
0000080c: DUP3
0000080d: GT
0000080e: ISZERO
0000080f: PUSH2 0x081e
00000812: JUMPI
00000813: PUSH1 0x00
00000815: DUP2
00000816: SSTORE
00000817: PUSH1 0x01
00000819: ADD
0000081a: PUSH2 0x080a
0000081d: JUMP
0000081e: JUMPDEST
0000081f: POP
00000820: SWAP1
00000821: JUMP
00000822: JUMPDEST
00000823: POP
00000824: POP
00000825: POP
00000826: PUSH1 0x00
00000828: SWAP3
00000829: DUP4
0000082a: MSTORE
0000082b: POP
0000082c: PUSH1 0x05
0000082e: SLOAD
0000082f: PUSH1 0x20
00000831: SWAP1
00000832: SWAP3
00000833: KECCAK256
00000834: PUSH1 0x00
00000836: NOT
00000837: SWAP3
00000838: SWAP1
00000839: SWAP3
0000083a: ADD
0000083b: SWAP2
0000083c: ADD
0000083d: SSTORE
0000083e: PUSH1 0x01
00000840: DUP1
00000841: SLOAD
00000842: PUSH1 0x02
00000844: SLOAD
00000845: PUSH1 0x64
00000847: SWAP1
00000848: DUP2
00000849: SUB
0000084a: DUP9
0000084b: MUL
0000084c: DIV
0000084d: ADD
0000084e: DUP2
0000084f: SSTORE
00000850: PUSH1 0x06
00000852: SLOAD
00000853: GT
00000854: PUSH2 0x0a18
00000857: JUMPI
00000858: PUSH1 0x00
0000085a: JUMPDEST
0000085b: PUSH1 0x06
0000085d: DUP1
0000085e: SLOAD
0000085f: SWAP2
00000860: SWAP6
00000861: POP
00000862: PUSH1 0x05
00000864: SWAP2
00000865: DUP7
00000866: SWAP1
00000867: DUP2
00000868: LT
00000869: ISZERO
0000086a: PUSH2 0x0002
0000086d: JUMPI
0000086e: POP
0000086f: PUSH1 0x00
00000871: MSTORE
00000872: PUSH32 0xf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f
00000893: DUP6
00000894: ADD
00000895: SLOAD
00000896: DUP2
00000897: SLOAD
00000898: DUP2
00000899: LT
0000089a: ISZERO
0000089b: PUSH2 0x0002
0000089e: JUMPI
0000089f: SWAP1
000008a0: PUSH1 0x00
000008a2: MSTORE
000008a3: PUSH1 0x20
000008a5: PUSH1 0x00
000008a7: KECCAK256
000008a8: SWAP1
000008a9: PUSH1 0x04
000008ab: MUL
000008ac: ADD
000008ad: PUSH1 0x00
000008af: POP
000008b0: PUSH1 0x01
000008b2: SLOAD
000008b3: PUSH1 0x02
000008b5: DUP3
000008b6: ADD
000008b7: SLOAD
000008b8: SWAP2
000008b9: SWAP5
000008ba: POP
000008bb: GT
000008bc: ISZERO
000008bd: PUSH2 0x0a33
000008c0: JUMPI
000008c1: PUSH1 0x40
000008c3: MLOAD
000008c4: DUP4
000008c5: SLOAD
000008c6: PUSH1 0x02
000008c8: DUP6
000008c9: ADD
000008ca: SLOAD
000008cb: SWAP4
000008cc: POP
000008cd: PUSH1 0x01
000008cf: PUSH1 0xa0
000008d1: PUSH1 0x02
000008d3: EXP
000008d4: SUB
000008d5: AND
000008d6: SWAP1
000008d7: PUSH1 0x00
000008d9: SWAP1
000008da: DUP5
000008db: SWAP1
000008dc: DUP3
000008dd: DUP2
000008de: DUP2
000008df: DUP2
000008e0: DUP6
000008e1: DUP9
000008e2: DUP4
000008e3: CALL
000008e4: SWAP4
000008e5: POP
000008e6: POP
000008e7: POP
000008e8: POP
000008e9: POP
000008ea: PUSH1 0x01
000008ec: DUP4
000008ed: PUSH1 0x03
000008ef: ADD
000008f0: PUSH1 0x00
000008f2: PUSH2 0x0100
000008f5: EXP
000008f6: DUP2
000008f7: SLOAD
000008f8: DUP2
000008f9: PUSH1 0xff
000008fb: MUL
000008fc: NOT
000008fd: AND
000008fe: SWAP1
000008ff: DUP4
00000900: MUL
00000901: OR
00000902: SWAP1
00000903: SSTORE
00000904: POP
00000905: PUSH1 0x04
00000907: PUSH1 0x00
00000909: POP
0000090a: PUSH1 0x00
0000090c: DUP5
0000090d: PUSH1 0x00
0000090f: ADD
00000910: PUSH1 0x00
00000912: SWAP1
00000913: SLOAD
00000914: SWAP1
00000915: PUSH2 0x0100
00000918: EXP
00000919: SWAP1
0000091a: DIV
0000091b: PUSH1 0x01
0000091d: PUSH1 0xa0
0000091f: PUSH1 0x02
00000921: EXP
00000922: SUB
00000923: AND
00000924: PUSH1 0x01
00000926: PUSH1 0xa0
00000928: PUSH1 0x02
0000092a: EXP
0000092b: SUB
0000092c: AND
0000092d: DUP2
0000092e: MSTORE
0000092f: PUSH1 0x20
00000931: ADD
00000932: SWAP1
00000933: DUP2
00000934: MSTORE
00000935: PUSH1 0x20
00000937: ADD
00000938: PUSH1 0x00
0000093a: KECCAK256
0000093b: PUSH1 0x00
0000093d: POP
0000093e: PUSH1 0x02
00000940: ADD
00000941: PUSH1 0x00
00000943: DUP2
00000944: DUP2
00000945: POP
00000946: SLOAD
00000947: DUP1
00000948: SWAP3
00000949: SWAP2
0000094a: SWAP1
0000094b: PUSH1 0x01
0000094d: ADD
0000094e: SWAP2
0000094f: SWAP1
00000950: POP
00000951: SSTORE
00000952: POP
00000953: DUP2
00000954: PUSH1 0x01
00000956: PUSH1 0x00
00000958: DUP3
00000959: DUP3
0000095a: DUP3
0000095b: POP
0000095c: SLOAD
0000095d: SUB
0000095e: SWAP3
0000095f: POP
00000960: POP
00000961: DUP2
00000962: SWAP1
00000963: SSTORE
00000964: POP
00000965: PUSH1 0x01
00000967: PUSH1 0x06
00000969: PUSH1 0x00
0000096b: POP
0000096c: DUP1
0000096d: SLOAD
0000096e: SWAP1
0000096f: POP
00000970: SUB
00000971: DUP5
00000972: LT
00000973: ISZERO
00000974: PUSH2 0x09e6
00000977: JUMPI
00000978: PUSH1 0x06
0000097a: DUP1
0000097b: SLOAD
0000097c: PUSH1 0x00
0000097e: NOT
0000097f: DUP2
00000980: ADD
00000981: SWAP1
00000982: DUP2
00000983: LT
00000984: ISZERO
00000985: PUSH2 0x0002
00000988: JUMPI
00000989: POP
0000098a: DUP1
0000098b: SLOAD
0000098c: PUSH1 0x00
0000098e: DUP3
0000098f: SWAP1
00000990: MSTORE
00000991: PUSH32 0xf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3e
000009b2: DUP2
000009b3: ADD
000009b4: SLOAD
000009b5: SWAP2
000009b6: SWAP1
000009b7: DUP7
000009b8: SWAP1
000009b9: DUP2
000009ba: LT
000009bb: ISZERO
000009bc: PUSH2 0x0002
000009bf: JUMPI
000009c0: POP
000009c1: POP
000009c2: PUSH32 0xf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f
000009e3: DUP6
000009e4: ADD
000009e5: SSTORE
000009e6: JUMPDEST
000009e7: PUSH1 0x06
000009e9: DUP1
000009ea: SLOAD
000009eb: PUSH1 0x00
000009ed: NOT
000009ee: DUP2
000009ef: ADD
000009f0: DUP1
000009f1: DUP4
000009f2: SSTORE
000009f3: SWAP1
000009f4: SWAP2
000009f5: SWAP1
000009f6: DUP3
000009f7: DUP1
000009f8: ISZERO
000009f9: DUP3
000009fa: SWAP1
000009fb: GT
000009fc: PUSH2 0x0a2e
000009ff: JUMPI
00000a00: DUP2
00000a01: DUP4
00000a02: PUSH1 0x00
00000a04: MSTORE
00000a05: PUSH1 0x20
00000a07: PUSH1 0x00
00000a09: KECCAK256
00000a0a: SWAP2
00000a0b: DUP3
00000a0c: ADD
00000a0d: SWAP2
00000a0e: ADD
00000a0f: PUSH2 0x0a2e
00000a12: SWAP2
00000a13: SWAP1
00000a14: PUSH2 0x080a
00000a17: JUMP
00000a18: JUMPDEST
00000a19: PUSH1 0x06
00000a1b: SLOAD
00000a1c: PUSH1 0x23
00000a1e: NOT
00000a1f: DUP2
00000a20: SWAP1
00000a21: DIV
00000a22: NUMBER
00000a23: PUSH1 0x00
00000a25: NOT
00000a26: ADD
00000a27: BLOCKHASH
00000a28: DIV
00000a29: MOD
00000a2a: PUSH2 0x085a
00000a2d: JUMP
00000a2e: JUMPDEST
00000a2f: POP
00000a30: POP
00000a31: POP
00000a32: POP
00000a33: JUMPDEST
00000a34: POP
00000a35: PUSH1 0x01
00000a37: SLOAD
00000a38: ADDRESS
00000a39: PUSH1 0x01
00000a3b: PUSH1 0xa0
00000a3d: PUSH1 0x02
00000a3f: EXP
00000a40: SUB
00000a41: AND
00000a42: BALANCE
00000a43: SUB
00000a44: PUSH1 0x00
00000a46: DUP2
00000a47: GT
00000a48: ISZERO
00000a49: PUSH2 0x0a71
00000a4c: JUMPI
00000a4d: PUSH1 0x00
00000a4f: DUP1
00000a50: SLOAD
00000a51: PUSH1 0x40
00000a53: MLOAD
00000a54: PUSH1 0x01
00000a56: PUSH1 0xa0
00000a58: PUSH1 0x02
00000a5a: EXP
00000a5b: SUB
00000a5c: SWAP2
00000a5d: SWAP1
00000a5e: SWAP2
00000a5f: AND
00000a60: SWAP2
00000a61: SWAP1
00000a62: DUP4
00000a63: SWAP1
00000a64: DUP3
00000a65: DUP2
00000a66: DUP2
00000a67: DUP2
00000a68: DUP6
00000a69: DUP9
00000a6a: DUP4
00000a6b: CALL
00000a6c: POP
00000a6d: POP
00000a6e: POP
00000a6f: POP
00000a70: POP
00000a71: JUMPDEST
00000a72: POP
00000a73: POP
00000a74: POP
00000a75: POP
00000a76: POP
00000a77: JUMP
View stderr
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.

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 yes yes
view
trace_id: 0x24044db785316ef7c84209a92c2df7f755142df0b5d6adc64c8c6cf7cf069765
call_targets: 0x0000000000000000000000000000000000000004, 0xf767fca8e65d03fe16d4e38810f5e5376c3372a8
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0x24044db785316ef7c84209a92c2df7f755142df0b5d6adc64c8c6cf7cf069765",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0000000000000000000000000000000000000004",
        "0xf767fca8e65d03fe16d4e38810f5e5376c3372a8"
    ],
    "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": "0x30677b83",
            "selector": "0x30677b83",
            "calldata_variants": [
                "0x30677b83",
                "0x30677b830000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6a1db1bf",
            "selector": "0x6a1db1bf",
            "calldata_variants": [
                "0x6a1db1bf",
                "0x6a1db1bf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7fef036e",
            "selector": "0x7fef036e",
            "calldata_variants": [
                "0x7fef036e",
                "0x7fef036e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8a65d874",
            "selector": "0x8a65d874",
            "calldata_variants": [
                "0x8a65d874",
                "0x8a65d8740000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa6f9dae1",
            "selector": "0xa6f9dae1",
            "calldata_variants": [
                "0xa6f9dae1",
                "0xa6f9dae10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xced92670",
            "selector": "0xced92670",
            "calldata_variants": [
                "0xced92670",
                "0xced926700000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xda3c300d",
            "selector": "0xda3c300d",
            "calldata_variants": [
                "0xda3c300d",
                "0xda3c300d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf67abd87",
            "selector": "0xf67abd87",
            "calldata_variants": [
                "0xf67abd87",
                "0xf67abd870000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 157,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 376,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1419,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 7,
    "guards_detected": [],
    "untrusted_call_count": 7
}
high other detector ETH value transfer possible 55 yes yes
view
trace_id: 0x24044db785316ef7c84209a92c2df7f755142df0b5d6adc64c8c6cf7cf069765
call_targets: 0x0000000000000000000000000000000000000004, 0xf767fca8e65d03fe16d4e38810f5e5376c3372a8
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0x24044db785316ef7c84209a92c2df7f755142df0b5d6adc64c8c6cf7cf069765",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0000000000000000000000000000000000000004",
        "0xf767fca8e65d03fe16d4e38810f5e5376c3372a8"
    ],
    "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": "0x30677b83",
            "selector": "0x30677b83",
            "calldata_variants": [
                "0x30677b83",
                "0x30677b830000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6a1db1bf",
            "selector": "0x6a1db1bf",
            "calldata_variants": [
                "0x6a1db1bf",
                "0x6a1db1bf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7fef036e",
            "selector": "0x7fef036e",
            "calldata_variants": [
                "0x7fef036e",
                "0x7fef036e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8a65d874",
            "selector": "0x8a65d874",
            "calldata_variants": [
                "0x8a65d874",
                "0x8a65d8740000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa6f9dae1",
            "selector": "0xa6f9dae1",
            "calldata_variants": [
                "0xa6f9dae1",
                "0xa6f9dae10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xced92670",
            "selector": "0xced92670",
            "calldata_variants": [
                "0xced92670",
                "0xced926700000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xda3c300d",
            "selector": "0xda3c300d",
            "calldata_variants": [
                "0xda3c300d",
                "0xda3c300d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf67abd87",
            "selector": "0xf67abd87",
            "calldata_variants": [
                "0xf67abd87",
                "0xf67abd870000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 157,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 376,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1419,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 7,
    "guards_detected": []
}
high reentrancy codex Queued payout is sent before the entry is marked paid 85 no
view
evidence_json
{
    "evidence": "In the deposit/fallback path, the contract computes and executes a value-bearing CALL to the queued recipient at pc:0x8e3. The first observed bookkeeping write for that payout happens only afterward in the SSTORE sequence beginning at pc:0x8f7/pc:0x903, followed by user/global accounting writes at pc:0x951, pc:0x963, and pc:0x9f2. No guard is visible in the artifact. The contract also constrains/advertises its payout multiplier to 110%-150% (bound check at pc:0x32f-0x33f and embedded strings), so a recipient callback has enough ETH to reenter the payable path at pc:0x651.",
    "locations": [
        "pc:0x651",
        "pc:0x8e3",
        "pc:0x903",
        "pc:0x951",
        "pc:0x963",
        "pc:0x9f2"
    ],
    "recommendation": "Apply checks-effects-interactions on the payout path: mark the entry paid and update queue/accounting before any external transfer, or move to a pull-payment claim model. Add a reentrancy guard around the deposit/payout flow.",
    "exploit_scenario": "An attacker deposits enough to become the next payable recipient. When the contract pays that entry, the attacker's fallback receives more than 1 ETH, then immediately reenters the payable fallback/deposit path with 1 ETH before the original payout is marked complete. Because the queue item and global counters are only updated after the external CALL returns, the same entry can be selected and paid again recursively until available balance is drained."
}
medium other codex Payout accounting advances even if the ETH transfer fails 75 no
view
evidence_json
{
    "evidence": "The payout CALL at pc:0x8e3 is immediately discarded without a success check at pc:0x8e4-pc:0x8e9. Despite that, the code proceeds with state changes that appear to finalize the payout: the queue-entry status byte is updated in the write sequence ending at pc:0x903, user/global totals are mutated around pc:0x93e-pc:0x963, and queue counters are updated at pc:0x9e7-pc:0x9f2. Other ETH CALLs at pc:0x9d, pc:0x690, and pc:0xa6b are also unchecked, but the payout path is the materially dangerous one.",
    "locations": [
        "pc:0x8e3",
        "pc:0x903",
        "pc:0x93e",
        "pc:0x963",
        "pc:0x9e7",
        "pc:0x9f2"
    ],
    "recommendation": "Check the success flag of value-transferring CALLs and revert or leave the claim outstanding on failure. Prefer a pull-based withdraw pattern so failed transfers do not corrupt payout/accounting state.",
    "exploit_scenario": "A queued recipient can be a contract that reverts on receiving ETH or otherwise causes the CALL to fail. The contract does not check the CALL result, but still marks the queue item as paid and updates totals as if the transfer succeeded. The recipient loses its payout while the ETH stays in the contract balance and later accounting no longer reflects the obligation correctly."
}