transactions.transaction_creator
Classes
Section titled “Classes”AlgorandClientTransactionCreator | A creator for Algorand transactions. |
|---|
Module Contents
Section titled “Module Contents”class algokit_utils.transactions.transaction_creator.AlgorandClientTransactionCreator(new_group: collections.abc.Callable[[], algokit_utils.transactions.transaction_composer.TransactionComposer])
Section titled “class algokit_utils.transactions.transaction_creator.AlgorandClientTransactionCreator(new_group: collections.abc.Callable[[], algokit_utils.transactions.transaction_composer.TransactionComposer])”A creator for Algorand transactions.
Provides methods to create various types of Algorand transactions including payments, asset operations, application calls and key registrations.
- Parameters: new_group – A lambda that starts a new TransactionComposer transaction group
- Example:
creator = AlgorandClientTransactionCreator(lambda: TransactionComposer())creator.payment(PaymentParams(sender="sender", receiver="receiver", amount=AlgoAmount.from_algo(1)))
property payment : collections.abc.Callable[[algokit_utils.transactions.transaction_composer.PaymentParams], algosdk.transaction.Transaction]
Section titled “property payment : collections.abc.Callable[[algokit_utils.transactions.transaction_composer.PaymentParams], algosdk.transaction.Transaction]”Create a payment transaction to transfer Algo between accounts.
- Example:
#Basic examplecreator = AlgorandClientTransactionCreator(lambda: TransactionComposer())creator.payment(PaymentParams(sender="sender", receiver="receiver", amount=AlgoAmount.from_algo(4)))
- Example:
#Advanced examplecreator.payment(PaymentParams(sender="SENDERADDRESS",receiver="RECEIVERADDRESS",amount=AlgoAmount.from_algo(4),close_remainder_to="CLOSEREMAINDERTOADDRESS",lease="lease",note=b"note",rekey_to="REKEYTOADDRESS",first_valid_round=1000,validity_window=10,extra_fee=AlgoAmount.from_micro_algo(1000),static_fee=AlgoAmount.from_micro_algo(1000),max_fee=AlgoAmount.from_micro_algo(3000)))
property asset*create *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AssetCreateParams], algosdk.transaction.Transaction]_
Section titled “property asset*create *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AssetCreateParams], algosdk.transaction.Transaction]_”Create a create Algorand Standard Asset transaction.
- Example:
#Basic examplecreator = AlgorandClientTransactionCreator(lambda: TransactionComposer())params = AssetCreateParams(sender="SENDER_ADDRESS", total=1000)txn = creator.asset_create(params)
- Example:
#Advanced examplecreator.asset_create(AssetCreateParams(sender="SENDER_ADDRESS",total=1000,asset_name="MyAsset",unit_name="MA",url="https://example.com/asset",decimals=0,default_frozen=False,manager="MANAGER_ADDRESS",reserve="RESERVE_ADDRESS",freeze="FREEZE_ADDRESS",clawback="CLAWBACK_ADDRESS",lease="lease",note=b"note",rekey_to="REKEYTOADDRESS",first_valid_round=1000,validity_window=10,extra_fee=AlgoAmount.from_micro_algo(1000),static_fee=AlgoAmount.from_micro_algo(1000),max_fee=AlgoAmount.from_micro_algo(3000)))
property asset*config *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AssetConfigParams], algosdk.transaction.Transaction]_
Section titled “property asset*config *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AssetConfigParams], algosdk.transaction.Transaction]_”Create an asset config transaction to reconfigure an existing Algorand Standard Asset.
- Example:
#Basic examplecreator = AlgorandClientTransactionCreator(lambda: TransactionComposer())params = AssetConfigParams(sender="SENDER_ADDRESS", asset_id=123456, manager="NEW_MANAGER_ADDRESS")txn = creator.asset_config(params)
- Example:
#Advanced examplecreator.asset_config(AssetConfigParams(sender="SENDER_ADDRESS",asset_id=123456,manager="NEW_MANAGER_ADDRESS",reserve="NEW_RESERVE_ADDRESS",freeze="NEW_FREEZE_ADDRESS",clawback="NEW_CLAWBACK_ADDRESS",lease="lease",note=b"note",rekey_to="REKEYTOADDRESS",first_valid_round=1000,validity_window=10,extra_fee=AlgoAmount.from_micro_algo(1000),static_fee=AlgoAmount.from_micro_algo(1000),max_fee=AlgoAmount.from_micro_algo(3000)))
property asset*freeze *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AssetFreezeParams], algosdk.transaction.Transaction]_
Section titled “property asset*freeze *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AssetFreezeParams], algosdk.transaction.Transaction]_”Create an Algorand Standard Asset freeze transaction.
- Example:
#Basic examplecreator = AlgorandClientTransactionCreator(lambda: TransactionComposer())params = AssetFreezeParams(sender="SENDER_ADDRESS",asset_id=123456,account="ACCOUNT_TO_FREEZE",frozen=True)txn = creator.asset_freeze(params)
- Example:
#Advanced examplecreator.asset_freeze(AssetFreezeParams(sender="SENDER_ADDRESS",asset_id=123456,account="ACCOUNT_TO_FREEZE",frozen=True,lease="lease",note=b"note",rekey_to="REKEYTOADDRESS",first_valid_round=1000,validity_window=10,extra_fee=AlgoAmount.from_micro_algo(1000),static_fee=AlgoAmount.from_micro_algo(1000),max_fee=AlgoAmount.from_micro_algo(3000)))
property asset*destroy *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AssetDestroyParams], algosdk.transaction.Transaction]_
Section titled “property asset*destroy *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AssetDestroyParams], algosdk.transaction.Transaction]_”Create an Algorand Standard Asset destroy transaction.
- Example:
#Basic examplecreator = AlgorandClientTransactionCreator(lambda: TransactionComposer())params = AssetDestroyParams(sender="SENDER_ADDRESS", asset_id=123456)txn = creator.asset_destroy(params)
- Example:
#Advanced examplecreator.asset_destroy(AssetDestroyParams(sender="SENDER_ADDRESS",asset_id=123456,lease="lease",note=b"note",rekey_to="REKEYTOADDRESS",first_valid_round=1000,validity_window=10,extra_fee=AlgoAmount.from_micro_algo(1000),static_fee=AlgoAmount.from_micro_algo(1000),max_fee=AlgoAmount.from_micro_algo(3000)))
property asset*transfer *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AssetTransferParams], algosdk.transaction.Transaction]_
Section titled “property asset*transfer *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AssetTransferParams], algosdk.transaction.Transaction]_”Create an Algorand Standard Asset transfer transaction.
- Example:
#Basic examplecreator = AlgorandClientTransactionCreator(lambda: TransactionComposer())params = AssetTransferParams(sender="SENDER_ADDRESS",asset_id=123456,amount=10,receiver="RECEIVER_ADDRESS")txn = creator.asset_transfer(params)
- Example:
#Advanced examplecreator.asset_transfer(AssetTransferParams(sender="SENDER_ADDRESS",asset_id=123456,amount=10,receiver="RECEIVER_ADDRESS",clawback_target="CLAWBACK_TARGET_ADDRESS",close_asset_to="CLOSE_ASSET_TO_ADDRESS",lease="lease",note=b"note",rekey_to="REKEYTOADDRESS",first_valid_round=1000,validity_window=10,extra_fee=AlgoAmount.from_micro_algo(1000),static_fee=AlgoAmount.from_micro_algo(1000),max_fee=AlgoAmount.from_micro_algo(3000)))
property asset*opt_in *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AssetOptInParams], algosdk.transaction.Transaction]_
Section titled “property asset*opt_in *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AssetOptInParams], algosdk.transaction.Transaction]_”Create an Algorand Standard Asset opt-in transaction.
- Example:
# Basic examplecreator = AlgorandClientTransactionCreator(lambda: TransactionComposer())params = AssetOptInParams(sender="SENDER_ADDRESS", asset_id=123456)txn = creator.asset_opt_in(params)
- Example:
# Advanced examplecreator.asset_opt_in(AssetOptInParams(sender="SENDER_ADDRESS",asset_id=123456,lease="lease",note=b"note",rekey_to="REKEYTOADDRESS",first_valid_round=1000,validity_window=10,extra_fee=AlgoAmount.from_micro_algo(1000),static_fee=AlgoAmount.from_micro_algo(1000),max_fee=AlgoAmount.from_micro_algo(3000)))
property asset*opt_out *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AssetOptOutParams], algosdk.transaction.Transaction]_
Section titled “property asset*opt_out *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AssetOptOutParams], algosdk.transaction.Transaction]_”Create an asset opt-out transaction.
- Example:
#Basic examplecreator = AlgorandClientTransactionCreator(lambda: TransactionComposer())params = AssetOptOutParams(sender="SENDER_ADDRESS", asset_id=123456, creator="CREATOR_ADDRESS")txn = creator.asset_opt_out(params)
- Example:
#Advanced examplecreator.asset_opt_out(AssetOptOutParams(sender="SENDER_ADDRESS",asset_id=123456,creator="CREATOR_ADDRESS",lease="lease",note=b"note",rekey_to="REKEYTOADDRESS",first_valid_round=1000,validity_window=10,extra_fee=AlgoAmount.from_micro_algo(1000),static_fee=AlgoAmount.from_micro_algo(1000),max_fee=AlgoAmount.from_micro_algo(3000)))
property app*create *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AppCreateParams], algosdk.transaction.Transaction]_
Section titled “property app*create *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AppCreateParams], algosdk.transaction.Transaction]_”Create an application create transaction.
- Example:
#Basic examplecreator = AlgorandClientTransactionCreator(lambda: TransactionComposer())params = AppCreateParams(sender="SENDER_ADDRESS",approval_program="TEAL_APPROVAL_CODE",clear_state_program="TEAL_CLEAR_CODE",schema={'global_ints': 1,'global_byte_slices': 1,'local_ints': 1,'local_byte_slices': 1})txn = creator.app_create(params)
- Example:
#Advanced examplecreator.app_create(AppCreateParams(sender="SENDER_ADDRESS",approval_program="TEAL_APPROVAL_CODE",clear_state_program="TEAL_CLEAR_CODE",schema={'global_ints': 1, 'global_byte_slices': 1, 'local_ints': 1, 'local_byte_slices': 1},on_complete=OnComplete.NoOpOC,args=[b'arg1', b'arg2'],account_references=["ACCOUNT1"],app_references=[789],asset_references=[123],box_references=[],extra_program_pages=0,lease="lease",note=b"note",rekey_to="REKEYTOADDRESS",first_valid_round=1000,validity_window=10,extra_fee=AlgoAmount.from_micro_algo(1000),static_fee=AlgoAmount.from_micro_algo(1000),max_fee=AlgoAmount.from_micro_algo(3000)))
property app*update *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AppUpdateParams], algosdk.transaction.Transaction]_
Section titled “property app*update *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AppUpdateParams], algosdk.transaction.Transaction]_”Create an application update transaction.
- Example:
#Basic examplecreator = AlgorandClientTransactionCreator(lambda: TransactionComposer())txn = creator.app_update(AppUpdateParams(sender="SENDER_ADDRESS",app_id=789,approval_program="TEAL_NEW_APPROVAL_CODE",clear_state_program="TEAL_NEW_CLEAR_CODE",args=[b'new_arg1', b'new_arg2']))
- Example:
#Advanced examplecreator.app_update(AppUpdateParams(sender="SENDER_ADDRESS",app_id=789,approval_program="TEAL_NEW_APPROVAL_CODE",clear_state_program="TEAL_NEW_CLEAR_CODE",args=[b'new_arg1', b'new_arg2'],account_references=["ACCOUNT1"],app_references=[789],asset_references=[123],box_references=[],on_complete=OnComplete.UpdateApplicationOC,lease="lease",note=b"note",rekey_to="REKEYTOADDRESS",first_valid_round=1000,validity_window=10,extra_fee=AlgoAmount.from_micro_algo(1000),static_fee=AlgoAmount.from_micro_algo(1000),max_fee=AlgoAmount.from_micro_algo(3000)))
property app*delete *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AppDeleteParams], algosdk.transaction.Transaction]_
Section titled “property app*delete *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AppDeleteParams], algosdk.transaction.Transaction]_”Create an application delete transaction.
- Example:
#Basic examplecreator = AlgorandClientTransactionCreator(lambda: TransactionComposer())params = AppDeleteParams(sender="SENDER_ADDRESS", app_id=789, args=[b'delete_arg'])txn = creator.app_delete(params)
- Example:
#Advanced examplecreator.app_delete(AppDeleteParams(sender="SENDER_ADDRESS",app_id=789,args=[b'delete_arg'],account_references=["ACCOUNT1"],app_references=[789],asset_references=[123],box_references=[],on_complete=OnComplete.DeleteApplicationOC,lease="lease",note=b"note",rekey_to="REKEYTOADDRESS",first_valid_round=1000,validity_window=10,extra_fee=AlgoAmount.from_micro_algo(1000),static_fee=AlgoAmount.from_micro_algo(1000),max_fee=AlgoAmount.from_micro_algo(3000)))
property app*call *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AppCallParams], algosdk.transaction.Transaction]_
Section titled “property app*call *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AppCallParams], algosdk.transaction.Transaction]_”Create an application call transaction.
- Example:
#Basic examplecreator = AlgorandClientTransactionCreator(lambda: TransactionComposer())params = AppCallParams(sender="SENDER_ADDRESS",on_complete=OnComplete.NoOpOC,app_id=789,approval_program="TEAL_APPROVAL_CODE",clear_state_program="TEAL_CLEAR_CODE",schema={'global_ints': 1,'global_byte_slices': 1,'local_ints': 1,'local_byte_slices': 1},args=[b'arg1', b'arg2'],account_references=["ACCOUNT1"],app_references=[789],asset_references=[123],extra_pages=0,box_references=[])txn = creator.app_call(params)
- Example:
#Advanced examplecreator.app_call(AppCallParams(sender="SENDER_ADDRESS",on_complete=OnComplete.NoOpOC,app_id=789,approval_program="TEAL_APPROVAL_CODE",clear_state_program="TEAL_CLEAR_CODE",schema={'global_ints': 1, 'global_byte_slices': 1, 'local_ints': 1, 'local_byte_slices': 1},args=[b'arg1', b'arg2'],account_references=["ACCOUNT1"],app_references=[789],asset_references=[123],extra_pages=0,box_references=[],lease="lease",note=b"note",rekey_to="REKEYTOADDRESS",first_valid_round=1000,validity_window=10,extra_fee=AlgoAmount.from_micro_algo(1000),static_fee=AlgoAmount.from_micro_algo(1000),max_fee=AlgoAmount.from_micro_algo(3000)))
property app*create_method_call *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AppCreateMethodCallParams], algokit_utils.transactions.transaction_composer.BuiltTransactions]_
Section titled “property app*create_method_call *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AppCreateMethodCallParams], algokit_utils.transactions.transaction_composer.BuiltTransactions]_”Create an application create call with ABI method call transaction.
- Example:
#Basic examplecreator = AlgorandClientTransactionCreator(lambda: TransactionComposer())params = AppCreateMethodCallParams(sender="SENDER_ADDRESS", app_id=0, method=some_abi_method_object)built_txns = creator.app_create_method_call(params)
- Example:
#Advanced examplecreator.app_create_method_call(AppCreateMethodCallParams(sender="SENDER_ADDRESS",app_id=0,method=some_abi_method_object,args=[b'method_arg'],account_references=["ACCOUNT1"],app_references=[789],asset_references=[123],box_references=[],schema={'global_ints': 1, 'global_byte_slices': 1, 'local_ints': 1, 'local_byte_slices': 1},approval_program="TEAL_APPROVAL_CODE",clear_state_program="TEAL_CLEAR_CODE",on_complete=OnComplete.NoOpOC,extra_program_pages=0,lease="lease",note=b"note",rekey_to="REKEYTOADDRESS",first_valid_round=1000,validity_window=10,extra_fee=AlgoAmount.from_micro_algo(1000),static_fee=AlgoAmount.from_micro_algo(1000),max_fee=AlgoAmount.from_micro_algo(3000)))
property app*update_method_call *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AppUpdateMethodCallParams], algokit_utils.transactions.transaction_composer.BuiltTransactions]_
Section titled “property app*update_method_call *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AppUpdateMethodCallParams], algokit_utils.transactions.transaction_composer.BuiltTransactions]_”Create an application update call with ABI method call transaction.
- Example:
#Basic examplecreator = AlgorandClientTransactionCreator(lambda: TransactionComposer())params = AppUpdateMethodCallParams(sender="SENDER_ADDRESS", app_id=789, method=some_abi_method_object)built_txns = creator.app_update_method_call(params)
- Example:
#Advanced examplecreator.app_update_method_call(AppUpdateMethodCallParams(sender="SENDER_ADDRESS",app_id=789,method=some_abi_method_object,args=[b'method_arg'],account_references=["ACCOUNT1"],app_references=[789],asset_references=[123],box_references=[],schema={'global_ints': 1, 'global_byte_slices': 1, 'local_ints': 1, 'local_byte_slices': 1},approval_program="TEAL_NEW_APPROVAL_CODE",clear_state_program="TEAL_NEW_CLEAR_CODE",on_complete=OnComplete.UpdateApplicationOC,lease="lease",note=b"note",rekey_to="REKEYTOADDRESS",first_valid_round=1000,validity_window=10,extra_fee=AlgoAmount.from_micro_algo(1000),static_fee=AlgoAmount.from_micro_algo(1000),max_fee=AlgoAmount.from_micro_algo(3000)))
property app*delete_method_call *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AppDeleteMethodCallParams], algokit_utils.transactions.transaction_composer.BuiltTransactions]_
Section titled “property app*delete_method_call *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AppDeleteMethodCallParams], algokit_utils.transactions.transaction_composer.BuiltTransactions]_”Create an application delete call with ABI method call transaction.
- Example:
#Basic examplecreator = AlgorandClientTransactionCreator(lambda: TransactionComposer())params = AppDeleteMethodCallParams(sender="SENDER_ADDRESS", app_id=789, method=some_abi_method_object)built_txns = creator.app_delete_method_call(params)
- Example:
#Advanced examplecreator.app_delete_method_call(AppDeleteMethodCallParams(sender="SENDER_ADDRESS",app_id=789,method=some_abi_method_object,args=[b'method_arg'],account_references=["ACCOUNT1"],app_references=[789],asset_references=[123],box_references=[],lease="lease",note=b"note",rekey_to="REKEYTOADDRESS",first_valid_round=1000,validity_window=10,extra_fee=AlgoAmount.from_micro_algo(1000),static_fee=AlgoAmount.from_micro_algo(1000),max_fee=AlgoAmount.from_micro_algo(3000)))
property app*call_method_call *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AppCallMethodCallParams], algokit_utils.transactions.transaction_composer.BuiltTransactions]_
Section titled “property app*call_method_call *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.AppCallMethodCallParams], algokit_utils.transactions.transaction_composer.BuiltTransactions]_”Create an application call with ABI method call transaction.
-
Example:
#Basic examplecreator = AlgorandClientTransactionCreator(lambda: TransactionComposer())params = AppCallMethodCallParams(sender="SENDER_ADDRESS", app_id=789, method=some_abi_method_object)built_txns = creator.app_call_method_call(params) -
Example:
Advanced examplecreator.app_call_method_call(AppCallMethodCallParams(sender=”SENDER_ADDRESS”, app_id=789, method=some_abi_method_object, args=[b’method_arg’], account_references=[“ACCOUNT1”], app_references=[789], asset_references=[123], box_references=[], lease=”lease”, note=b”note”, rekey_to=”REKEYTOADDRESS”, first_valid_round=1000, validity_window=10, extra_fee=AlgoAmount.from_micro_algo(1000), static_fee=AlgoAmount.from_micro_algo(1000), max_fee=AlgoAmount.from_micro_algo(3000)
))
property online*key_registration *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.OnlineKeyRegistrationParams], algosdk.transaction.Transaction]_
Section titled “property online*key_registration *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.OnlineKeyRegistrationParams], algosdk.transaction.Transaction]_”Create an online key registration transaction.
- Example:
#Basic examplecreator = AlgorandClientTransactionCreator(lambda: TransactionComposer())params = OnlineKeyRegistrationParams(sender="SENDER_ADDRESS",vote_key="VOTE_KEY",selection_key="SELECTION_KEY",vote_first=1000,vote_last=2000,vote_key_dilution=10,state_proof_key=b"state_proof_key_bytes")txn = creator.online_key_registration(params)
- Example:
#Advanced examplecreator.online_key_registration(OnlineKeyRegistrationParams(sender="SENDER_ADDRESS",vote_key="VOTE_KEY",selection_key="SELECTION_KEY",vote_first=1000,vote_last=2000,vote_key_dilution=10,state_proof_key=b"state_proof_key_bytes",lease="lease",note=b"note",rekey_to="REKEYTOADDRESS",first_valid_round=1000,validity_window=10,extra_fee=AlgoAmount.from_micro_algo(1000),static_fee=AlgoAmount.from_micro_algo(1000),max_fee=AlgoAmount.from_micro_algo(3000)))
property offline*key_registration *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.OfflineKeyRegistrationParams], algosdk.transaction.Transaction]_
Section titled “property offline*key_registration *: collections.abc.Callable[[algokit_utils.transactions.transaction_composer.OfflineKeyRegistrationParams], algosdk.transaction.Transaction]_”Create an offline key registration transaction.
- Example:
#Basic examplecreator = AlgorandClientTransactionCreator(lambda: TransactionComposer())txn = creator.offline_key_registration(OfflineKeyRegistrationParams(sender="SENDER_ADDRESS",prevent_account_from_ever_participating_again=True))
- Example:
#Advanced examplecreator.offline_key_registration(OfflineKeyRegistrationParams(sender="SENDER_ADDRESS",prevent_account_from_ever_participating_again=True,lease="lease",note=b"note",rekey_to="REKEYTOADDRESS",first_valid_round=1000,validity_window=10,extra_fee=AlgoAmount.from_micro_algo(1000),static_fee=AlgoAmount.from_micro_algo(1000),max_fee=AlgoAmount.from_micro_algo(3000)))