Add zcash support

This commit is contained in:
xarakas
2018-04-30 17:40:27 +03:00
parent 584dbddd37
commit 0702ecd352
4 changed files with 44 additions and 7 deletions

View File

@@ -8662,13 +8662,24 @@ function fromBech32 (address) {
} }
function toBase58Check (hash, version) { function toBase58Check (hash, version) {
typeforce(types.tuple(types.Hash160bit, types.UInt8), arguments) if (version < 256){
typeforce(types.tuple(types.Hash160bit, types.UInt8), arguments)
var payload = Buffer.allocUnsafe(21) var payload = Buffer.allocUnsafe(21)
payload.writeUInt8(version, 0) payload.writeUInt8(version, 0)
hash.copy(payload, 1) hash.copy(payload, 1)
return bs58check.encode(payload) return bs58check.encode(payload)
}
else{
typeforce(types.tuple(types.Hash160bit, types.UInt16), arguments)
var payload = Buffer.allocUnsafe(22)
payload.writeUInt16BE(version, 0)
hash.copy(payload, 2)
return bs58check.encode(payload)
}
} }
function toBech32 (data, version, prefix) { function toBech32 (data, version, prefix) {
@@ -12162,8 +12173,8 @@ var Network = typeforce.compile({
public: typeforce.UInt32, public: typeforce.UInt32,
private: typeforce.UInt32 private: typeforce.UInt32
}, },
pubKeyHash: typeforce.UInt8, pubKeyHash: typeforce.oneOf(typeforce.UInt8, typeforce.UInt16),
scriptHash: typeforce.UInt8, scriptHash: typeforce.oneOf(typeforce.UInt8, typeforce.UInt16),
wif: typeforce.UInt8 wif: typeforce.UInt8
}) })

View File

@@ -1199,3 +1199,14 @@ bitcoinjs.bitcoin.networks.zcoin = {
scriptHash: 0x07, scriptHash: 0x07,
wif: 0xd2, wif: 0xd2,
}; };
bitcoinjs.bitcoin.networks.zcash = {
messagePrefix: '\x18Zcash Signed Message:\n',
bip32: {
public: 0x0488B21E,
private: 0x0488ADE4,
},
pubKeyHash: 0x1CB8,
scriptHash: 0x1CBD,
wif: 0x80,
};

View File

@@ -2428,6 +2428,14 @@
setHdCoin(136); setHdCoin(136);
}, },
}, },
{
name: "ZEC - Zcash",
segwitAvailable: false,
onSelect: function() {
network = bitcoinjs.bitcoin.networks.zcash;
setHdCoin(133);
},
},
] ]
var clients = [ var clients = [

View File

@@ -1166,6 +1166,13 @@ it('Allows selection of Zcoin', function(done) {
}; };
testNetwork(done, params); testNetwork(done, params);
}); });
it('Allows selection of Zcash', function(done) {
var params = {
selectText: "ZEC - Zcash",
firstAddress: "t1Sz8AneMcVuzUg3tPJ8et5AS5LFJ7K2EF9",
};
testNetwork(done, params);
});
// BIP39 seed is set from phrase // BIP39 seed is set from phrase