019b3836-21e4-7185-8734-88afaf7cdc4e
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 |
|---|---|---|---|---|
| 185 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 186 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 43347 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 43348 | capability.graph | complete | 1 / 3 | 1 week ago |
| 43349 | detector.run | complete | 1 / 3 | 1 week ago |
| 43350 | validation.fork | complete | 1 / 3 | 1 week ago |
| 77727 | report.consolidate | complete | 1 / 6 | 1 week ago |
No slither job recorded yet.
{"no_findings":false,"summary":"Runtime-bytecode review found three meaningful issues: a CREATE+SELFDESTRUCT metamorphic transition that is incompatible with current Ethereum mainnet semantics, unchecked low-level ETH sends during settlement, and an unbounded payout loop that can be gas-griefed. All conclusions are based on bytecode/artifact evidence and selector inference is best-effort.","findings":[{"severity":"high","category":"upgradeability","title":"CREATE plus SELFDESTRUCT phase transition is broken on Ethereum mainnet after EIP-6780","exploit_scenario":"A child contract appears to transition to a new phase by deploying a fresh contract and then SELFDESTRUCTing into it. The parent keeps interacting with stored child addresses later. On chain 1, SELFDESTRUCT no longer deletes code/storage for contracts created in prior transactions, so this pattern does not actually replace the old child. Funds may move, but callers can remain pointed at the stale contract while the freshly created contract is not the authoritative address, breaking the intended state-machine/upgrade flow.","recommendation":"Do not rely on metamorphic CREATE+SELFDESTRUCT replacement. Replace this with an explicit state machine or an explicit pointer update in parent storage, and design for post-EIP-6780 semantics where old code persists.","evidence":"At pc 3202 the bytecode assembles embedded init code and executes CREATE, then immediately SELFDESTRUCTs at pc 3390 to the newly created address. Separately, the parent stores and later reuses child addresses, with CALL sites at pcs 1662 and 2019 against computed stored targets. This strongly suggests a replacement-by-destruction pattern that is unsafe under current mainnet semantics.","locations":["pc:3202","pc:3390","pc:1662","pc:2019"]},{"severity":"medium","category":"other","title":"Unchecked low-level ETH calls can silently skip payouts","exploit_scenario":"During settlement, a recipient contract can revert or exhaust gas when receiving ETH. Because the low-level CALL result is not checked, execution continues and later logic can still finalize/selfdestruct, leaving failed payouts unpaid and potentially forwarding leftover ETH to the final beneficiary instead of the intended recipients.","recommendation":"Check the boolean result of every low-level CALL that transfers value, and revert or record explicit debt on failure. Prefer pull-payment accounting over best-effort push loops.","evidence":"Detector artifacts report CALL sites with returndata check unknown/null, and the loop call at pc 4899 clearly has its return value popped without a conditional revert. Earlier value-bearing CALLs at pcs 1306, 1662, and 2019 are also flagged. The settlement path reaches SELFDESTRUCT at pc 4692 after the loop, so failed sends need not halt finalization.","locations":["pc:1306","pc:1662","pc:2019","pc:4899","pc:4692"]},{"severity":"medium","category":"other","title":"Unbounded payout loop allows gas-based denial of service","exploit_scenario":"Any actor able to add many small entries can inflate the settlement array until finalization exceeds the block gas limit. Once that happens, refunds/payouts cannot complete and funds remain stuck behind a loop that must iterate over every stored entry.","recommendation":"Avoid iterating over an unbounded participant set in a single transaction. Use per-user withdrawals, batched processing with progress storage, or a merkle/claim-based settlement design.","evidence":"The payable path appends entries to a dynamic array-like structure: length is read/written around pcs 4342 and 4355, entry fields are stored through the keccak-derived region around pcs 4462 and 4684, and a running total is updated around pcs 4572 and 4677. Finalization then loops from index 0 over that stored array and performs one CALL per entry at pc 4899 (loop region pcs 4755-4918). Because entry creation is reachable from a value-receiving path starting at pc 4296, the participant set appears unbounded.","locations":["pc:4296","pc:4342","pc:4355","pc:4755","pc:4899"]}]}
OpenAI Codex v0.118.0 (research preview)
--------
workdir: /tmp/codex-6r9pfc5f
model: gpt-5.4
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: none
session id: 019d5a6e-05b8-7bb2-93ca-1fc69321aa89
--------
user
You are a security auditor. You ONLY have runtime bytecode + analysis artifacts.
You MUST read `BYTECODE_BUNDLE.json` before concluding; it contains the bytecode summary,
evidence bundle, callsites, storage slots, and detector findings.
Special cases when reasoning from bytecode (be explicit about uncertainty):
- Selector inference is best-effort; missing selectors are common.
- Fallback/receive paths may be the only entrypoints.
- CALL vs DELEGATECALL semantics differ; DELEGATECALL executes in caller storage.
- Proxy patterns (EIP-1967, minimal proxies, beacon) change which storage is authoritative.
- Storage slots are raw; mappings/arrays appear via keccak patterns, names are unknown.
- Guard detection is heuristic; absence of guards does NOT mean unguarded.
- Returndata checking is unknown unless explicitly shown in evidence.
- Precompiles (0x1..0x9) and common ERC20 transfer selectors may appear; do not over-claim.
Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title.
- Locations can be pc references like "pc:0x123" or selectors like "selector:0xa9059cbb".
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation,
accounting/invariant breaks, dangerous delegatecall, and untrusted external calls.
Be conservative: if evidence is weak, mark severity low/medium and explain why.
warning: Codex could not find system bubblewrap on PATH. Please install bubblewrap with your package manager. Codex will use the vendored bubblewrap in the meantime.
exec
/bin/bash -lc pwd in /tmp/codex-6r9pfc5f
exec
/bin/bash -lc 'rg --files' in /tmp/codex-6r9pfc5f
succeeded in 0ms:
/tmp/codex-6r9pfc5f
succeeded in 0ms:
codex-output-schema.json
BYTECODE_BUNDLE.json
exec
/bin/bash -lc "sed -n '1,260p' BYTECODE_BUNDLE.json" in /tmp/codex-6r9pfc5f
succeeded in 0ms:
{
"analysis_artifact": {
"address": "0x17c7d136bdfc4371f989076bb3842be2e73c3ec1",
"artifact_hash": "0x6bdf24e4de1559e7bc986416059075d26e1f81f587b79b2b8444da2cc8bd120c",
"artifact_json": {
"auth": {
"guards": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
},
"basic_blocks": [
{
"end_pc": 10,
"hash": "0xeb36d635105070c592a06f8ee75f07cb36f3625550320ea59224c6290dc23dd3",
"opcodes": [
"PUSH1",
"PUSH1",
"MSTORE",
"CALLDATASIZE",
"ISZERO",
"PUSH2",
"JUMPI"
],
"start_pc": 0
},
{
"end_pc": 56,
"hash": "0xdf080301e4a663a7de47eb786f5d4ec69de96b4120591a44fc1566c4832ad462",
"opcodes": [
"PUSH1",
"CALLDATALOAD",
"PUSH29",
"OP_90",
"DIV",
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 11
},
{
"end_pc": 67,
"hash": "0x253964c7ff37b4c835b715c28eae0289aa20930027239e9b4071c2b59fc7194c",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 57
},
{
"end_pc": 78,
"hash": "0xf8ba32f72b5936df9df36a336b0d1c12beabea6d28e2957103323893264fe96e",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 68
},
{
"end_pc": 89,
"hash": "0x071a3dc7e7b3e755284af47b3683cdfc44840253970ed2232cd93e324fb26e3f",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 79
},
{
"end_pc": 100,
"hash": "0x43049cbf7e7559253e9c69e63aa22ce50d2ae2a50de14565f6406b483639c1e9",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 90
},
{
"end_pc": 111,
"hash": "0xf5f1452f457c8bd3613d4aea34e1c28e889a42178a456b68ffc44c81543b4c33",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 101
},
{
"end_pc": 122,
"hash": "0x8083f7e3fd0e3f4725d06a239a4454cbdae833b0e2d65dc93f082c732166a544",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 112
},
{
"end_pc": 133,
"hash": "0x82ea2f200fc944ef2621fc15d73603720d0ff32230796790b2dfcf1d2f4d864a",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 123
},
{
"end_pc": 137,
"hash": "0xc2c450f705b854c7554b209656729b33bbd7a67b22183587f0d4c039edc3cdf3",
"opcodes": [
"PUSH2",
"JUMP"
],
"start_pc": 134
},
{
"end_pc": 139,
"hash": "0x5c781f981c1efa95ef5f07bbefcd4baa1aaa0e4304cc7a84b7519544d7b979be",
"opcodes": [
"JUMPDEST",
"PUSH2"
],
"start_pc": 138
},
{
"end_pc": 277,
"hash": "0x25d59afc57469c99d178742485244634f4a30c95b7483cee7d12234d254db2aa",
"opcodes": [
"JUMPDEST",
"PUSH1",
"PUSH1",
"PUSH1",
"POP",
"PUSH1",
"CALLER",
"PUSH20",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_90",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"PUSH1",
"SHA3",
"PUSH1",
"OP_90",
"SLOAD",
"OP_90",
"PUSH2",
"EXP",
"OP_90",
"DIV",
"PUSH20",
"AND",
"OP_90",
"POP",
"PUSH1",
"PUSH20",
"AND",
"OP_81",
"PUSH20",
"AND",
"EQ",
"ISZERO",
"ISZERO",
"PUSH2",
"JUMPI"
],
"start_pc": 142
},
{
"end_pc": 416,
"hash": "0x429a6949c052d36ea76d742e8b658eb8d9bafd2224778bd9ba1c2b2688ab1a70",
"opcodes": [
"CALLVALUE",
"PUSH1",
"PUSH1",
"POP",
"PUSH1",
"OP_83",
"PUSH20",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_90",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"PUSH1",
"SHA3",
"PUSH1",
"OP_82",
"OP_82",
"OP_82",
"POP",
"SLOAD",
"ADD",
"OP_92",
"POP",
"POP",
"OP_81",
"OP_90",
"SSTORE",
"POP",
"PUSH1",
"PUSH1",
"POP",
"PUSH1",
"CALLER",
exec
/bin/bash -lc "rg -n 'detector|delegatecall|DELEGATECALL|CALLCODE|SELFDESTRUCT|SSTORE|proxy|1967|beacon|selector|external_calls|reentr|upgrade|findings|callsites|storage_slots|evidence' BYTECODE_BUNDLE.json" in /tmp/codex-6r9pfc5f
succeeded in 0ms:
254: "SSTORE",
285: "SSTORE"
715: "SSTORE",
901: "SSTORE",
934: "SSTORE",
1380: "SELFDESTRUCT"
1468: "SSTORE",
1487: "SSTORE",
1495: "SSTORE",
1937: "SELFDESTRUCT"
2003: "SELFDESTRUCT"
2131: "SELFDESTRUCT"
2241: "SSTORE",
2260: "SSTORE",
2268: "SSTORE",
2276: "SSTORE",
2931: "SELFDESTRUCT"
3009: "SSTORE",
3080: "SSTORE",
3088: "SSTORE",
3172: "SSTORE",
3183: "SSTORE",
3201: "SSTORE",
3276: "SELFDESTRUCT"
3455: "callsites": [
3958: "dispatcher_type": "selector_jump_table",
3962: "selector": "0x27e235e3"
3966: "selector": "0x6a42b8f8"
3970: "selector": "0x9e39db73"
3974: "selector": "0xa34dbf91"
3978: "selector": "0xa7c1e629"
3982: "selector": "0xa9059cbb"
3986: "selector": "0xe2f15b95"
3990: "selector": "0xec03763d"
3994: "selector": "0x0fe65b36"
3998: "selector": "0x66d003ac"
4002: "selector": "0x86d1a69f"
4006: "selector": "0x8da5cb5b"
4010: "selector": "0xb91d4001"
4014: "selector": "0xea8a1af0"
4018: "selector": "0x119f8747"
4022: "selector": "0x29dcb0cf"
4026: "selector": "0x3c24b7d7"
4030: "selector": "0x552079dc"
4034: "selector": "0x702c35fb"
4038: "selector": "0xc9e7e29b"
4073: "selector": "0x27e235e3",
4076: "delegatecall": 0,
4219: "op": "SSTORE",
4293: "selector": "0x6a42b8f8",
4296: "delegatecall": 0,
4439: "op": "SSTORE",
4513: "selector": "0x9e39db73",
4516: "delegatecall": 0,
4659: "op": "SSTORE",
4733: "selector": "0xa34dbf91",
4736: "delegatecall": 0,
4879: "op": "SSTORE",
4953: "selector": "0xa7c1e629",
4956: "delegatecall": 0,
5099: "op": "SSTORE",
5173: "selector": "0xa9059cbb",
5176: "delegatecall": 0,
5319: "op": "SSTORE",
5393: "selector": "0xe2f15b95",
5396: "delegatecall": 0,
5539: "op": "SSTORE",
5613: "selector": "0xec03763d",
5616: "delegatecall": 0,
5759: "op": "SSTORE",
5833: "selector": "0x0fe65b36",
5836: "delegatecall": 0,
5979: "op": "SSTORE",
6053: "selector": "0x66d003ac",
6056: "delegatecall": 0,
6199: "op": "SSTORE",
6273: "selector": "0x86d1a69f",
6276: "delegatecall": 0,
6419: "op": "SSTORE",
6493: "selector": "0x8da5cb5b",
6496: "delegatecall": 0,
6639: "op": "SSTORE",
6713: "selector": "0xb91d4001",
6716: "delegatecall": 0,
6859: "op": "SSTORE",
6933: "selector": "0xea8a1af0",
6936: "delegatecall": 0,
7079: "op": "SSTORE",
7153: "selector": "0x119f8747",
7156: "delegatecall": 0,
7299: "op": "SSTORE",
7373: "selector": "0x29dcb0cf",
7376: "delegatecall": 0,
7519: "op": "SSTORE",
7593: "selector": "0x3c24b7d7",
7596: "delegatecall": 0,
7739: "op": "SSTORE",
7813: "selector": "0x552079dc",
7816: "delegatecall": 0,
7959: "op": "SSTORE",
8033: "selector": "0x702c35fb",
8036: "delegatecall": 0,
8179: "op": "SSTORE",
8253: "selector": "0xc9e7e29b",
8256: "delegatecall": 0,
8399: "op": "SSTORE",
8443: "selectors": [
8469: "delegatecall": 0,
8472: "upgrade_slot_write_suspected": false
8614: "op": "SSTORE",
8685: "is_proxy": false,
10466: "selector": "0x27e235e3",
10472: "selector": "0x6a42b8f8",
10478: "selector": "0x9e39db73",
10484: "selector": "0xa34dbf91",
10490: "selector": "0xa7c1e629",
10496: "selector": "0xa9059cbb",
10502: "selector": "0xe2f15b95",
10508: "selector": "0xec03763d",
10514: "selector": "0x0fe65b36",
10520: "selector": "0x66d003ac",
10526: "selector": "0x86d1a69f",
10532: "selector": "0x8da5cb5b",
10538: "selector": "0xb91d4001",
10544: "selector": "0xea8a1af0",
10550: "selector": "0x119f8747",
10556: "selector": "0x29dcb0cf",
10562: "selector": "0x3c24b7d7",
10568: "selector": "0x552079dc",
10574: "selector": "0x702c35fb",
10580: "selector": "0xc9e7e29b",
10590: "detector_findings": [
10593: "evidence_json": {
10671: "evidence_json": {
10749: "evidence_json": {
10780: "sink": "SELFDESTRUCT"
10783: "title": "SELFDESTRUCT reachable",
10792: "sink": "SELFDESTRUCT",
10801: "evidence_json": {
10828: "delegatecall_count": 0,
exec
/bin/bash -lc "sed -n '260,620p' BYTECODE_BUNDLE.json" in /tmp/codex-6r9pfc5f
succeeded in 0ms:
"CALLER",
"PUSH20",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_90",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"PUSH1",
"SHA3",
"PUSH1",
"PUSH2",
"EXP",
"OP_81",
"SLOAD",
"OP_90",
"PUSH20",
"MUL",
"NOT",
"AND",
"OP_90",
"SSTORE"
],
"start_pc": 278
},
{
"end_pc": 417,
"hash": "0xdae556f0e2362a8d407b78fd53a5cd98eb8d1003fadf166105088d072f001838",
"opcodes": [
"JUMPDEST"
],
"start_pc": 417
},
{
"end_pc": 420,
"hash": "0xb8684396c1f02deae44931150c16d6f1367581d9486073618cd4124ac9e8a8ae",
"opcodes": [
"JUMPDEST",
"POP",
"JUMP"
],
"start_pc": 418
},
{
"end_pc": 422,
"hash": "0x3f2721d7f8846b193bfceeb2e978c67682769e84492ddeafb45c71b70cbedbe0",
"opcodes": [
"JUMPDEST",
"STOP"
],
"start_pc": 421
},
{
"end_pc": 439,
"hash": "0xe653e6cdb6f53f626e6d991ea78439db0e2f864bfbba335ba6fa38f3fbbfa3c2",
"opcodes": [
"JUMPDEST",
"PUSH2",
"PUSH1",
"OP_80",
"CALLDATALOAD",
"OP_90",
"PUSH1",
"ADD",
"POP",
"PUSH2",
"JUMP"
],
"start_pc": 423
},
{
"end_pc": 461,
"hash": "0x480c4e3ba7050112c32ba0180ad850d61de9f671ae4b07d3478f6d7c217711f2",
"opcodes": [
"JUMPDEST",
"PUSH1",
"MLOAD",
"OP_80",
"OP_82",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_91",
"POP",
"POP",
"PUSH1",
"MLOAD",
"OP_80",
"OP_91",
"SUB",
"OP_90",
"RETURN"
],
"start_pc": 440
},
{
"end_pc": 472,
"hash": "0x6e9cbb6d1214c98ff4d675231ece764298981e6717a555de43dfad457bcfb520",
"opcodes": [
"JUMPDEST",
"PUSH2",
"PUSH1",
"POP",
"PUSH2",
"JUMP"
],
"start_pc": 462
},
{
"end_pc": 494,
"hash": "0x863c3026a9eea3638aa4f9b1970e4d0617ceef7db444beaf43c337cb51425638",
"opcodes": [
"JUMPDEST",
"PUSH1",
"MLOAD",
"OP_80",
"OP_82",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_91",
"POP",
"POP",
"PUSH1",
"MLOAD",
"OP_80",
"OP_91",
"SUB",
"OP_90",
"RETURN"
],
"start_pc": 473
},
{
"end_pc": 511,
"hash": "0x65a4678f2c4642a1e2da8cc5fa20dff7c0458118b84eaeb9f9b051c142a301f9",
"opcodes": [
"JUMPDEST",
"PUSH2",
"PUSH1",
"OP_80",
"CALLDATALOAD",
"OP_90",
"PUSH1",
"ADD",
"POP",
"PUSH2",
"JUMP"
],
"start_pc": 495
},
{
"end_pc": 513,
"hash": "0xbcfba9bed0e9a98b12f095c9879a060d80d1f7ab4e4e8c96a86665603147850f",
"opcodes": [
"JUMPDEST",
"STOP"
],
"start_pc": 512
},
{
"end_pc": 530,
"hash": "0x643a6608fb041d4458ce91e429159bf5c476c2abc32fcc237dda48c93b791e88",
"opcodes": [
"JUMPDEST",
"PUSH2",
"PUSH1",
"OP_80",
"CALLDATALOAD",
"OP_90",
"PUSH1",
"ADD",
"POP",
"PUSH2",
"JUMP"
],
"start_pc": 514
},
{
"end_pc": 574,
"hash": "0xf0b3b5ad6600c4e3145d278adde8303cdf43c13d07b79ff079e8a130df086839",
"opcodes": [
"JUMPDEST",
"PUSH1",
"MLOAD",
"OP_80",
"OP_82",
"PUSH20",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_91",
"POP",
"POP",
"PUSH1",
"MLOAD",
"OP_80",
"OP_91",
"SUB",
"OP_90",
"RETURN"
],
"start_pc": 531
},
{
"end_pc": 591,
"hash": "0xa93a3ede6141c93e02829a8a936cbf7abeb3d7b51a25413c802218a0efcacedd",
"opcodes": [
"JUMPDEST",
"PUSH2",
"PUSH1",
"OP_80",
"CALLDATALOAD",
"OP_90",
"PUSH1",
"ADD",
"POP",
"PUSH2",
"JUMP"
],
"start_pc": 575
},
{
"end_pc": 593,
"hash": "0x7981999de13ba8783925a1bef1eead9bef6523c92fb6bdefa6e29368658b114e",
"opcodes": [
"JUMPDEST",
"STOP"
],
"start_pc": 592
},
{
"end_pc": 616,
"hash": "0x3710a5df82ca887572ed55488a5249d7d8088fc07fac14af2ae4b590855b0c2c",
"opcodes": [
"JUMPDEST",
"PUSH2",
"PUSH1",
"OP_80",
"CALLDATALOAD",
"OP_90",
"PUSH1",
"ADD",
"OP_80",
"CALLDATALOAD",
"OP_90",
"PUSH1",
"ADD",
"POP",
"PUSH2",
"JUMP"
],
"start_pc": 594
},
{
"end_pc": 660,
"hash": "0x552ace85d95710006d374bfeb344223fb05231fcaecb615e76c6271f45fdcd11",
"opcodes": [
"JUMPDEST",
"PUSH1",
"MLOAD",
"OP_80",
"OP_82",
"PUSH20",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_91",
"POP",
"POP",
"PUSH1",
"MLOAD",
"OP_80",
"OP_91",
"SUB",
"OP_90",
"RETURN"
],
"start_pc": 617
},
{
"end_pc": 671,
"hash": "0x2e5d34efdc8559d7d1c73765f12b77c2d7f265003396ce6e64cfc6bd2d027f87",
"opcodes": [
"JUMPDEST",
"PUSH2",
"PUSH1",
"POP",
"PUSH2",
"JUMP"
],
"start_pc": 661
},
{
"end_pc": 673,
"hash": "0xc1c8172f84e2498377502279d7be0ec8d51c85d5ac914581497eb87b1ae31504",
"opcodes": [
"JUMPDEST",
"STOP"
],
"start_pc": 672
},
{
"end_pc": 696,
"hash": "0x35e12fd61fdef5804709597b5e2e62a62b4818c86c0f8d1d7a0ef95bae98250b",
"opcodes": [
"JUMPDEST",
"PUSH2",
"PUSH1",
"OP_80",
"CALLDATALOAD",
"OP_90",
"PUSH1",
"ADD",
"OP_80",
"CALLDATALOAD",
"OP_90",
"PUSH1",
"ADD",
"POP",
"PUSH2",
"JUMP"
],
"start_pc": 674
},
{
"end_pc": 698,
"hash": "0x4ec883db2adacec51c6e637846c397d0983dbc28c7af45cfdb6f66abbb8b7c5f",
"opcodes": [
"JUMPDEST",
"STOP"
],
"start_pc": 697
},
{
"end_pc": 707,
"hash": "0xd73f9e35ef562e686f7844e4c8f401fb83a5a018d482ee6129e948a9bf040a03",
"opcodes": [
"JUMPDEST",
"PUSH1",
"PUSH1",
"POP",
"SLOAD",
"OP_81",
"JUMP"
],
"start_pc": 699
},
{
"end_pc": 734,
"hash": "0xbba851f1c6c51d6b024c93f9649a8d2b5fedadd3a66673d7de50ca1ec7c6d712",
exec
/bin/bash -lc "sed -n '3920,4105p' BYTECODE_BUNDLE.json" in /tmp/codex-6r9pfc5f
succeeded in 0ms:
},
{
"from": "bb:4751",
"to": "bb:4752",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4752",
"to": "bb:4753",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4755",
"to": "bb:4764",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4764",
"to": "bb:4778",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4778",
"to": "bb:4793",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4793",
"to": "bb:4906",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4919",
"to": "bb:4920",
"type": "control_flow_fallthrough"
}
],
"cfg_hash": "0xb650f0c736a0c551be8cb0eb1dad6419707b2d5643aa7786c21a39b988b813bc",
"dispatcher_type": "selector_jump_table",
"function_entries": [
{
"entry_pc": 1782757624,
"selector": "0x27e235e3"
},
{
"entry_pc": 2654591859,
"selector": "0x6a42b8f8"
},
{
"entry_pc": 2739781521,
"selector": "0x9e39db73"
},
{
"entry_pc": 2814502441,
"selector": "0xa34dbf91"
},
{
"entry_pc": 2835717307,
"selector": "0xa7c1e629"
},
{
"entry_pc": 3807468437,
"selector": "0xa9059cbb"
},
{
"entry_pc": 3959649853,
"selector": "0xe2f15b95"
},
{
"entry_pc": null,
"selector": "0xec03763d"
},
{
"entry_pc": 1724908460,
"selector": "0x0fe65b36"
},
{
"entry_pc": 2261886623,
"selector": "0x66d003ac"
},
{
"entry_pc": 2376452955,
"selector": "0x86d1a69f"
},
{
"entry_pc": 3105701889,
"selector": "0x8da5cb5b"
},
{
"entry_pc": 3934919408,
"selector": "0xb91d4001"
},
{
"entry_pc": null,
"selector": "0xea8a1af0"
},
{
"entry_pc": 702329039,
"selector": "0x119f8747"
},
{
"entry_pc": 1009039319,
"selector": "0x29dcb0cf"
},
{
"entry_pc": 1428191708,
"selector": "0x3c24b7d7"
},
{
"entry_pc": 1724908460,
"selector": "0x552079dc"
},
{
"entry_pc": 2261886623,
"selector": "0x702c35fb"
},
{
"entry_pc": null,
"selector": "0xc9e7e29b"
}
],
"functions": [
{
"auth": {
"guards": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
},
"entry_pc": 1782757624,
"selector": "0x27e235e3",
"sinks": {
"call": 4,
"delegatecall": 0,
"selfdestruct": 6,
"staticcall": 0
},
"storage": {
"reads": 51,
"slots": [
{
"op": "SLOAD",
"pc": 192,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 705,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 732,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 1021,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 1487,
exec
/bin/bash -lc "sed -n '8440,8705p' BYTECODE_BUNDLE.json" in /tmp/codex-6r9pfc5f
succeeded in 0ms:
}
}
],
"selectors": [
"0x27e235e3",
"0x6a42b8f8",
"0x9e39db73",
"0xa34dbf91",
"0xa7c1e629",
"0xa9059cbb",
"0xe2f15b95",
"0xec03763d",
"0x0fe65b36",
"0x66d003ac",
"0x86d1a69f",
"0x8da5cb5b",
"0xb91d4001",
"0xea8a1af0",
"0x119f8747",
"0x29dcb0cf",
"0x3c24b7d7",
"0x552079dc",
"0x702c35fb",
"0xc9e7e29b"
],
"sinks": {
"call": 4,
"create": 2,
"create2": 0,
"delegatecall": 0,
"selfdestruct": 6,
"staticcall": 0,
"upgrade_slot_write_suspected": false
},
"storage": {
"keccak_count": 15,
"reads": 51,
"slots": [
{
"op": "SLOAD",
"pc": 192,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 705,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 732,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 1021,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 1487,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1836,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2153,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2239,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2806,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2844,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2882,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 2891,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 2905,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2967,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 3053,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 3121,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 3211,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 4029,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 4067,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 4105,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 4114,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 4125,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 4160,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 4209,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 4218,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 4240,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 4342,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SSTORE",
"pc": 4355,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 4572,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 4671,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 4677,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 4698,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 4770,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 4785,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
},
{
"op": "SLOAD",
"pc": 4819,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
"writes": 18
},
"version": "analysis_artifact_v1"
},
"block_number": null,
"chain_id": 1,
"codehash": "0x1a4d9b7daf8cd5f3dc8e548f253d4b7cc08119cab044bfd294e2ffea0240a75d",
"created_at": "2026-04-04T19:45:05.000000Z",
"id": 1498,
"updated_at": "2026-04-04T19:45:05.000000Z",
"version": "analysis_artifact_v1"
},
"analysis_run": {
"address": "0x17c7d136bdfc4371f989076bb3842be2e73c3ec1",
"block_number": null,
"chain_id": 1,
"child_links": [],
"created_at": "2025-12-19T20:03:50.000000Z",
"id": "019b3836-21e4-7185-8734-88afaf7cdc4e",
"parent_links": [],
"status": "running",
"updated_at": "2026-04-04T19:45:05.000000Z"
},
"artifact": {
"codehash": "0x1a4d9b7daf8cd5f3dc8e548f253d4b7cc08119cab044bfd294e2ffea0240a75d",
"compiler_json": {
"etherscan": {
"skipped": true
}
},
"implementation_address": null,
"is_proxy": false,
"runtime_bytecode": {
"full": "0x6060604052361561008a576000357c01000000000000000000000000000000000000000000000000000000009004806327e235e3146101a75780636a42b8f8146101ce5780639e39db73146101ef578063a34dbf9114610202578063a7c1e6291461023f578063a9059cbb14610252578063e2f15b9514610295578063ec03763d146102a25761008a565b6101a55b6000600360005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415156101a15734600260005060008373ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082828250540192505081905550600360005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b5b50565b005b6101b86004803590602001506102c4565b6040518082815260200191505060405180910390f35b6101d96004506102bb565b6040518082815260200191505060405180910390f35b610200600480359060200150610317565b005b6102136004803590602001506102df565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61025060048035906020015061059b565b005b6102696004803590602001803590602001506103ac565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102a0600450610863565b005b6102b96004803590602001803590602001506106f8565b005b60016000505481565b60026000506020528060005260406000206000915090505481565b600360005060205280600052604060002060009150909054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b34600260005060008373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828282505401925050819055507febfcf7c0a1b09f6499e519a8d8bb85ce33cd539ec6cbd964e116cd74943ead1a8134604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b50565b60006000600033915083600260005060008473ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000505410156103f55760009250610593565b30856001600050544201604051610a44806108f8833901808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051809103906000f0905081600360005060008373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff0219169083021790555083600260005060008473ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828282505403925050819055508073ffffffffffffffffffffffffffffffffffffffff16600085604051809050600060405180830381858888f19350505050507f16aa0b27bbcb9be16ed094e558def4db9abff21c0ab71299cd157f1259dc954d8282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1809250610593565b505092915050565b60006000600360005060008473ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156106f2578290508073ffffffffffffffffffffffffffffffffffffffff1663ea8a1af0604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506000604051808303816000876161da5a03f115610002575050507f389b49de8bb6d1c22491c9b3cecd19807bfba501e0d966b91f877fb3e0eef5928282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a15b5b505050565b60006000600360005060008573ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561085c578390508073ffffffffffffffffffffffffffffffffffffffff16630fe65b3684604051827c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506020604051808303816000876161da5a03f1156100025750505060405151507fcc8c60ddb14c9f7aecf45ea528d3ffe461f814df00afc8bccdc6c3616f04fd498282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a15b5b50505050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156108f457600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b5b56006060604052604051606080610a448339016040526060805190602001805190602001805190602001505b82600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff0219169083021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff02191690830217905550806002600050819055505b5050506109a88061009c6000396000f30060606040523615610074576000357c0100000000000000000000000000000000000000000000000000000000900480630fe65b361461007657806366d003ac146100b357806386d1a69f146100ea5780638da5cb5b146100f7578063b91d40011461012e578063ea8a1af01461014f57610074565b005b610087600480359060200150610291565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100be600450610182565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100f56004506101b1565b005b61010260045061015c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101396004506101a8565b6040518082815260200191505060405180910390f35b61015a6004506101fd565b005b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026000505481565b600260005054421015156101fa57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b5b565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561028e57600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b5b565b600060006000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103b25760009150600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16823073ffffffffffffffffffffffffffffffffffffffff1631866040516105ed806103bb833901808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001945050505050604051809103906000f090508073ffffffffffffffffffffffffffffffffffffffff16ff8092506103b3565b5b5050919050560060606040526040516080806105ed8339016040526060805190602001805190602001805190602001805190602001505b83600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff0219169083021790555082600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff0219169083021790555081600260005081905550806003600050819055505b50505050610540806100ad6000396000f3006060604052361561008a576000357c010000000000000000000000000000000000000000000000000000000090048063119f87471461008c57806329dcb0cf146100995780633c24b7d7146100ba578063552079dc146100fe57806366d003ac14610135578063702c35fb1461016c57806386d1a69f1461018d578063c9e7e29b1461019a5761008a565b005b6100976004506102cc565b005b6100a4600450610210565b6040518082815260200191505060405180910390f35b6100cb600480359060200150610219565b604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b6101096004506101bb565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101406004506101e1565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61017760045061026f565b6040518082815260200191505060405180910390f35b610198600450610278565b005b6101a5600450610207565b6040518082815260200191505060405180910390f35b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026000505481565b60036000505481565b60046000508181548110156100025790600052602060002090600202016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160005054905082565b60056000505481565b600360005054421015156102c95761028e610497565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b5b565b60003411156104945760406040519081016040528033815260200134815260200150600460005060046000508054809190600101909081548183558181151161037857600202816002028360005260206000209182019101610377919061032e565b808211156103735760006000820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560018201600050600090555060010161032e565b5090565b5b505050815481101561000257906000526020600020906002020160005060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff02191690830217905550602082015181600101600050559050503460056000828282505401925050819055507f8fc4de83eddb2e6be67e269b8bfdc735778c7339168d5f734290f474f5647e143334604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a160026000505460056000505410151561049357610458610497565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b5b5b565b60006000600091505b60046000505482101561053b57600460005082815481101561000257906000526020600020906002020160005090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660008260010160005054604051809050600060405180830381858888f19350505050505b81806001019250506104a0565b5b505056",
"head": null,
"length": 9850,
"tail": null,
"truncated": false
},
"verified_source": false
},
"capability_graph": {
"address": "0x17c7d136bdfc4371f989076bb3842be2e73c3ec1",
"block_number": null,
"chain_id": 1,
"codehash": "0x1a4d9b7daf8cd5f3dc8e548f253d4b7cc08119cab044bfd294e2ffea0240a75d",
"created_at": "2026-04-04T19:45:06.000000Z",
"graph_hash": "0x7bb551c2e790f0e3e20b9ba91d4c23f21193b96e4c4a5cf1f12e720eef1e8bdb",
"graph_json": {
"edges": [
{
"from": "bb:0",
exec
/bin/bash -lc "sed -n '10580,10870p' BYTECODE_BUNDLE.json" in /tmp/codex-6r9pfc5f
succeeded in 0ms:
"selector": "0xc9e7e29b",
"type": "function"
}
],
"version": "capability_graph_v1"
},
"id": 1498,
"updated_at": "2026-04-04T19:45:06.000000Z",
"version": "capability_graph_v1"
},
"detector_findings": [
{
"confidence": 45,
"evidence_json": {
"call_count": 4,
"examples": [
{
"opcode": "CALL",
"pc": 1306,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 1662,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 2019,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
}
],
"guards_detected": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 4
},
"normalized_json": {
"sink": "CALL"
},
"severity": "medium",
"title": "Untrusted CALL target/value reachable",
"validated": false,
"validation_json": {
"attempts": 1,
"call_targets": [
"0x17c7d136bdfc4371f989076bb3842be2e73c3ec1"
],
"classification": "constant_target",
"confirmed": false,
"errors": 0,
"matched_probe": null,
"sink": "CALL",
"status": "sink_reached",
"target_varies": false,
"trace_id": "0x8eb479756416415812e9bc6dd81c2f1f0cef9fa9c36a21e92b85fb0c8e71a22c",
"trace_mode": "callTracer"
}
},
{
"confidence": 40,
"evidence_json": {
"eth_value_calls": 4,
"examples": [
{
"opcode": "CALL",
"pc": 1306,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 1662,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 2019,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
}
],
"guards_detected": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
},
"normalized_json": {
"sink": "CALL",
"value": "nonzero"
},
"severity": "medium",
"title": "ETH value transfer possible",
"validated": false,
"validation_json": {
"attempts": 1,
"call_targets": [
"0x17c7d136bdfc4371f989076bb3842be2e73c3ec1"
],
"classification": "constant_target",
"confirmed": false,
"errors": 0,
"matched_probe": null,
"sink": "CALL",
"status": "sink_reached",
"target_varies": false,
"trace_id": "0x8eb479756416415812e9bc6dd81c2f1f0cef9fa9c36a21e92b85fb0c8e71a22c",
"trace_mode": "callTracer"
}
},
{
"confidence": 45,
"evidence_json": {
"guards_detected": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"selfdestruct_count": 6
},
"normalized_json": {
"sink": "SELFDESTRUCT"
},
"severity": "medium",
"title": "SELFDESTRUCT reachable",
"validated": false,
"validation_json": {
"attempts": 32,
"call_targets": null,
"classification": "no_sink",
"confirmed": false,
"errors": 0,
"matched_probe": null,
"sink": "SELFDESTRUCT",
"status": "unknown",
"target_varies": null,
"trace_id": "0x086c8302485f2d38ef25bd4b32dffde7fc073df2e64a3dc3e59a473af9d351e1",
"trace_mode": "structLogs"
}
},
{
"confidence": 45,
"evidence_json": {
"create2_count": 0,
"create_count": 2
},
"normalized_json": {
"sink": "CREATE"
},
"severity": "medium",
"title": "CREATE/CREATE2 reachable",
"validated": true,
"validation_json": {
"attempts": 11,
"call_targets": null,
"classification": "sink_reached",
"confirmed": true,
"errors": 0,
"matched_probe": null,
"sink": "CREATE",
"status": "confirmed",
"target_varies": null,
"trace_id": "0x995f532ca41bae33b7ca4100e6d140323f78639e5dc1ce0a2155e0822c87f465",
"trace_mode": "structLogs"
}
}
],
"heuristics_summary": {
"create2_count": 0,
"delegatecall_count": 0,
"flags": [
"selfdestruct_present",
"create_opcodes_present"
],
"selfdestruct_count": 6
}
}
exec
/bin/bash -lc "sed -n '3455,3555p' BYTECODE_BUNDLE.json" in /tmp/codex-6r9pfc5f
succeeded in 0ms:
"callsites": [
{
"opcode": "CALL",
"pc": 1306,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 1662,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 2019,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 4899,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
}
],
"cfg_edges": [
{
"from": "bb:0",
"to": "bb:138",
"type": "control_flow"
},
{
"from": "bb:0",
"to": "bb:11",
"type": "control_flow_fallthrough"
},
{
"from": "bb:11",
"to": "bb:423",
"type": "control_flow"
},
{
"from": "bb:11",
"to": "bb:57",
"type": "control_flow_fallthrough"
},
{
"from": "bb:57",
"to": "bb:462",
"type": "control_flow"
},
{
"from": "bb:57",
"to": "bb:68",
"type": "control_flow_fallthrough"
},
{
"from": "bb:68",
"to": "bb:495",
"type": "control_flow"
},
{
"from": "bb:68",
"to": "bb:79",
"type": "control_flow_fallthrough"
},
{
"from": "bb:79",
"to": "bb:514",
"type": "control_flow"
},
{
"from": "bb:79",
"to": "bb:90",
"type": "control_flow_fallthrough"
},
{
"from": "bb:90",
"to": "bb:575",
"type": "control_flow"
},
{
"from": "bb:90",
"to": "bb:101",
"type": "control_flow_fallthrough"
},
{
"from": "bb:101",
"to": "bb:594",
"type": "control_flow"
},
{
"from": "bb:101",
"to": "bb:112",
"type": "control_flow_fallthrough"
},
exec
/bin/bash -lc "sed -n '1240,1335p' BYTECODE_BUNDLE.json" in /tmp/codex-6r9pfc5f
succeeded in 0ms:
"ADD",
"OP_80",
"OP_82",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_91",
"POP",
"POP",
"PUSH1",
"PUSH1",
"MLOAD",
"OP_80",
"OP_83",
"SUB",
"OP_81",
"PUSH1",
"OP_87",
"PUSH2",
"GAS",
"SUB",
"CALL",
"ISZERO",
"PUSH2",
"JUMPI"
],
"start_pc": 1920
},
{
"end_pc": 2139,
"hash": "0x67b44c2fbcb50555044255b212d931c700082d2a64548b3629215df77f295a3e",
"opcodes": [
"POP",
"POP",
"POP",
"PUSH1",
"MLOAD",
"MLOAD",
"POP",
"PUSH32",
"OP_82",
"OP_82",
"PUSH1",
"MLOAD",
"OP_80",
"OP_83",
"PUSH20",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_82",
"PUSH20",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_92",
"POP",
"POP",
"POP",
"PUSH1",
"MLOAD",
"OP_80",
"OP_91",
"SUB",
"OP_90",
"OP_A1"
],
"start_pc": 2025
},
{
"end_pc": 2140,
"hash": "0xfa06ae3ecfc5a9a80d8df204e12438173acf9b9eaab9a430fced73e950e352d8",
"opcodes": [
"JUMPDEST"
],
"start_pc": 2140
},
{
"end_pc": 2146,
"hash": "0x28fc67683f26f7a27ce77e1e5d59224c10184ace2d8e79f769829082c5ce3fa8",
"opcodes": [
"JUMPDEST",
"POP",
"POP",
"POP",
"POP",
"JUMP"
],
"start_pc": 2141
},
{
exec
/bin/bash -lc "sed -n '1640,1688p' BYTECODE_BUNDLE.json" in /tmp/codex-6r9pfc5f
succeeded in 0ms:
"PUSH2",
"PUSH1",
"OP_80",
"CALLDATALOAD",
"OP_90",
"PUSH1",
"ADD",
"POP",
"PUSH2",
"JUMP"
],
"start_pc": 2570
},
{
"end_pc": 2630,
"hash": "0x13107dc778d61a4e3121ef8e3b44b9b49afa8c6c1fed74ed576dbed0062d2e02",
"opcodes": [
"JUMPDEST",
"PUSH1",
"MLOAD",
"OP_80",
"OP_82",
"PUSH20",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_91",
"POP",
"POP",
"PUSH1",
"MLOAD",
"OP_80",
"OP_91",
"SUB",
"OP_90",
"RETURN"
],
"start_pc": 2587
},
{
"end_pc": 2641,
"hash": "0xe16255e1a9d8e776e6088809e82fc702f34e99766e131ec564b0b92b8576e508",
"opcodes": [
"JUMPDEST",
"PUSH2",
"PUSH1",
"POP",
exec
/bin/bash -lc "sed -n '1990,2045p' BYTECODE_BUNDLE.json" in /tmp/codex-6r9pfc5f
succeeded in 0ms:
"PUSH1",
"PUSH1",
"OP_90",
"SLOAD",
"OP_90",
"PUSH2",
"EXP",
"OP_90",
"DIV",
"PUSH20",
"AND",
"PUSH20",
"AND",
"SELFDESTRUCT"
],
"start_pc": 3048
},
{
"end_pc": 3106,
"hash": "0xb4ba6c0b9219ec62919057eb3152f7772a4b1555d66a5ce6cd0bdbe48bc90301",
"opcodes": [
"JUMPDEST"
],
"start_pc": 3106
},
{
"end_pc": 3108,
"hash": "0xa173a1500cf98cc893f4cdc94414612f8e683e3b9c8aacf4768719e7db62bfe9",
"opcodes": [
"JUMPDEST",
"JUMP"
],
"start_pc": 3107
},
{
"end_pc": 3201,
"hash": "0x6ed1b81436b22d3e9613794e006c7d7236b69e589d4f0cdf70950d0cbbc5b3e2",
"opcodes": [
"JUMPDEST",
"PUSH1",
"PUSH1",
"PUSH1",
"PUSH1",
"PUSH1",
"OP_90",
"SLOAD",
"OP_90",
"PUSH2",
"EXP",
"OP_90",
"DIV",
"PUSH20",
"AND",
"PUSH20",
"AND",
"CALLER",
exec
/bin/bash -lc "sed -n '2920,3035p' BYTECODE_BUNDLE.json" in /tmp/codex-6r9pfc5f
succeeded in 0ms:
"OP_90",
"SLOAD",
"OP_90",
"PUSH2",
"EXP",
"OP_90",
"DIV",
"PUSH20",
"AND",
"PUSH20",
"AND",
"SELFDESTRUCT"
],
"start_pc": 4234
},
{
"end_pc": 4293,
"hash": "0x668bdbee88575a0705b9f0eb6420afac7fe109b1124c7fc07a87a7d1810fa8bd",
"opcodes": [
"JUMPDEST"
],
"start_pc": 4293
},
{
"end_pc": 4295,
"hash": "0xf12b25889813d909df56f2414afebbf457a363cdb8ec2db45c7bc646c75be1ee",
"opcodes": [
"JUMPDEST",
"JUMP"
],
"start_pc": 4294
},
{
"end_pc": 4305,
"hash": "0xb44df7e1bed2c38a01e9942e46d3fa8a07ab8402297ad9cf79959b124fe7c3d3",
"opcodes": [
"JUMPDEST",
"PUSH1",
"CALLVALUE",
"GT",
"ISZERO",
"PUSH2",
"JUMPI"
],
"start_pc": 4296
},
{
"end_pc": 4363,
"hash": "0x6dd038124693bf29c3ce8b46cd9f00174f35bb650dfff8b5ad7730346df901f4",
"opcodes": [
"PUSH1",
"PUSH1",
"MLOAD",
"OP_90",
"OP_81",
"ADD",
"PUSH1",
"MSTORE",
"OP_80",
"CALLER",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"CALLVALUE",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"POP",
"PUSH1",
"PUSH1",
"POP",
"PUSH1",
"PUSH1",
"POP",
"OP_80",
"SLOAD",
"OP_80",
"OP_91",
"OP_90",
"PUSH1",
"ADD",
"OP_90",
"OP_90",
"OP_81",
"SLOAD",
"OP_81",
"OP_83",
"SSTORE",
"OP_81",
"OP_81",
"ISZERO",
"GT",
"PUSH2",
"JUMPI"
],
"start_pc": 4306
},
{
"end_pc": 4393,
"hash": "0xf5608612ea251e272f1c2dffb10bd52770d5b51dbd8288b7e95a2cf78067bf3c",
"opcodes": [
"PUSH1",
"MUL",
"OP_81",
"PUSH1",
"MUL",
"OP_83",
"PUSH1",
"MSTORE",
"PUSH1",
"PUSH1",
"SHA3",
"OP_91",
"OP_82",
exec
/bin/bash -lc "sed -n '3035,3165p' BYTECODE_BUNDLE.json" in /tmp/codex-6r9pfc5f
succeeded in 0ms:
"OP_82",
"ADD",
"OP_91",
"ADD",
"PUSH2",
"OP_91",
"OP_90",
"PUSH2",
"JUMP"
],
"start_pc": 4364
},
{
"end_pc": 4402,
"hash": "0xa69c610e97093fbd7d644c1b81d5ca97b8b45b582f1fa16bccf208a197ecd2bc",
"opcodes": [
"JUMPDEST",
"OP_80",
"OP_82",
"GT",
"ISZERO",
"PUSH2",
"JUMPI"
],
"start_pc": 4394
},
{
"end_pc": 4462,
"hash": "0x4ef54f9b37a9d08ee69d792ba1a2e0bb303884a1d3a6f42e725ba093a2fd7f4f",
"opcodes": [
"PUSH1",
"PUSH1",
"OP_82",
"ADD",
"PUSH1",
"PUSH2",
"EXP",
"OP_81",
"SLOAD",
"OP_90",
"PUSH20",
"MUL",
"NOT",
"AND",
"OP_90",
"SSTORE",
"PUSH1",
"OP_82",
"ADD",
"PUSH1",
"POP",
"PUSH1",
"OP_90",
"SSTORE",
"POP",
"PUSH1",
"ADD",
"PUSH2",
"JUMP"
],
"start_pc": 4403
},
{
"end_pc": 4466,
"hash": "0xf9e06a4a3eec5668b44bdbfe409e73b52ebf3691018484947c63a24acf7bac3a",
"opcodes": [
"JUMPDEST",
"POP",
"OP_90",
"JUMP"
],
"start_pc": 4463
},
{
"end_pc": 4467,
"hash": "0xacf69784d91c11edc97fd632483635ff811462bdab60d3aaab90d5eb3eb52515",
"opcodes": [
"JUMPDEST"
],
"start_pc": 4467
},
{
"end_pc": 4480,
"hash": "0xfa746ba4bd6f8af6655a5a027c7d3a3ca94f5b26100468fef4e141d4d855ad83",
"opcodes": [
"JUMPDEST",
"POP",
"POP",
"POP",
"OP_81",
"SLOAD",
"OP_81",
"LT",
"ISZERO",
"PUSH2",
"JUMPI"
],
"start_pc": 4468
},
{
"end_pc": 4684,
"hash": "0xcdd33528cabf2a4abad00e11008cf45609d86e0299ed71ed68980b455dcb9508",
"opcodes": [
"OP_90",
"PUSH1",
"MSTORE",
"PUSH1",
"PUSH1",
"SHA3",
"OP_90",
"PUSH1",
"MUL",
"ADD",
"PUSH1",
"POP",
"PUSH1",
"OP_82",
"ADD",
"MLOAD",
"OP_81",
"PUSH1",
"ADD",
"PUSH1",
"PUSH2",
"EXP",
"OP_81",
"SLOAD",
"OP_81",
"PUSH20",
"MUL",
"NOT",
exec
/bin/bash -lc "sed -n '3165,3260p' BYTECODE_BUNDLE.json" in /tmp/codex-6r9pfc5f
succeeded in 0ms:
"NOT",
"AND",
"OP_90",
"OP_83",
"MUL",
"OR",
"OP_90",
"SSTORE",
"POP",
"PUSH1",
"OP_82",
"ADD",
"MLOAD",
"OP_81",
"PUSH1",
"ADD",
"PUSH1",
"POP",
"SSTORE",
"OP_90",
"POP",
"POP",
"CALLVALUE",
"PUSH1",
"PUSH1",
"OP_82",
"OP_82",
"OP_82",
"POP",
"SLOAD",
"ADD",
"OP_92",
"POP",
"POP",
"OP_81",
"OP_90",
"SSTORE",
"POP",
"PUSH32",
"CALLER",
"CALLVALUE",
"PUSH1",
"MLOAD",
"OP_80",
"OP_83",
"PUSH20",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_82",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_92",
"POP",
"POP",
"POP",
"PUSH1",
"MLOAD",
"OP_80",
"OP_91",
"SUB",
"OP_90",
"OP_A1",
"PUSH1",
"PUSH1",
"POP",
"SLOAD",
"PUSH1",
"PUSH1",
"POP",
"SLOAD",
"LT",
"ISZERO",
"ISZERO",
"PUSH2",
"JUMPI"
],
"start_pc": 4481
},
{
"end_pc": 4691,
"hash": "0x0fdbf524d86a3e8d539caaa4dde7cda6026ad73e96c6d62d7c7c57a41b4e1454",
"opcodes": [
"PUSH2",
"PUSH2",
"JUMP"
],
"start_pc": 4685
},
{
"end_pc": 4750,
"hash": "0x4ff5dc6d3847e7372998971770d5d586ecde5ecee3d70a1a9fa6b3c802095b71",
exec
/bin/bash -lc "sed -n '3260,3335p' BYTECODE_BUNDLE.json" in /tmp/codex-6r9pfc5f
succeeded in 0ms:
"hash": "0x4ff5dc6d3847e7372998971770d5d586ecde5ecee3d70a1a9fa6b3c802095b71",
"opcodes": [
"JUMPDEST",
"PUSH1",
"PUSH1",
"OP_90",
"SLOAD",
"OP_90",
"PUSH2",
"EXP",
"OP_90",
"DIV",
"PUSH20",
"AND",
"PUSH20",
"AND",
"SELFDESTRUCT"
],
"start_pc": 4692
},
{
"end_pc": 4751,
"hash": "0xb1f779c099b372359a3ba8327c31d450a281918e691bbc9e0305af7e11652ec3",
"opcodes": [
"JUMPDEST"
],
"start_pc": 4751
},
{
"end_pc": 4752,
"hash": "0x4f5c1a23270fe7267cc66dba43182c959fe64f1e2066381e7155ab13a2e2bc8a",
"opcodes": [
"JUMPDEST"
],
"start_pc": 4752
},
{
"end_pc": 4754,
"hash": "0xbfab5af02bc5bb7016c2c6129f7a791e2f71f15df3cb9a81a04bea014be4d11e",
"opcodes": [
"JUMPDEST",
"JUMP"
],
"start_pc": 4753
},
{
"end_pc": 4763,
"hash": "0xfd3b8011b6924f37467161d9d3ef95de35c015ff475b78d46bf728d9d6c93bcb",
"opcodes": [
"JUMPDEST",
"PUSH1",
"PUSH1",
"PUSH1",
"OP_91",
"POP"
],
"start_pc": 4755
},
{
"end_pc": 4777,
"hash": "0x47c4d6d75bf1de9a640f5e6cb0a4be03ebec4a1e540767c5bafdefdae8eb3155",
"opcodes": [
"JUMPDEST",
"PUSH1",
"PUSH1",
"POP",
"SLOAD",
"OP_82",
"LT",
"ISZERO",
"PUSH2",
"JUMPI"
],
"start_pc": 4764
},
{
exec
/bin/bash -lc "sed -n '3335,3415p' BYTECODE_BUNDLE.json" in /tmp/codex-6r9pfc5f
succeeded in 0ms:
{
"end_pc": 4792,
"hash": "0x6aa075e38364e5e24e2c35ca539d8f66adb7e0e182360a2e993b62dd40da7929",
"opcodes": [
"PUSH1",
"PUSH1",
"POP",
"OP_82",
"OP_81",
"SLOAD",
"OP_81",
"LT",
"ISZERO",
"PUSH2",
"JUMPI"
],
"start_pc": 4778
},
{
"end_pc": 4905,
"hash": "0x80b9bc866a1bccadd92d946c527f6e604e8a22c8fe6ab0fcbeb0063f0cf19188",
"opcodes": [
"OP_90",
"PUSH1",
"MSTORE",
"PUSH1",
"PUSH1",
"SHA3",
"OP_90",
"PUSH1",
"MUL",
"ADD",
"PUSH1",
"POP",
"OP_90",
"POP",
"OP_80",
"PUSH1",
"ADD",
"PUSH1",
"OP_90",
"SLOAD",
"OP_90",
"PUSH2",
"EXP",
"OP_90",
"DIV",
"PUSH20",
"AND",
"PUSH20",
"AND",
"PUSH1",
"OP_82",
"PUSH1",
"ADD",
"PUSH1",
"POP",
"SLOAD",
"PUSH1",
"MLOAD",
"OP_80",
"OP_90",
"POP",
"PUSH1",
"PUSH1",
"MLOAD",
"OP_80",
"OP_83",
"SUB",
"OP_81",
"OP_85",
"OP_88",
"OP_88",
"CALL",
"OP_93",
"POP",
"POP",
"POP",
"POP",
"POP"
],
exec
/bin/bash -lc "sed -n '3415,3455p' BYTECODE_BUNDLE.json" in /tmp/codex-6r9pfc5f
succeeded in 0ms:
],
"start_pc": 4793
},
{
"end_pc": 4918,
"hash": "0x4661f1ccc9bc43228f43e5255745505cf3639e1ef9827dbc8ebe7b6a76e4f6a3",
"opcodes": [
"JUMPDEST",
"OP_81",
"OP_80",
"PUSH1",
"ADD",
"OP_92",
"POP",
"POP",
"PUSH2",
"JUMP"
],
"start_pc": 4906
},
{
"end_pc": 4919,
"hash": "0x69bcaa97d75267ffd17d9733bb956044d5c587a9c7f1ce6a6ff4e7f64e06ea53",
"opcodes": [
"JUMPDEST"
],
"start_pc": 4919
},
{
"end_pc": 4923,
"hash": "0x139e51bf48b4ee477062d9a33219f47fe069bc6922935648f9172450ef1110ff",
"opcodes": [
"JUMPDEST",
"POP",
"POP",
"JUMP"
],
"start_pc": 4920
}
],
"callsites": [
exec
/bin/bash -lc "sed -n '1120,1325p' BYTECODE_BUNDLE.json" in /tmp/codex-6r9pfc5f
succeeded in 0ms:
"MLOAD",
"OP_80",
"OP_83",
"PUSH20",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_82",
"PUSH20",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_92",
"POP",
"POP",
"POP",
"PUSH1",
"MLOAD",
"OP_80",
"OP_91",
"SUB",
"OP_90",
"OP_A1"
],
"start_pc": 1668
},
{
"end_pc": 1778,
"hash": "0x65c8256f45d9d38bf1458d3590652dc9314ec8b2c0709e7289f2e0239cb2d16f",
"opcodes": [
"JUMPDEST"
],
"start_pc": 1778
},
{
"end_pc": 1783,
"hash": "0x2b240f708148b2d8c0384f15e5710e4890b9e4494fa13ffc895bea76e8853cdc",
"opcodes": [
"JUMPDEST",
"POP",
"POP",
"POP",
"JUMP"
],
"start_pc": 1779
},
{
"end_pc": 1919,
"hash": "0x977e54ffd896e0ec869159a5e931c547a7c8068e2c9426113b3b0d6b2835f6b5",
"opcodes": [
"JUMPDEST",
"PUSH1",
"PUSH1",
"PUSH1",
"PUSH1",
"POP",
"PUSH1",
"OP_85",
"PUSH20",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_90",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"PUSH1",
"SHA3",
"PUSH1",
"OP_90",
"SLOAD",
"OP_90",
"PUSH2",
"EXP",
"OP_90",
"DIV",
"PUSH20",
"AND",
"OP_91",
"POP",
"OP_81",
"PUSH20",
"AND",
"CALLER",
"PUSH20",
"AND",
"EQ",
"ISZERO",
"PUSH2",
"JUMPI"
],
"start_pc": 1784
},
{
"end_pc": 2024,
"hash": "0x6f979bd3c6ea554603b46dbadf74d55a54cbdb8d3ab71fb10266af508ebea780",
"opcodes": [
"OP_83",
"OP_90",
"POP",
"OP_80",
"PUSH20",
"AND",
"PUSH4",
"OP_84",
"PUSH1",
"MLOAD",
"OP_82",
"PUSH29",
"MUL",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_80",
"OP_82",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_91",
"POP",
"POP",
"PUSH1",
"PUSH1",
"MLOAD",
"OP_80",
"OP_83",
"SUB",
"OP_81",
"PUSH1",
"OP_87",
"PUSH2",
"GAS",
"SUB",
"CALL",
"ISZERO",
"PUSH2",
"JUMPI"
],
"start_pc": 1920
},
{
"end_pc": 2139,
"hash": "0x67b44c2fbcb50555044255b212d931c700082d2a64548b3629215df77f295a3e",
"opcodes": [
"POP",
"POP",
"POP",
"PUSH1",
"MLOAD",
"MLOAD",
"POP",
"PUSH32",
"OP_82",
"OP_82",
"PUSH1",
"MLOAD",
"OP_80",
"OP_83",
"PUSH20",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_82",
"PUSH20",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_92",
"POP",
"POP",
"POP",
"PUSH1",
"MLOAD",
"OP_80",
"OP_91",
"SUB",
"OP_90",
"OP_A1"
],
"start_pc": 2025
},
{
"end_pc": 2140,
"hash": "0xfa06ae3ecfc5a9a80d8df204e12438173acf9b9eaab9a430fced73e950e352d8",
"opcodes": [
"JUMPDEST"
],
"start_pc": 2140
},
{
"end_pc": 2146,
"hash": "0x28fc67683f26f7a27ce77e1e5d59224c10184ace2d8e79f769829082c5ce3fa8",
"opcodes": [
exec
/bin/bash -lc "sed -n '1520,1710p' BYTECODE_BUNDLE.json" in /tmp/codex-6r9pfc5f
succeeded in 0ms:
"hash": "0x30b5ac49a80d89733eb8416a5118cc34c16e94533421a97ac50f7d52ddf034a0",
"opcodes": [
"STOP"
],
"start_pc": 2451
},
{
"end_pc": 2462,
"hash": "0x8e3b6cd31fd8891f6fa54edc200615e129a881fceb57c785e39e05f6069a196d",
"opcodes": [
"PUSH1",
"PUSH1",
"MSTORE",
"CALLDATASIZE",
"ISZERO",
"PUSH2",
"JUMPI"
],
"start_pc": 2452
},
{
"end_pc": 2508,
"hash": "0x7433ab9cec58876e79c6786d870e502cbc91289023740f93340e948b37de9e49",
"opcodes": [
"PUSH1",
"CALLDATALOAD",
"PUSH29",
"OP_90",
"DIV",
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 2463
},
{
"end_pc": 2519,
"hash": "0x1bc13bc709ff77e6f62b67ee87cbc0befc90fa25bca4f6cab68fdc3d768b4974",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 2509
},
{
"end_pc": 2530,
"hash": "0x3702c9cbbdaab7c66db51fa9371cddf4a3cdc95ee8b5342c083b654136efb967",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 2520
},
{
"end_pc": 2541,
"hash": "0x0bfe41d1165e9247b492fd7792f9cd94715ba5ef4ff69ce5d24885ef10593cae",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 2531
},
{
"end_pc": 2552,
"hash": "0x2c79a4f6abf537ac3fddbc8360c2eeb332d2ce3c323518152a46cffdd93bff7d",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 2542
},
{
"end_pc": 2563,
"hash": "0x3d2e1ade8ca5476151c26affa8218f0feb07e4fe454ea23a1f3e34875451dd55",
"opcodes": [
"OP_80",
"PUSH4",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 2553
},
{
"end_pc": 2567,
"hash": "0xc75e6c982281ada3cf29594af583b73210debe2e8af98467080d051800cd3b6c",
"opcodes": [
"PUSH2",
"JUMP"
],
"start_pc": 2564
},
{
"end_pc": 2569,
"hash": "0x8598bc95dfdd4eb16bc0041189dc0df082fd5f1cde8468ad95f176c03ddb9166",
"opcodes": [
"JUMPDEST",
"STOP"
],
"start_pc": 2568
},
{
"end_pc": 2586,
"hash": "0xa90352c15798a792819623c477f00dd0397d10ef57167d87737ce601963bd888",
"opcodes": [
"JUMPDEST",
"PUSH2",
"PUSH1",
"OP_80",
"CALLDATALOAD",
"OP_90",
"PUSH1",
"ADD",
"POP",
"PUSH2",
"JUMP"
],
"start_pc": 2570
},
{
"end_pc": 2630,
"hash": "0x13107dc778d61a4e3121ef8e3b44b9b49afa8c6c1fed74ed576dbed0062d2e02",
"opcodes": [
"JUMPDEST",
"PUSH1",
"MLOAD",
"OP_80",
"OP_82",
"PUSH20",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_91",
"POP",
"POP",
"PUSH1",
"MLOAD",
"OP_80",
"OP_91",
"SUB",
"OP_90",
"RETURN"
],
"start_pc": 2587
},
{
"end_pc": 2641,
"hash": "0xe16255e1a9d8e776e6088809e82fc702f34e99766e131ec564b0b92b8576e508",
"opcodes": [
"JUMPDEST",
"PUSH2",
"PUSH1",
"POP",
"PUSH2",
"JUMP"
],
"start_pc": 2631
},
{
"end_pc": 2685,
"hash": "0xe382c15fd7dddfdf24c00a9db5644ee0188818efc73474881ecd38d2ba07d1bc",
"opcodes": [
"JUMPDEST",
"PUSH1",
"MLOAD",
"OP_80",
"OP_82",
"PUSH20",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_91",
"POP",
exec
/bin/bash -lc "sed -n '1860,2055p' BYTECODE_BUNDLE.json" in /tmp/codex-6r9pfc5f
succeeded in 0ms:
"PUSH20",
"AND",
"OP_81",
"JUMP"
],
"start_pc": 2800
},
{
"end_pc": 2875,
"hash": "0x5f241d3b71a1bbe5c49c70af111d331be4e6bedfaaf424df0f7b9ef5b38e3ef8",
"opcodes": [
"JUMPDEST",
"PUSH1",
"PUSH1",
"OP_90",
"SLOAD",
"OP_90",
"PUSH2",
"EXP",
"OP_90",
"DIV",
"PUSH20",
"AND",
"OP_81",
"JUMP"
],
"start_pc": 2838
},
{
"end_pc": 2884,
"hash": "0x468b22d8504e575119280f53823bc39faf859c4ae3192799b625c5ce11959819",
"opcodes": [
"JUMPDEST",
"PUSH1",
"PUSH1",
"POP",
"SLOAD",
"OP_81",
"JUMP"
],
"start_pc": 2876
},
{
"end_pc": 2899,
"hash": "0x3c308f15a71a8d5eda44aae19cad73e402ca65040f29d10b7bdca8d20d0e497e",
"opcodes": [
"JUMPDEST",
"PUSH1",
"PUSH1",
"POP",
"SLOAD",
"TIMESTAMP",
"LT",
"ISZERO",
"ISZERO",
"PUSH2",
"JUMPI"
],
"start_pc": 2885
},
{
"end_pc": 2957,
"hash": "0x1991561ea9ebd8fd315ac4e297d58a75c0c1edebb7e121825c780fbfaf95f213",
"opcodes": [
"PUSH1",
"PUSH1",
"OP_90",
"SLOAD",
"OP_90",
"PUSH2",
"EXP",
"OP_90",
"DIV",
"PUSH20",
"AND",
"PUSH20",
"AND",
"SELFDESTRUCT"
],
"start_pc": 2900
},
{
"end_pc": 2958,
"hash": "0x3b88a331c4747c1c06a744e703bd4b41223fb451145a551106855b837d037bd6",
"opcodes": [
"JUMPDEST"
],
"start_pc": 2958
},
{
"end_pc": 2960,
"hash": "0x1cb69f1095b2152f8ed900c16d390406793ce829957ce17c5406fc7a29145d82",
"opcodes": [
"JUMPDEST",
"JUMP"
],
"start_pc": 2959
},
{
"end_pc": 3047,
"hash": "0x9335586316e80d4c0d6201a2451e455831952dd65490a31fc4c86bdf4f7eee25",
"opcodes": [
"JUMPDEST",
"PUSH1",
"PUSH1",
"OP_90",
"SLOAD",
"OP_90",
"PUSH2",
"EXP",
"OP_90",
"DIV",
"PUSH20",
"AND",
"PUSH20",
"AND",
"CALLER",
"PUSH20",
"AND",
"EQ",
"ISZERO",
"PUSH2",
"JUMPI"
],
"start_pc": 2961
},
{
"end_pc": 3105,
"hash": "0x673dd12bf8357be41729002e245591ef4358b1dc5873e14889f4a741c449624a",
"opcodes": [
"PUSH1",
"PUSH1",
"OP_90",
"SLOAD",
"OP_90",
"PUSH2",
"EXP",
"OP_90",
"DIV",
"PUSH20",
"AND",
"PUSH20",
"AND",
"SELFDESTRUCT"
],
"start_pc": 3048
},
{
"end_pc": 3106,
"hash": "0xb4ba6c0b9219ec62919057eb3152f7772a4b1555d66a5ce6cd0bdbe48bc90301",
"opcodes": [
"JUMPDEST"
],
"start_pc": 3106
},
{
"end_pc": 3108,
"hash": "0xa173a1500cf98cc893f4cdc94414612f8e683e3b9c8aacf4768719e7db62bfe9",
"opcodes": [
"JUMPDEST",
"JUMP"
],
"start_pc": 3107
},
{
"end_pc": 3201,
"hash": "0x6ed1b81436b22d3e9613794e006c7d7236b69e589d4f0cdf70950d0cbbc5b3e2",
"opcodes": [
"JUMPDEST",
"PUSH1",
"PUSH1",
"PUSH1",
"PUSH1",
"PUSH1",
"OP_90",
"SLOAD",
"OP_90",
"PUSH2",
"EXP",
"OP_90",
"DIV",
"PUSH20",
"AND",
"PUSH20",
"AND",
"CALLER",
"PUSH20",
"AND",
"EQ",
"ISZERO",
"PUSH2",
"JUMPI"
],
"start_pc": 3109
},
{
exec
/bin/bash -lc "sed -n '2055,2145p' BYTECODE_BUNDLE.json" in /tmp/codex-6r9pfc5f
succeeded in 0ms:
{
"end_pc": 3390,
"hash": "0x4bad71489199f76c2986c2338335225bc7aee69c6bf84b7fc8450d271a90e7a1",
"opcodes": [
"PUSH1",
"OP_91",
"POP",
"PUSH1",
"PUSH1",
"OP_90",
"SLOAD",
"OP_90",
"PUSH2",
"EXP",
"OP_90",
"DIV",
"PUSH20",
"AND",
"OP_82",
"ADDRESS",
"PUSH20",
"AND",
"BALANCE",
"OP_86",
"PUSH1",
"MLOAD",
"PUSH2",
"OP_80",
"PUSH2",
"OP_83",
"CODECOPY",
"ADD",
"OP_80",
"OP_85",
"PUSH20",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_84",
"PUSH20",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_83",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_82",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_94",
"POP",
"POP",
"POP",
"POP",
"POP",
"PUSH1",
"MLOAD",
"OP_80",
"OP_91",
"SUB",
"OP_90",
"PUSH1",
"CREATE",
"OP_90",
"POP",
"OP_80",
"PUSH20",
"AND",
"SELFDESTRUCT"
],
"start_pc": 3202
},
{
"end_pc": 3397,
"hash": "0x176718003ffb84b5b3a15f5e43fd054cb9537c4e25ab8fa847269c484161965e",
"opcodes": [
"OP_80",
"OP_92",
"POP",
"PUSH2",
"JUMP"
],
"start_pc": 3391
exec
js_repl in /tmp/codex-6r9pfc5f
succeeded in 135ms:
[
{
"selector": "0x27e235e3",
"entry_pc": 1782757624,
"sinks": {
"call": 4,
"delegatecall": 0,
"selfdestruct": 6,
"staticcall": 0
},
"guards": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"slots": [
{
"op": "SLOAD",
"pc": 192,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 705,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 732,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 1021,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 1487,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1836,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2153,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2239,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2806,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2844,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
]
},
{
"selector": "0x6a42b8f8",
"entry_pc": 2654591859,
"sinks": {
"call": 4,
"delegatecall": 0,
"selfdestruct": 6,
"staticcall": 0
},
"guards": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"slots": [
{
"op": "SLOAD",
"pc": 192,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 705,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 732,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 1021,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 1487,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1836,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2153,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2239,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2806,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2844,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
]
},
{
"selector": "0x9e39db73",
"entry_pc": 2739781521,
"sinks": {
"call": 4,
"delegatecall": 0,
"selfdestruct": 6,
"staticcall": 0
},
"guards": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"slots": [
{
"op": "SLOAD",
"pc": 192,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 705,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 732,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 1021,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 1487,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1836,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2153,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2239,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2806,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2844,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
]
},
{
"selector": "0xa34dbf91",
"entry_pc": 2814502441,
"sinks": {
"call": 4,
"delegatecall": 0,
"selfdestruct": 6,
"staticcall": 0
},
"guards": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"slots": [
{
"op": "SLOAD",
"pc": 192,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 705,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 732,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 1021,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 1487,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1836,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2153,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2239,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2806,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2844,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
]
},
{
"selector": "0xa7c1e629",
"entry_pc": 2835717307,
"sinks": {
"call": 4,
"delegatecall": 0,
"selfdestruct": 6,
"staticcall": 0
},
"guards": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"slots": [
{
"op": "SLOAD",
"pc": 192,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 705,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 732,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 1021,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 1487,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1836,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2153,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2239,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2806,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2844,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
]
},
{
"selector": "0xa9059cbb",
"entry_pc": 3807468437,
"sinks": {
"call": 4,
"delegatecall": 0,
"selfdestruct": 6,
"staticcall": 0
},
"guards": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"slots": [
{
"op": "SLOAD",
"pc": 192,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 705,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 732,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 1021,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 1487,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1836,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2153,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2239,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2806,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2844,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
]
},
{
"selector": "0xe2f15b95",
"entry_pc": 3959649853,
"sinks": {
"call": 4,
"delegatecall": 0,
"selfdestruct": 6,
"staticcall": 0
},
"guards": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"slots": [
{
"op": "SLOAD",
"pc": 192,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 705,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 732,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 1021,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 1487,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1836,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2153,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2239,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2806,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2844,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
]
},
{
"selector": "0xec03763d",
"entry_pc": null,
"sinks": {
"call": 4,
"delegatecall": 0,
"selfdestruct": 6,
"staticcall": 0
},
"guards": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"slots": [
{
"op": "SLOAD",
"pc": 192,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 705,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 732,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 1021,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 1487,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1836,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2153,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2239,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2806,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2844,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
]
},
{
"selector": "0x0fe65b36",
"entry_pc": 1724908460,
"sinks": {
"call": 4,
"delegatecall": 0,
"selfdestruct": 6,
"staticcall": 0
},
"guards": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"slots": [
{
"op": "SLOAD",
"pc": 192,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 705,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 732,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 1021,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 1487,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1836,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2153,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2239,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2806,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2844,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
]
},
{
"selector": "0x66d003ac",
"entry_pc": 2261886623,
"sinks": {
"call": 4,
"delegatecall": 0,
"selfdestruct": 6,
"staticcall": 0
},
"guards": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"slots": [
{
"op": "SLOAD",
"pc": 192,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 705,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 732,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 1021,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 1487,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1836,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2153,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2239,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2806,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2844,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
]
},
{
"selector": "0x86d1a69f",
"entry_pc": 2376452955,
"sinks": {
"call": 4,
"delegatecall": 0,
"selfdestruct": 6,
"staticcall": 0
},
"guards": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"slots": [
{
"op": "SLOAD",
"pc": 192,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 705,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 732,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 1021,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 1487,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1836,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2153,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2239,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2806,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2844,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
]
},
{
"selector": "0x8da5cb5b",
"entry_pc": 3105701889,
"sinks": {
"call": 4,
"delegatecall": 0,
"selfdestruct": 6,
"staticcall": 0
},
"guards": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"slots": [
{
"op": "SLOAD",
"pc": 192,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 705,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 732,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 1021,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 1487,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1836,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2153,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2239,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2806,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2844,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
]
},
{
"selector": "0xb91d4001",
"entry_pc": 3934919408,
"sinks": {
"call": 4,
"delegatecall": 0,
"selfdestruct": 6,
"staticcall": 0
},
"guards": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"slots": [
{
"op": "SLOAD",
"pc": 192,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 705,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 732,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 1021,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 1487,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1836,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2153,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2239,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2806,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2844,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
]
},
{
"selector": "0xea8a1af0",
"entry_pc": null,
"sinks": {
"call": 4,
"delegatecall": 0,
"selfdestruct": 6,
"staticcall": 0
},
"guards": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"slots": [
{
"op": "SLOAD",
"pc": 192,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 705,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 732,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 1021,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 1487,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1836,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2153,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2239,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2806,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2844,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
]
},
{
"selector": "0x119f8747",
"entry_pc": 702329039,
"sinks": {
"call": 4,
"delegatecall": 0,
"selfdestruct": 6,
"staticcall": 0
},
"guards": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"slots": [
{
"op": "SLOAD",
"pc": 192,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 705,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 732,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 1021,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 1487,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1836,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2153,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2239,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2806,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2844,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
]
},
{
"selector": "0x29dcb0cf",
"entry_pc": 1009039319,
"sinks": {
"call": 4,
"delegatecall": 0,
"selfdestruct": 6,
"staticcall": 0
},
"guards": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"slots": [
{
"op": "SLOAD",
"pc": 192,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 705,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 732,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 1021,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 1487,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1836,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2153,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2239,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2806,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2844,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
]
},
{
"selector": "0x3c24b7d7",
"entry_pc": 1428191708,
"sinks": {
"call": 4,
"delegatecall": 0,
"selfdestruct": 6,
"staticcall": 0
},
"guards": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"slots": [
{
"op": "SLOAD",
"pc": 192,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 705,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 732,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 1021,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 1487,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1836,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2153,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2239,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2806,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2844,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
]
},
{
"selector": "0x552079dc",
"entry_pc": 1724908460,
"sinks": {
"call": 4,
"delegatecall": 0,
"selfdestruct": 6,
"staticcall": 0
},
"guards": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"slots": [
{
"op": "SLOAD",
"pc": 192,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 705,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 732,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 1021,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 1487,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1836,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2153,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2239,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2806,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2844,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
]
},
{
"selector": "0x702c35fb",
"entry_pc": 2261886623,
"sinks": {
"call": 4,
"delegatecall": 0,
"selfdestruct": 6,
"staticcall": 0
},
"guards": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"slots": [
{
"op": "SLOAD",
"pc": 192,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 705,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 732,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 1021,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 1487,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1836,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2153,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2239,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2806,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2844,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
]
},
{
"selector": "0xc9e7e29b",
"entry_pc": null,
"sinks": {
"call": 4,
"delegatecall": 0,
"selfdestruct": 6,
"staticcall": 0
},
"guards": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"slots": [
{
"op": "SLOAD",
"pc": 192,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 705,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 732,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 1021,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 1487,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 1836,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2153,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2239,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2806,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 2844,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
]
}
]
exec
/bin/bash -lc "sed -n '760,1015p' BYTECODE_BUNDLE.json" in /tmp/codex-6r9pfc5f
succeeded in 0ms:
"end_pc": 1004,
"hash": "0x448780e7c230d5d73eb60ca4cae8f2b7371c8f285221c6a2da0a22c2e475b650",
"opcodes": [
"JUMPDEST",
"PUSH1",
"PUSH1",
"PUSH1",
"CALLER",
"OP_91",
"POP",
"OP_83",
"PUSH1",
"PUSH1",
"POP",
"PUSH1",
"OP_84",
"PUSH20",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_90",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"PUSH1",
"SHA3",
"PUSH1",
"POP",
"SLOAD",
"LT",
"ISZERO",
"PUSH2",
"JUMPI"
],
"start_pc": 940
},
{
"end_pc": 1012,
"hash": "0x0003079babf8f7229c0b07e49c839939e28cf737fb0ba096aec047e72b9ab423",
"opcodes": [
"PUSH1",
"OP_92",
"POP",
"PUSH2",
"JUMP"
],
"start_pc": 1005
},
{
"end_pc": 1426,
"hash": "0x80af114dc046d877cb2297fa39e5462ffc8d12eae3ac4d1e95abf5761fb0ae8e",
"opcodes": [
"JUMPDEST",
"ADDRESS",
"OP_85",
"PUSH1",
"PUSH1",
"POP",
"SLOAD",
"TIMESTAMP",
"ADD",
"PUSH1",
"MLOAD",
"PUSH2",
"OP_80",
"PUSH2",
"OP_83",
"CODECOPY",
"ADD",
"OP_80",
"OP_84",
"PUSH20",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_83",
"PUSH20",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_82",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_93",
"POP",
"POP",
"POP",
"POP",
"PUSH1",
"MLOAD",
"OP_80",
"OP_91",
"SUB",
"OP_90",
"PUSH1",
"CREATE",
"OP_90",
"POP",
"OP_81",
"PUSH1",
"PUSH1",
"POP",
"PUSH1",
"OP_83",
"PUSH20",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_90",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"PUSH1",
"SHA3",
"PUSH1",
"PUSH2",
"EXP",
"OP_81",
"SLOAD",
"OP_81",
"PUSH20",
"MUL",
"NOT",
"AND",
"OP_90",
"OP_83",
"MUL",
"OR",
"OP_90",
"SSTORE",
"POP",
"OP_83",
"PUSH1",
"PUSH1",
"POP",
"PUSH1",
"OP_84",
"PUSH20",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_90",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"PUSH1",
"SHA3",
"PUSH1",
"OP_82",
"OP_82",
"OP_82",
"POP",
"SLOAD",
"SUB",
"OP_92",
"POP",
"POP",
"OP_81",
"OP_90",
"SSTORE",
"POP",
"OP_80",
"PUSH20",
"AND",
"PUSH1",
"OP_85",
"PUSH1",
"MLOAD",
"OP_80",
"OP_90",
"POP",
"PUSH1",
"PUSH1",
"MLOAD",
"OP_80",
"OP_83",
"SUB",
"OP_81",
"OP_85",
"OP_88",
"OP_88",
"CALL",
"OP_93",
"POP",
"POP",
"POP",
"POP",
"POP",
"PUSH32",
"OP_82",
"OP_82",
"PUSH1",
"MLOAD",
"OP_80",
"OP_83",
"PUSH20",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_82",
"PUSH20",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"OP_92",
"POP",
"POP",
"POP",
"PUSH1",
"MLOAD",
"OP_80",
"OP_91",
"SUB",
"OP_90",
"OP_A1",
"OP_80",
"OP_92",
"POP",
"PUSH2",
"JUMP"
],
"start_pc": 1013
},
{
"end_pc": 1434,
"hash": "0x1144e6dcf5a101e295cfb6c5c9a55a5a29c7c9e1e09d892b42cdce7fe44c4899",
"opcodes": [
"JUMPDEST",
"POP",
"POP",
"OP_92",
"OP_91",
"POP",
"POP",
"JUMP"
],
"start_pc": 1427
codex
{"no_findings":false,"summary":"Runtime-bytecode review found three meaningful issues: a CREATE+SELFDESTRUCT metamorphic transition that is incompatible with current Ethereum mainnet semantics, unchecked low-level ETH sends during settlement, and an unbounded payout loop that can be gas-griefed. All conclusions are based on bytecode/artifact evidence and selector inference is best-effort.","findings":[{"severity":"high","category":"upgradeability","title":"CREATE plus SELFDESTRUCT phase transition is broken on Ethereum mainnet after EIP-6780","exploit_scenario":"A child contract appears to transition to a new phase by deploying a fresh contract and then SELFDESTRUCTing into it. The parent keeps interacting with stored child addresses later. On chain 1, SELFDESTRUCT no longer deletes code/storage for contracts created in prior transactions, so this pattern does not actually replace the old child. Funds may move, but callers can remain pointed at the stale contract while the freshly created contract is not the authoritative address, breaking the intended state-machine/upgrade flow.","recommendation":"Do not rely on metamorphic CREATE+SELFDESTRUCT replacement. Replace this with an explicit state machine or an explicit pointer update in parent storage, and design for post-EIP-6780 semantics where old code persists.","evidence":"At pc 3202 the bytecode assembles embedded init code and executes CREATE, then immediately SELFDESTRUCTs at pc 3390 to the newly created address. Separately, the parent stores and later reuses child addresses, with CALL sites at pcs 1662 and 2019 against computed stored targets. This strongly suggests a replacement-by-destruction pattern that is unsafe under current mainnet semantics.","locations":["pc:3202","pc:3390","pc:1662","pc:2019"]},{"severity":"medium","category":"other","title":"Unchecked low-level ETH calls can silently skip payouts","exploit_scenario":"During settlement, a recipient contract can revert or exhaust gas when receiving ETH. Because the low-level CALL result is not checked, execution continues and later logic can still finalize/selfdestruct, leaving failed payouts unpaid and potentially forwarding leftover ETH to the final beneficiary instead of the intended recipients.","recommendation":"Check the boolean result of every low-level CALL that transfers value, and revert or record explicit debt on failure. Prefer pull-payment accounting over best-effort push loops.","evidence":"Detector artifacts report CALL sites with returndata check unknown/null, and the loop call at pc 4899 clearly has its return value popped without a conditional revert. Earlier value-bearing CALLs at pcs 1306, 1662, and 2019 are also flagged. The settlement path reaches SELFDESTRUCT at pc 4692 after the loop, so failed sends need not halt finalization.","locations":["pc:1306","pc:1662","pc:2019","pc:4899","pc:4692"]},{"severity":"medium","category":"other","title":"Unbounded payout loop allows gas-based denial of service","exploit_scenario":"Any actor able to add many small entries can inflate the settlement array until finalization exceeds the block gas limit. Once that happens, refunds/payouts cannot complete and funds remain stuck behind a loop that must iterate over every stored entry.","recommendation":"Avoid iterating over an unbounded participant set in a single transaction. Use per-user withdrawals, batched processing with progress storage, or a merkle/claim-based settlement design.","evidence":"The payable path appends entries to a dynamic array-like structure: length is read/written around pcs 4342 and 4355, entry fields are stored through the keccak-derived region around pcs 4462 and 4684, and a running total is updated around pcs 4572 and 4677. Finalization then loops from index 0 over that stored array and performs one CALL per entry at pc 4899 (loop region pcs 4755-4918). Because entry creation is reachable from a value-receiving path starting at pc 4296, the participant set appears unbounded.","locations":["pc:4296","pc:4342","pc:4355","pc:4755","pc:4899"]}]}
tokens used
78,275
{
"codex": {
"ran_at": "2026-04-04T21:40:22.137967+00:00",
"returncode": 0
},
"project": {
"mode": "bytecode",
"bytecode_length": 9850,
"bytecode_truncated": false,
"capability_graph_present": true,
"analysis_artifact_present": true
},
"summary": "Runtime-bytecode review found three meaningful issues: a CREATE+SELFDESTRUCT metamorphic transition that is incompatible with current Ethereum mainnet semantics, unchecked low-level ETH sends during settlement, and an unbounded payout loop that can be gas-griefed. All conclusions are based on bytecode/artifact evidence and selector inference is best-effort.",
"raw_final": {
"summary": "Runtime-bytecode review found three meaningful issues: a CREATE+SELFDESTRUCT metamorphic transition that is incompatible with current Ethereum mainnet semantics, unchecked low-level ETH sends during settlement, and an unbounded payout loop that can be gas-griefed. All conclusions are based on bytecode/artifact evidence and selector inference is best-effort.",
"findings": [
{
"title": "CREATE plus SELFDESTRUCT phase transition is broken on Ethereum mainnet after EIP-6780",
"category": "upgradeability",
"evidence": "At pc 3202 the bytecode assembles embedded init code and executes CREATE, then immediately SELFDESTRUCTs at pc 3390 to the newly created address. Separately, the parent stores and later reuses child addresses, with CALL sites at pcs 1662 and 2019 against computed stored targets. This strongly suggests a replacement-by-destruction pattern that is unsafe under current mainnet semantics.",
"severity": "high",
"locations": [
"pc:3202",
"pc:3390",
"pc:1662",
"pc:2019"
],
"recommendation": "Do not rely on metamorphic CREATE+SELFDESTRUCT replacement. Replace this with an explicit state machine or an explicit pointer update in parent storage, and design for post-EIP-6780 semantics where old code persists.",
"exploit_scenario": "A child contract appears to transition to a new phase by deploying a fresh contract and then SELFDESTRUCTing into it. The parent keeps interacting with stored child addresses later. On chain 1, SELFDESTRUCT no longer deletes code/storage for contracts created in prior transactions, so this pattern does not actually replace the old child. Funds may move, but callers can remain pointed at the stale contract while the freshly created contract is not the authoritative address, breaking the intended state-machine/upgrade flow."
},
{
"title": "Unchecked low-level ETH calls can silently skip payouts",
"category": "other",
"evidence": "Detector artifacts report CALL sites with returndata check unknown/null, and the loop call at pc 4899 clearly has its return value popped without a conditional revert. Earlier value-bearing CALLs at pcs 1306, 1662, and 2019 are also flagged. The settlement path reaches SELFDESTRUCT at pc 4692 after the loop, so failed sends need not halt finalization.",
"severity": "medium",
"locations": [
"pc:1306",
"pc:1662",
"pc:2019",
"pc:4899",
"pc:4692"
],
"recommendation": "Check the boolean result of every low-level CALL that transfers value, and revert or record explicit debt on failure. Prefer pull-payment accounting over best-effort push loops.",
"exploit_scenario": "During settlement, a recipient contract can revert or exhaust gas when receiving ETH. Because the low-level CALL result is not checked, execution continues and later logic can still finalize/selfdestruct, leaving failed payouts unpaid and potentially forwarding leftover ETH to the final beneficiary instead of the intended recipients."
},
{
"title": "Unbounded payout loop allows gas-based denial of service",
"category": "other",
"evidence": "The payable path appends entries to a dynamic array-like structure: length is read/written around pcs 4342 and 4355, entry fields are stored through the keccak-derived region around pcs 4462 and 4684, and a running total is updated around pcs 4572 and 4677. Finalization then loops from index 0 over that stored array and performs one CALL per entry at pc 4899 (loop region pcs 4755-4918). Because entry creation is reachable from a value-receiving path starting at pc 4296, the participant set appears unbounded.",
"severity": "medium",
"locations": [
"pc:4296",
"pc:4342",
"pc:4355",
"pc:4755",
"pc:4899"
],
"recommendation": "Avoid iterating over an unbounded participant set in a single transaction. Use per-user withdrawals, batched processing with progress storage, or a merkle/claim-based settlement design.",
"exploit_scenario": "Any actor able to add many small entries can inflate the settlement array until finalization exceeds the block gas limit. Once that happens, refunds/payouts cannot complete and funds remain stuck behind a loop that must iterate over every stored entry."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x60 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLDATASIZE 00000006: ISZERO 00000007: PUSH2 0x008a 0000000a: JUMPI 0000000b: PUSH1 0x00 0000000d: CALLDATALOAD 0000000e: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 0000002c: SWAP1 0000002d: DIV 0000002e: DUP1 0000002f: PUSH4 0x27e235e3 00000034: EQ 00000035: PUSH2 0x01a7 00000038: JUMPI 00000039: DUP1 0000003a: PUSH4 0x6a42b8f8 0000003f: EQ 00000040: PUSH2 0x01ce 00000043: JUMPI 00000044: DUP1 00000045: PUSH4 0x9e39db73 0000004a: EQ 0000004b: PUSH2 0x01ef 0000004e: JUMPI 0000004f: DUP1 00000050: PUSH4 0xa34dbf91 00000055: EQ 00000056: PUSH2 0x0202 00000059: JUMPI 0000005a: DUP1 0000005b: PUSH4 0xa7c1e629 00000060: EQ 00000061: PUSH2 0x023f 00000064: JUMPI 00000065: DUP1 00000066: PUSH4 0xa9059cbb 0000006b: EQ 0000006c: PUSH2 0x0252 0000006f: JUMPI 00000070: DUP1 00000071: PUSH4 0xe2f15b95 00000076: EQ 00000077: PUSH2 0x0295 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0xec03763d 00000081: EQ 00000082: PUSH2 0x02a2 00000085: JUMPI 00000086: PUSH2 0x008a 00000089: JUMP 0000008a: JUMPDEST 0000008b: PUSH2 0x01a5 0000008e: JUMPDEST 0000008f: PUSH1 0x00 00000091: PUSH1 0x03 00000093: PUSH1 0x00 00000095: POP 00000096: PUSH1 0x00 00000098: CALLER 00000099: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000000ae: AND 000000af: DUP2 000000b0: MSTORE 000000b1: PUSH1 0x20 000000b3: ADD 000000b4: SWAP1 000000b5: DUP2 000000b6: MSTORE 000000b7: PUSH1 0x20 000000b9: ADD 000000ba: PUSH1 0x00 000000bc: KECCAK256 000000bd: PUSH1 0x00 000000bf: SWAP1 000000c0: SLOAD 000000c1: SWAP1 000000c2: PUSH2 0x0100 000000c5: EXP 000000c6: SWAP1 000000c7: DIV 000000c8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000000dd: AND 000000de: SWAP1 000000df: POP 000000e0: PUSH1 0x00 000000e2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000000f7: AND 000000f8: DUP2 000000f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000010e: AND 0000010f: EQ 00000110: ISZERO 00000111: ISZERO 00000112: PUSH2 0x01a1 00000115: JUMPI 00000116: CALLVALUE 00000117: PUSH1 0x02 00000119: PUSH1 0x00 0000011b: POP 0000011c: PUSH1 0x00 0000011e: DUP4 0000011f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000134: AND 00000135: DUP2 00000136: MSTORE 00000137: PUSH1 0x20 00000139: ADD 0000013a: SWAP1 0000013b: DUP2 0000013c: MSTORE 0000013d: PUSH1 0x20 0000013f: ADD 00000140: PUSH1 0x00 00000142: KECCAK256 00000143: PUSH1 0x00 00000145: DUP3 00000146: DUP3 00000147: DUP3 00000148: POP 00000149: SLOAD 0000014a: ADD 0000014b: SWAP3 0000014c: POP 0000014d: POP 0000014e: DUP2 0000014f: SWAP1 00000150: SSTORE 00000151: POP 00000152: PUSH1 0x03 00000154: PUSH1 0x00 00000156: POP 00000157: PUSH1 0x00 00000159: CALLER 0000015a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000016f: AND 00000170: DUP2 00000171: MSTORE 00000172: PUSH1 0x20 00000174: ADD 00000175: SWAP1 00000176: DUP2 00000177: MSTORE 00000178: PUSH1 0x20 0000017a: ADD 0000017b: PUSH1 0x00 0000017d: KECCAK256 0000017e: PUSH1 0x00 00000180: PUSH2 0x0100 00000183: EXP 00000184: DUP2 00000185: SLOAD 00000186: SWAP1 00000187: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000019c: MUL 0000019d: NOT 0000019e: AND 0000019f: SWAP1 000001a0: SSTORE 000001a1: JUMPDEST 000001a2: JUMPDEST 000001a3: POP 000001a4: JUMP 000001a5: JUMPDEST 000001a6: STOP 000001a7: JUMPDEST 000001a8: PUSH2 0x01b8 000001ab: PUSH1 0x04 000001ad: DUP1 000001ae: CALLDATALOAD 000001af: SWAP1 000001b0: PUSH1 0x20 000001b2: ADD 000001b3: POP 000001b4: PUSH2 0x02c4 000001b7: JUMP 000001b8: JUMPDEST 000001b9: PUSH1 0x40 000001bb: MLOAD 000001bc: DUP1 000001bd: DUP3 000001be: DUP2 000001bf: MSTORE 000001c0: PUSH1 0x20 000001c2: ADD 000001c3: SWAP2 000001c4: POP 000001c5: POP 000001c6: PUSH1 0x40 000001c8: MLOAD 000001c9: DUP1 000001ca: SWAP2 000001cb: SUB 000001cc: SWAP1 000001cd: RETURN 000001ce: JUMPDEST 000001cf: PUSH2 0x01d9 000001d2: PUSH1 0x04 000001d4: POP 000001d5: PUSH2 0x02bb 000001d8: JUMP 000001d9: JUMPDEST 000001da: PUSH1 0x40 000001dc: MLOAD 000001dd: DUP1 000001de: DUP3 000001df: DUP2 000001e0: MSTORE 000001e1: PUSH1 0x20 000001e3: ADD 000001e4: SWAP2 000001e5: POP 000001e6: POP 000001e7: PUSH1 0x40 000001e9: MLOAD 000001ea: DUP1 000001eb: SWAP2 000001ec: SUB 000001ed: SWAP1 000001ee: RETURN 000001ef: JUMPDEST 000001f0: PUSH2 0x0200 000001f3: PUSH1 0x04 000001f5: DUP1 000001f6: CALLDATALOAD 000001f7: SWAP1 000001f8: PUSH1 0x20 000001fa: ADD 000001fb: POP 000001fc: PUSH2 0x0317 000001ff: JUMP 00000200: JUMPDEST 00000201: STOP 00000202: JUMPDEST 00000203: PUSH2 0x0213 00000206: PUSH1 0x04 00000208: DUP1 00000209: CALLDATALOAD 0000020a: SWAP1 0000020b: PUSH1 0x20 0000020d: ADD 0000020e: POP 0000020f: PUSH2 0x02df 00000212: JUMP 00000213: JUMPDEST 00000214: PUSH1 0x40 00000216: MLOAD 00000217: DUP1 00000218: DUP3 00000219: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000022e: AND 0000022f: DUP2 00000230: MSTORE 00000231: PUSH1 0x20 00000233: ADD 00000234: SWAP2 00000235: POP 00000236: POP 00000237: PUSH1 0x40 00000239: MLOAD 0000023a: DUP1 0000023b: SWAP2 0000023c: SUB 0000023d: SWAP1 0000023e: RETURN 0000023f: JUMPDEST 00000240: PUSH2 0x0250 00000243: PUSH1 0x04 00000245: DUP1 00000246: CALLDATALOAD 00000247: SWAP1 00000248: PUSH1 0x20 0000024a: ADD 0000024b: POP 0000024c: PUSH2 0x059b 0000024f: JUMP 00000250: JUMPDEST 00000251: STOP 00000252: JUMPDEST 00000253: PUSH2 0x0269 00000256: PUSH1 0x04 00000258: DUP1 00000259: CALLDATALOAD 0000025a: SWAP1 0000025b: PUSH1 0x20 0000025d: ADD 0000025e: DUP1 0000025f: CALLDATALOAD 00000260: SWAP1 00000261: PUSH1 0x20 00000263: ADD 00000264: POP 00000265: PUSH2 0x03ac 00000268: JUMP 00000269: JUMPDEST 0000026a: PUSH1 0x40 0000026c: MLOAD 0000026d: DUP1 0000026e: DUP3 0000026f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000284: AND 00000285: DUP2 00000286: MSTORE 00000287: PUSH1 0x20 00000289: ADD 0000028a: SWAP2 0000028b: POP 0000028c: POP 0000028d: PUSH1 0x40 0000028f: MLOAD 00000290: DUP1 00000291: SWAP2 00000292: SUB 00000293: SWAP1 00000294: RETURN 00000295: JUMPDEST 00000296: PUSH2 0x02a0 00000299: PUSH1 0x04 0000029b: POP 0000029c: PUSH2 0x0863 0000029f: JUMP 000002a0: JUMPDEST 000002a1: STOP 000002a2: JUMPDEST 000002a3: PUSH2 0x02b9 000002a6: PUSH1 0x04 000002a8: DUP1 000002a9: CALLDATALOAD 000002aa: SWAP1 000002ab: PUSH1 0x20 000002ad: ADD 000002ae: DUP1 000002af: CALLDATALOAD 000002b0: SWAP1 000002b1: PUSH1 0x20 000002b3: ADD 000002b4: POP 000002b5: PUSH2 0x06f8 000002b8: JUMP 000002b9: JUMPDEST 000002ba: STOP 000002bb: JUMPDEST 000002bc: PUSH1 0x01 000002be: PUSH1 0x00 000002c0: POP 000002c1: SLOAD 000002c2: DUP2 000002c3: JUMP 000002c4: JUMPDEST 000002c5: PUSH1 0x02 000002c7: PUSH1 0x00 000002c9: POP 000002ca: PUSH1 0x20 000002cc: MSTORE 000002cd: DUP1 000002ce: PUSH1 0x00 000002d0: MSTORE 000002d1: PUSH1 0x40 000002d3: PUSH1 0x00 000002d5: KECCAK256 000002d6: PUSH1 0x00 000002d8: SWAP2 000002d9: POP 000002da: SWAP1 000002db: POP 000002dc: SLOAD 000002dd: DUP2 000002de: JUMP 000002df: JUMPDEST 000002e0: PUSH1 0x03 000002e2: PUSH1 0x00 000002e4: POP 000002e5: PUSH1 0x20 000002e7: MSTORE 000002e8: DUP1 000002e9: PUSH1 0x00 000002eb: MSTORE 000002ec: PUSH1 0x40 000002ee: PUSH1 0x00 000002f0: KECCAK256 000002f1: PUSH1 0x00 000002f3: SWAP2 000002f4: POP 000002f5: SWAP1 000002f6: SWAP1 000002f7: SLOAD 000002f8: SWAP1 000002f9: PUSH2 0x0100 000002fc: EXP 000002fd: SWAP1 000002fe: DIV 000002ff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000314: AND 00000315: DUP2 00000316: JUMP 00000317: JUMPDEST 00000318: CALLVALUE 00000319: PUSH1 0x02 0000031b: PUSH1 0x00 0000031d: POP 0000031e: PUSH1 0x00 00000320: DUP4 00000321: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000336: AND 00000337: DUP2 00000338: MSTORE 00000339: PUSH1 0x20 0000033b: ADD 0000033c: SWAP1 0000033d: DUP2 0000033e: MSTORE 0000033f: PUSH1 0x20 00000341: ADD 00000342: PUSH1 0x00 00000344: KECCAK256 00000345: PUSH1 0x00 00000347: DUP3 00000348: DUP3 00000349: DUP3 0000034a: POP 0000034b: SLOAD 0000034c: ADD 0000034d: SWAP3 0000034e: POP 0000034f: POP 00000350: DUP2 00000351: SWAP1 00000352: SSTORE 00000353: POP 00000354: PUSH32 0xebfcf7c0a1b09f6499e519a8d8bb85ce33cd539ec6cbd964e116cd74943ead1a 00000375: DUP2 00000376: CALLVALUE 00000377: PUSH1 0x40 00000379: MLOAD 0000037a: DUP1 0000037b: DUP4 0000037c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000391: AND 00000392: DUP2 00000393: MSTORE 00000394: PUSH1 0x20 00000396: ADD 00000397: DUP3 00000398: DUP2 00000399: MSTORE 0000039a: PUSH1 0x20 0000039c: ADD 0000039d: SWAP3 0000039e: POP 0000039f: POP 000003a0: POP 000003a1: PUSH1 0x40 000003a3: MLOAD 000003a4: DUP1 000003a5: SWAP2 000003a6: SUB 000003a7: SWAP1 000003a8: LOG1 000003a9: JUMPDEST 000003aa: POP 000003ab: JUMP 000003ac: JUMPDEST 000003ad: PUSH1 0x00 000003af: PUSH1 0x00 000003b1: PUSH1 0x00 000003b3: CALLER 000003b4: SWAP2 000003b5: POP 000003b6: DUP4 000003b7: PUSH1 0x02 000003b9: PUSH1 0x00 000003bb: POP 000003bc: PUSH1 0x00 000003be: DUP5 000003bf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000003d4: AND 000003d5: DUP2 000003d6: MSTORE 000003d7: PUSH1 0x20 000003d9: ADD 000003da: SWAP1 000003db: DUP2 000003dc: MSTORE 000003dd: PUSH1 0x20 000003df: ADD 000003e0: PUSH1 0x00 000003e2: KECCAK256 000003e3: PUSH1 0x00 000003e5: POP 000003e6: SLOAD 000003e7: LT 000003e8: ISZERO 000003e9: PUSH2 0x03f5 000003ec: JUMPI 000003ed: PUSH1 0x00 000003ef: SWAP3 000003f0: POP 000003f1: PUSH2 0x0593 000003f4: JUMP 000003f5: JUMPDEST 000003f6: ADDRESS 000003f7: DUP6 000003f8: PUSH1 0x01 000003fa: PUSH1 0x00 000003fc: POP 000003fd: SLOAD 000003fe: TIMESTAMP 000003ff: ADD 00000400: PUSH1 0x40 00000402: MLOAD 00000403: PUSH2 0x0a44 00000406: DUP1 00000407: PUSH2 0x08f8 0000040a: DUP4 0000040b: CODECOPY 0000040c: ADD 0000040d: DUP1 0000040e: DUP5 0000040f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000424: AND 00000425: DUP2 00000426: MSTORE 00000427: PUSH1 0x20 00000429: ADD 0000042a: DUP4 0000042b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000440: AND 00000441: DUP2 00000442: MSTORE 00000443: PUSH1 0x20 00000445: ADD 00000446: DUP3 00000447: DUP2 00000448: MSTORE 00000449: PUSH1 0x20 0000044b: ADD 0000044c: SWAP4 0000044d: POP 0000044e: POP 0000044f: POP 00000450: POP 00000451: PUSH1 0x40 00000453: MLOAD 00000454: DUP1 00000455: SWAP2 00000456: SUB 00000457: SWAP1 00000458: PUSH1 0x00 0000045a: CREATE 0000045b: SWAP1 0000045c: POP 0000045d: DUP2 0000045e: PUSH1 0x03 00000460: PUSH1 0x00 00000462: POP 00000463: PUSH1 0x00 00000465: DUP4 00000466: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000047b: AND 0000047c: DUP2 0000047d: MSTORE 0000047e: PUSH1 0x20 00000480: ADD 00000481: SWAP1 00000482: DUP2 00000483: MSTORE 00000484: PUSH1 0x20 00000486: ADD 00000487: PUSH1 0x00 00000489: KECCAK256 0000048a: PUSH1 0x00 0000048c: PUSH2 0x0100 0000048f: EXP 00000490: DUP2 00000491: SLOAD 00000492: DUP2 00000493: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004a8: MUL 000004a9: NOT 000004aa: AND 000004ab: SWAP1 000004ac: DUP4 000004ad: MUL 000004ae: OR 000004af: SWAP1 000004b0: SSTORE 000004b1: POP 000004b2: DUP4 000004b3: PUSH1 0x02 000004b5: PUSH1 0x00 000004b7: POP 000004b8: PUSH1 0x00 000004ba: DUP5 000004bb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004d0: AND 000004d1: DUP2 000004d2: MSTORE 000004d3: PUSH1 0x20 000004d5: ADD 000004d6: SWAP1 000004d7: DUP2 000004d8: MSTORE 000004d9: PUSH1 0x20 000004db: ADD 000004dc: PUSH1 0x00 000004de: KECCAK256 000004df: PUSH1 0x00 000004e1: DUP3 000004e2: DUP3 000004e3: DUP3 000004e4: POP 000004e5: SLOAD 000004e6: SUB 000004e7: SWAP3 000004e8: POP 000004e9: POP 000004ea: DUP2 000004eb: SWAP1 000004ec: SSTORE 000004ed: POP 000004ee: DUP1 000004ef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000504: AND 00000505: PUSH1 0x00 00000507: DUP6 00000508: PUSH1 0x40 0000050a: MLOAD 0000050b: DUP1 0000050c: SWAP1 0000050d: POP 0000050e: PUSH1 0x00 00000510: PUSH1 0x40 00000512: MLOAD 00000513: DUP1 00000514: DUP4 00000515: SUB 00000516: DUP2 00000517: DUP6 00000518: DUP9 00000519: DUP9 0000051a: CALL 0000051b: SWAP4 0000051c: POP 0000051d: POP 0000051e: POP 0000051f: POP 00000520: POP 00000521: PUSH32 0x16aa0b27bbcb9be16ed094e558def4db9abff21c0ab71299cd157f1259dc954d 00000542: DUP3 00000543: DUP3 00000544: PUSH1 0x40 00000546: MLOAD 00000547: DUP1 00000548: DUP4 00000549: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000055e: AND 0000055f: DUP2 00000560: MSTORE 00000561: PUSH1 0x20 00000563: ADD 00000564: DUP3 00000565: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000057a: AND 0000057b: DUP2 0000057c: MSTORE 0000057d: PUSH1 0x20 0000057f: ADD 00000580: SWAP3 00000581: POP 00000582: POP 00000583: POP 00000584: PUSH1 0x40 00000586: MLOAD 00000587: DUP1 00000588: SWAP2 00000589: SUB 0000058a: SWAP1 0000058b: LOG1 0000058c: DUP1 0000058d: SWAP3 0000058e: POP 0000058f: PUSH2 0x0593 00000592: JUMP 00000593: JUMPDEST 00000594: POP 00000595: POP 00000596: SWAP3 00000597: SWAP2 00000598: POP 00000599: POP 0000059a: JUMP 0000059b: JUMPDEST 0000059c: PUSH1 0x00 0000059e: PUSH1 0x00 000005a0: PUSH1 0x03 000005a2: PUSH1 0x00 000005a4: POP 000005a5: PUSH1 0x00 000005a7: DUP5 000005a8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005bd: AND 000005be: DUP2 000005bf: MSTORE 000005c0: PUSH1 0x20 000005c2: ADD 000005c3: SWAP1 000005c4: DUP2 000005c5: MSTORE 000005c6: PUSH1 0x20 000005c8: ADD 000005c9: PUSH1 0x00 000005cb: KECCAK256 000005cc: PUSH1 0x00 000005ce: SWAP1 000005cf: SLOAD 000005d0: SWAP1 000005d1: PUSH2 0x0100 000005d4: EXP 000005d5: SWAP1 000005d6: DIV 000005d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005ec: AND 000005ed: SWAP2 000005ee: POP 000005ef: DUP2 000005f0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000605: AND 00000606: CALLER 00000607: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000061c: AND 0000061d: EQ 0000061e: ISZERO 0000061f: PUSH2 0x06f2 00000622: JUMPI 00000623: DUP3 00000624: SWAP1 00000625: POP 00000626: DUP1 00000627: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000063c: AND 0000063d: PUSH4 0xea8a1af0 00000642: PUSH1 0x40 00000644: MLOAD 00000645: DUP2 00000646: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00000664: MUL 00000665: DUP2 00000666: MSTORE 00000667: PUSH1 0x04 00000669: ADD 0000066a: DUP1 0000066b: SWAP1 0000066c: POP 0000066d: PUSH1 0x00 0000066f: PUSH1 0x40 00000671: MLOAD 00000672: DUP1 00000673: DUP4 00000674: SUB 00000675: DUP2 00000676: PUSH1 0x00 00000678: DUP8 00000679: PUSH2 0x61da 0000067c: GAS 0000067d: SUB 0000067e: CALL 0000067f: ISZERO 00000680: PUSH2 0x0002 00000683: JUMPI 00000684: POP 00000685: POP 00000686: POP 00000687: PUSH32 0x389b49de8bb6d1c22491c9b3cecd19807bfba501e0d966b91f877fb3e0eef592 000006a8: DUP3 000006a9: DUP3 000006aa: PUSH1 0x40 000006ac: MLOAD 000006ad: DUP1 000006ae: DUP4 000006af: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006c4: AND 000006c5: DUP2 000006c6: MSTORE 000006c7: PUSH1 0x20 000006c9: ADD 000006ca: DUP3 000006cb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006e0: AND 000006e1: DUP2 000006e2: MSTORE 000006e3: PUSH1 0x20 000006e5: ADD 000006e6: SWAP3 000006e7: POP 000006e8: POP 000006e9: POP 000006ea: PUSH1 0x40 000006ec: MLOAD 000006ed: DUP1 000006ee: SWAP2 000006ef: SUB 000006f0: SWAP1 000006f1: LOG1 000006f2: JUMPDEST 000006f3: JUMPDEST 000006f4: POP 000006f5: POP 000006f6: POP 000006f7: JUMP 000006f8: JUMPDEST 000006f9: PUSH1 0x00 000006fb: PUSH1 0x00 000006fd: PUSH1 0x03 000006ff: PUSH1 0x00 00000701: POP 00000702: PUSH1 0x00 00000704: DUP6 00000705: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000071a: AND 0000071b: DUP2 0000071c: MSTORE 0000071d: PUSH1 0x20 0000071f: ADD 00000720: SWAP1 00000721: DUP2 00000722: MSTORE 00000723: PUSH1 0x20 00000725: ADD 00000726: PUSH1 0x00 00000728: KECCAK256 00000729: PUSH1 0x00 0000072b: SWAP1 0000072c: SLOAD 0000072d: SWAP1 0000072e: PUSH2 0x0100 00000731: EXP 00000732: SWAP1 00000733: DIV 00000734: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000749: AND 0000074a: SWAP2 0000074b: POP 0000074c: DUP2 0000074d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000762: AND 00000763: CALLER 00000764: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000779: AND 0000077a: EQ 0000077b: ISZERO 0000077c: PUSH2 0x085c 0000077f: JUMPI 00000780: DUP4 00000781: SWAP1 00000782: POP 00000783: DUP1 00000784: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000799: AND 0000079a: PUSH4 0x0fe65b36 0000079f: DUP5 000007a0: PUSH1 0x40 000007a2: MLOAD 000007a3: DUP3 000007a4: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 000007c2: MUL 000007c3: DUP2 000007c4: MSTORE 000007c5: PUSH1 0x04 000007c7: ADD 000007c8: DUP1 000007c9: DUP3 000007ca: DUP2 000007cb: MSTORE 000007cc: PUSH1 0x20 000007ce: ADD 000007cf: SWAP2 000007d0: POP 000007d1: POP 000007d2: PUSH1 0x20 000007d4: PUSH1 0x40 000007d6: MLOAD 000007d7: DUP1 000007d8: DUP4 000007d9: SUB 000007da: DUP2 000007db: PUSH1 0x00 000007dd: DUP8 000007de: PUSH2 0x61da 000007e1: GAS 000007e2: SUB 000007e3: CALL 000007e4: ISZERO 000007e5: PUSH2 0x0002 000007e8: JUMPI 000007e9: POP 000007ea: POP 000007eb: POP 000007ec: PUSH1 0x40 000007ee: MLOAD 000007ef: MLOAD 000007f0: POP 000007f1: PUSH32 0xcc8c60ddb14c9f7aecf45ea528d3ffe461f814df00afc8bccdc6c3616f04fd49 00000812: DUP3 00000813: DUP3 00000814: PUSH1 0x40 00000816: MLOAD 00000817: DUP1 00000818: DUP4 00000819: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000082e: AND 0000082f: DUP2 00000830: MSTORE 00000831: PUSH1 0x20 00000833: ADD 00000834: DUP3 00000835: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000084a: AND 0000084b: DUP2 0000084c: MSTORE 0000084d: PUSH1 0x20 0000084f: ADD 00000850: SWAP3 00000851: POP 00000852: POP 00000853: POP 00000854: PUSH1 0x40 00000856: MLOAD 00000857: DUP1 00000858: SWAP2 00000859: SUB 0000085a: SWAP1 0000085b: LOG1 0000085c: JUMPDEST 0000085d: JUMPDEST 0000085e: POP 0000085f: POP 00000860: POP 00000861: POP 00000862: JUMP 00000863: JUMPDEST 00000864: PUSH1 0x00 00000866: PUSH1 0x00 00000868: SWAP1 00000869: SLOAD 0000086a: SWAP1 0000086b: PUSH2 0x0100 0000086e: EXP 0000086f: SWAP1 00000870: DIV 00000871: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000886: AND 00000887: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000089c: AND 0000089d: CALLER 0000089e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008b3: AND 000008b4: EQ 000008b5: ISZERO 000008b6: PUSH2 0x08f4 000008b9: JUMPI 000008ba: PUSH1 0x00 000008bc: PUSH1 0x00 000008be: SWAP1 000008bf: SLOAD 000008c0: SWAP1 000008c1: PUSH2 0x0100 000008c4: EXP 000008c5: SWAP1 000008c6: DIV 000008c7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008dc: AND 000008dd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008f2: AND 000008f3: SELFDESTRUCT 000008f4: JUMPDEST 000008f5: JUMPDEST 000008f6: JUMP 000008f7: STOP 000008f8: PUSH1 0x60 000008fa: PUSH1 0x40 000008fc: MSTORE 000008fd: PUSH1 0x40 000008ff: MLOAD 00000900: PUSH1 0x60 00000902: DUP1 00000903: PUSH2 0x0a44 00000906: DUP4 00000907: CODECOPY 00000908: ADD 00000909: PUSH1 0x40 0000090b: MSTORE 0000090c: PUSH1 0x60 0000090e: DUP1 0000090f: MLOAD 00000910: SWAP1 00000911: PUSH1 0x20 00000913: ADD 00000914: DUP1 00000915: MLOAD 00000916: SWAP1 00000917: PUSH1 0x20 00000919: ADD 0000091a: DUP1 0000091b: MLOAD 0000091c: SWAP1 0000091d: PUSH1 0x20 0000091f: ADD 00000920: POP 00000921: JUMPDEST 00000922: DUP3 00000923: PUSH1 0x00 00000925: PUSH1 0x00 00000927: PUSH2 0x0100 0000092a: EXP 0000092b: DUP2 0000092c: SLOAD 0000092d: DUP2 0000092e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000943: MUL 00000944: NOT 00000945: AND 00000946: SWAP1 00000947: DUP4 00000948: MUL 00000949: OR 0000094a: SWAP1 0000094b: SSTORE 0000094c: POP 0000094d: DUP2 0000094e: PUSH1 0x01 00000950: PUSH1 0x00 00000952: PUSH2 0x0100 00000955: EXP 00000956: DUP2 00000957: SLOAD 00000958: DUP2 00000959: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000096e: MUL 0000096f: NOT 00000970: AND 00000971: SWAP1 00000972: DUP4 00000973: MUL 00000974: OR 00000975: SWAP1 00000976: SSTORE 00000977: POP 00000978: DUP1 00000979: PUSH1 0x02 0000097b: PUSH1 0x00 0000097d: POP 0000097e: DUP2 0000097f: SWAP1 00000980: SSTORE 00000981: POP 00000982: JUMPDEST 00000983: POP 00000984: POP 00000985: POP 00000986: PUSH2 0x09a8 00000989: DUP1 0000098a: PUSH2 0x009c 0000098d: PUSH1 0x00 0000098f: CODECOPY 00000990: PUSH1 0x00 00000992: RETURN 00000993: STOP 00000994: PUSH1 0x60 00000996: PUSH1 0x40 00000998: MSTORE 00000999: CALLDATASIZE 0000099a: ISZERO 0000099b: PUSH2 0x0074 0000099e: JUMPI 0000099f: PUSH1 0x00 000009a1: CALLDATALOAD 000009a2: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 000009c0: SWAP1 000009c1: DIV 000009c2: DUP1 000009c3: PUSH4 0x0fe65b36 000009c8: EQ 000009c9: PUSH2 0x0076 000009cc: JUMPI 000009cd: DUP1 000009ce: PUSH4 0x66d003ac 000009d3: EQ 000009d4: PUSH2 0x00b3 000009d7: JUMPI 000009d8: DUP1 000009d9: PUSH4 0x86d1a69f 000009de: EQ 000009df: PUSH2 0x00ea 000009e2: JUMPI 000009e3: DUP1 000009e4: PUSH4 0x8da5cb5b 000009e9: EQ 000009ea: PUSH2 0x00f7 000009ed: JUMPI 000009ee: DUP1 000009ef: PUSH4 0xb91d4001 000009f4: EQ 000009f5: PUSH2 0x012e 000009f8: JUMPI 000009f9: DUP1 000009fa: PUSH4 0xea8a1af0 000009ff: EQ 00000a00: PUSH2 0x014f 00000a03: JUMPI 00000a04: PUSH2 0x0074 00000a07: JUMP 00000a08: JUMPDEST 00000a09: STOP 00000a0a: JUMPDEST 00000a0b: PUSH2 0x0087 00000a0e: PUSH1 0x04 00000a10: DUP1 00000a11: CALLDATALOAD 00000a12: SWAP1 00000a13: PUSH1 0x20 00000a15: ADD 00000a16: POP 00000a17: PUSH2 0x0291 00000a1a: JUMP 00000a1b: JUMPDEST 00000a1c: PUSH1 0x40 00000a1e: MLOAD 00000a1f: DUP1 00000a20: DUP3 00000a21: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a36: AND 00000a37: DUP2 00000a38: MSTORE 00000a39: PUSH1 0x20 00000a3b: ADD 00000a3c: SWAP2 00000a3d: POP 00000a3e: POP 00000a3f: PUSH1 0x40 00000a41: MLOAD 00000a42: DUP1 00000a43: SWAP2 00000a44: SUB 00000a45: SWAP1 00000a46: RETURN 00000a47: JUMPDEST 00000a48: PUSH2 0x00be 00000a4b: PUSH1 0x04 00000a4d: POP 00000a4e: PUSH2 0x0182 00000a51: JUMP 00000a52: JUMPDEST 00000a53: PUSH1 0x40 00000a55: MLOAD 00000a56: DUP1 00000a57: DUP3 00000a58: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a6d: AND 00000a6e: DUP2 00000a6f: MSTORE 00000a70: PUSH1 0x20 00000a72: ADD 00000a73: SWAP2 00000a74: POP 00000a75: POP 00000a76: PUSH1 0x40 00000a78: MLOAD 00000a79: DUP1 00000a7a: SWAP2 00000a7b: SUB 00000a7c: SWAP1 00000a7d: RETURN 00000a7e: JUMPDEST 00000a7f: PUSH2 0x00f5 00000a82: PUSH1 0x04 00000a84: POP 00000a85: PUSH2 0x01b1 00000a88: JUMP 00000a89: JUMPDEST 00000a8a: STOP 00000a8b: JUMPDEST 00000a8c: PUSH2 0x0102 00000a8f: PUSH1 0x04 00000a91: POP 00000a92: PUSH2 0x015c 00000a95: JUMP 00000a96: JUMPDEST 00000a97: PUSH1 0x40 00000a99: MLOAD 00000a9a: DUP1 00000a9b: DUP3 00000a9c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ab1: AND 00000ab2: DUP2 00000ab3: MSTORE 00000ab4: PUSH1 0x20 00000ab6: ADD 00000ab7: SWAP2 00000ab8: POP 00000ab9: POP 00000aba: PUSH1 0x40 00000abc: MLOAD 00000abd: DUP1 00000abe: SWAP2 00000abf: SUB 00000ac0: SWAP1 00000ac1: RETURN 00000ac2: JUMPDEST 00000ac3: PUSH2 0x0139 00000ac6: PUSH1 0x04 00000ac8: POP 00000ac9: PUSH2 0x01a8 00000acc: JUMP 00000acd: JUMPDEST 00000ace: PUSH1 0x40 00000ad0: MLOAD 00000ad1: DUP1 00000ad2: DUP3 00000ad3: DUP2 00000ad4: MSTORE 00000ad5: PUSH1 0x20 00000ad7: ADD 00000ad8: SWAP2 00000ad9: POP 00000ada: POP 00000adb: PUSH1 0x40 00000add: MLOAD 00000ade: DUP1 00000adf: SWAP2 00000ae0: SUB 00000ae1: SWAP1 00000ae2: RETURN 00000ae3: JUMPDEST 00000ae4: PUSH2 0x015a 00000ae7: PUSH1 0x04 00000ae9: POP 00000aea: PUSH2 0x01fd 00000aed: JUMP 00000aee: JUMPDEST 00000aef: STOP 00000af0: JUMPDEST 00000af1: PUSH1 0x00 00000af3: PUSH1 0x00 00000af5: SWAP1 00000af6: SLOAD 00000af7: SWAP1 00000af8: PUSH2 0x0100 00000afb: EXP 00000afc: SWAP1 00000afd: DIV 00000afe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b13: AND 00000b14: DUP2 00000b15: JUMP 00000b16: JUMPDEST 00000b17: PUSH1 0x01 00000b19: PUSH1 0x00 00000b1b: SWAP1 00000b1c: SLOAD 00000b1d: SWAP1 00000b1e: PUSH2 0x0100 00000b21: EXP 00000b22: SWAP1 00000b23: DIV 00000b24: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b39: AND 00000b3a: DUP2 00000b3b: JUMP 00000b3c: JUMPDEST 00000b3d: PUSH1 0x02 00000b3f: PUSH1 0x00 00000b41: POP 00000b42: SLOAD 00000b43: DUP2 00000b44: JUMP 00000b45: JUMPDEST 00000b46: PUSH1 0x02 00000b48: PUSH1 0x00 00000b4a: POP 00000b4b: SLOAD 00000b4c: TIMESTAMP 00000b4d: LT 00000b4e: ISZERO 00000b4f: ISZERO 00000b50: PUSH2 0x01fa 00000b53: JUMPI 00000b54: PUSH1 0x01 00000b56: PUSH1 0x00 00000b58: SWAP1 00000b59: SLOAD 00000b5a: SWAP1 00000b5b: PUSH2 0x0100 00000b5e: EXP 00000b5f: SWAP1 00000b60: DIV 00000b61: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b76: AND 00000b77: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b8c: AND 00000b8d: SELFDESTRUCT 00000b8e: JUMPDEST 00000b8f: JUMPDEST 00000b90: JUMP 00000b91: JUMPDEST 00000b92: PUSH1 0x00 00000b94: PUSH1 0x00 00000b96: SWAP1 00000b97: SLOAD 00000b98: SWAP1 00000b99: PUSH2 0x0100 00000b9c: EXP 00000b9d: SWAP1 00000b9e: DIV 00000b9f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000bb4: AND 00000bb5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000bca: AND 00000bcb: CALLER 00000bcc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000be1: AND 00000be2: EQ 00000be3: ISZERO 00000be4: PUSH2 0x028e 00000be7: JUMPI 00000be8: PUSH1 0x00 00000bea: PUSH1 0x00 00000bec: SWAP1 00000bed: SLOAD 00000bee: SWAP1 00000bef: PUSH2 0x0100 00000bf2: EXP 00000bf3: SWAP1 00000bf4: DIV 00000bf5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c0a: AND 00000c0b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c20: AND 00000c21: SELFDESTRUCT 00000c22: JUMPDEST 00000c23: JUMPDEST 00000c24: JUMP 00000c25: JUMPDEST 00000c26: PUSH1 0x00 00000c28: PUSH1 0x00 00000c2a: PUSH1 0x00 00000c2c: PUSH1 0x00 00000c2e: PUSH1 0x00 00000c30: SWAP1 00000c31: SLOAD 00000c32: SWAP1 00000c33: PUSH2 0x0100 00000c36: EXP 00000c37: SWAP1 00000c38: DIV 00000c39: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c4e: AND 00000c4f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c64: AND 00000c65: CALLER 00000c66: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c7b: AND 00000c7c: EQ 00000c7d: ISZERO 00000c7e: PUSH2 0x03b2 00000c81: JUMPI 00000c82: PUSH1 0x00 00000c84: SWAP2 00000c85: POP 00000c86: PUSH1 0x00 00000c88: PUSH1 0x00 00000c8a: SWAP1 00000c8b: SLOAD 00000c8c: SWAP1 00000c8d: PUSH2 0x0100 00000c90: EXP 00000c91: SWAP1 00000c92: DIV 00000c93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ca8: AND 00000ca9: DUP3 00000caa: ADDRESS 00000cab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000cc0: AND 00000cc1: BALANCE 00000cc2: DUP7 00000cc3: PUSH1 0x40 00000cc5: MLOAD 00000cc6: PUSH2 0x05ed 00000cc9: DUP1 00000cca: PUSH2 0x03bb 00000ccd: DUP4 00000cce: CODECOPY 00000ccf: ADD 00000cd0: DUP1 00000cd1: DUP6 00000cd2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ce7: AND 00000ce8: DUP2 00000ce9: MSTORE 00000cea: PUSH1 0x20 00000cec: ADD 00000ced: DUP5 00000cee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d03: AND 00000d04: DUP2 00000d05: MSTORE 00000d06: PUSH1 0x20 00000d08: ADD 00000d09: DUP4 00000d0a: DUP2 00000d0b: MSTORE 00000d0c: PUSH1 0x20 00000d0e: ADD 00000d0f: DUP3 00000d10: DUP2 00000d11: MSTORE 00000d12: PUSH1 0x20 00000d14: ADD 00000d15: SWAP5 00000d16: POP 00000d17: POP 00000d18: POP 00000d19: POP 00000d1a: POP 00000d1b: PUSH1 0x40 00000d1d: MLOAD 00000d1e: DUP1 00000d1f: SWAP2 00000d20: SUB 00000d21: SWAP1 00000d22: PUSH1 0x00 00000d24: CREATE 00000d25: SWAP1 00000d26: POP 00000d27: DUP1 00000d28: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d3d: AND 00000d3e: SELFDESTRUCT 00000d3f: DUP1 00000d40: SWAP3 00000d41: POP 00000d42: PUSH2 0x03b3 00000d45: JUMP 00000d46: JUMPDEST 00000d47: JUMPDEST 00000d48: POP 00000d49: POP 00000d4a: SWAP2 00000d4b: SWAP1 00000d4c: POP 00000d4d: JUMP 00000d4e: STOP 00000d4f: PUSH1 0x60 00000d51: PUSH1 0x40 00000d53: MSTORE 00000d54: PUSH1 0x40 00000d56: MLOAD 00000d57: PUSH1 0x80 00000d59: DUP1 00000d5a: PUSH2 0x05ed 00000d5d: DUP4 00000d5e: CODECOPY 00000d5f: ADD 00000d60: PUSH1 0x40 00000d62: MSTORE 00000d63: PUSH1 0x60 00000d65: DUP1 00000d66: MLOAD 00000d67: SWAP1 00000d68: PUSH1 0x20 00000d6a: ADD 00000d6b: DUP1 00000d6c: MLOAD 00000d6d: SWAP1 00000d6e: PUSH1 0x20 00000d70: ADD 00000d71: DUP1 00000d72: MLOAD 00000d73: SWAP1 00000d74: PUSH1 0x20 00000d76: ADD 00000d77: DUP1 00000d78: MLOAD 00000d79: SWAP1 00000d7a: PUSH1 0x20 00000d7c: ADD 00000d7d: POP 00000d7e: JUMPDEST 00000d7f: DUP4 00000d80: PUSH1 0x00 00000d82: PUSH1 0x00 00000d84: PUSH2 0x0100 00000d87: EXP 00000d88: DUP2 00000d89: SLOAD 00000d8a: DUP2 00000d8b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000da0: MUL 00000da1: NOT 00000da2: AND 00000da3: SWAP1 00000da4: DUP4 00000da5: MUL 00000da6: OR 00000da7: SWAP1 00000da8: SSTORE 00000da9: POP 00000daa: DUP3 00000dab: PUSH1 0x01 00000dad: PUSH1 0x00 00000daf: PUSH2 0x0100 00000db2: EXP 00000db3: DUP2 00000db4: SLOAD 00000db5: DUP2 00000db6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000dcb: MUL 00000dcc: NOT 00000dcd: AND 00000dce: SWAP1 00000dcf: DUP4 00000dd0: MUL 00000dd1: OR 00000dd2: SWAP1 00000dd3: SSTORE 00000dd4: POP 00000dd5: DUP2 00000dd6: PUSH1 0x02 00000dd8: PUSH1 0x00 00000dda: POP 00000ddb: DUP2 00000ddc: SWAP1 00000ddd: SSTORE 00000dde: POP 00000ddf: DUP1 00000de0: PUSH1 0x03 00000de2: PUSH1 0x00 00000de4: POP 00000de5: DUP2 00000de6: SWAP1 00000de7: SSTORE 00000de8: POP 00000de9: JUMPDEST 00000dea: POP 00000deb: POP 00000dec: POP 00000ded: POP 00000dee: PUSH2 0x0540 00000df1: DUP1 00000df2: PUSH2 0x00ad 00000df5: PUSH1 0x00 00000df7: CODECOPY 00000df8: PUSH1 0x00 00000dfa: RETURN 00000dfb: STOP 00000dfc: PUSH1 0x60 00000dfe: PUSH1 0x40 00000e00: MSTORE 00000e01: CALLDATASIZE 00000e02: ISZERO 00000e03: PUSH2 0x008a 00000e06: JUMPI 00000e07: PUSH1 0x00 00000e09: CALLDATALOAD 00000e0a: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00000e28: SWAP1 00000e29: DIV 00000e2a: DUP1 00000e2b: PUSH4 0x119f8747 00000e30: EQ 00000e31: PUSH2 0x008c 00000e34: JUMPI 00000e35: DUP1 00000e36: PUSH4 0x29dcb0cf 00000e3b: EQ 00000e3c: PUSH2 0x0099 00000e3f: JUMPI 00000e40: DUP1 00000e41: PUSH4 0x3c24b7d7 00000e46: EQ 00000e47: PUSH2 0x00ba 00000e4a: JUMPI 00000e4b: DUP1 00000e4c: PUSH4 0x552079dc 00000e51: EQ 00000e52: PUSH2 0x00fe 00000e55: JUMPI 00000e56: DUP1 00000e57: PUSH4 0x66d003ac 00000e5c: EQ 00000e5d: PUSH2 0x0135 00000e60: JUMPI 00000e61: DUP1 00000e62: PUSH4 0x702c35fb 00000e67: EQ 00000e68: PUSH2 0x016c 00000e6b: JUMPI 00000e6c: DUP1 00000e6d: PUSH4 0x86d1a69f 00000e72: EQ 00000e73: PUSH2 0x018d 00000e76: JUMPI 00000e77: DUP1 00000e78: PUSH4 0xc9e7e29b 00000e7d: EQ 00000e7e: PUSH2 0x019a 00000e81: JUMPI 00000e82: PUSH2 0x008a 00000e85: JUMP 00000e86: JUMPDEST 00000e87: STOP 00000e88: JUMPDEST 00000e89: PUSH2 0x0097 00000e8c: PUSH1 0x04 00000e8e: POP 00000e8f: PUSH2 0x02cc 00000e92: JUMP 00000e93: JUMPDEST 00000e94: STOP 00000e95: JUMPDEST 00000e96: PUSH2 0x00a4 00000e99: PUSH1 0x04 00000e9b: POP 00000e9c: PUSH2 0x0210 00000e9f: JUMP 00000ea0: JUMPDEST 00000ea1: PUSH1 0x40 00000ea3: MLOAD 00000ea4: DUP1 00000ea5: DUP3 00000ea6: DUP2 00000ea7: MSTORE 00000ea8: PUSH1 0x20 00000eaa: ADD 00000eab: SWAP2 00000eac: POP 00000ead: POP 00000eae: PUSH1 0x40 00000eb0: MLOAD 00000eb1: DUP1 00000eb2: SWAP2 00000eb3: SUB 00000eb4: SWAP1 00000eb5: RETURN 00000eb6: JUMPDEST 00000eb7: PUSH2 0x00cb 00000eba: PUSH1 0x04 00000ebc: DUP1 00000ebd: CALLDATALOAD 00000ebe: SWAP1 00000ebf: PUSH1 0x20 00000ec1: ADD 00000ec2: POP 00000ec3: PUSH2 0x0219 00000ec6: JUMP 00000ec7: JUMPDEST 00000ec8: PUSH1 0x40 00000eca: MLOAD 00000ecb: DUP1 00000ecc: DUP4 00000ecd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ee2: AND 00000ee3: DUP2 00000ee4: MSTORE 00000ee5: PUSH1 0x20 00000ee7: ADD 00000ee8: DUP3 00000ee9: DUP2 00000eea: MSTORE 00000eeb: PUSH1 0x20 00000eed: ADD 00000eee: SWAP3 00000eef: POP 00000ef0: POP 00000ef1: POP 00000ef2: PUSH1 0x40 00000ef4: MLOAD 00000ef5: DUP1 00000ef6: SWAP2 00000ef7: SUB 00000ef8: SWAP1 00000ef9: RETURN 00000efa: JUMPDEST 00000efb: PUSH2 0x0109 00000efe: PUSH1 0x04 00000f00: POP 00000f01: PUSH2 0x01bb 00000f04: JUMP 00000f05: JUMPDEST 00000f06: PUSH1 0x40 00000f08: MLOAD 00000f09: DUP1 00000f0a: DUP3 00000f0b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f20: AND 00000f21: DUP2 00000f22: MSTORE 00000f23: PUSH1 0x20 00000f25: ADD 00000f26: SWAP2 00000f27: POP 00000f28: POP 00000f29: PUSH1 0x40 00000f2b: MLOAD 00000f2c: DUP1 00000f2d: SWAP2 00000f2e: SUB 00000f2f: SWAP1 00000f30: RETURN 00000f31: JUMPDEST 00000f32: PUSH2 0x0140 00000f35: PUSH1 0x04 00000f37: POP 00000f38: PUSH2 0x01e1 00000f3b: JUMP 00000f3c: JUMPDEST 00000f3d: PUSH1 0x40 00000f3f: MLOAD 00000f40: DUP1 00000f41: DUP3 00000f42: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f57: AND 00000f58: DUP2 00000f59: MSTORE 00000f5a: PUSH1 0x20 00000f5c: ADD 00000f5d: SWAP2 00000f5e: POP 00000f5f: POP 00000f60: PUSH1 0x40 00000f62: MLOAD 00000f63: DUP1 00000f64: SWAP2 00000f65: SUB 00000f66: SWAP1 00000f67: RETURN 00000f68: JUMPDEST 00000f69: PUSH2 0x0177 00000f6c: PUSH1 0x04 00000f6e: POP 00000f6f: PUSH2 0x026f 00000f72: JUMP 00000f73: JUMPDEST 00000f74: PUSH1 0x40 00000f76: MLOAD 00000f77: DUP1 00000f78: DUP3 00000f79: DUP2 00000f7a: MSTORE 00000f7b: PUSH1 0x20 00000f7d: ADD 00000f7e: SWAP2 00000f7f: POP 00000f80: POP 00000f81: PUSH1 0x40 00000f83: MLOAD 00000f84: DUP1 00000f85: SWAP2 00000f86: SUB 00000f87: SWAP1 00000f88: RETURN 00000f89: JUMPDEST 00000f8a: PUSH2 0x0198 00000f8d: PUSH1 0x04 00000f8f: POP 00000f90: PUSH2 0x0278 00000f93: JUMP 00000f94: JUMPDEST 00000f95: STOP 00000f96: JUMPDEST 00000f97: PUSH2 0x01a5 00000f9a: PUSH1 0x04 00000f9c: POP 00000f9d: PUSH2 0x0207 00000fa0: JUMP 00000fa1: JUMPDEST 00000fa2: PUSH1 0x40 00000fa4: MLOAD 00000fa5: DUP1 00000fa6: DUP3 00000fa7: DUP2 00000fa8: MSTORE 00000fa9: PUSH1 0x20 00000fab: ADD 00000fac: SWAP2 00000fad: POP 00000fae: POP 00000faf: PUSH1 0x40 00000fb1: MLOAD 00000fb2: DUP1 00000fb3: SWAP2 00000fb4: SUB 00000fb5: SWAP1 00000fb6: RETURN 00000fb7: JUMPDEST 00000fb8: PUSH1 0x00 00000fba: PUSH1 0x00 00000fbc: SWAP1 00000fbd: SLOAD 00000fbe: SWAP1 00000fbf: PUSH2 0x0100 00000fc2: EXP 00000fc3: SWAP1 00000fc4: DIV 00000fc5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fda: AND 00000fdb: DUP2 00000fdc: JUMP 00000fdd: JUMPDEST 00000fde: PUSH1 0x01 00000fe0: PUSH1 0x00 00000fe2: SWAP1 00000fe3: SLOAD 00000fe4: SWAP1 00000fe5: PUSH2 0x0100 00000fe8: EXP 00000fe9: SWAP1 00000fea: DIV 00000feb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001000: AND 00001001: DUP2 00001002: JUMP 00001003: JUMPDEST 00001004: PUSH1 0x02 00001006: PUSH1 0x00 00001008: POP 00001009: SLOAD 0000100a: DUP2 0000100b: JUMP 0000100c: JUMPDEST 0000100d: PUSH1 0x03 0000100f: PUSH1 0x00 00001011: POP 00001012: SLOAD 00001013: DUP2 00001014: JUMP 00001015: JUMPDEST 00001016: PUSH1 0x04 00001018: PUSH1 0x00 0000101a: POP 0000101b: DUP2 0000101c: DUP2 0000101d: SLOAD 0000101e: DUP2 0000101f: LT 00001020: ISZERO 00001021: PUSH2 0x0002 00001024: JUMPI 00001025: SWAP1 00001026: PUSH1 0x00 00001028: MSTORE 00001029: PUSH1 0x20 0000102b: PUSH1 0x00 0000102d: KECCAK256 0000102e: SWAP1 0000102f: PUSH1 0x02 00001031: MUL 00001032: ADD 00001033: PUSH1 0x00 00001035: SWAP2 00001036: POP 00001037: SWAP1 00001038: POP 00001039: DUP1 0000103a: PUSH1 0x00 0000103c: ADD 0000103d: PUSH1 0x00 0000103f: SWAP1 00001040: SLOAD 00001041: SWAP1 00001042: PUSH2 0x0100 00001045: EXP 00001046: SWAP1 00001047: DIV 00001048: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000105d: AND 0000105e: SWAP1 0000105f: DUP1 00001060: PUSH1 0x01 00001062: ADD 00001063: PUSH1 0x00 00001065: POP 00001066: SLOAD 00001067: SWAP1 00001068: POP 00001069: DUP3 0000106a: JUMP 0000106b: JUMPDEST 0000106c: PUSH1 0x05 0000106e: PUSH1 0x00 00001070: POP 00001071: SLOAD 00001072: DUP2 00001073: JUMP 00001074: JUMPDEST 00001075: PUSH1 0x03 00001077: PUSH1 0x00 00001079: POP 0000107a: SLOAD 0000107b: TIMESTAMP 0000107c: LT 0000107d: ISZERO 0000107e: ISZERO 0000107f: PUSH2 0x02c9 00001082: JUMPI 00001083: PUSH2 0x028e 00001086: PUSH2 0x0497 00001089: JUMP 0000108a: JUMPDEST 0000108b: PUSH1 0x00 0000108d: PUSH1 0x00 0000108f: SWAP1 00001090: SLOAD 00001091: SWAP1 00001092: PUSH2 0x0100 00001095: EXP 00001096: SWAP1 00001097: DIV 00001098: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010ad: AND 000010ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010c3: AND 000010c4: SELFDESTRUCT 000010c5: JUMPDEST 000010c6: JUMPDEST 000010c7: JUMP 000010c8: JUMPDEST 000010c9: PUSH1 0x00 000010cb: CALLVALUE 000010cc: GT 000010cd: ISZERO 000010ce: PUSH2 0x0494 000010d1: JUMPI 000010d2: PUSH1 0x40 000010d4: PUSH1 0x40 000010d6: MLOAD 000010d7: SWAP1 000010d8: DUP2 000010d9: ADD 000010da: PUSH1 0x40 000010dc: MSTORE 000010dd: DUP1 000010de: CALLER 000010df: DUP2 000010e0: MSTORE 000010e1: PUSH1 0x20 000010e3: ADD 000010e4: CALLVALUE 000010e5: DUP2 000010e6: MSTORE 000010e7: PUSH1 0x20 000010e9: ADD 000010ea: POP 000010eb: PUSH1 0x04 000010ed: PUSH1 0x00 000010ef: POP 000010f0: PUSH1 0x04 000010f2: PUSH1 0x00 000010f4: POP 000010f5: DUP1 000010f6: SLOAD 000010f7: DUP1 000010f8: SWAP2 000010f9: SWAP1 000010fa: PUSH1 0x01 000010fc: ADD 000010fd: SWAP1 000010fe: SWAP1 000010ff: DUP2 00001100: SLOAD 00001101: DUP2 00001102: DUP4 00001103: SSTORE 00001104: DUP2 00001105: DUP2 00001106: ISZERO 00001107: GT 00001108: PUSH2 0x0378 0000110b: JUMPI 0000110c: PUSH1 0x02 0000110e: MUL 0000110f: DUP2 00001110: PUSH1 0x02 00001112: MUL 00001113: DUP4 00001114: PUSH1 0x00 00001116: MSTORE 00001117: PUSH1 0x20 00001119: PUSH1 0x00 0000111b: KECCAK256 0000111c: SWAP2 0000111d: DUP3 0000111e: ADD 0000111f: SWAP2 00001120: ADD 00001121: PUSH2 0x0377 00001124: SWAP2 00001125: SWAP1 00001126: PUSH2 0x032e 00001129: JUMP 0000112a: JUMPDEST 0000112b: DUP1 0000112c: DUP3 0000112d: GT 0000112e: ISZERO 0000112f: PUSH2 0x0373 00001132: JUMPI 00001133: PUSH1 0x00 00001135: PUSH1 0x00 00001137: DUP3 00001138: ADD 00001139: PUSH1 0x00 0000113b: PUSH2 0x0100 0000113e: EXP 0000113f: DUP2 00001140: SLOAD 00001141: SWAP1 00001142: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001157: MUL 00001158: NOT 00001159: AND 0000115a: SWAP1 0000115b: SSTORE 0000115c: PUSH1 0x01 0000115e: DUP3 0000115f: ADD 00001160: PUSH1 0x00 00001162: POP 00001163: PUSH1 0x00 00001165: SWAP1 00001166: SSTORE 00001167: POP 00001168: PUSH1 0x01 0000116a: ADD 0000116b: PUSH2 0x032e 0000116e: JUMP 0000116f: JUMPDEST 00001170: POP 00001171: SWAP1 00001172: JUMP 00001173: JUMPDEST 00001174: JUMPDEST 00001175: POP 00001176: POP 00001177: POP 00001178: DUP2 00001179: SLOAD 0000117a: DUP2 0000117b: LT 0000117c: ISZERO 0000117d: PUSH2 0x0002 00001180: JUMPI 00001181: SWAP1 00001182: PUSH1 0x00 00001184: MSTORE 00001185: PUSH1 0x20 00001187: PUSH1 0x00 00001189: KECCAK256 0000118a: SWAP1 0000118b: PUSH1 0x02 0000118d: MUL 0000118e: ADD 0000118f: PUSH1 0x00 00001191: POP 00001192: PUSH1 0x00 00001194: DUP3 00001195: ADD 00001196: MLOAD 00001197: DUP2 00001198: PUSH1 0x00 0000119a: ADD 0000119b: PUSH1 0x00 0000119d: PUSH2 0x0100 000011a0: EXP 000011a1: DUP2 000011a2: SLOAD 000011a3: DUP2 000011a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011b9: MUL 000011ba: NOT 000011bb: AND 000011bc: SWAP1 000011bd: DUP4 000011be: MUL 000011bf: OR 000011c0: SWAP1 000011c1: SSTORE 000011c2: POP 000011c3: PUSH1 0x20 000011c5: DUP3 000011c6: ADD 000011c7: MLOAD 000011c8: DUP2 000011c9: PUSH1 0x01 000011cb: ADD 000011cc: PUSH1 0x00 000011ce: POP 000011cf: SSTORE 000011d0: SWAP1 000011d1: POP 000011d2: POP 000011d3: CALLVALUE 000011d4: PUSH1 0x05 000011d6: PUSH1 0x00 000011d8: DUP3 000011d9: DUP3 000011da: DUP3 000011db: POP 000011dc: SLOAD 000011dd: ADD 000011de: SWAP3 000011df: POP 000011e0: POP 000011e1: DUP2 000011e2: SWAP1 000011e3: SSTORE 000011e4: POP 000011e5: PUSH32 0x8fc4de83eddb2e6be67e269b8bfdc735778c7339168d5f734290f474f5647e14 00001206: CALLER 00001207: CALLVALUE 00001208: PUSH1 0x40 0000120a: MLOAD 0000120b: DUP1 0000120c: DUP4 0000120d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001222: AND 00001223: DUP2 00001224: MSTORE 00001225: PUSH1 0x20 00001227: ADD 00001228: DUP3 00001229: DUP2 0000122a: MSTORE 0000122b: PUSH1 0x20 0000122d: ADD 0000122e: SWAP3 0000122f: POP 00001230: POP 00001231: POP 00001232: PUSH1 0x40 00001234: MLOAD 00001235: DUP1 00001236: SWAP2 00001237: SUB 00001238: SWAP1 00001239: LOG1 0000123a: PUSH1 0x02 0000123c: PUSH1 0x00 0000123e: POP 0000123f: SLOAD 00001240: PUSH1 0x05 00001242: PUSH1 0x00 00001244: POP 00001245: SLOAD 00001246: LT 00001247: ISZERO 00001248: ISZERO 00001249: PUSH2 0x0493 0000124c: JUMPI 0000124d: PUSH2 0x0458 00001250: PUSH2 0x0497 00001253: JUMP 00001254: JUMPDEST 00001255: PUSH1 0x01 00001257: PUSH1 0x00 00001259: SWAP1 0000125a: SLOAD 0000125b: SWAP1 0000125c: PUSH2 0x0100 0000125f: EXP 00001260: SWAP1 00001261: DIV 00001262: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001277: AND 00001278: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000128d: AND 0000128e: SELFDESTRUCT 0000128f: JUMPDEST 00001290: JUMPDEST 00001291: JUMPDEST 00001292: JUMP 00001293: JUMPDEST 00001294: PUSH1 0x00 00001296: PUSH1 0x00 00001298: PUSH1 0x00 0000129a: SWAP2 0000129b: POP 0000129c: JUMPDEST 0000129d: PUSH1 0x04 0000129f: PUSH1 0x00 000012a1: POP 000012a2: SLOAD 000012a3: DUP3 000012a4: LT 000012a5: ISZERO 000012a6: PUSH2 0x053b 000012a9: JUMPI 000012aa: PUSH1 0x04 000012ac: PUSH1 0x00 000012ae: POP 000012af: DUP3 000012b0: DUP2 000012b1: SLOAD 000012b2: DUP2 000012b3: LT 000012b4: ISZERO 000012b5: PUSH2 0x0002 000012b8: JUMPI 000012b9: SWAP1 000012ba: PUSH1 0x00 000012bc: MSTORE 000012bd: PUSH1 0x20 000012bf: PUSH1 0x00 000012c1: KECCAK256 000012c2: SWAP1 000012c3: PUSH1 0x02 000012c5: MUL 000012c6: ADD 000012c7: PUSH1 0x00 000012c9: POP 000012ca: SWAP1 000012cb: POP 000012cc: DUP1 000012cd: PUSH1 0x00 000012cf: ADD 000012d0: PUSH1 0x00 000012d2: SWAP1 000012d3: SLOAD 000012d4: SWAP1 000012d5: PUSH2 0x0100 000012d8: EXP 000012d9: SWAP1 000012da: DIV 000012db: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012f0: AND 000012f1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001306: AND 00001307: PUSH1 0x00 00001309: DUP3 0000130a: PUSH1 0x01 0000130c: ADD 0000130d: PUSH1 0x00 0000130f: POP 00001310: SLOAD 00001311: PUSH1 0x40 00001313: MLOAD 00001314: DUP1 00001315: SWAP1 00001316: POP 00001317: PUSH1 0x00 00001319: PUSH1 0x40 0000131b: MLOAD 0000131c: DUP1 0000131d: DUP4 0000131e: SUB 0000131f: DUP2 00001320: DUP6 00001321: DUP9 00001322: DUP9 00001323: CALL 00001324: SWAP4 00001325: POP 00001326: POP 00001327: POP 00001328: POP 00001329: POP 0000132a: JUMPDEST 0000132b: DUP2 0000132c: DUP1 0000132d: PUSH1 0x01 0000132f: ADD 00001330: SWAP3 00001331: POP 00001332: POP 00001333: PUSH2 0x04a0 00001336: JUMP 00001337: JUMPDEST 00001338: JUMPDEST 00001339: POP 0000133a: POP 0000133b: JUMP
Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment.
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | upgradeability | codex | CREATE plus SELFDESTRUCT phase transition is broken on Ethereum mainnet after EIP-6780 | 85 | no | — |
viewevidence_json{
"evidence": "At pc 3202 the bytecode assembles embedded init code and executes CREATE, then immediately SELFDESTRUCTs at pc 3390 to the newly created address. Separately, the parent stores and later reuses child addresses, with CALL sites at pcs 1662 and 2019 against computed stored targets. This strongly suggests a replacement-by-destruction pattern that is unsafe under current mainnet semantics.",
"locations": [
"pc:3202",
"pc:3390",
"pc:1662",
"pc:2019"
],
"recommendation": "Do not rely on metamorphic CREATE+SELFDESTRUCT replacement. Replace this with an explicit state machine or an explicit pointer update in parent storage, and design for post-EIP-6780 semantics where old code persists.",
"exploit_scenario": "A child contract appears to transition to a new phase by deploying a fresh contract and then SELFDESTRUCTing into it. The parent keeps interacting with stored child addresses later. On chain 1, SELFDESTRUCT no longer deletes code/storage for contracts created in prior transactions, so this pattern does not actually replace the old child. Funds may move, but callers can remain pointed at the stale contract while the freshly created contract is not the authoritative address, breaking the intended state-machine/upgrade flow."
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x8eb479756416415812e9bc6dd81c2f1f0cef9fa9c36a21e92b85fb0c8e71a22c
call_targets:
0x17c7d136bdfc4371f989076bb3842be2e73c3ec1
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x8eb479756416415812e9bc6dd81c2f1f0cef9fa9c36a21e92b85fb0c8e71a22c",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x17c7d136bdfc4371f989076bb3842be2e73c3ec1"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x27e235e3",
"selector": "0x27e235e3",
"calldata_variants": [
"0x27e235e3",
"0x27e235e30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6a42b8f8",
"selector": "0x6a42b8f8",
"calldata_variants": [
"0x6a42b8f8",
"0x6a42b8f80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9e39db73",
"selector": "0x9e39db73",
"calldata_variants": [
"0x9e39db73",
"0x9e39db730000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa34dbf91",
"selector": "0xa34dbf91",
"calldata_variants": [
"0xa34dbf91",
"0xa34dbf910000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa7c1e629",
"selector": "0xa7c1e629",
"calldata_variants": [
"0xa7c1e629",
"0xa7c1e6290000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa9059cbb",
"selector": "0xa9059cbb",
"calldata_variants": [
"0xa9059cbb",
"0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe2f15b95",
"selector": "0xe2f15b95",
"calldata_variants": [
"0xe2f15b95",
"0xe2f15b950000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec03763d",
"selector": "0xec03763d",
"calldata_variants": [
"0xec03763d",
"0xec03763d0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1306,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1662,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2019,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 4,
"guards_detected": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 4
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x8eb479756416415812e9bc6dd81c2f1f0cef9fa9c36a21e92b85fb0c8e71a22c
call_targets:
0x17c7d136bdfc4371f989076bb3842be2e73c3ec1
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x8eb479756416415812e9bc6dd81c2f1f0cef9fa9c36a21e92b85fb0c8e71a22c",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x17c7d136bdfc4371f989076bb3842be2e73c3ec1"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x27e235e3",
"selector": "0x27e235e3",
"calldata_variants": [
"0x27e235e3",
"0x27e235e30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6a42b8f8",
"selector": "0x6a42b8f8",
"calldata_variants": [
"0x6a42b8f8",
"0x6a42b8f80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9e39db73",
"selector": "0x9e39db73",
"calldata_variants": [
"0x9e39db73",
"0x9e39db730000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa34dbf91",
"selector": "0xa34dbf91",
"calldata_variants": [
"0xa34dbf91",
"0xa34dbf910000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa7c1e629",
"selector": "0xa7c1e629",
"calldata_variants": [
"0xa7c1e629",
"0xa7c1e6290000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa9059cbb",
"selector": "0xa9059cbb",
"calldata_variants": [
"0xa9059cbb",
"0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe2f15b95",
"selector": "0xe2f15b95",
"calldata_variants": [
"0xe2f15b95",
"0xe2f15b950000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec03763d",
"selector": "0xec03763d",
"calldata_variants": [
"0xec03763d",
"0xec03763d0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1306,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1662,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2019,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 4,
"guards_detected": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|
| medium | other | detector | SELFDESTRUCT reachable | 45 | no | no |
viewtrace_id: 0x086c8302485f2d38ef25bd4b32dffde7fc073df2e64a3dc3e59a473af9d351e1
validation_json{
"sink": "SELFDESTRUCT",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0x086c8302485f2d38ef25bd4b32dffde7fc073df2e64a3dc3e59a473af9d351e1",
"confirmed": false,
"trace_mode": "structLogs",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x27e235e3",
"selector": "0x27e235e3",
"calldata_variants": [
"0x27e235e3",
"0x27e235e30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6a42b8f8",
"selector": "0x6a42b8f8",
"calldata_variants": [
"0x6a42b8f8",
"0x6a42b8f80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9e39db73",
"selector": "0x9e39db73",
"calldata_variants": [
"0x9e39db73",
"0x9e39db730000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa34dbf91",
"selector": "0xa34dbf91",
"calldata_variants": [
"0xa34dbf91",
"0xa34dbf910000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa7c1e629",
"selector": "0xa7c1e629",
"calldata_variants": [
"0xa7c1e629",
"0xa7c1e6290000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa9059cbb",
"selector": "0xa9059cbb",
"calldata_variants": [
"0xa9059cbb",
"0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe2f15b95",
"selector": "0xe2f15b95",
"calldata_variants": [
"0xe2f15b95",
"0xe2f15b950000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec03763d",
"selector": "0xec03763d",
"calldata_variants": [
"0xec03763d",
"0xec03763d0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 1542,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1891,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2205,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3019,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3173,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"selfdestruct_count": 6
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | yes | yes |
viewtrace_id: 0x995f532ca41bae33b7ca4100e6d140323f78639e5dc1ce0a2155e0822c87f465
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "confirmed",
"attempts": 11,
"trace_id": "0x995f532ca41bae33b7ca4100e6d140323f78639e5dc1ce0a2155e0822c87f465",
"confirmed": true,
"trace_mode": "structLogs",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "sink_reached"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x27e235e3",
"selector": "0x27e235e3",
"calldata_variants": [
"0x27e235e3",
"0x27e235e30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6a42b8f8",
"selector": "0x6a42b8f8",
"calldata_variants": [
"0x6a42b8f8",
"0x6a42b8f80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9e39db73",
"selector": "0x9e39db73",
"calldata_variants": [
"0x9e39db73",
"0x9e39db730000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa34dbf91",
"selector": "0xa34dbf91",
"calldata_variants": [
"0xa34dbf91",
"0xa34dbf910000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa7c1e629",
"selector": "0xa7c1e629",
"calldata_variants": [
"0xa7c1e629",
"0xa7c1e6290000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa9059cbb",
"selector": "0xa9059cbb",
"calldata_variants": [
"0xa9059cbb",
"0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe2f15b95",
"selector": "0xe2f15b95",
"calldata_variants": [
"0xe2f15b95",
"0xe2f15b950000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec03763d",
"selector": "0xec03763d",
"calldata_variants": [
"0xec03763d",
"0xec03763d0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 2,
"create2_count": 0
}
|
| medium | other | codex | Unchecked low-level ETH calls can silently skip payouts | 75 | no | — |
viewevidence_json{
"evidence": "Detector artifacts report CALL sites with returndata check unknown/null, and the loop call at pc 4899 clearly has its return value popped without a conditional revert. Earlier value-bearing CALLs at pcs 1306, 1662, and 2019 are also flagged. The settlement path reaches SELFDESTRUCT at pc 4692 after the loop, so failed sends need not halt finalization.",
"locations": [
"pc:1306",
"pc:1662",
"pc:2019",
"pc:4899",
"pc:4692"
],
"recommendation": "Check the boolean result of every low-level CALL that transfers value, and revert or record explicit debt on failure. Prefer pull-payment accounting over best-effort push loops.",
"exploit_scenario": "During settlement, a recipient contract can revert or exhaust gas when receiving ETH. Because the low-level CALL result is not checked, execution continues and later logic can still finalize/selfdestruct, leaving failed payouts unpaid and potentially forwarding leftover ETH to the final beneficiary instead of the intended recipients."
}
|
| medium | other | codex | Unbounded payout loop allows gas-based denial of service | 75 | no | — |
viewevidence_json{
"evidence": "The payable path appends entries to a dynamic array-like structure: length is read/written around pcs 4342 and 4355, entry fields are stored through the keccak-derived region around pcs 4462 and 4684, and a running total is updated around pcs 4572 and 4677. Finalization then loops from index 0 over that stored array and performs one CALL per entry at pc 4899 (loop region pcs 4755-4918). Because entry creation is reachable from a value-receiving path starting at pc 4296, the participant set appears unbounded.",
"locations": [
"pc:4296",
"pc:4342",
"pc:4355",
"pc:4755",
"pc:4899"
],
"recommendation": "Avoid iterating over an unbounded participant set in a single transaction. Use per-user withdrawals, batched processing with progress storage, or a merkle/claim-based settlement design.",
"exploit_scenario": "Any actor able to add many small entries can inflate the settlement array until finalization exceeds the block gas limit. Once that happens, refunds/payouts cannot complete and funds remain stuck behind a loop that must iterate over every stored entry."
}
|