tx · Hpd6zZjKjmfPjGaSMrX5MWwvSm7RTTMDwvMXjHgxFD4q

3MyytsRPxYr48we6CPWAQ1z4x6cmEbHWtFq:  -0.01400000 Waves

2021.03.29 17:10 [1459142] smart account 3MyytsRPxYr48we6CPWAQ1z4x6cmEbHWtFq > SELF 0.00000000 Waves

{ "type": 13, "id": "Hpd6zZjKjmfPjGaSMrX5MWwvSm7RTTMDwvMXjHgxFD4q", "fee": 1400000, "feeAssetId": null, "timestamp": 1617027083282, "version": 2, "chainId": 84, "sender": "3MyytsRPxYr48we6CPWAQ1z4x6cmEbHWtFq", "senderPublicKey": "551T51u5CXgqTybnycyVjFjM9tKkqVEenm7ZrxxC7gLe", "proofs": [ "fhCVukjzFuZfoVDZtZSUc4X2xupSchQ9k5YjoCMPGVbGZspfjGPueH7UrhKndKD3Pnmna7rBvENnMggT1XQC1ah" ], "script": "base64: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C3RvdGFsQW1vdW50BQAAAANmZWUEAAAADWR5enJhcHRBbW91bnQJAQAAAA11c2RuVG9EeXpyYXB0AAAAAQUAAAAGYW1vdW50BAAAAAhzYXZlZEZlZQkBAAAADmdldFRvdGFsRmVlVXNkAAAAAAQAAAAIdG90YWxGZWUJAABkAAAAAgUAAAAIc2F2ZWRGZWUFAAAAA2ZlZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAOdG90YWxGZWVVc2RLZXkFAAAACHRvdGFsRmVlCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAANZHl6cmFwdEFtb3VudAUAAAAOZHl6cmFwdEFzc2V0SWQFAAAAA25pbAAAAAFpAQAAABBzd2FwRXRoVG9EeXpyYXB0AAAAAAQAAAADcG10CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAAdhc3NldElkCAUAAAADcG10AAAAB2Fzc2V0SWQEAAAAC3RvdGFsQW1vdW50CAUAAAADcG10AAAABmFtb3VudAMJAQAAAAIhPQAAAAIFAAAAB2Fzc2V0SWQFAAAACmV0aEFzc2V0SWQJAAACAAAAAQIAAAApT25seSBXRVRIIHRva2VucyBhcmUgYWxsb3dlZCBmb3Igc3dhcHBpbmcEAAAAA2ZlZQkBAAAADGdldEZlZUFtb3VudAAAAAEFAAAAC3RvdGFsQW1vdW50BAAAAAZhbW91bnQJAABlAAAAAgUAAAALdG90YWxBbW91bnQFAAAAA2ZlZQQAAAAIZXRoUHJpY2UJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAA1vcmFjbGVBZGRyZXNzBQAAAA1wcmljZU9mRXRoS2V5AgAAABRVbmFibGUgdG8gbG9hZCBwcmljZQQAAAAKdXNkbkFtb3VudAkAAGsAAAADBQAAAAZhbW91bnQFAAAACGV0aFByaWNlAAAAAAAAACcQBAAAAA1keXpyYXB0QW1vdW50CQEAAAANdXNkblRvRHl6cmFwdAAAAAEFAAAACnVzZG5BbW91bnQEAAAACHNhdmVkRmVlCQEAAAAOZ2V0VG90YWxGZWVFdGgAAAAABAAAAAh0b3RhbEZlZQkAAGQAAAACBQAAAAhzYXZlZEZlZQUAAAADZmVlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA50b3RhbEZlZUV0aEtleQUAAAAIdG90YWxGZWUJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAA1keXpyYXB0QW1vdW50BQAAAA5keXpyYXB0QXNzZXRJZAUAAAADbmlsAAAAAWkBAAAAEXN3YXBEeXpyYXB0VG9Vc2RuAAAAAAQAAAADcG10CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAAdhc3NldElkCAUAAAADcG10AAAAB2Fzc2V0SWQEAAAAC3RvdGFsQW1vdW50CAUAAAADcG10AAAABmFtb3VudAMJAQAAAAIhPQAAAAIFAAAAB2Fzc2V0SWQFAAAADmR5enJhcHRBc3NldElkCQAAAgAAAAECAAAALE9ubHkgRFlaUkFQVCB0b2tlbnMgYXJlIGFsbG93ZWQgZm9yIHN3YXBwaW5nBAAAAANmZWUJAQAAAAxnZXRGZWVBbW91bnQAAAABBQAAAAt0b3RhbEFtb3VudAQAAAAGYW1vdW50CQAAZQAAAAIFAAAAC3RvdGFsQW1vdW50BQAAAANmZWUEAAAACnVzZG5BbW91bnQJAQAAAA1keXpyYXB0VG9Vc2RuAAAAAQUAAAAGYW1vdW50BAAAAAhzYXZlZEZlZQkBAAAAEmdldFRvdGFsRmVlRHl6cmFwdAAAAAAEAAAACHRvdGFsRmVlCQAAZAAAAAIFAAAACHNhdmVkRmVlBQAAAANmZWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEnRvdGFsRmVlRHl6cmFwdEtleQUAAAAIdG90YWxGZWUJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAp1c2RuQW1vdW50BQAAAAt1c2RuQXNzZXRJZAUAAAADbmlsAAAAAWkBAAAAEHN3YXBEeXpyYXB0VG9FdGgAAAAABAAAAANwbXQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAAB2Fzc2V0SWQIBQAAAANwbXQAAAAHYXNzZXRJZAQAAAALdG90YWxBbW91bnQIBQAAAANwbXQAAAAGYW1vdW50AwkBAAAAAiE9AAAAAgUAAAAHYXNzZXRJZAUAAAAOZHl6cmFwdEFzc2V0SWQJAAACAAAAAQIAAAAsT25seSBEWVpSQVBUIHRva2VucyBhcmUgYWxsb3dlZCBmb3Igc3dhcHBpbmcEAAAAA2ZlZQkBAAAADGdldEZlZUFtb3VudAAAAAEFAAAAC3RvdGFsQW1vdW50BAAAAAZhbW91bnQJAABlAAAAAgUAAAALdG90YWxBbW91bnQFAAAAA2ZlZQQAAAAKdXNkbkFtb3VudAkBAAAADWR5enJhcHRUb1VzZG4AAAABBQAAAAZhbW91bnQEAAAACGV0aFByaWNlCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAANb3JhY2xlQWRkcmVzcwUAAAANcHJpY2VPZkV0aEtleQIAAAAUVW5hYmxlIHRvIGxvYWQgcHJpY2UEAAAACWV0aEFtb3VudAkAAGsAAAADBQAAAAp1c2RuQW1vdW50AAAAAAAAACcQBQAAAAhldGhQcmljZQQAAAAIc2F2ZWRGZWUJAQAAABJnZXRUb3RhbEZlZUR5enJhcHQAAAAABAAAAAh0b3RhbEZlZQkAAGQAAAACBQAAAAhzYXZlZEZlZQUAAAADZmVlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJ0b3RhbEZlZUR5enJhcHRLZXkFAAAACHRvdGFsRmVlCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAJZXRoQW1vdW50BQAAAApldGhBc3NldElkBQAAAANuaWwAAAAAfP17AQ==", "height": 1459142, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 59w3uLukc4uy6nA1QYBxH9qikPhBvUEBccVktSbfqBxf Next: 3NhiWmAJP7zvHbwEXtfeBJd6t2xsEjRMGnEyKG71zweN Full:
OldNewDifferences
1-{-# STDLIB_VERSION 3 #-}
1+{-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = "upvote"
4+let a = "total_fee_eth"
55
6-let b = base58'3MyofeFJ29LLoVcHYtYgkLP7EUuYYGKBB4P'
6+let b = "total_fee_usd"
77
8-let c = base58'3NAqtCScgFynCuRLUoXm2BHTdu8suatCe7b'
8+let c = "total_fee_dyzrapt"
99
10-let d = base58'3Mucpi1K4FMVrZKnYEgjxQf5DkkBX7QrHoJ'
10+let d = "dyz"
1111
12-let e = base58'2TLkgUERqF1y21ShjiFVVTVYtP1BL8wvc6BGLZvt4fND'
12+let e = "eth"
1313
14-func f () = "stake_pool"
14+let f = Address(base58'3N7G2kVtBTh94aEnDHQ9dpi4EdsDxAiDXjB')
1515
16+let g = base58'2TLkgUERqF1y21ShjiFVVTVYtP1BL8wvc6BGLZvt4fND'
1617
17-func g () = {
18- let h = getInteger(this, f())
19- if ($isInstanceOf(h, "Int"))
20- then {
21- let i = h
22- i
23- }
24- else 0
18+let h = base58'3JJkzB4pFXcqdJvC9TcV8ys1FLgesr5SxbhmykkpceQp'
19+
20+let i = base58'9Nf5wpj6jds3VRZKDryp6Dtf3R9d8MdbjNhencLogCr5'
21+
22+func j (k) = {
23+ let l = fraction(k, 3, 100)
24+ l
2525 }
2626
2727
28-func j (k,l) = if ((l == "upvote"))
29- then (((k + "_") + l) + "_amount")
30- else throw("Invalid vote type")
31-
32-
33-func m (n) = (n + "_stake")
34-
35-
36-func o (n) = {
37- let h = getInteger(this, m(n))
38- if ($isInstanceOf(h, "Int"))
39- then {
40- let i = h
41- i
42- }
43- else 0
28+func m (n) = {
29+ let o = valueOrElse(getInteger(this, n), 0)
30+ o
4431 }
4532
4633
47-func p (k) = (k + "_entrepreneurProfile")
34+func p () = m(a)
4835
4936
50-func q (k) = (k + "_status")
37+func q () = m(b)
5138
5239
53-func r (k,l) = if ((l == "upvote"))
54- then (k + "_upvote")
55- else throw("Invalid vote type")
40+func r () = m(c)
5641
5742
5843 func s (k) = {
59- let h = getString(this, p(k))
60- if ($isInstanceOf(h, "String"))
61- then {
62- let i = h
63- true
64- }
65- else false
44+ let t = valueOrErrorMessage(getInteger(f, d), "Unable to load price")
45+ fraction(k, 10000, t)
6646 }
6747
6848
69-func t (u) = {
70- let h = getString(this, q(u))
71- if ($isInstanceOf(h, "String"))
72- then {
73- let i = h
74- i
75- }
76- else false
49+func u (k) = {
50+ let t = valueOrErrorMessage(getInteger(f, d), "Unable to load price")
51+ fraction(k, t, 10000)
7752 }
7853
7954
80-func v (k,u) = (((k + "_") + u) + "_amount")
81-
82-
83-func w (u,x) = {
84- let h = getInteger(this, j(u, x))
85- if ($isInstanceOf(h, "Int"))
86- then {
87- let i = h
88- i
89- }
90- else 0
91- }
92-
93-
94-func y (z) = {
95- let h = getInteger(this, ("last_claim_" + z))
96- if ($isInstanceOf(h, "Int"))
97- then {
98- let i = h
99- i
100- }
101- else 0
102- }
103-
104-
105-func A (u,x) = {
106- let h = getInteger(this, r(u, x))
107- if ($isInstanceOf(h, "Int"))
108- then {
109- let i = h
110- i
111- }
112- else throw("Not a valid vote ID")
113- }
114-
115-
116-func B (C,u) = ((((C + "_") + u) + "_") + "vote")
117-
118-
119-func D (C,u) = {
120- let h = getString(this, B(C, u))
121- if ($isInstanceOf(h, "String"))
122- then {
123- let i = h
124- i
125- }
126- else ""
127- }
128-
129-
130-func E (C,u) = {
131- let F = D(C, u)
132- if ((F == ""))
133- then true
134- else false
135- }
136-
137-
138-func G () = {
139- let h = getInteger(this, "claimed_total")
140- if ($isInstanceOf(h, "Int"))
141- then {
142- let i = h
143- i
144- }
145- else 0
146- }
147-
148-
149-func H (C) = {
150- let h = getInteger(this, ("claimed_total_" + C))
151- if ($isInstanceOf(h, "Int"))
152- then {
153- let i = h
154- i
155- }
156- else 0
157- }
158-
159-
160-@Callable(I)
161-func addEntrepreneurProfile (J,K,L,M,N) = if (if (if ((I.caller.bytes == b))
162- then true
163- else (I.caller.bytes == c))
164- then true
165- else (I.caller.bytes == d))
166- then {
167- let O = toBase58String(I.transactionId)
168- WriteSet([DataEntry(p(O), ((((((((J + "_") + K) + "_") + L) + "_") + M) + "_") + N)), DataEntry(r(O, "upvote"), 0), DataEntry(j(O, "upvote"), 0), DataEntry(q(O), "open")])
169- }
170- else throw("Only Dyzrupt Admin can call this dApp function")
171-
172-
173-
174-@Callable(I)
175-func vote (u,x) = {
176- let P = extract(I.payment)
177- let F = toBase58String(I.caller.bytes)
178- if ((P.amount == 0))
179- then throw("You cannot vote without paying voting fee")
180- else if ((P.assetId != e))
181- then throw("You can only vote with DYZRUPT token")
182- else if (E(toBase58String(I.caller.bytes), u))
183- then if (s(u))
184- then if ((t(u) == "open"))
185- then if ((x == a))
186- then {
187- let Q = A(u, x)
188- let R = w(u, x)
189- let S = (Q + 1)
190- let T = (R + P.amount)
191- ScriptResult(WriteSet([DataEntry(r(u, x), S), DataEntry(B(F, u), u), DataEntry(v(F, u), P.amount), DataEntry(j(u, x), T)]), TransferSet([ScriptTransfer(this, P.amount, e)]))
192- }
193- else throw("Not a valid vote value")
194- else throw("This profile is not open for voting")
195- else throw("Invalid Profile")
196- else throw("You can't vote twice")
55+@Callable(v)
56+func test () = {
57+ let w = value(v.payments[0])
58+ let x = w.assetId
59+ let k = w.amount
60+ if ((x == g))
61+ then throw(("its a dyzrapt. Amount=" + toString(k)))
62+ else throw("its not a dyzrapt")
19763 }
19864
19965
20066
201-@Callable(I)
202-func openVote (u) = if (if (if ((I.caller.bytes == b))
203- then true
204- else (I.caller.bytes == c))
205- then true
206- else (I.caller.bytes == d))
207- then if (s(u))
208- then WriteSet([DataEntry(q(u), "open")])
209- else throw("Invalid ID")
210- else throw("Only Dyzrupt Admin can call this dApp function")
211-
212-
213-
214-@Callable(I)
215-func closeVote (u) = if (if (if ((I.caller.bytes == b))
216- then true
217- else (I.caller.bytes == c))
218- then true
219- else (I.caller.bytes == d))
220- then if (s(u))
221- then WriteSet([DataEntry(q(u), "closed")])
222- else throw("Invalid ID")
223- else throw("Only Dyzrupt Admin can call this dApp function")
224-
225-
226-
227-@Callable(I)
228-func withdraw (u) = {
229- let F = toBase58String(I.caller.bytes)
230- if ((D(F, u) != ""))
231- then if ((t(u) == "closed"))
232- then {
233- let U = v(F, u)
234- let V = {
235- let h = getInteger(this, U)
236- if ($isInstanceOf(h, "Int"))
237- then {
238- let i = h
239- i
240- }
241- else throw("You didn't vote for this entrepreneur")
242- }
243- if ((V == 0))
244- then throw("Seems you have previously withdrawn.")
245- else ScriptResult(WriteSet([DataEntry(U, 0)]), TransferSet([ScriptTransfer(I.caller, V, e)]))
246- }
247- else throw("Can't withdraw vote amount while voting is still open.")
248- else throw("You didn't vote for this entrepreneur")
67+@Callable(v)
68+func swapUsdnToDyzrapt () = {
69+ let w = value(v.payments[0])
70+ let x = w.assetId
71+ let y = w.amount
72+ if ((x != i))
73+ then throw("Only USDN tokens are allowed for swapping")
74+ else {
75+ let l = j(y)
76+ let k = (y - l)
77+ let z = s(k)
78+ let A = q()
79+ let B = (A + l)
80+[IntegerEntry(b, B), ScriptTransfer(v.caller, z, g)]
81+ }
24982 }
25083
25184
25285
253-@Callable(I)
254-func stake () = {
255- let n = toBase58String(I.caller.bytes)
256- let P = extract(I.payment)
257- if ((P.amount == 0))
258- then throw("Stake amount too low")
259- else if ((P.assetId != e))
260- then throw("You can only stake with DYZRUPT token")
261- else {
262- let W = o(n)
263- let X = fraction(P.amount, 5, 100)
264- let Y = (P.amount - X)
265- let Z = (W + Y)
266- let aa = g()
267- let ab = (aa + X)
268- ScriptResult(WriteSet([DataEntry(m(n), Z), DataEntry(f(), ab)]), TransferSet(nil))
269- }
86+@Callable(v)
87+func swapEthToDyzrapt () = {
88+ let w = value(v.payments[0])
89+ let x = w.assetId
90+ let y = w.amount
91+ if ((x != h))
92+ then throw("Only WETH tokens are allowed for swapping")
93+ else {
94+ let l = j(y)
95+ let k = (y - l)
96+ let C = valueOrErrorMessage(getInteger(f, e), "Unable to load price")
97+ let D = fraction(k, C, 10000)
98+ let z = s(D)
99+ let A = p()
100+ let B = (A + l)
101+[IntegerEntry(a, B), ScriptTransfer(v.caller, z, g)]
102+ }
270103 }
271104
272105
273106
274-@Callable(I)
275-func unstake (ac) = {
276- let n = toBase58String(I.caller.bytes)
277- let W = o(n)
278- if ((W == 0))
279- then throw("You don't have any stakes")
280- else if ((ac > W))
281- then throw("You can't withdraw an amount higher than you staked")
282- else {
283- let ad = fraction(ac, 10, 100)
284- let ae = (ac - ad)
285- let af = (W - ac)
286- let aa = g()
287- let ab = (aa + ad)
288- ScriptResult(WriteSet([DataEntry(m(n), af), DataEntry(f(), ab)]), TransferSet([ScriptTransfer(I.caller, ae, e)]))
289- }
107+@Callable(v)
108+func swapDyzraptToUsdn () = {
109+ let w = value(v.payments[0])
110+ let x = w.assetId
111+ let y = w.amount
112+ if ((x != g))
113+ then throw("Only DYZRAPT tokens are allowed for swapping")
114+ else {
115+ let l = j(y)
116+ let k = (y - l)
117+ let D = u(k)
118+ let A = r()
119+ let B = (A + l)
120+[IntegerEntry(c, B), ScriptTransfer(v.caller, D, i)]
121+ }
290122 }
291123
292124
293125
294-@Callable(I)
295-func claimDailyStakeReward (ag) = {
296- let n = toBase58String(I.caller.bytes)
297- let W = o(n)
298- let aa = g()
299- let ah = height
300- let ai = y(n)
301- let aj = G()
302- let ak = H(n)
303- if ((W == 0))
304- then throw("You don't have any stakes")
305- else if ((aa == 0))
306- then throw("Nothing in Stake pool at this time. Try again later")
307- else if ((ag > aa))
308- then throw("No rewards at this time")
309- else if (((ai + 1440) > ah))
310- then throw("You can only claim once a day")
311- else {
312- let ab = (aa - ag)
313- let al = W
314- ScriptResult(WriteSet([DataEntry(("claimed_total_" + n), (ak + ag)), DataEntry("claimed_total", (aj + ag)), DataEntry(("last_claim_" + n), ah), DataEntry(m(n), al), DataEntry(f(), ab)]), TransferSet([ScriptTransfer(I.caller, ag, e)]))
315- }
126+@Callable(v)
127+func swapDyzraptToEth () = {
128+ let w = value(v.payments[0])
129+ let x = w.assetId
130+ let y = w.amount
131+ if ((x != g))
132+ then throw("Only DYZRAPT tokens are allowed for swapping")
133+ else {
134+ let l = j(y)
135+ let k = (y - l)
136+ let D = u(k)
137+ let C = valueOrErrorMessage(getInteger(f, e), "Unable to load price")
138+ let E = fraction(D, 10000, C)
139+ let A = r()
140+ let B = (A + l)
141+[IntegerEntry(c, B), ScriptTransfer(v.caller, E, h)]
142+ }
316143 }
317144
318145

github/deemru/w8io/c3f4982 
53.45 ms