tx · 93kVRN4X4adLVYAvAZwaYCAuyzTBFn9kDzKNVJzsuH6M

3N8GJgmMBsrwhn6uQstYAmqZBLuupZEGXr9:  -0.01400000 Waves

2019.07.27 16:07 [604511] smart account 3N8GJgmMBsrwhn6uQstYAmqZBLuupZEGXr9 > SELF 0.00000000 Waves

{ "type": 13, "id": "93kVRN4X4adLVYAvAZwaYCAuyzTBFn9kDzKNVJzsuH6M", "fee": 1400000, "feeAssetId": null, "timestamp": 1564232864861, "version": 1, "sender": "3N8GJgmMBsrwhn6uQstYAmqZBLuupZEGXr9", "senderPublicKey": "BUuYfkh9hHixwVUQvqzkLkLbWrQYnWpJ8FXVjZUPxBcm", "proofs": [ "5tUZD6sZZ2jBKKuUiYuiUqd8pxzxgt5Y6jJWN8ZrVENhjPKWPZFHvLkaNLWUajnjgPeDFwSNcAEUTGmV8SbC5n9Q" ], "script": "base64:AAIDAAAAAAAAAAAAAAAFAAAAAAlzbG90Q291bnQAAAAAAAAAAGQAAAAABXNsb3RzCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAEzCQAETAAAAAICAAAAATMJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAEzCQAETAAAAAICAAAAATMJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAEzCQAETAAAAAICAAAAATMJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAEzCQAETAAAAAICAAAAATMJAARMAAAAAgIAAAABNAkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATQJAARMAAAAAgIAAAABNAkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATQJAARMAAAAAgIAAAABNQkABEwAAAACAgAAAAE1CQAETAAAAAICAAAAATUFAAAAA25pbAEAAAAKcmFuZG9taXplcgAAAAEAAAADaW52BAAAAARyYW5kCQAAywAAAAIJAADLAAAAAgkAAMsAAAACCQAAywAAAAIIBQAAAANpbnYAAAANdHJhbnNhY3Rpb25JZAgFAAAAA2ludgAAAA9jYWxsZXJQdWJsaWNLZXkIBQAAAAlsYXN0QmxvY2sAAAATZ2VuZXJhdGlvblNpZ25hdHVyZQkAAZoAAAABCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAkAAZoAAAABCAUAAAAJbGFzdEJsb2NrAAAABmhlaWdodAkAAfcAAAABBQAAAARyYW5kAQAAAAdnZXRTbG90AAAAAQAAAANpbnYEAAAABGhhc2gJAAH3AAAAAQkAAMsAAAACCQAAywAAAAIJAADLAAAAAgkAAMsAAAACCAUAAAADaW52AAAADXRyYW5zYWN0aW9uSWQIBQAAAANpbnYAAAAPY2FsbGVyUHVibGljS2V5CAUAAAAJbGFzdEJsb2NrAAAAE2dlbmVyYXRpb25TaWduYXR1cmUJAAGaAAAAAQgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAJAAGaAAAAAQgFAAAACWxhc3RCbG9jawAAAAZoZWlnaHQEAAAABWluZGV4CQAEsQAAAAEFAAAABGhhc2gJAAGRAAAAAgUAAAAFc2xvdHMJAABqAAAAAgUAAAAFaW5kZXgFAAAACXNsb3RDb3VudAEAAAAKc3RhcnRMb3R0bwAAAAEAAAADaW52BAAAAAZNYXhCZXQJAABpAAAAAgkBAAAADHdhdmVzQmFsYW5jZQAAAAEFAAAABHRoaXMAAAAAAAAAAGQEAAAAB3BheW1lbnQJAQAAAAdleHRyYWN0AAAAAQgFAAAAA2ludgAAAAdwYXltZW50AwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA2ludgAAAAdwYXltZW50CQAAAgAAAAECAAAAH1Nob3VsZCBiZSB3aXRoIFBheW1lbnQgaW4gV2F2ZXMDCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAkAAAIAAAABAgAAABpQYXltZW50IHNob3VsZCBiZSBpbiBXYXZlcwMJAABmAAAAAggFAAAAB3BheW1lbnQAAAAGYW1vdW50BQAAAAZNYXhCZXQJAAACAAAAAQkAASwAAAACAgAAABxQYXltZW50IHNob3VsZCBiZSBsZXNzIHRoYW4gCQABpAAAAAEFAAAABk1heEJldAQAAAAGcGxheWVyCQACWAAAAAEICAUAAAADaW52AAAABmNhbGxlcgAAAAVieXRlcwQAAAAIcmFuZGhhc2gJAQAAAApyYW5kb21pemVyAAAAAQUAAAADaW52BAAAAAVzbG90MQkBAAAAB2dldFNsb3QAAAABBQAAAANpbnYEAAAABXNsb3QyCQEAAAAHZ2V0U2xvdAAAAAEFAAAAA2ludgQAAAAFc2xvdDMJAQAAAAdnZXRTbG90AAAAAQUAAAADaW52BAAAAAl0aW1lc3RhbXAJAAGkAAAAAQgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXADCQAAZgAAAAIAAAAAAAAAAfQJAABqAAAAAgkABLEAAAABBQAAAAhyYW5kaGFzaAAAAAAAAAAD6AkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhXaW5fMTExXwUAAAAJdGltZXN0YW1wAgAAAAFfBQAAAAVzbG90MQUAAAAFc2xvdDIFAAAABXNsb3QzBQAAAAVzbG90MQUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAANpbnYAAAAGY2FsbGVyCQAAaQAAAAIJAABoAAAAAggFAAAAB3BheW1lbnQAAAAGYW1vdW50AAAAAAAAAAC+AAAAAAAAAABkBQAAAAR1bml0BQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAARMb29zBQAAAAZwbGF5ZXIFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQUAAAADbmlsAAAAAQAAAANpbnYBAAAABWxvdHRvAAAAAAkBAAAACnN0YXJ0TG90dG8AAAABBQAAAANpbnYAAAAAp//rKQ==", "chainId": 84, "height": 604511, "spentComplexity": 0 } View: original | compacted Prev: HofZrQDH7ewiwsZGWm7LJzdCLUEL7G5LBKtNUAUMYqNn Next: GVbVvg9H1zsJ7PMJM6cAt249eATSgf8MyhcFc8R1CK42 Diff:
OldNewDifferences
3030 else {
3131 let player = toBase58String(inv.caller.bytes)
3232 let randhash = randomizer(inv)
33- let slot = getSlot(inv)
33+ let slot1 = getSlot(inv)
34+ let slot2 = getSlot(inv)
35+ let slot3 = getSlot(inv)
3436 let timestamp = toString(lastBlock.timestamp)
3537 if ((500 > (toInt(randhash) % 1000)))
36- then ScriptResult(WriteSet([DataEntry(("Win_111_" + timestamp), slot)]), TransferSet([ScriptTransfer(inv.caller, ((payment.amount * 190) / 100), unit)]))
38+ then ScriptResult(WriteSet([DataEntry(((((("Win_111_" + timestamp) + "_") + slot1) + slot2) + slot3), slot1)]), TransferSet([ScriptTransfer(inv.caller, ((payment.amount * 190) / 100), unit)]))
3739 else ScriptResult(WriteSet([DataEntry("Loos", player)]), TransferSet(nil))
3840 }
3941 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let slotCount = 100
55
66 let slots = ["1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "3", "3", "3", "3", "3", "3", "3", "3", "3", "3", "3", "3", "4", "4", "4", "4", "4", "4", "5", "5", "5"]
77
88 func randomizer (inv) = {
99 let rand = ((((inv.transactionId + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
1010 sha256(rand)
1111 }
1212
1313
1414 func getSlot (inv) = {
1515 let hash = sha256(((((inv.transactionId + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height)))
1616 let index = toInt(hash)
1717 slots[(index % slotCount)]
1818 }
1919
2020
2121 func startLotto (inv) = {
2222 let MaxBet = (wavesBalance(this) / 100)
2323 let payment = extract(inv.payment)
2424 if (!(isDefined(inv.payment)))
2525 then throw("Should be with Payment in Waves")
2626 else if (isDefined(payment.assetId))
2727 then throw("Payment should be in Waves")
2828 else if ((payment.amount > MaxBet))
2929 then throw(("Payment should be less than " + toString(MaxBet)))
3030 else {
3131 let player = toBase58String(inv.caller.bytes)
3232 let randhash = randomizer(inv)
33- let slot = getSlot(inv)
33+ let slot1 = getSlot(inv)
34+ let slot2 = getSlot(inv)
35+ let slot3 = getSlot(inv)
3436 let timestamp = toString(lastBlock.timestamp)
3537 if ((500 > (toInt(randhash) % 1000)))
36- then ScriptResult(WriteSet([DataEntry(("Win_111_" + timestamp), slot)]), TransferSet([ScriptTransfer(inv.caller, ((payment.amount * 190) / 100), unit)]))
38+ then ScriptResult(WriteSet([DataEntry(((((("Win_111_" + timestamp) + "_") + slot1) + slot2) + slot3), slot1)]), TransferSet([ScriptTransfer(inv.caller, ((payment.amount * 190) / 100), unit)]))
3739 else ScriptResult(WriteSet([DataEntry("Loos", player)]), TransferSet(nil))
3840 }
3941 }
4042
4143
4244 @Callable(inv)
4345 func lotto () = startLotto(inv)
4446
4547

github/deemru/w8io/c3f4982 
37.30 ms