tx · H2gj8zVDn1KJSbgJtZTJivuHsRany5dwvfSFyZSjEg8a

3N3dmyiBdj7pmjnQrzTTvmfzKSqndSzCMmk:  -0.00300000 Waves

2022.07.11 23:51 [2135580] smart account 3N3dmyiBdj7pmjnQrzTTvmfzKSqndSzCMmk > SELF 0.00000000 Waves

{ "type": 13, "id": "H2gj8zVDn1KJSbgJtZTJivuHsRany5dwvfSFyZSjEg8a", "fee": 300000, "feeAssetId": null, "timestamp": 1657572720822, "version": 2, "chainId": 84, "sender": "3N3dmyiBdj7pmjnQrzTTvmfzKSqndSzCMmk", "senderPublicKey": "AR4BeE6hYADMvKxgRQs4ADN3krEqb2j8WE3WfJxzL3zE", "proofs": [ "4o69wfq9vjdTXHrnAA3Nvp2PJH3XKxkYXoRiZRwGs3sJhTT8MKiiecUipyr9qda7ubdVTsY4tuj8ZZGPgg7afmHr" ], "script": "base64:BgINCAISBQoDCAgIEgASAAsABXdhdmVzAIDC1y8ADnRpY2tldFByaWNlSW50AMCEPQALdGlja2V0UHJpY2UFDnRpY2tldFByaWNlSW50AAZpbnZGZWUA0IYDABJ3aXRoZHJhd0ZlZVBlcmNlbnQACgENdHJ5R2V0SW50ZWdlcgEDa2V5BAckbWF0Y2gwCQCaCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWIFByRtYXRjaDAFAWIAAAESZ2V0VGlja2V0c0NvdW50S2V5AQ1hZGRyZXNzU3RyaW5nCQCsAgIFDWFkZHJlc3NTdHJpbmcCDV90aWNrZXRzQ291bnQBDWdhbWVXaW5uZXJLZXkBBmdhbWVJZAkArAICBQZnYW1lSWQCB193aW5uZXIBGmFkZHJlc3NBdmFpbGFibGVSZXdhcmRzS2V5AQdhZGRyZXNzCQCsAgIFB2FkZHJlc3MCEV9hdmFpbGFibGVSZXdhcmRzAQ9nZXRUaWNrZXRzQ291bnQBDWFkZHJlc3NTdHJpbmcJAQ10cnlHZXRJbnRlZ2VyAQkBEmdldFRpY2tldHNDb3VudEtleQEFDWFkZHJlc3NTdHJpbmcBDWNvbnN1bWVUaWNrZXQBCnBsYXllckFkZHIEEmN1cnJlbnRUaWNrZXRDb3VudAkBD2dldFRpY2tldHNDb3VudAEFCnBsYXllckFkZHIEFW5ld0N1cnJlbnRUaWNrZXRDb3VudAkAZQIFEmN1cnJlbnRUaWNrZXRDb3VudAABAwkAZgIAAAUVbmV3Q3VycmVudFRpY2tldENvdW50AAAFFW5ld0N1cnJlbnRUaWNrZXRDb3VudAMBaQEQc2V0V2lubmVySGVhZHNVcAMGZ2FtZUlkDXdpbm5lckFkZHJTdHIPb3RoZXJQbGF5ZXJBZGRyAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIKQWRtaW4gT25seQQTYXZhaWxhYmxlUmV3YXJkc0tleQkBGmFkZHJlc3NBdmFpbGFibGVSZXdhcmRzS2V5AQUNd2lubmVyQWRkclN0cgQXY3VycmVudEF2YWlsYWJsZVJld2FyZHMJAQ10cnlHZXRJbnRlZ2VyAQUTYXZhaWxhYmxlUmV3YXJkc0tleQQUbmV3VGlja2V0Q291bnRXaW5uZXIJAQ1jb25zdW1lVGlja2V0AQUNd2lubmVyQWRkclN0cgQZbmV3VGlja2V0Q291bnRPdGhlclBsYXllcgkBDWNvbnN1bWVUaWNrZXQBBQ9vdGhlclBsYXllckFkZHIJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDWdhbWVXaW5uZXJLZXkBBQZnYW1lSWQFDXdpbm5lckFkZHJTdHIJAMwIAgkBDEludGVnZXJFbnRyeQIFE2F2YWlsYWJsZVJld2FyZHNLZXkJAGQCBRdjdXJyZW50QXZhaWxhYmxlUmV3YXJkcwkAaAIFC3RpY2tldFByaWNlAAIJAMwIAgkBDEludGVnZXJFbnRyeQIJARJnZXRUaWNrZXRzQ291bnRLZXkBBQ13aW5uZXJBZGRyU3RyBRRuZXdUaWNrZXRDb3VudFdpbm5lcgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBEmdldFRpY2tldHNDb3VudEtleQEFD290aGVyUGxheWVyQWRkcgUZbmV3VGlja2V0Q291bnRPdGhlclBsYXllcgUDbmlsAWkBD3dpdGhkcmF3UmV3YXJkcwAEDWNhbGxlckFkZHJTdHIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwQXY3VycmVudEF2YWlsYWJsZVJld2FyZHMJAQ10cnlHZXRJbnRlZ2VyAQkBGmFkZHJlc3NBdmFpbGFibGVSZXdhcmRzS2V5AQUNY2FsbGVyQWRkclN0cgQWYWN0dWFsQXZhaWxhYmxlUmV3YXJkcwkAZQIJAGUCBRdjdXJyZW50QXZhaWxhYmxlUmV3YXJkcwUGaW52RmVlCQBrAwUXY3VycmVudEF2YWlsYWJsZVJld2FyZHMFEndpdGhkcmF3RmVlUGVyY2VudABkAwkAZwIAAAUXY3VycmVudEF2YWlsYWJsZVJld2FyZHMJAAIBAiBObyBhdmFpbGFibGUgcmV3YXJkcyB0byB3aXRoZHJhdwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBGmFkZHJlc3NBdmFpbGFibGVSZXdhcmRzS2V5AQUNY2FsbGVyQWRkclN0cgAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUWYWN0dWFsQXZhaWxhYmxlUmV3YXJkcwUEdW5pdAUDbmlsAWkBCmJ1eVRpY2tldHMABANwbXQDCQAAAgkAkAMBCAUBaQhwYXltZW50cwABCQCRAwIIBQFpCHBheW1lbnRzAAAJAAIBAiFQbGVhc2UgYXR0YWNoIGV4YWN0bHkgb25lIHBheW1lbnQDCQEJaXNEZWZpbmVkAQgFA3BtdAdhc3NldElkCQACAQInVGlja2V0cyBjYW4gb25seSBpYmUgcHVyY2hhc2VkIGluIFdhdmVzAwkBAiE9AggFA3BtdAZhbW91bnQFC3RpY2tldFByaWNlCQACAQkArAICCQCsAgICH1RoZSBwYXltZW50IG11c3QgYmUgb2YgZXhhY3RseSAJAKQDAQUOdGlja2V0UHJpY2VJbnQCBiB3YXZlcwQNY2FsbGVyQWRkclN0cgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBBNjdXJyZW50VGlja2V0c0NvdW50CQENdHJ5R2V0SW50ZWdlcgEJARJnZXRUaWNrZXRzQ291bnRLZXkBBQ1jYWxsZXJBZGRyU3RyCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIJARJnZXRUaWNrZXRzQ291bnRLZXkBBQ1jYWxsZXJBZGRyU3RyCQBkAgUTY3VycmVudFRpY2tldHNDb3VudAABBQNuaWwAAQECdHgBBnZlcmlmeQAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXlS9NXI", "height": 2135580, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DkKY6DeRDq5gBNS5gbUauEVEbVvhYx6cW5XCeVDQnic8 Next: DxnMfjvnroe6WCyLmeEwXi3LxxsJdTAgcoUW9vay7pWu Diff:
OldNewDifferences
77
88 let c = b
99
10-func d (e) = {
11- let f = getInteger(this, e)
12- if ($isInstanceOf(f, "Int"))
10+let d = 50000
11+
12+let e = 10
13+
14+func f (g) = {
15+ let h = getInteger(this, g)
16+ if ($isInstanceOf(h, "Int"))
1317 then {
14- let g = f
15- g
18+ let i = h
19+ i
1620 }
1721 else 0
1822 }
1923
2024
21-func h (i) = (i + "_ticketsCount")
25+func j (k) = (k + "_ticketsCount")
2226
2327
24-func j (k) = (k + "_winner")
28+func l (m) = (m + "_winner")
2529
2630
27-func l (m) = (m + "_availableRewards")
31+func n (o) = (o + "_availableRewards")
2832
2933
30-func n (i) = d(h(i))
34+func p (k) = f(j(k))
3135
3236
33-func o (p) = {
34- let q = n(p)
35- let r = (q - 1)
36- if ((0 > r))
37+func q (r) = {
38+ let s = p(r)
39+ let t = (s - 1)
40+ if ((0 > t))
3741 then 0
38- else r
42+ else t
3943 }
4044
4145
42-@Callable(s)
43-func setWinnerHeadsUp (k,t,u) = if ((s.caller != this))
46+@Callable(u)
47+func setWinnerHeadsUp (m,v,w) = if ((u.caller != this))
4448 then throw("Admin Only")
4549 else {
46- let v = l(t)
47- let w = d(v)
48- let x = o(t)
49- let y = o(u)
50-[StringEntry(j(k), t), IntegerEntry(v, (w + (c * 2))), IntegerEntry(h(t), x), IntegerEntry(h(u), y)]
50+ let x = n(v)
51+ let y = f(x)
52+ let z = q(v)
53+ let A = q(w)
54+[StringEntry(l(m), v), IntegerEntry(x, (y + (c * 2))), IntegerEntry(j(v), z), IntegerEntry(j(w), A)]
5155 }
5256
5357
5458
55-@Callable(s)
59+@Callable(u)
5660 func withdrawRewards () = {
57- let z = toBase58String(s.caller.bytes)
58- let w = d(l(z))
59- if ((0 >= w))
61+ let B = toBase58String(u.caller.bytes)
62+ let y = f(n(B))
63+ let C = ((y - d) - fraction(y, e, 100))
64+ if ((0 >= y))
6065 then throw("No available rewards to withdraw")
61- else [IntegerEntry(l(z), 0), ScriptTransfer(s.caller, w, unit)]
66+ else [IntegerEntry(n(B), 0), ScriptTransfer(u.caller, C, unit)]
6267 }
6368
6469
6570
66-@Callable(s)
71+@Callable(u)
6772 func buyTickets () = {
68- let A = if ((size(s.payments) == 1))
69- then s.payments[0]
73+ let D = if ((size(u.payments) == 1))
74+ then u.payments[0]
7075 else throw("Please attach exactly one payment")
71- if (isDefined(A.assetId))
76+ if (isDefined(D.assetId))
7277 then throw("Tickets can only ibe purchased in Waves")
73- else if ((A.amount != c))
78+ else if ((D.amount != c))
7479 then throw((("The payment must be of exactly " + toString(b)) + " waves"))
7580 else {
76- let z = toBase58String(s.caller.bytes)
77- let B = d(h(z))
78- $Tuple2([IntegerEntry(h(z), (B + 1))], 1)
81+ let B = toBase58String(u.caller.bytes)
82+ let E = f(j(B))
83+ $Tuple2([IntegerEntry(j(B), (E + 1))], 1)
7984 }
8085 }
8186
8287
83-@Verifier(C)
84-func D () = sigVerify(C.bodyBytes, C.proofs[0], C.senderPublicKey)
88+@Verifier(F)
89+func G () = sigVerify(F.bodyBytes, F.proofs[0], F.senderPublicKey)
8590
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 100000000
55
66 let b = 1000000
77
88 let c = b
99
10-func d (e) = {
11- let f = getInteger(this, e)
12- if ($isInstanceOf(f, "Int"))
10+let d = 50000
11+
12+let e = 10
13+
14+func f (g) = {
15+ let h = getInteger(this, g)
16+ if ($isInstanceOf(h, "Int"))
1317 then {
14- let g = f
15- g
18+ let i = h
19+ i
1620 }
1721 else 0
1822 }
1923
2024
21-func h (i) = (i + "_ticketsCount")
25+func j (k) = (k + "_ticketsCount")
2226
2327
24-func j (k) = (k + "_winner")
28+func l (m) = (m + "_winner")
2529
2630
27-func l (m) = (m + "_availableRewards")
31+func n (o) = (o + "_availableRewards")
2832
2933
30-func n (i) = d(h(i))
34+func p (k) = f(j(k))
3135
3236
33-func o (p) = {
34- let q = n(p)
35- let r = (q - 1)
36- if ((0 > r))
37+func q (r) = {
38+ let s = p(r)
39+ let t = (s - 1)
40+ if ((0 > t))
3741 then 0
38- else r
42+ else t
3943 }
4044
4145
42-@Callable(s)
43-func setWinnerHeadsUp (k,t,u) = if ((s.caller != this))
46+@Callable(u)
47+func setWinnerHeadsUp (m,v,w) = if ((u.caller != this))
4448 then throw("Admin Only")
4549 else {
46- let v = l(t)
47- let w = d(v)
48- let x = o(t)
49- let y = o(u)
50-[StringEntry(j(k), t), IntegerEntry(v, (w + (c * 2))), IntegerEntry(h(t), x), IntegerEntry(h(u), y)]
50+ let x = n(v)
51+ let y = f(x)
52+ let z = q(v)
53+ let A = q(w)
54+[StringEntry(l(m), v), IntegerEntry(x, (y + (c * 2))), IntegerEntry(j(v), z), IntegerEntry(j(w), A)]
5155 }
5256
5357
5458
55-@Callable(s)
59+@Callable(u)
5660 func withdrawRewards () = {
57- let z = toBase58String(s.caller.bytes)
58- let w = d(l(z))
59- if ((0 >= w))
61+ let B = toBase58String(u.caller.bytes)
62+ let y = f(n(B))
63+ let C = ((y - d) - fraction(y, e, 100))
64+ if ((0 >= y))
6065 then throw("No available rewards to withdraw")
61- else [IntegerEntry(l(z), 0), ScriptTransfer(s.caller, w, unit)]
66+ else [IntegerEntry(n(B), 0), ScriptTransfer(u.caller, C, unit)]
6267 }
6368
6469
6570
66-@Callable(s)
71+@Callable(u)
6772 func buyTickets () = {
68- let A = if ((size(s.payments) == 1))
69- then s.payments[0]
73+ let D = if ((size(u.payments) == 1))
74+ then u.payments[0]
7075 else throw("Please attach exactly one payment")
71- if (isDefined(A.assetId))
76+ if (isDefined(D.assetId))
7277 then throw("Tickets can only ibe purchased in Waves")
73- else if ((A.amount != c))
78+ else if ((D.amount != c))
7479 then throw((("The payment must be of exactly " + toString(b)) + " waves"))
7580 else {
76- let z = toBase58String(s.caller.bytes)
77- let B = d(h(z))
78- $Tuple2([IntegerEntry(h(z), (B + 1))], 1)
81+ let B = toBase58String(u.caller.bytes)
82+ let E = f(j(B))
83+ $Tuple2([IntegerEntry(j(B), (E + 1))], 1)
7984 }
8085 }
8186
8287
83-@Verifier(C)
84-func D () = sigVerify(C.bodyBytes, C.proofs[0], C.senderPublicKey)
88+@Verifier(F)
89+func G () = sigVerify(F.bodyBytes, F.proofs[0], F.senderPublicKey)
8590

github/deemru/w8io/169f3d6 
85.90 ms