tx · GkptHaVtKfqU1NokwqwJWw5UrRs2hAHvbrsb5gPWCHKX

3PB8ih6yMHqvvGvnvxdqW2i4rNffoUtBoxa:  -0.00400000 Waves

2022.06.28 02:02 [3181077] smart account 3PB8ih6yMHqvvGvnvxdqW2i4rNffoUtBoxa > SELF 0.00000000 Waves

{ "type": 13, "id": "GkptHaVtKfqU1NokwqwJWw5UrRs2hAHvbrsb5gPWCHKX", "fee": 400000, "feeAssetId": null, "timestamp": 1656370965605, "version": 1, "sender": "3PB8ih6yMHqvvGvnvxdqW2i4rNffoUtBoxa", "senderPublicKey": "CV3C1sL57cpVTpFMLdLCUqfd79YaoZJ9NJP7QeTJjnU8", "proofs": [ "3QjqfwsvKfZ9NU5NL8wxTd3kyrGzZDAz3qDZ1upw44G1baT8oJDRvCUKpSqDKjPJL2hZju79df9MpKJEnDc8zFZM" ], "script": "base64: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", "chainId": 87, "height": 3181077, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 7ujNKZ4Cnm6Eb7wos5YUa7FB4nnn9PnTozd5GNtfX7bB Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let farms = ["insiders", "mundo", "kolkhoz", "fomo", "marvin", "ido", "dux", "cgu", "fork", "street", "endo", "latam", "point", "seggs", "math", "turtle"]
5+
6+func getStr (key) = match getString(this, key) {
7+ case b: String =>
8+ b
9+ case _ =>
10+ ""
11+}
12+
13+
14+func getInt (key) = match getInteger(this, key) {
15+ case b: Int =>
16+ b
17+ case _ =>
18+ 0
19+}
20+
21+
22+func stake (farm,amount) = {
23+ let assetId = fromBase58String(getStr((farm + "_id")))
24+ let dApp = getStr((farm + "_st"))
25+ let balance = assetBalance(this, assetId)
26+ if ((amount == -1))
27+ then invoke(Address(fromBase58String(dApp)), "stakeFarmTokens", [false], [AttachedPayment(assetId, balance)])
28+ else if ((balance >= amount))
29+ then invoke(Address(fromBase58String(dApp)), "stakeFarmTokens", [false], [AttachedPayment(assetId, amount)])
30+ else throw(((("Low balance: " + toString(balance)) + " and need: ") + toString(amount)))
31+ }
32+
33+
34+func unstake (farm,amount) = {
35+ let assetId = fromBase58String(getStr((farm + "_id")))
36+ let dApp = getStr((farm + "_st"))
37+ let balance = assetBalance(this, assetId)
38+ if ((amount == -1))
39+ then invoke(Address(fromBase58String(dApp)), "withdrawFarmTokens", [-1, false], nil)
40+ else if ((balance >= amount))
41+ then invoke(Address(fromBase58String(dApp)), "withdrawFarmTokens", [amount, false], nil)
42+ else throw(((("Low balance: " + toString(balance)) + " and need: ") + toString(amount)))
43+ }
44+
45+
46+func check (pbk) = {
47+ let pbk_st = toBase58String(pbk)
48+ let points = getStringValue("points")
49+ contains(points, pbk_st)
50+ }
51+
52+
53+func iterStake (acc,farm) = {
54+ let rez = stake(farm, -1)
55+ match rez {
56+ case t: ScriptTransfer =>
57+ (acc ++ [rez])
58+ case _ =>
59+ acc
60+ }
61+ }
62+
63+
64+func iterUnstake (acc,farm) = {
65+ let rez = unstake(farm, -1)
66+ match rez {
67+ case t: ScriptTransfer =>
68+ (acc ++ [rez])
69+ case _ =>
70+ acc
71+ }
72+ }
73+
74+
75+@Callable(i)
76+func StakeAndClaimAll () = if (check(i.callerPublicKey))
77+ then {
78+ let $l = farms
79+ let $s = size($l)
80+ let $acc0 = nil
81+ func $f0_1 ($a,$i) = if (($i >= $s))
82+ then $a
83+ else iterStake($a, $l[$i])
84+
85+ func $f0_2 ($a,$i) = if (($i >= $s))
86+ then $a
87+ else throw("List size exceeds 16")
88+
89+ $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16)
90+ }
91+ else throw("Private Farm. Access prohibited!")
92+
93+
94+
95+@Callable(i)
96+func UnstakeAll () = if (check(i.callerPublicKey))
97+ then {
98+ let $l = farms
99+ let $s = size($l)
100+ let $acc0 = nil
101+ func $f0_1 ($a,$i) = if (($i >= $s))
102+ then $a
103+ else iterUnstake($a, $l[$i])
104+
105+ func $f0_2 ($a,$i) = if (($i >= $s))
106+ then $a
107+ else throw("List size exceeds 16")
108+
109+ $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16)
110+ }
111+ else throw("Private Farm. Access prohibited!")
112+
113+
114+@Verifier(tx)
115+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
116+

github/deemru/w8io/3ef1775 
33.52 ms