tx · Dc6tVkfcmwork6VoKeYhFCQfrRfj9GrrRwaiiuP1wk5f

3NCN1t9DS51CKN9z5XQk8JEVCoeLuWcB9Ta:  -0.01500000 Waves

2023.07.19 14:44 [2672694] smart account 3NCN1t9DS51CKN9z5XQk8JEVCoeLuWcB9Ta > SELF 0.00000000 Waves

{ "type": 13, "id": "Dc6tVkfcmwork6VoKeYhFCQfrRfj9GrrRwaiiuP1wk5f", "fee": 1500000, "feeAssetId": null, "timestamp": 1689767114126, "version": 2, "chainId": 84, "sender": "3NCN1t9DS51CKN9z5XQk8JEVCoeLuWcB9Ta", "senderPublicKey": "51oZnGJdivhLJkVbeVYpbwM47gdGthajooUXKadNJCmv", "proofs": [ "4yjVgqCUXGkZ7QKxL8D37wva2y5rERWAwZ5na6uuu1NQWVa4zQw8sqgqWPDTtnVZufYZco413k6NbtNRq2TYuDZ6" ], "script": "base64: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c2V0SWQAAAAABAAAAAZhbW91bnQJAQAAABNhdmFpbGFibGVUb0NsYWltTm93AAAAAQUAAAAHYWRkcmVzcwQAAAAMZW5zdXJlQW1vdW50AwkBAAAAAiE9AAAAAgUAAAAGYW1vdW50AAAAAAAAAAAABgkBAAAACHRocm93RXJyAAAAAQIAAAAQbm90aGluZyB0byBjbGFpbQMJAAAAAAAAAgUAAAAMZW5zdXJlQW1vdW50BQAAAAxlbnN1cmVBbW91bnQEAAAAC3RvdGFsQW1vdW50CQEAAAASZ2V0VXNlclRvdGFsQW1vdW50AAAAAQUAAAAHYWRkcmVzcwQAAAAPcmVtYWluaW5nQW1vdW50CQEAAAAWZ2V0VXNlclJlbWFpbmluZ0Ftb3VudAAAAAEFAAAAB2FkZHJlc3MEAAAAD2NsYWltZWRXWEFtb3VudAkBAAAAFGdldFVzZXJDbGFpbWVkQW1vdW50AAAAAQUAAAAHYWRkcmVzcwQAAAANaXNSZXZva2VkVXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABCAAAAABCQEAAAAKa2V5UmV2b2tlZAAAAAEFAAAAB2FkZHJlc3MHAwUAAAANaXNSZXZva2VkVXNlcgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAARhZGRyBQAAAA9yZW1haW5pbmdBbW91bnQFAAAAAnd4CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAdrZXlVc2VyAAAAAQUAAAAHYWRkcmVzcwkBAAAACXZhbHVlVXNlcgAAAAQFAAAAC3RvdGFsQW1vdW50AAAAAAAAAAAACQAAZAAAAAIFAAAAD2NsYWltZWRXWEFtb3VudAUAAAAPcmVtYWluaW5nQW1vdW50BQAAAAZoZWlnaHQFAAAAA25pbAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAARhZGRyBQAAAAZhbW91bnQFAAAAAnd4CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAdrZXlVc2VyAAAAAQUAAAAHYWRkcmVzcwkBAAAACXZhbHVlVXNlcgAAAAQFAAAAC3RvdGFsQW1vdW50CQAAZQAAAAIFAAAAD3JlbWFpbmluZ0Ftb3VudAUAAAAGYW1v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cgAAAAEFAAAAB2FkZHJlc3MJAQAAAAl2YWx1ZVVzZXIAAAAEBQAAAAZhbW91bnQFAAAABmFtb3VudAAAAAAAAAAAAAUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAATa2V5VXNlclZlc3RpbmdTdGFydAAAAAEFAAAAB2FkZHJlc3MFAAAABmhlaWdodAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAEWtleVVzZXJWZXN0aW5nRW5kAAAAAQUAAAAHYWRkcmVzcwUAAAAJZW5kSGVpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAVa2V5VXNlckFtb3VudFBlckJsb2NrAAAAAQUAAAAHYWRkcmVzcwUAAAAOYW1vdW50UGVyQmxvY2sFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAASaW5jcmVhc2VEZXBvc2l0Rm9yAAAAAQAAAAdhZGRyZXNzBAAAABBhdmFpbGFibGVUb0NsYWltCQEAAAATYXZhaWxhYmxlVG9DbGFpbU5vdwAAAAEFAAAAB2FkZHJlc3MEAAAACmZvcmNlQ2xhaW0DCQAAZgAAAAIFAAAAEGF2YWlsYWJsZVRvQ2xhaW0AAAAAAAAAAAAJAQAAAA1jbGFpbUludGVybmFsAAAAAQUAAAAHYWRkcmVzcwUAAAAEdW5pdAMJAAAAAAAAAgUAAAAKZm9yY2VDbGFpbQUAAAAKZm9yY2VDbGFpbQQAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQEAAAACWVuZEhlaWdodAkBAAAABXZhbHVlAAAAAQkABB8AAAABCQEAAAARa2V5VXNlclZlc3RpbmdFbmQAAAABBQAAAAdhZGRyZXNzBAAAAAp2ZXN0aW5nTGVuCQAAZQAAAAIFAAAACWVuZEhlaWdodAUAAAAGaGVpZ2h0BAAAAA5hbW91bnRQZXJCbG9jawkBAAAABXZhbHVlAAAAAQkABB8AAAABCQEAAAAVa2V5VXNlckFtb3VudFBlckJsb2NrAAAAAQUAAAAHYWRkcmVzcwQAAAARaW5jQW1vdW50UGVyQmxvY2sJAABpAAAAAgUAAAAGYW1vdW50BQAAAAp2ZXN0aW5nTGVuBAAAAA91c2VyVG90YWxBbW91bnQJAQAAABJnZXRVc2VyVG90YWxBbW91bnQAAAABBQAAAAdhZGRyZXNzBAAAABN1c2VyUmVtYWluaW5nQW1vdW50CQEAAAAWZ2V0VXNlclJlbWFpbmluZ0Ftb3VudAAAAAEFAAAAB2FkZHJlc3MEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAUZ2V0VXNlckNsYWltZWRBbW91bnQAAAABBQAAAAdhZGRyZXNzBAAAABV1c2VyTGFzdENsYWltZWRIZWlnaHQJAQAAABhnZXRVc2VyTGFzdENsYWltZWRIZWlnaHQAAAABBQAAAAdhZGRyZXNzBAAAAAZjaGVja3MJAARMAAAAAgMJAAAAAAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABCAAAAABCQEAAAAKa2V5UmV2b2tlZAAAAAEFAAAAB2FkZHJlc3MHBwYJAQAAAAh0aHJvd0VycgAAAAECAAAAG2RlcG9zaXQgZm9yIHVzZXIgaXMgcmV2b2tlZAkABEwAAAACAwkBAAAAAiE9AAAAAgkABCIAAAABCQEAAAAHa2V5VXNlcgAAAAEFAAAAB2FkZHJlc3MFAAAABHVuaXQGCQEAAAAIdGhyb3dFcnIAAAABAgAAAB9kZXBvc2l0IGZvciB1c2VyIGRvZXNuJ3QgZXhpc3RzCQAETAAAAAIDCQAAAAAAAAIJAAJYAAAAAQkBAAAABXZhbHVlAAAAAQgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAkBAAAABXZhbHVlAAAAAQkABCIAAAABCQEAAAAMa2V5V3hBc3NldElkAAAAAAYJAQAAAAh0aHJvd0VycgAAAAECAAAAGmF0dGFjaGVkIHBheW1lbnQgaXMgbm90IFdYCQAETAAAAAIDCQEAAAACIT0AAAACBQAAABFpbmNBbW91bnRQZXJCbG9jawAAAAAAAAAAAAYJAQAAAAh0aHJvd0VycgAAAAECAAAAOGF0dGFjaGVkIGFtb3VudCB0b28gc21hbGwg4oCUIGluY3JlYXNlIGlzIHplcm8gcGVyIGJsb2NrBQAAAANuaWwDCQAAAAAAAAIFAAAABmNoZWNrcwUAAAAGY2hlY2tzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAdrZXlVc2VyAAAAAQUAAAAHYWRkcmVzcwkBAAAACXZhbHVlVXNlcgAAAAQJAABkAAAAAgUAAAAPdXNlclRvdGFsQW1vdW50BQAAAAZhbW91bnQJAABkAAAAAgUAAAATdXNlclJlbWFpbmluZ0Ftb3VudAUAAAAGYW1vdW50BQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAAVdXNlckxhc3RDbGFpbWVkSGVpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAVa2V5VXNlckFtb3VudFBlckJsb2NrAAAAAQUAAAAHYWRkcmVzcwkAAGQAAAACBQAAAA5hbW91bnRQZXJCbG9jawUAAAARaW5jQW1vdW50UGVyQmxvY2sFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAAEHJldm9rZURlcG9zaXRGb3IAAAABAAAAB2FkZHJlc3MEAAAAC3RvdGFsQW1vdW50CQEAAAASZ2V0VXNlclRvdGFsQW1vdW50AAAAAQUAAAAHYWRkcmVzcwQAAAAPcmVtYWluaW5nQW1vdW50CQEAAAAWZ2V0VXNlclJlbWFpbmluZ0Ftb3VudAAAAAEFAAAAB2FkZHJlc3MEAAAAD2NsYWltZWRXWEFtb3VudAkBAAAAFGdldFVzZXJDbGFpbWVkQW1vdW50AAAAAQUAAAAHYWRkcmVzcwQAAAARbGFzdENsYWltZWRIZWlnaHQJAQAAABhnZXRVc2VyTGFzdENsYWltZWRIZWlnaHQAAAABBQAAAAdhZGRyZXNzBAAAABJ1bmNsYWltZWRBbW91bnROb3cJAQAAABNhdmFpbGFibGVUb0NsYWltTm93AAAAAQUAAAAHYWRkcmVzcwQAAAAMcmV2b2tlZFRvdGFsCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHwAAAAEJAQAAAA9rZXlSZXZva2VkVG90YWwAAAAA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", "height": 2672694, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Aeqkyn2MPJEmnhtmvYzqe6NG17iU6oygrwd6xPfk5C5E Next: none Diff:
OldNewDifferences
66 func b () = "%s__managerPublicKey"
77
88
9-func c () = "%s__pendingManagerPublicKey"
9+func c () = "%s__managerVaultAddress"
1010
1111
1212 func d (e) = makeString(["%s", e], a)
3030 func k () = makeString(["%s", "wxAssetId"], a)
3131
3232
33-func l (m) = throw(makeString(["vesting.ride:", m], " "))
33+func l () = {
34+ let m = getString(c())
35+ if ($isInstanceOf(m, "String"))
36+ then {
37+ let n = m
38+ addressFromStringValue(n)
39+ }
40+ else this
41+ }
3442
3543
36-func n () = {
37- let o = getString(b())
38- if ($isInstanceOf(o, "String"))
44+func o (p) = throw(makeString(["vesting.ride:", p], " "))
45+
46+
47+func q () = {
48+ let r = l()
49+ let m = getString(r, b())
50+ if ($isInstanceOf(m, "String"))
3951 then {
40- let p = o
41- fromBase58String(p)
52+ let n = m
53+ fromBase58String(n)
4254 }
43- else if ($isInstanceOf(o, "Unit"))
55+ else if ($isInstanceOf(m, "Unit"))
4456 then unit
4557 else throw("Match error")
4658 }
4759
4860
49-func q () = {
50- let o = getString(c())
51- if ($isInstanceOf(o, "String"))
61+func s (t) = {
62+ let u = o("permission denied")
63+ let m = q()
64+ if ($isInstanceOf(m, "ByteVector"))
5265 then {
53- let p = o
54- fromBase58String(p)
66+ let v = m
67+ if ((t.callerPublicKey == v))
68+ then true
69+ else u
5570 }
56- else if ($isInstanceOf(o, "Unit"))
57- then unit
71+ else if ($isInstanceOf(m, "Unit"))
72+ then if ((t.caller == this))
73+ then true
74+ else u
5875 else throw("Match error")
5976 }
6077
6178
62-func r (s) = {
63- let t = l("permission denied")
64- let o = n()
65- if ($isInstanceOf(o, "ByteVector"))
66- then {
67- let u = o
68- if ((s.callerPublicKey == u))
69- then true
70- else t
71- }
72- else if ($isInstanceOf(o, "Unit"))
73- then if ((s.caller == this))
74- then true
75- else t
76- else throw("Match error")
77- }
79+func w (x,y,z,A) = makeString(["%d%d%d%d%d", x, y, "0", z, A], a)
7880
7981
80-func v (w,x,y,z) = makeString(["%d%d%d%d%d", w, x, "0", y, z], a)
82+func B (x,y,z,A) = w(toString(x), toString(y), toString(z), toString(A))
8183
8284
83-func A (w,x,y,z) = v(toString(w), toString(x), toString(y), toString(z))
85+func C (e) = parseIntValue(split(value(getString(d(e))), a)[1])
8486
8587
86-func B (e) = parseIntValue(split(value(getString(d(e))), a)[1])
88+func D (e) = parseIntValue(split(value(getString(d(e))), a)[2])
8789
8890
89-func C (e) = parseIntValue(split(value(getString(d(e))), a)[2])
91+func E (e) = parseIntValue(split(value(getString(d(e))), a)[3])
9092
9193
92-func D (e) = parseIntValue(split(value(getString(d(e))), a)[3])
94+func F (e) = parseIntValue(split(value(getString(d(e))), a)[5])
9395
9496
95-func E (e) = parseIntValue(split(value(getString(d(e))), a)[5])
96-
97-
98-func F (e) = {
99- let G = valueOrElse(getBoolean(f(e)), false)
100- if (G)
101- then C(e)
97+func G (e) = {
98+ let H = valueOrElse(getBoolean(f(e)), false)
99+ if (H)
100+ then D(e)
102101 else {
103- let H = E(e)
104- if ((H >= height))
102+ let I = F(e)
103+ if ((I >= height))
105104 then 0
106105 else {
107- let I = value(getInteger(i(e)))
108- if ((height > I))
109- then C(e)
106+ let J = value(getInteger(i(e)))
107+ if ((height > J))
108+ then D(e)
110109 else {
111- let J = (height - H)
112- (value(getInteger(j(e))) * J)
110+ let K = (height - I)
111+ (value(getInteger(j(e))) * K)
113112 }
114113 }
115114 }
116115 }
117116
118117
119-func K (e) = {
120- let L = addressFromStringValue(e)
121- let M = fromBase58String(value(getString(k())))
122- let N = F(e)
123- let O = if ((N != 0))
118+func L (e) = {
119+ let M = addressFromStringValue(e)
120+ let N = fromBase58String(value(getString(k())))
121+ let O = G(e)
122+ let P = if ((O != 0))
124123 then true
125- else l("nothing to claim")
126- if ((O == O))
124+ else o("nothing to claim")
125+ if ((P == P))
127126 then {
128- let w = B(e)
129127 let x = C(e)
130128 let y = D(e)
131- let G = valueOrElse(getBoolean(f(e)), false)
132- if (G)
133- then [ScriptTransfer(L, x, M), StringEntry(d(e), A(w, 0, (y + x), height))]
134- else [ScriptTransfer(L, N, M), StringEntry(d(e), A(w, (x - N), (y + N), height))]
129+ let z = E(e)
130+ let H = valueOrElse(getBoolean(f(e)), false)
131+ if (H)
132+ then [ScriptTransfer(M, y, N), StringEntry(d(e), B(x, 0, (z + y), height))]
133+ else [ScriptTransfer(M, O, N), StringEntry(d(e), B(x, (y - O), (z + O), height))]
135134 }
136135 else throw("Strict value is not equal to itself.")
137136 }
138137
139138
140-@Callable(s)
141-func constructor (P) = {
142- let Q = r(s)
143- if ((Q == Q))
144- then [StringEntry(k(), P)]
139+@Callable(t)
140+func constructor (Q) = {
141+ let R = s(t)
142+ if ((R == R))
143+ then [StringEntry(k(), Q)]
145144 else throw("Strict value is not equal to itself.")
146145 }
147146
148147
149148
150-@Callable(s)
149+@Callable(t)
151150 func withdrawRevoked () = {
152- let N = valueOrElse(getInteger(g()), 0)
153- let M = fromBase58String(value(getString(k())))
154- let R = [r(s), if ((N > 0))
151+ let O = valueOrElse(getInteger(g()), 0)
152+ let N = fromBase58String(value(getString(k())))
153+ let S = [s(t), if ((O > 0))
155154 then true
156- else l("revoked amount is zero, nothing to withdraw")]
157- if ((R == R))
158- then [ScriptTransfer(s.caller, N, M), IntegerEntry(g(), 0)]
155+ else o("revoked amount is zero, nothing to withdraw")]
156+ if ((S == S))
157+ then [ScriptTransfer(t.caller, O, N), IntegerEntry(g(), 0)]
159158 else throw("Strict value is not equal to itself.")
160159 }
161160
162161
163162
164-@Callable(s)
165-func createDepositFor (e,S) = {
166- let N = s.payments[0].amount
167- let T = (height + S)
168- let U = (T - height)
169- let V = (N / U)
170- let R = [if ((T > height))
163+@Callable(t)
164+func createDepositFor (e,T) = {
165+ let O = t.payments[0].amount
166+ let U = (height + T)
167+ let V = (U - height)
168+ let W = (O / V)
169+ let S = [if ((U > height))
171170 then true
172- else l("endHeight must be more than height"), if ((getString(d(e)) == unit))
171+ else o("endHeight must be more than height"), if ((getString(d(e)) == unit))
173172 then true
174- else l("deposit for user already exists"), if ((toBase58String(value(s.payments[0].assetId)) == value(getString(k()))))
173+ else o("deposit for user already exists"), if ((toBase58String(value(t.payments[0].assetId)) == value(getString(k()))))
175174 then true
176- else l("attached payment is not WX"), if ((V != 0))
175+ else o("attached payment is not WX"), if ((W != 0))
177176 then true
178- else l("attached amount too small or blocksDuration too large — will claimed zero per block")]
179- if ((R == R))
180- then [StringEntry(d(e), A(N, N, 0, height)), IntegerEntry(h(e), height), IntegerEntry(i(e), T), IntegerEntry(j(e), V)]
177+ else o("attached amount too small or blocksDuration too large — will claimed zero per block")]
178+ if ((S == S))
179+ then [StringEntry(d(e), B(O, O, 0, height)), IntegerEntry(h(e), height), IntegerEntry(i(e), U), IntegerEntry(j(e), W)]
181180 else throw("Strict value is not equal to itself.")
182181 }
183182
184183
185184
186-@Callable(s)
185+@Callable(t)
187186 func increaseDepositFor (e) = {
188- let W = F(e)
189- let X = if ((W > 0))
190- then K(e)
187+ let X = G(e)
188+ let Y = if ((X > 0))
189+ then L(e)
191190 else unit
192- if ((X == X))
191+ if ((Y == Y))
193192 then {
194- let N = s.payments[0].amount
195- let T = value(getInteger(i(e)))
196- let U = (T - height)
197- let V = value(getInteger(j(e)))
198- let Y = (N / U)
199- let Z = B(e)
193+ let O = t.payments[0].amount
194+ let U = value(getInteger(i(e)))
195+ let V = (U - height)
196+ let W = value(getInteger(j(e)))
197+ let Z = (O / V)
200198 let aa = C(e)
201199 let ab = D(e)
202200 let ac = E(e)
203- let R = [if ((valueOrElse(getBoolean(f(e)), false) == false))
201+ let ad = F(e)
202+ let S = [if ((valueOrElse(getBoolean(f(e)), false) == false))
204203 then true
205- else l("deposit for user is revoked"), if ((getString(d(e)) != unit))
204+ else o("deposit for user is revoked"), if ((getString(d(e)) != unit))
206205 then true
207- else l("deposit for user doesn't exists"), if ((toBase58String(value(s.payments[0].assetId)) == value(getString(k()))))
206+ else o("deposit for user doesn't exists"), if ((toBase58String(value(t.payments[0].assetId)) == value(getString(k()))))
208207 then true
209- else l("attached payment is not WX"), if ((Y != 0))
208+ else o("attached payment is not WX"), if ((Z != 0))
210209 then true
211- else l("attached amount too small — increase is zero per block")]
212- if ((R == R))
213- then [StringEntry(d(e), A((Z + N), (aa + N), ab, ac)), IntegerEntry(j(e), (V + Y))]
210+ else o("attached amount too small — increase is zero per block")]
211+ if ((S == S))
212+ then [StringEntry(d(e), B((aa + O), (ab + O), ac, ad)), IntegerEntry(j(e), (W + Z))]
214213 else throw("Strict value is not equal to itself.")
215214 }
216215 else throw("Strict value is not equal to itself.")
218217
219218
220219
221-@Callable(s)
220+@Callable(t)
222221 func revokeDepositFor (e) = {
223- let w = B(e)
224222 let x = C(e)
225223 let y = D(e)
226224 let z = E(e)
227- let ad = F(e)
228- let ae = valueOrElse(getInteger(g()), 0)
229- let af = (x - ad)
230- let ag = (ae + af)
231- let R = [r(s), if ((getString(d(e)) != unit))
225+ let A = F(e)
226+ let ae = G(e)
227+ let af = valueOrElse(getInteger(g()), 0)
228+ let ag = (y - ae)
229+ let ah = (af + ag)
230+ let S = [s(t), if ((getString(d(e)) != unit))
232231 then true
233- else l("deposit for user is not exists"), if ((ag > ae))
232+ else o("deposit for user is not exists"), if ((ah > af))
234233 then true
235- else l("newRevokedTotal can't be less or equal than revokedTotal")]
236- if ((R == R))
237- then [BooleanEntry(f(e), true), IntegerEntry(g(), ag), StringEntry(d(e), A(w, ad, y, z))]
234+ else o("newRevokedTotal can't be less or equal than revokedTotal")]
235+ if ((S == S))
236+ then [BooleanEntry(f(e), true), IntegerEntry(g(), ah), StringEntry(d(e), B(x, ae, z, A))]
238237 else throw("Strict value is not equal to itself.")
239238 }
240239
241240
242241
243-@Callable(s)
244-func claim () = K(toBase58String(s.caller.bytes))
242+@Callable(t)
243+func claim () = L(toBase58String(t.caller.bytes))
245244
246245
247246
248-@Callable(s)
247+@Callable(t)
249248 func claimREADONLY (e) = {
250- let N = F(e)
251- $Tuple2(nil, N)
249+ let O = G(e)
250+ $Tuple2(nil, O)
252251 }
253252
254253
255254
256-@Callable(s)
257-func stats (e) = $Tuple2(nil, [value(getInteger(h(e))), value(getInteger(i(e))), B(e), D(e), C(e), F(e)])
255+@Callable(t)
256+func stats (e) = $Tuple2(nil, [value(getInteger(h(e))), value(getInteger(i(e))), C(e), E(e), D(e), G(e)])
258257
259258
260-
261-@Callable(s)
262-func setManager (ah) = {
263- let ai = r(s)
264- if ((ai == ai))
265- then {
266- let aj = fromBase58String(ah)
267- if ((aj == aj))
268- then [StringEntry(c(), ah)]
269- else throw("Strict value is not equal to itself.")
270- }
271- else throw("Strict value is not equal to itself.")
272- }
273-
274-
275-
276-@Callable(s)
277-func confirmManager () = {
278- let ak = q()
279- let al = if (isDefined(ak))
280- then true
281- else l("no pending manager")
282- if ((al == al))
283- then {
284- let am = if ((s.callerPublicKey == value(ak)))
285- then true
286- else l("you are not pending manager")
287- if ((am == am))
288- then [StringEntry(b(), toBase58String(value(ak))), DeleteEntry(c())]
289- else throw("Strict value is not equal to itself.")
290- }
291- else throw("Strict value is not equal to itself.")
292- }
293-
294-
295-@Verifier(an)
296-func ao () = {
297- let ap = {
298- let o = n()
299- if ($isInstanceOf(o, "ByteVector"))
259+@Verifier(ai)
260+func aj () = {
261+ let ak = {
262+ let m = q()
263+ if ($isInstanceOf(m, "ByteVector"))
300264 then {
301- let u = o
302- u
265+ let v = m
266+ v
303267 }
304- else if ($isInstanceOf(o, "Unit"))
305- then an.senderPublicKey
268+ else if ($isInstanceOf(m, "Unit"))
269+ then ai.senderPublicKey
306270 else throw("Match error")
307271 }
308- sigVerify(an.bodyBytes, an.proofs[0], ap)
272+ sigVerify(ai.bodyBytes, ai.proofs[0], ak)
309273 }
310274
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 func b () = "%s__managerPublicKey"
77
88
9-func c () = "%s__pendingManagerPublicKey"
9+func c () = "%s__managerVaultAddress"
1010
1111
1212 func d (e) = makeString(["%s", e], a)
1313
1414
1515 func f (e) = makeString(["%s%s", "revoked", e], a)
1616
1717
1818 func g () = makeString(["%s", "revokedTotal"], a)
1919
2020
2121 func h (e) = makeString(["%s%s", "vestingStart", e], a)
2222
2323
2424 func i (e) = makeString(["%s%s", "vestingEnd", e], a)
2525
2626
2727 func j (e) = makeString(["%s%s", "amountPerBlock", e], a)
2828
2929
3030 func k () = makeString(["%s", "wxAssetId"], a)
3131
3232
33-func l (m) = throw(makeString(["vesting.ride:", m], " "))
33+func l () = {
34+ let m = getString(c())
35+ if ($isInstanceOf(m, "String"))
36+ then {
37+ let n = m
38+ addressFromStringValue(n)
39+ }
40+ else this
41+ }
3442
3543
36-func n () = {
37- let o = getString(b())
38- if ($isInstanceOf(o, "String"))
44+func o (p) = throw(makeString(["vesting.ride:", p], " "))
45+
46+
47+func q () = {
48+ let r = l()
49+ let m = getString(r, b())
50+ if ($isInstanceOf(m, "String"))
3951 then {
40- let p = o
41- fromBase58String(p)
52+ let n = m
53+ fromBase58String(n)
4254 }
43- else if ($isInstanceOf(o, "Unit"))
55+ else if ($isInstanceOf(m, "Unit"))
4456 then unit
4557 else throw("Match error")
4658 }
4759
4860
49-func q () = {
50- let o = getString(c())
51- if ($isInstanceOf(o, "String"))
61+func s (t) = {
62+ let u = o("permission denied")
63+ let m = q()
64+ if ($isInstanceOf(m, "ByteVector"))
5265 then {
53- let p = o
54- fromBase58String(p)
66+ let v = m
67+ if ((t.callerPublicKey == v))
68+ then true
69+ else u
5570 }
56- else if ($isInstanceOf(o, "Unit"))
57- then unit
71+ else if ($isInstanceOf(m, "Unit"))
72+ then if ((t.caller == this))
73+ then true
74+ else u
5875 else throw("Match error")
5976 }
6077
6178
62-func r (s) = {
63- let t = l("permission denied")
64- let o = n()
65- if ($isInstanceOf(o, "ByteVector"))
66- then {
67- let u = o
68- if ((s.callerPublicKey == u))
69- then true
70- else t
71- }
72- else if ($isInstanceOf(o, "Unit"))
73- then if ((s.caller == this))
74- then true
75- else t
76- else throw("Match error")
77- }
79+func w (x,y,z,A) = makeString(["%d%d%d%d%d", x, y, "0", z, A], a)
7880
7981
80-func v (w,x,y,z) = makeString(["%d%d%d%d%d", w, x, "0", y, z], a)
82+func B (x,y,z,A) = w(toString(x), toString(y), toString(z), toString(A))
8183
8284
83-func A (w,x,y,z) = v(toString(w), toString(x), toString(y), toString(z))
85+func C (e) = parseIntValue(split(value(getString(d(e))), a)[1])
8486
8587
86-func B (e) = parseIntValue(split(value(getString(d(e))), a)[1])
88+func D (e) = parseIntValue(split(value(getString(d(e))), a)[2])
8789
8890
89-func C (e) = parseIntValue(split(value(getString(d(e))), a)[2])
91+func E (e) = parseIntValue(split(value(getString(d(e))), a)[3])
9092
9193
92-func D (e) = parseIntValue(split(value(getString(d(e))), a)[3])
94+func F (e) = parseIntValue(split(value(getString(d(e))), a)[5])
9395
9496
95-func E (e) = parseIntValue(split(value(getString(d(e))), a)[5])
96-
97-
98-func F (e) = {
99- let G = valueOrElse(getBoolean(f(e)), false)
100- if (G)
101- then C(e)
97+func G (e) = {
98+ let H = valueOrElse(getBoolean(f(e)), false)
99+ if (H)
100+ then D(e)
102101 else {
103- let H = E(e)
104- if ((H >= height))
102+ let I = F(e)
103+ if ((I >= height))
105104 then 0
106105 else {
107- let I = value(getInteger(i(e)))
108- if ((height > I))
109- then C(e)
106+ let J = value(getInteger(i(e)))
107+ if ((height > J))
108+ then D(e)
110109 else {
111- let J = (height - H)
112- (value(getInteger(j(e))) * J)
110+ let K = (height - I)
111+ (value(getInteger(j(e))) * K)
113112 }
114113 }
115114 }
116115 }
117116
118117
119-func K (e) = {
120- let L = addressFromStringValue(e)
121- let M = fromBase58String(value(getString(k())))
122- let N = F(e)
123- let O = if ((N != 0))
118+func L (e) = {
119+ let M = addressFromStringValue(e)
120+ let N = fromBase58String(value(getString(k())))
121+ let O = G(e)
122+ let P = if ((O != 0))
124123 then true
125- else l("nothing to claim")
126- if ((O == O))
124+ else o("nothing to claim")
125+ if ((P == P))
127126 then {
128- let w = B(e)
129127 let x = C(e)
130128 let y = D(e)
131- let G = valueOrElse(getBoolean(f(e)), false)
132- if (G)
133- then [ScriptTransfer(L, x, M), StringEntry(d(e), A(w, 0, (y + x), height))]
134- else [ScriptTransfer(L, N, M), StringEntry(d(e), A(w, (x - N), (y + N), height))]
129+ let z = E(e)
130+ let H = valueOrElse(getBoolean(f(e)), false)
131+ if (H)
132+ then [ScriptTransfer(M, y, N), StringEntry(d(e), B(x, 0, (z + y), height))]
133+ else [ScriptTransfer(M, O, N), StringEntry(d(e), B(x, (y - O), (z + O), height))]
135134 }
136135 else throw("Strict value is not equal to itself.")
137136 }
138137
139138
140-@Callable(s)
141-func constructor (P) = {
142- let Q = r(s)
143- if ((Q == Q))
144- then [StringEntry(k(), P)]
139+@Callable(t)
140+func constructor (Q) = {
141+ let R = s(t)
142+ if ((R == R))
143+ then [StringEntry(k(), Q)]
145144 else throw("Strict value is not equal to itself.")
146145 }
147146
148147
149148
150-@Callable(s)
149+@Callable(t)
151150 func withdrawRevoked () = {
152- let N = valueOrElse(getInteger(g()), 0)
153- let M = fromBase58String(value(getString(k())))
154- let R = [r(s), if ((N > 0))
151+ let O = valueOrElse(getInteger(g()), 0)
152+ let N = fromBase58String(value(getString(k())))
153+ let S = [s(t), if ((O > 0))
155154 then true
156- else l("revoked amount is zero, nothing to withdraw")]
157- if ((R == R))
158- then [ScriptTransfer(s.caller, N, M), IntegerEntry(g(), 0)]
155+ else o("revoked amount is zero, nothing to withdraw")]
156+ if ((S == S))
157+ then [ScriptTransfer(t.caller, O, N), IntegerEntry(g(), 0)]
159158 else throw("Strict value is not equal to itself.")
160159 }
161160
162161
163162
164-@Callable(s)
165-func createDepositFor (e,S) = {
166- let N = s.payments[0].amount
167- let T = (height + S)
168- let U = (T - height)
169- let V = (N / U)
170- let R = [if ((T > height))
163+@Callable(t)
164+func createDepositFor (e,T) = {
165+ let O = t.payments[0].amount
166+ let U = (height + T)
167+ let V = (U - height)
168+ let W = (O / V)
169+ let S = [if ((U > height))
171170 then true
172- else l("endHeight must be more than height"), if ((getString(d(e)) == unit))
171+ else o("endHeight must be more than height"), if ((getString(d(e)) == unit))
173172 then true
174- else l("deposit for user already exists"), if ((toBase58String(value(s.payments[0].assetId)) == value(getString(k()))))
173+ else o("deposit for user already exists"), if ((toBase58String(value(t.payments[0].assetId)) == value(getString(k()))))
175174 then true
176- else l("attached payment is not WX"), if ((V != 0))
175+ else o("attached payment is not WX"), if ((W != 0))
177176 then true
178- else l("attached amount too small or blocksDuration too large — will claimed zero per block")]
179- if ((R == R))
180- then [StringEntry(d(e), A(N, N, 0, height)), IntegerEntry(h(e), height), IntegerEntry(i(e), T), IntegerEntry(j(e), V)]
177+ else o("attached amount too small or blocksDuration too large — will claimed zero per block")]
178+ if ((S == S))
179+ then [StringEntry(d(e), B(O, O, 0, height)), IntegerEntry(h(e), height), IntegerEntry(i(e), U), IntegerEntry(j(e), W)]
181180 else throw("Strict value is not equal to itself.")
182181 }
183182
184183
185184
186-@Callable(s)
185+@Callable(t)
187186 func increaseDepositFor (e) = {
188- let W = F(e)
189- let X = if ((W > 0))
190- then K(e)
187+ let X = G(e)
188+ let Y = if ((X > 0))
189+ then L(e)
191190 else unit
192- if ((X == X))
191+ if ((Y == Y))
193192 then {
194- let N = s.payments[0].amount
195- let T = value(getInteger(i(e)))
196- let U = (T - height)
197- let V = value(getInteger(j(e)))
198- let Y = (N / U)
199- let Z = B(e)
193+ let O = t.payments[0].amount
194+ let U = value(getInteger(i(e)))
195+ let V = (U - height)
196+ let W = value(getInteger(j(e)))
197+ let Z = (O / V)
200198 let aa = C(e)
201199 let ab = D(e)
202200 let ac = E(e)
203- let R = [if ((valueOrElse(getBoolean(f(e)), false) == false))
201+ let ad = F(e)
202+ let S = [if ((valueOrElse(getBoolean(f(e)), false) == false))
204203 then true
205- else l("deposit for user is revoked"), if ((getString(d(e)) != unit))
204+ else o("deposit for user is revoked"), if ((getString(d(e)) != unit))
206205 then true
207- else l("deposit for user doesn't exists"), if ((toBase58String(value(s.payments[0].assetId)) == value(getString(k()))))
206+ else o("deposit for user doesn't exists"), if ((toBase58String(value(t.payments[0].assetId)) == value(getString(k()))))
208207 then true
209- else l("attached payment is not WX"), if ((Y != 0))
208+ else o("attached payment is not WX"), if ((Z != 0))
210209 then true
211- else l("attached amount too small — increase is zero per block")]
212- if ((R == R))
213- then [StringEntry(d(e), A((Z + N), (aa + N), ab, ac)), IntegerEntry(j(e), (V + Y))]
210+ else o("attached amount too small — increase is zero per block")]
211+ if ((S == S))
212+ then [StringEntry(d(e), B((aa + O), (ab + O), ac, ad)), IntegerEntry(j(e), (W + Z))]
214213 else throw("Strict value is not equal to itself.")
215214 }
216215 else throw("Strict value is not equal to itself.")
217216 }
218217
219218
220219
221-@Callable(s)
220+@Callable(t)
222221 func revokeDepositFor (e) = {
223- let w = B(e)
224222 let x = C(e)
225223 let y = D(e)
226224 let z = E(e)
227- let ad = F(e)
228- let ae = valueOrElse(getInteger(g()), 0)
229- let af = (x - ad)
230- let ag = (ae + af)
231- let R = [r(s), if ((getString(d(e)) != unit))
225+ let A = F(e)
226+ let ae = G(e)
227+ let af = valueOrElse(getInteger(g()), 0)
228+ let ag = (y - ae)
229+ let ah = (af + ag)
230+ let S = [s(t), if ((getString(d(e)) != unit))
232231 then true
233- else l("deposit for user is not exists"), if ((ag > ae))
232+ else o("deposit for user is not exists"), if ((ah > af))
234233 then true
235- else l("newRevokedTotal can't be less or equal than revokedTotal")]
236- if ((R == R))
237- then [BooleanEntry(f(e), true), IntegerEntry(g(), ag), StringEntry(d(e), A(w, ad, y, z))]
234+ else o("newRevokedTotal can't be less or equal than revokedTotal")]
235+ if ((S == S))
236+ then [BooleanEntry(f(e), true), IntegerEntry(g(), ah), StringEntry(d(e), B(x, ae, z, A))]
238237 else throw("Strict value is not equal to itself.")
239238 }
240239
241240
242241
243-@Callable(s)
244-func claim () = K(toBase58String(s.caller.bytes))
242+@Callable(t)
243+func claim () = L(toBase58String(t.caller.bytes))
245244
246245
247246
248-@Callable(s)
247+@Callable(t)
249248 func claimREADONLY (e) = {
250- let N = F(e)
251- $Tuple2(nil, N)
249+ let O = G(e)
250+ $Tuple2(nil, O)
252251 }
253252
254253
255254
256-@Callable(s)
257-func stats (e) = $Tuple2(nil, [value(getInteger(h(e))), value(getInteger(i(e))), B(e), D(e), C(e), F(e)])
255+@Callable(t)
256+func stats (e) = $Tuple2(nil, [value(getInteger(h(e))), value(getInteger(i(e))), C(e), E(e), D(e), G(e)])
258257
259258
260-
261-@Callable(s)
262-func setManager (ah) = {
263- let ai = r(s)
264- if ((ai == ai))
265- then {
266- let aj = fromBase58String(ah)
267- if ((aj == aj))
268- then [StringEntry(c(), ah)]
269- else throw("Strict value is not equal to itself.")
270- }
271- else throw("Strict value is not equal to itself.")
272- }
273-
274-
275-
276-@Callable(s)
277-func confirmManager () = {
278- let ak = q()
279- let al = if (isDefined(ak))
280- then true
281- else l("no pending manager")
282- if ((al == al))
283- then {
284- let am = if ((s.callerPublicKey == value(ak)))
285- then true
286- else l("you are not pending manager")
287- if ((am == am))
288- then [StringEntry(b(), toBase58String(value(ak))), DeleteEntry(c())]
289- else throw("Strict value is not equal to itself.")
290- }
291- else throw("Strict value is not equal to itself.")
292- }
293-
294-
295-@Verifier(an)
296-func ao () = {
297- let ap = {
298- let o = n()
299- if ($isInstanceOf(o, "ByteVector"))
259+@Verifier(ai)
260+func aj () = {
261+ let ak = {
262+ let m = q()
263+ if ($isInstanceOf(m, "ByteVector"))
300264 then {
301- let u = o
302- u
265+ let v = m
266+ v
303267 }
304- else if ($isInstanceOf(o, "Unit"))
305- then an.senderPublicKey
268+ else if ($isInstanceOf(m, "Unit"))
269+ then ai.senderPublicKey
306270 else throw("Match error")
307271 }
308- sigVerify(an.bodyBytes, an.proofs[0], ap)
272+ sigVerify(ai.bodyBytes, ai.proofs[0], ak)
309273 }
310274

github/deemru/w8io/169f3d6 
94.38 ms