tx · 7yKxieYrxqc3Up5R5pUgvGwQScP2V3v92sn4DWRw5YSc

3N8GJgmMBsrwhn6uQstYAmqZBLuupZEGXr9:  -0.01400000 Waves

2019.07.27 14:32 [604409] smart account 3N8GJgmMBsrwhn6uQstYAmqZBLuupZEGXr9 > SELF 0.00000000 Waves

{ "type": 13, "id": "7yKxieYrxqc3Up5R5pUgvGwQScP2V3v92sn4DWRw5YSc", "fee": 1400000, "feeAssetId": null, "timestamp": 1564227112854, "version": 1, "sender": "3N8GJgmMBsrwhn6uQstYAmqZBLuupZEGXr9", "senderPublicKey": "BUuYfkh9hHixwVUQvqzkLkLbWrQYnWpJ8FXVjZUPxBcm", "proofs": [ "2LZYVsqNezTJoN5ssQ57GnPn1dWknusHachhAT5eyAtJp8Y8wp7jrM4vbQUfAJjn7cQhpHmFwSJ3e8tHi7uurNPm" ], "script": "base64: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", "chainId": 84, "height": 604409, "spentComplexity": 0 } View: original | compacted Prev: Nc3xdJT4g2khrsjbxsH9apx6asU6jxBuj9uFaH9GDbt Next: HofZrQDH7ewiwsZGWm7LJzdCLUEL7G5LBKtNUAUMYqNn Diff:
OldNewDifferences
1717 else if ((payment.amount > MaxBet))
1818 then throw(("Payment should be less than " + toString(MaxBet)))
1919 else {
20- let rounds = toBase58String(inv.caller.bytes)
20+ let player = toBase58String(inv.caller.bytes)
2121 let randhash = randomizer(inv)
22- let hash = (toInt(randhash) % 1000)
22+ let hash = toInt(randhash)
23+ let timestamp = toString(lastBlock.timestamp)
2324 if ((10 > (toInt(randhash) % 1000)))
24- then ScriptResult(WriteSet([DataEntry("Win x100", hash)]), TransferSet([ScriptTransfer(inv.caller, ((payment.amount * 1900) / 100), unit)]))
25- else if ((500 > (toInt(randhash) % 1000)))
26- then ScriptResult(WriteSet([DataEntry("Win", hash)]), TransferSet([ScriptTransfer(inv.caller, ((payment.amount * 190) / 100), unit)]))
27- else ScriptResult(WriteSet([DataEntry("Loos", hash)]), TransferSet(nil))
25+ then ScriptResult(WriteSet([DataEntry(("Win_777_" + timestamp), player)]), TransferSet([ScriptTransfer(inv.caller, ((payment.amount * 9900) / 100), unit)]))
26+ else if ((50 > (toInt(randhash) % 1000)))
27+ then ScriptResult(WriteSet([DataEntry(("Win_666_" + timestamp), player)]), TransferSet([ScriptTransfer(inv.caller, ((payment.amount * 1900) / 100), unit)]))
28+ else if ((100 > (toInt(randhash) % 1000)))
29+ then ScriptResult(WriteSet([DataEntry(("Win_555_" + timestamp), player)]), TransferSet([ScriptTransfer(inv.caller, ((payment.amount * 950) / 100), unit)]))
30+ else if ((200 > (toInt(randhash) % 1000)))
31+ then ScriptResult(WriteSet([DataEntry(("Win_444_" + timestamp), player)]), TransferSet([ScriptTransfer(inv.caller, ((payment.amount * 475) / 100), unit)]))
32+ else if ((350 > (toInt(randhash) % 1000)))
33+ then ScriptResult(WriteSet([DataEntry(("Win_333_" + timestamp), player)]), TransferSet([ScriptTransfer(inv.caller, ((payment.amount * 270) / 100), unit)]))
34+ else if ((500 > (toInt(randhash) % 1000)))
35+ then ScriptResult(WriteSet([DataEntry(("Win_111_" + timestamp), player)]), TransferSet([ScriptTransfer(inv.caller, ((payment.amount * 190) / 100), unit)]))
36+ else ScriptResult(WriteSet([DataEntry("Loos", player)]), TransferSet(nil))
2837 }
2938 }
3039
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func randomizer (inv) = {
55 let rand = ((((inv.transactionId + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
66 sha256(rand)
77 }
88
99
1010 func startLotto (inv) = {
1111 let MaxBet = (wavesBalance(this) / 100)
1212 let payment = extract(inv.payment)
1313 if (!(isDefined(inv.payment)))
1414 then throw("Should be with Payment in Waves")
1515 else if (isDefined(payment.assetId))
1616 then throw("Payment should be in Waves")
1717 else if ((payment.amount > MaxBet))
1818 then throw(("Payment should be less than " + toString(MaxBet)))
1919 else {
20- let rounds = toBase58String(inv.caller.bytes)
20+ let player = toBase58String(inv.caller.bytes)
2121 let randhash = randomizer(inv)
22- let hash = (toInt(randhash) % 1000)
22+ let hash = toInt(randhash)
23+ let timestamp = toString(lastBlock.timestamp)
2324 if ((10 > (toInt(randhash) % 1000)))
24- then ScriptResult(WriteSet([DataEntry("Win x100", hash)]), TransferSet([ScriptTransfer(inv.caller, ((payment.amount * 1900) / 100), unit)]))
25- else if ((500 > (toInt(randhash) % 1000)))
26- then ScriptResult(WriteSet([DataEntry("Win", hash)]), TransferSet([ScriptTransfer(inv.caller, ((payment.amount * 190) / 100), unit)]))
27- else ScriptResult(WriteSet([DataEntry("Loos", hash)]), TransferSet(nil))
25+ then ScriptResult(WriteSet([DataEntry(("Win_777_" + timestamp), player)]), TransferSet([ScriptTransfer(inv.caller, ((payment.amount * 9900) / 100), unit)]))
26+ else if ((50 > (toInt(randhash) % 1000)))
27+ then ScriptResult(WriteSet([DataEntry(("Win_666_" + timestamp), player)]), TransferSet([ScriptTransfer(inv.caller, ((payment.amount * 1900) / 100), unit)]))
28+ else if ((100 > (toInt(randhash) % 1000)))
29+ then ScriptResult(WriteSet([DataEntry(("Win_555_" + timestamp), player)]), TransferSet([ScriptTransfer(inv.caller, ((payment.amount * 950) / 100), unit)]))
30+ else if ((200 > (toInt(randhash) % 1000)))
31+ then ScriptResult(WriteSet([DataEntry(("Win_444_" + timestamp), player)]), TransferSet([ScriptTransfer(inv.caller, ((payment.amount * 475) / 100), unit)]))
32+ else if ((350 > (toInt(randhash) % 1000)))
33+ then ScriptResult(WriteSet([DataEntry(("Win_333_" + timestamp), player)]), TransferSet([ScriptTransfer(inv.caller, ((payment.amount * 270) / 100), unit)]))
34+ else if ((500 > (toInt(randhash) % 1000)))
35+ then ScriptResult(WriteSet([DataEntry(("Win_111_" + timestamp), player)]), TransferSet([ScriptTransfer(inv.caller, ((payment.amount * 190) / 100), unit)]))
36+ else ScriptResult(WriteSet([DataEntry("Loos", player)]), TransferSet(nil))
2837 }
2938 }
3039
3140
3241 @Callable(inv)
3342 func lotto () = startLotto(inv)
3443
3544

github/deemru/w8io/169f3d6 
28.75 ms