019be3d6-8438-730d-a3a4-1965ea9f0772
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 |
|---|---|---|---|---|
| 41016 | artifact.fetch | complete | 1 / 3 | 2 months ago |
| 41017 | proxy.resolve | complete | 1 / 3 | 2 months ago |
| 41018 | tool.cast_disasm | complete | 1 / 3 | 2 months ago |
| 41019 | analysis.bundle | complete | 1 / 3 | 2 months ago |
| 41020 | capability.graph | complete | 1 / 3 | 2 months ago |
| 41021 | detector.run | complete | 1 / 3 | 2 months ago |
| 41022 | validation.fork | complete | 1 / 3 | 2 months ago |
| 41405 | report.consolidate | complete | 1 / 6 | 2 months ago |
| 41406 | tool.slither | complete | 1 / 2 | 2 months ago |
{
"status": "not_proxy"
}
'forge clean' running (wd: /tmp/slither-e19zx41d) 'forge config --json' running 'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-e19zx41d) ERC20Detailed.constructor(string,string,uint8).name (contracts/Contract.sol#481) shadows: - ERC20Detailed.name() (contracts/Contract.sol#489-493) (function) ERC20Detailed.constructor(string,string,uint8).symbol (contracts/Contract.sol#481) shadows: - ERC20Detailed.symbol() (contracts/Contract.sol#495-498) (function) ERC20Detailed.constructor(string,string,uint8).decimals (contracts/Contract.sol#481) shadows: - ERC20Detailed.decimals() (contracts/Contract.sol#520-521) (function) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing Context._msgData() (contracts/Contract.sol#20-25) is never used and should be removed ERC20._burn(address,uint256) (contracts/Contract.sol#429-441) is never used and should be removed ERC20._burnFrom(address,uint256) (contracts/Contract.sol#465-469) is never used and should be removed Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code Version constraint ^0.5.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) - DirtyBytesArrayToStorage - ABIDecodeTwoDimensionalArrayMemory - KeccakCaching - EmptyByteArrayCopy - DynamicArrayCleanup - ImplicitConstructorCallvalueCheck - TupleAssignmentMultiStackSlotComponents - MemoryArrayCreationOverflow - privateCanBeOverridden - SignedArrayStorageCopy - ABIEncoderV2StorageArrayWithMultiSlotElement - DynamicConstructorArgumentsClippedABIV2 - UninitializedFunctionPointerInConstructor - IncorrectEventSignatureInLibraries - ABIEncoderV2PackedStorage. It is used by: - ^0.5.0 (contracts/Contract.sol#1) solc-0.5.0 is an outdated solc version. Use a more recent version (at least 0.8.0), if possible. Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity Redundant expression "this (contracts/Contract.sol#23)" inContext (contracts/Contract.sol#11-25) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements DIAToken.constructor() (contracts/Contract.sol#594-597) uses literals with too many digits: - _mint(_msgSender(),200000000 * (10 ** uint256(decimals()))) (contracts/Contract.sol#595-597) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#too-many-digits . analyzed (7 contracts with 100 detectors), 10 result(s) found
{
"solc": {
"status": "ok",
"use_rc": 0,
"version": "0.5.0",
"strategy": "solc-select",
"solc_path": "/var/www/tripwire/.venv/bin/solc",
"install_rc": 0,
"use_stderr": null,
"use_stdout": "Switched global version to 0.5.0",
"install_stderr": null,
"install_stdout": "Version '0.5.0' is already installed, skipping..."
},
"solc_args": "--base-path /tmp/slither-e19zx41d --allow-paths /tmp/slither-e19zx41d,/tmp/slither-e19zx41d/lib,/tmp/slither-e19zx41d/src",
"remappings": [],
"source_files": [
"contracts/Contract.sol"
],
"contract_count": 0,
"contract_names": [],
"detector_count": 10,
"workspace_hash": "1136529e01ce42bb696f4ebc4190817a847afc7d1a0793c3cfeb3b2db4105c90",
"duration_seconds": 0.5775890350341797,
"solc_version_requested": "0.5.11"
}
{"no_findings":true,"summary":"Reviewed first-party Solidity in `contracts/Contract.sol`; no exploitable vulnerabilities found within the specified focus areas.","findings":[]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-7lyq9t9t
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019be475-1f94-7203-b8e3-0b4c95ee5b88
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.
Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers
thinking
**Deciding to read audit bundle directly**
exec
/bin/bash -lc ls in /tmp/codex-7lyq9t9t succeeded in 6ms:
AUDIT_BUNDLE.txt
codex-output-schema.json
contracts
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-7lyq9t9t succeeded in 9ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.
================================================================================
FILE: contracts/Contract.sol
================================================================================
pragma solidity ^0.5.0;
/*
* @dev Provides information about the current execution context, including the
* sender of the transaction and its data. While these are generally available
* via msg.sender and msg.data, they should not be accessed in such a direct
* manner, since when dealing with GSN meta-transactions the account sending and
* paying for execution may not be the actual sender (as far as an application
* is concerned).
*
* This contract is only required for intermediate, library-like contracts.
*/
contract Context {
// Empty internal constructor, to prevent people from mistakenly deploying
thinking
```json
{
"no_findings": true,
"summary": "Reviewed Contract.sol; no exploitable vulnerabilities found in first-party code.",
"findings": []
}
```
codex
{"no_findings":true,"summary":"Reviewed first-party Solidity in `contracts/Contract.sol`; no exploitable vulnerabilities found within the specified focus areas.","findings":[]}
tokens used
10,046
{
"codex": {
"ran_at": "2026-01-22T06:47:29.995632+00:00",
"returncode": 0
},
"project": {
"mode": "source",
"file_count": 1,
"import_count": 0,
"first_party_contracts_count": 1
},
"summary": "Reviewed first-party Solidity in `contracts/Contract.sol`; no exploitable vulnerabilities found within the specified focus areas.",
"raw_final": {
"summary": "Reviewed first-party Solidity in `contracts/Contract.sol`; no exploitable vulnerabilities found within the specified focus areas.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLVALUE 00000006: DUP1 00000007: ISZERO 00000008: PUSH2 0x0010 0000000b: JUMPI 0000000c: PUSH1 0x00 0000000e: DUP1 0000000f: REVERT 00000010: JUMPDEST 00000011: POP 00000012: PUSH1 0x04 00000014: CALLDATASIZE 00000015: LT 00000016: PUSH2 0x010b 00000019: JUMPI 0000001a: PUSH1 0x00 0000001c: CALLDATALOAD 0000001d: PUSH1 0xe0 0000001f: SHR 00000020: DUP1 00000021: PUSH4 0x70a08231 00000026: GT 00000027: PUSH2 0x00a2 0000002a: JUMPI 0000002b: DUP1 0000002c: PUSH4 0x95d89b41 00000031: GT 00000032: PUSH2 0x0071 00000035: JUMPI 00000036: DUP1 00000037: PUSH4 0x95d89b41 0000003c: EQ 0000003d: PUSH2 0x046f 00000040: JUMPI 00000041: DUP1 00000042: PUSH4 0xa457c2d7 00000047: EQ 00000048: PUSH2 0x04f2 0000004b: JUMPI 0000004c: DUP1 0000004d: PUSH4 0xa9059cbb 00000052: EQ 00000053: PUSH2 0x0558 00000056: JUMPI 00000057: DUP1 00000058: PUSH4 0xdd62ed3e 0000005d: EQ 0000005e: PUSH2 0x05be 00000061: JUMPI 00000062: DUP1 00000063: PUSH4 0xf2fde38b 00000068: EQ 00000069: PUSH2 0x0636 0000006c: JUMPI 0000006d: PUSH2 0x010b 00000070: JUMP 00000071: JUMPDEST 00000072: DUP1 00000073: PUSH4 0x70a08231 00000078: EQ 00000079: PUSH2 0x03a1 0000007c: JUMPI 0000007d: DUP1 0000007e: PUSH4 0x715018a6 00000083: EQ 00000084: PUSH2 0x03f9 00000087: JUMPI 00000088: DUP1 00000089: PUSH4 0x8da5cb5b 0000008e: EQ 0000008f: PUSH2 0x0403 00000092: JUMPI 00000093: DUP1 00000094: PUSH4 0x8f32d59b 00000099: EQ 0000009a: PUSH2 0x044d 0000009d: JUMPI 0000009e: PUSH2 0x010b 000000a1: JUMP 000000a2: JUMPDEST 000000a3: DUP1 000000a4: PUSH4 0x2c297aa1 000000a9: GT 000000aa: PUSH2 0x00de 000000ad: JUMPI 000000ae: DUP1 000000af: PUSH4 0x2c297aa1 000000b4: EQ 000000b5: PUSH2 0x029d 000000b8: JUMPI 000000b9: DUP1 000000ba: PUSH4 0x313ce567 000000bf: EQ 000000c0: PUSH2 0x02df 000000c3: JUMPI 000000c4: DUP1 000000c5: PUSH4 0x39509351 000000ca: EQ 000000cb: PUSH2 0x0303 000000ce: JUMPI 000000cf: DUP1 000000d0: PUSH4 0x3ea26a45 000000d5: EQ 000000d6: PUSH2 0x0369 000000d9: JUMPI 000000da: PUSH2 0x010b 000000dd: JUMP 000000de: JUMPDEST 000000df: DUP1 000000e0: PUSH4 0x06fdde03 000000e5: EQ 000000e6: PUSH2 0x0110 000000e9: JUMPI 000000ea: DUP1 000000eb: PUSH4 0x095ea7b3 000000f0: EQ 000000f1: PUSH2 0x0193 000000f4: JUMPI 000000f5: DUP1 000000f6: PUSH4 0x18160ddd 000000fb: EQ 000000fc: PUSH2 0x01f9 000000ff: JUMPI 00000100: DUP1 00000101: PUSH4 0x23b872dd 00000106: EQ 00000107: PUSH2 0x0217 0000010a: JUMPI 0000010b: JUMPDEST 0000010c: PUSH1 0x00 0000010e: DUP1 0000010f: REVERT 00000110: JUMPDEST 00000111: PUSH2 0x0118 00000114: PUSH2 0x067a 00000117: JUMP 00000118: JUMPDEST 00000119: PUSH1 0x40 0000011b: MLOAD 0000011c: DUP1 0000011d: DUP1 0000011e: PUSH1 0x20 00000120: ADD 00000121: DUP3 00000122: DUP2 00000123: SUB 00000124: DUP3 00000125: MSTORE 00000126: DUP4 00000127: DUP2 00000128: DUP2 00000129: MLOAD 0000012a: DUP2 0000012b: MSTORE 0000012c: PUSH1 0x20 0000012e: ADD 0000012f: SWAP2 00000130: POP 00000131: DUP1 00000132: MLOAD 00000133: SWAP1 00000134: PUSH1 0x20 00000136: ADD 00000137: SWAP1 00000138: DUP1 00000139: DUP4 0000013a: DUP4 0000013b: PUSH1 0x00 0000013d: JUMPDEST 0000013e: DUP4 0000013f: DUP2 00000140: LT 00000141: ISZERO 00000142: PUSH2 0x0158 00000145: JUMPI 00000146: DUP1 00000147: DUP3 00000148: ADD 00000149: MLOAD 0000014a: DUP2 0000014b: DUP5 0000014c: ADD 0000014d: MSTORE 0000014e: PUSH1 0x20 00000150: DUP2 00000151: ADD 00000152: SWAP1 00000153: POP 00000154: PUSH2 0x013d 00000157: JUMP 00000158: JUMPDEST 00000159: POP 0000015a: POP 0000015b: POP 0000015c: POP 0000015d: SWAP1 0000015e: POP 0000015f: SWAP1 00000160: DUP2 00000161: ADD 00000162: SWAP1 00000163: PUSH1 0x1f 00000165: AND 00000166: DUP1 00000167: ISZERO 00000168: PUSH2 0x0185 0000016b: JUMPI 0000016c: DUP1 0000016d: DUP3 0000016e: SUB 0000016f: DUP1 00000170: MLOAD 00000171: PUSH1 0x01 00000173: DUP4 00000174: PUSH1 0x20 00000176: SUB 00000177: PUSH2 0x0100 0000017a: EXP 0000017b: SUB 0000017c: NOT 0000017d: AND 0000017e: DUP2 0000017f: MSTORE 00000180: PUSH1 0x20 00000182: ADD 00000183: SWAP2 00000184: POP 00000185: JUMPDEST 00000186: POP 00000187: SWAP3 00000188: POP 00000189: POP 0000018a: POP 0000018b: PUSH1 0x40 0000018d: MLOAD 0000018e: DUP1 0000018f: SWAP2 00000190: SUB 00000191: SWAP1 00000192: RETURN 00000193: JUMPDEST 00000194: PUSH2 0x01df 00000197: PUSH1 0x04 00000199: DUP1 0000019a: CALLDATASIZE 0000019b: SUB 0000019c: PUSH1 0x40 0000019e: DUP2 0000019f: LT 000001a0: ISZERO 000001a1: PUSH2 0x01a9 000001a4: JUMPI 000001a5: PUSH1 0x00 000001a7: DUP1 000001a8: REVERT 000001a9: JUMPDEST 000001aa: DUP2 000001ab: ADD 000001ac: SWAP1 000001ad: DUP1 000001ae: DUP1 000001af: CALLDATALOAD 000001b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001c5: AND 000001c6: SWAP1 000001c7: PUSH1 0x20 000001c9: ADD 000001ca: SWAP1 000001cb: SWAP3 000001cc: SWAP2 000001cd: SWAP1 000001ce: DUP1 000001cf: CALLDATALOAD 000001d0: SWAP1 000001d1: PUSH1 0x20 000001d3: ADD 000001d4: SWAP1 000001d5: SWAP3 000001d6: SWAP2 000001d7: SWAP1 000001d8: POP 000001d9: POP 000001da: POP 000001db: PUSH2 0x071c 000001de: JUMP 000001df: JUMPDEST 000001e0: PUSH1 0x40 000001e2: MLOAD 000001e3: DUP1 000001e4: DUP3 000001e5: ISZERO 000001e6: ISZERO 000001e7: ISZERO 000001e8: ISZERO 000001e9: DUP2 000001ea: MSTORE 000001eb: PUSH1 0x20 000001ed: ADD 000001ee: SWAP2 000001ef: POP 000001f0: POP 000001f1: PUSH1 0x40 000001f3: MLOAD 000001f4: DUP1 000001f5: SWAP2 000001f6: SUB 000001f7: SWAP1 000001f8: RETURN 000001f9: JUMPDEST 000001fa: PUSH2 0x0201 000001fd: PUSH2 0x073a 00000200: JUMP 00000201: JUMPDEST 00000202: PUSH1 0x40 00000204: MLOAD 00000205: DUP1 00000206: DUP3 00000207: DUP2 00000208: MSTORE 00000209: PUSH1 0x20 0000020b: ADD 0000020c: SWAP2 0000020d: POP 0000020e: POP 0000020f: PUSH1 0x40 00000211: MLOAD 00000212: DUP1 00000213: SWAP2 00000214: SUB 00000215: SWAP1 00000216: RETURN 00000217: JUMPDEST 00000218: PUSH2 0x0283 0000021b: PUSH1 0x04 0000021d: DUP1 0000021e: CALLDATASIZE 0000021f: SUB 00000220: PUSH1 0x60 00000222: DUP2 00000223: LT 00000224: ISZERO 00000225: PUSH2 0x022d 00000228: JUMPI 00000229: PUSH1 0x00 0000022b: DUP1 0000022c: REVERT 0000022d: JUMPDEST 0000022e: DUP2 0000022f: ADD 00000230: SWAP1 00000231: DUP1 00000232: DUP1 00000233: CALLDATALOAD 00000234: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000249: AND 0000024a: SWAP1 0000024b: PUSH1 0x20 0000024d: ADD 0000024e: SWAP1 0000024f: SWAP3 00000250: SWAP2 00000251: SWAP1 00000252: DUP1 00000253: CALLDATALOAD 00000254: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000269: AND 0000026a: SWAP1 0000026b: PUSH1 0x20 0000026d: ADD 0000026e: SWAP1 0000026f: SWAP3 00000270: SWAP2 00000271: SWAP1 00000272: DUP1 00000273: CALLDATALOAD 00000274: SWAP1 00000275: PUSH1 0x20 00000277: ADD 00000278: SWAP1 00000279: SWAP3 0000027a: SWAP2 0000027b: SWAP1 0000027c: POP 0000027d: POP 0000027e: POP 0000027f: PUSH2 0x0744 00000282: JUMP 00000283: JUMPDEST 00000284: PUSH1 0x40 00000286: MLOAD 00000287: DUP1 00000288: DUP3 00000289: ISZERO 0000028a: ISZERO 0000028b: ISZERO 0000028c: ISZERO 0000028d: DUP2 0000028e: MSTORE 0000028f: PUSH1 0x20 00000291: ADD 00000292: SWAP2 00000293: POP 00000294: POP 00000295: PUSH1 0x40 00000297: MLOAD 00000298: DUP1 00000299: SWAP2 0000029a: SUB 0000029b: SWAP1 0000029c: RETURN 0000029d: JUMPDEST 0000029e: PUSH2 0x02c9 000002a1: PUSH1 0x04 000002a3: DUP1 000002a4: CALLDATASIZE 000002a5: SUB 000002a6: PUSH1 0x20 000002a8: DUP2 000002a9: LT 000002aa: ISZERO 000002ab: PUSH2 0x02b3 000002ae: JUMPI 000002af: PUSH1 0x00 000002b1: DUP1 000002b2: REVERT 000002b3: JUMPDEST 000002b4: DUP2 000002b5: ADD 000002b6: SWAP1 000002b7: DUP1 000002b8: DUP1 000002b9: CALLDATALOAD 000002ba: SWAP1 000002bb: PUSH1 0x20 000002bd: ADD 000002be: SWAP1 000002bf: SWAP3 000002c0: SWAP2 000002c1: SWAP1 000002c2: POP 000002c3: POP 000002c4: POP 000002c5: PUSH2 0x081d 000002c8: JUMP 000002c9: JUMPDEST 000002ca: PUSH1 0x40 000002cc: MLOAD 000002cd: DUP1 000002ce: DUP3 000002cf: DUP2 000002d0: MSTORE 000002d1: PUSH1 0x20 000002d3: ADD 000002d4: SWAP2 000002d5: POP 000002d6: POP 000002d7: PUSH1 0x40 000002d9: MLOAD 000002da: DUP1 000002db: SWAP2 000002dc: SUB 000002dd: SWAP1 000002de: RETURN 000002df: JUMPDEST 000002e0: PUSH2 0x02e7 000002e3: PUSH2 0x0835 000002e6: JUMP 000002e7: JUMPDEST 000002e8: PUSH1 0x40 000002ea: MLOAD 000002eb: DUP1 000002ec: DUP3 000002ed: PUSH1 0xff 000002ef: AND 000002f0: PUSH1 0xff 000002f2: AND 000002f3: DUP2 000002f4: MSTORE 000002f5: PUSH1 0x20 000002f7: ADD 000002f8: SWAP2 000002f9: POP 000002fa: POP 000002fb: PUSH1 0x40 000002fd: MLOAD 000002fe: DUP1 000002ff: SWAP2 00000300: SUB 00000301: SWAP1 00000302: RETURN 00000303: JUMPDEST 00000304: PUSH2 0x034f 00000307: PUSH1 0x04 00000309: DUP1 0000030a: CALLDATASIZE 0000030b: SUB 0000030c: PUSH1 0x40 0000030e: DUP2 0000030f: LT 00000310: ISZERO 00000311: PUSH2 0x0319 00000314: JUMPI 00000315: PUSH1 0x00 00000317: DUP1 00000318: REVERT 00000319: JUMPDEST 0000031a: DUP2 0000031b: ADD 0000031c: SWAP1 0000031d: DUP1 0000031e: DUP1 0000031f: CALLDATALOAD 00000320: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000335: AND 00000336: SWAP1 00000337: PUSH1 0x20 00000339: ADD 0000033a: SWAP1 0000033b: SWAP3 0000033c: SWAP2 0000033d: SWAP1 0000033e: DUP1 0000033f: CALLDATALOAD 00000340: SWAP1 00000341: PUSH1 0x20 00000343: ADD 00000344: SWAP1 00000345: SWAP3 00000346: SWAP2 00000347: SWAP1 00000348: POP 00000349: POP 0000034a: POP 0000034b: PUSH2 0x084c 0000034e: JUMP 0000034f: JUMPDEST 00000350: PUSH1 0x40 00000352: MLOAD 00000353: DUP1 00000354: DUP3 00000355: ISZERO 00000356: ISZERO 00000357: ISZERO 00000358: ISZERO 00000359: DUP2 0000035a: MSTORE 0000035b: PUSH1 0x20 0000035d: ADD 0000035e: SWAP2 0000035f: POP 00000360: POP 00000361: PUSH1 0x40 00000363: MLOAD 00000364: DUP1 00000365: SWAP2 00000366: SUB 00000367: SWAP1 00000368: RETURN 00000369: JUMPDEST 0000036a: PUSH2 0x039f 0000036d: PUSH1 0x04 0000036f: DUP1 00000370: CALLDATASIZE 00000371: SUB 00000372: PUSH1 0x40 00000374: DUP2 00000375: LT 00000376: ISZERO 00000377: PUSH2 0x037f 0000037a: JUMPI 0000037b: PUSH1 0x00 0000037d: DUP1 0000037e: REVERT 0000037f: JUMPDEST 00000380: DUP2 00000381: ADD 00000382: SWAP1 00000383: DUP1 00000384: DUP1 00000385: CALLDATALOAD 00000386: SWAP1 00000387: PUSH1 0x20 00000389: ADD 0000038a: SWAP1 0000038b: SWAP3 0000038c: SWAP2 0000038d: SWAP1 0000038e: DUP1 0000038f: CALLDATALOAD 00000390: SWAP1 00000391: PUSH1 0x20 00000393: ADD 00000394: SWAP1 00000395: SWAP3 00000396: SWAP2 00000397: SWAP1 00000398: POP 00000399: POP 0000039a: POP 0000039b: PUSH2 0x08ff 0000039e: JUMP 0000039f: JUMPDEST 000003a0: STOP 000003a1: JUMPDEST 000003a2: PUSH2 0x03e3 000003a5: PUSH1 0x04 000003a7: DUP1 000003a8: CALLDATASIZE 000003a9: SUB 000003aa: PUSH1 0x20 000003ac: DUP2 000003ad: LT 000003ae: ISZERO 000003af: PUSH2 0x03b7 000003b2: JUMPI 000003b3: PUSH1 0x00 000003b5: DUP1 000003b6: REVERT 000003b7: JUMPDEST 000003b8: DUP2 000003b9: ADD 000003ba: SWAP1 000003bb: DUP1 000003bc: DUP1 000003bd: CALLDATALOAD 000003be: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000003d3: AND 000003d4: SWAP1 000003d5: PUSH1 0x20 000003d7: ADD 000003d8: SWAP1 000003d9: SWAP3 000003da: SWAP2 000003db: SWAP1 000003dc: POP 000003dd: POP 000003de: POP 000003df: PUSH2 0x0995 000003e2: JUMP 000003e3: JUMPDEST 000003e4: PUSH1 0x40 000003e6: MLOAD 000003e7: DUP1 000003e8: DUP3 000003e9: DUP2 000003ea: MSTORE 000003eb: PUSH1 0x20 000003ed: ADD 000003ee: SWAP2 000003ef: POP 000003f0: POP 000003f1: PUSH1 0x40 000003f3: MLOAD 000003f4: DUP1 000003f5: SWAP2 000003f6: SUB 000003f7: SWAP1 000003f8: RETURN 000003f9: JUMPDEST 000003fa: PUSH2 0x0401 000003fd: PUSH2 0x09dd 00000400: JUMP 00000401: JUMPDEST 00000402: STOP 00000403: JUMPDEST 00000404: PUSH2 0x040b 00000407: PUSH2 0x0b18 0000040a: JUMP 0000040b: JUMPDEST 0000040c: PUSH1 0x40 0000040e: MLOAD 0000040f: DUP1 00000410: DUP3 00000411: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000426: AND 00000427: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000043c: AND 0000043d: DUP2 0000043e: MSTORE 0000043f: PUSH1 0x20 00000441: ADD 00000442: SWAP2 00000443: POP 00000444: POP 00000445: PUSH1 0x40 00000447: MLOAD 00000448: DUP1 00000449: SWAP2 0000044a: SUB 0000044b: SWAP1 0000044c: RETURN 0000044d: JUMPDEST 0000044e: PUSH2 0x0455 00000451: PUSH2 0x0b42 00000454: JUMP 00000455: JUMPDEST 00000456: PUSH1 0x40 00000458: MLOAD 00000459: DUP1 0000045a: DUP3 0000045b: ISZERO 0000045c: ISZERO 0000045d: ISZERO 0000045e: ISZERO 0000045f: DUP2 00000460: MSTORE 00000461: PUSH1 0x20 00000463: ADD 00000464: SWAP2 00000465: POP 00000466: POP 00000467: PUSH1 0x40 00000469: MLOAD 0000046a: DUP1 0000046b: SWAP2 0000046c: SUB 0000046d: SWAP1 0000046e: RETURN 0000046f: JUMPDEST 00000470: PUSH2 0x0477 00000473: PUSH2 0x0ba1 00000476: JUMP 00000477: JUMPDEST 00000478: PUSH1 0x40 0000047a: MLOAD 0000047b: DUP1 0000047c: DUP1 0000047d: PUSH1 0x20 0000047f: ADD 00000480: DUP3 00000481: DUP2 00000482: SUB 00000483: DUP3 00000484: MSTORE 00000485: DUP4 00000486: DUP2 00000487: DUP2 00000488: MLOAD 00000489: DUP2 0000048a: MSTORE 0000048b: PUSH1 0x20 0000048d: ADD 0000048e: SWAP2 0000048f: POP 00000490: DUP1 00000491: MLOAD 00000492: SWAP1 00000493: PUSH1 0x20 00000495: ADD 00000496: SWAP1 00000497: DUP1 00000498: DUP4 00000499: DUP4 0000049a: PUSH1 0x00 0000049c: JUMPDEST 0000049d: DUP4 0000049e: DUP2 0000049f: LT 000004a0: ISZERO 000004a1: PUSH2 0x04b7 000004a4: JUMPI 000004a5: DUP1 000004a6: DUP3 000004a7: ADD 000004a8: MLOAD 000004a9: DUP2 000004aa: DUP5 000004ab: ADD 000004ac: MSTORE 000004ad: PUSH1 0x20 000004af: DUP2 000004b0: ADD 000004b1: SWAP1 000004b2: POP 000004b3: PUSH2 0x049c 000004b6: JUMP 000004b7: JUMPDEST 000004b8: POP 000004b9: POP 000004ba: POP 000004bb: POP 000004bc: SWAP1 000004bd: POP 000004be: SWAP1 000004bf: DUP2 000004c0: ADD 000004c1: SWAP1 000004c2: PUSH1 0x1f 000004c4: AND 000004c5: DUP1 000004c6: ISZERO 000004c7: PUSH2 0x04e4 000004ca: JUMPI 000004cb: DUP1 000004cc: DUP3 000004cd: SUB 000004ce: DUP1 000004cf: MLOAD 000004d0: PUSH1 0x01 000004d2: DUP4 000004d3: PUSH1 0x20 000004d5: SUB 000004d6: PUSH2 0x0100 000004d9: EXP 000004da: SUB 000004db: NOT 000004dc: AND 000004dd: DUP2 000004de: MSTORE 000004df: PUSH1 0x20 000004e1: ADD 000004e2: SWAP2 000004e3: POP 000004e4: JUMPDEST 000004e5: POP 000004e6: SWAP3 000004e7: POP 000004e8: POP 000004e9: POP 000004ea: PUSH1 0x40 000004ec: MLOAD 000004ed: DUP1 000004ee: SWAP2 000004ef: SUB 000004f0: SWAP1 000004f1: RETURN 000004f2: JUMPDEST 000004f3: PUSH2 0x053e 000004f6: PUSH1 0x04 000004f8: DUP1 000004f9: CALLDATASIZE 000004fa: SUB 000004fb: PUSH1 0x40 000004fd: DUP2 000004fe: LT 000004ff: ISZERO 00000500: PUSH2 0x0508 00000503: JUMPI 00000504: PUSH1 0x00 00000506: DUP1 00000507: REVERT 00000508: JUMPDEST 00000509: DUP2 0000050a: ADD 0000050b: SWAP1 0000050c: DUP1 0000050d: DUP1 0000050e: CALLDATALOAD 0000050f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000524: AND 00000525: SWAP1 00000526: PUSH1 0x20 00000528: ADD 00000529: SWAP1 0000052a: SWAP3 0000052b: SWAP2 0000052c: SWAP1 0000052d: DUP1 0000052e: CALLDATALOAD 0000052f: SWAP1 00000530: PUSH1 0x20 00000532: ADD 00000533: SWAP1 00000534: SWAP3 00000535: SWAP2 00000536: SWAP1 00000537: POP 00000538: POP 00000539: POP 0000053a: PUSH2 0x0c43 0000053d: JUMP 0000053e: JUMPDEST 0000053f: PUSH1 0x40 00000541: MLOAD 00000542: DUP1 00000543: DUP3 00000544: ISZERO 00000545: ISZERO 00000546: ISZERO 00000547: ISZERO 00000548: DUP2 00000549: MSTORE 0000054a: PUSH1 0x20 0000054c: ADD 0000054d: SWAP2 0000054e: POP 0000054f: POP 00000550: PUSH1 0x40 00000552: MLOAD 00000553: DUP1 00000554: SWAP2 00000555: SUB 00000556: SWAP1 00000557: RETURN 00000558: JUMPDEST 00000559: PUSH2 0x05a4 0000055c: PUSH1 0x04 0000055e: DUP1 0000055f: CALLDATASIZE 00000560: SUB 00000561: PUSH1 0x40 00000563: DUP2 00000564: LT 00000565: ISZERO 00000566: PUSH2 0x056e 00000569: JUMPI 0000056a: PUSH1 0x00 0000056c: DUP1 0000056d: REVERT 0000056e: JUMPDEST 0000056f: DUP2 00000570: ADD 00000571: SWAP1 00000572: DUP1 00000573: DUP1 00000574: CALLDATALOAD 00000575: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000058a: AND 0000058b: SWAP1 0000058c: PUSH1 0x20 0000058e: ADD 0000058f: SWAP1 00000590: SWAP3 00000591: SWAP2 00000592: SWAP1 00000593: DUP1 00000594: CALLDATALOAD 00000595: SWAP1 00000596: PUSH1 0x20 00000598: ADD 00000599: SWAP1 0000059a: SWAP3 0000059b: SWAP2 0000059c: SWAP1 0000059d: POP 0000059e: POP 0000059f: POP 000005a0: PUSH2 0x0d10 000005a3: JUMP 000005a4: JUMPDEST 000005a5: PUSH1 0x40 000005a7: MLOAD 000005a8: DUP1 000005a9: DUP3 000005aa: ISZERO 000005ab: ISZERO 000005ac: ISZERO 000005ad: ISZERO 000005ae: DUP2 000005af: MSTORE 000005b0: PUSH1 0x20 000005b2: ADD 000005b3: SWAP2 000005b4: POP 000005b5: POP 000005b6: PUSH1 0x40 000005b8: MLOAD 000005b9: DUP1 000005ba: SWAP2 000005bb: SUB 000005bc: SWAP1 000005bd: RETURN 000005be: JUMPDEST 000005bf: PUSH2 0x0620 000005c2: PUSH1 0x04 000005c4: DUP1 000005c5: CALLDATASIZE 000005c6: SUB 000005c7: PUSH1 0x40 000005c9: DUP2 000005ca: LT 000005cb: ISZERO 000005cc: PUSH2 0x05d4 000005cf: JUMPI 000005d0: PUSH1 0x00 000005d2: DUP1 000005d3: REVERT 000005d4: JUMPDEST 000005d5: DUP2 000005d6: ADD 000005d7: SWAP1 000005d8: DUP1 000005d9: DUP1 000005da: CALLDATALOAD 000005db: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005f0: AND 000005f1: SWAP1 000005f2: PUSH1 0x20 000005f4: ADD 000005f5: SWAP1 000005f6: SWAP3 000005f7: SWAP2 000005f8: SWAP1 000005f9: DUP1 000005fa: CALLDATALOAD 000005fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000610: AND 00000611: SWAP1 00000612: PUSH1 0x20 00000614: ADD 00000615: SWAP1 00000616: SWAP3 00000617: SWAP2 00000618: SWAP1 00000619: POP 0000061a: POP 0000061b: POP 0000061c: PUSH2 0x0d2e 0000061f: JUMP 00000620: JUMPDEST 00000621: PUSH1 0x40 00000623: MLOAD 00000624: DUP1 00000625: DUP3 00000626: DUP2 00000627: MSTORE 00000628: PUSH1 0x20 0000062a: ADD 0000062b: SWAP2 0000062c: POP 0000062d: POP 0000062e: PUSH1 0x40 00000630: MLOAD 00000631: DUP1 00000632: SWAP2 00000633: SUB 00000634: SWAP1 00000635: RETURN 00000636: JUMPDEST 00000637: PUSH2 0x0678 0000063a: PUSH1 0x04 0000063c: DUP1 0000063d: CALLDATASIZE 0000063e: SUB 0000063f: PUSH1 0x20 00000641: DUP2 00000642: LT 00000643: ISZERO 00000644: PUSH2 0x064c 00000647: JUMPI 00000648: PUSH1 0x00 0000064a: DUP1 0000064b: REVERT 0000064c: JUMPDEST 0000064d: DUP2 0000064e: ADD 0000064f: SWAP1 00000650: DUP1 00000651: DUP1 00000652: CALLDATALOAD 00000653: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000668: AND 00000669: SWAP1 0000066a: PUSH1 0x20 0000066c: ADD 0000066d: SWAP1 0000066e: SWAP3 0000066f: SWAP2 00000670: SWAP1 00000671: POP 00000672: POP 00000673: POP 00000674: PUSH2 0x0db5 00000677: JUMP 00000678: JUMPDEST 00000679: STOP 0000067a: JUMPDEST 0000067b: PUSH1 0x60 0000067d: PUSH1 0x03 0000067f: DUP1 00000680: SLOAD 00000681: PUSH1 0x01 00000683: DUP2 00000684: PUSH1 0x01 00000686: AND 00000687: ISZERO 00000688: PUSH2 0x0100 0000068b: MUL 0000068c: SUB 0000068d: AND 0000068e: PUSH1 0x02 00000690: SWAP1 00000691: DIV 00000692: DUP1 00000693: PUSH1 0x1f 00000695: ADD 00000696: PUSH1 0x20 00000698: DUP1 00000699: SWAP2 0000069a: DIV 0000069b: MUL 0000069c: PUSH1 0x20 0000069e: ADD 0000069f: PUSH1 0x40 000006a1: MLOAD 000006a2: SWAP1 000006a3: DUP2 000006a4: ADD 000006a5: PUSH1 0x40 000006a7: MSTORE 000006a8: DUP1 000006a9: SWAP3 000006aa: SWAP2 000006ab: SWAP1 000006ac: DUP2 000006ad: DUP2 000006ae: MSTORE 000006af: PUSH1 0x20 000006b1: ADD 000006b2: DUP3 000006b3: DUP1 000006b4: SLOAD 000006b5: PUSH1 0x01 000006b7: DUP2 000006b8: PUSH1 0x01 000006ba: AND 000006bb: ISZERO 000006bc: PUSH2 0x0100 000006bf: MUL 000006c0: SUB 000006c1: AND 000006c2: PUSH1 0x02 000006c4: SWAP1 000006c5: DIV 000006c6: DUP1 000006c7: ISZERO 000006c8: PUSH2 0x0712 000006cb: JUMPI 000006cc: DUP1 000006cd: PUSH1 0x1f 000006cf: LT 000006d0: PUSH2 0x06e7 000006d3: JUMPI 000006d4: PUSH2 0x0100 000006d7: DUP1 000006d8: DUP4 000006d9: SLOAD 000006da: DIV 000006db: MUL 000006dc: DUP4 000006dd: MSTORE 000006de: SWAP2 000006df: PUSH1 0x20 000006e1: ADD 000006e2: SWAP2 000006e3: PUSH2 0x0712 000006e6: JUMP 000006e7: JUMPDEST 000006e8: DUP3 000006e9: ADD 000006ea: SWAP2 000006eb: SWAP1 000006ec: PUSH1 0x00 000006ee: MSTORE 000006ef: PUSH1 0x20 000006f1: PUSH1 0x00 000006f3: KECCAK256 000006f4: SWAP1 000006f5: JUMPDEST 000006f6: DUP2 000006f7: SLOAD 000006f8: DUP2 000006f9: MSTORE 000006fa: SWAP1 000006fb: PUSH1 0x01 000006fd: ADD 000006fe: SWAP1 000006ff: PUSH1 0x20 00000701: ADD 00000702: DUP1 00000703: DUP4 00000704: GT 00000705: PUSH2 0x06f5 00000708: JUMPI 00000709: DUP3 0000070a: SWAP1 0000070b: SUB 0000070c: PUSH1 0x1f 0000070e: AND 0000070f: DUP3 00000710: ADD 00000711: SWAP2 00000712: JUMPDEST 00000713: POP 00000714: POP 00000715: POP 00000716: POP 00000717: POP 00000718: SWAP1 00000719: POP 0000071a: SWAP1 0000071b: JUMP 0000071c: JUMPDEST 0000071d: PUSH1 0x00 0000071f: PUSH2 0x0730 00000722: PUSH2 0x0729 00000725: PUSH2 0x0e3b 00000728: JUMP 00000729: JUMPDEST 0000072a: DUP5 0000072b: DUP5 0000072c: PUSH2 0x0e43 0000072f: JUMP 00000730: JUMPDEST 00000731: PUSH1 0x01 00000733: SWAP1 00000734: POP 00000735: SWAP3 00000736: SWAP2 00000737: POP 00000738: POP 00000739: JUMP 0000073a: JUMPDEST 0000073b: PUSH1 0x00 0000073d: PUSH1 0x02 0000073f: SLOAD 00000740: SWAP1 00000741: POP 00000742: SWAP1 00000743: JUMP 00000744: JUMPDEST 00000745: PUSH1 0x00 00000747: PUSH2 0x0751 0000074a: DUP5 0000074b: DUP5 0000074c: DUP5 0000074d: PUSH2 0x103a 00000750: JUMP 00000751: JUMPDEST 00000752: PUSH2 0x0812 00000755: DUP5 00000756: PUSH2 0x075d 00000759: PUSH2 0x0e3b 0000075c: JUMP 0000075d: JUMPDEST 0000075e: PUSH2 0x080d 00000761: DUP6 00000762: PUSH1 0x40 00000764: MLOAD 00000765: DUP1 00000766: PUSH1 0x60 00000768: ADD 00000769: PUSH1 0x40 0000076b: MSTORE 0000076c: DUP1 0000076d: PUSH1 0x28 0000076f: DUP2 00000770: MSTORE 00000771: PUSH1 0x20 00000773: ADD 00000774: PUSH2 0x1610 00000777: PUSH1 0x28 00000779: SWAP2 0000077a: CODECOPY 0000077b: PUSH1 0x01 0000077d: PUSH1 0x00 0000077f: DUP12 00000780: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000795: AND 00000796: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007ab: AND 000007ac: DUP2 000007ad: MSTORE 000007ae: PUSH1 0x20 000007b0: ADD 000007b1: SWAP1 000007b2: DUP2 000007b3: MSTORE 000007b4: PUSH1 0x20 000007b6: ADD 000007b7: PUSH1 0x00 000007b9: KECCAK256 000007ba: PUSH1 0x00 000007bc: PUSH2 0x07c3 000007bf: PUSH2 0x0e3b 000007c2: JUMP 000007c3: JUMPDEST 000007c4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007d9: AND 000007da: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007ef: AND 000007f0: DUP2 000007f1: MSTORE 000007f2: PUSH1 0x20 000007f4: ADD 000007f5: SWAP1 000007f6: DUP2 000007f7: MSTORE 000007f8: PUSH1 0x20 000007fa: ADD 000007fb: PUSH1 0x00 000007fd: KECCAK256 000007fe: SLOAD 000007ff: PUSH2 0x12f0 00000802: SWAP1 00000803: SWAP3 00000804: SWAP2 00000805: SWAP1 00000806: PUSH4 0xffffffff 0000080b: AND 0000080c: JUMP 0000080d: JUMPDEST 0000080e: PUSH2 0x0e43 00000811: JUMP 00000812: JUMPDEST 00000813: PUSH1 0x01 00000815: SWAP1 00000816: POP 00000817: SWAP4 00000818: SWAP3 00000819: POP 0000081a: POP 0000081b: POP 0000081c: JUMP 0000081d: JUMPDEST 0000081e: PUSH1 0x06 00000820: PUSH1 0x20 00000822: MSTORE 00000823: DUP1 00000824: PUSH1 0x00 00000826: MSTORE 00000827: PUSH1 0x40 00000829: PUSH1 0x00 0000082b: KECCAK256 0000082c: PUSH1 0x00 0000082e: SWAP2 0000082f: POP 00000830: SWAP1 00000831: POP 00000832: SLOAD 00000833: DUP2 00000834: JUMP 00000835: JUMPDEST 00000836: PUSH1 0x00 00000838: PUSH1 0x05 0000083a: PUSH1 0x00 0000083c: SWAP1 0000083d: SLOAD 0000083e: SWAP1 0000083f: PUSH2 0x0100 00000842: EXP 00000843: SWAP1 00000844: DIV 00000845: PUSH1 0xff 00000847: AND 00000848: SWAP1 00000849: POP 0000084a: SWAP1 0000084b: JUMP 0000084c: JUMPDEST 0000084d: PUSH1 0x00 0000084f: PUSH2 0x08f5 00000852: PUSH2 0x0859 00000855: PUSH2 0x0e3b 00000858: JUMP 00000859: JUMPDEST 0000085a: DUP5 0000085b: PUSH2 0x08f0 0000085e: DUP6 0000085f: PUSH1 0x01 00000861: PUSH1 0x00 00000863: PUSH2 0x086a 00000866: PUSH2 0x0e3b 00000869: JUMP 0000086a: JUMPDEST 0000086b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000880: AND 00000881: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000896: AND 00000897: DUP2 00000898: MSTORE 00000899: PUSH1 0x20 0000089b: ADD 0000089c: SWAP1 0000089d: DUP2 0000089e: MSTORE 0000089f: PUSH1 0x20 000008a1: ADD 000008a2: PUSH1 0x00 000008a4: KECCAK256 000008a5: PUSH1 0x00 000008a7: DUP10 000008a8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008bd: AND 000008be: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008d3: AND 000008d4: DUP2 000008d5: MSTORE 000008d6: PUSH1 0x20 000008d8: ADD 000008d9: SWAP1 000008da: DUP2 000008db: MSTORE 000008dc: PUSH1 0x20 000008de: ADD 000008df: PUSH1 0x00 000008e1: KECCAK256 000008e2: SLOAD 000008e3: PUSH2 0x13b0 000008e6: SWAP1 000008e7: SWAP2 000008e8: SWAP1 000008e9: PUSH4 0xffffffff 000008ee: AND 000008ef: JUMP 000008f0: JUMPDEST 000008f1: PUSH2 0x0e43 000008f4: JUMP 000008f5: JUMPDEST 000008f6: PUSH1 0x01 000008f8: SWAP1 000008f9: POP 000008fa: SWAP3 000008fb: SWAP2 000008fc: POP 000008fd: POP 000008fe: JUMP 000008ff: JUMPDEST 00000900: PUSH2 0x0907 00000903: PUSH2 0x0b42 00000906: JUMP 00000907: JUMPDEST 00000908: PUSH2 0x0979 0000090b: JUMPI 0000090c: PUSH1 0x40 0000090e: MLOAD 0000090f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000930: DUP2 00000931: MSTORE 00000932: PUSH1 0x04 00000934: ADD 00000935: DUP1 00000936: DUP1 00000937: PUSH1 0x20 00000939: ADD 0000093a: DUP3 0000093b: DUP2 0000093c: SUB 0000093d: DUP3 0000093e: MSTORE 0000093f: PUSH1 0x20 00000941: DUP2 00000942: MSTORE 00000943: PUSH1 0x20 00000945: ADD 00000946: DUP1 00000947: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00000968: DUP2 00000969: MSTORE 0000096a: POP 0000096b: PUSH1 0x20 0000096d: ADD 0000096e: SWAP2 0000096f: POP 00000970: POP 00000971: PUSH1 0x40 00000973: MLOAD 00000974: DUP1 00000975: SWAP2 00000976: SUB 00000977: SWAP1 00000978: REVERT 00000979: JUMPDEST 0000097a: DUP1 0000097b: PUSH1 0x06 0000097d: PUSH1 0x00 0000097f: DUP5 00000980: DUP2 00000981: MSTORE 00000982: PUSH1 0x20 00000984: ADD 00000985: SWAP1 00000986: DUP2 00000987: MSTORE 00000988: PUSH1 0x20 0000098a: ADD 0000098b: PUSH1 0x00 0000098d: KECCAK256 0000098e: DUP2 0000098f: SWAP1 00000990: SSTORE 00000991: POP 00000992: POP 00000993: POP 00000994: JUMP 00000995: JUMPDEST 00000996: PUSH1 0x00 00000998: DUP1 00000999: PUSH1 0x00 0000099b: DUP4 0000099c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009b1: AND 000009b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009c7: AND 000009c8: DUP2 000009c9: MSTORE 000009ca: PUSH1 0x20 000009cc: ADD 000009cd: SWAP1 000009ce: DUP2 000009cf: MSTORE 000009d0: PUSH1 0x20 000009d2: ADD 000009d3: PUSH1 0x00 000009d5: KECCAK256 000009d6: SLOAD 000009d7: SWAP1 000009d8: POP 000009d9: SWAP2 000009da: SWAP1 000009db: POP 000009dc: JUMP 000009dd: JUMPDEST 000009de: PUSH2 0x09e5 000009e1: PUSH2 0x0b42 000009e4: JUMP 000009e5: JUMPDEST 000009e6: PUSH2 0x0a57 000009e9: JUMPI 000009ea: PUSH1 0x40 000009ec: MLOAD 000009ed: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000a0e: DUP2 00000a0f: MSTORE 00000a10: PUSH1 0x04 00000a12: ADD 00000a13: DUP1 00000a14: DUP1 00000a15: PUSH1 0x20 00000a17: ADD 00000a18: DUP3 00000a19: DUP2 00000a1a: SUB 00000a1b: DUP3 00000a1c: MSTORE 00000a1d: PUSH1 0x20 00000a1f: DUP2 00000a20: MSTORE 00000a21: PUSH1 0x20 00000a23: ADD 00000a24: DUP1 00000a25: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00000a46: DUP2 00000a47: MSTORE 00000a48: POP 00000a49: PUSH1 0x20 00000a4b: ADD 00000a4c: SWAP2 00000a4d: POP 00000a4e: POP 00000a4f: PUSH1 0x40 00000a51: MLOAD 00000a52: DUP1 00000a53: SWAP2 00000a54: SUB 00000a55: SWAP1 00000a56: REVERT 00000a57: JUMPDEST 00000a58: PUSH1 0x00 00000a5a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a6f: AND 00000a70: PUSH1 0x05 00000a72: PUSH1 0x01 00000a74: SWAP1 00000a75: SLOAD 00000a76: SWAP1 00000a77: PUSH2 0x0100 00000a7a: EXP 00000a7b: SWAP1 00000a7c: DIV 00000a7d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a92: AND 00000a93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000aa8: AND 00000aa9: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00000aca: PUSH1 0x40 00000acc: MLOAD 00000acd: PUSH1 0x40 00000acf: MLOAD 00000ad0: DUP1 00000ad1: SWAP2 00000ad2: SUB 00000ad3: SWAP1 00000ad4: LOG3 00000ad5: PUSH1 0x00 00000ad7: PUSH1 0x05 00000ad9: PUSH1 0x01 00000adb: PUSH2 0x0100 00000ade: EXP 00000adf: DUP2 00000ae0: SLOAD 00000ae1: DUP2 00000ae2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000af7: MUL 00000af8: NOT 00000af9: AND 00000afa: SWAP1 00000afb: DUP4 00000afc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b11: AND 00000b12: MUL 00000b13: OR 00000b14: SWAP1 00000b15: SSTORE 00000b16: POP 00000b17: JUMP 00000b18: JUMPDEST 00000b19: PUSH1 0x00 00000b1b: PUSH1 0x05 00000b1d: PUSH1 0x01 00000b1f: SWAP1 00000b20: SLOAD 00000b21: SWAP1 00000b22: PUSH2 0x0100 00000b25: EXP 00000b26: SWAP1 00000b27: DIV 00000b28: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b3d: AND 00000b3e: SWAP1 00000b3f: POP 00000b40: SWAP1 00000b41: JUMP 00000b42: JUMPDEST 00000b43: PUSH1 0x00 00000b45: PUSH1 0x05 00000b47: PUSH1 0x01 00000b49: SWAP1 00000b4a: SLOAD 00000b4b: SWAP1 00000b4c: PUSH2 0x0100 00000b4f: EXP 00000b50: SWAP1 00000b51: DIV 00000b52: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b67: AND 00000b68: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b7d: AND 00000b7e: PUSH2 0x0b85 00000b81: PUSH2 0x0e3b 00000b84: JUMP 00000b85: JUMPDEST 00000b86: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b9b: AND 00000b9c: EQ 00000b9d: SWAP1 00000b9e: POP 00000b9f: SWAP1 00000ba0: JUMP 00000ba1: JUMPDEST 00000ba2: PUSH1 0x60 00000ba4: PUSH1 0x04 00000ba6: DUP1 00000ba7: SLOAD 00000ba8: PUSH1 0x01 00000baa: DUP2 00000bab: PUSH1 0x01 00000bad: AND 00000bae: ISZERO 00000baf: PUSH2 0x0100 00000bb2: MUL 00000bb3: SUB 00000bb4: AND 00000bb5: PUSH1 0x02 00000bb7: SWAP1 00000bb8: DIV 00000bb9: DUP1 00000bba: PUSH1 0x1f 00000bbc: ADD 00000bbd: PUSH1 0x20 00000bbf: DUP1 00000bc0: SWAP2 00000bc1: DIV 00000bc2: MUL 00000bc3: PUSH1 0x20 00000bc5: ADD 00000bc6: PUSH1 0x40 00000bc8: MLOAD 00000bc9: SWAP1 00000bca: DUP2 00000bcb: ADD 00000bcc: PUSH1 0x40 00000bce: MSTORE 00000bcf: DUP1 00000bd0: SWAP3 00000bd1: SWAP2 00000bd2: SWAP1 00000bd3: DUP2 00000bd4: DUP2 00000bd5: MSTORE 00000bd6: PUSH1 0x20 00000bd8: ADD 00000bd9: DUP3 00000bda: DUP1 00000bdb: SLOAD 00000bdc: PUSH1 0x01 00000bde: DUP2 00000bdf: PUSH1 0x01 00000be1: AND 00000be2: ISZERO 00000be3: PUSH2 0x0100 00000be6: MUL 00000be7: SUB 00000be8: AND 00000be9: PUSH1 0x02 00000beb: SWAP1 00000bec: DIV 00000bed: DUP1 00000bee: ISZERO 00000bef: PUSH2 0x0c39 00000bf2: JUMPI 00000bf3: DUP1 00000bf4: PUSH1 0x1f 00000bf6: LT 00000bf7: PUSH2 0x0c0e 00000bfa: JUMPI 00000bfb: PUSH2 0x0100 00000bfe: DUP1 00000bff: DUP4 00000c00: SLOAD 00000c01: DIV 00000c02: MUL 00000c03: DUP4 00000c04: MSTORE 00000c05: SWAP2 00000c06: PUSH1 0x20 00000c08: ADD 00000c09: SWAP2 00000c0a: PUSH2 0x0c39 00000c0d: JUMP 00000c0e: JUMPDEST 00000c0f: DUP3 00000c10: ADD 00000c11: SWAP2 00000c12: SWAP1 00000c13: PUSH1 0x00 00000c15: MSTORE 00000c16: PUSH1 0x20 00000c18: PUSH1 0x00 00000c1a: KECCAK256 00000c1b: SWAP1 00000c1c: JUMPDEST 00000c1d: DUP2 00000c1e: SLOAD 00000c1f: DUP2 00000c20: MSTORE 00000c21: SWAP1 00000c22: PUSH1 0x01 00000c24: ADD 00000c25: SWAP1 00000c26: PUSH1 0x20 00000c28: ADD 00000c29: DUP1 00000c2a: DUP4 00000c2b: GT 00000c2c: PUSH2 0x0c1c 00000c2f: JUMPI 00000c30: DUP3 00000c31: SWAP1 00000c32: SUB 00000c33: PUSH1 0x1f 00000c35: AND 00000c36: DUP3 00000c37: ADD 00000c38: SWAP2 00000c39: JUMPDEST 00000c3a: POP 00000c3b: POP 00000c3c: POP 00000c3d: POP 00000c3e: POP 00000c3f: SWAP1 00000c40: POP 00000c41: SWAP1 00000c42: JUMP 00000c43: JUMPDEST 00000c44: PUSH1 0x00 00000c46: PUSH2 0x0d06 00000c49: PUSH2 0x0c50 00000c4c: PUSH2 0x0e3b 00000c4f: JUMP 00000c50: JUMPDEST 00000c51: DUP5 00000c52: PUSH2 0x0d01 00000c55: DUP6 00000c56: PUSH1 0x40 00000c58: MLOAD 00000c59: DUP1 00000c5a: PUSH1 0x60 00000c5c: ADD 00000c5d: PUSH1 0x40 00000c5f: MSTORE 00000c60: DUP1 00000c61: PUSH1 0x25 00000c63: DUP2 00000c64: MSTORE 00000c65: PUSH1 0x20 00000c67: ADD 00000c68: PUSH2 0x1681 00000c6b: PUSH1 0x25 00000c6d: SWAP2 00000c6e: CODECOPY 00000c6f: PUSH1 0x01 00000c71: PUSH1 0x00 00000c73: PUSH2 0x0c7a 00000c76: PUSH2 0x0e3b 00000c79: JUMP 00000c7a: JUMPDEST 00000c7b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c90: AND 00000c91: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ca6: AND 00000ca7: DUP2 00000ca8: MSTORE 00000ca9: PUSH1 0x20 00000cab: ADD 00000cac: SWAP1 00000cad: DUP2 00000cae: MSTORE 00000caf: PUSH1 0x20 00000cb1: ADD 00000cb2: PUSH1 0x00 00000cb4: KECCAK256 00000cb5: PUSH1 0x00 00000cb7: DUP11 00000cb8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ccd: AND 00000cce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ce3: AND 00000ce4: DUP2 00000ce5: MSTORE 00000ce6: PUSH1 0x20 00000ce8: ADD 00000ce9: SWAP1 00000cea: DUP2 00000ceb: MSTORE 00000cec: PUSH1 0x20 00000cee: ADD 00000cef: PUSH1 0x00 00000cf1: KECCAK256 00000cf2: SLOAD 00000cf3: PUSH2 0x12f0 00000cf6: SWAP1 00000cf7: SWAP3 00000cf8: SWAP2 00000cf9: SWAP1 00000cfa: PUSH4 0xffffffff 00000cff: AND 00000d00: JUMP 00000d01: JUMPDEST 00000d02: PUSH2 0x0e43 00000d05: JUMP 00000d06: JUMPDEST 00000d07: PUSH1 0x01 00000d09: SWAP1 00000d0a: POP 00000d0b: SWAP3 00000d0c: SWAP2 00000d0d: POP 00000d0e: POP 00000d0f: JUMP 00000d10: JUMPDEST 00000d11: PUSH1 0x00 00000d13: PUSH2 0x0d24 00000d16: PUSH2 0x0d1d 00000d19: PUSH2 0x0e3b 00000d1c: JUMP 00000d1d: JUMPDEST 00000d1e: DUP5 00000d1f: DUP5 00000d20: PUSH2 0x103a 00000d23: JUMP 00000d24: JUMPDEST 00000d25: PUSH1 0x01 00000d27: SWAP1 00000d28: POP 00000d29: SWAP3 00000d2a: SWAP2 00000d2b: POP 00000d2c: POP 00000d2d: JUMP 00000d2e: JUMPDEST 00000d2f: PUSH1 0x00 00000d31: PUSH1 0x01 00000d33: PUSH1 0x00 00000d35: DUP5 00000d36: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d4b: AND 00000d4c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d61: AND 00000d62: DUP2 00000d63: MSTORE 00000d64: PUSH1 0x20 00000d66: ADD 00000d67: SWAP1 00000d68: DUP2 00000d69: MSTORE 00000d6a: PUSH1 0x20 00000d6c: ADD 00000d6d: PUSH1 0x00 00000d6f: KECCAK256 00000d70: PUSH1 0x00 00000d72: DUP4 00000d73: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d88: AND 00000d89: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d9e: AND 00000d9f: DUP2 00000da0: MSTORE 00000da1: PUSH1 0x20 00000da3: ADD 00000da4: SWAP1 00000da5: DUP2 00000da6: MSTORE 00000da7: PUSH1 0x20 00000da9: ADD 00000daa: PUSH1 0x00 00000dac: KECCAK256 00000dad: SLOAD 00000dae: SWAP1 00000daf: POP 00000db0: SWAP3 00000db1: SWAP2 00000db2: POP 00000db3: POP 00000db4: JUMP 00000db5: JUMPDEST 00000db6: PUSH2 0x0dbd 00000db9: PUSH2 0x0b42 00000dbc: JUMP 00000dbd: JUMPDEST 00000dbe: PUSH2 0x0e2f 00000dc1: JUMPI 00000dc2: PUSH1 0x40 00000dc4: MLOAD 00000dc5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000de6: DUP2 00000de7: MSTORE 00000de8: PUSH1 0x04 00000dea: ADD 00000deb: DUP1 00000dec: DUP1 00000ded: PUSH1 0x20 00000def: ADD 00000df0: DUP3 00000df1: DUP2 00000df2: SUB 00000df3: DUP3 00000df4: MSTORE 00000df5: PUSH1 0x20 00000df7: DUP2 00000df8: MSTORE 00000df9: PUSH1 0x20 00000dfb: ADD 00000dfc: DUP1 00000dfd: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00000e1e: DUP2 00000e1f: MSTORE 00000e20: POP 00000e21: PUSH1 0x20 00000e23: ADD 00000e24: SWAP2 00000e25: POP 00000e26: POP 00000e27: PUSH1 0x40 00000e29: MLOAD 00000e2a: DUP1 00000e2b: SWAP2 00000e2c: SUB 00000e2d: SWAP1 00000e2e: REVERT 00000e2f: JUMPDEST 00000e30: PUSH2 0x0e38 00000e33: DUP2 00000e34: PUSH2 0x1438 00000e37: JUMP 00000e38: JUMPDEST 00000e39: POP 00000e3a: JUMP 00000e3b: JUMPDEST 00000e3c: PUSH1 0x00 00000e3e: CALLER 00000e3f: SWAP1 00000e40: POP 00000e41: SWAP1 00000e42: JUMP 00000e43: JUMPDEST 00000e44: PUSH1 0x00 00000e46: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e5b: AND 00000e5c: DUP4 00000e5d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e72: AND 00000e73: EQ 00000e74: ISZERO 00000e75: PUSH2 0x0ec9 00000e78: JUMPI 00000e79: PUSH1 0x40 00000e7b: MLOAD 00000e7c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000e9d: DUP2 00000e9e: MSTORE 00000e9f: PUSH1 0x04 00000ea1: ADD 00000ea2: DUP1 00000ea3: DUP1 00000ea4: PUSH1 0x20 00000ea6: ADD 00000ea7: DUP3 00000ea8: DUP2 00000ea9: SUB 00000eaa: DUP3 00000eab: MSTORE 00000eac: PUSH1 0x24 00000eae: DUP2 00000eaf: MSTORE 00000eb0: PUSH1 0x20 00000eb2: ADD 00000eb3: DUP1 00000eb4: PUSH2 0x165d 00000eb7: PUSH1 0x24 00000eb9: SWAP2 00000eba: CODECOPY 00000ebb: PUSH1 0x40 00000ebd: ADD 00000ebe: SWAP2 00000ebf: POP 00000ec0: POP 00000ec1: PUSH1 0x40 00000ec3: MLOAD 00000ec4: DUP1 00000ec5: SWAP2 00000ec6: SUB 00000ec7: SWAP1 00000ec8: REVERT 00000ec9: JUMPDEST 00000eca: PUSH1 0x00 00000ecc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ee1: AND 00000ee2: DUP3 00000ee3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ef8: AND 00000ef9: EQ 00000efa: ISZERO 00000efb: PUSH2 0x0f4f 00000efe: JUMPI 00000eff: PUSH1 0x40 00000f01: MLOAD 00000f02: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000f23: DUP2 00000f24: MSTORE 00000f25: PUSH1 0x04 00000f27: ADD 00000f28: DUP1 00000f29: DUP1 00000f2a: PUSH1 0x20 00000f2c: ADD 00000f2d: DUP3 00000f2e: DUP2 00000f2f: SUB 00000f30: DUP3 00000f31: MSTORE 00000f32: PUSH1 0x22 00000f34: DUP2 00000f35: MSTORE 00000f36: PUSH1 0x20 00000f38: ADD 00000f39: DUP1 00000f3a: PUSH2 0x15c8 00000f3d: PUSH1 0x22 00000f3f: SWAP2 00000f40: CODECOPY 00000f41: PUSH1 0x40 00000f43: ADD 00000f44: SWAP2 00000f45: POP 00000f46: POP 00000f47: PUSH1 0x40 00000f49: MLOAD 00000f4a: DUP1 00000f4b: SWAP2 00000f4c: SUB 00000f4d: SWAP1 00000f4e: REVERT 00000f4f: JUMPDEST 00000f50: DUP1 00000f51: PUSH1 0x01 00000f53: PUSH1 0x00 00000f55: DUP6 00000f56: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f6b: AND 00000f6c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f81: AND 00000f82: DUP2 00000f83: MSTORE 00000f84: PUSH1 0x20 00000f86: ADD 00000f87: SWAP1 00000f88: DUP2 00000f89: MSTORE 00000f8a: PUSH1 0x20 00000f8c: ADD 00000f8d: PUSH1 0x00 00000f8f: KECCAK256 00000f90: PUSH1 0x00 00000f92: DUP5 00000f93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fa8: AND 00000fa9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fbe: AND 00000fbf: DUP2 00000fc0: MSTORE 00000fc1: PUSH1 0x20 00000fc3: ADD 00000fc4: SWAP1 00000fc5: DUP2 00000fc6: MSTORE 00000fc7: PUSH1 0x20 00000fc9: ADD 00000fca: PUSH1 0x00 00000fcc: KECCAK256 00000fcd: DUP2 00000fce: SWAP1 00000fcf: SSTORE 00000fd0: POP 00000fd1: DUP2 00000fd2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fe7: AND 00000fe8: DUP4 00000fe9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ffe: AND 00000fff: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925 00001020: DUP4 00001021: PUSH1 0x40 00001023: MLOAD 00001024: DUP1 00001025: DUP3 00001026: DUP2 00001027: MSTORE 00001028: PUSH1 0x20 0000102a: ADD 0000102b: SWAP2 0000102c: POP 0000102d: POP 0000102e: PUSH1 0x40 00001030: MLOAD 00001031: DUP1 00001032: SWAP2 00001033: SUB 00001034: SWAP1 00001035: LOG3 00001036: POP 00001037: POP 00001038: POP 00001039: JUMP 0000103a: JUMPDEST 0000103b: PUSH1 0x00 0000103d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001052: AND 00001053: DUP4 00001054: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001069: AND 0000106a: EQ 0000106b: ISZERO 0000106c: PUSH2 0x10c0 0000106f: JUMPI 00001070: PUSH1 0x40 00001072: MLOAD 00001073: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001094: DUP2 00001095: MSTORE 00001096: PUSH1 0x04 00001098: ADD 00001099: DUP1 0000109a: DUP1 0000109b: PUSH1 0x20 0000109d: ADD 0000109e: DUP3 0000109f: DUP2 000010a0: SUB 000010a1: DUP3 000010a2: MSTORE 000010a3: PUSH1 0x25 000010a5: DUP2 000010a6: MSTORE 000010a7: PUSH1 0x20 000010a9: ADD 000010aa: DUP1 000010ab: PUSH2 0x1638 000010ae: PUSH1 0x25 000010b0: SWAP2 000010b1: CODECOPY 000010b2: PUSH1 0x40 000010b4: ADD 000010b5: SWAP2 000010b6: POP 000010b7: POP 000010b8: PUSH1 0x40 000010ba: MLOAD 000010bb: DUP1 000010bc: SWAP2 000010bd: SUB 000010be: SWAP1 000010bf: REVERT 000010c0: JUMPDEST 000010c1: PUSH1 0x00 000010c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010d8: AND 000010d9: DUP3 000010da: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010ef: AND 000010f0: EQ 000010f1: ISZERO 000010f2: PUSH2 0x1146 000010f5: JUMPI 000010f6: PUSH1 0x40 000010f8: MLOAD 000010f9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000111a: DUP2 0000111b: MSTORE 0000111c: PUSH1 0x04 0000111e: ADD 0000111f: DUP1 00001120: DUP1 00001121: PUSH1 0x20 00001123: ADD 00001124: DUP3 00001125: DUP2 00001126: SUB 00001127: DUP3 00001128: MSTORE 00001129: PUSH1 0x23 0000112b: DUP2 0000112c: MSTORE 0000112d: PUSH1 0x20 0000112f: ADD 00001130: DUP1 00001131: PUSH2 0x157f 00001134: PUSH1 0x23 00001136: SWAP2 00001137: CODECOPY 00001138: PUSH1 0x40 0000113a: ADD 0000113b: SWAP2 0000113c: POP 0000113d: POP 0000113e: PUSH1 0x40 00001140: MLOAD 00001141: DUP1 00001142: SWAP2 00001143: SUB 00001144: SWAP1 00001145: REVERT 00001146: JUMPDEST 00001147: PUSH2 0x11b1 0000114a: DUP2 0000114b: PUSH1 0x40 0000114d: MLOAD 0000114e: DUP1 0000114f: PUSH1 0x60 00001151: ADD 00001152: PUSH1 0x40 00001154: MSTORE 00001155: DUP1 00001156: PUSH1 0x26 00001158: DUP2 00001159: MSTORE 0000115a: PUSH1 0x20 0000115c: ADD 0000115d: PUSH2 0x15ea 00001160: PUSH1 0x26 00001162: SWAP2 00001163: CODECOPY 00001164: PUSH1 0x00 00001166: DUP1 00001167: DUP8 00001168: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000117d: AND 0000117e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001193: AND 00001194: DUP2 00001195: MSTORE 00001196: PUSH1 0x20 00001198: ADD 00001199: SWAP1 0000119a: DUP2 0000119b: MSTORE 0000119c: PUSH1 0x20 0000119e: ADD 0000119f: PUSH1 0x00 000011a1: KECCAK256 000011a2: SLOAD 000011a3: PUSH2 0x12f0 000011a6: SWAP1 000011a7: SWAP3 000011a8: SWAP2 000011a9: SWAP1 000011aa: PUSH4 0xffffffff 000011af: AND 000011b0: JUMP 000011b1: JUMPDEST 000011b2: PUSH1 0x00 000011b4: DUP1 000011b5: DUP6 000011b6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011cb: AND 000011cc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011e1: AND 000011e2: DUP2 000011e3: MSTORE 000011e4: PUSH1 0x20 000011e6: ADD 000011e7: SWAP1 000011e8: DUP2 000011e9: MSTORE 000011ea: PUSH1 0x20 000011ec: ADD 000011ed: PUSH1 0x00 000011ef: KECCAK256 000011f0: DUP2 000011f1: SWAP1 000011f2: SSTORE 000011f3: POP 000011f4: PUSH2 0x1244 000011f7: DUP2 000011f8: PUSH1 0x00 000011fa: DUP1 000011fb: DUP6 000011fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001211: AND 00001212: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001227: AND 00001228: DUP2 00001229: MSTORE 0000122a: PUSH1 0x20 0000122c: ADD 0000122d: SWAP1 0000122e: DUP2 0000122f: MSTORE 00001230: PUSH1 0x20 00001232: ADD 00001233: PUSH1 0x00 00001235: KECCAK256 00001236: SLOAD 00001237: PUSH2 0x13b0 0000123a: SWAP1 0000123b: SWAP2 0000123c: SWAP1 0000123d: PUSH4 0xffffffff 00001242: AND 00001243: JUMP 00001244: JUMPDEST 00001245: PUSH1 0x00 00001247: DUP1 00001248: DUP5 00001249: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000125e: AND 0000125f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001274: AND 00001275: DUP2 00001276: MSTORE 00001277: PUSH1 0x20 00001279: ADD 0000127a: SWAP1 0000127b: DUP2 0000127c: MSTORE 0000127d: PUSH1 0x20 0000127f: ADD 00001280: PUSH1 0x00 00001282: KECCAK256 00001283: DUP2 00001284: SWAP1 00001285: SSTORE 00001286: POP 00001287: DUP2 00001288: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000129d: AND 0000129e: DUP4 0000129f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012b4: AND 000012b5: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 000012d6: DUP4 000012d7: PUSH1 0x40 000012d9: MLOAD 000012da: DUP1 000012db: DUP3 000012dc: DUP2 000012dd: MSTORE 000012de: PUSH1 0x20 000012e0: ADD 000012e1: SWAP2 000012e2: POP 000012e3: POP 000012e4: PUSH1 0x40 000012e6: MLOAD 000012e7: DUP1 000012e8: SWAP2 000012e9: SUB 000012ea: SWAP1 000012eb: LOG3 000012ec: POP 000012ed: POP 000012ee: POP 000012ef: JUMP 000012f0: JUMPDEST 000012f1: PUSH1 0x00 000012f3: DUP4 000012f4: DUP4 000012f5: GT 000012f6: ISZERO 000012f7: DUP3 000012f8: SWAP1 000012f9: PUSH2 0x139d 000012fc: JUMPI 000012fd: PUSH1 0x40 000012ff: MLOAD 00001300: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001321: DUP2 00001322: MSTORE 00001323: PUSH1 0x04 00001325: ADD 00001326: DUP1 00001327: DUP1 00001328: PUSH1 0x20 0000132a: ADD 0000132b: DUP3 0000132c: DUP2 0000132d: SUB 0000132e: DUP3 0000132f: MSTORE 00001330: DUP4 00001331: DUP2 00001332: DUP2 00001333: MLOAD 00001334: DUP2 00001335: MSTORE 00001336: PUSH1 0x20 00001338: ADD 00001339: SWAP2 0000133a: POP 0000133b: DUP1 0000133c: MLOAD 0000133d: SWAP1 0000133e: PUSH1 0x20 00001340: ADD 00001341: SWAP1 00001342: DUP1 00001343: DUP4 00001344: DUP4 00001345: PUSH1 0x00 00001347: JUMPDEST 00001348: DUP4 00001349: DUP2 0000134a: LT 0000134b: ISZERO 0000134c: PUSH2 0x1362 0000134f: JUMPI 00001350: DUP1 00001351: DUP3 00001352: ADD 00001353: MLOAD 00001354: DUP2 00001355: DUP5 00001356: ADD 00001357: MSTORE 00001358: PUSH1 0x20 0000135a: DUP2 0000135b: ADD 0000135c: SWAP1 0000135d: POP 0000135e: PUSH2 0x1347 00001361: JUMP 00001362: JUMPDEST 00001363: POP 00001364: POP 00001365: POP 00001366: POP 00001367: SWAP1 00001368: POP 00001369: SWAP1 0000136a: DUP2 0000136b: ADD 0000136c: SWAP1 0000136d: PUSH1 0x1f 0000136f: AND 00001370: DUP1 00001371: ISZERO 00001372: PUSH2 0x138f 00001375: JUMPI 00001376: DUP1 00001377: DUP3 00001378: SUB 00001379: DUP1 0000137a: MLOAD 0000137b: PUSH1 0x01 0000137d: DUP4 0000137e: PUSH1 0x20 00001380: SUB 00001381: PUSH2 0x0100 00001384: EXP 00001385: SUB 00001386: NOT 00001387: AND 00001388: DUP2 00001389: MSTORE 0000138a: PUSH1 0x20 0000138c: ADD 0000138d: SWAP2 0000138e: POP 0000138f: JUMPDEST 00001390: POP 00001391: SWAP3 00001392: POP 00001393: POP 00001394: POP 00001395: PUSH1 0x40 00001397: MLOAD 00001398: DUP1 00001399: SWAP2 0000139a: SUB 0000139b: SWAP1 0000139c: REVERT 0000139d: JUMPDEST 0000139e: POP 0000139f: PUSH1 0x00 000013a1: DUP4 000013a2: DUP6 000013a3: SUB 000013a4: SWAP1 000013a5: POP 000013a6: DUP1 000013a7: SWAP2 000013a8: POP 000013a9: POP 000013aa: SWAP4 000013ab: SWAP3 000013ac: POP 000013ad: POP 000013ae: POP 000013af: JUMP 000013b0: JUMPDEST 000013b1: PUSH1 0x00 000013b3: DUP1 000013b4: DUP3 000013b5: DUP5 000013b6: ADD 000013b7: SWAP1 000013b8: POP 000013b9: DUP4 000013ba: DUP2 000013bb: LT 000013bc: ISZERO 000013bd: PUSH2 0x142e 000013c0: JUMPI 000013c1: PUSH1 0x40 000013c3: MLOAD 000013c4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000013e5: DUP2 000013e6: MSTORE 000013e7: PUSH1 0x04 000013e9: ADD 000013ea: DUP1 000013eb: DUP1 000013ec: PUSH1 0x20 000013ee: ADD 000013ef: DUP3 000013f0: DUP2 000013f1: SUB 000013f2: DUP3 000013f3: MSTORE 000013f4: PUSH1 0x1b 000013f6: DUP2 000013f7: MSTORE 000013f8: PUSH1 0x20 000013fa: ADD 000013fb: DUP1 000013fc: PUSH32 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000 0000141d: DUP2 0000141e: MSTORE 0000141f: POP 00001420: PUSH1 0x20 00001422: ADD 00001423: SWAP2 00001424: POP 00001425: POP 00001426: PUSH1 0x40 00001428: MLOAD 00001429: DUP1 0000142a: SWAP2 0000142b: SUB 0000142c: SWAP1 0000142d: REVERT 0000142e: JUMPDEST 0000142f: DUP1 00001430: SWAP2 00001431: POP 00001432: POP 00001433: SWAP3 00001434: SWAP2 00001435: POP 00001436: POP 00001437: JUMP 00001438: JUMPDEST 00001439: PUSH1 0x00 0000143b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001450: AND 00001451: DUP2 00001452: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001467: AND 00001468: EQ 00001469: ISZERO 0000146a: PUSH2 0x14be 0000146d: JUMPI 0000146e: PUSH1 0x40 00001470: MLOAD 00001471: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001492: DUP2 00001493: MSTORE 00001494: PUSH1 0x04 00001496: ADD 00001497: DUP1 00001498: DUP1 00001499: PUSH1 0x20 0000149b: ADD 0000149c: DUP3 0000149d: DUP2 0000149e: SUB 0000149f: DUP3 000014a0: MSTORE 000014a1: PUSH1 0x26 000014a3: DUP2 000014a4: MSTORE 000014a5: PUSH1 0x20 000014a7: ADD 000014a8: DUP1 000014a9: PUSH2 0x15a2 000014ac: PUSH1 0x26 000014ae: SWAP2 000014af: CODECOPY 000014b0: PUSH1 0x40 000014b2: ADD 000014b3: SWAP2 000014b4: POP 000014b5: POP 000014b6: PUSH1 0x40 000014b8: MLOAD 000014b9: DUP1 000014ba: SWAP2 000014bb: SUB 000014bc: SWAP1 000014bd: REVERT 000014be: JUMPDEST 000014bf: DUP1 000014c0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014d5: AND 000014d6: PUSH1 0x05 000014d8: PUSH1 0x01 000014da: SWAP1 000014db: SLOAD 000014dc: SWAP1 000014dd: PUSH2 0x0100 000014e0: EXP 000014e1: SWAP1 000014e2: DIV 000014e3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014f8: AND 000014f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000150e: AND 0000150f: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00001530: PUSH1 0x40 00001532: MLOAD 00001533: PUSH1 0x40 00001535: MLOAD 00001536: DUP1 00001537: SWAP2 00001538: SUB 00001539: SWAP1 0000153a: LOG3 0000153b: DUP1 0000153c: PUSH1 0x05 0000153e: PUSH1 0x01 00001540: PUSH2 0x0100 00001543: EXP 00001544: DUP2 00001545: SLOAD 00001546: DUP2 00001547: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000155c: MUL 0000155d: NOT 0000155e: AND 0000155f: SWAP1 00001560: DUP4 00001561: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001576: AND 00001577: MUL 00001578: OR 00001579: SWAP1 0000157a: SSTORE 0000157b: POP 0000157c: POP 0000157d: JUMP 0000157e: INVALID 0000157f: GASLIMIT 00001580: MSTORE 00001581: NUMBER 00001582: ORIGIN 00001583: ADDRESS 00001584: GASPRICE 00001585: KECCAK256 00001586: PUSH21 0x72616e7366657220746f20746865207a65726f2061 0000159c: PUSH5 0x6472657373 000015a2: UNKNOWN(0x4F) 000015a3: PUSH24 0x6e61626c653a206e6577206f776e65722069732074686520 000015bc: PUSH27 0x65726f206164647265737345524332303a20617070726f76652074 000015d8: PUSH16 0x20746865207a65726f20616464726573 000015e9: PUSH20 0x45524332303a207472616e7366657220616d6f75 000015fe: PUSH15 0x7420657863656564732062616c616e 0000160e: PUSH4 0x65455243 00001613: ORIGIN 00001614: ADDRESS 00001615: GASPRICE 00001616: KECCAK256 00001617: PUSH21 0x72616e7366657220616d6f756e7420657863656564 0000162d: PUSH20 0x20616c6c6f77616e636545524332303a20747261 00001642: PUSH15 0x736665722066726f6d20746865207a 00001652: PUSH6 0x726f20616464 00001659: PUSH19 0x65737345524332303a20617070726f76652066 0000166d: PUSH19 0x6f6d20746865207a65726f2061646472657373 00001681: GASLIMIT 00001682: MSTORE 00001683: NUMBER 00001684: ORIGIN 00001685: ADDRESS 00001686: GASPRICE 00001687: KECCAK256 00001688: PUSH5 0x6563726561 0000168e: PUSH20 0x656420616c6c6f77616e63652062656c6f77207a 000016a3: PUSH6 0x726fa265627a 000016aa: PUSH27 0x7231582061cf46a1f6810b2bf01b9c72b124ad67331522459057ff 000016c6: PUSH2 0xeaf1 000016c9: PUSH21
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | auth | detector | Authorization based on tx.origin | 70 | no | — |
viewvalidation_json{
"reason": "missing sink mapping",
"status": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x95d89b41",
"selector": "0x95d89b41",
"calldata_variants": [
"0x95d89b41",
"0x95d89b410000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa457c2d7",
"selector": "0xa457c2d7",
"calldata_variants": [
"0xa457c2d7",
"0xa457c2d70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa9059cbb",
"selector": "0xa9059cbb",
"calldata_variants": [
"0xa9059cbb",
"0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x70a08231",
"selector": "0x70a08231",
"calldata_variants": [
"0x70a08231",
"0x70a082310000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x715018a6",
"selector": "0x715018a6",
"calldata_variants": [
"0x715018a6",
"0x715018a60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 5506,
"type": "tx_origin_used"
},
{
"pc": 5651,
"type": "tx_origin_used"
},
{
"pc": 5764,
"type": "tx_origin_used"
}
]
}
|