TW
Tripwire
Find contracts. Test them. Review real vulns.

Analysis Run

019be3d6-81eb-73d7-8def-05c4bf0dd337

complete
Chain ID
1
Address
Block Number
Created
Thu, Jan 22, 2026 3:54 AM
Review Summary

What survived the funnel

Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Untrusted CALL target/value reachable
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
40554 artifact.fetch complete 1 / 3 2 months ago
40555 proxy.resolve complete 1 / 3 2 months ago
40556 tool.cast_disasm complete 1 / 3 2 months ago
40557 analysis.bundle complete 1 / 3 2 months ago
40558 capability.graph complete 1 / 3 2 months ago
40559 detector.run complete 1 / 3 2 months ago
40560 validation.fork complete 1 / 3 2 months ago
41230 report.consolidate complete 1 / 6 2 months ago
41231 tool.slither complete 1 / 2 2 months ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no not_proxy
Implementation:
Verified Source: yes
Proxy evidence
{
    "status": "not_proxy"
}

Slither

tool.slither
Status
complete
Attempts
1 / 2
Findings
2
Solc
0.8.7 (solc-select)
View stderr
'forge clean' running (wd: /tmp/slither-o29aulba)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-o29aulba)

WOREPrivateSale.withdraw() (contracts/Contract.sol#435-456) sends eth to arbitrary user
	Dangerous calls:
	- (art,None) = address(ARTaddress).call{value: ARTamount}() (contracts/Contract.sol#452)
	- (project,None) = address(projectAddress).call{value: (PRICE * paymentStage * 100) - (ARTamount + QDamount)}() (contracts/Contract.sol#454-455)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#functions-that-send-ether-to-arbitrary-destinations

Reentrancy in WOREPrivateSale.withdraw() (contracts/Contract.sol#435-456):
	External calls:
	- (qd,None) = address(QDaddress).call{value: QDamount}() (contracts/Contract.sol#446-450)
	- (art,None) = address(ARTaddress).call{value: ARTamount}() (contracts/Contract.sol#452)
	- (project,None) = address(projectAddress).call{value: (PRICE * paymentStage * 100) - (ARTamount + QDamount)}() (contracts/Contract.sol#454-455)
	State variables written after the call(s):
	- LAST_SUPPLY = paymentStage * 100 (contracts/Contract.sol#456)
	WOREPrivateSale.LAST_SUPPLY (contracts/Contract.sol#316) can be used in cross function reentrancies:
	- WOREPrivateSale.LAST_SUPPLY (contracts/Contract.sol#316)
	- WOREPrivateSale.withdraw() (contracts/Contract.sol#435-456)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities

WOREPrivateSale.constructor(address,address,address,address,address[])._signer (contracts/Contract.sol#336) lacks a zero-check on :
		- SIGNER = _signer (contracts/Contract.sol#340)
WOREPrivateSale.constructor(address,address,address,address,address[])._QDaddress (contracts/Contract.sol#336-337) lacks a zero-check on :
		- QDaddress = _QDaddress (contracts/Contract.sol#340-341)
WOREPrivateSale.constructor(address,address,address,address,address[])._ARTaddress (contracts/Contract.sol#338-339) lacks a zero-check on :
		- ARTaddress = _ARTaddress (contracts/Contract.sol#341-343)
WOREPrivateSale.constructor(address,address,address,address,address[])._projectAddress (contracts/Contract.sol#337) lacks a zero-check on :
		- projectAddress = _projectAddress (contracts/Contract.sol#343-344)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation

ECDSA.tryRecover(bytes32,bytes) (contracts/Contract.sol#136-164) uses assembly
	- INLINE ASM (contracts/Contract.sol#148-152)
	- INLINE ASM (contracts/Contract.sol#159-161)
ECDSA.tryRecover(bytes32,bytes32,bytes32) (contracts/Contract.sol#193-206) uses assembly
	- INLINE ASM (contracts/Contract.sol#197-203)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage

2 different versions of Solidity are used:
	- Version constraint ^0.8.0 is used by:
		-^0.8.0 (contracts/Contract.sol#17-19)
		-^0.8.0 (contracts/Contract.sol#84-87)
	- Version constraint ^0.8.7 is used by:
		-^0.8.7 (contracts/Contract.sol#311)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#different-pragma-directives-are-used

Version constraint ^0.8.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
	- FullInlinerNonExpressionSplitArgumentEvaluationOrder
	- MissingSideEffectsOnSelectorAccess
	- AbiReencodingHeadOverflowWithStaticArrayCleanup
	- DirtyBytesArrayToStorage
	- DataLocationChangeInInternalOverride
	- NestedCalldataArrayAbiReencodingSizeValidation
	- SignedImmutables
	- ABIDecodeTwoDimensionalArrayMemory
	- KeccakCaching.
It is used by:
	- ^0.8.0 (contracts/Contract.sol#17-19)
	- ^0.8.0 (contracts/Contract.sol#84-87)
Version constraint ^0.8.7 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
	- VerbatimInvalidDeduplication
	- FullInlinerNonExpressionSplitArgumentEvaluationOrder
	- MissingSideEffectsOnSelectorAccess
	- AbiReencodingHeadOverflowWithStaticArrayCleanup
	- DirtyBytesArrayToStorage
	- DataLocationChangeInInternalOverride
	- NestedCalldataArrayAbiReencodingSizeValidation
	- SignedImmutables.
It is used by:
	- ^0.8.7 (contracts/Contract.sol#311)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity

Low level call in WOREPrivateSale.withdraw() (contracts/Contract.sol#435-456):
	- (qd,None) = address(QDaddress).call{value: QDamount}() (contracts/Contract.sol#446-450)
	- (art,None) = address(ARTaddress).call{value: ARTamount}() (contracts/Contract.sol#452)
	- (project,None) = address(projectAddress).call{value: (PRICE * paymentStage * 100) - (ARTamount + QDamount)}() (contracts/Contract.sol#454-455)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls

Parameter WOREPrivateSale.buy(uint256,bytes32,bytes)._purchaseAmount (contracts/Contract.sol#411) is not in mixedCase
Parameter WOREPrivateSale.buy(uint256,bytes32,bytes)._hash (contracts/Contract.sol#411-412) is not in mixedCase
Parameter WOREPrivateSale.buy(uint256,bytes32,bytes)._signature (contracts/Contract.sol#412) is not in mixedCase
Variable WOREPrivateSale.PRICE (contracts/Contract.sol#315) is not in mixedCase
Variable WOREPrivateSale.QDpayment (contracts/Contract.sol#315) is not in mixedCase
Variable WOREPrivateSale.ARTpayment (contracts/Contract.sol#315-316) is not in mixedCase
Variable WOREPrivateSale.LAST_SUPPLY (contracts/Contract.sol#316) is not in mixedCase
Variable WOREPrivateSale.MAX_SUPPLY (contracts/Contract.sol#316) is not in mixedCase
Variable WOREPrivateSale.SUPPLY (contracts/Contract.sol#316-320) is not in mixedCase
Variable WOREPrivateSale.MAX_PURCHASE (contracts/Contract.sol#320-323) is not in mixedCase
Variable WOREPrivateSale.PURCHASED (contracts/Contract.sol#323-327) is not in mixedCase
Variable WOREPrivateSale.OWNERS (contracts/Contract.sol#327-329) is not in mixedCase
Variable WOREPrivateSale.SIGNER (contracts/Contract.sol#329) is not in mixedCase
Variable WOREPrivateSale.QDaddress (contracts/Contract.sol#329-331) is not in mixedCase
Variable WOREPrivateSale.ARTaddress (contracts/Contract.sol#331-332) is not in mixedCase
Variable WOREPrivateSale.ADMINS (contracts/Contract.sol#332-334) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions

Loop condition i < ADMINS.length (contracts/Contract.sol#354) should use cached array length instead of referencing `length` member of the storage array.
 Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#cache-array-length

WOREPrivateSale.ARTpayment (contracts/Contract.sol#315-316) should be constant 
WOREPrivateSale.MAX_PURCHASE (contracts/Contract.sol#320-323) should be constant 
WOREPrivateSale.MAX_SUPPLY (contracts/Contract.sol#316) should be constant 
WOREPrivateSale.PRICE (contracts/Contract.sol#315) should be constant 
WOREPrivateSale.QDpayment (contracts/Contract.sol#315) should be constant 
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-constant

WOREPrivateSale.ARTaddress (contracts/Contract.sol#331-332) should be immutable 
WOREPrivateSale.QDaddress (contracts/Contract.sol#329-331) should be immutable 
WOREPrivateSale.SIGNER (contracts/Contract.sol#329) should be immutable 
WOREPrivateSale.projectAddress (contracts/Contract.sol#332) should be immutable 
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-immutable
. analyzed (3 contracts with 100 detectors), 38 result(s) found
Metadata
{
    "solc": {
        "status": "ok",
        "use_rc": 0,
        "version": "0.8.7",
        "strategy": "solc-select",
        "solc_path": "/var/www/tripwire/.venv/bin/solc",
        "install_rc": 0,
        "use_stderr": null,
        "use_stdout": "Switched global version to 0.8.7",
        "install_stderr": null,
        "install_stdout": "Version '0.8.7' is already installed, skipping..."
    },
    "solc_args": "--base-path /tmp/slither-o29aulba --allow-paths /tmp/slither-o29aulba,/tmp/slither-o29aulba/lib,/tmp/slither-o29aulba/src",
    "remappings": [],
    "source_files": [
        "contracts/Contract.sol"
    ],
    "contract_count": 0,
    "contract_names": [],
    "detector_count": 38,
    "workspace_hash": "9c6afe62010ff38a2a98791ae03152ef8b8e57a48f3055b62e3d669919e59b4d",
    "duration_seconds": 0.5471093654632568,
    "solc_version_requested": "0.8.7"
}

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
1
No findings?
no
Summary
Found a withdrawal accounting bug that allows repeated payout of the same tranche, enabling draining of contract funds.
View stdout
{"no_findings":false,"summary":"Found a withdrawal accounting bug that allows repeated payout of the same tranche, enabling draining of contract funds.","findings":[{"severity":"high","category":"math","title":"LAST_SUPPLY is reset instead of incremented, enabling repeated withdrawals of the same tranche","exploit_scenario":"After some sales, an admin calls withdraw(). If SUPPLY=150 and LAST_SUPPLY=0, paymentStage=1 and 100 tokens worth of proceeds are paid out, then LAST_SUPPLY is set to 100. A subsequent withdraw() with SUPPLY still 150 yields paymentStage=0 and resets LAST_SUPPLY to 0; the next call again computes paymentStage=1, paying out the same tranche repeatedly. This allows draining contract ETH to the configured payout addresses without additional sales.","recommendation":"Track cumulative withdrawals by incrementing LAST_SUPPLY (e.g., LAST_SUPPLY += paymentStage * 100) and require paymentStage > 0. Update LAST_SUPPLY before external calls and consider a reentrancy guard to prevent reentry during payouts.","evidence":"`uint paymentStage = uint ((SUPPLY - LAST_SUPPLY)/ 100);` followed by `LAST_SUPPLY = paymentStage * 100;` resets the counter instead of advancing it.","locations":["contracts/WORE.sol:461","contracts/WORE.sol:471"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-z8g42qlj
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019be3de-8653-7260-9f16-04a31930e43d
--------
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
**Preparing to read audit bundle**

I'm planning to read the AUDIT_BUNDLE file with sandbox read-only access using a simple file read.
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-z8g42qlj succeeded in 8ms:
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
================================================================================
// SPDX-License-Identifier: MIT
// File: @openzeppelin/contracts/utils/Strings.sol
//------------------------------------------------------------------------------
/*

░██████╗░██╗░░░██╗░█████╗░██╗░░░░░██╗███████╗██╗███████╗██████╗░  ██████╗░███████╗██╗░░░██╗░██████╗
██╔═══██╗██║░░░██║██╔══██╗██║░░░░░██║██╔════╝██║██╔════╝██╔══██╗  ██╔══██╗██╔════╝██║░░░██║██╔════╝
██║██╗██║██║░░░██║███████║██║░░░░░██║█████╗░░██║█████╗░░██║░░██║  ██║░░██║█████╗░░╚██╗░██╔╝╚█████╗░
╚██████╔╝██║░░░██║██╔══██║██║░░░░░██║██╔══╝░░██║██╔══╝░░██║░░██║  ██║░░██║██╔══╝░░░╚████╔╝░░╚═══██╗
░╚═██╔═╝░╚██████╔╝██║░░██║███████╗██║██║░░░░░██║███████╗██████╔╝  ██████╔╝███████╗░░╚██╔╝░░██████╔╝
░░░╚═╝░░░░╚═════╝░╚═╝░░╚═╝╚══════╝╚═╝╚═╝░░░░░╚═╝╚══════╝╚═════╝░  ╚═════╝░╚══════╝░░░╚═╝░░░╚═════╝░
*/
//------------------------------------------------------------------------------
// Author: orion (@OrionDevStar)


thinking
**Identifying critical withdraw accounting bug**

The withdraw logic wrongly resets LAST_SUPPLY to paymentStage * 100 instead of incrementing it, allowing repeated withdrawals from the same supply range and enabling over-withdrawal, posing a serious vulnerability.
thinking
**Confirming high-severity withdraw logic flaw**

The withdraw function resets LAST_SUPPLY incorrectly on zero or partial payment stages, enabling repeated fund withdrawals to designated addresses by the admin, creating a serious double-withdrawal vulnerability through flawed accounting.
exec
/bin/bash -lc "nl -ba AUDIT_BUNDLE.txt | sed -n '200,360p'" in /tmp/codex-z8g42qlj succeeded in 16ms:
   200	     *
   201	     * See https://eips.ethereum.org/EIPS/eip-2098[EIP-2098 short signatures]
   202	     *
   203	     * _Available since v4.3._
   204	     */
   205	    function tryRecover(
   206	        bytes32 hash,
   207	        bytes32 r,
   208	        bytes32 vs
   209	    ) internal pure returns (address, RecoverError) {
   210	        bytes32 s;
   211	        uint8 v;
   212	        assembly {
   213	            s := and(vs, 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)
   214	            v := add(shr(255, vs), 27)
   215	        }
   216	        return tryRecover(hash, v, r, s);
   217	    }
   218	
   219	    /**

thinking
**Planning withdrawal handling**

I'm preparing to add or verify a code line related to withdrawal functionality before moving forward.
exec
/bin/bash -lc "nl -ba AUDIT_BUNDLE.txt | sed -n '360,520p'" in /tmp/codex-z8g42qlj succeeded in 6ms:
   360	      ADMINS = _ADMINS;
   361	      SUPPLY = 0;
   362	  }
   363	
   364	  //modifier
   365	  /**
   366	  * @dev Cheks if the msg.sender that have ADMIN permition.
   367	  */
   368	  modifier onlyAdmin() {
   369	    _checkAdmin();
   370	    _;
   371	  }
   372	
   373	  //internal
   374	  /**
   375	  * @dev Cheks if the msg.sender that have ADMIN permition.
   376	  */
   377	  function _checkAdmin()internal view {
   378	    bool isAdmin = false;
   379	    for (uint i = 0; i < ADMINS.length; i++){


thinking
**Crafting JSON schema for findings**

I'm defining a concise JSON schema to report a major high-severity accounting bug allowing repeated withdrawals, categorizing it as math, and including an exploit scenario, recommendation, and code evidence with locations.
thinking
**Finalizing exploit scenario and recommendation in JSON**

I'm detailing the exploit scenario involving repeated withdrawals due to resetting LAST_SUPPLY and recommending cumulative updates plus reentrancy guards, citing specific lines in `contracts/WORE.sol` within the audit bundle for evidence.
codex
{"no_findings":false,"summary":"Found a withdrawal accounting bug that allows repeated payout of the same tranche, enabling draining of contract funds.","findings":[{"severity":"high","category":"math","title":"LAST_SUPPLY is reset instead of incremented, enabling repeated withdrawals of the same tranche","exploit_scenario":"After some sales, an admin calls withdraw(). If SUPPLY=150 and LAST_SUPPLY=0, paymentStage=1 and 100 tokens worth of proceeds are paid out, then LAST_SUPPLY is set to 100. A subsequent withdraw() with SUPPLY still 150 yields paymentStage=0 and resets LAST_SUPPLY to 0; the next call again computes paymentStage=1, paying out the same tranche repeatedly. This allows draining contract ETH to the configured payout addresses without additional sales.","recommendation":"Track cumulative withdrawals by incrementing LAST_SUPPLY (e.g., LAST_SUPPLY += paymentStage * 100) and require paymentStage > 0. Update LAST_SUPPLY before external calls and consider a reentrancy guard to prevent reentry during payouts.","evidence":"`uint paymentStage = uint ((SUPPLY - LAST_SUPPLY)/ 100);` followed by `LAST_SUPPLY = paymentStage * 100;` resets the counter instead of advancing it.","locations":["contracts/WORE.sol:461","contracts/WORE.sol:471"]}]}
tokens used
15,791
Metadata
{
    "codex": {
        "ran_at": "2026-01-22T04:03:48.016672+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 1,
        "import_count": 0,
        "first_party_contracts_count": 1
    },
    "summary": "Found a withdrawal accounting bug that allows repeated payout of the same tranche, enabling draining of contract funds.",
    "raw_final": {
        "summary": "Found a withdrawal accounting bug that allows repeated payout of the same tranche, enabling draining of contract funds.",
        "findings": [
            {
                "title": "LAST_SUPPLY is reset instead of incremented, enabling repeated withdrawals of the same tranche",
                "category": "math",
                "evidence": "`uint paymentStage = uint ((SUPPLY - LAST_SUPPLY)/ 100);` followed by `LAST_SUPPLY = paymentStage * 100;` resets the counter instead of advancing it.",
                "severity": "high",
                "locations": [
                    "contracts/WORE.sol:461",
                    "contracts/WORE.sol:471"
                ],
                "recommendation": "Track cumulative withdrawals by incrementing LAST_SUPPLY (e.g., LAST_SUPPLY += paymentStage * 100) and require paymentStage > 0. Update LAST_SUPPLY before external calls and consider a reentrancy guard to prevent reentry during payouts.",
                "exploit_scenario": "After some sales, an admin calls withdraw(). If SUPPLY=150 and LAST_SUPPLY=0, paymentStage=1 and 100 tokens worth of proceeds are paid out, then LAST_SUPPLY is set to 100. A subsequent withdraw() with SUPPLY still 150 yields paymentStage=0 and resets LAST_SUPPLY to 0; the next call again computes paymentStage=1, paying out the same tranche repeatedly. This allows draining contract ETH to the configured payout addresses without additional sales."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
4
EXT*/BALANCE
0
Total opcodes
2278
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x009c
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x81282a36
00000019: GT
0000001a: PUSH2 0x0064
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0x81282a36
00000024: EQ
00000025: PUSH2 0x0111
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0x8d859f3e
0000002f: EQ
00000030: PUSH2 0x013e
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0x97e1b4ee
0000003a: EQ
0000003b: PUSH2 0x0154
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xaffe39c1
00000045: EQ
00000046: PUSH2 0x016a
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xe00cd493
00000050: EQ
00000051: PUSH2 0x018c
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xfa4bd2c7
0000005b: EQ
0000005c: PUSH2 0x019f
0000005f: JUMPI
00000060: PUSH1 0x00
00000062: DUP1
00000063: REVERT
00000064: JUMPDEST
00000065: DUP1
00000066: PUSH4 0x18160ddd
0000006b: EQ
0000006c: PUSH2 0x00a1
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0x32cb6b0c
00000076: EQ
00000077: PUSH2 0x00c5
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0x34f30cd1
00000081: EQ
00000082: PUSH2 0x00db
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0x3ccfd60b
0000008c: EQ
0000008d: PUSH2 0x00f1
00000090: JUMPI
00000091: DUP1
00000092: PUSH4 0x7146bd08
00000097: EQ
00000098: PUSH2 0x00fb
0000009b: JUMPI
0000009c: JUMPDEST
0000009d: PUSH1 0x00
0000009f: DUP1
000000a0: REVERT
000000a1: JUMPDEST
000000a2: CALLVALUE
000000a3: DUP1
000000a4: ISZERO
000000a5: PUSH2 0x00ad
000000a8: JUMPI
000000a9: PUSH1 0x00
000000ab: DUP1
000000ac: REVERT
000000ad: JUMPDEST
000000ae: POP
000000af: PUSH1 0x05
000000b1: SLOAD
000000b2: JUMPDEST
000000b3: PUSH1 0x40
000000b5: MLOAD
000000b6: SWAP1
000000b7: DUP2
000000b8: MSTORE
000000b9: PUSH1 0x20
000000bb: ADD
000000bc: JUMPDEST
000000bd: PUSH1 0x40
000000bf: MLOAD
000000c0: DUP1
000000c1: SWAP2
000000c2: SUB
000000c3: SWAP1
000000c4: RETURN
000000c5: JUMPDEST
000000c6: CALLVALUE
000000c7: DUP1
000000c8: ISZERO
000000c9: PUSH2 0x00d1
000000cc: JUMPI
000000cd: PUSH1 0x00
000000cf: DUP1
000000d0: REVERT
000000d1: JUMPDEST
000000d2: POP
000000d3: PUSH2 0x00b2
000000d6: PUSH1 0x04
000000d8: SLOAD
000000d9: DUP2
000000da: JUMP
000000db: JUMPDEST
000000dc: CALLVALUE
000000dd: DUP1
000000de: ISZERO
000000df: PUSH2 0x00e7
000000e2: JUMPI
000000e3: PUSH1 0x00
000000e5: DUP1
000000e6: REVERT
000000e7: JUMPDEST
000000e8: POP
000000e9: PUSH2 0x00b2
000000ec: PUSH1 0x01
000000ee: SLOAD
000000ef: DUP2
000000f0: JUMP
000000f1: JUMPDEST
000000f2: PUSH2 0x00f9
000000f5: PUSH2 0x01b5
000000f8: JUMP
000000f9: JUMPDEST
000000fa: STOP
000000fb: JUMPDEST
000000fc: CALLVALUE
000000fd: DUP1
000000fe: ISZERO
000000ff: PUSH2 0x0107
00000102: JUMPI
00000103: PUSH1 0x00
00000105: DUP1
00000106: REVERT
00000107: JUMPDEST
00000108: POP
00000109: PUSH2 0x00b2
0000010c: PUSH1 0x06
0000010e: SLOAD
0000010f: DUP2
00000110: JUMP
00000111: JUMPDEST
00000112: CALLVALUE
00000113: DUP1
00000114: ISZERO
00000115: PUSH2 0x011d
00000118: JUMPI
00000119: PUSH1 0x00
0000011b: DUP1
0000011c: REVERT
0000011d: JUMPDEST
0000011e: POP
0000011f: PUSH2 0x00b2
00000122: PUSH2 0x012c
00000125: CALLDATASIZE
00000126: PUSH1 0x04
00000128: PUSH2 0x0b8e
0000012b: JUMP
0000012c: JUMPDEST
0000012d: PUSH1 0x07
0000012f: PUSH1 0x20
00000131: MSTORE
00000132: PUSH1 0x00
00000134: SWAP1
00000135: DUP2
00000136: MSTORE
00000137: PUSH1 0x40
00000139: SWAP1
0000013a: KECCAK256
0000013b: SLOAD
0000013c: DUP2
0000013d: JUMP
0000013e: JUMPDEST
0000013f: CALLVALUE
00000140: DUP1
00000141: ISZERO
00000142: PUSH2 0x014a
00000145: JUMPI
00000146: PUSH1 0x00
00000148: DUP1
00000149: REVERT
0000014a: JUMPDEST
0000014b: POP
0000014c: PUSH2 0x00b2
0000014f: PUSH1 0x00
00000151: SLOAD
00000152: DUP2
00000153: JUMP
00000154: JUMPDEST
00000155: CALLVALUE
00000156: DUP1
00000157: ISZERO
00000158: PUSH2 0x0160
0000015b: JUMPI
0000015c: PUSH1 0x00
0000015e: DUP1
0000015f: REVERT
00000160: JUMPDEST
00000161: POP
00000162: PUSH2 0x00b2
00000165: PUSH1 0x03
00000167: SLOAD
00000168: DUP2
00000169: JUMP
0000016a: JUMPDEST
0000016b: CALLVALUE
0000016c: DUP1
0000016d: ISZERO
0000016e: PUSH2 0x0176
00000171: JUMPI
00000172: PUSH1 0x00
00000174: DUP1
00000175: REVERT
00000176: JUMPDEST
00000177: POP
00000178: PUSH2 0x017f
0000017b: PUSH2 0x03cc
0000017e: JUMP
0000017f: JUMPDEST
00000180: PUSH1 0x40
00000182: MLOAD
00000183: PUSH2 0x00bc
00000186: SWAP2
00000187: SWAP1
00000188: PUSH2 0x0c7b
0000018b: JUMP
0000018c: JUMPDEST
0000018d: PUSH2 0x00f9
00000190: PUSH2 0x019a
00000193: CALLDATASIZE
00000194: PUSH1 0x04
00000196: PUSH2 0x0bb7
00000199: JUMP
0000019a: JUMPDEST
0000019b: PUSH2 0x0432
0000019e: JUMP
0000019f: JUMPDEST
000001a0: CALLVALUE
000001a1: DUP1
000001a2: ISZERO
000001a3: PUSH2 0x01ab
000001a6: JUMPI
000001a7: PUSH1 0x00
000001a9: DUP1
000001aa: REVERT
000001ab: JUMPDEST
000001ac: POP
000001ad: PUSH2 0x00b2
000001b0: PUSH1 0x02
000001b2: SLOAD
000001b3: DUP2
000001b4: JUMP
000001b5: JUMPDEST
000001b6: PUSH2 0x01bd
000001b9: PUSH2 0x069e
000001bc: JUMP
000001bd: JUMPDEST
000001be: PUSH1 0x64
000001c0: PUSH1 0x05
000001c2: SLOAD
000001c3: LT
000001c4: ISZERO
000001c5: PUSH2 0x0224
000001c8: JUMPI
000001c9: PUSH1 0x40
000001cb: MLOAD
000001cc: PUSH3 0x461bcd
000001d0: PUSH1 0xe5
000001d2: SHL
000001d3: DUP2
000001d4: MSTORE
000001d5: PUSH1 0x20
000001d7: PUSH1 0x04
000001d9: DUP3
000001da: ADD
000001db: MSTORE
000001dc: PUSH1 0x26
000001de: PUSH1 0x24
000001e0: DUP3
000001e1: ADD
000001e2: MSTORE
000001e3: PUSH32 0x546865206d696e696d756d20737570706c7920746f2077697468647261772069
00000204: PUSH1 0x44
00000206: DUP3
00000207: ADD
00000208: MSTORE
00000209: PUSH6 0x399018981817
00000210: PUSH1 0xd1
00000212: SHL
00000213: PUSH1 0x64
00000215: DUP3
00000216: ADD
00000217: MSTORE
00000218: PUSH1 0x84
0000021a: ADD
0000021b: JUMPDEST
0000021c: PUSH1 0x40
0000021e: MLOAD
0000021f: DUP1
00000220: SWAP2
00000221: SUB
00000222: SWAP1
00000223: REVERT
00000224: JUMPDEST
00000225: PUSH1 0x00
00000227: PUSH1 0x64
00000229: PUSH1 0x03
0000022b: SLOAD
0000022c: PUSH1 0x05
0000022e: SLOAD
0000022f: PUSH2 0x0238
00000232: SWAP2
00000233: SWAP1
00000234: PUSH2 0x0d76
00000237: JUMP
00000238: JUMPDEST
00000239: PUSH2 0x0242
0000023c: SWAP2
0000023d: SWAP1
0000023e: PUSH2 0x0d35
00000241: JUMP
00000242: JUMPDEST
00000243: SWAP1
00000244: POP
00000245: PUSH1 0x00
00000247: DUP2
00000248: PUSH1 0x01
0000024a: SLOAD
0000024b: PUSH2 0x0254
0000024e: SWAP2
0000024f: SWAP1
00000250: PUSH2 0x0d57
00000253: JUMP
00000254: JUMPDEST
00000255: SWAP1
00000256: POP
00000257: PUSH1 0x00
00000259: DUP3
0000025a: PUSH1 0x02
0000025c: SLOAD
0000025d: PUSH2 0x0266
00000260: SWAP2
00000261: SWAP1
00000262: PUSH2 0x0d57
00000265: JUMP
00000266: JUMPDEST
00000267: PUSH1 0x0a
00000269: SLOAD
0000026a: PUSH1 0x40
0000026c: MLOAD
0000026d: SWAP2
0000026e: SWAP3
0000026f: POP
00000270: PUSH1 0x00
00000272: SWAP2
00000273: PUSH1 0x01
00000275: PUSH1 0x01
00000277: PUSH1 0xa0
00000279: SHL
0000027a: SUB
0000027b: SWAP1
0000027c: SWAP2
0000027d: AND
0000027e: SWAP1
0000027f: DUP5
00000280: SWAP1
00000281: DUP4
00000282: DUP2
00000283: DUP2
00000284: DUP2
00000285: DUP6
00000286: DUP8
00000287: GAS
00000288: CALL
00000289: SWAP3
0000028a: POP
0000028b: POP
0000028c: POP
0000028d: RETURNDATASIZE
0000028e: DUP1
0000028f: PUSH1 0x00
00000291: DUP2
00000292: EQ
00000293: PUSH2 0x02b8
00000296: JUMPI
00000297: PUSH1 0x40
00000299: MLOAD
0000029a: SWAP2
0000029b: POP
0000029c: PUSH1 0x1f
0000029e: NOT
0000029f: PUSH1 0x3f
000002a1: RETURNDATASIZE
000002a2: ADD
000002a3: AND
000002a4: DUP3
000002a5: ADD
000002a6: PUSH1 0x40
000002a8: MSTORE
000002a9: RETURNDATASIZE
000002aa: DUP3
000002ab: MSTORE
000002ac: RETURNDATASIZE
000002ad: PUSH1 0x00
000002af: PUSH1 0x20
000002b1: DUP5
000002b2: ADD
000002b3: RETURNDATACOPY
000002b4: PUSH2 0x02bd
000002b7: JUMP
000002b8: JUMPDEST
000002b9: PUSH1 0x60
000002bb: SWAP2
000002bc: POP
000002bd: JUMPDEST
000002be: POP
000002bf: POP
000002c0: SWAP1
000002c1: POP
000002c2: DUP1
000002c3: PUSH2 0x02cb
000002c6: JUMPI
000002c7: PUSH1 0x00
000002c9: DUP1
000002ca: REVERT
000002cb: JUMPDEST
000002cc: PUSH1 0x0b
000002ce: SLOAD
000002cf: PUSH1 0x40
000002d1: MLOAD
000002d2: PUSH1 0x00
000002d4: SWAP2
000002d5: PUSH1 0x01
000002d7: PUSH1 0x01
000002d9: PUSH1 0xa0
000002db: SHL
000002dc: SUB
000002dd: AND
000002de: SWAP1
000002df: DUP5
000002e0: SWAP1
000002e1: DUP4
000002e2: DUP2
000002e3: DUP2
000002e4: DUP2
000002e5: DUP6
000002e6: DUP8
000002e7: GAS
000002e8: CALL
000002e9: SWAP3
000002ea: POP
000002eb: POP
000002ec: POP
000002ed: RETURNDATASIZE
000002ee: DUP1
000002ef: PUSH1 0x00
000002f1: DUP2
000002f2: EQ
000002f3: PUSH2 0x0318
000002f6: JUMPI
000002f7: PUSH1 0x40
000002f9: MLOAD
000002fa: SWAP2
000002fb: POP
000002fc: PUSH1 0x1f
000002fe: NOT
000002ff: PUSH1 0x3f
00000301: RETURNDATASIZE
00000302: ADD
00000303: AND
00000304: DUP3
00000305: ADD
00000306: PUSH1 0x40
00000308: MSTORE
00000309: RETURNDATASIZE
0000030a: DUP3
0000030b: MSTORE
0000030c: RETURNDATASIZE
0000030d: PUSH1 0x00
0000030f: PUSH1 0x20
00000311: DUP5
00000312: ADD
00000313: RETURNDATACOPY
00000314: PUSH2 0x031d
00000317: JUMP
00000318: JUMPDEST
00000319: PUSH1 0x60
0000031b: SWAP2
0000031c: POP
0000031d: JUMPDEST
0000031e: POP
0000031f: POP
00000320: SWAP1
00000321: POP
00000322: DUP1
00000323: PUSH2 0x032b
00000326: JUMPI
00000327: PUSH1 0x00
00000329: DUP1
0000032a: REVERT
0000032b: JUMPDEST
0000032c: PUSH1 0x0c
0000032e: SLOAD
0000032f: PUSH1 0x00
00000331: SWAP1
00000332: PUSH1 0x01
00000334: PUSH1 0x01
00000336: PUSH1 0xa0
00000338: SHL
00000339: SUB
0000033a: AND
0000033b: PUSH2 0x0344
0000033e: DUP7
0000033f: DUP7
00000340: PUSH2 0x0d1d
00000343: JUMP
00000344: JUMPDEST
00000345: DUP8
00000346: PUSH1 0x00
00000348: SLOAD
00000349: PUSH2 0x0352
0000034c: SWAP2
0000034d: SWAP1
0000034e: PUSH2 0x0d57
00000351: JUMP
00000352: JUMPDEST
00000353: PUSH2 0x035d
00000356: SWAP1
00000357: PUSH1 0x64
00000359: PUSH2 0x0d57
0000035c: JUMP
0000035d: JUMPDEST
0000035e: PUSH2 0x0367
00000361: SWAP2
00000362: SWAP1
00000363: PUSH2 0x0d76
00000366: JUMP
00000367: JUMPDEST
00000368: PUSH1 0x40
0000036a: MLOAD
0000036b: PUSH1 0x00
0000036d: DUP2
0000036e: DUP2
0000036f: DUP2
00000370: DUP6
00000371: DUP8
00000372: GAS
00000373: CALL
00000374: SWAP3
00000375: POP
00000376: POP
00000377: POP
00000378: RETURNDATASIZE
00000379: DUP1
0000037a: PUSH1 0x00
0000037c: DUP2
0000037d: EQ
0000037e: PUSH2 0x03a3
00000381: JUMPI
00000382: PUSH1 0x40
00000384: MLOAD
00000385: SWAP2
00000386: POP
00000387: PUSH1 0x1f
00000389: NOT
0000038a: PUSH1 0x3f
0000038c: RETURNDATASIZE
0000038d: ADD
0000038e: AND
0000038f: DUP3
00000390: ADD
00000391: PUSH1 0x40
00000393: MSTORE
00000394: RETURNDATASIZE
00000395: DUP3
00000396: MSTORE
00000397: RETURNDATASIZE
00000398: PUSH1 0x00
0000039a: PUSH1 0x20
0000039c: DUP5
0000039d: ADD
0000039e: RETURNDATACOPY
0000039f: PUSH2 0x03a8
000003a2: JUMP
000003a3: JUMPDEST
000003a4: PUSH1 0x60
000003a6: SWAP2
000003a7: POP
000003a8: JUMPDEST
000003a9: POP
000003aa: POP
000003ab: SWAP1
000003ac: POP
000003ad: DUP1
000003ae: PUSH2 0x03b6
000003b1: JUMPI
000003b2: PUSH1 0x00
000003b4: DUP1
000003b5: REVERT
000003b6: JUMPDEST
000003b7: PUSH2 0x03c1
000003ba: DUP7
000003bb: PUSH1 0x64
000003bd: PUSH2 0x0d57
000003c0: JUMP
000003c1: JUMPDEST
000003c2: PUSH1 0x03
000003c4: SSTORE
000003c5: POP
000003c6: POP
000003c7: POP
000003c8: POP
000003c9: POP
000003ca: POP
000003cb: JUMP
000003cc: JUMPDEST
000003cd: PUSH1 0x60
000003cf: PUSH1 0x00
000003d1: PUSH1 0x08
000003d3: DUP1
000003d4: SLOAD
000003d5: DUP1
000003d6: PUSH1 0x20
000003d8: MUL
000003d9: PUSH1 0x20
000003db: ADD
000003dc: PUSH1 0x40
000003de: MLOAD
000003df: SWAP1
000003e0: DUP2
000003e1: ADD
000003e2: PUSH1 0x40
000003e4: MSTORE
000003e5: DUP1
000003e6: SWAP3
000003e7: SWAP2
000003e8: SWAP1
000003e9: DUP2
000003ea: DUP2
000003eb: MSTORE
000003ec: PUSH1 0x20
000003ee: ADD
000003ef: DUP3
000003f0: DUP1
000003f1: SLOAD
000003f2: DUP1
000003f3: ISZERO
000003f4: PUSH2 0x0426
000003f7: JUMPI
000003f8: PUSH1 0x20
000003fa: MUL
000003fb: DUP3
000003fc: ADD
000003fd: SWAP2
000003fe: SWAP1
000003ff: PUSH1 0x00
00000401: MSTORE
00000402: PUSH1 0x20
00000404: PUSH1 0x00
00000406: KECCAK256
00000407: SWAP1
00000408: JUMPDEST
00000409: DUP2
0000040a: SLOAD
0000040b: PUSH1 0x01
0000040d: PUSH1 0x01
0000040f: PUSH1 0xa0
00000411: SHL
00000412: SUB
00000413: AND
00000414: DUP2
00000415: MSTORE
00000416: PUSH1 0x01
00000418: SWAP1
00000419: SWAP2
0000041a: ADD
0000041b: SWAP1
0000041c: PUSH1 0x20
0000041e: ADD
0000041f: DUP1
00000420: DUP4
00000421: GT
00000422: PUSH2 0x0408
00000425: JUMPI
00000426: JUMPDEST
00000427: POP
00000428: SWAP4
00000429: SWAP7
0000042a: SWAP6
0000042b: POP
0000042c: POP
0000042d: POP
0000042e: POP
0000042f: POP
00000430: POP
00000431: JUMP
00000432: JUMPDEST
00000433: PUSH1 0x00
00000435: DUP4
00000436: GT
00000437: PUSH2 0x0482
0000043a: JUMPI
0000043b: PUSH1 0x40
0000043d: MLOAD
0000043e: PUSH3 0x461bcd
00000442: PUSH1 0xe5
00000444: SHL
00000445: DUP2
00000446: MSTORE
00000447: PUSH1 0x20
00000449: PUSH1 0x04
0000044b: DUP3
0000044c: ADD
0000044d: MSTORE
0000044e: PUSH1 0x1a
00000450: PUSH1 0x24
00000452: DUP3
00000453: ADD
00000454: MSTORE
00000455: PUSH32 0x596f752053686f756c6420427579206174206c6561737420312e000000000000
00000476: PUSH1 0x44
00000478: DUP3
00000479: ADD
0000047a: MSTORE
0000047b: PUSH1 0x64
0000047d: ADD
0000047e: PUSH2 0x021b
00000481: JUMP
00000482: JUMPDEST
00000483: PUSH1 0x06
00000485: SLOAD
00000486: CALLER
00000487: PUSH1 0x00
00000489: SWAP1
0000048a: DUP2
0000048b: MSTORE
0000048c: PUSH1 0x07
0000048e: PUSH1 0x20
00000490: MSTORE
00000491: PUSH1 0x40
00000493: SWAP1
00000494: KECCAK256
00000495: SLOAD
00000496: PUSH2 0x049f
00000499: SWAP1
0000049a: DUP6
0000049b: PUSH2 0x0d1d
0000049e: JUMP
0000049f: JUMPDEST
000004a0: GT
000004a1: ISZERO
000004a2: PUSH2 0x04f7
000004a5: JUMPI
000004a6: PUSH1 0x40
000004a8: MLOAD
000004a9: PUSH3 0x461bcd
000004ad: PUSH1 0xe5
000004af: SHL
000004b0: DUP2
000004b1: MSTORE
000004b2: PUSH1 0x20
000004b4: PUSH1 0x04
000004b6: DUP3
000004b7: ADD
000004b8: MSTORE
000004b9: PUSH1 0x21
000004bb: PUSH1 0x24
000004bd: DUP3
000004be: ADD
000004bf: MSTORE
000004c0: PUSH32 0x4d6178696d756d20616d6f756e742065786365646564207065722077616c6c65
000004e1: PUSH1 0x44
000004e3: DUP3
000004e4: ADD
000004e5: MSTORE
000004e6: PUSH1 0x1d
000004e8: PUSH1 0xfa
000004ea: SHL
000004eb: PUSH1 0x64
000004ed: DUP3
000004ee: ADD
000004ef: MSTORE
000004f0: PUSH1 0x84
000004f2: ADD
000004f3: PUSH2 0x021b
000004f6: JUMP
000004f7: JUMPDEST
000004f8: PUSH1 0x04
000004fa: SLOAD
000004fb: DUP4
000004fc: PUSH1 0x05
000004fe: SLOAD
000004ff: PUSH2 0x0508
00000502: SWAP2
00000503: SWAP1
00000504: PUSH2 0x0d1d
00000507: JUMP
00000508: JUMPDEST
00000509: GT
0000050a: ISZERO
0000050b: PUSH2 0x0545
0000050e: JUMPI
0000050f: PUSH1 0x40
00000511: MLOAD
00000512: PUSH3 0x461bcd
00000516: PUSH1 0xe5
00000518: SHL
00000519: DUP2
0000051a: MSTORE
0000051b: PUSH1 0x20
0000051d: PUSH1 0x04
0000051f: DUP3
00000520: ADD
00000521: MSTORE
00000522: PUSH1 0x0c
00000524: PUSH1 0x24
00000526: DUP3
00000527: ADD
00000528: MSTORE
00000529: PUSH12 0x1a18181036b0bc34b6bab697
00000536: PUSH1 0xa1
00000538: SHL
00000539: PUSH1 0x44
0000053b: DUP3
0000053c: ADD
0000053d: MSTORE
0000053e: PUSH1 0x64
00000540: ADD
00000541: PUSH2 0x021b
00000544: JUMP
00000545: JUMPDEST
00000546: DUP3
00000547: PUSH1 0x00
00000549: SLOAD
0000054a: PUSH2 0x0553
0000054d: SWAP2
0000054e: SWAP1
0000054f: PUSH2 0x0d57
00000552: JUMP
00000553: JUMPDEST
00000554: CALLVALUE
00000555: LT
00000556: ISZERO
00000557: PUSH2 0x0598
0000055a: JUMPI
0000055b: PUSH1 0x40
0000055d: MLOAD
0000055e: PUSH3 0x461bcd
00000562: PUSH1 0xe5
00000564: SHL
00000565: DUP2
00000566: MSTORE
00000567: PUSH1 0x20
00000569: PUSH1 0x04
0000056b: DUP3
0000056c: ADD
0000056d: MSTORE
0000056e: PUSH1 0x13
00000570: PUSH1 0x24
00000572: DUP3
00000573: ADD
00000574: MSTORE
00000575: PUSH19 0x24b739bab33334b1b4b2b73a103b30b63ab297
00000589: PUSH1 0x69
0000058b: SHL
0000058c: PUSH1 0x44
0000058e: DUP3
0000058f: ADD
00000590: MSTORE
00000591: PUSH1 0x64
00000593: ADD
00000594: PUSH2 0x021b
00000597: JUMP
00000598: JUMPDEST
00000599: PUSH1 0x09
0000059b: SLOAD
0000059c: PUSH2 0x05b1
0000059f: SWAP1
000005a0: DUP4
000005a1: SWAP1
000005a2: DUP4
000005a3: SWAP1
000005a4: PUSH1 0x01
000005a6: PUSH1 0x01
000005a8: PUSH1 0xa0
000005aa: SHL
000005ab: SUB
000005ac: AND
000005ad: PUSH2 0x0754
000005b0: JUMP
000005b1: JUMPDEST
000005b2: PUSH2 0x05fd
000005b5: JUMPI
000005b6: PUSH1 0x40
000005b8: MLOAD
000005b9: PUSH3 0x461bcd
000005bd: PUSH1 0xe5
000005bf: SHL
000005c0: DUP2
000005c1: MSTORE
000005c2: PUSH1 0x20
000005c4: PUSH1 0x04
000005c6: DUP3
000005c7: ADD
000005c8: MSTORE
000005c9: PUSH1 0x1e
000005cb: PUSH1 0x24
000005cd: DUP3
000005ce: ADD
000005cf: MSTORE
000005d0: PUSH32 0x41646472657373206973206e6f74206f6e2050726573616c65204c6973740000
000005f1: PUSH1 0x44
000005f3: DUP3
000005f4: ADD
000005f5: MSTORE
000005f6: PUSH1 0x64
000005f8: ADD
000005f9: PUSH2 0x021b
000005fc: JUMP
000005fd: JUMPDEST
000005fe: CALLER
000005ff: PUSH1 0x00
00000601: SWAP1
00000602: DUP2
00000603: MSTORE
00000604: PUSH1 0x07
00000606: PUSH1 0x20
00000608: MSTORE
00000609: PUSH1 0x40
0000060b: DUP2
0000060c: KECCAK256
0000060d: DUP1
0000060e: SLOAD
0000060f: DUP6
00000610: SWAP3
00000611: SWAP1
00000612: PUSH2 0x061c
00000615: SWAP1
00000616: DUP5
00000617: SWAP1
00000618: PUSH2 0x0d1d
0000061b: JUMP
0000061c: JUMPDEST
0000061d: SWAP1
0000061e: SWAP2
0000061f: SSTORE
00000620: POP
00000621: PUSH1 0x00
00000623: SWAP1
00000624: POP
00000625: JUMPDEST
00000626: DUP4
00000627: DUP2
00000628: LT
00000629: ISZERO
0000062a: PUSH2 0x0681
0000062d: JUMPI
0000062e: PUSH1 0x08
00000630: DUP1
00000631: SLOAD
00000632: PUSH1 0x01
00000634: DUP2
00000635: ADD
00000636: DUP3
00000637: SSTORE
00000638: PUSH1 0x00
0000063a: SWAP2
0000063b: SWAP1
0000063c: SWAP2
0000063d: MSTORE
0000063e: PUSH32 0xf3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3
0000065f: ADD
00000660: DUP1
00000661: SLOAD
00000662: PUSH1 0x01
00000664: PUSH1 0x01
00000666: PUSH1 0xa0
00000668: SHL
00000669: SUB
0000066a: NOT
0000066b: AND
0000066c: CALLER
0000066d: OR
0000066e: SWAP1
0000066f: SSTORE
00000670: DUP1
00000671: PUSH2 0x0679
00000674: DUP2
00000675: PUSH2 0x0d8d
00000678: JUMP
00000679: JUMPDEST
0000067a: SWAP2
0000067b: POP
0000067c: POP
0000067d: PUSH2 0x0625
00000680: JUMP
00000681: JUMPDEST
00000682: POP
00000683: DUP3
00000684: PUSH1 0x05
00000686: PUSH1 0x00
00000688: DUP3
00000689: DUP3
0000068a: SLOAD
0000068b: PUSH2 0x0694
0000068e: SWAP2
0000068f: SWAP1
00000690: PUSH2 0x0d1d
00000693: JUMP
00000694: JUMPDEST
00000695: SWAP1
00000696: SWAP2
00000697: SSTORE
00000698: POP
00000699: POP
0000069a: POP
0000069b: POP
0000069c: POP
0000069d: JUMP
0000069e: JUMPDEST
0000069f: PUSH1 0x00
000006a1: DUP1
000006a2: JUMPDEST
000006a3: PUSH1 0x0d
000006a5: SLOAD
000006a6: DUP2
000006a7: LT
000006a8: ISZERO
000006a9: PUSH2 0x0702
000006ac: JUMPI
000006ad: DUP2
000006ae: PUSH2 0x06eb
000006b1: JUMPI
000006b2: CALLER
000006b3: PUSH1 0x01
000006b5: PUSH1 0x01
000006b7: PUSH1 0xa0
000006b9: SHL
000006ba: SUB
000006bb: AND
000006bc: PUSH1 0x0d
000006be: DUP3
000006bf: DUP2
000006c0: SLOAD
000006c1: DUP2
000006c2: LT
000006c3: PUSH2 0x06ce
000006c6: JUMPI
000006c7: PUSH2 0x06ce
000006ca: PUSH2 0x0dd4
000006cd: JUMP
000006ce: JUMPDEST
000006cf: PUSH1 0x00
000006d1: SWAP2
000006d2: DUP3
000006d3: MSTORE
000006d4: PUSH1 0x20
000006d6: SWAP1
000006d7: SWAP2
000006d8: KECCAK256
000006d9: ADD
000006da: SLOAD
000006db: PUSH1 0x01
000006dd: PUSH1 0x01
000006df: PUSH1 0xa0
000006e1: SHL
000006e2: SUB
000006e3: AND
000006e4: EQ
000006e5: SWAP2
000006e6: POP
000006e7: PUSH2 0x06f0
000006ea: JUMP
000006eb: JUMPDEST
000006ec: PUSH2 0x0702
000006ef: JUMP
000006f0: JUMPDEST
000006f1: DUP1
000006f2: PUSH2 0x06fa
000006f5: DUP2
000006f6: PUSH2 0x0d8d
000006f9: JUMP
000006fa: JUMPDEST
000006fb: SWAP2
000006fc: POP
000006fd: POP
000006fe: PUSH2 0x06a2
00000701: JUMP
00000702: JUMPDEST
00000703: POP
00000704: DUP1
00000705: PUSH2 0x0751
00000708: JUMPI
00000709: PUSH1 0x40
0000070b: MLOAD
0000070c: PUSH20 0x20b2323932b9b99034b9903737ba1030b236b4b7
00000721: PUSH1 0x61
00000723: SHL
00000724: PUSH1 0x20
00000726: DUP3
00000727: ADD
00000728: MSTORE
00000729: PUSH1 0x34
0000072b: ADD
0000072c: PUSH1 0x40
0000072e: DUP1
0000072f: MLOAD
00000730: PUSH1 0x1f
00000732: NOT
00000733: DUP2
00000734: DUP5
00000735: SUB
00000736: ADD
00000737: DUP2
00000738: MSTORE
00000739: SWAP1
0000073a: DUP3
0000073b: SWAP1
0000073c: MSTORE
0000073d: PUSH3 0x461bcd
00000741: PUSH1 0xe5
00000743: SHL
00000744: DUP3
00000745: MSTORE
00000746: PUSH2 0x021b
00000749: SWAP2
0000074a: PUSH1 0x04
0000074c: ADD
0000074d: PUSH2 0x0cc8
00000750: JUMP
00000751: JUMPDEST
00000752: POP
00000753: JUMP
00000754: JUMPDEST
00000755: PUSH1 0x00
00000757: DUP1
00000758: PUSH2 0x07e7
0000075b: PUSH1 0x40
0000075d: DUP1
0000075e: MLOAD
0000075f: ADDRESS
00000760: PUSH1 0x60
00000762: SWAP1
00000763: DUP2
00000764: SHL
00000765: PUSH12 0xffffffffffffffffffffffff
00000772: NOT
00000773: SWAP1
00000774: DUP2
00000775: AND
00000776: PUSH1 0x20
00000778: DUP1
00000779: DUP6
0000077a: ADD
0000077b: SWAP2
0000077c: SWAP1
0000077d: SWAP2
0000077e: MSTORE
0000077f: CALLER
00000780: SWAP1
00000781: SWAP3
00000782: SHL
00000783: AND
00000784: PUSH1 0x34
00000786: DUP4
00000787: ADD
00000788: MSTORE
00000789: DUP3
0000078a: MLOAD
0000078b: PUSH1 0x28
0000078d: DUP2
0000078e: DUP5
0000078f: SUB
00000790: ADD
00000791: DUP2
00000792: MSTORE
00000793: PUSH1 0x48
00000795: DUP4
00000796: ADD
00000797: DUP5
00000798: MSTORE
00000799: DUP1
0000079a: MLOAD
0000079b: SWAP1
0000079c: DUP3
0000079d: ADD
0000079e: KECCAK256
0000079f: PUSH32 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000
000007c0: PUSH1 0x68
000007c2: DUP5
000007c3: ADD
000007c4: MSTORE
000007c5: PUSH1 0x84
000007c7: DUP1
000007c8: DUP5
000007c9: ADD
000007ca: SWAP2
000007cb: SWAP1
000007cc: SWAP2
000007cd: MSTORE
000007ce: DUP4
000007cf: MLOAD
000007d0: DUP1
000007d1: DUP5
000007d2: SUB
000007d3: SWAP1
000007d4: SWAP2
000007d5: ADD
000007d6: DUP2
000007d7: MSTORE
000007d8: PUSH1 0xa4
000007da: SWAP1
000007db: SWAP3
000007dc: ADD
000007dd: SWAP1
000007de: SWAP3
000007df: MSTORE
000007e0: DUP1
000007e1: MLOAD
000007e2: SWAP2
000007e3: ADD
000007e4: KECCAK256
000007e5: SWAP1
000007e6: JUMP
000007e7: JUMPDEST
000007e8: SWAP1
000007e9: POP
000007ea: DUP5
000007eb: DUP2
000007ec: EQ
000007ed: PUSH2 0x07fa
000007f0: JUMPI
000007f1: PUSH1 0x00
000007f3: SWAP2
000007f4: POP
000007f5: POP
000007f6: PUSH2 0x081c
000007f9: JUMP
000007fa: JUMPDEST
000007fb: PUSH1 0x01
000007fd: PUSH1 0x01
000007ff: PUSH1 0xa0
00000801: SHL
00000802: SUB
00000803: DUP4
00000804: AND
00000805: PUSH2 0x080e
00000808: DUP7
00000809: DUP7
0000080a: PUSH2 0x0823
0000080d: JUMP
0000080e: JUMPDEST
0000080f: PUSH1 0x01
00000811: PUSH1 0x01
00000813: PUSH1 0xa0
00000815: SHL
00000816: SUB
00000817: AND
00000818: EQ
00000819: SWAP2
0000081a: POP
0000081b: POP
0000081c: JUMPDEST
0000081d: SWAP4
0000081e: SWAP3
0000081f: POP
00000820: POP
00000821: POP
00000822: JUMP
00000823: JUMPDEST
00000824: PUSH1 0x00
00000826: DUP1
00000827: PUSH1 0x00
00000829: PUSH2 0x0832
0000082c: DUP6
0000082d: DUP6
0000082e: PUSH2 0x0847
00000831: JUMP
00000832: JUMPDEST
00000833: SWAP2
00000834: POP
00000835: SWAP2
00000836: POP
00000837: PUSH2 0x083f
0000083a: DUP2
0000083b: PUSH2 0x08b7
0000083e: JUMP
0000083f: JUMPDEST
00000840: POP
00000841: SWAP4
00000842: SWAP3
00000843: POP
00000844: POP
00000845: POP
00000846: JUMP
00000847: JUMPDEST
00000848: PUSH1 0x00
0000084a: DUP1
0000084b: DUP3
0000084c: MLOAD
0000084d: PUSH1 0x41
0000084f: EQ
00000850: ISZERO
00000851: PUSH2 0x087e
00000854: JUMPI
00000855: PUSH1 0x20
00000857: DUP4
00000858: ADD
00000859: MLOAD
0000085a: PUSH1 0x40
0000085c: DUP5
0000085d: ADD
0000085e: MLOAD
0000085f: PUSH1 0x60
00000861: DUP6
00000862: ADD
00000863: MLOAD
00000864: PUSH1 0x00
00000866: BYTE
00000867: PUSH2 0x0872
0000086a: DUP8
0000086b: DUP3
0000086c: DUP6
0000086d: DUP6
0000086e: PUSH2 0x0a72
00000871: JUMP
00000872: JUMPDEST
00000873: SWAP5
00000874: POP
00000875: SWAP5
00000876: POP
00000877: POP
00000878: POP
00000879: POP
0000087a: PUSH2 0x08b0
0000087d: JUMP
0000087e: JUMPDEST
0000087f: DUP3
00000880: MLOAD
00000881: PUSH1 0x40
00000883: EQ
00000884: ISZERO
00000885: PUSH2 0x08a8
00000888: JUMPI
00000889: PUSH1 0x20
0000088b: DUP4
0000088c: ADD
0000088d: MLOAD
0000088e: PUSH1 0x40
00000890: DUP5
00000891: ADD
00000892: MLOAD
00000893: PUSH2 0x089d
00000896: DUP7
00000897: DUP4
00000898: DUP4
00000899: PUSH2 0x0b5f
0000089c: JUMP
0000089d: JUMPDEST
0000089e: SWAP4
0000089f: POP
000008a0: SWAP4
000008a1: POP
000008a2: POP
000008a3: POP
000008a4: PUSH2 0x08b0
000008a7: JUMP
000008a8: JUMPDEST
000008a9: POP
000008aa: PUSH1 0x00
000008ac: SWAP1
000008ad: POP
000008ae: PUSH1 0x02
000008b0: JUMPDEST
000008b1: SWAP3
000008b2: POP
000008b3: SWAP3
000008b4: SWAP1
000008b5: POP
000008b6: JUMP
000008b7: JUMPDEST
000008b8: PUSH1 0x00
000008ba: DUP2
000008bb: PUSH1 0x04
000008bd: DUP2
000008be: GT
000008bf: ISZERO
000008c0: PUSH2 0x08cb
000008c3: JUMPI
000008c4: PUSH2 0x08cb
000008c7: PUSH2 0x0dbe
000008ca: JUMP
000008cb: JUMPDEST
000008cc: EQ
000008cd: ISZERO
000008ce: PUSH2 0x08d4
000008d1: JUMPI
000008d2: POP
000008d3: JUMP
000008d4: JUMPDEST
000008d5: PUSH1 0x01
000008d7: DUP2
000008d8: PUSH1 0x04
000008da: DUP2
000008db: GT
000008dc: ISZERO
000008dd: PUSH2 0x08e8
000008e0: JUMPI
000008e1: PUSH2 0x08e8
000008e4: PUSH2 0x0dbe
000008e7: JUMP
000008e8: JUMPDEST
000008e9: EQ
000008ea: ISZERO
000008eb: PUSH2 0x0936
000008ee: JUMPI
000008ef: PUSH1 0x40
000008f1: MLOAD
000008f2: PUSH3 0x461bcd
000008f6: PUSH1 0xe5
000008f8: SHL
000008f9: DUP2
000008fa: MSTORE
000008fb: PUSH1 0x20
000008fd: PUSH1 0x04
000008ff: DUP3
00000900: ADD
00000901: MSTORE
00000902: PUSH1 0x18
00000904: PUSH1 0x24
00000906: DUP3
00000907: ADD
00000908: MSTORE
00000909: PUSH32 0x45434453413a20696e76616c6964207369676e61747572650000000000000000
0000092a: PUSH1 0x44
0000092c: DUP3
0000092d: ADD
0000092e: MSTORE
0000092f: PUSH1 0x64
00000931: ADD
00000932: PUSH2 0x021b
00000935: JUMP
00000936: JUMPDEST
00000937: PUSH1 0x02
00000939: DUP2
0000093a: PUSH1 0x04
0000093c: DUP2
0000093d: GT
0000093e: ISZERO
0000093f: PUSH2 0x094a
00000942: JUMPI
00000943: PUSH2 0x094a
00000946: PUSH2 0x0dbe
00000949: JUMP
0000094a: JUMPDEST
0000094b: EQ
0000094c: ISZERO
0000094d: PUSH2 0x0998
00000950: JUMPI
00000951: PUSH1 0x40
00000953: MLOAD
00000954: PUSH3 0x461bcd
00000958: PUSH1 0xe5
0000095a: SHL
0000095b: DUP2
0000095c: MSTORE
0000095d: PUSH1 0x20
0000095f: PUSH1 0x04
00000961: DUP3
00000962: ADD
00000963: MSTORE
00000964: PUSH1 0x1f
00000966: PUSH1 0x24
00000968: DUP3
00000969: ADD
0000096a: MSTORE
0000096b: PUSH32 0x45434453413a20696e76616c6964207369676e6174757265206c656e67746800
0000098c: PUSH1 0x44
0000098e: DUP3
0000098f: ADD
00000990: MSTORE
00000991: PUSH1 0x64
00000993: ADD
00000994: PUSH2 0x021b
00000997: JUMP
00000998: JUMPDEST
00000999: PUSH1 0x03
0000099b: DUP2
0000099c: PUSH1 0x04
0000099e: DUP2
0000099f: GT
000009a0: ISZERO
000009a1: PUSH2 0x09ac
000009a4: JUMPI
000009a5: PUSH2 0x09ac
000009a8: PUSH2 0x0dbe
000009ab: JUMP
000009ac: JUMPDEST
000009ad: EQ
000009ae: ISZERO
000009af: PUSH2 0x0a05
000009b2: JUMPI
000009b3: PUSH1 0x40
000009b5: MLOAD
000009b6: PUSH3 0x461bcd
000009ba: PUSH1 0xe5
000009bc: SHL
000009bd: DUP2
000009be: MSTORE
000009bf: PUSH1 0x20
000009c1: PUSH1 0x04
000009c3: DUP3
000009c4: ADD
000009c5: MSTORE
000009c6: PUSH1 0x22
000009c8: PUSH1 0x24
000009ca: DUP3
000009cb: ADD
000009cc: MSTORE
000009cd: PUSH32 0x45434453413a20696e76616c6964207369676e6174757265202773272076616c
000009ee: PUSH1 0x44
000009f0: DUP3
000009f1: ADD
000009f2: MSTORE
000009f3: PUSH2 0x7565
000009f6: PUSH1 0xf0
000009f8: SHL
000009f9: PUSH1 0x64
000009fb: DUP3
000009fc: ADD
000009fd: MSTORE
000009fe: PUSH1 0x84
00000a00: ADD
00000a01: PUSH2 0x021b
00000a04: JUMP
00000a05: JUMPDEST
00000a06: PUSH1 0x04
00000a08: DUP2
00000a09: PUSH1 0x04
00000a0b: DUP2
00000a0c: GT
00000a0d: ISZERO
00000a0e: PUSH2 0x0a19
00000a11: JUMPI
00000a12: PUSH2 0x0a19
00000a15: PUSH2 0x0dbe
00000a18: JUMP
00000a19: JUMPDEST
00000a1a: EQ
00000a1b: ISZERO
00000a1c: PUSH2 0x0751
00000a1f: JUMPI
00000a20: PUSH1 0x40
00000a22: MLOAD
00000a23: PUSH3 0x461bcd
00000a27: PUSH1 0xe5
00000a29: SHL
00000a2a: DUP2
00000a2b: MSTORE
00000a2c: PUSH1 0x20
00000a2e: PUSH1 0x04
00000a30: DUP3
00000a31: ADD
00000a32: MSTORE
00000a33: PUSH1 0x22
00000a35: PUSH1 0x24
00000a37: DUP3
00000a38: ADD
00000a39: MSTORE
00000a3a: PUSH32 0x45434453413a20696e76616c6964207369676e6174757265202776272076616c
00000a5b: PUSH1 0x44
00000a5d: DUP3
00000a5e: ADD
00000a5f: MSTORE
00000a60: PUSH2 0x7565
00000a63: PUSH1 0xf0
00000a65: SHL
00000a66: PUSH1 0x64
00000a68: DUP3
00000a69: ADD
00000a6a: MSTORE
00000a6b: PUSH1 0x84
00000a6d: ADD
00000a6e: PUSH2 0x021b
00000a71: JUMP
00000a72: JUMPDEST
00000a73: PUSH1 0x00
00000a75: DUP1
00000a76: PUSH32 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0
00000a97: DUP4
00000a98: GT
00000a99: ISZERO
00000a9a: PUSH2 0x0aa9
00000a9d: JUMPI
00000a9e: POP
00000a9f: PUSH1 0x00
00000aa1: SWAP1
00000aa2: POP
00000aa3: PUSH1 0x03
00000aa5: PUSH2 0x0b56
00000aa8: JUMP
00000aa9: JUMPDEST
00000aaa: DUP5
00000aab: PUSH1 0xff
00000aad: AND
00000aae: PUSH1 0x1b
00000ab0: EQ
00000ab1: ISZERO
00000ab2: DUP1
00000ab3: ISZERO
00000ab4: PUSH2 0x0ac1
00000ab7: JUMPI
00000ab8: POP
00000ab9: DUP5
00000aba: PUSH1 0xff
00000abc: AND
00000abd: PUSH1 0x1c
00000abf: EQ
00000ac0: ISZERO
00000ac1: JUMPDEST
00000ac2: ISZERO
00000ac3: PUSH2 0x0ad2
00000ac6: JUMPI
00000ac7: POP
00000ac8: PUSH1 0x00
00000aca: SWAP1
00000acb: POP
00000acc: PUSH1 0x04
00000ace: PUSH2 0x0b56
00000ad1: JUMP
00000ad2: JUMPDEST
00000ad3: PUSH1 0x40
00000ad5: DUP1
00000ad6: MLOAD
00000ad7: PUSH1 0x00
00000ad9: DUP1
00000ada: DUP3
00000adb: MSTORE
00000adc: PUSH1 0x20
00000ade: DUP3
00000adf: ADD
00000ae0: DUP1
00000ae1: DUP5
00000ae2: MSTORE
00000ae3: DUP10
00000ae4: SWAP1
00000ae5: MSTORE
00000ae6: PUSH1 0xff
00000ae8: DUP9
00000ae9: AND
00000aea: SWAP3
00000aeb: DUP3
00000aec: ADD
00000aed: SWAP3
00000aee: SWAP1
00000aef: SWAP3
00000af0: MSTORE
00000af1: PUSH1 0x60
00000af3: DUP2
00000af4: ADD
00000af5: DUP7
00000af6: SWAP1
00000af7: MSTORE
00000af8: PUSH1 0x80
00000afa: DUP2
00000afb: ADD
00000afc: DUP6
00000afd: SWAP1
00000afe: MSTORE
00000aff: PUSH1 0x01
00000b01: SWAP1
00000b02: PUSH1 0xa0
00000b04: ADD
00000b05: PUSH1 0x20
00000b07: PUSH1 0x40
00000b09: MLOAD
00000b0a: PUSH1 0x20
00000b0c: DUP2
00000b0d: SUB
00000b0e: SWAP1
00000b0f: DUP1
00000b10: DUP5
00000b11: SUB
00000b12: SWAP1
00000b13: DUP6
00000b14: GAS
00000b15: STATICCALL
00000b16: ISZERO
00000b17: DUP1
00000b18: ISZERO
00000b19: PUSH2 0x0b26
00000b1c: JUMPI
00000b1d: RETURNDATASIZE
00000b1e: PUSH1 0x00
00000b20: DUP1
00000b21: RETURNDATACOPY
00000b22: RETURNDATASIZE
00000b23: PUSH1 0x00
00000b25: REVERT
00000b26: JUMPDEST
00000b27: POP
00000b28: POP
00000b29: PUSH1 0x40
00000b2b: MLOAD
00000b2c: PUSH1 0x1f
00000b2e: NOT
00000b2f: ADD
00000b30: MLOAD
00000b31: SWAP2
00000b32: POP
00000b33: POP
00000b34: PUSH1 0x01
00000b36: PUSH1 0x01
00000b38: PUSH1 0xa0
00000b3a: SHL
00000b3b: SUB
00000b3c: DUP2
00000b3d: AND
00000b3e: PUSH2 0x0b4f
00000b41: JUMPI
00000b42: PUSH1 0x00
00000b44: PUSH1 0x01
00000b46: SWAP3
00000b47: POP
00000b48: SWAP3
00000b49: POP
00000b4a: POP
00000b4b: PUSH2 0x0b56
00000b4e: JUMP
00000b4f: JUMPDEST
00000b50: SWAP2
00000b51: POP
00000b52: PUSH1 0x00
00000b54: SWAP1
00000b55: POP
00000b56: JUMPDEST
00000b57: SWAP5
00000b58: POP
00000b59: SWAP5
00000b5a: SWAP3
00000b5b: POP
00000b5c: POP
00000b5d: POP
00000b5e: JUMP
00000b5f: JUMPDEST
00000b60: PUSH1 0x00
00000b62: DUP1
00000b63: PUSH1 0x01
00000b65: PUSH1 0x01
00000b67: PUSH1 0xff
00000b69: SHL
00000b6a: SUB
00000b6b: DUP4
00000b6c: AND
00000b6d: PUSH1 0xff
00000b6f: DUP5
00000b70: SWAP1
00000b71: SHR
00000b72: PUSH1 0x1b
00000b74: ADD
00000b75: PUSH2 0x0b80
00000b78: DUP8
00000b79: DUP3
00000b7a: DUP9
00000b7b: DUP6
00000b7c: PUSH2 0x0a72
00000b7f: JUMP
00000b80: JUMPDEST
00000b81: SWAP4
00000b82: POP
00000b83: SWAP4
00000b84: POP
00000b85: POP
00000b86: POP
00000b87: SWAP4
00000b88: POP
00000b89: SWAP4
00000b8a: SWAP2
00000b8b: POP
00000b8c: POP
00000b8d: JUMP
00000b8e: JUMPDEST
00000b8f: PUSH1 0x00
00000b91: PUSH1 0x20
00000b93: DUP3
00000b94: DUP5
00000b95: SUB
00000b96: SLT
00000b97: ISZERO
00000b98: PUSH2 0x0ba0
00000b9b: JUMPI
00000b9c: PUSH1 0x00
00000b9e: DUP1
00000b9f: REVERT
00000ba0: JUMPDEST
00000ba1: DUP2
00000ba2: CALLDATALOAD
00000ba3: PUSH1 0x01
00000ba5: PUSH1 0x01
00000ba7: PUSH1 0xa0
00000ba9: SHL
00000baa: SUB
00000bab: DUP2
00000bac: AND
00000bad: DUP2
00000bae: EQ
00000baf: PUSH2 0x081c
00000bb2: JUMPI
00000bb3: PUSH1 0x00
00000bb5: DUP1
00000bb6: REVERT
00000bb7: JUMPDEST
00000bb8: PUSH1 0x00
00000bba: DUP1
00000bbb: PUSH1 0x00
00000bbd: PUSH1 0x60
00000bbf: DUP5
00000bc0: DUP7
00000bc1: SUB
00000bc2: SLT
00000bc3: ISZERO
00000bc4: PUSH2 0x0bcc
00000bc7: JUMPI
00000bc8: PUSH1 0x00
00000bca: DUP1
00000bcb: REVERT
00000bcc: JUMPDEST
00000bcd: DUP4
00000bce: CALLDATALOAD
00000bcf: SWAP3
00000bd0: POP
00000bd1: PUSH1 0x20
00000bd3: DUP5
00000bd4: ADD
00000bd5: CALLDATALOAD
00000bd6: SWAP2
00000bd7: POP
00000bd8: PUSH1 0x40
00000bda: DUP5
00000bdb: ADD
00000bdc: CALLDATALOAD
00000bdd: PUSH8 0xffffffffffffffff
00000be6: DUP1
00000be7: DUP3
00000be8: GT
00000be9: ISZERO
00000bea: PUSH2 0x0bf2
00000bed: JUMPI
00000bee: PUSH1 0x00
00000bf0: DUP1
00000bf1: REVERT
00000bf2: JUMPDEST
00000bf3: DUP2
00000bf4: DUP7
00000bf5: ADD
00000bf6: SWAP2
00000bf7: POP
00000bf8: DUP7
00000bf9: PUSH1 0x1f
00000bfb: DUP4
00000bfc: ADD
00000bfd: SLT
00000bfe: PUSH2 0x0c06
00000c01: JUMPI
00000c02: PUSH1 0x00
00000c04: DUP1
00000c05: REVERT
00000c06: JUMPDEST
00000c07: DUP2
00000c08: CALLDATALOAD
00000c09: DUP2
00000c0a: DUP2
00000c0b: GT
00000c0c: ISZERO
00000c0d: PUSH2 0x0c18
00000c10: JUMPI
00000c11: PUSH2 0x0c18
00000c14: PUSH2 0x0dea
00000c17: JUMP
00000c18: JUMPDEST
00000c19: PUSH1 0x40
00000c1b: MLOAD
00000c1c: PUSH1 0x1f
00000c1e: DUP3
00000c1f: ADD
00000c20: PUSH1 0x1f
00000c22: NOT
00000c23: SWAP1
00000c24: DUP2
00000c25: AND
00000c26: PUSH1 0x3f
00000c28: ADD
00000c29: AND
00000c2a: DUP2
00000c2b: ADD
00000c2c: SWAP1
00000c2d: DUP4
00000c2e: DUP3
00000c2f: GT
00000c30: DUP2
00000c31: DUP4
00000c32: LT
00000c33: OR
00000c34: ISZERO
00000c35: PUSH2 0x0c40
00000c38: JUMPI
00000c39: PUSH2 0x0c40
00000c3c: PUSH2 0x0dea
00000c3f: JUMP
00000c40: JUMPDEST
00000c41: DUP2
00000c42: PUSH1 0x40
00000c44: MSTORE
00000c45: DUP3
00000c46: DUP2
00000c47: MSTORE
00000c48: DUP10
00000c49: PUSH1 0x20
00000c4b: DUP5
00000c4c: DUP8
00000c4d: ADD
00000c4e: ADD
00000c4f: GT
00000c50: ISZERO
00000c51: PUSH2 0x0c59
00000c54: JUMPI
00000c55: PUSH1 0x00
00000c57: DUP1
00000c58: REVERT
00000c59: JUMPDEST
00000c5a: DUP3
00000c5b: PUSH1 0x20
00000c5d: DUP7
00000c5e: ADD
00000c5f: PUSH1 0x20
00000c61: DUP4
00000c62: ADD
00000c63: CALLDATACOPY
00000c64: PUSH1 0x00
00000c66: PUSH1 0x20
00000c68: DUP5
00000c69: DUP4
00000c6a: ADD
00000c6b: ADD
00000c6c: MSTORE
00000c6d: DUP1
00000c6e: SWAP6
00000c6f: POP
00000c70: POP
00000c71: POP
00000c72: POP
00000c73: POP
00000c74: POP
00000c75: SWAP3
00000c76: POP
00000c77: SWAP3
00000c78: POP
00000c79: SWAP3
00000c7a: JUMP
00000c7b: JUMPDEST
00000c7c: PUSH1 0x20
00000c7e: DUP1
00000c7f: DUP3
00000c80: MSTORE
00000c81: DUP3
00000c82: MLOAD
00000c83: DUP3
00000c84: DUP3
00000c85: ADD
00000c86: DUP2
00000c87: SWAP1
00000c88: MSTORE
00000c89: PUSH1 0x00
00000c8b: SWAP2
00000c8c: SWAP1
00000c8d: DUP5
00000c8e: DUP3
00000c8f: ADD
00000c90: SWAP1
00000c91: PUSH1 0x40
00000c93: DUP6
00000c94: ADD
00000c95: SWAP1
00000c96: DUP5
00000c97: JUMPDEST
00000c98: DUP2
00000c99: DUP2
00000c9a: LT
00000c9b: ISZERO
00000c9c: PUSH2 0x0cbc
00000c9f: JUMPI
00000ca0: DUP4
00000ca1: MLOAD
00000ca2: PUSH1 0x01
00000ca4: PUSH1 0x01
00000ca6: PUSH1 0xa0
00000ca8: SHL
00000ca9: SUB
00000caa: AND
00000cab: DUP4
00000cac: MSTORE
00000cad: SWAP3
00000cae: DUP5
00000caf: ADD
00000cb0: SWAP3
00000cb1: SWAP2
00000cb2: DUP5
00000cb3: ADD
00000cb4: SWAP2
00000cb5: PUSH1 0x01
00000cb7: ADD
00000cb8: PUSH2 0x0c97
00000cbb: JUMP
00000cbc: JUMPDEST
00000cbd: POP
00000cbe: SWAP1
00000cbf: SWAP7
00000cc0: SWAP6
00000cc1: POP
00000cc2: POP
00000cc3: POP
00000cc4: POP
00000cc5: POP
00000cc6: POP
00000cc7: JUMP
00000cc8: JUMPDEST
00000cc9: PUSH1 0x00
00000ccb: PUSH1 0x20
00000ccd: DUP1
00000cce: DUP4
00000ccf: MSTORE
00000cd0: DUP4
00000cd1: MLOAD
00000cd2: DUP1
00000cd3: DUP3
00000cd4: DUP6
00000cd5: ADD
00000cd6: MSTORE
00000cd7: PUSH1 0x00
00000cd9: JUMPDEST
00000cda: DUP2
00000cdb: DUP2
00000cdc: LT
00000cdd: ISZERO
00000cde: PUSH2 0x0cf5
00000ce1: JUMPI
00000ce2: DUP6
00000ce3: DUP2
00000ce4: ADD
00000ce5: DUP4
00000ce6: ADD
00000ce7: MLOAD
00000ce8: DUP6
00000ce9: DUP3
00000cea: ADD
00000ceb: PUSH1 0x40
00000ced: ADD
00000cee: MSTORE
00000cef: DUP3
00000cf0: ADD
00000cf1: PUSH2 0x0cd9
00000cf4: JUMP
00000cf5: JUMPDEST
00000cf6: DUP2
00000cf7: DUP2
00000cf8: GT
00000cf9: ISZERO
00000cfa: PUSH2 0x0d07
00000cfd: JUMPI
00000cfe: PUSH1 0x00
00000d00: PUSH1 0x40
00000d02: DUP4
00000d03: DUP8
00000d04: ADD
00000d05: ADD
00000d06: MSTORE
00000d07: JUMPDEST
00000d08: POP
00000d09: PUSH1 0x1f
00000d0b: ADD
00000d0c: PUSH1 0x1f
00000d0e: NOT
00000d0f: AND
00000d10: SWAP3
00000d11: SWAP1
00000d12: SWAP3
00000d13: ADD
00000d14: PUSH1 0x40
00000d16: ADD
00000d17: SWAP4
00000d18: SWAP3
00000d19: POP
00000d1a: POP
00000d1b: POP
00000d1c: JUMP
00000d1d: JUMPDEST
00000d1e: PUSH1 0x00
00000d20: DUP3
00000d21: NOT
00000d22: DUP3
00000d23: GT
00000d24: ISZERO
00000d25: PUSH2 0x0d30
00000d28: JUMPI
00000d29: PUSH2 0x0d30
00000d2c: PUSH2 0x0da8
00000d2f: JUMP
00000d30: JUMPDEST
00000d31: POP
00000d32: ADD
00000d33: SWAP1
00000d34: JUMP
00000d35: JUMPDEST
00000d36: PUSH1 0x00
00000d38: DUP3
00000d39: PUSH2 0x0d52
00000d3c: JUMPI
00000d3d: PUSH4 0x4e487b71
00000d42: PUSH1 0xe0
00000d44: SHL
00000d45: PUSH1 0x00
00000d47: MSTORE
00000d48: PUSH1 0x12
00000d4a: PUSH1 0x04
00000d4c: MSTORE
00000d4d: PUSH1 0x24
00000d4f: PUSH1 0x00
00000d51: REVERT
00000d52: JUMPDEST
00000d53: POP
00000d54: DIV
00000d55: SWAP1
00000d56: JUMP
00000d57: JUMPDEST
00000d58: PUSH1 0x00
00000d5a: DUP2
00000d5b: PUSH1 0x00
00000d5d: NOT
00000d5e: DIV
00000d5f: DUP4
00000d60: GT
00000d61: DUP3
00000d62: ISZERO
00000d63: ISZERO
00000d64: AND
00000d65: ISZERO
00000d66: PUSH2 0x0d71
00000d69: JUMPI
00000d6a: PUSH2 0x0d71
00000d6d: PUSH2 0x0da8
00000d70: JUMP
00000d71: JUMPDEST
00000d72: POP
00000d73: MUL
00000d74: SWAP1
00000d75: JUMP
00000d76: JUMPDEST
00000d77: PUSH1 0x00
00000d79: DUP3
00000d7a: DUP3
00000d7b: LT
00000d7c: ISZERO
00000d7d: PUSH2 0x0d88
00000d80: JUMPI
00000d81: PUSH2 0x0d88
00000d84: PUSH2 0x0da8
00000d87: JUMP
00000d88: JUMPDEST
00000d89: POP
00000d8a: SUB
00000d8b: SWAP1
00000d8c: JUMP
00000d8d: JUMPDEST
00000d8e: PUSH1 0x00
00000d90: PUSH1 0x00
00000d92: NOT
00000d93: DUP3
00000d94: EQ
00000d95: ISZERO
00000d96: PUSH2 0x0da1
00000d99: JUMPI
00000d9a: PUSH2 0x0da1
00000d9d: PUSH2 0x0da8
00000da0: JUMP
00000da1: JUMPDEST
00000da2: POP
00000da3: PUSH1 0x01
00000da5: ADD
00000da6: SWAP1
00000da7: JUMP
00000da8: JUMPDEST
00000da9: PUSH4 0x4e487b71
00000dae: PUSH1 0xe0
00000db0: SHL
00000db1: PUSH1 0x00
00000db3: MSTORE
00000db4: PUSH1 0x11
00000db6: PUSH1 0x04
00000db8: MSTORE
00000db9: PUSH1 0x24
00000dbb: PUSH1 0x00
00000dbd: REVERT
00000dbe: JUMPDEST
00000dbf: PUSH4 0x4e487b71
00000dc4: PUSH1 0xe0
00000dc6: SHL
00000dc7: PUSH1 0x00
00000dc9: MSTORE
00000dca: PUSH1 0x21
00000dcc: PUSH1 0x04
00000dce: MSTORE
00000dcf: PUSH1 0x24
00000dd1: PUSH1 0x00
00000dd3: REVERT
00000dd4: JUMPDEST
00000dd5: PUSH4 0x4e487b71
00000dda: PUSH1 0xe0
00000ddc: SHL
00000ddd: PUSH1 0x00
00000ddf: MSTORE
00000de0: PUSH1 0x32
00000de2: PUSH1 0x04
00000de4: MSTORE
00000de5: PUSH1 0x24
00000de7: PUSH1 0x00
00000de9: REVERT
00000dea: JUMPDEST
00000deb: PUSH4 0x4e487b71
00000df0: PUSH1 0xe0
00000df2: SHL
00000df3: PUSH1 0x00
00000df5: MSTORE
00000df6: PUSH1 0x41
00000df8: PUSH1 0x04
00000dfa: MSTORE
00000dfb: PUSH1 0x24
00000dfd: PUSH1 0x00
00000dff: REVERT
00000e00: INVALID
00000e01: LOG2
00000e02: PUSH5 0x6970667358
00000e08: UNKNOWN(0x22)
00000e09: SLT
00000e0a: KECCAK256
00000e0b: UNKNOWN(0xD8)
00000e0c: UNKNOWN(0xDA)
00000e0d: PUSH25 0xae7d5a0ecf23dbe98329a096b3ce1dfa77bbde60eb12bfabd1
00000e27: UNKNOWN(0x0F)
00000e28: LOG2
00000e29: PUSH6 0x0664736f6c63
00000e30: NUMBER
00000e31: STOP
00000e32: ADDMOD
00000e33: SMOD
00000e34: STOP
00000e35: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x950ba3a33bc3ae794bef9f25db2acebb2967248b92ea8445c02f7870d63597da
call_targets: 0xe617f1722955706bc487257439d9d61fd3a991a4
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x950ba3a33bc3ae794bef9f25db2acebb2967248b92ea8445c02f7870d63597da",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xe617f1722955706bc487257439d9d61fd3a991a4"
    ],
    "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": "0x81282a36",
            "selector": "0x81282a36",
            "calldata_variants": [
                "0x81282a36",
                "0x81282a360000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8d859f3e",
            "selector": "0x8d859f3e",
            "calldata_variants": [
                "0x8d859f3e",
                "0x8d859f3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x97e1b4ee",
            "selector": "0x97e1b4ee",
            "calldata_variants": [
                "0x97e1b4ee",
                "0x97e1b4ee0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xaffe39c1",
            "selector": "0xaffe39c1",
            "calldata_variants": [
                "0xaffe39c1",
                "0xaffe39c10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe00cd493",
            "selector": "0xe00cd493",
            "calldata_variants": [
                "0xe00cd493",
                "0xe00cd4930000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa4bd2c7",
            "selector": "0xfa4bd2c7",
            "calldata_variants": [
                "0xfa4bd2c7",
                "0xfa4bd2c70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x32cb6b0c",
            "selector": "0x32cb6b0c",
            "calldata_variants": [
                "0x32cb6b0c",
                "0x32cb6b0c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 648,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 744,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 883,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 3,
    "guards_detected": [],
    "untrusted_call_count": 3
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x950ba3a33bc3ae794bef9f25db2acebb2967248b92ea8445c02f7870d63597da
call_targets: 0xe617f1722955706bc487257439d9d61fd3a991a4
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x950ba3a33bc3ae794bef9f25db2acebb2967248b92ea8445c02f7870d63597da",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xe617f1722955706bc487257439d9d61fd3a991a4"
    ],
    "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": "0x81282a36",
            "selector": "0x81282a36",
            "calldata_variants": [
                "0x81282a36",
                "0x81282a360000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8d859f3e",
            "selector": "0x8d859f3e",
            "calldata_variants": [
                "0x8d859f3e",
                "0x8d859f3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x97e1b4ee",
            "selector": "0x97e1b4ee",
            "calldata_variants": [
                "0x97e1b4ee",
                "0x97e1b4ee0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xaffe39c1",
            "selector": "0xaffe39c1",
            "calldata_variants": [
                "0xaffe39c1",
                "0xaffe39c10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe00cd493",
            "selector": "0xe00cd493",
            "calldata_variants": [
                "0xe00cd493",
                "0xe00cd4930000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa4bd2c7",
            "selector": "0xfa4bd2c7",
            "calldata_variants": [
                "0xfa4bd2c7",
                "0xfa4bd2c70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x32cb6b0c",
            "selector": "0x32cb6b0c",
            "calldata_variants": [
                "0x32cb6b0c",
                "0x32cb6b0c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 648,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 744,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 883,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 3,
    "guards_detected": []
}
high math codex LAST_SUPPLY is reset instead of incremented, enabling repeated withdrawals of the same tranche 85 no
view
evidence_json
{
    "evidence": "`uint paymentStage = uint ((SUPPLY - LAST_SUPPLY)/ 100);` followed by `LAST_SUPPLY = paymentStage * 100;` resets the counter instead of advancing it.",
    "locations": [
        "contracts/WORE.sol:461",
        "contracts/WORE.sol:471"
    ],
    "recommendation": "Track cumulative withdrawals by incrementing LAST_SUPPLY (e.g., LAST_SUPPLY += paymentStage * 100) and require paymentStage > 0. Update LAST_SUPPLY before external calls and consider a reentrancy guard to prevent reentry during payouts.",
    "exploit_scenario": "After some sales, an admin calls withdraw(). If SUPPLY=150 and LAST_SUPPLY=0, paymentStage=1 and 100 tokens worth of proceeds are paid out, then LAST_SUPPLY is set to 100. A subsequent withdraw() with SUPPLY still 150 yields paymentStage=0 and resets LAST_SUPPLY to 0; the next call again computes paymentStage=1, paying out the same tranche repeatedly. This allows draining contract ETH to the configured payout addresses without additional sales."
}
high other slither WOREPrivateSale.withdraw() (contracts/Contract.sol#435-456) sends eth to arbitrary user 85 no
view
evidence_json
{
    "impact": "High",
    "detector": "arbitrary-send-eth",
    "elements": [
        {
            "name": "withdraw",
            "type": "function",
            "source_mapping": {
                "lines": [
                    435,
                    436,
                    437,
                    438,
                    439,
                    440,
                    441,
                    442,
                    443,
                    444,
                    445,
                    446,
                    447,
                    448,
                    449,
                    450,
                    451,
                    452,
                    453,
                    454,
                    455,
                    456
                ],
                "start": 17157,
                "length": 629,
                "ending_column": 58,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 2,
                "filename_absolute": "/tmp/slither-o29aulba/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "WOREPrivateSale",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            311,
                            312,
                            313,
                            314,
                            315,
                            316,
                            317,
                            318,
                            319,
                            320,
                            321,
                            322,
                            323,
                            324,
                            325,
                            326,
                            327,
                            328,
                            329,
                            330,
                            331,
                            332,
                            333,
                            334,
                            335,
                            336,
                            337,
                            338,
                            339,
                            340,
                            341,
                            342,
                            343,
                            344,
                            345,
                            346,
                            347,
                            348,
                            349,
                            350,
                            351,
                            352,
                            353,
                            354,
                            355,
                            356,
                            357,
                            358,
                            359,
                            360,
                            361,
                            362,
                            363,
                            364,
                            365,
                            366,
                            367,
                            368,
                            369,
                            370,
                            371,
                            372,
                            373,
                            374,
                            375,
                            376,
                            377,
                            378,
                            379,
                            380,
                            381,
                            382,
                            383,
                            384,
                            385,
                            386,
                            387,
                            388,
                            389,
                            390,
                            391,
                            392,
                            393,
                            394,
                            395,
                            396,
                            397,
                            398,
                            399,
                            400,
                            401,
                            402,
                            403,
                            404,
                            405,
                            406,
                            407,
                            408,
                            409,
                            410,
                            411,
                            412,
                            413,
                            414,
                            415,
                            416,
                            417,
                            418,
                            419,
                            420,
                            421,
                            422,
                            423,
                            424,
                            425,
                            426,
                            427,
                            428,
                            429,
                            430,
                            431,
                            432,
                            433,
                            434,
                            435,
                            436,
                            437,
                            438,
                            439,
                            440,
                            441,
                            442,
                            443,
                            444,
                            445,
                            446,
                            447,
                            448,
                            449,
                            450,
                            451,
                            452,
                            453,
                            454,
                            455,
                            456
                        ],
                        "start": 13542,
                        "length": 4246,
                        "ending_column": 60,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 29,
                        "filename_absolute": "/tmp/slither-o29aulba/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    }
                },
                "signature": "withdraw()"
            }
        },
        {
            "name": "(art,None) = address(ARTaddress).call{value: ARTamount}()",
            "type": "node",
            "source_mapping": {
                "lines": [
                    452
                ],
                "start": 17523,
                "length": 61,
                "ending_column": 73,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 12,
                "filename_absolute": "/tmp/slither-o29aulba/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "withdraw",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            435,
                            436,
                            437,
                            438,
                            439,
                            440,
                            441,
                            442,
                            443,
                            444,
                            445,
                            446,
                            447,
                            448,
                            449,
                            450,
                            451,
                            452,
                            453,
                            454,
                            455,
                            456
                        ],
                        "start": 17157,
                        "length": 629,
                        "ending_column": 58,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 2,
                        "filename_absolute": "/tmp/slither-o29aulba/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "WOREPrivateSale",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    311,
                                    312,
                                    313,
                                    314,
                                    315,
                                    316,
                                    317,
                                    318,
                                    319,
                                    320,
                                    321,
                                    322,
                                    323,
                                    324,
                                    325,
                                    326,
                                    327,
                                    328,
                                    329,
                                    330,
                                    331,
                                    332,
                                    333,
                                    334,
                                    335,
                                    336,
                                    337,
                                    338,
                                    339,
                                    340,
                                    341,
                                    342,
                                    343,
                                    344,
                                    345,
                                    346,
                                    347,
                                    348,
                                    349,
                                    350,
                                    351,
                                    352,
                                    353,
                                    354,
                                    355,
                                    356,
                                    357,
                                    358,
                                    359,
                                    360,
                                    361,
                                    362,
                                    363,
                                    364,
                                    365,
                                    366,
                                    367,
                                    368,
                                    369,
                                    370,
                                    371,
                                    372,
                                    373,
                                    374,
                                    375,
                                    376,
                                    377,
                                    378,
                                    379,
                                    380,
                                    381,
                                    382,
                                    383,
                                    384,
                                    385,
                                    386,
                                    387,
                                    388,
                                    389,
                                    390,
                                    391,
                                    392,
                                    393,
                                    394,
                                    395,
                                    396,
                                    397,
                                    398,
                                    399,
                                    400,
                                    401,
                                    402,
                                    403,
                                    404,
                                    405,
                                    406,
                                    407,
                                    408,
                                    409,
                                    410,
                                    411,
                                    412,
                                    413,
                                    414,
                                    415,
                                    416,
                                    417,
                                    418,
                                    419,
                                    420,
                                    421,
                                    422,
                                    423,
                                    424,
                                    425,
                                    426,
                                    427,
                                    428,
                                    429,
                                    430,
                                    431,
                                    432,
                                    433,
                                    434,
                                    435,
                                    436,
                                    437,
                                    438,
                                    439,
                                    440,
                                    441,
                                    442,
                                    443,
                                    444,
                                    445,
                                    446,
                                    447,
                                    448,
                                    449,
                                    450,
                                    451,
                                    452,
                                    453,
                                    454,
                                    455,
                                    456
                                ],
                                "start": 13542,
                                "length": 4246,
                                "ending_column": 60,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 29,
                                "filename_absolute": "/tmp/slither-o29aulba/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "withdraw()"
                    }
                }
            }
        },
        {
            "name": "(project,None) = address(projectAddress).call{value: (PRICE * paymentStage * 100) - (ARTamount + QDamount)}()",
            "type": "node",
            "source_mapping": {
                "lines": [
                    454,
                    455
                ],
                "start": 17608,
                "length": 113,
                "ending_column": 64,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 1,
                "filename_absolute": "/tmp/slither-o29aulba/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "withdraw",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            435,
                            436,
                            437,
                            438,
                            439,
                            440,
                            441,
                            442,
                            443,
                            444,
                            445,
                            446,
                            447,
                            448,
                            449,
                            450,
                            451,
                            452,
                            453,
                            454,
                            455,
                            456
                        ],
                        "start": 17157,
                        "length": 629,
                        "ending_column": 58,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 2,
                        "filename_absolute": "/tmp/slither-o29aulba/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "WOREPrivateSale",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    311,
                                    312,
                                    313,
                                    314,
                                    315,
                                    316,
                                    317,
                                    318,
                                    319,
                                    320,
                                    321,
                                    322,
                                    323,
                                    324,
                                    325,
                                    326,
                                    327,
                                    328,
                                    329,
                                    330,
                                    331,
                                    332,
                                    333,
                                    334,
                                    335,
                                    336,
                                    337,
                                    338,
                                    339,
                                    340,
                                    341,
                                    342,
                                    343,
                                    344,
                                    345,
                                    346,
                                    347,
                                    348,
                                    349,
                                    350,
                                    351,
                                    352,
                                    353,
                                    354,
                                    355,
                                    356,
                                    357,
                                    358,
                                    359,
                                    360,
                                    361,
                                    362,
                                    363,
                                    364,
                                    365,
                                    366,
                                    367,
                                    368,
                                    369,
                                    370,
                                    371,
                                    372,
                                    373,
                                    374,
                                    375,
                                    376,
                                    377,
                                    378,
                                    379,
                                    380,
                                    381,
                                    382,
                                    383,
                                    384,
                                    385,
                                    386,
                                    387,
                                    388,
                                    389,
                                    390,
                                    391,
                                    392,
                                    393,
                                    394,
                                    395,
                                    396,
                                    397,
                                    398,
                                    399,
                                    400,
                                    401,
                                    402,
                                    403,
                                    404,
                                    405,
                                    406,
                                    407,
                                    408,
                                    409,
                                    410,
                                    411,
                                    412,
                                    413,
                                    414,
                                    415,
                                    416,
                                    417,
                                    418,
                                    419,
                                    420,
                                    421,
                                    422,
                                    423,
                                    424,
                                    425,
                                    426,
                                    427,
                                    428,
                                    429,
                                    430,
                                    431,
                                    432,
                                    433,
                                    434,
                                    435,
                                    436,
                                    437,
                                    438,
                                    439,
                                    440,
                                    441,
                                    442,
                                    443,
                                    444,
                                    445,
                                    446,
                                    447,
                                    448,
                                    449,
                                    450,
                                    451,
                                    452,
                                    453,
                                    454,
                                    455,
                                    456
                                ],
                                "start": 13542,
                                "length": 4246,
                                "ending_column": 60,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 29,
                                "filename_absolute": "/tmp/slither-o29aulba/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "withdraw()"
                    }
                }
            }
        }
    ],
    "locations": [
        {
            "file": "contracts/Contract.sol",
            "name": "withdraw",
            "type": "function",
            "lines": [
                435,
                436,
                437,
                438,
                439,
                440,
                441,
                442,
                443,
                444,
                445,
                446,
                447,
                448,
                449,
                450,
                451,
                452,
                453,
                454,
                455,
                456
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "(art,None) = address(ARTaddress).call{value: ARTamount}()",
            "type": "node",
            "lines": [
                452
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "(project,None) = address(projectAddress).call{value: (PRICE * paymentStage * 100) - (ARTamount + QDamount)}()",
            "type": "node",
            "lines": [
                454,
                455
            ]
        }
    ],
    "description": "WOREPrivateSale.withdraw() (contracts/Contract.sol#435-456) sends eth to arbitrary user\n\tDangerous calls:\n\t- (art,None) = address(ARTaddress).call{value: ARTamount}() (contracts/Contract.sol#452)\n\t- (project,None) = address(projectAddress).call{value: (PRICE * paymentStage * 100) - (ARTamount + QDamount)}() (contracts/Contract.sol#454-455)"
}
high reentrancy slither Reentrancy in WOREPrivateSale.withdraw() (contracts/Contract.sol#435-456): 85 no
view
evidence_json
{
    "impact": "High",
    "detector": "reentrancy-eth",
    "elements": [
        {
            "name": "withdraw",
            "type": "function",
            "source_mapping": {
                "lines": [
                    435,
                    436,
                    437,
                    438,
                    439,
                    440,
                    441,
                    442,
                    443,
                    444,
                    445,
                    446,
                    447,
                    448,
                    449,
                    450,
                    451,
                    452,
                    453,
                    454,
                    455,
                    456
                ],
                "start": 17157,
                "length": 629,
                "ending_column": 58,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 2,
                "filename_absolute": "/tmp/slither-o29aulba/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "WOREPrivateSale",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            311,
                            312,
                            313,
                            314,
                            315,
                            316,
                            317,
                            318,
                            319,
                            320,
                            321,
                            322,
                            323,
                            324,
                            325,
                            326,
                            327,
                            328,
                            329,
                            330,
                            331,
                            332,
                            333,
                            334,
                            335,
                            336,
                            337,
                            338,
                            339,
                            340,
                            341,
                            342,
                            343,
                            344,
                            345,
                            346,
                            347,
                            348,
                            349,
                            350,
                            351,
                            352,
                            353,
                            354,
                            355,
                            356,
                            357,
                            358,
                            359,
                            360,
                            361,
                            362,
                            363,
                            364,
                            365,
                            366,
                            367,
                            368,
                            369,
                            370,
                            371,
                            372,
                            373,
                            374,
                            375,
                            376,
                            377,
                            378,
                            379,
                            380,
                            381,
                            382,
                            383,
                            384,
                            385,
                            386,
                            387,
                            388,
                            389,
                            390,
                            391,
                            392,
                            393,
                            394,
                            395,
                            396,
                            397,
                            398,
                            399,
                            400,
                            401,
                            402,
                            403,
                            404,
                            405,
                            406,
                            407,
                            408,
                            409,
                            410,
                            411,
                            412,
                            413,
                            414,
                            415,
                            416,
                            417,
                            418,
                            419,
                            420,
                            421,
                            422,
                            423,
                            424,
                            425,
                            426,
                            427,
                            428,
                            429,
                            430,
                            431,
                            432,
                            433,
                            434,
                            435,
                            436,
                            437,
                            438,
                            439,
                            440,
                            441,
                            442,
                            443,
                            444,
                            445,
                            446,
                            447,
                            448,
                            449,
                            450,
                            451,
                            452,
                            453,
                            454,
                            455,
                            456
                        ],
                        "start": 13542,
                        "length": 4246,
                        "ending_column": 60,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 29,
                        "filename_absolute": "/tmp/slither-o29aulba/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    }
                },
                "signature": "withdraw()"
            }
        },
        {
            "name": "(qd,None) = address(QDaddress).call{value: QDamount}()",
            "type": "node",
            "source_mapping": {
                "lines": [
                    446,
                    447,
                    448,
                    449,
                    450
                ],
                "start": 17442,
                "length": 58,
                "ending_column": 12,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 24,
                "filename_absolute": "/tmp/slither-o29aulba/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "additional_fields": {
                "underlying_type": "external_calls"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "withdraw",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            435,
                            436,
                            437,
                            438,
                            439,
                            440,
                            441,
                            442,
                            443,
                            444,
                            445,
                            446,
                            447,
                            448,
                            449,
                            450,
                            451,
                            452,
                            453,
                            454,
                            455,
                            456
                        ],
                        "start": 17157,
                        "length": 629,
                        "ending_column": 58,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 2,
                        "filename_absolute": "/tmp/slither-o29aulba/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "WOREPrivateSale",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    311,
                                    312,
                                    313,
                                    314,
                                    315,
                                    316,
                                    317,
                                    318,
                                    319,
                                    320,
                                    321,
                                    322,
                                    323,
                                    324,
                                    325,
                                    326,
                                    327,
                                    328,
                                    329,
                                    330,
                                    331,
                                    332,
                                    333,
                                    334,
                                    335,
                                    336,
                                    337,
                                    338,
                                    339,
                                    340,
                                    341,
                                    342,
                                    343,
                                    344,
                                    345,
                                    346,
                                    347,
                                    348,
                                    349,
                                    350,
                                    351,
                                    352,
                                    353,
                                    354,
                                    355,
                                    356,
                                    357,
                                    358,
                                    359,
                                    360,
                                    361,
                                    362,
                                    363,
                                    364,
                                    365,
                                    366,
                                    367,
                                    368,
                                    369,
                                    370,
                                    371,
                                    372,
                                    373,
                                    374,
                                    375,
                                    376,
                                    377,
                                    378,
                                    379,
                                    380,
                                    381,
                                    382,
                                    383,
                                    384,
                                    385,
                                    386,
                                    387,
                                    388,
                                    389,
                                    390,
                                    391,
                                    392,
                                    393,
                                    394,
                                    395,
                                    396,
                                    397,
                                    398,
                                    399,
                                    400,
                                    401,
                                    402,
                                    403,
                                    404,
                                    405,
                                    406,
                                    407,
                                    408,
                                    409,
                                    410,
                                    411,
                                    412,
                                    413,
                                    414,
                                    415,
                                    416,
                                    417,
                                    418,
                                    419,
                                    420,
                                    421,
                                    422,
                                    423,
                                    424,
                                    425,
                                    426,
                                    427,
                                    428,
                                    429,
                                    430,
                                    431,
                                    432,
                                    433,
                                    434,
                                    435,
                                    436,
                                    437,
                                    438,
                                    439,
                                    440,
                                    441,
                                    442,
                                    443,
                                    444,
                                    445,
                                    446,
                                    447,
                                    448,
                                    449,
                                    450,
                                    451,
                                    452,
                                    453,
                                    454,
                                    455,
                                    456
                                ],
                                "start": 13542,
                                "length": 4246,
                                "ending_column": 60,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 29,
                                "filename_absolute": "/tmp/slither-o29aulba/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "withdraw()"
                    }
                }
            }
        },
        {
            "name": "(art,None) = address(ARTaddress).call{value: ARTamount}()",
            "type": "node",
            "source_mapping": {
                "lines": [
                    452
                ],
                "start": 17523,
                "length": 61,
                "ending_column": 73,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 12,
                "filename_absolute": "/tmp/slither-o29aulba/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "additional_fields": {
                "underlying_type": "external_calls"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "withdraw",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            435,
                            436,
                            437,
                            438,
                            439,
                            440,
                            441,
                            442,
                            443,
                            444,
                            445,
                            446,
                            447,
                            448,
                            449,
                            450,
                            451,
                            452,
                            453,
                            454,
                            455,
                            456
                        ],
                        "start": 17157,
                        "length": 629,
                        "ending_column": 58,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 2,
                        "filename_absolute": "/tmp/slither-o29aulba/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "WOREPrivateSale",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    311,
                                    312,
                                    313,
                                    314,
                                    315,
                                    316,
                                    317,
                                    318,
                                    319,
                                    320,
                                    321,
                                    322,
                                    323,
                                    324,
                                    325,
                                    326,
                                    327,
                                    328,
                                    329,
                                    330,
                                    331,
                                    332,
                                    333,
                                    334,
                                    335,
                                    336,
                                    337,
                                    338,
                                    339,
                                    340,
                                    341,
                                    342,
                                    343,
                                    344,
                                    345,
                                    346,
                                    347,
                                    348,
                                    349,
                                    350,
                                    351,
                                    352,
                                    353,
                                    354,
                                    355,
                                    356,
                                    357,
                                    358,
                                    359,
                                    360,
                                    361,
                                    362,
                                    363,
                                    364,
                                    365,
                                    366,
                                    367,
                                    368,
                                    369,
                                    370,
                                    371,
                                    372,
                                    373,
                                    374,
                                    375,
                                    376,
                                    377,
                                    378,
                                    379,
                                    380,
                                    381,
                                    382,
                                    383,
                                    384,
                                    385,
                                    386,
                                    387,
                                    388,
                                    389,
                                    390,
                                    391,
                                    392,
                                    393,
                                    394,
                                    395,
                                    396,
                                    397,
                                    398,
                                    399,
                                    400,
                                    401,
                                    402,
                                    403,
                                    404,
                                    405,
                                    406,
                                    407,
                                    408,
                                    409,
                                    410,
                                    411,
                                    412,
                                    413,
                                    414,
                                    415,
                                    416,
                                    417,
                                    418,
                                    419,
                                    420,
                                    421,
                                    422,
                                    423,
                                    424,
                                    425,
                                    426,
                                    427,
                                    428,
                                    429,
                                    430,
                                    431,
                                    432,
                                    433,
                                    434,
                                    435,
                                    436,
                                    437,
                                    438,
                                    439,
                                    440,
                                    441,
                                    442,
                                    443,
                                    444,
                                    445,
                                    446,
                                    447,
                                    448,
                                    449,
                                    450,
                                    451,
                                    452,
                                    453,
                                    454,
                                    455,
                                    456
                                ],
                                "start": 13542,
                                "length": 4246,
                                "ending_column": 60,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 29,
                                "filename_absolute": "/tmp/slither-o29aulba/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "withdraw()"
                    }
                }
            }
        },
        {
            "name": "(project,None) = address(projectAddress).call{value: (PRICE * paymentStage * 100) - (ARTamount + QDamount)}()",
            "type": "node",
            "source_mapping": {
                "lines": [
                    454,
                    455
                ],
                "start": 17608,
                "length": 113,
                "ending_column": 64,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 1,
                "filename_absolute": "/tmp/slither-o29aulba/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "additional_fields": {
                "underlying_type": "external_calls"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "withdraw",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            435,
                            436,
                            437,
                            438,
                            439,
                            440,
                            441,
                            442,
                            443,
                            444,
                            445,
                            446,
                            447,
                            448,
                            449,
                            450,
                            451,
                            452,
                            453,
                            454,
                            455,
                            456
                        ],
                        "start": 17157,
                        "length": 629,
                        "ending_column": 58,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 2,
                        "filename_absolute": "/tmp/slither-o29aulba/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "WOREPrivateSale",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    311,
                                    312,
                                    313,
                                    314,
                                    315,
                                    316,
                                    317,
                                    318,
                                    319,
                                    320,
                                    321,
                                    322,
                                    323,
                                    324,
                                    325,
                                    326,
                                    327,
                                    328,
                                    329,
                                    330,
                                    331,
                                    332,
                                    333,
                                    334,
                                    335,
                                    336,
                                    337,
                                    338,
                                    339,
                                    340,
                                    341,
                                    342,
                                    343,
                                    344,
                                    345,
                                    346,
                                    347,
                                    348,
                                    349,
                                    350,
                                    351,
                                    352,
                                    353,
                                    354,
                                    355,
                                    356,
                                    357,
                                    358,
                                    359,
                                    360,
                                    361,
                                    362,
                                    363,
                                    364,
                                    365,
                                    366,
                                    367,
                                    368,
                                    369,
                                    370,
                                    371,
                                    372,
                                    373,
                                    374,
                                    375,
                                    376,
                                    377,
                                    378,
                                    379,
                                    380,
                                    381,
                                    382,
                                    383,
                                    384,
                                    385,
                                    386,
                                    387,
                                    388,
                                    389,
                                    390,
                                    391,
                                    392,
                                    393,
                                    394,
                                    395,
                                    396,
                                    397,
                                    398,
                                    399,
                                    400,
                                    401,
                                    402,
                                    403,
                                    404,
                                    405,
                                    406,
                                    407,
                                    408,
                                    409,
                                    410,
                                    411,
                                    412,
                                    413,
                                    414,
                                    415,
                                    416,
                                    417,
                                    418,
                                    419,
                                    420,
                                    421,
                                    422,
                                    423,
                                    424,
                                    425,
                                    426,
                                    427,
                                    428,
                                    429,
                                    430,
                                    431,
                                    432,
                                    433,
                                    434,
                                    435,
                                    436,
                                    437,
                                    438,
                                    439,
                                    440,
                                    441,
                                    442,
                                    443,
                                    444,
                                    445,
                                    446,
                                    447,
                                    448,
                                    449,
                                    450,
                                    451,
                                    452,
                                    453,
                                    454,
                                    455,
                                    456
                                ],
                                "start": 13542,
                                "length": 4246,
                                "ending_column": 60,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 29,
                                "filename_absolute": "/tmp/slither-o29aulba/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "withdraw()"
                    }
                }
            }
        },
        {
            "name": "LAST_SUPPLY = paymentStage * 100",
            "type": "node",
            "source_mapping": {
                "lines": [
                    456
                ],
                "start": 17749,
                "length": 32,
                "ending_column": 53,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 21,
                "filename_absolute": "/tmp/slither-o29aulba/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "additional_fields": {
                "variable_name": "LAST_SUPPLY",
                "underlying_type": "variables_written"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "withdraw",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            435,
                            436,
                            437,
                            438,
                            439,
                            440,
                            441,
                            442,
                            443,
                            444,
                            445,
                            446,
                            447,
                            448,
                            449,
                            450,
                            451,
                            452,
                            453,
                            454,
                            455,
                            456
                        ],
                        "start": 17157,
                        "length": 629,
                        "ending_column": 58,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 2,
                        "filename_absolute": "/tmp/slither-o29aulba/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "WOREPrivateSale",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    311,
                                    312,
                                    313,
                                    314,
                                    315,
                                    316,
                                    317,
                                    318,
                                    319,
                                    320,
                                    321,
                                    322,
                                    323,
                                    324,
                                    325,
                                    326,
                                    327,
                                    328,
                                    329,
                                    330,
                                    331,
                                    332,
                                    333,
                                    334,
                                    335,
                                    336,
                                    337,
                                    338,
                                    339,
                                    340,
                                    341,
                                    342,
                                    343,
                                    344,
                                    345,
                                    346,
                                    347,
                                    348,
                                    349,
                                    350,
                                    351,
                                    352,
                                    353,
                                    354,
                                    355,
                                    356,
                                    357,
                                    358,
                                    359,
                                    360,
                                    361,
                                    362,
                                    363,
                                    364,
                                    365,
                                    366,
                                    367,
                                    368,
                                    369,
                                    370,
                                    371,
                                    372,
                                    373,
                                    374,
                                    375,
                                    376,
                                    377,
                                    378,
                                    379,
                                    380,
                                    381,
                                    382,
                                    383,
                                    384,
                                    385,
                                    386,
                                    387,
                                    388,
                                    389,
                                    390,
                                    391,
                                    392,
                                    393,
                                    394,
                                    395,
                                    396,
                                    397,
                                    398,
                                    399,
                                    400,
                                    401,
                                    402,
                                    403,
                                    404,
                                    405,
                                    406,
                                    407,
                                    408,
                                    409,
                                    410,
                                    411,
                                    412,
                                    413,
                                    414,
                                    415,
                                    416,
                                    417,
                                    418,
                                    419,
                                    420,
                                    421,
                                    422,
                                    423,
                                    424,
                                    425,
                                    426,
                                    427,
                                    428,
                                    429,
                                    430,
                                    431,
                                    432,
                                    433,
                                    434,
                                    435,
                                    436,
                                    437,
                                    438,
                                    439,
                                    440,
                                    441,
                                    442,
                                    443,
                                    444,
                                    445,
                                    446,
                                    447,
                                    448,
                                    449,
                                    450,
                                    451,
                                    452,
                                    453,
                                    454,
                                    455,
                                    456
                                ],
                                "start": 13542,
                                "length": 4246,
                                "ending_column": 60,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 29,
                                "filename_absolute": "/tmp/slither-o29aulba/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "withdraw()"
                    }
                }
            }
        }
    ],
    "locations": [
        {
            "file": "contracts/Contract.sol",
            "name": "withdraw",
            "type": "function",
            "lines": [
                435,
                436,
                437,
                438,
                439,
                440,
                441,
                442,
                443,
                444,
                445,
                446,
                447,
                448,
                449,
                450,
                451,
                452,
                453,
                454,
                455,
                456
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "(qd,None) = address(QDaddress).call{value: QDamount}()",
            "type": "node",
            "lines": [
                446,
                447,
                448,
                449,
                450
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "(art,None) = address(ARTaddress).call{value: ARTamount}()",
            "type": "node",
            "lines": [
                452
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "(project,None) = address(projectAddress).call{value: (PRICE * paymentStage * 100) - (ARTamount + QDamount)}()",
            "type": "node",
            "lines": [
                454,
                455
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "LAST_SUPPLY = paymentStage * 100",
            "type": "node",
            "lines": [
                456
            ]
        }
    ],
    "description": "Reentrancy in WOREPrivateSale.withdraw() (contracts/Contract.sol#435-456):\n\tExternal calls:\n\t- (qd,None) = address(QDaddress).call{value: QDamount}() (contracts/Contract.sol#446-450)\n\t- (art,None) = address(ARTaddress).call{value: ARTamount}() (contracts/Contract.sol#452)\n\t- (project,None) = address(projectAddress).call{value: (PRICE * paymentStage * 100) - (ARTamount + QDamount)}() (contracts/Contract.sol#454-455)\n\tState variables written after the call(s):\n\t- LAST_SUPPLY = paymentStage * 100 (contracts/Contract.sol#456)\n\tWOREPrivateSale.LAST_SUPPLY (contracts/Contract.sol#316) can be used in cross function reentrancies:\n\t- WOREPrivateSale.LAST_SUPPLY (contracts/Contract.sol#316)\n\t- WOREPrivateSale.withdraw() (contracts/Contract.sol#435-456)"
}