tx · 9bcfKdK9wSXJoyce4V4LGGztmHZG5sJKnyFwRAYwVnAH

3N4zbpVDPsKPSqDpqEFZRPhwjXpNm72AKR4:  -0.01000000 Waves

2018.11.16 15:28 [378294] smart account 3N4zbpVDPsKPSqDpqEFZRPhwjXpNm72AKR4 > SELF 0.00000000 Waves

{ "type": 13, "id": "9bcfKdK9wSXJoyce4V4LGGztmHZG5sJKnyFwRAYwVnAH", "fee": 1000000, "feeAssetId": null, "timestamp": 1542371305038, "version": 1, "sender": "3N4zbpVDPsKPSqDpqEFZRPhwjXpNm72AKR4", "senderPublicKey": "GjSA6Fk4XLJNKpFeEV3p3mxMGZJmEDf7qUDJr2rxyqJp", "proofs": [ "4efLwuZ57ArXNeCwyeq9kQw3a5sASdt1jJBeJ6vMMEyog81uk5VN4ThxR2eteMSvHqqPV7PZvLBhANt8DSRDNfQm" ], "script": "base64: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AGgAAAACCQAAaAAAAAIJAABoAAAAAgUAAAAHY2hvaWNlMQUAAAAHY2hvaWNlMgUAAAAHY2hvaWNlMwUAAAAHY2hvaWNlNAUAAAAHY2hvaWNlNQUAAAAHY2hvaWNlNgQAAAAYcGxheWVyRGljZXNOdW1iZXJDb3JyZWN0AwkAAGYAAAACBQAAAA9wbGF5ZXJDaG9pY2VTdW0AAAAAAAAAAAAJAAAAAAAAAgUAAAAPcGxheWVyQ2hvaWNlTXVsAAAAAAAAAAAABwQAAAASY2FzaW5vRGljZXNJblJhbmdlAwkAAGcAAAACBQAAAAxjYXNpbm9DaG9pY2UAAAAAAAAAAAEJAABnAAAAAgAAAAAAAAAABgUAAAAMY2FzaW5vQ2hvaWNlBwQAAAAHbmV3SGFzaAkAAfUAAAABCQABmwAAAAEJAAEsAAAAAgkAAaQAAAABBQAAAAxjYXNpbm9DaG9pY2UFAAAABHNhbHQEAAAADmNhc2lub1ZlcmlmaWVkCQAAAAAAAAIFAAAAB25ld0hhc2gBAAAAIOjrbECQHjxrj7/I9qD7VNrVodxFDqAypbpbwIPUKdqdBAAAABJwbGF5ZXJJbnB1dENvcnJlY3QDAwMFAAAAEnBsYXllckRpY2VzSW5SYW5nZQUAAAAYcGxheWVyRGljZXNOdW1iZXJDb3JyZWN0BwkAAAAAAAACBQAAAANudW0AAAAAAAAAAAYHCQAAAAAAAAIFAAAAImFtb3VudE9mRGljZXNTZWxlY3RlZEluVHJhbnNhY3Rpb24FAAAAHWFtb3VudE9mRGljZXNTZWxlY3RlZEJ5UGxheWVyBwQAAAASY2FzaW5vSW5wdXRDb3JyZWN0AwMFAAAAEmNhc2lub0RpY2VzSW5SYW5nZQUAAAAOY2FzaW5vVmVyaWZpZWQHCQAAAAAAAAIFAAAAA251bQAAAAAAAAAAAgcDAwMFAAAADGNhc2lub1NpZ25lZAUAAAANY2FzaW5vQmV0VHVybgcFAAAAEmNhc2lub0lucHV0Q29ycmVjdAcGAwMFAAAADHBsYXllclNpZ25lZAUAAAANcGxheWVyQmV0VHVybgcFAAAAEnBsYXllcklucHV0Q29ycmVjdAcDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAE1RyYW5zZmVyVHJhbnNhY3Rpb24EAAAAA3R0eAUAAAAHJG1hdGNoMAQAAAAKZGljZXNNYXRjaAMDAwMDCQAAAAAAAAIFAAAABWRpY2UxBQAAAApjYXNpbm9EaWNlBgkAAAAAAAACBQAAAAVkaWNlMgUAAAAKY2FzaW5vRGljZQYJAAAAAAAAAgUAAAAFZGljZTMFAAAACmNhc2lub0RpY2UGCQAAAAAAAAIFAAAABWRpY2U0BQAAAApjYXNpbm9EaWNlBgkAAAAAAAACBQAAAAVkaWNlNQUAAAAKY2FzaW5vRGljZQYJAAAAAAAAAgUAAAAFZGljZTYFAAAACmNhc2lub0RpY2UEAAAAD3dpdGhkcmF3Q29ycmVjdAMJAABnAAAAAggFAAAAA3R0eAAAAAZhbW91bnQAAAAAAACYloAJAABnAAAAAgAAAAAAAA9CQAgFAAAAA3R0eAAAAANmZWUHBAAAAAlwbGF5ZXJXaW4DBQAAAAtjYXNpbm9CZXRPawUAAAAKZGljZXNNYXRjaAcEAAAACWNhc2lub1dpbgMDBQAAAAtjYXNpbm9CZXRPawkBAAAAASEAAAABBQAAAApkaWNlc01hdGNoBwkAAAAAAAACCAUAAAADdHR4AAAACXJlY2lwaWVudAUAAAAKY2FzaW5vQWRkcgcEAAAAEnBsYXllckNhblRha2VQcml6ZQMFAAAACXByaXplVHVybgUAAAAJcGxheWVyV2luBwQAAAANcGxheWVyQ2FuVGFrZQMDBQAAABJwbGF5ZXJDYW5UYWtlUHJpemUGBQAAABdwbGF5ZXJFbWVyZ2VuY3lUYWtlVHVybgkAAAAAAAACCAUAAAADdHR4AAAACXJlY2lwaWVudAUAAAAKcGxheWVyQWRkcgcEAAAAEmNhc2lub0NhblRha2VQcml6ZQMDBQAAAAlwcml6ZVR1cm4FAAAACWNhc2lub1dpbgcJAAAAAAAAAggFAAAAA3R0eAAAAAlyZWNpcGllbnQFAAAACmNhc2lub0FkZHIHBAAAAA1jYXNpbm9DYW5UYWtlAwMFAAAAEmNhc2lub0NhblRha2VQcml6ZQYFAAAAGmNhc2lub0NhbkVtZXJnZW5jeVRha2VUdXJuCQAAAAAAAAIIBQAAAAN0dHgAAAAJcmVjaXBpZW50BQAAAApjYXNpbm9BZGRyBwMDBQAAAA1wbGF5ZXJDYW5UYWtlBgUAAAANY2FzaW5vQ2FuVGFrZQUAAAAPd2l0aGRyYXdDb3JyZWN0Bwa1WA8L", "chainId": 84, "height": 378294, "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 1 #-}
2+{-# CONTENT_TYPE EXPRESSION #-}
3+let playerAddr = Address(base58'3MyaPJkHmZy4u57uKcHXgzQxsk9wAP9LTZ5')
4+let playerPubKey = base58'EhyhHkMbyNu8PwHoiJVCq2SciN9FmM5KvBeSN2NkTmeL'
5+let casinoAddr = Address(base58'3MyaPJkHmZy4u57uKcHXgzQxsk9wAP9LTZ5')
6+let casinoPubKey = base58'EhyhHkMbyNu8PwHoiJVCq2SciN9FmM5KvBeSN2NkTmeL'
7+let playerSigned = sigVerify(tx.bodyBytes, tx.proofs[0], playerPubKey)
8+let casinoSigned = sigVerify(tx.bodyBytes, tx.proofs[0], casinoPubKey)
9+let me = tx.sender
10+let casinoBet = 22000000
11+let playerBet = 11000000
12+let amountOfDicesSelectedByPlayer = 2
13+let start = 378294
14+let balance = wavesBalance(me)
15+let dice1 = extract(getInteger(me, "dice1"))
16+let dice2 = extract(getInteger(me, "dice2"))
17+let dice3 = extract(getInteger(me, "dice3"))
18+let dice4 = extract(getInteger(me, "dice4"))
19+let dice5 = extract(getInteger(me, "dice5"))
20+let dice6 = extract(getInteger(me, "dice6"))
21+let diceSum = (((((dice1 + dice2) + dice3) + dice4) + dice5) + dice6)
22+let casinoDice = extract(getInteger(me, "casinoDice"))
23+let playerDepositOk = (balance >= (casinoBet + playerBet))
24+let playerDepositTurn = if (if (((start + 50) > height))
25+ then (balance >= casinoBet)
26+ else false)
27+ then !(playerDepositOk)
28+ else false
29+let playerBetOk = (diceSum > 0)
30+let playerBetTurn = if (if (((start + 100) > height))
31+ then playerDepositOk
32+ else false)
33+ then !(playerBetOk)
34+ else false
35+let casinoBetOk = (casinoDice > 0)
36+let casinoBetTurn = if (if (((start + 200) > height))
37+ then playerBetOk
38+ else false)
39+ then !(casinoBetOk)
40+ else false
41+let prizeTurn = casinoBetOk
42+let playerEmergencyTakeTurn = if ((height >= (start + 300)))
43+ then !(casinoBetOk)
44+ else false
45+let casinoCanEmergencyTakeTurn = if ((height >= (start + 100)))
46+ then if (!(playerDepositOk))
47+ then true
48+ else !(playerBetOk)
49+ else false
50+match tx {
51+ case dtx: DataTransaction =>
52+ let num = size(dtx.data)
53+ let choice1 = extract(getInteger(dtx.data, "dice1"))
54+ let choice2 = extract(getInteger(dtx.data, "dice2"))
55+ let choice3 = extract(getInteger(dtx.data, "dice3"))
56+ let choice4 = extract(getInteger(dtx.data, "dice4"))
57+ let choice5 = extract(getInteger(dtx.data, "dice5"))
58+ let choice6 = extract(getInteger(dtx.data, "dice6"))
59+ let isDice1 = if ((choice1 > 0))
60+ then 1
61+ else 0
62+ let isDice2 = if ((choice2 > 0))
63+ then 1
64+ else 0
65+ let isDice3 = if ((choice3 > 0))
66+ then 1
67+ else 0
68+ let isDice4 = if ((choice4 > 0))
69+ then 1
70+ else 0
71+ let isDice5 = if ((choice5 > 0))
72+ then 1
73+ else 0
74+ let isDice6 = if ((choice6 > 0))
75+ then 1
76+ else 0
77+ let amountOfDicesSelectedInTransaction = (((((isDice1 + isDice2) + isDice3) + isDice4) + isDice5) + isDice6)
78+ let casinoChoice = extract(getInteger(dtx.data, "casinoDice"))
79+ let salt = extract(getString(dtx.data, "salt"))
80+ let playerDicesInRange = if (if (if (if (if (if ((choice1 >= 0))
81+ then (6 >= choice1)
82+ else false)
83+ then if ((choice2 >= 0))
84+ then (6 >= choice2)
85+ else false
86+ else false)
87+ then if ((choice3 >= 0))
88+ then (6 >= choice3)
89+ else false
90+ else false)
91+ then if ((choice4 >= 0))
92+ then (6 >= choice4)
93+ else false
94+ else false)
95+ then if ((choice5 >= 0))
96+ then (6 >= choice5)
97+ else false
98+ else false)
99+ then if ((choice6 >= 0))
100+ then (6 >= choice6)
101+ else false
102+ else false
103+ let playerChoiceSum = (((((choice1 + choice2) + choice3) + choice4) + choice5) + choice6)
104+ let playerChoiceMul = (((((choice1 * choice2) * choice3) * choice4) * choice5) * choice6)
105+ let playerDicesNumberCorrect = if ((playerChoiceSum > 0))
106+ then (playerChoiceMul == 0)
107+ else false
108+ let casinoDicesInRange = if ((casinoChoice >= 1))
109+ then (6 >= casinoChoice)
110+ else false
111+ let newHash = keccak256(toBytes((toString(casinoChoice) + salt)))
112+ let casinoVerified = (newHash == base58'GgDo7Z6z89EnYQiNdT1ZvzLxjgKSGZ5MP4RWK236bov4')
113+ let playerInputCorrect = if (if (if (playerDicesInRange)
114+ then playerDicesNumberCorrect
115+ else false)
116+ then (num == 6)
117+ else false)
118+ then (amountOfDicesSelectedInTransaction == amountOfDicesSelectedByPlayer)
119+ else false
120+ let casinoInputCorrect = if (if (casinoDicesInRange)
121+ then casinoVerified
122+ else false)
123+ then (num == 2)
124+ else false
125+ if (if (if (casinoSigned)
126+ then casinoBetTurn
127+ else false)
128+ then casinoInputCorrect
129+ else false)
130+ then true
131+ else if (if (playerSigned)
132+ then playerBetTurn
133+ else false)
134+ then playerInputCorrect
135+ else false
136+ case ttx: TransferTransaction =>
137+ let dicesMatch = if (if (if (if (if ((dice1 == casinoDice))
138+ then true
139+ else (dice2 == casinoDice))
140+ then true
141+ else (dice3 == casinoDice))
142+ then true
143+ else (dice4 == casinoDice))
144+ then true
145+ else (dice5 == casinoDice))
146+ then true
147+ else (dice6 == casinoDice)
148+ let withdrawCorrect = if ((ttx.amount >= 10000000))
149+ then (1000000 >= ttx.fee)
150+ else false
151+ let playerWin = if (casinoBetOk)
152+ then dicesMatch
153+ else false
154+ let casinoWin = if (if (casinoBetOk)
155+ then !(dicesMatch)
156+ else false)
157+ then (ttx.recipient == casinoAddr)
158+ else false
159+ let playerCanTakePrize = if (prizeTurn)
160+ then playerWin
161+ else false
162+ let playerCanTake = if (if (playerCanTakePrize)
163+ then true
164+ else playerEmergencyTakeTurn)
165+ then (ttx.recipient == playerAddr)
166+ else false
167+ let casinoCanTakePrize = if (if (prizeTurn)
168+ then casinoWin
169+ else false)
170+ then (ttx.recipient == casinoAddr)
171+ else false
172+ let casinoCanTake = if (if (casinoCanTakePrize)
173+ then true
174+ else casinoCanEmergencyTakeTurn)
175+ then (ttx.recipient == casinoAddr)
176+ else false
177+ if (if (playerCanTake)
178+ then true
179+ else casinoCanTake)
180+ then withdrawCorrect
181+ else false
182+ case _ =>
183+ true
184+}

github/deemru/w8io/026f985 
16.17 ms