예제 #1
0
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
예제 #2
0
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
예제 #3
0
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
예제 #4
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