def copyTransaction(handle): handle2 = skycoin.coin__Transaction() err, handle2 = skycoin.SKY_coin_Transaction_Copy(handle) assert err == skycoin.SKY_OK assert skycoin.SKY_coin_Transaction_Verify(handle2) == skycoin.SKY_OK err, ptx = skycoin.SKY_coin_GetTransactionObject(handle2) assert err == skycoin.SKY_OK return handle2, ptx
def test_TestTransactionSerialization(): handle, tx = utils.makeTransaction() err, b = skycoin.SKY_coin_Transaction_Serialize(handle) assert err == skycoin.SKY_OK err, handle2 = skycoin.SKY_coin_TransactionDeserialize(b) assert err == skycoin.SKY_OK err, tx2 = skycoin.SKY_coin_GetTransactionObject(handle2) assert err == skycoin.SKY_OK assert tx == tx2
def equalTransactions(handle1, handle2): err, size1 = skycoin.SKY_coin_Transactions_Length(handle1) assert err == skycoin.SKY_OK err, size2 = skycoin.SKY_coin_Transactions_Length(handle2) assert err == skycoin.SKY_OK if size1 != size2: return 1 for i in range(int(size1 - 1)): err, tx1 = skycoin.SKY_coin_Transactions_GetAt(handle1, i) assert err == skycoin.SKY_OK err, tx2 = skycoin.SKY_coin_Transactions_GetAt(handle2, i) assert err == skycoin.SKY_OK err, tx1_obj = skycoin.SKY_coin_GetTransactionObject(tx1) assert err == skycoin.SKY_OK err, tx2_obj = skycoin.SKY_coin_GetTransactionObject(tx2) assert err == skycoin.SKY_OK assert tx1_obj == tx2_obj i += 1 return 0
def makeTransactionFromUxOut(ux, s): _, handle = skycoin.SKY_coin_Create_Transaction() _, tx = skycoin.SKY_coin_GetTransactionObject(handle) h = skycoin.cipher_SHA256() assert skycoin.SKY_cipher_SecKey_Verify(s) == skycoin.SKY_OK assert skycoin.SKY_coin_UxOut_Hash(ux, h) == skycoin.SKY_OK r = skycoin.SKY_coin_Transaction_PushInput(handle, h) assert skycoin.SKY_coin_Transaction_PushOutput(handle, makeAddress(), int(1e6), int(50)) == skycoin.SKY_OK assert skycoin.SKY_coin_Transaction_PushOutput(handle, makeAddress(), int(5e6), int(50)) == skycoin.SKY_OK secKeys = [] secKeys.append(s) assert skycoin.SKY_coin_Transaction_SignInputs(handle, secKeys) == skycoin.SKY_OK assert skycoin.SKY_coin_Transaction_UpdateHeader(handle) == skycoin.SKY_OK return handle, tx