tx · 6tFXJbHmPFn4p5F6BVEKjFzXwy5NxkyartPqHgo7zsBR

3NCKMaA2EQ8AwbB73pPNDyidJxqjTcPYmLh:  -0.01400000 Waves

2019.09.20 16:44 [684715] smart account 3NCKMaA2EQ8AwbB73pPNDyidJxqjTcPYmLh > SELF 0.00000000 Waves

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

github/deemru/w8io/169f3d6 
26.86 ms