tx · EsEt4GJ4Z88S4e55HbN32nrobJUSD8zsbmyCTnnv5aWZ

3N5bfRJRGX6vqJPKVaubUTWkgQRPTeAFMEa:  -0.01400000 Waves

2022.05.28 17:25 [2071639] smart account 3N5bfRJRGX6vqJPKVaubUTWkgQRPTeAFMEa > SELF 0.00000000 Waves

{ "type": 13, "id": "EsEt4GJ4Z88S4e55HbN32nrobJUSD8zsbmyCTnnv5aWZ", "fee": 1400000, "feeAssetId": null, "timestamp": 1653747910123, "version": 2, "chainId": 84, "sender": "3N5bfRJRGX6vqJPKVaubUTWkgQRPTeAFMEa", "senderPublicKey": "CYf1Tg7CgpZxaix8DPBSZAzFs5io8qAPuhbe3sproNmY", "proofs": [ "3ze2cQ5Ugy7Q9nLCxRRfLmtmHfWMXC35zgRB8MEVMigM1M9LG9aCtyfUR6C1WM8pjmJpZybKsNCXGz8vsRNFUyLc" ], "script": "base64:AAIFAAAAAAAAAAYIAhIAEgAAAAAFAAAAAAtVU1ROQXNzZXRJRAEAAAAgZT73g67dG4ChZhQ2CUXjfEpRH5dYyBAJkYT+Tc8rMrYAAAAAC1VTRFRBc3NldElEAQAAACD0NPJEoKaVcLA62QAal819hhYdQl83FUDxF7HRh6LUlwAAAAATSXNzdWVVU1RORmVlQWRkcmVzcwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQEAAAAgUoPZoIvXkJI7M+XgQERyG3Ox4PxeH5gdLMWeskjH4iAAAAAABHR4bnMEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAAJVG90YWx0eG5zAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAAAAAACXRvdGFsdHhucwkAAGQAAAACBQAAAAR0eG5zAAAAAAAAAAABAAAAAgAAAAFpAQAAAAlJc3N1ZVVTVE4AAAAABAAAAANwbXQDCQAAAAAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAI05vIFBheW1lbnRzIEF0dGFjaGVkIFBsZWFzZSBBdHRhY2ggCQACWAAAAAEFAAAAC1VTRFRBc3NldElEAgAAAAwgQXNzZXQgT25seS4EAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAMUHJpY2VQZXJVU1ROCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAAAlVU1ROL1VTRFQEAAAADlVTVE5DdXJyZW50Q2FwCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAAA5VU1ROQ3VycmVudENhcAQAAAANTmV3VVNUTlRvVXNlcgkAAGsAAAADAAAAAAAAAYagCAUAAAADcG10AAAABmFtb3VudAUAAAAMUHJpY2VQZXJVU1ROBAAAABJQcmV2aW91c0lzc3VlZFVTVE4JAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAElRvdGFsX0lzc3VlZF9VU1ROOgQAAAAPVG90YWxJc3N1ZWRVU1ROCQAAZAAAAAIFAAAAElByZXZpb3VzSXNzdWVkVVNUTgUAAAANTmV3VVNUTlRvVXNlcgQAAAAOUGVuZGluZ01pbnRpbmcJAABlAAAAAgUAAAAOVVNUTkN1cnJlbnRDYXAFAAAAD1RvdGFsSXNzdWVkVVNUTgQAAAAYUHJldmlvdXNVU1ROUmVzZXJ2ZVZhbHVlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABtUb3RhbF9VU1ROX1Jlc2VydmVfSW5fVVNEVDoEAAAAEFVTVE5SZXNlcnZlVmFsdWUJAABkAAAAAgUAAAAYUHJldmlvdXNVU1ROUmVzZXJ2ZVZhbHVlCAUAAAADcG10AAAABmFtb3VudAQAAAAXUHJldmlvdXNVU1ROQmFja3VwUHJpY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAGlVTVE5fQmFja3VwX1ZhbHVlX0luX1VTRFQ6BAAAAA9VU1ROQmFja3VwUHJpY2UJAABrAAAAAwAAAAAAAAGGoAUAAAAQVVNUTlJlc2VydmVWYWx1ZQUAAAAPVG90YWxJc3N1ZWRVU1ROAwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAAtVU0RUQXNzZXRJRAkAAAIAAAABAgAAAC1JbmNvcnJlY3QgYXNzZXQgYXR0YWNoZWQsIHBsZWFzZSBhdHRhY2ggVVNEVC4DCQAAZgAAAAIAAAAAAAAPQkAIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAANFBsZWFzZSBBdHRhY2ggbWluaW11bSAwLjAxIFVTRFQgVG8gSXNzdWUgVVNUTiBBc3NldC4DCQAAZgAAAAIFAAAAD1RvdGFsSXNzdWVkVVNUTgUAAAAOVVNUTkN1cnJlbnRDYXAJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAqVVNUTiBNaW50aW5nIGlzIGFib3V0IHRvIHJlYWNoIHRoZSBDYXAgb2YgCQABpAAAAAEFAAAADlVTVE5DdXJyZW50Q2FwAgAAADAvMTBeOCBVU1ROLiBQbGVhc2UgUmVkdWNlIHlvdXIgTWludGluZyBPcmRlciBieSAJAAGkAAAAAQUAAAAOUGVuZGluZ01pbnRpbmcCAAAACCBvciBwdXQgCQABpAAAAAEJAABlAAAAAgUAAAAOVVNUTkN1cnJlbnRDYXAFAAAAElByZXZpb3VzSXNzdWVkVVNUTgIAAAAFLzEwXjgJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAElRvdGFsX0lzc3VlZF9VU1ROOgUAAAAPVG90YWxJc3N1ZWRVU1ROCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABVCYWxhbmNlX01pbnRpbmdfVVNUTjoFAAAADlBlbmRpbmdNaW50aW5nCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABtUb3RhbF9VU1ROX1Jlc2VydmVfSW5fVVNEVDoFAAAAEFVTVE5SZXNlcnZlVmFsdWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAGlVTVE5fQmFja3VwX1ZhbHVlX0luX1VTRFQ6BQAAAA9VU1ROQmFja3VwUHJpY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAACVRvdGFsdHhucwUAAAAJdG90YWx0eG5zCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UCAAAAJjxoMT5VU1ROIElzc3VlZCBTdWNjZXNzZnVsbHkhPC9oMT48YnI+CQAETAAAAAIJAQAAAAdSZWlzc3VlAAAAAwUAAAALVVNUTkFzc2V0SUQFAAAADU5ld1VTVE5Ub1VzZXIGCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAANTmV3VVNUTlRvVXNlcgUAAAALVVNUTkFzc2V0SUQFAAAAA25pbAAAAAFpAQAAAAlMaXF1aWRhdGUAAAAABAAAAApjdXJyZW50S2V5CQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAADcG10AwkAAAAAAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAACQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAACNObyBQYXltZW50cyBBdHRhY2hlZCBQbGVhc2UgQXR0YWNoIAkAAlgAAAABBQAAAAtVU1ROQXNzZXRJRAIAAAAMIEFzc2V0IE9ubHkuBAAAABJQcmV2aW91c0lzc3VlZFVTVE4JAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAElRvdGFsX0lzc3VlZF9VU1ROOgQAAAASUHJldmlvdXNCdXJuZWRVU1ROCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABJUb3RhbF9CdXJuZWRfVVNUTjoEAAAADlVTVE5DdXJyZW50Q2FwCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAAA5VU1ROQ3VycmVudENhcAQAAAAPVG90YWxJc3N1ZWRVU1ROCQAAZQAAAAIFAAAAElByZXZpb3VzSXNzdWVkVVNUTggFAAAAA3BtdAAAAAZhbW91bnQEAAAAD1RvdGFsQnVybmVkVVNUTgkAAGQAAAACBQAAABJQcmV2aW91c0J1cm5lZFVTVE4IBQAAAANwbXQAAAAGYW1vdW50BAAAAA5QZW5kaW5nTWludGluZwkAAGUAAAACBQAAAA5VU1ROQ3VycmVudENhcAUAAAAPVG90YWxJc3N1ZWRVU1ROBAAAABhQcmV2aW91c1VTVE5SZXNlcnZlVmFsdWUJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAG1RvdGFsX1VTVE5fUmVzZXJ2ZV9Jbl9VU0RUOgQAAAAXUHJldmlvdXNVU1ROQmFja3VwUHJpY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAGlVTVE5fQmFja3VwX1ZhbHVlX0luX1VTRFQ6BAAAABJjYWxjdWxhdGVidXJudmFsdWUJAABrAAAAAwUAAAAXUHJldmlvdXNVU1ROQmFja3VwUHJpY2UIBQAAAANwbXQAAAAGYW1vdW50AAAAAAAAAYagBAAAABBVU1ROUmVzZXJ2ZVZhbHVlCQAAZQAAAAIFAAAAGFByZXZpb3VzVVNUTlJlc2VydmVWYWx1ZQUAAAASY2FsY3VsYXRlYnVybnZhbHVlBAAAAA9VU1ROQmFja3VwUHJpY2UJAABrAAAAAwAAAAAAAAGGoAUAAAAQVVNUTlJlc2VydmVWYWx1ZQUAAAAPVG90YWxJc3N1ZWRVU1ROBAAAAANmZWUEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAATVG90YWxfRmVlX0NvbGxlY3RlZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAAtGZWVzQ2hhcmdlZAAAAAAAAX14QAMJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAHYXNzZXRJZAUAAAALVVNUTkFzc2V0SUQJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAFEtpbmRseSBEZXBvc2l0IE9ubHkgCQACWAAAAAEFAAAAC1VTVE5Bc3NldElEAgAAAAggKFVTVE4pLgMJAABnAAAAAgAAAAAABfXhAAgFAAAAA3BtdAAAAAZhbW91bnQJAAACAAAAAQIAAAA2QXR0YWNoIEFtb3VudCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxIFVTVE4uCQAETAAAAAIJAQAAAARCdXJuAAAAAgUAAAALVVNUTkFzc2V0SUQIBQAAAANwbXQAAAAGYW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAlUb3RhbHR4bnMFAAAACXRvdGFsdHhucwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASVG90YWxfSXNzdWVkX1VTVE46BQAAAA9Ub3RhbElzc3VlZFVTVE4JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAE1RvdGFsX0ZlZV9Db2xsZWN0ZWQFAAAAC0ZlZXNDaGFyZ2VkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABJUb3RhbF9CdXJuZWRfVVNUTjoFAAAAD1RvdGFsQnVybmVkVVNUTgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAVQmFsYW5jZV9NaW50aW5nX1VTVE46BQAAAA5QZW5kaW5nTWludGluZwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAbVG90YWxfVVNUTl9SZXNlcnZlX0luX1VTRFQ6BQAAABBVU1ROUmVzZXJ2ZVZhbHVlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABpVU1ROX0JhY2t1cF9WYWx1ZV9Jbl9VU0RUOgUAAAAPVVNUTkJhY2t1cFByaWNlCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UCAAAAKjxoMT5VU1ROIExpcXVpZGF0ZWQgU3VjY2Vzc2Z1bGx5ITwvaDE+PGJyPgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAABlAAAAAgUAAAASY2FsY3VsYXRlYnVybnZhbHVlBQAAAAtGZWVzQ2hhcmdlZAUAAAAEdW5pdAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAABNJc3N1ZVVTVE5GZWVBZGRyZXNzBQAAAAtGZWVzQ2hhcmdlZAUAAAALVVNUTkFzc2V0SUQFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4CQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleWLOZd0=", "height": 2071639, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FdLHaeRqRh15YivVxV729uznRmwiSCFiuUUeH6bBxFLw Next: 8tTcRdLuQJEWgyvtrVHHCgPZVcCNvW9aHUAs1XRv7YXx Diff:
OldNewDifferences
4646 @Callable(i)
4747 func Liquidate () = {
4848 let currentKey = toBase58String(i.callerPublicKey)
49- let pmt = value(i.payments[0])
49+ let pmt = if ((size(i.payments) == 1))
50+ then i.payments[0]
51+ else throw((("No Payments Attached Please Attach " + toBase58String(USTNAssetID)) + " Asset Only."))
5052 let PreviousIssuedUSTN = getIntegerValue(this, "Total_Issued_USTN:")
5153 let PreviousBurnedUSTN = getIntegerValue(this, "Total_Burned_USTN:")
5254 let USTNCurrentCap = getIntegerValue(this, "USTNCurrentCap")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let USTNAssetID = base58'7pDsD9A2rm9SvENMqNq5vwGmJn9nQJxbe492Pok1SHPs'
55
66 let USDTAssetID = base58'HSHJecCLGF7DEPA23dJe6WwroaLeDnik5eptjxEJYvwY'
77
88 let IssueUSTNFeeAddress = addressFromPublicKey(base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR')
99
1010 let txns = match getInteger(this, "Totaltxns") {
1111 case a: Int =>
1212 a
1313 case _ =>
1414 0
1515 }
1616
1717 let totaltxns = (txns + 1)
1818
1919 @Callable(i)
2020 func IssueUSTN () = {
2121 let pmt = if ((size(i.payments) == 1))
2222 then i.payments[0]
2323 else throw((("No Payments Attached Please Attach " + toBase58String(USDTAssetID)) + " Asset Only."))
2424 let currentKey = toBase58String(i.caller.bytes)
2525 let PricePerUSTN = getIntegerValue(this, "USTN/USDT")
2626 let USTNCurrentCap = getIntegerValue(this, "USTNCurrentCap")
2727 let NewUSTNToUser = fraction(100000, pmt.amount, PricePerUSTN)
2828 let PreviousIssuedUSTN = getIntegerValue(this, "Total_Issued_USTN:")
2929 let TotalIssuedUSTN = (PreviousIssuedUSTN + NewUSTNToUser)
3030 let PendingMinting = (USTNCurrentCap - TotalIssuedUSTN)
3131 let PreviousUSTNReserveValue = getIntegerValue(this, "Total_USTN_Reserve_In_USDT:")
3232 let USTNReserveValue = (PreviousUSTNReserveValue + pmt.amount)
3333 let PreviousUSTNBackupPrice = getIntegerValue(this, "USTN_Backup_Value_In_USDT:")
3434 let USTNBackupPrice = fraction(100000, USTNReserveValue, TotalIssuedUSTN)
3535 if ((pmt.assetId != USDTAssetID))
3636 then throw("Incorrect asset attached, please attach USDT.")
3737 else if ((1000000 > pmt.amount))
3838 then throw("Please Attach minimum 0.01 USDT To Issue USTN Asset.")
3939 else if ((TotalIssuedUSTN > USTNCurrentCap))
4040 then throw((((((("USTN Minting is about to reach the Cap of " + toString(USTNCurrentCap)) + "/10^8 USTN. Please Reduce your Minting Order by ") + toString(PendingMinting)) + " or put ") + toString((USTNCurrentCap - PreviousIssuedUSTN))) + "/10^8"))
4141 else [IntegerEntry("Total_Issued_USTN:", TotalIssuedUSTN), IntegerEntry("Balance_Minting_USTN:", PendingMinting), IntegerEntry("Total_USTN_Reserve_In_USDT:", USTNReserveValue), IntegerEntry("USTN_Backup_Value_In_USDT:", USTNBackupPrice), IntegerEntry("Totaltxns", totaltxns), StringEntry("message", "<h1>USTN Issued Successfully!</h1><br>"), Reissue(USTNAssetID, NewUSTNToUser, true), ScriptTransfer(i.caller, NewUSTNToUser, USTNAssetID)]
4242 }
4343
4444
4545
4646 @Callable(i)
4747 func Liquidate () = {
4848 let currentKey = toBase58String(i.callerPublicKey)
49- let pmt = value(i.payments[0])
49+ let pmt = if ((size(i.payments) == 1))
50+ then i.payments[0]
51+ else throw((("No Payments Attached Please Attach " + toBase58String(USTNAssetID)) + " Asset Only."))
5052 let PreviousIssuedUSTN = getIntegerValue(this, "Total_Issued_USTN:")
5153 let PreviousBurnedUSTN = getIntegerValue(this, "Total_Burned_USTN:")
5254 let USTNCurrentCap = getIntegerValue(this, "USTNCurrentCap")
5355 let TotalIssuedUSTN = (PreviousIssuedUSTN - pmt.amount)
5456 let TotalBurnedUSTN = (PreviousBurnedUSTN + pmt.amount)
5557 let PendingMinting = (USTNCurrentCap - TotalIssuedUSTN)
5658 let PreviousUSTNReserveValue = getIntegerValue(this, "Total_USTN_Reserve_In_USDT:")
5759 let PreviousUSTNBackupPrice = getIntegerValue(this, "USTN_Backup_Value_In_USDT:")
5860 let calculateburnvalue = fraction(PreviousUSTNBackupPrice, pmt.amount, 100000)
5961 let USTNReserveValue = (PreviousUSTNReserveValue - calculateburnvalue)
6062 let USTNBackupPrice = fraction(100000, USTNReserveValue, TotalIssuedUSTN)
6163 let fee = match getInteger(this, "Total_Fee_Collected") {
6264 case a: Int =>
6365 a
6466 case _ =>
6567 0
6668 }
6769 let FeesCharged = 25000000
6870 if ((pmt.assetId != USTNAssetID))
6971 then throw((("Kindly Deposit Only " + toBase58String(USTNAssetID)) + " (USTN)."))
7072 else if ((100000000 >= pmt.amount))
7173 then throw("Attach Amount must be greater than or equal to 1 USTN.")
7274 else [Burn(USTNAssetID, pmt.amount), IntegerEntry("Totaltxns", totaltxns), IntegerEntry("Total_Issued_USTN:", TotalIssuedUSTN), IntegerEntry("Total_Fee_Collected", FeesCharged), IntegerEntry("Total_Burned_USTN:", TotalBurnedUSTN), IntegerEntry("Balance_Minting_USTN:", PendingMinting), IntegerEntry("Total_USTN_Reserve_In_USDT:", USTNReserveValue), IntegerEntry("USTN_Backup_Value_In_USDT:", USTNBackupPrice), StringEntry("message", "<h1>USTN Liquidated Successfully!</h1><br>"), ScriptTransfer(i.caller, (calculateburnvalue - FeesCharged), unit), ScriptTransfer(IssueUSTNFeeAddress, FeesCharged, USTNAssetID)]
7375 }
7476
7577
7678 @Verifier(tx)
7779 func verify () = match tx {
7880 case _ =>
7981 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
8082 }
8183

github/deemru/w8io/873ac7e 
22.48 ms