Merge pull request #212 from Coinomi/zcash

Add zcash support
This commit is contained in:
iancoleman
2018-05-08 09:06:07 +10:00
committed by GitHub
4 changed files with 44 additions and 7 deletions

View File

@@ -8662,13 +8662,24 @@ function fromBech32 (address) {
}
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)
payload.writeUInt8(version, 0)
hash.copy(payload, 1)
var payload = Buffer.allocUnsafe(21)
payload.writeUInt8(version, 0)
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) {
@@ -12162,8 +12173,8 @@ var Network = typeforce.compile({
public: typeforce.UInt32,
private: typeforce.UInt32
},
pubKeyHash: typeforce.UInt8,
scriptHash: typeforce.UInt8,
pubKeyHash: typeforce.oneOf(typeforce.UInt8, typeforce.UInt16),
scriptHash: typeforce.oneOf(typeforce.UInt8, typeforce.UInt16),
wif: typeforce.UInt8
})

View File

@@ -1199,3 +1199,14 @@ bitcoinjs.bitcoin.networks.zcoin = {
scriptHash: 0x07,
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);
},
},
{
name: "ZEC - Zcash",
segwitAvailable: false,
onSelect: function() {
network = bitcoinjs.bitcoin.networks.zcash;
setHdCoin(133);
},
},
]
var clients = [

View File

@@ -1166,6 +1166,13 @@ it('Allows selection of Zcoin', function(done) {
};
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