tx · EWhxDghjf4nub9VR5wui8HgjXU49HmxQw9uYPpveuS4h

3NBYuiC6eFv2jT8DptUfiMDTbhXgFvn7NcK:  -0.04000000 Waves

2020.10.30 00:41 [1242483] smart account 3NBYuiC6eFv2jT8DptUfiMDTbhXgFvn7NcK > SELF 0.00000000 Waves

{ "type": 13, "id": "EWhxDghjf4nub9VR5wui8HgjXU49HmxQw9uYPpveuS4h", "fee": 4000000, "feeAssetId": null, "timestamp": 1604007744046, "version": 2, "chainId": 84, "sender": "3NBYuiC6eFv2jT8DptUfiMDTbhXgFvn7NcK", "senderPublicKey": "BN5UNNa95ZrPJ8JGf9eweh6CLRZ618MuRsvqmxPX1yTR", "proofs": [ "2TuBGDWgNxRkhe9sWQFX41jD4bHaeJsHQ8cTrbPRvW2japmcddrw6tSFVnkUSCxw9BUKCgTB5NSzHGkZvddfBjAc" ], "script": "base64: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", "height": 1242483, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7LuiNFT1zC7SZmC16D4qvEJzBk6mqpU8zCFpWVJABCnB Next: JE3n4hdNK4yo2vwwzeGzmMSAZAsNDugyqsAuR35cq4y1 Diff:
OldNewDifferences
3939
4040
4141 @Callable(i)
42-func guessAnswer (Guess) = if ((getStringByKey("hash_awnser") == toBase64String(toBytes(Guess))))
42+func guessAnswer (Guess) = if ((getStringByKey("hash_answer") == toBase64String(toBytes(Guess))))
4343 then {
4444 let reward = getIntegerByKey((toBase64String(toBytes(Guess)) + "_reward"))
4545 ScriptResult(WriteSet([DataEntry("correct_answer", Guess), DataEntry("winner", toString(i.caller)), DataEntry((toBase64String(toBytes(Guess)) + "_reward"), 0)]), TransferSet([ScriptTransfer(i.caller, reward, unit)]))
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), DataEntry("created_height", height)])
3737 }
3838
3939
4040
4141 @Callable(i)
42-func guessAnswer (Guess) = if ((getStringByKey("hash_awnser") == toBase64String(toBytes(Guess))))
42+func guessAnswer (Guess) = if ((getStringByKey("hash_answer") == toBase64String(toBytes(Guess))))
4343 then {
4444 let reward = getIntegerByKey((toBase64String(toBytes(Guess)) + "_reward"))
4545 ScriptResult(WriteSet([DataEntry("correct_answer", Guess), DataEntry("winner", toString(i.caller)), DataEntry((toBase64String(toBytes(Guess)) + "_reward"), 0)]), TransferSet([ScriptTransfer(i.caller, reward, unit)]))
4646 }
4747 else WriteSet([DataEntry(((("wrong_guess_" + toString(i.caller)) + "_") + toBase58String(i.transactionId)), Guess)])
4848
4949

github/deemru/w8io/026f985 
21.05 ms