tx · FHuxg2pLtsmnpH2PJPY6mdXQTe2a4c8mYcywrANhj6SY

3Mq3AvSxdaUbBTW1BJGXABTN9Bomj76NLYu:  -0.01000000 Waves

2019.02.08 21:56 [486497] smart account 3Mq3AvSxdaUbBTW1BJGXABTN9Bomj76NLYu > SELF 0.00000000 Waves

{ "type": 13, "id": "FHuxg2pLtsmnpH2PJPY6mdXQTe2a4c8mYcywrANhj6SY", "fee": 1000000, "feeAssetId": null, "timestamp": 1549652199227, "version": 1, "sender": "3Mq3AvSxdaUbBTW1BJGXABTN9Bomj76NLYu", "senderPublicKey": "7WtyprrLqNboZFZbCtUTEnUNrMc5yavtYWzW8tUoEsTY", "proofs": [ "5UR1dp9j2wdC9j9uLf9YAY3rieh6JnGxxjTzyggH1LJvZkfwDRFn2FDFAoW4yLxpEX2RBTt5Jp7fxDotuLMMEF3N" ], "script": "base64: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", "chainId": 84, "height": 486497, "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("${environment.serviceAddress}")
7+let serviceCommission = (bet / 200)
8+let rock = base58'1'
9+let paper = base58'2'
10+let scissors = base58'3'
11+let p1MoveHash = extract(getBinary(me, "p1mh"))
12+let matchKey = extract(getBinary(me, "mk"))
13+let player1Key = extract(getBinary(me, "p1k"))
14+match tx {
15+ case data: DataTransaction =>
16+ let dataValid = if (isDefined(getBinary(data.data, "p2p")))
17+ then {
18+ let h = extract(getInteger(data.data, "h"))
19+ if (if (if (if (if ((size(data.data) == 4))
20+ then ((height + 1) >= h)
21+ else false)
22+ then (h >= (height - 1))
23+ else false)
24+ then !(isDefined(getBinary(me, "p2p")))
25+ else false)
26+ then (size(extract(getBinary(data.data, "p2mh"))) == 32)
27+ else false)
28+ then match transactionById(extract(getBinary(data.data, "p2p"))) {
29+ case p2payment: TransferTransaction =>
30+ if (if (if (if ((p2payment.amount == (1 * wave)))
31+ then (p2payment.recipient == me)
32+ else false)
33+ then (p2payment.senderPublicKey == extract(getBinary(data.data, "p2k")))
34+ else false)
35+ then (p2payment.senderPublicKey != player1Key)
36+ else false)
37+ then !(isDefined(p2payment.assetId))
38+ else false
39+ case _ =>
40+ throw("")
41+ }
42+ else false
43+ }
44+ else if (isDefined(getBinary(data.data, "p1m")))
45+ then if (if (!(isDefined(getBinary(me, "p1m"))))
46+ then (size(data.data) == 1)
47+ else false)
48+ then (sha256(extract(getBinary(data.data, "p1m"))) == extract(getBinary(me, "p1mh")))
49+ else false
50+ else if (isDefined(getBinary(data.data, "p2m")))
51+ then if (if (!(isDefined(getBinary(me, "p2m"))))
52+ then (size(data.data) == 1)
53+ else false)
54+ then (sha256(extract(getBinary(data.data, "p2m"))) == extract(getBinary(me, "p2mh")))
55+ else false
56+ else if (isDefined(getInteger(data.data, "s")))
57+ then {
58+ let player2Key = extract(getBinary(me, "p2k"))
59+ let expectedBalance = if ((size(data.data) >= 2))
60+ then match transactionById(extract(getBinary(data.data, "0"))) {
61+ case t: TransferTransaction =>
62+ if (if (if (if ((t.senderPublicKey == player1Key))
63+ then (t.recipient == me)
64+ else false)
65+ then (t.amount == bet)
66+ else false)
67+ then !(isDefined(t.assetId))
68+ else false)
69+ then t.amount
70+ else throw("")
71+ case _ =>
72+ throw("")
73+ }
74+ else (0 + (if ((size(data.data) >= 3))
75+ then match transactionById(extract(getBinary(data.data, "1"))) {
76+ case t: TransferTransaction =>
77+ if (if (if (if ((t.senderPublicKey == player2Key))
78+ then (t.recipient == me)
79+ else false)
80+ then (t.amount == bet)
81+ else false)
82+ then !(isDefined(t.assetId))
83+ else false)
84+ then t.amount
85+ else throw("")
86+ case _ =>
87+ throw("")
88+ }
89+ else (0 + (if ((size(data.data) >= 4))
90+ then match transactionById(extract(getBinary(data.data, "2"))) {
91+ case t: TransferTransaction =>
92+ if (if (if (if ((t.senderPublicKey == extract(getBinary(data.data, "s2"))))
93+ then (t.recipient == me)
94+ else false)
95+ then (t.amount == bet)
96+ else false)
97+ then !(isDefined(t.assetId))
98+ else false)
99+ then t.amount
100+ else throw("")
101+ case _ =>
102+ throw("")
103+ }
104+ else (0 + (if ((size(data.data) >= 5))
105+ then match transactionById(extract(getBinary(data.data, "3"))) {
106+ case t: TransferTransaction =>
107+ if (if (if (if ((t.senderPublicKey == extract(getBinary(data.data, "s2"))))
108+ then (t.recipient == me)
109+ else false)
110+ then (t.amount == bet)
111+ else false)
112+ then !(isDefined(t.assetId))
113+ else false)
114+ then t.amount
115+ else throw("")
116+ case _ =>
117+ throw("")
118+ }
119+ else (0 + (if ((size(data.data) >= 6))
120+ then match transactionById(extract(getBinary(data.data, "4"))) {
121+ case t: TransferTransaction =>
122+ if (if (if (if ((t.senderPublicKey == extract(getBinary(data.data, "s3"))))
123+ then (t.recipient == me)
124+ else false)
125+ then (t.amount == bet)
126+ else false)
127+ then !(isDefined(t.assetId))
128+ else false)
129+ then t.amount
130+ else throw("")
131+ case _ =>
132+ throw("")
133+ }
134+ else (0 - 2600000)))))))))
135+ if ((wavesBalance(me) == expectedBalance))
136+ then (extract(getInteger(data.data, "s")) == (size(data.data) + 1))
137+ else false
138+ }
139+ else throw("")
140+ dataValid
141+ case payout: MassTransferTransaction =>
142+ let isCommissionIncluded = if ((payout.transfers[0].recipient == serviceAddress))
143+ then (payout.transfers[0].amount == serviceCommission)
144+ else false
145+ let feeValid = (payout.fee == 800000)
146+ let p1moves = take(extract(getBinary(me, "p1m")), 3)
147+ let p2moves = take(extract(getBinary(me, "p2m")), 3)
148+ let p1m1 = take(p1moves, 1)
149+ let p2m1 = take(p2moves, 1)
150+ let p1m2 = takeRightBytes(take(p1moves, 2), 1)
151+ let p2m2 = takeRightBytes(take(p2moves, 2), 1)
152+ let p1m3 = takeRightBytes(p1moves, 1)
153+ let p2m3 = takeRightBytes(p2moves, 1)
154+ let score = 0
155+ let p1 = addressFromPublicKey(player1Key)
156+ let p2 = addressFromPublicKey(extract(getBinary(me, "p2k")))
157+ let recipientsValid = if (if ((payout.transfers[1].recipient == p1))
158+ then (payout.transfers[2].recipient == p2)
159+ else false)
160+ then if (isDefined(getBinary(me, "s2")))
161+ then (payout.transfers[3].recipient == addressFromPublicKey(extract(getBinary(me, "s2"))))
162+ else if (true)
163+ then if (isDefined(getBinary(me, "s3")))
164+ then (payout.transfers[4].recipient == addressFromPublicKey(extract(getBinary(me, "s3"))))
165+ else if (true)
166+ then if (isDefined(getBinary(me, "s4")))
167+ then (payout.transfers[5].recipient == addressFromPublicKey(extract(getBinary(me, "s4"))))
168+ else true
169+ else false
170+ else false
171+ else false
172+ let prizePool = (((wavesBalance(me) - serviceCommission) - payout.fee) - (((extract(getInteger(me, "s")) + 1) - 3) * bet))
173+ let amountsValid = if ((payout.transfers[1].amount == (if ((score == 0))
174+ then (prizePool / 2)
175+ else if ((score > 0))
176+ then prizePool
177+ else 0)))
178+ then (payout.transfers[2].amount == (if ((score == 0))
179+ then (prizePool / 2)
180+ else if ((0 > score))
181+ then prizePool
182+ else 0))
183+ else false
184+ if (if (if (feeValid)
185+ then isCommissionIncluded
186+ else false)
187+ then recipientsValid
188+ else false)
189+ then amountsValid
190+ else false
191+ case _ =>
192+ false
193+}

github/deemru/w8io/873ac7e 
36.22 ms