tx · GDQ1cPy9CCeFH4kceDc89HpCxDzq7DsNNcmt9aXwkDqZ

3N6hQF6HBBQ5JCKB8Xs17Q61wkG3VrLvbGd:  -0.10000000 Waves

2021.11.13 05:02 [1788603] smart account 3N6hQF6HBBQ5JCKB8Xs17Q61wkG3VrLvbGd > SELF 0.00000000 Waves

{ "type": 13, "id": "GDQ1cPy9CCeFH4kceDc89HpCxDzq7DsNNcmt9aXwkDqZ", "fee": 10000000, "feeAssetId": null, "timestamp": 1636768939033, "version": 2, "chainId": 84, "sender": "3N6hQF6HBBQ5JCKB8Xs17Q61wkG3VrLvbGd", "senderPublicKey": "7Hi4o6vBstRs79NMVMjEove52dmP87RAcvNDAXN8C4Wi", "proofs": [ "5EqH2wNTSm8V2ymnamYgzYU62firJYMqJ5MvmF2fqeGQm5K5MuYe5TEGtZsRs2prjfdGfY59w34T7kakxZ43uJXr" ], "script": "base64:AAIFAAAAAAAAAAwIAhIDCgEIEgMKAQgAAAANAAAAAAZjYXNpbm8CAAAAIzNONmhRRjZIQkJRNUpDS0I4WHMxN1E2MXdrRzNWckx2YkdkAAAAAAVXQVZFUwAAAAAAO5rKAAAAAAAGbWF4QmV0CQAAaAAAAAIAAAAAAAAAAGQFAAAABVdBVkVTAAAAAAlzZXBhcmF0b3ICAAAAASwBAAAACmdldE5ld0RlY2sAAAAACQAETAAAAAICAAAAAzAxQwkABEwAAAACAgAAAAMwMkMJAARMAAAAAgIAAAADMDNDCQAETAAAAAICAAAAAzA0QwkABEwAAAACAgAAAAMwNUMJAARMAAAAAgIAAAADMDZDCQAETAAAAAICAAAAAzA3QwkABEwAAAACAgAAAAMwOEMJAARMAAAAAgIAAAADMDlDCQAETAAAAAICAAAAAzEwQwkABEwAAAACAgAAAAMxMUMJAARMAAAAAgIAAAADMTJDCQAETAAAAAICAAAAAzEzQwkABEwAAAACAgAAAAMwMUQJAARMAAAAAgIAAAADMDJECQAETAAAAAICAAAAAzAzRAkABEwAAAACAgAAAAMwNEQJAARMAAAAAgIAAAADMDVECQAETAAAAAICAAAAAzA2RAkABEwAAAACAgAAAAMwN0QJAARMAAAAAgIAAAADMDhECQAETAAAAAICAAAAAzA5RAkABEwAAAACAgAAAAMxMEQJAARMAAAAAgIAAAADMTFECQAETAAAAAICAAAAAzEyRAkABEwAAAACAgAAAAMxM0QJAARMAAAAAgIAAAADMDFICQAETAAAAAICAAAAAzAySAkABEwAAAACAgAAAAMwM0gJAARMAAAAAgIAAAADMDRICQAETAAAAAICAAAAAzA1SAkABEwAAAACAgAAAAMwNkgJAARMAAAAAgIAAAADMDdICQAETAAAAAICAAAAAzA4SAkABEwAAAACAgAAAAMwOUgJAARMAAAAAgIAAAADMTBICQAETAAAAAICAAAAAzExSAkABEwAAAACAgAAAAMxMkgJAARMAAAAAgIAAAADMTNICQAETAAAAAICAAAAAzAxUwkABEwAAAACAgAAAAMwMlMJAARMAAAAAgIAAAADMDNTCQAETAAAAAICAAAAAzA0UwkABEwAAAACAgAAAAMwNVMJAARMAAAAAgIAAAADMDZTCQAETAAA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", "height": 1788603, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GzRbzDdEZWxK8ZvcYfTsmZjQqPDSzCvDxzkaDcT3wYJz Next: 3Xik9hri5yVkEgykdMhcAj7YDb7V4PGp18EDGfgjnmcM Diff:
OldNewDifferences
5959 }
6060
6161
62-func z (A) = parseIntValue(take(A, 2))
62+func z (A) = {
63+ let B = parseIntValue(take(A, 2))
64+ if ((B == 1))
65+ then 20
66+ else B
67+ }
6368
6469
65-func B (C,D,E,a) = {
66- let F = z(C)
67- let G = z(D)
68- if ((F > G))
69- then E
70+func C (D,E,F,a) = {
71+ let B = z(D)
72+ let G = z(E)
73+ if ((B > G))
74+ then F
7075 else a
7176 }
7277
8489
8590 @Callable(x)
8691 func bet (K) = {
87- let E = toBase58String(x.caller.bytes)
88- let L = ((K + "_") + E)
89- let F = w(x)
92+ let F = toBase58String(x.caller.bytes)
93+ let L = ((K + "_") + F)
94+ let B = w(x)
9095 let M = (L + "_sumBets")
9196 let N = s(this, M)
9297 let O = {
93- let q = getInteger(this, (L + "_drawSequence"))
98+ let q = getInteger(this, (K + "_drawSequence"))
9499 if ($isInstanceOf(q, "Int"))
95100 then {
96101 let v = q
99104 else 0
100105 }
101106 let I = (L + "_available")
102- let P = (N + F)
107+ let P = (N + B)
103108 if (if (isDefined(getBoolean(this, (K + "_stop"))))
104109 then true
105110 else isDefined(getString(this, K)))
108113 then throw(((("Maximum amount of bets for round " + toString(c)) + ". With your bet it's ") + toString(P)))
109114 else {
110115 let Q = H(this, I)
111- let R = h((L + makeString(Q, d)), o(E), size(Q))
112- let C = Q[(R % size(Q))]
116+ let R = h((L + makeString(Q, d)), o(F), size(Q))
117+ let D = Q[(R % size(Q))]
113118 let S = removeByIndex(Q, (R % size(Q)))
114119 let T = f(S)
115- let U = h((L + makeString(T, d)), o(E), size(T))
116- let D = T[(U % size(T))]
120+ let U = h((L + makeString(T, d)), o(F), size(T))
121+ let E = T[(U % size(T))]
117122 let V = removeByIndex(T, (R % size(T)))
118- if ((z(C) == z(D)))
119- then [StringEntry(I, makeString(V, d)), StringEntry((L + "_salt_debug"), L), IntegerEntry((L + "_LastRandonNumber"), U), IntegerEntry((L + "_sumBets"), P), StringEntry((L + "_playerCard"), C), StringEntry((L + "_casinoCard"), D), IntegerEntry((L + "_drawSequence"), (O + 1))]
123+ if ((z(D) == z(E)))
124+ then [StringEntry(I, makeString(V, d)), StringEntry((L + "_salt_debug"), L), IntegerEntry((L + "_LastRandonNumber"), U), IntegerEntry((L + "_sumBets"), P), StringEntry((L + "_playerCard"), D), StringEntry((L + "_casinoCard"), E), IntegerEntry((K + "_drawSequence"), (O + 1))]
120125 else {
121- let W = B(C, D, E, a)
122-[StringEntry(I, makeString(V, d)), StringEntry((L + "_salt_debug"), L), IntegerEntry((L + "_LastRandonNumber"), U), IntegerEntry((L + "_sumBets"), P), StringEntry((L + "_playerCard"), C), StringEntry((L + "_casinoCard"), D), BooleanEntry((L + "_stop"), true), StringEntry((L + "_winner"), W)]
126+ let W = C(D, E, F, a)
127+[StringEntry(I, makeString(V, d)), StringEntry((L + "_salt_debug"), L), IntegerEntry((L + "_LastRandonNumber"), U), IntegerEntry((L + "_sumBets"), P), StringEntry((L + "_playerCard"), D), StringEntry((L + "_casinoCard"), E), BooleanEntry((L + "_stop"), true), StringEntry((K + "_winner"), W)]
123128 }
124129 }
125130 }
128133
129134 @Callable(x)
130135 func withdraw (K) = {
131- let E = toBase58String(x.caller.bytes)
132- let L = ((K + "_") + E)
136+ let F = toBase58String(x.caller.bytes)
137+ let L = ((K + "_") + F)
133138 let X = (L + "_withdraw")
134139 if (isDefined(getString(this, X)))
135140 then throw("You have already got your prize")
136- else if (isDefined(getInteger(this, (L + "_drawSequence"))))
141+ else if (isDefined(getInteger(this, (K + "_drawSequence"))))
137142 then throw("There is no winner, it was a draw")
138- else if (!(isDefined(getString(this, (L + "_winner")))))
143+ else if (!(isDefined(getString(this, (K + "_winner")))))
139144 then throw("There is no winner")
140145 else {
141- let W = getStringValue(this, (L + "_winner"))
146+ let W = getStringValue(this, (K + "_winner"))
142147 let Y = getIntegerValue(this, (L + "_sumBets"))
143148 if ((Y == 0))
144149 then throw("You won nothing this round")
145- else if ((W == E))
150+ else if ((W == F))
146151 then [StringEntry(X, toString(Y)), ScriptTransfer(x.caller, Y, unit)]
147152 else throw("You are not the winner")
148153 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "3N6hQF6HBBQ5JCKB8Xs17Q61wkG3VrLvbGd"
55
66 let b = 1000000000
77
88 let c = (100 * b)
99
1010 let d = ","
1111
1212 func e () = ["01C", "02C", "03C", "04C", "05C", "06C", "07C", "08C", "09C", "10C", "11C", "12C", "13C", "01D", "02D", "03D", "04D", "05D", "06D", "07D", "08D", "09D", "10D", "11D", "12D", "13D", "01H", "02H", "03H", "04H", "05H", "06H", "07H", "08H", "09H", "10H", "11H", "12H", "13H", "01S", "02S", "03S", "04S", "05S", "06S", "07S", "08S", "09S", "10S", "11S", "12S", "13S"]
1313
1414
1515 func f (g) = if ((0 >= size(g)))
1616 then e()
1717 else g
1818
1919
2020 func h (i,j,k) = {
2121 let l = sha256(toBytes((i + j)))
2222 let m = toInt(l)
2323 let n = (m % k)
2424 if ((0 > n))
2525 then ((-1 * n) + 1)
2626 else (n + 1)
2727 }
2828
2929
3030 func o (p) = {
3131 let q = getInteger(this, (p + "_LastRandonNumber"))
3232 if ($isInstanceOf(q, "Int"))
3333 then {
3434 let r = q
3535 toString(r)
3636 }
3737 else p
3838 }
3939
4040
4141 func s (t,u) = {
4242 let q = getInteger(t, u)
4343 if ($isInstanceOf(q, "Int"))
4444 then {
4545 let v = q
4646 v
4747 }
4848 else 0
4949 }
5050
5151
5252 func w (x) = if ((size(x.payments) == 0))
5353 then throw("Payment must be attached")
5454 else {
5555 let y = x.payments[0]
5656 if (isDefined(y.assetId))
5757 then throw("This function accepts WAVES tokens only")
5858 else y.amount
5959 }
6060
6161
62-func z (A) = parseIntValue(take(A, 2))
62+func z (A) = {
63+ let B = parseIntValue(take(A, 2))
64+ if ((B == 1))
65+ then 20
66+ else B
67+ }
6368
6469
65-func B (C,D,E,a) = {
66- let F = z(C)
67- let G = z(D)
68- if ((F > G))
69- then E
70+func C (D,E,F,a) = {
71+ let B = z(D)
72+ let G = z(E)
73+ if ((B > G))
74+ then F
7075 else a
7176 }
7277
7378
7479 func H (t,I) = if (isDefined(getString(t, I)))
7580 then {
7681 let J = getStringValue(t, I)
7782 let g = split(J, d)
7883 if ((size(g) == 0))
7984 then e()
8085 else g
8186 }
8287 else e()
8388
8489
8590 @Callable(x)
8691 func bet (K) = {
87- let E = toBase58String(x.caller.bytes)
88- let L = ((K + "_") + E)
89- let F = w(x)
92+ let F = toBase58String(x.caller.bytes)
93+ let L = ((K + "_") + F)
94+ let B = w(x)
9095 let M = (L + "_sumBets")
9196 let N = s(this, M)
9297 let O = {
93- let q = getInteger(this, (L + "_drawSequence"))
98+ let q = getInteger(this, (K + "_drawSequence"))
9499 if ($isInstanceOf(q, "Int"))
95100 then {
96101 let v = q
97102 (v + 1)
98103 }
99104 else 0
100105 }
101106 let I = (L + "_available")
102- let P = (N + F)
107+ let P = (N + B)
103108 if (if (isDefined(getBoolean(this, (K + "_stop"))))
104109 then true
105110 else isDefined(getString(this, K)))
106111 then throw("This round is already played")
107112 else if ((P > c))
108113 then throw(((("Maximum amount of bets for round " + toString(c)) + ". With your bet it's ") + toString(P)))
109114 else {
110115 let Q = H(this, I)
111- let R = h((L + makeString(Q, d)), o(E), size(Q))
112- let C = Q[(R % size(Q))]
116+ let R = h((L + makeString(Q, d)), o(F), size(Q))
117+ let D = Q[(R % size(Q))]
113118 let S = removeByIndex(Q, (R % size(Q)))
114119 let T = f(S)
115- let U = h((L + makeString(T, d)), o(E), size(T))
116- let D = T[(U % size(T))]
120+ let U = h((L + makeString(T, d)), o(F), size(T))
121+ let E = T[(U % size(T))]
117122 let V = removeByIndex(T, (R % size(T)))
118- if ((z(C) == z(D)))
119- then [StringEntry(I, makeString(V, d)), StringEntry((L + "_salt_debug"), L), IntegerEntry((L + "_LastRandonNumber"), U), IntegerEntry((L + "_sumBets"), P), StringEntry((L + "_playerCard"), C), StringEntry((L + "_casinoCard"), D), IntegerEntry((L + "_drawSequence"), (O + 1))]
123+ if ((z(D) == z(E)))
124+ then [StringEntry(I, makeString(V, d)), StringEntry((L + "_salt_debug"), L), IntegerEntry((L + "_LastRandonNumber"), U), IntegerEntry((L + "_sumBets"), P), StringEntry((L + "_playerCard"), D), StringEntry((L + "_casinoCard"), E), IntegerEntry((K + "_drawSequence"), (O + 1))]
120125 else {
121- let W = B(C, D, E, a)
122-[StringEntry(I, makeString(V, d)), StringEntry((L + "_salt_debug"), L), IntegerEntry((L + "_LastRandonNumber"), U), IntegerEntry((L + "_sumBets"), P), StringEntry((L + "_playerCard"), C), StringEntry((L + "_casinoCard"), D), BooleanEntry((L + "_stop"), true), StringEntry((L + "_winner"), W)]
126+ let W = C(D, E, F, a)
127+[StringEntry(I, makeString(V, d)), StringEntry((L + "_salt_debug"), L), IntegerEntry((L + "_LastRandonNumber"), U), IntegerEntry((L + "_sumBets"), P), StringEntry((L + "_playerCard"), D), StringEntry((L + "_casinoCard"), E), BooleanEntry((L + "_stop"), true), StringEntry((K + "_winner"), W)]
123128 }
124129 }
125130 }
126131
127132
128133
129134 @Callable(x)
130135 func withdraw (K) = {
131- let E = toBase58String(x.caller.bytes)
132- let L = ((K + "_") + E)
136+ let F = toBase58String(x.caller.bytes)
137+ let L = ((K + "_") + F)
133138 let X = (L + "_withdraw")
134139 if (isDefined(getString(this, X)))
135140 then throw("You have already got your prize")
136- else if (isDefined(getInteger(this, (L + "_drawSequence"))))
141+ else if (isDefined(getInteger(this, (K + "_drawSequence"))))
137142 then throw("There is no winner, it was a draw")
138- else if (!(isDefined(getString(this, (L + "_winner")))))
143+ else if (!(isDefined(getString(this, (K + "_winner")))))
139144 then throw("There is no winner")
140145 else {
141- let W = getStringValue(this, (L + "_winner"))
146+ let W = getStringValue(this, (K + "_winner"))
142147 let Y = getIntegerValue(this, (L + "_sumBets"))
143148 if ((Y == 0))
144149 then throw("You won nothing this round")
145- else if ((W == E))
150+ else if ((W == F))
146151 then [StringEntry(X, toString(Y)), ScriptTransfer(x.caller, Y, unit)]
147152 else throw("You are not the winner")
148153 }
149154 }
150155
151156
152157 @Verifier(Z)
153158 func aa () = sigVerify(Z.bodyBytes, Z.proofs[0], Z.senderPublicKey)
154159

github/deemru/w8io/026f985 
47.65 ms