def test_htlc_init(): htlc = HTLC(network="testnet") htlc.init(secret_hash=sha256("BooOoom!"), recipient_address="mrmtGq2HMmqAogSsGDjCtXUpxrb7rHThFH", sender_address="mqLyrNDjpENRMZAoDpspH7kR9RtgvhWzYE", sequence=5) htlc_bytecode = htlc.bytecode() assert htlc_bytecode == "63aa20b9b9a0c47ecee7fd94812573a7b14afa02ec250dbdb5875a55c4d02367fcc2" \ "ab8876a9147b7c4431a43b612a72f8229935c469f1f690365888ac6755b27576a914" \ "6bce65e58a50b97989930e9a4ff1ac1a77515ef188ac68" htlc_opcode = htlc.opcode() assert htlc_opcode == "OP_IF OP_HASH256 b9b9a0c47ecee7fd94812573a7b14afa02ec250dbdb5875a5" \ "5c4d02367fcc2ab OP_EQUALVERIFY OP_DUP OP_HASH160 7b7c4431a43b612a7" \ "2f8229935c469f1f6903658 OP_EQUALVERIFY OP_CHECKSIG OP_ELSE OP_5 OP" \ "_CHECKSEQUENCEVERIFY OP_DROP OP_DUP OP_HASH160 6bce65e58a50b979899" \ "30e9a4ff1ac1a77515ef1 OP_EQUALVERIFY OP_CHECKSIG OP_ENDIF" htlc_hash = htlc.hash() assert str(htlc_hash) == "a914971894c58d85981c16c2059d422bcde0b156d04487" htlc_address = htlc.address() assert str(htlc_address) == "2N729UBGZB3xjsGFRgKivy4bSjkaJGMVSpB"
print("Recipient Hash:", recipient_hash) recipient_p2pkh = recipient_wallet.p2pkh() print("Recipient P2PKH:", recipient_p2pkh) recipient_p2sh = recipient_wallet.p2sh() print("Recipient P2SH:", recipient_p2sh) recipient_balance = recipient_wallet.balance() print("Recipient Balance:", recipient_balance) print("=" * 10, "Hash Time Lock Contract (HTLC) between Sender and Recipient") # Initializing Hash Time Lock Contract (HTLC) htlc = HTLC(network=NETWORK) # Building new HTLC contract htlc.init( secret_hash=SECRET_HASH, recipient_address=recipient_address, sender_address=sender_address, sequence=SEQUENCE, ) htlc_bytecode = htlc.bytecode() print("HTLC Bytecode:", htlc_bytecode) htlc_opcode = htlc.opcode() print("HTLC OP_Code:", htlc_opcode) htlc_hash = htlc.hash() print("HTLC Hash:", htlc_hash) htlc_address = htlc.address() print("HTLC Address:", htlc_address) # Getting HTLC balance htlc_balance = get_balance(address=htlc_address, network=NETWORK) print("HTLC Balance:", htlc_balance)