2022.06.28 12:42 [3181713] smart account 3PDvG1kAyy6VzPysdmwL3JSiNz3GvP62t58 > SELF 0.00000000 Waves

{ "type": 13, "id": "5hTdihz6RLxKkDNHMY6iC6oCFJHRJSRGBZohp7KzmhjB", "fee": 500000, "feeAssetId": null, "timestamp": 1656409335054, "version": 2, "chainId": 87, "sender": "3PDvG1kAyy6VzPysdmwL3JSiNz3GvP62t58", "senderPublicKey": "7YKVFuUMWJknX9kkxa6BXQ7g8FwWGtBYCBSeTJtPDwB7", "proofs": [ "3WsRjZ3VbiKEaCtpuUdYZxusHVyqr1tSxSEqGjKBwNJwo6Pez4K9iUSxb71vMT2dCAXMobizxaZBPDpvdbDAWv5S" ], "script": null, "height": 3181713, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4CsKCYx495unvDYUezUCMoVkB6gUfFwj9KSnvsAej3vb Next: cCHYM8hjxeMw8J96zymmnaXA8HGdrE1urphnftmg9kx Full:
OldNewDifferences
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-
1+# no script

github/deemru/w8io/786bc32 
35.15 ms