Completed
Pull Request — master (#821)
by thomas
22:10
created

CheckerCreator   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 6
dl 0
loc 18
ccs 7
cts 7
cp 1
rs 10
c 2
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A create() 0 3 1
A fromEcAdapter() 0 6 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace BitWasp\Bitcoin\Transaction\Factory\Checker;
6
7
use BitWasp\Bitcoin\Crypto\EcAdapter\Adapter\EcAdapterInterface;
8
use BitWasp\Bitcoin\Crypto\EcAdapter\EcSerializer;
9
use BitWasp\Bitcoin\Crypto\EcAdapter\Serializer\Key\PublicKeySerializerInterface;
10
use BitWasp\Bitcoin\Crypto\EcAdapter\Serializer\Signature\DerSignatureSerializerInterface;
11
use BitWasp\Bitcoin\Script\Interpreter\CheckerBase;
12
use BitWasp\Bitcoin\Script\Interpreter\Checker;
13
use BitWasp\Bitcoin\Serializer\Signature\TransactionSignatureSerializer;
14
use BitWasp\Bitcoin\Transaction\TransactionInterface;
15
use BitWasp\Bitcoin\Transaction\TransactionOutputInterface;
16
17
class CheckerCreator extends CheckerCreatorBase
18
{
19 2
    public static function fromEcAdapter(EcAdapterInterface $ecAdapter)
20
    {
21 2
        $derSigSer = EcSerializer::getSerializer(DerSignatureSerializerInterface::class);
22 2
        $txSigSer = new TransactionSignatureSerializer($derSigSer);
23 2
        $pkSer = EcSerializer::getSerializer(PublicKeySerializerInterface::class);
24 2
        return new CheckerCreator($ecAdapter, $txSigSer, $pkSer);
25
    }
26
    /**
27
     * @param TransactionInterface $tx
28
     * @param int $nInput
29
     * @param TransactionOutputInterface $txOut
30
     * @return CheckerBase
31
     */
32 114
    public function create(TransactionInterface $tx, int $nInput, TransactionOutputInterface $txOut): CheckerBase
33
    {
34 114
        return new Checker($this->ecAdapter, $tx, $nInput, $txOut->getValue(), $this->txSigSerializer, $this->pubKeySerializer);
35
    }
36
}
37