tx · GsD4d3LYof1YEMvpY3Hzun1XuaSuwygvoRQsjbxTsTJk

3N4ziXSMRverXyxHDUKKMR9MHXnB3TyU3Yh:  -0.01000000 Waves

2023.04.18 17:23 [2540095] smart account 3N4ziXSMRverXyxHDUKKMR9MHXnB3TyU3Yh > SELF 0.00000000 Waves

{ "type": 13, "id": "GsD4d3LYof1YEMvpY3Hzun1XuaSuwygvoRQsjbxTsTJk", "fee": 1000000, "feeAssetId": null, "timestamp": 1681827897162, "version": 2, "chainId": 84, "sender": "3N4ziXSMRverXyxHDUKKMR9MHXnB3TyU3Yh", "senderPublicKey": "EU9obW1yVhR8qug3EmXPeew3DMagvJFQzY5Ku8bmcsU7", "proofs": [ "4bHFQ6ZmMcZcoQDu6BNPBStkxfKckq4f5kMjCU52wx4zrmwEzmTvuEEFo2fFTt36sCReE75rRjWZnzHg6TnQ7xNJ" ], "script": "base64:BgINCAISABIDCgEIEgASABgAA1NFUAICX18AEGNvbnRyYWN0RmlsZW5hbWUCCXRlc3QucmlkZQEIdGhyb3dFcnIBAXMJAAIBCQCsAgIJAKwCAgUQY29udHJhY3RGaWxlbmFtZQICOiAFAXMBGWtleUFjdGl2ZU1hbmFnZXJQdWJsaWNLZXkACQC5CQIJAMwIAgICJXMJAMwIAgIQbWFuYWdlclB1YmxpY0tleQUDbmlsBQNTRVABGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAkAuQkCCQDMCAICAiVzCQDMCAICF3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5BQNuaWwFA1NFUAEdcGVuZGluZ01hbmFnZXJQdWJsaWNLZXlPclVuaXQABAckbWF0Y2gwCQCiCAEJARprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleQADCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQDZBAEFAXMDCQABAgUHJG1hdGNoMAIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yARprZXlTZXROZXdNYW5hZ2VyVm90ZVByZWZpeAEQbWFuYWdlclB1YmxpY0tleQkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAgpzZXRNYW5hZ2VyCQDMCAIFEG1hbmFnZXJQdWJsaWNLZXkFA25pbAUDU0VQARRrZXlTZXROZXdNYW5hZ2VyVm90ZQIQbWFuYWdlclB1YmxpY0tleQVhZG1pbgkAuQkCCQDMCAIJARprZXlTZXROZXdNYW5hZ2VyVm90ZVByZWZpeAEFEG1hbmFnZXJQdWJsaWNLZXkJAMwIAgUFYWRtaW4FA25pbAUDU0VQARRnZXRTZXROZXdNYW5hZ2VyVm90ZQIQbWFuYWdlclB1YmxpY0tleQVhZG1pbgkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEUa2V5U2V0TmV3TWFuYWdlclZvdGUCBRBtYW5hZ2VyUHVibGljS2V5BQVhZG1pbgAAAR5rZXlEZWFjdGl2YXRlTWFuYWdlclZvdGVQcmVmaXgACQC5CQIJAMwIAgIEJXMlcwkAzAgCAhFkZWFjdGl2YXRlTWFuYWdlcgUDbmlsBQNTRVABGGtleURlYWN0aXZhdGVNYW5hZ2VyVm90ZQEFYWRtaW4JALkJAgkAzAgCCQEea2V5RGVhY3RpdmF0ZU1hbmFnZXJWb3RlUHJlZml4AAkAzAgCBQVhZG1pbgUDbmlsBQNTRVABGGdldERlYWN0aXZhdGVNYW5hZ2VyVm90ZQEFYWRtaW4JAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBGGtleURlYWN0aXZhdGVNYW5hZ2VyVm90ZQEFBWFkbWluAAABHGtleUFjdGl2YXRlTWFuYWdlclZvdGVQcmVmaXgACQC5CQIJAMwIAgIEJXMlcwkAzAgCAg9hY3RpdmF0ZU1hbmFnZXIFA25pbAUDU0VQARZrZXlBY3RpdmF0ZU1hbmFnZXJWb3RlAQVhZG1pbgkAuQkCCQDMCAIJARxrZXlBY3RpdmF0ZU1hbmFnZXJWb3RlUHJlZml4AAkAzAgCBQVhZG1pbgUDbmlsBQNTRVABFmdldEFjdGl2YXRlTWFuYWdlclZvdGUBBWFkbWluCQELdmFsdWVPckVsc2UCCQCfCAEJARZrZXlBY3RpdmF0ZU1hbmFnZXJWb3RlAQUFYWRtaW4AAAEPYWRtaW5BZHJlc3NMaXN0AAkAuQkCCQDMCAICAiVzCQDMCAICEGFkbWluQWRkcmVzc0xpc3QFA25pbAUDU0VQAQ1nZXRBZG1pbnNMaXN0AAkAtQkCCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQ9hZG1pbkFkcmVzc0xpc3QAAgAFA1NFUAENaXNJbkFkbWluTGlzdAEHYWRkcmVzcwQHJG1hdGNoMAkAzwgCCQENZ2V0QWRtaW5zTGlzdAAFB2FkZHJlc3MDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBgcBEmdlblZvdGVzS2V5c0hlbHBlcgIDbHN0DGFkbWluQWRkcmVzcwQLJHQwMjE2NDIxOTAFA2xzdAQGcmVzdWx0CAULJHQwMjE2NDIxOTACXzEEBnByZWZpeAgFCyR0MDIxNjQyMTkwAl8yCQCUCgIJAM0IAgUGcmVzdWx0CQC5CQIJAMwIAgUGcHJlZml4CQDMCAIFDGFkbWluQWRkcmVzcwUDbmlsBQNTRVAFBnByZWZpeAEMZ2VuVm90ZXNLZXlzAQlrZXlQcmVmaXgECWFkbWluTGlzdAkBD2FkbWluQWRyZXNzTGlzdAAKAAIkbAkBDWdldEFkbWluc0xpc3QACgACJHMJAJADAQUCJGwKAAUkYWNjMAkAlAoCBQNuaWwFCWtleVByZWZpeAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQESZ2VuVm90ZXNLZXlzSGVscGVyAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKARBjb3VudFZvdGVzSGVscGVyAgZyZXN1bHQHdm90ZUtleQkAZAIFBnJlc3VsdAkBC3ZhbHVlT3JFbHNlAgkAnwgBBQd2b3RlS2V5AAABCmNvdW50Vm90ZXMBBnByZWZpeAQFdm90ZXMICQEMZ2VuVm90ZXNLZXlzAQUGcHJlZml4Al8xCgACJGwFBXZvdGVzCgACJHMJAJADAQUCJGwKAAUkYWNjMAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJARBjb3VudFZvdGVzSGVscGVyAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKARBjbGVhclZvdGVzSGVscGVyAgZyZXN1bHQDa2V5CQDNCAIFBnJlc3VsdAkBC0RlbGV0ZUVudHJ5AQUDa2V5ARRnZXRDbGVhclZvdGVzRW50cmllcwEGcHJlZml4BAV2b3RlcwgJAQxnZW5Wb3Rlc0tleXMBBQZwcmVmaXgCXzEKAAIkbAUFdm90ZXMKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBEGNsZWFyVm90ZXNIZWxwZXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDEwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoEAWkBDmNvbmZpcm1NYW5hZ2VyAAQCcG0JAR1wZW5kaW5nTWFuYWdlclB1YmxpY0tleU9yVW5pdAAEBWhhc1BNAwkBCWlzRGVmaW5lZAEFAnBtBgkBCHRocm93RXJyAQISbm8gcGVuZGluZyBtYW5hZ2VyAwkAAAIFBWhhc1BNBQVoYXNQTQQHY2hlY2tQTQMJAAACCAUBaQ9jYWxsZXJQdWJsaWNLZXkJAQV2YWx1ZQEFAnBtBgkBCHRocm93RXJyAQIbeW91IGFyZSBub3QgcGVuZGluZyBtYW5hZ2VyAwkAAAIFB2NoZWNrUE0FB2NoZWNrUE0JAMwIAgkBC1N0cmluZ0VudHJ5AgkBGWtleUFjdGl2ZU1hbmFnZXJQdWJsaWNLZXkACQDYBAEJAQV2YWx1ZQEFAnBtBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEQdm90ZUZvck5ld01hbmdlcgETbmV3TWFuYWdlclB1YmxpY0tleQQTY2FsbGVyQWRkcmVzc1N0cmluZwkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAwkBDWlzSW5BZG1pbkxpc3QBBRNjYWxsZXJBZGRyZXNzU3RyaW5nAwkAAAIJARRnZXRTZXROZXdNYW5hZ2VyVm90ZQIFE25ld01hbmFnZXJQdWJsaWNLZXkFE2NhbGxlckFkZHJlc3NTdHJpbmcAAQkBCHRocm93RXJyAQkArAICCQCsAgIJAKwCAgkArAICAglBZGRyZXNzOiAFE2NhbGxlckFkZHJlc3NTdHJpbmcCDSBOZXdNYW5hZ2VyOiAFE25ld01hbmFnZXJQdWJsaWNLZXkCJSB2b3RlRm9yTmV3TWFuZ2VyKCkgeW91IGFscmVhZHkgdm90ZWQEBXZvdGVzCQEKY291bnRWb3RlcwEJARprZXlTZXROZXdNYW5hZ2VyVm90ZVByZWZpeAEFE25ld01hbmFnZXJQdWJsaWNLZXkDCQBnAgkAZAIFBXZvdGVzAAEAAgQRY2xlYXJWb3Rlc0VudHJpZXMJARRnZXRDbGVhclZvdGVzRW50cmllcwEJARprZXlTZXROZXdNYW5hZ2VyVm90ZVByZWZpeAEFE25ld01hbmFnZXJQdWJsaWNLZXkJAM4IAgURY2xlYXJWb3Rlc0VudHJpZXMJAMwIAgkBC1N0cmluZ0VudHJ5AgkBGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAUTbmV3TWFuYWdlclB1YmxpY0tleQUDbmlsCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEUa2V5U2V0TmV3TWFuYWdlclZvdGUCBRNuZXdNYW5hZ2VyUHVibGljS2V5BRNjYWxsZXJBZGRyZXNzU3RyaW5nAAEFA25pbAkBCHRocm93RXJyAQkArAICCQCsAgICCUFkZHJlc3M6IAUTY2FsbGVyQWRkcmVzc1N0cmluZwISIG5vdCBpbiBBZG1pbiBsaXN0AWkBEWRlYWN0aXZhdGVNYW5hZ2VyAAQTY2FsbGVyQWRkcmVzc1N0cmluZwkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAwkBDWlzSW5BZG1pbkxpc3QBBRNjYWxsZXJBZGRyZXNzU3RyaW5nAwkAAAIJARhnZXREZWFjdGl2YXRlTWFuYWdlclZvdGUBBRNjYWxsZXJBZGRyZXNzU3RyaW5nAAEJAQh0aHJvd0VycgEJAKwCAgkArAICAglBZGRyZXNzOiAFE2NhbGxlckFkZHJlc3NTdHJpbmcCJiBkZWFjdGl2YXRlTWFuYWdlcigpIHlvdSBhbHJlYWR5IHZvdGVkBAV2b3RlcwkBCmNvdW50Vm90ZXMBCQEea2V5RGVhY3RpdmF0ZU1hbmFnZXJWb3RlUHJlZml4AAMJAGcCCQBkAgUFdm90ZXMAAQABBBFjbGVhclZvdGVzRW50cmllcwkBFGdldENsZWFyVm90ZXNFbnRyaWVzAQkBHmtleURlYWN0aXZhdGVNYW5hZ2VyVm90ZVByZWZpeAAJAM4IAgURY2xlYXJWb3Rlc0VudHJpZXMJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBGWtleUFjdGl2ZU1hbmFnZXJQdWJsaWNLZXkABQNuaWwJAMwIAgkBDEludGVnZXJFbnRyeQIJARhrZXlEZWFjdGl2YXRlTWFuYWdlclZvdGUBBRNjYWxsZXJBZGRyZXNzU3RyaW5nAAEFA25pbAkBCHRocm93RXJyAQkArAICCQCsAgICCUFkZHJlc3M6IAUTY2FsbGVyQWRkcmVzc1N0cmluZwISIG5vdCBpbiBBZG1pbiBsaXN0AWkBD2FjdGl2YXRlTWFuYWdlcgAEE2NhbGxlckFkZHJlc3NTdHJpbmcJANgEAQgIBQFpBmNhbGxlcgVieXRlcwQUcGVuZGluZ01hbmFnZXJTdHJpbmcJARFAZXh0ck5hdGl2ZSgxMDU4KQEJARprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleQADCQENaXNJbkFkbWluTGlzdAEFE2NhbGxlckFkZHJlc3NTdHJpbmcDCQAAAgkBFmdldEFjdGl2YXRlTWFuYWdlclZvdGUBBRNjYWxsZXJBZGRyZXNzU3RyaW5nAAEJAQh0aHJvd0VycgEJAKwCAgkArAICAglBZGRyZXNzOiAFE2NhbGxlckFkZHJlc3NTdHJpbmcCJCBhY3RpdmF0ZU1hbmFnZXIoKSB5b3UgYWxyZWFkeSB2b3RlZAQFdm90ZXMJAQpjb3VudFZvdGVzAQkBHGtleUFjdGl2YXRlTWFuYWdlclZvdGVQcmVmaXgAAwkAZwIJAGQCBQV2b3RlcwABAAIEEWNsZWFyVm90ZXNFbnRyaWVzCQEUZ2V0Q2xlYXJWb3Rlc0VudHJpZXMBCQEca2V5QWN0aXZhdGVNYW5hZ2VyVm90ZVByZWZpeAAJAM4IAgURY2xlYXJWb3Rlc0VudHJpZXMJAMwIAgkBC1N0cmluZ0VudHJ5AgkBGWtleUFjdGl2ZU1hbmFnZXJQdWJsaWNLZXkABRRwZW5kaW5nTWFuYWdlclN0cmluZwUDbmlsCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEWa2V5QWN0aXZhdGVNYW5hZ2VyVm90ZQEFE2NhbGxlckFkZHJlc3NTdHJpbmcAAQUDbmlsCQEIdGhyb3dFcnIBCQCsAgIJAKwCAgIJQWRkcmVzczogBRNjYWxsZXJBZGRyZXNzU3RyaW5nAhIgbm90IGluIEFkbWluIGxpc3QAkuYW7w==", "height": 2540095, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AR6YkGR42shTBWuk6u8eBmFfXR5oPExJkGxYXmv6iGzo Next: CbYhGEjzPX1JjdCuyLLsou7jLwXwBGooHPFCbrykkgar Diff:
OldNewDifferences
4545 func p (l) = valueOrElse(getInteger(o(l)), 0)
4646
4747
48-func q () = makeString(["%s", "adminAddressList"], a)
48+func q () = makeString(["%s%s", "activateManager"], a)
4949
5050
51-func r () = split(valueOrElse(getString(this, q()), ""), a)
51+func r (l) = makeString([q(), l], a)
5252
5353
54-func s (t) = {
55- let h = indexOf(r(), t)
54+func s (l) = valueOrElse(getInteger(r(l)), 0)
55+
56+
57+func t () = makeString(["%s", "adminAddressList"], a)
58+
59+
60+func u () = split(valueOrElse(getString(this, t()), ""), a)
61+
62+
63+func v (w) = {
64+ let h = indexOf(u(), w)
5665 if ($isInstanceOf(h, "Int"))
5766 then {
58- let u = h
67+ let x = h
5968 true
6069 }
6170 else false
6271 }
6372
6473
65-func v (w,x) = {
66- let y = w
67- let z = y._1
68- let A = y._2
69- $Tuple2((z :+ makeString([A, x], a)), A)
74+func y (z,A) = {
75+ let B = z
76+ let C = B._1
77+ let D = B._2
78+ $Tuple2((C :+ makeString([D, A], a)), D)
7079 }
7180
7281
73-func B (C) = {
74- let D = q()
75- let E = r()
76- let F = size(E)
77- let G = $Tuple2(nil, C)
78- func H (I,J) = if ((J >= F))
79- then I
80- else v(I, E[J])
82+func E (F) = {
83+ let G = t()
84+ let H = u()
85+ let I = size(H)
86+ let J = $Tuple2(nil, F)
87+ func K (L,M) = if ((M >= I))
88+ then L
89+ else y(L, H[M])
8190
82- func K (I,J) = if ((J >= F))
83- then I
91+ func N (L,M) = if ((M >= I))
92+ then L
8493 else throw("List size exceeds 10")
8594
86- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
95+ N(K(K(K(K(K(K(K(K(K(K(J, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
8796 }
8897
8998
90-func L (z,M) = (z + valueOrElse(getInteger(M), 0))
99+func O (C,P) = (C + valueOrElse(getInteger(P), 0))
91100
92101
93-func N (A) = {
94- let O = B(A)._1
95- let E = O
96- let F = size(E)
97- let G = 0
98- func H (I,J) = if ((J >= F))
99- then I
100- else L(I, E[J])
102+func Q (D) = {
103+ let R = E(D)._1
104+ let H = R
105+ let I = size(H)
106+ let J = 0
107+ func K (L,M) = if ((M >= I))
108+ then L
109+ else O(L, H[M])
101110
102- func K (I,J) = if ((J >= F))
103- then I
111+ func N (L,M) = if ((M >= I))
112+ then L
104113 else throw("List size exceeds 10")
105114
106- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
115+ N(K(K(K(K(K(K(K(K(K(K(J, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
107116 }
108117
109118
110-func P (z,Q) = (z :+ DeleteEntry(Q))
119+func S (C,T) = (C :+ DeleteEntry(T))
111120
112121
113-func R (A) = {
114- let O = B(A)._1
115- let E = O
116- let F = size(E)
117- let G = nil
118- func H (I,J) = if ((J >= F))
119- then I
120- else P(I, E[J])
122+func U (D) = {
123+ let R = E(D)._1
124+ let H = R
125+ let I = size(H)
126+ let J = nil
127+ func K (L,M) = if ((M >= I))
128+ then L
129+ else S(L, H[M])
121130
122- func K (I,J) = if ((J >= F))
123- then I
131+ func N (L,M) = if ((M >= I))
132+ then L
124133 else throw("List size exceeds 10")
125134
126- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
135+ N(K(K(K(K(K(K(K(K(K(K(J, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
127136 }
128137
129138
130-@Callable(S)
139+@Callable(V)
131140 func confirmManager () = {
132- let T = g()
133- let U = if (isDefined(T))
141+ let W = g()
142+ let X = if (isDefined(W))
134143 then true
135144 else c("no pending manager")
136- if ((U == U))
145+ if ((X == X))
137146 then {
138- let V = if ((S.callerPublicKey == value(T)))
147+ let Y = if ((V.callerPublicKey == value(W)))
139148 then true
140149 else c("you are not pending manager")
141- if ((V == V))
142- then [StringEntry(e(), toBase58String(value(T)))]
150+ if ((Y == Y))
151+ then [StringEntry(e(), toBase58String(value(W)))]
143152 else throw("Strict value is not equal to itself.")
144153 }
145154 else throw("Strict value is not equal to itself.")
147156
148157
149158
150-@Callable(S)
151-func voteForNewManger (W) = {
152- let X = toBase58String(S.caller.bytes)
153- if (s(X))
154- then if ((m(W, X) == 1))
155- then c((((("Address: " + X) + " NewManager: ") + W) + " voteForNewManger() you already voted"))
159+@Callable(V)
160+func voteForNewManger (Z) = {
161+ let aa = toBase58String(V.caller.bytes)
162+ if (v(aa))
163+ then if ((m(Z, aa) == 1))
164+ then c((((("Address: " + aa) + " NewManager: ") + Z) + " voteForNewManger() you already voted"))
156165 else {
157- let O = N(i(W))
158- if (((O + 1) >= 2))
166+ let R = Q(i(Z))
167+ if (((R + 1) >= 2))
159168 then {
160- let Y = R(i(W))
161- (Y ++ [StringEntry(f(), W)])
169+ let ab = U(i(Z))
170+ (ab ++ [StringEntry(f(), Z)])
162171 }
163- else [IntegerEntry(k(W, X), 1)]
172+ else [IntegerEntry(k(Z, aa), 1)]
164173 }
165- else c((("Address: " + X) + " not in Admin list"))
174+ else c((("Address: " + aa) + " not in Admin list"))
166175 }
167176
168177
169178
170-@Callable(S)
179+@Callable(V)
171180 func deactivateManager () = {
172- let X = toBase58String(S.caller.bytes)
173- let Z = getStringValue(f())
174- if (s(X))
175- then if ((p(X) == 1))
176- then c((("Address: " + X) + " deactivateManager() you already voted"))
181+ let aa = toBase58String(V.caller.bytes)
182+ if (v(aa))
183+ then if ((p(aa) == 1))
184+ then c((("Address: " + aa) + " deactivateManager() you already voted"))
177185 else {
178- let O = N(n())
179- if (((O + 1) >= 1))
186+ let R = Q(n())
187+ if (((R + 1) >= 1))
180188 then {
181- let Y = R(n())
182- (Y ++ [DeleteEntry(e())])
189+ let ab = U(n())
190+ (ab ++ [DeleteEntry(e())])
183191 }
184- else [IntegerEntry(o(X), 1)]
192+ else [IntegerEntry(o(aa), 1)]
185193 }
186- else c((("Address: " + X) + " not in Admin list"))
194+ else c((("Address: " + aa) + " not in Admin list"))
195+ }
196+
197+
198+
199+@Callable(V)
200+func activateManager () = {
201+ let aa = toBase58String(V.caller.bytes)
202+ let ac = getStringValue(f())
203+ if (v(aa))
204+ then if ((s(aa) == 1))
205+ then c((("Address: " + aa) + " activateManager() you already voted"))
206+ else {
207+ let R = Q(q())
208+ if (((R + 1) >= 2))
209+ then {
210+ let ab = U(q())
211+ (ab ++ [StringEntry(e(), ac)])
212+ }
213+ else [IntegerEntry(r(aa), 1)]
214+ }
215+ else c((("Address: " + aa) + " not in Admin list"))
187216 }
188217
189218
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = "test.ride"
77
88 func c (d) = throw(((b + ": ") + d))
99
1010
1111 func e () = makeString(["%s", "managerPublicKey"], a)
1212
1313
1414 func f () = makeString(["%s", "pendingManagerPublicKey"], a)
1515
1616
1717 func g () = {
1818 let h = getString(f())
1919 if ($isInstanceOf(h, "String"))
2020 then {
2121 let d = h
2222 fromBase58String(d)
2323 }
2424 else if ($isInstanceOf(h, "Unit"))
2525 then unit
2626 else throw("Match error")
2727 }
2828
2929
3030 func i (j) = makeString(["%s%s%s", "setManager", j], a)
3131
3232
3333 func k (j,l) = makeString([i(j), l], a)
3434
3535
3636 func m (j,l) = valueOrElse(getInteger(k(j, l)), 0)
3737
3838
3939 func n () = makeString(["%s%s", "deactivateManager"], a)
4040
4141
4242 func o (l) = makeString([n(), l], a)
4343
4444
4545 func p (l) = valueOrElse(getInteger(o(l)), 0)
4646
4747
48-func q () = makeString(["%s", "adminAddressList"], a)
48+func q () = makeString(["%s%s", "activateManager"], a)
4949
5050
51-func r () = split(valueOrElse(getString(this, q()), ""), a)
51+func r (l) = makeString([q(), l], a)
5252
5353
54-func s (t) = {
55- let h = indexOf(r(), t)
54+func s (l) = valueOrElse(getInteger(r(l)), 0)
55+
56+
57+func t () = makeString(["%s", "adminAddressList"], a)
58+
59+
60+func u () = split(valueOrElse(getString(this, t()), ""), a)
61+
62+
63+func v (w) = {
64+ let h = indexOf(u(), w)
5665 if ($isInstanceOf(h, "Int"))
5766 then {
58- let u = h
67+ let x = h
5968 true
6069 }
6170 else false
6271 }
6372
6473
65-func v (w,x) = {
66- let y = w
67- let z = y._1
68- let A = y._2
69- $Tuple2((z :+ makeString([A, x], a)), A)
74+func y (z,A) = {
75+ let B = z
76+ let C = B._1
77+ let D = B._2
78+ $Tuple2((C :+ makeString([D, A], a)), D)
7079 }
7180
7281
73-func B (C) = {
74- let D = q()
75- let E = r()
76- let F = size(E)
77- let G = $Tuple2(nil, C)
78- func H (I,J) = if ((J >= F))
79- then I
80- else v(I, E[J])
82+func E (F) = {
83+ let G = t()
84+ let H = u()
85+ let I = size(H)
86+ let J = $Tuple2(nil, F)
87+ func K (L,M) = if ((M >= I))
88+ then L
89+ else y(L, H[M])
8190
82- func K (I,J) = if ((J >= F))
83- then I
91+ func N (L,M) = if ((M >= I))
92+ then L
8493 else throw("List size exceeds 10")
8594
86- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
95+ N(K(K(K(K(K(K(K(K(K(K(J, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
8796 }
8897
8998
90-func L (z,M) = (z + valueOrElse(getInteger(M), 0))
99+func O (C,P) = (C + valueOrElse(getInteger(P), 0))
91100
92101
93-func N (A) = {
94- let O = B(A)._1
95- let E = O
96- let F = size(E)
97- let G = 0
98- func H (I,J) = if ((J >= F))
99- then I
100- else L(I, E[J])
102+func Q (D) = {
103+ let R = E(D)._1
104+ let H = R
105+ let I = size(H)
106+ let J = 0
107+ func K (L,M) = if ((M >= I))
108+ then L
109+ else O(L, H[M])
101110
102- func K (I,J) = if ((J >= F))
103- then I
111+ func N (L,M) = if ((M >= I))
112+ then L
104113 else throw("List size exceeds 10")
105114
106- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
115+ N(K(K(K(K(K(K(K(K(K(K(J, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
107116 }
108117
109118
110-func P (z,Q) = (z :+ DeleteEntry(Q))
119+func S (C,T) = (C :+ DeleteEntry(T))
111120
112121
113-func R (A) = {
114- let O = B(A)._1
115- let E = O
116- let F = size(E)
117- let G = nil
118- func H (I,J) = if ((J >= F))
119- then I
120- else P(I, E[J])
122+func U (D) = {
123+ let R = E(D)._1
124+ let H = R
125+ let I = size(H)
126+ let J = nil
127+ func K (L,M) = if ((M >= I))
128+ then L
129+ else S(L, H[M])
121130
122- func K (I,J) = if ((J >= F))
123- then I
131+ func N (L,M) = if ((M >= I))
132+ then L
124133 else throw("List size exceeds 10")
125134
126- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
135+ N(K(K(K(K(K(K(K(K(K(K(J, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
127136 }
128137
129138
130-@Callable(S)
139+@Callable(V)
131140 func confirmManager () = {
132- let T = g()
133- let U = if (isDefined(T))
141+ let W = g()
142+ let X = if (isDefined(W))
134143 then true
135144 else c("no pending manager")
136- if ((U == U))
145+ if ((X == X))
137146 then {
138- let V = if ((S.callerPublicKey == value(T)))
147+ let Y = if ((V.callerPublicKey == value(W)))
139148 then true
140149 else c("you are not pending manager")
141- if ((V == V))
142- then [StringEntry(e(), toBase58String(value(T)))]
150+ if ((Y == Y))
151+ then [StringEntry(e(), toBase58String(value(W)))]
143152 else throw("Strict value is not equal to itself.")
144153 }
145154 else throw("Strict value is not equal to itself.")
146155 }
147156
148157
149158
150-@Callable(S)
151-func voteForNewManger (W) = {
152- let X = toBase58String(S.caller.bytes)
153- if (s(X))
154- then if ((m(W, X) == 1))
155- then c((((("Address: " + X) + " NewManager: ") + W) + " voteForNewManger() you already voted"))
159+@Callable(V)
160+func voteForNewManger (Z) = {
161+ let aa = toBase58String(V.caller.bytes)
162+ if (v(aa))
163+ then if ((m(Z, aa) == 1))
164+ then c((((("Address: " + aa) + " NewManager: ") + Z) + " voteForNewManger() you already voted"))
156165 else {
157- let O = N(i(W))
158- if (((O + 1) >= 2))
166+ let R = Q(i(Z))
167+ if (((R + 1) >= 2))
159168 then {
160- let Y = R(i(W))
161- (Y ++ [StringEntry(f(), W)])
169+ let ab = U(i(Z))
170+ (ab ++ [StringEntry(f(), Z)])
162171 }
163- else [IntegerEntry(k(W, X), 1)]
172+ else [IntegerEntry(k(Z, aa), 1)]
164173 }
165- else c((("Address: " + X) + " not in Admin list"))
174+ else c((("Address: " + aa) + " not in Admin list"))
166175 }
167176
168177
169178
170-@Callable(S)
179+@Callable(V)
171180 func deactivateManager () = {
172- let X = toBase58String(S.caller.bytes)
173- let Z = getStringValue(f())
174- if (s(X))
175- then if ((p(X) == 1))
176- then c((("Address: " + X) + " deactivateManager() you already voted"))
181+ let aa = toBase58String(V.caller.bytes)
182+ if (v(aa))
183+ then if ((p(aa) == 1))
184+ then c((("Address: " + aa) + " deactivateManager() you already voted"))
177185 else {
178- let O = N(n())
179- if (((O + 1) >= 1))
186+ let R = Q(n())
187+ if (((R + 1) >= 1))
180188 then {
181- let Y = R(n())
182- (Y ++ [DeleteEntry(e())])
189+ let ab = U(n())
190+ (ab ++ [DeleteEntry(e())])
183191 }
184- else [IntegerEntry(o(X), 1)]
192+ else [IntegerEntry(o(aa), 1)]
185193 }
186- else c((("Address: " + X) + " not in Admin list"))
194+ else c((("Address: " + aa) + " not in Admin list"))
195+ }
196+
197+
198+
199+@Callable(V)
200+func activateManager () = {
201+ let aa = toBase58String(V.caller.bytes)
202+ let ac = getStringValue(f())
203+ if (v(aa))
204+ then if ((s(aa) == 1))
205+ then c((("Address: " + aa) + " activateManager() you already voted"))
206+ else {
207+ let R = Q(q())
208+ if (((R + 1) >= 2))
209+ then {
210+ let ab = U(q())
211+ (ab ++ [StringEntry(e(), ac)])
212+ }
213+ else [IntegerEntry(r(aa), 1)]
214+ }
215+ else c((("Address: " + aa) + " not in Admin list"))
187216 }
188217
189218

github/deemru/w8io/c3f4982 
68.83 ms