tx · HyPgGuaHk9PTk6ied7hqhdF7SNc6Zi6LtKQurMdKxaVy

3PGPjoT3EGzgNyRa5Dq9pQL83vYA1SRpQXx:  -0.01000000 Waves

2023.11.24 16:19 [3923421] smart account 3PGPjoT3EGzgNyRa5Dq9pQL83vYA1SRpQXx > SELF 0.00000000 Waves

{ "type": 13, "id": "HyPgGuaHk9PTk6ied7hqhdF7SNc6Zi6LtKQurMdKxaVy", "fee": 1000000, "feeAssetId": null, "timestamp": 1700831966432, "version": 2, "chainId": 87, "sender": "3PGPjoT3EGzgNyRa5Dq9pQL83vYA1SRpQXx", "senderPublicKey": "FRdKC2AWUSU3AmWnpiSUDHqm5JiPkvt1PJ7KAr5qqT9c", "proofs": [ "3n76MBZm1zGuazFVjiCLsKyGBdou569Z89odpzk44T1s7gvUJXZfNiPU7FNkaQPQAW74AfET151MqqJTFPiYN3Za" ], "script": "base64:BgIJCAISABIDCgEBCgAHdmVyc2lvbgIFMS4wLjEADmRBcHBTaW5jZVN0YXJ0AMCohIfAMQAGVFJEX0lEASDK1BsYfzeMUSpZQXikM/eLzUX5ssqPS3T2DxNbt8dT4QAFcHJpY2UA+FUAEm1pbmltdW1fb3JkZXJfc2l6ZQCAwtcvABBkYWlseV9idXJuX0xpbWl0CQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAhFEYWlseV9CdXJuX0xpbWl0cwAFYWRtaW4JAKcIAQEgON+PCdjVr2lARV1VFXv4tLT1TNztXiQqwyT5riBDaQIAAmQ2AMCEPQASY2hlY2tfZGFwcF9iYWxhbmNlCAkA7wcBBQR0aGlzB3JlZ3VsYXIBCWNvdW50ZGF5cwAEB1RTX0RpZmYJAGUCCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAUOZEFwcFNpbmNlU3RhcnQECWRheW51bWJlcgkAawMAAQUHVFNfRGlmZgCAuJkpBQlkYXludW1iZXICAWkBB0J1cm5UUkQABANwbXQJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAAQNY2FsbGVyYWRkcmVzcwkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBBBjbGFpbWFibGVfYW1vdW50CQBrAwUFcHJpY2UIBQNwbXQGYW1vdW50BQJkNgQKQ3VycmVudGRheQkBCWNvdW50ZGF5cwAEDlByZXZpb3VzQnVybmVkBAckbWF0Y2gwCQCaCAIFBHRoaXMCE1RvdGFsX1N1cHBseV9CdXJuZWQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEC1RvdGFsQnVybmVkCQBkAgUOUHJldmlvdXNCdXJuZWQIBQNwbXQGYW1vdW50BBRQcmV2aW91c0J1cm5lZGJ5VXNlcgQHJG1hdGNoMAkAmggCBQR0aGlzCQCsAgIFDWNhbGxlcmFkZHJlc3MCB19CdXJuZWQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEEVRvdGFsQnVybmVkYnlVc2VyCQBkAgUUUHJldmlvdXNCdXJuZWRieVVzZXIIBQNwbXQGYW1vdW50BBZQcmV2aW91c1Jld2FyZHNDbGFpbWVkBAckbWF0Y2gwCQCaCAIFBHRoaXMCFVRvdGFsX1Jld2FyZHNfQ2xhaW1lZAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQTVG90YWxSZXdhcmRzQ2xhaW1lZAkAZAIFFlByZXZpb3VzUmV3YXJkc0NsYWltZWQFEGNsYWltYWJsZV9hbW91bnQEHFByZXZpb3VzUmV3YXJkc0NsYWltZWRieVVzZXIEByRtYXRjaDAJAJoIAgUEdGhpcwkArAICBQ1jYWxsZXJhZGRyZXNzAhBfUmV3YXJkc19DbGFpbWVkAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBlUb3RhbFJld2FyZHNDbGFpbWVkYnlVc2VyCQBkAgUcUHJldmlvdXNSZXdhcmRzQ2xhaW1lZGJ5VXNlcgUQY2xhaW1hYmxlX2Ftb3VudAMJAQIhPQIIBQNwbXQHYXNzZXRJZAUGVFJEX0lECQACAQkArAICCQCsAgIJAKwCAgIORW5nbGlzaDogT25seSAJANgEAQUGVFJEX0lEAjMgVHJhZGVvaW4gVG9rZW5zIGFyZSBBY2NlcHRlZCB0byBBdHRhY2ggYXMgcGF5bWVudC4Ca9Cg0YPRgdGB0LrQuNC5OiDQkiDQutCw0YfQtdGB0YLQstC1INC+0L/Qu9Cw0YLRiyDQv9GA0LjQvdC40LzQsNGO0YLRgdGPINGC0L7Qu9GM0LrQviDRgtC+0LrQtdC90YsgVHJhZGVvaW4uAwkAZgIFEm1pbmltdW1fb3JkZXJfc2l6ZQgFA3BtdAZhbW91bnQJAAIBCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIfRW5nbGlzaDogUGxlYXNlIEF0dGFjaCBBdGxlYXN0IAkApAMBCQBpAgUSbWluaW11bV9vcmRlcl9zaXplBQJkNgIFIFRSRC4CSdCg0YPRgdGB0LrQuNC5OiDQn9C+0LbQsNC70YPQudGB0YLQsCwg0L/RgNC40LvQvtC20LjRgtC1INC90LUg0LzQtdC90LXQtSAJAKQDAQkAaQIFEm1pbmltdW1fb3JkZXJfc2l6ZQUCZDYCBSBUUkQuAwkAZgIIBQNwbXQGYW1vdW50BRBkYWlseV9idXJuX0xpbWl0CQACAQkArAICCQCsAgIJAKwCAgkArAICCQCsAgICMUVuZ2xpc2g6IFRoZSBtYXhpbXVtIGRhaWx5IGJ1cm5pbmcgbGltaXQgaXMgb25seSAJAKQDAQkAaQIFEGRhaWx5X2J1cm5fTGltaXQFAmQ2AhEgVFJEIHBlciBBZGRyZXNzLgJ00KDRg9GB0YHQutC40Lk6INCc0LDQutGB0LjQvNCw0LvRjNC90YvQuSDQtNC90LXQstC90L7QuSDQu9C40LzQuNGCINGB0LbQuNCz0LDQvdC40Y8g0YHQvtGB0YLQsNCy0LvRj9C10YIg0LLRgdC10LPQviAJAKQDAQkAaQIFEGRhaWx5X2J1cm5fTGltaXQFAmQ2AgUgVFJELgMJAGYCBRBjbGFpbWFibGVfYW1vdW50BRJjaGVja19kYXBwX2JhbGFuY2UJAAIBCQCsAgICMk5vdCBFbm91Z2ggV2F2ZXMgQXZhaWxhYmxlIG9uIERhcHAgdG8gQnVybiBUb2tlbnMuApwB0JIgRGFwcCDQvdC10LTQvtGB0YLQsNGC0L7Rh9C90L4g0LLQvtC70L0g0LTQu9GPINGB0LbQuNCz0LDQvdC40Y8g0YLQvtC60LXQvdC+0LIuINCf0L7Qv9GA0L7RgdC40YLQtSDQsNC00LzQuNC90LjRgdGC0YDQsNGC0L7RgNCwINC/0L7Qv9C+0LvQvdC40YLRjCDQtdCz0L4uCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhNUb3RhbF9TdXBwbHlfQnVybmVkBQtUb3RhbEJ1cm5lZAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICBQ1jYWxsZXJhZGRyZXNzAgdfQnVybmVkBRFUb3RhbEJ1cm5lZGJ5VXNlcgkAzAgCCQEMSW50ZWdlckVudHJ5AgIVVG90YWxfUmV3YXJkc19DbGFpbWVkBRNUb3RhbFJld2FyZHNDbGFpbWVkCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgtDdXJyZW50X0RheQUKQ3VycmVudGRheQkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICBQ1jYWxsZXJhZGRyZXNzAhBfUmV3YXJkc19DbGFpbWVkBRlUb3RhbFJld2FyZHNDbGFpbWVkYnlVc2VyCQDMCAIJAQRCdXJuAgUGVFJEX0lECAUDcG10BmFtb3VudAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFEGNsYWltYWJsZV9hbW91bnQFBHVuaXQFA25pbAFpARJ1cGRhdGVfYnVybl9saW1pdHMBBkFtb3VudAQQbmV3X2RhaWx5X2xpbWl0cwkAaAIFBkFtb3VudAUCZDYDCQECIT0CCAUBaQZjYWxsZXIFBWFkbWluCQACAQkArAICCQCsAgICJVRoaXMgQWRkcmVzcyBpcyBub3QgQXV0aG9yaXplZC4gT25seSAJAKUIAQUFYWRtaW4CIiBpcyBBdXRob3JpemVkIEFkZHJlc3MgdG8gU2lnbiBpdC4JAMwIAgkBDEludGVnZXJFbnRyeQICEURhaWx5X0J1cm5fTGltaXRzBRBuZXdfZGFpbHlfbGltaXRzBQNuaWwBAnR4AQZ2ZXJpZnkACQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5uXeIZg==", "height": 3923421, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GfGtCkgjhyrSzja583ZwV3TpcNZeuFvXJqdMTCkxASFp Next: none Diff:
OldNewDifferences
1111
1212 let e = 100000000
1313
14-let f = 1000000000
14+let f = getIntegerValue(this, "Daily_Burn_Limits")
1515
16-let g = 1000000
16+let g = addressFromPublicKey(base58'4q1YkzkM4pYzHp4jBtugQowp6LREYGvhceFaBBAVt3bo')
1717
18-let h = wavesBalance(this).regular
18+let h = 1000000
1919
20-func i () = {
21- let j = (lastBlock.timestamp - b)
22- let k = fraction(1, j, 86400000)
23- k
20+let i = wavesBalance(this).regular
21+
22+func j () = {
23+ let k = (lastBlock.timestamp - b)
24+ let l = fraction(1, k, 86400000)
25+ l
2426 }
2527
2628
27-@Callable(l)
29+@Callable(m)
2830 func BurnTRD () = {
29- let m = value(l.payments[0])
30- let n = toBase58String(l.caller.bytes)
31- let o = fraction(d, m.amount, g)
32- let p = i()
33- let q = {
34- let r = getInteger(this, "Total_Supply_Burned")
35- if ($isInstanceOf(r, "Int"))
31+ let n = value(m.payments[0])
32+ let o = toBase58String(m.caller.bytes)
33+ let p = fraction(d, n.amount, h)
34+ let q = j()
35+ let r = {
36+ let s = getInteger(this, "Total_Supply_Burned")
37+ if ($isInstanceOf(s, "Int"))
3638 then {
37- let s = r
38- s
39+ let t = s
40+ t
3941 }
4042 else 0
4143 }
42- let t = (q + m.amount)
43- let u = {
44- let r = getInteger(this, (n + "_Burned"))
45- if ($isInstanceOf(r, "Int"))
44+ let u = (r + n.amount)
45+ let v = {
46+ let s = getInteger(this, (o + "_Burned"))
47+ if ($isInstanceOf(s, "Int"))
4648 then {
47- let s = r
48- s
49+ let t = s
50+ t
4951 }
5052 else 0
5153 }
52- let v = (u + m.amount)
53- let w = {
54- let r = getInteger(this, "Total_Rewards_Claimed")
55- if ($isInstanceOf(r, "Int"))
54+ let w = (v + n.amount)
55+ let x = {
56+ let s = getInteger(this, "Total_Rewards_Claimed")
57+ if ($isInstanceOf(s, "Int"))
5658 then {
57- let s = r
58- s
59+ let t = s
60+ t
5961 }
6062 else 0
6163 }
62- let x = (w + o)
63- let y = {
64- let r = getInteger(this, (n + "_Rewards_Claimed"))
65- if ($isInstanceOf(r, "Int"))
64+ let y = (x + p)
65+ let z = {
66+ let s = getInteger(this, (o + "_Rewards_Claimed"))
67+ if ($isInstanceOf(s, "Int"))
6668 then {
67- let s = r
68- s
69+ let t = s
70+ t
6971 }
7072 else 0
7173 }
72- let z = (y + o)
73- if ((m.assetId != c))
74+ let A = (z + p)
75+ if ((n.assetId != c))
7476 then throw(((("English: Only " + toBase58String(c)) + " Tradeoin Tokens are Accepted to Attach as payment.") + "Русский: В качестве оплаты принимаются только токены Tradeoin."))
75- else if ((e > m.amount))
76- then throw(((((("English: Please Attach Atleast " + toString((e / g))) + " TRD.") + "Русский: Пожалуйста, приложите не менее ") + toString((e / g))) + " TRD."))
77- else if ((m.amount > f))
78- then throw(((((("English: The maximum daily burning limit is only " + toString((f / g))) + " TRD per Address.") + "Русский: Максимальный дневной лимит сжигания составляет всего ") + toString((f / g))) + " TRD."))
79- else if ((o > h))
77+ else if ((e > n.amount))
78+ then throw(((((("English: Please Attach Atleast " + toString((e / h))) + " TRD.") + "Русский: Пожалуйста, приложите не менее ") + toString((e / h))) + " TRD."))
79+ else if ((n.amount > f))
80+ then throw(((((("English: The maximum daily burning limit is only " + toString((f / h))) + " TRD per Address.") + "Русский: Максимальный дневной лимит сжигания составляет всего ") + toString((f / h))) + " TRD."))
81+ else if ((p > i))
8082 then throw(("Not Enough Waves Available on Dapp to Burn Tokens." + "В Dapp недостаточно волн для сжигания токенов. Попросите администратора пополнить его."))
81- else [IntegerEntry("Total_Supply_Burned", t), IntegerEntry((n + "_Burned"), v), IntegerEntry("Total_Rewards_Claimed", x), IntegerEntry("Current_Day", p), IntegerEntry((n + "_Rewards_Claimed"), z), Burn(c, m.amount), ScriptTransfer(l.caller, o, unit)]
83+ else [IntegerEntry("Total_Supply_Burned", u), IntegerEntry((o + "_Burned"), w), IntegerEntry("Total_Rewards_Claimed", y), IntegerEntry("Current_Day", q), IntegerEntry((o + "_Rewards_Claimed"), A), Burn(c, n.amount), ScriptTransfer(m.caller, p, unit)]
8284 }
8385
8486
85-@Verifier(A)
86-func B () = sigVerify(A.bodyBytes, A.proofs[0], A.senderPublicKey)
87+
88+@Callable(m)
89+func update_burn_limits (B) = {
90+ let C = (B * h)
91+ if ((m.caller != g))
92+ then throw((("This Address is not Authorized. Only " + toString(g)) + " is Authorized Address to Sign it."))
93+ else [IntegerEntry("Daily_Burn_Limits", C)]
94+ }
95+
96+
97+@Verifier(D)
98+func E () = sigVerify(D.bodyBytes, D.proofs[0], D.senderPublicKey)
8799
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "1.0.1"
55
66 let b = 1700821800000
77
88 let c = base58'EekwfLSAkbREneBHrXdZSRAEPvmijq71Nf2GDNqBStz4'
99
1010 let d = 11000
1111
1212 let e = 100000000
1313
14-let f = 1000000000
14+let f = getIntegerValue(this, "Daily_Burn_Limits")
1515
16-let g = 1000000
16+let g = addressFromPublicKey(base58'4q1YkzkM4pYzHp4jBtugQowp6LREYGvhceFaBBAVt3bo')
1717
18-let h = wavesBalance(this).regular
18+let h = 1000000
1919
20-func i () = {
21- let j = (lastBlock.timestamp - b)
22- let k = fraction(1, j, 86400000)
23- k
20+let i = wavesBalance(this).regular
21+
22+func j () = {
23+ let k = (lastBlock.timestamp - b)
24+ let l = fraction(1, k, 86400000)
25+ l
2426 }
2527
2628
27-@Callable(l)
29+@Callable(m)
2830 func BurnTRD () = {
29- let m = value(l.payments[0])
30- let n = toBase58String(l.caller.bytes)
31- let o = fraction(d, m.amount, g)
32- let p = i()
33- let q = {
34- let r = getInteger(this, "Total_Supply_Burned")
35- if ($isInstanceOf(r, "Int"))
31+ let n = value(m.payments[0])
32+ let o = toBase58String(m.caller.bytes)
33+ let p = fraction(d, n.amount, h)
34+ let q = j()
35+ let r = {
36+ let s = getInteger(this, "Total_Supply_Burned")
37+ if ($isInstanceOf(s, "Int"))
3638 then {
37- let s = r
38- s
39+ let t = s
40+ t
3941 }
4042 else 0
4143 }
42- let t = (q + m.amount)
43- let u = {
44- let r = getInteger(this, (n + "_Burned"))
45- if ($isInstanceOf(r, "Int"))
44+ let u = (r + n.amount)
45+ let v = {
46+ let s = getInteger(this, (o + "_Burned"))
47+ if ($isInstanceOf(s, "Int"))
4648 then {
47- let s = r
48- s
49+ let t = s
50+ t
4951 }
5052 else 0
5153 }
52- let v = (u + m.amount)
53- let w = {
54- let r = getInteger(this, "Total_Rewards_Claimed")
55- if ($isInstanceOf(r, "Int"))
54+ let w = (v + n.amount)
55+ let x = {
56+ let s = getInteger(this, "Total_Rewards_Claimed")
57+ if ($isInstanceOf(s, "Int"))
5658 then {
57- let s = r
58- s
59+ let t = s
60+ t
5961 }
6062 else 0
6163 }
62- let x = (w + o)
63- let y = {
64- let r = getInteger(this, (n + "_Rewards_Claimed"))
65- if ($isInstanceOf(r, "Int"))
64+ let y = (x + p)
65+ let z = {
66+ let s = getInteger(this, (o + "_Rewards_Claimed"))
67+ if ($isInstanceOf(s, "Int"))
6668 then {
67- let s = r
68- s
69+ let t = s
70+ t
6971 }
7072 else 0
7173 }
72- let z = (y + o)
73- if ((m.assetId != c))
74+ let A = (z + p)
75+ if ((n.assetId != c))
7476 then throw(((("English: Only " + toBase58String(c)) + " Tradeoin Tokens are Accepted to Attach as payment.") + "Русский: В качестве оплаты принимаются только токены Tradeoin."))
75- else if ((e > m.amount))
76- then throw(((((("English: Please Attach Atleast " + toString((e / g))) + " TRD.") + "Русский: Пожалуйста, приложите не менее ") + toString((e / g))) + " TRD."))
77- else if ((m.amount > f))
78- then throw(((((("English: The maximum daily burning limit is only " + toString((f / g))) + " TRD per Address.") + "Русский: Максимальный дневной лимит сжигания составляет всего ") + toString((f / g))) + " TRD."))
79- else if ((o > h))
77+ else if ((e > n.amount))
78+ then throw(((((("English: Please Attach Atleast " + toString((e / h))) + " TRD.") + "Русский: Пожалуйста, приложите не менее ") + toString((e / h))) + " TRD."))
79+ else if ((n.amount > f))
80+ then throw(((((("English: The maximum daily burning limit is only " + toString((f / h))) + " TRD per Address.") + "Русский: Максимальный дневной лимит сжигания составляет всего ") + toString((f / h))) + " TRD."))
81+ else if ((p > i))
8082 then throw(("Not Enough Waves Available on Dapp to Burn Tokens." + "В Dapp недостаточно волн для сжигания токенов. Попросите администратора пополнить его."))
81- else [IntegerEntry("Total_Supply_Burned", t), IntegerEntry((n + "_Burned"), v), IntegerEntry("Total_Rewards_Claimed", x), IntegerEntry("Current_Day", p), IntegerEntry((n + "_Rewards_Claimed"), z), Burn(c, m.amount), ScriptTransfer(l.caller, o, unit)]
83+ else [IntegerEntry("Total_Supply_Burned", u), IntegerEntry((o + "_Burned"), w), IntegerEntry("Total_Rewards_Claimed", y), IntegerEntry("Current_Day", q), IntegerEntry((o + "_Rewards_Claimed"), A), Burn(c, n.amount), ScriptTransfer(m.caller, p, unit)]
8284 }
8385
8486
85-@Verifier(A)
86-func B () = sigVerify(A.bodyBytes, A.proofs[0], A.senderPublicKey)
87+
88+@Callable(m)
89+func update_burn_limits (B) = {
90+ let C = (B * h)
91+ if ((m.caller != g))
92+ then throw((("This Address is not Authorized. Only " + toString(g)) + " is Authorized Address to Sign it."))
93+ else [IntegerEntry("Daily_Burn_Limits", C)]
94+ }
95+
96+
97+@Verifier(D)
98+func E () = sigVerify(D.bodyBytes, D.proofs[0], D.senderPublicKey)
8799

github/deemru/w8io/3ef1775 
68.09 ms