019be3d6-8231-70b2-a0a7-181f8ab0846d
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 |
|---|---|---|---|---|
| 40603 | artifact.fetch | complete | 1 / 3 | 2 months ago |
| 40604 | proxy.resolve | complete | 1 / 3 | 2 months ago |
| 40605 | tool.cast_disasm | complete | 1 / 3 | 2 months ago |
| 40606 | analysis.bundle | complete | 1 / 3 | 2 months ago |
| 40607 | capability.graph | complete | 1 / 3 | 2 months ago |
| 40608 | detector.run | complete | 1 / 3 | 2 months ago |
| 40609 | validation.fork | complete | 1 / 3 | 2 months ago |
| 41250 | report.consolidate | complete | 1 / 6 | 2 months ago |
| 41251 | tool.slither | complete | 1 / 2 | 2 months ago |
{
"status": "not_proxy"
}
'forge clean' running (wd: /tmp/slither-pj__9jg0) 'forge config --json' running 'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-pj__9jg0) POOH.sell(uint256) (contracts/Contract.sol#259-293) performs a multiplication on the result of a division: - _dividends = SafeMath.div(_ethereum,dividendFee_) (contracts/Contract.sol#275-276) - profitPerShare_ = SafeMath.add(profitPerShare_,(_dividends * magnitude) / tokenSupply_) (contracts/Contract.sol#289-290) POOH.purchaseTokens(uint256,address) (contracts/Contract.sol#532-607) performs a multiplication on the result of a division: - _fee = _fee - (_fee - (_amountOfTokens * (_dividends * magnitude / (tokenSupply_)))) (contracts/Contract.sol#585-589) POOH.tokensToEthereum_(uint256) (contracts/Contract.sol#642-660) performs a multiplication on the result of a division: - _etherReceived = (SafeMath.sub((((tokenPriceInitial_ + (tokenPriceIncremental_ * (_tokenSupply / 1e18))) - tokenPriceIncremental_) * (tokens_ - 1e18)),(tokenPriceIncremental_ * ((tokens_ ** 2 - tokens_) / 1e18)) / 2) / 1e18) (contracts/Contract.sol#646-660) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#divide-before-multiply POOH.antiEarlyWhale(uint256) (contracts/Contract.sol#52-76) compares to a boolean constant: -require(bool)(ambassadors_[_customerAddress] == true && (ambassadorAccumulatedQuota_[_customerAddress] + _amountOfEthereum) <= ambassadorMaxPurchase_) (contracts/Contract.sol#59-65) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#boolean-equality Version constraint ^0.4.20 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_0.4.x - IncorrectEventSignatureInLibraries_0.4.x - ABIEncoderV2PackedStorage_0.4.x - ExpExponentCleanup - EventStructWrongData - NestedArrayFunctionCallDecoder. It is used by: - ^0.4.20 (contracts/Contract.sol#1) solc-0.4.20 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 Event POOH.onTokenPurchase(address,uint256,uint256,address) (contracts/Contract.sol#83-88) is not in CapWords Event POOH.onTokenSell(address,uint256,uint256) (contracts/Contract.sol#88-94) is not in CapWords Event POOH.onReinvestment(address,uint256,uint256) (contracts/Contract.sol#94-100) is not in CapWords Event POOH.onWithdraw(address,uint256) (contracts/Contract.sol#100-104) is not in CapWords Parameter POOH.buy(address)._referredBy (contracts/Contract.sol#176-177) is not in mixedCase Parameter POOH.sell(uint256)._amountOfTokens (contracts/Contract.sol#259-261) is not in mixedCase Parameter POOH.transfer(address,uint256)._toAddress (contracts/Contract.sol#295) is not in mixedCase Parameter POOH.transfer(address,uint256)._amountOfTokens (contracts/Contract.sol#295-297) is not in mixedCase Parameter POOH.setAdministrator(bytes32,bool)._identifier (contracts/Contract.sol#352-353) is not in mixedCase Parameter POOH.setAdministrator(bytes32,bool)._status (contracts/Contract.sol#353) is not in mixedCase Parameter POOH.setStakingRequirement(uint256)._amountOfTokens (contracts/Contract.sol#363) is not in mixedCase Parameter POOH.setName(string)._name (contracts/Contract.sol#369) is not in mixedCase Parameter POOH.setSymbol(string)._symbol (contracts/Contract.sol#375) is not in mixedCase Parameter POOH.myDividends(bool)._includeReferralBonus (contracts/Contract.sol#435-436) is not in mixedCase Parameter POOH.balanceOf(address)._customerAddress (contracts/Contract.sol#443) is not in mixedCase Parameter POOH.dividendsOf(address)._customerAddress (contracts/Contract.sol#451) is not in mixedCase Parameter POOH.calculateTokensReceived(uint256)._ethereumToSpend (contracts/Contract.sol#504-505) is not in mixedCase Parameter POOH.calculateEthereumReceived(uint256)._tokensToSell (contracts/Contract.sol#517) is not in mixedCase Parameter POOH.purchaseTokens(uint256,address)._incomingEthereum (contracts/Contract.sol#532-534) is not in mixedCase Parameter POOH.purchaseTokens(uint256,address)._referredBy (contracts/Contract.sol#534-535) is not in mixedCase Parameter POOH.ethereumToTokens_(uint256)._ethereum (contracts/Contract.sol#611) is not in mixedCase Parameter POOH.tokensToEthereum_(uint256)._tokens (contracts/Contract.sol#642) is not in mixedCase Constant POOH.dividendFee_ (contracts/Contract.sol#120-122) is not in UPPER_CASE_WITH_UNDERSCORES Constant POOH.tokenPriceInitial_ (contracts/Contract.sol#122-123) is not in UPPER_CASE_WITH_UNDERSCORES Constant POOH.tokenPriceIncremental_ (contracts/Contract.sol#123-125) is not in UPPER_CASE_WITH_UNDERSCORES Constant POOH.magnitude (contracts/Contract.sol#125) is not in UPPER_CASE_WITH_UNDERSCORES Constant POOH.ambassadorMaxPurchase_ (contracts/Contract.sol#130-132) is not in UPPER_CASE_WITH_UNDERSCORES Constant POOH.ambassadorQuota_ (contracts/Contract.sol#132-133) is not in UPPER_CASE_WITH_UNDERSCORES Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions Reentrancy in POOH.transfer(address,uint256) (contracts/Contract.sol#295-338): External calls: - withdraw() (contracts/Contract.sol#315) - _customerAddress.transfer(_dividends) (contracts/Contract.sol#255) State variables written after the call(s): - payoutsTo_[_customerAddress] -= int256(profitPerShare_ * _amountOfTokens) (contracts/Contract.sol#330-333) - payoutsTo_[_toAddress] += int256(profitPerShare_ * _taxedTokens) (contracts/Contract.sol#333) - profitPerShare_ = SafeMath.add(profitPerShare_,(_dividends * magnitude) / tokenSupply_) (contracts/Contract.sol#334-336) - tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress],_amountOfTokens) (contracts/Contract.sol#325-326) - tokenBalanceLedger_[_toAddress] = SafeMath.add(tokenBalanceLedger_[_toAddress],_taxedTokens) (contracts/Contract.sol#326-329) - tokenSupply_ = SafeMath.sub(tokenSupply_,_tokenFee) (contracts/Contract.sol#323-324) Event emitted after the call(s): - Transfer(_customerAddress,_toAddress,_taxedTokens) (contracts/Contract.sol#337) Reentrancy in POOH.withdraw() (contracts/Contract.sol#236-258): External calls: - _customerAddress.transfer(_dividends) (contracts/Contract.sol#255) Event emitted after the call(s): - onWithdraw(_customerAddress,_dividends) (contracts/Contract.sol#257-258) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-4 POOH.slitherConstructorConstantVariables() (contracts/Contract.sol#16-672) uses literals with too many digits: - tokenPriceInitial_ = 100000000000 (contracts/Contract.sol#122-123) POOH.slitherConstructorConstantVariables() (contracts/Contract.sol#16-672) uses literals with too many digits: - tokenPriceIncremental_ = 10000000000 (contracts/Contract.sol#123-125) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#too-many-digits setName(string) should be declared external: - POOH.setName(string) (contracts/Contract.sol#369-373) setSymbol(string) should be declared external: - POOH.setSymbol(string) (contracts/Contract.sol#375-379) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#public-function-that-could-be-declared-external . analyzed (2 contracts with 100 detectors), 40 result(s) found
{
"solc": {
"status": "ok",
"use_rc": 0,
"version": "0.4.20",
"strategy": "solc-select",
"solc_path": "/var/www/tripwire/.venv/bin/solc",
"install_rc": 0,
"use_stderr": null,
"use_stdout": "Switched global version to 0.4.20",
"install_stderr": null,
"install_stdout": "Installing solc '0.4.20'...\nVersion '0.4.20' installed."
},
"solc_args": "--base-path /tmp/slither-pj__9jg0 --allow-paths /tmp/slither-pj__9jg0,/tmp/slither-pj__9jg0/lib,/tmp/slither-pj__9jg0/src",
"remappings": [],
"source_files": [
"contracts/Contract.sol"
],
"contract_count": 0,
"contract_names": [],
"detector_count": 40,
"workspace_hash": "e1d7e80c088197ca7e58ae7135a19339a3d4eade343790864189e98592e0a79f",
"duration_seconds": 1.575566291809082,
"solc_version_requested": "0.4.21"
}
{"no_findings":true,"summary":"Reviewed `contracts/Contract.sol` in AUDIT_BUNDLE.txt and found no meaningful exploitable vulnerabilities in the requested categories.","findings":[]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-wwp82ffs
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019be3f1-9325-7123-bcca-591610c65852
--------
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
**Scanning audit bundle contents**
exec
/bin/bash -lc 'cat /tmp/codex-wwp82ffs/AUDIT_BUNDLE.txt' in /tmp/codex-wwp82ffs succeeded in 5ms:
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.4.20;
/*
*
* ====================================*
* _____ ____ ____ _ _ *
* | __ \ / __ \ / __ \| | | | *
* | |__) | | | | | | | |__| | *
* | ___/| | | | | | | __ | *
* | | | |__| | | | | | | | *
* |_| \____/ \____/|_| |_| *
* ====================================*
* -> What?
* This source code is copy of Proof of Weak Hands (POWH3D)
thinking
**Confirming no reentrancy risk**
The contract uses transfer with 2300 gas in withdraw, preventing reentrancy despite external calls via fallback. Access control relies on hashed addresses correctly, and no obvious reentrancy vectors appear from these observations.
thinking
**Identifying no exploitable vulnerabilities**
No critical issues found; reentrancy avoided via transfer with 2300 gas, access control works as intended, and math edge cases appear safe within realistic limits. Minor functional quirks exist but no exploitable vulnerabilities emerge.
codex
{"no_findings":true,"summary":"Reviewed `contracts/Contract.sol` in AUDIT_BUNDLE.txt and found no meaningful exploitable vulnerabilities in the requested categories.","findings":[]}
tokens used
13,800
{
"codex": {
"ran_at": "2026-01-22T04:24:46.974917+00:00",
"returncode": 0
},
"project": {
"mode": "source",
"file_count": 1,
"import_count": 0,
"first_party_contracts_count": 1
},
"summary": "Reviewed `contracts/Contract.sol` in AUDIT_BUNDLE.txt and found no meaningful exploitable vulnerabilities in the requested categories.",
"raw_final": {
"summary": "Reviewed `contracts/Contract.sol` in AUDIT_BUNDLE.txt and found no meaningful exploitable vulnerabilities in the requested categories.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x60 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x015d 0000000c: JUMPI 0000000d: PUSH4 0xffffffff 00000012: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00000030: PUSH1 0x00 00000032: CALLDATALOAD 00000033: DIV 00000034: AND 00000035: PUSH3 0x65318b 00000039: DUP2 0000003a: EQ 0000003b: PUSH2 0x016b 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0x06fdde03 00000045: EQ 00000046: PUSH2 0x019c 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0x10d0ffdd 00000050: EQ 00000051: PUSH2 0x0226 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0x18160ddd 0000005b: EQ 0000005c: PUSH2 0x023c 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0x22609373 00000066: EQ 00000067: PUSH2 0x024f 0000006a: JUMPI 0000006b: DUP1 0000006c: PUSH4 0x27defa1f 00000071: EQ 00000072: PUSH2 0x0265 00000075: JUMPI 00000076: DUP1 00000077: PUSH4 0x313ce567 0000007c: EQ 0000007d: PUSH2 0x028c 00000080: JUMPI 00000081: DUP1 00000082: PUSH4 0x392efb52 00000087: EQ 00000088: PUSH2 0x02b5 0000008b: JUMPI 0000008c: DUP1 0000008d: PUSH4 0x3ccfd60b 00000092: EQ 00000093: PUSH2 0x02cb 00000096: JUMPI 00000097: DUP1 00000098: PUSH4 0x4b750334 0000009d: EQ 0000009e: PUSH2 0x02e0 000000a1: JUMPI 000000a2: DUP1 000000a3: PUSH4 0x56d399e8 000000a8: EQ 000000a9: PUSH2 0x02f3 000000ac: JUMPI 000000ad: DUP1 000000ae: PUSH4 0x688abbf7 000000b3: EQ 000000b4: PUSH2 0x0306 000000b7: JUMPI 000000b8: DUP1 000000b9: PUSH4 0x6b2f4632 000000be: EQ 000000bf: PUSH2 0x031e 000000c2: JUMPI 000000c3: DUP1 000000c4: PUSH4 0x70a08231 000000c9: EQ 000000ca: PUSH2 0x0331 000000cd: JUMPI 000000ce: DUP1 000000cf: PUSH4 0x8328b610 000000d4: EQ 000000d5: PUSH2 0x0350 000000d8: JUMPI 000000d9: DUP1 000000da: PUSH4 0x8620410b 000000df: EQ 000000e0: PUSH2 0x0366 000000e3: JUMPI 000000e4: DUP1 000000e5: PUSH4 0x89135ae9 000000ea: EQ 000000eb: PUSH2 0x0379 000000ee: JUMPI 000000ef: DUP1 000000f0: PUSH4 0x949e8acd 000000f5: EQ 000000f6: PUSH2 0x0394 000000f9: JUMPI 000000fa: DUP1 000000fb: PUSH4 0x95d89b41 00000100: EQ 00000101: PUSH2 0x03a7 00000104: JUMPI 00000105: DUP1 00000106: PUSH4 0xa8e04f34 0000010b: EQ 0000010c: PUSH2 0x03ba 0000010f: JUMPI 00000110: DUP1 00000111: PUSH4 0xa9059cbb 00000116: EQ 00000117: PUSH2 0x03cd 0000011a: JUMPI 0000011b: DUP1 0000011c: PUSH4 0xb84c8246 00000121: EQ 00000122: PUSH2 0x03ef 00000125: JUMPI 00000126: DUP1 00000127: PUSH4 0xc47f0027 0000012c: EQ 0000012d: PUSH2 0x0440 00000130: JUMPI 00000131: DUP1 00000132: PUSH4 0xe4849b32 00000137: EQ 00000138: PUSH2 0x0491 0000013b: JUMPI 0000013c: DUP1 0000013d: PUSH4 0xe9fad8ee 00000142: EQ 00000143: PUSH2 0x04a7 00000146: JUMPI 00000147: DUP1 00000148: PUSH4 0xf088d547 0000014d: EQ 0000014e: PUSH2 0x04ba 00000151: JUMPI 00000152: DUP1 00000153: PUSH4 0xfdb5a03e 00000158: EQ 00000159: PUSH2 0x04ce 0000015c: JUMPI 0000015d: JUMPDEST 0000015e: PUSH2 0x0168 00000161: CALLVALUE 00000162: PUSH1 0x00 00000164: PUSH2 0x04e1 00000167: JUMP 00000168: JUMPDEST 00000169: POP 0000016a: STOP 0000016b: JUMPDEST 0000016c: CALLVALUE 0000016d: ISZERO 0000016e: PUSH2 0x0176 00000171: JUMPI 00000172: PUSH1 0x00 00000174: DUP1 00000175: REVERT 00000176: JUMPDEST 00000177: PUSH2 0x018a 0000017a: PUSH1 0x01 0000017c: PUSH1 0xa0 0000017e: PUSH1 0x02 00000180: EXP 00000181: SUB 00000182: PUSH1 0x04 00000184: CALLDATALOAD 00000185: AND 00000186: PUSH2 0x0aac 00000189: JUMP 0000018a: JUMPDEST 0000018b: PUSH1 0x40 0000018d: MLOAD 0000018e: SWAP1 0000018f: DUP2 00000190: MSTORE 00000191: PUSH1 0x20 00000193: ADD 00000194: PUSH1 0x40 00000196: MLOAD 00000197: DUP1 00000198: SWAP2 00000199: SUB 0000019a: SWAP1 0000019b: RETURN 0000019c: JUMPDEST 0000019d: CALLVALUE 0000019e: ISZERO 0000019f: PUSH2 0x01a7 000001a2: JUMPI 000001a3: PUSH1 0x00 000001a5: DUP1 000001a6: REVERT 000001a7: JUMPDEST 000001a8: PUSH2 0x01af 000001ab: PUSH2 0x0ae7 000001ae: JUMP 000001af: JUMPDEST 000001b0: PUSH1 0x40 000001b2: MLOAD 000001b3: PUSH1 0x20 000001b5: DUP1 000001b6: DUP3 000001b7: MSTORE 000001b8: DUP2 000001b9: SWAP1 000001ba: DUP2 000001bb: ADD 000001bc: DUP4 000001bd: DUP2 000001be: DUP2 000001bf: MLOAD 000001c0: DUP2 000001c1: MSTORE 000001c2: PUSH1 0x20 000001c4: ADD 000001c5: SWAP2 000001c6: POP 000001c7: DUP1 000001c8: MLOAD 000001c9: SWAP1 000001ca: PUSH1 0x20 000001cc: ADD 000001cd: SWAP1 000001ce: DUP1 000001cf: DUP4 000001d0: DUP4 000001d1: PUSH1 0x00 000001d3: JUMPDEST 000001d4: DUP4 000001d5: DUP2 000001d6: LT 000001d7: ISZERO 000001d8: PUSH2 0x01eb 000001db: JUMPI 000001dc: DUP1 000001dd: DUP3 000001de: ADD 000001df: MLOAD 000001e0: DUP4 000001e1: DUP3 000001e2: ADD 000001e3: MSTORE 000001e4: PUSH1 0x20 000001e6: ADD 000001e7: PUSH2 0x01d3 000001ea: JUMP 000001eb: JUMPDEST 000001ec: POP 000001ed: POP 000001ee: POP 000001ef: POP 000001f0: SWAP1 000001f1: POP 000001f2: SWAP1 000001f3: DUP2 000001f4: ADD 000001f5: SWAP1 000001f6: PUSH1 0x1f 000001f8: AND 000001f9: DUP1 000001fa: ISZERO 000001fb: PUSH2 0x0218 000001fe: JUMPI 000001ff: DUP1 00000200: DUP3 00000201: SUB 00000202: DUP1 00000203: MLOAD 00000204: PUSH1 0x01 00000206: DUP4 00000207: PUSH1 0x20 00000209: SUB 0000020a: PUSH2 0x0100 0000020d: EXP 0000020e: SUB 0000020f: NOT 00000210: AND 00000211: DUP2 00000212: MSTORE 00000213: PUSH1 0x20 00000215: ADD 00000216: SWAP2 00000217: POP 00000218: JUMPDEST 00000219: POP 0000021a: SWAP3 0000021b: POP 0000021c: POP 0000021d: POP 0000021e: PUSH1 0x40 00000220: MLOAD 00000221: DUP1 00000222: SWAP2 00000223: SUB 00000224: SWAP1 00000225: RETURN 00000226: JUMPDEST 00000227: CALLVALUE 00000228: ISZERO 00000229: PUSH2 0x0231 0000022c: JUMPI 0000022d: PUSH1 0x00 0000022f: DUP1 00000230: REVERT 00000231: JUMPDEST 00000232: PUSH2 0x018a 00000235: PUSH1 0x04 00000237: CALLDATALOAD 00000238: PUSH2 0x0b85 0000023b: JUMP 0000023c: JUMPDEST 0000023d: CALLVALUE 0000023e: ISZERO 0000023f: PUSH2 0x0247 00000242: JUMPI 00000243: PUSH1 0x00 00000245: DUP1 00000246: REVERT 00000247: JUMPDEST 00000248: PUSH2 0x018a 0000024b: PUSH2 0x0bb5 0000024e: JUMP 0000024f: JUMPDEST 00000250: CALLVALUE 00000251: ISZERO 00000252: PUSH2 0x025a 00000255: JUMPI 00000256: PUSH1 0x00 00000258: DUP1 00000259: REVERT 0000025a: JUMPDEST 0000025b: PUSH2 0x018a 0000025e: PUSH1 0x04 00000260: CALLDATALOAD 00000261: PUSH2 0x0bbc 00000264: JUMP 00000265: JUMPDEST 00000266: CALLVALUE 00000267: ISZERO 00000268: PUSH2 0x0270 0000026b: JUMPI 0000026c: PUSH1 0x00 0000026e: DUP1 0000026f: REVERT 00000270: JUMPDEST 00000271: PUSH2 0x0278 00000274: PUSH2 0x0bf5 00000277: JUMP 00000278: JUMPDEST 00000279: PUSH1 0x40 0000027b: MLOAD 0000027c: SWAP1 0000027d: ISZERO 0000027e: ISZERO 0000027f: DUP2 00000280: MSTORE 00000281: PUSH1 0x20 00000283: ADD 00000284: PUSH1 0x40 00000286: MLOAD 00000287: DUP1 00000288: SWAP2 00000289: SUB 0000028a: SWAP1 0000028b: RETURN 0000028c: JUMPDEST 0000028d: CALLVALUE 0000028e: ISZERO 0000028f: PUSH2 0x0297 00000292: JUMPI 00000293: PUSH1 0x00 00000295: DUP1 00000296: REVERT 00000297: JUMPDEST 00000298: PUSH2 0x029f 0000029b: PUSH2 0x0bfe 0000029e: JUMP 0000029f: JUMPDEST 000002a0: PUSH1 0x40 000002a2: MLOAD 000002a3: PUSH1 0xff 000002a5: SWAP1 000002a6: SWAP2 000002a7: AND 000002a8: DUP2 000002a9: MSTORE 000002aa: PUSH1 0x20 000002ac: ADD 000002ad: PUSH1 0x40 000002af: MLOAD 000002b0: DUP1 000002b1: SWAP2 000002b2: SUB 000002b3: SWAP1 000002b4: RETURN 000002b5: JUMPDEST 000002b6: CALLVALUE 000002b7: ISZERO 000002b8: PUSH2 0x02c0 000002bb: JUMPI 000002bc: PUSH1 0x00 000002be: DUP1 000002bf: REVERT 000002c0: JUMPDEST 000002c1: PUSH2 0x0278 000002c4: PUSH1 0x04 000002c6: CALLDATALOAD 000002c7: PUSH2 0x0c03 000002ca: JUMP 000002cb: JUMPDEST 000002cc: CALLVALUE 000002cd: ISZERO 000002ce: PUSH2 0x02d6 000002d1: JUMPI 000002d2: PUSH1 0x00 000002d4: DUP1 000002d5: REVERT 000002d6: JUMPDEST 000002d7: PUSH2 0x02de 000002da: PUSH2 0x0c18 000002dd: JUMP 000002de: JUMPDEST 000002df: STOP 000002e0: JUMPDEST 000002e1: CALLVALUE 000002e2: ISZERO 000002e3: PUSH2 0x02eb 000002e6: JUMPI 000002e7: PUSH1 0x00 000002e9: DUP1 000002ea: REVERT 000002eb: JUMPDEST 000002ec: PUSH2 0x018a 000002ef: PUSH2 0x0ce4 000002f2: JUMP 000002f3: JUMPDEST 000002f4: CALLVALUE 000002f5: ISZERO 000002f6: PUSH2 0x02fe 000002f9: JUMPI 000002fa: PUSH1 0x00 000002fc: DUP1 000002fd: REVERT 000002fe: JUMPDEST 000002ff: PUSH2 0x018a 00000302: PUSH2 0x0d38 00000305: JUMP 00000306: JUMPDEST 00000307: CALLVALUE 00000308: ISZERO 00000309: PUSH2 0x0311 0000030c: JUMPI 0000030d: PUSH1 0x00 0000030f: DUP1 00000310: REVERT 00000311: JUMPDEST 00000312: PUSH2 0x018a 00000315: PUSH1 0x04 00000317: CALLDATALOAD 00000318: ISZERO 00000319: ISZERO 0000031a: PUSH2 0x0d3e 0000031d: JUMP 0000031e: JUMPDEST 0000031f: CALLVALUE 00000320: ISZERO 00000321: PUSH2 0x0329 00000324: JUMPI 00000325: PUSH1 0x00 00000327: DUP1 00000328: REVERT 00000329: JUMPDEST 0000032a: PUSH2 0x018a 0000032d: PUSH2 0x0d81 00000330: JUMP 00000331: JUMPDEST 00000332: CALLVALUE 00000333: ISZERO 00000334: PUSH2 0x033c 00000337: JUMPI 00000338: PUSH1 0x00 0000033a: DUP1 0000033b: REVERT 0000033c: JUMPDEST 0000033d: PUSH2 0x018a 00000340: PUSH1 0x01 00000342: PUSH1 0xa0 00000344: PUSH1 0x02 00000346: EXP 00000347: SUB 00000348: PUSH1 0x04 0000034a: CALLDATALOAD 0000034b: AND 0000034c: PUSH2 0x0d8f 0000034f: JUMP 00000350: JUMPDEST 00000351: CALLVALUE 00000352: ISZERO 00000353: PUSH2 0x035b 00000356: JUMPI 00000357: PUSH1 0x00 00000359: DUP1 0000035a: REVERT 0000035b: JUMPDEST 0000035c: PUSH2 0x02de 0000035f: PUSH1 0x04 00000361: CALLDATALOAD 00000362: PUSH2 0x0daa 00000365: JUMP 00000366: JUMPDEST 00000367: CALLVALUE 00000368: ISZERO 00000369: PUSH2 0x0371 0000036c: JUMPI 0000036d: PUSH1 0x00 0000036f: DUP1 00000370: REVERT 00000371: JUMPDEST 00000372: PUSH2 0x018a 00000375: PUSH2 0x0e01 00000378: JUMP 00000379: JUMPDEST 0000037a: CALLVALUE 0000037b: ISZERO 0000037c: PUSH2 0x0384 0000037f: JUMPI 00000380: PUSH1 0x00 00000382: DUP1 00000383: REVERT 00000384: JUMPDEST 00000385: PUSH2 0x02de 00000388: PUSH1 0x04 0000038a: CALLDATALOAD 0000038b: PUSH1 0x24 0000038d: CALLDATALOAD 0000038e: ISZERO 0000038f: ISZERO 00000390: PUSH2 0x0e49 00000393: JUMP 00000394: JUMPDEST 00000395: CALLVALUE 00000396: ISZERO 00000397: PUSH2 0x039f 0000039a: JUMPI 0000039b: PUSH1 0x00 0000039d: DUP1 0000039e: REVERT 0000039f: JUMPDEST 000003a0: PUSH2 0x018a 000003a3: PUSH2 0x0ebb 000003a6: JUMP 000003a7: JUMPDEST 000003a8: CALLVALUE 000003a9: ISZERO 000003aa: PUSH2 0x03b2 000003ad: JUMPI 000003ae: PUSH1 0x00 000003b0: DUP1 000003b1: REVERT 000003b2: JUMPDEST 000003b3: PUSH2 0x01af 000003b6: PUSH2 0x0ece 000003b9: JUMP 000003ba: JUMPDEST 000003bb: CALLVALUE 000003bc: ISZERO 000003bd: PUSH2 0x03c5 000003c0: JUMPI 000003c1: PUSH1 0x00 000003c3: DUP1 000003c4: REVERT 000003c5: JUMPDEST 000003c6: PUSH2 0x02de 000003c9: PUSH2 0x0f39 000003cc: JUMP 000003cd: JUMPDEST 000003ce: CALLVALUE 000003cf: ISZERO 000003d0: PUSH2 0x03d8 000003d3: JUMPI 000003d4: PUSH1 0x00 000003d6: DUP1 000003d7: REVERT 000003d8: JUMPDEST 000003d9: PUSH2 0x0278 000003dc: PUSH1 0x01 000003de: PUSH1 0xa0 000003e0: PUSH1 0x02 000003e2: EXP 000003e3: SUB 000003e4: PUSH1 0x04 000003e6: CALLDATALOAD 000003e7: AND 000003e8: PUSH1 0x24 000003ea: CALLDATALOAD 000003eb: PUSH2 0x0f97 000003ee: JUMP 000003ef: JUMPDEST 000003f0: CALLVALUE 000003f1: ISZERO 000003f2: PUSH2 0x03fa 000003f5: JUMPI 000003f6: PUSH1 0x00 000003f8: DUP1 000003f9: REVERT 000003fa: JUMPDEST 000003fb: PUSH2 0x02de 000003fe: PUSH1 0x04 00000400: PUSH1 0x24 00000402: DUP2 00000403: CALLDATALOAD 00000404: DUP2 00000405: DUP2 00000406: ADD 00000407: SWAP1 00000408: DUP4 00000409: ADD 0000040a: CALLDATALOAD 0000040b: DUP1 0000040c: PUSH1 0x20 0000040e: PUSH1 0x1f 00000410: DUP3 00000411: ADD 00000412: DUP2 00000413: SWAP1 00000414: DIV 00000415: DUP2 00000416: MUL 00000417: ADD 00000418: PUSH1 0x40 0000041a: MLOAD 0000041b: SWAP1 0000041c: DUP2 0000041d: ADD 0000041e: PUSH1 0x40 00000420: MSTORE 00000421: DUP2 00000422: DUP2 00000423: MSTORE 00000424: SWAP3 00000425: SWAP2 00000426: SWAP1 00000427: PUSH1 0x20 00000429: DUP5 0000042a: ADD 0000042b: DUP4 0000042c: DUP4 0000042d: DUP1 0000042e: DUP3 0000042f: DUP5 00000430: CALLDATACOPY 00000431: POP 00000432: SWAP5 00000433: SWAP7 00000434: POP 00000435: PUSH2 0x114f 00000438: SWAP6 00000439: POP 0000043a: POP 0000043b: POP 0000043c: POP 0000043d: POP 0000043e: POP 0000043f: JUMP 00000440: JUMPDEST 00000441: CALLVALUE 00000442: ISZERO 00000443: PUSH2 0x044b 00000446: JUMPI 00000447: PUSH1 0x00 00000449: DUP1 0000044a: REVERT 0000044b: JUMPDEST 0000044c: PUSH2 0x02de 0000044f: PUSH1 0x04 00000451: PUSH1 0x24 00000453: DUP2 00000454: CALLDATALOAD 00000455: DUP2 00000456: DUP2 00000457: ADD 00000458: SWAP1 00000459: DUP4 0000045a: ADD 0000045b: CALLDATALOAD 0000045c: DUP1 0000045d: PUSH1 0x20 0000045f: PUSH1 0x1f 00000461: DUP3 00000462: ADD 00000463: DUP2 00000464: SWAP1 00000465: DIV 00000466: DUP2 00000467: MUL 00000468: ADD 00000469: PUSH1 0x40 0000046b: MLOAD 0000046c: SWAP1 0000046d: DUP2 0000046e: ADD 0000046f: PUSH1 0x40 00000471: MSTORE 00000472: DUP2 00000473: DUP2 00000474: MSTORE 00000475: SWAP3 00000476: SWAP2 00000477: SWAP1 00000478: PUSH1 0x20 0000047a: DUP5 0000047b: ADD 0000047c: DUP4 0000047d: DUP4 0000047e: DUP1 0000047f: DUP3 00000480: DUP5 00000481: CALLDATACOPY 00000482: POP 00000483: SWAP5 00000484: SWAP7 00000485: POP 00000486: PUSH2 0x11b8 00000489: SWAP6 0000048a: POP 0000048b: POP 0000048c: POP 0000048d: POP 0000048e: POP 0000048f: POP 00000490: JUMP 00000491: JUMPDEST 00000492: CALLVALUE 00000493: ISZERO 00000494: PUSH2 0x049c 00000497: JUMPI 00000498: PUSH1 0x00 0000049a: DUP1 0000049b: REVERT 0000049c: JUMPDEST 0000049d: PUSH2 0x02de 000004a0: PUSH1 0x04 000004a2: CALLDATALOAD 000004a3: PUSH2 0x121c 000004a6: JUMP 000004a7: JUMPDEST 000004a8: CALLVALUE 000004a9: ISZERO 000004aa: PUSH2 0x04b2 000004ad: JUMPI 000004ae: PUSH1 0x00 000004b0: DUP1 000004b1: REVERT 000004b2: JUMPDEST 000004b3: PUSH2 0x02de 000004b6: PUSH2 0x1379 000004b9: JUMP 000004ba: JUMPDEST 000004bb: PUSH2 0x018a 000004be: PUSH1 0x01 000004c0: PUSH1 0xa0 000004c2: PUSH1 0x02 000004c4: EXP 000004c5: SUB 000004c6: PUSH1 0x04 000004c8: CALLDATALOAD 000004c9: AND 000004ca: PUSH2 0x13b0 000004cd: JUMP 000004ce: JUMPDEST 000004cf: CALLVALUE 000004d0: ISZERO 000004d1: PUSH2 0x04d9 000004d4: JUMPI 000004d5: PUSH1 0x00 000004d7: DUP1 000004d8: REVERT 000004d9: JUMPDEST 000004da: PUSH2 0x02de 000004dd: PUSH2 0x13bc 000004e0: JUMP 000004e1: JUMPDEST 000004e2: PUSH1 0x00 000004e4: DUP1 000004e5: PUSH1 0x00 000004e7: DUP1 000004e8: PUSH1 0x00 000004ea: DUP1 000004eb: PUSH1 0x00 000004ed: DUP1 000004ee: PUSH1 0x00 000004f0: DUP11 000004f1: PUSH1 0x00 000004f3: CALLER 000004f4: SWAP1 000004f5: POP 000004f6: PUSH1 0x0b 000004f8: PUSH1 0x00 000004fa: SWAP1 000004fb: SLOAD 000004fc: SWAP1 000004fd: PUSH2 0x0100 00000500: EXP 00000501: SWAP1 00000502: DIV 00000503: PUSH1 0xff 00000505: AND 00000506: DUP1 00000507: ISZERO 00000508: PUSH2 0x0522 0000050b: JUMPI 0000050c: POP 0000050d: PUSH8 0x29a2241af62c0000 00000516: DUP3 00000517: PUSH2 0x051e 0000051a: PUSH2 0x0d81 0000051d: JUMP 0000051e: JUMPDEST 0000051f: SUB 00000520: GT 00000521: ISZERO 00000522: JUMPDEST 00000523: ISZERO 00000524: PUSH2 0x082a 00000527: JUMPI 00000528: PUSH1 0x01 0000052a: PUSH1 0xa0 0000052c: PUSH1 0x02 0000052e: EXP 0000052f: SUB 00000530: DUP2 00000531: AND 00000532: PUSH1 0x00 00000534: SWAP1 00000535: DUP2 00000536: MSTORE 00000537: PUSH1 0x03 00000539: PUSH1 0x20 0000053b: MSTORE 0000053c: PUSH1 0x40 0000053e: SWAP1 0000053f: KECCAK256 00000540: SLOAD 00000541: PUSH1 0xff 00000543: AND 00000544: ISZERO 00000545: ISZERO 00000546: PUSH1 0x01 00000548: EQ 00000549: DUP1 0000054a: ISZERO 0000054b: PUSH2 0x0577 0000054e: JUMPI 0000054f: POP 00000550: PUSH1 0x01 00000552: PUSH1 0xa0 00000554: PUSH1 0x02 00000556: EXP 00000557: SUB 00000558: DUP2 00000559: AND 0000055a: PUSH1 0x00 0000055c: SWAP1 0000055d: DUP2 0000055e: MSTORE 0000055f: PUSH1 0x07 00000561: PUSH1 0x20 00000563: MSTORE 00000564: PUSH1 0x40 00000566: SWAP1 00000567: KECCAK256 00000568: SLOAD 00000569: PUSH8 0x1bc16d674ec80000 00000572: SWAP1 00000573: DUP4 00000574: ADD 00000575: GT 00000576: ISZERO 00000577: JUMPDEST 00000578: ISZERO 00000579: ISZERO 0000057a: PUSH2 0x0582 0000057d: JUMPI 0000057e: PUSH1 0x00 00000580: DUP1 00000581: REVERT 00000582: JUMPDEST 00000583: PUSH1 0x01 00000585: PUSH1 0xa0 00000587: PUSH1 0x02 00000589: EXP 0000058a: SUB 0000058b: DUP2 0000058c: AND 0000058d: PUSH1 0x00 0000058f: SWAP1 00000590: DUP2 00000591: MSTORE 00000592: PUSH1 0x07 00000594: PUSH1 0x20 00000596: MSTORE 00000597: PUSH1 0x40 00000599: SWAP1 0000059a: KECCAK256 0000059b: SLOAD 0000059c: PUSH2 0x05a5 0000059f: SWAP1 000005a0: DUP4 000005a1: PUSH2 0x1477 000005a4: JUMP 000005a5: JUMPDEST 000005a6: PUSH1 0x01 000005a8: PUSH1 0xa0 000005aa: PUSH1 0x02 000005ac: EXP 000005ad: SUB 000005ae: DUP3 000005af: AND 000005b0: PUSH1 0x00 000005b2: SWAP1 000005b3: DUP2 000005b4: MSTORE 000005b5: PUSH1 0x07 000005b7: PUSH1 0x20 000005b9: MSTORE 000005ba: PUSH1 0x40 000005bc: SWAP1 000005bd: KECCAK256 000005be: SSTORE 000005bf: CALLER 000005c0: SWAP10 000005c1: POP 000005c2: PUSH2 0x05cc 000005c5: DUP14 000005c6: PUSH1 0x0a 000005c8: PUSH2 0x148d 000005cb: JUMP 000005cc: JUMPDEST 000005cd: SWAP9 000005ce: POP 000005cf: PUSH2 0x05d9 000005d2: DUP10 000005d3: PUSH1 0x03 000005d5: PUSH2 0x148d 000005d8: JUMP 000005d9: JUMPDEST 000005da: SWAP8 000005db: POP 000005dc: PUSH2 0x05e5 000005df: DUP10 000005e0: DUP10 000005e1: PUSH2 0x14a4 000005e4: JUMP 000005e5: JUMPDEST 000005e6: SWAP7 000005e7: POP 000005e8: PUSH2 0x05f1 000005eb: DUP14 000005ec: DUP11 000005ed: PUSH2 0x14a4 000005f0: JUMP 000005f1: JUMPDEST 000005f2: SWAP6 000005f3: POP 000005f4: PUSH2 0x05fc 000005f7: DUP7 000005f8: PUSH2 0x14b6 000005fb: JUMP 000005fc: JUMPDEST 000005fd: SWAP5 000005fe: POP 000005ff: PUSH9 0x010000000000000000 00000609: DUP8 0000060a: MUL 0000060b: SWAP4 0000060c: POP 0000060d: PUSH1 0x00 0000060f: DUP6 00000610: GT 00000611: DUP1 00000612: ISZERO 00000613: PUSH2 0x0626 00000616: JUMPI 00000617: POP 00000618: PUSH1 0x08 0000061a: SLOAD 0000061b: PUSH2 0x0624 0000061e: DUP7 0000061f: DUP3 00000620: PUSH2 0x1477 00000623: JUMP 00000624: JUMPDEST 00000625: GT 00000626: JUMPDEST 00000627: ISZERO 00000628: ISZERO 00000629: PUSH2 0x0631 0000062c: JUMPI 0000062d: PUSH1 0x00 0000062f: DUP1 00000630: REVERT 00000631: JUMPDEST 00000632: PUSH1 0x01 00000634: PUSH1 0xa0 00000636: PUSH1 0x02 00000638: EXP 00000639: SUB 0000063a: DUP13 0000063b: AND 0000063c: ISZERO 0000063d: DUP1 0000063e: ISZERO 0000063f: SWAP1 00000640: PUSH2 0x065b 00000643: JUMPI 00000644: POP 00000645: DUP10 00000646: PUSH1 0x01 00000648: PUSH1 0xa0 0000064a: PUSH1 0x02 0000064c: EXP 0000064d: SUB 0000064e: AND 0000064f: DUP13 00000650: PUSH1 0x01 00000652: PUSH1 0xa0 00000654: PUSH1 0x02 00000656: EXP 00000657: SUB 00000658: AND 00000659: EQ 0000065a: ISZERO 0000065b: JUMPDEST 0000065c: DUP1 0000065d: ISZERO 0000065e: PUSH2 0x0681 00000661: JUMPI 00000662: POP 00000663: PUSH1 0x02 00000665: SLOAD 00000666: PUSH1 0x01 00000668: PUSH1 0xa0 0000066a: PUSH1 0x02 0000066c: EXP 0000066d: SUB 0000066e: DUP14 0000066f: AND 00000670: PUSH1 0x00 00000672: SWAP1 00000673: DUP2 00000674: MSTORE 00000675: PUSH1 0x04 00000677: PUSH1 0x20 00000679: MSTORE 0000067a: PUSH1 0x40 0000067c: SWAP1 0000067d: KECCAK256 0000067e: SLOAD 0000067f: LT 00000680: ISZERO 00000681: JUMPDEST 00000682: ISZERO 00000683: PUSH2 0x06c7 00000686: JUMPI 00000687: PUSH1 0x01 00000689: PUSH1 0xa0 0000068b: PUSH1 0x02 0000068d: EXP 0000068e: SUB 0000068f: DUP13 00000690: AND 00000691: PUSH1 0x00 00000693: SWAP1 00000694: DUP2 00000695: MSTORE 00000696: PUSH1 0x05 00000698: PUSH1 0x20 0000069a: MSTORE 0000069b: PUSH1 0x40 0000069d: SWAP1 0000069e: KECCAK256 0000069f: SLOAD 000006a0: PUSH2 0x06a9 000006a3: SWAP1 000006a4: DUP10 000006a5: PUSH2 0x1477 000006a8: JUMP 000006a9: JUMPDEST 000006aa: PUSH1 0x01 000006ac: PUSH1 0xa0 000006ae: PUSH1 0x02 000006b0: EXP 000006b1: SUB 000006b2: DUP14 000006b3: AND 000006b4: PUSH1 0x00 000006b6: SWAP1 000006b7: DUP2 000006b8: MSTORE 000006b9: PUSH1 0x05 000006bb: PUSH1 0x20 000006bd: MSTORE 000006be: PUSH1 0x40 000006c0: SWAP1 000006c1: KECCAK256 000006c2: SSTORE 000006c3: PUSH2 0x06e2 000006c6: JUMP 000006c7: JUMPDEST 000006c8: PUSH2 0x06d1 000006cb: DUP8 000006cc: DUP10 000006cd: PUSH2 0x1477 000006d0: JUMP 000006d1: JUMPDEST 000006d2: SWAP7 000006d3: POP 000006d4: PUSH9 0x010000000000000000 000006de: DUP8 000006df: MUL 000006e0: SWAP4 000006e1: POP 000006e2: JUMPDEST 000006e3: PUSH1 0x00 000006e5: PUSH1 0x08 000006e7: SLOAD 000006e8: GT 000006e9: ISZERO 000006ea: PUSH2 0x0746 000006ed: JUMPI 000006ee: PUSH2 0x06f9 000006f1: PUSH1 0x08 000006f3: SLOAD 000006f4: DUP7 000006f5: PUSH2 0x1477 000006f8: JUMP 000006f9: JUMPDEST 000006fa: PUSH1 0x08 000006fc: DUP2 000006fd: SWAP1 000006fe: SSTORE 000006ff: PUSH9 0x010000000000000000 00000709: DUP9 0000070a: MUL 0000070b: DUP2 0000070c: ISZERO 0000070d: ISZERO 0000070e: PUSH2 0x0713 00000711: JUMPI 00000712: INVALID 00000713: JUMPDEST 00000714: PUSH1 0x09 00000716: DUP1 00000717: SLOAD 00000718: SWAP3 00000719: SWAP1 0000071a: SWAP2 0000071b: DIV 0000071c: SWAP1 0000071d: SWAP2 0000071e: ADD 0000071f: SWAP1 00000720: SSTORE 00000721: PUSH1 0x08 00000723: SLOAD 00000724: PUSH9 0x010000000000000000 0000072e: DUP9 0000072f: MUL 00000730: DUP2 00000731: ISZERO 00000732: ISZERO 00000733: PUSH2 0x0738 00000736: JUMPI 00000737: INVALID 00000738: JUMPDEST 00000739: DIV 0000073a: DUP6 0000073b: MUL 0000073c: DUP5 0000073d: SUB 0000073e: DUP5 0000073f: SUB 00000740: SWAP4 00000741: POP 00000742: PUSH2 0x074c 00000745: JUMP 00000746: JUMPDEST 00000747: PUSH1 0x08 00000749: DUP6 0000074a: SWAP1 0000074b: SSTORE 0000074c: JUMPDEST 0000074d: PUSH1 0x01 0000074f: PUSH1 0xa0 00000751: PUSH1 0x02 00000753: EXP 00000754: SUB 00000755: DUP11 00000756: AND 00000757: PUSH1 0x00 00000759: SWAP1 0000075a: DUP2 0000075b: MSTORE 0000075c: PUSH1 0x04 0000075e: PUSH1 0x20 00000760: MSTORE 00000761: PUSH1 0x40 00000763: SWAP1 00000764: KECCAK256 00000765: SLOAD 00000766: PUSH2 0x076f 00000769: SWAP1 0000076a: DUP7 0000076b: PUSH2 0x1477 0000076e: JUMP 0000076f: JUMPDEST 00000770: PUSH1 0x04 00000772: PUSH1 0x00 00000774: DUP13 00000775: PUSH1 0x01 00000777: PUSH1 0xa0 00000779: PUSH1 0x02 0000077b: EXP 0000077c: SUB 0000077d: AND 0000077e: PUSH1 0x01 00000780: PUSH1 0xa0 00000782: PUSH1 0x02 00000784: EXP 00000785: SUB 00000786: AND 00000787: DUP2 00000788: MSTORE 00000789: PUSH1 0x20 0000078b: ADD 0000078c: SWAP1 0000078d: DUP2 0000078e: MSTORE 0000078f: PUSH1 0x20 00000791: ADD 00000792: PUSH1 0x00 00000794: KECCAK256 00000795: DUP2 00000796: SWAP1 00000797: SSTORE 00000798: POP 00000799: DUP4 0000079a: DUP6 0000079b: PUSH1 0x09 0000079d: SLOAD 0000079e: MUL 0000079f: SUB 000007a0: SWAP3 000007a1: POP 000007a2: DUP3 000007a3: PUSH1 0x06 000007a5: PUSH1 0x00 000007a7: DUP13 000007a8: PUSH1 0x01 000007aa: PUSH1 0xa0 000007ac: PUSH1 0x02 000007ae: EXP 000007af: SUB 000007b0: AND 000007b1: PUSH1 0x01 000007b3: PUSH1 0xa0 000007b5: PUSH1 0x02 000007b7: EXP 000007b8: SUB 000007b9: AND 000007ba: DUP2 000007bb: MSTORE 000007bc: PUSH1 0x20 000007be: ADD 000007bf: SWAP1 000007c0: DUP2 000007c1: MSTORE 000007c2: PUSH1 0x20 000007c4: ADD 000007c5: PUSH1 0x00 000007c7: KECCAK256 000007c8: PUSH1 0x00 000007ca: DUP3 000007cb: DUP3 000007cc: SLOAD 000007cd: ADD 000007ce: SWAP3 000007cf: POP 000007d0: POP 000007d1: DUP2 000007d2: SWAP1 000007d3: SSTORE 000007d4: POP 000007d5: DUP12 000007d6: PUSH1 0x01 000007d8: PUSH1 0xa0 000007da: PUSH1 0x02 000007dc: EXP 000007dd: SUB 000007de: AND 000007df: DUP11 000007e0: PUSH1 0x01 000007e2: PUSH1 0xa0 000007e4: PUSH1 0x02 000007e6: EXP 000007e7: SUB 000007e8: AND 000007e9: PUSH32 0x022c0d992e4d873a3748436d960d5140c1f9721cf73f7ca5ec679d3d9f4fe2d5 0000080a: DUP16 0000080b: DUP9 0000080c: PUSH1 0x40 0000080e: MLOAD 0000080f: SWAP2 00000810: DUP3 00000811: MSTORE 00000812: PUSH1 0x20 00000814: DUP3 00000815: ADD 00000816: MSTORE 00000817: PUSH1 0x40 00000819: SWAP1 0000081a: DUP2 0000081b: ADD 0000081c: SWAP1 0000081d: MLOAD 0000081e: DUP1 0000081f: SWAP2 00000820: SUB 00000821: SWAP1 00000822: LOG3 00000823: DUP5 00000824: SWAP11 00000825: POP 00000826: PUSH2 0x0a9c 00000829: JUMP 0000082a: JUMPDEST 0000082b: PUSH1 0x0b 0000082d: DUP1 0000082e: SLOAD 0000082f: PUSH1 0xff 00000831: NOT 00000832: AND 00000833: SWAP1 00000834: SSTORE 00000835: CALLER 00000836: SWAP10 00000837: POP 00000838: PUSH2 0x0842 0000083b: DUP14 0000083c: PUSH1 0x0a 0000083e: PUSH2 0x148d 00000841: JUMP 00000842: JUMPDEST 00000843: SWAP9 00000844: POP 00000845: PUSH2 0x084f 00000848: DUP10 00000849: PUSH1 0x03 0000084b: PUSH2 0x148d 0000084e: JUMP 0000084f: JUMPDEST 00000850: SWAP8 00000851: POP 00000852: PUSH2 0x085b 00000855: DUP10 00000856: DUP10 00000857: PUSH2 0x14a4 0000085a: JUMP 0000085b: JUMPDEST 0000085c: SWAP7 0000085d: POP 0000085e: PUSH2 0x0867 00000861: DUP14 00000862: DUP11 00000863: PUSH2 0x14a4 00000866: JUMP 00000867: JUMPDEST 00000868: SWAP6 00000869: POP 0000086a: PUSH2 0x0872 0000086d: DUP7 0000086e: PUSH2 0x14b6 00000871: JUMP 00000872: JUMPDEST 00000873: SWAP5 00000874: POP 00000875: PUSH9 0x010000000000000000 0000087f: DUP8 00000880: MUL 00000881: SWAP4 00000882: POP 00000883: PUSH1 0x00 00000885: DUP6 00000886: GT 00000887: DUP1 00000888: ISZERO 00000889: PUSH2 0x089c 0000088c: JUMPI 0000088d: POP 0000088e: PUSH1 0x08 00000890: SLOAD 00000891: PUSH2 0x089a 00000894: DUP7 00000895: DUP3 00000896: PUSH2 0x1477 00000899: JUMP 0000089a: JUMPDEST 0000089b: GT 0000089c: JUMPDEST 0000089d: ISZERO 0000089e: ISZERO 0000089f: PUSH2 0x08a7 000008a2: JUMPI 000008a3: PUSH1 0x00 000008a5: DUP1 000008a6: REVERT 000008a7: JUMPDEST 000008a8: PUSH1 0x01 000008aa: PUSH1 0xa0 000008ac: PUSH1 0x02 000008ae: EXP 000008af: SUB 000008b0: DUP13 000008b1: AND 000008b2: ISZERO 000008b3: DUP1 000008b4: ISZERO 000008b5: SWAP1 000008b6: PUSH2 0x08d1 000008b9: JUMPI 000008ba: POP 000008bb: DUP10 000008bc: PUSH1 0x01 000008be: PUSH1 0xa0 000008c0: PUSH1 0x02 000008c2: EXP 000008c3: SUB 000008c4: AND 000008c5: DUP13 000008c6: PUSH1 0x01 000008c8: PUSH1 0xa0 000008ca: PUSH1 0x02 000008cc: EXP 000008cd: SUB 000008ce: AND 000008cf: EQ 000008d0: ISZERO 000008d1: JUMPDEST 000008d2: DUP1 000008d3: ISZERO 000008d4: PUSH2 0x08f7 000008d7: JUMPI 000008d8: POP 000008d9: PUSH1 0x02 000008db: SLOAD 000008dc: PUSH1 0x01 000008de: PUSH1 0xa0 000008e0: PUSH1 0x02 000008e2: EXP 000008e3: SUB 000008e4: DUP14 000008e5: AND 000008e6: PUSH1 0x00 000008e8: SWAP1 000008e9: DUP2 000008ea: MSTORE 000008eb: PUSH1 0x04 000008ed: PUSH1 0x20 000008ef: MSTORE 000008f0: PUSH1 0x40 000008f2: SWAP1 000008f3: KECCAK256 000008f4: SLOAD 000008f5: LT 000008f6: ISZERO 000008f7: JUMPDEST 000008f8: ISZERO 000008f9: PUSH2 0x093d 000008fc: JUMPI 000008fd: PUSH1 0x01 000008ff: PUSH1 0xa0 00000901: PUSH1 0x02 00000903: EXP 00000904: SUB 00000905: DUP13 00000906: AND 00000907: PUSH1 0x00 00000909: SWAP1 0000090a: DUP2 0000090b: MSTORE 0000090c: PUSH1 0x05 0000090e: PUSH1 0x20 00000910: MSTORE 00000911: PUSH1 0x40 00000913: SWAP1 00000914: KECCAK256 00000915: SLOAD 00000916: PUSH2 0x091f 00000919: SWAP1 0000091a: DUP10 0000091b: PUSH2 0x1477 0000091e: JUMP 0000091f: JUMPDEST 00000920: PUSH1 0x01 00000922: PUSH1 0xa0 00000924: PUSH1 0x02 00000926: EXP 00000927: SUB 00000928: DUP14 00000929: AND 0000092a: PUSH1 0x00 0000092c: SWAP1 0000092d: DUP2 0000092e: MSTORE 0000092f: PUSH1 0x05 00000931: PUSH1 0x20 00000933: MSTORE 00000934: PUSH1 0x40 00000936: SWAP1 00000937: KECCAK256 00000938: SSTORE 00000939: PUSH2 0x0958 0000093c: JUMP 0000093d: JUMPDEST 0000093e: PUSH2 0x0947 00000941: DUP8 00000942: DUP10 00000943: PUSH2 0x1477 00000946: JUMP 00000947: JUMPDEST 00000948: SWAP7 00000949: POP 0000094a: PUSH9 0x010000000000000000 00000954: DUP8 00000955: MUL 00000956: SWAP4 00000957: POP 00000958: JUMPDEST 00000959: PUSH1 0x00 0000095b: PUSH1 0x08 0000095d: SLOAD 0000095e: GT 0000095f: ISZERO 00000960: PUSH2 0x09bc 00000963: JUMPI 00000964: PUSH2 0x096f 00000967: PUSH1 0x08 00000969: SLOAD 0000096a: DUP7 0000096b: PUSH2 0x1477 0000096e: JUMP 0000096f: JUMPDEST 00000970: PUSH1 0x08 00000972: DUP2 00000973: SWAP1 00000974: SSTORE 00000975: PUSH9 0x010000000000000000 0000097f: DUP9 00000980: MUL 00000981: DUP2 00000982: ISZERO 00000983: ISZERO 00000984: PUSH2 0x0989 00000987: JUMPI 00000988: INVALID 00000989: JUMPDEST 0000098a: PUSH1 0x09 0000098c: DUP1 0000098d: SLOAD 0000098e: SWAP3 0000098f: SWAP1 00000990: SWAP2 00000991: DIV 00000992: SWAP1 00000993: SWAP2 00000994: ADD 00000995: SWAP1 00000996: SSTORE 00000997: PUSH1 0x08 00000999: SLOAD 0000099a: PUSH9 0x010000000000000000 000009a4: DUP9 000009a5: MUL 000009a6: DUP2 000009a7: ISZERO 000009a8: ISZERO 000009a9: PUSH2 0x09ae 000009ac: JUMPI 000009ad: INVALID 000009ae: JUMPDEST 000009af: DIV 000009b0: DUP6 000009b1: MUL 000009b2: DUP5 000009b3: SUB 000009b4: DUP5 000009b5: SUB 000009b6: SWAP4 000009b7: POP 000009b8: PUSH2 0x09c2 000009bb: JUMP 000009bc: JUMPDEST 000009bd: PUSH1 0x08 000009bf: DUP6 000009c0: SWAP1 000009c1: SSTORE 000009c2: JUMPDEST 000009c3: PUSH1 0x01 000009c5: PUSH1 0xa0 000009c7: PUSH1 0x02 000009c9: EXP 000009ca: SUB 000009cb: DUP11 000009cc: AND 000009cd: PUSH1 0x00 000009cf: SWAP1 000009d0: DUP2 000009d1: MSTORE 000009d2: PUSH1 0x04 000009d4: PUSH1 0x20 000009d6: MSTORE 000009d7: PUSH1 0x40 000009d9: SWAP1 000009da: KECCAK256 000009db: SLOAD 000009dc: PUSH2 0x09e5 000009df: SWAP1 000009e0: DUP7 000009e1: PUSH2 0x1477 000009e4: JUMP 000009e5: JUMPDEST 000009e6: PUSH1 0x04 000009e8: PUSH1 0x00 000009ea: DUP13 000009eb: PUSH1 0x01 000009ed: PUSH1 0xa0 000009ef: PUSH1 0x02 000009f1: EXP 000009f2: SUB 000009f3: AND 000009f4: PUSH1 0x01 000009f6: PUSH1 0xa0 000009f8: PUSH1 0x02 000009fa: EXP 000009fb: SUB 000009fc: AND 000009fd: DUP2 000009fe: MSTORE 000009ff: PUSH1 0x20 00000a01: ADD 00000a02: SWAP1 00000a03: DUP2 00000a04: MSTORE 00000a05: PUSH1 0x20 00000a07: ADD 00000a08: PUSH1 0x00 00000a0a: KECCAK256 00000a0b: DUP2 00000a0c: SWAP1 00000a0d: SSTORE 00000a0e: POP 00000a0f: DUP4 00000a10: DUP6 00000a11: PUSH1 0x09 00000a13: SLOAD 00000a14: MUL 00000a15: SUB 00000a16: SWAP3 00000a17: POP 00000a18: DUP3 00000a19: PUSH1 0x06 00000a1b: PUSH1 0x00 00000a1d: DUP13 00000a1e: PUSH1 0x01 00000a20: PUSH1 0xa0 00000a22: PUSH1 0x02 00000a24: EXP 00000a25: SUB 00000a26: AND 00000a27: PUSH1 0x01 00000a29: PUSH1 0xa0 00000a2b: PUSH1 0x02 00000a2d: EXP 00000a2e: SUB 00000a2f: AND 00000a30: DUP2 00000a31: MSTORE 00000a32: PUSH1 0x20 00000a34: ADD 00000a35: SWAP1 00000a36: DUP2 00000a37: MSTORE 00000a38: PUSH1 0x20 00000a3a: ADD 00000a3b: PUSH1 0x00 00000a3d: KECCAK256 00000a3e: PUSH1 0x00 00000a40: DUP3 00000a41: DUP3 00000a42: SLOAD 00000a43: ADD 00000a44: SWAP3 00000a45: POP 00000a46: POP 00000a47: DUP2 00000a48: SWAP1 00000a49: SSTORE 00000a4a: POP 00000a4b: DUP12 00000a4c: PUSH1 0x01 00000a4e: PUSH1 0xa0 00000a50: PUSH1 0x02 00000a52: EXP 00000a53: SUB 00000a54: AND 00000a55: DUP11 00000a56: PUSH1 0x01 00000a58: PUSH1 0xa0 00000a5a: PUSH1 0x02 00000a5c: EXP 00000a5d: SUB 00000a5e: AND 00000a5f: PUSH32 0x022c0d992e4d873a3748436d960d5140c1f9721cf73f7ca5ec679d3d9f4fe2d5 00000a80: DUP16 00000a81: DUP9 00000a82: PUSH1 0x40 00000a84: MLOAD 00000a85: SWAP2 00000a86: DUP3 00000a87: MSTORE 00000a88: PUSH1 0x20 00000a8a: DUP3 00000a8b: ADD 00000a8c: MSTORE 00000a8d: PUSH1 0x40 00000a8f: SWAP1 00000a90: DUP2 00000a91: ADD 00000a92: SWAP1 00000a93: MLOAD 00000a94: DUP1 00000a95: SWAP2 00000a96: SUB 00000a97: SWAP1 00000a98: LOG3 00000a99: DUP5 00000a9a: SWAP11 00000a9b: POP 00000a9c: JUMPDEST 00000a9d: POP 00000a9e: POP 00000a9f: POP 00000aa0: POP 00000aa1: POP 00000aa2: POP 00000aa3: POP 00000aa4: POP 00000aa5: POP 00000aa6: POP 00000aa7: SWAP3 00000aa8: SWAP2 00000aa9: POP 00000aaa: POP 00000aab: JUMP 00000aac: JUMPDEST 00000aad: PUSH1 0x01 00000aaf: PUSH1 0xa0 00000ab1: PUSH1 0x02 00000ab3: EXP 00000ab4: SUB 00000ab5: AND 00000ab6: PUSH1 0x00 00000ab8: SWAP1 00000ab9: DUP2 00000aba: MSTORE 00000abb: PUSH1 0x06 00000abd: PUSH1 0x20 00000abf: SWAP1 00000ac0: DUP2 00000ac1: MSTORE 00000ac2: PUSH1 0x40 00000ac4: DUP1 00000ac5: DUP4 00000ac6: KECCAK256 00000ac7: SLOAD 00000ac8: PUSH1 0x04 00000aca: SWAP1 00000acb: SWAP3 00000acc: MSTORE 00000acd: SWAP1 00000ace: SWAP2 00000acf: KECCAK256 00000ad0: SLOAD 00000ad1: PUSH1 0x09 00000ad3: SLOAD 00000ad4: PUSH9 0x010000000000000000 00000ade: SWAP2 00000adf: MUL 00000ae0: SWAP2 00000ae1: SWAP1 00000ae2: SWAP2 00000ae3: SUB 00000ae4: DIV 00000ae5: SWAP1 00000ae6: JUMP 00000ae7: JUMPDEST 00000ae8: PUSH1 0x00 00000aea: DUP1 00000aeb: SLOAD 00000aec: PUSH1 0x01 00000aee: DUP2 00000aef: PUSH1 0x01 00000af1: AND 00000af2: ISZERO 00000af3: PUSH2 0x0100 00000af6: MUL 00000af7: SUB 00000af8: AND 00000af9: PUSH1 0x02 00000afb: SWAP1 00000afc: DIV 00000afd: DUP1 00000afe: PUSH1 0x1f 00000b00: ADD 00000b01: PUSH1 0x20 00000b03: DUP1 00000b04: SWAP2 00000b05: DIV 00000b06: MUL 00000b07: PUSH1 0x20 00000b09: ADD 00000b0a: PUSH1 0x40 00000b0c: MLOAD 00000b0d: SWAP1 00000b0e: DUP2 00000b0f: ADD 00000b10: PUSH1 0x40 00000b12: MSTORE 00000b13: DUP1 00000b14: SWAP3 00000b15: SWAP2 00000b16: SWAP1 00000b17: DUP2 00000b18: DUP2 00000b19: MSTORE 00000b1a: PUSH1 0x20 00000b1c: ADD 00000b1d: DUP3 00000b1e: DUP1 00000b1f: SLOAD 00000b20: PUSH1 0x01 00000b22: DUP2 00000b23: PUSH1 0x01 00000b25: AND 00000b26: ISZERO 00000b27: PUSH2 0x0100 00000b2a: MUL 00000b2b: SUB 00000b2c: AND 00000b2d: PUSH1 0x02 00000b2f: SWAP1 00000b30: DIV 00000b31: DUP1 00000b32: ISZERO 00000b33: PUSH2 0x0b7d 00000b36: JUMPI 00000b37: DUP1 00000b38: PUSH1 0x1f 00000b3a: LT 00000b3b: PUSH2 0x0b52 00000b3e: JUMPI 00000b3f: PUSH2 0x0100 00000b42: DUP1 00000b43: DUP4 00000b44: SLOAD 00000b45: DIV 00000b46: MUL 00000b47: DUP4 00000b48: MSTORE 00000b49: SWAP2 00000b4a: PUSH1 0x20 00000b4c: ADD 00000b4d: SWAP2 00000b4e: PUSH2 0x0b7d 00000b51: JUMP 00000b52: JUMPDEST 00000b53: DUP3 00000b54: ADD 00000b55: SWAP2 00000b56: SWAP1 00000b57: PUSH1 0x00 00000b59: MSTORE 00000b5a: PUSH1 0x20 00000b5c: PUSH1 0x00 00000b5e: KECCAK256 00000b5f: SWAP1 00000b60: JUMPDEST 00000b61: DUP2 00000b62: SLOAD 00000b63: DUP2 00000b64: MSTORE 00000b65: SWAP1 00000b66: PUSH1 0x01 00000b68: ADD 00000b69: SWAP1 00000b6a: PUSH1 0x20 00000b6c: ADD 00000b6d: DUP1 00000b6e: DUP4 00000b6f: GT 00000b70: PUSH2 0x0b60 00000b73: JUMPI 00000b74: DUP3 00000b75: SWAP1 00000b76: SUB 00000b77: PUSH1 0x1f 00000b79: AND 00000b7a: DUP3 00000b7b: ADD 00000b7c: SWAP2 00000b7d: JUMPDEST 00000b7e: POP 00000b7f: POP 00000b80: POP 00000b81: POP 00000b82: POP 00000b83: DUP2 00000b84: JUMP 00000b85: JUMPDEST 00000b86: PUSH1 0x00 00000b88: DUP1 00000b89: DUP1 00000b8a: DUP1 00000b8b: PUSH2 0x0b95 00000b8e: DUP6 00000b8f: PUSH1 0x0a 00000b91: PUSH2 0x148d 00000b94: JUMP 00000b95: JUMPDEST 00000b96: SWAP3 00000b97: POP 00000b98: PUSH2 0x0ba1 00000b9b: DUP6 00000b9c: DUP5 00000b9d: PUSH2 0x14a4 00000ba0: JUMP 00000ba1: JUMPDEST 00000ba2: SWAP2 00000ba3: POP 00000ba4: PUSH2 0x0bac 00000ba7: DUP3 00000ba8: PUSH2 0x14b6 00000bab: JUMP 00000bac: JUMPDEST 00000bad: SWAP6 00000bae: SWAP5 00000baf: POP 00000bb0: POP 00000bb1: POP 00000bb2: POP 00000bb3: POP 00000bb4: JUMP 00000bb5: JUMPDEST 00000bb6: PUSH1 0x08 00000bb8: SLOAD 00000bb9: JUMPDEST 00000bba: SWAP1 00000bbb: JUMP 00000bbc: JUMPDEST 00000bbd: PUSH1 0x00 00000bbf: DUP1 00000bc0: PUSH1 0x00 00000bc2: DUP1 00000bc3: PUSH1 0x08 00000bc5: SLOAD 00000bc6: DUP6 00000bc7: GT 00000bc8: ISZERO 00000bc9: ISZERO 00000bca: ISZERO 00000bcb: PUSH2 0x0bd3 00000bce: JUMPI 00000bcf: PUSH1 0x00 00000bd1: DUP1 00000bd2: REVERT 00000bd3: JUMPDEST 00000bd4: PUSH2 0x0bdc 00000bd7: DUP6 00000bd8: PUSH2 0x154e 00000bdb: JUMP 00000bdc: JUMPDEST 00000bdd: SWAP3 00000bde: POP 00000bdf: PUSH2 0x0be9 00000be2: DUP4 00000be3: PUSH1 0x0a 00000be5: PUSH2 0x148d 00000be8: JUMP 00000be9: JUMPDEST 00000bea: SWAP2 00000beb: POP 00000bec: PUSH2 0x0bac 00000bef: DUP4 00000bf0: DUP4 00000bf1: PUSH2 0x14a4 00000bf4: JUMP 00000bf5: JUMPDEST 00000bf6: PUSH1 0x0b 00000bf8: SLOAD 00000bf9: PUSH1 0xff 00000bfb: AND 00000bfc: DUP2 00000bfd: JUMP 00000bfe: JUMPDEST 00000bff: PUSH1 0x12 00000c01: DUP2 00000c02: JUMP 00000c03: JUMPDEST 00000c04: PUSH1 0x0a 00000c06: PUSH1 0x20 00000c08: MSTORE 00000c09: PUSH1 0x00 00000c0b: SWAP1 00000c0c: DUP2 00000c0d: MSTORE 00000c0e: PUSH1 0x40 00000c10: SWAP1 00000c11: KECCAK256 00000c12: SLOAD 00000c13: PUSH1 0xff 00000c15: AND 00000c16: DUP2 00000c17: JUMP 00000c18: JUMPDEST 00000c19: PUSH1 0x00 00000c1b: DUP1 00000c1c: PUSH1 0x00 00000c1e: PUSH2 0x0c27 00000c21: PUSH1 0x01 00000c23: PUSH2 0x0d3e 00000c26: JUMP 00000c27: JUMPDEST 00000c28: GT 00000c29: PUSH2 0x0c31 00000c2c: JUMPI 00000c2d: PUSH1 0x00 00000c2f: DUP1 00000c30: REVERT 00000c31: JUMPDEST 00000c32: CALLER 00000c33: SWAP2 00000c34: POP 00000c35: PUSH2 0x0c3e 00000c38: PUSH1 0x00 00000c3a: PUSH2 0x0d3e 00000c3d: JUMP 00000c3e: JUMPDEST 00000c3f: PUSH1 0x01 00000c41: PUSH1 0xa0 00000c43: PUSH1 0x02 00000c45: EXP 00000c46: SUB 00000c47: DUP4 00000c48: AND 00000c49: PUSH1 0x00 00000c4b: DUP2 00000c4c: DUP2 00000c4d: MSTORE 00000c4e: PUSH1 0x06 00000c50: PUSH1 0x20 00000c52: SWAP1 00000c53: DUP2 00000c54: MSTORE 00000c55: PUSH1 0x40 00000c57: DUP1 00000c58: DUP4 00000c59: KECCAK256 00000c5a: DUP1 00000c5b: SLOAD 00000c5c: PUSH9 0x010000000000000000 00000c66: DUP8 00000c67: MUL 00000c68: ADD 00000c69: SWAP1 00000c6a: SSTORE 00000c6b: PUSH1 0x05 00000c6d: SWAP1 00000c6e: SWAP2 00000c6f: MSTORE 00000c70: DUP1 00000c71: DUP3 00000c72: KECCAK256 00000c73: DUP1 00000c74: SLOAD 00000c75: SWAP3 00000c76: SWAP1 00000c77: SSTORE 00000c78: SWAP3 00000c79: ADD 00000c7a: SWAP3 00000c7b: POP 00000c7c: SWAP1 00000c7d: DUP3 00000c7e: ISZERO 00000c7f: PUSH2 0x08fc 00000c82: MUL 00000c83: SWAP1 00000c84: DUP4 00000c85: SWAP1 00000c86: MLOAD 00000c87: PUSH1 0x00 00000c89: PUSH1 0x40 00000c8b: MLOAD 00000c8c: DUP1 00000c8d: DUP4 00000c8e: SUB 00000c8f: DUP2 00000c90: DUP6 00000c91: DUP9 00000c92: DUP9 00000c93: CALL 00000c94: SWAP4 00000c95: POP 00000c96: POP 00000c97: POP 00000c98: POP 00000c99: ISZERO 00000c9a: ISZERO 00000c9b: PUSH2 0x0ca3 00000c9e: JUMPI 00000c9f: PUSH1 0x00 00000ca1: DUP1 00000ca2: REVERT 00000ca3: JUMPDEST 00000ca4: DUP2 00000ca5: PUSH1 0x01 00000ca7: PUSH1 0xa0 00000ca9: PUSH1 0x02 00000cab: EXP 00000cac: SUB 00000cad: AND 00000cae: PUSH32 0xccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc 00000ccf: DUP3 00000cd0: PUSH1 0x40 00000cd2: MLOAD 00000cd3: SWAP1 00000cd4: DUP2 00000cd5: MSTORE 00000cd6: PUSH1 0x20 00000cd8: ADD 00000cd9: PUSH1 0x40 00000cdb: MLOAD 00000cdc: DUP1 00000cdd: SWAP2 00000cde: SUB 00000cdf: SWAP1 00000ce0: LOG2 00000ce1: POP 00000ce2: POP 00000ce3: JUMP 00000ce4: JUMPDEST 00000ce5: PUSH1 0x00 00000ce7: DUP1 00000ce8: PUSH1 0x00 00000cea: DUP1 00000ceb: PUSH1 0x08 00000ced: SLOAD 00000cee: PUSH1 0x00 00000cf0: EQ 00000cf1: ISZERO 00000cf2: PUSH2 0x0d02 00000cf5: JUMPI 00000cf6: PUSH5 0x14f46b0400 00000cfc: SWAP4 00000cfd: POP 00000cfe: PUSH2 0x0d32 00000d01: JUMP 00000d02: JUMPDEST 00000d03: PUSH2 0x0d13 00000d06: PUSH8 0x0de0b6b3a7640000 00000d0f: PUSH2 0x154e 00000d12: JUMP 00000d13: JUMPDEST 00000d14: SWAP3 00000d15: POP 00000d16: PUSH2 0x0d20 00000d19: DUP4 00000d1a: PUSH1 0x0a 00000d1c: PUSH2 0x148d 00000d1f: JUMP 00000d20: JUMPDEST 00000d21: SWAP2 00000d22: POP 00000d23: PUSH2 0x0d2c 00000d26: DUP4 00000d27: DUP4 00000d28: PUSH2 0x14a4 00000d2b: JUMP 00000d2c: JUMPDEST 00000d2d: SWAP1 00000d2e: POP 00000d2f: DUP1 00000d30: SWAP4 00000d31: POP 00000d32: JUMPDEST 00000d33: POP 00000d34: POP 00000d35: POP 00000d36: SWAP1 00000d37: JUMP 00000d38: JUMPDEST 00000d39: PUSH1 0x02 00000d3b: SLOAD 00000d3c: DUP2 00000d3d: JUMP 00000d3e: JUMPDEST 00000d3f: PUSH1 0x00 00000d41: CALLER 00000d42: DUP3 00000d43: PUSH2 0x0d54 00000d46: JUMPI 00000d47: PUSH2 0x0d4f 00000d4a: DUP2 00000d4b: PUSH2 0x0aac 00000d4e: JUMP 00000d4f: JUMPDEST 00000d50: PUSH2 0x0d78 00000d53: JUMP 00000d54: JUMPDEST 00000d55: PUSH1 0x01 00000d57: PUSH1 0xa0 00000d59: PUSH1 0x02 00000d5b: EXP 00000d5c: SUB 00000d5d: DUP2 00000d5e: AND 00000d5f: PUSH1 0x00 00000d61: SWAP1 00000d62: DUP2 00000d63: MSTORE 00000d64: PUSH1 0x05 00000d66: PUSH1 0x20 00000d68: MSTORE 00000d69: PUSH1 0x40 00000d6b: SWAP1 00000d6c: KECCAK256 00000d6d: SLOAD 00000d6e: PUSH2 0x0d76 00000d71: DUP3 00000d72: PUSH2 0x0aac 00000d75: JUMP 00000d76: JUMPDEST 00000d77: ADD 00000d78: JUMPDEST 00000d79: SWAP2 00000d7a: POP 00000d7b: JUMPDEST 00000d7c: POP 00000d7d: SWAP2 00000d7e: SWAP1 00000d7f: POP 00000d80: JUMP 00000d81: JUMPDEST 00000d82: PUSH1 0x01 00000d84: PUSH1 0xa0 00000d86: PUSH1 0x02 00000d88: EXP 00000d89: SUB 00000d8a: ADDRESS 00000d8b: AND 00000d8c: BALANCE 00000d8d: SWAP1 00000d8e: JUMP 00000d8f: JUMPDEST 00000d90: PUSH1 0x01 00000d92: PUSH1 0xa0 00000d94: PUSH1 0x02 00000d96: EXP 00000d97: SUB 00000d98: AND 00000d99: PUSH1 0x00 00000d9b: SWAP1 00000d9c: DUP2 00000d9d: MSTORE 00000d9e: PUSH1 0x04 00000da0: PUSH1 0x20 00000da2: MSTORE 00000da3: PUSH1 0x40 00000da5: SWAP1 00000da6: KECCAK256 00000da7: SLOAD 00000da8: SWAP1 00000da9: JUMP 00000daa: JUMPDEST 00000dab: CALLER 00000dac: PUSH1 0x0a 00000dae: PUSH1 0x00 00000db0: DUP3 00000db1: PUSH1 0x40 00000db3: MLOAD 00000db4: PUSH1 0x01 00000db6: PUSH1 0xa0 00000db8: PUSH1 0x02 00000dba: EXP 00000dbb: SUB 00000dbc: SWAP2 00000dbd: SWAP1 00000dbe: SWAP2 00000dbf: AND 00000dc0: PUSH13 0x01000000000000000000000000 00000dce: MUL 00000dcf: DUP2 00000dd0: MSTORE 00000dd1: PUSH1 0x14 00000dd3: ADD 00000dd4: PUSH1 0x40 00000dd6: MLOAD 00000dd7: SWAP1 00000dd8: DUP2 00000dd9: SWAP1 00000dda: SUB 00000ddb: SWAP1 00000ddc: KECCAK256 00000ddd: DUP2 00000dde: MSTORE 00000ddf: PUSH1 0x20 00000de1: DUP2 00000de2: ADD 00000de3: SWAP2 00000de4: SWAP1 00000de5: SWAP2 00000de6: MSTORE 00000de7: PUSH1 0x40 00000de9: ADD 00000dea: PUSH1 0x00 00000dec: KECCAK256 00000ded: SLOAD 00000dee: PUSH1 0xff 00000df0: AND 00000df1: ISZERO 00000df2: ISZERO 00000df3: PUSH2 0x0dfb 00000df6: JUMPI 00000df7: PUSH1 0x00 00000df9: DUP1 00000dfa: REVERT 00000dfb: JUMPDEST 00000dfc: POP 00000dfd: PUSH1 0x02 00000dff: SSTORE 00000e00: JUMP 00000e01: JUMPDEST 00000e02: PUSH1 0x00 00000e04: DUP1 00000e05: PUSH1 0x00 00000e07: DUP1 00000e08: PUSH1 0x08 00000e0a: SLOAD 00000e0b: PUSH1 0x00 00000e0d: EQ 00000e0e: ISZERO 00000e0f: PUSH2 0x0e1f 00000e12: JUMPI 00000e13: PUSH5 0x199c82cc00 00000e19: SWAP4 00000e1a: POP 00000e1b: PUSH2 0x0d32 00000e1e: JUMP 00000e1f: JUMPDEST 00000e20: PUSH2 0x0e30 00000e23: PUSH8 0x0de0b6b3a7640000 00000e2c: PUSH2 0x154e 00000e2f: JUMP 00000e30: JUMPDEST 00000e31: SWAP3 00000e32: POP 00000e33: PUSH2 0x0e3d 00000e36: DUP4 00000e37: PUSH1 0x0a 00000e39: PUSH2 0x148d 00000e3c: JUMP 00000e3d: JUMPDEST 00000e3e: SWAP2 00000e3f: POP 00000e40: PUSH2 0x0d2c 00000e43: DUP4 00000e44: DUP4 00000e45: PUSH2 0x1477 00000e48: JUMP 00000e49: JUMPDEST 00000e4a: CALLER 00000e4b: PUSH1 0x0a 00000e4d: PUSH1 0x00 00000e4f: DUP3 00000e50: PUSH1 0x40 00000e52: MLOAD 00000e53: PUSH1 0x01 00000e55: PUSH1 0xa0 00000e57: PUSH1 0x02 00000e59: EXP 00000e5a: SUB 00000e5b: SWAP2 00000e5c: SWAP1 00000e5d: SWAP2 00000e5e: AND 00000e5f: PUSH13 0x01000000000000000000000000 00000e6d: MUL 00000e6e: DUP2 00000e6f: MSTORE 00000e70: PUSH1 0x14 00000e72: ADD 00000e73: PUSH1 0x40 00000e75: MLOAD 00000e76: SWAP1 00000e77: DUP2 00000e78: SWAP1 00000e79: SUB 00000e7a: SWAP1 00000e7b: KECCAK256 00000e7c: DUP2 00000e7d: MSTORE 00000e7e: PUSH1 0x20 00000e80: DUP2 00000e81: ADD 00000e82: SWAP2 00000e83: SWAP1 00000e84: SWAP2 00000e85: MSTORE 00000e86: PUSH1 0x40 00000e88: ADD 00000e89: PUSH1 0x00 00000e8b: KECCAK256 00000e8c: SLOAD 00000e8d: PUSH1 0xff 00000e8f: AND 00000e90: ISZERO 00000e91: ISZERO 00000e92: PUSH2 0x0e9a 00000e95: JUMPI 00000e96: PUSH1 0x00 00000e98: DUP1 00000e99: REVERT 00000e9a: JUMPDEST 00000e9b: POP 00000e9c: PUSH1 0x00 00000e9e: SWAP2 00000e9f: DUP3 00000ea0: MSTORE 00000ea1: PUSH1 0x0a 00000ea3: PUSH1 0x20 00000ea5: MSTORE 00000ea6: PUSH1 0x40 00000ea8: SWAP1 00000ea9: SWAP2 00000eaa: KECCAK256 00000eab: DUP1 00000eac: SLOAD 00000ead: PUSH1 0xff 00000eaf: NOT 00000eb0: AND 00000eb1: SWAP2 00000eb2: ISZERO 00000eb3: ISZERO 00000eb4: SWAP2 00000eb5: SWAP1 00000eb6: SWAP2 00000eb7: OR 00000eb8: SWAP1 00000eb9: SSTORE 00000eba: JUMP 00000ebb: JUMPDEST 00000ebc: PUSH1 0x00 00000ebe: CALLER 00000ebf: PUSH2 0x0ec7 00000ec2: DUP2 00000ec3: PUSH2 0x0d8f 00000ec6: JUMP 00000ec7: JUMPDEST 00000ec8: SWAP2 00000ec9: POP 00000eca: JUMPDEST 00000ecb: POP 00000ecc: SWAP1 00000ecd: JUMP 00000ece: JUMPDEST 00000ecf: PUSH1 0x01 00000ed1: DUP1 00000ed2: SLOAD 00000ed3: PUSH1 0x01 00000ed5: DUP2 00000ed6: PUSH1 0x01 00000ed8: AND 00000ed9: ISZERO 00000eda: PUSH2 0x0100 00000edd: MUL 00000ede: SUB 00000edf: AND 00000ee0: PUSH1 0x02 00000ee2: SWAP1 00000ee3: DIV 00000ee4: DUP1 00000ee5: PUSH1 0x1f 00000ee7: ADD 00000ee8: PUSH1 0x20 00000eea: DUP1 00000eeb: SWAP2 00000eec: DIV 00000eed: MUL 00000eee: PUSH1 0x20 00000ef0: ADD 00000ef1: PUSH1 0x40 00000ef3: MLOAD 00000ef4: SWAP1 00000ef5: DUP2 00000ef6: ADD 00000ef7: PUSH1 0x40 00000ef9: MSTORE 00000efa: DUP1 00000efb: SWAP3 00000efc: SWAP2 00000efd: SWAP1 00000efe: DUP2 00000eff: DUP2 00000f00: MSTORE 00000f01: PUSH1 0x20 00000f03: ADD 00000f04: DUP3 00000f05: DUP1 00000f06: SLOAD 00000f07: PUSH1 0x01 00000f09: DUP2 00000f0a: PUSH1 0x01 00000f0c: AND 00000f0d: ISZERO 00000f0e: PUSH2 0x0100 00000f11: MUL 00000f12: SUB 00000f13: AND 00000f14: PUSH1 0x02 00000f16: SWAP1 00000f17: DIV 00000f18: DUP1 00000f19: ISZERO 00000f1a: PUSH2 0x0b7d 00000f1d: JUMPI 00000f1e: DUP1 00000f1f: PUSH1 0x1f 00000f21: LT 00000f22: PUSH2 0x0b52 00000f25: JUMPI 00000f26: PUSH2 0x0100 00000f29: DUP1 00000f2a: DUP4 00000f2b: SLOAD 00000f2c: DIV 00000f2d: MUL 00000f2e: DUP4 00000f2f: MSTORE 00000f30: SWAP2 00000f31: PUSH1 0x20 00000f33: ADD 00000f34: SWAP2 00000f35: PUSH2 0x0b7d 00000f38: JUMP 00000f39: JUMPDEST 00000f3a: CALLER 00000f3b: PUSH1 0x0a 00000f3d: PUSH1 0x00 00000f3f: DUP3 00000f40: PUSH1 0x40 00000f42: MLOAD 00000f43: PUSH1 0x01 00000f45: PUSH1 0xa0 00000f47: PUSH1 0x02 00000f49: EXP 00000f4a: SUB 00000f4b: SWAP2 00000f4c: SWAP1 00000f4d: SWAP2 00000f4e: AND 00000f4f: PUSH13 0x01000000000000000000000000 00000f5d: MUL 00000f5e: DUP2 00000f5f: MSTORE 00000f60: PUSH1 0x14 00000f62: ADD 00000f63: PUSH1 0x40 00000f65: MLOAD 00000f66: SWAP1 00000f67: DUP2 00000f68: SWAP1 00000f69: SUB 00000f6a: SWAP1 00000f6b: KECCAK256 00000f6c: DUP2 00000f6d: MSTORE 00000f6e: PUSH1 0x20 00000f70: DUP2 00000f71: ADD 00000f72: SWAP2 00000f73: SWAP1 00000f74: SWAP2 00000f75: MSTORE 00000f76: PUSH1 0x40 00000f78: ADD 00000f79: PUSH1 0x00 00000f7b: KECCAK256 00000f7c: SLOAD 00000f7d: PUSH1 0xff 00000f7f: AND 00000f80: ISZERO 00000f81: ISZERO 00000f82: PUSH2 0x0f8a 00000f85: JUMPI 00000f86: PUSH1 0x00 00000f88: DUP1 00000f89: REVERT 00000f8a: JUMPDEST 00000f8b: POP 00000f8c: PUSH1 0x0b 00000f8e: DUP1 00000f8f: SLOAD 00000f90: PUSH1 0xff 00000f92: NOT 00000f93: AND 00000f94: SWAP1 00000f95: SSTORE 00000f96: JUMP 00000f97: JUMPDEST 00000f98: PUSH1 0x00 00000f9a: DUP1 00000f9b: PUSH1 0x00 00000f9d: DUP1 00000f9e: PUSH1 0x00 00000fa0: DUP1 00000fa1: PUSH2 0x0fa8 00000fa4: PUSH2 0x0ebb 00000fa7: JUMP 00000fa8: JUMPDEST 00000fa9: GT 00000faa: PUSH2 0x0fb2 00000fad: JUMPI 00000fae: PUSH1 0x00 00000fb0: DUP1 00000fb1: REVERT 00000fb2: JUMPDEST 00000fb3: PUSH1 0x0b 00000fb5: SLOAD 00000fb6: CALLER 00000fb7: SWAP5 00000fb8: POP 00000fb9: PUSH1 0xff 00000fbb: AND 00000fbc: ISZERO 00000fbd: DUP1 00000fbe: ISZERO 00000fbf: PUSH2 0x0fe0 00000fc2: JUMPI 00000fc3: POP 00000fc4: PUSH1 0x01 00000fc6: PUSH1 0xa0 00000fc8: PUSH1 0x02 00000fca: EXP 00000fcb: SUB 00000fcc: DUP5 00000fcd: AND 00000fce: PUSH1 0x00 00000fd0: SWAP1 00000fd1: DUP2 00000fd2: MSTORE 00000fd3: PUSH1 0x04 00000fd5: PUSH1 0x20 00000fd7: MSTORE 00000fd8: PUSH1 0x40 00000fda: SWAP1 00000fdb: KECCAK256 00000fdc: SLOAD 00000fdd: DUP7 00000fde: GT 00000fdf: ISZERO 00000fe0: JUMPDEST 00000fe1: ISZERO 00000fe2: ISZERO 00000fe3: PUSH2 0x0feb 00000fe6: JUMPI 00000fe7: PUSH1 0x00 00000fe9: DUP1 00000fea: REVERT 00000feb: JUMPDEST 00000fec: PUSH1 0x00 00000fee: PUSH2 0x0ff7 00000ff1: PUSH1 0x01 00000ff3: PUSH2 0x0d3e 00000ff6: JUMP 00000ff7: JUMPDEST 00000ff8: GT 00000ff9: ISZERO 00000ffa: PUSH2 0x1005 00000ffd: JUMPI 00000ffe: PUSH2 0x1005 00001001: PUSH2 0x0c18 00001004: JUMP 00001005: JUMPDEST 00001006: PUSH2 0x1010 00001009: DUP7 0000100a: PUSH1 0x0a 0000100c: PUSH2 0x148d 0000100f: JUMP 00001010: JUMPDEST 00001011: SWAP3 00001012: POP 00001013: PUSH2 0x101c 00001016: DUP7 00001017: DUP5 00001018: PUSH2 0x14a4 0000101b: JUMP 0000101c: JUMPDEST 0000101d: SWAP2 0000101e: POP 0000101f: PUSH2 0x1027 00001022: DUP4 00001023: PUSH2 0x154e 00001026: JUMP 00001027: JUMPDEST 00001028: SWAP1 00001029: POP 0000102a: PUSH2 0x1035 0000102d: PUSH1 0x08 0000102f: SLOAD 00001030: DUP5 00001031: PUSH2 0x14a4 00001034: JUMP 00001035: JUMPDEST 00001036: PUSH1 0x08 00001038: SSTORE 00001039: PUSH1 0x01 0000103b: PUSH1 0xa0 0000103d: PUSH1 0x02 0000103f: EXP 00001040: SUB 00001041: DUP5 00001042: AND 00001043: PUSH1 0x00 00001045: SWAP1 00001046: DUP2 00001047: MSTORE 00001048: PUSH1 0x04 0000104a: PUSH1 0x20 0000104c: MSTORE 0000104d: PUSH1 0x40 0000104f: SWAP1 00001050: KECCAK256 00001051: SLOAD 00001052: PUSH2 0x105b 00001055: SWAP1 00001056: DUP8 00001057: PUSH2 0x14a4 0000105a: JUMP 0000105b: JUMPDEST 0000105c: PUSH1 0x01 0000105e: PUSH1 0xa0 00001060: PUSH1 0x02 00001062: EXP 00001063: SUB 00001064: DUP1 00001065: DUP7 00001066: AND 00001067: PUSH1 0x00 00001069: SWAP1 0000106a: DUP2 0000106b: MSTORE 0000106c: PUSH1 0x04 0000106e: PUSH1 0x20 00001070: MSTORE 00001071: PUSH1 0x40 00001073: DUP1 00001074: DUP3 00001075: KECCAK256 00001076: SWAP4 00001077: SWAP1 00001078: SWAP4 00001079: SSTORE 0000107a: SWAP1 0000107b: DUP10 0000107c: AND 0000107d: DUP2 0000107e: MSTORE 0000107f: KECCAK256 00001080: SLOAD 00001081: PUSH2 0x108a 00001084: SWAP1 00001085: DUP4 00001086: PUSH2 0x1477 00001089: JUMP 0000108a: JUMPDEST 0000108b: PUSH1 0x01 0000108d: PUSH1 0xa0 0000108f: PUSH1 0x02 00001091: EXP 00001092: SUB 00001093: DUP9 00001094: DUP2 00001095: AND 00001096: PUSH1 0x00 00001098: DUP2 00001099: DUP2 0000109a: MSTORE 0000109b: PUSH1 0x04 0000109d: PUSH1 0x20 0000109f: SWAP1 000010a0: DUP2 000010a1: MSTORE 000010a2: PUSH1 0x40 000010a4: DUP1 000010a5: DUP4 000010a6: KECCAK256 000010a7: SWAP6 000010a8: SWAP1 000010a9: SWAP6 000010aa: SSTORE 000010ab: PUSH1 0x09 000010ad: DUP1 000010ae: SLOAD 000010af: SWAP5 000010b0: DUP11 000010b1: AND 000010b2: DUP4 000010b3: MSTORE 000010b4: PUSH1 0x06 000010b6: SWAP1 000010b7: SWAP2 000010b8: MSTORE 000010b9: DUP5 000010ba: DUP3 000010bb: KECCAK256 000010bc: DUP1 000010bd: SLOAD 000010be: SWAP5 000010bf: DUP13 000010c0: MUL 000010c1: SWAP1 000010c2: SWAP5 000010c3: SUB 000010c4: SWAP1 000010c5: SWAP4 000010c6: SSTORE 000010c7: DUP3 000010c8: SLOAD 000010c9: SWAP2 000010ca: DUP2 000010cb: MSTORE 000010cc: SWAP3 000010cd: SWAP1 000010ce: SWAP3 000010cf: KECCAK256 000010d0: DUP1 000010d1: SLOAD 000010d2: SWAP3 000010d3: DUP6 000010d4: MUL 000010d5: SWAP1 000010d6: SWAP3 000010d7: ADD 000010d8: SWAP1 000010d9: SWAP2 000010da: SSTORE 000010db: SLOAD 000010dc: PUSH1 0x08 000010de: SLOAD 000010df: PUSH2 0x10fe 000010e2: SWAP2 000010e3: SWAP1 000010e4: PUSH9 0x010000000000000000 000010ee: DUP5 000010ef: MUL 000010f0: DUP2 000010f1: ISZERO 000010f2: ISZERO 000010f3: PUSH2 0x10f8 000010f6: JUMPI 000010f7: INVALID 000010f8: JUMPDEST 000010f9: DIV 000010fa: PUSH2 0x1477 000010fd: JUMP 000010fe: JUMPDEST 000010ff: PUSH1 0x09 00001101: SSTORE 00001102: PUSH1 0x01 00001104: PUSH1 0xa0 00001106: PUSH1 0x02 00001108: EXP 00001109: SUB 0000110a: DUP1 0000110b: DUP9 0000110c: AND 0000110d: SWAP1 0000110e: DUP6 0000110f: AND 00001110: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00001131: DUP5 00001132: PUSH1 0x40 00001134: MLOAD 00001135: SWAP1 00001136: DUP2 00001137: MSTORE 00001138: PUSH1 0x20 0000113a: ADD 0000113b: PUSH1 0x40 0000113d: MLOAD 0000113e: DUP1 0000113f: SWAP2 00001140: SUB 00001141: SWAP1 00001142: LOG3 00001143: POP 00001144: PUSH1 0x01 00001146: SWAP7 00001147: SWAP6 00001148: POP 00001149: POP 0000114a: POP 0000114b: POP 0000114c: POP 0000114d: POP 0000114e: JUMP 0000114f: JUMPDEST 00001150: CALLER 00001151: PUSH1 0x0a 00001153: PUSH1 0x00 00001155: DUP3 00001156: PUSH1 0x40 00001158: MLOAD 00001159: PUSH1 0x01 0000115b: PUSH1 0xa0 0000115d: PUSH1 0x02 0000115f: EXP 00001160: SUB 00001161: SWAP2 00001162: SWAP1 00001163: SWAP2 00001164: AND 00001165: PUSH13 0x01000000000000000000000000 00001173: MUL 00001174: DUP2 00001175: MSTORE 00001176: PUSH1 0x14 00001178: ADD 00001179: PUSH1 0x40 0000117b: MLOAD 0000117c: SWAP1 0000117d: DUP2 0000117e: SWAP1 0000117f: SUB 00001180: SWAP1 00001181: KECCAK256 00001182: DUP2 00001183: MSTORE 00001184: PUSH1 0x20 00001186: DUP2 00001187: ADD 00001188: SWAP2 00001189: SWAP1 0000118a: SWAP2 0000118b: MSTORE 0000118c: PUSH1 0x40 0000118e: ADD 0000118f: PUSH1 0x00 00001191: KECCAK256 00001192: SLOAD 00001193: PUSH1 0xff 00001195: AND 00001196: ISZERO 00001197: ISZERO 00001198: PUSH2 0x11a0 0000119b: JUMPI 0000119c: PUSH1 0x00 0000119e: DUP1 0000119f: REVERT 000011a0: JUMPDEST 000011a1: PUSH1 0x01 000011a3: DUP3 000011a4: DUP1 000011a5: MLOAD 000011a6: PUSH2 0x11b3 000011a9: SWAP3 000011aa: SWAP2 000011ab: PUSH1 0x20 000011ad: ADD 000011ae: SWAP1 000011af: PUSH2 0x15ef 000011b2: JUMP 000011b3: JUMPDEST 000011b4: POP 000011b5: POP 000011b6: POP 000011b7: JUMP 000011b8: JUMPDEST 000011b9: CALLER 000011ba: PUSH1 0x0a 000011bc: PUSH1 0x00 000011be: DUP3 000011bf: PUSH1 0x40 000011c1: MLOAD 000011c2: PUSH1 0x01 000011c4: PUSH1 0xa0 000011c6: PUSH1 0x02 000011c8: EXP 000011c9: SUB 000011ca: SWAP2 000011cb: SWAP1 000011cc: SWAP2 000011cd: AND 000011ce: PUSH13 0x01000000000000000000000000 000011dc: MUL 000011dd: DUP2 000011de: MSTORE 000011df: PUSH1 0x14 000011e1: ADD 000011e2: PUSH1 0x40 000011e4: MLOAD 000011e5: SWAP1 000011e6: DUP2 000011e7: SWAP1 000011e8: SUB 000011e9: SWAP1 000011ea: KECCAK256 000011eb: DUP2 000011ec: MSTORE 000011ed: PUSH1 0x20 000011ef: DUP2 000011f0: ADD 000011f1: SWAP2 000011f2: SWAP1 000011f3: SWAP2 000011f4: MSTORE 000011f5: PUSH1 0x40 000011f7: ADD 000011f8: PUSH1 0x00 000011fa: KECCAK256 000011fb: SLOAD 000011fc: PUSH1 0xff 000011fe: AND 000011ff: ISZERO 00001200: ISZERO 00001201: PUSH2 0x1209 00001204: JUMPI 00001205: PUSH1 0x00 00001207: DUP1 00001208: REVERT 00001209: JUMPDEST 0000120a: PUSH1 0x00 0000120c: DUP3 0000120d: DUP1 0000120e: MLOAD 0000120f: PUSH2 0x11b3 00001212: SWAP3 00001213: SWAP2 00001214: PUSH1 0x20 00001216: ADD 00001217: SWAP1 00001218: PUSH2 0x15ef 0000121b: JUMP 0000121c: JUMPDEST 0000121d: PUSH1 0x00 0000121f: DUP1 00001220: PUSH1 0x00 00001222: DUP1 00001223: PUSH1 0x00 00001225: DUP1 00001226: PUSH1 0x00 00001228: PUSH2 0x122f 0000122b: PUSH2 0x0ebb 0000122e: JUMP 0000122f: JUMPDEST 00001230: GT 00001231: PUSH2 0x1239 00001234: JUMPI 00001235: PUSH1 0x00 00001237: DUP1 00001238: REVERT 00001239: JUMPDEST 0000123a: CALLER 0000123b: PUSH1 0x01 0000123d: PUSH1 0xa0 0000123f: PUSH1 0x02 00001241: EXP 00001242: SUB 00001243: DUP2 00001244: AND 00001245: PUSH1 0x00 00001247: SWAP1 00001248: DUP2 00001249: MSTORE 0000124a: PUSH1 0x04 0000124c: PUSH1 0x20 0000124e: MSTORE 0000124f: PUSH1 0x40 00001251: SWAP1 00001252: KECCAK256 00001253: SLOAD 00001254: SWAP1 00001255: SWAP7 00001256: POP 00001257: DUP8 00001258: GT 00001259: ISZERO 0000125a: PUSH2 0x1262 0000125d: JUMPI 0000125e: PUSH1 0x00 00001260: DUP1 00001261: REVERT 00001262: JUMPDEST 00001263: DUP7 00001264: SWAP5 00001265: POP 00001266: PUSH2 0x126e 00001269: DUP6 0000126a: PUSH2 0x154e 0000126d: JUMP 0000126e: JUMPDEST 0000126f: SWAP4 00001270: POP 00001271: PUSH2 0x127b 00001274: DUP5 00001275: PUSH1 0x0a 00001277: PUSH2 0x148d 0000127a: JUMP 0000127b: JUMPDEST 0000127c: SWAP3 0000127d: POP 0000127e: PUSH2 0x1287 00001281: DUP5 00001282: DUP5 00001283: PUSH2 0x14a4 00001286: JUMP 00001287: JUMPDEST 00001288: SWAP2 00001289: POP 0000128a: PUSH2 0x1295 0000128d: PUSH1 0x08 0000128f: SLOAD 00001290: DUP7 00001291: PUSH2 0x14a4 00001294: JUMP 00001295: JUMPDEST 00001296: PUSH1 0x08 00001298: SSTORE 00001299: PUSH1 0x01 0000129b: PUSH1 0xa0 0000129d: PUSH1 0x02 0000129f: EXP 000012a0: SUB 000012a1: DUP7 000012a2: AND 000012a3: PUSH1 0x00 000012a5: SWAP1 000012a6: DUP2 000012a7: MSTORE 000012a8: PUSH1 0x04 000012aa: PUSH1 0x20 000012ac: MSTORE 000012ad: PUSH1 0x40 000012af: SWAP1 000012b0: KECCAK256 000012b1: SLOAD 000012b2: PUSH2 0x12bb 000012b5: SWAP1 000012b6: DUP7 000012b7: PUSH2 0x14a4 000012ba: JUMP 000012bb: JUMPDEST 000012bc: PUSH1 0x01 000012be: PUSH1 0xa0 000012c0: PUSH1 0x02 000012c2: EXP 000012c3: SUB 000012c4: DUP8 000012c5: AND 000012c6: PUSH1 0x00 000012c8: SWAP1 000012c9: DUP2 000012ca: MSTORE 000012cb: PUSH1 0x04 000012cd: PUSH1 0x20 000012cf: SWAP1 000012d0: DUP2 000012d1: MSTORE 000012d2: PUSH1 0x40 000012d4: DUP1 000012d5: DUP4 000012d6: KECCAK256 000012d7: SWAP4 000012d8: SWAP1 000012d9: SWAP4 000012da: SSTORE 000012db: PUSH1 0x09 000012dd: SLOAD 000012de: PUSH1 0x06 000012e0: SWAP1 000012e1: SWAP2 000012e2: MSTORE 000012e3: SWAP2 000012e4: DUP2 000012e5: KECCAK256 000012e6: DUP1 000012e7: SLOAD 000012e8: SWAP3 000012e9: DUP9 000012ea: MUL 000012eb: PUSH9 0x010000000000000000 000012f5: DUP7 000012f6: MUL 000012f7: ADD 000012f8: SWAP3 000012f9: DUP4 000012fa: SWAP1 000012fb: SUB 000012fc: SWAP1 000012fd: SSTORE 000012fe: PUSH1 0x08 00001300: SLOAD 00001301: SWAP2 00001302: SWAP3 00001303: POP 00001304: SWAP1 00001305: GT 00001306: ISZERO 00001307: PUSH2 0x132c 0000130a: JUMPI 0000130b: PUSH2 0x1328 0000130e: PUSH1 0x09 00001310: SLOAD 00001311: PUSH1 0x08 00001313: SLOAD 00001314: PUSH9 0x010000000000000000 0000131e: DUP7 0000131f: MUL 00001320: DUP2 00001321: ISZERO 00001322: ISZERO 00001323: PUSH2 0x10f8 00001326: JUMPI 00001327: INVALID 00001328: JUMPDEST 00001329: PUSH1 0x09 0000132b: SSTORE 0000132c: JUMPDEST 0000132d: DUP6 0000132e: PUSH1 0x01 00001330: PUSH1 0xa0 00001332: PUSH1 0x02 00001334: EXP 00001335: SUB 00001336: AND 00001337: PUSH32 0xc4823739c5787d2ca17e404aa47d5569ae71dfb49cbf21b3f6152ed238a31139 00001358: DUP7 00001359: DUP5 0000135a: PUSH1 0x40 0000135c: MLOAD 0000135d: SWAP2 0000135e: DUP3 0000135f: MSTORE 00001360: PUSH1 0x20 00001362: DUP3 00001363: ADD 00001364: MSTORE 00001365: PUSH1 0x40 00001367: SWAP1 00001368: DUP2 00001369: ADD 0000136a: SWAP1 0000136b: MLOAD 0000136c: DUP1 0000136d: SWAP2 0000136e: SUB 0000136f: SWAP1 00001370: LOG2 00001371: POP 00001372: POP 00001373: POP 00001374: POP 00001375: POP 00001376: POP 00001377: POP 00001378: JUMP 00001379: JUMPDEST 0000137a: CALLER 0000137b: PUSH1 0x01 0000137d: PUSH1 0xa0 0000137f: PUSH1 0x02 00001381: EXP 00001382: SUB 00001383: DUP2 00001384: AND 00001385: PUSH1 0x00 00001387: SWAP1 00001388: DUP2 00001389: MSTORE 0000138a: PUSH1 0x04 0000138c: PUSH1 0x20 0000138e: MSTORE 0000138f: PUSH1 0x40 00001391: DUP2 00001392: KECCAK256 00001393: SLOAD 00001394: SWAP1 00001395: DUP2 00001396: GT 00001397: ISZERO 00001398: PUSH2 0x13a4 0000139b: JUMPI 0000139c: PUSH2 0x13a4 0000139f: DUP2 000013a0: PUSH2 0x121c 000013a3: JUMP 000013a4: JUMPDEST 000013a5: PUSH2 0x13ac 000013a8: PUSH2 0x0c18 000013ab: JUMP 000013ac: JUMPDEST 000013ad: POP 000013ae: POP 000013af: JUMP 000013b0: JUMPDEST 000013b1: PUSH1 0x00 000013b3: PUSH2 0x0d7b 000013b6: CALLVALUE 000013b7: DUP4 000013b8: PUSH2 0x04e1 000013bb: JUMP 000013bc: JUMPDEST 000013bd: PUSH1 0x00 000013bf: DUP1 000013c0: PUSH1 0x00 000013c2: DUP1 000013c3: PUSH2 0x13cc 000013c6: PUSH1 0x01 000013c8: PUSH2 0x0d3e 000013cb: JUMP 000013cc: JUMPDEST 000013cd: GT 000013ce: PUSH2 0x13d6 000013d1: JUMPI 000013d2: PUSH1 0x00 000013d4: DUP1 000013d5: REVERT 000013d6: JUMPDEST 000013d7: PUSH2 0x13e0 000013da: PUSH1 0x00 000013dc: PUSH2 0x0d3e 000013df: JUMP 000013e0: JUMPDEST 000013e1: CALLER 000013e2: PUSH1 0x01 000013e4: PUSH1 0xa0 000013e6: PUSH1 0x02 000013e8: EXP 000013e9: SUB 000013ea: DUP2 000013eb: AND 000013ec: PUSH1 0x00 000013ee: SWAP1 000013ef: DUP2 000013f0: MSTORE 000013f1: PUSH1 0x06 000013f3: PUSH1 0x20 000013f5: SWAP1 000013f6: DUP2 000013f7: MSTORE 000013f8: PUSH1 0x40 000013fa: DUP1 000013fb: DUP4 000013fc: KECCAK256 000013fd: DUP1 000013fe: SLOAD 000013ff: PUSH9 0x010000000000000000 00001409: DUP8 0000140a: MUL 0000140b: ADD 0000140c: SWAP1 0000140d: SSTORE 0000140e: PUSH1 0x05 00001410: SWAP1 00001411: SWAP2 00001412: MSTORE 00001413: DUP2 00001414: KECCAK256 00001415: DUP1 00001416: SLOAD 00001417: SWAP1 00001418: DUP3 00001419: SWAP1 0000141a: SSTORE 0000141b: SWAP1 0000141c: SWAP3 0000141d: ADD 0000141e: SWAP5 0000141f: POP 00001420: SWAP3 00001421: POP 00001422: PUSH2 0x142c 00001425: SWAP1 00001426: DUP5 00001427: SWAP1 00001428: PUSH2 0x04e1 0000142b: JUMP 0000142c: JUMPDEST 0000142d: SWAP1 0000142e: POP 0000142f: DUP2 00001430: PUSH1 0x01 00001432: PUSH1 0xa0 00001434: PUSH1 0x02 00001436: EXP 00001437: SUB 00001438: AND 00001439: PUSH32 0xbe339fc14b041c2b0e0f3dd2cd325d0c3668b78378001e53160eab3615326458 0000145a: DUP5 0000145b: DUP4 0000145c: PUSH1 0x40 0000145e: MLOAD 0000145f: SWAP2 00001460: DUP3 00001461: MSTORE 00001462: PUSH1 0x20 00001464: DUP3 00001465: ADD 00001466: MSTORE 00001467: PUSH1 0x40 00001469: SWAP1 0000146a: DUP2 0000146b: ADD 0000146c: SWAP1 0000146d: MLOAD 0000146e: DUP1 0000146f: SWAP2 00001470: SUB 00001471: SWAP1 00001472: LOG2 00001473: POP 00001474: POP 00001475: POP 00001476: JUMP 00001477: JUMPDEST 00001478: PUSH1 0x00 0000147a: DUP3 0000147b: DUP3 0000147c: ADD 0000147d: DUP4 0000147e: DUP2 0000147f: LT 00001480: ISZERO 00001481: PUSH2 0x1486 00001484: JUMPI 00001485: INVALID 00001486: JUMPDEST 00001487: SWAP4 00001488: SWAP3 00001489: POP 0000148a: POP 0000148b: POP 0000148c: JUMP 0000148d: JUMPDEST 0000148e: PUSH1 0x00 00001490: DUP1 00001491: DUP3 00001492: DUP5 00001493: DUP2 00001494: ISZERO 00001495: ISZERO 00001496: PUSH2 0x149b 00001499: JUMPI 0000149a: INVALID 0000149b: JUMPDEST 0000149c: DIV 0000149d: SWAP5 0000149e: SWAP4 0000149f: POP 000014a0: POP 000014a1: POP 000014a2: POP 000014a3: JUMP 000014a4: JUMPDEST 000014a5: PUSH1 0x00 000014a7: DUP3 000014a8: DUP3 000014a9: GT 000014aa: ISZERO 000014ab: PUSH2 0x14b0 000014ae: JUMPI 000014af: INVALID 000014b0: JUMPDEST 000014b1: POP 000014b2: SWAP1 000014b3: SUB 000014b4: SWAP1 000014b5: JUMP 000014b6: JUMPDEST 000014b7: PUSH1 0x08 000014b9: SLOAD 000014ba: PUSH1 0x00 000014bc: SWAP1 000014bd: PUSH13 0x01431e0fae6d7217caa0000000 000014cb: SWAP1 000014cc: DUP3 000014cd: SWAP1 000014ce: PUSH5 0x02540be400 000014d4: PUSH2 0x153b 000014d7: PUSH2 0x1535 000014da: PUSH20 0x0380d4bd8a8678c1bb542c80deb4800000000000 000014ef: DUP9 000014f0: MUL 000014f1: PUSH9 0x056bc75e2d63100000 000014fb: PUSH1 0x02 000014fd: DUP7 000014fe: EXP 000014ff: MUL 00001500: ADD 00001501: PUSH17 0x05e0a1fd2712875988becaad0000000000 00001513: DUP6 00001514: MUL 00001515: ADD 00001516: PUSH25 0x0197d4df19d605767337e9f14d3eec8920e400000000000000 00001530: ADD 00001531: PUSH2 0x15ba 00001534: JUMP 00001535: JUMPDEST 00001536: DUP6 00001537: PUSH2 0x14a4 0000153a: JUMP 0000153b: JUMPDEST 0000153c: DUP2 0000153d: ISZERO 0000153e: ISZERO 0000153f: PUSH2 0x1544 00001542: JUMPI 00001543: INVALID 00001544: JUMPDEST 00001545: DIV 00001546: SUB 00001547: SWAP5 00001548: SWAP4 00001549: POP 0000154a: POP 0000154b: POP 0000154c: POP 0000154d: JUMP 0000154e: JUMPDEST 0000154f: PUSH1 0x08 00001551: SLOAD 00001552: PUSH1 0x00 00001554: SWAP1 00001555: PUSH8 0x0de0b6b3a7640000 0000155e: DUP4 0000155f: DUP2 00001560: ADD 00001561: SWAP2 00001562: DUP2 00001563: ADD 00001564: SWAP1 00001565: DUP4 00001566: SWAP1 00001567: PUSH2 0x15a7 0000156a: PUSH5 0x14f46b0400 00001570: DUP3 00001571: DUP6 00001572: DIV 00001573: PUSH5 0x02540be400 00001579: MUL 0000157a: ADD 0000157b: DUP8 0000157c: MUL 0000157d: PUSH1 0x02 0000157f: DUP4 00001580: PUSH8 0x0de0b6b3a763ffff 00001589: NOT 0000158a: DUP3 0000158b: DUP10 0000158c: EXP 0000158d: DUP12 0000158e: SWAP1 0000158f: SUB 00001590: ADD 00001591: DIV 00001592: PUSH5 0x02540be400 00001598: MUL 00001599: DUP2 0000159a: ISZERO 0000159b: ISZERO 0000159c: PUSH2 0x15a1 0000159f: JUMPI 000015a0: INVALID 000015a1: JUMPDEST 000015a2: DIV 000015a3: PUSH2 0x14a4 000015a6: JUMP 000015a7: JUMPDEST 000015a8: DUP2 000015a9: ISZERO 000015aa: ISZERO 000015ab: PUSH2 0x15b0 000015ae: JUMPI 000015af: INVALID 000015b0: JUMPDEST 000015b1: DIV 000015b2: SWAP6 000015b3: SWAP5 000015b4: POP 000015b5: POP 000015b6: POP 000015b7: POP 000015b8: POP 000015b9: JUMP 000015ba: JUMPDEST 000015bb: DUP1 000015bc: PUSH1 0x02 000015be: PUSH1 0x01 000015c0: DUP3 000015c1: ADD 000015c2: DIV 000015c3: JUMPDEST 000015c4: DUP2 000015c5: DUP2 000015c6: LT 000015c7: ISZERO 000015c8: PUSH2 0x0d7b 000015cb: JUMPI 000015cc: DUP1 000015cd: SWAP2 000015ce: POP 000015cf: PUSH1 0x02 000015d1: DUP2 000015d2: DUP3 000015d3: DUP6 000015d4: DUP2 000015d5: ISZERO 000015d6: ISZERO 000015d7: PUSH2 0x15dc 000015da: JUMPI 000015db: INVALID 000015dc: JUMPDEST 000015dd: DIV 000015de: ADD 000015df: DUP2 000015e0: ISZERO 000015e1: ISZERO 000015e2: PUSH2 0x15e7 000015e5: JUMPI 000015e6: INVALID 000015e7: JUMPDEST 000015e8: DIV 000015e9: SWAP1 000015ea: POP 000015eb: PUSH2 0x15c3 000015ee: JUMP 000015ef: JUMPDEST 000015f0: DUP3 000015f1: DUP1 000015f2: SLOAD 000015f3: PUSH1 0x01 000015f5: DUP2 000015f6: PUSH1 0x01 000015f8: AND 000015f9: ISZERO 000015fa: PUSH2 0x0100 000015fd: MUL 000015fe: SUB 000015ff: AND 00001600: PUSH1 0x02 00001602: SWAP1 00001603: DIV 00001604: SWAP1 00001605: PUSH1 0x00 00001607: MSTORE 00001608: PUSH1 0x20 0000160a: PUSH1 0x00 0000160c: KECCAK256 0000160d: SWAP1 0000160e: PUSH1 0x1f 00001610: ADD 00001611: PUSH1 0x20 00001613: SWAP1 00001614: DIV 00001615: DUP2 00001616: ADD 00001617: SWAP3 00001618: DUP3 00001619: PUSH1 0x1f 0000161b: LT 0000161c: PUSH2 0x1630 0000161f: JUMPI 00001620: DUP1 00001621: MLOAD 00001622: PUSH1 0xff 00001624: NOT 00001625: AND 00001626: DUP4 00001627: DUP1 00001628: ADD 00001629: OR 0000162a: DUP6 0000162b: SSTORE 0000162c: PUSH2 0x165d 0000162f: JUMP 00001630: JUMPDEST 00001631: DUP3 00001632: DUP1 00001633: ADD 00001634: PUSH1 0x01 00001636: ADD 00001637: DUP6 00001638: SSTORE 00001639: DUP3 0000163a: ISZERO 0000163b: PUSH2 0x165d 0000163e: JUMPI 0000163f: SWAP2 00001640: DUP3 00001641: ADD 00001642: JUMPDEST 00001643: DUP3 00001644: DUP2 00001645: GT 00001646: ISZERO 00001647: PUSH2 0x165d 0000164a: JUMPI 0000164b: DUP3 0000164c: MLOAD 0000164d: DUP3 0000164e: SSTORE 0000164f: SWAP2 00001650: PUSH1 0x20 00001652: ADD 00001653: SWAP2 00001654: SWAP1 00001655: PUSH1 0x01 00001657: ADD 00001658: SWAP1 00001659: PUSH2 0x1642 0000165c: JUMP 0000165d: JUMPDEST 0000165e: POP 0000165f: PUSH2 0x0eca 00001662: SWAP3 00001663: PUSH2 0x0bb9 00001666: SWAP3 00001667: POP 00001668: SWAP1 00001669: JUMPDEST 0000166a: DUP1 0000166b: DUP3 0000166c: GT 0000166d: ISZERO 0000166e: PUSH2 0x0eca 00001671: JUMPI 00001672: PUSH1 0x00 00001674: DUP2 00001675: SSTORE 00001676: PUSH1 0x01 00001678: ADD 00001679: PUSH2 0x1669 0000167c: JUMP 0000167d: STOP 0000167e: LOG1 0000167f: PUSH6 0x627a7a723058 00001686: KECCAK256 00001687: UNKNOWN(0xE2) 00001688: UNKNOWN(0xB5) 00001689: PUSH0 0000168a: DELEGATECALL 0000168b: DIFFICULTY 0000168c: UNKNOWN(0xE2) 0000168d: UNKNOWN(0xC6) 0000168e: UNKNOWN(0xD1) 0000168f: ADDMOD 00001690: SWAP1 00001691: UNKNOWN(0x0D) 00001692: UNKNOWN(0x0F) 00001693: UNKNOWN(0xC9) 00001694: UNKNOWN(0xBF) 00001695: ORIGIN 00001696: PUSH30
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | upgradeability | detector | Untrusted DELEGATECALL target reachable | 55 | no | no |
viewtrace_id: 0x3f59cb30a6eb0bfd67146d217de30e5103b50ec2afff57bc266abbe860e49242
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 192,
"trace_id": "0x3f59cb30a6eb0bfd67146d217de30e5103b50ec2afff57bc266abbe860e49242",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x10d0ffdd",
"selector": "0x10d0ffdd",
"calldata_variants": [
"0x10d0ffdd",
"0x10d0ffdd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18160ddd",
"selector": "0x18160ddd",
"calldata_variants": [
"0x18160ddd",
"0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x22609373",
"selector": "0x22609373",
"calldata_variants": [
"0x22609373",
"0x226093730000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x27defa1f",
"selector": "0x27defa1f",
"calldata_variants": [
"0x27defa1f",
"0x27defa1f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x313ce567",
"selector": "0x313ce567",
"calldata_variants": [
"0x313ce567",
"0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x392efb52",
"selector": "0x392efb52",
"calldata_variants": [
"0x392efb52",
"0x392efb520000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3ccfd60b",
"selector": "0x3ccfd60b",
"calldata_variants": [
"0x3ccfd60b",
"0x3ccfd60b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 5770,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [
{
"pc": 5781,
"type": "tx_origin_used"
}
],
"delegatecall_count": 1,
"untrusted_delegatecall_count": 1
}
|
| 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": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x10d0ffdd",
"selector": "0x10d0ffdd",
"calldata_variants": [
"0x10d0ffdd",
"0x10d0ffdd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18160ddd",
"selector": "0x18160ddd",
"calldata_variants": [
"0x18160ddd",
"0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x22609373",
"selector": "0x22609373",
"calldata_variants": [
"0x22609373",
"0x226093730000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x27defa1f",
"selector": "0x27defa1f",
"calldata_variants": [
"0x27defa1f",
"0x27defa1f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x313ce567",
"selector": "0x313ce567",
"calldata_variants": [
"0x313ce567",
"0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x392efb52",
"selector": "0x392efb52",
"calldata_variants": [
"0x392efb52",
"0x392efb520000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3ccfd60b",
"selector": "0x3ccfd60b",
"calldata_variants": [
"0x3ccfd60b",
"0x3ccfd60b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 5781,
"type": "tx_origin_used"
}
]
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 1
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0xf763ed707a5edd39d13244b89422e6042790ce5b85651a5f0f3c1664dea8285e
call_targets:
0x4c29d75cc423e8adaa3839892feb66977e295829
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xf763ed707a5edd39d13244b89422e6042790ce5b85651a5f0f3c1664dea8285e",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x4c29d75cc423e8adaa3839892feb66977e295829"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x10d0ffdd",
"selector": "0x10d0ffdd",
"calldata_variants": [
"0x10d0ffdd",
"0x10d0ffdd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18160ddd",
"selector": "0x18160ddd",
"calldata_variants": [
"0x18160ddd",
"0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x22609373",
"selector": "0x22609373",
"calldata_variants": [
"0x22609373",
"0x226093730000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x27defa1f",
"selector": "0x27defa1f",
"calldata_variants": [
"0x27defa1f",
"0x27defa1f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x313ce567",
"selector": "0x313ce567",
"calldata_variants": [
"0x313ce567",
"0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x392efb52",
"selector": "0x392efb52",
"calldata_variants": [
"0x392efb52",
"0x392efb520000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3ccfd60b",
"selector": "0x3ccfd60b",
"calldata_variants": [
"0x3ccfd60b",
"0x3ccfd60b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3219,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 1,
"guards_detected": [
{
"pc": 5781,
"type": "tx_origin_used"
}
],
"untrusted_call_count": 1
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0xf763ed707a5edd39d13244b89422e6042790ce5b85651a5f0f3c1664dea8285e
call_targets:
0x4c29d75cc423e8adaa3839892feb66977e295829
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xf763ed707a5edd39d13244b89422e6042790ce5b85651a5f0f3c1664dea8285e",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x4c29d75cc423e8adaa3839892feb66977e295829"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x10d0ffdd",
"selector": "0x10d0ffdd",
"calldata_variants": [
"0x10d0ffdd",
"0x10d0ffdd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18160ddd",
"selector": "0x18160ddd",
"calldata_variants": [
"0x18160ddd",
"0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x22609373",
"selector": "0x22609373",
"calldata_variants": [
"0x22609373",
"0x226093730000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x27defa1f",
"selector": "0x27defa1f",
"calldata_variants": [
"0x27defa1f",
"0x27defa1f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x313ce567",
"selector": "0x313ce567",
"calldata_variants": [
"0x313ce567",
"0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x392efb52",
"selector": "0x392efb52",
"calldata_variants": [
"0x392efb52",
"0x392efb520000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3ccfd60b",
"selector": "0x3ccfd60b",
"calldata_variants": [
"0x3ccfd60b",
"0x3ccfd60b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3219,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 1,
"guards_detected": [
{
"pc": 5781,
"type": "tx_origin_used"
}
]
}
|