tx · 6fpPihKLe22zRD9hYEEmu6c3NrEFHjoEUFUtVzvQdV2d

3N84cQuauVvmkECrAyQC25YkJoseJeFRR73:  -0.01000000 Waves

2019.02.12 18:15 [492105] smart account 3N84cQuauVvmkECrAyQC25YkJoseJeFRR73 > SELF 0.00000000 Waves

{ "type": 13, "id": "6fpPihKLe22zRD9hYEEmu6c3NrEFHjoEUFUtVzvQdV2d", "fee": 1000000, "feeAssetId": null, "timestamp": 1549984550519, "version": 1, "sender": "3N84cQuauVvmkECrAyQC25YkJoseJeFRR73", "senderPublicKey": "3uR4es9ncCD3tKyxLhfkuZ6pj5cun2YFEFdtJSnuMBkM", "proofs": [ "4ijjJa7E7akBiex8BARgHVirMiagLr7pGEvv2TMUabtNJC7RRCf1XUn32WCBv9WRvVnj1YuXWcZQa2p25NEeWF6x" ], "script": "base64:AQQAAAACbWUIBQAAAAJ0eAAAAAZzZW5kZXIEAAAABHdhdmUAAAAAAAX14QAEAAAAA2JldAkAAGgAAAACAAAAAAAAAAABBQAAAAR3YXZlBAAAAA5zZXJ2aWNlQWRkcmVzcwkBAAAAEWFkZHJlc3NGcm9tU3RyaW5nAAAAAQIAAAAjM043b0Y1SjVtOUJ3QkZDbVZKWldyM0FFSDN1NGM2Q0xvQjkEAAAAEXNlcnZpY2VDb21taXNzaW9uCQAAaQAAAAIFAAAAA2JldAAAAAAAAAAAyAQAAAAEcm9jawEAAAABAAQAAAAFcGFwZXIBAAAAAQEEAAAACHNjaXNzb3JzAQAAAAECBAAAAARub25lCQAAAgAAAAECAAAAAAQAAAAHdGltZW91dAAAAAAAAAAADwQAAAAKcDFNb3ZlSGFzaAkBAAAAB2V4dHJhY3QAAAABCQAEHAAAAAIFAAAAAm1lAgAAAARwMW1oBAAAAAhtYXRjaEtleQkBAAAAB2V4dHJhY3QAAAABCQAEHAAAAAIFAAAAAm1lAgAAAAJtawQAAAAKcGxheWVyMUtleQkBAAAAB2V4dHJhY3QAAAABCQAEHAAAAAIFAAAAAm1lAgAAAANwMWsEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAA9EYXRhVHJhbnNhY3Rpb24EAAAABGRhdGEFAAAAByRtYXRjaDAEAAAACWRhdGFWYWxpZAMJAQAAAAlpc0RlZmluZWQAAAABCQAEEgAAAAIIBQAAAARkYXRhAAAABGRhdGECAAAAA3AycAQAAAABaAkBAAAAB2V4dHJhY3QAAAABCQAEEAAAAAIIBQAAAARkYXRhAAAABGRhdGECAAAAAWgDAwMDAwkAAAAAAAACCQABkAAAAAEIBQAAAARkYXRhAAAABGRhdGEAAAAAAAAAAAQJAABnAAAAAgkAAGQAAAACBQAAAAZoZWlnaHQAAAAAAAAAAAEFAAAAAWgHCQAAZwAAAAIFAAAAAWgJAABlAAAAAgUAAAAGaGVpZ2h0AAAAAAAAAAABBwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQkABBwAAAACBQAAAAJtZQIAAAADcDJwBwkAAAAAAAACCQAAyAAAAAEJAQAAAAdleHRyYWN0AAAAAQkABBIAAAACCAUAAAAEZGF0YQAAAARkYXRhAgAAAARwMm1oAAAAAAAAAAAgBwQAAAAHJG1hdGNoMQkAA+gAAAABCQEAAAAHZXh0cmFjdAAAAAEJAAQSAAAAAggFAAAABGRhdGEAAAAEZGF0YQIAAAADcDJwAwkAAAEAAAACBQAAAAckbWF0Y2gxAgAAABNUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAAlwMnBheW1lbnQFAAAAByRtYXRjaDEDAwMDCQAAAAAAAAIIBQAAAAlwMnBheW1lbnQAAAAGYW1vdW50CQAAaAAAAAIAAAAAAAAAAAEFAAAABHdhdmUJAAAAAAAAAggFAAAACXAycGF5bWVudAAAAAlyZWNpcGllbnQFAAAAAm1lBwkAAAAAAAACCAUAAAAJcDJwYXltZW50AAAAD3NlbmRlclB1YmxpY0tleQkBAAAAB2V4dHJhY3QAAAABCQAEEgAAAAIIBQAAAARkYXRhAAAABGRhdGECAAAAA3AyawcJAQAAAAIhPQAAAAIIBQAAAAlwMnBheW1lbnQAAAAPc2VuZGVyUHVibGljS2V5BQAAAApwbGF5ZXIxS2V5BwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAACXAycGF5bWVudAAAAAdhc3NldElkBwUAAAAEbm9uZQcDCQEAAAAJaXNEZWZpbmVkAAAAAQkABBIAAAACCAUAAAAEZGF0YQAAAARkYXRhAgAAAANwMW0EAAAAB3AxbW92ZXMJAADJAAAAAgkBAAAAB2V4dHJhY3QAAAABCQAEEgAAAAIIBQAAAARkYXRhAAAABGRhdGECAAAAA3AxbQAAAAAAAAAAAwQAAAAEcDFtMQkAAMkAAAACBQAAAAdwMW1vdmVzAAAAAAAAAAABBAAAAARwMW0yCQEAAAAOdGFrZVJpZ2h0Qnl0ZXMAAAACCQAAyQAAAAIFAAAAB3AxbW92ZXMAAAAAAAAAAAIAAAAAAAAAAAEEAAAABHAxbTMJAQAAAA50YWtlUmlnaHRCeXRlcwAAAAIFAAAAB3AxbW92ZXMAAAAAAAAAAAEEAAAABGVycjEDAwMDAwMDAwkBAAAAAiE9AAAAAgUAAAAEcDFtMQUAAAAEcm9jawkBAAAAAiE9AAAAAgUAAAAEcDFtMQUAAAAIc2Npc3NvcnMHCQEAAAACIT0AAAACBQAAAARwMW0xBQAAAAVwYXBlcgcJAQAAAAIhPQAAAAIFAAAABHAxbTIFAAAABHJvY2sHCQEAAAACIT0AAAACBQAAAARwMW0yBQAAAAhzY2lzc29ycwcJAQAAAAIhPQAAAAIFAAAABHAxbTIFAAAABXBhcGVyBwkBAAAAAiE9AAAAAgUAAAAEcDFtMwUAAAAEcm9jawcJAQAAAAIhPQAAAAIFAAAABHAxbTMFAAAACHNjaXNzb3JzBwkBAAAAAiE9AAAAAgUAAAAEcDFtMwUAAAAFcGFwZXIHAwMDAwkAAGcAAAACCQEAAAAMd2F2ZXNCYWxhbmNlAAAAAQUAAAACbWUFAAAAA2JldAkBAAAAASEAAAABBQAAAARlcnIxBwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQkABBwAAAACBQAAAAJtZQIAAAADcDFtBwkAAAAAAAACCQABkAAAAAEIBQAAAARkYXRhAAAABGRhdGEAAAAAAAAAAAEHCQAAAAAAAAIJAAH3AAAAAQkBAAAAB2V4dHJhY3QAAAABCQAEEgAAAAIIBQAAAARkYXRhAAAABGRhdGECAAAAA3AxbQkBAAAAB2V4dHJhY3QAAAABCQAEHAAAAAIFAAAAAm1lAgAAAARwMW1oBwMJAQAAAAlpc0RlZmluZWQAAAABCQAEEgAAAAIIBQAAAARkYXRhAAAABGRhdGECAAAAA3AybQQAAAAHcDJtb3ZlcwkAAMkAAAACCQEAAAAHZXh0cmFjdAAAAAEJAAQSAAAAAggFAAAABGRhdGEAAAAEZGF0YQIAAAADcDJtAAAAAAAAAAADBAAAAARwMm0xCQAAyQAAAAIFAAAAB3AybW92ZXMAAAAAAAAAAAEEAAAABHAybTIJAQAAAA50YWtlUmlnaHRCeXRlcwAAAAIJAADJAAAAAgUAAAAHcDJtb3ZlcwAAAAAAAAAAAgAAAAAAAAAAAQQAAAAEcDJtMwkBAAAADnRha2VSaWdodEJ5dGVzAAAAAgUAAAAHcDJtb3ZlcwAAAAAAAAAAAQQAAAAEZXJyMgMDAwMDAwMDCQEAAAACIT0AAAACBQAAAARwMm0xBQAAAARyb2NrCQEAAAACIT0AAAACBQAAAARwMm0xBQAAAAhzY2lzc29ycwcJAQAAAAIhPQAAAAIFAAAABHAybTEFAAAABXBhcGVyBwkBAAAAAiE9AAAAAgUAAAAEcDJtMgUAAAAEcm9jawcJAQAAAAIhPQAAAAIFAAAABHAybTIFAAAACHNjaXNzb3JzBwkBAAAAAiE9AAAAAgUAAAAEcDJtMgUAAAAFcGFwZXIHCQEAAAACIT0AAAACBQAAAARwMm0zBQAAAARyb2NrBwkBAAAAAiE9AAAAAgUAAAAEcDJtMwUAAAAIc2Npc3NvcnMHCQEAAAACIT0AAAACBQAAAARwMm0zBQAAAAVwYXBlcgcDAwMJAQAAAAEhAAAAAQUAAAAEZXJyMgkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQkABBwAAAACBQAAAAJtZQIAAAADcDJtBwkAAAAAAAACCQABkAAAAAEIBQAAAARkYXRhAAAABGRhdGEAAAAAAAAAAAEHCQAAAAAAAAIJAAH3AAAAAQkBAAAAB2V4dHJhY3QAAAABCQAEEgAAAAIIBQAAAARkYXRhAAAABGRhdGECAAAAA3AybQkBAAAAB2V4dHJhY3QAAAABCQAEHAAAAAIFAAAAAm1lAgAAAARwMm1oBwMJAQAAAAlpc0RlZmluZWQAAAABCQAEEgAAAAIIBQAAAARkYXRhAAAABGRhdGECAAAAAXcGBQAAAARub25lBQAAAAlkYXRhVmFsaWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAF01hc3NUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAAZwYXlvdXQFAAAAByRtYXRjaDAEAAAAAnB0CAUAAAAGcGF5b3V0AAAACXRyYW5zZmVycwQAAAABaAkBAAAAB2V4dHJhY3QAAAABCQAEGgAAAAIFAAAAAm1lAgAAAAFoBAAAAAdwMW1vdmVzCQAAyQAAAAIJAQAAAAdleHRyYWN0AAAAAQkABBwAAAACBQAAAAJtZQIAAAADcDFtAAAAAAAAAAADBAAAAAdwMm1vdmVzCQAAyQAAAAIJAQAAAAdleHRyYWN0AAAAAQkABBwAAAACBQAAAAJtZQIAAAADcDJtAAAAAAAAAAADBAAAAARwMW0xCQAAyQAAAAIFAAAAB3AxbW92ZXMAAAAAAAAAAAEEAAAABHAybTEJAADJAAAAAgUAAAAHcDJtb3ZlcwAAAAAAAAAAAQQAAAAEcDFtMgkBAAAADnRha2VSaWdodEJ5dGVzAAAAAgkAAMkAAAACBQAAAAdwMW1vdmVzAAAAAAAAAAACAAAAAAAAAAABBAAAAARwMm0yCQEAAAAOdGFrZVJpZ2h0Qnl0ZXMAAAACCQAAyQAAAAIFAAAAB3AybW92ZXMAAAAAAAAAAAIAAAAAAAAAAAEEAAAABHAxbTMJAQAAAA50YWtlUmlnaHRCeXRlcwAAAAIFAAAAB3AxbW92ZXMAAAAAAAAAAAEEAAAABHAybTMJAQAAAA50YWtlUmlnaHRCeXRlcwAAAAIFAAAAB3AybW92ZXMAAAAAAAAAAAEEAAAABXNjb3JlCQAAZAAAAAIJAABkAAAAAgMDAwMJAAAAAAAAAgUAAAAEcDFtMQUAAAAEcm9jawkAAAAAAAACBQAAAARwMm0xBQAAAAhzY2lzc29ycwcGAwkAAAAAAAACBQAAAARwMW0xBQAAAAVwYXBlcgkAAAAAAAACBQAAAARwMm0xBQAAAARyb2NrBwYDCQAAAAAAAAIFAAAABHAxbTEFAAAACHNjaXNzb3JzCQAAAAAAAAIFAAAABHAybTEFAAAABXBhcGVyBwAAAAAAAAAAAQMJAAAAAAAAAgUAAAAEcDFtMQUAAAAEcDJtMQAAAAAAAAAAAAD//////////wMDAwMJAAAAAAAAAgUAAAAEcDFtMgUAAAAEcm9jawkAAAAAAAACBQAAAARwMm0yBQAAAAhzY2lzc29ycwcGAwkAAAAAAAACBQAAAARwMW0yBQAAAAVwYXBlcgkAAAAAAAACBQAAAARwMm0yBQAAAARyb2NrBwYDCQAAAAAAAAIFAAAABHAxbTIFAAAACHNjaXNzb3JzCQAAAAAAAAIFAAAABHAybTIFAAAABXBhcGVyBwAAAAAAAAAAAQMJAAAAAAAAAgUAAAAEcDFtMgUAAAAEcDJtMgAAAAAAAAAAAAD//////////wMDAwMJAAAAAAAAAgUAAAAEcDFtMwUAAAAEcm9jawkAAAAAAAACBQAAAARwMm0zBQAAAAhzY2lzc29ycwcGAwkAAAAAAAACBQAAAARwMW0zBQAAAAVwYXBlcgkAAAAAAAACBQAAAARwMm0zBQAAAARyb2NrBwYDCQAAAAAAAAIFAAAABHAxbTMFAAAACHNjaXNzb3JzCQAAAAAAAAIFAAAABHAybTMFAAAABXBhcGVyBwAAAAAAAAAAAQMJAAAAAAAAAgUAAAAEcDFtMwUAAAAEcDJtMwAAAAAAAAAAAAD//////////wQAAAABdwMDCQAAZgAAAAIJAABlAAAAAgUAAAAGaGVpZ2h0BQAAAAFoBQAAAAd0aW1lb3V0AwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQkABBwAAAACBQAAAAJtZQIAAAADcDFtBgkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQkABBwAAAACBQAAAAJtZQIAAAADcDFtBwMDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCQAEHAAAAAIFAAAAAm1lAgAAAANwMW0JAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEJAAQcAAAAAgUAAAACbWUCAAAAA3AxbQcBAAAAAQADCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCQAEHAAAAAIFAAAAAm1lAgAAAANwMW0JAQAAAAdleHRyYWN0AAAAAQkABBwAAAACBQAAAAJtZQIAAAADcDJrBQAAAApwbGF5ZXIxS2V5AwkAAGYAAAACBQAAAAVzY29yZQAAAAAAAAAAAAUAAAAKcGxheWVyMUtleQMJAAAAAAAAAgUAAAAFc2NvcmUAAAAAAAAAAAABAAAAAQAJAQAAAAdleHRyYWN0AAAAAQkABBwAAAACBQAAAAJtZQIAAAADcDJrBAAAAAJwMQkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAAKcGxheWVyMUtleQQAAAACcDIJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEJAQAAAAdleHRyYWN0AAAAAQkABBwAAAACBQAAAAJtZQIAAAADcDJrBAAAAAhub1dpbm5lcgkAAAAAAAACCQAAyAAAAAEFAAAAAXcAAAAAAAAAAAEEAAAABndpbm5lcgMJAQAAAAEhAAAAAQUAAAAIbm9XaW5uZXIJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAAXcFAAAAAnAxBAAAAAZsb29zZXIDCQAAAAAAAAIFAAAAAnAxBQAAAAZ3aW5uZXIFAAAAAnAyBQAAAAJwMQQAAAAJcHJpemVQb29sCQAAZQAAAAIJAABlAAAAAgkBAAAADHdhdmVzQmFsYW5jZQAAAAEFAAAAAm1lBQAAABFzZXJ2aWNlQ29tbWlzc2lvbggFAAAABnBheW91dAAAAANmZWUEAAAAC3BheW91dFZhbGlkAwMDAwkAAAAAAAACCAkAAZEAAAACBQAAAAJwdAAAAAAAAAAAAQAAAAlyZWNpcGllbnQFAAAABndpbm5lcgYJAAACAAAAAQIAAAABMQMJAAAAAAAAAggJAAGRAAAAAgUAAAACcHQAAAAAAAAAAAEAAAAGYW1vdW50AwUAAAAIbm9XaW5uZXIJAABpAAAAAgUAAAAJcHJpemVQb29sAAAAAAAAAAACBQAAAAlwcml6ZVBvb2wGCQAAAgAAAAECAAAAATMHAwkAAAAAAAACCAkAAZEAAAACBQAAAAJwdAAAAAAAAAAAAgAAAAlyZWNpcGllbnQFAAAABmxvb3NlcgYJAAACAAAAAQIAAAABMgcDCQAAAAAAAAIICQABkQAAAAIFAAAAAnB0AAAAAAAAAAACAAAABmFtb3VudAMFAAAACG5vV2lubmVyCQAAaQAAAAIFAAAACXByaXplUG9vbAAAAAAAAAAAAgAAAAAAAAAAAAYJAAACAAAAAQIAAAABNAcDAwMJAAAAAAAAAggFAAAABnBheW91dAAAAANmZWUAAAAAAAAKrmAJAAAAAAAAAggJAAGRAAAAAgUAAAACcHQAAAAAAAAAAAAAAAAJcmVjaXBpZW50BQAAAA5zZXJ2aWNlQWRkcmVzcwcJAAAAAAAAAggJAAGRAAAAAgUAAAACcHQAAAAAAAAAAAAAAAAGYW1vdW50BQAAABFzZXJ2aWNlQ29tbWlzc2lvbgcFAAAAC3BheW91dFZhbGlkBwcu88k6", "chainId": 84, "height": 492105, "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+ dataValid
114+ case payout: MassTransferTransaction =>
115+ let pt = payout.transfers
116+ let h = extract(getInteger(me, "h"))
117+ let p1moves = take(extract(getBinary(me, "p1m")), 3)
118+ let p2moves = take(extract(getBinary(me, "p2m")), 3)
119+ let p1m1 = take(p1moves, 1)
120+ let p2m1 = take(p2moves, 1)
121+ let p1m2 = takeRightBytes(take(p1moves, 2), 1)
122+ let p2m2 = takeRightBytes(take(p2moves, 2), 1)
123+ let p1m3 = takeRightBytes(p1moves, 1)
124+ let p2m3 = takeRightBytes(p2moves, 1)
125+ let score = (((if (if (if (if ((p1m1 == rock))
126+ then (p2m1 == scissors)
127+ else false)
128+ then true
129+ else if ((p1m1 == paper))
130+ then (p2m1 == rock)
131+ else false)
132+ then true
133+ else if ((p1m1 == scissors))
134+ then (p2m1 == paper)
135+ else false)
136+ then 1
137+ else if ((p1m1 == p2m1))
138+ then 0
139+ else -1) + (if (if (if (if ((p1m2 == rock))
140+ then (p2m2 == scissors)
141+ else false)
142+ then true
143+ else if ((p1m2 == paper))
144+ then (p2m2 == rock)
145+ else false)
146+ then true
147+ else if ((p1m2 == scissors))
148+ then (p2m2 == paper)
149+ else false)
150+ then 1
151+ else if ((p1m2 == p2m2))
152+ then 0
153+ else -1)) + (if (if (if (if ((p1m3 == rock))
154+ then (p2m3 == scissors)
155+ else false)
156+ then true
157+ else if ((p1m3 == paper))
158+ then (p2m3 == rock)
159+ else false)
160+ then true
161+ else if ((p1m3 == scissors))
162+ then (p2m3 == paper)
163+ else false)
164+ then 1
165+ else if ((p1m3 == p2m3))
166+ then 0
167+ else -1))
168+ let w = if (if (((height - h) > timeout))
169+ then if (!(isDefined(getBinary(me, "p1m"))))
170+ then true
171+ else !(isDefined(getBinary(me, "p1m")))
172+ else false)
173+ then if (if (!(isDefined(getBinary(me, "p1m"))))
174+ then !(isDefined(getBinary(me, "p1m")))
175+ else false)
176+ then base58'1'
177+ else if (!(isDefined(getBinary(me, "p1m"))))
178+ then extract(getBinary(me, "p2k"))
179+ else player1Key
180+ else if ((score > 0))
181+ then player1Key
182+ else if ((score == 0))
183+ then base58'1'
184+ else extract(getBinary(me, "p2k"))
185+ let p1 = addressFromPublicKey(player1Key)
186+ let p2 = addressFromPublicKey(extract(getBinary(me, "p2k")))
187+ let noWinner = (size(w) == 1)
188+ let winner = if (!(noWinner))
189+ then addressFromPublicKey(w)
190+ else p1
191+ let looser = if ((p1 == winner))
192+ then p2
193+ else p1
194+ let prizePool = ((wavesBalance(me) - serviceCommission) - payout.fee)
195+ let payoutValid = if (if (if (if ((pt[1].recipient == winner))
196+ then true
197+ else throw("1"))
198+ then if ((pt[1].amount == (if (noWinner)
199+ then (prizePool / 2)
200+ else prizePool)))
201+ then true
202+ else throw("3")
203+ else false)
204+ then if ((pt[2].recipient == looser))
205+ then true
206+ else throw("2")
207+ else false)
208+ then if ((pt[2].amount == (if (noWinner)
209+ then (prizePool / 2)
210+ else 0)))
211+ then true
212+ else throw("4")
213+ else false
214+ if (if (if ((payout.fee == 700000))
215+ then (pt[0].recipient == serviceAddress)
216+ else false)
217+ then (pt[0].amount == serviceCommission)
218+ else false)
219+ then payoutValid
220+ else false
221+ case _ =>
222+ false
223+}

github/deemru/w8io/3ef1775 
29.89 ms