#Tx References Exceed MaxAppTotalTxnReferences = 8

16 messages · Page 1 of 1 (latest)

zenith gull
#

So if the Txn References exceed 8 I'm just screwed and have to manually input them?

#
    . . .
)
group.arbitrary_app_call(
    params=CommonAppCallParams(
        max_fee=AlgoAmount(micro_algo=10_000)
    )
)
group.arbitrary_app_call(
    params=CommonAppCallParams(
        max_fee=AlgoAmount(micro_algo=10_000),
        note='2'
    )
)
group.arbitrary_app_call(
    params=CommonAppCallParams(
        max_fee=AlgoAmount(micro_algo=10_000),
        note='3'
    )
)
group.arbitrary_app_call(
    params=CommonAppCallParams(
        max_fee=AlgoAmount(micro_algo=10_000),
        note='4'
    )
)
group.arbitrary_app_call(
    params=CommonAppCallParams(
        max_fee=AlgoAmount(micro_algo=10_000),
        note='5'
    )
)
group.arbitrary_app_call(
    params=CommonAppCallParams(
        max_fee=AlgoAmount(micro_algo=10_000),
        note='6'
    )
)
group.arbitrary_app_call(
    params=CommonAppCallParams(
        max_fee=AlgoAmount(micro_algo=10_000),
        note='7'
    )
)

txn_response = group.send(
    send_params={
        'cover_app_call_inner_transaction_fees': True,
        'populate_app_call_resources': True
    }
)```
#

invalid : tx references exceed MaxAppTotalTxnReferences = 8

#

I expected to just add 1 arbitrary_app_call to fix it, but after doing the above am assuming it just isn't distributing the reference arrays properly across the other app calls..

#

@scenic gyro @tender ferry fix dis

scenic gyro
zenith gull
#

I know this sir, does populate app resources not take this into account

#

That’s my question

#

For example if I have 10 references and 1 app call, instead of just giving up will the populate app resources flag not trigger an additional, arbitrary outer app call to distribute remaining references, or at the very least, let me manually add an arbitrary app call for it to distribute them?

#

Because I could technically crawl a simulated response and fetch all the resources myself: apfa, apat, apas are in confirmations and box references are in another part of the sim response (can’t recall off the top of my head)— so why couldn’t the populate app resources functionality use this as a fallback?

#

Thank you!

scenic gyro
#

I think the most pertinent answer is that populating resources on your provided transactions is one thing, but adding additional outer transactions to the group is another thing that may be unexpected and undesired. We can think about further abstractions, but there can be risks, too, if automatic group management gets too “magical.”

zenith gull
#

Maybe a flag like “allow_additional_app_calls”

#

Most use (should use) relative indexing for group transactions as recommended in official documentation

#

So an additional app call at the end of the group should not affect them, and if it would, they should not use that flag (or rewrite the logic to support relative indexing)