tx · 6ZAaHhj1he28UkFKT3YcTsLXLfvhizgYniWba3Rkta6x

3MxovCV2pBS5Z6YEcj3Gap5ish6dX3YERfP:  -0.05000000 Waves

2022.11.09 20:51 [2309921] smart account 3MxovCV2pBS5Z6YEcj3Gap5ish6dX3YERfP > SELF 0.00000000 Waves

{ "type": 13, "id": "6ZAaHhj1he28UkFKT3YcTsLXLfvhizgYniWba3Rkta6x", "fee": 5000000, "feeAssetId": null, "timestamp": 1668016288985, "version": 2, "chainId": 84, "sender": "3MxovCV2pBS5Z6YEcj3Gap5ish6dX3YERfP", "senderPublicKey": "6aZUzHaTgW7zPizjKqNFNAaKdYXVUaNwstd6E3NsD3YF", "proofs": [ "2HZX8dJ7ZrUeg2Qer7iCdb3JLdAUP5JYuAV3fh3gd78vfPVXbkbvvEpXRj4954VKEbYN4v5JSBZgoacFBza9M4ci" ], "script": "base64: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AAEAAAAGYW1vdW50BAAAAA1zV2F2ZXNBc3NldElkCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDU4KQAAAAECAAAADXNXYXZlc0Fzc2V0SWQJAQAAAAdSZWlzc3VlAAAAAwUAAAANc1dhdmVzQXNzZXRJZAUAAAAGYW1vdW50BgEAAAAKYnVyblNXYXZlcwAAAAEAAAAGYW1vdW50BAAAAA1zV2F2ZXNBc3NldElkCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDU4KQAAAAECAAAADXNXYXZlc0Fzc2V0SWQJAQAAAARCdXJuAAAAAgUAAAANc1dhdmVzQXNzZXRJZAUAAAAGYW1vdW50AQAAAApzZW5kU1dhdmVzAAAAAgAAAAlyZWNpcGllbnQAAAAGYW1vdW50BAAAAA1zV2F2ZXNBc3NldElkCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDU4KQAAAAECAAAADXNXYXZlc0Fzc2V0SWQJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAACXJlY2lwaWVudAUAAAAGYW1vdW50BQAAAA1zV2F2ZXNBc3NldElkAQAAAAlzZW5kV2F2ZXMAAAACAAAACXJlY2lwaWVudAAAAAZhbW91bnQJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAACXJlY2lwaWVudAUAAAAGYW1vdW50BQAAAAR1bml0AQAAAA5zV2F2ZXNRdWFudGl0eQAAAAAEAAAAB2Fzc2V0SWQJAAJZAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTgpAAAAAQIAAAANc1dhdmVzQXNzZXRJZAQAAAAHJG1hdGNoMAkAA+wAAAABBQAAAAdhc3NldElkAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAVBc3NldAQAAAAFYXNzZXQFAAAAByRtYXRjaDAIBQAAAAVhc3NldAAAAAhxdWFudGl0eQkAAAIAAAABAgAAABBDYW4ndCBmaW5kIGFzc2V0AQAAAA5nZXRFeGNlc3NXYXZlcwAAAAAEAAAADWxlYXNlckFkZHJlc3MJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1OCkAAAABAgAAAA1sZWFzZXJBZGRyZXNzCAkAA+8AAAABBQAA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", "height": 2309921, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: mKTDV39acEKVnuZwHoV7AFvZpFVAPPNkaT1MTBidUGL Next: 2u3faHFP2Kn2Gsp5oiLk9QUFc3PhWj3ogPyf3PG5t52o Diff:
OldNewDifferences
127127 }
128128
129129
130-func H (I,J) = [IntegerEntry("lastRate", I), IntegerEntry("lastTimestamp", lastBlock.timestamp)]
130+func H (I,J) = [IntegerEntry("lastRate", I), IntegerEntry("lastTimestamp", lastBlock.timestamp), IntegerEntry("growthRate", J)]
131131
132132
133133 func K () = {
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 1000000000000000000
55
66 func b () = getString("managerPublicKey")
77
88
99 func c () = {
1010 let d = b()
1111 if ($isInstanceOf(d, "String"))
1212 then {
1313 let e = d
1414 fromBase58String(e)
1515 }
1616 else if ($isInstanceOf(d, "Unit"))
1717 then unit
1818 else throw("Match error")
1919 }
2020
2121
2222 func f (g) = {
2323 let h = throw("permission denied")
2424 let d = c()
2525 if ($isInstanceOf(d, "ByteVector"))
2626 then {
2727 let i = d
2828 if ((g.callerPublicKey == i))
2929 then true
3030 else h
3131 }
3232 else if ($isInstanceOf(d, "Unit"))
3333 then if ((g.caller == this))
3434 then true
3535 else h
3636 else throw("Match error")
3737 }
3838
3939
4040 func j () = {
4141 let d = getBoolean("inited")
4242 if ($isInstanceOf(d, "Boolean"))
4343 then {
4444 let k = d
4545 if ((k == false))
4646 then true
4747 else throw("Already inited")
4848 }
4949 else if ($isInstanceOf(d, "Unit"))
5050 then false
5151 else throw("Match error")
5252 }
5353
5454
5555 func l () = {
5656 let d = getBinary("leaseId")
5757 if ($isInstanceOf(d, "ByteVector"))
5858 then {
5959 let m = d
6060 [LeaseCancel(m), DeleteEntry("leaseId")]
6161 }
6262 else if ($isInstanceOf(d, "Unit"))
6363 then nil
6464 else throw("Match error")
6565 }
6666
6767
6868 func n () = valueOrElse(getInteger("balance"), 0)
6969
7070
7171 func o (p) = IntegerEntry("balance", p)
7272
7373
7474 func q (p) = if ((p == 0))
7575 then nil
7676 else {
7777 let r = Address(fromBase58String(getStringValue("leaserAddress")))
7878 let s = n()
7979 let t = (s + p)
8080 let u = if ((t > 0))
8181 then {
8282 let v = Lease(r, t)
8383 let w = calculateLeaseId(v)
8484 [v, BinaryEntry("leaseId", w)]
8585 }
8686 else nil
8787 ((l() ++ u) :+ o(t))
8888 }
8989
9090
9191 func x (p) = {
9292 let y = fromBase58String(getStringValue("sWavesAssetId"))
9393 Reissue(y, p, true)
9494 }
9595
9696
9797 func z (p) = {
9898 let y = fromBase58String(getStringValue("sWavesAssetId"))
9999 Burn(y, p)
100100 }
101101
102102
103103 func A (B,p) = {
104104 let y = fromBase58String(getStringValue("sWavesAssetId"))
105105 ScriptTransfer(B, p, y)
106106 }
107107
108108
109109 func C (B,p) = ScriptTransfer(B, p, unit)
110110
111111
112112 func D () = {
113113 let E = fromBase58String(getStringValue("sWavesAssetId"))
114114 let d = assetInfo(E)
115115 if ($isInstanceOf(d, "Asset"))
116116 then {
117117 let F = d
118118 F.quantity
119119 }
120120 else throw("Can't find asset")
121121 }
122122
123123
124124 func G () = {
125125 let r = Address(fromBase58String(getStringValue("leaserAddress")))
126126 wavesBalance(r).regular
127127 }
128128
129129
130-func H (I,J) = [IntegerEntry("lastRate", I), IntegerEntry("lastTimestamp", lastBlock.timestamp)]
130+func H (I,J) = [IntegerEntry("lastRate", I), IntegerEntry("lastTimestamp", lastBlock.timestamp), IntegerEntry("growthRate", J)]
131131
132132
133133 func K () = {
134134 let L = Address(fromBase58String(getStringValue("leaserAddress")))
135135 let M = invoke(L, "withdraw", nil, nil)
136136 if ((M == M))
137137 then M
138138 else throw("Strict value is not equal to itself.")
139139 }
140140
141141
142142 func N (O) = (getIntegerValue("lastRate") + (getIntegerValue("growthRate") * O))
143143
144144
145145 func P () = (lastBlock.timestamp - getIntegerValue("lastTimestamp"))
146146
147147
148148 @Callable(g)
149149 func init (r) = {
150150 let Q = [f(g), j()]
151151 if ((Q == Q))
152152 then {
153153 let R = Issue("sWaves", "", 0, 8, true, unit, 0)
154154 let y = calculateAssetId(R)
155155 [BooleanEntry("inited", true), StringEntry("sWavesAssetId", toBase58String(y)), StringEntry("leaserAddress", r), IntegerEntry("lastRate", a), IntegerEntry("lastTimestamp", lastBlock.timestamp), IntegerEntry("growthRate", 0), IntegerEntry("balance", 0), R]
156156 }
157157 else throw("Strict value is not equal to itself.")
158158 }
159159
160160
161161
162162 @Callable(g)
163163 func compound () = {
164164 let O = P()
165165 let S = D()
166166 if (if ((O == 0))
167167 then true
168168 else (S == 0))
169169 then nil
170170 else {
171171 let I = N(O)
172172 let T = G()
173173 let J = (fraction(T, a, S) / O)
174174 let U = K()
175175 if ((U == U))
176176 then (q(T) ++ H(I, J))
177177 else throw("Strict value is not equal to itself.")
178178 }
179179 }
180180
181181
182182
183183 @Callable(g)
184184 func stake () = {
185185 let V = g.payments[0]
186186 if ((V.assetId != unit))
187187 then throw("Only WAVES supported")
188188 else if ((size(g.payments) != 1))
189189 then throw("Wrong payments amount")
190190 else {
191191 let O = P()
192192 let I = N(O)
193193 let W = fraction(V.amount, a, I)
194194 let M = invoke(this, "compound", nil, nil)
195195 if ((M == M))
196196 then ((q(V.amount) :+ x(W)) :+ A(g.caller, W))
197197 else throw("Strict value is not equal to itself.")
198198 }
199199 }
200200
201201
202202
203203 @Callable(g)
204204 func unstake () = {
205205 let V = g.payments[0]
206206 let y = fromBase58String(getStringValue("sWavesAssetId"))
207207 if ((V.assetId != y))
208208 then throw("Only sWAVES supported")
209209 else if ((size(g.payments) != 1))
210210 then throw("Wrong payments amount")
211211 else {
212212 let O = P()
213213 let I = N(O)
214214 let X = fraction(V.amount, I, a)
215215 let M = invoke(this, "compound", nil, nil)
216216 if ((M == M))
217217 then ((q(-(X)) :+ z(V.amount)) :+ C(g.caller, X))
218218 else throw("Strict value is not equal to itself.")
219219 }
220220 }
221221
222222
223223 @Verifier(Y)
224224 func Z () = sigVerify(Y.bodyBytes, Y.proofs[0], Y.senderPublicKey)
225225

github/deemru/w8io/169f3d6 
32.50 ms