019d5666-71b0-70e9-ab1a-1f24cbe5b1c0
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 |
|---|---|---|---|---|
| 42750 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 42751 | proxy.resolve | complete | 1 / 3 | 1 week ago |
| 42752 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 42753 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 42754 | capability.graph | complete | 1 / 3 | 1 week ago |
| 42755 | detector.run | complete | 1 / 3 | 1 week ago |
| 42756 | validation.fork | complete | 1 / 3 | 1 week ago |
| 42922 | report.consolidate | complete | 1 / 6 | 1 week ago |
{
"status": "not_proxy"
}
No slither job recorded yet.
{"no_findings":false,"summary":"Bytecode indicates a non-proxy vault with owner-controlled delegated strategy execution and an owner-only asset sweep path. The strongest issues are a privileged full-balance drain function and an owner-controlled DELEGATECALL upgrade surface whose registry gate is itself owner-mutable.","findings":[{"severity":"high","category":"access_control","title":"Owner can sweep arbitrary ETH/ERC20 balances to itself","exploit_scenario":"If the owner key is compromised, or if users assume the vault is non-custodial, the owner can call the sweep-like entrypoint with a token address (or zero address for ETH) and amount 0/full to move the vault's entire balance to the owner address. That drains any assets currently custodied by this contract.","recommendation":"If this contract is meant to hold user funds, remove the unrestricted admin sweep or restrict it to clearly non-core rescue assets only. At minimum, gate it behind timelock/governance and explicitly exclude primary vault assets.","evidence":"Selector inference is best-effort, but selector 0x95ccea67 decodes as (address,uint256), performs an owner check, then for token==0 uses SELFBALANCE and CALL to the slot0 owner; for token!=0 it reads ERC20 balanceOf(address(this)) and executes an ERC20 transfer(a9059cbb) to the slot0 owner through the low-level helper. The two external send sites are the CALL at pc 0xa35 and the ERC20 low-level CALL at pc 0x1035. No additional asset-specific restriction is visible in the bytecode.","locations":["selector:0x95ccea67","selector:0x8da5cb5b","pc:0xa35","pc:0x1035"]},{"severity":"high","category":"upgradeability","title":"Strategy execution uses owner-controlled DELEGATECALL with full vault-storage authority","exploit_scenario":"A compromised owner, or a malicious strategy/registry approved by the owner, can make the vault DELEGATECALL attacker-controlled code. Because DELEGATECALL runs in the vault's storage context, that code can overwrite ownership/admin slots, change strategy pointers, and move funds held by the vault. Any external caller can then trigger the fallback path to execute the delegated logic.","recommendation":"Treat the strategy path as an upgrade mechanism. Use immutable implementations or timelocked governance, make the registry immutable if it is intended as a safety gate, and prefer CALL over DELEGATECALL unless shared storage is strictly necessary. If DELEGATECALL must remain, reserve and validate storage layout and restrict forwarded selectors.","evidence":"Unknown selectors fall through to the handler at pc 0x55e, which copies calldata and performs DELEGATECALL to the address stored in slot5. Before that, the fallback path performs a STATICCALL gate using selector 0x2306be91, but the registry/config address packed into slot4 is itself owner-writable. Owner-only mutators include selector 0x33a100ca (sets the delegate strategy after the gate) and selector 0x3e30838d / selector 0x485cc955 (update the packed slot4 config and strategy path). Artifact metadata says this is not an EIP-1967 proxy, so this delegate strategy path is the effective upgrade surface.","locations":["pc:0x56c","pc:0x187","selector:0x33a100ca","selector:0x3e30838d","selector:0x485cc955","selector:0xa8c62e76","selector:0x365a86fc"]}]}
(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-_mwrbysw
succeeded in 0ms:
/tmp/codex-_mwrbysw
exec
/bin/bash -lc 'rg --files' in /tmp/codex-_mwrbysw
succeeded in 0ms:
codex-output-schema.json
BYTECODE_BUNDLE.json
exec
/bin/bash -lc "sed -n '1,240p' BYTECODE_BUNDLE.json" in /tmp/codex-_mwrbysw
succeeded in 0ms:
{
"analysis_artifact": {
"address": "0x0376a35639dac611c49327426db9b342cdb553b8",
"artifact_hash": "0x075b4506c27bd912e914087604b12f3a3eaa1f99b8a7fec391b46270caf4206d",
"artifact_json": {
"auth": {
"guards": []
},
"basic_blocks": [
{
"end_pc": 12,
"hash": "0x845f1302ecce499f67043e444be2f8d242314d5d0aeec9c3bb273a4725e2ac89",
"opcodes": [
"PUSH1",
"PUSH1",
"MSTORE",
"PUSH1",
"CALLDATASIZE",
"LT",
"PUSH2",
"JUMPI"
],
"start_pc": 0
},
{
"end_pc": 29,
"hash": "0x584dd01bf4fec4c22f2d756c235ee3e774499feee7cf6e73e66ec70565517946",
"opcodes": [
"PUSH1",
"CALLDATALOAD",
"PUSH1",
"SHR",
"OP_80",
"PUSH4",
"GT",
"PUSH2",
"JUMPI"
],
"start_pc": 13
},
{
"end_pc": 40,
"hash": "0xffd684938cf4f5f71384b4fbae4698b5149afca2c375d0aabdd6892f75a76a72",
"opcodes": [
"OP_80",
"PUSH4",
"GT",
"PUSH2",
"JUMPI"
],
"start_pc": 30
},
{
"end_pc": 51,
"hash": "0x7a4decd2ec9db9fa9640510c4615e838932079a1ca136e6ce93b21eba242ee35",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 41
},
{
"end_pc": 62,
"hash": "0xba22025ad2cb802dd68a37a58788a5179e06669adf38c187674dedb75db95e8b",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 52
},
{
"end_pc": 73,
"hash": "0x6799ef713823c15a8db3ccab3ee3fe213a5ab6064a1c31e6909c1b98c9f58d9b",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 63
},
{
"end_pc": 84,
"hash": "0x2d0f41b7305781955b8a2abaa7e44b0b0397e609cb38cee9b2b3384664753a49",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 74
},
{
"end_pc": 95,
"hash": "0x7ab438a80fd7d2be87cf3c024708d3a087f91dc9c0d6e3b3857658b9e6171f2f",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 85
},
{
"end_pc": 106,
"hash": "0xa53dc1aa4e83dfb14189ab388eac60311116364c8ec187bdc622f4f747dda0d3",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 96
},
{
"end_pc": 110,
"hash": "0xecc7d733bb34625a37e00f767d3e77d3cedec034821fa77b5e7ef092e7d248a6",
"opcodes": [
"PUSH2",
"JUMP"
],
"start_pc": 107
},
{
"end_pc": 122,
"hash": "0x5ec91c240599cce6e1db791c429ec66f989c7f80a983fcb48322bfd4ae4b23c2",
"opcodes": [
"JUMPDEST",
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 111
},
{
"end_pc": 133,
"hash": "0xc3dc519e9113fb82a54b25b7835fe225504bd5b4883c1c84953f0bddb2de0e5f",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 123
},
{
"end_pc": 144,
"hash": "0xebd017534f6049d716418446b29bffa78789cfcb4ac1267942143510eede6247",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 134
},
{
"end_pc": 155,
"hash": "0xa29fae6ce5e55899209c9969549b31690c8a6d28c79f6a3d2b8714c93dcf4780",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 145
},
{
"end_pc": 166,
"hash": "0xba54dd598bffa07b2ca23f56f3dc0c55399afcd977f5d655e6159e6db5f725f2",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 156
},
{
"end_pc": 170,
"hash": "0xbebf2633b54184c1ea084c94119f608a7b6668035a0cb179fa06475c53cb2d50",
"opcodes": [
"PUSH2",
"JUMP"
],
"start_pc": 167
},
{
"end_pc": 182,
"hash": "0x2382cab48a021b890809212ec9b4178c05c22597756658f4b424e16e08ab6a20",
"opcodes": [
"JUMPDEST",
"OP_80",
"PUSH4",
"GT",
"PUSH2",
"JUMPI"
],
"start_pc": 171
},
{
"end_pc": 193,
"hash": "0x09b25c7e01484a5cae44c98824e3945001b0bc467b34c1eca3da36346b9004da",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 183
},
{
"end_pc": 204,
"hash": "0xbaa1828a6ff40d648af192058b87c5b5bb5908438d1c009a54e6afefb8cd979d",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 194
},
exec
/bin/bash -lc "sed -n '1,240p' codex-output-schema.json" in /tmp/codex-_mwrbysw
succeeded in 0ms:
{"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
exec
/bin/bash -lc "jq 'keys' BYTECODE_BUNDLE.json" in /tmp/codex-_mwrbysw
exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json | keys' BYTECODE_BUNDLE.json" in /tmp/codex-_mwrbysw
succeeded in 0ms:
[
"auth",
"basic_blocks",
"callsites",
"cfg_edges",
"cfg_hash",
"dispatcher_type",
"function_entries",
"functions",
"selectors",
"sinks",
"storage",
"version"
]
succeeded in 0ms:
[
"analysis_artifact",
"analysis_run",
"artifact",
"capability_graph",
"detector_findings",
"heuristics_summary"
]
exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.detectors' BYTECODE_BUNDLE.json" in /tmp/codex-_mwrbysw
succeeded in 0ms:
null
exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.selectors' BYTECODE_BUNDLE.json" in /tmp/codex-_mwrbysw
succeeded in 0ms:
[
"0x95ccea67",
"0x9870d7fe",
"0xa8c62e76",
"0xcb38f407",
"0xe30c3978",
"0xf2fde38b",
"0x710bf322",
"0x78a19f7a",
"0x79ba5097",
"0x837150cf",
"0x8da5cb5b",
"0x3e30838d",
"0x485cc955",
"0x5c975abb",
"0x6d70f7ae",
"0x70a08231",
"0x106e9be4",
"0x13e7c9d8",
"0x2f54bf6e",
"0x33a100ca",
"0x365a86fc"
]
exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.function_entries' BYTECODE_BUNDLE.json" in /tmp/codex-_mwrbysw
succeeded in 0ms:
[
{
"entry_pc": 2513234535,
"selector": "0x95ccea67"
},
{
"entry_pc": 2831560310,
"selector": "0x9870d7fe"
},
{
"entry_pc": 3409507335,
"selector": "0xa8c62e76"
},
{
"entry_pc": 3809229176,
"selector": "0xcb38f407"
},
{
"entry_pc": 4076725131,
"selector": "0xe30c3978"
},
{
"entry_pc": null,
"selector": "0xf2fde38b"
},
{
"entry_pc": 2023858042,
"selector": "0x710bf322"
},
{
"entry_pc": 2042253463,
"selector": "0x78a19f7a"
},
{
"entry_pc": 2205241551,
"selector": "0x79ba5097"
},
{
"entry_pc": 2376452955,
"selector": "0x837150cf"
},
{
"entry_pc": null,
"selector": "0x8da5cb5b"
},
{
"entry_pc": 1043366797,
"selector": "0x3e30838d"
},
{
"entry_pc": 1553423035,
"selector": "0x485cc955"
},
{
"entry_pc": 1836119982,
"selector": "0x5c975abb"
},
{
"entry_pc": 1889567281,
"selector": "0x6d70f7ae"
},
{
"entry_pc": null,
"selector": "0x70a08231"
},
{
"entry_pc": 333957592,
"selector": "0x106e9be4"
},
{
"entry_pc": 794083182,
"selector": "0x13e7c9d8"
},
{
"entry_pc": 866189514,
"selector": "0x2f54bf6e"
},
{
"entry_pc": 911902460,
"selector": "0x33a100ca"
},
{
"entry_pc": null,
"selector": "0x365a86fc"
}
]
exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.callsites' BYTECODE_BUNDLE.json" in /tmp/codex-_mwrbysw
succeeded in 0ms:
[
{
"opcode": "STATICCALL",
"pc": 391,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "n/a"
},
{
"opcode": "DELEGATECALL",
"pc": 1388,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "n/a"
},
{
"opcode": "STATICCALL",
"pc": 1533,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "n/a"
},
{
"opcode": "STATICCALL",
"pc": 1993,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "n/a"
},
{
"opcode": "CALL",
"pc": 2613,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "STATICCALL",
"pc": 2713,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "n/a"
},
{
"opcode": "CALL",
"pc": 4149,
"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-_mwrbysw
succeeded in 0ms:
{
"keccak_count": 9,
"reads": 41,
"slots": [
{
"op": "SLOAD",
"pc": 313,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 316,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 544,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 751,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 832,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 957,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1105,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 1179,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1262,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1326,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 1456,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 1666,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 1861,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 2137,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2194,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 2227,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 2335,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 2339,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2397,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 2401,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SSTORE",
"pc": 2427,
"slot": "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0"
},
{
"op": "SLOAD",
"pc": 2582,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2819,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2851,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2994,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 3155,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 3271,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 3328,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 3361,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 3432,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 3513,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 3587,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
}
],
"writes": 12
}
exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.sinks' BYTECODE_BUNDLE.json" in /tmp/codex-_mwrbysw
succeeded in 0ms:
{
"call": 2,
"create": 0,
"create2": 1,
"delegatecall": 1,
"selfdestruct": 0,
"staticcall": 4,
"upgrade_slot_write_suspected": false
}
exec
/bin/bash -lc "jq '.detector_findings' BYTECODE_BUNDLE.json" in /tmp/codex-_mwrbysw
succeeded in 0ms:
[
{
"confidence": 70,
"evidence_json": {
"delegatecall_count": 1,
"examples": [
{
"opcode": "DELEGATECALL",
"pc": 1388,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "n/a"
}
],
"guards_detected": [],
"untrusted_delegatecall_count": 1
},
"normalized_json": {
"sink": "DELEGATECALL"
},
"severity": "critical",
"title": "Untrusted DELEGATECALL target reachable",
"validated": false,
"validation_json": {
"attempts": 192,
"call_targets": null,
"classification": "no_sink",
"confirmed": false,
"errors": 0,
"matched_probe": null,
"sink": "DELEGATECALL",
"status": "unknown",
"target_varies": null,
"trace_id": "0x809bebf73453ccd91b383ae2670314f406f8ebd9d587a5b19849579988187ef0",
"trace_mode": "callTracer"
}
},
{
"confidence": 60,
"evidence_json": {
"call_count": 2,
"examples": [
{
"opcode": "CALL",
"pc": 2613,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 4149,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
}
],
"guards_detected": [],
"untrusted_call_count": 2
},
"normalized_json": {
"sink": "CALL"
},
"severity": "high",
"title": "Untrusted CALL target/value reachable",
"validated": false,
"validation_json": {
"attempts": 1,
"call_targets": [
"0x0376a35639dac611c49327426db9b342cdb553b8"
],
"classification": "constant_target",
"confirmed": false,
"errors": 0,
"matched_probe": null,
"sink": "CALL",
"status": "sink_reached",
"target_varies": false,
"trace_id": "0xc2a69440e3a8b7db3b66a7712e694684f3069c0d5300c60b72e3bfeab872f3f5",
"trace_mode": "callTracer"
}
},
{
"confidence": 55,
"evidence_json": {
"eth_value_calls": 2,
"examples": [
{
"opcode": "CALL",
"pc": 2613,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 4149,
"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": false,
"validation_json": {
"attempts": 1,
"call_targets": [
"0x0376a35639dac611c49327426db9b342cdb553b8"
],
"classification": "constant_target",
"confirmed": false,
"errors": 0,
"matched_probe": null,
"sink": "CALL",
"status": "sink_reached",
"target_varies": false,
"trace_id": "0xc2a69440e3a8b7db3b66a7712e694684f3069c0d5300c60b72e3bfeab872f3f5",
"trace_mode": "callTracer"
}
},
{
"confidence": 45,
"evidence_json": {
"create2_count": 1,
"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": "0xb5d3bef651bbea6df34d5f51cc72ebafc52ecca2e9448b7dabbc9d6e0a6a4e60",
"trace_mode": "structLogs"
}
}
]
exec
/bin/bash -lc "jq '.heuristics_summary' BYTECODE_BUNDLE.json" in /tmp/codex-_mwrbysw
succeeded in 0ms:
{
"create2_count": 1,
"delegatecall_count": 1,
"flags": [
"delegatecall_present",
"create_opcodes_present",
"heavy_ext_balance_usage"
],
"selfdestruct_count": 0
}
exec
/bin/bash -lc "jq '.capability_graph' BYTECODE_BUNDLE.json" in /tmp/codex-_mwrbysw
succeeded in 0ms:
{
"address": "0x0376a35639dac611c49327426db9b342cdb553b8",
"block_number": null,
"chain_id": 1,
"codehash": "0x1efa9b49847c9ab1d1c48ec31679836e8f3db438a6a8b2b881bc125de84f3e05",
"created_at": "2026-04-04T02:50:52.000000Z",
"graph_hash": "0x198edf45c2896aa0da5e33ade2f6b27fa0de290d0c5d2b62d0871f4d40677aea",
"graph_json": {
"edges": [
{
"from": "bb:0",
"to": "bb:302",
"type": "control_flow"
},
{
"from": "bb:0",
"to": "bb:13",
"type": "control_flow_fallthrough"
},
{
"from": "bb:13",
"to": "bb:171",
"type": "control_flow"
},
{
"from": "bb:13",
"to": "bb:30",
"type": "control_flow_fallthrough"
},
{
"from": "bb:30",
"to": "bb:111",
"type": "control_flow"
},
{
"from": "bb:30",
"to": "bb:41",
"type": "control_flow_fallthrough"
},
{
"from": "bb:41",
"to": "bb:1195",
"type": "control_flow"
},
{
"from": "bb:41",
"to": "bb:52",
"type": "control_flow_fallthrough"
},
{
"from": "bb:52",
"to": "bb:1214",
"type": "control_flow"
},
{
"from": "bb:52",
"to": "bb:63",
"type": "control_flow_fallthrough"
},
{
"from": "bb:63",
"to": "bb:1246",
"type": "control_flow"
},
{
"from": "bb:63",
"to": "bb:74",
"type": "control_flow_fallthrough"
},
{
"from": "bb:74",
"to": "bb:1278",
"type": "control_flow"
},
{
"from": "bb:74",
"to": "bb:85",
"type": "control_flow_fallthrough"
},
{
"from": "bb:85",
"to": "bb:1310",
"type": "control_flow"
},
{
"from": "bb:85",
"to": "bb:96",
"type": "control_flow_fallthrough"
},
{
"from": "bb:96",
"to": "bb:1342",
"type": "control_flow"
},
{
"from": "bb:96",
"to": "bb:107",
"type": "control_flow_fallthrough"
},
{
"from": "bb:107",
"to": "bb:309",
"type": "control_flow"
},
{
"from": "bb:111",
"to": "bb:1057",
"type": "control_flow"
},
{
"from": "bb:111",
"to": "bb:123",
"type": "control_flow_fallthrough"
},
{
"from": "bb:123",
"to": "bb:1089",
"type": "control_flow"
},
{
"from": "bb:123",
"to": "bb:134",
"type": "control_flow_fallthrough"
},
{
"from": "bb:134",
"to": "bb:1110",
"type": "control_flow"
},
{
"from": "bb:134",
"to": "bb:145",
"type": "control_flow_fallthrough"
},
{
"from": "bb:145",
"to": "bb:1131",
"type": "control_flow"
},
{
"from": "bb:145",
"to": "bb:156",
"type": "control_flow_fallthrough"
},
{
"from": "bb:156",
"to": "bb:1163",
"type": "control_flow"
},
{
"from": "bb:156",
"to": "bb:167",
"type": "control_flow_fallthrough"
},
{
"from": "bb:167",
"to": "bb:309",
"type": "control_flow"
},
{
"from": "bb:171",
"to": "bb:242",
"type": "control_flow"
},
{
"from": "bb:171",
"to": "bb:183",
"type": "control_flow_fallthrough"
},
{
"from": "bb:183",
"to": "bb:877",
"type": "control_flow"
},
{
"from": "bb:183",
"to": "bb:194",
"type": "control_flow_fallthrough"
},
{
"from": "bb:194",
"to": "bb:909",
"type": "control_flow"
},
{
"from": "bb:194",
"to": "bb:205",
"type": "control_flow_fallthrough"
},
{
"from": "bb:205",
"to": "bb:941",
"type": "control_flow"
},
{
"from": "bb:205",
"to": "bb:216",
"type": "control_flow_fallthrough"
},
{
"from": "bb:216",
"to": "bb:965",
"type": "control_flow"
},
{
"from": "bb:216",
"to": "bb:227",
"type": "control_flow_fallthrough"
},
{
"from": "bb:227",
"to": "bb:1025",
"type": "control_flow"
},
{
"from": "bb:227",
"to": "bb:238",
"type": "control_flow_fallthrough"
},
{
"from": "bb:238",
"to": "bb:309",
"type": "control_flow"
},
{
"from": "bb:242",
"to": "bb:564",
"type": "control_flow"
},
{
"from": "bb:242",
"to": "bb:254",
"type": "control_flow_fallthrough"
},
{
"from": "bb:254",
"to": "bb:655",
"type": "control_flow"
},
{
"from": "bb:254",
"to": "bb:265",
"type": "control_flow_fallthrough"
},
{
"from": "bb:265",
"to": "bb:721",
"type": "control_flow"
},
{
"from": "bb:265",
"to": "bb:276",
"type": "control_flow_fallthrough"
},
{
"from": "bb:276",
"to": "bb:784",
"type": "control_flow"
},
{
"from": "bb:276",
"to": "bb:287",
"type": "control_flow_fallthrough"
},
{
"from": "bb:287",
"to": "bb:816",
"type": "control_flow"
},
{
"from": "bb:287",
"to": "bb:298",
"type": "control_flow_fallthrough"
},
{
"from": "bb:298",
"to": "bb:309",
"type": "control_flow"
},
{
"from": "bb:302",
"to": "bb:309",
"type": "control_flow"
},
{
"from": "bb:302",
"to": "bb:308",
"type": "control_flow_fallthrough"
},
{
"from": "bb:309",
"to": "bb:388",
"type": "control_flow"
},
{
"from": "bb:309",
"to": "bb:384",
"type": "control_flow_fallthrough"
},
{
"from": "bb:388",
"to": "bb:408",
"type": "control_flow"
},
{
"from": "bb:388",
"to": "bb:399",
"type": "control_flow_fallthrough"
},
{
"from": "bb:408",
"to": "bb:4454",
"type": "control_flow"
},
{
"from": "bb:444",
"to": "bb:541",
"type": "control_flow"
},
{
"from": "bb:444",
"to": "bb:449",
"type": "control_flow_fallthrough"
},
{
"from": "bb:449",
"to": "bb:532",
"type": "control_flow_fallthrough"
},
{
"from": "bb:541",
"to": "bb:1374",
"type": "control_flow"
},
{
"from": "bb:564",
"to": "bb:576",
"type": "control_flow"
},
{
"from": "bb:564",
"to": "bb:572",
"type": "control_flow_fallthrough"
},
{
"from": "bb:576",
"to": "bb:4482",
"type": "control_flow"
},
{
"from": "bb:636",
"to": "bb:646",
"type": "control_flow_fallthrough"
},
{
"from": "bb:655",
"to": "bb:667",
"type": "control_flow"
},
{
"from": "bb:655",
"to": "bb:663",
"type": "control_flow_fallthrough"
},
{
"from": "bb:667",
"to": "bb:4309",
"type": "control_flow"
},
{
"from": "bb:703",
"to": "bb:646",
"type": "control_flow"
},
{
"from": "bb:721",
"to": "bb:733",
"type": "control_flow"
},
{
"from": "bb:721",
"to": "bb:729",
"type": "control_flow_fallthrough"
},
{
"from": "bb:733",
"to": "bb:4309",
"type": "control_flow"
},
{
"from": "bb:768",
"to": "bb:646",
"type": "control_flow"
},
{
"from": "bb:784",
"to": "bb:796",
"type": "control_flow"
},
{
"from": "bb:784",
"to": "bb:792",
"type": "control_flow_fallthrough"
},
{
"from": "bb:796",
"to": "bb:4309",
"type": "control_flow"
},
{
"from": "bb:811",
"to": "bb:1415",
"type": "control_flow"
},
{
"from": "bb:816",
"to": "bb:828",
"type": "control_flow"
},
{
"from": "bb:816",
"to": "bb:824",
"type": "control_flow_fallthrough"
},
{
"from": "bb:853",
"to": "bb:646",
"type": "control_flow"
},
{
"from": "bb:877",
"to": "bb:889",
"type": "control_flow"
},
{
"from": "bb:877",
"to": "bb:885",
"type": "control_flow_fallthrough"
},
{
"from": "bb:889",
"to": "bb:4309",
"type": "control_flow"
},
{
"from": "bb:904",
"to": "bb:1696",
"type": "control_flow"
},
{
"from": "bb:909",
"to": "bb:921",
"type": "control_flow"
},
{
"from": "bb:909",
"to": "bb:917",
"type": "control_flow_fallthrough"
},
{
"from": "bb:921",
"to": "bb:4335",
"type": "control_flow"
},
{
"from": "bb:936",
"to": "bb:1820",
"type": "control_flow"
},
{
"from": "bb:941",
"to": "bb:953",
"type": "control_flow"
},
{
"from": "bb:941",
"to": "bb:949",
"type": "control_flow_fallthrough"
},
{
"from": "bb:953",
"to": "bb:768",
"type": "control_flow"
},
{
"from": "bb:965",
"to": "bb:977",
"type": "control_flow"
},
{
"from": "bb:965",
"to": "bb:973",
"type": "control_flow_fallthrough"
},
{
"from": "bb:977",
"to": "bb:4309",
"type": "control_flow"
},
{
"from": "bb:1025",
"to": "bb:1037",
"type": "control_flow"
},
{
"from": "bb:1025",
"to": "bb:1033",
"type": "control_flow_fallthrough"
},
{
"from": "bb:1037",
"to": "bb:4309",
"type": "control_flow"
},
{
"from": "bb:1052",
"to": "bb:1902",
"type": "control_flow"
},
{
"from": "bb:1057",
"to": "bb:1069",
"type": "control_flow"
},
{
"from": "bb:1057",
"to": "bb:1065",
"type": "control_flow_fallthrough"
},
{
"from": "bb:1069",
"to": "bb:4309",
"type": "control_flow"
},
{
"from": "bb:1084",
"to": "bb:2058",
"type": "control_flow"
},
{
"from": "bb:1089",
"to": "bb:1101",
"type": "control_flow"
},
{
"from": "bb:1089",
"to": "bb:1097",
"type": "control_flow_fallthrough"
},
{
"from": "bb:1101",
"to": "bb:636",
"type": "control_flow"
},
{
"from": "bb:1110",
"to": "bb:1122",
"type": "control_flow"
},
{
"from": "bb:1110",
"to": "bb:1118",
"type": "control_flow_fallthrough"
},
{
"from": "bb:1122",
"to": "bb:2224",
"type": "control_flow"
},
{
"from": "bb:1131",
"to": "bb:1143",
"type": "control_flow"
},
{
"from": "bb:1131",
"to": "bb:1139",
"type": "control_flow_fallthrough"
},
{
"from": "bb:1143",
"to": "bb:4426",
"type": "control_flow"
},
{
"from": "bb:1158",
"to": "bb:2432",
"type": "control_flow"
},
{
"from": "bb:1163",
"to": "bb:1175",
"type": "control_flow"
},
{
"from": "bb:1163",
"to": "bb:1171",
"type": "control_flow_fallthrough"
},
{
"from": "bb:1195",
"to": "bb:4385",
"type": "control_flow"
},
{
"from": "bb:1209",
"to": "bb:2494",
"type": "control_flow"
},
{
"from": "bb:1214",
"to": "bb:1226",
"type": "control_flow"
},
{
"from": "bb:1214",
"to": "bb:1222",
"type": "control_flow_fallthrough"
},
{
"from": "bb:1226",
"to": "bb:4309",
"type": "control_flow"
},
{
"from": "bb:1241",
"to": "bb:2921",
"type": "control_flow"
},
{
"from": "bb:1246",
"to": "bb:1258",
"type": "control_flow"
},
{
"from": "bb:1246",
"to": "bb:1254",
"type": "control_flow_fallthrough"
},
{
"from": "bb:1278",
"to": "bb:1290",
"type": "control_flow"
},
{
"from": "bb:1278",
"to": "bb:1286",
"type": "control_flow_fallthrough"
},
{
"from": "bb:1290",
"to": "bb:4662",
"type": "control_flow"
},
{
"from": "bb:1305",
"to": "bb:3150",
"type": "control_flow"
},
{
"from": "bb:1310",
"to": "bb:1322",
"type": "control_flow"
},
{
"from": "bb:1310",
"to": "bb:1318",
"type": "control_flow_fallthrough"
},
{
"from": "bb:1342",
"to": "bb:1354",
"type": "control_flow"
},
{
"from": "bb:1342",
"to": "bb:1350",
"type": "control_flow_fallthrough"
},
{
"from": "bb:1354",
"to": "bb:4309",
"type": "control_flow"
},
{
"from": "bb:1369",
"to": "bb:3192",
"type": "control_flow"
},
{
"from": "bb:1374",
"to": "bb:1405",
"type": "control_flow"
},
{
"from": "bb:1374",
"to": "bb:1401",
"type": "control_flow_fallthrough"
},
{
"from": "bb:1415",
"to": "bb:748",
"type": "control_flow"
},
{
"from": "bb:1424",
"to": "bb:1452",
"type": "control_flow"
},
{
"from": "bb:1424",
"to": "bb:1429",
"type": "control_flow_fallthrough"
},
{
"from": "bb:1429",
"to": "bb:4859",
"type": "control_flow"
},
{
"from": "bb:1452",
"to": "bb:1530",
"type": "control_flow"
},
{
"from": "bb:1452",
"to": "bb:1526",
"type": "control_flow_fallthrough"
},
{
"from": "bb:1530",
"to": "bb:1550",
"type": "control_flow"
},
{
"from": "bb:1530",
"to": "bb:1541",
"type": "control_flow_fallthrough"
},
{
"from": "bb:1550",
"to": "bb:4454",
"type": "control_flow"
},
{
"from": "bb:1586",
"to": "bb:1662",
"type": "control_flow"
},
{
"from": "bb:1586",
"to": "bb:1591",
"type": "control_flow_fallthrough"
},
{
"from": "bb:1591",
"to": "bb:532",
"type": "control_flow"
},
{
"from": "bb:1696",
"to": "bb:748",
"type": "control_flow"
},
{
"from": "bb:1705",
"to": "bb:1733",
"type": "control_flow"
},
{
"from": "bb:1705",
"to": "bb:1710",
"type": "control_flow_fallthrough"
},
{
"from": "bb:1710",
"to": "bb:4859",
"type": "control_flow"
},
{
"from": "bb:1820",
"to": "bb:748",
"type": "control_flow"
},
{
"from": "bb:1829",
"to": "bb:1857",
"type": "control_flow"
},
{
"from": "bb:1829",
"to": "bb:1834",
"type": "control_flow_fallthrough"
},
{
"from": "bb:1834",
"to": "bb:4859",
"type": "control_flow"
},
{
"from": "bb:1857",
"to": "bb:1415",
"type": "control_flow"
},
{
"from": "bb:1902",
"to": "bb:1925",
"type": "control_flow"
},
{
"from": "bb:1902",
"to": "bb:1919",
"type": "control_flow_fallthrough"
},
{
"from": "bb:1925",
"to": "bb:1990",
"type": "control_flow"
},
{
"from": "bb:1925",
"to": "bb:1986",
"type": "control_flow_fallthrough"
},
{
"from": "bb:1990",
"to": "bb:2010",
"type": "control_flow"
},
{
"from": "bb:1990",
"to": "bb:2001",
"type": "control_flow_fallthrough"
},
{
"from": "bb:2010",
"to": "bb:4686",
"type": "control_flow"
},
{
"from": "bb:2058",
"to": "bb:748",
"type": "control_flow"
},
{
"from": "bb:2067",
"to": "bb:2095",
"type": "control_flow"
},
{
"from": "bb:2067",
"to": "bb:2072",
"type": "control_flow_fallthrough"
},
{
"from": "bb:2072",
"to": "bb:4859",
"type": "control_flow"
},
{
"from": "bb:2095",
"to": "bb:2133",
"type": "control_flow"
},
{
"from": "bb:2095",
"to": "bb:2110",
"type": "control_flow_fallthrough"
},
{
"from": "bb:2110",
"to": "bb:4789",
"type": "control_flow"
},
{
"from": "bb:2224",
"to": "bb:2332",
"type": "control_flow"
},
{
"from": "bb:2224",
"to": "bb:2243",
"type": "control_flow_fallthrough"
},
{
"from": "bb:2243",
"to": "bb:532",
"type": "control_flow"
},
{
"from": "bb:2432",
"to": "bb:748",
"type": "control_flow"
},
{
"from": "bb:2441",
"to": "bb:2469",
"type": "control_flow"
},
{
"from": "bb:2441",
"to": "bb:2446",
"type": "control_flow_fallthrough"
},
{
"from": "bb:2446",
"to": "bb:4859",
"type": "control_flow"
},
{
"from": "bb:2469",
"to": "bb:2486",
"type": "control_flow"
},
{
"from": "bb:2469",
"to": "bb:2476",
"type": "control_flow_fallthrough"
},
{
"from": "bb:2476",
"to": "bb:3358",
"type": "control_flow"
},
{
"from": "bb:2486",
"to": "bb:3510",
"type": "control_flow"
},
{
"from": "bb:2494",
"to": "bb:748",
"type": "control_flow"
},
{
"from": "bb:2503",
"to": "bb:2531",
"type": "control_flow"
},
{
"from": "bb:2503",
"to": "bb:2508",
"type": "control_flow_fallthrough"
},
{
"from": "bb:2508",
"to": "bb:4859",
"type": "control_flow"
},
{
"from": "bb:2531",
"to": "bb:2642",
"type": "control_flow"
},
{
"from": "bb:2531",
"to": "bb:2546",
"type": "control_flow_fallthrough"
},
{
"from": "bb:2546",
"to": "bb:2559",
"type": "control_flow"
},
{
"from": "bb:2546",
"to": "bb:2552",
"type": "control_flow_fallthrough"
},
{
"from": "bb:2552",
"to": "bb:2578",
"type": "control_flow"
},
{
"from": "bb:2559",
"to": "bb:2573",
"type": "control_flow"
},
{
"from": "bb:2559",
"to": "bb:2568",
"type": "control_flow_fallthrough"
},
{
"from": "bb:2568",
"to": "bb:2575",
"type": "control_flow"
},
{
"from": "bb:2573",
"to": "bb:2575",
"type": "control_flow_fallthrough"
},
{
"from": "bb:2575",
"to": "bb:2578",
"type": "control_flow_fallthrough"
},
{
"from": "bb:2578",
"to": "bb:2635",
"type": "control_flow"
},
{
"from": "bb:2578",
"to": "bb:2626",
"type": "control_flow_fallthrough"
},
{
"from": "bb:2635",
"to": "bb:2848",
"type": "control_flow"
},
{
"from": "bb:2642",
"to": "bb:2710",
"type": "control_flow"
},
{
"from": "bb:2642",
"to": "bb:2706",
"type": "control_flow_fallthrough"
},
{
"from": "bb:2710",
"to": "bb:2730",
"type": "control_flow"
},
{
"from": "bb:2710",
"to": "bb:2721",
"type": "control_flow_fallthrough"
},
{
"from": "bb:2730",
"to": "bb:4686",
"type": "control_flow"
},
{
"from": "bb:2766",
"to": "bb:2781",
"type": "control_flow"
},
{
"from": "bb:2766",
"to": "bb:2774",
"type": "control_flow_fallthrough"
},
{
"from": "bb:2774",
"to": "bb:2800",
"type": "control_flow"
},
{
"from": "bb:2781",
"to": "bb:2795",
"type": "control_flow"
},
{
"from": "bb:2781",
"to": "bb:2790",
"type": "control_flow_fallthrough"
},
{
"from": "bb:2790",
"to": "bb:2797",
"type": "control_flow"
},
{
"from": "bb:2795",
"to": "bb:2797",
"type": "control_flow_fallthrough"
},
{
"from": "bb:2797",
"to": "bb:2800",
"type": "control_flow_fallthrough"
},
{
"from": "bb:2800",
"to": "bb:2814",
"type": "control_flow"
},
{
"from": "bb:2800",
"to": "bb:2809",
"type": "control_flow_fallthrough"
},
{
"from": "bb:2809",
"to": "bb:2816",
"type": "control_flow"
},
{
"from": "bb:2814",
"to": "bb:2816",
"type": "control_flow_fallthrough"
},
{
"from": "bb:2816",
"to": "bb:3632",
"type": "control_flow"
},
{
"from": "bb:2845",
"to": "bb:2848",
"type": "control_flow_fallthrough"
},
{
"from": "bb:2921",
"to": "bb:748",
"type": "control_flow"
},
{
"from": "bb:2930",
"to": "bb:2958",
"type": "control_flow"
},
{
"from": "bb:2930",
"to": "bb:2935",
"type": "control_flow_fallthrough"
},
{
"from": "bb:2935",
"to": "bb:4859",
"type": "control_flow"
},
{
"from": "bb:2958",
"to": "bb:3066",
"type": "control_flow"
},
{
"from": "bb:2958",
"to": "bb:2991",
"type": "control_flow_fallthrough"
},
{
"from": "bb:2991",
"to": "bb:3066",
"type": "control_flow_fallthrough"
},
{
"from": "bb:3150",
"to": "bb:3166",
"type": "control_flow"
},
{
"from": "bb:3150",
"to": "bb:3162",
"type": "control_flow_fallthrough"
},
{
"from": "bb:3192",
"to": "bb:748",
"type": "control_flow"
},
{
"from": "bb:3201",
"to": "bb:3229",
"type": "control_flow"
},
{
"from": "bb:3201",
"to": "bb:3206",
"type": "control_flow_fallthrough"
},
{
"from": "bb:3206",
"to": "bb:4859",
"type": "control_flow"
},
{
"from": "bb:3229",
"to": "bb:3267",
"type": "control_flow"
},
{
"from": "bb:3229",
"to": "bb:3244",
"type": "control_flow_fallthrough"
},
{
"from": "bb:3244",
"to": "bb:4789",
"type": "control_flow"
},
{
"from": "bb:3358",
"to": "bb:3428",
"type": "control_flow"
},
{
"from": "bb:3358",
"to": "bb:3370",
"type": "control_flow_fallthrough"
},
{
"from": "bb:3370",
"to": "bb:532",
"type": "control_flow"
},
{
"from": "bb:3510",
"to": "bb:3583",
"type": "control_flow"
},
{
"from": "bb:3510",
"to": "bb:3521",
"type": "control_flow_fallthrough"
},
{
"from": "bb:3521",
"to": "bb:532",
"type": "control_flow"
},
{
"from": "bb:3583",
"to": "bb:3481",
"type": "control_flow"
},
{
"from": "bb:3632",
"to": "bb:3901",
"type": "control_flow"
},
{
"from": "bb:3776",
"to": "bb:1410",
"type": "control_flow"
},
{
"from": "bb:3776",
"to": "bb:3787",
"type": "control_flow_fallthrough"
},
{
"from": "bb:3787",
"to": "bb:4454",
"type": "control_flow"
},
{
"from": "bb:3806",
"to": "bb:1410",
"type": "control_flow"
},
{
"from": "bb:3806",
"to": "bb:3811",
"type": "control_flow_fallthrough"
},
{
"from": "bb:3811",
"to": "bb:532",
"type": "control_flow"
},
{
"from": "bb:3901",
"to": "bb:3924",
"type": "control_flow"
},
{
"from": "bb:3924",
"to": "bb:4021",
"type": "control_flow"
},
{
"from": "bb:3924",
"to": "bb:3935",
"type": "control_flow_fallthrough"
},
{
"from": "bb:3935",
"to": "bb:532",
"type": "control_flow"
},
{
"from": "bb:4021",
"to": "bb:4108",
"type": "control_flow"
},
{
"from": "bb:4021",
"to": "bb:4037",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4037",
"to": "bb:532",
"type": "control_flow"
},
{
"from": "bb:4108",
"to": "bb:4710",
"type": "control_flow"
},
{
"from": "bb:4136",
"to": "bb:4197",
"type": "control_flow"
},
{
"from": "bb:4136",
"to": "bb:4164",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4164",
"to": "bb:4202",
"type": "control_flow"
},
{
"from": "bb:4197",
"to": "bb:4202",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4202",
"to": "bb:4229",
"type": "control_flow"
},
{
"from": "bb:4229",
"to": "bb:4244",
"type": "control_flow"
},
{
"from": "bb:4229",
"to": "bb:4238",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4238",
"to": "bb:2046",
"type": "control_flow"
},
{
"from": "bb:4244",
"to": "bb:4260",
"type": "control_flow"
},
{
"from": "bb:4244",
"to": "bb:4252",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4260",
"to": "bb:4738",
"type": "control_flow"
},
{
"from": "bb:4286",
"to": "bb:2053",
"type": "control_flow"
},
{
"from": "bb:4286",
"to": "bb:4305",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4309",
"to": "bb:4326",
"type": "control_flow"
},
{
"from": "bb:4309",
"to": "bb:4323",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4326",
"to": "bb:4286",
"type": "control_flow"
},
{
"from": "bb:4335",
"to": "bb:4353",
"type": "control_flow"
},
{
"from": "bb:4335",
"to": "bb:4350",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4353",
"to": "bb:4286",
"type": "control_flow"
},
{
"from": "bb:4362",
"to": "bb:4286",
"type": "control_flow"
},
{
"from": "bb:4385",
"to": "bb:4403",
"type": "control_flow"
},
{
"from": "bb:4385",
"to": "bb:4400",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4403",
"to": "bb:4286",
"type": "control_flow"
},
{
"from": "bb:4426",
"to": "bb:4443",
"type": "control_flow"
},
{
"from": "bb:4426",
"to": "bb:4440",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4443",
"to": "bb:4982",
"type": "control_flow"
},
{
"from": "bb:4454",
"to": "bb:4471",
"type": "control_flow"
},
{
"from": "bb:4454",
"to": "bb:4468",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4471",
"to": "bb:4982",
"type": "control_flow"
},
{
"from": "bb:4482",
"to": "bb:4500",
"type": "control_flow"
},
{
"from": "bb:4482",
"to": "bb:4497",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4500",
"to": "bb:4523",
"type": "control_flow"
},
{
"from": "bb:4500",
"to": "bb:4520",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4523",
"to": "bb:4542",
"type": "control_flow"
},
{
"from": "bb:4523",
"to": "bb:4539",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4542",
"to": "bb:4560",
"type": "control_flow"
},
{
"from": "bb:4542",
"to": "bb:4553",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4553",
"to": "bb:4960",
"type": "control_flow"
},
{
"from": "bb:4560",
"to": "bb:4600",
"type": "control_flow"
},
{
"from": "bb:4560",
"to": "bb:4593",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4593",
"to": "bb:4960",
"type": "control_flow"
},
{
"from": "bb:4600",
"to": "bb:4624",
"type": "control_flow"
},
{
"from": "bb:4600",
"to": "bb:4621",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4624",
"to": "bb:4286",
"type": "control_flow"
},
{
"from": "bb:4662",
"to": "bb:4679",
"type": "control_flow"
},
{
"from": "bb:4662",
"to": "bb:4676",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4686",
"to": "bb:4703",
"type": "control_flow"
},
{
"from": "bb:4686",
"to": "bb:4700",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4710",
"to": "bb:4912",
"type": "control_flow"
},
{
"from": "bb:4738",
"to": "bb:4912",
"type": "control_flow"
},
{
"from": "bb:4912",
"to": "bb:4915",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4915",
"to": "bb:4939",
"type": "control_flow"
},
{
"from": "bb:4915",
"to": "bb:4924",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4924",
"to": "bb:4915",
"type": "control_flow"
},
{
"from": "bb:4939",
"to": "bb:4954",
"type": "control_flow"
},
{
"from": "bb:4939",
"to": "bb:4948",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4948",
"to": "bb:4954",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4982",
"to": "bb:2483",
"type": "control_flow"
},
{
"from": "bb:4982",
"to": "bb:4992",
"type": "control_flow_fallthrough"
},
{
"from": "fn:0x95ccea67",
"to": "bb:2513234535",
"type": "entry"
},
{
"from": "fn:0x9870d7fe",
"to": "bb:2831560310",
"type": "entry"
},
{
"from": "fn:0xa8c62e76",
"to": "bb:3409507335",
"type": "entry"
},
{
"from": "fn:0xcb38f407",
"to": "bb:3809229176",
"type": "entry"
},
{
"from": "fn:0xe30c3978",
"to": "bb:4076725131",
"type": "entry"
},
{
"from": "fn:0x710bf322",
"to": "bb:2023858042",
"type": "entry"
},
{
"from": "fn:0x78a19f7a",
"to": "bb:2042253463",
"type": "entry"
},
{
"from": "fn:0x79ba5097",
"to": "bb:2205241551",
"type": "entry"
},
{
"from": "fn:0x837150cf",
"to": "bb:2376452955",
"type": "entry"
},
{
"from": "fn:0x3e30838d",
"to": "bb:1043366797",
"type": "entry"
},
{
"from": "fn:0x485cc955",
"to": "bb:1553423035",
"type": "entry"
},
{
"from": "fn:0x5c975abb",
"to": "bb:1836119982",
"type": "entry"
},
{
"from": "fn:0x6d70f7ae",
"to": "bb:1889567281",
"type": "entry"
},
{
"from": "fn:0x106e9be4",
"to": "bb:333957592",
"type": "entry"
},
{
"from": "fn:0x13e7c9d8",
"to": "bb:794083182",
"type": "entry"
},
{
"from": "fn:0x2f54bf6e",
"to": "bb:866189514",
"type": "entry"
},
{
"from": "fn:0x33a100ca",
"to": "bb:911902460",
"type": "entry"
},
{
"from": "bb:388",
"to": "call:391",
"type": "contains"
},
{
"from": "call:391",
"to": "sink:staticcall",
"type": "capability"
},
{
"from": "bb:1374",
"to": "call:1388",
"type": "contains"
},
{
"from": "call:1388",
"to": "sink:delegatecall",
"type": "capability"
},
{
"from": "bb:1530",
"to": "call:1533",
"type": "contains"
},
{
"from": "call:1533",
"to": "sink:staticcall",
"type": "capability"
},
{
"from": "bb:1990",
"to": "call:1993",
"type": "contains"
},
{
"from": "call:1993",
"to": "sink:staticcall",
"type": "capability"
},
{
"from": "bb:2578",
"to": "call:2613",
"type": "contains"
},
{
"from": "call:2613",
"to": "sink:call",
"type": "capability"
},
{
"from": "bb:2710",
"to": "call:2713",
"type": "contains"
},
{
"from": "call:2713",
"to": "sink:staticcall",
"type": "capability"
},
{
"from": "bb:4136",
"to": "call:4149",
"type": "contains"
},
{
"from": "call:4149",
"to": "sink:call",
"type": "capability"
}
],
"nodes": [
{
"end_pc": 12,
"hash": "0x845f1302ecce499f67043e444be2f8d242314d5d0aeec9c3bb273a4725e2ac89",
"id": "bb:0",
"start_pc": 0,
"type": "basic_block"
},
{
"end_pc": 29,
"hash": "0x584dd01bf4fec4c22f2d756c235ee3e774499feee7cf6e73e66ec70565517946",
"id": "bb:13",
"start_pc": 13,
"type": "basic_block"
},
{
"end_pc": 40,
"hash": "0xffd684938cf4f5f71384b4fbae4698b5149afca2c375d0aabdd6892f75a76a72",
"id": "bb:30",
"start_pc": 30,
"type": "basic_block"
},
{
"end_pc": 51,
"hash": "0x7a4decd2ec9db9fa9640510c4615e838932079a1ca136e6ce93b21eba242ee35",
"id": "bb:41",
"start_pc": 41,
"type": "basic_block"
},
{
"end_pc": 62,
"hash": "0xba22025ad2cb802dd68a37a58788a5179e06669adf38c187674dedb75db95e8b",
"id": "bb:52",
"start_pc": 52,
"type": "basic_block"
},
{
"end_pc": 73,
"hash": "0x6799ef713823c15a8db3ccab3ee3fe213a5ab6064a1c31e6909c1b98c9f58d9b",
"id": "bb:63",
"start_pc": 63,
"type": "basic_block"
},
{
"end_pc": 84,
"hash": "0x2d0f41b7305781955b8a2abaa7e44b0b0397e609cb38cee9b2b3384664753a49",
"id": "bb:74",
"start_pc": 74,
"type": "basic_block"
},
{
"end_pc": 95,
"hash": "0x7ab438a80fd7d2be87cf3c024708d3a087f91dc9c0d6e3b3857658b9e6171f2f",
"id": "bb:85",
"start_pc": 85,
"type": "basic_block"
},
{
"end_pc": 106,
"hash": "0xa53dc1aa4e83dfb14189ab388eac60311116364c8ec187bdc622f4f747dda0d3",
"id": "bb:96",
"start_pc": 96,
"type": "basic_block"
},
{
"end_pc": 110,
"hash": "0xecc7d733bb34625a37e00f767d3e77d3cedec034821fa77b5e7ef092e7d248a6",
"id": "bb:107",
"start_pc": 107,
"type": "basic_block"
},
{
"end_pc": 122,
"hash": "0x5ec91c240599cce6e1db791c429ec66f989c7f80a983fcb48322bfd4ae4b23c2",
"id": "bb:111",
"start_pc": 111,
"type": "basic_block"
},
{
"end_pc": 133,
"hash": "0xc3dc519e9113fb82a54b25b7835fe225504bd5b4883c1c84953f0bddb2de0e5f",
"id": "bb:123",
"start_pc": 123,
"type": "basic_block"
},
{
"end_pc": 144,
"hash": "0xebd017534f6049d716418446b29bffa78789cfcb4ac1267942143510eede6247",
"id": "bb:134",
"start_pc": 134,
"type": "basic_block"
},
{
"end_pc": 155,
"hash": "0xa29fae6ce5e55899209c9969549b31690c8a6d28c79f6a3d2b8714c93dcf4780",
"id": "bb:145",
"start_pc": 145,
"type": "basic_block"
},
{
"end_pc": 166,
"hash": "0xba54dd598bffa07b2ca23f56f3dc0c55399afcd977f5d655e6159e6db5f725f2",
"id": "bb:156",
"start_pc": 156,
"type": "basic_block"
},
{
"end_pc": 170,
"hash": "0xbebf2633b54184c1ea084c94119f608a7b6668035a0cb179fa06475c53cb2d50",
"id": "bb:167",
"start_pc": 167,
"type": "basic_block"
},
{
"end_pc": 182,
"hash": "0x2382cab48a021b890809212ec9b4178c05c22597756658f4b424e16e08ab6a20",
"id": "bb:171",
"start_pc": 171,
"type": "basic_block"
},
{
"end_pc": 193,
"hash": "0x09b25c7e01484a5cae44c98824e3945001b0bc467b34c1eca3da36346b9004da",
"id": "bb:183",
"start_pc": 183,
"type": "basic_block"
},
{
"end_pc": 204,
"hash": "0xbaa1828a6ff40d648af192058b87c5b5bb5908438d1c009a54e6afefb8cd979d",
"id": "bb:194",
"start_pc": 194,
"type": "basic_block"
},
{
"end_pc": 215,
"hash": "0x532fb624f981283fdcbea3df237fd8fefa84d65db8d7add5c9d385332d98b956",
"id": "bb:205",
"start_pc": 205,
"type": "basic_block"
},
{
"end_pc": 226,
"hash": "0xa4529e5aa2ae7e49716a0351713aa48feb6eb77d379a51fd00a393c3640942df",
"id": "bb:216",
"start_pc": 216,
"type": "basic_block"
},
{
"end_pc": 237,
"hash": "0x02245cb831983f39cb0c7d8b129fb7035ba2cdcad0163300190c2c54eadcc13a",
"id": "bb:227",
"start_pc": 227,
"type": "basic_block"
},
{
"end_pc": 241,
"hash": "0xb641b5fd2a4eab49f7642789d9fb0ed438b82f7c7c9649db990e59395100f0c6",
"id": "bb:238",
"start_pc": 238,
"type": "basic_block"
},
{
"end_pc": 253,
"hash": "0x5bef7d3b9dca83bd8ad1a9f90fb3a2ee14f15dac3aee23732e12d0b9732e3281",
"id": "bb:242",
"start_pc": 242,
"type": "basic_block"
},
{
"end_pc": 264,
"hash": "0x2a5300feaba58bc1fa357519da8f248895f117929a992c96010abea933de7755",
"id": "bb:254",
"start_pc": 254,
"type": "basic_block"
},
{
"end_pc": 275,
"hash": "0x4f487e46749cc07399ec870916323c96eb9c64104ccf56d8fd0ebd19341edfe2",
"id": "bb:265",
"start_pc": 265,
"type": "basic_block"
},
{
"end_pc": 286,
"hash": "0x34551ac63bf976bc34697f80912776927bc360a82db3283e955ce6c027a0a423",
"id": "bb:276",
"start_pc": 276,
"type": "basic_block"
},
{
"end_pc": 297,
"hash": "0x9d71c7e369cf5387d0336d569a34b81a81ca107006365833741420c88095cd32",
"id": "bb:287",
"start_pc": 287,
"type": "basic_block"
},
{
"end_pc": 301,
"hash": "0x369b583952757f63d21c51d1c8020817c41b5ed2c5253d8cb4e0d19e2275a513",
"id": "bb:298",
"start_pc": 298,
"type": "basic_block"
},
{
"end_pc": 307,
"hash": "0x6609efd6ef3b3a014e60b8bad027b58cf5a530a7fbc1586c78ca3122a0004ce8",
"id": "bb:302",
"start_pc": 302,
"type": "basic_block"
},
{
"end_pc": 308,
"hash": "0xcc6bb3c2348f2e6a8c447e763fa3d7e51281353dff668c53856f0d464609791a",
"id": "bb:308",
"start_pc": 308,
"type": "basic_block"
},
{
"end_pc": 383,
"hash": "0x0c6f990529d3d17a2104fd9c428c9c9ecef9302f9c6ee49b03a506ded5453f62",
"id": "bb:309",
"start_pc": 309,
"type": "basic_block"
},
{
"end_pc": 387,
"hash": "0x106ed021f06e5bdc90afe86a312e96b4d9913644bc2c59f5c032daa07f65d3c8",
"id": "bb:384",
"start_pc": 384,
"type": "basic_block"
},
{
"end_pc": 398,
"hash": "0xbbdfa428d9d6451552e6a4b01c921332139fe4da8157519fbb84ab0985d1af6a",
"id": "bb:388",
"start_pc": 388,
"type": "basic_block"
},
{
"end_pc": 407,
"hash": "0xdd257953b0e30384f8f2697c78cd4f47eb8857bbe8aae5fc36a0cc3f60945227",
"id": "bb:399",
"start_pc": 399,
"type": "basic_block"
},
{
"end_pc": 443,
"hash": "0x3f4466061d33a84dda2def3ed260f117f602a606fe1376e9ef7f1f018c0688b9",
"id": "bb:408",
"start_pc": 408,
"type": "basic_block"
},
{
"end_pc": 448,
"hash": "0x5edff3962c5e96358b0d82cb0caac01e8d8f74b55be761f518d485e44a97f468",
"id": "bb:444",
"start_pc": 444,
"type": "basic_block"
},
{
"end_pc": 531,
"hash": "0xab0be813bb7e0f252542bf4471eb79905edc1e63a2297b097e26e49bbd691803",
"id": "bb:449",
"start_pc": 449,
"type": "basic_block"
},
{
"end_pc": 540,
"hash": "0x3fe1d4d2660f83223ef30d58236f848011165b0cd35f18809763fe46c59bba39",
"id": "bb:532",
"start_pc": 532,
"type": "basic_block"
},
{
"end_pc": 561,
"hash": "0x155a6dae5c7e58857baa38d4ac77c1b3dccc066804b33fc2b3cd02c1c1a7a36c",
"id": "bb:541",
"start_pc": 541,
"type": "basic_block"
},
{
"end_pc": 563,
"hash": "0x376842e054473b9303daec4356992c25db4c2463feaac3c1da9764373b22f3ca",
"id": "bb:562",
"start_pc": 562,
"type": "basic_block"
},
{
"end_pc": 571,
"hash": "0xd8a149572fcb2fa2d12efed1f5f2791a3a3186afd92e04820ae90b623df2016f",
"id": "bb:564",
"start_pc": 564,
"type": "basic_block"
},
{
"end_pc": 575,
"hash": "0x31ac3178e184b2dc099cedff80a8932f7f54c543535329257687a4163c1ac3b1",
"id": "bb:572",
"start_pc": 572,
"type": "basic_block"
},
{
"end_pc": 590,
"hash": "0xf32fbb7ae427b17478dd90f6f68d5b09116b45031be7aa5fffdf91643ea5d84b",
"id": "bb:576",
"start_pc": 576,
"type": "basic_block"
},
{
"end_pc": 635,
"hash": "0xf6e828473bd6d4aae417b0400a1bdd71b808e93b95f591cca3eb05cbf0ff0ba4",
"id": "bb:591",
"start_pc": 591,
"type": "basic_block"
},
{
"end_pc": 645,
"hash": "0x793934a098b67e7e7e1cc8739dcb069695c88347fab7577bf856c8c6910beb99",
"id": "bb:636",
"start_pc": 636,
"type": "basic_block"
},
{
"end_pc": 654,
"hash": "0x31ca08428372db96c199781d13179035d6697ba878e8ae93c55fa40d845c792b",
"id": "bb:646",
"start_pc": 646,
"type": "basic_block"
},
{
"end_pc": 662,
"hash": "0x7b0216fefbc1f1fef0fdfcf23ab18dba2df5e8fa50d0d0cc5b28a8fc0cf9bc47",
"id": "bb:655",
"start_pc": 655,
"type": "basic_block"
},
{
"end_pc": 666,
"hash": "0x6996e8d3ded78d86574a26cec8cbd2b586b0ec201fd4d6b16834b00725ae15df",
"id": "bb:663",
"start_pc": 663,
"type": "basic_block"
},
{
"end_pc": 681,
"hash": "0x115b8e73d1cf27b86999fa311f33a3e8d3a3aa84d36cca122d227717bb54bfd6",
"id": "bb:667",
"start_pc": 667,
"type": "basic_block"
},
{
"end_pc": 702,
"hash": "0x8527df1677230cfb8b3e698ec38945cd3e0b23948548ecb3b8b0b3c6c25c709b",
"id": "bb:682",
"start_pc": 682,
"type": "basic_block"
},
{
"end_pc": 720,
"hash": "0x919628c766f7759231e8718d5ef21c94cc78948d8f8fe6625cf0e2fa99b935f7",
"id": "bb:703",
"start_pc": 703,
"type": "basic_block"
},
{
"end_pc": 728,
"hash": "0x080cb916e17d2bbe539c9c5a39001d8827f23e3d35571f77c31b44ba5ca30893",
"id": "bb:721",
"start_pc": 721,
"type": "basic_block"
},
{
"end_pc": 732,
"hash": "0x005e0213627312add4e7a854d7fc399af07e35416885f79f03bd446cbc5eab82",
"id": "bb:729",
"start_pc": 729,
"type": "basic_block"
},
{
"end_pc": 747,
"hash": "0x0723d422b629a0fd151c7208cd47f66c0d276f78c275c74fd549494e7a6f1d92",
"id": "bb:733",
"start_pc": 733,
"type": "basic_block"
},
{
"end_pc": 767,
"hash": "0xf4013d4644c86c3beb9f286f208a6fa5f59811dec09fd0247ba3706ab2619af9",
"id": "bb:748",
"start_pc": 748,
"type": "basic_block"
},
{
"end_pc": 783,
"hash": "0x54e2a32116914b1dabab80178ece983e0a5000e9b13f214601c9cdf18fdc8e71",
"id": "bb:768",
"start_pc": 768,
"type": "basic_block"
},
{
"end_pc": 791,
"hash": "0xb04e77da92b9b5ed6b3e416401af7f041303ee72c0ddbdd6539da9ccce49528b",
"id": "bb:784",
"start_pc": 784,
"type": "basic_block"
},
{
"end_pc": 795,
"hash": "0xd4aa87f254d195186e78dd7a74de59fe6d5d317cc7583b8bafd0b3ba29aef621",
"id": "bb:792",
"start_pc": 792,
"type": "basic_block"
},
{
"end_pc": 810,
"hash": "0x5a15be025f79d4eeeb0d1982bfee46000f0f9ff63e9b27bb9eb1820cfe2be5a6",
"id": "bb:796",
"start_pc": 796,
"type": "basic_block"
},
{
"end_pc": 815,
"hash": "0x881cdfaba9de4c0d2b9a861b67f101b99562b279e965ac6b4ea35f555f8cd609",
"id": "bb:811",
"start_pc": 811,
"type": "basic_block"
},
{
"end_pc": 823,
"hash": "0xbb14fc756c7abbaaf0fac208241d940110dac4f453d519f8ef8b3f6acae65310",
"id": "bb:816",
"start_pc": 816,
"type": "basic_block"
},
{
"end_pc": 827,
"hash": "0xbf000e6677ec9027b65f0fb012dfe7a86053ac3d0e2ff06acf22cb5f54bd6bef",
"id": "bb:824",
"start_pc": 824,
"type": "basic_block"
},
{
"end_pc": 852,
"hash": "0xadb767e22809442e5381c6edf025aafa0e9cce4ea05d2682a447c7244de3ebc5",
"id": "bb:828",
"start_pc": 828,
"type": "basic_block"
},
{
"end_pc": 876,
"hash": "0xc7622d908fac907812595509813d7451fedcf501f19d83b2cd84aa89262cd5de",
"id": "bb:853",
"start_pc": 853,
"type": "basic_block"
},
{
"end_pc": 884,
"hash": "0x1cca77326ff738007fff623519fabfbd429142eee4fb9a6f05e20d262383405a",
"id": "bb:877",
"start_pc": 877,
"type": "basic_block"
},
{
"end_pc": 888,
"hash": "0x4c95edda5c68ca08a7d6c21c663e84136bc3f89a008e23f2c9d8bdb1abc70739",
"id": "bb:885",
"start_pc": 885,
"type": "basic_block"
},
{
"end_pc": 903,
"hash": "0xd5f14bc88f7ff75b10ddab48fb8b4233071c3ee1318cd5e38aa6df037727dbb3",
"id": "bb:889",
"start_pc": 889,
"type": "basic_block"
},
{
"end_pc": 908,
"hash": "0x36e7add8b65542db6367e2d00c4f8434f0b8d9c8d1c0c162f8efe6bc6a6d6921",
"id": "bb:904",
"start_pc": 904,
"type": "basic_block"
},
{
"end_pc": 916,
"hash": "0x08a6ebc42187b6b6842ace99964036a2129a4ad25e95bb736f716fe9e199c3ac",
"id": "bb:909",
"start_pc": 909,
"type": "basic_block"
},
{
"end_pc": 920,
"hash": "0x178085f1dc162eab00595ef6be91e6e8e97a5fea76b388b0474a947981314f41",
"id": "bb:917",
"start_pc": 917,
"type": "basic_block"
},
{
"end_pc": 935,
"hash": "0x3c0d7378a4127606beb5597c3643ae2832557a66ac4ee38aad4232832f32e251",
"id": "bb:921",
"start_pc": 921,
"type": "basic_block"
},
{
"end_pc": 940,
"hash": "0xddc70a55d4c51733bebcf83a5dcc62cc6351bdd9a7bd6c6b63911c6086be0107",
"id": "bb:936",
"start_pc": 936,
"type": "basic_block"
},
{
"end_pc": 948,
"hash": "0x550f607a4fd62873d022e2b84c2066083b86c82a64765282cd8c63fea92500ba",
"id": "bb:941",
"start_pc": 941,
"type": "basic_block"
},
{
"end_pc": 952,
"hash": "0x9576183d2014f4c2c72b85c90794648b543d73ee2926621746d0b2f9e4ef0ec9",
"id": "bb:949",
"start_pc": 949,
"type": "basic_block"
},
{
"end_pc": 964,
"hash": "0x727b1a0503c43adad183ad27b777b8a1cef8dadcc7a1ed647f56cce62f8ece93",
"id": "bb:953",
"start_pc": 953,
"type": "basic_block"
},
{
"end_pc": 972,
"hash": "0x91e24d573fb85ae7feea450d72cf6759aa7d05660ede484d968ecf9ca5c3050b",
"id": "bb:965",
"start_pc": 965,
"type": "basic_block"
},
{
"end_pc": 976,
"hash": "0x2bf0c5859dfe2f2b8e9317fca142899fc0f34a278bfbdb76343b18ca2adb2812",
"id": "bb:973",
"start_pc": 973,
"type": "basic_block"
},
{
"end_pc": 991,
"hash": "0x5c5b2bc691df5b814b23fa65dcea4ef8268fb613c474e2a1f4ca70be59dccfcc",
"id": "bb:977",
"start_pc": 977,
"type": "basic_block"
},
{
"end_pc": 1024,
"hash": "0xde16bee9ff44f43864c877eaec3f6864ddbb2d91a7a622240e9a7e697094b107",
"id": "bb:992",
"start_pc": 992,
"type": "basic_block"
},
{
"end_pc": 1032,
"hash": "0xa9ea8b68e66b6ecbe4acd585d4ba3102d529a7b467767ae77fdd0eed59305a41",
"id": "bb:1025",
"start_pc": 1025,
"type": "basic_block"
},
{
"end_pc": 1036,
"hash": "0x5f8a436ef51510f5a0e72b420ba3d670908d62a205fb2285b2ac0e92c6f44d9c",
"id": "bb:1033",
"start_pc": 1033,
"type": "basic_block"
},
{
"end_pc": 1051,
"hash": "0xa4f71ae6325250dc6a3929a319f0171febdf0c43d129901f0a47499c942d0fe8",
"id": "bb:1037",
"start_pc": 1037,
"type": "basic_block"
},
{
"end_pc": 1056,
"hash": "0xf749e8a97a53a22685d767d2ccaa4a9e515cf16c90be163b49cce37e3df0a31d",
"id": "bb:1052",
"start_pc": 1052,
"type": "basic_block"
},
{
"end_pc": 1064,
"hash": "0xde52b3c6688df7159a8b83284ea98694d11c5731a7a9763bb1e0067472af43f0",
"id": "bb:1057",
"start_pc": 1057,
"type": "basic_block"
},
{
"end_pc": 1068,
"hash": "0xeb4600b24ec6a5b4d1fa18fac3ce855121551bedcb748a90ce0715c76731a083",
"id": "bb:1065",
"start_pc": 1065,
"type": "basic_block"
},
{
"end_pc": 1083,
"hash": "0x23cda3145f21b630fd9acad0e2f44357ef5c0fd772f56ab4152ff38bdaed4a8f",
"id": "bb:1069",
"start_pc": 1069,
"type": "basic_block"
},
{
"end_pc": 1088,
"hash": "0xb783fb1df231abea75085a77928c6d04fc7994cc8b4dabe38d30e620a598abe6",
"id": "bb:1084",
"start_pc": 1084,
"type": "basic_block"
},
{
"end_pc": 1096,
"hash": "0x003bf2849ae1b6c43305a498c31bee6b3aa28f69648df4475b65d433562a8b02",
"id": "bb:1089",
"start_pc": 1089,
"type": "basic_block"
},
{
"end_pc": 1100,
"hash": "0x9bc58f8396e72784d09a2f39a1b517f6d38c2a7e92812b09d2ba3ba7bf37c9cc",
"id": "bb:1097",
"start_pc": 1097,
"type": "basic_block"
},
{
"end_pc": 1109,
"hash": "0x76d0a5e6937754383872b0459d80553fd6ab96223704cb7aa1823f00c4bba038",
"id": "bb:1101",
"start_pc": 1101,
"type": "basic_block"
},
{
"end_pc": 1117,
"hash": "0x1e48c29c36b69c534451d717900c6755854844ad3baa0a6b1e5ef88a90660f60",
"id": "bb:1110",
"start_pc": 1110,
"type": "basic_block"
},
{
"end_pc": 1121,
"hash": "0x9100e3787343fb44edd1ab90f8209c56f81504f8910a3df0be4c0bea977b119d",
"id": "bb:1118",
"start_pc": 1118,
"type": "basic_block"
},
{
"end_pc": 1130,
"hash": "0x63fd7fef7feca4e9b9bd93b30e1e21dfcb50abd6c8ee154b1b6a497d6521347e",
"id": "bb:1122",
"start_pc": 1122,
"type": "basic_block"
},
{
"end_pc": 1138,
"hash": "0xe60c7753f3b73755d01ac00ac30cfb02bb099dab38f8f0a2fe3fbe9a96f654af",
"id": "bb:1131",
"start_pc": 1131,
"type": "basic_block"
},
{
"end_pc": 1142,
"hash": "0xb39a02ce17a99eebfe98aa3b10c095ff4005436d1a287341a8783213a78c9564",
"id": "bb:1139",
"start_pc": 1139,
"type": "basic_block"
},
{
"end_pc": 1157,
"hash": "0x1925dfddb0e651f25698e0a7f3c3ee749922061ea4a38e2a106a21b7956dbf6f",
"id": "bb:1143",
"start_pc": 1143,
"type": "basic_block"
},
{
"end_pc": 1162,
"hash": "0x8979fd203f522e473fbacb632e3753446fda029af921f404be6d1499dbe0b7cb",
"id": "bb:1158",
"start_pc": 1158,
"type": "basic_block"
},
{
"end_pc": 1170,
"hash": "0x4cf894f2ef81671ccc1623f06710bd93d60b2e0cb33ab9fc1601534dfacc872b",
"id": "bb:1163",
"start_pc": 1163,
"type": "basic_block"
},
{
"end_pc": 1174,
"hash": "0x29555c4f47e3d97df7527efdc0f07309721f51311146512590c7dd0510979def",
"id": "bb:1171",
"start_pc": 1171,
"type": "basic_block"
},
{
"end_pc": 1194,
"hash": "0x92efbf0ec0cc9e2fd00fbd5f762f054b38fda6bb4f1ba83c8905360ecff6e6a8",
"id": "bb:1175",
"start_pc": 1175,
"type": "basic_block"
},
{
"end_pc": 1208,
"hash": "0x35a619fbb0b45d43a386e920d4d005d257bc57c82fd82ce0da363bc345000cb2",
"id": "bb:1195",
"start_pc": 1195,
"type": "basic_block"
},
{
"end_pc": 1213,
"hash": "0xbd1684a0ebc2a000b336d0b53242d8138771c66cb4d32de84755609b16ecd31a",
"id": "bb:1209",
"start_pc": 1209,
"type": "basic_block"
},
{
"end_pc": 1221,
"hash": "0x31d59793bbd52322cecb53c444817d6b9c244c5294a2a2f9386976fca24288d0",
"id": "bb:1214",
"start_pc": 1214,
"type": "basic_block"
},
{
"end_pc": 1225,
"hash": "0x9c1a3473a74c2ccee3f1edabad2648ae4939cc6fbe582c10140b2e1d3d5fa68b",
"id": "bb:1222",
"start_pc": 1222,
"type": "basic_block"
},
{
"end_pc": 1240,
"hash": "0x908355bd4e7d888e29b00b1a8997e9f23995749e445184140ba4b435e6f7c5a7",
"id": "bb:1226",
"start_pc": 1226,
"type": "basic_block"
},
{
"end_pc": 1245,
"hash": "0x571a4494a1e4e99e4eb55c6e7ef53ff6dc0a3f3ffa977bc95776762440e8304d",
"id": "bb:1241",
"start_pc": 1241,
"type": "basic_block"
},
{
"end_pc": 1253,
"hash": "0x13f37aa22e996756383b3ca97b69fc19bb8e3efdee342fe8a4e6c6125b51663c",
"id": "bb:1246",
"start_pc": 1246,
"type": "basic_block"
},
{
"end_pc": 1257,
"hash": "0x4e1e59754ff54cb2e2eae5fed6275cb044b878db15a523d3ced6c825535aa6c2",
"id": "bb:1254",
"start_pc": 1254,
"type": "basic_block"
},
{
"end_pc": 1277,
"hash": "0x4c05025a00e0f1160a444f408206faa1a795be2fbd3ba1431569e5ed62e1f7dc",
"id": "bb:1258",
"start_pc": 1258,
"type": "basic_block"
},
{
"end_pc": 1285,
"hash": "0xf65493f2822f651246926138d0473e5db3658c08ac23111863f8599eff218d51",
"id": "bb:1278",
"start_pc": 1278,
"type": "basic_block"
},
{
"end_pc": 1289,
"hash": "0x9497826c8aef554bc6c6a0829be7d31180b2dcad33598179784e2d86d2331357",
"id": "bb:1286",
"start_pc": 1286,
"type": "basic_block"
},
{
"end_pc": 1304,
"hash": "0xdf2f26d49364512a2d45d09598b345effec57f097c9108cd33cb547b4df213a6",
"id": "bb:1290",
"start_pc": 1290,
"type": "basic_block"
},
{
"end_pc": 1309,
"hash": "0xacb2f313f14d075edbdaa49b137e589cdd87273c1c69b5718100869e914becab",
"id": "bb:1305",
"start_pc": 1305,
"type": "basic_block"
},
{
"end_pc": 1317,
"hash": "0x97f72d98a0655f0c2a8cbd74160c9c5f8f439af413c1c37e57a82242c130f351",
"id": "bb:1310",
"start_pc": 1310,
"type": "basic_block"
},
{
"end_pc": 1321,
"hash": "0xdc3775851c1dd14d4f91ae8fb6f999a7524ef7353bd032cecf6586492fd1411e",
"id": "bb:1318",
"start_pc": 1318,
"type": "basic_block"
},
{
"end_pc": 1341,
"hash": "0x55c27373017c5599527c2cdcb55076b6c03b70e5d4b8034305a7597d0e1073e2",
"id": "bb:1322",
"start_pc": 1322,
"type": "basic_block"
},
{
"end_pc": 1349,
"hash": "0xd8ee881705c669bcf5f8c6a90202ed88af268a565e9ea171423cf287d35131bc",
"id": "bb:1342",
"start_pc": 1342,
"type": "basic_block"
},
{
"end_pc": 1353,
"hash": "0xb4dac6ff3543c3a138b9353a2a1692038f6d96b26a969cb75737fd3b420aa251",
"id": "bb:1350",
"start_pc": 1350,
"type": "basic_block"
},
{
"end_pc": 1368,
"hash": "0x912e2ef75b830d1eb5cb499e944d771fb5c787d7e57d7b9c5f9f6b496e4bb746",
"id": "bb:1354",
"start_pc": 1354,
"type": "basic_block"
},
{
"end_pc": 1373,
"hash": "0xc91f6c12f6e3aca27de014874216afa68a4cd9a713ba965c99ea91b48720e076",
"id": "bb:1369",
"start_pc": 1369,
"type": "basic_block"
},
{
"end_pc": 1400,
"hash": "0x992827b1828351f3d1fa4db4736422a73849efc0c94aa15f7639a5796df8a953",
"id": "bb:1374",
"start_pc": 1374,
"type": "basic_block"
},
{
"end_pc": 1404,
"hash": "0x07daef6040b72a84653785afdc07c7b91710c3ccff785534e7afaeb4e5859f37",
"id": "bb:1401",
"start_pc": 1401,
"type": "basic_block"
},
{
"end_pc": 1409,
"hash": "0x6aa4be888d5b5d7043d4a5d43e5598295a4c327bcc53d0da98c89d6d3f4ee1b4",
"id": "bb:1405",
"start_pc": 1405,
"type": "basic_block"
},
{
"end_pc": 1414,
"hash": "0x7a405193a821ac177c3461a8497f3e69fefed21df5a42e3a30182f98fc8e265c",
"id": "bb:1410",
"start_pc": 1410,
"type": "basic_block"
},
{
"end_pc": 1423,
"hash": "0xf8986bb84c3fbee6d128e789e947ff7808c430f1f2c935990e86d01ffe2e00b9",
"id": "bb:1415",
"start_pc": 1415,
"type": "basic_block"
},
{
"end_pc": 1428,
"hash": "0x023b8cb77a43c44d851041633e1785a57300d42d8806b7b1dbbe100a5828621a",
"id": "bb:1424",
"start_pc": 1424,
"type": "basic_block"
},
{
"end_pc": 1451,
"hash": "0x2c44e819aa60d57bf3d8f1712cf659f0cbf61553512e76c5a6a907e3e4ae508d",
"id": "bb:1429",
"start_pc": 1429,
"type": "basic_block"
},
{
"end_pc": 1525,
"hash": "0xb2c1b073ed08692aaf241a5a758ab75858d77dc3672cd3e8c146fc60679cbfd8",
"id": "bb:1452",
"start_pc": 1452,
"type": "basic_block"
},
{
"end_pc": 1529,
"hash": "0x172bd135e5123c22537c76c98f799f22a77217d010866757da3bc7bf529a0aaf",
"id": "bb:1526",
"start_pc": 1526,
"type": "basic_block"
},
{
"end_pc": 1540,
"hash": "0xdcd7243f32b1b4bc37c5fbee3c959fc727b3585b337382ef87370bcc42daee7d",
"id": "bb:1530",
"start_pc": 1530,
"type": "basic_block"
},
{
"end_pc": 1549,
"hash": "0xaa5289b74bfb4b03895e01ea1fbd880c0c2d29ad9e0f7d391a0082dde7d0fa5b",
"id": "bb:1541",
"start_pc": 1541,
"type": "basic_block"
},
{
"end_pc": 1585,
"hash": "0xeaaa4535dbb5b65b05777e948ea4b5f4ec34986676078d74c6a1123129113d5c",
"id": "bb:1550",
"start_pc": 1550,
"type": "basic_block"
},
{
"end_pc": 1590,
"hash": "0x900fe24267283f6e373bc3defad6591fe8f1bb66ffe2ef38bcd0eb35870bb9ae",
"id": "bb:1586",
"start_pc": 1586,
"type": "basic_block"
},
{
"end_pc": 1661,
"hash": "0x70fc68be4584dcbb187bdbbaced79513dd210625181d347b44710056ddfea5f8",
"id": "bb:1591",
"start_pc": 1591,
"type": "basic_block"
},
{
"end_pc": 1695,
"hash": "0x95db1b1f6f708155cd20b9ef24ebd62f2dc66c50b6055d1daf6d1ed9ebc87841",
"id": "bb:1662",
"start_pc": 1662,
"type": "basic_block"
},
{
"end_pc": 1704,
"hash": "0xc8195421983ccbc189fc804815fc0149d1ae1e1bde2a3b58a972868864816eff",
"id": "bb:1696",
"start_pc": 1696,
"type": "basic_block"
},
{
"end_pc": 1709,
"hash": "0x20348a50c7d6a731f8363118a8521932cd4f641c45289319b3777e545a22f49e",
"id": "bb:1705",
"start_pc": 1705,
"type": "basic_block"
},
{
"end_pc": 1732,
"hash": "0x207473032aaffa5a3fb626304ecff3aa93c47b22d12e438af06118f116acde77",
"id": "bb:1710",
"start_pc": 1710,
"type": "basic_block"
},
{
"end_pc": 1819,
"hash": "0x8a211888b46cb6c49f437ba54a850159e33f7e8f15736d5b0160b62d18d8e5f4",
"id": "bb:1733",
"start_pc": 1733,
"type": "basic_block"
},
{
"end_pc": 1828,
"hash": "0x21c060467efc96ba5b8743a533274cec2631c4b0b2d2bdfc8219c3478055e637",
"id": "bb:1820",
"start_pc": 1820,
"type": "basic_block"
},
{
"end_pc": 1833,
"hash": "0x5c81b895f28e26c9f38d5876f670a6416b4156695cb4f6d5e835fa1cc270912c",
"id": "bb:1829",
"start_pc": 1829,
"type": "basic_block"
},
{
"end_pc": 1856,
"hash": "0x0f4ced884ecb33fc422d21041a4839e06d318689e3faa8d85426d5a844429294",
"id": "bb:1834",
"start_pc": 1834,
"type": "basic_block"
},
{
"end_pc": 1897,
"hash": "0x4046236bfeeb0830edc216a037d2157c7ddd87b78dac142cca611a12575b98cb",
"id": "bb:1857",
"start_pc": 1857,
"type": "basic_block"
},
{
"end_pc": 1901,
"hash": "0x287c74cdc6c709d21765d84c82c2161360e14fb538d002020d84a54e5b8b922f",
"id": "bb:1898",
"start_pc": 1898,
"type": "basic_block"
},
{
"end_pc": 1918,
"hash": "0xee606c811181c13d06e50e8ba8eb937a48629cd90e5799093be22d4c171cadd6",
"id": "bb:1902",
"start_pc": 1902,
"type": "basic_block"
},
{
"end_pc": 1924,
"hash": "0xdfdd4dc5f5f467cee047f0d65e8e30ecefe1de07c4bad6d5bb324c7064c24f07",
"id": "bb:1919",
"start_pc": 1919,
"type": "basic_block"
},
{
"end_pc": 1985,
"hash": "0x18331bede937dd21d0d43c09506571b4a18c5d136f25e59b9f9b4a0f2a416274",
"id": "bb:1925",
"start_pc": 1925,
"type": "basic_block"
},
{
"end_pc": 1989,
"hash": "0x547254b044b5c766351ad76d793418cf5dae632254c1a9ff98b86bd626affe20",
"id": "bb:1986",
"start_pc": 1986,
"type": "basic_block"
},
{
"end_pc": 2000,
"hash": "0xc936986daa1c3baff17d1eddf61676784de99ee0c9505710891c8f7e54baa66a",
"id": "bb:1990",
"start_pc": 1990,
"type": "basic_block"
},
{
"end_pc": 2009,
"hash": "0xdd5668251cc4c7390358c50a3f7cf4956d3198c327ef9be746871c55fda3fbc0",
"id": "bb:2001",
"start_pc": 2001,
"type": "basic_block"
},
{
"end_pc": 2045,
"hash": "0xfb8d80626a6cf62c3973b576701ec5eed8b92b63454bea00da4f0c3ecfc9ffaa",
"id": "bb:2010",
"start_pc": 2010,
"type": "basic_block"
},
{
"end_pc": 2052,
"hash": "0x08096f987f6fd069034da331e51c5df901d5531aa2077e9f2ebb08a0463c2e49",
"id": "bb:2046",
"start_pc": 2046,
"type": "basic_block"
},
{
"end_pc": 2057,
"hash": "0xfd45874d42eef5c67d831065c9d04229a5efbe30edbccf7e4ea0e17cf7dfdc7e",
"id": "bb:2053",
"start_pc": 2053,
"type": "basic_block"
},
{
"end_pc": 2066,
"hash": "0x3377453f9ce0b7f52a8ef1e287d643876fed3f26b00166920c6e108eac0aa14a",
"id": "bb:2058",
"start_pc": 2058,
"type": "basic_block"
},
{
"end_pc": 2071,
"hash": "0xca6515a841b72ec5c14fd18a47ed866d30dd462152b7763a734d5aa1b9ecdb8f",
"id": "bb:2067",
"start_pc": 2067,
"type": "basic_block"
},
{
"end_pc": 2094,
"hash": "0x3ae77a4147c0489f4fe64ced30ce454dd00b8fac879dadfaf93616a05adc7a8b",
"id": "bb:2072",
"start_pc": 2072,
"type": "basic_block"
},
{
"end_pc": 2109,
"hash": "0xaa66da474033b5d547eb597e8b5175a97cf639822f29d244bca1e3aae78953b9",
"id": "bb:2095",
"start_pc": 2095,
"type": "basic_block"
},
{
"end_pc": 2132,
"hash": "0x87c2a43f025299ffc4f91b9a00ac68ee038467ceacbbccd3abc9348c01570b27",
"id": "bb:2110",
"start_pc": 2110,
"type": "basic_block"
},
{
"end_pc": 2223,
"hash": "0x846f272d910c1064cb7d5a85f2e1b7ecffe2232439f898c5c8d268579bd1c3f8",
"id": "bb:2133",
"start_pc": 2133,
"type": "basic_block"
},
{
"end_pc": 2242,
"hash": "0x950e0ebefac5a8eaec918c59cab064a0a53b0af6caf279b99f790ed734214a30",
"id": "bb:2224",
"start_pc": 2224,
"type": "basic_block"
},
{
"end_pc": 2331,
"hash": "0x4e86143ca15cdb37d59e890bf32a0a89289fb7f9acf05c8527e6c1aac2bbc95e",
"id": "bb:2243",
"start_pc": 2243,
"type": "basic_block"
},
{
"end_pc": 2431,
"hash": "0x48a84641f52f16505a773755fe70d16d7c10168be80ad9875cca9dcae1a61450",
"id": "bb:2332",
"start_pc": 2332,
"type": "basic_block"
},
{
"end_pc": 2440,
"hash": "0xa9281d466d1b15ef33c877497f56aa7b7cd45f5cca010837e6d012b9c27bf23a",
"id": "bb:2432",
"start_pc": 2432,
"type": "basic_block"
},
{
"end_pc": 2445,
"hash": "0x86b69cff14afa3725d9d969843a7721b903ca3bcac7fbefa7fbab23350285eb9",
"id": "bb:2441",
"start_pc": 2441,
"type": "basic_block"
},
{
"end_pc": 2468,
"hash": "0x810148b051c276a964b46a50193952cb6f86337eb9bc092e50207f4a5b545e78",
"id": "bb:2446",
"start_pc": 2446,
"type": "basic_block"
},
{
"end_pc": 2475,
"hash": "0xd4c5e8cd7e31f4bed0e01dc1dacb312c3edbb0c8bc767c3fda57740ea8738f56",
"id": "bb:2469",
"start_pc": 2469,
"type": "basic_block"
},
{
"end_pc": 2482,
"hash": "0xc05ccbc6134e8205bd604001065bbb825ab2c248111270348c384dec0030869c",
"id": "bb:2476",
"start_pc": 2476,
"type": "basic_block"
},
{
"end_pc": 2485,
"hash": "0x502a25471354df70990964593a4f3b8b4e993c91632af9e69b4d36159a5f3bc4",
"id": "bb:2483",
"start_pc": 2483,
"type": "basic_block"
},
{
"end_pc": 2493,
"hash": "0xf3900221d08bc1307109cf069aca7c92dfd4323380d171ec3bb5eb98644bdf72",
"id": "bb:2486",
"start_pc": 2486,
"type": "basic_block"
},
{
"end_pc": 2502,
"hash": "0xd6521bd8d36b838c7a66d46cb43f7178e77fe745dba1a8004b34c4bc1417d335",
"id": "bb:2494",
"start_pc": 2494,
"type": "basic_block"
},
{
"end_pc": 2507,
"hash": "0x7f4f909fd9cd6efd3a5296fd25b52946a0020eea5877ef0351668a9a52acbe3b",
"id": "bb:2503",
"start_pc": 2503,
"type": "basic_block"
},
{
"end_pc": 2530,
"hash": "0xf3a6cb1ccace42c083c08d562fc2d44327ffaacd7739b4ea9b7505af70d8d7b3",
"id": "bb:2508",
"start_pc": 2508,
"type": "basic_block"
},
{
"end_pc": 2545,
"hash": "0x48ba53a7523a8750db5411afe099d160c418dcfe2cf9697d9dd5cc8e0c3290f7",
"id": "bb:2531",
"start_pc": 2531,
"type": "basic_block"
},
{
"end_pc": 2551,
"hash": "0xd23009a648bcc1ccdaeda92b7d6725340ad283e4d50bc658ca0a88227de93934",
"id": "bb:2546",
"start_pc": 2546,
"type": "basic_block"
},
{
"end_pc": 2558,
"hash": "0xc3eda48b067f2cd2894684bde7afcc53fda1cab740aee6d2bc26bc43ef5f1a65",
"id": "bb:2552",
"start_pc": 2552,
"type": "basic_block"
},
{
"end_pc": 2567,
"hash": "0x8fd46b47d1a8ea1bb814cd45bbf613ed1cb3f8892e9d9aa9d952ae4d82277cd8",
"id": "bb:2559",
"start_pc": 2559,
"type": "basic_block"
},
{
"end_pc": 2572,
"hash": "0x7c5b4d1678c24aff834e41d2a4cff2af7cc162335beebe9f9fcbe6de5f257cae",
"id": "bb:2568",
"start_pc": 2568,
"type": "basic_block"
},
{
"end_pc": 2574,
"hash": "0x82bfc2dd9f2512b8f23ee6c2caf227973fead6cd3b9153a64fc8d40b6c114429",
"id": "bb:2573",
"start_pc": 2573,
"type": "basic_block"
},
{
"end_pc": 2577,
"hash": "0xcd5f94ae29f561b877061ede108baf1e29fdc5cc7c72a4b94df037fa3ba4b519",
"id": "bb:2575",
"start_pc": 2575,
"type": "basic_block"
},
{
"end_pc": 2625,
"hash": "0xda1feb5310b3839e4cff74351c251daf3e4d02f97bf7d588a142956f50cb0596",
"id": "bb:2578",
"start_pc": 2578,
"type": "basic_block"
},
{
"end_pc": 2634,
"hash": "0xef66290e39c381e32410a1ba18f81cf956b6835c7b1e4185a29a80e0affda95d",
"id": "bb:2626",
"start_pc": 2626,
"type": "basic_block"
},
{
"end_pc": 2641,
"hash": "0x6f5bc266206cb18c335167ac95c22827b177202a140a1b4d18663c4aae2d704f",
"id": "bb:2635",
"start_pc": 2635,
"type": "basic_block"
},
{
"end_pc": 2705,
"hash": "0x587b96a0ed68e214c7bf6bc0d232832f317cc93f62761eaee99070864ac24b96",
"id": "bb:2642",
"start_pc": 2642,
"type": "basic_block"
},
{
"end_pc": 2709,
"hash": "0xa8705dbf87bcd8046bb481e8b2bb127b13c7cbee1c1e8740ea253f3af1e6b853",
"id": "bb:2706",
"start_pc": 2706,
"type": "basic_block"
},
{
"end_pc": 2720,
"hash": "0x4c4592eaee20954b393ee9a684011ed6c6975d5f8293ac468689736981197499",
"id": "bb:2710",
"start_pc": 2710,
"type": "basic_block"
},
{
"end_pc": 2729,
"hash": "0x3dae51522d017cbef2cc0b0874951ea940476fb4fd6d825956d5b08d5aecd6f3",
"id": "bb:2721",
"start_pc": 2721,
"type": "basic_block"
},
{
"end_pc": 2765,
"hash": "0xadaa9478d18a2724d04548d4a5295da54ecc244a0c6e23d8cfbcf7047575ea85",
"id": "bb:2730",
"start_pc": 2730,
"type": "basic_block"
},
{
"end_pc": 2773,
"hash": "0x5fc177da5836143ea4ca6daa0fce2d1d99b8b893199d1e1ef6a174b3d8a099f2",
"id": "bb:2766",
"start_pc": 2766,
"type": "basic_block"
},
{
"end_pc": 2780,
"hash": "0x94da1e514cb4e4ecb78155ca53b48faf7565166734acaad478fb583a98d6cd97",
"id": "bb:2774",
"start_pc": 2774,
"type": "basic_block"
},
{
"end_pc": 2789,
"hash": "0x312d2b6d300d54cff708fac07a65f2c1cc0b86f17bd3ef329bf7e82c16409e2c",
"id": "bb:2781",
"start_pc": 2781,
"type": "basic_block"
},
{
"end_pc": 2794,
"hash": "0xc7a84782d9ae3c272735df01caa875f98d024dbc118358dfed668d82ba8ae121",
"id": "bb:2790",
"start_pc": 2790,
"type": "basic_block"
},
{
"end_pc": 2796,
"hash": "0xc1a2e79a2e8eaf8762433cd16aadfaed4bfab46b64eaede5db577cd640640af4",
"id": "bb:2795",
"start_pc": 2795,
"type": "basic_block"
},
{
"end_pc": 2799,
"hash": "0x765af9e9e98dd4e43b06e25475e96428572ab4dd961a21aa034fdfb188083ed9",
"id": "bb:2797",
"start_pc": 2797,
"type": "basic_block"
},
{
"end_pc": 2808,
"hash": "0xd564e68156fc4b940e304ac3fdea2968ccdf50bab69e855fb89bc62bd235cc11",
"id": "bb:2800",
"start_pc": 2800,
"type": "basic_block"
},
{
"end_pc": 2813,
"hash": "0x20e28df6c3581937ef016cbe8e4cfcbe7dd386c1ba70f86ae4b9e0457382c46f",
"id": "bb:2809",
"start_pc": 2809,
"type": "basic_block"
},
{
"end_pc": 2815,
"hash": "0x3719dadd2e1e2752e463577fa88725362ea5fd540a8d00f3ffe14746e84355ad",
"id": "bb:2814",
"start_pc": 2814,
"type": "basic_block"
},
{
"end_pc": 2844,
"hash": "0x45623be43a5856708e02b25ab1bfa5e8d70e17da71ef21721d53527af8e74278",
"id": "bb:2816",
"start_pc": 2816,
"type": "basic_block"
},
{
"end_pc": 2847,
"hash": "0xf4e390440bfb9e6ea42d80e11a32f3e474bd16ca7ab12d2150a609f25c9dd135",
"id": "bb:2845",
"start_pc": 2845,
"type": "basic_block"
},
{
"end_pc": 2920,
"hash": "0xa33a35a2ab2c985418f29e3dac393b301cb9c7b54acde3e92cb806ab9010314c",
"id": "bb:2848",
"start_pc": 2848,
"type": "basic_block"
},
{
"end_pc": 2929,
"hash": "0xfec9fe2a5d6471ccdf9c2457277e68f706c3b238507c62f44323bd6f81532794",
"id": "bb:2921",
"start_pc": 2921,
"type": "basic_block"
},
{
"end_pc": 2934,
"hash": "0xf52ed08352a559b870e86e88a0aeadf77019fe1fa15118e7a16c62f13fae05d4",
"id": "bb:2930",
"start_pc": 2930,
"type": "basic_block"
},
{
"end_pc": 2957,
"hash": "0x59306b3db9474601c1f0c6a48c18054eb1f98d17944e1a934151af014c3df010",
"id": "bb:2935",
"start_pc": 2935,
"type": "basic_block"
},
{
"end_pc": 2990,
"hash": "0xb91faa7f0440ca1e8e5124de0645d6f661943946c233f70b53470673b81d436c",
"id": "bb:2958",
"start_pc": 2958,
"type": "basic_block"
},
{
"end_pc": 3065,
"hash": "0x55b468d1ff2897f94111344c9a524b418cca0142b486e2a4fddb5ccd12ae0085",
"id": "bb:2991",
"start_pc": 2991,
"type": "basic_block"
},
{
"end_pc": 3149,
"hash": "0x1027a16bf87c3c3af20886997a130c89e06b09c7220772d3cf332a48a571d264",
"id": "bb:3066",
"start_pc": 3066,
"type": "basic_block"
},
{
"end_pc": 3161,
"hash": "0x102342604be22e90b3e5d09d745a1659b7ce98d23c9de66aa4aa709f473c4a7f",
"id": "bb:3150",
"start_pc": 3150,
"type": "basic_block"
},
{
"end_pc": 3165,
"hash": "0x56ea57963d047ec3db8048e17087a411895ba278485c8b6fb03507f943d2bdd2",
"id": "bb:3162",
"start_pc": 3162,
"type": "basic_block"
},
{
"end_pc": 3191,
"hash": "0x6426ba54a35858c87b189d86c832a38c61a15a6c29e230c9e0832db54c2ef93b",
"id": "bb:3166",
"start_pc": 3166,
"type": "basic_block"
},
{
"end_pc": 3200,
"hash": "0xf903e3073a069dd182f987de0a2c86ae7f15c3e9e242363b3ae5e27af501c261",
"id": "bb:3192",
"start_pc": 3192,
"type": "basic_block"
},
{
"end_pc": 3205,
"hash": "0x3db971ed4cb33a41e5a46d5f568afcaf20c1dfbab9163ab6056324ed9dff85cf",
"id": "bb:3201",
"start_pc": 3201,
"type": "basic_block"
},
{
"end_pc": 3228,
"hash": "0xe120c9b1d16df54fc0bbbb92a6d2a3291e20a5626168aba2315759e6675426f6",
"id": "bb:3206",
"start_pc": 3206,
"type": "basic_block"
},
{
"end_pc": 3243,
"hash": "0x64c1fc91b402cd5d5aedda1d7aa29fa1e9632c8deaab1e6c1ef4b16c8a310f5f",
"id": "bb:3229",
"start_pc": 3229,
"type": "basic_block"
},
{
"end_pc": 3266,
"hash": "0x051f5527e4fab2dc1070baec390ec633879ea5ba6331092d2945a7e1fd85bc01",
"id": "bb:3244",
"start_pc": 3244,
"type": "basic_block"
},
{
"end_pc": 3357,
"hash": "0x852ea259b1f55ae46b185e04719725c44bae78e4d5b7cbacb4a7174c8ed93a87",
"id": "bb:3267",
"start_pc": 3267,
"type": "basic_block"
},
{
"end_pc": 3369,
"hash": "0x1539c1f5f2ab734bca008a22f8996b2bc91ea355e46bce312f3b3bcbf1056800",
"id": "bb:3358",
"start_pc": 3358,
"type": "basic_block"
},
{
"end_pc": 3427,
"hash": "0x0778fa394253460136ceee16727de058989896a847f11ad88e841c579947723f",
"id": "bb:3370",
"start_pc": 3370,
"type": "basic_block"
},
{
"end_pc": 3480,
"hash": "0x87de24d803a0c125a1a52118a158ae09f9bda4a489d7cbe19499632f4ac75009",
"id": "bb:3428",
"start_pc": 3428,
"type": "basic_block"
},
{
"end_pc": 3509,
"hash": "0x3e4390742c3b4b792872004b5a9aa624554e089671b8033f62c38c017d9194f3",
"id": "bb:3481",
"start_pc": 3481,
"type": "basic_block"
},
{
"end_pc": 3520,
"hash": "0x6e059dc7c64565bde5c72db5fb0e6cc84b3ce109dc4567b9cfd24de907eaa4bf",
"id": "bb:3510",
"start_pc": 3510,
"type": "basic_block"
},
{
"end_pc": 3582,
"hash": "0x6ba6065a655af60bb5dacc9ec036b5f5ac3a254241e3ffcac92da356a5a9cae0",
"id": "bb:3521",
"start_pc": 3521,
"type": "basic_block"
},
{
"end_pc": 3631,
"hash": "0x9d122771ff909a264023248c67744392985a443c6def252d1371e5e3e1ba0fbe",
"id": "bb:3583",
"start_pc": 3583,
"type": "basic_block"
},
{
"end_pc": 3775,
"hash": "0x9889d0b918fca1691dbdbc9aa67716da44b5a98ba75af0792c42e63b9881152a",
"id": "bb:3632",
"start_pc": 3632,
"type": "basic_block"
},
{
"end_pc": 3786,
"hash": "0x0cb58da65c70712c59286e872c248bcbb80574838f0884ebddf541af990f9430",
"id": "bb:3776",
"start_pc": 3776,
"type": "basic_block"
},
{
"end_pc": 3805,
"hash": "0xbd9685241e89fbf173944cf23c5f7d135a3875543abad62fea6b04a4a22e9242",
"id": "bb:3787",
"start_pc": 3787,
"type": "basic_block"
},
{
"end_pc": 3810,
"hash": "0x4b1c25e90e65cfff9d2eb47a021ccbdec517eb84a5b741f7e199773f3c1bde05",
"id": "bb:3806",
"start_pc": 3806,
"type": "basic_block"
},
{
"end_pc": 3900,
"hash": "0xfa44d360433eddb4d6168837793715853c0b37b35055648645b58386d7025b67",
"id": "bb:3811",
"start_pc": 3811,
"type": "basic_block"
},
{
"end_pc": 3915,
"hash": "0xd8214cabaa8dc9f0d0692edac4a56ba1fa1027c8e8900df8370769d6057474b3",
"id": "bb:3901",
"start_pc": 3901,
"type": "basic_block"
},
{
"end_pc": 3923,
"hash": "0x036b0f6e8dda56ca6174ce77f2d1252e7daeb63369ddf0bca8c19e7b89a91390",
"id": "bb:3916",
"start_pc": 3916,
"type": "basic_block"
},
{
"end_pc": 3934,
"hash": "0xcaff27d0220e63ab318c05dca337528bfab30b2ae650a77ac49936de62ebd774",
"id": "bb:3924",
"start_pc": 3924,
"type": "basic_block"
},
{
"end_pc": 4020,
"hash": "0x44f8b41805ffed18860bb54a2d24652a3c80726adea9e7fe76d54b862bbc2dba",
"id": "bb:3935",
"start_pc": 3935,
"type": "basic_block"
},
{
"end_pc": 4036,
"hash": "0x61dcec828777d6d995259d7eed3be334829eae37f15fd6d5331516a82e252b7f",
"id": "bb:4021",
"start_pc": 4021,
"type": "basic_block"
},
{
"end_pc": 4107,
"hash": "0xae18f9f1318422dc8c6f422b463413be716b9e3d0144a266da05ea049a0356f3",
"id": "bb:4037",
"start_pc": 4037,
"type": "basic_block"
},
{
"end_pc": 4135,
"hash": "0xe818d56e8bf02519d9ee877bb2ab0fd64e3c48cf9f8c9df88256ebf111049208",
"id": "bb:4108",
"start_pc": 4108,
"type": "basic_block"
},
{
"end_pc": 4163,
"hash": "0xff8d146a6fb9a15b2f909254fd8f3945c19bc9fbe9c5a3166515df0c88bb008f",
"id": "bb:4136",
"start_pc": 4136,
"type": "basic_block"
},
{
"end_pc": 4196,
"hash": "0x0a4ae70e14dab0fa3da6b76007d7cb3a0e7b80198a5fef7aa5527d64f6a7ec15",
"id": "bb:4164",
"start_pc": 4164,
"type": "basic_block"
},
{
"end_pc": 4201,
"hash": "0x897e1a7a96e336afb640cc6310350af50befd89a8af1eae1106b25e9d61d952e",
"id": "bb:4197",
"start_pc": 4197,
"type": "basic_block"
},
{
"end_pc": 4217,
"hash": "0x4eff106b466cb9a007baa4e1663034c9bfbdc0de438c1f3e5f52ac8dcc17008e",
"id": "bb:4202",
"start_pc": 4202,
"type": "basic_block"
},
{
"end_pc": 4228,
"hash": "0x909f9fa7cd1191928376324bd291e455d3a0b3fa55587aea146d0c5cdfcf4658",
"id": "bb:4218",
"start_pc": 4218,
"type": "basic_block"
},
{
"end_pc": 4237,
"hash": "0x6bde8a8083b9d10aeda698cabc57c08a5e0fba7cd6cbb64b21d47b512b26bad1",
"id": "bb:4229",
"start_pc": 4229,
"type": "basic_block"
},
{
"end_pc": 4243,
"hash": "0xbc5031a8f24c011a926acb0e0e8fcdb023ec6b15f134ccfeb6f5e6ce82cec5ad",
"id": "bb:4238",
"start_pc": 4238,
"type": "basic_block"
},
{
"end_pc": 4251,
"hash": "0xefe81fb8f287410f1a58dbf8f1cd6a5882fb77d871f32a4a19270c8fff2bad6e",
"id": "bb:4244",
"start_pc": 4244,
"type": "basic_block"
},
{
"end_pc": 4259,
"hash": "0xeb5a97917f762a84b0d065eb7b848e516505cbda01f8dd3cb7f6847251de5716",
"id": "bb:4252",
"start_pc": 4252,
"type": "basic_block"
},
{
"end_pc": 4285,
"hash": "0xa80d3148b39bdead3f98b67943ebb604ee542e755460787b7fccb749a65e3d60",
"id": "bb:4260",
"start_pc": 4260,
"type": "basic_block"
},
{
"end_pc": 4304,
"hash": "0xe344f71b5539ea92e0c7bb6ac4a755703fe786b6bd9d04730b2e8e38f54a9dc1",
"id": "bb:4286",
"start_pc": 4286,
"type": "basic_block"
},
{
"end_pc": 4308,
"hash": "0xe927065a1777f51d53b7b33677cf5bfbfee2728b44204b1ec2c9f2f04dc10929",
"id": "bb:4305",
"start_pc": 4305,
"type": "basic_block"
},
{
"end_pc": 4322,
"hash": "0x1d5ea6ee4cf28a66dc72cf2888e31c2019103bbbce9046132499a25984035567",
"id": "bb:4309",
"start_pc": 4309,
"type": "basic_block"
},
{
"end_pc": 4325,
"hash": "0x38b5765922d8eda6449c43139b4f457a7d3e84d13d0a939ef84025630e845b49",
"id": "bb:4323",
"start_pc": 4323,
"type": "basic_block"
},
{
"end_pc": 4334,
"hash": "0xcfeaffe398b6f7ef8aef07a7328d0bf47a3df28356257043ab6d32336c498dce",
"id": "bb:4326",
"start_pc": 4326,
"type": "basic_block"
},
{
"end_pc": 4349,
"hash": "0x2698e0abcd7a4d12585b2357941dd4a7bd360694a7c09c5bbedc39d6c3ad7d1e",
"id": "bb:4335",
"start_pc": 4335,
"type": "basic_block"
},
{
"end_pc": 4352,
"hash": "0x5e436c393c101dd7c04e9864fa2b31265a29032f6fa9a4e16eb86a40dc056983",
"id": "bb:4350",
"start_pc": 4350,
"type": "basic_block"
},
{
"end_pc": 4361,
"hash": "0xd318ae91fac5d352e8e952321bdf4073a914132ce2709d2d591d2e2d42045b9f",
"id": "bb:4353",
"start_pc": 4353,
"type": "basic_block"
},
{
"end_pc": 4375,
"hash": "0xec6fa5f9cced7992033726395a8475513a5da662e2b690dfba6b353d6d4eccac",
"id": "bb:4362",
"start_pc": 4362,
"type": "basic_block"
},
{
"end_pc": 4384,
"hash": "0x625ee17d9e5b099705e4fdbde0750291075d5d30bedc3d48c342c39b86429dd2",
"id": "bb:4376",
"start_pc": 4376,
"type": "basic_block"
},
{
"end_pc": 4399,
"hash": "0x128b837048a3422f9d0fd4ed0bad26bb5b2e183a7e9dd99b020a12c940d78660",
"id": "bb:4385",
"start_pc": 4385,
"type": "basic_block"
},
{
"end_pc": 4402,
"hash": "0xdb3c7fe3bac87d39c47a11864ebe66d36c97df8e02ffbed96bbb0876a40d94cf",
"id": "bb:4400",
"start_pc": 4400,
"type": "basic_block"
},
{
"end_pc": 4411,
"hash": "0x933c55d22423042453af5c30356bcec4f4996447c859ef96fa07c5b85a6af216",
"id": "bb:4403",
"start_pc": 4403,
"type": "basic_block"
},
{
"end_pc": 4425,
"hash": "0xb048214e4671f466a11589322403ff53298adf3725fa5a0c5d8d71e5cee5c5a4",
"id": "bb:4412",
"start_pc": 4412,
"type": "basic_block"
},
{
"end_pc": 4439,
"hash": "0x1769af1b92d88b8d80a55f98ee0accd00fc13392e21b4b5f9526393aaa4db876",
"id": "bb:4426",
"start_pc": 4426,
"type": "basic_block"
},
{
"end_pc": 4442,
"hash": "0xc7a55f5d7d25ff76059bef733c20518a9aa9c29a72110df5a43b119fe3abd7de",
"id": "bb:4440",
"start_pc": 4440,
"type": "basic_block"
},
{
"end_pc": 4453,
"hash": "0xa47e2eb1f306ffe2b8c0877b426e9dace46e29ec0573c133fd04758178d5a294",
"id": "bb:4443",
"start_pc": 4443,
"type": "basic_block"
},
{
"end_pc": 4467,
"hash": "0x57319aec04342f607d4ce1ae8976b7dc5a28e9f4fdd70f3cfb50fadeb49ae35d",
"id": "bb:4454",
"start_pc": 4454,
"type": "basic_block"
},
{
"end_pc": 4470,
"hash": "0x246ab9276099c30ae862c6c54b452c26786c041ea49c19f3fa01826e44a4871f",
"id": "bb:4468",
"start_pc": 4468,
"type": "basic_block"
},
{
"end_pc": 4481,
"hash": "0x3339ebaaa49b5585c755f5daa9ea75e1dddf16028fdb04a8bde582cd3b887c33",
"id": "bb:4471",
"start_pc": 4471,
"type": "basic_block"
},
{
"end_pc": 4496,
"hash": "0x411044f345f97f0a29e186d1db7743a268b5f9d379e8dc2013930adfdab32226",
"id": "bb:4482",
"start_pc": 4482,
"type": "basic_block"
},
{
"end_pc": 4499,
"hash": "0x0d041c8cc5e1d422673a78ee2860d80b51cbfd4cdf6f4a7d87722d550816afa2",
"id": "bb:4497",
"start_pc": 4497,
"type": "basic_block"
},
{
"end_pc": 4519,
"hash": "0x56a0117a4e81bb944373968c5a117832a7694e155c090415d3cb19fd6af912d8",
"id": "bb:4500",
"start_pc": 4500,
"type": "basic_block"
},
{
"end_pc": 4522,
"hash": "0x5436c29fb367603be97038ab406a668be8d05d8ed0d41d3b8af497a96e51dc9a",
"id": "bb:4520",
"start_pc": 4520,
"type": "basic_block"
},
{
"end_pc": 4538,
"hash": "0xc0383e313f8ee7c1088336f8798fb33295004dc5c4b7f1ad0fbb580cc44cde58",
"id": "bb:4523",
"start_pc": 4523,
"type": "basic_block"
},
{
"end_pc": 4541,
"hash": "0x165b9146b35570a991f6fa01d4a96fe384e56e58a52bb4968fbfdd7093ae8bbe",
"id": "bb:4539",
"start_pc": 4539,
"type": "basic_block"
},
{
"end_pc": 4552,
"hash": "0x4a88e8df2430f5d63ecb4f0554ad2ad394b7dd5a5b2c418a6cb544c1dfe61be0",
"id": "bb:4542",
"start_pc": 4542,
"type": "basic_block"
},
{
"end_pc": 4559,
"hash": "0x2fdab1ea4f396f06228e50d455d4ee49b807cfc45ddec1daee5f21a31052c24c",
"id": "bb:4553",
"start_pc": 4553,
"type": "basic_block"
},
{
"end_pc": 4592,
"hash": "0xacf107b9e72250ff50f0dd51f60e2c9be4379b4fcf408c641e81acaf382fa7b4",
"id": "bb:4560",
"start_pc": 4560,
"type": "basic_block"
},
{
"end_pc": 4599,
"hash": "0x65af884814d5ed8de5a053e2305e6f03f4f9776c127838d2d9d5d7b9c004a394",
"id": "bb:4593",
"start_pc": 4593,
"type": "basic_block"
},
{
"end_pc": 4620,
"hash": "0x410ad14d4e0fbe2d54db2eb217f29f83b5e6d56f98dccfd9430f5c6ece0c6475",
"id": "bb:4600",
"start_pc": 4600,
"type": "basic_block"
},
{
"end_pc": 4623,
"hash": "0x56c83f665d2546b8d8a1aa23c926f05e72c6b15c16a777d22d18225fc2f05562",
"id": "bb:4621",
"start_pc": 4621,
"type": "basic_block"
},
{
"end_pc": 4661,
"hash": "0x4265614206850756dfb4f42280bd4c79d84a087325d44d4bf3682b6f886b3039",
"id": "bb:4624",
"start_pc": 4624,
"type": "basic_block"
},
{
"end_pc": 4675,
"hash": "0x9a092f58053ae1ca297ee9b699c1977bc7c295a2614030f5fce2e4cd48d9ee9b",
"id": "bb:4662",
"start_pc": 4662,
"type": "basic_block"
},
{
"end_pc": 4678,
"hash": "0x667696018a86f4016a80ce4f3a51a4e8013580594067ba54454d8c0fc214cae4",
"id": "bb:4676",
"start_pc": 4676,
"type": "basic_block"
},
{
"end_pc": 4685,
"hash": "0x2e778352c58ca558b46a4dd0a0dde24fdf81b760e0982990241c537c00044119",
"id": "bb:4679",
"start_pc": 4679,
"type": "basic_block"
},
{
"end_pc": 4699,
"hash": "0xc0ff5248dea018cef4cfda45d04a8a5be6d723a84740fac9423fe0f3c85466f1",
"id": "bb:4686",
"start_pc": 4686,
"type": "basic_block"
},
{
"end_pc": 4702,
"hash": "0xc61e4499db0773920dd4ab7d79328ac6d3107574499766f32f6c3ee399255d2c",
"id": "bb:4700",
"start_pc": 4700,
"type": "basic_block"
},
{
"end_pc": 4709,
"hash": "0x38bfcb64254290618f2a57b8bde81d9ec62ed06e5f1062c2df1cd7abfdccc01a",
"id": "bb:4703",
"start_pc": 4703,
"type": "basic_block"
},
{
"end_pc": 4727,
"hash": "0xde8b1b2ec178e25b11ef966b416d440cdb422a85bb1d0778808ddde57c3c984f",
"id": "bb:4710",
"start_pc": 4710,
"type": "basic_block"
},
{
"end_pc": 4737,
"hash": "0xd26336fad18982d0e07a6ad7c257d5fa159dfd0574baa72733dd4a51a78ac8ee",
"id": "bb:4728",
"start_pc": 4728,
"type": "basic_block"
},
{
"end_pc": 4768,
"hash": "0x200987f7d6b7424a3700db8784cab489768a7b02a2a186088201c9bbbe735c7e",
"id": "bb:4738",
"start_pc": 4738,
"type": "basic_block"
},
{
"end_pc": 4788,
"hash": "0xffa6b473dad79588d9bdfe527db867019ddd945b6f7301eb9d41f0f2472bb287",
"id": "bb:4769",
"start_pc": 4769,
"type": "basic_block"
},
{
"end_pc": 4858,
"hash": "0x17bc75218be681be588e771143bad3509a6fc97c839137f91be241cd9c3ee2e6",
"id": "bb:4789",
"start_pc": 4789,
"type": "basic_block"
},
{
"end_pc": 4911,
"hash": "0x0147cf2c23d84b510e08a7eaa557db15e7cbe9571f2af4cb3e7f05f743dbae35",
"id": "bb:4859",
"start_pc": 4859,
"type": "basic_block"
},
{
"end_pc": 4913,
"hash": "0x041eb7574a9577ce4f77a38be04a44d2edd5efcdd21907411bf8c10d682c436b",
"id": "bb:4912",
"start_pc": 4912,
"type": "basic_block"
},
{
"end_pc": 4923,
"hash": "0x7a43b530a0e17fa7903487a67497dc66f5eb698b8ff5ca469619b79daeca6e50",
"id": "bb:4915",
"start_pc": 4915,
"type": "basic_block"
},
{
"end_pc": 4938,
"hash": "0xce565466db0e5eedb2628be35c55b74783fe68d15a2a9a04dd0b93859319d187",
"id": "bb:4924",
"start_pc": 4924,
"type": "basic_block"
},
{
"end_pc": 4947,
"hash": "0x22c106b14f42a4f612ea52d238cb8ed55936b57eba3b9a62e8d49c3906f5b08d",
"id": "bb:4939",
"start_pc": 4939,
"type": "basic_block"
},
{
"end_pc": 4953,
"hash": "0x5d0d4d8e0aba5a815b8854859e32dd3f432e22fc542ec85d73643fce5fd45f8b",
"id": "bb:4948",
"start_pc": 4948,
"type": "basic_block"
},
{
"end_pc": 4959,
"hash": "0x7d9da600e53a8b6b1cb86a2a52780fe4487f0fa8ba3ec560774ab5b313773592",
"id": "bb:4954",
"start_pc": 4954,
"type": "basic_block"
},
{
"end_pc": 4981,
"hash": "0xa6118ccd48ceab460dcb24a94bea1fefcbffe2b61f054e8a9f68e17e40633843",
"id": "bb:4960",
"start_pc": 4960,
"type": "basic_block"
},
{
"end_pc": 4991,
"hash": "0xb98c33a468f5900805c56a9e7344305a4cbbbc8cf7889eabfc8dea77cfa7e9d1",
"id": "bb:4982",
"start_pc": 4982,
"type": "basic_block"
},
{
"end_pc": 4995,
"hash": "0x934c818d7bd5b0e4ee1e1eb950cbf183f6cbf09650c190b52cefd92654080771",
"id": "bb:4992",
"start_pc": 4992,
"type": "basic_block"
},
{
"end_pc": 4996,
"hash": "0xfc86068830e3a2308df34ed0cd15338380bdc5a5524d5bf0ad0ee9b3be5efcde",
"id": "bb:4996",
"start_pc": 4996,
"type": "basic_block"
},
{
"end_pc": 5041,
"hash": "0xcc65504c5b53607e07094e8740be7562aa3d00f048f6ae4fe75dcd9054da37f7",
"id": "bb:4997",
"start_pc": 4997,
"type": "basic_block"
},
{
"id": "call:391",
"opcode": "STATICCALL",
"pc": 391,
"type": "callsite"
},
{
"id": "call:1388",
"opcode": "DELEGATECALL",
"pc": 1388,
"type": "callsite"
},
{
"id": "call:1533",
"opcode": "STATICCALL",
"pc": 1533,
"type": "callsite"
},
{
"id": "call:1993",
"opcode": "STATICCALL",
"pc": 1993,
"type": "callsite"
},
{
"id": "call:2613",
"opcode": "CALL",
"pc": 2613,
"type": "callsite"
},
{
"id": "call:2713",
"opcode": "STATICCALL",
"pc": 2713,
"type": "callsite"
},
{
"id": "call:4149",
"opcode": "CALL",
"pc": 4149,
"type": "callsite"
},
{
"id": "sink:staticcall",
"type": "sink"
},
{
"id": "sink:delegatecall",
"type": "sink"
},
{
"id": "sink:call",
"type": "sink"
},
{
"entry_pc": 2513234535,
"id": "fn:0x95ccea67",
"selector": "0x95ccea67",
"type": "function"
},
{
"entry_pc": 2831560310,
"id": "fn:0x9870d7fe",
"selector": "0x9870d7fe",
"type": "function"
},
{
"entry_pc": 3409507335,
"id": "fn:0xa8c62e76",
"selector": "0xa8c62e76",
"type": "function"
},
{
"entry_pc": 3809229176,
"id": "fn:0xcb38f407",
"selector": "0xcb38f407",
"type": "function"
},
{
"entry_pc": 4076725131,
"id": "fn:0xe30c3978",
"selector": "0xe30c3978",
"type": "function"
},
{
"entry_pc": null,
"id": "fn:0xf2fde38b",
"selector": "0xf2fde38b",
"type": "function"
},
{
"entry_pc": 2023858042,
"id": "fn:0x710bf322",
"selector": "0x710bf322",
"type": "function"
},
{
"entry_pc": 2042253463,
"id": "fn:0x78a19f7a",
"selector": "0x78a19f7a",
"type": "function"
},
{
"entry_pc": 2205241551,
"id": "fn:0x79ba5097",
"selector": "0x79ba5097",
"type": "function"
},
{
"entry_pc": 2376452955,
"id": "fn:0x837150cf",
"selector": "0x837150cf",
"type": "function"
},
{
"entry_pc": null,
"id": "fn:0x8da5cb5b",
"selector": "0x8da5cb5b",
"type": "function"
},
{
"entry_pc": 1043366797,
"id": "fn:0x3e30838d",
"selector": "0x3e30838d",
"type": "function"
},
{
"entry_pc": 1553423035,
"id": "fn:0x485cc955",
"selector": "0x485cc955",
"type": "function"
},
{
"entry_pc": 1836119982,
"id": "fn:0x5c975abb",
"selector": "0x5c975abb",
"type": "function"
},
{
"entry_pc": 1889567281,
"id": "fn:0x6d70f7ae",
"selector": "0x6d70f7ae",
"type": "function"
},
{
"entry_pc": null,
"id": "fn:0x70a08231",
"selector": "0x70a08231",
"type": "function"
},
{
"entry_pc": 333957592,
"id": "fn:0x106e9be4",
"selector": "0x106e9be4",
"type": "function"
},
{
"entry_pc": 794083182,
"id": "fn:0x13e7c9d8",
"selector": "0x13e7c9d8",
"type": "function"
},
{
"entry_pc": 866189514,
"id": "fn:0x2f54bf6e",
"selector": "0x2f54bf6e",
"type": "function"
},
{
"entry_pc": 911902460,
"id": "fn:0x33a100ca",
"selector": "0x33a100ca",
"type": "function"
},
{
"entry_pc": null,
"id": "fn:0x365a86fc",
"selector": "0x365a86fc",
"type": "function"
}
],
"version": "capability_graph_v1"
},
"id": 1385,
"updated_at": "2026-04-04T02:50:52.000000Z",
"version": "capability_graph_v1"
}
exec
/bin/bash -lc "jq '.artifact' BYTECODE_BUNDLE.json" in /tmp/codex-_mwrbysw
succeeded in 0ms:
{
"codehash": "0x1efa9b49847c9ab1d1c48ec31679836e8f3db438a6a8b2b881bc125de84f3e05",
"compiler_json": {
"compiler_version": null,
"etherscan": {
"contract_name": null,
"implementation": null,
"license": "Unknown",
"proxy": "0",
"swarm_source": null
},
"optimizer_enabled": false,
"optimizer_runs": 0,
"proxy_evidence": {
"status": "not_proxy"
}
},
"implementation_address": null,
"is_proxy": false,
"runtime_bytecode": {
"full": "0x60806040526004361061012e5760003560e01c8063710bf322116100ab57806395ccea671161006f57806395ccea67146104ab5780639870d7fe146104be578063a8c62e76146104de578063cb38f407146104fe578063e30c39781461051e578063f2fde38b1461053e57610135565b8063710bf3221461042157806378a19f7a1461044157806379ba509714610456578063837150cf1461046b5780638da5cb5b1461048b57610135565b80633e30838d116100f25780633e30838d1461036d578063485cc9551461038d5780635c975abb146103ad5780636d70f7ae146103c557806370a082311461040157610135565b8063106e9be41461023457806313e7c9d81461028f5780632f54bf6e146102d157806333a100ca14610310578063365a86fc1461033057610135565b3661013557005b60048054600554604051632306be9160e01b81526001600160a01b03918216938101939093526101009091041690632306be919060240160206040518083038186803b15801561018457600080fd5b505afa158015610198573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101bc9190611166565b61021d5760405162461bcd60e51b815260206004820152602760248201527f5661756c743a2064656c6567617465207374726174656779206973206e6f7420604482015266195b98589b195960ca1b60648201526084015b60405180910390fd5b600554610232906001600160a01b031661055e565b005b34801561024057600080fd5b5061027c61024f366004611182565b81516020818401810180516006825292820194820194909420919093529091526000908152604090205481565b6040519081526020015b60405180910390f35b34801561029b57600080fd5b506102bf6102aa3660046110d5565b60026020526000908152604090205460ff1681565b60405160ff9091168152602001610286565b3480156102dd57600080fd5b506103006102ec3660046110d5565b6000546001600160a01b0390811691161490565b6040519015158152602001610286565b34801561031c57600080fd5b5061023261032b3660046110d5565b610587565b34801561033c57600080fd5b506004546103559061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610286565b34801561037957600080fd5b506102326103883660046110d5565b6106a0565b34801561039957600080fd5b506102326103a83660046110ef565b61071c565b3480156103b957600080fd5b5060045460ff16610300565b3480156103d157600080fd5b506103006103e03660046110d5565b6001600160a01b031660009081526002602052604090205460ff1660011490565b34801561040d57600080fd5b5061027c61041c3660046110d5565b61076e565b34801561042d57600080fd5b5061023261043c3660046110d5565b61080a565b34801561044d57600080fd5b5060035461027c565b34801561046257600080fd5b506102326108b0565b34801561047757600080fd5b5061023261048636600461114a565b610980565b34801561049757600080fd5b50600054610355906001600160a01b031681565b6102326104b9366004611121565b6109be565b3480156104ca57600080fd5b506102326104d93660046110d5565b610b69565b3480156104ea57600080fd5b50600554610355906001600160a01b031681565b34801561050a57600080fd5b50610355610519366004611236565b610c4e565b34801561052a57600080fd5b50600154610355906001600160a01b031681565b34801561054a57600080fd5b506102326105593660046110d5565b610c78565b3660008037600080366000845af43d6000803e80801561057d573d6000f35b3d6000fd5b505050565b610590336102ec565b6105ac5760405162461bcd60e51b8152600401610214906112fb565b60048054604051632306be9160e01b81526001600160a01b038481169382019390935261010090910490911690632306be919060240160206040518083038186803b1580156105fa57600080fd5b505afa15801561060e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106329190611166565b61067e5760405162461bcd60e51b815260206004820152601f60248201527f5661756c743a205f7374726174656779206973206e6f7420656e61626c6564006044820152606401610214565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6106a9336102ec565b6106c55760405162461bcd60e51b8152600401610214906112fb565b6001600160a01b038082166000818152600260208190526040808320805460ff191690921790915581549051929316917f34250d52157fd9958525d6ae6871710a3c3256db998616ba579f8d3e7a061dfd9190a350565b610725336102ec565b6107415760405162461bcd60e51b8152600401610214906112fb565b60048054610100600160a81b0319166101006001600160a01b0385160217905561076a81610587565b5050565b60006001600160a01b038216610785575047919050565b6040516370a0823160e01b815230600482015282906001600160a01b038216906370a082319060240160206040518083038186803b1580156107c657600080fd5b505afa1580156107da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fe919061124e565b9392505050565b919050565b610813336102ec565b61082f5760405162461bcd60e51b8152600401610214906112fb565b6001600160a01b0381166108555760405162461bcd60e51b8152600401610214906112b5565b600080546040516001600160a01b03808516939216917fb51454ce8c7f26becd312a46c4815553887f2ec876a0b8dc813b87f62edf6f8091a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b0316331461091c5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c653a20796f75722061646472657373206973206e6f742070656e6044820152683234b733a7bbb732b960b91b6064820152608401610214565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b610989336102ec565b6109a55760405162461bcd60e51b8152600401610214906112fb565b80156109b6576109b3610d1e565b50565b6109b3610db6565b6109c7336102ec565b6109e35760405162461bcd60e51b8152600401610214906112fb565b6001600160a01b038216610a525747816109ff57809150610a12565b80821015610a0d5781610a0f565b805b91505b600080546040516001600160a01b039091169184156108fc02918591818181858888f19350505050158015610a4b573d6000803e3d6000fd5b5050610b20565b6040516370a0823160e01b815230600482015282906000906001600160a01b038316906370a082319060240160206040518083038186803b158015610a9657600080fd5b505afa158015610aaa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ace919061124e565b905082610add57809250610af0565b80831015610aeb5782610aed565b805b92505b80831015610afe5782610b00565b805b600054909350610b1d906001600160a01b03848116911685610e30565b50505b6000546040518281526001600160a01b03918216918416907f5df18565c5bc04aa5c8a0d9d2db510b133941a1372be5a443ea4ec5f2f04f2939060200160405180910390a35050565b610b72336102ec565b610b8e5760405162461bcd60e51b8152600401610214906112fb565b6001600160a01b03811660009081526002602052604090205460ff16610bfa57600380546001810182556000919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b0319166001600160a01b0383161790555b6001600160a01b03808216600081815260026020526040808220805460ff1916600117905581549051929316917f51778c51d58ce676f156168a160fc5e14ad3c40027f7d6bf7ce613de46dda9a09190a350565b60038181548110610c5e57600080fd5b6000918252602090912001546001600160a01b0316905081565b610c81336102ec565b610c9d5760405162461bcd60e51b8152600401610214906112fb565b6001600160a01b038116610cc35760405162461bcd60e51b8152600401610214906112b5565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60045460ff1615610d645760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610214565b6004805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610d993390565b6040516001600160a01b03909116815260200160405180910390a1565b60045460ff16610dff5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610214565b6004805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33610d99565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180516001600160e01b031663a9059cbb60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65649084015261058292869291600091610ec0918516908490610f3d565b8051909150156105825780806020019051810190610ede9190611166565b6105825760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610214565b6060610f4c8484600085610f54565b949350505050565b606082471015610fb55760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610214565b6001600160a01b0385163b61100c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610214565b600080866001600160a01b031685876040516110289190611266565b60006040518083038185875af1925050503d8060008114611065576040519150601f19603f3d011682016040523d82523d6000602084013e61106a565b606091505b509150915061107a828286611085565b979650505050505050565b606083156110945750816107fe565b8251156110a45782518084602001fd5b8160405162461bcd60e51b81526004016102149190611282565b80356001600160a01b038116811461080557600080fd5b6000602082840312156110e6578081fd5b6107fe826110be565b60008060408385031215611101578081fd5b61110a836110be565b9150611118602084016110be565b90509250929050565b60008060408385031215611133578182fd5b61113c836110be565b946020939093013593505050565b60006020828403121561115b578081fd5b81356107fe81611376565b600060208284031215611177578081fd5b81516107fe81611376565b60008060408385031215611194578182fd5b823567ffffffffffffffff808211156111ab578384fd5b818501915085601f8301126111be578384fd5b8135818111156111d0576111d0611360565b604051601f8201601f19908116603f011681019083821181831017156111f8576111f8611360565b81604052828152886020848701011115611210578687fd5b8260208601602083013786602084830101528096505050505050611118602084016110be565b600060208284031215611247578081fd5b5035919050565b60006020828403121561125f578081fd5b5051919050565b60008251611278818460208701611330565b9190910192915050565b60208152600082518060208401526112a1816040850160208701611330565b601f01601f19169190910160400192915050565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60005b8381101561134b578181015183820152602001611333565b8381111561135a576000848401525b50505050565b634e487b7160e01b600052604160045260246000fd5b80151581146109b357600080fdfea2646970667358221220f57ff2e7b120ba8d6634363682106b49b0a7f4a7466cf756430b9567c939abd264736f6c63430008040033",
"head": null,
"length": 10102,
"tail": null,
"truncated": false
},
"verified_source": false
}
exec
/bin/bash -lc 'which cast || true' in /tmp/codex-_mwrbysw
succeeded in 0ms:
/home/noahkuhn/.foundry/bin/cast
exec
/bin/bash -lc 'which evm || true' in /tmp/codex-_mwrbysw
succeeded in 0ms:
exec
/bin/bash -lc 'which python3 || true' in /tmp/codex-_mwrbysw
succeeded in 0ms:
/var/www/tripwire/.venv/bin/python3
exec
/bin/bash -lc 'cast disassemble $(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json) | sed -n '1,260p'" in /tmp/codex-_mwrbysw
succeeded in 0ms:
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x012e
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x710bf322
00000019: GT
0000001a: PUSH2 0x00ab
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0x95ccea67
00000024: GT
00000025: PUSH2 0x006f
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0x95ccea67
0000002f: EQ
00000030: PUSH2 0x04ab
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0x9870d7fe
0000003a: EQ
0000003b: PUSH2 0x04be
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xa8c62e76
00000045: EQ
00000046: PUSH2 0x04de
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xcb38f407
00000050: EQ
00000051: PUSH2 0x04fe
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xe30c3978
0000005b: EQ
0000005c: PUSH2 0x051e
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0xf2fde38b
00000066: EQ
00000067: PUSH2 0x053e
0000006a: JUMPI
0000006b: PUSH2 0x0135
0000006e: JUMP
0000006f: JUMPDEST
00000070: DUP1
00000071: PUSH4 0x710bf322
00000076: EQ
00000077: PUSH2 0x0421
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0x78a19f7a
00000081: EQ
00000082: PUSH2 0x0441
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0x79ba5097
0000008c: EQ
0000008d: PUSH2 0x0456
00000090: JUMPI
00000091: DUP1
00000092: PUSH4 0x837150cf
00000097: EQ
00000098: PUSH2 0x046b
0000009b: JUMPI
0000009c: DUP1
0000009d: PUSH4 0x8da5cb5b
000000a2: EQ
000000a3: PUSH2 0x048b
000000a6: JUMPI
000000a7: PUSH2 0x0135
000000aa: JUMP
000000ab: JUMPDEST
000000ac: DUP1
000000ad: PUSH4 0x3e30838d
000000b2: GT
000000b3: PUSH2 0x00f2
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0x3e30838d
000000bd: EQ
000000be: PUSH2 0x036d
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0x485cc955
000000c8: EQ
000000c9: PUSH2 0x038d
000000cc: JUMPI
000000cd: DUP1
000000ce: PUSH4 0x5c975abb
000000d3: EQ
000000d4: PUSH2 0x03ad
000000d7: JUMPI
000000d8: DUP1
000000d9: PUSH4 0x6d70f7ae
000000de: EQ
000000df: PUSH2 0x03c5
000000e2: JUMPI
000000e3: DUP1
000000e4: PUSH4 0x70a08231
000000e9: EQ
000000ea: PUSH2 0x0401
000000ed: JUMPI
000000ee: PUSH2 0x0135
000000f1: JUMP
000000f2: JUMPDEST
000000f3: DUP1
000000f4: PUSH4 0x106e9be4
000000f9: EQ
000000fa: PUSH2 0x0234
000000fd: JUMPI
000000fe: DUP1
000000ff: PUSH4 0x13e7c9d8
00000104: EQ
00000105: PUSH2 0x028f
00000108: JUMPI
00000109: DUP1
0000010a: PUSH4 0x2f54bf6e
0000010f: EQ
00000110: PUSH2 0x02d1
00000113: JUMPI
00000114: DUP1
00000115: PUSH4 0x33a100ca
0000011a: EQ
0000011b: PUSH2 0x0310
0000011e: JUMPI
0000011f: DUP1
00000120: PUSH4 0x365a86fc
00000125: EQ
00000126: PUSH2 0x0330
00000129: JUMPI
0000012a: PUSH2 0x0135
0000012d: JUMP
0000012e: JUMPDEST
0000012f: CALLDATASIZE
00000130: PUSH2 0x0135
00000133: JUMPI
00000134: STOP
00000135: JUMPDEST
00000136: PUSH1 0x04
00000138: DUP1
00000139: SLOAD
0000013a: PUSH1 0x05
0000013c: SLOAD
0000013d: PUSH1 0x40
0000013f: MLOAD
00000140: PUSH4 0x2306be91
00000145: PUSH1 0xe0
00000147: SHL
00000148: DUP2
00000149: MSTORE
0000014a: PUSH1 0x01
0000014c: PUSH1 0x01
0000014e: PUSH1 0xa0
00000150: SHL
00000151: SUB
00000152: SWAP2
00000153: DUP3
00000154: AND
00000155: SWAP4
00000156: DUP2
00000157: ADD
00000158: SWAP4
00000159: SWAP1
0000015a: SWAP4
0000015b: MSTORE
0000015c: PUSH2 0x0100
0000015f: SWAP1
00000160: SWAP2
00000161: DIV
00000162: AND
00000163: SWAP1
00000164: PUSH4 0x2306be91
00000169: SWAP1
0000016a: PUSH1 0x24
0000016c: ADD
0000016d: PUSH1 0x20
0000016f: PUSH1 0x40
00000171: MLOAD
00000172: DUP1
00000173: DUP4
00000174: SUB
00000175: DUP2
00000176: DUP7
00000177: DUP1
00000178: EXTCODESIZE
00000179: ISZERO
0000017a: DUP1
0000017b: ISZERO
0000017c: PUSH2 0x0184
0000017f: JUMPI
00000180: PUSH1 0x00
00000182: DUP1
00000183: REVERT
00000184: JUMPDEST
00000185: POP
00000186: GAS
00000187: STATICCALL
00000188: ISZERO
00000189: DUP1
0000018a: ISZERO
0000018b: PUSH2 0x0198
0000018e: JUMPI
0000018f: RETURNDATASIZE
00000190: PUSH1 0x00
00000192: DUP1
00000193: RETURNDATACOPY
00000194: RETURNDATASIZE
00000195: PUSH1 0x00
00000197: REVERT
00000198: JUMPDEST
00000199: POP
0000019a: POP
0000019b: POP
0000019c: POP
0000019d: PUSH1 0x40
0000019f: MLOAD
000001a0: RETURNDATASIZE
000001a1: PUSH1 0x1f
000001a3: NOT
000001a4: PUSH1 0x1f
000001a6: DUP3
000001a7: ADD
000001a8: AND
000001a9: DUP3
000001aa: ADD
000001ab: DUP1
000001ac: PUSH1 0x40
000001ae: MSTORE
000001af: POP
000001b0: DUP2
000001b1: ADD
000001b2: SWAP1
000001b3: PUSH2 0x01bc
000001b6: SWAP2
000001b7: SWAP1
000001b8: PUSH2 0x1166
000001bb: JUMP
000001bc: JUMPDEST
000001bd: PUSH2 0x021d
000001c0: JUMPI
000001c1: PUSH1 0x40
000001c3: MLOAD
000001c4: PUSH3 0x461bcd
000001c8: PUSH1 0xe5
000001ca: SHL
000001cb: DUP2
000001cc: MSTORE
000001cd: PUSH1 0x20
000001cf: PUSH1 0x04
exec
/bin/bash -lc 'cast disassemble $(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json) | sed -n '260,620p'" in /tmp/codex-_mwrbysw
succeeded in 0ms:
000001cf: PUSH1 0x04
000001d1: DUP3
000001d2: ADD
000001d3: MSTORE
000001d4: PUSH1 0x27
000001d6: PUSH1 0x24
000001d8: DUP3
000001d9: ADD
000001da: MSTORE
000001db: PUSH32 0x5661756c743a2064656c6567617465207374726174656779206973206e6f7420
000001fc: PUSH1 0x44
000001fe: DUP3
000001ff: ADD
00000200: MSTORE
00000201: PUSH7 0x195b98589b1959
00000209: PUSH1 0xca
0000020b: SHL
0000020c: PUSH1 0x64
0000020e: DUP3
0000020f: ADD
00000210: MSTORE
00000211: PUSH1 0x84
00000213: ADD
00000214: JUMPDEST
00000215: PUSH1 0x40
00000217: MLOAD
00000218: DUP1
00000219: SWAP2
0000021a: SUB
0000021b: SWAP1
0000021c: REVERT
0000021d: JUMPDEST
0000021e: PUSH1 0x05
00000220: SLOAD
00000221: PUSH2 0x0232
00000224: SWAP1
00000225: PUSH1 0x01
00000227: PUSH1 0x01
00000229: PUSH1 0xa0
0000022b: SHL
0000022c: SUB
0000022d: AND
0000022e: PUSH2 0x055e
00000231: JUMP
00000232: JUMPDEST
00000233: STOP
00000234: JUMPDEST
00000235: CALLVALUE
00000236: DUP1
00000237: ISZERO
00000238: PUSH2 0x0240
0000023b: JUMPI
0000023c: PUSH1 0x00
0000023e: DUP1
0000023f: REVERT
00000240: JUMPDEST
00000241: POP
00000242: PUSH2 0x027c
00000245: PUSH2 0x024f
00000248: CALLDATASIZE
00000249: PUSH1 0x04
0000024b: PUSH2 0x1182
0000024e: JUMP
0000024f: JUMPDEST
00000250: DUP2
00000251: MLOAD
00000252: PUSH1 0x20
00000254: DUP2
00000255: DUP5
00000256: ADD
00000257: DUP2
00000258: ADD
00000259: DUP1
0000025a: MLOAD
0000025b: PUSH1 0x06
0000025d: DUP3
0000025e: MSTORE
0000025f: SWAP3
00000260: DUP3
00000261: ADD
00000262: SWAP5
00000263: DUP3
00000264: ADD
00000265: SWAP5
00000266: SWAP1
00000267: SWAP5
00000268: KECCAK256
00000269: SWAP2
0000026a: SWAP1
0000026b: SWAP4
0000026c: MSTORE
0000026d: SWAP1
0000026e: SWAP2
0000026f: MSTORE
00000270: PUSH1 0x00
00000272: SWAP1
00000273: DUP2
00000274: MSTORE
00000275: PUSH1 0x40
00000277: SWAP1
00000278: KECCAK256
00000279: SLOAD
0000027a: DUP2
0000027b: JUMP
0000027c: JUMPDEST
0000027d: PUSH1 0x40
0000027f: MLOAD
00000280: SWAP1
00000281: DUP2
00000282: MSTORE
00000283: PUSH1 0x20
00000285: ADD
00000286: JUMPDEST
00000287: PUSH1 0x40
00000289: MLOAD
0000028a: DUP1
0000028b: SWAP2
0000028c: SUB
0000028d: SWAP1
0000028e: RETURN
0000028f: JUMPDEST
00000290: CALLVALUE
00000291: DUP1
00000292: ISZERO
00000293: PUSH2 0x029b
00000296: JUMPI
00000297: PUSH1 0x00
00000299: DUP1
0000029a: REVERT
0000029b: JUMPDEST
0000029c: POP
0000029d: PUSH2 0x02bf
000002a0: PUSH2 0x02aa
000002a3: CALLDATASIZE
000002a4: PUSH1 0x04
000002a6: PUSH2 0x10d5
000002a9: JUMP
000002aa: JUMPDEST
000002ab: PUSH1 0x02
000002ad: PUSH1 0x20
000002af: MSTORE
000002b0: PUSH1 0x00
000002b2: SWAP1
000002b3: DUP2
000002b4: MSTORE
000002b5: PUSH1 0x40
000002b7: SWAP1
000002b8: KECCAK256
000002b9: SLOAD
000002ba: PUSH1 0xff
000002bc: AND
000002bd: DUP2
000002be: JUMP
000002bf: JUMPDEST
000002c0: PUSH1 0x40
000002c2: MLOAD
000002c3: PUSH1 0xff
000002c5: SWAP1
000002c6: SWAP2
000002c7: AND
000002c8: DUP2
000002c9: MSTORE
000002ca: PUSH1 0x20
000002cc: ADD
000002cd: PUSH2 0x0286
000002d0: JUMP
000002d1: JUMPDEST
000002d2: CALLVALUE
000002d3: DUP1
000002d4: ISZERO
000002d5: PUSH2 0x02dd
000002d8: JUMPI
000002d9: PUSH1 0x00
000002db: DUP1
000002dc: REVERT
000002dd: JUMPDEST
000002de: POP
000002df: PUSH2 0x0300
000002e2: PUSH2 0x02ec
000002e5: CALLDATASIZE
000002e6: PUSH1 0x04
000002e8: PUSH2 0x10d5
000002eb: JUMP
000002ec: JUMPDEST
000002ed: PUSH1 0x00
000002ef: SLOAD
000002f0: PUSH1 0x01
000002f2: PUSH1 0x01
000002f4: PUSH1 0xa0
000002f6: SHL
000002f7: SUB
000002f8: SWAP1
000002f9: DUP2
000002fa: AND
000002fb: SWAP2
000002fc: AND
000002fd: EQ
000002fe: SWAP1
000002ff: JUMP
00000300: JUMPDEST
00000301: PUSH1 0x40
00000303: MLOAD
00000304: SWAP1
00000305: ISZERO
00000306: ISZERO
00000307: DUP2
00000308: MSTORE
00000309: PUSH1 0x20
0000030b: ADD
0000030c: PUSH2 0x0286
0000030f: JUMP
00000310: JUMPDEST
00000311: CALLVALUE
00000312: DUP1
00000313: ISZERO
00000314: PUSH2 0x031c
00000317: JUMPI
00000318: PUSH1 0x00
0000031a: DUP1
0000031b: REVERT
0000031c: JUMPDEST
0000031d: POP
0000031e: PUSH2 0x0232
00000321: PUSH2 0x032b
00000324: CALLDATASIZE
00000325: PUSH1 0x04
00000327: PUSH2 0x10d5
0000032a: JUMP
0000032b: JUMPDEST
0000032c: PUSH2 0x0587
0000032f: JUMP
00000330: JUMPDEST
00000331: CALLVALUE
00000332: DUP1
00000333: ISZERO
00000334: PUSH2 0x033c
00000337: JUMPI
00000338: PUSH1 0x00
0000033a: DUP1
0000033b: REVERT
0000033c: JUMPDEST
0000033d: POP
0000033e: PUSH1 0x04
00000340: SLOAD
00000341: PUSH2 0x0355
00000344: SWAP1
00000345: PUSH2 0x0100
00000348: SWAP1
00000349: DIV
0000034a: PUSH1 0x01
0000034c: PUSH1 0x01
0000034e: PUSH1 0xa0
00000350: SHL
00000351: SUB
00000352: AND
00000353: DUP2
00000354: JUMP
00000355: JUMPDEST
00000356: PUSH1 0x40
00000358: MLOAD
00000359: PUSH1 0x01
0000035b: PUSH1 0x01
0000035d: PUSH1 0xa0
0000035f: SHL
00000360: SUB
00000361: SWAP1
00000362: SWAP2
00000363: AND
00000364: DUP2
00000365: MSTORE
00000366: PUSH1 0x20
00000368: ADD
00000369: PUSH2 0x0286
0000036c: JUMP
0000036d: JUMPDEST
0000036e: CALLVALUE
0000036f: DUP1
00000370: ISZERO
00000371: PUSH2 0x0379
00000374: JUMPI
00000375: PUSH1 0x00
00000377: DUP1
00000378: REVERT
00000379: JUMPDEST
0000037a: POP
0000037b: PUSH2 0x0232
0000037e: PUSH2 0x0388
00000381: CALLDATASIZE
00000382: PUSH1 0x04
00000384: PUSH2 0x10d5
00000387: JUMP
00000388: JUMPDEST
00000389: PUSH2 0x06a0
0000038c: JUMP
0000038d: JUMPDEST
0000038e: CALLVALUE
0000038f: DUP1
00000390: ISZERO
00000391: PUSH2 0x0399
00000394: JUMPI
00000395: PUSH1 0x00
00000397: DUP1
00000398: REVERT
00000399: JUMPDEST
0000039a: POP
0000039b: PUSH2 0x0232
0000039e: PUSH2 0x03a8
000003a1: CALLDATASIZE
000003a2: PUSH1 0x04
000003a4: PUSH2 0x10ef
000003a7: JUMP
000003a8: JUMPDEST
000003a9: PUSH2 0x071c
000003ac: JUMP
000003ad: JUMPDEST
000003ae: CALLVALUE
000003af: DUP1
000003b0: ISZERO
000003b1: PUSH2 0x03b9
000003b4: JUMPI
000003b5: PUSH1 0x00
000003b7: DUP1
000003b8: REVERT
000003b9: JUMPDEST
000003ba: POP
000003bb: PUSH1 0x04
000003bd: SLOAD
000003be: PUSH1 0xff
000003c0: AND
000003c1: PUSH2 0x0300
000003c4: JUMP
000003c5: JUMPDEST
000003c6: CALLVALUE
000003c7: DUP1
000003c8: ISZERO
000003c9: PUSH2 0x03d1
000003cc: JUMPI
000003cd: PUSH1 0x00
000003cf: DUP1
000003d0: REVERT
000003d1: JUMPDEST
000003d2: POP
000003d3: PUSH2 0x0300
000003d6: PUSH2 0x03e0
000003d9: CALLDATASIZE
000003da: PUSH1 0x04
000003dc: PUSH2 0x10d5
000003df: JUMP
000003e0: JUMPDEST
000003e1: PUSH1 0x01
000003e3: PUSH1 0x01
000003e5: PUSH1 0xa0
000003e7: SHL
000003e8: SUB
000003e9: AND
000003ea: PUSH1 0x00
000003ec: SWAP1
000003ed: DUP2
000003ee: MSTORE
000003ef: PUSH1 0x02
000003f1: PUSH1 0x20
exec
/bin/bash -lc 'cast disassemble $(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json) | sed -n '620,980p'" in /tmp/codex-_mwrbysw
succeeded in 0ms:
000003f1: PUSH1 0x20
000003f3: MSTORE
000003f4: PUSH1 0x40
000003f6: SWAP1
000003f7: KECCAK256
000003f8: SLOAD
000003f9: PUSH1 0xff
000003fb: AND
000003fc: PUSH1 0x01
000003fe: EQ
000003ff: SWAP1
00000400: JUMP
00000401: JUMPDEST
00000402: CALLVALUE
00000403: DUP1
00000404: ISZERO
00000405: PUSH2 0x040d
00000408: JUMPI
00000409: PUSH1 0x00
0000040b: DUP1
0000040c: REVERT
0000040d: JUMPDEST
0000040e: POP
0000040f: PUSH2 0x027c
00000412: PUSH2 0x041c
00000415: CALLDATASIZE
00000416: PUSH1 0x04
00000418: PUSH2 0x10d5
0000041b: JUMP
0000041c: JUMPDEST
0000041d: PUSH2 0x076e
00000420: JUMP
00000421: JUMPDEST
00000422: CALLVALUE
00000423: DUP1
00000424: ISZERO
00000425: PUSH2 0x042d
00000428: JUMPI
00000429: PUSH1 0x00
0000042b: DUP1
0000042c: REVERT
0000042d: JUMPDEST
0000042e: POP
0000042f: PUSH2 0x0232
00000432: PUSH2 0x043c
00000435: CALLDATASIZE
00000436: PUSH1 0x04
00000438: PUSH2 0x10d5
0000043b: JUMP
0000043c: JUMPDEST
0000043d: PUSH2 0x080a
00000440: JUMP
00000441: JUMPDEST
00000442: CALLVALUE
00000443: DUP1
00000444: ISZERO
00000445: PUSH2 0x044d
00000448: JUMPI
00000449: PUSH1 0x00
0000044b: DUP1
0000044c: REVERT
0000044d: JUMPDEST
0000044e: POP
0000044f: PUSH1 0x03
00000451: SLOAD
00000452: PUSH2 0x027c
00000455: JUMP
00000456: JUMPDEST
00000457: CALLVALUE
00000458: DUP1
00000459: ISZERO
0000045a: PUSH2 0x0462
0000045d: JUMPI
0000045e: PUSH1 0x00
00000460: DUP1
00000461: REVERT
00000462: JUMPDEST
00000463: POP
00000464: PUSH2 0x0232
00000467: PUSH2 0x08b0
0000046a: JUMP
0000046b: JUMPDEST
0000046c: CALLVALUE
0000046d: DUP1
0000046e: ISZERO
0000046f: PUSH2 0x0477
00000472: JUMPI
00000473: PUSH1 0x00
00000475: DUP1
00000476: REVERT
00000477: JUMPDEST
00000478: POP
00000479: PUSH2 0x0232
0000047c: PUSH2 0x0486
0000047f: CALLDATASIZE
00000480: PUSH1 0x04
00000482: PUSH2 0x114a
00000485: JUMP
00000486: JUMPDEST
00000487: PUSH2 0x0980
0000048a: JUMP
0000048b: JUMPDEST
0000048c: CALLVALUE
0000048d: DUP1
0000048e: ISZERO
0000048f: PUSH2 0x0497
00000492: JUMPI
00000493: PUSH1 0x00
00000495: DUP1
00000496: REVERT
00000497: JUMPDEST
00000498: POP
00000499: PUSH1 0x00
0000049b: SLOAD
0000049c: PUSH2 0x0355
0000049f: SWAP1
000004a0: PUSH1 0x01
000004a2: PUSH1 0x01
000004a4: PUSH1 0xa0
000004a6: SHL
000004a7: SUB
000004a8: AND
000004a9: DUP2
000004aa: JUMP
000004ab: JUMPDEST
000004ac: PUSH2 0x0232
000004af: PUSH2 0x04b9
000004b2: CALLDATASIZE
000004b3: PUSH1 0x04
000004b5: PUSH2 0x1121
000004b8: JUMP
000004b9: JUMPDEST
000004ba: PUSH2 0x09be
000004bd: JUMP
000004be: JUMPDEST
000004bf: CALLVALUE
000004c0: DUP1
000004c1: ISZERO
000004c2: PUSH2 0x04ca
000004c5: JUMPI
000004c6: PUSH1 0x00
000004c8: DUP1
000004c9: REVERT
000004ca: JUMPDEST
000004cb: POP
000004cc: PUSH2 0x0232
000004cf: PUSH2 0x04d9
000004d2: CALLDATASIZE
000004d3: PUSH1 0x04
000004d5: PUSH2 0x10d5
000004d8: JUMP
000004d9: JUMPDEST
000004da: PUSH2 0x0b69
000004dd: JUMP
000004de: JUMPDEST
000004df: CALLVALUE
000004e0: DUP1
000004e1: ISZERO
000004e2: PUSH2 0x04ea
000004e5: JUMPI
000004e6: PUSH1 0x00
000004e8: DUP1
000004e9: REVERT
000004ea: JUMPDEST
000004eb: POP
000004ec: PUSH1 0x05
000004ee: SLOAD
000004ef: PUSH2 0x0355
000004f2: SWAP1
000004f3: PUSH1 0x01
000004f5: PUSH1 0x01
000004f7: PUSH1 0xa0
000004f9: SHL
000004fa: SUB
000004fb: AND
000004fc: DUP2
000004fd: JUMP
000004fe: JUMPDEST
000004ff: CALLVALUE
00000500: DUP1
00000501: ISZERO
00000502: PUSH2 0x050a
00000505: JUMPI
00000506: PUSH1 0x00
00000508: DUP1
00000509: REVERT
0000050a: JUMPDEST
0000050b: POP
0000050c: PUSH2 0x0355
0000050f: PUSH2 0x0519
00000512: CALLDATASIZE
00000513: PUSH1 0x04
00000515: PUSH2 0x1236
00000518: JUMP
00000519: JUMPDEST
0000051a: PUSH2 0x0c4e
0000051d: JUMP
0000051e: JUMPDEST
0000051f: CALLVALUE
00000520: DUP1
00000521: ISZERO
00000522: PUSH2 0x052a
00000525: JUMPI
00000526: PUSH1 0x00
00000528: DUP1
00000529: REVERT
0000052a: JUMPDEST
0000052b: POP
0000052c: PUSH1 0x01
0000052e: SLOAD
0000052f: PUSH2 0x0355
00000532: SWAP1
00000533: PUSH1 0x01
00000535: PUSH1 0x01
00000537: PUSH1 0xa0
00000539: SHL
0000053a: SUB
0000053b: AND
0000053c: DUP2
0000053d: JUMP
0000053e: JUMPDEST
0000053f: CALLVALUE
00000540: DUP1
00000541: ISZERO
00000542: PUSH2 0x054a
00000545: JUMPI
00000546: PUSH1 0x00
00000548: DUP1
00000549: REVERT
0000054a: JUMPDEST
0000054b: POP
0000054c: PUSH2 0x0232
0000054f: PUSH2 0x0559
00000552: CALLDATASIZE
00000553: PUSH1 0x04
00000555: PUSH2 0x10d5
00000558: JUMP
00000559: JUMPDEST
0000055a: PUSH2 0x0c78
0000055d: JUMP
0000055e: JUMPDEST
0000055f: CALLDATASIZE
00000560: PUSH1 0x00
00000562: DUP1
00000563: CALLDATACOPY
00000564: PUSH1 0x00
00000566: DUP1
00000567: CALLDATASIZE
00000568: PUSH1 0x00
0000056a: DUP5
0000056b: GAS
0000056c: DELEGATECALL
0000056d: RETURNDATASIZE
0000056e: PUSH1 0x00
00000570: DUP1
00000571: RETURNDATACOPY
00000572: DUP1
00000573: DUP1
00000574: ISZERO
00000575: PUSH2 0x057d
00000578: JUMPI
00000579: RETURNDATASIZE
0000057a: PUSH1 0x00
0000057c: RETURN
0000057d: JUMPDEST
0000057e: RETURNDATASIZE
0000057f: PUSH1 0x00
00000581: REVERT
00000582: JUMPDEST
00000583: POP
00000584: POP
00000585: POP
00000586: JUMP
00000587: JUMPDEST
00000588: PUSH2 0x0590
0000058b: CALLER
0000058c: PUSH2 0x02ec
0000058f: JUMP
00000590: JUMPDEST
00000591: PUSH2 0x05ac
00000594: JUMPI
00000595: PUSH1 0x40
00000597: MLOAD
00000598: PUSH3 0x461bcd
0000059c: PUSH1 0xe5
0000059e: SHL
0000059f: DUP2
000005a0: MSTORE
000005a1: PUSH1 0x04
000005a3: ADD
000005a4: PUSH2 0x0214
000005a7: SWAP1
000005a8: PUSH2 0x12fb
000005ab: JUMP
000005ac: JUMPDEST
000005ad: PUSH1 0x04
000005af: DUP1
000005b0: SLOAD
000005b1: PUSH1 0x40
000005b3: MLOAD
000005b4: PUSH4 0x2306be91
000005b9: PUSH1 0xe0
000005bb: SHL
000005bc: DUP2
000005bd: MSTORE
000005be: PUSH1 0x01
000005c0: PUSH1 0x01
000005c2: PUSH1 0xa0
000005c4: SHL
000005c5: SUB
000005c6: DUP5
000005c7: DUP2
000005c8: AND
000005c9: SWAP4
000005ca: DUP3
000005cb: ADD
000005cc: SWAP4
000005cd: SWAP1
000005ce: SWAP4
000005cf: MSTORE
000005d0: PUSH2 0x0100
000005d3: SWAP1
000005d4: SWAP2
000005d5: DIV
000005d6: SWAP1
000005d7: SWAP2
000005d8: AND
000005d9: SWAP1
000005da: PUSH4 0x2306be91
000005df: SWAP1
000005e0: PUSH1 0x24
000005e2: ADD
000005e3: PUSH1 0x20
000005e5: PUSH1 0x40
000005e7: MLOAD
000005e8: DUP1
000005e9: DUP4
000005ea: SUB
000005eb: DUP2
000005ec: DUP7
000005ed: DUP1
000005ee: EXTCODESIZE
000005ef: ISZERO
000005f0: DUP1
000005f1: ISZERO
000005f2: PUSH2 0x05fa
000005f5: JUMPI
000005f6: PUSH1 0x00
000005f8: DUP1
000005f9: REVERT
000005fa: JUMPDEST
000005fb: POP
000005fc: GAS
000005fd: STATICCALL
000005fe: ISZERO
000005ff: DUP1
00000600: ISZERO
00000601: PUSH2 0x060e
00000604: JUMPI
00000605: RETURNDATASIZE
00000606: PUSH1 0x00
exec
/bin/bash -lc 'cast disassemble $(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json) | sed -n '980,1340p'" in /tmp/codex-_mwrbysw
succeeded in 0ms:
00000606: PUSH1 0x00
00000608: DUP1
00000609: RETURNDATACOPY
0000060a: RETURNDATASIZE
0000060b: PUSH1 0x00
0000060d: REVERT
0000060e: JUMPDEST
0000060f: POP
00000610: POP
00000611: POP
00000612: POP
00000613: PUSH1 0x40
00000615: MLOAD
00000616: RETURNDATASIZE
00000617: PUSH1 0x1f
00000619: NOT
0000061a: PUSH1 0x1f
0000061c: DUP3
0000061d: ADD
0000061e: AND
0000061f: DUP3
00000620: ADD
00000621: DUP1
00000622: PUSH1 0x40
00000624: MSTORE
00000625: POP
00000626: DUP2
00000627: ADD
00000628: SWAP1
00000629: PUSH2 0x0632
0000062c: SWAP2
0000062d: SWAP1
0000062e: PUSH2 0x1166
00000631: JUMP
00000632: JUMPDEST
00000633: PUSH2 0x067e
00000636: JUMPI
00000637: PUSH1 0x40
00000639: MLOAD
0000063a: PUSH3 0x461bcd
0000063e: PUSH1 0xe5
00000640: SHL
00000641: DUP2
00000642: MSTORE
00000643: PUSH1 0x20
00000645: PUSH1 0x04
00000647: DUP3
00000648: ADD
00000649: MSTORE
0000064a: PUSH1 0x1f
0000064c: PUSH1 0x24
0000064e: DUP3
0000064f: ADD
00000650: MSTORE
00000651: PUSH32 0x5661756c743a205f7374726174656779206973206e6f7420656e61626c656400
00000672: PUSH1 0x44
00000674: DUP3
00000675: ADD
00000676: MSTORE
00000677: PUSH1 0x64
00000679: ADD
0000067a: PUSH2 0x0214
0000067d: JUMP
0000067e: JUMPDEST
0000067f: PUSH1 0x05
00000681: DUP1
00000682: SLOAD
00000683: PUSH1 0x01
00000685: PUSH1 0x01
00000687: PUSH1 0xa0
00000689: SHL
0000068a: SUB
0000068b: NOT
0000068c: AND
0000068d: PUSH1 0x01
0000068f: PUSH1 0x01
00000691: PUSH1 0xa0
00000693: SHL
00000694: SUB
00000695: SWAP3
00000696: SWAP1
00000697: SWAP3
00000698: AND
00000699: SWAP2
0000069a: SWAP1
0000069b: SWAP2
0000069c: OR
0000069d: SWAP1
0000069e: SSTORE
0000069f: JUMP
000006a0: JUMPDEST
000006a1: PUSH2 0x06a9
000006a4: CALLER
000006a5: PUSH2 0x02ec
000006a8: JUMP
000006a9: JUMPDEST
000006aa: PUSH2 0x06c5
000006ad: JUMPI
000006ae: PUSH1 0x40
000006b0: MLOAD
000006b1: PUSH3 0x461bcd
000006b5: PUSH1 0xe5
000006b7: SHL
000006b8: DUP2
000006b9: MSTORE
000006ba: PUSH1 0x04
000006bc: ADD
000006bd: PUSH2 0x0214
000006c0: SWAP1
000006c1: PUSH2 0x12fb
000006c4: JUMP
000006c5: JUMPDEST
000006c6: PUSH1 0x01
000006c8: PUSH1 0x01
000006ca: PUSH1 0xa0
000006cc: SHL
000006cd: SUB
000006ce: DUP1
000006cf: DUP3
000006d0: AND
000006d1: PUSH1 0x00
000006d3: DUP2
000006d4: DUP2
000006d5: MSTORE
000006d6: PUSH1 0x02
000006d8: PUSH1 0x20
000006da: DUP2
000006db: SWAP1
000006dc: MSTORE
000006dd: PUSH1 0x40
000006df: DUP1
000006e0: DUP4
000006e1: KECCAK256
000006e2: DUP1
000006e3: SLOAD
000006e4: PUSH1 0xff
000006e6: NOT
000006e7: AND
000006e8: SWAP1
000006e9: SWAP3
000006ea: OR
000006eb: SWAP1
000006ec: SWAP2
000006ed: SSTORE
000006ee: DUP2
000006ef: SLOAD
000006f0: SWAP1
000006f1: MLOAD
000006f2: SWAP3
000006f3: SWAP4
000006f4: AND
000006f5: SWAP2
000006f6: PUSH32 0x34250d52157fd9958525d6ae6871710a3c3256db998616ba579f8d3e7a061dfd
00000717: SWAP2
00000718: SWAP1
00000719: LOG3
0000071a: POP
0000071b: JUMP
0000071c: JUMPDEST
0000071d: PUSH2 0x0725
00000720: CALLER
00000721: PUSH2 0x02ec
00000724: JUMP
00000725: JUMPDEST
00000726: PUSH2 0x0741
00000729: JUMPI
0000072a: PUSH1 0x40
0000072c: MLOAD
0000072d: PUSH3 0x461bcd
00000731: PUSH1 0xe5
00000733: SHL
00000734: DUP2
00000735: MSTORE
00000736: PUSH1 0x04
00000738: ADD
00000739: PUSH2 0x0214
0000073c: SWAP1
0000073d: PUSH2 0x12fb
00000740: JUMP
00000741: JUMPDEST
00000742: PUSH1 0x04
00000744: DUP1
00000745: SLOAD
00000746: PUSH2 0x0100
00000749: PUSH1 0x01
0000074b: PUSH1 0xa8
0000074d: SHL
0000074e: SUB
0000074f: NOT
00000750: AND
00000751: PUSH2 0x0100
00000754: PUSH1 0x01
00000756: PUSH1 0x01
00000758: PUSH1 0xa0
0000075a: SHL
0000075b: SUB
0000075c: DUP6
0000075d: AND
0000075e: MUL
0000075f: OR
00000760: SWAP1
00000761: SSTORE
00000762: PUSH2 0x076a
00000765: DUP2
00000766: PUSH2 0x0587
00000769: JUMP
0000076a: JUMPDEST
0000076b: POP
0000076c: POP
0000076d: JUMP
0000076e: JUMPDEST
0000076f: PUSH1 0x00
00000771: PUSH1 0x01
00000773: PUSH1 0x01
00000775: PUSH1 0xa0
00000777: SHL
00000778: SUB
00000779: DUP3
0000077a: AND
0000077b: PUSH2 0x0785
0000077e: JUMPI
0000077f: POP
00000780: SELFBALANCE
00000781: SWAP2
00000782: SWAP1
00000783: POP
00000784: JUMP
00000785: JUMPDEST
00000786: PUSH1 0x40
00000788: MLOAD
00000789: PUSH4 0x70a08231
0000078e: PUSH1 0xe0
00000790: SHL
00000791: DUP2
00000792: MSTORE
00000793: ADDRESS
00000794: PUSH1 0x04
00000796: DUP3
00000797: ADD
00000798: MSTORE
00000799: DUP3
0000079a: SWAP1
0000079b: PUSH1 0x01
0000079d: PUSH1 0x01
0000079f: PUSH1 0xa0
000007a1: SHL
000007a2: SUB
000007a3: DUP3
000007a4: AND
000007a5: SWAP1
000007a6: PUSH4 0x70a08231
000007ab: SWAP1
000007ac: PUSH1 0x24
000007ae: ADD
000007af: PUSH1 0x20
000007b1: PUSH1 0x40
000007b3: MLOAD
000007b4: DUP1
000007b5: DUP4
000007b6: SUB
000007b7: DUP2
000007b8: DUP7
000007b9: DUP1
000007ba: EXTCODESIZE
000007bb: ISZERO
000007bc: DUP1
000007bd: ISZERO
000007be: PUSH2 0x07c6
000007c1: JUMPI
000007c2: PUSH1 0x00
000007c4: DUP1
000007c5: REVERT
000007c6: JUMPDEST
000007c7: POP
000007c8: GAS
000007c9: STATICCALL
000007ca: ISZERO
000007cb: DUP1
000007cc: ISZERO
000007cd: PUSH2 0x07da
000007d0: JUMPI
000007d1: RETURNDATASIZE
000007d2: PUSH1 0x00
000007d4: DUP1
000007d5: RETURNDATACOPY
000007d6: RETURNDATASIZE
000007d7: PUSH1 0x00
000007d9: REVERT
000007da: JUMPDEST
000007db: POP
000007dc: POP
000007dd: POP
000007de: POP
000007df: PUSH1 0x40
000007e1: MLOAD
000007e2: RETURNDATASIZE
000007e3: PUSH1 0x1f
000007e5: NOT
000007e6: PUSH1 0x1f
000007e8: DUP3
000007e9: ADD
000007ea: AND
000007eb: DUP3
000007ec: ADD
000007ed: DUP1
000007ee: PUSH1 0x40
000007f0: MSTORE
000007f1: POP
000007f2: DUP2
000007f3: ADD
000007f4: SWAP1
000007f5: PUSH2 0x07fe
000007f8: SWAP2
000007f9: SWAP1
000007fa: PUSH2 0x124e
000007fd: JUMP
000007fe: JUMPDEST
000007ff: SWAP4
00000800: SWAP3
00000801: POP
00000802: POP
00000803: POP
00000804: JUMP
00000805: JUMPDEST
00000806: SWAP2
00000807: SWAP1
00000808: POP
00000809: JUMP
0000080a: JUMPDEST
0000080b: PUSH2 0x0813
0000080e: CALLER
0000080f: PUSH2 0x02ec
00000812: JUMP
00000813: JUMPDEST
00000814: PUSH2 0x082f
00000817: JUMPI
00000818: PUSH1 0x40
0000081a: MLOAD
0000081b: PUSH3 0x461bcd
0000081f: PUSH1 0xe5
00000821: SHL
00000822: DUP2
00000823: MSTORE
00000824: PUSH1 0x04
00000826: ADD
00000827: PUSH2 0x0214
0000082a: SWAP1
0000082b: PUSH2 0x12fb
0000082e: JUMP
0000082f: JUMPDEST
00000830: PUSH1 0x01
00000832: PUSH1 0x01
00000834: PUSH1 0xa0
00000836: SHL
00000837: SUB
00000838: DUP2
00000839: AND
0000083a: PUSH2 0x0855
0000083d: JUMPI
0000083e: PUSH1 0x40
00000840: MLOAD
exec
/bin/bash -lc 'cast disassemble $(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json) | sed -n '1340,1700p'" in /tmp/codex-_mwrbysw
succeeded in 0ms:
00000840: MLOAD
00000841: PUSH3 0x461bcd
00000845: PUSH1 0xe5
00000847: SHL
00000848: DUP2
00000849: MSTORE
0000084a: PUSH1 0x04
0000084c: ADD
0000084d: PUSH2 0x0214
00000850: SWAP1
00000851: PUSH2 0x12b5
00000854: JUMP
00000855: JUMPDEST
00000856: PUSH1 0x00
00000858: DUP1
00000859: SLOAD
0000085a: PUSH1 0x40
0000085c: MLOAD
0000085d: PUSH1 0x01
0000085f: PUSH1 0x01
00000861: PUSH1 0xa0
00000863: SHL
00000864: SUB
00000865: DUP1
00000866: DUP6
00000867: AND
00000868: SWAP4
00000869: SWAP3
0000086a: AND
0000086b: SWAP2
0000086c: PUSH32 0xb51454ce8c7f26becd312a46c4815553887f2ec876a0b8dc813b87f62edf6f80
0000088d: SWAP2
0000088e: LOG3
0000088f: PUSH1 0x01
00000891: DUP1
00000892: SLOAD
00000893: PUSH1 0x01
00000895: PUSH1 0x01
00000897: PUSH1 0xa0
00000899: SHL
0000089a: SUB
0000089b: NOT
0000089c: AND
0000089d: PUSH1 0x01
0000089f: PUSH1 0x01
000008a1: PUSH1 0xa0
000008a3: SHL
000008a4: SUB
000008a5: SWAP3
000008a6: SWAP1
000008a7: SWAP3
000008a8: AND
000008a9: SWAP2
000008aa: SWAP1
000008ab: SWAP2
000008ac: OR
000008ad: SWAP1
000008ae: SSTORE
000008af: JUMP
000008b0: JUMPDEST
000008b1: PUSH1 0x01
000008b3: SLOAD
000008b4: PUSH1 0x01
000008b6: PUSH1 0x01
000008b8: PUSH1 0xa0
000008ba: SHL
000008bb: SUB
000008bc: AND
000008bd: CALLER
000008be: EQ
000008bf: PUSH2 0x091c
000008c2: JUMPI
000008c3: PUSH1 0x40
000008c5: MLOAD
000008c6: PUSH3 0x461bcd
000008ca: PUSH1 0xe5
000008cc: SHL
000008cd: DUP2
000008ce: MSTORE
000008cf: PUSH1 0x20
000008d1: PUSH1 0x04
000008d3: DUP3
000008d4: ADD
000008d5: MSTORE
000008d6: PUSH1 0x29
000008d8: PUSH1 0x24
000008da: DUP3
000008db: ADD
000008dc: MSTORE
000008dd: PUSH32 0x4f776e61626c653a20796f75722061646472657373206973206e6f742070656e
000008fe: PUSH1 0x44
00000900: DUP3
00000901: ADD
00000902: MSTORE
00000903: PUSH9 0x3234b733a7bbb732b9
0000090d: PUSH1 0xb9
0000090f: SHL
00000910: PUSH1 0x64
00000912: DUP3
00000913: ADD
00000914: MSTORE
00000915: PUSH1 0x84
00000917: ADD
00000918: PUSH2 0x0214
0000091b: JUMP
0000091c: JUMPDEST
0000091d: PUSH1 0x01
0000091f: SLOAD
00000920: PUSH1 0x00
00000922: DUP1
00000923: SLOAD
00000924: PUSH1 0x40
00000926: MLOAD
00000927: PUSH1 0x01
00000929: PUSH1 0x01
0000092b: PUSH1 0xa0
0000092d: SHL
0000092e: SUB
0000092f: SWAP4
00000930: DUP5
00000931: AND
00000932: SWAP4
00000933: SWAP1
00000934: SWAP2
00000935: AND
00000936: SWAP2
00000937: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00000958: SWAP2
00000959: LOG3
0000095a: PUSH1 0x01
0000095c: DUP1
0000095d: SLOAD
0000095e: PUSH1 0x00
00000960: DUP1
00000961: SLOAD
00000962: PUSH1 0x01
00000964: PUSH1 0x01
00000966: PUSH1 0xa0
00000968: SHL
00000969: SUB
0000096a: NOT
0000096b: SWAP1
0000096c: DUP2
0000096d: AND
0000096e: PUSH1 0x01
00000970: PUSH1 0x01
00000972: PUSH1 0xa0
00000974: SHL
00000975: SUB
00000976: DUP5
00000977: AND
00000978: OR
00000979: SWAP1
0000097a: SWAP2
0000097b: SSTORE
0000097c: AND
0000097d: SWAP1
0000097e: SSTORE
0000097f: JUMP
00000980: JUMPDEST
00000981: PUSH2 0x0989
00000984: CALLER
00000985: PUSH2 0x02ec
00000988: JUMP
00000989: JUMPDEST
0000098a: PUSH2 0x09a5
0000098d: JUMPI
0000098e: PUSH1 0x40
00000990: MLOAD
00000991: PUSH3 0x461bcd
00000995: PUSH1 0xe5
00000997: SHL
00000998: DUP2
00000999: MSTORE
0000099a: PUSH1 0x04
0000099c: ADD
0000099d: PUSH2 0x0214
000009a0: SWAP1
000009a1: PUSH2 0x12fb
000009a4: JUMP
000009a5: JUMPDEST
000009a6: DUP1
000009a7: ISZERO
000009a8: PUSH2 0x09b6
000009ab: JUMPI
000009ac: PUSH2 0x09b3
000009af: PUSH2 0x0d1e
000009b2: JUMP
000009b3: JUMPDEST
000009b4: POP
000009b5: JUMP
000009b6: JUMPDEST
000009b7: PUSH2 0x09b3
000009ba: PUSH2 0x0db6
000009bd: JUMP
000009be: JUMPDEST
000009bf: PUSH2 0x09c7
000009c2: CALLER
000009c3: PUSH2 0x02ec
000009c6: JUMP
000009c7: JUMPDEST
000009c8: PUSH2 0x09e3
000009cb: JUMPI
000009cc: PUSH1 0x40
000009ce: MLOAD
000009cf: PUSH3 0x461bcd
000009d3: PUSH1 0xe5
000009d5: SHL
000009d6: DUP2
000009d7: MSTORE
000009d8: PUSH1 0x04
000009da: ADD
000009db: PUSH2 0x0214
000009de: SWAP1
000009df: PUSH2 0x12fb
000009e2: JUMP
000009e3: JUMPDEST
000009e4: PUSH1 0x01
000009e6: PUSH1 0x01
000009e8: PUSH1 0xa0
000009ea: SHL
000009eb: SUB
000009ec: DUP3
000009ed: AND
000009ee: PUSH2 0x0a52
000009f1: JUMPI
000009f2: SELFBALANCE
000009f3: DUP2
000009f4: PUSH2 0x09ff
000009f7: JUMPI
000009f8: DUP1
000009f9: SWAP2
000009fa: POP
000009fb: PUSH2 0x0a12
000009fe: JUMP
000009ff: JUMPDEST
00000a00: DUP1
00000a01: DUP3
00000a02: LT
00000a03: ISZERO
00000a04: PUSH2 0x0a0d
00000a07: JUMPI
00000a08: DUP2
00000a09: PUSH2 0x0a0f
00000a0c: JUMP
00000a0d: JUMPDEST
00000a0e: DUP1
00000a0f: JUMPDEST
00000a10: SWAP2
00000a11: POP
00000a12: JUMPDEST
00000a13: PUSH1 0x00
00000a15: DUP1
00000a16: SLOAD
00000a17: PUSH1 0x40
00000a19: MLOAD
00000a1a: PUSH1 0x01
00000a1c: PUSH1 0x01
00000a1e: PUSH1 0xa0
00000a20: SHL
00000a21: SUB
00000a22: SWAP1
00000a23: SWAP2
00000a24: AND
00000a25: SWAP2
00000a26: DUP5
00000a27: ISZERO
00000a28: PUSH2 0x08fc
00000a2b: MUL
00000a2c: SWAP2
00000a2d: DUP6
00000a2e: SWAP2
00000a2f: DUP2
00000a30: DUP2
00000a31: DUP2
00000a32: DUP6
00000a33: DUP9
00000a34: DUP9
00000a35: CALL
00000a36: SWAP4
00000a37: POP
00000a38: POP
00000a39: POP
00000a3a: POP
00000a3b: ISZERO
00000a3c: DUP1
00000a3d: ISZERO
00000a3e: PUSH2 0x0a4b
00000a41: JUMPI
00000a42: RETURNDATASIZE
00000a43: PUSH1 0x00
00000a45: DUP1
00000a46: RETURNDATACOPY
00000a47: RETURNDATASIZE
00000a48: PUSH1 0x00
00000a4a: REVERT
00000a4b: JUMPDEST
00000a4c: POP
00000a4d: POP
00000a4e: PUSH2 0x0b20
00000a51: JUMP
00000a52: JUMPDEST
00000a53: PUSH1 0x40
00000a55: MLOAD
00000a56: PUSH4 0x70a08231
00000a5b: PUSH1 0xe0
00000a5d: SHL
00000a5e: DUP2
00000a5f: MSTORE
00000a60: ADDRESS
00000a61: PUSH1 0x04
00000a63: DUP3
00000a64: ADD
00000a65: MSTORE
00000a66: DUP3
00000a67: SWAP1
00000a68: PUSH1 0x00
00000a6a: SWAP1
00000a6b: PUSH1 0x01
00000a6d: PUSH1 0x01
00000a6f: PUSH1 0xa0
00000a71: SHL
00000a72: SUB
00000a73: DUP4
00000a74: AND
00000a75: SWAP1
00000a76: PUSH4 0x70a08231
00000a7b: SWAP1
00000a7c: PUSH1 0x24
00000a7e: ADD
00000a7f: PUSH1 0x20
00000a81: PUSH1 0x40
00000a83: MLOAD
00000a84: DUP1
00000a85: DUP4
00000a86: SUB
00000a87: DUP2
00000a88: DUP7
00000a89: DUP1
00000a8a: EXTCODESIZE
00000a8b: ISZERO
00000a8c: DUP1
00000a8d: ISZERO
00000a8e: PUSH2 0x0a96
00000a91: JUMPI
00000a92: PUSH1 0x00
00000a94: DUP1
00000a95: REVERT
00000a96: JUMPDEST
00000a97: POP
00000a98: GAS
00000a99: STATICCALL
00000a9a: ISZERO
00000a9b: DUP1
00000a9c: ISZERO
00000a9d: PUSH2 0x0aaa
00000aa0: JUMPI
00000aa1: RETURNDATASIZE
00000aa2: PUSH1 0x00
00000aa4: DUP1
00000aa5: RETURNDATACOPY
exec
/bin/bash -lc 'cast disassemble $(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json) | sed -n '1700,2060p'" in /tmp/codex-_mwrbysw
succeeded in 0ms:
00000aa5: RETURNDATACOPY
00000aa6: RETURNDATASIZE
00000aa7: PUSH1 0x00
00000aa9: REVERT
00000aaa: JUMPDEST
00000aab: POP
00000aac: POP
00000aad: POP
00000aae: POP
00000aaf: PUSH1 0x40
00000ab1: MLOAD
00000ab2: RETURNDATASIZE
00000ab3: PUSH1 0x1f
00000ab5: NOT
00000ab6: PUSH1 0x1f
00000ab8: DUP3
00000ab9: ADD
00000aba: AND
00000abb: DUP3
00000abc: ADD
00000abd: DUP1
00000abe: PUSH1 0x40
00000ac0: MSTORE
00000ac1: POP
00000ac2: DUP2
00000ac3: ADD
00000ac4: SWAP1
00000ac5: PUSH2 0x0ace
00000ac8: SWAP2
00000ac9: SWAP1
00000aca: PUSH2 0x124e
00000acd: JUMP
00000ace: JUMPDEST
00000acf: SWAP1
00000ad0: POP
00000ad1: DUP3
00000ad2: PUSH2 0x0add
00000ad5: JUMPI
00000ad6: DUP1
00000ad7: SWAP3
00000ad8: POP
00000ad9: PUSH2 0x0af0
00000adc: JUMP
00000add: JUMPDEST
00000ade: DUP1
00000adf: DUP4
00000ae0: LT
00000ae1: ISZERO
00000ae2: PUSH2 0x0aeb
00000ae5: JUMPI
00000ae6: DUP3
00000ae7: PUSH2 0x0aed
00000aea: JUMP
00000aeb: JUMPDEST
00000aec: DUP1
00000aed: JUMPDEST
00000aee: SWAP3
00000aef: POP
00000af0: JUMPDEST
00000af1: DUP1
00000af2: DUP4
00000af3: LT
00000af4: ISZERO
00000af5: PUSH2 0x0afe
00000af8: JUMPI
00000af9: DUP3
00000afa: PUSH2 0x0b00
00000afd: JUMP
00000afe: JUMPDEST
00000aff: DUP1
00000b00: JUMPDEST
00000b01: PUSH1 0x00
00000b03: SLOAD
00000b04: SWAP1
00000b05: SWAP4
00000b06: POP
00000b07: PUSH2 0x0b1d
00000b0a: SWAP1
00000b0b: PUSH1 0x01
00000b0d: PUSH1 0x01
00000b0f: PUSH1 0xa0
00000b11: SHL
00000b12: SUB
00000b13: DUP5
00000b14: DUP2
00000b15: AND
00000b16: SWAP2
00000b17: AND
00000b18: DUP6
00000b19: PUSH2 0x0e30
00000b1c: JUMP
00000b1d: JUMPDEST
00000b1e: POP
00000b1f: POP
00000b20: JUMPDEST
00000b21: PUSH1 0x00
00000b23: SLOAD
00000b24: PUSH1 0x40
00000b26: MLOAD
00000b27: DUP3
00000b28: DUP2
00000b29: MSTORE
00000b2a: PUSH1 0x01
00000b2c: PUSH1 0x01
00000b2e: PUSH1 0xa0
00000b30: SHL
00000b31: SUB
00000b32: SWAP2
00000b33: DUP3
00000b34: AND
00000b35: SWAP2
00000b36: DUP5
00000b37: AND
00000b38: SWAP1
00000b39: PUSH32 0x5df18565c5bc04aa5c8a0d9d2db510b133941a1372be5a443ea4ec5f2f04f293
00000b5a: SWAP1
00000b5b: PUSH1 0x20
00000b5d: ADD
00000b5e: PUSH1 0x40
00000b60: MLOAD
00000b61: DUP1
00000b62: SWAP2
00000b63: SUB
00000b64: SWAP1
00000b65: LOG3
00000b66: POP
00000b67: POP
00000b68: JUMP
00000b69: JUMPDEST
00000b6a: PUSH2 0x0b72
00000b6d: CALLER
00000b6e: PUSH2 0x02ec
00000b71: JUMP
00000b72: JUMPDEST
00000b73: PUSH2 0x0b8e
00000b76: JUMPI
00000b77: PUSH1 0x40
00000b79: MLOAD
00000b7a: PUSH3 0x461bcd
00000b7e: PUSH1 0xe5
00000b80: SHL
00000b81: DUP2
00000b82: MSTORE
00000b83: PUSH1 0x04
00000b85: ADD
00000b86: PUSH2 0x0214
00000b89: SWAP1
00000b8a: PUSH2 0x12fb
00000b8d: JUMP
00000b8e: JUMPDEST
00000b8f: PUSH1 0x01
00000b91: PUSH1 0x01
00000b93: PUSH1 0xa0
00000b95: SHL
00000b96: SUB
00000b97: DUP2
00000b98: AND
00000b99: PUSH1 0x00
00000b9b: SWAP1
00000b9c: DUP2
00000b9d: MSTORE
00000b9e: PUSH1 0x02
00000ba0: PUSH1 0x20
00000ba2: MSTORE
00000ba3: PUSH1 0x40
00000ba5: SWAP1
00000ba6: KECCAK256
00000ba7: SLOAD
00000ba8: PUSH1 0xff
00000baa: AND
00000bab: PUSH2 0x0bfa
00000bae: JUMPI
00000baf: PUSH1 0x03
00000bb1: DUP1
00000bb2: SLOAD
00000bb3: PUSH1 0x01
00000bb5: DUP2
00000bb6: ADD
00000bb7: DUP3
00000bb8: SSTORE
00000bb9: PUSH1 0x00
00000bbb: SWAP2
00000bbc: SWAP1
00000bbd: SWAP2
00000bbe: MSTORE
00000bbf: PUSH32 0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b
00000be0: ADD
00000be1: DUP1
00000be2: SLOAD
00000be3: PUSH1 0x01
00000be5: PUSH1 0x01
00000be7: PUSH1 0xa0
00000be9: SHL
00000bea: SUB
00000beb: NOT
00000bec: AND
00000bed: PUSH1 0x01
00000bef: PUSH1 0x01
00000bf1: PUSH1 0xa0
00000bf3: SHL
00000bf4: SUB
00000bf5: DUP4
00000bf6: AND
00000bf7: OR
00000bf8: SWAP1
00000bf9: SSTORE
00000bfa: JUMPDEST
00000bfb: PUSH1 0x01
00000bfd: PUSH1 0x01
00000bff: PUSH1 0xa0
00000c01: SHL
00000c02: SUB
00000c03: DUP1
00000c04: DUP3
00000c05: AND
00000c06: PUSH1 0x00
00000c08: DUP2
00000c09: DUP2
00000c0a: MSTORE
00000c0b: PUSH1 0x02
00000c0d: PUSH1 0x20
00000c0f: MSTORE
00000c10: PUSH1 0x40
00000c12: DUP1
00000c13: DUP3
00000c14: KECCAK256
00000c15: DUP1
00000c16: SLOAD
00000c17: PUSH1 0xff
00000c19: NOT
00000c1a: AND
00000c1b: PUSH1 0x01
00000c1d: OR
00000c1e: SWAP1
00000c1f: SSTORE
00000c20: DUP2
00000c21: SLOAD
00000c22: SWAP1
00000c23: MLOAD
00000c24: SWAP3
00000c25: SWAP4
00000c26: AND
00000c27: SWAP2
00000c28: PUSH32 0x51778c51d58ce676f156168a160fc5e14ad3c40027f7d6bf7ce613de46dda9a0
00000c49: SWAP2
00000c4a: SWAP1
00000c4b: LOG3
00000c4c: POP
00000c4d: JUMP
00000c4e: JUMPDEST
00000c4f: PUSH1 0x03
00000c51: DUP2
00000c52: DUP2
00000c53: SLOAD
00000c54: DUP2
00000c55: LT
00000c56: PUSH2 0x0c5e
00000c59: JUMPI
00000c5a: PUSH1 0x00
00000c5c: DUP1
00000c5d: REVERT
00000c5e: JUMPDEST
00000c5f: PUSH1 0x00
00000c61: SWAP2
00000c62: DUP3
00000c63: MSTORE
00000c64: PUSH1 0x20
00000c66: SWAP1
00000c67: SWAP2
00000c68: KECCAK256
00000c69: ADD
00000c6a: SLOAD
00000c6b: PUSH1 0x01
00000c6d: PUSH1 0x01
00000c6f: PUSH1 0xa0
00000c71: SHL
00000c72: SUB
00000c73: AND
00000c74: SWAP1
00000c75: POP
00000c76: DUP2
00000c77: JUMP
00000c78: JUMPDEST
00000c79: PUSH2 0x0c81
00000c7c: CALLER
00000c7d: PUSH2 0x02ec
00000c80: JUMP
00000c81: JUMPDEST
00000c82: PUSH2 0x0c9d
00000c85: JUMPI
00000c86: PUSH1 0x40
00000c88: MLOAD
00000c89: PUSH3 0x461bcd
00000c8d: PUSH1 0xe5
00000c8f: SHL
00000c90: DUP2
00000c91: MSTORE
00000c92: PUSH1 0x04
00000c94: ADD
00000c95: PUSH2 0x0214
00000c98: SWAP1
00000c99: PUSH2 0x12fb
00000c9c: JUMP
00000c9d: JUMPDEST
00000c9e: PUSH1 0x01
00000ca0: PUSH1 0x01
00000ca2: PUSH1 0xa0
00000ca4: SHL
00000ca5: SUB
00000ca6: DUP2
00000ca7: AND
00000ca8: PUSH2 0x0cc3
00000cab: JUMPI
00000cac: PUSH1 0x40
00000cae: MLOAD
00000caf: PUSH3 0x461bcd
00000cb3: PUSH1 0xe5
00000cb5: SHL
00000cb6: DUP2
00000cb7: MSTORE
00000cb8: PUSH1 0x04
00000cba: ADD
00000cbb: PUSH2 0x0214
00000cbe: SWAP1
00000cbf: PUSH2 0x12b5
00000cc2: JUMP
00000cc3: JUMPDEST
00000cc4: PUSH1 0x00
00000cc6: DUP1
00000cc7: SLOAD
00000cc8: PUSH1 0x40
00000cca: MLOAD
00000ccb: PUSH1 0x01
00000ccd: PUSH1 0x01
00000ccf: PUSH1 0xa0
00000cd1: SHL
00000cd2: SUB
00000cd3: DUP1
00000cd4: DUP6
00000cd5: AND
00000cd6: SWAP4
00000cd7: SWAP3
00000cd8: AND
00000cd9: SWAP2
00000cda: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00000cfb: SWAP2
00000cfc: LOG3
00000cfd: PUSH1 0x00
00000cff: DUP1
00000d00: SLOAD
00000d01: PUSH1 0x01
00000d03: PUSH1 0x01
00000d05: PUSH1 0xa0
00000d07: SHL
00000d08: SUB
00000d09: NOT
00000d0a: AND
00000d0b: PUSH1 0x01
00000d0d: PUSH1 0x01
00000d0f: PUSH1 0xa0
00000d11: SHL
exec
/bin/bash -lc 'cast disassemble $(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json) | sed -n '2060,2420p'" in /tmp/codex-_mwrbysw
succeeded in 0ms:
00000d11: SHL
00000d12: SUB
00000d13: SWAP3
00000d14: SWAP1
00000d15: SWAP3
00000d16: AND
00000d17: SWAP2
00000d18: SWAP1
00000d19: SWAP2
00000d1a: OR
00000d1b: SWAP1
00000d1c: SSTORE
00000d1d: JUMP
00000d1e: JUMPDEST
00000d1f: PUSH1 0x04
00000d21: SLOAD
00000d22: PUSH1 0xff
00000d24: AND
00000d25: ISZERO
00000d26: PUSH2 0x0d64
00000d29: JUMPI
00000d2a: PUSH1 0x40
00000d2c: MLOAD
00000d2d: PUSH3 0x461bcd
00000d31: PUSH1 0xe5
00000d33: SHL
00000d34: DUP2
00000d35: MSTORE
00000d36: PUSH1 0x20
00000d38: PUSH1 0x04
00000d3a: DUP3
00000d3b: ADD
00000d3c: MSTORE
00000d3d: PUSH1 0x10
00000d3f: PUSH1 0x24
00000d41: DUP3
00000d42: ADD
00000d43: MSTORE
00000d44: PUSH16 0x14185d5cd8589b194e881c185d5cd959
00000d55: PUSH1 0x82
00000d57: SHL
00000d58: PUSH1 0x44
00000d5a: DUP3
00000d5b: ADD
00000d5c: MSTORE
00000d5d: PUSH1 0x64
00000d5f: ADD
00000d60: PUSH2 0x0214
00000d63: JUMP
00000d64: JUMPDEST
00000d65: PUSH1 0x04
00000d67: DUP1
00000d68: SLOAD
00000d69: PUSH1 0xff
00000d6b: NOT
00000d6c: AND
00000d6d: PUSH1 0x01
00000d6f: OR
00000d70: SWAP1
00000d71: SSTORE
00000d72: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258
00000d93: PUSH2 0x0d99
00000d96: CALLER
00000d97: SWAP1
00000d98: JUMP
00000d99: JUMPDEST
00000d9a: PUSH1 0x40
00000d9c: MLOAD
00000d9d: PUSH1 0x01
00000d9f: PUSH1 0x01
00000da1: PUSH1 0xa0
00000da3: SHL
00000da4: SUB
00000da5: SWAP1
00000da6: SWAP2
00000da7: AND
00000da8: DUP2
00000da9: MSTORE
00000daa: PUSH1 0x20
00000dac: ADD
00000dad: PUSH1 0x40
00000daf: MLOAD
00000db0: DUP1
00000db1: SWAP2
00000db2: SUB
00000db3: SWAP1
00000db4: LOG1
00000db5: JUMP
00000db6: JUMPDEST
00000db7: PUSH1 0x04
00000db9: SLOAD
00000dba: PUSH1 0xff
00000dbc: AND
00000dbd: PUSH2 0x0dff
00000dc0: JUMPI
00000dc1: PUSH1 0x40
00000dc3: MLOAD
00000dc4: PUSH3 0x461bcd
00000dc8: PUSH1 0xe5
00000dca: SHL
00000dcb: DUP2
00000dcc: MSTORE
00000dcd: PUSH1 0x20
00000dcf: PUSH1 0x04
00000dd1: DUP3
00000dd2: ADD
00000dd3: MSTORE
00000dd4: PUSH1 0x14
00000dd6: PUSH1 0x24
00000dd8: DUP3
00000dd9: ADD
00000dda: MSTORE
00000ddb: PUSH20 0x14185d5cd8589b194e881b9bdd081c185d5cd959
00000df0: PUSH1 0x62
00000df2: SHL
00000df3: PUSH1 0x44
00000df5: DUP3
00000df6: ADD
00000df7: MSTORE
00000df8: PUSH1 0x64
00000dfa: ADD
00000dfb: PUSH2 0x0214
00000dfe: JUMP
00000dff: JUMPDEST
00000e00: PUSH1 0x04
00000e02: DUP1
00000e03: SLOAD
00000e04: PUSH1 0xff
00000e06: NOT
00000e07: AND
00000e08: SWAP1
00000e09: SSTORE
00000e0a: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa
00000e2b: CALLER
00000e2c: PUSH2 0x0d99
00000e2f: JUMP
00000e30: JUMPDEST
00000e31: PUSH1 0x40
00000e33: DUP1
00000e34: MLOAD
00000e35: PUSH1 0x01
00000e37: PUSH1 0x01
00000e39: PUSH1 0xa0
00000e3b: SHL
00000e3c: SUB
00000e3d: DUP5
00000e3e: DUP2
00000e3f: AND
00000e40: PUSH1 0x24
00000e42: DUP4
00000e43: ADD
00000e44: MSTORE
00000e45: PUSH1 0x44
00000e47: DUP1
00000e48: DUP4
00000e49: ADD
00000e4a: DUP6
00000e4b: SWAP1
00000e4c: MSTORE
00000e4d: DUP4
00000e4e: MLOAD
00000e4f: DUP1
00000e50: DUP5
00000e51: SUB
00000e52: SWAP1
00000e53: SWAP2
00000e54: ADD
00000e55: DUP2
00000e56: MSTORE
00000e57: PUSH1 0x64
00000e59: SWAP1
00000e5a: SWAP3
00000e5b: ADD
00000e5c: DUP4
00000e5d: MSTORE
00000e5e: PUSH1 0x20
00000e60: DUP1
00000e61: DUP4
00000e62: ADD
00000e63: DUP1
00000e64: MLOAD
00000e65: PUSH1 0x01
00000e67: PUSH1 0x01
00000e69: PUSH1 0xe0
00000e6b: SHL
00000e6c: SUB
00000e6d: AND
00000e6e: PUSH4 0xa9059cbb
00000e73: PUSH1 0xe0
00000e75: SHL
00000e76: OR
00000e77: SWAP1
00000e78: MSTORE
00000e79: DUP4
00000e7a: MLOAD
00000e7b: DUP1
00000e7c: DUP6
00000e7d: ADD
00000e7e: SWAP1
00000e7f: SWAP5
00000e80: MSTORE
00000e81: DUP1
00000e82: DUP5
00000e83: MSTORE
00000e84: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00000ea5: SWAP1
00000ea6: DUP5
00000ea7: ADD
00000ea8: MSTORE
00000ea9: PUSH2 0x0582
00000eac: SWAP3
00000ead: DUP7
00000eae: SWAP3
00000eaf: SWAP2
00000eb0: PUSH1 0x00
00000eb2: SWAP2
00000eb3: PUSH2 0x0ec0
00000eb6: SWAP2
00000eb7: DUP6
00000eb8: AND
00000eb9: SWAP1
00000eba: DUP5
00000ebb: SWAP1
00000ebc: PUSH2 0x0f3d
00000ebf: JUMP
00000ec0: JUMPDEST
00000ec1: DUP1
00000ec2: MLOAD
00000ec3: SWAP1
00000ec4: SWAP2
00000ec5: POP
00000ec6: ISZERO
00000ec7: PUSH2 0x0582
00000eca: JUMPI
00000ecb: DUP1
00000ecc: DUP1
00000ecd: PUSH1 0x20
00000ecf: ADD
00000ed0: SWAP1
00000ed1: MLOAD
00000ed2: DUP2
00000ed3: ADD
00000ed4: SWAP1
00000ed5: PUSH2 0x0ede
00000ed8: SWAP2
00000ed9: SWAP1
00000eda: PUSH2 0x1166
00000edd: JUMP
00000ede: JUMPDEST
00000edf: PUSH2 0x0582
00000ee2: JUMPI
00000ee3: PUSH1 0x40
00000ee5: MLOAD
00000ee6: PUSH3 0x461bcd
00000eea: PUSH1 0xe5
00000eec: SHL
00000eed: DUP2
00000eee: MSTORE
00000eef: PUSH1 0x20
00000ef1: PUSH1 0x04
00000ef3: DUP3
00000ef4: ADD
00000ef5: MSTORE
00000ef6: PUSH1 0x2a
00000ef8: PUSH1 0x24
00000efa: DUP3
00000efb: ADD
00000efc: MSTORE
00000efd: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
00000f1e: PUSH1 0x44
00000f20: DUP3
00000f21: ADD
00000f22: MSTORE
00000f23: PUSH10 0x1bdd081cdd58d8d95959
00000f2e: PUSH1 0xb2
00000f30: SHL
00000f31: PUSH1 0x64
00000f33: DUP3
00000f34: ADD
00000f35: MSTORE
00000f36: PUSH1 0x84
00000f38: ADD
00000f39: PUSH2 0x0214
00000f3c: JUMP
00000f3d: JUMPDEST
00000f3e: PUSH1 0x60
00000f40: PUSH2 0x0f4c
00000f43: DUP5
00000f44: DUP5
00000f45: PUSH1 0x00
00000f47: DUP6
00000f48: PUSH2 0x0f54
00000f4b: JUMP
00000f4c: JUMPDEST
00000f4d: SWAP5
00000f4e: SWAP4
00000f4f: POP
00000f50: POP
00000f51: POP
00000f52: POP
00000f53: JUMP
00000f54: JUMPDEST
00000f55: PUSH1 0x60
00000f57: DUP3
00000f58: SELFBALANCE
00000f59: LT
00000f5a: ISZERO
00000f5b: PUSH2 0x0fb5
00000f5e: JUMPI
00000f5f: PUSH1 0x40
00000f61: MLOAD
00000f62: PUSH3 0x461bcd
00000f66: PUSH1 0xe5
00000f68: SHL
00000f69: DUP2
00000f6a: MSTORE
00000f6b: PUSH1 0x20
00000f6d: PUSH1 0x04
00000f6f: DUP3
00000f70: ADD
00000f71: MSTORE
00000f72: PUSH1 0x26
00000f74: PUSH1 0x24
00000f76: DUP3
00000f77: ADD
00000f78: MSTORE
00000f79: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f
00000f9a: PUSH1 0x44
00000f9c: DUP3
00000f9d: ADD
00000f9e: MSTORE
00000f9f: PUSH6 0x1c8818d85b1b
00000fa6: PUSH1 0xd2
00000fa8: SHL
00000fa9: PUSH1 0x64
00000fab: DUP3
00000fac: ADD
00000fad: MSTORE
00000fae: PUSH1 0x84
00000fb0: ADD
00000fb1: PUSH2 0x0214
00000fb4: JUMP
00000fb5: JUMPDEST
00000fb6: PUSH1 0x01
00000fb8: PUSH1 0x01
00000fba: PUSH1 0xa0
00000fbc: SHL
00000fbd: SUB
00000fbe: DUP6
00000fbf: AND
00000fc0: EXTCODESIZE
00000fc1: PUSH2 0x100c
00000fc4: JUMPI
00000fc5: PUSH1 0x40
00000fc7: MLOAD
00000fc8: PUSH3 0x461bcd
00000fcc: PUSH1 0xe5
00000fce: SHL
00000fcf: DUP2
00000fd0: MSTORE
00000fd1: PUSH1 0x20
exec
/bin/bash -lc 'cast disassemble $(jq -r '"'.artifact.runtime_bytecode.full' BYTECODE_BUNDLE.json) | sed -n '2420,2780p'" in /tmp/codex-_mwrbysw
succeeded in 0ms:
00000fd1: PUSH1 0x20
00000fd3: PUSH1 0x04
00000fd5: DUP3
00000fd6: ADD
00000fd7: MSTORE
00000fd8: PUSH1 0x1d
00000fda: PUSH1 0x24
00000fdc: DUP3
00000fdd: ADD
00000fde: MSTORE
00000fdf: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
00001000: PUSH1 0x44
00001002: DUP3
00001003: ADD
00001004: MSTORE
00001005: PUSH1 0x64
00001007: ADD
00001008: PUSH2 0x0214
0000100b: JUMP
0000100c: JUMPDEST
0000100d: PUSH1 0x00
0000100f: DUP1
00001010: DUP7
00001011: PUSH1 0x01
00001013: PUSH1 0x01
00001015: PUSH1 0xa0
00001017: SHL
00001018: SUB
00001019: AND
0000101a: DUP6
0000101b: DUP8
0000101c: PUSH1 0x40
0000101e: MLOAD
0000101f: PUSH2 0x1028
00001022: SWAP2
00001023: SWAP1
00001024: PUSH2 0x1266
00001027: JUMP
00001028: JUMPDEST
00001029: PUSH1 0x00
0000102b: PUSH1 0x40
0000102d: MLOAD
0000102e: DUP1
0000102f: DUP4
00001030: SUB
00001031: DUP2
00001032: DUP6
00001033: DUP8
00001034: GAS
00001035: CALL
00001036: SWAP3
00001037: POP
00001038: POP
00001039: POP
0000103a: RETURNDATASIZE
0000103b: DUP1
0000103c: PUSH1 0x00
0000103e: DUP2
0000103f: EQ
00001040: PUSH2 0x1065
00001043: JUMPI
00001044: PUSH1 0x40
00001046: MLOAD
00001047: SWAP2
00001048: POP
00001049: PUSH1 0x1f
0000104b: NOT
0000104c: PUSH1 0x3f
0000104e: RETURNDATASIZE
0000104f: ADD
00001050: AND
00001051: DUP3
00001052: ADD
00001053: PUSH1 0x40
00001055: MSTORE
00001056: RETURNDATASIZE
00001057: DUP3
00001058: MSTORE
00001059: RETURNDATASIZE
0000105a: PUSH1 0x00
0000105c: PUSH1 0x20
0000105e: DUP5
0000105f: ADD
00001060: RETURNDATACOPY
00001061: PUSH2 0x106a
00001064: JUMP
00001065: JUMPDEST
00001066: PUSH1 0x60
00001068: SWAP2
00001069: POP
0000106a: JUMPDEST
0000106b: POP
0000106c: SWAP2
0000106d: POP
0000106e: SWAP2
0000106f: POP
00001070: PUSH2 0x107a
00001073: DUP3
00001074: DUP3
00001075: DUP7
00001076: PUSH2 0x1085
00001079: JUMP
0000107a: JUMPDEST
0000107b: SWAP8
0000107c: SWAP7
0000107d: POP
0000107e: POP
0000107f: POP
00001080: POP
00001081: POP
00001082: POP
00001083: POP
00001084: JUMP
00001085: JUMPDEST
00001086: PUSH1 0x60
00001088: DUP4
00001089: ISZERO
0000108a: PUSH2 0x1094
0000108d: JUMPI
0000108e: POP
0000108f: DUP2
00001090: PUSH2 0x07fe
00001093: JUMP
00001094: JUMPDEST
00001095: DUP3
00001096: MLOAD
00001097: ISZERO
00001098: PUSH2 0x10a4
0000109b: JUMPI
0000109c: DUP3
0000109d: MLOAD
0000109e: DUP1
0000109f: DUP5
000010a0: PUSH1 0x20
000010a2: ADD
000010a3: REVERT
000010a4: JUMPDEST
000010a5: DUP2
000010a6: PUSH1 0x40
000010a8: MLOAD
000010a9: PUSH3 0x461bcd
000010ad: PUSH1 0xe5
000010af: SHL
000010b0: DUP2
000010b1: MSTORE
000010b2: PUSH1 0x04
000010b4: ADD
000010b5: PUSH2 0x0214
000010b8: SWAP2
000010b9: SWAP1
000010ba: PUSH2 0x1282
000010bd: JUMP
000010be: JUMPDEST
000010bf: DUP1
000010c0: CALLDATALOAD
000010c1: PUSH1 0x01
000010c3: PUSH1 0x01
000010c5: PUSH1 0xa0
000010c7: SHL
000010c8: SUB
000010c9: DUP2
000010ca: AND
000010cb: DUP2
000010cc: EQ
000010cd: PUSH2 0x0805
000010d0: JUMPI
000010d1: PUSH1 0x00
000010d3: DUP1
000010d4: REVERT
000010d5: JUMPDEST
000010d6: PUSH1 0x00
000010d8: PUSH1 0x20
000010da: DUP3
000010db: DUP5
000010dc: SUB
000010dd: SLT
000010de: ISZERO
000010df: PUSH2 0x10e6
000010e2: JUMPI
000010e3: DUP1
000010e4: DUP2
000010e5: REVERT
000010e6: JUMPDEST
000010e7: PUSH2 0x07fe
000010ea: DUP3
000010eb: PUSH2 0x10be
000010ee: JUMP
000010ef: JUMPDEST
000010f0: PUSH1 0x00
000010f2: DUP1
000010f3: PUSH1 0x40
000010f5: DUP4
000010f6: DUP6
000010f7: SUB
000010f8: SLT
000010f9: ISZERO
000010fa: PUSH2 0x1101
000010fd: JUMPI
000010fe: DUP1
000010ff: DUP2
00001100: REVERT
00001101: JUMPDEST
00001102: PUSH2 0x110a
00001105: DUP4
00001106: PUSH2 0x10be
00001109: JUMP
0000110a: JUMPDEST
0000110b: SWAP2
0000110c: POP
0000110d: PUSH2 0x1118
00001110: PUSH1 0x20
00001112: DUP5
00001113: ADD
00001114: PUSH2 0x10be
00001117: JUMP
00001118: JUMPDEST
00001119: SWAP1
0000111a: POP
0000111b: SWAP3
0000111c: POP
0000111d: SWAP3
0000111e: SWAP1
0000111f: POP
00001120: JUMP
00001121: JUMPDEST
00001122: PUSH1 0x00
00001124: DUP1
00001125: PUSH1 0x40
00001127: DUP4
00001128: DUP6
00001129: SUB
0000112a: SLT
0000112b: ISZERO
0000112c: PUSH2 0x1133
0000112f: JUMPI
00001130: DUP2
00001131: DUP3
00001132: REVERT
00001133: JUMPDEST
00001134: PUSH2 0x113c
00001137: DUP4
00001138: PUSH2 0x10be
0000113b: JUMP
0000113c: JUMPDEST
0000113d: SWAP5
0000113e: PUSH1 0x20
00001140: SWAP4
00001141: SWAP1
00001142: SWAP4
00001143: ADD
00001144: CALLDATALOAD
00001145: SWAP4
00001146: POP
00001147: POP
00001148: POP
00001149: JUMP
0000114a: JUMPDEST
0000114b: PUSH1 0x00
0000114d: PUSH1 0x20
0000114f: DUP3
00001150: DUP5
00001151: SUB
00001152: SLT
00001153: ISZERO
00001154: PUSH2 0x115b
00001157: JUMPI
00001158: DUP1
00001159: DUP2
0000115a: REVERT
0000115b: JUMPDEST
0000115c: DUP2
0000115d: CALLDATALOAD
0000115e: PUSH2 0x07fe
00001161: DUP2
00001162: PUSH2 0x1376
00001165: JUMP
00001166: JUMPDEST
00001167: PUSH1 0x00
00001169: PUSH1 0x20
0000116b: DUP3
0000116c: DUP5
0000116d: SUB
0000116e: SLT
0000116f: ISZERO
00001170: PUSH2 0x1177
00001173: JUMPI
00001174: DUP1
00001175: DUP2
00001176: REVERT
00001177: JUMPDEST
00001178: DUP2
00001179: MLOAD
0000117a: PUSH2 0x07fe
0000117d: DUP2
0000117e: PUSH2 0x1376
00001181: JUMP
00001182: JUMPDEST
00001183: PUSH1 0x00
00001185: DUP1
00001186: PUSH1 0x40
00001188: DUP4
00001189: DUP6
0000118a: SUB
0000118b: SLT
0000118c: ISZERO
0000118d: PUSH2 0x1194
00001190: JUMPI
00001191: DUP2
00001192: DUP3
00001193: REVERT
00001194: JUMPDEST
00001195: DUP3
00001196: CALLDATALOAD
00001197: PUSH8 0xffffffffffffffff
000011a0: DUP1
000011a1: DUP3
000011a2: GT
000011a3: ISZERO
000011a4: PUSH2 0x11ab
000011a7: JUMPI
000011a8: DUP4
000011a9: DUP5
000011aa: REVERT
000011ab: JUMPDEST
000011ac: DUP2
000011ad: DUP6
000011ae: ADD
000011af: SWAP2
000011b0: POP
000011b1: DUP6
000011b2: PUSH1 0x1f
000011b4: DUP4
000011b5: ADD
000011b6: SLT
000011b7: PUSH2 0x11be
000011ba: JUMPI
000011bb: DUP4
000011bc: DUP5
000011bd: REVERT
000011be: JUMPDEST
000011bf: DUP2
000011c0: CALLDATALOAD
000011c1: DUP2
000011c2: DUP2
000011c3: GT
000011c4: ISZERO
000011c5: PUSH2 0x11d0
000011c8: JUMPI
000011c9: PUSH2 0x11d0
000011cc: PUSH2 0x1360
000011cf: JUMP
000011d0: JUMPDEST
000011d1: PUSH1 0x40
000011d3: MLOAD
000011d4: PUSH1 0x1f
000011d6: DUP3
000011d7: ADD
000011d8: PUSH1 0x1f
000011da: NOT
000011db: SWAP1
000011dc: DUP2
exec
/bin/bash -lc "python3 - <<'PY'
from binascii import unhexlify
import json,re
s=json.load(open('BYTECODE_BUNDLE.json'))['artifact']['runtime_bytecode']['full'][2:]
b=unhexlify(s)
# printable ASCII substrings length>=4
res=[]
cur=b''
for x in b:
if 32<=x<127:
cur+=bytes([x])
else:
if len(cur)>=4: res.append(cur.decode())
cur=b''
if len(cur)>=4: res.append(cur.decode())
for r in res:
print(r)
PY" in /tmp/codex-_mwrbysw
succeeded in 0ms:
`@R`
5V[6a
T`@Qc#
` `@Q
[PPPP`@Q=`
`@RP
fV[a
W`@QbF
R` `
R`'`$
Vault: delegate strategy is not `D
[`@Q
V[`@Q
[`@Q
` R`
V[`@Q`
V[`@Q
V[`@Q`
` R`@
nV[4
|V[4
JV[a
!V[a
iV[4
6V[a
NV[4
xV[6`
}W=`
[PPPV[a
W`@QbF
T`@Qc#
` `@Q
[PPPP`@Q=`
`@RP
fV[a
~W`@QbF
R` `
Vault: _strategy is not enabled
UV[a
W`@QbF
PV[a
AW`@QbF
V[PPV[`
PV[`@Qcp
` `@Q
[PPPP`@Q=`
`@RP
PPPV[
PV[a
/W`@QbF
UW`@QbF
T`@Q`
UV[`
W`@QbF
R` `
R`)`$
Ownable: your address is not pen`D
Rh24
T`@Q`
okdW
UV[a
W`@QbF
V[PV[a
W`@QbF
T`@Q`
PPPP
KW=`
[PPa
V[`@Qcp
` `@Q
[PPPP`@Q=`
`@RP
0V[PP[`
T`@Q
PPV[a
W`@QbF
` R`@
` R`@
PV[`
W`@QbF
W`@QbF
T`@Q`
okdW
UV[`
dW`@QbF
R` `
V[`@Q`
W`@QbF
R` `
V[`@
SafeERC20: low-level call failed
fV[a
W`@QbF
R` `
R`*`$
SafeERC20: ERC20 operation did n`D
V[``a
PPPPV[``
W`@QbF
R` `
R`&`$
Address: insufficient balance fo`D
W`@QbF
R` `
Address: call to non-contract
`@Qa
fV[`
PPP=
eW`@Q
`@R=
jV[``
PPPPPPPV[``
`@QbF
PV[`
PPPV[`
vV[`
vV[`
`V[`@Q`
PPPPPPa
PV[`
PV[`
PPV[`
0V[`
PPV[`
Ownable: new owner is the zero a`@
Reddress`
V[`
Ownable: caller is not the owner`@
R[PPPPV[cNH{q`
R`A`
R`$`
dipfsX"
f466
dsolcC
exec
/bin/bash -lc "python3 - <<'PY'
# simple annotated stack simulation of fallback region
ops='''
135 PUSH1 0x04
138 DUP1
139 SLOAD
13a PUSH1 0x05
13c SLOAD
13d PUSH1 0x40
13f MLOAD
140 PUSH4 0x2306be91
145 PUSH1 0xe0
147 SHL
148 DUP2
149 MSTORE
14a PUSH1 0x01
14c PUSH1 0x01
14e PUSH1 0xa0
150 SHL
151 SUB
152 SWAP2
153 DUP3
154 AND
155 SWAP4
156 DUP2
157 ADD
158 SWAP4
159 SWAP1
15a SWAP4
15b MSTORE
15c PUSH2 0x0100
15f SWAP1
160 SWAP2
161 DIV
162 AND
163 SWAP1
164 PUSH4 0x2306be91
169 SWAP1
16a PUSH1 0x24
16c ADD
16d PUSH1 0x20
16f PUSH1 0x40
171 MLOAD
'''.strip().splitlines()
stack=[]
for line in ops:
parts=line.split()
pc=parts[0]
op=parts[1]
arg=' '.join(parts[2:])
def show():
return '['+', '.join(stack)+']'
if op.startswith('PUSH'):
stack.insert(0,arg)
elif op=='DUP1': stack.insert(0,stack[0])
elif op=='DUP2': stack.insert(0,stack[1])
elif op=='DUP3': stack.insert(0,stack[2])
elif op=='DUP4': stack.insert(0,stack[3])
elif op=='SWAP1': stack[0],stack[1]=stack[1],stack[0]
elif op=='SWAP2': stack[0],stack[2]=stack[2],stack[0]
elif op=='SWAP4': stack[0],stack[4]=stack[4],stack[0]
elif op=='SLOAD': stack[0]=f'SLOAD({stack[0]})'
elif op=='MLOAD': stack[0]=f'MLOAD({stack[0]})'
elif op=='MSTORE':
dest=stack.pop(0); val=stack.pop(0)
stack.insert(0,f'mem[{dest}]={val}')
elif op=='SHL':
a=stack.pop(0); b=stack.pop(0); stack.insert(0,f'({b}<<{a})')
elif op=='SUB':
a=stack.pop(0); b=stack.pop(0); stack.insert(0,f'({b}-{a})')
elif op=='AND':
a=stack.pop(0); b=stack.pop(0); stack.insert(0,f'({b}&{a})')
elif op=='ADD':
a=stack.pop(0); b=stack.pop(0); stack.insert(0,f'({b}+{a})')
elif op=='DIV':
a=stack.pop(0); b=stack.pop(0); stack.insert(0,f'({b}/{a})')
else:
pass
print(pc, op, arg, '=>', show())
PY" in /tmp/codex-_mwrbysw
succeeded in 0ms:
135 PUSH1 0x04 => [0x04]
138 DUP1 => [0x04, 0x04]
139 SLOAD => [SLOAD(0x04), 0x04]
13a PUSH1 0x05 => [0x05, SLOAD(0x04), 0x04]
13c SLOAD => [SLOAD(0x05), SLOAD(0x04), 0x04]
13d PUSH1 0x40 => [0x40, SLOAD(0x05), SLOAD(0x04), 0x04]
13f MLOAD => [MLOAD(0x40), SLOAD(0x05), SLOAD(0x04), 0x04]
140 PUSH4 0x2306be91 => [0x2306be91, MLOAD(0x40), SLOAD(0x05), SLOAD(0x04), 0x04]
145 PUSH1 0xe0 => [0xe0, 0x2306be91, MLOAD(0x40), SLOAD(0x05), SLOAD(0x04), 0x04]
147 SHL => [(0x2306be91<<0xe0), MLOAD(0x40), SLOAD(0x05), SLOAD(0x04), 0x04]
148 DUP2 => [MLOAD(0x40), (0x2306be91<<0xe0), MLOAD(0x40), SLOAD(0x05), SLOAD(0x04), 0x04]
149 MSTORE => [mem[MLOAD(0x40)]=(0x2306be91<<0xe0), MLOAD(0x40), SLOAD(0x05), SLOAD(0x04), 0x04]
14a PUSH1 0x01 => [0x01, mem[MLOAD(0x40)]=(0x2306be91<<0xe0), MLOAD(0x40), SLOAD(0x05), SLOAD(0x04), 0x04]
14c PUSH1 0x01 => [0x01, 0x01, mem[MLOAD(0x40)]=(0x2306be91<<0xe0), MLOAD(0x40), SLOAD(0x05), SLOAD(0x04), 0x04]
14e PUSH1 0xa0 => [0xa0, 0x01, 0x01, mem[MLOAD(0x40)]=(0x2306be91<<0xe0), MLOAD(0x40), SLOAD(0x05), SLOAD(0x04), 0x04]
150 SHL => [(0x01<<0xa0), 0x01, mem[MLOAD(0x40)]=(0x2306be91<<0xe0), MLOAD(0x40), SLOAD(0x05), SLOAD(0x04), 0x04]
151 SUB => [(0x01-(0x01<<0xa0)), mem[MLOAD(0x40)]=(0x2306be91<<0xe0), MLOAD(0x40), SLOAD(0x05), SLOAD(0x04), 0x04]
152 SWAP2 => [MLOAD(0x40), mem[MLOAD(0x40)]=(0x2306be91<<0xe0), (0x01-(0x01<<0xa0)), SLOAD(0x05), SLOAD(0x04), 0x04]
153 DUP3 => [(0x01-(0x01<<0xa0)), MLOAD(0x40), mem[MLOAD(0x40)]=(0x2306be91<<0xe0), (0x01-(0x01<<0xa0)), SLOAD(0x05), SLOAD(0x04), 0x04]
154 AND => [(MLOAD(0x40)&(0x01-(0x01<<0xa0))), mem[MLOAD(0x40)]=(0x2306be91<<0xe0), (0x01-(0x01<<0xa0)), SLOAD(0x05), SLOAD(0x04), 0x04]
155 SWAP4 => [SLOAD(0x04), mem[MLOAD(0x40)]=(0x2306be91<<0xe0), (0x01-(0x01<<0xa0)), SLOAD(0x05), (MLOAD(0x40)&(0x01-(0x01<<0xa0))), 0x04]
156 DUP2 => [mem[MLOAD(0x40)]=(0x2306be91<<0xe0), SLOAD(0x04), mem[MLOAD(0x40)]=(0x2306be91<<0xe0), (0x01-(0x01<<0xa0)), SLOAD(0x05), (MLOAD(0x40)&(0x01-(0x01<<0xa0))), 0x04]
157 ADD => [(SLOAD(0x04)+mem[MLOAD(0x40)]=(0x2306be91<<0xe0)), mem[MLOAD(0x40)]=(0x2306be91<<0xe0), (0x01-(0x01<<0xa0)), SLOAD(0x05), (MLOAD(0x40)&(0x01-(0x01<<0xa0))), 0x04]
158 SWAP4 => [(MLOAD(0x40)&(0x01-(0x01<<0xa0))), mem[MLOAD(0x40)]=(0x2306be91<<0xe0), (0x01-(0x01<<0xa0)), SLOAD(0x05), (SLOAD(0x04)+mem[MLOAD(0x40)]=(0x2306be91<<0xe0)), 0x04]
159 SWAP1 => [mem[MLOAD(0x40)]=(0x2306be91<<0xe0), (MLOAD(0x40)&(0x01-(0x01<<0xa0))), (0x01-(0x01<<0xa0)), SLOAD(0x05), (SLOAD(0x04)+mem[MLOAD(0x40)]=(0x2306be91<<0xe0)), 0x04]
15a SWAP4 => [(SLOAD(0x04)+mem[MLOAD(0x40)]=(0x2306be91<<0xe0)), (MLOAD(0x40)&(0x01-(0x01<<0xa0))), (0x01-(0x01<<0xa0)), SLOAD(0x05), mem[MLOAD(0x40)]=(0x2306be91<<0xe0), 0x04]
15b MSTORE => [mem[(SLOAD(0x04)+mem[MLOAD(0x40)]=(0x2306be91<<0xe0))]=(MLOAD(0x40)&(0x01-(0x01<<0xa0))), (0x01-(0x01<<0xa0)), SLOAD(0x05), mem[MLOAD(0x40)]=(0x2306be91<<0xe0), 0x04]
15c PUSH2 0x0100 => [0x0100, mem[(SLOAD(0x04)+mem[MLOAD(0x40)]=(0x2306be91<<0xe0))]=(MLOAD(0x40)&(0x01-(0x01<<0xa0))), (0x01-(0x01<<0xa0)), SLOAD(0x05), mem[MLOAD(0x40)]=(0x2306be91<<0xe0), 0x04]
15f SWAP1 => [mem[(SLOAD(0x04)+mem[MLOAD(0x40)]=(0x2306be91<<0xe0))]=(MLOAD(0x40)&(0x01-(0x01<<0xa0))), 0x0100, (0x01-(0x01<<0xa0)), SLOAD(0x05), mem[MLOAD(0x40)]=(0x2306be91<<0xe0), 0x04]
160 SWAP2 => [(0x01-(0x01<<0xa0)), 0x0100, mem[(SLOAD(0x04)+mem[MLOAD(0x40)]=(0x2306be91<<0xe0))]=(MLOAD(0x40)&(0x01-(0x01<<0xa0))), SLOAD(0x05), mem[MLOAD(0x40)]=(0x2306be91<<0xe0), 0x04]
161 DIV => [(0x0100/(0x01-(0x01<<0xa0))), mem[(SLOAD(0x04)+mem[MLOAD(0x40)]=(0x2306be91<<0xe0))]=(MLOAD(0x40)&(0x01-(0x01<<0xa0))), SLOAD(0x05), mem[MLOAD(0x40)]=(0x2306be91<<0xe0), 0x04]
162 AND => [(mem[(SLOAD(0x04)+mem[MLOAD(0x40)]=(0x2306be91<<0xe0))]=(MLOAD(0x40)&(0x01-(0x01<<0xa0)))&(0x0100/(0x01-(0x01<<0xa0)))), SLOAD(0x05), mem[MLOAD(0x40)]=(0x2306be91<<0xe0), 0x04]
163 SWAP1 => [SLOAD(0x05), (mem[(SLOAD(0x04)+mem[MLOAD(0x40)]=(0x2306be91<<0xe0))]=(MLOAD(0x40)&(0x01-(0x01<<0xa0)))&(0x0100/(0x01-(0x01<<0xa0)))), mem[MLOAD(0x40)]=(0x2306be91<<0xe0), 0x04]
164 PUSH4 0x2306be91 => [0x2306be91, SLOAD(0x05), (mem[(SLOAD(0x04)+mem[MLOAD(0x40)]=(0x2306be91<<0xe0))]=(MLOAD(0x40)&(0x01-(0x01<<0xa0)))&(0x0100/(0x01-(0x01<<0xa0)))), mem[MLOAD(0x40)]=(0x2306be91<<0xe0), 0x04]
169 SWAP1 => [SLOAD(0x05), 0x2306be91, (mem[(SLOAD(0x04)+mem[MLOAD(0x40)]=(0x2306be91<<0xe0))]=(MLOAD(0x40)&(0x01-(0x01<<0xa0)))&(0x0100/(0x01-(0x01<<0xa0)))), mem[MLOAD(0x40)]=(0x2306be91<<0xe0), 0x04]
16a PUSH1 0x24 => [0x24, SLOAD(0x05), 0x2306be91, (mem[(SLOAD(0x04)+mem[MLOAD(0x40)]=(0x2306be91<<0xe0))]=(MLOAD(0x40)&(0x01-(0x01<<0xa0)))&(0x0100/(0x01-(0x01<<0xa0)))), mem[MLOAD(0x40)]=(0x2306be91<<0xe0), 0x04]
16c ADD => [(SLOAD(0x05)+0x24), 0x2306be91, (mem[(SLOAD(0x04)+mem[MLOAD(0x40)]=(0x2306be91<<0xe0))]=(MLOAD(0x40)&(0x01-(0x01<<0xa0)))&(0x0100/(0x01-(0x01<<0xa0)))), mem[MLOAD(0x40)]=(0x2306be91<<0xe0), 0x04]
16d PUSH1 0x20 => [0x20, (SLOAD(0x05)+0x24), 0x2306be91, (mem[(SLOAD(0x04)+mem[MLOAD(0x40)]=(0x2306be91<<0xe0))]=(MLOAD(0x40)&(0x01-(0x01<<0xa0)))&(0x0100/(0x01-(0x01<<0xa0)))), mem[MLOAD(0x40)]=(0x2306be91<<0xe0), 0x04]
16f PUSH1 0x40 => [0x40, 0x20, (SLOAD(0x05)+0x24), 0x2306be91, (mem[(SLOAD(0x04)+mem[MLOAD(0x40)]=(0x2306be91<<0xe0))]=(MLOAD(0x40)&(0x01-(0x01<<0xa0)))&(0x0100/(0x01-(0x01<<0xa0)))), mem[MLOAD(0x40)]=(0x2306be91<<0xe0), 0x04]
171 MLOAD => [MLOAD(0x40), 0x20, (SLOAD(0x05)+0x24), 0x2306be91, (mem[(SLOAD(0x04)+mem[MLOAD(0x40)]=(0x2306be91<<0xe0))]=(MLOAD(0x40)&(0x01-(0x01<<0xa0)))&(0x0100/(0x01-(0x01<<0xa0)))), mem[MLOAD(0x40)]=(0x2306be91<<0xe0), 0x04]
codex
{"no_findings":false,"summary":"Bytecode indicates a non-proxy vault with owner-controlled delegated strategy execution and an owner-only asset sweep path. The strongest issues are a privileged full-balance drain function and an owner-controlled DELEGATECALL upgrade surface whose registry gate is itself owner-mutable.","findings":[{"severity":"high","category":"access_control","title":"Owner can sweep arbitrary ETH/ERC20 balances to itself","exploit_scenario":"If the owner key is compromised, or if users assume the vault is non-custodial, the owner can call the sweep-like entrypoint with a token address (or zero address for ETH) and amount 0/full to move the vault's entire balance to the owner address. That drains any assets currently custodied by this contract.","recommendation":"If this contract is meant to hold user funds, remove the unrestricted admin sweep or restrict it to clearly non-core rescue assets only. At minimum, gate it behind timelock/governance and explicitly exclude primary vault assets.","evidence":"Selector inference is best-effort, but selector 0x95ccea67 decodes as (address,uint256), performs an owner check, then for token==0 uses SELFBALANCE and CALL to the slot0 owner; for token!=0 it reads ERC20 balanceOf(address(this)) and executes an ERC20 transfer(a9059cbb) to the slot0 owner through the low-level helper. The two external send sites are the CALL at pc 0xa35 and the ERC20 low-level CALL at pc 0x1035. No additional asset-specific restriction is visible in the bytecode.","locations":["selector:0x95ccea67","selector:0x8da5cb5b","pc:0xa35","pc:0x1035"]},{"severity":"high","category":"upgradeability","title":"Strategy execution uses owner-controlled DELEGATECALL with full vault-storage authority","exploit_scenario":"A compromised owner, or a malicious strategy/registry approved by the owner, can make the vault DELEGATECALL attacker-controlled code. Because DELEGATECALL runs in the vault's storage context, that code can overwrite ownership/admin slots, change strategy pointers, and move funds held by the vault. Any external caller can then trigger the fallback path to execute the delegated logic.","recommendation":"Treat the strategy path as an upgrade mechanism. Use immutable implementations or timelocked governance, make the registry immutable if it is intended as a safety gate, and prefer CALL over DELEGATECALL unless shared storage is strictly necessary. If DELEGATECALL must remain, reserve and validate storage layout and restrict forwarded selectors.","evidence":"Unknown selectors fall through to the handler at pc 0x55e, which copies calldata and performs DELEGATECALL to the address stored in slot5. Before that, the fallback path performs a STATICCALL gate using selector 0x2306be91, but the registry/config address packed into slot4 is itself owner-writable. Owner-only mutators include selector 0x33a100ca (sets the delegate strategy after the gate) and selector 0x3e30838d / selector 0x485cc955 (update the packed slot4 config and strategy path). Artifact metadata says this is not an EIP-1967 proxy, so this delegate strategy path is the effective upgrade surface.","locations":["pc:0x56c","pc:0x187","selector:0x33a100ca","selector:0x3e30838d","selector:0x485cc955","selector:0xa8c62e76","selector:0x365a86fc"]}]}
tokens used
96,262
{
"codex": {
"ran_at": "2026-04-04T03:01:46.761151+00:00",
"returncode": 0
},
"project": {
"mode": "bytecode",
"bytecode_length": 10102,
"bytecode_truncated": false,
"capability_graph_present": true,
"analysis_artifact_present": true
},
"summary": "Bytecode indicates a non-proxy vault with owner-controlled delegated strategy execution and an owner-only asset sweep path. The strongest issues are a privileged full-balance drain function and an owner-controlled DELEGATECALL upgrade surface whose registry gate is itself owner-mutable.",
"raw_final": {
"summary": "Bytecode indicates a non-proxy vault with owner-controlled delegated strategy execution and an owner-only asset sweep path. The strongest issues are a privileged full-balance drain function and an owner-controlled DELEGATECALL upgrade surface whose registry gate is itself owner-mutable.",
"findings": [
{
"title": "Owner can sweep arbitrary ETH/ERC20 balances to itself",
"category": "access_control",
"evidence": "Selector inference is best-effort, but selector 0x95ccea67 decodes as (address,uint256), performs an owner check, then for token==0 uses SELFBALANCE and CALL to the slot0 owner; for token!=0 it reads ERC20 balanceOf(address(this)) and executes an ERC20 transfer(a9059cbb) to the slot0 owner through the low-level helper. The two external send sites are the CALL at pc 0xa35 and the ERC20 low-level CALL at pc 0x1035. No additional asset-specific restriction is visible in the bytecode.",
"severity": "high",
"locations": [
"selector:0x95ccea67",
"selector:0x8da5cb5b",
"pc:0xa35",
"pc:0x1035"
],
"recommendation": "If this contract is meant to hold user funds, remove the unrestricted admin sweep or restrict it to clearly non-core rescue assets only. At minimum, gate it behind timelock/governance and explicitly exclude primary vault assets.",
"exploit_scenario": "If the owner key is compromised, or if users assume the vault is non-custodial, the owner can call the sweep-like entrypoint with a token address (or zero address for ETH) and amount 0/full to move the vault's entire balance to the owner address. That drains any assets currently custodied by this contract."
},
{
"title": "Strategy execution uses owner-controlled DELEGATECALL with full vault-storage authority",
"category": "upgradeability",
"evidence": "Unknown selectors fall through to the handler at pc 0x55e, which copies calldata and performs DELEGATECALL to the address stored in slot5. Before that, the fallback path performs a STATICCALL gate using selector 0x2306be91, but the registry/config address packed into slot4 is itself owner-writable. Owner-only mutators include selector 0x33a100ca (sets the delegate strategy after the gate) and selector 0x3e30838d / selector 0x485cc955 (update the packed slot4 config and strategy path). Artifact metadata says this is not an EIP-1967 proxy, so this delegate strategy path is the effective upgrade surface.",
"severity": "high",
"locations": [
"pc:0x56c",
"pc:0x187",
"selector:0x33a100ca",
"selector:0x3e30838d",
"selector:0x485cc955",
"selector:0xa8c62e76",
"selector:0x365a86fc"
],
"recommendation": "Treat the strategy path as an upgrade mechanism. Use immutable implementations or timelocked governance, make the registry immutable if it is intended as a safety gate, and prefer CALL over DELEGATECALL unless shared storage is strictly necessary. If DELEGATECALL must remain, reserve and validate storage layout and restrict forwarded selectors.",
"exploit_scenario": "A compromised owner, or a malicious strategy/registry approved by the owner, can make the vault DELEGATECALL attacker-controlled code. Because DELEGATECALL runs in the vault's storage context, that code can overwrite ownership/admin slots, change strategy pointers, and move funds held by the vault. Any external caller can then trigger the fallback path to execute the delegated logic."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x012e 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x710bf322 00000019: GT 0000001a: PUSH2 0x00ab 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0x95ccea67 00000024: GT 00000025: PUSH2 0x006f 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0x95ccea67 0000002f: EQ 00000030: PUSH2 0x04ab 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0x9870d7fe 0000003a: EQ 0000003b: PUSH2 0x04be 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xa8c62e76 00000045: EQ 00000046: PUSH2 0x04de 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xcb38f407 00000050: EQ 00000051: PUSH2 0x04fe 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xe30c3978 0000005b: EQ 0000005c: PUSH2 0x051e 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0xf2fde38b 00000066: EQ 00000067: PUSH2 0x053e 0000006a: JUMPI 0000006b: PUSH2 0x0135 0000006e: JUMP 0000006f: JUMPDEST 00000070: DUP1 00000071: PUSH4 0x710bf322 00000076: EQ 00000077: PUSH2 0x0421 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0x78a19f7a 00000081: EQ 00000082: PUSH2 0x0441 00000085: JUMPI 00000086: DUP1 00000087: PUSH4 0x79ba5097 0000008c: EQ 0000008d: PUSH2 0x0456 00000090: JUMPI 00000091: DUP1 00000092: PUSH4 0x837150cf 00000097: EQ 00000098: PUSH2 0x046b 0000009b: JUMPI 0000009c: DUP1 0000009d: PUSH4 0x8da5cb5b 000000a2: EQ 000000a3: PUSH2 0x048b 000000a6: JUMPI 000000a7: PUSH2 0x0135 000000aa: JUMP 000000ab: JUMPDEST 000000ac: DUP1 000000ad: PUSH4 0x3e30838d 000000b2: GT 000000b3: PUSH2 0x00f2 000000b6: JUMPI 000000b7: DUP1 000000b8: PUSH4 0x3e30838d 000000bd: EQ 000000be: PUSH2 0x036d 000000c1: JUMPI 000000c2: DUP1 000000c3: PUSH4 0x485cc955 000000c8: EQ 000000c9: PUSH2 0x038d 000000cc: JUMPI 000000cd: DUP1 000000ce: PUSH4 0x5c975abb 000000d3: EQ 000000d4: PUSH2 0x03ad 000000d7: JUMPI 000000d8: DUP1 000000d9: PUSH4 0x6d70f7ae 000000de: EQ 000000df: PUSH2 0x03c5 000000e2: JUMPI 000000e3: DUP1 000000e4: PUSH4 0x70a08231 000000e9: EQ 000000ea: PUSH2 0x0401 000000ed: JUMPI 000000ee: PUSH2 0x0135 000000f1: JUMP 000000f2: JUMPDEST 000000f3: DUP1 000000f4: PUSH4 0x106e9be4 000000f9: EQ 000000fa: PUSH2 0x0234 000000fd: JUMPI 000000fe: DUP1 000000ff: PUSH4 0x13e7c9d8 00000104: EQ 00000105: PUSH2 0x028f 00000108: JUMPI 00000109: DUP1 0000010a: PUSH4 0x2f54bf6e 0000010f: EQ 00000110: PUSH2 0x02d1 00000113: JUMPI 00000114: DUP1 00000115: PUSH4 0x33a100ca 0000011a: EQ 0000011b: PUSH2 0x0310 0000011e: JUMPI 0000011f: DUP1 00000120: PUSH4 0x365a86fc 00000125: EQ 00000126: PUSH2 0x0330 00000129: JUMPI 0000012a: PUSH2 0x0135 0000012d: JUMP 0000012e: JUMPDEST 0000012f: CALLDATASIZE 00000130: PUSH2 0x0135 00000133: JUMPI 00000134: STOP 00000135: JUMPDEST 00000136: PUSH1 0x04 00000138: DUP1 00000139: SLOAD 0000013a: PUSH1 0x05 0000013c: SLOAD 0000013d: PUSH1 0x40 0000013f: MLOAD 00000140: PUSH4 0x2306be91 00000145: PUSH1 0xe0 00000147: SHL 00000148: DUP2 00000149: MSTORE 0000014a: PUSH1 0x01 0000014c: PUSH1 0x01 0000014e: PUSH1 0xa0 00000150: SHL 00000151: SUB 00000152: SWAP2 00000153: DUP3 00000154: AND 00000155: SWAP4 00000156: DUP2 00000157: ADD 00000158: SWAP4 00000159: SWAP1 0000015a: SWAP4 0000015b: MSTORE 0000015c: PUSH2 0x0100 0000015f: SWAP1 00000160: SWAP2 00000161: DIV 00000162: AND 00000163: SWAP1 00000164: PUSH4 0x2306be91 00000169: SWAP1 0000016a: PUSH1 0x24 0000016c: ADD 0000016d: PUSH1 0x20 0000016f: PUSH1 0x40 00000171: MLOAD 00000172: DUP1 00000173: DUP4 00000174: SUB 00000175: DUP2 00000176: DUP7 00000177: DUP1 00000178: EXTCODESIZE 00000179: ISZERO 0000017a: DUP1 0000017b: ISZERO 0000017c: PUSH2 0x0184 0000017f: JUMPI 00000180: PUSH1 0x00 00000182: DUP1 00000183: REVERT 00000184: JUMPDEST 00000185: POP 00000186: GAS 00000187: STATICCALL 00000188: ISZERO 00000189: DUP1 0000018a: ISZERO 0000018b: PUSH2 0x0198 0000018e: JUMPI 0000018f: RETURNDATASIZE 00000190: PUSH1 0x00 00000192: DUP1 00000193: RETURNDATACOPY 00000194: RETURNDATASIZE 00000195: PUSH1 0x00 00000197: REVERT 00000198: JUMPDEST 00000199: POP 0000019a: POP 0000019b: POP 0000019c: POP 0000019d: PUSH1 0x40 0000019f: MLOAD 000001a0: RETURNDATASIZE 000001a1: PUSH1 0x1f 000001a3: NOT 000001a4: PUSH1 0x1f 000001a6: DUP3 000001a7: ADD 000001a8: AND 000001a9: DUP3 000001aa: ADD 000001ab: DUP1 000001ac: PUSH1 0x40 000001ae: MSTORE 000001af: POP 000001b0: DUP2 000001b1: ADD 000001b2: SWAP1 000001b3: PUSH2 0x01bc 000001b6: SWAP2 000001b7: SWAP1 000001b8: PUSH2 0x1166 000001bb: JUMP 000001bc: JUMPDEST 000001bd: PUSH2 0x021d 000001c0: JUMPI 000001c1: PUSH1 0x40 000001c3: MLOAD 000001c4: PUSH3 0x461bcd 000001c8: PUSH1 0xe5 000001ca: SHL 000001cb: DUP2 000001cc: MSTORE 000001cd: PUSH1 0x20 000001cf: PUSH1 0x04 000001d1: DUP3 000001d2: ADD 000001d3: MSTORE 000001d4: PUSH1 0x27 000001d6: PUSH1 0x24 000001d8: DUP3 000001d9: ADD 000001da: MSTORE 000001db: PUSH32 0x5661756c743a2064656c6567617465207374726174656779206973206e6f7420 000001fc: PUSH1 0x44 000001fe: DUP3 000001ff: ADD 00000200: MSTORE 00000201: PUSH7 0x195b98589b1959 00000209: PUSH1 0xca 0000020b: SHL 0000020c: PUSH1 0x64 0000020e: DUP3 0000020f: ADD 00000210: MSTORE 00000211: PUSH1 0x84 00000213: ADD 00000214: JUMPDEST 00000215: PUSH1 0x40 00000217: MLOAD 00000218: DUP1 00000219: SWAP2 0000021a: SUB 0000021b: SWAP1 0000021c: REVERT 0000021d: JUMPDEST 0000021e: PUSH1 0x05 00000220: SLOAD 00000221: PUSH2 0x0232 00000224: SWAP1 00000225: PUSH1 0x01 00000227: PUSH1 0x01 00000229: PUSH1 0xa0 0000022b: SHL 0000022c: SUB 0000022d: AND 0000022e: PUSH2 0x055e 00000231: JUMP 00000232: JUMPDEST 00000233: STOP 00000234: JUMPDEST 00000235: CALLVALUE 00000236: DUP1 00000237: ISZERO 00000238: PUSH2 0x0240 0000023b: JUMPI 0000023c: PUSH1 0x00 0000023e: DUP1 0000023f: REVERT 00000240: JUMPDEST 00000241: POP 00000242: PUSH2 0x027c 00000245: PUSH2 0x024f 00000248: CALLDATASIZE 00000249: PUSH1 0x04 0000024b: PUSH2 0x1182 0000024e: JUMP 0000024f: JUMPDEST 00000250: DUP2 00000251: MLOAD 00000252: PUSH1 0x20 00000254: DUP2 00000255: DUP5 00000256: ADD 00000257: DUP2 00000258: ADD 00000259: DUP1 0000025a: MLOAD 0000025b: PUSH1 0x06 0000025d: DUP3 0000025e: MSTORE 0000025f: SWAP3 00000260: DUP3 00000261: ADD 00000262: SWAP5 00000263: DUP3 00000264: ADD 00000265: SWAP5 00000266: SWAP1 00000267: SWAP5 00000268: KECCAK256 00000269: SWAP2 0000026a: SWAP1 0000026b: SWAP4 0000026c: MSTORE 0000026d: SWAP1 0000026e: SWAP2 0000026f: MSTORE 00000270: PUSH1 0x00 00000272: SWAP1 00000273: DUP2 00000274: MSTORE 00000275: PUSH1 0x40 00000277: SWAP1 00000278: KECCAK256 00000279: SLOAD 0000027a: DUP2 0000027b: JUMP 0000027c: JUMPDEST 0000027d: PUSH1 0x40 0000027f: MLOAD 00000280: SWAP1 00000281: DUP2 00000282: MSTORE 00000283: PUSH1 0x20 00000285: ADD 00000286: JUMPDEST 00000287: PUSH1 0x40 00000289: MLOAD 0000028a: DUP1 0000028b: SWAP2 0000028c: SUB 0000028d: SWAP1 0000028e: RETURN 0000028f: JUMPDEST 00000290: CALLVALUE 00000291: DUP1 00000292: ISZERO 00000293: PUSH2 0x029b 00000296: JUMPI 00000297: PUSH1 0x00 00000299: DUP1 0000029a: REVERT 0000029b: JUMPDEST 0000029c: POP 0000029d: PUSH2 0x02bf 000002a0: PUSH2 0x02aa 000002a3: CALLDATASIZE 000002a4: PUSH1 0x04 000002a6: PUSH2 0x10d5 000002a9: JUMP 000002aa: JUMPDEST 000002ab: PUSH1 0x02 000002ad: PUSH1 0x20 000002af: MSTORE 000002b0: PUSH1 0x00 000002b2: SWAP1 000002b3: DUP2 000002b4: MSTORE 000002b5: PUSH1 0x40 000002b7: SWAP1 000002b8: KECCAK256 000002b9: SLOAD 000002ba: PUSH1 0xff 000002bc: AND 000002bd: DUP2 000002be: JUMP 000002bf: JUMPDEST 000002c0: PUSH1 0x40 000002c2: MLOAD 000002c3: PUSH1 0xff 000002c5: SWAP1 000002c6: SWAP2 000002c7: AND 000002c8: DUP2 000002c9: MSTORE 000002ca: PUSH1 0x20 000002cc: ADD 000002cd: PUSH2 0x0286 000002d0: JUMP 000002d1: JUMPDEST 000002d2: CALLVALUE 000002d3: DUP1 000002d4: ISZERO 000002d5: PUSH2 0x02dd 000002d8: JUMPI 000002d9: PUSH1 0x00 000002db: DUP1 000002dc: REVERT 000002dd: JUMPDEST 000002de: POP 000002df: PUSH2 0x0300 000002e2: PUSH2 0x02ec 000002e5: CALLDATASIZE 000002e6: PUSH1 0x04 000002e8: PUSH2 0x10d5 000002eb: JUMP 000002ec: JUMPDEST 000002ed: PUSH1 0x00 000002ef: SLOAD 000002f0: PUSH1 0x01 000002f2: PUSH1 0x01 000002f4: PUSH1 0xa0 000002f6: SHL 000002f7: SUB 000002f8: SWAP1 000002f9: DUP2 000002fa: AND 000002fb: SWAP2 000002fc: AND 000002fd: EQ 000002fe: SWAP1 000002ff: JUMP 00000300: JUMPDEST 00000301: PUSH1 0x40 00000303: MLOAD 00000304: SWAP1 00000305: ISZERO 00000306: ISZERO 00000307: DUP2 00000308: MSTORE 00000309: PUSH1 0x20 0000030b: ADD 0000030c: PUSH2 0x0286 0000030f: JUMP 00000310: JUMPDEST 00000311: CALLVALUE 00000312: DUP1 00000313: ISZERO 00000314: PUSH2 0x031c 00000317: JUMPI 00000318: PUSH1 0x00 0000031a: DUP1 0000031b: REVERT 0000031c: JUMPDEST 0000031d: POP 0000031e: PUSH2 0x0232 00000321: PUSH2 0x032b 00000324: CALLDATASIZE 00000325: PUSH1 0x04 00000327: PUSH2 0x10d5 0000032a: JUMP 0000032b: JUMPDEST 0000032c: PUSH2 0x0587 0000032f: JUMP 00000330: JUMPDEST 00000331: CALLVALUE 00000332: DUP1 00000333: ISZERO 00000334: PUSH2 0x033c 00000337: JUMPI 00000338: PUSH1 0x00 0000033a: DUP1 0000033b: REVERT 0000033c: JUMPDEST 0000033d: POP 0000033e: PUSH1 0x04 00000340: SLOAD 00000341: PUSH2 0x0355 00000344: SWAP1 00000345: PUSH2 0x0100 00000348: SWAP1 00000349: DIV 0000034a: PUSH1 0x01 0000034c: PUSH1 0x01 0000034e: PUSH1 0xa0 00000350: SHL 00000351: SUB 00000352: AND 00000353: DUP2 00000354: JUMP 00000355: JUMPDEST 00000356: PUSH1 0x40 00000358: MLOAD 00000359: PUSH1 0x01 0000035b: PUSH1 0x01 0000035d: PUSH1 0xa0 0000035f: SHL 00000360: SUB 00000361: SWAP1 00000362: SWAP2 00000363: AND 00000364: DUP2 00000365: MSTORE 00000366: PUSH1 0x20 00000368: ADD 00000369: PUSH2 0x0286 0000036c: JUMP 0000036d: JUMPDEST 0000036e: CALLVALUE 0000036f: DUP1 00000370: ISZERO 00000371: PUSH2 0x0379 00000374: JUMPI 00000375: PUSH1 0x00 00000377: DUP1 00000378: REVERT 00000379: JUMPDEST 0000037a: POP 0000037b: PUSH2 0x0232 0000037e: PUSH2 0x0388 00000381: CALLDATASIZE 00000382: PUSH1 0x04 00000384: PUSH2 0x10d5 00000387: JUMP 00000388: JUMPDEST 00000389: PUSH2 0x06a0 0000038c: JUMP 0000038d: JUMPDEST 0000038e: CALLVALUE 0000038f: DUP1 00000390: ISZERO 00000391: PUSH2 0x0399 00000394: JUMPI 00000395: PUSH1 0x00 00000397: DUP1 00000398: REVERT 00000399: JUMPDEST 0000039a: POP 0000039b: PUSH2 0x0232 0000039e: PUSH2 0x03a8 000003a1: CALLDATASIZE 000003a2: PUSH1 0x04 000003a4: PUSH2 0x10ef 000003a7: JUMP 000003a8: JUMPDEST 000003a9: PUSH2 0x071c 000003ac: JUMP 000003ad: JUMPDEST 000003ae: CALLVALUE 000003af: DUP1 000003b0: ISZERO 000003b1: PUSH2 0x03b9 000003b4: JUMPI 000003b5: PUSH1 0x00 000003b7: DUP1 000003b8: REVERT 000003b9: JUMPDEST 000003ba: POP 000003bb: PUSH1 0x04 000003bd: SLOAD 000003be: PUSH1 0xff 000003c0: AND 000003c1: PUSH2 0x0300 000003c4: JUMP 000003c5: JUMPDEST 000003c6: CALLVALUE 000003c7: DUP1 000003c8: ISZERO 000003c9: PUSH2 0x03d1 000003cc: JUMPI 000003cd: PUSH1 0x00 000003cf: DUP1 000003d0: REVERT 000003d1: JUMPDEST 000003d2: POP 000003d3: PUSH2 0x0300 000003d6: PUSH2 0x03e0 000003d9: CALLDATASIZE 000003da: PUSH1 0x04 000003dc: PUSH2 0x10d5 000003df: JUMP 000003e0: JUMPDEST 000003e1: PUSH1 0x01 000003e3: PUSH1 0x01 000003e5: PUSH1 0xa0 000003e7: SHL 000003e8: SUB 000003e9: AND 000003ea: PUSH1 0x00 000003ec: SWAP1 000003ed: DUP2 000003ee: MSTORE 000003ef: PUSH1 0x02 000003f1: PUSH1 0x20 000003f3: MSTORE 000003f4: PUSH1 0x40 000003f6: SWAP1 000003f7: KECCAK256 000003f8: SLOAD 000003f9: PUSH1 0xff 000003fb: AND 000003fc: PUSH1 0x01 000003fe: EQ 000003ff: SWAP1 00000400: JUMP 00000401: JUMPDEST 00000402: CALLVALUE 00000403: DUP1 00000404: ISZERO 00000405: PUSH2 0x040d 00000408: JUMPI 00000409: PUSH1 0x00 0000040b: DUP1 0000040c: REVERT 0000040d: JUMPDEST 0000040e: POP 0000040f: PUSH2 0x027c 00000412: PUSH2 0x041c 00000415: CALLDATASIZE 00000416: PUSH1 0x04 00000418: PUSH2 0x10d5 0000041b: JUMP 0000041c: JUMPDEST 0000041d: PUSH2 0x076e 00000420: JUMP 00000421: JUMPDEST 00000422: CALLVALUE 00000423: DUP1 00000424: ISZERO 00000425: PUSH2 0x042d 00000428: JUMPI 00000429: PUSH1 0x00 0000042b: DUP1 0000042c: REVERT 0000042d: JUMPDEST 0000042e: POP 0000042f: PUSH2 0x0232 00000432: PUSH2 0x043c 00000435: CALLDATASIZE 00000436: PUSH1 0x04 00000438: PUSH2 0x10d5 0000043b: JUMP 0000043c: JUMPDEST 0000043d: PUSH2 0x080a 00000440: JUMP 00000441: JUMPDEST 00000442: CALLVALUE 00000443: DUP1 00000444: ISZERO 00000445: PUSH2 0x044d 00000448: JUMPI 00000449: PUSH1 0x00 0000044b: DUP1 0000044c: REVERT 0000044d: JUMPDEST 0000044e: POP 0000044f: PUSH1 0x03 00000451: SLOAD 00000452: PUSH2 0x027c 00000455: JUMP 00000456: JUMPDEST 00000457: CALLVALUE 00000458: DUP1 00000459: ISZERO 0000045a: PUSH2 0x0462 0000045d: JUMPI 0000045e: PUSH1 0x00 00000460: DUP1 00000461: REVERT 00000462: JUMPDEST 00000463: POP 00000464: PUSH2 0x0232 00000467: PUSH2 0x08b0 0000046a: JUMP 0000046b: JUMPDEST 0000046c: CALLVALUE 0000046d: DUP1 0000046e: ISZERO 0000046f: PUSH2 0x0477 00000472: JUMPI 00000473: PUSH1 0x00 00000475: DUP1 00000476: REVERT 00000477: JUMPDEST 00000478: POP 00000479: PUSH2 0x0232 0000047c: PUSH2 0x0486 0000047f: CALLDATASIZE 00000480: PUSH1 0x04 00000482: PUSH2 0x114a 00000485: JUMP 00000486: JUMPDEST 00000487: PUSH2 0x0980 0000048a: JUMP 0000048b: JUMPDEST 0000048c: CALLVALUE 0000048d: DUP1 0000048e: ISZERO 0000048f: PUSH2 0x0497 00000492: JUMPI 00000493: PUSH1 0x00 00000495: DUP1 00000496: REVERT 00000497: JUMPDEST 00000498: POP 00000499: PUSH1 0x00 0000049b: SLOAD 0000049c: PUSH2 0x0355 0000049f: SWAP1 000004a0: PUSH1 0x01 000004a2: PUSH1 0x01 000004a4: PUSH1 0xa0 000004a6: SHL 000004a7: SUB 000004a8: AND 000004a9: DUP2 000004aa: JUMP 000004ab: JUMPDEST 000004ac: PUSH2 0x0232 000004af: PUSH2 0x04b9 000004b2: CALLDATASIZE 000004b3: PUSH1 0x04 000004b5: PUSH2 0x1121 000004b8: JUMP 000004b9: JUMPDEST 000004ba: PUSH2 0x09be 000004bd: JUMP 000004be: JUMPDEST 000004bf: CALLVALUE 000004c0: DUP1 000004c1: ISZERO 000004c2: PUSH2 0x04ca 000004c5: JUMPI 000004c6: PUSH1 0x00 000004c8: DUP1 000004c9: REVERT 000004ca: JUMPDEST 000004cb: POP 000004cc: PUSH2 0x0232 000004cf: PUSH2 0x04d9 000004d2: CALLDATASIZE 000004d3: PUSH1 0x04 000004d5: PUSH2 0x10d5 000004d8: JUMP 000004d9: JUMPDEST 000004da: PUSH2 0x0b69 000004dd: JUMP 000004de: JUMPDEST 000004df: CALLVALUE 000004e0: DUP1 000004e1: ISZERO 000004e2: PUSH2 0x04ea 000004e5: JUMPI 000004e6: PUSH1 0x00 000004e8: DUP1 000004e9: REVERT 000004ea: JUMPDEST 000004eb: POP 000004ec: PUSH1 0x05 000004ee: SLOAD 000004ef: PUSH2 0x0355 000004f2: SWAP1 000004f3: PUSH1 0x01 000004f5: PUSH1 0x01 000004f7: PUSH1 0xa0 000004f9: SHL 000004fa: SUB 000004fb: AND 000004fc: DUP2 000004fd: JUMP 000004fe: JUMPDEST 000004ff: CALLVALUE 00000500: DUP1 00000501: ISZERO 00000502: PUSH2 0x050a 00000505: JUMPI 00000506: PUSH1 0x00 00000508: DUP1 00000509: REVERT 0000050a: JUMPDEST 0000050b: POP 0000050c: PUSH2 0x0355 0000050f: PUSH2 0x0519 00000512: CALLDATASIZE 00000513: PUSH1 0x04 00000515: PUSH2 0x1236 00000518: JUMP 00000519: JUMPDEST 0000051a: PUSH2 0x0c4e 0000051d: JUMP 0000051e: JUMPDEST 0000051f: CALLVALUE 00000520: DUP1 00000521: ISZERO 00000522: PUSH2 0x052a 00000525: JUMPI 00000526: PUSH1 0x00 00000528: DUP1 00000529: REVERT 0000052a: JUMPDEST 0000052b: POP 0000052c: PUSH1 0x01 0000052e: SLOAD 0000052f: PUSH2 0x0355 00000532: SWAP1 00000533: PUSH1 0x01 00000535: PUSH1 0x01 00000537: PUSH1 0xa0 00000539: SHL 0000053a: SUB 0000053b: AND 0000053c: DUP2 0000053d: JUMP 0000053e: JUMPDEST 0000053f: CALLVALUE 00000540: DUP1 00000541: ISZERO 00000542: PUSH2 0x054a 00000545: JUMPI 00000546: PUSH1 0x00 00000548: DUP1 00000549: REVERT 0000054a: JUMPDEST 0000054b: POP 0000054c: PUSH2 0x0232 0000054f: PUSH2 0x0559 00000552: CALLDATASIZE 00000553: PUSH1 0x04 00000555: PUSH2 0x10d5 00000558: JUMP 00000559: JUMPDEST 0000055a: PUSH2 0x0c78 0000055d: JUMP 0000055e: JUMPDEST 0000055f: CALLDATASIZE 00000560: PUSH1 0x00 00000562: DUP1 00000563: CALLDATACOPY 00000564: PUSH1 0x00 00000566: DUP1 00000567: CALLDATASIZE 00000568: PUSH1 0x00 0000056a: DUP5 0000056b: GAS 0000056c: DELEGATECALL 0000056d: RETURNDATASIZE 0000056e: PUSH1 0x00 00000570: DUP1 00000571: RETURNDATACOPY 00000572: DUP1 00000573: DUP1 00000574: ISZERO 00000575: PUSH2 0x057d 00000578: JUMPI 00000579: RETURNDATASIZE 0000057a: PUSH1 0x00 0000057c: RETURN 0000057d: JUMPDEST 0000057e: RETURNDATASIZE 0000057f: PUSH1 0x00 00000581: REVERT 00000582: JUMPDEST 00000583: POP 00000584: POP 00000585: POP 00000586: JUMP 00000587: JUMPDEST 00000588: PUSH2 0x0590 0000058b: CALLER 0000058c: PUSH2 0x02ec 0000058f: JUMP 00000590: JUMPDEST 00000591: PUSH2 0x05ac 00000594: JUMPI 00000595: PUSH1 0x40 00000597: MLOAD 00000598: PUSH3 0x461bcd 0000059c: PUSH1 0xe5 0000059e: SHL 0000059f: DUP2 000005a0: MSTORE 000005a1: PUSH1 0x04 000005a3: ADD 000005a4: PUSH2 0x0214 000005a7: SWAP1 000005a8: PUSH2 0x12fb 000005ab: JUMP 000005ac: JUMPDEST 000005ad: PUSH1 0x04 000005af: DUP1 000005b0: SLOAD 000005b1: PUSH1 0x40 000005b3: MLOAD 000005b4: PUSH4 0x2306be91 000005b9: PUSH1 0xe0 000005bb: SHL 000005bc: DUP2 000005bd: MSTORE 000005be: PUSH1 0x01 000005c0: PUSH1 0x01 000005c2: PUSH1 0xa0 000005c4: SHL 000005c5: SUB 000005c6: DUP5 000005c7: DUP2 000005c8: AND 000005c9: SWAP4 000005ca: DUP3 000005cb: ADD 000005cc: SWAP4 000005cd: SWAP1 000005ce: SWAP4 000005cf: MSTORE 000005d0: PUSH2 0x0100 000005d3: SWAP1 000005d4: SWAP2 000005d5: DIV 000005d6: SWAP1 000005d7: SWAP2 000005d8: AND 000005d9: SWAP1 000005da: PUSH4 0x2306be91 000005df: SWAP1 000005e0: PUSH1 0x24 000005e2: ADD 000005e3: PUSH1 0x20 000005e5: PUSH1 0x40 000005e7: MLOAD 000005e8: DUP1 000005e9: DUP4 000005ea: SUB 000005eb: DUP2 000005ec: DUP7 000005ed: DUP1 000005ee: EXTCODESIZE 000005ef: ISZERO 000005f0: DUP1 000005f1: ISZERO 000005f2: PUSH2 0x05fa 000005f5: JUMPI 000005f6: PUSH1 0x00 000005f8: DUP1 000005f9: REVERT 000005fa: JUMPDEST 000005fb: POP 000005fc: GAS 000005fd: STATICCALL 000005fe: ISZERO 000005ff: DUP1 00000600: ISZERO 00000601: PUSH2 0x060e 00000604: JUMPI 00000605: RETURNDATASIZE 00000606: PUSH1 0x00 00000608: DUP1 00000609: RETURNDATACOPY 0000060a: RETURNDATASIZE 0000060b: PUSH1 0x00 0000060d: REVERT 0000060e: JUMPDEST 0000060f: POP 00000610: POP 00000611: POP 00000612: POP 00000613: PUSH1 0x40 00000615: MLOAD 00000616: RETURNDATASIZE 00000617: PUSH1 0x1f 00000619: NOT 0000061a: PUSH1 0x1f 0000061c: DUP3 0000061d: ADD 0000061e: AND 0000061f: DUP3 00000620: ADD 00000621: DUP1 00000622: PUSH1 0x40 00000624: MSTORE 00000625: POP 00000626: DUP2 00000627: ADD 00000628: SWAP1 00000629: PUSH2 0x0632 0000062c: SWAP2 0000062d: SWAP1 0000062e: PUSH2 0x1166 00000631: JUMP 00000632: JUMPDEST 00000633: PUSH2 0x067e 00000636: JUMPI 00000637: PUSH1 0x40 00000639: MLOAD 0000063a: PUSH3 0x461bcd 0000063e: PUSH1 0xe5 00000640: SHL 00000641: DUP2 00000642: MSTORE 00000643: PUSH1 0x20 00000645: PUSH1 0x04 00000647: DUP3 00000648: ADD 00000649: MSTORE 0000064a: PUSH1 0x1f 0000064c: PUSH1 0x24 0000064e: DUP3 0000064f: ADD 00000650: MSTORE 00000651: PUSH32 0x5661756c743a205f7374726174656779206973206e6f7420656e61626c656400 00000672: PUSH1 0x44 00000674: DUP3 00000675: ADD 00000676: MSTORE 00000677: PUSH1 0x64 00000679: ADD 0000067a: PUSH2 0x0214 0000067d: JUMP 0000067e: JUMPDEST 0000067f: PUSH1 0x05 00000681: DUP1 00000682: SLOAD 00000683: PUSH1 0x01 00000685: PUSH1 0x01 00000687: PUSH1 0xa0 00000689: SHL 0000068a: SUB 0000068b: NOT 0000068c: AND 0000068d: PUSH1 0x01 0000068f: PUSH1 0x01 00000691: PUSH1 0xa0 00000693: SHL 00000694: SUB 00000695: SWAP3 00000696: SWAP1 00000697: SWAP3 00000698: AND 00000699: SWAP2 0000069a: SWAP1 0000069b: SWAP2 0000069c: OR 0000069d: SWAP1 0000069e: SSTORE 0000069f: JUMP 000006a0: JUMPDEST 000006a1: PUSH2 0x06a9 000006a4: CALLER 000006a5: PUSH2 0x02ec 000006a8: JUMP 000006a9: JUMPDEST 000006aa: PUSH2 0x06c5 000006ad: JUMPI 000006ae: PUSH1 0x40 000006b0: MLOAD 000006b1: PUSH3 0x461bcd 000006b5: PUSH1 0xe5 000006b7: SHL 000006b8: DUP2 000006b9: MSTORE 000006ba: PUSH1 0x04 000006bc: ADD 000006bd: PUSH2 0x0214 000006c0: SWAP1 000006c1: PUSH2 0x12fb 000006c4: JUMP 000006c5: JUMPDEST 000006c6: PUSH1 0x01 000006c8: PUSH1 0x01 000006ca: PUSH1 0xa0 000006cc: SHL 000006cd: SUB 000006ce: DUP1 000006cf: DUP3 000006d0: AND 000006d1: PUSH1 0x00 000006d3: DUP2 000006d4: DUP2 000006d5: MSTORE 000006d6: PUSH1 0x02 000006d8: PUSH1 0x20 000006da: DUP2 000006db: SWAP1 000006dc: MSTORE 000006dd: PUSH1 0x40 000006df: DUP1 000006e0: DUP4 000006e1: KECCAK256 000006e2: DUP1 000006e3: SLOAD 000006e4: PUSH1 0xff 000006e6: NOT 000006e7: AND 000006e8: SWAP1 000006e9: SWAP3 000006ea: OR 000006eb: SWAP1 000006ec: SWAP2 000006ed: SSTORE 000006ee: DUP2 000006ef: SLOAD 000006f0: SWAP1 000006f1: MLOAD 000006f2: SWAP3 000006f3: SWAP4 000006f4: AND 000006f5: SWAP2 000006f6: PUSH32 0x34250d52157fd9958525d6ae6871710a3c3256db998616ba579f8d3e7a061dfd 00000717: SWAP2 00000718: SWAP1 00000719: LOG3 0000071a: POP 0000071b: JUMP 0000071c: JUMPDEST 0000071d: PUSH2 0x0725 00000720: CALLER 00000721: PUSH2 0x02ec 00000724: JUMP 00000725: JUMPDEST 00000726: PUSH2 0x0741 00000729: JUMPI 0000072a: PUSH1 0x40 0000072c: MLOAD 0000072d: PUSH3 0x461bcd 00000731: PUSH1 0xe5 00000733: SHL 00000734: DUP2 00000735: MSTORE 00000736: PUSH1 0x04 00000738: ADD 00000739: PUSH2 0x0214 0000073c: SWAP1 0000073d: PUSH2 0x12fb 00000740: JUMP 00000741: JUMPDEST 00000742: PUSH1 0x04 00000744: DUP1 00000745: SLOAD 00000746: PUSH2 0x0100 00000749: PUSH1 0x01 0000074b: PUSH1 0xa8 0000074d: SHL 0000074e: SUB 0000074f: NOT 00000750: AND 00000751: PUSH2 0x0100 00000754: PUSH1 0x01 00000756: PUSH1 0x01 00000758: PUSH1 0xa0 0000075a: SHL 0000075b: SUB 0000075c: DUP6 0000075d: AND 0000075e: MUL 0000075f: OR 00000760: SWAP1 00000761: SSTORE 00000762: PUSH2 0x076a 00000765: DUP2 00000766: PUSH2 0x0587 00000769: JUMP 0000076a: JUMPDEST 0000076b: POP 0000076c: POP 0000076d: JUMP 0000076e: JUMPDEST 0000076f: PUSH1 0x00 00000771: PUSH1 0x01 00000773: PUSH1 0x01 00000775: PUSH1 0xa0 00000777: SHL 00000778: SUB 00000779: DUP3 0000077a: AND 0000077b: PUSH2 0x0785 0000077e: JUMPI 0000077f: POP 00000780: SELFBALANCE 00000781: SWAP2 00000782: SWAP1 00000783: POP 00000784: JUMP 00000785: JUMPDEST 00000786: PUSH1 0x40 00000788: MLOAD 00000789: PUSH4 0x70a08231 0000078e: PUSH1 0xe0 00000790: SHL 00000791: DUP2 00000792: MSTORE 00000793: ADDRESS 00000794: PUSH1 0x04 00000796: DUP3 00000797: ADD 00000798: MSTORE 00000799: DUP3 0000079a: SWAP1 0000079b: PUSH1 0x01 0000079d: PUSH1 0x01 0000079f: PUSH1 0xa0 000007a1: SHL 000007a2: SUB 000007a3: DUP3 000007a4: AND 000007a5: SWAP1 000007a6: PUSH4 0x70a08231 000007ab: SWAP1 000007ac: PUSH1 0x24 000007ae: ADD 000007af: PUSH1 0x20 000007b1: PUSH1 0x40 000007b3: MLOAD 000007b4: DUP1 000007b5: DUP4 000007b6: SUB 000007b7: DUP2 000007b8: DUP7 000007b9: DUP1 000007ba: EXTCODESIZE 000007bb: ISZERO 000007bc: DUP1 000007bd: ISZERO 000007be: PUSH2 0x07c6 000007c1: JUMPI 000007c2: PUSH1 0x00 000007c4: DUP1 000007c5: REVERT 000007c6: JUMPDEST 000007c7: POP 000007c8: GAS 000007c9: STATICCALL 000007ca: ISZERO 000007cb: DUP1 000007cc: ISZERO 000007cd: PUSH2 0x07da 000007d0: JUMPI 000007d1: RETURNDATASIZE 000007d2: PUSH1 0x00 000007d4: DUP1 000007d5: RETURNDATACOPY 000007d6: RETURNDATASIZE 000007d7: PUSH1 0x00 000007d9: REVERT 000007da: JUMPDEST 000007db: POP 000007dc: POP 000007dd: POP 000007de: POP 000007df: PUSH1 0x40 000007e1: MLOAD 000007e2: RETURNDATASIZE 000007e3: PUSH1 0x1f 000007e5: NOT 000007e6: PUSH1 0x1f 000007e8: DUP3 000007e9: ADD 000007ea: AND 000007eb: DUP3 000007ec: ADD 000007ed: DUP1 000007ee: PUSH1 0x40 000007f0: MSTORE 000007f1: POP 000007f2: DUP2 000007f3: ADD 000007f4: SWAP1 000007f5: PUSH2 0x07fe 000007f8: SWAP2 000007f9: SWAP1 000007fa: PUSH2 0x124e 000007fd: JUMP 000007fe: JUMPDEST 000007ff: SWAP4 00000800: SWAP3 00000801: POP 00000802: POP 00000803: POP 00000804: JUMP 00000805: JUMPDEST 00000806: SWAP2 00000807: SWAP1 00000808: POP 00000809: JUMP 0000080a: JUMPDEST 0000080b: PUSH2 0x0813 0000080e: CALLER 0000080f: PUSH2 0x02ec 00000812: JUMP 00000813: JUMPDEST 00000814: PUSH2 0x082f 00000817: JUMPI 00000818: PUSH1 0x40 0000081a: MLOAD 0000081b: PUSH3 0x461bcd 0000081f: PUSH1 0xe5 00000821: SHL 00000822: DUP2 00000823: MSTORE 00000824: PUSH1 0x04 00000826: ADD 00000827: PUSH2 0x0214 0000082a: SWAP1 0000082b: PUSH2 0x12fb 0000082e: JUMP 0000082f: JUMPDEST 00000830: PUSH1 0x01 00000832: PUSH1 0x01 00000834: PUSH1 0xa0 00000836: SHL 00000837: SUB 00000838: DUP2 00000839: AND 0000083a: PUSH2 0x0855 0000083d: JUMPI 0000083e: PUSH1 0x40 00000840: MLOAD 00000841: PUSH3 0x461bcd 00000845: PUSH1 0xe5 00000847: SHL 00000848: DUP2 00000849: MSTORE 0000084a: PUSH1 0x04 0000084c: ADD 0000084d: PUSH2 0x0214 00000850: SWAP1 00000851: PUSH2 0x12b5 00000854: JUMP 00000855: JUMPDEST 00000856: PUSH1 0x00 00000858: DUP1 00000859: SLOAD 0000085a: PUSH1 0x40 0000085c: MLOAD 0000085d: PUSH1 0x01 0000085f: PUSH1 0x01 00000861: PUSH1 0xa0 00000863: SHL 00000864: SUB 00000865: DUP1 00000866: DUP6 00000867: AND 00000868: SWAP4 00000869: SWAP3 0000086a: AND 0000086b: SWAP2 0000086c: PUSH32 0xb51454ce8c7f26becd312a46c4815553887f2ec876a0b8dc813b87f62edf6f80 0000088d: SWAP2 0000088e: LOG3 0000088f: PUSH1 0x01 00000891: DUP1 00000892: SLOAD 00000893: PUSH1 0x01 00000895: PUSH1 0x01 00000897: PUSH1 0xa0 00000899: SHL 0000089a: SUB 0000089b: NOT 0000089c: AND 0000089d: PUSH1 0x01 0000089f: PUSH1 0x01 000008a1: PUSH1 0xa0 000008a3: SHL 000008a4: SUB 000008a5: SWAP3 000008a6: SWAP1 000008a7: SWAP3 000008a8: AND 000008a9: SWAP2 000008aa: SWAP1 000008ab: SWAP2 000008ac: OR 000008ad: SWAP1 000008ae: SSTORE 000008af: JUMP 000008b0: JUMPDEST 000008b1: PUSH1 0x01 000008b3: SLOAD 000008b4: PUSH1 0x01 000008b6: PUSH1 0x01 000008b8: PUSH1 0xa0 000008ba: SHL 000008bb: SUB 000008bc: AND 000008bd: CALLER 000008be: EQ 000008bf: PUSH2 0x091c 000008c2: JUMPI 000008c3: PUSH1 0x40 000008c5: MLOAD 000008c6: PUSH3 0x461bcd 000008ca: PUSH1 0xe5 000008cc: SHL 000008cd: DUP2 000008ce: MSTORE 000008cf: PUSH1 0x20 000008d1: PUSH1 0x04 000008d3: DUP3 000008d4: ADD 000008d5: MSTORE 000008d6: PUSH1 0x29 000008d8: PUSH1 0x24 000008da: DUP3 000008db: ADD 000008dc: MSTORE 000008dd: PUSH32 0x4f776e61626c653a20796f75722061646472657373206973206e6f742070656e 000008fe: PUSH1 0x44 00000900: DUP3 00000901: ADD 00000902: MSTORE 00000903: PUSH9 0x3234b733a7bbb732b9 0000090d: PUSH1 0xb9 0000090f: SHL 00000910: PUSH1 0x64 00000912: DUP3 00000913: ADD 00000914: MSTORE 00000915: PUSH1 0x84 00000917: ADD 00000918: PUSH2 0x0214 0000091b: JUMP 0000091c: JUMPDEST 0000091d: PUSH1 0x01 0000091f: SLOAD 00000920: PUSH1 0x00 00000922: DUP1 00000923: SLOAD 00000924: PUSH1 0x40 00000926: MLOAD 00000927: PUSH1 0x01 00000929: PUSH1 0x01 0000092b: PUSH1 0xa0 0000092d: SHL 0000092e: SUB 0000092f: SWAP4 00000930: DUP5 00000931: AND 00000932: SWAP4 00000933: SWAP1 00000934: SWAP2 00000935: AND 00000936: SWAP2 00000937: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00000958: SWAP2 00000959: LOG3 0000095a: PUSH1 0x01 0000095c: DUP1 0000095d: SLOAD 0000095e: PUSH1 0x00 00000960: DUP1 00000961: SLOAD 00000962: PUSH1 0x01 00000964: PUSH1 0x01 00000966: PUSH1 0xa0 00000968: SHL 00000969: SUB 0000096a: NOT 0000096b: SWAP1 0000096c: DUP2 0000096d: AND 0000096e: PUSH1 0x01 00000970: PUSH1 0x01 00000972: PUSH1 0xa0 00000974: SHL 00000975: SUB 00000976: DUP5 00000977: AND 00000978: OR 00000979: SWAP1 0000097a: SWAP2 0000097b: SSTORE 0000097c: AND 0000097d: SWAP1 0000097e: SSTORE 0000097f: JUMP 00000980: JUMPDEST 00000981: PUSH2 0x0989 00000984: CALLER 00000985: PUSH2 0x02ec 00000988: JUMP 00000989: JUMPDEST 0000098a: PUSH2 0x09a5 0000098d: JUMPI 0000098e: PUSH1 0x40 00000990: MLOAD 00000991: PUSH3 0x461bcd 00000995: PUSH1 0xe5 00000997: SHL 00000998: DUP2 00000999: MSTORE 0000099a: PUSH1 0x04 0000099c: ADD 0000099d: PUSH2 0x0214 000009a0: SWAP1 000009a1: PUSH2 0x12fb 000009a4: JUMP 000009a5: JUMPDEST 000009a6: DUP1 000009a7: ISZERO 000009a8: PUSH2 0x09b6 000009ab: JUMPI 000009ac: PUSH2 0x09b3 000009af: PUSH2 0x0d1e 000009b2: JUMP 000009b3: JUMPDEST 000009b4: POP 000009b5: JUMP 000009b6: JUMPDEST 000009b7: PUSH2 0x09b3 000009ba: PUSH2 0x0db6 000009bd: JUMP 000009be: JUMPDEST 000009bf: PUSH2 0x09c7 000009c2: CALLER 000009c3: PUSH2 0x02ec 000009c6: JUMP 000009c7: JUMPDEST 000009c8: PUSH2 0x09e3 000009cb: JUMPI 000009cc: PUSH1 0x40 000009ce: MLOAD 000009cf: PUSH3 0x461bcd 000009d3: PUSH1 0xe5 000009d5: SHL 000009d6: DUP2 000009d7: MSTORE 000009d8: PUSH1 0x04 000009da: ADD 000009db: PUSH2 0x0214 000009de: SWAP1 000009df: PUSH2 0x12fb 000009e2: JUMP 000009e3: JUMPDEST 000009e4: PUSH1 0x01 000009e6: PUSH1 0x01 000009e8: PUSH1 0xa0 000009ea: SHL 000009eb: SUB 000009ec: DUP3 000009ed: AND 000009ee: PUSH2 0x0a52 000009f1: JUMPI 000009f2: SELFBALANCE 000009f3: DUP2 000009f4: PUSH2 0x09ff 000009f7: JUMPI 000009f8: DUP1 000009f9: SWAP2 000009fa: POP 000009fb: PUSH2 0x0a12 000009fe: JUMP 000009ff: JUMPDEST 00000a00: DUP1 00000a01: DUP3 00000a02: LT 00000a03: ISZERO 00000a04: PUSH2 0x0a0d 00000a07: JUMPI 00000a08: DUP2 00000a09: PUSH2 0x0a0f 00000a0c: JUMP 00000a0d: JUMPDEST 00000a0e: DUP1 00000a0f: JUMPDEST 00000a10: SWAP2 00000a11: POP 00000a12: JUMPDEST 00000a13: PUSH1 0x00 00000a15: DUP1 00000a16: SLOAD 00000a17: PUSH1 0x40 00000a19: MLOAD 00000a1a: PUSH1 0x01 00000a1c: PUSH1 0x01 00000a1e: PUSH1 0xa0 00000a20: SHL 00000a21: SUB 00000a22: SWAP1 00000a23: SWAP2 00000a24: AND 00000a25: SWAP2 00000a26: DUP5 00000a27: ISZERO 00000a28: PUSH2 0x08fc 00000a2b: MUL 00000a2c: SWAP2 00000a2d: DUP6 00000a2e: SWAP2 00000a2f: DUP2 00000a30: DUP2 00000a31: DUP2 00000a32: DUP6 00000a33: DUP9 00000a34: DUP9 00000a35: CALL 00000a36: SWAP4 00000a37: POP 00000a38: POP 00000a39: POP 00000a3a: POP 00000a3b: ISZERO 00000a3c: DUP1 00000a3d: ISZERO 00000a3e: PUSH2 0x0a4b 00000a41: JUMPI 00000a42: RETURNDATASIZE 00000a43: PUSH1 0x00 00000a45: DUP1 00000a46: RETURNDATACOPY 00000a47: RETURNDATASIZE 00000a48: PUSH1 0x00 00000a4a: REVERT 00000a4b: JUMPDEST 00000a4c: POP 00000a4d: POP 00000a4e: PUSH2 0x0b20 00000a51: JUMP 00000a52: JUMPDEST 00000a53: PUSH1 0x40 00000a55: MLOAD 00000a56: PUSH4 0x70a08231 00000a5b: PUSH1 0xe0 00000a5d: SHL 00000a5e: DUP2 00000a5f: MSTORE 00000a60: ADDRESS 00000a61: PUSH1 0x04 00000a63: DUP3 00000a64: ADD 00000a65: MSTORE 00000a66: DUP3 00000a67: SWAP1 00000a68: PUSH1 0x00 00000a6a: SWAP1 00000a6b: PUSH1 0x01 00000a6d: PUSH1 0x01 00000a6f: PUSH1 0xa0 00000a71: SHL 00000a72: SUB 00000a73: DUP4 00000a74: AND 00000a75: SWAP1 00000a76: PUSH4 0x70a08231 00000a7b: SWAP1 00000a7c: PUSH1 0x24 00000a7e: ADD 00000a7f: PUSH1 0x20 00000a81: PUSH1 0x40 00000a83: MLOAD 00000a84: DUP1 00000a85: DUP4 00000a86: SUB 00000a87: DUP2 00000a88: DUP7 00000a89: DUP1 00000a8a: EXTCODESIZE 00000a8b: ISZERO 00000a8c: DUP1 00000a8d: ISZERO 00000a8e: PUSH2 0x0a96 00000a91: JUMPI 00000a92: PUSH1 0x00 00000a94: DUP1 00000a95: REVERT 00000a96: JUMPDEST 00000a97: POP 00000a98: GAS 00000a99: STATICCALL 00000a9a: ISZERO 00000a9b: DUP1 00000a9c: ISZERO 00000a9d: PUSH2 0x0aaa 00000aa0: JUMPI 00000aa1: RETURNDATASIZE 00000aa2: PUSH1 0x00 00000aa4: DUP1 00000aa5: RETURNDATACOPY 00000aa6: RETURNDATASIZE 00000aa7: PUSH1 0x00 00000aa9: REVERT 00000aaa: JUMPDEST 00000aab: POP 00000aac: POP 00000aad: POP 00000aae: POP 00000aaf: PUSH1 0x40 00000ab1: MLOAD 00000ab2: RETURNDATASIZE 00000ab3: PUSH1 0x1f 00000ab5: NOT 00000ab6: PUSH1 0x1f 00000ab8: DUP3 00000ab9: ADD 00000aba: AND 00000abb: DUP3 00000abc: ADD 00000abd: DUP1 00000abe: PUSH1 0x40 00000ac0: MSTORE 00000ac1: POP 00000ac2: DUP2 00000ac3: ADD 00000ac4: SWAP1 00000ac5: PUSH2 0x0ace 00000ac8: SWAP2 00000ac9: SWAP1 00000aca: PUSH2 0x124e 00000acd: JUMP 00000ace: JUMPDEST 00000acf: SWAP1 00000ad0: POP 00000ad1: DUP3 00000ad2: PUSH2 0x0add 00000ad5: JUMPI 00000ad6: DUP1 00000ad7: SWAP3 00000ad8: POP 00000ad9: PUSH2 0x0af0 00000adc: JUMP 00000add: JUMPDEST 00000ade: DUP1 00000adf: DUP4 00000ae0: LT 00000ae1: ISZERO 00000ae2: PUSH2 0x0aeb 00000ae5: JUMPI 00000ae6: DUP3 00000ae7: PUSH2 0x0aed 00000aea: JUMP 00000aeb: JUMPDEST 00000aec: DUP1 00000aed: JUMPDEST 00000aee: SWAP3 00000aef: POP 00000af0: JUMPDEST 00000af1: DUP1 00000af2: DUP4 00000af3: LT 00000af4: ISZERO 00000af5: PUSH2 0x0afe 00000af8: JUMPI 00000af9: DUP3 00000afa: PUSH2 0x0b00 00000afd: JUMP 00000afe: JUMPDEST 00000aff: DUP1 00000b00: JUMPDEST 00000b01: PUSH1 0x00 00000b03: SLOAD 00000b04: SWAP1 00000b05: SWAP4 00000b06: POP 00000b07: PUSH2 0x0b1d 00000b0a: SWAP1 00000b0b: PUSH1 0x01 00000b0d: PUSH1 0x01 00000b0f: PUSH1 0xa0 00000b11: SHL 00000b12: SUB 00000b13: DUP5 00000b14: DUP2 00000b15: AND 00000b16: SWAP2 00000b17: AND 00000b18: DUP6 00000b19: PUSH2 0x0e30 00000b1c: JUMP 00000b1d: JUMPDEST 00000b1e: POP 00000b1f: POP 00000b20: JUMPDEST 00000b21: PUSH1 0x00 00000b23: SLOAD 00000b24: PUSH1 0x40 00000b26: MLOAD 00000b27: DUP3 00000b28: DUP2 00000b29: MSTORE 00000b2a: PUSH1 0x01 00000b2c: PUSH1 0x01 00000b2e: PUSH1 0xa0 00000b30: SHL 00000b31: SUB 00000b32: SWAP2 00000b33: DUP3 00000b34: AND 00000b35: SWAP2 00000b36: DUP5 00000b37: AND 00000b38: SWAP1 00000b39: PUSH32 0x5df18565c5bc04aa5c8a0d9d2db510b133941a1372be5a443ea4ec5f2f04f293 00000b5a: SWAP1 00000b5b: PUSH1 0x20 00000b5d: ADD 00000b5e: PUSH1 0x40 00000b60: MLOAD 00000b61: DUP1 00000b62: SWAP2 00000b63: SUB 00000b64: SWAP1 00000b65: LOG3 00000b66: POP 00000b67: POP 00000b68: JUMP 00000b69: JUMPDEST 00000b6a: PUSH2 0x0b72 00000b6d: CALLER 00000b6e: PUSH2 0x02ec 00000b71: JUMP 00000b72: JUMPDEST 00000b73: PUSH2 0x0b8e 00000b76: JUMPI 00000b77: PUSH1 0x40 00000b79: MLOAD 00000b7a: PUSH3 0x461bcd 00000b7e: PUSH1 0xe5 00000b80: SHL 00000b81: DUP2 00000b82: MSTORE 00000b83: PUSH1 0x04 00000b85: ADD 00000b86: PUSH2 0x0214 00000b89: SWAP1 00000b8a: PUSH2 0x12fb 00000b8d: JUMP 00000b8e: JUMPDEST 00000b8f: PUSH1 0x01 00000b91: PUSH1 0x01 00000b93: PUSH1 0xa0 00000b95: SHL 00000b96: SUB 00000b97: DUP2 00000b98: AND 00000b99: PUSH1 0x00 00000b9b: SWAP1 00000b9c: DUP2 00000b9d: MSTORE 00000b9e: PUSH1 0x02 00000ba0: PUSH1 0x20 00000ba2: MSTORE 00000ba3: PUSH1 0x40 00000ba5: SWAP1 00000ba6: KECCAK256 00000ba7: SLOAD 00000ba8: PUSH1 0xff 00000baa: AND 00000bab: PUSH2 0x0bfa 00000bae: JUMPI 00000baf: PUSH1 0x03 00000bb1: DUP1 00000bb2: SLOAD 00000bb3: PUSH1 0x01 00000bb5: DUP2 00000bb6: ADD 00000bb7: DUP3 00000bb8: SSTORE 00000bb9: PUSH1 0x00 00000bbb: SWAP2 00000bbc: SWAP1 00000bbd: SWAP2 00000bbe: MSTORE 00000bbf: PUSH32 0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b 00000be0: ADD 00000be1: DUP1 00000be2: SLOAD 00000be3: PUSH1 0x01 00000be5: PUSH1 0x01 00000be7: PUSH1 0xa0 00000be9: SHL 00000bea: SUB 00000beb: NOT 00000bec: AND 00000bed: PUSH1 0x01 00000bef: PUSH1 0x01 00000bf1: PUSH1 0xa0 00000bf3: SHL 00000bf4: SUB 00000bf5: DUP4 00000bf6: AND 00000bf7: OR 00000bf8: SWAP1 00000bf9: SSTORE 00000bfa: JUMPDEST 00000bfb: PUSH1 0x01 00000bfd: PUSH1 0x01 00000bff: PUSH1 0xa0 00000c01: SHL 00000c02: SUB 00000c03: DUP1 00000c04: DUP3 00000c05: AND 00000c06: PUSH1 0x00 00000c08: DUP2 00000c09: DUP2 00000c0a: MSTORE 00000c0b: PUSH1 0x02 00000c0d: PUSH1 0x20 00000c0f: MSTORE 00000c10: PUSH1 0x40 00000c12: DUP1 00000c13: DUP3 00000c14: KECCAK256 00000c15: DUP1 00000c16: SLOAD 00000c17: PUSH1 0xff 00000c19: NOT 00000c1a: AND 00000c1b: PUSH1 0x01 00000c1d: OR 00000c1e: SWAP1 00000c1f: SSTORE 00000c20: DUP2 00000c21: SLOAD 00000c22: SWAP1 00000c23: MLOAD 00000c24: SWAP3 00000c25: SWAP4 00000c26: AND 00000c27: SWAP2 00000c28: PUSH32 0x51778c51d58ce676f156168a160fc5e14ad3c40027f7d6bf7ce613de46dda9a0 00000c49: SWAP2 00000c4a: SWAP1 00000c4b: LOG3 00000c4c: POP 00000c4d: JUMP 00000c4e: JUMPDEST 00000c4f: PUSH1 0x03 00000c51: DUP2 00000c52: DUP2 00000c53: SLOAD 00000c54: DUP2 00000c55: LT 00000c56: PUSH2 0x0c5e 00000c59: JUMPI 00000c5a: PUSH1 0x00 00000c5c: DUP1 00000c5d: REVERT 00000c5e: JUMPDEST 00000c5f: PUSH1 0x00 00000c61: SWAP2 00000c62: DUP3 00000c63: MSTORE 00000c64: PUSH1 0x20 00000c66: SWAP1 00000c67: SWAP2 00000c68: KECCAK256 00000c69: ADD 00000c6a: SLOAD 00000c6b: PUSH1 0x01 00000c6d: PUSH1 0x01 00000c6f: PUSH1 0xa0 00000c71: SHL 00000c72: SUB 00000c73: AND 00000c74: SWAP1 00000c75: POP 00000c76: DUP2 00000c77: JUMP 00000c78: JUMPDEST 00000c79: PUSH2 0x0c81 00000c7c: CALLER 00000c7d: PUSH2 0x02ec 00000c80: JUMP 00000c81: JUMPDEST 00000c82: PUSH2 0x0c9d 00000c85: JUMPI 00000c86: PUSH1 0x40 00000c88: MLOAD 00000c89: PUSH3 0x461bcd 00000c8d: PUSH1 0xe5 00000c8f: SHL 00000c90: DUP2 00000c91: MSTORE 00000c92: PUSH1 0x04 00000c94: ADD 00000c95: PUSH2 0x0214 00000c98: SWAP1 00000c99: PUSH2 0x12fb 00000c9c: JUMP 00000c9d: JUMPDEST 00000c9e: PUSH1 0x01 00000ca0: PUSH1 0x01 00000ca2: PUSH1 0xa0 00000ca4: SHL 00000ca5: SUB 00000ca6: DUP2 00000ca7: AND 00000ca8: PUSH2 0x0cc3 00000cab: JUMPI 00000cac: PUSH1 0x40 00000cae: MLOAD 00000caf: PUSH3 0x461bcd 00000cb3: PUSH1 0xe5 00000cb5: SHL 00000cb6: DUP2 00000cb7: MSTORE 00000cb8: PUSH1 0x04 00000cba: ADD 00000cbb: PUSH2 0x0214 00000cbe: SWAP1 00000cbf: PUSH2 0x12b5 00000cc2: JUMP 00000cc3: JUMPDEST 00000cc4: PUSH1 0x00 00000cc6: DUP1 00000cc7: SLOAD 00000cc8: PUSH1 0x40 00000cca: MLOAD 00000ccb: PUSH1 0x01 00000ccd: PUSH1 0x01 00000ccf: PUSH1 0xa0 00000cd1: SHL 00000cd2: SUB 00000cd3: DUP1 00000cd4: DUP6 00000cd5: AND 00000cd6: SWAP4 00000cd7: SWAP3 00000cd8: AND 00000cd9: SWAP2 00000cda: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00000cfb: SWAP2 00000cfc: LOG3 00000cfd: PUSH1 0x00 00000cff: DUP1 00000d00: SLOAD 00000d01: PUSH1 0x01 00000d03: PUSH1 0x01 00000d05: PUSH1 0xa0 00000d07: SHL 00000d08: SUB 00000d09: NOT 00000d0a: AND 00000d0b: PUSH1 0x01 00000d0d: PUSH1 0x01 00000d0f: PUSH1 0xa0 00000d11: SHL 00000d12: SUB 00000d13: SWAP3 00000d14: SWAP1 00000d15: SWAP3 00000d16: AND 00000d17: SWAP2 00000d18: SWAP1 00000d19: SWAP2 00000d1a: OR 00000d1b: SWAP1 00000d1c: SSTORE 00000d1d: JUMP 00000d1e: JUMPDEST 00000d1f: PUSH1 0x04 00000d21: SLOAD 00000d22: PUSH1 0xff 00000d24: AND 00000d25: ISZERO 00000d26: PUSH2 0x0d64 00000d29: JUMPI 00000d2a: PUSH1 0x40 00000d2c: MLOAD 00000d2d: PUSH3 0x461bcd 00000d31: PUSH1 0xe5 00000d33: SHL 00000d34: DUP2 00000d35: MSTORE 00000d36: PUSH1 0x20 00000d38: PUSH1 0x04 00000d3a: DUP3 00000d3b: ADD 00000d3c: MSTORE 00000d3d: PUSH1 0x10 00000d3f: PUSH1 0x24 00000d41: DUP3 00000d42: ADD 00000d43: MSTORE 00000d44: PUSH16 0x14185d5cd8589b194e881c185d5cd959 00000d55: PUSH1 0x82 00000d57: SHL 00000d58: PUSH1 0x44 00000d5a: DUP3 00000d5b: ADD 00000d5c: MSTORE 00000d5d: PUSH1 0x64 00000d5f: ADD 00000d60: PUSH2 0x0214 00000d63: JUMP 00000d64: JUMPDEST 00000d65: PUSH1 0x04 00000d67: DUP1 00000d68: SLOAD 00000d69: PUSH1 0xff 00000d6b: NOT 00000d6c: AND 00000d6d: PUSH1 0x01 00000d6f: OR 00000d70: SWAP1 00000d71: SSTORE 00000d72: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258 00000d93: PUSH2 0x0d99 00000d96: CALLER 00000d97: SWAP1 00000d98: JUMP 00000d99: JUMPDEST 00000d9a: PUSH1 0x40 00000d9c: MLOAD 00000d9d: PUSH1 0x01 00000d9f: PUSH1 0x01 00000da1: PUSH1 0xa0 00000da3: SHL 00000da4: SUB 00000da5: SWAP1 00000da6: SWAP2 00000da7: AND 00000da8: DUP2 00000da9: MSTORE 00000daa: PUSH1 0x20 00000dac: ADD 00000dad: PUSH1 0x40 00000daf: MLOAD 00000db0: DUP1 00000db1: SWAP2 00000db2: SUB 00000db3: SWAP1 00000db4: LOG1 00000db5: JUMP 00000db6: JUMPDEST 00000db7: PUSH1 0x04 00000db9: SLOAD 00000dba: PUSH1 0xff 00000dbc: AND 00000dbd: PUSH2 0x0dff 00000dc0: JUMPI 00000dc1: PUSH1 0x40 00000dc3: MLOAD 00000dc4: PUSH3 0x461bcd 00000dc8: PUSH1 0xe5 00000dca: SHL 00000dcb: DUP2 00000dcc: MSTORE 00000dcd: PUSH1 0x20 00000dcf: PUSH1 0x04 00000dd1: DUP3 00000dd2: ADD 00000dd3: MSTORE 00000dd4: PUSH1 0x14 00000dd6: PUSH1 0x24 00000dd8: DUP3 00000dd9: ADD 00000dda: MSTORE 00000ddb: PUSH20 0x14185d5cd8589b194e881b9bdd081c185d5cd959 00000df0: PUSH1 0x62 00000df2: SHL 00000df3: PUSH1 0x44 00000df5: DUP3 00000df6: ADD 00000df7: MSTORE 00000df8: PUSH1 0x64 00000dfa: ADD 00000dfb: PUSH2 0x0214 00000dfe: JUMP 00000dff: JUMPDEST 00000e00: PUSH1 0x04 00000e02: DUP1 00000e03: SLOAD 00000e04: PUSH1 0xff 00000e06: NOT 00000e07: AND 00000e08: SWAP1 00000e09: SSTORE 00000e0a: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa 00000e2b: CALLER 00000e2c: PUSH2 0x0d99 00000e2f: JUMP 00000e30: JUMPDEST 00000e31: PUSH1 0x40 00000e33: DUP1 00000e34: MLOAD 00000e35: PUSH1 0x01 00000e37: PUSH1 0x01 00000e39: PUSH1 0xa0 00000e3b: SHL 00000e3c: SUB 00000e3d: DUP5 00000e3e: DUP2 00000e3f: AND 00000e40: PUSH1 0x24 00000e42: DUP4 00000e43: ADD 00000e44: MSTORE 00000e45: PUSH1 0x44 00000e47: DUP1 00000e48: DUP4 00000e49: ADD 00000e4a: DUP6 00000e4b: SWAP1 00000e4c: MSTORE 00000e4d: DUP4 00000e4e: MLOAD 00000e4f: DUP1 00000e50: DUP5 00000e51: SUB 00000e52: SWAP1 00000e53: SWAP2 00000e54: ADD 00000e55: DUP2 00000e56: MSTORE 00000e57: PUSH1 0x64 00000e59: SWAP1 00000e5a: SWAP3 00000e5b: ADD 00000e5c: DUP4 00000e5d: MSTORE 00000e5e: PUSH1 0x20 00000e60: DUP1 00000e61: DUP4 00000e62: ADD 00000e63: DUP1 00000e64: MLOAD 00000e65: PUSH1 0x01 00000e67: PUSH1 0x01 00000e69: PUSH1 0xe0 00000e6b: SHL 00000e6c: SUB 00000e6d: AND 00000e6e: PUSH4 0xa9059cbb 00000e73: PUSH1 0xe0 00000e75: SHL 00000e76: OR 00000e77: SWAP1 00000e78: MSTORE 00000e79: DUP4 00000e7a: MLOAD 00000e7b: DUP1 00000e7c: DUP6 00000e7d: ADD 00000e7e: SWAP1 00000e7f: SWAP5 00000e80: MSTORE 00000e81: DUP1 00000e82: DUP5 00000e83: MSTORE 00000e84: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 00000ea5: SWAP1 00000ea6: DUP5 00000ea7: ADD 00000ea8: MSTORE 00000ea9: PUSH2 0x0582 00000eac: SWAP3 00000ead: DUP7 00000eae: SWAP3 00000eaf: SWAP2 00000eb0: PUSH1 0x00 00000eb2: SWAP2 00000eb3: PUSH2 0x0ec0 00000eb6: SWAP2 00000eb7: DUP6 00000eb8: AND 00000eb9: SWAP1 00000eba: DUP5 00000ebb: SWAP1 00000ebc: PUSH2 0x0f3d 00000ebf: JUMP 00000ec0: JUMPDEST 00000ec1: DUP1 00000ec2: MLOAD 00000ec3: SWAP1 00000ec4: SWAP2 00000ec5: POP 00000ec6: ISZERO 00000ec7: PUSH2 0x0582 00000eca: JUMPI 00000ecb: DUP1 00000ecc: DUP1 00000ecd: PUSH1 0x20 00000ecf: ADD 00000ed0: SWAP1 00000ed1: MLOAD 00000ed2: DUP2 00000ed3: ADD 00000ed4: SWAP1 00000ed5: PUSH2 0x0ede 00000ed8: SWAP2 00000ed9: SWAP1 00000eda: PUSH2 0x1166 00000edd: JUMP 00000ede: JUMPDEST 00000edf: PUSH2 0x0582 00000ee2: JUMPI 00000ee3: PUSH1 0x40 00000ee5: MLOAD 00000ee6: PUSH3 0x461bcd 00000eea: PUSH1 0xe5 00000eec: SHL 00000eed: DUP2 00000eee: MSTORE 00000eef: PUSH1 0x20 00000ef1: PUSH1 0x04 00000ef3: DUP3 00000ef4: ADD 00000ef5: MSTORE 00000ef6: PUSH1 0x2a 00000ef8: PUSH1 0x24 00000efa: DUP3 00000efb: ADD 00000efc: MSTORE 00000efd: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e 00000f1e: PUSH1 0x44 00000f20: DUP3 00000f21: ADD 00000f22: MSTORE 00000f23: PUSH10 0x1bdd081cdd58d8d95959 00000f2e: PUSH1 0xb2 00000f30: SHL 00000f31: PUSH1 0x64 00000f33: DUP3 00000f34: ADD 00000f35: MSTORE 00000f36: PUSH1 0x84 00000f38: ADD 00000f39: PUSH2 0x0214 00000f3c: JUMP 00000f3d: JUMPDEST 00000f3e: PUSH1 0x60 00000f40: PUSH2 0x0f4c 00000f43: DUP5 00000f44: DUP5 00000f45: PUSH1 0x00 00000f47: DUP6 00000f48: PUSH2 0x0f54 00000f4b: JUMP 00000f4c: JUMPDEST 00000f4d: SWAP5 00000f4e: SWAP4 00000f4f: POP 00000f50: POP 00000f51: POP 00000f52: POP 00000f53: JUMP 00000f54: JUMPDEST 00000f55: PUSH1 0x60 00000f57: DUP3 00000f58: SELFBALANCE 00000f59: LT 00000f5a: ISZERO 00000f5b: PUSH2 0x0fb5 00000f5e: JUMPI 00000f5f: PUSH1 0x40 00000f61: MLOAD 00000f62: PUSH3 0x461bcd 00000f66: PUSH1 0xe5 00000f68: SHL 00000f69: DUP2 00000f6a: MSTORE 00000f6b: PUSH1 0x20 00000f6d: PUSH1 0x04 00000f6f: DUP3 00000f70: ADD 00000f71: MSTORE 00000f72: PUSH1 0x26 00000f74: PUSH1 0x24 00000f76: DUP3 00000f77: ADD 00000f78: MSTORE 00000f79: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f 00000f9a: PUSH1 0x44 00000f9c: DUP3 00000f9d: ADD 00000f9e: MSTORE 00000f9f: PUSH6 0x1c8818d85b1b 00000fa6: PUSH1 0xd2 00000fa8: SHL 00000fa9: PUSH1 0x64 00000fab: DUP3 00000fac: ADD 00000fad: MSTORE 00000fae: PUSH1 0x84 00000fb0: ADD 00000fb1: PUSH2 0x0214 00000fb4: JUMP 00000fb5: JUMPDEST 00000fb6: PUSH1 0x01 00000fb8: PUSH1 0x01 00000fba: PUSH1 0xa0 00000fbc: SHL 00000fbd: SUB 00000fbe: DUP6 00000fbf: AND 00000fc0: EXTCODESIZE 00000fc1: PUSH2 0x100c 00000fc4: JUMPI 00000fc5: PUSH1 0x40 00000fc7: MLOAD 00000fc8: PUSH3 0x461bcd 00000fcc: PUSH1 0xe5 00000fce: SHL 00000fcf: DUP2 00000fd0: MSTORE 00000fd1: PUSH1 0x20 00000fd3: PUSH1 0x04 00000fd5: DUP3 00000fd6: ADD 00000fd7: MSTORE 00000fd8: PUSH1 0x1d 00000fda: PUSH1 0x24 00000fdc: DUP3 00000fdd: ADD 00000fde: MSTORE 00000fdf: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 00001000: PUSH1 0x44 00001002: DUP3 00001003: ADD 00001004: MSTORE 00001005: PUSH1 0x64 00001007: ADD 00001008: PUSH2 0x0214 0000100b: JUMP 0000100c: JUMPDEST 0000100d: PUSH1 0x00 0000100f: DUP1 00001010: DUP7 00001011: PUSH1 0x01 00001013: PUSH1 0x01 00001015: PUSH1 0xa0 00001017: SHL 00001018: SUB 00001019: AND 0000101a: DUP6 0000101b: DUP8 0000101c: PUSH1 0x40 0000101e: MLOAD 0000101f: PUSH2 0x1028 00001022: SWAP2 00001023: SWAP1 00001024: PUSH2 0x1266 00001027: JUMP 00001028: JUMPDEST 00001029: PUSH1 0x00 0000102b: PUSH1 0x40 0000102d: MLOAD 0000102e: DUP1 0000102f: DUP4 00001030: SUB 00001031: DUP2 00001032: DUP6 00001033: DUP8 00001034: GAS 00001035: CALL 00001036: SWAP3 00001037: POP 00001038: POP 00001039: POP 0000103a: RETURNDATASIZE 0000103b: DUP1 0000103c: PUSH1 0x00 0000103e: DUP2 0000103f: EQ 00001040: PUSH2 0x1065 00001043: JUMPI 00001044: PUSH1 0x40 00001046: MLOAD 00001047: SWAP2 00001048: POP 00001049: PUSH1 0x1f 0000104b: NOT 0000104c: PUSH1 0x3f 0000104e: RETURNDATASIZE 0000104f: ADD 00001050: AND 00001051: DUP3 00001052: ADD 00001053: PUSH1 0x40 00001055: MSTORE 00001056: RETURNDATASIZE 00001057: DUP3 00001058: MSTORE 00001059: RETURNDATASIZE 0000105a: PUSH1 0x00 0000105c: PUSH1 0x20 0000105e: DUP5 0000105f: ADD 00001060: RETURNDATACOPY 00001061: PUSH2 0x106a 00001064: JUMP 00001065: JUMPDEST 00001066: PUSH1 0x60 00001068: SWAP2 00001069: POP 0000106a: JUMPDEST 0000106b: POP 0000106c: SWAP2 0000106d: POP 0000106e: SWAP2 0000106f: POP 00001070: PUSH2 0x107a 00001073: DUP3 00001074: DUP3 00001075: DUP7 00001076: PUSH2 0x1085 00001079: JUMP 0000107a: JUMPDEST 0000107b: SWAP8 0000107c: SWAP7 0000107d: POP 0000107e: POP 0000107f: POP 00001080: POP 00001081: POP 00001082: POP 00001083: POP 00001084: JUMP 00001085: JUMPDEST 00001086: PUSH1 0x60 00001088: DUP4 00001089: ISZERO 0000108a: PUSH2 0x1094 0000108d: JUMPI 0000108e: POP 0000108f: DUP2 00001090: PUSH2 0x07fe 00001093: JUMP 00001094: JUMPDEST 00001095: DUP3 00001096: MLOAD 00001097: ISZERO 00001098: PUSH2 0x10a4 0000109b: JUMPI 0000109c: DUP3 0000109d: MLOAD 0000109e: DUP1 0000109f: DUP5 000010a0: PUSH1 0x20 000010a2: ADD 000010a3: REVERT 000010a4: JUMPDEST 000010a5: DUP2 000010a6: PUSH1 0x40 000010a8: MLOAD 000010a9: PUSH3 0x461bcd 000010ad: PUSH1 0xe5 000010af: SHL 000010b0: DUP2 000010b1: MSTORE 000010b2: PUSH1 0x04 000010b4: ADD 000010b5: PUSH2 0x0214 000010b8: SWAP2 000010b9: SWAP1 000010ba: PUSH2 0x1282 000010bd: JUMP 000010be: JUMPDEST 000010bf: DUP1 000010c0: CALLDATALOAD 000010c1: PUSH1 0x01 000010c3: PUSH1 0x01 000010c5: PUSH1 0xa0 000010c7: SHL 000010c8: SUB 000010c9: DUP2 000010ca: AND 000010cb: DUP2 000010cc: EQ 000010cd: PUSH2 0x0805 000010d0: JUMPI 000010d1: PUSH1 0x00 000010d3: DUP1 000010d4: REVERT 000010d5: JUMPDEST 000010d6: PUSH1 0x00 000010d8: PUSH1 0x20 000010da: DUP3 000010db: DUP5 000010dc: SUB 000010dd: SLT 000010de: ISZERO 000010df: PUSH2 0x10e6 000010e2: JUMPI 000010e3: DUP1 000010e4: DUP2 000010e5: REVERT 000010e6: JUMPDEST 000010e7: PUSH2 0x07fe 000010ea: DUP3 000010eb: PUSH2 0x10be 000010ee: JUMP 000010ef: JUMPDEST 000010f0: PUSH1 0x00 000010f2: DUP1 000010f3: PUSH1 0x40 000010f5: DUP4 000010f6: DUP6 000010f7: SUB 000010f8: SLT 000010f9: ISZERO 000010fa: PUSH2 0x1101 000010fd: JUMPI 000010fe: DUP1 000010ff: DUP2 00001100: REVERT 00001101: JUMPDEST 00001102: PUSH2 0x110a 00001105: DUP4 00001106: PUSH2 0x10be 00001109: JUMP 0000110a: JUMPDEST 0000110b: SWAP2 0000110c: POP 0000110d: PUSH2 0x1118 00001110: PUSH1 0x20 00001112: DUP5 00001113: ADD 00001114: PUSH2 0x10be 00001117: JUMP 00001118: JUMPDEST 00001119: SWAP1 0000111a: POP 0000111b: SWAP3 0000111c: POP 0000111d: SWAP3 0000111e: SWAP1 0000111f: POP 00001120: JUMP 00001121: JUMPDEST 00001122: PUSH1 0x00 00001124: DUP1 00001125: PUSH1 0x40 00001127: DUP4 00001128: DUP6 00001129: SUB 0000112a: SLT 0000112b: ISZERO 0000112c: PUSH2 0x1133 0000112f: JUMPI 00001130: DUP2 00001131: DUP3 00001132: REVERT 00001133: JUMPDEST 00001134: PUSH2 0x113c 00001137: DUP4 00001138: PUSH2 0x10be 0000113b: JUMP 0000113c: JUMPDEST 0000113d: SWAP5 0000113e: PUSH1 0x20 00001140: SWAP4 00001141: SWAP1 00001142: SWAP4 00001143: ADD 00001144: CALLDATALOAD 00001145: SWAP4 00001146: POP 00001147: POP 00001148: POP 00001149: JUMP 0000114a: JUMPDEST 0000114b: PUSH1 0x00 0000114d: PUSH1 0x20 0000114f: DUP3 00001150: DUP5 00001151: SUB 00001152: SLT 00001153: ISZERO 00001154: PUSH2 0x115b 00001157: JUMPI 00001158: DUP1 00001159: DUP2 0000115a: REVERT 0000115b: JUMPDEST 0000115c: DUP2 0000115d: CALLDATALOAD 0000115e: PUSH2 0x07fe 00001161: DUP2 00001162: PUSH2 0x1376 00001165: JUMP 00001166: JUMPDEST 00001167: PUSH1 0x00 00001169: PUSH1 0x20 0000116b: DUP3 0000116c: DUP5 0000116d: SUB 0000116e: SLT 0000116f: ISZERO 00001170: PUSH2 0x1177 00001173: JUMPI 00001174: DUP1 00001175: DUP2 00001176: REVERT 00001177: JUMPDEST 00001178: DUP2 00001179: MLOAD 0000117a: PUSH2 0x07fe 0000117d: DUP2 0000117e: PUSH2 0x1376 00001181: JUMP 00001182: JUMPDEST 00001183: PUSH1 0x00 00001185: DUP1 00001186: PUSH1 0x40 00001188: DUP4 00001189: DUP6 0000118a: SUB 0000118b: SLT 0000118c: ISZERO 0000118d: PUSH2 0x1194 00001190: JUMPI 00001191: DUP2 00001192: DUP3 00001193: REVERT 00001194: JUMPDEST 00001195: DUP3 00001196: CALLDATALOAD 00001197: PUSH8 0xffffffffffffffff 000011a0: DUP1 000011a1: DUP3 000011a2: GT 000011a3: ISZERO 000011a4: PUSH2 0x11ab 000011a7: JUMPI 000011a8: DUP4 000011a9: DUP5 000011aa: REVERT 000011ab: JUMPDEST 000011ac: DUP2 000011ad: DUP6 000011ae: ADD 000011af: SWAP2 000011b0: POP 000011b1: DUP6 000011b2: PUSH1 0x1f 000011b4: DUP4 000011b5: ADD 000011b6: SLT 000011b7: PUSH2 0x11be 000011ba: JUMPI 000011bb: DUP4 000011bc: DUP5 000011bd: REVERT 000011be: JUMPDEST 000011bf: DUP2 000011c0: CALLDATALOAD 000011c1: DUP2 000011c2: DUP2 000011c3: GT 000011c4: ISZERO 000011c5: PUSH2 0x11d0 000011c8: JUMPI 000011c9: PUSH2 0x11d0 000011cc: PUSH2 0x1360 000011cf: JUMP 000011d0: JUMPDEST 000011d1: PUSH1 0x40 000011d3: MLOAD 000011d4: PUSH1 0x1f 000011d6: DUP3 000011d7: ADD 000011d8: PUSH1 0x1f 000011da: NOT 000011db: SWAP1 000011dc: DUP2 000011dd: AND 000011de: PUSH1 0x3f 000011e0: ADD 000011e1: AND 000011e2: DUP2 000011e3: ADD 000011e4: SWAP1 000011e5: DUP4 000011e6: DUP3 000011e7: GT 000011e8: DUP2 000011e9: DUP4 000011ea: LT 000011eb: OR 000011ec: ISZERO 000011ed: PUSH2 0x11f8 000011f0: JUMPI 000011f1: PUSH2 0x11f8 000011f4: PUSH2 0x1360 000011f7: JUMP 000011f8: JUMPDEST 000011f9: DUP2 000011fa: PUSH1 0x40 000011fc: MSTORE 000011fd: DUP3 000011fe: DUP2 000011ff: MSTORE 00001200: DUP9 00001201: PUSH1 0x20 00001203: DUP5 00001204: DUP8 00001205: ADD 00001206: ADD 00001207: GT 00001208: ISZERO 00001209: PUSH2 0x1210 0000120c: JUMPI 0000120d: DUP7 0000120e: DUP8 0000120f: REVERT 00001210: JUMPDEST 00001211: DUP3 00001212: PUSH1 0x20 00001214: DUP7 00001215: ADD 00001216: PUSH1 0x20 00001218: DUP4 00001219: ADD 0000121a: CALLDATACOPY 0000121b: DUP7 0000121c: PUSH1 0x20 0000121e: DUP5 0000121f: DUP4 00001220: ADD 00001221: ADD 00001222: MSTORE 00001223: DUP1 00001224: SWAP7 00001225: POP 00001226: POP 00001227: POP 00001228: POP 00001229: POP 0000122a: POP 0000122b: PUSH2 0x1118 0000122e: PUSH1 0x20 00001230: DUP5 00001231: ADD 00001232: PUSH2 0x10be 00001235: JUMP 00001236: JUMPDEST 00001237: PUSH1 0x00 00001239: PUSH1 0x20 0000123b: DUP3 0000123c: DUP5 0000123d: SUB 0000123e: SLT 0000123f: ISZERO 00001240: PUSH2 0x1247 00001243: JUMPI 00001244: DUP1 00001245: DUP2 00001246: REVERT 00001247: JUMPDEST 00001248: POP 00001249: CALLDATALOAD 0000124a: SWAP2 0000124b: SWAP1 0000124c: POP 0000124d: JUMP 0000124e: JUMPDEST 0000124f: PUSH1 0x00 00001251: PUSH1 0x20 00001253: DUP3 00001254: DUP5 00001255: SUB 00001256: SLT 00001257: ISZERO 00001258: PUSH2 0x125f 0000125b: JUMPI 0000125c: DUP1 0000125d: DUP2 0000125e: REVERT 0000125f: JUMPDEST 00001260: POP 00001261: MLOAD 00001262: SWAP2 00001263: SWAP1 00001264: POP 00001265: JUMP 00001266: JUMPDEST 00001267: PUSH1 0x00 00001269: DUP3 0000126a: MLOAD 0000126b: PUSH2 0x1278 0000126e: DUP2 0000126f: DUP5 00001270: PUSH1 0x20 00001272: DUP8 00001273: ADD 00001274: PUSH2 0x1330 00001277: JUMP 00001278: JUMPDEST 00001279: SWAP2 0000127a: SWAP1 0000127b: SWAP2 0000127c: ADD 0000127d: SWAP3 0000127e: SWAP2 0000127f: POP 00001280: POP 00001281: JUMP 00001282: JUMPDEST 00001283: PUSH1 0x20 00001285: DUP2 00001286: MSTORE 00001287: PUSH1 0x00 00001289: DUP3 0000128a: MLOAD 0000128b: DUP1 0000128c: PUSH1 0x20 0000128e: DUP5 0000128f: ADD 00001290: MSTORE 00001291: PUSH2 0x12a1 00001294: DUP2 00001295: PUSH1 0x40 00001297: DUP6 00001298: ADD 00001299: PUSH1 0x20 0000129b: DUP8 0000129c: ADD 0000129d: PUSH2 0x1330 000012a0: JUMP 000012a1: JUMPDEST 000012a2: PUSH1 0x1f 000012a4: ADD 000012a5: PUSH1 0x1f 000012a7: NOT 000012a8: AND 000012a9: SWAP2 000012aa: SWAP1 000012ab: SWAP2 000012ac: ADD 000012ad: PUSH1 0x40 000012af: ADD 000012b0: SWAP3 000012b1: SWAP2 000012b2: POP 000012b3: POP 000012b4: JUMP 000012b5: JUMPDEST 000012b6: PUSH1 0x20 000012b8: DUP1 000012b9: DUP3 000012ba: MSTORE 000012bb: PUSH1 0x26 000012bd: SWAP1 000012be: DUP3 000012bf: ADD 000012c0: MSTORE 000012c1: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061 000012e2: PUSH1 0x40 000012e4: DUP3 000012e5: ADD 000012e6: MSTORE 000012e7: PUSH6 0x646472657373 000012ee: PUSH1 0xd0 000012f0: SHL 000012f1: PUSH1 0x60 000012f3: DUP3 000012f4: ADD 000012f5: MSTORE 000012f6: PUSH1 0x80 000012f8: ADD 000012f9: SWAP1 000012fa: JUMP 000012fb: JUMPDEST 000012fc: PUSH1 0x20 000012fe: DUP1 000012ff: DUP3 00001300: MSTORE 00001301: DUP2 00001302: DUP2 00001303: ADD 00001304: MSTORE 00001305: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00001326: PUSH1 0x40 00001328: DUP3 00001329: ADD 0000132a: MSTORE 0000132b: PUSH1 0x60 0000132d: ADD 0000132e: SWAP1 0000132f: JUMP 00001330: JUMPDEST 00001331: PUSH1 0x00 00001333: JUMPDEST 00001334: DUP4 00001335: DUP2 00001336: LT 00001337: ISZERO 00001338: PUSH2 0x134b 0000133b: JUMPI 0000133c: DUP2 0000133d: DUP2 0000133e: ADD 0000133f: MLOAD 00001340: DUP4 00001341: DUP3 00001342: ADD 00001343: MSTORE 00001344: PUSH1 0x20 00001346: ADD 00001347: PUSH2 0x1333 0000134a: JUMP 0000134b: JUMPDEST 0000134c: DUP4 0000134d: DUP2 0000134e: GT 0000134f: ISZERO 00001350: PUSH2 0x135a 00001353: JUMPI 00001354: PUSH1 0x00 00001356: DUP5 00001357: DUP5 00001358: ADD 00001359: MSTORE 0000135a: JUMPDEST 0000135b: POP 0000135c: POP 0000135d: POP 0000135e: POP 0000135f: JUMP 00001360: JUMPDEST 00001361: PUSH4 0x4e487b71 00001366: PUSH1 0xe0 00001368: SHL 00001369: PUSH1 0x00 0000136b: MSTORE 0000136c: PUSH1 0x41 0000136e: PUSH1 0x04 00001370: MSTORE 00001371: PUSH1 0x24 00001373: PUSH1 0x00 00001375: REVERT 00001376: JUMPDEST 00001377: DUP1 00001378: ISZERO 00001379: ISZERO 0000137a: DUP2 0000137b: EQ 0000137c: PUSH2 0x09b3 0000137f: JUMPI 00001380: PUSH1 0x00 00001382: DUP1 00001383: REVERT 00001384: INVALID 00001385: LOG2 00001386: PUSH5 0x6970667358 0000138c: UNKNOWN(0x22) 0000138d: SLT 0000138e: KECCAK256 0000138f: CREATE2 00001390: PUSH32 0xf2e7b120ba8d6634363682106b49b0a7f4a7466cf756430b9567c939abd26473 000013b1: PUSH16
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | no | no |
viewtrace_id: 0x809bebf73453ccd91b383ae2670314f406f8ebd9d587a5b19849579988187ef0
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 192,
"trace_id": "0x809bebf73453ccd91b383ae2670314f406f8ebd9d587a5b19849579988187ef0",
"confirmed": false,
"trace_mode": "callTracer",
"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": "0x95ccea67",
"selector": "0x95ccea67",
"calldata_variants": [
"0x95ccea67",
"0x95ccea670000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9870d7fe",
"selector": "0x9870d7fe",
"calldata_variants": [
"0x9870d7fe",
"0x9870d7fe0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa8c62e76",
"selector": "0xa8c62e76",
"calldata_variants": [
"0xa8c62e76",
"0xa8c62e760000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcb38f407",
"selector": "0xcb38f407",
"calldata_variants": [
"0xcb38f407",
"0xcb38f4070000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe30c3978",
"selector": "0xe30c3978",
"calldata_variants": [
"0xe30c3978",
"0xe30c39780000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x710bf322",
"selector": "0x710bf322",
"calldata_variants": [
"0x710bf322",
"0x710bf3220000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x78a19f7a",
"selector": "0x78a19f7a",
"calldata_variants": [
"0x78a19f7a",
"0x78a19f7a0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1388,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [],
"delegatecall_count": 1,
"untrusted_delegatecall_count": 1
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xc2a69440e3a8b7db3b66a7712e694684f3069c0d5300c60b72e3bfeab872f3f5
call_targets:
0x0376a35639dac611c49327426db9b342cdb553b8
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xc2a69440e3a8b7db3b66a7712e694684f3069c0d5300c60b72e3bfeab872f3f5",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x0376a35639dac611c49327426db9b342cdb553b8"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x95ccea67",
"selector": "0x95ccea67",
"calldata_variants": [
"0x95ccea67",
"0x95ccea670000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9870d7fe",
"selector": "0x9870d7fe",
"calldata_variants": [
"0x9870d7fe",
"0x9870d7fe0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa8c62e76",
"selector": "0xa8c62e76",
"calldata_variants": [
"0xa8c62e76",
"0xa8c62e760000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcb38f407",
"selector": "0xcb38f407",
"calldata_variants": [
"0xcb38f407",
"0xcb38f4070000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe30c3978",
"selector": "0xe30c3978",
"calldata_variants": [
"0xe30c3978",
"0xe30c39780000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x710bf322",
"selector": "0x710bf322",
"calldata_variants": [
"0x710bf322",
"0x710bf3220000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x78a19f7a",
"selector": "0x78a19f7a",
"calldata_variants": [
"0x78a19f7a",
"0x78a19f7a0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2613,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4149,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 2,
"guards_detected": [],
"untrusted_call_count": 2
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xc2a69440e3a8b7db3b66a7712e694684f3069c0d5300c60b72e3bfeab872f3f5
call_targets:
0x0376a35639dac611c49327426db9b342cdb553b8
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xc2a69440e3a8b7db3b66a7712e694684f3069c0d5300c60b72e3bfeab872f3f5",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x0376a35639dac611c49327426db9b342cdb553b8"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x95ccea67",
"selector": "0x95ccea67",
"calldata_variants": [
"0x95ccea67",
"0x95ccea670000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9870d7fe",
"selector": "0x9870d7fe",
"calldata_variants": [
"0x9870d7fe",
"0x9870d7fe0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa8c62e76",
"selector": "0xa8c62e76",
"calldata_variants": [
"0xa8c62e76",
"0xa8c62e760000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcb38f407",
"selector": "0xcb38f407",
"calldata_variants": [
"0xcb38f407",
"0xcb38f4070000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe30c3978",
"selector": "0xe30c3978",
"calldata_variants": [
"0xe30c3978",
"0xe30c39780000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x710bf322",
"selector": "0x710bf322",
"calldata_variants": [
"0x710bf322",
"0x710bf3220000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x78a19f7a",
"selector": "0x78a19f7a",
"calldata_variants": [
"0x78a19f7a",
"0x78a19f7a0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2613,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4149,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": []
}
|
| high | access_control | codex | Owner can sweep arbitrary ETH/ERC20 balances to itself | 85 | no | — |
viewevidence_json{
"evidence": "Selector inference is best-effort, but selector 0x95ccea67 decodes as (address,uint256), performs an owner check, then for token==0 uses SELFBALANCE and CALL to the slot0 owner; for token!=0 it reads ERC20 balanceOf(address(this)) and executes an ERC20 transfer(a9059cbb) to the slot0 owner through the low-level helper. The two external send sites are the CALL at pc 0xa35 and the ERC20 low-level CALL at pc 0x1035. No additional asset-specific restriction is visible in the bytecode.",
"locations": [
"selector:0x95ccea67",
"selector:0x8da5cb5b",
"pc:0xa35",
"pc:0x1035"
],
"recommendation": "If this contract is meant to hold user funds, remove the unrestricted admin sweep or restrict it to clearly non-core rescue assets only. At minimum, gate it behind timelock/governance and explicitly exclude primary vault assets.",
"exploit_scenario": "If the owner key is compromised, or if users assume the vault is non-custodial, the owner can call the sweep-like entrypoint with a token address (or zero address for ETH) and amount 0/full to move the vault's entire balance to the owner address. That drains any assets currently custodied by this contract."
}
|
| high | upgradeability | codex | Strategy execution uses owner-controlled DELEGATECALL with full vault-storage authority | 85 | no | — |
viewevidence_json{
"evidence": "Unknown selectors fall through to the handler at pc 0x55e, which copies calldata and performs DELEGATECALL to the address stored in slot5. Before that, the fallback path performs a STATICCALL gate using selector 0x2306be91, but the registry/config address packed into slot4 is itself owner-writable. Owner-only mutators include selector 0x33a100ca (sets the delegate strategy after the gate) and selector 0x3e30838d / selector 0x485cc955 (update the packed slot4 config and strategy path). Artifact metadata says this is not an EIP-1967 proxy, so this delegate strategy path is the effective upgrade surface.",
"locations": [
"pc:0x56c",
"pc:0x187",
"selector:0x33a100ca",
"selector:0x3e30838d",
"selector:0x485cc955",
"selector:0xa8c62e76",
"selector:0x365a86fc"
],
"recommendation": "Treat the strategy path as an upgrade mechanism. Use immutable implementations or timelocked governance, make the registry immutable if it is intended as a safety gate, and prefer CALL over DELEGATECALL unless shared storage is strictly necessary. If DELEGATECALL must remain, reserve and validate storage layout and restrict forwarded selectors.",
"exploit_scenario": "A compromised owner, or a malicious strategy/registry approved by the owner, can make the vault DELEGATECALL attacker-controlled code. Because DELEGATECALL runs in the vault's storage context, that code can overwrite ownership/admin slots, change strategy pointers, and move funds held by the vault. Any external caller can then trigger the fallback path to execute the delegated logic."
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 1
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0xb5d3bef651bbea6df34d5f51cc72ebafc52ecca2e9448b7dabbc9d6e0a6a4e60
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0xb5d3bef651bbea6df34d5f51cc72ebafc52ecca2e9448b7dabbc9d6e0a6a4e60",
"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": "0x95ccea67",
"selector": "0x95ccea67",
"calldata_variants": [
"0x95ccea67",
"0x95ccea670000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9870d7fe",
"selector": "0x9870d7fe",
"calldata_variants": [
"0x9870d7fe",
"0x9870d7fe0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa8c62e76",
"selector": "0xa8c62e76",
"calldata_variants": [
"0xa8c62e76",
"0xa8c62e760000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcb38f407",
"selector": "0xcb38f407",
"calldata_variants": [
"0xcb38f407",
"0xcb38f4070000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe30c3978",
"selector": "0xe30c3978",
"calldata_variants": [
"0xe30c3978",
"0xe30c39780000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x710bf322",
"selector": "0x710bf322",
"calldata_variants": [
"0x710bf322",
"0x710bf3220000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x78a19f7a",
"selector": "0x78a19f7a",
"calldata_variants": [
"0x78a19f7a",
"0x78a19f7a0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 0,
"create2_count": 1
}
|
| low | other | cast | Contract creation opcode present | 60 | no | — |
viewevidence_json{
"notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
"create_count": 0,
"create2_count": 1
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 5
}
|