| Title | Akita Token Swap |
|---|---|
| Description | The Akita Inu ASA changed from an old ASA to a new ASA and offered this contract to holders as a way to swap with a 1-to-1 exchange rate. |
| Network | Mainnet |
| Application ID | 537279393 |
| Teal Version | 5 |
| AVM Version | 1.0 |
| OnComplete Features | NoOp |
| State Schemas | 0 Global Bytes, 3 Global Ints, 0 Local Bytes, 0 Local Ints. |
| Supported ARCs | None |
| GitHub | https://github.com/OfficialAkitaInu/SmartContracts/blob/development/contracts/AkitaTokenSwapper/ |
| Written In | PyTeal |
| Timeline of notable events |
|
| Last updated | 2022-10-22 11:02:39 |
Approval Program:
BSAFAAQBAgMmAwxOZXdfQXNzZXRfSUQNU3dhcF9Bc3NldF9JRAhNdWx0aXBseTEBgdAPDTEgMgMTETEZJRIRMRkjEhExGSEEEhExGYEFEhExGSQSETEJMgMTETEVMgMTEUABCzEYIhJAAQIxGyUSQACUMRkiEkAAAQAyBCEEEjMAECMSEDMAEShkEhAzABIiEhAzAAAzABQSEDMAIDIDEhAzAAkyAxIQMwAVMgMSEDMBECMSEDMBEiINEDMBESlkEhAzAQAzAAASEDMBFDIKEhAzASAyAxIQMwEJMgMSEDMBFTIDEhAzAhkiEhAzAhsiEhAzAgAzAQASEEQzARIqZAuIAH0kQylkIhIoZCISEDIEJRIQMwAQJBIQMwAHMgoSEDMAADIJEhAzAAiBsLcSEhAzARgyCBIQMwEZIhIQRDYaABeIACs2GgEXiAAkKTYaABdnKDYaARdnKGRxATUANQE0AEQqgQo0AZRnJEMkQyJDNQKxI7IQNAKyETIKshSziTUDsSOyEDEAshQ0A7ISKGSyEbOJ
Clear State Program:
BYEAQw==
Approval Program:
#pragma version 5 txn Fee pushint 2000 > txn RekeyTo global ZeroAddress != || txn OnCompletion int CloseOut == || txn OnCompletion int UpdateApplication == || txn OnCompletion int ClearState == || txn OnCompletion pushint DeleteApplication == || txn OnCompletion int OptIn == || txn CloseRemainderTo global ZeroAddress != || txn AssetCloseTo global ZeroAddress != || bnz label1 txn ApplicationID int 0 == bnz label2 txn NumAppArgs int 2 == bnz label3 txn OnCompletion int NoOp == bnz label4 err label4: global GroupSize int 3 == gtxn 0 TypeEnum int axfer == && gtxn 0 XferAsset byte "New_Asset_ID" app_global_get == && gtxn 0 AssetAmount int 0 == && gtxn 0 Sender gtxn 0 AssetReceiver == && gtxn 0 RekeyTo global ZeroAddress == && gtxn 0 CloseRemainderTo global ZeroAddress == && gtxn 0 AssetCloseTo global ZeroAddress == && gtxn 1 TypeEnum int axfer == && gtxn 1 AssetAmount int 0 > && gtxn 1 XferAsset byte "Swap_Asset_ID" app_global_get == && gtxn 1 Sender gtxn 0 Sender == && gtxn 1 AssetReceiver global CurrentApplicationAddress == && gtxn 1 RekeyTo global ZeroAddress == && gtxn 1 CloseRemainderTo global ZeroAddress == && gtxn 1 AssetCloseTo global ZeroAddress == && gtxn 2 OnCompletion int NoOp == && gtxn 2 NumAppArgs int 0 == && gtxn 2 Sender gtxn 1 Sender == && assert gtxn 1 AssetAmount byte "Multiply" app_global_get * callsub label5 int 1 return label3: byte "Swap_Asset_ID" app_global_get int 0 == byte "New_Asset_ID" app_global_get int 0 == && global GroupSize int 2 == && gtxn 0 TypeEnum int pay == && gtxn 0 Receiver global CurrentApplicationAddress == && gtxn 0 Sender global CreatorAddress == && gtxn 0 Amount pushint 302000 == && gtxn 1 ApplicationID global CurrentApplicationID == && gtxn 1 OnCompletion int NoOp == && assert txna ApplicationArgs 0 btoi callsub label6 txna ApplicationArgs 1 btoi callsub label6 byte "Swap_Asset_ID" txna ApplicationArgs 0 btoi app_global_put byte "New_Asset_ID" txna ApplicationArgs 1 btoi app_global_put byte "New_Asset_ID" app_global_get asset_params_get AssetDecimals store 0 store 1 load 0 assert byte "Multiply" pushint 10 load 1 exp app_global_put int 1 return label2: int 1 return label1: int 0 return label6: store 2 itxn_begin int axfer itxn_field TypeEnum load 2 itxn_field XferAsset global CurrentApplicationAddress itxn_field AssetReceiver itxn_submit retsub label5: store 3 itxn_begin int axfer itxn_field TypeEnum txn Sender itxn_field AssetReceiver load 3 itxn_field AssetAmount byte "New_Asset_ID" app_global_get itxn_field XferAsset itxn_submit retsub
Clear State Program:
#pragma version 5 int 0 return