tx · BGe87eAkHcUFE99gP7ghCLu9FG8XFVFkNtjAF9CWTzB1

3NCzUsFn22SqL6SiuFpRSo8VRj6XpBzNCTK:  -0.00700000 Waves

2022.06.27 17:50 [2114983] smart account 3NCzUsFn22SqL6SiuFpRSo8VRj6XpBzNCTK > SELF 0.00000000 Waves

{ "type": 13, "id": "BGe87eAkHcUFE99gP7ghCLu9FG8XFVFkNtjAF9CWTzB1", "fee": 700000, "feeAssetId": null, "timestamp": 1656341533329, "version": 2, "chainId": 84, "sender": "3NCzUsFn22SqL6SiuFpRSo8VRj6XpBzNCTK", "senderPublicKey": "8tc6RQVnwQMdDY1k9GxP7EvBttrJT2a6GeBMQHEsKnW7", "proofs": [ "37CfX3Lta2NKR6QT5a72QSEYpNrz4Qo9ZULdV1TMJMeYyJZFZuPXWLrHPwnb15gNFyM7o6pHVz1mrh8hcTeCiE3D" ], "script": "base64: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", "height": 2114983, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7e2fyHr9YGe9mn5g4xa83T7C5Mc4aE6iVNAifoS4VRrc Next: CYy63VnAypAF3b5pZ8z519QnAEbszw9LfHZ2H2bsoVpf Diff:
OldNewDifferences
1919 }
2020
2121
22-func getAssetBytes (asid) = if ((asid == "WAVES"))
23- then unit
24- else fromBase58String(asid)
25-
26-
2722 func stake (farm,amount) = {
2823 let assetId = fromBase58String(getStr((farm + "_id")))
2924 let dApp = getStr((farm + "_st"))
3227 then invoke(Address(fromBase58String(dApp)), "stakeFarmTokens", [false], [AttachedPayment(assetId, balance)])
3328 else if ((balance >= amount))
3429 then invoke(Address(fromBase58String(dApp)), "stakeFarmTokens", [false], [AttachedPayment(assetId, amount)])
35- else false
30+ else throw(((("Low balance: " + toString(balance)) + " and need: ") + toString(amount)))
3631 }
3732
3833
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-
2722 func stake (farm,amount) = {
2823 let assetId = fromBase58String(getStr((farm + "_id")))
2924 let dApp = getStr((farm + "_st"))
3025 let balance = assetBalance(this, assetId)
3126 if ((amount == -1))
3227 then invoke(Address(fromBase58String(dApp)), "stakeFarmTokens", [false], [AttachedPayment(assetId, balance)])
3328 else if ((balance >= amount))
3429 then invoke(Address(fromBase58String(dApp)), "stakeFarmTokens", [false], [AttachedPayment(assetId, amount)])
35- else false
30+ else throw(((("Low balance: " + toString(balance)) + " and need: ") + toString(amount)))
3631 }
3732
3833
3934 func check (pbk) = {
4035 let pbk_st = toBase58String(pbk)
4136 let points = getStringValue("points")
4237 contains(points, pbk_st)
4338 }
4439
4540
4641 func iter (acc,farm) = {
4742 let rez = stake(farm, -1)
4843 match rez {
4944 case t: ScriptTransfer =>
5045 (acc ++ [rez])
5146 case _ =>
5247 acc
5348 }
5449 }
5550
5651
5752 @Callable(i)
5853 func StakeAll () = if (check(i.callerPublicKey))
5954 then {
6055 let $l = farms
6156 let $s = size($l)
6257 let $acc0 = nil
6358 func $f0_1 ($a,$i) = if (($i >= $s))
6459 then $a
6560 else iter($a, $l[$i])
6661
6762 func $f0_2 ($a,$i) = if (($i >= $s))
6863 then $a
6964 else throw("List size exceeds 3")
7065
7166 $f0_2($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3)
7267 }
7368 else throw("Private Farm. Access prohibited!")
7469
7570
7671
7772 @Callable(i)
7873 func UnstakeAll () = if (check(i.callerPublicKey))
7974 then throw("Welcome")
8075 else throw("Private Farm. Access prohibited!")
8176
8277
8378
8479 @Callable(i)
8580 func ClaimAll () = if (check(i.callerPublicKey))
8681 then throw("Welcome")
8782 else throw("Private Farm. Access prohibited!")
8883
8984
9085 @Verifier(tx)
9186 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
9287

github/deemru/w8io/c3f4982 
26.46 ms