tx · 7xpWCWWMbjM8U9yAwMhMsgJePnzi558y7Q7xRb6prFQF

3MyPxvC5pvRWe8KtXn35Vjcw8b1DLLXpDxu:  -0.01400000 Waves

2019.09.20 15:48 [684661] smart account 3MyPxvC5pvRWe8KtXn35Vjcw8b1DLLXpDxu > SELF 0.00000000 Waves

{ "type": 13, "id": "7xpWCWWMbjM8U9yAwMhMsgJePnzi558y7Q7xRb6prFQF", "fee": 1400000, "feeAssetId": null, "timestamp": 1568983664033, "version": 1, "sender": "3MyPxvC5pvRWe8KtXn35Vjcw8b1DLLXpDxu", "senderPublicKey": "58gE6BwC4kdEuM8Q5jAP95JTzWwtCqAm352WZe4bHcDE", "proofs": [ "3PJfThCuk2f3coUmcaNN94GjqFYZ2W5Np2nCvLuvEZoxVwz2n8H17tEUWQnnVnJkabMNFKkdEzS3ViS9KAcU6uCh" ], "script": "base64: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", "chainId": 84, "height": 684661, "spentComplexity": 0 } View: original | compacted Prev: none Next: 8t2b9XsRCUPfWJN7xz2VdiPX4eSAUvo8QWpYRrGPxCbD Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let q1start = 190
5+
6+let q2start = 190
7+
8+let s = 10
9+
10+func coef (q,dif) = ((q * (((-47 * dif) * dif) + 10000)) / 10000)
11+
12+
13+func anothercoef (q) = {
14+ let vig = 52
15+ pow(((vig + 1000) - (100000 / q)), 0, -1, 0, 5, DOWN)
16+ }
17+
18+
19+@Callable(contextObj)
20+func bet (event) = {
21+ let payment = match contextObj.payment {
22+ case p: AttachedPayment =>
23+ if ((100000000 > p.amount))
24+ then throw("low payment")
25+ else p
26+ case _ =>
27+ throw("Payment not attached")
28+ }
29+ let n = getIntegerValue(this, "n")
30+ let m = getIntegerValue(this, "m")
31+ let count = getIntegerValue(this, "count")
32+ let dif = (n - m)
33+ let event1amount = match getInteger(this, (toString(contextObj.caller) + "_event1amount")) {
34+ case u: Unit =>
35+ 0
36+ case i: Int =>
37+ i
38+ case _ =>
39+ throw()
40+ }
41+ let event2amount = match getInteger(this, (toString(contextObj.caller) + "_event2amount")) {
42+ case u: Unit =>
43+ 0
44+ case i: Int =>
45+ i
46+ case _ =>
47+ throw()
48+ }
49+ if ((event == 1))
50+ then {
51+ let q1next = coef(q1start, ((n + 1) - m))
52+ let q2next = anothercoef(q1next)
53+ if (if ((100 >= q1next))
54+ then true
55+ else (100 >= q2next))
56+ then throw(("to low coef q1 = " + toString(coef(q1start, ((n + 1) - m)))))
57+ else {
58+ let nNew = (n + 1)
59+ let countNew = (count + 1)
60+ WriteSet([DataEntry((toString(contextObj.caller) + "_event1amount"), (event1amount + coef(q1start, (n - m)))), DataEntry((toString(countNew) + "_event"), event), DataEntry((toString(countNew) + "_qoef1"), coef(q1start, (n - m))), DataEntry((toString(countNew) + "_qoef2"), anothercoef(coef(q1start, (n - m)))), DataEntry((toString(countNew) + "_bettor"), toString(contextObj.caller)), DataEntry("q1_next", q1next), DataEntry("q2_next", q2next), DataEntry("n", nNew), DataEntry("count", countNew)])
61+ }
62+ }
63+ else {
64+ let q1next = coef(q1start, ((n - 1) - m))
65+ let q2next = anothercoef(q1next)
66+ if (if ((100 >= q1next))
67+ then true
68+ else (100 >= q2next))
69+ then throw(("to low coef q2 = " + toString(anothercoef(coef(q1start, ((n - m) - 1))))))
70+ else {
71+ let mNew = (m + 1)
72+ let countNew = (count + 1)
73+ WriteSet([DataEntry((toString(contextObj.caller) + "_event2amount"), (event2amount + anothercoef(coef(q1start, (n - m))))), DataEntry((toString(countNew) + "_event"), event), DataEntry((toString(countNew) + "_qoef2"), anothercoef(coef(q1start, (n - m)))), DataEntry((toString(countNew) + "_bettor"), toString(contextObj.caller)), DataEntry("q1_next", q1next), DataEntry("q2_next", q2next), DataEntry((toString(countNew) + "_qoef1"), coef(q1start, (n - m))), DataEntry("m", mNew), DataEntry("count", countNew)])
74+ }
75+ }
76+ }
77+
78+
79+
80+@Callable(contextObj)
81+func withdraw () = {
82+ let event1amount = match getInteger(this, (toString(contextObj.caller) + "_event1amount")) {
83+ case u: Unit =>
84+ 0
85+ case i: Int =>
86+ i
87+ case _ =>
88+ throw()
89+ }
90+ let event2amount = match getInteger(this, (toString(contextObj.caller) + "_event2amount")) {
91+ case u: Unit =>
92+ 0
93+ case i: Int =>
94+ i
95+ case _ =>
96+ throw()
97+ }
98+ let event1 = match getBoolean(this, "result_event_1") {
99+ case u: Unit =>
100+ false
101+ case b: Boolean =>
102+ b
103+ case _ =>
104+ throw()
105+ }
106+ let event2 = match getBoolean(this, "result_event_2") {
107+ case u: Unit =>
108+ false
109+ case b: Boolean =>
110+ b
111+ case _ =>
112+ throw()
113+ }
114+ if (event1)
115+ then ScriptResult(WriteSet([DataEntry((toString(contextObj.caller) + "_event1amount"), 0)]), TransferSet([ScriptTransfer(contextObj.caller, (event1amount * 1000000), unit)]))
116+ else if (event2)
117+ then ScriptResult(WriteSet([DataEntry((toString(contextObj.caller) + "_event2amount"), 0)]), TransferSet([ScriptTransfer(contextObj.caller, (event2amount * 1000000), unit)]))
118+ else throw("event did not happen or you have zero win")
119+ }
120+
121+

github/deemru/w8io/169f3d6 
33.04 ms