def test_TestPubKeyHex(): p, sk = utils.makecipher_PubKeyAndcipher_SecKey() err, s3 = skycoin.SKY_cipher_PubKey_Hex(p) assert err == skycoin.SKY_OK p2 = skycoin.cipher_PubKey() err = skycoin.SKY_cipher_PubKeyFromHex(s3, p2) assert err == skycoin.SKY_OK assert p == p2 err, s4 = skycoin.SKY_cipher_PubKey_Hex(p2) assert err == skycoin.SKY_OK assert s3 == s4
def test_TestBitcoinWIF(): wips = [ b"KwntMbt59tTsj8xqpqYqRRWufyjGunvhSyeMo3NTYpFYzZbXJ5Hp", b"L4ezQvyC6QoBhxB4GVs9fAPhUKtbaXYUn8YTqoeXwbevQq4U92vN", b"KydbzBtk6uc7M6dXwEgTEH2sphZxSPbmDSz6kUUHi4eUpSQuhEbq" ] publics = [ b"034f355bdcb7cc0af728ef3cceb9615d90684bb5b2ca5f859ab0f0b704075871aa", b"02ed83704c95d829046f1ac27806211132102c34e9ac7ffa1b71110658e5b9d1bd", b"032596957532fc37e40486b910802ff45eeaa924548c0e1c080ef804e523ec3ed3" ] address = [ b"1Q1pE5vPGEEMqRcVRMbtBK842Y6Pzo6nK9", b"1NKRhS7iYUGTaAfaR5z8BueAJesqaTyc4a", b"19ck9VKC6KjGxR9LJg4DNMRc45qFrJguvV" ] for p in range(len(wips)): secret_key = skycoin.cipher_SecKey() public_key = skycoin.cipher_PubKey() err = skycoin.skycoin.SKY_cipher_SecKeyFromBitcoinWalletImportFormat( wips[p], secret_key) assert err == skycoin.SKY_OK skycoin.SKY_cipher_PubKeyFromSecKey(secret_key, public_key) _, public_key_hex = skycoin.SKY_cipher_PubKey_Hex(public_key) assert public_key_hex == publics[p] bitcoin_addr = skycoin.cipher__BitcoinAddress() skycoin.SKY_cipher_BitcoinAddressFromPubKey(public_key, bitcoin_addr) bitcoin_addr_str = skycoin.skycoin.SKY_cipher_BitcoinAddress_String( bitcoin_addr) assert bitcoin_addr_str == address[p]
def test_TestBitcoinAddress3(): secret_key = skycoin.cipher_SecKey() err = skycoin.SKY_cipher_SecKeyFromHex(b'47f7616ea6f9b923076625b4488115de1ef1187f760e65f89eb6f4f7ff04b012', secret_key) assert err == skycoin.SKY_OK public_key = skycoin.cipher_PubKey() skycoin.SKY_cipher_PubKeyFromSecKey(secret_key, public_key) public_key_str = b'032596957532fc37e40486b910802ff45eeaa924548c0e1c080ef804e523ec3ed3' _, public_key_hex = skycoin.SKY_cipher_PubKey_Hex(public_key) assert public_key_hex == public_key_str bitcoin_srt = b'19ck9VKC6KjGxR9LJg4DNMRc45qFrJguvV' bitcoin_addr = skycoin.cipher__BitcoinAddress() skycoin.SKY_cipher_BitcoinAddressFromPubKey(public_key, bitcoin_addr) bitcoin_addr_str = skycoin.skycoin.SKY_cipher_BitcoinAddress_String(bitcoin_addr) assert bitcoin_srt == bitcoin_addr_str
def test_TestBitcoinAddress2(): secret_key = skycoin.cipher_SecKey() err = skycoin.SKY_cipher_SecKeyFromHex(b'dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd', secret_key) assert err == skycoin.SKY_OK public_key = skycoin.cipher_PubKey() skycoin.SKY_cipher_PubKeyFromSecKey(secret_key, public_key) public_key_str = b'02ed83704c95d829046f1ac27806211132102c34e9ac7ffa1b71110658e5b9d1bd' _, public_key_hex = skycoin.SKY_cipher_PubKey_Hex(public_key) assert public_key_hex == public_key_str bitcoin_srt = b'1NKRhS7iYUGTaAfaR5z8BueAJesqaTyc4a' bitcoin_addr = skycoin.cipher__BitcoinAddress() skycoin.SKY_cipher_BitcoinAddressFromPubKey(public_key, bitcoin_addr) bitcoin_addr_str = skycoin.skycoin.SKY_cipher_BitcoinAddress_String(bitcoin_addr) assert bitcoin_srt == bitcoin_addr_str
def KeysTestDataFromJSON(KeysTestDataJSON): address = skycoin.cipher__Address() err = skycoin.SKY_cipher_DecodeBase58Address( KeysTestDataJSON["address"].encode(), address) if err != skycoin.SKY_OK: return skycoin.SKY_ERROR, None err, hex_str = skycoin.SKY_base58_String2Hex( KeysTestDataJSON["secret"].encode()) assert err == skycoin.SKY_OK secret_key = skycoin.cipher_SecKey() err = skycoin.SKY_cipher_NewSecKey(hex_str, secret_key) assert err == skycoin.SKY_OK err, secret_key_hex = skycoin.SKY_cipher_SecKey_Hex(secret_key) if err != skycoin.SKY_OK: return skycoin.SKY_ERROR, None err, hex_str = skycoin.SKY_base58_String2Hex( KeysTestDataJSON["public"].encode()) assert err == skycoin.SKY_OK public_key = skycoin.cipher_PubKey() err = skycoin.SKY_cipher_NewPubKey(hex_str, public_key) assert err == skycoin.SKY_OK err, public_key_hex = skycoin.SKY_cipher_PubKey_Hex(public_key) if err != skycoin.SKY_OK: return skycoin.SKY_ERROR, None r = KeysTestData() r.Address = address r.Public = public_key_hex r.Secret = secret_key_hex r.Signatures = 0 if KeysTestDataJSON.get("signatures") == None: return skycoin.SKY_OK, r sigs = [] if len(KeysTestDataJSON["signatures"]) >= 0: for s in KeysTestDataJSON["signatures"]: sig_fromHex = skycoin.cipher_Sig() err = skycoin.SKY_cipher_SigFromHex(s.encode(), sig_fromHex) assert err == skycoin.SKY_OK sigs.append(sig_fromHex) assert err == skycoin.SKY_OK r.Signatures = sigs return skycoin.SKY_OK, r