tx · BAdVziDvdjSGoJ48MS6vQrv3HApxzbuaCFhyZStXqtyk

3N5bfRJRGX6vqJPKVaubUTWkgQRPTeAFMEa:  -0.01400000 Waves

2022.05.28 16:48 [2071600] smart account 3N5bfRJRGX6vqJPKVaubUTWkgQRPTeAFMEa > SELF 0.00000000 Waves

{ "type": 13, "id": "BAdVziDvdjSGoJ48MS6vQrv3HApxzbuaCFhyZStXqtyk", "fee": 1400000, "feeAssetId": null, "timestamp": 1653745751084, "version": 2, "chainId": 84, "sender": "3N5bfRJRGX6vqJPKVaubUTWkgQRPTeAFMEa", "senderPublicKey": "CYf1Tg7CgpZxaix8DPBSZAzFs5io8qAPuhbe3sproNmY", "proofs": [ "sc49s1znVrX8dKYWHPBjen6UnqzJTdgYXtPC482KwRs6k3RL64iXhRCvt7hMpe4y6aLJQ8xeAYVp1HcSZqQSJ2Q" ], "script": "base64:AAIFAAAAAAAAAAYIAhIAEgAAAAAFAAAAAAtVU1ROQXNzZXRJRAEAAAAgZT73g67dG4ChZhQ2CUXjfEpRH5dYyBAJkYT+Tc8rMrYAAAAAC1VTRFRBc3NldElEAQAAACDtbp7OYZSc/c7mGpIdLd7i5i2Qwk2YHwe8BMMPlpx8cQAAAAATSXNzdWVVU1RORmVlQWRkcmVzcwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQEAAAAgUoPZoIvXkJI7M+XgQERyG3Ox4PxeH5gdLMWeskjH4iAAAAAABHR4bnMEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAAJVG90YWx0eG5zAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAAAAAACXRvdGFsdHhucwkAAGQAAAACBQAAAAR0eG5zAAAAAAAAAAABAAAAAgAAAAFpAQAAAAlJc3N1ZVVTVE4AAAAABAAAAANwbXQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAMUHJpY2VQZXJVU1ROCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAAAlVU1ROL1VTRFQEAAAADlVTVE5DdXJyZW50Q2FwCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAAA5VU1ROQ3VycmVudENhcAQAAAANTmV3VVNUTlRvVXNlcgkAAGsAAAADAAAAAAAAAYagCAUAAAADcG10AAAABmFtb3VudAUAAAAMUHJpY2VQZXJVU1ROBAAAABJQcmV2aW91c0lzc3VlZFVTVE4JAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAElRvdGFsX0lzc3VlZF9VU1ROOgQAAAAPVG90YWxJc3N1ZWRVU1ROCQAAZAAAAAIFAAAAElByZXZpb3VzSXNzdWVkVVNUTgUAAAANTmV3VVNUTlRvVXNlcgQAAAAOUGVuZGluZ01pbnRpbmcJAABlAAAAAgUAAAAOVVNUTkN1cnJlbnRDYXAFAAAAD1RvdGFsSXNzdWVkVVNUTgQAAAAYUHJldmlvdXNVU1ROUmVzZXJ2ZVZhbHVlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABtUb3RhbF9VU1ROX1Jlc2VydmVfSW5fVVNEVDoEAAAAA2ZlZQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAABNUb3RhbF9GZWVfQ29sbGVjdGVkAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAEFVTVE5SZXNlcnZlVmFsdWUJAABkAAAAAgUAAAAYUHJldmlvdXNVU1ROUmVzZXJ2ZVZhbHVlCAUAAAADcG10AAAABmFtb3VudAQAAAAXUHJldmlvdXNVU1ROQmFja3VwUHJpY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAGlVTVE5fQmFja3VwX1ZhbHVlX0luX1VTRFQ6BAAAAA9VU1ROQmFja3VwUHJpY2UJAABrAAAAAwAAAAAAAAGGoAUAAAAQVVNUTlJlc2VydmVWYWx1ZQUAAAAPVG90YWxJc3N1ZWRVU1ROAwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAAtVU0RUQXNzZXRJRAkAAAIAAAABAgAAAC1JbmNvcnJlY3QgYXNzZXQgYXR0YWNoZWQsIHBsZWFzZSBhdHRhY2ggVVNEVC4DCQAAZgAAAAIAAAAAAAAAJxAIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAANFBsZWFzZSBBdHRhY2ggbWluaW11bSAwLjAxIFVTRFQgVG8gSXNzdWUgVVNUTiBBc3NldC4DCQAAZgAAAAIFAAAAD1RvdGFsSXNzdWVkVVNUTgUAAAAOVVNUTkN1cnJlbnRDYXAJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAqVVNUTiBNaW50aW5nIGlzIGFib3V0IHRvIHJlYWNoIHRoZSBDYXAgb2YgCQABpAAAAAEFAAAADlVTVE5DdXJyZW50Q2FwAgAAADAvMTBeOCBVU1ROLiBQbGVhc2UgUmVkdWNlIHlvdXIgTWludGluZyBPcmRlciBieSAJAAGkAAAAAQUAAAAOUGVuZGluZ01pbnRpbmcCAAAACCBvciBwdXQgCQABpAAAAAEJAABlAAAAAgUAAAAOVVNUTkN1cnJlbnRDYXAFAAAAElByZXZpb3VzSXNzdWVkVVNUTgIAAAAFLzEwXjgJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAElRvdGFsX0lzc3VlZF9VU1ROOgUAAAAPVG90YWxJc3N1ZWRVU1ROCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABVCYWxhbmNlX01pbnRpbmdfVVNUTjoFAAAADlBlbmRpbmdNaW50aW5nCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABtUb3RhbF9VU1ROX1Jlc2VydmVfSW5fVVNEVDoFAAAAEFVTVE5SZXNlcnZlVmFsdWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAGlVTVE5fQmFja3VwX1ZhbHVlX0luX1VTRFQ6BQAAAA9VU1ROQmFja3VwUHJpY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAACVRvdGFsdHhucwUAAAAJdG90YWx0eG5zCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UCAAAAJjxoMT5VU1ROIElzc3VlZCBTdWNjZXNzZnVsbHkhPC9oMT48YnI+CQAETAAAAAIJAQAAAAdSZWlzc3VlAAAAAwUAAAALVVNUTkFzc2V0SUQFAAAADU5ld1VTVE5Ub1VzZXIGCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAANTmV3VVNUTlRvVXNlcgUAAAALVVNUTkFzc2V0SUQFAAAAA25pbAAAAAFpAQAAAAlMaXF1aWRhdGUAAAAABAAAAApjdXJyZW50S2V5CQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAADcG10CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAABJQcmV2aW91c0lzc3VlZFVTVE4JAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAElRvdGFsX0lzc3VlZF9VU1ROOgQAAAASUHJldmlvdXNCdXJuZWRVU1ROCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABJUb3RhbF9CdXJuZWRfVVNUTjoEAAAADlVTVE5DdXJyZW50Q2FwCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAAA5VU1ROQ3VycmVudENhcAQAAAAPVG90YWxJc3N1ZWRVU1ROCQAAZQAAAAIFAAAAElByZXZpb3VzSXNzdWVkVVNUTggFAAAAA3BtdAAAAAZhbW91bnQEAAAAD1RvdGFsQnVybmVkVVNUTgkAAGQAAAACBQAAABJQcmV2aW91c0J1cm5lZFVTVE4IBQAAAANwbXQAAAAGYW1vdW50BAAAAA5QZW5kaW5nTWludGluZwkAAGUAAAACBQAAAA5VU1ROQ3VycmVudENhcAUAAAAPVG90YWxJc3N1ZWRVU1ROBAAAABhQcmV2aW91c1VTVE5SZXNlcnZlVmFsdWUJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAG1RvdGFsX1VTVE5fUmVzZXJ2ZV9Jbl9VU0RUOgQAAAAXUHJldmlvdXNVU1ROQmFja3VwUHJpY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAGlVTVE5fQmFja3VwX1ZhbHVlX0luX1VTRFQ6BAAAABJjYWxjdWxhdGVidXJudmFsdWUJAABrAAAAAwUAAAAXUHJldmlvdXNVU1ROQmFja3VwUHJpY2UIBQAAAANwbXQAAAAGYW1vdW50AAAAAAAAAYagBAAAABBVU1ROUmVzZXJ2ZVZhbHVlCQAAZQAAAAIFAAAAGFByZXZpb3VzVVNUTlJlc2VydmVWYWx1ZQUAAAASY2FsY3VsYXRlYnVybnZhbHVlBAAAAA9VU1ROQmFja3VwUHJpY2UJAABrAAAAAwAAAAAAAAGGoAUAAAAQVVNUTlJlc2VydmVWYWx1ZQUAAAAPVG90YWxJc3N1ZWRVU1ROBAAAAAtGZWVzQ2hhcmdlZAAAAAAAAX14QAMJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAHYXNzZXRJZAUAAAALVVNUTkFzc2V0SUQJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAFEtpbmRseSBEZXBvc2l0IE9ubHkgCQACWAAAAAEFAAAAC1VTVE5Bc3NldElEAgAAAAggKFVTVE4pLgMJAABnAAAAAgAAAAAABfXhAAgFAAAAA3BtdAAAAAZhbW91bnQJAAACAAAAAQIAAAA2QXR0YWNoIEFtb3VudCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxIFVTVE4uCQAETAAAAAIJAQAAAARCdXJuAAAAAgUAAAALVVNUTkFzc2V0SUQIBQAAAANwbXQAAAAGYW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAlUb3RhbHR4bnMFAAAACXRvdGFsdHhucwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASVG90YWxfSXNzdWVkX1VTVE46BQAAAA9Ub3RhbElzc3VlZFVTVE4JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAE1RvdGFsX0ZlZV9Db2xsZWN0ZWQFAAAAC0ZlZXNDaGFyZ2VkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABJUb3RhbF9CdXJuZWRfVVNUTjoFAAAAD1RvdGFsQnVybmVkVVNUTgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAVQmFsYW5jZV9NaW50aW5nX1VTVE46BQAAAA5QZW5kaW5nTWludGluZwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAbVG90YWxfVVNUTl9SZXNlcnZlX0luX1VTRFQ6BQAAABBVU1ROUmVzZXJ2ZVZhbHVlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABpVU1ROX0JhY2t1cF9WYWx1ZV9Jbl9VU0RUOgUAAAAPVVNUTkJhY2t1cFByaWNlCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UCAAAAKjxoMT5VU1ROIExpcXVpZGF0ZWQgU3VjY2Vzc2Z1bGx5ITwvaDE+PGJyPgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAABlAAAAAgUAAAASY2FsY3VsYXRlYnVybnZhbHVlBQAAAAtGZWVzQ2hhcmdlZAUAAAAEdW5pdAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAABNJc3N1ZVVTVE5GZWVBZGRyZXNzBQAAAAtGZWVzQ2hhcmdlZAUAAAALVVNUTkFzc2V0SUQFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4CQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tlebH/O/s=", "height": 2071600, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: Dspnr8Y1CztMnAzw1knb3Vmp1sexrEUqgErxxKGok133 Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let USTNAssetID = base58'7pDsD9A2rm9SvENMqNq5vwGmJn9nQJxbe492Pok1SHPs'
5+
6+let USDTAssetID = base58'GyqTYDea3DWBaAyQs5S5uH2223ucELYFazJpZLCfMznU'
7+
8+let IssueUSTNFeeAddress = addressFromPublicKey(base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR')
9+
10+let txns = match getInteger(this, "Totaltxns") {
11+ case a: Int =>
12+ a
13+ case _ =>
14+ 0
15+}
16+
17+let totaltxns = (txns + 1)
18+
19+@Callable(i)
20+func IssueUSTN () = {
21+ let pmt = value(i.payments[0])
22+ let currentKey = toBase58String(i.caller.bytes)
23+ let PricePerUSTN = getIntegerValue(this, "USTN/USDT")
24+ let USTNCurrentCap = getIntegerValue(this, "USTNCurrentCap")
25+ let NewUSTNToUser = fraction(100000, pmt.amount, PricePerUSTN)
26+ let PreviousIssuedUSTN = getIntegerValue(this, "Total_Issued_USTN:")
27+ let TotalIssuedUSTN = (PreviousIssuedUSTN + NewUSTNToUser)
28+ let PendingMinting = (USTNCurrentCap - TotalIssuedUSTN)
29+ let PreviousUSTNReserveValue = getIntegerValue(this, "Total_USTN_Reserve_In_USDT:")
30+ let fee = match getInteger(this, "Total_Fee_Collected") {
31+ case a: Int =>
32+ a
33+ case _ =>
34+ 0
35+ }
36+ let USTNReserveValue = (PreviousUSTNReserveValue + pmt.amount)
37+ let PreviousUSTNBackupPrice = getIntegerValue(this, "USTN_Backup_Value_In_USDT:")
38+ let USTNBackupPrice = fraction(100000, USTNReserveValue, TotalIssuedUSTN)
39+ if ((pmt.assetId != USDTAssetID))
40+ then throw("Incorrect asset attached, please attach USDT.")
41+ else if ((10000 > pmt.amount))
42+ then throw("Please Attach minimum 0.01 USDT To Issue USTN Asset.")
43+ else if ((TotalIssuedUSTN > USTNCurrentCap))
44+ 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"))
45+ 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)]
46+ }
47+
48+
49+
50+@Callable(i)
51+func Liquidate () = {
52+ let currentKey = toBase58String(i.callerPublicKey)
53+ let pmt = value(i.payments[0])
54+ let PreviousIssuedUSTN = getIntegerValue(this, "Total_Issued_USTN:")
55+ let PreviousBurnedUSTN = getIntegerValue(this, "Total_Burned_USTN:")
56+ let USTNCurrentCap = getIntegerValue(this, "USTNCurrentCap")
57+ let TotalIssuedUSTN = (PreviousIssuedUSTN - pmt.amount)
58+ let TotalBurnedUSTN = (PreviousBurnedUSTN + pmt.amount)
59+ let PendingMinting = (USTNCurrentCap - TotalIssuedUSTN)
60+ let PreviousUSTNReserveValue = getIntegerValue(this, "Total_USTN_Reserve_In_USDT:")
61+ let PreviousUSTNBackupPrice = getIntegerValue(this, "USTN_Backup_Value_In_USDT:")
62+ let calculateburnvalue = fraction(PreviousUSTNBackupPrice, pmt.amount, 100000)
63+ let USTNReserveValue = (PreviousUSTNReserveValue - calculateburnvalue)
64+ let USTNBackupPrice = fraction(100000, USTNReserveValue, TotalIssuedUSTN)
65+ let FeesCharged = 25000000
66+ if ((pmt.assetId != USTNAssetID))
67+ then throw((("Kindly Deposit Only " + toBase58String(USTNAssetID)) + " (USTN)."))
68+ else if ((100000000 >= pmt.amount))
69+ then throw("Attach Amount must be greater than or equal to 1 USTN.")
70+ 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)]
71+ }
72+
73+
74+@Verifier(tx)
75+func verify () = match tx {
76+ case _ =>
77+ sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
78+}
79+

github/deemru/w8io/169f3d6 
20.24 ms