tx · GPMEoeDGzmpAZ4cCpxx3DAVdRYRx4mEmVSRTUbfw3A3a

3N9XnyPpWxYohKH7z5dEuq8rpnobpyzPrzE:  -0.01400000 Waves

2019.09.08 11:11 [666843] smart account 3N9XnyPpWxYohKH7z5dEuq8rpnobpyzPrzE > SELF 0.00000000 Waves

{ "type": 13, "id": "GPMEoeDGzmpAZ4cCpxx3DAVdRYRx4mEmVSRTUbfw3A3a", "fee": 1400000, "feeAssetId": null, "timestamp": 1567930268717, "version": 1, "sender": "3N9XnyPpWxYohKH7z5dEuq8rpnobpyzPrzE", "senderPublicKey": "ESNVczQiY4oxY2hoRSZcruKNBwsPdXVu1nSCbpprDGJB", "proofs": [ "5aLHTjPRghJKnkQhUa92NXQcoqSi3VpfPL3UJTj3w9VSFS5jWs6j5n7nwrJbcbZkCBLLfnjyuXRp5RSGiMS9YNvP" ], "script": "base64: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", "chainId": 84, "height": 666843, "spentComplexity": 0 } View: original | compacted Prev: Gb1METas8sCSMMZjfEWKYCAEMhmCLotbQmPmcWTT9jZB Next: 4j8FQcv5Vib3a7s3y8M1L3pjMA85ULsFqCtSCfCbspnS Diff:
OldNewDifferences
2929 }
3030
3131
32-func n (i,o) = {
33- let p = (((i + "_") + o) + "_tickets")
34- getStringValue(b, p)
35- }
36-
37-
38-func q (r) = {
39- let s = size(r)
40- if ((s > 0))
41- then {
42- let t = parseIntValue(take(r, 2))
43- let u = take(drop(r, 2), t)
44- let v = drop(r, (t + 2))
45- let w = v
46-[u, w]
47- }
48- else throw("Empty string was passed into parseNextAttribute func")
49- }
50-
51-
52-func x (p) = ["1", "100", "101", "300", "0", "0", "0", "0"]
53-
54-
55-func y (o) = if ((o == "3MsD5LWNJmQkkWpj3RtaeRVrKGLgoCE7kpB"))
56- then ["1", "100", "0", "0", "0", "0", "0", "0"]
57- else if ((o == "3N8bMv9V4spvb9bAeRtGve5RLkVN8swFDWc"))
58- then ["101", "300", "0", "0", "0", "0", "0", "0"]
59- else throw("Победитель не учавствовал епт")
60-
61-
62-func z (i,o,A) = {
63- let B = y(o)
64- if (if ((A >= parseIntValue(B[0])))
65- then (parseIntValue(B[1]) >= A)
32+func n (o,p) = {
33+ let q = split(o, "_")
34+ if (if ((p >= parseIntValue(q[0])))
35+ then (parseIntValue(q[1]) >= p)
6636 else false)
6737 then true
68- else if (if ((A >= parseIntValue(B[2])))
69- then (parseIntValue(B[3]) >= A)
38+ else if (if ((p >= parseIntValue(q[2])))
39+ then (parseIntValue(q[3]) >= p)
7040 else false)
7141 then true
72- else if (if ((A >= parseIntValue(B[4])))
73- then (parseIntValue(B[5]) >= A)
42+ else if (if ((p >= parseIntValue(q[4])))
43+ then (parseIntValue(q[5]) >= p)
7444 else false)
7545 then true
76- else if (if ((A >= parseIntValue(B[6])))
77- then (parseIntValue(B[7]) >= A)
46+ else if (if ((p >= parseIntValue(q[6])))
47+ then (parseIntValue(q[7]) >= p)
7848 else false)
7949 then true
8050 else false
8151 }
8252
8353
84-func C (i,A) = {
85- let D = getStringValue(b, (i + "_players"))
86- let E = split(D, "_")
87- if (z(i, E[0], A))
88- then E[0]
89- else if (z(i, E[1], A))
90- then E[1]
91- else if (z(i, E[2], A))
92- then E[2]
93- else if (z(i, E[3], A))
94- then E[3]
95- else throw("Error with defining winner")
54+func r (i,p,s) = {
55+ let t = getIntegerValue(b, (((i + "_") + s) + "_bank"))
56+ let u = [ScriptTransfer(addressFromStringValue(s), t, unit)]
57+ let v = [DataEntry((i + "_result"), toString(p)), DataEntry((i + "_winner"), s), DataEntry((i + "_winAmt"), t)]
58+ ScriptResult(WriteSet(v), TransferSet(u))
9659 }
9760
9861
99-func F (G) = (1 * c)
100-
101-
102-@Callable(H)
103-func generateResult (i,I) = {
104- let J = getStringValue(b, f)
105- if ((J == i))
62+@Callable(w)
63+func generateResult (i,x) = {
64+ let y = getStringValue(b, f)
65+ if ((y == i))
10666 then {
107- let j = fromBase58String(I)
108- let A = h(i, j)
109- let G = C(i, A)
110- let K = F(G)
111- let L = [ScriptTransfer(addressFromStringValue(G), K, unit)]
112- let M = [DataEntry((i + "_result"), toString(A)), DataEntry((i + "_winner"), G), DataEntry((i + "_winAmt"), K)]
113- ScriptResult(WriteSet(M), TransferSet(L))
67+ let j = fromBase58String(x)
68+ let p = h(i, j)
69+ let z = getStringValue(b, (i + "_players"))
70+ let A = split(z, "_")
71+ if (n(getStringValue(b, (((i + "_") + A[0]) + "_tickets")), p))
72+ then r(i, p, A[0])
73+ else if (n(getStringValue(b, (((i + "_") + A[1]) + "_tickets")), p))
74+ then r(i, p, A[1])
75+ else if (n(getStringValue(b, (((i + "_") + A[2]) + "_tickets")), p))
76+ then r(i, p, A[2])
77+ else if (n(getStringValue(b, (((i + "_") + A[3]) + "_tickets")), p))
78+ then r(i, p, A[3])
79+ else if (n(getStringValue(b, (((i + "_") + A[4]) + "_tickets")), p))
80+ then r(i, p, A[4])
81+ else throw("Error")
11482 }
115- else throw(((("Current Game is " + J) + ", but not ") + i))
83+ else throw(((("Current Game is " + y) + ", but not ") + i))
11684 }
11785
11886
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = fromBase58String("7im9caiCmE4SL6jTm4KTicHH4bGPf5v59rnfUA3cCRDj")
55
66 let b = addressFromStringValue("3N6yFJ5Z8NUUQvfGGMLp5efmevRRtTgQuun")
77
88 let c = ((100 * 1000) * 1000)
99
1010 let d = ((5 * c) / 1000)
1111
1212 let e = 100
1313
1414 let f = "$CURRENT_GAME"
1515
1616 let g = "$LAST_TICKET"
1717
1818 func h (i,j) = {
1919 let k = getIntegerValue(b, g)
2020 let l = sigVerify(toBytes(i), j, a)
2121 if (l)
2222 then {
2323 let m = (toInt(sha256(j)) % k)
2424 if ((0 > m))
2525 then ((-1 * m) + 1)
2626 else (m + 1)
2727 }
2828 else throw("Invalid RSA signature")
2929 }
3030
3131
32-func n (i,o) = {
33- let p = (((i + "_") + o) + "_tickets")
34- getStringValue(b, p)
35- }
36-
37-
38-func q (r) = {
39- let s = size(r)
40- if ((s > 0))
41- then {
42- let t = parseIntValue(take(r, 2))
43- let u = take(drop(r, 2), t)
44- let v = drop(r, (t + 2))
45- let w = v
46-[u, w]
47- }
48- else throw("Empty string was passed into parseNextAttribute func")
49- }
50-
51-
52-func x (p) = ["1", "100", "101", "300", "0", "0", "0", "0"]
53-
54-
55-func y (o) = if ((o == "3MsD5LWNJmQkkWpj3RtaeRVrKGLgoCE7kpB"))
56- then ["1", "100", "0", "0", "0", "0", "0", "0"]
57- else if ((o == "3N8bMv9V4spvb9bAeRtGve5RLkVN8swFDWc"))
58- then ["101", "300", "0", "0", "0", "0", "0", "0"]
59- else throw("Победитель не учавствовал епт")
60-
61-
62-func z (i,o,A) = {
63- let B = y(o)
64- if (if ((A >= parseIntValue(B[0])))
65- then (parseIntValue(B[1]) >= A)
32+func n (o,p) = {
33+ let q = split(o, "_")
34+ if (if ((p >= parseIntValue(q[0])))
35+ then (parseIntValue(q[1]) >= p)
6636 else false)
6737 then true
68- else if (if ((A >= parseIntValue(B[2])))
69- then (parseIntValue(B[3]) >= A)
38+ else if (if ((p >= parseIntValue(q[2])))
39+ then (parseIntValue(q[3]) >= p)
7040 else false)
7141 then true
72- else if (if ((A >= parseIntValue(B[4])))
73- then (parseIntValue(B[5]) >= A)
42+ else if (if ((p >= parseIntValue(q[4])))
43+ then (parseIntValue(q[5]) >= p)
7444 else false)
7545 then true
76- else if (if ((A >= parseIntValue(B[6])))
77- then (parseIntValue(B[7]) >= A)
46+ else if (if ((p >= parseIntValue(q[6])))
47+ then (parseIntValue(q[7]) >= p)
7848 else false)
7949 then true
8050 else false
8151 }
8252
8353
84-func C (i,A) = {
85- let D = getStringValue(b, (i + "_players"))
86- let E = split(D, "_")
87- if (z(i, E[0], A))
88- then E[0]
89- else if (z(i, E[1], A))
90- then E[1]
91- else if (z(i, E[2], A))
92- then E[2]
93- else if (z(i, E[3], A))
94- then E[3]
95- else throw("Error with defining winner")
54+func r (i,p,s) = {
55+ let t = getIntegerValue(b, (((i + "_") + s) + "_bank"))
56+ let u = [ScriptTransfer(addressFromStringValue(s), t, unit)]
57+ let v = [DataEntry((i + "_result"), toString(p)), DataEntry((i + "_winner"), s), DataEntry((i + "_winAmt"), t)]
58+ ScriptResult(WriteSet(v), TransferSet(u))
9659 }
9760
9861
99-func F (G) = (1 * c)
100-
101-
102-@Callable(H)
103-func generateResult (i,I) = {
104- let J = getStringValue(b, f)
105- if ((J == i))
62+@Callable(w)
63+func generateResult (i,x) = {
64+ let y = getStringValue(b, f)
65+ if ((y == i))
10666 then {
107- let j = fromBase58String(I)
108- let A = h(i, j)
109- let G = C(i, A)
110- let K = F(G)
111- let L = [ScriptTransfer(addressFromStringValue(G), K, unit)]
112- let M = [DataEntry((i + "_result"), toString(A)), DataEntry((i + "_winner"), G), DataEntry((i + "_winAmt"), K)]
113- ScriptResult(WriteSet(M), TransferSet(L))
67+ let j = fromBase58String(x)
68+ let p = h(i, j)
69+ let z = getStringValue(b, (i + "_players"))
70+ let A = split(z, "_")
71+ if (n(getStringValue(b, (((i + "_") + A[0]) + "_tickets")), p))
72+ then r(i, p, A[0])
73+ else if (n(getStringValue(b, (((i + "_") + A[1]) + "_tickets")), p))
74+ then r(i, p, A[1])
75+ else if (n(getStringValue(b, (((i + "_") + A[2]) + "_tickets")), p))
76+ then r(i, p, A[2])
77+ else if (n(getStringValue(b, (((i + "_") + A[3]) + "_tickets")), p))
78+ then r(i, p, A[3])
79+ else if (n(getStringValue(b, (((i + "_") + A[4]) + "_tickets")), p))
80+ then r(i, p, A[4])
81+ else throw("Error")
11482 }
115- else throw(((("Current Game is " + J) + ", but not ") + i))
83+ else throw(((("Current Game is " + y) + ", but not ") + i))
11684 }
11785
11886

github/deemru/w8io/169f3d6 
33.50 ms