Completed
Push — master ( 21890a...cf8140 )
by thomas
30:54
created

P2shScript::getScriptHash()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 2
nc 1
nop 0
dl 0
loc 4
ccs 0
cts 0
cp 0
crap 2
rs 10
c 1
b 0
f 0
1
<?php
2
3
namespace BitWasp\Bitcoin\Script;
4
5
use BitWasp\Bitcoin\Address\ScriptHashAddress;
6
7
class P2shScript extends Script
8
{
9
10
    /**
11
     * @var ScriptHashAddress
12
     */
13
    private $address;
14
15
    /**
16
     * @var ScriptInterface
17
     */
18
    private $outputScript;
19
20
    /**
21
     * @var \BitWasp\Buffertools\BufferInterface
22
     */
23
    private $scriptHash;
24
25
    /**
26
     * P2shScript constructor.
27
     * @param ScriptInterface $script
28
     * @param Opcodes|null $opcodes
29
     */
30 12
    public function __construct(ScriptInterface $script, Opcodes $opcodes = null)
31
    {
32 12
        parent::__construct($script->getBuffer(), $opcodes);
33 12
        $this->scriptHash = $script->getScriptHash();
34 12
        $this->outputScript = ScriptFactory::scriptPubKey()->p2sh($this->scriptHash);
35 12
        $this->address = new ScriptHashAddress($this->scriptHash);
36 12
    }
37
38
    /**
39
     * @return \BitWasp\Buffertools\BufferInterface
40
     */
41
    public function getScriptHash()
42
    {
43
        return $this->scriptHash;
44
    }
45
46
    /**
47
     * @return ScriptInterface
48
     */
49
    public function getOutputScript()
50
    {
51
        return $this->outputScript;
52
    }
53
54
    /**
55
     * @return \BitWasp\Bitcoin\Address\ScriptHashAddress
56
     */
57 4
    public function getAddress()
58
    {
59 4
        return $this->address;
60
    }
61
}
62