tx · Hku3UNMeQaGQ4pZdTnXnr5schyymfJB55eAfUeVMsiUQ

3Mvbw1Sx9xtM6akJrBPorkPpp4B3sJRFPFX:  -0.10000000 Waves

2020.11.13 03:37 [1262841] smart account 3Mvbw1Sx9xtM6akJrBPorkPpp4B3sJRFPFX > SELF 0.00000000 Waves

{ "type": 13, "id": "Hku3UNMeQaGQ4pZdTnXnr5schyymfJB55eAfUeVMsiUQ", "fee": 10000000, "feeAssetId": null, "timestamp": 1605227846576, "version": 2, "chainId": 84, "sender": "3Mvbw1Sx9xtM6akJrBPorkPpp4B3sJRFPFX", "senderPublicKey": "EFfb2ZQ2kJQnnQeHgudF4Fu2ksNzAhonmzpG5RvJdKE4", "proofs": [ "4A1mktBiPoq6jRUV3P6qMMU58YEX7DHEy1YbLojUwFxz7A3vGo7MiyR8vhm9KRji598QqnNQ7mCHvvdnjSgevx84" ], "script": "base64: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Y2FudAQAAAASdGVhbVZvdGVzQW1vdW50S2V5CQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACXRlbXBsYXRlXwUAAAAKdGVtcGxhdGVJZAIAAAALX2FwcGxpY2FudF8FAAAACWFwcGxpY2FudAIAAAAGX3ZvdGVzBAAAAAx0ZWFtU2NvcmVLZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAJdGVtcGxhdGVfBQAAAAp0ZW1wbGF0ZUlkAgAAAAtfYXBwbGljYW50XwUAAAAJYXBwbGljYW50AgAAAAZfc2NvcmUEAAAAD3RlYW1Wb3Rlc0Ftb3VudAkAAGQAAAACAAAAAAAAAAABCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEFAAAAEnRlYW1Wb3Rlc0Ftb3VudEtleQQAAAAMbmV3VGVhbVNjb3JlCQAAZAAAAAIFAAAACXZvdGVWYWx1ZQkBAAAADXRyeUdldEludGVnZXIAAAABBQAAAAx0ZWFtU2NvcmVLZXkJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAB3ZvdGVLZXkFAAAACXZvdGVWYWx1ZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAMdGVhbVNjb3JlS2V5BQAAAAxuZXdUZWFtU2NvcmUFAAAAA25pbAAAAAFpAQAAABVmaW5pc2hBcHBsaWNhbnRWb3RpbmcAAAACAAAACnRlbXBsYXRlSWQAAAAJYXBwbGljYW50CgEAAAAWaXNBcHBsaWNhbnRWb3RlZEVub3VnaAAAAAIAAAAKdGVtcGxhdGVJZAAAAAlhcHBsaWNhbnQEAAAAFHRlbXBsYXRlTWluaW11bVNjb3JlCQABLAAAAAIJAAEsAAAAAgIAAAAJdGVtcGxhdGVfBQAAAAp0ZW1wbGF0ZUlkAgAAAApfbWluX3Njb3JlBAAAABJ0ZWFtU2NvcmVBbW91bnRLZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAJdGVtcGxhdGVfBQAAAAp0ZW1wbGF0ZUlkAgAAAAtfYXBwbGljYW50XwUAAAAJYXBwbGljYW50AgAAAAZfc2NvcmUEAAAACXRlYW1TY29yZQkBAAAADXRyeUdldEludGVnZXIAAAABBQAAABJ0ZWFtU2NvcmVBbW91bnRLZXkDCQAAZgAAAAIFAAAACXRlYW1TY29yZQAAAAAAAAAAAAYJAAACAAAAAQkAASwAAAACAgAAACVub3QgZW5vdWdoIHZvdGVzIHRvIG1ha2UgZGVjaXNpb24gb24gBQAAAAlhcHBsaWNhbnQDCQEAAAABIQAAAAEJAQAAABZpc0FwcGxpY2FudFZvdGVkRW5vdWdoAAAAAgUAAAAKdGVtcGxhdGVJZAUAAAAJYXBwbGljYW50CQAAAgAAAAECAAAALW5vdCBlbm91Z2ggZXhwZXJ0cyB2b3RlZCB0byBpc3N1ZSBjZXJ0aWZpY2F0ZQkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAl0ZW1wbGF0ZV8FAAAACnRlbXBsYXRlSWQCAAAAC19hcHBsaWNhbnRfBQAAAAlhcHBsaWNhbnQCAAAAB19zdGF0dXMCAAAACGFwcHJvdmVkBQAAAANuaWwAAAAA39qltA==", "height": 1262841, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CsHX5iLp8QwrQtzxyHrUtArQJ1qjrEaXKhaNh5oCLuiF Next: GqVyAygt5iyztNYsoZ1b4rYDVPB1rMxGEW7L8pkApN9H Diff:
OldNewDifferences
3434
3535 func i () = {
3636 let c = {
37- let d = getString(this, "working_group")
37+ let d = getString(this, "working_members")
3838 if ($isInstanceOf(d, "String"))
3939 then {
4040 let e = d
4646 }
4747
4848
49-func j () = {
49+func j (k) = {
5050 let c = {
51- let d = getString(this, "dao_members")
51+ let d = getString(this, (("center_" + k) + "_members"))
5252 if ($isInstanceOf(d, "String"))
5353 then {
5454 let e = d
6060 }
6161
6262
63-func k (l) = (a(("group_member_" + toString(l))) > 0)
63+func l (m,n) = (f((("template_" + n) + "_proposed")) == toString(m))
6464
6565
66-func m (n,o) = {
67- let p = f((("template_" + o) + "_center"))
68- (a(((("center_" + p) + "_member_") + toString(n.caller))) > 0)
66+func o (m) = (a(("working_member_" + toString(m))) > 0)
67+
68+
69+func p (q,n) = {
70+ let k = f((("template_" + n) + "_center"))
71+ (a(((("center_" + k) + "_member_") + toString(q.caller))) > 0)
6972 }
7073
7174
72-@Callable(n)
73-func addDAOMember (q,p) = if (!(g(n.caller)))
75+@Callable(q)
76+func addDAOMember (r,k) = if (!(g(q.caller)))
7477 then throw("access only to the DAO owner")
7578 else {
76- let r = j()
77- let s = ((r + ";") + q)
78- let t = a("dao_size")
79- let u = (t + 1)
80- WriteSet([DataEntry("dao_members", s), DataEntry("dao_size", u), DataEntry(((("center_" + p) + "_member_") + q), 1)])
79+ let s = j(k)
80+ let t = ((s + ";") + r)
81+ let u = a((("center_" + k) + "_size"))
82+ let v = (u + 1)
83+ WriteSet([DataEntry((("center_" + k) + "_members"), t), DataEntry((("center_" + k) + "_size"), v), DataEntry(((("center_" + k) + "_member_") + r), 1)])
8184 }
8285
8386
8487
85-@Callable(n)
86-func addGroupMember (q) = if (!(g(n.caller)))
88+@Callable(q)
89+func addGroupMember (r) = if (!(g(q.caller)))
8790 then throw("access only to the DAO owner")
8891 else {
89- let r = i()
90- let s = ((r + ";") + q)
91- let t = a("working_group_size")
92- let u = (t + 1)
93- WriteSet([DataEntry("working_group", s), DataEntry("working_group_size", u), DataEntry(("group_member_" + q), 1)])
92+ let s = i()
93+ let t = ((s + ";") + r)
94+ let u = a("working_size")
95+ let v = (u + 1)
96+ WriteSet([DataEntry("working_members", t), DataEntry("working_size", v), DataEntry(("working_member_" + r), 1)])
9497 }
9598
9699
97100
98-@Callable(n)
99-func proposeTemplate (v) = WriteSet([DataEntry((("template_" + toBase58String(n.transactionId)) + "_title"), v), DataEntry((("template_" + toBase58String(n.transactionId)) + "_status"), "proposed"), DataEntry((("template_" + toBase58String(n.transactionId)) + "_proposed_by"), toString(n.caller))])
101+@Callable(q)
102+func proposeTemplate (w) = WriteSet([DataEntry((("template_" + toBase58String(q.transactionId)) + "_title"), w), DataEntry((("template_" + toBase58String(q.transactionId)) + "_status"), "proposed"), DataEntry((("template_" + toBase58String(q.transactionId)) + "_proposed"), toString(q.caller))])
100103
101104
102105
103-@Callable(n)
104-func acceptTemplate (o,w) = if (!(k(n.caller)))
105- then throw("government working group access only")
106- else WriteSet([DataEntry((("template_" + o) + "_center"), w), DataEntry((("template_" + o) + "_status"), "accepted")])
106+@Callable(q)
107+func addTemplateDetails (n,x,y,z,A) = if (!(l(q.caller, n)))
108+ then throw("author access only")
109+ else WriteSet([DataEntry((("template_" + n) + "_description"), x), DataEntry((("template_" + n) + "_author"), y), DataEntry((("template_" + n) + "_company"), z), DataEntry((("template_" + n) + "_link"), A)])
107110
108111
109112
110-@Callable(n)
111-func requestCertificate (o,x) = {
112- let y = (("template_" + o) + "_applicants")
113- let z = {
114- let d = getString(this, y)
113+@Callable(q)
114+func acceptTemplate (n,B) = if (!(o(q.caller)))
115+ then throw("government working group access only")
116+ else WriteSet([DataEntry((("template_" + n) + "_center"), B), DataEntry((("template_" + n) + "_status"), "accepted")])
117+
118+
119+
120+@Callable(q)
121+func requestCertificate (n,C) = {
122+ let D = (("template_" + n) + "_applicants")
123+ let E = {
124+ let d = getString(this, D)
115125 if ($isInstanceOf(d, "String"))
116126 then {
117127 let e = d
119129 }
120130 else ""
121131 }
122- let A = ((z + ";") + toString(n.caller))
123- ScriptResult(WriteSet([DataEntry((((("template_" + o) + "_applicant_") + toString(n.caller)) + "_status"), "requested"), DataEntry((((("template_" + o) + "_applicant_") + toString(n.caller)) + "_details"), x), DataEntry(y, A)]), TransferSet([ScriptTransfer(n.caller, 500000, unit)]))
132+ let F = ((E + ";") + toString(q.caller))
133+ ScriptResult(WriteSet([DataEntry((((("template_" + n) + "_applicant_") + toString(q.caller)) + "_status"), "requested"), DataEntry((((("template_" + n) + "_applicant_") + toString(q.caller)) + "_details"), C), DataEntry(D, F)]), TransferSet([ScriptTransfer(q.caller, 500000, unit)]))
124134 }
125135
126136
127137
128-@Callable(n)
129-func voteForApplicant (o,B,C) = if (if ((C != -1))
130- then (C != 1)
138+@Callable(q)
139+func voteForApplicant (n,G,H) = if (if ((H != -1))
140+ then (H != 1)
131141 else false)
132142 then throw("vote value needs to be 1 or -1")
133- else if (!(m(n, o)))
143+ else if (!(p(q, n)))
134144 then throw("this member is not certified to vote")
135145 else {
136- let D = ((((("template_" + o) + "_applicant_") + B) + "_vote_") + toString(n.caller))
137- let E = a(D)
138- if ((E != 0))
146+ let I = ((((("template_" + n) + "_applicant_") + G) + "_vote_") + toString(q.caller))
147+ let J = a(I)
148+ if ((J != 0))
139149 then throw("this member has already voted on this applicant")
140150 else {
141- let F = (((("template_" + o) + "_applicant_") + B) + "_votes")
142- let G = (((("template_" + o) + "_applicant_") + B) + "_score")
143- let H = (1 + a(F))
144- let I = (C + a(G))
145- WriteSet([DataEntry(D, C), DataEntry(G, I)])
151+ let K = (((("template_" + n) + "_applicant_") + G) + "_votes")
152+ let L = (((("template_" + n) + "_applicant_") + G) + "_score")
153+ let M = (1 + a(K))
154+ let N = (H + a(L))
155+ WriteSet([DataEntry(I, H), DataEntry(L, N)])
146156 }
147157 }
148158
149159
150160
151-@Callable(n)
152-func finishApplicantVoting (o,B) = {
153- func J (o,B) = {
154- let K = (("template_" + o) + "_min_score")
155- let L = (((("template_" + o) + "_applicant_") + B) + "_score")
156- let M = a(L)
157- if ((M > 0))
161+@Callable(q)
162+func finishApplicantVoting (n,G) = {
163+ func O (n,G) = {
164+ let P = (("template_" + n) + "_min_score")
165+ let Q = (((("template_" + n) + "_applicant_") + G) + "_score")
166+ let R = a(Q)
167+ if ((R > 0))
158168 then true
159- else throw(("not enough votes to make decision on " + B))
169+ else throw(("not enough votes to make decision on " + G))
160170 }
161171
162- if (!(J(o, B)))
172+ if (!(O(n, G)))
163173 then throw("not enough experts voted to issue certificate")
164- else WriteSet([DataEntry((((("template_" + o) + "_applicant_") + B) + "_status"), "approved")])
174+ else WriteSet([DataEntry((((("template_" + n) + "_applicant_") + G) + "_status"), "approved")])
165175 }
166176
167177
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b) = {
55 let c = {
66 let d = getInteger(this, b)
77 if ($isInstanceOf(d, "Int"))
88 then {
99 let e = d
1010 e
1111 }
1212 else 0
1313 }
1414 c
1515 }
1616
1717
1818 func f (b) = {
1919 let c = {
2020 let d = getString(this, b)
2121 if ($isInstanceOf(d, "String"))
2222 then {
2323 let e = d
2424 e
2525 }
2626 else ""
2727 }
2828 c
2929 }
3030
3131
3232 func g (h) = (h == this)
3333
3434
3535 func i () = {
3636 let c = {
37- let d = getString(this, "working_group")
37+ let d = getString(this, "working_members")
3838 if ($isInstanceOf(d, "String"))
3939 then {
4040 let e = d
4141 e
4242 }
4343 else ""
4444 }
4545 c
4646 }
4747
4848
49-func j () = {
49+func j (k) = {
5050 let c = {
51- let d = getString(this, "dao_members")
51+ let d = getString(this, (("center_" + k) + "_members"))
5252 if ($isInstanceOf(d, "String"))
5353 then {
5454 let e = d
5555 e
5656 }
5757 else ""
5858 }
5959 c
6060 }
6161
6262
63-func k (l) = (a(("group_member_" + toString(l))) > 0)
63+func l (m,n) = (f((("template_" + n) + "_proposed")) == toString(m))
6464
6565
66-func m (n,o) = {
67- let p = f((("template_" + o) + "_center"))
68- (a(((("center_" + p) + "_member_") + toString(n.caller))) > 0)
66+func o (m) = (a(("working_member_" + toString(m))) > 0)
67+
68+
69+func p (q,n) = {
70+ let k = f((("template_" + n) + "_center"))
71+ (a(((("center_" + k) + "_member_") + toString(q.caller))) > 0)
6972 }
7073
7174
72-@Callable(n)
73-func addDAOMember (q,p) = if (!(g(n.caller)))
75+@Callable(q)
76+func addDAOMember (r,k) = if (!(g(q.caller)))
7477 then throw("access only to the DAO owner")
7578 else {
76- let r = j()
77- let s = ((r + ";") + q)
78- let t = a("dao_size")
79- let u = (t + 1)
80- WriteSet([DataEntry("dao_members", s), DataEntry("dao_size", u), DataEntry(((("center_" + p) + "_member_") + q), 1)])
79+ let s = j(k)
80+ let t = ((s + ";") + r)
81+ let u = a((("center_" + k) + "_size"))
82+ let v = (u + 1)
83+ WriteSet([DataEntry((("center_" + k) + "_members"), t), DataEntry((("center_" + k) + "_size"), v), DataEntry(((("center_" + k) + "_member_") + r), 1)])
8184 }
8285
8386
8487
85-@Callable(n)
86-func addGroupMember (q) = if (!(g(n.caller)))
88+@Callable(q)
89+func addGroupMember (r) = if (!(g(q.caller)))
8790 then throw("access only to the DAO owner")
8891 else {
89- let r = i()
90- let s = ((r + ";") + q)
91- let t = a("working_group_size")
92- let u = (t + 1)
93- WriteSet([DataEntry("working_group", s), DataEntry("working_group_size", u), DataEntry(("group_member_" + q), 1)])
92+ let s = i()
93+ let t = ((s + ";") + r)
94+ let u = a("working_size")
95+ let v = (u + 1)
96+ WriteSet([DataEntry("working_members", t), DataEntry("working_size", v), DataEntry(("working_member_" + r), 1)])
9497 }
9598
9699
97100
98-@Callable(n)
99-func proposeTemplate (v) = WriteSet([DataEntry((("template_" + toBase58String(n.transactionId)) + "_title"), v), DataEntry((("template_" + toBase58String(n.transactionId)) + "_status"), "proposed"), DataEntry((("template_" + toBase58String(n.transactionId)) + "_proposed_by"), toString(n.caller))])
101+@Callable(q)
102+func proposeTemplate (w) = WriteSet([DataEntry((("template_" + toBase58String(q.transactionId)) + "_title"), w), DataEntry((("template_" + toBase58String(q.transactionId)) + "_status"), "proposed"), DataEntry((("template_" + toBase58String(q.transactionId)) + "_proposed"), toString(q.caller))])
100103
101104
102105
103-@Callable(n)
104-func acceptTemplate (o,w) = if (!(k(n.caller)))
105- then throw("government working group access only")
106- else WriteSet([DataEntry((("template_" + o) + "_center"), w), DataEntry((("template_" + o) + "_status"), "accepted")])
106+@Callable(q)
107+func addTemplateDetails (n,x,y,z,A) = if (!(l(q.caller, n)))
108+ then throw("author access only")
109+ else WriteSet([DataEntry((("template_" + n) + "_description"), x), DataEntry((("template_" + n) + "_author"), y), DataEntry((("template_" + n) + "_company"), z), DataEntry((("template_" + n) + "_link"), A)])
107110
108111
109112
110-@Callable(n)
111-func requestCertificate (o,x) = {
112- let y = (("template_" + o) + "_applicants")
113- let z = {
114- let d = getString(this, y)
113+@Callable(q)
114+func acceptTemplate (n,B) = if (!(o(q.caller)))
115+ then throw("government working group access only")
116+ else WriteSet([DataEntry((("template_" + n) + "_center"), B), DataEntry((("template_" + n) + "_status"), "accepted")])
117+
118+
119+
120+@Callable(q)
121+func requestCertificate (n,C) = {
122+ let D = (("template_" + n) + "_applicants")
123+ let E = {
124+ let d = getString(this, D)
115125 if ($isInstanceOf(d, "String"))
116126 then {
117127 let e = d
118128 e
119129 }
120130 else ""
121131 }
122- let A = ((z + ";") + toString(n.caller))
123- ScriptResult(WriteSet([DataEntry((((("template_" + o) + "_applicant_") + toString(n.caller)) + "_status"), "requested"), DataEntry((((("template_" + o) + "_applicant_") + toString(n.caller)) + "_details"), x), DataEntry(y, A)]), TransferSet([ScriptTransfer(n.caller, 500000, unit)]))
132+ let F = ((E + ";") + toString(q.caller))
133+ ScriptResult(WriteSet([DataEntry((((("template_" + n) + "_applicant_") + toString(q.caller)) + "_status"), "requested"), DataEntry((((("template_" + n) + "_applicant_") + toString(q.caller)) + "_details"), C), DataEntry(D, F)]), TransferSet([ScriptTransfer(q.caller, 500000, unit)]))
124134 }
125135
126136
127137
128-@Callable(n)
129-func voteForApplicant (o,B,C) = if (if ((C != -1))
130- then (C != 1)
138+@Callable(q)
139+func voteForApplicant (n,G,H) = if (if ((H != -1))
140+ then (H != 1)
131141 else false)
132142 then throw("vote value needs to be 1 or -1")
133- else if (!(m(n, o)))
143+ else if (!(p(q, n)))
134144 then throw("this member is not certified to vote")
135145 else {
136- let D = ((((("template_" + o) + "_applicant_") + B) + "_vote_") + toString(n.caller))
137- let E = a(D)
138- if ((E != 0))
146+ let I = ((((("template_" + n) + "_applicant_") + G) + "_vote_") + toString(q.caller))
147+ let J = a(I)
148+ if ((J != 0))
139149 then throw("this member has already voted on this applicant")
140150 else {
141- let F = (((("template_" + o) + "_applicant_") + B) + "_votes")
142- let G = (((("template_" + o) + "_applicant_") + B) + "_score")
143- let H = (1 + a(F))
144- let I = (C + a(G))
145- WriteSet([DataEntry(D, C), DataEntry(G, I)])
151+ let K = (((("template_" + n) + "_applicant_") + G) + "_votes")
152+ let L = (((("template_" + n) + "_applicant_") + G) + "_score")
153+ let M = (1 + a(K))
154+ let N = (H + a(L))
155+ WriteSet([DataEntry(I, H), DataEntry(L, N)])
146156 }
147157 }
148158
149159
150160
151-@Callable(n)
152-func finishApplicantVoting (o,B) = {
153- func J (o,B) = {
154- let K = (("template_" + o) + "_min_score")
155- let L = (((("template_" + o) + "_applicant_") + B) + "_score")
156- let M = a(L)
157- if ((M > 0))
161+@Callable(q)
162+func finishApplicantVoting (n,G) = {
163+ func O (n,G) = {
164+ let P = (("template_" + n) + "_min_score")
165+ let Q = (((("template_" + n) + "_applicant_") + G) + "_score")
166+ let R = a(Q)
167+ if ((R > 0))
158168 then true
159- else throw(("not enough votes to make decision on " + B))
169+ else throw(("not enough votes to make decision on " + G))
160170 }
161171
162- if (!(J(o, B)))
172+ if (!(O(n, G)))
163173 then throw("not enough experts voted to issue certificate")
164- else WriteSet([DataEntry((((("template_" + o) + "_applicant_") + B) + "_status"), "approved")])
174+ else WriteSet([DataEntry((((("template_" + n) + "_applicant_") + G) + "_status"), "approved")])
165175 }
166176
167177

github/deemru/w8io/169f3d6 
95.51 ms