019b3836-472f-722a-a5f8-2981e57b8c6f
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 6267 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 6268 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 48988 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 48989 | capability.graph | complete | 1 / 3 | 1 week ago |
| 48990 | detector.run | complete | 1 / 3 | 1 week ago |
| 48991 | validation.fork | complete | 1 / 3 | 1 week ago |
| 113310 | report.consolidate | complete | 1 / 6 | 1 week ago |
No slither job recorded yet.
{"no_findings":false,"summary":"Bytecode-only review found three meaningful privileged behaviors: an owner-only mint path that can arbitrarily inflate balances and total supply, an owner-controlled account-freeze mechanism that can censor transfers, and an owner-reachable SELFDESTRUCT path. I did not treat the raw CALL detector hits as standalone exploits because the bytecode shows several of them belong to owner/callback flows and at least one callback success check is explicit; selector names remain best-effort.","findings":[{"severity":"high","category":"access_control","title":"Privileged mint path can arbitrarily increase balances and total supply","exploit_scenario":"A compromised or malicious owner can call the owner-gated function behind selector 0x79c65068 to credit any address and increase the global supply, diluting all existing holders. From bytecode alone this looks like an unrestricted admin mint rather than a capped issuance path.","recommendation":"If unlimited minting is not an intended trust assumption, remove this path, add a hard cap enforced on-chain, or gate issuance behind stronger controls such as a timelock/multisig and explicit cap checks.","evidence":"Selector 0x79c65068 is owner-gated at pc 0x0238-0x0249. Its body updates a balance mapping derived from slot 0x07 at pc 0x07f7-0x07fc and then increments fixed slot 0x05 at pc 0x07fd-0x0804, which is consistent with arbitrary minting plus totalSupply growth.","locations":["selector:0x79c65068","pc:0x0238","pc:0x07f8","pc:0x0800"]},{"severity":"medium","category":"access_control","title":"Owner can freeze arbitrary accounts, enabling transfer censorship","exploit_scenario":"A compromised or malicious owner can toggle a per-account freeze flag and block affected holders from using the regular transfer path. This creates a centralized censorship lever over token mobility. Bytecode shows transfer() checks the freeze slot; transferFrom() enforcement is not obvious from the recovered regions, so the exact blast radius is somewhat uncertain.","recommendation":"If censorship is not an intended trust assumption, remove the freeze feature. If it is intentional, disclose it clearly and protect it with stronger governance controls and monitoring.","evidence":"Selector 0xe724529c is owner-gated at pc 0x0463-0x0475 and writes a boolean-like flag into a mapping rooted at slot 0x08 at pc 0x0899-0x08a3. The transfer path checks caller slot 0x08 before proceeding at pc 0x05a3-0x05c8.","locations":["selector:0xe724529c","pc:0x0899","pc:0x08a3","pc:0x05ba"]},{"severity":"medium","category":"other","title":"Owner-reachable SELFDESTRUCT path can sweep ETH and may brick the contract on some chains","exploit_scenario":"A compromised or malicious owner can invoke selector 0x83197ef0 and execute SELFDESTRUCT sending funds to the owner address. On chains with pre-EIP-6780 semantics this can remove contract code entirely; on modern chains it is typically reduced to an ETH sweep unless called in the same creation transaction. Because the chain is unknown from bytecode alone, the full impact is chain-dependent.","recommendation":"Remove the SELFDESTRUCT path unless it is absolutely required. If emergency shutdown is needed, prefer a pause/timelock design that cannot delete logic or unexpectedly sweep funds.","evidence":"Selector 0x83197ef0 is owner-gated at pc 0x0258-0x0268 and jumps to pc 0x0a5a, where the contract loads slot 0x00, masks it to an address, and executes SELFDESTRUCT at pc 0x0a67.","locations":["selector:0x83197ef0","pc:0x0258","pc:0x0a5a","pc:0x0a67"]}]}
OpenAI Codex v0.118.0 (research preview)
--------
workdir: /tmp/codex-glck_oeo
model: gpt-5.4
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: none
session id: 019d5c7e-1601-7bc1-b1a7-7d0dc578b0a2
--------
user
You are a security auditor. You ONLY have runtime bytecode + analysis artifacts.
You MUST read `BYTECODE_BUNDLE.json` before concluding; it contains the bytecode summary,
evidence bundle, callsites, storage slots, and detector findings.
Special cases when reasoning from bytecode (be explicit about uncertainty):
- Selector inference is best-effort; missing selectors are common.
- Fallback/receive paths may be the only entrypoints.
- CALL vs DELEGATECALL semantics differ; DELEGATECALL executes in caller storage.
- Proxy patterns (EIP-1967, minimal proxies, beacon) change which storage is authoritative.
- Storage slots are raw; mappings/arrays appear via keccak patterns, names are unknown.
- Guard detection is heuristic; absence of guards does NOT mean unguarded.
- Returndata checking is unknown unless explicitly shown in evidence.
- Precompiles (0x1..0x9) and common ERC20 transfer selectors may appear; do not over-claim.
Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title.
- Locations can be pc references like "pc:0x123" or selectors like "selector:0xa9059cbb".
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation,
accounting/invariant breaks, dangerous delegatecall, and untrusted external calls.
Be conservative: if evidence is weak, mark severity low/medium and explain why.
warning: Codex could not find system bubblewrap on PATH. Please install bubblewrap with your package manager. Codex will use the vendored bubblewrap in the meantime.
exec
/bin/bash -lc pwd in /tmp/codex-glck_oeo
succeeded in 0ms:
/tmp/codex-glck_oeo
exec
/bin/bash -lc 'rg --files' in /tmp/codex-glck_oeo
succeeded in 0ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
→ Read BYTECODE_BUNDLE.json and extract bytecode evidence, detector findings, callsites, and storage-slot context
• Assess likely vulnerabilities from bytecode only, with explicit uncertainty and pc/selector references
• Return final JSON matching the required schema
exec
/bin/bash -lc "sed -n '1,260p' BYTECODE_BUNDLE.json" in /tmp/codex-glck_oeo
succeeded in 0ms:
{
"analysis_artifact": {
"address": "0x9535932d6d5262e5beff6a75b19f092be3b5fba8",
"artifact_hash": "0xf752f0f49e1082a988b939816d81d54212242e59dd58ed5085a30f205e11551f",
"artifact_json": {
"auth": {
"guards": []
},
"basic_blocks": [
{
"end_pc": 10,
"hash": "0xfdafff0499d89ac040dc6de27f8e5fbfd2b03998a3a50c13d5170f46101b0e8d",
"opcodes": [
"PUSH1",
"PUSH1",
"MSTORE",
"CALLDATASIZE",
"ISZERO",
"PUSH2",
"JUMPI"
],
"start_pc": 0
},
{
"end_pc": 30,
"hash": "0xd1b4e89d40da965cc700a7f657b374e4c470f5b10641cec87bc86a2685bfc696",
"opcodes": [
"PUSH1",
"PUSH1",
"EXP",
"PUSH1",
"CALLDATALOAD",
"DIV",
"PUSH4",
"OP_81",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 11
},
{
"end_pc": 41,
"hash": "0x26bb21aa151dfd4294f95c9bab767dfc813c16961045bb720f6e15a7bf533ab0",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 31
},
{
"end_pc": 52,
"hash": "0xc62418d0fa0e2558f91f983fa94cdd6efa73b9e5062d49b1792f7aa5e2d65520",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 42
},
{
"end_pc": 63,
"hash": "0xc2e3d63f845557717e0aa9d4e28445d5dc4f4449172ec83f65c7fd605289bb2b",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 53
},
{
"end_pc": 74,
"hash": "0x6718e6e9c96250aa33193f2b60d68e2742d3a1e4b04aadbd49640f97508de1aa",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 64
},
{
"end_pc": 85,
"hash": "0x198317194bfedf85202696c254bfe89c60eb853a6483b03fb657dfb93ddc0fc8",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 75
},
{
"end_pc": 96,
"hash": "0x3fd7225cb405227f0a4d22229a8035c7e929444879734a11115e3d6b0bce95ad",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 86
},
{
"end_pc": 107,
"hash": "0x7f2efa4c47289d4e2f4f700bd109c33115db46f8b58b0c5be2c2a2565f52935a",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 97
},
{
"end_pc": 118,
"hash": "0x5e7c47f9737b6c6232ed2a14c464ec1a98cf3ace3d4baf889f255922d5aae733",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 108
},
{
"end_pc": 129,
"hash": "0xbf55d2df4d5d53db07b17af1d140568b65bbd98476d3ad7309f6d24a9030764b",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 119
},
{
"end_pc": 140,
"hash": "0x269758ad6541146863cafac38327a2bf99c69b7f1c80de5e5587027a73e08e95",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 130
},
{
"end_pc": 151,
"hash": "0xb29b9383cbf3ca63a0e0e1ae8645f2ca8d06f8d8bc5ff0ca2987bd13022a4e6d",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 141
},
{
"end_pc": 162,
"hash": "0xd54ad043e934299eb07644258563e810198443dcab619b14b506a2ac5eae9544",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 152
},
{
"end_pc": 173,
"hash": "0xa0b2d23f08ec198c169c59f44e2a44b064b0f859af48abec9f4829ea2bc4a961",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 163
},
{
"end_pc": 184,
"hash": "0xbae5cd87a3bdb3cf279213c00dc9ed3d69b77e98f58a8aa4a541f9af1d45682f",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 174
},
{
"end_pc": 195,
"hash": "0xb4949bc5dbd179efffebc89e306f1f5d299fd3844fff03148bfb54404222eaa4",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 185
},
{
"end_pc": 206,
"hash": "0x1b468b08d535e2d793c6fdf13425af8578706c70f39e5a4fbb82df9b03c6c6fc",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 196
},
{
"end_pc": 217,
"hash": "0x048e3f91dd68794a9caf48967494fe67c5cce358ce30f2fa01aceed288cfcd09",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 207
},
{
"end_pc": 228,
"hash": "0xa5b9d50ee6b4d3b864364f9636cb6a979904cb1e3364c53489aca10870938afa",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 218
},
{
"end_pc": 239,
"hash": "0x9064ec55d1e0719c871155bcd8de10827cfd10f8d8dffcac1e4f9018ac2b55b3",
exec
/bin/bash -lc "jq 'keys' BYTECODE_BUNDLE.json" in /tmp/codex-glck_oeo
succeeded in 0ms:
[
"analysis_artifact",
"analysis_run",
"artifact",
"capability_graph",
"detector_findings",
"heuristics_summary"
]
exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json | keys' BYTECODE_BUNDLE.json" in /tmp/codex-glck_oeo
succeeded in 0ms:
[
"auth",
"basic_blocks",
"callsites",
"cfg_edges",
"cfg_hash",
"dispatcher_type",
"function_entries",
"functions",
"selectors",
"sinks",
"storage",
"version"
]
exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.detectors' BYTECODE_BUNDLE.json" in /tmp/codex-glck_oeo
succeeded in 0ms:
null
exec
/bin/bash -lc "jq '.detector_findings' BYTECODE_BUNDLE.json" in /tmp/codex-glck_oeo
succeeded in 0ms:
[
{
"confidence": 60,
"evidence_json": {
"call_count": 8,
"examples": [
{
"opcode": "CALL",
"pc": 1238,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 2490,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 2601,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
}
],
"guards_detected": [],
"untrusted_call_count": 8
},
"normalized_json": {
"sink": "CALL"
},
"severity": "high",
"title": "Untrusted CALL target/value reachable",
"validated": true,
"validation_json": {
"attempts": 1,
"call_targets": [
"0x0000000000000000000000000000000000000004",
"0x9535932d6d5262e5beff6a75b19f092be3b5fba8"
],
"classification": "target_varies",
"confirmed": true,
"errors": 0,
"matched_probe": null,
"sink": "CALL",
"status": "confirmed",
"target_varies": true,
"trace_id": "0x762391ca1267fa17043df139173376371e7e6003fe992eaa39c813fc4dfc6c53",
"trace_mode": "callTracer"
}
},
{
"confidence": 55,
"evidence_json": {
"eth_value_calls": 8,
"examples": [
{
"opcode": "CALL",
"pc": 1238,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 2490,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 2601,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
}
],
"guards_detected": []
},
"normalized_json": {
"sink": "CALL",
"value": "nonzero"
},
"severity": "high",
"title": "ETH value transfer possible",
"validated": true,
"validation_json": {
"attempts": 1,
"call_targets": [
"0x0000000000000000000000000000000000000004",
"0x9535932d6d5262e5beff6a75b19f092be3b5fba8"
],
"classification": "target_varies",
"confirmed": true,
"errors": 0,
"matched_probe": null,
"sink": "CALL",
"status": "confirmed",
"target_varies": true,
"trace_id": "0x762391ca1267fa17043df139173376371e7e6003fe992eaa39c813fc4dfc6c53",
"trace_mode": "callTracer"
}
},
{
"confidence": 65,
"evidence_json": {
"guards_detected": [],
"selfdestruct_count": 1
},
"normalized_json": {
"sink": "SELFDESTRUCT"
},
"severity": "high",
"title": "SELFDESTRUCT reachable",
"validated": false,
"validation_json": {
"attempts": 32,
"call_targets": null,
"classification": "no_sink",
"confirmed": false,
"errors": 0,
"matched_probe": null,
"sink": "SELFDESTRUCT",
"status": "unknown",
"target_varies": null,
"trace_id": "0x43ab5d24aa4121d423081e38c66be0e0c13a40ed788b6dcdafeece635bf25ba7",
"trace_mode": "structLogs"
}
},
{
"confidence": 45,
"evidence_json": {
"create2_count": 2,
"create_count": 0
},
"normalized_json": {
"sink": "CREATE"
},
"severity": "medium",
"title": "CREATE/CREATE2 reachable",
"validated": false,
"validation_json": {
"attempts": 32,
"call_targets": null,
"classification": "no_sink",
"confirmed": false,
"errors": 0,
"matched_probe": null,
"sink": "CREATE",
"status": "unknown",
"target_varies": null,
"trace_id": "0x43ab5d24aa4121d423081e38c66be0e0c13a40ed788b6dcdafeece635bf25ba7",
"trace_mode": "structLogs"
}
}
]
exec
/bin/bash -lc "jq '.heuristics_summary' BYTECODE_BUNDLE.json" in /tmp/codex-glck_oeo
succeeded in 0ms:
{
"create2_count": 2,
"delegatecall_count": 0,
"flags": [
"selfdestruct_present",
"create_opcodes_present"
],
"selfdestruct_count": 1
}
exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.selectors' BYTECODE_BUNDLE.json" in /tmp/codex-glck_oeo
succeeded in 0ms:
[
"0x06fdde03",
"0x18160ddd",
"0x23b872dd",
"0x2e1a7d4d",
"0x313ce567",
"0x5a3b7e42",
"0x70a08231",
"0x79c65068",
"0x83197ef0",
"0x8620410b",
"0x8da5cb5b",
"0x91b7f5ed",
"0x95d89b41",
"0xa6f2ae3a",
"0xa9059cbb",
"0xb414d4b6",
"0xcae9ca51",
"0xdd62ed3e",
"0xe724529c",
"0xf2fde38b"
]
exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.callsites' BYTECODE_BUNDLE.json" in /tmp/codex-glck_oeo
succeeded in 0ms:
[
{
"opcode": "CALL",
"pc": 1238,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 2490,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 2601,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 2642,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 3006,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 3074,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALLCODE",
"pc": 3094,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 3112,
"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-glck_oeo
succeeded in 0ms:
{
"keccak_count": 36,
"reads": 53,
"slots": [
{
"op": "SLOAD",
"pc": 255,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 324,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 344,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 436,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 449,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 520,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 570,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 600,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 630,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 639,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 660,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 691,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 763,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 792,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 1125,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1158,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1326,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2017,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2048,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2109,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2270,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 2580,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2616,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2653,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
"writes": 14
}
exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.function_entries' BYTECODE_BUNDLE.json" in /tmp/codex-glck_oeo
succeeded in 0ms:
[
{
"entry_pc": null,
"selector": "0x06fdde03"
},
{
"entry_pc": 599290589,
"selector": "0x18160ddd"
},
{
"entry_pc": 773487949,
"selector": "0x23b872dd"
},
{
"entry_pc": 826074471,
"selector": "0x2e1a7d4d"
},
{
"entry_pc": 1513848386,
"selector": "0x313ce567"
},
{
"entry_pc": 1889567281,
"selector": "0x5a3b7e42"
},
{
"entry_pc": 2043039848,
"selector": "0x70a08231"
},
{
"entry_pc": 2199486192,
"selector": "0x79c65068"
},
{
"entry_pc": 2250260747,
"selector": "0x83197ef0"
},
{
"entry_pc": 2376452955,
"selector": "0x8620410b"
},
{
"entry_pc": 2444752365,
"selector": "0x8da5cb5b"
},
{
"entry_pc": 2514000705,
"selector": "0x91b7f5ed"
},
{
"entry_pc": 2800922170,
"selector": "0x95d89b41"
},
{
"entry_pc": 2835717307,
"selector": "0xa6f2ae3a"
},
{
"entry_pc": 3021264054,
"selector": "0xa9059cbb"
},
{
"entry_pc": 3404319313,
"selector": "0xb414d4b6"
},
{
"entry_pc": 3714247998,
"selector": "0xcae9ca51"
},
{
"entry_pc": 3877917340,
"selector": "0xdd62ed3e"
},
{
"entry_pc": 4076725131,
"selector": "0xe724529c"
},
{
"entry_pc": 1182,
"selector": "0xf2fde38b"
}
]
exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.functions' BYTECODE_BUNDLE.json" in /tmp/codex-glck_oeo
succeeded in 0ms:
[
{
"auth": {
"guards": []
},
"entry_pc": null,
"selector": "0x06fdde03",
"sinks": {
"call": 8,
"delegatecall": 0,
"selfdestruct": 1,
"staticcall": 0
},
"storage": {
"reads": 53,
"slots": [
{
"op": "SLOAD",
"pc": 255,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 324,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 344,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 436,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 449,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 520,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 570,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 600,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 630,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 639,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 660,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 691,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 763,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 792,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 1125,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1158,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1326,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2017,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2048,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2109,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2270,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 2580,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2616,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2653,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
"writes": 14
}
},
{
"auth": {
"guards": []
},
"entry_pc": 599290589,
"selector": "0x18160ddd",
"sinks": {
"call": 8,
"delegatecall": 0,
"selfdestruct": 1,
"staticcall": 0
},
"storage": {
"reads": 53,
"slots": [
{
"op": "SLOAD",
"pc": 255,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 324,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 344,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 436,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 449,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 520,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 570,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 600,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 630,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 639,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 660,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 691,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 763,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 792,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 1125,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1158,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1326,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2017,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2048,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2109,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2270,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 2580,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2616,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2653,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
"writes": 14
}
},
{
"auth": {
"guards": []
},
"entry_pc": 773487949,
"selector": "0x23b872dd",
"sinks": {
"call": 8,
"delegatecall": 0,
"selfdestruct": 1,
"staticcall": 0
},
"storage": {
"reads": 53,
"slots": [
{
"op": "SLOAD",
"pc": 255,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 324,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 344,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 436,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 449,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 520,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 570,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 600,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 630,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 639,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 660,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 691,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 763,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 792,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 1125,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1158,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1326,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2017,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2048,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2109,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2270,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 2580,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2616,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2653,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
"writes": 14
}
},
{
"auth": {
"guards": []
},
"entry_pc": 826074471,
"selector": "0x2e1a7d4d",
"sinks": {
"call": 8,
"delegatecall": 0,
"selfdestruct": 1,
"staticcall": 0
},
"storage": {
"reads": 53,
"slots": [
{
"op": "SLOAD",
"pc": 255,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 324,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 344,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 436,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 449,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 520,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 570,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 600,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 630,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 639,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 660,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 691,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 763,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 792,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 1125,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1158,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1326,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2017,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2048,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2109,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2270,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 2580,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2616,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2653,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
"writes": 14
}
},
{
"auth": {
"guards": []
},
"entry_pc": 1513848386,
"selector": "0x313ce567",
"sinks": {
"call": 8,
"delegatecall": 0,
"selfdestruct": 1,
"staticcall": 0
},
"storage": {
"reads": 53,
"slots": [
{
"op": "SLOAD",
"pc": 255,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 324,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 344,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 436,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 449,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 520,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 570,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 600,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 630,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 639,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 660,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 691,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 763,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 792,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 1125,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1158,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1326,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2017,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2048,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2109,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2270,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 2580,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2616,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2653,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
"writes": 14
}
},
{
"auth": {
"guards": []
},
"entry_pc": 1889567281,
"selector": "0x5a3b7e42",
"sinks": {
"call": 8,
"delegatecall": 0,
"selfdestruct": 1,
"staticcall": 0
},
"storage": {
"reads": 53,
"slots": [
{
"op": "SLOAD",
"pc": 255,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 324,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 344,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 436,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 449,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 520,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 570,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 600,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 630,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 639,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 660,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 691,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 763,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 792,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 1125,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1158,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1326,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2017,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2048,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2109,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2270,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 2580,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2616,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2653,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
"writes": 14
}
},
{
"auth": {
"guards": []
},
"entry_pc": 2043039848,
"selector": "0x70a08231",
"sinks": {
"call": 8,
"delegatecall": 0,
"selfdestruct": 1,
"staticcall": 0
},
"storage": {
"reads": 53,
"slots": [
{
"op": "SLOAD",
"pc": 255,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 324,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 344,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 436,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 449,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 520,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 570,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 600,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 630,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 639,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 660,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 691,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 763,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 792,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 1125,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1158,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1326,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2017,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2048,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2109,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2270,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 2580,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2616,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2653,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
"writes": 14
}
},
{
"auth": {
"guards": []
},
"entry_pc": 2199486192,
"selector": "0x79c65068",
"sinks": {
"call": 8,
"delegatecall": 0,
"selfdestruct": 1,
"staticcall": 0
},
"storage": {
"reads": 53,
"slots": [
{
"op": "SLOAD",
"pc": 255,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 324,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 344,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 436,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 449,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 520,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 570,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 600,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 630,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 639,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 660,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 691,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 763,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 792,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 1125,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1158,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1326,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2017,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2048,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2109,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2270,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 2580,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2616,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2653,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
"writes": 14
}
},
{
"auth": {
"guards": []
},
"entry_pc": 2250260747,
"selector": "0x83197ef0",
"sinks": {
"call": 8,
"delegatecall": 0,
"selfdestruct": 1,
"staticcall": 0
},
"storage": {
"reads": 53,
"slots": [
{
"op": "SLOAD",
"pc": 255,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 324,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 344,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 436,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 449,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 520,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 570,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 600,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 630,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 639,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 660,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 691,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 763,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 792,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 1125,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1158,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1326,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2017,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2048,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2109,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2270,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 2580,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2616,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2653,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
"writes": 14
}
},
{
"auth": {
"guards": []
},
"entry_pc": 2376452955,
"selector": "0x8620410b",
"sinks": {
"call": 8,
"delegatecall": 0,
"selfdestruct": 1,
"staticcall": 0
},
"storage": {
"reads": 53,
"slots": [
{
"op": "SLOAD",
"pc": 255,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 324,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 344,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 436,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 449,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 520,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 570,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 600,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 630,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 639,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 660,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 691,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 763,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 792,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 1125,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1158,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1326,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2017,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2048,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2109,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2270,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 2580,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2616,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2653,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
"writes": 14
}
},
{
"auth": {
"guards": []
},
"entry_pc": 2444752365,
"selector": "0x8da5cb5b",
"sinks": {
"call": 8,
"delegatecall": 0,
"selfdestruct": 1,
"staticcall": 0
},
"storage": {
"reads": 53,
"slots": [
{
"op": "SLOAD",
"pc": 255,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 324,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 344,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 436,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 449,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 520,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 570,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 600,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 630,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 639,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 660,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 691,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 763,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 792,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 1125,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1158,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1326,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2017,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2048,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2109,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2270,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 2580,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2616,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2653,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
"writes": 14
}
},
{
"auth": {
"guards": []
},
"entry_pc": 2514000705,
"selector": "0x91b7f5ed",
"sinks": {
"call": 8,
"delegatecall": 0,
"selfdestruct": 1,
"staticcall": 0
},
"storage": {
"reads": 53,
"slots": [
{
"op": "SLOAD",
"pc": 255,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 324,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 344,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 436,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 449,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 520,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 570,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 600,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 630,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 639,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 660,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 691,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 763,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 792,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 1125,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1158,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1326,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2017,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2048,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2109,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2270,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 2580,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2616,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2653,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
"writes": 14
}
},
{
"auth": {
"guards": []
},
"entry_pc": 2800922170,
"selector": "0x95d89b41",
"sinks": {
"call": 8,
"delegatecall": 0,
"selfdestruct": 1,
"staticcall": 0
},
"storage": {
"reads": 53,
"slots": [
{
"op": "SLOAD",
"pc": 255,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 324,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 344,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 436,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 449,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 520,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 570,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 600,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 630,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 639,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 660,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 691,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 763,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 792,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 1125,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1158,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1326,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2017,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2048,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2109,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2270,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 2580,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2616,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2653,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
"writes": 14
}
},
{
"auth": {
"guards": []
},
"entry_pc": 2835717307,
"selector": "0xa6f2ae3a",
"sinks": {
"call": 8,
"delegatecall": 0,
"selfdestruct": 1,
"staticcall": 0
},
"storage": {
"reads": 53,
"slots": [
{
"op": "SLOAD",
"pc": 255,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 324,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 344,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 436,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 449,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 520,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 570,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 600,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 630,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 639,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 660,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 691,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 763,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 792,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 1125,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1158,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1326,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2017,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2048,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2109,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2270,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 2580,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2616,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2653,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
"writes": 14
}
},
{
"auth": {
"guards": []
},
"entry_pc": 3021264054,
"selector": "0xa9059cbb",
"sinks": {
"call": 8,
"delegatecall": 0,
"selfdestruct": 1,
"staticcall": 0
},
"storage": {
"reads": 53,
"slots": [
{
"op": "SLOAD",
"pc": 255,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 324,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 344,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 436,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 449,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 520,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 570,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 600,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 630,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 639,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 660,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 691,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 763,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 792,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 1125,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1158,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1326,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2017,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2048,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2109,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2270,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 2580,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2616,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2653,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
"writes": 14
}
},
{
"auth": {
"guards": []
},
"entry_pc": 3404319313,
"selector": "0xb414d4b6",
"sinks": {
"call": 8,
"delegatecall": 0,
"selfdestruct": 1,
"staticcall": 0
},
"storage": {
"reads": 53,
"slots": [
{
"op": "SLOAD",
"pc": 255,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 324,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 344,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 436,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 449,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 520,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 570,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 600,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 630,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 639,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 660,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 691,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 763,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 792,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 1125,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1158,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1326,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2017,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2048,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2109,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2270,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 2580,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2616,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2653,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
"writes": 14
}
},
{
"auth": {
"guards": []
},
"entry_pc": 3714247998,
"selector": "0xcae9ca51",
"sinks": {
"call": 8,
"delegatecall": 0,
"selfdestruct": 1,
"staticcall": 0
},
"storage": {
"reads": 53,
"slots": [
{
"op": "SLOAD",
"pc": 255,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 324,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 344,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 436,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 449,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 520,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 570,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 600,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 630,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 639,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 660,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 691,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 763,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 792,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 1125,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1158,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1326,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2017,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2048,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2109,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2270,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 2580,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2616,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2653,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
"writes": 14
}
},
{
"auth": {
"guards": []
},
"entry_pc": 3877917340,
"selector": "0xdd62ed3e",
"sinks": {
"call": 8,
"delegatecall": 0,
"selfdestruct": 1,
"staticcall": 0
},
"storage": {
"reads": 53,
"slots": [
{
"op": "SLOAD",
"pc": 255,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 324,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 344,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 436,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 449,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 520,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 570,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 600,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 630,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 639,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 660,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 691,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 763,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 792,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 1125,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1158,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1326,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2017,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2048,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2109,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2270,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 2580,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2616,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2653,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
"writes": 14
}
},
{
"auth": {
"guards": []
},
"entry_pc": 4076725131,
"selector": "0xe724529c",
"sinks": {
"call": 8,
"delegatecall": 0,
"selfdestruct": 1,
"staticcall": 0
},
"storage": {
"reads": 53,
"slots": [
{
"op": "SLOAD",
"pc": 255,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 324,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 344,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 436,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 449,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 520,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 570,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 600,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 630,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 639,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 660,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 691,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 763,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 792,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 1125,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1158,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1326,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2017,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2048,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2109,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2270,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 2580,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2616,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2653,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
"writes": 14
}
},
{
"auth": {
"guards": []
},
"entry_pc": 1182,
"selector": "0xf2fde38b",
"sinks": {
"call": 8,
"delegatecall": 0,
"selfdestruct": 1,
"staticcall": 0
},
"storage": {
"reads": 53,
"slots": [
{
"op": "SLOAD",
"pc": 255,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 324,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 344,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 406,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 436,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 449,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 520,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 570,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 600,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 630,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 639,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 660,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 691,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 763,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
},
{
"op": "SLOAD",
"pc": 792,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 1125,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1158,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1326,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2017,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2048,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2109,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2270,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
},
{
"op": "SLOAD",
"pc": 2580,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2616,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2653,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
"writes": 14
}
}
]
exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.sinks' BYTECODE_BUNDLE.json" in /tmp/codex-glck_oeo
succeeded in 0ms:
{
"call": 8,
"create": 0,
"create2": 2,
"delegatecall": 0,
"selfdestruct": 1,
"staticcall": 0,
"upgrade_slot_write_suspected": false
}
exec
/bin/bash -lc "jq '.artifact' BYTECODE_BUNDLE.json" in /tmp/codex-glck_oeo
succeeded in 0ms:
{
"codehash": "0x8df9993fa09117fc848d9e66fff527db6aa8452939e4b969709e4a5153d7fb7d",
"compiler_json": {
"etherscan": {
"skipped": true
}
},
"implementation_address": null,
"is_proxy": false,
"runtime_bytecode": {
"full": "0x606060405236156100f05760e060020a600035046306fdde0381146100f857806318160ddd1461015257806323b872dd1461015b5780632e1a7d4d1461018d578063313ce567146101ae5780635a3b7e42146101ba57806370a082311461021657806379c650681461022e57806383197ef0146102525780638620410b146102705780638da5cb5b1461027957806391b7f5ed1461028b57806395d89b41146102ac578063a6f2ae3a14610309578063a9059cbb14610324578063b414d4b614610353578063cae9ca511461036e578063dd62ed3e14610434578063e724529c14610459578063f2fde38b1461047d575b61049e610002565b6104a060028054602060018216156101000260001901909116829004601f810182900490910260809081016040526060828152929190828280156105785780601f1061054d57610100808354040283529160200191610578565b61050e60055481565b61050e600435602435604435600160a060020a03831660009081526008602052604081205460ff161561066357610002565b61049e60043560005433600160a060020a039081169116146109fe57610002565b61052060045460ff1681565b6104a0600180546020600282841615610100026000190190921691909104601f810182900490910260809081016040526060828152929190828280156105785780601f1061054d57610100808354040283529160200191610578565b61050e60043560076020526000908152604090205481565b61049e60043560243560005433600160a060020a039081169116146107b757610002565b61049e60005433600160a060020a03908116911614610a5a57610002565b61050e60065481565b610520600054600160a060020a031681565b61049e60043560005433600160a060020a039081169116146108d457610002565b6104a060038054602060026001831615610100026000190190921691909104601f810182900490910260809081016040526060828152929190828280156105785780601f1061054d57610100808354040283529160200191610578565b61049e6000600060006006600050543410156108d957610002565b61049e60043560243533600160a060020a03166000908152600760205260409020548190101561058057610002565b61050e60043560086020526000908152604090205460ff1681565b6020604435600481810135601f81018490049093026080908101604052606084815261050e948335946024803595946064949392909101919081908382808284375094965050505050505033600160a060020a0390811660009081526009602090815260408083209387168352929052908120548190811415610a6857836009600050600033600160a060020a03168152602001908152602001600020600050600087600160a060020a0316815260200190815260200160002060005081905550610b42565b60096020908152600435600090815260408082209092526024358152205461050e9081565b61049e60043560243560005433600160a060020a0390811691161461087f57610002565b61049e60043560005433600160a060020a0390811691161461052a57610002565b005b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f1680156105005780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60408051918252519081900360200190f35b6060908152602090f35b6000805473ffffffffffffffffffffffffffffffffffffffff1916821790555b50565b820191906000526020600020905b81548152906001019060200180831161055b57829003601f168201915b505050505081565b600160a060020a0382166000908152604090205480820110156105a257610002565b33600160a060020a031660009081526008602052604090205460ff16156105c857610002565b806007600050600033600160a060020a03168152602001908152602001600020600082828250540392505081905550806007600050600084600160a060020a0316815260200190815260200160002060008282825054019250508190555081600160a060020a031633600160a060020a0316600080516020610c15833981519152836040518082815260200191505060405180910390a35050565b600760205260408120548290101561067a57610002565b600160a060020a03831681526040812054828101101561069957610002565b600160a060020a0380851682526009602090815260408084203390931684529190528120548211156106ca57610002565b816007600050600086600160a060020a03168152602001908152602001600020600082828250540392505081905550816007600050600085600160a060020a03168152602001908152602001600020600082828250540192505081905550816009600050600086600160a060020a03168152602001908152602001600020600050600033600160a060020a0316815260200190815260200160002060008282825054039250508190555082600160a060020a031684600160a060020a0316600080516020610c15833981519152846040518082815260200191505060405180910390a35060019392505050565b600160a060020a03821660009081526007602052604090205480820110156107de57610002565b60055480820110156107ef57610002565b60406000908120805483019055600580548301905580546060838152600160a060020a03919091169190600080516020610c1583398151915290602090a381600160a060020a0316600060009054906101000a9004600160a060020a0316600160a060020a0316600080516020610c15833981519152836040518082815260200191505060405180910390a35050565b600160a060020a03821660008181526008602052604090819020805460ff191684179055606091825260808390527f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a591a15050565b600655565b505060065430600160a060020a031682526007602052604090912054348281049283029190829003908390101561090f57610002565b33600160a060020a031660009081526040902054838101101561093157610002565b826007600050600033600160a060020a03168152602001908152602001600020600082828250540192505081905550826007600050600030600160a060020a0316815260200190815260200160002060008282825054039250508190555060008111801561099e57503481105b156109c05733600160a060020a0316600082606082818181858883f150505050505b33600160a060020a031630600160a060020a0316600080516020610c15833981519152856040518082815260200191505060405180910390a3505050565b30600160a060020a031631819010610a345760008054600160a060020a03169082606082818181858883f193505050505061054a565b60008054600160a060020a039081169190301631606082818181858883f1505050505050565b600054600160a060020a0316ff5b6009600050600033600160a060020a03168152602001908152602001600020600050600086600160a060020a0316815260200190815260200160002060005054846009600050600033600160a060020a03168152602001908152602001600020600050600088600160a060020a0316815260200190815260200160002060005054011015610af557610002565b836009600050600033600160a060020a03168152602001908152602001600020600050600087600160a060020a031681526020019081526020016000206000828282505401925050819055505b84905080600160a060020a0316638f4ffcb1338630876040518560e060020a0281526004018085600160a060020a0316815260200184815260200183600160a060020a03168152602001806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f168015610be85780820380516001836020036101000a031916815260200191505b50955050505050506000604051808303816000876161da5a03f1156100025750600197965050505050505056ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"head": null,
"length": 6252,
"tail": null,
"truncated": false
},
"verified_source": false
}
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path
obj=json.loads(Path('BYTECODE_BUNDLE.json').read_text())
code=obj['artifact']['runtime_bytecode']['full'][2:]
bs=bytes.fromhex(code)
# opcode table minimal
ops={i:f'PUSH{i-0x5f}' for i in range(0x60,0x80)}
ops.update({i:f'DUP{i-0x7f}' for i in range(0x80,0x90)})
ops.update({i:f'SWAP{i-0x8f}' for i in range(0x90,0xa0)})
ops.update({0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT',0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4'})
def disasm(start,end):
pc=start
while pc<end and pc<len(bs):
op=bs[pc]
name=ops.get(op,f'OP_{op:02x}')
if name.startswith('PUSH'):
n=int(name[4:])
arg=bs[pc+1:pc+1+n]
print(f'{pc:04x}: {name} 0x{arg.hex()}')
pc+=1+n
else:
print(f'{pc:04x}: {name}')
pc+=1
for s,e in [(0x47d,0x4b0),(0x35a,0x3f0),(0x459,0x47d),(0x18d,0x1ba),(0x28b,0x2ac),(0x252,0x270),(0x270,0x28b),(0x309,0x324),(0x324,0x353)]:
print(f'-- {s:#x}..{e:#x} --')
disasm(s,e)
PY" in /tmp/codex-glck_oeo
succeeded in 0ms:
-- 0x47d..0x4b0 --
047d: JUMPDEST
047e: PUSH2 0x049e
0481: PUSH1 0x04
0483: CALLDATALOAD
0484: PUSH1 0x00
0486: SLOAD
0487: CALLER
0488: PUSH1 0x01
048a: PUSH1 0xa0
048c: PUSH1 0x02
048e: EXP
048f: SUB
0490: SWAP1
0491: DUP2
0492: AND
0493: SWAP2
0494: AND
0495: EQ
0496: PUSH2 0x052a
0499: JUMPI
049a: PUSH2 0x0002
049d: JUMP
049e: JUMPDEST
049f: STOP
04a0: JUMPDEST
04a1: PUSH1 0x40
04a3: MLOAD
04a4: DUP1
04a5: DUP1
04a6: PUSH1 0x20
04a8: ADD
04a9: DUP3
04aa: DUP2
04ab: SUB
04ac: DUP3
04ad: MSTORE
04ae: DUP4
04af: DUP2
-- 0x35a..0x3f0 --
035a: PUSH1 0x08
035c: PUSH1 0x20
035e: MSTORE
035f: PUSH1 0x00
0361: SWAP1
0362: DUP2
0363: MSTORE
0364: PUSH1 0x40
0366: SWAP1
0367: SHA3
0368: SLOAD
0369: PUSH1 0xff
036b: AND
036c: DUP2
036d: JUMP
036e: JUMPDEST
036f: PUSH1 0x20
0371: PUSH1 0x44
0373: CALLDATALOAD
0374: PUSH1 0x04
0376: DUP2
0377: DUP2
0378: ADD
0379: CALLDATALOAD
037a: PUSH1 0x1f
037c: DUP2
037d: ADD
037e: DUP5
037f: SWAP1
0380: DIV
0381: SWAP1
0382: SWAP4
0383: MUL
0384: PUSH1 0x80
0386: SWAP1
0387: DUP2
0388: ADD
0389: PUSH1 0x40
038b: MSTORE
038c: PUSH1 0x60
038e: DUP5
038f: DUP2
0390: MSTORE
0391: PUSH2 0x050e
0394: SWAP5
0395: DUP4
0396: CALLDATALOAD
0397: SWAP5
0398: PUSH1 0x24
039a: DUP1
039b: CALLDATALOAD
039c: SWAP6
039d: SWAP5
039e: PUSH1 0x64
03a0: SWAP5
03a1: SWAP4
03a2: SWAP3
03a3: SWAP1
03a4: SWAP2
03a5: ADD
03a6: SWAP2
03a7: SWAP1
03a8: DUP2
03a9: SWAP1
03aa: DUP4
03ab: DUP3
03ac: DUP1
03ad: DUP3
03ae: DUP5
03af: CALLDATACOPY
03b0: POP
03b1: SWAP5
03b2: SWAP7
03b3: POP
03b4: POP
03b5: POP
03b6: POP
03b7: POP
03b8: POP
03b9: POP
03ba: CALLER
03bb: PUSH1 0x01
03bd: PUSH1 0xa0
03bf: PUSH1 0x02
03c1: EXP
03c2: SUB
03c3: SWAP1
03c4: DUP2
03c5: AND
03c6: PUSH1 0x00
03c8: SWAP1
03c9: DUP2
03ca: MSTORE
03cb: PUSH1 0x09
03cd: PUSH1 0x20
03cf: SWAP1
03d0: DUP2
03d1: MSTORE
03d2: PUSH1 0x40
03d4: DUP1
03d5: DUP4
03d6: SHA3
03d7: SWAP4
03d8: DUP8
03d9: AND
03da: DUP4
03db: MSTORE
03dc: SWAP3
03dd: SWAP1
03de: MSTORE
03df: SWAP1
03e0: DUP2
03e1: SHA3
03e2: SLOAD
03e3: DUP2
03e4: SWAP1
03e5: DUP2
03e6: EQ
03e7: ISZERO
03e8: PUSH2 0x0a68
03eb: JUMPI
03ec: DUP4
03ed: PUSH1 0x09
03ef: PUSH1 0x00
-- 0x459..0x47d --
0459: JUMPDEST
045a: PUSH2 0x049e
045d: PUSH1 0x04
045f: CALLDATALOAD
0460: PUSH1 0x24
0462: CALLDATALOAD
0463: PUSH1 0x00
0465: SLOAD
0466: CALLER
0467: PUSH1 0x01
0469: PUSH1 0xa0
046b: PUSH1 0x02
046d: EXP
046e: SUB
046f: SWAP1
0470: DUP2
0471: AND
0472: SWAP2
0473: AND
0474: EQ
0475: PUSH2 0x087f
0478: JUMPI
0479: PUSH2 0x0002
047c: JUMP
-- 0x18d..0x1ba --
018d: JUMPDEST
018e: PUSH2 0x049e
0191: PUSH1 0x04
0193: CALLDATALOAD
0194: PUSH1 0x00
0196: SLOAD
0197: CALLER
0198: PUSH1 0x01
019a: PUSH1 0xa0
019c: PUSH1 0x02
019e: EXP
019f: SUB
01a0: SWAP1
01a1: DUP2
01a2: AND
01a3: SWAP2
01a4: AND
01a5: EQ
01a6: PUSH2 0x09fe
01a9: JUMPI
01aa: PUSH2 0x0002
01ad: JUMP
01ae: JUMPDEST
01af: PUSH2 0x0520
01b2: PUSH1 0x04
01b4: SLOAD
01b5: PUSH1 0xff
01b7: AND
01b8: DUP2
01b9: JUMP
-- 0x28b..0x2ac --
028b: JUMPDEST
028c: PUSH2 0x049e
028f: PUSH1 0x04
0291: CALLDATALOAD
0292: PUSH1 0x00
0294: SLOAD
0295: CALLER
0296: PUSH1 0x01
0298: PUSH1 0xa0
029a: PUSH1 0x02
029c: EXP
029d: SUB
029e: SWAP1
029f: DUP2
02a0: AND
02a1: SWAP2
02a2: AND
02a3: EQ
02a4: PUSH2 0x08d4
02a7: JUMPI
02a8: PUSH2 0x0002
02ab: JUMP
-- 0x252..0x270 --
0252: JUMPDEST
0253: PUSH2 0x049e
0256: PUSH1 0x00
0258: SLOAD
0259: CALLER
025a: PUSH1 0x01
025c: PUSH1 0xa0
025e: PUSH1 0x02
0260: EXP
0261: SUB
0262: SWAP1
0263: DUP2
0264: AND
0265: SWAP2
0266: AND
0267: EQ
0268: PUSH2 0x0a5a
026b: JUMPI
026c: PUSH2 0x0002
026f: JUMP
-- 0x270..0x28b --
0270: JUMPDEST
0271: PUSH2 0x050e
0274: PUSH1 0x06
0276: SLOAD
0277: DUP2
0278: JUMP
0279: JUMPDEST
027a: PUSH2 0x0520
027d: PUSH1 0x00
027f: SLOAD
0280: PUSH1 0x01
0282: PUSH1 0xa0
0284: PUSH1 0x02
0286: EXP
0287: SUB
0288: AND
0289: DUP2
028a: JUMP
-- 0x309..0x324 --
0309: JUMPDEST
030a: PUSH2 0x049e
030d: PUSH1 0x00
030f: PUSH1 0x00
0311: PUSH1 0x00
0313: PUSH1 0x06
0315: PUSH1 0x00
0317: POP
0318: SLOAD
0319: CALLVALUE
031a: LT
031b: ISZERO
031c: PUSH2 0x08d9
031f: JUMPI
0320: PUSH2 0x0002
0323: JUMP
-- 0x324..0x353 --
0324: JUMPDEST
0325: PUSH2 0x049e
0328: PUSH1 0x04
032a: CALLDATALOAD
032b: PUSH1 0x24
032d: CALLDATALOAD
032e: CALLER
032f: PUSH1 0x01
0331: PUSH1 0xa0
0333: PUSH1 0x02
0335: EXP
0336: SUB
0337: AND
0338: PUSH1 0x00
033a: SWAP1
033b: DUP2
033c: MSTORE
033d: PUSH1 0x07
033f: PUSH1 0x20
0341: MSTORE
0342: PUSH1 0x40
0344: SWAP1
0345: SHA3
0346: SLOAD
0347: DUP2
0348: SWAP1
0349: LT
034a: ISZERO
034b: PUSH2 0x0580
034e: JUMPI
034f: PUSH2 0x0002
0352: JUMP
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path
obj=json.loads(Path('BYTECODE_BUNDLE.json').read_text())
bs=bytes.fromhex(obj['artifact']['runtime_bytecode']['full'][2:])
ops={i:f'PUSH{i-0x5f}' for i in range(0x60,0x80)}
ops.update({i:f'DUP{i-0x7f}' for i in range(0x80,0x90)})
ops.update({i:f'SWAP{i-0x8f}' for i in range(0x90,0xa0)})
ops.update({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',0x3f:'EXTCODEHASH',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',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'})
def disasm(start,end):
pc=start
while pc<end and pc<len(bs):
op=bs[pc]; name=ops.get(op,f'OP_{op:02x}')
if name.startswith('PUSH'):
n=int(name[4:]); arg=bs[pc+1:pc+1+n]
print(f'{pc:04x}: {name} 0x{arg.hex()}')
pc+=1+n
else:
print(f'{pc:04x}: {name}')
pc+=1
for s,e in [
(0x52a,0x5ff),(0x580,0x663),(0x663,0x6fe),(0x7b7,0x87f),(0x87f,0x8d9),(0x8d9,0x9fe),(0x9fe,0xa5a),(0xa5a,0xb42),(0xb42,0xc16),(0xc16,0xc60)
]:
print(f'-- {s:#x}..{e:#x} --')
disasm(s,e)
PY" in /tmp/codex-glck_oeo
succeeded in 0ms:
-- 0x52a..0x5ff --
052a: JUMPDEST
052b: PUSH1 0x00
052d: DUP1
052e: SLOAD
052f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0544: NOT
0545: AND
0546: DUP3
0547: OR
0548: SWAP1
0549: SSTORE
054a: JUMPDEST
054b: POP
054c: JUMP
054d: JUMPDEST
054e: DUP3
054f: ADD
0550: SWAP2
0551: SWAP1
0552: PUSH1 0x00
0554: MSTORE
0555: PUSH1 0x20
0557: PUSH1 0x00
0559: SHA3
055a: SWAP1
055b: JUMPDEST
055c: DUP2
055d: SLOAD
055e: DUP2
055f: MSTORE
0560: SWAP1
0561: PUSH1 0x01
0563: ADD
0564: SWAP1
0565: PUSH1 0x20
0567: ADD
0568: DUP1
0569: DUP4
056a: GT
056b: PUSH2 0x055b
056e: JUMPI
056f: DUP3
0570: SWAP1
0571: SUB
0572: PUSH1 0x1f
0574: AND
0575: DUP3
0576: ADD
0577: SWAP2
0578: JUMPDEST
0579: POP
057a: POP
057b: POP
057c: POP
057d: POP
057e: DUP2
057f: JUMP
0580: JUMPDEST
0581: PUSH1 0x01
0583: PUSH1 0xa0
0585: PUSH1 0x02
0587: EXP
0588: SUB
0589: DUP3
058a: AND
058b: PUSH1 0x00
058d: SWAP1
058e: DUP2
058f: MSTORE
0590: PUSH1 0x40
0592: SWAP1
0593: SHA3
0594: SLOAD
0595: DUP1
0596: DUP3
0597: ADD
0598: LT
0599: ISZERO
059a: PUSH2 0x05a2
059d: JUMPI
059e: PUSH2 0x0002
05a1: JUMP
05a2: JUMPDEST
05a3: CALLER
05a4: PUSH1 0x01
05a6: PUSH1 0xa0
05a8: PUSH1 0x02
05aa: EXP
05ab: SUB
05ac: AND
05ad: PUSH1 0x00
05af: SWAP1
05b0: DUP2
05b1: MSTORE
05b2: PUSH1 0x08
05b4: PUSH1 0x20
05b6: MSTORE
05b7: PUSH1 0x40
05b9: SWAP1
05ba: SHA3
05bb: SLOAD
05bc: PUSH1 0xff
05be: AND
05bf: ISZERO
05c0: PUSH2 0x05c8
05c3: JUMPI
05c4: PUSH2 0x0002
05c7: JUMP
05c8: JUMPDEST
05c9: DUP1
05ca: PUSH1 0x07
05cc: PUSH1 0x00
05ce: POP
05cf: PUSH1 0x00
05d1: CALLER
05d2: PUSH1 0x01
05d4: PUSH1 0xa0
05d6: PUSH1 0x02
05d8: EXP
05d9: SUB
05da: AND
05db: DUP2
05dc: MSTORE
05dd: PUSH1 0x20
05df: ADD
05e0: SWAP1
05e1: DUP2
05e2: MSTORE
05e3: PUSH1 0x20
05e5: ADD
05e6: PUSH1 0x00
05e8: SHA3
05e9: PUSH1 0x00
05eb: DUP3
05ec: DUP3
05ed: DUP3
05ee: POP
05ef: SLOAD
05f0: SUB
05f1: SWAP3
05f2: POP
05f3: POP
05f4: DUP2
05f5: SWAP1
05f6: SSTORE
05f7: POP
05f8: DUP1
05f9: PUSH1 0x07
05fb: PUSH1 0x00
05fd: POP
05fe: PUSH1 0x00
-- 0x580..0x663 --
0580: JUMPDEST
0581: PUSH1 0x01
0583: PUSH1 0xa0
0585: PUSH1 0x02
0587: EXP
0588: SUB
0589: DUP3
058a: AND
058b: PUSH1 0x00
058d: SWAP1
058e: DUP2
058f: MSTORE
0590: PUSH1 0x40
0592: SWAP1
0593: SHA3
0594: SLOAD
0595: DUP1
0596: DUP3
0597: ADD
0598: LT
0599: ISZERO
059a: PUSH2 0x05a2
059d: JUMPI
059e: PUSH2 0x0002
05a1: JUMP
05a2: JUMPDEST
05a3: CALLER
05a4: PUSH1 0x01
05a6: PUSH1 0xa0
05a8: PUSH1 0x02
05aa: EXP
05ab: SUB
05ac: AND
05ad: PUSH1 0x00
05af: SWAP1
05b0: DUP2
05b1: MSTORE
05b2: PUSH1 0x08
05b4: PUSH1 0x20
05b6: MSTORE
05b7: PUSH1 0x40
05b9: SWAP1
05ba: SHA3
05bb: SLOAD
05bc: PUSH1 0xff
05be: AND
05bf: ISZERO
05c0: PUSH2 0x05c8
05c3: JUMPI
05c4: PUSH2 0x0002
05c7: JUMP
05c8: JUMPDEST
05c9: DUP1
05ca: PUSH1 0x07
05cc: PUSH1 0x00
05ce: POP
05cf: PUSH1 0x00
05d1: CALLER
05d2: PUSH1 0x01
05d4: PUSH1 0xa0
05d6: PUSH1 0x02
05d8: EXP
05d9: SUB
05da: AND
05db: DUP2
05dc: MSTORE
05dd: PUSH1 0x20
05df: ADD
05e0: SWAP1
05e1: DUP2
05e2: MSTORE
05e3: PUSH1 0x20
05e5: ADD
05e6: PUSH1 0x00
05e8: SHA3
05e9: PUSH1 0x00
05eb: DUP3
05ec: DUP3
05ed: DUP3
05ee: POP
05ef: SLOAD
05f0: SUB
05f1: SWAP3
05f2: POP
05f3: POP
05f4: DUP2
05f5: SWAP1
05f6: SSTORE
05f7: POP
05f8: DUP1
05f9: PUSH1 0x07
05fb: PUSH1 0x00
05fd: POP
05fe: PUSH1 0x00
0600: DUP5
0601: PUSH1 0x01
0603: PUSH1 0xa0
0605: PUSH1 0x02
0607: EXP
0608: SUB
0609: AND
060a: DUP2
060b: MSTORE
060c: PUSH1 0x20
060e: ADD
060f: SWAP1
0610: DUP2
0611: MSTORE
0612: PUSH1 0x20
0614: ADD
0615: PUSH1 0x00
0617: SHA3
0618: PUSH1 0x00
061a: DUP3
061b: DUP3
061c: DUP3
061d: POP
061e: SLOAD
061f: ADD
0620: SWAP3
0621: POP
0622: POP
0623: DUP2
0624: SWAP1
0625: SSTORE
0626: POP
0627: DUP2
0628: PUSH1 0x01
062a: PUSH1 0xa0
062c: PUSH1 0x02
062e: EXP
062f: SUB
0630: AND
0631: CALLER
0632: PUSH1 0x01
0634: PUSH1 0xa0
0636: PUSH1 0x02
0638: EXP
0639: SUB
063a: AND
063b: PUSH1 0x00
063d: DUP1
063e: MLOAD
063f: PUSH1 0x20
0641: PUSH2 0x0c15
0644: DUP4
0645: CODECOPY
0646: DUP2
0647: MLOAD
0648: SWAP2
0649: MSTORE
064a: DUP4
064b: PUSH1 0x40
064d: MLOAD
064e: DUP1
064f: DUP3
0650: DUP2
0651: MSTORE
0652: PUSH1 0x20
0654: ADD
0655: SWAP2
0656: POP
0657: POP
0658: PUSH1 0x40
065a: MLOAD
065b: DUP1
065c: SWAP2
065d: SUB
065e: SWAP1
065f: LOG3
0660: POP
0661: POP
0662: JUMP
-- 0x663..0x6fe --
0663: JUMPDEST
0664: PUSH1 0x07
0666: PUSH1 0x20
0668: MSTORE
0669: PUSH1 0x40
066b: DUP2
066c: SHA3
066d: SLOAD
066e: DUP3
066f: SWAP1
0670: LT
0671: ISZERO
0672: PUSH2 0x067a
0675: JUMPI
0676: PUSH2 0x0002
0679: JUMP
067a: JUMPDEST
067b: PUSH1 0x01
067d: PUSH1 0xa0
067f: PUSH1 0x02
0681: EXP
0682: SUB
0683: DUP4
0684: AND
0685: DUP2
0686: MSTORE
0687: PUSH1 0x40
0689: DUP2
068a: SHA3
068b: SLOAD
068c: DUP3
068d: DUP2
068e: ADD
068f: LT
0690: ISZERO
0691: PUSH2 0x0699
0694: JUMPI
0695: PUSH2 0x0002
0698: JUMP
0699: JUMPDEST
069a: PUSH1 0x01
069c: PUSH1 0xa0
069e: PUSH1 0x02
06a0: EXP
06a1: SUB
06a2: DUP1
06a3: DUP6
06a4: AND
06a5: DUP3
06a6: MSTORE
06a7: PUSH1 0x09
06a9: PUSH1 0x20
06ab: SWAP1
06ac: DUP2
06ad: MSTORE
06ae: PUSH1 0x40
06b0: DUP1
06b1: DUP5
06b2: SHA3
06b3: CALLER
06b4: SWAP1
06b5: SWAP4
06b6: AND
06b7: DUP5
06b8: MSTORE
06b9: SWAP2
06ba: SWAP1
06bb: MSTORE
06bc: DUP2
06bd: SHA3
06be: SLOAD
06bf: DUP3
06c0: GT
06c1: ISZERO
06c2: PUSH2 0x06ca
06c5: JUMPI
06c6: PUSH2 0x0002
06c9: JUMP
06ca: JUMPDEST
06cb: DUP2
06cc: PUSH1 0x07
06ce: PUSH1 0x00
06d0: POP
06d1: PUSH1 0x00
06d3: DUP7
06d4: PUSH1 0x01
06d6: PUSH1 0xa0
06d8: PUSH1 0x02
06da: EXP
06db: SUB
06dc: AND
06dd: DUP2
06de: MSTORE
06df: PUSH1 0x20
06e1: ADD
06e2: SWAP1
06e3: DUP2
06e4: MSTORE
06e5: PUSH1 0x20
06e7: ADD
06e8: PUSH1 0x00
06ea: SHA3
06eb: PUSH1 0x00
06ed: DUP3
06ee: DUP3
06ef: DUP3
06f0: POP
06f1: SLOAD
06f2: SUB
06f3: SWAP3
06f4: POP
06f5: POP
06f6: DUP2
06f7: SWAP1
06f8: SSTORE
06f9: POP
06fa: DUP2
06fb: PUSH1 0x07
06fd: PUSH1 0x00
-- 0x7b7..0x87f --
07b7: JUMPDEST
07b8: PUSH1 0x01
07ba: PUSH1 0xa0
07bc: PUSH1 0x02
07be: EXP
07bf: SUB
07c0: DUP3
07c1: AND
07c2: PUSH1 0x00
07c4: SWAP1
07c5: DUP2
07c6: MSTORE
07c7: PUSH1 0x07
07c9: PUSH1 0x20
07cb: MSTORE
07cc: PUSH1 0x40
07ce: SWAP1
07cf: SHA3
07d0: SLOAD
07d1: DUP1
07d2: DUP3
07d3: ADD
07d4: LT
07d5: ISZERO
07d6: PUSH2 0x07de
07d9: JUMPI
07da: PUSH2 0x0002
07dd: JUMP
07de: JUMPDEST
07df: PUSH1 0x05
07e1: SLOAD
07e2: DUP1
07e3: DUP3
07e4: ADD
07e5: LT
07e6: ISZERO
07e7: PUSH2 0x07ef
07ea: JUMPI
07eb: PUSH2 0x0002
07ee: JUMP
07ef: JUMPDEST
07f0: PUSH1 0x40
07f2: PUSH1 0x00
07f4: SWAP1
07f5: DUP2
07f6: SHA3
07f7: DUP1
07f8: SLOAD
07f9: DUP4
07fa: ADD
07fb: SWAP1
07fc: SSTORE
07fd: PUSH1 0x05
07ff: DUP1
0800: SLOAD
0801: DUP4
0802: ADD
0803: SWAP1
0804: SSTORE
0805: DUP1
0806: SLOAD
0807: PUSH1 0x60
0809: DUP4
080a: DUP2
080b: MSTORE
080c: PUSH1 0x01
080e: PUSH1 0xa0
0810: PUSH1 0x02
0812: EXP
0813: SUB
0814: SWAP2
0815: SWAP1
0816: SWAP2
0817: AND
0818: SWAP2
0819: SWAP1
081a: PUSH1 0x00
081c: DUP1
081d: MLOAD
081e: PUSH1 0x20
0820: PUSH2 0x0c15
0823: DUP4
0824: CODECOPY
0825: DUP2
0826: MLOAD
0827: SWAP2
0828: MSTORE
0829: SWAP1
082a: PUSH1 0x20
082c: SWAP1
082d: LOG3
082e: DUP2
082f: PUSH1 0x01
0831: PUSH1 0xa0
0833: PUSH1 0x02
0835: EXP
0836: SUB
0837: AND
0838: PUSH1 0x00
083a: PUSH1 0x00
083c: SWAP1
083d: SLOAD
083e: SWAP1
083f: PUSH2 0x0100
0842: EXP
0843: SWAP1
0844: DIV
0845: PUSH1 0x01
0847: PUSH1 0xa0
0849: PUSH1 0x02
084b: EXP
084c: SUB
084d: AND
084e: PUSH1 0x01
0850: PUSH1 0xa0
0852: PUSH1 0x02
0854: EXP
0855: SUB
0856: AND
0857: PUSH1 0x00
0859: DUP1
085a: MLOAD
085b: PUSH1 0x20
085d: PUSH2 0x0c15
0860: DUP4
0861: CODECOPY
0862: DUP2
0863: MLOAD
0864: SWAP2
0865: MSTORE
0866: DUP4
0867: PUSH1 0x40
0869: MLOAD
086a: DUP1
086b: DUP3
086c: DUP2
086d: MSTORE
086e: PUSH1 0x20
0870: ADD
0871: SWAP2
0872: POP
0873: POP
0874: PUSH1 0x40
0876: MLOAD
0877: DUP1
0878: SWAP2
0879: SUB
087a: SWAP1
087b: LOG3
087c: POP
087d: POP
087e: JUMP
-- 0x87f..0x8d9 --
087f: JUMPDEST
0880: PUSH1 0x01
0882: PUSH1 0xa0
0884: PUSH1 0x02
0886: EXP
0887: SUB
0888: DUP3
0889: AND
088a: PUSH1 0x00
088c: DUP2
088d: DUP2
088e: MSTORE
088f: PUSH1 0x08
0891: PUSH1 0x20
0893: MSTORE
0894: PUSH1 0x40
0896: SWAP1
0897: DUP2
0898: SWAP1
0899: SHA3
089a: DUP1
089b: SLOAD
089c: PUSH1 0xff
089e: NOT
089f: AND
08a0: DUP5
08a1: OR
08a2: SWAP1
08a3: SSTORE
08a4: PUSH1 0x60
08a6: SWAP2
08a7: DUP3
08a8: MSTORE
08a9: PUSH1 0x80
08ab: DUP4
08ac: SWAP1
08ad: MSTORE
08ae: PUSH32 0x48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a5
08cf: SWAP2
08d0: LOG1
08d1: POP
08d2: POP
08d3: JUMP
08d4: JUMPDEST
08d5: PUSH1 0x06
08d7: SSTORE
08d8: JUMP
-- 0x8d9..0x9fe --
08d9: JUMPDEST
08da: POP
08db: POP
08dc: PUSH1 0x06
08de: SLOAD
08df: ADDRESS
08e0: PUSH1 0x01
08e2: PUSH1 0xa0
08e4: PUSH1 0x02
08e6: EXP
08e7: SUB
08e8: AND
08e9: DUP3
08ea: MSTORE
08eb: PUSH1 0x07
08ed: PUSH1 0x20
08ef: MSTORE
08f0: PUSH1 0x40
08f2: SWAP1
08f3: SWAP2
08f4: SHA3
08f5: SLOAD
08f6: CALLVALUE
08f7: DUP3
08f8: DUP2
08f9: DIV
08fa: SWAP3
08fb: DUP4
08fc: MUL
08fd: SWAP2
08fe: SWAP1
08ff: DUP3
0900: SWAP1
0901: SUB
0902: SWAP1
0903: DUP4
0904: SWAP1
0905: LT
0906: ISZERO
0907: PUSH2 0x090f
090a: JUMPI
090b: PUSH2 0x0002
090e: JUMP
090f: JUMPDEST
0910: CALLER
0911: PUSH1 0x01
0913: PUSH1 0xa0
0915: PUSH1 0x02
0917: EXP
0918: SUB
0919: AND
091a: PUSH1 0x00
091c: SWAP1
091d: DUP2
091e: MSTORE
091f: PUSH1 0x40
0921: SWAP1
0922: SHA3
0923: SLOAD
0924: DUP4
0925: DUP2
0926: ADD
0927: LT
0928: ISZERO
0929: PUSH2 0x0931
092c: JUMPI
092d: PUSH2 0x0002
0930: JUMP
0931: JUMPDEST
0932: DUP3
0933: PUSH1 0x07
0935: PUSH1 0x00
0937: POP
0938: PUSH1 0x00
093a: CALLER
093b: PUSH1 0x01
093d: PUSH1 0xa0
093f: PUSH1 0x02
0941: EXP
0942: SUB
0943: AND
0944: DUP2
0945: MSTORE
0946: PUSH1 0x20
0948: ADD
0949: SWAP1
094a: DUP2
094b: MSTORE
094c: PUSH1 0x20
094e: ADD
094f: PUSH1 0x00
0951: SHA3
0952: PUSH1 0x00
0954: DUP3
0955: DUP3
0956: DUP3
0957: POP
0958: SLOAD
0959: ADD
095a: SWAP3
095b: POP
095c: POP
095d: DUP2
095e: SWAP1
095f: SSTORE
0960: POP
0961: DUP3
0962: PUSH1 0x07
0964: PUSH1 0x00
0966: POP
0967: PUSH1 0x00
0969: ADDRESS
096a: PUSH1 0x01
096c: PUSH1 0xa0
096e: PUSH1 0x02
0970: EXP
0971: SUB
0972: AND
0973: DUP2
0974: MSTORE
0975: PUSH1 0x20
0977: ADD
0978: SWAP1
0979: DUP2
097a: MSTORE
097b: PUSH1 0x20
097d: ADD
097e: PUSH1 0x00
0980: SHA3
0981: PUSH1 0x00
0983: DUP3
0984: DUP3
0985: DUP3
0986: POP
0987: SLOAD
0988: SUB
0989: SWAP3
098a: POP
098b: POP
098c: DUP2
098d: SWAP1
098e: SSTORE
098f: POP
0990: PUSH1 0x00
0992: DUP2
0993: GT
0994: DUP1
0995: ISZERO
0996: PUSH2 0x099e
0999: JUMPI
099a: POP
099b: CALLVALUE
099c: DUP2
099d: LT
099e: JUMPDEST
099f: ISZERO
09a0: PUSH2 0x09c0
09a3: JUMPI
09a4: CALLER
09a5: PUSH1 0x01
09a7: PUSH1 0xa0
09a9: PUSH1 0x02
09ab: EXP
09ac: SUB
09ad: AND
09ae: PUSH1 0x00
09b0: DUP3
09b1: PUSH1 0x60
09b3: DUP3
09b4: DUP2
09b5: DUP2
09b6: DUP2
09b7: DUP6
09b8: DUP9
09b9: DUP4
09ba: CALL
09bb: POP
09bc: POP
09bd: POP
09be: POP
09bf: POP
09c0: JUMPDEST
09c1: CALLER
09c2: PUSH1 0x01
09c4: PUSH1 0xa0
09c6: PUSH1 0x02
09c8: EXP
09c9: SUB
09ca: AND
09cb: ADDRESS
09cc: PUSH1 0x01
09ce: PUSH1 0xa0
09d0: PUSH1 0x02
09d2: EXP
09d3: SUB
09d4: AND
09d5: PUSH1 0x00
09d7: DUP1
09d8: MLOAD
09d9: PUSH1 0x20
09db: PUSH2 0x0c15
09de: DUP4
09df: CODECOPY
09e0: DUP2
09e1: MLOAD
09e2: SWAP2
09e3: MSTORE
09e4: DUP6
09e5: PUSH1 0x40
09e7: MLOAD
09e8: DUP1
09e9: DUP3
09ea: DUP2
09eb: MSTORE
09ec: PUSH1 0x20
09ee: ADD
09ef: SWAP2
09f0: POP
09f1: POP
09f2: PUSH1 0x40
09f4: MLOAD
09f5: DUP1
09f6: SWAP2
09f7: SUB
09f8: SWAP1
09f9: LOG3
09fa: POP
09fb: POP
09fc: POP
09fd: JUMP
-- 0x9fe..0xa5a --
09fe: JUMPDEST
09ff: ADDRESS
0a00: PUSH1 0x01
0a02: PUSH1 0xa0
0a04: PUSH1 0x02
0a06: EXP
0a07: SUB
0a08: AND
0a09: BALANCE
0a0a: DUP2
0a0b: SWAP1
0a0c: LT
0a0d: PUSH2 0x0a34
0a10: JUMPI
0a11: PUSH1 0x00
0a13: DUP1
0a14: SLOAD
0a15: PUSH1 0x01
0a17: PUSH1 0xa0
0a19: PUSH1 0x02
0a1b: EXP
0a1c: SUB
0a1d: AND
0a1e: SWAP1
0a1f: DUP3
0a20: PUSH1 0x60
0a22: DUP3
0a23: DUP2
0a24: DUP2
0a25: DUP2
0a26: DUP6
0a27: DUP9
0a28: DUP4
0a29: CALL
0a2a: SWAP4
0a2b: POP
0a2c: POP
0a2d: POP
0a2e: POP
0a2f: POP
0a30: PUSH2 0x054a
0a33: JUMP
0a34: JUMPDEST
0a35: PUSH1 0x00
0a37: DUP1
0a38: SLOAD
0a39: PUSH1 0x01
0a3b: PUSH1 0xa0
0a3d: PUSH1 0x02
0a3f: EXP
0a40: SUB
0a41: SWAP1
0a42: DUP2
0a43: AND
0a44: SWAP2
0a45: SWAP1
0a46: ADDRESS
0a47: AND
0a48: BALANCE
0a49: PUSH1 0x60
0a4b: DUP3
0a4c: DUP2
0a4d: DUP2
0a4e: DUP2
0a4f: DUP6
0a50: DUP9
0a51: DUP4
0a52: CALL
0a53: POP
0a54: POP
0a55: POP
0a56: POP
0a57: POP
0a58: POP
0a59: JUMP
-- 0xa5a..0xb42 --
0a5a: JUMPDEST
0a5b: PUSH1 0x00
0a5d: SLOAD
0a5e: PUSH1 0x01
0a60: PUSH1 0xa0
0a62: PUSH1 0x02
0a64: EXP
0a65: SUB
0a66: AND
0a67: SELFDESTRUCT
0a68: JUMPDEST
0a69: PUSH1 0x09
0a6b: PUSH1 0x00
0a6d: POP
0a6e: PUSH1 0x00
0a70: CALLER
0a71: PUSH1 0x01
0a73: PUSH1 0xa0
0a75: PUSH1 0x02
0a77: EXP
0a78: SUB
0a79: AND
0a7a: DUP2
0a7b: MSTORE
0a7c: PUSH1 0x20
0a7e: ADD
0a7f: SWAP1
0a80: DUP2
0a81: MSTORE
0a82: PUSH1 0x20
0a84: ADD
0a85: PUSH1 0x00
0a87: SHA3
0a88: PUSH1 0x00
0a8a: POP
0a8b: PUSH1 0x00
0a8d: DUP7
0a8e: PUSH1 0x01
0a90: PUSH1 0xa0
0a92: PUSH1 0x02
0a94: EXP
0a95: SUB
0a96: AND
0a97: DUP2
0a98: MSTORE
0a99: PUSH1 0x20
0a9b: ADD
0a9c: SWAP1
0a9d: DUP2
0a9e: MSTORE
0a9f: PUSH1 0x20
0aa1: ADD
0aa2: PUSH1 0x00
0aa4: SHA3
0aa5: PUSH1 0x00
0aa7: POP
0aa8: SLOAD
0aa9: DUP5
0aaa: PUSH1 0x09
0aac: PUSH1 0x00
0aae: POP
0aaf: PUSH1 0x00
0ab1: CALLER
0ab2: PUSH1 0x01
0ab4: PUSH1 0xa0
0ab6: PUSH1 0x02
0ab8: EXP
0ab9: SUB
0aba: AND
0abb: DUP2
0abc: MSTORE
0abd: PUSH1 0x20
0abf: ADD
0ac0: SWAP1
0ac1: DUP2
0ac2: MSTORE
0ac3: PUSH1 0x20
0ac5: ADD
0ac6: PUSH1 0x00
0ac8: SHA3
0ac9: PUSH1 0x00
0acb: POP
0acc: PUSH1 0x00
0ace: DUP9
0acf: PUSH1 0x01
0ad1: PUSH1 0xa0
0ad3: PUSH1 0x02
0ad5: EXP
0ad6: SUB
0ad7: AND
0ad8: DUP2
0ad9: MSTORE
0ada: PUSH1 0x20
0adc: ADD
0add: SWAP1
0ade: DUP2
0adf: MSTORE
0ae0: PUSH1 0x20
0ae2: ADD
0ae3: PUSH1 0x00
0ae5: SHA3
0ae6: PUSH1 0x00
0ae8: POP
0ae9: SLOAD
0aea: ADD
0aeb: LT
0aec: ISZERO
0aed: PUSH2 0x0af5
0af0: JUMPI
0af1: PUSH2 0x0002
0af4: JUMP
0af5: JUMPDEST
0af6: DUP4
0af7: PUSH1 0x09
0af9: PUSH1 0x00
0afb: POP
0afc: PUSH1 0x00
0afe: CALLER
0aff: PUSH1 0x01
0b01: PUSH1 0xa0
0b03: PUSH1 0x02
0b05: EXP
0b06: SUB
0b07: AND
0b08: DUP2
0b09: MSTORE
0b0a: PUSH1 0x20
0b0c: ADD
0b0d: SWAP1
0b0e: DUP2
0b0f: MSTORE
0b10: PUSH1 0x20
0b12: ADD
0b13: PUSH1 0x00
0b15: SHA3
0b16: PUSH1 0x00
0b18: POP
0b19: PUSH1 0x00
0b1b: DUP8
0b1c: PUSH1 0x01
0b1e: PUSH1 0xa0
0b20: PUSH1 0x02
0b22: EXP
0b23: SUB
0b24: AND
0b25: DUP2
0b26: MSTORE
0b27: PUSH1 0x20
0b29: ADD
0b2a: SWAP1
0b2b: DUP2
0b2c: MSTORE
0b2d: PUSH1 0x20
0b2f: ADD
0b30: PUSH1 0x00
0b32: SHA3
0b33: PUSH1 0x00
0b35: DUP3
0b36: DUP3
0b37: DUP3
0b38: POP
0b39: SLOAD
0b3a: ADD
0b3b: SWAP3
0b3c: POP
0b3d: POP
0b3e: DUP2
0b3f: SWAP1
0b40: SSTORE
0b41: POP
-- 0xb42..0xc16 --
0b42: JUMPDEST
0b43: DUP5
0b44: SWAP1
0b45: POP
0b46: DUP1
0b47: PUSH1 0x01
0b49: PUSH1 0xa0
0b4b: PUSH1 0x02
0b4d: EXP
0b4e: SUB
0b4f: AND
0b50: PUSH4 0x8f4ffcb1
0b55: CALLER
0b56: DUP7
0b57: ADDRESS
0b58: DUP8
0b59: PUSH1 0x40
0b5b: MLOAD
0b5c: DUP6
0b5d: PUSH1 0xe0
0b5f: PUSH1 0x02
0b61: EXP
0b62: MUL
0b63: DUP2
0b64: MSTORE
0b65: PUSH1 0x04
0b67: ADD
0b68: DUP1
0b69: DUP6
0b6a: PUSH1 0x01
0b6c: PUSH1 0xa0
0b6e: PUSH1 0x02
0b70: EXP
0b71: SUB
0b72: AND
0b73: DUP2
0b74: MSTORE
0b75: PUSH1 0x20
0b77: ADD
0b78: DUP5
0b79: DUP2
0b7a: MSTORE
0b7b: PUSH1 0x20
0b7d: ADD
0b7e: DUP4
0b7f: PUSH1 0x01
0b81: PUSH1 0xa0
0b83: PUSH1 0x02
0b85: EXP
0b86: SUB
0b87: AND
0b88: DUP2
0b89: MSTORE
0b8a: PUSH1 0x20
0b8c: ADD
0b8d: DUP1
0b8e: PUSH1 0x20
0b90: ADD
0b91: DUP3
0b92: DUP2
0b93: SUB
0b94: DUP3
0b95: MSTORE
0b96: DUP4
0b97: DUP2
0b98: DUP2
0b99: MLOAD
0b9a: DUP2
0b9b: MSTORE
0b9c: PUSH1 0x20
0b9e: ADD
0b9f: SWAP2
0ba0: POP
0ba1: DUP1
0ba2: MLOAD
0ba3: SWAP1
0ba4: PUSH1 0x20
0ba6: ADD
0ba7: SWAP1
0ba8: DUP1
0ba9: DUP4
0baa: DUP4
0bab: DUP3
0bac: SWAP1
0bad: PUSH1 0x00
0baf: PUSH1 0x04
0bb1: PUSH1 0x20
0bb3: DUP5
0bb4: PUSH1 0x1f
0bb6: ADD
0bb7: DIV
0bb8: PUSH1 0x0f
0bba: MUL
0bbb: PUSH1 0x03
0bbd: ADD
0bbe: CALL
0bbf: POP
0bc0: SWAP1
0bc1: POP
0bc2: SWAP1
0bc3: DUP2
0bc4: ADD
0bc5: SWAP1
0bc6: PUSH1 0x1f
0bc8: AND
0bc9: DUP1
0bca: ISZERO
0bcb: PUSH2 0x0be8
0bce: JUMPI
0bcf: DUP1
0bd0: DUP3
0bd1: SUB
0bd2: DUP1
0bd3: MLOAD
0bd4: PUSH1 0x01
0bd6: DUP4
0bd7: PUSH1 0x20
0bd9: SUB
0bda: PUSH2 0x0100
0bdd: EXP
0bde: SUB
0bdf: NOT
0be0: AND
0be1: DUP2
0be2: MSTORE
0be3: PUSH1 0x20
0be5: ADD
0be6: SWAP2
0be7: POP
0be8: JUMPDEST
0be9: POP
0bea: SWAP6
0beb: POP
0bec: POP
0bed: POP
0bee: POP
0bef: POP
0bf0: POP
0bf1: PUSH1 0x00
0bf3: PUSH1 0x40
0bf5: MLOAD
0bf6: DUP1
0bf7: DUP4
0bf8: SUB
0bf9: DUP2
0bfa: PUSH1 0x00
0bfc: DUP8
0bfd: PUSH2 0x61da
0c00: GAS
0c01: SUB
0c02: CALL
0c03: ISZERO
0c04: PUSH2 0x0002
0c07: JUMPI
0c08: POP
0c09: PUSH1 0x01
0c0b: SWAP8
0c0c: SWAP7
0c0d: POP
0c0e: POP
0c0f: POP
0c10: POP
0c11: POP
0c12: POP
0c13: POP
0c14: JUMP
0c15: OP_dd
-- 0xc16..0xc60 --
0c16: CALLCODE
0c17: MSTORE
0c18: OP_ad
0c19: OP_1b
0c1a: OP_e2
0c1b: OP_c8
0c1c: SWAP12
0c1d: PUSH10 0xc2b068fc378daa952ba7
0c28: CALL
0c29: PUSH4 0xc4a11628
0c2e: CREATE2
0c2f: GAS
0c30: OP_4d
0c31: CREATE2
0c32: OP_23
0c33: OP_b3
0c34: OP_ef
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path
obj=json.loads(Path('BYTECODE_BUNDLE.json').read_text())
bs=bytes.fromhex(obj['artifact']['runtime_bytecode']['full'][2:])
ops={i:f'PUSH{i-0x5f}' for i in range(0x60,0x80)}
ops.update({i:f'DUP{i-0x7f}' for i in range(0x80,0x90)})
ops.update({i:f'SWAP{i-0x8f}' for i in range(0x90,0xa0)})
ops.update({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',0x3f:'EXTCODEHASH',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',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'})
def disasm(start,end):
pc=start
while pc<end and pc<len(bs):
op=bs[pc]; name=ops.get(op,f'OP_{op:02x}')
if name.startswith('PUSH'):
n=int(name[4:]); arg=bs[pc+1:pc+1+n]
print(f'{pc:04x}: {name} 0x{arg.hex()}')
pc+=1+n
else:
print(f'{pc:04x}: {name}')
pc+=1
for s,e in [(0x6fd,0x7b7),(0x1ba,0x252),(0x2ac,0x309)]:
print(f'-- {s:#x}..{e:#x} --')
disasm(s,e)
PY" in /tmp/codex-glck_oeo
succeeded in 0ms:
-- 0x6fd..0x7b7 --
06fd: PUSH1 0x00
06ff: POP
0700: PUSH1 0x00
0702: DUP6
0703: PUSH1 0x01
0705: PUSH1 0xa0
0707: PUSH1 0x02
0709: EXP
070a: SUB
070b: AND
070c: DUP2
070d: MSTORE
070e: PUSH1 0x20
0710: ADD
0711: SWAP1
0712: DUP2
0713: MSTORE
0714: PUSH1 0x20
0716: ADD
0717: PUSH1 0x00
0719: SHA3
071a: PUSH1 0x00
071c: DUP3
071d: DUP3
071e: DUP3
071f: POP
0720: SLOAD
0721: ADD
0722: SWAP3
0723: POP
0724: POP
0725: DUP2
0726: SWAP1
0727: SSTORE
0728: POP
0729: DUP2
072a: PUSH1 0x09
072c: PUSH1 0x00
072e: POP
072f: PUSH1 0x00
0731: DUP7
0732: PUSH1 0x01
0734: PUSH1 0xa0
0736: PUSH1 0x02
0738: EXP
0739: SUB
073a: AND
073b: DUP2
073c: MSTORE
073d: PUSH1 0x20
073f: ADD
0740: SWAP1
0741: DUP2
0742: MSTORE
0743: PUSH1 0x20
0745: ADD
0746: PUSH1 0x00
0748: SHA3
0749: PUSH1 0x00
074b: POP
074c: PUSH1 0x00
074e: CALLER
074f: PUSH1 0x01
0751: PUSH1 0xa0
0753: PUSH1 0x02
0755: EXP
0756: SUB
0757: AND
0758: DUP2
0759: MSTORE
075a: PUSH1 0x20
075c: ADD
075d: SWAP1
075e: DUP2
075f: MSTORE
0760: PUSH1 0x20
0762: ADD
0763: PUSH1 0x00
0765: SHA3
0766: PUSH1 0x00
0768: DUP3
0769: DUP3
076a: DUP3
076b: POP
076c: SLOAD
076d: SUB
076e: SWAP3
076f: POP
0770: POP
0771: DUP2
0772: SWAP1
0773: SSTORE
0774: POP
0775: DUP3
0776: PUSH1 0x01
0778: PUSH1 0xa0
077a: PUSH1 0x02
077c: EXP
077d: SUB
077e: AND
077f: DUP5
0780: PUSH1 0x01
0782: PUSH1 0xa0
0784: PUSH1 0x02
0786: EXP
0787: SUB
0788: AND
0789: PUSH1 0x00
078b: DUP1
078c: MLOAD
078d: PUSH1 0x20
078f: PUSH2 0x0c15
0792: DUP4
0793: CODECOPY
0794: DUP2
0795: MLOAD
0796: SWAP2
0797: MSTORE
0798: DUP5
0799: PUSH1 0x40
079b: MLOAD
079c: DUP1
079d: DUP3
079e: DUP2
079f: MSTORE
07a0: PUSH1 0x20
07a2: ADD
07a3: SWAP2
07a4: POP
07a5: POP
07a6: PUSH1 0x40
07a8: MLOAD
07a9: DUP1
07aa: SWAP2
07ab: SUB
07ac: SWAP1
07ad: LOG3
07ae: POP
07af: PUSH1 0x01
07b1: SWAP4
07b2: SWAP3
07b3: POP
07b4: POP
07b5: POP
07b6: JUMP
-- 0x1ba..0x252 --
01ba: JUMPDEST
01bb: PUSH2 0x04a0
01be: PUSH1 0x01
01c0: DUP1
01c1: SLOAD
01c2: PUSH1 0x20
01c4: PUSH1 0x02
01c6: DUP3
01c7: DUP5
01c8: AND
01c9: ISZERO
01ca: PUSH2 0x0100
01cd: MUL
01ce: PUSH1 0x00
01d0: NOT
01d1: ADD
01d2: SWAP1
01d3: SWAP3
01d4: AND
01d5: SWAP2
01d6: SWAP1
01d7: SWAP2
01d8: DIV
01d9: PUSH1 0x1f
01db: DUP2
01dc: ADD
01dd: DUP3
01de: SWAP1
01df: DIV
01e0: SWAP1
01e1: SWAP2
01e2: MUL
01e3: PUSH1 0x80
01e5: SWAP1
01e6: DUP2
01e7: ADD
01e8: PUSH1 0x40
01ea: MSTORE
01eb: PUSH1 0x60
01ed: DUP3
01ee: DUP2
01ef: MSTORE
01f0: SWAP3
01f1: SWAP2
01f2: SWAP1
01f3: DUP3
01f4: DUP3
01f5: DUP1
01f6: ISZERO
01f7: PUSH2 0x0578
01fa: JUMPI
01fb: DUP1
01fc: PUSH1 0x1f
01fe: LT
01ff: PUSH2 0x054d
0202: JUMPI
0203: PUSH2 0x0100
0206: DUP1
0207: DUP4
0208: SLOAD
0209: DIV
020a: MUL
020b: DUP4
020c: MSTORE
020d: SWAP2
020e: PUSH1 0x20
0210: ADD
0211: SWAP2
0212: PUSH2 0x0578
0215: JUMP
0216: JUMPDEST
0217: PUSH2 0x050e
021a: PUSH1 0x04
021c: CALLDATALOAD
021d: PUSH1 0x07
021f: PUSH1 0x20
0221: MSTORE
0222: PUSH1 0x00
0224: SWAP1
0225: DUP2
0226: MSTORE
0227: PUSH1 0x40
0229: SWAP1
022a: SHA3
022b: SLOAD
022c: DUP2
022d: JUMP
022e: JUMPDEST
022f: PUSH2 0x049e
0232: PUSH1 0x04
0234: CALLDATALOAD
0235: PUSH1 0x24
0237: CALLDATALOAD
0238: PUSH1 0x00
023a: SLOAD
023b: CALLER
023c: PUSH1 0x01
023e: PUSH1 0xa0
0240: PUSH1 0x02
0242: EXP
0243: SUB
0244: SWAP1
0245: DUP2
0246: AND
0247: SWAP2
0248: AND
0249: EQ
024a: PUSH2 0x07b7
024d: JUMPI
024e: PUSH2 0x0002
0251: JUMP
-- 0x2ac..0x309 --
02ac: JUMPDEST
02ad: PUSH2 0x04a0
02b0: PUSH1 0x03
02b2: DUP1
02b3: SLOAD
02b4: PUSH1 0x20
02b6: PUSH1 0x02
02b8: PUSH1 0x01
02ba: DUP4
02bb: AND
02bc: ISZERO
02bd: PUSH2 0x0100
02c0: MUL
02c1: PUSH1 0x00
02c3: NOT
02c4: ADD
02c5: SWAP1
02c6: SWAP3
02c7: AND
02c8: SWAP2
02c9: SWAP1
02ca: SWAP2
02cb: DIV
02cc: PUSH1 0x1f
02ce: DUP2
02cf: ADD
02d0: DUP3
02d1: SWAP1
02d2: DIV
02d3: SWAP1
02d4: SWAP2
02d5: MUL
02d6: PUSH1 0x80
02d8: SWAP1
02d9: DUP2
02da: ADD
02db: PUSH1 0x40
02dd: MSTORE
02de: PUSH1 0x60
02e0: DUP3
02e1: DUP2
02e2: MSTORE
02e3: SWAP3
02e4: SWAP2
02e5: SWAP1
02e6: DUP3
02e7: DUP3
02e8: DUP1
02e9: ISZERO
02ea: PUSH2 0x0578
02ed: JUMPI
02ee: DUP1
02ef: PUSH1 0x1f
02f1: LT
02f2: PUSH2 0x054d
02f5: JUMPI
02f6: PUSH2 0x0100
02f9: DUP1
02fa: DUP4
02fb: SLOAD
02fc: DIV
02fd: MUL
02fe: DUP4
02ff: MSTORE
0300: SWAP2
0301: PUSH1 0x20
0303: ADD
0304: SWAP2
0305: PUSH2 0x0578
0308: JUMP
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path
obj=json.loads(Path('BYTECODE_BUNDLE.json').read_text())
bs=bytes.fromhex(obj['artifact']['runtime_bytecode']['full'][2:])
ops={i:f'PUSH{i-0x5f}' for i in range(0x60,0x80)}
ops.update({i:f'DUP{i-0x7f}' for i in range(0x80,0x90)})
ops.update({i:f'SWAP{i-0x8f}' for i in range(0x90,0xa0)})
ops.update({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',0x3f:'EXTCODEHASH',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',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'})
def disasm(start,end):
pc=start
while pc<end and pc<len(bs):
op=bs[pc]; name=ops.get(op,f'OP_{op:02x}')
if name.startswith('PUSH'):
n=int(name[4:]); arg=bs[pc+1:pc+1+n]
print(f'{pc:04x}: {name} 0x{arg.hex()}')
pc+=1+n
else:
print(f'{pc:04x}: {name}')
pc+=1
disasm(0x0,0x120)
PY" in /tmp/codex-glck_oeo
succeeded in 0ms:
0000: PUSH1 0x60
0002: PUSH1 0x40
0004: MSTORE
0005: CALLDATASIZE
0006: ISZERO
0007: PUSH2 0x00f0
000a: JUMPI
000b: PUSH1 0xe0
000d: PUSH1 0x02
000f: EXP
0010: PUSH1 0x00
0012: CALLDATALOAD
0013: DIV
0014: PUSH4 0x06fdde03
0019: DUP2
001a: EQ
001b: PUSH2 0x00f8
001e: JUMPI
001f: DUP1
0020: PUSH4 0x18160ddd
0025: EQ
0026: PUSH2 0x0152
0029: JUMPI
002a: DUP1
002b: PUSH4 0x23b872dd
0030: EQ
0031: PUSH2 0x015b
0034: JUMPI
0035: DUP1
0036: PUSH4 0x2e1a7d4d
003b: EQ
003c: PUSH2 0x018d
003f: JUMPI
0040: DUP1
0041: PUSH4 0x313ce567
0046: EQ
0047: PUSH2 0x01ae
004a: JUMPI
004b: DUP1
004c: PUSH4 0x5a3b7e42
0051: EQ
0052: PUSH2 0x01ba
0055: JUMPI
0056: DUP1
0057: PUSH4 0x70a08231
005c: EQ
005d: PUSH2 0x0216
0060: JUMPI
0061: DUP1
0062: PUSH4 0x79c65068
0067: EQ
0068: PUSH2 0x022e
006b: JUMPI
006c: DUP1
006d: PUSH4 0x83197ef0
0072: EQ
0073: PUSH2 0x0252
0076: JUMPI
0077: DUP1
0078: PUSH4 0x8620410b
007d: EQ
007e: PUSH2 0x0270
0081: JUMPI
0082: DUP1
0083: PUSH4 0x8da5cb5b
0088: EQ
0089: PUSH2 0x0279
008c: JUMPI
008d: DUP1
008e: PUSH4 0x91b7f5ed
0093: EQ
0094: PUSH2 0x028b
0097: JUMPI
0098: DUP1
0099: PUSH4 0x95d89b41
009e: EQ
009f: PUSH2 0x02ac
00a2: JUMPI
00a3: DUP1
00a4: PUSH4 0xa6f2ae3a
00a9: EQ
00aa: PUSH2 0x0309
00ad: JUMPI
00ae: DUP1
00af: PUSH4 0xa9059cbb
00b4: EQ
00b5: PUSH2 0x0324
00b8: JUMPI
00b9: DUP1
00ba: PUSH4 0xb414d4b6
00bf: EQ
00c0: PUSH2 0x0353
00c3: JUMPI
00c4: DUP1
00c5: PUSH4 0xcae9ca51
00ca: EQ
00cb: PUSH2 0x036e
00ce: JUMPI
00cf: DUP1
00d0: PUSH4 0xdd62ed3e
00d5: EQ
00d6: PUSH2 0x0434
00d9: JUMPI
00da: DUP1
00db: PUSH4 0xe724529c
00e0: EQ
00e1: PUSH2 0x0459
00e4: JUMPI
00e5: DUP1
00e6: PUSH4 0xf2fde38b
00eb: EQ
00ec: PUSH2 0x047d
00ef: JUMPI
00f0: JUMPDEST
00f1: PUSH2 0x049e
00f4: PUSH2 0x0002
00f7: JUMP
00f8: JUMPDEST
00f9: PUSH2 0x04a0
00fc: PUSH1 0x02
00fe: DUP1
00ff: SLOAD
0100: PUSH1 0x20
0102: PUSH1 0x01
0104: DUP3
0105: AND
0106: ISZERO
0107: PUSH2 0x0100
010a: MUL
010b: PUSH1 0x00
010d: NOT
010e: ADD
010f: SWAP1
0110: SWAP2
0111: AND
0112: DUP3
0113: SWAP1
0114: DIV
0115: PUSH1 0x1f
0117: DUP2
0118: ADD
0119: DUP3
011a: SWAP1
011b: DIV
011c: SWAP1
011d: SWAP2
011e: MUL
011f: PUSH1 0x80
Read the bundle, disassembled the relevant regions around selectors/callsites, and reduced the bytecode-only findings to the privileged behaviors that are clearly evidenced rather than detector-only guesses.
✓ Read BYTECODE_BUNDLE.json and extract bytecode evidence, detector findings, callsites, and storage-slot context
✓ Assess likely vulnerabilities from bytecode only, with explicit uncertainty and pc/selector references
→ Return final JSON matching the required schema
codex
{"no_findings":false,"summary":"Bytecode-only review found three meaningful privileged behaviors: an owner-only mint path that can arbitrarily inflate balances and total supply, an owner-controlled account-freeze mechanism that can censor transfers, and an owner-reachable SELFDESTRUCT path. I did not treat the raw CALL detector hits as standalone exploits because the bytecode shows several of them belong to owner/callback flows and at least one callback success check is explicit; selector names remain best-effort.","findings":[{"severity":"high","category":"access_control","title":"Privileged mint path can arbitrarily increase balances and total supply","exploit_scenario":"A compromised or malicious owner can call the owner-gated function behind selector 0x79c65068 to credit any address and increase the global supply, diluting all existing holders. From bytecode alone this looks like an unrestricted admin mint rather than a capped issuance path.","recommendation":"If unlimited minting is not an intended trust assumption, remove this path, add a hard cap enforced on-chain, or gate issuance behind stronger controls such as a timelock/multisig and explicit cap checks.","evidence":"Selector 0x79c65068 is owner-gated at pc 0x0238-0x0249. Its body updates a balance mapping derived from slot 0x07 at pc 0x07f7-0x07fc and then increments fixed slot 0x05 at pc 0x07fd-0x0804, which is consistent with arbitrary minting plus totalSupply growth.","locations":["selector:0x79c65068","pc:0x0238","pc:0x07f8","pc:0x0800"]},{"severity":"medium","category":"access_control","title":"Owner can freeze arbitrary accounts, enabling transfer censorship","exploit_scenario":"A compromised or malicious owner can toggle a per-account freeze flag and block affected holders from using the regular transfer path. This creates a centralized censorship lever over token mobility. Bytecode shows transfer() checks the freeze slot; transferFrom() enforcement is not obvious from the recovered regions, so the exact blast radius is somewhat uncertain.","recommendation":"If censorship is not an intended trust assumption, remove the freeze feature. If it is intentional, disclose it clearly and protect it with stronger governance controls and monitoring.","evidence":"Selector 0xe724529c is owner-gated at pc 0x0463-0x0475 and writes a boolean-like flag into a mapping rooted at slot 0x08 at pc 0x0899-0x08a3. The transfer path checks caller slot 0x08 before proceeding at pc 0x05a3-0x05c8.","locations":["selector:0xe724529c","pc:0x0899","pc:0x08a3","pc:0x05ba"]},{"severity":"medium","category":"other","title":"Owner-reachable SELFDESTRUCT path can sweep ETH and may brick the contract on some chains","exploit_scenario":"A compromised or malicious owner can invoke selector 0x83197ef0 and execute SELFDESTRUCT sending funds to the owner address. On chains with pre-EIP-6780 semantics this can remove contract code entirely; on modern chains it is typically reduced to an ETH sweep unless called in the same creation transaction. Because the chain is unknown from bytecode alone, the full impact is chain-dependent.","recommendation":"Remove the SELFDESTRUCT path unless it is absolutely required. If emergency shutdown is needed, prefer a pause/timelock design that cannot delete logic or unexpectedly sweep funds.","evidence":"Selector 0x83197ef0 is owner-gated at pc 0x0258-0x0268 and jumps to pc 0x0a5a, where the contract loads slot 0x00, masks it to an address, and executes SELFDESTRUCT at pc 0x0a67.","locations":["selector:0x83197ef0","pc:0x0258","pc:0x0a5a","pc:0x0a67"]}]}
tokens used
84,346
{
"codex": {
"ran_at": "2026-04-05T07:18:02.646623+00:00",
"returncode": 0
},
"project": {
"mode": "bytecode",
"bytecode_length": 6252,
"bytecode_truncated": false,
"capability_graph_present": true,
"analysis_artifact_present": true
},
"summary": "Bytecode-only review found three meaningful privileged behaviors: an owner-only mint path that can arbitrarily inflate balances and total supply, an owner-controlled account-freeze mechanism that can censor transfers, and an owner-reachable SELFDESTRUCT path. I did not treat the raw CALL detector hits as standalone exploits because the bytecode shows several of them belong to owner/callback flows and at least one callback success check is explicit; selector names remain best-effort.",
"raw_final": {
"summary": "Bytecode-only review found three meaningful privileged behaviors: an owner-only mint path that can arbitrarily inflate balances and total supply, an owner-controlled account-freeze mechanism that can censor transfers, and an owner-reachable SELFDESTRUCT path. I did not treat the raw CALL detector hits as standalone exploits because the bytecode shows several of them belong to owner/callback flows and at least one callback success check is explicit; selector names remain best-effort.",
"findings": [
{
"title": "Privileged mint path can arbitrarily increase balances and total supply",
"category": "access_control",
"evidence": "Selector 0x79c65068 is owner-gated at pc 0x0238-0x0249. Its body updates a balance mapping derived from slot 0x07 at pc 0x07f7-0x07fc and then increments fixed slot 0x05 at pc 0x07fd-0x0804, which is consistent with arbitrary minting plus totalSupply growth.",
"severity": "high",
"locations": [
"selector:0x79c65068",
"pc:0x0238",
"pc:0x07f8",
"pc:0x0800"
],
"recommendation": "If unlimited minting is not an intended trust assumption, remove this path, add a hard cap enforced on-chain, or gate issuance behind stronger controls such as a timelock/multisig and explicit cap checks.",
"exploit_scenario": "A compromised or malicious owner can call the owner-gated function behind selector 0x79c65068 to credit any address and increase the global supply, diluting all existing holders. From bytecode alone this looks like an unrestricted admin mint rather than a capped issuance path."
},
{
"title": "Owner can freeze arbitrary accounts, enabling transfer censorship",
"category": "access_control",
"evidence": "Selector 0xe724529c is owner-gated at pc 0x0463-0x0475 and writes a boolean-like flag into a mapping rooted at slot 0x08 at pc 0x0899-0x08a3. The transfer path checks caller slot 0x08 before proceeding at pc 0x05a3-0x05c8.",
"severity": "medium",
"locations": [
"selector:0xe724529c",
"pc:0x0899",
"pc:0x08a3",
"pc:0x05ba"
],
"recommendation": "If censorship is not an intended trust assumption, remove the freeze feature. If it is intentional, disclose it clearly and protect it with stronger governance controls and monitoring.",
"exploit_scenario": "A compromised or malicious owner can toggle a per-account freeze flag and block affected holders from using the regular transfer path. This creates a centralized censorship lever over token mobility. Bytecode shows transfer() checks the freeze slot; transferFrom() enforcement is not obvious from the recovered regions, so the exact blast radius is somewhat uncertain."
},
{
"title": "Owner-reachable SELFDESTRUCT path can sweep ETH and may brick the contract on some chains",
"category": "other",
"evidence": "Selector 0x83197ef0 is owner-gated at pc 0x0258-0x0268 and jumps to pc 0x0a5a, where the contract loads slot 0x00, masks it to an address, and executes SELFDESTRUCT at pc 0x0a67.",
"severity": "medium",
"locations": [
"selector:0x83197ef0",
"pc:0x0258",
"pc:0x0a5a",
"pc:0x0a67"
],
"recommendation": "Remove the SELFDESTRUCT path unless it is absolutely required. If emergency shutdown is needed, prefer a pause/timelock design that cannot delete logic or unexpectedly sweep funds.",
"exploit_scenario": "A compromised or malicious owner can invoke selector 0x83197ef0 and execute SELFDESTRUCT sending funds to the owner address. On chains with pre-EIP-6780 semantics this can remove contract code entirely; on modern chains it is typically reduced to an ETH sweep unless called in the same creation transaction. Because the chain is unknown from bytecode alone, the full impact is chain-dependent."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x60 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLDATASIZE 00000006: ISZERO 00000007: PUSH2 0x00f0 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 0x00f8 0000001e: JUMPI 0000001f: DUP1 00000020: PUSH4 0x18160ddd 00000025: EQ 00000026: PUSH2 0x0152 00000029: JUMPI 0000002a: DUP1 0000002b: PUSH4 0x23b872dd 00000030: EQ 00000031: PUSH2 0x015b 00000034: JUMPI 00000035: DUP1 00000036: PUSH4 0x2e1a7d4d 0000003b: EQ 0000003c: PUSH2 0x018d 0000003f: JUMPI 00000040: DUP1 00000041: PUSH4 0x313ce567 00000046: EQ 00000047: PUSH2 0x01ae 0000004a: JUMPI 0000004b: DUP1 0000004c: PUSH4 0x5a3b7e42 00000051: EQ 00000052: PUSH2 0x01ba 00000055: JUMPI 00000056: DUP1 00000057: PUSH4 0x70a08231 0000005c: EQ 0000005d: PUSH2 0x0216 00000060: JUMPI 00000061: DUP1 00000062: PUSH4 0x79c65068 00000067: EQ 00000068: PUSH2 0x022e 0000006b: JUMPI 0000006c: DUP1 0000006d: PUSH4 0x83197ef0 00000072: EQ 00000073: PUSH2 0x0252 00000076: JUMPI 00000077: DUP1 00000078: PUSH4 0x8620410b 0000007d: EQ 0000007e: PUSH2 0x0270 00000081: JUMPI 00000082: DUP1 00000083: PUSH4 0x8da5cb5b 00000088: EQ 00000089: PUSH2 0x0279 0000008c: JUMPI 0000008d: DUP1 0000008e: PUSH4 0x91b7f5ed 00000093: EQ 00000094: PUSH2 0x028b 00000097: JUMPI 00000098: DUP1 00000099: PUSH4 0x95d89b41 0000009e: EQ 0000009f: PUSH2 0x02ac 000000a2: JUMPI 000000a3: DUP1 000000a4: PUSH4 0xa6f2ae3a 000000a9: EQ 000000aa: PUSH2 0x0309 000000ad: JUMPI 000000ae: DUP1 000000af: PUSH4 0xa9059cbb 000000b4: EQ 000000b5: PUSH2 0x0324 000000b8: JUMPI 000000b9: DUP1 000000ba: PUSH4 0xb414d4b6 000000bf: EQ 000000c0: PUSH2 0x0353 000000c3: JUMPI 000000c4: DUP1 000000c5: PUSH4 0xcae9ca51 000000ca: EQ 000000cb: PUSH2 0x036e 000000ce: JUMPI 000000cf: DUP1 000000d0: PUSH4 0xdd62ed3e 000000d5: EQ 000000d6: PUSH2 0x0434 000000d9: JUMPI 000000da: DUP1 000000db: PUSH4 0xe724529c 000000e0: EQ 000000e1: PUSH2 0x0459 000000e4: JUMPI 000000e5: DUP1 000000e6: PUSH4 0xf2fde38b 000000eb: EQ 000000ec: PUSH2 0x047d 000000ef: JUMPI 000000f0: JUMPDEST 000000f1: PUSH2 0x049e 000000f4: PUSH2 0x0002 000000f7: JUMP 000000f8: JUMPDEST 000000f9: PUSH2 0x04a0 000000fc: PUSH1 0x02 000000fe: DUP1 000000ff: SLOAD 00000100: PUSH1 0x20 00000102: PUSH1 0x01 00000104: DUP3 00000105: AND 00000106: ISZERO 00000107: PUSH2 0x0100 0000010a: MUL 0000010b: PUSH1 0x00 0000010d: NOT 0000010e: ADD 0000010f: SWAP1 00000110: SWAP2 00000111: AND 00000112: DUP3 00000113: SWAP1 00000114: DIV 00000115: PUSH1 0x1f 00000117: DUP2 00000118: ADD 00000119: DUP3 0000011a: SWAP1 0000011b: DIV 0000011c: SWAP1 0000011d: SWAP2 0000011e: MUL 0000011f: PUSH1 0x80 00000121: SWAP1 00000122: DUP2 00000123: ADD 00000124: PUSH1 0x40 00000126: MSTORE 00000127: PUSH1 0x60 00000129: DUP3 0000012a: DUP2 0000012b: MSTORE 0000012c: SWAP3 0000012d: SWAP2 0000012e: SWAP1 0000012f: DUP3 00000130: DUP3 00000131: DUP1 00000132: ISZERO 00000133: PUSH2 0x0578 00000136: JUMPI 00000137: DUP1 00000138: PUSH1 0x1f 0000013a: LT 0000013b: PUSH2 0x054d 0000013e: JUMPI 0000013f: PUSH2 0x0100 00000142: DUP1 00000143: DUP4 00000144: SLOAD 00000145: DIV 00000146: MUL 00000147: DUP4 00000148: MSTORE 00000149: SWAP2 0000014a: PUSH1 0x20 0000014c: ADD 0000014d: SWAP2 0000014e: PUSH2 0x0578 00000151: JUMP 00000152: JUMPDEST 00000153: PUSH2 0x050e 00000156: PUSH1 0x05 00000158: SLOAD 00000159: DUP2 0000015a: JUMP 0000015b: JUMPDEST 0000015c: PUSH2 0x050e 0000015f: PUSH1 0x04 00000161: CALLDATALOAD 00000162: PUSH1 0x24 00000164: CALLDATALOAD 00000165: PUSH1 0x44 00000167: CALLDATALOAD 00000168: PUSH1 0x01 0000016a: PUSH1 0xa0 0000016c: PUSH1 0x02 0000016e: EXP 0000016f: SUB 00000170: DUP4 00000171: AND 00000172: PUSH1 0x00 00000174: SWAP1 00000175: DUP2 00000176: MSTORE 00000177: PUSH1 0x08 00000179: PUSH1 0x20 0000017b: MSTORE 0000017c: PUSH1 0x40 0000017e: DUP2 0000017f: KECCAK256 00000180: SLOAD 00000181: PUSH1 0xff 00000183: AND 00000184: ISZERO 00000185: PUSH2 0x0663 00000188: JUMPI 00000189: PUSH2 0x0002 0000018c: JUMP 0000018d: JUMPDEST 0000018e: PUSH2 0x049e 00000191: PUSH1 0x04 00000193: CALLDATALOAD 00000194: PUSH1 0x00 00000196: SLOAD 00000197: CALLER 00000198: PUSH1 0x01 0000019a: PUSH1 0xa0 0000019c: PUSH1 0x02 0000019e: EXP 0000019f: SUB 000001a0: SWAP1 000001a1: DUP2 000001a2: AND 000001a3: SWAP2 000001a4: AND 000001a5: EQ 000001a6: PUSH2 0x09fe 000001a9: JUMPI 000001aa: PUSH2 0x0002 000001ad: JUMP 000001ae: JUMPDEST 000001af: PUSH2 0x0520 000001b2: PUSH1 0x04 000001b4: SLOAD 000001b5: PUSH1 0xff 000001b7: AND 000001b8: DUP2 000001b9: JUMP 000001ba: JUMPDEST 000001bb: PUSH2 0x04a0 000001be: PUSH1 0x01 000001c0: DUP1 000001c1: SLOAD 000001c2: PUSH1 0x20 000001c4: PUSH1 0x02 000001c6: DUP3 000001c7: DUP5 000001c8: AND 000001c9: ISZERO 000001ca: PUSH2 0x0100 000001cd: MUL 000001ce: PUSH1 0x00 000001d0: NOT 000001d1: ADD 000001d2: SWAP1 000001d3: SWAP3 000001d4: AND 000001d5: SWAP2 000001d6: SWAP1 000001d7: SWAP2 000001d8: DIV 000001d9: PUSH1 0x1f 000001db: DUP2 000001dc: ADD 000001dd: DUP3 000001de: SWAP1 000001df: DIV 000001e0: SWAP1 000001e1: SWAP2 000001e2: MUL 000001e3: PUSH1 0x80 000001e5: SWAP1 000001e6: DUP2 000001e7: ADD 000001e8: PUSH1 0x40 000001ea: MSTORE 000001eb: PUSH1 0x60 000001ed: DUP3 000001ee: DUP2 000001ef: MSTORE 000001f0: SWAP3 000001f1: SWAP2 000001f2: SWAP1 000001f3: DUP3 000001f4: DUP3 000001f5: DUP1 000001f6: ISZERO 000001f7: PUSH2 0x0578 000001fa: JUMPI 000001fb: DUP1 000001fc: PUSH1 0x1f 000001fe: LT 000001ff: PUSH2 0x054d 00000202: JUMPI 00000203: PUSH2 0x0100 00000206: DUP1 00000207: DUP4 00000208: SLOAD 00000209: DIV 0000020a: MUL 0000020b: DUP4 0000020c: MSTORE 0000020d: SWAP2 0000020e: PUSH1 0x20 00000210: ADD 00000211: SWAP2 00000212: PUSH2 0x0578 00000215: JUMP 00000216: JUMPDEST 00000217: PUSH2 0x050e 0000021a: PUSH1 0x04 0000021c: CALLDATALOAD 0000021d: PUSH1 0x07 0000021f: PUSH1 0x20 00000221: MSTORE 00000222: PUSH1 0x00 00000224: SWAP1 00000225: DUP2 00000226: MSTORE 00000227: PUSH1 0x40 00000229: SWAP1 0000022a: KECCAK256 0000022b: SLOAD 0000022c: DUP2 0000022d: JUMP 0000022e: JUMPDEST 0000022f: PUSH2 0x049e 00000232: PUSH1 0x04 00000234: CALLDATALOAD 00000235: PUSH1 0x24 00000237: CALLDATALOAD 00000238: PUSH1 0x00 0000023a: SLOAD 0000023b: CALLER 0000023c: PUSH1 0x01 0000023e: PUSH1 0xa0 00000240: PUSH1 0x02 00000242: EXP 00000243: SUB 00000244: SWAP1 00000245: DUP2 00000246: AND 00000247: SWAP2 00000248: AND 00000249: EQ 0000024a: PUSH2 0x07b7 0000024d: JUMPI 0000024e: PUSH2 0x0002 00000251: JUMP 00000252: JUMPDEST 00000253: PUSH2 0x049e 00000256: PUSH1 0x00 00000258: SLOAD 00000259: CALLER 0000025a: PUSH1 0x01 0000025c: PUSH1 0xa0 0000025e: PUSH1 0x02 00000260: EXP 00000261: SUB 00000262: SWAP1 00000263: DUP2 00000264: AND 00000265: SWAP2 00000266: AND 00000267: EQ 00000268: PUSH2 0x0a5a 0000026b: JUMPI 0000026c: PUSH2 0x0002 0000026f: JUMP 00000270: JUMPDEST 00000271: PUSH2 0x050e 00000274: PUSH1 0x06 00000276: SLOAD 00000277: DUP2 00000278: JUMP 00000279: JUMPDEST 0000027a: PUSH2 0x0520 0000027d: PUSH1 0x00 0000027f: SLOAD 00000280: PUSH1 0x01 00000282: PUSH1 0xa0 00000284: PUSH1 0x02 00000286: EXP 00000287: SUB 00000288: AND 00000289: DUP2 0000028a: JUMP 0000028b: JUMPDEST 0000028c: PUSH2 0x049e 0000028f: PUSH1 0x04 00000291: CALLDATALOAD 00000292: PUSH1 0x00 00000294: SLOAD 00000295: CALLER 00000296: PUSH1 0x01 00000298: PUSH1 0xa0 0000029a: PUSH1 0x02 0000029c: EXP 0000029d: SUB 0000029e: SWAP1 0000029f: DUP2 000002a0: AND 000002a1: SWAP2 000002a2: AND 000002a3: EQ 000002a4: PUSH2 0x08d4 000002a7: JUMPI 000002a8: PUSH2 0x0002 000002ab: JUMP 000002ac: JUMPDEST 000002ad: PUSH2 0x04a0 000002b0: PUSH1 0x03 000002b2: DUP1 000002b3: SLOAD 000002b4: PUSH1 0x20 000002b6: PUSH1 0x02 000002b8: PUSH1 0x01 000002ba: DUP4 000002bb: AND 000002bc: ISZERO 000002bd: PUSH2 0x0100 000002c0: MUL 000002c1: PUSH1 0x00 000002c3: NOT 000002c4: ADD 000002c5: SWAP1 000002c6: SWAP3 000002c7: AND 000002c8: SWAP2 000002c9: SWAP1 000002ca: SWAP2 000002cb: DIV 000002cc: PUSH1 0x1f 000002ce: DUP2 000002cf: ADD 000002d0: DUP3 000002d1: SWAP1 000002d2: DIV 000002d3: SWAP1 000002d4: SWAP2 000002d5: MUL 000002d6: PUSH1 0x80 000002d8: SWAP1 000002d9: DUP2 000002da: ADD 000002db: PUSH1 0x40 000002dd: MSTORE 000002de: PUSH1 0x60 000002e0: DUP3 000002e1: DUP2 000002e2: MSTORE 000002e3: SWAP3 000002e4: SWAP2 000002e5: SWAP1 000002e6: DUP3 000002e7: DUP3 000002e8: DUP1 000002e9: ISZERO 000002ea: PUSH2 0x0578 000002ed: JUMPI 000002ee: DUP1 000002ef: PUSH1 0x1f 000002f1: LT 000002f2: PUSH2 0x054d 000002f5: JUMPI 000002f6: PUSH2 0x0100 000002f9: DUP1 000002fa: DUP4 000002fb: SLOAD 000002fc: DIV 000002fd: MUL 000002fe: DUP4 000002ff: MSTORE 00000300: SWAP2 00000301: PUSH1 0x20 00000303: ADD 00000304: SWAP2 00000305: PUSH2 0x0578 00000308: JUMP 00000309: JUMPDEST 0000030a: PUSH2 0x049e 0000030d: PUSH1 0x00 0000030f: PUSH1 0x00 00000311: PUSH1 0x00 00000313: PUSH1 0x06 00000315: PUSH1 0x00 00000317: POP 00000318: SLOAD 00000319: CALLVALUE 0000031a: LT 0000031b: ISZERO 0000031c: PUSH2 0x08d9 0000031f: JUMPI 00000320: PUSH2 0x0002 00000323: JUMP 00000324: JUMPDEST 00000325: PUSH2 0x049e 00000328: PUSH1 0x04 0000032a: CALLDATALOAD 0000032b: PUSH1 0x24 0000032d: CALLDATALOAD 0000032e: CALLER 0000032f: PUSH1 0x01 00000331: PUSH1 0xa0 00000333: PUSH1 0x02 00000335: EXP 00000336: SUB 00000337: AND 00000338: PUSH1 0x00 0000033a: SWAP1 0000033b: DUP2 0000033c: MSTORE 0000033d: PUSH1 0x07 0000033f: PUSH1 0x20 00000341: MSTORE 00000342: PUSH1 0x40 00000344: SWAP1 00000345: KECCAK256 00000346: SLOAD 00000347: DUP2 00000348: SWAP1 00000349: LT 0000034a: ISZERO 0000034b: PUSH2 0x0580 0000034e: JUMPI 0000034f: PUSH2 0x0002 00000352: JUMP 00000353: JUMPDEST 00000354: PUSH2 0x050e 00000357: PUSH1 0x04 00000359: CALLDATALOAD 0000035a: PUSH1 0x08 0000035c: PUSH1 0x20 0000035e: MSTORE 0000035f: PUSH1 0x00 00000361: SWAP1 00000362: DUP2 00000363: MSTORE 00000364: PUSH1 0x40 00000366: SWAP1 00000367: KECCAK256 00000368: SLOAD 00000369: PUSH1 0xff 0000036b: AND 0000036c: DUP2 0000036d: JUMP 0000036e: JUMPDEST 0000036f: PUSH1 0x20 00000371: PUSH1 0x44 00000373: CALLDATALOAD 00000374: PUSH1 0x04 00000376: DUP2 00000377: DUP2 00000378: ADD 00000379: CALLDATALOAD 0000037a: PUSH1 0x1f 0000037c: DUP2 0000037d: ADD 0000037e: DUP5 0000037f: SWAP1 00000380: DIV 00000381: SWAP1 00000382: SWAP4 00000383: MUL 00000384: PUSH1 0x80 00000386: SWAP1 00000387: DUP2 00000388: ADD 00000389: PUSH1 0x40 0000038b: MSTORE 0000038c: PUSH1 0x60 0000038e: DUP5 0000038f: DUP2 00000390: MSTORE 00000391: PUSH2 0x050e 00000394: SWAP5 00000395: DUP4 00000396: CALLDATALOAD 00000397: SWAP5 00000398: PUSH1 0x24 0000039a: DUP1 0000039b: CALLDATALOAD 0000039c: SWAP6 0000039d: SWAP5 0000039e: PUSH1 0x64 000003a0: SWAP5 000003a1: SWAP4 000003a2: SWAP3 000003a3: SWAP1 000003a4: SWAP2 000003a5: ADD 000003a6: SWAP2 000003a7: SWAP1 000003a8: DUP2 000003a9: SWAP1 000003aa: DUP4 000003ab: DUP3 000003ac: DUP1 000003ad: DUP3 000003ae: DUP5 000003af: CALLDATACOPY 000003b0: POP 000003b1: SWAP5 000003b2: SWAP7 000003b3: POP 000003b4: POP 000003b5: POP 000003b6: POP 000003b7: POP 000003b8: POP 000003b9: POP 000003ba: CALLER 000003bb: PUSH1 0x01 000003bd: PUSH1 0xa0 000003bf: PUSH1 0x02 000003c1: EXP 000003c2: SUB 000003c3: SWAP1 000003c4: DUP2 000003c5: AND 000003c6: PUSH1 0x00 000003c8: SWAP1 000003c9: DUP2 000003ca: MSTORE 000003cb: PUSH1 0x09 000003cd: PUSH1 0x20 000003cf: SWAP1 000003d0: DUP2 000003d1: MSTORE 000003d2: PUSH1 0x40 000003d4: DUP1 000003d5: DUP4 000003d6: KECCAK256 000003d7: SWAP4 000003d8: DUP8 000003d9: AND 000003da: DUP4 000003db: MSTORE 000003dc: SWAP3 000003dd: SWAP1 000003de: MSTORE 000003df: SWAP1 000003e0: DUP2 000003e1: KECCAK256 000003e2: SLOAD 000003e3: DUP2 000003e4: SWAP1 000003e5: DUP2 000003e6: EQ 000003e7: ISZERO 000003e8: PUSH2 0x0a68 000003eb: JUMPI 000003ec: DUP4 000003ed: PUSH1 0x09 000003ef: PUSH1 0x00 000003f1: POP 000003f2: PUSH1 0x00 000003f4: CALLER 000003f5: PUSH1 0x01 000003f7: PUSH1 0xa0 000003f9: PUSH1 0x02 000003fb: EXP 000003fc: SUB 000003fd: AND 000003fe: DUP2 000003ff: MSTORE 00000400: PUSH1 0x20 00000402: ADD 00000403: SWAP1 00000404: DUP2 00000405: MSTORE 00000406: PUSH1 0x20 00000408: ADD 00000409: PUSH1 0x00 0000040b: KECCAK256 0000040c: PUSH1 0x00 0000040e: POP 0000040f: PUSH1 0x00 00000411: DUP8 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: SWAP1 00000421: DUP2 00000422: MSTORE 00000423: PUSH1 0x20 00000425: ADD 00000426: PUSH1 0x00 00000428: KECCAK256 00000429: PUSH1 0x00 0000042b: POP 0000042c: DUP2 0000042d: SWAP1 0000042e: SSTORE 0000042f: POP 00000430: PUSH2 0x0b42 00000433: JUMP 00000434: JUMPDEST 00000435: PUSH1 0x09 00000437: PUSH1 0x20 00000439: SWAP1 0000043a: DUP2 0000043b: MSTORE 0000043c: PUSH1 0x04 0000043e: CALLDATALOAD 0000043f: PUSH1 0x00 00000441: SWAP1 00000442: DUP2 00000443: MSTORE 00000444: PUSH1 0x40 00000446: DUP1 00000447: DUP3 00000448: KECCAK256 00000449: SWAP1 0000044a: SWAP3 0000044b: MSTORE 0000044c: PUSH1 0x24 0000044e: CALLDATALOAD 0000044f: DUP2 00000450: MSTORE 00000451: KECCAK256 00000452: SLOAD 00000453: PUSH2 0x050e 00000456: SWAP1 00000457: DUP2 00000458: JUMP 00000459: JUMPDEST 0000045a: PUSH2 0x049e 0000045d: PUSH1 0x04 0000045f: CALLDATALOAD 00000460: PUSH1 0x24 00000462: CALLDATALOAD 00000463: PUSH1 0x00 00000465: SLOAD 00000466: CALLER 00000467: PUSH1 0x01 00000469: PUSH1 0xa0 0000046b: PUSH1 0x02 0000046d: EXP 0000046e: SUB 0000046f: SWAP1 00000470: DUP2 00000471: AND 00000472: SWAP2 00000473: AND 00000474: EQ 00000475: PUSH2 0x087f 00000478: JUMPI 00000479: PUSH2 0x0002 0000047c: JUMP 0000047d: JUMPDEST 0000047e: PUSH2 0x049e 00000481: PUSH1 0x04 00000483: CALLDATALOAD 00000484: PUSH1 0x00 00000486: SLOAD 00000487: CALLER 00000488: PUSH1 0x01 0000048a: PUSH1 0xa0 0000048c: PUSH1 0x02 0000048e: EXP 0000048f: SUB 00000490: SWAP1 00000491: DUP2 00000492: AND 00000493: SWAP2 00000494: AND 00000495: EQ 00000496: PUSH2 0x052a 00000499: JUMPI 0000049a: PUSH2 0x0002 0000049d: JUMP 0000049e: JUMPDEST 0000049f: STOP 000004a0: JUMPDEST 000004a1: PUSH1 0x40 000004a3: MLOAD 000004a4: DUP1 000004a5: DUP1 000004a6: PUSH1 0x20 000004a8: ADD 000004a9: DUP3 000004aa: DUP2 000004ab: SUB 000004ac: DUP3 000004ad: MSTORE 000004ae: DUP4 000004af: DUP2 000004b0: DUP2 000004b1: MLOAD 000004b2: DUP2 000004b3: MSTORE 000004b4: PUSH1 0x20 000004b6: ADD 000004b7: SWAP2 000004b8: POP 000004b9: DUP1 000004ba: MLOAD 000004bb: SWAP1 000004bc: PUSH1 0x20 000004be: ADD 000004bf: SWAP1 000004c0: DUP1 000004c1: DUP4 000004c2: DUP4 000004c3: DUP3 000004c4: SWAP1 000004c5: PUSH1 0x00 000004c7: PUSH1 0x04 000004c9: PUSH1 0x20 000004cb: DUP5 000004cc: PUSH1 0x1f 000004ce: ADD 000004cf: DIV 000004d0: PUSH1 0x0f 000004d2: MUL 000004d3: PUSH1 0x03 000004d5: ADD 000004d6: CALL 000004d7: POP 000004d8: SWAP1 000004d9: POP 000004da: SWAP1 000004db: DUP2 000004dc: ADD 000004dd: SWAP1 000004de: PUSH1 0x1f 000004e0: AND 000004e1: DUP1 000004e2: ISZERO 000004e3: PUSH2 0x0500 000004e6: JUMPI 000004e7: DUP1 000004e8: DUP3 000004e9: SUB 000004ea: DUP1 000004eb: MLOAD 000004ec: PUSH1 0x01 000004ee: DUP4 000004ef: PUSH1 0x20 000004f1: SUB 000004f2: PUSH2 0x0100 000004f5: EXP 000004f6: SUB 000004f7: NOT 000004f8: AND 000004f9: DUP2 000004fa: MSTORE 000004fb: PUSH1 0x20 000004fd: ADD 000004fe: SWAP2 000004ff: POP 00000500: JUMPDEST 00000501: POP 00000502: SWAP3 00000503: POP 00000504: POP 00000505: POP 00000506: PUSH1 0x40 00000508: MLOAD 00000509: DUP1 0000050a: SWAP2 0000050b: SUB 0000050c: SWAP1 0000050d: RETURN 0000050e: JUMPDEST 0000050f: PUSH1 0x40 00000511: DUP1 00000512: MLOAD 00000513: SWAP2 00000514: DUP3 00000515: MSTORE 00000516: MLOAD 00000517: SWAP1 00000518: DUP2 00000519: SWAP1 0000051a: SUB 0000051b: PUSH1 0x20 0000051d: ADD 0000051e: SWAP1 0000051f: RETURN 00000520: JUMPDEST 00000521: PUSH1 0x60 00000523: SWAP1 00000524: DUP2 00000525: MSTORE 00000526: PUSH1 0x20 00000528: SWAP1 00000529: RETURN 0000052a: JUMPDEST 0000052b: PUSH1 0x00 0000052d: DUP1 0000052e: SLOAD 0000052f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000544: NOT 00000545: AND 00000546: DUP3 00000547: OR 00000548: SWAP1 00000549: SSTORE 0000054a: JUMPDEST 0000054b: POP 0000054c: JUMP 0000054d: JUMPDEST 0000054e: DUP3 0000054f: ADD 00000550: SWAP2 00000551: SWAP1 00000552: PUSH1 0x00 00000554: MSTORE 00000555: PUSH1 0x20 00000557: PUSH1 0x00 00000559: KECCAK256 0000055a: SWAP1 0000055b: JUMPDEST 0000055c: DUP2 0000055d: SLOAD 0000055e: DUP2 0000055f: MSTORE 00000560: SWAP1 00000561: PUSH1 0x01 00000563: ADD 00000564: SWAP1 00000565: PUSH1 0x20 00000567: ADD 00000568: DUP1 00000569: DUP4 0000056a: GT 0000056b: PUSH2 0x055b 0000056e: JUMPI 0000056f: DUP3 00000570: SWAP1 00000571: SUB 00000572: PUSH1 0x1f 00000574: AND 00000575: DUP3 00000576: ADD 00000577: SWAP2 00000578: JUMPDEST 00000579: POP 0000057a: POP 0000057b: POP 0000057c: POP 0000057d: POP 0000057e: DUP2 0000057f: JUMP 00000580: JUMPDEST 00000581: PUSH1 0x01 00000583: PUSH1 0xa0 00000585: PUSH1 0x02 00000587: EXP 00000588: SUB 00000589: DUP3 0000058a: AND 0000058b: PUSH1 0x00 0000058d: SWAP1 0000058e: DUP2 0000058f: MSTORE 00000590: PUSH1 0x40 00000592: SWAP1 00000593: KECCAK256 00000594: SLOAD 00000595: DUP1 00000596: DUP3 00000597: ADD 00000598: LT 00000599: ISZERO 0000059a: PUSH2 0x05a2 0000059d: JUMPI 0000059e: PUSH2 0x0002 000005a1: JUMP 000005a2: JUMPDEST 000005a3: CALLER 000005a4: PUSH1 0x01 000005a6: PUSH1 0xa0 000005a8: PUSH1 0x02 000005aa: EXP 000005ab: SUB 000005ac: AND 000005ad: PUSH1 0x00 000005af: SWAP1 000005b0: DUP2 000005b1: MSTORE 000005b2: PUSH1 0x08 000005b4: PUSH1 0x20 000005b6: MSTORE 000005b7: PUSH1 0x40 000005b9: SWAP1 000005ba: KECCAK256 000005bb: SLOAD 000005bc: PUSH1 0xff 000005be: AND 000005bf: ISZERO 000005c0: PUSH2 0x05c8 000005c3: JUMPI 000005c4: PUSH2 0x0002 000005c7: JUMP 000005c8: JUMPDEST 000005c9: DUP1 000005ca: PUSH1 0x07 000005cc: PUSH1 0x00 000005ce: POP 000005cf: PUSH1 0x00 000005d1: CALLER 000005d2: PUSH1 0x01 000005d4: PUSH1 0xa0 000005d6: PUSH1 0x02 000005d8: EXP 000005d9: SUB 000005da: AND 000005db: DUP2 000005dc: MSTORE 000005dd: PUSH1 0x20 000005df: ADD 000005e0: SWAP1 000005e1: DUP2 000005e2: MSTORE 000005e3: PUSH1 0x20 000005e5: ADD 000005e6: PUSH1 0x00 000005e8: KECCAK256 000005e9: PUSH1 0x00 000005eb: DUP3 000005ec: DUP3 000005ed: DUP3 000005ee: POP 000005ef: SLOAD 000005f0: SUB 000005f1: SWAP3 000005f2: POP 000005f3: POP 000005f4: DUP2 000005f5: SWAP1 000005f6: SSTORE 000005f7: POP 000005f8: DUP1 000005f9: PUSH1 0x07 000005fb: PUSH1 0x00 000005fd: POP 000005fe: PUSH1 0x00 00000600: DUP5 00000601: PUSH1 0x01 00000603: PUSH1 0xa0 00000605: PUSH1 0x02 00000607: EXP 00000608: SUB 00000609: AND 0000060a: DUP2 0000060b: MSTORE 0000060c: PUSH1 0x20 0000060e: ADD 0000060f: SWAP1 00000610: DUP2 00000611: MSTORE 00000612: PUSH1 0x20 00000614: ADD 00000615: PUSH1 0x00 00000617: KECCAK256 00000618: PUSH1 0x00 0000061a: DUP3 0000061b: DUP3 0000061c: DUP3 0000061d: POP 0000061e: SLOAD 0000061f: ADD 00000620: SWAP3 00000621: POP 00000622: POP 00000623: DUP2 00000624: SWAP1 00000625: SSTORE 00000626: POP 00000627: DUP2 00000628: PUSH1 0x01 0000062a: PUSH1 0xa0 0000062c: PUSH1 0x02 0000062e: EXP 0000062f: SUB 00000630: AND 00000631: CALLER 00000632: PUSH1 0x01 00000634: PUSH1 0xa0 00000636: PUSH1 0x02 00000638: EXP 00000639: SUB 0000063a: AND 0000063b: PUSH1 0x00 0000063d: DUP1 0000063e: MLOAD 0000063f: PUSH1 0x20 00000641: PUSH2 0x0c15 00000644: DUP4 00000645: CODECOPY 00000646: DUP2 00000647: MLOAD 00000648: SWAP2 00000649: MSTORE 0000064a: DUP4 0000064b: PUSH1 0x40 0000064d: MLOAD 0000064e: DUP1 0000064f: DUP3 00000650: DUP2 00000651: MSTORE 00000652: PUSH1 0x20 00000654: ADD 00000655: SWAP2 00000656: POP 00000657: POP 00000658: PUSH1 0x40 0000065a: MLOAD 0000065b: DUP1 0000065c: SWAP2 0000065d: SUB 0000065e: SWAP1 0000065f: LOG3 00000660: POP 00000661: POP 00000662: JUMP 00000663: JUMPDEST 00000664: PUSH1 0x07 00000666: PUSH1 0x20 00000668: MSTORE 00000669: PUSH1 0x40 0000066b: DUP2 0000066c: KECCAK256 0000066d: SLOAD 0000066e: DUP3 0000066f: SWAP1 00000670: LT 00000671: ISZERO 00000672: PUSH2 0x067a 00000675: JUMPI 00000676: PUSH2 0x0002 00000679: JUMP 0000067a: JUMPDEST 0000067b: PUSH1 0x01 0000067d: PUSH1 0xa0 0000067f: PUSH1 0x02 00000681: EXP 00000682: SUB 00000683: DUP4 00000684: AND 00000685: DUP2 00000686: MSTORE 00000687: PUSH1 0x40 00000689: DUP2 0000068a: KECCAK256 0000068b: SLOAD 0000068c: DUP3 0000068d: DUP2 0000068e: ADD 0000068f: LT 00000690: ISZERO 00000691: PUSH2 0x0699 00000694: JUMPI 00000695: PUSH2 0x0002 00000698: JUMP 00000699: JUMPDEST 0000069a: PUSH1 0x01 0000069c: PUSH1 0xa0 0000069e: PUSH1 0x02 000006a0: EXP 000006a1: SUB 000006a2: DUP1 000006a3: DUP6 000006a4: AND 000006a5: DUP3 000006a6: MSTORE 000006a7: PUSH1 0x09 000006a9: PUSH1 0x20 000006ab: SWAP1 000006ac: DUP2 000006ad: MSTORE 000006ae: PUSH1 0x40 000006b0: DUP1 000006b1: DUP5 000006b2: KECCAK256 000006b3: CALLER 000006b4: SWAP1 000006b5: SWAP4 000006b6: AND 000006b7: DUP5 000006b8: MSTORE 000006b9: SWAP2 000006ba: SWAP1 000006bb: MSTORE 000006bc: DUP2 000006bd: KECCAK256 000006be: SLOAD 000006bf: DUP3 000006c0: GT 000006c1: ISZERO 000006c2: PUSH2 0x06ca 000006c5: JUMPI 000006c6: PUSH2 0x0002 000006c9: JUMP 000006ca: JUMPDEST 000006cb: DUP2 000006cc: PUSH1 0x07 000006ce: PUSH1 0x00 000006d0: POP 000006d1: PUSH1 0x00 000006d3: DUP7 000006d4: PUSH1 0x01 000006d6: PUSH1 0xa0 000006d8: PUSH1 0x02 000006da: EXP 000006db: SUB 000006dc: AND 000006dd: DUP2 000006de: MSTORE 000006df: PUSH1 0x20 000006e1: ADD 000006e2: SWAP1 000006e3: DUP2 000006e4: MSTORE 000006e5: PUSH1 0x20 000006e7: ADD 000006e8: PUSH1 0x00 000006ea: KECCAK256 000006eb: PUSH1 0x00 000006ed: DUP3 000006ee: DUP3 000006ef: DUP3 000006f0: POP 000006f1: SLOAD 000006f2: SUB 000006f3: SWAP3 000006f4: POP 000006f5: POP 000006f6: DUP2 000006f7: SWAP1 000006f8: SSTORE 000006f9: POP 000006fa: DUP2 000006fb: PUSH1 0x07 000006fd: PUSH1 0x00 000006ff: POP 00000700: PUSH1 0x00 00000702: DUP6 00000703: PUSH1 0x01 00000705: PUSH1 0xa0 00000707: PUSH1 0x02 00000709: EXP 0000070a: SUB 0000070b: AND 0000070c: DUP2 0000070d: MSTORE 0000070e: PUSH1 0x20 00000710: ADD 00000711: SWAP1 00000712: DUP2 00000713: MSTORE 00000714: PUSH1 0x20 00000716: ADD 00000717: PUSH1 0x00 00000719: KECCAK256 0000071a: PUSH1 0x00 0000071c: DUP3 0000071d: DUP3 0000071e: DUP3 0000071f: POP 00000720: SLOAD 00000721: ADD 00000722: SWAP3 00000723: POP 00000724: POP 00000725: DUP2 00000726: SWAP1 00000727: SSTORE 00000728: POP 00000729: DUP2 0000072a: PUSH1 0x09 0000072c: PUSH1 0x00 0000072e: POP 0000072f: PUSH1 0x00 00000731: DUP7 00000732: PUSH1 0x01 00000734: PUSH1 0xa0 00000736: PUSH1 0x02 00000738: EXP 00000739: SUB 0000073a: AND 0000073b: DUP2 0000073c: MSTORE 0000073d: PUSH1 0x20 0000073f: ADD 00000740: SWAP1 00000741: DUP2 00000742: MSTORE 00000743: PUSH1 0x20 00000745: ADD 00000746: PUSH1 0x00 00000748: KECCAK256 00000749: PUSH1 0x00 0000074b: POP 0000074c: PUSH1 0x00 0000074e: CALLER 0000074f: PUSH1 0x01 00000751: PUSH1 0xa0 00000753: PUSH1 0x02 00000755: EXP 00000756: SUB 00000757: AND 00000758: DUP2 00000759: MSTORE 0000075a: PUSH1 0x20 0000075c: ADD 0000075d: SWAP1 0000075e: DUP2 0000075f: MSTORE 00000760: PUSH1 0x20 00000762: ADD 00000763: PUSH1 0x00 00000765: KECCAK256 00000766: PUSH1 0x00 00000768: DUP3 00000769: DUP3 0000076a: DUP3 0000076b: POP 0000076c: SLOAD 0000076d: SUB 0000076e: SWAP3 0000076f: POP 00000770: POP 00000771: DUP2 00000772: SWAP1 00000773: SSTORE 00000774: POP 00000775: DUP3 00000776: PUSH1 0x01 00000778: PUSH1 0xa0 0000077a: PUSH1 0x02 0000077c: EXP 0000077d: SUB 0000077e: AND 0000077f: DUP5 00000780: PUSH1 0x01 00000782: PUSH1 0xa0 00000784: PUSH1 0x02 00000786: EXP 00000787: SUB 00000788: AND 00000789: PUSH1 0x00 0000078b: DUP1 0000078c: MLOAD 0000078d: PUSH1 0x20 0000078f: PUSH2 0x0c15 00000792: DUP4 00000793: CODECOPY 00000794: DUP2 00000795: MLOAD 00000796: SWAP2 00000797: MSTORE 00000798: DUP5 00000799: PUSH1 0x40 0000079b: MLOAD 0000079c: DUP1 0000079d: DUP3 0000079e: DUP2 0000079f: MSTORE 000007a0: PUSH1 0x20 000007a2: ADD 000007a3: SWAP2 000007a4: POP 000007a5: POP 000007a6: PUSH1 0x40 000007a8: MLOAD 000007a9: DUP1 000007aa: SWAP2 000007ab: SUB 000007ac: SWAP1 000007ad: LOG3 000007ae: POP 000007af: PUSH1 0x01 000007b1: SWAP4 000007b2: SWAP3 000007b3: POP 000007b4: POP 000007b5: POP 000007b6: JUMP 000007b7: JUMPDEST 000007b8: PUSH1 0x01 000007ba: PUSH1 0xa0 000007bc: PUSH1 0x02 000007be: EXP 000007bf: SUB 000007c0: DUP3 000007c1: AND 000007c2: PUSH1 0x00 000007c4: SWAP1 000007c5: DUP2 000007c6: MSTORE 000007c7: PUSH1 0x07 000007c9: PUSH1 0x20 000007cb: MSTORE 000007cc: PUSH1 0x40 000007ce: SWAP1 000007cf: KECCAK256 000007d0: SLOAD 000007d1: DUP1 000007d2: DUP3 000007d3: ADD 000007d4: LT 000007d5: ISZERO 000007d6: PUSH2 0x07de 000007d9: JUMPI 000007da: PUSH2 0x0002 000007dd: JUMP 000007de: JUMPDEST 000007df: PUSH1 0x05 000007e1: SLOAD 000007e2: DUP1 000007e3: DUP3 000007e4: ADD 000007e5: LT 000007e6: ISZERO 000007e7: PUSH2 0x07ef 000007ea: JUMPI 000007eb: PUSH2 0x0002 000007ee: JUMP 000007ef: JUMPDEST 000007f0: PUSH1 0x40 000007f2: PUSH1 0x00 000007f4: SWAP1 000007f5: DUP2 000007f6: KECCAK256 000007f7: DUP1 000007f8: SLOAD 000007f9: DUP4 000007fa: ADD 000007fb: SWAP1 000007fc: SSTORE 000007fd: PUSH1 0x05 000007ff: DUP1 00000800: SLOAD 00000801: DUP4 00000802: ADD 00000803: SWAP1 00000804: SSTORE 00000805: DUP1 00000806: SLOAD 00000807: PUSH1 0x60 00000809: DUP4 0000080a: DUP2 0000080b: MSTORE 0000080c: PUSH1 0x01 0000080e: PUSH1 0xa0 00000810: PUSH1 0x02 00000812: EXP 00000813: SUB 00000814: SWAP2 00000815: SWAP1 00000816: SWAP2 00000817: AND 00000818: SWAP2 00000819: SWAP1 0000081a: PUSH1 0x00 0000081c: DUP1 0000081d: MLOAD 0000081e: PUSH1 0x20 00000820: PUSH2 0x0c15 00000823: DUP4 00000824: CODECOPY 00000825: DUP2 00000826: MLOAD 00000827: SWAP2 00000828: MSTORE 00000829: SWAP1 0000082a: PUSH1 0x20 0000082c: SWAP1 0000082d: LOG3 0000082e: DUP2 0000082f: PUSH1 0x01 00000831: PUSH1 0xa0 00000833: PUSH1 0x02 00000835: EXP 00000836: SUB 00000837: AND 00000838: PUSH1 0x00 0000083a: PUSH1 0x00 0000083c: SWAP1 0000083d: SLOAD 0000083e: SWAP1 0000083f: PUSH2 0x0100 00000842: EXP 00000843: SWAP1 00000844: DIV 00000845: PUSH1 0x01 00000847: PUSH1 0xa0 00000849: PUSH1 0x02 0000084b: EXP 0000084c: SUB 0000084d: AND 0000084e: PUSH1 0x01 00000850: PUSH1 0xa0 00000852: PUSH1 0x02 00000854: EXP 00000855: SUB 00000856: AND 00000857: PUSH1 0x00 00000859: DUP1 0000085a: MLOAD 0000085b: PUSH1 0x20 0000085d: PUSH2 0x0c15 00000860: DUP4 00000861: CODECOPY 00000862: DUP2 00000863: MLOAD 00000864: SWAP2 00000865: MSTORE 00000866: DUP4 00000867: PUSH1 0x40 00000869: MLOAD 0000086a: DUP1 0000086b: DUP3 0000086c: DUP2 0000086d: MSTORE 0000086e: PUSH1 0x20 00000870: ADD 00000871: SWAP2 00000872: POP 00000873: POP 00000874: PUSH1 0x40 00000876: MLOAD 00000877: DUP1 00000878: SWAP2 00000879: SUB 0000087a: SWAP1 0000087b: LOG3 0000087c: POP 0000087d: POP 0000087e: JUMP 0000087f: JUMPDEST 00000880: PUSH1 0x01 00000882: PUSH1 0xa0 00000884: PUSH1 0x02 00000886: EXP 00000887: SUB 00000888: DUP3 00000889: AND 0000088a: PUSH1 0x00 0000088c: DUP2 0000088d: DUP2 0000088e: MSTORE 0000088f: PUSH1 0x08 00000891: PUSH1 0x20 00000893: MSTORE 00000894: PUSH1 0x40 00000896: SWAP1 00000897: DUP2 00000898: SWAP1 00000899: KECCAK256 0000089a: DUP1 0000089b: SLOAD 0000089c: PUSH1 0xff 0000089e: NOT 0000089f: AND 000008a0: DUP5 000008a1: OR 000008a2: SWAP1 000008a3: SSTORE 000008a4: PUSH1 0x60 000008a6: SWAP2 000008a7: DUP3 000008a8: MSTORE 000008a9: PUSH1 0x80 000008ab: DUP4 000008ac: SWAP1 000008ad: MSTORE 000008ae: PUSH32 0x48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a5 000008cf: SWAP2 000008d0: LOG1 000008d1: POP 000008d2: POP 000008d3: JUMP 000008d4: JUMPDEST 000008d5: PUSH1 0x06 000008d7: SSTORE 000008d8: JUMP 000008d9: JUMPDEST 000008da: POP 000008db: POP 000008dc: PUSH1 0x06 000008de: SLOAD 000008df: ADDRESS 000008e0: PUSH1 0x01 000008e2: PUSH1 0xa0 000008e4: PUSH1 0x02 000008e6: EXP 000008e7: SUB 000008e8: AND 000008e9: DUP3 000008ea: MSTORE 000008eb: PUSH1 0x07 000008ed: PUSH1 0x20 000008ef: MSTORE 000008f0: PUSH1 0x40 000008f2: SWAP1 000008f3: SWAP2 000008f4: KECCAK256 000008f5: SLOAD 000008f6: CALLVALUE 000008f7: DUP3 000008f8: DUP2 000008f9: DIV 000008fa: SWAP3 000008fb: DUP4 000008fc: MUL 000008fd: SWAP2 000008fe: SWAP1 000008ff: DUP3 00000900: SWAP1 00000901: SUB 00000902: SWAP1 00000903: DUP4 00000904: SWAP1 00000905: LT 00000906: ISZERO 00000907: PUSH2 0x090f 0000090a: JUMPI 0000090b: PUSH2 0x0002 0000090e: JUMP 0000090f: JUMPDEST 00000910: CALLER 00000911: PUSH1 0x01 00000913: PUSH1 0xa0 00000915: PUSH1 0x02 00000917: EXP 00000918: SUB 00000919: AND 0000091a: PUSH1 0x00 0000091c: SWAP1 0000091d: DUP2 0000091e: MSTORE 0000091f: PUSH1 0x40 00000921: SWAP1 00000922: KECCAK256 00000923: SLOAD 00000924: DUP4 00000925: DUP2 00000926: ADD 00000927: LT 00000928: ISZERO 00000929: PUSH2 0x0931 0000092c: JUMPI 0000092d: PUSH2 0x0002 00000930: JUMP 00000931: JUMPDEST 00000932: DUP3 00000933: PUSH1 0x07 00000935: PUSH1 0x00 00000937: POP 00000938: PUSH1 0x00 0000093a: CALLER 0000093b: PUSH1 0x01 0000093d: PUSH1 0xa0 0000093f: PUSH1 0x02 00000941: EXP 00000942: SUB 00000943: AND 00000944: DUP2 00000945: MSTORE 00000946: PUSH1 0x20 00000948: ADD 00000949: SWAP1 0000094a: DUP2 0000094b: MSTORE 0000094c: PUSH1 0x20 0000094e: ADD 0000094f: PUSH1 0x00 00000951: KECCAK256 00000952: PUSH1 0x00 00000954: DUP3 00000955: DUP3 00000956: DUP3 00000957: POP 00000958: SLOAD 00000959: ADD 0000095a: SWAP3 0000095b: POP 0000095c: POP 0000095d: DUP2 0000095e: SWAP1 0000095f: SSTORE 00000960: POP 00000961: DUP3 00000962: PUSH1 0x07 00000964: PUSH1 0x00 00000966: POP 00000967: PUSH1 0x00 00000969: ADDRESS 0000096a: PUSH1 0x01 0000096c: PUSH1 0xa0 0000096e: PUSH1 0x02 00000970: EXP 00000971: SUB 00000972: AND 00000973: DUP2 00000974: MSTORE 00000975: PUSH1 0x20 00000977: ADD 00000978: SWAP1 00000979: DUP2 0000097a: MSTORE 0000097b: PUSH1 0x20 0000097d: ADD 0000097e: PUSH1 0x00 00000980: KECCAK256 00000981: PUSH1 0x00 00000983: DUP3 00000984: DUP3 00000985: DUP3 00000986: POP 00000987: SLOAD 00000988: SUB 00000989: SWAP3 0000098a: POP 0000098b: POP 0000098c: DUP2 0000098d: SWAP1 0000098e: SSTORE 0000098f: POP 00000990: PUSH1 0x00 00000992: DUP2 00000993: GT 00000994: DUP1 00000995: ISZERO 00000996: PUSH2 0x099e 00000999: JUMPI 0000099a: POP 0000099b: CALLVALUE 0000099c: DUP2 0000099d: LT 0000099e: JUMPDEST 0000099f: ISZERO 000009a0: PUSH2 0x09c0 000009a3: JUMPI 000009a4: CALLER 000009a5: PUSH1 0x01 000009a7: PUSH1 0xa0 000009a9: PUSH1 0x02 000009ab: EXP 000009ac: SUB 000009ad: AND 000009ae: PUSH1 0x00 000009b0: DUP3 000009b1: PUSH1 0x60 000009b3: DUP3 000009b4: DUP2 000009b5: DUP2 000009b6: DUP2 000009b7: DUP6 000009b8: DUP9 000009b9: DUP4 000009ba: CALL 000009bb: POP 000009bc: POP 000009bd: POP 000009be: POP 000009bf: POP 000009c0: JUMPDEST 000009c1: CALLER 000009c2: PUSH1 0x01 000009c4: PUSH1 0xa0 000009c6: PUSH1 0x02 000009c8: EXP 000009c9: SUB 000009ca: AND 000009cb: ADDRESS 000009cc: PUSH1 0x01 000009ce: PUSH1 0xa0 000009d0: PUSH1 0x02 000009d2: EXP 000009d3: SUB 000009d4: AND 000009d5: PUSH1 0x00 000009d7: DUP1 000009d8: MLOAD 000009d9: PUSH1 0x20 000009db: PUSH2 0x0c15 000009de: DUP4 000009df: CODECOPY 000009e0: DUP2 000009e1: MLOAD 000009e2: SWAP2 000009e3: MSTORE 000009e4: DUP6 000009e5: PUSH1 0x40 000009e7: MLOAD 000009e8: DUP1 000009e9: DUP3 000009ea: DUP2 000009eb: MSTORE 000009ec: PUSH1 0x20 000009ee: ADD 000009ef: SWAP2 000009f0: POP 000009f1: POP 000009f2: PUSH1 0x40 000009f4: MLOAD 000009f5: DUP1 000009f6: SWAP2 000009f7: SUB 000009f8: SWAP1 000009f9: LOG3 000009fa: POP 000009fb: POP 000009fc: POP 000009fd: JUMP 000009fe: JUMPDEST 000009ff: ADDRESS 00000a00: PUSH1 0x01 00000a02: PUSH1 0xa0 00000a04: PUSH1 0x02 00000a06: EXP 00000a07: SUB 00000a08: AND 00000a09: BALANCE 00000a0a: DUP2 00000a0b: SWAP1 00000a0c: LT 00000a0d: PUSH2 0x0a34 00000a10: JUMPI 00000a11: PUSH1 0x00 00000a13: DUP1 00000a14: SLOAD 00000a15: PUSH1 0x01 00000a17: PUSH1 0xa0 00000a19: PUSH1 0x02 00000a1b: EXP 00000a1c: SUB 00000a1d: AND 00000a1e: SWAP1 00000a1f: DUP3 00000a20: PUSH1 0x60 00000a22: DUP3 00000a23: DUP2 00000a24: DUP2 00000a25: DUP2 00000a26: DUP6 00000a27: DUP9 00000a28: DUP4 00000a29: CALL 00000a2a: SWAP4 00000a2b: POP 00000a2c: POP 00000a2d: POP 00000a2e: POP 00000a2f: POP 00000a30: PUSH2 0x054a 00000a33: JUMP 00000a34: JUMPDEST 00000a35: PUSH1 0x00 00000a37: DUP1 00000a38: SLOAD 00000a39: PUSH1 0x01 00000a3b: PUSH1 0xa0 00000a3d: PUSH1 0x02 00000a3f: EXP 00000a40: SUB 00000a41: SWAP1 00000a42: DUP2 00000a43: AND 00000a44: SWAP2 00000a45: SWAP1 00000a46: ADDRESS 00000a47: AND 00000a48: BALANCE 00000a49: PUSH1 0x60 00000a4b: DUP3 00000a4c: DUP2 00000a4d: DUP2 00000a4e: DUP2 00000a4f: DUP6 00000a50: DUP9 00000a51: DUP4 00000a52: CALL 00000a53: POP 00000a54: POP 00000a55: POP 00000a56: POP 00000a57: POP 00000a58: POP 00000a59: JUMP 00000a5a: JUMPDEST 00000a5b: PUSH1 0x00 00000a5d: SLOAD 00000a5e: PUSH1 0x01 00000a60: PUSH1 0xa0 00000a62: PUSH1 0x02 00000a64: EXP 00000a65: SUB 00000a66: AND 00000a67: SELFDESTRUCT 00000a68: JUMPDEST 00000a69: PUSH1 0x09 00000a6b: PUSH1 0x00 00000a6d: POP 00000a6e: PUSH1 0x00 00000a70: CALLER 00000a71: PUSH1 0x01 00000a73: PUSH1 0xa0 00000a75: PUSH1 0x02 00000a77: EXP 00000a78: SUB 00000a79: AND 00000a7a: DUP2 00000a7b: MSTORE 00000a7c: PUSH1 0x20 00000a7e: ADD 00000a7f: SWAP1 00000a80: DUP2 00000a81: MSTORE 00000a82: PUSH1 0x20 00000a84: ADD 00000a85: PUSH1 0x00 00000a87: KECCAK256 00000a88: PUSH1 0x00 00000a8a: POP 00000a8b: PUSH1 0x00 00000a8d: DUP7 00000a8e: PUSH1 0x01 00000a90: PUSH1 0xa0 00000a92: PUSH1 0x02 00000a94: EXP 00000a95: SUB 00000a96: AND 00000a97: DUP2 00000a98: MSTORE 00000a99: PUSH1 0x20 00000a9b: ADD 00000a9c: SWAP1 00000a9d: DUP2 00000a9e: MSTORE 00000a9f: PUSH1 0x20 00000aa1: ADD 00000aa2: PUSH1 0x00 00000aa4: KECCAK256 00000aa5: PUSH1 0x00 00000aa7: POP 00000aa8: SLOAD 00000aa9: DUP5 00000aaa: PUSH1 0x09 00000aac: PUSH1 0x00 00000aae: POP 00000aaf: PUSH1 0x00 00000ab1: CALLER 00000ab2: PUSH1 0x01 00000ab4: PUSH1 0xa0 00000ab6: PUSH1 0x02 00000ab8: EXP 00000ab9: SUB 00000aba: AND 00000abb: DUP2 00000abc: MSTORE 00000abd: PUSH1 0x20 00000abf: ADD 00000ac0: SWAP1 00000ac1: DUP2 00000ac2: MSTORE 00000ac3: PUSH1 0x20 00000ac5: ADD 00000ac6: PUSH1 0x00 00000ac8: KECCAK256 00000ac9: PUSH1 0x00 00000acb: POP 00000acc: PUSH1 0x00 00000ace: DUP9 00000acf: PUSH1 0x01 00000ad1: PUSH1 0xa0 00000ad3: PUSH1 0x02 00000ad5: EXP 00000ad6: SUB 00000ad7: AND 00000ad8: DUP2 00000ad9: MSTORE 00000ada: PUSH1 0x20 00000adc: ADD 00000add: SWAP1 00000ade: DUP2 00000adf: MSTORE 00000ae0: PUSH1 0x20 00000ae2: ADD 00000ae3: PUSH1 0x00 00000ae5: KECCAK256 00000ae6: PUSH1 0x00 00000ae8: POP 00000ae9: SLOAD 00000aea: ADD 00000aeb: LT 00000aec: ISZERO 00000aed: PUSH2 0x0af5 00000af0: JUMPI 00000af1: PUSH2 0x0002 00000af4: JUMP 00000af5: JUMPDEST 00000af6: DUP4 00000af7: PUSH1 0x09 00000af9: PUSH1 0x00 00000afb: POP 00000afc: PUSH1 0x00 00000afe: CALLER 00000aff: PUSH1 0x01 00000b01: PUSH1 0xa0 00000b03: PUSH1 0x02 00000b05: EXP 00000b06: SUB 00000b07: AND 00000b08: DUP2 00000b09: MSTORE 00000b0a: PUSH1 0x20 00000b0c: ADD 00000b0d: SWAP1 00000b0e: DUP2 00000b0f: MSTORE 00000b10: PUSH1 0x20 00000b12: ADD 00000b13: PUSH1 0x00 00000b15: KECCAK256 00000b16: PUSH1 0x00 00000b18: POP 00000b19: PUSH1 0x00 00000b1b: DUP8 00000b1c: PUSH1 0x01 00000b1e: PUSH1 0xa0 00000b20: PUSH1 0x02 00000b22: EXP 00000b23: SUB 00000b24: AND 00000b25: DUP2 00000b26: MSTORE 00000b27: PUSH1 0x20 00000b29: ADD 00000b2a: SWAP1 00000b2b: DUP2 00000b2c: MSTORE 00000b2d: PUSH1 0x20 00000b2f: ADD 00000b30: PUSH1 0x00 00000b32: KECCAK256 00000b33: PUSH1 0x00 00000b35: DUP3 00000b36: DUP3 00000b37: DUP3 00000b38: POP 00000b39: SLOAD 00000b3a: ADD 00000b3b: SWAP3 00000b3c: POP 00000b3d: POP 00000b3e: DUP2 00000b3f: SWAP1 00000b40: SSTORE 00000b41: POP 00000b42: JUMPDEST 00000b43: DUP5 00000b44: SWAP1 00000b45: POP 00000b46: DUP1 00000b47: PUSH1 0x01 00000b49: PUSH1 0xa0 00000b4b: PUSH1 0x02 00000b4d: EXP 00000b4e: SUB 00000b4f: AND 00000b50: PUSH4 0x8f4ffcb1 00000b55: CALLER 00000b56: DUP7 00000b57: ADDRESS 00000b58: DUP8 00000b59: PUSH1 0x40 00000b5b: MLOAD 00000b5c: DUP6 00000b5d: PUSH1 0xe0 00000b5f: PUSH1 0x02 00000b61: EXP 00000b62: MUL 00000b63: DUP2 00000b64: MSTORE 00000b65: PUSH1 0x04 00000b67: ADD 00000b68: DUP1 00000b69: DUP6 00000b6a: PUSH1 0x01 00000b6c: PUSH1 0xa0 00000b6e: PUSH1 0x02 00000b70: EXP 00000b71: SUB 00000b72: AND 00000b73: DUP2 00000b74: MSTORE 00000b75: PUSH1 0x20 00000b77: ADD 00000b78: DUP5 00000b79: DUP2 00000b7a: MSTORE 00000b7b: PUSH1 0x20 00000b7d: ADD 00000b7e: DUP4 00000b7f: PUSH1 0x01 00000b81: PUSH1 0xa0 00000b83: PUSH1 0x02 00000b85: EXP 00000b86: SUB 00000b87: AND 00000b88: DUP2 00000b89: MSTORE 00000b8a: PUSH1 0x20 00000b8c: ADD 00000b8d: DUP1 00000b8e: PUSH1 0x20 00000b90: ADD 00000b91: DUP3 00000b92: DUP2 00000b93: SUB 00000b94: DUP3 00000b95: MSTORE 00000b96: DUP4 00000b97: DUP2 00000b98: DUP2 00000b99: MLOAD 00000b9a: DUP2 00000b9b: MSTORE 00000b9c: PUSH1 0x20 00000b9e: ADD 00000b9f: SWAP2 00000ba0: POP 00000ba1: DUP1 00000ba2: MLOAD 00000ba3: SWAP1 00000ba4: PUSH1 0x20 00000ba6: ADD 00000ba7: SWAP1 00000ba8: DUP1 00000ba9: DUP4 00000baa: DUP4 00000bab: DUP3 00000bac: SWAP1 00000bad: PUSH1 0x00 00000baf: PUSH1 0x04 00000bb1: PUSH1 0x20 00000bb3: DUP5 00000bb4: PUSH1 0x1f 00000bb6: ADD 00000bb7: DIV 00000bb8: PUSH1 0x0f 00000bba: MUL 00000bbb: PUSH1 0x03 00000bbd: ADD 00000bbe: CALL 00000bbf: POP 00000bc0: SWAP1 00000bc1: POP 00000bc2: SWAP1 00000bc3: DUP2 00000bc4: ADD 00000bc5: SWAP1 00000bc6: PUSH1 0x1f 00000bc8: AND 00000bc9: DUP1 00000bca: ISZERO 00000bcb: PUSH2 0x0be8 00000bce: JUMPI 00000bcf: DUP1 00000bd0: DUP3 00000bd1: SUB 00000bd2: DUP1 00000bd3: MLOAD 00000bd4: PUSH1 0x01 00000bd6: DUP4 00000bd7: PUSH1 0x20 00000bd9: SUB 00000bda: PUSH2 0x0100 00000bdd: EXP 00000bde: SUB 00000bdf: NOT 00000be0: AND 00000be1: DUP2 00000be2: MSTORE 00000be3: PUSH1 0x20 00000be5: ADD 00000be6: SWAP2 00000be7: POP 00000be8: JUMPDEST 00000be9: POP 00000bea: SWAP6 00000beb: POP 00000bec: POP 00000bed: POP 00000bee: POP 00000bef: POP 00000bf0: POP 00000bf1: PUSH1 0x00 00000bf3: PUSH1 0x40 00000bf5: MLOAD 00000bf6: DUP1 00000bf7: DUP4 00000bf8: SUB 00000bf9: DUP2 00000bfa: PUSH1 0x00 00000bfc: DUP8 00000bfd: PUSH2 0x61da 00000c00: GAS 00000c01: SUB 00000c02: CALL 00000c03: ISZERO 00000c04: PUSH2 0x0002 00000c07: JUMPI 00000c08: POP 00000c09: PUSH1 0x01 00000c0b: SWAP8 00000c0c: SWAP7 00000c0d: POP 00000c0e: POP 00000c0f: POP 00000c10: POP 00000c11: POP 00000c12: POP 00000c13: POP 00000c14: JUMP 00000c15: UNKNOWN(0xDD) 00000c16: CALLCODE 00000c17: MSTORE 00000c18: UNKNOWN(0xAD) 00000c19: SHL 00000c1a: UNKNOWN(0xE2) 00000c1b: UNKNOWN(0xC8) 00000c1c: SWAP12 00000c1d: PUSH10 0xc2b068fc378daa952ba7 00000c28: CALL 00000c29: PUSH4 0xc4a11628 00000c2e: CREATE2 00000c2f: GAS 00000c30: UNKNOWN(0x4D) 00000c31: CREATE2 00000c32: UNKNOWN(0x23) 00000c33: UNKNOWN(0xB3) 00000c34: UNKNOWN(0xEF)
Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment.
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | yes | yes |
viewtrace_id: 0x762391ca1267fa17043df139173376371e7e6003fe992eaa39c813fc4dfc6c53
call_targets:
0x0000000000000000000000000000000000000004, 0x9535932d6d5262e5beff6a75b19f092be3b5fba8
target_varies:
yes
classification:
target_varies
validation_json{
"sink": "CALL",
"errors": 0,
"status": "confirmed",
"attempts": 1,
"trace_id": "0x762391ca1267fa17043df139173376371e7e6003fe992eaa39c813fc4dfc6c53",
"confirmed": true,
"trace_mode": "callTracer",
"call_targets": [
"0x0000000000000000000000000000000000000004",
"0x9535932d6d5262e5beff6a75b19f092be3b5fba8"
],
"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": "0x23b872dd",
"selector": "0x23b872dd",
"calldata_variants": [
"0x23b872dd",
"0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x313ce567",
"selector": "0x313ce567",
"calldata_variants": [
"0x313ce567",
"0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x5a3b7e42",
"selector": "0x5a3b7e42",
"calldata_variants": [
"0x5a3b7e42",
"0x5a3b7e420000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x70a08231",
"selector": "0x70a08231",
"calldata_variants": [
"0x70a08231",
"0x70a082310000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x79c65068",
"selector": "0x79c65068",
"calldata_variants": [
"0x79c65068",
"0x79c650680000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1238,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2490,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2601,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 8,
"guards_detected": [],
"untrusted_call_count": 8
}
|
| high | other | detector | ETH value transfer possible | 55 | yes | yes |
viewtrace_id: 0x762391ca1267fa17043df139173376371e7e6003fe992eaa39c813fc4dfc6c53
call_targets:
0x0000000000000000000000000000000000000004, 0x9535932d6d5262e5beff6a75b19f092be3b5fba8
target_varies:
yes
classification:
target_varies
validation_json{
"sink": "CALL",
"errors": 0,
"status": "confirmed",
"attempts": 1,
"trace_id": "0x762391ca1267fa17043df139173376371e7e6003fe992eaa39c813fc4dfc6c53",
"confirmed": true,
"trace_mode": "callTracer",
"call_targets": [
"0x0000000000000000000000000000000000000004",
"0x9535932d6d5262e5beff6a75b19f092be3b5fba8"
],
"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": "0x23b872dd",
"selector": "0x23b872dd",
"calldata_variants": [
"0x23b872dd",
"0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x313ce567",
"selector": "0x313ce567",
"calldata_variants": [
"0x313ce567",
"0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x5a3b7e42",
"selector": "0x5a3b7e42",
"calldata_variants": [
"0x5a3b7e42",
"0x5a3b7e420000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x70a08231",
"selector": "0x70a08231",
"calldata_variants": [
"0x70a08231",
"0x70a082310000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x79c65068",
"selector": "0x79c65068",
"calldata_variants": [
"0x79c65068",
"0x79c650680000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1238,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2490,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2601,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 8,
"guards_detected": []
}
|
| high | other | detector | SELFDESTRUCT reachable | 65 | no | no |
viewtrace_id: 0x43ab5d24aa4121d423081e38c66be0e0c13a40ed788b6dcdafeece635bf25ba7
validation_json{
"sink": "SELFDESTRUCT",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0x43ab5d24aa4121d423081e38c66be0e0c13a40ed788b6dcdafeece635bf25ba7",
"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": "0x23b872dd",
"selector": "0x23b872dd",
"calldata_variants": [
"0x23b872dd",
"0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x313ce567",
"selector": "0x313ce567",
"calldata_variants": [
"0x313ce567",
"0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x5a3b7e42",
"selector": "0x5a3b7e42",
"calldata_variants": [
"0x5a3b7e42",
"0x5a3b7e420000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x70a08231",
"selector": "0x70a08231",
"calldata_variants": [
"0x70a08231",
"0x70a082310000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x79c65068",
"selector": "0x79c65068",
"calldata_variants": [
"0x79c65068",
"0x79c650680000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [],
"selfdestruct_count": 1
}
|
| high | access_control | codex | Privileged mint path can arbitrarily increase balances and total supply | 85 | no | — |
viewevidence_json{
"evidence": "Selector 0x79c65068 is owner-gated at pc 0x0238-0x0249. Its body updates a balance mapping derived from slot 0x07 at pc 0x07f7-0x07fc and then increments fixed slot 0x05 at pc 0x07fd-0x0804, which is consistent with arbitrary minting plus totalSupply growth.",
"locations": [
"selector:0x79c65068",
"pc:0x0238",
"pc:0x07f8",
"pc:0x0800"
],
"recommendation": "If unlimited minting is not an intended trust assumption, remove this path, add a hard cap enforced on-chain, or gate issuance behind stronger controls such as a timelock/multisig and explicit cap checks.",
"exploit_scenario": "A compromised or malicious owner can call the owner-gated function behind selector 0x79c65068 to credit any address and increase the global supply, diluting all existing holders. From bytecode alone this looks like an unrestricted admin mint rather than a capped issuance path."
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0x43ab5d24aa4121d423081e38c66be0e0c13a40ed788b6dcdafeece635bf25ba7
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0x43ab5d24aa4121d423081e38c66be0e0c13a40ed788b6dcdafeece635bf25ba7",
"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": "0x23b872dd",
"selector": "0x23b872dd",
"calldata_variants": [
"0x23b872dd",
"0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x313ce567",
"selector": "0x313ce567",
"calldata_variants": [
"0x313ce567",
"0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x5a3b7e42",
"selector": "0x5a3b7e42",
"calldata_variants": [
"0x5a3b7e42",
"0x5a3b7e420000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x70a08231",
"selector": "0x70a08231",
"calldata_variants": [
"0x70a08231",
"0x70a082310000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x79c65068",
"selector": "0x79c65068",
"calldata_variants": [
"0x79c65068",
"0x79c650680000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 0,
"create2_count": 2
}
|
| medium | access_control | codex | Owner can freeze arbitrary accounts, enabling transfer censorship | 75 | no | — |
viewevidence_json{
"evidence": "Selector 0xe724529c is owner-gated at pc 0x0463-0x0475 and writes a boolean-like flag into a mapping rooted at slot 0x08 at pc 0x0899-0x08a3. The transfer path checks caller slot 0x08 before proceeding at pc 0x05a3-0x05c8.",
"locations": [
"selector:0xe724529c",
"pc:0x0899",
"pc:0x08a3",
"pc:0x05ba"
],
"recommendation": "If censorship is not an intended trust assumption, remove the freeze feature. If it is intentional, disclose it clearly and protect it with stronger governance controls and monitoring.",
"exploit_scenario": "A compromised or malicious owner can toggle a per-account freeze flag and block affected holders from using the regular transfer path. This creates a centralized censorship lever over token mobility. Bytecode shows transfer() checks the freeze slot; transferFrom() enforcement is not obvious from the recovered regions, so the exact blast radius is somewhat uncertain."
}
|
| medium | other | codex | Owner-reachable SELFDESTRUCT path can sweep ETH and may brick the contract on some chains | 75 | no | — |
viewevidence_json{
"evidence": "Selector 0x83197ef0 is owner-gated at pc 0x0258-0x0268 and jumps to pc 0x0a5a, where the contract loads slot 0x00, masks it to an address, and executes SELFDESTRUCT at pc 0x0a67.",
"locations": [
"selector:0x83197ef0",
"pc:0x0258",
"pc:0x0a5a",
"pc:0x0a67"
],
"recommendation": "Remove the SELFDESTRUCT path unless it is absolutely required. If emergency shutdown is needed, prefer a pause/timelock design that cannot delete logic or unexpectedly sweep funds.",
"exploit_scenario": "A compromised or malicious owner can invoke selector 0x83197ef0 and execute SELFDESTRUCT sending funds to the owner address. On chains with pre-EIP-6780 semantics this can remove contract code entirely; on modern chains it is typically reduced to an ETH sweep unless called in the same creation transaction. Because the chain is unknown from bytecode alone, the full impact is chain-dependent."
}
|