tx · Bwja4SewLPDA5ycedSNJryaqCDCpnNAJ9H9PUKdH8hrH

3MtTXNTGDeiyh7eBeuMFC8mmVGT7D2eBcXw:  -0.01400000 Waves

2021.05.20 16:27 [1534060] smart account 3MtTXNTGDeiyh7eBeuMFC8mmVGT7D2eBcXw > SELF 0.00000000 Waves

{ "type": 13, "id": "Bwja4SewLPDA5ycedSNJryaqCDCpnNAJ9H9PUKdH8hrH", "fee": 1400000, "feeAssetId": null, "timestamp": 1621517258232, "version": 2, "chainId": 84, "sender": "3MtTXNTGDeiyh7eBeuMFC8mmVGT7D2eBcXw", "senderPublicKey": "DNYXD9ggNBwiGG6ACttSRDZgLq5mJsmbV5o9Vc9RFuxr", "proofs": [ "3sdqqkjZ4Ayg9dziHBo697ZjSjNdPR2cim4S3ZtzRUytG5bGf9UBg6N4hxaNYQFvri6zuhkDVnCMXLotTkYGTJoJ" ], "script": "base64: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AgAAAAECAAAAIVRoaXMgdXNlciBpcyBhbHJlYWR5IGluIHRoZSBncm91cAQAAAAIbmV3R3JvdXAJAAEsAAAAAgkAASwAAAACBQAAAAVncm91cAIAAAABOwUAAAAHYWRkcmVzcwQAAAAJZ3JvdXBTaXplCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAECAAAADGRhb19td2dfc2l6ZQQAAAAMbmV3R3JvdXBTaXplCQAAZAAAAAIFAAAACWdyb3VwU2l6ZQAAAAAAAAAAAQkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAAD2Rhb19td2dfbWVtYmVyXwUAAAAHYWRkcmVzcwIAAAAHX3N0YXR1cwIAAAAIYXBwcm92ZWQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAD2Rhb19td2dfbWVtYmVycwUAAAAIbmV3R3JvdXAJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAADGRhb19td2dfc2l6ZQUAAAAMbmV3R3JvdXBTaXplBQAAAANuaWwAAAABaQEAAAAdd21nTWVtYmVyc2hpcFZvdGVGb3JEQU9NZW1iZXIAAAACAAAAEGNhbmRpZGF0ZUFkZHJlc3MAAAAJdm90ZVZhbHVlBAAAAAZjYWxsZXIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABFtZW1iZXJzaGlwQWRkcmVzcwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAADHZvdGVWYWx1ZUludAkBAAAADGdldFZvdGVWYWx1ZQAAAAEFAAAACXZvdGVWYWx1ZQQAAAAJdm90aW5nS2V5CQABLAAAAAIJAAEsAAAAAgIAAAALZGFvX21lbWJlcl8FAAAAEGNhbmRpZGF0ZUFkZHJlc3MCAAAABV92b3RlBAAAAAh2b3RlZEtleQkAASwAAAACCQABLAAAAAICAAAAC2Rhb19tZW1iZXJfBQAAABBjYW5kaWRhdGVBZGRyZXNzAgAAAAZfdm90ZWQEAAAACHZvdGVzS2V5CQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAtkYW9fbWVtYmVyXwUAAAAQY2FuZGlkYXRlQWRkcmVzcwIAAAAHX3ZvdGVzXwUAAAAGY2FsbGVyBAAAAAh2b3RlZFZhbAQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAAh2b3RlZEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiAgAAAAAEAAAAC25ld1ZvdGVkVmFsCQABLAAAAAIJAAEsAAAAAgUAAAAGY2FsbGVyAgAAAAE7BQAAAAh2b3RlZFZhbAQAAAALdm90aW5nU3RhdGUJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQUAAAAJdm90aW5nS2V5BAAAAA5uZXdWb3RpbmdTdGF0ZQkAAGQAAAACBQAAAAt2b3RpbmdTdGF0ZQUAAAAMdm90ZVZhbHVlSW50BAAAAAxtd2dTdGF0dXNWYWwJAQAAAAx0cnlHZXRTdHJpbmcAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAPZGFvX213Z19tZW1iZXJfBQAAAAZjYWxsZXICAAAAB19zdGF0dXMDCQAAAAAAAAIFAAAADG13Z1N0YXR1c1ZhbAIAAAAIYXBwcm92ZWQDCQAAZgAAAAIJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALZGFvX21lbWJlcl8FAAAAEGNhbmRpZGF0ZUFkZHJlc3MCAAAAB192b3Rlc18FAAAABmNhbGxlcgAAAAAAAAAAAAkAAAIAAAABCQABLAAAAAICAAAAH1lvdSBoYXZlIGFscmVhZHkgdm90ZWQuIENhbGxlciAFAAAABmNhbGxlcgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAJdm90aW5nS2V5BQAAAA5uZXdWb3RpbmdTdGF0ZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAIdm90ZWRLZXkFAAAAC25ld1ZvdGVkVmFsCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAh2b3Rlc0tleQUAAAAMdm90ZVZhbHVlSW50BQAAAANuaWwJAAACAAAAAQkAASwAAAACAgAAABtZb3UgaGF2ZSBubyByaWdodHMuIENhbGxlciAFAAAABmNhbGxlcgAAAACrsdGQ", "height": 1534060, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8PZ6sjZbsshws1os7i7A2aZHKMgyH39nWEdPqNekSp5C Next: none Diff:
OldNewDifferences
7979 then throw("access only to the DAO Manager")
8080 else {
8181 let group = getDAOMember()
82- if ((lastIndexOf(group, address) != unit))
83- then throw("This user is already in the group")
84- else {
85- let newGroup = ((group + ";") + address)
86- let groupSize = tryGetInteger("dao_members_size")
87- let newGroupSize = (groupSize + 1)
88- WriteSet([DataEntry((("dao_member_" + address) + "_status"), "approved"), DataEntry("dao_members", newGroup), DataEntry("dao_members_size", newGroupSize)])
89- }
82+ let newGroup = ((group + ";") + address)
83+ let groupSize = tryGetInteger("dao_members_size")
84+ let newGroupSize = (groupSize + 1)
85+ WriteSet([DataEntry((("dao_member_" + address) + "_status"), "approved"), DataEntry("dao_members", newGroup), DataEntry("dao_members_size", newGroupSize)])
9086 }
9187
9288
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func tryGetString (key) = {
55 let val = match getString(this, key) {
66 case b: String =>
77 b
88 case _ =>
99 ""
1010 }
1111 val
1212 }
1313
1414
1515 func isManager (address) = (address == this)
1616
1717
1818 func tryGetInteger (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 func isWorkingGroup (a) = (tryGetString((("working_group_" + toString(a)) + "_status")) == "approved")
3030
3131
3232 func isDAOMember (a) = (tryGetString((("dao_member_" + toString(a)) + "_status")) == "approved")
3333
3434
3535 func getDAOMember () = {
3636 let val = match getString(this, "dao_members") {
3737 case b: String =>
3838 b
3939 case _ =>
4040 ""
4141 }
4242 val
4343 }
4444
4545
4646 func getVoteValue (s) = if ((s == "like"))
4747 then 1
4848 else if ((s == "dislike"))
4949 then -1
5050 else throw(("You need to vote with 'like' or 'dislike' value. You specified:" + s))
5151
5252
5353 @Callable(i)
5454 func aProposeCandidateForDAOMember (address) = if ((tryGetInteger((("member_" + address) + "_voting_state")) != 0))
5555 then throw("This user already exists")
5656 else {
5757 let group = getDAOMember()
5858 if ((lastIndexOf(group, address) != unit))
5959 then throw("This user is already in the group")
6060 else {
6161 let newGroup = ((group + ";") + address)
6262 let groupSize = tryGetInteger("dao_members_size")
6363 let newGroupSize = (groupSize + 1)
6464 WriteSet([DataEntry((("dao_member_" + address) + "_status"), "propose"), DataEntry("dao_members", newGroup), DataEntry("dao_members_size", newGroupSize)])
6565 }
6666 }
6767
6868
6969
7070 @Callable(i)
7171 func mRejectDAOMember (address) = if (!(isManager(i.caller)))
7272 then throw("access only to the DAO Manager")
7373 else WriteSet([DataEntry((("dao_member_" + address) + "_status"), "rejected")])
7474
7575
7676
7777 @Callable(i)
7878 func mAddDAOMember (address) = if (!(isManager(i.caller)))
7979 then throw("access only to the DAO Manager")
8080 else {
8181 let group = getDAOMember()
82- if ((lastIndexOf(group, address) != unit))
83- then throw("This user is already in the group")
84- else {
85- let newGroup = ((group + ";") + address)
86- let groupSize = tryGetInteger("dao_members_size")
87- let newGroupSize = (groupSize + 1)
88- WriteSet([DataEntry((("dao_member_" + address) + "_status"), "approved"), DataEntry("dao_members", newGroup), DataEntry("dao_members_size", newGroupSize)])
89- }
82+ let newGroup = ((group + ";") + address)
83+ let groupSize = tryGetInteger("dao_members_size")
84+ let newGroupSize = (groupSize + 1)
85+ WriteSet([DataEntry((("dao_member_" + address) + "_status"), "approved"), DataEntry("dao_members", newGroup), DataEntry("dao_members_size", newGroupSize)])
9086 }
9187
9288
9389
9490 @Callable(i)
9591 func mAddWorkingGroup (address) = if (!(isManager(i.caller)))
9692 then throw("access only to the DAO Manager")
9793 else {
9894 let group = match getString(this, "dao_wg_members") {
9995 case b: String =>
10096 b
10197 case _ =>
10298 ""
10399 }
104100 if ((lastIndexOf(group, address) != unit))
105101 then throw("This user is already in the group")
106102 else {
107103 let newGroup = ((group + ";") + address)
108104 let groupSize = tryGetInteger("dao_wg_size")
109105 let newGroupSize = (groupSize + 1)
110106 WriteSet([DataEntry((("dao_wg_member_" + address) + "_status"), "approved"), DataEntry("dao_wg_members", newGroup), DataEntry("dao_wg_size", newGroupSize)])
111107 }
112108 }
113109
114110
115111
116112 @Callable(i)
117113 func mAddMembershipWorkingGroup (address) = if (!(isManager(i.caller)))
118114 then throw("access only to the DAO Manager")
119115 else {
120116 let group = match getString(this, "dao_mwg_members") {
121117 case b: String =>
122118 b
123119 case _ =>
124120 ""
125121 }
126122 if ((lastIndexOf(group, address) != unit))
127123 then throw("This user is already in the group")
128124 else {
129125 let newGroup = ((group + ";") + address)
130126 let groupSize = tryGetInteger("dao_mwg_size")
131127 let newGroupSize = (groupSize + 1)
132128 WriteSet([DataEntry((("dao_mwg_member_" + address) + "_status"), "approved"), DataEntry("dao_mwg_members", newGroup), DataEntry("dao_mwg_size", newGroupSize)])
133129 }
134130 }
135131
136132
137133
138134 @Callable(i)
139135 func wmgMembershipVoteForDAOMember (candidateAddress,voteValue) = {
140136 let caller = toString(i.caller)
141137 let membershipAddress = toString(i.caller)
142138 let voteValueInt = getVoteValue(voteValue)
143139 let votingKey = (("dao_member_" + candidateAddress) + "_vote")
144140 let votedKey = (("dao_member_" + candidateAddress) + "_voted")
145141 let votesKey = ((("dao_member_" + candidateAddress) + "_votes_") + caller)
146142 let votedVal = match getString(this, votedKey) {
147143 case b: String =>
148144 b
149145 case _ =>
150146 ""
151147 }
152148 let newVotedVal = ((caller + ";") + votedVal)
153149 let votingState = tryGetInteger(votingKey)
154150 let newVotingState = (votingState + voteValueInt)
155151 let mwgStatusVal = tryGetString((("dao_mwg_member_" + caller) + "_status"))
156152 if ((mwgStatusVal == "approved"))
157153 then if ((tryGetInteger(((("dao_member_" + candidateAddress) + "_votes_") + caller)) > 0))
158154 then throw(("You have already voted. Caller " + caller))
159155 else WriteSet([DataEntry(votingKey, newVotingState), DataEntry(votedKey, newVotedVal), DataEntry(votesKey, voteValueInt)])
160156 else throw(("You have no rights. Caller " + caller))
161157 }
162158
163159

github/deemru/w8io/873ac7e 
39.48 ms