zcash: update address, viewkey prefixes
This commit is contained in:
parent
cc39b8da5e
commit
33fc67e241
3 changed files with 9 additions and 7 deletions
|
|
@ -92,6 +92,7 @@ class AddrGeneratorEthereum(AddrGenerator):
|
|||
class AddrGeneratorZcashZ(AddrGenerator):
|
||||
|
||||
addr_width = 95
|
||||
vk_width = 97
|
||||
|
||||
def zhash256(self,s,t):
|
||||
s = map(ord,s+'\0'*32)
|
||||
|
|
@ -121,7 +122,7 @@ class AddrGeneratorZcashZ(AddrGenerator):
|
|||
vk[63] |= 0x40
|
||||
from mmgen.protocol import _b58chk_encode
|
||||
ret = _b58chk_encode(g.proto.addr_ver_num['viewkey'][0] + hexlify(''.join(map(chr,vk))))
|
||||
assert len(ret) == self.addr_width,'Invalid Zcash view key length'
|
||||
assert len(ret) == self.vk_width,'Invalid Zcash view key length'
|
||||
return ZcashViewKey(ret)
|
||||
|
||||
def to_segwit_redeem_script(self,pubhex):
|
||||
|
|
|
|||
|
|
@ -317,7 +317,7 @@ class ZcashProtocol(BitcoinProtocolAddrgen):
|
|||
'p2pkh': ('1cb8','t1'),
|
||||
'p2sh': ('1cbd','t3'),
|
||||
'zcash_z': ('169a','zc'),
|
||||
'viewkey': ('0b1c','V') }
|
||||
'viewkey': ('a8abd3','ZiVK') }
|
||||
wif_ver_num = { 'std': '80', 'zcash_z': 'ab36' }
|
||||
mmtypes = ('L','C','Z')
|
||||
dfl_mmtype = 'L'
|
||||
|
|
@ -340,12 +340,12 @@ class ZcashProtocol(BitcoinProtocolAddrgen):
|
|||
raise ValueError,'{}: incorrect pubkey_hash length'.format(hl)
|
||||
|
||||
class ZcashTestnetProtocol(ZcashProtocol):
|
||||
wif_ver_num = { 'std': '??', 'zcash_z': 'ac08' }
|
||||
wif_ver_num = { 'std': 'ef', 'zcash_z': 'ac08' }
|
||||
addr_ver_num = {
|
||||
'p2pkh': ('??','t1'),
|
||||
'p2sh': ('??','t3'),
|
||||
'zcash_z': ('16b6','??'),
|
||||
'viewkey': ('0b2a','??') }
|
||||
'p2pkh': ('1d25','tm'),
|
||||
'p2sh': ('1cba','t2'),
|
||||
'zcash_z': ('16b6','zt'),
|
||||
'viewkey': ('a8ac0c','ZiVt') }
|
||||
|
||||
# https://github.com/monero-project/monero/blob/master/src/cryptonote_config.h
|
||||
class MoneroProtocol(DummyWIF,BitcoinProtocolAddrgen):
|
||||
|
|
|
|||
|
|
@ -180,6 +180,7 @@ def compare_test():
|
|||
if b == 'ext':
|
||||
if addr_type.name == 'zcash_z':
|
||||
b_wif,b_addr,b_vk = ext_sec2addr(sec)
|
||||
vmsg_r('\nvkey: {}'.format(b_vk))
|
||||
if b_vk != a_vk:
|
||||
match_error(sec,sec.wif,a_vk,b_vk,a,b)
|
||||
else:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue