tx · 7e2fyHr9YGe9mn5g4xa83T7C5Mc4aE6iVNAifoS4VRrc

3NCzUsFn22SqL6SiuFpRSo8VRj6XpBzNCTK:  -0.00700000 Waves

2022.06.27 17:38 [2114972] smart account 3NCzUsFn22SqL6SiuFpRSo8VRj6XpBzNCTK > SELF 0.00000000 Waves

{ "type": 13, "id": "7e2fyHr9YGe9mn5g4xa83T7C5Mc4aE6iVNAifoS4VRrc", "fee": 700000, "feeAssetId": null, "timestamp": 1656340734620, "version": 2, "chainId": 84, "sender": "3NCzUsFn22SqL6SiuFpRSo8VRj6XpBzNCTK", "senderPublicKey": "8tc6RQVnwQMdDY1k9GxP7EvBttrJT2a6GeBMQHEsKnW7", "proofs": [ "39DMxYS4yPEY81G4cAVYXmkWbVcmsk4Z2YsNJ487xhfNy3wj7UbrAd14Uovq2fqpUV6wvVnDPG4gvqXq4HvoEjYN" ], "script": "base64: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", "height": 2114972, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: ALRoUu2Rjw7UGiSNch45uv6aTcfarucUWgtuhg2VquEs Next: BGe87eAkHcUFE99gP7ghCLu9FG8XFVFkNtjAF9CWTzB1 Diff:
OldNewDifferences
1919 }
2020
2121
22+func getAssetBytes (asid) = if ((asid == "WAVES"))
23+ then unit
24+ else fromBase58String(asid)
25+
26+
2227 func stake (farm,amount) = {
2328 let assetId = fromBase58String(getStr((farm + "_id")))
2429 let dApp = getStr((farm + "_st"))
2732 then invoke(Address(fromBase58String(dApp)), "stakeFarmTokens", [false], [AttachedPayment(assetId, balance)])
2833 else if ((balance >= amount))
2934 then invoke(Address(fromBase58String(dApp)), "stakeFarmTokens", [false], [AttachedPayment(assetId, amount)])
30- else throw(((("Low balance: " + toString(balance)) + " and need: ") + toString(amount)))
35+ else false
3136 }
3237
3338
3843 }
3944
4045
41-func iter (acc,farm) = if ((acc == 0))
42- then stake(farm, -1)
43- else 0
46+func iter (acc,farm) = {
47+ let rez = stake(farm, -1)
48+ match rez {
49+ case t: ScriptTransfer =>
50+ (acc ++ [rez])
51+ case _ =>
52+ acc
53+ }
54+ }
4455
4556
4657 @Callable(i)
4758 func StakeAll () = if (check(i.callerPublicKey))
48- then [IntegerEntry("stake", {
59+ then {
4960 let $l = farms
5061 let $s = size($l)
51- let $acc0 = 0
62+ let $acc0 = nil
5263 func $f0_1 ($a,$i) = if (($i >= $s))
5364 then $a
5465 else iter($a, $l[$i])
5869 else throw("List size exceeds 3")
5970
6071 $f0_2($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3)
61- })]
72+ }
6273 else throw("Private Farm. Access prohibited!")
6374
6475
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let farms = ["beta", "meta", "zeta"]
55
66 func getStr (key) = match getString(this, key) {
77 case b: String =>
88 b
99 case _ =>
1010 ""
1111 }
1212
1313
1414 func getInt (key) = match getInteger(this, key) {
1515 case b: Int =>
1616 b
1717 case _ =>
1818 0
1919 }
2020
2121
22+func getAssetBytes (asid) = if ((asid == "WAVES"))
23+ then unit
24+ else fromBase58String(asid)
25+
26+
2227 func stake (farm,amount) = {
2328 let assetId = fromBase58String(getStr((farm + "_id")))
2429 let dApp = getStr((farm + "_st"))
2530 let balance = assetBalance(this, assetId)
2631 if ((amount == -1))
2732 then invoke(Address(fromBase58String(dApp)), "stakeFarmTokens", [false], [AttachedPayment(assetId, balance)])
2833 else if ((balance >= amount))
2934 then invoke(Address(fromBase58String(dApp)), "stakeFarmTokens", [false], [AttachedPayment(assetId, amount)])
30- else throw(((("Low balance: " + toString(balance)) + " and need: ") + toString(amount)))
35+ else false
3136 }
3237
3338
3439 func check (pbk) = {
3540 let pbk_st = toBase58String(pbk)
3641 let points = getStringValue("points")
3742 contains(points, pbk_st)
3843 }
3944
4045
41-func iter (acc,farm) = if ((acc == 0))
42- then stake(farm, -1)
43- else 0
46+func iter (acc,farm) = {
47+ let rez = stake(farm, -1)
48+ match rez {
49+ case t: ScriptTransfer =>
50+ (acc ++ [rez])
51+ case _ =>
52+ acc
53+ }
54+ }
4455
4556
4657 @Callable(i)
4758 func StakeAll () = if (check(i.callerPublicKey))
48- then [IntegerEntry("stake", {
59+ then {
4960 let $l = farms
5061 let $s = size($l)
51- let $acc0 = 0
62+ let $acc0 = nil
5263 func $f0_1 ($a,$i) = if (($i >= $s))
5364 then $a
5465 else iter($a, $l[$i])
5566
5667 func $f0_2 ($a,$i) = if (($i >= $s))
5768 then $a
5869 else throw("List size exceeds 3")
5970
6071 $f0_2($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3)
61- })]
72+ }
6273 else throw("Private Farm. Access prohibited!")
6374
6475
6576
6677 @Callable(i)
6778 func UnstakeAll () = if (check(i.callerPublicKey))
6879 then throw("Welcome")
6980 else throw("Private Farm. Access prohibited!")
7081
7182
7283
7384 @Callable(i)
7485 func ClaimAll () = if (check(i.callerPublicKey))
7586 then throw("Welcome")
7687 else throw("Private Farm. Access prohibited!")
7788
7889
7990 @Verifier(tx)
8091 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
8192

github/deemru/w8io/c3f4982 
25.94 ms