tx · DbnTosmNCwAQ8mH1cKGQUoNRfNUq2rTMy2RuzgCdUG11

3MpdJJV3WyZufiGHRtb7xbY2Vsc2pBFcJYZ:  -0.01400000 Waves

2021.05.31 09:48 [1549505] smart account 3MpdJJV3WyZufiGHRtb7xbY2Vsc2pBFcJYZ > SELF 0.00000000 Waves

{ "type": 13, "id": "DbnTosmNCwAQ8mH1cKGQUoNRfNUq2rTMy2RuzgCdUG11", "fee": 1400000, "feeAssetId": null, "timestamp": 1622443714980, "version": 2, "chainId": 84, "sender": "3MpdJJV3WyZufiGHRtb7xbY2Vsc2pBFcJYZ", "senderPublicKey": "ALG9JVGNn9aCL68dbg1AmW6yDQv1b8EDLq99pQS8L1k6", "proofs": [ "2Wt8CqnbggujyHkU9JKqS8v5E9gE25gFX6gbZg64ZCZPUJ5XVbPEDJb8AwjS9uNZYhHjWWp7L6nvNdBQbLB2h6C7" ], "script": "base64:AAIDAAAAAAAAAAYIARIAEgAAAAAWAAAAAApkQXBwQWRkcmVzAgAAACtGOURDR2lZZ1Q4eXZCcTFBUUZjU3BHRzRwOHNkek56OW1aY3pEdko0NUxMAAAAAAt0aWNrZXRBc3NldAEAAAAgRhz1lSBi1eJGtOgMmCIyAWadBG7dHU2jIBGpv2KvKCwAAAAADHRva2VuQXNzZXRJZAIAAAAsNWloOWpkNEtWOWtTZXk1NXl2S01nTFNIY3dzWVlrUTRwUkRKdFJOb3hVaHkAAAAADXVzZUdhcmxpY0NvaW4HAAAAAA10b2tlbnNQZXJQbGF5AAAAAAAF9eEAAAAAAA1sb3R0ZXJ5YW1vdW50AgAAAAdfYW1vdW50AAAAABJsb3R0ZXJ5cHJvYmFiaWxpdHkCAAAADF9wcm9iYWJpbGl0eQAAAAAZbG90dGVyeXByb2JhYmlsaXR5ZGVjaW1hbAIAAAAUX3Byb2JhYmlsaXR5X2RlY2ltYWwAAAAAFWxvdHRlcnlXaW5uaW5nQWRkcmVzcwIAAAAQX3dpbm5pbmdfYWRkcmVzcwAAAAAMbG90dGVyeVByaWNlAgAAAAZfcHJpY2UAAAAADWxvdHRlcnlQcmljZXMCAAAAD19sb3R0ZXJ5X3ByaWNlcwAAAAAObG90dGVyeUFzc2V0SWQCAAAAEV9sb3R0ZXJ5X2Fzc2V0X2lkAAAAAA1jb3VudE9mUHJpY2VzAgAAAA1fY291bnRfcHJpY2VzAAAAABRsYXN0SGFzaFJhbmRvbU51bWJlcgIAAAAVbGFzdF9zcGluX3JhbmRvbV9oYXNoAAAAABBhbGxvd1NpemVMb3R0ZXJ5AAAAAAAAAAACAAAAABF0b3RhbFByaWNlc0luUG9vbAIAAAARdG90YWxfcHJpemVzX3Bvb2wAAAAACHRva2VuQUlkAgAAACVmMk16d3JtTjV3aU1uNUR3YkJMMzMyNDdmZHNmNDMyRlY5a1NlAAAAAAh0b2tlbkJJZAIAAAAlZjFNendybU40d2lNbjREd2JCTDQzMjQyZnNkZjQzNEZmc2RmcwEAAAAKcmFuZG9taXplcgAAAAEAAAADaW52BAAAAAhsYXN0UGxheQQAAAAHJG1hdGNoMAkABBwAAAACBQAAAAR0aGlzBQAAABRsYXN0SGFzaFJhbmRvbU51bWJlcgMJAAABAAAA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Y2VzCQAETAAAAAIFAAAACnJhbmROdW1iZXIFAAAAA25pbAQAAAAMd2lubmluZ1Rva2VuBAAAAA0kbGlzdDU5NDE1OTkzBQAAAAlwcmljZUxpc3QEAAAADSRzaXplNTk0MTU5OTMJAAGQAAAAAQUAAAANJGxpc3Q1OTQxNTk5MwQAAAANJGFjYzA1OTQxNTk5MwUAAAARbGlzdFdpbm5pbmdQcmljZXMDCQAAAAAAAAIFAAAADSRzaXplNTk0MTU5OTMAAAAAAAAAAAAFAAAADSRhY2MwNTk0MTU5OTMEAAAADSRhY2MxNTk0MTU5OTMJAQAAAA1wcm9jZWRMb3R0ZXJ5AAAAAgUAAAANJGFjYzA1OTQxNTk5MwkAAZEAAAACBQAAAA0kbGlzdDU5NDE1OTkzAAAAAAAAAAAAAwkAAAAAAAACBQAAAA0kc2l6ZTU5NDE1OTkzAAAAAAAAAAABBQAAAA0kYWNjMTU5NDE1OTkzBAAAAA0kYWNjMjU5NDE1OTkzCQEAAAANcHJvY2VkTG90dGVyeQAAAAIFAAAADSRhY2MxNTk0MTU5OTMJAAGRAAAAAgUAAAANJGxpc3Q1OTQxNTk5MwAAAAAAAAAAAQMJAAAAAAAAAgUAAAANJHNpemU1OTQxNTk5MwAAAAAAAAAAAgUAAAANJGFjYzI1OTQxNTk5MwQAAAANJGFjYzM1OTQxNTk5MwkBAAAADXByb2NlZExvdHRlcnkAAAACBQAAAA0kYWNjMjU5NDE1OTkzCQABkQAAAAIFAAAADSRsaXN0NTk0MTU5OTMAAAAAAAAAAAIDCQAAAAAAAAIFAAAADSRzaXplNTk0MTU5OTMAAAAAAAAAAAMFAAAADSRhY2MzNTk0MTU5OTMEAAAADSRhY2M0NTk0MTU5OTMJAQAAAA1wcm9jZWRMb3R0ZXJ5AAAAAgUAAAANJGFjYzM1OTQxNTk5MwkAAZEAAAACBQAAAA0kbGlzdDU5NDE1OTkzAAAAAAAAAAADAwkAAAAAAAACBQAAAA0kc2l6ZTU5NDE1OTkzAAAAAAAAAAAEBQAAAA0kYWNjNDU5NDE1OTkzBAAAAA0kYWNjNTU5NDE1OTkzCQEAAAANcHJvY2VkTG90dGVyeQAAAAIFAAAADSRhY2M0NTk0MTU5OTMJAAGRAAAAAgUAAAANJGxpc3Q1OTQxNTk5MwAA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", "height": 1549505, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: G8bK2ZaSX37upiKuYhyCcHr1nRyKzptmxDxmn9ZYLQVo Next: 61W2Qh6J57UYbQYbaqVk5Y3TJX965P6DvQxJNe8dh2Uc Full:
OldNewDifferences
1-{-# STDLIB_VERSION 4 #-}
1+{-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = base58'ALG9JVGNn9aCL68dbg1AmW6yDQv1b8EDLq99pQS8L1k6'
4+let a = "F9DCGiYgT8yvBq1AQFcSpGG4p8sdzNz9mZczDvJ45LL"
55
6-let b = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
6+let b = base58'5ih9jd4KV9kSey55yvKMgLSHcwsYYkQ4pRDJtRNoxUhy'
77
8-let c = base58'Co7gTLr7ZJvVKwToLpuZJqmkVecy5uwupYH6qCkKuhc8'
8+let c = "5ih9jd4KV9kSey55yvKMgLSHcwsYYkQ4pRDJtRNoxUhy"
99
10-let d = fromBase64String("base64:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjnt2PdN1Pdj7rsXzbapgucn9e1XffUx1o7grAlw8C6NFuv1PPj7KnQ6RtN9xhniLF4xKlc7//TYXd1uHWmx9vu9hjciYX9UMRJnhlZO2q34mxPdcgLDKhJHDN726KI0wHpFQ5dHMyzoMLdWsahFc1Wx/XxroK2Kc1y2JBWN2akRlkxSDcluqbbUcWMyrwG6iWuVlhej5xfcuerg/psK35WGn7SLF29tWuR2x+24nM+BJUsuRG7yBZUhGrYzJk2gvpucRLea6AFRvow7RdyMYAwKFrr6mgQ0VcUw2T750e1oGanY0UdU3NPsKIgvU4Ft4uibMlMMBJvcrsEbDQHfDlwIDAQAB")
10+let d = false
1111
12-let e = 0
12+let e = 100000000
1313
14-let f = 1
14+let f = "_amount"
1515
16-let g = 2
16+let g = "_probability"
1717
18-let h = 1
18+let h = "_probability_decimal"
1919
20-let i = "PASSLINEBET"
20+let i = "_winning_address"
2121
22-let j = "DONTPASSLINEBET"
22+let j = "_price"
2323
24-let k = "COMEBET"
24+let k = "_lottery_prices"
2525
26-let l = "DONTCOMEBET"
26+let l = "_lottery_asset_id"
2727
28-let m = "FIELDBET"
28+let m = "_count_prices"
2929
30-let n = "ODDSBET"
30+let n = "last_spin_random_hash"
3131
32-let o = "BIG6OR8BET"
32+let o = 2
3333
34-let p = "PLACEBETBUY"
34+let p = "total_prizes_pool"
3535
36-let q = "PLACEBETLOSE"
36+let q = "f2MzwrmN5wiMn5DwbBL33247fdsf432FV9kSe"
3737
38-let r = "PLACEBETLAY"
38+let r = "f1MzwrmN4wiMn4DwbBL43242fsdf434Ffsdfs"
3939
40-let s = "PLACEBETWIN"
41-
42-let t = "G_GAMECOUNTER"
43-
44-let u = "G_TOTALBETS"
45-
46-let v = "G_PROCESSEDBETS"
47-
48-let w = "G_TOTALFIELD_ODDS_BETS"
49-
50-let x = "G_PROCESSEDFIEL_ODDS_BETS"
51-
52-func y (z) = (("G_" + toString(z)) + "_STARTHEIGHT")
53-
54-
55-func A (z) = (("G_" + toString(z)) + "_ENDHEIGHT")
56-
57-
58-func B (z) = getInteger(this, y(z))
59-
60-
61-func C (z) = getInteger(this, A(z))
62-
63-
64-func D (E) = (("B_" + toString(E)) + "_BETDETAILS")
65-
66-
67-func F (E) = (("B_" + toString(E)) + "_BETFIELODDSDDETAILS")
68-
69-
70-func G (E) = getString(this, D(E))
71-
72-
73-func H (E) = getString(this, F(E))
74-
75-
76-func I (J) = (J != a)
77-
78-
79-func K (z) = (("G_" + toString(z)) + "_LASTPOINT")
80-
81-
82-func L (z) = (("G_" + toString(z)) + "_FIRSTPOINT")
83-
84-
85-func M (z,E,N) = ((((((("W_" + "BET_TYPE_") + N) + "_") + toString(E)) + "_WINNING_BET_") + toString(z)) + "_GAME_NUMBER")
86-
87-
88-func O (z) = (("G_" + toString(z)) + "_STATE")
89-
90-
91-func P (z) = (("G_" + toString(z)) + "_SUMSHA")
92-
93-
94-func Q (z) = (("G_" + toString(z)) + "_RANDOMHASH")
95-
96-
97-func R () = getInteger(this, u)
98-
99-
100-func S () = getInteger(this, v)
101-
102-
103-func T () = getInteger(this, w)
104-
105-
106-func U () = getInteger(this, x)
107-
108-
109-func V (z) = getInteger(this, O(z))
110-
111-
112-func W (z) = getString(this, P(z))
113-
114-
115-func X (z) = getString(this, Q(z))
116-
117-
118-func Y (z) = (("G_" + toString(z)) + "_ROLLSCOUNT")
119-
120-
121-func Z (z,aa) = (((("G_" + toString(z)) + "_") + toString(aa)) + "_GAMENUMBER_ROLLDICE")
122-
123-
124-func ab (E) = (("B_" + toString(E)) + "_FIELD_ODDS_BET_ROLLDICE")
125-
126-
127-func ac (z) = getInteger(this, Y(z))
128-
129-
130-func ad (z,aa) = getInteger(this, Z(z, aa))
131-
132-
133-func ae (E) = getInteger(this, ab(E))
134-
135-
136-func af (ag) = (("B_" + toString(ag)) + "_BET_GAMENUMBER")
137-
138-
139-func ah (ag) = (("B_" + toString(ag)) + "_FIELD_ODDS_BET_GAMENUMBER")
140-
141-
142-func ai (ag) = getInteger(this, af(ag))
143-
144-
145-func aj (ag) = getInteger(this, ah(ag))
146-
147-
148-func ak () = getInteger(this, t)
149-
150-
151-func al (z) = getInteger(this, L(z))
152-
153-
154-func am (z) = {
155- let an = getInteger(this, K(z))
156- if ($isInstanceOf(an, "Int"))
157- then {
158- let ao = an
159- ao
160- }
161- else 0
40+func s (t) = {
41+ let u = {
42+ let v = getBinary(this, n)
43+ if ($isInstanceOf(v, "ByteVector"))
44+ then {
45+ let w = v
46+ w
47+ }
48+ else if ($isInstanceOf(v, "Unit"))
49+ then base58'2ee4oFDYriWJ9EMeR'
50+ else throw("Match error")
51+ }
52+ let x = (((((u + t.transactionId) + t.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
53+ sha256(x)
16254 }
16355
16456
165-func ap (aq) = if ((aq == i))
166- then true
167- else if ((aq == j))
168- then true
169- else false
170-
171-
172-func ar (aq) = if ((aq == m))
173- then true
174- else if ((aq == n))
175- then true
176- else if ((aq == o))
177- then true
178- else if ((aq == p))
179- then true
180- else if ((aq == r))
181- then true
182- else if ((aq == k))
183- then true
184- else if ((aq == l))
185- then true
186- else if ((aq == q))
187- then true
188- else if ((aq == s))
189- then true
190- else false
191-
192-
193-func as (at,au,av) = if (if ((au == 4))
194- then true
195- else (au == 10))
196- then {
197- let aw = (at * 7)
198- aw
57+func y () = {
58+ let z = {
59+ let v = getString(this, k)
60+ if ($isInstanceOf(v, "String"))
61+ then {
62+ let A = v
63+ A
64+ }
65+ else if ($isInstanceOf(v, "Unit"))
66+ then ""
67+ else throw("Match error")
19968 }
200- else if (if ((au == 5))
201- then true
202- else (au == 8))
203- then {
204- let aw = (at * 9)
205- aw
69+ let B = size(z)
70+ if ((B == 0))
71+ then nil
72+ else {
73+ let C = take(z, (size(z) - 1))
74+ let D = split(C, ",")
75+ D
20676 }
207- else if (if ((au == 3))
208- then true
209- else (au == 11))
210- then {
211- let aw = (at * 15)
212- aw
213- }
214- else if (if ((au == 2))
215- then true
216- else (au == 12))
217- then {
218- let aw = (at * 30)
219- aw
220- }
221- else if (if ((au == 10))
222- then true
223- else (au == 4))
224- then {
225- let aw = (at * 30)
226- aw
227- }
228- else if ((au == 7))
229- then {
230- let aw = (at * 4)
231- aw
232- }
233- else if (if ((au == 100))
234- then if (if ((av == 3))
235- then true
236- else (av == 12))
237- then true
238- else (av == 2)
239- else false)
240- then {
241- let aw = (at * 7)
242- aw
243- }
244- else 0
245-
246-
247-func ax (at,av) = if ((av == 12))
248- then {
249- let aw = (at * 4)
250- aw
251- }
252- else if ((av == 2))
253- then {
254- let aw = (at * 3)
255- aw
256- }
257- else if (if (if (if ((av == 5))
258- then true
259- else (av == 6))
260- then true
261- else (av == 7))
262- then true
263- else (av == 8))
264- then 0
265- else {
266- let aw = (at * 2)
267- aw
268- }
269-
270-
271-func ay (z,at,az,aA,au) = {
272- let an = T()
273- if ($isInstanceOf(an, "Int"))
274- then {
275- let aB = an
276- let aC = ac(z)
277- if ($isInstanceOf(aC, "Int"))
278- then {
279- let aD = aC
280- let aE = (aB + 1)
281- let aF = (aD + 1)
282- if (if ((az == k))
283- then true
284- else (az == l))
285- then [IntegerEntry(ah(aE), z), StringEntry(F(aE), ((((((((aA + "_") + at) + "_") + az) + "_active_pending_") + toString(z)) + "_") + toString(aF))), IntegerEntry(w, aE), IntegerEntry(ab(aE), aF)]
286- else [IntegerEntry(ah(aE), z), StringEntry(F(aE), ((((((aA + "_") + at) + "_") + az) + "_active_pending_") + toString(au))), IntegerEntry(w, aE), IntegerEntry(ab(aE), aF)]
287- }
288- else throw("Game doesn't exist")
289- }
290- else throw("Game has not bee initialized")
29177 }
29278
29379
294-func aG (aH,aI,aJ,z,at,az,aA,au) = [IntegerEntry(ah(aH), z), StringEntry(F(aH), ((((((aA + "_") + at) + "_") + az) + "_active_pending_") + toString(au))), StringEntry(F(aI), ((((((aA + "_") + at) + "_") + az) + "_inactive_rolled_") + toString(au))), IntegerEntry(x, aI), IntegerEntry(w, aH), IntegerEntry(ab(aH), aJ)]
80+func E () = if (d)
81+ then assetBalance(this, fromBase58String(c))
82+ else wavesBalance(this)
29583
29684
297-func aK (aL,at,aM,aI,aJ,ag,N,aN,au) = if ((aL == g))
298- then aG((aM + 1), (aI + 1), 1, (ag + 1), toString(at), N, aN, au)
299- else aG((aM + 1), (aI + 1), (aJ + 1), ag, toString(at), N, aN, au)
85+func F (G,H) = if (if (isDefined(H))
86+ then true
87+ else (H != ""))
88+ then {
89+ let I = getIntegerValue(this, (H + g))
90+ let J = getIntegerValue(this, (H + h))
91+ let K = size(G)
92+ if ((K == 1))
93+ then {
94+ let L = G[0]
95+ let M = fromBase64String(L)
96+ let N = (J * 1000)
97+ let O = (toInt(M) % N)
98+ if ((I > O))
99+ then H :: G
100+ else G
101+ }
102+ else G
103+ }
104+ else G
300105
301106
302-func aO (aL,aP,av,at,aM,aI,aJ,ag,N,aN,au) = {
303- let aQ = value(parseInt(split(aP, "_")[5]))
304- let aR = value(parseInt(split(aP, "_")[6]))
305- let aS = value(ad(aQ, aR))
306- if ((av == 7))
307- then if ((aP == k))
308- then throw("Only Field Type of Bet can be proceed")
309- else throw("Only Field Type of Bet can be proceed")
310- else if ((av == aS))
311- then throw("Only Field Type of Bet can be proceed")
312- else if ((aL == g))
313- then aK(aL, at, (aM + 1), (aI + 1), 1, (ag + 1), N, aN, au)
314- else aK(aL, at, (aM + 1), (aI + 1), (aJ + 1), ag, N, aN, au)
107+@Callable(P)
108+func setGarlicCoinLottery () = {
109+ let Q = E()
110+ if ((69 > Q))
111+ then throw("Not enought Amount")
112+ else {
113+ let R = ((q + ",") + r)
114+ if (d)
115+ then {
116+ let S = WriteSet([DataEntry((q + g), 69), DataEntry((q + j), 69), DataEntry((q + h), 10000), DataEntry((q + l), c), DataEntry((r + f), 6900000000), DataEntry((r + g), 69), DataEntry((r + j), 6900000000), DataEntry((r + h), 1000), DataEntry((r + l), c), DataEntry(k, R), DataEntry(m, 2)])
117+ ScriptResult(S, TransferSet(nil))
118+ }
119+ else {
120+ let S = WriteSet([DataEntry((q + g), 69), DataEntry((q + j), 69), DataEntry((q + h), 10000), DataEntry((q + l), ""), DataEntry((r + f), 6900000000), DataEntry((r + g), 69), DataEntry((r + j), 6900000000), DataEntry((r + h), 1000), DataEntry((r + l), ""), DataEntry(k, R), DataEntry(m, 2)])
121+ ScriptResult(S, TransferSet(nil))
122+ }
123+ }
315124 }
316125
317126
318-func aT (z,at,az,aA) = {
319- let an = R()
320- if ($isInstanceOf(an, "Int"))
127+
128+@Callable(P)
129+func startlotto () = {
130+ let T = if (!(isDefined(P.payment)))
131+ then false
132+ else true
133+ if ((T == true))
321134 then {
322- let aU = an
323- let aV = (aU + 1)
324-[IntegerEntry(af(aV), z), StringEntry(D(aV), (((((aA + "_") + at) + "_") + az) + "_active_pending")), IntegerEntry(u, aV)]
135+ let U = extract(P.payment)
136+ if (if ((U.assetId != b))
137+ then true
138+ else (U.amount != e))
139+ then throw("Incorrect asset passed or incorrect quantity passed")
140+ else {
141+ let V = toBase58String(P.caller.bytes)
142+ let W = s(P)
143+ let X = {
144+ let v = getInteger(this, m)
145+ if ($isInstanceOf(v, "Int"))
146+ then {
147+ let A = v
148+ A
149+ }
150+ else if ($isInstanceOf(v, "Unit"))
151+ then 0
152+ else throw("Match error")
153+ }
154+ let Y = y()
155+ let Z = toBase64String(W)
156+ let aa = fromBase64String(Z)
157+ let ab = [Z]
158+ let ac = {
159+ let ad = Y
160+ let ae = size(ad)
161+ let af = ab
162+ if ((ae == 0))
163+ then af
164+ else {
165+ let ag = F(af, ad[0])
166+ if ((ae == 1))
167+ then ag
168+ else {
169+ let ah = F(ag, ad[1])
170+ if ((ae == 2))
171+ then ah
172+ else {
173+ let ai = F(ah, ad[2])
174+ if ((ae == 3))
175+ then ai
176+ else {
177+ let aj = F(ai, ad[3])
178+ if ((ae == 4))
179+ then aj
180+ else {
181+ let ak = F(aj, ad[4])
182+ throw("List size exceed 4")
183+ }
184+ }
185+ }
186+ }
187+ }
188+ }
189+ let al = size(ac)
190+ if ((al == 1))
191+ then {
192+ let am = WriteSet([DataEntry("message", "<h1>Better luck next time!</h1><br><p>Invite more friends to keep playing!<p>"), DataEntry(n, Z)])
193+ ScriptResult(am, TransferSet(nil))
194+ }
195+ else {
196+ let H = ac[0]
197+ let an = toBase58String(P.caller.bytes)
198+ let ao = E()
199+ if ((ao == 0))
200+ then throw("Not Enough Garlic Coin")
201+ else if ((H == q))
202+ then {
203+ let ap = {
204+ let v = getInteger(this, (q + j))
205+ if ($isInstanceOf(v, "Int"))
206+ then {
207+ let aq = v
208+ aq
209+ }
210+ else if ($isInstanceOf(v, "Unit"))
211+ then 0
212+ else throw("Match error")
213+ }
214+ let ar = (ap * ao)
215+ let am = WriteSet([DataEntry((H + f), ar), DataEntry((H + i), an), DataEntry(n, Z), DataEntry("message", (((("<h1>Congratulations you won!</h1><br><p>You have won " + toString(ar)) + " ") + H) + "!<p>"))])
216+ if (d)
217+ then {
218+ let as = TransferSet([ScriptTransfer(P.caller, ar, fromBase58String(c))])
219+ ScriptResult(am, as)
220+ }
221+ else {
222+ let as = TransferSet([ScriptTransfer(P.caller, ar, unit)])
223+ ScriptResult(am, as)
224+ }
225+ }
226+ else if ((H == r))
227+ then {
228+ let at = {
229+ let v = getInteger(this, (r + g))
230+ if ($isInstanceOf(v, "Int"))
231+ then {
232+ let aq = v
233+ aq
234+ }
235+ else if ($isInstanceOf(v, "Unit"))
236+ then 0
237+ else throw("Match error")
238+ }
239+ let am = WriteSet([DataEntry((H + f), at), DataEntry(n, Z), DataEntry((H + i), an), DataEntry("message", (((("<h1>Congratulations you won!</h1><br><p>You have won " + toString(at)) + " ") + H) + "!<p>"))])
240+ if (d)
241+ then {
242+ let as = TransferSet([ScriptTransfer(P.caller, at, fromBase58String(c))])
243+ ScriptResult(am, as)
244+ }
245+ else {
246+ let as = TransferSet([ScriptTransfer(P.caller, at, unit)])
247+ ScriptResult(am, as)
248+ }
249+ }
250+ else {
251+ let am = WriteSet([DataEntry("message", "<h1>Better luck next time!</h1><br><p>Invite more friends to keep playing!<p>"), DataEntry(n, Z)])
252+ let as = TransferSet(nil)
253+ ScriptResult(am, TransferSet(nil))
254+ }
255+ }
256+ }
325257 }
326- else throw("Game has not bee initialized")
258+ else throw((("You need " + toBase58String(b)) + " to play this game."))
327259 }
328260
329261
330-func aW (aX,ag,aY,aZ,ba) = {
331- let bb = (aX + "_lost")
332-[StringEntry(aZ, bb), IntegerEntry(ba, aY)]
333- }
334-
335-
336-func bc (aX,ag,aY,aZ,ba,bd) = {
337- let bb = ((aX + "_lost_") + toString(bd))
338-[StringEntry(aZ, bb), IntegerEntry(ba, aY)]
339- }
340-
341-
342-func be (aX,ag,bf,aN,aw,N,aZ,ba) = {
343- let bb = (aX + "_won_")
344-[StringEntry(M(ag, bf, N), ((aN + "_amount_") + toString(aw))), StringEntry(aZ, aX), IntegerEntry(ba, bf), ScriptTransfer(value(addressFromString(aN)), aw, unit)]
345- }
346-
347-
348-func bg (bh,ag,aU,aD,bi,bj,bk) = [IntegerEntry(O(ag), bk), IntegerEntry(bh, aU), IntegerEntry(Y(ag), aD), IntegerEntry(A(ag), (bi + h)), StringEntry(Q(ag), toBase64String(bj)), IntegerEntry(Z(ag, aD), aU)]
349-
350-
351-@Callable(bl)
352-func processNextBet () = if (I(bl.callerPublicKey))
353- then throw("processFieldBet_FORBIDDEN")
354- else {
355- let an = R()
356- if ($isInstanceOf(an, "Int"))
357- then {
358- let aH = an
359- let aC = S()
360- if ($isInstanceOf(aC, "Int"))
361- then {
362- let bm = aC
363- let bn = (bm + 1)
364- if ((bn > aH))
365- then throw("Next bet has not been places.")
366- else {
367- let bo = ai(bn)
368- if ($isInstanceOf(bo, "Int"))
369- then {
370- let ag = bo
371- let bp = V(ag)
372- if ($isInstanceOf(bp, "Int"))
373- then {
374- let aL = bp
375- if (if ((aL == e))
376- then true
377- else (aL == f))
378- then throw("Game has to finished in order to process NON-FIELD bets")
379- else {
380- let aP = value(G(bn))
381- let N = split(aP, "_")[2]
382- let aN = split(aP, "_")[0]
383- let at = value(parseInt(split(aP, "_")[1]))
384- let bq = value(addressFromString(aN))
385- let br = am(bn)
386- let bs = al(bn)
387- let aX = (((((aN + "_") + split(aP, "_")[1]) + "_") + split(aP, "_")[2]) + "_inactive_")
388- if ((N == i))
389- then if ((br == 0))
390- then if (if ((bs == 7))
391- then true
392- else (bs == 11))
393- then {
394- let aw = (at * 2)
395- be(aX, ag, bn, aN, aw, N, D(bn), v)
396- }
397- else aW(aX, ag, bn, D(bn), v)
398- else if ((bs == br))
399- then {
400- let aw = (at * 2)
401- be(aX, ag, bn, aN, aw, N, D(bn), v)
402- }
403- else if ((br == 7))
404- then aW(aX, ag, bn, D(bn), v)
405- else aW(aX, ag, bn, D(bn), v)
406- else if ((N == j))
407- then if ((br == 0))
408- then if (if ((bs == 2))
409- then true
410- else (bs == 3))
411- then {
412- let aw = (at * 2)
413- be(aX, ag, bn, aN, aw, N, D(bn), v)
414- }
415- else if (if ((br == 7))
416- then true
417- else (br == 11))
418- then aW(aX, ag, bn, D(bn), v)
419- else aW(aX, ag, bn, D(bn), v)
420- else if (if ((br == 2))
421- then true
422- else (br == 3))
423- then {
424- let aw = (at * 2)
425- be(aX, ag, bn, aN, aw, N, D(bn), v)
426- }
427- else if ((br == 7))
428- then aW(aX, ag, bn, D(bn), v)
429- else aW(aX, ag, bn, D(bn), v)
430- else throw((((((("Only " + i) + ", ") + j) + " allowed in processNextBet()") + " currentBetType ") + N))
431- }
432- }
433- else throw("Game does not exist or has already ended.")
434- }
435- else throw("Error")
436- }
437- }
438- else throw("Game has not been initialized, next bets not found")
439- }
440- else throw("Game has not been initialized, next bets not found")
441- }
442-
443-
444-
445-@Callable(bl)
446-func processOneRoundBet () = if (I(bl.callerPublicKey))
447- then throw("processFieldBet_FORBIDDEN")
448- else {
449- let an = T()
450- if ($isInstanceOf(an, "Int"))
451- then {
452- let aM = an
453- let aC = U()
454- if ($isInstanceOf(aC, "Int"))
455- then {
456- let aI = aC
457- let bn = (aI + 1)
458- if ((bn > aM))
459- then throw("Next Field Bet has not been places.")
460- else {
461- let bo = aj(bn)
462- if ($isInstanceOf(bo, "Int"))
463- then {
464- let ag = bo
465- let bp = V(ag)
466- if ($isInstanceOf(bp, "Int"))
467- then {
468- let aL = bp
469- if ((aL == e))
470- then throw("Game has not started yet")
471- else {
472- let aP = value(H(bn))
473- let N = split(aP, "_")[2]
474- let aN = split(aP, "_")[0]
475- let at = value(parseInt(split(aP, "_")[1]))
476- let au = value(parseInt(split(aP, "_")[5]))
477- let bq = value(addressFromString(aN))
478- let aJ = value(ae(bn))
479- let bt = ad(ag, aJ)
480- if ($isInstanceOf(bt, "Int"))
481- then {
482- let av = bt
483- let aX = (((((aN + "_") + split(aP, "_")[1]) + "_") + split(aP, "_")[2]) + "_inactive_")
484- if ((N == m))
485- then {
486- let aw = ax(at, av)
487- if ((aw == 0))
488- then aW(aX, ag, bn, F(ag), x)
489- else be(aX, ag, bn, aN, aw, N, F(bn), x)
490- }
491- else if ((N == n))
492- then {
493- let aw = as(at, au, av)
494- if ((aw == 0))
495- then be((aX + "_won_"), ag, bn, aN, aw, N, F(bn), x)
496- else bc(aX, ag, bn, F(bn), x, au)
497- }
498- else if ((N == o))
499- then if (if ((av == 6))
500- then true
501- else (av == 8))
502- then {
503- let aw = (2 * at)
504- be((aX + "_won_"), ag, bn, aN, aw, N, F(bn), x)
505- }
506- else bc(aX, ag, bn, F(bn), x, au)
507- else if (if ((N == p))
508- then true
509- else (N == s))
510- then if ((av == 7))
511- then bc(aX, ag, bn, F(bn), x, au)
512- else if ((av == au))
513- then {
514- let aw = (at * 2)
515- be((aX + "_won_"), ag, bn, aN, aw, N, F(bn), x)
516- }
517- else aK(aL, at, (aM + 1), (aI + 1), 1, (ag + 1), N, aN, au)
518- else if (if ((N == r))
519- then true
520- else (N == q))
521- then if ((av == 7))
522- then {
523- let aw = (at * 2)
524- be(aX, ag, bn, aN, aw, N, F(bn), x)
525- }
526- else if ((av == au))
527- then bc(aX, ag, bn, F(bn), x, au)
528- else aK(aL, at, (aM + 1), (aI + 1), 1, (ag + 1), N, aN, au)
529- else if (if ((N == k))
530- then true
531- else (N == l))
532- then aO(aL, aP, av, at, aM, aI, aJ, ag, N, aN, au)
533- else throw("Only Field Type of Bet can be proceed")
534- }
535- else throw("There is no result for this round yet")
536- }
537- }
538- else throw("Game does not exist or has already ended")
539- }
540- else throw("Error")
541- }
542- }
543- else throw("Game has not been initialized, next bets not found")
544- }
545- else throw("Game has not been initialized, next bets not found")
546- }
547-
548-
549-
550-@Callable(bl)
551-func initGame () = if (I(bl.callerPublicKey))
552- then throw("initGame_FORBIDDEN")
553- else {
554- let an = ak()
555- if ($isInstanceOf(an, "Int"))
556- then {
557- let bu = an
558- throw("INIT_ALREADY_DONE")
559- }
560- else [IntegerEntry(t, 0), IntegerEntry(u, 0), IntegerEntry(v, 0), IntegerEntry(w, 0), IntegerEntry(x, 0)]
561- }
562-
563-
564-
565-@Callable(bl)
566-func startGame (bj) = if (I(bl.callerPublicKey))
567- then throw("startGame_FORBIDDEN")
568- else {
569- let an = ak()
570- if ($isInstanceOf(an, "Int"))
571- then {
572- let aU = an
573- if ((aU == 0))
574- then {
575- let bv = (aU + 1)
576-[IntegerEntry(t, bv), IntegerEntry(O(bv), e), IntegerEntry(y(bv), lastBlock.height), IntegerEntry(A(bv), (lastBlock.height + h)), IntegerEntry(Y(bv), 0), StringEntry(P(bv), toBase58String(sha256(fromBase64String(bj))))]
577- }
578- else {
579- let aC = V(aU)
580- if ($isInstanceOf(aC, "Int"))
581- then {
582- let bk = aC
583- if (if ((bk == f))
584- then true
585- else (bk == e))
586- then throw("The previous game is still in progress")
587- else {
588- let bv = (aU + 1)
589-[IntegerEntry(t, bv), IntegerEntry(O(bv), e), IntegerEntry(y(bv), lastBlock.height), IntegerEntry(A(bv), (lastBlock.height + h)), IntegerEntry(Y(bv), 0), StringEntry(P(bv), toBase58String(sha256(fromBase64String(bj))))]
590- }
591- }
592- else throw("Error")
593- }
594- }
595- else throw("INIT_NEED")
596- }
597-
598-
599-
600-@Callable(bl)
601-func placeBet (az) = if (ap(az))
602- then if ((size(bl.payments) == 0))
603- then throw("Payment not attached")
604- else {
605- let an = ak()
606- if ($isInstanceOf(an, "Int"))
607- then {
608- let bw = an
609- let bx = bl.payments[0]
610- let aC = V(bw)
611- if ($isInstanceOf(aC, "Int"))
612- then {
613- let bk = aC
614- if ((bk == e))
615- then if (if ((az == i))
616- then true
617- else (az == j))
618- then aT(bw, toString(bx.amount), az, toBase58String(bl.caller.bytes))
619- else throw((((((("Only " + i) + ", ") + j) + " and ") + m) + " are allowed in the Beginning of Game"))
620- else if ((bk == f))
621- then throw((((((("Only " + k) + ", ") + l) + " and ") + m) + " ARE ALLOWED at Start."))
622- else if ((bk == g))
623- then throw("Game already ended.")
624- else throw("Unknown Game State.")
625- }
626- else throw("Game does not exist or has already ended.")
627- }
628- else throw("Game has not been initialized.")
629- }
630- else throw(((((((((("Unsupported Type of Bet for Crap. Please Select one of " + i) + ", ") + j) + ", ") + k) + ", ") + l) + ", ") + m))
631-
632-
633-
634-@Callable(bl)
635-func placeRoundBet (az,bd) = if (ar(az))
636- then if ((size(bl.payments) == 0))
637- then throw("Payment not attached")
638- else {
639- let an = ak()
640- if ($isInstanceOf(an, "Int"))
641- then {
642- let bw = an
643- let bx = bl.payments[0]
644- let aC = V(bw)
645- if ($isInstanceOf(aC, "Int"))
646- then {
647- let bk = aC
648- if ((bk == g))
649- then throw("Game already ended.")
650- else if (if ((az == k))
651- then true
652- else (az == l))
653- then if ((bk == e))
654- then throw("Cannot place COME OR DONTCOME BET IF GAME HAS NOT STARTED")
655- else ay(bw, toString(bx.amount), az, toBase58String(bl.caller.bytes), 0)
656- else ay(bw, toString(bx.amount), az, toBase58String(bl.caller.bytes), bd)
657- }
658- else throw("Game does not exist or has already ended.")
659- }
660- else throw("Game has not been initialized.")
661- }
662- else throw(((((((((("Unsupported Type of Bet for Crap. Please Select one of " + n) + ", ") + j) + ", ") + k) + ", ") + l) + ", ") + m))
663-
664-
665-
666-@Callable(bl)
667-func throwDices (by,ag) = if (I(bl.callerPublicKey))
668- then throw("throwDices_FORBIDDEN")
669- else {
670- let an = V(ag)
671- if ($isInstanceOf(an, "Int"))
672- then {
673- let bk = an
674- if ((bk == g))
675- then throw("Game is finished")
676- else {
677- let bi = lastBlock.height
678- let bz = value(C(ag))
679- if ((bi >= bz))
680- then {
681- let aC = W(ag)
682- if ($isInstanceOf(aC, "String"))
683- then {
684- let bA = aC
685- let bB = fromBase64String(by)
686- let bC = rsaVerify(SHA256, fromBase58String(bA), bB, d)
687- let bo = blockInfoByHeight((lastBlock.height - 1))
688- if ($isInstanceOf(bo, "BlockInfo"))
689- then {
690- let bD = bo
691- let bj = sha256((take(bB, 4) + take(bD.generationSignature, 8)))
692- if (!(bC))
693- then throw("INVALID_RSA_SIGN")
694- else {
695- let bE = (toInt(bj) % 11)
696- let aU = b[bE]
697- let bp = ac(ag)
698- if ($isInstanceOf(bp, "Int"))
699- then {
700- let bF = bp
701- let bG = (bF + 1)
702- if ((bk == e))
703- then if (if (if (if (if ((aU == 7))
704- then true
705- else (aU == 11))
706- then true
707- else (aU == 2))
708- then true
709- else (aU == 3))
710- then true
711- else (aU == 12))
712- then bg(L(ag), ag, aU, bG, bi, bj, g)
713- else bg(L(ag), ag, aU, bG, bi, bj, f)
714- else {
715- let br = value(am(ag))
716- let bs = value(al(ag))
717- if ((br == 0))
718- then if (if ((aU == 7))
719- then true
720- else (bs == aU))
721- then bg(K(ag), ag, aU, bG, bi, bj, g)
722- else bg(K(ag), ag, aU, bG, bi, bj, f)
723- else if (if ((aU == 7))
724- then true
725- else (bs == aU))
726- then bg(K(ag), ag, aU, bG, bi, bj, g)
727- else bg(K(ag), ag, aU, bG, bi, bj, f)
728- }
729- }
730- else throw("No dices have been thrown")
731- }
732- }
733- else throw("Last block doesn't exist.")
734- }
735- else throw("SHA doesn't exist")
736- }
737- else throw("Throw dice not allow still waiting for block to process")
738- }
739- }
740- else throw("Game does not exist or has already ended.")
741- }
742-
743-
744-@Verifier(bH)
745-func bI () = {
746- let an = bH
747- sigVerify(bH.bodyBytes, bH.proofs[0], bH.senderPublicKey)
262+@Verifier(au)
263+func av () = {
264+ let v = au
265+ sigVerify(au.bodyBytes, au.proofs[0], au.senderPublicKey)
748266 }
749267

github/deemru/w8io/169f3d6 
68.98 ms