-
Notifications
You must be signed in to change notification settings - Fork 60
Description
On my machine, I copy and paste the tutorial code into hello-world-lock.py and hello-world-unlock.py - the lock script works fine, but the unlock script produces an error when building the contract. Output below:
(pycardano_opshin) mkitchin@Matthews-MacBook-Pro offchain % python hello-world-lock.py
2 tADA locked into the contract
Tx ID: fafa96b4ecf717637ac975007d1d0c0a2a34747f778e62ae89e43928aa66f484
Datum: d8799f581ce13d3f2fcaa683629dfc11587b2845b0f42bf527765a0f9935339c1aff
(pycardano_opshin) mkitchin@Matthews-MacBook-Pro offchain % python hello-world-unlock.py fafa96b4ecf717637ac975007d1d0c0a2a34747f778e62ae89e43928aa66f484
2025-01-27 16:22:55,346 - PyCardano - WARNING - Class: <class 'pycardano.txbuilder.TransactionBuilder'>, method: <function TransactionBuilder.build at 0x112829ee0>, state:
{
'_certificate_script_to_redeemers': [],
'_collateral_return': {
'address': addr_test1vrsn60e0e2ngxc5alsg4s7eggkc0g2l4yam95ruex5eecxs9ggkwn,
'amount': {'coin': 9882509581, 'multi_asset': {}},
'datum': None,
'datum_hash': None,
'post_alonzo': False,
'script': None,
},
'_datums': {},
'_excluded_inputs': [],
'_input_addresses': [
addr_test1vrsn60e0e2ngxc5alsg4s7eggkc0g2l4yam95ruex5eecxs9ggkwn,
],
'_inputs': [
{'input': {
'index': 0,
'transaction_id': TransactionId(hex='fafa96b4ecf717637ac975007d1d0c0a2a34747f778e62ae89e43928aa66f484'),
},
'output': {
'address': addr_test1wqcwfshs38z28yllmcegw8lle6gsa23c9ck8fm2y279r8fcrvsmcs,
'amount': {'coin': 2000000, 'multi_asset': {}},
'datum': RawCBOR(cbor=b"\xd8y\x9fX\x1c\xe1=?/\xca\xa6\x83b\x9d\xfc\x11X{(E\xb0\xf4+\xf5'vZ\x0f\x9953\x9c\x1a\xff"),
'datum_hash': None,
'post_alonzo': False,
'script': None,
}},
{'input': {
'index': 1,
'transaction_id': TransactionId(hex='fafa96b4ecf717637ac975007d1d0c0a2a34747f778e62ae89e43928aa66f484'),
},
'output': {
'address': addr_test1vrsn60e0e2ngxc5alsg4s7eggkc0g2l4yam95ruex5eecxs9ggkwn,
'amount': {'coin': 9886117199, 'multi_asset': {}},
'datum': None,
'datum_hash': None,
'post_alonzo': False,
'script': None,
}},
],
'_inputs_to_redeemers': {
{'input': {
'index': 0,
'transaction_id': TransactionId(hex='fafa96b4ecf717637ac975007d1d0c0a2a34747f778e62ae89e43928aa66f484'),
},
'output': {
'address': addr_test1wqcwfshs38z28yllmcegw8lle6gsa23c9ck8fm2y279r8fcrvsmcs,
'amount': {'coin': 2000000, 'multi_asset': {}},
'datum': RawCBOR(cbor=b"\xd8y\x9fX\x1c\xe1=?/\xca\xa6\x83b\x9d\xfc\x11X{(E\xb0\xf4+\xf5'vZ\x0f\x9953\x9c\x1a\xff"),
'datum_hash': None,
'post_alonzo': False,
'script': None,
}}: {
'data': HelloWorldRedeemer(msg=b'Hello, World!'),
'ex_units': {'mem': 0, 'steps': 0},
'index': 0,
'tag': {
'objclass': <enum 'RedeemerTag'>,
'name': 'SPEND',
'sort_order': 0,
'value': 0,
},
},
},
'_inputs_to_scripts': {
{'input': {
'index': 0,
'transaction_id': TransactionId(hex='fafa96b4ecf717637ac975007d1d0c0a2a34747f778e62ae89e43928aa66f484'),
},
'output': {
'address': addr_test1wqcwfshs38z28yllmcegw8lle6gsa23c9ck8fm2y279r8fcrvsmcs,
'amount': {'coin': 2000000, 'multi_asset': {}},
'datum': RawCBOR(cbor=b"\xd8y\x9fX\x1c\xe1=?/\xca\xa6\x83b\x9d\xfc\x11X{(E\xb0\xf4+\xf5'vZ\x0f\x9953\x9c\x1a\xff"),
'datum_hash': None,
'post_alonzo': False,
'script': None,
}}: b'Y\x01\x06\x01\x01\x00222222%30\x0222222S3\x00s7\x0e\x90\x01\x18\x04\x1b\xaa\x00\x1123"S3\x00\xa37\x0e\x90\x00\x18\x05\x9b\xaa\x00Q22S3\x00\xf3\x01\x10\x02\x1530\x0c3p\xe9\x00\x01\x80i\xba\xa0\x03\x13%30\r3q\xe6\xeb\x8c\x04L\x03\xcd\xd5\x00BE\rHello, Aiken!\x00\x10\x01\x14\xa0fDdf\x00 \x02\x00dJf&\x00"\x94\x04\xcc\x89L\xcc\x04\x8c\xdcx\x01\x00(\xa5\x113\x00@\x04\x00\x13u\xc6\x02\x80\x02
\x00&\xeb\x0c\x04\x0c\x04L\x04L\x04L\x04L\x04L\x04L\x04L\x04L\x03\x8d\xd5\x00A\xba\xe3\x01\x03\x00\xe3uF\x02\x06\x01\xc6\xea\x80\x0cXX\xddq\x80x\x00\x98\x06\x1b\xaa\x00Qc\x00\xc0\x010\x0c0\r\x00\x13\x00\x93u@\x02,\x14
\x16\x00f\x01 \x04\x10\x00F\x01\x00\x02
\x08n\xa8\x00E&\x13eesJ\xaeuU\xcf\xb9\xf5t*\xe8\x81',
},
'_minting_script_to_redeemers': [],
'_outputs': [
{
'address': addr_test1vrsn60e0e2ngxc5alsg4s7eggkc0g2l4yam95ruex5eecxs9ggkwn,
'amount': {'coin': 2000000, 'multi_asset': {}},
'datum': None,
'datum_hash': None,
'post_alonzo': False,
'script': None,
},
],
'_potential_inputs': [],
'_reference_scripts': [],
'_should_estimate_execution_units': False,
'_total_collateral': 3607618,
'_withdrawal_script_to_redeemers': [],
'auxiliary_data': None,
'certificates': None,
'collateral_return_threshold': 1000000,
'collaterals': [
{'input': {
'index': 1,
'transaction_id': TransactionId(hex='fafa96b4ecf717637ac975007d1d0c0a2a34747f778e62ae89e43928aa66f484'),
},
'output': {
'address': addr_test1vrsn60e0e2ngxc5alsg4s7eggkc0g2l4yam95ruex5eecxs9ggkwn,
'amount': {'coin': 9886117199, 'multi_asset': {}},
'datum': None,
'datum_hash': None,
'post_alonzo': False,
'script': None,
}},
],
'context': <pycardano.backend.blockfrost.BlockFrostChainContext object at 0x10527d090>,
'execution_memory_buffer': 0.2,
'execution_step_buffer': 0.2,
'fee_buffer': None,
'initial_stake_pool_registration': False,
'mint': None,
'native_scripts': None,
'reference_inputs': set(),
'required_signers': [
VerificationKeyHash(hex='e13d3f2fcaa683629dfc11587b2845b0f42bf527765a0f9935339c1a'),
],
'ttl': 71309343,
'use_redeemer_map': True,
'utxo_selectors': [
<pycardano.coinselection.RandomImproveMultiAsset object at 0x1128259d0>,
<pycardano.coinselection.LargestFirstSelector object at 0x112826310>,
],
'validity_start': 71298343,
'withdrawals': None,
'witness_override': None,
}
Traceback (most recent call last):
File "/Users/mkitchin/Code/Tutorials/pycardano/src/offchain/hello-world-unlock.py", line 106, in
tx_hash = unlock(
^^^^^^^
File "/Users/mkitchin/Code/Tutorials/pycardano/src/offchain/hello-world-unlock.py", line 66, in unlock
signed_tx = builder.build_and_sign(
^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mkitchin/.pyenv/versions/3.11.11/envs/pycardano_opshin/lib/python3.11/site-packages/pycardano/txbuilder.py", line 1563, in build_and_sign
tx_body = self.build(
^^^^^^^^^^^
File "/Users/mkitchin/.pyenv/versions/3.11.11/envs/pycardano_opshin/lib/python3.11/site-packages/pycardano/logging.py", line 37, in wrapper
raise e
File "/Users/mkitchin/.pyenv/versions/3.11.11/envs/pycardano_opshin/lib/python3.11/site-packages/pycardano/logging.py", line 28, in wrapper
output = func(obj, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mkitchin/.pyenv/versions/3.11.11/envs/pycardano_opshin/lib/python3.11/site-packages/pycardano/txbuilder.py", line 1333, in build
self._update_execution_units(
File "/Users/mkitchin/.pyenv/versions/3.11.11/envs/pycardano_opshin/lib/python3.11/site-packages/pycardano/txbuilder.py", line 1470, in _update_execution_units
estimated_execution_units = self._estimate_execution_units(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mkitchin/.pyenv/versions/3.11.11/envs/pycardano_opshin/lib/python3.11/site-packages/pycardano/txbuilder.py", line 1516, in _estimate_execution_units
return self.context.evaluate_tx(tx)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mkitchin/.pyenv/versions/3.11.11/envs/pycardano_opshin/lib/python3.11/site-packages/pycardano/backend/base.py", line 209, in evaluate_tx
return self.evaluate_tx_cbor(tx.to_cbor())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mkitchin/.pyenv/versions/3.11.11/envs/pycardano_opshin/lib/python3.11/site-packages/pycardano/backend/blockfrost.py", line 302, in evaluate_tx_cbor
raise TransactionFailedException(result)
pycardano.exception.TransactionFailedException: Namespace(EvaluationFailure=Namespace(ScriptFailures=Namespace()))