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

Analysis Run

019be3d6-8329-7283-9a66-0484d43643d5

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
SharkPool.do_redemption() (contracts/Contract.sol#310-321) ignores return value by base_contract.transfer(owner,owner_cut) (contracts/Contract.sol#316-317)
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
40799 artifact.fetch complete 1 / 3 2 months ago
40800 proxy.resolve complete 1 / 3 2 months ago
40801 tool.cast_disasm complete 1 / 3 2 months ago
40802 analysis.bundle complete 1 / 3 2 months ago
40803 capability.graph complete 1 / 3 2 months ago
40804 detector.run complete 1 / 3 2 months ago
40805 validation.fork complete 1 / 3 2 months ago
41315 report.consolidate complete 1 / 6 2 months ago
41316 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
5
Solc
0.4.13 (solc-select)
View stderr
'forge clean' running (wd: /tmp/slither-dbj2922e)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-dbj2922e)

Reentrancy in SharkPool.mine() (contracts/Contract.sol#252-288):
	External calls:
	- require(bool)(! base_contract.checkMiningAttempt(_blockNum,this)) (contracts/Contract.sol#256-260)
	- base_contract.mine.value(total_attempt)() (contracts/Contract.sol#287)
	External calls sending eth:
	- base_contract.mine.value(total_attempt)() (contracts/Contract.sol#287)
	State variables written after the call(s):
	- mined_blocks = mined_blocks + 1 (contracts/Contract.sol#288)
	SharkPool.mined_blocks (contracts/Contract.sol#105-106) can be used in cross function reentrancies:
	- SharkPool.fallback() (contracts/Contract.sol#225-252)
	- SharkPool.find_contribution(address) (contracts/Contract.sol#130-148)
	- SharkPool.mined_blocks (contracts/Contract.sol#105-106)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities

SharkPool.do_redemption() (contracts/Contract.sol#310-321) ignores return value by base_contract.transfer(owner,owner_cut) (contracts/Contract.sol#316-317)
SharkPool.do_redemption() (contracts/Contract.sol#310-321) ignores return value by base_contract.transfer(msg.sender,remainder) (contracts/Contract.sol#319-320)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unchecked-transfer

SharkPool.distribute_reward(uint256,uint256) (contracts/Contract.sol#192-207) performs a multiplication on the result of a division:
	- divided_portion = (proportion * divisible_units) / _totalAttempt (contracts/Contract.sol#201-202)
	- payout = (_balance * divided_portion) / divisible_units (contracts/Contract.sol#202-203)
SharkPool.calculate_minimum_contribution() (contracts/Contract.sol#216-220) performs a multiplication on the result of a division:
	- base_contract.currentDifficultyWei() / 10000000 * contract_period (contracts/Contract.sol#217-220)
SharkPool.do_redemption() (contracts/Contract.sol#310-321) performs a multiplication on the result of a division:
	- owner_cut = (balance / 100) * pool_percentage (contracts/Contract.sol#313-315)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#divide-before-multiply

Reentrancy in SharkPool.do_redemption() (contracts/Contract.sol#310-321):
	External calls:
	- base_contract.transfer(owner,owner_cut) (contracts/Contract.sol#316-317)
	- base_contract.transfer(msg.sender,remainder) (contracts/Contract.sol#319-320)
	State variables written after the call(s):
	- balances[msg.sender] = 0 (contracts/Contract.sol#320)
	SharkPool.balances (contracts/Contract.sol#117-120) can be used in cross function reentrancies:
	- SharkPool.balanceOf(address) (contracts/Contract.sol#122-124)
	- SharkPool.do_redemption() (contracts/Contract.sol#310-321)
Reentrancy in SharkPool.fallback() (contracts/Contract.sol#225-252):
	External calls:
	- require(bool)(msg.value >= calculate_minimum_contribution()) (contracts/Contract.sol#225-226)
		- base_contract.currentDifficultyWei() / 10000000 * contract_period (contracts/Contract.sol#217-220)
	- do_redemption() (contracts/Contract.sol#243)
		- base_contract.transfer(owner,owner_cut) (contracts/Contract.sol#316-317)
		- base_contract.transfer(msg.sender,remainder) (contracts/Contract.sol#319-320)
	State variables written after the call(s):
	- current_user.start_block = mined_blocks (contracts/Contract.sol#248)
	SharkPool.users (contracts/Contract.sol#114-116) can be used in cross function reentrancies:
	- SharkPool.fallback() (contracts/Contract.sol#225-252)
	- SharkPool.find_contribution(address) (contracts/Contract.sol#130-148)
	- SharkPool.users (contracts/Contract.sol#114-116)
	- current_user.end_block = mined_blocks + contract_period (contracts/Contract.sol#248-252)
	SharkPool.users (contracts/Contract.sol#114-116) can be used in cross function reentrancies:
	- SharkPool.fallback() (contracts/Contract.sol#225-252)
	- SharkPool.find_contribution(address) (contracts/Contract.sol#130-148)
	- SharkPool.users (contracts/Contract.sol#114-116)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-1

Ownable.transferOwnership(address) (contracts/Contract.sol#32-35) should emit an event for: 
	- owner = newOwner (contracts/Contract.sol#35) 
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-events-access-control

SharkPool.set_pool_percentage(uint8) (contracts/Contract.sol#124-130) should emit an event for: 
	- pool_percentage = _percentage (contracts/Contract.sol#130) 
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-events-arithmetic

Reentrancy in SharkPool.claim(uint256,address) (contracts/Contract.sol#288-310):
	External calls:
	- require(bool)(base_contract.checkWinning(_blockNumber)) (contracts/Contract.sol#295-296)
	- initial_balance = base_contract.balanceOf(this) (contracts/Contract.sol#299-300)
	- base_contract.claim(_blockNumber,this) (contracts/Contract.sol#302-304)
	- balance = base_contract.balanceOf(this) (contracts/Contract.sol#304-305)
	State variables written after the call(s):
	- distribute_reward(total_attempt,balance - initial_balance) (contracts/Contract.sol#307-309)
		- balances[user_address] = balances[user_address] + payout (contracts/Contract.sol#204-205)
	- claimed_blocks = claimed_blocks + 1 (contracts/Contract.sol#309-310)
Reentrancy in SharkPool.fallback() (contracts/Contract.sol#225-252):
	External calls:
	- require(bool)(msg.value >= calculate_minimum_contribution()) (contracts/Contract.sol#225-226)
		- base_contract.currentDifficultyWei() / 10000000 * contract_period (contracts/Contract.sol#217-220)
	State variables written after the call(s):
	- allocate_slot(msg.sender) (contracts/Contract.sol#245-248)
		- active_users[total_users] = _who (contracts/Contract.sol#152-154)
		- active_users[location] = _who (contracts/Contract.sol#162)
	- allocate_slot(msg.sender) (contracts/Contract.sol#245-248)
		- delete slots[slots.length - 1] (contracts/Contract.sol#163-164)
	- allocate_slot(msg.sender) (contracts/Contract.sol#245-248)
		- total_users += 1 (contracts/Contract.sol#154-155)
	- current_user.proportional_contribution = amount_remaining (contracts/Contract.sol#240)
	- current_user.proportional_contribution = msg.value / contract_period (contracts/Contract.sol#241-242)
	- current_user.proportional_contribution = msg.value / contract_period (contracts/Contract.sol#244-245)
Reentrancy in SharkPool.mine() (contracts/Contract.sol#252-288):
	External calls:
	- require(bool)(! base_contract.checkMiningAttempt(_blockNum,this)) (contracts/Contract.sol#256-260)
	State variables written after the call(s):
	- delete active_users[i] (contracts/Contract.sol#276-277)
	- attempts[_blockNum] = total_attempt (contracts/Contract.sol#284-286)
	- slots.push(i) (contracts/Contract.sol#277)
	- delete users[active_users[i]] (contracts/Contract.sol#278)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-2

SharkPool.mine() (contracts/Contract.sol#252-288) has costly operations inside a loop:
	- delete active_users[i] (contracts/Contract.sol#276-277)
SharkPool.mine() (contracts/Contract.sol#252-288) has costly operations inside a loop:
	- delete users[active_users[i]] (contracts/Contract.sol#278)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#costly-operations-inside-a-loop

Version constraint ^0.4.13 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
	- DirtyBytesArrayToStorage
	- KeccakCaching
	- EmptyByteArrayCopy
	- DynamicArrayCleanup
	- ImplicitConstructorCallvalueCheck
	- TupleAssignmentMultiStackSlotComponents
	- MemoryArrayCreationOverflow
	- privateCanBeOverridden
	- SignedArrayStorageCopy
	- UninitializedFunctionPointerInConstructor_0.4.x
	- IncorrectEventSignatureInLibraries_0.4.x
	- ExpExponentCleanup
	- NestedArrayFunctionCallDecoder
	- ZeroFunctionSelector
	- DelegateCallReturnValue
	- ECRecoverMalformedInput.
It is used by:
	- ^0.4.13 (contracts/Contract.sol#1)
solc-0.4.13 is an outdated solc version. Use a more recent version (at least 0.8.0), if possible.
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity

Variable ReentrancyGuard.rentrancy_lock (contracts/Contract.sol#52) is not in mixedCase
Struct SharkPool.user (contracts/Contract.sol#109-114) is not in CapWords
Parameter SharkPool.balanceOf(address)._owner (contracts/Contract.sol#122) is not in mixedCase
Function SharkPool.set_pool_percentage(uint8) (contracts/Contract.sol#124-130) is not in mixedCase
Parameter SharkPool.set_pool_percentage(uint8)._percentage (contracts/Contract.sol#126) is not in mixedCase
Function SharkPool.find_contribution(address) (contracts/Contract.sol#130-148) is not in mixedCase
Parameter SharkPool.find_contribution(address)._who (contracts/Contract.sol#131) is not in mixedCase
Function SharkPool.allocate_slot(address) (contracts/Contract.sol#148-165) is not in mixedCase
Parameter SharkPool.allocate_slot(address)._who (contracts/Contract.sol#148) is not in mixedCase
Function SharkPool.external_to_internal_block_number(uint256) (contracts/Contract.sol#165-172) is not in mixedCase
Parameter SharkPool.external_to_internal_block_number(uint256)._externalBlockNum (contracts/Contract.sol#166) is not in mixedCase
Function SharkPool.available_slots() (contracts/Contract.sol#172-177) is not in mixedCase
Function SharkPool.get_bitcoineum_contract_address() (contracts/Contract.sol#178-189) is not in mixedCase
Function SharkPool.distribute_reward(uint256,uint256) (contracts/Contract.sol#192-207) is not in mixedCase
Parameter SharkPool.distribute_reward(uint256,uint256)._totalAttempt (contracts/Contract.sol#192-194) is not in mixedCase
Parameter SharkPool.distribute_reward(uint256,uint256)._balance (contracts/Contract.sol#195) is not in mixedCase
Function SharkPool.current_external_block() (contracts/Contract.sol#210-216) is not in mixedCase
Function SharkPool.calculate_minimum_contribution() (contracts/Contract.sol#216-220) is not in mixedCase
Parameter SharkPool.claim(uint256,address)._blockNumber (contracts/Contract.sol#288-289) is not in mixedCase
Function SharkPool.do_redemption() (contracts/Contract.sol#310-321) is not in mixedCase
Parameter SharkPool.checkMiningAttempt(uint256,address)._blockNum (contracts/Contract.sol#323-324) is not in mixedCase
Parameter SharkPool.checkMiningAttempt(uint256,address)._sender (contracts/Contract.sol#324) is not in mixedCase
Parameter SharkPool.checkWinning(uint256)._blockNum (contracts/Contract.sol#328) is not in mixedCase
Variable SharkPool.pool_percentage (contracts/Contract.sol#92) is not in mixedCase
Variable SharkPool.total_users (contracts/Contract.sol#99-101) is not in mixedCase
Variable SharkPool.contract_period (contracts/Contract.sol#104) is not in mixedCase
Variable SharkPool.mined_blocks (contracts/Contract.sol#105-106) is not in mixedCase
Variable SharkPool.claimed_blocks (contracts/Contract.sol#106-107) is not in mixedCase
Variable SharkPool.base_contract (contracts/Contract.sol#108-109) is not in mixedCase
Variable SharkPool.active_users (contracts/Contract.sol#120-121) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions

SharkPool.calculate_minimum_contribution() (contracts/Contract.sol#216-220) uses literals with too many digits:
	- base_contract.currentDifficultyWei() / 10000000 * contract_period (contracts/Contract.sol#217-220)
SharkPool.slitherConstructorConstantVariables() (contracts/Contract.sol#86-334) uses literals with too many digits:
	- divisible_units = 10000000 (contracts/Contract.sol#101)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#too-many-digits

SharkPool.contract_period (contracts/Contract.sol#104) should be constant 
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-constant
. analyzed (4 contracts with 100 detectors), 50 result(s) found
Metadata
{
    "solc": {
        "status": "ok",
        "use_rc": 0,
        "version": "0.4.13",
        "strategy": "solc-select",
        "solc_path": "/var/www/tripwire/.venv/bin/solc",
        "install_rc": 0,
        "use_stderr": null,
        "use_stdout": "Switched global version to 0.4.13",
        "install_stderr": null,
        "install_stdout": "Installing solc '0.4.13'...\nVersion '0.4.13' installed."
    },
    "solc_args": "--base-path /tmp/slither-dbj2922e --allow-paths /tmp/slither-dbj2922e,/tmp/slither-dbj2922e/lib,/tmp/slither-dbj2922e/src",
    "remappings": [],
    "source_files": [
        "contracts/Contract.sol"
    ],
    "contract_count": 0,
    "contract_names": [],
    "detector_count": 50,
    "workspace_hash": "ff59782de2cba25b6001b9562c597c8bc5ed93dbf7bff53e1b1b5e440f72b96f",
    "duration_seconds": 1.0326552391052246,
    "solc_version_requested": "0.4.13"
}

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
4
No findings?
no
Summary
Found 4 issues: reentrancy risk in fallback redemption, slot reuse bug that can overwrite active users, stale user mapping blocks re-joins and mis-accounts contributions, and unchecked token transfer return values can zero balances without payout.
View stdout
{"no_findings":false,"summary":"Found 4 issues: reentrancy risk in fallback redemption, slot reuse bug that can overwrite active users, stale user mapping blocks re-joins and mis-accounts contributions, and unchecked token transfer return values can zero balances without payout.","findings":[{"severity":"medium","category":"reentrancy","title":"Fallback redemption performs external token transfers before clearing balance and without reentrancy guard","exploit_scenario":"If the Bitcoineum token contract (or an ERC223/777-style token) triggers callbacks on transfer, a malicious recipient contract can reenter `redeem()` or the payable fallback during `do_redemption()` and withdraw its `balances[msg.sender]` multiple times before it is set to 0, draining token rewards.","recommendation":"Apply `nonReentrant` (or a dedicated reentrancy lock) to the payable fallback or avoid calling `do_redemption()` from it; update `balances[msg.sender]` before external calls (checks-effects-interactions) and revert on failed transfers.","evidence":"`function () payable { ... do_redemption(); }` and `do_redemption()` transfers tokens before `balances[msg.sender] = 0`.","locations":["contracts/Contract.sol:229","contracts/Contract.sol:319"]},{"severity":"medium","category":"other","title":"Slot reuse bug can overwrite active users when pool is full","exploit_scenario":"When `total_users` has reached `max_users`, new allocations reuse `slots[slots.length-1]` and then `delete` the element without shrinking the array. This leaves a zero value at the end and keeps `slots.length` unchanged, so subsequent allocations often reuse slot 0 and can overwrite an active user, removing their contribution and skewing rewards.","recommendation":"Use `slots.length--` (or `slots.pop()` in newer Solidity) after reading the last slot, and consider validating the slot index before assignment.","evidence":"`uint8 location = slots[slots.length-1]; ... delete slots[slots.length-1];` does not reduce `slots.length`.","locations":["contracts/Contract.sol:154","contracts/Contract.sol:165"]},{"severity":"low","category":"other","title":"Expired users are not removed from the mapping, preventing re-join and mis-accounting contributions","exploit_scenario":"During ejection, the code deletes `active_users[i]` before deleting the user, so it ends up deleting `users[0]` and leaving the expired user mapping intact. Later, that user still has `start_block > 0`, so the fallback path skips `allocate_slot` and accepts deposits that never get mined, effectively burning the contribution.","recommendation":"Store the address before clearing the slot and delete `users[addr]` first; alternatively, clear `users[msg.sender]` when a user is no longer active and ensure re-joins allocate a slot.","evidence":"`delete active_users[i]; ... delete users[active_users[i]];` deletes the mapping at address 0 instead of the ejected user.","locations":["contracts/Contract.sol:272","contracts/Contract.sol:281"]},{"severity":"low","category":"other","title":"Unchecked token transfer return values can zero balances without payout","exploit_scenario":"If the Bitcoineum token `transfer` returns `false` (e.g., paused token or failure), `do_redemption()` still sets `balances[msg.sender] = 0`, causing the user to lose rewards without receiving tokens.","recommendation":"Require `base_contract.transfer(...)` to return true and revert on failure before clearing balances.","evidence":"`base_contract.transfer(owner, owner_cut);` and `base_contract.transfer(msg.sender, remainder);` are unchecked but `balances[msg.sender]` is cleared afterwards.","locations":["contracts/Contract.sol:325","contracts/Contract.sol:327"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-wk1lu1c1
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019be438-13f5-7c93-acae-7d9ced74a7d0
--------
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 audit with AUDIT_BUNDLE.txt**

I'll read the AUDIT_BUNDLE.txt file in the sandbox to understand its contents before proceeding with the audit.
exec
/bin/bash -lc ls in /tmp/codex-wk1lu1c1 succeeded in 7ms:
AUDIT_BUNDLE.txt
codex-output-schema.json
contracts
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-wk1lu1c1 succeeded in 5ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.

================================================================================
FILE: contracts/Contract.sol
================================================================================
pragma solidity ^0.4.13;

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address public owner;


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.


Reconnecting... 1/5



thinking
**Assessing reentrancy and access control**

The fallback function is payable and lacks nonReentrant protection while calling token transfers, but typical ERC20 tokens don't trigger reentrancy via transfer, so the risk seems low. However, the unrestricted access to key functions like mine and claim may warrant further review for potential misuse or griefing.
thinking
**Identifying multiple accounting and logic bugs**

There’s a critical bug where deleting active user entries before clearing user mappings causes stale user data, leading to users trapped without rejoining slots and wasted contributions. Also, improper slot deletion leaves zeroed slots without shrinking the array, risking duplicate slot allocations and overwrites. Unchecked token transfer return values may cause lost funds if transfers fail silently. Finally, a likely reentrancy vector exists in fallback calling token transfers without locking, potentially allowing reentrant withdrawals if the token invokes callbacks.
thinking
**Summarizing core vulnerabilities and bugs**

The fallback function enables reentrancy due to calling external token transfers before updating state without locking, risking multiple withdrawals if tokens have callbacks. The slot management incorrectly deletes slots without reducing length, causing repeated slot reuse that overwrites active users and leads to contribution loss. User ejection logic deletes active user slots before clearing user mappings, leaving stale entries that block users from rejoining and cause wasted deposits. Unchecked transfer return values risk silently losing tokens on failed transfers. These issues range from low to medium severity and span accounting bugs and potential reentrancy.
exec
/bin/bash -lc 'nl -ba contracts/Contract.sol' in /tmp/codex-wk1lu1c1 succeeded in 7ms:
     1	pragma solidity ^0.4.13;
     2	
     3	/**
     4	 * @title Ownable
     5	 * @dev The Ownable contract has an owner address, and provides basic authorization control
     6	 * functions, this simplifies the implementation of "user permissions".
     7	 */
     8	contract Ownable {
     9	  address public owner;
    10	
    11	
    12	  /**
    13	   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
    14	   * account.
    15	   */
    16	  function Ownable() {
    17	    owner = msg.sender;
    18	  }
    19	
    20	


thinking
**Summarizing vulnerabilities with locations and severities**

The findings include a medium-severity reentrancy issue in fallback and redemption due to unguarded external calls, a medium-severity slot reuse bug risking user displacement and mining share loss, a low-severity logic bug from expired user mappings not cleared, and a low-severity unchecked token transfer return risking balance loss; all include line references and categorized as reentrancy or other with careful severity justification. Next is crafting the final JSON summary without Unicode.
thinking
**Drafting detailed vulnerability summaries with recommendations**

I've outlined full titles, exploit scenarios, and precise recommendations for each of the four issues, matching line number locations and using ASCII-only text. Next, I'll compose the final JSON summary conforming to the schema with code file references and ensure clarity for all points.
codex
{"no_findings":false,"summary":"Found 4 issues: reentrancy risk in fallback redemption, slot reuse bug that can overwrite active users, stale user mapping blocks re-joins and mis-accounts contributions, and unchecked token transfer return values can zero balances without payout.","findings":[{"severity":"medium","category":"reentrancy","title":"Fallback redemption performs external token transfers before clearing balance and without reentrancy guard","exploit_scenario":"If the Bitcoineum token contract (or an ERC223/777-style token) triggers callbacks on transfer, a malicious recipient contract can reenter `redeem()` or the payable fallback during `do_redemption()` and withdraw its `balances[msg.sender]` multiple times before it is set to 0, draining token rewards.","recommendation":"Apply `nonReentrant` (or a dedicated reentrancy lock) to the payable fallback or avoid calling `do_redemption()` from it; update `balances[msg.sender]` before external calls (checks-effects-interactions) and revert on failed transfers.","evidence":"`function () payable { ... do_redemption(); }` and `do_redemption()` transfers tokens before `balances[msg.sender] = 0`.","locations":["contracts/Contract.sol:229","contracts/Contract.sol:319"]},{"severity":"medium","category":"other","title":"Slot reuse bug can overwrite active users when pool is full","exploit_scenario":"When `total_users` has reached `max_users`, new allocations reuse `slots[slots.length-1]` and then `delete` the element without shrinking the array. This leaves a zero value at the end and keeps `slots.length` unchanged, so subsequent allocations often reuse slot 0 and can overwrite an active user, removing their contribution and skewing rewards.","recommendation":"Use `slots.length--` (or `slots.pop()` in newer Solidity) after reading the last slot, and consider validating the slot index before assignment.","evidence":"`uint8 location = slots[slots.length-1]; ... delete slots[slots.length-1];` does not reduce `slots.length`.","locations":["contracts/Contract.sol:154","contracts/Contract.sol:165"]},{"severity":"low","category":"other","title":"Expired users are not removed from the mapping, preventing re-join and mis-accounting contributions","exploit_scenario":"During ejection, the code deletes `active_users[i]` before deleting the user, so it ends up deleting `users[0]` and leaving the expired user mapping intact. Later, that user still has `start_block > 0`, so the fallback path skips `allocate_slot` and accepts deposits that never get mined, effectively burning the contribution.","recommendation":"Store the address before clearing the slot and delete `users[addr]` first; alternatively, clear `users[msg.sender]` when a user is no longer active and ensure re-joins allocate a slot.","evidence":"`delete active_users[i]; ... delete users[active_users[i]];` deletes the mapping at address 0 instead of the ejected user.","locations":["contracts/Contract.sol:272","contracts/Contract.sol:281"]},{"severity":"low","category":"other","title":"Unchecked token transfer return values can zero balances without payout","exploit_scenario":"If the Bitcoineum token `transfer` returns `false` (e.g., paused token or failure), `do_redemption()` still sets `balances[msg.sender] = 0`, causing the user to lose rewards without receiving tokens.","recommendation":"Require `base_contract.transfer(...)` to return true and revert on failure before clearing balances.","evidence":"`base_contract.transfer(owner, owner_cut);` and `base_contract.transfer(msg.sender, remainder);` are unchecked but `balances[msg.sender]` is cleared afterwards.","locations":["contracts/Contract.sol:325","contracts/Contract.sol:327"]}]}
tokens used
33,106
Metadata
{
    "codex": {
        "ran_at": "2026-01-22T05:44:57.365949+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 1,
        "import_count": 0,
        "first_party_contracts_count": 1
    },
    "summary": "Found 4 issues: reentrancy risk in fallback redemption, slot reuse bug that can overwrite active users, stale user mapping blocks re-joins and mis-accounts contributions, and unchecked token transfer return values can zero balances without payout.",
    "raw_final": {
        "summary": "Found 4 issues: reentrancy risk in fallback redemption, slot reuse bug that can overwrite active users, stale user mapping blocks re-joins and mis-accounts contributions, and unchecked token transfer return values can zero balances without payout.",
        "findings": [
            {
                "title": "Fallback redemption performs external token transfers before clearing balance and without reentrancy guard",
                "category": "reentrancy",
                "evidence": "`function () payable { ... do_redemption(); }` and `do_redemption()` transfers tokens before `balances[msg.sender] = 0`.",
                "severity": "medium",
                "locations": [
                    "contracts/Contract.sol:229",
                    "contracts/Contract.sol:319"
                ],
                "recommendation": "Apply `nonReentrant` (or a dedicated reentrancy lock) to the payable fallback or avoid calling `do_redemption()` from it; update `balances[msg.sender]` before external calls (checks-effects-interactions) and revert on failed transfers.",
                "exploit_scenario": "If the Bitcoineum token contract (or an ERC223/777-style token) triggers callbacks on transfer, a malicious recipient contract can reenter `redeem()` or the payable fallback during `do_redemption()` and withdraw its `balances[msg.sender]` multiple times before it is set to 0, draining token rewards."
            },
            {
                "title": "Slot reuse bug can overwrite active users when pool is full",
                "category": "other",
                "evidence": "`uint8 location = slots[slots.length-1]; ... delete slots[slots.length-1];` does not reduce `slots.length`.",
                "severity": "medium",
                "locations": [
                    "contracts/Contract.sol:154",
                    "contracts/Contract.sol:165"
                ],
                "recommendation": "Use `slots.length--` (or `slots.pop()` in newer Solidity) after reading the last slot, and consider validating the slot index before assignment.",
                "exploit_scenario": "When `total_users` has reached `max_users`, new allocations reuse `slots[slots.length-1]` and then `delete` the element without shrinking the array. This leaves a zero value at the end and keeps `slots.length` unchanged, so subsequent allocations often reuse slot 0 and can overwrite an active user, removing their contribution and skewing rewards."
            },
            {
                "title": "Expired users are not removed from the mapping, preventing re-join and mis-accounting contributions",
                "category": "other",
                "evidence": "`delete active_users[i]; ... delete users[active_users[i]];` deletes the mapping at address 0 instead of the ejected user.",
                "severity": "low",
                "locations": [
                    "contracts/Contract.sol:272",
                    "contracts/Contract.sol:281"
                ],
                "recommendation": "Store the address before clearing the slot and delete `users[addr]` first; alternatively, clear `users[msg.sender]` when a user is no longer active and ensure re-joins allocate a slot.",
                "exploit_scenario": "During ejection, the code deletes `active_users[i]` before deleting the user, so it ends up deleting `users[0]` and leaving the expired user mapping intact. Later, that user still has `start_block > 0`, so the fallback path skips `allocate_slot` and accepts deposits that never get mined, effectively burning the contribution."
            },
            {
                "title": "Unchecked token transfer return values can zero balances without payout",
                "category": "other",
                "evidence": "`base_contract.transfer(owner, owner_cut);` and `base_contract.transfer(msg.sender, remainder);` are unchecked but `balances[msg.sender]` is cleared afterwards.",
                "severity": "low",
                "locations": [
                    "contracts/Contract.sol:325",
                    "contracts/Contract.sol:327"
                ],
                "recommendation": "Require `base_contract.transfer(...)` to return true and revert on failure before clearing balances.",
                "exploit_scenario": "If the Bitcoineum token `transfer` returns `false` (e.g., paused token or failure), `do_redemption()` still sets `balances[msg.sender] = 0`, causing the user to lose rewards without receiving tokens."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
11
EXT*/BALANCE
11
Total opcodes
3809
Flags
heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x0143
0000000a: JUMPI
0000000b: PUSH4 0xffffffff
00000010: PUSH1 0xe0
00000012: PUSH1 0x02
00000014: EXP
00000015: PUSH1 0x00
00000017: CALLDATALOAD
00000018: DIV
00000019: AND
0000001a: PUSH4 0x014c3dbc
0000001f: DUP2
00000020: EQ
00000021: PUSH2 0x021b
00000024: JUMPI
00000025: DUP1
00000026: PUSH4 0x0ee33c70
0000002b: EQ
0000002c: PUSH2 0x0240
0000002f: JUMPI
00000030: DUP1
00000031: PUSH4 0x2c035157
00000036: EQ
00000037: PUSH2 0x0265
0000003a: JUMPI
0000003b: DUP1
0000003c: PUSH4 0x2d59680d
00000041: EQ
00000042: PUSH2 0x028a
00000045: JUMPI
00000046: DUP1
00000047: PUSH4 0x42b343a3
0000004c: EQ
0000004d: PUSH2 0x0315
00000050: JUMPI
00000051: DUP1
00000052: PUSH4 0x54ba34b5
00000057: EQ
00000058: PUSH2 0x033d
0000005b: JUMPI
0000005c: DUP1
0000005d: PUSH4 0x5f623e15
00000062: EQ
00000063: PUSH2 0x0362
00000066: JUMPI
00000067: DUP1
00000068: PUSH4 0x70a08231
0000006d: EQ
0000006e: PUSH2 0x0387
00000071: JUMPI
00000072: DUP1
00000073: PUSH4 0x88537daf
00000078: EQ
00000079: PUSH2 0x03b8
0000007c: JUMPI
0000007d: DUP1
0000007e: PUSH4 0x8da5cb5b
00000083: EQ
00000084: PUSH2 0x03ee
00000087: JUMPI
00000088: DUP1
00000089: PUSH4 0x99f4b251
0000008e: EQ
0000008f: PUSH2 0x041d
00000092: JUMPI
00000093: DUP1
00000094: PUSH4 0xa263601c
00000099: EQ
0000009a: PUSH2 0x0432
0000009d: JUMPI
0000009e: DUP1
0000009f: PUSH4 0xa87430ba
000000a4: EQ
000000a5: PUSH2 0x0483
000000a8: JUMPI
000000a9: DUP1
000000aa: PUSH4 0xaee1d4d3
000000af: EQ
000000b0: PUSH2 0x04c6
000000b3: JUMPI
000000b4: DUP1
000000b5: PUSH4 0xaf76c4d2
000000ba: EQ
000000bb: PUSH2 0x04eb
000000be: JUMPI
000000bf: DUP1
000000c0: PUSH4 0xb03645b5
000000c5: EQ
000000c6: PUSH2 0x0510
000000c9: JUMPI
000000ca: DUP1
000000cb: PUSH4 0xb8b0f533
000000d0: EQ
000000d1: PUSH2 0x0535
000000d4: JUMPI
000000d5: DUP1
000000d6: PUSH4 0xbe040fb0
000000db: EQ
000000dc: PUSH2 0x0564
000000df: JUMPI
000000e0: DUP1
000000e1: PUSH4 0xc961df66
000000e6: EQ
000000e7: PUSH2 0x0579
000000ea: JUMPI
000000eb: DUP1
000000ec: PUSH4 0xdda6c3ce
000000f1: EQ
000000f2: PUSH2 0x059e
000000f5: JUMPI
000000f6: DUP1
000000f7: PUSH4 0xddd5e1b2
000000fc: EQ
000000fd: PUSH2 0x05c8
00000100: JUMPI
00000101: DUP1
00000102: PUSH4 0xe530db1c
00000107: EQ
00000108: PUSH2 0x05fe
0000010b: JUMPI
0000010c: DUP1
0000010d: PUSH4 0xe6d2ceab
00000112: EQ
00000113: PUSH2 0x0623
00000116: JUMPI
00000117: DUP1
00000118: PUSH4 0xe7cc62bd
0000011d: EQ
0000011e: PUSH2 0x063e
00000121: JUMPI
00000122: DUP1
00000123: PUSH4 0xec083e37
00000128: EQ
00000129: PUSH2 0x0663
0000012c: JUMPI
0000012d: DUP1
0000012e: PUSH4 0xf2fde38b
00000133: EQ
00000134: PUSH2 0x0695
00000137: JUMPI
00000138: DUP1
00000139: PUSH4 0xfab425e7
0000013e: EQ
0000013f: PUSH2 0x06b6
00000142: JUMPI
00000143: JUMPDEST
00000144: PUSH2 0x0219
00000147: JUMPDEST
00000148: PUSH1 0x00
0000014a: DUP1
0000014b: PUSH1 0x00
0000014d: PUSH2 0x0154
00000150: PUSH2 0x06de
00000153: JUMP
00000154: JUMPDEST
00000155: CALLVALUE
00000156: LT
00000157: ISZERO
00000158: PUSH2 0x0160
0000015b: JUMPI
0000015c: PUSH1 0x00
0000015e: DUP1
0000015f: REVERT
00000160: JUMPDEST
00000161: PUSH1 0x01
00000163: PUSH1 0xa0
00000165: PUSH1 0x02
00000167: EXP
00000168: SUB
00000169: CALLER
0000016a: AND
0000016b: PUSH1 0x00
0000016d: SWAP1
0000016e: DUP2
0000016f: MSTORE
00000170: PUSH1 0x08
00000172: PUSH1 0x20
00000174: MSTORE
00000175: PUSH1 0x40
00000177: DUP2
00000178: KECCAK256
00000179: DUP1
0000017a: SLOAD
0000017b: SWAP1
0000017c: SWAP5
0000017d: POP
0000017e: GT
0000017f: ISZERO
00000180: PUSH2 0x01e7
00000183: JUMPI
00000184: PUSH1 0x04
00000186: SLOAD
00000187: DUP4
00000188: PUSH1 0x01
0000018a: ADD
0000018b: SLOAD
0000018c: GT
0000018d: ISZERO
0000018e: PUSH2 0x01c6
00000191: JUMPI
00000192: PUSH1 0x04
00000194: SLOAD
00000195: DUP4
00000196: PUSH1 0x01
00000198: ADD
00000199: SLOAD
0000019a: SUB
0000019b: SWAP2
0000019c: POP
0000019d: DUP2
0000019e: DUP4
0000019f: PUSH1 0x02
000001a1: ADD
000001a2: SLOAD
000001a3: MUL
000001a4: SWAP1
000001a5: POP
000001a6: CALLVALUE
000001a7: DUP2
000001a8: ADD
000001a9: SWAP1
000001aa: POP
000001ab: PUSH1 0x03
000001ad: SLOAD
000001ae: DUP2
000001af: DUP2
000001b0: ISZERO
000001b1: ISZERO
000001b2: PUSH2 0x01b7
000001b5: JUMPI
000001b6: INVALID
000001b7: JUMPDEST
000001b8: DIV
000001b9: PUSH1 0x02
000001bb: DUP5
000001bc: ADD
000001bd: DUP2
000001be: SWAP1
000001bf: SSTORE
000001c0: SWAP1
000001c1: POP
000001c2: PUSH2 0x01da
000001c5: JUMP
000001c6: JUMPDEST
000001c7: PUSH1 0x03
000001c9: SLOAD
000001ca: CALLVALUE
000001cb: DUP2
000001cc: ISZERO
000001cd: ISZERO
000001ce: PUSH2 0x01d3
000001d1: JUMPI
000001d2: INVALID
000001d3: JUMPDEST
000001d4: DIV
000001d5: PUSH1 0x02
000001d7: DUP5
000001d8: ADD
000001d9: SSTORE
000001da: JUMPDEST
000001db: PUSH2 0x01e2
000001de: PUSH2 0x075d
000001e1: JUMP
000001e2: JUMPDEST
000001e3: PUSH2 0x0203
000001e6: JUMP
000001e7: JUMPDEST
000001e8: PUSH1 0x03
000001ea: SLOAD
000001eb: CALLVALUE
000001ec: DUP2
000001ed: ISZERO
000001ee: ISZERO
000001ef: PUSH2 0x01f4
000001f2: JUMPI
000001f3: INVALID
000001f4: JUMPDEST
000001f5: DIV
000001f6: PUSH1 0x02
000001f8: DUP5
000001f9: ADD
000001fa: SSTORE
000001fb: PUSH2 0x0203
000001fe: CALLER
000001ff: PUSH2 0x08b6
00000202: JUMP
00000203: JUMPDEST
00000204: JUMPDEST
00000205: PUSH1 0x04
00000207: SLOAD
00000208: DUP1
00000209: DUP5
0000020a: SSTORE
0000020b: PUSH1 0x03
0000020d: SLOAD
0000020e: ADD
0000020f: PUSH1 0x01
00000211: DUP5
00000212: ADD
00000213: SSTORE
00000214: JUMPDEST
00000215: POP
00000216: POP
00000217: POP
00000218: JUMP
00000219: JUMPDEST
0000021a: STOP
0000021b: JUMPDEST
0000021c: CALLVALUE
0000021d: ISZERO
0000021e: PUSH2 0x0226
00000221: JUMPI
00000222: PUSH1 0x00
00000224: DUP1
00000225: REVERT
00000226: JUMPDEST
00000227: PUSH2 0x022e
0000022a: PUSH2 0x09d0
0000022d: JUMP
0000022e: JUMPDEST
0000022f: PUSH1 0x40
00000231: MLOAD
00000232: SWAP1
00000233: DUP2
00000234: MSTORE
00000235: PUSH1 0x20
00000237: ADD
00000238: PUSH1 0x40
0000023a: MLOAD
0000023b: DUP1
0000023c: SWAP2
0000023d: SUB
0000023e: SWAP1
0000023f: RETURN
00000240: JUMPDEST
00000241: CALLVALUE
00000242: ISZERO
00000243: PUSH2 0x024b
00000246: JUMPI
00000247: PUSH1 0x00
00000249: DUP1
0000024a: REVERT
0000024b: JUMPDEST
0000024c: PUSH2 0x022e
0000024f: PUSH2 0x09d5
00000252: JUMP
00000253: JUMPDEST
00000254: PUSH1 0x40
00000256: MLOAD
00000257: SWAP1
00000258: DUP2
00000259: MSTORE
0000025a: PUSH1 0x20
0000025c: ADD
0000025d: PUSH1 0x40
0000025f: MLOAD
00000260: DUP1
00000261: SWAP2
00000262: SUB
00000263: SWAP1
00000264: RETURN
00000265: JUMPDEST
00000266: CALLVALUE
00000267: ISZERO
00000268: PUSH2 0x0270
0000026b: JUMPI
0000026c: PUSH1 0x00
0000026e: DUP1
0000026f: REVERT
00000270: JUMPDEST
00000271: PUSH2 0x022e
00000274: PUSH2 0x06de
00000277: JUMP
00000278: JUMPDEST
00000279: PUSH1 0x40
0000027b: MLOAD
0000027c: SWAP1
0000027d: DUP2
0000027e: MSTORE
0000027f: PUSH1 0x20
00000281: ADD
00000282: PUSH1 0x40
00000284: MLOAD
00000285: DUP1
00000286: SWAP2
00000287: SUB
00000288: SWAP1
00000289: RETURN
0000028a: JUMPDEST
0000028b: CALLVALUE
0000028c: ISZERO
0000028d: PUSH2 0x0295
00000290: JUMPI
00000291: PUSH1 0x00
00000293: DUP1
00000294: REVERT
00000295: JUMPDEST
00000296: PUSH2 0x029d
00000299: PUSH2 0x09db
0000029c: JUMP
0000029d: JUMPDEST
0000029e: PUSH1 0x40
000002a0: MLOAD
000002a1: PUSH1 0x20
000002a3: DUP1
000002a4: DUP3
000002a5: MSTORE
000002a6: DUP2
000002a7: SWAP1
000002a8: DUP2
000002a9: ADD
000002aa: DUP4
000002ab: DUP2
000002ac: DUP2
000002ad: MLOAD
000002ae: DUP2
000002af: MSTORE
000002b0: PUSH1 0x20
000002b2: ADD
000002b3: SWAP2
000002b4: POP
000002b5: DUP1
000002b6: MLOAD
000002b7: SWAP1
000002b8: PUSH1 0x20
000002ba: ADD
000002bb: SWAP1
000002bc: DUP1
000002bd: DUP4
000002be: DUP4
000002bf: PUSH1 0x00
000002c1: JUMPDEST
000002c2: DUP4
000002c3: DUP2
000002c4: LT
000002c5: ISZERO
000002c6: PUSH2 0x02da
000002c9: JUMPI
000002ca: DUP1
000002cb: DUP3
000002cc: ADD
000002cd: MLOAD
000002ce: DUP2
000002cf: DUP5
000002d0: ADD
000002d1: MSTORE
000002d2: JUMPDEST
000002d3: PUSH1 0x20
000002d5: ADD
000002d6: PUSH2 0x02c1
000002d9: JUMP
000002da: JUMPDEST
000002db: POP
000002dc: POP
000002dd: POP
000002de: POP
000002df: SWAP1
000002e0: POP
000002e1: SWAP1
000002e2: DUP2
000002e3: ADD
000002e4: SWAP1
000002e5: PUSH1 0x1f
000002e7: AND
000002e8: DUP1
000002e9: ISZERO
000002ea: PUSH2 0x0307
000002ed: JUMPI
000002ee: DUP1
000002ef: DUP3
000002f0: SUB
000002f1: DUP1
000002f2: MLOAD
000002f3: PUSH1 0x01
000002f5: DUP4
000002f6: PUSH1 0x20
000002f8: SUB
000002f9: PUSH2 0x0100
000002fc: EXP
000002fd: SUB
000002fe: NOT
000002ff: AND
00000300: DUP2
00000301: MSTORE
00000302: PUSH1 0x20
00000304: ADD
00000305: SWAP2
00000306: POP
00000307: JUMPDEST
00000308: POP
00000309: SWAP3
0000030a: POP
0000030b: POP
0000030c: POP
0000030d: PUSH1 0x40
0000030f: MLOAD
00000310: DUP1
00000311: SWAP2
00000312: SUB
00000313: SWAP1
00000314: RETURN
00000315: JUMPDEST
00000316: CALLVALUE
00000317: ISZERO
00000318: PUSH2 0x0320
0000031b: JUMPI
0000031c: PUSH1 0x00
0000031e: DUP1
0000031f: REVERT
00000320: JUMPDEST
00000321: PUSH2 0x022e
00000324: PUSH1 0x04
00000326: CALLDATALOAD
00000327: PUSH2 0x0a05
0000032a: JUMP
0000032b: JUMPDEST
0000032c: PUSH1 0x40
0000032e: MLOAD
0000032f: SWAP1
00000330: DUP2
00000331: MSTORE
00000332: PUSH1 0x20
00000334: ADD
00000335: PUSH1 0x40
00000337: MLOAD
00000338: DUP1
00000339: SWAP2
0000033a: SUB
0000033b: SWAP1
0000033c: RETURN
0000033d: JUMPDEST
0000033e: CALLVALUE
0000033f: ISZERO
00000340: PUSH2 0x0348
00000343: JUMPI
00000344: PUSH1 0x00
00000346: DUP1
00000347: REVERT
00000348: JUMPDEST
00000349: PUSH2 0x022e
0000034c: PUSH2 0x0a17
0000034f: JUMP
00000350: JUMPDEST
00000351: PUSH1 0x40
00000353: MLOAD
00000354: SWAP1
00000355: DUP2
00000356: MSTORE
00000357: PUSH1 0x20
00000359: ADD
0000035a: PUSH1 0x40
0000035c: MLOAD
0000035d: DUP1
0000035e: SWAP2
0000035f: SUB
00000360: SWAP1
00000361: RETURN
00000362: JUMPDEST
00000363: CALLVALUE
00000364: ISZERO
00000365: PUSH2 0x036d
00000368: JUMPI
00000369: PUSH1 0x00
0000036b: DUP1
0000036c: REVERT
0000036d: JUMPDEST
0000036e: PUSH2 0x022e
00000371: PUSH2 0x0a3d
00000374: JUMP
00000375: JUMPDEST
00000376: PUSH1 0x40
00000378: MLOAD
00000379: SWAP1
0000037a: DUP2
0000037b: MSTORE
0000037c: PUSH1 0x20
0000037e: ADD
0000037f: PUSH1 0x40
00000381: MLOAD
00000382: DUP1
00000383: SWAP2
00000384: SUB
00000385: SWAP1
00000386: RETURN
00000387: JUMPDEST
00000388: CALLVALUE
00000389: ISZERO
0000038a: PUSH2 0x0392
0000038d: JUMPI
0000038e: PUSH1 0x00
00000390: DUP1
00000391: REVERT
00000392: JUMPDEST
00000393: PUSH2 0x022e
00000396: PUSH1 0x01
00000398: PUSH1 0xa0
0000039a: PUSH1 0x02
0000039c: EXP
0000039d: SUB
0000039e: PUSH1 0x04
000003a0: CALLDATALOAD
000003a1: AND
000003a2: PUSH2 0x0a44
000003a5: JUMP
000003a6: JUMPDEST
000003a7: PUSH1 0x40
000003a9: MLOAD
000003aa: SWAP1
000003ab: DUP2
000003ac: MSTORE
000003ad: PUSH1 0x20
000003af: ADD
000003b0: PUSH1 0x40
000003b2: MLOAD
000003b3: DUP1
000003b4: SWAP2
000003b5: SUB
000003b6: SWAP1
000003b7: RETURN
000003b8: JUMPDEST
000003b9: CALLVALUE
000003ba: ISZERO
000003bb: PUSH2 0x03c3
000003be: JUMPI
000003bf: PUSH1 0x00
000003c1: DUP1
000003c2: REVERT
000003c3: JUMPDEST
000003c4: PUSH2 0x03da
000003c7: PUSH1 0x04
000003c9: CALLDATALOAD
000003ca: PUSH1 0x01
000003cc: PUSH1 0xa0
000003ce: PUSH1 0x02
000003d0: EXP
000003d1: SUB
000003d2: PUSH1 0x24
000003d4: CALLDATALOAD
000003d5: AND
000003d6: PUSH2 0x0a63
000003d9: JUMP
000003da: JUMPDEST
000003db: PUSH1 0x40
000003dd: MLOAD
000003de: SWAP1
000003df: ISZERO
000003e0: ISZERO
000003e1: DUP2
000003e2: MSTORE
000003e3: PUSH1 0x20
000003e5: ADD
000003e6: PUSH1 0x40
000003e8: MLOAD
000003e9: DUP1
000003ea: SWAP2
000003eb: SUB
000003ec: SWAP1
000003ed: RETURN
000003ee: JUMPDEST
000003ef: CALLVALUE
000003f0: ISZERO
000003f1: PUSH2 0x03f9
000003f4: JUMPI
000003f5: PUSH1 0x00
000003f7: DUP1
000003f8: REVERT
000003f9: JUMPDEST
000003fa: PUSH2 0x0401
000003fd: PUSH2 0x0ae8
00000400: JUMP
00000401: JUMPDEST
00000402: PUSH1 0x40
00000404: MLOAD
00000405: PUSH1 0x01
00000407: PUSH1 0xa0
00000409: PUSH1 0x02
0000040b: EXP
0000040c: SUB
0000040d: SWAP1
0000040e: SWAP2
0000040f: AND
00000410: DUP2
00000411: MSTORE
00000412: PUSH1 0x20
00000414: ADD
00000415: PUSH1 0x40
00000417: MLOAD
00000418: DUP1
00000419: SWAP2
0000041a: SUB
0000041b: SWAP1
0000041c: RETURN
0000041d: JUMPDEST
0000041e: CALLVALUE
0000041f: ISZERO
00000420: PUSH2 0x0428
00000423: JUMPI
00000424: PUSH1 0x00
00000426: DUP1
00000427: REVERT
00000428: JUMPDEST
00000429: PUSH2 0x0219
0000042c: PUSH2 0x0af7
0000042f: JUMP
00000430: JUMPDEST
00000431: STOP
00000432: JUMPDEST
00000433: CALLVALUE
00000434: ISZERO
00000435: PUSH2 0x043d
00000438: JUMPI
00000439: PUSH1 0x00
0000043b: DUP1
0000043c: REVERT
0000043d: JUMPDEST
0000043e: PUSH2 0x0451
00000441: PUSH1 0x01
00000443: PUSH1 0xa0
00000445: PUSH1 0x02
00000447: EXP
00000448: SUB
00000449: PUSH1 0x04
0000044b: CALLDATALOAD
0000044c: AND
0000044d: PUSH2 0x0dee
00000450: JUMP
00000451: JUMPDEST
00000452: PUSH1 0x40
00000454: MLOAD
00000455: DUP1
00000456: DUP7
00000457: DUP2
00000458: MSTORE
00000459: PUSH1 0x20
0000045b: ADD
0000045c: DUP6
0000045d: DUP2
0000045e: MSTORE
0000045f: PUSH1 0x20
00000461: ADD
00000462: DUP5
00000463: DUP2
00000464: MSTORE
00000465: PUSH1 0x20
00000467: ADD
00000468: DUP4
00000469: DUP2
0000046a: MSTORE
0000046b: PUSH1 0x20
0000046d: ADD
0000046e: DUP3
0000046f: DUP2
00000470: MSTORE
00000471: PUSH1 0x20
00000473: ADD
00000474: SWAP6
00000475: POP
00000476: POP
00000477: POP
00000478: POP
00000479: POP
0000047a: POP
0000047b: PUSH1 0x40
0000047d: MLOAD
0000047e: DUP1
0000047f: SWAP2
00000480: SUB
00000481: SWAP1
00000482: RETURN
00000483: JUMPDEST
00000484: CALLVALUE
00000485: ISZERO
00000486: PUSH2 0x048e
00000489: JUMPI
0000048a: PUSH1 0x00
0000048c: DUP1
0000048d: REVERT
0000048e: JUMPDEST
0000048f: PUSH2 0x04a2
00000492: PUSH1 0x01
00000494: PUSH1 0xa0
00000496: PUSH1 0x02
00000498: EXP
00000499: SUB
0000049a: PUSH1 0x04
0000049c: CALLDATALOAD
0000049d: AND
0000049e: PUSH2 0x0ecd
000004a1: JUMP
000004a2: JUMPDEST
000004a3: PUSH1 0x40
000004a5: MLOAD
000004a6: DUP1
000004a7: DUP5
000004a8: DUP2
000004a9: MSTORE
000004aa: PUSH1 0x20
000004ac: ADD
000004ad: DUP4
000004ae: DUP2
000004af: MSTORE
000004b0: PUSH1 0x20
000004b2: ADD
000004b3: DUP3
000004b4: DUP2
000004b5: MSTORE
000004b6: PUSH1 0x20
000004b8: ADD
000004b9: SWAP4
000004ba: POP
000004bb: POP
000004bc: POP
000004bd: POP
000004be: PUSH1 0x40
000004c0: MLOAD
000004c1: DUP1
000004c2: SWAP2
000004c3: SUB
000004c4: SWAP1
000004c5: RETURN
000004c6: JUMPDEST
000004c7: CALLVALUE
000004c8: ISZERO
000004c9: PUSH2 0x04d1
000004cc: JUMPI
000004cd: PUSH1 0x00
000004cf: DUP1
000004d0: REVERT
000004d1: JUMPDEST
000004d2: PUSH2 0x022e
000004d5: PUSH2 0x0eee
000004d8: JUMP
000004d9: JUMPDEST
000004da: PUSH1 0x40
000004dc: MLOAD
000004dd: SWAP1
000004de: DUP2
000004df: MSTORE
000004e0: PUSH1 0x20
000004e2: ADD
000004e3: PUSH1 0x40
000004e5: MLOAD
000004e6: DUP1
000004e7: SWAP2
000004e8: SUB
000004e9: SWAP1
000004ea: RETURN
000004eb: JUMPDEST
000004ec: CALLVALUE
000004ed: ISZERO
000004ee: PUSH2 0x04f6
000004f1: JUMPI
000004f2: PUSH1 0x00
000004f4: DUP1
000004f5: REVERT
000004f6: JUMPDEST
000004f7: PUSH2 0x022e
000004fa: PUSH2 0x0ef4
000004fd: JUMP
000004fe: JUMPDEST
000004ff: PUSH1 0x40
00000501: MLOAD
00000502: SWAP1
00000503: DUP2
00000504: MSTORE
00000505: PUSH1 0x20
00000507: ADD
00000508: PUSH1 0x40
0000050a: MLOAD
0000050b: DUP1
0000050c: SWAP2
0000050d: SUB
0000050e: SWAP1
0000050f: RETURN
00000510: JUMPDEST
00000511: CALLVALUE
00000512: ISZERO
00000513: PUSH2 0x051b
00000516: JUMPI
00000517: PUSH1 0x00
00000519: DUP1
0000051a: REVERT
0000051b: JUMPDEST
0000051c: PUSH2 0x022e
0000051f: PUSH2 0x0efa
00000522: JUMP
00000523: JUMPDEST
00000524: PUSH1 0x40
00000526: MLOAD
00000527: SWAP1
00000528: DUP2
00000529: MSTORE
0000052a: PUSH1 0x20
0000052c: ADD
0000052d: PUSH1 0x40
0000052f: MLOAD
00000530: DUP1
00000531: SWAP2
00000532: SUB
00000533: SWAP1
00000534: RETURN
00000535: JUMPDEST
00000536: CALLVALUE
00000537: ISZERO
00000538: PUSH2 0x0540
0000053b: JUMPI
0000053c: PUSH1 0x00
0000053e: DUP1
0000053f: REVERT
00000540: JUMPDEST
00000541: PUSH2 0x0401
00000544: PUSH2 0x0eff
00000547: JUMP
00000548: JUMPDEST
00000549: PUSH1 0x40
0000054b: MLOAD
0000054c: PUSH1 0x01
0000054e: PUSH1 0xa0
00000550: PUSH1 0x02
00000552: EXP
00000553: SUB
00000554: SWAP1
00000555: SWAP2
00000556: AND
00000557: DUP2
00000558: MSTORE
00000559: PUSH1 0x20
0000055b: ADD
0000055c: PUSH1 0x40
0000055e: MLOAD
0000055f: DUP1
00000560: SWAP2
00000561: SUB
00000562: SWAP1
00000563: RETURN
00000564: JUMPDEST
00000565: CALLVALUE
00000566: ISZERO
00000567: PUSH2 0x056f
0000056a: JUMPI
0000056b: PUSH1 0x00
0000056d: DUP1
0000056e: REVERT
0000056f: JUMPDEST
00000570: PUSH2 0x0219
00000573: PUSH2 0x0f18
00000576: JUMP
00000577: JUMPDEST
00000578: STOP
00000579: JUMPDEST
0000057a: CALLVALUE
0000057b: ISZERO
0000057c: PUSH2 0x0584
0000057f: JUMPI
00000580: PUSH1 0x00
00000582: DUP1
00000583: REVERT
00000584: JUMPDEST
00000585: PUSH2 0x022e
00000588: PUSH2 0x0f61
0000058b: JUMP
0000058c: JUMPDEST
0000058d: PUSH1 0x40
0000058f: MLOAD
00000590: SWAP1
00000591: DUP2
00000592: MSTORE
00000593: PUSH1 0x20
00000595: ADD
00000596: PUSH1 0x40
00000598: MLOAD
00000599: DUP1
0000059a: SWAP2
0000059b: SUB
0000059c: SWAP1
0000059d: RETURN
0000059e: JUMPDEST
0000059f: CALLVALUE
000005a0: ISZERO
000005a1: PUSH2 0x05a9
000005a4: JUMPI
000005a5: PUSH1 0x00
000005a7: DUP1
000005a8: REVERT
000005a9: JUMPDEST
000005aa: PUSH2 0x03da
000005ad: PUSH1 0x04
000005af: CALLDATALOAD
000005b0: PUSH2 0x0f67
000005b3: JUMP
000005b4: JUMPDEST
000005b5: PUSH1 0x40
000005b7: MLOAD
000005b8: SWAP1
000005b9: ISZERO
000005ba: ISZERO
000005bb: DUP2
000005bc: MSTORE
000005bd: PUSH1 0x20
000005bf: ADD
000005c0: PUSH1 0x40
000005c2: MLOAD
000005c3: DUP1
000005c4: SWAP2
000005c5: SUB
000005c6: SWAP1
000005c7: RETURN
000005c8: JUMPDEST
000005c9: CALLVALUE
000005ca: ISZERO
000005cb: PUSH2 0x05d3
000005ce: JUMPI
000005cf: PUSH1 0x00
000005d1: DUP1
000005d2: REVERT
000005d3: JUMPDEST
000005d4: PUSH2 0x03da
000005d7: PUSH1 0x04
000005d9: CALLDATALOAD
000005da: PUSH1 0x01
000005dc: PUSH1 0xa0
000005de: PUSH1 0x02
000005e0: EXP
000005e1: SUB
000005e2: PUSH1 0x24
000005e4: CALLDATALOAD
000005e5: AND
000005e6: PUSH2 0x0fdc
000005e9: JUMP
000005ea: JUMPDEST
000005eb: PUSH1 0x40
000005ed: MLOAD
000005ee: SWAP1
000005ef: ISZERO
000005f0: ISZERO
000005f1: DUP2
000005f2: MSTORE
000005f3: PUSH1 0x20
000005f5: ADD
000005f6: PUSH1 0x40
000005f8: MLOAD
000005f9: DUP1
000005fa: SWAP2
000005fb: SUB
000005fc: SWAP1
000005fd: RETURN
000005fe: JUMPDEST
000005ff: CALLVALUE
00000600: ISZERO
00000601: PUSH2 0x0609
00000604: JUMPI
00000605: PUSH1 0x00
00000607: DUP1
00000608: REVERT
00000609: JUMPDEST
0000060a: PUSH2 0x022e
0000060d: PUSH2 0x1223
00000610: JUMP
00000611: JUMPDEST
00000612: PUSH1 0x40
00000614: MLOAD
00000615: SWAP1
00000616: DUP2
00000617: MSTORE
00000618: PUSH1 0x20
0000061a: ADD
0000061b: PUSH1 0x40
0000061d: MLOAD
0000061e: DUP1
0000061f: SWAP2
00000620: SUB
00000621: SWAP1
00000622: RETURN
00000623: JUMPDEST
00000624: CALLVALUE
00000625: ISZERO
00000626: PUSH2 0x062e
00000629: JUMPI
0000062a: PUSH1 0x00
0000062c: DUP1
0000062d: REVERT
0000062e: JUMPDEST
0000062f: PUSH2 0x0219
00000632: PUSH1 0xff
00000634: PUSH1 0x04
00000636: CALLDATALOAD
00000637: AND
00000638: PUSH2 0x1229
0000063b: JUMP
0000063c: JUMPDEST
0000063d: STOP
0000063e: JUMPDEST
0000063f: CALLVALUE
00000640: ISZERO
00000641: PUSH2 0x0649
00000644: JUMPI
00000645: PUSH1 0x00
00000647: DUP1
00000648: REVERT
00000649: JUMPDEST
0000064a: PUSH2 0x022e
0000064d: PUSH2 0x129d
00000650: JUMP
00000651: JUMPDEST
00000652: PUSH1 0x40
00000654: MLOAD
00000655: SWAP1
00000656: DUP2
00000657: MSTORE
00000658: PUSH1 0x20
0000065a: ADD
0000065b: PUSH1 0x40
0000065d: MLOAD
0000065e: DUP1
0000065f: SWAP2
00000660: SUB
00000661: SWAP1
00000662: RETURN
00000663: JUMPDEST
00000664: CALLVALUE
00000665: ISZERO
00000666: PUSH2 0x066e
00000669: JUMPI
0000066a: PUSH1 0x00
0000066c: DUP1
0000066d: REVERT
0000066e: JUMPDEST
0000066f: PUSH2 0x0401
00000672: PUSH1 0x04
00000674: CALLDATALOAD
00000675: PUSH2 0x12a3
00000678: JUMP
00000679: JUMPDEST
0000067a: PUSH1 0x40
0000067c: MLOAD
0000067d: PUSH1 0x01
0000067f: PUSH1 0xa0
00000681: PUSH1 0x02
00000683: EXP
00000684: SUB
00000685: SWAP1
00000686: SWAP2
00000687: AND
00000688: DUP2
00000689: MSTORE
0000068a: PUSH1 0x20
0000068c: ADD
0000068d: PUSH1 0x40
0000068f: MLOAD
00000690: DUP1
00000691: SWAP2
00000692: SUB
00000693: SWAP1
00000694: RETURN
00000695: JUMPDEST
00000696: CALLVALUE
00000697: ISZERO
00000698: PUSH2 0x06a0
0000069b: JUMPI
0000069c: PUSH1 0x00
0000069e: DUP1
0000069f: REVERT
000006a0: JUMPDEST
000006a1: PUSH2 0x0219
000006a4: PUSH1 0x01
000006a6: PUSH1 0xa0
000006a8: PUSH1 0x02
000006aa: EXP
000006ab: SUB
000006ac: PUSH1 0x04
000006ae: CALLDATALOAD
000006af: AND
000006b0: PUSH2 0x12cb
000006b3: JUMP
000006b4: JUMPDEST
000006b5: STOP
000006b6: JUMPDEST
000006b7: CALLVALUE
000006b8: ISZERO
000006b9: PUSH2 0x06c1
000006bc: JUMPI
000006bd: PUSH1 0x00
000006bf: DUP1
000006c0: REVERT
000006c1: JUMPDEST
000006c2: PUSH2 0x022e
000006c5: PUSH1 0x04
000006c7: CALLDATALOAD
000006c8: PUSH2 0x1316
000006cb: JUMP
000006cc: JUMPDEST
000006cd: PUSH1 0x40
000006cf: MLOAD
000006d0: SWAP1
000006d1: DUP2
000006d2: MSTORE
000006d3: PUSH1 0x20
000006d5: ADD
000006d6: PUSH1 0x40
000006d8: MLOAD
000006d9: DUP1
000006da: SWAP2
000006db: SUB
000006dc: SWAP1
000006dd: RETURN
000006de: JUMPDEST
000006df: PUSH1 0x03
000006e1: SLOAD
000006e2: PUSH1 0x07
000006e4: SLOAD
000006e5: PUSH1 0x00
000006e7: SWAP2
000006e8: SWAP1
000006e9: PUSH3 0x989680
000006ed: SWAP1
000006ee: PUSH1 0x01
000006f0: PUSH1 0xa0
000006f2: PUSH1 0x02
000006f4: EXP
000006f5: SUB
000006f6: AND
000006f7: PUSH4 0xb0c2a163
000006fc: DUP5
000006fd: PUSH1 0x40
000006ff: MLOAD
00000700: PUSH1 0x20
00000702: ADD
00000703: MSTORE
00000704: PUSH1 0x40
00000706: MLOAD
00000707: DUP2
00000708: PUSH4 0xffffffff
0000070d: AND
0000070e: PUSH1 0xe0
00000710: PUSH1 0x02
00000712: EXP
00000713: MUL
00000714: DUP2
00000715: MSTORE
00000716: PUSH1 0x04
00000718: ADD
00000719: PUSH1 0x20
0000071b: PUSH1 0x40
0000071d: MLOAD
0000071e: DUP1
0000071f: DUP4
00000720: SUB
00000721: DUP2
00000722: PUSH1 0x00
00000724: DUP8
00000725: DUP1
00000726: EXTCODESIZE
00000727: ISZERO
00000728: ISZERO
00000729: PUSH2 0x0731
0000072c: JUMPI
0000072d: PUSH1 0x00
0000072f: DUP1
00000730: REVERT
00000731: JUMPDEST
00000732: PUSH2 0x02c6
00000735: GAS
00000736: SUB
00000737: CALL
00000738: ISZERO
00000739: ISZERO
0000073a: PUSH2 0x0742
0000073d: JUMPI
0000073e: PUSH1 0x00
00000740: DUP1
00000741: REVERT
00000742: JUMPDEST
00000743: POP
00000744: POP
00000745: POP
00000746: PUSH1 0x40
00000748: MLOAD
00000749: DUP1
0000074a: MLOAD
0000074b: SWAP1
0000074c: POP
0000074d: DUP2
0000074e: ISZERO
0000074f: ISZERO
00000750: PUSH2 0x0755
00000753: JUMPI
00000754: INVALID
00000755: JUMPDEST
00000756: DIV
00000757: MUL
00000758: SWAP1
00000759: POP
0000075a: JUMPDEST
0000075b: SWAP1
0000075c: JUMP
0000075d: JUMPDEST
0000075e: PUSH1 0x01
00000760: PUSH1 0xa0
00000762: PUSH1 0x02
00000764: EXP
00000765: SUB
00000766: CALLER
00000767: AND
00000768: PUSH1 0x00
0000076a: SWAP1
0000076b: DUP2
0000076c: MSTORE
0000076d: PUSH1 0x0a
0000076f: PUSH1 0x20
00000771: MSTORE
00000772: PUSH1 0x40
00000774: DUP2
00000775: KECCAK256
00000776: SLOAD
00000777: SWAP1
00000778: DUP1
00000779: DUP1
0000077a: DUP4
0000077b: GT
0000077c: ISZERO
0000077d: PUSH2 0x0214
00000780: JUMPI
00000781: PUSH1 0x01
00000783: SLOAD
00000784: PUSH1 0x64
00000786: DUP5
00000787: JUMPDEST
00000788: DIV
00000789: MUL
0000078a: SWAP2
0000078b: POP
0000078c: POP
0000078d: DUP1
0000078e: DUP3
0000078f: SUB
00000790: PUSH1 0x00
00000792: DUP3
00000793: GT
00000794: ISZERO
00000795: PUSH2 0x081c
00000798: JUMPI
00000799: PUSH1 0x07
0000079b: SLOAD
0000079c: PUSH1 0x00
0000079e: DUP1
0000079f: SLOAD
000007a0: PUSH1 0x01
000007a2: PUSH1 0xa0
000007a4: PUSH1 0x02
000007a6: EXP
000007a7: SUB
000007a8: SWAP3
000007a9: DUP4
000007aa: AND
000007ab: SWAP3
000007ac: PUSH4 0xa9059cbb
000007b1: SWAP3
000007b2: SWAP2
000007b3: AND
000007b4: SWAP1
000007b5: DUP6
000007b6: SWAP1
000007b7: PUSH1 0x40
000007b9: MLOAD
000007ba: PUSH1 0x20
000007bc: ADD
000007bd: MSTORE
000007be: PUSH1 0x40
000007c0: MLOAD
000007c1: PUSH1 0xe0
000007c3: PUSH1 0x02
000007c5: EXP
000007c6: PUSH4 0xffffffff
000007cb: DUP6
000007cc: AND
000007cd: MUL
000007ce: DUP2
000007cf: MSTORE
000007d0: PUSH1 0x01
000007d2: PUSH1 0xa0
000007d4: PUSH1 0x02
000007d6: EXP
000007d7: SUB
000007d8: SWAP1
000007d9: SWAP3
000007da: AND
000007db: PUSH1 0x04
000007dd: DUP4
000007de: ADD
000007df: MSTORE
000007e0: PUSH1 0x24
000007e2: DUP3
000007e3: ADD
000007e4: MSTORE
000007e5: PUSH1 0x44
000007e7: ADD
000007e8: PUSH1 0x20
000007ea: PUSH1 0x40
000007ec: MLOAD
000007ed: DUP1
000007ee: DUP4
000007ef: SUB
000007f0: DUP2
000007f1: PUSH1 0x00
000007f3: DUP8
000007f4: DUP1
000007f5: EXTCODESIZE
000007f6: ISZERO
000007f7: ISZERO
000007f8: PUSH2 0x0800
000007fb: JUMPI
000007fc: PUSH1 0x00
000007fe: DUP1
000007ff: REVERT
00000800: JUMPDEST
00000801: PUSH2 0x02c6
00000804: GAS
00000805: SUB
00000806: CALL
00000807: ISZERO
00000808: ISZERO
00000809: PUSH2 0x0811
0000080c: JUMPI
0000080d: PUSH1 0x00
0000080f: DUP1
00000810: REVERT
00000811: JUMPDEST
00000812: POP
00000813: POP
00000814: POP
00000815: PUSH1 0x40
00000817: MLOAD
00000818: DUP1
00000819: MLOAD
0000081a: POP
0000081b: POP
0000081c: JUMPDEST
0000081d: PUSH1 0x07
0000081f: SLOAD
00000820: PUSH1 0x01
00000822: PUSH1 0xa0
00000824: PUSH1 0x02
00000826: EXP
00000827: SUB
00000828: AND
00000829: PUSH4 0xa9059cbb
0000082e: CALLER
0000082f: DUP4
00000830: PUSH1 0x00
00000832: PUSH1 0x40
00000834: MLOAD
00000835: PUSH1 0x20
00000837: ADD
00000838: MSTORE
00000839: PUSH1 0x40
0000083b: MLOAD
0000083c: PUSH1 0xe0
0000083e: PUSH1 0x02
00000840: EXP
00000841: PUSH4 0xffffffff
00000846: DUP6
00000847: AND
00000848: MUL
00000849: DUP2
0000084a: MSTORE
0000084b: PUSH1 0x01
0000084d: PUSH1 0xa0
0000084f: PUSH1 0x02
00000851: EXP
00000852: SUB
00000853: SWAP1
00000854: SWAP3
00000855: AND
00000856: PUSH1 0x04
00000858: DUP4
00000859: ADD
0000085a: MSTORE
0000085b: PUSH1 0x24
0000085d: DUP3
0000085e: ADD
0000085f: MSTORE
00000860: PUSH1 0x44
00000862: ADD
00000863: PUSH1 0x20
00000865: PUSH1 0x40
00000867: MLOAD
00000868: DUP1
00000869: DUP4
0000086a: SUB
0000086b: DUP2
0000086c: PUSH1 0x00
0000086e: DUP8
0000086f: DUP1
00000870: EXTCODESIZE
00000871: ISZERO
00000872: ISZERO
00000873: PUSH2 0x087b
00000876: JUMPI
00000877: PUSH1 0x00
00000879: DUP1
0000087a: REVERT
0000087b: JUMPDEST
0000087c: PUSH2 0x02c6
0000087f: GAS
00000880: SUB
00000881: CALL
00000882: ISZERO
00000883: ISZERO
00000884: PUSH2 0x088c
00000887: JUMPI
00000888: PUSH1 0x00
0000088a: DUP1
0000088b: REVERT
0000088c: JUMPDEST
0000088d: POP
0000088e: POP
0000088f: POP
00000890: PUSH1 0x40
00000892: MLOAD
00000893: DUP1
00000894: MLOAD
00000895: POP
00000896: POP
00000897: PUSH1 0x01
00000899: PUSH1 0xa0
0000089b: PUSH1 0x02
0000089d: EXP
0000089e: SUB
0000089f: CALLER
000008a0: AND
000008a1: PUSH1 0x00
000008a3: SWAP1
000008a4: DUP2
000008a5: MSTORE
000008a6: PUSH1 0x0a
000008a8: PUSH1 0x20
000008aa: MSTORE
000008ab: PUSH1 0x40
000008ad: DUP2
000008ae: KECCAK256
000008af: SSTORE
000008b0: JUMPDEST
000008b1: JUMPDEST
000008b2: POP
000008b3: POP
000008b4: POP
000008b5: JUMP
000008b6: JUMPDEST
000008b7: PUSH1 0x00
000008b9: PUSH1 0x64
000008bb: PUSH1 0x02
000008bd: SLOAD
000008be: LT
000008bf: ISZERO
000008c0: PUSH2 0x0912
000008c3: JUMPI
000008c4: DUP2
000008c5: PUSH1 0x0c
000008c7: PUSH1 0x02
000008c9: SLOAD
000008ca: PUSH2 0x0100
000008cd: DUP2
000008ce: LT
000008cf: ISZERO
000008d0: ISZERO
000008d1: PUSH2 0x08d6
000008d4: JUMPI
000008d5: INVALID
000008d6: JUMPDEST
000008d7: ADD
000008d8: PUSH1 0x00
000008da: JUMPDEST
000008db: PUSH2 0x0100
000008de: EXP
000008df: DUP2
000008e0: SLOAD
000008e1: DUP2
000008e2: PUSH1 0x01
000008e4: PUSH1 0xa0
000008e6: PUSH1 0x02
000008e8: EXP
000008e9: SUB
000008ea: MUL
000008eb: NOT
000008ec: AND
000008ed: SWAP1
000008ee: DUP4
000008ef: PUSH1 0x01
000008f1: PUSH1 0xa0
000008f3: PUSH1 0x02
000008f5: EXP
000008f6: SUB
000008f7: AND
000008f8: MUL
000008f9: OR
000008fa: SWAP1
000008fb: SSTORE
000008fc: POP
000008fd: PUSH1 0x01
000008ff: PUSH1 0x02
00000901: PUSH1 0x00
00000903: DUP3
00000904: DUP3
00000905: SLOAD
00000906: ADD
00000907: SWAP3
00000908: POP
00000909: POP
0000090a: DUP2
0000090b: SWAP1
0000090c: SSTORE
0000090d: POP
0000090e: PUSH2 0x09ca
00000911: JUMP
00000912: JUMPDEST
00000913: PUSH1 0x0b
00000915: SLOAD
00000916: ISZERO
00000917: ISZERO
00000918: PUSH2 0x0920
0000091b: JUMPI
0000091c: PUSH1 0x00
0000091e: DUP1
0000091f: REVERT
00000920: JUMPDEST
00000921: PUSH1 0x0b
00000923: DUP1
00000924: SLOAD
00000925: PUSH1 0x00
00000927: NOT
00000928: DUP2
00000929: ADD
0000092a: SWAP1
0000092b: DUP2
0000092c: LT
0000092d: PUSH2 0x0932
00000930: JUMPI
00000931: INVALID
00000932: JUMPDEST
00000933: SWAP1
00000934: PUSH1 0x00
00000936: MSTORE
00000937: PUSH1 0x20
00000939: PUSH1 0x00
0000093b: KECCAK256
0000093c: SWAP1
0000093d: PUSH1 0x20
0000093f: SWAP2
00000940: DUP3
00000941: DUP3
00000942: DIV
00000943: ADD
00000944: SWAP2
00000945: SWAP1
00000946: MOD
00000947: JUMPDEST
00000948: SWAP1
00000949: SLOAD
0000094a: SWAP1
0000094b: PUSH2 0x0100
0000094e: EXP
0000094f: SWAP1
00000950: DIV
00000951: PUSH1 0xff
00000953: AND
00000954: SWAP1
00000955: POP
00000956: DUP2
00000957: PUSH1 0x0c
00000959: DUP3
0000095a: PUSH1 0xff
0000095c: AND
0000095d: PUSH2 0x0100
00000960: DUP2
00000961: LT
00000962: ISZERO
00000963: ISZERO
00000964: PUSH2 0x0969
00000967: JUMPI
00000968: INVALID
00000969: JUMPDEST
0000096a: ADD
0000096b: PUSH1 0x00
0000096d: JUMPDEST
0000096e: PUSH2 0x0100
00000971: EXP
00000972: DUP2
00000973: SLOAD
00000974: DUP2
00000975: PUSH1 0x01
00000977: PUSH1 0xa0
00000979: PUSH1 0x02
0000097b: EXP
0000097c: SUB
0000097d: MUL
0000097e: NOT
0000097f: AND
00000980: SWAP1
00000981: DUP4
00000982: PUSH1 0x01
00000984: PUSH1 0xa0
00000986: PUSH1 0x02
00000988: EXP
00000989: SUB
0000098a: AND
0000098b: MUL
0000098c: OR
0000098d: SWAP1
0000098e: SSTORE
0000098f: POP
00000990: PUSH1 0x0b
00000992: PUSH1 0x01
00000994: PUSH1 0x0b
00000996: DUP1
00000997: SLOAD
00000998: SWAP1
00000999: POP
0000099a: SUB
0000099b: DUP2
0000099c: SLOAD
0000099d: DUP2
0000099e: LT
0000099f: ISZERO
000009a0: ISZERO
000009a1: PUSH2 0x09a6
000009a4: JUMPI
000009a5: INVALID
000009a6: JUMPDEST
000009a7: SWAP1
000009a8: PUSH1 0x00
000009aa: MSTORE
000009ab: PUSH1 0x20
000009ad: PUSH1 0x00
000009af: KECCAK256
000009b0: SWAP1
000009b1: PUSH1 0x20
000009b3: SWAP2
000009b4: DUP3
000009b5: DUP3
000009b6: DIV
000009b7: ADD
000009b8: SWAP2
000009b9: SWAP1
000009ba: MOD
000009bb: JUMPDEST
000009bc: PUSH2 0x0100
000009bf: EXP
000009c0: DUP2
000009c1: SLOAD
000009c2: SWAP1
000009c3: PUSH1 0xff
000009c5: MUL
000009c6: NOT
000009c7: AND
000009c8: SWAP1
000009c9: SSTORE
000009ca: JUMPDEST
000009cb: JUMPDEST
000009cc: JUMPDEST
000009cd: POP
000009ce: POP
000009cf: JUMP
000009d0: JUMPDEST
000009d1: NUMBER
000009d2: JUMPDEST
000009d3: SWAP1
000009d4: JUMP
000009d5: JUMPDEST
000009d6: PUSH1 0x05
000009d8: SLOAD
000009d9: DUP2
000009da: JUMP
000009db: JUMPDEST
000009dc: PUSH1 0x40
000009de: DUP1
000009df: MLOAD
000009e0: SWAP1
000009e1: DUP2
000009e2: ADD
000009e3: PUSH1 0x40
000009e5: MSTORE
000009e6: PUSH1 0x0d
000009e8: DUP2
000009e9: MSTORE
000009ea: PUSH1 0x9c
000009ec: PUSH1 0x02
000009ee: EXP
000009ef: PUSH13 0x0536861726b506f6f6c2031303
000009fd: MUL
000009fe: PUSH1 0x20
00000a00: DUP3
00000a01: ADD
00000a02: MSTORE
00000a03: DUP2
00000a04: JUMP
00000a05: JUMPDEST
00000a06: PUSH1 0x09
00000a08: PUSH1 0x20
00000a0a: MSTORE
00000a0b: PUSH1 0x00
00000a0d: SWAP1
00000a0e: DUP2
00000a0f: MSTORE
00000a10: PUSH1 0x40
00000a12: SWAP1
00000a13: KECCAK256
00000a14: SLOAD
00000a15: DUP2
00000a16: JUMP
00000a17: JUMPDEST
00000a18: PUSH1 0x00
00000a1a: PUSH1 0x64
00000a1c: PUSH1 0x02
00000a1e: SLOAD
00000a1f: LT
00000a20: ISZERO
00000a21: PUSH2 0x0a30
00000a24: JUMPI
00000a25: POP
00000a26: PUSH1 0x02
00000a28: SLOAD
00000a29: PUSH1 0x64
00000a2b: SUB
00000a2c: PUSH2 0x075a
00000a2f: JUMP
00000a30: JUMPDEST
00000a31: POP
00000a32: PUSH1 0x0b
00000a34: SLOAD
00000a35: PUSH2 0x075a
00000a38: JUMP
00000a39: JUMPDEST
00000a3a: JUMPDEST
00000a3b: SWAP1
00000a3c: JUMP
00000a3d: JUMPDEST
00000a3e: PUSH3 0x989680
00000a42: DUP2
00000a43: JUMP
00000a44: JUMPDEST
00000a45: PUSH1 0x01
00000a47: PUSH1 0xa0
00000a49: PUSH1 0x02
00000a4b: EXP
00000a4c: SUB
00000a4d: DUP2
00000a4e: AND
00000a4f: PUSH1 0x00
00000a51: SWAP1
00000a52: DUP2
00000a53: MSTORE
00000a54: PUSH1 0x0a
00000a56: PUSH1 0x20
00000a58: MSTORE
00000a59: PUSH1 0x40
00000a5b: SWAP1
00000a5c: KECCAK256
00000a5d: SLOAD
00000a5e: JUMPDEST
00000a5f: SWAP2
00000a60: SWAP1
00000a61: POP
00000a62: JUMP
00000a63: JUMPDEST
00000a64: PUSH1 0x07
00000a66: SLOAD
00000a67: PUSH1 0x00
00000a69: SWAP1
00000a6a: PUSH1 0x01
00000a6c: PUSH1 0xa0
00000a6e: PUSH1 0x02
00000a70: EXP
00000a71: SUB
00000a72: AND
00000a73: PUSH4 0x88537daf
00000a78: DUP5
00000a79: DUP5
00000a7a: DUP5
00000a7b: PUSH1 0x40
00000a7d: MLOAD
00000a7e: PUSH1 0x20
00000a80: ADD
00000a81: MSTORE
00000a82: PUSH1 0x40
00000a84: MLOAD
00000a85: PUSH1 0xe0
00000a87: PUSH1 0x02
00000a89: EXP
00000a8a: PUSH4 0xffffffff
00000a8f: DUP6
00000a90: AND
00000a91: MUL
00000a92: DUP2
00000a93: MSTORE
00000a94: PUSH1 0x04
00000a96: DUP2
00000a97: ADD
00000a98: SWAP3
00000a99: SWAP1
00000a9a: SWAP3
00000a9b: MSTORE
00000a9c: PUSH1 0x01
00000a9e: PUSH1 0xa0
00000aa0: PUSH1 0x02
00000aa2: EXP
00000aa3: SUB
00000aa4: AND
00000aa5: PUSH1 0x24
00000aa7: DUP3
00000aa8: ADD
00000aa9: MSTORE
00000aaa: PUSH1 0x44
00000aac: ADD
00000aad: PUSH1 0x20
00000aaf: PUSH1 0x40
00000ab1: MLOAD
00000ab2: DUP1
00000ab3: DUP4
00000ab4: SUB
00000ab5: DUP2
00000ab6: PUSH1 0x00
00000ab8: DUP8
00000ab9: DUP1
00000aba: EXTCODESIZE
00000abb: ISZERO
00000abc: ISZERO
00000abd: PUSH2 0x0ac5
00000ac0: JUMPI
00000ac1: PUSH1 0x00
00000ac3: DUP1
00000ac4: REVERT
00000ac5: JUMPDEST
00000ac6: PUSH2 0x02c6
00000ac9: GAS
00000aca: SUB
00000acb: CALL
00000acc: ISZERO
00000acd: ISZERO
00000ace: PUSH2 0x0ad6
00000ad1: JUMPI
00000ad2: PUSH1 0x00
00000ad4: DUP1
00000ad5: REVERT
00000ad6: JUMPDEST
00000ad7: POP
00000ad8: POP
00000ad9: POP
00000ada: PUSH1 0x40
00000adc: MLOAD
00000add: DUP1
00000ade: MLOAD
00000adf: SWAP2
00000ae0: POP
00000ae1: POP
00000ae2: JUMPDEST
00000ae3: SWAP3
00000ae4: SWAP2
00000ae5: POP
00000ae6: POP
00000ae7: JUMP
00000ae8: JUMPDEST
00000ae9: PUSH1 0x00
00000aeb: SLOAD
00000aec: PUSH1 0x01
00000aee: PUSH1 0xa0
00000af0: PUSH1 0x02
00000af2: EXP
00000af3: SUB
00000af4: AND
00000af5: DUP2
00000af6: JUMP
00000af7: JUMPDEST
00000af8: PUSH1 0x00
00000afa: DUP1
00000afb: PUSH1 0x00
00000afd: DUP1
00000afe: PUSH1 0x00
00000b00: PUSH2 0x0b07
00000b03: PUSH2 0x140b
00000b06: JUMP
00000b07: JUMPDEST
00000b08: PUSH1 0x00
00000b0a: SLOAD
00000b0b: PUSH1 0xa0
00000b0d: PUSH1 0x02
00000b0f: EXP
00000b10: SWAP1
00000b11: DIV
00000b12: PUSH1 0xff
00000b14: AND
00000b15: ISZERO
00000b16: PUSH2 0x0b1e
00000b19: JUMPI
00000b1a: PUSH1 0x00
00000b1c: DUP1
00000b1d: REVERT
00000b1e: JUMPDEST
00000b1f: PUSH1 0x00
00000b21: DUP1
00000b22: SLOAD
00000b23: PUSH1 0xa0
00000b25: PUSH1 0x02
00000b27: EXP
00000b28: PUSH1 0xff
00000b2a: MUL
00000b2b: NOT
00000b2c: AND
00000b2d: PUSH1 0xa0
00000b2f: PUSH1 0x02
00000b31: EXP
00000b32: OR
00000b33: SWAP1
00000b34: SSTORE
00000b35: PUSH2 0x0b44
00000b38: PUSH2 0x0b3f
00000b3b: PUSH2 0x09d0
00000b3e: JUMP
00000b3f: JUMPDEST
00000b40: PUSH2 0x1316
00000b43: JUMP
00000b44: JUMPDEST
00000b45: PUSH1 0x07
00000b47: SLOAD
00000b48: SWAP1
00000b49: SWAP7
00000b4a: POP
00000b4b: PUSH1 0x01
00000b4d: PUSH1 0xa0
00000b4f: PUSH1 0x02
00000b51: EXP
00000b52: SUB
00000b53: AND
00000b54: PUSH4 0x88537daf
00000b59: DUP8
00000b5a: ADDRESS
00000b5b: PUSH1 0x00
00000b5d: PUSH1 0x40
00000b5f: MLOAD
00000b60: PUSH1 0x20
00000b62: ADD
00000b63: MSTORE
00000b64: PUSH1 0x40
00000b66: MLOAD
00000b67: PUSH1 0xe0
00000b69: PUSH1 0x02
00000b6b: EXP
00000b6c: PUSH4 0xffffffff
00000b71: DUP6
00000b72: AND
00000b73: MUL
00000b74: DUP2
00000b75: MSTORE
00000b76: PUSH1 0x04
00000b78: DUP2
00000b79: ADD
00000b7a: SWAP3
00000b7b: SWAP1
00000b7c: SWAP3
00000b7d: MSTORE
00000b7e: PUSH1 0x01
00000b80: PUSH1 0xa0
00000b82: PUSH1 0x02
00000b84: EXP
00000b85: SUB
00000b86: AND
00000b87: PUSH1 0x24
00000b89: DUP3
00000b8a: ADD
00000b8b: MSTORE
00000b8c: PUSH1 0x44
00000b8e: ADD
00000b8f: PUSH1 0x20
00000b91: PUSH1 0x40
00000b93: MLOAD
00000b94: DUP1
00000b95: DUP4
00000b96: SUB
00000b97: DUP2
00000b98: PUSH1 0x00
00000b9a: DUP8
00000b9b: DUP1
00000b9c: EXTCODESIZE
00000b9d: ISZERO
00000b9e: ISZERO
00000b9f: PUSH2 0x0ba7
00000ba2: JUMPI
00000ba3: PUSH1 0x00
00000ba5: DUP1
00000ba6: REVERT
00000ba7: JUMPDEST
00000ba8: PUSH2 0x02c6
00000bab: GAS
00000bac: SUB
00000bad: CALL
00000bae: ISZERO
00000baf: ISZERO
00000bb0: PUSH2 0x0bb8
00000bb3: JUMPI
00000bb4: PUSH1 0x00
00000bb6: DUP1
00000bb7: REVERT
00000bb8: JUMPDEST
00000bb9: POP
00000bba: POP
00000bbb: POP
00000bbc: PUSH1 0x40
00000bbe: MLOAD
00000bbf: DUP1
00000bc0: MLOAD
00000bc1: ISZERO
00000bc2: SWAP1
00000bc3: POP
00000bc4: PUSH2 0x0bcc
00000bc7: JUMPI
00000bc8: PUSH1 0x00
00000bca: DUP1
00000bcb: REVERT
00000bcc: JUMPDEST
00000bcd: PUSH1 0x00
00000bcf: SWAP5
00000bd0: POP
00000bd1: PUSH1 0x00
00000bd3: SWAP4
00000bd4: POP
00000bd5: PUSH1 0x00
00000bd7: SWAP3
00000bd8: POP
00000bd9: JUMPDEST
00000bda: PUSH1 0x02
00000bdc: SLOAD
00000bdd: DUP4
00000bde: PUSH1 0xff
00000be0: AND
00000be1: LT
00000be2: ISZERO
00000be3: PUSH2 0x0d59
00000be6: JUMPI
00000be7: PUSH1 0x0c
00000be9: PUSH1 0xff
00000beb: DUP5
00000bec: AND
00000bed: PUSH2 0x0100
00000bf0: DUP2
00000bf1: LT
00000bf2: PUSH2 0x0bf7
00000bf5: JUMPI
00000bf6: INVALID
00000bf7: JUMPDEST
00000bf8: ADD
00000bf9: PUSH1 0x00
00000bfb: JUMPDEST
00000bfc: SWAP1
00000bfd: SLOAD
00000bfe: SWAP1
00000bff: PUSH2 0x0100
00000c02: EXP
00000c03: SWAP1
00000c04: DIV
00000c05: PUSH1 0x01
00000c07: PUSH1 0xa0
00000c09: PUSH1 0x02
00000c0b: EXP
00000c0c: SUB
00000c0d: AND
00000c0e: SWAP2
00000c0f: POP
00000c10: PUSH1 0x00
00000c12: DUP3
00000c13: PUSH1 0x01
00000c15: PUSH1 0xa0
00000c17: PUSH1 0x02
00000c19: EXP
00000c1a: SUB
00000c1b: AND
00000c1c: GT
00000c1d: ISZERO
00000c1e: PUSH2 0x0d4c
00000c21: JUMPI
00000c22: PUSH1 0x01
00000c24: PUSH1 0xa0
00000c26: PUSH1 0x02
00000c28: EXP
00000c29: SUB
00000c2a: DUP3
00000c2b: AND
00000c2c: PUSH1 0x00
00000c2e: SWAP1
00000c2f: DUP2
00000c30: MSTORE
00000c31: PUSH1 0x08
00000c33: PUSH1 0x20
00000c35: MSTORE
00000c36: PUSH1 0x40
00000c38: SWAP1
00000c39: DUP2
00000c3a: SWAP1
00000c3b: KECCAK256
00000c3c: SWAP1
00000c3d: PUSH1 0x60
00000c3f: SWAP1
00000c40: MLOAD
00000c41: SWAP1
00000c42: DUP2
00000c43: ADD
00000c44: PUSH1 0x40
00000c46: SWAP1
00000c47: DUP2
00000c48: MSTORE
00000c49: DUP3
00000c4a: SLOAD
00000c4b: DUP3
00000c4c: MSTORE
00000c4d: PUSH1 0x01
00000c4f: DUP4
00000c50: ADD
00000c51: SLOAD
00000c52: PUSH1 0x20
00000c54: DUP4
00000c55: ADD
00000c56: SWAP1
00000c57: DUP2
00000c58: MSTORE
00000c59: PUSH1 0x02
00000c5b: SWAP1
00000c5c: SWAP4
00000c5d: ADD
00000c5e: SLOAD
00000c5f: SWAP1
00000c60: DUP3
00000c61: ADD
00000c62: MSTORE
00000c63: PUSH1 0x04
00000c65: SLOAD
00000c66: SWAP1
00000c67: SWAP3
00000c68: POP
00000c69: SWAP1
00000c6a: MLOAD
00000c6b: GT
00000c6c: PUSH2 0x0d42
00000c6f: JUMPI
00000c70: PUSH1 0x0a
00000c72: DUP5
00000c73: PUSH1 0xff
00000c75: AND
00000c76: LT
00000c77: ISZERO
00000c78: PUSH2 0x0d3d
00000c7b: JUMPI
00000c7c: PUSH1 0x0c
00000c7e: PUSH1 0xff
00000c80: DUP5
00000c81: AND
00000c82: PUSH2 0x0100
00000c85: DUP2
00000c86: LT
00000c87: PUSH2 0x0c8c
00000c8a: JUMPI
00000c8b: INVALID
00000c8c: JUMPDEST
00000c8d: ADD
00000c8e: PUSH1 0x00
00000c90: JUMPDEST
00000c91: PUSH2 0x0100
00000c94: EXP
00000c95: DUP2
00000c96: SLOAD
00000c97: SWAP1
00000c98: PUSH1 0x01
00000c9a: PUSH1 0xa0
00000c9c: PUSH1 0x02
00000c9e: EXP
00000c9f: SUB
00000ca0: MUL
00000ca1: NOT
00000ca2: AND
00000ca3: SWAP1
00000ca4: SSTORE
00000ca5: PUSH1 0x0b
00000ca7: DUP1
00000ca8: SLOAD
00000ca9: DUP1
00000caa: PUSH1 0x01
00000cac: ADD
00000cad: DUP3
00000cae: DUP2
00000caf: PUSH2 0x0cb8
00000cb2: SWAP2
00000cb3: SWAP1
00000cb4: PUSH2 0x142d
00000cb7: JUMP
00000cb8: JUMPDEST
00000cb9: SWAP2
00000cba: PUSH1 0x00
00000cbc: MSTORE
00000cbd: PUSH1 0x20
00000cbf: PUSH1 0x00
00000cc1: KECCAK256
00000cc2: SWAP1
00000cc3: PUSH1 0x20
00000cc5: SWAP2
00000cc6: DUP3
00000cc7: DUP3
00000cc8: DIV
00000cc9: ADD
00000cca: SWAP2
00000ccb: SWAP1
00000ccc: MOD
00000ccd: JUMPDEST
00000cce: DUP2
00000ccf: SLOAD
00000cd0: PUSH1 0xff
00000cd2: DUP1
00000cd3: DUP9
00000cd4: AND
00000cd5: PUSH2 0x0100
00000cd8: SWAP4
00000cd9: DUP5
00000cda: EXP
00000cdb: DUP2
00000cdc: DUP2
00000cdd: MUL
00000cde: SWAP3
00000cdf: MUL
00000ce0: NOT
00000ce1: SWAP1
00000ce2: SWAP3
00000ce3: AND
00000ce4: OR
00000ce5: SWAP1
00000ce6: SWAP3
00000ce7: SSTORE
00000ce8: PUSH1 0x08
00000cea: SWAP3
00000ceb: POP
00000cec: PUSH1 0x00
00000cee: SWAP2
00000cef: PUSH1 0x0c
00000cf1: SWAP2
00000cf2: DUP2
00000cf3: LT
00000cf4: PUSH2 0x0cf9
00000cf7: JUMPI
00000cf8: INVALID
00000cf9: JUMPDEST
00000cfa: ADD
00000cfb: PUSH1 0x00
00000cfd: JUMPDEST
00000cfe: SWAP1
00000cff: SLOAD
00000d00: PUSH1 0x01
00000d02: PUSH1 0xa0
00000d04: PUSH1 0x02
00000d06: EXP
00000d07: SUB
00000d08: PUSH2 0x0100
00000d0b: SWAP3
00000d0c: SWAP1
00000d0d: SWAP3
00000d0e: EXP
00000d0f: SWAP1
00000d10: DIV
00000d11: AND
00000d12: DUP2
00000d13: MSTORE
00000d14: PUSH1 0x20
00000d16: DUP2
00000d17: ADD
00000d18: SWAP2
00000d19: SWAP1
00000d1a: SWAP2
00000d1b: MSTORE
00000d1c: PUSH1 0x40
00000d1e: ADD
00000d1f: PUSH1 0x00
00000d21: SWAP1
00000d22: DUP2
00000d23: KECCAK256
00000d24: DUP2
00000d25: DUP2
00000d26: SSTORE
00000d27: PUSH1 0x01
00000d29: DUP1
00000d2a: DUP3
00000d2b: ADD
00000d2c: DUP4
00000d2d: SWAP1
00000d2e: SSTORE
00000d2f: PUSH1 0x02
00000d31: SWAP1
00000d32: SWAP2
00000d33: ADD
00000d34: SWAP2
00000d35: SWAP1
00000d36: SWAP2
00000d37: SSTORE
00000d38: SWAP4
00000d39: SWAP1
00000d3a: SWAP4
00000d3b: ADD
00000d3c: SWAP3
00000d3d: JUMPDEST
00000d3e: PUSH2 0x0d4c
00000d41: JUMP
00000d42: JUMPDEST
00000d43: DUP1
00000d44: PUSH1 0x40
00000d46: ADD
00000d47: MLOAD
00000d48: DUP6
00000d49: ADD
00000d4a: SWAP5
00000d4b: POP
00000d4c: JUMPDEST
00000d4d: JUMPDEST
00000d4e: JUMPDEST
00000d4f: PUSH1 0x01
00000d51: SWAP1
00000d52: SWAP3
00000d53: ADD
00000d54: SWAP2
00000d55: PUSH2 0x0bd9
00000d58: JUMP
00000d59: JUMPDEST
00000d5a: PUSH1 0x00
00000d5c: DUP6
00000d5d: GT
00000d5e: ISZERO
00000d5f: PUSH2 0x0dd4
00000d62: JUMPI
00000d63: PUSH1 0x00
00000d65: DUP7
00000d66: DUP2
00000d67: MSTORE
00000d68: PUSH1 0x09
00000d6a: PUSH1 0x20
00000d6c: MSTORE
00000d6d: PUSH1 0x40
00000d6f: SWAP1
00000d70: DUP2
00000d71: SWAP1
00000d72: KECCAK256
00000d73: DUP7
00000d74: SWAP1
00000d75: SSTORE
00000d76: PUSH1 0x07
00000d78: SLOAD
00000d79: PUSH1 0x01
00000d7b: PUSH1 0xa0
00000d7d: PUSH1 0x02
00000d7f: EXP
00000d80: SUB
00000d81: AND
00000d82: SWAP1
00000d83: PUSH4 0x99f4b251
00000d88: SWAP1
00000d89: DUP8
00000d8a: SWAP1
00000d8b: MLOAD
00000d8c: DUP3
00000d8d: PUSH4 0xffffffff
00000d92: AND
00000d93: PUSH1 0xe0
00000d95: PUSH1 0x02
00000d97: EXP
00000d98: MUL
00000d99: DUP2
00000d9a: MSTORE
00000d9b: PUSH1 0x04
00000d9d: ADD
00000d9e: PUSH1 0x00
00000da0: PUSH1 0x40
00000da2: MLOAD
00000da3: DUP1
00000da4: DUP4
00000da5: SUB
00000da6: DUP2
00000da7: DUP6
00000da8: DUP9
00000da9: DUP1
00000daa: EXTCODESIZE
00000dab: ISZERO
00000dac: ISZERO
00000dad: PUSH2 0x0db5
00000db0: JUMPI
00000db1: PUSH1 0x00
00000db3: DUP1
00000db4: REVERT
00000db5: JUMPDEST
00000db6: PUSH2 0x25ee
00000db9: GAS
00000dba: SUB
00000dbb: CALL
00000dbc: ISZERO
00000dbd: ISZERO
00000dbe: PUSH2 0x0dc6
00000dc1: JUMPI
00000dc2: PUSH1 0x00
00000dc4: DUP1
00000dc5: REVERT
00000dc6: JUMPDEST
00000dc7: POP
00000dc8: POP
00000dc9: PUSH1 0x04
00000dcb: DUP1
00000dcc: SLOAD
00000dcd: PUSH1 0x01
00000dcf: ADD
00000dd0: SWAP1
00000dd1: SSTORE
00000dd2: POP
00000dd3: POP
00000dd4: JUMPDEST
00000dd5: JUMPDEST
00000dd6: PUSH1 0x00
00000dd8: DUP1
00000dd9: SLOAD
00000dda: PUSH1 0xa0
00000ddc: PUSH1 0x02
00000dde: EXP
00000ddf: PUSH1 0xff
00000de1: MUL
00000de2: NOT
00000de3: AND
00000de4: SWAP1
00000de5: SSTORE
00000de6: JUMPDEST
00000de7: POP
00000de8: POP
00000de9: POP
00000dea: POP
00000deb: POP
00000dec: POP
00000ded: JUMP
00000dee: JUMPDEST
00000def: PUSH1 0x00
00000df1: DUP1
00000df2: PUSH1 0x00
00000df4: DUP1
00000df5: PUSH1 0x00
00000df7: PUSH2 0x0dfe
00000dfa: PUSH2 0x140b
00000dfd: JUMP
00000dfe: JUMPDEST
00000dff: PUSH1 0x01
00000e01: PUSH1 0xa0
00000e03: PUSH1 0x02
00000e05: EXP
00000e06: SUB
00000e07: DUP8
00000e08: AND
00000e09: PUSH1 0x00
00000e0b: SWAP1
00000e0c: DUP2
00000e0d: MSTORE
00000e0e: PUSH1 0x08
00000e10: PUSH1 0x20
00000e12: MSTORE
00000e13: PUSH1 0x40
00000e15: DUP2
00000e16: KECCAK256
00000e17: SLOAD
00000e18: DUP2
00000e19: SWAP1
00000e1a: GT
00000e1b: ISZERO
00000e1c: PUSH2 0x0eb1
00000e1f: JUMPI
00000e20: PUSH1 0x01
00000e22: PUSH1 0xa0
00000e24: PUSH1 0x02
00000e26: EXP
00000e27: SUB
00000e28: DUP9
00000e29: AND
00000e2a: PUSH1 0x00
00000e2c: SWAP1
00000e2d: DUP2
00000e2e: MSTORE
00000e2f: PUSH1 0x08
00000e31: PUSH1 0x20
00000e33: MSTORE
00000e34: PUSH1 0x40
00000e36: SWAP1
00000e37: DUP2
00000e38: SWAP1
00000e39: KECCAK256
00000e3a: SWAP1
00000e3b: PUSH1 0x60
00000e3d: SWAP1
00000e3e: MLOAD
00000e3f: SWAP1
00000e40: DUP2
00000e41: ADD
00000e42: PUSH1 0x40
00000e44: SWAP1
00000e45: DUP2
00000e46: MSTORE
00000e47: DUP3
00000e48: SLOAD
00000e49: DUP3
00000e4a: MSTORE
00000e4b: PUSH1 0x01
00000e4d: DUP4
00000e4e: ADD
00000e4f: SLOAD
00000e50: PUSH1 0x20
00000e52: DUP4
00000e53: ADD
00000e54: SWAP1
00000e55: DUP2
00000e56: MSTORE
00000e57: PUSH1 0x02
00000e59: SWAP1
00000e5a: SWAP4
00000e5b: ADD
00000e5c: SLOAD
00000e5d: SWAP1
00000e5e: DUP3
00000e5f: ADD
00000e60: MSTORE
00000e61: PUSH1 0x04
00000e63: SLOAD
00000e64: SWAP1
00000e65: SWAP4
00000e66: POP
00000e67: PUSH1 0x00
00000e69: SWAP3
00000e6a: POP
00000e6b: SWAP1
00000e6c: MLOAD
00000e6d: GT
00000e6e: ISZERO
00000e6f: PUSH2 0x0e82
00000e72: JUMPI
00000e73: PUSH1 0x04
00000e75: SLOAD
00000e76: DUP3
00000e77: PUSH1 0x20
00000e79: ADD
00000e7a: MLOAD
00000e7b: SUB
00000e7c: SWAP1
00000e7d: POP
00000e7e: PUSH2 0x0e86
00000e81: JUMP
00000e82: JUMPDEST
00000e83: POP
00000e84: PUSH1 0x00
00000e86: JUMPDEST
00000e87: DUP2
00000e88: MLOAD
00000e89: DUP3
00000e8a: PUSH1 0x20
00000e8c: ADD
00000e8d: MLOAD
00000e8e: DUP4
00000e8f: PUSH1 0x40
00000e91: ADD
00000e92: MLOAD
00000e93: PUSH1 0x03
00000e95: SLOAD
00000e96: DUP6
00000e97: PUSH1 0x40
00000e99: ADD
00000e9a: MLOAD
00000e9b: MUL
00000e9c: DUP5
00000e9d: DUP7
00000e9e: PUSH1 0x40
00000ea0: ADD
00000ea1: MLOAD
00000ea2: MUL
00000ea3: SWAP7
00000ea4: POP
00000ea5: SWAP7
00000ea6: POP
00000ea7: SWAP7
00000ea8: POP
00000ea9: SWAP7
00000eaa: POP
00000eab: SWAP7
00000eac: POP
00000ead: PUSH2 0x0ec2
00000eb0: JUMP
00000eb1: JUMPDEST
00000eb2: PUSH1 0x00
00000eb4: SWAP7
00000eb5: POP
00000eb6: DUP7
00000eb7: SWAP6
00000eb8: POP
00000eb9: DUP6
00000eba: SWAP5
00000ebb: POP
00000ebc: DUP5
00000ebd: SWAP4
00000ebe: POP
00000ebf: DUP4
00000ec0: SWAP3
00000ec1: POP
00000ec2: JUMPDEST
00000ec3: POP
00000ec4: POP
00000ec5: SWAP2
00000ec6: SWAP4
00000ec7: SWAP6
00000ec8: SWAP1
00000ec9: SWAP3
00000eca: SWAP5
00000ecb: POP
00000ecc: JUMP
00000ecd: JUMPDEST
00000ece: PUSH1 0x08
00000ed0: PUSH1 0x20
00000ed2: MSTORE
00000ed3: PUSH1 0x00
00000ed5: SWAP1
00000ed6: DUP2
00000ed7: MSTORE
00000ed8: PUSH1 0x40
00000eda: SWAP1
00000edb: KECCAK256
00000edc: DUP1
00000edd: SLOAD
00000ede: PUSH1 0x01
00000ee0: DUP3
00000ee1: ADD
00000ee2: SLOAD
00000ee3: PUSH1 0x02
00000ee5: SWAP1
00000ee6: SWAP3
00000ee7: ADD
00000ee8: SLOAD
00000ee9: SWAP1
00000eea: SWAP2
00000eeb: SWAP1
00000eec: DUP4
00000eed: JUMP
00000eee: JUMPDEST
00000eef: PUSH1 0x06
00000ef1: SLOAD
00000ef2: DUP2
00000ef3: JUMP
00000ef4: JUMPDEST
00000ef5: PUSH1 0x04
00000ef7: SLOAD
00000ef8: DUP2
00000ef9: JUMP
00000efa: JUMPDEST
00000efb: PUSH1 0x64
00000efd: DUP2
00000efe: JUMP
00000eff: JUMPDEST
00000f00: PUSH20 0x73dd069c299a5d691e9836243bcaec9c8c1d8734
00000f15: JUMPDEST
00000f16: SWAP1
00000f17: JUMP
00000f18: JUMPDEST
00000f19: PUSH1 0x00
00000f1b: SLOAD
00000f1c: PUSH1 0xa0
00000f1e: PUSH1 0x02
00000f20: EXP
00000f21: SWAP1
00000f22: DIV
00000f23: PUSH1 0xff
00000f25: AND
00000f26: ISZERO
00000f27: PUSH2 0x0f2f
00000f2a: JUMPI
00000f2b: PUSH1 0x00
00000f2d: DUP1
00000f2e: REVERT
00000f2f: JUMPDEST
00000f30: PUSH1 0x00
00000f32: DUP1
00000f33: SLOAD
00000f34: PUSH1 0xa0
00000f36: PUSH1 0x02
00000f38: EXP
00000f39: PUSH1 0xff
00000f3b: MUL
00000f3c: NOT
00000f3d: AND
00000f3e: PUSH1 0xa0
00000f40: PUSH1 0x02
00000f42: EXP
00000f43: OR
00000f44: SWAP1
00000f45: SSTORE
00000f46: PUSH2 0x0f4d
00000f49: PUSH2 0x075d
00000f4c: JUMP
00000f4d: JUMPDEST
00000f4e: JUMPDEST
00000f4f: PUSH1 0x00
00000f51: DUP1
00000f52: SLOAD
00000f53: PUSH1 0xa0
00000f55: PUSH1 0x02
00000f57: EXP
00000f58: PUSH1 0xff
00000f5a: MUL
00000f5b: NOT
00000f5c: AND
00000f5d: SWAP1
00000f5e: SSTORE
00000f5f: JUMPDEST
00000f60: JUMP
00000f61: JUMPDEST
00000f62: PUSH1 0x03
00000f64: SLOAD
00000f65: DUP2
00000f66: JUMP
00000f67: JUMPDEST
00000f68: PUSH1 0x07
00000f6a: SLOAD
00000f6b: PUSH1 0x00
00000f6d: SWAP1
00000f6e: PUSH1 0x01
00000f70: PUSH1 0xa0
00000f72: PUSH1 0x02
00000f74: EXP
00000f75: SUB
00000f76: AND
00000f77: PUSH4 0xdda6c3ce
00000f7c: DUP4
00000f7d: DUP4
00000f7e: PUSH1 0x40
00000f80: MLOAD
00000f81: PUSH1 0x20
00000f83: ADD
00000f84: MSTORE
00000f85: PUSH1 0x40
00000f87: MLOAD
00000f88: PUSH1 0xe0
00000f8a: PUSH1 0x02
00000f8c: EXP
00000f8d: PUSH4 0xffffffff
00000f92: DUP5
00000f93: AND
00000f94: MUL
00000f95: DUP2
00000f96: MSTORE
00000f97: PUSH1 0x04
00000f99: DUP2
00000f9a: ADD
00000f9b: SWAP2
00000f9c: SWAP1
00000f9d: SWAP2
00000f9e: MSTORE
00000f9f: PUSH1 0x24
00000fa1: ADD
00000fa2: PUSH1 0x20
00000fa4: PUSH1 0x40
00000fa6: MLOAD
00000fa7: DUP1
00000fa8: DUP4
00000fa9: SUB
00000faa: DUP2
00000fab: PUSH1 0x00
00000fad: DUP8
00000fae: DUP1
00000faf: EXTCODESIZE
00000fb0: ISZERO
00000fb1: ISZERO
00000fb2: PUSH2 0x0fba
00000fb5: JUMPI
00000fb6: PUSH1 0x00
00000fb8: DUP1
00000fb9: REVERT
00000fba: JUMPDEST
00000fbb: PUSH2 0x02c6
00000fbe: GAS
00000fbf: SUB
00000fc0: CALL
00000fc1: ISZERO
00000fc2: ISZERO
00000fc3: PUSH2 0x0fcb
00000fc6: JUMPI
00000fc7: PUSH1 0x00
00000fc9: DUP1
00000fca: REVERT
00000fcb: JUMPDEST
00000fcc: POP
00000fcd: POP
00000fce: POP
00000fcf: PUSH1 0x40
00000fd1: MLOAD
00000fd2: DUP1
00000fd3: MLOAD
00000fd4: SWAP2
00000fd5: POP
00000fd6: POP
00000fd7: JUMPDEST
00000fd8: SWAP2
00000fd9: SWAP1
00000fda: POP
00000fdb: JUMP
00000fdc: JUMPDEST
00000fdd: PUSH1 0x00
00000fdf: DUP1
00000fe0: SLOAD
00000fe1: DUP2
00000fe2: SWAP1
00000fe3: DUP2
00000fe4: SWAP1
00000fe5: DUP2
00000fe6: SWAP1
00000fe7: PUSH1 0xa0
00000fe9: PUSH1 0x02
00000feb: EXP
00000fec: SWAP1
00000fed: DIV
00000fee: PUSH1 0xff
00000ff0: AND
00000ff1: ISZERO
00000ff2: PUSH2 0x0ffa
00000ff5: JUMPI
00000ff6: PUSH1 0x00
00000ff8: DUP1
00000ff9: REVERT
00000ffa: JUMPDEST
00000ffb: PUSH1 0x00
00000ffd: DUP1
00000ffe: SLOAD
00000fff: PUSH1 0xa0
00001001: PUSH1 0x02
00001003: EXP
00001004: PUSH1 0xff
00001006: MUL
00001007: NOT
00001008: AND
00001009: PUSH1 0xa0
0000100b: PUSH1 0x02
0000100d: EXP
0000100e: OR
0000100f: DUP2
00001010: SSTORE
00001011: PUSH1 0x07
00001013: SLOAD
00001014: PUSH1 0x01
00001016: PUSH1 0xa0
00001018: PUSH1 0x02
0000101a: EXP
0000101b: SUB
0000101c: AND
0000101d: SWAP1
0000101e: PUSH4 0xdda6c3ce
00001023: SWAP1
00001024: DUP9
00001025: SWAP1
00001026: PUSH1 0x40
00001028: MLOAD
00001029: PUSH1 0x20
0000102b: ADD
0000102c: MSTORE
0000102d: PUSH1 0x40
0000102f: MLOAD
00001030: PUSH1 0xe0
00001032: PUSH1 0x02
00001034: EXP
00001035: PUSH4 0xffffffff
0000103a: DUP5
0000103b: AND
0000103c: MUL
0000103d: DUP2
0000103e: MSTORE
0000103f: PUSH1 0x04
00001041: DUP2
00001042: ADD
00001043: SWAP2
00001044: SWAP1
00001045: SWAP2
00001046: MSTORE
00001047: PUSH1 0x24
00001049: ADD
0000104a: PUSH1 0x20
0000104c: PUSH1 0x40
0000104e: MLOAD
0000104f: DUP1
00001050: DUP4
00001051: SUB
00001052: DUP2
00001053: PUSH1 0x00
00001055: DUP8
00001056: DUP1
00001057: EXTCODESIZE
00001058: ISZERO
00001059: ISZERO
0000105a: PUSH2 0x1062
0000105d: JUMPI
0000105e: PUSH1 0x00
00001060: DUP1
00001061: REVERT
00001062: JUMPDEST
00001063: PUSH2 0x02c6
00001066: GAS
00001067: SUB
00001068: CALL
00001069: ISZERO
0000106a: ISZERO
0000106b: PUSH2 0x1073
0000106e: JUMPI
0000106f: PUSH1 0x00
00001071: DUP1
00001072: REVERT
00001073: JUMPDEST
00001074: POP
00001075: POP
00001076: POP
00001077: PUSH1 0x40
00001079: MLOAD
0000107a: DUP1
0000107b: MLOAD
0000107c: SWAP1
0000107d: POP
0000107e: ISZERO
0000107f: ISZERO
00001080: PUSH2 0x1088
00001083: JUMPI
00001084: PUSH1 0x00
00001086: DUP1
00001087: REVERT
00001088: JUMPDEST
00001089: PUSH1 0x07
0000108b: SLOAD
0000108c: PUSH1 0x01
0000108e: PUSH1 0xa0
00001090: PUSH1 0x02
00001092: EXP
00001093: SUB
00001094: AND
00001095: PUSH4 0x70a08231
0000109a: ADDRESS
0000109b: PUSH1 0x00
0000109d: PUSH1 0x40
0000109f: MLOAD
000010a0: PUSH1 0x20
000010a2: ADD
000010a3: MSTORE
000010a4: PUSH1 0x40
000010a6: MLOAD
000010a7: PUSH1 0xe0
000010a9: PUSH1 0x02
000010ab: EXP
000010ac: PUSH4 0xffffffff
000010b1: DUP5
000010b2: AND
000010b3: MUL
000010b4: DUP2
000010b5: MSTORE
000010b6: PUSH1 0x01
000010b8: PUSH1 0xa0
000010ba: PUSH1 0x02
000010bc: EXP
000010bd: SUB
000010be: SWAP1
000010bf: SWAP2
000010c0: AND
000010c1: PUSH1 0x04
000010c3: DUP3
000010c4: ADD
000010c5: MSTORE
000010c6: PUSH1 0x24
000010c8: ADD
000010c9: PUSH1 0x20
000010cb: PUSH1 0x40
000010cd: MLOAD
000010ce: DUP1
000010cf: DUP4
000010d0: SUB
000010d1: DUP2
000010d2: PUSH1 0x00
000010d4: DUP8
000010d5: DUP1
000010d6: EXTCODESIZE
000010d7: ISZERO
000010d8: ISZERO
000010d9: PUSH2 0x10e1
000010dc: JUMPI
000010dd: PUSH1 0x00
000010df: DUP1
000010e0: REVERT
000010e1: JUMPDEST
000010e2: PUSH2 0x02c6
000010e5: GAS
000010e6: SUB
000010e7: CALL
000010e8: ISZERO
000010e9: ISZERO
000010ea: PUSH2 0x10f2
000010ed: JUMPI
000010ee: PUSH1 0x00
000010f0: DUP1
000010f1: REVERT
000010f2: JUMPDEST
000010f3: POP
000010f4: POP
000010f5: POP
000010f6: PUSH1 0x40
000010f8: MLOAD
000010f9: DUP1
000010fa: MLOAD
000010fb: PUSH1 0x07
000010fd: SLOAD
000010fe: SWAP1
000010ff: SWAP5
00001100: POP
00001101: PUSH1 0x01
00001103: PUSH1 0xa0
00001105: PUSH1 0x02
00001107: EXP
00001108: SUB
00001109: AND
0000110a: SWAP1
0000110b: POP
0000110c: PUSH4 0xddd5e1b2
00001111: DUP8
00001112: ADDRESS
00001113: PUSH1 0x40
00001115: MLOAD
00001116: PUSH1 0xe0
00001118: PUSH1 0x02
0000111a: EXP
0000111b: PUSH4 0xffffffff
00001120: DUP6
00001121: AND
00001122: MUL
00001123: DUP2
00001124: MSTORE
00001125: PUSH1 0x04
00001127: DUP2
00001128: ADD
00001129: SWAP3
0000112a: SWAP1
0000112b: SWAP3
0000112c: MSTORE
0000112d: PUSH1 0x01
0000112f: PUSH1 0xa0
00001131: PUSH1 0x02
00001133: EXP
00001134: SUB
00001135: AND
00001136: PUSH1 0x24
00001138: DUP3
00001139: ADD
0000113a: MSTORE
0000113b: PUSH1 0x44
0000113d: ADD
0000113e: PUSH1 0x00
00001140: PUSH1 0x40
00001142: MLOAD
00001143: DUP1
00001144: DUP4
00001145: SUB
00001146: DUP2
00001147: PUSH1 0x00
00001149: DUP8
0000114a: DUP1
0000114b: EXTCODESIZE
0000114c: ISZERO
0000114d: ISZERO
0000114e: PUSH2 0x1156
00001151: JUMPI
00001152: PUSH1 0x00
00001154: DUP1
00001155: REVERT
00001156: JUMPDEST
00001157: PUSH2 0x02c6
0000115a: GAS
0000115b: SUB
0000115c: CALL
0000115d: ISZERO
0000115e: ISZERO
0000115f: PUSH2 0x1167
00001162: JUMPI
00001163: PUSH1 0x00
00001165: DUP1
00001166: REVERT
00001167: JUMPDEST
00001168: POP
00001169: POP
0000116a: PUSH1 0x07
0000116c: SLOAD
0000116d: PUSH1 0x01
0000116f: PUSH1 0xa0
00001171: PUSH1 0x02
00001173: EXP
00001174: SUB
00001175: AND
00001176: SWAP1
00001177: POP
00001178: PUSH4 0x70a08231
0000117d: ADDRESS
0000117e: PUSH1 0x00
00001180: PUSH1 0x40
00001182: MLOAD
00001183: PUSH1 0x20
00001185: ADD
00001186: MSTORE
00001187: PUSH1 0x40
00001189: MLOAD
0000118a: PUSH1 0xe0
0000118c: PUSH1 0x02
0000118e: EXP
0000118f: PUSH4 0xffffffff
00001194: DUP5
00001195: AND
00001196: MUL
00001197: DUP2
00001198: MSTORE
00001199: PUSH1 0x01
0000119b: PUSH1 0xa0
0000119d: PUSH1 0x02
0000119f: EXP
000011a0: SUB
000011a1: SWAP1
000011a2: SWAP2
000011a3: AND
000011a4: PUSH1 0x04
000011a6: DUP3
000011a7: ADD
000011a8: MSTORE
000011a9: PUSH1 0x24
000011ab: ADD
000011ac: PUSH1 0x20
000011ae: PUSH1 0x40
000011b0: MLOAD
000011b1: DUP1
000011b2: DUP4
000011b3: SUB
000011b4: DUP2
000011b5: PUSH1 0x00
000011b7: DUP8
000011b8: DUP1
000011b9: EXTCODESIZE
000011ba: ISZERO
000011bb: ISZERO
000011bc: PUSH2 0x11c4
000011bf: JUMPI
000011c0: PUSH1 0x00
000011c2: DUP1
000011c3: REVERT
000011c4: JUMPDEST
000011c5: PUSH2 0x02c6
000011c8: GAS
000011c9: SUB
000011ca: CALL
000011cb: ISZERO
000011cc: ISZERO
000011cd: PUSH2 0x11d5
000011d0: JUMPI
000011d1: PUSH1 0x00
000011d3: DUP1
000011d4: REVERT
000011d5: JUMPDEST
000011d6: POP
000011d7: POP
000011d8: POP
000011d9: PUSH1 0x40
000011db: MLOAD
000011dc: DUP1
000011dd: MLOAD
000011de: PUSH1 0x00
000011e0: DUP9
000011e1: DUP2
000011e2: MSTORE
000011e3: PUSH1 0x09
000011e5: PUSH1 0x20
000011e7: MSTORE
000011e8: PUSH1 0x40
000011ea: SWAP1
000011eb: KECCAK256
000011ec: SLOAD
000011ed: SWAP1
000011ee: SWAP4
000011ef: POP
000011f0: SWAP2
000011f1: POP
000011f2: PUSH2 0x11ff
000011f5: SWAP1
000011f6: POP
000011f7: DUP2
000011f8: DUP5
000011f9: DUP5
000011fa: SUB
000011fb: PUSH2 0x132e
000011fe: JUMP
000011ff: JUMPDEST
00001200: PUSH1 0x05
00001202: DUP1
00001203: SLOAD
00001204: PUSH1 0x01
00001206: ADD
00001207: SWAP1
00001208: SSTORE
00001209: JUMPDEST
0000120a: PUSH1 0x00
0000120c: DUP1
0000120d: SLOAD
0000120e: PUSH1 0xa0
00001210: PUSH1 0x02
00001212: EXP
00001213: PUSH1 0xff
00001215: MUL
00001216: NOT
00001217: AND
00001218: SWAP1
00001219: SSTORE
0000121a: JUMPDEST
0000121b: POP
0000121c: POP
0000121d: POP
0000121e: SWAP3
0000121f: SWAP2
00001220: POP
00001221: POP
00001222: JUMP
00001223: JUMPDEST
00001224: PUSH1 0x01
00001226: SLOAD
00001227: DUP2
00001228: JUMP
00001229: JUMPDEST
0000122a: PUSH1 0x00
0000122c: SLOAD
0000122d: PUSH1 0xa0
0000122f: PUSH1 0x02
00001231: EXP
00001232: SWAP1
00001233: DIV
00001234: PUSH1 0xff
00001236: AND
00001237: ISZERO
00001238: PUSH2 0x1240
0000123b: JUMPI
0000123c: PUSH1 0x00
0000123e: DUP1
0000123f: REVERT
00001240: JUMPDEST
00001241: PUSH1 0x00
00001243: DUP1
00001244: SLOAD
00001245: PUSH1 0xa0
00001247: PUSH1 0x02
00001249: EXP
0000124a: PUSH1 0xff
0000124c: MUL
0000124d: NOT
0000124e: AND
0000124f: PUSH1 0xa0
00001251: PUSH1 0x02
00001253: EXP
00001254: OR
00001255: SWAP1
00001256: DUP2
00001257: SWAP1
00001258: SSTORE
00001259: CALLER
0000125a: PUSH1 0x01
0000125c: PUSH1 0xa0
0000125e: PUSH1 0x02
00001260: EXP
00001261: SUB
00001262: SWAP1
00001263: DUP2
00001264: AND
00001265: SWAP2
00001266: AND
00001267: EQ
00001268: PUSH2 0x1270
0000126b: JUMPI
0000126c: PUSH1 0x00
0000126e: DUP1
0000126f: REVERT
00001270: JUMPDEST
00001271: PUSH1 0x06
00001273: PUSH1 0xff
00001275: DUP3
00001276: AND
00001277: LT
00001278: PUSH2 0x1280
0000127b: JUMPI
0000127c: PUSH1 0x00
0000127e: DUP1
0000127f: REVERT
00001280: JUMPDEST
00001281: PUSH1 0xff
00001283: DUP2
00001284: AND
00001285: PUSH1 0x01
00001287: SSTORE
00001288: JUMPDEST
00001289: JUMPDEST
0000128a: PUSH1 0x00
0000128c: DUP1
0000128d: SLOAD
0000128e: PUSH1 0xa0
00001290: PUSH1 0x02
00001292: EXP
00001293: PUSH1 0xff
00001295: MUL
00001296: NOT
00001297: AND
00001298: SWAP1
00001299: SSTORE
0000129a: JUMPDEST
0000129b: POP
0000129c: JUMP
0000129d: JUMPDEST
0000129e: PUSH1 0x02
000012a0: SLOAD
000012a1: DUP2
000012a2: JUMP
000012a3: JUMPDEST
000012a4: PUSH1 0x0c
000012a6: DUP2
000012a7: PUSH2 0x0100
000012aa: DUP2
000012ab: LT
000012ac: PUSH2 0x12b1
000012af: JUMPI
000012b0: INVALID
000012b1: JUMPDEST
000012b2: ADD
000012b3: PUSH1 0x00
000012b5: JUMPDEST
000012b6: SWAP2
000012b7: POP
000012b8: SLOAD
000012b9: SWAP1
000012ba: PUSH2 0x0100
000012bd: EXP
000012be: SWAP1
000012bf: DIV
000012c0: PUSH1 0x01
000012c2: PUSH1 0xa0
000012c4: PUSH1 0x02
000012c6: EXP
000012c7: SUB
000012c8: AND
000012c9: DUP2
000012ca: JUMP
000012cb: JUMPDEST
000012cc: PUSH1 0x00
000012ce: SLOAD
000012cf: CALLER
000012d0: PUSH1 0x01
000012d2: PUSH1 0xa0
000012d4: PUSH1 0x02
000012d6: EXP
000012d7: SUB
000012d8: SWAP1
000012d9: DUP2
000012da: AND
000012db: SWAP2
000012dc: AND
000012dd: EQ
000012de: PUSH2 0x12e6
000012e1: JUMPI
000012e2: PUSH1 0x00
000012e4: DUP1
000012e5: REVERT
000012e6: JUMPDEST
000012e7: PUSH1 0x01
000012e9: PUSH1 0xa0
000012eb: PUSH1 0x02
000012ed: EXP
000012ee: SUB
000012ef: DUP2
000012f0: AND
000012f1: ISZERO
000012f2: PUSH2 0x129a
000012f5: JUMPI
000012f6: PUSH1 0x00
000012f8: DUP1
000012f9: SLOAD
000012fa: PUSH1 0x01
000012fc: PUSH1 0xa0
000012fe: PUSH1 0x02
00001300: EXP
00001301: SUB
00001302: NOT
00001303: AND
00001304: PUSH1 0x01
00001306: PUSH1 0xa0
00001308: PUSH1 0x02
0000130a: EXP
0000130b: SUB
0000130c: DUP4
0000130d: AND
0000130e: OR
0000130f: SWAP1
00001310: SSTORE
00001311: JUMPDEST
00001312: JUMPDEST
00001313: JUMPDEST
00001314: POP
00001315: JUMP
00001316: JUMPDEST
00001317: PUSH1 0x00
00001319: PUSH1 0x06
0000131b: SLOAD
0000131c: DUP3
0000131d: DUP2
0000131e: ISZERO
0000131f: ISZERO
00001320: PUSH2 0x1325
00001323: JUMPI
00001324: INVALID
00001325: JUMPDEST
00001326: DIV
00001327: SWAP1
00001328: POP
00001329: JUMPDEST
0000132a: SWAP2
0000132b: SWAP1
0000132c: POP
0000132d: JUMP
0000132e: JUMPDEST
0000132f: DUP1
00001330: PUSH1 0x00
00001332: DUP1
00001333: DUP1
00001334: DUP1
00001335: DUP1
00001336: JUMPDEST
00001337: PUSH1 0x02
00001339: SLOAD
0000133a: DUP6
0000133b: PUSH1 0xff
0000133d: AND
0000133e: LT
0000133f: ISZERO
00001340: PUSH2 0x1400
00001343: JUMPI
00001344: PUSH1 0x0c
00001346: PUSH1 0xff
00001348: DUP7
00001349: AND
0000134a: PUSH2 0x0100
0000134d: DUP2
0000134e: LT
0000134f: PUSH2 0x1354
00001352: JUMPI
00001353: INVALID
00001354: JUMPDEST
00001355: ADD
00001356: PUSH1 0x00
00001358: JUMPDEST
00001359: SWAP1
0000135a: SLOAD
0000135b: SWAP1
0000135c: PUSH2 0x0100
0000135f: EXP
00001360: SWAP1
00001361: DIV
00001362: PUSH1 0x01
00001364: PUSH1 0xa0
00001366: PUSH1 0x02
00001368: EXP
00001369: SUB
0000136a: AND
0000136b: SWAP4
0000136c: POP
0000136d: PUSH1 0x00
0000136f: DUP5
00001370: PUSH1 0x01
00001372: PUSH1 0xa0
00001374: PUSH1 0x02
00001376: EXP
00001377: SUB
00001378: AND
00001379: GT
0000137a: DUP1
0000137b: ISZERO
0000137c: PUSH2 0x1384
0000137f: JUMPI
00001380: POP
00001381: DUP6
00001382: ISZERO
00001383: ISZERO
00001384: JUMPDEST
00001385: ISZERO
00001386: PUSH2 0x13f4
00001389: JUMPI
0000138a: PUSH1 0x01
0000138c: PUSH1 0xa0
0000138e: PUSH1 0x02
00001390: EXP
00001391: SUB
00001392: DUP5
00001393: AND
00001394: PUSH1 0x00
00001396: SWAP1
00001397: DUP2
00001398: MSTORE
00001399: PUSH1 0x08
0000139b: PUSH1 0x20
0000139d: MSTORE
0000139e: PUSH1 0x40
000013a0: SWAP1
000013a1: KECCAK256
000013a2: PUSH1 0x02
000013a4: ADD
000013a5: SLOAD
000013a6: SWAP3
000013a7: POP
000013a8: DUP8
000013a9: PUSH3 0x989680
000013ad: DUP5
000013ae: MUL
000013af: DUP2
000013b0: ISZERO
000013b1: ISZERO
000013b2: PUSH2 0x13b7
000013b5: JUMPI
000013b6: INVALID
000013b7: JUMPDEST
000013b8: DIV
000013b9: SWAP2
000013ba: POP
000013bb: PUSH3 0x989680
000013bf: DUP8
000013c0: DUP4
000013c1: MUL
000013c2: JUMPDEST
000013c3: DIV
000013c4: SWAP1
000013c5: POP
000013c6: DUP6
000013c7: DUP2
000013c8: GT
000013c9: ISZERO
000013ca: PUSH2 0x13d0
000013cd: JUMPI
000013ce: POP
000013cf: DUP5
000013d0: JUMPDEST
000013d1: PUSH1 0x01
000013d3: PUSH1 0xa0
000013d5: PUSH1 0x02
000013d7: EXP
000013d8: SUB
000013d9: DUP5
000013da: AND
000013db: PUSH1 0x00
000013dd: SWAP1
000013de: DUP2
000013df: MSTORE
000013e0: PUSH1 0x0a
000013e2: PUSH1 0x20
000013e4: MSTORE
000013e5: PUSH1 0x40
000013e7: SWAP1
000013e8: KECCAK256
000013e9: DUP1
000013ea: SLOAD
000013eb: DUP3
000013ec: ADD
000013ed: SWAP1
000013ee: SSTORE
000013ef: SWAP5
000013f0: DUP6
000013f1: SWAP1
000013f2: SUB
000013f3: SWAP5
000013f4: JUMPDEST
000013f5: JUMPDEST
000013f6: PUSH1 0x01
000013f8: SWAP1
000013f9: SWAP5
000013fa: ADD
000013fb: SWAP4
000013fc: PUSH2 0x1336
000013ff: JUMP
00001400: JUMPDEST
00001401: JUMPDEST
00001402: POP
00001403: POP
00001404: POP
00001405: POP
00001406: POP
00001407: POP
00001408: POP
00001409: POP
0000140a: JUMP
0000140b: JUMPDEST
0000140c: PUSH1 0x60
0000140e: PUSH1 0x40
00001410: MLOAD
00001411: SWAP1
00001412: DUP2
00001413: ADD
00001414: PUSH1 0x40
00001416: MSTORE
00001417: DUP1
00001418: PUSH1 0x00
0000141a: DUP2
0000141b: MSTORE
0000141c: PUSH1 0x20
0000141e: ADD
0000141f: PUSH1 0x00
00001421: DUP2
00001422: MSTORE
00001423: PUSH1 0x20
00001425: ADD
00001426: PUSH1 0x00
00001428: DUP2
00001429: MSTORE
0000142a: POP
0000142b: SWAP1
0000142c: JUMP
0000142d: JUMPDEST
0000142e: DUP2
0000142f: SLOAD
00001430: DUP2
00001431: DUP4
00001432: SSTORE
00001433: DUP2
00001434: DUP2
00001435: ISZERO
00001436: GT
00001437: PUSH2 0x0214
0000143a: JUMPI
0000143b: PUSH1 0x1f
0000143d: ADD
0000143e: PUSH1 0x20
00001440: SWAP1
00001441: DIV
00001442: DUP2
00001443: PUSH1 0x1f
00001445: ADD
00001446: PUSH1 0x20
00001448: SWAP1
00001449: DIV
0000144a: DUP4
0000144b: PUSH1 0x00
0000144d: MSTORE
0000144e: PUSH1 0x20
00001450: PUSH1 0x00
00001452: KECCAK256
00001453: SWAP2
00001454: DUP3
00001455: ADD
00001456: SWAP2
00001457: ADD
00001458: PUSH2 0x0214
0000145b: SWAP2
0000145c: SWAP1
0000145d: PUSH2 0x1467
00001460: JUMP
00001461: JUMPDEST
00001462: JUMPDEST
00001463: POP
00001464: POP
00001465: POP
00001466: JUMP
00001467: JUMPDEST
00001468: PUSH2 0x075a
0000146b: SWAP2
0000146c: SWAP1
0000146d: JUMPDEST
0000146e: DUP1
0000146f: DUP3
00001470: GT
00001471: ISZERO
00001472: PUSH2 0x1481
00001475: JUMPI
00001476: PUSH1 0x00
00001478: DUP2
00001479: SSTORE
0000147a: PUSH1 0x01
0000147c: ADD
0000147d: PUSH2 0x146d
00001480: JUMP
00001481: JUMPDEST
00001482: POP
00001483: SWAP1
00001484: JUMP
00001485: JUMPDEST
00001486: SWAP1
00001487: JUMP
00001488: STOP
00001489: LOG1
0000148a: PUSH6 0x627a7a723058
00001491: KECCAK256
00001492: UNKNOWN(0xAD)
00001493: GASPRICE
00001494: UNKNOWN(0xBA)
00001495: UNKNOWN(0x2B)
00001496: SWAP4
00001497: CODESIZE
00001498: UNKNOWN(0xC3)
00001499: UNKNOWN(0xC5)
0000149a: DUP15
0000149b: TLOAD
0000149c: OR
0000149d: DIFFICULTY
0000149e: UNKNOWN(0xDA)
0000149f: PUSH3 0x17b18f
000014a3: PUSH16 0x75a9ce0d1cea621e7fc59c0749970029

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high auth slither SharkPool.do_redemption() (contracts/Contract.sol#310-321) ignores return value by base_contract.transfer(owner,owner_cut) (contracts/Contract.sol#316-317) 85 no
view
evidence_json
{
    "impact": "High",
    "detector": "unchecked-transfer",
    "elements": [
        {
            "name": "do_redemption",
            "type": "function",
            "source_mapping": {
                "lines": [
                    310,
                    311,
                    312,
                    313,
                    314,
                    315,
                    316,
                    317,
                    318,
                    319,
                    320,
                    321
                ],
                "start": 10742,
                "length": 409,
                "ending_column": 9,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 44,
                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "SharkPool",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            86,
                            87,
                            88,
                            89,
                            90,
                            91,
                            92,
                            93,
                            94,
                            95,
                            96,
                            97,
                            98,
                            99,
                            100,
                            101,
                            102,
                            103,
                            104,
                            105,
                            106,
                            107,
                            108,
                            109,
                            110,
                            111,
                            112,
                            113,
                            114,
                            115,
                            116,
                            117,
                            118,
                            119,
                            120,
                            121,
                            122,
                            123,
                            124,
                            125,
                            126,
                            127,
                            128,
                            129,
                            130,
                            131,
                            132,
                            133,
                            134,
                            135,
                            136,
                            137,
                            138,
                            139,
                            140,
                            141,
                            142,
                            143,
                            144,
                            145,
                            146,
                            147,
                            148,
                            149,
                            150,
                            151,
                            152,
                            153,
                            154,
                            155,
                            156,
                            157,
                            158,
                            159,
                            160,
                            161,
                            162,
                            163,
                            164,
                            165,
                            166,
                            167,
                            168,
                            169,
                            170,
                            171,
                            172,
                            173,
                            174,
                            175,
                            176,
                            177,
                            178,
                            179,
                            180,
                            181,
                            182,
                            183,
                            184,
                            185,
                            186,
                            187,
                            188,
                            189,
                            190,
                            191,
                            192,
                            193,
                            194,
                            195,
                            196,
                            197,
                            198,
                            199,
                            200,
                            201,
                            202,
                            203,
                            204,
                            205,
                            206,
                            207,
                            208,
                            209,
                            210,
                            211,
                            212,
                            213,
                            214,
                            215,
                            216,
                            217,
                            218,
                            219,
                            220,
                            221,
                            222,
                            223,
                            224,
                            225,
                            226,
                            227,
                            228,
                            229,
                            230,
                            231,
                            232,
                            233,
                            234,
                            235,
                            236,
                            237,
                            238,
                            239,
                            240,
                            241,
                            242,
                            243,
                            244,
                            245,
                            246,
                            247,
                            248,
                            249,
                            250,
                            251,
                            252,
                            253,
                            254,
                            255,
                            256,
                            257,
                            258,
                            259,
                            260,
                            261,
                            262,
                            263,
                            264,
                            265,
                            266,
                            267,
                            268,
                            269,
                            270,
                            271,
                            272,
                            273,
                            274,
                            275,
                            276,
                            277,
                            278,
                            279,
                            280,
                            281,
                            282,
                            283,
                            284,
                            285,
                            286,
                            287,
                            288,
                            289,
                            290,
                            291,
                            292,
                            293,
                            294,
                            295,
                            296,
                            297,
                            298,
                            299,
                            300,
                            301,
                            302,
                            303,
                            304,
                            305,
                            306,
                            307,
                            308,
                            309,
                            310,
                            311,
                            312,
                            313,
                            314,
                            315,
                            316,
                            317,
                            318,
                            319,
                            320,
                            321,
                            322,
                            323,
                            324,
                            325,
                            326,
                            327,
                            328,
                            329,
                            330,
                            331,
                            332,
                            333,
                            334
                        ],
                        "start": 2391,
                        "length": 9156,
                        "ending_column": 12,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 36,
                        "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    }
                },
                "signature": "do_redemption()"
            }
        },
        {
            "name": "base_contract.transfer(owner,owner_cut)",
            "type": "node",
            "source_mapping": {
                "lines": [
                    316,
                    317
                ],
                "start": 11000,
                "length": 40,
                "ending_column": 7,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 23,
                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "do_redemption",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            310,
                            311,
                            312,
                            313,
                            314,
                            315,
                            316,
                            317,
                            318,
                            319,
                            320,
                            321
                        ],
                        "start": 10742,
                        "length": 409,
                        "ending_column": 9,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 44,
                        "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "SharkPool",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    86,
                                    87,
                                    88,
                                    89,
                                    90,
                                    91,
                                    92,
                                    93,
                                    94,
                                    95,
                                    96,
                                    97,
                                    98,
                                    99,
                                    100,
                                    101,
                                    102,
                                    103,
                                    104,
                                    105,
                                    106,
                                    107,
                                    108,
                                    109,
                                    110,
                                    111,
                                    112,
                                    113,
                                    114,
                                    115,
                                    116,
                                    117,
                                    118,
                                    119,
                                    120,
                                    121,
                                    122,
                                    123,
                                    124,
                                    125,
                                    126,
                                    127,
                                    128,
                                    129,
                                    130,
                                    131,
                                    132,
                                    133,
                                    134,
                                    135,
                                    136,
                                    137,
                                    138,
                                    139,
                                    140,
                                    141,
                                    142,
                                    143,
                                    144,
                                    145,
                                    146,
                                    147,
                                    148,
                                    149,
                                    150,
                                    151,
                                    152,
                                    153,
                                    154,
                                    155,
                                    156,
                                    157,
                                    158,
                                    159,
                                    160,
                                    161,
                                    162,
                                    163,
                                    164,
                                    165,
                                    166,
                                    167,
                                    168,
                                    169,
                                    170,
                                    171,
                                    172,
                                    173,
                                    174,
                                    175,
                                    176,
                                    177,
                                    178,
                                    179,
                                    180,
                                    181,
                                    182,
                                    183,
                                    184,
                                    185,
                                    186,
                                    187,
                                    188,
                                    189,
                                    190,
                                    191,
                                    192,
                                    193,
                                    194,
                                    195,
                                    196,
                                    197,
                                    198,
                                    199,
                                    200,
                                    201,
                                    202,
                                    203,
                                    204,
                                    205,
                                    206,
                                    207,
                                    208,
                                    209,
                                    210,
                                    211,
                                    212,
                                    213,
                                    214,
                                    215,
                                    216,
                                    217,
                                    218,
                                    219,
                                    220,
                                    221,
                                    222,
                                    223,
                                    224,
                                    225,
                                    226,
                                    227,
                                    228,
                                    229,
                                    230,
                                    231,
                                    232,
                                    233,
                                    234,
                                    235,
                                    236,
                                    237,
                                    238,
                                    239,
                                    240,
                                    241,
                                    242,
                                    243,
                                    244,
                                    245,
                                    246,
                                    247,
                                    248,
                                    249,
                                    250,
                                    251,
                                    252,
                                    253,
                                    254,
                                    255,
                                    256,
                                    257,
                                    258,
                                    259,
                                    260,
                                    261,
                                    262,
                                    263,
                                    264,
                                    265,
                                    266,
                                    267,
                                    268,
                                    269,
                                    270,
                                    271,
                                    272,
                                    273,
                                    274,
                                    275,
                                    276,
                                    277,
                                    278,
                                    279,
                                    280,
                                    281,
                                    282,
                                    283,
                                    284,
                                    285,
                                    286,
                                    287,
                                    288,
                                    289,
                                    290,
                                    291,
                                    292,
                                    293,
                                    294,
                                    295,
                                    296,
                                    297,
                                    298,
                                    299,
                                    300,
                                    301,
                                    302,
                                    303,
                                    304,
                                    305,
                                    306,
                                    307,
                                    308,
                                    309,
                                    310,
                                    311,
                                    312,
                                    313,
                                    314,
                                    315,
                                    316,
                                    317,
                                    318,
                                    319,
                                    320,
                                    321,
                                    322,
                                    323,
                                    324,
                                    325,
                                    326,
                                    327,
                                    328,
                                    329,
                                    330,
                                    331,
                                    332,
                                    333,
                                    334
                                ],
                                "start": 2391,
                                "length": 9156,
                                "ending_column": 12,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 36,
                                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "do_redemption()"
                    }
                }
            }
        }
    ],
    "locations": [
        {
            "file": "contracts/Contract.sol",
            "name": "do_redemption",
            "type": "function",
            "lines": [
                310,
                311,
                312,
                313,
                314,
                315,
                316,
                317,
                318,
                319,
                320,
                321
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "base_contract.transfer(owner,owner_cut)",
            "type": "node",
            "lines": [
                316,
                317
            ]
        }
    ],
    "description": "SharkPool.do_redemption() (contracts/Contract.sol#310-321) ignores return value by base_contract.transfer(owner,owner_cut) (contracts/Contract.sol#316-317)"
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x5b3047404d20b6e54ab69a83cc590797a899936c4931f0e34e66f8c8e1375e45
call_targets: 0x29aa20fb9b23421e310bdb8a7cfb81d7fbb4a1b3
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x5b3047404d20b6e54ab69a83cc590797a899936c4931f0e34e66f8c8e1375e45",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x29aa20fb9b23421e310bdb8a7cfb81d7fbb4a1b3"
    ],
    "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": "0x014c3dbc",
            "selector": "0x014c3dbc",
            "calldata_variants": [
                "0x014c3dbc",
                "0x014c3dbc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0ee33c70",
            "selector": "0x0ee33c70",
            "calldata_variants": [
                "0x0ee33c70",
                "0x0ee33c700000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2c035157",
            "selector": "0x2c035157",
            "calldata_variants": [
                "0x2c035157",
                "0x2c0351570000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2d59680d",
            "selector": "0x2d59680d",
            "calldata_variants": [
                "0x2d59680d",
                "0x2d59680d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x42b343a3",
            "selector": "0x42b343a3",
            "calldata_variants": [
                "0x42b343a3",
                "0x42b343a30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x54ba34b5",
            "selector": "0x54ba34b5",
            "calldata_variants": [
                "0x54ba34b5",
                "0x54ba34b50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5f623e15",
            "selector": "0x5f623e15",
            "calldata_variants": [
                "0x5f623e15",
                "0x5f623e150000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x70a08231",
            "selector": "0x70a08231",
            "calldata_variants": [
                "0x70a08231",
                "0x70a082310000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1847,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2054,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2177,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 11,
    "guards_detected": [],
    "untrusted_call_count": 11
}
high reentrancy slither Reentrancy in SharkPool.mine() (contracts/Contract.sol#252-288): 85 no
view
evidence_json
{
    "impact": "High",
    "detector": "reentrancy-eth",
    "elements": [
        {
            "name": "mine",
            "type": "function",
            "source_mapping": {
                "lines": [
                    252,
                    253,
                    254,
                    255,
                    256,
                    257,
                    258,
                    259,
                    260,
                    261,
                    262,
                    263,
                    264,
                    265,
                    266,
                    267,
                    268,
                    269,
                    270,
                    271,
                    272,
                    273,
                    274,
                    275,
                    276,
                    277,
                    278,
                    279,
                    280,
                    281,
                    282,
                    283,
                    284,
                    285,
                    286,
                    287,
                    288
                ],
                "start": 8553,
                "length": 1431,
                "ending_column": 52,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 56,
                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "SharkPool",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            86,
                            87,
                            88,
                            89,
                            90,
                            91,
                            92,
                            93,
                            94,
                            95,
                            96,
                            97,
                            98,
                            99,
                            100,
                            101,
                            102,
                            103,
                            104,
                            105,
                            106,
                            107,
                            108,
                            109,
                            110,
                            111,
                            112,
                            113,
                            114,
                            115,
                            116,
                            117,
                            118,
                            119,
                            120,
                            121,
                            122,
                            123,
                            124,
                            125,
                            126,
                            127,
                            128,
                            129,
                            130,
                            131,
                            132,
                            133,
                            134,
                            135,
                            136,
                            137,
                            138,
                            139,
                            140,
                            141,
                            142,
                            143,
                            144,
                            145,
                            146,
                            147,
                            148,
                            149,
                            150,
                            151,
                            152,
                            153,
                            154,
                            155,
                            156,
                            157,
                            158,
                            159,
                            160,
                            161,
                            162,
                            163,
                            164,
                            165,
                            166,
                            167,
                            168,
                            169,
                            170,
                            171,
                            172,
                            173,
                            174,
                            175,
                            176,
                            177,
                            178,
                            179,
                            180,
                            181,
                            182,
                            183,
                            184,
                            185,
                            186,
                            187,
                            188,
                            189,
                            190,
                            191,
                            192,
                            193,
                            194,
                            195,
                            196,
                            197,
                            198,
                            199,
                            200,
                            201,
                            202,
                            203,
                            204,
                            205,
                            206,
                            207,
                            208,
                            209,
                            210,
                            211,
                            212,
                            213,
                            214,
                            215,
                            216,
                            217,
                            218,
                            219,
                            220,
                            221,
                            222,
                            223,
                            224,
                            225,
                            226,
                            227,
                            228,
                            229,
                            230,
                            231,
                            232,
                            233,
                            234,
                            235,
                            236,
                            237,
                            238,
                            239,
                            240,
                            241,
                            242,
                            243,
                            244,
                            245,
                            246,
                            247,
                            248,
                            249,
                            250,
                            251,
                            252,
                            253,
                            254,
                            255,
                            256,
                            257,
                            258,
                            259,
                            260,
                            261,
                            262,
                            263,
                            264,
                            265,
                            266,
                            267,
                            268,
                            269,
                            270,
                            271,
                            272,
                            273,
                            274,
                            275,
                            276,
                            277,
                            278,
                            279,
                            280,
                            281,
                            282,
                            283,
                            284,
                            285,
                            286,
                            287,
                            288,
                            289,
                            290,
                            291,
                            292,
                            293,
                            294,
                            295,
                            296,
                            297,
                            298,
                            299,
                            300,
                            301,
                            302,
                            303,
                            304,
                            305,
                            306,
                            307,
                            308,
                            309,
                            310,
                            311,
                            312,
                            313,
                            314,
                            315,
                            316,
                            317,
                            318,
                            319,
                            320,
                            321,
                            322,
                            323,
                            324,
                            325,
                            326,
                            327,
                            328,
                            329,
                            330,
                            331,
                            332,
                            333,
                            334
                        ],
                        "start": 2391,
                        "length": 9156,
                        "ending_column": 12,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 36,
                        "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    }
                },
                "signature": "mine()"
            }
        },
        {
            "name": "require(bool)(! base_contract.checkMiningAttempt(_blockNum,this))",
            "type": "node",
            "source_mapping": {
                "lines": [
                    256,
                    257,
                    258,
                    259,
                    260
                ],
                "start": 8739,
                "length": 59,
                "ending_column": 19,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 48,
                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "additional_fields": {
                "underlying_type": "external_calls"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "mine",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            252,
                            253,
                            254,
                            255,
                            256,
                            257,
                            258,
                            259,
                            260,
                            261,
                            262,
                            263,
                            264,
                            265,
                            266,
                            267,
                            268,
                            269,
                            270,
                            271,
                            272,
                            273,
                            274,
                            275,
                            276,
                            277,
                            278,
                            279,
                            280,
                            281,
                            282,
                            283,
                            284,
                            285,
                            286,
                            287,
                            288
                        ],
                        "start": 8553,
                        "length": 1431,
                        "ending_column": 52,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 56,
                        "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "SharkPool",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    86,
                                    87,
                                    88,
                                    89,
                                    90,
                                    91,
                                    92,
                                    93,
                                    94,
                                    95,
                                    96,
                                    97,
                                    98,
                                    99,
                                    100,
                                    101,
                                    102,
                                    103,
                                    104,
                                    105,
                                    106,
                                    107,
                                    108,
                                    109,
                                    110,
                                    111,
                                    112,
                                    113,
                                    114,
                                    115,
                                    116,
                                    117,
                                    118,
                                    119,
                                    120,
                                    121,
                                    122,
                                    123,
                                    124,
                                    125,
                                    126,
                                    127,
                                    128,
                                    129,
                                    130,
                                    131,
                                    132,
                                    133,
                                    134,
                                    135,
                                    136,
                                    137,
                                    138,
                                    139,
                                    140,
                                    141,
                                    142,
                                    143,
                                    144,
                                    145,
                                    146,
                                    147,
                                    148,
                                    149,
                                    150,
                                    151,
                                    152,
                                    153,
                                    154,
                                    155,
                                    156,
                                    157,
                                    158,
                                    159,
                                    160,
                                    161,
                                    162,
                                    163,
                                    164,
                                    165,
                                    166,
                                    167,
                                    168,
                                    169,
                                    170,
                                    171,
                                    172,
                                    173,
                                    174,
                                    175,
                                    176,
                                    177,
                                    178,
                                    179,
                                    180,
                                    181,
                                    182,
                                    183,
                                    184,
                                    185,
                                    186,
                                    187,
                                    188,
                                    189,
                                    190,
                                    191,
                                    192,
                                    193,
                                    194,
                                    195,
                                    196,
                                    197,
                                    198,
                                    199,
                                    200,
                                    201,
                                    202,
                                    203,
                                    204,
                                    205,
                                    206,
                                    207,
                                    208,
                                    209,
                                    210,
                                    211,
                                    212,
                                    213,
                                    214,
                                    215,
                                    216,
                                    217,
                                    218,
                                    219,
                                    220,
                                    221,
                                    222,
                                    223,
                                    224,
                                    225,
                                    226,
                                    227,
                                    228,
                                    229,
                                    230,
                                    231,
                                    232,
                                    233,
                                    234,
                                    235,
                                    236,
                                    237,
                                    238,
                                    239,
                                    240,
                                    241,
                                    242,
                                    243,
                                    244,
                                    245,
                                    246,
                                    247,
                                    248,
                                    249,
                                    250,
                                    251,
                                    252,
                                    253,
                                    254,
                                    255,
                                    256,
                                    257,
                                    258,
                                    259,
                                    260,
                                    261,
                                    262,
                                    263,
                                    264,
                                    265,
                                    266,
                                    267,
                                    268,
                                    269,
                                    270,
                                    271,
                                    272,
                                    273,
                                    274,
                                    275,
                                    276,
                                    277,
                                    278,
                                    279,
                                    280,
                                    281,
                                    282,
                                    283,
                                    284,
                                    285,
                                    286,
                                    287,
                                    288,
                                    289,
                                    290,
                                    291,
                                    292,
                                    293,
                                    294,
                                    295,
                                    296,
                                    297,
                                    298,
                                    299,
                                    300,
                                    301,
                                    302,
                                    303,
                                    304,
                                    305,
                                    306,
                                    307,
                                    308,
                                    309,
                                    310,
                                    311,
                                    312,
                                    313,
                                    314,
                                    315,
                                    316,
                                    317,
                                    318,
                                    319,
                                    320,
                                    321,
                                    322,
                                    323,
                                    324,
                                    325,
                                    326,
                                    327,
                                    328,
                                    329,
                                    330,
                                    331,
                                    332,
                                    333,
                                    334
                                ],
                                "start": 2391,
                                "length": 9156,
                                "ending_column": 12,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 36,
                                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "mine()"
                    }
                }
            }
        },
        {
            "name": "base_contract.mine.value(total_attempt)()",
            "type": "node",
            "source_mapping": {
                "lines": [
                    287
                ],
                "start": 9889,
                "length": 41,
                "ending_column": 43,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 2,
                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "additional_fields": {
                "underlying_type": "external_calls"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "mine",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            252,
                            253,
                            254,
                            255,
                            256,
                            257,
                            258,
                            259,
                            260,
                            261,
                            262,
                            263,
                            264,
                            265,
                            266,
                            267,
                            268,
                            269,
                            270,
                            271,
                            272,
                            273,
                            274,
                            275,
                            276,
                            277,
                            278,
                            279,
                            280,
                            281,
                            282,
                            283,
                            284,
                            285,
                            286,
                            287,
                            288
                        ],
                        "start": 8553,
                        "length": 1431,
                        "ending_column": 52,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 56,
                        "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "SharkPool",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    86,
                                    87,
                                    88,
                                    89,
                                    90,
                                    91,
                                    92,
                                    93,
                                    94,
                                    95,
                                    96,
                                    97,
                                    98,
                                    99,
                                    100,
                                    101,
                                    102,
                                    103,
                                    104,
                                    105,
                                    106,
                                    107,
                                    108,
                                    109,
                                    110,
                                    111,
                                    112,
                                    113,
                                    114,
                                    115,
                                    116,
                                    117,
                                    118,
                                    119,
                                    120,
                                    121,
                                    122,
                                    123,
                                    124,
                                    125,
                                    126,
                                    127,
                                    128,
                                    129,
                                    130,
                                    131,
                                    132,
                                    133,
                                    134,
                                    135,
                                    136,
                                    137,
                                    138,
                                    139,
                                    140,
                                    141,
                                    142,
                                    143,
                                    144,
                                    145,
                                    146,
                                    147,
                                    148,
                                    149,
                                    150,
                                    151,
                                    152,
                                    153,
                                    154,
                                    155,
                                    156,
                                    157,
                                    158,
                                    159,
                                    160,
                                    161,
                                    162,
                                    163,
                                    164,
                                    165,
                                    166,
                                    167,
                                    168,
                                    169,
                                    170,
                                    171,
                                    172,
                                    173,
                                    174,
                                    175,
                                    176,
                                    177,
                                    178,
                                    179,
                                    180,
                                    181,
                                    182,
                                    183,
                                    184,
                                    185,
                                    186,
                                    187,
                                    188,
                                    189,
                                    190,
                                    191,
                                    192,
                                    193,
                                    194,
                                    195,
                                    196,
                                    197,
                                    198,
                                    199,
                                    200,
                                    201,
                                    202,
                                    203,
                                    204,
                                    205,
                                    206,
                                    207,
                                    208,
                                    209,
                                    210,
                                    211,
                                    212,
                                    213,
                                    214,
                                    215,
                                    216,
                                    217,
                                    218,
                                    219,
                                    220,
                                    221,
                                    222,
                                    223,
                                    224,
                                    225,
                                    226,
                                    227,
                                    228,
                                    229,
                                    230,
                                    231,
                                    232,
                                    233,
                                    234,
                                    235,
                                    236,
                                    237,
                                    238,
                                    239,
                                    240,
                                    241,
                                    242,
                                    243,
                                    244,
                                    245,
                                    246,
                                    247,
                                    248,
                                    249,
                                    250,
                                    251,
                                    252,
                                    253,
                                    254,
                                    255,
                                    256,
                                    257,
                                    258,
                                    259,
                                    260,
                                    261,
                                    262,
                                    263,
                                    264,
                                    265,
                                    266,
                                    267,
                                    268,
                                    269,
                                    270,
                                    271,
                                    272,
                                    273,
                                    274,
                                    275,
                                    276,
                                    277,
                                    278,
                                    279,
                                    280,
                                    281,
                                    282,
                                    283,
                                    284,
                                    285,
                                    286,
                                    287,
                                    288,
                                    289,
                                    290,
                                    291,
                                    292,
                                    293,
                                    294,
                                    295,
                                    296,
                                    297,
                                    298,
                                    299,
                                    300,
                                    301,
                                    302,
                                    303,
                                    304,
                                    305,
                                    306,
                                    307,
                                    308,
                                    309,
                                    310,
                                    311,
                                    312,
                                    313,
                                    314,
                                    315,
                                    316,
                                    317,
                                    318,
                                    319,
                                    320,
                                    321,
                                    322,
                                    323,
                                    324,
                                    325,
                                    326,
                                    327,
                                    328,
                                    329,
                                    330,
                                    331,
                                    332,
                                    333,
                                    334
                                ],
                                "start": 2391,
                                "length": 9156,
                                "ending_column": 12,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 36,
                                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "mine()"
                    }
                }
            }
        },
        {
            "name": "base_contract.mine.value(total_attempt)()",
            "type": "node",
            "source_mapping": {
                "lines": [
                    287
                ],
                "start": 9889,
                "length": 41,
                "ending_column": 43,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 2,
                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "additional_fields": {
                "underlying_type": "external_calls_sending_eth"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "mine",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            252,
                            253,
                            254,
                            255,
                            256,
                            257,
                            258,
                            259,
                            260,
                            261,
                            262,
                            263,
                            264,
                            265,
                            266,
                            267,
                            268,
                            269,
                            270,
                            271,
                            272,
                            273,
                            274,
                            275,
                            276,
                            277,
                            278,
                            279,
                            280,
                            281,
                            282,
                            283,
                            284,
                            285,
                            286,
                            287,
                            288
                        ],
                        "start": 8553,
                        "length": 1431,
                        "ending_column": 52,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 56,
                        "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "SharkPool",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    86,
                                    87,
                                    88,
                                    89,
                                    90,
                                    91,
                                    92,
                                    93,
                                    94,
                                    95,
                                    96,
                                    97,
                                    98,
                                    99,
                                    100,
                                    101,
                                    102,
                                    103,
                                    104,
                                    105,
                                    106,
                                    107,
                                    108,
                                    109,
                                    110,
                                    111,
                                    112,
                                    113,
                                    114,
                                    115,
                                    116,
                                    117,
                                    118,
                                    119,
                                    120,
                                    121,
                                    122,
                                    123,
                                    124,
                                    125,
                                    126,
                                    127,
                                    128,
                                    129,
                                    130,
                                    131,
                                    132,
                                    133,
                                    134,
                                    135,
                                    136,
                                    137,
                                    138,
                                    139,
                                    140,
                                    141,
                                    142,
                                    143,
                                    144,
                                    145,
                                    146,
                                    147,
                                    148,
                                    149,
                                    150,
                                    151,
                                    152,
                                    153,
                                    154,
                                    155,
                                    156,
                                    157,
                                    158,
                                    159,
                                    160,
                                    161,
                                    162,
                                    163,
                                    164,
                                    165,
                                    166,
                                    167,
                                    168,
                                    169,
                                    170,
                                    171,
                                    172,
                                    173,
                                    174,
                                    175,
                                    176,
                                    177,
                                    178,
                                    179,
                                    180,
                                    181,
                                    182,
                                    183,
                                    184,
                                    185,
                                    186,
                                    187,
                                    188,
                                    189,
                                    190,
                                    191,
                                    192,
                                    193,
                                    194,
                                    195,
                                    196,
                                    197,
                                    198,
                                    199,
                                    200,
                                    201,
                                    202,
                                    203,
                                    204,
                                    205,
                                    206,
                                    207,
                                    208,
                                    209,
                                    210,
                                    211,
                                    212,
                                    213,
                                    214,
                                    215,
                                    216,
                                    217,
                                    218,
                                    219,
                                    220,
                                    221,
                                    222,
                                    223,
                                    224,
                                    225,
                                    226,
                                    227,
                                    228,
                                    229,
                                    230,
                                    231,
                                    232,
                                    233,
                                    234,
                                    235,
                                    236,
                                    237,
                                    238,
                                    239,
                                    240,
                                    241,
                                    242,
                                    243,
                                    244,
                                    245,
                                    246,
                                    247,
                                    248,
                                    249,
                                    250,
                                    251,
                                    252,
                                    253,
                                    254,
                                    255,
                                    256,
                                    257,
                                    258,
                                    259,
                                    260,
                                    261,
                                    262,
                                    263,
                                    264,
                                    265,
                                    266,
                                    267,
                                    268,
                                    269,
                                    270,
                                    271,
                                    272,
                                    273,
                                    274,
                                    275,
                                    276,
                                    277,
                                    278,
                                    279,
                                    280,
                                    281,
                                    282,
                                    283,
                                    284,
                                    285,
                                    286,
                                    287,
                                    288,
                                    289,
                                    290,
                                    291,
                                    292,
                                    293,
                                    294,
                                    295,
                                    296,
                                    297,
                                    298,
                                    299,
                                    300,
                                    301,
                                    302,
                                    303,
                                    304,
                                    305,
                                    306,
                                    307,
                                    308,
                                    309,
                                    310,
                                    311,
                                    312,
                                    313,
                                    314,
                                    315,
                                    316,
                                    317,
                                    318,
                                    319,
                                    320,
                                    321,
                                    322,
                                    323,
                                    324,
                                    325,
                                    326,
                                    327,
                                    328,
                                    329,
                                    330,
                                    331,
                                    332,
                                    333,
                                    334
                                ],
                                "start": 2391,
                                "length": 9156,
                                "ending_column": 12,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 36,
                                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "mine()"
                    }
                }
            }
        },
        {
            "name": "mined_blocks = mined_blocks + 1",
            "type": "node",
            "source_mapping": {
                "lines": [
                    288
                ],
                "start": 9940,
                "length": 31,
                "ending_column": 39,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 8,
                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "additional_fields": {
                "variable_name": "mined_blocks",
                "underlying_type": "variables_written"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "mine",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            252,
                            253,
                            254,
                            255,
                            256,
                            257,
                            258,
                            259,
                            260,
                            261,
                            262,
                            263,
                            264,
                            265,
                            266,
                            267,
                            268,
                            269,
                            270,
                            271,
                            272,
                            273,
                            274,
                            275,
                            276,
                            277,
                            278,
                            279,
                            280,
                            281,
                            282,
                            283,
                            284,
                            285,
                            286,
                            287,
                            288
                        ],
                        "start": 8553,
                        "length": 1431,
                        "ending_column": 52,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 56,
                        "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "SharkPool",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    86,
                                    87,
                                    88,
                                    89,
                                    90,
                                    91,
                                    92,
                                    93,
                                    94,
                                    95,
                                    96,
                                    97,
                                    98,
                                    99,
                                    100,
                                    101,
                                    102,
                                    103,
                                    104,
                                    105,
                                    106,
                                    107,
                                    108,
                                    109,
                                    110,
                                    111,
                                    112,
                                    113,
                                    114,
                                    115,
                                    116,
                                    117,
                                    118,
                                    119,
                                    120,
                                    121,
                                    122,
                                    123,
                                    124,
                                    125,
                                    126,
                                    127,
                                    128,
                                    129,
                                    130,
                                    131,
                                    132,
                                    133,
                                    134,
                                    135,
                                    136,
                                    137,
                                    138,
                                    139,
                                    140,
                                    141,
                                    142,
                                    143,
                                    144,
                                    145,
                                    146,
                                    147,
                                    148,
                                    149,
                                    150,
                                    151,
                                    152,
                                    153,
                                    154,
                                    155,
                                    156,
                                    157,
                                    158,
                                    159,
                                    160,
                                    161,
                                    162,
                                    163,
                                    164,
                                    165,
                                    166,
                                    167,
                                    168,
                                    169,
                                    170,
                                    171,
                                    172,
                                    173,
                                    174,
                                    175,
                                    176,
                                    177,
                                    178,
                                    179,
                                    180,
                                    181,
                                    182,
                                    183,
                                    184,
                                    185,
                                    186,
                                    187,
                                    188,
                                    189,
                                    190,
                                    191,
                                    192,
                                    193,
                                    194,
                                    195,
                                    196,
                                    197,
                                    198,
                                    199,
                                    200,
                                    201,
                                    202,
                                    203,
                                    204,
                                    205,
                                    206,
                                    207,
                                    208,
                                    209,
                                    210,
                                    211,
                                    212,
                                    213,
                                    214,
                                    215,
                                    216,
                                    217,
                                    218,
                                    219,
                                    220,
                                    221,
                                    222,
                                    223,
                                    224,
                                    225,
                                    226,
                                    227,
                                    228,
                                    229,
                                    230,
                                    231,
                                    232,
                                    233,
                                    234,
                                    235,
                                    236,
                                    237,
                                    238,
                                    239,
                                    240,
                                    241,
                                    242,
                                    243,
                                    244,
                                    245,
                                    246,
                                    247,
                                    248,
                                    249,
                                    250,
                                    251,
                                    252,
                                    253,
                                    254,
                                    255,
                                    256,
                                    257,
                                    258,
                                    259,
                                    260,
                                    261,
                                    262,
                                    263,
                                    264,
                                    265,
                                    266,
                                    267,
                                    268,
                                    269,
                                    270,
                                    271,
                                    272,
                                    273,
                                    274,
                                    275,
                                    276,
                                    277,
                                    278,
                                    279,
                                    280,
                                    281,
                                    282,
                                    283,
                                    284,
                                    285,
                                    286,
                                    287,
                                    288,
                                    289,
                                    290,
                                    291,
                                    292,
                                    293,
                                    294,
                                    295,
                                    296,
                                    297,
                                    298,
                                    299,
                                    300,
                                    301,
                                    302,
                                    303,
                                    304,
                                    305,
                                    306,
                                    307,
                                    308,
                                    309,
                                    310,
                                    311,
                                    312,
                                    313,
                                    314,
                                    315,
                                    316,
                                    317,
                                    318,
                                    319,
                                    320,
                                    321,
                                    322,
                                    323,
                                    324,
                                    325,
                                    326,
                                    327,
                                    328,
                                    329,
                                    330,
                                    331,
                                    332,
                                    333,
                                    334
                                ],
                                "start": 2391,
                                "length": 9156,
                                "ending_column": 12,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 36,
                                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "mine()"
                    }
                }
            }
        }
    ],
    "locations": [
        {
            "file": "contracts/Contract.sol",
            "name": "mine",
            "type": "function",
            "lines": [
                252,
                253,
                254,
                255,
                256,
                257,
                258,
                259,
                260,
                261,
                262,
                263,
                264,
                265,
                266,
                267,
                268,
                269,
                270,
                271,
                272,
                273,
                274,
                275,
                276,
                277,
                278,
                279,
                280,
                281,
                282,
                283,
                284,
                285,
                286,
                287,
                288
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "require(bool)(! base_contract.checkMiningAttempt(_blockNum,this))",
            "type": "node",
            "lines": [
                256,
                257,
                258,
                259,
                260
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "base_contract.mine.value(total_attempt)()",
            "type": "node",
            "lines": [
                287
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "base_contract.mine.value(total_attempt)()",
            "type": "node",
            "lines": [
                287
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "mined_blocks = mined_blocks + 1",
            "type": "node",
            "lines": [
                288
            ]
        }
    ],
    "description": "Reentrancy in SharkPool.mine() (contracts/Contract.sol#252-288):\n\tExternal calls:\n\t- require(bool)(! base_contract.checkMiningAttempt(_blockNum,this)) (contracts/Contract.sol#256-260)\n\t- base_contract.mine.value(total_attempt)() (contracts/Contract.sol#287)\n\tExternal calls sending eth:\n\t- base_contract.mine.value(total_attempt)() (contracts/Contract.sol#287)\n\tState variables written after the call(s):\n\t- mined_blocks = mined_blocks + 1 (contracts/Contract.sol#288)\n\tSharkPool.mined_blocks (contracts/Contract.sol#105-106) can be used in cross function reentrancies:\n\t- SharkPool.fallback() (contracts/Contract.sol#225-252)\n\t- SharkPool.find_contribution(address) (contracts/Contract.sol#130-148)\n\t- SharkPool.mined_blocks (contracts/Contract.sol#105-106)"
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x5b3047404d20b6e54ab69a83cc590797a899936c4931f0e34e66f8c8e1375e45
call_targets: 0x29aa20fb9b23421e310bdb8a7cfb81d7fbb4a1b3
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x5b3047404d20b6e54ab69a83cc590797a899936c4931f0e34e66f8c8e1375e45",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x29aa20fb9b23421e310bdb8a7cfb81d7fbb4a1b3"
    ],
    "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": "0x014c3dbc",
            "selector": "0x014c3dbc",
            "calldata_variants": [
                "0x014c3dbc",
                "0x014c3dbc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0ee33c70",
            "selector": "0x0ee33c70",
            "calldata_variants": [
                "0x0ee33c70",
                "0x0ee33c700000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2c035157",
            "selector": "0x2c035157",
            "calldata_variants": [
                "0x2c035157",
                "0x2c0351570000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2d59680d",
            "selector": "0x2d59680d",
            "calldata_variants": [
                "0x2d59680d",
                "0x2d59680d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x42b343a3",
            "selector": "0x42b343a3",
            "calldata_variants": [
                "0x42b343a3",
                "0x42b343a30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x54ba34b5",
            "selector": "0x54ba34b5",
            "calldata_variants": [
                "0x54ba34b5",
                "0x54ba34b50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5f623e15",
            "selector": "0x5f623e15",
            "calldata_variants": [
                "0x5f623e15",
                "0x5f623e150000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x70a08231",
            "selector": "0x70a08231",
            "calldata_variants": [
                "0x70a08231",
                "0x70a082310000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1847,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2054,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2177,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 11,
    "guards_detected": []
}
high other slither SharkPool.do_redemption() (contracts/Contract.sol#310-321) ignores return value by base_contract.transfer(msg.sender,remainder) (contracts/Contract.sol#319-320) 85 no
view
evidence_json
{
    "impact": "High",
    "detector": "unchecked-transfer",
    "elements": [
        {
            "name": "do_redemption",
            "type": "function",
            "source_mapping": {
                "lines": [
                    310,
                    311,
                    312,
                    313,
                    314,
                    315,
                    316,
                    317,
                    318,
                    319,
                    320,
                    321
                ],
                "start": 10742,
                "length": 409,
                "ending_column": 9,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 44,
                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "SharkPool",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            86,
                            87,
                            88,
                            89,
                            90,
                            91,
                            92,
                            93,
                            94,
                            95,
                            96,
                            97,
                            98,
                            99,
                            100,
                            101,
                            102,
                            103,
                            104,
                            105,
                            106,
                            107,
                            108,
                            109,
                            110,
                            111,
                            112,
                            113,
                            114,
                            115,
                            116,
                            117,
                            118,
                            119,
                            120,
                            121,
                            122,
                            123,
                            124,
                            125,
                            126,
                            127,
                            128,
                            129,
                            130,
                            131,
                            132,
                            133,
                            134,
                            135,
                            136,
                            137,
                            138,
                            139,
                            140,
                            141,
                            142,
                            143,
                            144,
                            145,
                            146,
                            147,
                            148,
                            149,
                            150,
                            151,
                            152,
                            153,
                            154,
                            155,
                            156,
                            157,
                            158,
                            159,
                            160,
                            161,
                            162,
                            163,
                            164,
                            165,
                            166,
                            167,
                            168,
                            169,
                            170,
                            171,
                            172,
                            173,
                            174,
                            175,
                            176,
                            177,
                            178,
                            179,
                            180,
                            181,
                            182,
                            183,
                            184,
                            185,
                            186,
                            187,
                            188,
                            189,
                            190,
                            191,
                            192,
                            193,
                            194,
                            195,
                            196,
                            197,
                            198,
                            199,
                            200,
                            201,
                            202,
                            203,
                            204,
                            205,
                            206,
                            207,
                            208,
                            209,
                            210,
                            211,
                            212,
                            213,
                            214,
                            215,
                            216,
                            217,
                            218,
                            219,
                            220,
                            221,
                            222,
                            223,
                            224,
                            225,
                            226,
                            227,
                            228,
                            229,
                            230,
                            231,
                            232,
                            233,
                            234,
                            235,
                            236,
                            237,
                            238,
                            239,
                            240,
                            241,
                            242,
                            243,
                            244,
                            245,
                            246,
                            247,
                            248,
                            249,
                            250,
                            251,
                            252,
                            253,
                            254,
                            255,
                            256,
                            257,
                            258,
                            259,
                            260,
                            261,
                            262,
                            263,
                            264,
                            265,
                            266,
                            267,
                            268,
                            269,
                            270,
                            271,
                            272,
                            273,
                            274,
                            275,
                            276,
                            277,
                            278,
                            279,
                            280,
                            281,
                            282,
                            283,
                            284,
                            285,
                            286,
                            287,
                            288,
                            289,
                            290,
                            291,
                            292,
                            293,
                            294,
                            295,
                            296,
                            297,
                            298,
                            299,
                            300,
                            301,
                            302,
                            303,
                            304,
                            305,
                            306,
                            307,
                            308,
                            309,
                            310,
                            311,
                            312,
                            313,
                            314,
                            315,
                            316,
                            317,
                            318,
                            319,
                            320,
                            321,
                            322,
                            323,
                            324,
                            325,
                            326,
                            327,
                            328,
                            329,
                            330,
                            331,
                            332,
                            333,
                            334
                        ],
                        "start": 2391,
                        "length": 9156,
                        "ending_column": 12,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 36,
                        "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    }
                },
                "signature": "do_redemption()"
            }
        },
        {
            "name": "base_contract.transfer(msg.sender,remainder)",
            "type": "node",
            "source_mapping": {
                "lines": [
                    319,
                    320
                ],
                "start": 11060,
                "length": 45,
                "ending_column": 9,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 4,
                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "do_redemption",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            310,
                            311,
                            312,
                            313,
                            314,
                            315,
                            316,
                            317,
                            318,
                            319,
                            320,
                            321
                        ],
                        "start": 10742,
                        "length": 409,
                        "ending_column": 9,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 44,
                        "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "SharkPool",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    86,
                                    87,
                                    88,
                                    89,
                                    90,
                                    91,
                                    92,
                                    93,
                                    94,
                                    95,
                                    96,
                                    97,
                                    98,
                                    99,
                                    100,
                                    101,
                                    102,
                                    103,
                                    104,
                                    105,
                                    106,
                                    107,
                                    108,
                                    109,
                                    110,
                                    111,
                                    112,
                                    113,
                                    114,
                                    115,
                                    116,
                                    117,
                                    118,
                                    119,
                                    120,
                                    121,
                                    122,
                                    123,
                                    124,
                                    125,
                                    126,
                                    127,
                                    128,
                                    129,
                                    130,
                                    131,
                                    132,
                                    133,
                                    134,
                                    135,
                                    136,
                                    137,
                                    138,
                                    139,
                                    140,
                                    141,
                                    142,
                                    143,
                                    144,
                                    145,
                                    146,
                                    147,
                                    148,
                                    149,
                                    150,
                                    151,
                                    152,
                                    153,
                                    154,
                                    155,
                                    156,
                                    157,
                                    158,
                                    159,
                                    160,
                                    161,
                                    162,
                                    163,
                                    164,
                                    165,
                                    166,
                                    167,
                                    168,
                                    169,
                                    170,
                                    171,
                                    172,
                                    173,
                                    174,
                                    175,
                                    176,
                                    177,
                                    178,
                                    179,
                                    180,
                                    181,
                                    182,
                                    183,
                                    184,
                                    185,
                                    186,
                                    187,
                                    188,
                                    189,
                                    190,
                                    191,
                                    192,
                                    193,
                                    194,
                                    195,
                                    196,
                                    197,
                                    198,
                                    199,
                                    200,
                                    201,
                                    202,
                                    203,
                                    204,
                                    205,
                                    206,
                                    207,
                                    208,
                                    209,
                                    210,
                                    211,
                                    212,
                                    213,
                                    214,
                                    215,
                                    216,
                                    217,
                                    218,
                                    219,
                                    220,
                                    221,
                                    222,
                                    223,
                                    224,
                                    225,
                                    226,
                                    227,
                                    228,
                                    229,
                                    230,
                                    231,
                                    232,
                                    233,
                                    234,
                                    235,
                                    236,
                                    237,
                                    238,
                                    239,
                                    240,
                                    241,
                                    242,
                                    243,
                                    244,
                                    245,
                                    246,
                                    247,
                                    248,
                                    249,
                                    250,
                                    251,
                                    252,
                                    253,
                                    254,
                                    255,
                                    256,
                                    257,
                                    258,
                                    259,
                                    260,
                                    261,
                                    262,
                                    263,
                                    264,
                                    265,
                                    266,
                                    267,
                                    268,
                                    269,
                                    270,
                                    271,
                                    272,
                                    273,
                                    274,
                                    275,
                                    276,
                                    277,
                                    278,
                                    279,
                                    280,
                                    281,
                                    282,
                                    283,
                                    284,
                                    285,
                                    286,
                                    287,
                                    288,
                                    289,
                                    290,
                                    291,
                                    292,
                                    293,
                                    294,
                                    295,
                                    296,
                                    297,
                                    298,
                                    299,
                                    300,
                                    301,
                                    302,
                                    303,
                                    304,
                                    305,
                                    306,
                                    307,
                                    308,
                                    309,
                                    310,
                                    311,
                                    312,
                                    313,
                                    314,
                                    315,
                                    316,
                                    317,
                                    318,
                                    319,
                                    320,
                                    321,
                                    322,
                                    323,
                                    324,
                                    325,
                                    326,
                                    327,
                                    328,
                                    329,
                                    330,
                                    331,
                                    332,
                                    333,
                                    334
                                ],
                                "start": 2391,
                                "length": 9156,
                                "ending_column": 12,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 36,
                                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "do_redemption()"
                    }
                }
            }
        }
    ],
    "locations": [
        {
            "file": "contracts/Contract.sol",
            "name": "do_redemption",
            "type": "function",
            "lines": [
                310,
                311,
                312,
                313,
                314,
                315,
                316,
                317,
                318,
                319,
                320,
                321
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "base_contract.transfer(msg.sender,remainder)",
            "type": "node",
            "lines": [
                319,
                320
            ]
        }
    ],
    "description": "SharkPool.do_redemption() (contracts/Contract.sol#310-321) ignores return value by base_contract.transfer(msg.sender,remainder) (contracts/Contract.sol#319-320)"
}
medium reentrancy slither Reentrancy in SharkPool.do_redemption() (contracts/Contract.sol#310-321): 75 no
view
evidence_json
{
    "impact": "Medium",
    "detector": "reentrancy-no-eth",
    "elements": [
        {
            "name": "do_redemption",
            "type": "function",
            "source_mapping": {
                "lines": [
                    310,
                    311,
                    312,
                    313,
                    314,
                    315,
                    316,
                    317,
                    318,
                    319,
                    320,
                    321
                ],
                "start": 10742,
                "length": 409,
                "ending_column": 9,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 44,
                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "SharkPool",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            86,
                            87,
                            88,
                            89,
                            90,
                            91,
                            92,
                            93,
                            94,
                            95,
                            96,
                            97,
                            98,
                            99,
                            100,
                            101,
                            102,
                            103,
                            104,
                            105,
                            106,
                            107,
                            108,
                            109,
                            110,
                            111,
                            112,
                            113,
                            114,
                            115,
                            116,
                            117,
                            118,
                            119,
                            120,
                            121,
                            122,
                            123,
                            124,
                            125,
                            126,
                            127,
                            128,
                            129,
                            130,
                            131,
                            132,
                            133,
                            134,
                            135,
                            136,
                            137,
                            138,
                            139,
                            140,
                            141,
                            142,
                            143,
                            144,
                            145,
                            146,
                            147,
                            148,
                            149,
                            150,
                            151,
                            152,
                            153,
                            154,
                            155,
                            156,
                            157,
                            158,
                            159,
                            160,
                            161,
                            162,
                            163,
                            164,
                            165,
                            166,
                            167,
                            168,
                            169,
                            170,
                            171,
                            172,
                            173,
                            174,
                            175,
                            176,
                            177,
                            178,
                            179,
                            180,
                            181,
                            182,
                            183,
                            184,
                            185,
                            186,
                            187,
                            188,
                            189,
                            190,
                            191,
                            192,
                            193,
                            194,
                            195,
                            196,
                            197,
                            198,
                            199,
                            200,
                            201,
                            202,
                            203,
                            204,
                            205,
                            206,
                            207,
                            208,
                            209,
                            210,
                            211,
                            212,
                            213,
                            214,
                            215,
                            216,
                            217,
                            218,
                            219,
                            220,
                            221,
                            222,
                            223,
                            224,
                            225,
                            226,
                            227,
                            228,
                            229,
                            230,
                            231,
                            232,
                            233,
                            234,
                            235,
                            236,
                            237,
                            238,
                            239,
                            240,
                            241,
                            242,
                            243,
                            244,
                            245,
                            246,
                            247,
                            248,
                            249,
                            250,
                            251,
                            252,
                            253,
                            254,
                            255,
                            256,
                            257,
                            258,
                            259,
                            260,
                            261,
                            262,
                            263,
                            264,
                            265,
                            266,
                            267,
                            268,
                            269,
                            270,
                            271,
                            272,
                            273,
                            274,
                            275,
                            276,
                            277,
                            278,
                            279,
                            280,
                            281,
                            282,
                            283,
                            284,
                            285,
                            286,
                            287,
                            288,
                            289,
                            290,
                            291,
                            292,
                            293,
                            294,
                            295,
                            296,
                            297,
                            298,
                            299,
                            300,
                            301,
                            302,
                            303,
                            304,
                            305,
                            306,
                            307,
                            308,
                            309,
                            310,
                            311,
                            312,
                            313,
                            314,
                            315,
                            316,
                            317,
                            318,
                            319,
                            320,
                            321,
                            322,
                            323,
                            324,
                            325,
                            326,
                            327,
                            328,
                            329,
                            330,
                            331,
                            332,
                            333,
                            334
                        ],
                        "start": 2391,
                        "length": 9156,
                        "ending_column": 12,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 36,
                        "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    }
                },
                "signature": "do_redemption()"
            }
        },
        {
            "name": "base_contract.transfer(owner,owner_cut)",
            "type": "node",
            "source_mapping": {
                "lines": [
                    316,
                    317
                ],
                "start": 11000,
                "length": 40,
                "ending_column": 7,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 23,
                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "additional_fields": {
                "underlying_type": "external_calls"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "do_redemption",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            310,
                            311,
                            312,
                            313,
                            314,
                            315,
                            316,
                            317,
                            318,
                            319,
                            320,
                            321
                        ],
                        "start": 10742,
                        "length": 409,
                        "ending_column": 9,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 44,
                        "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "SharkPool",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    86,
                                    87,
                                    88,
                                    89,
                                    90,
                                    91,
                                    92,
                                    93,
                                    94,
                                    95,
                                    96,
                                    97,
                                    98,
                                    99,
                                    100,
                                    101,
                                    102,
                                    103,
                                    104,
                                    105,
                                    106,
                                    107,
                                    108,
                                    109,
                                    110,
                                    111,
                                    112,
                                    113,
                                    114,
                                    115,
                                    116,
                                    117,
                                    118,
                                    119,
                                    120,
                                    121,
                                    122,
                                    123,
                                    124,
                                    125,
                                    126,
                                    127,
                                    128,
                                    129,
                                    130,
                                    131,
                                    132,
                                    133,
                                    134,
                                    135,
                                    136,
                                    137,
                                    138,
                                    139,
                                    140,
                                    141,
                                    142,
                                    143,
                                    144,
                                    145,
                                    146,
                                    147,
                                    148,
                                    149,
                                    150,
                                    151,
                                    152,
                                    153,
                                    154,
                                    155,
                                    156,
                                    157,
                                    158,
                                    159,
                                    160,
                                    161,
                                    162,
                                    163,
                                    164,
                                    165,
                                    166,
                                    167,
                                    168,
                                    169,
                                    170,
                                    171,
                                    172,
                                    173,
                                    174,
                                    175,
                                    176,
                                    177,
                                    178,
                                    179,
                                    180,
                                    181,
                                    182,
                                    183,
                                    184,
                                    185,
                                    186,
                                    187,
                                    188,
                                    189,
                                    190,
                                    191,
                                    192,
                                    193,
                                    194,
                                    195,
                                    196,
                                    197,
                                    198,
                                    199,
                                    200,
                                    201,
                                    202,
                                    203,
                                    204,
                                    205,
                                    206,
                                    207,
                                    208,
                                    209,
                                    210,
                                    211,
                                    212,
                                    213,
                                    214,
                                    215,
                                    216,
                                    217,
                                    218,
                                    219,
                                    220,
                                    221,
                                    222,
                                    223,
                                    224,
                                    225,
                                    226,
                                    227,
                                    228,
                                    229,
                                    230,
                                    231,
                                    232,
                                    233,
                                    234,
                                    235,
                                    236,
                                    237,
                                    238,
                                    239,
                                    240,
                                    241,
                                    242,
                                    243,
                                    244,
                                    245,
                                    246,
                                    247,
                                    248,
                                    249,
                                    250,
                                    251,
                                    252,
                                    253,
                                    254,
                                    255,
                                    256,
                                    257,
                                    258,
                                    259,
                                    260,
                                    261,
                                    262,
                                    263,
                                    264,
                                    265,
                                    266,
                                    267,
                                    268,
                                    269,
                                    270,
                                    271,
                                    272,
                                    273,
                                    274,
                                    275,
                                    276,
                                    277,
                                    278,
                                    279,
                                    280,
                                    281,
                                    282,
                                    283,
                                    284,
                                    285,
                                    286,
                                    287,
                                    288,
                                    289,
                                    290,
                                    291,
                                    292,
                                    293,
                                    294,
                                    295,
                                    296,
                                    297,
                                    298,
                                    299,
                                    300,
                                    301,
                                    302,
                                    303,
                                    304,
                                    305,
                                    306,
                                    307,
                                    308,
                                    309,
                                    310,
                                    311,
                                    312,
                                    313,
                                    314,
                                    315,
                                    316,
                                    317,
                                    318,
                                    319,
                                    320,
                                    321,
                                    322,
                                    323,
                                    324,
                                    325,
                                    326,
                                    327,
                                    328,
                                    329,
                                    330,
                                    331,
                                    332,
                                    333,
                                    334
                                ],
                                "start": 2391,
                                "length": 9156,
                                "ending_column": 12,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 36,
                                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "do_redemption()"
                    }
                }
            }
        },
        {
            "name": "base_contract.transfer(msg.sender,remainder)",
            "type": "node",
            "source_mapping": {
                "lines": [
                    319,
                    320
                ],
                "start": 11060,
                "length": 45,
                "ending_column": 9,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 4,
                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "additional_fields": {
                "underlying_type": "external_calls"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "do_redemption",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            310,
                            311,
                            312,
                            313,
                            314,
                            315,
                            316,
                            317,
                            318,
                            319,
                            320,
                            321
                        ],
                        "start": 10742,
                        "length": 409,
                        "ending_column": 9,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 44,
                        "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "SharkPool",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    86,
                                    87,
                                    88,
                                    89,
                                    90,
                                    91,
                                    92,
                                    93,
                                    94,
                                    95,
                                    96,
                                    97,
                                    98,
                                    99,
                                    100,
                                    101,
                                    102,
                                    103,
                                    104,
                                    105,
                                    106,
                                    107,
                                    108,
                                    109,
                                    110,
                                    111,
                                    112,
                                    113,
                                    114,
                                    115,
                                    116,
                                    117,
                                    118,
                                    119,
                                    120,
                                    121,
                                    122,
                                    123,
                                    124,
                                    125,
                                    126,
                                    127,
                                    128,
                                    129,
                                    130,
                                    131,
                                    132,
                                    133,
                                    134,
                                    135,
                                    136,
                                    137,
                                    138,
                                    139,
                                    140,
                                    141,
                                    142,
                                    143,
                                    144,
                                    145,
                                    146,
                                    147,
                                    148,
                                    149,
                                    150,
                                    151,
                                    152,
                                    153,
                                    154,
                                    155,
                                    156,
                                    157,
                                    158,
                                    159,
                                    160,
                                    161,
                                    162,
                                    163,
                                    164,
                                    165,
                                    166,
                                    167,
                                    168,
                                    169,
                                    170,
                                    171,
                                    172,
                                    173,
                                    174,
                                    175,
                                    176,
                                    177,
                                    178,
                                    179,
                                    180,
                                    181,
                                    182,
                                    183,
                                    184,
                                    185,
                                    186,
                                    187,
                                    188,
                                    189,
                                    190,
                                    191,
                                    192,
                                    193,
                                    194,
                                    195,
                                    196,
                                    197,
                                    198,
                                    199,
                                    200,
                                    201,
                                    202,
                                    203,
                                    204,
                                    205,
                                    206,
                                    207,
                                    208,
                                    209,
                                    210,
                                    211,
                                    212,
                                    213,
                                    214,
                                    215,
                                    216,
                                    217,
                                    218,
                                    219,
                                    220,
                                    221,
                                    222,
                                    223,
                                    224,
                                    225,
                                    226,
                                    227,
                                    228,
                                    229,
                                    230,
                                    231,
                                    232,
                                    233,
                                    234,
                                    235,
                                    236,
                                    237,
                                    238,
                                    239,
                                    240,
                                    241,
                                    242,
                                    243,
                                    244,
                                    245,
                                    246,
                                    247,
                                    248,
                                    249,
                                    250,
                                    251,
                                    252,
                                    253,
                                    254,
                                    255,
                                    256,
                                    257,
                                    258,
                                    259,
                                    260,
                                    261,
                                    262,
                                    263,
                                    264,
                                    265,
                                    266,
                                    267,
                                    268,
                                    269,
                                    270,
                                    271,
                                    272,
                                    273,
                                    274,
                                    275,
                                    276,
                                    277,
                                    278,
                                    279,
                                    280,
                                    281,
                                    282,
                                    283,
                                    284,
                                    285,
                                    286,
                                    287,
                                    288,
                                    289,
                                    290,
                                    291,
                                    292,
                                    293,
                                    294,
                                    295,
                                    296,
                                    297,
                                    298,
                                    299,
                                    300,
                                    301,
                                    302,
                                    303,
                                    304,
                                    305,
                                    306,
                                    307,
                                    308,
                                    309,
                                    310,
                                    311,
                                    312,
                                    313,
                                    314,
                                    315,
                                    316,
                                    317,
                                    318,
                                    319,
                                    320,
                                    321,
                                    322,
                                    323,
                                    324,
                                    325,
                                    326,
                                    327,
                                    328,
                                    329,
                                    330,
                                    331,
                                    332,
                                    333,
                                    334
                                ],
                                "start": 2391,
                                "length": 9156,
                                "ending_column": 12,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 36,
                                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "do_redemption()"
                    }
                }
            }
        },
        {
            "name": "balances[msg.sender] = 0",
            "type": "node",
            "source_mapping": {
                "lines": [
                    320
                ],
                "start": 11115,
                "length": 24,
                "ending_column": 43,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 19,
                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "additional_fields": {
                "variable_name": "balances",
                "underlying_type": "variables_written"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "do_redemption",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            310,
                            311,
                            312,
                            313,
                            314,
                            315,
                            316,
                            317,
                            318,
                            319,
                            320,
                            321
                        ],
                        "start": 10742,
                        "length": 409,
                        "ending_column": 9,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 44,
                        "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "SharkPool",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    86,
                                    87,
                                    88,
                                    89,
                                    90,
                                    91,
                                    92,
                                    93,
                                    94,
                                    95,
                                    96,
                                    97,
                                    98,
                                    99,
                                    100,
                                    101,
                                    102,
                                    103,
                                    104,
                                    105,
                                    106,
                                    107,
                                    108,
                                    109,
                                    110,
                                    111,
                                    112,
                                    113,
                                    114,
                                    115,
                                    116,
                                    117,
                                    118,
                                    119,
                                    120,
                                    121,
                                    122,
                                    123,
                                    124,
                                    125,
                                    126,
                                    127,
                                    128,
                                    129,
                                    130,
                                    131,
                                    132,
                                    133,
                                    134,
                                    135,
                                    136,
                                    137,
                                    138,
                                    139,
                                    140,
                                    141,
                                    142,
                                    143,
                                    144,
                                    145,
                                    146,
                                    147,
                                    148,
                                    149,
                                    150,
                                    151,
                                    152,
                                    153,
                                    154,
                                    155,
                                    156,
                                    157,
                                    158,
                                    159,
                                    160,
                                    161,
                                    162,
                                    163,
                                    164,
                                    165,
                                    166,
                                    167,
                                    168,
                                    169,
                                    170,
                                    171,
                                    172,
                                    173,
                                    174,
                                    175,
                                    176,
                                    177,
                                    178,
                                    179,
                                    180,
                                    181,
                                    182,
                                    183,
                                    184,
                                    185,
                                    186,
                                    187,
                                    188,
                                    189,
                                    190,
                                    191,
                                    192,
                                    193,
                                    194,
                                    195,
                                    196,
                                    197,
                                    198,
                                    199,
                                    200,
                                    201,
                                    202,
                                    203,
                                    204,
                                    205,
                                    206,
                                    207,
                                    208,
                                    209,
                                    210,
                                    211,
                                    212,
                                    213,
                                    214,
                                    215,
                                    216,
                                    217,
                                    218,
                                    219,
                                    220,
                                    221,
                                    222,
                                    223,
                                    224,
                                    225,
                                    226,
                                    227,
                                    228,
                                    229,
                                    230,
                                    231,
                                    232,
                                    233,
                                    234,
                                    235,
                                    236,
                                    237,
                                    238,
                                    239,
                                    240,
                                    241,
                                    242,
                                    243,
                                    244,
                                    245,
                                    246,
                                    247,
                                    248,
                                    249,
                                    250,
                                    251,
                                    252,
                                    253,
                                    254,
                                    255,
                                    256,
                                    257,
                                    258,
                                    259,
                                    260,
                                    261,
                                    262,
                                    263,
                                    264,
                                    265,
                                    266,
                                    267,
                                    268,
                                    269,
                                    270,
                                    271,
                                    272,
                                    273,
                                    274,
                                    275,
                                    276,
                                    277,
                                    278,
                                    279,
                                    280,
                                    281,
                                    282,
                                    283,
                                    284,
                                    285,
                                    286,
                                    287,
                                    288,
                                    289,
                                    290,
                                    291,
                                    292,
                                    293,
                                    294,
                                    295,
                                    296,
                                    297,
                                    298,
                                    299,
                                    300,
                                    301,
                                    302,
                                    303,
                                    304,
                                    305,
                                    306,
                                    307,
                                    308,
                                    309,
                                    310,
                                    311,
                                    312,
                                    313,
                                    314,
                                    315,
                                    316,
                                    317,
                                    318,
                                    319,
                                    320,
                                    321,
                                    322,
                                    323,
                                    324,
                                    325,
                                    326,
                                    327,
                                    328,
                                    329,
                                    330,
                                    331,
                                    332,
                                    333,
                                    334
                                ],
                                "start": 2391,
                                "length": 9156,
                                "ending_column": 12,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 36,
                                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "do_redemption()"
                    }
                }
            }
        }
    ],
    "locations": [
        {
            "file": "contracts/Contract.sol",
            "name": "do_redemption",
            "type": "function",
            "lines": [
                310,
                311,
                312,
                313,
                314,
                315,
                316,
                317,
                318,
                319,
                320,
                321
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "base_contract.transfer(owner,owner_cut)",
            "type": "node",
            "lines": [
                316,
                317
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "base_contract.transfer(msg.sender,remainder)",
            "type": "node",
            "lines": [
                319,
                320
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "balances[msg.sender] = 0",
            "type": "node",
            "lines": [
                320
            ]
        }
    ],
    "description": "Reentrancy in SharkPool.do_redemption() (contracts/Contract.sol#310-321):\n\tExternal calls:\n\t- base_contract.transfer(owner,owner_cut) (contracts/Contract.sol#316-317)\n\t- base_contract.transfer(msg.sender,remainder) (contracts/Contract.sol#319-320)\n\tState variables written after the call(s):\n\t- balances[msg.sender] = 0 (contracts/Contract.sol#320)\n\tSharkPool.balances (contracts/Contract.sol#117-120) can be used in cross function reentrancies:\n\t- SharkPool.balanceOf(address) (contracts/Contract.sol#122-124)\n\t- SharkPool.do_redemption() (contracts/Contract.sol#310-321)"
}
medium other codex Slot reuse bug can overwrite active users when pool is full 75 no
view
evidence_json
{
    "evidence": "`uint8 location = slots[slots.length-1]; ... delete slots[slots.length-1];` does not reduce `slots.length`.",
    "locations": [
        "contracts/Contract.sol:154",
        "contracts/Contract.sol:165"
    ],
    "recommendation": "Use `slots.length--` (or `slots.pop()` in newer Solidity) after reading the last slot, and consider validating the slot index before assignment.",
    "exploit_scenario": "When `total_users` has reached `max_users`, new allocations reuse `slots[slots.length-1]` and then `delete` the element without shrinking the array. This leaves a zero value at the end and keeps `slots.length` unchanged, so subsequent allocations often reuse slot 0 and can overwrite an active user, removing their contribution and skewing rewards."
}
medium reentrancy codex Fallback redemption performs external token transfers before clearing balance and without reentrancy guard 75 no
view
evidence_json
{
    "evidence": "`function () payable { ... do_redemption(); }` and `do_redemption()` transfers tokens before `balances[msg.sender] = 0`.",
    "locations": [
        "contracts/Contract.sol:229",
        "contracts/Contract.sol:319"
    ],
    "recommendation": "Apply `nonReentrant` (or a dedicated reentrancy lock) to the payable fallback or avoid calling `do_redemption()` from it; update `balances[msg.sender]` before external calls (checks-effects-interactions) and revert on failed transfers.",
    "exploit_scenario": "If the Bitcoineum token contract (or an ERC223/777-style token) triggers callbacks on transfer, a malicious recipient contract can reenter `redeem()` or the payable fallback during `do_redemption()` and withdraw its `balances[msg.sender]` multiple times before it is set to 0, draining token rewards."
}
medium reentrancy slither Reentrancy in SharkPool.fallback() (contracts/Contract.sol#225-252): 75 no
view
evidence_json
{
    "impact": "Medium",
    "detector": "reentrancy-no-eth",
    "elements": [
        {
            "name": "fallback",
            "type": "function",
            "source_mapping": {
                "lines": [
                    225,
                    226,
                    227,
                    228,
                    229,
                    230,
                    231,
                    232,
                    233,
                    234,
                    235,
                    236,
                    237,
                    238,
                    239,
                    240,
                    241,
                    242,
                    243,
                    244,
                    245,
                    246,
                    247,
                    248,
                    249,
                    250,
                    251,
                    252
                ],
                "start": 7289,
                "length": 1225,
                "ending_column": 17,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 11,
                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "SharkPool",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            86,
                            87,
                            88,
                            89,
                            90,
                            91,
                            92,
                            93,
                            94,
                            95,
                            96,
                            97,
                            98,
                            99,
                            100,
                            101,
                            102,
                            103,
                            104,
                            105,
                            106,
                            107,
                            108,
                            109,
                            110,
                            111,
                            112,
                            113,
                            114,
                            115,
                            116,
                            117,
                            118,
                            119,
                            120,
                            121,
                            122,
                            123,
                            124,
                            125,
                            126,
                            127,
                            128,
                            129,
                            130,
                            131,
                            132,
                            133,
                            134,
                            135,
                            136,
                            137,
                            138,
                            139,
                            140,
                            141,
                            142,
                            143,
                            144,
                            145,
                            146,
                            147,
                            148,
                            149,
                            150,
                            151,
                            152,
                            153,
                            154,
                            155,
                            156,
                            157,
                            158,
                            159,
                            160,
                            161,
                            162,
                            163,
                            164,
                            165,
                            166,
                            167,
                            168,
                            169,
                            170,
                            171,
                            172,
                            173,
                            174,
                            175,
                            176,
                            177,
                            178,
                            179,
                            180,
                            181,
                            182,
                            183,
                            184,
                            185,
                            186,
                            187,
                            188,
                            189,
                            190,
                            191,
                            192,
                            193,
                            194,
                            195,
                            196,
                            197,
                            198,
                            199,
                            200,
                            201,
                            202,
                            203,
                            204,
                            205,
                            206,
                            207,
                            208,
                            209,
                            210,
                            211,
                            212,
                            213,
                            214,
                            215,
                            216,
                            217,
                            218,
                            219,
                            220,
                            221,
                            222,
                            223,
                            224,
                            225,
                            226,
                            227,
                            228,
                            229,
                            230,
                            231,
                            232,
                            233,
                            234,
                            235,
                            236,
                            237,
                            238,
                            239,
                            240,
                            241,
                            242,
                            243,
                            244,
                            245,
                            246,
                            247,
                            248,
                            249,
                            250,
                            251,
                            252,
                            253,
                            254,
                            255,
                            256,
                            257,
                            258,
                            259,
                            260,
                            261,
                            262,
                            263,
                            264,
                            265,
                            266,
                            267,
                            268,
                            269,
                            270,
                            271,
                            272,
                            273,
                            274,
                            275,
                            276,
                            277,
                            278,
                            279,
                            280,
                            281,
                            282,
                            283,
                            284,
                            285,
                            286,
                            287,
                            288,
                            289,
                            290,
                            291,
                            292,
                            293,
                            294,
                            295,
                            296,
                            297,
                            298,
                            299,
                            300,
                            301,
                            302,
                            303,
                            304,
                            305,
                            306,
                            307,
                            308,
                            309,
                            310,
                            311,
                            312,
                            313,
                            314,
                            315,
                            316,
                            317,
                            318,
                            319,
                            320,
                            321,
                            322,
                            323,
                            324,
                            325,
                            326,
                            327,
                            328,
                            329,
                            330,
                            331,
                            332,
                            333,
                            334
                        ],
                        "start": 2391,
                        "length": 9156,
                        "ending_column": 12,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 36,
                        "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    }
                },
                "signature": "fallback()"
            }
        },
        {
            "name": "require(bool)(msg.value >= calculate_minimum_contribution())",
            "type": "node",
            "source_mapping": {
                "lines": [
                    225,
                    226
                ],
                "start": 7320,
                "length": 54,
                "ending_column": 12,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 42,
                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "additional_fields": {
                "underlying_type": "external_calls"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "fallback",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            225,
                            226,
                            227,
                            228,
                            229,
                            230,
                            231,
                            232,
                            233,
                            234,
                            235,
                            236,
                            237,
                            238,
                            239,
                            240,
                            241,
                            242,
                            243,
                            244,
                            245,
                            246,
                            247,
                            248,
                            249,
                            250,
                            251,
                            252
                        ],
                        "start": 7289,
                        "length": 1225,
                        "ending_column": 17,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 11,
                        "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "SharkPool",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    86,
                                    87,
                                    88,
                                    89,
                                    90,
                                    91,
                                    92,
                                    93,
                                    94,
                                    95,
                                    96,
                                    97,
                                    98,
                                    99,
                                    100,
                                    101,
                                    102,
                                    103,
                                    104,
                                    105,
                                    106,
                                    107,
                                    108,
                                    109,
                                    110,
                                    111,
                                    112,
                                    113,
                                    114,
                                    115,
                                    116,
                                    117,
                                    118,
                                    119,
                                    120,
                                    121,
                                    122,
                                    123,
                                    124,
                                    125,
                                    126,
                                    127,
                                    128,
                                    129,
                                    130,
                                    131,
                                    132,
                                    133,
                                    134,
                                    135,
                                    136,
                                    137,
                                    138,
                                    139,
                                    140,
                                    141,
                                    142,
                                    143,
                                    144,
                                    145,
                                    146,
                                    147,
                                    148,
                                    149,
                                    150,
                                    151,
                                    152,
                                    153,
                                    154,
                                    155,
                                    156,
                                    157,
                                    158,
                                    159,
                                    160,
                                    161,
                                    162,
                                    163,
                                    164,
                                    165,
                                    166,
                                    167,
                                    168,
                                    169,
                                    170,
                                    171,
                                    172,
                                    173,
                                    174,
                                    175,
                                    176,
                                    177,
                                    178,
                                    179,
                                    180,
                                    181,
                                    182,
                                    183,
                                    184,
                                    185,
                                    186,
                                    187,
                                    188,
                                    189,
                                    190,
                                    191,
                                    192,
                                    193,
                                    194,
                                    195,
                                    196,
                                    197,
                                    198,
                                    199,
                                    200,
                                    201,
                                    202,
                                    203,
                                    204,
                                    205,
                                    206,
                                    207,
                                    208,
                                    209,
                                    210,
                                    211,
                                    212,
                                    213,
                                    214,
                                    215,
                                    216,
                                    217,
                                    218,
                                    219,
                                    220,
                                    221,
                                    222,
                                    223,
                                    224,
                                    225,
                                    226,
                                    227,
                                    228,
                                    229,
                                    230,
                                    231,
                                    232,
                                    233,
                                    234,
                                    235,
                                    236,
                                    237,
                                    238,
                                    239,
                                    240,
                                    241,
                                    242,
                                    243,
                                    244,
                                    245,
                                    246,
                                    247,
                                    248,
                                    249,
                                    250,
                                    251,
                                    252,
                                    253,
                                    254,
                                    255,
                                    256,
                                    257,
                                    258,
                                    259,
                                    260,
                                    261,
                                    262,
                                    263,
                                    264,
                                    265,
                                    266,
                                    267,
                                    268,
                                    269,
                                    270,
                                    271,
                                    272,
                                    273,
                                    274,
                                    275,
                                    276,
                                    277,
                                    278,
                                    279,
                                    280,
                                    281,
                                    282,
                                    283,
                                    284,
                                    285,
                                    286,
                                    287,
                                    288,
                                    289,
                                    290,
                                    291,
                                    292,
                                    293,
                                    294,
                                    295,
                                    296,
                                    297,
                                    298,
                                    299,
                                    300,
                                    301,
                                    302,
                                    303,
                                    304,
                                    305,
                                    306,
                                    307,
                                    308,
                                    309,
                                    310,
                                    311,
                                    312,
                                    313,
                                    314,
                                    315,
                                    316,
                                    317,
                                    318,
                                    319,
                                    320,
                                    321,
                                    322,
                                    323,
                                    324,
                                    325,
                                    326,
                                    327,
                                    328,
                                    329,
                                    330,
                                    331,
                                    332,
                                    333,
                                    334
                                ],
                                "start": 2391,
                                "length": 9156,
                                "ending_column": 12,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 36,
                                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "fallback()"
                    }
                }
            }
        },
        {
            "name": "base_contract.currentDifficultyWei() / 10000000 * contract_period",
            "type": "node",
            "source_mapping": {
                "lines": [
                    217,
                    218,
                    219,
                    220
                ],
                "start": 7145,
                "length": 72,
                "ending_column": 55,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 71,
                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "additional_fields": {
                "underlying_type": "external_calls_sending_eth"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "calculate_minimum_contribution",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            216,
                            217,
                            218,
                            219,
                            220
                        ],
                        "start": 7059,
                        "length": 165,
                        "ending_column": 62,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 29,
                        "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "SharkPool",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    86,
                                    87,
                                    88,
                                    89,
                                    90,
                                    91,
                                    92,
                                    93,
                                    94,
                                    95,
                                    96,
                                    97,
                                    98,
                                    99,
                                    100,
                                    101,
                                    102,
                                    103,
                                    104,
                                    105,
                                    106,
                                    107,
                                    108,
                                    109,
                                    110,
                                    111,
                                    112,
                                    113,
                                    114,
                                    115,
                                    116,
                                    117,
                                    118,
                                    119,
                                    120,
                                    121,
                                    122,
                                    123,
                                    124,
                                    125,
                                    126,
                                    127,
                                    128,
                                    129,
                                    130,
                                    131,
                                    132,
                                    133,
                                    134,
                                    135,
                                    136,
                                    137,
                                    138,
                                    139,
                                    140,
                                    141,
                                    142,
                                    143,
                                    144,
                                    145,
                                    146,
                                    147,
                                    148,
                                    149,
                                    150,
                                    151,
                                    152,
                                    153,
                                    154,
                                    155,
                                    156,
                                    157,
                                    158,
                                    159,
                                    160,
                                    161,
                                    162,
                                    163,
                                    164,
                                    165,
                                    166,
                                    167,
                                    168,
                                    169,
                                    170,
                                    171,
                                    172,
                                    173,
                                    174,
                                    175,
                                    176,
                                    177,
                                    178,
                                    179,
                                    180,
                                    181,
                                    182,
                                    183,
                                    184,
                                    185,
                                    186,
                                    187,
                                    188,
                                    189,
                                    190,
                                    191,
                                    192,
                                    193,
                                    194,
                                    195,
                                    196,
                                    197,
                                    198,
                                    199,
                                    200,
                                    201,
                                    202,
                                    203,
                                    204,
                                    205,
                                    206,
                                    207,
                                    208,
                                    209,
                                    210,
                                    211,
                                    212,
                                    213,
                                    214,
                                    215,
                                    216,
                                    217,
                                    218,
                                    219,
                                    220,
                                    221,
                                    222,
                                    223,
                                    224,
                                    225,
                                    226,
                                    227,
                                    228,
                                    229,
                                    230,
                                    231,
                                    232,
                                    233,
                                    234,
                                    235,
                                    236,
                                    237,
                                    238,
                                    239,
                                    240,
                                    241,
                                    242,
                                    243,
                                    244,
                                    245,
                                    246,
                                    247,
                                    248,
                                    249,
                                    250,
                                    251,
                                    252,
                                    253,
                                    254,
                                    255,
                                    256,
                                    257,
                                    258,
                                    259,
                                    260,
                                    261,
                                    262,
                                    263,
                                    264,
                                    265,
                                    266,
                                    267,
                                    268,
                                    269,
                                    270,
                                    271,
                                    272,
                                    273,
                                    274,
                                    275,
                                    276,
                                    277,
                                    278,
                                    279,
                                    280,
                                    281,
                                    282,
                                    283,
                                    284,
                                    285,
                                    286,
                                    287,
                                    288,
                                    289,
                                    290,
                                    291,
                                    292,
                                    293,
                                    294,
                                    295,
                                    296,
                                    297,
                                    298,
                                    299,
                                    300,
                                    301,
                                    302,
                                    303,
                                    304,
                                    305,
                                    306,
                                    307,
                                    308,
                                    309,
                                    310,
                                    311,
                                    312,
                                    313,
                                    314,
                                    315,
                                    316,
                                    317,
                                    318,
                                    319,
                                    320,
                                    321,
                                    322,
                                    323,
                                    324,
                                    325,
                                    326,
                                    327,
                                    328,
                                    329,
                                    330,
                                    331,
                                    332,
                                    333,
                                    334
                                ],
                                "start": 2391,
                                "length": 9156,
                                "ending_column": 12,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 36,
                                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "calculate_minimum_contribution()"
                    }
                }
            }
        },
        {
            "name": "do_redemption()",
            "type": "node",
            "source_mapping": {
                "lines": [
                    243
                ],
                "start": 8210,
                "length": 15,
                "ending_column": 56,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 41,
                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "additional_fields": {
                "underlying_type": "external_calls"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "fallback",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            225,
                            226,
                            227,
                            228,
                            229,
                            230,
                            231,
                            232,
                            233,
                            234,
                            235,
                            236,
                            237,
                            238,
                            239,
                            240,
                            241,
                            242,
                            243,
                            244,
                            245,
                            246,
                            247,
                            248,
                            249,
                            250,
                            251,
                            252
                        ],
                        "start": 7289,
                        "length": 1225,
                        "ending_column": 17,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 11,
                        "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "SharkPool",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    86,
                                    87,
                                    88,
                                    89,
                                    90,
                                    91,
                                    92,
                                    93,
                                    94,
                                    95,
                                    96,
                                    97,
                                    98,
                                    99,
                                    100,
                                    101,
                                    102,
                                    103,
                                    104,
                                    105,
                                    106,
                                    107,
                                    108,
                                    109,
                                    110,
                                    111,
                                    112,
                                    113,
                                    114,
                                    115,
                                    116,
                                    117,
                                    118,
                                    119,
                                    120,
                                    121,
                                    122,
                                    123,
                                    124,
                                    125,
                                    126,
                                    127,
                                    128,
                                    129,
                                    130,
                                    131,
                                    132,
                                    133,
                                    134,
                                    135,
                                    136,
                                    137,
                                    138,
                                    139,
                                    140,
                                    141,
                                    142,
                                    143,
                                    144,
                                    145,
                                    146,
                                    147,
                                    148,
                                    149,
                                    150,
                                    151,
                                    152,
                                    153,
                                    154,
                                    155,
                                    156,
                                    157,
                                    158,
                                    159,
                                    160,
                                    161,
                                    162,
                                    163,
                                    164,
                                    165,
                                    166,
                                    167,
                                    168,
                                    169,
                                    170,
                                    171,
                                    172,
                                    173,
                                    174,
                                    175,
                                    176,
                                    177,
                                    178,
                                    179,
                                    180,
                                    181,
                                    182,
                                    183,
                                    184,
                                    185,
                                    186,
                                    187,
                                    188,
                                    189,
                                    190,
                                    191,
                                    192,
                                    193,
                                    194,
                                    195,
                                    196,
                                    197,
                                    198,
                                    199,
                                    200,
                                    201,
                                    202,
                                    203,
                                    204,
                                    205,
                                    206,
                                    207,
                                    208,
                                    209,
                                    210,
                                    211,
                                    212,
                                    213,
                                    214,
                                    215,
                                    216,
                                    217,
                                    218,
                                    219,
                                    220,
                                    221,
                                    222,
                                    223,
                                    224,
                                    225,
                                    226,
                                    227,
                                    228,
                                    229,
                                    230,
                                    231,
                                    232,
                                    233,
                                    234,
                                    235,
                                    236,
                                    237,
                                    238,
                                    239,
                                    240,
                                    241,
                                    242,
                                    243,
                                    244,
                                    245,
                                    246,
                                    247,
                                    248,
                                    249,
                                    250,
                                    251,
                                    252,
                                    253,
                                    254,
                                    255,
                                    256,
                                    257,
                                    258,
                                    259,
                                    260,
                                    261,
                                    262,
                                    263,
                                    264,
                                    265,
                                    266,
                                    267,
                                    268,
                                    269,
                                    270,
                                    271,
                                    272,
                                    273,
                                    274,
                                    275,
                                    276,
                                    277,
                                    278,
                                    279,
                                    280,
                                    281,
                                    282,
                                    283,
                                    284,
                                    285,
                                    286,
                                    287,
                                    288,
                                    289,
                                    290,
                                    291,
                                    292,
                                    293,
                                    294,
                                    295,
                                    296,
                                    297,
                                    298,
                                    299,
                                    300,
                                    301,
                                    302,
                                    303,
                                    304,
                                    305,
                                    306,
                                    307,
                                    308,
                                    309,
                                    310,
                                    311,
                                    312,
                                    313,
                                    314,
                                    315,
                                    316,
                                    317,
                                    318,
                                    319,
                                    320,
                                    321,
                                    322,
                                    323,
                                    324,
                                    325,
                                    326,
                                    327,
                                    328,
                                    329,
                                    330,
                                    331,
                                    332,
                                    333,
                                    334
                                ],
                                "start": 2391,
                                "length": 9156,
                                "ending_column": 12,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 36,
                                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "fallback()"
                    }
                }
            }
        },
        {
            "name": "base_contract.transfer(owner,owner_cut)",
            "type": "node",
            "source_mapping": {
                "lines": [
                    316,
                    317
                ],
                "start": 11000,
                "length": 40,
                "ending_column": 7,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 23,
                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "additional_fields": {
                "underlying_type": "external_calls_sending_eth"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "do_redemption",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            310,
                            311,
                            312,
                            313,
                            314,
                            315,
                            316,
                            317,
                            318,
                            319,
                            320,
                            321
                        ],
                        "start": 10742,
                        "length": 409,
                        "ending_column": 9,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 44,
                        "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "SharkPool",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    86,
                                    87,
                                    88,
                                    89,
                                    90,
                                    91,
                                    92,
                                    93,
                                    94,
                                    95,
                                    96,
                                    97,
                                    98,
                                    99,
                                    100,
                                    101,
                                    102,
                                    103,
                                    104,
                                    105,
                                    106,
                                    107,
                                    108,
                                    109,
                                    110,
                                    111,
                                    112,
                                    113,
                                    114,
                                    115,
                                    116,
                                    117,
                                    118,
                                    119,
                                    120,
                                    121,
                                    122,
                                    123,
                                    124,
                                    125,
                                    126,
                                    127,
                                    128,
                                    129,
                                    130,
                                    131,
                                    132,
                                    133,
                                    134,
                                    135,
                                    136,
                                    137,
                                    138,
                                    139,
                                    140,
                                    141,
                                    142,
                                    143,
                                    144,
                                    145,
                                    146,
                                    147,
                                    148,
                                    149,
                                    150,
                                    151,
                                    152,
                                    153,
                                    154,
                                    155,
                                    156,
                                    157,
                                    158,
                                    159,
                                    160,
                                    161,
                                    162,
                                    163,
                                    164,
                                    165,
                                    166,
                                    167,
                                    168,
                                    169,
                                    170,
                                    171,
                                    172,
                                    173,
                                    174,
                                    175,
                                    176,
                                    177,
                                    178,
                                    179,
                                    180,
                                    181,
                                    182,
                                    183,
                                    184,
                                    185,
                                    186,
                                    187,
                                    188,
                                    189,
                                    190,
                                    191,
                                    192,
                                    193,
                                    194,
                                    195,
                                    196,
                                    197,
                                    198,
                                    199,
                                    200,
                                    201,
                                    202,
                                    203,
                                    204,
                                    205,
                                    206,
                                    207,
                                    208,
                                    209,
                                    210,
                                    211,
                                    212,
                                    213,
                                    214,
                                    215,
                                    216,
                                    217,
                                    218,
                                    219,
                                    220,
                                    221,
                                    222,
                                    223,
                                    224,
                                    225,
                                    226,
                                    227,
                                    228,
                                    229,
                                    230,
                                    231,
                                    232,
                                    233,
                                    234,
                                    235,
                                    236,
                                    237,
                                    238,
                                    239,
                                    240,
                                    241,
                                    242,
                                    243,
                                    244,
                                    245,
                                    246,
                                    247,
                                    248,
                                    249,
                                    250,
                                    251,
                                    252,
                                    253,
                                    254,
                                    255,
                                    256,
                                    257,
                                    258,
                                    259,
                                    260,
                                    261,
                                    262,
                                    263,
                                    264,
                                    265,
                                    266,
                                    267,
                                    268,
                                    269,
                                    270,
                                    271,
                                    272,
                                    273,
                                    274,
                                    275,
                                    276,
                                    277,
                                    278,
                                    279,
                                    280,
                                    281,
                                    282,
                                    283,
                                    284,
                                    285,
                                    286,
                                    287,
                                    288,
                                    289,
                                    290,
                                    291,
                                    292,
                                    293,
                                    294,
                                    295,
                                    296,
                                    297,
                                    298,
                                    299,
                                    300,
                                    301,
                                    302,
                                    303,
                                    304,
                                    305,
                                    306,
                                    307,
                                    308,
                                    309,
                                    310,
                                    311,
                                    312,
                                    313,
                                    314,
                                    315,
                                    316,
                                    317,
                                    318,
                                    319,
                                    320,
                                    321,
                                    322,
                                    323,
                                    324,
                                    325,
                                    326,
                                    327,
                                    328,
                                    329,
                                    330,
                                    331,
                                    332,
                                    333,
                                    334
                                ],
                                "start": 2391,
                                "length": 9156,
                                "ending_column": 12,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 36,
                                "filename_absolute": "/tmp/slither-dbj2922e/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "do_redemption()"
                    }
                }
            }
        }
    ],
    "locations": [
        {
            "file": "contracts/Contract.sol",
            "name": "fallback",
            "type": "function",
            "lines": [
                225,
                226,
                227,
                228,
                229,
                230,
                231,
                232,
                233,
                234,
                235,
                236,
                237,
                238,
                239,
                240,
                241,
                242,
                243,
                244,
                245,
                246,
                247,
                248,
                249,
                250,
                251,
                252
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "require(bool)(msg.value >= calculate_minimum_contribution())",
            "type": "node",
            "lines": [
                225,
                226
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "base_contract.currentDifficultyWei() / 10000000 * contract_period",
            "type": "node",
            "lines": [
                217,
                218,
                219,
                220
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "do_redemption()",
            "type": "node",
            "lines": [
                243
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "base_contract.transfer(owner,owner_cut)",
            "type": "node",
            "lines": [
                316,
                317
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "base_contract.transfer(msg.sender,remainder)",
            "type": "node",
            "lines": [
                319,
                320
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "current_user.start_block = mined_blocks",
            "type": "node",
            "lines": [
                248
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "current_user.end_block = mined_blocks + contract_period",
            "type": "node",
            "lines": [
                248,
                249,
                250,
                251,
                252
            ]
        }
    ],
    "description": "Reentrancy in SharkPool.fallback() (contracts/Contract.sol#225-252):\n\tExternal calls:\n\t- require(bool)(msg.value >= calculate_minimum_contribution()) (contracts/Contract.sol#225-226)\n\t\t- base_contract.currentDifficultyWei() / 10000000 * contract_period (contracts/Contract.sol#217-220)\n\t- do_redemption() (contracts/Contract.sol#243)\n\t\t- base_contract.transfer(owner,owner_cut) (contracts/Contract.sol#316-317)\n\t\t- base_contract.transfer(msg.sender,remainder) (contracts/Contract.sol#319-320)\n\tState variables written after the call(s):\n\t- current_user.start_block = mined_blocks (contracts/Contract.sol#248)\n\tSharkPool.users (contracts/Contract.sol#114-116) can be used in cross function reentrancies:\n\t- SharkPool.fallback() (contracts/Contract.sol#225-252)\n\t- SharkPool.find_contribution(address) (contracts/Contract.sol#130-148)\n\t- SharkPool.users (contracts/Contract.sol#114-116)\n\t- current_user.end_block = mined_blocks + contract_period (contracts/Contract.sol#248-252)\n\tSharkPool.users (contracts/Contract.sol#114-116) can be used in cross function reentrancies:\n\t- SharkPool.fallback() (contracts/Contract.sol#225-252)\n\t- SharkPool.find_contribution(address) (contracts/Contract.sol#130-148)\n\t- SharkPool.users (contracts/Contract.sol#114-116)"
}
low other codex Expired users are not removed from the mapping, preventing re-join and mis-accounting contributions 65 no
view
evidence_json
{
    "evidence": "`delete active_users[i]; ... delete users[active_users[i]];` deletes the mapping at address 0 instead of the ejected user.",
    "locations": [
        "contracts/Contract.sol:272",
        "contracts/Contract.sol:281"
    ],
    "recommendation": "Store the address before clearing the slot and delete `users[addr]` first; alternatively, clear `users[msg.sender]` when a user is no longer active and ensure re-joins allocate a slot.",
    "exploit_scenario": "During ejection, the code deletes `active_users[i]` before deleting the user, so it ends up deleting `users[0]` and leaving the expired user mapping intact. Later, that user still has `start_block > 0`, so the fallback path skips `allocate_slot` and accepts deposits that never get mined, effectively burning the contribution."
}
low other codex Unchecked token transfer return values can zero balances without payout 65 no
view
evidence_json
{
    "evidence": "`base_contract.transfer(owner, owner_cut);` and `base_contract.transfer(msg.sender, remainder);` are unchecked but `balances[msg.sender]` is cleared afterwards.",
    "locations": [
        "contracts/Contract.sol:325",
        "contracts/Contract.sol:327"
    ],
    "recommendation": "Require `base_contract.transfer(...)` to return true and revert on failure before clearing balances.",
    "exploit_scenario": "If the Bitcoineum token `transfer` returns `false` (e.g., paused token or failure), `do_redemption()` still sets `balances[msg.sender] = 0`, causing the user to lose rewards without receiving tokens."
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 11
}