def test_transaction_chain_when_invalid_balance_provenance(clone_blockchain): wallet = Wallet() malformed_tx_instance = Transaction(Wallet(), "b13b2bf4", 1) malformed_tx_instance.output[wallet.address] = 9000 malformed_tx_instance.input["amount"] = 9001 malformed_tx_instance.input["signature"] = wallet.gen_signature( malformed_tx_instance.output) clone_blockchain.add_block([malformed_tx_instance.serialize_to_json()]) with pytest.raises(Exception, match="contains an invalid input amount"): Blockchain.is_tx_chain_valid(clone_blockchain.chain)
def test_verify_signature_with_valid_signature(): data = {"foo": "bar"} wallet = Wallet() sig = wallet.gen_signature(data) assert Wallet.verify_signature(wallet.public_key, data, sig)