tx · 5W986AERfoiMEn3Dpmc4o9hRHNgY4HfqfKubuxdRPF8c

3MtSuYYgLAAk3zEXkZykVxdjcLb3ynQgGAW:  -0.01000000 Waves

2019.02.17 05:19 [498455] smart account 3MtSuYYgLAAk3zEXkZykVxdjcLb3ynQgGAW > SELF 0.00000000 Waves

{ "type": 13, "id": "5W986AERfoiMEn3Dpmc4o9hRHNgY4HfqfKubuxdRPF8c", "fee": 1000000, "feeAssetId": null, "timestamp": 1550370015904, "version": 1, "sender": "3MtSuYYgLAAk3zEXkZykVxdjcLb3ynQgGAW", "senderPublicKey": "6GGPc83VtvM9dbW2kMrftAGLnWV85NhMDQxZqXeh5CXQ", "proofs": [ "4CRHkHVFFFRX4fdnCTCksMh4tuzxaR2DFwh3gWWSH2MbiYk289J2c78K3muGveQrE8K2o4fxSK3LGzu9kPTt8yvZ" ], "script": "base64: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", "chainId": 84, "height": 498455, "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 txFee = 500000
5+let timeout = 1440
6+let lifespan = 1000
7+let err = throw("")
8+let one = base58'2'
9+let casino = addressFromString("3N7JYdh4amWaz4QYiknQdWoGrmr7hbYWwFL")
10+let player = addressFromString("3Mxkgv5V6RT4XG7yrVgmbdFe2pvDT6r6isZ")
11+let casinoChoiceHash = fromBase58String("H2BL52qGaC1nVGAY3rjYR4eqWvSDufV4qm2Qq87FFthn")
12+let startingHeight = 498455
13+let diceCount = 1
14+let bet = 30000000
15+if ((height >= startingHeight))
16+ then match tx {
17+ case payout: TransferTransaction =>
18+ if (if ((payout.amount == (wavesBalance(me) - txFee)))
19+ then (payout.fee == txFee)
20+ else false)
21+ then if (((height - startingHeight) > lifespan))
22+ then (payout.recipient == casino)
23+ else {
24+ let paymentId = payout.proofs[0]
25+ match transactionById(paymentId) {
26+ case payment: TransferTransaction =>
27+ if (if (if (if ((payment.amount == bet))
28+ then (payment.recipient == me)
29+ else false)
30+ then (payment.sender == player)
31+ else false)
32+ then !(isDefined(payment.assetId))
33+ else false)
34+ then if ((timeout >= (height - startingHeight)))
35+ then {
36+ let casinoChoiceWithSalt = payout.proofs[1]
37+ let playerChoice = payment.attachment
38+ let casinoChoice = take(casinoChoiceWithSalt, 1)
39+ let c1 = take(playerChoice, 1)
40+ let c2 = take(drop(playerChoice, 1), 1)
41+ let c3 = take(drop(playerChoice, 2), 1)
42+ let c4 = take(drop(playerChoice, 3), 1)
43+ let c5 = take(drop(playerChoice, 4), 1)
44+ let c6 = drop(playerChoice, 5)
45+ let playerChoiceValid = (diceCount == ((((((if ((c1 == one))
46+ then 1
47+ else 0) + (if ((c2 == one))
48+ then 1
49+ else 0)) + (if ((c3 == one))
50+ then 1
51+ else 0)) + (if ((c4 == one))
52+ then 1
53+ else 0)) + (if ((c5 == one))
54+ then 1
55+ else 0)) + (if ((c6 == one))
56+ then 1
57+ else 0)))
58+ let playerWins = if (if (if (if (if (if ((casinoChoice != base58'2'))
59+ then true
60+ else (c1 == one))
61+ then if ((casinoChoice != base58'3'))
62+ then true
63+ else (c2 == one)
64+ else false)
65+ then if ((casinoChoice != base58'4'))
66+ then true
67+ else (c3 == one)
68+ else false)
69+ then if ((casinoChoice != base58'5'))
70+ then true
71+ else (c4 == one)
72+ else false)
73+ then if ((casinoChoice != base58'6'))
74+ then true
75+ else (c5 == one)
76+ else false)
77+ then if ((casinoChoice != base58'7'))
78+ then true
79+ else (c6 == one)
80+ else false
81+ if (if (if (if ((payout.recipient == (if (playerWins)
82+ then player
83+ else casino)))
84+ then (size(playerChoice) == 6)
85+ else false)
86+ then (size(casinoChoiceHash) == 32)
87+ else false)
88+ then (sha256(casinoChoiceWithSalt) == casinoChoiceHash)
89+ else false)
90+ then playerChoiceValid
91+ else false
92+ }
93+ else (payout.recipient == player)
94+ else false
95+ case _ =>
96+ err
97+ }
98+ }
99+ else false
100+ case _ =>
101+ err
102+ }
103+ else false

github/deemru/w8io/169f3d6 
24.59 ms