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

Analysis Run

019b3831-b4f2-714e-8d83-674c9b049484

complete
Chain ID
1
Address
Block Number
Created
Fri, Dec 19, 2025 7:59 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
1
Validated
1
Source
Bytecode only
Review Backing
Present
Best current signal
CREATE/CREATE2 reachable
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
69 artifact.fetch complete 1 / 3 3 months ago
70 tool.cast_disasm complete 1 / 3 3 months ago
43171 analysis.bundle complete 1 / 3 1 week ago
43172 capability.graph complete 1 / 3 1 week ago
43173 detector.run complete 1 / 3 1 week ago
43174 validation.fork complete 1 / 3 1 week ago
59649 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
3
No findings?
no
Summary
The bundle includes embedded CREATE init/runtime blobs; selector inference is best-effort. One high-confidence issue affects the live top-level bytecode directly, and two additional issues affect a deployable child runtime reachable through the embedded CREATE paths.
View stdout
{"no_findings":false,"summary":"The bundle includes embedded CREATE init/runtime blobs; selector inference is best-effort. One high-confidence issue affects the live top-level bytecode directly, and two additional issues affect a deployable child runtime reachable through the embedded CREATE paths.","findings":[{"severity":"high","category":"other","title":"Top-level accounting decrements user balances but creates child contracts with zero ETH","exploit_scenario":"On the live contract, selector 0x9e39db73 credits a per-user storage bucket with CALLVALUE, so users can deposit ETH. Later, selector 0xa9059cbb checks that recorded bucket and decrements it, but the CREATE at pc 0x20a is invoked with zero value. The returned child contract is therefore unfunded while the parent keeps the ETH. Because the live top-level bytecode has no CALL/SELFDESTRUCT withdrawal path before the embedded child blob, deposited ETH can become stranded in the parent while users' recorded balances are burned down.","recommendation":"Fund the created child with the withdrawn amount, or do not decrement recorded balances unless value transfer succeeds. Also add an explicit invariant that parent balance tracks outstanding recorded balances, and reject unexpected CALLVALUE on non-deposit paths.","evidence":"Top-level selector 0x9e39db73 reaches pc 0x11d and adds CALLVALUE into storage keyed by keccak(arg,1). Selector 0xa9059cbb reaches pc 0x20a, where CREATE is executed from prepared initcode with a zero literal pushed immediately before CREATE; afterwards the code subtracts the requested amount from the same storage bucket at pc 0x23a-0x247-equivalent SSTORE logic. The top-level region has CREATE as its only sink; no CALL/SELFDESTRUCT appears before the embedded blob at 0x2f5.","locations":["selector:0x9e39db73","selector:0xa9059cbb","pc:0x11d","pc:0x20a","pc:0x247"]},{"severity":"high","category":"reentrancy","title":"Deployable child runtime pays arbitrary recipients via CALL with no reentrancy guard","exploit_scenario":"A reachable child runtime embedded in the bytecode exposes selector 0x119f8747, which iterates over stored payout entries and performs a value-bearing CALL to each recipient. A malicious recipient contract can reenter 0x119f8747 from its fallback during the CALL at pc 0xc84. Because the loop uses only stack-local progress and does not mark entries as paid or lock execution before the external call, the nested invocation can restart the payout loop from the beginning and replay payouts until the child contract balance is drained.","recommendation":"Apply checks-effects-interactions: mark entries as paid or advance persistent progress before the CALL, add a reentrancy guard, and preferably use a pull-payment model where recipients withdraw individually.","evidence":"The bundle confirms CREATE reachability, and the embedded child runtime dispatches selector 0x119f8747 to the payout loop starting near pc 0xbf4. Inside that loop, recipient/value pairs are loaded from storage-backed entries and sent with CALL at pc 0xc84. There is no guard detection in this path and no protective SSTORE before the CALL; execution simply POPs the result and continues looping.","locations":["selector:0x119f8747","pc:0x685","pc:0xbf4","pc:0xc84"]},{"severity":"medium","category":"other","title":"Child payout loop ignores CALL failure, so recipients can be skipped and funds redistributed incorrectly","exploit_scenario":"In the same deployable child runtime, if any payout recipient reverts or the value transfer fails, the CALL result is discarded and the loop continues. A reverting recipient can therefore be silently skipped, while later logic still proceeds. In the expiry path, selector 0x86d1a69f invokes the same loop and then selfdestructs the remaining balance to slot0, so unpaid recipients can lose their allocation entirely.","recommendation":"Check the CALL success flag and revert or record the debt when a transfer fails. Do not selfdestruct or finalize distribution until every intended payment is confirmed.","evidence":"At pc 0xc84 the child runtime executes CALL, then immediately POPs the return value and advances the loop without branching on success or inspecting returndata. Selector 0x86d1a69f jumps into the same internal payout routine and later reaches SELFDESTRUCT, making silent payment failure an accounting risk rather than a benign no-op.","locations":["selector:0x119f8747","selector:0x86d1a69f","pc:0xc84","pc:0xa25"]}]}
View stderr
0000000000000000000000000000000000000000000000000000000000"
        }
      ],
      "writes": 15
    }
  },
  {
    "auth": {
      "guards": [
        {
          "pc": 1324,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
          "pc": 1478,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
      ]
    },
    "entry_pc": 2261886623,
    "selector": "0x66d003ac",
    "sinks": {
      "call": 1,
      "delegatecall": 0,
      "selfdestruct": 5,
      "staticcall": 0
    },
    "storage": {
      "reads": 42,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 254,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 281,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 429,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1111,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1149,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1187,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 1196,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 1210,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1272,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1358,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1426,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1516,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2334,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2372,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2410,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 2419,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 2430,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2465,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2514,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2523,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 2545,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2647,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SSTORE",
          "pc": 2660,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2877,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2976,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 2982,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 3003,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 3075,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 3090,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 3124,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        }
      ],
      "writes": 15
    }
  },
  {
    "auth": {
      "guards": [
        {
          "pc": 1324,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
          "pc": 1478,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
      ]
    },
    "entry_pc": 2376452955,
    "selector": "0x86d1a69f",
    "sinks": {
      "call": 1,
      "delegatecall": 0,
      "selfdestruct": 5,
      "staticcall": 0
    },
    "storage": {
      "reads": 42,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 254,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 281,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 429,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1111,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1149,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1187,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 1196,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 1210,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1272,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1358,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1426,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1516,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2334,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2372,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2410,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 2419,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 2430,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2465,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2514,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2523,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 2545,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2647,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SSTORE",
          "pc": 2660,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2877,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2976,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 2982,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 3003,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 3075,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 3090,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 3124,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        }
      ],
      "writes": 15
    }
  },
  {
    "auth": {
      "guards": [
        {
          "pc": 1324,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
          "pc": 1478,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
      ]
    },
    "entry_pc": 3105701889,
    "selector": "0x8da5cb5b",
    "sinks": {
      "call": 1,
      "delegatecall": 0,
      "selfdestruct": 5,
      "staticcall": 0
    },
    "storage": {
      "reads": 42,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 254,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 281,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 429,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1111,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1149,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1187,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 1196,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 1210,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1272,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1358,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1426,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1516,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2334,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2372,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2410,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 2419,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 2430,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2465,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2514,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2523,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 2545,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2647,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SSTORE",
          "pc": 2660,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2877,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2976,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 2982,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 3003,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 3075,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 3090,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 3124,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        }
      ],
      "writes": 15
    }
  },
  {
    "auth": {
      "guards": [
        {
          "pc": 1324,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
          "pc": 1478,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
      ]
    },
    "entry_pc": 3934919408,
    "selector": "0xb91d4001",
    "sinks": {
      "call": 1,
      "delegatecall": 0,
      "selfdestruct": 5,
      "staticcall": 0
    },
    "storage": {
      "reads": 42,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 254,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 281,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 429,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1111,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1149,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1187,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 1196,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 1210,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1272,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1358,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1426,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1516,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2334,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2372,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2410,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 2419,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 2430,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2465,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2514,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2523,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 2545,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2647,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SSTORE",
          "pc": 2660,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2877,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2976,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 2982,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 3003,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 3075,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 3090,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 3124,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        }
      ],
      "writes": 15
    }
  },
  {
    "auth": {
      "guards": [
        {
          "pc": 1324,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
          "pc": 1478,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
      ]
    },
    "entry_pc": null,
    "selector": "0xea8a1af0",
    "sinks": {
      "call": 1,
      "delegatecall": 0,
      "selfdestruct": 5,
      "staticcall": 0
    },
    "storage": {
      "reads": 42,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 254,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 281,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 429,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1111,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1149,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1187,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 1196,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 1210,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1272,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1358,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1426,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1516,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2334,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2372,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2410,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 2419,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 2430,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2465,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2514,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2523,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 2545,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2647,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SSTORE",
          "pc": 2660,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2877,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2976,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 2982,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 3003,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 3075,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 3090,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 3124,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        }
      ],
      "writes": 15
    }
  },
  {
    "auth": {
      "guards": [
        {
          "pc": 1324,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
          "pc": 1478,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
      ]
    },
    "entry_pc": 702329039,
    "selector": "0x119f8747",
    "sinks": {
      "call": 1,
      "delegatecall": 0,
      "selfdestruct": 5,
      "staticcall": 0
    },
    "storage": {
      "reads": 42,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 254,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 281,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 429,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1111,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1149,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1187,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 1196,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 1210,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1272,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1358,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1426,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1516,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2334,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2372,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2410,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 2419,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 2430,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2465,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2514,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2523,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 2545,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2647,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SSTORE",
          "pc": 2660,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2877,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2976,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 2982,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 3003,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 3075,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 3090,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 3124,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        }
      ],
      "writes": 15
    }
  },
  {
    "auth": {
      "guards": [
        {
          "pc": 1324,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
          "pc": 1478,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
      ]
    },
    "entry_pc": 1009039319,
    "selector": "0x29dcb0cf",
    "sinks": {
      "call": 1,
      "delegatecall": 0,
      "selfdestruct": 5,
      "staticcall": 0
    },
    "storage": {
      "reads": 42,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 254,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 281,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 429,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1111,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1149,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1187,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 1196,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 1210,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1272,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1358,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1426,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1516,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2334,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2372,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2410,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 2419,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 2430,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2465,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2514,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2523,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 2545,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2647,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SSTORE",
          "pc": 2660,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2877,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2976,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 2982,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 3003,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 3075,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 3090,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 3124,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        }
      ],
      "writes": 15
    }
  },
  {
    "auth": {
      "guards": [
        {
          "pc": 1324,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
          "pc": 1478,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
      ]
    },
    "entry_pc": 1428191708,
    "selector": "0x3c24b7d7",
    "sinks": {
      "call": 1,
      "delegatecall": 0,
      "selfdestruct": 5,
      "staticcall": 0
    },
    "storage": {
      "reads": 42,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 254,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 281,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 429,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1111,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1149,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1187,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 1196,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 1210,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1272,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1358,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1426,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1516,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2334,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2372,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2410,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 2419,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 2430,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2465,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2514,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2523,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 2545,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2647,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SSTORE",
          "pc": 2660,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2877,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2976,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 2982,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 3003,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 3075,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 3090,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 3124,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        }
      ],
      "writes": 15
    }
  },
  {
    "auth": {
      "guards": [
        {
          "pc": 1324,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
          "pc": 1478,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
      ]
    },
    "entry_pc": 1724908460,
    "selector": "0x552079dc",
    "sinks": {
      "call": 1,
      "delegatecall": 0,
      "selfdestruct": 5,
      "staticcall": 0
    },
    "storage": {
      "reads": 42,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 254,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 281,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 429,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1111,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1149,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1187,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 1196,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 1210,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1272,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1358,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1426,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1516,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2334,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2372,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2410,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 2419,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 2430,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2465,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2514,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2523,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 2545,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2647,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SSTORE",
          "pc": 2660,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2877,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2976,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 2982,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 3003,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 3075,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 3090,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 3124,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        }
      ],
      "writes": 15
    }
  },
  {
    "auth": {
      "guards": [
        {
          "pc": 1324,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
          "pc": 1478,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
      ]
    },
    "entry_pc": 2261886623,
    "selector": "0x702c35fb",
    "sinks": {
      "call": 1,
      "delegatecall": 0,
      "selfdestruct": 5,
      "staticcall": 0
    },
    "storage": {
      "reads": 42,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 254,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 281,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 429,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1111,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1149,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1187,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 1196,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 1210,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1272,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1358,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1426,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1516,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2334,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2372,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2410,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 2419,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 2430,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2465,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2514,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2523,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 2545,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2647,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SSTORE",
          "pc": 2660,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2877,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2976,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 2982,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 3003,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 3075,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 3090,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 3124,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        }
      ],
      "writes": 15
    }
  },
  {
    "auth": {
      "guards": [
        {
          "pc": 1324,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
          "pc": 1478,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
      ]
    },
    "entry_pc": null,
    "selector": "0xc9e7e29b",
    "sinks": {
      "call": 1,
      "delegatecall": 0,
      "selfdestruct": 5,
      "staticcall": 0
    },
    "storage": {
      "reads": 42,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 254,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 281,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 429,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1111,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1149,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1187,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 1196,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 1210,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1272,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1358,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1426,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1516,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2334,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2372,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2410,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 2419,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 2430,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2465,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2514,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2523,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 2545,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2647,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SSTORE",
          "pc": 2660,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2877,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2976,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 2982,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 3003,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 3075,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 3090,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 3124,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        }
      ],
      "writes": 15
    }
  }
]

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.storage' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
{
  "keccak_count": 8,
  "reads": 42,
  "slots": [
    {
      "op": "SLOAD",
      "pc": 254,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
    },
    {
      "op": "SLOAD",
      "pc": 281,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
    },
    {
      "op": "SLOAD",
      "pc": 429,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
    },
    {
      "op": "SLOAD",
      "pc": 1111,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
    },
    {
      "op": "SLOAD",
      "pc": 1149,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
    },
    {
      "op": "SLOAD",
      "pc": 1187,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
    },
    {
      "op": "SLOAD",
      "pc": 1196,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
    },
    {
      "op": "SLOAD",
      "pc": 1210,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
    },
    {
      "op": "SLOAD",
      "pc": 1272,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
    },
    {
      "op": "SLOAD",
      "pc": 1358,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
    },
    {
      "op": "SLOAD",
      "pc": 1426,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
    },
    {
      "op": "SLOAD",
      "pc": 1516,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
    },
    {
      "op": "SLOAD",
      "pc": 2334,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
    },
    {
      "op": "SLOAD",
      "pc": 2372,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
    },
    {
      "op": "SLOAD",
      "pc": 2410,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
    },
    {
      "op": "SLOAD",
      "pc": 2419,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
    },
    {
      "op": "SLOAD",
      "pc": 2430,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
    },
    {
      "op": "SLOAD",
      "pc": 2465,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
    },
    {
      "op": "SLOAD",
      "pc": 2514,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
    },
    {
      "op": "SLOAD",
      "pc": 2523,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
    },
    {
      "op": "SLOAD",
      "pc": 2545,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
    },
    {
      "op": "SLOAD",
      "pc": 2647,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
    },
    {
      "op": "SSTORE",
      "pc": 2660,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
    },
    {
      "op": "SLOAD",
      "pc": 2877,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
    },
    {
      "op": "SLOAD",
      "pc": 2976,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
    },
    {
      "op": "SLOAD",
      "pc": 2982,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
    },
    {
      "op": "SLOAD",
      "pc": 3003,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
    },
    {
      "op": "SLOAD",
      "pc": 3075,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
    },
    {
      "op": "SLOAD",
      "pc": 3090,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
    },
    {
      "op": "SLOAD",
      "pc": 3124,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
    }
  ],
  "writes": 15
}

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.function_entries' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
[
  {
    "entry_pc": 1782757624,
    "selector": "0x27e235e3"
  },
  {
    "entry_pc": 2654591859,
    "selector": "0x6a42b8f8"
  },
  {
    "entry_pc": 2835717307,
    "selector": "0x9e39db73"
  },
  {
    "entry_pc": null,
    "selector": "0xa9059cbb"
  },
  {
    "entry_pc": 1724908460,
    "selector": "0x0fe65b36"
  },
  {
    "entry_pc": 2261886623,
    "selector": "0x66d003ac"
  },
  {
    "entry_pc": 2376452955,
    "selector": "0x86d1a69f"
  },
  {
    "entry_pc": 3105701889,
    "selector": "0x8da5cb5b"
  },
  {
    "entry_pc": 3934919408,
    "selector": "0xb91d4001"
  },
  {
    "entry_pc": null,
    "selector": "0xea8a1af0"
  },
  {
    "entry_pc": 702329039,
    "selector": "0x119f8747"
  },
  {
    "entry_pc": 1009039319,
    "selector": "0x29dcb0cf"
  },
  {
    "entry_pc": 1428191708,
    "selector": "0x3c24b7d7"
  },
  {
    "entry_pc": 1724908460,
    "selector": "0x552079dc"
  },
  {
    "entry_pc": 2261886623,
    "selector": "0x702c35fb"
  },
  {
    "entry_pc": null,
    "selector": "0xc9e7e29b"
  }
]

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.basic_blocks[0] | keys' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
[
  "end_pc",
  "hash",
  "opcodes",
  "start_pc"
]

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.basic_blocks | length' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
129

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.cfg_edges | length' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
66

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.basic_blocks[] | select(.start_pc <= 1324 and .end_pc >= 1324)' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
{
  "end_pc": 1352,
  "hash": "0x15315ec196e800b042074dbddd55e6b27d9fa13ce90a743c46243af5129d6914",
  "opcodes": [
    "JUMPDEST",
    "PUSH1",
    "PUSH1",
    "OP_90",
    "SLOAD",
    "OP_90",
    "PUSH2",
    "EXP",
    "OP_90",
    "DIV",
    "PUSH20",
    "AND",
    "PUSH20",
    "AND",
    "CALLER",
    "PUSH20",
    "AND",
    "EQ",
    "ISZERO",
    "PUSH2",
    "JUMPI"
  ],
  "start_pc": 1266
}

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.basic_blocks[] | select(.start_pc <= 1478 and .end_pc >= 1478)' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
{
  "end_pc": 1506,
  "hash": "0x8f8df99aa2e6bb1b2cb779f5065f6a9d33c9c08105cddb6accb3786ebf1deaa3",
  "opcodes": [
    "JUMPDEST",
    "PUSH1",
    "PUSH1",
    "PUSH1",
    "PUSH1",
    "PUSH1",
    "OP_90",
    "SLOAD",
    "OP_90",
    "PUSH2",
    "EXP",
    "OP_90",
    "DIV",
    "PUSH20",
    "AND",
    "PUSH20",
    "AND",
    "CALLER",
    "PUSH20",
    "AND",
    "EQ",
    "ISZERO",
    "PUSH2",
    "JUMPI"
  ],
  "start_pc": 1414
}

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.basic_blocks[] | select(.start_pc <= 2660 and .end_pc >= 2660)' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
{
  "end_pc": 2668,
  "hash": "0x351dd652124d11f4af01f55e17f806b0a09f46e96e406f3c7fbcfd0eb37b87ff",
  "opcodes": [
    "PUSH1",
    "PUSH1",
    "MLOAD",
    "OP_90",
    "OP_81",
    "ADD",
    "PUSH1",
    "MSTORE",
    "OP_80",
    "CALLER",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "CALLVALUE",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "POP",
    "PUSH1",
    "PUSH1",
    "POP",
    "PUSH1",
    "PUSH1",
    "POP",
    "OP_80",
    "SLOAD",
    "OP_80",
    "OP_91",
    "OP_90",
    "PUSH1",
    "ADD",
    "OP_90",
    "OP_90",
    "OP_81",
    "SLOAD",
    "OP_81",
    "OP_83",
    "SSTORE",
    "OP_81",
    "OP_81",
    "ISZERO",
    "GT",
    "PUSH2",
    "JUMPI"
  ],
  "start_pc": 2611
}

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.basic_blocks[] | select(.start_pc <= 3204 and .end_pc >= 3204)' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
{
  "end_pc": 3210,
  "hash": "0x4d1fa58b090b488189f9fe65a31c271b59fc8c0963215b1296917291c6a07602",
  "opcodes": [
    "OP_90",
    "PUSH1",
    "MSTORE",
    "PUSH1",
    "PUSH1",
    "SHA3",
    "OP_90",
    "PUSH1",
    "MUL",
    "ADD",
    "PUSH1",
    "POP",
    "OP_90",
    "POP",
    "OP_80",
    "PUSH1",
    "ADD",
    "PUSH1",
    "OP_90",
    "SLOAD",
    "OP_90",
    "PUSH2",
    "EXP",
    "OP_90",
    "DIV",
    "PUSH20",
    "AND",
    "PUSH20",
    "AND",
    "PUSH1",
    "OP_82",
    "PUSH1",
    "ADD",
    "PUSH1",
    "POP",
    "SLOAD",
    "PUSH1",
    "MLOAD",
    "OP_80",
    "OP_90",
    "POP",
    "PUSH1",
    "PUSH1",
    "MLOAD",
    "OP_80",
    "OP_83",
    "SUB",
    "OP_81",
    "OP_85",
    "OP_88",
    "OP_88",
    "CALL",
    "OP_93",
    "POP",
    "POP",
    "POP",
    "POP",
    "POP"
  ],
  "start_pc": 3098
}

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.basic_blocks[] | select((.opcodes|index(\"SELFDESTRUCT\"))"'!=null)'"' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
{
  "end_pc": 1262,
  "hash": "0x15043ada8a2ea4dd1c6244d38c4d0385ca61e3882051caa69da77c1bcab822cc",
  "opcodes": [
    "PUSH1",
    "PUSH1",
    "OP_90",
    "SLOAD",
    "OP_90",
    "PUSH2",
    "EXP",
    "OP_90",
    "DIV",
    "PUSH20",
    "AND",
    "PUSH20",
    "AND",
    "SELFDESTRUCT"
  ],
  "start_pc": 1205
}
{
  "end_pc": 1410,
  "hash": "0x728544afb6ae377eed5efb8b60c2a774be340acc7a15d0adf1b7244f94e8d95f",
  "opcodes": [
    "PUSH1",
    "PUSH1",
    "OP_90",
    "SLOAD",
    "OP_90",
    "PUSH2",
    "EXP",
    "OP_90",
    "DIV",
    "PUSH20",
    "AND",
    "PUSH20",
    "AND",
    "SELFDESTRUCT"
  ],
  "start_pc": 1353
}
{
  "end_pc": 1695,
  "hash": "0x61e464edb22b271ff51a82a831f9cbb4195414839f3a1d7220f6229d58bd9695",
  "opcodes": [
    "PUSH1",
    "OP_91",
    "POP",
    "PUSH1",
    "PUSH1",
    "OP_90",
    "SLOAD",
    "OP_90",
    "PUSH2",
    "EXP",
    "OP_90",
    "DIV",
    "PUSH20",
    "AND",
    "OP_82",
    "ADDRESS",
    "PUSH20",
    "AND",
    "BALANCE",
    "OP_86",
    "PUSH1",
    "MLOAD",
    "PUSH2",
    "OP_80",
    "PUSH2",
    "OP_83",
    "CODECOPY",
    "ADD",
    "OP_80",
    "OP_85",
    "PUSH20",
    "AND",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "OP_84",
    "PUSH20",
    "AND",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "OP_83",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "OP_82",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "OP_94",
    "POP",
    "POP",
    "POP",
    "POP",
    "POP",
    "PUSH1",
    "MLOAD",
    "OP_80",
    "OP_91",
    "SUB",
    "OP_90",
    "PUSH1",
    "CREATE",
    "OP_90",
    "POP",
    "OP_80",
    "PUSH20",
    "AND",
    "SELFDESTRUCT"
  ],
  "start_pc": 1507
}
{
  "end_pc": 2597,
  "hash": "0xafae6b0fd376e1ee16d970d4f5e284b4f73a1d6ecc21bb486c52d3d48296f81f",
  "opcodes": [
    "JUMPDEST",
    "PUSH1",
    "PUSH1",
    "OP_90",
    "SLOAD",
    "OP_90",
    "PUSH2",
    "EXP",
    "OP_90",
    "DIV",
    "PUSH20",
    "AND",
    "PUSH20",
    "AND",
    "SELFDESTRUCT"
  ],
  "start_pc": 2539
}
{
  "end_pc": 3055,
  "hash": "0x5eed93fbb32830ca8ff5ad0d5c57ff0a06cb35065c77124d661ef20ef4868bf5",
  "opcodes": [
    "JUMPDEST",
    "PUSH1",
    "PUSH1",
    "OP_90",
    "SLOAD",
    "OP_90",
    "PUSH2",
    "EXP",
    "OP_90",
    "DIV",
    "PUSH20",
    "AND",
    "PUSH20",
    "AND",
    "SELFDESTRUCT"
  ],
  "start_pc": 2997
}

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.basic_blocks[] | select((.opcodes|index(\"CREATE\"))"'!=null or (.opcodes|index("CREATE2"))!=null)'"' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
{
  "end_pc": 591,
  "hash": "0x40bbd0cf0f4cfee217192b6ffa0443b99bd6aae6d897ebfceb261f77a38bdb10",
  "opcodes": [
    "JUMPDEST",
    "OP_81",
    "OP_85",
    "PUSH1",
    "PUSH1",
    "POP",
    "SLOAD",
    "TIMESTAMP",
    "ADD",
    "PUSH1",
    "MLOAD",
    "PUSH2",
    "OP_80",
    "PUSH2",
    "OP_83",
    "CODECOPY",
    "ADD",
    "OP_80",
    "OP_84",
    "PUSH20",
    "AND",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "OP_83",
    "PUSH20",
    "AND",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "OP_82",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "OP_93",
    "POP",
    "POP",
    "POP",
    "POP",
    "PUSH1",
    "MLOAD",
    "OP_80",
    "OP_91",
    "SUB",
    "OP_90",
    "PUSH1",
    "CREATE",
    "OP_90",
    "POP",
    "OP_83",
    "PUSH1",
    "PUSH1",
    "POP",
    "PUSH1",
    "OP_84",
    "PUSH20",
    "AND",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "OP_90",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "PUSH1",
    "SHA3",
    "PUSH1",
    "OP_82",
    "OP_82",
    "OP_82",
    "POP",
    "SLOAD",
    "SUB",
    "OP_92",
    "POP",
    "POP",
    "OP_81",
    "OP_90",
    "SSTORE",
    "POP",
    "OP_80",
    "OP_92",
    "POP",
    "PUSH2",
    "JUMP"
  ],
  "start_pc": 421
}
{
  "end_pc": 1695,
  "hash": "0x61e464edb22b271ff51a82a831f9cbb4195414839f3a1d7220f6229d58bd9695",
  "opcodes": [
    "PUSH1",
    "OP_91",
    "POP",
    "PUSH1",
    "PUSH1",
    "OP_90",
    "SLOAD",
    "OP_90",
    "PUSH2",
    "EXP",
    "OP_90",
    "DIV",
    "PUSH20",
    "AND",
    "OP_82",
    "ADDRESS",
    "PUSH20",
    "AND",
    "BALANCE",
    "OP_86",
    "PUSH1",
    "MLOAD",
    "PUSH2",
    "OP_80",
    "PUSH2",
    "OP_83",
    "CODECOPY",
    "ADD",
    "OP_80",
    "OP_85",
    "PUSH20",
    "AND",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "OP_84",
    "PUSH20",
    "AND",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "OP_83",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "OP_82",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "OP_94",
    "POP",
    "POP",
    "POP",
    "POP",
    "POP",
    "PUSH1",
    "MLOAD",
    "OP_80",
    "OP_91",
    "SUB",
    "OP_90",
    "PUSH1",
    "CREATE",
    "OP_90",
    "POP",
    "OP_80",
    "PUSH20",
    "AND",
    "SELFDESTRUCT"
  ],
  "start_pc": 1507
}

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.cfg_edges[] | select(.from==3098 or .from==3211 or .to==3098 or .to==3211)' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.cfg_edges[0:20]' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
[
  {
    "from": "bb:0",
    "to": "bb:90",
    "type": "control_flow"
  },
  {
    "from": "bb:0",
    "to": "bb:51",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:51",
    "to": "bb:129",
    "type": "control_flow"
  },
  {
    "from": "bb:51",
    "to": "bb:62",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:62",
    "to": "bb:162",
    "type": "control_flow"
  },
  {
    "from": "bb:62",
    "to": "bb:73",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:73",
    "to": "bb:181",
    "type": "control_flow"
  },
  {
    "from": "bb:73",
    "to": "bb:84",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:84",
    "to": "bb:88",
    "type": "control_flow"
  },
  {
    "from": "bb:90",
    "to": "bb:257",
    "type": "control_flow"
  },
  {
    "from": "bb:129",
    "to": "bb:248",
    "type": "control_flow"
  },
  {
    "from": "bb:162",
    "to": "bb:284",
    "type": "control_flow"
  },
  {
    "from": "bb:181",
    "to": "bb:348",
    "type": "control_flow"
  },
  {
    "from": "bb:284",
    "to": "bb:345",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:348",
    "to": "bb:421",
    "type": "control_flow"
  },
  {
    "from": "bb:348",
    "to": "bb:413",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:413",
    "to": "bb:592",
    "type": "control_flow"
  },
  {
    "from": "bb:421",
    "to": "bb:592",
    "type": "control_flow"
  },
  {
    "from": "bb:601",
    "to": "bb:642",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:642",
    "to": "bb:739",
    "type": "control_flow_fallthrough"
  }
]

exec
/bin/bash -lc "jq '.capability_graph.graph_json.nodes[0:40]' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
[
  {
    "end_pc": 50,
    "hash": "0x8d015a5c97b39a9519e2009924dab5889583a63aabbb20922c75ecb694194e9c",
    "id": "bb:0",
    "start_pc": 0,
    "type": "basic_block"
  },
  {
    "end_pc": 61,
    "hash": "0xc0bf27444afe410320abc9310a43c27721171d001db9d7f4749c53feaa5b0539",
    "id": "bb:51",
    "start_pc": 51,
    "type": "basic_block"
  },
  {
    "end_pc": 72,
    "hash": "0xefb8d1b7b18cda0ac352c8481403fd92ae0fecbd8cfc2ef395ac2ec63846d1ce",
    "id": "bb:62",
    "start_pc": 62,
    "type": "basic_block"
  },
  {
    "end_pc": 83,
    "hash": "0x425dba9ed6977e3bf7c7d2c73eb677581686151ec696e2b23774c838c714e03e",
    "id": "bb:73",
    "start_pc": 73,
    "type": "basic_block"
  },
  {
    "end_pc": 87,
    "hash": "0xe505be23d1cf0ffc2e8e73a75d03ae2cc037013d09b34d3a491c8366e2020f01",
    "id": "bb:84",
    "start_pc": 84,
    "type": "basic_block"
  },
  {
    "end_pc": 89,
    "hash": "0x37ac4f1ec61b72cfc62d8043b5574f565d42fbc5f60d7b0cb4e7041d206754ca",
    "id": "bb:88",
    "start_pc": 88,
    "type": "basic_block"
  },
  {
    "end_pc": 106,
    "hash": "0x0574b5efa7d044e4a6d59beac9367d9ad66145f91771a411d6916617b92c2a4b",
    "id": "bb:90",
    "start_pc": 90,
    "type": "basic_block"
  },
  {
    "end_pc": 128,
    "hash": "0x7b9ad0e1474917ec7ee3bfd4ae4d682f18a352d638ae827062c8d0fdb378b1ce",
    "id": "bb:107",
    "start_pc": 107,
    "type": "basic_block"
  },
  {
    "end_pc": 139,
    "hash": "0x6f0aaaa4f3a0d29f9a427cb0f25a8092074015a04be2cc0f0e8d8362c258f249",
    "id": "bb:129",
    "start_pc": 129,
    "type": "basic_block"
  },
  {
    "end_pc": 161,
    "hash": "0x6c2bb9a00055de40acf1401e1c76da4dba03251da0ec6330f1354fdd23f99211",
    "id": "bb:140",
    "start_pc": 140,
    "type": "basic_block"
  },
  {
    "end_pc": 178,
    "hash": "0xe7f478ba7e1c623330dbed0f0c5920a60d9b38732452e6b722537d8bfb0ed9a0",
    "id": "bb:162",
    "start_pc": 162,
    "type": "basic_block"
  },
  {
    "end_pc": 180,
    "hash": "0x19a5581897164f0277390e012f3c6c82ebe77d0c89e32a92588c4dfee7c1fc8b",
    "id": "bb:179",
    "start_pc": 179,
    "type": "basic_block"
  },
  {
    "end_pc": 203,
    "hash": "0x02ff73f2c24d7d7e0db7d7d1e165bbf99034aa3fd79029d2eafa04a151b6e9f5",
    "id": "bb:181",
    "start_pc": 181,
    "type": "basic_block"
  },
  {
    "end_pc": 247,
    "hash": "0xf1ffef68aa1e51d812ca30f70a9ad97bca546cc38b82a3a0cc3b02923d24ef26",
    "id": "bb:204",
    "start_pc": 204,
    "type": "basic_block"
  },
  {
    "end_pc": 256,
    "hash": "0xf92c7975f68f512a28f804d40f8f656e63af3a04fcebc7274897b86e02f5f9aa",
    "id": "bb:248",
    "start_pc": 248,
    "type": "basic_block"
  },
  {
    "end_pc": 283,
    "hash": "0x54ffd0d4d1a2b2761865148ac3676ae691b8db49c986d7f764ec86f198cc6d41",
    "id": "bb:257",
    "start_pc": 257,
    "type": "basic_block"
  },
  {
    "end_pc": 344,
    "hash": "0x47fa77739769031222bac914f8294e556e4542208b0d193a99bc038c3b536d67",
    "id": "bb:284",
    "start_pc": 284,
    "type": "basic_block"
  },
  {
    "end_pc": 347,
    "hash": "0x474038caa5303f9c3ee21a06a2317be8d6d0ee8274868831af8274257f2254e5",
    "id": "bb:345",
    "start_pc": 345,
    "type": "basic_block"
  },
  {
    "end_pc": 412,
    "hash": "0xba7de0734c8a87cbdc35904dd3285feeb5e889ff9c78399ba0d8388f4d95cf70",
    "id": "bb:348",
    "start_pc": 348,
    "type": "basic_block"
  },
  {
    "end_pc": 420,
    "hash": "0xbb9ea7c68f06c69ecbede7939b5965fa4baeb51ee63049030c027c5edd1ccad3",
    "id": "bb:413",
    "start_pc": 413,
    "type": "basic_block"
  },
  {
    "end_pc": 591,
    "hash": "0x40bbd0cf0f4cfee217192b6ffa0443b99bd6aae6d897ebfceb261f77a38bdb10",
    "id": "bb:421",
    "start_pc": 421,
    "type": "basic_block"
  },
  {
    "end_pc": 599,
    "hash": "0x435d39d0e847fae3697444d58efa218b3dc191df37911d56e61c44ce17314439",
    "id": "bb:592",
    "start_pc": 592,
    "type": "basic_block"
  },
  {
    "end_pc": 600,
    "hash": "0x1ed41d0373e1aa6ebf24f0c8e183b39b71ab23237232c0f80726ffb552036706",
    "id": "bb:600",
    "start_pc": 600,
    "type": "basic_block"
  },
  {
    "end_pc": 641,
    "hash": "0x28854534fa74549999d487205e996e324cdc5ba024341fd34d40fec524db86e4",
    "id": "bb:601",
    "start_pc": 601,
    "type": "basic_block"
  },
  {
    "end_pc": 738,
    "hash": "0xf955c2ec699d198f18c0143076a94069af379ce08b60545d5c91f9517584ff0b",
    "id": "bb:642",
    "start_pc": 642,
    "type": "basic_block"
  },
  {
    "end_pc": 755,
    "hash": "0xbc580a53c24e5eecf674def40f3f2e33dd7e4ebf18e5914cab04a535b1c999ba",
    "id": "bb:739",
    "start_pc": 739,
    "type": "basic_block"
  },
  {
    "end_pc": 756,
    "hash": "0xc504fe2f8522eb93cb2f10f32324b34838b3929155aee78680aa4607fe748dcd",
    "id": "bb:756",
    "start_pc": 756,
    "type": "basic_block"
  },
  {
    "end_pc": 767,
    "hash": "0x5559d208313b0ce77fdfb6c08443baad9e003acae049b08f17bd251389ff476c",
    "id": "bb:757",
    "start_pc": 757,
    "type": "basic_block"
  },
  {
    "end_pc": 813,
    "hash": "0x7a251c03fdf4dcf56ded93020069b7ce2610e9de8afbe6b165d36efe4905106e",
    "id": "bb:768",
    "start_pc": 768,
    "type": "basic_block"
  },
  {
    "end_pc": 824,
    "hash": "0xc0b5d713346e1a0cd0f673f04f36cdf4b69b65b36b2449d67ace7d8ac2f6bbba",
    "id": "bb:814",
    "start_pc": 814,
    "type": "basic_block"
  },
  {
    "end_pc": 835,
    "hash": "0x2f1ca0253ddd97efcb1947fe8b06410f2743d58915bc18a1e6abfe4282068f87",
    "id": "bb:825",
    "start_pc": 825,
    "type": "basic_block"
  },
  {
    "end_pc": 846,
    "hash": "0x32fc7684af2f0d1f67d08fa636b715335d136ed522f84118c36a328c0e74d8c1",
    "id": "bb:836",
    "start_pc": 836,
    "type": "basic_block"
  },
  {
    "end_pc": 857,
    "hash": "0x4ceb9fd8764081fe0d7ecd0a7427c38d0fe3e875914866b8d62f683d9afcf24e",
    "id": "bb:847",
    "start_pc": 847,
    "type": "basic_block"
  },
  {
    "end_pc": 868,
    "hash": "0xeb6f7b39e5a61a642246a82ea30e198b0e99f3f2a2bf330d8bfd2b39a267c902",
    "id": "bb:858",
    "start_pc": 858,
    "type": "basic_block"
  },
  {
    "end_pc": 872,
    "hash": "0xa3530bf05491ede88f9a5d4dd9f3e968cdc050aeff4dd7b9e1d6490afa79364f",
    "id": "bb:869",
    "start_pc": 869,
    "type": "basic_block"
  },
  {
    "end_pc": 874,
    "hash": "0x020d50e642d6ec42a96c8cef925d4cbd27825e4e917a4667dd2f7109b483c676",
    "id": "bb:873",
    "start_pc": 873,
    "type": "basic_block"
  },
  {
    "end_pc": 891,
    "hash": "0x461ccb46cabead2e2b62a74b980c55d04fb009bf63490534e916f78762db4927",
    "id": "bb:875",
    "start_pc": 875,
    "type": "basic_block"
  },
  {
    "end_pc": 935,
    "hash": "0xd7e0756fe2603362fc15801c97b5ff3de596eb961a0d57110e4b3d47e7dca096",
    "id": "bb:892",
    "start_pc": 892,
    "type": "basic_block"
  },
  {
    "end_pc": 946,
    "hash": "0x5f9fb245012a7486cd11f7520de566903c3bfe0a7247e40b4dce85b0f8984d2f",
    "id": "bb:936",
    "start_pc": 936,
    "type": "basic_block"
  },
  {
    "end_pc": 990,
    "hash": "0x341a47cfb4cd38f612c764be69bf282597e256c197b3fb6b272fe2fdaebf495f",
    "id": "bb:947",
    "start_pc": 947,
    "type": "basic_block"
  }
]

exec
/bin/bash -lc "jq '.capability_graph.graph_json.edges[0:80]' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
[
  {
    "from": "bb:0",
    "to": "bb:90",
    "type": "control_flow"
  },
  {
    "from": "bb:0",
    "to": "bb:51",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:51",
    "to": "bb:129",
    "type": "control_flow"
  },
  {
    "from": "bb:51",
    "to": "bb:62",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:62",
    "to": "bb:162",
    "type": "control_flow"
  },
  {
    "from": "bb:62",
    "to": "bb:73",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:73",
    "to": "bb:181",
    "type": "control_flow"
  },
  {
    "from": "bb:73",
    "to": "bb:84",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:84",
    "to": "bb:88",
    "type": "control_flow"
  },
  {
    "from": "bb:90",
    "to": "bb:257",
    "type": "control_flow"
  },
  {
    "from": "bb:129",
    "to": "bb:248",
    "type": "control_flow"
  },
  {
    "from": "bb:162",
    "to": "bb:284",
    "type": "control_flow"
  },
  {
    "from": "bb:181",
    "to": "bb:348",
    "type": "control_flow"
  },
  {
    "from": "bb:284",
    "to": "bb:345",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:348",
    "to": "bb:421",
    "type": "control_flow"
  },
  {
    "from": "bb:348",
    "to": "bb:413",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:413",
    "to": "bb:592",
    "type": "control_flow"
  },
  {
    "from": "bb:421",
    "to": "bb:592",
    "type": "control_flow"
  },
  {
    "from": "bb:601",
    "to": "bb:642",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:642",
    "to": "bb:739",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:757",
    "to": "bb:768",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:768",
    "to": "bb:814",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:814",
    "to": "bb:179",
    "type": "control_flow"
  },
  {
    "from": "bb:814",
    "to": "bb:825",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:825",
    "to": "bb:836",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:836",
    "to": "bb:847",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:847",
    "to": "bb:858",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:858",
    "to": "bb:869",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:1004",
    "to": "bb:348",
    "type": "control_flow"
  },
  {
    "from": "bb:1190",
    "to": "bb:1205",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:1263",
    "to": "bb:1264",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:1266",
    "to": "bb:1353",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:1411",
    "to": "bb:1412",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:1414",
    "to": "bb:1507",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:1696",
    "to": "bb:947",
    "type": "control_flow"
  },
  {
    "from": "bb:1703",
    "to": "bb:1704",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:1712",
    "to": "bb:1759",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:1759",
    "to": "bb:1866",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:1885",
    "to": "bb:1896",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:1896",
    "to": "bb:140",
    "type": "control_flow"
  },
  {
    "from": "bb:1896",
    "to": "bb:1942",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:1942",
    "to": "bb:1953",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:1953",
    "to": "bb:1964",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:1964",
    "to": "bb:1975",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:1975",
    "to": "bb:1986",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:1986",
    "to": "bb:1997",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:1997",
    "to": "bb:2008",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:2008",
    "to": "bb:2019",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:2422",
    "to": "bb:2438",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:2517",
    "to": "bb:2532",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:2598",
    "to": "bb:2599",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:2601",
    "to": "bb:2611",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:2611",
    "to": "bb:2669",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:2669",
    "to": "bb:814",
    "type": "control_flow"
  },
  {
    "from": "bb:2699",
    "to": "bb:2708",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:2708",
    "to": "bb:814",
    "type": "control_flow"
  },
  {
    "from": "bb:2772",
    "to": "bb:2773",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:2773",
    "to": "bb:2786",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:2786",
    "to": "bb:2990",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:3056",
    "to": "bb:3057",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:3057",
    "to": "bb:3058",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:3060",
    "to": "bb:3069",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:3069",
    "to": "bb:3083",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:3083",
    "to": "bb:3098",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:3098",
    "to": "bb:3211",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "bb:3224",
    "to": "bb:3225",
    "type": "control_flow_fallthrough"
  },
  {
    "from": "fn:0x27e235e3",
    "to": "bb:1782757624",
    "type": "entry"
  },
  {
    "from": "fn:0x6a42b8f8",
    "to": "bb:2654591859",
    "type": "entry"
  },
  {
    "from": "fn:0x9e39db73",
    "to": "bb:2835717307",
    "type": "entry"
  },
  {
    "from": "fn:0x0fe65b36",
    "to": "bb:1724908460",
    "type": "entry"
  },
  {
    "from": "fn:0x66d003ac",
    "to": "bb:2261886623",
    "type": "entry"
  },
  {
    "from": "fn:0x86d1a69f",
    "to": "bb:2376452955",
    "type": "entry"
  },
  {
    "from": "fn:0x8da5cb5b",
    "to": "bb:3105701889",
    "type": "entry"
  },
  {
    "from": "fn:0xb91d4001",
    "to": "bb:3934919408",
    "type": "entry"
  },
  {
    "from": "fn:0x119f8747",
    "to": "bb:702329039",
    "type": "entry"
  },
  {
    "from": "fn:0x29dcb0cf",
    "to": "bb:1009039319",
    "type": "entry"
  },
  {
    "from": "fn:0x3c24b7d7",
    "to": "bb:1428191708",
    "type": "entry"
  },
  {
    "from": "fn:0x552079dc",
    "to": "bb:1724908460",
    "type": "entry"
  },
  {
    "from": "fn:0x702c35fb",
    "to": "bb:2261886623",
    "type": "entry"
  },
  {
    "from": "bb:3098",
    "to": "call:3204",
    "type": "contains"
  }
]

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.basic_blocks[] | select(.start_pc>=2330 and .start_pc<=3230) | {start_pc,end_pc,opcodes}' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
{
  "start_pc": 2366,
  "end_pc": 2403,
  "opcodes": [
    "JUMPDEST",
    "PUSH1",
    "PUSH1",
    "OP_90",
    "SLOAD",
    "OP_90",
    "PUSH2",
    "EXP",
    "OP_90",
    "DIV",
    "PUSH20",
    "AND",
    "OP_81",
    "JUMP"
  ]
}
{
  "start_pc": 2404,
  "end_pc": 2412,
  "opcodes": [
    "JUMPDEST",
    "PUSH1",
    "PUSH1",
    "POP",
    "SLOAD",
    "OP_81",
    "JUMP"
  ]
}
{
  "start_pc": 2413,
  "end_pc": 2421,
  "opcodes": [
    "JUMPDEST",
    "PUSH1",
    "PUSH1",
    "POP",
    "SLOAD",
    "OP_81",
    "JUMP"
  ]
}
{
  "start_pc": 2422,
  "end_pc": 2437,
  "opcodes": [
    "JUMPDEST",
    "PUSH1",
    "PUSH1",
    "POP",
    "OP_81",
    "OP_81",
    "SLOAD",
    "OP_81",
    "LT",
    "ISZERO",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 2438,
  "end_pc": 2507,
  "opcodes": [
    "OP_90",
    "PUSH1",
    "MSTORE",
    "PUSH1",
    "PUSH1",
    "SHA3",
    "OP_90",
    "PUSH1",
    "MUL",
    "ADD",
    "PUSH1",
    "OP_91",
    "POP",
    "OP_90",
    "POP",
    "OP_80",
    "PUSH1",
    "ADD",
    "PUSH1",
    "OP_90",
    "SLOAD",
    "OP_90",
    "PUSH2",
    "EXP",
    "OP_90",
    "DIV",
    "PUSH20",
    "AND",
    "OP_90",
    "OP_80",
    "PUSH1",
    "ADD",
    "PUSH1",
    "POP",
    "SLOAD",
    "OP_90",
    "POP",
    "OP_82",
    "JUMP"
  ]
}
{
  "start_pc": 2508,
  "end_pc": 2516,
  "opcodes": [
    "JUMPDEST",
    "PUSH1",
    "PUSH1",
    "POP",
    "SLOAD",
    "OP_81",
    "JUMP"
  ]
}
{
  "start_pc": 2517,
  "end_pc": 2531,
  "opcodes": [
    "JUMPDEST",
    "PUSH1",
    "PUSH1",
    "POP",
    "SLOAD",
    "TIMESTAMP",
    "LT",
    "ISZERO",
    "ISZERO",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 2532,
  "end_pc": 2538,
  "opcodes": [
    "PUSH2",
    "PUSH2",
    "JUMP"
  ]
}
{
  "start_pc": 2539,
  "end_pc": 2597,
  "opcodes": [
    "JUMPDEST",
    "PUSH1",
    "PUSH1",
    "OP_90",
    "SLOAD",
    "OP_90",
    "PUSH2",
    "EXP",
    "OP_90",
    "DIV",
    "PUSH20",
    "AND",
    "PUSH20",
    "AND",
    "SELFDESTRUCT"
  ]
}
{
  "start_pc": 2598,
  "end_pc": 2598,
  "opcodes": [
    "JUMPDEST"
  ]
}
{
  "start_pc": 2599,
  "end_pc": 2600,
  "opcodes": [
    "JUMPDEST",
    "JUMP"
  ]
}
{
  "start_pc": 2601,
  "end_pc": 2610,
  "opcodes": [
    "JUMPDEST",
    "PUSH1",
    "CALLVALUE",
    "GT",
    "ISZERO",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 2611,
  "end_pc": 2668,
  "opcodes": [
    "PUSH1",
    "PUSH1",
    "MLOAD",
    "OP_90",
    "OP_81",
    "ADD",
    "PUSH1",
    "MSTORE",
    "OP_80",
    "CALLER",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "CALLVALUE",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "POP",
    "PUSH1",
    "PUSH1",
    "POP",
    "PUSH1",
    "PUSH1",
    "POP",
    "OP_80",
    "SLOAD",
    "OP_80",
    "OP_91",
    "OP_90",
    "PUSH1",
    "ADD",
    "OP_90",
    "OP_90",
    "OP_81",
    "SLOAD",
    "OP_81",
    "OP_83",
    "SSTORE",
    "OP_81",
    "OP_81",
    "ISZERO",
    "GT",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 2669,
  "end_pc": 2698,
  "opcodes": [
    "PUSH1",
    "MUL",
    "OP_81",
    "PUSH1",
    "MUL",
    "OP_83",
    "PUSH1",
    "MSTORE",
    "PUSH1",
    "PUSH1",
    "SHA3",
    "OP_91",
    "OP_82",
    "ADD",
    "OP_91",
    "ADD",
    "PUSH2",
    "OP_91",
    "OP_90",
    "PUSH2",
    "JUMP"
  ]
}
{
  "start_pc": 2699,
  "end_pc": 2707,
  "opcodes": [
    "JUMPDEST",
    "OP_80",
    "OP_82",
    "GT",
    "ISZERO",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 2708,
  "end_pc": 2767,
  "opcodes": [
    "PUSH1",
    "PUSH1",
    "OP_82",
    "ADD",
    "PUSH1",
    "PUSH2",
    "EXP",
    "OP_81",
    "SLOAD",
    "OP_90",
    "PUSH20",
    "MUL",
    "NOT",
    "AND",
    "OP_90",
    "SSTORE",
    "PUSH1",
    "OP_82",
    "ADD",
    "PUSH1",
    "POP",
    "PUSH1",
    "OP_90",
    "SSTORE",
    "POP",
    "PUSH1",
    "ADD",
    "PUSH2",
    "JUMP"
  ]
}
{
  "start_pc": 2768,
  "end_pc": 2771,
  "opcodes": [
    "JUMPDEST",
    "POP",
    "OP_90",
    "JUMP"
  ]
}
{
  "start_pc": 2772,
  "end_pc": 2772,
  "opcodes": [
    "JUMPDEST"
  ]
}
{
  "start_pc": 2773,
  "end_pc": 2785,
  "opcodes": [
    "JUMPDEST",
    "POP",
    "POP",
    "POP",
    "OP_81",
    "SLOAD",
    "OP_81",
    "LT",
    "ISZERO",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 2786,
  "end_pc": 2989,
  "opcodes": [
    "OP_90",
    "PUSH1",
    "MSTORE",
    "PUSH1",
    "PUSH1",
    "SHA3",
    "OP_90",
    "PUSH1",
    "MUL",
    "ADD",
    "PUSH1",
    "POP",
    "PUSH1",
    "OP_82",
    "ADD",
    "MLOAD",
    "OP_81",
    "PUSH1",
    "ADD",
    "PUSH1",
    "PUSH2",
    "EXP",
    "OP_81",
    "SLOAD",
    "OP_81",
    "PUSH20",
    "MUL",
    "NOT",
    "AND",
    "OP_90",
    "OP_83",
    "MUL",
    "OR",
    "OP_90",
    "SSTORE",
    "POP",
    "PUSH1",
    "OP_82",
    "ADD",
    "MLOAD",
    "OP_81",
    "PUSH1",
    "ADD",
    "PUSH1",
    "POP",
    "SSTORE",
    "OP_90",
    "POP",
    "POP",
    "CALLVALUE",
    "PUSH1",
    "PUSH1",
    "OP_82",
    "OP_82",
    "OP_82",
    "POP",
    "SLOAD",
    "ADD",
    "OP_92",
    "POP",
    "POP",
    "OP_81",
    "OP_90",
    "SSTORE",
    "POP",
    "PUSH32",
    "CALLER",
    "CALLVALUE",
    "PUSH1",
    "MLOAD",
    "OP_80",
    "OP_83",
    "PUSH20",
    "AND",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "OP_82",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "OP_92",
    "POP",
    "POP",
    "POP",
    "PUSH1",
    "MLOAD",
    "OP_80",
    "OP_91",
    "SUB",
    "OP_90",
    "OP_A1",
    "PUSH1",
    "PUSH1",
    "POP",
    "SLOAD",
    "PUSH1",
    "PUSH1",
    "POP",
    "SLOAD",
    "LT",
    "ISZERO",
    "ISZERO",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 2990,
  "end_pc": 2996,
  "opcodes": [
    "PUSH2",
    "PUSH2",
    "JUMP"
  ]
}
{
  "start_pc": 2997,
  "end_pc": 3055,
  "opcodes": [
    "JUMPDEST",
    "PUSH1",
    "PUSH1",
    "OP_90",
    "SLOAD",
    "OP_90",
    "PUSH2",
    "EXP",
    "OP_90",
    "DIV",
    "PUSH20",
    "AND",
    "PUSH20",
    "AND",
    "SELFDESTRUCT"
  ]
}
{
  "start_pc": 3056,
  "end_pc": 3056,
  "opcodes": [
    "JUMPDEST"
  ]
}
{
  "start_pc": 3057,
  "end_pc": 3057,
  "opcodes": [
    "JUMPDEST"
  ]
}
{
  "start_pc": 3058,
  "end_pc": 3059,
  "opcodes": [
    "JUMPDEST",
    "JUMP"
  ]
}
{
  "start_pc": 3060,
  "end_pc": 3068,
  "opcodes": [
    "JUMPDEST",
    "PUSH1",
    "PUSH1",
    "PUSH1",
    "OP_91",
    "POP"
  ]
}
{
  "start_pc": 3069,
  "end_pc": 3082,
  "opcodes": [
    "JUMPDEST",
    "PUSH1",
    "PUSH1",
    "POP",
    "SLOAD",
    "OP_82",
    "LT",
    "ISZERO",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 3083,
  "end_pc": 3097,
  "opcodes": [
    "PUSH1",
    "PUSH1",
    "POP",
    "OP_82",
    "OP_81",
    "SLOAD",
    "OP_81",
    "LT",
    "ISZERO",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 3098,
  "end_pc": 3210,
  "opcodes": [
    "OP_90",
    "PUSH1",
    "MSTORE",
    "PUSH1",
    "PUSH1",
    "SHA3",
    "OP_90",
    "PUSH1",
    "MUL",
    "ADD",
    "PUSH1",
    "POP",
    "OP_90",
    "POP",
    "OP_80",
    "PUSH1",
    "ADD",
    "PUSH1",
    "OP_90",
    "SLOAD",
    "OP_90",
    "PUSH2",
    "EXP",
    "OP_90",
    "DIV",
    "PUSH20",
    "AND",
    "PUSH20",
    "AND",
    "PUSH1",
    "OP_82",
    "PUSH1",
    "ADD",
    "PUSH1",
    "POP",
    "SLOAD",
    "PUSH1",
    "MLOAD",
    "OP_80",
    "OP_90",
    "POP",
    "PUSH1",
    "PUSH1",
    "MLOAD",
    "OP_80",
    "OP_83",
    "SUB",
    "OP_81",
    "OP_85",
    "OP_88",
    "OP_88",
    "CALL",
    "OP_93",
    "POP",
    "POP",
    "POP",
    "POP",
    "POP"
  ]
}
{
  "start_pc": 3211,
  "end_pc": 3223,
  "opcodes": [
    "JUMPDEST",
    "OP_81",
    "OP_80",
    "PUSH1",
    "ADD",
    "OP_92",
    "POP",
    "POP",
    "PUSH2",
    "JUMP"
  ]
}
{
  "start_pc": 3224,
  "end_pc": 3224,
  "opcodes": [
    "JUMPDEST"
  ]
}
{
  "start_pc": 3225,
  "end_pc": 3228,
  "opcodes": [
    "JUMPDEST",
    "POP",
    "POP",
    "JUMP"
  ]
}

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.basic_blocks[] | select(.start_pc==3069 or .start_pc==3083 or .start_pc==3098 or .start_pc==3211 or .start_pc==3225 or .start_pc==2611 or .start_pc==2669 or .start_pc==2699 or .start_pc==2708 or .start_pc==2422 or .start_pc==2438 or .start_pc==2517 or .start_pc==2532 or .start_pc==2773 or .start_pc==2786 or .start_pc==2990)' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
{
  "end_pc": 2437,
  "hash": "0xcfb6c756b11924ad904b409ea0e7e3853e44d17ca845f42a5c684ed1cea7197c",
  "opcodes": [
    "JUMPDEST",
    "PUSH1",
    "PUSH1",
    "POP",
    "OP_81",
    "OP_81",
    "SLOAD",
    "OP_81",
    "LT",
    "ISZERO",
    "PUSH2",
    "JUMPI"
  ],
  "start_pc": 2422
}
{
  "end_pc": 2507,
  "hash": "0x5cce9660d8d42d8b4c36be6dc3a896d6076c38aeb2e2d2237e4637e61343c5f7",
  "opcodes": [
    "OP_90",
    "PUSH1",
    "MSTORE",
    "PUSH1",
    "PUSH1",
    "SHA3",
    "OP_90",
    "PUSH1",
    "MUL",
    "ADD",
    "PUSH1",
    "OP_91",
    "POP",
    "OP_90",
    "POP",
    "OP_80",
    "PUSH1",
    "ADD",
    "PUSH1",
    "OP_90",
    "SLOAD",
    "OP_90",
    "PUSH2",
    "EXP",
    "OP_90",
    "DIV",
    "PUSH20",
    "AND",
    "OP_90",
    "OP_80",
    "PUSH1",
    "ADD",
    "PUSH1",
    "POP",
    "SLOAD",
    "OP_90",
    "POP",
    "OP_82",
    "JUMP"
  ],
  "start_pc": 2438
}
{
  "end_pc": 2531,
  "hash": "0x201689e77588bf8bfd42ce4486933acb2c80607c308cc68ef049a2edab1f1498",
  "opcodes": [
    "JUMPDEST",
    "PUSH1",
    "PUSH1",
    "POP",
    "SLOAD",
    "TIMESTAMP",
    "LT",
    "ISZERO",
    "ISZERO",
    "PUSH2",
    "JUMPI"
  ],
  "start_pc": 2517
}
{
  "end_pc": 2538,
  "hash": "0xf51fb8694f8eaffd77b7c4b87475747fc83a956fb8c3c7c94d87b3443e37a322",
  "opcodes": [
    "PUSH2",
    "PUSH2",
    "JUMP"
  ],
  "start_pc": 2532
}
{
  "end_pc": 2668,
  "hash": "0x351dd652124d11f4af01f55e17f806b0a09f46e96e406f3c7fbcfd0eb37b87ff",
  "opcodes": [
    "PUSH1",
    "PUSH1",
    "MLOAD",
    "OP_90",
    "OP_81",
    "ADD",
    "PUSH1",
    "MSTORE",
    "OP_80",
    "CALLER",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "CALLVALUE",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "POP",
    "PUSH1",
    "PUSH1",
    "POP",
    "PUSH1",
    "PUSH1",
    "POP",
    "OP_80",
    "SLOAD",
    "OP_80",
    "OP_91",
    "OP_90",
    "PUSH1",
    "ADD",
    "OP_90",
    "OP_90",
    "OP_81",
    "SLOAD",
    "OP_81",
    "OP_83",
    "SSTORE",
    "OP_81",
    "OP_81",
    "ISZERO",
    "GT",
    "PUSH2",
    "JUMPI"
  ],
  "start_pc": 2611
}
{
  "end_pc": 2698,
  "hash": "0xe566acb322953a38045afc3c22ee8491a7fc168be5fb8210a014e12d7925f646",
  "opcodes": [
    "PUSH1",
    "MUL",
    "OP_81",
    "PUSH1",
    "MUL",
    "OP_83",
    "PUSH1",
    "MSTORE",
    "PUSH1",
    "PUSH1",
    "SHA3",
    "OP_91",
    "OP_82",
    "ADD",
    "OP_91",
    "ADD",
    "PUSH2",
    "OP_91",
    "OP_90",
    "PUSH2",
    "JUMP"
  ],
  "start_pc": 2669
}
{
  "end_pc": 2707,
  "hash": "0x6090d0b8e22a5e1db6ba776fd5662fd551ba949d4d5f6d4b7967c9cb4aaf1362",
  "opcodes": [
    "JUMPDEST",
    "OP_80",
    "OP_82",
    "GT",
    "ISZERO",
    "PUSH2",
    "JUMPI"
  ],
  "start_pc": 2699
}
{
  "end_pc": 2767,
  "hash": "0xb40d7989c7522723d71e6371fba0f28427d1700641289f24b253c08e949f89e8",
  "opcodes": [
    "PUSH1",
    "PUSH1",
    "OP_82",
    "ADD",
    "PUSH1",
    "PUSH2",
    "EXP",
    "OP_81",
    "SLOAD",
    "OP_90",
    "PUSH20",
    "MUL",
    "NOT",
    "AND",
    "OP_90",
    "SSTORE",
    "PUSH1",
    "OP_82",
    "ADD",
    "PUSH1",
    "POP",
    "PUSH1",
    "OP_90",
    "SSTORE",
    "POP",
    "PUSH1",
    "ADD",
    "PUSH2",
    "JUMP"
  ],
  "start_pc": 2708
}
{
  "end_pc": 2785,
  "hash": "0x7c606e2ebaf4fe48107354342625cf0e8fe3ec945806f8715e89990bedffed02",
  "opcodes": [
    "JUMPDEST",
    "POP",
    "POP",
    "POP",
    "OP_81",
    "SLOAD",
    "OP_81",
    "LT",
    "ISZERO",
    "PUSH2",
    "JUMPI"
  ],
  "start_pc": 2773
}
{
  "end_pc": 2989,
  "hash": "0xa88c8ed816812e292332119cf7abe5ac1b463917a5e5bdc8fc09e5bf8912a509",
  "opcodes": [
    "OP_90",
    "PUSH1",
    "MSTORE",
    "PUSH1",
    "PUSH1",
    "SHA3",
    "OP_90",
    "PUSH1",
    "MUL",
    "ADD",
    "PUSH1",
    "POP",
    "PUSH1",
    "OP_82",
    "ADD",
    "MLOAD",
    "OP_81",
    "PUSH1",
    "ADD",
    "PUSH1",
    "PUSH2",
    "EXP",
    "OP_81",
    "SLOAD",
    "OP_81",
    "PUSH20",
    "MUL",
    "NOT",
    "AND",
    "OP_90",
    "OP_83",
    "MUL",
    "OR",
    "OP_90",
    "SSTORE",
    "POP",
    "PUSH1",
    "OP_82",
    "ADD",
    "MLOAD",
    "OP_81",
    "PUSH1",
    "ADD",
    "PUSH1",
    "POP",
    "SSTORE",
    "OP_90",
    "POP",
    "POP",
    "CALLVALUE",
    "PUSH1",
    "PUSH1",
    "OP_82",
    "OP_82",
    "OP_82",
    "POP",
    "SLOAD",
    "ADD",
    "OP_92",
    "POP",
    "POP",
    "OP_81",
    "OP_90",
    "SSTORE",
    "POP",
    "PUSH32",
    "CALLER",
    "CALLVALUE",
    "PUSH1",
    "MLOAD",
    "OP_80",
    "OP_83",
    "PUSH20",
    "AND",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "OP_82",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "OP_92",
    "POP",
    "POP",
    "POP",
    "PUSH1",
    "MLOAD",
    "OP_80",
    "OP_91",
    "SUB",
    "OP_90",
    "OP_A1",
    "PUSH1",
    "PUSH1",
    "POP",
    "SLOAD",
    "PUSH1",
    "PUSH1",
    "POP",
    "SLOAD",
    "LT",
    "ISZERO",
    "ISZERO",
    "PUSH2",
    "JUMPI"
  ],
  "start_pc": 2786
}
{
  "end_pc": 2996,
  "hash": "0x7378768d78270dde09dc05411252a5cc16ebc84338a3457ddeb9f00ae6a2be0e",
  "opcodes": [
    "PUSH2",
    "PUSH2",
    "JUMP"
  ],
  "start_pc": 2990
}
{
  "end_pc": 3082,
  "hash": "0x9d1451a4389b144616af83f5ff294df77bc63923708288941587818f5585c3fe",
  "opcodes": [
    "JUMPDEST",
    "PUSH1",
    "PUSH1",
    "POP",
    "SLOAD",
    "OP_82",
    "LT",
    "ISZERO",
    "PUSH2",
    "JUMPI"
  ],
  "start_pc": 3069
}
{
  "end_pc": 3097,
  "hash": "0x1b5c38d997969564462bfa84d72cc2583281ed15ad36d00c58d45048db277ab2",
  "opcodes": [
    "PUSH1",
    "PUSH1",
    "POP",
    "OP_82",
    "OP_81",
    "SLOAD",
    "OP_81",
    "LT",
    "ISZERO",
    "PUSH2",
    "JUMPI"
  ],
  "start_pc": 3083
}
{
  "end_pc": 3210,
  "hash": "0x4d1fa58b090b488189f9fe65a31c271b59fc8c0963215b1296917291c6a07602",
  "opcodes": [
    "OP_90",
    "PUSH1",
    "MSTORE",
    "PUSH1",
    "PUSH1",
    "SHA3",
    "OP_90",
    "PUSH1",
    "MUL",
    "ADD",
    "PUSH1",
    "POP",
    "OP_90",
    "POP",
    "OP_80",
    "PUSH1",
    "ADD",
    "PUSH1",
    "OP_90",
    "SLOAD",
    "OP_90",
    "PUSH2",
    "EXP",
    "OP_90",
    "DIV",
    "PUSH20",
    "AND",
    "PUSH20",
    "AND",
    "PUSH1",
    "OP_82",
    "PUSH1",
    "ADD",
    "PUSH1",
    "POP",
    "SLOAD",
    "PUSH1",
    "MLOAD",
    "OP_80",
    "OP_90",
    "POP",
    "PUSH1",
    "PUSH1",
    "MLOAD",
    "OP_80",
    "OP_83",
    "SUB",
    "OP_81",
    "OP_85",
    "OP_88",
    "OP_88",
    "CALL",
    "OP_93",
    "POP",
    "POP",
    "POP",
    "POP",
    "POP"
  ],
  "start_pc": 3098
}
{
  "end_pc": 3223,
  "hash": "0xceac3b69241becc3a65c33f362feb1322a40ec6e9d74c128af79e59cdc388606",
  "opcodes": [
    "JUMPDEST",
    "OP_81",
    "OP_80",
    "PUSH1",
    "ADD",
    "OP_92",
    "POP",
    "POP",
    "PUSH2",
    "JUMP"
  ],
  "start_pc": 3211
}
{
  "end_pc": 3228,
  "hash": "0x64b267d7f550bff09de493d9b00942af22df5efe126770a211ebceff6ea4c22c",
  "opcodes": [
    "JUMPDEST",
    "POP",
    "POP",
    "JUMP"
  ],
  "start_pc": 3225
}

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.basic_blocks[] | select(.start_pc<=204) | {start_pc,end_pc,opcodes}' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
{
  "start_pc": 0,
  "end_pc": 50,
  "opcodes": [
    "PUSH1",
    "PUSH1",
    "MSTORE",
    "PUSH1",
    "CALLDATALOAD",
    "PUSH29",
    "OP_90",
    "DIV",
    "OP_80",
    "PUSH4",
    "EQ",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 51,
  "end_pc": 61,
  "opcodes": [
    "OP_80",
    "PUSH4",
    "EQ",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 62,
  "end_pc": 72,
  "opcodes": [
    "OP_80",
    "PUSH4",
    "EQ",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 73,
  "end_pc": 83,
  "opcodes": [
    "OP_80",
    "PUSH4",
    "EQ",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 84,
  "end_pc": 87,
  "opcodes": [
    "PUSH2",
    "JUMP"
  ]
}
{
  "start_pc": 88,
  "end_pc": 89,
  "opcodes": [
    "JUMPDEST",
    "STOP"
  ]
}
{
  "start_pc": 90,
  "end_pc": 106,
  "opcodes": [
    "JUMPDEST",
    "PUSH2",
    "PUSH1",
    "OP_80",
    "CALLDATALOAD",
    "OP_90",
    "PUSH1",
    "ADD",
    "POP",
    "PUSH2",
    "JUMP"
  ]
}
{
  "start_pc": 107,
  "end_pc": 128,
  "opcodes": [
    "JUMPDEST",
    "PUSH1",
    "MLOAD",
    "OP_80",
    "OP_82",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "OP_91",
    "POP",
    "POP",
    "PUSH1",
    "MLOAD",
    "OP_80",
    "OP_91",
    "SUB",
    "OP_90",
    "RETURN"
  ]
}
{
  "start_pc": 129,
  "end_pc": 139,
  "opcodes": [
    "JUMPDEST",
    "PUSH2",
    "PUSH1",
    "POP",
    "PUSH2",
    "JUMP"
  ]
}
{
  "start_pc": 140,
  "end_pc": 161,
  "opcodes": [
    "JUMPDEST",
    "PUSH1",
    "MLOAD",
    "OP_80",
    "OP_82",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "OP_91",
    "POP",
    "POP",
    "PUSH1",
    "MLOAD",
    "OP_80",
    "OP_91",
    "SUB",
    "OP_90",
    "RETURN"
  ]
}
{
  "start_pc": 162,
  "end_pc": 178,
  "opcodes": [
    "JUMPDEST",
    "PUSH2",
    "PUSH1",
    "OP_80",
    "CALLDATALOAD",
    "OP_90",
    "PUSH1",
    "ADD",
    "POP",
    "PUSH2",
    "JUMP"
  ]
}
{
  "start_pc": 179,
  "end_pc": 180,
  "opcodes": [
    "JUMPDEST",
    "STOP"
  ]
}
{
  "start_pc": 181,
  "end_pc": 203,
  "opcodes": [
    "JUMPDEST",
    "PUSH2",
    "PUSH1",
    "OP_80",
    "CALLDATALOAD",
    "OP_90",
    "PUSH1",
    "ADD",
    "OP_80",
    "CALLDATALOAD",
    "OP_90",
    "PUSH1",
    "ADD",
    "POP",
    "PUSH2",
    "JUMP"
  ]
}
{
  "start_pc": 204,
  "end_pc": 247,
  "opcodes": [
    "JUMPDEST",
    "PUSH1",
    "MLOAD",
    "OP_80",
    "OP_82",
    "PUSH20",
    "AND",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "OP_91",
    "POP",
    "POP",
    "PUSH1",
    "MLOAD",
    "OP_80",
    "OP_91",
    "SUB",
    "OP_90",
    "RETURN"
  ]
}

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.cfg_edges[] | select(.from|startswith(\"bb:\")) | map_values(.)' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
{
  "from": "bb:0",
  "to": "bb:90",
  "type": "control_flow"
}
{
  "from": "bb:0",
  "to": "bb:51",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:51",
  "to": "bb:129",
  "type": "control_flow"
}
{
  "from": "bb:51",
  "to": "bb:62",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:62",
  "to": "bb:162",
  "type": "control_flow"
}
{
  "from": "bb:62",
  "to": "bb:73",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:73",
  "to": "bb:181",
  "type": "control_flow"
}
{
  "from": "bb:73",
  "to": "bb:84",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:84",
  "to": "bb:88",
  "type": "control_flow"
}
{
  "from": "bb:90",
  "to": "bb:257",
  "type": "control_flow"
}
{
  "from": "bb:129",
  "to": "bb:248",
  "type": "control_flow"
}
{
  "from": "bb:162",
  "to": "bb:284",
  "type": "control_flow"
}
{
  "from": "bb:181",
  "to": "bb:348",
  "type": "control_flow"
}
{
  "from": "bb:284",
  "to": "bb:345",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:348",
  "to": "bb:421",
  "type": "control_flow"
}
{
  "from": "bb:348",
  "to": "bb:413",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:413",
  "to": "bb:592",
  "type": "control_flow"
}
{
  "from": "bb:421",
  "to": "bb:592",
  "type": "control_flow"
}
{
  "from": "bb:601",
  "to": "bb:642",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:642",
  "to": "bb:739",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:757",
  "to": "bb:768",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:768",
  "to": "bb:814",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:814",
  "to": "bb:179",
  "type": "control_flow"
}
{
  "from": "bb:814",
  "to": "bb:825",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:825",
  "to": "bb:836",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:836",
  "to": "bb:847",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:847",
  "to": "bb:858",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:858",
  "to": "bb:869",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:1004",
  "to": "bb:348",
  "type": "control_flow"
}
{
  "from": "bb:1190",
  "to": "bb:1205",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:1263",
  "to": "bb:1264",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:1266",
  "to": "bb:1353",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:1411",
  "to": "bb:1412",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:1414",
  "to": "bb:1507",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:1696",
  "to": "bb:947",
  "type": "control_flow"
}
{
  "from": "bb:1703",
  "to": "bb:1704",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:1712",
  "to": "bb:1759",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:1759",
  "to": "bb:1866",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:1885",
  "to": "bb:1896",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:1896",
  "to": "bb:140",
  "type": "control_flow"
}
{
  "from": "bb:1896",
  "to": "bb:1942",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:1942",
  "to": "bb:1953",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:1953",
  "to": "bb:1964",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:1964",
  "to": "bb:1975",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:1975",
  "to": "bb:1986",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:1986",
  "to": "bb:1997",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:1997",
  "to": "bb:2008",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:2008",
  "to": "bb:2019",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:2422",
  "to": "bb:2438",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:2517",
  "to": "bb:2532",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:2598",
  "to": "bb:2599",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:2601",
  "to": "bb:2611",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:2611",
  "to": "bb:2669",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:2669",
  "to": "bb:814",
  "type": "control_flow"
}
{
  "from": "bb:2699",
  "to": "bb:2708",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:2708",
  "to": "bb:814",
  "type": "control_flow"
}
{
  "from": "bb:2772",
  "to": "bb:2773",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:2773",
  "to": "bb:2786",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:2786",
  "to": "bb:2990",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:3056",
  "to": "bb:3057",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:3057",
  "to": "bb:3058",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:3060",
  "to": "bb:3069",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:3069",
  "to": "bb:3083",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:3083",
  "to": "bb:3098",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:3098",
  "to": "bb:3211",
  "type": "control_flow_fallthrough"
}
{
  "from": "bb:3224",
  "to": "bb:3225",
  "type": "control_flow_fallthrough"
}

exec
/bin/bash -lc "jq '.detector_findings' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
[
  {
    "confidence": 40,
    "evidence_json": {
      "eth_value_calls": 1,
      "examples": [
        {
          "opcode": "CALL",
          "pc": 3204,
          "returndata_checked": null,
          "target_expression_category": "computed",
          "value_expression_category": "computed"
        }
      ],
      "guards_detected": [
        {
          "pc": 1324,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
          "pc": 1478,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
      ]
    },
    "normalized_json": {
      "sink": "CALL",
      "value": "nonzero"
    },
    "severity": "medium",
    "title": "ETH value transfer possible",
    "validated": false,
    "validation_json": {
      "attempts": 1,
      "call_targets": [
        "0x480d57dbf6c3b49916b9325e2c5ed92401c54efc"
      ],
      "classification": "constant_target",
      "confirmed": false,
      "errors": 0,
      "matched_probe": null,
      "sink": "CALL",
      "status": "sink_reached",
      "target_varies": false,
      "trace_id": "0x88af4e0493c8e65d6075047f4693f86ffd498899ddff1bef772816760d48f855",
      "trace_mode": "callTracer"
    }
  },
  {
    "confidence": 45,
    "evidence_json": {
      "guards_detected": [
        {
          "pc": 1324,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
          "pc": 1478,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
      ],
      "selfdestruct_count": 5
    },
    "normalized_json": {
      "sink": "SELFDESTRUCT"
    },
    "severity": "medium",
    "title": "SELFDESTRUCT reachable",
    "validated": false,
    "validation_json": {
      "attempts": 32,
      "call_targets": null,
      "classification": "no_sink",
      "confirmed": false,
      "errors": 0,
      "matched_probe": null,
      "sink": "SELFDESTRUCT",
      "status": "unknown",
      "target_varies": null,
      "trace_id": "0xc7272ffad5d2b5794e57e8b73d1fac432b9fb2c9ba69d4b3b44ada3972138566",
      "trace_mode": "structLogs"
    }
  },
  {
    "confidence": 45,
    "evidence_json": {
      "call_count": 1,
      "examples": [
        {
          "opcode": "CALL",
          "pc": 3204,
          "returndata_checked": null,
          "target_expression_category": "computed",
          "value_expression_category": "computed"
        }
      ],
      "guards_detected": [
        {
          "pc": 1324,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
          "pc": 1478,
          "type": "msg_sender_eq_const",
          "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
      ],
      "untrusted_call_count": 1
    },
    "normalized_json": {
      "sink": "CALL"
    },
    "severity": "medium",
    "title": "Untrusted CALL target/value reachable",
    "validated": false,
    "validation_json": {
      "attempts": 1,
      "call_targets": [
        "0x480d57dbf6c3b49916b9325e2c5ed92401c54efc"
      ],
      "classification": "constant_target",
      "confirmed": false,
      "errors": 0,
      "matched_probe": null,
      "sink": "CALL",
      "status": "sink_reached",
      "target_varies": false,
      "trace_id": "0x88af4e0493c8e65d6075047f4693f86ffd498899ddff1bef772816760d48f855",
      "trace_mode": "callTracer"
    }
  },
  {
    "confidence": 45,
    "evidence_json": {
      "create2_count": 0,
      "create_count": 2
    },
    "normalized_json": {
      "sink": "CREATE"
    },
    "severity": "medium",
    "title": "CREATE/CREATE2 reachable",
    "validated": true,
    "validation_json": {
      "attempts": 7,
      "call_targets": null,
      "classification": "sink_reached",
      "confirmed": true,
      "errors": 0,
      "matched_probe": null,
      "sink": "CREATE",
      "status": "confirmed",
      "target_varies": null,
      "trace_id": "0x9eb9fb3ab52c7f7942703a1b405913728eac72e65389fad222d7ce3e86305129",
      "trace_mode": "structLogs"
    }
  }
]

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.auth' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
{
  "guards": [
    {
      "pc": 1324,
      "type": "msg_sender_eq_const",
      "value": "0xffffffffffffffffffffffffffffffffffffffff"
    },
    {
      "pc": 1478,
      "type": "msg_sender_eq_const",
      "value": "0xffffffffffffffffffffffffffffffffffffffff"
    }
  ]
}

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.basic_blocks[] | select(.start_pc>=601 and .start_pc<=1004) | {start_pc,end_pc,opcodes}' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
{
  "start_pc": 601,
  "end_pc": 641,
  "opcodes": [
    "PUSH1",
    "PUSH1",
    "MSTORE",
    "PUSH1",
    "MLOAD",
    "PUSH1",
    "OP_80",
    "PUSH2",
    "OP_83",
    "CODECOPY",
    "ADD",
    "PUSH1",
    "MSTORE",
    "PUSH1",
    "OP_80",
    "MLOAD",
    "OP_90",
    "PUSH1",
    "ADD",
    "OP_80",
    "MLOAD",
    "OP_90",
    "PUSH1",
    "ADD",
    "OP_80",
    "MLOAD",
    "OP_90",
    "PUSH1",
    "ADD",
    "POP"
  ]
}
{
  "start_pc": 642,
  "end_pc": 738,
  "opcodes": [
    "JUMPDEST",
    "OP_82",
    "PUSH1",
    "PUSH1",
    "PUSH2",
    "EXP",
    "OP_81",
    "SLOAD",
    "OP_81",
    "PUSH20",
    "MUL",
    "NOT",
    "AND",
    "OP_90",
    "OP_83",
    "MUL",
    "OR",
    "OP_90",
    "SSTORE",
    "POP",
    "OP_81",
    "PUSH1",
    "PUSH1",
    "PUSH2",
    "EXP",
    "OP_81",
    "SLOAD",
    "OP_81",
    "PUSH20",
    "MUL",
    "NOT",
    "AND",
    "OP_90",
    "OP_83",
    "MUL",
    "OR",
    "OP_90",
    "SSTORE",
    "POP",
    "OP_80",
    "PUSH1",
    "PUSH1",
    "POP",
    "OP_81",
    "OP_90",
    "SSTORE",
    "POP"
  ]
}
{
  "start_pc": 739,
  "end_pc": 755,
  "opcodes": [
    "JUMPDEST",
    "POP",
    "POP",
    "POP",
    "PUSH2",
    "OP_80",
    "PUSH2",
    "PUSH1",
    "CODECOPY",
    "PUSH1",
    "RETURN"
  ]
}
{
  "start_pc": 756,
  "end_pc": 756,
  "opcodes": [
    "STOP"
  ]
}
{
  "start_pc": 757,
  "end_pc": 767,
  "opcodes": [
    "PUSH1",
    "PUSH1",
    "MSTORE",
    "CALLDATASIZE",
    "ISZERO",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 768,
  "end_pc": 813,
  "opcodes": [
    "PUSH1",
    "CALLDATALOAD",
    "PUSH29",
    "OP_90",
    "DIV",
    "OP_80",
    "PUSH4",
    "EQ",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 814,
  "end_pc": 824,
  "opcodes": [
    "OP_80",
    "PUSH4",
    "EQ",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 825,
  "end_pc": 835,
  "opcodes": [
    "OP_80",
    "PUSH4",
    "EQ",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 836,
  "end_pc": 846,
  "opcodes": [
    "OP_80",
    "PUSH4",
    "EQ",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 847,
  "end_pc": 857,
  "opcodes": [
    "OP_80",
    "PUSH4",
    "EQ",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 858,
  "end_pc": 868,
  "opcodes": [
    "OP_80",
    "PUSH4",
    "EQ",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 869,
  "end_pc": 872,
  "opcodes": [
    "PUSH2",
    "JUMP"
  ]
}
{
  "start_pc": 873,
  "end_pc": 874,
  "opcodes": [
    "JUMPDEST",
    "STOP"
  ]
}
{
  "start_pc": 875,
  "end_pc": 891,
  "opcodes": [
    "JUMPDEST",
    "PUSH2",
    "PUSH1",
    "OP_80",
    "CALLDATALOAD",
    "OP_90",
    "PUSH1",
    "ADD",
    "POP",
    "PUSH2",
    "JUMP"
  ]
}
{
  "start_pc": 892,
  "end_pc": 935,
  "opcodes": [
    "JUMPDEST",
    "PUSH1",
    "MLOAD",
    "OP_80",
    "OP_82",
    "PUSH20",
    "AND",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "OP_91",
    "POP",
    "POP",
    "PUSH1",
    "MLOAD",
    "OP_80",
    "OP_91",
    "SUB",
    "OP_90",
    "RETURN"
  ]
}
{
  "start_pc": 936,
  "end_pc": 946,
  "opcodes": [
    "JUMPDEST",
    "PUSH2",
    "PUSH1",
    "POP",
    "PUSH2",
    "JUMP"
  ]
}
{
  "start_pc": 947,
  "end_pc": 990,
  "opcodes": [
    "JUMPDEST",
    "PUSH1",
    "MLOAD",
    "OP_80",
    "OP_82",
    "PUSH20",
    "AND",
    "OP_81",
    "MSTORE",
    "PUSH1",
    "ADD",
    "OP_91",
    "POP",
    "POP",
    "PUSH1",
    "MLOAD",
    "OP_80",
    "OP_91",
    "SUB",
    "OP_90",
    "RETURN"
  ]
}
{
  "start_pc": 991,
  "end_pc": 1001,
  "opcodes": [
    "JUMPDEST",
    "PUSH2",
    "PUSH1",
    "POP",
    "PUSH2",
    "JUMP"
  ]
}
{
  "start_pc": 1002,
  "end_pc": 1003,
  "opcodes": [
    "JUMPDEST",
    "STOP"
  ]
}
{
  "start_pc": 1004,
  "end_pc": 1014,
  "opcodes": [
    "JUMPDEST",
    "PUSH2",
    "PUSH1",
    "POP",
    "PUSH2",
    "JUMP"
  ]
}

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.basic_blocks[] | select(.start_pc>=1703 and .start_pc<=2019) | {start_pc,end_pc,opcodes}' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
{
  "start_pc": 1703,
  "end_pc": 1703,
  "opcodes": [
    "JUMPDEST"
  ]
}
{
  "start_pc": 1704,
  "end_pc": 1710,
  "opcodes": [
    "JUMPDEST",
    "POP",
    "POP",
    "OP_91",
    "OP_90",
    "POP",
    "JUMP"
  ]
}
{
  "start_pc": 1711,
  "end_pc": 1711,
  "opcodes": [
    "STOP"
  ]
}
{
  "start_pc": 1712,
  "end_pc": 1758,
  "opcodes": [
    "PUSH1",
    "PUSH1",
    "MSTORE",
    "PUSH1",
    "MLOAD",
    "PUSH1",
    "OP_80",
    "PUSH2",
    "OP_83",
    "CODECOPY",
    "ADD",
    "PUSH1",
    "MSTORE",
    "PUSH1",
    "OP_80",
    "MLOAD",
    "OP_90",
    "PUSH1",
    "ADD",
    "OP_80",
    "MLOAD",
    "OP_90",
    "PUSH1",
    "ADD",
    "OP_80",
    "MLOAD",
    "OP_90",
    "PUSH1",
    "ADD",
    "OP_80",
    "MLOAD",
    "OP_90",
    "PUSH1",
    "ADD",
    "POP"
  ]
}
{
  "start_pc": 1759,
  "end_pc": 1865,
  "opcodes": [
    "JUMPDEST",
    "OP_83",
    "PUSH1",
    "PUSH1",
    "PUSH2",
    "EXP",
    "OP_81",
    "SLOAD",
    "OP_81",
    "PUSH20",
    "MUL",
    "NOT",
    "AND",
    "OP_90",
    "OP_83",
    "MUL",
    "OR",
    "OP_90",
    "SSTORE",
    "POP",
    "OP_82",
    "PUSH1",
    "PUSH1",
    "PUSH2",
    "EXP",
    "OP_81",
    "SLOAD",
    "OP_81",
    "PUSH20",
    "MUL",
    "NOT",
    "AND",
    "OP_90",
    "OP_83",
    "MUL",
    "OR",
    "OP_90",
    "SSTORE",
    "POP",
    "OP_81",
    "PUSH1",
    "PUSH1",
    "POP",
    "OP_81",
    "OP_90",
    "SSTORE",
    "POP",
    "OP_80",
    "PUSH1",
    "PUSH1",
    "POP",
    "OP_81",
    "OP_90",
    "SSTORE",
    "POP"
  ]
}
{
  "start_pc": 1866,
  "end_pc": 1883,
  "opcodes": [
    "JUMPDEST",
    "POP",
    "POP",
    "POP",
    "POP",
    "PUSH2",
    "OP_80",
    "PUSH2",
    "PUSH1",
    "CODECOPY",
    "PUSH1",
    "RETURN"
  ]
}
{
  "start_pc": 1884,
  "end_pc": 1884,
  "opcodes": [
    "STOP"
  ]
}
{
  "start_pc": 1885,
  "end_pc": 1895,
  "opcodes": [
    "PUSH1",
    "PUSH1",
    "MSTORE",
    "CALLDATASIZE",
    "ISZERO",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 1896,
  "end_pc": 1941,
  "opcodes": [
    "PUSH1",
    "CALLDATALOAD",
    "PUSH29",
    "OP_90",
    "DIV",
    "OP_80",
    "PUSH4",
    "EQ",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 1942,
  "end_pc": 1952,
  "opcodes": [
    "OP_80",
    "PUSH4",
    "EQ",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 1953,
  "end_pc": 1963,
  "opcodes": [
    "OP_80",
    "PUSH4",
    "EQ",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 1964,
  "end_pc": 1974,
  "opcodes": [
    "OP_80",
    "PUSH4",
    "EQ",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 1975,
  "end_pc": 1985,
  "opcodes": [
    "OP_80",
    "PUSH4",
    "EQ",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 1986,
  "end_pc": 1996,
  "opcodes": [
    "OP_80",
    "PUSH4",
    "EQ",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 1997,
  "end_pc": 2007,
  "opcodes": [
    "OP_80",
    "PUSH4",
    "EQ",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 2008,
  "end_pc": 2018,
  "opcodes": [
    "OP_80",
    "PUSH4",
    "EQ",
    "PUSH2",
    "JUMPI"
  ]
}
{
  "start_pc": 2019,
  "end_pc": 2022,
  "opcodes": [
    "PUSH2",
    "JUMP"
  ]
}

exec
/bin/bash -lc "rg -n 'bytecode|runtime|0x60806040|codecopy|creation' BYTECODE_BUNDLE.json | head -n 80" in /tmp/codex-elbdutre
 succeeded in 0ms:
6071:    "runtime_bytecode": {

exec
/bin/bash -lc "jq '.analysis_artifact | {address,chain_id,block_number,codehash,version}' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
{
  "address": "0x480d57dbf6c3b49916b9325e2c5ed92401c54efc",
  "chain_id": 1,
  "block_number": null,
  "codehash": "0x0e1b645e2c22497ea8e236690dcc4fa4d008e7a4e94e6f3aabfcfd00693bb2db",
  "version": "analysis_artifact_v1"
}

exec
/bin/bash -lc "jq '.analysis_run' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
{
  "address": "0x480d57dbf6c3b49916b9325e2c5ed92401c54efc",
  "block_number": null,
  "chain_id": 1,
  "child_links": [],
  "created_at": "2025-12-19T19:59:00.000000Z",
  "id": "019b3831-b4f2-714e-8d83-674c9b049484",
  "parent_links": [],
  "status": "running",
  "updated_at": "2026-04-04T19:44:46.000000Z"
}

exec
/bin/bash -lc "jq '.artifact | keys' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
[
  "codehash",
  "compiler_json",
  "implementation_address",
  "is_proxy",
  "runtime_bytecode",
  "verified_source"
]

exec
/bin/bash -lc "jq '.artifact.runtime_bytecode | keys' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
[
  "full",
  "head",
  "length",
  "tail",
  "truncated"
]

exec
/bin/bash -lc "jq '.artifact.runtime_bytecode | {length:(.hex|length),prefix:(.hex[0:120]),opcodes_count:(.opcodes|length)}' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
{
  "length": 0,
  "prefix": null,
  "opcodes_count": 0
}

exec
/bin/bash -lc "jq '.artifact.runtime_bytecode' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
{
  "full": "0x60606040526000357c01000000000000000000000000000000000000000000000000000000009004806327e235e31461005a5780636a42b8f8146100815780639e39db73146100a2578063a9059cbb146100b557610058565b005b61006b600480359060200150610101565b6040518082815260200191505060405180910390f35b61008c6004506100f8565b6040518082815260200191505060405180910390f35b6100b360048035906020015061011c565b005b6100cc60048035906020018035906020015061015c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006000505481565b60016000506020528060005260406000206000915090505481565b34600160005060008373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828282505401925050819055505b50565b60006000600033915083600160005060008473ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000505410156101a55760009250610250565b81856000600050544201604051610a4480610259833901808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051809103906000f0905083600160005060008473ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082828250540392505081905550809250610250565b50509291505056006060604052604051606080610a448339016040526060805190602001805190602001805190602001505b82600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff0219169083021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff02191690830217905550806002600050819055505b5050506109a88061009c6000396000f30060606040523615610074576000357c0100000000000000000000000000000000000000000000000000000000900480630fe65b361461007657806366d003ac146100b357806386d1a69f146100ea5780638da5cb5b146100f7578063b91d40011461012e578063ea8a1af01461014f57610074565b005b610087600480359060200150610291565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100be600450610182565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100f56004506101b1565b005b61010260045061015c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101396004506101a8565b6040518082815260200191505060405180910390f35b61015a6004506101fd565b005b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026000505481565b600260005054421015156101fa57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b5b565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561028e57600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b5b565b600060006000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103b25760009150600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16823073ffffffffffffffffffffffffffffffffffffffff1631866040516105ed806103bb833901808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001945050505050604051809103906000f090508073ffffffffffffffffffffffffffffffffffffffff16ff8092506103b3565b5b5050919050560060606040526040516080806105ed8339016040526060805190602001805190602001805190602001805190602001505b83600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff0219169083021790555082600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff0219169083021790555081600260005081905550806003600050819055505b50505050610540806100ad6000396000f3006060604052361561008a576000357c010000000000000000000000000000000000000000000000000000000090048063119f87471461008c57806329dcb0cf146100995780633c24b7d7146100ba578063552079dc146100fe57806366d003ac14610135578063702c35fb1461016c57806386d1a69f1461018d578063c9e7e29b1461019a5761008a565b005b6100976004506102cc565b005b6100a4600450610210565b6040518082815260200191505060405180910390f35b6100cb600480359060200150610219565b604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b6101096004506101bb565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101406004506101e1565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61017760045061026f565b6040518082815260200191505060405180910390f35b610198600450610278565b005b6101a5600450610207565b6040518082815260200191505060405180910390f35b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026000505481565b60036000505481565b60046000508181548110156100025790600052602060002090600202016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160005054905082565b60056000505481565b600360005054421015156102c95761028e610497565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b5b565b60003411156104945760406040519081016040528033815260200134815260200150600460005060046000508054809190600101909081548183558181151161037857600202816002028360005260206000209182019101610377919061032e565b808211156103735760006000820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560018201600050600090555060010161032e565b5090565b5b505050815481101561000257906000526020600020906002020160005060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff02191690830217905550602082015181600101600050559050503460056000828282505401925050819055507f8fc4de83eddb2e6be67e269b8bfdc735778c7339168d5f734290f474f5647e143334604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a160026000505460056000505410151561049357610458610497565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b5b5b565b60006000600091505b60046000505482101561053b57600460005082815481101561000257906000526020600020906002020160005090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660008260010160005054604051809050600060405180830381858888f19350505050505b81806001019250506104a0565b5b505056",
  "head": null,
  "length": 6460,
  "tail": null,
  "truncated": false
}

exec
/bin/bash -lc "jq '.artifact | {is_proxy,implementation_address,verified_source,compiler_json}' BYTECODE_BUNDLE.json" in /tmp/codex-elbdutre
 succeeded in 0ms:
{
  "is_proxy": false,
  "implementation_address": null,
  "verified_source": false,
  "compiler_json": {
    "etherscan": {
      "skipped": true
    }
  }
}

exec
/bin/bash -lc 'which evm || true; which cast || true; which hevm || true' in /tmp/codex-elbdutre
 succeeded in 0ms:
/home/noahkuhn/.foundry/bin/cast

exec
/bin/bash -lc "python - <<'PY'
import importlib.util
mods=['pyevmasm','eth_utils','evmdasm']
for m in mods:
    print(m, importlib.util.find_spec(m))
PY" in /tmp/codex-elbdutre
 succeeded in 0ms:
pyevmasm None
eth_utils ModuleSpec(name='eth_utils', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7f2c25b9af50>, origin='/var/www/tripwire/.venv/lib/python3.13/site-packages/eth_utils/__init__.py', submodule_search_locations=['/var/www/tripwire/.venv/lib/python3.13/site-packages/eth_utils'])
evmdasm None

exec
/bin/bash -lc "cast --help | sed -n '1,140p'" in /tmp/codex-elbdutre
 succeeded in 0ms:
A Swiss Army knife for interacting with Ethereum applications from the command line

Usage: cast [OPTIONS] <COMMAND>

Commands:
  4byte                  Get the function signatures for the given selector from
                         <https://openchain.xyz> [aliases: 4, 4b]
  4byte-calldata         Decode ABI-encoded calldata using <https://openchain.xyz> [aliases: 4c,
                         4bc]
  4byte-event            Get the event signature for a given topic 0 from <https://openchain.xyz>
                         [aliases: 4e, 4be, topic0-event, t0e]
  abi-encode             ABI encode the given function argument, excluding the selector [aliases:
                         ae]
  abi-encode-event       ABI encode an event and its arguments to generate topics and data [aliases:
                         aee]
  access-list            Create an access list for a transaction [aliases: ac, acl]
  address-zero           Prints the zero address [aliases: --address-zero, az]
  admin                  Fetch the EIP-1967 admin account [aliases: adm]
  age                    Get the timestamp of a block [aliases: a]
  artifact               Generate an artifact file, that can be used to deploy a contract locally
                         [aliases: ar]
  b2e-payload            Convert Beacon payload to execution payload [aliases: b2e]
  balance                Get the balance of an account in wei [aliases: b]
  base-fee               Get the basefee of a block [aliases: ba, fee, basefee]
  bind                   Generate a rust binding from a given ABI [aliases: bi]
  block                  Get information about a block [aliases: bl]
  block-number           Get the latest block number [aliases: bn]
  call                   Perform a call on an account without publishing a transaction [aliases: c]
  calldata               ABI-encode a function with arguments [aliases: cd]
  chain                  Get the symbolic name of the current chain
  chain-id               Get the Ethereum chain ID [aliases: ci, cid]
  client                 Get the current client version [aliases: cl]
  code                   Get the runtime bytecode of a contract [aliases: co]
  codehash               Get the codehash for an account
  codesize               Get the runtime bytecode size of a contract [aliases: cs]
  completions            Generate shell completions script [aliases: com]
  compute-address        Compute the contract address from a given nonce and deployer address
                         [aliases: ca]
  concat-hex             Concatenate hex strings [aliases: --concat-hex, ch]
  constructor-args       Display constructor arguments used for the contract initialization
                         [aliases: cra]
  create2                Generate a deterministic contract address using CREATE2 [aliases: c2]
  creation-code          Download a contract creation code from Etherscan and RPC [aliases: cc]
  da-estimate            Estimates the data availability size of a given opstack block
  decode-abi             Decode ABI-encoded input or output data [aliases: abi-decode, --abi-decode,
                         ad]
  decode-calldata        Decode ABI-encoded input data [aliases: calldata-decode, --calldata-decode,
                         cdd]
  decode-error           Decode custom error data [aliases: error-decode, --error-decode, erd]
  decode-event           Decode event data [aliases: event-decode, --event-decode, ed]
  decode-string          Decode ABI-encoded string [aliases: string-decode, --string-decode, sd]
  decode-transaction     Decodes a raw signed EIP 2718 typed transaction [aliases: dt, decode-tx]
  disassemble            Disassembles a hex-encoded bytecode into a human-readable representation
                         [aliases: da]
  erc20-token            ERC20 token operations [aliases: erc20]
  estimate               Estimate the gas cost of a transaction [aliases: e]
  find-block             Get the block number closest to the provided timestamp [aliases: f]
  format-bytes32-string  Formats a string into bytes32 encoding [aliases: --format-bytes32-string]
  format-units           Format a number from smallest unit to decimal with arbitrary decimals
                         [aliases: --format-units, fun]
  from-bin               Convert binary data into hex data [aliases: --from-bin, from-binx, fb]
  from-fixed-point       Convert a fixed point number into an integer [aliases: --from-fix, ff]
  from-rlp               Decodes RLP hex-encoded data [aliases: --from-rlp]
  from-utf8              Convert UTF8 text to hex [aliases: --from-ascii, --from-utf8, from-ascii,
                         fu, fa]
  from-wei               Convert wei into an ETH amount [aliases: --from-wei, fw]
  gas-price              Get the current gas price [aliases: g]
  hash-message           Hash a message according to EIP-191 [aliases: --hash-message, hm]
  hash-zero              Prints the zero hash [aliases: --hash-zero, hz]
  help                   Print this message or the help of the given subcommand(s)
  implementation         Fetch the EIP-1967 implementation for a contract Can read from the
                         implementation slot or the beacon slot [aliases: impl]
  index                  Compute the storage slot for an entry in a mapping [aliases: in]
  index-erc7201          Compute storage slots as specified by `ERC-7201: Namespaced Storage Layout`
                         [aliases: index7201, in7201]
  interface              Generate a Solidity interface from a given ABI [aliases: i]
  keccak                 Hash arbitrary data using Keccak-256 [aliases: k, keccak256]
  logs                   Get logs by signature or topic [aliases: l]
  lookup-address         Perform an ENS reverse lookup [aliases: la]
  max-int                Prints the maximum value of the given integer type [aliases: --max-int,
                         maxi]
  max-uint               Prints the maximum value of the given integer type [aliases: --max-uint,
                         maxu]
  min-int                Prints the minimum value of the given integer type [aliases: --min-int,
                         mini]
  mktx                   Build and sign a transaction [aliases: m]
  namehash               Calculate the ENS namehash of a name [aliases: na, nh]
  nonce                  Get the nonce for an account [aliases: n]
  pad                    Pads hex data to a specified length [aliases: pd]
  parse-bytes32-address  Parses a checksummed address from bytes32 encoding. [aliases:
                         --parse-bytes32-address]
  parse-bytes32-string   Parses a string from bytes32 encoding [aliases: --parse-bytes32-string]
  parse-units            Convert a number from decimal to smallest unit with arbitrary decimals
                         [aliases: --parse-units, pun]
  pretty-calldata        Pretty print calldata [aliases: pc]
  proof                  Generate a storage proof for a given storage slot [aliases: pr]
  publish                Publish a raw transaction to the network [aliases: p]
  receipt                Get the transaction receipt for a transaction [aliases: re]
  recover-authority      Recovery an EIP-7702 authority from a Authorization JSON string [aliases:
                         decode-auth]
  resolve-name           Perform an ENS lookup [aliases: rn]
  rpc                    Perform a raw JSON-RPC request [aliases: rp]
  run                    Runs a published transaction in a local environment and prints the trace
                         [aliases: r]
  selectors              Extracts function selectors and arguments from bytecode [aliases: sel]
  send                   Sign and publish a transaction [aliases: s]
  shl                    Perform a left shifting operation
  shr                    Perform a right shifting operation
  sig                    Get the selector for a function [aliases: si]
  sig-event              Generate event signatures from event string [aliases: se]
  source                 Get the source code of a contract from a block explorer [aliases: et, src]
  storage                Get the raw value of a contract's storage slot [aliases: st]
  storage-root           Get the storage root for an account [aliases: sr]
  to-ascii               Convert hex data to an ASCII string [aliases: --to-ascii, tas, 2as]
  to-base                Converts a number of one base to another [aliases: --to-base, --to-radix,
                         to-radix, tr, 2r]
  to-bytes32             Right-pads hex data to 32 bytes [aliases: --to-bytes32, tb, 2b]
  to-check-sum-address   Convert an address to a checksummed format (EIP-55) [aliases:
                         --to-checksum-address, --to-checksum, to-checksum, ta, 2a]
  to-dec                 Converts a number of one base to decimal [aliases: --to-dec, td, 2d]
  to-fixed-point         Convert an integer into a fixed point number [aliases: --to-fix, tf, 2f]
  to-hex                 Converts a number of one base to another [aliases: --to-hex, th, 2h]
  to-hexdata             Normalize the input to lowercase, 0x-prefixed hex [aliases: --to-hexdata,
                         thd, 2hd]
  to-int256              Convert a number to a hex-encoded int256 [aliases: --to-int256, ti, 2i]
  to-rlp                 RLP encodes hex data, or an array of hex data [aliases: --to-rlp]
  to-uint256             Convert a number to a hex-encoded uint256 [aliases: --to-uint256, tu, 2u]
  to-unit                Convert an ETH amount into another unit (ether, gwei or wei) [aliases:
                         --to-unit, tun, 2un]
  to-utf8                Convert hex data to a utf-8 string [aliases: --to-utf8, tu8, 2u8]
  to-wei                 Convert an ETH amount to wei [aliases: --to-wei, tw, 2w]
  trace                  CLI arguments for `cast trace`
  tx                     Get information about a transaction [aliases: t]
  tx-pool                Inspect the TxPool of a node [aliases: tp]
  upload-signature       Upload the given signatures to <https://openchain.xyz> [aliases: ups]
  wallet                 Wallet management utilities [aliases: w]

Options:
  -h, --help
          Print help (see a summary with '-h')

exec
/bin/bash -lc 'cast 4byte 27e235e3 || true
cast 4byte 6a42b8f8 || true
cast 4byte 9e39db73 || true
cast 4byte 0fe65b36 || true
cast 4byte 66d003ac || true
cast 4byte 86d1a69f || true
cast 4byte b91d4001 || true
cast 4byte ea8a1af0 || true
cast 4byte 119f8747 || true
cast 4byte 29dcb0cf || true
cast 4byte 3c24b7d7 || true
cast 4byte 552079dc || true
cast 4byte 702c35fb || true
cast 4byte c9e7e29b || true' in /tmp/codex-elbdutre
 succeeded in 352ms:
Error: error sending request for url (https://api.4byte.sourcify.dev/signature-database/v1/lookup?function=0x0fe65b36)

Context:
- Error #0: client error (Connect)
- Error #1: dns error
- Error #2: failed to lookup address information: Temporary failure in name resolution
Error: error sending request for url (https://api.4byte.sourcify.dev/signature-database/v1/lookup?function=0x66d003ac)

Context:
- Error #0: client error (Connect)
- Error #1: dns error
- Error #2: failed to lookup address information: Temporary failure in name resolution
Error: error sending request for url (https://api.4byte.sourcify.dev/signature-database/v1/lookup?function=0x86d1a69f)

Context:
- Error #0: client error (Connect)
- Error #1: dns error
- Error #2: failed to lookup address information: Temporary failure in name resolution
Error: error sending request for url (https://api.4byte.sourcify.dev/signature-database/v1/lookup?function=0xb91d4001)

Context:
- Error #0: client error (Connect)
- Error #1: dns error
- Error #2: failed to lookup address information: Temporary failure in name resolution
Error: error sending request for url (https://api.4byte.sourcify.dev/signature-database/v1/lookup?function=0xea8a1af0)

Context:
- Error #0: client error (Connect)
- Error #1: dns error
- Error #2: failed to lookup address information: Temporary failure in name resolution
Error: error sending request for url (https://api.4byte.sourcify.dev/signature-database/v1/lookup?function=0x119f8747)

Context:
- Error #0: client error (Connect)
- Error #1: dns error
- Error #2: failed to lookup address information: Temporary failure in name resolution
Error: error sending request for url (https://api.4byte.sourcify.dev/signature-database/v1/lookup?function=0x29dcb0cf)

Context:
- Error #0: client error (Connect)
- Error #1: dns error
- Error #2: failed to lookup address information: Temporary failure in name resolution
Error: error sending request for url (https://api.4byte.sourcify.dev/signature-database/v1/lookup?function=0x3c24b7d7)

Context:
- Error #0: client error (Connect)
- Error #1: dns error
- Error #2: failed to lookup address information: Temporary failure in name resolution
Error: error sending request for url (https://api.4byte.sourcify.dev/signature-database/v1/lookup?function=0x552079dc)

Context:
- Error #0: client error (Connect)
- Error #1: dns error
- Error #2: failed to lookup address information: Temporary failure in name resolution
Error: error sending request for url (https://api.4byte.sourcify.dev/signature-database/v1/lookup?function=0x702c35fb)

Context:
- Error #0: client error (Connect)
- Error #1: dns error
- Error #2: failed to lookup address information: Temporary failure in name resolution
Error: error sending request for url (https://api.4byte.sourcify.dev/signature-database/v1/lookup?function=0xc9e7e29b)

Context:
- Error #0: client error (Connect)
- Error #1: dns error
- Error #2: failed to lookup address information: Temporary failure in name resolution

exec
/bin/bash -lc "python - <<'PY'
import json
obj=json.load(open('BYTECODE_BUNDLE.json'))
full=obj['artifact']['runtime_bytecode']['full']
print(full[:400])
PY" in /tmp/codex-elbdutre
 succeeded in 0ms:
0x60606040526000357c01000000000000000000000000000000000000000000000000000000009004806327e235e31461005a5780636a42b8f8146100815780639e39db73146100a2578063a9059cbb146100b557610058565b005b61006b600480359060200150610101565b6040518082815260200191505060405180910390f35b61008c6004506100f8565b6040518082815260200191505060405180910390f35b6100b360048035906020015061011c565b005b6100cc6004803590602001803590602001

exec
/bin/bash -lc "python - <<'PY'
import json,re
obj=json.load(open('BYTECODE_BUNDLE.json'))
full=obj['artifact']['runtime_bytecode']['full'][2:]
# find all occurrences of 'f3' followed by 6060604052 or 606060405236 etc
for m in re.finditer('f3', full):
    idx=m.start()//2
    print('f3 at byte', idx, 'next20', full[m.start()+2:m.start()+42])
PY" in /tmp/codex-elbdutre
 succeeded in 0ms:
f3 at byte 128 next20 5b61008c6004506100f8565b6040518082815260
f3 at byte 161 next20 5b6100b360048035906020015061011c565b005b
f3 at byte 247 next20 5b60006000505481565b60016000506020528060
f3 at byte 755 next20 0060606040523615610074576000357c01000000
f3 at byte 935 next20 5b6100be600450610182565b604051808273ffff
f3 at byte 990 next20 5b6100f56004506101b1565b005b610102600450
f3 at byte 1058 next20 5b6101396004506101a8565b6040518082815260
f3 at byte 1091 next20 5b61015a6004506101fd565b005b600060009054
f3 at byte 1883 next20 006060604052361561008a576000357c01000000
f3 at byte 2070 next20 5b6100cb600480359060200150610219565b6040
f3 at byte 2138 next20 5b6101096004506101bb565b604051808273ffff
f3 at byte 2193 next20 5b6101406004506101e1565b604051808273ffff
f3 at byte 2248 next20 5b61017760045061026f565b6040518082815260
f3 at byte 2281 next20 5b610198600450610278565b005b6101a5600450
f3 at byte 2327 next20 5b600060009054906101000a900473ffffffffff

exec
/bin/bash -lc "python - <<'PY'
import json,re
full=json.load(open('BYTECODE_BUNDLE.json'))['artifact']['runtime_bytecode']['full'][2:]
for pat in ['6000396000f3','6000f300']:
    for m in re.finditer(pat, full):
        print(pat, 'at byte', m.start()//2)
PY" in /tmp/codex-elbdutre
 succeeded in 0ms:
6000396000f3 at byte 750
6000396000f3 at byte 1878
6000f300 at byte 753
6000f300 at byte 1881

exec
/bin/bash -lc "python - <<'PY'
import json
full=json.load(open('BYTECODE_BUNDLE.json'))['artifact']['runtime_bytecode']['full'][2:]
for idx in [0, 750*2, 1880*2]:
    print('offset', idx//2, full[idx:idx+120])
PY" in /tmp/codex-elbdutre
 succeeded in 0ms:
offset 0 60606040526000357c01000000000000000000000000000000000000000000000000000000009004806327e235e31461005a5780636a42b8f8146100
offset 750 6000396000f30060606040523615610074576000357c0100000000000000000000000000000000000000000000000000000000900480630fe65b3614
offset 1880 396000f3006060604052361561008a576000357c010000000000000000000000000000000000000000000000000000000090048063119f8747146100

exec
/bin/bash -lc "python - <<'PY'
import json
full=json.load(open('BYTECODE_BUNDLE.json'))['artifact']['runtime_bytecode']['full'][2:]
runtimeA=full[156*2:(156+0x9a8)*2]
print(runtimeA[:80])
print(len(runtimeA)//2)
open('/tmp/runtimeA.hex','w').write('0x'+runtimeA)
PY
cast disassemble "'$(cat /tmp/runtimeA.hex) | sed -n '"'1,260p'" in /tmp/codex-elbdutre
 succeeded in 0ms:
5180910390f35b6100b360048035906020015061011c565b005b6100cc6004803590602001803590
2472
Traceback (most recent call last):
  File "<stdin>", line 6, in <module>
OSError: [Errno 30] Read-only file system: '/tmp/runtimeA.hex'
cat: /tmp/runtimeA.hex: No such file or directory


exec
/bin/bash -lc "python - <<'PY'
import json
full=json.load(open('BYTECODE_BUNDLE.json'))['artifact']['runtime_bytecode']['full'][2:]
# child creation code embedded in runtimeA likely at byte offset 0x03bb within runtimeA, length 0x05ed
runtimeA=full[156*2:(156+0x9a8)*2]
child_creation=runtimeA[0x3bb*2:(0x3bb+0x5ed)*2]
print('child_creation_len', len(child_creation)//2)
open('/tmp/child_creation.hex','w').write('0x'+child_creation)
PY
cast disassemble "'$(cat /tmp/child_creation.hex) | sed -n '"'1,260p'" in /tmp/codex-elbdutre
 succeeded in 0ms:
child_creation_len 1517
Traceback (most recent call last):
  File "<stdin>", line 7, in <module>
OSError: [Errno 30] Read-only file system: '/tmp/child_creation.hex'
cat: /tmp/child_creation.hex: No such file or directory


exec
/bin/bash -lc "python - <<'PY' | xargs -I{} cast disassemble {} | sed -n '1,260p'
import json
full=json.load(open('BYTECODE_BUNDLE.json'))['artifact']['runtime_bytecode']['full'][2:]
runtimeA=full[156*2:(156+0x9a8)*2]
print('0x'+runtimeA)
PY" in /tmp/codex-elbdutre
 succeeded in 0ms:
00000000: MLOAD
00000001: DUP1
00000002: SWAP2
00000003: SUB
00000004: SWAP1
00000005: RETURN
00000006: JUMPDEST
00000007: PUSH2 0x00b3
0000000a: PUSH1 0x04
0000000c: DUP1
0000000d: CALLDATALOAD
0000000e: SWAP1
0000000f: PUSH1 0x20
00000011: ADD
00000012: POP
00000013: PUSH2 0x011c
00000016: JUMP
00000017: JUMPDEST
00000018: STOP
00000019: JUMPDEST
0000001a: PUSH2 0x00cc
0000001d: PUSH1 0x04
0000001f: DUP1
00000020: CALLDATALOAD
00000021: SWAP1
00000022: PUSH1 0x20
00000024: ADD
00000025: DUP1
00000026: CALLDATALOAD
00000027: SWAP1
00000028: PUSH1 0x20
0000002a: ADD
0000002b: POP
0000002c: PUSH2 0x015c
0000002f: JUMP
00000030: JUMPDEST
00000031: PUSH1 0x40
00000033: MLOAD
00000034: DUP1
00000035: DUP3
00000036: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000004b: AND
0000004c: DUP2
0000004d: MSTORE
0000004e: PUSH1 0x20
00000050: ADD
00000051: SWAP2
00000052: POP
00000053: POP
00000054: PUSH1 0x40
00000056: MLOAD
00000057: DUP1
00000058: SWAP2
00000059: SUB
0000005a: SWAP1
0000005b: RETURN
0000005c: JUMPDEST
0000005d: PUSH1 0x00
0000005f: PUSH1 0x00
00000061: POP
00000062: SLOAD
00000063: DUP2
00000064: JUMP
00000065: JUMPDEST
00000066: PUSH1 0x01
00000068: PUSH1 0x00
0000006a: POP
0000006b: PUSH1 0x20
0000006d: MSTORE
0000006e: DUP1
0000006f: PUSH1 0x00
00000071: MSTORE
00000072: PUSH1 0x40
00000074: PUSH1 0x00
00000076: KECCAK256
00000077: PUSH1 0x00
00000079: SWAP2
0000007a: POP
0000007b: SWAP1
0000007c: POP
0000007d: SLOAD
0000007e: DUP2
0000007f: JUMP
00000080: JUMPDEST
00000081: CALLVALUE
00000082: PUSH1 0x01
00000084: PUSH1 0x00
00000086: POP
00000087: PUSH1 0x00
00000089: DUP4
0000008a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000009f: AND
000000a0: DUP2
000000a1: MSTORE
000000a2: PUSH1 0x20
000000a4: ADD
000000a5: SWAP1
000000a6: DUP2
000000a7: MSTORE
000000a8: PUSH1 0x20
000000aa: ADD
000000ab: PUSH1 0x00
000000ad: KECCAK256
000000ae: PUSH1 0x00
000000b0: DUP3
000000b1: DUP3
000000b2: DUP3
000000b3: POP
000000b4: SLOAD
000000b5: ADD
000000b6: SWAP3
000000b7: POP
000000b8: POP
000000b9: DUP2
000000ba: SWAP1
000000bb: SSTORE
000000bc: POP
000000bd: JUMPDEST
000000be: POP
000000bf: JUMP
000000c0: JUMPDEST
000000c1: PUSH1 0x00
000000c3: PUSH1 0x00
000000c5: PUSH1 0x00
000000c7: CALLER
000000c8: SWAP2
000000c9: POP
000000ca: DUP4
000000cb: PUSH1 0x01
000000cd: PUSH1 0x00
000000cf: POP
000000d0: PUSH1 0x00
000000d2: DUP5
000000d3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000000e8: AND
000000e9: DUP2
000000ea: MSTORE
000000eb: PUSH1 0x20
000000ed: ADD
000000ee: SWAP1
000000ef: DUP2
000000f0: MSTORE
000000f1: PUSH1 0x20
000000f3: ADD
000000f4: PUSH1 0x00
000000f6: KECCAK256
000000f7: PUSH1 0x00
000000f9: POP
000000fa: SLOAD
000000fb: LT
000000fc: ISZERO
000000fd: PUSH2 0x01a5
00000100: JUMPI
00000101: PUSH1 0x00
00000103: SWAP3
00000104: POP
00000105: PUSH2 0x0250
00000108: JUMP
00000109: JUMPDEST
0000010a: DUP2
0000010b: DUP6
0000010c: PUSH1 0x00
0000010e: PUSH1 0x00
00000110: POP
00000111: SLOAD
00000112: TIMESTAMP
00000113: ADD
00000114: PUSH1 0x40
00000116: MLOAD
00000117: PUSH2 0x0a44
0000011a: DUP1
0000011b: PUSH2 0x0259
0000011e: DUP4
0000011f: CODECOPY
00000120: ADD
00000121: DUP1
00000122: DUP5
00000123: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000138: AND
00000139: DUP2
0000013a: MSTORE
0000013b: PUSH1 0x20
0000013d: ADD
0000013e: DUP4
0000013f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000154: AND
00000155: DUP2
00000156: MSTORE
00000157: PUSH1 0x20
00000159: ADD
0000015a: DUP3
0000015b: DUP2
0000015c: MSTORE
0000015d: PUSH1 0x20
0000015f: ADD
00000160: SWAP4
00000161: POP
00000162: POP
00000163: POP
00000164: POP
00000165: PUSH1 0x40
00000167: MLOAD
00000168: DUP1
00000169: SWAP2
0000016a: SUB
0000016b: SWAP1
0000016c: PUSH1 0x00
0000016e: CREATE
0000016f: SWAP1
00000170: POP
00000171: DUP4
00000172: PUSH1 0x01
00000174: PUSH1 0x00
00000176: POP
00000177: PUSH1 0x00
00000179: DUP5
0000017a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000018f: AND
00000190: DUP2
00000191: MSTORE
00000192: PUSH1 0x20
00000194: ADD
00000195: SWAP1
00000196: DUP2
00000197: MSTORE
00000198: PUSH1 0x20
0000019a: ADD
0000019b: PUSH1 0x00
0000019d: KECCAK256
0000019e: PUSH1 0x00
000001a0: DUP3
000001a1: DUP3
000001a2: DUP3
000001a3: POP
000001a4: SLOAD
000001a5: SUB
000001a6: SWAP3
000001a7: POP
000001a8: POP
000001a9: DUP2
000001aa: SWAP1
000001ab: SSTORE
000001ac: POP
000001ad: DUP1
000001ae: SWAP3
000001af: POP
000001b0: PUSH2 0x0250
000001b3: JUMP
000001b4: JUMPDEST
000001b5: POP
000001b6: POP
000001b7: SWAP3
000001b8: SWAP2
000001b9: POP
000001ba: POP
000001bb: JUMP
000001bc: STOP
000001bd: PUSH1 0x60
000001bf: PUSH1 0x40
000001c1: MSTORE

exec
/bin/bash -lc "python - <<'PY' | xargs -I{} cast disassemble {} | sed -n '1,260p'
import json
full=json.load(open('BYTECODE_BUNDLE.json'))['artifact']['runtime_bytecode']['full'][2:]
runtimeA=full[156*2:(156+0x9a8)*2]
child_creation=runtimeA[0x3bb*2:(0x3bb+0x5ed)*2]
print('0x'+child_creation)
PY" in /tmp/codex-elbdutre
 succeeded in 0ms:
00000000: SLOAD
00000001: SWAP1
00000002: PUSH2 0x0100
00000005: EXP
00000006: SWAP1
00000007: DIV
00000008: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000001d: AND
0000001e: DUP2
0000001f: JUMP
00000020: JUMPDEST
00000021: PUSH1 0x01
00000023: PUSH1 0x00
00000025: SWAP1
00000026: SLOAD
00000027: SWAP1
00000028: PUSH2 0x0100
0000002b: EXP
0000002c: SWAP1
0000002d: DIV
0000002e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000043: AND
00000044: DUP2
00000045: JUMP
00000046: JUMPDEST
00000047: PUSH1 0x02
00000049: PUSH1 0x00
0000004b: POP
0000004c: SLOAD
0000004d: DUP2
0000004e: JUMP
0000004f: JUMPDEST
00000050: PUSH1 0x02
00000052: PUSH1 0x00
00000054: POP
00000055: SLOAD
00000056: TIMESTAMP
00000057: LT
00000058: ISZERO
00000059: ISZERO
0000005a: PUSH2 0x01fa
0000005d: JUMPI
0000005e: PUSH1 0x01
00000060: PUSH1 0x00
00000062: SWAP1
00000063: SLOAD
00000064: SWAP1
00000065: PUSH2 0x0100
00000068: EXP
00000069: SWAP1
0000006a: DIV
0000006b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000080: AND
00000081: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000096: AND
00000097: SELFDESTRUCT
00000098: JUMPDEST
00000099: JUMPDEST
0000009a: JUMP
0000009b: JUMPDEST
0000009c: PUSH1 0x00
0000009e: PUSH1 0x00
000000a0: SWAP1
000000a1: SLOAD
000000a2: SWAP1
000000a3: PUSH2 0x0100
000000a6: EXP
000000a7: SWAP1
000000a8: DIV
000000a9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000000be: AND
000000bf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000000d4: AND
000000d5: CALLER
000000d6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000000eb: AND
000000ec: EQ
000000ed: ISZERO
000000ee: PUSH2 0x028e
000000f1: JUMPI
000000f2: PUSH1 0x00
000000f4: PUSH1 0x00
000000f6: SWAP1
000000f7: SLOAD
000000f8: SWAP1
000000f9: PUSH2 0x0100
000000fc: EXP
000000fd: SWAP1
000000fe: DIV
000000ff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000114: AND
00000115: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000012a: AND
0000012b: SELFDESTRUCT
0000012c: JUMPDEST
0000012d: JUMPDEST
0000012e: JUMP
0000012f: JUMPDEST
00000130: PUSH1 0x00
00000132: PUSH1 0x00
00000134: PUSH1 0x00
00000136: PUSH1 0x00
00000138: PUSH1 0x00
0000013a: SWAP1
0000013b: SLOAD
0000013c: SWAP1
0000013d: PUSH2 0x0100
00000140: EXP
00000141: SWAP1
00000142: DIV
00000143: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000158: AND
00000159: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000016e: AND
0000016f: CALLER
00000170: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000185: AND
00000186: EQ
00000187: ISZERO
00000188: PUSH2 0x03b2
0000018b: JUMPI
0000018c: PUSH1 0x00
0000018e: SWAP2
0000018f: POP
00000190: PUSH1 0x00
00000192: PUSH1 0x00
00000194: SWAP1
00000195: SLOAD
00000196: SWAP1
00000197: PUSH2 0x0100
0000019a: EXP
0000019b: SWAP1
0000019c: DIV
0000019d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001b2: AND
000001b3: DUP3
000001b4: ADDRESS
000001b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001ca: AND
000001cb: BALANCE
000001cc: DUP7
000001cd: PUSH1 0x40
000001cf: MLOAD
000001d0: PUSH2 0x05ed
000001d3: DUP1
000001d4: PUSH2 0x03bb
000001d7: DUP4
000001d8: CODECOPY
000001d9: ADD
000001da: DUP1
000001db: DUP6
000001dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001f1: AND
000001f2: DUP2
000001f3: MSTORE
000001f4: PUSH1 0x20
000001f6: ADD
000001f7: DUP5
000001f8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000020d: AND
0000020e: DUP2
0000020f: MSTORE
00000210: PUSH1 0x20
00000212: ADD
00000213: DUP4
00000214: DUP2
00000215: MSTORE
00000216: PUSH1 0x20
00000218: ADD
00000219: DUP3
0000021a: DUP2
0000021b: MSTORE
0000021c: PUSH1 0x20
0000021e: ADD
0000021f: SWAP5
00000220: POP
00000221: POP
00000222: POP
00000223: POP
00000224: POP
00000225: PUSH1 0x40
00000227: MLOAD
00000228: DUP1
00000229: SWAP2
0000022a: SUB
0000022b: SWAP1
0000022c: PUSH1 0x00
0000022e: CREATE
0000022f: SWAP1
00000230: POP
00000231: DUP1
00000232: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000247: AND
00000248: SELFDESTRUCT
00000249: DUP1
0000024a: SWAP3
0000024b: POP
0000024c: PUSH2 0x03b3
0000024f: JUMP
00000250: JUMPDEST
00000251: JUMPDEST
00000252: POP
00000253: POP
00000254: SWAP2
00000255: SWAP1
00000256: POP
00000257: JUMP
00000258: STOP
00000259: PUSH1 0x60
0000025b: PUSH1 0x40
0000025d: MSTORE
0000025e: PUSH1 0x40
00000260: MLOAD
00000261: PUSH1 0x80
00000263: DUP1
00000264: PUSH2 0x05ed
00000267: DUP4
00000268: CODECOPY
00000269: ADD
0000026a: PUSH1 0x40
0000026c: MSTORE
0000026d: PUSH1 0x60
0000026f: DUP1
00000270: MLOAD
00000271: SWAP1
00000272: PUSH1 0x20
00000274: ADD
00000275: DUP1
00000276: MLOAD
00000277: SWAP1
00000278: PUSH1 0x20
0000027a: ADD
0000027b: DUP1
0000027c: MLOAD
0000027d: SWAP1
0000027e: PUSH1 0x20
00000280: ADD
00000281: DUP1
00000282: MLOAD
00000283: SWAP1
00000284: PUSH1 0x20
00000286: ADD
00000287: POP
00000288: JUMPDEST
00000289: DUP4
0000028a: PUSH1 0x00
0000028c: PUSH1 0x00
0000028e: PUSH2 0x0100
00000291: EXP
00000292: DUP2
00000293: SLOAD
00000294: DUP2
00000295: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002aa: MUL
000002ab: NOT
000002ac: AND
000002ad: SWAP1
000002ae: DUP4
000002af: MUL
000002b0: OR

exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | sed -n '"'1,260p'" in /tmp/codex-elbdutre
 succeeded in 0ms:
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x00
00000007: CALLDATALOAD
00000008: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000026: SWAP1
00000027: DIV
00000028: DUP1
00000029: PUSH4 0x27e235e3
0000002e: EQ
0000002f: PUSH2 0x005a
00000032: JUMPI
00000033: DUP1
00000034: PUSH4 0x6a42b8f8
00000039: EQ
0000003a: PUSH2 0x0081
0000003d: JUMPI
0000003e: DUP1
0000003f: PUSH4 0x9e39db73
00000044: EQ
00000045: PUSH2 0x00a2
00000048: JUMPI
00000049: DUP1
0000004a: PUSH4 0xa9059cbb
0000004f: EQ
00000050: PUSH2 0x00b5
00000053: JUMPI
00000054: PUSH2 0x0058
00000057: JUMP
00000058: JUMPDEST
00000059: STOP
0000005a: JUMPDEST
0000005b: PUSH2 0x006b
0000005e: PUSH1 0x04
00000060: DUP1
00000061: CALLDATALOAD
00000062: SWAP1
00000063: PUSH1 0x20
00000065: ADD
00000066: POP
00000067: PUSH2 0x0101
0000006a: JUMP
0000006b: JUMPDEST
0000006c: PUSH1 0x40
0000006e: MLOAD
0000006f: DUP1
00000070: DUP3
00000071: DUP2
00000072: MSTORE
00000073: PUSH1 0x20
00000075: ADD
00000076: SWAP2
00000077: POP
00000078: POP
00000079: PUSH1 0x40
0000007b: MLOAD
0000007c: DUP1
0000007d: SWAP2
0000007e: SUB
0000007f: SWAP1
00000080: RETURN
00000081: JUMPDEST
00000082: PUSH2 0x008c
00000085: PUSH1 0x04
00000087: POP
00000088: PUSH2 0x00f8
0000008b: JUMP
0000008c: JUMPDEST
0000008d: PUSH1 0x40
0000008f: MLOAD
00000090: DUP1
00000091: DUP3
00000092: DUP2
00000093: MSTORE
00000094: PUSH1 0x20
00000096: ADD
00000097: SWAP2
00000098: POP
00000099: POP
0000009a: PUSH1 0x40
0000009c: MLOAD
0000009d: DUP1
0000009e: SWAP2
0000009f: SUB
000000a0: SWAP1
000000a1: RETURN
000000a2: JUMPDEST
000000a3: PUSH2 0x00b3
000000a6: PUSH1 0x04
000000a8: DUP1
000000a9: CALLDATALOAD
000000aa: SWAP1
000000ab: PUSH1 0x20
000000ad: ADD
000000ae: POP
000000af: PUSH2 0x011c
000000b2: JUMP
000000b3: JUMPDEST
000000b4: STOP
000000b5: JUMPDEST
000000b6: PUSH2 0x00cc
000000b9: PUSH1 0x04
000000bb: DUP1
000000bc: CALLDATALOAD
000000bd: SWAP1
000000be: PUSH1 0x20
000000c0: ADD
000000c1: DUP1
000000c2: CALLDATALOAD
000000c3: SWAP1
000000c4: PUSH1 0x20
000000c6: ADD
000000c7: POP
000000c8: PUSH2 0x015c
000000cb: JUMP
000000cc: JUMPDEST
000000cd: PUSH1 0x40
000000cf: MLOAD
000000d0: DUP1
000000d1: DUP3
000000d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000000e7: AND
000000e8: DUP2
000000e9: MSTORE
000000ea: PUSH1 0x20
000000ec: ADD
000000ed: SWAP2
000000ee: POP
000000ef: POP
000000f0: PUSH1 0x40
000000f2: MLOAD
000000f3: DUP1
000000f4: SWAP2
000000f5: SUB
000000f6: SWAP1
000000f7: RETURN
000000f8: JUMPDEST
000000f9: PUSH1 0x00
000000fb: PUSH1 0x00
000000fd: POP
000000fe: SLOAD
000000ff: DUP2
00000100: JUMP
00000101: JUMPDEST
00000102: PUSH1 0x01
00000104: PUSH1 0x00
00000106: POP
00000107: PUSH1 0x20
00000109: MSTORE
0000010a: DUP1
0000010b: PUSH1 0x00
0000010d: MSTORE
0000010e: PUSH1 0x40
00000110: PUSH1 0x00
00000112: KECCAK256
00000113: PUSH1 0x00
00000115: SWAP2
00000116: POP
00000117: SWAP1
00000118: POP
00000119: SLOAD
0000011a: DUP2
0000011b: JUMP
0000011c: JUMPDEST
0000011d: CALLVALUE
0000011e: PUSH1 0x01
00000120: PUSH1 0x00
00000122: POP
00000123: PUSH1 0x00
00000125: DUP4
00000126: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000013b: AND
0000013c: DUP2
0000013d: MSTORE
0000013e: PUSH1 0x20
00000140: ADD
00000141: SWAP1
00000142: DUP2
00000143: MSTORE
00000144: PUSH1 0x20
00000146: ADD
00000147: PUSH1 0x00
00000149: KECCAK256
0000014a: PUSH1 0x00
0000014c: DUP3
0000014d: DUP3
0000014e: DUP3
0000014f: POP
00000150: SLOAD
00000151: ADD
00000152: SWAP3
00000153: POP
00000154: POP
00000155: DUP2
00000156: SWAP1
00000157: SSTORE
00000158: POP
00000159: JUMPDEST
0000015a: POP
0000015b: JUMP
0000015c: JUMPDEST
0000015d: PUSH1 0x00
0000015f: PUSH1 0x00
00000161: PUSH1 0x00
00000163: CALLER
00000164: SWAP2
00000165: POP
00000166: DUP4
00000167: PUSH1 0x01
00000169: PUSH1 0x00
0000016b: POP
0000016c: PUSH1 0x00
0000016e: DUP5
0000016f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000184: AND
00000185: DUP2
00000186: MSTORE
00000187: PUSH1 0x20
00000189: ADD
0000018a: SWAP1
0000018b: DUP2
0000018c: MSTORE
0000018d: PUSH1 0x20
0000018f: ADD
00000190: PUSH1 0x00
00000192: KECCAK256
00000193: PUSH1 0x00
00000195: POP
00000196: SLOAD
00000197: LT
00000198: ISZERO
00000199: PUSH2 0x01a5
0000019c: JUMPI
0000019d: PUSH1 0x00
0000019f: SWAP3
000001a0: POP
000001a1: PUSH2 0x0250
000001a4: JUMP
000001a5: JUMPDEST
000001a6: DUP2
000001a7: DUP6
000001a8: PUSH1 0x00
000001aa: PUSH1 0x00
000001ac: POP
000001ad: SLOAD
000001ae: TIMESTAMP
000001af: ADD
000001b0: PUSH1 0x40
000001b2: MLOAD
000001b3: PUSH2 0x0a44
000001b6: DUP1
000001b7: PUSH2 0x0259
000001ba: DUP4
000001bb: CODECOPY
000001bc: ADD
000001bd: DUP1
000001be: DUP5
000001bf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001d4: AND

exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json); cast selectors \""'$BYTECODE"' in /tmp/codex-elbdutre
 succeeded in 0ms:
0x27e235e3	uint256        	payable
0x6a42b8f8	               	payable
0x9e39db73	address        	payable
0xa9059cbb	address,uint256	payable

exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | sed -n '"'260,420p'" in /tmp/codex-elbdutre
 succeeded in 0ms:
000001d4: AND
000001d5: DUP2
000001d6: MSTORE
000001d7: PUSH1 0x20
000001d9: ADD
000001da: DUP4
000001db: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001f0: AND
000001f1: DUP2
000001f2: MSTORE
000001f3: PUSH1 0x20
000001f5: ADD
000001f6: DUP3
000001f7: DUP2
000001f8: MSTORE
000001f9: PUSH1 0x20
000001fb: ADD
000001fc: SWAP4
000001fd: POP
000001fe: POP
000001ff: POP
00000200: POP
00000201: PUSH1 0x40
00000203: MLOAD
00000204: DUP1
00000205: SWAP2
00000206: SUB
00000207: SWAP1
00000208: PUSH1 0x00
0000020a: CREATE
0000020b: SWAP1
0000020c: POP
0000020d: DUP4
0000020e: PUSH1 0x01
00000210: PUSH1 0x00
00000212: POP
00000213: PUSH1 0x00
00000215: DUP5
00000216: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000022b: AND
0000022c: DUP2
0000022d: MSTORE
0000022e: PUSH1 0x20
00000230: ADD
00000231: SWAP1
00000232: DUP2
00000233: MSTORE
00000234: PUSH1 0x20
00000236: ADD
00000237: PUSH1 0x00
00000239: KECCAK256
0000023a: PUSH1 0x00
0000023c: DUP3
0000023d: DUP3
0000023e: DUP3
0000023f: POP
00000240: SLOAD
00000241: SUB
00000242: SWAP3
00000243: POP
00000244: POP
00000245: DUP2
00000246: SWAP1
00000247: SSTORE
00000248: POP
00000249: DUP1
0000024a: SWAP3
0000024b: POP
0000024c: PUSH2 0x0250
0000024f: JUMP
00000250: JUMPDEST
00000251: POP
00000252: POP
00000253: SWAP3
00000254: SWAP2
00000255: POP
00000256: POP
00000257: JUMP
00000258: STOP
00000259: PUSH1 0x60
0000025b: PUSH1 0x40
0000025d: MSTORE
0000025e: PUSH1 0x40
00000260: MLOAD
00000261: PUSH1 0x60
00000263: DUP1
00000264: PUSH2 0x0a44
00000267: DUP4
00000268: CODECOPY
00000269: ADD
0000026a: PUSH1 0x40
0000026c: MSTORE
0000026d: PUSH1 0x60
0000026f: DUP1
00000270: MLOAD
00000271: SWAP1
00000272: PUSH1 0x20
00000274: ADD
00000275: DUP1
00000276: MLOAD
00000277: SWAP1
00000278: PUSH1 0x20
0000027a: ADD
0000027b: DUP1
0000027c: MLOAD
0000027d: SWAP1
0000027e: PUSH1 0x20
00000280: ADD
00000281: POP
00000282: JUMPDEST
00000283: DUP3
00000284: PUSH1 0x00
00000286: PUSH1 0x00
00000288: PUSH2 0x0100
0000028b: EXP
0000028c: DUP2
0000028d: SLOAD
0000028e: DUP2
0000028f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002a4: MUL
000002a5: NOT
000002a6: AND
000002a7: SWAP1
000002a8: DUP4
000002a9: MUL
000002aa: OR
000002ab: SWAP1
000002ac: SSTORE
000002ad: POP
000002ae: DUP2
000002af: PUSH1 0x01
000002b1: PUSH1 0x00
000002b3: PUSH2 0x0100
000002b6: EXP
000002b7: DUP2
000002b8: SLOAD
000002b9: DUP2
000002ba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002cf: MUL
000002d0: NOT
000002d1: AND
000002d2: SWAP1
000002d3: DUP4
000002d4: MUL
000002d5: OR
000002d6: SWAP1
000002d7: SSTORE
000002d8: POP
000002d9: DUP1
000002da: PUSH1 0x02
000002dc: PUSH1 0x00
000002de: POP
000002df: DUP2
000002e0: SWAP1
000002e1: SSTORE
000002e2: POP
000002e3: JUMPDEST
000002e4: POP
000002e5: POP
000002e6: POP
000002e7: PUSH2 0x09a8

exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | sed -n '"'420,520p'" in /tmp/codex-elbdutre
 succeeded in 0ms:
000002e7: PUSH2 0x09a8
000002ea: DUP1
000002eb: PUSH2 0x009c
000002ee: PUSH1 0x00
000002f0: CODECOPY
000002f1: PUSH1 0x00
000002f3: RETURN
000002f4: STOP
000002f5: PUSH1 0x60
000002f7: PUSH1 0x40
000002f9: MSTORE
000002fa: CALLDATASIZE
000002fb: ISZERO
000002fc: PUSH2 0x0074
000002ff: JUMPI
00000300: PUSH1 0x00
00000302: CALLDATALOAD
00000303: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000321: SWAP1
00000322: DIV
00000323: DUP1
00000324: PUSH4 0x0fe65b36
00000329: EQ
0000032a: PUSH2 0x0076
0000032d: JUMPI
0000032e: DUP1
0000032f: PUSH4 0x66d003ac
00000334: EQ
00000335: PUSH2 0x00b3
00000338: JUMPI
00000339: DUP1
0000033a: PUSH4 0x86d1a69f
0000033f: EQ
00000340: PUSH2 0x00ea
00000343: JUMPI
00000344: DUP1
00000345: PUSH4 0x8da5cb5b
0000034a: EQ
0000034b: PUSH2 0x00f7
0000034e: JUMPI
0000034f: DUP1
00000350: PUSH4 0xb91d4001
00000355: EQ
00000356: PUSH2 0x012e
00000359: JUMPI
0000035a: DUP1
0000035b: PUSH4 0xea8a1af0
00000360: EQ
00000361: PUSH2 0x014f
00000364: JUMPI
00000365: PUSH2 0x0074
00000368: JUMP
00000369: JUMPDEST
0000036a: STOP
0000036b: JUMPDEST
0000036c: PUSH2 0x0087
0000036f: PUSH1 0x04
00000371: DUP1
00000372: CALLDATALOAD
00000373: SWAP1
00000374: PUSH1 0x20
00000376: ADD
00000377: POP
00000378: PUSH2 0x0291
0000037b: JUMP
0000037c: JUMPDEST
0000037d: PUSH1 0x40
0000037f: MLOAD
00000380: DUP1
00000381: DUP3
00000382: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000397: AND
00000398: DUP2
00000399: MSTORE
0000039a: PUSH1 0x20
0000039c: ADD
0000039d: SWAP2
0000039e: POP
0000039f: POP
000003a0: PUSH1 0x40
000003a2: MLOAD
000003a3: DUP1
000003a4: SWAP2
000003a5: SUB
000003a6: SWAP1
000003a7: RETURN
000003a8: JUMPDEST
000003a9: PUSH2 0x00be
000003ac: PUSH1 0x04
000003ae: POP
000003af: PUSH2 0x0182
000003b2: JUMP
000003b3: JUMPDEST
000003b4: PUSH1 0x40
000003b6: MLOAD
000003b7: DUP1
000003b8: DUP3
000003b9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003ce: AND
000003cf: DUP2
000003d0: MSTORE

exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | sed -n '"'520,700p'" in /tmp/codex-elbdutre
 succeeded in 0ms:
000003d0: MSTORE
000003d1: PUSH1 0x20
000003d3: ADD
000003d4: SWAP2
000003d5: POP
000003d6: POP
000003d7: PUSH1 0x40
000003d9: MLOAD
000003da: DUP1
000003db: SWAP2
000003dc: SUB
000003dd: SWAP1
000003de: RETURN
000003df: JUMPDEST
000003e0: PUSH2 0x00f5
000003e3: PUSH1 0x04
000003e5: POP
000003e6: PUSH2 0x01b1
000003e9: JUMP
000003ea: JUMPDEST
000003eb: STOP
000003ec: JUMPDEST
000003ed: PUSH2 0x0102
000003f0: PUSH1 0x04
000003f2: POP
000003f3: PUSH2 0x015c
000003f6: JUMP
000003f7: JUMPDEST
000003f8: PUSH1 0x40
000003fa: MLOAD
000003fb: DUP1
000003fc: DUP3
000003fd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000412: AND
00000413: DUP2
00000414: MSTORE
00000415: PUSH1 0x20
00000417: ADD
00000418: SWAP2
00000419: POP
0000041a: POP
0000041b: PUSH1 0x40
0000041d: MLOAD
0000041e: DUP1
0000041f: SWAP2
00000420: SUB
00000421: SWAP1
00000422: RETURN
00000423: JUMPDEST
00000424: PUSH2 0x0139
00000427: PUSH1 0x04
00000429: POP
0000042a: PUSH2 0x01a8
0000042d: JUMP
0000042e: JUMPDEST
0000042f: PUSH1 0x40
00000431: MLOAD
00000432: DUP1
00000433: DUP3
00000434: DUP2
00000435: MSTORE
00000436: PUSH1 0x20
00000438: ADD
00000439: SWAP2
0000043a: POP
0000043b: POP
0000043c: PUSH1 0x40
0000043e: MLOAD
0000043f: DUP1
00000440: SWAP2
00000441: SUB
00000442: SWAP1
00000443: RETURN
00000444: JUMPDEST
00000445: PUSH2 0x015a
00000448: PUSH1 0x04
0000044a: POP
0000044b: PUSH2 0x01fd
0000044e: JUMP
0000044f: JUMPDEST
00000450: STOP
00000451: JUMPDEST
00000452: PUSH1 0x00
00000454: PUSH1 0x00
00000456: SWAP1
00000457: SLOAD
00000458: SWAP1
00000459: PUSH2 0x0100
0000045c: EXP
0000045d: SWAP1
0000045e: DIV
0000045f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000474: AND
00000475: DUP2
00000476: JUMP
00000477: JUMPDEST
00000478: PUSH1 0x01
0000047a: PUSH1 0x00
0000047c: SWAP1
0000047d: SLOAD
0000047e: SWAP1
0000047f: PUSH2 0x0100
00000482: EXP
00000483: SWAP1
00000484: DIV
00000485: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000049a: AND
0000049b: DUP2
0000049c: JUMP
0000049d: JUMPDEST
0000049e: PUSH1 0x02
000004a0: PUSH1 0x00
000004a2: POP
000004a3: SLOAD
000004a4: DUP2
000004a5: JUMP
000004a6: JUMPDEST
000004a7: PUSH1 0x02
000004a9: PUSH1 0x00
000004ab: POP
000004ac: SLOAD
000004ad: TIMESTAMP
000004ae: LT
000004af: ISZERO
000004b0: ISZERO
000004b1: PUSH2 0x01fa
000004b4: JUMPI
000004b5: PUSH1 0x01
000004b7: PUSH1 0x00
000004b9: SWAP1
000004ba: SLOAD
000004bb: SWAP1
000004bc: PUSH2 0x0100
000004bf: EXP
000004c0: SWAP1
000004c1: DIV
000004c2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004d7: AND
000004d8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004ed: AND
000004ee: SELFDESTRUCT
000004ef: JUMPDEST
000004f0: JUMPDEST
000004f1: JUMP
000004f2: JUMPDEST
000004f3: PUSH1 0x00
000004f5: PUSH1 0x00
000004f7: SWAP1
000004f8: SLOAD
000004f9: SWAP1
000004fa: PUSH2 0x0100
000004fd: EXP
000004fe: SWAP1
000004ff: DIV
00000500: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000515: AND
00000516: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000052b: AND
0000052c: CALLER
0000052d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000542: AND
00000543: EQ
00000544: ISZERO
00000545: PUSH2 0x028e
00000548: JUMPI
00000549: PUSH1 0x00
0000054b: PUSH1 0x00
0000054d: SWAP1
0000054e: SLOAD
0000054f: SWAP1
00000550: PUSH2 0x0100
00000553: EXP
00000554: SWAP1
00000555: DIV
00000556: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000056b: AND
0000056c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000581: AND
00000582: SELFDESTRUCT
00000583: JUMPDEST
00000584: JUMPDEST

exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | sed -n '"'700,920p'" in /tmp/codex-elbdutre
 succeeded in 0ms:
00000584: JUMPDEST
00000585: JUMP
00000586: JUMPDEST
00000587: PUSH1 0x00
00000589: PUSH1 0x00
0000058b: PUSH1 0x00
0000058d: PUSH1 0x00
0000058f: PUSH1 0x00
00000591: SWAP1
00000592: SLOAD
00000593: SWAP1
00000594: PUSH2 0x0100
00000597: EXP
00000598: SWAP1
00000599: DIV
0000059a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005af: AND
000005b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005c5: AND
000005c6: CALLER
000005c7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005dc: AND
000005dd: EQ
000005de: ISZERO
000005df: PUSH2 0x03b2
000005e2: JUMPI
000005e3: PUSH1 0x00
000005e5: SWAP2
000005e6: POP
000005e7: PUSH1 0x00
000005e9: PUSH1 0x00
000005eb: SWAP1
000005ec: SLOAD
000005ed: SWAP1
000005ee: PUSH2 0x0100
000005f1: EXP
000005f2: SWAP1
000005f3: DIV
000005f4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000609: AND
0000060a: DUP3
0000060b: ADDRESS
0000060c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000621: AND
00000622: BALANCE
00000623: DUP7
00000624: PUSH1 0x40
00000626: MLOAD
00000627: PUSH2 0x05ed
0000062a: DUP1
0000062b: PUSH2 0x03bb
0000062e: DUP4
0000062f: CODECOPY
00000630: ADD
00000631: DUP1
00000632: DUP6
00000633: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000648: AND
00000649: DUP2
0000064a: MSTORE
0000064b: PUSH1 0x20
0000064d: ADD
0000064e: DUP5
0000064f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000664: AND
00000665: DUP2
00000666: MSTORE
00000667: PUSH1 0x20
00000669: ADD
0000066a: DUP4
0000066b: DUP2
0000066c: MSTORE
0000066d: PUSH1 0x20
0000066f: ADD
00000670: DUP3
00000671: DUP2
00000672: MSTORE
00000673: PUSH1 0x20
00000675: ADD
00000676: SWAP5
00000677: POP
00000678: POP
00000679: POP
0000067a: POP
0000067b: POP
0000067c: PUSH1 0x40
0000067e: MLOAD
0000067f: DUP1
00000680: SWAP2
00000681: SUB
00000682: SWAP1
00000683: PUSH1 0x00
00000685: CREATE
00000686: SWAP1
00000687: POP
00000688: DUP1
00000689: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000069e: AND
0000069f: SELFDESTRUCT
000006a0: DUP1
000006a1: SWAP3
000006a2: POP
000006a3: PUSH2 0x03b3
000006a6: JUMP
000006a7: JUMPDEST
000006a8: JUMPDEST
000006a9: POP
000006aa: POP
000006ab: SWAP2
000006ac: SWAP1
000006ad: POP
000006ae: JUMP
000006af: STOP
000006b0: PUSH1 0x60
000006b2: PUSH1 0x40
000006b4: MSTORE
000006b5: PUSH1 0x40
000006b7: MLOAD
000006b8: PUSH1 0x80
000006ba: DUP1
000006bb: PUSH2 0x05ed
000006be: DUP4
000006bf: CODECOPY
000006c0: ADD
000006c1: PUSH1 0x40
000006c3: MSTORE
000006c4: PUSH1 0x60
000006c6: DUP1
000006c7: MLOAD
000006c8: SWAP1
000006c9: PUSH1 0x20
000006cb: ADD
000006cc: DUP1
000006cd: MLOAD
000006ce: SWAP1
000006cf: PUSH1 0x20
000006d1: ADD
000006d2: DUP1
000006d3: MLOAD
000006d4: SWAP1
000006d5: PUSH1 0x20
000006d7: ADD
000006d8: DUP1
000006d9: MLOAD
000006da: SWAP1
000006db: PUSH1 0x20
000006dd: ADD
000006de: POP
000006df: JUMPDEST
000006e0: DUP4
000006e1: PUSH1 0x00
000006e3: PUSH1 0x00
000006e5: PUSH2 0x0100
000006e8: EXP
000006e9: DUP2
000006ea: SLOAD
000006eb: DUP2
000006ec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000701: MUL
00000702: NOT
00000703: AND
00000704: SWAP1
00000705: DUP4
00000706: MUL
00000707: OR
00000708: SWAP1
00000709: SSTORE
0000070a: POP
0000070b: DUP3
0000070c: PUSH1 0x01
0000070e: PUSH1 0x00
00000710: PUSH2 0x0100
00000713: EXP
00000714: DUP2
00000715: SLOAD
00000716: DUP2
00000717: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000072c: MUL
0000072d: NOT
0000072e: AND
0000072f: SWAP1
00000730: DUP4
00000731: MUL
00000732: OR
00000733: SWAP1
00000734: SSTORE
00000735: POP
00000736: DUP2
00000737: PUSH1 0x02
00000739: PUSH1 0x00
0000073b: POP
0000073c: DUP2
0000073d: SWAP1
0000073e: SSTORE
0000073f: POP
00000740: DUP1
00000741: PUSH1 0x03
00000743: PUSH1 0x00
00000745: POP
00000746: DUP2
00000747: SWAP1
00000748: SSTORE
00000749: POP
0000074a: JUMPDEST
0000074b: POP
0000074c: POP
0000074d: POP
0000074e: POP
0000074f: PUSH2 0x0540
00000752: DUP1
00000753: PUSH2 0x00ad
00000756: PUSH1 0x00
00000758: CODECOPY
00000759: PUSH1 0x00
0000075b: RETURN
0000075c: STOP
0000075d: PUSH1 0x60
0000075f: PUSH1 0x40
00000761: MSTORE
00000762: CALLDATASIZE
00000763: ISZERO

exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | sed -n '"'920,1220p'" in /tmp/codex-elbdutre
 succeeded in 0ms:
00000763: ISZERO
00000764: PUSH2 0x008a
00000767: JUMPI
00000768: PUSH1 0x00
0000076a: CALLDATALOAD
0000076b: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000789: SWAP1
0000078a: DIV
0000078b: DUP1
0000078c: PUSH4 0x119f8747
00000791: EQ
00000792: PUSH2 0x008c
00000795: JUMPI
00000796: DUP1
00000797: PUSH4 0x29dcb0cf
0000079c: EQ
0000079d: PUSH2 0x0099
000007a0: JUMPI
000007a1: DUP1
000007a2: PUSH4 0x3c24b7d7
000007a7: EQ
000007a8: PUSH2 0x00ba
000007ab: JUMPI
000007ac: DUP1
000007ad: PUSH4 0x552079dc
000007b2: EQ
000007b3: PUSH2 0x00fe
000007b6: JUMPI
000007b7: DUP1
000007b8: PUSH4 0x66d003ac
000007bd: EQ
000007be: PUSH2 0x0135
000007c1: JUMPI
000007c2: DUP1
000007c3: PUSH4 0x702c35fb
000007c8: EQ
000007c9: PUSH2 0x016c
000007cc: JUMPI
000007cd: DUP1
000007ce: PUSH4 0x86d1a69f
000007d3: EQ
000007d4: PUSH2 0x018d
000007d7: JUMPI
000007d8: DUP1
000007d9: PUSH4 0xc9e7e29b
000007de: EQ
000007df: PUSH2 0x019a
000007e2: JUMPI
000007e3: PUSH2 0x008a
000007e6: JUMP
000007e7: JUMPDEST
000007e8: STOP
000007e9: JUMPDEST
000007ea: PUSH2 0x0097
000007ed: PUSH1 0x04
000007ef: POP
000007f0: PUSH2 0x02cc
000007f3: JUMP
000007f4: JUMPDEST
000007f5: STOP
000007f6: JUMPDEST
000007f7: PUSH2 0x00a4
000007fa: PUSH1 0x04
000007fc: POP
000007fd: PUSH2 0x0210
00000800: JUMP
00000801: JUMPDEST
00000802: PUSH1 0x40
00000804: MLOAD
00000805: DUP1
00000806: DUP3
00000807: DUP2
00000808: MSTORE
00000809: PUSH1 0x20
0000080b: ADD
0000080c: SWAP2
0000080d: POP
0000080e: POP
0000080f: PUSH1 0x40
00000811: MLOAD
00000812: DUP1
00000813: SWAP2
00000814: SUB
00000815: SWAP1
00000816: RETURN
00000817: JUMPDEST
00000818: PUSH2 0x00cb
0000081b: PUSH1 0x04
0000081d: DUP1
0000081e: CALLDATALOAD
0000081f: SWAP1
00000820: PUSH1 0x20
00000822: ADD
00000823: POP
00000824: PUSH2 0x0219
00000827: JUMP
00000828: JUMPDEST
00000829: PUSH1 0x40
0000082b: MLOAD
0000082c: DUP1
0000082d: DUP4
0000082e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000843: AND
00000844: DUP2
00000845: MSTORE
00000846: PUSH1 0x20
00000848: ADD
00000849: DUP3
0000084a: DUP2
0000084b: MSTORE
0000084c: PUSH1 0x20
0000084e: ADD
0000084f: SWAP3
00000850: POP
00000851: POP
00000852: POP
00000853: PUSH1 0x40
00000855: MLOAD
00000856: DUP1
00000857: SWAP2
00000858: SUB
00000859: SWAP1
0000085a: RETURN
0000085b: JUMPDEST
0000085c: PUSH2 0x0109
0000085f: PUSH1 0x04
00000861: POP
00000862: PUSH2 0x01bb
00000865: JUMP
00000866: JUMPDEST
00000867: PUSH1 0x40
00000869: MLOAD
0000086a: DUP1
0000086b: DUP3
0000086c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000881: AND
00000882: DUP2
00000883: MSTORE
00000884: PUSH1 0x20
00000886: ADD
00000887: SWAP2
00000888: POP
00000889: POP
0000088a: PUSH1 0x40
0000088c: MLOAD
0000088d: DUP1
0000088e: SWAP2
0000088f: SUB
00000890: SWAP1
00000891: RETURN
00000892: JUMPDEST
00000893: PUSH2 0x0140
00000896: PUSH1 0x04
00000898: POP
00000899: PUSH2 0x01e1
0000089c: JUMP
0000089d: JUMPDEST
0000089e: PUSH1 0x40
000008a0: MLOAD
000008a1: DUP1
000008a2: DUP3
000008a3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008b8: AND
000008b9: DUP2
000008ba: MSTORE
000008bb: PUSH1 0x20
000008bd: ADD
000008be: SWAP2
000008bf: POP
000008c0: POP
000008c1: PUSH1 0x40
000008c3: MLOAD
000008c4: DUP1
000008c5: SWAP2
000008c6: SUB
000008c7: SWAP1
000008c8: RETURN
000008c9: JUMPDEST
000008ca: PUSH2 0x0177
000008cd: PUSH1 0x04
000008cf: POP
000008d0: PUSH2 0x026f
000008d3: JUMP
000008d4: JUMPDEST
000008d5: PUSH1 0x40
000008d7: MLOAD
000008d8: DUP1
000008d9: DUP3
000008da: DUP2
000008db: MSTORE
000008dc: PUSH1 0x20
000008de: ADD
000008df: SWAP2
000008e0: POP
000008e1: POP
000008e2: PUSH1 0x40
000008e4: MLOAD
000008e5: DUP1
000008e6: SWAP2
000008e7: SUB
000008e8: SWAP1
000008e9: RETURN
000008ea: JUMPDEST
000008eb: PUSH2 0x0198
000008ee: PUSH1 0x04
000008f0: POP
000008f1: PUSH2 0x0278
000008f4: JUMP
000008f5: JUMPDEST
000008f6: STOP
000008f7: JUMPDEST
000008f8: PUSH2 0x01a5
000008fb: PUSH1 0x04
000008fd: POP
000008fe: PUSH2 0x0207
00000901: JUMP
00000902: JUMPDEST
00000903: PUSH1 0x40
00000905: MLOAD
00000906: DUP1
00000907: DUP3
00000908: DUP2
00000909: MSTORE
0000090a: PUSH1 0x20
0000090c: ADD
0000090d: SWAP2
0000090e: POP
0000090f: POP
00000910: PUSH1 0x40
00000912: MLOAD
00000913: DUP1
00000914: SWAP2
00000915: SUB
00000916: SWAP1
00000917: RETURN
00000918: JUMPDEST
00000919: PUSH1 0x00
0000091b: PUSH1 0x00
0000091d: SWAP1
0000091e: SLOAD
0000091f: SWAP1
00000920: PUSH2 0x0100
00000923: EXP
00000924: SWAP1
00000925: DIV
00000926: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000093b: AND
0000093c: DUP2
0000093d: JUMP
0000093e: JUMPDEST
0000093f: PUSH1 0x01
00000941: PUSH1 0x00
00000943: SWAP1
00000944: SLOAD
00000945: SWAP1
00000946: PUSH2 0x0100
00000949: EXP
0000094a: SWAP1
0000094b: DIV
0000094c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000961: AND
00000962: DUP2
00000963: JUMP
00000964: JUMPDEST
00000965: PUSH1 0x02
00000967: PUSH1 0x00
00000969: POP
0000096a: SLOAD
0000096b: DUP2
0000096c: JUMP
0000096d: JUMPDEST
0000096e: PUSH1 0x03
00000970: PUSH1 0x00
00000972: POP
00000973: SLOAD
00000974: DUP2
00000975: JUMP
00000976: JUMPDEST
00000977: PUSH1 0x04
00000979: PUSH1 0x00
0000097b: POP
0000097c: DUP2
0000097d: DUP2
0000097e: SLOAD
0000097f: DUP2
00000980: LT
00000981: ISZERO
00000982: PUSH2 0x0002
00000985: JUMPI
00000986: SWAP1
00000987: PUSH1 0x00
00000989: MSTORE
0000098a: PUSH1 0x20
0000098c: PUSH1 0x00
0000098e: KECCAK256
0000098f: SWAP1
00000990: PUSH1 0x02
00000992: MUL
00000993: ADD
00000994: PUSH1 0x00
00000996: SWAP2

exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | sed -n '"'1220,1460p'" in /tmp/codex-elbdutre
 succeeded in 0ms:
00000996: SWAP2
00000997: POP
00000998: SWAP1
00000999: POP
0000099a: DUP1
0000099b: PUSH1 0x00
0000099d: ADD
0000099e: PUSH1 0x00
000009a0: SWAP1
000009a1: SLOAD
000009a2: SWAP1
000009a3: PUSH2 0x0100
000009a6: EXP
000009a7: SWAP1
000009a8: DIV
000009a9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009be: AND
000009bf: SWAP1
000009c0: DUP1
000009c1: PUSH1 0x01
000009c3: ADD
000009c4: PUSH1 0x00
000009c6: POP
000009c7: SLOAD
000009c8: SWAP1
000009c9: POP
000009ca: DUP3
000009cb: JUMP
000009cc: JUMPDEST
000009cd: PUSH1 0x05
000009cf: PUSH1 0x00
000009d1: POP
000009d2: SLOAD
000009d3: DUP2
000009d4: JUMP
000009d5: JUMPDEST
000009d6: PUSH1 0x03
000009d8: PUSH1 0x00
000009da: POP
000009db: SLOAD
000009dc: TIMESTAMP
000009dd: LT
000009de: ISZERO
000009df: ISZERO
000009e0: PUSH2 0x02c9
000009e3: JUMPI
000009e4: PUSH2 0x028e
000009e7: PUSH2 0x0497
000009ea: JUMP
000009eb: JUMPDEST
000009ec: PUSH1 0x00
000009ee: PUSH1 0x00
000009f0: SWAP1
000009f1: SLOAD
000009f2: SWAP1
000009f3: PUSH2 0x0100
000009f6: EXP
000009f7: SWAP1
000009f8: DIV
000009f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a0e: AND
00000a0f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a24: AND
00000a25: SELFDESTRUCT
00000a26: JUMPDEST
00000a27: JUMPDEST
00000a28: JUMP
00000a29: JUMPDEST
00000a2a: PUSH1 0x00
00000a2c: CALLVALUE
00000a2d: GT
00000a2e: ISZERO
00000a2f: PUSH2 0x0494
00000a32: JUMPI
00000a33: PUSH1 0x40
00000a35: PUSH1 0x40
00000a37: MLOAD
00000a38: SWAP1
00000a39: DUP2
00000a3a: ADD
00000a3b: PUSH1 0x40
00000a3d: MSTORE
00000a3e: DUP1
00000a3f: CALLER
00000a40: DUP2
00000a41: MSTORE
00000a42: PUSH1 0x20
00000a44: ADD
00000a45: CALLVALUE
00000a46: DUP2
00000a47: MSTORE
00000a48: PUSH1 0x20
00000a4a: ADD
00000a4b: POP
00000a4c: PUSH1 0x04
00000a4e: PUSH1 0x00
00000a50: POP
00000a51: PUSH1 0x04
00000a53: PUSH1 0x00
00000a55: POP
00000a56: DUP1
00000a57: SLOAD
00000a58: DUP1
00000a59: SWAP2
00000a5a: SWAP1
00000a5b: PUSH1 0x01
00000a5d: ADD
00000a5e: SWAP1
00000a5f: SWAP1
00000a60: DUP2
00000a61: SLOAD
00000a62: DUP2
00000a63: DUP4
00000a64: SSTORE
00000a65: DUP2
00000a66: DUP2
00000a67: ISZERO
00000a68: GT
00000a69: PUSH2 0x0378
00000a6c: JUMPI
00000a6d: PUSH1 0x02
00000a6f: MUL
00000a70: DUP2
00000a71: PUSH1 0x02
00000a73: MUL
00000a74: DUP4
00000a75: PUSH1 0x00
00000a77: MSTORE
00000a78: PUSH1 0x20
00000a7a: PUSH1 0x00
00000a7c: KECCAK256
00000a7d: SWAP2
00000a7e: DUP3
00000a7f: ADD
00000a80: SWAP2
00000a81: ADD
00000a82: PUSH2 0x0377
00000a85: SWAP2
00000a86: SWAP1
00000a87: PUSH2 0x032e
00000a8a: JUMP
00000a8b: JUMPDEST
00000a8c: DUP1
00000a8d: DUP3
00000a8e: GT
00000a8f: ISZERO
00000a90: PUSH2 0x0373
00000a93: JUMPI
00000a94: PUSH1 0x00
00000a96: PUSH1 0x00
00000a98: DUP3
00000a99: ADD
00000a9a: PUSH1 0x00
00000a9c: PUSH2 0x0100
00000a9f: EXP
00000aa0: DUP2
00000aa1: SLOAD
00000aa2: SWAP1
00000aa3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ab8: MUL
00000ab9: NOT
00000aba: AND
00000abb: SWAP1
00000abc: SSTORE
00000abd: PUSH1 0x01
00000abf: DUP3
00000ac0: ADD
00000ac1: PUSH1 0x00
00000ac3: POP
00000ac4: PUSH1 0x00
00000ac6: SWAP1
00000ac7: SSTORE
00000ac8: POP
00000ac9: PUSH1 0x01
00000acb: ADD
00000acc: PUSH2 0x032e
00000acf: JUMP
00000ad0: JUMPDEST
00000ad1: POP
00000ad2: SWAP1
00000ad3: JUMP
00000ad4: JUMPDEST
00000ad5: JUMPDEST
00000ad6: POP
00000ad7: POP
00000ad8: POP
00000ad9: DUP2
00000ada: SLOAD
00000adb: DUP2
00000adc: LT
00000add: ISZERO
00000ade: PUSH2 0x0002
00000ae1: JUMPI
00000ae2: SWAP1
00000ae3: PUSH1 0x00
00000ae5: MSTORE
00000ae6: PUSH1 0x20
00000ae8: PUSH1 0x00
00000aea: KECCAK256
00000aeb: SWAP1
00000aec: PUSH1 0x02
00000aee: MUL
00000aef: ADD
00000af0: PUSH1 0x00
00000af2: POP
00000af3: PUSH1 0x00
00000af5: DUP3
00000af6: ADD
00000af7: MLOAD
00000af8: DUP2
00000af9: PUSH1 0x00
00000afb: ADD
00000afc: PUSH1 0x00
00000afe: PUSH2 0x0100
00000b01: EXP
00000b02: DUP2
00000b03: SLOAD
00000b04: DUP2
00000b05: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b1a: MUL
00000b1b: NOT
00000b1c: AND
00000b1d: SWAP1
00000b1e: DUP4
00000b1f: MUL
00000b20: OR
00000b21: SWAP1
00000b22: SSTORE
00000b23: POP
00000b24: PUSH1 0x20
00000b26: DUP3
00000b27: ADD
00000b28: MLOAD
00000b29: DUP2
00000b2a: PUSH1 0x01
00000b2c: ADD
00000b2d: PUSH1 0x00
00000b2f: POP
00000b30: SSTORE
00000b31: SWAP1
00000b32: POP

exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | sed -n '"'1460,1640p'" in /tmp/codex-elbdutre
 succeeded in 0ms:
00000b32: POP
00000b33: POP
00000b34: CALLVALUE
00000b35: PUSH1 0x05
00000b37: PUSH1 0x00
00000b39: DUP3
00000b3a: DUP3
00000b3b: DUP3
00000b3c: POP
00000b3d: SLOAD
00000b3e: ADD
00000b3f: SWAP3
00000b40: POP
00000b41: POP
00000b42: DUP2
00000b43: SWAP1
00000b44: SSTORE
00000b45: POP
00000b46: PUSH32 0x8fc4de83eddb2e6be67e269b8bfdc735778c7339168d5f734290f474f5647e14
00000b67: CALLER
00000b68: CALLVALUE
00000b69: PUSH1 0x40
00000b6b: MLOAD
00000b6c: DUP1
00000b6d: DUP4
00000b6e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b83: AND
00000b84: DUP2
00000b85: MSTORE
00000b86: PUSH1 0x20
00000b88: ADD
00000b89: DUP3
00000b8a: DUP2
00000b8b: MSTORE
00000b8c: PUSH1 0x20
00000b8e: ADD
00000b8f: SWAP3
00000b90: POP
00000b91: POP
00000b92: POP
00000b93: PUSH1 0x40
00000b95: MLOAD
00000b96: DUP1
00000b97: SWAP2
00000b98: SUB
00000b99: SWAP1
00000b9a: LOG1
00000b9b: PUSH1 0x02
00000b9d: PUSH1 0x00
00000b9f: POP
00000ba0: SLOAD
00000ba1: PUSH1 0x05
00000ba3: PUSH1 0x00
00000ba5: POP
00000ba6: SLOAD
00000ba7: LT
00000ba8: ISZERO
00000ba9: ISZERO
00000baa: PUSH2 0x0493
00000bad: JUMPI
00000bae: PUSH2 0x0458
00000bb1: PUSH2 0x0497
00000bb4: JUMP
00000bb5: JUMPDEST
00000bb6: PUSH1 0x01
00000bb8: PUSH1 0x00
00000bba: SWAP1
00000bbb: SLOAD
00000bbc: SWAP1
00000bbd: PUSH2 0x0100
00000bc0: EXP
00000bc1: SWAP1
00000bc2: DIV
00000bc3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bd8: AND
00000bd9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bee: AND
00000bef: SELFDESTRUCT
00000bf0: JUMPDEST
00000bf1: JUMPDEST
00000bf2: JUMPDEST
00000bf3: JUMP
00000bf4: JUMPDEST
00000bf5: PUSH1 0x00
00000bf7: PUSH1 0x00
00000bf9: PUSH1 0x00
00000bfb: SWAP2
00000bfc: POP
00000bfd: JUMPDEST
00000bfe: PUSH1 0x04
00000c00: PUSH1 0x00
00000c02: POP
00000c03: SLOAD
00000c04: DUP3
00000c05: LT
00000c06: ISZERO
00000c07: PUSH2 0x053b
00000c0a: JUMPI
00000c0b: PUSH1 0x04
00000c0d: PUSH1 0x00
00000c0f: POP
00000c10: DUP3
00000c11: DUP2
00000c12: SLOAD
00000c13: DUP2
00000c14: LT
00000c15: ISZERO
00000c16: PUSH2 0x0002
00000c19: JUMPI
00000c1a: SWAP1
00000c1b: PUSH1 0x00
00000c1d: MSTORE
00000c1e: PUSH1 0x20
00000c20: PUSH1 0x00
00000c22: KECCAK256
00000c23: SWAP1
00000c24: PUSH1 0x02
00000c26: MUL
00000c27: ADD
00000c28: PUSH1 0x00
00000c2a: POP
00000c2b: SWAP1
00000c2c: POP
00000c2d: DUP1
00000c2e: PUSH1 0x00
00000c30: ADD
00000c31: PUSH1 0x00
00000c33: SWAP1
00000c34: SLOAD
00000c35: SWAP1
00000c36: PUSH2 0x0100
00000c39: EXP
00000c3a: SWAP1
00000c3b: DIV
00000c3c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c51: AND
00000c52: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c67: AND
00000c68: PUSH1 0x00
00000c6a: DUP3
00000c6b: PUSH1 0x01
00000c6d: ADD
00000c6e: PUSH1 0x00
00000c70: POP
00000c71: SLOAD
00000c72: PUSH1 0x40
00000c74: MLOAD
00000c75: DUP1
00000c76: SWAP1
00000c77: POP
00000c78: PUSH1 0x00
00000c7a: PUSH1 0x40
00000c7c: MLOAD
00000c7d: DUP1
00000c7e: DUP4
00000c7f: SUB
00000c80: DUP2
00000c81: DUP6
00000c82: DUP9
00000c83: DUP9
00000c84: CALL
00000c85: SWAP4
00000c86: POP
00000c87: POP
00000c88: POP
00000c89: POP
00000c8a: POP
00000c8b: JUMPDEST
00000c8c: DUP2
00000c8d: DUP1
00000c8e: PUSH1 0x01
00000c90: ADD
00000c91: SWAP3
00000c92: POP
00000c93: POP
00000c94: PUSH2 0x04a0
00000c97: JUMP
00000c98: JUMPDEST
00000c99: JUMPDEST
00000c9a: POP
00000c9b: POP

exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | sed -n '"'1640,1705p'" in /tmp/codex-elbdutre
 succeeded in 0ms:
00000c9b: POP
00000c9c: JUMP


exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | awk '"'"'$1 < "000002f5:" && ($2=="CALL" || $2=="SELFDESTRUCT" || $2=="DELEGATECALL" || $2=="CREATE") {print}'"'" in /tmp/codex-elbdutre
 succeeded in 0ms:
0000020a: CREATE

exec
/bin/bash -lc 'BYTECODE=$(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json); cast disassemble \""'$BYTECODE" | awk '"'"'$1 >= "000002f5:" && ($2=="CALL" || $2=="SELFDESTRUCT" || $2=="DELEGATECALL" || $2=="CREATE") {print}'"' | sed -n '1,40p'" in /tmp/codex-elbdutre
 succeeded in 0ms:
000004ee: SELFDESTRUCT
00000582: SELFDESTRUCT
00000685: CREATE
0000069f: SELFDESTRUCT
00000a25: SELFDESTRUCT
00000bef: SELFDESTRUCT
00000c84: CALL

codex
{"no_findings":false,"summary":"The bundle includes embedded CREATE init/runtime blobs; selector inference is best-effort. One high-confidence issue affects the live top-level bytecode directly, and two additional issues affect a deployable child runtime reachable through the embedded CREATE paths.","findings":[{"severity":"high","category":"other","title":"Top-level accounting decrements user balances but creates child contracts with zero ETH","exploit_scenario":"On the live contract, selector 0x9e39db73 credits a per-user storage bucket with CALLVALUE, so users can deposit ETH. Later, selector 0xa9059cbb checks that recorded bucket and decrements it, but the CREATE at pc 0x20a is invoked with zero value. The returned child contract is therefore unfunded while the parent keeps the ETH. Because the live top-level bytecode has no CALL/SELFDESTRUCT withdrawal path before the embedded child blob, deposited ETH can become stranded in the parent while users' recorded balances are burned down.","recommendation":"Fund the created child with the withdrawn amount, or do not decrement recorded balances unless value transfer succeeds. Also add an explicit invariant that parent balance tracks outstanding recorded balances, and reject unexpected CALLVALUE on non-deposit paths.","evidence":"Top-level selector 0x9e39db73 reaches pc 0x11d and adds CALLVALUE into storage keyed by keccak(arg,1). Selector 0xa9059cbb reaches pc 0x20a, where CREATE is executed from prepared initcode with a zero literal pushed immediately before CREATE; afterwards the code subtracts the requested amount from the same storage bucket at pc 0x23a-0x247-equivalent SSTORE logic. The top-level region has CREATE as its only sink; no CALL/SELFDESTRUCT appears before the embedded blob at 0x2f5.","locations":["selector:0x9e39db73","selector:0xa9059cbb","pc:0x11d","pc:0x20a","pc:0x247"]},{"severity":"high","category":"reentrancy","title":"Deployable child runtime pays arbitrary recipients via CALL with no reentrancy guard","exploit_scenario":"A reachable child runtime embedded in the bytecode exposes selector 0x119f8747, which iterates over stored payout entries and performs a value-bearing CALL to each recipient. A malicious recipient contract can reenter 0x119f8747 from its fallback during the CALL at pc 0xc84. Because the loop uses only stack-local progress and does not mark entries as paid or lock execution before the external call, the nested invocation can restart the payout loop from the beginning and replay payouts until the child contract balance is drained.","recommendation":"Apply checks-effects-interactions: mark entries as paid or advance persistent progress before the CALL, add a reentrancy guard, and preferably use a pull-payment model where recipients withdraw individually.","evidence":"The bundle confirms CREATE reachability, and the embedded child runtime dispatches selector 0x119f8747 to the payout loop starting near pc 0xbf4. Inside that loop, recipient/value pairs are loaded from storage-backed entries and sent with CALL at pc 0xc84. There is no guard detection in this path and no protective SSTORE before the CALL; execution simply POPs the result and continues looping.","locations":["selector:0x119f8747","pc:0x685","pc:0xbf4","pc:0xc84"]},{"severity":"medium","category":"other","title":"Child payout loop ignores CALL failure, so recipients can be skipped and funds redistributed incorrectly","exploit_scenario":"In the same deployable child runtime, if any payout recipient reverts or the value transfer fails, the CALL result is discarded and the loop continues. A reverting recipient can therefore be silently skipped, while later logic still proceeds. In the expiry path, selector 0x86d1a69f invokes the same loop and then selfdestructs the remaining balance to slot0, so unpaid recipients can lose their allocation entirely.","recommendation":"Check the CALL success flag and revert or record the debt when a transfer fails. Do not selfdestruct or finalize distribution until every intended payment is confirmed.","evidence":"At pc 0xc84 the child runtime executes CALL, then immediately POPs the return value and advances the loop without branching on success or inspecting returndata. Selector 0x86d1a69f jumps into the same internal payout routine and later reaches SELFDESTRUCT, making silent payment failure an accounting risk rather than a benign no-op.","locations":["selector:0x119f8747","selector:0x86d1a69f","pc:0xc84","pc:0xa25"]}]}
tokens used
124,103
Metadata
{
    "codex": {
        "ran_at": "2026-04-04T20:34:24.901760+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 6460,
        "bytecode_truncated": false,
        "capability_graph_present": true,
        "analysis_artifact_present": true
    },
    "summary": "The bundle includes embedded CREATE init/runtime blobs; selector inference is best-effort. One high-confidence issue affects the live top-level bytecode directly, and two additional issues affect a deployable child runtime reachable through the embedded CREATE paths.",
    "raw_final": {
        "summary": "The bundle includes embedded CREATE init/runtime blobs; selector inference is best-effort. One high-confidence issue affects the live top-level bytecode directly, and two additional issues affect a deployable child runtime reachable through the embedded CREATE paths.",
        "findings": [
            {
                "title": "Top-level accounting decrements user balances but creates child contracts with zero ETH",
                "category": "other",
                "evidence": "Top-level selector 0x9e39db73 reaches pc 0x11d and adds CALLVALUE into storage keyed by keccak(arg,1). Selector 0xa9059cbb reaches pc 0x20a, where CREATE is executed from prepared initcode with a zero literal pushed immediately before CREATE; afterwards the code subtracts the requested amount from the same storage bucket at pc 0x23a-0x247-equivalent SSTORE logic. The top-level region has CREATE as its only sink; no CALL/SELFDESTRUCT appears before the embedded blob at 0x2f5.",
                "severity": "high",
                "locations": [
                    "selector:0x9e39db73",
                    "selector:0xa9059cbb",
                    "pc:0x11d",
                    "pc:0x20a",
                    "pc:0x247"
                ],
                "recommendation": "Fund the created child with the withdrawn amount, or do not decrement recorded balances unless value transfer succeeds. Also add an explicit invariant that parent balance tracks outstanding recorded balances, and reject unexpected CALLVALUE on non-deposit paths.",
                "exploit_scenario": "On the live contract, selector 0x9e39db73 credits a per-user storage bucket with CALLVALUE, so users can deposit ETH. Later, selector 0xa9059cbb checks that recorded bucket and decrements it, but the CREATE at pc 0x20a is invoked with zero value. The returned child contract is therefore unfunded while the parent keeps the ETH. Because the live top-level bytecode has no CALL/SELFDESTRUCT withdrawal path before the embedded child blob, deposited ETH can become stranded in the parent while users' recorded balances are burned down."
            },
            {
                "title": "Deployable child runtime pays arbitrary recipients via CALL with no reentrancy guard",
                "category": "reentrancy",
                "evidence": "The bundle confirms CREATE reachability, and the embedded child runtime dispatches selector 0x119f8747 to the payout loop starting near pc 0xbf4. Inside that loop, recipient/value pairs are loaded from storage-backed entries and sent with CALL at pc 0xc84. There is no guard detection in this path and no protective SSTORE before the CALL; execution simply POPs the result and continues looping.",
                "severity": "high",
                "locations": [
                    "selector:0x119f8747",
                    "pc:0x685",
                    "pc:0xbf4",
                    "pc:0xc84"
                ],
                "recommendation": "Apply checks-effects-interactions: mark entries as paid or advance persistent progress before the CALL, add a reentrancy guard, and preferably use a pull-payment model where recipients withdraw individually.",
                "exploit_scenario": "A reachable child runtime embedded in the bytecode exposes selector 0x119f8747, which iterates over stored payout entries and performs a value-bearing CALL to each recipient. A malicious recipient contract can reenter 0x119f8747 from its fallback during the CALL at pc 0xc84. Because the loop uses only stack-local progress and does not mark entries as paid or lock execution before the external call, the nested invocation can restart the payout loop from the beginning and replay payouts until the child contract balance is drained."
            },
            {
                "title": "Child payout loop ignores CALL failure, so recipients can be skipped and funds redistributed incorrectly",
                "category": "other",
                "evidence": "At pc 0xc84 the child runtime executes CALL, then immediately POPs the return value and advances the loop without branching on success or inspecting returndata. Selector 0x86d1a69f jumps into the same internal payout routine and later reaches SELFDESTRUCT, making silent payment failure an accounting risk rather than a benign no-op.",
                "severity": "medium",
                "locations": [
                    "selector:0x119f8747",
                    "selector:0x86d1a69f",
                    "pc:0xc84",
                    "pc:0xa25"
                ],
                "recommendation": "Check the CALL success flag and revert or record the debt when a transfer fails. Do not selfdestruct or finalize distribution until every intended payment is confirmed.",
                "exploit_scenario": "In the same deployable child runtime, if any payout recipient reverts or the value transfer fails, the CALL result is discarded and the loop continues. A reverting recipient can therefore be silently skipped, while later logic still proceeds. In the expiry path, selector 0x86d1a69f invokes the same loop and then selfdestructs the remaining balance to slot0, so unpaid recipients can lose their allocation entirely."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
5
CREATE2
0
CALL-family (heavy)
1
EXT*/BALANCE
1
Total opcodes
1641
Flags
selfdestruct_present create_opcodes_present
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x00
00000007: CALLDATALOAD
00000008: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000026: SWAP1
00000027: DIV
00000028: DUP1
00000029: PUSH4 0x27e235e3
0000002e: EQ
0000002f: PUSH2 0x005a
00000032: JUMPI
00000033: DUP1
00000034: PUSH4 0x6a42b8f8
00000039: EQ
0000003a: PUSH2 0x0081
0000003d: JUMPI
0000003e: DUP1
0000003f: PUSH4 0x9e39db73
00000044: EQ
00000045: PUSH2 0x00a2
00000048: JUMPI
00000049: DUP1
0000004a: PUSH4 0xa9059cbb
0000004f: EQ
00000050: PUSH2 0x00b5
00000053: JUMPI
00000054: PUSH2 0x0058
00000057: JUMP
00000058: JUMPDEST
00000059: STOP
0000005a: JUMPDEST
0000005b: PUSH2 0x006b
0000005e: PUSH1 0x04
00000060: DUP1
00000061: CALLDATALOAD
00000062: SWAP1
00000063: PUSH1 0x20
00000065: ADD
00000066: POP
00000067: PUSH2 0x0101
0000006a: JUMP
0000006b: JUMPDEST
0000006c: PUSH1 0x40
0000006e: MLOAD
0000006f: DUP1
00000070: DUP3
00000071: DUP2
00000072: MSTORE
00000073: PUSH1 0x20
00000075: ADD
00000076: SWAP2
00000077: POP
00000078: POP
00000079: PUSH1 0x40
0000007b: MLOAD
0000007c: DUP1
0000007d: SWAP2
0000007e: SUB
0000007f: SWAP1
00000080: RETURN
00000081: JUMPDEST
00000082: PUSH2 0x008c
00000085: PUSH1 0x04
00000087: POP
00000088: PUSH2 0x00f8
0000008b: JUMP
0000008c: JUMPDEST
0000008d: PUSH1 0x40
0000008f: MLOAD
00000090: DUP1
00000091: DUP3
00000092: DUP2
00000093: MSTORE
00000094: PUSH1 0x20
00000096: ADD
00000097: SWAP2
00000098: POP
00000099: POP
0000009a: PUSH1 0x40
0000009c: MLOAD
0000009d: DUP1
0000009e: SWAP2
0000009f: SUB
000000a0: SWAP1
000000a1: RETURN
000000a2: JUMPDEST
000000a3: PUSH2 0x00b3
000000a6: PUSH1 0x04
000000a8: DUP1
000000a9: CALLDATALOAD
000000aa: SWAP1
000000ab: PUSH1 0x20
000000ad: ADD
000000ae: POP
000000af: PUSH2 0x011c
000000b2: JUMP
000000b3: JUMPDEST
000000b4: STOP
000000b5: JUMPDEST
000000b6: PUSH2 0x00cc
000000b9: PUSH1 0x04
000000bb: DUP1
000000bc: CALLDATALOAD
000000bd: SWAP1
000000be: PUSH1 0x20
000000c0: ADD
000000c1: DUP1
000000c2: CALLDATALOAD
000000c3: SWAP1
000000c4: PUSH1 0x20
000000c6: ADD
000000c7: POP
000000c8: PUSH2 0x015c
000000cb: JUMP
000000cc: JUMPDEST
000000cd: PUSH1 0x40
000000cf: MLOAD
000000d0: DUP1
000000d1: DUP3
000000d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000000e7: AND
000000e8: DUP2
000000e9: MSTORE
000000ea: PUSH1 0x20
000000ec: ADD
000000ed: SWAP2
000000ee: POP
000000ef: POP
000000f0: PUSH1 0x40
000000f2: MLOAD
000000f3: DUP1
000000f4: SWAP2
000000f5: SUB
000000f6: SWAP1
000000f7: RETURN
000000f8: JUMPDEST
000000f9: PUSH1 0x00
000000fb: PUSH1 0x00
000000fd: POP
000000fe: SLOAD
000000ff: DUP2
00000100: JUMP
00000101: JUMPDEST
00000102: PUSH1 0x01
00000104: PUSH1 0x00
00000106: POP
00000107: PUSH1 0x20
00000109: MSTORE
0000010a: DUP1
0000010b: PUSH1 0x00
0000010d: MSTORE
0000010e: PUSH1 0x40
00000110: PUSH1 0x00
00000112: KECCAK256
00000113: PUSH1 0x00
00000115: SWAP2
00000116: POP
00000117: SWAP1
00000118: POP
00000119: SLOAD
0000011a: DUP2
0000011b: JUMP
0000011c: JUMPDEST
0000011d: CALLVALUE
0000011e: PUSH1 0x01
00000120: PUSH1 0x00
00000122: POP
00000123: PUSH1 0x00
00000125: DUP4
00000126: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000013b: AND
0000013c: DUP2
0000013d: MSTORE
0000013e: PUSH1 0x20
00000140: ADD
00000141: SWAP1
00000142: DUP2
00000143: MSTORE
00000144: PUSH1 0x20
00000146: ADD
00000147: PUSH1 0x00
00000149: KECCAK256
0000014a: PUSH1 0x00
0000014c: DUP3
0000014d: DUP3
0000014e: DUP3
0000014f: POP
00000150: SLOAD
00000151: ADD
00000152: SWAP3
00000153: POP
00000154: POP
00000155: DUP2
00000156: SWAP1
00000157: SSTORE
00000158: POP
00000159: JUMPDEST
0000015a: POP
0000015b: JUMP
0000015c: JUMPDEST
0000015d: PUSH1 0x00
0000015f: PUSH1 0x00
00000161: PUSH1 0x00
00000163: CALLER
00000164: SWAP2
00000165: POP
00000166: DUP4
00000167: PUSH1 0x01
00000169: PUSH1 0x00
0000016b: POP
0000016c: PUSH1 0x00
0000016e: DUP5
0000016f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000184: AND
00000185: DUP2
00000186: MSTORE
00000187: PUSH1 0x20
00000189: ADD
0000018a: SWAP1
0000018b: DUP2
0000018c: MSTORE
0000018d: PUSH1 0x20
0000018f: ADD
00000190: PUSH1 0x00
00000192: KECCAK256
00000193: PUSH1 0x00
00000195: POP
00000196: SLOAD
00000197: LT
00000198: ISZERO
00000199: PUSH2 0x01a5
0000019c: JUMPI
0000019d: PUSH1 0x00
0000019f: SWAP3
000001a0: POP
000001a1: PUSH2 0x0250
000001a4: JUMP
000001a5: JUMPDEST
000001a6: DUP2
000001a7: DUP6
000001a8: PUSH1 0x00
000001aa: PUSH1 0x00
000001ac: POP
000001ad: SLOAD
000001ae: TIMESTAMP
000001af: ADD
000001b0: PUSH1 0x40
000001b2: MLOAD
000001b3: PUSH2 0x0a44
000001b6: DUP1
000001b7: PUSH2 0x0259
000001ba: DUP4
000001bb: CODECOPY
000001bc: ADD
000001bd: DUP1
000001be: DUP5
000001bf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001d4: AND
000001d5: DUP2
000001d6: MSTORE
000001d7: PUSH1 0x20
000001d9: ADD
000001da: DUP4
000001db: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001f0: AND
000001f1: DUP2
000001f2: MSTORE
000001f3: PUSH1 0x20
000001f5: ADD
000001f6: DUP3
000001f7: DUP2
000001f8: MSTORE
000001f9: PUSH1 0x20
000001fb: ADD
000001fc: SWAP4
000001fd: POP
000001fe: POP
000001ff: POP
00000200: POP
00000201: PUSH1 0x40
00000203: MLOAD
00000204: DUP1
00000205: SWAP2
00000206: SUB
00000207: SWAP1
00000208: PUSH1 0x00
0000020a: CREATE
0000020b: SWAP1
0000020c: POP
0000020d: DUP4
0000020e: PUSH1 0x01
00000210: PUSH1 0x00
00000212: POP
00000213: PUSH1 0x00
00000215: DUP5
00000216: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000022b: AND
0000022c: DUP2
0000022d: MSTORE
0000022e: PUSH1 0x20
00000230: ADD
00000231: SWAP1
00000232: DUP2
00000233: MSTORE
00000234: PUSH1 0x20
00000236: ADD
00000237: PUSH1 0x00
00000239: KECCAK256
0000023a: PUSH1 0x00
0000023c: DUP3
0000023d: DUP3
0000023e: DUP3
0000023f: POP
00000240: SLOAD
00000241: SUB
00000242: SWAP3
00000243: POP
00000244: POP
00000245: DUP2
00000246: SWAP1
00000247: SSTORE
00000248: POP
00000249: DUP1
0000024a: SWAP3
0000024b: POP
0000024c: PUSH2 0x0250
0000024f: JUMP
00000250: JUMPDEST
00000251: POP
00000252: POP
00000253: SWAP3
00000254: SWAP2
00000255: POP
00000256: POP
00000257: JUMP
00000258: STOP
00000259: PUSH1 0x60
0000025b: PUSH1 0x40
0000025d: MSTORE
0000025e: PUSH1 0x40
00000260: MLOAD
00000261: PUSH1 0x60
00000263: DUP1
00000264: PUSH2 0x0a44
00000267: DUP4
00000268: CODECOPY
00000269: ADD
0000026a: PUSH1 0x40
0000026c: MSTORE
0000026d: PUSH1 0x60
0000026f: DUP1
00000270: MLOAD
00000271: SWAP1
00000272: PUSH1 0x20
00000274: ADD
00000275: DUP1
00000276: MLOAD
00000277: SWAP1
00000278: PUSH1 0x20
0000027a: ADD
0000027b: DUP1
0000027c: MLOAD
0000027d: SWAP1
0000027e: PUSH1 0x20
00000280: ADD
00000281: POP
00000282: JUMPDEST
00000283: DUP3
00000284: PUSH1 0x00
00000286: PUSH1 0x00
00000288: PUSH2 0x0100
0000028b: EXP
0000028c: DUP2
0000028d: SLOAD
0000028e: DUP2
0000028f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002a4: MUL
000002a5: NOT
000002a6: AND
000002a7: SWAP1
000002a8: DUP4
000002a9: MUL
000002aa: OR
000002ab: SWAP1
000002ac: SSTORE
000002ad: POP
000002ae: DUP2
000002af: PUSH1 0x01
000002b1: PUSH1 0x00
000002b3: PUSH2 0x0100
000002b6: EXP
000002b7: DUP2
000002b8: SLOAD
000002b9: DUP2
000002ba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002cf: MUL
000002d0: NOT
000002d1: AND
000002d2: SWAP1
000002d3: DUP4
000002d4: MUL
000002d5: OR
000002d6: SWAP1
000002d7: SSTORE
000002d8: POP
000002d9: DUP1
000002da: PUSH1 0x02
000002dc: PUSH1 0x00
000002de: POP
000002df: DUP2
000002e0: SWAP1
000002e1: SSTORE
000002e2: POP
000002e3: JUMPDEST
000002e4: POP
000002e5: POP
000002e6: POP
000002e7: PUSH2 0x09a8
000002ea: DUP1
000002eb: PUSH2 0x009c
000002ee: PUSH1 0x00
000002f0: CODECOPY
000002f1: PUSH1 0x00
000002f3: RETURN
000002f4: STOP
000002f5: PUSH1 0x60
000002f7: PUSH1 0x40
000002f9: MSTORE
000002fa: CALLDATASIZE
000002fb: ISZERO
000002fc: PUSH2 0x0074
000002ff: JUMPI
00000300: PUSH1 0x00
00000302: CALLDATALOAD
00000303: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000321: SWAP1
00000322: DIV
00000323: DUP1
00000324: PUSH4 0x0fe65b36
00000329: EQ
0000032a: PUSH2 0x0076
0000032d: JUMPI
0000032e: DUP1
0000032f: PUSH4 0x66d003ac
00000334: EQ
00000335: PUSH2 0x00b3
00000338: JUMPI
00000339: DUP1
0000033a: PUSH4 0x86d1a69f
0000033f: EQ
00000340: PUSH2 0x00ea
00000343: JUMPI
00000344: DUP1
00000345: PUSH4 0x8da5cb5b
0000034a: EQ
0000034b: PUSH2 0x00f7
0000034e: JUMPI
0000034f: DUP1
00000350: PUSH4 0xb91d4001
00000355: EQ
00000356: PUSH2 0x012e
00000359: JUMPI
0000035a: DUP1
0000035b: PUSH4 0xea8a1af0
00000360: EQ
00000361: PUSH2 0x014f
00000364: JUMPI
00000365: PUSH2 0x0074
00000368: JUMP
00000369: JUMPDEST
0000036a: STOP
0000036b: JUMPDEST
0000036c: PUSH2 0x0087
0000036f: PUSH1 0x04
00000371: DUP1
00000372: CALLDATALOAD
00000373: SWAP1
00000374: PUSH1 0x20
00000376: ADD
00000377: POP
00000378: PUSH2 0x0291
0000037b: JUMP
0000037c: JUMPDEST
0000037d: PUSH1 0x40
0000037f: MLOAD
00000380: DUP1
00000381: DUP3
00000382: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000397: AND
00000398: DUP2
00000399: MSTORE
0000039a: PUSH1 0x20
0000039c: ADD
0000039d: SWAP2
0000039e: POP
0000039f: POP
000003a0: PUSH1 0x40
000003a2: MLOAD
000003a3: DUP1
000003a4: SWAP2
000003a5: SUB
000003a6: SWAP1
000003a7: RETURN
000003a8: JUMPDEST
000003a9: PUSH2 0x00be
000003ac: PUSH1 0x04
000003ae: POP
000003af: PUSH2 0x0182
000003b2: JUMP
000003b3: JUMPDEST
000003b4: PUSH1 0x40
000003b6: MLOAD
000003b7: DUP1
000003b8: DUP3
000003b9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003ce: AND
000003cf: DUP2
000003d0: MSTORE
000003d1: PUSH1 0x20
000003d3: ADD
000003d4: SWAP2
000003d5: POP
000003d6: POP
000003d7: PUSH1 0x40
000003d9: MLOAD
000003da: DUP1
000003db: SWAP2
000003dc: SUB
000003dd: SWAP1
000003de: RETURN
000003df: JUMPDEST
000003e0: PUSH2 0x00f5
000003e3: PUSH1 0x04
000003e5: POP
000003e6: PUSH2 0x01b1
000003e9: JUMP
000003ea: JUMPDEST
000003eb: STOP
000003ec: JUMPDEST
000003ed: PUSH2 0x0102
000003f0: PUSH1 0x04
000003f2: POP
000003f3: PUSH2 0x015c
000003f6: JUMP
000003f7: JUMPDEST
000003f8: PUSH1 0x40
000003fa: MLOAD
000003fb: DUP1
000003fc: DUP3
000003fd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000412: AND
00000413: DUP2
00000414: MSTORE
00000415: PUSH1 0x20
00000417: ADD
00000418: SWAP2
00000419: POP
0000041a: POP
0000041b: PUSH1 0x40
0000041d: MLOAD
0000041e: DUP1
0000041f: SWAP2
00000420: SUB
00000421: SWAP1
00000422: RETURN
00000423: JUMPDEST
00000424: PUSH2 0x0139
00000427: PUSH1 0x04
00000429: POP
0000042a: PUSH2 0x01a8
0000042d: JUMP
0000042e: JUMPDEST
0000042f: PUSH1 0x40
00000431: MLOAD
00000432: DUP1
00000433: DUP3
00000434: DUP2
00000435: MSTORE
00000436: PUSH1 0x20
00000438: ADD
00000439: SWAP2
0000043a: POP
0000043b: POP
0000043c: PUSH1 0x40
0000043e: MLOAD
0000043f: DUP1
00000440: SWAP2
00000441: SUB
00000442: SWAP1
00000443: RETURN
00000444: JUMPDEST
00000445: PUSH2 0x015a
00000448: PUSH1 0x04
0000044a: POP
0000044b: PUSH2 0x01fd
0000044e: JUMP
0000044f: JUMPDEST
00000450: STOP
00000451: JUMPDEST
00000452: PUSH1 0x00
00000454: PUSH1 0x00
00000456: SWAP1
00000457: SLOAD
00000458: SWAP1
00000459: PUSH2 0x0100
0000045c: EXP
0000045d: SWAP1
0000045e: DIV
0000045f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000474: AND
00000475: DUP2
00000476: JUMP
00000477: JUMPDEST
00000478: PUSH1 0x01
0000047a: PUSH1 0x00
0000047c: SWAP1
0000047d: SLOAD
0000047e: SWAP1
0000047f: PUSH2 0x0100
00000482: EXP
00000483: SWAP1
00000484: DIV
00000485: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000049a: AND
0000049b: DUP2
0000049c: JUMP
0000049d: JUMPDEST
0000049e: PUSH1 0x02
000004a0: PUSH1 0x00
000004a2: POP
000004a3: SLOAD
000004a4: DUP2
000004a5: JUMP
000004a6: JUMPDEST
000004a7: PUSH1 0x02
000004a9: PUSH1 0x00
000004ab: POP
000004ac: SLOAD
000004ad: TIMESTAMP
000004ae: LT
000004af: ISZERO
000004b0: ISZERO
000004b1: PUSH2 0x01fa
000004b4: JUMPI
000004b5: PUSH1 0x01
000004b7: PUSH1 0x00
000004b9: SWAP1
000004ba: SLOAD
000004bb: SWAP1
000004bc: PUSH2 0x0100
000004bf: EXP
000004c0: SWAP1
000004c1: DIV
000004c2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004d7: AND
000004d8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004ed: AND
000004ee: SELFDESTRUCT
000004ef: JUMPDEST
000004f0: JUMPDEST
000004f1: JUMP
000004f2: JUMPDEST
000004f3: PUSH1 0x00
000004f5: PUSH1 0x00
000004f7: SWAP1
000004f8: SLOAD
000004f9: SWAP1
000004fa: PUSH2 0x0100
000004fd: EXP
000004fe: SWAP1
000004ff: DIV
00000500: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000515: AND
00000516: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000052b: AND
0000052c: CALLER
0000052d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000542: AND
00000543: EQ
00000544: ISZERO
00000545: PUSH2 0x028e
00000548: JUMPI
00000549: PUSH1 0x00
0000054b: PUSH1 0x00
0000054d: SWAP1
0000054e: SLOAD
0000054f: SWAP1
00000550: PUSH2 0x0100
00000553: EXP
00000554: SWAP1
00000555: DIV
00000556: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000056b: AND
0000056c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000581: AND
00000582: SELFDESTRUCT
00000583: JUMPDEST
00000584: JUMPDEST
00000585: JUMP
00000586: JUMPDEST
00000587: PUSH1 0x00
00000589: PUSH1 0x00
0000058b: PUSH1 0x00
0000058d: PUSH1 0x00
0000058f: PUSH1 0x00
00000591: SWAP1
00000592: SLOAD
00000593: SWAP1
00000594: PUSH2 0x0100
00000597: EXP
00000598: SWAP1
00000599: DIV
0000059a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005af: AND
000005b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005c5: AND
000005c6: CALLER
000005c7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005dc: AND
000005dd: EQ
000005de: ISZERO
000005df: PUSH2 0x03b2
000005e2: JUMPI
000005e3: PUSH1 0x00
000005e5: SWAP2
000005e6: POP
000005e7: PUSH1 0x00
000005e9: PUSH1 0x00
000005eb: SWAP1
000005ec: SLOAD
000005ed: SWAP1
000005ee: PUSH2 0x0100
000005f1: EXP
000005f2: SWAP1
000005f3: DIV
000005f4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000609: AND
0000060a: DUP3
0000060b: ADDRESS
0000060c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000621: AND
00000622: BALANCE
00000623: DUP7
00000624: PUSH1 0x40
00000626: MLOAD
00000627: PUSH2 0x05ed
0000062a: DUP1
0000062b: PUSH2 0x03bb
0000062e: DUP4
0000062f: CODECOPY
00000630: ADD
00000631: DUP1
00000632: DUP6
00000633: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000648: AND
00000649: DUP2
0000064a: MSTORE
0000064b: PUSH1 0x20
0000064d: ADD
0000064e: DUP5
0000064f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000664: AND
00000665: DUP2
00000666: MSTORE
00000667: PUSH1 0x20
00000669: ADD
0000066a: DUP4
0000066b: DUP2
0000066c: MSTORE
0000066d: PUSH1 0x20
0000066f: ADD
00000670: DUP3
00000671: DUP2
00000672: MSTORE
00000673: PUSH1 0x20
00000675: ADD
00000676: SWAP5
00000677: POP
00000678: POP
00000679: POP
0000067a: POP
0000067b: POP
0000067c: PUSH1 0x40
0000067e: MLOAD
0000067f: DUP1
00000680: SWAP2
00000681: SUB
00000682: SWAP1
00000683: PUSH1 0x00
00000685: CREATE
00000686: SWAP1
00000687: POP
00000688: DUP1
00000689: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000069e: AND
0000069f: SELFDESTRUCT
000006a0: DUP1
000006a1: SWAP3
000006a2: POP
000006a3: PUSH2 0x03b3
000006a6: JUMP
000006a7: JUMPDEST
000006a8: JUMPDEST
000006a9: POP
000006aa: POP
000006ab: SWAP2
000006ac: SWAP1
000006ad: POP
000006ae: JUMP
000006af: STOP
000006b0: PUSH1 0x60
000006b2: PUSH1 0x40
000006b4: MSTORE
000006b5: PUSH1 0x40
000006b7: MLOAD
000006b8: PUSH1 0x80
000006ba: DUP1
000006bb: PUSH2 0x05ed
000006be: DUP4
000006bf: CODECOPY
000006c0: ADD
000006c1: PUSH1 0x40
000006c3: MSTORE
000006c4: PUSH1 0x60
000006c6: DUP1
000006c7: MLOAD
000006c8: SWAP1
000006c9: PUSH1 0x20
000006cb: ADD
000006cc: DUP1
000006cd: MLOAD
000006ce: SWAP1
000006cf: PUSH1 0x20
000006d1: ADD
000006d2: DUP1
000006d3: MLOAD
000006d4: SWAP1
000006d5: PUSH1 0x20
000006d7: ADD
000006d8: DUP1
000006d9: MLOAD
000006da: SWAP1
000006db: PUSH1 0x20
000006dd: ADD
000006de: POP
000006df: JUMPDEST
000006e0: DUP4
000006e1: PUSH1 0x00
000006e3: PUSH1 0x00
000006e5: PUSH2 0x0100
000006e8: EXP
000006e9: DUP2
000006ea: SLOAD
000006eb: DUP2
000006ec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000701: MUL
00000702: NOT
00000703: AND
00000704: SWAP1
00000705: DUP4
00000706: MUL
00000707: OR
00000708: SWAP1
00000709: SSTORE
0000070a: POP
0000070b: DUP3
0000070c: PUSH1 0x01
0000070e: PUSH1 0x00
00000710: PUSH2 0x0100
00000713: EXP
00000714: DUP2
00000715: SLOAD
00000716: DUP2
00000717: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000072c: MUL
0000072d: NOT
0000072e: AND
0000072f: SWAP1
00000730: DUP4
00000731: MUL
00000732: OR
00000733: SWAP1
00000734: SSTORE
00000735: POP
00000736: DUP2
00000737: PUSH1 0x02
00000739: PUSH1 0x00
0000073b: POP
0000073c: DUP2
0000073d: SWAP1
0000073e: SSTORE
0000073f: POP
00000740: DUP1
00000741: PUSH1 0x03
00000743: PUSH1 0x00
00000745: POP
00000746: DUP2
00000747: SWAP1
00000748: SSTORE
00000749: POP
0000074a: JUMPDEST
0000074b: POP
0000074c: POP
0000074d: POP
0000074e: POP
0000074f: PUSH2 0x0540
00000752: DUP1
00000753: PUSH2 0x00ad
00000756: PUSH1 0x00
00000758: CODECOPY
00000759: PUSH1 0x00
0000075b: RETURN
0000075c: STOP
0000075d: PUSH1 0x60
0000075f: PUSH1 0x40
00000761: MSTORE
00000762: CALLDATASIZE
00000763: ISZERO
00000764: PUSH2 0x008a
00000767: JUMPI
00000768: PUSH1 0x00
0000076a: CALLDATALOAD
0000076b: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000789: SWAP1
0000078a: DIV
0000078b: DUP1
0000078c: PUSH4 0x119f8747
00000791: EQ
00000792: PUSH2 0x008c
00000795: JUMPI
00000796: DUP1
00000797: PUSH4 0x29dcb0cf
0000079c: EQ
0000079d: PUSH2 0x0099
000007a0: JUMPI
000007a1: DUP1
000007a2: PUSH4 0x3c24b7d7
000007a7: EQ
000007a8: PUSH2 0x00ba
000007ab: JUMPI
000007ac: DUP1
000007ad: PUSH4 0x552079dc
000007b2: EQ
000007b3: PUSH2 0x00fe
000007b6: JUMPI
000007b7: DUP1
000007b8: PUSH4 0x66d003ac
000007bd: EQ
000007be: PUSH2 0x0135
000007c1: JUMPI
000007c2: DUP1
000007c3: PUSH4 0x702c35fb
000007c8: EQ
000007c9: PUSH2 0x016c
000007cc: JUMPI
000007cd: DUP1
000007ce: PUSH4 0x86d1a69f
000007d3: EQ
000007d4: PUSH2 0x018d
000007d7: JUMPI
000007d8: DUP1
000007d9: PUSH4 0xc9e7e29b
000007de: EQ
000007df: PUSH2 0x019a
000007e2: JUMPI
000007e3: PUSH2 0x008a
000007e6: JUMP
000007e7: JUMPDEST
000007e8: STOP
000007e9: JUMPDEST
000007ea: PUSH2 0x0097
000007ed: PUSH1 0x04
000007ef: POP
000007f0: PUSH2 0x02cc
000007f3: JUMP
000007f4: JUMPDEST
000007f5: STOP
000007f6: JUMPDEST
000007f7: PUSH2 0x00a4
000007fa: PUSH1 0x04
000007fc: POP
000007fd: PUSH2 0x0210
00000800: JUMP
00000801: JUMPDEST
00000802: PUSH1 0x40
00000804: MLOAD
00000805: DUP1
00000806: DUP3
00000807: DUP2
00000808: MSTORE
00000809: PUSH1 0x20
0000080b: ADD
0000080c: SWAP2
0000080d: POP
0000080e: POP
0000080f: PUSH1 0x40
00000811: MLOAD
00000812: DUP1
00000813: SWAP2
00000814: SUB
00000815: SWAP1
00000816: RETURN
00000817: JUMPDEST
00000818: PUSH2 0x00cb
0000081b: PUSH1 0x04
0000081d: DUP1
0000081e: CALLDATALOAD
0000081f: SWAP1
00000820: PUSH1 0x20
00000822: ADD
00000823: POP
00000824: PUSH2 0x0219
00000827: JUMP
00000828: JUMPDEST
00000829: PUSH1 0x40
0000082b: MLOAD
0000082c: DUP1
0000082d: DUP4
0000082e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000843: AND
00000844: DUP2
00000845: MSTORE
00000846: PUSH1 0x20
00000848: ADD
00000849: DUP3
0000084a: DUP2
0000084b: MSTORE
0000084c: PUSH1 0x20
0000084e: ADD
0000084f: SWAP3
00000850: POP
00000851: POP
00000852: POP
00000853: PUSH1 0x40
00000855: MLOAD
00000856: DUP1
00000857: SWAP2
00000858: SUB
00000859: SWAP1
0000085a: RETURN
0000085b: JUMPDEST
0000085c: PUSH2 0x0109
0000085f: PUSH1 0x04
00000861: POP
00000862: PUSH2 0x01bb
00000865: JUMP
00000866: JUMPDEST
00000867: PUSH1 0x40
00000869: MLOAD
0000086a: DUP1
0000086b: DUP3
0000086c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000881: AND
00000882: DUP2
00000883: MSTORE
00000884: PUSH1 0x20
00000886: ADD
00000887: SWAP2
00000888: POP
00000889: POP
0000088a: PUSH1 0x40
0000088c: MLOAD
0000088d: DUP1
0000088e: SWAP2
0000088f: SUB
00000890: SWAP1
00000891: RETURN
00000892: JUMPDEST
00000893: PUSH2 0x0140
00000896: PUSH1 0x04
00000898: POP
00000899: PUSH2 0x01e1
0000089c: JUMP
0000089d: JUMPDEST
0000089e: PUSH1 0x40
000008a0: MLOAD
000008a1: DUP1
000008a2: DUP3
000008a3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008b8: AND
000008b9: DUP2
000008ba: MSTORE
000008bb: PUSH1 0x20
000008bd: ADD
000008be: SWAP2
000008bf: POP
000008c0: POP
000008c1: PUSH1 0x40
000008c3: MLOAD
000008c4: DUP1
000008c5: SWAP2
000008c6: SUB
000008c7: SWAP1
000008c8: RETURN
000008c9: JUMPDEST
000008ca: PUSH2 0x0177
000008cd: PUSH1 0x04
000008cf: POP
000008d0: PUSH2 0x026f
000008d3: JUMP
000008d4: JUMPDEST
000008d5: PUSH1 0x40
000008d7: MLOAD
000008d8: DUP1
000008d9: DUP3
000008da: DUP2
000008db: MSTORE
000008dc: PUSH1 0x20
000008de: ADD
000008df: SWAP2
000008e0: POP
000008e1: POP
000008e2: PUSH1 0x40
000008e4: MLOAD
000008e5: DUP1
000008e6: SWAP2
000008e7: SUB
000008e8: SWAP1
000008e9: RETURN
000008ea: JUMPDEST
000008eb: PUSH2 0x0198
000008ee: PUSH1 0x04
000008f0: POP
000008f1: PUSH2 0x0278
000008f4: JUMP
000008f5: JUMPDEST
000008f6: STOP
000008f7: JUMPDEST
000008f8: PUSH2 0x01a5
000008fb: PUSH1 0x04
000008fd: POP
000008fe: PUSH2 0x0207
00000901: JUMP
00000902: JUMPDEST
00000903: PUSH1 0x40
00000905: MLOAD
00000906: DUP1
00000907: DUP3
00000908: DUP2
00000909: MSTORE
0000090a: PUSH1 0x20
0000090c: ADD
0000090d: SWAP2
0000090e: POP
0000090f: POP
00000910: PUSH1 0x40
00000912: MLOAD
00000913: DUP1
00000914: SWAP2
00000915: SUB
00000916: SWAP1
00000917: RETURN
00000918: JUMPDEST
00000919: PUSH1 0x00
0000091b: PUSH1 0x00
0000091d: SWAP1
0000091e: SLOAD
0000091f: SWAP1
00000920: PUSH2 0x0100
00000923: EXP
00000924: SWAP1
00000925: DIV
00000926: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000093b: AND
0000093c: DUP2
0000093d: JUMP
0000093e: JUMPDEST
0000093f: PUSH1 0x01
00000941: PUSH1 0x00
00000943: SWAP1
00000944: SLOAD
00000945: SWAP1
00000946: PUSH2 0x0100
00000949: EXP
0000094a: SWAP1
0000094b: DIV
0000094c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000961: AND
00000962: DUP2
00000963: JUMP
00000964: JUMPDEST
00000965: PUSH1 0x02
00000967: PUSH1 0x00
00000969: POP
0000096a: SLOAD
0000096b: DUP2
0000096c: JUMP
0000096d: JUMPDEST
0000096e: PUSH1 0x03
00000970: PUSH1 0x00
00000972: POP
00000973: SLOAD
00000974: DUP2
00000975: JUMP
00000976: JUMPDEST
00000977: PUSH1 0x04
00000979: PUSH1 0x00
0000097b: POP
0000097c: DUP2
0000097d: DUP2
0000097e: SLOAD
0000097f: DUP2
00000980: LT
00000981: ISZERO
00000982: PUSH2 0x0002
00000985: JUMPI
00000986: SWAP1
00000987: PUSH1 0x00
00000989: MSTORE
0000098a: PUSH1 0x20
0000098c: PUSH1 0x00
0000098e: KECCAK256
0000098f: SWAP1
00000990: PUSH1 0x02
00000992: MUL
00000993: ADD
00000994: PUSH1 0x00
00000996: SWAP2
00000997: POP
00000998: SWAP1
00000999: POP
0000099a: DUP1
0000099b: PUSH1 0x00
0000099d: ADD
0000099e: PUSH1 0x00
000009a0: SWAP1
000009a1: SLOAD
000009a2: SWAP1
000009a3: PUSH2 0x0100
000009a6: EXP
000009a7: SWAP1
000009a8: DIV
000009a9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009be: AND
000009bf: SWAP1
000009c0: DUP1
000009c1: PUSH1 0x01
000009c3: ADD
000009c4: PUSH1 0x00
000009c6: POP
000009c7: SLOAD
000009c8: SWAP1
000009c9: POP
000009ca: DUP3
000009cb: JUMP
000009cc: JUMPDEST
000009cd: PUSH1 0x05
000009cf: PUSH1 0x00
000009d1: POP
000009d2: SLOAD
000009d3: DUP2
000009d4: JUMP
000009d5: JUMPDEST
000009d6: PUSH1 0x03
000009d8: PUSH1 0x00
000009da: POP
000009db: SLOAD
000009dc: TIMESTAMP
000009dd: LT
000009de: ISZERO
000009df: ISZERO
000009e0: PUSH2 0x02c9
000009e3: JUMPI
000009e4: PUSH2 0x028e
000009e7: PUSH2 0x0497
000009ea: JUMP
000009eb: JUMPDEST
000009ec: PUSH1 0x00
000009ee: PUSH1 0x00
000009f0: SWAP1
000009f1: SLOAD
000009f2: SWAP1
000009f3: PUSH2 0x0100
000009f6: EXP
000009f7: SWAP1
000009f8: DIV
000009f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a0e: AND
00000a0f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a24: AND
00000a25: SELFDESTRUCT
00000a26: JUMPDEST
00000a27: JUMPDEST
00000a28: JUMP
00000a29: JUMPDEST
00000a2a: PUSH1 0x00
00000a2c: CALLVALUE
00000a2d: GT
00000a2e: ISZERO
00000a2f: PUSH2 0x0494
00000a32: JUMPI
00000a33: PUSH1 0x40
00000a35: PUSH1 0x40
00000a37: MLOAD
00000a38: SWAP1
00000a39: DUP2
00000a3a: ADD
00000a3b: PUSH1 0x40
00000a3d: MSTORE
00000a3e: DUP1
00000a3f: CALLER
00000a40: DUP2
00000a41: MSTORE
00000a42: PUSH1 0x20
00000a44: ADD
00000a45: CALLVALUE
00000a46: DUP2
00000a47: MSTORE
00000a48: PUSH1 0x20
00000a4a: ADD
00000a4b: POP
00000a4c: PUSH1 0x04
00000a4e: PUSH1 0x00
00000a50: POP
00000a51: PUSH1 0x04
00000a53: PUSH1 0x00
00000a55: POP
00000a56: DUP1
00000a57: SLOAD
00000a58: DUP1
00000a59: SWAP2
00000a5a: SWAP1
00000a5b: PUSH1 0x01
00000a5d: ADD
00000a5e: SWAP1
00000a5f: SWAP1
00000a60: DUP2
00000a61: SLOAD
00000a62: DUP2
00000a63: DUP4
00000a64: SSTORE
00000a65: DUP2
00000a66: DUP2
00000a67: ISZERO
00000a68: GT
00000a69: PUSH2 0x0378
00000a6c: JUMPI
00000a6d: PUSH1 0x02
00000a6f: MUL
00000a70: DUP2
00000a71: PUSH1 0x02
00000a73: MUL
00000a74: DUP4
00000a75: PUSH1 0x00
00000a77: MSTORE
00000a78: PUSH1 0x20
00000a7a: PUSH1 0x00
00000a7c: KECCAK256
00000a7d: SWAP2
00000a7e: DUP3
00000a7f: ADD
00000a80: SWAP2
00000a81: ADD
00000a82: PUSH2 0x0377
00000a85: SWAP2
00000a86: SWAP1
00000a87: PUSH2 0x032e
00000a8a: JUMP
00000a8b: JUMPDEST
00000a8c: DUP1
00000a8d: DUP3
00000a8e: GT
00000a8f: ISZERO
00000a90: PUSH2 0x0373
00000a93: JUMPI
00000a94: PUSH1 0x00
00000a96: PUSH1 0x00
00000a98: DUP3
00000a99: ADD
00000a9a: PUSH1 0x00
00000a9c: PUSH2 0x0100
00000a9f: EXP
00000aa0: DUP2
00000aa1: SLOAD
00000aa2: SWAP1
00000aa3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ab8: MUL
00000ab9: NOT
00000aba: AND
00000abb: SWAP1
00000abc: SSTORE
00000abd: PUSH1 0x01
00000abf: DUP3
00000ac0: ADD
00000ac1: PUSH1 0x00
00000ac3: POP
00000ac4: PUSH1 0x00
00000ac6: SWAP1
00000ac7: SSTORE
00000ac8: POP
00000ac9: PUSH1 0x01
00000acb: ADD
00000acc: PUSH2 0x032e
00000acf: JUMP
00000ad0: JUMPDEST
00000ad1: POP
00000ad2: SWAP1
00000ad3: JUMP
00000ad4: JUMPDEST
00000ad5: JUMPDEST
00000ad6: POP
00000ad7: POP
00000ad8: POP
00000ad9: DUP2
00000ada: SLOAD
00000adb: DUP2
00000adc: LT
00000add: ISZERO
00000ade: PUSH2 0x0002
00000ae1: JUMPI
00000ae2: SWAP1
00000ae3: PUSH1 0x00
00000ae5: MSTORE
00000ae6: PUSH1 0x20
00000ae8: PUSH1 0x00
00000aea: KECCAK256
00000aeb: SWAP1
00000aec: PUSH1 0x02
00000aee: MUL
00000aef: ADD
00000af0: PUSH1 0x00
00000af2: POP
00000af3: PUSH1 0x00
00000af5: DUP3
00000af6: ADD
00000af7: MLOAD
00000af8: DUP2
00000af9: PUSH1 0x00
00000afb: ADD
00000afc: PUSH1 0x00
00000afe: PUSH2 0x0100
00000b01: EXP
00000b02: DUP2
00000b03: SLOAD
00000b04: DUP2
00000b05: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b1a: MUL
00000b1b: NOT
00000b1c: AND
00000b1d: SWAP1
00000b1e: DUP4
00000b1f: MUL
00000b20: OR
00000b21: SWAP1
00000b22: SSTORE
00000b23: POP
00000b24: PUSH1 0x20
00000b26: DUP3
00000b27: ADD
00000b28: MLOAD
00000b29: DUP2
00000b2a: PUSH1 0x01
00000b2c: ADD
00000b2d: PUSH1 0x00
00000b2f: POP
00000b30: SSTORE
00000b31: SWAP1
00000b32: POP
00000b33: POP
00000b34: CALLVALUE
00000b35: PUSH1 0x05
00000b37: PUSH1 0x00
00000b39: DUP3
00000b3a: DUP3
00000b3b: DUP3
00000b3c: POP
00000b3d: SLOAD
00000b3e: ADD
00000b3f: SWAP3
00000b40: POP
00000b41: POP
00000b42: DUP2
00000b43: SWAP1
00000b44: SSTORE
00000b45: POP
00000b46: PUSH32 0x8fc4de83eddb2e6be67e269b8bfdc735778c7339168d5f734290f474f5647e14
00000b67: CALLER
00000b68: CALLVALUE
00000b69: PUSH1 0x40
00000b6b: MLOAD
00000b6c: DUP1
00000b6d: DUP4
00000b6e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b83: AND
00000b84: DUP2
00000b85: MSTORE
00000b86: PUSH1 0x20
00000b88: ADD
00000b89: DUP3
00000b8a: DUP2
00000b8b: MSTORE
00000b8c: PUSH1 0x20
00000b8e: ADD
00000b8f: SWAP3
00000b90: POP
00000b91: POP
00000b92: POP
00000b93: PUSH1 0x40
00000b95: MLOAD
00000b96: DUP1
00000b97: SWAP2
00000b98: SUB
00000b99: SWAP1
00000b9a: LOG1
00000b9b: PUSH1 0x02
00000b9d: PUSH1 0x00
00000b9f: POP
00000ba0: SLOAD
00000ba1: PUSH1 0x05
00000ba3: PUSH1 0x00
00000ba5: POP
00000ba6: SLOAD
00000ba7: LT
00000ba8: ISZERO
00000ba9: ISZERO
00000baa: PUSH2 0x0493
00000bad: JUMPI
00000bae: PUSH2 0x0458
00000bb1: PUSH2 0x0497
00000bb4: JUMP
00000bb5: JUMPDEST
00000bb6: PUSH1 0x01
00000bb8: PUSH1 0x00
00000bba: SWAP1
00000bbb: SLOAD
00000bbc: SWAP1
00000bbd: PUSH2 0x0100
00000bc0: EXP
00000bc1: SWAP1
00000bc2: DIV
00000bc3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bd8: AND
00000bd9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bee: AND
00000bef: SELFDESTRUCT
00000bf0: JUMPDEST
00000bf1: JUMPDEST
00000bf2: JUMPDEST
00000bf3: JUMP
00000bf4: JUMPDEST
00000bf5: PUSH1 0x00
00000bf7: PUSH1 0x00
00000bf9: PUSH1 0x00
00000bfb: SWAP2
00000bfc: POP
00000bfd: JUMPDEST
00000bfe: PUSH1 0x04
00000c00: PUSH1 0x00
00000c02: POP
00000c03: SLOAD
00000c04: DUP3
00000c05: LT
00000c06: ISZERO
00000c07: PUSH2 0x053b
00000c0a: JUMPI
00000c0b: PUSH1 0x04
00000c0d: PUSH1 0x00
00000c0f: POP
00000c10: DUP3
00000c11: DUP2
00000c12: SLOAD
00000c13: DUP2
00000c14: LT
00000c15: ISZERO
00000c16: PUSH2 0x0002
00000c19: JUMPI
00000c1a: SWAP1
00000c1b: PUSH1 0x00
00000c1d: MSTORE
00000c1e: PUSH1 0x20
00000c20: PUSH1 0x00
00000c22: KECCAK256
00000c23: SWAP1
00000c24: PUSH1 0x02
00000c26: MUL
00000c27: ADD
00000c28: PUSH1 0x00
00000c2a: POP
00000c2b: SWAP1
00000c2c: POP
00000c2d: DUP1
00000c2e: PUSH1 0x00
00000c30: ADD
00000c31: PUSH1 0x00
00000c33: SWAP1
00000c34: SLOAD
00000c35: SWAP1
00000c36: PUSH2 0x0100
00000c39: EXP
00000c3a: SWAP1
00000c3b: DIV
00000c3c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c51: AND
00000c52: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c67: AND
00000c68: PUSH1 0x00
00000c6a: DUP3
00000c6b: PUSH1 0x01
00000c6d: ADD
00000c6e: PUSH1 0x00
00000c70: POP
00000c71: SLOAD
00000c72: PUSH1 0x40
00000c74: MLOAD
00000c75: DUP1
00000c76: SWAP1
00000c77: POP
00000c78: PUSH1 0x00
00000c7a: PUSH1 0x40
00000c7c: MLOAD
00000c7d: DUP1
00000c7e: DUP4
00000c7f: SUB
00000c80: DUP2
00000c81: DUP6
00000c82: DUP9
00000c83: DUP9
00000c84: CALL
00000c85: SWAP4
00000c86: POP
00000c87: POP
00000c88: POP
00000c89: POP
00000c8a: POP
00000c8b: JUMPDEST
00000c8c: DUP2
00000c8d: DUP1
00000c8e: PUSH1 0x01
00000c90: ADD
00000c91: SWAP3
00000c92: POP
00000c93: POP
00000c94: PUSH2 0x04a0
00000c97: JUMP
00000c98: JUMPDEST
00000c99: JUMPDEST
00000c9a: POP
00000c9b: POP
00000c9c: 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 codex Top-level accounting decrements user balances but creates child contracts with zero ETH 85 no
view
evidence_json
{
    "evidence": "Top-level selector 0x9e39db73 reaches pc 0x11d and adds CALLVALUE into storage keyed by keccak(arg,1). Selector 0xa9059cbb reaches pc 0x20a, where CREATE is executed from prepared initcode with a zero literal pushed immediately before CREATE; afterwards the code subtracts the requested amount from the same storage bucket at pc 0x23a-0x247-equivalent SSTORE logic. The top-level region has CREATE as its only sink; no CALL/SELFDESTRUCT appears before the embedded blob at 0x2f5.",
    "locations": [
        "selector:0x9e39db73",
        "selector:0xa9059cbb",
        "pc:0x11d",
        "pc:0x20a",
        "pc:0x247"
    ],
    "recommendation": "Fund the created child with the withdrawn amount, or do not decrement recorded balances unless value transfer succeeds. Also add an explicit invariant that parent balance tracks outstanding recorded balances, and reject unexpected CALLVALUE on non-deposit paths.",
    "exploit_scenario": "On the live contract, selector 0x9e39db73 credits a per-user storage bucket with CALLVALUE, so users can deposit ETH. Later, selector 0xa9059cbb checks that recorded bucket and decrements it, but the CREATE at pc 0x20a is invoked with zero value. The returned child contract is therefore unfunded while the parent keeps the ETH. Because the live top-level bytecode has no CALL/SELFDESTRUCT withdrawal path before the embedded child blob, deposited ETH can become stranded in the parent while users' recorded balances are burned down."
}
high reentrancy codex Deployable child runtime pays arbitrary recipients via CALL with no reentrancy guard 85 no
view
evidence_json
{
    "evidence": "The bundle confirms CREATE reachability, and the embedded child runtime dispatches selector 0x119f8747 to the payout loop starting near pc 0xbf4. Inside that loop, recipient/value pairs are loaded from storage-backed entries and sent with CALL at pc 0xc84. There is no guard detection in this path and no protective SSTORE before the CALL; execution simply POPs the result and continues looping.",
    "locations": [
        "selector:0x119f8747",
        "pc:0x685",
        "pc:0xbf4",
        "pc:0xc84"
    ],
    "recommendation": "Apply checks-effects-interactions: mark entries as paid or advance persistent progress before the CALL, add a reentrancy guard, and preferably use a pull-payment model where recipients withdraw individually.",
    "exploit_scenario": "A reachable child runtime embedded in the bytecode exposes selector 0x119f8747, which iterates over stored payout entries and performs a value-bearing CALL to each recipient. A malicious recipient contract can reenter 0x119f8747 from its fallback during the CALL at pc 0xc84. Because the loop uses only stack-local progress and does not mark entries as paid or lock execution before the external call, the nested invocation can restart the payout loop from the beginning and replay payouts until the child contract balance is drained."
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x88af4e0493c8e65d6075047f4693f86ffd498899ddff1bef772816760d48f855
call_targets: 0x480d57dbf6c3b49916b9325e2c5ed92401c54efc
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x88af4e0493c8e65d6075047f4693f86ffd498899ddff1bef772816760d48f855",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x480d57dbf6c3b49916b9325e2c5ed92401c54efc"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x27e235e3",
            "selector": "0x27e235e3",
            "calldata_variants": [
                "0x27e235e3",
                "0x27e235e30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6a42b8f8",
            "selector": "0x6a42b8f8",
            "calldata_variants": [
                "0x6a42b8f8",
                "0x6a42b8f80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9e39db73",
            "selector": "0x9e39db73",
            "calldata_variants": [
                "0x9e39db73",
                "0x9e39db730000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa9059cbb",
            "selector": "0xa9059cbb",
            "calldata_variants": [
                "0xa9059cbb",
                "0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0fe65b36",
            "selector": "0x0fe65b36",
            "calldata_variants": [
                "0x0fe65b36",
                "0x0fe65b360000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x66d003ac",
            "selector": "0x66d003ac",
            "calldata_variants": [
                "0x66d003ac",
                "0x66d003ac0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x86d1a69f",
            "selector": "0x86d1a69f",
            "calldata_variants": [
                "0x86d1a69f",
                "0x86d1a69f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3204,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 1,
    "guards_detected": [
        {
            "pc": 1324,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 1478,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}
medium other detector SELFDESTRUCT reachable 45 no no
view
trace_id: 0xc7272ffad5d2b5794e57e8b73d1fac432b9fb2c9ba69d4b3b44ada3972138566
validation_json
{
    "sink": "SELFDESTRUCT",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0xc7272ffad5d2b5794e57e8b73d1fac432b9fb2c9ba69d4b3b44ada3972138566",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x27e235e3",
            "selector": "0x27e235e3",
            "calldata_variants": [
                "0x27e235e3",
                "0x27e235e30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6a42b8f8",
            "selector": "0x6a42b8f8",
            "calldata_variants": [
                "0x6a42b8f8",
                "0x6a42b8f80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9e39db73",
            "selector": "0x9e39db73",
            "calldata_variants": [
                "0x9e39db73",
                "0x9e39db730000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa9059cbb",
            "selector": "0xa9059cbb",
            "calldata_variants": [
                "0xa9059cbb",
                "0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0fe65b36",
            "selector": "0x0fe65b36",
            "calldata_variants": [
                "0x0fe65b36",
                "0x0fe65b360000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x66d003ac",
            "selector": "0x66d003ac",
            "calldata_variants": [
                "0x66d003ac",
                "0x66d003ac0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x86d1a69f",
            "selector": "0x86d1a69f",
            "calldata_variants": [
                "0x86d1a69f",
                "0x86d1a69f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 1324,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 1478,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "selfdestruct_count": 5
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x88af4e0493c8e65d6075047f4693f86ffd498899ddff1bef772816760d48f855
call_targets: 0x480d57dbf6c3b49916b9325e2c5ed92401c54efc
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x88af4e0493c8e65d6075047f4693f86ffd498899ddff1bef772816760d48f855",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x480d57dbf6c3b49916b9325e2c5ed92401c54efc"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x27e235e3",
            "selector": "0x27e235e3",
            "calldata_variants": [
                "0x27e235e3",
                "0x27e235e30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6a42b8f8",
            "selector": "0x6a42b8f8",
            "calldata_variants": [
                "0x6a42b8f8",
                "0x6a42b8f80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9e39db73",
            "selector": "0x9e39db73",
            "calldata_variants": [
                "0x9e39db73",
                "0x9e39db730000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa9059cbb",
            "selector": "0xa9059cbb",
            "calldata_variants": [
                "0xa9059cbb",
                "0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0fe65b36",
            "selector": "0x0fe65b36",
            "calldata_variants": [
                "0x0fe65b36",
                "0x0fe65b360000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x66d003ac",
            "selector": "0x66d003ac",
            "calldata_variants": [
                "0x66d003ac",
                "0x66d003ac0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x86d1a69f",
            "selector": "0x86d1a69f",
            "calldata_variants": [
                "0x86d1a69f",
                "0x86d1a69f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3204,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 1,
    "guards_detected": [
        {
            "pc": 1324,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 1478,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "untrusted_call_count": 1
}
medium other detector CREATE/CREATE2 reachable 45 yes yes
view
trace_id: 0x9eb9fb3ab52c7f7942703a1b405913728eac72e65389fad222d7ce3e86305129
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "confirmed",
    "attempts": 7,
    "trace_id": "0x9eb9fb3ab52c7f7942703a1b405913728eac72e65389fad222d7ce3e86305129",
    "confirmed": true,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "sink_reached"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x27e235e3",
            "selector": "0x27e235e3",
            "calldata_variants": [
                "0x27e235e3",
                "0x27e235e30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6a42b8f8",
            "selector": "0x6a42b8f8",
            "calldata_variants": [
                "0x6a42b8f8",
                "0x6a42b8f80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9e39db73",
            "selector": "0x9e39db73",
            "calldata_variants": [
                "0x9e39db73",
                "0x9e39db730000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa9059cbb",
            "selector": "0xa9059cbb",
            "calldata_variants": [
                "0xa9059cbb",
                "0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0fe65b36",
            "selector": "0x0fe65b36",
            "calldata_variants": [
                "0x0fe65b36",
                "0x0fe65b360000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x66d003ac",
            "selector": "0x66d003ac",
            "calldata_variants": [
                "0x66d003ac",
                "0x66d003ac0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x86d1a69f",
            "selector": "0x86d1a69f",
            "calldata_variants": [
                "0x86d1a69f",
                "0x86d1a69f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 2,
    "create2_count": 0
}
medium other codex Child payout loop ignores CALL failure, so recipients can be skipped and funds redistributed incorrectly 75 no
view
evidence_json
{
    "evidence": "At pc 0xc84 the child runtime executes CALL, then immediately POPs the return value and advances the loop without branching on success or inspecting returndata. Selector 0x86d1a69f jumps into the same internal payout routine and later reaches SELFDESTRUCT, making silent payment failure an accounting risk rather than a benign no-op.",
    "locations": [
        "selector:0x119f8747",
        "selector:0x86d1a69f",
        "pc:0xc84",
        "pc:0xa25"
    ],
    "recommendation": "Check the CALL success flag and revert or record the debt when a transfer fails. Do not selfdestruct or finalize distribution until every intended payment is confirmed.",
    "exploit_scenario": "In the same deployable child runtime, if any payout recipient reverts or the value transfer fails, the CALL result is discarded and the loop continues. A reverting recipient can therefore be silently skipped, while later logic still proceeds. In the expiry path, selector 0x86d1a69f invokes the same loop and then selfdestructs the remaining balance to slot0, so unpaid recipients can lose their allocation entirely."
}