tx · At81sqW6Btc8hgNYyBLZ3bBcMi4VH7LGchD1HQhYCjrX

3N8g272Yu4uyDrof1aK4vVCuYLkab5ki8v5:  -0.01000000 Waves

2021.12.06 14:55 [1822366] smart account 3N8g272Yu4uyDrof1aK4vVCuYLkab5ki8v5 > SELF 0.00000000 Waves

{ "type": 13, "id": "At81sqW6Btc8hgNYyBLZ3bBcMi4VH7LGchD1HQhYCjrX", "fee": 1000000, "feeAssetId": null, "timestamp": 1638791720743, "version": 1, "sender": "3N8g272Yu4uyDrof1aK4vVCuYLkab5ki8v5", "senderPublicKey": "CK1DzJrcDSodxy99h6mWF6gnbKKKRH3BRVyXaJj3tFFJ", "proofs": [ "41N64bDenLTWKB8Hqus2WtXN4ZvLztg1Xqfgfb2RbQM75FSRQmDarWq3Qi8sUjAuy2yaEGGyPGqtSvYZFh7FFr6s" ], "script": "base64:AAIFAAAAAAAAA5gIAhIAEgMKAQESAwoBARIAGgwKAmExEgZvcmFjbGUaDQoCYTISB2JhbGFuY2UaFwoCYTMSEVNXT1Bnb3Zlcm5hbmNlQWRyGgoKAmE0EgRTV09QGg8KAmE1Egljb25zdW1lcnMaDAoCYTYSBmFkbWluMRoMCgJhNxIGYWRtaW4yGgwKAmE4EgZhZG1pbjMaDAoCYTkSBmFkbWluNBoMCgJiMRIGYWRtaW41GhYKAmIyEhBpc1Byb3RvY29sQWN0aXZlGhUKAmIzEg9rZXlJc0RhcHBBY3RpdmUaFgoCYjQSEGtleUF1dG9tYXRlT3duZXIaEgoCYjUSDGlzRGFwcEFjdGl2ZRoOCgJiNhIIb3duZXJTdHIaCwoCYjcSBW93bmVyGhUKAmI4Eg9rZXlMYXN0SW50ZXJlc3QaFwoCYjkSEWtleVVzZXJTV09QTG9ja2VkGhkKAmMxEhNrZXlVc2VyTGFzdEludGVyZXN0GhAKAmMyEgpzY2FsZVZhbHVlGhkKAmMzEhNnZXRMYXN0SW50ZXJlc3RJbmZvGhIKAmM0EgxsYXN0SW50ZXJlc3QaFwoCYzUSEWdldFVzZXJTV09QTG9ja2VkGgoKAmM2EgR1c2VyGhkKAmM3EhNnZXRVc2VySW50ZXJlc3RJbmZvGhQKAmM4Eg51c2VyU1dPUEFtb3VudBoWCgJjORIQdXNlckxhc3RJbnRlcmVzdBobCgJkMRIVdXNlckxhc3RJbnRlcmVzdFZhbHVlGg0KAmQyEgckbWF0Y2gwGg8KAmQzEgljbGFpbUNhbGMaDAoCZDQSBmNhbGxlchoKCgJkNRIEdWlmbxoUCgJkNhIOdXNlclNXT1BMb2NrZWQaEQoCZDcSC2NsYWltQW1vdW50GhUKAmQ4Eg91c2VyTmV3SW50ZXJlc3QaEQoCZDkSCyR0MDMxMDQzMTc5Gg8KAmUxEglwbXRBbW91bnQaEAoCZTISCnBtdEFzc2V0SWQaEwoCZTMSDW1pblNXT1ByZXdhcmQaEgoCZTQSDGlzRmVlRXh0cmFjdBoTCgJlNRINYW10VG9XaXRoZHJhdxoMCgJlNhIGdmVyaWZ5GhIKAmU3EgxhZG1pbjFTaWduZWQaEgoCZTgSDGFkbWluMlNpZ25lZBoSCgJlORIMYWRtaW4zU2lnbmVkGhIKAmYxEgxhZG1pbjRTaWduZWQaEgoCZjISDGFkbWluNVNpZ25lZAAAABgAAAAAAmExCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFUfo1Mi4Z1tn8v2PgziwUoEjv2qLVSKoIqAAAAAAJhMgkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAAAmExAgAAAA9iYWxhbmNlX2FkZHJlc3MCAAAAGUVtcHR5IGtleSBiYWxhbmNlX2FkZHJlc3MAAAAAAmEzCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAACYTECAAAAD3N3b3BfZ292ZXJuYW5jZQIAAAAZRW1wdHkga2V5IHN3b3BfZ292ZXJuYW5jZQAAAAACYTQJAAJZAAAAAQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAAAmExAgAAAARTV09QAgAAAA5FbXB0eSBrZXkgU1dPUAAAAAACYTUJAAS1AAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAJhMQIAAAAJY29uc3VtZXJzAgAAABJFbXB0eSBrZXkgY29uc3VtZXICAAAAASwAAAAAAmE2CQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAAmExAgAAAAdhZG1pbl8xAgAAABFFbXB0eSBrZXkgYWRtaW5fMQAAAAACYTcJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAACYTECAAAAB2FkbWluXzICAAAAEUVtcHR5IGtleSBhZG1pbl8yAAAAAAJhOAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAJhMQIAAAAHYWRtaW5fMwIAAAARRW1wdHkga2V5IGFkbWluXzMAAAAAAmE5CQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAAmExAgAAAAdhZG1pbl80AgAAABFFbXB0eSBrZXkgYWRtaW5fNAAAAAACYjEJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAACYTECAAAAB2FkbWluXzUCAAAAEUVtcHR5IGtleSBhZG1pbl81AAAAAAJiMgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGwAAAAIFAAAAAmExAgAAABJpc19wcm90b2NvbF9hY3RpdmUCAAAAHEVtcHR5IGtleSBpc19wcm90b2NvbF9hY3RpdmUAAAAAAmIzAgAAAA5pc19kYXBwX2FjdGl2ZQAAAAACYjQCAAAABW93bmVyAAAAAAJiNQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGwAAAAIFAAAABHRoaXMFAAAAAmIzAgAAABhFbXB0eSBrZXkgaXNfZGFwcF9hY3RpdmUAAAAAAmI2CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAACYjQCAAAAFkVtcHR5IGtleUF1dG9tYXRlT3duZXIAAAAAAmI3CQAEJgAAAAEFAAAAAmI2AAAAAAJiOAIAAAANbGFzdF9pbnRlcmVzdAAAAAACYjkCAAAADF9TV09QX2Ftb3VudAAAAAACYzECAAAADl9sYXN0X2ludGVyZXN0AAAAAAJjMgAAAAAABfXhAAEAAAACYzMAAAAABAAAAAJjNAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAJhMwUAAAACYjgAAAAAAAAAAAAFAAAAAmM0AQAAAAJjNQAAAAEAAAACYzYJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAACYTMJAAEsAAAAAgkABCUAAAABBQAAAAJjNgUAAAACYjkAAAAAAAAAAAABAAAAAmM3AAAAAgAAAAJjNgAAAAJjNAQAAAACYzgJAQAAAAJjNQAAAAEFAAAAAmM2BAAAAAJjOQkABBoAAAACBQAAAAJhMwkAASwAAAACCQAEJQAAAAEFAAAAAmM2BQAAAAJjMQQAAAACZDEEAAAAAmQyBQAAAAJjOQMJAAABAAAAAgUAAAACZDICAAAAA0ludAQAAAACYzkFAAAAAmQyBQAAAAJjOQUAAAACYzQJAAUUAAAAAgUAAAACZDEFAAAAAmM4AQAAAAJkMwAAAAEAAAACZDQEAAAAAmM0CQEAAAACYzMAAAAABAAAAAJkNQkBAAAAAmM3AAAAAgUAAAACZDQFAAAAAmM0BAAAAAJjOQgFAAAAAmQ1AAAAAl8xBAAAAAJkNggFAAAAAmQ1AAAAAl8yBAAAAAJkNwkAAGsAAAADBQAAAAJkNgkAAGUAAAACBQAAAAJjNAUAAAACYzkFAAAAAmMyBAAAAAJkOAUAAAACYzQJAAUUAAAAAgUAAAACZDgFAAAAAmQ3AAAABAAAAAFpAQAAABJnb3Zlcm5hbmNlTG9ja1NXT1AAAAAAAwkBAAAAASEAAAABAwUAAAACYjIFAAAAAmI1BwkAAAIAAAABAgAAABdQcm90b2wgc3RvcHBlZCBieSBhZG1pbgQAAAACZDkJAAUUAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAJlMQgFAAAAAmQ5AAAAAl8xBAAAAAJlMggFAAAAAmQ5AAAAAl8yAwkBAAAAAiE9AAAAAgUAAAACZTIFAAAAAmE0CQAAAgAAAAECAAAAM09ubHkgU1dPUCBwYXltZW50IGF2YWlsYWJsZSBpbiBnb3Zlcm5hbmNlTG9ja1NXT1AoKQQAAAABegkAA/wAAAAEBQAAAAJhMwIAAAAIbG9ja1NXT1AFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAACYTQFAAAAAmUxBQAAAANuaWwDCQAAAAAAAAIFAAAAAXoFAAAAAXoFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAXZ292ZXJuYW5jZUNsYWltQW5kU3Rha2UAAAABAAAAAmUzAwkBAAAAASEAAAABAwUAAAACYjIFAAAAAmI1BwkAAAIAAAABAgAAABdQcm90b2wgc3RvcHBlZCBieSBhZG1pbgMDCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAAAmI3CQEAAAABIQAAAAEJAQAAAA9jb250YWluc0VsZW1lbnQAAAACBQAAAAJhNQkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBwkAAAIAAAABAgAAACpPbmx5IG93bmVyIG9yIGFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24EAAAAAmQ3CAkBAAAAAmQzAAAAAQUAAAAEdGhpcwAAAAJfMgMJAABmAAAAAgUAAAACZTMFAAAAAmQ3CQAAAgAAAAECAAAAKkFtb3VudCB0byBjbGFpbSBpcyBsZXNzIHRoYW4gbWluU1dPUHJld2FyZAQAAAACZTQDCQAAAAAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAACYjcHBgMFAAAAAmU0BAAAAAF6CQAD/AAAAAQFAAAAAmEzAgAAABFjbGFpbUFuZFN0YWtlU1dPUAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAAXoFAAAAAXoEAAAAAXkJAAP8AAAABAUAAAACYTICAAAACmV4dHJhY3RGZWUFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAAF5BQAAAAF5BQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgQAAAABegkAA/wAAAAEBQAAAAJhMwIAAAARY2xhaW1BbmRTdGFrZVNXT1AFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAAF6BQAAAAF6BQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAAEmdvdmVybmFuY2VXaXRoZHJhdwAAAAEAAAACZTUDCQEAAAABIQAAAAEDBQAAAAJiMgUAAAACYjUHCQAAAgAAAAECAAAAF1Byb3RvbCBzdG9wcGVkIGJ5IGFkbWluAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAJiNwkAAAIAAAABAgAAACFPbmx5IG93bmVyIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24EAAAAAXoJAAP8AAAABAUAAAACYTMCAAAADHdpdGhkcmF3U1dPUAkABEwAAAACBQAAAAJlNQUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAAXoFAAAAAXoJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAJlNQUAAAACYTQFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAMc2h1dGRvd25EYXBwAAAAAAMJAQAAAAEhAAAAAQMFAAAAAmIyBQAAAAJiNQcJAAACAAAAAQIAAAAXUHJvdG9sIHN0b3BwZWQgYnkgYWRtaW4DAwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACBQAAAAJhNgkABEwAAAACBQAAAAJhNwkABEwAAAACBQAAAAJhOAkABEwAAAACBQAAAAJhOQkABEwAAAACBQAAAAJiMQkABEwAAAACBQAAAAJiNwUAAAADbmlsCAUAAAABaQAAAAZjYWxsZXIJAQAAAAEhAAAAAQkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIFAAAAAmE1CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMHCQAAAgAAAAECAAAAIU9ubHkgYWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgIAAAAOaXNfZGFwcF9hY3RpdmUHBQAAAANuaWwAAAABAAAAAnR4AQAAAAJlNgAAAAAEAAAAAmU3AwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAJhNgkAAlgAAAABCAUAAAACdHgAAAACaWQHAAAAAAAAAAABAAAAAAAAAAAABAAAAAJlOAMJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQbAAAAAgUAAAACYTcJAAJYAAAAAQgFAAAAAnR4AAAAAmlkBwAAAAAAAAAAAQAAAAAAAAAAAAQAAAACZTkDCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAAAmE4CQACWAAAAAEIBQAAAAJ0eAAAAAJpZAcAAAAAAAAAAAEAAAAAAAAAAAAEAAAAAmYxAwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAJhOQkAAlgAAAABCAUAAAACdHgAAAACaWQHAAAAAAAAAAABAAAAAAAAAAAABAAAAAJmMgMJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQbAAAAAgUAAAACYjEJAAJYAAAAAQgFAAAAAnR4AAAAAmlkBwAAAAAAAAAAAQAAAAAAAAAAAAkAAGcAAAACCQAAZAAAAAIJAABkAAAAAgkAAGQAAAACCQAAZAAAAAIFAAAAAmU3BQAAAAJlOAUAAAACZTkFAAAAAmYxBQAAAAJmMgAAAAAAAAAAAz8y1WM=", "chainId": 84, "height": 1822366, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = Address(base58'3N1TEBibttEvU2xGjSGbgtDbsWYetiKsY5P')
5+
6+let b = addressFromStringValue(valueOrErrorMessage(getString(a, "balance_address"), "Empty key balance_address"))
7+
8+let c = addressFromStringValue(valueOrErrorMessage(getString(a, "swop_governance"), "Empty key swop_governance"))
9+
10+let d = fromBase58String(valueOrErrorMessage(getString(a, "SWOP"), "Empty key SWOP"))
11+
12+let e = split(valueOrElse(getString(a, "consumers"), "Empty key consumer"), ",")
13+
14+let f = addressFromStringValue(valueOrElse(getString(a, "admin_1"), "Empty key admin_1"))
15+
16+let g = addressFromStringValue(valueOrElse(getString(a, "admin_2"), "Empty key admin_2"))
17+
18+let h = addressFromStringValue(valueOrElse(getString(a, "admin_3"), "Empty key admin_3"))
19+
20+let i = addressFromStringValue(valueOrElse(getString(a, "admin_4"), "Empty key admin_4"))
21+
22+let j = addressFromStringValue(valueOrElse(getString(a, "admin_5"), "Empty key admin_5"))
23+
24+let k = valueOrErrorMessage(getBoolean(a, "is_protocol_active"), "Empty key is_protocol_active")
25+
26+let l = "is_dapp_active"
27+
28+let m = "owner"
29+
30+let n = valueOrErrorMessage(getBoolean(this, l), "Empty key is_dapp_active")
31+
32+let o = valueOrErrorMessage(getString(this, m), "Empty keyAutomateOwner")
33+
34+let p = addressFromString(o)
35+
36+let q = "last_interest"
37+
38+let r = "_SWOP_amount"
39+
40+let s = "_last_interest"
41+
42+let t = 100000000
43+
44+func u () = {
45+ let v = valueOrElse(getInteger(c, q), 0)
46+ v
47+ }
48+
49+
50+func w (x) = valueOrElse(getInteger(c, (toString(x) + r)), 0)
51+
52+
53+func y (x,v) = {
54+ let z = w(x)
55+ let A = getInteger(c, (toString(x) + s))
56+ let B = {
57+ let C = A
58+ if ($isInstanceOf(C, "Int"))
59+ then {
60+ let A = C
61+ A
62+ }
63+ else v
64+ }
65+ $Tuple2(B, z)
66+ }
67+
68+
69+func D (E) = {
70+ let v = u()
71+ let F = y(E, v)
72+ let A = F._1
73+ let G = F._2
74+ let H = fraction(G, (v - A), t)
75+ let I = v
76+ $Tuple2(I, H)
77+ }
78+
79+
80+@Callable(J)
81+func governanceLockSWOP () = if (!(if (k)
82+ then n
83+ else false))
84+ then throw("Protol stopped by admin")
85+ else {
86+ let K = $Tuple2(J.payments[0].amount, J.payments[0].assetId)
87+ let L = K._1
88+ let M = K._2
89+ if ((M != d))
90+ then throw("Only SWOP payment available in governanceLockSWOP()")
91+ else {
92+ let N = invoke(c, "lockSWOP", nil, [AttachedPayment(d, L)])
93+ if ((N == N))
94+ then nil
95+ else throw("Strict value is not equal to itself.")
96+ }
97+ }
98+
99+
100+
101+@Callable(J)
102+func governanceClaimAndStake (O) = if (!(if (k)
103+ then n
104+ else false))
105+ then throw("Protol stopped by admin")
106+ else if (if ((J.caller != p))
107+ then !(containsElement(e, toBase58String(J.caller.bytes)))
108+ else false)
109+ then throw("Only owner or admin can call this function")
110+ else {
111+ let H = D(this)._2
112+ if ((O > H))
113+ then throw("Amount to claim is less than minSWOPreward")
114+ else {
115+ let P = if ((J.caller == p))
116+ then false
117+ else true
118+ if (P)
119+ then {
120+ let N = invoke(c, "claimAndStakeSWOP", nil, nil)
121+ if ((N == N))
122+ then {
123+ let Q = invoke(b, "extractFee", nil, nil)
124+ if ((Q == Q))
125+ then nil
126+ else throw("Strict value is not equal to itself.")
127+ }
128+ else throw("Strict value is not equal to itself.")
129+ }
130+ else {
131+ let N = invoke(c, "claimAndStakeSWOP", nil, nil)
132+ if ((N == N))
133+ then nil
134+ else throw("Strict value is not equal to itself.")
135+ }
136+ }
137+ }
138+
139+
140+
141+@Callable(J)
142+func governanceWithdraw (R) = if (!(if (k)
143+ then n
144+ else false))
145+ then throw("Protol stopped by admin")
146+ else if ((J.caller != p))
147+ then throw("Only owner can call this function")
148+ else {
149+ let N = invoke(c, "withdrawSWOP", [R], nil)
150+ if ((N == N))
151+ then [ScriptTransfer(J.caller, R, d)]
152+ else throw("Strict value is not equal to itself.")
153+ }
154+
155+
156+
157+@Callable(J)
158+func shutdownDapp () = if (!(if (k)
159+ then n
160+ else false))
161+ then throw("Protol stopped by admin")
162+ else if (if (!(containsElement([f, g, h, i, j, p], J.caller)))
163+ then !(containsElement(e, toBase58String(J.caller.bytes)))
164+ else false)
165+ then throw("Only admin can call this function")
166+ else [BooleanEntry("is_dapp_active", false)]
167+
168+
169+@Verifier(S)
170+func T () = {
171+ let U = if (valueOrElse(getBoolean(f, toBase58String(S.id)), false))
172+ then 1
173+ else 0
174+ let V = if (valueOrElse(getBoolean(g, toBase58String(S.id)), false))
175+ then 1
176+ else 0
177+ let W = if (valueOrElse(getBoolean(h, toBase58String(S.id)), false))
178+ then 1
179+ else 0
180+ let X = if (valueOrElse(getBoolean(i, toBase58String(S.id)), false))
181+ then 1
182+ else 0
183+ let Y = if (valueOrElse(getBoolean(j, toBase58String(S.id)), false))
184+ then 1
185+ else 0
186+ (((((U + V) + W) + X) + Y) >= 3)
187+ }
188+

github/deemru/w8io/3ef1775 
33.44 ms