tx · mKTDV39acEKVnuZwHoV7AFvZpFVAPPNkaT1MTBidUGL

3MxovCV2pBS5Z6YEcj3Gap5ish6dX3YERfP:  -0.05000000 Waves

2022.11.09 20:41 [2309910] smart account 3MxovCV2pBS5Z6YEcj3Gap5ish6dX3YERfP > SELF 0.00000000 Waves

{ "type": 13, "id": "mKTDV39acEKVnuZwHoV7AFvZpFVAPPNkaT1MTBidUGL", "fee": 5000000, "feeAssetId": null, "timestamp": 1668015678519, "version": 2, "chainId": 84, "sender": "3MxovCV2pBS5Z6YEcj3Gap5ish6dX3YERfP", "senderPublicKey": "6aZUzHaTgW7zPizjKqNFNAaKdYXVUaNwstd6E3NsD3YF", "proofs": [ "5DaoB5K8qLZe51asS6w4sBVdeQMs3yYwxxVe6Wn18VKM5Ny39ttVjLrBukYZG6F4yRgDebLTQh6v4SCysNrC1ud6" ], "script": "base64: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AAEAAAAGYW1vdW50BAAAAA1zV2F2ZXNBc3NldElkCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDU4KQAAAAECAAAADXNXYXZlc0Fzc2V0SWQJAQAAAAdSZWlzc3VlAAAAAwUAAAANc1dhdmVzQXNzZXRJZAUAAAAGYW1vdW50BgEAAAAKYnVyblNXYXZlcwAAAAEAAAAGYW1vdW50BAAAAA1zV2F2ZXNBc3NldElkCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDU4KQAAAAECAAAADXNXYXZlc0Fzc2V0SWQJAQAAAARCdXJuAAAAAgUAAAANc1dhdmVzQXNzZXRJZAUAAAAGYW1vdW50AQAAAApzZW5kU1dhdmVzAAAAAgAAAAlyZWNpcGllbnQAAAAGYW1vdW50BAAAAA1zV2F2ZXNBc3NldElkCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDU4KQAAAAECAAAADXNXYXZlc0Fzc2V0SWQJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAACXJlY2lwaWVudAUAAAAGYW1vdW50BQAAAA1zV2F2ZXNBc3NldElkAQAAAAlzZW5kV2F2ZXMAAAACAAAACXJlY2lwaWVudAAAAAZhbW91bnQJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAACXJlY2lwaWVudAUAAAAGYW1vdW50BQAAAAR1bml0AQAAAA5zV2F2ZXNRdWFudGl0eQAAAAAEAAAAB2Fzc2V0SWQJAAJZAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTgpAAAAAQIAAAANc1dhdmVzQXNzZXRJZAQAAAAHJG1hdGNoMAkAA+wAAAABBQAAAAdhc3NldElkAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAVBc3NldAQAAAAFYXNzZXQFAAAAByRtYXRjaDAIBQAAAAVhc3NldAAAAAhxdWFudGl0eQkAAAIAAAABAgAAABBDYW4ndCBmaW5kIGFzc2V0AQAAAA5nZXRFeGNlc3NXYXZlcwAAAAAEAAAADWxlYXNlckFkZHJlc3MJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1OCkAAAABAgAAAA1sZWFzZXJBZGRyZXNzCAkAA+8AAAABBQAA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", "height": 2309910, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BvNMntVJ1wdcRMCMXYeMDGSjHA9eDpcwknEGqwrjMBBD Next: 6ZAaHhj1he28UkFKT3YcTsLXLfvhizgYniWba3Rkta6x Diff:
OldNewDifferences
146146
147147
148148 @Callable(g)
149-func compound () = {
150- let O = P()
151- if ((O == 0))
152- then nil
153- else {
154- let I = N(O)
155- let Q = G()
156- let R = D()
157- let J = (fraction(Q, a, R) / O)
158- let S = K()
159- if ((S == S))
160- then (q(Q) ++ H(I, J))
161- else throw("Strict value is not equal to itself.")
149+func init (r) = {
150+ let Q = [f(g), j()]
151+ if ((Q == Q))
152+ then {
153+ let R = Issue("sWaves", "", 0, 8, true, unit, 0)
154+ let y = calculateAssetId(R)
155+[BooleanEntry("inited", true), StringEntry("sWavesAssetId", toBase58String(y)), StringEntry("leaserAddress", r), IntegerEntry("lastRate", a), IntegerEntry("lastTimestamp", lastBlock.timestamp), IntegerEntry("growthRate", 0), IntegerEntry("balance", 0), R]
162156 }
157+ else throw("Strict value is not equal to itself.")
163158 }
164159
165160
166161
167162 @Callable(g)
168-func init (r) = {
169- let T = [f(g), j()]
170- if ((T == T))
171- then {
172- let U = Issue("sWaves", "", 0, 8, true, unit, 0)
173- let y = calculateAssetId(U)
174-[BooleanEntry("inited", true), StringEntry("sWavesAssetId", toBase58String(y)), StringEntry("leaserAddress", r), IntegerEntry("lastRate", a), IntegerEntry("lastTimestamp", lastBlock.timestamp), IntegerEntry("growthRate", 0), IntegerEntry("balance", 0), U]
163+func compound () = {
164+ let O = P()
165+ let S = D()
166+ if (if ((O == 0))
167+ then true
168+ else (S == 0))
169+ then nil
170+ else {
171+ let I = N(O)
172+ let T = G()
173+ let J = (fraction(T, a, S) / O)
174+ let U = K()
175+ if ((U == U))
176+ then (q(T) ++ H(I, J))
177+ else throw("Strict value is not equal to itself.")
175178 }
176- else throw("Strict value is not equal to itself.")
177179 }
178180
179181
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
130130 func H (I,J) = [IntegerEntry("lastRate", I), IntegerEntry("lastTimestamp", lastBlock.timestamp)]
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)
149-func compound () = {
150- let O = P()
151- if ((O == 0))
152- then nil
153- else {
154- let I = N(O)
155- let Q = G()
156- let R = D()
157- let J = (fraction(Q, a, R) / O)
158- let S = K()
159- if ((S == S))
160- then (q(Q) ++ H(I, J))
161- else throw("Strict value is not equal to itself.")
149+func init (r) = {
150+ let Q = [f(g), j()]
151+ if ((Q == Q))
152+ then {
153+ let R = Issue("sWaves", "", 0, 8, true, unit, 0)
154+ let y = calculateAssetId(R)
155+[BooleanEntry("inited", true), StringEntry("sWavesAssetId", toBase58String(y)), StringEntry("leaserAddress", r), IntegerEntry("lastRate", a), IntegerEntry("lastTimestamp", lastBlock.timestamp), IntegerEntry("growthRate", 0), IntegerEntry("balance", 0), R]
162156 }
157+ else throw("Strict value is not equal to itself.")
163158 }
164159
165160
166161
167162 @Callable(g)
168-func init (r) = {
169- let T = [f(g), j()]
170- if ((T == T))
171- then {
172- let U = Issue("sWaves", "", 0, 8, true, unit, 0)
173- let y = calculateAssetId(U)
174-[BooleanEntry("inited", true), StringEntry("sWavesAssetId", toBase58String(y)), StringEntry("leaserAddress", r), IntegerEntry("lastRate", a), IntegerEntry("lastTimestamp", lastBlock.timestamp), IntegerEntry("growthRate", 0), IntegerEntry("balance", 0), U]
163+func compound () = {
164+ let O = P()
165+ let S = D()
166+ if (if ((O == 0))
167+ then true
168+ else (S == 0))
169+ then nil
170+ else {
171+ let I = N(O)
172+ let T = G()
173+ let J = (fraction(T, a, S) / O)
174+ let U = K()
175+ if ((U == U))
176+ then (q(T) ++ H(I, J))
177+ else throw("Strict value is not equal to itself.")
175178 }
176- else throw("Strict value is not equal to itself.")
177179 }
178180
179181
180182
181183 @Callable(g)
182184 func stake () = {
183185 let V = g.payments[0]
184186 if ((V.assetId != unit))
185187 then throw("Only WAVES supported")
186188 else if ((size(g.payments) != 1))
187189 then throw("Wrong payments amount")
188190 else {
189191 let O = P()
190192 let I = N(O)
191193 let W = fraction(V.amount, a, I)
192194 let M = invoke(this, "compound", nil, nil)
193195 if ((M == M))
194196 then ((q(V.amount) :+ x(W)) :+ A(g.caller, W))
195197 else throw("Strict value is not equal to itself.")
196198 }
197199 }
198200
199201
200202
201203 @Callable(g)
202204 func unstake () = {
203205 let V = g.payments[0]
204206 let y = fromBase58String(getStringValue("sWavesAssetId"))
205207 if ((V.assetId != y))
206208 then throw("Only sWAVES supported")
207209 else if ((size(g.payments) != 1))
208210 then throw("Wrong payments amount")
209211 else {
210212 let O = P()
211213 let I = N(O)
212214 let X = fraction(V.amount, I, a)
213215 let M = invoke(this, "compound", nil, nil)
214216 if ((M == M))
215217 then ((q(-(X)) :+ z(V.amount)) :+ C(g.caller, X))
216218 else throw("Strict value is not equal to itself.")
217219 }
218220 }
219221
220222
221223 @Verifier(Y)
222224 func Z () = sigVerify(Y.bodyBytes, Y.proofs[0], Y.senderPublicKey)
223225

github/deemru/w8io/169f3d6 
37.93 ms