Completed
Push — master ( c7419f...b9ebc8 )
by thomas
35:04 queued 31:19
created

P2shScript::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 5
ccs 4
cts 4
cp 1
rs 9.4286
cc 1
eloc 3
nc 1
nop 2
crap 1
1
<?php
2
3
namespace BitWasp\Bitcoin\Script;
4
5
use BitWasp\Bitcoin\Address\AddressFactory;
6
use BitWasp\Bitcoin\Network\NetworkInterface;
7
8
class P2shScript extends Script
9
{
10
11
    /**
12
     * @var ScriptInterface
13
     */
14
    private $outputScript;
15
16
    /**
17
     * P2shScript constructor.
18
     * @param ScriptInterface $script
19
     * @param Opcodes|null $opcodes
20
     */
21 6
    public function __construct(ScriptInterface $script, Opcodes $opcodes = null)
22
    {
23 6
        parent::__construct($script->getBuffer(), $opcodes);
24 6
        $this->outputScript = ScriptFactory::scriptPubKey()->payToScriptHash($script);
25 6
    }
26
27
    /**
28
     * @return ScriptInterface
29
     */
30 6
    public function getOutputScript()
31
    {
32 6
        return $this->outputScript;
33
    }
34
35
    /**
36
     * @return \BitWasp\Bitcoin\Address\ScriptHashAddress
37
     */
38 6
    public function getAddress()
39
    {
40 6
        return AddressFactory::fromScript($this);
41
    }
42
}
43