tx · 6n8xxwoN5cu5DJQQ77kUaFKvF7y7nvhv1zkcEHonAHGA

3NCzUsFn22SqL6SiuFpRSo8VRj6XpBzNCTK:  -0.00800000 Waves

2022.06.27 19:13 [2115064] smart account 3NCzUsFn22SqL6SiuFpRSo8VRj6XpBzNCTK > SELF 0.00000000 Waves

{ "type": 13, "id": "6n8xxwoN5cu5DJQQ77kUaFKvF7y7nvhv1zkcEHonAHGA", "fee": 800000, "feeAssetId": null, "timestamp": 1656346400021, "version": 2, "chainId": 84, "sender": "3NCzUsFn22SqL6SiuFpRSo8VRj6XpBzNCTK", "senderPublicKey": "8tc6RQVnwQMdDY1k9GxP7EvBttrJT2a6GeBMQHEsKnW7", "proofs": [ "5vQzMixmkMcSi3UTs5MuGiTXJT1F9S6XoVTzPAESavWBfjSi9h46jmiNDra3Sb85JaS5DLWejB8MBXndterGsVis" ], "script": "base64:AAIFAAAAAAAAAAYIAhIAEgAAAAAIAAAAAAVmYXJtcwkABEwAAAACAgAAAARiZXRhCQAETAAAAAICAAAABG1ldGEJAARMAAAAAgIAAAAEemV0YQUAAAADbmlsAQAAAAZnZXRTdHIAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYgUAAAAHJG1hdGNoMAUAAAABYgIAAAAAAQAAAAZnZXRJbnQAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYgUAAAAHJG1hdGNoMAUAAAABYgAAAAAAAAAAAAEAAAAFc3Rha2UAAAACAAAABGZhcm0AAAAGYW1vdW50BAAAAAdhc3NldElkCQACWQAAAAEJAQAAAAZnZXRTdHIAAAABCQABLAAAAAIFAAAABGZhcm0CAAAAA19pZAQAAAAEZEFwcAkBAAAABmdldFN0cgAAAAEJAAEsAAAAAgUAAAAEZmFybQIAAAADX3N0BAAAAAdiYWxhbmNlCQAD8AAAAAIFAAAABHRoaXMFAAAAB2Fzc2V0SWQDCQAAAAAAAAIFAAAABmFtb3VudAD//////////wkAA/wAAAAECQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQUAAAAEZEFwcAIAAAAPc3Rha2VGYXJtVG9rZW5zCQAETAAAAAIHBQAAAANuaWwJAARMAAAAAgkBAAAAD0F0dGFjaGVkUGF5bWVudAAAAAIFAAAAB2Fzc2V0SWQFAAAAB2JhbGFuY2UFAAAAA25pbAMJAABnAAAAAgUAAAAHYmFsYW5jZQUAAAAGYW1vdW50CQAD/AAAAAQJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABBQAAAARkQXBwAgAAAA9zdGFrZUZhcm1Ub2tlbnMJAARMAAAAAgcFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAAHYXNzZXRJZAUAAAAGYW1vdW50BQAAAANuaWwJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAANTG93IGJhbGFuY2U6IAkAAaQAAAABBQAAAAdiYWxhbmNlAgAAAAsgYW5kIG5lZWQ6IAkAAaQAAAABBQAAAAZhbW91bnQBAAAAB3Vuc3Rha2UAAAACAAAABGZhcm0AAAAGYW1vdW50BAAAAAdhc3NldElkCQACWQAAAAEJAQAAAAZnZXRTdHIAAAABCQABLAAAAAIFAAAABGZhcm0CAAAAA19pZAQAAAAEZEFwcAkBAAAABmdldFN0cgAAAAEJAAEsAAAAAgUAAAAEZmFybQIAAAADX3N0BAAAAAdiYWxhbmNlCQAD8AAAAAIFAAAABHRoaXMFAAAAB2Fzc2V0SWQDCQAAAAAAAAIFAAAABmFtb3VudAD//////////wkAA/wAAAAECQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQUAAAAEZEFwcAIAAAASd2l0aGRyYXdGYXJtVG9rZW5zCQAETAAAAAIA//////////8JAARMAAAAAgcFAAAAA25pbAUAAAADbmlsAwkAAGcAAAACBQAAAAdiYWxhbmNlBQAAAAZhbW91bnQJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEFAAAABGRBcHACAAAAEndpdGhkcmF3RmFybVRva2VucwkABEwAAAACBQAAAAZhbW91bnQJAARMAAAAAgcFAAAAA25pbAUAAAADbmlsCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAADUxvdyBiYWxhbmNlOiAJAAGkAAAAAQUAAAAHYmFsYW5jZQIAAAALIGFuZCBuZWVkOiAJAAGkAAAAAQUAAAAGYW1vdW50AQAAAAVjaGVjawAAAAEAAAADcGJrBAAAAAZwYmtfc3QJAAJYAAAAAQUAAAADcGJrBAAAAAZwb2ludHMJAQAAABFAZXh0ck5hdGl2ZSgxMDU4KQAAAAECAAAABnBvaW50cwkBAAAACGNvbnRhaW5zAAAAAgUAAAAGcG9pbnRzBQAAAAZwYmtfc3QBAAAACWl0ZXJTdGFrZQAAAAIAAAADYWNjAAAABGZhcm0EAAAAA3JlegkBAAAABXN0YWtlAAAAAgUAAAAEZmFybQD//////////wQAAAAHJG1hdGNoMAUAAAADcmV6AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAA5TY3JpcHRUcmFuc2ZlcgQAAAABdAUAAAAHJG1hdGNoMAkABE4AAAACBQAAAANhY2MJAARMAAAAAgUAAAADcmV6BQAAAANuaWwFAAAAA2FjYwEAAAALaXRlclVuc3Rha2UAAAACAAAAA2FjYwAAAARmYXJtBAAAAANyZXoJAQAAAAd1bnN0YWtlAAAAAgUAAAAEZmFybQD//////////wQAAAAHJG1hdGNoMAUAAAADcmV6AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAA5TY3JpcHRUcmFuc2ZlcgQAAAABdAUAAAAHJG1hdGNoMAkABE4AAAACBQAAAANhY2MJAARMAAAAAgUAAAADcmV6BQAAAANuaWwFAAAAA2FjYwAAAAIAAAABaQEAAAAQU3Rha2VBbmRDbGFpbUFsbAAAAAADCQEAAAAFY2hlY2sAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkKAAAAAAIkbAUAAAAFZmFybXMKAAAAAAIkcwkAAZAAAAABBQAAAAIkbAoAAAAABSRhY2MwBQAAAANuaWwKAQAAAAUkZjBfMQAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAQAAAAlpdGVyU3Rha2UAAAACBQAAAAIkYQkAAZEAAAACBQAAAAIkbAUAAAACJGkKAQAAAAUkZjBfMgAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZHMgMwkBAAAABSRmMF8yAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgUAAAAFJGFjYzAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAIAAAAAAAAAAAMJAAACAAAAAQIAAAAgUHJpdmF0ZSBGYXJtLiBBY2Nlc3MgcHJvaGliaXRlZCEAAAABaQEAAAAKVW5zdGFrZUFsbAAAAAADCQEAAAAFY2hlY2sAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkKAAAAAAIkbAUAAAAFZmFybXMKAAAAAAIkcwkAAZAAAAABBQAAAAIkbAoAAAAABSRhY2MwBQAAAANuaWwKAQAAAAUkZjBfMQAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAQAAAAtpdGVyVW5zdGFrZQAAAAIFAAAAAiRhCQABkQAAAAIFAAAAAiRsBQAAAAIkaQoBAAAABSRmMF8yAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkcyAzCQEAAAAFJGYwXzIAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACBQAAAAUkYWNjMAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAgAAAAAAAAAAAwkAAAIAAAABAgAAACBQcml2YXRlIEZhcm0uIEFjY2VzcyBwcm9oaWJpdGVkIQAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5ilPU0Q==", "height": 2115064, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: J7y1yAku4bVWHWGktE21QGsWY8JNsp8PA4Ru6wjkSsTc Next: none Diff:
OldNewDifferences
3636 let dApp = getStr((farm + "_st"))
3737 let balance = assetBalance(this, assetId)
3838 if ((amount == -1))
39- then invoke(Address(fromBase58String(dApp)), "withdrawFarmTokens", [false], [AttachedPayment(assetId, balance)])
39+ then invoke(Address(fromBase58String(dApp)), "withdrawFarmTokens", [-1, false], nil)
4040 else if ((balance >= amount))
41- then invoke(Address(fromBase58String(dApp)), "withdrawFarmTokens", [false], [AttachedPayment(assetId, amount)])
41+ then invoke(Address(fromBase58String(dApp)), "withdrawFarmTokens", [amount, false], nil)
4242 else throw(((("Low balance: " + toString(balance)) + " and need: ") + toString(amount)))
4343 }
4444
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)
2626 if ((amount == -1))
2727 then invoke(Address(fromBase58String(dApp)), "stakeFarmTokens", [false], [AttachedPayment(assetId, balance)])
2828 else if ((balance >= amount))
2929 then invoke(Address(fromBase58String(dApp)), "stakeFarmTokens", [false], [AttachedPayment(assetId, amount)])
3030 else throw(((("Low balance: " + toString(balance)) + " and need: ") + toString(amount)))
3131 }
3232
3333
3434 func unstake (farm,amount) = {
3535 let assetId = fromBase58String(getStr((farm + "_id")))
3636 let dApp = getStr((farm + "_st"))
3737 let balance = assetBalance(this, assetId)
3838 if ((amount == -1))
39- then invoke(Address(fromBase58String(dApp)), "withdrawFarmTokens", [false], [AttachedPayment(assetId, balance)])
39+ then invoke(Address(fromBase58String(dApp)), "withdrawFarmTokens", [-1, false], nil)
4040 else if ((balance >= amount))
41- then invoke(Address(fromBase58String(dApp)), "withdrawFarmTokens", [false], [AttachedPayment(assetId, amount)])
41+ then invoke(Address(fromBase58String(dApp)), "withdrawFarmTokens", [amount, false], nil)
4242 else throw(((("Low balance: " + toString(balance)) + " and need: ") + toString(amount)))
4343 }
4444
4545
4646 func check (pbk) = {
4747 let pbk_st = toBase58String(pbk)
4848 let points = getStringValue("points")
4949 contains(points, pbk_st)
5050 }
5151
5252
5353 func iterStake (acc,farm) = {
5454 let rez = stake(farm, -1)
5555 match rez {
5656 case t: ScriptTransfer =>
5757 (acc ++ [rez])
5858 case _ =>
5959 acc
6060 }
6161 }
6262
6363
6464 func iterUnstake (acc,farm) = {
6565 let rez = unstake(farm, -1)
6666 match rez {
6767 case t: ScriptTransfer =>
6868 (acc ++ [rez])
6969 case _ =>
7070 acc
7171 }
7272 }
7373
7474
7575 @Callable(i)
7676 func StakeAndClaimAll () = if (check(i.callerPublicKey))
7777 then {
7878 let $l = farms
7979 let $s = size($l)
8080 let $acc0 = nil
8181 func $f0_1 ($a,$i) = if (($i >= $s))
8282 then $a
8383 else iterStake($a, $l[$i])
8484
8585 func $f0_2 ($a,$i) = if (($i >= $s))
8686 then $a
8787 else throw("List size exceeds 3")
8888
8989 $f0_2($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3)
9090 }
9191 else throw("Private Farm. Access prohibited!")
9292
9393
9494
9595 @Callable(i)
9696 func UnstakeAll () = if (check(i.callerPublicKey))
9797 then {
9898 let $l = farms
9999 let $s = size($l)
100100 let $acc0 = nil
101101 func $f0_1 ($a,$i) = if (($i >= $s))
102102 then $a
103103 else iterUnstake($a, $l[$i])
104104
105105 func $f0_2 ($a,$i) = if (($i >= $s))
106106 then $a
107107 else throw("List size exceeds 3")
108108
109109 $f0_2($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3)
110110 }
111111 else throw("Private Farm. Access prohibited!")
112112
113113
114114 @Verifier(tx)
115115 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
116116

github/deemru/w8io/c3f4982 
24.30 ms