tx · GcspzLQFRtysc3DJLEhoa8T1aMAouXnRBKvsugMiruut

3MxwtQTF1cHZBzHdVMmfdeeTJAoF58usNzC:  -0.04000000 Waves

2019.11.25 23:43 [781288] smart account 3MxwtQTF1cHZBzHdVMmfdeeTJAoF58usNzC > SELF 0.00000000 Waves

{ "type": 13, "id": "GcspzLQFRtysc3DJLEhoa8T1aMAouXnRBKvsugMiruut", "fee": 4000000, "feeAssetId": null, "timestamp": 1574714699385, "version": 1, "sender": "3MxwtQTF1cHZBzHdVMmfdeeTJAoF58usNzC", "senderPublicKey": "AtB1c3RaAbi5bMXf4twdpm182Pcj5tgADufjhfxjt5YP", "proofs": [ "42y18ZPUWP5Hg1NJwe9f9wbBaZLD8tPDXFqLUjvjXhN2pRqmssanJb95NxDeGQ24CHbaGHvqV5XvHDnbhEo6v4xD" ], "script": "base64:AAIDAAAAAAAAAAcIARIDCgEIAAAAAgAAAAALb3duZXJQdWJLZXkBAAAAIJLVH1aKS7GiLdMgBtKumrDgMoaT5BFPrNSzSjm7iLMkAQAAAApyYW5kb21pemVyAAAAAQAAAANpbnYEAAAABHJhbmQJAABqAAAAAgkABLEAAAABCQAB9wAAAAEJAADLAAAAAgkAAMsAAAACCQAAywAAAAIJAADLAAAAAggFAAAAA2ludgAAAA10cmFuc2FjdGlvbklkCAUAAAADaW52AAAAD2NhbGxlclB1YmxpY0tleQgFAAAACWxhc3RCbG9jawAAABNnZW5lcmF0aW9uU2lnbmF0dXJlCQABmgAAAAEIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wCQABmgAAAAEIBQAAAAlsYXN0QmxvY2sAAAAGaGVpZ2h0AAAAAAAAAAAGAwkAAGYAAAACAAAAAAAAAAAABQAAAARyYW5kCQAAZAAAAAIJAABoAAAAAgD//////////wUAAAAEcmFuZAAAAAAAAAAAAQkAAGQAAAACBQAAAARyYW5kAAAAAAAAAAABAAAAAQAAAANpbnYBAAAABHRlc3QAAAABAAAABmNob2lzZQQAAAANcGxheWVyQWRkcmVzcwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQgFAAAAA2ludgAAAA9jYWxsZXJQdWJsaWNLZXkEAAAABndpbkFtdAAAAAAAAJiWgAQAAAAEcmFuZAkBAAAACnJhbmRvbWl6ZXIAAAABBQAAAANpbnYEAAAAB2dhbWVLZXkJAAJYAAAAAQgFAAAAA2ludgAAAA10cmFuc2FjdGlvbklkBAAAAAhnYW1lRGF0YQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAANpbnYAAAAPY2FsbGVyUHVibGljS2V5AgAAAAFfBQAAAAZjaG9pc2UCAAAAAV8JAAGkAAAAAQUAAAAEcmFuZAMJAQAAAAIhPQAAAAIFAAAABHJhbmQJAAS2AAAAAQUAAAAGY2hvaXNlCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAdnYW1lS2V5CQABLAAAAAIFAAAACGdhbWVEYXRhAgAAAAZfTE9PU0UFAAAAA25pbAkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAB2dhbWVLZXkJAAEsAAAAAgUAAAAIZ2FtZURhdGECAAAABF9XSU4FAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAA1wbGF5ZXJBZGRyZXNzBQAAAAZ3aW5BbXQFAAAABHVuaXQFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABRTZXRTY3JpcHRUcmFuc2FjdGlvbgQAAAABdAUAAAAHJG1hdGNoMAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAFAAAAC293bmVyUHViS2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABdJbnZva2VTY3JpcHRUcmFuc2FjdGlvbgQAAAABYwUAAAAHJG1hdGNoMAYDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0RhdGFUcmFuc2FjdGlvbgQAAAABZAUAAAAHJG1hdGNoMAYH0q8pVA==", "chainId": 84, "height": 781288, "spentComplexity": 0 } View: original | compacted Prev: FgYbpRd6TZne9TrTPq56uQuStAkKCH4rtZKVkz7NGVZa Next: 3B9cKUJHuAkiqgSZqEuXmJf3G3mZ9e5vL35AMTJJmUyb Diff:
OldNewDifferences
1717 let winAmt = 10000000
1818 let rand = randomizer(inv)
1919 let gameKey = toBase58String(inv.transactionId)
20- let gameData = ((((toBase58String(inv.callerPublicKey) + "_") + toString(choise)) + "_") + toString(rand))
21- if ((rand != choise))
20+ let gameData = ((((toBase58String(inv.callerPublicKey) + "_") + choise) + "_") + toString(rand))
21+ if ((rand != parseInt(choise)))
2222 then WriteSet([DataEntry(gameKey, (gameData + "_LOOSE"))])
2323 else ScriptResult(WriteSet([DataEntry(gameKey, (gameData + "_WIN"))]), TransferSet([ScriptTransfer(playerAddress, winAmt, unit)]))
2424 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let ownerPubKey = base58'AtB1c3RaAbi5bMXf4twdpm182Pcj5tgADufjhfxjt5YP'
55
66 func randomizer (inv) = {
77 let rand = (toInt(sha256(((((inv.transactionId + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height)))) % 6)
88 if ((0 > rand))
99 then ((-1 * rand) + 1)
1010 else (rand + 1)
1111 }
1212
1313
1414 @Callable(inv)
1515 func test (choise) = {
1616 let playerAddress = addressFromPublicKey(inv.callerPublicKey)
1717 let winAmt = 10000000
1818 let rand = randomizer(inv)
1919 let gameKey = toBase58String(inv.transactionId)
20- let gameData = ((((toBase58String(inv.callerPublicKey) + "_") + toString(choise)) + "_") + toString(rand))
21- if ((rand != choise))
20+ let gameData = ((((toBase58String(inv.callerPublicKey) + "_") + choise) + "_") + toString(rand))
21+ if ((rand != parseInt(choise)))
2222 then WriteSet([DataEntry(gameKey, (gameData + "_LOOSE"))])
2323 else ScriptResult(WriteSet([DataEntry(gameKey, (gameData + "_WIN"))]), TransferSet([ScriptTransfer(playerAddress, winAmt, unit)]))
2424 }
2525
2626
2727 @Verifier(tx)
2828 func verify () = match tx {
2929 case t: SetScriptTransaction =>
3030 sigVerify(tx.bodyBytes, tx.proofs[0], ownerPubKey)
3131 case c: InvokeScriptTransaction =>
3232 true
3333 case d: DataTransaction =>
3434 true
3535 case _ =>
3636 false
3737 }
3838

github/deemru/w8io/873ac7e 
43.92 ms