tx · BffsLs7DkYdUZ3A3uKoQviWy4Y56ub2fKHQb2uK2qcSu

3MtV1AQ8fEPk76tjKgvrufuMe5aA3q4TviQ:  -0.10000000 Waves

2020.12.22 18:36 [1320103] smart account 3MtV1AQ8fEPk76tjKgvrufuMe5aA3q4TviQ > SELF 0.00000000 Waves

{ "type": 13, "id": "BffsLs7DkYdUZ3A3uKoQviWy4Y56ub2fKHQb2uK2qcSu", "fee": 10000000, "feeAssetId": null, "timestamp": 1608651375645, "version": 2, "chainId": 84, "sender": "3MtV1AQ8fEPk76tjKgvrufuMe5aA3q4TviQ", "senderPublicKey": "3Fjao2FW1JXSPd5EkP7C3uerW18HYacYsaMYALFMGA6N", "proofs": [ "4G81fBCJuUDnPdj7TrizqzLjg5cLZ16vSXTjwSKq24yW4CxjSdM28MHx771iX5AujJmhyNSS3vSFXiufLyKLYjBM" ], "script": "base64:AAIDAAAAAAAAAC4IARIECgIICBIECgIIARIDCgEIEgQKAggIEgMKAQgSAwoBCBIDCgEIEgQKAggIAAAADAAAAAAGUVVPUlVNAAAAAAAAAAABAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQAAAANrZXkEAAAAA3ZhbAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYgUAAAAHJG1hdGNoMAUAAAABYgAAAAAAAAAAAAUAAAADdmFsAQAAAAx0cnlHZXRTdHJpbmcAAAABAAAAA2tleQQAAAADdmFsBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiAgAAAAAFAAAAA3ZhbAAAAAAMbWFpbkNvbnRyYWN0CQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAECAAAAIzNNd1J6aTJCbXFaWlhXckNHQ3djUlFMc25pYzJBb2Q2emhTAQAAAAhnZXRHcm91cAAAAAAEAAAAA3ZhbAQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAxtYWluQ29udHJhY3QCAAAAFXdvcmtpbmdfZ3JvdXBfbWVtYmVycwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiAgAAAAAFAAAAA3ZhbAEAAAAKZ2V0TWVtYmVycwAAAAAEAAAAA3ZhbAQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAxtYWluQ29udHJhY3QCAAAAC2Rhb19tZW1iZXJzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWIFAAAAByRtYXRjaDAFAAAAAWICAAAAAAUAAAADdmFsAQAAAApnZXREQU9TaXplAAAAAAQAAAADdmFsBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAADG1haW5Db250cmFjdAIAAAAIZGFvX3NpemUDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYgUAAAAHJG1hdGNoMAUAAAABYgAAAAAAAAAAAAUAAAADdmFsAQAAAA1pc0dyb3VwTWVtYmVyAAAAAQAAAAFhBAAAAAN2YWwEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAMbWFpbkNvbnRyYWN0CQABLAAAAAIJAAEsAAAAAgIAAAAVd29ya2luZ19ncm91cF9tZW1iZXJfCQAEJQAAAAEFAAAAAWECAAAAB193ZWlnaHQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYgUAAAAHJG1hdGNoMAUAAAABYgAAAAAAAAAAAAkAAGYAAAACBQAAAAN2YWwAAAAAAAAAAAABAAAADWNhbk1lbWJlclZvdGUAAAABAAAAAWkEAAAAA3ZhbAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAxtYWluQ29udHJhY3QJAAEsAAAAAgkAASwAAAACAgAAAAtkYW9fbWVtYmVyXwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXICAAAAB193ZWlnaHQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYgUAAAAHJG1hdGNoMAUAAAABYgAAAAAAAAAAAAkAAGYAAAACBQAAAAN2YWwAAAAAAAAAAAABAAAADGdldFZvdGVWYWx1ZQAAAAEAAAABcwMJAAAAAAAAAgUAAAABcwIAAAAEbGlrZQAAAAAAAAAAAQMJAAAAAAAAAgUAAAABcwIAAAAHZGlzbGlrZQD//////////wkAAAIAAAABAgAAAC95b3UgbmVlZCB0byB2b3RlIHdpdGggJ2xpa2UnIG9yICdkaXNsaWtlJyB2YWx1ZQEAAAAMaXNWb3RpbmdMaXZlAAAAAQAAAAZ0YXNrSWQJAAAAAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAAdfc3RhdHVzAgAAAA52b3Rpbmdfc3RhcnRlZAEAAAAQaXNRdW9ydW1BY2hpZXZlZAAAAAEAAAAGdGFza0lkCQAAZgAAAAIFAAAABlFVT1JVTQkAAGkAAAACCQAAaAAAAAIJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAA5fdm90aW5nX2Ftb3VudAAAAAAAAAAAZAkBAAAACmdldERBT1NpemUAAAAAAAAACAAAAAFpAQAAAAdhZGRUYXNrAAAAAgAAAAV0aXRsZQAAAARsaW5rCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfCQACWAAAAAEIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQCAAAABl90aXRsZQUAAAAFdGl0bGUJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18JAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAIAAAAFX2xpbmsFAAAABGxpbmsJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18JAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAIAAAAHX2xlYWRlcgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAA25pbAAAAAFpAQAAAAlhZGRSZXdhcmQAAAACAAAABnRhc2tJZAAAAAZyZXdhcmQDCQEAAAACIT0AAAACCQEAAAAMdHJ5R2V0U3RyaW5nAAAAAQkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAAdfc3RhdHVzAgAAAAAJAAACAAAAAQIAAABCdm90aW5nIHdhcyBhbHJlYWR5IHN0YXJ0ZWQsIHNvIHRoZSByZXdhcmQgYW1vdW50IGNhbm5vdCBiZSBjaGFuZ2VkAwkBAAAAAiE9AAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIJAQAAAAx0cnlHZXRTdHJpbmcAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAAB19sZWFkZXIJAAACAAAAAQIAAAAQdGVhbSBsZWFkZXIgb25seQkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAAdfcmV3YXJkBQAAAAZyZXdhcmQFAAAAA25pbAAAAAFpAQAAAA5pbml0VGFza1ZvdGluZwAAAAEAAAAGdGFza0lkAwkBAAAAASEAAAABCQEAAAANaXNHcm91cE1lbWJlcgAAAAEIBQAAAAFpAAAABmNhbGxlcgkAAAIAAAABAgAAACBncmFudHMgd29ya2luZyBncm91cCBhY2Nlc3Mgb25seQkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAAdfc3RhdHVzAgAAAA52b3Rpbmdfc3RhcnRlZAUAAAADbmlsAAAAAWkBAAAAE3ZvdGVGb3JUYXNrUHJvcG9zYWwAAAACAAAABnRhc2tJZAAAAA92b3RlVmFsdWVTdHJpbmcDCQEAAAABIQAAAAEJAQAAAA1jYW5NZW1iZXJWb3RlAAAAAQUAAAABaQkAAAIAAAABAgAAAA55b3UgY2FuJ3Qgdm90ZQMJAQAAAAxpc1ZvdGluZ0xpdmUAAAABBQAAAAZ0YXNrSWQJAAACAAAAAQIAAAAfdm90aW5nIGlzIGNsb3NlZCBvciBub3Qgc3RhcnRlZAQAAAAJdm90ZVZhbHVlCQEAAAAMZ2V0Vm90ZVZhbHVlAAAAAQUAAAAPdm90ZVZhbHVlU3RyaW5nBAAAAAd2b3RlS2V5CQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAAHX3ZvdGVkXwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAADHByZXZpb3VzVm90ZQkBAAAADXRyeUdldEludGVnZXIAAAABBQAAAAd2b3RlS2V5AwkBAAAAASEAAAABCQAAAAAAAAIFAAAADHByZXZpb3VzVm90ZQAAAAAAAAAAAAkAAAIAAAABAgAAABZ5b3UgaGF2ZSBhbHJlYWR5IHZvdGVkBAAAAAl2b3RpbmdLZXkJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAANX3ZvdGluZ19zdGF0ZQQAAAALdm90aW5nU3RhdGUJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQUAAAAJdm90aW5nS2V5BAAAAA52b3Rlc0Ftb3VudEtleQkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAA5fdm90aW5nX2Ftb3VudAQAAAAQdm90ZXNBbW91bnRTdGF0ZQkAAGQAAAACCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEFAAAACXZvdGluZ0tleQAAAAAAAAAAAQQAAAAObmV3Vm90aW5nU3RhdGUJAABkAAAAAgUAAAALdm90aW5nU3RhdGUFAAAACXZvdGVWYWx1ZQkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAJdm90aW5nS2V5BQAAAA5uZXdWb3RpbmdTdGF0ZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAHdm90ZUtleQUAAAAJdm90ZVZhbHVlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAA52b3Rlc0Ftb3VudEtleQUAAAAQdm90ZXNBbW91bnRTdGF0ZQUAAAADbmlsAAAAAWkBAAAAGGZpbmlzaFRhc2tQcm9wb3NhbFZvdGluZwAAAAEAAAAGdGFza0lkAwkBAAAAEGlzUXVvcnVtQWNoaWV2ZWQAAAABBQAAAAZ0YXNrSWQJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAACm1vcmUgdGhhbiAJAAGkAAAAAQUAAAAGUVVPUlVNAgAAADIlIG1lbWJlcnMgaGF2ZSB0byB2b3RlIGJlZm9yZSBmaW5pc2hpbmcgdGhlIHZvdGluZwMJAQAAAAEhAAAAAQkBAAAADWlzR3JvdXBNZW1iZXIAAAABCAUAAAABaQAAAAZjYWxsZXIJAAACAAAAAQIAAAAgZ3JhbnRzIHdvcmtpbmcgZ3JvdXAgYWNjZXNzIG9ubHkEAAAACXZvdGluZ0tleQkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAA1fdm90aW5nX3N0YXRlBAAAAAt2b3RpbmdTdGF0ZQkBAAAADXRyeUdldEludGVnZXIAAAABBQAAAAl2b3RpbmdLZXkDCQAAZgAAAAIFAAAAC3ZvdGluZ1N0YXRlAAAAAAAAAAAABAAAAAx2b3RpbmdSZXN1bHQCAAAACGFwcHJvdmVkCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAAB19zdGF0dXMFAAAADHZvdGluZ1Jlc3VsdAUAAAADbmlsBAAAAAx2b3RpbmdSZXN1bHQCAAAACHJlamVjdGVkCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAAB19zdGF0dXMFAAAADHZvdGluZ1Jlc3VsdAUAAAADbmlsAAAAAWkBAAAACXN0YXJ0V29yawAAAAEAAAAGdGFza0lkBAAAAA50ZWFtSWRlbnRpZmllcgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAApfcGVyZm9ybWVyAwkBAAAAAiE9AAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAAHX2xlYWRlcgkAAAIAAAABAgAAABB0ZWFtIGxlYWRlciBvbmx5CQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAAB19zdGF0dXMCAAAADHdvcmtfc3RhcnRlZAUAAAADbmlsAAAAAWkBAAAACnJlamVjdFRhc2sAAAABAAAABnRhc2tJZAMJAQAAAAEhAAAAAQkBAAAADWlzR3JvdXBNZW1iZXIAAAABCAUAAAABaQAAAAZjYWxsZXIJAAACAAAAAQIAAAAgZ3JhbnRzIHdvcmtpbmcgZ3JvdXAgYWNjZXNzIG9ubHkEAAAADnRlYW1JZGVudGlmaWVyCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAACl9wZXJmb3JtZXIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAAHX3N0YXR1cwIAAAAIcmVqZWN0ZWQFAAAAA25pbAAAAAFpAQAAABBhY2NlcHRXb3JrUmVzdWx0AAAAAgAAAAZ0YXNrSWQAAAAKcmVwb3J0TGluawMJAQAAAAEhAAAAAQkBAAAADWlzR3JvdXBNZW1iZXIAAAABCAUAAAABaQAAAAZjYWxsZXIJAAACAAAAAQIAAAAgZ3JhbnRzIHdvcmtpbmcgZ3JvdXAgYWNjZXNzIG9ubHkEAAAADHJld2FyZEFtb3VudAkBAAAADXRyeUdldEludGVnZXIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAAB19yZXdhcmQEAAAADnRlYW1JZGVudGlmaWVyCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAACl9wZXJmb3JtZXIEAAAAC3RlYW1BZGRyZXNzCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAAB19sZWFkZXIJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAAB19zdGF0dXMCAAAADXdvcmtfZmluaXNoZWQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAAHX3JlcG9ydAUAAAAKcmVwb3J0TGluawUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQUAAAALdGVhbUFkZHJlc3MFAAAADHJld2FyZEFtb3VudAUAAAAEdW5pdAUAAAADbmlsAAAAAHFCy7g=", "height": 1320103, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: G3DxqjJyMHncb1yePgDw9pZgMWQubQoCKaiF7DvrxEAV Next: 9cCddCFYEzWZ5wiBUEihBjk4Zh3hbBM4MfpjZdT4EuGX Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = addressFromStringValue("3MwRzi2BmqZZXWrCGCwcRQLsnic2Aod6zhS")
4+let a = 1
55
6-let b = 1
7-
8-func c (d) = {
9- let e = {
10- let f = getInteger(this, d)
11- if ($isInstanceOf(f, "Int"))
6+func b (c) = {
7+ let d = {
8+ let e = getInteger(this, c)
9+ if ($isInstanceOf(e, "Int"))
1210 then {
13- let g = f
14- g
11+ let f = e
12+ f
1513 }
1614 else 0
1715 }
18- e
16+ d
1917 }
2018
2119
22-func h (d) = {
23- let e = {
24- let f = getString(this, d)
25- if ($isInstanceOf(f, "String"))
20+func g (c) = {
21+ let d = {
22+ let e = getString(this, c)
23+ if ($isInstanceOf(e, "String"))
2624 then {
27- let g = f
28- g
25+ let f = e
26+ f
2927 }
3028 else ""
3129 }
32- e
30+ d
3331 }
3432
3533
36-func i (j) = (j == this)
34+let h = addressFromStringValue("3MwRzi2BmqZZXWrCGCwcRQLsnic2Aod6zhS")
35+
36+func i () = {
37+ let d = {
38+ let e = getString(h, "working_group_members")
39+ if ($isInstanceOf(e, "String"))
40+ then {
41+ let f = e
42+ f
43+ }
44+ else ""
45+ }
46+ d
47+ }
48+
49+
50+func j () = {
51+ let d = {
52+ let e = getString(h, "dao_members")
53+ if ($isInstanceOf(e, "String"))
54+ then {
55+ let f = e
56+ f
57+ }
58+ else ""
59+ }
60+ d
61+ }
3762
3863
3964 func k () = {
40- let e = {
41- let f = getString(a, "working_group_members")
42- if ($isInstanceOf(f, "String"))
65+ let d = {
66+ let e = getInteger(h, "dao_size")
67+ if ($isInstanceOf(e, "Int"))
4368 then {
44- let g = f
45- g
69+ let f = e
70+ f
4671 }
47- else ""
72+ else 0
4873 }
49- e
74+ d
5075 }
5176
5277
53-func l () = {
54- let e = {
55- let f = getString(a, "dao_members")
56- if ($isInstanceOf(f, "String"))
78+func l (m) = {
79+ let d = {
80+ let e = getInteger(h, (("working_group_member_" + toString(m)) + "_weight"))
81+ if ($isInstanceOf(e, "Int"))
5782 then {
58- let g = f
59- g
60- }
61- else ""
62- }
63- e
64- }
65-
66-
67-func m () = {
68- let e = {
69- let f = getInteger(a, "dao_size")
70- if ($isInstanceOf(f, "Int"))
71- then {
72- let g = f
73- g
83+ let f = e
84+ f
7485 }
7586 else 0
7687 }
77- e
88+ (d > 0)
7889 }
7990
8091
8192 func n (o) = {
82- let e = {
83- let f = getInteger(a, (("working_group_member_" + toString(o)) + "_weight"))
84- if ($isInstanceOf(f, "Int"))
93+ let d = {
94+ let e = getInteger(h, (("dao_member_" + toString(o.caller)) + "_weight"))
95+ if ($isInstanceOf(e, "Int"))
8596 then {
86- let g = f
87- g
97+ let f = e
98+ f
8899 }
89100 else 0
90101 }
91- (e > 0)
102+ (d > 0)
92103 }
93104
94105
95-func p (q) = {
96- let e = {
97- let f = getInteger(a, (("dao_member_" + toString(q.caller)) + "_weight"))
98- if ($isInstanceOf(f, "Int"))
99- then {
100- let g = f
101- g
102- }
103- else 0
104- }
105- (e > 0)
106- }
107-
108-
109-func r (s) = if ((s == "like"))
106+func p (q) = if ((q == "like"))
110107 then 1
111- else if ((s == "dislike"))
108+ else if ((q == "dislike"))
112109 then -1
113110 else throw("you need to vote with 'like' or 'dislike' value")
114111
115112
116-@Callable(q)
117-func addTask (t,u) = if (!(n(q.caller)))
118- then throw("grants working group access only")
119- else WriteSet([DataEntry((("tasks_" + toBase58String(q.transactionId)) + "_title"), t), DataEntry((("tasks_" + toBase58String(q.transactionId)) + "_link"), u)])
113+func r (s) = (getStringValue(this, (("tasks_" + s) + "_status")) == "voting_started")
114+
115+
116+func t (s) = (a > ((b((("tasks_" + s) + "_voting_amount")) * 100) / k()))
117+
118+
119+@Callable(o)
120+func addTask (u,v) = WriteSet([DataEntry((("tasks_" + toBase58String(o.transactionId)) + "_title"), u), DataEntry((("tasks_" + toBase58String(o.transactionId)) + "_link"), v), DataEntry((("tasks_" + toBase58String(o.transactionId)) + "_leader"), toString(o.caller))])
120121
121122
122123
123-@Callable(q)
124-func addReward (v) = if (!(n(q.caller)))
125- then throw("grants working group access only")
126- else {
127- let w = extract(q.payment).amount
128- WriteSet([DataEntry((("tasks_" + v) + "_reward"), w), DataEntry((("tasks_" + v) + "_status"), "proposed")])
129- }
124+@Callable(o)
125+func addReward (s,w) = if ((g((("tasks_" + s) + "_status")) != ""))
126+ then throw("voting was already started, so the reward amount cannot be changed")
127+ else if ((toString(o.caller) != g((("tasks_" + s) + "_leader"))))
128+ then throw("team leader only")
129+ else WriteSet([DataEntry((("tasks_" + s) + "_reward"), w)])
130130
131131
132132
133-@Callable(q)
134-func voteForTaskProposal (v,x) = if (!(p(q)))
135- then throw("you can't vote")
136- else if ((getStringValue(this, (("tasks_" + v) + "_status")) != "proposed"))
137- then throw("voting is closed or not started")
138- else if (if ((x != "like"))
139- then (x != "dislike")
140- else false)
141- then throw("you need to vote like or dislike")
142- else {
143- let y = r(x)
144- let z = ((("tasks_" + v) + "_voted_") + toString(q.caller))
145- let A = c(z)
146- if (!((A == 0)))
147- then throw("you have already voted")
148- else {
149- let B = (("tasks_" + v) + "_voting_state")
150- let C = c(B)
151- let D = (("tasks_" + v) + "_voting_amount")
152- let E = (c(B) + 1)
153- let F = (C + y)
154- ScriptResult(WriteSet([DataEntry(B, F), DataEntry(z, y), DataEntry(D, E)]), TransferSet([ScriptTransfer(q.caller, 500000, unit)]))
155- }
156- }
133+@Callable(o)
134+func initTaskVoting (s) = if (!(l(o.caller)))
135+ then throw("grants working group access only")
136+ else WriteSet([DataEntry((("tasks_" + s) + "_status"), "voting_started")])
157137
158138
159139
160-@Callable(q)
161-func finishTaskProposalVoting (v) = if ((b > ((c((("tasks_" + v) + "_voting_amount")) * 100) / m())))
162- then throw((("more than " + toString(b)) + "% members have to vote before finishing the voting"))
163- else if (!(n(q.caller)))
164- then throw("grants working group access only")
140+@Callable(o)
141+func voteForTaskProposal (s,x) = if (!(n(o)))
142+ then throw("you can't vote")
143+ else if (r(s))
144+ then throw("voting is closed or not started")
165145 else {
166- let B = (("tasks_" + v) + "_voting_state")
167- let C = c(B)
168- if ((C > 0))
169- then {
170- let G = "ready_to_apply"
171- WriteSet([DataEntry((("tasks_" + v) + "_status"), G)])
172- }
146+ let y = p(x)
147+ let z = ((("tasks_" + s) + "_voted_") + toString(o.caller))
148+ let A = b(z)
149+ if (!((A == 0)))
150+ then throw("you have already voted")
173151 else {
174- let G = "rejected"
175- WriteSet([DataEntry((("tasks_" + v) + "_status"), G)])
152+ let B = (("tasks_" + s) + "_voting_state")
153+ let C = b(B)
154+ let D = (("tasks_" + s) + "_voting_amount")
155+ let E = (b(B) + 1)
156+ let F = (C + y)
157+ WriteSet([DataEntry(B, F), DataEntry(z, y), DataEntry(D, E)])
176158 }
177159 }
178160
179161
180162
181-@Callable(q)
182-func applyForTask (v,H,u) = {
183- let I = h((("tasks_" + v) + "_status"))
184- if ((I != "ready_to_apply"))
185- then throw("This grant has not yet been approved")
163+@Callable(o)
164+func finishTaskProposalVoting (s) = if (t(s))
165+ then throw((("more than " + toString(a)) + "% members have to vote before finishing the voting"))
166+ else if (!(l(o.caller)))
167+ then throw("grants working group access only")
186168 else {
187- let J = (("tasks_" + v) + "_applicants")
188- let K = h(J)
189- let L = drop(toString(q.caller), 10)
190- let M = ((K + ";") + toString(q.caller))
191- WriteSet([DataEntry((((("tasks_" + v) + "_app_") + L) + "_name"), H), DataEntry((((("tasks_" + v) + "_app_") + L) + "_link"), u), DataEntry((((("tasks_" + v) + "_app_") + L) + "_leader"), toString(q.caller)), DataEntry((((("tasks_" + v) + "_app_") + L) + "_id"), L), DataEntry(J, M)])
169+ let B = (("tasks_" + s) + "_voting_state")
170+ let C = b(B)
171+ if ((C > 0))
172+ then {
173+ let G = "approved"
174+ WriteSet([DataEntry((("tasks_" + s) + "_status"), G)])
175+ }
176+ else {
177+ let G = "rejected"
178+ WriteSet([DataEntry((("tasks_" + s) + "_status"), G)])
179+ }
192180 }
181+
182+
183+
184+@Callable(o)
185+func startWork (s) = {
186+ let H = getStringValue(this, (("tasks_" + s) + "_performer"))
187+ if ((toString(o.caller) != getStringValue(this, (("tasks_" + s) + "_leader"))))
188+ then throw("team leader only")
189+ else WriteSet([DataEntry((("tasks_" + s) + "_status"), "work_started")])
193190 }
194191
195192
196193
197-@Callable(q)
198-func voteForApplicant (v,N,x) = if (!(p(q)))
199- then throw("you can't vote")
194+@Callable(o)
195+func rejectTask (s) = if (!(l(o.caller)))
196+ then throw("grants working group access only")
200197 else {
201- let O = (drop(toString(q.caller), 10) + drop(N, 10))
202- let z = ((("tasks_" + v) + "_vote_") + O)
203- let P = c(z)
204- if ((P != 0))
205- then throw("you have already voted on this team")
206- else {
207- let y = r(x)
208- let Q = (((("tasks_" + v) + "_app_") + N) + "_votes")
209- let R = (((("tasks_" + v) + "_app_") + N) + "_score")
210- let S = (1 + c(Q))
211- let T = (y + c(R))
212- WriteSet([DataEntry(z, y), DataEntry(R, T)])
213- }
198+ let H = getStringValue(this, (("tasks_" + s) + "_performer"))
199+ WriteSet([DataEntry((("tasks_" + s) + "_status"), "rejected")])
214200 }
215201
216202
217203
218-@Callable(q)
219-func finishApplicantsVoting (v) = {
220- func U (V,W) = {
221- let J = (("tasks_" + v) + "_applicants")
222- let X = split(getStringValue(this, J), ";")
223- let N = X[V]
224- let Q = (((("tasks_" + v) + "_app_") + N) + "_votes")
225- let S = c(Q)
226- if ((S > 0))
227- then 1
228- else throw(("not enough votes to make decision on " + N))
229- }
230-
231- func Y (V,W) = {
232- let J = (("tasks_" + v) + "_applicants")
233- let X = split(getStringValue(this, J), ";")
234- let N = X[V]
235- let Q = (((("tasks_" + v) + "_app_") + N) + "_votes")
236- let S = c(Q)
237- let Z = X[W]
238- let aa = (((("tasks_" + v) + "_app_") + Z) + "_votes")
239- let ab = c(aa)
240- if ((S > ab))
241- then V
242- else W
243- }
244-
245- if (!(n(q.caller)))
246- then throw("grants working group access only")
247- else {
248- let ac = h((("tasks_" + v) + "_applicants"))
249- let X = split(ac, ";")
250- if ((size(X) == 0))
251- then throw("No one has yet responded to the grant")
252- else {
253- let ad = {
254- let ae = [0, 1]
255- let af = size(ae)
256- let ag = 0
257- if ((af == 0))
258- then ag
259- else {
260- let ah = Y(ag, ae[0])
261- if ((af == 1))
262- then ah
263- else {
264- let ai = Y(ah, ae[1])
265- if ((af == 2))
266- then ai
267- else {
268- let aj = Y(ai, ae[2])
269- throw("List size exceed 2")
270- }
271- }
272- }
273- }
274- let N = X[ad]
275- WriteSet([DataEntry((("tasks_" + v) + "_status"), "team_chosen"), DataEntry((("tasks_" + v) + "_performer"), N), DataEntry((((("tasks_" + v) + "_app_") + N) + "_process"), "can_begin")])
276- }
277- }
278- }
279-
280-
281-
282-@Callable(q)
283-func startWork (v) = {
284- let N = getStringValue(this, (("tasks_" + v) + "_performer"))
285- if ((toString(q.caller) != getStringValue(this, (((("tasks_" + v) + "_app_") + N) + "_leader"))))
286- then throw("team leader only")
287- else WriteSet([DataEntry((("tasks_" + v) + "_status"), "work_started"), DataEntry((((("tasks_" + v) + "_app_") + N) + "_process"), "work_started")])
288- }
289-
290-
291-
292-@Callable(q)
293-func acceptWorkResult (v,ak) = if (!(n(q.caller)))
204+@Callable(o)
205+func acceptWorkResult (s,I) = if (!(l(o.caller)))
294206 then throw("grants working group access only")
295207 else {
296- let al = c((("tasks_" + v) + "_reward"))
297- let N = getStringValue(this, (("tasks_" + v) + "_performer"))
298- let am = getStringValue(this, (((("tasks_" + v) + "_app_") + N) + "_leader"))
299- ScriptResult(WriteSet([DataEntry((("tasks_" + v) + "_status"), "work_finished"), DataEntry((((("tasks_" + v) + "_app_") + N) + "_process"), "work_finished"), DataEntry((("tasks_" + v) + "_report"), ak)]), TransferSet([ScriptTransfer(addressFromStringValue(am), al, unit)]))
208+ let J = b((("tasks_" + s) + "_reward"))
209+ let H = getStringValue(this, (("tasks_" + s) + "_performer"))
210+ let K = getStringValue(this, (("tasks_" + s) + "_leader"))
211+ ScriptResult(WriteSet([DataEntry((("tasks_" + s) + "_status"), "work_finished"), DataEntry((("tasks_" + s) + "_report"), I)]), TransferSet([ScriptTransfer(addressFromStringValue(K), J, unit)]))
300212 }
301-
302-
303-
304-@Callable(q)
305-func rejectTask (v) = if (!(n(q.caller)))
306- then throw("grants working group access only")
307- else WriteSet([DataEntry((("tasks_" + v) + "_status"), "rejected")])
308213
309214

github/deemru/w8io/873ac7e 
64.87 ms