tx · dkHa9RiEXN9eCWT57HHP6VD6HQkkQWCMSyyCx3n3jdz

3Mq6mSfCYaGQkEHMAhobtjJGvb7xj1aiSBp:  -0.01000000 Waves

2024.02.22 16:55 [2987529] smart account 3Mq6mSfCYaGQkEHMAhobtjJGvb7xj1aiSBp > SELF 0.00000000 Waves

{ "type": 13, "id": "dkHa9RiEXN9eCWT57HHP6VD6HQkkQWCMSyyCx3n3jdz", "fee": 1000000, "feeAssetId": null, "timestamp": 1708610160303, "version": 2, "chainId": 84, "sender": "3Mq6mSfCYaGQkEHMAhobtjJGvb7xj1aiSBp", "senderPublicKey": "C5DMu2JvfbtJnPu4pyFYhyyeaYRS1RsnRnsgNFnkL55E", "proofs": [ "2wPagpCdJHjy7ALfeEhFLY82JUrpyjhee7e86fsNjTrHukFBGxNjx8e3nAxvowhEGLkBZ572ZJGXwS9JX1kG5GqS" ], "script": "base64:BgIGCAISABIAAwAHRUFUSF9JRAkA2QQBCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzAgdFQVRIX0lEAApGZWVBZGRyZXNzASDjrdey1Io21qI8AxObYBZMNWPHMCK947HpXHsKae68IwAKZGV2QWRkcmVzcwEg463XstSKNtaiPAMTm2AWTDVjxzAiveOx6Vx7CmnuvCMCAWkBDklzc3VlRUFUSFRva2VuAAQFYXNzZXQJAMMIBwIERUFUSALzAUVBVEggaXMgYSBkaWdpdGFsIHRva2VuIGJhY2tlZCBieSBhIDE6MSByZXNlcnZlIG9mIFdhdmVzIHRva2VucywgbWVhbmluZyBmb3IgZXZlcnkgRUFUSCB0b2tlbiBpbiBjaXJjdWxhdGlvbiwgdGhlcmUgaXMgb25lIFdhdmVzIHRva2VuIGhlbGQgaW4gc2VjdXJlIHJlc2VydmUuIFRoaXMgcmVzZXJ2ZSBtb2RlbCBhaW1zIHRvIGd1YXJhbnRlZSB0aGUgc3RhYmlsaXR5IGFuZCB0cmFuc3BhcmVuY3kgb2YgRUFUSCdzIHZhbHVlLgABAAgGBQR1bml0AAAEB2Fzc2V0SWQJALgIAQUFYXNzZXQEDGNoZWNrSGFyZENhcAkBC3ZhbHVlT3JFbHNlAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwILRUFUSEhhcmRDYXAAAAMJAAACBQxjaGVja0hhcmRDYXAAAAkAzAgCBQVhc3NldAkAzAgCCQEEQnVybgIFB2Fzc2V0SWQAAQkAzAgCCQELU3RyaW5nRW50cnkCAgdFQVRIX0lECQDYBAEFB2Fzc2V0SWQJAMwIAgkBDEludGVnZXJFbnRyeQICCkVBVEgvV0FWRVMAoI0GCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgtFQVRISGFyZENhcACAgOmDsd4WCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhJUb3RhbF9Jc3N1ZWRfRUFUSDoAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgIcVG90YWxfRUFUSF9SZXNlcnZlX0luX1dBVkVTOgAABQNuaWwJAAIBAhhUb2tlbiBpcyBBbHJlYWR5IElzc3VlZC4BaQEJSXNzdWVFQVRIAAQDcG10CQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAAECmN1cnJlbnRLZXkJANgEAQgIBQFpBmNhbGxlcgVieXRlcwQMUHJpY2VQZXJFQVRICQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAgpFQVRIL1dBVkVTBAtFQVRISGFyZENhcAkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwILRUFUSEhhcmRDYXAEDU5ld0VBVEhUb1VzZXIJAGsDAKCNBggFA3BtdAZhbW91bnQFDFByaWNlUGVyRUFUSAQSUHJldmlvdXNJc3N1ZWRFQVRIBAckbWF0Y2gwCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAhJUb3RhbF9Jc3N1ZWRfRUFUSDoDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAED1RvdGFsSXNzdWVkRUFUSAkAZAIFElByZXZpb3VzSXNzdWVkRUFUSAUNTmV3RUFUSFRvVXNlcgQYUHJldmlvdXNFQVRIUmVzZXJ2ZVZhbHVlBAckbWF0Y2gwCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAhxUb3RhbF9FQVRIX1Jlc2VydmVfSW5fV0FWRVM6AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBBFQVRIUmVzZXJ2ZVZhbHVlCQBkAgUYUHJldmlvdXNFQVRIUmVzZXJ2ZVZhbHVlCAUDcG10BmFtb3VudAQOUGVuZGluZ01pbnRpbmcJAGUCBQtFQVRISGFyZENhcAUPVG90YWxJc3N1ZWRFQVRIBBdQcmV2aW91c0VBVEhCYWNrdXBQcmljZQkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwIbRUFUSF9CYWNrdXBfVmFsdWVfSW5fV0FWRVM6BA9FQVRIQmFja3VwUHJpY2UJAGsDAKCNBgUQRUFUSFJlc2VydmVWYWx1ZQUPVG90YWxJc3N1ZWRFQVRIAwkBCWlzRGVmaW5lZAEIBQNwbXQHYXNzZXRJZAkAAgECLkluY29ycmVjdCBhc3NldCBhdHRhY2hlZCwgcGxlYXNlIGF0dGFjaCBXQVZFUy4DCQBmAgDAlrECCAUDcG10BmFtb3VudAkAAgECNVBsZWFzZSBBdHRhY2ggbWluaW11bSAwLjA1IFdBVkVTIFRvIElzc3VlIEVBVEggQXNzZXQuAwkAZgIFD1RvdGFsSXNzdWVkRUFUSAULRUFUSEhhcmRDYXAJAAIBCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAi9FQVRIIE1pbnRpbmcgaXMgYWJvdXQgdG8gcmVhY2ggdGhlIEhhcmQgQ2FwIG9mIAkApAMBBQtFQVRISGFyZENhcAIwLzEwXjggRUFUSC4gUGxlYXNlIFJlZHVjZSB5b3VyIE1pbnRpbmcgT3JkZXIgYnkgCQCkAwEFDlBlbmRpbmdNaW50aW5nAgggb3IgcHV0IAkApAMBCQBlAgULRUFUSEhhcmRDYXAFElByZXZpb3VzSXNzdWVkRUFUSAIFLzEwXjgJAMwIAgkBDEludGVnZXJFbnRyeQICElRvdGFsX0lzc3VlZF9FQVRIOgUPVG90YWxJc3N1ZWRFQVRICQDMCAIJAQxJbnRlZ2VyRW50cnkCAhVCYWxhbmNlX01pbnRpbmdfRUFUSDoFDlBlbmRpbmdNaW50aW5nCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhxUb3RhbF9FQVRIX1Jlc2VydmVfSW5fV0FWRVM6BRBFQVRIUmVzZXJ2ZVZhbHVlCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhtFQVRIX0JhY2t1cF9WYWx1ZV9Jbl9XQVZFUzoFD0VBVEhCYWNrdXBQcmljZQkAzAgCCQELU3RyaW5nRW50cnkCAgdtZXNzYWdlAiY8aDE+RUFUSCBJc3N1ZWQgU3VjY2Vzc2Z1bGx5ITwvaDE+PGJyPgkAzAgCCQEHUmVpc3N1ZQMFB0VBVEhfSUQFDU5ld0VBVEhUb1VzZXIGCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgkAaQIJAGgCBQ1OZXdFQVRIVG9Vc2VyAN4HAOgHBQdFQVRIX0lECQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAKcIAQUKRmVlQWRkcmVzcwkAaQIJAGgCBQ1OZXdFQVRIVG9Vc2VyAAkA6AcFB0VBVEhfSUQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkApwgBBQpkZXZBZGRyZXNzCQBpAgkAaAIFDU5ld0VBVEhUb1VzZXIAAQDoBwUHRUFUSF9JRAUDbmlsAQJ0eAEGdmVyaWZ5AAkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tlebR/cBg=", "height": 2987529, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 76P5D61KJgJ9LSWZqdFg8x4UbhFXURC8JnnaN8SeGzQa Next: 5bhwxXKG1sgNRVT5UTh1NV8fWmWcbdSj1EzXG5qoXVT2 Diff:
OldNewDifferences
33 {-# CONTENT_TYPE DAPP #-}
44 let EATH_ID = fromBase58String(getStringValue(this, "EATH_ID"))
55
6-let FeeAddress = base58''
6+let FeeAddress = base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr'
77
8-let devAddress = base58''
8+let devAddress = base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr'
99
1010 @Callable(i)
1111 func IssueEATHToken () = {
1313 let assetId = calculateAssetId(asset)
1414 let checkHardCap = valueOrElse(getIntegerValue(this, "EATHHardCap"), 0)
1515 if ((checkHardCap == 0))
16- then [asset, Burn(assetId, 1), StringEntry("EATH_ID", toBase58String(assetId)), IntegerEntry("EATH/WAVES", 100000), IntegerEntry("EATHHardCap", 100000000000000)]
16+ then [asset, Burn(assetId, 1), StringEntry("EATH_ID", toBase58String(assetId)), IntegerEntry("EATH/WAVES", 100000), IntegerEntry("EATHHardCap", 100000000000000), IntegerEntry("Total_Issued_EATH:", 0), IntegerEntry("Total_EATH_Reserve_In_WAVES:", 0)]
1717 else throw("Token is Already Issued.")
1818 }
1919
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let EATH_ID = fromBase58String(getStringValue(this, "EATH_ID"))
55
6-let FeeAddress = base58''
6+let FeeAddress = base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr'
77
8-let devAddress = base58''
8+let devAddress = base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr'
99
1010 @Callable(i)
1111 func IssueEATHToken () = {
1212 let asset = Issue("EATH", "EATH is a digital token backed by a 1:1 reserve of Waves tokens, meaning for every EATH token in circulation, there is one Waves token held in secure reserve. This reserve model aims to guarantee the stability and transparency of EATH's value.", 1, 8, true, unit, 0)
1313 let assetId = calculateAssetId(asset)
1414 let checkHardCap = valueOrElse(getIntegerValue(this, "EATHHardCap"), 0)
1515 if ((checkHardCap == 0))
16- then [asset, Burn(assetId, 1), StringEntry("EATH_ID", toBase58String(assetId)), IntegerEntry("EATH/WAVES", 100000), IntegerEntry("EATHHardCap", 100000000000000)]
16+ then [asset, Burn(assetId, 1), StringEntry("EATH_ID", toBase58String(assetId)), IntegerEntry("EATH/WAVES", 100000), IntegerEntry("EATHHardCap", 100000000000000), IntegerEntry("Total_Issued_EATH:", 0), IntegerEntry("Total_EATH_Reserve_In_WAVES:", 0)]
1717 else throw("Token is Already Issued.")
1818 }
1919
2020
2121
2222 @Callable(i)
2323 func IssueEATH () = {
2424 let pmt = value(i.payments[0])
2525 let currentKey = toBase58String(i.caller.bytes)
2626 let PricePerEATH = getIntegerValue(this, "EATH/WAVES")
2727 let EATHHardCap = getIntegerValue(this, "EATHHardCap")
2828 let NewEATHToUser = fraction(100000, pmt.amount, PricePerEATH)
2929 let PreviousIssuedEATH = match getIntegerValue(this, "Total_Issued_EATH:") {
3030 case a: Int =>
3131 a
3232 case _ =>
3333 0
3434 }
3535 let TotalIssuedEATH = (PreviousIssuedEATH + NewEATHToUser)
3636 let PreviousEATHReserveValue = match getIntegerValue(this, "Total_EATH_Reserve_In_WAVES:") {
3737 case a: Int =>
3838 a
3939 case _ =>
4040 0
4141 }
4242 let EATHReserveValue = (PreviousEATHReserveValue + pmt.amount)
4343 let PendingMinting = (EATHHardCap - TotalIssuedEATH)
4444 let PreviousEATHBackupPrice = getIntegerValue(this, "EATH_Backup_Value_In_WAVES:")
4545 let EATHBackupPrice = fraction(100000, EATHReserveValue, TotalIssuedEATH)
4646 if (isDefined(pmt.assetId))
4747 then throw("Incorrect asset attached, please attach WAVES.")
4848 else if ((5000000 > pmt.amount))
4949 then throw("Please Attach minimum 0.05 WAVES To Issue EATH Asset.")
5050 else if ((TotalIssuedEATH > EATHHardCap))
5151 then throw((((((("EATH Minting is about to reach the Hard Cap of " + toString(EATHHardCap)) + "/10^8 EATH. Please Reduce your Minting Order by ") + toString(PendingMinting)) + " or put ") + toString((EATHHardCap - PreviousIssuedEATH))) + "/10^8"))
5252 else [IntegerEntry("Total_Issued_EATH:", TotalIssuedEATH), IntegerEntry("Balance_Minting_EATH:", PendingMinting), IntegerEntry("Total_EATH_Reserve_In_WAVES:", EATHReserveValue), IntegerEntry("EATH_Backup_Value_In_WAVES:", EATHBackupPrice), StringEntry("message", "<h1>EATH Issued Successfully!</h1><br>"), Reissue(EATH_ID, NewEATHToUser, true), ScriptTransfer(i.caller, ((NewEATHToUser * 990) / 1000), EATH_ID), ScriptTransfer(addressFromPublicKey(FeeAddress), ((NewEATHToUser * 9) / 1000), EATH_ID), ScriptTransfer(addressFromPublicKey(devAddress), ((NewEATHToUser * 1) / 1000), EATH_ID)]
5353 }
5454
5555
5656 @Verifier(tx)
5757 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
5858

github/deemru/w8io/026f985 
19.59 ms