Friday, September 23, 2022

NFD Domains Smart Contract (DeCompiled)

Just copied it from Algo Explorer
0 #pragma version 6 txn RekeyTo global ZeroAddress != txn CloseRemainderTo global ZeroAddress != || txn AssetCloseTo global ZeroAddress != || bnz label1 txn ApplicationID int 0 == bnz label2 txn OnCompletion int 0 == bnz label3 txn OnCompletion pushint 5 == bnz label4 txn OnCompletion intc 4 == bnz label5 txn OnCompletion int 3 == bnz label6 txn OnCompletion int 2 == bnz label7 txn OnCompletion int 1 == bnz label8 err label8: int 0 return label7: int 0 return label6: int 0 return label5: bytec 12 app_global_get bytec 7 == bnz label9 callsub label10 ! bnz label11 txn NumAppArgs int 2 >= txna ApplicationArgs 0 pushbytes 0x75706772616465 == && assert bytec 16 txna ApplicationArgs 1 app_global_put byte base64 aS50aW1lQ2hhbmdlZA== global LatestTimestamp itob app_global_put int 1 return label11: int 0 return label9: int 0 return label4: int 0 return label3: txna ApplicationArgs 0 pushbytes 0x6d696e74 == txn NumAppArgs int 3 == && bnz label12 bytec 5 callsub label13 bytec 7 == bnz label14 txna ApplicationArgs 0 pushbytes 0x6f666665725f666f725f73616c65 == txn NumAppArgs int 2 == txn NumAppArgs int 3 == || && bnz label15 txna ApplicationArgs 0 pushbytes 0x72657363696e645f6f66666572 == txn NumAppArgs int 1 == && bnz label16 txna ApplicationArgs 0 pushbytes 0x6d616b655f6f66666572 == txn NumAppArgs int 2 == && bnz label17 txna ApplicationArgs 0 pushbytes 0x657363726f775f6f66666572 == txn NumAppArgs int 2 == && txn GroupIndex int 0 > && bnz label18 txna ApplicationArgs 0 bytec 17 == txn NumAppArgs int 1 >= && bnz label19 bytec 5 callsub label13 bytec 8 == bnz label20 txna ApplicationArgs 0 pushbytes 0x7570646174655f6669656c64 == txn NumAppArgs int 3 >= && bnz label21 callsub label22 txn GroupIndex callsub label23 || txna ApplicationArgs 0 pushbytes 0x7570646174655f68617368 == && txn NumAppArgs int 2 == && txna ApplicationArgs 1 len pushint 32 == && txna ApplicationArgs 1 global ZeroAddress != && bnz label24 callsub label22 txna ApplicationArgs 0 pushbytes 0x636f6e74726163745f6c6f636b == && txn NumAppArgs int 2 == && txna ApplicationArgs 1 bytec 18 == txna ApplicationArgs 1 bytec 7 == || && bnz label25 txna ApplicationArgs 0 pushbytes 0x706f73745f6f66666572 == txn NumAppArgs int 3 == && txna ApplicationArgs 1 btoi int 0 > && bnz label26 err label26: int 1 label27: return label25: byte base64 aS50aW1lQ2hhbmdlZA== global LatestTimestamp itob app_global_put bytec 12 txna ApplicationArgs 1 app_global_put int 1 b label27 label24: itxn_begin int 3 itxn_field TypeEnum global CurrentApplicationAddress itxn_field Sender bytec 9 app_global_get btoi itxn_field ConfigAsset global CurrentApplicationAddress itxn_field ConfigAssetManager txna ApplicationArgs 1 itxn_field ConfigAssetReserve global CurrentApplicationAddress itxn_field ConfigAssetClawback int 0 itxn_field Fee itxn_submit int 1 b label27 label21: txn GroupIndex callsub label23 store 13 byte base64 aS50aW1lQ2hhbmdlZA== global LatestTimestamp itob app_global_put int 1 store 14 label32: load 14 txn NumAppArgs < bnz label28 int 1 b label27 label28: load 14 txnas ApplicationArgs load 13 load 14 callsub label29 int 0 == bnz label30 load 14 int 1 + txnas ApplicationArgs len int 0 == bnz label31 load 14 txnas ApplicationArgs load 14 int 1 + txnas ApplicationArgs app_global_put label33: load 14 int 2 + store 14 b label32 label31: load 14 txnas ApplicationArgs app_global_del b label33 label30: int 0 return label20: int 0 b label27 label19: txn GroupIndex callsub label23 store 11 byte base64 aS50aW1lQ2hhbmdlZA== global LatestTimestamp itob app_global_put int 1 store 12 label37: load 12 txn NumAppArgs < bnz label34 int 1 b label27 label34: load 12 txnas ApplicationArgs load 11 callsub label35 int 0 == bnz label36 load 12 txnas ApplicationArgs app_global_del load 12 int 1 + store 12 b label37 label36: int 0 return label18: bytec 6 callsub label38 int 0 > assert bytec 4 callsub label13 len int 0 == assert bytec 19 app_global_get pushbytes 0x61756374696f6e == assert bytec 5 callsub label13 bytec 8 == assert txna ApplicationArgs 1 btoi store 9 txn GroupIndex int 1 - gtxns TypeEnum int 1 == assert txn GroupIndex int 1 - gtxns Amount load 9 == assert txn GroupIndex int 1 - gtxns Sender txn Sender == assert txn GroupIndex int 1 - gtxns Receiver global CurrentApplicationAddress == assert byte base64 aS5taW50aW5nS2lja29mZkFtb3VudA== callsub label38 store 10 byte base64 aS5taW50aW5nS2lja29mZkNyZWF0b3IuYQ== callsub label13 len int 0 != bnz label39 label41: byte base64 aS5taW50aW5nS2lja29mZkNyZWF0b3IuYQ== txn GroupIndex int 1 - gtxns Sender app_global_put byte base64 aS5taW50aW5nS2lja29mZkFtb3VudA== txn GroupIndex int 1 - gtxns Amount itob app_global_put byte base64 aS50aW1lQ2hhbmdlZA== global LatestTimestamp itob app_global_put int 1 b label27 label39: load 10 pushint 10000000 + load 9 > bnz label40 itxn_begin int 1 itxn_field TypeEnum load 10 itxn_field Amount global CurrentApplicationAddress itxn_field Sender byte base64 aS5taW50aW5nS2lja29mZkNyZWF0b3IuYQ== app_global_get itxn_field Receiver itxn_submit b label41 label40: int 0 return label17: bytec 6 callsub label38 store 2 global GroupSize int 3 >= txn GroupIndex int 2 >= && txn Fee global MinTxnFee intc 6 * >= && ! bnz label42 load 2 int 0 == bnz label43 bytec 4 callsub label13 len int 0 != bytec 4 callsub label13 txn Sender != && bnz label44 txna ApplicationArgs 1 btoi store 3 load 3 store 4 byte base64 aS5taW50aW5nS2lja29mZkNyZWF0b3IuYQ== callsub label13 txn GroupIndex int 1 - gtxns Sender == bnz label45 label60: load 3 intc 7 < load 3 load 2 < || bnz label46 load 3 load 2 - store 5 load 3 load 5 - store 3 txn GroupIndex int 2 - gtxns TypeEnum intc 4 == txn GroupIndex int 2 - gtxns XferAsset bytec 9 app_global_get btoi == && txn GroupIndex int 2 - gtxns AssetAmount int 0 == && txn GroupIndex int 2 - gtxns Sender txn Sender == && txn GroupIndex int 2 - gtxns AssetReceiver txn Sender == && ! bnz label47 txn GroupIndex int 1 - gtxns TypeEnum int 1 == txn GroupIndex int 1 - gtxns Amount load 4 == && txn GroupIndex int 1 - gtxns Sender txn Sender == && txn GroupIndex int 1 - gtxns Receiver global CurrentApplicationAddress == && ! bnz label48 load 3 bytec 13 callsub label38 * pushint 1000 / store 1 txna Assets 0 bytec 9 app_global_get btoi != bnz label49 load 5 int 0 > bnz label50 label59: itxn_begin int 1 itxn_field TypeEnum load 3 load 1 - itxn_field Amount global CurrentApplicationAddress itxn_field Sender bytec 14 app_global_get itxn_field Receiver itxn_submit bytec 10 callsub label13 len int 0 != bnz label51 label58: byte base64 aS5taW50aW5nS2lja29mZkNyZWF0b3IuYQ== callsub label13 len int 0 != bnz label52 label57: byte base64 aS5vd25lci5h app_global_get txna Assets 0 asset_holding_get AssetBalance store 7 store 6 load 6 int 1 == bnz label53 global CurrentApplicationAddress store 8 label56: itxn_begin intc 4 itxn_field TypeEnum txna Assets 0 itxn_field XferAsset int 1 itxn_field AssetAmount global CurrentApplicationAddress itxn_field Sender load 8 itxn_field AssetSender txn Sender itxn_field AssetReceiver itxn_submit int 1 pop byte base64 aS5vd25lci5h txn Sender app_global_put bytec 14 txn Sender app_global_put load 3 bytec 20 callsub label38 > bnz label54 label55: byte base64 aS50aW1lQ2hhbmdlZA== global LatestTimestamp itob app_global_put pushbytes 0x692e74696d65507572636861736564 global LatestTimestamp itob app_global_put bytec 5 app_global_del bytec 4 app_global_del bytec 6 app_global_del byte base64 aS5taW50aW5nS2lja29mZkNyZWF0b3IuYQ== app_global_del byte base64 aS5taW50aW5nS2lja29mZkFtb3VudA== app_global_del load 3 itob log int 1 b label27 label54: bytec 20 load 3 itob app_global_put b label55 label53: byte base64 aS5vd25lci5h app_global_get store 8 b label56 label52: byte base64 aS5taW50aW5nS2lja29mZkNyZWF0b3IuYQ== app_global_get txn Sender != bz label57 itxn_begin int 1 itxn_field TypeEnum byte base64 aS5taW50aW5nS2lja29mZkFtb3VudA== app_global_get btoi itxn_field Amount global CurrentApplicationAddress itxn_field Sender byte base64 aS5taW50aW5nS2lja29mZkNyZWF0b3IuYQ== app_global_get itxn_field Receiver itxn_submit b label57 label51: itxn_begin int 1 itxn_field TypeEnum load 1 itxn_field Amount global CurrentApplicationAddress itxn_field Sender bytec 10 app_global_get itxn_field Receiver itxn_submit bytec 11 callsub label13 len int 0 != bz label58 bytec 10 bytec 11 app_global_get app_global_put bytec 13 bytec 15 app_global_get app_global_put bytec 11 app_global_del bytec 15 app_global_del b label58 label50: itxn_begin int 1 itxn_field TypeEnum load 5 itxn_field Amount global CurrentApplicationAddress itxn_field Sender txn GroupIndex int 1 - gtxns Sender itxn_field Receiver itxn_submit b label59 label49: int 0 return label48: int 0 return label47: int 0 return label46: int 0 return label45: load 3 byte base64 aS5taW50aW5nS2lja29mZkFtb3VudA== callsub label38 + store 3 b label60 label44: int 0 return label43: int 0 return label42: int 0 return label16: callsub label22 ! bnz label61 callsub label62 ! bnz label63 bytec 6 app_global_del bytec 4 app_global_del byte base64 aS50aW1lQ2hhbmdlZA== global LatestTimestamp itob app_global_put int 1 b label27 label63: int 0 return label61: int 0 return label15: txna ApplicationArgs 1 btoi store 0 global CallerApplicationID intc 5 != callsub label22 ! && bnz label64 global CallerApplicationID intc 5 != bnz label65 label70: load 0 intc 7 < bnz label66 byte base64 aS50aW1lQ2hhbmdlZA== global LatestTimestamp itob app_global_put pushbytes 0x762e6361416c676f2e302e6173 app_global_del pushbytes 0x762e646f6d61696e app_global_del pushbytes 0x762e656d61696c app_global_del pushbytes 0x762e74776974746572 app_global_del pushbytes 0x762e6c696e6b6564696e app_global_del pushbytes 0x762e66616365626f6f6b app_global_del pushbytes 0x762e74656c656772616d app_global_del pushbytes 0x762e646973636f7264 app_global_del pushbytes 0x762e676974687562 app_global_del bytec 6 txna ApplicationArgs 1 app_global_put txn NumAppArgs int 3 == bnz label67 byte base64 aS5taW50aW5nS2lja29mZkFtb3VudA== callsub label38 int 0 > load 0 byte base64 aS5taW50aW5nS2lja29mZkFtb3VudA== callsub label38 <= && bnz label68 bytec 4 app_global_del label69: int 1 b label27 label68: bytec 4 byte base64 aS5taW50aW5nS2lja29mZkNyZWF0b3IuYQ== app_global_get app_global_put b label69 label67: txna ApplicationArgs 2 global ZeroAddress != txna ApplicationArgs 2 byte base64 aS5vd25lci5h callsub label13 != && bz label69 bytec 4 txna ApplicationArgs 2 app_global_put b label69 label66: int 0 return label65: global GroupSize int 1 > txn GroupIndex int 1 + callsub label23 && txn GroupIndex int 1 + gtxns ApplicationID global CurrentApplicationID == && txn GroupIndex int 1 + gtxns TypeEnum intc 6 == && txn GroupIndex int 1 + gtxnsa ApplicationArgs 0 bytec 17 == && ! bz label70 int 0 return label64: int 0 return label14: int 0 b label27 label12: global CallerApplicationID intc 5 != bnz label71 byte base64 aS5taW50aW5nS2lja29mZkFtb3VudA== callsub label38 int 0 > bnz label72 label73: itxn_begin int 3 itxn_field TypeEnum pushbytes 0x4e4644 itxn_field ConfigAssetUnitName txna ApplicationArgs 1 itxn_field ConfigAssetName int 1 itxn_field ConfigAssetTotal int 0 itxn_field ConfigAssetDecimals int 1 itxn_field ConfigAssetDefaultFrozen txna ApplicationArgs 2 itxn_field ConfigAssetURL global CurrentApplicationAddress itxn_field ConfigAssetManager global CurrentApplicationAddress itxn_field ConfigAssetReserve global CurrentApplicationAddress itxn_field ConfigAssetClawback int 0 itxn_field Fee itxn_submit bytec 9 itxn CreatedAssetID itob app_global_put bytec 5 bytec 8 app_global_put byte base64 aS5vd25lci5h global CurrentApplicationAddress app_global_put itxn CreatedAssetID itob log int 1 b label27 label72: global CurrentApplicationAddress balance pushint 200000 - byte base64 aS5taW50aW5nS2lja29mZkFtb3VudA== app_global_get btoi < bz label73 int 0 return label71: int 0 return label2: txna ApplicationArgs 0 pushbytes 0x637265617465 == txn NumAppArgs pushint 12 == && bnz label74 int 0 label79: return label74: txna ApplicationArgs 7 btoi int 1 < txna ApplicationArgs 7 btoi intc 8 > || txna ApplicationArgs 9 btoi int 1 < || txna ApplicationArgs 9 btoi intc 8 > || bnz label75 bytec 12 bytec 18 app_global_put bytec 16 pushbytes 0x312e3132 app_global_put bytec 5 bytec 7 app_global_put pushbytes 0x692e74696d6543726561746564 global LatestTimestamp itob app_global_put byte base64 aS50aW1lQ2hhbmdlZA== global LatestTimestamp itob app_global_put pushbytes 0x692e6e616d65 txna ApplicationArgs 1 app_global_put bytec 14 txna ApplicationArgs 2 app_global_put txna ApplicationArgs 3 global ZeroAddress != bnz label76 label82: txna ApplicationArgs 4 global ZeroAddress != bnz label77 label81: txna ApplicationArgs 5 btoi int 0 != bnz label78 label80: bytec 10 txna ApplicationArgs 6 app_global_put bytec 13 txna ApplicationArgs 7 app_global_put bytec 11 txna ApplicationArgs 8 app_global_put bytec 15 txna ApplicationArgs 9 app_global_put pushbytes 0x692e63617465676f7279 txna ApplicationArgs 10 app_global_put bytec 19 txna ApplicationArgs 11 app_global_put int 1 b label79 label78: byte base64 aS5taW50aW5nS2lja29mZkFtb3VudA== txna ApplicationArgs 5 app_global_put b label80 label77: byte base64 aS5taW50aW5nS2lja29mZkNyZWF0b3IuYQ== txna ApplicationArgs 4 app_global_put b label81 label76: bytec 4 txna ApplicationArgs 3 app_global_put b label82 label75: int 0 return label1: int 0 return label23: store 15 load 15 gtxns Sender intc 9 asset_holding_get AssetBalance store 17 store 16 load 16 int 1 == load 15 gtxns CloseRemainderTo global ZeroAddress == && load 15 gtxns RekeyTo global ZeroAddress == && retsub label10: txn Sender intc 9 asset_holding_get AssetBalance store 19 store 18 load 18 int 1 == retsub label13: store 20 int 0 load 20 app_global_get_ex store 22 store 21 load 22 bnz label83 pushbytes 0x b label84 label83: load 21 label84: retsub label38: store 23 int 0 load 23 app_global_get_ex store 25 store 24 load 25 bnz label85 int 0 b label86 label85: load 24 btoi label86: retsub label22: byte base64 aS5vd25lci5h callsub label13 store 26 txn GroupIndex callsub label23 bytec 5 callsub label13 bytec 8 == && txn Sender load 26 == load 26 global CurrentApplicationAddress != && || bz label87 int 1 retsub label87: int 0 retsub label62: bytec 6 callsub label38 int 0 != retsub label35: store 28 store 27 load 27 extract 0 2 store 29 load 29 callsub label88 bnz label89 load 28 int 1 == bnz label90 byte base64 aS5vd25lci5h callsub label13 len int 0 == callsub label62 || bnz label91 txn Sender byte base64 aS5vd25lci5h app_global_get == ! bnz label92 load 29 callsub label93 bnz label94 load 29 callsub label95 load 27 extract 0 8 bytec 21 == ! && bz label96 int 1 retsub label94: int 1 retsub label92: int 0 return label91: int 0 return label90: int 1 retsub label89: int 0 return label96: int 0 retsub label29: store 35 store 34 store 33 load 33 extract 0 2 store 36 load 36 callsub label88 bnz label97 load 36 callsub label93 store 37 load 36 callsub label95 store 38 load 34 int 1 == load 38 load 37 load 35 int 1 + txnas ApplicationArgs len int 0 == && || && bnz label98 byte base64 aS5vd25lci5h callsub label13 len int 0 == callsub label62 || bnz label99 txn Sender byte base64 aS5vd25lci5h app_global_get == ! bnz label100 load 37 bnz label101 load 33 len pushint 8 > bnz label102 label104: load 38 load 35 int 1 + txnas ApplicationArgs len int 0 == && bz label103 int 1 retsub label102: load 33 extract 0 8 bytec 21 == bz label104 int 0 return label101: int 1 retsub label100: int 0 return label99: int 0 return label98: int 1 retsub label97: int 0 return label103: int 0 retsub label88: store 30 load 30 pushbytes 0x692e == retsub label93: store 31 load 31 pushbytes 0x752e == retsub label95: store 32 load 32 pushbytes 0x762e == retsub1

No comments:

Post a Comment