Completed
Push — master ( d11523...55e928 )
by thomas
21:34 queued 18:32
created

NetworkFactory::bitcoin()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 1
Metric Value
dl 0
loc 9
ccs 6
cts 6
cp 1
rs 9.6667
cc 1
eloc 6
nc 1
nop 0
crap 1
1
<?php
2
3
namespace BitWasp\Bitcoin\Network;
4
5
class NetworkFactory
6
{
7
    /**
8
     * @param string $address
9
     * @param string $p2sh
10
     * @param string $privateKey
11
     * @param bool $testnet
12
     * @return Network
13
     * @throws \Exception
14
     */
15 312
    public static function create($address, $p2sh, $privateKey, $testnet = false)
16
    {
17 312
        return new Network($address, $p2sh, $privateKey, $testnet);
18
    }
19
20
    /**
21
     * @return NetworkInterface
22
     * @throws \Exception
23
     */
24 192
    public static function bitcoin()
25
    {
26 192
        $network = self::create('00', '05', '80')
27 192
            ->setHDPubByte('0488b21e')
28 192
            ->setHDPrivByte('0488ade4')
29 192
            ->setNetMagicBytes('d9b4bef9');
30
31 192
        return $network;
32
    }
33
34
    /**
35
     * @return NetworkInterface
36
     * @throws \Exception
37
     */
38 36
    public static function bitcoinTestnet()
39
    {
40 36
        $network = self::create('6f', 'c4', 'ef', true)
41 36
            ->setHDPubByte('043587cf')
42 36
            ->setHDPrivByte('04358394')
43 36
            ->setNetMagicBytes('d9b4bef9');
44
45 36
        return $network;
46
    }
47
48
    /**
49
     * @return NetworkInterface
50
     * @throws \Exception
51
     */
52 6
    public static function litecoin()
53
    {
54 6
        $network = self::create('30', '05', 'b0')
55 6
            ->setHDPubByte('019da462')
56 6
            ->setHDPrivByte('019d9cfe')
57 6
            ->setNetMagicBytes('dbb6c0fb');
58
59 6
        return $network;
60
    }
61
62
    /**
63
     * @return NetworkInterface
64
     * @throws \Exception
65
     */
66 6
    public static function litecoinTestnet()
67
    {
68 6
        $network = self::create('6f', 'c4', 'ef', true)
69 6
            ->setHDPubByte('019da462')
70 6
            ->setHDPrivByte('019d9cfe')
71 6
            ->setNetMagicBytes('dcb7c1fc');
72
73 6
        return $network;
74
    }
75
76
    /**
77
     * @return NetworkInterface
78
     * @throws \Exception
79
     */
80 12
    public static function viacoin()
81
    {
82 12
        $network = self::create('47', '21', 'c7')
83 12
            ->setHDPubByte('0488b21e')
84 12
            ->setHDPrivByte('0488ade4')
85 12
            ->setNetMagicBytes('cbc6680f')
86 12
        ;
87
88 12
        return $network;
89
    }
90
91
    /**
92
     * @return NetworkInterface
93
     * @throws \Exception
94
     */
95 6
    public static function viacoinTestnet()
96
    {
97 6
        $network = self::create('7f', 'c4', 'ff', true)
98 6
            ->setHDPubByte('043587cf')
99 6
            ->setHDPrivByte('04358394')
100 6
            ->setNetMagicBytes('92efc5a9')
101 6
        ;
102
103 6
        return $network;
104
    }
105
106
    /**
107
     * @return NetworkInterface
108
     * @throws \Exception
109
     */
110 6
    public static function dogecoin()
111
    {
112 6
        $network = self::create('1e', '16', '9e')
113 6
            ->setHDPubByte('02facafd')
114 6
            ->setHDPrivByte('02fac398')
115 6
            ->setNetMagicBytes('c0c0c0c0');
116
117 6
        return $network;
118
    }
119
120
    /**
121
     * @return NetworkInterface
122
     * @throws \Exception
123
     */
124 6
    public static function dogecoinTestnet()
125
    {
126 6
        $network = self::create('71', 'c4', 'f1', true)
127 6
            ->setHDPubByte('043587cf')
128 6
            ->setHDPrivByte('0432a243')
129 6
            ->setNetMagicBytes('c0c0c0c0');
130
131 6
        return $network;
132
    }
133
134
     * @return NetworkInterface
0 ignored issues
show
Bug introduced by
This code did not parse for me. Apparently, there is an error somewhere around this line:

Syntax error, unexpected '*', expecting T_FUNCTION
Loading history...
135
     * @throws \Exception
136
     */
137
    public static function startcoin()
138
    {
139
        $network = self::create('7d', 'fd', '05')
140
            ->setHDPubByte('0488b21e')
141
            ->setHDPrivByte('0488ade4')
142
            ->setNetMagicBytes('ffc4badf');
143
144
        return $network;
145
    }
146
147
    /**
148
     * @return NetworkInterface
149
     * @throws \Exception
150
     */
151
    public static function startcoinTestnet()
152
    {
153
        $network = self::create('7f', 'f4', 'c4')
154
            ->setHDPubByte('043587cf')
155
            ->setHDPrivByte('04468394')
156
            ->setNetMagicBytes('ffc4b9de');
157
158
        return $network;
159
    }
160
161
162
}
163