tx · Dspnr8Y1CztMnAzw1knb3Vmp1sexrEUqgErxxKGok133

3N5bfRJRGX6vqJPKVaubUTWkgQRPTeAFMEa:  -0.01400000 Waves

2022.05.28 16:52 [2071603] smart account 3N5bfRJRGX6vqJPKVaubUTWkgQRPTeAFMEa > SELF 0.00000000 Waves

{ "type": 13, "id": "Dspnr8Y1CztMnAzw1knb3Vmp1sexrEUqgErxxKGok133", "fee": 1400000, "feeAssetId": null, "timestamp": 1653745938049, "version": 2, "chainId": 84, "sender": "3N5bfRJRGX6vqJPKVaubUTWkgQRPTeAFMEa", "senderPublicKey": "CYf1Tg7CgpZxaix8DPBSZAzFs5io8qAPuhbe3sproNmY", "proofs": [ "2hVZeUbSaJhPepJXRz4wTaun6fhDLdLFwQ7WsTSXT8XJD3Y9DpAJyLri5bvYVDRS74n8fKYX7mfMemr3HraxfCD6" ], "script": "base64:AAIFAAAAAAAAAAYIAhIAEgAAAAAFAAAAAAtVU1ROQXNzZXRJRAEAAAAgZT73g67dG4ChZhQ2CUXjfEpRH5dYyBAJkYT+Tc8rMrYAAAAAC1VTRFRBc3NldElEAQAAACDtbp7OYZSc/c7mGpIdLd7i5i2Qwk2YHwe8BMMPlpx8cQAAAAATSXNzdWVVU1RORmVlQWRkcmVzcwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQEAAAAgUoPZoIvXkJI7M+XgQERyG3Ox4PxeH5gdLMWeskjH4iAAAAAABHR4bnMEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAAJVG90YWx0eG5zAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAAAAAACXRvdGFsdHhucwkAAGQAAAACBQAAAAR0eG5zAAAAAAAAAAABAAAAAgAAAAFpAQAAAAlJc3N1ZVVTVE4AAAAABAAAAANwbXQDCQAAAAAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAI05vIFBheW1lbnRzIEF0dGFjaGVkIFBsZWFzZSBBdHRhY2ggCQACWAAAAAEFAAAAC1VTRFRBc3NldElEAgAAAAwgQXNzZXQgT25seS4EAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAMUHJpY2VQZXJVU1ROCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAAAlVU1ROL1VTRFQEAAAADlVTVE5DdXJyZW50Q2FwCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAAA5VU1ROQ3VycmVudENhcAQAAAANTmV3VVNUTlRvVXNlcgkAAGsAAAADAAAAAAAAAYagCAUAAAADcG10AAAABmFtb3VudAUAAAAMUHJpY2VQZXJVU1ROBAAAABJQcmV2aW91c0lzc3VlZFVTVE4JAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAElRvdGFsX0lzc3VlZF9VU1ROOgQAAAAPVG90YWxJc3N1ZWRVU1ROCQAAZAAAAAIFAAAAElByZXZpb3VzSXNzdWVkVVNUTgUAAAANTmV3VVNUTlRvVXNlcgQAAAAOUGVuZGluZ01pbnRpbmcJAABlAAAAAgUAAAAOVVNUTkN1cnJlbnRDYXAFAAAAD1RvdGFsSXNzdWVkVVNUTgQAAAAYUHJldmlvdXNVU1ROUmVzZXJ2ZVZhbHVlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABtUb3RhbF9VU1ROX1Jlc2VydmVfSW5fVVNEVDoEAAAAA2ZlZQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAABNUb3RhbF9GZWVfQ29sbGVjdGVkAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAEFVTVE5SZXNlcnZlVmFsdWUJAABkAAAAAgUAAAAYUHJldmlvdXNVU1ROUmVzZXJ2ZVZhbHVlCAUAAAADcG10AAAABmFtb3VudAQAAAAXUHJldmlvdXNVU1ROQmFja3VwUHJpY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAGlVTVE5fQmFja3VwX1ZhbHVlX0luX1VTRFQ6BAAAAA9VU1ROQmFja3VwUHJpY2UJAABrAAAAAwAAAAAAAAGGoAUAAAAQVVNUTlJlc2VydmVWYWx1ZQUAAAAPVG90YWxJc3N1ZWRVU1ROAwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAAtVU0RUQXNzZXRJRAkAAAIAAAABAgAAAC1JbmNvcnJlY3QgYXNzZXQgYXR0YWNoZWQsIHBsZWFzZSBhdHRhY2ggVVNEVC4DCQAAZgAAAAIAAAAAAAAAJxAIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAANFBsZWFzZSBBdHRhY2ggbWluaW11bSAwLjAxIFVTRFQgVG8gSXNzdWUgVVNUTiBBc3NldC4DCQAAZgAAAAIFAAAAD1RvdGFsSXNzdWVkVVNUTgUAAAAOVVNUTkN1cnJlbnRDYXAJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAqVVNUTiBNaW50aW5nIGlzIGFib3V0IHRvIHJlYWNoIHRoZSBDYXAgb2YgCQABpAAAAAEFAAAADlVTVE5DdXJyZW50Q2FwAgAAADAvMTBeOCBVU1ROLiBQbGVhc2UgUmVkdWNlIHlvdXIgTWludGluZyBPcmRlciBieSAJAAGkAAAAAQUAAAAOUGVuZGluZ01pbnRpbmcCAAAACCBvciBwdXQgCQABpAAAAAEJAABlAAAAAgUAAAAOVVNUTkN1cnJlbnRDYXAFAAAAElByZXZpb3VzSXNzdWVkVVNUTgIAAAAFLzEwXjgJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAElRvdGFsX0lzc3VlZF9VU1ROOgUAAAAPVG90YWxJc3N1ZWRVU1ROCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABVCYWxhbmNlX01pbnRpbmdfVVNUTjoFAAAADlBlbmRpbmdNaW50aW5nCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABtUb3RhbF9VU1ROX1Jlc2VydmVfSW5fVVNEVDoFAAAAEFVTVE5SZXNlcnZlVmFsdWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAGlVTVE5fQmFja3VwX1ZhbHVlX0luX1VTRFQ6BQAAAA9VU1ROQmFja3VwUHJpY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAACVRvdGFsdHhucwUAAAAJdG90YWx0eG5zCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UCAAAAJjxoMT5VU1ROIElzc3VlZCBTdWNjZXNzZnVsbHkhPC9oMT48YnI+CQAETAAAAAIJAQAAAAdSZWlzc3VlAAAAAwUAAAALVVNUTkFzc2V0SUQFAAAADU5ld1VTVE5Ub1VzZXIGCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAANTmV3VVNUTlRvVXNlcgUAAAALVVNUTkFzc2V0SUQFAAAAA25pbAAAAAFpAQAAAAlMaXF1aWRhdGUAAAAABAAAAApjdXJyZW50S2V5CQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAADcG10CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAABJQcmV2aW91c0lzc3VlZFVTVE4JAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAElRvdGFsX0lzc3VlZF9VU1ROOgQAAAASUHJldmlvdXNCdXJuZWRVU1ROCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABJUb3RhbF9CdXJuZWRfVVNUTjoEAAAADlVTVE5DdXJyZW50Q2FwCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAAA5VU1ROQ3VycmVudENhcAQAAAAPVG90YWxJc3N1ZWRVU1ROCQAAZQAAAAIFAAAAElByZXZpb3VzSXNzdWVkVVNUTggFAAAAA3BtdAAAAAZhbW91bnQEAAAAD1RvdGFsQnVybmVkVVNUTgkAAGQAAAACBQAAABJQcmV2aW91c0J1cm5lZFVTVE4IBQAAAANwbXQAAAAGYW1vdW50BAAAAA5QZW5kaW5nTWludGluZwkAAGUAAAACBQAAAA5VU1ROQ3VycmVudENhcAUAAAAPVG90YWxJc3N1ZWRVU1ROBAAAABhQcmV2aW91c1VTVE5SZXNlcnZlVmFsdWUJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAG1RvdGFsX1VTVE5fUmVzZXJ2ZV9Jbl9VU0RUOgQAAAAXUHJldmlvdXNVU1ROQmFja3VwUHJpY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAGlVTVE5fQmFja3VwX1ZhbHVlX0luX1VTRFQ6BAAAABJjYWxjdWxhdGVidXJudmFsdWUJAABrAAAAAwUAAAAXUHJldmlvdXNVU1ROQmFja3VwUHJpY2UIBQAAAANwbXQAAAAGYW1vdW50AAAAAAAAAYagBAAAABBVU1ROUmVzZXJ2ZVZhbHVlCQAAZQAAAAIFAAAAGFByZXZpb3VzVVNUTlJlc2VydmVWYWx1ZQUAAAASY2FsY3VsYXRlYnVybnZhbHVlBAAAAA9VU1ROQmFja3VwUHJpY2UJAABrAAAAAwAAAAAAAAGGoAUAAAAQVVNUTlJlc2VydmVWYWx1ZQUAAAAPVG90YWxJc3N1ZWRVU1ROBAAAAAtGZWVzQ2hhcmdlZAAAAAAAAX14QAMJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAHYXNzZXRJZAUAAAALVVNUTkFzc2V0SUQJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAFEtpbmRseSBEZXBvc2l0IE9ubHkgCQACWAAAAAEFAAAAC1VTVE5Bc3NldElEAgAAAAggKFVTVE4pLgMJAABnAAAAAgAAAAAABfXhAAgFAAAAA3BtdAAAAAZhbW91bnQJAAACAAAAAQIAAAA2QXR0YWNoIEFtb3VudCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxIFVTVE4uCQAETAAAAAIJAQAAAARCdXJuAAAAAgUAAAALVVNUTkFzc2V0SUQIBQAAAANwbXQAAAAGYW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAlUb3RhbHR4bnMFAAAACXRvdGFsdHhucwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASVG90YWxfSXNzdWVkX1VTVE46BQAAAA9Ub3RhbElzc3VlZFVTVE4JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAE1RvdGFsX0ZlZV9Db2xsZWN0ZWQFAAAAC0ZlZXNDaGFyZ2VkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABJUb3RhbF9CdXJuZWRfVVNUTjoFAAAAD1RvdGFsQnVybmVkVVNUTgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAVQmFsYW5jZV9NaW50aW5nX1VTVE46BQAAAA5QZW5kaW5nTWludGluZwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAbVG90YWxfVVNUTl9SZXNlcnZlX0luX1VTRFQ6BQAAABBVU1ROUmVzZXJ2ZVZhbHVlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABpVU1ROX0JhY2t1cF9WYWx1ZV9Jbl9VU0RUOgUAAAAPVVNUTkJhY2t1cFByaWNlCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UCAAAAKjxoMT5VU1ROIExpcXVpZGF0ZWQgU3VjY2Vzc2Z1bGx5ITwvaDE+PGJyPgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAABlAAAAAgUAAAASY2FsY3VsYXRlYnVybnZhbHVlBQAAAAtGZWVzQ2hhcmdlZAUAAAAEdW5pdAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAABNJc3N1ZVVTVE5GZWVBZGRyZXNzBQAAAAtGZWVzQ2hhcmdlZAUAAAALVVNUTkFzc2V0SUQFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4CQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleYrVZzA=", "height": 2071603, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BAdVziDvdjSGoJ48MS6vQrv3HApxzbuaCFhyZStXqtyk Next: vHtQaXJYMbudfbjxaCxQk3QAGCWsZMZ5omvSZNvJREN Diff:
OldNewDifferences
1818
1919 @Callable(i)
2020 func IssueUSTN () = {
21- let pmt = value(i.payments[0])
21+ let pmt = if ((size(i.payments) == 1))
22+ then i.payments[0]
23+ else throw((("No Payments Attached Please Attach " + toBase58String(USDTAssetID)) + " Asset Only."))
2224 let currentKey = toBase58String(i.caller.bytes)
2325 let PricePerUSTN = getIntegerValue(this, "USTN/USDT")
2426 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'GyqTYDea3DWBaAyQs5S5uH2223ucELYFazJpZLCfMznU'
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 () = {
21- let pmt = value(i.payments[0])
21+ let pmt = if ((size(i.payments) == 1))
22+ then i.payments[0]
23+ else throw((("No Payments Attached Please Attach " + toBase58String(USDTAssetID)) + " Asset Only."))
2224 let currentKey = toBase58String(i.caller.bytes)
2325 let PricePerUSTN = getIntegerValue(this, "USTN/USDT")
2426 let USTNCurrentCap = getIntegerValue(this, "USTNCurrentCap")
2527 let NewUSTNToUser = fraction(100000, pmt.amount, PricePerUSTN)
2628 let PreviousIssuedUSTN = getIntegerValue(this, "Total_Issued_USTN:")
2729 let TotalIssuedUSTN = (PreviousIssuedUSTN + NewUSTNToUser)
2830 let PendingMinting = (USTNCurrentCap - TotalIssuedUSTN)
2931 let PreviousUSTNReserveValue = getIntegerValue(this, "Total_USTN_Reserve_In_USDT:")
3032 let fee = match getInteger(this, "Total_Fee_Collected") {
3133 case a: Int =>
3234 a
3335 case _ =>
3436 0
3537 }
3638 let USTNReserveValue = (PreviousUSTNReserveValue + pmt.amount)
3739 let PreviousUSTNBackupPrice = getIntegerValue(this, "USTN_Backup_Value_In_USDT:")
3840 let USTNBackupPrice = fraction(100000, USTNReserveValue, TotalIssuedUSTN)
3941 if ((pmt.assetId != USDTAssetID))
4042 then throw("Incorrect asset attached, please attach USDT.")
4143 else if ((10000 > pmt.amount))
4244 then throw("Please Attach minimum 0.01 USDT To Issue USTN Asset.")
4345 else if ((TotalIssuedUSTN > USTNCurrentCap))
4446 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"))
4547 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)]
4648 }
4749
4850
4951
5052 @Callable(i)
5153 func Liquidate () = {
5254 let currentKey = toBase58String(i.callerPublicKey)
5355 let pmt = value(i.payments[0])
5456 let PreviousIssuedUSTN = getIntegerValue(this, "Total_Issued_USTN:")
5557 let PreviousBurnedUSTN = getIntegerValue(this, "Total_Burned_USTN:")
5658 let USTNCurrentCap = getIntegerValue(this, "USTNCurrentCap")
5759 let TotalIssuedUSTN = (PreviousIssuedUSTN - pmt.amount)
5860 let TotalBurnedUSTN = (PreviousBurnedUSTN + pmt.amount)
5961 let PendingMinting = (USTNCurrentCap - TotalIssuedUSTN)
6062 let PreviousUSTNReserveValue = getIntegerValue(this, "Total_USTN_Reserve_In_USDT:")
6163 let PreviousUSTNBackupPrice = getIntegerValue(this, "USTN_Backup_Value_In_USDT:")
6264 let calculateburnvalue = fraction(PreviousUSTNBackupPrice, pmt.amount, 100000)
6365 let USTNReserveValue = (PreviousUSTNReserveValue - calculateburnvalue)
6466 let USTNBackupPrice = fraction(100000, USTNReserveValue, TotalIssuedUSTN)
6567 let FeesCharged = 25000000
6668 if ((pmt.assetId != USTNAssetID))
6769 then throw((("Kindly Deposit Only " + toBase58String(USTNAssetID)) + " (USTN)."))
6870 else if ((100000000 >= pmt.amount))
6971 then throw("Attach Amount must be greater than or equal to 1 USTN.")
7072 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)]
7173 }
7274
7375
7476 @Verifier(tx)
7577 func verify () = match tx {
7678 case _ =>
7779 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
7880 }
7981

github/deemru/w8io/873ac7e 
36.54 ms