tx · CXKxmAD58gd2EsciJZG73Dmke4dve3UwcegaiRuKS8sz

3MyPxvC5pvRWe8KtXn35Vjcw8b1DLLXpDxu:  -0.01400000 Waves

2019.09.20 16:11 [684682] smart account 3MyPxvC5pvRWe8KtXn35Vjcw8b1DLLXpDxu > SELF 0.00000000 Waves

{ "type": 13, "id": "CXKxmAD58gd2EsciJZG73Dmke4dve3UwcegaiRuKS8sz", "fee": 1400000, "feeAssetId": null, "timestamp": 1568985097036, "version": 1, "sender": "3MyPxvC5pvRWe8KtXn35Vjcw8b1DLLXpDxu", "senderPublicKey": "58gE6BwC4kdEuM8Q5jAP95JTzWwtCqAm352WZe4bHcDE", "proofs": [ "LHhCKiKbSKbKAXYLeJhNmSiVZQoHsY4jYV8T4RLVRM39fwjhgcYzh32GXTffbvkkUoK89YVsbsAxq8DQwFriw8T" ], "script": "base64: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", "chainId": 84, "height": 684682, "spentComplexity": 0 } View: original | compacted Prev: 8t2b9XsRCUPfWJN7xz2VdiPX4eSAUvo8QWpYRrGPxCbD Next: DBt6aQVBVzqazoob4VYJCS3GUVG6RNpv5CFFkpdTkTXa Diff:
OldNewDifferences
77
88 let s = 10
99
10-func coef (q,dif) = ((q * (((-47 * dif) * dif) + 10000)) / 10000)
10+func coef (q,dif) = {
11+ let result = ((q * (((-47 * dif) * dif) + 10000)) / 10000)
12+ if ((500 > result))
13+ then result
14+ else 500
15+ }
1116
1217
1318 func anothercoef (q) = {
1419 let vig = 52
15- pow(((vig + 1000) - (100000 / q)), 0, -1, 0, 5, DOWN)
20+ let result = pow(((vig + 1000) - (100000 / q)), 0, -1, 0, 5, DOWN)
21+ if ((500 > result))
22+ then result
23+ else 500
1624 }
1725
1826
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let q1start = 190
55
66 let q2start = 190
77
88 let s = 10
99
10-func coef (q,dif) = ((q * (((-47 * dif) * dif) + 10000)) / 10000)
10+func coef (q,dif) = {
11+ let result = ((q * (((-47 * dif) * dif) + 10000)) / 10000)
12+ if ((500 > result))
13+ then result
14+ else 500
15+ }
1116
1217
1318 func anothercoef (q) = {
1419 let vig = 52
15- pow(((vig + 1000) - (100000 / q)), 0, -1, 0, 5, DOWN)
20+ let result = pow(((vig + 1000) - (100000 / q)), 0, -1, 0, 5, DOWN)
21+ if ((500 > result))
22+ then result
23+ else 500
1624 }
1725
1826
1927 @Callable(contextObj)
2028 func bet (event) = {
2129 let payment = match contextObj.payment {
2230 case p: AttachedPayment =>
2331 if ((100000000 > p.amount))
2432 then throw("low payment")
2533 else p
2634 case _ =>
2735 throw("Payment not attached")
2836 }
2937 let n = getIntegerValue(this, "n")
3038 let m = getIntegerValue(this, "m")
3139 let count = getIntegerValue(this, "count")
3240 let dif = (n - m)
3341 let event1amount = match getInteger(this, (toString(contextObj.caller) + "_event1amount")) {
3442 case u: Unit =>
3543 0
3644 case i: Int =>
3745 i
3846 case _ =>
3947 throw()
4048 }
4149 let event2amount = match getInteger(this, (toString(contextObj.caller) + "_event2amount")) {
4250 case u: Unit =>
4351 0
4452 case i: Int =>
4553 i
4654 case _ =>
4755 throw()
4856 }
4957 if ((event == 1))
5058 then {
5159 let q1next = coef(q1start, ((n + 1) - m))
5260 let q2next = anothercoef(q1next)
5361 if (if ((100 > q1next))
5462 then true
5563 else (100 > q2next))
5664 then throw(("to low coef q1 = " + toString(coef(q1start, ((n + 1) - m)))))
5765 else {
5866 let nNew = (n + 1)
5967 let countNew = (count + 1)
6068 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)])
6169 }
6270 }
6371 else {
6472 let q1next = coef(q1start, ((n - 1) - m))
6573 let q2next = anothercoef(q1next)
6674 if (if ((100 > q1next))
6775 then true
6876 else (100 > q2next))
6977 then throw(("to low coef q2 = " + toString(anothercoef(coef(q1start, ((n - m) - 1))))))
7078 else {
7179 let mNew = (m + 1)
7280 let countNew = (count + 1)
7381 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)])
7482 }
7583 }
7684 }
7785
7886
7987
8088 @Callable(contextObj)
8189 func withdraw () = {
8290 let event1amount = match getInteger(this, (toString(contextObj.caller) + "_event1amount")) {
8391 case u: Unit =>
8492 0
8593 case i: Int =>
8694 i
8795 case _ =>
8896 throw()
8997 }
9098 let event2amount = match getInteger(this, (toString(contextObj.caller) + "_event2amount")) {
9199 case u: Unit =>
92100 0
93101 case i: Int =>
94102 i
95103 case _ =>
96104 throw()
97105 }
98106 let event1 = match getBoolean(this, "result_event_1") {
99107 case u: Unit =>
100108 false
101109 case b: Boolean =>
102110 b
103111 case _ =>
104112 throw()
105113 }
106114 let event2 = match getBoolean(this, "result_event_2") {
107115 case u: Unit =>
108116 false
109117 case b: Boolean =>
110118 b
111119 case _ =>
112120 throw()
113121 }
114122 if (event1)
115123 then ScriptResult(WriteSet([DataEntry((toString(contextObj.caller) + "_event1amount"), 0)]), TransferSet([ScriptTransfer(contextObj.caller, (event1amount * 1000000), unit)]))
116124 else if (event2)
117125 then ScriptResult(WriteSet([DataEntry((toString(contextObj.caller) + "_event2amount"), 0)]), TransferSet([ScriptTransfer(contextObj.caller, (event2amount * 1000000), unit)]))
118126 else throw("event did not happen or you have zero win")
119127 }
120128
121129

github/deemru/w8io/169f3d6 
61.93 ms