tx · 9TzpGq4Ye3SCt2VNQ86FNLydPnotxpPcRCuKMosybJxH

3N7nJwbFGppbebBtXy6bWVcQCGu7m3kXFaw:  -0.01000000 Waves

2022.06.03 22:28 [2080584] smart account 3N7nJwbFGppbebBtXy6bWVcQCGu7m3kXFaw > SELF 0.00000000 Waves

{ "type": 13, "id": "9TzpGq4Ye3SCt2VNQ86FNLydPnotxpPcRCuKMosybJxH", "fee": 1000000, "feeAssetId": null, "timestamp": 1654284531020, "version": 2, "chainId": 84, "sender": "3N7nJwbFGppbebBtXy6bWVcQCGu7m3kXFaw", "senderPublicKey": "GTKqLSK6nuFkRdebB5SmTwTU2DnTeLMvhymCFfT2CxX2", "proofs": [ "2MW3gJBjgKpmPoLrM2kp2KWWhXJZLqG6hxXfdzWXhH2ks6ooKvL6wjKhRiPK7ok8SZh1PFH6p9tKFPbDfppYJPw2" ], "script": "base64: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", "height": 2080584, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7JRA5pYAQBSXo2GJqALxTEkQzuvVpXFeRqD9zUfT8wQk Next: HqKtN1geP5FtbPy8EE2c13YjMEmg4hDTbeKsCnFfJkis Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = base58'HFLaeLdjg9cASsYhvwM9PV3NcCxa3UeVa5KvfYUPQYgJ'
4+let a = base58'nrDXX1zHfGht7xExqNxDu7voCy9wzmc9vJxwcc2jLga'
55
6-let b = base58'HFLaeLdjg9cASsYhvwM9PV3NcCxa3UeVa5KvfYUPQYgJ'
6+let b = base58'3N59qn7Ndw24WrGFkNFk7PGTBCzdMETyKqj'
77
8-let c = base58'HFLaeLdjg9cASsYhvwM9PV3NcCxa3UeVa5KvfYUPQYgJ'
9-
10-let d = base58'HFLaeLdjg9cASsYhvwM9PV3NcCxa3UeVa5KvfYUPQYgJ'
11-
12-let e = base58'HFLaeLdjg9cASsYhvwM9PV3NcCxa3UeVa5KvfYUPQYgJ'
13-
14-let f = base58'HFLaeLdjg9cASsYhvwM9PV3NcCxa3UeVa5KvfYUPQYgJ'
15-
16-let g = base58'HFLaeLdjg9cASsYhvwM9PV3NcCxa3UeVa5KvfYUPQYgJ'
17-
18-let h = base58'HFLaeLdjg9cASsYhvwM9PV3NcCxa3UeVa5KvfYUPQYgJ'
19-
20-let i = base58'HFLaeLdjg9cASsYhvwM9PV3NcCxa3UeVa5KvfYUPQYgJ'
21-
22-let j = base58'3N59qn7Ndw24WrGFkNFk7PGTBCzdMETyKqj'
23-
24-let k = base58'3MzqbY4iHg79pg4DNLK6UXUsbPuDcoJTzLw'
25-
26-@Callable(l)
27-func DepositFunds (m,n,o) = {
28- let p = (toBase58String(l.caller.bytes) + "_Payment")
29- let q = {
30- let r = getInteger(this, p)
31- if ($isInstanceOf(r, "Int"))
8+@Callable(c)
9+func DepositFunds () = {
10+ let d = (toBase58String(c.caller.bytes) + "_Liq")
11+ let e = {
12+ let f = getInteger(this, d)
13+ if ($isInstanceOf(f, "Int"))
3214 then {
33- let s = r
34- s
15+ let g = f
16+ g
3517 }
3618 else 0
3719 }
38- if ((q != 0))
39- then throw("You have already deposited funds, deposits can only be done once")
20+ let h = if ((size(c.payments) == 1))
21+ then c.payments[0]
22+ else throw("Attached payment is required")
23+ if (if ((0 >= h.amount))
24+ then true
25+ else (h.assetId != a))
26+ then throw("Can only deposit BUsd tokens, and amount should be positive")
4027 else {
41- let t = if ((size(l.payments) == 1))
42- then l.payments[0]
43- else throw("Attached payment is required")
44- if (if (if (if (if (if (if (if (if (if (if ((0 >= t.amount))
45- then (t.assetId != a)
46- else false)
47- then (t.assetId != b)
48- else false)
49- then (t.assetId != c)
50- else false)
51- then (t.assetId != d)
52- else false)
53- then (t.assetId != e)
54- else false)
55- then (t.assetId != f)
56- else false)
57- then (t.assetId != g)
58- else false)
59- then (t.assetId != h)
60- else false)
61- then (t.assetId != i)
62- else false)
63- then isDefined(t.assetId)
64- else false)
65- then throw("Can only deposit accepted tokens, and amount should be positive")
66- else if (if (if ((m == ""))
67- then true
68- else (n == ""))
69- then true
70- else (o == ""))
71- then throw("Job Scope, Deliverables desc and Freelancer Wallet Address cannot be empty")
72- else {
73- let u = if (isDefined(t.assetId))
74- then toBase58String(value(t.assetId))
75- else "Waves"
76-[StringEntry((toBase58String(l.caller.bytes) + "_Scope"), m), StringEntry((toBase58String(l.caller.bytes) + "_Deliv"), n), StringEntry((toBase58String(l.caller.bytes) + "_Asset"), u), StringEntry((toBase58String(l.caller.bytes) + "_Freelancer"), o), IntegerEntry((toBase58String(l.caller.bytes) + "_Payment"), t.amount)]
77- }
28+ let i = (e + h.amount)
29+[IntegerEntry((toBase58String(c.caller.bytes) + "_Liq"), i)]
7830 }
7931 }
8032
8133
8234
83-@Callable(l)
84-func PayFreelancer (v) = {
85- let p = (toBase58String(l.caller.bytes) + "_Payment")
86- let o = (toBase58String(l.caller.bytes) + "_Freelancer")
87- let w = (toBase58String(l.caller.bytes) + "_Asset")
88- let x = (toBase58String(l.caller.bytes) + "_Paidtrx")
89- let q = {
90- let r = getInteger(this, p)
91- if ($isInstanceOf(r, "Int"))
35+@Callable(c)
36+func WithdrawLiq (j) = {
37+ let d = (toBase58String(c.caller.bytes) + "_Liq")
38+ let k = (toBase58String(c.caller.bytes) + "_LastUnstake")
39+ let l = (toBase58String(c.caller.bytes) + "_trxUnstake")
40+ let m = Address(b)
41+ let n = 10
42+ let o = 1
43+ let p = {
44+ let f = getInteger(this, d)
45+ if ($isInstanceOf(f, "Int"))
9246 then {
93- let s = r
94- s
47+ let g = f
48+ g
9549 }
9650 else 0
9751 }
98- let y = {
99- let r = getInteger(this, x)
100- if ($isInstanceOf(r, "Int"))
52+ let q = {
53+ let f = getInteger(this, l)
54+ if ($isInstanceOf(f, "Int"))
10155 then {
102- let s = r
103- s
56+ let g = f
57+ g
10458 }
10559 else 0
10660 }
107- let z = getStringValue(this, o)
108- let A = getStringValue(this, w)
109- let B = addressFromStringValue(z)
110- let C = Address(j)
111- let u = if ((A == "Waves"))
112- then unit
113- else fromBase58String(A)
114- if ((0 >= (((95 * q) / 100) - (v * 100000000))))
115- then throw(("You do not have enough funds to make payment, your available funds are: " + toString((q / 100000000))))
116- else if (if ((y >= 12))
117- then (q > 0)
61+ let r = {
62+ let f = getInteger(this, k)
63+ if ($isInstanceOf(f, "Int"))
64+ then {
65+ let g = f
66+ g
67+ }
68+ else 0
69+ }
70+ let e = (p - (j * 10000000))
71+ if ((0 >= e))
72+ then throw(("You do not have enough funds to withdraw, your available funds are: " + toString((p / 100000000))))
73+ else if (if ((q == 2))
74+ then (height > (q + n))
11875 else false)
119- then throw("You have already done 12 payments, you cannot make more payments")
76+ then throw((("Second withdraw cannot be done before " + toString(((height - n) - q))) + " min"))
12077 else {
121- let D = if ((y == 11))
122- then 0
123- else (q - (v * 100000000))
124- let E = if ((y == 11))
125- then ((95 * q) / 100)
126- else ((95 * v) * 1000000)
127- let F = if ((y == 11))
128- then ((5 * q) / 100)
129- else ((5 * v) * 1000000)
130- let G = if ((y == 11))
131- then 0
132- else (y + 1)
133- $Tuple2([IntegerEntry((toBase58String(l.caller.bytes) + "_Payment"), D), IntegerEntry((toBase58String(l.caller.bytes) + "_Paidtrx"), G), ScriptTransfer(B, E, u), ScriptTransfer(C, F, u)], u)
78+ let s = (q + 1)
79+ $Tuple2([IntegerEntry((toBase58String(c.caller.bytes) + "_trxUnstake"), s), IntegerEntry((toBase58String(c.caller.bytes) + "_Liq"), e), IntegerEntry((toBase58String(c.caller.bytes) + "_trxUnstake"), height), ScriptTransfer(c.caller, (j * 10000000), a), ScriptTransfer(m, (o * 100000000), a)], a)
13480 }
13581 }
136-
137-
138-
139-@Callable(l)
140-func AdminTransfer (H,I,J,K,L) = if ((l.caller.bytes != k))
141- then throw("Only Admin can do this")
142- else if ((((K + J) + L) != 100))
143- then throw("Total of Percentages cannot be different from 100%")
144- else {
145- let p = (H + "_Payment")
146- let o = (H + "_Freelancer")
147- let w = (toBase58String(l.caller.bytes) + "_Asset")
148- let q = {
149- let r = getInteger(this, p)
150- if ($isInstanceOf(r, "Int"))
151- then {
152- let s = r
153- s
154- }
155- else 0
156- }
157- let z = getStringValue(this, o)
158- let B = addressFromStringValue(z)
159- let A = getStringValue(this, w)
160- let C = Address(j)
161- let M = addressFromStringValue(H)
162- let u = if ((A == "Waves"))
163- then unit
164- else fromBase58String(A)
165- if ((q == 0))
166- then throw("User's balance is 0 BUsdc cannot realize any payment")
167- else $Tuple2([IntegerEntry((H + "_Payment"), 0), ScriptTransfer(B, ((J * q) / 100), u), ScriptTransfer(M, ((K * q) / 100), u), ScriptTransfer(C, ((L * q) / 100), u)], u)
168- }
16982
17083

github/deemru/w8io/169f3d6 
39.82 ms