tx · HgfCV8UiCHRt5WDuxkXwY2gBttijKmSV1ZFGbHEbFeQZ 3PPKkdX1DUoA971uA5duhKwLiEfE1ce9iUN: -0.01000000 Waves 2022.01.10 17:54 [2938048] smart account 3PPKkdX1DUoA971uA5duhKwLiEfE1ce9iUN > SELF 0.00000000 Waves
{ "type": 13, "id": "HgfCV8UiCHRt5WDuxkXwY2gBttijKmSV1ZFGbHEbFeQZ", "fee": 1000000, "feeAssetId": null, "timestamp": 1641826550760, "version": 2, "chainId": 87, "sender": "3PPKkdX1DUoA971uA5duhKwLiEfE1ce9iUN", "senderPublicKey": "H2sLf5bNdwr74GEg3z6DBMsgW2AoqyVmpH7eWM27m6mN", "proofs": [ "3WxmorhSvBv1US6wjgBnYatQ6sBtqBYVxEkxrBa1oTpAU5RvuxFv3wf1qbnYk8aHSek9KdqzRR6SS18HPLjmS4Zt" ], "script": "base64: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", "height": 2938048, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 2W6SE9GJSc63daVz2f7HGb8dBGWeqpFHUqrgzDCEWPqu Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let a = base58'H2sLf5bNdwr74GEg3z6DBMsgW2AoqyVmpH7eWM27m6mN' | |
5 | + | ||
6 | + | let b = Address(base58'3PPNhHYkkEy13gRWDCaruQyhNbX2GrjYSyV') | |
7 | + | ||
8 | + | let c = base58'Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on' | |
9 | + | ||
10 | + | let d = base58'Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on' | |
11 | + | ||
12 | + | let e = Address(base58'3PJL8Hn8LACaSBWLQ3UVhctA5cTQLBFwBAP') | |
13 | + | ||
14 | + | let f = Address(base58'3PH8NXNHpYR5gLn3cwtqnvmKVwQQWb7FrwY') | |
15 | + | ||
16 | + | @Callable(g) | |
17 | + | func stakeLP () = { | |
18 | + | let h = toString(g.caller) | |
19 | + | let i = valueOrElse(getBoolean((h + "_whitelisted")), false) | |
20 | + | let j = valueOrElse(getString((h + "_assetId")), "") | |
21 | + | if (if (if (if (i) | |
22 | + | then (size(g.payments) == 1) | |
23 | + | else false) | |
24 | + | then (g.payments[0].amount > 0) | |
25 | + | else false) | |
26 | + | then (g.payments[0].assetId == fromBase58String(j)) | |
27 | + | else false) | |
28 | + | then { | |
29 | + | let k = invoke(b, "stake", nil, [AttachedPayment(g.payments[0].assetId, g.payments[0].amount)]) | |
30 | + | if ((k == k)) | |
31 | + | then { | |
32 | + | let l = (valueOrElse(getInteger((((h + "_") + j) + "_balance")), 0) + g.payments[0].amount) | |
33 | + | $Tuple2([IntegerEntry((((h + "_") + j) + "_balance"), l)], unit) | |
34 | + | } | |
35 | + | else throw("Strict value is not equal to itself.") | |
36 | + | } | |
37 | + | else throw("") | |
38 | + | } | |
39 | + | ||
40 | + | ||
41 | + | ||
42 | + | @Callable(g) | |
43 | + | func unstakeLP (m) = { | |
44 | + | let h = toString(g.caller) | |
45 | + | let i = valueOrElse(getBoolean((h + "_whitelisted")), false) | |
46 | + | if (i) | |
47 | + | then { | |
48 | + | let j = valueOrElse(getString((h + "_assetId")), "") | |
49 | + | let n = invoke(b, "unstake", [j, m], nil) | |
50 | + | if ((n == n)) | |
51 | + | then { | |
52 | + | let l = (valueOrElse(getInteger((((h + "_") + j) + "_balance")), 0) - m) | |
53 | + | $Tuple2([ScriptTransfer(g.caller, m, fromBase58String(j)), IntegerEntry((((h + "_") + j) + "_balance"), l)], unit) | |
54 | + | } | |
55 | + | else throw("Strict value is not equal to itself.") | |
56 | + | } | |
57 | + | else throw("") | |
58 | + | } | |
59 | + | ||
60 | + | ||
61 | + | ||
62 | + | @Callable(g) | |
63 | + | func claim () = { | |
64 | + | let h = toString(g.caller) | |
65 | + | let i = valueOrElse(getBoolean((h + "_whitelisted")), false) | |
66 | + | if (i) | |
67 | + | then { | |
68 | + | let j = valueOrElse(getString((h + "_assetId")), "") | |
69 | + | let o = assetBalance(this, c) | |
70 | + | if ((o == o)) | |
71 | + | then { | |
72 | + | let p = invoke(b, "claimWx", [j], nil) | |
73 | + | if ((p == p)) | |
74 | + | then { | |
75 | + | let q = (assetBalance(this, c) - o) | |
76 | + | if ((q == q)) | |
77 | + | then { | |
78 | + | let r = (valueOrElse(getInteger((j + "_total_claimed_wx")), 0) + q) | |
79 | + | let s = (valueOrElse(getInteger(this, "total_claimed_wx"), 0) + q) | |
80 | + | let t = getIntegerValue(this, "fee") | |
81 | + | let u = fraction(q, t, 100) | |
82 | + | let v = (valueOrElse(getInteger((j + "_total_collected_fee")), 0) + u) | |
83 | + | let w = (valueOrElse(getInteger("total_collected_fee"), 0) + u) | |
84 | + | $Tuple2([ScriptTransfer(g.caller, (q - u), c), ScriptTransfer(f, u, c), IntegerEntry((j + "_total_claimed_wx"), r), IntegerEntry("total_claimed_wx", s), IntegerEntry((j + "_total_collected_fee"), v), IntegerEntry("total_collected_fee", w)], unit) | |
85 | + | } | |
86 | + | else throw("Strict value is not equal to itself.") | |
87 | + | } | |
88 | + | else throw("Strict value is not equal to itself.") | |
89 | + | } | |
90 | + | else throw("Strict value is not equal to itself.") | |
91 | + | } | |
92 | + | else throw("") | |
93 | + | } | |
94 | + | ||
95 | + | ||
96 | + | ||
97 | + | @Callable(g) | |
98 | + | func whitelist (x,y) = if ((g.callerPublicKey == a)) | |
99 | + | then $Tuple2([BooleanEntry((x + "_whitelisted"), true), StringEntry((x + "_assetId"), y)], unit) | |
100 | + | else throw("") | |
101 | + | ||
102 | + | ||
103 | + | ||
104 | + | @Callable(g) | |
105 | + | func setFee (u) = if ((g.callerPublicKey == a)) | |
106 | + | then $Tuple2([IntegerEntry("fee", u)], unit) | |
107 | + | else throw("") | |
108 | + | ||
109 | + | ||
110 | + | ||
111 | + | @Callable(g) | |
112 | + | func giveaway () = { | |
113 | + | let h = toString(g.caller) | |
114 | + | let i = valueOrElse(getBoolean((h + "_whitelisted")), false) | |
115 | + | if (if (if (if (i) | |
116 | + | then (size(g.payments) == 1) | |
117 | + | else false) | |
118 | + | then (g.payments[0].assetId == d) | |
119 | + | else false) | |
120 | + | then (g.payments[0].amount > 0) | |
121 | + | else false) | |
122 | + | then { | |
123 | + | let z = invoke(e, "increaseLock", [0], [AttachedPayment(d, g.payments[0].amount)]) | |
124 | + | if ((z == z)) | |
125 | + | then { | |
126 | + | let A = (valueOrElse(getInteger("total_locked_wx"), 0) + g.payments[0].amount) | |
127 | + | $Tuple2([IntegerEntry("total_locked_wx", A)], unit) | |
128 | + | } | |
129 | + | else throw("Strict value is not equal to itself.") | |
130 | + | } | |
131 | + | else throw("") | |
132 | + | } | |
133 | + | ||
134 | + | ||
135 | + | ||
136 | + | @Callable(g) | |
137 | + | func increaseLockDuration (B) = if ((g.callerPublicKey == a)) | |
138 | + | then { | |
139 | + | let C = invoke(e, "increaseLock", [B], nil) | |
140 | + | if ((C == C)) | |
141 | + | then { | |
142 | + | let D = (valueOrElse(getInteger("lock_duration"), 0) + B) | |
143 | + | $Tuple2([IntegerEntry("lock_duration", D)], unit) | |
144 | + | } | |
145 | + | else throw("Strict value is not equal to itself.") | |
146 | + | } | |
147 | + | else throw("") | |
148 | + | ||
149 | + | ||
150 | + | ||
151 | + | @Callable(g) | |
152 | + | func forYou () = { | |
153 | + | let E = { | |
154 | + | let F = getInteger(this, "it_all_started_in_this_block") | |
155 | + | if ($isInstanceOf(F, "Int")) | |
156 | + | then { | |
157 | + | let G = F | |
158 | + | true | |
159 | + | } | |
160 | + | else if ($isInstanceOf(F, "Unit")) | |
161 | + | then { | |
162 | + | let H = F | |
163 | + | false | |
164 | + | } | |
165 | + | else throw("Match error") | |
166 | + | } | |
167 | + | if (!(E)) | |
168 | + | then { | |
169 | + | let I = invoke(e, "lock", [2102400], [AttachedPayment(g.payments[0].assetId, g.payments[0].amount)]) | |
170 | + | if ((I == I)) | |
171 | + | then $Tuple2([IntegerEntry("it_all_started_in_this_block", height), IntegerEntry("total_locked_wx", g.payments[0].amount), IntegerEntry("lock_duration", 2102400)], unit) | |
172 | + | else throw("Strict value is not equal to itself.") | |
173 | + | } | |
174 | + | else throw("") | |
175 | + | } | |
176 | + | ||
177 | + | ||
178 | + | @Verifier(J) | |
179 | + | func K () = sigVerify(J.bodyBytes, J.proofs[0], J.senderPublicKey) | |
180 | + |
github/deemru/w8io/0e76f2f 29.97 ms ◑