diff --git a/main.py b/main.py index 1d882ff..7aeb501 100644 --- a/main.py +++ b/main.py @@ -7,22 +7,12 @@ AssetFreezeParams, ) - -# Client to connect to localnet algorand = AlgorandClient.default_local_net() - -# Import dispenser from KMD dispenser = algorand.account.dispenser() print("Dispenser Address: ", dispenser.address) - -# Create a wallet for the creator of the token creator = algorand.account.random() print("Creator Address: ",creator.address) - -# Get account info about creator print(algorand.account.get_information(creator.address)) - -# Fund creator address with algo algorand.send.payment( PayParams( sender=dispenser.address, @@ -30,11 +20,7 @@ amount=10_000_000 ) ) - -# Check out the creator account changes after funding print(algorand.account.get_information(creator.address)) - -# Create Algorand Standard Asset sent_txn = algorand.send.asset_create( AssetCreateParams( sender=creator.address, @@ -46,16 +32,10 @@ freeze=creator.address ) ) - -# Extracting the confirmation and asset index of the asset creation transaction to get asset ID asset_id= sent_txn["confirmation"]["asset-index"] print("Asset ID: ", asset_id) - -# Create receiver account receiver_acct = algorand.account.random() print("Receiver Account: ", receiver_acct.address) - -# Fund receiver account algorand.send.payment( PayParams( sender=dispenser.address, @@ -63,31 +43,20 @@ amount=10_000_000 ) ) - print(algorand.account.get_information(receiver_acct.address)) - -# Atomic transfer segment - optin txn / payment txn / asset transfer txn - -# Create a new transaction group group_tx = algorand.new_group() - -# Add an asset opt-in transaction to the group group_tx.add_asset_opt_in( AssetOptInParams( sender=receiver_acct.address, - asset_id=asset_id # The ID of the asset to opt in to + asset_id=asset_id ) ) - -# Add a payment transaction to the group group_tx.add_payment( PayParams( sender=receiver_acct.address, receiver=creator.address, amount=1_000_000 )) - -# Add an asset transfer transaction to the group group_tx.add_asset_transfer( AssetTransferParams( sender=creator.address, @@ -96,24 +65,10 @@ amount=10 ) ) - -# Execute the transaction group group_tx.execute() - -# Print the entire information from the Receiver Account print(algorand.account.get_information(receiver_acct.address)) - -# Print the amount of the asset the receiver account holds after the transactions print("Receiver Account Asset Balance:",algorand.account.get_information(receiver_acct.address)['assets'][0]['amount']) - -# Print the remaining balance of the creator account after the transactions print("Creator Account Balance:", algorand.account.get_information(creator.address)['amount']) - -#------------------------------------------------------- -# Additional Information (Freeze & Clawback) - -# Freeze - algorand.send.asset_freeze( AssetFreezeParams( sender=creator.address, @@ -123,19 +78,6 @@ ) ) -# Test freeze error -""" algorand.send.asset_transfer( - AssetTransferParams( - sender=receiver_acct.address, - receiver=creator.address, - asset_id=asset_id, - amount=2 - ) -) - """ - -# UnFreeze - algorand.send.asset_freeze( AssetFreezeParams( sender=creator.address, @@ -143,11 +85,7 @@ account=receiver_acct.address, frozen= False ) -) - -# Send asset - -algorand.send.asset_transfer( +)algorand.send.asset_transfer( AssetTransferParams( sender=receiver_acct.address, receiver=creator.address, @@ -155,12 +93,7 @@ amount=2 ) ) - - print(algorand.account.get_information(receiver_acct.address)['assets'][0]['amount']) - -# Clawback - algorand.send.asset_transfer( AssetTransferParams( sender= creator.address, @@ -170,6 +103,4 @@ clawback_target= receiver_acct.address ) ) - -print(algorand.account.get_information(receiver_acct.address)['assets'][0]['amount']) - +print(algorand.account.get_information(receiver_acct.address)['assets'][0]['amount']) \ No newline at end of file diff --git a/nimra.py b/nimra.py new file mode 100644 index 0000000..e69de29