tx · 94VAvF3VhvH1p1VcGYKdEwYnkVf2149bPHnLgczDz85B 3N7yhdfuW1uodF3D61gCt5neRXuzFaFbNpD: -0.05000000 Waves 2022.01.06 13:28 [1866927] smart account 3N7yhdfuW1uodF3D61gCt5neRXuzFaFbNpD > SELF 0.00000000 Waves
{ "type": 13, "id": "94VAvF3VhvH1p1VcGYKdEwYnkVf2149bPHnLgczDz85B", "fee": 5000000, "feeAssetId": null, "timestamp": 1641464924618, "version": 2, "chainId": 84, "sender": "3N7yhdfuW1uodF3D61gCt5neRXuzFaFbNpD", "senderPublicKey": "v4fcSL6gg6AkBwTtQ5Rt58PTo4XMzds4UZoTeRBavoT", "proofs": [ "jgT4QSHTcHQpsSvyeKWKhaCTKyQxHjXTheAoBwnw3G6vKXmLrpZ3R8tCzJKm2sEytM4f6fBCskf9dFkCGgzas41" ], "script": "base64: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", "height": 1866927, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: G9BH8BLfnoQ5r9rbCi43BxMB1qxPJkfrfnyKGxTeoZ8u Next: CMYRYuAC6xVMRCks4Dhu3uuvd3VseR2MRc4YHbxMGqZu Diff:
Old | New | Differences | |
---|---|---|---|
23 | 23 | @Callable(i) | |
24 | 24 | func createGame (gameId) = { | |
25 | 25 | let board = "0,0,0,0,0,0;0,0,0,0,0,0;0,0,0,0,0,0;0,0,0,0,0,0;0,0,0,0,0,0;0,0,0,0,0,0;" | |
26 | - | [StringEntry((gameId + "_board"), board), StringEntry((gameId + "_status"), "waiting for players")] | |
26 | + | [StringEntry((gameId + "_board"), board), StringEntry((gameId + "_status"), "waiting for players"), StringEntry((gameId + "_teamBlue"), (toString(i.caller) + ",")), StringEntry((gameId + "_teamYellow"), "")] | |
27 | 27 | } | |
28 | + | ||
29 | + | ||
30 | + | ||
31 | + | @Callable(i) | |
32 | + | func deleteDataEntry (key) = [DeleteEntry(key)] | |
28 | 33 | ||
29 | 34 | ||
30 | 35 | @Verifier(tx) |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | ||
5 | 5 | ||
6 | 6 | @Callable(i) | |
7 | 7 | func joinGame (gameId) = { | |
8 | 8 | let teamBlue = getStringValue((gameId + "_teamBlue")) | |
9 | 9 | let teamYellow = getStringValue((gameId + "_teamYellow")) | |
10 | 10 | let teamBlueList = split(teamBlue, ",") | |
11 | 11 | let teamYellowList = split(teamYellow, ",") | |
12 | 12 | if ((5 >= size(teamBlueList))) | |
13 | 13 | then [StringEntry((gameId + "_teamBlue"), ((teamBlue + toString(i.caller)) + ","))] | |
14 | 14 | else if ((size(teamYellowList) == 5)) | |
15 | 15 | then [StringEntry((gameId + "_status"), "in progress"), StringEntry((gameId + "_teamYellow"), ((teamYellow + toString(i.caller)) + ","))] | |
16 | 16 | else if ((5 > size(teamYellowList))) | |
17 | 17 | then [StringEntry((gameId + "_teamYellow"), ((teamYellow + toString(i.caller)) + ","))] | |
18 | 18 | else throw("Teams are full, cannot join.") | |
19 | 19 | } | |
20 | 20 | ||
21 | 21 | ||
22 | 22 | ||
23 | 23 | @Callable(i) | |
24 | 24 | func createGame (gameId) = { | |
25 | 25 | let board = "0,0,0,0,0,0;0,0,0,0,0,0;0,0,0,0,0,0;0,0,0,0,0,0;0,0,0,0,0,0;0,0,0,0,0,0;" | |
26 | - | [StringEntry((gameId + "_board"), board), StringEntry((gameId + "_status"), "waiting for players")] | |
26 | + | [StringEntry((gameId + "_board"), board), StringEntry((gameId + "_status"), "waiting for players"), StringEntry((gameId + "_teamBlue"), (toString(i.caller) + ",")), StringEntry((gameId + "_teamYellow"), "")] | |
27 | 27 | } | |
28 | + | ||
29 | + | ||
30 | + | ||
31 | + | @Callable(i) | |
32 | + | func deleteDataEntry (key) = [DeleteEntry(key)] | |
28 | 33 | ||
29 | 34 | ||
30 | 35 | @Verifier(tx) | |
31 | 36 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
32 | 37 |
github/deemru/w8io/873ac7e 31.92 ms ◑![]()