c0d05ecc-5a14-4ce1-9cc4-2b103799055d
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 |
|---|---|---|---|---|
| 31090 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 76354 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 76355 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 76356 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 76357 | capability.graph | complete | 1 / 3 | 1 week ago |
| 76358 | detector.run | complete | 1 / 3 | 1 week ago |
| 76359 | validation.fork | complete | 1 / 3 | 1 week ago |
| 113563 | tool.slither | failed | 2 / 2 | 1 week ago |
Traceback (most recent call last):
File "/var/www/tripwire/worker/worker.py", line 198, in main
payload = dispatch_job(job_type, job_id, job_meta, run_data, config, laravel_client)
File "/var/www/tripwire/worker/worker.py", line 114, in dispatch_job
return slither_run.run(job_id, job_meta, run_data, config, log, laravel_client)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/worker/jobs/slither_run.py", line 1056, in run
solc_path, solc_meta = _prepare_solc(chosen_version, workspace)
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/worker/jobs/slither_run.py", line 190, in _prepare_solc
raise RuntimeError(f"solc version {default_version} is too old for supported toolchain")
RuntimeError: solc version 0.4.9 is too old for supported toolchain
[codex:11563] OpenAI Codex v0.77.0 (research preview)
[codex:11563] --------
[codex:11563] workdir: /tmp/codex-multi-kz4snyqc
[codex:11563] model: gpt-5.2-codex
[codex:11563] provider: openai
[codex:11563] approval: never
[codex:11563] sandbox: read-only
[codex:11563] reasoning effort: xhigh
[codex:11563] reasoning summaries: auto
[codex:11563] session id: 019b7a88-fb8a-7112-b2b1-b1a7e5ecdce4
[codex:11563] --------
[codex:11563] user
[codex:11563] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:11563]
[codex:11563] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:11563]
[codex:11563] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:11563] - Gas inefficiency, code quality, naming, or best practices
[codex:11563] - Theoretical vulnerabilities without a clear extraction path
[codex:11563] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:11563] - Front-running unless it enables theft beyond MEV
[codex:11563] - DoS, griefing, or issues that don't result in attacker profit
[codex:11563] - Missing events, view function issues, or informational findings
[codex:11563]
[codex:11563] HIGH-VALUE PATTERNS TO HUNT:
[codex:11563] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:11563] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:11563] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:11563] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:11563] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:11563] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:11563] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:11563] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:11563] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:11563]
[codex:11563] For each finding, you MUST provide:
[codex:11563] 1. Exact file and line numbers of vulnerable code
[codex:11563] 2. Step-by-step exploit transaction sequence
[codex:11563] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:11563]
[codex:11563] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:11563]
[codex:11563] Output MUST be valid JSON matching the provided schema.
[codex:11563] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:11563] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:11563] mcp startup: no servers
[codex:11563]
[codex:11563] thinking
[codex:11563] **Auditing file contents**
[codex:11563] exec
[codex:11563] /bin/bash -lc ls in /tmp/codex-multi-kz4snyqc succeeded in 5ms:
[codex:11563] AUDIT_BUNDLE.txt
[codex:11563] codex-output-schema.json
[codex:11563] contracts
[codex:11563] exec
[codex:11563] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-kz4snyqc succeeded in 5ms:
[codex:11563] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:11563]
[codex:11563] ================================================================================
[codex:11563] FILE: contracts/Contract.sol
[codex:11563] ================================================================================
[codex:11563] pragma solidity ^0.4.9;
[codex:11563]
[codex:11563] contract SafeMath {
[codex:11563] function safeMul(uint a, uint b) internal returns (uint) {
[codex:11563] uint c = a * b;
[codex:11563] assert(a == 0 || c / a == b);
[codex:11563] return c;
[codex:11563] }
[codex:11563]
[codex:11563] function safeSub(uint a, uint b) internal returns (uint) {
[codex:11563] assert(b <= a);
[codex:11563] return a - b;
[codex:11563] }
[codex:11563]
[codex:11563] function safeAdd(uint a, uint b) internal returns (uint) {
[codex:11563]
[codex:11563] thinking
[codex:11563] **Preparing to audit exploit profit**
[codex:11563] exec
[codex:11563] /bin/bash -lc 'nl -ba contracts/Contract.sol' in /tmp/codex-multi-kz4snyqc succeeded in 6ms:
[codex:11563] 1 pragma solidity ^0.4.9;
[codex:11563] 2
[codex:11563] 3 contract SafeMath {
[codex:11563] 4 function safeMul(uint a, uint b) internal returns (uint) {
[codex:11563] 5 uint c = a * b;
[codex:11563] 6 assert(a == 0 || c / a == b);
[codex:11563] 7 return c;
[codex:11563] 8 }
[codex:11563] 9
[codex:11563] 10 function safeSub(uint a, uint b) internal returns (uint) {
[codex:11563] 11 assert(b <= a);
[codex:11563] 12 return a - b;
[codex:11563] 13 }
[codex:11563] 14
[codex:11563] 15 function safeAdd(uint a, uint b) internal returns (uint) {
[codex:11563] 16 uint c = a + b;
[codex:11563] 17 assert(c>=a && c>=b);
[codex:11563] 18 return c;
[codex:11563] 19 }
[codex:11563] 20
[codex:11563]
[codex:11563]
[codex:11563]
[codex:11563] thinking
[codex:11563] **Analyzing potential profit exploits in EtherDelta**
[codex:11563]
[codex:11563] I’m carefully examining EtherDelta’s contract for concrete ways to extract value, focusing on state updates, reentrancy, signature replay, and token-handling quirks. The main realistic exploit involves malicious ERC20 tokens that falsely report successful deposits without transferring tokens, enabling attackers to trade worthless tokens for real ones and withdraw real assets—an internal accounting flaw rather than a direct contract bug but a viable profit path nonetheless. Other investigated avenues like reentrancy or fee rebates seem protected by safe state changes and math checks.
[codex:11563] thinking
[codex:11563] **Evaluating reentrancy and token manipulation impacts**
[codex:11563]
[codex:11563] I’m exploring reentrancy possibilities via external calls in withdraw and trade functions, especially around the accountLevels contract call during tradeBalances; though admin-set and presumably trusted, it could enable order reentrancy to double-spend fills if misused. The dominant exploit remains the unchecked token transfer where malicious ERC20s credit fake internal balances enabling attackers to exchange worthless tokens for real assets, profiting if counterparties accept trades. Other examined vulnerabilities like rounding or signature issues don’t yield concrete profit paths.
[codex:11563] thinking
[codex:11563] **Summarizing the malicious token deposit vulnerability**
[codex:11563]
[codex:11563] I’m outlining the key exploit where EtherDelta trusts ERC20 transferFrom return values without verifying actual transfers, allowing attackers with malicious tokens that falsely report success to fake internal balances. This lets them trade worthless tokens for real assets, profiting by draining counterparties who accept these trades. I’m preparing a detailed step-by-step exploit referencing exact contract lines for depositToken, tradeBalances, and withdraw functions to illustrate the concrete profit extraction path.
[codex:11563] exec
[codex:11563] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-kz4snyqc succeeded in 5ms:
[codex:11563] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:11563]
[codex:11563] thinking
[codex:11563] **Summarizing exploit and recommendations**
[codex:11563] codex
[codex:11563] {"no_findings":false,"summary":"Found 1 concrete profit path: malicious ERC20s can mint internal balances and drain real assets via trades.","findings":[{"severity":"high","category":"other","title":"Phantom token deposits via malicious ERC20 let attacker trade unbacked balances for real assets","exploit_scenario":"1) Attacker deploys an ERC20 that returns true for transferFrom/transfer without moving balances. 2) Attacker calls depositToken(FakeToken, X) to get internal balance credited. 3) Attacker posts an order selling FakeToken for ETH or a real ERC20; a victim fills the order, and tradeBalances transfers the victim’s real asset to the attacker while crediting the victim with FakeToken balance. 4) Attacker withdraws the real asset via withdraw/withdrawToken, profiting; the victim cannot redeem FakeToken because transfers succeed but send nothing.","recommendation":"Restrict tradable tokens to a whitelist and/or verify actual token movement by checking the contract’s token balance before/after transferFrom; reject tokens that do not increase the balance by the expected amount (or explicitly disallow fee-on-transfer tokens).","evidence":"depositToken trusts Token(token).transferFrom return value and credits internal balance without verifying actual token receipt (contracts/Contract.sol:226-231); tradeBalances uses internal balances to move real assets (contracts/Contract.sol:265-278).","locations":["contracts/Contract.sol:226","contracts/Contract.sol:229","contracts/Contract.sol:230","contracts/Contract.sol:265","contracts/Contract.sol:274","contracts/Contract.sol:277"]}]}
[codex:11563] tokens used
[codex:11563] 27,645
[codex:11563] {"no_findings":false,"summary":"Found 1 concrete profit path: malicious ERC20s can mint internal balances and drain real assets via trades.","findings":[{"severity":"high","category":"other","title":"Phantom token deposits via malicious ERC20 let attacker trade unbacked balances for real assets","exploit_scenario":"1) Attacker deploys an ERC20 that returns true for transferFrom/transfer without moving balances. 2) Attacker calls depositToken(FakeToken, X) to get internal balance credited. 3) Attacker posts an order selling FakeToken for ETH or a real ERC20; a victim fills the order, and tradeBalances transfers the victim’s real asset to the attacker while crediting the victim with FakeToken balance. 4) Attacker withdraws the real asset via withdraw/withdrawToken, profiting; the victim cannot redeem FakeToken because transfers succeed but send nothing.","recommendation":"Restrict tradable tokens to a whitelist and/or verify actual token movement by checking the contract’s token balance before/after transferFrom; reject tokens that do not increase the balance by the expected amount (or explicitly disallow fee-on-transfer tokens).","evidence":"depositToken trusts Token(token).transferFrom return value and credits internal balance without verifying actual token receipt (contracts/Contract.sol:226-231); tradeBalances uses internal balances to move real assets (contracts/Contract.sol:265-278).","locations":["contracts/Contract.sol:226","contracts/Contract.sol:229","contracts/Contract.sol:230","contracts/Contract.sol:265","contracts/Contract.sol:274","contracts/Contract.sol:277"]}]}
{
"codex": {
"ran_at": "2026-01-01T17:12:55.015492+00:00",
"returncode": 0
},
"summary": "Found 1 concrete profit path: malicious ERC20s can mint internal balances and drain real assets via trades.",
"raw_final": {
"summary": "Found 1 concrete profit path: malicious ERC20s can mint internal balances and drain real assets via trades.",
"findings": [
{
"title": "Phantom token deposits via malicious ERC20 let attacker trade unbacked balances for real assets",
"category": "other",
"evidence": "depositToken trusts Token(token).transferFrom return value and credits internal balance without verifying actual token receipt (contracts/Contract.sol:226-231); tradeBalances uses internal balances to move real assets (contracts/Contract.sol:265-278).",
"severity": "high",
"locations": [
"contracts/Contract.sol:226",
"contracts/Contract.sol:229",
"contracts/Contract.sol:230",
"contracts/Contract.sol:265",
"contracts/Contract.sol:274",
"contracts/Contract.sol:277"
],
"recommendation": "Restrict tradable tokens to a whitelist and/or verify actual token movement by checking the contract\u2019s token balance before/after transferFrom; reject tokens that do not increase the balance by the expected amount (or explicitly disallow fee-on-transfer tokens).",
"exploit_scenario": "1) Attacker deploys an ERC20 that returns true for transferFrom/transfer without moving balances. 2) Attacker calls depositToken(FakeToken, X) to get internal balance credited. 3) Attacker posts an order selling FakeToken for ETH or a real ERC20; a victim fills the order, and tradeBalances transfers the victim\u2019s real asset to the attacker while crediting the victim with FakeToken balance. 4) Attacker withdraws the real asset via withdraw/withdrawToken, profiting; the victim cannot redeem FakeToken because transfers succeed but send nothing."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x60 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLDATASIZE 00000006: ISZERO 00000007: PUSH2 0x0138 0000000a: JUMPI 0000000b: PUSH4 0xffffffff 00000010: PUSH1 0xe0 00000012: PUSH1 0x02 00000014: EXP 00000015: PUSH1 0x00 00000017: CALLDATALOAD 00000018: DIV 00000019: AND 0000001a: PUSH4 0x0a19b14a 0000001f: DUP2 00000020: EQ 00000021: PUSH2 0x014d 00000024: JUMPI 00000025: DUP1 00000026: PUSH4 0x0b927666 0000002b: EQ 0000002c: PUSH2 0x0199 0000002f: JUMPI 00000030: DUP1 00000031: PUSH4 0x19774d43 00000036: EQ 00000037: PUSH2 0x01ca 0000003a: JUMPI 0000003b: DUP1 0000003c: PUSH4 0x278b8c0e 00000041: EQ 00000042: PUSH2 0x01fb 00000045: JUMPI 00000046: DUP1 00000047: PUSH4 0x2e1a7d4d 0000004c: EQ 0000004d: PUSH2 0x0239 00000050: JUMPI 00000051: DUP1 00000052: PUSH4 0x338b5dea 00000057: EQ 00000058: PUSH2 0x024e 0000005b: JUMPI 0000005c: DUP1 0000005d: PUSH4 0x46be96c3 00000062: EQ 00000063: PUSH2 0x026f 00000066: JUMPI 00000067: DUP1 00000068: PUSH4 0x508493bc 0000006d: EQ 0000006e: PUSH2 0x02c7 00000071: JUMPI 00000072: DUP1 00000073: PUSH4 0x54d03b5c 00000078: EQ 00000079: PUSH2 0x02fb 0000007c: JUMPI 0000007d: DUP1 0000007e: PUSH4 0x57786394 00000083: EQ 00000084: PUSH2 0x0310 00000087: JUMPI 00000088: DUP1 00000089: PUSH4 0x5e1d7ae4 0000008e: EQ 0000008f: PUSH2 0x0332 00000092: JUMPI 00000093: DUP1 00000094: PUSH4 0x65e17c9d 00000099: EQ 0000009a: PUSH2 0x0347 0000009d: JUMPI 0000009e: DUP1 0000009f: PUSH4 0x6c86888b 000000a4: EQ 000000a5: PUSH2 0x0373 000000a8: JUMPI 000000a9: DUP1 000000aa: PUSH4 0x71ffcb16 000000af: EQ 000000b0: PUSH2 0x03dc 000000b3: JUMPI 000000b4: DUP1 000000b5: PUSH4 0x731c2f81 000000ba: EQ 000000bb: PUSH2 0x03fa 000000be: JUMPI 000000bf: DUP1 000000c0: PUSH4 0x8823a9c0 000000c5: EQ 000000c6: PUSH2 0x041c 000000c9: JUMPI 000000ca: DUP1 000000cb: PUSH4 0x8f283970 000000d0: EQ 000000d1: PUSH2 0x0431 000000d4: JUMPI 000000d5: DUP1 000000d6: PUSH4 0x9e281a98 000000db: EQ 000000dc: PUSH2 0x044f 000000df: JUMPI 000000e0: DUP1 000000e1: PUSH4 0xbb5f4629 000000e6: EQ 000000e7: PUSH2 0x0470 000000ea: JUMPI 000000eb: DUP1 000000ec: PUSH4 0xc281309e 000000f1: EQ 000000f2: PUSH2 0x04a3 000000f5: JUMPI 000000f6: DUP1 000000f7: PUSH4 0xd0e30db0 000000fc: EQ 000000fd: PUSH2 0x04c5 00000100: JUMPI 00000101: DUP1 00000102: PUSH4 0xe8f6bc2e 00000107: EQ 00000108: PUSH2 0x04cf 0000010b: JUMPI 0000010c: DUP1 0000010d: PUSH4 0xf3412942 00000112: EQ 00000113: PUSH2 0x04ed 00000116: JUMPI 00000117: DUP1 00000118: PUSH4 0xf7888aec 0000011d: EQ 0000011e: PUSH2 0x0519 00000121: JUMPI 00000122: DUP1 00000123: PUSH4 0xf851a440 00000128: EQ 00000129: PUSH2 0x054d 0000012c: JUMPI 0000012d: DUP1 0000012e: PUSH4 0xfb6e155f 00000133: EQ 00000134: PUSH2 0x0579 00000137: JUMPI 00000138: JUMPDEST 00000139: CALLVALUE 0000013a: ISZERO 0000013b: PUSH2 0x0140 0000013e: JUMPI 0000013f: INVALID 00000140: JUMPDEST 00000141: PUSH2 0x014b 00000144: JUMPDEST 00000145: PUSH2 0x0000 00000148: JUMP 00000149: JUMPDEST 0000014a: JUMP 0000014b: JUMPDEST 0000014c: STOP 0000014d: JUMPDEST 0000014e: CALLVALUE 0000014f: ISZERO 00000150: PUSH2 0x0155 00000153: JUMPI 00000154: INVALID 00000155: JUMPDEST 00000156: PUSH2 0x014b 00000159: PUSH1 0x01 0000015b: PUSH1 0xa0 0000015d: PUSH1 0x02 0000015f: EXP 00000160: SUB 00000161: PUSH1 0x04 00000163: CALLDATALOAD 00000164: DUP2 00000165: AND 00000166: SWAP1 00000167: PUSH1 0x24 00000169: CALLDATALOAD 0000016a: SWAP1 0000016b: PUSH1 0x44 0000016d: CALLDATALOAD 0000016e: DUP2 0000016f: AND 00000170: SWAP1 00000171: PUSH1 0x64 00000173: CALLDATALOAD 00000174: SWAP1 00000175: PUSH1 0x84 00000177: CALLDATALOAD 00000178: SWAP1 00000179: PUSH1 0xa4 0000017b: CALLDATALOAD 0000017c: SWAP1 0000017d: PUSH1 0xc4 0000017f: CALLDATALOAD 00000180: AND 00000181: PUSH1 0xff 00000183: PUSH1 0xe4 00000185: CALLDATALOAD 00000186: AND 00000187: PUSH2 0x0104 0000018a: CALLDATALOAD 0000018b: PUSH2 0x0124 0000018e: CALLDATALOAD 0000018f: PUSH2 0x0144 00000192: CALLDATALOAD 00000193: PUSH2 0x05d1 00000196: JUMP 00000197: JUMPDEST 00000198: STOP 00000199: JUMPDEST 0000019a: CALLVALUE 0000019b: ISZERO 0000019c: PUSH2 0x01a1 0000019f: JUMPI 000001a0: INVALID 000001a1: JUMPDEST 000001a2: PUSH2 0x014b 000001a5: PUSH1 0x01 000001a7: PUSH1 0xa0 000001a9: PUSH1 0x02 000001ab: EXP 000001ac: SUB 000001ad: PUSH1 0x04 000001af: CALLDATALOAD 000001b0: DUP2 000001b1: AND 000001b2: SWAP1 000001b3: PUSH1 0x24 000001b5: CALLDATALOAD 000001b6: SWAP1 000001b7: PUSH1 0x44 000001b9: CALLDATALOAD 000001ba: AND 000001bb: PUSH1 0x64 000001bd: CALLDATALOAD 000001be: PUSH1 0x84 000001c0: CALLDATALOAD 000001c1: PUSH1 0xa4 000001c3: CALLDATALOAD 000001c4: PUSH2 0x0896 000001c7: JUMP 000001c8: JUMPDEST 000001c9: STOP 000001ca: JUMPDEST 000001cb: CALLVALUE 000001cc: ISZERO 000001cd: PUSH2 0x01d2 000001d0: JUMPI 000001d1: INVALID 000001d2: JUMPDEST 000001d3: PUSH2 0x01e9 000001d6: PUSH1 0x01 000001d8: PUSH1 0xa0 000001da: PUSH1 0x02 000001dc: EXP 000001dd: SUB 000001de: PUSH1 0x04 000001e0: CALLDATALOAD 000001e1: AND 000001e2: PUSH1 0x24 000001e4: CALLDATALOAD 000001e5: PUSH2 0x09a7 000001e8: JUMP 000001e9: JUMPDEST 000001ea: PUSH1 0x40 000001ec: DUP1 000001ed: MLOAD 000001ee: SWAP2 000001ef: DUP3 000001f0: MSTORE 000001f1: MLOAD 000001f2: SWAP1 000001f3: DUP2 000001f4: SWAP1 000001f5: SUB 000001f6: PUSH1 0x20 000001f8: ADD 000001f9: SWAP1 000001fa: RETURN 000001fb: JUMPDEST 000001fc: CALLVALUE 000001fd: ISZERO 000001fe: PUSH2 0x0203 00000201: JUMPI 00000202: INVALID 00000203: JUMPDEST 00000204: PUSH2 0x014b 00000207: PUSH1 0x01 00000209: PUSH1 0xa0 0000020b: PUSH1 0x02 0000020d: EXP 0000020e: SUB 0000020f: PUSH1 0x04 00000211: CALLDATALOAD 00000212: DUP2 00000213: AND 00000214: SWAP1 00000215: PUSH1 0x24 00000217: CALLDATALOAD 00000218: SWAP1 00000219: PUSH1 0x44 0000021b: CALLDATALOAD 0000021c: AND 0000021d: PUSH1 0x64 0000021f: CALLDATALOAD 00000220: PUSH1 0x84 00000222: CALLDATALOAD 00000223: PUSH1 0xa4 00000225: CALLDATALOAD 00000226: PUSH1 0xff 00000228: PUSH1 0xc4 0000022a: CALLDATALOAD 0000022b: AND 0000022c: PUSH1 0xe4 0000022e: CALLDATALOAD 0000022f: PUSH2 0x0104 00000232: CALLDATALOAD 00000233: PUSH2 0x09c4 00000236: JUMP 00000237: JUMPDEST 00000238: STOP 00000239: JUMPDEST 0000023a: CALLVALUE 0000023b: ISZERO 0000023c: PUSH2 0x0241 0000023f: JUMPI 00000240: INVALID 00000241: JUMPDEST 00000242: PUSH2 0x014b 00000245: PUSH1 0x04 00000247: CALLDATALOAD 00000248: PUSH2 0x0bd4 0000024b: JUMP 0000024c: JUMPDEST 0000024d: STOP 0000024e: JUMPDEST 0000024f: CALLVALUE 00000250: ISZERO 00000251: PUSH2 0x0256 00000254: JUMPI 00000255: INVALID 00000256: JUMPDEST 00000257: PUSH2 0x014b 0000025a: PUSH1 0x01 0000025c: PUSH1 0xa0 0000025e: PUSH1 0x02 00000260: EXP 00000261: SUB 00000262: PUSH1 0x04 00000264: CALLDATALOAD 00000265: AND 00000266: PUSH1 0x24 00000268: CALLDATALOAD 00000269: PUSH2 0x0cf2 0000026c: JUMP 0000026d: JUMPDEST 0000026e: STOP 0000026f: JUMPDEST 00000270: CALLVALUE 00000271: ISZERO 00000272: PUSH2 0x0277 00000275: JUMPI 00000276: INVALID 00000277: JUMPDEST 00000278: PUSH2 0x01e9 0000027b: PUSH1 0x01 0000027d: PUSH1 0xa0 0000027f: PUSH1 0x02 00000281: EXP 00000282: SUB 00000283: PUSH1 0x04 00000285: CALLDATALOAD 00000286: DUP2 00000287: AND 00000288: SWAP1 00000289: PUSH1 0x24 0000028b: CALLDATALOAD 0000028c: SWAP1 0000028d: PUSH1 0x44 0000028f: CALLDATALOAD 00000290: DUP2 00000291: AND 00000292: SWAP1 00000293: PUSH1 0x64 00000295: CALLDATALOAD 00000296: SWAP1 00000297: PUSH1 0x84 00000299: CALLDATALOAD 0000029a: SWAP1 0000029b: PUSH1 0xa4 0000029d: CALLDATALOAD 0000029e: SWAP1 0000029f: PUSH1 0xc4 000002a1: CALLDATALOAD 000002a2: AND 000002a3: PUSH1 0xff 000002a5: PUSH1 0xe4 000002a7: CALLDATALOAD 000002a8: AND 000002a9: PUSH2 0x0104 000002ac: CALLDATALOAD 000002ad: PUSH2 0x0124 000002b0: CALLDATALOAD 000002b1: PUSH2 0x0e46 000002b4: JUMP 000002b5: JUMPDEST 000002b6: PUSH1 0x40 000002b8: DUP1 000002b9: MLOAD 000002ba: SWAP2 000002bb: DUP3 000002bc: MSTORE 000002bd: MLOAD 000002be: SWAP1 000002bf: DUP2 000002c0: SWAP1 000002c1: SUB 000002c2: PUSH1 0x20 000002c4: ADD 000002c5: SWAP1 000002c6: RETURN 000002c7: JUMPDEST 000002c8: CALLVALUE 000002c9: ISZERO 000002ca: PUSH2 0x02cf 000002cd: JUMPI 000002ce: INVALID 000002cf: JUMPDEST 000002d0: PUSH2 0x01e9 000002d3: PUSH1 0x01 000002d5: PUSH1 0xa0 000002d7: PUSH1 0x02 000002d9: EXP 000002da: SUB 000002db: PUSH1 0x04 000002dd: CALLDATALOAD 000002de: DUP2 000002df: AND 000002e0: SWAP1 000002e1: PUSH1 0x24 000002e3: CALLDATALOAD 000002e4: AND 000002e5: PUSH2 0x0f33 000002e8: JUMP 000002e9: JUMPDEST 000002ea: PUSH1 0x40 000002ec: DUP1 000002ed: MLOAD 000002ee: SWAP2 000002ef: DUP3 000002f0: MSTORE 000002f1: MLOAD 000002f2: SWAP1 000002f3: DUP2 000002f4: SWAP1 000002f5: SUB 000002f6: PUSH1 0x20 000002f8: ADD 000002f9: SWAP1 000002fa: RETURN 000002fb: JUMPDEST 000002fc: CALLVALUE 000002fd: ISZERO 000002fe: PUSH2 0x0303 00000301: JUMPI 00000302: INVALID 00000303: JUMPDEST 00000304: PUSH2 0x014b 00000307: PUSH1 0x04 00000309: CALLDATALOAD 0000030a: PUSH2 0x0f50 0000030d: JUMP 0000030e: JUMPDEST 0000030f: STOP 00000310: JUMPDEST 00000311: CALLVALUE 00000312: ISZERO 00000313: PUSH2 0x0318 00000316: JUMPI 00000317: INVALID 00000318: JUMPDEST 00000319: PUSH2 0x01e9 0000031c: PUSH2 0x0f83 0000031f: JUMP 00000320: JUMPDEST 00000321: PUSH1 0x40 00000323: DUP1 00000324: MLOAD 00000325: SWAP2 00000326: DUP3 00000327: MSTORE 00000328: MLOAD 00000329: SWAP1 0000032a: DUP2 0000032b: SWAP1 0000032c: SUB 0000032d: PUSH1 0x20 0000032f: ADD 00000330: SWAP1 00000331: RETURN 00000332: JUMPDEST 00000333: CALLVALUE 00000334: ISZERO 00000335: PUSH2 0x033a 00000338: JUMPI 00000339: INVALID 0000033a: JUMPDEST 0000033b: PUSH2 0x014b 0000033e: PUSH1 0x04 00000340: CALLDATALOAD 00000341: PUSH2 0x0f89 00000344: JUMP 00000345: JUMPDEST 00000346: STOP 00000347: JUMPDEST 00000348: CALLVALUE 00000349: ISZERO 0000034a: PUSH2 0x034f 0000034d: JUMPI 0000034e: INVALID 0000034f: JUMPDEST 00000350: PUSH2 0x0357 00000353: PUSH2 0x0fc8 00000356: JUMP 00000357: JUMPDEST 00000358: PUSH1 0x40 0000035a: DUP1 0000035b: MLOAD 0000035c: PUSH1 0x01 0000035e: PUSH1 0xa0 00000360: PUSH1 0x02 00000362: EXP 00000363: SUB 00000364: SWAP1 00000365: SWAP3 00000366: AND 00000367: DUP3 00000368: MSTORE 00000369: MLOAD 0000036a: SWAP1 0000036b: DUP2 0000036c: SWAP1 0000036d: SUB 0000036e: PUSH1 0x20 00000370: ADD 00000371: SWAP1 00000372: RETURN 00000373: JUMPDEST 00000374: CALLVALUE 00000375: ISZERO 00000376: PUSH2 0x037b 00000379: JUMPI 0000037a: INVALID 0000037b: JUMPDEST 0000037c: PUSH2 0x03c8 0000037f: PUSH1 0x01 00000381: PUSH1 0xa0 00000383: PUSH1 0x02 00000385: EXP 00000386: SUB 00000387: PUSH1 0x04 00000389: CALLDATALOAD 0000038a: DUP2 0000038b: AND 0000038c: SWAP1 0000038d: PUSH1 0x24 0000038f: CALLDATALOAD 00000390: SWAP1 00000391: PUSH1 0x44 00000393: CALLDATALOAD 00000394: DUP2 00000395: AND 00000396: SWAP1 00000397: PUSH1 0x64 00000399: CALLDATALOAD 0000039a: SWAP1 0000039b: PUSH1 0x84 0000039d: CALLDATALOAD 0000039e: SWAP1 0000039f: PUSH1 0xa4 000003a1: CALLDATALOAD 000003a2: SWAP1 000003a3: PUSH1 0xc4 000003a5: CALLDATALOAD 000003a6: DUP2 000003a7: AND 000003a8: SWAP1 000003a9: PUSH1 0xff 000003ab: PUSH1 0xe4 000003ad: CALLDATALOAD 000003ae: AND 000003af: SWAP1 000003b0: PUSH2 0x0104 000003b3: CALLDATALOAD 000003b4: SWAP1 000003b5: PUSH2 0x0124 000003b8: CALLDATALOAD 000003b9: SWAP1 000003ba: PUSH2 0x0144 000003bd: CALLDATALOAD 000003be: SWAP1 000003bf: PUSH2 0x0164 000003c2: CALLDATALOAD 000003c3: AND 000003c4: PUSH2 0x0fd7 000003c7: JUMP 000003c8: JUMPDEST 000003c9: PUSH1 0x40 000003cb: DUP1 000003cc: MLOAD 000003cd: SWAP2 000003ce: ISZERO 000003cf: ISZERO 000003d0: DUP3 000003d1: MSTORE 000003d2: MLOAD 000003d3: SWAP1 000003d4: DUP2 000003d5: SWAP1 000003d6: SUB 000003d7: PUSH1 0x20 000003d9: ADD 000003da: SWAP1 000003db: RETURN 000003dc: JUMPDEST 000003dd: CALLVALUE 000003de: ISZERO 000003df: PUSH2 0x03e4 000003e2: JUMPI 000003e3: INVALID 000003e4: JUMPDEST 000003e5: PUSH2 0x014b 000003e8: PUSH1 0x01 000003ea: PUSH1 0xa0 000003ec: PUSH1 0x02 000003ee: EXP 000003ef: SUB 000003f0: PUSH1 0x04 000003f2: CALLDATALOAD 000003f3: AND 000003f4: PUSH2 0x1042 000003f7: JUMP 000003f8: JUMPDEST 000003f9: STOP 000003fa: JUMPDEST 000003fb: CALLVALUE 000003fc: ISZERO 000003fd: PUSH2 0x0402 00000400: JUMPI 00000401: INVALID 00000402: JUMPDEST 00000403: PUSH2 0x01e9 00000406: PUSH2 0x107c 00000409: JUMP 0000040a: JUMPDEST 0000040b: PUSH1 0x40 0000040d: DUP1 0000040e: MLOAD 0000040f: SWAP2 00000410: DUP3 00000411: MSTORE 00000412: MLOAD 00000413: SWAP1 00000414: DUP2 00000415: SWAP1 00000416: SUB 00000417: PUSH1 0x20 00000419: ADD 0000041a: SWAP1 0000041b: RETURN 0000041c: JUMPDEST 0000041d: CALLVALUE 0000041e: ISZERO 0000041f: PUSH2 0x0424 00000422: JUMPI 00000423: INVALID 00000424: JUMPDEST 00000425: PUSH2 0x014b 00000428: PUSH1 0x04 0000042a: CALLDATALOAD 0000042b: PUSH2 0x1082 0000042e: JUMP 0000042f: JUMPDEST 00000430: STOP 00000431: JUMPDEST 00000432: CALLVALUE 00000433: ISZERO 00000434: PUSH2 0x0439 00000437: JUMPI 00000438: INVALID 00000439: JUMPDEST 0000043a: PUSH2 0x014b 0000043d: PUSH1 0x01 0000043f: PUSH1 0xa0 00000441: PUSH1 0x02 00000443: EXP 00000444: SUB 00000445: PUSH1 0x04 00000447: CALLDATALOAD 00000448: AND 00000449: PUSH2 0x10c1 0000044c: JUMP 0000044d: JUMPDEST 0000044e: STOP 0000044f: JUMPDEST 00000450: CALLVALUE 00000451: ISZERO 00000452: PUSH2 0x0457 00000455: JUMPI 00000456: INVALID 00000457: JUMPDEST 00000458: PUSH2 0x014b 0000045b: PUSH1 0x01 0000045d: PUSH1 0xa0 0000045f: PUSH1 0x02 00000461: EXP 00000462: SUB 00000463: PUSH1 0x04 00000465: CALLDATALOAD 00000466: AND 00000467: PUSH1 0x24 00000469: CALLDATALOAD 0000046a: PUSH2 0x10fb 0000046d: JUMP 0000046e: JUMPDEST 0000046f: STOP 00000470: JUMPDEST 00000471: CALLVALUE 00000472: ISZERO 00000473: PUSH2 0x0478 00000476: JUMPI 00000477: INVALID 00000478: JUMPDEST 00000479: PUSH2 0x03c8 0000047c: PUSH1 0x01 0000047e: PUSH1 0xa0 00000480: PUSH1 0x02 00000482: EXP 00000483: SUB 00000484: PUSH1 0x04 00000486: CALLDATALOAD 00000487: AND 00000488: PUSH1 0x24 0000048a: CALLDATALOAD 0000048b: PUSH2 0x1299 0000048e: JUMP 0000048f: JUMPDEST 00000490: PUSH1 0x40 00000492: DUP1 00000493: MLOAD 00000494: SWAP2 00000495: ISZERO 00000496: ISZERO 00000497: DUP3 00000498: MSTORE 00000499: MLOAD 0000049a: SWAP1 0000049b: DUP2 0000049c: SWAP1 0000049d: SUB 0000049e: PUSH1 0x20 000004a0: ADD 000004a1: SWAP1 000004a2: RETURN 000004a3: JUMPDEST 000004a4: CALLVALUE 000004a5: ISZERO 000004a6: PUSH2 0x04ab 000004a9: JUMPI 000004aa: INVALID 000004ab: JUMPDEST 000004ac: PUSH2 0x01e9 000004af: PUSH2 0x12b9 000004b2: JUMP 000004b3: JUMPDEST 000004b4: PUSH1 0x40 000004b6: DUP1 000004b7: MLOAD 000004b8: SWAP2 000004b9: DUP3 000004ba: MSTORE 000004bb: MLOAD 000004bc: SWAP1 000004bd: DUP2 000004be: SWAP1 000004bf: SUB 000004c0: PUSH1 0x20 000004c2: ADD 000004c3: SWAP1 000004c4: RETURN 000004c5: JUMPDEST 000004c6: PUSH2 0x014b 000004c9: PUSH2 0x12bf 000004cc: JUMP 000004cd: JUMPDEST 000004ce: STOP 000004cf: JUMPDEST 000004d0: CALLVALUE 000004d1: ISZERO 000004d2: PUSH2 0x04d7 000004d5: JUMPI 000004d6: INVALID 000004d7: JUMPDEST 000004d8: PUSH2 0x014b 000004db: PUSH1 0x01 000004dd: PUSH1 0xa0 000004df: PUSH1 0x02 000004e1: EXP 000004e2: SUB 000004e3: PUSH1 0x04 000004e5: CALLDATALOAD 000004e6: AND 000004e7: PUSH2 0x1361 000004ea: JUMP 000004eb: JUMPDEST 000004ec: STOP 000004ed: JUMPDEST 000004ee: CALLVALUE 000004ef: ISZERO 000004f0: PUSH2 0x04f5 000004f3: JUMPI 000004f4: INVALID 000004f5: JUMPDEST 000004f6: PUSH2 0x0357 000004f9: PUSH2 0x139b 000004fc: JUMP 000004fd: JUMPDEST 000004fe: PUSH1 0x40 00000500: DUP1 00000501: MLOAD 00000502: PUSH1 0x01 00000504: PUSH1 0xa0 00000506: PUSH1 0x02 00000508: EXP 00000509: SUB 0000050a: SWAP1 0000050b: SWAP3 0000050c: AND 0000050d: DUP3 0000050e: MSTORE 0000050f: MLOAD 00000510: SWAP1 00000511: DUP2 00000512: SWAP1 00000513: SUB 00000514: PUSH1 0x20 00000516: ADD 00000517: SWAP1 00000518: RETURN 00000519: JUMPDEST 0000051a: CALLVALUE 0000051b: ISZERO 0000051c: PUSH2 0x0521 0000051f: JUMPI 00000520: INVALID 00000521: JUMPDEST 00000522: PUSH2 0x01e9 00000525: PUSH1 0x01 00000527: PUSH1 0xa0 00000529: PUSH1 0x02 0000052b: EXP 0000052c: SUB 0000052d: PUSH1 0x04 0000052f: CALLDATALOAD 00000530: DUP2 00000531: AND 00000532: SWAP1 00000533: PUSH1 0x24 00000535: CALLDATALOAD 00000536: AND 00000537: PUSH2 0x13aa 0000053a: JUMP 0000053b: JUMPDEST 0000053c: PUSH1 0x40 0000053e: DUP1 0000053f: MLOAD 00000540: SWAP2 00000541: DUP3 00000542: MSTORE 00000543: MLOAD 00000544: SWAP1 00000545: DUP2 00000546: SWAP1 00000547: SUB 00000548: PUSH1 0x20 0000054a: ADD 0000054b: SWAP1 0000054c: RETURN 0000054d: JUMPDEST 0000054e: CALLVALUE 0000054f: ISZERO 00000550: PUSH2 0x0555 00000553: JUMPI 00000554: INVALID 00000555: JUMPDEST 00000556: PUSH2 0x0357 00000559: PUSH2 0x13d7 0000055c: JUMP 0000055d: JUMPDEST 0000055e: PUSH1 0x40 00000560: DUP1 00000561: MLOAD 00000562: PUSH1 0x01 00000564: PUSH1 0xa0 00000566: PUSH1 0x02 00000568: EXP 00000569: SUB 0000056a: SWAP1 0000056b: SWAP3 0000056c: AND 0000056d: DUP3 0000056e: MSTORE 0000056f: MLOAD 00000570: SWAP1 00000571: DUP2 00000572: SWAP1 00000573: SUB 00000574: PUSH1 0x20 00000576: ADD 00000577: SWAP1 00000578: RETURN 00000579: JUMPDEST 0000057a: CALLVALUE 0000057b: ISZERO 0000057c: PUSH2 0x0581 0000057f: JUMPI 00000580: INVALID 00000581: JUMPDEST 00000582: PUSH2 0x01e9 00000585: PUSH1 0x01 00000587: PUSH1 0xa0 00000589: PUSH1 0x02 0000058b: EXP 0000058c: SUB 0000058d: PUSH1 0x04 0000058f: CALLDATALOAD 00000590: DUP2 00000591: AND 00000592: SWAP1 00000593: PUSH1 0x24 00000595: CALLDATALOAD 00000596: SWAP1 00000597: PUSH1 0x44 00000599: CALLDATALOAD 0000059a: DUP2 0000059b: AND 0000059c: SWAP1 0000059d: PUSH1 0x64 0000059f: CALLDATALOAD 000005a0: SWAP1 000005a1: PUSH1 0x84 000005a3: CALLDATALOAD 000005a4: SWAP1 000005a5: PUSH1 0xa4 000005a7: CALLDATALOAD 000005a8: SWAP1 000005a9: PUSH1 0xc4 000005ab: CALLDATALOAD 000005ac: AND 000005ad: PUSH1 0xff 000005af: PUSH1 0xe4 000005b1: CALLDATALOAD 000005b2: AND 000005b3: PUSH2 0x0104 000005b6: CALLDATALOAD 000005b7: PUSH2 0x0124 000005ba: CALLDATALOAD 000005bb: PUSH2 0x13e6 000005be: JUMP 000005bf: JUMPDEST 000005c0: PUSH1 0x40 000005c2: DUP1 000005c3: MLOAD 000005c4: SWAP2 000005c5: DUP3 000005c6: MSTORE 000005c7: MLOAD 000005c8: SWAP1 000005c9: DUP2 000005ca: SWAP1 000005cb: SUB 000005cc: PUSH1 0x20 000005ce: ADD 000005cf: SWAP1 000005d0: RETURN 000005d1: JUMPDEST 000005d2: PUSH1 0x00 000005d4: PUSH1 0x02 000005d6: ADDRESS 000005d7: DUP14 000005d8: DUP14 000005d9: DUP14 000005da: DUP14 000005db: DUP14 000005dc: DUP14 000005dd: PUSH1 0x00 000005df: PUSH1 0x40 000005e1: MLOAD 000005e2: PUSH1 0x20 000005e4: ADD 000005e5: MSTORE 000005e6: PUSH1 0x40 000005e8: MLOAD 000005e9: DUP1 000005ea: DUP9 000005eb: PUSH1 0x01 000005ed: PUSH1 0xa0 000005ef: PUSH1 0x02 000005f1: EXP 000005f2: SUB 000005f3: AND 000005f4: PUSH1 0x01 000005f6: PUSH1 0xa0 000005f8: PUSH1 0x02 000005fa: EXP 000005fb: SUB 000005fc: AND 000005fd: PUSH1 0x60 000005ff: PUSH1 0x02 00000601: EXP 00000602: MUL 00000603: DUP2 00000604: MSTORE 00000605: PUSH1 0x14 00000607: ADD 00000608: DUP8 00000609: PUSH1 0x01 0000060b: PUSH1 0xa0 0000060d: PUSH1 0x02 0000060f: EXP 00000610: SUB 00000611: AND 00000612: PUSH1 0x01 00000614: PUSH1 0xa0 00000616: PUSH1 0x02 00000618: EXP 00000619: SUB 0000061a: AND 0000061b: PUSH1 0x60 0000061d: PUSH1 0x02 0000061f: EXP 00000620: MUL 00000621: DUP2 00000622: MSTORE 00000623: PUSH1 0x14 00000625: ADD 00000626: DUP7 00000627: DUP2 00000628: MSTORE 00000629: PUSH1 0x20 0000062b: ADD 0000062c: DUP6 0000062d: PUSH1 0x01 0000062f: PUSH1 0xa0 00000631: PUSH1 0x02 00000633: EXP 00000634: SUB 00000635: AND 00000636: PUSH1 0x01 00000638: PUSH1 0xa0 0000063a: PUSH1 0x02 0000063c: EXP 0000063d: SUB 0000063e: AND 0000063f: PUSH1 0x60 00000641: PUSH1 0x02 00000643: EXP 00000644: MUL 00000645: DUP2 00000646: MSTORE 00000647: PUSH1 0x14 00000649: ADD 0000064a: DUP5 0000064b: DUP2 0000064c: MSTORE 0000064d: PUSH1 0x20 0000064f: ADD 00000650: DUP4 00000651: DUP2 00000652: MSTORE 00000653: PUSH1 0x20 00000655: ADD 00000656: DUP3 00000657: DUP2 00000658: MSTORE 00000659: PUSH1 0x20 0000065b: ADD 0000065c: SWAP8 0000065d: POP 0000065e: POP 0000065f: POP 00000660: POP 00000661: POP 00000662: POP 00000663: POP 00000664: POP 00000665: PUSH1 0x20 00000667: PUSH1 0x40 00000669: MLOAD 0000066a: DUP1 0000066b: DUP4 0000066c: SUB 0000066d: DUP2 0000066e: PUSH1 0x00 00000670: DUP7 00000671: PUSH2 0x61da 00000674: GAS 00000675: SUB 00000676: CALL 00000677: ISZERO 00000678: ISZERO 00000679: PUSH2 0x067e 0000067c: JUMPI 0000067d: INVALID 0000067e: JUMPDEST 0000067f: POP 00000680: POP 00000681: PUSH1 0x40 00000683: DUP1 00000684: MLOAD 00000685: MLOAD 00000686: PUSH1 0x01 00000688: PUSH1 0xa0 0000068a: PUSH1 0x02 0000068c: EXP 0000068d: SUB 0000068e: DUP9 0000068f: AND 00000690: PUSH1 0x00 00000692: SWAP1 00000693: DUP2 00000694: MSTORE 00000695: PUSH1 0x07 00000697: PUSH1 0x20 00000699: SWAP1 0000069a: DUP2 0000069b: MSTORE 0000069c: DUP4 0000069d: DUP3 0000069e: KECCAK256 0000069f: DUP4 000006a0: DUP4 000006a1: MSTORE 000006a2: SWAP1 000006a3: MSTORE 000006a4: SWAP2 000006a5: SWAP1 000006a6: SWAP2 000006a7: KECCAK256 000006a8: SLOAD 000006a9: SWAP1 000006aa: SWAP2 000006ab: POP 000006ac: PUSH1 0xff 000006ae: AND 000006af: DUP1 000006b0: PUSH2 0x0762 000006b3: JUMPI 000006b4: POP 000006b5: PUSH1 0x40 000006b7: DUP1 000006b8: MLOAD 000006b9: PUSH32 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000 000006da: DUP2 000006db: MSTORE 000006dc: PUSH1 0x1c 000006de: DUP2 000006df: ADD 000006e0: DUP4 000006e1: SWAP1 000006e2: MSTORE 000006e3: DUP2 000006e4: MLOAD 000006e5: SWAP1 000006e6: DUP2 000006e7: SWAP1 000006e8: SUB 000006e9: PUSH1 0x3c 000006eb: ADD 000006ec: DUP2 000006ed: KECCAK256 000006ee: PUSH1 0x00 000006f0: DUP3 000006f1: DUP2 000006f2: MSTORE 000006f3: PUSH1 0x20 000006f5: DUP4 000006f6: DUP2 000006f7: ADD 000006f8: DUP6 000006f9: MSTORE 000006fa: SWAP3 000006fb: DUP5 000006fc: ADD 000006fd: DUP2 000006fe: SWAP1 000006ff: MSTORE 00000700: DUP4 00000701: MLOAD 00000702: SWAP2 00000703: DUP3 00000704: MSTORE 00000705: PUSH1 0xff 00000707: DUP10 00000708: AND 00000709: DUP3 0000070a: DUP5 0000070b: ADD 0000070c: MSTORE 0000070d: DUP2 0000070e: DUP5 0000070f: ADD 00000710: DUP9 00000711: SWAP1 00000712: MSTORE 00000713: PUSH1 0x60 00000715: DUP3 00000716: ADD 00000717: DUP8 00000718: SWAP1 00000719: MSTORE 0000071a: SWAP3 0000071b: MLOAD 0000071c: PUSH1 0x01 0000071e: PUSH1 0xa0 00000720: PUSH1 0x02 00000722: EXP 00000723: SUB 00000724: DUP11 00000725: AND 00000726: SWAP4 00000727: PUSH1 0x01 00000729: SWAP4 0000072a: PUSH1 0x80 0000072c: DUP1 0000072d: DUP6 0000072e: ADD 0000072f: SWAP5 00000730: SWAP2 00000731: SWAP4 00000732: PUSH1 0x1f 00000734: NOT 00000735: DUP2 00000736: ADD 00000737: SWAP4 00000738: SWAP3 00000739: DUP2 0000073a: SWAP1 0000073b: SUB 0000073c: SWAP1 0000073d: SWAP2 0000073e: ADD 0000073f: SWAP2 00000740: DUP7 00000741: PUSH2 0x61da 00000744: GAS 00000745: SUB 00000746: CALL 00000747: ISZERO 00000748: ISZERO 00000749: PUSH2 0x074e 0000074c: JUMPI 0000074d: INVALID 0000074e: JUMPDEST 0000074f: POP 00000750: POP 00000751: PUSH1 0x20 00000753: PUSH1 0x40 00000755: MLOAD 00000756: SUB 00000757: MLOAD 00000758: PUSH1 0x01 0000075a: PUSH1 0xa0 0000075c: PUSH1 0x02 0000075e: EXP 0000075f: SUB 00000760: AND 00000761: EQ 00000762: JUMPDEST 00000763: DUP1 00000764: ISZERO 00000765: PUSH2 0x076e 00000768: JUMPI 00000769: POP 0000076a: DUP8 0000076b: NUMBER 0000076c: GT 0000076d: ISZERO 0000076e: JUMPDEST 0000076f: DUP1 00000770: ISZERO 00000771: PUSH2 0x07a8 00000774: JUMPI 00000775: POP 00000776: PUSH1 0x01 00000778: PUSH1 0xa0 0000077a: PUSH1 0x02 0000077c: EXP 0000077d: SUB 0000077e: DUP7 0000077f: AND 00000780: PUSH1 0x00 00000782: SWAP1 00000783: DUP2 00000784: MSTORE 00000785: PUSH1 0x08 00000787: PUSH1 0x20 00000789: SWAP1 0000078a: DUP2 0000078b: MSTORE 0000078c: PUSH1 0x40 0000078e: DUP1 0000078f: DUP4 00000790: KECCAK256 00000791: DUP5 00000792: DUP5 00000793: MSTORE 00000794: SWAP1 00000795: SWAP2 00000796: MSTORE 00000797: SWAP1 00000798: KECCAK256 00000799: SLOAD 0000079a: DUP12 0000079b: SWAP1 0000079c: PUSH2 0x07a5 0000079f: SWAP1 000007a0: DUP5 000007a1: PUSH2 0x162d 000007a4: JUMP 000007a5: JUMPDEST 000007a6: GT 000007a7: ISZERO 000007a8: JUMPDEST 000007a9: ISZERO 000007aa: ISZERO 000007ab: PUSH2 0x07b3 000007ae: JUMPI 000007af: PUSH2 0x0000 000007b2: JUMP 000007b3: JUMPDEST 000007b4: PUSH2 0x07c1 000007b7: DUP13 000007b8: DUP13 000007b9: DUP13 000007ba: DUP13 000007bb: DUP11 000007bc: DUP8 000007bd: PUSH2 0x1655 000007c0: JUMP 000007c1: JUMPDEST 000007c2: PUSH1 0x01 000007c4: PUSH1 0xa0 000007c6: PUSH1 0x02 000007c8: EXP 000007c9: SUB 000007ca: DUP7 000007cb: AND 000007cc: PUSH1 0x00 000007ce: SWAP1 000007cf: DUP2 000007d0: MSTORE 000007d1: PUSH1 0x08 000007d3: PUSH1 0x20 000007d5: SWAP1 000007d6: DUP2 000007d7: MSTORE 000007d8: PUSH1 0x40 000007da: DUP1 000007db: DUP4 000007dc: KECCAK256 000007dd: DUP5 000007de: DUP5 000007df: MSTORE 000007e0: SWAP1 000007e1: SWAP2 000007e2: MSTORE 000007e3: SWAP1 000007e4: KECCAK256 000007e5: SLOAD 000007e6: PUSH2 0x07ef 000007e9: SWAP1 000007ea: DUP4 000007eb: PUSH2 0x162d 000007ee: JUMP 000007ef: JUMPDEST 000007f0: PUSH1 0x01 000007f2: PUSH1 0xa0 000007f4: PUSH1 0x02 000007f6: EXP 000007f7: SUB 000007f8: DUP8 000007f9: AND 000007fa: PUSH1 0x00 000007fc: SWAP1 000007fd: DUP2 000007fe: MSTORE 000007ff: PUSH1 0x08 00000801: PUSH1 0x20 00000803: SWAP1 00000804: DUP2 00000805: MSTORE 00000806: PUSH1 0x40 00000808: DUP1 00000809: DUP4 0000080a: KECCAK256 0000080b: DUP6 0000080c: DUP5 0000080d: MSTORE 0000080e: SWAP1 0000080f: SWAP2 00000810: MSTORE 00000811: SWAP1 00000812: KECCAK256 00000813: SSTORE 00000814: PUSH32 0x6effdda786735d5033bfad5f53e5131abcced9e52be6c507b62d639685fbed6d 00000835: DUP13 00000836: DUP4 00000837: DUP13 00000838: DUP15 00000839: DUP14 0000083a: DUP4 0000083b: MUL 0000083c: DUP2 0000083d: ISZERO 0000083e: ISZERO 0000083f: PUSH2 0x0844 00000842: JUMPI 00000843: INVALID 00000844: JUMPDEST 00000845: PUSH1 0x40 00000847: DUP1 00000848: MLOAD 00000849: PUSH1 0x01 0000084b: PUSH1 0xa0 0000084d: PUSH1 0x02 0000084f: EXP 00000850: SUB 00000851: SWAP7 00000852: DUP8 00000853: AND 00000854: DUP2 00000855: MSTORE 00000856: PUSH1 0x20 00000858: DUP2 00000859: ADD 0000085a: SWAP6 0000085b: SWAP1 0000085c: SWAP6 0000085d: MSTORE 0000085e: SWAP3 0000085f: DUP6 00000860: AND 00000861: DUP5 00000862: DUP5 00000863: ADD 00000864: MSTORE 00000865: DIV 00000866: PUSH1 0x60 00000868: DUP4 00000869: ADD 0000086a: MSTORE 0000086b: DUP3 0000086c: DUP11 0000086d: AND 0000086e: PUSH1 0x80 00000870: DUP4 00000871: ADD 00000872: MSTORE 00000873: CALLER 00000874: SWAP3 00000875: SWAP1 00000876: SWAP3 00000877: AND 00000878: PUSH1 0xa0 0000087a: DUP3 0000087b: ADD 0000087c: MSTORE 0000087d: SWAP1 0000087e: MLOAD 0000087f: SWAP1 00000880: DUP2 00000881: SWAP1 00000882: SUB 00000883: PUSH1 0xc0 00000885: ADD 00000886: SWAP1 00000887: LOG1 00000888: JUMPDEST 00000889: POP 0000088a: POP 0000088b: POP 0000088c: POP 0000088d: POP 0000088e: POP 0000088f: POP 00000890: POP 00000891: POP 00000892: POP 00000893: POP 00000894: POP 00000895: JUMP 00000896: JUMPDEST 00000897: PUSH1 0x40 00000899: DUP1 0000089a: MLOAD 0000089b: PUSH1 0x00 0000089d: PUSH1 0x20 0000089f: SWAP2 000008a0: DUP3 000008a1: ADD 000008a2: DUP2 000008a3: SWAP1 000008a4: MSTORE 000008a5: DUP3 000008a6: MLOAD 000008a7: PUSH1 0x60 000008a9: PUSH1 0x02 000008ab: EXP 000008ac: PUSH1 0x01 000008ae: PUSH1 0xa0 000008b0: PUSH1 0x02 000008b2: EXP 000008b3: SUB 000008b4: ADDRESS 000008b5: DUP2 000008b6: AND 000008b7: DUP3 000008b8: MUL 000008b9: DUP4 000008ba: MSTORE 000008bb: DUP1 000008bc: DUP13 000008bd: AND 000008be: DUP3 000008bf: MUL 000008c0: PUSH1 0x14 000008c2: DUP5 000008c3: ADD 000008c4: MSTORE 000008c5: PUSH1 0x28 000008c7: DUP4 000008c8: ADD 000008c9: DUP12 000008ca: SWAP1 000008cb: MSTORE 000008cc: DUP10 000008cd: AND 000008ce: MUL 000008cf: PUSH1 0x48 000008d1: DUP3 000008d2: ADD 000008d3: MSTORE 000008d4: PUSH1 0x5c 000008d6: DUP2 000008d7: ADD 000008d8: DUP8 000008d9: SWAP1 000008da: MSTORE 000008db: PUSH1 0x7c 000008dd: DUP2 000008de: ADD 000008df: DUP7 000008e0: SWAP1 000008e1: MSTORE 000008e2: PUSH1 0x9c 000008e4: DUP2 000008e5: ADD 000008e6: DUP6 000008e7: SWAP1 000008e8: MSTORE 000008e9: SWAP3 000008ea: MLOAD 000008eb: SWAP1 000008ec: SWAP3 000008ed: PUSH1 0x02 000008ef: SWAP3 000008f0: PUSH1 0xbc 000008f2: DUP1 000008f3: DUP4 000008f4: ADD 000008f5: SWAP4 000008f6: SWAP2 000008f7: SWAP3 000008f8: DUP3 000008f9: SWAP1 000008fa: SUB 000008fb: ADD 000008fc: DUP2 000008fd: DUP7 000008fe: DUP7 000008ff: PUSH2 0x61da 00000902: GAS 00000903: SUB 00000904: CALL 00000905: ISZERO 00000906: ISZERO 00000907: PUSH2 0x090c 0000090a: JUMPI 0000090b: INVALID 0000090c: JUMPDEST 0000090d: POP 0000090e: POP 0000090f: PUSH1 0x40 00000911: DUP1 00000912: MLOAD 00000913: DUP1 00000914: MLOAD 00000915: PUSH1 0x01 00000917: PUSH1 0xa0 00000919: PUSH1 0x02 0000091b: EXP 0000091c: SUB 0000091d: CALLER 0000091e: DUP2 0000091f: AND 00000920: PUSH1 0x00 00000922: DUP2 00000923: DUP2 00000924: MSTORE 00000925: PUSH1 0x07 00000927: PUSH1 0x20 00000929: SWAP1 0000092a: DUP2 0000092b: MSTORE 0000092c: DUP7 0000092d: DUP3 0000092e: KECCAK256 0000092f: DUP6 00000930: DUP4 00000931: MSTORE 00000932: DUP2 00000933: MSTORE 00000934: SWAP1 00000935: DUP7 00000936: SWAP1 00000937: KECCAK256 00000938: DUP1 00000939: SLOAD 0000093a: PUSH1 0xff 0000093c: NOT 0000093d: AND 0000093e: PUSH1 0x01 00000940: OR 00000941: SWAP1 00000942: SSTORE 00000943: DUP13 00000944: DUP4 00000945: AND 00000946: DUP6 00000947: MSTORE 00000948: DUP5 00000949: ADD 0000094a: DUP12 0000094b: SWAP1 0000094c: MSTORE 0000094d: SWAP1 0000094e: DUP10 0000094f: AND 00000950: DUP4 00000951: DUP6 00000952: ADD 00000953: MSTORE 00000954: PUSH1 0x60 00000956: DUP4 00000957: ADD 00000958: DUP9 00000959: SWAP1 0000095a: MSTORE 0000095b: PUSH1 0x80 0000095d: DUP4 0000095e: ADD 0000095f: DUP8 00000960: SWAP1 00000961: MSTORE 00000962: PUSH1 0xa0 00000964: DUP4 00000965: ADD 00000966: DUP7 00000967: SWAP1 00000968: MSTORE 00000969: PUSH1 0xc0 0000096b: DUP4 0000096c: ADD 0000096d: MSTORE 0000096e: SWAP2 0000096f: MLOAD 00000970: SWAP2 00000971: SWAP3 00000972: POP 00000973: PUSH32 0x3f7f2eda73683c21a15f9435af1028c93185b5f1fa38270762dc32be606b3e85 00000994: SWAP2 00000995: SWAP1 00000996: DUP2 00000997: SWAP1 00000998: SUB 00000999: PUSH1 0xe0 0000099b: ADD 0000099c: SWAP1 0000099d: LOG1 0000099e: JUMPDEST 0000099f: POP 000009a0: POP 000009a1: POP 000009a2: POP 000009a3: POP 000009a4: POP 000009a5: POP 000009a6: JUMP 000009a7: JUMPDEST 000009a8: PUSH1 0x08 000009aa: PUSH1 0x20 000009ac: SWAP1 000009ad: DUP2 000009ae: MSTORE 000009af: PUSH1 0x00 000009b1: SWAP3 000009b2: DUP4 000009b3: MSTORE 000009b4: PUSH1 0x40 000009b6: DUP1 000009b7: DUP5 000009b8: KECCAK256 000009b9: SWAP1 000009ba: SWAP2 000009bb: MSTORE 000009bc: SWAP1 000009bd: DUP3 000009be: MSTORE 000009bf: SWAP1 000009c0: KECCAK256 000009c1: SLOAD 000009c2: DUP2 000009c3: JUMP 000009c4: JUMPDEST 000009c5: PUSH1 0x40 000009c7: DUP1 000009c8: MLOAD 000009c9: PUSH1 0x00 000009cb: PUSH1 0x20 000009cd: SWAP2 000009ce: DUP3 000009cf: ADD 000009d0: DUP2 000009d1: SWAP1 000009d2: MSTORE 000009d3: DUP3 000009d4: MLOAD 000009d5: PUSH1 0x60 000009d7: PUSH1 0x02 000009d9: EXP 000009da: PUSH1 0x01 000009dc: PUSH1 0xa0 000009de: PUSH1 0x02 000009e0: EXP 000009e1: SUB 000009e2: ADDRESS 000009e3: DUP2 000009e4: AND 000009e5: DUP3 000009e6: MUL 000009e7: DUP4 000009e8: MSTORE 000009e9: DUP1 000009ea: DUP16 000009eb: AND 000009ec: DUP3 000009ed: MUL 000009ee: PUSH1 0x14 000009f0: DUP5 000009f1: ADD 000009f2: MSTORE 000009f3: PUSH1 0x28 000009f5: DUP4 000009f6: ADD 000009f7: DUP15 000009f8: SWAP1 000009f9: MSTORE 000009fa: DUP13 000009fb: AND 000009fc: MUL 000009fd: PUSH1 0x48 000009ff: DUP3 00000a00: ADD 00000a01: MSTORE 00000a02: PUSH1 0x5c 00000a04: DUP2 00000a05: ADD 00000a06: DUP11 00000a07: SWAP1 00000a08: MSTORE 00000a09: PUSH1 0x7c 00000a0b: DUP2 00000a0c: ADD 00000a0d: DUP10 00000a0e: SWAP1 00000a0f: MSTORE 00000a10: PUSH1 0x9c 00000a12: DUP2 00000a13: ADD 00000a14: DUP9 00000a15: SWAP1 00000a16: MSTORE 00000a17: SWAP3 00000a18: MLOAD 00000a19: SWAP1 00000a1a: SWAP3 00000a1b: PUSH1 0x02 00000a1d: SWAP3 00000a1e: PUSH1 0xbc 00000a20: DUP1 00000a21: DUP4 00000a22: ADD 00000a23: SWAP4 00000a24: SWAP2 00000a25: SWAP3 00000a26: DUP3 00000a27: SWAP1 00000a28: SUB 00000a29: ADD 00000a2a: DUP2 00000a2b: DUP7 00000a2c: DUP7 00000a2d: PUSH2 0x61da 00000a30: GAS 00000a31: SUB 00000a32: CALL 00000a33: ISZERO 00000a34: ISZERO 00000a35: PUSH2 0x0a3a 00000a38: JUMPI 00000a39: INVALID 00000a3a: JUMPDEST 00000a3b: POP 00000a3c: POP 00000a3d: PUSH1 0x40 00000a3f: DUP1 00000a40: MLOAD 00000a41: MLOAD 00000a42: PUSH1 0x01 00000a44: PUSH1 0xa0 00000a46: PUSH1 0x02 00000a48: EXP 00000a49: SUB 00000a4a: CALLER 00000a4b: AND 00000a4c: PUSH1 0x00 00000a4e: SWAP1 00000a4f: DUP2 00000a50: MSTORE 00000a51: PUSH1 0x07 00000a53: PUSH1 0x20 00000a55: SWAP1 00000a56: DUP2 00000a57: MSTORE 00000a58: DUP4 00000a59: DUP3 00000a5a: KECCAK256 00000a5b: DUP4 00000a5c: DUP4 00000a5d: MSTORE 00000a5e: SWAP1 00000a5f: MSTORE 00000a60: SWAP2 00000a61: SWAP1 00000a62: SWAP2 00000a63: KECCAK256 00000a64: SLOAD 00000a65: SWAP1 00000a66: SWAP2 00000a67: POP 00000a68: PUSH1 0xff 00000a6a: AND 00000a6b: DUP1 00000a6c: PUSH2 0x0b1e 00000a6f: JUMPI 00000a70: POP 00000a71: PUSH1 0x40 00000a73: DUP1 00000a74: MLOAD 00000a75: PUSH32 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000 00000a96: DUP2 00000a97: MSTORE 00000a98: PUSH1 0x1c 00000a9a: DUP2 00000a9b: ADD 00000a9c: DUP4 00000a9d: SWAP1 00000a9e: MSTORE 00000a9f: DUP2 00000aa0: MLOAD 00000aa1: SWAP1 00000aa2: DUP2 00000aa3: SWAP1 00000aa4: SUB 00000aa5: PUSH1 0x3c 00000aa7: ADD 00000aa8: DUP2 00000aa9: KECCAK256 00000aaa: PUSH1 0x00 00000aac: DUP3 00000aad: DUP2 00000aae: MSTORE 00000aaf: PUSH1 0x20 00000ab1: DUP4 00000ab2: DUP2 00000ab3: ADD 00000ab4: DUP6 00000ab5: MSTORE 00000ab6: SWAP3 00000ab7: DUP5 00000ab8: ADD 00000ab9: DUP2 00000aba: SWAP1 00000abb: MSTORE 00000abc: DUP4 00000abd: MLOAD 00000abe: SWAP2 00000abf: DUP3 00000ac0: MSTORE 00000ac1: PUSH1 0xff 00000ac3: DUP9 00000ac4: AND 00000ac5: DUP3 00000ac6: DUP5 00000ac7: ADD 00000ac8: MSTORE 00000ac9: DUP2 00000aca: DUP5 00000acb: ADD 00000acc: DUP8 00000acd: SWAP1 00000ace: MSTORE 00000acf: PUSH1 0x60 00000ad1: DUP3 00000ad2: ADD 00000ad3: DUP7 00000ad4: SWAP1 00000ad5: MSTORE 00000ad6: SWAP3 00000ad7: MLOAD 00000ad8: PUSH1 0x01 00000ada: PUSH1 0xa0 00000adc: PUSH1 0x02 00000ade: EXP 00000adf: SUB 00000ae0: CALLER 00000ae1: AND 00000ae2: SWAP4 00000ae3: PUSH1 0x01 00000ae5: SWAP4 00000ae6: PUSH1 0x80 00000ae8: DUP1 00000ae9: DUP6 00000aea: ADD 00000aeb: SWAP5 00000aec: SWAP2 00000aed: SWAP4 00000aee: PUSH1 0x1f 00000af0: NOT 00000af1: DUP2 00000af2: ADD 00000af3: SWAP4 00000af4: SWAP3 00000af5: DUP2 00000af6: SWAP1 00000af7: SUB 00000af8: SWAP1 00000af9: SWAP2 00000afa: ADD 00000afb: SWAP2 00000afc: DUP7 00000afd: PUSH2 0x61da 00000b00: GAS 00000b01: SUB 00000b02: CALL 00000b03: ISZERO 00000b04: ISZERO 00000b05: PUSH2 0x0b0a 00000b08: JUMPI 00000b09: INVALID 00000b0a: JUMPDEST 00000b0b: POP 00000b0c: POP 00000b0d: PUSH1 0x20 00000b0f: PUSH1 0x40 00000b11: MLOAD 00000b12: SUB 00000b13: MLOAD 00000b14: PUSH1 0x01 00000b16: PUSH1 0xa0 00000b18: PUSH1 0x02 00000b1a: EXP 00000b1b: SUB 00000b1c: AND 00000b1d: EQ 00000b1e: JUMPDEST 00000b1f: ISZERO 00000b20: ISZERO 00000b21: PUSH2 0x0b29 00000b24: JUMPI 00000b25: PUSH2 0x0000 00000b28: JUMP 00000b29: JUMPDEST 00000b2a: PUSH1 0x01 00000b2c: PUSH1 0xa0 00000b2e: PUSH1 0x02 00000b30: EXP 00000b31: SUB 00000b32: CALLER 00000b33: DUP2 00000b34: AND 00000b35: PUSH1 0x00 00000b37: DUP2 00000b38: DUP2 00000b39: MSTORE 00000b3a: PUSH1 0x08 00000b3c: PUSH1 0x20 00000b3e: SWAP1 00000b3f: DUP2 00000b40: MSTORE 00000b41: PUSH1 0x40 00000b43: DUP1 00000b44: DUP4 00000b45: KECCAK256 00000b46: DUP7 00000b47: DUP5 00000b48: MSTORE 00000b49: DUP3 00000b4a: MSTORE 00000b4b: SWAP2 00000b4c: DUP3 00000b4d: SWAP1 00000b4e: KECCAK256 00000b4f: DUP14 00000b50: SWAP1 00000b51: SSTORE 00000b52: DUP2 00000b53: MLOAD 00000b54: DUP15 00000b55: DUP6 00000b56: AND 00000b57: DUP2 00000b58: MSTORE 00000b59: SWAP1 00000b5a: DUP2 00000b5b: ADD 00000b5c: DUP14 00000b5d: SWAP1 00000b5e: MSTORE 00000b5f: SWAP3 00000b60: DUP12 00000b61: AND 00000b62: DUP4 00000b63: DUP3 00000b64: ADD 00000b65: MSTORE 00000b66: PUSH1 0x60 00000b68: DUP4 00000b69: ADD 00000b6a: DUP11 00000b6b: SWAP1 00000b6c: MSTORE 00000b6d: PUSH1 0x80 00000b6f: DUP4 00000b70: ADD 00000b71: DUP10 00000b72: SWAP1 00000b73: MSTORE 00000b74: PUSH1 0xa0 00000b76: DUP4 00000b77: ADD 00000b78: DUP9 00000b79: SWAP1 00000b7a: MSTORE 00000b7b: PUSH1 0xc0 00000b7d: DUP4 00000b7e: ADD 00000b7f: SWAP2 00000b80: SWAP1 00000b81: SWAP2 00000b82: MSTORE 00000b83: PUSH1 0xff 00000b85: DUP7 00000b86: AND 00000b87: PUSH1 0xe0 00000b89: DUP4 00000b8a: ADD 00000b8b: MSTORE 00000b8c: PUSH2 0x0100 00000b8f: DUP3 00000b90: ADD 00000b91: DUP6 00000b92: SWAP1 00000b93: MSTORE 00000b94: PUSH2 0x0120 00000b97: DUP3 00000b98: ADD 00000b99: DUP5 00000b9a: SWAP1 00000b9b: MSTORE 00000b9c: MLOAD 00000b9d: PUSH32 0x1e0b760c386003e9cb9bcf4fcf3997886042859d9b6ed6320e804597fcdb28b0 00000bbe: SWAP2 00000bbf: DUP2 00000bc0: SWAP1 00000bc1: SUB 00000bc2: PUSH2 0x0140 00000bc5: ADD 00000bc6: SWAP1 00000bc7: LOG1 00000bc8: JUMPDEST 00000bc9: POP 00000bca: POP 00000bcb: POP 00000bcc: POP 00000bcd: POP 00000bce: POP 00000bcf: POP 00000bd0: POP 00000bd1: POP 00000bd2: POP 00000bd3: JUMP 00000bd4: JUMPDEST 00000bd5: CALLER 00000bd6: PUSH1 0x01 00000bd8: PUSH1 0xa0 00000bda: PUSH1 0x02 00000bdc: EXP 00000bdd: SUB 00000bde: AND 00000bdf: PUSH1 0x00 00000be1: SWAP1 00000be2: DUP2 00000be3: MSTORE 00000be4: PUSH1 0x00 00000be6: DUP1 00000be7: MLOAD 00000be8: PUSH1 0x20 00000bea: PUSH2 0x198a 00000bed: DUP4 00000bee: CODECOPY 00000bef: DUP2 00000bf0: MLOAD 00000bf1: SWAP2 00000bf2: MSTORE 00000bf3: PUSH1 0x20 00000bf5: MSTORE 00000bf6: PUSH1 0x40 00000bf8: SWAP1 00000bf9: KECCAK256 00000bfa: SLOAD 00000bfb: DUP2 00000bfc: SWAP1 00000bfd: LT 00000bfe: ISZERO 00000bff: PUSH2 0x0c07 00000c02: JUMPI 00000c03: PUSH2 0x0000 00000c06: JUMP 00000c07: JUMPDEST 00000c08: CALLER 00000c09: PUSH1 0x01 00000c0b: PUSH1 0xa0 00000c0d: PUSH1 0x02 00000c0f: EXP 00000c10: SUB 00000c11: AND 00000c12: PUSH1 0x00 00000c14: SWAP1 00000c15: DUP2 00000c16: MSTORE 00000c17: PUSH1 0x00 00000c19: DUP1 00000c1a: MLOAD 00000c1b: PUSH1 0x20 00000c1d: PUSH2 0x198a 00000c20: DUP4 00000c21: CODECOPY 00000c22: DUP2 00000c23: MLOAD 00000c24: SWAP2 00000c25: MSTORE 00000c26: PUSH1 0x20 00000c28: MSTORE 00000c29: PUSH1 0x40 00000c2b: SWAP1 00000c2c: KECCAK256 00000c2d: SLOAD 00000c2e: PUSH2 0x0c37 00000c31: SWAP1 00000c32: DUP3 00000c33: PUSH2 0x1931 00000c36: JUMP 00000c37: JUMPDEST 00000c38: CALLER 00000c39: PUSH1 0x01 00000c3b: PUSH1 0xa0 00000c3d: PUSH1 0x02 00000c3f: EXP 00000c40: SUB 00000c41: AND 00000c42: PUSH1 0x00 00000c44: DUP2 00000c45: DUP2 00000c46: MSTORE 00000c47: PUSH1 0x00 00000c49: DUP1 00000c4a: MLOAD 00000c4b: PUSH1 0x20 00000c4d: PUSH2 0x198a 00000c50: DUP4 00000c51: CODECOPY 00000c52: DUP2 00000c53: MLOAD 00000c54: SWAP2 00000c55: MSTORE 00000c56: PUSH1 0x20 00000c58: MSTORE 00000c59: PUSH1 0x40 00000c5b: DUP1 00000c5c: DUP3 00000c5d: KECCAK256 00000c5e: SWAP4 00000c5f: SWAP1 00000c60: SWAP4 00000c61: SSTORE 00000c62: SWAP2 00000c63: MLOAD 00000c64: SWAP1 00000c65: SWAP2 00000c66: DUP4 00000c67: SWAP2 00000c68: SWAP1 00000c69: DUP2 00000c6a: DUP2 00000c6b: DUP2 00000c6c: DUP6 00000c6d: DUP8 00000c6e: PUSH2 0x8502 00000c71: GAS 00000c72: SUB 00000c73: CALL 00000c74: SWAP3 00000c75: POP 00000c76: POP 00000c77: POP 00000c78: ISZERO 00000c79: ISZERO 00000c7a: PUSH2 0x0c82 00000c7d: JUMPI 00000c7e: PUSH2 0x0000 00000c81: JUMP 00000c82: JUMPDEST 00000c83: PUSH1 0x01 00000c85: PUSH1 0xa0 00000c87: PUSH1 0x02 00000c89: EXP 00000c8a: SUB 00000c8b: CALLER 00000c8c: AND 00000c8d: PUSH1 0x00 00000c8f: DUP2 00000c90: DUP2 00000c91: MSTORE 00000c92: PUSH1 0x00 00000c94: DUP1 00000c95: MLOAD 00000c96: PUSH1 0x20 00000c98: PUSH2 0x198a 00000c9b: DUP4 00000c9c: CODECOPY 00000c9d: DUP2 00000c9e: MLOAD 00000c9f: SWAP2 00000ca0: MSTORE 00000ca1: PUSH1 0x20 00000ca3: SWAP1 00000ca4: DUP2 00000ca5: MSTORE 00000ca6: PUSH1 0x40 00000ca8: DUP1 00000ca9: DUP4 00000caa: KECCAK256 00000cab: SLOAD 00000cac: DUP2 00000cad: MLOAD 00000cae: SWAP4 00000caf: DUP5 00000cb0: MSTORE 00000cb1: SWAP2 00000cb2: DUP4 00000cb3: ADD 00000cb4: SWAP4 00000cb5: SWAP1 00000cb6: SWAP4 00000cb7: MSTORE 00000cb8: DUP2 00000cb9: DUP4 00000cba: ADD 00000cbb: DUP5 00000cbc: SWAP1 00000cbd: MSTORE 00000cbe: PUSH1 0x60 00000cc0: DUP3 00000cc1: ADD 00000cc2: MSTORE 00000cc3: SWAP1 00000cc4: MLOAD 00000cc5: PUSH32 0xf341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb567 00000ce6: SWAP2 00000ce7: DUP2 00000ce8: SWAP1 00000ce9: SUB 00000cea: PUSH1 0x80 00000cec: ADD 00000ced: SWAP1 00000cee: LOG1 00000cef: JUMPDEST 00000cf0: POP 00000cf1: JUMP 00000cf2: JUMPDEST 00000cf3: PUSH1 0x01 00000cf5: PUSH1 0xa0 00000cf7: PUSH1 0x02 00000cf9: EXP 00000cfa: SUB 00000cfb: DUP3 00000cfc: AND 00000cfd: ISZERO 00000cfe: ISZERO 00000cff: PUSH2 0x0d07 00000d02: JUMPI 00000d03: PUSH2 0x0000 00000d06: JUMP 00000d07: JUMPDEST 00000d08: PUSH1 0x40 00000d0a: DUP1 00000d0b: MLOAD 00000d0c: PUSH1 0x00 00000d0e: PUSH1 0x20 00000d10: SWAP2 00000d11: DUP3 00000d12: ADD 00000d13: DUP2 00000d14: SWAP1 00000d15: MSTORE 00000d16: DUP3 00000d17: MLOAD 00000d18: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000 00000d39: DUP2 00000d3a: MSTORE 00000d3b: PUSH1 0x01 00000d3d: PUSH1 0xa0 00000d3f: PUSH1 0x02 00000d41: EXP 00000d42: SUB 00000d43: CALLER 00000d44: DUP2 00000d45: AND 00000d46: PUSH1 0x04 00000d48: DUP4 00000d49: ADD 00000d4a: MSTORE 00000d4b: ADDRESS 00000d4c: DUP2 00000d4d: AND 00000d4e: PUSH1 0x24 00000d50: DUP4 00000d51: ADD 00000d52: MSTORE 00000d53: PUSH1 0x44 00000d55: DUP3 00000d56: ADD 00000d57: DUP7 00000d58: SWAP1 00000d59: MSTORE 00000d5a: SWAP4 00000d5b: MLOAD 00000d5c: SWAP4 00000d5d: DUP7 00000d5e: AND 00000d5f: SWAP4 00000d60: PUSH4 0x23b872dd 00000d65: SWAP4 00000d66: PUSH1 0x64 00000d68: DUP1 00000d69: DUP5 00000d6a: ADD 00000d6b: SWAP5 00000d6c: SWAP2 00000d6d: SWAP4 00000d6e: DUP4 00000d6f: SWAP1 00000d70: SUB 00000d71: ADD 00000d72: SWAP1 00000d73: DUP3 00000d74: SWAP1 00000d75: DUP8 00000d76: DUP1 00000d77: EXTCODESIZE 00000d78: ISZERO 00000d79: ISZERO 00000d7a: PUSH2 0x0d7f 00000d7d: JUMPI 00000d7e: INVALID 00000d7f: JUMPDEST 00000d80: PUSH1 0x32 00000d82: GAS 00000d83: SUB 00000d84: CALL 00000d85: ISZERO 00000d86: ISZERO 00000d87: PUSH2 0x0d8c 00000d8a: JUMPI 00000d8b: INVALID 00000d8c: JUMPDEST 00000d8d: POP 00000d8e: POP 00000d8f: PUSH1 0x40 00000d91: MLOAD 00000d92: MLOAD 00000d93: ISZERO 00000d94: ISZERO 00000d95: SWAP1 00000d96: POP 00000d97: PUSH2 0x0d9f 00000d9a: JUMPI 00000d9b: PUSH2 0x0000 00000d9e: JUMP 00000d9f: JUMPDEST 00000da0: PUSH1 0x01 00000da2: PUSH1 0xa0 00000da4: PUSH1 0x02 00000da6: EXP 00000da7: SUB 00000da8: DUP1 00000da9: DUP4 00000daa: AND 00000dab: PUSH1 0x00 00000dad: SWAP1 00000dae: DUP2 00000daf: MSTORE 00000db0: PUSH1 0x06 00000db2: PUSH1 0x20 00000db4: SWAP1 00000db5: DUP2 00000db6: MSTORE 00000db7: PUSH1 0x40 00000db9: DUP1 00000dba: DUP4 00000dbb: KECCAK256 00000dbc: CALLER 00000dbd: SWAP1 00000dbe: SWAP5 00000dbf: AND 00000dc0: DUP4 00000dc1: MSTORE 00000dc2: SWAP3 00000dc3: SWAP1 00000dc4: MSTORE 00000dc5: KECCAK256 00000dc6: SLOAD 00000dc7: PUSH2 0x0dd0 00000dca: SWAP1 00000dcb: DUP3 00000dcc: PUSH2 0x162d 00000dcf: JUMP 00000dd0: JUMPDEST 00000dd1: PUSH1 0x01 00000dd3: PUSH1 0xa0 00000dd5: PUSH1 0x02 00000dd7: EXP 00000dd8: SUB 00000dd9: DUP4 00000dda: DUP2 00000ddb: AND 00000ddc: PUSH1 0x00 00000dde: DUP2 00000ddf: DUP2 00000de0: MSTORE 00000de1: PUSH1 0x06 00000de3: PUSH1 0x20 00000de5: SWAP1 00000de6: DUP2 00000de7: MSTORE 00000de8: PUSH1 0x40 00000dea: DUP1 00000deb: DUP4 00000dec: KECCAK256 00000ded: CALLER 00000dee: SWAP1 00000def: SWAP6 00000df0: AND 00000df1: DUP1 00000df2: DUP5 00000df3: MSTORE 00000df4: SWAP5 00000df5: DUP3 00000df6: MSTORE 00000df7: SWAP2 00000df8: DUP3 00000df9: SWAP1 00000dfa: KECCAK256 00000dfb: DUP6 00000dfc: SWAP1 00000dfd: SSTORE 00000dfe: DUP2 00000dff: MLOAD 00000e00: SWAP3 00000e01: DUP4 00000e02: MSTORE 00000e03: DUP3 00000e04: ADD 00000e05: SWAP3 00000e06: SWAP1 00000e07: SWAP3 00000e08: MSTORE 00000e09: DUP1 00000e0a: DUP3 00000e0b: ADD 00000e0c: DUP5 00000e0d: SWAP1 00000e0e: MSTORE 00000e0f: PUSH1 0x60 00000e11: DUP2 00000e12: ADD 00000e13: SWAP3 00000e14: SWAP1 00000e15: SWAP3 00000e16: MSTORE 00000e17: MLOAD 00000e18: PUSH32 0xdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7 00000e39: SWAP2 00000e3a: DUP2 00000e3b: SWAP1 00000e3c: SUB 00000e3d: PUSH1 0x80 00000e3f: ADD 00000e40: SWAP1 00000e41: LOG1 00000e42: JUMPDEST 00000e43: POP 00000e44: POP 00000e45: JUMP 00000e46: JUMPDEST 00000e47: PUSH1 0x00 00000e49: PUSH1 0x00 00000e4b: PUSH1 0x02 00000e4d: ADDRESS 00000e4e: DUP14 00000e4f: DUP14 00000e50: DUP14 00000e51: DUP14 00000e52: DUP14 00000e53: DUP14 00000e54: PUSH1 0x00 00000e56: PUSH1 0x40 00000e58: MLOAD 00000e59: PUSH1 0x20 00000e5b: ADD 00000e5c: MSTORE 00000e5d: PUSH1 0x40 00000e5f: MLOAD 00000e60: DUP1 00000e61: DUP9 00000e62: PUSH1 0x01 00000e64: PUSH1 0xa0 00000e66: PUSH1 0x02 00000e68: EXP 00000e69: SUB 00000e6a: AND 00000e6b: PUSH1 0x01 00000e6d: PUSH1 0xa0 00000e6f: PUSH1 0x02 00000e71: EXP 00000e72: SUB 00000e73: AND 00000e74: PUSH1 0x60 00000e76: PUSH1 0x02 00000e78: EXP 00000e79: MUL 00000e7a: DUP2 00000e7b: MSTORE 00000e7c: PUSH1 0x14 00000e7e: ADD 00000e7f: DUP8 00000e80: PUSH1 0x01 00000e82: PUSH1 0xa0 00000e84: PUSH1 0x02 00000e86: EXP 00000e87: SUB 00000e88: AND 00000e89: PUSH1 0x01 00000e8b: PUSH1 0xa0 00000e8d: PUSH1 0x02 00000e8f: EXP 00000e90: SUB 00000e91: AND 00000e92: PUSH1 0x60 00000e94: PUSH1 0x02 00000e96: EXP 00000e97: MUL 00000e98: DUP2 00000e99: MSTORE 00000e9a: PUSH1 0x14 00000e9c: ADD 00000e9d: DUP7 00000e9e: DUP2 00000e9f: MSTORE 00000ea0: PUSH1 0x20 00000ea2: ADD 00000ea3: DUP6 00000ea4: PUSH1 0x01 00000ea6: PUSH1 0xa0 00000ea8: PUSH1 0x02 00000eaa: EXP 00000eab: SUB 00000eac: AND 00000ead: PUSH1 0x01 00000eaf: PUSH1 0xa0 00000eb1: PUSH1 0x02 00000eb3: EXP 00000eb4: SUB 00000eb5: AND 00000eb6: PUSH1 0x60 00000eb8: PUSH1 0x02 00000eba: EXP 00000ebb: MUL 00000ebc: DUP2 00000ebd: MSTORE 00000ebe: PUSH1 0x14 00000ec0: ADD 00000ec1: DUP5 00000ec2: DUP2 00000ec3: MSTORE 00000ec4: PUSH1 0x20 00000ec6: ADD 00000ec7: DUP4 00000ec8: DUP2 00000ec9: MSTORE 00000eca: PUSH1 0x20 00000ecc: ADD 00000ecd: DUP3 00000ece: DUP2 00000ecf: MSTORE 00000ed0: PUSH1 0x20 00000ed2: ADD 00000ed3: SWAP8 00000ed4: POP 00000ed5: POP 00000ed6: POP 00000ed7: POP 00000ed8: POP 00000ed9: POP 00000eda: POP 00000edb: POP 00000edc: PUSH1 0x20 00000ede: PUSH1 0x40 00000ee0: MLOAD 00000ee1: DUP1 00000ee2: DUP4 00000ee3: SUB 00000ee4: DUP2 00000ee5: PUSH1 0x00 00000ee7: DUP7 00000ee8: PUSH2 0x61da 00000eeb: GAS 00000eec: SUB 00000eed: CALL 00000eee: ISZERO 00000eef: ISZERO 00000ef0: PUSH2 0x0ef5 00000ef3: JUMPI 00000ef4: INVALID 00000ef5: JUMPDEST 00000ef6: POP 00000ef7: POP 00000ef8: PUSH1 0x40 00000efa: DUP1 00000efb: MLOAD 00000efc: MLOAD 00000efd: PUSH1 0x01 00000eff: PUSH1 0xa0 00000f01: PUSH1 0x02 00000f03: EXP 00000f04: SUB 00000f05: DUP9 00000f06: AND 00000f07: PUSH1 0x00 00000f09: SWAP1 00000f0a: DUP2 00000f0b: MSTORE 00000f0c: PUSH1 0x08 00000f0e: PUSH1 0x20 00000f10: SWAP1 00000f11: DUP2 00000f12: MSTORE 00000f13: DUP4 00000f14: DUP3 00000f15: KECCAK256 00000f16: DUP4 00000f17: DUP4 00000f18: MSTORE 00000f19: SWAP1 00000f1a: MSTORE 00000f1b: SWAP2 00000f1c: SWAP1 00000f1d: SWAP2 00000f1e: KECCAK256 00000f1f: SLOAD 00000f20: SWAP3 00000f21: POP 00000f22: SWAP1 00000f23: POP 00000f24: JUMPDEST 00000f25: POP 00000f26: SWAP11 00000f27: SWAP10 00000f28: POP 00000f29: POP 00000f2a: POP 00000f2b: POP 00000f2c: POP 00000f2d: POP 00000f2e: POP 00000f2f: POP 00000f30: POP 00000f31: POP 00000f32: JUMP 00000f33: JUMPDEST 00000f34: PUSH1 0x06 00000f36: PUSH1 0x20 00000f38: SWAP1 00000f39: DUP2 00000f3a: MSTORE 00000f3b: PUSH1 0x00 00000f3d: SWAP3 00000f3e: DUP4 00000f3f: MSTORE 00000f40: PUSH1 0x40 00000f42: DUP1 00000f43: DUP5 00000f44: KECCAK256 00000f45: SWAP1 00000f46: SWAP2 00000f47: MSTORE 00000f48: SWAP1 00000f49: DUP3 00000f4a: MSTORE 00000f4b: SWAP1 00000f4c: KECCAK256 00000f4d: SLOAD 00000f4e: DUP2 00000f4f: JUMP 00000f50: JUMPDEST 00000f51: PUSH1 0x00 00000f53: SLOAD 00000f54: CALLER 00000f55: PUSH1 0x01 00000f57: PUSH1 0xa0 00000f59: PUSH1 0x02 00000f5b: EXP 00000f5c: SUB 00000f5d: SWAP1 00000f5e: DUP2 00000f5f: AND 00000f60: SWAP2 00000f61: AND 00000f62: EQ 00000f63: PUSH2 0x0f6b 00000f66: JUMPI 00000f67: PUSH2 0x0000 00000f6a: JUMP 00000f6b: JUMPDEST 00000f6c: PUSH1 0x03 00000f6e: SLOAD 00000f6f: DUP2 00000f70: GT 00000f71: ISZERO 00000f72: PUSH2 0x0f7a 00000f75: JUMPI 00000f76: PUSH2 0x0000 00000f79: JUMP 00000f7a: JUMPDEST 00000f7b: PUSH1 0x03 00000f7d: DUP2 00000f7e: SWAP1 00000f7f: SSTORE 00000f80: JUMPDEST 00000f81: POP 00000f82: JUMP 00000f83: JUMPDEST 00000f84: PUSH1 0x03 00000f86: SLOAD 00000f87: DUP2 00000f88: JUMP 00000f89: JUMPDEST 00000f8a: PUSH1 0x00 00000f8c: SLOAD 00000f8d: CALLER 00000f8e: PUSH1 0x01 00000f90: PUSH1 0xa0 00000f92: PUSH1 0x02 00000f94: EXP 00000f95: SUB 00000f96: SWAP1 00000f97: DUP2 00000f98: AND 00000f99: SWAP2 00000f9a: AND 00000f9b: EQ 00000f9c: PUSH2 0x0fa4 00000f9f: JUMPI 00000fa0: PUSH2 0x0000 00000fa3: JUMP 00000fa4: JUMPDEST 00000fa5: PUSH1 0x05 00000fa7: SLOAD 00000fa8: DUP2 00000fa9: LT 00000faa: DUP1 00000fab: PUSH2 0x0fb5 00000fae: JUMPI 00000faf: POP 00000fb0: PUSH1 0x04 00000fb2: SLOAD 00000fb3: DUP2 00000fb4: GT 00000fb5: JUMPDEST 00000fb6: ISZERO 00000fb7: PUSH2 0x0fbf 00000fba: JUMPI 00000fbb: PUSH2 0x0000 00000fbe: JUMP 00000fbf: JUMPDEST 00000fc0: PUSH1 0x05 00000fc2: DUP2 00000fc3: SWAP1 00000fc4: SSTORE 00000fc5: JUMPDEST 00000fc6: POP 00000fc7: JUMP 00000fc8: JUMPDEST 00000fc9: PUSH1 0x01 00000fcb: SLOAD 00000fcc: PUSH1 0x01 00000fce: PUSH1 0xa0 00000fd0: PUSH1 0x02 00000fd2: EXP 00000fd3: SUB 00000fd4: AND 00000fd5: DUP2 00000fd6: JUMP 00000fd7: JUMPDEST 00000fd8: PUSH1 0x01 00000fda: PUSH1 0xa0 00000fdc: PUSH1 0x02 00000fde: EXP 00000fdf: SUB 00000fe0: DUP1 00000fe1: DUP14 00000fe2: AND 00000fe3: PUSH1 0x00 00000fe5: SWAP1 00000fe6: DUP2 00000fe7: MSTORE 00000fe8: PUSH1 0x06 00000fea: PUSH1 0x20 00000fec: SWAP1 00000fed: DUP2 00000fee: MSTORE 00000fef: PUSH1 0x40 00000ff1: DUP1 00000ff2: DUP4 00000ff3: KECCAK256 00000ff4: SWAP4 00000ff5: DUP6 00000ff6: AND 00000ff7: DUP4 00000ff8: MSTORE 00000ff9: SWAP3 00000ffa: SWAP1 00000ffb: MSTORE 00000ffc: SWAP1 00000ffd: DUP2 00000ffe: KECCAK256 00000fff: SLOAD 00001000: DUP4 00001001: SWAP1 00001002: LT 00001003: DUP1 00001004: ISZERO 00001005: SWAP1 00001006: PUSH2 0x1020 00001009: JUMPI 0000100a: POP 0000100b: DUP3 0000100c: PUSH2 0x101d 0000100f: DUP15 00001010: DUP15 00001011: DUP15 00001012: DUP15 00001013: DUP15 00001014: DUP15 00001015: DUP15 00001016: DUP15 00001017: DUP15 00001018: DUP15 00001019: PUSH2 0x13e6 0000101c: JUMP 0000101d: JUMPDEST 0000101e: LT 0000101f: ISZERO 00001020: JUMPDEST 00001021: ISZERO 00001022: ISZERO 00001023: PUSH2 0x102e 00001026: JUMPI 00001027: POP 00001028: PUSH1 0x00 0000102a: PUSH2 0x1032 0000102d: JUMP 0000102e: JUMPDEST 0000102f: POP 00001030: PUSH1 0x01 00001032: JUMPDEST 00001033: SWAP13 00001034: SWAP12 00001035: POP 00001036: POP 00001037: POP 00001038: POP 00001039: POP 0000103a: POP 0000103b: POP 0000103c: POP 0000103d: POP 0000103e: POP 0000103f: POP 00001040: POP 00001041: JUMP 00001042: JUMPDEST 00001043: PUSH1 0x00 00001045: SLOAD 00001046: CALLER 00001047: PUSH1 0x01 00001049: PUSH1 0xa0 0000104b: PUSH1 0x02 0000104d: EXP 0000104e: SUB 0000104f: SWAP1 00001050: DUP2 00001051: AND 00001052: SWAP2 00001053: AND 00001054: EQ 00001055: PUSH2 0x105d 00001058: JUMPI 00001059: PUSH2 0x0000 0000105c: JUMP 0000105d: JUMPDEST 0000105e: PUSH1 0x01 00001060: DUP1 00001061: SLOAD 00001062: PUSH1 0x01 00001064: PUSH1 0xa0 00001066: PUSH1 0x02 00001068: EXP 00001069: SUB 0000106a: NOT 0000106b: AND 0000106c: PUSH1 0x01 0000106e: PUSH1 0xa0 00001070: PUSH1 0x02 00001072: EXP 00001073: SUB 00001074: DUP4 00001075: AND 00001076: OR 00001077: SWAP1 00001078: SSTORE 00001079: JUMPDEST 0000107a: POP 0000107b: JUMP 0000107c: JUMPDEST 0000107d: PUSH1 0x05 0000107f: SLOAD 00001080: DUP2 00001081: JUMP 00001082: JUMPDEST 00001083: PUSH1 0x00 00001085: SLOAD 00001086: CALLER 00001087: PUSH1 0x01 00001089: PUSH1 0xa0 0000108b: PUSH1 0x02 0000108d: EXP 0000108e: SUB 0000108f: SWAP1 00001090: DUP2 00001091: AND 00001092: SWAP2 00001093: AND 00001094: EQ 00001095: PUSH2 0x109d 00001098: JUMPI 00001099: PUSH2 0x0000 0000109c: JUMP 0000109d: JUMPDEST 0000109e: PUSH1 0x04 000010a0: SLOAD 000010a1: DUP2 000010a2: GT 000010a3: DUP1 000010a4: PUSH2 0x10ae 000010a7: JUMPI 000010a8: POP 000010a9: PUSH1 0x05 000010ab: SLOAD 000010ac: DUP2 000010ad: LT 000010ae: JUMPDEST 000010af: ISZERO 000010b0: PUSH2 0x10b8 000010b3: JUMPI 000010b4: PUSH2 0x0000 000010b7: JUMP 000010b8: JUMPDEST 000010b9: PUSH1 0x04 000010bb: DUP2 000010bc: SWAP1 000010bd: SSTORE 000010be: JUMPDEST 000010bf: POP 000010c0: JUMP 000010c1: JUMPDEST 000010c2: PUSH1 0x00 000010c4: SLOAD 000010c5: CALLER 000010c6: PUSH1 0x01 000010c8: PUSH1 0xa0 000010ca: PUSH1 0x02 000010cc: EXP 000010cd: SUB 000010ce: SWAP1 000010cf: DUP2 000010d0: AND 000010d1: SWAP2 000010d2: AND 000010d3: EQ 000010d4: PUSH2 0x10dc 000010d7: JUMPI 000010d8: PUSH2 0x0000 000010db: JUMP 000010dc: JUMPDEST 000010dd: PUSH1 0x00 000010df: DUP1 000010e0: SLOAD 000010e1: PUSH1 0x01 000010e3: PUSH1 0xa0 000010e5: PUSH1 0x02 000010e7: EXP 000010e8: SUB 000010e9: NOT 000010ea: AND 000010eb: PUSH1 0x01 000010ed: PUSH1 0xa0 000010ef: PUSH1 0x02 000010f1: EXP 000010f2: SUB 000010f3: DUP4 000010f4: AND 000010f5: OR 000010f6: SWAP1 000010f7: SSTORE 000010f8: JUMPDEST 000010f9: POP 000010fa: JUMP 000010fb: JUMPDEST 000010fc: PUSH1 0x01 000010fe: PUSH1 0xa0 00001100: PUSH1 0x02 00001102: EXP 00001103: SUB 00001104: DUP3 00001105: AND 00001106: ISZERO 00001107: ISZERO 00001108: PUSH2 0x1110 0000110b: JUMPI 0000110c: PUSH2 0x0000 0000110f: JUMP 00001110: JUMPDEST 00001111: PUSH1 0x01 00001113: PUSH1 0xa0 00001115: PUSH1 0x02 00001117: EXP 00001118: SUB 00001119: DUP1 0000111a: DUP4 0000111b: AND 0000111c: PUSH1 0x00 0000111e: SWAP1 0000111f: DUP2 00001120: MSTORE 00001121: PUSH1 0x06 00001123: PUSH1 0x20 00001125: SWAP1 00001126: DUP2 00001127: MSTORE 00001128: PUSH1 0x40 0000112a: DUP1 0000112b: DUP4 0000112c: KECCAK256 0000112d: CALLER 0000112e: SWAP1 0000112f: SWAP5 00001130: AND 00001131: DUP4 00001132: MSTORE 00001133: SWAP3 00001134: SWAP1 00001135: MSTORE 00001136: KECCAK256 00001137: SLOAD 00001138: DUP2 00001139: SWAP1 0000113a: LT 0000113b: ISZERO 0000113c: PUSH2 0x1144 0000113f: JUMPI 00001140: PUSH2 0x0000 00001143: JUMP 00001144: JUMPDEST 00001145: PUSH1 0x01 00001147: PUSH1 0xa0 00001149: PUSH1 0x02 0000114b: EXP 0000114c: SUB 0000114d: DUP1 0000114e: DUP4 0000114f: AND 00001150: PUSH1 0x00 00001152: SWAP1 00001153: DUP2 00001154: MSTORE 00001155: PUSH1 0x06 00001157: PUSH1 0x20 00001159: SWAP1 0000115a: DUP2 0000115b: MSTORE 0000115c: PUSH1 0x40 0000115e: DUP1 0000115f: DUP4 00001160: KECCAK256 00001161: CALLER 00001162: SWAP1 00001163: SWAP5 00001164: AND 00001165: DUP4 00001166: MSTORE 00001167: SWAP3 00001168: SWAP1 00001169: MSTORE 0000116a: KECCAK256 0000116b: SLOAD 0000116c: PUSH2 0x1175 0000116f: SWAP1 00001170: DUP3 00001171: PUSH2 0x1931 00001174: JUMP 00001175: JUMPDEST 00001176: PUSH1 0x01 00001178: PUSH1 0xa0 0000117a: PUSH1 0x02 0000117c: EXP 0000117d: SUB 0000117e: DUP1 0000117f: DUP5 00001180: AND 00001181: PUSH1 0x00 00001183: DUP2 00001184: DUP2 00001185: MSTORE 00001186: PUSH1 0x06 00001188: PUSH1 0x20 0000118a: SWAP1 0000118b: DUP2 0000118c: MSTORE 0000118d: PUSH1 0x40 0000118f: DUP1 00001190: DUP4 00001191: KECCAK256 00001192: CALLER 00001193: SWAP1 00001194: SWAP6 00001195: AND 00001196: DUP1 00001197: DUP5 00001198: MSTORE 00001199: SWAP5 0000119a: DUP3 0000119b: MSTORE 0000119c: DUP1 0000119d: DUP4 0000119e: KECCAK256 0000119f: SWAP6 000011a0: SWAP1 000011a1: SWAP6 000011a2: SSTORE 000011a3: DUP5 000011a4: MLOAD 000011a5: DUP2 000011a6: ADD 000011a7: DUP3 000011a8: SWAP1 000011a9: MSTORE 000011aa: DUP5 000011ab: MLOAD 000011ac: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 000011cd: DUP2 000011ce: MSTORE 000011cf: PUSH1 0x04 000011d1: DUP2 000011d2: ADD 000011d3: SWAP5 000011d4: SWAP1 000011d5: SWAP5 000011d6: MSTORE 000011d7: PUSH1 0x24 000011d9: DUP5 000011da: ADD 000011db: DUP7 000011dc: SWAP1 000011dd: MSTORE 000011de: SWAP4 000011df: MLOAD 000011e0: SWAP2 000011e1: SWAP4 000011e2: PUSH4 0xa9059cbb 000011e7: SWAP4 000011e8: PUSH1 0x44 000011ea: DUP1 000011eb: DUP3 000011ec: ADD 000011ed: SWAP5 000011ee: SWAP3 000011ef: SWAP4 000011f0: SWAP2 000011f1: DUP4 000011f2: SWAP1 000011f3: SUB 000011f4: ADD 000011f5: SWAP1 000011f6: DUP3 000011f7: SWAP1 000011f8: DUP8 000011f9: DUP1 000011fa: EXTCODESIZE 000011fb: ISZERO 000011fc: ISZERO 000011fd: PUSH2 0x1202 00001200: JUMPI 00001201: INVALID 00001202: JUMPDEST 00001203: PUSH1 0x32 00001205: GAS 00001206: SUB 00001207: CALL 00001208: ISZERO 00001209: ISZERO 0000120a: PUSH2 0x120f 0000120d: JUMPI 0000120e: INVALID 0000120f: JUMPDEST 00001210: POP 00001211: POP 00001212: PUSH1 0x40 00001214: MLOAD 00001215: MLOAD 00001216: ISZERO 00001217: ISZERO 00001218: SWAP1 00001219: POP 0000121a: PUSH2 0x1222 0000121d: JUMPI 0000121e: PUSH2 0x0000 00001221: JUMP 00001222: JUMPDEST 00001223: PUSH1 0x01 00001225: PUSH1 0xa0 00001227: PUSH1 0x02 00001229: EXP 0000122a: SUB 0000122b: DUP1 0000122c: DUP4 0000122d: AND 0000122e: PUSH1 0x00 00001230: DUP2 00001231: DUP2 00001232: MSTORE 00001233: PUSH1 0x06 00001235: PUSH1 0x20 00001237: SWAP1 00001238: DUP2 00001239: MSTORE 0000123a: PUSH1 0x40 0000123c: DUP1 0000123d: DUP4 0000123e: KECCAK256 0000123f: CALLER 00001240: SWAP6 00001241: SWAP1 00001242: SWAP6 00001243: AND 00001244: DUP1 00001245: DUP5 00001246: MSTORE 00001247: SWAP5 00001248: DUP3 00001249: MSTORE 0000124a: SWAP2 0000124b: DUP3 0000124c: SWAP1 0000124d: KECCAK256 0000124e: SLOAD 0000124f: DUP3 00001250: MLOAD 00001251: SWAP4 00001252: DUP5 00001253: MSTORE 00001254: SWAP1 00001255: DUP4 00001256: ADD 00001257: SWAP4 00001258: SWAP1 00001259: SWAP4 0000125a: MSTORE 0000125b: DUP2 0000125c: DUP2 0000125d: ADD 0000125e: DUP5 0000125f: SWAP1 00001260: MSTORE 00001261: PUSH1 0x60 00001263: DUP3 00001264: ADD 00001265: SWAP3 00001266: SWAP1 00001267: SWAP3 00001268: MSTORE 00001269: SWAP1 0000126a: MLOAD 0000126b: PUSH32 0xf341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb567 0000128c: SWAP2 0000128d: DUP2 0000128e: SWAP1 0000128f: SUB 00001290: PUSH1 0x80 00001292: ADD 00001293: SWAP1 00001294: LOG1 00001295: JUMPDEST 00001296: POP 00001297: POP 00001298: JUMP 00001299: JUMPDEST 0000129a: PUSH1 0x07 0000129c: PUSH1 0x20 0000129e: SWAP1 0000129f: DUP2 000012a0: MSTORE 000012a1: PUSH1 0x00 000012a3: SWAP3 000012a4: DUP4 000012a5: MSTORE 000012a6: PUSH1 0x40 000012a8: DUP1 000012a9: DUP5 000012aa: KECCAK256 000012ab: SWAP1 000012ac: SWAP2 000012ad: MSTORE 000012ae: SWAP1 000012af: DUP3 000012b0: MSTORE 000012b1: SWAP1 000012b2: KECCAK256 000012b3: SLOAD 000012b4: PUSH1 0xff 000012b6: AND 000012b7: DUP2 000012b8: JUMP 000012b9: JUMPDEST 000012ba: PUSH1 0x04 000012bc: SLOAD 000012bd: DUP2 000012be: JUMP 000012bf: JUMPDEST 000012c0: CALLER 000012c1: PUSH1 0x01 000012c3: PUSH1 0xa0 000012c5: PUSH1 0x02 000012c7: EXP 000012c8: SUB 000012c9: AND 000012ca: PUSH1 0x00 000012cc: SWAP1 000012cd: DUP2 000012ce: MSTORE 000012cf: PUSH1 0x00 000012d1: DUP1 000012d2: MLOAD 000012d3: PUSH1 0x20 000012d5: PUSH2 0x198a 000012d8: DUP4 000012d9: CODECOPY 000012da: DUP2 000012db: MLOAD 000012dc: SWAP2 000012dd: MSTORE 000012de: PUSH1 0x20 000012e0: MSTORE 000012e1: PUSH1 0x40 000012e3: SWAP1 000012e4: KECCAK256 000012e5: SLOAD 000012e6: PUSH2 0x12ef 000012e9: SWAP1 000012ea: CALLVALUE 000012eb: PUSH2 0x162d 000012ee: JUMP 000012ef: JUMPDEST 000012f0: CALLER 000012f1: PUSH1 0x01 000012f3: PUSH1 0xa0 000012f5: PUSH1 0x02 000012f7: EXP 000012f8: SUB 000012f9: AND 000012fa: PUSH1 0x00 000012fc: DUP2 000012fd: DUP2 000012fe: MSTORE 000012ff: PUSH1 0x00 00001301: DUP1 00001302: MLOAD 00001303: PUSH1 0x20 00001305: PUSH2 0x198a 00001308: DUP4 00001309: CODECOPY 0000130a: DUP2 0000130b: MLOAD 0000130c: SWAP2 0000130d: MSTORE 0000130e: PUSH1 0x20 00001310: SWAP1 00001311: DUP2 00001312: MSTORE 00001313: PUSH1 0x40 00001315: DUP1 00001316: DUP4 00001317: KECCAK256 00001318: DUP6 00001319: SWAP1 0000131a: SSTORE 0000131b: DUP1 0000131c: MLOAD 0000131d: SWAP3 0000131e: DUP4 0000131f: MSTORE 00001320: SWAP1 00001321: DUP3 00001322: ADD 00001323: SWAP3 00001324: SWAP1 00001325: SWAP3 00001326: MSTORE 00001327: CALLVALUE 00001328: DUP2 00001329: DUP4 0000132a: ADD 0000132b: MSTORE 0000132c: PUSH1 0x60 0000132e: DUP2 0000132f: ADD 00001330: SWAP3 00001331: SWAP1 00001332: SWAP3 00001333: MSTORE 00001334: MLOAD 00001335: PUSH32 0xdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7 00001356: SWAP2 00001357: DUP2 00001358: SWAP1 00001359: SUB 0000135a: PUSH1 0x80 0000135c: ADD 0000135d: SWAP1 0000135e: LOG1 0000135f: JUMPDEST 00001360: JUMP 00001361: JUMPDEST 00001362: PUSH1 0x00 00001364: SLOAD 00001365: CALLER 00001366: PUSH1 0x01 00001368: PUSH1 0xa0 0000136a: PUSH1 0x02 0000136c: EXP 0000136d: SUB 0000136e: SWAP1 0000136f: DUP2 00001370: AND 00001371: SWAP2 00001372: AND 00001373: EQ 00001374: PUSH2 0x137c 00001377: JUMPI 00001378: PUSH2 0x0000 0000137b: JUMP 0000137c: JUMPDEST 0000137d: PUSH1 0x02 0000137f: DUP1 00001380: SLOAD 00001381: PUSH1 0x01 00001383: PUSH1 0xa0 00001385: PUSH1 0x02 00001387: EXP 00001388: SUB 00001389: NOT 0000138a: AND 0000138b: PUSH1 0x01 0000138d: PUSH1 0xa0 0000138f: PUSH1 0x02 00001391: EXP 00001392: SUB 00001393: DUP4 00001394: AND 00001395: OR 00001396: SWAP1 00001397: SSTORE 00001398: JUMPDEST 00001399: POP 0000139a: JUMP 0000139b: JUMPDEST 0000139c: PUSH1 0x02 0000139e: SLOAD 0000139f: PUSH1 0x01 000013a1: PUSH1 0xa0 000013a3: PUSH1 0x02 000013a5: EXP 000013a6: SUB 000013a7: AND 000013a8: DUP2 000013a9: JUMP 000013aa: JUMPDEST 000013ab: PUSH1 0x01 000013ad: PUSH1 0xa0 000013af: PUSH1 0x02 000013b1: EXP 000013b2: SUB 000013b3: DUP1 000013b4: DUP4 000013b5: AND 000013b6: PUSH1 0x00 000013b8: SWAP1 000013b9: DUP2 000013ba: MSTORE 000013bb: PUSH1 0x06 000013bd: PUSH1 0x20 000013bf: SWAP1 000013c0: DUP2 000013c1: MSTORE 000013c2: PUSH1 0x40 000013c4: DUP1 000013c5: DUP4 000013c6: KECCAK256 000013c7: SWAP4 000013c8: DUP6 000013c9: AND 000013ca: DUP4 000013cb: MSTORE 000013cc: SWAP3 000013cd: SWAP1 000013ce: MSTORE 000013cf: KECCAK256 000013d0: SLOAD 000013d1: JUMPDEST 000013d2: SWAP3 000013d3: SWAP2 000013d4: POP 000013d5: POP 000013d6: JUMP 000013d7: JUMPDEST 000013d8: PUSH1 0x00 000013da: SLOAD 000013db: PUSH1 0x01 000013dd: PUSH1 0xa0 000013df: PUSH1 0x02 000013e1: EXP 000013e2: SUB 000013e3: AND 000013e4: DUP2 000013e5: JUMP 000013e6: JUMPDEST 000013e7: PUSH1 0x00 000013e9: PUSH1 0x00 000013eb: PUSH1 0x00 000013ed: PUSH1 0x00 000013ef: PUSH1 0x02 000013f1: ADDRESS 000013f2: DUP16 000013f3: DUP16 000013f4: DUP16 000013f5: DUP16 000013f6: DUP16 000013f7: DUP16 000013f8: PUSH1 0x00 000013fa: PUSH1 0x40 000013fc: MLOAD 000013fd: PUSH1 0x20 000013ff: ADD 00001400: MSTORE 00001401: PUSH1 0x40 00001403: MLOAD 00001404: DUP1 00001405: DUP9 00001406: PUSH1 0x01 00001408: PUSH1 0xa0 0000140a: PUSH1 0x02 0000140c: EXP 0000140d: SUB 0000140e: AND 0000140f: PUSH1 0x01 00001411: PUSH1 0xa0 00001413: PUSH1 0x02 00001415: EXP 00001416: SUB 00001417: AND 00001418: PUSH1 0x60 0000141a: PUSH1 0x02 0000141c: EXP 0000141d: MUL 0000141e: DUP2 0000141f: MSTORE 00001420: PUSH1 0x14 00001422: ADD 00001423: DUP8 00001424: PUSH1 0x01 00001426: PUSH1 0xa0 00001428: PUSH1 0x02 0000142a: EXP 0000142b: SUB 0000142c: AND 0000142d: PUSH1 0x01 0000142f: PUSH1 0xa0 00001431: PUSH1 0x02 00001433: EXP 00001434: SUB 00001435: AND 00001436: PUSH1 0x60 00001438: PUSH1 0x02 0000143a: EXP 0000143b: MUL 0000143c: DUP2 0000143d: MSTORE 0000143e: PUSH1 0x14 00001440: ADD 00001441: DUP7 00001442: DUP2 00001443: MSTORE 00001444: PUSH1 0x20 00001446: ADD 00001447: DUP6 00001448: PUSH1 0x01 0000144a: PUSH1 0xa0 0000144c: PUSH1 0x02 0000144e: EXP 0000144f: SUB 00001450: AND 00001451: PUSH1 0x01 00001453: PUSH1 0xa0 00001455: PUSH1 0x02 00001457: EXP 00001458: SUB 00001459: AND 0000145a: PUSH1 0x60 0000145c: PUSH1 0x02 0000145e: EXP 0000145f: MUL 00001460: DUP2 00001461: MSTORE 00001462: PUSH1 0x14 00001464: ADD 00001465: DUP5 00001466: DUP2 00001467: MSTORE 00001468: PUSH1 0x20 0000146a: ADD 0000146b: DUP4 0000146c: DUP2 0000146d: MSTORE 0000146e: PUSH1 0x20 00001470: ADD 00001471: DUP3 00001472: DUP2 00001473: MSTORE 00001474: PUSH1 0x20 00001476: ADD 00001477: SWAP8 00001478: POP 00001479: POP 0000147a: POP 0000147b: POP 0000147c: POP 0000147d: POP 0000147e: POP 0000147f: POP 00001480: PUSH1 0x20 00001482: PUSH1 0x40 00001484: MLOAD 00001485: DUP1 00001486: DUP4 00001487: SUB 00001488: DUP2 00001489: PUSH1 0x00 0000148b: DUP7 0000148c: PUSH2 0x61da 0000148f: GAS 00001490: SUB 00001491: CALL 00001492: ISZERO 00001493: ISZERO 00001494: PUSH2 0x1499 00001497: JUMPI 00001498: INVALID 00001499: JUMPDEST 0000149a: POP 0000149b: POP 0000149c: PUSH1 0x40 0000149e: DUP1 0000149f: MLOAD 000014a0: MLOAD 000014a1: PUSH1 0x01 000014a3: PUSH1 0xa0 000014a5: PUSH1 0x02 000014a7: EXP 000014a8: SUB 000014a9: DUP11 000014aa: AND 000014ab: PUSH1 0x00 000014ad: SWAP1 000014ae: DUP2 000014af: MSTORE 000014b0: PUSH1 0x07 000014b2: PUSH1 0x20 000014b4: SWAP1 000014b5: DUP2 000014b6: MSTORE 000014b7: DUP4 000014b8: DUP3 000014b9: KECCAK256 000014ba: DUP4 000014bb: DUP4 000014bc: MSTORE 000014bd: SWAP1 000014be: MSTORE 000014bf: SWAP2 000014c0: SWAP1 000014c1: SWAP2 000014c2: KECCAK256 000014c3: SLOAD 000014c4: SWAP1 000014c5: SWAP4 000014c6: POP 000014c7: PUSH1 0xff 000014c9: AND 000014ca: DUP1 000014cb: PUSH2 0x157d 000014ce: JUMPI 000014cf: POP 000014d0: PUSH1 0x40 000014d2: DUP1 000014d3: MLOAD 000014d4: PUSH32 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000 000014f5: DUP2 000014f6: MSTORE 000014f7: PUSH1 0x1c 000014f9: DUP2 000014fa: ADD 000014fb: DUP6 000014fc: SWAP1 000014fd: MSTORE 000014fe: DUP2 000014ff: MLOAD 00001500: SWAP1 00001501: DUP2 00001502: SWAP1 00001503: SUB 00001504: PUSH1 0x3c 00001506: ADD 00001507: DUP2 00001508: KECCAK256 00001509: PUSH1 0x00 0000150b: DUP3 0000150c: DUP2 0000150d: MSTORE 0000150e: PUSH1 0x20 00001510: DUP4 00001511: DUP2 00001512: ADD 00001513: DUP6 00001514: MSTORE 00001515: SWAP3 00001516: DUP5 00001517: ADD 00001518: DUP2 00001519: SWAP1 0000151a: MSTORE 0000151b: DUP4 0000151c: MLOAD 0000151d: SWAP2 0000151e: DUP3 0000151f: MSTORE 00001520: PUSH1 0xff 00001522: DUP12 00001523: AND 00001524: DUP3 00001525: DUP5 00001526: ADD 00001527: MSTORE 00001528: DUP2 00001529: DUP5 0000152a: ADD 0000152b: DUP11 0000152c: SWAP1 0000152d: MSTORE 0000152e: PUSH1 0x60 00001530: DUP3 00001531: ADD 00001532: DUP10 00001533: SWAP1 00001534: MSTORE 00001535: SWAP3 00001536: MLOAD 00001537: PUSH1 0x01 00001539: PUSH1 0xa0 0000153b: PUSH1 0x02 0000153d: EXP 0000153e: SUB 0000153f: DUP13 00001540: AND 00001541: SWAP4 00001542: PUSH1 0x01 00001544: SWAP4 00001545: PUSH1 0x80 00001547: DUP1 00001548: DUP6 00001549: ADD 0000154a: SWAP5 0000154b: SWAP2 0000154c: SWAP4 0000154d: PUSH1 0x1f 0000154f: NOT 00001550: DUP2 00001551: ADD 00001552: SWAP4 00001553: SWAP3 00001554: DUP2 00001555: SWAP1 00001556: SUB 00001557: SWAP1 00001558: SWAP2 00001559: ADD 0000155a: SWAP2 0000155b: DUP7 0000155c: PUSH2 0x61da 0000155f: GAS 00001560: SUB 00001561: CALL 00001562: ISZERO 00001563: ISZERO 00001564: PUSH2 0x1569 00001567: JUMPI 00001568: INVALID 00001569: JUMPDEST 0000156a: POP 0000156b: POP 0000156c: PUSH1 0x20 0000156e: PUSH1 0x40 00001570: MLOAD 00001571: SUB 00001572: MLOAD 00001573: PUSH1 0x01 00001575: PUSH1 0xa0 00001577: PUSH1 0x02 00001579: EXP 0000157a: SUB 0000157b: AND 0000157c: EQ 0000157d: JUMPDEST 0000157e: DUP1 0000157f: ISZERO 00001580: PUSH2 0x1589 00001583: JUMPI 00001584: POP 00001585: DUP10 00001586: NUMBER 00001587: GT 00001588: ISZERO 00001589: JUMPDEST 0000158a: ISZERO 0000158b: ISZERO 0000158c: PUSH2 0x1598 0000158f: JUMPI 00001590: PUSH1 0x00 00001592: SWAP4 00001593: POP 00001594: PUSH2 0x161c 00001597: JUMP 00001598: JUMPDEST 00001599: PUSH1 0x01 0000159b: PUSH1 0xa0 0000159d: PUSH1 0x02 0000159f: EXP 000015a0: SUB 000015a1: DUP9 000015a2: AND 000015a3: PUSH1 0x00 000015a5: SWAP1 000015a6: DUP2 000015a7: MSTORE 000015a8: PUSH1 0x08 000015aa: PUSH1 0x20 000015ac: SWAP1 000015ad: DUP2 000015ae: MSTORE 000015af: PUSH1 0x40 000015b1: DUP1 000015b2: DUP4 000015b3: KECCAK256 000015b4: DUP7 000015b5: DUP5 000015b6: MSTORE 000015b7: SWAP1 000015b8: SWAP2 000015b9: MSTORE 000015ba: SWAP1 000015bb: KECCAK256 000015bc: SLOAD 000015bd: PUSH2 0x15c7 000015c0: SWAP1 000015c1: DUP15 000015c2: SWAP1 000015c3: PUSH2 0x1931 000015c6: JUMP 000015c7: JUMPDEST 000015c8: PUSH1 0x01 000015ca: PUSH1 0xa0 000015cc: PUSH1 0x02 000015ce: EXP 000015cf: SUB 000015d0: DUP1 000015d1: DUP15 000015d2: AND 000015d3: PUSH1 0x00 000015d5: SWAP1 000015d6: DUP2 000015d7: MSTORE 000015d8: PUSH1 0x06 000015da: PUSH1 0x20 000015dc: SWAP1 000015dd: DUP2 000015de: MSTORE 000015df: PUSH1 0x40 000015e1: DUP1 000015e2: DUP4 000015e3: KECCAK256 000015e4: SWAP4 000015e5: DUP14 000015e6: AND 000015e7: DUP4 000015e8: MSTORE 000015e9: SWAP3 000015ea: SWAP1 000015eb: MSTORE 000015ec: KECCAK256 000015ed: SLOAD 000015ee: SWAP1 000015ef: SWAP3 000015f0: POP 000015f1: DUP12 000015f2: SWAP1 000015f3: PUSH2 0x15fc 000015f6: SWAP1 000015f7: DUP16 000015f8: PUSH2 0x194a 000015fb: JUMP 000015fc: JUMPDEST 000015fd: DUP2 000015fe: ISZERO 000015ff: ISZERO 00001600: PUSH2 0x1605 00001603: JUMPI 00001604: INVALID 00001605: JUMPDEST 00001606: DIV 00001607: SWAP1 00001608: POP 00001609: DUP1 0000160a: DUP3 0000160b: LT 0000160c: ISZERO 0000160d: PUSH2 0x1618 00001610: JUMPI 00001611: DUP2 00001612: SWAP4 00001613: POP 00001614: PUSH2 0x161c 00001617: JUMP 00001618: JUMPDEST 00001619: DUP1 0000161a: SWAP4 0000161b: POP 0000161c: JUMPDEST 0000161d: POP 0000161e: POP 0000161f: POP 00001620: SWAP11 00001621: SWAP10 00001622: POP 00001623: POP 00001624: POP 00001625: POP 00001626: POP 00001627: POP 00001628: POP 00001629: POP 0000162a: POP 0000162b: POP 0000162c: JUMP 0000162d: JUMPDEST 0000162e: PUSH1 0x00 00001630: DUP3 00001631: DUP3 00001632: ADD 00001633: PUSH2 0x164a 00001636: DUP5 00001637: DUP3 00001638: LT 00001639: DUP1 0000163a: ISZERO 0000163b: SWAP1 0000163c: PUSH2 0x1645 0000163f: JUMPI 00001640: POP 00001641: DUP4 00001642: DUP3 00001643: LT 00001644: ISZERO 00001645: JUMPDEST 00001646: PUSH2 0x1979 00001649: JUMP 0000164a: JUMPDEST 0000164b: DUP1 0000164c: SWAP2 0000164d: POP 0000164e: JUMPDEST 0000164f: POP 00001650: SWAP3 00001651: SWAP2 00001652: POP 00001653: POP 00001654: JUMP 00001655: JUMPDEST 00001656: PUSH1 0x00 00001658: PUSH1 0x00 0000165a: PUSH1 0x00 0000165c: PUSH1 0x00 0000165e: PUSH8 0x0de0b6b3a7640000 00001667: PUSH2 0x1672 0000166a: DUP7 0000166b: PUSH1 0x03 0000166d: SLOAD 0000166e: PUSH2 0x194a 00001671: JUMP 00001672: JUMPDEST 00001673: DUP2 00001674: ISZERO 00001675: ISZERO 00001676: PUSH2 0x167b 00001679: JUMPI 0000167a: INVALID 0000167b: JUMPDEST 0000167c: DIV 0000167d: SWAP4 0000167e: POP 0000167f: PUSH8 0x0de0b6b3a7640000 00001688: PUSH2 0x1693 0000168b: DUP7 0000168c: PUSH1 0x04 0000168e: SLOAD 0000168f: PUSH2 0x194a 00001692: JUMP 00001693: JUMPDEST 00001694: DUP2 00001695: ISZERO 00001696: ISZERO 00001697: PUSH2 0x169c 0000169a: JUMPI 0000169b: INVALID 0000169c: JUMPDEST 0000169d: PUSH1 0x02 0000169f: SLOAD 000016a0: SWAP2 000016a1: SWAP1 000016a2: DIV 000016a3: SWAP4 000016a4: POP 000016a5: PUSH1 0x00 000016a7: SWAP3 000016a8: POP 000016a9: PUSH1 0x01 000016ab: PUSH1 0xa0 000016ad: PUSH1 0x02 000016af: EXP 000016b0: SUB 000016b1: AND 000016b2: ISZERO 000016b3: PUSH2 0x1772 000016b6: JUMPI 000016b7: PUSH1 0x02 000016b9: SLOAD 000016ba: PUSH1 0x40 000016bc: DUP1 000016bd: MLOAD 000016be: PUSH1 0x00 000016c0: PUSH1 0x20 000016c2: SWAP2 000016c3: DUP3 000016c4: ADD 000016c5: DUP2 000016c6: SWAP1 000016c7: MSTORE 000016c8: DUP3 000016c9: MLOAD 000016ca: PUSH32 0x1cbd051900000000000000000000000000000000000000000000000000000000 000016eb: DUP2 000016ec: MSTORE 000016ed: PUSH1 0x01 000016ef: PUSH1 0xa0 000016f1: PUSH1 0x02 000016f3: EXP 000016f4: SUB 000016f5: DUP12 000016f6: DUP2 000016f7: AND 000016f8: PUSH1 0x04 000016fa: DUP4 000016fb: ADD 000016fc: MSTORE 000016fd: SWAP4 000016fe: MLOAD 000016ff: SWAP4 00001700: SWAP1 00001701: SWAP5 00001702: AND 00001703: SWAP4 00001704: PUSH4 0x1cbd0519 00001709: SWAP4 0000170a: PUSH1 0x24 0000170c: DUP1 0000170d: DUP4 0000170e: ADD 0000170f: SWAP5 00001710: SWAP4 00001711: SWAP2 00001712: SWAP3 00001713: DUP4 00001714: SWAP1 00001715: SUB 00001716: ADD 00001717: SWAP1 00001718: DUP3 00001719: SWAP1 0000171a: DUP8 0000171b: DUP1 0000171c: EXTCODESIZE 0000171d: ISZERO 0000171e: ISZERO 0000171f: PUSH2 0x1724 00001722: JUMPI 00001723: INVALID 00001724: JUMPDEST 00001725: PUSH1 0x32 00001727: GAS 00001728: SUB 00001729: CALL 0000172a: ISZERO 0000172b: ISZERO 0000172c: PUSH2 0x1731 0000172f: JUMPI 00001730: INVALID 00001731: JUMPDEST 00001732: POP 00001733: POP 00001734: PUSH1 0x40 00001736: MLOAD 00001737: MLOAD 00001738: SWAP2 00001739: POP 0000173a: POP 0000173b: PUSH1 0x01 0000173d: DUP2 0000173e: EQ 0000173f: ISZERO 00001740: PUSH2 0x1765 00001743: JUMPI 00001744: PUSH8 0x0de0b6b3a7640000 0000174d: PUSH2 0x1758 00001750: DUP7 00001751: PUSH1 0x05 00001753: SLOAD 00001754: PUSH2 0x194a 00001757: JUMP 00001758: JUMPDEST 00001759: DUP2 0000175a: ISZERO 0000175b: ISZERO 0000175c: PUSH2 0x1761 0000175f: JUMPI 00001760: INVALID 00001761: JUMPDEST 00001762: DIV 00001763: SWAP2 00001764: POP 00001765: JUMPDEST 00001766: DUP1 00001767: PUSH1 0x02 00001769: EQ 0000176a: ISZERO 0000176b: PUSH2 0x1772 0000176e: JUMPI 0000176f: DUP3 00001770: SWAP2 00001771: POP 00001772: JUMPDEST 00001773: JUMPDEST 00001774: PUSH1 0x01 00001776: PUSH1 0xa0 00001778: PUSH1 0x02 0000177a: EXP 0000177b: SUB 0000177c: DUP1 0000177d: DUP12 0000177e: AND 0000177f: PUSH1 0x00 00001781: SWAP1 00001782: DUP2 00001783: MSTORE 00001784: PUSH1 0x06 00001786: PUSH1 0x20 00001788: SWAP1 00001789: DUP2 0000178a: MSTORE 0000178b: PUSH1 0x40 0000178d: DUP1 0000178e: DUP4 0000178f: KECCAK256 00001790: CALLER 00001791: SWAP1 00001792: SWAP5 00001793: AND 00001794: DUP4 00001795: MSTORE 00001796: SWAP3 00001797: SWAP1 00001798: MSTORE 00001799: KECCAK256 0000179a: SLOAD 0000179b: PUSH2 0x17ad 0000179e: SWAP1 0000179f: PUSH2 0x17a8 000017a2: DUP8 000017a3: DUP7 000017a4: PUSH2 0x162d 000017a7: JUMP 000017a8: JUMPDEST 000017a9: PUSH2 0x1931 000017ac: JUMP 000017ad: JUMPDEST 000017ae: PUSH1 0x01 000017b0: PUSH1 0xa0 000017b2: PUSH1 0x02 000017b4: EXP 000017b5: SUB 000017b6: DUP12 000017b7: DUP2 000017b8: AND 000017b9: PUSH1 0x00 000017bb: SWAP1 000017bc: DUP2 000017bd: MSTORE 000017be: PUSH1 0x06 000017c0: PUSH1 0x20 000017c2: SWAP1 000017c3: DUP2 000017c4: MSTORE 000017c5: PUSH1 0x40 000017c7: DUP1 000017c8: DUP4 000017c9: KECCAK256 000017ca: CALLER 000017cb: DUP6 000017cc: AND 000017cd: DUP5 000017ce: MSTORE 000017cf: SWAP1 000017d0: SWAP2 000017d1: MSTORE 000017d2: DUP1 000017d3: DUP3 000017d4: KECCAK256 000017d5: SWAP4 000017d6: SWAP1 000017d7: SWAP4 000017d8: SSTORE 000017d9: SWAP1 000017da: DUP9 000017db: AND 000017dc: DUP2 000017dd: MSTORE 000017de: KECCAK256 000017df: SLOAD 000017e0: PUSH2 0x17fb 000017e3: SWAP1 000017e4: PUSH2 0x17f6 000017e7: PUSH2 0x17f0 000017ea: DUP9 000017eb: DUP7 000017ec: PUSH2 0x162d 000017ef: JUMP 000017f0: JUMPDEST 000017f1: DUP8 000017f2: PUSH2 0x1931 000017f5: JUMP 000017f6: JUMPDEST 000017f7: PUSH2 0x162d 000017fa: JUMP 000017fb: JUMPDEST 000017fc: PUSH1 0x01 000017fe: PUSH1 0xa0 00001800: PUSH1 0x02 00001802: EXP 00001803: SUB 00001804: DUP12 00001805: DUP2 00001806: AND 00001807: PUSH1 0x00 00001809: SWAP1 0000180a: DUP2 0000180b: MSTORE 0000180c: PUSH1 0x06 0000180e: PUSH1 0x20 00001810: SWAP1 00001811: DUP2 00001812: MSTORE 00001813: PUSH1 0x40 00001815: DUP1 00001816: DUP4 00001817: KECCAK256 00001818: DUP12 00001819: DUP6 0000181a: AND 0000181b: DUP5 0000181c: MSTORE 0000181d: SWAP1 0000181e: SWAP2 0000181f: MSTORE 00001820: DUP1 00001821: DUP3 00001822: KECCAK256 00001823: SWAP4 00001824: SWAP1 00001825: SWAP4 00001826: SSTORE 00001827: PUSH1 0x01 00001829: SLOAD 0000182a: SWAP1 0000182b: SWAP2 0000182c: AND 0000182d: DUP2 0000182e: MSTORE 0000182f: KECCAK256 00001830: SLOAD 00001831: PUSH2 0x184c 00001834: SWAP1 00001835: PUSH2 0x17f6 00001838: PUSH2 0x1841 0000183b: DUP8 0000183c: DUP8 0000183d: PUSH2 0x162d 00001840: JUMP 00001841: JUMPDEST 00001842: DUP6 00001843: PUSH2 0x1931 00001846: JUMP 00001847: JUMPDEST 00001848: PUSH2 0x162d 0000184b: JUMP 0000184c: JUMPDEST 0000184d: PUSH1 0x01 0000184f: PUSH1 0xa0 00001851: PUSH1 0x02 00001853: EXP 00001854: SUB 00001855: DUP1 00001856: DUP13 00001857: AND 00001858: PUSH1 0x00 0000185a: SWAP1 0000185b: DUP2 0000185c: MSTORE 0000185d: PUSH1 0x06 0000185f: PUSH1 0x20 00001861: DUP2 00001862: DUP2 00001863: MSTORE 00001864: PUSH1 0x40 00001866: DUP1 00001867: DUP5 00001868: KECCAK256 00001869: PUSH1 0x01 0000186b: SLOAD 0000186c: DUP7 0000186d: AND 0000186e: DUP6 0000186f: MSTORE 00001870: DUP3 00001871: MSTORE 00001872: DUP1 00001873: DUP5 00001874: KECCAK256 00001875: SWAP6 00001876: SWAP1 00001877: SWAP6 00001878: SSTORE 00001879: DUP13 0000187a: DUP5 0000187b: AND 0000187c: DUP4 0000187d: MSTORE 0000187e: SWAP1 0000187f: DUP2 00001880: MSTORE 00001881: DUP4 00001882: DUP3 00001883: KECCAK256 00001884: SWAP3 00001885: DUP11 00001886: AND 00001887: DUP3 00001888: MSTORE 00001889: SWAP2 0000188a: SWAP1 0000188b: SWAP2 0000188c: MSTORE 0000188d: KECCAK256 0000188e: SLOAD 0000188f: PUSH2 0x18ac 00001892: SWAP1 00001893: DUP11 00001894: PUSH2 0x189d 00001897: DUP11 00001898: DUP10 00001899: PUSH2 0x194a 0000189c: JUMP 0000189d: JUMPDEST 0000189e: DUP2 0000189f: ISZERO 000018a0: ISZERO 000018a1: PUSH2 0x18a6 000018a4: JUMPI 000018a5: INVALID 000018a6: JUMPDEST 000018a7: DIV 000018a8: PUSH2 0x1931 000018ab: JUMP 000018ac: JUMPDEST 000018ad: PUSH1 0x01 000018af: PUSH1 0xa0 000018b1: PUSH1 0x02 000018b3: EXP 000018b4: SUB 000018b5: DUP10 000018b6: DUP2 000018b7: AND 000018b8: PUSH1 0x00 000018ba: SWAP1 000018bb: DUP2 000018bc: MSTORE 000018bd: PUSH1 0x06 000018bf: PUSH1 0x20 000018c1: SWAP1 000018c2: DUP2 000018c3: MSTORE 000018c4: PUSH1 0x40 000018c6: DUP1 000018c7: DUP4 000018c8: KECCAK256 000018c9: DUP12 000018ca: DUP6 000018cb: AND 000018cc: DUP5 000018cd: MSTORE 000018ce: SWAP1 000018cf: SWAP2 000018d0: MSTORE 000018d1: DUP1 000018d2: DUP3 000018d3: KECCAK256 000018d4: SWAP4 000018d5: SWAP1 000018d6: SWAP4 000018d7: SSTORE 000018d8: CALLER 000018d9: SWAP1 000018da: SWAP2 000018db: AND 000018dc: DUP2 000018dd: MSTORE 000018de: KECCAK256 000018df: SLOAD 000018e0: PUSH2 0x18fd 000018e3: SWAP1 000018e4: DUP11 000018e5: PUSH2 0x18ee 000018e8: DUP11 000018e9: DUP10 000018ea: PUSH2 0x194a 000018ed: JUMP 000018ee: JUMPDEST 000018ef: DUP2 000018f0: ISZERO 000018f1: ISZERO 000018f2: PUSH2 0x18f7 000018f5: JUMPI 000018f6: INVALID 000018f7: JUMPDEST 000018f8: DIV 000018f9: PUSH2 0x162d 000018fc: JUMP 000018fd: JUMPDEST 000018fe: PUSH1 0x01 00001900: PUSH1 0xa0 00001902: PUSH1 0x02 00001904: EXP 00001905: SUB 00001906: DUP1 00001907: DUP11 00001908: AND 00001909: PUSH1 0x00 0000190b: SWAP1 0000190c: DUP2 0000190d: MSTORE 0000190e: PUSH1 0x06 00001910: PUSH1 0x20 00001912: SWAP1 00001913: DUP2 00001914: MSTORE 00001915: PUSH1 0x40 00001917: DUP1 00001918: DUP4 00001919: KECCAK256 0000191a: CALLER 0000191b: SWAP1 0000191c: SWAP5 0000191d: AND 0000191e: DUP4 0000191f: MSTORE 00001920: SWAP3 00001921: SWAP1 00001922: MSTORE 00001923: KECCAK256 00001924: SSTORE 00001925: JUMPDEST 00001926: POP 00001927: POP 00001928: POP 00001929: POP 0000192a: POP 0000192b: POP 0000192c: POP 0000192d: POP 0000192e: POP 0000192f: POP 00001930: JUMP 00001931: JUMPDEST 00001932: PUSH1 0x00 00001934: PUSH2 0x193f 00001937: DUP4 00001938: DUP4 00001939: GT 0000193a: ISZERO 0000193b: PUSH2 0x1979 0000193e: JUMP 0000193f: JUMPDEST 00001940: POP 00001941: DUP1 00001942: DUP3 00001943: SUB 00001944: JUMPDEST 00001945: SWAP3 00001946: SWAP2 00001947: POP 00001948: POP 00001949: JUMP 0000194a: JUMPDEST 0000194b: PUSH1 0x00 0000194d: DUP3 0000194e: DUP3 0000194f: MUL 00001950: PUSH2 0x164a 00001953: DUP5 00001954: ISZERO 00001955: DUP1 00001956: PUSH2 0x1645 00001959: JUMPI 0000195a: POP 0000195b: DUP4 0000195c: DUP6 0000195d: DUP4 0000195e: DUP2 0000195f: ISZERO 00001960: ISZERO 00001961: PUSH2 0x1966 00001964: JUMPI 00001965: INVALID 00001966: JUMPDEST 00001967: DIV 00001968: EQ 00001969: JUMPDEST 0000196a: PUSH2 0x1979 0000196d: JUMP 0000196e: JUMPDEST 0000196f: DUP1 00001970: SWAP2 00001971: POP 00001972: JUMPDEST 00001973: POP 00001974: SWAP3 00001975: SWAP2 00001976: POP 00001977: POP 00001978: JUMP 00001979: JUMPDEST 0000197a: DUP1 0000197b: ISZERO 0000197c: ISZERO 0000197d: PUSH2 0x0cef 00001980: JUMPI 00001981: PUSH2 0x0000 00001984: JUMP 00001985: JUMPDEST 00001986: JUMPDEST 00001987: POP 00001988: JUMP 00001989: STOP 0000198a: SLOAD 0000198b: UNKNOWN(0xCD) 0000198c: UNKNOWN(0xD3) 0000198d: PUSH10 0xe4e8a8515e52ca72ec81 00001998: PUSH13 0x2101831ad1f18bf44102ed1714 000019a6: MSIZE 000019a7: UNKNOWN(0xC9) 000019a8: UNKNOWN(0xB4) 000019a9: UNKNOWN(0xF8) 000019aa: LOG1 000019ab: PUSH6 0x627a7a723058 000019b2: KECCAK256 000019b3: CHAINID 000019b4: DUP12 000019b5: UNKNOWN(0xE9) 000019b6: UNKNOWN(0xE5) 000019b7: UNKNOWN(0x2C) 000019b8: PUSH32
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | codex | Phantom token deposits via malicious ERC20 let attacker trade unbacked balances for real assets | 85 | no | — |
viewevidence_json{
"evidence": "depositToken trusts Token(token).transferFrom return value and credits internal balance without verifying actual token receipt (contracts/Contract.sol:226-231); tradeBalances uses internal balances to move real assets (contracts/Contract.sol:265-278).",
"locations": [
"contracts/Contract.sol:226",
"contracts/Contract.sol:229",
"contracts/Contract.sol:230",
"contracts/Contract.sol:265",
"contracts/Contract.sol:274",
"contracts/Contract.sol:277"
],
"recommendation": "Restrict tradable tokens to a whitelist and/or verify actual token movement by checking the contract\u2019s token balance before/after transferFrom; reject tokens that do not increase the balance by the expected amount (or explicitly disallow fee-on-transfer tokens).",
"exploit_scenario": "1) Attacker deploys an ERC20 that returns true for transferFrom/transfer without moving balances. 2) Attacker calls depositToken(FakeToken, X) to get internal balance credited. 3) Attacker posts an order selling FakeToken for ETH or a real ERC20; a victim fills the order, and tradeBalances transfers the victim\u2019s real asset to the attacker while crediting the victim with FakeToken balance. 4) Attacker withdraws the real asset via withdraw/withdrawToken, profiting; the victim cannot redeem FakeToken because transfers succeed but send nothing."
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | yes | yes |
viewtrace_id: 0x36d846eb2b1debc60f4a7c46188112678d427a9d9ae594a51372f0de199e8292
call_targets:
0x0000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000002, 0x8d12a197cb00d4747a1fe03395095ce2a5cc6819
target_varies:
yes
classification:
target_varies
validation_json{
"sink": "CALL",
"errors": 0,
"status": "confirmed",
"attempts": 1,
"trace_id": "0x36d846eb2b1debc60f4a7c46188112678d427a9d9ae594a51372f0de199e8292",
"confirmed": true,
"trace_mode": "callTracer",
"call_targets": [
"0x0000000000000000000000000000000000000001",
"0x0000000000000000000000000000000000000002",
"0x8d12a197cb00d4747a1fe03395095ce2a5cc6819"
],
"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": "0x0a19b14a",
"selector": "0x0a19b14a",
"calldata_variants": [
"0x0a19b14a",
"0x0a19b14a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0b927666",
"selector": "0x0b927666",
"calldata_variants": [
"0x0b927666",
"0x0b9276660000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x19774d43",
"selector": "0x19774d43",
"calldata_variants": [
"0x19774d43",
"0x19774d430000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x278b8c0e",
"selector": "0x278b8c0e",
"calldata_variants": [
"0x278b8c0e",
"0x278b8c0e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x338b5dea",
"selector": "0x338b5dea",
"calldata_variants": [
"0x338b5dea",
"0x338b5dea0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x46be96c3",
"selector": "0x46be96c3",
"calldata_variants": [
"0x46be96c3",
"0x46be96c30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x508493bc",
"selector": "0x508493bc",
"calldata_variants": [
"0x508493bc",
"0x508493bc0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1654,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1862,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2308,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 12,
"guards_detected": [],
"untrusted_call_count": 12
}
|
| high | other | detector | ETH value transfer possible | 55 | yes | yes |
viewtrace_id: 0x36d846eb2b1debc60f4a7c46188112678d427a9d9ae594a51372f0de199e8292
call_targets:
0x0000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000002, 0x8d12a197cb00d4747a1fe03395095ce2a5cc6819
target_varies:
yes
classification:
target_varies
validation_json{
"sink": "CALL",
"errors": 0,
"status": "confirmed",
"attempts": 1,
"trace_id": "0x36d846eb2b1debc60f4a7c46188112678d427a9d9ae594a51372f0de199e8292",
"confirmed": true,
"trace_mode": "callTracer",
"call_targets": [
"0x0000000000000000000000000000000000000001",
"0x0000000000000000000000000000000000000002",
"0x8d12a197cb00d4747a1fe03395095ce2a5cc6819"
],
"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": "0x0a19b14a",
"selector": "0x0a19b14a",
"calldata_variants": [
"0x0a19b14a",
"0x0a19b14a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0b927666",
"selector": "0x0b927666",
"calldata_variants": [
"0x0b927666",
"0x0b9276660000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x19774d43",
"selector": "0x19774d43",
"calldata_variants": [
"0x19774d43",
"0x19774d430000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x278b8c0e",
"selector": "0x278b8c0e",
"calldata_variants": [
"0x278b8c0e",
"0x278b8c0e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x338b5dea",
"selector": "0x338b5dea",
"calldata_variants": [
"0x338b5dea",
"0x338b5dea0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x46be96c3",
"selector": "0x46be96c3",
"calldata_variants": [
"0x46be96c3",
"0x46be96c30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x508493bc",
"selector": "0x508493bc",
"calldata_variants": [
"0x508493bc",
"0x508493bc0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1654,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1862,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2308,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 12,
"guards_detected": []
}
|
| 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": 12
}
|