Python-Cardano / pycardano

A lightweight Cardano library in Python
https://pycardano.readthedocs.io
MIT License
215 stars 67 forks source link

Blockfrost ApiError 5 ADA redeeming transaction fortytwo.py example #81

Closed zlac116 closed 2 years ago

zlac116 commented 2 years ago

Describe the bug Sending 10ADA to the fortytwo plutus script on TESTNET works fine. However, when I attempt to redeem 5ADA from the plutus script I get a blockfrost ApiError.

To Reproduce fortytwo_test.py script under Additional context

Logs Traceback (most recent call last): File "fortytwo_test.py", line 120, in submit_tx(signed_tx) File "fortytwo_test.py", line 42, in submit_tx chain_context.submit_tx(tx.to_cbor()) File "/home/zlac116/anaconda3/envs/cardanopy/lib/python3.8/site-packages/pycardano/backend/blockfrost.py", line 205, in submit_tx self.api.transaction_submit(f.name) File "/home/zlac116/anaconda3/envs/cardanopy/lib/python3.8/site-packages/blockfrost/utils.py", line 63, in error_wrapper raise ApiError(request_response) blockfrost.utils.ApiError: {'error': 'Bad Request', 'message': '"transaction submit error ShelleyTxValidationError ShelleyBasedEraBabbage (ApplyTxError [UtxowFailure (FromAlonzoUtxowFail (PPViewHashesDontMatch (SJust (SafeHash \"0067cdab1a1ae15069bf96bd33cbc059ec3a8677ab198b56081e6716016b0410\")) (SJust (SafeHash \"2b25c2e22a3a08ca6d9fa0bcf299dff8ab2d5cbe06d5c2c5e255af46bb16cafd\"))))])"', 'status_code': 400}

Expected behavior 5ADA is sent to the taker address

Environment and software version (please complete the following information):

Additional context python script: fortytwo_test.py

'''
Off-chain code of taker and giver in fortytwo

'''
import os
import cbor2
from retry import retry
from dotenv import load_dotenv

import pycardano as pc

load_dotenv()

NETWORK = pc.Network.TESTNET

def get_env_val(key):
    val = os.getenv(key)
    if not val:
        raise Exception(f"Environment variable {key} is not set!")
    return val

payment_skey = pc.PaymentSigningKey.load(get_env_val("PAYMENT_KEY_PATH"))
payment_vkey = pc.PaymentVerificationKey.from_signing_key(payment_skey)

stake_skey = pc.StakeSigningKey.load(get_env_val('STAKE_KEY_PATH'))
stake_vkey = pc.StakeVerificationKey.from_signing_key(stake_skey)

chain_context = pc.BlockFrostChainContext(
    project_id=get_env_val("BLOCKFROST_ID"), network=NETWORK
)

@retry(delay=20)
def wait_for_tx(tx_id):
    chain_context.api.transaction(tx_id)
    print(f"Transaction {tx_id} has been successfully included in the blockchain.")

def submit_tx(tx):
    print("############### Transaction created ###############")
    print(tx)
    print(tx.to_cbor())
    print("############### Submitting transaction ###############")
    chain_context.submit_tx(tx.to_cbor())
    wait_for_tx(str(tx.id))

def utxos(address):
    amount = sum([i.output.amount.coin for i in chain_context.utxos(str(address)) if not i.output.amount.multi_asset is None]) / 1e6
    print(f'UTXO value: {amount} ADA')

def find_collateral(target_address):
    for utxo in chain_context.utxos(str(target_address)):
        # A collateral should contain no multi asset
        if not utxo.output.amount.multi_asset:
            return utxo
    return None

def create_collateral(target_address, skey):
    collateral_builder = pc.TransactionBuilder(chain_context)

    collateral_builder.add_input_address(target_address)
    collateral_builder.add_output(pc.TransactionOutput(target_address, 5000000))

    submit_tx(collateral_builder.build_and_sign([skey], target_address))

# ----------- Giver sends 10 ADA to a script address ---------------
with open("fortytwo.plutus", "r") as f:
    script_hex = f.read()
    forty_two_script = cbor2.loads(bytes.fromhex(script_hex))

script_hash = pc.plutus_script_hash(forty_two_script)

script_address = pc.Address(script_hash, network=NETWORK)

giver_address = pc.Address(payment_vkey.hash(), stake_vkey.hash(), network=NETWORK)

builder = pc.TransactionBuilder(chain_context)
builder.add_input_address(giver_address)
datum = pc.PlutusData()  # A Unit type "()" in Haskell
builder.add_output(
    pc.TransactionOutput(script_address, 10000000, datum_hash=pc.datum_hash(datum))
)

utxos(giver_address)

signed_tx = builder.build_and_sign([payment_skey], giver_address)

submit_tx(signed_tx)

# ----------- Taker takes 10 ADA from the script address ---------------

# taker_address could be any address. In this example, we will use the same address as giver.
taker_address = giver_address

# Notice that transaction builder will automatically estimate execution units (num steps & memory) for a redeemer if
# no execution units are provided in the constructor of Redeemer.
# Put integer 42 (the secret that unlocks the fund) in the redeemer.
redeemer = pc.Redeemer(pc.RedeemerTag.SPEND, 42)

utxo_to_spend = chain_context.utxos(str(script_address))[1]

builder = pc.TransactionBuilder(chain_context)
builder.add_script_input(utxo_to_spend, forty_two_script, datum, redeemer)

# Send 5 ADA to taker address. The remaining ADA (~4.7) will be sent as change.
take_output = pc.TransactionOutput(taker_address, 5000000)
builder.add_output(take_output)

non_nft_utxo = find_collateral(taker_address)

if non_nft_utxo is None:
    create_collateral(taker_address, payment_skey)
    non_nft_utxo = find_collateral(taker_address)

builder.collaterals.append(non_nft_utxo)

signed_tx = builder.build_and_sign([payment_skey], taker_address)

submit_tx(signed_tx)
utxos(giver_address)
cffls commented 2 years ago

Hi @zlac116 , there is recently some issues with Cardano test. Could you try the same code with preview network? Basically, add a preview network url to this line:

chain_context = pc.BlockFrostChainContext(
    project_id=get_env_val("BLOCKFROST_ID"), network=NETWORK, "https://cardano-preview.blockfrost.io/api"
)
zlac116 commented 2 years ago

Hi @cffls, thanks for the quick response. Choosing to use a preview network, would that mean that I need to generate new verification keys, since my current keys are for the testnet? Also, after adding the following line and switching my blockfrost api token to a preview network token I received this error.

Added line chain_context = pc.BlockFrostChainContext(project_id=get_env_val("BLOCKFROST_ID"), network=NETWORK, base_url="https://cardano-preview.blockfrost.io/api")

Error

Traceback (most recent call last):
  File "fortytwo.py", line 103, in <module>
    utxos(giver_address)
  File "fortytwo.py", line 67, in utxos
    amount = sum([i.output.amount.coin for i in chain_context.utxos(str(address)) if not i.output.amount.multi_asset is None]) / 1e6
  File "/home/zlac116/anaconda3/envs/cardanopy/lib/python3.8/site-packages/pycardano/backend/blockfrost.py", line 144, in utxos
    results = self.api.address_utxos(address, gather_pages=True)
  File "/home/zlac116/anaconda3/envs/cardanopy/lib/python3.8/site-packages/blockfrost/utils.py", line 100, in pagination
    recursive_append(json_list, *args, **kwargs)
  File "/home/zlac116/anaconda3/envs/cardanopy/lib/python3.8/site-packages/blockfrost/utils.py", line 83, in recursive_append
    raise ApiError(request_response)
blockfrost.utils.ApiError: {'status_code': 404, 'error': 'Not Found', 'message': 'The requested component has not been found.'}

Thank you

cffls commented 2 years ago

When switching to preview network, you can still use the same test address and keys. The reason why you saw 404 (component not found error) was that there wasn't any ADA in your test address, so you will need to fund your address with some test ADA. The faucet of preview and preprod are here:

Preview: https://faucet.preview.world.dev.cardano.org/basic-faucet

Preprod: https://faucet.preprod.world.dev.cardano.org/basic-faucet

Reference: https://forum.cardano.org/t/setup-a-stake-pool-on-pre-production-or-preview-testnets-with-cntools/106170

zlac116 commented 2 years ago

Thanks for sending the preview network faucet links. That solved the 404 error. However, I stills seem to experience the original 400 error, similar to the 400 error on testnet, for the taker transaction. Any ideas? Thanks again!

Error *** blockfrost.utils.ApiError: {'error': 'Bad Request', 'message': '"transaction submit error ShelleyTxValidationError ShelleyBasedEraBabbage (ApplyTxError [UtxowFailure (FromAlonzoUtxowFail (PPViewHashesDontMatch (SJust (SafeHash \\"0067cdab1a1ae15069bf96bd33cbc059ec3a8677ab198b56081e6716016b0410\\")) (SJust (SafeHash \\"2b25c2e22a3a08ca6d9fa0bcf299dff8ab2d5cbe06d5c2c5e255af46bb16cafd\\"))))])"', 'status_code': 400}

cffls commented 2 years ago

Thanks @zlac116 for the response. I realized that this may be a bug introduced in v0.6.0.

Could you try changing this line in your script

builder.add_script_input(utxo_to_spend, forty_two_script, datum, redeemer)

to this and let me know if it works?

from pycardano import PlutusV1Script

builder.add_script_input(utxo_to_spend, PlutusV1Script(forty_two_script), datum, redeemer)

The error was that the plutus data hash was calculated incorrectly, and it seems like in v0.6.0, we need to explicitly specify the type of script to PlutusV1 so the data hash could be correctly calculated.

zlac116 commented 2 years ago

Thanks @cffls. As suggested, I replaced the input UTXO build with the following:

from pycardano import PlutusV1Script

# builder.add_script_input(utxo_to_spend, forty_two_script, datum, redeemer)

builder.add_script_input(utxo_to_spend, PlutusV1Script(forty_two_script), datum, redeemer)

However, I still seem to get the same 400 error. Does this mean that the data hash is still being calculated incorrectly?

Error

blockfrost.utils.ApiError: {'error': 'Bad Request', 'message': '"transaction submit error ShelleyTxValidationError ShelleyBasedEraBabbage (ApplyTxError [UtxowFailure (FromAlonzoUtxowFail (PPViewHashesDontMatch (SJust (SafeHash \\"0067cdab1a1ae15069bf96bd33cbc059ec3a8677ab198b56081e6716016b0410\\")) (SJust (SafeHash \\"2b25c2e22a3a08ca6d9fa0bcf299dff8ab2d5cbe06d5c2c5e255af46bb16cafd\\"))))])"', 'status_code': 400}

cffls commented 2 years ago

Interesting, the error is still the same. I will probably need some time to replicate this problem and find what the problem is. Meanwhile, could you also try comparing your code with this one in the integration test and see if there is any big difference? This example is guaranteed to work in a local testnet.

zlac116 commented 2 years ago

Thanks @cffls. A quick compare shows that the functionality is the same between the scripts, with a slightly different structure and some additional funcs in mine, i.e. print utxos value func.

'''
Off-chain code of taker and giver in fortytwo

'''
import os
import cbor2
from retry import retry
from dotenv import load_dotenv

import pycardano as pc

load_dotenv()

NETWORK = pc.Network.TESTNET

def get_env_val(key):
    val = os.getenv(key)
    if not val:
        raise Exception(f"Environment variable {key} is not set!")
    return val

payment_skey = pc.PaymentSigningKey.load(get_env_val("PAYMENT_KEY_PATH"))
payment_vkey = pc.PaymentVerificationKey.from_signing_key(payment_skey)

stake_skey = pc.StakeSigningKey.load(get_env_val('STAKE_KEY_PATH'))
stake_vkey = pc.StakeVerificationKey.from_signing_key(stake_skey)

# chain_context = pc.BlockFrostChainContext(
#     project_id=get_env_val("BLOCKFROST_ID"), network=NETWORK
# )

chain_context = pc.BlockFrostChainContext(
    project_id=get_env_val("BLOCKFROST_ID"), 
    network=NETWORK,
    base_url="https://cardano-preview.blockfrost.io/api"
)

@retry(delay=20)
def wait_for_tx(tx_id):
    chain_context.api.transaction(tx_id)
    print(f"Transaction {tx_id} has been successfully included in the blockchain.")

def submit_tx(tx):
    print("############### Transaction created ###############")
    print(tx)
    print(tx.to_cbor())
    print("############### Submitting transaction ###############")
    chain_context.submit_tx(tx.to_cbor())
    wait_for_tx(str(tx.id))

def utxos(address):
    amount = sum([i.output.amount.coin for i in chain_context.utxos(str(address)) if not i.output.amount.multi_asset is None]) / 1e6
    print(f'UTXO value: {amount} ADA')

def find_collateral(target_address):
    for utxo in chain_context.utxos(str(target_address)):
        # A collateral should contain no multi asset
        if not utxo.output.amount.multi_asset:
            return utxo
    return None

def create_collateral(target_address, skey):
    collateral_builder = pc.TransactionBuilder(chain_context)

    collateral_builder.add_input_address(target_address)
    collateral_builder.add_output(pc.TransactionOutput(target_address, 5000000))

    submit_tx(collateral_builder.build_and_sign([skey], target_address))

# ----------- Giver sends 10 ADA to a script address ---------------
with open("fortytwo.plutus", "r") as f:
    script_hex = f.read()
    forty_two_script = cbor2.loads(bytes.fromhex(script_hex))

script_hash = pc.plutus_script_hash(forty_two_script)

script_address = pc.Address(script_hash, network=NETWORK)

giver_address = pc.Address(payment_vkey.hash(), stake_vkey.hash(), network=NETWORK)

builder = pc.TransactionBuilder(chain_context)
builder.add_input_address(giver_address)
datum = pc.PlutusData()  # A Unit type "()" in Haskell
builder.add_output(
    pc.TransactionOutput(script_address, 10000000, datum_hash=pc.datum_hash(datum))
)

utxos(giver_address) # print starting UTXO values

signed_tx = builder.build_and_sign([payment_skey], giver_address)

submit_tx(signed_tx)

# ----------- Taker takes 10 ADA from the script address ---------------

# taker_address could be any address. In this example, we will use the same address as giver.
taker_address = giver_address

# Notice that transaction builder will automatically estimate execution units (num steps & memory) for a redeemer if
# no execution units are provided in the constructor of Redeemer.
# Put integer 42 (the secret that unlocks the fund) in the redeemer.
redeemer = pc.Redeemer(pc.RedeemerTag.SPEND, 42)

# utxo_to_spend = chain_context.utxos(str(script_address))[1]
utxo_to_spend = chain_context.utxos(str(script_address))[0]

builder = pc.TransactionBuilder(chain_context)

from pycardano import PlutusV1Script

# builder.add_script_input(utxo_to_spend, forty_two_script, datum, redeemer)

builder.add_script_input(utxo_to_spend, PlutusV1Script(forty_two_script), datum, redeemer)

# Send 5 ADA to taker address. The remaining ADA (~4.7) will be sent as change.
take_output = pc.TransactionOutput(taker_address, 5000000)
builder.add_output(take_output)

non_nft_utxo = find_collateral(taker_address)

if non_nft_utxo is None:
    create_collateral(taker_address, payment_skey)
    non_nft_utxo = find_collateral(taker_address)

builder.collaterals.append(non_nft_utxo)

signed_tx = builder.build_and_sign([payment_skey], taker_address)

submit_tx(signed_tx)

utxos(giver_address) # print final UTXO value
cffls commented 2 years ago

Hi @zlac116 , I just found the problem and pushed a fix commit. The problem was that the cost model after Vasil fork will change even for Plutus V1, so the old cost model in the code won't work. The change was to dynamically get cost model when calculating the script data hash. I've tested the solution with fortytwo example in both Ogmios and Blockfrost. Please try the latest code in main branch and let me know if the issue is resolved. Thank you!

zlac116 commented 2 years ago

Hi @cffls, thanks again for your help on this. I have cloned and checked out the commit fix, as suggested and used the forty_two.py file from the repo. A couple of issues that I experienced:

  1. I was unable to find any UTXOs at the giver address, derived from the payment_vkey (giver_address = Address(payment_vkey.hash(), network=NETWORK)) so I derived the giver_address from the payment_vkey and stake_vkey combo: giver_address = Address(payment_vkey.hash(), stake_vkey.hash(), network=NETWORK), which resolved the issue.
  2. The taker transaction appeared to still fail with a 400 memory related error below:

blockfrost.utils.ApiError: {'error': 'Bad Request', 'message': '"transaction submit error ShelleyTxValidationError ShelleyBasedEraBabbage (ApplyTxError [UtxowFailure (UtxoFailure (FromAlonzoUtxoFail (UtxosFailure (ValidationTagMismatch (IsValid True) (FailedUnexpectedly (PlutusFailure \\"\\\\nThe 3 arg plutus script (PlutusScript PlutusV1 ScriptHash \\\\\\"3a4c0ff50c9e8a6026e55ef5ec83cb009bc9863a347d9b56f92eafc6\\\\\\") fails.\\\\nCekError An error has occurred: User error:\\\\nThe machine terminated part way through evaluation due to overspending the budget.\\\\nThe budget when the machine terminated was:\\\\n({ cpu: -182167\\\\n| mem: 2296\\\\n})\\\\nNegative numbers indicate the overspent budget; note that this only indicatessthe budget that was needed for the next step, not to run the program to completion.\\\\nThe protocol version is: ProtVer {pvMajor = 7, pvMinor = 0}\\\\nThe data ', 'status_code': 400}

cffls commented 2 years ago

Thanks for testing the new commit. I tried running the example script again, and it worked. Pasted my script output below. Could you paste your log output as well and see if we can identify any major differences?

############### Transaction created ###############
{
  'auxiliary_data': None,
  'transaction_body': {
    'auxiliary_data_hash': None,
    'certificates': None,
    'collateral': None,
    'collateral_return': None,
    'fee': 167085,
    'inputs': [
      {
        'index': 1,
        'transaction_id': TransactionId(hex='7e512aa502e5bb6c2dd63fc7dea1c87326a9a434b24b6d3c60312076da22b684'),
      },
    ],
    'mint': None,
    'network_id': None,
    'outputs': [
      {
        'address': addr_test1wqaycrl4pj0g5cpxu400tmyrevqfhjvx8g68mx6klyh2l3s6rqnmw,
        'amount': {'coin': 10000000, 'multi_asset': {}},
        'datum': None,
        'datum_hash': DatumHash(hex='923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec'),
        'script': None,
      },
      {
        'address': addr_test1vrg8axv57lclxv7fwch7jyllz0xyjh32af3377grgegsn9gg67sky,
        'amount': {'coin': 9953100610, 'multi_asset': {}},
        'datum': None,
        'datum_hash': None,
        'script': None,
      },
    ],
    'reference_inputs': None,
    'required_signers': None,
    'script_data_hash': None,
    'total_collateral': None,
    'ttl': None,
    'update': None,
    'validity_start': None,
    'withdraws': None,
  },
  'transaction_witness_set': {
    'bootstrap_witness': None,
    'native_scripts': None,
    'plutus_data': None,
    'plutus_v1_script': None,
    'plutus_v2_script': None,
    'redeemer': None,
    'vkey_witnesses': [
      {
        'signature': b'\r\x12fq\x1a\x02u0@\xae\xce\xd6\xd9^e;\xb3\x17\x83\xb6i\xd4\x0c\xe9\xf4\x91\rg\x91t\xe9\x0f\xf5q`\xfc3\xbd\x01\x0f\xf9\x9f\x9aB\xd7C\xc1\xf8\xee`Jl\x0c\xcc"\xd5n\xc6}|\xa3\x1dO\x02',
        'vkey': {"type": "PaymentVerificationKeyShelley_ed25519", "description": "PaymentVerificationKeyShelley_ed25519", "cborHex": "5820475dea93f77ff5a402a8744d541aad3acfb72b210818ece8e541fb8b16d9704f"},
      },
    ],
  },
  'valid': True,
}
84a300818258207e512aa502e5bb6c2dd63fc7dea1c87326a9a434b24b6d3c60312076da22b68401018283581d703a4c0ff50c9e8a6026e55ef5ec83cb009bc9863a347d9b56f92eafc61a009896805820923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec82581d60d07e9994f7f1f333c9762fe913ff13cc495e2aea631f7903465109951b0000000251404342021a00028cada10081825820475dea93f77ff5a402a8744d541aad3acfb72b210818ece8e541fb8b16d9704f58400d1266711a02753040aeced6d95e653bb31783b669d40ce9f4910d679174e90ff57160fc33bd010ff99f9a42d743c1f8ee604a6c0ccc22d56ec67d7ca31d4f02f5f6
############### Submitting transaction ###############
Transaction 078353d7f5801e2ad66b4c547279ab8ac1b5a04c6a221c0ff75772f7ff07586c has been successfully included in the blockchain.
############### Transaction created ###############
{
  'auxiliary_data': None,
  'transaction_body': {
    'auxiliary_data_hash': None,
    'certificates': None,
    'collateral': [
      {
        'index': 0,
        'transaction_id': TransactionId(hex='2fc4ddd26f3a704db6d9f0adea549b51ffbf54fb6441bed79a930adc6d039582'),
      },
    ],
    'collateral_return': None,
    'fee': 299772,
    'inputs': [
      {
        'index': 0,
        'transaction_id': TransactionId(hex='7d1589d6d054a3c56f4f38089304172d6b911fc77bf5af8cc12f8ae3942b35b8'),
      },
    ],
    'mint': None,
    'network_id': None,
    'outputs': [
      {
        'address': addr_test1vrg8axv57lclxv7fwch7jyllz0xyjh32af3377grgegsn9gg67sky,
        'amount': {'coin': 5000000, 'multi_asset': {}},
        'datum': None,
        'datum_hash': None,
        'script': None,
      },
      {
        'address': addr_test1vrg8axv57lclxv7fwch7jyllz0xyjh32af3377grgegsn9gg67sky,
        'amount': {'coin': 4700228, 'multi_asset': {}},
        'datum': None,
        'datum_hash': None,
        'script': None,
      },
    ],
    'reference_inputs': None,
    'required_signers': None,
    'script_data_hash': ScriptDataHash(hex='5fe820ee02cefffc963fd920a9dc1008e556c966af93ef603857877b2cf3e63e'),
    'total_collateral': None,
    'ttl': None,
    'update': None,
    'validity_start': None,
    'withdraws': None,
  },
  'transaction_witness_set': {
    'bootstrap_witness': None,
    'native_scripts': None,
    'plutus_data': [{}],
    'plutus_v1_script': [
      b'Y\x08!\x01\x00\x003##2#2###3"##3"##3332"""##3"##32"###2##3"##3"###2#2###33""#2#2#2#2#2#2""##%3S\x03\x133\x00c35sFn\x1c\xd5\\\xe9\xba\xa0\x05H\x00\x08\x12H\xc9\x8dL\x12\x0c\xd5\xce\x02`$\x828#\x1b\xad\x00C35sFn\x1c\xd5\\\xea\x80\x12@\x00F`\x12dddddddddddff\xaeh\xcd\xc3\x9a\xab\x9dP\nH\x00\x08\xcc\xcc\xcc\xcc\xcc\x05\xcc\xd4\tH\xc8\xc8\xcc\xcd\\\xd1\x9b\x875W:\xa0\x04\x90\x00\x11\x98\x0e\x98\x1c\x1a\xba\x15\x00#\x02\xa3WBj\xe8\x94\x00\x88\xc9\x8dL\x16\x0c\xd5\xce\x02\xe0,\x82\xb8+\t\xaa\xb9\xe5\x00\x117T\x00&\xae\x85@(\xcd@\x94\t\x8d]\n\x80I\x99\xaa\x81c\xaeP+5t*\x01\x06f\xaa\x05\x8e\xb9@\xac\xd5\xd0\xa8\x03\x99\xa8\x12\x82\t\xab\xa1P\x063P%3U\x05 Ju\xa6\xae\x85@\x14\xc8\xc8\xc8\xcc\xcd\\\xd1\x9b\x875W:\xa0\x04\x90\x00\x11\x9a\x80\xf9\x91\x91\x91\x99\x9a\xb9\xa37\x0ej\xaeu@\t \x00#5\x02s5\x04\x07Zj\xe8T\x00\x8c\x11M]\t\xab\xa2P\x02#&50\\3W8\x0c\x00\xba\x0b`\xb4&\xaa\xe7\x94\x00D\xddP\x00\x9a\xba\x15\x00####35sFn\x1c\xd5\\\xea\x80\x12@\x00Fj\x04\xa6j\x08\x0e\xb4\xd5\xd0\xa8\x01\x18"\x9a\xba\x13WD\xa0\x04FLj`\xb8f\xaep\x18\x01t\x16\xc1hMU\xcf(\x00\x89\xba\xa0\x015t&\xae\x89@\x08\x8c\x98\xd4\xc1`\xcd\\\xe0.\x02\xc8+\x82\xb0\x9a\xab\x9eP\x01\x13u@\x02j\xe8T\x01\x0c\xd4\t]q\xab\xa1P\x033P%3U\x05\'\\@\x02j\xe8T\x00\x8c\r\xcd]\t\xab\xa2P\x02#&50T3W8\x0b\x00\xaa\n`\xa4&\xae\x89@\x04M]\x12\x80\x08\x9a\xba%\x00\x115tJ\x00"j\xe8\x94\x00D\xd5\xd1(\x00\x89\xab\xa2P\x01\x13WD\xa0\x02&\xaa\xe7\x94\x00D\xddP\x00\x9a\xba\x15\x00####35sFn\x1d@\x05 \x06#\x01\xc3\x03\x93WBj\xaey@\x0c\x8c\xcc\xd5\xcd\x19\xb8u\x00$\x80\x10\x8c\x06\xcc\x10\xcd]\t\xaa\xb9\xe5\x00B33W4f\xe1\xd4\x00\xd2\x00"0\x1b0.5t&\xaa\xe7\x94\x01H\xcc\xcd\\\xd1\x9b\x87P\x04H\x00\x08\xc0x\xddq\xab\xa15W<\xa0\x0cFLj`\x9ef\xaep\x14\xc1@\x13\x814\x13\x01,\x12\x84\xd5\\\xea\x80\x08\x9b\xaa\x00\x13WBj\xe8\x94\x00\x88\xc9\x8dL\x12\x0c\xd5\xce\x02`$\x828#\x08$\t\x93\x1a\x98#\x99\xab\x9cI\x01\x03PT5\x00\x04\x80F\x13Us\xca\x00"n\xa8\x00H\x84\x8c\xc0\x04\x00\xc0\x08\x80\x04\x88\x88\x88\x88\x88H\xcc\xcc\xcc\xcc\xcc\x00@,\x02\x80$\x02\x00\x1c\x01\x80\x14\x01\x00\x0c\x00\x88\x00H\x84\x8c\xc0\x04\x00\xc0\x08\x80\x04H\x84\x8c\xc0\x04\x00\xc0\x08H\x00D\x88H\xcc\x00@\x0c\x00\x84\x80\x04H\x84\x8c\xc0\x04\x00\xc0\x08H\x00HH\x88\x8c\x01\x00\x14\x84\x88\x88\xc0\x0c\x01HH\x88\x8c\x00\x80\x14\x84\x88\x88\xc0\x04\x01H\x00D\x8c\x88\xc0\x08\xdd`\x00\x99\x00\t\xaa\x81\xa9\x11\x99\x9a\xab\x9f\x00\x12P\x0e#5\x00\xd3\x00CWB\x00F\x00f\xae\x88\x00\x80\xcc\x8c\x8c\x8c\x8c\xcc\xd5\xcd\x19\xb8sUs\xaa\x00i\x00\x01\x19\x98\x03\x99\x19\x19\x19\x99\xab\x9a3p\xe6\xaa\xe7T\x00\x92\x00\x023\x00\xd3\x03\x13WB\xa0\x04f\xa0&\x05\xa6\xae\x84\xd5\xd1(\x01\x11\x93\x1a\x98\x1b\x99\xab\x9c\x03\xb08\x03`5\x13Us\xca\x00"n\xa8\x00M]\n\x80\x19\x99\xaa\x80[\xaeP\n5t*\x00Fj\x01\xee\xb8\xd5\xd0\x9a\xba%\x00"2cS\x0335s\x80n\x06\x80d\x06"j\xe8\x94\x00D\xd5\\\xf2\x80\x08\x9b\xaa\x00\x12"\x1230\x01\x00@\x03\x00"\x00\x12!#0\x01\x000\x02 \x01\x135P\x01u\xce\xb4D\x88\xc8\x8c\x00\x8d\xd5\x80\t\x90\x00\x9a\xa8\x17\x91\x19\x19\x99\xaa\xb9\xf0\x02%\x00\x923P\x083U\x03\x13\x00cUs\xaa\x00F\x00\xa6\xaa\xe7\x94\x00\x8c\x01\r]\x10\x01\x81p\x9a\xba\x10\x01\x11"\x00!"\x12#0\x01\x00@\x03\x12\x00\x11"2233W4f\xe1\xd4\x00R\x00\x025\x00\x83\x00SWBj\xaey@\x0c\x8c\xcc\xd5\xcd\x19\xb8u\x00$\x80\x08\x94\x02\x08\xc9\x8dL\n\x8c\xd5\xce\x01p\x15\x81H\x14\x018\x9a\xab\x9dP\x01\x13u@\x02$$F\x00@\x06"D\x00"@\x02FFFfj\xe6\x8c\xdc9\xaa\xb9\xd5\x00$\x80\x00\x8c\xc0\x18\xc0\x1c\xd5\xd0\xa8\x01\x1b\xad5t&\xae\x89@\x08\x8c\x98\xd4\xc0\x90\xcd\\\xe0\x14\x01(\x11\x81\x10\x9a\xab\x9eP\x01\x13u@\x02D$f\x00 \x06\x00D\x00$dff\xaeh\xcd\xc3\x9a\xab\x9dP\x01H\x00\x08\xddq\xab\xa15W<\xa0\x04FLj`@f\xaep\t\x00\x84\x07\xc0xM\xd5\x00\x08\x91\x19\x19\x19\x99\xab\x9a3p\xea\x00)\x00!(\x03\x91\x99\x9a\xb9\xa37\x0e\xa0\x04\x90\x01\x11\xa8\x05\x18\x03\x1a\xba\x13Us\xca\x00\x84ff\xaeh\xcd\xc3\xa8\x01\xa4\x00\x04\xa0\x14FLj`Ff\xaep\t\xc0\x90\x08\x80\x84\x08\x00|MU\xce\xa8\x00\x89\xba\xa0\x01\x12\x12"0\x03\x00A\x12"\x00!\x12"\x00\x11 \x01##35sFn\x1d@\x05 \x02 \x06#35sFn\x1d@\t \x00 \x06#&50\x1b3W8\x03\xe08\x03@2\x03\x02j\xaet\xddP\x00\x89\x10\x01\t\x10\x00\x90\x00\x91\x91\x91\x91\x91\x91\x99\x9a\xb9\xa37\x0e\xa0\x02\x90\x06\x10\x05\x91\x99\x9a\xb9\xa37\x0e\xa0\x04\x90\x05\x10\x06\x91\x99\x9a\xb9\xa37\x0e\xa0\x06\x90\x04\x11\x98\x05\x9b\xae5t*\x00\xa6\xebM]\t\xab\xa2P\x05#35sFn\x1d@\x11 \x06#0\r7\\j\xe8T\x01\xcd\xd7\x1a\xba\x13WD\xa0\x0eFfj\xe6\x8c\xdc:\x80*@\x08F`$`(j\xe8T\x02M\xd7\x1a\xba\x13WD\xa0\x12Ffj\xe6\x8c\xdc:\x802@\x04F\x02\x86\x02\xa6\xae\x84\xd5\\\xf2\x80Y\x19\x99\xab\x9a3p\xea\x00\xe9\x00\x01\x18\t\x98\x0b\x1a\xba\x13Us\xca\x01\x84d\xc6\xa6\x04\x06j\xe7\x00\x90\x08@|\x07\x80t\x07\x00l\x06\x80d\x06\x04\xd5\\\xea\x80 \x9a\xab\x9eP\x03\x13Us\xca\x00Bj\xaey@\x04M\xd5\x00\t\t\x11\x11\x11\x18\x03\x80A\x10\x91\x11\x11\x11\x98\x03\x00H\x04\x10\x91\x11\x11\x11\x80(\x04\t\x11\x11\x11\x00 \x91\x11\x11\x10\x01\x91\t\x11\x11\x11\x19\x80\x10\x04\x80A\x10\x91\x11\x11\x11\x98\x00\x80H\x04\x10\x00\x91\x91\x91\x91\x91\x99\x9a\xb9\xa37\x0e\xa0\x02\x90\x01\x11\x99\x80A\xba\xd3WB\xa0\x08n\xb4\xd5\xd0\xa8\x01\x9b\xad5t&\xae\x89@\x0c\x8c\xcc\xd5\xcd\x19\xb8u\x00$\x80\x00\x8c\x02\x8c\x02\xcd]\t\xaa\xb9\xe5\x00b2cS\x01\x135s\x80*\x02@ \x01\xe0\x1c&\xaa\xe7T\x00\xc4\xd5\xd1(\x00\x89\xaa\xb9\xe5\x00\x117T\x00$$F\x00@\x06DBDf`\x02\x00\xa0\x08\x00d\x00$ddff\xaeh\xcd\xc3\xa8\x00\xa4\x00D`\x0cn\xb8\xd5\xd0\x9a\xab\x9eP\x03#35sFn\x1d@\t \x00#\x00\x83u\xc6\xae\x84\xd5\\\xf2\x80!\x191\xa9\x80Y\x9a\xb9\xc0\x0f\x00\xc0\n\x00\x90\x08\x13Us\xaa\x00"n\xa8\x00HH\x8c\x00\x80\x0c\x84\x88\xc0\x04\x00\xc8\x00DH\x88\xc8\xc8\xcc\xcd\\\xd1\x9b\x875W:\xa0\x04\x90\x00\x11\x9a\xa8\x05\x98\x03\x1a\xba\x15\x00#\x00SWBj\xe8\x94\x00\x88\xc9\x8dL\x02\x0c\xd5\xce\x00`\x04\x808\x03\t\xaa\xb9\xe5\x00\x117T\x00)0\x90\x00\x90\x00\x88\x91\t\x19\x80\x08\x01\x80\x10\x89\x00\nI\x03PT1\x00\x11##\x00\x10\x01"3\x003\x00 \x02\x00\x133"""S50\x0435sFn\x1c\x00\x92\x05@\x06\x00Q\x00a3W8\x92\x01\x0ewrong redeemer\x00\x00Q"\x00!"\x00\x12\x00\x11',
    ],
    'plutus_v2_script': None,
    'redeemer': [
      {
        'data': 42,
        'ex_units': {'mem': 479858, 'steps': 146082032},
        'index': 0,
        'tag': {'__objclass__': <enum 'RedeemerTag'>, '_name_': 'SPEND', '_value_': 0},
      },
    ],
    'vkey_witnesses': [
      {
        'signature': b'\x9b\xc5\x0c\x8b/\xa3\x8e\xf4c$>]\x99P\xd9\xc5\x9a2\xdbC\xb7\xaeD\xa8\xf7\xdfw\t.\x8f\xb0\xbf\x15@\xe0H\xc2FE\x90\xc0?\xfa\xfb\x11t\xfb\xa1\x05\xefM\x9dc\xd9D\xf3W\x9f-\xafZ\xe2\xed\x03',
        'vkey': {"type": "PaymentVerificationKeyShelley_ed25519", "description": "PaymentVerificationKeyShelley_ed25519", "cborHex": "5820475dea93f77ff5a402a8744d541aad3acfb72b210818ece8e541fb8b16d9704f"},
      },
    ],
  },
  'valid': True,
}
84a500818258207d1589d6d054a3c56f4f38089304172d6b911fc77bf5af8cc12f8ae3942b35b800018282581d60d07e9994f7f1f333c9762fe913ff13cc495e2aea631f7903465109951a004c4b4082581d60d07e9994f7f1f333c9762fe913ff13cc495e2aea631f7903465109951a0047b844021a000492fc0b58205fe820ee02cefffc963fd920a9dc1008e556c966af93ef603857877b2cf3e63e0d818258202fc4ddd26f3a704db6d9f0adea549b51ffbf54fb6441bed79a930adc6d03958200a40081825820475dea93f77ff5a402a8744d541aad3acfb72b210818ece8e541fb8b16d9704f58409bc50c8b2fa38ef463243e5d9950d9c59a32db43b7ae44a8f7df77092e8fb0bf1540e048c2464590c03ffafb1174fba105ef4d9d63d944f3579f2daf5ae2ed03038159082459082101000033232332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222223232533530313330063333573466e1cd55ce9baa0054800081248c98d4c120cd5ce0260248238231bad0043333573466e1cd55cea8012400046601264646464646464646464646666ae68cdc39aab9d500a480008cccccccccc05ccd40948c8c8cccd5cd19b8735573aa004900011980e981c1aba15002302a357426ae8940088c98d4c160cd5ce02e02c82b82b09aab9e5001137540026ae854028cd4094098d5d0a804999aa8163ae502b35742a010666aa058eb940acd5d0a80399a8128209aba15006335025335505204a75a6ae854014c8c8c8cccd5cd19b8735573aa0049000119a80f9919191999ab9a3370e6aae7540092000233502733504075a6ae854008c114d5d09aba25002232635305c3357380c00ba0b60b426aae7940044dd50009aba150023232323333573466e1cd55cea80124000466a04a66a080eb4d5d0a80118229aba135744a004464c6a60b866ae7018017416c1684d55cf280089baa001357426ae8940088c98d4c160cd5ce02e02c82b82b09aab9e5001137540026ae854010cd4095d71aba15003335025335505275c40026ae854008c0dcd5d09aba2500223263530543357380b00aa0a60a426ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135744a00226aae7940044dd50009aba150023232323333573466e1d400520062301c3039357426aae79400c8cccd5cd19b875002480108c06cc10cd5d09aab9e500423333573466e1d400d20022301b302e357426aae7940148cccd5cd19b875004480008c078dd71aba135573ca00c464c6a609e66ae7014c14013813413012c1284d55cea80089baa001357426ae8940088c98d4c120cd5ce026024823823082409931a982399ab9c49010350543500048046135573ca00226ea80048848cc00400c0088004888888888848cccccccccc00402c02802402001c01801401000c00880048848cc00400c008800448848cc00400c0084800448848cc00400c0084800448848cc00400c00848004848888c010014848888c00c014848888c008014848888c004014800448c88c008dd6000990009aa81a911999aab9f0012500e233500d30043574200460066ae880080cc8c8c8c8cccd5cd19b8735573aa006900011998039919191999ab9a3370e6aae754009200023300d303135742a00466a02605a6ae84d5d1280111931a981b99ab9c03b038036035135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002232635303333573806e06806406226ae8940044d55cf280089baa00122212333001004003002200122123300100300220011335500175ceb44488c88c008dd5800990009aa81791191999aab9f0022500923350083355031300635573aa004600a6aae794008c010d5d100181709aba10011122002122122330010040031200112232323333573466e1d400520002350083005357426aae79400c8cccd5cd19b87500248008940208c98d4c0a8cd5ce01701581481401389aab9d500113754002242446004006224400224002464646666ae68cdc39aab9d5002480008cc018c01cd5d0a8011bad357426ae8940088c98d4c090cd5ce01401281181109aab9e50011375400244246600200600440024646666ae68cdc39aab9d5001480008dd71aba135573ca004464c6a604066ae7009008407c0784dd500089119191999ab9a3370ea00290021280391999ab9a3370ea004900111a80518031aba135573ca00846666ae68cdc3a801a40004a014464c6a604666ae7009c09008808408007c4d55cea80089baa00112122230030041122200211222001120012323333573466e1d40052002200623333573466e1d400920002006232635301b33573803e03803403203026aae74dd50008910010910009000919191919191999ab9a3370ea0029006100591999ab9a3370ea0049005100691999ab9a3370ea00690041198059bae35742a00a6eb4d5d09aba2500523333573466e1d4011200623300d375c6ae85401cdd71aba135744a00e46666ae68cdc3a802a400846602460286ae854024dd71aba135744a01246666ae68cdc3a8032400446028602a6ae84d55cf280591999ab9a3370ea00e900011809980b1aba135573ca018464c6a604066ae7009008407c07807407006c0680640604d55cea80209aab9e5003135573ca00426aae7940044dd500090911111118038041109111111198030048041091111111802804091111110020911111100191091111111980100480411091111111980080480410009191919191999ab9a3370ea002900111998041bad35742a0086eb4d5d0a8019bad357426ae89400c8cccd5cd19b875002480008c028c02cd5d09aab9e5006232635301133573802a02402001e01c26aae75400c4d5d1280089aab9e5001137540024244600400644424466600200a0080064002464646666ae68cdc3a800a40044600c6eb8d5d09aab9e500323333573466e1d4009200023008375c6ae84d55cf280211931a980599ab9c00f00c00a009008135573aa00226ea80048488c00800c8488c00400c800444888c8c8cccd5cd19b8735573aa0049000119aa80598031aba150023005357426ae8940088c98d4c020cd5ce00600480380309aab9e5001137540029309000900088910919800801801089000a4903505431001123230010012233003300200200133322222253353004333573466e1c00920540060051006133573892010e77726f6e672072656465656d657200005122002122001200110481d879800581840000182a821a000752721a08b508f0f5f6
############### Submitting transaction ###############
Transaction e35343d8750a19ca15357df36138d1536686f0194d8e3b05134eefaf28abfff1 has been successfully included in the blockchain.
zlac116 commented 2 years ago

Thanks @cffls. Please see the script output below. There aren't any immediately striking differences apart from the collateral input utxo index, where I had 1 in my logs and you had 0, in the taker transaction. The fees and resulting change are also slightly different.

############### Transaction created ###############
{
  'auxiliary_data': None,
  'transaction_body': {
    'auxiliary_data_hash': None,
    'certificates': None,
    'collateral': None,
    'collateral_return': None,
    'fee': 168317,
    'inputs': [
      {
        'index': 1,
        'transaction_id': TransactionId(hex='fa0e113f805c3a37660ad73753a3579f1159797ca63ba54d5a2c66e3bc63c8c4'),
      },
    ],
    'mint': None,
    'network_id': None,
    'outputs': [
      {
        'address': addr_test1wqaycrl4pj0g5cpxu400tmyrevqfhjvx8g68mx6klyh2l3s6rqnmw,
        'amount': {'coin': 10000000, 'multi_asset': {}},
        'datum': None,
        'datum_hash': DatumHash(hex='923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec'),
        'script': None,
      },
      {
        'address': addr_test1qzy42vheq5lwqnwass3540rf9zvvzl8n7cc602mz5p59jv6j0z3c5hm6cc7gxvxscdulk4dpyk2075xk9gprurf5cn3saljtpa,
        'amount': {'coin': 9867811879, 'multi_asset': {}},
        'datum': None,
        'datum_hash': None,
        'script': None,
      },
    ],
    'reference_inputs': None,
    'required_signers': None,
    'script_data_hash': None,
    'total_collateral': None,
    'ttl': None,
    'update': None,
    'validity_start': None,
    'withdraws': None,
  },
  'transaction_witness_set': {
    'bootstrap_witness': None,
    'native_scripts': None,
    'plutus_data': None,
    'plutus_v1_script': None,
    'plutus_v2_script': None,
    'redeemer': None,
    'vkey_witnesses': [
      {
        'signature': b'Z\x80A \x19\xfcQ\xb0\x90\xea\x17.4\x18\xc9\x08\xe7\xf9a\x9b=\xad\x16\x96\xe2\xcd%\x04%\xe5\t\xd5\xdb\xdf\x95\xe6\r\xfeD\x9b<c\xe3\x98\xbd\x03\xd2E\xa7r\xb7\xa75\xc7\xe5(\xd0\xdcW\xa7\xe8pv\x04',
        'vkey': {"type": "PaymentVerificationKeyShelley_ed25519", "description": "Payment Verification Key", "cborHex": "582011aae7ed57dfb52cd9623f91add51df010bcd879022114de1529cdd11010d8d4"},
      },
    ],
  },
  'valid': True,
}
84a30081825820fa0e113f805c3a37660ad73753a3579f1159797ca63ba54d5a2c66e3bc63c8c401018283581d703a4c0ff50c9e8a6026e55ef5ec83cb009bc9863a347d9b56f92eafc61a009896805820923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec82583900895532f9053ee04ddd84234abc692898c17cf3f631a7ab62a06859335278a38a5f7ac63c8330d0c379fb55a12594ff50d62a023e0d34c4e31b000000024c2adc27021a0002917da1008182582011aae7ed57dfb52cd9623f91add51df010bcd879022114de1529cdd11010d8d458405a80412019fc51b090ea172e3418c908e7f9619b3dad1696e2cd250425e509d5dbdf95e60dfe449b3c63e398bd03d245a772b7a735c7e528d0dc57a7e8707604f5f6
############### Submitting transaction ###############
Transaction 32b9e09198ccdb414c6f2ef6efd076b83f609c1902e7de34295d23e69a861ae7 has been successfully included in the blockchain.
############### Transaction created ###############
{
  'auxiliary_data': None,
  'transaction_body': {
    'auxiliary_data_hash': None,
    'certificates': None,
    'collateral': [
      {
        'index': 1,
        'transaction_id': TransactionId(hex='32b9e09198ccdb414c6f2ef6efd076b83f609c1902e7de34295d23e69a861ae7'),
      },
    ],
    'collateral_return': None,
    'fee': 303670,
    'inputs': [
      {
        'index': 0,
        'transaction_id': TransactionId(hex='19c69759c283c62cd4575cbce4c441ec7f38092cecbc7a08c4dcea76d591bfc2'),
      },
    ],
    'mint': None,
    'network_id': None,
    'outputs': [
      {
        'address': addr_test1qzy42vheq5lwqnwass3540rf9zvvzl8n7cc602mz5p59jv6j0z3c5hm6cc7gxvxscdulk4dpyk2075xk9gprurf5cn3saljtpa,
        'amount': {'coin': 5000000, 'multi_asset': {}},
        'datum': None,
        'datum_hash': None,
        'script': None,
      },
      {
        'address': addr_test1qzy42vheq5lwqnwass3540rf9zvvzl8n7cc602mz5p59jv6j0z3c5hm6cc7gxvxscdulk4dpyk2075xk9gprurf5cn3saljtpa,
        'amount': {'coin': 4696330, 'multi_asset': {}},
        'datum': None,
        'datum_hash': None,
        'script': None,
      },
    ],
    'reference_inputs': None,
    'required_signers': None,
    'script_data_hash': ScriptDataHash(hex='2b25c2e22a3a08ca6d9fa0bcf299dff8ab2d5cbe06d5c2c5e255af46bb16cafd'),
    'total_collateral': None,
    'ttl': None,
    'update': None,
    'validity_start': None,
    'withdraws': None,
  },
  'transaction_witness_set': {
    'bootstrap_witness': None,
    'native_scripts': None,
    'plutus_data': [{}],
    'plutus_v1_script': [
      b'Y\x08!\x01\x00\x003##2#2###3"##3"##3332"""##3"##32"###2##3"##3"###2#2###33""#2#2#2#2#2#2""##%3S\x03\x133\x00c35sFn\x1c\xd5\\\xe9\xba\xa0\x05H\x00\x08\x12H\xc9\x8dL\x12\x0c\xd5\xce\x02`$\x828#\x1b\xad\x00C35sFn\x1c\xd5\\\xea\x80\x12@\x00F`\x12dddddddddddff\xaeh\xcd\xc3\x9a\xab\x9dP\nH\x00\x08\xcc\xcc\xcc\xcc\xcc\x05\xcc\xd4\tH\xc8\xc8\xcc\xcd\\\xd1\x9b\x875W:\xa0\x04\x90\x00\x11\x98\x0e\x98\x1c\x1a\xba\x15\x00#\x02\xa3WBj\xe8\x94\x00\x88\xc9\x8dL\x16\x0c\xd5\xce\x02\xe0,\x82\xb8+\t\xaa\xb9\xe5\x00\x117T\x00&\xae\x85@(\xcd@\x94\t\x8d]\n\x80I\x99\xaa\x81c\xaeP+5t*\x01\x06f\xaa\x05\x8e\xb9@\xac\xd5\xd0\xa8\x03\x99\xa8\x12\x82\t\xab\xa1P\x063P%3U\x05 Ju\xa6\xae\x85@\x14\xc8\xc8\xc8\xcc\xcd\\\xd1\x9b\x875W:\xa0\x04\x90\x00\x11\x9a\x80\xf9\x91\x91\x91\x99\x9a\xb9\xa37\x0ej\xaeu@\t \x00#5\x02s5\x04\x07Zj\xe8T\x00\x8c\x11M]\t\xab\xa2P\x02#&50\\3W8\x0c\x00\xba\x0b`\xb4&\xaa\xe7\x94\x00D\xddP\x00\x9a\xba\x15\x00####35sFn\x1c\xd5\\\xea\x80\x12@\x00Fj\x04\xa6j\x08\x0e\xb4\xd5\xd0\xa8\x01\x18"\x9a\xba\x13WD\xa0\x04FLj`\xb8f\xaep\x18\x01t\x16\xc1hMU\xcf(\x00\x89\xba\xa0\x015t&\xae\x89@\x08\x8c\x98\xd4\xc1`\xcd\\\xe0.\x02\xc8+\x82\xb0\x9a\xab\x9eP\x01\x13u@\x02j\xe8T\x01\x0c\xd4\t]q\xab\xa1P\x033P%3U\x05\'\\@\x02j\xe8T\x00\x8c\r\xcd]\t\xab\xa2P\x02#&50T3W8\x0b\x00\xaa\n`\xa4&\xae\x89@\x04M]\x12\x80\x08\x9a\xba%\x00\x115tJ\x00"j\xe8\x94\x00D\xd5\xd1(\x00\x89\xab\xa2P\x01\x13WD\xa0\x02&\xaa\xe7\x94\x00D\xddP\x00\x9a\xba\x15\x00####35sFn\x1d@\x05 \x06#\x01\xc3\x03\x93WBj\xaey@\x0c\x8c\xcc\xd5\xcd\x19\xb8u\x00$\x80\x10\x8c\x06\xcc\x10\xcd]\t\xaa\xb9\xe5\x00B33W4f\xe1\xd4\x00\xd2\x00"0\x1b0.5t&\xaa\xe7\x94\x01H\xcc\xcd\\\xd1\x9b\x87P\x04H\x00\x08\xc0x\xddq\xab\xa15W<\xa0\x0cFLj`\x9ef\xaep\x14\xc1@\x13\x814\x13\x01,\x12\x84\xd5\\\xea\x80\x08\x9b\xaa\x00\x13WBj\xe8\x94\x00\x88\xc9\x8dL\x12\x0c\xd5\xce\x02`$\x828#\x08$\t\x93\x1a\x98#\x99\xab\x9cI\x01\x03PT5\x00\x04\x80F\x13Us\xca\x00"n\xa8\x00H\x84\x8c\xc0\x04\x00\xc0\x08\x80\x04\x88\x88\x88\x88\x88H\xcc\xcc\xcc\xcc\xcc\x00@,\x02\x80$\x02\x00\x1c\x01\x80\x14\x01\x00\x0c\x00\x88\x00H\x84\x8c\xc0\x04\x00\xc0\x08\x80\x04H\x84\x8c\xc0\x04\x00\xc0\x08H\x00D\x88H\xcc\x00@\x0c\x00\x84\x80\x04H\x84\x8c\xc0\x04\x00\xc0\x08H\x00HH\x88\x8c\x01\x00\x14\x84\x88\x88\xc0\x0c\x01HH\x88\x8c\x00\x80\x14\x84\x88\x88\xc0\x04\x01H\x00D\x8c\x88\xc0\x08\xdd`\x00\x99\x00\t\xaa\x81\xa9\x11\x99\x9a\xab\x9f\x00\x12P\x0e#5\x00\xd3\x00CWB\x00F\x00f\xae\x88\x00\x80\xcc\x8c\x8c\x8c\x8c\xcc\xd5\xcd\x19\xb8sUs\xaa\x00i\x00\x01\x19\x98\x03\x99\x19\x19\x19\x99\xab\x9a3p\xe6\xaa\xe7T\x00\x92\x00\x023\x00\xd3\x03\x13WB\xa0\x04f\xa0&\x05\xa6\xae\x84\xd5\xd1(\x01\x11\x93\x1a\x98\x1b\x99\xab\x9c\x03\xb08\x03`5\x13Us\xca\x00"n\xa8\x00M]\n\x80\x19\x99\xaa\x80[\xaeP\n5t*\x00Fj\x01\xee\xb8\xd5\xd0\x9a\xba%\x00"2cS\x0335s\x80n\x06\x80d\x06"j\xe8\x94\x00D\xd5\\\xf2\x80\x08\x9b\xaa\x00\x12"\x1230\x01\x00@\x03\x00"\x00\x12!#0\x01\x000\x02 \x01\x135P\x01u\xce\xb4D\x88\xc8\x8c\x00\x8d\xd5\x80\t\x90\x00\x9a\xa8\x17\x91\x19\x19\x99\xaa\xb9\xf0\x02%\x00\x923P\x083U\x03\x13\x00cUs\xaa\x00F\x00\xa6\xaa\xe7\x94\x00\x8c\x01\r]\x10\x01\x81p\x9a\xba\x10\x01\x11"\x00!"\x12#0\x01\x00@\x03\x12\x00\x11"2233W4f\xe1\xd4\x00R\x00\x025\x00\x83\x00SWBj\xaey@\x0c\x8c\xcc\xd5\xcd\x19\xb8u\x00$\x80\x08\x94\x02\x08\xc9\x8dL\n\x8c\xd5\xce\x01p\x15\x81H\x14\x018\x9a\xab\x9dP\x01\x13u@\x02$$F\x00@\x06"D\x00"@\x02FFFfj\xe6\x8c\xdc9\xaa\xb9\xd5\x00$\x80\x00\x8c\xc0\x18\xc0\x1c\xd5\xd0\xa8\x01\x1b\xad5t&\xae\x89@\x08\x8c\x98\xd4\xc0\x90\xcd\\\xe0\x14\x01(\x11\x81\x10\x9a\xab\x9eP\x01\x13u@\x02D$f\x00 \x06\x00D\x00$dff\xaeh\xcd\xc3\x9a\xab\x9dP\x01H\x00\x08\xddq\xab\xa15W<\xa0\x04FLj`@f\xaep\t\x00\x84\x07\xc0xM\xd5\x00\x08\x91\x19\x19\x19\x99\xab\x9a3p\xea\x00)\x00!(\x03\x91\x99\x9a\xb9\xa37\x0e\xa0\x04\x90\x01\x11\xa8\x05\x18\x03\x1a\xba\x13Us\xca\x00\x84ff\xaeh\xcd\xc3\xa8\x01\xa4\x00\x04\xa0\x14FLj`Ff\xaep\t\xc0\x90\x08\x80\x84\x08\x00|MU\xce\xa8\x00\x89\xba\xa0\x01\x12\x12"0\x03\x00A\x12"\x00!\x12"\x00\x11 \x01##35sFn\x1d@\x05 \x02 \x06#35sFn\x1d@\t \x00 \x06#&50\x1b3W8\x03\xe08\x03@2\x03\x02j\xaet\xddP\x00\x89\x10\x01\t\x10\x00\x90\x00\x91\x91\x91\x91\x91\x91\x99\x9a\xb9\xa37\x0e\xa0\x02\x90\x06\x10\x05\x91\x99\x9a\xb9\xa37\x0e\xa0\x04\x90\x05\x10\x06\x91\x99\x9a\xb9\xa37\x0e\xa0\x06\x90\x04\x11\x98\x05\x9b\xae5t*\x00\xa6\xebM]\t\xab\xa2P\x05#35sFn\x1d@\x11 \x06#0\r7\\j\xe8T\x01\xcd\xd7\x1a\xba\x13WD\xa0\x0eFfj\xe6\x8c\xdc:\x80*@\x08F`$`(j\xe8T\x02M\xd7\x1a\xba\x13WD\xa0\x12Ffj\xe6\x8c\xdc:\x802@\x04F\x02\x86\x02\xa6\xae\x84\xd5\\\xf2\x80Y\x19\x99\xab\x9a3p\xea\x00\xe9\x00\x01\x18\t\x98\x0b\x1a\xba\x13Us\xca\x01\x84d\xc6\xa6\x04\x06j\xe7\x00\x90\x08@|\x07\x80t\x07\x00l\x06\x80d\x06\x04\xd5\\\xea\x80 \x9a\xab\x9eP\x03\x13Us\xca\x00Bj\xaey@\x04M\xd5\x00\t\t\x11\x11\x11\x18\x03\x80A\x10\x91\x11\x11\x11\x98\x03\x00H\x04\x10\x91\x11\x11\x11\x80(\x04\t\x11\x11\x11\x00 \x91\x11\x11\x10\x01\x91\t\x11\x11\x11\x19\x80\x10\x04\x80A\x10\x91\x11\x11\x11\x98\x00\x80H\x04\x10\x00\x91\x91\x91\x91\x91\x99\x9a\xb9\xa37\x0e\xa0\x02\x90\x01\x11\x99\x80A\xba\xd3WB\xa0\x08n\xb4\xd5\xd0\xa8\x01\x9b\xad5t&\xae\x89@\x0c\x8c\xcc\xd5\xcd\x19\xb8u\x00$\x80\x00\x8c\x02\x8c\x02\xcd]\t\xaa\xb9\xe5\x00b2cS\x01\x135s\x80*\x02@ \x01\xe0\x1c&\xaa\xe7T\x00\xc4\xd5\xd1(\x00\x89\xaa\xb9\xe5\x00\x117T\x00$$F\x00@\x06DBDf`\x02\x00\xa0\x08\x00d\x00$ddff\xaeh\xcd\xc3\xa8\x00\xa4\x00D`\x0cn\xb8\xd5\xd0\x9a\xab\x9eP\x03#35sFn\x1d@\t \x00#\x00\x83u\xc6\xae\x84\xd5\\\xf2\x80!\x191\xa9\x80Y\x9a\xb9\xc0\x0f\x00\xc0\n\x00\x90\x08\x13Us\xaa\x00"n\xa8\x00HH\x8c\x00\x80\x0c\x84\x88\xc0\x04\x00\xc8\x00DH\x88\xc8\xc8\xcc\xcd\\\xd1\x9b\x875W:\xa0\x04\x90\x00\x11\x9a\xa8\x05\x98\x03\x1a\xba\x15\x00#\x00SWBj\xe8\x94\x00\x88\xc9\x8dL\x02\x0c\xd5\xce\x00`\x04\x808\x03\t\xaa\xb9\xe5\x00\x117T\x00)0\x90\x00\x90\x00\x88\x91\t\x19\x80\x08\x01\x80\x10\x89\x00\nI\x03PT1\x00\x11##\x00\x10\x01"3\x003\x00 \x02\x00\x133"""S50\x0435sFn\x1c\x00\x92\x05@\x06\x00Q\x00a3W8\x92\x01\x0ewrong redeemer\x00\x00Q"\x00!"\x00\x12\x00\x11',
    ],
    'plutus_v2_script': None,
    'redeemer': [
      {
        'data': 42,
        'ex_units': {'mem': 497280, 'steps': 152015685},
        'index': 0,
        'tag': {'__objclass__': <enum 'RedeemerTag'>, '_name_': 'SPEND', '_value_': 0},
      },
    ],
    'vkey_witnesses': [
      {
        'signature': b'f\xf7\x8c\xf6.\x98A_-\x83\xce\xd84w\xb5\xed\x02\x0ca\x94\x98\x08vQt\xac\xbb\xe1\x18\x98\x12\x9c\xc2C\xa3\x1e#\xab\x0f\xf1\xc5\x04K3\xc4\xaa\xdf\xab\xf5D7\x11\xf1\x07\x8a*\xaf\xe4zngw\xa2\x00',
        'vkey': {"type": "PaymentVerificationKeyShelley_ed25519", "description": "Payment Verification Key", "cborHex": "582011aae7ed57dfb52cd9623f91add51df010bcd879022114de1529cdd11010d8d4"},
      },
    ],
  },
  'valid': True,
}
84a5008182582019c69759c283c62cd4575cbce4c441ec7f38092cecbc7a08c4dcea76d591bfc200018282583900895532f9053ee04ddd84234abc692898c17cf3f631a7ab62a06859335278a38a5f7ac63c8330d0c379fb55a12594ff50d62a023e0d34c4e31a004c4b4082583900895532f9053ee04ddd84234abc692898c17cf3f631a7ab62a06859335278a38a5f7ac63c8330d0c379fb55a12594ff50d62a023e0d34c4e31a0047a90a021a0004a2360b58202b25c2e22a3a08ca6d9fa0bcf299dff8ab2d5cbe06d5c2c5e255af46bb16cafd0d8182582032b9e09198ccdb414c6f2ef6efd076b83f609c1902e7de34295d23e69a861ae701a4008182582011aae7ed57dfb52cd9623f91add51df010bcd879022114de1529cdd11010d8d4584066f78cf62e98415f2d83ced83477b5ed020c61949808765174acbbe11898129cc243a31e23ab0ff1c5044b33c4aadfabf5443711f1078a2aafe47a6e6777a200038159082459082101000033232332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222223232533530313330063333573466e1cd55ce9baa0054800081248c98d4c120cd5ce0260248238231bad0043333573466e1cd55cea8012400046601264646464646464646464646666ae68cdc39aab9d500a480008cccccccccc05ccd40948c8c8cccd5cd19b8735573aa004900011980e981c1aba15002302a357426ae8940088c98d4c160cd5ce02e02c82b82b09aab9e5001137540026ae854028cd4094098d5d0a804999aa8163ae502b35742a010666aa058eb940acd5d0a80399a8128209aba15006335025335505204a75a6ae854014c8c8c8cccd5cd19b8735573aa0049000119a80f9919191999ab9a3370e6aae7540092000233502733504075a6ae854008c114d5d09aba25002232635305c3357380c00ba0b60b426aae7940044dd50009aba150023232323333573466e1cd55cea80124000466a04a66a080eb4d5d0a80118229aba135744a004464c6a60b866ae7018017416c1684d55cf280089baa001357426ae8940088c98d4c160cd5ce02e02c82b82b09aab9e5001137540026ae854010cd4095d71aba15003335025335505275c40026ae854008c0dcd5d09aba2500223263530543357380b00aa0a60a426ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135744a00226aae7940044dd50009aba150023232323333573466e1d400520062301c3039357426aae79400c8cccd5cd19b875002480108c06cc10cd5d09aab9e500423333573466e1d400d20022301b302e357426aae7940148cccd5cd19b875004480008c078dd71aba135573ca00c464c6a609e66ae7014c14013813413012c1284d55cea80089baa001357426ae8940088c98d4c120cd5ce026024823823082409931a982399ab9c49010350543500048046135573ca00226ea80048848cc00400c0088004888888888848cccccccccc00402c02802402001c01801401000c00880048848cc00400c008800448848cc00400c0084800448848cc00400c0084800448848cc00400c00848004848888c010014848888c00c014848888c008014848888c004014800448c88c008dd6000990009aa81a911999aab9f0012500e233500d30043574200460066ae880080cc8c8c8c8cccd5cd19b8735573aa006900011998039919191999ab9a3370e6aae754009200023300d303135742a00466a02605a6ae84d5d1280111931a981b99ab9c03b038036035135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002232635303333573806e06806406226ae8940044d55cf280089baa00122212333001004003002200122123300100300220011335500175ceb44488c88c008dd5800990009aa81791191999aab9f0022500923350083355031300635573aa004600a6aae794008c010d5d100181709aba10011122002122122330010040031200112232323333573466e1d400520002350083005357426aae79400c8cccd5cd19b87500248008940208c98d4c0a8cd5ce01701581481401389aab9d500113754002242446004006224400224002464646666ae68cdc39aab9d5002480008cc018c01cd5d0a8011bad357426ae8940088c98d4c090cd5ce01401281181109aab9e50011375400244246600200600440024646666ae68cdc39aab9d5001480008dd71aba135573ca004464c6a604066ae7009008407c0784dd500089119191999ab9a3370ea00290021280391999ab9a3370ea004900111a80518031aba135573ca00846666ae68cdc3a801a40004a014464c6a604666ae7009c09008808408007c4d55cea80089baa00112122230030041122200211222001120012323333573466e1d40052002200623333573466e1d400920002006232635301b33573803e03803403203026aae74dd50008910010910009000919191919191999ab9a3370ea0029006100591999ab9a3370ea0049005100691999ab9a3370ea00690041198059bae35742a00a6eb4d5d09aba2500523333573466e1d4011200623300d375c6ae85401cdd71aba135744a00e46666ae68cdc3a802a400846602460286ae854024dd71aba135744a01246666ae68cdc3a8032400446028602a6ae84d55cf280591999ab9a3370ea00e900011809980b1aba135573ca018464c6a604066ae7009008407c07807407006c0680640604d55cea80209aab9e5003135573ca00426aae7940044dd500090911111118038041109111111198030048041091111111802804091111110020911111100191091111111980100480411091111111980080480410009191919191999ab9a3370ea002900111998041bad35742a0086eb4d5d0a8019bad357426ae89400c8cccd5cd19b875002480008c028c02cd5d09aab9e5006232635301133573802a02402001e01c26aae75400c4d5d1280089aab9e5001137540024244600400644424466600200a0080064002464646666ae68cdc3a800a40044600c6eb8d5d09aab9e500323333573466e1d4009200023008375c6ae84d55cf280211931a980599ab9c00f00c00a009008135573aa00226ea80048488c00800c8488c00400c800444888c8c8cccd5cd19b8735573aa0049000119aa80598031aba150023005357426ae8940088c98d4c020cd5ce00600480380309aab9e5001137540029309000900088910919800801801089000a4903505431001123230010012233003300200200133322222253353004333573466e1c00920540060051006133573892010e77726f6e672072656465656d657200005122002122001200110481d879800581840000182a821a000796801a090f9345f5f6
############### Submitting transaction ###############
Traceback (most recent call last):
  File "forty_two_git.py", line 142, in <module>
    submit_tx(signed_tx)
  File "forty_two_git.py", line 53, in submit_tx
    chain_context.submit_tx(tx.to_cbor())
  File "/home/zlac116/Code/blockchain/cardano/projects/cardano-sc-txn/pycardano/pycardano/backend/blockfrost.py", line 202, in submit_tx
    self.api.transaction_submit(f.name)
  File "/home/zlac116/anaconda3/envs/cardanopy/lib/python3.8/site-packages/blockfrost/utils.py", line 63, in error_wrapper
    raise ApiError(request_response)
blockfrost.utils.ApiError: {'error': 'Bad Request', 'message': '"transaction submit error ShelleyTxValidationError ShelleyBasedEraBabbage (ApplyTxError [UtxowFailure (UtxoFailure (FromAlonzoUtxoFail (UtxosFailure (ValidationTagMismatch (IsValid True) (FailedUnexpectedly (PlutusFailure \\"\\\\nThe 3 arg plutus script (PlutusScript PlutusV1 ScriptHash \\\\\\"3a4c0ff50c9e8a6026e55ef5ec83cb009bc9863a347d9b56f92eafc6\\\\\\") fails.\\\\nCekError An error has occurred:  User error:\\\\nThe machine terminated part way through evaluation due to overspending the budget.\\\\nThe budget when the machine terminated was:\\\\n({ cpu: -182167\\\\n| mem: 2296\\\\n})\\\\nNegative numbers indicate the overspent budget; note that this only indicatessthe budget that was needed for the next step, not to run the program to completion.\\\\nThe protocol version is: ProtVer {pvMajor = 7, pvMinor = 0}\\\\', 'status_code': 400}
cffls commented 2 years ago

Interesting, they do look very similar. The error shows that the script run out of budget. Could you try increasing the budget buffer by adding these two lines to your script?

builder = TransactionBuilder(chain_context)

builder.execution_step_buffer = 0.5 # Default is 0.2

builder.execution_memory_buffer = 0.5 # Default is 0.2
zlac116 commented 2 years ago

Thanks again @cffls. Increasing the step and memory buffers seemed to do the trick :). I presume that these increase the protocol parameters max memory and execution steps by the set buffer? It's a shame that you weren't able to replicate the error on your side...perhaps it's something to do with my setup? I used cardano cli 1.35.3 to generate my payment and stake keys...

############### Transaction created ###############
{
  'auxiliary_data': None,
  'transaction_body': {
    'auxiliary_data_hash': None,
    'certificates': None,
    'collateral': None,
    'collateral_return': None,
    'fee': 168317,
    'inputs': [
      {
        'index': 1,
        'transaction_id': TransactionId(hex='32b9e09198ccdb414c6f2ef6efd076b83f609c1902e7de34295d23e69a861ae7'),
      },
    ],
    'mint': None,
    'network_id': None,
    'outputs': [
      {
        'address': addr_test1wqaycrl4pj0g5cpxu400tmyrevqfhjvx8g68mx6klyh2l3s6rqnmw,
        'amount': {'coin': 10000000, 'multi_asset': {}},
        'datum': None,
        'datum_hash': DatumHash(hex='923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec'),
        'script': None,
      },
      {
        'address': addr_test1qzy42vheq5lwqnwass3540rf9zvvzl8n7cc602mz5p59jv6j0z3c5hm6cc7gxvxscdulk4dpyk2075xk9gprurf5cn3saljtpa,
        'amount': {'coin': 9857643562, 'multi_asset': {}},
        'datum': None,
        'datum_hash': None,
        'script': None,
      },
    ],
    'reference_inputs': None,
    'required_signers': None,
    'script_data_hash': None,
    'total_collateral': None,
    'ttl': None,
    'update': None,
    'validity_start': None,
    'withdraws': None,
  },
  'transaction_witness_set': {
    'bootstrap_witness': None,
    'native_scripts': None,
    'plutus_data': None,
    'plutus_v1_script': None,
    'plutus_v2_script': None,
    'redeemer': None,
    'vkey_witnesses': [
      {
        'signature': b'8\x06\x9d@t\xf6t\xa2\x0e\x1a\xa2\xf0`\xaa\x8a_\xc1\xb8\x02\xfd\xf1x\xfe\xb1I6\xa2\x7fM\xdd\xd4!\xa4n\x16\\a\x9d\x08\x86\xd2\xebd+\x122\x0b\xf7*\x9b"\x8a\xb5\x9f\xb7\xa5l{\xe2\x0f\xde\x15\x0f\t',
        'vkey': {"type": "PaymentVerificationKeyShelley_ed25519", "description": "Payment Verification Key", "cborHex": "582011aae7ed57dfb52cd9623f91add51df010bcd879022114de1529cdd11010d8d4"},
      },
    ],
  },
  'valid': True,
}
84a3008182582032b9e09198ccdb414c6f2ef6efd076b83f609c1902e7de34295d23e69a861ae701018283581d703a4c0ff50c9e8a6026e55ef5ec83cb009bc9863a347d9b56f92eafc61a009896805820923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec82583900895532f9053ee04ddd84234abc692898c17cf3f631a7ab62a06859335278a38a5f7ac63c8330d0c379fb55a12594ff50d62a023e0d34c4e31b000000024b8fb42a021a0002917da1008182582011aae7ed57dfb52cd9623f91add51df010bcd879022114de1529cdd11010d8d4584038069d4074f674a20e1aa2f060aa8a5fc1b802fdf178feb14936a27f4dddd421a46e165c619d0886d2eb642b12320bf72a9b228ab59fb7a56c7be20fde150f09f5f6
############### Submitting transaction ###############
Transaction 0aa7a62f2739be6cc4e50c72584a254f40f5c0af29f3d081b9f072c1bf5490b8 has been successfully included in the blockchain.
############### Transaction created ###############
{
  'auxiliary_data': None,
  'transaction_body': {
    'auxiliary_data_hash': None,
    'certificates': None,
    'collateral': [
      {
        'index': 1,
        'transaction_id': TransactionId(hex='0aa7a62f2739be6cc4e50c72584a254f40f5c0af29f3d081b9f072c1bf5490b8'),
      },
    ],
    'collateral_return': None,
    'fee': 313583,
    'inputs': [
      {
        'index': 0,
        'transaction_id': TransactionId(hex='19c69759c283c62cd4575cbce4c441ec7f38092cecbc7a08c4dcea76d591bfc2'),
      },
    ],
    'mint': None,
    'network_id': None,
    'outputs': [
      {
        'address': addr_test1qzy42vheq5lwqnwass3540rf9zvvzl8n7cc602mz5p59jv6j0z3c5hm6cc7gxvxscdulk4dpyk2075xk9gprurf5cn3saljtpa,
        'amount': {'coin': 5000000, 'multi_asset': {}},
        'datum': None,
        'datum_hash': None,
        'script': None,
      },
      {
        'address': addr_test1qzy42vheq5lwqnwass3540rf9zvvzl8n7cc602mz5p59jv6j0z3c5hm6cc7gxvxscdulk4dpyk2075xk9gprurf5cn3saljtpa,
        'amount': {'coin': 4686417, 'multi_asset': {}},
        'datum': None,
        'datum_hash': None,
        'script': None,
      },
    ],
    'reference_inputs': None,
    'required_signers': None,
    'script_data_hash': ScriptDataHash(hex='7e780b7b3fde19aa1770ef39af93d9b970de9ecf05f83ac4eda0fd1e14ae2ec7'),
    'total_collateral': None,
    'ttl': None,
    'update': None,
    'validity_start': None,
    'withdraws': None,
  },
  'transaction_witness_set': {
    'bootstrap_witness': None,
    'native_scripts': None,
    'plutus_data': [{}],
    'plutus_v1_script': [
      b'Y\x08!\x01\x00\x003##2#2###3"##3"##3332"""##3"##32"###2##3"##3"###2#2###33""#2#2#2#2#2#2""##%3S\x03\x133\x00c35sFn\x1c\xd5\\\xe9\xba\xa0\x05H\x00\x08\x12H\xc9\x8dL\x12\x0c\xd5\xce\x02`$\x828#\x1b\xad\x00C35sFn\x1c\xd5\\\xea\x80\x12@\x00F`\x12dddddddddddff\xaeh\xcd\xc3\x9a\xab\x9dP\nH\x00\x08\xcc\xcc\xcc\xcc\xcc\x05\xcc\xd4\tH\xc8\xc8\xcc\xcd\\\xd1\x9b\x875W:\xa0\x04\x90\x00\x11\x98\x0e\x98\x1c\x1a\xba\x15\x00#\x02\xa3WBj\xe8\x94\x00\x88\xc9\x8dL\x16\x0c\xd5\xce\x02\xe0,\x82\xb8+\t\xaa\xb9\xe5\x00\x117T\x00&\xae\x85@(\xcd@\x94\t\x8d]\n\x80I\x99\xaa\x81c\xaeP+5t*\x01\x06f\xaa\x05\x8e\xb9@\xac\xd5\xd0\xa8\x03\x99\xa8\x12\x82\t\xab\xa1P\x063P%3U\x05 Ju\xa6\xae\x85@\x14\xc8\xc8\xc8\xcc\xcd\\\xd1\x9b\x875W:\xa0\x04\x90\x00\x11\x9a\x80\xf9\x91\x91\x91\x99\x9a\xb9\xa37\x0ej\xaeu@\t \x00#5\x02s5\x04\x07Zj\xe8T\x00\x8c\x11M]\t\xab\xa2P\x02#&50\\3W8\x0c\x00\xba\x0b`\xb4&\xaa\xe7\x94\x00D\xddP\x00\x9a\xba\x15\x00####35sFn\x1c\xd5\\\xea\x80\x12@\x00Fj\x04\xa6j\x08\x0e\xb4\xd5\xd0\xa8\x01\x18"\x9a\xba\x13WD\xa0\x04FLj`\xb8f\xaep\x18\x01t\x16\xc1hMU\xcf(\x00\x89\xba\xa0\x015t&\xae\x89@\x08\x8c\x98\xd4\xc1`\xcd\\\xe0.\x02\xc8+\x82\xb0\x9a\xab\x9eP\x01\x13u@\x02j\xe8T\x01\x0c\xd4\t]q\xab\xa1P\x033P%3U\x05\'\\@\x02j\xe8T\x00\x8c\r\xcd]\t\xab\xa2P\x02#&50T3W8\x0b\x00\xaa\n`\xa4&\xae\x89@\x04M]\x12\x80\x08\x9a\xba%\x00\x115tJ\x00"j\xe8\x94\x00D\xd5\xd1(\x00\x89\xab\xa2P\x01\x13WD\xa0\x02&\xaa\xe7\x94\x00D\xddP\x00\x9a\xba\x15\x00####35sFn\x1d@\x05 \x06#\x01\xc3\x03\x93WBj\xaey@\x0c\x8c\xcc\xd5\xcd\x19\xb8u\x00$\x80\x10\x8c\x06\xcc\x10\xcd]\t\xaa\xb9\xe5\x00B33W4f\xe1\xd4\x00\xd2\x00"0\x1b0.5t&\xaa\xe7\x94\x01H\xcc\xcd\\\xd1\x9b\x87P\x04H\x00\x08\xc0x\xddq\xab\xa15W<\xa0\x0cFLj`\x9ef\xaep\x14\xc1@\x13\x814\x13\x01,\x12\x84\xd5\\\xea\x80\x08\x9b\xaa\x00\x13WBj\xe8\x94\x00\x88\xc9\x8dL\x12\x0c\xd5\xce\x02`$\x828#\x08$\t\x93\x1a\x98#\x99\xab\x9cI\x01\x03PT5\x00\x04\x80F\x13Us\xca\x00"n\xa8\x00H\x84\x8c\xc0\x04\x00\xc0\x08\x80\x04\x88\x88\x88\x88\x88H\xcc\xcc\xcc\xcc\xcc\x00@,\x02\x80$\x02\x00\x1c\x01\x80\x14\x01\x00\x0c\x00\x88\x00H\x84\x8c\xc0\x04\x00\xc0\x08\x80\x04H\x84\x8c\xc0\x04\x00\xc0\x08H\x00D\x88H\xcc\x00@\x0c\x00\x84\x80\x04H\x84\x8c\xc0\x04\x00\xc0\x08H\x00HH\x88\x8c\x01\x00\x14\x84\x88\x88\xc0\x0c\x01HH\x88\x8c\x00\x80\x14\x84\x88\x88\xc0\x04\x01H\x00D\x8c\x88\xc0\x08\xdd`\x00\x99\x00\t\xaa\x81\xa9\x11\x99\x9a\xab\x9f\x00\x12P\x0e#5\x00\xd3\x00CWB\x00F\x00f\xae\x88\x00\x80\xcc\x8c\x8c\x8c\x8c\xcc\xd5\xcd\x19\xb8sUs\xaa\x00i\x00\x01\x19\x98\x03\x99\x19\x19\x19\x99\xab\x9a3p\xe6\xaa\xe7T\x00\x92\x00\x023\x00\xd3\x03\x13WB\xa0\x04f\xa0&\x05\xa6\xae\x84\xd5\xd1(\x01\x11\x93\x1a\x98\x1b\x99\xab\x9c\x03\xb08\x03`5\x13Us\xca\x00"n\xa8\x00M]\n\x80\x19\x99\xaa\x80[\xaeP\n5t*\x00Fj\x01\xee\xb8\xd5\xd0\x9a\xba%\x00"2cS\x0335s\x80n\x06\x80d\x06"j\xe8\x94\x00D\xd5\\\xf2\x80\x08\x9b\xaa\x00\x12"\x1230\x01\x00@\x03\x00"\x00\x12!#0\x01\x000\x02 \x01\x135P\x01u\xce\xb4D\x88\xc8\x8c\x00\x8d\xd5\x80\t\x90\x00\x9a\xa8\x17\x91\x19\x19\x99\xaa\xb9\xf0\x02%\x00\x923P\x083U\x03\x13\x00cUs\xaa\x00F\x00\xa6\xaa\xe7\x94\x00\x8c\x01\r]\x10\x01\x81p\x9a\xba\x10\x01\x11"\x00!"\x12#0\x01\x00@\x03\x12\x00\x11"2233W4f\xe1\xd4\x00R\x00\x025\x00\x83\x00SWBj\xaey@\x0c\x8c\xcc\xd5\xcd\x19\xb8u\x00$\x80\x08\x94\x02\x08\xc9\x8dL\n\x8c\xd5\xce\x01p\x15\x81H\x14\x018\x9a\xab\x9dP\x01\x13u@\x02$$F\x00@\x06"D\x00"@\x02FFFfj\xe6\x8c\xdc9\xaa\xb9\xd5\x00$\x80\x00\x8c\xc0\x18\xc0\x1c\xd5\xd0\xa8\x01\x1b\xad5t&\xae\x89@\x08\x8c\x98\xd4\xc0\x90\xcd\\\xe0\x14\x01(\x11\x81\x10\x9a\xab\x9eP\x01\x13u@\x02D$f\x00 \x06\x00D\x00$dff\xaeh\xcd\xc3\x9a\xab\x9dP\x01H\x00\x08\xddq\xab\xa15W<\xa0\x04FLj`@f\xaep\t\x00\x84\x07\xc0xM\xd5\x00\x08\x91\x19\x19\x19\x99\xab\x9a3p\xea\x00)\x00!(\x03\x91\x99\x9a\xb9\xa37\x0e\xa0\x04\x90\x01\x11\xa8\x05\x18\x03\x1a\xba\x13Us\xca\x00\x84ff\xaeh\xcd\xc3\xa8\x01\xa4\x00\x04\xa0\x14FLj`Ff\xaep\t\xc0\x90\x08\x80\x84\x08\x00|MU\xce\xa8\x00\x89\xba\xa0\x01\x12\x12"0\x03\x00A\x12"\x00!\x12"\x00\x11 \x01##35sFn\x1d@\x05 \x02 \x06#35sFn\x1d@\t \x00 \x06#&50\x1b3W8\x03\xe08\x03@2\x03\x02j\xaet\xddP\x00\x89\x10\x01\t\x10\x00\x90\x00\x91\x91\x91\x91\x91\x91\x99\x9a\xb9\xa37\x0e\xa0\x02\x90\x06\x10\x05\x91\x99\x9a\xb9\xa37\x0e\xa0\x04\x90\x05\x10\x06\x91\x99\x9a\xb9\xa37\x0e\xa0\x06\x90\x04\x11\x98\x05\x9b\xae5t*\x00\xa6\xebM]\t\xab\xa2P\x05#35sFn\x1d@\x11 \x06#0\r7\\j\xe8T\x01\xcd\xd7\x1a\xba\x13WD\xa0\x0eFfj\xe6\x8c\xdc:\x80*@\x08F`$`(j\xe8T\x02M\xd7\x1a\xba\x13WD\xa0\x12Ffj\xe6\x8c\xdc:\x802@\x04F\x02\x86\x02\xa6\xae\x84\xd5\\\xf2\x80Y\x19\x99\xab\x9a3p\xea\x00\xe9\x00\x01\x18\t\x98\x0b\x1a\xba\x13Us\xca\x01\x84d\xc6\xa6\x04\x06j\xe7\x00\x90\x08@|\x07\x80t\x07\x00l\x06\x80d\x06\x04\xd5\\\xea\x80 \x9a\xab\x9eP\x03\x13Us\xca\x00Bj\xaey@\x04M\xd5\x00\t\t\x11\x11\x11\x18\x03\x80A\x10\x91\x11\x11\x11\x98\x03\x00H\x04\x10\x91\x11\x11\x11\x80(\x04\t\x11\x11\x11\x00 \x91\x11\x11\x10\x01\x91\t\x11\x11\x11\x19\x80\x10\x04\x80A\x10\x91\x11\x11\x11\x98\x00\x80H\x04\x10\x00\x91\x91\x91\x91\x91\x99\x9a\xb9\xa37\x0e\xa0\x02\x90\x01\x11\x99\x80A\xba\xd3WB\xa0\x08n\xb4\xd5\xd0\xa8\x01\x9b\xad5t&\xae\x89@\x0c\x8c\xcc\xd5\xcd\x19\xb8u\x00$\x80\x00\x8c\x02\x8c\x02\xcd]\t\xaa\xb9\xe5\x00b2cS\x01\x135s\x80*\x02@ \x01\xe0\x1c&\xaa\xe7T\x00\xc4\xd5\xd1(\x00\x89\xaa\xb9\xe5\x00\x117T\x00$$F\x00@\x06DBDf`\x02\x00\xa0\x08\x00d\x00$ddff\xaeh\xcd\xc3\xa8\x00\xa4\x00D`\x0cn\xb8\xd5\xd0\x9a\xab\x9eP\x03#35sFn\x1d@\t \x00#\x00\x83u\xc6\xae\x84\xd5\\\xf2\x80!\x191\xa9\x80Y\x9a\xb9\xc0\x0f\x00\xc0\n\x00\x90\x08\x13Us\xaa\x00"n\xa8\x00HH\x8c\x00\x80\x0c\x84\x88\xc0\x04\x00\xc8\x00DH\x88\xc8\xc8\xcc\xcd\\\xd1\x9b\x875W:\xa0\x04\x90\x00\x11\x9a\xa8\x05\x98\x03\x1a\xba\x15\x00#\x00SWBj\xe8\x94\x00\x88\xc9\x8dL\x02\x0c\xd5\xce\x00`\x04\x808\x03\t\xaa\xb9\xe5\x00\x117T\x00)0\x90\x00\x90\x00\x88\x91\t\x19\x80\x08\x01\x80\x10\x89\x00\nI\x03PT1\x00\x11##\x00\x10\x01"3\x003\x00 \x02\x00\x133"""S50\x0435sFn\x1c\x00\x92\x05@\x06\x00Q\x00a3W8\x92\x01\x0ewrong redeemer\x00\x00Q"\x00!"\x00\x12\x00\x11',
    ],
    'plutus_v2_script': None,
    'redeemer': [
      {
        'data': 42,
        'ex_units': {'mem': 621600, 'steps': 190019607},
        'index': 0,
        'tag': {'__objclass__': <enum 'RedeemerTag'>, '_name_': 'SPEND', '_value_': 0},
      },
    ],
    'vkey_witnesses': [
      {
        'signature': b"\xa2\xe1vE+b\xfe\xa5\x95'6\xae\x95\xb3Z]<I\xd7\x11,\x1aZ\xb6\x90\xf0\x92\xda~81 \xc8\x86\x1dS'\xa19\xb8'Q\x03bx~\xad \xb4>\x08U\x10\xc5m\xc5l\xdb\xa0\x91\xb2\x0b\x16\x07",
        'vkey': {"type": "PaymentVerificationKeyShelley_ed25519", "description": "Payment Verification Key", "cborHex": "582011aae7ed57dfb52cd9623f91add51df010bcd879022114de1529cdd11010d8d4"},
      },
    ],
  },
  'valid': True,
}
84a5008182582019c69759c283c62cd4575cbce4c441ec7f38092cecbc7a08c4dcea76d591bfc200018282583900895532f9053ee04ddd84234abc692898c17cf3f631a7ab62a06859335278a38a5f7ac63c8330d0c379fb55a12594ff50d62a023e0d34c4e31a004c4b4082583900895532f9053ee04ddd84234abc692898c17cf3f631a7ab62a06859335278a38a5f7ac63c8330d0c379fb55a12594ff50d62a023e0d34c4e31a00478251021a0004c8ef0b58207e780b7b3fde19aa1770ef39af93d9b970de9ecf05f83ac4eda0fd1e14ae2ec70d818258200aa7a62f2739be6cc4e50c72584a254f40f5c0af29f3d081b9f072c1bf5490b801a4008182582011aae7ed57dfb52cd9623f91add51df010bcd879022114de1529cdd11010d8d45840a2e176452b62fea5952736ae95b35a5d3c49d7112c1a5ab690f092da7e383120c8861d5327a139b827510362787ead20b43e085510c56dc56cdba091b20b1607038159082459082101000033232332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222223232533530313330063333573466e1cd55ce9baa0054800081248c98d4c120cd5ce0260248238231bad0043333573466e1cd55cea8012400046601264646464646464646464646666ae68cdc39aab9d500a480008cccccccccc05ccd40948c8c8cccd5cd19b8735573aa004900011980e981c1aba15002302a357426ae8940088c98d4c160cd5ce02e02c82b82b09aab9e5001137540026ae854028cd4094098d5d0a804999aa8163ae502b35742a010666aa058eb940acd5d0a80399a8128209aba15006335025335505204a75a6ae854014c8c8c8cccd5cd19b8735573aa0049000119a80f9919191999ab9a3370e6aae7540092000233502733504075a6ae854008c114d5d09aba25002232635305c3357380c00ba0b60b426aae7940044dd50009aba150023232323333573466e1cd55cea80124000466a04a66a080eb4d5d0a80118229aba135744a004464c6a60b866ae7018017416c1684d55cf280089baa001357426ae8940088c98d4c160cd5ce02e02c82b82b09aab9e5001137540026ae854010cd4095d71aba15003335025335505275c40026ae854008c0dcd5d09aba2500223263530543357380b00aa0a60a426ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135744a00226aae7940044dd50009aba150023232323333573466e1d400520062301c3039357426aae79400c8cccd5cd19b875002480108c06cc10cd5d09aab9e500423333573466e1d400d20022301b302e357426aae7940148cccd5cd19b875004480008c078dd71aba135573ca00c464c6a609e66ae7014c14013813413012c1284d55cea80089baa001357426ae8940088c98d4c120cd5ce026024823823082409931a982399ab9c49010350543500048046135573ca00226ea80048848cc00400c0088004888888888848cccccccccc00402c02802402001c01801401000c00880048848cc00400c008800448848cc00400c0084800448848cc00400c0084800448848cc00400c00848004848888c010014848888c00c014848888c008014848888c004014800448c88c008dd6000990009aa81a911999aab9f0012500e233500d30043574200460066ae880080cc8c8c8c8cccd5cd19b8735573aa006900011998039919191999ab9a3370e6aae754009200023300d303135742a00466a02605a6ae84d5d1280111931a981b99ab9c03b038036035135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002232635303333573806e06806406226ae8940044d55cf280089baa00122212333001004003002200122123300100300220011335500175ceb44488c88c008dd5800990009aa81791191999aab9f0022500923350083355031300635573aa004600a6aae794008c010d5d100181709aba10011122002122122330010040031200112232323333573466e1d400520002350083005357426aae79400c8cccd5cd19b87500248008940208c98d4c0a8cd5ce01701581481401389aab9d500113754002242446004006224400224002464646666ae68cdc39aab9d5002480008cc018c01cd5d0a8011bad357426ae8940088c98d4c090cd5ce01401281181109aab9e50011375400244246600200600440024646666ae68cdc39aab9d5001480008dd71aba135573ca004464c6a604066ae7009008407c0784dd500089119191999ab9a3370ea00290021280391999ab9a3370ea004900111a80518031aba135573ca00846666ae68cdc3a801a40004a014464c6a604666ae7009c09008808408007c4d55cea80089baa00112122230030041122200211222001120012323333573466e1d40052002200623333573466e1d400920002006232635301b33573803e03803403203026aae74dd50008910010910009000919191919191999ab9a3370ea0029006100591999ab9a3370ea0049005100691999ab9a3370ea00690041198059bae35742a00a6eb4d5d09aba2500523333573466e1d4011200623300d375c6ae85401cdd71aba135744a00e46666ae68cdc3a802a400846602460286ae854024dd71aba135744a01246666ae68cdc3a8032400446028602a6ae84d55cf280591999ab9a3370ea00e900011809980b1aba135573ca018464c6a604066ae7009008407c07807407006c0680640604d55cea80209aab9e5003135573ca00426aae7940044dd500090911111118038041109111111198030048041091111111802804091111110020911111100191091111111980100480411091111111980080480410009191919191999ab9a3370ea002900111998041bad35742a0086eb4d5d0a8019bad357426ae89400c8cccd5cd19b875002480008c028c02cd5d09aab9e5006232635301133573802a02402001e01c26aae75400c4d5d1280089aab9e5001137540024244600400644424466600200a0080064002464646666ae68cdc3a800a40044600c6eb8d5d09aab9e500323333573466e1d4009200023008375c6ae84d55cf280211931a980599ab9c00f00c00a009008135573aa00226ea80048488c00800c8488c00400c800444888c8c8cccd5cd19b8735573aa0049000119aa80598031aba150023005357426ae8940088c98d4c020cd5ce00600480380309aab9e5001137540029309000900088910919800801801089000a4903505431001123230010012233003300200200133322222253353004333573466e1c00920540060051006133573892010e77726f6e672072656465656d657200005122002122001200110481d879800581840000182a821a00097c201a0b537817f5f6
############### Submitting transaction ###############
Transaction 129de6b3c105386f738553fc714890f25097af00f502369c884ca20460784e93 has been successfully included in the blockchain.
cffls commented 2 years ago

Awesome, thanks for confirming it works!

I presume that these increase the protocol parameters max memory and execution steps by the set buffer?

Correct. I guess the reason is that your taker address contains staking parts, which means additional data to the context of Plutus script, which requires a bit more memory. Increasing the memory buffer resolve this issue. I am closing this issue since the transactions are now accepted by the network.

zlac116 commented 2 years ago

Thanks @cffls for your help! :)