algokit_utils.transactions.transaction_sender¶
Classes¶
Base class for transaction results. |
|
Result of creating a new ASA (Algorand Standard Asset). |
|
Result of an application transaction. |
|
Result of updating an application. |
|
Result of creating a new application. |
|
Orchestrates sending transactions for AlgorandClient. |
Module Contents¶
- class algokit_utils.transactions.transaction_sender.SendSingleTransactionResult¶
Base class for transaction results.
Represents the result of sending a single transaction.
- transaction: algokit_utils.models.transaction.TransactionWrapper¶
The last transaction
- confirmation: algosdk.v2client.algod.AlgodResponseType¶
The last confirmation
- group_id: str¶
The group ID
- tx_id: str | None = None¶
The transaction ID
- tx_ids: list[str]¶
The full array of transaction IDs
- transactions: list[algokit_utils.models.transaction.TransactionWrapper]¶
The full array of transactions
- confirmations: list[algosdk.v2client.algod.AlgodResponseType]¶
The full array of confirmations
- returns: list[algokit_utils.applications.abi.ABIReturn] | None = None¶
The ABI return value if applicable
- classmethod from_composer_result(result: algokit_utils.transactions.transaction_composer.SendAtomicTransactionComposerResults, index: int = -1) typing_extensions.Self ¶
- class algokit_utils.transactions.transaction_sender.SendSingleAssetCreateTransactionResult¶
Bases:
SendSingleTransactionResult
Result of creating a new ASA (Algorand Standard Asset).
Contains the asset ID of the newly created asset.
- asset_id: int¶
The ID of the newly created asset
- class algokit_utils.transactions.transaction_sender.SendAppTransactionResult¶
Bases:
SendSingleTransactionResult
,Generic
[ABIReturnT
]Result of an application transaction.
Contains the ABI return value if applicable.
- abi_return: ABIReturnT | None = None¶
The ABI return value if applicable
- class algokit_utils.transactions.transaction_sender.SendAppUpdateTransactionResult¶
Bases:
SendAppTransactionResult
[ABIReturnT
]Result of updating an application.
Contains the compiled approval and clear programs.
- compiled_approval: Any | None = None¶
The compiled approval program
- compiled_clear: Any | None = None¶
The compiled clear state program
- class algokit_utils.transactions.transaction_sender.SendAppCreateTransactionResult¶
Bases:
SendAppUpdateTransactionResult
[ABIReturnT
]Result of creating a new application.
Contains the app ID and address of the newly created application.
- app_id: int¶
The ID of the newly created application
- app_address: str¶
The address of the newly created application
- class algokit_utils.transactions.transaction_sender.AlgorandClientTransactionSender(new_group: collections.abc.Callable[[], algokit_utils.transactions.transaction_composer.TransactionComposer], asset_manager: algokit_utils.assets.asset_manager.AssetManager, app_manager: algokit_utils.applications.app_manager.AppManager, algod_client: algosdk.v2client.algod.AlgodClient)¶
Orchestrates sending transactions for AlgorandClient.
Provides methods to send various types of transactions including payments, asset operations, and application calls.
- new_group() algokit_utils.transactions.transaction_composer.TransactionComposer ¶
Create a new transaction group.
- Returns:
A new TransactionComposer instance
- Example:
>>> sender = AlgorandClientTransactionSender(new_group, asset_manager, app_manager, algod_client) >>> composer = sender.new_group() >>> composer(PaymentParams(sender="sender", receiver="receiver", amount=AlgoAmount(algo=1))) >>> composer.send()
- payment(params: algokit_utils.transactions.transaction_composer.PaymentParams, send_params: algokit_utils.models.transaction.SendParams | None = None) SendSingleTransactionResult ¶
Send a payment transaction to transfer Algo between accounts.
- Parameters:
params – Payment transaction parameters
send_params – Send parameters
- Returns:
Result of the payment transaction
- Example:
>>> result = algorand.send.payment(PaymentParams( >>> sender="SENDERADDRESS", >>> receiver="RECEIVERADDRESS", >>> amount=AlgoAmount(algo=4), >>> ))
>>> # Advanced example >>> result = algorand.send.payment(PaymentParams( >>> amount=AlgoAmount(algo=4), >>> receiver="RECEIVERADDRESS", >>> sender="SENDERADDRESS", >>> close_remainder_to="CLOSEREMAINDERTOADDRESS", >>> lease="lease", >>> note="note", >>> rekey_to="REKEYTOADDRESS", >>> first_valid_round=1000, >>> validity_window=10, >>> extra_fee=AlgoAmount(micro_algo=1000), >>> static_fee=AlgoAmount(micro_algo=1000), >>> max_fee=AlgoAmount(micro_algo=3000), >>> signer=transactionSigner >>> ), send_params=SendParams( >>> max_rounds_to_wait_for_confirmation=5, >>> suppress_log=True, >>> ))
- asset_create(params: algokit_utils.transactions.transaction_composer.AssetCreateParams, send_params: algokit_utils.models.transaction.SendParams | None = None) SendSingleAssetCreateTransactionResult ¶
Create a new Algorand Standard Asset.
- Parameters:
params – Asset creation parameters
send_params – Send parameters
- Returns:
Result containing the new asset ID
- Example:
>>> result = algorand.send.asset_create(AssetCreateParams( >>> sender="SENDERADDRESS", >>> asset_name="ASSETNAME", >>> unit_name="UNITNAME", >>> total=1000, >>> ))
>>> # Advanced example >>> result = algorand.send.asset_create(AssetCreateParams( >>> sender="CREATORADDRESS", >>> total=100, >>> decimals=2, >>> asset_name="asset", >>> unit_name="unit", >>> url="url", >>> metadata_hash="metadataHash", >>> default_frozen=False, >>> manager="MANAGERADDRESS", >>> reserve="RESERVEADDRESS", >>> freeze="FREEZEADDRESS", >>> clawback="CLAWBACKADDRESS", >>> lease="lease", >>> note="note", >>> # You wouldn't normally set this field >>> first_valid_round=1000, >>> validity_window=10, >>> extra_fee=AlgoAmount(micro_algo=1000), >>> static_fee=AlgoAmount(micro_algo=1000), >>> # Max fee doesn't make sense with extraFee AND staticFee >>> # already specified, but here for completeness >>> max_fee=AlgoAmount(micro_algo=3000), >>> # Signer only needed if you want to provide one, >>> # generally you'd register it with AlgorandClient >>> # against the sender and not need to pass it in >>> signer=transactionSigner >>> ), send_params=SendParams( >>> max_rounds_to_wait_for_confirmation=5, >>> suppress_log=True, >>> ))
- asset_config(params: algokit_utils.transactions.transaction_composer.AssetConfigParams, send_params: algokit_utils.models.transaction.SendParams | None = None) SendSingleTransactionResult ¶
Configure an existing Algorand Standard Asset.
- Parameters:
params – Asset configuration parameters
send_params – Send parameters
- Returns:
Result of the configuration transaction
- Example:
>>> result = algorand.send.asset_config(AssetConfigParams( >>> sender="MANAGERADDRESS", >>> asset_id=123456, >>> manager="MANAGERADDRESS", >>> reserve="RESERVEADDRESS", >>> freeze="FREEZEADDRESS", >>> clawback="CLAWBACKADDRESS", >>> lease="lease", >>> note="note", >>> # You wouldn't normally set this field >>> first_valid_round=1000, >>> validity_window=10, >>> extra_fee=AlgoAmount(micro_algo=1000), >>> static_fee=AlgoAmount(micro_algo=1000), >>> # Max fee doesn't make sense with extraFee AND staticFee >>> # already specified, but here for completeness >>> max_fee=AlgoAmount(micro_algo=3000), >>> # Signer only needed if you want to provide one, >>> # generally you'd register it with AlgorandClient >>> # against the sender and not need to pass it in >>> signer=transactionSigner >>> ), send_params=SendParams( >>> max_rounds_to_wait_for_confirmation=5, >>> suppress_log=True, >>> ))
- asset_freeze(params: algokit_utils.transactions.transaction_composer.AssetFreezeParams, send_params: algokit_utils.models.transaction.SendParams | None = None) SendSingleTransactionResult ¶
Freeze or unfreeze an Algorand Standard Asset for an account.
- Parameters:
params – Asset freeze parameters
send_params – Send parameters
- Returns:
Result of the freeze transaction
- Example:
>>> result = algorand.send.asset_freeze(AssetFreezeParams( >>> sender="MANAGERADDRESS", >>> asset_id=123456, >>> account="ACCOUNTADDRESS", >>> frozen=True, >>> ))
>>> # Advanced example >>> result = algorand.send.asset_freeze(AssetFreezeParams( >>> sender="MANAGERADDRESS", >>> asset_id=123456, >>> account="ACCOUNTADDRESS", >>> frozen=True, >>> lease="lease", >>> note="note", >>> # You wouldn't normally set this field >>> first_valid_round=1000, >>> validity_window=10, >>> extra_fee=AlgoAmount(micro_algo=1000), >>> static_fee=AlgoAmount(micro_algo=1000), >>> # Max fee doesn't make sense with extraFee AND staticFee >>> # already specified, but here for completeness >>> max_fee=AlgoAmount(micro_algo=3000), >>> # Signer only needed if you want to provide one, >>> # generally you'd register it with AlgorandClient >>> # against the sender and not need to pass it in >>> signer=transactionSigner >>> ), send_params=SendParams( >>> max_rounds_to_wait_for_confirmation=5, >>> suppress_log=True, >>> ))
- asset_destroy(params: algokit_utils.transactions.transaction_composer.AssetDestroyParams, send_params: algokit_utils.models.transaction.SendParams | None = None) SendSingleTransactionResult ¶
Destroys an Algorand Standard Asset.
- Parameters:
params – Asset destruction parameters
send_params – Send parameters
- Returns:
Result of the destroy transaction
- Example:
>>> result = algorand.send.asset_destroy(AssetDestroyParams( >>> sender="MANAGERADDRESS", >>> asset_id=123456, >>> ))
>>> # Advanced example >>> result = algorand.send.asset_destroy(AssetDestroyParams( >>> sender="MANAGERADDRESS", >>> asset_id=123456, >>> lease="lease", >>> note="note", >>> # You wouldn't normally set this field >>> first_valid_round=1000, >>> validity_window=10, >>> extra_fee=AlgoAmount(micro_algo=1000), >>> static_fee=AlgoAmount(micro_algo=1000), >>> # Max fee doesn't make sense with extraFee AND staticFee >>> # already specified, but here for completeness >>> max_fee=AlgoAmount(micro_algo=3000), >>> # Signer only needed if you want to provide one, >>> # generally you'd register it with AlgorandClient >>> # against the sender and not need to pass it in >>> signer=transactionSigner >>> ), send_params=SendParams( >>> max_rounds_to_wait_for_confirmation=5, >>> suppress_log=True, >>> ))
- asset_transfer(params: algokit_utils.transactions.transaction_composer.AssetTransferParams, send_params: algokit_utils.models.transaction.SendParams | None = None) SendSingleTransactionResult ¶
Transfer an Algorand Standard Asset.
- Parameters:
params – Asset transfer parameters
send_params – Send parameters
- Returns:
Result of the transfer transaction
- Example:
>>> result = algorand.send.asset_transfer(AssetTransferParams( >>> sender="HOLDERADDRESS", >>> asset_id=123456, >>> amount=1, >>> receiver="RECEIVERADDRESS", >>> ))
>>> # Advanced example (with clawback) >>> result = algorand.send.asset_transfer(AssetTransferParams( >>> sender="CLAWBACKADDRESS", >>> asset_id=123456, >>> amount=1, >>> receiver="RECEIVERADDRESS", >>> clawback_target="HOLDERADDRESS", >>> # This field needs to be used with caution >>> close_asset_to="ADDRESSTOCLOSETO", >>> lease="lease", >>> note="note", >>> # You wouldn't normally set this field >>> first_valid_round=1000, >>> validity_window=10, >>> extra_fee=AlgoAmount(micro_algo=1000), >>> static_fee=AlgoAmount(micro_algo=1000), >>> # Max fee doesn't make sense with extraFee AND staticFee >>> # already specified, but here for completeness >>> max_fee=AlgoAmount(micro_algo=3000), >>> # Signer only needed if you want to provide one, >>> # generally you'd register it with AlgorandClient >>> # against the sender and not need to pass it in >>> signer=transactionSigner >>> ), send_params=SendParams( >>> max_rounds_to_wait_for_confirmation=5, >>> suppress_log=True, >>> ))
- asset_opt_in(params: algokit_utils.transactions.transaction_composer.AssetOptInParams, send_params: algokit_utils.models.transaction.SendParams | None = None) SendSingleTransactionResult ¶
Opt an account into an Algorand Standard Asset.
- Parameters:
params – Asset opt-in parameters
send_params – Send parameters
- Returns:
Result of the opt-in transaction
- Example:
>>> result = algorand.send.asset_opt_in(AssetOptInParams( >>> sender="SENDERADDRESS", >>> asset_id=123456, >>> ))
>>> # Advanced example >>> result = algorand.send.asset_opt_in(AssetOptInParams( >>> sender="SENDERADDRESS", >>> asset_id=123456, >>> lease="lease", >>> note="note", >>> # You wouldn't normally set this field >>> first_valid_round=1000, >>> validity_window=10, >>> extra_fee=AlgoAmount(micro_algo=1000), >>> static_fee=AlgoAmount(micro_algo=1000), >>> # Max fee doesn't make sense with extraFee AND staticFee >>> # already specified, but here for completeness >>> max_fee=AlgoAmount(micro_algo=3000), >>> # Signer only needed if you want to provide one, >>> # generally you'd register it with AlgorandClient >>> # against the sender and not need to pass it in >>> signer=transactionSigner >>> ), send_params=SendParams( >>> max_rounds_to_wait_for_confirmation=5, >>> suppress_log=True, >>> ))
- asset_opt_out(params: algokit_utils.transactions.transaction_composer.AssetOptOutParams, send_params: algokit_utils.models.transaction.SendParams | None = None, *, ensure_zero_balance: bool = True) SendSingleTransactionResult ¶
Opt an account out of an Algorand Standard Asset.
- Parameters:
params – Asset opt-out parameters
send_params – Send parameters
ensure_zero_balance – Check if account has zero balance before opt-out, defaults to True
- Raises:
ValueError – If account has non-zero balance or is not opted in
- Returns:
Result of the opt-out transaction
- Example:
>>> result = algorand.send.asset_opt_out(AssetOptOutParams( >>> sender="SENDERADDRESS", >>> creator="CREATORADDRESS", >>> asset_id=123456, >>> ensure_zero_balance=True, >>> ))
>>> # Advanced example >>> result = algorand.send.asset_opt_out(AssetOptOutParams( >>> sender="SENDERADDRESS", >>> asset_id=123456, >>> creator="CREATORADDRESS", >>> ensure_zero_balance=True, >>> lease="lease", >>> note="note", >>> # You wouldn't normally set this field >>> first_valid_round=1000, >>> validity_window=10, >>> extra_fee=AlgoAmount(micro_algo=1000), >>> static_fee=AlgoAmount(micro_algo=1000), >>> # Max fee doesn't make sense with extraFee AND staticFee >>> # already specified, but here for completeness >>> max_fee=AlgoAmount(micro_algo=3000), >>> # Signer only needed if you want to provide one, >>> # generally you'd register it with AlgorandClient >>> # against the sender and not need to pass it in >>> signer=transactionSigner >>> ), send_params=SendParams( >>> max_rounds_to_wait_for_confirmation=5, >>> suppress_log=True, >>> ))
- app_create(params: algokit_utils.transactions.transaction_composer.AppCreateParams, send_params: algokit_utils.models.transaction.SendParams | None = None) SendAppCreateTransactionResult[algokit_utils.applications.abi.ABIReturn] ¶
Create a new application.
- Parameters:
params – Application creation parameters
send_params – Send parameters
- Returns:
Result containing the new application ID and address
- Example:
>>> result = algorand.send.app_create(AppCreateParams( >>> sender="CREATORADDRESS", >>> approval_program="TEALCODE", >>> clear_state_program="TEALCODE", >>> ))
>>> # Advanced example >>> result = algorand.send.app_create(AppCreateParams( >>> sender="CREATORADDRESS", >>> approval_program="TEALCODE", >>> clear_state_program="TEALCODE", >>> )) >>> # algorand.send.appCreate(AppCreateParams( >>> # sender='CREATORADDRESS', >>> # approval_program="TEALCODE", >>> # clear_state_program="TEALCODE", >>> # schema={ >>> # "global_ints": 1, >>> # "global_byte_slices": 2, >>> # "local_ints": 3, >>> # "local_byte_slices": 4 >>> # }, >>> # extra_program_pages: 1, >>> # on_complete: algosdk.transaction.OnComplete.OptInOC, >>> # args: [b'some_bytes'] >>> # account_references: ["ACCOUNT_1"] >>> # app_references: [123, 1234] >>> # asset_references: [12345] >>> # box_references: ["box1", {app_id: 1234, name: "box2"}] >>> # lease: 'lease', >>> # note: 'note', >>> # # You wouldn't normally set this field >>> # first_valid_round: 1000, >>> # validity_window: 10, >>> # extra_fee: AlgoAmount(micro_algo=1000), >>> # static_fee: AlgoAmount(micro_algo=1000), >>> # # Max fee doesn't make sense with extraFee AND staticFee >>> # # already specified, but here for completeness >>> # max_fee: AlgoAmount(micro_algo=3000), >>> # # Signer only needed if you want to provide one, >>> # # generally you'd register it with AlgorandClient >>> # # against the sender and not need to pass it in >>> # signer: transactionSigner >>> #}, send_params=SendParams( >>> # max_rounds_to_wait_for_confirmation=5, >>> # suppress_log=True, >>> #))
- app_update(params: algokit_utils.transactions.transaction_composer.AppUpdateParams, send_params: algokit_utils.models.transaction.SendParams | None = None) SendAppUpdateTransactionResult[algokit_utils.applications.abi.ABIReturn] ¶
Update an application.
- Parameters:
params – Application update parameters
send_params – Send parameters
- Returns:
Result containing the compiled programs
- Example:
>>> # Basic example >>> algorand.send.app_update(AppUpdateParams( >>> sender="CREATORADDRESS", >>> approval_program="TEALCODE", >>> clear_state_program="TEALCODE", >>> )) >>> # Advanced example >>> algorand.send.app_update(AppUpdateParams( >>> sender="CREATORADDRESS", >>> approval_program="TEALCODE", >>> clear_state_program="TEALCODE", >>> on_complete=OnComplete.UpdateApplicationOC, >>> args=[b'some_bytes'], >>> account_references=["ACCOUNT_1"], >>> app_references=[123, 1234], >>> asset_references=[12345], >>> box_references=[...], >>> lease="lease", >>> note="note", >>> # You wouldn't normally set this field >>> first_valid_round=1000, >>> validity_window=10, >>> extra_fee=AlgoAmount(micro_algo=1000), >>> static_fee=AlgoAmount(micro_algo=1000), >>> # Max fee doesn't make sense with extraFee AND staticFee >>> # already specified, but here for completeness >>> max_fee=AlgoAmount(micro_algo=3000), >>> # Signer only needed if you want to provide one, >>> # generally you'd register it with AlgorandClient >>> # against the sender and not need to pass it in >>> signer=transactionSigner >>> ), send_params=SendParams( >>> max_rounds_to_wait_for_confirmation=5, >>> suppress_log=True, >>> ))
- app_delete(params: algokit_utils.transactions.transaction_composer.AppDeleteParams, send_params: algokit_utils.models.transaction.SendParams | None = None) SendAppTransactionResult[algokit_utils.applications.abi.ABIReturn] ¶
Delete an application.
- Parameters:
params – Application deletion parameters
send_params – Send parameters
- Returns:
Result of the deletion transaction
- Example:
>>> # Basic example >>> algorand.send.app_delete(AppDeleteParams( >>> sender="CREATORADDRESS", >>> app_id=123456, >>> )) >>> # Advanced example >>> algorand.send.app_delete(AppDeleteParams( >>> sender="CREATORADDRESS", >>> on_complete=OnComplete.DeleteApplicationOC, >>> args=[b'some_bytes'], >>> account_references=["ACCOUNT_1"], >>> app_references=[123, 1234], >>> asset_references=[12345], >>> box_references=[...], >>> lease="lease", >>> note="note", >>> # You wouldn't normally set this field >>> first_valid_round=1000, >>> validity_window=10, >>> extra_fee=AlgoAmount(micro_algo=1000), >>> static_fee=AlgoAmount(micro_algo=1000), >>> # Max fee doesn't make sense with extraFee AND staticFee >>> # already specified, but here for completeness >>> max_fee=AlgoAmount(micro_algo=3000), >>> # Signer only needed if you want to provide one, >>> # generally you'd register it with AlgorandClient >>> # against the sender and not need to pass it in >>> signer=transactionSigner, >>> ), send_params=SendParams( >>> max_rounds_to_wait_for_confirmation=5, >>> suppress_log=True, >>> ))
- app_call(params: algokit_utils.transactions.transaction_composer.AppCallParams, send_params: algokit_utils.models.transaction.SendParams | None = None) SendAppTransactionResult[algokit_utils.applications.abi.ABIReturn] ¶
Call an application.
- Parameters:
params – Application call parameters
send_params – Send parameters
- Returns:
Result containing any ABI return value
- Example:
>>> # Basic example >>> algorand.send.app_call(AppCallParams( >>> sender="CREATORADDRESS", >>> app_id=123456, >>> )) >>> # Advanced example >>> algorand.send.app_call(AppCallParams( >>> sender="CREATORADDRESS", >>> on_complete=OnComplete.OptInOC, >>> args=[b'some_bytes'], >>> account_references=["ACCOUNT_1"], >>> app_references=[123, 1234], >>> asset_references=[12345], >>> box_references=[...], >>> lease="lease", >>> note="note", >>> # You wouldn't normally set this field >>> first_valid_round=1000, >>> validity_window=10, >>> extra_fee=AlgoAmount(micro_algo=1000), >>> static_fee=AlgoAmount(micro_algo=1000), >>> # Max fee doesn't make sense with extraFee AND staticFee >>> # already specified, but here for completeness >>> max_fee=AlgoAmount(micro_algo=3000), >>> # Signer only needed if you want to provide one, >>> # generally you'd register it with AlgorandClient >>> # against the sender and not need to pass it in >>> signer=transactionSigner, >>> ), send_params=SendParams( >>> max_rounds_to_wait_for_confirmation=5, >>> suppress_log=True, >>> ))
- app_create_method_call(params: algokit_utils.transactions.transaction_composer.AppCreateMethodCallParams, send_params: algokit_utils.models.transaction.SendParams | None = None) SendAppCreateTransactionResult[algokit_utils.applications.abi.ABIReturn] ¶
Call an application’s create method.
- Parameters:
params – Method call parameters for application creation
send_params – Send parameters
- Returns:
Result containing the new application ID and address
- Example:
>>> # Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality. >>> # >>> # @param params The parameters for the app creation transaction >>> # Basic example >>> method = algorand.abi.Method( >>> name='method', >>> args=[b'arg1'], >>> returns='string' >>> ) >>> result = algorand.send.app_create_method_call({ sender: 'CREATORADDRESS', >>> approval_program: 'TEALCODE', >>> clear_state_program: 'TEALCODE', >>> method: method, >>> args: ["arg1_value"] }) >>> created_app_id = result.app_id >>> ... >>> # Advanced example >>> method = algorand.abi.Method( >>> name='method', >>> args=[b'arg1'], >>> returns='string' >>> ) >>> result = algorand.send.app_create_method_call({ >>> sender: 'CREATORADDRESS', >>> method: method, >>> args: ["arg1_value"], >>> approval_program: "TEALCODE", >>> clear_state_program: "TEALCODE", >>> schema: { >>> "global_ints": 1, >>> "global_byte_slices": 2, >>> "local_ints": 3, >>> "local_byte_slices": 4 >>> }, >>> extra_program_pages: 1, >>> on_complete: algosdk.transaction.OnComplete.OptInOC, >>> args: [new Uint8Array(1, 2, 3, 4)], >>> account_references: ["ACCOUNT_1"], >>> app_references: [123, 1234], >>> asset_references: [12345], >>> box_references: [...], >>> lease: 'lease', >>> note: 'note', >>> # You wouldn't normally set this field >>> first_valid_round: 1000, >>> validity_window: 10, >>> extra_fee: AlgoAmount(micro_algo=1000), >>> static_fee: AlgoAmount(micro_algo=1000), >>> # Max fee doesn't make sense with extraFee AND staticFee >>> # already specified, but here for completeness >>> max_fee: AlgoAmount(micro_algo=3000), >>> # Signer only needed if you want to provide one, >>> # generally you'd register it with AlgorandClient >>> # against the sender and not need to pass it in >>> signer: transactionSigner, >>> }, send_params=SendParams( >>> max_rounds_to_wait_for_confirmation=5, >>> suppress_log=True, >>> ))
- app_update_method_call(params: algokit_utils.transactions.transaction_composer.AppUpdateMethodCallParams, send_params: algokit_utils.models.transaction.SendParams | None = None) SendAppUpdateTransactionResult[algokit_utils.applications.abi.ABIReturn] ¶
Call an application’s update method.
- Parameters:
params – Method call parameters for application update
send_params – Send parameters
- Returns:
Result containing the compiled programs
- Example:
# Basic example: >>> method = algorand.abi.Method( … name=”updateMethod”, … args=[{“type”: “string”, “name”: “arg1”}], … returns=”string” … ) >>> params = AppUpdateMethodCallParams( … sender=”CREATORADDRESS”, … app_id=123, … method=method, … args=[“new_value”], … approval_program=”TEALCODE”, … clear_state_program=”TEALCODE” … ) >>> result = algorand.send.app_update_method_call(params) >>> print(result.compiled_approval, result.compiled_clear)
# Advanced example: >>> method = algorand.abi.Method( … name=”updateMethod”, … args=[{“type”: “string”, “name”: “arg1”}, {“type”: “uint64”, “name”: “arg2”}], … returns=”string” … ) >>> params = AppUpdateMethodCallParams( … sender=”CREATORADDRESS”, … app_id=456, … method=method, … args=[“new_value”, 42], … approval_program=”TEALCODE_ADVANCED”, … clear_state_program=”TEALCLEAR_ADVANCED”, … account_references=[“ACCOUNT1”, “ACCOUNT2”], … app_references=[789], … asset_references=[101112] … ) >>> result = algorand.send.app_update_method_call(params) >>> print(result.compiled_approval, result.compiled_clear)
- app_delete_method_call(params: algokit_utils.transactions.transaction_composer.AppDeleteMethodCallParams, send_params: algokit_utils.models.transaction.SendParams | None = None) SendAppTransactionResult[algokit_utils.applications.abi.ABIReturn] ¶
Call an application’s delete method.
- Parameters:
params – Method call parameters for application deletion
send_params – Send parameters
- Returns:
Result of the deletion transaction
- Example:
# Basic example: >>> method = algorand.abi.Method( … name=”deleteMethod”, … args=[], … returns=”void” … ) >>> params = AppDeleteMethodCallParams( … sender=”CREATORADDRESS”, … app_id=123, … method=method … ) >>> result = algorand.send.app_delete_method_call(params) >>> print(result.tx_id)
# Advanced example: >>> method = algorand.abi.Method( … name=”deleteMethod”, … args=[{“type”: “uint64”, “name”: “confirmation”}], … returns=”void” … ) >>> params = AppDeleteMethodCallParams( … sender=”CREATORADDRESS”, … app_id=123, … method=method, … args=[1], … account_references=[“ACCOUNT1”], … app_references=[456] … ) >>> result = algorand.send.app_delete_method_call(params) >>> print(result.tx_id)
- app_call_method_call(params: algokit_utils.transactions.transaction_composer.AppCallMethodCallParams, send_params: algokit_utils.models.transaction.SendParams | None = None) SendAppTransactionResult[algokit_utils.applications.abi.ABIReturn] ¶
Call an application’s call method.
- Parameters:
params – Method call parameters
send_params – Send parameters
- Returns:
Result containing any ABI return value
- Example:
# Basic example: >>> method = algorand.abi.Method( … name=”callMethod”, … args=[{“type”: “uint64”, “name”: “arg1”}], … returns=”uint64” … ) >>> params = AppCallMethodCallParams( … sender=”CALLERADDRESS”, … app_id=123, … method=method, … args=[12345] … ) >>> result = algorand.send.app_call_method_call(params) >>> print(result.abi_return)
# Advanced example: >>> method = algorand.abi.Method( … name=”callMethod”, … args=[{“type”: “uint64”, “name”: “arg1”}, {“type”: “string”, “name”: “arg2”}], … returns=”uint64” … ) >>> params = AppCallMethodCallParams( … sender=”CALLERADDRESS”, … app_id=123, … method=method, … args=[12345, “extra”], … account_references=[“ACCOUNT1”], … asset_references=[101112], … app_references=[789] … ) >>> result = algorand.send.app_call_method_call(params) >>> print(result.abi_return)
- online_key_registration(params: algokit_utils.transactions.transaction_composer.OnlineKeyRegistrationParams, send_params: algokit_utils.models.transaction.SendParams | None = None) SendSingleTransactionResult ¶
Register an online key.
- Parameters:
params – Key registration parameters
send_params – Send parameters
- Returns:
Result of the registration transaction
- Example:
# Basic example: >>> params = OnlineKeyRegistrationParams( … sender=”ACCOUNTADDRESS”, … vote_key=”VOTEKEY”, … selection_key=”SELECTIONKEY”, … vote_first=1000, … vote_last=2000, … vote_key_dilution=10 … ) >>> result = algorand.send.online_key_registration(params) >>> print(result.tx_id)
# Advanced example: >>> params = OnlineKeyRegistrationParams( … sender=”ACCOUNTADDRESS”, … vote_key=”VOTEKEY”, … selection_key=”SELECTIONKEY”, … vote_first=1000, … vote_last=2100, … vote_key_dilution=10, … state_proof_key=b’’ * 64 … ) >>> result = algorand.send.online_key_registration(params) >>> print(result.tx_id)
- offline_key_registration(params: algokit_utils.transactions.transaction_composer.OfflineKeyRegistrationParams, send_params: algokit_utils.models.transaction.SendParams | None = None) SendSingleTransactionResult ¶
Register an offline key.
- Parameters:
params – Key registration parameters
send_params – Send parameters
- Returns:
Result of the registration transaction
- Example:
# Basic example: >>> params = OfflineKeyRegistrationParams( … sender=”ACCOUNTADDRESS”, … prevent_account_from_ever_participating_again=True … ) >>> result = algorand.send.offline_key_registration(params) >>> print(result.tx_id)
# Advanced example: >>> params = OfflineKeyRegistrationParams( … sender=”ACCOUNTADDRESS”, … prevent_account_from_ever_participating_again=True, … note=b’Offline registration’ … ) >>> result = algorand.send.offline_key_registration(params) >>> print(result.tx_id)