tx · DNUpuYH3XLS7VppsBSopAiGHodbbzbofzuC5BgzXzzkZ

3N7Gg64FJ3ESaqn41qu1ete7zmzbmoP1AAV:  -0.01000000 Waves

2021.12.08 16:36 [1825344] smart account 3N7Gg64FJ3ESaqn41qu1ete7zmzbmoP1AAV > SELF 0.00000000 Waves

{ "type": 13, "id": "DNUpuYH3XLS7VppsBSopAiGHodbbzbofzuC5BgzXzzkZ", "fee": 1000000, "feeAssetId": null, "timestamp": 1638970559849, "version": 2, "chainId": 84, "sender": "3N7Gg64FJ3ESaqn41qu1ete7zmzbmoP1AAV", "senderPublicKey": "5amLtMwixiEesBDKPy9dkFWntG2fNxhTs5n69JbQE9F7", "proofs": [ "2Bh1r1SocbgU8Z76EAGecBmYedibiG2JML9A3gvCo6B8pxudmqYWAjPR7rkYwHYGsT8xywHwTZaVc8WUmLckJunK" ], "script": "base64:AAIFAAAAAAAAAA0IAhIECgIIARIDCgEIAAAAAQAAAAAFc2VwYXICAAAAAXwAAAACAAAAAWkBAAAADHNldGNoYWxsZW5nZQAAAAIAAAAEc2lkZQAAAAVzdGFrZQMDCQAAAAAAAAIFAAAABHNpZGUCAAAABWJsYWNrBgkAAAAAAAACBQAAAARzaWRlAgAAAAV3aGl0ZQQAAAADcG10AwkAAAAAAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAACQAAAgAAAAECAAAAFW11c3Qgc3Rha2Ugc29tZSB3YXZlcwMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAAVd29ya3Mgd2l0aCB3YXZlcyBvbmx5BAAAAAxjYWxsZXJBZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAICAAAACmNoYWxsZW5nZS0FAAAADGNhbGxlckFkcmVzcwkABLkAAAACCQAETAAAAAICAAAACGF3YWl0aW5nCQAETAAAAAIFAAAABHNpZGUJAARMAAAAAgkAAaQAAAABCAUAAAADcG10AAAABmFtb3VudAUAAAADbmlsBQAAAAVzZXBhcgUAAAADbmlsCQAAAgAAAAECAAAADGludmFsaWQgc2lkZQAAAAFpAQAAAA51bnNldGNoYWxsZW5nZQAAAAEAAAALY2hhbGxlbmRnZXIEAAAADGNhbGxlckFkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzCgEAAAAMZ2V0Y2hhbGxlbmdlAAAAAQAAAAtjaGFsbGVuZGdlcgQAAAAHJG1hdGNoMAkABCIAAAABBQAAAAtjaGFsbGVuZGdlcgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwCQEAAAARQGV4dHJOYXRpdmUoMTA1OCkAAAABBQAAAAtjaGFsbGVuZGdlcgIAAAAABAAAAAljaGFsbGVuZ2UJAAS1AAAAAgkBAAAADGdldGNoYWxsZW5nZQAAAAEFAAAADGNhbGxlckFkcmVzcwUAAAAFc2VwYXIDCQAAAAAAAAIJAAGQAAAAAQUAAAAJY2hhbGxlbmdlAAAAAAAAAAABAwkAAAAAAAACCQABkQAAAAIFAAAACWNoYWxsZW5nZQAAAAAAAAAAAAIAAAAIYXdhaXRpbmcJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACAgAAAApjaGFsbGVuZ2UtBQAAAAxjYWxsZXJBZHJlc3MJAAS5AAAAAgkABEwAAAACAgAAAAV1bnNldAkABEwAAAACCQABkQAAAAIFAAAACWNoYWxsZW5nZQAAAAAAAAAAAQkABEwAAAACCQABkQAAAAIFAAAACWNoYWxsZW5nZQAAAAAAAAAAAgUAAAADbmlsBQAAAAVzZXBhcgUAAAADbmlsCQAAAgAAAAECAAAAFGNoYWxsZW5nZSBub3QgZXhpc3RzCQAAAgAAAAECAAAAFGNoYWxsZW5nZSBub3QgZXhpc3RzAAAAAGTEkP8=", "height": 1825344, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9mmVcWFQCAvvrCFxdxHMaBhap8EcyRWPM7ev5s6C9msd Next: 43QB5RjGWZtfzu51SMmd3Xi2A8iRfob7tj3vEaZBfRA5 Diff:
OldNewDifferences
1515 then throw("works with waves only")
1616 else {
1717 let callerAdress = toBase58String(i.caller.bytes)
18-[StringEntry(callerAdress, makeString([side, toString(pmt.amount)], separ))]
18+[StringEntry(("challenge-" + callerAdress), makeString(["awaiting", side, toString(pmt.amount)], separ))]
1919 }
2020 }
2121 else throw("invalid side")
22+
23+
24+
25+@Callable(i)
26+func unsetchallenge (challendger) = {
27+ let callerAdress = toBase58String(i.caller.bytes)
28+ func getchallenge (challendger) = match getString(challendger) {
29+ case a: String =>
30+ getStringValue(challendger)
31+ case _ =>
32+ ""
33+ }
34+
35+ let challenge = split(getchallenge(callerAdress), separ)
36+ if ((size(challenge) == 1))
37+ then if ((challenge[0] == "awaiting"))
38+ then [StringEntry(("challenge-" + callerAdress), makeString(["unset", challenge[1], challenge[2]], separ))]
39+ else throw("challenge not exists")
40+ else throw("challenge not exists")
41+ }
2242
2343
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let separ = "|"
55
66 @Callable(i)
77 func setchallenge (side,stake) = if (if ((side == "black"))
88 then true
99 else (side == "white"))
1010 then {
1111 let pmt = if ((size(i.payments) == 1))
1212 then i.payments[0]
1313 else throw("must stake some waves")
1414 if (isDefined(pmt.assetId))
1515 then throw("works with waves only")
1616 else {
1717 let callerAdress = toBase58String(i.caller.bytes)
18-[StringEntry(callerAdress, makeString([side, toString(pmt.amount)], separ))]
18+[StringEntry(("challenge-" + callerAdress), makeString(["awaiting", side, toString(pmt.amount)], separ))]
1919 }
2020 }
2121 else throw("invalid side")
22+
23+
24+
25+@Callable(i)
26+func unsetchallenge (challendger) = {
27+ let callerAdress = toBase58String(i.caller.bytes)
28+ func getchallenge (challendger) = match getString(challendger) {
29+ case a: String =>
30+ getStringValue(challendger)
31+ case _ =>
32+ ""
33+ }
34+
35+ let challenge = split(getchallenge(callerAdress), separ)
36+ if ((size(challenge) == 1))
37+ then if ((challenge[0] == "awaiting"))
38+ then [StringEntry(("challenge-" + callerAdress), makeString(["unset", challenge[1], challenge[2]], separ))]
39+ else throw("challenge not exists")
40+ else throw("challenge not exists")
41+ }
2242
2343

github/deemru/w8io/c3f4982 
39.53 ms