for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace BitWasp\Bitcoin\Address;
use BitWasp\Bitcoin\Bitcoin;
use BitWasp\Bitcoin\Network\NetworkInterface;
use BitWasp\Bitcoin\Script\WitnessProgram;
use BitWasp\Bitcoin\SegwitBech32;
class SegwitAddress extends Address implements Bech32AddressInterface
getScriptPubKey
{
/**
* @var WitnessProgram
*/
protected $witnessProgram;
* SegwitAddress constructor.
* @param WitnessProgram $witnessProgram
public function __construct(WitnessProgram $witnessProgram)
$this->witnessProgram = $witnessProgram;
parent::__construct($witnessProgram->getProgram());
}
* @param NetworkInterface|null $network
* @return bool
public function getHRP(NetworkInterface $network = null)
$network = $network ?: Bitcoin::getNetwork();
return $network->getSegwitBech32Prefix();
* @return string
public function getAddress(NetworkInterface $network = null)
$network
This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.
$myVar = 'Value'; $higher = false; if (rand(1, 6) > 3) { $higher = true; } else { $higher = false; }
Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.
$myVar
$higher
return SegwitBech32::encode($this->witnessProgram);