Completed
Pull Request — master (#392)
by thomas
191:09 queued 188:38
created

P2shScript   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 5

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
dl 0
loc 35
ccs 0
cts 8
cp 0
rs 10
c 0
b 0
f 0
wmc 3
lcom 0
cbo 5

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 5 1
A getOutputScript() 0 4 1
A getAddress() 0 4 1
1
<?php
2
3
namespace BitWasp\Bitcoin\Script;
4
5
use BitWasp\Bitcoin\Address\AddressFactory;
6
7
class P2shScript extends Script
8
{
9
10
    /**
11
     * @var ScriptInterface
12
     */
13
    private $outputScript;
14
15
    /**
16
     * P2shScript constructor.
17
     * @param ScriptInterface $script
18
     * @param Opcodes|null $opcodes
19
     */
20
    public function __construct(ScriptInterface $script, Opcodes $opcodes = null)
21
    {
22
        parent::__construct($script->getBuffer(), $opcodes);
23
        $this->outputScript = ScriptFactory::scriptPubKey()->payToScriptHash($script->getScriptHash());
24
    }
25
26
    /**
27
     * @return ScriptInterface
28
     */
29
    public function getOutputScript()
30
    {
31
        return $this->outputScript;
32
    }
33
34
    /**
35
     * @return \BitWasp\Bitcoin\Address\ScriptHashAddress
36
     */
37
    public function getAddress()
38
    {
39
        return AddressFactory::fromScript($this);
40
    }
41
}
42