tx · CRZbMm1J1tvMPPrARFpf7S7SVsDhHAfhkiaVeZpJYp2v

3MxwtQTF1cHZBzHdVMmfdeeTJAoF58usNzC:  -0.01400000 Waves

2019.10.25 13:34 [735544] smart account 3MxwtQTF1cHZBzHdVMmfdeeTJAoF58usNzC > SELF 0.00000000 Waves

{ "type": 13, "id": "CRZbMm1J1tvMPPrARFpf7S7SVsDhHAfhkiaVeZpJYp2v", "fee": 1400000, "feeAssetId": null, "timestamp": 1571999663960, "version": 1, "sender": "3MxwtQTF1cHZBzHdVMmfdeeTJAoF58usNzC", "senderPublicKey": "AtB1c3RaAbi5bMXf4twdpm182Pcj5tgADufjhfxjt5YP", "proofs": [ "5v9sHi4P9PUc3cAkjdmS7F6bbRCy9k2KrG1rsAASCbmEBqmZCR1tE9ejmQVgk5Wtn2F86VZLWxPfjb4zR7N3YEhH" ], "script": "base64:AAIDAAAAAAAAAAcIARIDCgEIAAAAAgAAAAALb3duZXJQdWJLZXkBAAAAIJLVH1aKS7GiLdMgBtKumrDgMoaT5BFPrNSzSjm7iLMkAQAAAApyYW5kb21pemVyAAAAAQAAAANpbnYEAAAABHJhbmQJAABqAAAAAgkABLEAAAABCQAB9wAAAAEJAADLAAAAAgkAAMsAAAACCQAAywAAAAIJAADLAAAAAggFAAAAA2ludgAAAA10cmFuc2FjdGlvbklkCAUAAAADaW52AAAAD2NhbGxlclB1YmxpY0tleQgFAAAACWxhc3RCbG9jawAAABNnZW5lcmF0aW9uU2lnbmF0dXJlCQABmgAAAAEIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wCQABmgAAAAEIBQAAAAlsYXN0QmxvY2sAAAAGaGVpZ2h0AAAAAAAAAAADAwkAAGYAAAACAAAAAAAAAAAABQAAAARyYW5kCQAAZAAAAAIJAABoAAAAAgD//////////wUAAAAEcmFuZAAAAAAAAAAAAQkAAGQAAAACBQAAAARyYW5kAAAAAAAAAAABAAAAAQAAAANpbnYBAAAABHRlc3QAAAABAAAABmNob2lzZQQAAAANcGxheWVyQWRkcmVzcwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQgFAAAAA2ludgAAAA9jYWxsZXJQdWJsaWNLZXkEAAAABndpbkFtdAAAAAAAAJiWgAQAAAACbWUCAAAABnZhbHVlMgQAAAAHZ2FtZUtleQkAAlgAAAABCAUAAAADaW52AAAADXRyYW5zYWN0aW9uSWQEAAAACGdhbWVEYXRhCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAJYAAAAAQgFAAAAA2ludgAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAAS0FAAAABmNob2lzZQIAAAABLQUAAAACbWUDCQEAAAACIT0AAAACBQAAAAJtZQUAAAAGY2hvaXNlCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAdnYW1lS2V5CQEAAAAKcmFuZG9taXplcgAAAAEFAAAAA2ludgUAAAADbmlsCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAHZ2FtZUtleQIAAAADV0lOBQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAANcGxheWVyQWRkcmVzcwUAAAAGd2luQW10BQAAAAR1bml0BQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAUU2V0U2NyaXB0VHJhbnNhY3Rpb24EAAAAAXQFAAAAByRtYXRjaDAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAABQAAAAtvd25lclB1YktleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAXSW52b2tlU2NyaXB0VHJhbnNhY3Rpb24EAAAAAWMFAAAAByRtYXRjaDAGAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAA9EYXRhVHJhbnNhY3Rpb24EAAAAAWQFAAAAByRtYXRjaDAGB+8YRXs=", "chainId": 84, "height": 735544, "spentComplexity": 0 } View: original | compacted Prev: JDy7JFjWs2vZJHFwTHVKwvKDgZVStXKd2mGEvqHSQPJw Next: FgYbpRd6TZne9TrTPq56uQuStAkKCH4rtZKVkz7NGVZa Diff:
OldNewDifferences
44 let ownerPubKey = base58'AtB1c3RaAbi5bMXf4twdpm182Pcj5tgADufjhfxjt5YP'
55
66 func randomizer (inv) = {
7- let last = match getBinary(this, "test") {
8- case s: ByteVector =>
9- s
10- case a: Unit =>
11- base58'2ee4oFDYriWJ9EMeR'
12- case _ =>
13- throw()
14- }
15- let rand = (((((last + inv.transactionId) + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
16- sha256(rand)
7+ let rand = (toInt(sha256(((((inv.transactionId + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height)))) % 3)
8+ if ((0 > rand))
9+ then ((-1 * rand) + 1)
10+ else (rand + 1)
1711 }
1812
1913
2519 let gameKey = toBase58String(inv.transactionId)
2620 let gameData = ((((toBase58String(inv.callerPublicKey) + "-") + choise) + "-") + me)
2721 if ((me != choise))
28- then WriteSet([DataEntry(gameKey, "LOSS")])
22+ then WriteSet([DataEntry(gameKey, randomizer(inv))])
2923 else ScriptResult(WriteSet([DataEntry(gameKey, "WIN")]), TransferSet([ScriptTransfer(playerAddress, winAmt, unit)]))
3024 }
3125
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let ownerPubKey = base58'AtB1c3RaAbi5bMXf4twdpm182Pcj5tgADufjhfxjt5YP'
55
66 func randomizer (inv) = {
7- let last = match getBinary(this, "test") {
8- case s: ByteVector =>
9- s
10- case a: Unit =>
11- base58'2ee4oFDYriWJ9EMeR'
12- case _ =>
13- throw()
14- }
15- let rand = (((((last + inv.transactionId) + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
16- sha256(rand)
7+ let rand = (toInt(sha256(((((inv.transactionId + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height)))) % 3)
8+ if ((0 > rand))
9+ then ((-1 * rand) + 1)
10+ else (rand + 1)
1711 }
1812
1913
2014 @Callable(inv)
2115 func test (choise) = {
2216 let playerAddress = addressFromPublicKey(inv.callerPublicKey)
2317 let winAmt = 10000000
2418 let me = "value2"
2519 let gameKey = toBase58String(inv.transactionId)
2620 let gameData = ((((toBase58String(inv.callerPublicKey) + "-") + choise) + "-") + me)
2721 if ((me != choise))
28- then WriteSet([DataEntry(gameKey, "LOSS")])
22+ then WriteSet([DataEntry(gameKey, randomizer(inv))])
2923 else ScriptResult(WriteSet([DataEntry(gameKey, "WIN")]), TransferSet([ScriptTransfer(playerAddress, winAmt, unit)]))
3024 }
3125
3226
3327 @Verifier(tx)
3428 func verify () = match tx {
3529 case t: SetScriptTransaction =>
3630 sigVerify(tx.bodyBytes, tx.proofs[0], ownerPubKey)
3731 case c: InvokeScriptTransaction =>
3832 true
3933 case d: DataTransaction =>
4034 true
4135 case _ =>
4236 false
4337 }
4438

github/deemru/w8io/873ac7e 
37.82 ms