Esempio n. 1
0
def bob_swap_tx(txid_to_spend, utxo_index, amount_to_send, hash_of_secret):
    txout_script = coinExchangeScript(bob_public_key_BCY, alice_public_key_BCY,
                                      hash_of_secret)
    txout = create_txout(amount_to_send, txout_script)

    txin_scriptPubKey = P2PKH_scriptPubKey(bob_address_BCY)
    txin = create_txin(txid_to_spend, utxo_index)
    txin_scriptSig = P2PKH_scriptSig(txin, txout, txin_scriptPubKey,
                                     bob_secret_key_BCY, bob_public_key_BCY)

    tx = create_signed_transaction(txin, txout, txin_scriptPubKey,
                                   txin_scriptSig)
    print('Bob swap tx (BCY) created successfully!')
    return tx, txout_script
Esempio n. 2
0
def redeem_swap(amount_to_send, alice_swap_tx, txin_scriptPubKey,
                alice_secret_x):
    txout_script = P2PKH_scriptPubKey(bob_address_BTC)
    txout = create_txout(amount_to_send, txout_script)

    txin = create_txin(b2x(alice_swap_tx.GetTxid()), 0)
    tx = CMutableTransaction([txin], [txout])
    bob_signature_BTC = sign_BTC(tx, txin_scriptPubKey)
    txin_scriptSig = coinExchangeScriptSig1(bob_signature_BTC, alice_secret_x)
    txin.scriptSig = CScript(txin_scriptSig)
    VerifyScript(txin.scriptSig, CScript(txin_scriptPubKey), tx, 0,
                 (SCRIPT_VERIFY_P2SH, ))

    print('Bob redeem from swap tx (BTC) created successfully!')
    return tx
Esempio n. 3
0
def return_coins_tx(amount_to_send, last_tx, lock_time):
    txin = create_txin(b2x(last_tx.GetTxid()), 0)
    txout = create_txout(amount_to_send, P2PKH_scriptPubKey(bob_address_BCY))
    tx = CMutableTransaction([txin], [txout], nLockTime=lock_time)
    return tx