1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
namespace BitWasp\Bitcoin\Network\Networks; |
4
|
|
|
|
5
|
|
|
use BitWasp\Bitcoin\Network\Network; |
6
|
|
|
use BitWasp\Bitcoin\Script\ScriptType; |
7
|
|
|
|
8
|
|
|
class Zcash extends Network |
9
|
|
|
{ |
10
|
|
|
/** |
11
|
|
|
* {@inheritdoc} |
12
|
|
|
* @see Network::$base58PrefixMap |
13
|
|
|
*/ |
14
|
|
|
protected $base58PrefixMap = [ |
15
|
|
|
// https://github.com/zcash/zcash/blob/master/src/chainparams.cpp#L139-L144 |
16
|
|
|
self::BASE58_ADDRESS_P2PKH => "1cb8", |
17
|
|
|
self::BASE58_ADDRESS_P2SH => "1cbd", |
18
|
|
|
self::BASE58_WIF => "80", |
19
|
|
|
]; |
20
|
|
|
|
21
|
|
|
/** |
22
|
|
|
* {@inheritdoc} |
23
|
|
|
* @see Network::$bip32PrefixMap |
24
|
|
|
*/ |
25
|
|
|
protected $bip32PrefixMap = [ |
26
|
|
|
// https://github.com/zcash/zcash/blob/master/src/chainparams.cpp#L146-L147 |
27
|
|
|
self::BIP32_PREFIX_XPUB => "0488b21e", |
28
|
|
|
self::BIP32_PREFIX_XPRV => "0488ade4", |
29
|
|
|
]; |
30
|
|
|
|
31
|
|
|
/** |
32
|
|
|
* {@inheritdoc} |
33
|
|
|
* @see Network::$bip32ScriptTypeMap |
34
|
|
|
*/ |
35
|
|
|
protected $bip32ScriptTypeMap = [ |
36
|
|
|
self::BIP32_PREFIX_XPUB => ScriptType::P2PKH, |
37
|
|
|
self::BIP32_PREFIX_XPRV => ScriptType::P2PKH, |
38
|
|
|
]; |
39
|
|
|
|
40
|
|
|
/** |
41
|
|
|
* {@inheritdoc} |
42
|
|
|
* @see Network::$signedMessagePrefix |
43
|
|
|
*/ |
44
|
|
|
protected $signedMessagePrefix = "Zcash Signed Message"; |
45
|
|
|
|
46
|
|
|
/** |
47
|
|
|
* {@inheritdoc} |
48
|
|
|
* @see Network::$p2pMagic |
49
|
|
|
*/ |
50
|
|
|
// https://github.com/zcash/zcash/blob/master/src/chainparams.cpp#L111-L114 |
51
|
|
|
protected $p2pMagic = "6427e924"; |
52
|
|
|
|
53
|
|
|
/** |
54
|
|
|
* Network constructor. |
55
|
|
|
* @throws InvalidNetworkParameter |
56
|
|
|
*/ |
57
|
|
|
public function __construct() |
58
|
|
|
{ |
59
|
|
|
// intentionally skipped validation |
60
|
|
|
} |
61
|
|
|
} |
62
|
|
|
|