Security analysis tool for EVM bytecode. Supports smart contracts built for Ethereum, Hedera, Quorum, Vechain, Roostock, Tron and other EVM-compatible blockchains.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
mythril/tests/testdata/rubixi.sol.markdown

3.7 KiB

Analysis Results

Ether send

  • Type: Warning
  • Contract: Rubixi
  • Function name: collectPercentOfFees(uint256)
  • PC address: 1599

Description

In the function 'collectPercentOfFees(uint256)' a non-zero amount of Ether is sent to an address taken from storage slot 5There is a check on storage index 5. This storage slot can be written to by calling the function 'DynamicPyramid()'.

There is a check on storage index 6. This storage slot can be written to by calling the function 'DynamicPyramid()'. There is a check on storage index 7. This storage slot can be written to by calling the function 'fallback'.

In <TEST_FILES>/rubixi.sol:93

creator.send(feesToCollect)

Ether send

  • Type: Warning
  • Contract: Rubixi
  • Function name: collectAllFees()
  • PC address: 1940

Description

In the function 'collectAllFees()' a non-zero amount of Ether is sent to an address taken from storage slot 5There is a check on storage index 5. This storage slot can be written to by calling the function 'DynamicPyramid()'.

There is a check on storage index 9. This storage slot can be written to by calling the function 'DynamicPyramid()'. There is a check on storage index 10. This storage slot can be written to by calling the function 'fallback'.

In <TEST_FILES>/rubixi.sol:75

creator.send(collectedFees)

Exception state

  • Type: Informational
  • Contract: Rubixi
  • Function name: nextPayoutWhenPyramidBalanceTotalsApproximately()
  • PC address: 1653

Description

A reachable exception (opcode 0xfe) has been detected. This can be caused by type errors, division by zero, out-of-bounds array access, or assert violations. This is acceptable in most situations. Note however that assert() should only be used to check invariants. Use require() for regular input checking.

In <TEST_FILES>/rubixi.sol:131

participants[payoutOrder]

Exception state

  • Type: Informational
  • Contract: Rubixi
  • Function name: participantDetails(uint256)
  • PC address: 2085

Description

A reachable exception (opcode 0xfe) has been detected. This can be caused by type errors, division by zero, out-of-bounds array access, or assert violations. This is acceptable in most situations. Note however that assert() should only be used to check invariants. Use require() for regular input checking.

In <TEST_FILES>/rubixi.sol:148

participants[orderInPyramid]

Integer Underflow

  • Type: Warning
  • Contract: Rubixi
  • Function name: numberOfParticipantsWaitingForPayout()
  • PC address: 2743

Description

A possible integer underflow exists in the function numberOfParticipantsWaitingForPayout(). The substraction may result in a value < 0.

In <TEST_FILES>/rubixi.sol:143

participants.length - payoutOrder

Unchecked CALL return value

  • Type: Informational
  • Contract: Rubixi
  • Function name: collectPercentOfFees(uint256)
  • PC address: 1599

Description

The return value of an external call is not checked. Note that execution continue even if the called contract throws.

In <TEST_FILES>/rubixi.sol:93

creator.send(feesToCollect)

Unchecked CALL return value

  • Type: Informational
  • Contract: Rubixi
  • Function name: collectFeesInEther(uint256)
  • PC address: 1940

Description

The return value of an external call is not checked. Note that execution continue even if the called contract throws.

In <TEST_FILES>/rubixi.sol:75

creator.send(collectedFees)

Unchecked CALL return value

  • Type: Informational
  • Contract: Rubixi
  • Function name: collectFeesInEther(uint256)
  • PC address: 2582

Description

The return value of an external call is not checked. Note that execution continue even if the called contract throws.

In <TEST_FILES>/rubixi.sol:85

creator.send(_amt)