Completed
Pull Request — master (#317)
by thomas
16:45 queued 06:42
created

Base58ExtendedKeySerializer   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 34
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 34
ccs 7
cts 7
cp 1
rs 10
wmc 3
lcom 1
cbo 2

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A serialize() 0 4 1
A parse() 0 4 1
1
<?php
2
3
namespace BitWasp\Bitcoin\Serializer\Key\HierarchicalKey;
4
5
use BitWasp\Bitcoin\Base58;
6
use BitWasp\Bitcoin\Key\Deterministic\HierarchicalKey;
7
8
class Base58ExtendedKeySerializer
9
{
10
    /**
11
     * @var ExtendedKeySerializer
12
     */
13
    private $serializer;
14
15
    /**
16
     * @param ExtendedKeySerializer $hexSerializer
17
     */
18 51
    public function __construct(ExtendedKeySerializer $hexSerializer)
19
    {
20 51
        $this->serializer = $hexSerializer;
21 51
    }
22
23
    /**
24
     * @param HierarchicalKey $key
25
     * @return string
26
     */
27 15
    public function serialize(HierarchicalKey $key)
28
    {
29 15
        return Base58::encodeCheck($this->serializer->serialize($key));
30
    }
31
32
    /**
33
     * @param string $base58
34
     * @return HierarchicalKey
35
     * @throws \BitWasp\Bitcoin\Exceptions\Base58ChecksumFailure
36
     */
37 42
    public function parse($base58)
38
    {
39 42
        return $this->serializer->parse(Base58::decodeCheck($base58));
40
    }
41
}
42