algokit_utils.transactions.transaction_creator
Classes
Section titled “Classes”AlgorandClientTransactionCreator | A creator for Algorand transactions. |
|---|
Module Contents
Section titled “Module Contents”class AlgorandClientTransactionCreator
Section titled “class AlgorandClientTransactionCreator”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 : Callable[[PaymentParams], algosdk.transaction.Transaction]
Section titled “property payment : Callable[[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 : Callable[[AssetCreateParams], algosdk.transaction.Transaction]
Section titled “property asset_create : Callable[[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 : Callable[[AssetConfigParams], algosdk.transaction.Transaction]
Section titled “property asset_config : Callable[[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 : Callable[[AssetFreezeParams], algosdk.transaction.Transaction]
Section titled “property asset_freeze : Callable[[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 : Callable[[AssetDestroyParams], algosdk.transaction.Transaction]
Section titled “property asset_destroy : Callable[[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 : Callable[[AssetTransferParams], algosdk.transaction.Transaction]
Section titled “property asset_transfer : Callable[[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 : Callable[[AssetOptInParams], algosdk.transaction.Transaction]
Section titled “property asset_opt_in : Callable[[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 : Callable[[AssetOptOutParams], algosdk.transaction.Transaction]
Section titled “property asset_opt_out : Callable[[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 : Callable[[AppCreateParams], algosdk.transaction.Transaction]
Section titled “property app_create : Callable[[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 : Callable[[AppUpdateParams], algosdk.transaction.Transaction]
Section titled “property app_update : Callable[[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 : Callable[[AppDeleteParams], algosdk.transaction.Transaction]
Section titled “property app_delete : Callable[[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 : Callable[[AppCallParams], algosdk.transaction.Transaction]
Section titled “property app_call : Callable[[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 : Callable[[AppCreateMethodCallParams], BuiltTransactions]
Section titled “property app_create_method_call : Callable[[AppCreateMethodCallParams], 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 : Callable[[AppUpdateMethodCallParams], BuiltTransactions]
Section titled “property app_update_method_call : Callable[[AppUpdateMethodCallParams], 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 : Callable[[AppDeleteMethodCallParams], BuiltTransactions]
Section titled “property app_delete_method_call : Callable[[AppDeleteMethodCallParams], 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 : Callable[[AppCallMethodCallParams], BuiltTransactions]
Section titled “property app_call_method_call : Callable[[AppCallMethodCallParams], 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 : Callable[[OnlineKeyRegistrationParams], algosdk.transaction.Transaction]
Section titled “property online_key_registration : Callable[[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 : Callable[[OfflineKeyRegistrationParams], algosdk.transaction.Transaction]
Section titled “property offline_key_registration : Callable[[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)))