2019.02.13 18:12 [493518] smart account 3N7RJeJHud1nyhc9i6ndRBYaPAVNKEkPKpJ > SELF 0.00000000 Waves

{ "type": 13, "id": "cEMGLopjBhA8CaJ5guikwiCNmqPjTZVL5FVKbS6y9Hk", "fee": 1000000, "feeAssetId": null, "timestamp": 1550070725350, "version": 1, "sender": "3N7RJeJHud1nyhc9i6ndRBYaPAVNKEkPKpJ", "senderPublicKey": "EGBGmrZNAsp8e7JDxtPB1crcvNn6YBPHmuLrKJPJiaTg", "proofs": [ "4RyH9AkV78a3cQG6LkDkdvywTgCx5pBeQjYCHWxcU9LUrw5CkDnjnWzY4nRbab2Pcjm6RQpeTGqtR4eEXvZkvTH9" ], "script": "base64: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", "chainId": 84, "height": 493518, "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 1 #-}
2+{-# CONTENT_TYPE EXPRESSION #-}
3+let me = tx.sender
4+let wave = 100000000
5+let bet = (1 * wave)
6+let serviceAddress = addressFromString("3N7oF5J5m9BwBFCmVJZWr3AEH3u4c6CLoB9")
7+let serviceCommission = (bet / 200)
8+let rock = base58'1'
9+let paper = base58'2'
10+let scissors = base58'3'
11+let none = throw("")
12+let timeout = 15
13+let p1MoveHash = extract(getBinary(me, "p1mh"))
14+let matchKey = extract(getBinary(me, "mk"))
15+let player1Key = extract(getBinary(me, "p1k"))
16+match tx {
17+ case data: DataTransaction =>
18+ let dataValid = if (isDefined(getBinary(data.data, "p2p")))
19+ then {
20+ let h = extract(getInteger(data.data, "h"))
21+ if (if (if (if (if ((size(data.data) == 4))
22+ then ((height + 1) >= h)
23+ else false)
24+ then (h >= (height - 1))
25+ else false)
26+ then !(isDefined(getBinary(me, "p2p")))
27+ else false)
28+ then (size(extract(getBinary(data.data, "p2mh"))) == 32)
29+ else false)
30+ then match transactionById(extract(getBinary(data.data, "p2p"))) {
31+ case p2payment: TransferTransaction =>
32+ if (if (if (if ((p2payment.amount == (1 * wave)))
33+ then (p2payment.recipient == me)
34+ else false)
35+ then (p2payment.senderPublicKey == extract(getBinary(data.data, "p2k")))
36+ else false)
37+ then (p2payment.senderPublicKey != player1Key)
38+ else false)
39+ then !(isDefined(p2payment.assetId))
40+ else false
41+ case _ =>
42+ none
43+ }
44+ else false
45+ }
46+ else if (isDefined(getBinary(data.data, "p1m")))
47+ then {
48+ let p1moves = take(extract(getBinary(data.data, "p1m")), 3)
49+ let p1m1 = take(p1moves, 1)
50+ let p1m2 = takeRightBytes(take(p1moves, 2), 1)
51+ let p1m3 = takeRightBytes(p1moves, 1)
52+ let err1 = if (if (if (if (if (if (if (if ((p1m1 != rock))
53+ then (p1m1 != scissors)
54+ else false)
55+ then (p1m1 != paper)
56+ else false)
57+ then (p1m2 != rock)
58+ else false)
59+ then (p1m2 != scissors)
60+ else false)
61+ then (p1m2 != paper)
62+ else false)
63+ then (p1m3 != rock)
64+ else false)
65+ then (p1m3 != scissors)
66+ else false)
67+ then (p1m3 != paper)
68+ else false
69+ if (if (if (if ((wavesBalance(me) >= bet))
70+ then !(err1)
71+ else false)
72+ then !(isDefined(getBinary(me, "p1m")))
73+ else false)
74+ then (size(data.data) == 1)
75+ else false)
76+ then (sha256(extract(getBinary(data.data, "p1m"))) == extract(getBinary(me, "p1mh")))
77+ else false
78+ }
79+ else if (isDefined(getBinary(data.data, "p2m")))
80+ then {
81+ let p2moves = take(extract(getBinary(data.data, "p2m")), 3)
82+ let p2m1 = take(p2moves, 1)
83+ let p2m2 = takeRightBytes(take(p2moves, 2), 1)
84+ let p2m3 = takeRightBytes(p2moves, 1)
85+ let err2 = if (if (if (if (if (if (if (if ((p2m1 != rock))
86+ then (p2m1 != scissors)
87+ else false)
88+ then (p2m1 != paper)
89+ else false)
90+ then (p2m2 != rock)
91+ else false)
92+ then (p2m2 != scissors)
93+ else false)
94+ then (p2m2 != paper)
95+ else false)
96+ then (p2m3 != rock)
97+ else false)
98+ then (p2m3 != scissors)
99+ else false)
100+ then (p2m3 != paper)
101+ else false
102+ if (if (if (!(err2))
103+ then !(isDefined(getBinary(me, "p2m")))
104+ else false)
105+ then (size(data.data) == 1)
106+ else false)
107+ then (sha256(extract(getBinary(data.data, "p2m"))) == extract(getBinary(me, "p2mh")))
108+ else false
109+ }
110+ else if (isDefined(getBinary(data.data, "w")))
111+ then true
112+ else none
113+ if ((data.fee == 500000))
114+ then dataValid
115+ else false
116+ case payout: MassTransferTransaction =>
117+ let pt = payout.transfers
118+ let h = extract(getInteger(me, "h"))
119+ let p1moves = take(extract(getBinary(me, "p1m")), 3)
120+ let p2moves = take(extract(getBinary(me, "p2m")), 3)
121+ let p1m1 = take(p1moves, 1)
122+ let p2m1 = take(p2moves, 1)
123+ let p1m2 = takeRightBytes(take(p1moves, 2), 1)
124+ let p2m2 = takeRightBytes(take(p2moves, 2), 1)
125+ let p1m3 = takeRightBytes(p1moves, 1)
126+ let p2m3 = takeRightBytes(p2moves, 1)
127+ let score = (((if (if (if (if ((p1m1 == rock))
128+ then (p2m1 == scissors)
129+ else false)
130+ then true
131+ else if ((p1m1 == paper))
132+ then (p2m1 == rock)
133+ else false)
134+ then true
135+ else if ((p1m1 == scissors))
136+ then (p2m1 == paper)
137+ else false)
138+ then 1
139+ else if ((p1m1 == p2m1))
140+ then 0
141+ else -1) + (if (if (if (if ((p1m2 == rock))
142+ then (p2m2 == scissors)
143+ else false)
144+ then true
145+ else if ((p1m2 == paper))
146+ then (p2m2 == rock)
147+ else false)
148+ then true
149+ else if ((p1m2 == scissors))
150+ then (p2m2 == paper)
151+ else false)
152+ then 1
153+ else if ((p1m2 == p2m2))
154+ then 0
155+ else -1)) + (if (if (if (if ((p1m3 == rock))
156+ then (p2m3 == scissors)
157+ else false)
158+ then true
159+ else if ((p1m3 == paper))
160+ then (p2m3 == rock)
161+ else false)
162+ then true
163+ else if ((p1m3 == scissors))
164+ then (p2m3 == paper)
165+ else false)
166+ then 1
167+ else if ((p1m3 == p2m3))
168+ then 0
169+ else -1))
170+ let w = if (if (((height - h) > timeout))
171+ then if (!(isDefined(getBinary(me, "p1m"))))
172+ then true
173+ else !(isDefined(getBinary(me, "p1m")))
174+ else false)
175+ then if (if (!(isDefined(getBinary(me, "p1m"))))
176+ then !(isDefined(getBinary(me, "p1m")))
177+ else false)
178+ then base58'1'
179+ else if (!(isDefined(getBinary(me, "p1m"))))
180+ then extract(getBinary(me, "p2k"))
181+ else player1Key
182+ else if ((score > 0))
183+ then player1Key
184+ else if ((score == 0))
185+ then base58'1'
186+ else extract(getBinary(me, "p2k"))
187+ let p1 = addressFromPublicKey(player1Key)
188+ let p2 = addressFromPublicKey(extract(getBinary(me, "p2k")))
189+ let noWinner = (size(w) == 1)
190+ let winner = if (!(noWinner))
191+ then addressFromPublicKey(w)
192+ else p1
193+ let looser = if ((p1 == winner))
194+ then p2
195+ else p1
196+ let prizePool = ((wavesBalance(me) - serviceCommission) - payout.fee)
197+ let payoutValid = if (if (if ((pt[1].recipient == winner))
198+ then (pt[1].amount == (if (noWinner)
199+ then (prizePool / 2)
200+ else prizePool))
201+ else false)
202+ then (pt[2].recipient == looser)
203+ else false)
204+ then (pt[2].amount == (if (noWinner)
205+ then (prizePool / 2)
206+ else 0))
207+ else false
208+ if (if (if ((payout.fee == 700000))
209+ then (pt[0].recipient == serviceAddress)
210+ else false)
211+ then (pt[0].amount == serviceCommission)
212+ else false)
213+ then payoutValid
214+ else false
215+ case _ =>
216+ false
217+}

github/deemru/w8io/786bc32 
17.45 ms