8e2e1262-a944-4f01-aedc-db267ac2d4e0
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 |
|---|---|---|---|---|
| 31523 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 77765 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 77766 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 77767 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 77768 | capability.graph | complete | 1 / 3 | 1 week ago |
| 77769 | detector.run | complete | 1 / 3 | 1 week ago |
| 77770 | validation.fork | complete | 1 / 3 | 1 week ago |
| 113567 | tool.slither | complete | 1 / 2 | 1 week ago |
'forge clean' running (wd: /tmp/slither-_yzqhd72) 'forge config --json' running 'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-_yzqhd72) crytic-compile returned an empty AST. If you are trying to analyze a contract from etherscan or similar make sure it has source code available. No contracts were found in None, check the correct compilation solc-0.4.11 is an outdated solc version. Use a more recent version (at least 0.8.0), if possible. Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity No contract was analyzed . analyzed (0 contracts with 100 detectors), 1 result(s) found
{
"solc": {
"status": "ok",
"use_rc": 0,
"version": "0.4.11",
"strategy": "solc-select",
"solc_path": "/var/www/tripwire/.venv/bin/solc",
"install_rc": 0,
"use_stderr": null,
"use_stdout": "Switched global version to 0.4.11",
"install_stderr": null,
"install_stdout": "Version '0.4.11' is already installed, skipping..."
},
"solc_args": "--base-path /tmp/slither-_yzqhd72 --allow-paths /tmp/slither-_yzqhd72,/tmp/slither-_yzqhd72/lib,/tmp/slither-_yzqhd72/src",
"remappings": [],
"source_files": [
"contracts/Contract.sol"
],
"contract_count": 0,
"contract_names": [],
"detector_count": 1,
"workspace_hash": "d627fede4c4698131c958582e63341532215b45db14fec7aefdf69f27a645a60",
"duration_seconds": 0.40909266471862793,
"solc_version_requested": "0.4.11"
}
[codex:63206] OpenAI Codex v0.77.0 (research preview)
[codex:63206] --------
[codex:63206] workdir: /tmp/codex-multi-u5z37zge
[codex:63206] model: gpt-5.2-codex
[codex:63206] provider: openai
[codex:63206] approval: never
[codex:63206] sandbox: read-only
[codex:63206] reasoning effort: xhigh
[codex:63206] reasoning summaries: auto
[codex:63206] session id: 019b86c5-c305-7dd2-890b-d17eef591c52
[codex:63206] --------
[codex:63206] user
[codex:63206] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:63206]
[codex:63206] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:63206]
[codex:63206] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:63206] - Gas inefficiency, code quality, naming, or best practices
[codex:63206] - Theoretical vulnerabilities without a clear extraction path
[codex:63206] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:63206] - Front-running unless it enables theft beyond MEV
[codex:63206] - DoS, griefing, or issues that don't result in attacker profit
[codex:63206] - Missing events, view function issues, or informational findings
[codex:63206]
[codex:63206] HIGH-VALUE PATTERNS TO HUNT:
[codex:63206] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:63206] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:63206] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:63206] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:63206] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:63206] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:63206] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:63206] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:63206] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:63206]
[codex:63206] For each finding, you MUST provide:
[codex:63206] 1. Exact file and line numbers of vulnerable code
[codex:63206] 2. Step-by-step exploit transaction sequence
[codex:63206] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:63206]
[codex:63206] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:63206]
[codex:63206] Output MUST be valid JSON matching the provided schema.
[codex:63206] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:63206] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:63206] mcp startup: no servers
[codex:63206]
[codex:63206] thinking
[codex:63206] **Preparing to read instructions**
[codex:63206] exec
[codex:63206] /bin/bash -lc ls in /tmp/codex-multi-u5z37zge succeeded in 6ms:
[codex:63206] AUDIT_BUNDLE.txt
[codex:63206] codex-output-schema.json
[codex:63206] contracts
[codex:63206] exec
[codex:63206] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-u5z37zge succeeded in 5ms:
[codex:63206] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:63206]
[codex:63206] ================================================================================
[codex:63206] FILE: contracts/Contract.sol
[codex:63206] ================================================================================
[codex:63206] pragma solidity ^0.4.11;
[codex:63206]
[codex:63206] /*
[codex:63206]
[codex:63206] Status Buyer
[codex:63206] ========================
[codex:63206]
[codex:63206] Buys Status tokens from the crowdsale on your behalf.
[codex:63206] Author: /u/Cintix
[codex:63206]
[codex:63206] */
[codex:63206]
[codex:63206] // ERC20 Interface: https://github.com/ethereum/EIPs/issues/20
[codex:63206] contract ERC20 {
[codex:63206] function transfer(address _to, uint256 _value) returns (bool success);
[codex:63206]
[codex:63206] thinking
[codex:63206] **Preparing to audit for exploit profit**
[codex:63206] exec
[codex:63206] /bin/bash -lc 'nl -ba contracts/Contract.sol' in /tmp/codex-multi-u5z37zge succeeded in 7ms:
[codex:63206] 1 pragma solidity ^0.4.11;
[codex:63206] 2
[codex:63206] 3 /*
[codex:63206] 4
[codex:63206] 5 Status Buyer
[codex:63206] 6 ========================
[codex:63206] 7
[codex:63206] 8 Buys Status tokens from the crowdsale on your behalf.
[codex:63206] 9 Author: /u/Cintix
[codex:63206] 10
[codex:63206] 11 */
[codex:63206] 12
[codex:63206] 13 // ERC20 Interface: https://github.com/ethereum/EIPs/issues/20
[codex:63206] 14 contract ERC20 {
[codex:63206] 15 function transfer(address _to, uint256 _value) returns (bool success);
[codex:63206] 16 function balanceOf(address _owner) constant returns (uint256 balance);
[codex:63206] 17 }
[codex:63206] 18
[codex:63206] 19 // Interface to Status ICO Contract
[codex:63206] 20 contract StatusContribution {
[codex:63206]
[codex:63206]
[codex:63206]
[codex:63206]
[codex:63206]
[codex:63206]
[codex:63206]
[codex:63206] thinking
[codex:63206] **Analyzing withdrawal and buy functions for exploits**
[codex:63206] thinking
[codex:63206] **Identifying underflow vulnerability in bounty handling**
[codex:63206]
[codex:63206] I’m exploring a tricky underflow caused by bounty not resetting after payout, making contract_eth_balance underflow during withdrawal calculations. This corrupts contract_value and can inflate withdrawal amounts, letting users claim more than their fair share. It looks like the math wrapping could let attackers drain tokens proportionally more than deposited by exploiting this bounty state issue.
[codex:63206] thinking
[codex:63206] **Analyzing modular arithmetic impacts on withdrawal calculation**
[codex:63206]
[codex:63206] I’m carefully breaking down how the underflow in contract_eth_balance combined with modulus arithmetic causes eth_amount to become enormous, making withdrawals revert due to insufficient balance. This creates a situation where after bounty payout, users may be unable to withdraw ETH, but token withdrawals depend on successful ETH transfer, so no direct profit arises—though it could lock funds.
[codex:63206] thinking
[codex:63206] **Examining bounty subtraction effects on withdrawal fairness**
[codex:63206]
[codex:63206] I’m working through how subtracting bounty from contract_eth_balance and contract_value affects user withdrawals. Despite the bounty reducing contract_value, the math ensures each depositor still gets value matching their deposit, thanks to proportional calculations with actual ETH and token balances. However, leftover ETH can remain locked, and underflow cases can cause withdrawals to yield zero, effectively blocking access but not creating profit opportunities.
[codex:63206] thinking
[codex:63206] **Analyzing overflow and underflow impact on withdrawal exploits**
[codex:63206]
[codex:63206] I’m exploring whether attackers can force overflow or underflow in contract_value to inflate token withdrawals or ETH payouts. Underflow leads to withdrawal failures unless attackers inject huge ETH, which is impractical. Attempts to manipulate simulated token balances or induce fees reductions seem intended or harmless. Transferring extra tokens or forcing ETH donations affects shares but doesn’t yield profit. Overall, no clear exploit path emerges from these scenarios.
[codex:63206] thinking
[codex:63206] **Evaluating bounty accounting and simulate_ico fee bypass**
[codex:63206]
[codex:63206] I’m carefully checking how bounty funds affect contract balances and withdrawals—it looks like bounty can cause underflow and DoS but not profit. The simulate_ico method can be called repeatedly to inflate simulated token amounts and avoid developer fees, effectively letting an attacker keep 1% extra tokens. While this fee avoidance is a value gain, it’s likely intended behavior rather than a critical exploit. Overall, no clear exploit leads to direct profit beyond fee circumvention.
[codex:63206] thinking
[codex:63206] **Assessing withdrawal logic and bounty interactions**
[codex:63206]
[codex:63206] I’m verifying if withdrawal can be abused to extract more tokens or ETH than deposited, including scenarios with bounty and token transfers to contract. The bounty funds are excluded from withdrawable balance, so depositors can’t claim bounty. Transferring tokens to the contract before buy doesn’t yield profit either, as tokens donated are essentially lost. Possible fee avoidance via simulated_snt remains but is intended. Sale interaction nuances might cause DoS or funds timing issues but not profit. Overall, no concrete exploitable path to extract value appears.
[codex:63206] codex
[codex:63206] {"no_findings":true,"summary":"No concrete, exploitable path to extract ETH/tokens/NFTs found in the provided sources.","findings":[]}
[codex:63206] tokens used
[codex:63206] 32,603
[codex:63206] {"no_findings":true,"summary":"No concrete, exploitable path to extract ETH/tokens/NFTs found in the provided sources.","findings":[]}
{
"codex": {
"ran_at": "2026-01-04T02:17:35.651752+00:00",
"returncode": 0
},
"summary": "No concrete, exploitable path to extract ETH/tokens/NFTs found in the provided sources.",
"raw_final": {
"summary": "No concrete, exploitable path to extract ETH/tokens/NFTs found in the provided sources.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x60 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLDATASIZE 00000006: ISZERO 00000007: PUSH2 0x009e 0000000a: JUMPI 0000000b: PUSH4 0xffffffff 00000010: PUSH1 0xe0 00000012: PUSH1 0x02 00000014: EXP 00000015: PUSH1 0x00 00000017: CALLDATALOAD 00000018: DIV 00000019: AND 0000001a: PUSH4 0x3ccfd60b 0000001f: DUP2 00000020: EQ 00000021: PUSH2 0x00d0 00000024: JUMPI 00000025: DUP1 00000026: PUSH4 0x4bd54f04 0000002b: EQ 0000002c: PUSH2 0x00e2 0000002f: JUMPI 00000030: DUP1 00000031: PUSH4 0x5259347d 00000036: EQ 00000037: PUSH2 0x010e 0000003a: JUMPI 0000003b: DUP1 0000003c: PUSH4 0x62f5ed61 00000041: EQ 00000042: PUSH2 0x0118 00000045: JUMPI 00000046: DUP1 00000047: PUSH4 0x6360fc3f 0000004c: EQ 0000004d: PUSH2 0x0122 00000050: JUMPI 00000051: DUP1 00000052: PUSH4 0x6ad1fe02 00000057: EQ 00000058: PUSH2 0x0146 0000005b: JUMPI 0000005c: DUP1 0000005d: PUSH4 0x943dfef1 00000062: EQ 00000063: PUSH2 0x0172 00000066: JUMPI 00000067: DUP1 00000068: PUSH4 0x97227325 0000006d: EQ 0000006e: PUSH2 0x0194 00000071: JUMPI 00000072: DUP1 00000073: PUSH4 0xa6f2ae3a 00000078: EQ 00000079: PUSH2 0x01a6 0000007c: JUMPI 0000007d: DUP1 0000007e: PUSH4 0xadcaea0a 00000083: EQ 00000084: PUSH2 0x01b8 00000087: JUMPI 00000088: DUP1 00000089: PUSH4 0xfc0c546a 0000008e: EQ 0000008f: PUSH2 0x01e6 00000092: JUMPI 00000093: DUP1 00000094: PUSH4 0xfc7e286d 00000099: EQ 0000009a: PUSH2 0x0212 0000009d: JUMPI 0000009e: JUMPDEST 0000009f: PUSH2 0x00ce 000000a2: JUMPDEST 000000a3: PUSH1 0x03 000000a5: SLOAD 000000a6: CALLER 000000a7: PUSH1 0x01 000000a9: PUSH1 0xa0 000000ab: PUSH1 0x02 000000ad: EXP 000000ae: SUB 000000af: SWAP1 000000b0: DUP2 000000b1: AND 000000b2: PUSH2 0x0100 000000b5: SWAP1 000000b6: SWAP3 000000b7: DIV 000000b8: AND 000000b9: EQ 000000ba: ISZERO 000000bb: PUSH2 0x00c3 000000be: JUMPI 000000bf: PUSH2 0x00cb 000000c2: JUMP 000000c3: JUMPDEST 000000c4: PUSH2 0x00cb 000000c7: PUSH2 0x0240 000000ca: JUMP 000000cb: JUMPDEST 000000cc: JUMPDEST 000000cd: JUMP 000000ce: JUMPDEST 000000cf: STOP 000000d0: JUMPDEST 000000d1: CALLVALUE 000000d2: ISZERO 000000d3: PUSH2 0x00d8 000000d6: JUMPI 000000d7: INVALID 000000d8: JUMPDEST 000000d9: PUSH2 0x00ce 000000dc: PUSH2 0x0325 000000df: JUMP 000000e0: JUMPDEST 000000e1: STOP 000000e2: JUMPDEST 000000e3: CALLVALUE 000000e4: ISZERO 000000e5: PUSH2 0x00ea 000000e8: JUMPI 000000e9: INVALID 000000ea: JUMPDEST 000000eb: PUSH2 0x00f2 000000ee: PUSH2 0x05bb 000000f1: JUMP 000000f2: JUMPDEST 000000f3: PUSH1 0x40 000000f5: DUP1 000000f6: MLOAD 000000f7: PUSH1 0x01 000000f9: PUSH1 0xa0 000000fb: PUSH1 0x02 000000fd: EXP 000000fe: SUB 000000ff: SWAP1 00000100: SWAP3 00000101: AND 00000102: DUP3 00000103: MSTORE 00000104: MLOAD 00000105: SWAP1 00000106: DUP2 00000107: SWAP1 00000108: SUB 00000109: PUSH1 0x20 0000010b: ADD 0000010c: SWAP1 0000010d: RETURN 0000010e: JUMPDEST 0000010f: PUSH2 0x00ce 00000112: PUSH2 0x0240 00000115: JUMP 00000116: JUMPDEST 00000117: STOP 00000118: JUMPDEST 00000119: PUSH2 0x00ce 0000011c: PUSH2 0x05ca 0000011f: JUMP 00000120: JUMPDEST 00000121: STOP 00000122: JUMPDEST 00000123: CALLVALUE 00000124: ISZERO 00000125: PUSH2 0x012a 00000128: JUMPI 00000129: INVALID 0000012a: JUMPDEST 0000012b: PUSH2 0x0132 0000012e: PUSH2 0x05e6 00000131: JUMP 00000132: JUMPDEST 00000133: PUSH1 0x40 00000135: DUP1 00000136: MLOAD 00000137: SWAP2 00000138: ISZERO 00000139: ISZERO 0000013a: DUP3 0000013b: MSTORE 0000013c: MLOAD 0000013d: SWAP1 0000013e: DUP2 0000013f: SWAP1 00000140: SUB 00000141: PUSH1 0x20 00000143: ADD 00000144: SWAP1 00000145: RETURN 00000146: JUMPDEST 00000147: CALLVALUE 00000148: ISZERO 00000149: PUSH2 0x014e 0000014c: JUMPI 0000014d: INVALID 0000014e: JUMPDEST 0000014f: PUSH2 0x00f2 00000152: PUSH2 0x05ef 00000155: JUMP 00000156: JUMPDEST 00000157: PUSH1 0x40 00000159: DUP1 0000015a: MLOAD 0000015b: PUSH1 0x01 0000015d: PUSH1 0xa0 0000015f: PUSH1 0x02 00000161: EXP 00000162: SUB 00000163: SWAP1 00000164: SWAP3 00000165: AND 00000166: DUP3 00000167: MSTORE 00000168: MLOAD 00000169: SWAP1 0000016a: DUP2 0000016b: SWAP1 0000016c: SUB 0000016d: PUSH1 0x20 0000016f: ADD 00000170: SWAP1 00000171: RETURN 00000172: JUMPDEST 00000173: CALLVALUE 00000174: ISZERO 00000175: PUSH2 0x017a 00000178: JUMPI 00000179: INVALID 0000017a: JUMPDEST 0000017b: PUSH2 0x0182 0000017e: PUSH2 0x0603 00000181: JUMP 00000182: JUMPDEST 00000183: PUSH1 0x40 00000185: DUP1 00000186: MLOAD 00000187: SWAP2 00000188: DUP3 00000189: MSTORE 0000018a: MLOAD 0000018b: SWAP1 0000018c: DUP2 0000018d: SWAP1 0000018e: SUB 0000018f: PUSH1 0x20 00000191: ADD 00000192: SWAP1 00000193: RETURN 00000194: JUMPDEST 00000195: CALLVALUE 00000196: ISZERO 00000197: PUSH2 0x019c 0000019a: JUMPI 0000019b: INVALID 0000019c: JUMPDEST 0000019d: PUSH2 0x00ce 000001a0: PUSH2 0x0609 000001a3: JUMP 000001a4: JUMPDEST 000001a5: STOP 000001a6: JUMPDEST 000001a7: CALLVALUE 000001a8: ISZERO 000001a9: PUSH2 0x01ae 000001ac: JUMPI 000001ad: INVALID 000001ae: JUMPDEST 000001af: PUSH2 0x00ce 000001b2: PUSH2 0x092b 000001b5: JUMP 000001b6: JUMPDEST 000001b7: STOP 000001b8: JUMPDEST 000001b9: CALLVALUE 000001ba: ISZERO 000001bb: PUSH2 0x01c0 000001be: JUMPI 000001bf: INVALID 000001c0: JUMPDEST 000001c1: PUSH2 0x0182 000001c4: PUSH1 0x01 000001c6: PUSH1 0xa0 000001c8: PUSH1 0x02 000001ca: EXP 000001cb: SUB 000001cc: PUSH1 0x04 000001ce: CALLDATALOAD 000001cf: AND 000001d0: PUSH2 0x0a04 000001d3: JUMP 000001d4: JUMPDEST 000001d5: PUSH1 0x40 000001d7: DUP1 000001d8: MLOAD 000001d9: SWAP2 000001da: DUP3 000001db: MSTORE 000001dc: MLOAD 000001dd: SWAP1 000001de: DUP2 000001df: SWAP1 000001e0: SUB 000001e1: PUSH1 0x20 000001e3: ADD 000001e4: SWAP1 000001e5: RETURN 000001e6: JUMPDEST 000001e7: CALLVALUE 000001e8: ISZERO 000001e9: PUSH2 0x01ee 000001ec: JUMPI 000001ed: INVALID 000001ee: JUMPDEST 000001ef: PUSH2 0x00f2 000001f2: PUSH2 0x0a16 000001f5: JUMP 000001f6: JUMPDEST 000001f7: PUSH1 0x40 000001f9: DUP1 000001fa: MLOAD 000001fb: PUSH1 0x01 000001fd: PUSH1 0xa0 000001ff: PUSH1 0x02 00000201: EXP 00000202: SUB 00000203: SWAP1 00000204: SWAP3 00000205: AND 00000206: DUP3 00000207: MSTORE 00000208: MLOAD 00000209: SWAP1 0000020a: DUP2 0000020b: SWAP1 0000020c: SUB 0000020d: PUSH1 0x20 0000020f: ADD 00000210: SWAP1 00000211: RETURN 00000212: JUMPDEST 00000213: CALLVALUE 00000214: ISZERO 00000215: PUSH2 0x021a 00000218: JUMPI 00000219: INVALID 0000021a: JUMPDEST 0000021b: PUSH2 0x0182 0000021e: PUSH1 0x01 00000220: PUSH1 0xa0 00000222: PUSH1 0x02 00000224: EXP 00000225: SUB 00000226: PUSH1 0x04 00000228: CALLDATALOAD 00000229: AND 0000022a: PUSH2 0x0a25 0000022d: JUMP 0000022e: JUMPDEST 0000022f: PUSH1 0x40 00000231: DUP1 00000232: MLOAD 00000233: SWAP2 00000234: DUP3 00000235: MSTORE 00000236: MLOAD 00000237: SWAP1 00000238: DUP2 00000239: SWAP1 0000023a: SUB 0000023b: PUSH1 0x20 0000023d: ADD 0000023e: SWAP1 0000023f: RETURN 00000240: JUMPDEST 00000241: PUSH1 0x03 00000243: SLOAD 00000244: PUSH1 0xff 00000246: AND 00000247: ISZERO 00000248: ISZERO 00000249: PUSH2 0x0288 0000024c: JUMPI 0000024d: PUSH1 0x01 0000024f: PUSH1 0xa0 00000251: PUSH1 0x02 00000253: EXP 00000254: SUB 00000255: CALLER 00000256: AND 00000257: PUSH1 0x00 00000259: SWAP1 0000025a: DUP2 0000025b: MSTORE 0000025c: PUSH1 0x20 0000025e: DUP2 0000025f: SWAP1 00000260: MSTORE 00000261: PUSH1 0x40 00000263: SWAP1 00000264: KECCAK256 00000265: DUP1 00000266: SLOAD 00000267: CALLVALUE 00000268: ADD 00000269: SWAP1 0000026a: DUP2 0000026b: SWAP1 0000026c: SSTORE 0000026d: PUSH9 0x01a055690d9db80000 00000277: SWAP1 00000278: GT 00000279: ISZERO 0000027a: PUSH2 0x0283 0000027d: JUMPI 0000027e: PUSH1 0x00 00000280: PUSH1 0x00 00000282: REVERT 00000283: JUMPDEST 00000284: PUSH2 0x00cb 00000287: JUMP 00000288: JUMPDEST 00000289: CALLVALUE 0000028a: ISZERO 0000028b: PUSH2 0x0294 0000028e: JUMPI 0000028f: PUSH1 0x00 00000291: PUSH1 0x00 00000293: REVERT 00000294: JUMPDEST 00000295: PUSH1 0x03 00000297: PUSH1 0x01 00000299: SWAP1 0000029a: SLOAD 0000029b: SWAP1 0000029c: PUSH2 0x0100 0000029f: EXP 000002a0: SWAP1 000002a1: DIV 000002a2: PUSH1 0x01 000002a4: PUSH1 0xa0 000002a6: PUSH1 0x02 000002a8: EXP 000002a9: SUB 000002aa: AND 000002ab: PUSH1 0x01 000002ad: PUSH1 0xa0 000002af: PUSH1 0x02 000002b1: EXP 000002b2: SUB 000002b3: AND 000002b4: PUSH4 0x4084c3ab 000002b9: PUSH1 0x00 000002bb: PUSH1 0x40 000002bd: MLOAD 000002be: PUSH1 0x20 000002c0: ADD 000002c1: MSTORE 000002c2: PUSH1 0x40 000002c4: MLOAD 000002c5: DUP2 000002c6: PUSH4 0xffffffff 000002cb: AND 000002cc: PUSH1 0xe0 000002ce: PUSH1 0x02 000002d0: EXP 000002d1: MUL 000002d2: DUP2 000002d3: MSTORE 000002d4: PUSH1 0x04 000002d6: ADD 000002d7: DUP1 000002d8: SWAP1 000002d9: POP 000002da: PUSH1 0x20 000002dc: PUSH1 0x40 000002de: MLOAD 000002df: DUP1 000002e0: DUP4 000002e1: SUB 000002e2: DUP2 000002e3: PUSH1 0x00 000002e5: DUP8 000002e6: DUP1 000002e7: EXTCODESIZE 000002e8: ISZERO 000002e9: ISZERO 000002ea: PUSH2 0x02ef 000002ed: JUMPI 000002ee: INVALID 000002ef: JUMPDEST 000002f0: PUSH2 0x02c6 000002f3: GAS 000002f4: SUB 000002f5: CALL 000002f6: ISZERO 000002f7: ISZERO 000002f8: PUSH2 0x02fd 000002fb: JUMPI 000002fc: INVALID 000002fd: JUMPDEST 000002fe: POP 000002ff: POP 00000300: PUSH1 0x40 00000302: MLOAD 00000303: MLOAD 00000304: ISZERO 00000305: ISZERO 00000306: SWAP1 00000307: POP 00000308: PUSH2 0x0318 0000030b: JUMPI 0000030c: PUSH2 0x0283 0000030f: PUSH2 0x0609 00000312: JUMP 00000313: JUMPDEST 00000314: PUSH2 0x00cb 00000317: JUMP 00000318: JUMPDEST 00000319: PUSH2 0x00cb 0000031c: PUSH2 0x0325 0000031f: JUMP 00000320: JUMPDEST 00000321: JUMPDEST 00000322: JUMPDEST 00000323: JUMPDEST 00000324: JUMP 00000325: JUMPDEST 00000326: PUSH1 0x01 00000328: PUSH1 0xa0 0000032a: PUSH1 0x02 0000032c: EXP 0000032d: SUB 0000032e: CALLER 0000032f: DUP2 00000330: AND 00000331: PUSH1 0x00 00000333: SWAP1 00000334: DUP2 00000335: MSTORE 00000336: PUSH1 0x20 00000338: DUP2 00000339: DUP2 0000033a: MSTORE 0000033b: PUSH1 0x40 0000033d: DUP1 0000033e: DUP4 0000033f: KECCAK256 00000340: DUP1 00000341: SLOAD 00000342: SWAP1 00000343: DUP5 00000344: SWAP1 00000345: SSTORE 00000346: PUSH1 0x02 00000348: SLOAD 00000349: PUSH1 0x05 0000034b: SLOAD 0000034c: DUP4 0000034d: MLOAD 0000034e: DUP6 0000034f: ADD 00000350: DUP7 00000351: SWAP1 00000352: MSTORE 00000353: DUP4 00000354: MLOAD 00000355: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 00000376: DUP2 00000377: MSTORE 00000378: ADDRESS 00000379: DUP9 0000037a: AND 0000037b: PUSH1 0x04 0000037d: DUP3 0000037e: ADD 0000037f: DUP2 00000380: SWAP1 00000381: MSTORE 00000382: SWAP5 00000383: MLOAD 00000384: SWAP4 00000385: SWAP8 00000386: SWAP5 00000387: BALANCE 00000388: SWAP3 00000389: SWAP1 0000038a: SWAP3 0000038b: SUB 0000038c: SWAP6 0000038d: SWAP5 0000038e: DUP6 0000038f: SWAP5 00000390: DUP6 00000391: SWAP5 00000392: DUP6 00000393: SWAP5 00000394: DUP6 00000395: SWAP5 00000396: SWAP1 00000397: SWAP3 00000398: AND 00000399: SWAP3 0000039a: PUSH4 0x70a08231 0000039f: SWAP3 000003a0: PUSH1 0x24 000003a2: DUP1 000003a3: DUP3 000003a4: ADD 000003a5: SWAP4 000003a6: SWAP2 000003a7: DUP3 000003a8: SWAP1 000003a9: SUB 000003aa: ADD 000003ab: DUP2 000003ac: DUP8 000003ad: DUP8 000003ae: DUP1 000003af: EXTCODESIZE 000003b0: ISZERO 000003b1: ISZERO 000003b2: PUSH2 0x03b7 000003b5: JUMPI 000003b6: INVALID 000003b7: JUMPDEST 000003b8: PUSH2 0x02c6 000003bb: GAS 000003bc: SUB 000003bd: CALL 000003be: ISZERO 000003bf: ISZERO 000003c0: PUSH2 0x03c5 000003c3: JUMPI 000003c4: INVALID 000003c5: JUMPDEST 000003c6: POP 000003c7: POP 000003c8: PUSH1 0x40 000003ca: MLOAD 000003cb: MLOAD 000003cc: SWAP6 000003cd: POP 000003ce: POP 000003cf: PUSH2 0x2710 000003d2: DUP1 000003d3: DUP8 000003d4: MUL 000003d5: DUP7 000003d6: ADD 000003d7: SWAP5 000003d8: POP 000003d9: DUP5 000003da: SWAP1 000003db: DUP9 000003dc: DUP9 000003dd: MUL 000003de: MUL 000003df: DUP2 000003e0: ISZERO 000003e1: ISZERO 000003e2: PUSH2 0x03e7 000003e5: JUMPI 000003e6: INVALID 000003e7: JUMPDEST 000003e8: DIV 000003e9: SWAP3 000003ea: POP 000003eb: DUP4 000003ec: DUP6 000003ed: DUP9 000003ee: MUL 000003ef: DUP2 000003f0: ISZERO 000003f1: ISZERO 000003f2: PUSH2 0x03f7 000003f5: JUMPI 000003f6: INVALID 000003f7: JUMPDEST 000003f8: DIV 000003f9: PUSH2 0x2710 000003fc: MUL 000003fd: SWAP2 000003fe: POP 000003ff: PUSH1 0x00 00000401: SWAP1 00000402: POP 00000403: DUP2 00000404: PUSH1 0x01 00000406: PUSH1 0x00 00000408: CALLER 00000409: PUSH1 0x01 0000040b: PUSH1 0xa0 0000040d: PUSH1 0x02 0000040f: EXP 00000410: SUB 00000411: AND 00000412: PUSH1 0x01 00000414: PUSH1 0xa0 00000416: PUSH1 0x02 00000418: EXP 00000419: SUB 0000041a: AND 0000041b: DUP2 0000041c: MSTORE 0000041d: PUSH1 0x20 0000041f: ADD 00000420: SWAP1 00000421: DUP2 00000422: MSTORE 00000423: PUSH1 0x20 00000425: ADD 00000426: PUSH1 0x00 00000428: KECCAK256 00000429: SLOAD 0000042a: LT 0000042b: ISZERO 0000042c: PUSH2 0x0452 0000042f: JUMPI 00000430: PUSH1 0x01 00000432: PUSH1 0xa0 00000434: PUSH1 0x02 00000436: EXP 00000437: SUB 00000438: CALLER 00000439: AND 0000043a: PUSH1 0x00 0000043c: SWAP1 0000043d: DUP2 0000043e: MSTORE 0000043f: PUSH1 0x01 00000441: PUSH1 0x20 00000443: MSTORE 00000444: PUSH1 0x40 00000446: SWAP1 00000447: KECCAK256 00000448: SLOAD 00000449: PUSH1 0x64 0000044b: SWAP1 0000044c: DUP4 0000044d: SUB 0000044e: JUMPDEST 0000044f: DIV 00000450: SWAP1 00000451: POP 00000452: JUMPDEST 00000453: PUSH1 0x05 00000455: SLOAD 00000456: PUSH1 0x40 00000458: DUP1 00000459: MLOAD 0000045a: PUSH1 0x00 0000045c: PUSH1 0x20 0000045e: SWAP2 0000045f: DUP3 00000460: ADD 00000461: DUP2 00000462: SWAP1 00000463: MSTORE 00000464: DUP3 00000465: MLOAD 00000466: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 00000487: DUP2 00000488: MSTORE 00000489: PUSH1 0x01 0000048b: PUSH1 0xa0 0000048d: PUSH1 0x02 0000048f: EXP 00000490: SUB 00000491: CALLER 00000492: DUP2 00000493: AND 00000494: PUSH1 0x04 00000496: DUP4 00000497: ADD 00000498: MSTORE 00000499: DUP7 0000049a: DUP9 0000049b: SUB 0000049c: PUSH1 0x24 0000049e: DUP4 0000049f: ADD 000004a0: MSTORE 000004a1: SWAP4 000004a2: MLOAD 000004a3: SWAP4 000004a4: SWAP1 000004a5: SWAP5 000004a6: AND 000004a7: SWAP4 000004a8: PUSH4 0xa9059cbb 000004ad: SWAP4 000004ae: PUSH1 0x44 000004b0: DUP1 000004b1: DUP4 000004b2: ADD 000004b3: SWAP5 000004b4: SWAP4 000004b5: SWAP2 000004b6: SWAP3 000004b7: DUP4 000004b8: SWAP1 000004b9: SUB 000004ba: ADD 000004bb: SWAP1 000004bc: DUP3 000004bd: SWAP1 000004be: DUP8 000004bf: DUP1 000004c0: EXTCODESIZE 000004c1: ISZERO 000004c2: ISZERO 000004c3: PUSH2 0x04c8 000004c6: JUMPI 000004c7: INVALID 000004c8: JUMPDEST 000004c9: PUSH2 0x02c6 000004cc: GAS 000004cd: SUB 000004ce: CALL 000004cf: ISZERO 000004d0: ISZERO 000004d1: PUSH2 0x04d6 000004d4: JUMPI 000004d5: INVALID 000004d6: JUMPDEST 000004d7: POP 000004d8: POP 000004d9: PUSH1 0x40 000004db: MLOAD 000004dc: MLOAD 000004dd: ISZERO 000004de: ISZERO 000004df: SWAP1 000004e0: POP 000004e1: PUSH2 0x04ea 000004e4: JUMPI 000004e5: PUSH1 0x00 000004e7: PUSH1 0x00 000004e9: REVERT 000004ea: JUMPDEST 000004eb: PUSH1 0x05 000004ed: SLOAD 000004ee: PUSH1 0x06 000004f0: SLOAD 000004f1: PUSH1 0x40 000004f3: DUP1 000004f4: MLOAD 000004f5: PUSH1 0x00 000004f7: PUSH1 0x20 000004f9: SWAP2 000004fa: DUP3 000004fb: ADD 000004fc: DUP2 000004fd: SWAP1 000004fe: MSTORE 000004ff: DUP3 00000500: MLOAD 00000501: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 00000522: DUP2 00000523: MSTORE 00000524: PUSH1 0x01 00000526: PUSH1 0xa0 00000528: PUSH1 0x02 0000052a: EXP 0000052b: SUB 0000052c: SWAP5 0000052d: DUP6 0000052e: AND 0000052f: PUSH1 0x04 00000531: DUP3 00000532: ADD 00000533: MSTORE 00000534: PUSH1 0x24 00000536: DUP2 00000537: ADD 00000538: DUP8 00000539: SWAP1 0000053a: MSTORE 0000053b: SWAP3 0000053c: MLOAD 0000053d: SWAP4 0000053e: SWAP1 0000053f: SWAP5 00000540: AND 00000541: SWAP4 00000542: PUSH4 0xa9059cbb 00000547: SWAP4 00000548: PUSH1 0x44 0000054a: DUP1 0000054b: DUP6 0000054c: ADD 0000054d: SWAP5 0000054e: SWAP2 0000054f: SWAP3 00000550: SWAP2 00000551: DUP4 00000552: SWAP1 00000553: SUB 00000554: ADD 00000555: SWAP1 00000556: DUP3 00000557: SWAP1 00000558: DUP8 00000559: DUP1 0000055a: EXTCODESIZE 0000055b: ISZERO 0000055c: ISZERO 0000055d: PUSH2 0x0562 00000560: JUMPI 00000561: INVALID 00000562: JUMPDEST 00000563: PUSH2 0x02c6 00000566: GAS 00000567: SUB 00000568: CALL 00000569: ISZERO 0000056a: ISZERO 0000056b: PUSH2 0x0570 0000056e: JUMPI 0000056f: INVALID 00000570: JUMPDEST 00000571: POP 00000572: POP 00000573: PUSH1 0x40 00000575: MLOAD 00000576: MLOAD 00000577: ISZERO 00000578: ISZERO 00000579: SWAP1 0000057a: POP 0000057b: PUSH2 0x0584 0000057e: JUMPI 0000057f: PUSH1 0x00 00000581: PUSH1 0x00 00000583: REVERT 00000584: JUMPDEST 00000585: PUSH1 0x40 00000587: MLOAD 00000588: PUSH1 0x01 0000058a: PUSH1 0xa0 0000058c: PUSH1 0x02 0000058e: EXP 0000058f: SUB 00000590: CALLER 00000591: AND 00000592: SWAP1 00000593: DUP5 00000594: ISZERO 00000595: PUSH2 0x08fc 00000598: MUL 00000599: SWAP1 0000059a: DUP6 0000059b: SWAP1 0000059c: PUSH1 0x00 0000059e: DUP2 0000059f: DUP2 000005a0: DUP2 000005a1: DUP6 000005a2: DUP9 000005a3: DUP9 000005a4: CALL 000005a5: SWAP4 000005a6: POP 000005a7: POP 000005a8: POP 000005a9: POP 000005aa: ISZERO 000005ab: ISZERO 000005ac: PUSH2 0x05b1 000005af: JUMPI 000005b0: INVALID 000005b1: JUMPDEST 000005b2: JUMPDEST 000005b3: POP 000005b4: POP 000005b5: POP 000005b6: POP 000005b7: POP 000005b8: POP 000005b9: POP 000005ba: JUMP 000005bb: JUMPDEST 000005bc: PUSH1 0x04 000005be: SLOAD 000005bf: PUSH1 0x01 000005c1: PUSH1 0xa0 000005c3: PUSH1 0x02 000005c5: EXP 000005c6: SUB 000005c7: AND 000005c8: DUP2 000005c9: JUMP 000005ca: JUMPDEST 000005cb: PUSH1 0x03 000005cd: SLOAD 000005ce: PUSH1 0xff 000005d0: AND 000005d1: ISZERO 000005d2: PUSH2 0x05db 000005d5: JUMPI 000005d6: PUSH1 0x00 000005d8: PUSH1 0x00 000005da: REVERT 000005db: JUMPDEST 000005dc: PUSH1 0x02 000005de: DUP1 000005df: SLOAD 000005e0: CALLVALUE 000005e1: ADD 000005e2: SWAP1 000005e3: SSTORE 000005e4: JUMPDEST 000005e5: JUMP 000005e6: JUMPDEST 000005e7: PUSH1 0x03 000005e9: SLOAD 000005ea: PUSH1 0xff 000005ec: AND 000005ed: DUP2 000005ee: JUMP 000005ef: JUMPDEST 000005f0: PUSH1 0x03 000005f2: SLOAD 000005f3: PUSH2 0x0100 000005f6: SWAP1 000005f7: DIV 000005f8: PUSH1 0x01 000005fa: PUSH1 0xa0 000005fc: PUSH1 0x02 000005fe: EXP 000005ff: SUB 00000600: AND 00000601: DUP2 00000602: JUMP 00000603: JUMPDEST 00000604: PUSH1 0x02 00000606: SLOAD 00000607: DUP2 00000608: JUMP 00000609: JUMPDEST 0000060a: PUSH1 0x00 0000060c: PUSH1 0x00 0000060e: PUSH1 0x00 00000610: PUSH1 0x03 00000612: PUSH1 0x01 00000614: SWAP1 00000615: SLOAD 00000616: SWAP1 00000617: PUSH2 0x0100 0000061a: EXP 0000061b: SWAP1 0000061c: DIV 0000061d: PUSH1 0x01 0000061f: PUSH1 0xa0 00000621: PUSH1 0x02 00000623: EXP 00000624: SUB 00000625: AND 00000626: PUSH1 0x01 00000628: PUSH1 0xa0 0000062a: PUSH1 0x02 0000062c: EXP 0000062d: SUB 0000062e: AND 0000062f: PUSH4 0x3de39c11 00000634: PUSH1 0x00 00000636: PUSH1 0x40 00000638: MLOAD 00000639: PUSH1 0x20 0000063b: ADD 0000063c: MSTORE 0000063d: PUSH1 0x40 0000063f: MLOAD 00000640: DUP2 00000641: PUSH4 0xffffffff 00000646: AND 00000647: PUSH1 0xe0 00000649: PUSH1 0x02 0000064b: EXP 0000064c: MUL 0000064d: DUP2 0000064e: MSTORE 0000064f: PUSH1 0x04 00000651: ADD 00000652: DUP1 00000653: SWAP1 00000654: POP 00000655: PUSH1 0x20 00000657: PUSH1 0x40 00000659: MLOAD 0000065a: DUP1 0000065b: DUP4 0000065c: SUB 0000065d: DUP2 0000065e: PUSH1 0x00 00000660: DUP8 00000661: DUP1 00000662: EXTCODESIZE 00000663: ISZERO 00000664: ISZERO 00000665: PUSH2 0x066a 00000668: JUMPI 00000669: INVALID 0000066a: JUMPDEST 0000066b: PUSH2 0x02c6 0000066e: GAS 0000066f: SUB 00000670: CALL 00000671: ISZERO 00000672: ISZERO 00000673: PUSH2 0x0678 00000676: JUMPI 00000677: INVALID 00000678: JUMPDEST 00000679: POP 0000067a: POP 0000067b: PUSH1 0x40 0000067d: MLOAD 0000067e: MLOAD 0000067f: GASPRICE 00000680: GT 00000681: ISZERO 00000682: SWAP1 00000683: POP 00000684: PUSH2 0x068d 00000687: JUMPI 00000688: PUSH1 0x00 0000068a: PUSH1 0x00 0000068c: REVERT 0000068d: JUMPDEST 0000068e: PUSH1 0x03 00000690: PUSH1 0x01 00000692: SWAP1 00000693: SLOAD 00000694: SWAP1 00000695: PUSH2 0x0100 00000698: EXP 00000699: SWAP1 0000069a: DIV 0000069b: PUSH1 0x01 0000069d: PUSH1 0xa0 0000069f: PUSH1 0x02 000006a1: EXP 000006a2: SUB 000006a3: AND 000006a4: PUSH1 0x01 000006a6: PUSH1 0xa0 000006a8: PUSH1 0x02 000006aa: EXP 000006ab: SUB 000006ac: AND 000006ad: PUSH4 0x48cd4cb1 000006b2: PUSH1 0x00 000006b4: PUSH1 0x40 000006b6: MLOAD 000006b7: PUSH1 0x20 000006b9: ADD 000006ba: MSTORE 000006bb: PUSH1 0x40 000006bd: MLOAD 000006be: DUP2 000006bf: PUSH4 0xffffffff 000006c4: AND 000006c5: PUSH1 0xe0 000006c7: PUSH1 0x02 000006c9: EXP 000006ca: MUL 000006cb: DUP2 000006cc: MSTORE 000006cd: PUSH1 0x04 000006cf: ADD 000006d0: DUP1 000006d1: SWAP1 000006d2: POP 000006d3: PUSH1 0x20 000006d5: PUSH1 0x40 000006d7: MLOAD 000006d8: DUP1 000006d9: DUP4 000006da: SUB 000006db: DUP2 000006dc: PUSH1 0x00 000006de: DUP8 000006df: DUP1 000006e0: EXTCODESIZE 000006e1: ISZERO 000006e2: ISZERO 000006e3: PUSH2 0x06e8 000006e6: JUMPI 000006e7: INVALID 000006e8: JUMPDEST 000006e9: PUSH2 0x02c6 000006ec: GAS 000006ed: SUB 000006ee: CALL 000006ef: ISZERO 000006f0: ISZERO 000006f1: PUSH2 0x06f6 000006f4: JUMPI 000006f5: INVALID 000006f6: JUMPDEST 000006f7: POP 000006f8: POP 000006f9: PUSH1 0x40 000006fb: MLOAD 000006fc: MLOAD 000006fd: NUMBER 000006fe: LT 000006ff: ISZERO 00000700: SWAP1 00000701: POP 00000702: PUSH2 0x070b 00000705: JUMPI 00000706: PUSH1 0x00 00000708: PUSH1 0x00 0000070a: REVERT 0000070b: JUMPDEST 0000070c: PUSH1 0x04 0000070e: PUSH1 0x00 00000710: SWAP1 00000711: SLOAD 00000712: SWAP1 00000713: PUSH2 0x0100 00000716: EXP 00000717: SWAP1 00000718: DIV 00000719: PUSH1 0x01 0000071b: PUSH1 0xa0 0000071d: PUSH1 0x02 0000071f: EXP 00000720: SUB 00000721: AND 00000722: PUSH1 0x01 00000724: PUSH1 0xa0 00000726: PUSH1 0x02 00000728: EXP 00000729: SUB 0000072a: AND 0000072b: PUSH4 0x6e4e5c1d 00000730: PUSH1 0x00 00000732: PUSH1 0x40 00000734: MLOAD 00000735: PUSH1 0x20 00000737: ADD 00000738: MSTORE 00000739: PUSH1 0x40 0000073b: MLOAD 0000073c: DUP2 0000073d: PUSH4 0xffffffff 00000742: AND 00000743: PUSH1 0xe0 00000745: PUSH1 0x02 00000747: EXP 00000748: MUL 00000749: DUP2 0000074a: MSTORE 0000074b: PUSH1 0x04 0000074d: ADD 0000074e: DUP1 0000074f: SWAP1 00000750: POP 00000751: PUSH1 0x20 00000753: PUSH1 0x40 00000755: MLOAD 00000756: DUP1 00000757: DUP4 00000758: SUB 00000759: DUP2 0000075a: PUSH1 0x00 0000075c: DUP8 0000075d: DUP1 0000075e: EXTCODESIZE 0000075f: ISZERO 00000760: ISZERO 00000761: PUSH2 0x0766 00000764: JUMPI 00000765: INVALID 00000766: JUMPDEST 00000767: PUSH2 0x02c6 0000076a: GAS 0000076b: SUB 0000076c: CALL 0000076d: ISZERO 0000076e: ISZERO 0000076f: PUSH2 0x0774 00000772: JUMPI 00000773: INVALID 00000774: JUMPDEST 00000775: POP 00000776: POP 00000777: PUSH1 0x40 00000779: MLOAD 0000077a: MLOAD 0000077b: ISZERO 0000077c: ISZERO 0000077d: SWAP1 0000077e: POP 0000077f: PUSH2 0x0788 00000782: JUMPI 00000783: PUSH1 0x00 00000785: PUSH1 0x00 00000787: REVERT 00000788: JUMPDEST 00000789: PUSH1 0x04 0000078b: DUP1 0000078c: SLOAD 0000078d: PUSH1 0x40 0000078f: DUP1 00000790: MLOAD 00000791: PUSH1 0x00 00000793: PUSH1 0x20 00000795: SWAP2 00000796: DUP3 00000797: ADD 00000798: DUP2 00000799: SWAP1 0000079a: MSTORE 0000079b: DUP3 0000079c: MLOAD 0000079d: PUSH32 0x26987b6000000000000000000000000000000000000000000000000000000000 000007be: DUP2 000007bf: MSTORE 000007c0: SWAP3 000007c1: MLOAD 000007c2: PUSH1 0x01 000007c4: PUSH1 0xa0 000007c6: PUSH1 0x02 000007c8: EXP 000007c9: SUB 000007ca: SWAP1 000007cb: SWAP5 000007cc: AND 000007cd: SWAP5 000007ce: PUSH4 0x1bf7d749 000007d3: SWAP5 000007d4: DUP7 000007d5: SWAP5 000007d6: PUSH4 0x26987b60 000007db: SWAP5 000007dc: DUP2 000007dd: DUP5 000007de: ADD 000007df: SWAP5 000007e0: SWAP1 000007e1: SWAP4 000007e2: SWAP2 000007e3: DUP4 000007e4: SWAP1 000007e5: SUB 000007e6: SWAP1 000007e7: SWAP2 000007e8: ADD 000007e9: SWAP1 000007ea: DUP3 000007eb: SWAP1 000007ec: DUP8 000007ed: DUP1 000007ee: EXTCODESIZE 000007ef: ISZERO 000007f0: ISZERO 000007f1: PUSH2 0x07f6 000007f4: JUMPI 000007f5: INVALID 000007f6: JUMPDEST 000007f7: PUSH2 0x02c6 000007fa: GAS 000007fb: SUB 000007fc: CALL 000007fd: ISZERO 000007fe: ISZERO 000007ff: PUSH2 0x0804 00000802: JUMPI 00000803: INVALID 00000804: JUMPDEST 00000805: POP 00000806: POP 00000807: POP 00000808: PUSH1 0x40 0000080a: MLOAD 0000080b: DUP1 0000080c: MLOAD 0000080d: SWAP1 0000080e: POP 0000080f: PUSH1 0x00 00000811: PUSH1 0x40 00000813: MLOAD 00000814: PUSH1 0x80 00000816: ADD 00000817: MSTORE 00000818: PUSH1 0x40 0000081a: MLOAD 0000081b: DUP3 0000081c: PUSH4 0xffffffff 00000821: AND 00000822: PUSH1 0xe0 00000824: PUSH1 0x02 00000826: EXP 00000827: MUL 00000828: DUP2 00000829: MSTORE 0000082a: PUSH1 0x04 0000082c: ADD 0000082d: DUP1 0000082e: DUP3 0000082f: DUP2 00000830: MSTORE 00000831: PUSH1 0x20 00000833: ADD 00000834: SWAP2 00000835: POP 00000836: POP 00000837: PUSH1 0x80 00000839: PUSH1 0x40 0000083b: MLOAD 0000083c: DUP1 0000083d: DUP4 0000083e: SUB 0000083f: DUP2 00000840: PUSH1 0x00 00000842: DUP8 00000843: DUP1 00000844: EXTCODESIZE 00000845: ISZERO 00000846: ISZERO 00000847: PUSH2 0x084c 0000084a: JUMPI 0000084b: INVALID 0000084c: JUMPDEST 0000084d: PUSH2 0x02c6 00000850: GAS 00000851: SUB 00000852: CALL 00000853: ISZERO 00000854: ISZERO 00000855: PUSH2 0x085a 00000858: JUMPI 00000859: INVALID 0000085a: JUMPDEST 0000085b: POP 0000085c: POP 0000085d: PUSH1 0x40 0000085f: DUP1 00000860: MLOAD 00000861: PUSH1 0x20 00000863: DUP1 00000864: DUP3 00000865: ADD 00000866: DUP1 00000867: MLOAD 00000868: SWAP3 00000869: DUP5 0000086a: ADD 0000086b: MLOAD 0000086c: PUSH1 0x03 0000086e: SLOAD 0000086f: PUSH1 0x00 00000871: SWAP3 00000872: DUP4 00000873: SWAP1 00000874: MSTORE 00000875: DUP6 00000876: MLOAD 00000877: PUSH32 0x1517d10700000000000000000000000000000000000000000000000000000000 00000898: DUP2 00000899: MSTORE 0000089a: SWAP6 0000089b: MLOAD 0000089c: SWAP5 0000089d: SWAP10 0000089e: POP 0000089f: SWAP1 000008a0: SWAP8 000008a1: POP 000008a2: PUSH2 0x0100 000008a5: SWAP1 000008a6: DIV 000008a7: PUSH1 0x01 000008a9: PUSH1 0xa0 000008ab: PUSH1 0x02 000008ad: EXP 000008ae: SUB 000008af: AND 000008b0: SWAP5 000008b1: POP 000008b2: PUSH4 0x1517d107 000008b7: SWAP4 000008b8: PUSH1 0x04 000008ba: DUP1 000008bb: DUP3 000008bc: ADD 000008bd: SWAP5 000008be: SWAP3 000008bf: SWAP2 000008c0: DUP4 000008c1: SWAP1 000008c2: SUB 000008c3: ADD 000008c4: SWAP1 000008c5: DUP3 000008c6: SWAP1 000008c7: DUP8 000008c8: DUP1 000008c9: EXTCODESIZE 000008ca: ISZERO 000008cb: ISZERO 000008cc: PUSH2 0x08d1 000008cf: JUMPI 000008d0: INVALID 000008d1: JUMPDEST 000008d2: PUSH2 0x02c6 000008d5: GAS 000008d6: SUB 000008d7: CALL 000008d8: ISZERO 000008d9: ISZERO 000008da: PUSH2 0x08df 000008dd: JUMPI 000008de: INVALID 000008df: JUMPDEST 000008e0: POP 000008e1: POP 000008e2: PUSH1 0x40 000008e4: MLOAD 000008e5: MLOAD 000008e6: SWAP2 000008e7: POP 000008e8: POP 000008e9: DUP1 000008ea: DUP4 000008eb: GT 000008ec: PUSH2 0x08f5 000008ef: JUMPI 000008f0: PUSH1 0x00 000008f2: PUSH1 0x00 000008f4: REVERT 000008f5: JUMPDEST 000008f6: DUP2 000008f7: DUP2 000008f8: DUP5 000008f9: SUB 000008fa: DUP2 000008fb: ISZERO 000008fc: ISZERO 000008fd: PUSH2 0x0902 00000900: JUMPI 00000901: INVALID 00000902: JUMPDEST 00000903: CALLER 00000904: PUSH1 0x01 00000906: PUSH1 0xa0 00000908: PUSH1 0x02 0000090a: EXP 0000090b: SUB 0000090c: AND 0000090d: PUSH1 0x00 0000090f: SWAP1 00000910: DUP2 00000911: MSTORE 00000912: PUSH1 0x01 00000914: PUSH1 0x20 00000916: MSTORE 00000917: PUSH1 0x40 00000919: SWAP1 0000091a: KECCAK256 0000091b: DUP1 0000091c: SLOAD 0000091d: SWAP3 0000091e: SWAP1 0000091f: SWAP2 00000920: DIV 00000921: SWAP1 00000922: SWAP2 00000923: ADD 00000924: SWAP1 00000925: SSTORE 00000926: JUMPDEST 00000927: POP 00000928: POP 00000929: POP 0000092a: JUMP 0000092b: JUMPDEST 0000092c: PUSH1 0x03 0000092e: SLOAD 0000092f: PUSH1 0xff 00000931: AND 00000932: ISZERO 00000933: PUSH2 0x093b 00000936: JUMPI 00000937: PUSH2 0x00cb 0000093a: JUMP 0000093b: JUMPDEST 0000093c: PUSH1 0x03 0000093e: DUP1 0000093f: SLOAD 00000940: PUSH1 0xff 00000942: NOT 00000943: AND 00000944: PUSH1 0x01 00000946: OR 00000947: SWAP1 00000948: DUP2 00000949: SWAP1 0000094a: SSTORE 0000094b: PUSH1 0x02 0000094d: SLOAD 0000094e: PUSH1 0x40 00000950: DUP1 00000951: MLOAD 00000952: PUSH1 0x00 00000954: PUSH1 0x20 00000956: SWAP2 00000957: DUP3 00000958: ADD 00000959: MSTORE 0000095a: DUP2 0000095b: MLOAD 0000095c: PUSH32 0xf48c305400000000000000000000000000000000000000000000000000000000 0000097d: DUP2 0000097e: MSTORE 0000097f: ADDRESS 00000980: PUSH1 0x01 00000982: PUSH1 0xa0 00000984: PUSH1 0x02 00000986: EXP 00000987: SUB 00000988: SWAP1 00000989: DUP2 0000098a: AND 0000098b: PUSH1 0x04 0000098d: DUP4 0000098e: ADD 0000098f: DUP2 00000990: SWAP1 00000991: MSTORE 00000992: SWAP4 00000993: MLOAD 00000994: PUSH2 0x0100 00000997: SWAP1 00000998: SWAP7 00000999: DIV 0000099a: AND 0000099b: SWAP5 0000099c: PUSH4 0xf48c3054 000009a1: SWAP5 000009a2: SWAP4 000009a3: BALANCE 000009a4: SWAP4 000009a5: SWAP1 000009a6: SWAP4 000009a7: SUB 000009a8: SWAP3 000009a9: PUSH1 0x24 000009ab: DUP1 000009ac: DUP4 000009ad: ADD 000009ae: SWAP4 000009af: SWAP3 000009b0: DUP3 000009b1: SWAP1 000009b2: SUB 000009b3: ADD 000009b4: DUP2 000009b5: DUP6 000009b6: DUP9 000009b7: DUP1 000009b8: EXTCODESIZE 000009b9: ISZERO 000009ba: ISZERO 000009bb: PUSH2 0x09c0 000009be: JUMPI 000009bf: INVALID 000009c0: JUMPDEST 000009c1: PUSH2 0x25ee 000009c4: GAS 000009c5: SUB 000009c6: CALL 000009c7: ISZERO 000009c8: ISZERO 000009c9: PUSH2 0x09ce 000009cc: JUMPI 000009cd: INVALID 000009ce: JUMPDEST 000009cf: POP 000009d0: POP 000009d1: PUSH1 0x40 000009d3: MLOAD 000009d4: PUSH1 0x02 000009d6: SLOAD 000009d7: PUSH1 0x01 000009d9: PUSH1 0xa0 000009db: PUSH1 0x02 000009dd: EXP 000009de: SUB 000009df: CALLER 000009e0: AND 000009e1: SWAP4 000009e2: POP 000009e3: DUP1 000009e4: ISZERO 000009e5: PUSH2 0x08fc 000009e8: MUL 000009e9: SWAP3 000009ea: POP 000009eb: SWAP1 000009ec: PUSH1 0x00 000009ee: DUP2 000009ef: DUP2 000009f0: DUP2 000009f1: DUP6 000009f2: DUP9 000009f3: DUP9 000009f4: CALL 000009f5: SWAP4 000009f6: POP 000009f7: POP 000009f8: POP 000009f9: POP 000009fa: ISZERO 000009fb: ISZERO 000009fc: PUSH2 0x00cb 000009ff: JUMPI 00000a00: INVALID 00000a01: JUMPDEST 00000a02: JUMPDEST 00000a03: JUMP 00000a04: JUMPDEST 00000a05: PUSH1 0x01 00000a07: PUSH1 0x20 00000a09: MSTORE 00000a0a: PUSH1 0x00 00000a0c: SWAP1 00000a0d: DUP2 00000a0e: MSTORE 00000a0f: PUSH1 0x40 00000a11: SWAP1 00000a12: KECCAK256 00000a13: SLOAD 00000a14: DUP2 00000a15: JUMP 00000a16: JUMPDEST 00000a17: PUSH1 0x05 00000a19: SLOAD 00000a1a: PUSH1 0x01 00000a1c: PUSH1 0xa0 00000a1e: PUSH1 0x02 00000a20: EXP 00000a21: SUB 00000a22: AND 00000a23: DUP2 00000a24: JUMP 00000a25: JUMPDEST 00000a26: PUSH1 0x00 00000a28: PUSH1 0x20 00000a2a: DUP2 00000a2b: SWAP1 00000a2c: MSTORE 00000a2d: SWAP1 00000a2e: DUP2 00000a2f: MSTORE 00000a30: PUSH1 0x40 00000a32: SWAP1 00000a33: KECCAK256 00000a34: SLOAD 00000a35: DUP2 00000a36: JUMP 00000a37: STOP 00000a38: LOG1 00000a39: PUSH6 0x627a7a723058 00000a40: KECCAK256 00000a41: UNKNOWN(0xC7) 00000a42: SWAP7 00000a43: UNKNOWN(0xCF) 00000a44: UNKNOWN(0xEF) 00000a45: UNKNOWN(0xAB) 00000a46: NUMBER 00000a47: UNKNOWN(0xCE) 00000a48: UNKNOWN(0xC4) 00000a49: MSTORE 00000a4a: UNKNOWN(0xA6) 00000a4b: DUP14 00000a4c: UNKNOWN(0xDB) 00000a4d: DUP5 00000a4e: JUMPDEST 00000a4f: PUSH32
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | ETH value transfer possible | 55 | yes | yes |
viewtrace_id: 0x2878d49aa95e14ff94418a909661e7ec5d59ea2a0b7dbe58e2cdc507ba71c43a
call_targets:
0x0000000000000000000000000000000000000001, 0x744d70fdbe2ba4cf95131626614a1763df805b9e, 0xcc89405e3cfd38412093840a3ac2f851dd395dfb
target_varies:
yes
classification:
target_varies
validation_json{
"sink": "CALL",
"errors": 0,
"status": "confirmed",
"attempts": 1,
"trace_id": "0x2878d49aa95e14ff94418a909661e7ec5d59ea2a0b7dbe58e2cdc507ba71c43a",
"confirmed": true,
"trace_mode": "callTracer",
"call_targets": [
"0x0000000000000000000000000000000000000001",
"0x744d70fdbe2ba4cf95131626614a1763df805b9e",
"0xcc89405e3cfd38412093840a3ac2f851dd395dfb"
],
"matched_probe": null,
"target_varies": true,
"classification": "target_varies"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x3ccfd60b",
"selector": "0x3ccfd60b",
"calldata_variants": [
"0x3ccfd60b",
"0x3ccfd60b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x4bd54f04",
"selector": "0x4bd54f04",
"calldata_variants": [
"0x4bd54f04",
"0x4bd54f040000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x5259347d",
"selector": "0x5259347d",
"calldata_variants": [
"0x5259347d",
"0x5259347d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x62f5ed61",
"selector": "0x62f5ed61",
"calldata_variants": [
"0x62f5ed61",
"0x62f5ed610000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6360fc3f",
"selector": "0x6360fc3f",
"calldata_variants": [
"0x6360fc3f",
"0x6360fc3f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6ad1fe02",
"selector": "0x6ad1fe02",
"calldata_variants": [
"0x6ad1fe02",
"0x6ad1fe020000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x943dfef1",
"selector": "0x943dfef1",
"calldata_variants": [
"0x943dfef1",
"0x943dfef10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x97227325",
"selector": "0x97227325",
"calldata_variants": [
"0x97227325",
"0x972273250000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 757,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 957,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1230,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 13,
"guards_detected": []
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | yes | yes |
viewtrace_id: 0x2878d49aa95e14ff94418a909661e7ec5d59ea2a0b7dbe58e2cdc507ba71c43a
call_targets:
0x0000000000000000000000000000000000000001, 0x744d70fdbe2ba4cf95131626614a1763df805b9e, 0xcc89405e3cfd38412093840a3ac2f851dd395dfb
target_varies:
yes
classification:
target_varies
validation_json{
"sink": "CALL",
"errors": 0,
"status": "confirmed",
"attempts": 1,
"trace_id": "0x2878d49aa95e14ff94418a909661e7ec5d59ea2a0b7dbe58e2cdc507ba71c43a",
"confirmed": true,
"trace_mode": "callTracer",
"call_targets": [
"0x0000000000000000000000000000000000000001",
"0x744d70fdbe2ba4cf95131626614a1763df805b9e",
"0xcc89405e3cfd38412093840a3ac2f851dd395dfb"
],
"matched_probe": null,
"target_varies": true,
"classification": "target_varies"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x3ccfd60b",
"selector": "0x3ccfd60b",
"calldata_variants": [
"0x3ccfd60b",
"0x3ccfd60b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x4bd54f04",
"selector": "0x4bd54f04",
"calldata_variants": [
"0x4bd54f04",
"0x4bd54f040000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x5259347d",
"selector": "0x5259347d",
"calldata_variants": [
"0x5259347d",
"0x5259347d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x62f5ed61",
"selector": "0x62f5ed61",
"calldata_variants": [
"0x62f5ed61",
"0x62f5ed610000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6360fc3f",
"selector": "0x6360fc3f",
"calldata_variants": [
"0x6360fc3f",
"0x6360fc3f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6ad1fe02",
"selector": "0x6ad1fe02",
"calldata_variants": [
"0x6ad1fe02",
"0x6ad1fe020000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x943dfef1",
"selector": "0x943dfef1",
"calldata_variants": [
"0x943dfef1",
"0x943dfef10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x97227325",
"selector": "0x97227325",
"calldata_variants": [
"0x97227325",
"0x972273250000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 757,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 957,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1230,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 13,
"guards_detected": [],
"untrusted_call_count": 13
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 13
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 13
}
|