tx · 5bhwxXKG1sgNRVT5UTh1NV8fWmWcbdSj1EzXG5qoXVT2 3Mq6mSfCYaGQkEHMAhobtjJGvb7xj1aiSBp: -0.01000000 Waves 2024.02.22 17:20 [2987559] smart account 3Mq6mSfCYaGQkEHMAhobtjJGvb7xj1aiSBp > SELF 0.00000000 Waves
{ "type": 13, "id": "5bhwxXKG1sgNRVT5UTh1NV8fWmWcbdSj1EzXG5qoXVT2", "fee": 1000000, "feeAssetId": null, "timestamp": 1708611648106, "version": 2, "chainId": 84, "sender": "3Mq6mSfCYaGQkEHMAhobtjJGvb7xj1aiSBp", "senderPublicKey": "C5DMu2JvfbtJnPu4pyFYhyyeaYRS1RsnRnsgNFnkL55E", "proofs": [ "5MqCNzUpHqdved3QmqBNSYJZ19uTnExQ7LxEvcV5S6RfsCZahvLz9kKi7ZtvKr7kB3nD96QuCs9LqWUDJoBpYgEB" ], "script": "base64:BgIGCAISABIABAAETk9ERQkBBUFsaWFzAQIJYmVhcndhdmVzAAdFQVRIX0lECQDZBAEJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMCB0VBVEhfSUQACkZlZUFkZHJlc3MBIOOt17LUijbWojwDE5tgFkw1Y8cwIr3jselcewpp7rwjAApkZXZBZGRyZXNzASDjrdey1Io21qI8AxObYBZMNWPHMCK947HpXHsKae68IwIBaQEOSXNzdWVFQVRIVG9rZW4ABAVhc3NldAkAwwgHAgRFQVRIAvMBRUFUSCBpcyBhIGRpZ2l0YWwgdG9rZW4gYmFja2VkIGJ5IGEgMToxIHJlc2VydmUgb2YgV2F2ZXMgdG9rZW5zLCBtZWFuaW5nIGZvciBldmVyeSBFQVRIIHRva2VuIGluIGNpcmN1bGF0aW9uLCB0aGVyZSBpcyBvbmUgV2F2ZXMgdG9rZW4gaGVsZCBpbiBzZWN1cmUgcmVzZXJ2ZS4gVGhpcyByZXNlcnZlIG1vZGVsIGFpbXMgdG8gZ3VhcmFudGVlIHRoZSBzdGFiaWxpdHkgYW5kIHRyYW5zcGFyZW5jeSBvZiBFQVRIJ3MgdmFsdWUuAAEACAYFBHVuaXQAAAQHYXNzZXRJZAkAuAgBBQVhc3NldAQMY2hlY2tIYXJkQ2FwCQELdmFsdWVPckVsc2UCCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAgtFQVRISGFyZENhcAAAAwkAAAIFDGNoZWNrSGFyZENhcAAACQDMCAIFBWFzc2V0CQDMCAIJAQRCdXJuAgUHYXNzZXRJZAABCQDMCAIJAQtTdHJpbmdFbnRyeQICB0VBVEhfSUQJANgEAQUHYXNzZXRJZAkAzAgCCQEMSW50ZWdlckVudHJ5AgIKRUFUSC9XQVZFUwCgjQYJAMwIAgkBDEludGVnZXJFbnRyeQICC0VBVEhIYXJkQ2FwAICA6YOx3hYJAMwIAgkBDEludGVnZXJFbnRyeQICElRvdGFsX0lzc3VlZF9FQVRIOgAACQDMCAIJAQxJbnRlZ2VyRW50cnkCAhxUb3RhbF9FQVRIX1Jlc2VydmVfSW5fV0FWRVM6AAAFA25pbAkAAgECGFRva2VuIGlzIEFscmVhZHkgSXNzdWVkLgFpAQlJc3N1ZUVBVEgABANwbXQJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAAQKY3VycmVudEtleQkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBAxQcmljZVBlckVBVEgJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCCkVBVEgvV0FWRVMEC0VBVEhIYXJkQ2FwCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAgtFQVRISGFyZENhcAQUQ2hlY2tQcmV2aW91c0xlYXNpbmcJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwIMbGVhc2VfYW1vdW50AAAEDU5ld0VBVEhUb1VzZXIJAGsDAKCNBggFA3BtdAZhbW91bnQFDFByaWNlUGVyRUFUSAQSUHJldmlvdXNJc3N1ZWRFQVRIBAckbWF0Y2gwCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAhJUb3RhbF9Jc3N1ZWRfRUFUSDoDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAED1RvdGFsSXNzdWVkRUFUSAkAZAIFElByZXZpb3VzSXNzdWVkRUFUSAUNTmV3RUFUSFRvVXNlcgQYUHJldmlvdXNFQVRIUmVzZXJ2ZVZhbHVlBAckbWF0Y2gwCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAhxUb3RhbF9FQVRIX1Jlc2VydmVfSW5fV0FWRVM6AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBBFQVRIUmVzZXJ2ZVZhbHVlCQBkAgUYUHJldmlvdXNFQVRIUmVzZXJ2ZVZhbHVlCAUDcG10BmFtb3VudAQOUGVuZGluZ01pbnRpbmcJAGUCBQtFQVRISGFyZENhcAUPVG90YWxJc3N1ZWRFQVRIBBdQcmV2aW91c0VBVEhCYWNrdXBQcmljZQkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwIbRUFUSF9CYWNrdXBfVmFsdWVfSW5fV0FWRVM6BA9FQVRIQmFja3VwUHJpY2UJAGsDAKCNBgUQRUFUSFJlc2VydmVWYWx1ZQUPVG90YWxJc3N1ZWRFQVRIBAlQYXlUb1VzZXIJAGkCCQBoAgUNTmV3RUFUSFRvVXNlcgDeBwDoBwQNUGF5VG9UcmVhc3VyeQkAaQIJAGgCBQ1OZXdFQVRIVG9Vc2VyAAkA6AcECFBheVRvRGV2CQBpAgkAaAIFDU5ld0VBVEhUb1VzZXIAAQDoBwQMTGVhc2VfQW1vdW50BQlQYXlUb1VzZXIEBWxlYXNlCQDECAIFBE5PREUFDExlYXNlX0Ftb3VudAQIbGVhc2VfaWQJANgEAQkAuQgBBQVsZWFzZQQHdW5sZWFzZQkBC0xlYXNlQ2FuY2VsAQkA2QQBCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzAghsZWFzZV9pZAQUdXBkYXRlZF9sZWFzZV9hbW91bnQJAGQCBRRDaGVja1ByZXZpb3VzTGVhc2luZwUMTGVhc2VfQW1vdW50BA11cGRhdGVkX2xlYXNlCQDECAIFBE5PREUFFHVwZGF0ZWRfbGVhc2VfYW1vdW50BBB1cGRhdGVkX2xlYXNlX2lkCQDYBAEJALkIAQUNdXBkYXRlZF9sZWFzZQMJAQlpc0RlZmluZWQBCAUDcG10B2Fzc2V0SWQJAAIBAi5JbmNvcnJlY3QgYXNzZXQgYXR0YWNoZWQsIHBsZWFzZSBhdHRhY2ggV0FWRVMuAwkAZgIAwJaxAggFA3BtdAZhbW91bnQJAAIBAjVQbGVhc2UgQXR0YWNoIG1pbmltdW0gMC4wNSBXQVZFUyBUbyBJc3N1ZSBFQVRIIEFzc2V0LgMJAGYCBQ9Ub3RhbElzc3VlZEVBVEgFC0VBVEhIYXJkQ2FwCQACAQkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIvRUFUSCBNaW50aW5nIGlzIGFib3V0IHRvIHJlYWNoIHRoZSBIYXJkIENhcCBvZiAJAKQDAQULRUFUSEhhcmRDYXACMC8xMF44IEVBVEguIFBsZWFzZSBSZWR1Y2UgeW91ciBNaW50aW5nIE9yZGVyIGJ5IAkApAMBBQ5QZW5kaW5nTWludGluZwIIIG9yIHB1dCAJAKQDAQkAZQIFC0VBVEhIYXJkQ2FwBRJQcmV2aW91c0lzc3VlZEVBVEgCBS8xMF44AwkAAAIFFENoZWNrUHJldmlvdXNMZWFzaW5nAAAJAMwIAgkBDEludGVnZXJFbnRyeQICElRvdGFsX0lzc3VlZF9FQVRIOgUPVG90YWxJc3N1ZWRFQVRICQDMCAIJAQxJbnRlZ2VyRW50cnkCAhVCYWxhbmNlX01pbnRpbmdfRUFUSDoFDlBlbmRpbmdNaW50aW5nCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhxUb3RhbF9FQVRIX1Jlc2VydmVfSW5fV0FWRVM6BRBFQVRIUmVzZXJ2ZVZhbHVlCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhtFQVRIX0JhY2t1cF9WYWx1ZV9Jbl9XQVZFUzoFD0VBVEhCYWNrdXBQcmljZQkAzAgCCQELU3RyaW5nRW50cnkCAgdtZXNzYWdlAiY8aDE+RUFUSCBJc3N1ZWQgU3VjY2Vzc2Z1bGx5ITwvaDE+PGJyPgkAzAgCCQEHUmVpc3N1ZQMFB0VBVEhfSUQFDU5ld0VBVEhUb1VzZXIGCQDMCAIFBWxlYXNlCQDMCAIJAQtTdHJpbmdFbnRyeQICCGxlYXNlX2lkBQhsZWFzZV9pZAkAzAgCCQEMSW50ZWdlckVudHJ5AgIMbGVhc2VfYW1vdW50BQxMZWFzZV9BbW91bnQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQlQYXlUb1VzZXIFB0VBVEhfSUQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkApwgBBQpGZWVBZGRyZXNzBQ1QYXlUb1RyZWFzdXJ5BQdFQVRIX0lECQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAKcIAQUKZGV2QWRkcmVzcwUIUGF5VG9EZXYFB0VBVEhfSUQFA25pbAkAzAgCCQEMSW50ZWdlckVudHJ5AgISVG90YWxfSXNzdWVkX0VBVEg6BQ9Ub3RhbElzc3VlZEVBVEgJAMwIAgkBDEludGVnZXJFbnRyeQICFUJhbGFuY2VfTWludGluZ19FQVRIOgUOUGVuZGluZ01pbnRpbmcJAMwIAgkBDEludGVnZXJFbnRyeQICHFRvdGFsX0VBVEhfUmVzZXJ2ZV9Jbl9XQVZFUzoFEEVBVEhSZXNlcnZlVmFsdWUJAMwIAgkBDEludGVnZXJFbnRyeQICG0VBVEhfQmFja3VwX1ZhbHVlX0luX1dBVkVTOgUPRUFUSEJhY2t1cFByaWNlCQDMCAIJAQtTdHJpbmdFbnRyeQICB21lc3NhZ2UCJjxoMT5FQVRIIElzc3VlZCBTdWNjZXNzZnVsbHkhPC9oMT48YnI+CQDMCAIJAQdSZWlzc3VlAwUHRUFUSF9JRAUNTmV3RUFUSFRvVXNlcgYJAMwIAgUHdW5sZWFzZQkAzAgCBQ11cGRhdGVkX2xlYXNlCQDMCAIJAQtTdHJpbmdFbnRyeQICCGxlYXNlX2lkBRB1cGRhdGVkX2xlYXNlX2lkCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgxsZWFzZV9hbW91bnQFFHVwZGF0ZWRfbGVhc2VfYW1vdW50CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUJUGF5VG9Vc2VyBQdFQVRIX0lECQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAKcIAQUKRmVlQWRkcmVzcwUNUGF5VG9UcmVhc3VyeQUHRUFUSF9JRAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQCnCAEFCmRldkFkZHJlc3MFCFBheVRvRGV2BQdFQVRIX0lEBQNuaWwBAnR4AQZ2ZXJpZnkACQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5nBdC0Q==", "height": 2987559, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: dkHa9RiEXN9eCWT57HHP6VD6HQkkQWCMSyyCx3n3jdz Next: 5w5qFFFfoJFqSdygkDXopoCQ4wHQEf9kDjvvt99mTBPn Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let a = | |
4 | + | let a = Alias("bearwaves") | |
5 | 5 | ||
6 | - | let b = | |
6 | + | let b = fromBase58String(getStringValue(this, "EATH_ID")) | |
7 | 7 | ||
8 | 8 | let c = base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr' | |
9 | 9 | ||
10 | - | @Callable(d) | |
10 | + | let d = base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr' | |
11 | + | ||
12 | + | @Callable(e) | |
11 | 13 | func IssueEATHToken () = { | |
12 | - | let | |
13 | - | let | |
14 | - | let | |
15 | - | if (( | |
16 | - | then [ | |
14 | + | let f = 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) | |
15 | + | let g = calculateAssetId(f) | |
16 | + | let h = valueOrElse(getIntegerValue(this, "EATHHardCap"), 0) | |
17 | + | if ((h == 0)) | |
18 | + | then [f, Burn(g, 1), StringEntry("EATH_ID", toBase58String(g)), IntegerEntry("EATH/WAVES", 100000), IntegerEntry("EATHHardCap", 100000000000000), IntegerEntry("Total_Issued_EATH:", 0), IntegerEntry("Total_EATH_Reserve_In_WAVES:", 0)] | |
17 | 19 | else throw("Token is Already Issued.") | |
18 | 20 | } | |
19 | 21 | ||
20 | 22 | ||
21 | 23 | ||
22 | - | @Callable( | |
24 | + | @Callable(e) | |
23 | 25 | func IssueEATH () = { | |
24 | - | let h = value(d.payments[0]) | |
25 | - | let i = toBase58String(d.caller.bytes) | |
26 | - | let j = getIntegerValue(this, "EATH/WAVES") | |
27 | - | let k = getIntegerValue(this, "EATHHardCap") | |
28 | - | let l = fraction(100000, h.amount, j) | |
29 | - | let m = { | |
30 | - | let n = getIntegerValue(this, "Total_Issued_EATH:") | |
31 | - | if ($isInstanceOf(n, "Int")) | |
26 | + | let i = value(e.payments[0]) | |
27 | + | let j = toBase58String(e.caller.bytes) | |
28 | + | let k = getIntegerValue(this, "EATH/WAVES") | |
29 | + | let l = getIntegerValue(this, "EATHHardCap") | |
30 | + | let m = valueOrElse(getInteger(this, "lease_amount"), 0) | |
31 | + | let n = fraction(100000, i.amount, k) | |
32 | + | let o = { | |
33 | + | let p = getIntegerValue(this, "Total_Issued_EATH:") | |
34 | + | if ($isInstanceOf(p, "Int")) | |
32 | 35 | then { | |
33 | - | let | |
34 | - | | |
36 | + | let q = p | |
37 | + | q | |
35 | 38 | } | |
36 | 39 | else 0 | |
37 | 40 | } | |
38 | - | let | |
39 | - | let | |
40 | - | let | |
41 | - | if ($isInstanceOf( | |
41 | + | let r = (o + n) | |
42 | + | let s = { | |
43 | + | let p = getIntegerValue(this, "Total_EATH_Reserve_In_WAVES:") | |
44 | + | if ($isInstanceOf(p, "Int")) | |
42 | 45 | then { | |
43 | - | let | |
44 | - | | |
46 | + | let q = p | |
47 | + | q | |
45 | 48 | } | |
46 | 49 | else 0 | |
47 | 50 | } | |
48 | - | let r = (q + h.amount) | |
49 | - | let s = (k - p) | |
50 | - | let t = getIntegerValue(this, "EATH_Backup_Value_In_WAVES:") | |
51 | - | let u = fraction(100000, r, p) | |
52 | - | if (isDefined(h.assetId)) | |
51 | + | let t = (s + i.amount) | |
52 | + | let u = (l - r) | |
53 | + | let v = getIntegerValue(this, "EATH_Backup_Value_In_WAVES:") | |
54 | + | let w = fraction(100000, t, r) | |
55 | + | let x = ((n * 990) / 1000) | |
56 | + | let y = ((n * 9) / 1000) | |
57 | + | let z = ((n * 1) / 1000) | |
58 | + | let A = x | |
59 | + | let B = Lease(a, A) | |
60 | + | let C = toBase58String(calculateLeaseId(B)) | |
61 | + | let D = LeaseCancel(fromBase58String(getStringValue(this, "lease_id"))) | |
62 | + | let E = (m + A) | |
63 | + | let F = Lease(a, E) | |
64 | + | let G = toBase58String(calculateLeaseId(F)) | |
65 | + | if (isDefined(i.assetId)) | |
53 | 66 | then throw("Incorrect asset attached, please attach WAVES.") | |
54 | - | else if ((5000000 > | |
67 | + | else if ((5000000 > i.amount)) | |
55 | 68 | then throw("Please Attach minimum 0.05 WAVES To Issue EATH Asset.") | |
56 | - | else if ((p > k)) | |
57 | - | then throw((((((("EATH Minting is about to reach the Hard Cap of " + toString(k)) + "/10^8 EATH. Please Reduce your Minting Order by ") + toString(s)) + " or put ") + toString((k - m))) + "/10^8")) | |
58 | - | else [IntegerEntry("Total_Issued_EATH:", p), IntegerEntry("Balance_Minting_EATH:", s), IntegerEntry("Total_EATH_Reserve_In_WAVES:", r), IntegerEntry("EATH_Backup_Value_In_WAVES:", u), StringEntry("message", "<h1>EATH Issued Successfully!</h1><br>"), Reissue(a, l, true), ScriptTransfer(d.caller, ((l * 990) / 1000), a), ScriptTransfer(addressFromPublicKey(b), ((l * 9) / 1000), a), ScriptTransfer(addressFromPublicKey(c), ((l * 1) / 1000), a)] | |
69 | + | else if ((r > l)) | |
70 | + | then throw((((((("EATH Minting is about to reach the Hard Cap of " + toString(l)) + "/10^8 EATH. Please Reduce your Minting Order by ") + toString(u)) + " or put ") + toString((l - o))) + "/10^8")) | |
71 | + | else if ((m == 0)) | |
72 | + | then [IntegerEntry("Total_Issued_EATH:", r), IntegerEntry("Balance_Minting_EATH:", u), IntegerEntry("Total_EATH_Reserve_In_WAVES:", t), IntegerEntry("EATH_Backup_Value_In_WAVES:", w), StringEntry("message", "<h1>EATH Issued Successfully!</h1><br>"), Reissue(b, n, true), B, StringEntry("lease_id", C), IntegerEntry("lease_amount", A), ScriptTransfer(e.caller, x, b), ScriptTransfer(addressFromPublicKey(c), y, b), ScriptTransfer(addressFromPublicKey(d), z, b)] | |
73 | + | else [IntegerEntry("Total_Issued_EATH:", r), IntegerEntry("Balance_Minting_EATH:", u), IntegerEntry("Total_EATH_Reserve_In_WAVES:", t), IntegerEntry("EATH_Backup_Value_In_WAVES:", w), StringEntry("message", "<h1>EATH Issued Successfully!</h1><br>"), Reissue(b, n, true), D, F, StringEntry("lease_id", G), IntegerEntry("lease_amount", E), ScriptTransfer(e.caller, x, b), ScriptTransfer(addressFromPublicKey(c), y, b), ScriptTransfer(addressFromPublicKey(d), z, b)] | |
59 | 74 | } | |
60 | 75 | ||
61 | 76 | ||
62 | - | @Verifier( | |
63 | - | func | |
77 | + | @Verifier(H) | |
78 | + | func I () = sigVerify(H.bodyBytes, H.proofs[0], H.senderPublicKey) | |
64 | 79 |
github/deemru/w8io/169f3d6 52.01 ms ◑![]()