tx · HCCZCuCvaeWyFVvthTwuPFL7QVvx2UntVSSG1QHC47yn

3MyZUAUSbMov7oVpwJyDNz3AiRqEMU7Sv1Q:  -0.01000000 Waves

2019.02.18 23:30 [501083] smart account 3MyZUAUSbMov7oVpwJyDNz3AiRqEMU7Sv1Q > SELF 0.00000000 Waves

{ "type": 13, "id": "HCCZCuCvaeWyFVvthTwuPFL7QVvx2UntVSSG1QHC47yn", "fee": 1000000, "feeAssetId": null, "timestamp": 1550521873444, "version": 1, "sender": "3MyZUAUSbMov7oVpwJyDNz3AiRqEMU7Sv1Q", "senderPublicKey": "BzPx2vDGgV3QoTk2ba7HrcKuXYBVeKN7476vezWHKtZf", "proofs": [ "gKEBef3UrtdBYbCmLCQZ639oBSAiEubtEYtzpsS93oeYrDjvhQWzxoW7sGtyGq93TYKGwTo1bpSrsTa1g31PQQd" ], "script": "base64:AQQAAAACbWUIBQAAAAJ0eAAAAAZzZW5kZXIEAAAACmNvbW1pc3Npb24AAAAAAAAAAAUEAAAABXNpZGVzAAAAAAAAAAAGBAAAAAV0eEZlZQAAAAAAAAehIAQAAAAHdGltZW91dAkAAGgAAAACAAAAAAAAAAA8AAAAAAAAAAAYBAAAAAhsaWZlc3BhbgAAAAAAAAAD6AQAAAADZXJyCQAAAgAAAAECAAAAAAQAAAADb25lAQAAAAEBBAAAAAZjYXNpbm8JAQAAABFhZGRyZXNzRnJvbVN0cmluZwAAAAECAAAAIzNNdk1wbTRNM3pOZXdKZ3hEQkh0NDZ4MUt0S1VNVkNyRVBRBAAAAAZwbGF5ZXIJAQAAABFhZGRyZXNzRnJvbVN0cmluZwAAAAECAAAAIzNOM1pOdndMejRjNWU3b1V6U0JVUFhKckRSYWJLcmg2SHpSBAAAABBjYXNpbm9DaG9pY2VIYXNoCQACWQAAAAECAAAALEZMNDRkSkRUQThGaEU5b0hpUVZYeWl4emFuYkprbVFWUTlrTVp3UDhjeXBFBAAAAA5zdGFydGluZ0hlaWdodAAAAAAAAAelWwQAAAAJZGljZUNvdW50AAAAAAAAAAABBAAAAANiZXQAAAAAAAHJw4AEAAAADmdyb3NzV2luQW1vdW50CQAAaQAAAAIJAABoAAAAAgUAAAADYmV0BQAAAAVzaWRlcwUAAAAJZGljZUNvdW50BAAAABRnYW1lQ29tbWlzc2lvbkFtb3VudAkAAGkAAAACCQAAaAAAAAIFAAAADmdyb3NzV2luQW1vdW50BQAAAApjb21taXNzaW9uAAAAAAAAAABkAwkAAGcAAAACBQAAAAZoZWlnaHQFAAAADnN0YXJ0aW5nSGVpZ2h0BAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAAGcGF5b3V0BQAAAAckbWF0Y2gwAwMDAwkAAAAAAAACCAUAAAAGcGF5b3V0AAAABmFtb3VudAkAAGUAAAACCQEAAAAMd2F2ZXNCYWxhbmNlAAAAAQUAAAACbWUFAAAABXR4RmVlCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCAUAAAAGcGF5b3V0AAAAB2Fzc2V0SWQHCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCAUAAAAGcGF5b3V0AAAACmZlZUFzc2V0SWQHCQAAAAAAAAIIBQAAAAZwYXlvdXQAAAADZmVlBQAAAAV0eEZlZQcDCQAAZgAAAAIJAABlAAAAAgUAAAAGaGVpZ2h0BQAAAA5zdGFydGluZ0hlaWdodAUAAAAIbGlmZXNwYW4JAAAAAAAAAggFAAAABnBheW91dAAAAAlyZWNpcGllbnQFAAAABmNhc2lubwQAAAAJcGF5bWVudElkCQABkQAAAAIIBQAAAAZwYXlvdXQAAAAGcHJvb2ZzAAAAAAAAAAAABAAAAAckbWF0Y2gxCQAD6AAAAAEFAAAACXBheW1lbnRJZAMJAAABAAAAAgUAAAAHJG1hdGNoMQIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAAHcGF5bWVudAUAAAAHJG1hdGNoMQMDAwMJAAAAAAAAAggFAAAAB3BheW1lbnQAAAAGYW1vdW50BQAAAANiZXQJAAAAAAAAAggFAAAAB3BheW1lbnQAAAAJcmVjaXBpZW50BQAAAAJtZQcJAAAAAAAAAggFAAAAB3BheW1lbnQAAAAGc2VuZGVyBQAAAAZwbGF5ZXIHCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCAUAAAAHcGF5bWVudAAAAAdhc3NldElkBwMJAABnAAAAAgUAAAAHdGltZW91dAkAAGUAAAACBQAAAAZoZWlnaHQFAAAADnN0YXJ0aW5nSGVpZ2h0BAAAABRjYXNpbm9DaG9pY2VXaXRoU2FsdAgFAAAABnBheW91dAAAAAphdHRhY2htZW50BAAAAAxwbGF5ZXJDaG9pY2UIBQAAAAdwYXltZW50AAAACmF0dGFjaG1lbnQEAAAAAXMJAADIAAAAAQUAAAAMcGxheWVyQ2hvaWNlBAAAAAxjYXNpbm9DaG9pY2UJAADJAAAAAgUAAAAUY2FzaW5vQ2hvaWNlV2l0aFNhbHQAAAAAAAAAAAEEAAAACnBsYXllcldpbnMDAwMDAwMJAABnAAAAAgUAAAABcwAAAAAAAAAAAQkAAAAAAAACCQAAyQAAAAIJAADKAAAAAgUAAAAMcGxheWVyQ2hvaWNlAAAAAAAAAAAAAAAAAAAAAAABBQAAAAxjYXNpbm9DaG9pY2UHBgMJAABnAAAAAgUAAAABcwAAAAAAAAAAAgkAAAAAAAACCQAAyQAAAAIJAADKAAAAAgUAAAAMcGxheWVyQ2hvaWNlAAAAAAAAAAABAAAAAAAAAAABBQAAAAxjYXNpbm9DaG9pY2UHBgMJAABnAAAAAgUAAAABcwAAAAAAAAAAAwkAAAAAAAACCQAAyQAAAAIJAADKAAAAAgUAAAAMcGxheWVyQ2hvaWNlAAAAAAAAAAACAAAAAAAAAAABBQAAAAxjYXNpbm9DaG9pY2UHBgMJAABnAAAAAgUAAAABcwAAAAAAAAAABAkAAAAAAAACCQAAyQAAAAIJAADKAAAAAgUAAAAMcGxheWVyQ2hvaWNlAAAAAAAAAAADAAAAAAAAAAABBQAAAAxjYXNpbm9DaG9pY2UHBgMJAABnAAAAAgUAAAABcwAAAAAAAAAABQkAAAAAAAACCQAAyQAAAAIJAADKAAAAAgUAAAAMcGxheWVyQ2hvaWNlAAAAAAAAAAAEAAAAAAAAAAABBQAAAAxjYXNpbm9DaG9pY2UHBgMJAABnAAAAAgUAAAABcwAAAAAAAAAABgkAAAAAAAACCQAAyQAAAAIJAADKAAAAAgUAAAAMcGxheWVyQ2hvaWNlAAAAAAAAAAAFAAAAAAAAAAABBQAAAAxjYXNpbm9DaG9pY2UHAwMJAAAAAAAAAggFAAAABnBheW91dAAAAAlyZWNpcGllbnQDBQAAAApwbGF5ZXJXaW5zBQAAAAZwbGF5ZXIFAAAABmNhc2lubwkAAAAAAAACCQAAyAAAAAEFAAAADHBsYXllckNob2ljZQAAAAAAAAAABgcJAAAAAAAAAgkAAfcAAAABBQAAABRjYXNpbm9DaG9pY2VXaXRoU2FsdAUAAAAQY2FzaW5vQ2hvaWNlSGFzaAcJAAAAAAAAAggFAAAABnBheW91dAAAAAlyZWNpcGllbnQFAAAABnBsYXllcgcFAAAAA2VycgcFAAAAA2VycgenWlZO", "chainId": 84, "height": 501083, "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("3MvMpm4M3zNewJgxDBHt46x1KtKUMVCrEPQ")
12+let player = addressFromString("3N3ZNvwLz4c5e7oUzSBUPXJrDRabKrh6HzR")
13+let casinoChoiceHash = fromBase58String("FL44dJDTA8FhE9oHiQVXyixzanbJkmQVQ9kMZwP8cypE")
14+let startingHeight = 501083
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 ((timeout >= (height - startingHeight)))
43+ then {
44+ let casinoChoiceWithSalt = payout.attachment
45+ let playerChoice = payment.attachment
46+ let s = size(playerChoice)
47+ let casinoChoice = take(casinoChoiceWithSalt, 1)
48+ let playerWins = if (if (if (if (if (if ((s >= 1))
49+ then (take(drop(playerChoice, 0), 1) == casinoChoice)
50+ else false)
51+ then true
52+ else if ((s >= 2))
53+ then (take(drop(playerChoice, 1), 1) == casinoChoice)
54+ else false)
55+ then true
56+ else if ((s >= 3))
57+ then (take(drop(playerChoice, 2), 1) == casinoChoice)
58+ else false)
59+ then true
60+ else if ((s >= 4))
61+ then (take(drop(playerChoice, 3), 1) == casinoChoice)
62+ else false)
63+ then true
64+ else if ((s >= 5))
65+ then (take(drop(playerChoice, 4), 1) == casinoChoice)
66+ else false)
67+ then true
68+ else if ((s >= 6))
69+ then (take(drop(playerChoice, 5), 1) == casinoChoice)
70+ else false
71+ if (if ((payout.recipient == (if (playerWins)
72+ then player
73+ else casino)))
74+ then (size(playerChoice) == 6)
75+ else false)
76+ then (sha256(casinoChoiceWithSalt) == casinoChoiceHash)
77+ else false
78+ }
79+ else (payout.recipient == player)
80+ else false
81+ case _ =>
82+ err
83+ }
84+ }
85+ else false
86+ case _ =>
87+ err
88+ }
89+ else false

github/deemru/w8io/169f3d6 
16.48 ms