tx · ER9trjjaDpwAgmmEcsKbxF8f5d9twbVGVrdzETZ2HCS9

3NAxi4ijrbVmR2AVeKTeJ1L3P4ebbXk7YDY:  -0.01400000 Waves

2022.03.01 17:51 [1945061] smart account 3NAxi4ijrbVmR2AVeKTeJ1L3P4ebbXk7YDY > SELF 0.00000000 Waves

{ "type": 13, "id": "ER9trjjaDpwAgmmEcsKbxF8f5d9twbVGVrdzETZ2HCS9", "fee": 1400000, "feeAssetId": null, "timestamp": 1646146295848, "version": 2, "chainId": 84, "sender": "3NAxi4ijrbVmR2AVeKTeJ1L3P4ebbXk7YDY", "senderPublicKey": "6w6geQvkvMqffnrYsamvmS9TjKjjePjFPWLY9qDbNddX", "proofs": [ "ErN7hvVQs6HDCzGwkLJVFyCvRkeAMPRkMqHQoL8gGxGLvFmrxv9A7TSKRSr53F5kmuHpW75vSMEQs6cPcy42Rqp" ], "script": "base64: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cnkAAAACAgAAABlUb3RhbF9mc1ROX1Jlc2VydmVfSW5fVE46BQAAABBmc1ROUmVzZXJ2ZVZhbHVlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABhmc1ROX0JhY2t1cF9WYWx1ZV9Jbl9UTjoFAAAAD2ZzVE5CYWNrdXBQcmljZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAdtZXNzYWdlAgAAACY8aDE+ZnNUTiBJc3N1ZWQgU3VjY2Vzc2Z1bGx5ITwvaDE+PGJyPgkABEwAAAACCQEAAAAHUmVpc3N1ZQAAAAMFAAAAC2ZzVE5Bc3NldElEBQAAAA1OZXdmc1ROVG9Vc2VyBgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAABlAAAAAgUAAAANTmV3ZnNUTlRvVXNlcgUAAAALRmVlc0NoYXJnZWQFAAAAC2ZzVE5Bc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAE0lzc3VlZnNUTkZlZUFkZHJlc3MFAAAAC0ZlZXNDaGFyZ2VkBQAAAAtmc1ROQXNzZXRJRAUAAAADbmlsAAAAAWkBAAAACUxpcXVpZGF0ZQAAAAAEAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BAAAAANwbXQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAAElByZXZpb3VzSXNzdWVkZnNUTgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAASVG90YWxfSXNzdWVkX2ZzVE46BAAAAA9Ub3RhbElzc3VlZGZzVE4JAABlAAAAAgUAAAASUHJldmlvdXNJc3N1ZWRmc1ROCAUAAAADcG10AAAABmFtb3VudAQAAAAYUHJldmlvdXNmc1ROUmVzZXJ2ZVZhbHVlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABlUb3RhbF9mc1ROX1Jlc2VydmVfSW5fVE46BAAAABdQcmV2aW91c2ZzVE5CYWNrdXBQcmljZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAAYZnNUTl9CYWNrdXBfVmFsdWVfSW5fVE46BAAAABJjYWxjdWxhdGVidXJudmFsdWUJAABrAAAAAwUAAAAXUHJldmlvdXNmc1ROQmFja3VwUHJpY2UIBQAAAANwbXQAAAAGYW1vdW50AAAAAAAAAYagBAAAABBmc1ROUmVzZXJ2ZVZhbHVlCQAAZQAAAAIFAAAAGFByZXZpb3VzZnNUTlJlc2VydmVWYWx1ZQUAAAASY2FsY3VsYXRlYnVybnZhbHVlBAAAAA9mc1ROQmFja3VwUHJpY2UJAABrAAAAAwAAAAAAAAGGoAUAAAAQZnNUTlJlc2VydmVWYWx1ZQUAAAAPVG90YWxJc3N1ZWRmc1ROAwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAAtmc1ROQXNzZXRJRAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAUS2luZGx5IERlcG9zaXQgT25seSAJAAJYAAAAAQUAAAALZnNUTkFzc2V0SUQCAAAACCAoZnNUTikuAwkAAGYAAAACAAAAAAAAAYagCAUAAAADcG10AAAABmFtb3VudAkAAAIAAAABAgAAAC5BdHRhY2ggQW1vdW50IG11c3QgYmUgZ3JlYXRlciB0aGFuIDAuMDAxIGZzVE4uCQAETAAAAAIJAQAAAARCdXJuAAAAAgUAAAALZnNUTkFzc2V0SUQIBQAAAANwbXQAAAAGYW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABJUb3RhbF9Jc3N1ZWRfZnNUTjoFAAAAD1RvdGFsSXNzdWVkZnNUTgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAZVG90YWxfZnNUTl9SZXNlcnZlX0luX1ROOgUAAAAQZnNUTlJlc2VydmVWYWx1ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAYZnNUTl9CYWNrdXBfVmFsdWVfSW5fVE46BQAAAA9mc1ROQmFja3VwUHJpY2UJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAHbWVzc2FnZQIAAAAqPGgxPmZzVE4gTGlxdWlkYXRlZCBTdWNjZXNzZnVsbHkhPC9oMT48YnI+CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAASY2FsY3VsYXRlYnVybnZhbHVlBQAAAAR1bml0BQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAAckbWF0Y2gwBQAAAAJ0eAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXnFNYUD", "height": 1945061, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: C8pTU5ToujsuEratAAbT5NQc6qFiHByYGyWg7nc42KUk Next: 7dkqn1Gbs8niR3YWhGCsfh8toga3VtpaZM4keAjVrPnf Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let fsTNAssetID = base58'BhWVeP6JGPGvzHtLa4r6Hypuyx4kKyPXC6sFnW3gzNhX'
4+let fsTNAssetID = base58'DYv8LXPqdm9N6xTdnfqrHzH9RMTnXLnfkYHffauHNc7o'
55
6-let IssuefsTNFeeAddress = addressFromPublicKey(base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr')
6+let IssuefsTNFeeAddress = addressFromPublicKey(base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR')
77
88 @Callable(i)
99 func IssuefsTN () = {
1010 let pmt = value(i.payments[0])
1111 let currentKey = toBase58String(i.caller.bytes)
1212 let PricePerfsTN = getIntegerValue(this, "fsTN/TN")
13+ let fsTNCurrentCap = getIntegerValue(this, "fsTNCurrentCap")
1314 let NewfsTNToUser = fraction(100000, pmt.amount, PricePerfsTN)
1415 let PreviousIssuedfsTN = getIntegerValue(this, "Total_Issued_fsTN:")
1516 let TotalIssuedfsTN = (PreviousIssuedfsTN + NewfsTNToUser)
17+ let PendingMinting = (fsTNCurrentCap - TotalIssuedfsTN)
1618 let PreviousfsTNReserveValue = getIntegerValue(this, "Total_fsTN_Reserve_In_TN:")
1719 let fsTNReserveValue = (PreviousfsTNReserveValue + pmt.amount)
1820 let PreviousfsTNBackupPrice = getIntegerValue(this, "fsTN_Backup_Value_In_TN:")
2224 then throw("Incorrect asset attached, please attach TN.")
2325 else if ((200000000 > pmt.amount))
2426 then throw("Please Attach minimum 2 TN To Issue fsTN Asset.")
25- else [IntegerEntry("Total_Issued_fsTN:", TotalIssuedfsTN), IntegerEntry("Total_fsTN_Reserve_In_TN:", fsTNReserveValue), IntegerEntry("fsTN_Backup_Value_In_TN:", fsTNBackupPrice), StringEntry("message", "<h1>fsTN Issued Successfully!</h1><br>"), Reissue(fsTNAssetID, NewfsTNToUser, true), ScriptTransfer(i.caller, (NewfsTNToUser - FeesCharged), fsTNAssetID), ScriptTransfer(IssuefsTNFeeAddress, FeesCharged, fsTNAssetID)]
27+ else if ((TotalIssuedfsTN > fsTNCurrentCap))
28+ then throw((((((("fsTN Minting is about to reach the Cap of " + toString(fsTNCurrentCap)) + "/10^8 fsTN. Please Reduce your Minting Order by ") + toString(PendingMinting)) + " or put ") + toString((fsTNCurrentCap - PreviousIssuedfsTN))) + "/10^8"))
29+ else [IntegerEntry("Total_Issued_fsTN:", TotalIssuedfsTN), IntegerEntry("Balance_Minting_fsTN:", PendingMinting), IntegerEntry("Total_fsTN_Reserve_In_TN:", fsTNReserveValue), IntegerEntry("fsTN_Backup_Value_In_TN:", fsTNBackupPrice), StringEntry("message", "<h1>fsTN Issued Successfully!</h1><br>"), Reissue(fsTNAssetID, NewfsTNToUser, true), ScriptTransfer(i.caller, (NewfsTNToUser - FeesCharged), fsTNAssetID), ScriptTransfer(IssuefsTNFeeAddress, FeesCharged, fsTNAssetID)]
2630 }
2731
2832
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let fsTNAssetID = base58'BhWVeP6JGPGvzHtLa4r6Hypuyx4kKyPXC6sFnW3gzNhX'
4+let fsTNAssetID = base58'DYv8LXPqdm9N6xTdnfqrHzH9RMTnXLnfkYHffauHNc7o'
55
6-let IssuefsTNFeeAddress = addressFromPublicKey(base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr')
6+let IssuefsTNFeeAddress = addressFromPublicKey(base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR')
77
88 @Callable(i)
99 func IssuefsTN () = {
1010 let pmt = value(i.payments[0])
1111 let currentKey = toBase58String(i.caller.bytes)
1212 let PricePerfsTN = getIntegerValue(this, "fsTN/TN")
13+ let fsTNCurrentCap = getIntegerValue(this, "fsTNCurrentCap")
1314 let NewfsTNToUser = fraction(100000, pmt.amount, PricePerfsTN)
1415 let PreviousIssuedfsTN = getIntegerValue(this, "Total_Issued_fsTN:")
1516 let TotalIssuedfsTN = (PreviousIssuedfsTN + NewfsTNToUser)
17+ let PendingMinting = (fsTNCurrentCap - TotalIssuedfsTN)
1618 let PreviousfsTNReserveValue = getIntegerValue(this, "Total_fsTN_Reserve_In_TN:")
1719 let fsTNReserveValue = (PreviousfsTNReserveValue + pmt.amount)
1820 let PreviousfsTNBackupPrice = getIntegerValue(this, "fsTN_Backup_Value_In_TN:")
1921 let fsTNBackupPrice = fraction(100000, fsTNReserveValue, TotalIssuedfsTN)
2022 let FeesCharged = 100000000
2123 if (isDefined(pmt.assetId))
2224 then throw("Incorrect asset attached, please attach TN.")
2325 else if ((200000000 > pmt.amount))
2426 then throw("Please Attach minimum 2 TN To Issue fsTN Asset.")
25- else [IntegerEntry("Total_Issued_fsTN:", TotalIssuedfsTN), IntegerEntry("Total_fsTN_Reserve_In_TN:", fsTNReserveValue), IntegerEntry("fsTN_Backup_Value_In_TN:", fsTNBackupPrice), StringEntry("message", "<h1>fsTN Issued Successfully!</h1><br>"), Reissue(fsTNAssetID, NewfsTNToUser, true), ScriptTransfer(i.caller, (NewfsTNToUser - FeesCharged), fsTNAssetID), ScriptTransfer(IssuefsTNFeeAddress, FeesCharged, fsTNAssetID)]
27+ else if ((TotalIssuedfsTN > fsTNCurrentCap))
28+ then throw((((((("fsTN Minting is about to reach the Cap of " + toString(fsTNCurrentCap)) + "/10^8 fsTN. Please Reduce your Minting Order by ") + toString(PendingMinting)) + " or put ") + toString((fsTNCurrentCap - PreviousIssuedfsTN))) + "/10^8"))
29+ else [IntegerEntry("Total_Issued_fsTN:", TotalIssuedfsTN), IntegerEntry("Balance_Minting_fsTN:", PendingMinting), IntegerEntry("Total_fsTN_Reserve_In_TN:", fsTNReserveValue), IntegerEntry("fsTN_Backup_Value_In_TN:", fsTNBackupPrice), StringEntry("message", "<h1>fsTN Issued Successfully!</h1><br>"), Reissue(fsTNAssetID, NewfsTNToUser, true), ScriptTransfer(i.caller, (NewfsTNToUser - FeesCharged), fsTNAssetID), ScriptTransfer(IssuefsTNFeeAddress, FeesCharged, fsTNAssetID)]
2630 }
2731
2832
2933
3034 @Callable(i)
3135 func Liquidate () = {
3236 let currentKey = toBase58String(i.callerPublicKey)
3337 let pmt = value(i.payments[0])
3438 let PreviousIssuedfsTN = getIntegerValue(this, "Total_Issued_fsTN:")
3539 let TotalIssuedfsTN = (PreviousIssuedfsTN - pmt.amount)
3640 let PreviousfsTNReserveValue = getIntegerValue(this, "Total_fsTN_Reserve_In_TN:")
3741 let PreviousfsTNBackupPrice = getIntegerValue(this, "fsTN_Backup_Value_In_TN:")
3842 let calculateburnvalue = fraction(PreviousfsTNBackupPrice, pmt.amount, 100000)
3943 let fsTNReserveValue = (PreviousfsTNReserveValue - calculateburnvalue)
4044 let fsTNBackupPrice = fraction(100000, fsTNReserveValue, TotalIssuedfsTN)
4145 if ((pmt.assetId != fsTNAssetID))
4246 then throw((("Kindly Deposit Only " + toBase58String(fsTNAssetID)) + " (fsTN)."))
4347 else if ((100000 > pmt.amount))
4448 then throw("Attach Amount must be greater than 0.001 fsTN.")
4549 else [Burn(fsTNAssetID, pmt.amount), IntegerEntry("Total_Issued_fsTN:", TotalIssuedfsTN), IntegerEntry("Total_fsTN_Reserve_In_TN:", fsTNReserveValue), IntegerEntry("fsTN_Backup_Value_In_TN:", fsTNBackupPrice), StringEntry("message", "<h1>fsTN Liquidated Successfully!</h1><br>"), ScriptTransfer(i.caller, calculateburnvalue, unit)]
4650 }
4751
4852
4953 @Verifier(tx)
5054 func verify () = match tx {
5155 case _ =>
5256 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
5357 }
5458

github/deemru/w8io/026f985 
37.52 ms