tx · GxsMfURcFG7DZ71zwitNWCsD7VcJVVKr7UsfxkfziJx3

3MqZkBUDKbXPKEq2sMtxtSahzX5n8AVDTyT:  -0.01700000 Waves

2021.05.20 16:00 [1534034] smart account 3MqZkBUDKbXPKEq2sMtxtSahzX5n8AVDTyT > SELF 0.00000000 Waves

{ "type": 13, "id": "GxsMfURcFG7DZ71zwitNWCsD7VcJVVKr7UsfxkfziJx3", "fee": 1700000, "feeAssetId": null, "timestamp": 1621515632821, "version": 2, "chainId": 84, "sender": "3MqZkBUDKbXPKEq2sMtxtSahzX5n8AVDTyT", "senderPublicKey": "5CSJYiEQvEGm3vH52UCQRkmhw7TV5ZzRhWptXi2hjM7T", "proofs": [ "4scjU5TdmtoyxDJTTmA8GVgyo66i8koEtyiiBb4BFrFCUyn197hXVG2LA5MJ8FzB6X5UFRP1Ef1zsNrH7jEng3fX" ], "script": "base64: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", "height": 1534034, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 45wYiWKPL6oEZ4bkbGpGGM5VuAwxqJPAJ9nJeNqCQK2Y Next: none Diff:
OldNewDifferences
5555 then throw("This user already exists")
5656 else {
5757 let group = getDAOMember()
58- if ((lastIndexOf(group, address, 0) != 0))
58+ if ((lastIndexOf(group, address) != unit))
5959 then throw("This user is already in the group")
6060 else {
6161 let newGroup = ((group + ";") + address)
7979 then throw("access only to the DAO Manager")
8080 else {
8181 let group = getDAOMember()
82- if ((lastIndexOf(group, address, 0) != 0))
82+ if ((lastIndexOf(group, address) != unit))
8383 then throw("This user is already in the group")
8484 else {
8585 let newGroup = ((group + ";") + address)
101101 case _ =>
102102 ""
103103 }
104- if ((lastIndexOf(group, address, 0) != 0))
104+ if ((lastIndexOf(group, address) != unit))
105105 then throw("This user is already in the group")
106106 else {
107107 let newGroup = ((group + ";") + address)
123123 case _ =>
124124 ""
125125 }
126- if ((lastIndexOf(group, address, 0) != 0))
126+ if ((lastIndexOf(group, address) != unit))
127127 then throw("This user is already in the group")
128128 else {
129129 let newGroup = ((group + ";") + address)
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()
58- if ((lastIndexOf(group, address, 0) != 0))
58+ 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, 0) != 0))
82+ if ((lastIndexOf(group, address) != unit))
8383 then throw("This user is already in the group")
8484 else {
8585 let newGroup = ((group + ";") + address)
8686 let groupSize = tryGetInteger("dao_members_size")
8787 let newGroupSize = (groupSize + 1)
8888 WriteSet([DataEntry((("dao_member_" + address) + "_status"), "approved"), DataEntry("dao_members", newGroup), DataEntry("dao_members_size", newGroupSize)])
8989 }
9090 }
9191
9292
9393
9494 @Callable(i)
9595 func mAddWorkingGroup (address) = if (!(isManager(i.caller)))
9696 then throw("access only to the DAO Manager")
9797 else {
9898 let group = match getString(this, "dao_wg_members") {
9999 case b: String =>
100100 b
101101 case _ =>
102102 ""
103103 }
104- if ((lastIndexOf(group, address, 0) != 0))
104+ if ((lastIndexOf(group, address) != unit))
105105 then throw("This user is already in the group")
106106 else {
107107 let newGroup = ((group + ";") + address)
108108 let groupSize = tryGetInteger("dao_wg_size")
109109 let newGroupSize = (groupSize + 1)
110110 WriteSet([DataEntry((("dao_wg_member_" + address) + "_status"), "approved"), DataEntry("dao_wg_members", newGroup), DataEntry("dao_wg_size", newGroupSize)])
111111 }
112112 }
113113
114114
115115
116116 @Callable(i)
117117 func mAddMembershipWorkingGroup (address) = if (!(isManager(i.caller)))
118118 then throw("access only to the DAO Manager")
119119 else {
120120 let group = match getString(this, "dao_mwg_members") {
121121 case b: String =>
122122 b
123123 case _ =>
124124 ""
125125 }
126- if ((lastIndexOf(group, address, 0) != 0))
126+ if ((lastIndexOf(group, address) != unit))
127127 then throw("This user is already in the group")
128128 else {
129129 let newGroup = ((group + ";") + address)
130130 let groupSize = tryGetInteger("dao_mwg_size")
131131 let newGroupSize = (groupSize + 1)
132132 WriteSet([DataEntry((("dao_mwg_member_" + address) + "_status"), "approved"), DataEntry("dao_mwg_members", newGroup), DataEntry("dao_mwg_size", newGroupSize)])
133133 }
134134 }
135135
136136
137137
138138 @Callable(i)
139139 func wmgMembershipVoteForDAOMember (candidateAddress,voteValue) = {
140140 let caller = toString(i.caller)
141141 let membershipAddress = toString(i.caller)
142142 let voteValueInt = getVoteValue(voteValue)
143143 let votingKey = (("dao_member_" + candidateAddress) + "_vote")
144144 let votedKey = (("dao_member_" + candidateAddress) + "_voted")
145145 let votesKey = ((("dao_member_" + candidateAddress) + "_votes_") + caller)
146146 let votedVal = match getString(this, votedKey) {
147147 case b: String =>
148148 b
149149 case _ =>
150150 ""
151151 }
152152 let newVotedVal = ((caller + ";") + votedVal)
153153 let votingState = tryGetInteger(votingKey)
154154 let newVotingState = (votingState + voteValueInt)
155155 let mwgStatusVal = tryGetString((("dao_mwg_member_" + caller) + "_status"))
156156 if ((mwgStatusVal == "approved"))
157157 then if ((tryGetInteger(((("dao_member_" + candidateAddress) + "_votes_") + caller)) > 0))
158158 then throw(("You have already voted. Caller " + caller))
159159 else WriteSet([DataEntry(votingKey, newVotingState), DataEntry(votedKey, newVotedVal), DataEntry(votesKey, voteValueInt)])
160160 else throw(("You have no rights. Caller " + caller))
161161 }
162162
163163

github/deemru/w8io/169f3d6 
33.56 ms