tx · 7VPhaXLTMSCZp6gGUrkEbRCvf2Z5khK8AD1DabFr2ED8

3N7gN3fsRhhztEJZuW6gCgqRQ48dk7epLw5:  -0.01000000 Waves

2019.02.16 17:00 [497744] smart account 3N7gN3fsRhhztEJZuW6gCgqRQ48dk7epLw5 > SELF 0.00000000 Waves

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

github/deemru/w8io/169f3d6 
18.25 ms