tx · 4KDDd5S3MytT4T1xu9WTj8YEXNmcouUZPxkbwqb7naad 3N2ewmJdcFYwdM3mPpRapXZ1aaSWTpTGuE5: -0.01000000 Waves 2021.05.11 17:47 [1521162] smart account 3N2ewmJdcFYwdM3mPpRapXZ1aaSWTpTGuE5 > SELF 0.00000000 Waves
{ "type": 13, "id": "4KDDd5S3MytT4T1xu9WTj8YEXNmcouUZPxkbwqb7naad", "fee": 1000000, "feeAssetId": null, "timestamp": 1620744497605, "version": 2, "chainId": 84, "sender": "3N2ewmJdcFYwdM3mPpRapXZ1aaSWTpTGuE5", "senderPublicKey": "2icPa3y8k81CaH7dsVJZZjVYGYkD35waVbs6YAzU1oaL", "proofs": [ "5VpvhFTVmwriB6tBn4GqZFNp8zCKaa3mWg9KL26KPMaZjGgWjfMMpd5oF5C7fgV5mmRwtSeYVru3wmU2AXZnzSQW" ], "script": "base64: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", "height": 1521162, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: EJ4gHxD333XTKq6HgkPLh4dea2xP298voC6tDBopeEGU Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 3 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | func a (b) = (b == this) | |
5 | + | ||
6 | + | ||
7 | + | func c (d) = { | |
8 | + | let e = { | |
9 | + | let f = getInteger(this, d) | |
10 | + | if ($isInstanceOf(f, "Int")) | |
11 | + | then { | |
12 | + | let g = f | |
13 | + | g | |
14 | + | } | |
15 | + | else 0 | |
16 | + | } | |
17 | + | e | |
18 | + | } | |
19 | + | ||
20 | + | ||
21 | + | func h () = { | |
22 | + | let e = { | |
23 | + | let f = getString(this, "working_group_members") | |
24 | + | if ($isInstanceOf(f, "String")) | |
25 | + | then { | |
26 | + | let g = f | |
27 | + | g | |
28 | + | } | |
29 | + | else "" | |
30 | + | } | |
31 | + | e | |
32 | + | } | |
33 | + | ||
34 | + | ||
35 | + | func i (j) = (c((("working_group_member_" + toString(j)) + "_weight")) > 0) | |
36 | + | ||
37 | + | ||
38 | + | func k (j) = (c((("working_group_member_" + toString(j)) + "_weight")) > 0) | |
39 | + | ||
40 | + | ||
41 | + | func l (m) = if ((m == "rejected")) | |
42 | + | then "rejected" | |
43 | + | else if ((m == "approved")) | |
44 | + | then "approved" | |
45 | + | else throw("you need to vote with 'approved' or 'rejected' value") | |
46 | + | ||
47 | + | ||
48 | + | @Callable(n) | |
49 | + | func votesOnMember (o) = { | |
50 | + | let p = (("dao_member_" + o) + "_voting_state") | |
51 | + | let q = (c(p) + 1) | |
52 | + | let r = toString(n.caller) | |
53 | + | if (if (!(i(n.caller))) | |
54 | + | then (c(((r + "_voted_working_group_members_for_") + o)) != 1) | |
55 | + | else false) | |
56 | + | then WriteSet([DataEntry(p, q), DataEntry(((r + "_voted_working_group_members_for_") + o), 1)]) | |
57 | + | else throw("You have no rights or you have already voted") | |
58 | + | } | |
59 | + | ||
60 | + | ||
61 | + | ||
62 | + | @Callable(n) | |
63 | + | func proposeMember (o) = { | |
64 | + | let r = toString(n.caller) | |
65 | + | if ((c(("dao_member_" + o)) == 1)) | |
66 | + | then throw("This user already exists") | |
67 | + | else WriteSet([DataEntry(("dao_member_" + o), "proposed")]) | |
68 | + | } | |
69 | + | ||
70 | + | ||
71 | + | ||
72 | + | @Callable(n) | |
73 | + | func addGroupMember (o) = if (!(a(n.caller))) | |
74 | + | then throw("access only to the owner") | |
75 | + | else if ((c((("working_group_member_" + o) + "_weight")) == 1)) | |
76 | + | then throw("This user already exists") | |
77 | + | else { | |
78 | + | let s = h() | |
79 | + | let t = ((s + ";") + o) | |
80 | + | WriteSet([DataEntry("working_group_members", t), DataEntry((("working_group_member_" + o) + "_weight"), 1)]) | |
81 | + | } | |
82 | + | ||
83 | + | ||
84 | + | ||
85 | + | @Callable(n) | |
86 | + | func decisionOnMember (o,u) = if (!(a(n.caller))) | |
87 | + | then throw("access only to the owner") | |
88 | + | else WriteSet([DataEntry(("dao_member_" + o), l(u))]) | |
89 | + | ||
90 | + |
github/deemru/w8io/169f3d6 25.78 ms ◑![]()