In a load, the user sends first a transaction, then an app call. Both are outers, not a single call with a transaction and an option to call the contract with the transaction. This is because the tx type is app_call and pay. This distinction makes me assume that you cannot pay by using a contract.
This means that the same user calling different types has to be counted as one and tells a part of the purpose of the group transaction.
It has to be part of the same atomic group so either all goes through or all fails.
To get the inners, check the parents’ offset, since to save memory inners don’t save the block number.
Inners are used as extra computational power.
This one is still odd to me: inners are called by the contract, not by the user.
Could a contract be restrictive on the accounts that can interact with it?
Kinda like a private contract?
So that only the authorized ones have access to the contract with more inners and computational power.
The thing is the min gas cost is 1000, so what determines the total gas is the contract itself. So no decision can be made there unless the app has a field of integers that can decide to cast a required number of inners.
So this possibility of taking the decision makes it that each contract has to be understood to know if the app_call had a purpose.
Algorand gas fees work different from Ethereum, by setting the 1000 algo without preprocessing the gas cost, increasing the speed. Touch as minimal as possible.
The combination of tx_type in the atomic group becomes really relevant to understand what the account is doing.
tldr:
fix outher count, since the consecutive operations gives info be efitient and code it for that purpose.
inners dont have tx group <- extra code that doesn't change the output
link showing multiple outhers.
To find the struct example
1. groups where there is more than one tx_type
groups_multi_type = (
df_raw.groupby('group_id')['tx_type']
.nunique()
)
groups_multi_type = groups_multi_type[groups_multi_type > 1].index
2. filter only those groups
df_multi = df_raw[df_raw['group_id'].isin(groups_multi_type)]
3. same from_to condition
df_multi = df_multi.groupby('group_id').filter(
lambda g: g['sender'].nunique() == 1 and g['receiver'].nunique() == 1
)
4. retrieve the tx_hash
df_multi['transaction_hash'].head(10)
first set the particularities your looking for
https://lora.algokit.io/mainnet/transaction/SR67F5GKFYVJM4FDWODEZ2ZXAAEDO2OU6I5KTQ56HUWGPWJJTVPA
In a load, the user sends first a transaction, then an app call. Both are outers, not a single call with a transaction and an option to call the contract with the transaction. This is because the tx type is app_call and pay. This distinction makes me assume that you cannot pay by using a contract.
This means that the same user calling different types has to be counted as one and tells a part of the purpose of the group transaction.
It has to be part of the same atomic group so either all goes through or all fails.
To get the inners, check the parents’ offset, since to save memory inners don’t save the block number.
Inners are used as extra computational power.
This one is still odd to me: inners are called by the contract, not by the user.
Could a contract be restrictive on the accounts that can interact with it?
Kinda like a private contract?
So that only the authorized ones have access to the contract with more inners and computational power.
The thing is the min gas cost is 1000, so what determines the total gas is the contract itself. So no decision can be made there unless the app has a field of integers that can decide to cast a required number of inners.
So this possibility of taking the decision makes it that each contract has to be understood to know if the app_call had a purpose.
Algorand gas fees work different from Ethereum, by setting the 1000 algo without preprocessing the gas cost, increasing the speed. Touch as minimal as possible.
The combination of tx_type in the atomic group becomes really relevant to understand what the account is doing.
tldr:
fix outher count, since the consecutive operations gives info be efitient and code it for that purpose.
inners dont have tx group <- extra code that doesn't change the output
link showing multiple outhers.
To find the struct example
1. groups where there is more than one tx_type
groups_multi_type = (
df_raw.groupby('group_id')['tx_type']
.nunique()
)
groups_multi_type = groups_multi_type[groups_multi_type > 1].index
2. filter only those groups
df_multi = df_raw[df_raw['group_id'].isin(groups_multi_type)]
3. same from_to condition
df_multi = df_multi.groupby('group_id').filter(
lambda g: g['sender'].nunique() == 1 and g['receiver'].nunique() == 1
)
4. retrieve the tx_hash
df_multi['transaction_hash'].head(10)
first set the particularities your looking for
https://lora.algokit.io/mainnet/transaction/SR67F5GKFYVJM4FDWODEZ2ZXAAEDO2OU6I5KTQ56HUWGPWJJTVPA