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

Analysis Run

019b3836-4037-72bb-9d6d-c3ea4fe3f99f

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

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
5181 artifact.fetch complete 1 / 3 3 months ago
5182 tool.cast_disasm complete 1 / 3 3 months ago
48744 analysis.bundle complete 1 / 3 1 week ago
48745 capability.graph complete 1 / 3 1 week ago
48746 detector.run complete 1 / 3 1 week ago
48747 validation.fork complete 1 / 3 1 week ago
113300 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
BYTECODE_BUNDLE.json describes a non-standard ERC20-like contract with owner-gated parameter setters, allowance/balance mappings, and a token-for-ETH payout path. I found one concrete accounting bug around an unchecked ETH transfer, plus two selector/interface mismatches that materially affect access control and ERC20 compatibility.
View stdout
{"no_findings":false,"summary":"BYTECODE_BUNDLE.json describes a non-standard ERC20-like contract with owner-gated parameter setters, allowance/balance mappings, and a token-for-ETH payout path. I found one concrete accounting bug around an unchecked ETH transfer, plus two selector/interface mismatches that materially affect access control and ERC20 compatibility.","findings":[{"severity":"medium","category":"other","title":"Unchecked ETH payout can debit seller balances without confirming payment","exploit_scenario":"A user calling selector 0xdc3080f2 from a contract wallet or any recipient that rejects ETH can have their token balance debited and the contract balance credited before the payout CALL executes. Because the CALL result is ignored, the transaction can complete with no ETH delivered to the seller.","recommendation":"Check the low-level CALL result and revert on failure, or switch to a pull-payment withdrawal model so token accounting is only finalized after a confirmed payout.","evidence":"The dispatcher routes selector 0xdc3080f2 to pc 0x507. That path recomputes slot8 from contract ETH balance, verifies the caller balance in slot9, then updates balances before the external CALL: balance writes occur in the 0x64a routine before pc 0x691. The CALL at pc 0x691 is followed only by POP/POP and event emission; unlike the CALL at pc 0x4aa, there is no ISZERO/JUMPI failure check after pc 0x691.","locations":["selector:0xdc3080f2","pc:0x64a","pc:0x67d","pc:0x691"]},{"severity":"medium","category":"other","title":"Standard ERC20 selector 0x23b872dd does not implement transferFrom semantics","exploit_scenario":"An exchange, router, or escrow calling transferFrom(address,address,uint256) will expect allowance consumption, balance movement, and a boolean return. Here the standard selector appears to do only a balance check and then returns the low byte of slot3, so standard integrations can fail or the token can behave like a honeypot despite exposing ERC20-looking selectors.","recommendation":"Implement ERC20-compliant transferFrom logic under selector 0x23b872dd, or remove/avoid advertising the standard selector if the function is intentionally non-standard.","evidence":"Selector inference is explicit in the dispatcher: 0x23b872dd jumps to pc 0x19f. The 0x19f-0x1d0 path loads three calldata words, computes a slot9 balance lookup, compares it to the second argument, and on success jumps to pc 0x1d1. Pc 0x1d1 immediately returns sload(0x03) & 0xff through the common return helper. There is no SSTORE, no LOG3 Transfer event, and no allowance decrement anywhere on that selector path.","locations":["selector:0x23b872dd","pc:0x19f","pc:0x1c4","pc:0x1d1"]},{"severity":"low","category":"access_control","title":"`transferOwnership` selector does not update the owner slot used by auth checks","exploit_scenario":"Operators and tooling may assume selector 0xf2fde38b is standard Ownable.transferOwnership. In this bytecode, admin checks consistently read slot0, but 0xf2fde38b writes slot5 instead. If the slot0 owner key is lost, ownership cannot be rotated, and monitoring tooling can falsely believe ownership was transferred.","recommendation":"If ownership rotation is intended, update slot0 in the 0xf2fde38b path. Otherwise remove the standard selector or document clearly that ownership is immutable and slot5 is a different role.","evidence":"The standard owner getter 0x8da5cb5b returns sload(0x00) masked to an address. Admin guards compare CALLER with sload(0x00) at pcs 0x177, 0x254, 0x33e, and 0x553. By contrast, selector 0xf2fde38b dispatches to pc 0x54a and reaches the 0x815 routine, which reads and writes slot5, never slot0.","locations":["selector:0x8da5cb5b","selector:0xf2fde38b","pc:0x177","pc:0x254","pc:0x33e","pc:0x553","pc:0x54a","pc:0x815"]}]}
View stderr
},
        {
          "op": "SLOAD",
          "pc": 626,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 645,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 715,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 735,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
        },
        {
          "op": "SLOAD",
          "pc": 809,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
        },
        {
          "op": "SLOAD",
          "pc": 818,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
        },
        {
          "op": "SLOAD",
          "pc": 830,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SSTORE",
          "pc": 1001,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1296,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 1363,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1393,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 1666,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
        },
        {
          "op": "SLOAD",
          "pc": 1740,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2073,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2128,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2274,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2341,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2378,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2443,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2514,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        }
      ],
      "writes": 17
    }
  },
  {
    "auth": {
      "guards": []
    },
    "entry_pc": 2854837737,
    "selector": "0xa9059cbb",
    "sinks": {
      "call": 6,
      "delegatecall": 0,
      "selfdestruct": 0,
      "staticcall": 0
    },
    "storage": {
      "reads": 47,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 272,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 343,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 363,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 375,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 406,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 471,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 596,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 626,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 645,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 715,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 735,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
        },
        {
          "op": "SLOAD",
          "pc": 809,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
        },
        {
          "op": "SLOAD",
          "pc": 818,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
        },
        {
          "op": "SLOAD",
          "pc": 830,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SSTORE",
          "pc": 1001,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1296,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 1363,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1393,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 1666,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
        },
        {
          "op": "SLOAD",
          "pc": 1740,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2073,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2128,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2274,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2341,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2378,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2443,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2514,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        }
      ],
      "writes": 17
    }
  },
  {
    "auth": {
      "guards": []
    },
    "entry_pc": 3154722889,
    "selector": "0xaa295de9",
    "sinks": {
      "call": 6,
      "delegatecall": 0,
      "selfdestruct": 0,
      "staticcall": 0
    },
    "storage": {
      "reads": 47,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 272,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 343,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 363,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 375,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 406,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 471,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 596,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 626,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 645,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 715,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 735,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
        },
        {
          "op": "SLOAD",
          "pc": 809,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
        },
        {
          "op": "SLOAD",
          "pc": 818,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
        },
        {
          "op": "SLOAD",
          "pc": 830,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SSTORE",
          "pc": 1001,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1296,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 1363,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1393,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 1666,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
        },
        {
          "op": "SLOAD",
          "pc": 1740,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2073,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2128,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2274,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2341,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2378,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2443,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2514,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        }
      ],
      "writes": 17
    }
  },
  {
    "auth": {
      "guards": []
    },
    "entry_pc": 3296960139,
    "selector": "0xbc094049",
    "sinks": {
      "call": 6,
      "delegatecall": 0,
      "selfdestruct": 0,
      "staticcall": 0
    },
    "storage": {
      "reads": 47,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 272,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 343,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 363,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 375,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 406,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 471,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 596,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 626,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 645,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 715,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 735,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
        },
        {
          "op": "SLOAD",
          "pc": 809,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
        },
        {
          "op": "SLOAD",
          "pc": 818,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
        },
        {
          "op": "SLOAD",
          "pc": 830,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SSTORE",
          "pc": 1001,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1296,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 1363,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1393,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 1666,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
        },
        {
          "op": "SLOAD",
          "pc": 1740,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2073,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2128,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2274,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2341,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2378,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2443,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2514,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        }
      ],
      "writes": 17
    }
  },
  {
    "auth": {
      "guards": []
    },
    "entry_pc": 3404319313,
    "selector": "0xc4839e8b",
    "sinks": {
      "call": 6,
      "delegatecall": 0,
      "selfdestruct": 0,
      "staticcall": 0
    },
    "storage": {
      "reads": 47,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 272,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 343,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 363,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 375,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 406,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 471,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 596,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 626,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 645,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 715,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 735,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
        },
        {
          "op": "SLOAD",
          "pc": 809,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
        },
        {
          "op": "SLOAD",
          "pc": 818,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
        },
        {
          "op": "SLOAD",
          "pc": 830,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SSTORE",
          "pc": 1001,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1296,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 1363,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1393,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 1666,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
        },
        {
          "op": "SLOAD",
          "pc": 1740,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2073,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2128,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2274,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2341,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2378,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2443,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2514,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        }
      ],
      "writes": 17
    }
  },
  {
    "auth": {
      "guards": []
    },
    "entry_pc": 3694166258,
    "selector": "0xcae9ca51",
    "sinks": {
      "call": 6,
      "delegatecall": 0,
      "selfdestruct": 0,
      "staticcall": 0
    },
    "storage": {
      "reads": 47,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 272,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 343,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 363,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 375,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 406,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 471,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 596,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 626,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 645,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 715,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 735,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
        },
        {
          "op": "SLOAD",
          "pc": 809,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
        },
        {
          "op": "SLOAD",
          "pc": 818,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
        },
        {
          "op": "SLOAD",
          "pc": 830,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SSTORE",
          "pc": 1001,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1296,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 1363,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1393,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 1666,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
        },
        {
          "op": "SLOAD",
          "pc": 1740,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2073,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2128,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2274,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2341,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2378,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2443,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2514,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        }
      ],
      "writes": 17
    }
  },
  {
    "auth": {
      "guards": []
    },
    "entry_pc": 3714247998,
    "selector": "0xdc3080f2",
    "sinks": {
      "call": 6,
      "delegatecall": 0,
      "selfdestruct": 0,
      "staticcall": 0
    },
    "storage": {
      "reads": 47,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 272,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 343,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 363,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 375,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 406,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 471,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 596,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 626,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 645,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 715,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 735,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
        },
        {
          "op": "SLOAD",
          "pc": 809,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
        },
        {
          "op": "SLOAD",
          "pc": 818,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
        },
        {
          "op": "SLOAD",
          "pc": 830,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SSTORE",
          "pc": 1001,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1296,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 1363,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1393,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 1666,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
        },
        {
          "op": "SLOAD",
          "pc": 1740,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2073,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2128,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2274,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2341,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2378,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2443,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2514,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        }
      ],
      "writes": 17
    }
  },
  {
    "auth": {
      "guards": []
    },
    "entry_pc": 3833895730,
    "selector": "0xdd62ed3e",
    "sinks": {
      "call": 6,
      "delegatecall": 0,
      "selfdestruct": 0,
      "staticcall": 0
    },
    "storage": {
      "reads": 47,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 272,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 343,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 363,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 375,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 406,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 471,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 596,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 626,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 645,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 715,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 735,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
        },
        {
          "op": "SLOAD",
          "pc": 809,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
        },
        {
          "op": "SLOAD",
          "pc": 818,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
        },
        {
          "op": "SLOAD",
          "pc": 830,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SSTORE",
          "pc": 1001,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1296,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 1363,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1393,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 1666,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
        },
        {
          "op": "SLOAD",
          "pc": 1740,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2073,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2128,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2274,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2341,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2378,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2443,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2514,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        }
      ],
      "writes": 17
    }
  },
  {
    "auth": {
      "guards": []
    },
    "entry_pc": 4076725131,
    "selector": "0xe4849b32",
    "sinks": {
      "call": 6,
      "delegatecall": 0,
      "selfdestruct": 0,
      "staticcall": 0
    },
    "storage": {
      "reads": 47,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 272,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 343,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 363,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 375,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 406,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 471,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 596,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 626,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 645,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 715,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 735,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
        },
        {
          "op": "SLOAD",
          "pc": 809,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
        },
        {
          "op": "SLOAD",
          "pc": 818,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
        },
        {
          "op": "SLOAD",
          "pc": 830,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SSTORE",
          "pc": 1001,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1296,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 1363,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1393,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 1666,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
        },
        {
          "op": "SLOAD",
          "pc": 1740,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2073,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2128,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2274,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2341,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2378,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2443,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2514,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        }
      ],
      "writes": 17
    }
  },
  {
    "auth": {
      "guards": []
    },
    "entry_pc": 4288363215,
    "selector": "0xf2fde38b",
    "sinks": {
      "call": 6,
      "delegatecall": 0,
      "selfdestruct": 0,
      "staticcall": 0
    },
    "storage": {
      "reads": 47,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 272,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 343,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 363,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 375,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 406,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 471,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 596,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 626,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 645,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 715,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 735,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
        },
        {
          "op": "SLOAD",
          "pc": 809,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
        },
        {
          "op": "SLOAD",
          "pc": 818,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
        },
        {
          "op": "SLOAD",
          "pc": 830,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SSTORE",
          "pc": 1001,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1296,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 1363,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1393,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 1666,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
        },
        {
          "op": "SLOAD",
          "pc": 1740,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2073,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2128,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2274,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2341,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2378,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2443,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2514,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        }
      ],
      "writes": 17
    }
  },
  {
    "auth": {
      "guards": []
    },
    "entry_pc": null,
    "selector": "0xff9b3acf",
    "sinks": {
      "call": 6,
      "delegatecall": 0,
      "selfdestruct": 0,
      "staticcall": 0
    },
    "storage": {
      "reads": 47,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 272,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 343,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 363,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 375,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 406,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 471,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 596,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 626,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 645,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 715,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 735,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
        },
        {
          "op": "SLOAD",
          "pc": 809,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
        },
        {
          "op": "SLOAD",
          "pc": 818,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
        },
        {
          "op": "SLOAD",
          "pc": 830,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SSTORE",
          "pc": 1001,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1296,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 1363,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 1393,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 1666,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
        },
        {
          "op": "SLOAD",
          "pc": 1740,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 2073,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2128,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2274,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 2341,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2378,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
        },
        {
          "op": "SLOAD",
          "pc": 2443,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        },
        {
          "op": "SLOAD",
          "pc": 2514,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
        }
      ],
      "writes": 17
    }
  }
]

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.callsites' BYTECODE_BUNDLE.json" in /tmp/codex-cac8u3sx
 succeeded in 0ms:
[
  {
    "opcode": "CALL",
    "pc": 1126,
    "returndata_checked": null,
    "target_expression_category": "computed",
    "value_expression_category": "computed"
  },
  {
    "opcode": "CALL",
    "pc": 1194,
    "returndata_checked": null,
    "target_expression_category": "computed",
    "value_expression_category": "computed"
  },
  {
    "opcode": "CALL",
    "pc": 1459,
    "returndata_checked": null,
    "target_expression_category": "computed",
    "value_expression_category": "computed"
  },
  {
    "opcode": "CALL",
    "pc": 1681,
    "returndata_checked": null,
    "target_expression_category": "computed",
    "value_expression_category": "computed"
  },
  {
    "opcode": "CALLCODE",
    "pc": 2570,
    "returndata_checked": null,
    "target_expression_category": "computed",
    "value_expression_category": "computed"
  },
  {
    "opcode": "CALL",
    "pc": 2588,
    "returndata_checked": null,
    "target_expression_category": "computed",
    "value_expression_category": "computed"
  }
]

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.storage' BYTECODE_BUNDLE.json" in /tmp/codex-cac8u3sx
 succeeded in 0ms:
{
  "keccak_count": 30,
  "reads": 47,
  "slots": [
    {
      "op": "SLOAD",
      "pc": 272,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
    },
    {
      "op": "SLOAD",
      "pc": 343,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
    },
    {
      "op": "SLOAD",
      "pc": 363,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
    },
    {
      "op": "SLOAD",
      "pc": 375,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
    },
    {
      "op": "SLOAD",
      "pc": 406,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
    },
    {
      "op": "SLOAD",
      "pc": 471,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
    },
    {
      "op": "SLOAD",
      "pc": 596,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
    },
    {
      "op": "SLOAD",
      "pc": 626,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
    },
    {
      "op": "SLOAD",
      "pc": 645,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
    },
    {
      "op": "SLOAD",
      "pc": 715,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
    },
    {
      "op": "SLOAD",
      "pc": 735,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
    },
    {
      "op": "SLOAD",
      "pc": 809,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
    },
    {
      "op": "SLOAD",
      "pc": 818,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
    },
    {
      "op": "SLOAD",
      "pc": 830,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
    },
    {
      "op": "SSTORE",
      "pc": 1001,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
    },
    {
      "op": "SLOAD",
      "pc": 1296,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
    },
    {
      "op": "SLOAD",
      "pc": 1363,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
    },
    {
      "op": "SLOAD",
      "pc": 1393,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
    },
    {
      "op": "SLOAD",
      "pc": 1666,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
    },
    {
      "op": "SLOAD",
      "pc": 1740,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
    },
    {
      "op": "SLOAD",
      "pc": 2073,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
    },
    {
      "op": "SLOAD",
      "pc": 2128,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
    },
    {
      "op": "SLOAD",
      "pc": 2274,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
    },
    {
      "op": "SLOAD",
      "pc": 2341,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
    },
    {
      "op": "SLOAD",
      "pc": 2378,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
    },
    {
      "op": "SLOAD",
      "pc": 2443,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
    },
    {
      "op": "SLOAD",
      "pc": 2514,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
    }
  ],
  "writes": 17
}

exec
/bin/bash -lc "jq '.capability_graph' BYTECODE_BUNDLE.json" in /tmp/codex-cac8u3sx
 succeeded in 0ms:
{
  "address": "0xbe1c8694b8457b4f8dd06eb11d236b4aa4d5b2b9",
  "block_number": null,
  "chain_id": 1,
  "codehash": "0x48d2f9bdc3cccf93455d94afab0072f957ed607bcc4360c3f7e8602bb59c7990",
  "created_at": "2026-04-04T19:59:19.000000Z",
  "graph_hash": "0x66e7cbd51ecdcf244aff432bf194d43d283e28548df819b6f40a2bc17b49cc3a",
  "graph_json": {
    "edges": [
      {
        "from": "bb:0",
        "to": "bb:262",
        "type": "control_flow"
      },
      {
        "from": "bb:0",
        "to": "bb:11",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:11",
        "to": "bb:264",
        "type": "control_flow"
      },
      {
        "from": "bb:11",
        "to": "bb:31",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:31",
        "to": "bb:357",
        "type": "control_flow"
      },
      {
        "from": "bb:31",
        "to": "bb:42",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:42",
        "to": "bb:366",
        "type": "control_flow"
      },
      {
        "from": "bb:42",
        "to": "bb:53",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:53",
        "to": "bb:400",
        "type": "control_flow"
      },
      {
        "from": "bb:53",
        "to": "bb:64",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:64",
        "to": "bb:415",
        "type": "control_flow"
      },
      {
        "from": "bb:64",
        "to": "bb:75",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:75",
        "to": "bb:465",
        "type": "control_flow"
      },
      {
        "from": "bb:75",
        "to": "bb:86",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:86",
        "to": "bb:477",
        "type": "control_flow"
      },
      {
        "from": "bb:86",
        "to": "bb:97",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:97",
        "to": "bb:563",
        "type": "control_flow"
      },
      {
        "from": "bb:97",
        "to": "bb:108",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:108",
        "to": "bb:587",
        "type": "control_flow"
      },
      {
        "from": "bb:108",
        "to": "bb:119",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:119",
        "to": "bb:620",
        "type": "control_flow"
      },
      {
        "from": "bb:119",
        "to": "bb:130",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:130",
        "to": "bb:638",
        "type": "control_flow"
      },
      {
        "from": "bb:130",
        "to": "bb:141",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:141",
        "to": "bb:729",
        "type": "control_flow"
      },
      {
        "from": "bb:141",
        "to": "bb:152",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:152",
        "to": "bb:756",
        "type": "control_flow"
      },
      {
        "from": "bb:152",
        "to": "bb:163",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:163",
        "to": "bb:803",
        "type": "control_flow"
      },
      {
        "from": "bb:163",
        "to": "bb:174",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:174",
        "to": "bb:812",
        "type": "control_flow"
      },
      {
        "from": "bb:174",
        "to": "bb:185",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:185",
        "to": "bb:821",
        "type": "control_flow"
      },
      {
        "from": "bb:185",
        "to": "bb:196",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:196",
        "to": "bb:854",
        "type": "control_flow"
      },
      {
        "from": "bb:196",
        "to": "bb:207",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:207",
        "to": "bb:1213",
        "type": "control_flow"
      },
      {
        "from": "bb:207",
        "to": "bb:218",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:218",
        "to": "bb:1250",
        "type": "control_flow"
      },
      {
        "from": "bb:218",
        "to": "bb:229",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:229",
        "to": "bb:1287",
        "type": "control_flow"
      },
      {
        "from": "bb:229",
        "to": "bb:240",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:240",
        "to": "bb:1354",
        "type": "control_flow"
      },
      {
        "from": "bb:240",
        "to": "bb:251",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:251",
        "to": "bb:1387",
        "type": "control_flow"
      },
      {
        "from": "bb:251",
        "to": "bb:262",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:264",
        "to": "bb:1813",
        "type": "control_flow"
      },
      {
        "from": "bb:264",
        "to": "bb:330",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:330",
        "to": "bb:1770",
        "type": "control_flow"
      },
      {
        "from": "bb:330",
        "to": "bb:338",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:338",
        "to": "bb:1813",
        "type": "control_flow"
      },
      {
        "from": "bb:366",
        "to": "bb:2064",
        "type": "control_flow"
      },
      {
        "from": "bb:366",
        "to": "bb:396",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:415",
        "to": "bb:1829",
        "type": "control_flow"
      },
      {
        "from": "bb:415",
        "to": "bb:461",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:477",
        "to": "bb:487",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:487",
        "to": "bb:492",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:492",
        "to": "bb:1821",
        "type": "control_flow"
      },
      {
        "from": "bb:492",
        "to": "bb:501",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:501",
        "to": "bb:555",
        "type": "control_flow"
      },
      {
        "from": "bb:501",
        "to": "bb:546",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:546",
        "to": "bb:555",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:555",
        "to": "bb:492",
        "type": "control_flow"
      },
      {
        "from": "bb:587",
        "to": "bb:2069",
        "type": "control_flow"
      },
      {
        "from": "bb:587",
        "to": "bb:616",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:638",
        "to": "bb:1813",
        "type": "control_flow"
      },
      {
        "from": "bb:638",
        "to": "bb:702",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:702",
        "to": "bb:1770",
        "type": "control_flow"
      },
      {
        "from": "bb:702",
        "to": "bb:710",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:710",
        "to": "bb:1813",
        "type": "control_flow"
      },
      {
        "from": "bb:729",
        "to": "bb:2271",
        "type": "control_flow"
      },
      {
        "from": "bb:729",
        "to": "bb:752",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:756",
        "to": "bb:2142",
        "type": "control_flow"
      },
      {
        "from": "bb:756",
        "to": "bb:799",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:821",
        "to": "bb:2103",
        "type": "control_flow"
      },
      {
        "from": "bb:821",
        "to": "bb:850",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:854",
        "to": "bb:1168",
        "type": "control_flow"
      },
      {
        "from": "bb:854",
        "to": "bb:1143",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:1143",
        "to": "bb:1168",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:1168",
        "to": "bb:1200",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:1287",
        "to": "bb:1610",
        "type": "control_flow"
      },
      {
        "from": "bb:1287",
        "to": "bb:1350",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:1354",
        "to": "bb:1736",
        "type": "control_flow"
      },
      {
        "from": "bb:1354",
        "to": "bb:1383",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:1405",
        "to": "bb:1501",
        "type": "control_flow"
      },
      {
        "from": "bb:1405",
        "to": "bb:1476",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:1476",
        "to": "bb:1501",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:1770",
        "to": "bb:1784",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:1784",
        "to": "bb:1784",
        "type": "control_flow"
      },
      {
        "from": "bb:1784",
        "to": "bb:1804",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:1804",
        "to": "bb:1813",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:1829",
        "to": "bb:1868",
        "type": "control_flow"
      },
      {
        "from": "bb:1829",
        "to": "bb:1864",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:1868",
        "to": "bb:1944",
        "type": "control_flow"
      },
      {
        "from": "bb:1868",
        "to": "bb:1940",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:2103",
        "to": "bb:2124",
        "type": "control_flow"
      },
      {
        "from": "bb:2103",
        "to": "bb:2120",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:2142",
        "to": "bb:2181",
        "type": "control_flow"
      },
      {
        "from": "bb:2142",
        "to": "bb:2177",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:2271",
        "to": "bb:487",
        "type": "control_flow"
      },
      {
        "from": "bb:2338",
        "to": "bb:2375",
        "type": "control_flow"
      },
      {
        "from": "bb:2338",
        "to": "bb:2357",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:2357",
        "to": "bb:2375",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:2375",
        "to": "bb:2405",
        "type": "control_flow"
      },
      {
        "from": "bb:2375",
        "to": "bb:2392",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "bb:2392",
        "to": "bb:2405",
        "type": "control_flow_fallthrough"
      },
      {
        "from": "fn:0x18160ddd",
        "to": "bb:535423676",
        "type": "entry"
      },
      {
        "from": "fn:0x1fe9eabc",
        "to": "bb:591257894",
        "type": "entry"
      },
      {
        "from": "fn:0x233de126",
        "to": "bb:599290589",
        "type": "entry"
      },
      {
        "from": "fn:0x23b872dd",
        "to": "bb:826074471",
        "type": "entry"
      },
      {
        "from": "fn:0x313ce567",
        "to": "bb:1106921590",
        "type": "entry"
      },
      {
        "from": "fn:0x41fa4876",
        "to": "bb:1889567281",
        "type": "entry"
      },
      {
        "from": "fn:0x70a08231",
        "to": "bb:2133494400",
        "type": "entry"
      },
      {
        "from": "fn:0x7f2a8a80",
        "to": "bb:2376452955",
        "type": "entry"
      },
      {
        "from": "fn:0x8da5cb5b",
        "to": "bb:2514000705",
        "type": "entry"
      },
      {
        "from": "fn:0x95d89b41",
        "to": "bb:2800922170",
        "type": "entry"
      },
      {
        "from": "fn:0xa6f2ae3a",
        "to": "bb:2835717307",
        "type": "entry"
      },
      {
        "from": "fn:0xa9059cbb",
        "to": "bb:2854837737",
        "type": "entry"
      },
      {
        "from": "fn:0xaa295de9",
        "to": "bb:3154722889",
        "type": "entry"
      },
      {
        "from": "fn:0xbc094049",
        "to": "bb:3296960139",
        "type": "entry"
      },
      {
        "from": "fn:0xc4839e8b",
        "to": "bb:3404319313",
        "type": "entry"
      },
      {
        "from": "fn:0xcae9ca51",
        "to": "bb:3694166258",
        "type": "entry"
      },
      {
        "from": "fn:0xdc3080f2",
        "to": "bb:3714247998",
        "type": "entry"
      },
      {
        "from": "fn:0xdd62ed3e",
        "to": "bb:3833895730",
        "type": "entry"
      },
      {
        "from": "fn:0xe4849b32",
        "to": "bb:4076725131",
        "type": "entry"
      },
      {
        "from": "fn:0xf2fde38b",
        "to": "bb:4288363215",
        "type": "entry"
      },
      {
        "from": "bb:854",
        "to": "call:1126",
        "type": "contains"
      },
      {
        "from": "call:1126",
        "to": "sink:call",
        "type": "capability"
      },
      {
        "from": "bb:1168",
        "to": "call:1194",
        "type": "contains"
      },
      {
        "from": "call:1194",
        "to": "sink:call",
        "type": "capability"
      },
      {
        "from": "bb:1405",
        "to": "call:1459",
        "type": "contains"
      },
      {
        "from": "call:1459",
        "to": "sink:call",
        "type": "capability"
      },
      {
        "from": "bb:1610",
        "to": "call:1681",
        "type": "contains"
      },
      {
        "from": "call:1681",
        "to": "sink:call",
        "type": "capability"
      },
      {
        "from": "bb:2569",
        "to": "call:2570",
        "type": "contains"
      },
      {
        "from": "call:2570",
        "to": "sink:callcode",
        "type": "capability"
      },
      {
        "from": "bb:2569",
        "to": "call:2588",
        "type": "contains"
      },
      {
        "from": "call:2588",
        "to": "sink:call",
        "type": "capability"
      }
    ],
    "nodes": [
      {
        "end_pc": 10,
        "hash": "0xf11444caaf4db510565a598ec5db1095f6815c9db671a85c90dde30dacbe11e2",
        "id": "bb:0",
        "start_pc": 0,
        "type": "basic_block"
      },
      {
        "end_pc": 30,
        "hash": "0x81ba1990cb6d08ec7e9f5cef473cf689c892f720fb932454a377fa40a7b6acb2",
        "id": "bb:11",
        "start_pc": 11,
        "type": "basic_block"
      },
      {
        "end_pc": 41,
        "hash": "0xbb4adb6b0343b466b21e5c872124ae1246c15937f907412dff7a45be4b89e23a",
        "id": "bb:31",
        "start_pc": 31,
        "type": "basic_block"
      },
      {
        "end_pc": 52,
        "hash": "0xea19454bfe01c00dbab35612f8aa52f8f8f0fb5376f0c092cc366ffb9e4c6857",
        "id": "bb:42",
        "start_pc": 42,
        "type": "basic_block"
      },
      {
        "end_pc": 63,
        "hash": "0xd69d368fec6c14dd7b3dc3a73b7ce17524cd586475c440422e4028feda4fe985",
        "id": "bb:53",
        "start_pc": 53,
        "type": "basic_block"
      },
      {
        "end_pc": 74,
        "hash": "0x22ac288b26f96d1f2be88284216b7a65d533ac2cbf794a41853e29d9f15cb49f",
        "id": "bb:64",
        "start_pc": 64,
        "type": "basic_block"
      },
      {
        "end_pc": 85,
        "hash": "0x4a871c50e75c9501bcbed914881e4008e1796505737385677e4df8f3d54ca784",
        "id": "bb:75",
        "start_pc": 75,
        "type": "basic_block"
      },
      {
        "end_pc": 96,
        "hash": "0xd514a7eacaee8fb4ebdcbdcb38800c29184eab38b16861dd8b97b17c70aaa2ff",
        "id": "bb:86",
        "start_pc": 86,
        "type": "basic_block"
      },
      {
        "end_pc": 107,
        "hash": "0x57d0236ed3c086498b49e1b50433804bdf79e7109c7b83755797f666e9fc8f6c",
        "id": "bb:97",
        "start_pc": 97,
        "type": "basic_block"
      },
      {
        "end_pc": 118,
        "hash": "0x93f7d5d4e7efa89e76f8f86896757b0bc1282a0b1c617a39aa1a86408e7ae1ee",
        "id": "bb:108",
        "start_pc": 108,
        "type": "basic_block"
      },
      {
        "end_pc": 129,
        "hash": "0xcc3c70fb9af60426f8e26d7e1f9ec383d88776d6512a9954f6bb6e8aff45b879",
        "id": "bb:119",
        "start_pc": 119,
        "type": "basic_block"
      },
      {
        "end_pc": 140,
        "hash": "0x86e3595e017f2af8a502c2e68c7814eb5c9f0907f0afa551477a81f71d8834b2",
        "id": "bb:130",
        "start_pc": 130,
        "type": "basic_block"
      },
      {
        "end_pc": 151,
        "hash": "0x48179b41f3610338adb51b04894be3a884a3d97e0d492a8aae6c114b635c31a3",
        "id": "bb:141",
        "start_pc": 141,
        "type": "basic_block"
      },
      {
        "end_pc": 162,
        "hash": "0x00f2e521531902fffd26347661a176ca2eda1a0744be870cff160418e21f3b2e",
        "id": "bb:152",
        "start_pc": 152,
        "type": "basic_block"
      },
      {
        "end_pc": 173,
        "hash": "0xdb6f001418c531caf78313cae502f5f6289e688d09acec1f8dc3970f238367c3",
        "id": "bb:163",
        "start_pc": 163,
        "type": "basic_block"
      },
      {
        "end_pc": 184,
        "hash": "0x4d86ffa9c19fdc81e9e81d77c7c811e836ae5ff72a61881ab0f873a1c0d3f0be",
        "id": "bb:174",
        "start_pc": 174,
        "type": "basic_block"
      },
      {
        "end_pc": 195,
        "hash": "0xa91d7fb99828f9689dc6ccda4a2a36fe23e57cd79450cabcd6123e9f6e7d764c",
        "id": "bb:185",
        "start_pc": 185,
        "type": "basic_block"
      },
      {
        "end_pc": 206,
        "hash": "0x1997e43099f71cafa68597bcff4a83984a35254f78f24a47a1305635b012542c",
        "id": "bb:196",
        "start_pc": 196,
        "type": "basic_block"
      },
      {
        "end_pc": 217,
        "hash": "0x2ac83c9fbd12121cfe837b579d467c8796a299f150c24a3d76eecf07a39b419f",
        "id": "bb:207",
        "start_pc": 207,
        "type": "basic_block"
      },
      {
        "end_pc": 228,
        "hash": "0x0b9c7a41d23b43c8eb6b6cb37b34be1c160c87c1c13630c81ff211022224aa87",
        "id": "bb:218",
        "start_pc": 218,
        "type": "basic_block"
      },
      {
        "end_pc": 239,
        "hash": "0x3101111f07321a4cb5fae2cfc264ca9ed59c8fa33a986357bc8acbc0e8c143f4",
        "id": "bb:229",
        "start_pc": 229,
        "type": "basic_block"
      },
      {
        "end_pc": 250,
        "hash": "0x588b700516778b8e3806c84666105df995f7efcdbb949537604cff187a456925",
        "id": "bb:240",
        "start_pc": 240,
        "type": "basic_block"
      },
      {
        "end_pc": 261,
        "hash": "0xbae336c9462b8c8d44d0ea7e760e45dc4bbda997209bf1a2137a4eb108907666",
        "id": "bb:251",
        "start_pc": 251,
        "type": "basic_block"
      },
      {
        "end_pc": 263,
        "hash": "0xfa58d4586ba563afea8a6209e1c275e39f7a607bbb2afbfa6b1803387a47055c",
        "id": "bb:262",
        "start_pc": 262,
        "type": "basic_block"
      },
      {
        "end_pc": 329,
        "hash": "0x7457dde49eb1e7c310ae594d0ea8843a53973093a8cac681b11555e6c32a0890",
        "id": "bb:264",
        "start_pc": 264,
        "type": "basic_block"
      },
      {
        "end_pc": 337,
        "hash": "0xb41e350bdd3cb576ca09510c461d39eb1f214a2e3e41b677cc5dbe033c671e3c",
        "id": "bb:330",
        "start_pc": 330,
        "type": "basic_block"
      },
      {
        "end_pc": 356,
        "hash": "0xb0561b504b540d01cdfd7c93e431acdde567b251ed0abaa905dc77722da3b3f0",
        "id": "bb:338",
        "start_pc": 338,
        "type": "basic_block"
      },
      {
        "end_pc": 365,
        "hash": "0x21e1efe0a3f6bac958fec6a99c44261baff7b84d09f0229869bfe0c528c6f0e7",
        "id": "bb:357",
        "start_pc": 357,
        "type": "basic_block"
      },
      {
        "end_pc": 395,
        "hash": "0xdcec327d1d726d5584b5012e901e42a0f3799ff0b4024d20f2a79094f517ced8",
        "id": "bb:366",
        "start_pc": 366,
        "type": "basic_block"
      },
      {
        "end_pc": 399,
        "hash": "0x308901a1166184fe53071bea39dd107613c9a5d3e90924c678f29754c5b948ac",
        "id": "bb:396",
        "start_pc": 396,
        "type": "basic_block"
      },
      {
        "end_pc": 414,
        "hash": "0x966d28f8d9b3de656399354571da18c3c2db471058fc477a5ab4cf7bfcef42e9",
        "id": "bb:400",
        "start_pc": 400,
        "type": "basic_block"
      },
      {
        "end_pc": 460,
        "hash": "0xed10f46d77b3ec6412539a2ea8bac74b2ac944e6d55df3160fb9b5bc93d95830",
        "id": "bb:415",
        "start_pc": 415,
        "type": "basic_block"
      },
      {
        "end_pc": 464,
        "hash": "0x06f1bd585a2974e4edd144946dc5578111a51c3918f67134544c236bc997f9cf",
        "id": "bb:461",
        "start_pc": 461,
        "type": "basic_block"
      },
      {
        "end_pc": 476,
        "hash": "0x30a1b3b0fdc3a9e47d67c880a6e37017b5904047cfa4fce122e3b8a5863dcfcc",
        "id": "bb:465",
        "start_pc": 465,
        "type": "basic_block"
      },
      {
        "end_pc": 486,
        "hash": "0x80cfbe6b0076e7918e230add0dc33ab0dac948ab1c6d3cc92e869937a2eb1634",
        "id": "bb:477",
        "start_pc": 477,
        "type": "basic_block"
      },
      {
        "end_pc": 491,
        "hash": "0x8c860dd4a744b83f5d603fa28aafd9adea96022d0bd3350c095efd519d9f1ba2",
        "id": "bb:487",
        "start_pc": 487,
        "type": "basic_block"
      },
      {
        "end_pc": 500,
        "hash": "0xf6d20286c6b9bf1326af38766f48d5c86ddd0ae6404cbd01616bde966e43f242",
        "id": "bb:492",
        "start_pc": 492,
        "type": "basic_block"
      },
      {
        "end_pc": 545,
        "hash": "0xa84ecf89edecaea2c2c693b3c3e3382bbdc5be64392e6cb22186a097a77eff53",
        "id": "bb:501",
        "start_pc": 501,
        "type": "basic_block"
      },
      {
        "end_pc": 554,
        "hash": "0x5047fd980427293bdee6abf6d16154594952dae9e8c7ae5d7c2e53264c01e351",
        "id": "bb:546",
        "start_pc": 546,
        "type": "basic_block"
      },
      {
        "end_pc": 562,
        "hash": "0xef1bcd80882e3a871e0b502e2c245a7a5fa790dce085da21a6c4688774f49951",
        "id": "bb:555",
        "start_pc": 555,
        "type": "basic_block"
      },
      {
        "end_pc": 586,
        "hash": "0x6beb94bb249e13ab447756d4a285cd479229638cdd9d21135f8e82d4d28e8ec1",
        "id": "bb:563",
        "start_pc": 563,
        "type": "basic_block"
      },
      {
        "end_pc": 615,
        "hash": "0xc4baa5a94dda9500c6d6d06eaef757cfe0790ff11a2da38681c07f000398adde",
        "id": "bb:587",
        "start_pc": 587,
        "type": "basic_block"
      },
      {
        "end_pc": 619,
        "hash": "0x295b9db996f0dcab10c486ecbc69c2f450ae381d4ebb9c6578781be79c94223d",
        "id": "bb:616",
        "start_pc": 616,
        "type": "basic_block"
      },
      {
        "end_pc": 637,
        "hash": "0xd2c19a0d8766a52267b0ebcbc4b898059b20c3375d149c5e84df132065b331fa",
        "id": "bb:620",
        "start_pc": 620,
        "type": "basic_block"
      },
      {
        "end_pc": 701,
        "hash": "0xfea4939c9313cea9f7ebcd4fc5092de6714ab4340ecfe7a075c1d0dfabae53c6",
        "id": "bb:638",
        "start_pc": 638,
        "type": "basic_block"
      },
      {
        "end_pc": 709,
        "hash": "0x69970134fcdc362472ea22b779dd76ea6d58dee8ac2f248066d292d4a769cd1f",
        "id": "bb:702",
        "start_pc": 702,
        "type": "basic_block"
      },
      {
        "end_pc": 728,
        "hash": "0x8467474d0b6df5216ac6657bc707dc0f829f86e9f7ba649afc662b713a5d3406",
        "id": "bb:710",
        "start_pc": 710,
        "type": "basic_block"
      },
      {
        "end_pc": 751,
        "hash": "0x0681f410b09dc6a2dcb93a147ece120031378bbb18175d75cdc0880b4167b557",
        "id": "bb:729",
        "start_pc": 729,
        "type": "basic_block"
      },
      {
        "end_pc": 755,
        "hash": "0x01a7be615724532b6d9f92d06b8b10086f1a57e436301fad0dd825cb1c48eb9a",
        "id": "bb:752",
        "start_pc": 752,
        "type": "basic_block"
      },
      {
        "end_pc": 798,
        "hash": "0x74d4882ddfadaea1c67b924e16228b29d6358d99e14a10b6ce2c2c957195a865",
        "id": "bb:756",
        "start_pc": 756,
        "type": "basic_block"
      },
      {
        "end_pc": 802,
        "hash": "0xa55a7d63de5ca9453cea1c30ca713ed1de5b9f17ba62cbdde2826bfd65700ac1",
        "id": "bb:799",
        "start_pc": 799,
        "type": "basic_block"
      },
      {
        "end_pc": 811,
        "hash": "0x97e21c3476c8558d8340b52a680f0eaa516d09b727d2e5fe48bd488f9446f175",
        "id": "bb:803",
        "start_pc": 803,
        "type": "basic_block"
      },
      {
        "end_pc": 820,
        "hash": "0x44c224d14008b83719f86eefe537906cf41bcecbe8d60586d1a0be7c380f28bd",
        "id": "bb:812",
        "start_pc": 812,
        "type": "basic_block"
      },
      {
        "end_pc": 849,
        "hash": "0xc46d6e1eb1695015bc6fe9ffc2d138634bc7bf2dbf3f454066a961c5d4651abb",
        "id": "bb:821",
        "start_pc": 821,
        "type": "basic_block"
      },
      {
        "end_pc": 853,
        "hash": "0xc37cc290da199743849279a7f5cd7d484b4e57a402a0dfbc60648de3326d8a42",
        "id": "bb:850",
        "start_pc": 850,
        "type": "basic_block"
      },
      {
        "end_pc": 1142,
        "hash": "0x091aeba358c90d31a695fdb0f08326cbe9aeeadeec8d4a08f08ee054a430557e",
        "id": "bb:854",
        "start_pc": 854,
        "type": "basic_block"
      },
      {
        "end_pc": 1167,
        "hash": "0xb5d50d3e73296dfb1ef27af6c131ccf6951d16e423282d9784276c6565299717",
        "id": "bb:1143",
        "start_pc": 1143,
        "type": "basic_block"
      },
      {
        "end_pc": 1199,
        "hash": "0xdf9ff470b26ab5507926e44fb36b152325bbc0b2365977dd939346ff30e6b321",
        "id": "bb:1168",
        "start_pc": 1168,
        "type": "basic_block"
      },
      {
        "end_pc": 1212,
        "hash": "0x070be6b669cf1cc8276ff5e32b64edc7347897fcac13cf12083d44d636be038c",
        "id": "bb:1200",
        "start_pc": 1200,
        "type": "basic_block"
      },
      {
        "end_pc": 1249,
        "hash": "0x3a181295e57d4c70659022ab6ba100e25acf8d8559423a926910ddba94b9129d",
        "id": "bb:1213",
        "start_pc": 1213,
        "type": "basic_block"
      },
      {
        "end_pc": 1286,
        "hash": "0x936ad41b5d4f155bd9ba7ca1b1526b6e2101e517780bf73cc4313ab40facefb9",
        "id": "bb:1250",
        "start_pc": 1250,
        "type": "basic_block"
      },
      {
        "end_pc": 1349,
        "hash": "0x90fbe47c494831f7aa12f66f8b830ffbb24bc6474129fbcbf9606eb0b23ea9d1",
        "id": "bb:1287",
        "start_pc": 1287,
        "type": "basic_block"
      },
      {
        "end_pc": 1353,
        "hash": "0x4d46c6cb78ac810e32f27171808251848b458e93d7523aa5a65865b4628f8032",
        "id": "bb:1350",
        "start_pc": 1350,
        "type": "basic_block"
      },
      {
        "end_pc": 1382,
        "hash": "0xa2a2a08484aa7daa458a5156c4857501fb8142e50c92358834e33a018697adb2",
        "id": "bb:1354",
        "start_pc": 1354,
        "type": "basic_block"
      },
      {
        "end_pc": 1386,
        "hash": "0x545f42b544338a023bf487e35f8a4d04a88c65a8678626143f313a690078856c",
        "id": "bb:1383",
        "start_pc": 1383,
        "type": "basic_block"
      },
      {
        "end_pc": 1404,
        "hash": "0xacc41863d03e34db07676c5f9c6efb7b057aff5cf21a6230cfc72b805c98afb6",
        "id": "bb:1387",
        "start_pc": 1387,
        "type": "basic_block"
      },
      {
        "end_pc": 1475,
        "hash": "0x2e80f4defcef942ee0fe89d4ad2c43c4ca7e2ad1e74c468688804061cdde3d55",
        "id": "bb:1405",
        "start_pc": 1405,
        "type": "basic_block"
      },
      {
        "end_pc": 1500,
        "hash": "0xaf1ccf6beac4adf8b066efae2b4df3b3c3290e1d1a8dab606557ec8a9fd58d3d",
        "id": "bb:1476",
        "start_pc": 1476,
        "type": "basic_block"
      },
      {
        "end_pc": 1514,
        "hash": "0x6f79c30723756e445c63d40192135a83ec9d32f78f150a135582bd71b689d69a",
        "id": "bb:1501",
        "start_pc": 1501,
        "type": "basic_block"
      },
      {
        "end_pc": 1532,
        "hash": "0xfe4158b7f762ece070c02be9447e5459f150cb2346de2566ea401b0379a6cc0a",
        "id": "bb:1515",
        "start_pc": 1515,
        "type": "basic_block"
      },
      {
        "end_pc": 1558,
        "hash": "0x9bc2100fa9a97eb5184f3f9cfafda6a279dd912b30b9217040a1a58ab4ff92a1",
        "id": "bb:1533",
        "start_pc": 1533,
        "type": "basic_block"
      },
      {
        "end_pc": 1580,
        "hash": "0x24bf05d7aec26dae802caa8b62ce27cd75ee4c3b21539011a98a6b676907a1bb",
        "id": "bb:1559",
        "start_pc": 1559,
        "type": "basic_block"
      },
      {
        "end_pc": 1609,
        "hash": "0x8b05b6d93a9a41ddc5e7344ee6dd5b99ac0edb78384b10b95b0f9e96fe37339e",
        "id": "bb:1581",
        "start_pc": 1581,
        "type": "basic_block"
      },
      {
        "end_pc": 1735,
        "hash": "0x07dde179717100d2be861d9a2c20126f24d3329e5a0c09387f92837705d1f8b8",
        "id": "bb:1610",
        "start_pc": 1610,
        "type": "basic_block"
      },
      {
        "end_pc": 1769,
        "hash": "0x8a2598ebf84066ba394ed2eae33a9daa1aacc8025ec4bac49632753c7e341bb3",
        "id": "bb:1736",
        "start_pc": 1736,
        "type": "basic_block"
      },
      {
        "end_pc": 1783,
        "hash": "0x3f15e0a0c7e893977b172c8d54e4bc607db947fd9d89a34f18e8c8b68e8ba039",
        "id": "bb:1770",
        "start_pc": 1770,
        "type": "basic_block"
      },
      {
        "end_pc": 1803,
        "hash": "0x55891dab8307758bf399cb104d84d8c607ab31562cb7e341b7ffc483c1fc4250",
        "id": "bb:1784",
        "start_pc": 1784,
        "type": "basic_block"
      },
      {
        "end_pc": 1812,
        "hash": "0xdc41d9c74b0c31fa476fc6fbabee6352aa150dddd4922b7046035f0c843b0822",
        "id": "bb:1804",
        "start_pc": 1804,
        "type": "basic_block"
      },
      {
        "end_pc": 1820,
        "hash": "0xf0cd8ffc088cc1a450837ff45eac7b1e67ed52e7b408ef6031bc917029f996e6",
        "id": "bb:1813",
        "start_pc": 1813,
        "type": "basic_block"
      },
      {
        "end_pc": 1828,
        "hash": "0xd2bcc9f072f3e06f55c57c589559973165d28265efdc47b81f10f372c79116dc",
        "id": "bb:1821",
        "start_pc": 1821,
        "type": "basic_block"
      },
      {
        "end_pc": 1863,
        "hash": "0x93c4b94ff0a3c440fd9677af968ee38fac5a7a477a490dcb209b1bb3bfb58935",
        "id": "bb:1829",
        "start_pc": 1829,
        "type": "basic_block"
      },
      {
        "end_pc": 1867,
        "hash": "0x68ec0d054d5572698eb0e3e99cbca5588d491bcc16937ac9a18092d4279a2405",
        "id": "bb:1864",
        "start_pc": 1864,
        "type": "basic_block"
      },
      {
        "end_pc": 1939,
        "hash": "0xca1c928743b3d0b681b15c621874f1b56cdd0259636acd0cf0fec7eab18403dc",
        "id": "bb:1868",
        "start_pc": 1868,
        "type": "basic_block"
      },
      {
        "end_pc": 1943,
        "hash": "0x999c3c8c7724ad2fb31f9828b9b0c4f51a0b07f0e9967875467b292005126886",
        "id": "bb:1940",
        "start_pc": 1940,
        "type": "basic_block"
      },
      {
        "end_pc": 2063,
        "hash": "0x21734032fe421ea0577d5f0a4249d49fadd46f4a19ae51418b4eaa6416c90b68",
        "id": "bb:1944",
        "start_pc": 1944,
        "type": "basic_block"
      },
      {
        "end_pc": 2068,
        "hash": "0x12fddabd2025f831459fdfe7e909466ea89d934f4fc607b8088d3cf5b21cf9bd",
        "id": "bb:2064",
        "start_pc": 2064,
        "type": "basic_block"
      },
      {
        "end_pc": 2102,
        "hash": "0x476c7daca97541be3c418dbefa60d269d20353d9e0a79e3ebb22e7b0ada5aad8",
        "id": "bb:2069",
        "start_pc": 2069,
        "type": "basic_block"
      },
      {
        "end_pc": 2119,
        "hash": "0xfa12e9c50a90d3dd797807b2fd50efd75f9fd42fadac198ec3322e85400d4774",
        "id": "bb:2103",
        "start_pc": 2103,
        "type": "basic_block"
      },
      {
        "end_pc": 2123,
        "hash": "0xb71411f4058a932d1744ab5f5a218de516bb5eb867ca24b18d1c21ac7995b6ba",
        "id": "bb:2120",
        "start_pc": 2120,
        "type": "basic_block"
      },
      {
        "end_pc": 2141,
        "hash": "0xd449d10c9de65ac415adb1d07cf3aeb6627cf251ac120c043c8b3361688fd49c",
        "id": "bb:2124",
        "start_pc": 2124,
        "type": "basic_block"
      },
      {
        "end_pc": 2176,
        "hash": "0xef55c785114d0ef4d15c90e57cd5a7e5cd545fb55ee28f957b762de0dde74c09",
        "id": "bb:2142",
        "start_pc": 2142,
        "type": "basic_block"
      },
      {
        "end_pc": 2180,
        "hash": "0xf0c54e1f91028bff29c8e0ddebc09cce4d1d1feb59f32e8b1e6cd2800e962736",
        "id": "bb:2177",
        "start_pc": 2177,
        "type": "basic_block"
      },
      {
        "end_pc": 2270,
        "hash": "0xebb9192e5aeb037064cbf66bb01d7d8338a51204c40e120323b7a96346b2ad61",
        "id": "bb:2181",
        "start_pc": 2181,
        "type": "basic_block"
      },
      {
        "end_pc": 2337,
        "hash": "0x010e4cda6d88e8570882fc3570696031d1ca6bfe357ab3c1ab976c7952248166",
        "id": "bb:2271",
        "start_pc": 2271,
        "type": "basic_block"
      },
      {
        "end_pc": 2356,
        "hash": "0x2f33aa2dda23826622bd9c00255fc932446ebd9d7b371a1be4ec01a320ee5923",
        "id": "bb:2338",
        "start_pc": 2338,
        "type": "basic_block"
      },
      {
        "end_pc": 2374,
        "hash": "0x5bb9d2595befd6f25645fb53c78f535fd90d7538570e59eeda5c803b5e32c7bc",
        "id": "bb:2357",
        "start_pc": 2357,
        "type": "basic_block"
      },
      {
        "end_pc": 2391,
        "hash": "0x40ee6bef8db65570f91941f517a7ded044ead1952310065cc4675fb9a0241581",
        "id": "bb:2375",
        "start_pc": 2375,
        "type": "basic_block"
      },
      {
        "end_pc": 2404,
        "hash": "0x6a227a656cc09dda1b8defd0c214818aed873e095607d0ade63dafb6690285f0",
        "id": "bb:2392",
        "start_pc": 2392,
        "type": "basic_block"
      },
      {
        "end_pc": 2568,
        "hash": "0xce938c15380cf3b379f1999f260ec001444d992d64fc5dccf99ece73a232ce3f",
        "id": "bb:2405",
        "start_pc": 2405,
        "type": "basic_block"
      },
      {
        "end_pc": 2600,
        "hash": "0xedbcb8f017f94a8b0e0ef9c5d25fcb2f8f69bea5e664a5ccc5d3a87a49c501f7",
        "id": "bb:2569",
        "start_pc": 2569,
        "type": "basic_block"
      },
      {
        "id": "call:1126",
        "opcode": "CALL",
        "pc": 1126,
        "type": "callsite"
      },
      {
        "id": "call:1194",
        "opcode": "CALL",
        "pc": 1194,
        "type": "callsite"
      },
      {
        "id": "call:1459",
        "opcode": "CALL",
        "pc": 1459,
        "type": "callsite"
      },
      {
        "id": "call:1681",
        "opcode": "CALL",
        "pc": 1681,
        "type": "callsite"
      },
      {
        "id": "call:2570",
        "opcode": "CALLCODE",
        "pc": 2570,
        "type": "callsite"
      },
      {
        "id": "call:2588",
        "opcode": "CALL",
        "pc": 2588,
        "type": "callsite"
      },
      {
        "id": "sink:call",
        "type": "sink"
      },
      {
        "id": "sink:callcode",
        "type": "sink"
      },
      {
        "entry_pc": null,
        "id": "fn:0x06fdde03",
        "selector": "0x06fdde03",
        "type": "function"
      },
      {
        "entry_pc": 535423676,
        "id": "fn:0x18160ddd",
        "selector": "0x18160ddd",
        "type": "function"
      },
      {
        "entry_pc": 591257894,
        "id": "fn:0x1fe9eabc",
        "selector": "0x1fe9eabc",
        "type": "function"
      },
      {
        "entry_pc": 599290589,
        "id": "fn:0x233de126",
        "selector": "0x233de126",
        "type": "function"
      },
      {
        "entry_pc": 826074471,
        "id": "fn:0x23b872dd",
        "selector": "0x23b872dd",
        "type": "function"
      },
      {
        "entry_pc": 1106921590,
        "id": "fn:0x313ce567",
        "selector": "0x313ce567",
        "type": "function"
      },
      {
        "entry_pc": 1889567281,
        "id": "fn:0x41fa4876",
        "selector": "0x41fa4876",
        "type": "function"
      },
      {
        "entry_pc": 2133494400,
        "id": "fn:0x70a08231",
        "selector": "0x70a08231",
        "type": "function"
      },
      {
        "entry_pc": 2376452955,
        "id": "fn:0x7f2a8a80",
        "selector": "0x7f2a8a80",
        "type": "function"
      },
      {
        "entry_pc": 2514000705,
        "id": "fn:0x8da5cb5b",
        "selector": "0x8da5cb5b",
        "type": "function"
      },
      {
        "entry_pc": 2800922170,
        "id": "fn:0x95d89b41",
        "selector": "0x95d89b41",
        "type": "function"
      },
      {
        "entry_pc": 2835717307,
        "id": "fn:0xa6f2ae3a",
        "selector": "0xa6f2ae3a",
        "type": "function"
      },
      {
        "entry_pc": 2854837737,
        "id": "fn:0xa9059cbb",
        "selector": "0xa9059cbb",
        "type": "function"
      },
      {
        "entry_pc": 3154722889,
        "id": "fn:0xaa295de9",
        "selector": "0xaa295de9",
        "type": "function"
      },
      {
        "entry_pc": 3296960139,
        "id": "fn:0xbc094049",
        "selector": "0xbc094049",
        "type": "function"
      },
      {
        "entry_pc": 3404319313,
        "id": "fn:0xc4839e8b",
        "selector": "0xc4839e8b",
        "type": "function"
      },
      {
        "entry_pc": 3694166258,
        "id": "fn:0xcae9ca51",
        "selector": "0xcae9ca51",
        "type": "function"
      },
      {
        "entry_pc": 3714247998,
        "id": "fn:0xdc3080f2",
        "selector": "0xdc3080f2",
        "type": "function"
      },
      {
        "entry_pc": 3833895730,
        "id": "fn:0xdd62ed3e",
        "selector": "0xdd62ed3e",
        "type": "function"
      },
      {
        "entry_pc": 4076725131,
        "id": "fn:0xe4849b32",
        "selector": "0xe4849b32",
        "type": "function"
      },
      {
        "entry_pc": 4288363215,
        "id": "fn:0xf2fde38b",
        "selector": "0xf2fde38b",
        "type": "function"
      },
      {
        "entry_pc": null,
        "id": "fn:0xff9b3acf",
        "selector": "0xff9b3acf",
        "type": "function"
      }
    ],
    "version": "capability_graph_v1"
  },
  "id": 2685,
  "updated_at": "2026-04-04T19:59:19.000000Z",
  "version": "capability_graph_v1"
}

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

exec
/bin/bash -lc "jq '.analysis_run | keys' BYTECODE_BUNDLE.json" in /tmp/codex-cac8u3sx
 succeeded in 0ms:
[
  "address",
  "block_number",
  "chain_id",
  "child_links",
  "created_at",
  "id",
  "parent_links",
  "status",
  "updated_at"
]

exec
/bin/bash -lc "jq -r '.artifact.runtime_bytecode' BYTECODE_BUNDLE.json | awk '{print length}'" in /tmp/codex-cac8u3sx
 succeeded in 0ms:
1
5217
15
17
15
20
1

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

exec
/bin/bash -lc "jq '.artifact.runtime_bytecode' BYTECODE_BUNDLE.json | sed -n '1,40p'" in /tmp/codex-cac8u3sx
 succeeded in 0ms:
{
  "full": "0x606060405236156101065760e060020a600035046306fdde03811461010857806318160ddd146101655780631fe9eabc1461016e578063233de1261461019057806323b872dd1461019f578063313ce567146101d157806341fa4876146101dd57806370a08231146102335780637f2a8a801461024b5780638da5cb5b1461026c57806395d89b411461027e578063a6f2ae3a146102d9578063a9059cbb146102f4578063aa295de914610323578063bc0940491461032c578063c4839e8b14610335578063cae9ca5114610356578063dc3080f2146104bd578063dd62ed3e146104e2578063e4849b3214610507578063f2fde38b1461054a578063ff9b3acf1461056b575b005b60408051600180546020600282841615610100026000190190921691909104601f810182900482028401820190945283835261057d93908301828280156107155780601f106106ea57610100808354040283529160200191610715565b6105eb60045481565b610106600435600054600160a060020a03908116339091161461081057610002565b6105fd60075463ffffffff1681565b6105eb600435602435604435600160a060020a0383166000908152600960205260408120548290101561072557610002565b61061760035460ff1681565b6105eb6004356024355b600080805b8381101561071d57604080514383900360001901408152602081018790528151908190039091019020600290066000141561022b57600281900a909101905b6001016101ec565b6105eb60043560096020526000908152604090205481565b61010660043560005433600160a060020a0390811691161461081557610002565b61062d600054600160a060020a031681565b61057d6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156107155780601f106106ea57610100808354040283529160200191610715565b6105eb6006543490600090819081908411156108df57610002565b61010660043560243533600160a060020a03166000908152600960205260409020548190101561085e57610002565b6105eb60065481565b6105eb60085481565b61010660043560005433600160a060020a0390811691161461083757610002565b604080516020604435600481810135601f81018490048402850184019095528484526105eb9481359460248035959394606494929391019181908401838280828437509496505050505050506000600083600a600050600033600160a060020a03168152602001908152602001600020600050600087600160a060020a031681526020019081526020016000206000508190555084905080600160a060020a0316638f4ffcb1338630876040518560e060020a0281526004018085600160a060020a0316815260200184815260200183600160a060020a03168152602001806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f1680156104905780820380516001836020036101000a031916815260200191505b50955050505050506000604051808303816000876161da5a03f11561000257506001979650505050505050565b600b602090815260043560009081526040808220909252602435815220546105eb9081565b600a602090815260043560009081526040808220909252602435815220546105eb9081565b6105eb60043560045430600160a060020a0390811631655af3107a4000029190910460085533166000908152600960205260408120548290101561064a57610002565b61010660043560005433600160a060020a039081169116146106c857610002565b61062d600554600160a060020a031681565b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f1680156105dd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60408051918252519081900360200190f35b6040805163ffffffff929092168252519081900360200190f35b6040805160ff9092168252519081900360200190f35b60408051600160a060020a03929092168252519081900360200190f35b5030600160a060020a03908116600090815260096020526040808220805485019055339092168082528282208054859003905591516008548402929190839082818181858883f1505060408051868152905130600160a060020a0316949350600080516020610a0983398151915292509081900360200190a3919050565b6000805473ffffffffffffffffffffffffffffffffffffffff19168217905550565b820191906000526020600020905b8154815290600101906020018083116106f857829003601f168201915b505050505081565b509392505050565b600160a060020a038316600090815260096020526040902054808301101561074c57610002565b600160a060020a038481166000818152600a602090815260408083203390951680845294825280832054938352600b825280832094835293905291909120548301111561079857610002565b600160a060020a03848116600081815260096020908152604080832080548890039055878516808452818420805489019055848452600b83528184203390961684529482529182902080548701905581518681529151600080516020610a098339815191529281900390910190a35060019392505050565b600655565b6005805473ffffffffffffffffffffffffffffffffffffffff19168217905550565b6102008163ffffffff16101561084c57610002565b6007805463ffffffff19168217905550565b600160a060020a038216600090815260096020526040902054818101101561088557610002565b33600160a060020a0390811660008181526009602090815260408083208054879003905593861680835291849020805486019055835185815293519193600080516020610a09833981519152929081900390910190a35050565b60045430600160a060020a0316316509184e72a000020460085560408051438152426020820152808201869052905190819003606001902061092290600a6101e7565b60075490915063ffffffff16811061094757600092506103e764174876e80085040491505b60075463ffffffff168110156109655764174876e800600285020492505b33600160a060020a0390811660008181526009602090815260408083208054890190556005548516835280832080548801905530909416808352918490208054878901900390558351878152935192939192600080516020610a098339815191529281900390910190a3600554604080518481529051600160a060020a0392831692301691600080516020610a09833981519152919081900360200190a35050509056ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
  "head": null,
  "length": 5204,
  "tail": null,
  "truncated": false
}

exec
/bin/bash -lc "node - <<'NODE'
const fs=require('fs');
const bundle=JSON.parse(fs.readFileSync('BYTECODE_BUNDLE.json','utf8'));
let hex=bundle.artifact.runtime_bytecode.full.slice(2);
const opnames={0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'};
function dis(start,end){
 let pc=start;
 while(pc<=end){
  const op=parseInt(hex.slice(pc*2,pc*2+2),16);
  const name=opnames[op]||('OP_'+op.toString(16));
  let arg='';
  let next=pc+1;
  if(op>=0x60&&op<=0x7f){const n=op-0x5f;arg='0x'+hex.slice(next*2,next*2+n*2);next+=n;}
  console.log(pc.toString().padStart(4), name.padEnd(12), arg);
  pc=next;
 }
}
for (const [s,e] of [[854,1212],[1287,1735],[2405,2600],[0,264],[2064,2270]]){console.log('\\nRANGE',s,e);dis(s,e);} 
NODE" in /tmp/codex-cac8u3sx
 succeeded in 0ms:

RANGE 854 1212
 854 JUMPDEST     
 855 PUSH1        0x40
 857 DUP1         
 858 MLOAD        
 859 PUSH1        0x20
 861 PUSH1        0x44
 863 CALLDATALOAD 
 864 PUSH1        0x04
 866 DUP2         
 867 DUP2         
 868 ADD          
 869 CALLDATALOAD 
 870 PUSH1        0x1f
 872 DUP2         
 873 ADD          
 874 DUP5         
 875 SWAP1        
 876 DIV          
 877 DUP5         
 878 MUL          
 879 DUP6         
 880 ADD          
 881 DUP5         
 882 ADD          
 883 SWAP1        
 884 SWAP6        
 885 MSTORE       
 886 DUP5         
 887 DUP5         
 888 MSTORE       
 889 PUSH2        0x05eb
 892 SWAP5        
 893 DUP2         
 894 CALLDATALOAD 
 895 SWAP5        
 896 PUSH1        0x24
 898 DUP1         
 899 CALLDATALOAD 
 900 SWAP6        
 901 SWAP4        
 902 SWAP5        
 903 PUSH1        0x64
 905 SWAP5        
 906 SWAP3        
 907 SWAP4        
 908 SWAP2        
 909 ADD          
 910 SWAP2        
 911 DUP2         
 912 SWAP1        
 913 DUP5         
 914 ADD          
 915 DUP4         
 916 DUP3         
 917 DUP1         
 918 DUP3         
 919 DUP5         
 920 CALLDATACOPY 
 921 POP          
 922 SWAP5        
 923 SWAP7        
 924 POP          
 925 POP          
 926 POP          
 927 POP          
 928 POP          
 929 POP          
 930 POP          
 931 PUSH1        0x00
 933 PUSH1        0x00
 935 DUP4         
 936 PUSH1        0x0a
 938 PUSH1        0x00
 940 POP          
 941 PUSH1        0x00
 943 CALLER       
 944 PUSH1        0x01
 946 PUSH1        0xa0
 948 PUSH1        0x02
 950 EXP          
 951 SUB          
 952 AND          
 953 DUP2         
 954 MSTORE       
 955 PUSH1        0x20
 957 ADD          
 958 SWAP1        
 959 DUP2         
 960 MSTORE       
 961 PUSH1        0x20
 963 ADD          
 964 PUSH1        0x00
 966 SHA3         
 967 PUSH1        0x00
 969 POP          
 970 PUSH1        0x00
 972 DUP8         
 973 PUSH1        0x01
 975 PUSH1        0xa0
 977 PUSH1        0x02
 979 EXP          
 980 SUB          
 981 AND          
 982 DUP2         
 983 MSTORE       
 984 PUSH1        0x20
 986 ADD          
 987 SWAP1        
 988 DUP2         
 989 MSTORE       
 990 PUSH1        0x20
 992 ADD          
 993 PUSH1        0x00
 995 SHA3         
 996 PUSH1        0x00
 998 POP          
 999 DUP2         
1000 SWAP1        
1001 SSTORE       
1002 POP          
1003 DUP5         
1004 SWAP1        
1005 POP          
1006 DUP1         
1007 PUSH1        0x01
1009 PUSH1        0xa0
1011 PUSH1        0x02
1013 EXP          
1014 SUB          
1015 AND          
1016 PUSH4        0x8f4ffcb1
1021 CALLER       
1022 DUP7         
1023 ADDRESS      
1024 DUP8         
1025 PUSH1        0x40
1027 MLOAD        
1028 DUP6         
1029 PUSH1        0xe0
1031 PUSH1        0x02
1033 EXP          
1034 MUL          
1035 DUP2         
1036 MSTORE       
1037 PUSH1        0x04
1039 ADD          
1040 DUP1         
1041 DUP6         
1042 PUSH1        0x01
1044 PUSH1        0xa0
1046 PUSH1        0x02
1048 EXP          
1049 SUB          
1050 AND          
1051 DUP2         
1052 MSTORE       
1053 PUSH1        0x20
1055 ADD          
1056 DUP5         
1057 DUP2         
1058 MSTORE       
1059 PUSH1        0x20
1061 ADD          
1062 DUP4         
1063 PUSH1        0x01
1065 PUSH1        0xa0
1067 PUSH1        0x02
1069 EXP          
1070 SUB          
1071 AND          
1072 DUP2         
1073 MSTORE       
1074 PUSH1        0x20
1076 ADD          
1077 DUP1         
1078 PUSH1        0x20
1080 ADD          
1081 DUP3         
1082 DUP2         
1083 SUB          
1084 DUP3         
1085 MSTORE       
1086 DUP4         
1087 DUP2         
1088 DUP2         
1089 MLOAD        
1090 DUP2         
1091 MSTORE       
1092 PUSH1        0x20
1094 ADD          
1095 SWAP2        
1096 POP          
1097 DUP1         
1098 MLOAD        
1099 SWAP1        
1100 PUSH1        0x20
1102 ADD          
1103 SWAP1        
1104 DUP1         
1105 DUP4         
1106 DUP4         
1107 DUP3         
1108 SWAP1        
1109 PUSH1        0x00
1111 PUSH1        0x04
1113 PUSH1        0x20
1115 DUP5         
1116 PUSH1        0x1f
1118 ADD          
1119 DIV          
1120 PUSH1        0x0f
1122 MUL          
1123 PUSH1        0x03
1125 ADD          
1126 CALL         
1127 POP          
1128 SWAP1        
1129 POP          
1130 SWAP1        
1131 DUP2         
1132 ADD          
1133 SWAP1        
1134 PUSH1        0x1f
1136 AND          
1137 DUP1         
1138 ISZERO       
1139 PUSH2        0x0490
1142 JUMPI        
1143 DUP1         
1144 DUP3         
1145 SUB          
1146 DUP1         
1147 MLOAD        
1148 PUSH1        0x01
1150 DUP4         
1151 PUSH1        0x20
1153 SUB          
1154 PUSH2        0x0100
1157 EXP          
1158 SUB          
1159 NOT          
1160 AND          
1161 DUP2         
1162 MSTORE       
1163 PUSH1        0x20
1165 ADD          
1166 SWAP2        
1167 POP          
1168 JUMPDEST     
1169 POP          
1170 SWAP6        
1171 POP          
1172 POP          
1173 POP          
1174 POP          
1175 POP          
1176 POP          
1177 PUSH1        0x00
1179 PUSH1        0x40
1181 MLOAD        
1182 DUP1         
1183 DUP4         
1184 SUB          
1185 DUP2         
1186 PUSH1        0x00
1188 DUP8         
1189 PUSH2        0x61da
1192 GAS          
1193 SUB          
1194 CALL         
1195 ISZERO       
1196 PUSH2        0x0002
1199 JUMPI        
1200 POP          
1201 PUSH1        0x01
1203 SWAP8        
1204 SWAP7        
1205 POP          
1206 POP          
1207 POP          
1208 POP          
1209 POP          
1210 POP          
1211 POP          
1212 JUMP         

RANGE 1287 1735
1287 JUMPDEST     
1288 PUSH2        0x05eb
1291 PUSH1        0x04
1293 CALLDATALOAD 
1294 PUSH1        0x04
1296 SLOAD        
1297 ADDRESS      
1298 PUSH1        0x01
1300 PUSH1        0xa0
1302 PUSH1        0x02
1304 EXP          
1305 SUB          
1306 SWAP1        
1307 DUP2         
1308 AND          
1309 BALANCE      
1310 PUSH6        0x5af3107a4000
1317 MUL          
1318 SWAP2        
1319 SWAP1        
1320 SWAP2        
1321 DIV          
1322 PUSH1        0x08
1324 SSTORE       
1325 CALLER       
1326 AND          
1327 PUSH1        0x00
1329 SWAP1        
1330 DUP2         
1331 MSTORE       
1332 PUSH1        0x09
1334 PUSH1        0x20
1336 MSTORE       
1337 PUSH1        0x40
1339 DUP2         
1340 SHA3         
1341 SLOAD        
1342 DUP3         
1343 SWAP1        
1344 LT           
1345 ISZERO       
1346 PUSH2        0x064a
1349 JUMPI        
1350 PUSH2        0x0002
1353 JUMP         
1354 JUMPDEST     
1355 PUSH2        0x0106
1358 PUSH1        0x04
1360 CALLDATALOAD 
1361 PUSH1        0x00
1363 SLOAD        
1364 CALLER       
1365 PUSH1        0x01
1367 PUSH1        0xa0
1369 PUSH1        0x02
1371 EXP          
1372 SUB          
1373 SWAP1        
1374 DUP2         
1375 AND          
1376 SWAP2        
1377 AND          
1378 EQ           
1379 PUSH2        0x06c8
1382 JUMPI        
1383 PUSH2        0x0002
1386 JUMP         
1387 JUMPDEST     
1388 PUSH2        0x062d
1391 PUSH1        0x05
1393 SLOAD        
1394 PUSH1        0x01
1396 PUSH1        0xa0
1398 PUSH1        0x02
1400 EXP          
1401 SUB          
1402 AND          
1403 DUP2         
1404 JUMP         
1405 JUMPDEST     
1406 PUSH1        0x40
1408 MLOAD        
1409 DUP1         
1410 DUP1         
1411 PUSH1        0x20
1413 ADD          
1414 DUP3         
1415 DUP2         
1416 SUB          
1417 DUP3         
1418 MSTORE       
1419 DUP4         
1420 DUP2         
1421 DUP2         
1422 MLOAD        
1423 DUP2         
1424 MSTORE       
1425 PUSH1        0x20
1427 ADD          
1428 SWAP2        
1429 POP          
1430 DUP1         
1431 MLOAD        
1432 SWAP1        
1433 PUSH1        0x20
1435 ADD          
1436 SWAP1        
1437 DUP1         
1438 DUP4         
1439 DUP4         
1440 DUP3         
1441 SWAP1        
1442 PUSH1        0x00
1444 PUSH1        0x04
1446 PUSH1        0x20
1448 DUP5         
1449 PUSH1        0x1f
1451 ADD          
1452 DIV          
1453 PUSH1        0x0f
1455 MUL          
1456 PUSH1        0x03
1458 ADD          
1459 CALL         
1460 POP          
1461 SWAP1        
1462 POP          
1463 SWAP1        
1464 DUP2         
1465 ADD          
1466 SWAP1        
1467 PUSH1        0x1f
1469 AND          
1470 DUP1         
1471 ISZERO       
1472 PUSH2        0x05dd
1475 JUMPI        
1476 DUP1         
1477 DUP3         
1478 SUB          
1479 DUP1         
1480 MLOAD        
1481 PUSH1        0x01
1483 DUP4         
1484 PUSH1        0x20
1486 SUB          
1487 PUSH2        0x0100
1490 EXP          
1491 SUB          
1492 NOT          
1493 AND          
1494 DUP2         
1495 MSTORE       
1496 PUSH1        0x20
1498 ADD          
1499 SWAP2        
1500 POP          
1501 JUMPDEST     
1502 POP          
1503 SWAP3        
1504 POP          
1505 POP          
1506 POP          
1507 PUSH1        0x40
1509 MLOAD        
1510 DUP1         
1511 SWAP2        
1512 SUB          
1513 SWAP1        
1514 RETURN       
1515 JUMPDEST     
1516 PUSH1        0x40
1518 DUP1         
1519 MLOAD        
1520 SWAP2        
1521 DUP3         
1522 MSTORE       
1523 MLOAD        
1524 SWAP1        
1525 DUP2         
1526 SWAP1        
1527 SUB          
1528 PUSH1        0x20
1530 ADD          
1531 SWAP1        
1532 RETURN       
1533 JUMPDEST     
1534 PUSH1        0x40
1536 DUP1         
1537 MLOAD        
1538 PUSH4        0xffffffff
1543 SWAP3        
1544 SWAP1        
1545 SWAP3        
1546 AND          
1547 DUP3         
1548 MSTORE       
1549 MLOAD        
1550 SWAP1        
1551 DUP2         
1552 SWAP1        
1553 SUB          
1554 PUSH1        0x20
1556 ADD          
1557 SWAP1        
1558 RETURN       
1559 JUMPDEST     
1560 PUSH1        0x40
1562 DUP1         
1563 MLOAD        
1564 PUSH1        0xff
1566 SWAP1        
1567 SWAP3        
1568 AND          
1569 DUP3         
1570 MSTORE       
1571 MLOAD        
1572 SWAP1        
1573 DUP2         
1574 SWAP1        
1575 SUB          
1576 PUSH1        0x20
1578 ADD          
1579 SWAP1        
1580 RETURN       
1581 JUMPDEST     
1582 PUSH1        0x40
1584 DUP1         
1585 MLOAD        
1586 PUSH1        0x01
1588 PUSH1        0xa0
1590 PUSH1        0x02
1592 EXP          
1593 SUB          
1594 SWAP3        
1595 SWAP1        
1596 SWAP3        
1597 AND          
1598 DUP3         
1599 MSTORE       
1600 MLOAD        
1601 SWAP1        
1602 DUP2         
1603 SWAP1        
1604 SUB          
1605 PUSH1        0x20
1607 ADD          
1608 SWAP1        
1609 RETURN       
1610 JUMPDEST     
1611 POP          
1612 ADDRESS      
1613 PUSH1        0x01
1615 PUSH1        0xa0
1617 PUSH1        0x02
1619 EXP          
1620 SUB          
1621 SWAP1        
1622 DUP2         
1623 AND          
1624 PUSH1        0x00
1626 SWAP1        
1627 DUP2         
1628 MSTORE       
1629 PUSH1        0x09
1631 PUSH1        0x20
1633 MSTORE       
1634 PUSH1        0x40
1636 DUP1         
1637 DUP3         
1638 SHA3         
1639 DUP1         
1640 SLOAD        
1641 DUP6         
1642 ADD          
1643 SWAP1        
1644 SSTORE       
1645 CALLER       
1646 SWAP1        
1647 SWAP3        
1648 AND          
1649 DUP1         
1650 DUP3         
1651 MSTORE       
1652 DUP3         
1653 DUP3         
1654 SHA3         
1655 DUP1         
1656 SLOAD        
1657 DUP6         
1658 SWAP1        
1659 SUB          
1660 SWAP1        
1661 SSTORE       
1662 SWAP2        
1663 MLOAD        
1664 PUSH1        0x08
1666 SLOAD        
1667 DUP5         
1668 MUL          
1669 SWAP3        
1670 SWAP2        
1671 SWAP1        
1672 DUP4         
1673 SWAP1        
1674 DUP3         
1675 DUP2         
1676 DUP2         
1677 DUP2         
1678 DUP6         
1679 DUP9         
1680 DUP4         
1681 CALL         
1682 POP          
1683 POP          
1684 PUSH1        0x40
1686 DUP1         
1687 MLOAD        
1688 DUP7         
1689 DUP2         
1690 MSTORE       
1691 SWAP1        
1692 MLOAD        
1693 ADDRESS      
1694 PUSH1        0x01
1696 PUSH1        0xa0
1698 PUSH1        0x02
1700 EXP          
1701 SUB          
1702 AND          
1703 SWAP5        
1704 SWAP4        
1705 POP          
1706 PUSH1        0x00
1708 DUP1         
1709 MLOAD        
1710 PUSH1        0x20
1712 PUSH2        0x0a09
1715 DUP4         
1716 CODECOPY     
1717 DUP2         
1718 MLOAD        
1719 SWAP2        
1720 MSTORE       
1721 SWAP3        
1722 POP          
1723 SWAP1        
1724 DUP2         
1725 SWAP1        
1726 SUB          
1727 PUSH1        0x20
1729 ADD          
1730 SWAP1        
1731 LOG3         
1732 SWAP2        
1733 SWAP1        
1734 POP          
1735 JUMP         

RANGE 2405 2600
2405 JUMPDEST     
2406 CALLER       
2407 PUSH1        0x01
2409 PUSH1        0xa0
2411 PUSH1        0x02
2413 EXP          
2414 SUB          
2415 SWAP1        
2416 DUP2         
2417 AND          
2418 PUSH1        0x00
2420 DUP2         
2421 DUP2         
2422 MSTORE       
2423 PUSH1        0x09
2425 PUSH1        0x20
2427 SWAP1        
2428 DUP2         
2429 MSTORE       
2430 PUSH1        0x40
2432 DUP1         
2433 DUP4         
2434 SHA3         
2435 DUP1         
2436 SLOAD        
2437 DUP10        
2438 ADD          
2439 SWAP1        
2440 SSTORE       
2441 PUSH1        0x05
2443 SLOAD        
2444 DUP6         
2445 AND          
2446 DUP4         
2447 MSTORE       
2448 DUP1         
2449 DUP4         
2450 SHA3         
2451 DUP1         
2452 SLOAD        
2453 DUP9         
2454 ADD          
2455 SWAP1        
2456 SSTORE       
2457 ADDRESS      
2458 SWAP1        
2459 SWAP5        
2460 AND          
2461 DUP1         
2462 DUP4         
2463 MSTORE       
2464 SWAP2        
2465 DUP5         
2466 SWAP1        
2467 SHA3         
2468 DUP1         
2469 SLOAD        
2470 DUP8         
2471 DUP10        
2472 ADD          
2473 SWAP1        
2474 SUB          
2475 SWAP1        
2476 SSTORE       
2477 DUP4         
2478 MLOAD        
2479 DUP8         
2480 DUP2         
2481 MSTORE       
2482 SWAP4        
2483 MLOAD        
2484 SWAP3        
2485 SWAP4        
2486 SWAP2        
2487 SWAP3        
2488 PUSH1        0x00
2490 DUP1         
2491 MLOAD        
2492 PUSH1        0x20
2494 PUSH2        0x0a09
2497 DUP4         
2498 CODECOPY     
2499 DUP2         
2500 MLOAD        
2501 SWAP2        
2502 MSTORE       
2503 SWAP3        
2504 DUP2         
2505 SWAP1        
2506 SUB          
2507 SWAP1        
2508 SWAP2        
2509 ADD          
2510 SWAP1        
2511 LOG3         
2512 PUSH1        0x05
2514 SLOAD        
2515 PUSH1        0x40
2517 DUP1         
2518 MLOAD        
2519 DUP5         
2520 DUP2         
2521 MSTORE       
2522 SWAP1        
2523 MLOAD        
2524 PUSH1        0x01
2526 PUSH1        0xa0
2528 PUSH1        0x02
2530 EXP          
2531 SUB          
2532 SWAP3        
2533 DUP4         
2534 AND          
2535 SWAP3        
2536 ADDRESS      
2537 AND          
2538 SWAP2        
2539 PUSH1        0x00
2541 DUP1         
2542 MLOAD        
2543 PUSH1        0x20
2545 PUSH2        0x0a09
2548 DUP4         
2549 CODECOPY     
2550 DUP2         
2551 MLOAD        
2552 SWAP2        
2553 MSTORE       
2554 SWAP2        
2555 SWAP1        
2556 DUP2         
2557 SWAP1        
2558 SUB          
2559 PUSH1        0x20
2561 ADD          
2562 SWAP1        
2563 LOG3         
2564 POP          
2565 POP          
2566 POP          
2567 SWAP1        
2568 JUMP         
2569 OP_dd        
2570 CALLCODE     
2571 MSTORE       
2572 OP_ad        
2573 OP_1b        
2574 OP_e2        
2575 OP_c8        
2576 SWAP12       
2577 PUSH10       0xc2b068fc378daa952ba7
2588 CALL         
2589 PUSH4        0xc4a11628
2594 CREATE2      
2595 GAS          
2596 OP_4d        
2597 CREATE2      
2598 OP_23        
2599 OP_b3        
2600 OP_ef        

RANGE 0 264
   0 PUSH1        0x60
   2 PUSH1        0x40
   4 MSTORE       
   5 CALLDATASIZE 
   6 ISZERO       
   7 PUSH2        0x0106
  10 JUMPI        
  11 PUSH1        0xe0
  13 PUSH1        0x02
  15 EXP          
  16 PUSH1        0x00
  18 CALLDATALOAD 
  19 DIV          
  20 PUSH4        0x06fdde03
  25 DUP2         
  26 EQ           
  27 PUSH2        0x0108
  30 JUMPI        
  31 DUP1         
  32 PUSH4        0x18160ddd
  37 EQ           
  38 PUSH2        0x0165
  41 JUMPI        
  42 DUP1         
  43 PUSH4        0x1fe9eabc
  48 EQ           
  49 PUSH2        0x016e
  52 JUMPI        
  53 DUP1         
  54 PUSH4        0x233de126
  59 EQ           
  60 PUSH2        0x0190
  63 JUMPI        
  64 DUP1         
  65 PUSH4        0x23b872dd
  70 EQ           
  71 PUSH2        0x019f
  74 JUMPI        
  75 DUP1         
  76 PUSH4        0x313ce567
  81 EQ           
  82 PUSH2        0x01d1
  85 JUMPI        
  86 DUP1         
  87 PUSH4        0x41fa4876
  92 EQ           
  93 PUSH2        0x01dd
  96 JUMPI        
  97 DUP1         
  98 PUSH4        0x70a08231
 103 EQ           
 104 PUSH2        0x0233
 107 JUMPI        
 108 DUP1         
 109 PUSH4        0x7f2a8a80
 114 EQ           
 115 PUSH2        0x024b
 118 JUMPI        
 119 DUP1         
 120 PUSH4        0x8da5cb5b
 125 EQ           
 126 PUSH2        0x026c
 129 JUMPI        
 130 DUP1         
 131 PUSH4        0x95d89b41
 136 EQ           
 137 PUSH2        0x027e
 140 JUMPI        
 141 DUP1         
 142 PUSH4        0xa6f2ae3a
 147 EQ           
 148 PUSH2        0x02d9
 151 JUMPI        
 152 DUP1         
 153 PUSH4        0xa9059cbb
 158 EQ           
 159 PUSH2        0x02f4
 162 JUMPI        
 163 DUP1         
 164 PUSH4        0xaa295de9
 169 EQ           
 170 PUSH2        0x0323
 173 JUMPI        
 174 DUP1         
 175 PUSH4        0xbc094049
 180 EQ           
 181 PUSH2        0x032c
 184 JUMPI        
 185 DUP1         
 186 PUSH4        0xc4839e8b
 191 EQ           
 192 PUSH2        0x0335
 195 JUMPI        
 196 DUP1         
 197 PUSH4        0xcae9ca51
 202 EQ           
 203 PUSH2        0x0356
 206 JUMPI        
 207 DUP1         
 208 PUSH4        0xdc3080f2
 213 EQ           
 214 PUSH2        0x04bd
 217 JUMPI        
 218 DUP1         
 219 PUSH4        0xdd62ed3e
 224 EQ           
 225 PUSH2        0x04e2
 228 JUMPI        
 229 DUP1         
 230 PUSH4        0xe4849b32
 235 EQ           
 236 PUSH2        0x0507
 239 JUMPI        
 240 DUP1         
 241 PUSH4        0xf2fde38b
 246 EQ           
 247 PUSH2        0x054a
 250 JUMPI        
 251 DUP1         
 252 PUSH4        0xff9b3acf
 257 EQ           
 258 PUSH2        0x056b
 261 JUMPI        
 262 JUMPDEST     
 263 STOP         
 264 JUMPDEST     

RANGE 2064 2270
2064 JUMPDEST     
2065 PUSH1        0x06
2067 SSTORE       
2068 JUMP         
2069 JUMPDEST     
2070 PUSH1        0x05
2072 DUP1         
2073 SLOAD        
2074 PUSH20       0xffffffffffffffffffffffffffffffffffffffff
2095 NOT          
2096 AND          
2097 DUP3         
2098 OR           
2099 SWAP1        
2100 SSTORE       
2101 POP          
2102 JUMP         
2103 JUMPDEST     
2104 PUSH2        0x0200
2107 DUP2         
2108 PUSH4        0xffffffff
2113 AND          
2114 LT           
2115 ISZERO       
2116 PUSH2        0x084c
2119 JUMPI        
2120 PUSH2        0x0002
2123 JUMP         
2124 JUMPDEST     
2125 PUSH1        0x07
2127 DUP1         
2128 SLOAD        
2129 PUSH4        0xffffffff
2134 NOT          
2135 AND          
2136 DUP3         
2137 OR           
2138 SWAP1        
2139 SSTORE       
2140 POP          
2141 JUMP         
2142 JUMPDEST     
2143 PUSH1        0x01
2145 PUSH1        0xa0
2147 PUSH1        0x02
2149 EXP          
2150 SUB          
2151 DUP3         
2152 AND          
2153 PUSH1        0x00
2155 SWAP1        
2156 DUP2         
2157 MSTORE       
2158 PUSH1        0x09
2160 PUSH1        0x20
2162 MSTORE       
2163 PUSH1        0x40
2165 SWAP1        
2166 SHA3         
2167 SLOAD        
2168 DUP2         
2169 DUP2         
2170 ADD          
2171 LT           
2172 ISZERO       
2173 PUSH2        0x0885
2176 JUMPI        
2177 PUSH2        0x0002
2180 JUMP         
2181 JUMPDEST     
2182 CALLER       
2183 PUSH1        0x01
2185 PUSH1        0xa0
2187 PUSH1        0x02
2189 EXP          
2190 SUB          
2191 SWAP1        
2192 DUP2         
2193 AND          
2194 PUSH1        0x00
2196 DUP2         
2197 DUP2         
2198 MSTORE       
2199 PUSH1        0x09
2201 PUSH1        0x20
2203 SWAP1        
2204 DUP2         
2205 MSTORE       
2206 PUSH1        0x40
2208 DUP1         
2209 DUP4         
2210 SHA3         
2211 DUP1         
2212 SLOAD        
2213 DUP8         
2214 SWAP1        
2215 SUB          
2216 SWAP1        
2217 SSTORE       
2218 SWAP4        
2219 DUP7         
2220 AND          
2221 DUP1         
2222 DUP4         
2223 MSTORE       
2224 SWAP2        
2225 DUP5         
2226 SWAP1        
2227 SHA3         
2228 DUP1         
2229 SLOAD        
2230 DUP7         
2231 ADD          
2232 SWAP1        
2233 SSTORE       
2234 DUP4         
2235 MLOAD        
2236 DUP6         
2237 DUP2         
2238 MSTORE       
2239 SWAP4        
2240 MLOAD        
2241 SWAP2        
2242 SWAP4        
2243 PUSH1        0x00
2245 DUP1         
2246 MLOAD        
2247 PUSH1        0x20
2249 PUSH2        0x0a09
2252 DUP4         
2253 CODECOPY     
2254 DUP2         
2255 MLOAD        
2256 SWAP2        
2257 MSTORE       
2258 SWAP3        
2259 SWAP1        
2260 DUP2         
2261 SWAP1        
2262 SUB          
2263 SWAP1        
2264 SWAP2        
2265 ADD          
2266 SWAP1        
2267 LOG3         
2268 POP          
2269 POP          
2270 JUMP         

exec
/bin/bash -lc "node - <<'NODE'
const fs=require('fs');const bundle=JSON.parse(fs.readFileSync('BYTECODE_BUNDLE.json','utf8'));let hex=bundle.artifact.runtime_bytecode.full.slice(2);
const opnames={0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'};
function dis(start,end){let pc=start;while(pc<=end){const op=parseInt(hex.slice(pc*2,pc*2+2),16);const name=opnames[op]||('OP_'+op.toString(16));let arg='';let next=pc+1;if(op>=0x60&&op<=0x7f){const n=op-0x5f;arg='0x'+hex.slice(next*2,next*2+n*2);next+=n;}console.log(pc.toString().padStart(4),name.padEnd(12),arg);pc=next;}}
dis(264,850)
NODE" in /tmp/codex-cac8u3sx
 succeeded in 0ms:
 264 JUMPDEST     
 265 PUSH1        0x40
 267 DUP1         
 268 MLOAD        
 269 PUSH1        0x01
 271 DUP1         
 272 SLOAD        
 273 PUSH1        0x20
 275 PUSH1        0x02
 277 DUP3         
 278 DUP5         
 279 AND          
 280 ISZERO       
 281 PUSH2        0x0100
 284 MUL          
 285 PUSH1        0x00
 287 NOT          
 288 ADD          
 289 SWAP1        
 290 SWAP3        
 291 AND          
 292 SWAP2        
 293 SWAP1        
 294 SWAP2        
 295 DIV          
 296 PUSH1        0x1f
 298 DUP2         
 299 ADD          
 300 DUP3         
 301 SWAP1        
 302 DIV          
 303 DUP3         
 304 MUL          
 305 DUP5         
 306 ADD          
 307 DUP3         
 308 ADD          
 309 SWAP1        
 310 SWAP5        
 311 MSTORE       
 312 DUP4         
 313 DUP4         
 314 MSTORE       
 315 PUSH2        0x057d
 318 SWAP4        
 319 SWAP1        
 320 DUP4         
 321 ADD          
 322 DUP3         
 323 DUP3         
 324 DUP1         
 325 ISZERO       
 326 PUSH2        0x0715
 329 JUMPI        
 330 DUP1         
 331 PUSH1        0x1f
 333 LT           
 334 PUSH2        0x06ea
 337 JUMPI        
 338 PUSH2        0x0100
 341 DUP1         
 342 DUP4         
 343 SLOAD        
 344 DIV          
 345 MUL          
 346 DUP4         
 347 MSTORE       
 348 SWAP2        
 349 PUSH1        0x20
 351 ADD          
 352 SWAP2        
 353 PUSH2        0x0715
 356 JUMP         
 357 JUMPDEST     
 358 PUSH2        0x05eb
 361 PUSH1        0x04
 363 SLOAD        
 364 DUP2         
 365 JUMP         
 366 JUMPDEST     
 367 PUSH2        0x0106
 370 PUSH1        0x04
 372 CALLDATALOAD 
 373 PUSH1        0x00
 375 SLOAD        
 376 PUSH1        0x01
 378 PUSH1        0xa0
 380 PUSH1        0x02
 382 EXP          
 383 SUB          
 384 SWAP1        
 385 DUP2         
 386 AND          
 387 CALLER       
 388 SWAP1        
 389 SWAP2        
 390 AND          
 391 EQ           
 392 PUSH2        0x0810
 395 JUMPI        
 396 PUSH2        0x0002
 399 JUMP         
 400 JUMPDEST     
 401 PUSH2        0x05fd
 404 PUSH1        0x07
 406 SLOAD        
 407 PUSH4        0xffffffff
 412 AND          
 413 DUP2         
 414 JUMP         
 415 JUMPDEST     
 416 PUSH2        0x05eb
 419 PUSH1        0x04
 421 CALLDATALOAD 
 422 PUSH1        0x24
 424 CALLDATALOAD 
 425 PUSH1        0x44
 427 CALLDATALOAD 
 428 PUSH1        0x01
 430 PUSH1        0xa0
 432 PUSH1        0x02
 434 EXP          
 435 SUB          
 436 DUP4         
 437 AND          
 438 PUSH1        0x00
 440 SWAP1        
 441 DUP2         
 442 MSTORE       
 443 PUSH1        0x09
 445 PUSH1        0x20
 447 MSTORE       
 448 PUSH1        0x40
 450 DUP2         
 451 SHA3         
 452 SLOAD        
 453 DUP3         
 454 SWAP1        
 455 LT           
 456 ISZERO       
 457 PUSH2        0x0725
 460 JUMPI        
 461 PUSH2        0x0002
 464 JUMP         
 465 JUMPDEST     
 466 PUSH2        0x0617
 469 PUSH1        0x03
 471 SLOAD        
 472 PUSH1        0xff
 474 AND          
 475 DUP2         
 476 JUMP         
 477 JUMPDEST     
 478 PUSH2        0x05eb
 481 PUSH1        0x04
 483 CALLDATALOAD 
 484 PUSH1        0x24
 486 CALLDATALOAD 
 487 JUMPDEST     
 488 PUSH1        0x00
 490 DUP1         
 491 DUP1         
 492 JUMPDEST     
 493 DUP4         
 494 DUP2         
 495 LT           
 496 ISZERO       
 497 PUSH2        0x071d
 500 JUMPI        
 501 PUSH1        0x40
 503 DUP1         
 504 MLOAD        
 505 NUMBER       
 506 DUP4         
 507 SWAP1        
 508 SUB          
 509 PUSH1        0x00
 511 NOT          
 512 ADD          
 513 BLOCKHASH    
 514 DUP2         
 515 MSTORE       
 516 PUSH1        0x20
 518 DUP2         
 519 ADD          
 520 DUP8         
 521 SWAP1        
 522 MSTORE       
 523 DUP2         
 524 MLOAD        
 525 SWAP1        
 526 DUP2         
 527 SWAP1        
 528 SUB          
 529 SWAP1        
 530 SWAP2        
 531 ADD          
 532 SWAP1        
 533 SHA3         
 534 PUSH1        0x02
 536 SWAP1        
 537 MOD          
 538 PUSH1        0x00
 540 EQ           
 541 ISZERO       
 542 PUSH2        0x022b
 545 JUMPI        
 546 PUSH1        0x02
 548 DUP2         
 549 SWAP1        
 550 EXP          
 551 SWAP1        
 552 SWAP2        
 553 ADD          
 554 SWAP1        
 555 JUMPDEST     
 556 PUSH1        0x01
 558 ADD          
 559 PUSH2        0x01ec
 562 JUMP         
 563 JUMPDEST     
 564 PUSH2        0x05eb
 567 PUSH1        0x04
 569 CALLDATALOAD 
 570 PUSH1        0x09
 572 PUSH1        0x20
 574 MSTORE       
 575 PUSH1        0x00
 577 SWAP1        
 578 DUP2         
 579 MSTORE       
 580 PUSH1        0x40
 582 SWAP1        
 583 SHA3         
 584 SLOAD        
 585 DUP2         
 586 JUMP         
 587 JUMPDEST     
 588 PUSH2        0x0106
 591 PUSH1        0x04
 593 CALLDATALOAD 
 594 PUSH1        0x00
 596 SLOAD        
 597 CALLER       
 598 PUSH1        0x01
 600 PUSH1        0xa0
 602 PUSH1        0x02
 604 EXP          
 605 SUB          
 606 SWAP1        
 607 DUP2         
 608 AND          
 609 SWAP2        
 610 AND          
 611 EQ           
 612 PUSH2        0x0815
 615 JUMPI        
 616 PUSH2        0x0002
 619 JUMP         
 620 JUMPDEST     
 621 PUSH2        0x062d
 624 PUSH1        0x00
 626 SLOAD        
 627 PUSH1        0x01
 629 PUSH1        0xa0
 631 PUSH1        0x02
 633 EXP          
 634 SUB          
 635 AND          
 636 DUP2         
 637 JUMP         
 638 JUMPDEST     
 639 PUSH2        0x057d
 642 PUSH1        0x02
 644 DUP1         
 645 SLOAD        
 646 PUSH1        0x40
 648 DUP1         
 649 MLOAD        
 650 PUSH1        0x20
 652 PUSH1        0x01
 654 DUP5         
 655 AND          
 656 ISZERO       
 657 PUSH2        0x0100
 660 MUL          
 661 PUSH1        0x00
 663 NOT          
 664 ADD          
 665 SWAP1        
 666 SWAP4        
 667 AND          
 668 DUP5         
 669 SWAP1        
 670 DIV          
 671 PUSH1        0x1f
 673 DUP2         
 674 ADD          
 675 DUP5         
 676 SWAP1        
 677 DIV          
 678 DUP5         
 679 MUL          
 680 DUP3         
 681 ADD          
 682 DUP5         
 683 ADD          
 684 SWAP1        
 685 SWAP3        
 686 MSTORE       
 687 DUP2         
 688 DUP2         
 689 MSTORE       
 690 SWAP3        
 691 SWAP2        
 692 DUP4         
 693 ADD          
 694 DUP3         
 695 DUP3         
 696 DUP1         
 697 ISZERO       
 698 PUSH2        0x0715
 701 JUMPI        
 702 DUP1         
 703 PUSH1        0x1f
 705 LT           
 706 PUSH2        0x06ea
 709 JUMPI        
 710 PUSH2        0x0100
 713 DUP1         
 714 DUP4         
 715 SLOAD        
 716 DIV          
 717 MUL          
 718 DUP4         
 719 MSTORE       
 720 SWAP2        
 721 PUSH1        0x20
 723 ADD          
 724 SWAP2        
 725 PUSH2        0x0715
 728 JUMP         
 729 JUMPDEST     
 730 PUSH2        0x05eb
 733 PUSH1        0x06
 735 SLOAD        
 736 CALLVALUE    
 737 SWAP1        
 738 PUSH1        0x00
 740 SWAP1        
 741 DUP2         
 742 SWAP1        
 743 DUP2         
 744 SWAP1        
 745 DUP5         
 746 GT           
 747 ISZERO       
 748 PUSH2        0x08df
 751 JUMPI        
 752 PUSH2        0x0002
 755 JUMP         
 756 JUMPDEST     
 757 PUSH2        0x0106
 760 PUSH1        0x04
 762 CALLDATALOAD 
 763 PUSH1        0x24
 765 CALLDATALOAD 
 766 CALLER       
 767 PUSH1        0x01
 769 PUSH1        0xa0
 771 PUSH1        0x02
 773 EXP          
 774 SUB          
 775 AND          
 776 PUSH1        0x00
 778 SWAP1        
 779 DUP2         
 780 MSTORE       
 781 PUSH1        0x09
 783 PUSH1        0x20
 785 MSTORE       
 786 PUSH1        0x40
 788 SWAP1        
 789 SHA3         
 790 SLOAD        
 791 DUP2         
 792 SWAP1        
 793 LT           
 794 ISZERO       
 795 PUSH2        0x085e
 798 JUMPI        
 799 PUSH2        0x0002
 802 JUMP         
 803 JUMPDEST     
 804 PUSH2        0x05eb
 807 PUSH1        0x06
 809 SLOAD        
 810 DUP2         
 811 JUMP         
 812 JUMPDEST     
 813 PUSH2        0x05eb
 816 PUSH1        0x08
 818 SLOAD        
 819 DUP2         
 820 JUMP         
 821 JUMPDEST     
 822 PUSH2        0x0106
 825 PUSH1        0x04
 827 CALLDATALOAD 
 828 PUSH1        0x00
 830 SLOAD        
 831 CALLER       
 832 PUSH1        0x01
 834 PUSH1        0xa0
 836 PUSH1        0x02
 838 EXP          
 839 SUB          
 840 SWAP1        
 841 DUP2         
 842 AND          
 843 SWAP2        
 844 AND          
 845 EQ           
 846 PUSH2        0x0837
 849 JUMPI        
 850 PUSH2        0x0002

exec
/bin/bash -lc "node - <<'NODE'
const fs=require('fs');const bundle=JSON.parse(fs.readFileSync('BYTECODE_BUNDLE.json','utf8'));let hex=bundle.artifact.runtime_bytecode.full.slice(2);const opnames={0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'};
function dis(start,end){let pc=start;while(pc<=end){const op=parseInt(hex.slice(pc*2,pc*2+2),16);const name=opnames[op]||('OP_'+op.toString(16));let arg='';let next=pc+1;if(op>=0x60&&op<=0x7f){const n=op-0x5f;arg='0x'+hex.slice(next*2,next*2+n*2);next+=n;}console.log(pc.toString().padStart(4),name.padEnd(12),arg);pc=next;}}
dis(1213,1286)
NODE" in /tmp/codex-cac8u3sx
 succeeded in 0ms:
1213 JUMPDEST     
1214 PUSH1        0x0b
1216 PUSH1        0x20
1218 SWAP1        
1219 DUP2         
1220 MSTORE       
1221 PUSH1        0x04
1223 CALLDATALOAD 
1224 PUSH1        0x00
1226 SWAP1        
1227 DUP2         
1228 MSTORE       
1229 PUSH1        0x40
1231 DUP1         
1232 DUP3         
1233 SHA3         
1234 SWAP1        
1235 SWAP3        
1236 MSTORE       
1237 PUSH1        0x24
1239 CALLDATALOAD 
1240 DUP2         
1241 MSTORE       
1242 SHA3         
1243 SLOAD        
1244 PUSH2        0x05eb
1247 SWAP1        
1248 DUP2         
1249 JUMP         
1250 JUMPDEST     
1251 PUSH1        0x0a
1253 PUSH1        0x20
1255 SWAP1        
1256 DUP2         
1257 MSTORE       
1258 PUSH1        0x04
1260 CALLDATALOAD 
1261 PUSH1        0x00
1263 SWAP1        
1264 DUP2         
1265 MSTORE       
1266 PUSH1        0x40
1268 DUP1         
1269 DUP3         
1270 SHA3         
1271 SWAP1        
1272 SWAP3        
1273 MSTORE       
1274 PUSH1        0x24
1276 CALLDATALOAD 
1277 DUP2         
1278 MSTORE       
1279 SHA3         
1280 SLOAD        
1281 PUSH2        0x05eb
1284 SWAP1        
1285 DUP2         
1286 JUMP         

exec
/bin/bash -lc "node - <<'NODE'
const fs=require('fs');const bundle=JSON.parse(fs.readFileSync('BYTECODE_BUNDLE.json','utf8'));let hex=bundle.artifact.runtime_bytecode.full.slice(2);const opnames={0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'};
function dis(start,end){let pc=start;while(pc<=end){const op=parseInt(hex.slice(pc*2,pc*2+2),16);const name=opnames[op]||('OP_'+op.toString(16));let arg='';let next=pc+1;if(op>=0x60&&op<=0x7f){const n=op-0x5f;arg='0x'+hex.slice(next*2,next*2+n*2);next+=n;}console.log(pc.toString().padStart(4),name.padEnd(12),arg);pc=next;}}
dis(2271,2404)
NODE" in /tmp/codex-cac8u3sx
 succeeded in 0ms:
2271 JUMPDEST     
2272 PUSH1        0x04
2274 SLOAD        
2275 ADDRESS      
2276 PUSH1        0x01
2278 PUSH1        0xa0
2280 PUSH1        0x02
2282 EXP          
2283 SUB          
2284 AND          
2285 BALANCE      
2286 PUSH6        0x09184e72a000
2293 MUL          
2294 DIV          
2295 PUSH1        0x08
2297 SSTORE       
2298 PUSH1        0x40
2300 DUP1         
2301 MLOAD        
2302 NUMBER       
2303 DUP2         
2304 MSTORE       
2305 TIMESTAMP    
2306 PUSH1        0x20
2308 DUP3         
2309 ADD          
2310 MSTORE       
2311 DUP1         
2312 DUP3         
2313 ADD          
2314 DUP7         
2315 SWAP1        
2316 MSTORE       
2317 SWAP1        
2318 MLOAD        
2319 SWAP1        
2320 DUP2         
2321 SWAP1        
2322 SUB          
2323 PUSH1        0x60
2325 ADD          
2326 SWAP1        
2327 SHA3         
2328 PUSH2        0x0922
2331 SWAP1        
2332 PUSH1        0x0a
2334 PUSH2        0x01e7
2337 JUMP         
2338 JUMPDEST     
2339 PUSH1        0x07
2341 SLOAD        
2342 SWAP1        
2343 SWAP2        
2344 POP          
2345 PUSH4        0xffffffff
2350 AND          
2351 DUP2         
2352 LT           
2353 PUSH2        0x0947
2356 JUMPI        
2357 PUSH1        0x00
2359 SWAP3        
2360 POP          
2361 PUSH2        0x03e7
2364 PUSH5        0x174876e800
2370 DUP6         
2371 DIV          
2372 DIV          
2373 SWAP2        
2374 POP          
2375 JUMPDEST     
2376 PUSH1        0x07
2378 SLOAD        
2379 PUSH4        0xffffffff
2384 AND          
2385 DUP2         
2386 LT           
2387 ISZERO       
2388 PUSH2        0x0965
2391 JUMPI        
2392 PUSH5        0x174876e800
2398 PUSH1        0x02
2400 DUP6         
2401 MUL          
2402 DIV          
2403 SWAP3        
2404 POP          

exec
/bin/bash -lc "node - <<'NODE'
const fs=require('fs');const bundle=JSON.parse(fs.readFileSync('BYTECODE_BUNDLE.json','utf8'));let hex=bundle.artifact.runtime_bytecode.full.slice(2);const opnames={0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'};
function dis(start,end){let pc=start;while(pc<=end){const op=parseInt(hex.slice(pc*2,pc*2+2),16);const name=opnames[op]||('OP_'+op.toString(16));let arg='';let next=pc+1;if(op>=0x60&&op<=0x7f){const n=op-0x5f;arg='0x'+hex.slice(next*2,next*2+n*2);next+=n;}console.log(pc.toString().padStart(4),name.padEnd(12),arg);pc=next;}}
dis(1821,2068)
NODE" in /tmp/codex-cac8u3sx
 succeeded in 0ms:
1821 JUMPDEST     
1822 POP          
1823 SWAP4        
1824 SWAP3        
1825 POP          
1826 POP          
1827 POP          
1828 JUMP         
1829 JUMPDEST     
1830 PUSH1        0x01
1832 PUSH1        0xa0
1834 PUSH1        0x02
1836 EXP          
1837 SUB          
1838 DUP4         
1839 AND          
1840 PUSH1        0x00
1842 SWAP1        
1843 DUP2         
1844 MSTORE       
1845 PUSH1        0x09
1847 PUSH1        0x20
1849 MSTORE       
1850 PUSH1        0x40
1852 SWAP1        
1853 SHA3         
1854 SLOAD        
1855 DUP1         
1856 DUP4         
1857 ADD          
1858 LT           
1859 ISZERO       
1860 PUSH2        0x074c
1863 JUMPI        
1864 PUSH2        0x0002
1867 JUMP         
1868 JUMPDEST     
1869 PUSH1        0x01
1871 PUSH1        0xa0
1873 PUSH1        0x02
1875 EXP          
1876 SUB          
1877 DUP5         
1878 DUP2         
1879 AND          
1880 PUSH1        0x00
1882 DUP2         
1883 DUP2         
1884 MSTORE       
1885 PUSH1        0x0a
1887 PUSH1        0x20
1889 SWAP1        
1890 DUP2         
1891 MSTORE       
1892 PUSH1        0x40
1894 DUP1         
1895 DUP4         
1896 SHA3         
1897 CALLER       
1898 SWAP1        
1899 SWAP6        
1900 AND          
1901 DUP1         
1902 DUP5         
1903 MSTORE       
1904 SWAP5        
1905 DUP3         
1906 MSTORE       
1907 DUP1         
1908 DUP4         
1909 SHA3         
1910 SLOAD        
1911 SWAP4        
1912 DUP4         
1913 MSTORE       
1914 PUSH1        0x0b
1916 DUP3         
1917 MSTORE       
1918 DUP1         
1919 DUP4         
1920 SHA3         
1921 SWAP5        
1922 DUP4         
1923 MSTORE       
1924 SWAP4        
1925 SWAP1        
1926 MSTORE       
1927 SWAP2        
1928 SWAP1        
1929 SWAP2        
1930 SHA3         
1931 SLOAD        
1932 DUP4         
1933 ADD          
1934 GT           
1935 ISZERO       
1936 PUSH2        0x0798
1939 JUMPI        
1940 PUSH2        0x0002
1943 JUMP         
1944 JUMPDEST     
1945 PUSH1        0x01
1947 PUSH1        0xa0
1949 PUSH1        0x02
1951 EXP          
1952 SUB          
1953 DUP5         
1954 DUP2         
1955 AND          
1956 PUSH1        0x00
1958 DUP2         
1959 DUP2         
1960 MSTORE       
1961 PUSH1        0x09
1963 PUSH1        0x20
1965 SWAP1        
1966 DUP2         
1967 MSTORE       
1968 PUSH1        0x40
1970 DUP1         
1971 DUP4         
1972 SHA3         
1973 DUP1         
1974 SLOAD        
1975 DUP9         
1976 SWAP1        
1977 SUB          
1978 SWAP1        
1979 SSTORE       
1980 DUP8         
1981 DUP6         
1982 AND          
1983 DUP1         
1984 DUP5         
1985 MSTORE       
1986 DUP2         
1987 DUP5         
1988 SHA3         
1989 DUP1         
1990 SLOAD        
1991 DUP10        
1992 ADD          
1993 SWAP1        
1994 SSTORE       
1995 DUP5         
1996 DUP5         
1997 MSTORE       
1998 PUSH1        0x0b
2000 DUP4         
2001 MSTORE       
2002 DUP2         
2003 DUP5         
2004 SHA3         
2005 CALLER       
2006 SWAP1        
2007 SWAP7        
2008 AND          
2009 DUP5         
2010 MSTORE       
2011 SWAP5        
2012 DUP3         
2013 MSTORE       
2014 SWAP2        
2015 DUP3         
2016 SWAP1        
2017 SHA3         
2018 DUP1         
2019 SLOAD        
2020 DUP8         
2021 ADD          
2022 SWAP1        
2023 SSTORE       
2024 DUP2         
2025 MLOAD        
2026 DUP7         
2027 DUP2         
2028 MSTORE       
2029 SWAP2        
2030 MLOAD        
2031 PUSH1        0x00
2033 DUP1         
2034 MLOAD        
2035 PUSH1        0x20
2037 PUSH2        0x0a09
2040 DUP4         
2041 CODECOPY     
2042 DUP2         
2043 MLOAD        
2044 SWAP2        
2045 MSTORE       
2046 SWAP3        
2047 DUP2         
2048 SWAP1        
2049 SUB          
2050 SWAP1        
2051 SWAP2        
2052 ADD          
2053 SWAP1        
2054 LOG3         
2055 POP          
2056 PUSH1        0x01
2058 SWAP4        
2059 SWAP3        
2060 POP          
2061 POP          
2062 POP          
2063 JUMP         
2064 JUMPDEST     
2065 PUSH1        0x06
2067 SSTORE       
2068 JUMP         

exec
/bin/bash -lc "node - <<'NODE'
const fs=require('fs');const bundle=JSON.parse(fs.readFileSync('BYTECODE_BUNDLE.json','utf8'));const hex=bundle.artifact.runtime_bytecode.full.slice(2);
const opnames={0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x10:'LT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x19:'NOT',0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x39:'CODECOPY',0x51:'MLOAD',0x52:'MSTORE',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x5a:'GAS',0x60:'PUSH1',0x61:'PUSH2',0x65:'PUSH6',0x73:'PUSH20',0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0xa3:'LOG3',0xf1:'CALL'};
function decode(start,end){let pc=start, out=[];while(pc<=end){const op=parseInt(hex.slice(pc*2,pc*2+2),16);let next=pc+1,arg='';if(op>=0x60&&op<=0x7f){const n=op-0x5f;arg='0x'+hex.slice(next*2,next*2+n*2);next+=n;} out.push({pc,op,name:opnames[op]||('OP_'+op.toString(16)),arg}); pc=next;} return out;}
const ops=decode(1287,1681);
let stack=[];
function show(){return '['+stack.map((x,i)=>"'`${stack.length-i}:${x}`).join('"', ')+']';}
function pop(){return stack.pop()||'?';}
function push(x){stack.push(x);}
for (const ins of ops){const n=ins.name; const a=ins.arg;
  try {
    if(n.startsWith('PUSH')) push(a);
    else if(n.startsWith('DUP')) { const idx=Number(n.slice(3)); push(stack[stack.length-idx]||"'`dup?${idx}`); }
    else if(n.startsWith('"'SWAP')) { const idx=Number(n.slice(4)); const i=stack.length-1, j=stack.length-1-idx; [stack[i],stack[j]]=[stack[j],stack[i]]; }
    else if(n==='POP') pop();
    else if(['ADD','SUB','MUL','DIV','AND','EQ','LT'].includes(n)) { const b=pop(), c=pop(); push("'`(${c} ${n} ${b})`); }
    else if(n==='"'ISZERO') { const b=pop(); push("'`iszero(${b})`); }
    else if(n==='"'NOT') { const b=pop(); push("'`not(${b})`); }
    else if(n==='"'CALLDATALOAD') { const b=pop(); push("'`cd[${b}]`); }
    else if(n==='"'SLOAD') { const b=pop(); push("'`sload(${b})`); }
    else if(n==='"'SSTORE') { const slot=pop(), val=pop(); push("'`sstore(${slot},${val})`); }
    else if(n==='"'MLOAD') { const b=pop(); push("'`mload(${b})`); }
    else if(n==='"'MSTORE') { const off=pop(), val=pop(); push("'`mstore(${off},${val})`); }
    else if(n==='"'SHA3') { const sz=pop(), off=pop(); push("'`sha3(${off},${sz})`); }
    else if(n==='"'ADDRESS') push('address(this)');
    else if(n==='CALLER') push('caller');
    else if(n==='CALLVALUE') push('callvalue');
    else if(n==='BALANCE') { const addr=pop(); push("'`balance(${addr})`); }
    else if(n==='"'GAS') push('gas');
    else if(n==='CODECOPY') { const mem=pop(), code=pop(), size=pop(); push("'`codecopy(${mem},${code},${size})`); }
    else if(n==='"'LOG3') { const t3=pop(), t2=pop(), t1=pop(), mem=pop(), size=pop(); push("'`log3(${size},${mem},${t1},${t2},${t3})`); }
    else if(n==='"'CALL') { const gas=pop(), to=pop(), value=pop(), inOff=pop(), inSz=pop(), outOff=pop(), outSz=pop(); push("'`call(gas=${gas},to=${to},value=${value},in=${inOff}/${inSz},out=${outOff}/${outSz})`); }
    else if(['"'JUMPDEST','JUMPI','JUMP'].includes(n)) {}
    else {}
  } catch(e) { console.log('error at',ins.pc,n,e.message); break; }
  if([1288,1324,1341,1349,1639,1661,1681].includes(ins.pc)) console.log(ins.pc,n,a,show());
}
console.log('final',show());
NODE" in /tmp/codex-cac8u3sx
 succeeded in 0ms:
1288 PUSH2 0x05eb [1:0x05eb]
1324 SSTORE  [5:0x05eb, 4:cd[0x04], 3:sload(0x04), 2:(0xa0 SUB 0x02), 1:sstore(0x08,(address(this) DIV (balance((0x01 AND (0xa0 SUB 0x02))) MUL 0x5af3107a4000)))]
1341 SLOAD  [8:0x05eb, 7:cd[0x04], 6:sload(0x04), 5:(0xa0 SUB 0x02), 4:0x00, 3:mstore(0x00,(sstore(0x08,(address(this) DIV (balance((0x01 AND (0xa0 SUB 0x02))) MUL 0x5af3107a4000))) AND caller)), 2:mstore(0x20,0x09), 1:sload(sha3(0x40,mstore(0x20,0x09)))]
1349 JUMPI  [9:0x05eb, 8:cd[0x04], 7:sload(0x04), 6:(0xa0 SUB 0x02), 5:0x00, 4:mstore(0x00,(sstore(0x08,(address(this) DIV (balance((0x01 AND (0xa0 SUB 0x02))) MUL 0x5af3107a4000))) AND caller)), 3:mstore(0x20,0x09), 2:iszero((mstore(0x00,(sstore(0x08,(address(this) DIV (balance((0x01 AND (0xa0 SUB 0x02))) MUL 0x5af3107a4000))) AND caller)) LT sload(sha3(0x40,mstore(0x20,0x09))))), 1:0x064a]
1639 DUP1  [51:0x05eb, 50:cd[0x04], 49:sload(0x04), 48:(0xa0 SUB 0x02), 47:0x00, 46:mstore(0x00,(sstore(0x08,(address(this) DIV (balance((0x01 AND (0xa0 SUB 0x02))) MUL 0x5af3107a4000))) AND caller)), 45:mstore(0x20,0x09), 44:iszero((mstore(0x00,(sstore(0x08,(address(this) DIV (balance((0x01 AND (0xa0 SUB 0x02))) MUL 0x5af3107a4000))) AND caller)) LT sload(sha3(0x40,mstore(0x20,0x09))))), 43:0x064a, 42:0x0002, 41:0x0106, 40:cd[0x04], 39:sload(0x00), 38:((0x01 AND (0xa0 SUB 0x02)) EQ ((0xa0 SUB 0x02) AND caller)), 37:0x06c8, 36:0x0002, 35:0x062d, 34:sload(0x05), 33:(0x01 AND (0xa0 SUB 0x02)), 32:sload(0x05), 31:mload(0x40), 30:mload(0x40), 29:(mload(0x40) ADD 0x20), 28:mstore(mload(0x40),(mload(0x40) SUB (mload(0x40) ADD 0x20))), 27:(mstore(mstore(mload(0x40),(mload(0x40) SUB (mload(0x40) ADD 0x20))),mload(mload(0x40))) ADD 0x20), 26:mstore(mload(0x40),(mload(0x40) SUB (mload(0x40) ADD 0x20))), 25:(mload(0x40) ADD 0x20), 24:(call(gas=(((0x20 DIV (mload(mload(0x40)) ADD 0x1f)) MUL 0x0f) ADD 0x03),to=0x04,value=0x00,in=(mload(0x40) ADD 0x20)/mload(mload(0x40)),out=mstore(mload(0x40),(mload(0x40) SUB (mload(0x40) ADD 0x20)))/mload(mload(0x40))) ADD mload(mload(0x40))), 23:(mload(mload(0x40)) AND 0x1f), 22:iszero((mload(mload(0x40)) AND 0x1f)), 21:(0x05dd SUB iszero((mload(mload(0x40)) AND 0x1f))), 20:(mstore(mload((0x05dd SUB iszero((mload(mload(0x40)) AND 0x1f)))),(0x01 AND not(((0x05dd SUB 0x20) SUB 0x0100)))) ADD 0x20), 19:mload((0x05dd SUB iszero((mload(mload(0x40)) AND 0x1f)))), 18:(mload(0x40) SUB 0x05dd), 17:mload(0x40), 16:0x40, 15:((mload(mstore(0x40,(((mload(mstore(mload(0x40),mload(0x40))) SUB 0x40) ADD 0x20) AND mload(0x40)))) SUB mload(mstore(mload(0x40),mload(0x40)))) ADD 0x20), 14:mload(0x40), 13:((mload(mstore(mload(0x40),(0xff AND mload(mstore(0x40,(((mload(mstore(mload(0x40),mload(0x40))) SUB 0x40) ADD 0x20) AND mload(0x40))))))) SUB 0x40) ADD 0x20), 12:mload(mstore(mload(0x40),(0xff AND mload(mstore(0x40,(((mload(mstore(mload(0x40),mload(0x40))) SUB 0x40) ADD 0x20) AND mload(0x40))))))), 11:0x01, 10:((mload(mstore(0x01,(0x40 AND (0xa0 SUB 0x02)))) SUB mload(0x40)) ADD 0x20), 9:mload(mstore(0x01,(0x40 AND (0xa0 SUB 0x02)))), 8:address(this), 7:(0xa0 SUB 0x02), 6:0x00, 5:mstore(0x00,(0x01 AND (0xa0 SUB 0x02))), 4:mstore(0x20,0x09), 3:0x40, 2:sha3(0x40,mstore(0x20,0x09)), 1:sha3(0x40,mstore(0x20,0x09))]
1661 SSTORE  [52:0x05eb, 51:cd[0x04], 50:sload(0x04), 49:(0xa0 SUB 0x02), 48:0x00, 47:mstore(0x00,(sstore(0x08,(address(this) DIV (balance((0x01 AND (0xa0 SUB 0x02))) MUL 0x5af3107a4000))) AND caller)), 46:mstore(0x20,0x09), 45:iszero((mstore(0x00,(sstore(0x08,(address(this) DIV (balance((0x01 AND (0xa0 SUB 0x02))) MUL 0x5af3107a4000))) AND caller)) LT sload(sha3(0x40,mstore(0x20,0x09))))), 44:0x064a, 43:0x0002, 42:0x0106, 41:cd[0x04], 40:sload(0x00), 39:((0x01 AND (0xa0 SUB 0x02)) EQ ((0xa0 SUB 0x02) AND caller)), 38:0x06c8, 37:0x0002, 36:0x062d, 35:sload(0x05), 34:(0x01 AND (0xa0 SUB 0x02)), 33:sload(0x05), 32:mload(0x40), 31:mload(0x40), 30:(mload(0x40) ADD 0x20), 29:mstore(mload(0x40),(mload(0x40) SUB (mload(0x40) ADD 0x20))), 28:(mstore(mstore(mload(0x40),(mload(0x40) SUB (mload(0x40) ADD 0x20))),mload(mload(0x40))) ADD 0x20), 27:mstore(mload(0x40),(mload(0x40) SUB (mload(0x40) ADD 0x20))), 26:(mload(0x40) ADD 0x20), 25:(call(gas=(((0x20 DIV (mload(mload(0x40)) ADD 0x1f)) MUL 0x0f) ADD 0x03),to=0x04,value=0x00,in=(mload(0x40) ADD 0x20)/mload(mload(0x40)),out=mstore(mload(0x40),(mload(0x40) SUB (mload(0x40) ADD 0x20)))/mload(mload(0x40))) ADD mload(mload(0x40))), 24:(mload(mload(0x40)) AND 0x1f), 23:iszero((mload(mload(0x40)) AND 0x1f)), 22:(0x05dd SUB iszero((mload(mload(0x40)) AND 0x1f))), 21:(mstore(mload((0x05dd SUB iszero((mload(mload(0x40)) AND 0x1f)))),(0x01 AND not(((0x05dd SUB 0x20) SUB 0x0100)))) ADD 0x20), 20:mload((0x05dd SUB iszero((mload(mload(0x40)) AND 0x1f)))), 19:(mload(0x40) SUB 0x05dd), 18:mload(0x40), 17:0x40, 16:((mload(mstore(0x40,(((mload(mstore(mload(0x40),mload(0x40))) SUB 0x40) ADD 0x20) AND mload(0x40)))) SUB mload(mstore(mload(0x40),mload(0x40)))) ADD 0x20), 15:mload(0x40), 14:((mload(mstore(mload(0x40),(0xff AND mload(mstore(0x40,(((mload(mstore(mload(0x40),mload(0x40))) SUB 0x40) ADD 0x20) AND mload(0x40))))))) SUB 0x40) ADD 0x20), 13:mload(mstore(mload(0x40),(0xff AND mload(mstore(0x40,(((mload(mstore(mload(0x40),mload(0x40))) SUB 0x40) ADD 0x20) AND mload(0x40))))))), 12:0x01, 11:((mload(mstore(0x01,(0x40 AND (0xa0 SUB 0x02)))) SUB mload(0x40)) ADD 0x20), 10:mload(mstore(0x01,(0x40 AND (0xa0 SUB 0x02)))), 9:address(this), 8:(0xa0 SUB 0x02), 7:0x00, 6:mstore(0x00,(0x01 AND (0xa0 SUB 0x02))), 5:sstore(sha3(0x40,mstore(0x20,0x09)),(sload(sha3(0x40,mstore(0x20,0x09))) ADD 0x00)), 4:0x40, 3:(caller AND mstore(0x20,0x09)), 2:mstore(0x40,(caller AND mstore(0x20,0x09))), 1:sstore(sha3(0x40,(caller AND mstore(0x20,0x09))),(sstore(sha3(0x40,mstore(0x20,0x09)),(sload(sha3(0x40,mstore(0x20,0x09))) ADD 0x00)) SUB sload(sha3(0x40,(caller AND mstore(0x20,0x09))))))]
1681 CALL  [55:0x05eb, 54:cd[0x04], 53:sload(0x04), 52:(0xa0 SUB 0x02), 51:0x00, 50:mstore(0x00,(sstore(0x08,(address(this) DIV (balance((0x01 AND (0xa0 SUB 0x02))) MUL 0x5af3107a4000))) AND caller)), 49:mstore(0x20,0x09), 48:iszero((mstore(0x00,(sstore(0x08,(address(this) DIV (balance((0x01 AND (0xa0 SUB 0x02))) MUL 0x5af3107a4000))) AND caller)) LT sload(sha3(0x40,mstore(0x20,0x09))))), 47:0x064a, 46:0x0002, 45:0x0106, 44:cd[0x04], 43:sload(0x00), 42:((0x01 AND (0xa0 SUB 0x02)) EQ ((0xa0 SUB 0x02) AND caller)), 41:0x06c8, 40:0x0002, 39:0x062d, 38:sload(0x05), 37:(0x01 AND (0xa0 SUB 0x02)), 36:sload(0x05), 35:mload(0x40), 34:mload(0x40), 33:(mload(0x40) ADD 0x20), 32:mstore(mload(0x40),(mload(0x40) SUB (mload(0x40) ADD 0x20))), 31:(mstore(mstore(mload(0x40),(mload(0x40) SUB (mload(0x40) ADD 0x20))),mload(mload(0x40))) ADD 0x20), 30:mstore(mload(0x40),(mload(0x40) SUB (mload(0x40) ADD 0x20))), 29:(mload(0x40) ADD 0x20), 28:(call(gas=(((0x20 DIV (mload(mload(0x40)) ADD 0x1f)) MUL 0x0f) ADD 0x03),to=0x04,value=0x00,in=(mload(0x40) ADD 0x20)/mload(mload(0x40)),out=mstore(mload(0x40),(mload(0x40) SUB (mload(0x40) ADD 0x20)))/mload(mload(0x40))) ADD mload(mload(0x40))), 27:(mload(mload(0x40)) AND 0x1f), 26:iszero((mload(mload(0x40)) AND 0x1f)), 25:(0x05dd SUB iszero((mload(mload(0x40)) AND 0x1f))), 24:(mstore(mload((0x05dd SUB iszero((mload(mload(0x40)) AND 0x1f)))),(0x01 AND not(((0x05dd SUB 0x20) SUB 0x0100)))) ADD 0x20), 23:mload((0x05dd SUB iszero((mload(mload(0x40)) AND 0x1f)))), 22:(mload(0x40) SUB 0x05dd), 21:mload(0x40), 20:0x40, 19:((mload(mstore(0x40,(((mload(mstore(mload(0x40),mload(0x40))) SUB 0x40) ADD 0x20) AND mload(0x40)))) SUB mload(mstore(mload(0x40),mload(0x40)))) ADD 0x20), 18:mload(0x40), 17:((mload(mstore(mload(0x40),(0xff AND mload(mstore(0x40,(((mload(mstore(mload(0x40),mload(0x40))) SUB 0x40) ADD 0x20) AND mload(0x40))))))) SUB 0x40) ADD 0x20), 16:mload(mstore(mload(0x40),(0xff AND mload(mstore(0x40,(((mload(mstore(mload(0x40),mload(0x40))) SUB 0x40) ADD 0x20) AND mload(0x40))))))), 15:0x01, 14:((mload(mstore(0x01,(0x40 AND (0xa0 SUB 0x02)))) SUB mload(0x40)) ADD 0x20), 13:mload(mstore(0x01,(0x40 AND (0xa0 SUB 0x02)))), 12:address(this), 11:(0xa0 SUB 0x02), 10:0x00, 9:mstore(0x00,(0x01 AND (0xa0 SUB 0x02))), 8:sstore(sha3(0x40,mstore(0x20,0x09)),(sload(sha3(0x40,mstore(0x20,0x09))) ADD 0x00)), 7:0x40, 6:(sload(0x08) MUL 0x40), 5:sstore(sha3(0x40,(caller AND mstore(0x20,0x09))),(sstore(sha3(0x40,mstore(0x20,0x09)),(sload(sha3(0x40,mstore(0x20,0x09))) ADD 0x00)) SUB sload(sha3(0x40,(caller AND mstore(0x20,0x09)))))), 4:mstore(0x40,(caller AND mstore(0x20,0x09))), 3:(sload(0x08) MUL 0x40), 2:mload((caller AND mstore(0x20,0x09))), 1:call(gas=mstore(0x40,(caller AND mstore(0x20,0x09))),to=sstore(sha3(0x40,(caller AND mstore(0x20,0x09))),(sstore(sha3(0x40,mstore(0x20,0x09)),(sload(sha3(0x40,mstore(0x20,0x09))) ADD 0x00)) SUB sload(sha3(0x40,(caller AND mstore(0x20,0x09)))))),value=(sload(0x08) MUL 0x40),in=mload((caller AND mstore(0x20,0x09)))/mstore(0x40,(caller AND mstore(0x20,0x09))),out=mload((caller AND mstore(0x20,0x09)))/mstore(0x40,(caller AND mstore(0x20,0x09))))]
final [55:0x05eb, 54:cd[0x04], 53:sload(0x04), 52:(0xa0 SUB 0x02), 51:0x00, 50:mstore(0x00,(sstore(0x08,(address(this) DIV (balance((0x01 AND (0xa0 SUB 0x02))) MUL 0x5af3107a4000))) AND caller)), 49:mstore(0x20,0x09), 48:iszero((mstore(0x00,(sstore(0x08,(address(this) DIV (balance((0x01 AND (0xa0 SUB 0x02))) MUL 0x5af3107a4000))) AND caller)) LT sload(sha3(0x40,mstore(0x20,0x09))))), 47:0x064a, 46:0x0002, 45:0x0106, 44:cd[0x04], 43:sload(0x00), 42:((0x01 AND (0xa0 SUB 0x02)) EQ ((0xa0 SUB 0x02) AND caller)), 41:0x06c8, 40:0x0002, 39:0x062d, 38:sload(0x05), 37:(0x01 AND (0xa0 SUB 0x02)), 36:sload(0x05), 35:mload(0x40), 34:mload(0x40), 33:(mload(0x40) ADD 0x20), 32:mstore(mload(0x40),(mload(0x40) SUB (mload(0x40) ADD 0x20))), 31:(mstore(mstore(mload(0x40),(mload(0x40) SUB (mload(0x40) ADD 0x20))),mload(mload(0x40))) ADD 0x20), 30:mstore(mload(0x40),(mload(0x40) SUB (mload(0x40) ADD 0x20))), 29:(mload(0x40) ADD 0x20), 28:(call(gas=(((0x20 DIV (mload(mload(0x40)) ADD 0x1f)) MUL 0x0f) ADD 0x03),to=0x04,value=0x00,in=(mload(0x40) ADD 0x20)/mload(mload(0x40)),out=mstore(mload(0x40),(mload(0x40) SUB (mload(0x40) ADD 0x20)))/mload(mload(0x40))) ADD mload(mload(0x40))), 27:(mload(mload(0x40)) AND 0x1f), 26:iszero((mload(mload(0x40)) AND 0x1f)), 25:(0x05dd SUB iszero((mload(mload(0x40)) AND 0x1f))), 24:(mstore(mload((0x05dd SUB iszero((mload(mload(0x40)) AND 0x1f)))),(0x01 AND not(((0x05dd SUB 0x20) SUB 0x0100)))) ADD 0x20), 23:mload((0x05dd SUB iszero((mload(mload(0x40)) AND 0x1f)))), 22:(mload(0x40) SUB 0x05dd), 21:mload(0x40), 20:0x40, 19:((mload(mstore(0x40,(((mload(mstore(mload(0x40),mload(0x40))) SUB 0x40) ADD 0x20) AND mload(0x40)))) SUB mload(mstore(mload(0x40),mload(0x40)))) ADD 0x20), 18:mload(0x40), 17:((mload(mstore(mload(0x40),(0xff AND mload(mstore(0x40,(((mload(mstore(mload(0x40),mload(0x40))) SUB 0x40) ADD 0x20) AND mload(0x40))))))) SUB 0x40) ADD 0x20), 16:mload(mstore(mload(0x40),(0xff AND mload(mstore(0x40,(((mload(mstore(mload(0x40),mload(0x40))) SUB 0x40) ADD 0x20) AND mload(0x40))))))), 15:0x01, 14:((mload(mstore(0x01,(0x40 AND (0xa0 SUB 0x02)))) SUB mload(0x40)) ADD 0x20), 13:mload(mstore(0x01,(0x40 AND (0xa0 SUB 0x02)))), 12:address(this), 11:(0xa0 SUB 0x02), 10:0x00, 9:mstore(0x00,(0x01 AND (0xa0 SUB 0x02))), 8:sstore(sha3(0x40,mstore(0x20,0x09)),(sload(sha3(0x40,mstore(0x20,0x09))) ADD 0x00)), 7:0x40, 6:(sload(0x08) MUL 0x40), 5:sstore(sha3(0x40,(caller AND mstore(0x20,0x09))),(sstore(sha3(0x40,mstore(0x20,0x09)),(sload(sha3(0x40,mstore(0x20,0x09))) ADD 0x00)) SUB sload(sha3(0x40,(caller AND mstore(0x20,0x09)))))), 4:mstore(0x40,(caller AND mstore(0x20,0x09))), 3:(sload(0x08) MUL 0x40), 2:mload((caller AND mstore(0x20,0x09))), 1:call(gas=mstore(0x40,(caller AND mstore(0x20,0x09))),to=sstore(sha3(0x40,(caller AND mstore(0x20,0x09))),(sstore(sha3(0x40,mstore(0x20,0x09)),(sload(sha3(0x40,mstore(0x20,0x09))) ADD 0x00)) SUB sload(sha3(0x40,(caller AND mstore(0x20,0x09)))))),value=(sload(0x08) MUL 0x40),in=mload((caller AND mstore(0x20,0x09)))/mstore(0x40,(caller AND mstore(0x20,0x09))),out=mload((caller AND mstore(0x20,0x09)))/mstore(0x40,(caller AND mstore(0x20,0x09))))]

exec
/bin/bash -lc "node - <<'NODE'
const fs=require('fs');const bundle=JSON.parse(fs.readFileSync('BYTECODE_BUNDLE.json','utf8'));let hex=bundle.artifact.runtime_bytecode.full.slice(2);const opnames={0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'};
function dis(start,end){let pc=start;while(pc<=end){const op=parseInt(hex.slice(pc*2,pc*2+2),16);const name=opnames[op]||('OP_'+op.toString(16));let arg='';let next=pc+1;if(op>=0x60&&op<=0x7f){const n=op-0x5f;arg='0x'+hex.slice(next*2,next*2+n*2);next+=n;}console.log(pc.toString().padStart(4),name.padEnd(12),arg);pc=next;}}
dis(1350,1410)
NODE" in /tmp/codex-cac8u3sx
 succeeded in 0ms:
1350 PUSH2        0x0002
1353 JUMP         
1354 JUMPDEST     
1355 PUSH2        0x0106
1358 PUSH1        0x04
1360 CALLDATALOAD 
1361 PUSH1        0x00
1363 SLOAD        
1364 CALLER       
1365 PUSH1        0x01
1367 PUSH1        0xa0
1369 PUSH1        0x02
1371 EXP          
1372 SUB          
1373 SWAP1        
1374 DUP2         
1375 AND          
1376 SWAP2        
1377 AND          
1378 EQ           
1379 PUSH2        0x06c8
1382 JUMPI        
1383 PUSH2        0x0002
1386 JUMP         
1387 JUMPDEST     
1388 PUSH2        0x062d
1391 PUSH1        0x05
1393 SLOAD        
1394 PUSH1        0x01
1396 PUSH1        0xa0
1398 PUSH1        0x02
1400 EXP          
1401 SUB          
1402 AND          
1403 DUP2         
1404 JUMP         
1405 JUMPDEST     
1406 PUSH1        0x40
1408 MLOAD        
1409 DUP1         
1410 DUP1         

exec
/bin/bash -lc "node - <<'NODE'
const fs=require('fs');const b=JSON.parse(fs.readFileSync('BYTECODE_BUNDLE.json','utf8'));const hex=b.artifact.runtime_bytecode.full.slice(2);const names={0x00:'STOP',0x14:'EQ',0x15:'ISZERO',0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x39:'CODECOPY',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x5a:'GAS',0x5b:'JUMPDEST',0x60:'PUSH1',0x61:'PUSH2',0x63:'PUSH4',0x65:'PUSH6',0x73:'PUSH20',0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0xa3:'LOG3',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN'};function dis(s,e){let pc=s;while(pc<=e){const op=parseInt(hex.slice(pc*2,pc*2+2),16);let name=names[op]||('OP_'+op.toString(16));let arg='';let nx=pc+1;if(op>=0x60&&op<=0x7f){let n=op-0x5f;arg='0x'+hex.slice(nx*2,nx*2+n*2);nx+=n;}console.log(pc.toString().padStart(4),name.padEnd(12),arg);pc=nx;}}dis(1354,1410);console.log('---');dis(1354,1410);console.log('---');dis(1354,1410);console.log('---');dis(1354,1410);console.log('---');dis(1354,1410);
NODE" in /tmp/codex-cac8u3sx
 succeeded in 0ms:
1354 JUMPDEST     
1355 PUSH2        0x0106
1358 PUSH1        0x04
1360 CALLDATALOAD 
1361 PUSH1        0x00
1363 SLOAD        
1364 CALLER       
1365 PUSH1        0x01
1367 PUSH1        0xa0
1369 PUSH1        0x02
1371 OP_a         
1372 OP_3         
1373 SWAP1        
1374 DUP2         
1375 OP_16        
1376 SWAP2        
1377 OP_16        
1378 EQ           
1379 PUSH2        0x06c8
1382 JUMPI        
1383 PUSH2        0x0002
1386 JUMP         
1387 JUMPDEST     
1388 PUSH2        0x062d
1391 PUSH1        0x05
1393 SLOAD        
1394 PUSH1        0x01
1396 PUSH1        0xa0
1398 PUSH1        0x02
1400 OP_a         
1401 OP_3         
1402 OP_16        
1403 DUP2         
1404 JUMP         
1405 JUMPDEST     
1406 PUSH1        0x40
1408 MLOAD        
1409 DUP1         
1410 DUP1         
---
1354 JUMPDEST     
1355 PUSH2        0x0106
1358 PUSH1        0x04
1360 CALLDATALOAD 
1361 PUSH1        0x00
1363 SLOAD        
1364 CALLER       
1365 PUSH1        0x01
1367 PUSH1        0xa0
1369 PUSH1        0x02
1371 OP_a         
1372 OP_3         
1373 SWAP1        
1374 DUP2         
1375 OP_16        
1376 SWAP2        
1377 OP_16        
1378 EQ           
1379 PUSH2        0x06c8
1382 JUMPI        
1383 PUSH2        0x0002
1386 JUMP         
1387 JUMPDEST     
1388 PUSH2        0x062d
1391 PUSH1        0x05
1393 SLOAD        
1394 PUSH1        0x01
1396 PUSH1        0xa0
1398 PUSH1        0x02
1400 OP_a         
1401 OP_3         
1402 OP_16        
1403 DUP2         
1404 JUMP         
1405 JUMPDEST     
1406 PUSH1        0x40
1408 MLOAD        
1409 DUP1         
1410 DUP1         
---
1354 JUMPDEST     
1355 PUSH2        0x0106
1358 PUSH1        0x04
1360 CALLDATALOAD 
1361 PUSH1        0x00
1363 SLOAD        
1364 CALLER       
1365 PUSH1        0x01
1367 PUSH1        0xa0
1369 PUSH1        0x02
1371 OP_a         
1372 OP_3         
1373 SWAP1        
1374 DUP2         
1375 OP_16        
1376 SWAP2        
1377 OP_16        
1378 EQ           
1379 PUSH2        0x06c8
1382 JUMPI        
1383 PUSH2        0x0002
1386 JUMP         
1387 JUMPDEST     
1388 PUSH2        0x062d
1391 PUSH1        0x05
1393 SLOAD        
1394 PUSH1        0x01
1396 PUSH1        0xa0
1398 PUSH1        0x02
1400 OP_a         
1401 OP_3         
1402 OP_16        
1403 DUP2         
1404 JUMP         
1405 JUMPDEST     
1406 PUSH1        0x40
1408 MLOAD        
1409 DUP1         
1410 DUP1         
---
1354 JUMPDEST     
1355 PUSH2        0x0106
1358 PUSH1        0x04
1360 CALLDATALOAD 
1361 PUSH1        0x00
1363 SLOAD        
1364 CALLER       
1365 PUSH1        0x01
1367 PUSH1        0xa0
1369 PUSH1        0x02
1371 OP_a         
1372 OP_3         
1373 SWAP1        
1374 DUP2         
1375 OP_16        
1376 SWAP2        
1377 OP_16        
1378 EQ           
1379 PUSH2        0x06c8
1382 JUMPI        
1383 PUSH2        0x0002
1386 JUMP         
1387 JUMPDEST     
1388 PUSH2        0x062d
1391 PUSH1        0x05
1393 SLOAD        
1394 PUSH1        0x01
1396 PUSH1        0xa0
1398 PUSH1        0x02
1400 OP_a         
1401 OP_3         
1402 OP_16        
1403 DUP2         
1404 JUMP         
1405 JUMPDEST     
1406 PUSH1        0x40
1408 MLOAD        
1409 DUP1         
1410 DUP1         
---
1354 JUMPDEST     
1355 PUSH2        0x0106
1358 PUSH1        0x04
1360 CALLDATALOAD 
1361 PUSH1        0x00
1363 SLOAD        
1364 CALLER       
1365 PUSH1        0x01
1367 PUSH1        0xa0
1369 PUSH1        0x02
1371 OP_a         
1372 OP_3         
1373 SWAP1        
1374 DUP2         
1375 OP_16        
1376 SWAP2        
1377 OP_16        
1378 EQ           
1379 PUSH2        0x06c8
1382 JUMPI        
1383 PUSH2        0x0002
1386 JUMP         
1387 JUMPDEST     
1388 PUSH2        0x062d
1391 PUSH1        0x05
1393 SLOAD        
1394 PUSH1        0x01
1396 PUSH1        0xa0
1398 PUSH1        0x02
1400 OP_a         
1401 OP_3         
1402 OP_16        
1403 DUP2         
1404 JUMP         
1405 JUMPDEST     
1406 PUSH1        0x40
1408 MLOAD        
1409 DUP1         
1410 DUP1         

exec
/bin/bash -lc "node - <<'NODE'
const fs=require('fs');const b=JSON.parse(fs.readFileSync('BYTECODE_BUNDLE.json','utf8'));const hex=b.artifact.runtime_bytecode.full.slice(2);const names={0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0x60:'PUSH1',0x61:'PUSH2',0x63:'PUSH4',0x65:'PUSH6',0x73:'PUSH20',0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0xa3:'LOG3',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN'};function dis(s,e){let pc=s;while(pc<=e){const op=parseInt(hex.slice(pc*2,pc*2+2),16);let name=names[op]||('OP_'+op.toString(16));let arg='';let nx=pc+1;if(op>=0x60&&op<=0x7f){let n=op-0x5f;arg='0x'+hex.slice(nx*2,nx*2+n*2);nx+=n;}console.log(pc.toString().padStart(4),name.padEnd(12),arg);pc=nx;}}dis(1330,1390);console.log('---');dis(1340,1410);console.log('---');dis(1330,1410);
NODE" in /tmp/codex-cac8u3sx
 succeeded in 0ms:
1330 DUP2         
1331 MSTORE       
1332 PUSH1        0x09
1334 PUSH1        0x20
1336 MSTORE       
1337 PUSH1        0x40
1339 DUP2         
1340 SHA3         
1341 SLOAD        
1342 DUP3         
1343 SWAP1        
1344 LT           
1345 ISZERO       
1346 PUSH2        0x064a
1349 JUMPI        
1350 PUSH2        0x0002
1353 JUMP         
1354 JUMPDEST     
1355 PUSH2        0x0106
1358 PUSH1        0x04
1360 CALLDATALOAD 
1361 PUSH1        0x00
1363 SLOAD        
1364 CALLER       
1365 PUSH1        0x01
1367 PUSH1        0xa0
1369 PUSH1        0x02
1371 EXP          
1372 SUB          
1373 SWAP1        
1374 DUP2         
1375 AND          
1376 SWAP2        
1377 AND          
1378 EQ           
1379 PUSH2        0x06c8
1382 JUMPI        
1383 PUSH2        0x0002
1386 JUMP         
1387 JUMPDEST     
1388 PUSH2        0x062d
---
1340 SHA3         
1341 SLOAD        
1342 DUP3         
1343 SWAP1        
1344 LT           
1345 ISZERO       
1346 PUSH2        0x064a
1349 JUMPI        
1350 PUSH2        0x0002
1353 JUMP         
1354 JUMPDEST     
1355 PUSH2        0x0106
1358 PUSH1        0x04
1360 CALLDATALOAD 
1361 PUSH1        0x00
1363 SLOAD        
1364 CALLER       
1365 PUSH1        0x01
1367 PUSH1        0xa0
1369 PUSH1        0x02
1371 EXP          
1372 SUB          
1373 SWAP1        
1374 DUP2         
1375 AND          
1376 SWAP2        
1377 AND          
1378 EQ           
1379 PUSH2        0x06c8
1382 JUMPI        
1383 PUSH2        0x0002
1386 JUMP         
1387 JUMPDEST     
1388 PUSH2        0x062d
1391 PUSH1        0x05
1393 SLOAD        
1394 PUSH1        0x01
1396 PUSH1        0xa0
1398 PUSH1        0x02
1400 EXP          
1401 SUB          
1402 AND          
1403 DUP2         
1404 JUMP         
1405 JUMPDEST     
1406 PUSH1        0x40
1408 MLOAD        
1409 DUP1         
1410 DUP1         
---
1330 DUP2         
1331 MSTORE       
1332 PUSH1        0x09
1334 PUSH1        0x20
1336 MSTORE       
1337 PUSH1        0x40
1339 DUP2         
1340 SHA3         
1341 SLOAD        
1342 DUP3         
1343 SWAP1        
1344 LT           
1345 ISZERO       
1346 PUSH2        0x064a
1349 JUMPI        
1350 PUSH2        0x0002
1353 JUMP         
1354 JUMPDEST     
1355 PUSH2        0x0106
1358 PUSH1        0x04
1360 CALLDATALOAD 
1361 PUSH1        0x00
1363 SLOAD        
1364 CALLER       
1365 PUSH1        0x01
1367 PUSH1        0xa0
1369 PUSH1        0x02
1371 EXP          
1372 SUB          
1373 SWAP1        
1374 DUP2         
1375 AND          
1376 SWAP2        
1377 AND          
1378 EQ           
1379 PUSH2        0x06c8
1382 JUMPI        
1383 PUSH2        0x0002
1386 JUMP         
1387 JUMPDEST     
1388 PUSH2        0x062d
1391 PUSH1        0x05
1393 SLOAD        
1394 PUSH1        0x01
1396 PUSH1        0xa0
1398 PUSH1        0x02
1400 EXP          
1401 SUB          
1402 AND          
1403 DUP2         
1404 JUMP         
1405 JUMPDEST     
1406 PUSH1        0x40
1408 MLOAD        
1409 DUP1         
1410 DUP1         

exec
/bin/bash -lc "node - <<'NODE'
const fs=require('fs');const b=JSON.parse(fs.readFileSync('BYTECODE_BUNDLE.json','utf8'));const hex=b.artifact.runtime_bytecode.full.slice(2);const names={0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0x60:'PUSH1',0x61:'PUSH2',0x63:'PUSH4',0x65:'PUSH6',0x73:'PUSH20',0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0xa3:'LOG3',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN'};function dis(s,e){let pc=s;while(pc<=e){const op=parseInt(hex.slice(pc*2,pc*2+2),16);let name=names[op]||('OP_'+op.toString(16));let arg='';let nx=pc+1;if(op>=0x60&&op<=0x7f){let n=op-0x5f;arg='0x'+hex.slice(nx*2,nx*2+n*2);nx+=n;}console.log(pc.toString().padStart(4),name.padEnd(12),arg);pc=nx;}}dis(1328,1390);console.log('---');dis(1354,1410);console.log('---');dis(1328,1410);console.log('---');dis(1330,1405);console.log('---');dis(1330,1405);console.log('---');dis(1320,1405);console.log('---');dis(1330,1410);console.log('---');dis(1328,1410);
NODE" in /tmp/codex-cac8u3sx
 succeeded in 0ms:
1328 STOP         
1329 SWAP1        
1330 DUP2         
1331 MSTORE       
1332 PUSH1        0x09
1334 PUSH1        0x20
1336 MSTORE       
1337 PUSH1        0x40
1339 DUP2         
1340 SHA3         
1341 SLOAD        
1342 DUP3         
1343 SWAP1        
1344 LT           
1345 ISZERO       
1346 PUSH2        0x064a
1349 JUMPI        
1350 PUSH2        0x0002
1353 JUMP         
1354 JUMPDEST     
1355 PUSH2        0x0106
1358 PUSH1        0x04
1360 CALLDATALOAD 
1361 PUSH1        0x00
1363 SLOAD        
1364 CALLER       
1365 PUSH1        0x01
1367 PUSH1        0xa0
1369 PUSH1        0x02
1371 EXP          
1372 SUB          
1373 SWAP1        
1374 DUP2         
1375 AND          
1376 SWAP2        
1377 AND          
1378 EQ           
1379 PUSH2        0x06c8
1382 JUMPI        
1383 PUSH2        0x0002
1386 JUMP         
1387 JUMPDEST     
1388 PUSH2        0x062d
---
1354 JUMPDEST     
1355 PUSH2        0x0106
1358 PUSH1        0x04
1360 CALLDATALOAD 
1361 PUSH1        0x00
1363 SLOAD        
1364 CALLER       
1365 PUSH1        0x01
1367 PUSH1        0xa0
1369 PUSH1        0x02
1371 EXP          
1372 SUB          
1373 SWAP1        
1374 DUP2         
1375 AND          
1376 SWAP2        
1377 AND          
1378 EQ           
1379 PUSH2        0x06c8
1382 JUMPI        
1383 PUSH2        0x0002
1386 JUMP         
1387 JUMPDEST     
1388 PUSH2        0x062d
1391 PUSH1        0x05
1393 SLOAD        
1394 PUSH1        0x01
1396 PUSH1        0xa0
1398 PUSH1        0x02
1400 EXP          
1401 SUB          
1402 AND          
1403 DUP2         
1404 JUMP         
1405 JUMPDEST     
1406 PUSH1        0x40
1408 MLOAD        
1409 DUP1         
1410 DUP1         
---
1328 STOP         
1329 SWAP1        
1330 DUP2         
1331 MSTORE       
1332 PUSH1        0x09
1334 PUSH1        0x20
1336 MSTORE       
1337 PUSH1        0x40
1339 DUP2         
1340 SHA3         
1341 SLOAD        
1342 DUP3         
1343 SWAP1        
1344 LT           
1345 ISZERO       
1346 PUSH2        0x064a
1349 JUMPI        
1350 PUSH2        0x0002
1353 JUMP         
1354 JUMPDEST     
1355 PUSH2        0x0106
1358 PUSH1        0x04
1360 CALLDATALOAD 
1361 PUSH1        0x00
1363 SLOAD        
1364 CALLER       
1365 PUSH1        0x01
1367 PUSH1        0xa0
1369 PUSH1        0x02
1371 EXP          
1372 SUB          
1373 SWAP1        
1374 DUP2         
1375 AND          
1376 SWAP2        
1377 AND          
1378 EQ           
1379 PUSH2        0x06c8
1382 JUMPI        
1383 PUSH2        0x0002
1386 JUMP         
1387 JUMPDEST     
1388 PUSH2        0x062d
1391 PUSH1        0x05
1393 SLOAD        
1394 PUSH1        0x01
1396 PUSH1        0xa0
1398 PUSH1        0x02
1400 EXP          
1401 SUB          
1402 AND          
1403 DUP2         
1404 JUMP         
1405 JUMPDEST     
1406 PUSH1        0x40
1408 MLOAD        
1409 DUP1         
1410 DUP1         
---
1330 DUP2         
1331 MSTORE       
1332 PUSH1        0x09
1334 PUSH1        0x20
1336 MSTORE       
1337 PUSH1        0x40
1339 DUP2         
1340 SHA3         
1341 SLOAD        
1342 DUP3         
1343 SWAP1        
1344 LT           
1345 ISZERO       
1346 PUSH2        0x064a
1349 JUMPI        
1350 PUSH2        0x0002
1353 JUMP         
1354 JUMPDEST     
1355 PUSH2        0x0106
1358 PUSH1        0x04
1360 CALLDATALOAD 
1361 PUSH1        0x00
1363 SLOAD        
1364 CALLER       
1365 PUSH1        0x01
1367 PUSH1        0xa0
1369 PUSH1        0x02
1371 EXP          
1372 SUB          
1373 SWAP1        
1374 DUP2         
1375 AND          
1376 SWAP2        
1377 AND          
1378 EQ           
1379 PUSH2        0x06c8
1382 JUMPI        
1383 PUSH2        0x0002
1386 JUMP         
1387 JUMPDEST     
1388 PUSH2        0x062d
1391 PUSH1        0x05
1393 SLOAD        
1394 PUSH1        0x01
1396 PUSH1        0xa0
1398 PUSH1        0x02
1400 EXP          
1401 SUB          
1402 AND          
1403 DUP2         
1404 JUMP         
1405 JUMPDEST     
---
1330 DUP2         
1331 MSTORE       
1332 PUSH1        0x09
1334 PUSH1        0x20
1336 MSTORE       
1337 PUSH1        0x40
1339 DUP2         
1340 SHA3         
1341 SLOAD        
1342 DUP3         
1343 SWAP1        
1344 LT           
1345 ISZERO       
1346 PUSH2        0x064a
1349 JUMPI        
1350 PUSH2        0x0002
1353 JUMP         
1354 JUMPDEST     
1355 PUSH2        0x0106
1358 PUSH1        0x04
1360 CALLDATALOAD 
1361 PUSH1        0x00
1363 SLOAD        
1364 CALLER       
1365 PUSH1        0x01
1367 PUSH1        0xa0
1369 PUSH1        0x02
1371 EXP          
1372 SUB          
1373 SWAP1        
1374 DUP2         
1375 AND          
1376 SWAP2        
1377 AND          
1378 EQ           
1379 PUSH2        0x06c8
1382 JUMPI        
1383 PUSH2        0x0002
1386 JUMP         
1387 JUMPDEST     
1388 PUSH2        0x062d
1391 PUSH1        0x05
1393 SLOAD        
1394 PUSH1        0x01
1396 PUSH1        0xa0
1398 PUSH1        0x02
1400 EXP          
1401 SUB          
1402 AND          
1403 DUP2         
1404 JUMP         
1405 JUMPDEST     
---
1320 SWAP2        
1321 DIV          
1322 PUSH1        0x08
1324 SSTORE       
1325 CALLER       
1326 AND          
1327 PUSH1        0x00
1329 SWAP1        
1330 DUP2         
1331 MSTORE       
1332 PUSH1        0x09
1334 PUSH1        0x20
1336 MSTORE       
1337 PUSH1        0x40
1339 DUP2         
1340 SHA3         
1341 SLOAD        
1342 DUP3         
1343 SWAP1        
1344 LT           
1345 ISZERO       
1346 PUSH2        0x064a
1349 JUMPI        
1350 PUSH2        0x0002
1353 JUMP         
1354 JUMPDEST     
1355 PUSH2        0x0106
1358 PUSH1        0x04
1360 CALLDATALOAD 
1361 PUSH1        0x00
1363 SLOAD        
1364 CALLER       
1365 PUSH1        0x01
1367 PUSH1        0xa0
1369 PUSH1        0x02
1371 EXP          
1372 SUB          
1373 SWAP1        
1374 DUP2         
1375 AND          
1376 SWAP2        
1377 AND          
1378 EQ           
1379 PUSH2        0x06c8
1382 JUMPI        
1383 PUSH2        0x0002
1386 JUMP         
1387 JUMPDEST     
1388 PUSH2        0x062d
1391 PUSH1        0x05
1393 SLOAD        
1394 PUSH1        0x01
1396 PUSH1        0xa0
1398 PUSH1        0x02
1400 EXP          
1401 SUB          
1402 AND          
1403 DUP2         
1404 JUMP         
1405 JUMPDEST     
---
1330 DUP2         
1331 MSTORE       
1332 PUSH1        0x09
1334 PUSH1        0x20
1336 MSTORE       
1337 PUSH1        0x40
1339 DUP2         
1340 SHA3         
1341 SLOAD        
1342 DUP3         
1343 SWAP1        
1344 LT           
1345 ISZERO       
1346 PUSH2        0x064a
1349 JUMPI        
1350 PUSH2        0x0002
1353 JUMP         
1354 JUMPDEST     
1355 PUSH2        0x0106
1358 PUSH1        0x04
1360 CALLDATALOAD 
1361 PUSH1        0x00
1363 SLOAD        
1364 CALLER       
1365 PUSH1        0x01
1367 PUSH1        0xa0
1369 PUSH1        0x02
1371 EXP          
1372 SUB          
1373 SWAP1        
1374 DUP2         
1375 AND          
1376 SWAP2        
1377 AND          
1378 EQ           
1379 PUSH2        0x06c8
1382 JUMPI        
1383 PUSH2        0x0002
1386 JUMP         
1387 JUMPDEST     
1388 PUSH2        0x062d
1391 PUSH1        0x05
1393 SLOAD        
1394 PUSH1        0x01
1396 PUSH1        0xa0
1398 PUSH1        0x02
1400 EXP          
1401 SUB          
1402 AND          
1403 DUP2         
1404 JUMP         
1405 JUMPDEST     
1406 PUSH1        0x40
1408 MLOAD        
1409 DUP1         
1410 DUP1         
---
1328 STOP         
1329 SWAP1        
1330 DUP2         
1331 MSTORE       
1332 PUSH1        0x09
1334 PUSH1        0x20
1336 MSTORE       
1337 PUSH1        0x40
1339 DUP2         
1340 SHA3         
1341 SLOAD        
1342 DUP3         
1343 SWAP1        
1344 LT           
1345 ISZERO       
1346 PUSH2        0x064a
1349 JUMPI        
1350 PUSH2        0x0002
1353 JUMP         
1354 JUMPDEST     
1355 PUSH2        0x0106
1358 PUSH1        0x04
1360 CALLDATALOAD 
1361 PUSH1        0x00
1363 SLOAD        
1364 CALLER       
1365 PUSH1        0x01
1367 PUSH1        0xa0
1369 PUSH1        0x02
1371 EXP          
1372 SUB          
1373 SWAP1        
1374 DUP2         
1375 AND          
1376 SWAP2        
1377 AND          
1378 EQ           
1379 PUSH2        0x06c8
1382 JUMPI        
1383 PUSH2        0x0002
1386 JUMP         
1387 JUMPDEST     
1388 PUSH2        0x062d
1391 PUSH1        0x05
1393 SLOAD        
1394 PUSH1        0x01
1396 PUSH1        0xa0
1398 PUSH1        0x02
1400 EXP          
1401 SUB          
1402 AND          
1403 DUP2         
1404 JUMP         
1405 JUMPDEST     
1406 PUSH1        0x40
1408 MLOAD        
1409 DUP1         
1410 DUP1         

exec
/bin/bash -lc "node - <<'NODE'
const fs=require('fs');const b=JSON.parse(fs.readFileSync('BYTECODE_BUNDLE.json','utf8'));const hex=b.artifact.runtime_bytecode.full.slice(2);const names={0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0x60:'PUSH1',0x61:'PUSH2',0x63:'PUSH4',0x65:'PUSH6',0x73:'PUSH20',0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0xa3:'LOG3',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN'};function dis(s,e){let pc=s;while(pc<=e){const op=parseInt(hex.slice(pc*2,pc*2+2),16);let name=names[op]||('OP_'+op.toString(16));let arg='';let nx=pc+1;if(op>=0x60&&op<=0x7f){let n=op-0x5f;arg='0x'+hex.slice(nx*2,nx*2+n*2);nx+=n;}console.log(pc.toString().padStart(4),name.padEnd(12),arg);pc=nx;}}dis(1345,1395);console.log('---');dis(1385,1405);console.log('---');dis(1387,1410);console.log('---');dis(1360,1395);console.log('---');dis(1380,1405);console.log('---');dis(1390,1410);console.log('---');dis(1360,1405);console.log('---');dis(1340,1410);
NODE" in /tmp/codex-cac8u3sx
 succeeded in 0ms:
1345 ISZERO       
1346 PUSH2        0x064a
1349 JUMPI        
1350 PUSH2        0x0002
1353 JUMP         
1354 JUMPDEST     
1355 PUSH2        0x0106
1358 PUSH1        0x04
1360 CALLDATALOAD 
1361 PUSH1        0x00
1363 SLOAD        
1364 CALLER       
1365 PUSH1        0x01
1367 PUSH1        0xa0
1369 PUSH1        0x02
1371 EXP          
1372 SUB          
1373 SWAP1        
1374 DUP2         
1375 AND          
1376 SWAP2        
1377 AND          
1378 EQ           
1379 PUSH2        0x06c8
1382 JUMPI        
1383 PUSH2        0x0002
1386 JUMP         
1387 JUMPDEST     
1388 PUSH2        0x062d
1391 PUSH1        0x05
1393 SLOAD        
1394 PUSH1        0x01
---
1385 MUL          
1386 JUMP         
1387 JUMPDEST     
1388 PUSH2        0x062d
1391 PUSH1        0x05
1393 SLOAD        
1394 PUSH1        0x01
1396 PUSH1        0xa0
1398 PUSH1        0x02
1400 EXP          
1401 SUB          
1402 AND          
1403 DUP2         
1404 JUMP         
1405 JUMPDEST     
---
1387 JUMPDEST     
1388 PUSH2        0x062d
1391 PUSH1        0x05
1393 SLOAD        
1394 PUSH1        0x01
1396 PUSH1        0xa0
1398 PUSH1        0x02
1400 EXP          
1401 SUB          
1402 AND          
1403 DUP2         
1404 JUMP         
1405 JUMPDEST     
1406 PUSH1        0x40
1408 MLOAD        
1409 DUP1         
1410 DUP1         
---
1360 CALLDATALOAD 
1361 PUSH1        0x00
1363 SLOAD        
1364 CALLER       
1365 PUSH1        0x01
1367 PUSH1        0xa0
1369 PUSH1        0x02
1371 EXP          
1372 SUB          
1373 SWAP1        
1374 DUP2         
1375 AND          
1376 SWAP2        
1377 AND          
1378 EQ           
1379 PUSH2        0x06c8
1382 JUMPI        
1383 PUSH2        0x0002
1386 JUMP         
1387 JUMPDEST     
1388 PUSH2        0x062d
1391 PUSH1        0x05
1393 SLOAD        
1394 PUSH1        0x01
---
1380 MOD          
1381 OP_c8        
1382 JUMPI        
1383 PUSH2        0x0002
1386 JUMP         
1387 JUMPDEST     
1388 PUSH2        0x062d
1391 PUSH1        0x05
1393 SLOAD        
1394 PUSH1        0x01
1396 PUSH1        0xa0
1398 PUSH1        0x02
1400 EXP          
1401 SUB          
1402 AND          
1403 DUP2         
1404 JUMP         
1405 JUMPDEST     
---
1390 OP_2d        
1391 PUSH1        0x05
1393 SLOAD        
1394 PUSH1        0x01
1396 PUSH1        0xa0
1398 PUSH1        0x02
1400 EXP          
1401 SUB          
1402 AND          
1403 DUP2         
1404 JUMP         
1405 JUMPDEST     
1406 PUSH1        0x40
1408 MLOAD        
1409 DUP1         
1410 DUP1         
---
1360 CALLDATALOAD 
1361 PUSH1        0x00
1363 SLOAD        
1364 CALLER       
1365 PUSH1        0x01
1367 PUSH1        0xa0
1369 PUSH1        0x02
1371 EXP          
1372 SUB          
1373 SWAP1        
1374 DUP2         
1375 AND          
1376 SWAP2        
1377 AND          
1378 EQ           
1379 PUSH2        0x06c8
1382 JUMPI        
1383 PUSH2        0x0002
1386 JUMP         
1387 JUMPDEST     
1388 PUSH2        0x062d
1391 PUSH1        0x05
1393 SLOAD        
1394 PUSH1        0x01
1396 PUSH1        0xa0
1398 PUSH1        0x02
1400 EXP          
1401 SUB          
1402 AND          
1403 DUP2         
1404 JUMP         
1405 JUMPDEST     
---
1340 SHA3         
1341 SLOAD        
1342 DUP3         
1343 SWAP1        
1344 LT           
1345 ISZERO       
1346 PUSH2        0x064a
1349 JUMPI        
1350 PUSH2        0x0002
1353 JUMP         
1354 JUMPDEST     
1355 PUSH2        0x0106
1358 PUSH1        0x04
1360 CALLDATALOAD 
1361 PUSH1        0x00
1363 SLOAD        
1364 CALLER       
1365 PUSH1        0x01
1367 PUSH1        0xa0
1369 PUSH1        0x02
1371 EXP          
1372 SUB          
1373 SWAP1        
1374 DUP2         
1375 AND          
1376 SWAP2        
1377 AND          
1378 EQ           
1379 PUSH2        0x06c8
1382 JUMPI        
1383 PUSH2        0x0002
1386 JUMP         
1387 JUMPDEST     
1388 PUSH2        0x062d
1391 PUSH1        0x05
1393 SLOAD        
1394 PUSH1        0x01
1396 PUSH1        0xa0
1398 PUSH1        0x02
1400 EXP          
1401 SUB          
1402 AND          
1403 DUP2         
1404 JUMP         
1405 JUMPDEST     
1406 PUSH1        0x40
1408 MLOAD        
1409 DUP1         
1410 DUP1         

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.function_entries // .analysis_artifact.artifact_json.functions[] | select(.selector==\"0xdc3080f2\" or .selector==\"0x23b872dd\" or .selector==\"0xf2fde38b\" or .selector==\"0x8da5cb5b\")' BYTECODE_BUNDLE.json | sed -n '1,220p'" in /tmp/codex-cac8u3sx
 succeeded in 0ms:
jq: error (at BYTECODE_BUNDLE.json:8619): Cannot index array with string "selector"

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.functions[] | select(.selector==\"0xdc3080f2\" or .selector==\"0x23b872dd\" or .selector==\"0xf2fde38b\" or .selector==\"0x8da5cb5b\") | {selector,entry_pc,auth,sinks}' BYTECODE_BUNDLE.json" in /tmp/codex-cac8u3sx
 succeeded in 0ms:
{
  "selector": "0x23b872dd",
  "entry_pc": 826074471,
  "auth": {
    "guards": []
  },
  "sinks": {
    "call": 6,
    "delegatecall": 0,
    "selfdestruct": 0,
    "staticcall": 0
  }
}
{
  "selector": "0x8da5cb5b",
  "entry_pc": 2514000705,
  "auth": {
    "guards": []
  },
  "sinks": {
    "call": 6,
    "delegatecall": 0,
    "selfdestruct": 0,
    "staticcall": 0
  }
}
{
  "selector": "0xdc3080f2",
  "entry_pc": 3714247998,
  "auth": {
    "guards": []
  },
  "sinks": {
    "call": 6,
    "delegatecall": 0,
    "selfdestruct": 0,
    "staticcall": 0
  }
}
{
  "selector": "0xf2fde38b",
  "entry_pc": 4288363215,
  "auth": {
    "guards": []
  },
  "sinks": {
    "call": 6,
    "delegatecall": 0,
    "selfdestruct": 0,
    "staticcall": 0
  }
}

codex
{"no_findings":false,"summary":"BYTECODE_BUNDLE.json describes a non-standard ERC20-like contract with owner-gated parameter setters, allowance/balance mappings, and a token-for-ETH payout path. I found one concrete accounting bug around an unchecked ETH transfer, plus two selector/interface mismatches that materially affect access control and ERC20 compatibility.","findings":[{"severity":"medium","category":"other","title":"Unchecked ETH payout can debit seller balances without confirming payment","exploit_scenario":"A user calling selector 0xdc3080f2 from a contract wallet or any recipient that rejects ETH can have their token balance debited and the contract balance credited before the payout CALL executes. Because the CALL result is ignored, the transaction can complete with no ETH delivered to the seller.","recommendation":"Check the low-level CALL result and revert on failure, or switch to a pull-payment withdrawal model so token accounting is only finalized after a confirmed payout.","evidence":"The dispatcher routes selector 0xdc3080f2 to pc 0x507. That path recomputes slot8 from contract ETH balance, verifies the caller balance in slot9, then updates balances before the external CALL: balance writes occur in the 0x64a routine before pc 0x691. The CALL at pc 0x691 is followed only by POP/POP and event emission; unlike the CALL at pc 0x4aa, there is no ISZERO/JUMPI failure check after pc 0x691.","locations":["selector:0xdc3080f2","pc:0x64a","pc:0x67d","pc:0x691"]},{"severity":"medium","category":"other","title":"Standard ERC20 selector 0x23b872dd does not implement transferFrom semantics","exploit_scenario":"An exchange, router, or escrow calling transferFrom(address,address,uint256) will expect allowance consumption, balance movement, and a boolean return. Here the standard selector appears to do only a balance check and then returns the low byte of slot3, so standard integrations can fail or the token can behave like a honeypot despite exposing ERC20-looking selectors.","recommendation":"Implement ERC20-compliant transferFrom logic under selector 0x23b872dd, or remove/avoid advertising the standard selector if the function is intentionally non-standard.","evidence":"Selector inference is explicit in the dispatcher: 0x23b872dd jumps to pc 0x19f. The 0x19f-0x1d0 path loads three calldata words, computes a slot9 balance lookup, compares it to the second argument, and on success jumps to pc 0x1d1. Pc 0x1d1 immediately returns sload(0x03) & 0xff through the common return helper. There is no SSTORE, no LOG3 Transfer event, and no allowance decrement anywhere on that selector path.","locations":["selector:0x23b872dd","pc:0x19f","pc:0x1c4","pc:0x1d1"]},{"severity":"low","category":"access_control","title":"`transferOwnership` selector does not update the owner slot used by auth checks","exploit_scenario":"Operators and tooling may assume selector 0xf2fde38b is standard Ownable.transferOwnership. In this bytecode, admin checks consistently read slot0, but 0xf2fde38b writes slot5 instead. If the slot0 owner key is lost, ownership cannot be rotated, and monitoring tooling can falsely believe ownership was transferred.","recommendation":"If ownership rotation is intended, update slot0 in the 0xf2fde38b path. Otherwise remove the standard selector or document clearly that ownership is immutable and slot5 is a different role.","evidence":"The standard owner getter 0x8da5cb5b returns sload(0x00) masked to an address. Admin guards compare CALLER with sload(0x00) at pcs 0x177, 0x254, 0x33e, and 0x553. By contrast, selector 0xf2fde38b dispatches to pc 0x54a and reaches the 0x815 routine, which reads and writes slot5, never slot0.","locations":["selector:0x8da5cb5b","selector:0xf2fde38b","pc:0x177","pc:0x254","pc:0x33e","pc:0x553","pc:0x54a","pc:0x815"]}]}
tokens used
130,697
Metadata
{
    "codex": {
        "ran_at": "2026-04-05T06:33:35.372168+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 5204,
        "bytecode_truncated": false,
        "capability_graph_present": true,
        "analysis_artifact_present": true
    },
    "summary": "BYTECODE_BUNDLE.json describes a non-standard ERC20-like contract with owner-gated parameter setters, allowance/balance mappings, and a token-for-ETH payout path. I found one concrete accounting bug around an unchecked ETH transfer, plus two selector/interface mismatches that materially affect access control and ERC20 compatibility.",
    "raw_final": {
        "summary": "BYTECODE_BUNDLE.json describes a non-standard ERC20-like contract with owner-gated parameter setters, allowance/balance mappings, and a token-for-ETH payout path. I found one concrete accounting bug around an unchecked ETH transfer, plus two selector/interface mismatches that materially affect access control and ERC20 compatibility.",
        "findings": [
            {
                "title": "Unchecked ETH payout can debit seller balances without confirming payment",
                "category": "other",
                "evidence": "The dispatcher routes selector 0xdc3080f2 to pc 0x507. That path recomputes slot8 from contract ETH balance, verifies the caller balance in slot9, then updates balances before the external CALL: balance writes occur in the 0x64a routine before pc 0x691. The CALL at pc 0x691 is followed only by POP/POP and event emission; unlike the CALL at pc 0x4aa, there is no ISZERO/JUMPI failure check after pc 0x691.",
                "severity": "medium",
                "locations": [
                    "selector:0xdc3080f2",
                    "pc:0x64a",
                    "pc:0x67d",
                    "pc:0x691"
                ],
                "recommendation": "Check the low-level CALL result and revert on failure, or switch to a pull-payment withdrawal model so token accounting is only finalized after a confirmed payout.",
                "exploit_scenario": "A user calling selector 0xdc3080f2 from a contract wallet or any recipient that rejects ETH can have their token balance debited and the contract balance credited before the payout CALL executes. Because the CALL result is ignored, the transaction can complete with no ETH delivered to the seller."
            },
            {
                "title": "Standard ERC20 selector 0x23b872dd does not implement transferFrom semantics",
                "category": "other",
                "evidence": "Selector inference is explicit in the dispatcher: 0x23b872dd jumps to pc 0x19f. The 0x19f-0x1d0 path loads three calldata words, computes a slot9 balance lookup, compares it to the second argument, and on success jumps to pc 0x1d1. Pc 0x1d1 immediately returns sload(0x03) & 0xff through the common return helper. There is no SSTORE, no LOG3 Transfer event, and no allowance decrement anywhere on that selector path.",
                "severity": "medium",
                "locations": [
                    "selector:0x23b872dd",
                    "pc:0x19f",
                    "pc:0x1c4",
                    "pc:0x1d1"
                ],
                "recommendation": "Implement ERC20-compliant transferFrom logic under selector 0x23b872dd, or remove/avoid advertising the standard selector if the function is intentionally non-standard.",
                "exploit_scenario": "An exchange, router, or escrow calling transferFrom(address,address,uint256) will expect allowance consumption, balance movement, and a boolean return. Here the standard selector appears to do only a balance check and then returns the low byte of slot3, so standard integrations can fail or the token can behave like a honeypot despite exposing ERC20-looking selectors."
            },
            {
                "title": "`transferOwnership` selector does not update the owner slot used by auth checks",
                "category": "access_control",
                "evidence": "The standard owner getter 0x8da5cb5b returns sload(0x00) masked to an address. Admin guards compare CALLER with sload(0x00) at pcs 0x177, 0x254, 0x33e, and 0x553. By contrast, selector 0xf2fde38b dispatches to pc 0x54a and reaches the 0x815 routine, which reads and writes slot5, never slot0.",
                "severity": "low",
                "locations": [
                    "selector:0x8da5cb5b",
                    "selector:0xf2fde38b",
                    "pc:0x177",
                    "pc:0x254",
                    "pc:0x33e",
                    "pc:0x553",
                    "pc:0x54a",
                    "pc:0x815"
                ],
                "recommendation": "If ownership rotation is intended, update slot0 in the 0xf2fde38b path. Otherwise remove the standard selector or document clearly that ownership is immutable and slot5 is a different role.",
                "exploit_scenario": "Operators and tooling may assume selector 0xf2fde38b is standard Ownable.transferOwnership. In this bytecode, admin checks consistently read slot0, but 0xf2fde38b writes slot5 instead. If the slot0 owner key is lost, ownership cannot be rotated, and monitoring tooling can falsely believe ownership was transferred."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
2
CALL-family (heavy)
6
EXT*/BALANCE
2
Total opcodes
1911
Flags
create_opcodes_present
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x0106
0000000a: JUMPI
0000000b: PUSH1 0xe0
0000000d: PUSH1 0x02
0000000f: EXP
00000010: PUSH1 0x00
00000012: CALLDATALOAD
00000013: DIV
00000014: PUSH4 0x06fdde03
00000019: DUP2
0000001a: EQ
0000001b: PUSH2 0x0108
0000001e: JUMPI
0000001f: DUP1
00000020: PUSH4 0x18160ddd
00000025: EQ
00000026: PUSH2 0x0165
00000029: JUMPI
0000002a: DUP1
0000002b: PUSH4 0x1fe9eabc
00000030: EQ
00000031: PUSH2 0x016e
00000034: JUMPI
00000035: DUP1
00000036: PUSH4 0x233de126
0000003b: EQ
0000003c: PUSH2 0x0190
0000003f: JUMPI
00000040: DUP1
00000041: PUSH4 0x23b872dd
00000046: EQ
00000047: PUSH2 0x019f
0000004a: JUMPI
0000004b: DUP1
0000004c: PUSH4 0x313ce567
00000051: EQ
00000052: PUSH2 0x01d1
00000055: JUMPI
00000056: DUP1
00000057: PUSH4 0x41fa4876
0000005c: EQ
0000005d: PUSH2 0x01dd
00000060: JUMPI
00000061: DUP1
00000062: PUSH4 0x70a08231
00000067: EQ
00000068: PUSH2 0x0233
0000006b: JUMPI
0000006c: DUP1
0000006d: PUSH4 0x7f2a8a80
00000072: EQ
00000073: PUSH2 0x024b
00000076: JUMPI
00000077: DUP1
00000078: PUSH4 0x8da5cb5b
0000007d: EQ
0000007e: PUSH2 0x026c
00000081: JUMPI
00000082: DUP1
00000083: PUSH4 0x95d89b41
00000088: EQ
00000089: PUSH2 0x027e
0000008c: JUMPI
0000008d: DUP1
0000008e: PUSH4 0xa6f2ae3a
00000093: EQ
00000094: PUSH2 0x02d9
00000097: JUMPI
00000098: DUP1
00000099: PUSH4 0xa9059cbb
0000009e: EQ
0000009f: PUSH2 0x02f4
000000a2: JUMPI
000000a3: DUP1
000000a4: PUSH4 0xaa295de9
000000a9: EQ
000000aa: PUSH2 0x0323
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0xbc094049
000000b4: EQ
000000b5: PUSH2 0x032c
000000b8: JUMPI
000000b9: DUP1
000000ba: PUSH4 0xc4839e8b
000000bf: EQ
000000c0: PUSH2 0x0335
000000c3: JUMPI
000000c4: DUP1
000000c5: PUSH4 0xcae9ca51
000000ca: EQ
000000cb: PUSH2 0x0356
000000ce: JUMPI
000000cf: DUP1
000000d0: PUSH4 0xdc3080f2
000000d5: EQ
000000d6: PUSH2 0x04bd
000000d9: JUMPI
000000da: DUP1
000000db: PUSH4 0xdd62ed3e
000000e0: EQ
000000e1: PUSH2 0x04e2
000000e4: JUMPI
000000e5: DUP1
000000e6: PUSH4 0xe4849b32
000000eb: EQ
000000ec: PUSH2 0x0507
000000ef: JUMPI
000000f0: DUP1
000000f1: PUSH4 0xf2fde38b
000000f6: EQ
000000f7: PUSH2 0x054a
000000fa: JUMPI
000000fb: DUP1
000000fc: PUSH4 0xff9b3acf
00000101: EQ
00000102: PUSH2 0x056b
00000105: JUMPI
00000106: JUMPDEST
00000107: STOP
00000108: JUMPDEST
00000109: PUSH1 0x40
0000010b: DUP1
0000010c: MLOAD
0000010d: PUSH1 0x01
0000010f: DUP1
00000110: SLOAD
00000111: PUSH1 0x20
00000113: PUSH1 0x02
00000115: DUP3
00000116: DUP5
00000117: AND
00000118: ISZERO
00000119: PUSH2 0x0100
0000011c: MUL
0000011d: PUSH1 0x00
0000011f: NOT
00000120: ADD
00000121: SWAP1
00000122: SWAP3
00000123: AND
00000124: SWAP2
00000125: SWAP1
00000126: SWAP2
00000127: DIV
00000128: PUSH1 0x1f
0000012a: DUP2
0000012b: ADD
0000012c: DUP3
0000012d: SWAP1
0000012e: DIV
0000012f: DUP3
00000130: MUL
00000131: DUP5
00000132: ADD
00000133: DUP3
00000134: ADD
00000135: SWAP1
00000136: SWAP5
00000137: MSTORE
00000138: DUP4
00000139: DUP4
0000013a: MSTORE
0000013b: PUSH2 0x057d
0000013e: SWAP4
0000013f: SWAP1
00000140: DUP4
00000141: ADD
00000142: DUP3
00000143: DUP3
00000144: DUP1
00000145: ISZERO
00000146: PUSH2 0x0715
00000149: JUMPI
0000014a: DUP1
0000014b: PUSH1 0x1f
0000014d: LT
0000014e: PUSH2 0x06ea
00000151: JUMPI
00000152: PUSH2 0x0100
00000155: DUP1
00000156: DUP4
00000157: SLOAD
00000158: DIV
00000159: MUL
0000015a: DUP4
0000015b: MSTORE
0000015c: SWAP2
0000015d: PUSH1 0x20
0000015f: ADD
00000160: SWAP2
00000161: PUSH2 0x0715
00000164: JUMP
00000165: JUMPDEST
00000166: PUSH2 0x05eb
00000169: PUSH1 0x04
0000016b: SLOAD
0000016c: DUP2
0000016d: JUMP
0000016e: JUMPDEST
0000016f: PUSH2 0x0106
00000172: PUSH1 0x04
00000174: CALLDATALOAD
00000175: PUSH1 0x00
00000177: SLOAD
00000178: PUSH1 0x01
0000017a: PUSH1 0xa0
0000017c: PUSH1 0x02
0000017e: EXP
0000017f: SUB
00000180: SWAP1
00000181: DUP2
00000182: AND
00000183: CALLER
00000184: SWAP1
00000185: SWAP2
00000186: AND
00000187: EQ
00000188: PUSH2 0x0810
0000018b: JUMPI
0000018c: PUSH2 0x0002
0000018f: JUMP
00000190: JUMPDEST
00000191: PUSH2 0x05fd
00000194: PUSH1 0x07
00000196: SLOAD
00000197: PUSH4 0xffffffff
0000019c: AND
0000019d: DUP2
0000019e: JUMP
0000019f: JUMPDEST
000001a0: PUSH2 0x05eb
000001a3: PUSH1 0x04
000001a5: CALLDATALOAD
000001a6: PUSH1 0x24
000001a8: CALLDATALOAD
000001a9: PUSH1 0x44
000001ab: CALLDATALOAD
000001ac: PUSH1 0x01
000001ae: PUSH1 0xa0
000001b0: PUSH1 0x02
000001b2: EXP
000001b3: SUB
000001b4: DUP4
000001b5: AND
000001b6: PUSH1 0x00
000001b8: SWAP1
000001b9: DUP2
000001ba: MSTORE
000001bb: PUSH1 0x09
000001bd: PUSH1 0x20
000001bf: MSTORE
000001c0: PUSH1 0x40
000001c2: DUP2
000001c3: KECCAK256
000001c4: SLOAD
000001c5: DUP3
000001c6: SWAP1
000001c7: LT
000001c8: ISZERO
000001c9: PUSH2 0x0725
000001cc: JUMPI
000001cd: PUSH2 0x0002
000001d0: JUMP
000001d1: JUMPDEST
000001d2: PUSH2 0x0617
000001d5: PUSH1 0x03
000001d7: SLOAD
000001d8: PUSH1 0xff
000001da: AND
000001db: DUP2
000001dc: JUMP
000001dd: JUMPDEST
000001de: PUSH2 0x05eb
000001e1: PUSH1 0x04
000001e3: CALLDATALOAD
000001e4: PUSH1 0x24
000001e6: CALLDATALOAD
000001e7: JUMPDEST
000001e8: PUSH1 0x00
000001ea: DUP1
000001eb: DUP1
000001ec: JUMPDEST
000001ed: DUP4
000001ee: DUP2
000001ef: LT
000001f0: ISZERO
000001f1: PUSH2 0x071d
000001f4: JUMPI
000001f5: PUSH1 0x40
000001f7: DUP1
000001f8: MLOAD
000001f9: NUMBER
000001fa: DUP4
000001fb: SWAP1
000001fc: SUB
000001fd: PUSH1 0x00
000001ff: NOT
00000200: ADD
00000201: BLOCKHASH
00000202: DUP2
00000203: MSTORE
00000204: PUSH1 0x20
00000206: DUP2
00000207: ADD
00000208: DUP8
00000209: SWAP1
0000020a: MSTORE
0000020b: DUP2
0000020c: MLOAD
0000020d: SWAP1
0000020e: DUP2
0000020f: SWAP1
00000210: SUB
00000211: SWAP1
00000212: SWAP2
00000213: ADD
00000214: SWAP1
00000215: KECCAK256
00000216: PUSH1 0x02
00000218: SWAP1
00000219: MOD
0000021a: PUSH1 0x00
0000021c: EQ
0000021d: ISZERO
0000021e: PUSH2 0x022b
00000221: JUMPI
00000222: PUSH1 0x02
00000224: DUP2
00000225: SWAP1
00000226: EXP
00000227: SWAP1
00000228: SWAP2
00000229: ADD
0000022a: SWAP1
0000022b: JUMPDEST
0000022c: PUSH1 0x01
0000022e: ADD
0000022f: PUSH2 0x01ec
00000232: JUMP
00000233: JUMPDEST
00000234: PUSH2 0x05eb
00000237: PUSH1 0x04
00000239: CALLDATALOAD
0000023a: PUSH1 0x09
0000023c: PUSH1 0x20
0000023e: MSTORE
0000023f: PUSH1 0x00
00000241: SWAP1
00000242: DUP2
00000243: MSTORE
00000244: PUSH1 0x40
00000246: SWAP1
00000247: KECCAK256
00000248: SLOAD
00000249: DUP2
0000024a: JUMP
0000024b: JUMPDEST
0000024c: PUSH2 0x0106
0000024f: PUSH1 0x04
00000251: CALLDATALOAD
00000252: PUSH1 0x00
00000254: SLOAD
00000255: CALLER
00000256: PUSH1 0x01
00000258: PUSH1 0xa0
0000025a: PUSH1 0x02
0000025c: EXP
0000025d: SUB
0000025e: SWAP1
0000025f: DUP2
00000260: AND
00000261: SWAP2
00000262: AND
00000263: EQ
00000264: PUSH2 0x0815
00000267: JUMPI
00000268: PUSH2 0x0002
0000026b: JUMP
0000026c: JUMPDEST
0000026d: PUSH2 0x062d
00000270: PUSH1 0x00
00000272: SLOAD
00000273: PUSH1 0x01
00000275: PUSH1 0xa0
00000277: PUSH1 0x02
00000279: EXP
0000027a: SUB
0000027b: AND
0000027c: DUP2
0000027d: JUMP
0000027e: JUMPDEST
0000027f: PUSH2 0x057d
00000282: PUSH1 0x02
00000284: DUP1
00000285: SLOAD
00000286: PUSH1 0x40
00000288: DUP1
00000289: MLOAD
0000028a: PUSH1 0x20
0000028c: PUSH1 0x01
0000028e: DUP5
0000028f: AND
00000290: ISZERO
00000291: PUSH2 0x0100
00000294: MUL
00000295: PUSH1 0x00
00000297: NOT
00000298: ADD
00000299: SWAP1
0000029a: SWAP4
0000029b: AND
0000029c: DUP5
0000029d: SWAP1
0000029e: DIV
0000029f: PUSH1 0x1f
000002a1: DUP2
000002a2: ADD
000002a3: DUP5
000002a4: SWAP1
000002a5: DIV
000002a6: DUP5
000002a7: MUL
000002a8: DUP3
000002a9: ADD
000002aa: DUP5
000002ab: ADD
000002ac: SWAP1
000002ad: SWAP3
000002ae: MSTORE
000002af: DUP2
000002b0: DUP2
000002b1: MSTORE
000002b2: SWAP3
000002b3: SWAP2
000002b4: DUP4
000002b5: ADD
000002b6: DUP3
000002b7: DUP3
000002b8: DUP1
000002b9: ISZERO
000002ba: PUSH2 0x0715
000002bd: JUMPI
000002be: DUP1
000002bf: PUSH1 0x1f
000002c1: LT
000002c2: PUSH2 0x06ea
000002c5: JUMPI
000002c6: PUSH2 0x0100
000002c9: DUP1
000002ca: DUP4
000002cb: SLOAD
000002cc: DIV
000002cd: MUL
000002ce: DUP4
000002cf: MSTORE
000002d0: SWAP2
000002d1: PUSH1 0x20
000002d3: ADD
000002d4: SWAP2
000002d5: PUSH2 0x0715
000002d8: JUMP
000002d9: JUMPDEST
000002da: PUSH2 0x05eb
000002dd: PUSH1 0x06
000002df: SLOAD
000002e0: CALLVALUE
000002e1: SWAP1
000002e2: PUSH1 0x00
000002e4: SWAP1
000002e5: DUP2
000002e6: SWAP1
000002e7: DUP2
000002e8: SWAP1
000002e9: DUP5
000002ea: GT
000002eb: ISZERO
000002ec: PUSH2 0x08df
000002ef: JUMPI
000002f0: PUSH2 0x0002
000002f3: JUMP
000002f4: JUMPDEST
000002f5: PUSH2 0x0106
000002f8: PUSH1 0x04
000002fa: CALLDATALOAD
000002fb: PUSH1 0x24
000002fd: CALLDATALOAD
000002fe: CALLER
000002ff: PUSH1 0x01
00000301: PUSH1 0xa0
00000303: PUSH1 0x02
00000305: EXP
00000306: SUB
00000307: AND
00000308: PUSH1 0x00
0000030a: SWAP1
0000030b: DUP2
0000030c: MSTORE
0000030d: PUSH1 0x09
0000030f: PUSH1 0x20
00000311: MSTORE
00000312: PUSH1 0x40
00000314: SWAP1
00000315: KECCAK256
00000316: SLOAD
00000317: DUP2
00000318: SWAP1
00000319: LT
0000031a: ISZERO
0000031b: PUSH2 0x085e
0000031e: JUMPI
0000031f: PUSH2 0x0002
00000322: JUMP
00000323: JUMPDEST
00000324: PUSH2 0x05eb
00000327: PUSH1 0x06
00000329: SLOAD
0000032a: DUP2
0000032b: JUMP
0000032c: JUMPDEST
0000032d: PUSH2 0x05eb
00000330: PUSH1 0x08
00000332: SLOAD
00000333: DUP2
00000334: JUMP
00000335: JUMPDEST
00000336: PUSH2 0x0106
00000339: PUSH1 0x04
0000033b: CALLDATALOAD
0000033c: PUSH1 0x00
0000033e: SLOAD
0000033f: CALLER
00000340: PUSH1 0x01
00000342: PUSH1 0xa0
00000344: PUSH1 0x02
00000346: EXP
00000347: SUB
00000348: SWAP1
00000349: DUP2
0000034a: AND
0000034b: SWAP2
0000034c: AND
0000034d: EQ
0000034e: PUSH2 0x0837
00000351: JUMPI
00000352: PUSH2 0x0002
00000355: JUMP
00000356: JUMPDEST
00000357: PUSH1 0x40
00000359: DUP1
0000035a: MLOAD
0000035b: PUSH1 0x20
0000035d: PUSH1 0x44
0000035f: CALLDATALOAD
00000360: PUSH1 0x04
00000362: DUP2
00000363: DUP2
00000364: ADD
00000365: CALLDATALOAD
00000366: PUSH1 0x1f
00000368: DUP2
00000369: ADD
0000036a: DUP5
0000036b: SWAP1
0000036c: DIV
0000036d: DUP5
0000036e: MUL
0000036f: DUP6
00000370: ADD
00000371: DUP5
00000372: ADD
00000373: SWAP1
00000374: SWAP6
00000375: MSTORE
00000376: DUP5
00000377: DUP5
00000378: MSTORE
00000379: PUSH2 0x05eb
0000037c: SWAP5
0000037d: DUP2
0000037e: CALLDATALOAD
0000037f: SWAP5
00000380: PUSH1 0x24
00000382: DUP1
00000383: CALLDATALOAD
00000384: SWAP6
00000385: SWAP4
00000386: SWAP5
00000387: PUSH1 0x64
00000389: SWAP5
0000038a: SWAP3
0000038b: SWAP4
0000038c: SWAP2
0000038d: ADD
0000038e: SWAP2
0000038f: DUP2
00000390: SWAP1
00000391: DUP5
00000392: ADD
00000393: DUP4
00000394: DUP3
00000395: DUP1
00000396: DUP3
00000397: DUP5
00000398: CALLDATACOPY
00000399: POP
0000039a: SWAP5
0000039b: SWAP7
0000039c: POP
0000039d: POP
0000039e: POP
0000039f: POP
000003a0: POP
000003a1: POP
000003a2: POP
000003a3: PUSH1 0x00
000003a5: PUSH1 0x00
000003a7: DUP4
000003a8: PUSH1 0x0a
000003aa: PUSH1 0x00
000003ac: POP
000003ad: PUSH1 0x00
000003af: CALLER
000003b0: PUSH1 0x01
000003b2: PUSH1 0xa0
000003b4: PUSH1 0x02
000003b6: EXP
000003b7: SUB
000003b8: AND
000003b9: DUP2
000003ba: MSTORE
000003bb: PUSH1 0x20
000003bd: ADD
000003be: SWAP1
000003bf: DUP2
000003c0: MSTORE
000003c1: PUSH1 0x20
000003c3: ADD
000003c4: PUSH1 0x00
000003c6: KECCAK256
000003c7: PUSH1 0x00
000003c9: POP
000003ca: PUSH1 0x00
000003cc: DUP8
000003cd: PUSH1 0x01
000003cf: PUSH1 0xa0
000003d1: PUSH1 0x02
000003d3: EXP
000003d4: SUB
000003d5: AND
000003d6: DUP2
000003d7: MSTORE
000003d8: PUSH1 0x20
000003da: ADD
000003db: SWAP1
000003dc: DUP2
000003dd: MSTORE
000003de: PUSH1 0x20
000003e0: ADD
000003e1: PUSH1 0x00
000003e3: KECCAK256
000003e4: PUSH1 0x00
000003e6: POP
000003e7: DUP2
000003e8: SWAP1
000003e9: SSTORE
000003ea: POP
000003eb: DUP5
000003ec: SWAP1
000003ed: POP
000003ee: DUP1
000003ef: PUSH1 0x01
000003f1: PUSH1 0xa0
000003f3: PUSH1 0x02
000003f5: EXP
000003f6: SUB
000003f7: AND
000003f8: PUSH4 0x8f4ffcb1
000003fd: CALLER
000003fe: DUP7
000003ff: ADDRESS
00000400: DUP8
00000401: PUSH1 0x40
00000403: MLOAD
00000404: DUP6
00000405: PUSH1 0xe0
00000407: PUSH1 0x02
00000409: EXP
0000040a: MUL
0000040b: DUP2
0000040c: MSTORE
0000040d: PUSH1 0x04
0000040f: ADD
00000410: DUP1
00000411: DUP6
00000412: PUSH1 0x01
00000414: PUSH1 0xa0
00000416: PUSH1 0x02
00000418: EXP
00000419: SUB
0000041a: AND
0000041b: DUP2
0000041c: MSTORE
0000041d: PUSH1 0x20
0000041f: ADD
00000420: DUP5
00000421: DUP2
00000422: MSTORE
00000423: PUSH1 0x20
00000425: ADD
00000426: DUP4
00000427: PUSH1 0x01
00000429: PUSH1 0xa0
0000042b: PUSH1 0x02
0000042d: EXP
0000042e: SUB
0000042f: AND
00000430: DUP2
00000431: MSTORE
00000432: PUSH1 0x20
00000434: ADD
00000435: DUP1
00000436: PUSH1 0x20
00000438: ADD
00000439: DUP3
0000043a: DUP2
0000043b: SUB
0000043c: DUP3
0000043d: MSTORE
0000043e: DUP4
0000043f: DUP2
00000440: DUP2
00000441: MLOAD
00000442: DUP2
00000443: MSTORE
00000444: PUSH1 0x20
00000446: ADD
00000447: SWAP2
00000448: POP
00000449: DUP1
0000044a: MLOAD
0000044b: SWAP1
0000044c: PUSH1 0x20
0000044e: ADD
0000044f: SWAP1
00000450: DUP1
00000451: DUP4
00000452: DUP4
00000453: DUP3
00000454: SWAP1
00000455: PUSH1 0x00
00000457: PUSH1 0x04
00000459: PUSH1 0x20
0000045b: DUP5
0000045c: PUSH1 0x1f
0000045e: ADD
0000045f: DIV
00000460: PUSH1 0x0f
00000462: MUL
00000463: PUSH1 0x03
00000465: ADD
00000466: CALL
00000467: POP
00000468: SWAP1
00000469: POP
0000046a: SWAP1
0000046b: DUP2
0000046c: ADD
0000046d: SWAP1
0000046e: PUSH1 0x1f
00000470: AND
00000471: DUP1
00000472: ISZERO
00000473: PUSH2 0x0490
00000476: JUMPI
00000477: DUP1
00000478: DUP3
00000479: SUB
0000047a: DUP1
0000047b: MLOAD
0000047c: PUSH1 0x01
0000047e: DUP4
0000047f: PUSH1 0x20
00000481: SUB
00000482: PUSH2 0x0100
00000485: EXP
00000486: SUB
00000487: NOT
00000488: AND
00000489: DUP2
0000048a: MSTORE
0000048b: PUSH1 0x20
0000048d: ADD
0000048e: SWAP2
0000048f: POP
00000490: JUMPDEST
00000491: POP
00000492: SWAP6
00000493: POP
00000494: POP
00000495: POP
00000496: POP
00000497: POP
00000498: POP
00000499: PUSH1 0x00
0000049b: PUSH1 0x40
0000049d: MLOAD
0000049e: DUP1
0000049f: DUP4
000004a0: SUB
000004a1: DUP2
000004a2: PUSH1 0x00
000004a4: DUP8
000004a5: PUSH2 0x61da
000004a8: GAS
000004a9: SUB
000004aa: CALL
000004ab: ISZERO
000004ac: PUSH2 0x0002
000004af: JUMPI
000004b0: POP
000004b1: PUSH1 0x01
000004b3: SWAP8
000004b4: SWAP7
000004b5: POP
000004b6: POP
000004b7: POP
000004b8: POP
000004b9: POP
000004ba: POP
000004bb: POP
000004bc: JUMP
000004bd: JUMPDEST
000004be: PUSH1 0x0b
000004c0: PUSH1 0x20
000004c2: SWAP1
000004c3: DUP2
000004c4: MSTORE
000004c5: PUSH1 0x04
000004c7: CALLDATALOAD
000004c8: PUSH1 0x00
000004ca: SWAP1
000004cb: DUP2
000004cc: MSTORE
000004cd: PUSH1 0x40
000004cf: DUP1
000004d0: DUP3
000004d1: KECCAK256
000004d2: SWAP1
000004d3: SWAP3
000004d4: MSTORE
000004d5: PUSH1 0x24
000004d7: CALLDATALOAD
000004d8: DUP2
000004d9: MSTORE
000004da: KECCAK256
000004db: SLOAD
000004dc: PUSH2 0x05eb
000004df: SWAP1
000004e0: DUP2
000004e1: JUMP
000004e2: JUMPDEST
000004e3: PUSH1 0x0a
000004e5: PUSH1 0x20
000004e7: SWAP1
000004e8: DUP2
000004e9: MSTORE
000004ea: PUSH1 0x04
000004ec: CALLDATALOAD
000004ed: PUSH1 0x00
000004ef: SWAP1
000004f0: DUP2
000004f1: MSTORE
000004f2: PUSH1 0x40
000004f4: DUP1
000004f5: DUP3
000004f6: KECCAK256
000004f7: SWAP1
000004f8: SWAP3
000004f9: MSTORE
000004fa: PUSH1 0x24
000004fc: CALLDATALOAD
000004fd: DUP2
000004fe: MSTORE
000004ff: KECCAK256
00000500: SLOAD
00000501: PUSH2 0x05eb
00000504: SWAP1
00000505: DUP2
00000506: JUMP
00000507: JUMPDEST
00000508: PUSH2 0x05eb
0000050b: PUSH1 0x04
0000050d: CALLDATALOAD
0000050e: PUSH1 0x04
00000510: SLOAD
00000511: ADDRESS
00000512: PUSH1 0x01
00000514: PUSH1 0xa0
00000516: PUSH1 0x02
00000518: EXP
00000519: SUB
0000051a: SWAP1
0000051b: DUP2
0000051c: AND
0000051d: BALANCE
0000051e: PUSH6 0x5af3107a4000
00000525: MUL
00000526: SWAP2
00000527: SWAP1
00000528: SWAP2
00000529: DIV
0000052a: PUSH1 0x08
0000052c: SSTORE
0000052d: CALLER
0000052e: AND
0000052f: PUSH1 0x00
00000531: SWAP1
00000532: DUP2
00000533: MSTORE
00000534: PUSH1 0x09
00000536: PUSH1 0x20
00000538: MSTORE
00000539: PUSH1 0x40
0000053b: DUP2
0000053c: KECCAK256
0000053d: SLOAD
0000053e: DUP3
0000053f: SWAP1
00000540: LT
00000541: ISZERO
00000542: PUSH2 0x064a
00000545: JUMPI
00000546: PUSH2 0x0002
00000549: JUMP
0000054a: JUMPDEST
0000054b: PUSH2 0x0106
0000054e: PUSH1 0x04
00000550: CALLDATALOAD
00000551: PUSH1 0x00
00000553: SLOAD
00000554: CALLER
00000555: PUSH1 0x01
00000557: PUSH1 0xa0
00000559: PUSH1 0x02
0000055b: EXP
0000055c: SUB
0000055d: SWAP1
0000055e: DUP2
0000055f: AND
00000560: SWAP2
00000561: AND
00000562: EQ
00000563: PUSH2 0x06c8
00000566: JUMPI
00000567: PUSH2 0x0002
0000056a: JUMP
0000056b: JUMPDEST
0000056c: PUSH2 0x062d
0000056f: PUSH1 0x05
00000571: SLOAD
00000572: PUSH1 0x01
00000574: PUSH1 0xa0
00000576: PUSH1 0x02
00000578: EXP
00000579: SUB
0000057a: AND
0000057b: DUP2
0000057c: JUMP
0000057d: JUMPDEST
0000057e: PUSH1 0x40
00000580: MLOAD
00000581: DUP1
00000582: DUP1
00000583: PUSH1 0x20
00000585: ADD
00000586: DUP3
00000587: DUP2
00000588: SUB
00000589: DUP3
0000058a: MSTORE
0000058b: DUP4
0000058c: DUP2
0000058d: DUP2
0000058e: MLOAD
0000058f: DUP2
00000590: MSTORE
00000591: PUSH1 0x20
00000593: ADD
00000594: SWAP2
00000595: POP
00000596: DUP1
00000597: MLOAD
00000598: SWAP1
00000599: PUSH1 0x20
0000059b: ADD
0000059c: SWAP1
0000059d: DUP1
0000059e: DUP4
0000059f: DUP4
000005a0: DUP3
000005a1: SWAP1
000005a2: PUSH1 0x00
000005a4: PUSH1 0x04
000005a6: PUSH1 0x20
000005a8: DUP5
000005a9: PUSH1 0x1f
000005ab: ADD
000005ac: DIV
000005ad: PUSH1 0x0f
000005af: MUL
000005b0: PUSH1 0x03
000005b2: ADD
000005b3: CALL
000005b4: POP
000005b5: SWAP1
000005b6: POP
000005b7: SWAP1
000005b8: DUP2
000005b9: ADD
000005ba: SWAP1
000005bb: PUSH1 0x1f
000005bd: AND
000005be: DUP1
000005bf: ISZERO
000005c0: PUSH2 0x05dd
000005c3: JUMPI
000005c4: DUP1
000005c5: DUP3
000005c6: SUB
000005c7: DUP1
000005c8: MLOAD
000005c9: PUSH1 0x01
000005cb: DUP4
000005cc: PUSH1 0x20
000005ce: SUB
000005cf: PUSH2 0x0100
000005d2: EXP
000005d3: SUB
000005d4: NOT
000005d5: AND
000005d6: DUP2
000005d7: MSTORE
000005d8: PUSH1 0x20
000005da: ADD
000005db: SWAP2
000005dc: POP
000005dd: JUMPDEST
000005de: POP
000005df: SWAP3
000005e0: POP
000005e1: POP
000005e2: POP
000005e3: PUSH1 0x40
000005e5: MLOAD
000005e6: DUP1
000005e7: SWAP2
000005e8: SUB
000005e9: SWAP1
000005ea: RETURN
000005eb: JUMPDEST
000005ec: PUSH1 0x40
000005ee: DUP1
000005ef: MLOAD
000005f0: SWAP2
000005f1: DUP3
000005f2: MSTORE
000005f3: MLOAD
000005f4: SWAP1
000005f5: DUP2
000005f6: SWAP1
000005f7: SUB
000005f8: PUSH1 0x20
000005fa: ADD
000005fb: SWAP1
000005fc: RETURN
000005fd: JUMPDEST
000005fe: PUSH1 0x40
00000600: DUP1
00000601: MLOAD
00000602: PUSH4 0xffffffff
00000607: SWAP3
00000608: SWAP1
00000609: SWAP3
0000060a: AND
0000060b: DUP3
0000060c: MSTORE
0000060d: MLOAD
0000060e: SWAP1
0000060f: DUP2
00000610: SWAP1
00000611: SUB
00000612: PUSH1 0x20
00000614: ADD
00000615: SWAP1
00000616: RETURN
00000617: JUMPDEST
00000618: PUSH1 0x40
0000061a: DUP1
0000061b: MLOAD
0000061c: PUSH1 0xff
0000061e: SWAP1
0000061f: SWAP3
00000620: AND
00000621: DUP3
00000622: MSTORE
00000623: MLOAD
00000624: SWAP1
00000625: DUP2
00000626: SWAP1
00000627: SUB
00000628: PUSH1 0x20
0000062a: ADD
0000062b: SWAP1
0000062c: RETURN
0000062d: JUMPDEST
0000062e: PUSH1 0x40
00000630: DUP1
00000631: MLOAD
00000632: PUSH1 0x01
00000634: PUSH1 0xa0
00000636: PUSH1 0x02
00000638: EXP
00000639: SUB
0000063a: SWAP3
0000063b: SWAP1
0000063c: SWAP3
0000063d: AND
0000063e: DUP3
0000063f: MSTORE
00000640: MLOAD
00000641: SWAP1
00000642: DUP2
00000643: SWAP1
00000644: SUB
00000645: PUSH1 0x20
00000647: ADD
00000648: SWAP1
00000649: RETURN
0000064a: JUMPDEST
0000064b: POP
0000064c: ADDRESS
0000064d: PUSH1 0x01
0000064f: PUSH1 0xa0
00000651: PUSH1 0x02
00000653: EXP
00000654: SUB
00000655: SWAP1
00000656: DUP2
00000657: AND
00000658: PUSH1 0x00
0000065a: SWAP1
0000065b: DUP2
0000065c: MSTORE
0000065d: PUSH1 0x09
0000065f: PUSH1 0x20
00000661: MSTORE
00000662: PUSH1 0x40
00000664: DUP1
00000665: DUP3
00000666: KECCAK256
00000667: DUP1
00000668: SLOAD
00000669: DUP6
0000066a: ADD
0000066b: SWAP1
0000066c: SSTORE
0000066d: CALLER
0000066e: SWAP1
0000066f: SWAP3
00000670: AND
00000671: DUP1
00000672: DUP3
00000673: MSTORE
00000674: DUP3
00000675: DUP3
00000676: KECCAK256
00000677: DUP1
00000678: SLOAD
00000679: DUP6
0000067a: SWAP1
0000067b: SUB
0000067c: SWAP1
0000067d: SSTORE
0000067e: SWAP2
0000067f: MLOAD
00000680: PUSH1 0x08
00000682: SLOAD
00000683: DUP5
00000684: MUL
00000685: SWAP3
00000686: SWAP2
00000687: SWAP1
00000688: DUP4
00000689: SWAP1
0000068a: DUP3
0000068b: DUP2
0000068c: DUP2
0000068d: DUP2
0000068e: DUP6
0000068f: DUP9
00000690: DUP4
00000691: CALL
00000692: POP
00000693: POP
00000694: PUSH1 0x40
00000696: DUP1
00000697: MLOAD
00000698: DUP7
00000699: DUP2
0000069a: MSTORE
0000069b: SWAP1
0000069c: MLOAD
0000069d: ADDRESS
0000069e: PUSH1 0x01
000006a0: PUSH1 0xa0
000006a2: PUSH1 0x02
000006a4: EXP
000006a5: SUB
000006a6: AND
000006a7: SWAP5
000006a8: SWAP4
000006a9: POP
000006aa: PUSH1 0x00
000006ac: DUP1
000006ad: MLOAD
000006ae: PUSH1 0x20
000006b0: PUSH2 0x0a09
000006b3: DUP4
000006b4: CODECOPY
000006b5: DUP2
000006b6: MLOAD
000006b7: SWAP2
000006b8: MSTORE
000006b9: SWAP3
000006ba: POP
000006bb: SWAP1
000006bc: DUP2
000006bd: SWAP1
000006be: SUB
000006bf: PUSH1 0x20
000006c1: ADD
000006c2: SWAP1
000006c3: LOG3
000006c4: SWAP2
000006c5: SWAP1
000006c6: POP
000006c7: JUMP
000006c8: JUMPDEST
000006c9: PUSH1 0x00
000006cb: DUP1
000006cc: SLOAD
000006cd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006e2: NOT
000006e3: AND
000006e4: DUP3
000006e5: OR
000006e6: SWAP1
000006e7: SSTORE
000006e8: POP
000006e9: JUMP
000006ea: JUMPDEST
000006eb: DUP3
000006ec: ADD
000006ed: SWAP2
000006ee: SWAP1
000006ef: PUSH1 0x00
000006f1: MSTORE
000006f2: PUSH1 0x20
000006f4: PUSH1 0x00
000006f6: KECCAK256
000006f7: SWAP1
000006f8: JUMPDEST
000006f9: DUP2
000006fa: SLOAD
000006fb: DUP2
000006fc: MSTORE
000006fd: SWAP1
000006fe: PUSH1 0x01
00000700: ADD
00000701: SWAP1
00000702: PUSH1 0x20
00000704: ADD
00000705: DUP1
00000706: DUP4
00000707: GT
00000708: PUSH2 0x06f8
0000070b: JUMPI
0000070c: DUP3
0000070d: SWAP1
0000070e: SUB
0000070f: PUSH1 0x1f
00000711: AND
00000712: DUP3
00000713: ADD
00000714: SWAP2
00000715: JUMPDEST
00000716: POP
00000717: POP
00000718: POP
00000719: POP
0000071a: POP
0000071b: DUP2
0000071c: JUMP
0000071d: JUMPDEST
0000071e: POP
0000071f: SWAP4
00000720: SWAP3
00000721: POP
00000722: POP
00000723: POP
00000724: JUMP
00000725: JUMPDEST
00000726: PUSH1 0x01
00000728: PUSH1 0xa0
0000072a: PUSH1 0x02
0000072c: EXP
0000072d: SUB
0000072e: DUP4
0000072f: AND
00000730: PUSH1 0x00
00000732: SWAP1
00000733: DUP2
00000734: MSTORE
00000735: PUSH1 0x09
00000737: PUSH1 0x20
00000739: MSTORE
0000073a: PUSH1 0x40
0000073c: SWAP1
0000073d: KECCAK256
0000073e: SLOAD
0000073f: DUP1
00000740: DUP4
00000741: ADD
00000742: LT
00000743: ISZERO
00000744: PUSH2 0x074c
00000747: JUMPI
00000748: PUSH2 0x0002
0000074b: JUMP
0000074c: JUMPDEST
0000074d: PUSH1 0x01
0000074f: PUSH1 0xa0
00000751: PUSH1 0x02
00000753: EXP
00000754: SUB
00000755: DUP5
00000756: DUP2
00000757: AND
00000758: PUSH1 0x00
0000075a: DUP2
0000075b: DUP2
0000075c: MSTORE
0000075d: PUSH1 0x0a
0000075f: PUSH1 0x20
00000761: SWAP1
00000762: DUP2
00000763: MSTORE
00000764: PUSH1 0x40
00000766: DUP1
00000767: DUP4
00000768: KECCAK256
00000769: CALLER
0000076a: SWAP1
0000076b: SWAP6
0000076c: AND
0000076d: DUP1
0000076e: DUP5
0000076f: MSTORE
00000770: SWAP5
00000771: DUP3
00000772: MSTORE
00000773: DUP1
00000774: DUP4
00000775: KECCAK256
00000776: SLOAD
00000777: SWAP4
00000778: DUP4
00000779: MSTORE
0000077a: PUSH1 0x0b
0000077c: DUP3
0000077d: MSTORE
0000077e: DUP1
0000077f: DUP4
00000780: KECCAK256
00000781: SWAP5
00000782: DUP4
00000783: MSTORE
00000784: SWAP4
00000785: SWAP1
00000786: MSTORE
00000787: SWAP2
00000788: SWAP1
00000789: SWAP2
0000078a: KECCAK256
0000078b: SLOAD
0000078c: DUP4
0000078d: ADD
0000078e: GT
0000078f: ISZERO
00000790: PUSH2 0x0798
00000793: JUMPI
00000794: PUSH2 0x0002
00000797: JUMP
00000798: JUMPDEST
00000799: PUSH1 0x01
0000079b: PUSH1 0xa0
0000079d: PUSH1 0x02
0000079f: EXP
000007a0: SUB
000007a1: DUP5
000007a2: DUP2
000007a3: AND
000007a4: PUSH1 0x00
000007a6: DUP2
000007a7: DUP2
000007a8: MSTORE
000007a9: PUSH1 0x09
000007ab: PUSH1 0x20
000007ad: SWAP1
000007ae: DUP2
000007af: MSTORE
000007b0: PUSH1 0x40
000007b2: DUP1
000007b3: DUP4
000007b4: KECCAK256
000007b5: DUP1
000007b6: SLOAD
000007b7: DUP9
000007b8: SWAP1
000007b9: SUB
000007ba: SWAP1
000007bb: SSTORE
000007bc: DUP8
000007bd: DUP6
000007be: AND
000007bf: DUP1
000007c0: DUP5
000007c1: MSTORE
000007c2: DUP2
000007c3: DUP5
000007c4: KECCAK256
000007c5: DUP1
000007c6: SLOAD
000007c7: DUP10
000007c8: ADD
000007c9: SWAP1
000007ca: SSTORE
000007cb: DUP5
000007cc: DUP5
000007cd: MSTORE
000007ce: PUSH1 0x0b
000007d0: DUP4
000007d1: MSTORE
000007d2: DUP2
000007d3: DUP5
000007d4: KECCAK256
000007d5: CALLER
000007d6: SWAP1
000007d7: SWAP7
000007d8: AND
000007d9: DUP5
000007da: MSTORE
000007db: SWAP5
000007dc: DUP3
000007dd: MSTORE
000007de: SWAP2
000007df: DUP3
000007e0: SWAP1
000007e1: KECCAK256
000007e2: DUP1
000007e3: SLOAD
000007e4: DUP8
000007e5: ADD
000007e6: SWAP1
000007e7: SSTORE
000007e8: DUP2
000007e9: MLOAD
000007ea: DUP7
000007eb: DUP2
000007ec: MSTORE
000007ed: SWAP2
000007ee: MLOAD
000007ef: PUSH1 0x00
000007f1: DUP1
000007f2: MLOAD
000007f3: PUSH1 0x20
000007f5: PUSH2 0x0a09
000007f8: DUP4
000007f9: CODECOPY
000007fa: DUP2
000007fb: MLOAD
000007fc: SWAP2
000007fd: MSTORE
000007fe: SWAP3
000007ff: DUP2
00000800: SWAP1
00000801: SUB
00000802: SWAP1
00000803: SWAP2
00000804: ADD
00000805: SWAP1
00000806: LOG3
00000807: POP
00000808: PUSH1 0x01
0000080a: SWAP4
0000080b: SWAP3
0000080c: POP
0000080d: POP
0000080e: POP
0000080f: JUMP
00000810: JUMPDEST
00000811: PUSH1 0x06
00000813: SSTORE
00000814: JUMP
00000815: JUMPDEST
00000816: PUSH1 0x05
00000818: DUP1
00000819: SLOAD
0000081a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000082f: NOT
00000830: AND
00000831: DUP3
00000832: OR
00000833: SWAP1
00000834: SSTORE
00000835: POP
00000836: JUMP
00000837: JUMPDEST
00000838: PUSH2 0x0200
0000083b: DUP2
0000083c: PUSH4 0xffffffff
00000841: AND
00000842: LT
00000843: ISZERO
00000844: PUSH2 0x084c
00000847: JUMPI
00000848: PUSH2 0x0002
0000084b: JUMP
0000084c: JUMPDEST
0000084d: PUSH1 0x07
0000084f: DUP1
00000850: SLOAD
00000851: PUSH4 0xffffffff
00000856: NOT
00000857: AND
00000858: DUP3
00000859: OR
0000085a: SWAP1
0000085b: SSTORE
0000085c: POP
0000085d: JUMP
0000085e: JUMPDEST
0000085f: PUSH1 0x01
00000861: PUSH1 0xa0
00000863: PUSH1 0x02
00000865: EXP
00000866: SUB
00000867: DUP3
00000868: AND
00000869: PUSH1 0x00
0000086b: SWAP1
0000086c: DUP2
0000086d: MSTORE
0000086e: PUSH1 0x09
00000870: PUSH1 0x20
00000872: MSTORE
00000873: PUSH1 0x40
00000875: SWAP1
00000876: KECCAK256
00000877: SLOAD
00000878: DUP2
00000879: DUP2
0000087a: ADD
0000087b: LT
0000087c: ISZERO
0000087d: PUSH2 0x0885
00000880: JUMPI
00000881: PUSH2 0x0002
00000884: JUMP
00000885: JUMPDEST
00000886: CALLER
00000887: PUSH1 0x01
00000889: PUSH1 0xa0
0000088b: PUSH1 0x02
0000088d: EXP
0000088e: SUB
0000088f: SWAP1
00000890: DUP2
00000891: AND
00000892: PUSH1 0x00
00000894: DUP2
00000895: DUP2
00000896: MSTORE
00000897: PUSH1 0x09
00000899: PUSH1 0x20
0000089b: SWAP1
0000089c: DUP2
0000089d: MSTORE
0000089e: PUSH1 0x40
000008a0: DUP1
000008a1: DUP4
000008a2: KECCAK256
000008a3: DUP1
000008a4: SLOAD
000008a5: DUP8
000008a6: SWAP1
000008a7: SUB
000008a8: SWAP1
000008a9: SSTORE
000008aa: SWAP4
000008ab: DUP7
000008ac: AND
000008ad: DUP1
000008ae: DUP4
000008af: MSTORE
000008b0: SWAP2
000008b1: DUP5
000008b2: SWAP1
000008b3: KECCAK256
000008b4: DUP1
000008b5: SLOAD
000008b6: DUP7
000008b7: ADD
000008b8: SWAP1
000008b9: SSTORE
000008ba: DUP4
000008bb: MLOAD
000008bc: DUP6
000008bd: DUP2
000008be: MSTORE
000008bf: SWAP4
000008c0: MLOAD
000008c1: SWAP2
000008c2: SWAP4
000008c3: PUSH1 0x00
000008c5: DUP1
000008c6: MLOAD
000008c7: PUSH1 0x20
000008c9: PUSH2 0x0a09
000008cc: DUP4
000008cd: CODECOPY
000008ce: DUP2
000008cf: MLOAD
000008d0: SWAP2
000008d1: MSTORE
000008d2: SWAP3
000008d3: SWAP1
000008d4: DUP2
000008d5: SWAP1
000008d6: SUB
000008d7: SWAP1
000008d8: SWAP2
000008d9: ADD
000008da: SWAP1
000008db: LOG3
000008dc: POP
000008dd: POP
000008de: JUMP
000008df: JUMPDEST
000008e0: PUSH1 0x04
000008e2: SLOAD
000008e3: ADDRESS
000008e4: PUSH1 0x01
000008e6: PUSH1 0xa0
000008e8: PUSH1 0x02
000008ea: EXP
000008eb: SUB
000008ec: AND
000008ed: BALANCE
000008ee: PUSH6 0x09184e72a000
000008f5: MUL
000008f6: DIV
000008f7: PUSH1 0x08
000008f9: SSTORE
000008fa: PUSH1 0x40
000008fc: DUP1
000008fd: MLOAD
000008fe: NUMBER
000008ff: DUP2
00000900: MSTORE
00000901: TIMESTAMP
00000902: PUSH1 0x20
00000904: DUP3
00000905: ADD
00000906: MSTORE
00000907: DUP1
00000908: DUP3
00000909: ADD
0000090a: DUP7
0000090b: SWAP1
0000090c: MSTORE
0000090d: SWAP1
0000090e: MLOAD
0000090f: SWAP1
00000910: DUP2
00000911: SWAP1
00000912: SUB
00000913: PUSH1 0x60
00000915: ADD
00000916: SWAP1
00000917: KECCAK256
00000918: PUSH2 0x0922
0000091b: SWAP1
0000091c: PUSH1 0x0a
0000091e: PUSH2 0x01e7
00000921: JUMP
00000922: JUMPDEST
00000923: PUSH1 0x07
00000925: SLOAD
00000926: SWAP1
00000927: SWAP2
00000928: POP
00000929: PUSH4 0xffffffff
0000092e: AND
0000092f: DUP2
00000930: LT
00000931: PUSH2 0x0947
00000934: JUMPI
00000935: PUSH1 0x00
00000937: SWAP3
00000938: POP
00000939: PUSH2 0x03e7
0000093c: PUSH5 0x174876e800
00000942: DUP6
00000943: DIV
00000944: DIV
00000945: SWAP2
00000946: POP
00000947: JUMPDEST
00000948: PUSH1 0x07
0000094a: SLOAD
0000094b: PUSH4 0xffffffff
00000950: AND
00000951: DUP2
00000952: LT
00000953: ISZERO
00000954: PUSH2 0x0965
00000957: JUMPI
00000958: PUSH5 0x174876e800
0000095e: PUSH1 0x02
00000960: DUP6
00000961: MUL
00000962: DIV
00000963: SWAP3
00000964: POP
00000965: JUMPDEST
00000966: CALLER
00000967: PUSH1 0x01
00000969: PUSH1 0xa0
0000096b: PUSH1 0x02
0000096d: EXP
0000096e: SUB
0000096f: SWAP1
00000970: DUP2
00000971: AND
00000972: PUSH1 0x00
00000974: DUP2
00000975: DUP2
00000976: MSTORE
00000977: PUSH1 0x09
00000979: PUSH1 0x20
0000097b: SWAP1
0000097c: DUP2
0000097d: MSTORE
0000097e: PUSH1 0x40
00000980: DUP1
00000981: DUP4
00000982: KECCAK256
00000983: DUP1
00000984: SLOAD
00000985: DUP10
00000986: ADD
00000987: SWAP1
00000988: SSTORE
00000989: PUSH1 0x05
0000098b: SLOAD
0000098c: DUP6
0000098d: AND
0000098e: DUP4
0000098f: MSTORE
00000990: DUP1
00000991: DUP4
00000992: KECCAK256
00000993: DUP1
00000994: SLOAD
00000995: DUP9
00000996: ADD
00000997: SWAP1
00000998: SSTORE
00000999: ADDRESS
0000099a: SWAP1
0000099b: SWAP5
0000099c: AND
0000099d: DUP1
0000099e: DUP4
0000099f: MSTORE
000009a0: SWAP2
000009a1: DUP5
000009a2: SWAP1
000009a3: KECCAK256
000009a4: DUP1
000009a5: SLOAD
000009a6: DUP8
000009a7: DUP10
000009a8: ADD
000009a9: SWAP1
000009aa: SUB
000009ab: SWAP1
000009ac: SSTORE
000009ad: DUP4
000009ae: MLOAD
000009af: DUP8
000009b0: DUP2
000009b1: MSTORE
000009b2: SWAP4
000009b3: MLOAD
000009b4: SWAP3
000009b5: SWAP4
000009b6: SWAP2
000009b7: SWAP3
000009b8: PUSH1 0x00
000009ba: DUP1
000009bb: MLOAD
000009bc: PUSH1 0x20
000009be: PUSH2 0x0a09
000009c1: DUP4
000009c2: CODECOPY
000009c3: DUP2
000009c4: MLOAD
000009c5: SWAP2
000009c6: MSTORE
000009c7: SWAP3
000009c8: DUP2
000009c9: SWAP1
000009ca: SUB
000009cb: SWAP1
000009cc: SWAP2
000009cd: ADD
000009ce: SWAP1
000009cf: LOG3
000009d0: PUSH1 0x05
000009d2: SLOAD
000009d3: PUSH1 0x40
000009d5: DUP1
000009d6: MLOAD
000009d7: DUP5
000009d8: DUP2
000009d9: MSTORE
000009da: SWAP1
000009db: MLOAD
000009dc: PUSH1 0x01
000009de: PUSH1 0xa0
000009e0: PUSH1 0x02
000009e2: EXP
000009e3: SUB
000009e4: SWAP3
000009e5: DUP4
000009e6: AND
000009e7: SWAP3
000009e8: ADDRESS
000009e9: AND
000009ea: SWAP2
000009eb: PUSH1 0x00
000009ed: DUP1
000009ee: MLOAD
000009ef: PUSH1 0x20
000009f1: PUSH2 0x0a09
000009f4: DUP4
000009f5: CODECOPY
000009f6: DUP2
000009f7: MLOAD
000009f8: SWAP2
000009f9: MSTORE
000009fa: SWAP2
000009fb: SWAP1
000009fc: DUP2
000009fd: SWAP1
000009fe: SUB
000009ff: PUSH1 0x20
00000a01: ADD
00000a02: SWAP1
00000a03: LOG3
00000a04: POP
00000a05: POP
00000a06: POP
00000a07: SWAP1
00000a08: JUMP
00000a09: UNKNOWN(0xDD)
00000a0a: CALLCODE
00000a0b: MSTORE
00000a0c: UNKNOWN(0xAD)
00000a0d: SHL
00000a0e: UNKNOWN(0xE2)
00000a0f: UNKNOWN(0xC8)
00000a10: SWAP12
00000a11: PUSH10 0xc2b068fc378daa952ba7
00000a1c: CALL
00000a1d: PUSH4 0xc4a11628
00000a22: CREATE2
00000a23: GAS
00000a24: UNKNOWN(0x4D)
00000a25: CREATE2
00000a26: UNKNOWN(0x23)
00000a27: UNKNOWN(0xB3)
00000a28: UNKNOWN(0xEF)
View stderr
Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment.

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 yes yes
view
trace_id: 0x5c2ca3ffede7cba7409b4828de4497e44f024962c4ac70638218b33df9a5f9ae
call_targets: 0x0000000000000000000000000000000000000004, 0xbe1c8694b8457b4f8dd06eb11d236b4aa4d5b2b9
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0x5c2ca3ffede7cba7409b4828de4497e44f024962c4ac70638218b33df9a5f9ae",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0000000000000000000000000000000000000004",
        "0xbe1c8694b8457b4f8dd06eb11d236b4aa4d5b2b9"
    ],
    "matched_probe": null,
    "target_varies": true,
    "classification": "target_varies"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1fe9eabc",
            "selector": "0x1fe9eabc",
            "calldata_variants": [
                "0x1fe9eabc",
                "0x1fe9eabc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x233de126",
            "selector": "0x233de126",
            "calldata_variants": [
                "0x233de126",
                "0x233de1260000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x313ce567",
            "selector": "0x313ce567",
            "calldata_variants": [
                "0x313ce567",
                "0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x41fa4876",
            "selector": "0x41fa4876",
            "calldata_variants": [
                "0x41fa4876",
                "0x41fa48760000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x70a08231",
            "selector": "0x70a08231",
            "calldata_variants": [
                "0x70a08231",
                "0x70a082310000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1126,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1194,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1459,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 6,
    "guards_detected": [],
    "untrusted_call_count": 6
}
high other detector ETH value transfer possible 55 yes yes
view
trace_id: 0x5c2ca3ffede7cba7409b4828de4497e44f024962c4ac70638218b33df9a5f9ae
call_targets: 0x0000000000000000000000000000000000000004, 0xbe1c8694b8457b4f8dd06eb11d236b4aa4d5b2b9
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0x5c2ca3ffede7cba7409b4828de4497e44f024962c4ac70638218b33df9a5f9ae",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0000000000000000000000000000000000000004",
        "0xbe1c8694b8457b4f8dd06eb11d236b4aa4d5b2b9"
    ],
    "matched_probe": null,
    "target_varies": true,
    "classification": "target_varies"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1fe9eabc",
            "selector": "0x1fe9eabc",
            "calldata_variants": [
                "0x1fe9eabc",
                "0x1fe9eabc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x233de126",
            "selector": "0x233de126",
            "calldata_variants": [
                "0x233de126",
                "0x233de1260000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x313ce567",
            "selector": "0x313ce567",
            "calldata_variants": [
                "0x313ce567",
                "0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x41fa4876",
            "selector": "0x41fa4876",
            "calldata_variants": [
                "0x41fa4876",
                "0x41fa48760000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x70a08231",
            "selector": "0x70a08231",
            "calldata_variants": [
                "0x70a08231",
                "0x70a082310000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1126,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1194,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1459,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 6,
    "guards_detected": []
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0xfdff404d1b51f645b650ba85d78dfbcce7df2879150be5c38bf00a3b3ea51fd0
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0xfdff404d1b51f645b650ba85d78dfbcce7df2879150be5c38bf00a3b3ea51fd0",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1fe9eabc",
            "selector": "0x1fe9eabc",
            "calldata_variants": [
                "0x1fe9eabc",
                "0x1fe9eabc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x233de126",
            "selector": "0x233de126",
            "calldata_variants": [
                "0x233de126",
                "0x233de1260000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x313ce567",
            "selector": "0x313ce567",
            "calldata_variants": [
                "0x313ce567",
                "0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x41fa4876",
            "selector": "0x41fa4876",
            "calldata_variants": [
                "0x41fa4876",
                "0x41fa48760000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x70a08231",
            "selector": "0x70a08231",
            "calldata_variants": [
                "0x70a08231",
                "0x70a082310000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 0,
    "create2_count": 2
}
medium other codex Unchecked ETH payout can debit seller balances without confirming payment 75 no
view
evidence_json
{
    "evidence": "The dispatcher routes selector 0xdc3080f2 to pc 0x507. That path recomputes slot8 from contract ETH balance, verifies the caller balance in slot9, then updates balances before the external CALL: balance writes occur in the 0x64a routine before pc 0x691. The CALL at pc 0x691 is followed only by POP/POP and event emission; unlike the CALL at pc 0x4aa, there is no ISZERO/JUMPI failure check after pc 0x691.",
    "locations": [
        "selector:0xdc3080f2",
        "pc:0x64a",
        "pc:0x67d",
        "pc:0x691"
    ],
    "recommendation": "Check the low-level CALL result and revert on failure, or switch to a pull-payment withdrawal model so token accounting is only finalized after a confirmed payout.",
    "exploit_scenario": "A user calling selector 0xdc3080f2 from a contract wallet or any recipient that rejects ETH can have their token balance debited and the contract balance credited before the payout CALL executes. Because the CALL result is ignored, the transaction can complete with no ETH delivered to the seller."
}
medium other codex Standard ERC20 selector 0x23b872dd does not implement transferFrom semantics 75 no
view
evidence_json
{
    "evidence": "Selector inference is explicit in the dispatcher: 0x23b872dd jumps to pc 0x19f. The 0x19f-0x1d0 path loads three calldata words, computes a slot9 balance lookup, compares it to the second argument, and on success jumps to pc 0x1d1. Pc 0x1d1 immediately returns sload(0x03) & 0xff through the common return helper. There is no SSTORE, no LOG3 Transfer event, and no allowance decrement anywhere on that selector path.",
    "locations": [
        "selector:0x23b872dd",
        "pc:0x19f",
        "pc:0x1c4",
        "pc:0x1d1"
    ],
    "recommendation": "Implement ERC20-compliant transferFrom logic under selector 0x23b872dd, or remove/avoid advertising the standard selector if the function is intentionally non-standard.",
    "exploit_scenario": "An exchange, router, or escrow calling transferFrom(address,address,uint256) will expect allowance consumption, balance movement, and a boolean return. Here the standard selector appears to do only a balance check and then returns the low byte of slot3, so standard integrations can fail or the token can behave like a honeypot despite exposing ERC20-looking selectors."
}
low access_control codex `transferOwnership` selector does not update the owner slot used by auth checks 65 no
view
evidence_json
{
    "evidence": "The standard owner getter 0x8da5cb5b returns sload(0x00) masked to an address. Admin guards compare CALLER with sload(0x00) at pcs 0x177, 0x254, 0x33e, and 0x553. By contrast, selector 0xf2fde38b dispatches to pc 0x54a and reaches the 0x815 routine, which reads and writes slot5, never slot0.",
    "locations": [
        "selector:0x8da5cb5b",
        "selector:0xf2fde38b",
        "pc:0x177",
        "pc:0x254",
        "pc:0x33e",
        "pc:0x553",
        "pc:0x54a",
        "pc:0x815"
    ],
    "recommendation": "If ownership rotation is intended, update slot0 in the 0xf2fde38b path. Otherwise remove the standard selector or document clearly that ownership is immutable and slot5 is a different role.",
    "exploit_scenario": "Operators and tooling may assume selector 0xf2fde38b is standard Ownable.transferOwnership. In this bytecode, admin checks consistently read slot0, but 0xf2fde38b writes slot5 instead. If the slot0 owner key is lost, ownership cannot be rotated, and monitoring tooling can falsely believe ownership was transferred."
}