tx · CZYBQVF2BYwagykFdqTr7UtVV1gbFxY1vgaBdtvhdzdw

3MxrFGt7ZSS7mLP5CnaCZgeiUCH3bwWjqMR:  -0.01000000 Waves

2019.02.18 23:24 [501077] smart account 3MxrFGt7ZSS7mLP5CnaCZgeiUCH3bwWjqMR > SELF 0.00000000 Waves

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

github/deemru/w8io/3ef1775 
24.72 ms