tx · GKrvFEC1Rr9F1UqrkouUbZXSfRsEDvnUoSWWFdpEojkU

3Mqufnn29JVaZuJUTECwo4nTsidsA4NxLJQ:  -0.01400000 Waves

2021.10.31 13:36 [1770378] smart account 3Mqufnn29JVaZuJUTECwo4nTsidsA4NxLJQ > SELF 0.00000000 Waves

{ "type": 13, "id": "GKrvFEC1Rr9F1UqrkouUbZXSfRsEDvnUoSWWFdpEojkU", "fee": 1400000, "feeAssetId": null, "timestamp": 1635676663874, "version": 1, "sender": "3Mqufnn29JVaZuJUTECwo4nTsidsA4NxLJQ", "senderPublicKey": "Cgkxt6Emvt7a3mQhTv2Hri7Wnebey4J3kgRAhF1f1mdp", "proofs": [ "33qfPKk1FFiHjLNNQR9mcUjUY3jvCrorNNnm9RhcY34FudXi1hL3WBM3BgVmBFnF1kzJddJKgYp8suLrvz8tJujy" ], "script": "base64:AAIFAAAAAAAAABIIAhIAEgASAwoBARIDCgEBEgAAAAAWAAAAAAZvcmFjbGUJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVT2TjOFXpjVdjyOj0sBjic2NFJc9Kx4msUAAAAAB2JhbGFuY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAZvcmFjbGUCAAAAD2JhbGFuY2VfYWRkcmVzcwIAAAAZRW1wdHkga2V5IGJhbGFuY2VfYWRkcmVzcwAAAAARU1dPUGdvdmVybmFuY2VBZHIJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAZvcmFjbGUCAAAAD3N3b3BfZ292ZXJuYW5jZQIAAAAZRW1wdHkga2V5IHN3b3BfZ292ZXJuYW5jZQAAAAAEU1dPUAkAAlkAAAABCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAGb3JhY2xlAgAAAARTV09QAgAAAA5FbXB0eSBrZXkgU1dPUAAAAAAJY29uc3VtZXJzCQAEtQAAAAIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAGb3JhY2xlAgAAAAljb25zdW1lcnMCAAAAEkVtcHR5IGtleSBjb25zdW1lcgIAAAABLAAAAAAGYWRtaW4xCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAABm9yYWNsZQIAAAAHYWRtaW5fMQIAAAARRW1wdHkga2V5IGFkbWluXzEAAAAABmFkbWluMgkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAZvcmFjbGUCAAAAB2FkbWluXzICAAAAEUVtcHR5IGtleSBhZG1pbl8yAAAAAAZhZG1pbjMJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAGb3JhY2xlAgAAAAdhZG1pbl8zAgAAABFFbXB0eSBrZXkgYWRtaW5fMwAAAAAQaXNQcm90b2NvbEFjdGl2ZQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGwAAAAIFAAAABm9yYWNsZQIAAAASaXNfcHJvdG9jb2xfYWN0aXZlAgAAABxFbXB0eSBrZXkgaXNfcHJvdG9jb2xfYWN0aXZlAAAAAAhrZXlPd25lcgIAAAAFb3duZXIAAAAAD2tleUlzRGFwcEFjdGl2ZQIAAAAOaXNfZGFwcF9hY3RpdmUAAAAABW93bmVyCQAEJgAAAAEJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAR0aGlzBQAAAAhrZXlPd25lcgIAAAAORW1wdHkga2V5T3duZXIAAAAACG93bmVyU3RyCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAAIa2V5T3duZXICAAAADkVtcHR5IGtleU93bmVyAAAAAAxpc0RhcHBBY3RpdmUJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBsAAAACBQAAAAR0aGlzBQAAAA9rZXlJc0RhcHBBY3RpdmUCAAAAGEVtcHR5IGtleSBpc19kYXBwX2FjdGl2ZQAAAAAPa2V5TGFzdEludGVyZXN0AgAAAA1sYXN0X2ludGVyZXN0AAAAABFrZXlVc2VyU1dPUExvY2tlZAIAAAAMX1NXT1BfYW1vdW50AAAAABNrZXlVc2VyTGFzdEludGVyZXN0AgAAAA5fbGFzdF9pbnRlcmVzdAAAAAAKc2NhbGVWYWx1ZQAAAAAABfXhAAEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAADGxhc3RJbnRlcmVzdAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABFTV09QZ292ZXJuYW5jZUFkcgUAAAAPa2V5TGFzdEludGVyZXN0AAAAAAAAAAAABQAAAAxsYXN0SW50ZXJlc3QBAAAAEWdldFVzZXJTV09QTG9ja2VkAAAAAQAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEVNXT1Bnb3Zlcm5hbmNlQWRyCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAARa2V5VXNlclNXT1BMb2NrZWQAAAAAAAAAAAABAAAAE2dldFVzZXJJbnRlcmVzdEluZm8AAAACAAAABHVzZXIAAAAMbGFzdEludGVyZXN0BAAAAA51c2VyU1dPUEFtb3VudAkBAAAAEWdldFVzZXJTV09QTG9ja2VkAAAAAQUAAAAEdXNlcgQAAAAQdXNlckxhc3RJbnRlcmVzdAkABBoAAAACBQAAABFTV09QZ292ZXJuYW5jZUFkcgkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QEAAAAFXVzZXJMYXN0SW50ZXJlc3RWYWx1ZQQAAAAHJG1hdGNoMAUAAAAQdXNlckxhc3RJbnRlcmVzdAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAABB1c2VyTGFzdEludGVyZXN0BQAAAAckbWF0Y2gwBQAAABB1c2VyTGFzdEludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QJAAUUAAAAAgUAAAAVdXNlckxhc3RJbnRlcmVzdFZhbHVlBQAAAA51c2VyU1dPUEFtb3VudAEAAAAJY2xhaW1DYWxjAAAAAQAAAAZjYWxsZXIEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAR1aWZvCQEAAAATZ2V0VXNlckludGVyZXN0SW5mbwAAAAIFAAAABmNhbGxlcgUAAAAMbGFzdEludGVyZXN0BAAAABB1c2VyTGFzdEludGVyZXN0CAUAAAAEdWlmbwAAAAJfMQQAAAAOdXNlclNXT1BMb2NrZWQIBQAAAAR1aWZvAAAAAl8yBAAAAAtjbGFpbUFtb3VudAkAAGsAAAADBQAAAA51c2VyU1dPUExvY2tlZAkAAGUAAAACBQAAAAxsYXN0SW50ZXJlc3QFAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAACnNjYWxlVmFsdWUEAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAAMbGFzdEludGVyZXN0CQAFFAAAAAIFAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAALY2xhaW1BbW91bnQAAAAFAAAAAWkBAAAABGluaXQAAAAAAwkBAAAAASEAAAABBQAAABBpc1Byb3RvY29sQWN0aXZlCQAAAgAA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", "chainId": 84, "height": 1770378, "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'3NCNRgdSsFaF8y8V1ghhGiU5KoSBMhQbzJg')
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 = valueOrErrorMessage(getBoolean(a, "is_protocol_active"), "Empty key is_protocol_active")
21+
22+let j = "owner"
23+
24+let k = "is_dapp_active"
25+
26+let l = addressFromString(valueOrErrorMessage(getString(this, j), "Empty keyOwner"))
27+
28+let m = valueOrErrorMessage(getString(this, j), "Empty keyOwner")
29+
30+let n = valueOrErrorMessage(getBoolean(this, k), "Empty key is_dapp_active")
31+
32+let o = "last_interest"
33+
34+let p = "_SWOP_amount"
35+
36+let q = "_last_interest"
37+
38+let r = 100000000
39+
40+func s () = {
41+ let t = valueOrElse(getInteger(c, o), 0)
42+ t
43+ }
44+
45+
46+func u (v) = valueOrElse(getInteger(c, (toString(v) + p)), 0)
47+
48+
49+func w (v,t) = {
50+ let x = u(v)
51+ let y = getInteger(c, (toString(v) + q))
52+ let z = {
53+ let A = y
54+ if ($isInstanceOf(A, "Int"))
55+ then {
56+ let y = A
57+ y
58+ }
59+ else t
60+ }
61+ $Tuple2(z, x)
62+ }
63+
64+
65+func B (C) = {
66+ let t = s()
67+ let D = w(C, t)
68+ let y = D._1
69+ let E = D._2
70+ let F = fraction(E, (t - y), r)
71+ let G = t
72+ $Tuple2(G, F)
73+ }
74+
75+
76+@Callable(H)
77+func init () = if (!(i))
78+ then throw("Protol stopped by admin")
79+ else if (isDefined(getString(this, j)))
80+ then throw("Automate already initialized")
81+ else if ((size(H.payments) == 0))
82+ then [StringEntry(j, toString(H.caller)), BooleanEntry(k, true)]
83+ else if ((size(H.payments) == 1))
84+ then {
85+ let I = $Tuple2(H.payments[0].amount, H.payments[0].assetId)
86+ let J = I._1
87+ let K = I._2
88+ if ((K != d))
89+ then throw("Only SWOP payment available in init()")
90+ else {
91+ let L = invoke(c, "lockSWOP", nil, [AttachedPayment(d, J)])
92+ if ((L == L))
93+ then [StringEntry(j, toString(H.caller)), BooleanEntry(k, true)]
94+ else throw("Strict value is not equal to itself.")
95+ }
96+ }
97+ else throw("Incorrect paynemt. You should attach SWOP or empty payment")
98+
99+
100+
101+@Callable(H)
102+func governanceLockSWOP () = if (!(if (i)
103+ then n
104+ else false))
105+ then throw("Protol stopped by admin")
106+ else {
107+ let M = $Tuple2(H.payments[0].amount, H.payments[0].assetId)
108+ let J = M._1
109+ let K = M._2
110+ if ((K != d))
111+ then throw("Only SWOP payment available in governanceLockSWOP()")
112+ else {
113+ let L = invoke(c, "lockSWOP", nil, [AttachedPayment(d, J)])
114+ if ((L == L))
115+ then nil
116+ else throw("Strict value is not equal to itself.")
117+ }
118+ }
119+
120+
121+
122+@Callable(H)
123+func governanceClaimAndStake (N) = if (!(if (i)
124+ then n
125+ else false))
126+ then throw("Protol stopped by admin")
127+ else if (if ((H.caller != l))
128+ then !(containsElement(e, toBase58String(H.caller.bytes)))
129+ else false)
130+ then throw("Only owner or admin can call this function")
131+ else {
132+ let F = B(this)._2
133+ if ((N > F))
134+ then throw("Amount to claim is less than minSWOPreward")
135+ else {
136+ let O = if ((H.caller == l))
137+ then false
138+ else true
139+ let L = invoke(c, "claimAndStakeSWOP", nil, nil)
140+ if ((L == L))
141+ then {
142+ let P = invoke(b, "extractFee", [m, O], nil)
143+ if ((P == P))
144+ then nil
145+ else throw("Strict value is not equal to itself.")
146+ }
147+ else throw("Strict value is not equal to itself.")
148+ }
149+ }
150+
151+
152+
153+@Callable(H)
154+func governanceWithdraw (Q) = if (!(if (i)
155+ then n
156+ else false))
157+ then throw("Protol stopped by admin")
158+ else if ((H.caller != l))
159+ then throw("Only owner can call this function")
160+ else {
161+ let L = invoke(c, "withdrawSWOP", [Q], nil)
162+ if ((L == L))
163+ then [ScriptTransfer(H.caller, Q, d)]
164+ else throw("Strict value is not equal to itself.")
165+ }
166+
167+
168+
169+@Callable(H)
170+func shutdownDapp () = if (!(if (i)
171+ then n
172+ else false))
173+ then throw("Protol stopped by admin")
174+ else if (if (!(containsElement([f, g, h], H.caller)))
175+ then !(containsElement(e, toBase58String(H.caller.bytes)))
176+ else false)
177+ then throw("Only admin can call this function")
178+ else [BooleanEntry("is_dapp_active", false)]
179+
180+
181+@Verifier(R)
182+func S () = {
183+ let T = if (valueOrElse(getBoolean(f, "txStr"), false))
184+ then 1
185+ else 0
186+ let U = if (valueOrElse(getBoolean(g, "txStr"), false))
187+ then 1
188+ else 0
189+ let V = if (valueOrElse(getBoolean(h, "txStr"), false))
190+ then 1
191+ else 0
192+ (((T + U) + V) >= 2)
193+ }
194+

github/deemru/w8io/026f985 
21.71 ms