tx · C19BQ5MzffCJG4HmoE3h3waLdqBJooZeSFpj6EJfekKR

3N4Kzbxu521DHPxcgrmZ4XUqN2kF6TqLTzs:  -0.01000000 Waves

2023.08.29 08:55 [2731591] smart account 3N4Kzbxu521DHPxcgrmZ4XUqN2kF6TqLTzs > SELF 0.00000000 Waves

{ "type": 13, "id": "C19BQ5MzffCJG4HmoE3h3waLdqBJooZeSFpj6EJfekKR", "fee": 1000000, "feeAssetId": null, "timestamp": 1693288524024, "version": 2, "chainId": 84, "sender": "3N4Kzbxu521DHPxcgrmZ4XUqN2kF6TqLTzs", "senderPublicKey": "8yQuxvQ2qLzXJrgbKZHbsfnNNjuU5wfHheyVujdALGsF", "proofs": [ "gQTUNLj33odXVssQheRfwDJAUCA6xof4B8Q7h6Vo62Je1G9hga2RdTtB5ju88tcvSzZPXcdHPc1MqVEyi16QH8G" ], "script": "base64:BgIOCAISABIAEgQKAggBEgAKAA5sb3R0ZXJ5QXNzZXRJRAkA2QQBAiwzTHoyM21TVXZUMUVzd2NCbjJzVVJZSkcyYXQ4ckc1YUZ1VXJUQXdhUE02UQAKdGlja2V0U2l6ZQCAwtcvARBnZXRJbnRlZ2VyT3JFbHNlAgNrZXkDdmFsCQELdmFsdWVPckVsc2UCCQCfCAEFA2tleQUDdmFsAQJtawEBeAkAuQkCBQF4AgFfARFrZXlBZHJUb3RhbFN0YWtlZAEDYWRyCQECbWsBCQDMCAIFA2FkcgkAzAgCAgt0b3RhbFN0YWtlZAUDbmlsARVrZXlMb3R0ZXJ5VG90YWxTdGFrZWQBC2xvdHRlcnlOYW1lCQECbWsBCQDMCAIFC2xvdHRlcnlOYW1lCQDMCAICEmxvdHRlcnlUb3RhbFN0YWtlZAUDbmlsARhrZXlBZHJMb3R0ZXJ5VG90YWxTdGFrZWQCC2xvdHRlcnlOYW1lA2FkcgkBAm1rAQkAzAgCBQtsb3R0ZXJ5TmFtZQkAzAgCBQNhZHIJAMwIAgILdG90YWxTdGFrZWQFA25pbAEVa2V5TG90dGVyeUZpbmFsSGVpZ2h0AQtsb3R0ZXJ5TmFtZQkBAm1rAQkAzAgCBQtsb3R0ZXJ5TmFtZQkAzAgCAhJsb3R0ZXJ5RmluYWxIZWlnaHQFA25pbAEOZ2V0TG90dGVyeU5hbWUACQERQGV4dHJOYXRpdmUoMTA1OCkBAhJjdXJyZW50TG90dGVyeU5hbWUBGGFjdGl2ZUxvdHRlcnlOYW1lT3JGYWxzZQADCQECIT0CCQELdmFsdWVPckVsc2UCCQCgCAECEGxvdHRlcnlJc1N0YXJ0ZWQHBgcEC2xvdHRlcnlOYW1lCQEOZ2V0TG90dGVyeU5hbWUABQtsb3R0ZXJ5TmFtZQQBaQEFc3Rha2UAAwkBAiE9AgkBC3ZhbHVlT3JFbHNlAgkAoAgBAhBsb3R0ZXJ5SXNTdGFydGVkBwYJAAIBAhJMb3R0ZXJ5IG5vdCBhY3RpdmUEC2xvdHRlcnlOYW1lCQEOZ2V0TG90dGVyeU5hbWUABBJsb3R0ZXJ5RmluYWxIZWlnaHQJARFAZXh0ck5hdGl2ZSgxMDU1KQEJARVrZXlMb3R0ZXJ5RmluYWxIZWlnaHQBBQtsb3R0ZXJ5TmFtZQMJAGcCCQBlAgUGaGVpZ2h0AAEFEmxvdHRlcnlGaW5hbEhlaWdodAkAAgECEkxvdHRlcnkgbm90IGFjdGl2ZQMJAAACCQCQAwEIBQFpCHBheW1lbnRzAAAJAAIBAhBObyBwYXltZW50IGFkZGVkAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwABCQACAQIXVG9vIG1hbnkgcGF5bWVudHMgYWRkZWQDCQECIT0CCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQFDmxvdHRlcnlBc3NldElECQACAQIVV3JvbmcgcGF5bWVudCBhc3NldElkBAZhbW91bnQICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BAx0aWNrZXRBbW91bnQJAGkCBQZhbW91bnQFCnRpY2tldFNpemUDCQAAAgUMdGlja2V0QW1vdW50AAAJAAIBAiVOb3QgZW5vdWdoIHRvIGJ1eSBhdCBsZWFzdCBvbmUgdGlja2V0BA1jYWxsZXJBZGRyZXNzCQClCAEIBQFpBmNhbGxlcgQTX2xvdHRlcnlUb3RhbFN0YWtlZAkBFWtleUxvdHRlcnlUb3RhbFN0YWtlZAEFC2xvdHRlcnlOYW1lBBJsb3R0ZXJ5VG90YWxTdGFrZWQJARFAZXh0ck5hdGl2ZSgxMDU1KQEFE19sb3R0ZXJ5VG90YWxTdGFrZWQEBl9vd25lcgkBAm1rAQkAzAgCBQtsb3R0ZXJ5TmFtZQkAzAgCCQCkAwEFEmxvdHRlcnlUb3RhbFN0YWtlZAkAzAgCCQCkAwEJAGUCCQBkAgUSbG90dGVyeVRvdGFsU3Rha2VkBQx0aWNrZXRBbW91bnQAAQkAzAgCAgVPd25lcgUDbmlsBA9fYWRyVG90YWxTdGFrZWQJARFrZXlBZHJUb3RhbFN0YWtlZAEFDWNhbGxlckFkZHJlc3MEDmFkclRvdGFsU3Rha2VkCQEQZ2V0SW50ZWdlck9yRWxzZQIFD19hZHJUb3RhbFN0YWtlZAAABBZfYWRyTG90dGVyeVRvdGFsU3Rha2VkCQEYa2V5QWRyTG90dGVyeVRvdGFsU3Rha2VkAgULbG90dGVyeU5hbWUFDWNhbGxlckFkZHJlc3MEFWFkckxvdHRlcnlUb3RhbFN0YWtlZAkBEGdldEludGVnZXJPckVsc2UCBRZfYWRyTG90dGVyeVRvdGFsU3Rha2VkAAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyCQBlAgUGYW1vdW50CQBoAgUMdGlja2V0QW1vdW50BQp0aWNrZXRTaXplBQ5sb3R0ZXJ5QXNzZXRJRAkAzAgCCQEMSW50ZWdlckVudHJ5AgUTX2xvdHRlcnlUb3RhbFN0YWtlZAkAZAIFEmxvdHRlcnlUb3RhbFN0YWtlZAUMdGlja2V0QW1vdW50CQDMCAIJAQtTdHJpbmdFbnRyeQIFBl9vd25lcgUNY2FsbGVyQWRkcmVzcwkAzAgCCQEMSW50ZWdlckVudHJ5AgUPX2FkclRvdGFsU3Rha2VkCQBkAgUOYWRyVG90YWxTdGFrZWQFDHRpY2tldEFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgUWX2FkckxvdHRlcnlUb3RhbFN0YWtlZAkAZAIFFWFkckxvdHRlcnlUb3RhbFN0YWtlZAUMdGlja2V0QW1vdW50BQNuaWwBaQEFY2xhaW0ABAtsb3R0ZXJ5TmFtZQkBGGFjdGl2ZUxvdHRlcnlOYW1lT3JGYWxzZQAEFXN0YWtlZEluQWN0aXZlTG90dGVyeQMJAAACBQtsb3R0ZXJ5TmFtZQcAAQAACQDMCAIJAQxJbnRlZ2VyRW50cnkCAgR0ZW1wBRVzdGFrZWRJbkFjdGl2ZUxvdHRlcnkFA25pbAFpAQtpbml0TG90dGVyeQILbG90dGVyeU5hbWUSbG90dGVyeUZpbmFsSGVpZ2h0AwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIKYWRtaW4gb25seQkAzAgCCQEMQm9vbGVhbkVudHJ5AgIQbG90dGVyeUlzU3RhcnRlZAYJAMwIAgkBC1N0cmluZ0VudHJ5AgISY3VycmVudExvdHRlcnlOYW1lBQtsb3R0ZXJ5TmFtZQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBFWtleUxvdHRlcnlGaW5hbEhlaWdodAEFC2xvdHRlcnlOYW1lBRJsb3R0ZXJ5RmluYWxIZWlnaHQJAMwIAgkBDEludGVnZXJFbnRyeQIJARVrZXlMb3R0ZXJ5VG90YWxTdGFrZWQBBQtsb3R0ZXJ5TmFtZQAABQNuaWwBaQEEY2FsbAAEBWFzc2V0CQDDCAcCBUFzc2V0AgAAAQAABgUEdW5pdAAABAdhc3NldElkCQC4CAEFBWFzc2V0CQDMCAIJAQtCaW5hcnlFbnRyeQICA2JpbgEACQDMCAIJAQxCb29sZWFuRW50cnkCAgRib29sBgkAzAgCCQEMSW50ZWdlckVudHJ5AgIDaW50AAEJAMwIAgkBC1N0cmluZ0VudHJ5AgIDc3RyAgAJAMwIAgkBC0RlbGV0ZUVudHJ5AQIDc3RyCQDMCAIFBWFzc2V0CQDMCAIJAQdSZWlzc3VlAwUHYXNzZXRJZAABBwkAzAgCCQEEQnVybgIFB2Fzc2V0SWQAAQkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIAAQUHYXNzZXRJZAUDbmlsAQJ0eAEGdmVyaWZ5AAkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleT4s2Eg=", "height": 2731591, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: G148PL3j2GbrSs6go1b4RZfbopEtcDCx9D7KoBVppm65 Next: BvGb3AiKngy5DaVxLBf6WFEVvNCQ5xoeHGKsuHZm3qnQ Diff:
OldNewDifferences
55
66 let b = 100000000
77
8-func c (d) = makeString(d, "_")
8+func c (d,e) = valueOrElse(getInteger(d), e)
99
1010
11-func e (f) = valueOrErrorMessage(getString(this, f), makeString(["'", f, "' key not found"], ""))
11+func f (g) = makeString(g, "_")
1212
1313
14-func g (f) = valueOrErrorMessage(getInteger(this, f), makeString(["'", f, "' key not found"], ""))
14+func h (i) = f([i, "totalStaked"])
1515
1616
17-@Callable(h)
18-func stake () = if ((valueOrElse(getBoolean(this, "lotteryIsStarted"), false) != true))
19- then throw("Lottery has not started yet")
17+func j (k) = f([k, "lotteryTotalStaked"])
18+
19+
20+func l (k,i) = f([k, i, "totalStaked"])
21+
22+
23+func m (k) = f([k, "lotteryFinalHeight"])
24+
25+
26+func n () = getStringValue("currentLotteryName")
27+
28+
29+func o () = if ((valueOrElse(getBoolean("lotteryIsStarted"), false) != true))
30+ then false
2031 else {
21- let i = e("currentLotteryName")
22- let j = g(c([i, "lotteryFinalHeight"]))
23- if (((height - 1) >= j))
24- then throw("Lottery has not started yet")
25- else if ((size(h.payments) == 0))
32+ let k = n()
33+ k
34+ }
35+
36+
37+@Callable(p)
38+func stake () = if ((valueOrElse(getBoolean("lotteryIsStarted"), false) != true))
39+ then throw("Lottery not active")
40+ else {
41+ let k = n()
42+ let q = getIntegerValue(m(k))
43+ if (((height - 1) >= q))
44+ then throw("Lottery not active")
45+ else if ((size(p.payments) == 0))
2646 then throw("No payment added")
27- else if ((size(h.payments) != 1))
47+ else if ((size(p.payments) != 1))
2848 then throw("Too many payments added")
29- else if ((h.payments[0].assetId != a))
49+ else if ((p.payments[0].assetId != a))
3050 then throw("Wrong payment assetId")
3151 else {
32- let k = h.payments[0].amount
33- let l = (k / b)
34- if ((k == 0))
52+ let r = p.payments[0].amount
53+ let s = (r / b)
54+ if ((s == 0))
3555 then throw("Not enough to buy at least one ticket")
3656 else {
37- let m = c([i, "pointer"])
38-[ScriptTransfer(h.caller, (k - (l * b)), a)]
57+ let t = toString(p.caller)
58+ let u = j(k)
59+ let v = getIntegerValue(u)
60+ let w = f([k, toString(v), toString(((v + s) - 1)), "Owner"])
61+ let x = h(t)
62+ let y = c(x, 0)
63+ let z = l(k, t)
64+ let A = c(z, 0)
65+[ScriptTransfer(p.caller, (r - (s * b)), a), IntegerEntry(u, (v + s)), StringEntry(w, t), IntegerEntry(x, (y + s)), IntegerEntry(z, (A + s))]
3966 }
4067 }
4168 }
4269
4370
4471
45-@Callable(h)
46-func initLottery (i,j) = if ((h.caller != this))
47- then throw("admin only")
48- else [BooleanEntry("lotteryIsStarted", true), StringEntry("currentLotteryName", i), IntegerEntry(c([i, "lotteryFinalHeight"]), j), IntegerEntry(c([i, "pointer"]), 0)]
72+@Callable(p)
73+func claim () = {
74+ let k = o()
75+ let B = if ((k == false))
76+ then 1
77+ else 0
78+[IntegerEntry("temp", B)]
79+ }
4980
5081
5182
52-@Callable(h)
83+@Callable(p)
84+func initLottery (k,q) = if ((p.caller != this))
85+ then throw("admin only")
86+ else [BooleanEntry("lotteryIsStarted", true), StringEntry("currentLotteryName", k), IntegerEntry(m(k), q), IntegerEntry(j(k), 0)]
87+
88+
89+
90+@Callable(p)
5391 func call () = {
54- let n = Issue("Asset", "", 1, 0, true, unit, 0)
55- let o = calculateAssetId(n)
56-[BinaryEntry("bin", base58''), BooleanEntry("bool", true), IntegerEntry("int", 1), StringEntry("str", ""), DeleteEntry("str"), n, Reissue(o, 1, false), Burn(o, 1), ScriptTransfer(h.caller, 1, o)]
92+ let C = Issue("Asset", "", 1, 0, true, unit, 0)
93+ let D = calculateAssetId(C)
94+[BinaryEntry("bin", base58''), BooleanEntry("bool", true), IntegerEntry("int", 1), StringEntry("str", ""), DeleteEntry("str"), C, Reissue(D, 1, false), Burn(D, 1), ScriptTransfer(p.caller, 1, D)]
5795 }
5896
5997
60-@Verifier(p)
61-func q () = sigVerify(p.bodyBytes, p.proofs[0], p.senderPublicKey)
98+@Verifier(E)
99+func F () = sigVerify(E.bodyBytes, E.proofs[0], E.senderPublicKey)
62100
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = fromBase58String("3Lz23mSUvT1EswcBn2sURYJG2at8rG5aFuUrTAwaPM6Q")
55
66 let b = 100000000
77
8-func c (d) = makeString(d, "_")
8+func c (d,e) = valueOrElse(getInteger(d), e)
99
1010
11-func e (f) = valueOrErrorMessage(getString(this, f), makeString(["'", f, "' key not found"], ""))
11+func f (g) = makeString(g, "_")
1212
1313
14-func g (f) = valueOrErrorMessage(getInteger(this, f), makeString(["'", f, "' key not found"], ""))
14+func h (i) = f([i, "totalStaked"])
1515
1616
17-@Callable(h)
18-func stake () = if ((valueOrElse(getBoolean(this, "lotteryIsStarted"), false) != true))
19- then throw("Lottery has not started yet")
17+func j (k) = f([k, "lotteryTotalStaked"])
18+
19+
20+func l (k,i) = f([k, i, "totalStaked"])
21+
22+
23+func m (k) = f([k, "lotteryFinalHeight"])
24+
25+
26+func n () = getStringValue("currentLotteryName")
27+
28+
29+func o () = if ((valueOrElse(getBoolean("lotteryIsStarted"), false) != true))
30+ then false
2031 else {
21- let i = e("currentLotteryName")
22- let j = g(c([i, "lotteryFinalHeight"]))
23- if (((height - 1) >= j))
24- then throw("Lottery has not started yet")
25- else if ((size(h.payments) == 0))
32+ let k = n()
33+ k
34+ }
35+
36+
37+@Callable(p)
38+func stake () = if ((valueOrElse(getBoolean("lotteryIsStarted"), false) != true))
39+ then throw("Lottery not active")
40+ else {
41+ let k = n()
42+ let q = getIntegerValue(m(k))
43+ if (((height - 1) >= q))
44+ then throw("Lottery not active")
45+ else if ((size(p.payments) == 0))
2646 then throw("No payment added")
27- else if ((size(h.payments) != 1))
47+ else if ((size(p.payments) != 1))
2848 then throw("Too many payments added")
29- else if ((h.payments[0].assetId != a))
49+ else if ((p.payments[0].assetId != a))
3050 then throw("Wrong payment assetId")
3151 else {
32- let k = h.payments[0].amount
33- let l = (k / b)
34- if ((k == 0))
52+ let r = p.payments[0].amount
53+ let s = (r / b)
54+ if ((s == 0))
3555 then throw("Not enough to buy at least one ticket")
3656 else {
37- let m = c([i, "pointer"])
38-[ScriptTransfer(h.caller, (k - (l * b)), a)]
57+ let t = toString(p.caller)
58+ let u = j(k)
59+ let v = getIntegerValue(u)
60+ let w = f([k, toString(v), toString(((v + s) - 1)), "Owner"])
61+ let x = h(t)
62+ let y = c(x, 0)
63+ let z = l(k, t)
64+ let A = c(z, 0)
65+[ScriptTransfer(p.caller, (r - (s * b)), a), IntegerEntry(u, (v + s)), StringEntry(w, t), IntegerEntry(x, (y + s)), IntegerEntry(z, (A + s))]
3966 }
4067 }
4168 }
4269
4370
4471
45-@Callable(h)
46-func initLottery (i,j) = if ((h.caller != this))
47- then throw("admin only")
48- else [BooleanEntry("lotteryIsStarted", true), StringEntry("currentLotteryName", i), IntegerEntry(c([i, "lotteryFinalHeight"]), j), IntegerEntry(c([i, "pointer"]), 0)]
72+@Callable(p)
73+func claim () = {
74+ let k = o()
75+ let B = if ((k == false))
76+ then 1
77+ else 0
78+[IntegerEntry("temp", B)]
79+ }
4980
5081
5182
52-@Callable(h)
83+@Callable(p)
84+func initLottery (k,q) = if ((p.caller != this))
85+ then throw("admin only")
86+ else [BooleanEntry("lotteryIsStarted", true), StringEntry("currentLotteryName", k), IntegerEntry(m(k), q), IntegerEntry(j(k), 0)]
87+
88+
89+
90+@Callable(p)
5391 func call () = {
54- let n = Issue("Asset", "", 1, 0, true, unit, 0)
55- let o = calculateAssetId(n)
56-[BinaryEntry("bin", base58''), BooleanEntry("bool", true), IntegerEntry("int", 1), StringEntry("str", ""), DeleteEntry("str"), n, Reissue(o, 1, false), Burn(o, 1), ScriptTransfer(h.caller, 1, o)]
92+ let C = Issue("Asset", "", 1, 0, true, unit, 0)
93+ let D = calculateAssetId(C)
94+[BinaryEntry("bin", base58''), BooleanEntry("bool", true), IntegerEntry("int", 1), StringEntry("str", ""), DeleteEntry("str"), C, Reissue(D, 1, false), Burn(D, 1), ScriptTransfer(p.caller, 1, D)]
5795 }
5896
5997
60-@Verifier(p)
61-func q () = sigVerify(p.bodyBytes, p.proofs[0], p.senderPublicKey)
98+@Verifier(E)
99+func F () = sigVerify(E.bodyBytes, E.proofs[0], E.senderPublicKey)
62100

github/deemru/w8io/169f3d6 
35.90 ms