tx · SjZ6VHAi1FYpeZw5d5QC3J4VfjTsZszBwGsikpeVajm

3N7v5ZD42BDF5EAS6R2mZrDZGjaeXvG5AG7:  -0.01000000 Waves

2021.03.16 15:59 [1440302] smart account 3N7v5ZD42BDF5EAS6R2mZrDZGjaeXvG5AG7 > SELF 0.00000000 Waves

{ "type": 13, "id": "SjZ6VHAi1FYpeZw5d5QC3J4VfjTsZszBwGsikpeVajm", "fee": 1000000, "feeAssetId": null, "timestamp": 1615899569042, "version": 2, "chainId": 84, "sender": "3N7v5ZD42BDF5EAS6R2mZrDZGjaeXvG5AG7", "senderPublicKey": "HnM6Hutac7ZuxWTsBvi3jMdQSTwjEvkY2HYq4gwrf1nD", "proofs": [ "GTB4dCLyLos1EAoFRBHfLFmb6mg55TSmZLtuUpZLjbjBa5REEJcApf7ypkJSYD7XRm7EGVzp6CQnk2eqH9YPvYs" ], "script": "base64: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AAAAAgkAASwAAAACAgAAABV3b3JraW5nX2dyb3VwX21lbWJlcl8FAAAADW1lbWJlckFkZHJlc3MCAAAAB193ZWlnaHQAAAAAAAAAAAEJAAACAAAAAQIAAAAYVGhpcyB1c2VyIGFscmVhZHkgZXhpc3RzBAAAAAVncm91cAkBAAAACGdldEdyb3VwAAAAAAQAAAAIbmV3R3JvdXAJAAEsAAAAAgkAASwAAAACBQAAAAVncm91cAIAAAABOwUAAAANbWVtYmVyQWRkcmVzcwQAAAAJZ3JvdXBTaXplCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAECAAAAEndvcmtpbmdfZ3JvdXBfc2l6ZQQAAAAMbmV3R3JvdXBTaXplCQAAZAAAAAIFAAAACWdyb3VwU2l6ZQAAAAAAAAAAAQkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAVd29ya2luZ19ncm91cF9tZW1iZXJzBQAAAAhuZXdHcm91cAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAASd29ya2luZ19ncm91cF9zaXplBQAAAAxuZXdHcm91cFNpemUJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAABV3b3JraW5nX2dyb3VwX21lbWJlcl8FAAAADW1lbWJlckFkZHJlc3MCAAAAB193ZWlnaHQAAAAAAAAAAAEFAAAAA25pbAAAAAC0Ay8t", "height": 1440302, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+func tryGetInteger (key) = {
5+ let val = match getInteger(this, key) {
6+ case b: Int =>
7+ b
8+ case _ =>
9+ 0
10+ }
11+ val
12+ }
13+
14+
15+func tryGetString (key) = {
16+ let val = match getString(this, key) {
17+ case b: String =>
18+ b
19+ case _ =>
20+ ""
21+ }
22+ val
23+ }
24+
25+
26+func isOwner (address) = (address == this)
27+
28+
29+func getGroup () = {
30+ let val = match getString(this, "working_group_members") {
31+ case b: String =>
32+ b
33+ case _ =>
34+ ""
35+ }
36+ val
37+ }
38+
39+
40+func getMembers () = {
41+ let val = match getString(this, "dao_members") {
42+ case b: String =>
43+ b
44+ case _ =>
45+ ""
46+ }
47+ val
48+ }
49+
50+
51+func isGroupMember (a) = (tryGetInteger((("working_group_member_" + toString(a)) + "_weight")) > 0)
52+
53+
54+func canMemberVote (i) = (tryGetInteger((("dao_member_" + toString(i.caller)) + "_weight")) > 0)
55+
56+
57+@Callable(i)
58+func addDAOMember (memberAddress) = if (!(isOwner(i.caller)))
59+ then throw("access only to the DAO owner")
60+ else if ((tryGetInteger((("dao_member_" + memberAddress) + "_weight")) == 1))
61+ then throw("This user already exists")
62+ else {
63+ let group = getMembers()
64+ let newGroup = ((group + ";") + memberAddress)
65+ let groupSize = tryGetInteger("dao_size")
66+ let newGroupSize = (groupSize + 1)
67+ WriteSet([DataEntry("dao_members", newGroup), DataEntry("dao_size", newGroupSize), DataEntry((("dao_member_" + memberAddress) + "_weight"), 1)])
68+ }
69+
70+
71+
72+@Callable(i)
73+func addGroupMember (memberAddress) = if (!(isOwner(i.caller)))
74+ then throw("access only to the DAO owner")
75+ else if ((tryGetInteger((("working_group_member_" + memberAddress) + "_weight")) == 1))
76+ then throw("This user already exists")
77+ else {
78+ let group = getGroup()
79+ let newGroup = ((group + ";") + memberAddress)
80+ let groupSize = tryGetInteger("working_group_size")
81+ let newGroupSize = (groupSize + 1)
82+ WriteSet([DataEntry("working_group_members", newGroup), DataEntry("working_group_size", newGroupSize), DataEntry((("working_group_member_" + memberAddress) + "_weight"), 1)])
83+ }
84+
85+

github/deemru/w8io/026f985 
23.37 ms