tx · DRyXAq4JA5fnrv16xUc1vE2iK9rqixipUqg1ZWgM3Pa7

3MqvjXotwuiF933mjQm5G9v1ER6BLhakd3f:  -0.04000000 Waves

2020.10.30 22:06 [1243758] smart account 3MqvjXotwuiF933mjQm5G9v1ER6BLhakd3f > SELF 0.00000000 Waves

{ "type": 13, "id": "DRyXAq4JA5fnrv16xUc1vE2iK9rqixipUqg1ZWgM3Pa7", "fee": 4000000, "feeAssetId": null, "timestamp": 1604084826759, "version": 2, "chainId": 84, "sender": "3MqvjXotwuiF933mjQm5G9v1ER6BLhakd3f", "senderPublicKey": "7KWZVWSeHmn8VUNXWRRhrbjYaEqMnyWqk7UuEa9uMTW8", "proofs": [ "4JjZBnnvRbarrRkNvgRDVG1bshdWpVZABvdDZmZUuRa1eXpPwsrGdE6jQ4vnDmZf2RLV4JMev1jbzBV1AcbghZQY" ], "script": "base64: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", "height": 1243758, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9HQULWEHPdv5xqdv22QwgmLeh6PTgS8z559V1pzqb16D Next: none Diff:
OldNewDifferences
4646 else if ((Answer == toBase64String(toBytes(Guess))))
4747 then {
4848 let reward = getIntegerByKey((toBase64String(toBytes(Guess)) + "_reward"))
49- ScriptResult(WriteSet([DataEntry("correct_answer", Guess), DataEntry("winner", toString(i.caller)), DataEntry((toBase64String(toBytes(Guess)) + "_reward"), 0)]), TransferSet([ScriptTransfer(i.caller, reward, unit)]))
49+ ScriptResult(WriteSet([DataEntry("correct_answer", Guess), DataEntry("winner", toString(i.caller)), DataEntry((toBase64String(toBytes(Guess)) + "_reward"), (reward - reward))]), TransferSet([ScriptTransfer(i.caller, reward, unit)]))
5050 }
5151 else WriteSet([DataEntry(((((("fail_" + Answer) + "_") + toString(i.caller)) + "_") + toBase58String(i.transactionId)), Guess)])
5252 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func isOwner (address) = (address == this)
55
66
77 func getStringByKey (key) = {
88 let val = match getString(this, key) {
99 case b: String =>
1010 b
1111 case _ =>
1212 ""
1313 }
1414 val
1515 }
1616
1717
1818 func getIntegerByKey (key) = {
1919 let val = match getInteger(this, key) {
2020 case b: Int =>
2121 b
2222 case _ =>
2323 0
2424 }
2525 val
2626 }
2727
2828
2929 @Callable(i)
3030 func addAnswer (Answer) = if (!(isOwner(i.caller)))
3131 then throw("access only by the contract owner")
3232 else if ((getIntegerByKey((Answer + "_reward")) != 0))
3333 then throw("the contest is already taken")
3434 else {
3535 let reward = extract(i.payment).amount
3636 WriteSet([DataEntry("hash_answer", Answer), DataEntry((Answer + "_reward"), reward)])
3737 }
3838
3939
4040
4141 @Callable(i)
4242 func guessAnswer (Guess) = {
4343 let Answer = getStringByKey("hash_answer")
4444 if ((getIntegerByKey((Answer + "_reward")) == 0))
4545 then throw("sorry, game over")
4646 else if ((Answer == toBase64String(toBytes(Guess))))
4747 then {
4848 let reward = getIntegerByKey((toBase64String(toBytes(Guess)) + "_reward"))
49- ScriptResult(WriteSet([DataEntry("correct_answer", Guess), DataEntry("winner", toString(i.caller)), DataEntry((toBase64String(toBytes(Guess)) + "_reward"), 0)]), TransferSet([ScriptTransfer(i.caller, reward, unit)]))
49+ ScriptResult(WriteSet([DataEntry("correct_answer", Guess), DataEntry("winner", toString(i.caller)), DataEntry((toBase64String(toBytes(Guess)) + "_reward"), (reward - reward))]), TransferSet([ScriptTransfer(i.caller, reward, unit)]))
5050 }
5151 else WriteSet([DataEntry(((((("fail_" + Answer) + "_") + toString(i.caller)) + "_") + toBase58String(i.transactionId)), Guess)])
5252 }
5353
5454
5555 @Verifier(tx)
5656 func standardVerifier () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
5757

github/deemru/w8io/169f3d6 
26.14 ms