tx · AXHFfVW6daH2YjMeXM5CNKHUHsv6Kg7fhn9cecgGY7Hi

3NCzUsFn22SqL6SiuFpRSo8VRj6XpBzNCTK:  -0.00600000 Waves

2022.06.27 18:59 [2115054] smart account 3NCzUsFn22SqL6SiuFpRSo8VRj6XpBzNCTK > SELF 0.00000000 Waves

{ "type": 13, "id": "AXHFfVW6daH2YjMeXM5CNKHUHsv6Kg7fhn9cecgGY7Hi", "fee": 600000, "feeAssetId": null, "timestamp": 1656345576079, "version": 2, "chainId": 84, "sender": "3NCzUsFn22SqL6SiuFpRSo8VRj6XpBzNCTK", "senderPublicKey": "8tc6RQVnwQMdDY1k9GxP7EvBttrJT2a6GeBMQHEsKnW7", "proofs": [ "2PkvpnuUSHdJLwq4sJyHZ2xL4aDPiHkgJY6UW14PsdiPbBvxmbyRn772qGTd18UkuxQDczMZXr2Rd5aUEudiGtVR" ], "script": "base64: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", "height": 2115054, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 94SDFLDRTL11A4Hd235mXc6Y7BJ5n55kgKLX8pCp7g4q Next: J7y1yAku4bVWHWGktE21QGsWY8JNsp8PA4Ru6wjkSsTc Diff:
OldNewDifferences
2323 let assetId = fromBase58String(getStr((farm + "_id")))
2424 let dApp = getStr((farm + "_st"))
2525 let balance = assetBalance(this, assetId)
26- if ((balance == 0))
27- then true
28- else if ((amount == -1))
29- then invoke(Address(fromBase58String(dApp)), "stakeFarmTokens", [false], [AttachedPayment(assetId, balance)])
30- else if ((balance >= amount))
31- then invoke(Address(fromBase58String(dApp)), "stakeFarmTokens", [false], [AttachedPayment(assetId, amount)])
32- else throw(((("Low balance: " + toString(balance)) + " and need: ") + toString(amount)))
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)))
3331 }
3432
3533
4038 }
4139
4240
43-func iter (acc,farm) = {
41+func iterStake (acc,farm) = {
4442 let rez = stake(farm, -1)
4543 match rez {
4644 case t: ScriptTransfer =>
5250
5351
5452 @Callable(i)
55-func StakeAll () = if (check(i.callerPublicKey))
53+func StakeAndClaimAll () = if (check(i.callerPublicKey))
5654 then {
57- let st = {
58- let $l = farms
59- let $s = size($l)
60- let $acc0 = nil
61- func $f0_1 ($a,$i) = if (($i >= $s))
62- then $a
63- else iter($a, $l[$i])
55+ let $l = farms
56+ let $s = size($l)
57+ let $acc0 = nil
58+ func $f0_1 ($a,$i) = if (($i >= $s))
59+ then $a
60+ else iterStake($a, $l[$i])
6461
65- func $f0_2 ($a,$i) = if (($i >= $s))
66- then $a
67- else throw("List size exceeds 3")
62+ func $f0_2 ($a,$i) = if (($i >= $s))
63+ then $a
64+ else throw("List size exceeds 3")
6865
69- $f0_2($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3)
70- }
71- if ((st == st))
72- then [IntegerEntry("size", size(st))]
73- else throw("Strict value is not equal to itself.")
66+ $f0_2($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3)
7467 }
7568 else throw("Private Farm. Access prohibited!")
7669
8275 else throw("Private Farm. Access prohibited!")
8376
8477
85-
86-@Callable(i)
87-func ClaimAll () = if (check(i.callerPublicKey))
88- then throw("Welcome")
89- else throw("Private Farm. Access prohibited!")
90-
91-
9278 @Verifier(tx)
9379 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
9480
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
2222 func stake (farm,amount) = {
2323 let assetId = fromBase58String(getStr((farm + "_id")))
2424 let dApp = getStr((farm + "_st"))
2525 let balance = assetBalance(this, assetId)
26- if ((balance == 0))
27- then true
28- else if ((amount == -1))
29- then invoke(Address(fromBase58String(dApp)), "stakeFarmTokens", [false], [AttachedPayment(assetId, balance)])
30- else if ((balance >= amount))
31- then invoke(Address(fromBase58String(dApp)), "stakeFarmTokens", [false], [AttachedPayment(assetId, amount)])
32- else throw(((("Low balance: " + toString(balance)) + " and need: ") + toString(amount)))
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)))
3331 }
3432
3533
3634 func check (pbk) = {
3735 let pbk_st = toBase58String(pbk)
3836 let points = getStringValue("points")
3937 contains(points, pbk_st)
4038 }
4139
4240
43-func iter (acc,farm) = {
41+func iterStake (acc,farm) = {
4442 let rez = stake(farm, -1)
4543 match rez {
4644 case t: ScriptTransfer =>
4745 (acc ++ [rez])
4846 case _ =>
4947 acc
5048 }
5149 }
5250
5351
5452 @Callable(i)
55-func StakeAll () = if (check(i.callerPublicKey))
53+func StakeAndClaimAll () = if (check(i.callerPublicKey))
5654 then {
57- let st = {
58- let $l = farms
59- let $s = size($l)
60- let $acc0 = nil
61- func $f0_1 ($a,$i) = if (($i >= $s))
62- then $a
63- else iter($a, $l[$i])
55+ let $l = farms
56+ let $s = size($l)
57+ let $acc0 = nil
58+ func $f0_1 ($a,$i) = if (($i >= $s))
59+ then $a
60+ else iterStake($a, $l[$i])
6461
65- func $f0_2 ($a,$i) = if (($i >= $s))
66- then $a
67- else throw("List size exceeds 3")
62+ func $f0_2 ($a,$i) = if (($i >= $s))
63+ then $a
64+ else throw("List size exceeds 3")
6865
69- $f0_2($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3)
70- }
71- if ((st == st))
72- then [IntegerEntry("size", size(st))]
73- else throw("Strict value is not equal to itself.")
66+ $f0_2($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3)
7467 }
7568 else throw("Private Farm. Access prohibited!")
7669
7770
7871
7972 @Callable(i)
8073 func UnstakeAll () = if (check(i.callerPublicKey))
8174 then throw("Welcome")
8275 else throw("Private Farm. Access prohibited!")
8376
8477
85-
86-@Callable(i)
87-func ClaimAll () = if (check(i.callerPublicKey))
88- then throw("Welcome")
89- else throw("Private Farm. Access prohibited!")
90-
91-
9278 @Verifier(tx)
9379 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
9480

github/deemru/w8io/169f3d6 
58.86 ms