2022.07.02 00:22 [3186727] smart account 3P2CinDgUX5fuck5fyRw1vfPTj8u1N67V7H > SELF 0.00000000 Waves

{ "type": 13, "id": "6sEDEe7kHvFR6QgkfrdCHZXbAWdagDHt5HyLHsba5hY3", "fee": 1100000, "feeAssetId": null, "timestamp": 1656710583033, "version": 1, "sender": "3P2CinDgUX5fuck5fyRw1vfPTj8u1N67V7H", "senderPublicKey": "J7HoLLExGYaDAzvcuELhjosVcLXBTfCwrYgpPB9VwSDM", "proofs": [ "3SR6wdPrVYKJAvBWt8BbviNX9WZgQdgbEMWKTrBRrqa5xcbDHGfw8n48tYubxhVBNuDn9syrTiY3ojg3hzEnAgij" ], "script": "base64:AAIFAAAAAAAAABgIAhIAEgASCAoGCAEICAgIEgYKBAgBCAgAAAAMAAAAAAVmYXJtcwkABEwAAAACAgAAAAhpbnNpZGVycwkABEwAAAACAgAAAAVtdW5kbwkABEwAAAACAgAAAAdrb2xraG96CQAETAAAAAICAAAABGZvbW8JAARMAAAAAgIAAAAGbWFydmluCQAETAAAAAICAAAAA2lkbwkABEwAAAACAgAAAANkdXgJAARMAAAAAgIAAAADY2d1CQAETAAAAAICAAAABGZvcmsJAARMAAAAAgIAAAAGc3RyZWV0CQAETAAAAAICAAAABGVuZG8JAARMAAAAAgIAAAAFbGF0YW0JAARMAAAAAgIAAAAFcG9pbnQJAARMAAAAAgIAAAAFc2VnZ3MJAARMAAAAAgIAAAAEbWF0aAkABEwAAAACAgAAAAZ0dXJ0bGUFAAAAA25pbAAAAAAKZWdnQXNzZXRJZAEAAAAgo59/TyNyUdEs4iGSYohNDAvz6iJugdWv/AuTF85tsckAAAAAA3JlZgkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQEAAAAgqp9LhD6GcwGf7HNDPDm6yfjecg1KPL4fX3yAhAf9txkBAAAABmdldFN0cgAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiAgAAAAABAAAABmdldEludAAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiAAAAAAAAAAAAAQAAAAVzdGFrZQAAAAIAAAAEZmFybQAAAAZhbW91bnQEAAAAB2Fzc2V0SWQJAAJZAAAAAQkBAAAABmdldFN0cgAAAAEJAAEsAAAAAgUAAAAEZmFybQIAAAADX2lkBAAAAARkQXBwCQEAAAAGZ2V0U3RyAAAAAQkAASwAAAACBQAAAARmYXJtAgAAAANfc3QEAAAAB2JhbGFuY2UJAAPwAAAAAgUAAAAEdGhpcwUAAAAHYXNzZXRJZAMJAAAAAAAAAgUAAAAGYW1vdW50AP//////////CQAD/AAAAAQJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABBQAAAARkQXBwAgAAAA9zdGFrZUZhcm1Ub2tlbnMJAARMAAAAAgcFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAAHYXNzZXRJZAUAAAAHYmFsYW5jZQUAAAADbmlsAwkAAGcAAAACBQAAAAdiYWxhbmNlBQAAAAZhbW91bnQJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEFAAAABGRBcHACAAAAD3N0YWtlRmFybVRva2VucwkABEwAAAACBwUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACBQAAAAdhc3NldElkBQAAAAZhbW91bnQFAAAAA25pbAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAA1Mb3cgYmFsYW5jZTogCQABpAAAAAEFAAAAB2JhbGFuY2UCAAAACyBhbmQgbmVlZDogCQABpAAAAAEFAAAABmFtb3VudAEAAAAHdW5zdGFrZQAAAAIAAAAEZmFybQAAAAZhbW91bnQEAAAAB2Fzc2V0SWQJAAJZAAAAAQkBAAAABmdldFN0cgAAAAEJAAEsAAAAAgUAAAAEZmFybQIAAAADX2lkBAAAAARkQXBwCQEAAAAGZ2V0U3RyAAAAAQkAASwAAAACBQAAAARmYXJtAgAAAANfc3QEAAAAB2JhbGFuY2UJAAPwAAAAAgUAAAAEdGhpcwUAAAAHYXNzZXRJZAMJAAAAAAAAAgUAAAAGYW1vdW50AP//////////CQAD/AAAAAQJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABBQAAAARkQXBwAgAAABJ3aXRoZHJhd0Zhcm1Ub2tlbnMJAARMAAAAAgD//////////wkABEwAAAACBwUAAAADbmlsBQAAAANuaWwDCQAAZwAAAAIFAAAAB2JhbGFuY2UFAAAABmFtb3VudAkAA/wAAAAECQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQUAAAAEZEFwcAIAAAASd2l0aGRyYXdGYXJtVG9rZW5zCQAETAAAAAIFAAAABmFtb3VudAkABEwAAAACBwUAAAADbmlsBQAAAANuaWwJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAANTG93IGJhbGFuY2U6IAkAAaQAAAABBQAAAAdiYWxhbmNlAgAAAAsgYW5kIG5lZWQ6IAkAAaQAAAABBQAAAAZhbW91bnQBAAAABWNoZWNrAAAAAQAAAANwYmsEAAAABnBia19zdAkAAlgAAAABBQAAAANwYmsEAAAABnBvaW50cwkBAAAAEUBleHRyTmF0aXZlKDEwNTgpAAAAAQIAAAAGcG9pbnRzCQEAAAAIY29udGFpbnMAAAACBQAAAAZwb2ludHMFAAAABnBia19zdAEAAAAJaXRlclN0YWtlAAAAAgAAAANhY2MAAAAEZmFybQQAAAADcmV6CQEAAAAFc3Rha2UAAAACBQAAAARmYXJtAP//////////BAAAAAckbWF0Y2gwBQAAAANyZXoDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAADlNjcmlwdFRyYW5zZmVyBAAAAAF0BQAAAAckbWF0Y2gwCQAETgAAAAIFAAAAA2FjYwkABEwAAAACBQAAAANyZXoFAAAAA25pbAUAAAADYWNjAQAAAAtpdGVyVW5zdGFrZQAAAAIAAAADYWNjAAAABGZhcm0EAAAAA3JlegkBAAAAB3Vuc3Rha2UAAAACBQAAAARmYXJtAP//////////BAAAAAckbWF0Y2gwBQAAAANyZXoDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAADlNjcmlwdFRyYW5zZmVyBAAAAAF0BQAAAAckbWF0Y2gwCQAETgAAAAIFAAAAA2FjYwkABEwAAAACBQAAAANyZXoFAAAAA25pbAUAAAADYWNjAQAAAA1nZXRBc3NldEJ5dGVzAAAAAQAAAARhc2lkAwkAAAAAAAACBQAAAARhc2lkAgAAAAVXQVZFUwUAAAAEdW5pdAkAAlkAAAABBQAAAARhc2lkAQAAAApnZXRCYWxhbmNlAAAAAQAAAAdhc3NldElkBAAAAAckbWF0Y2gwBQAAAAdhc3NldElkAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0BAAAAAF4BQAAAAckbWF0Y2gwCAkAA+8AAAABBQAAAAR0aGlzAAAACWF2YWlsYWJsZQkAA/AAAAACBQAAAAR0aGlzCQEAAAAFdmFsdWUAAAABBQAAAAdhc3NldElkAAAABAAAAAFpAQAAABBTdGFrZUFuZENsYWltQWxsAAAAAAMJAQAAAAVjaGVjawAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAAHYmFsYW5jZQkBAAAACmdldEJhbGFuY2UAAAABBQAAAAplZ2dBc3NldElkCQAETgAAAAIKAAAAAAIkbAUAAAAFZmFybXMKAAAAAAIkcwkAAZAAAAABBQAAAAIkbAoAAAAABSRhY2MwBQAAAANuaWwKAQAAAAUkZjBfMQAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAQAAAAlpdGVyU3Rha2UAAAACBQAAAAIkYQkAAZEAAAACBQAAAAIkbAUAAAACJGkKAQAAAAUkZjBfMgAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAAACAAAAAQIAAAAUTGlzdCBzaXplIGV4Y2VlZHMgMTYJAQAAAAUkZjBfMgAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIFAAAABSRhY2MwAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAACAAAAAAAAAAADAAAAAAAAAAAEAAAAAAAAAAAFAAAAAAAAAAAGAAAAAAAAAAAHAAAAAAAAAAAIAAAAAAAAAAAJAAAAAAAAAAAKAAAAAAAAAAALAAAAAAAAAAAMAAAAAAAAAAANAAAAAAAAAAAOAAAAAAAAAAAPAAAAAAAAAAAQCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACAgAAAAljZl9zdGFrZWQGCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAA3JlZgUAAAAHYmFsYW5jZQUAAAAKZWdnQXNzZXRJZAUAAAADbmlsCQAAAgAAAAECAAAAIFByaXZhdGUgRmFybS4gQWNjZXNzIHByb2hpYml0ZWQhAAAAAWkBAAAAClVuc3Rha2VBbGwAAAAAAwkBAAAABWNoZWNrAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BAAAAAdiYWxhbmNlCQEAAAAKZ2V0QmFsYW5jZQAAAAEFAAAACmVnZ0Fzc2V0SWQJAAROAAAAAgoAAAAAAiRsBQAAAAVmYXJtcwoAAAAAAiRzCQABkAAAAAEFAAAAAiRsCgAAAAAFJGFjYzAFAAAAA25pbAoBAAAABSRmMF8xAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkBAAAAC2l0ZXJVbnN0YWtlAAAAAgUAAAACJGEJAAGRAAAAAgUAAAACJGwFAAAAAiRpCgEAAAAFJGYwXzIAAAACAAAAAiRhAAAAAiRpAwkAAGcAAAACBQAAAAIkaQUAAAACJHMFAAAAAiRhCQAAAgAAAAECAAAAFExpc3Qgc2l6ZSBleGNlZWRzIDE2CQEAAAAFJGYwXzIAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACBQAAAAUkYWNjMAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAgAAAAAAAAAAAwAAAAAAAAAABAAAAAAAAAAABQAAAAAAAAAABgAAAAAAAAAABwAAAAAAAAAACAAAAAAAAAAACQAAAAAAAAAACgAAAAAAAAAACwAAAAAAAAAADAAAAAAAAAAADQAAAAAAAAAADgAAAAAAAAAADwAAAAAAAAAAEAkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgIAAAAJY2Zfc3Rha2VkBwkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAANyZWYFAAAAB2JhbGFuY2UFAAAACmVnZ0Fzc2V0SWQFAAAAA25pbAkAAAIAAAABAgAAACBQcml2YXRlIEZhcm0uIEFjY2VzcyBwcm9oaWJpdGVkIQAAAAFpAQAAAApJbnRlclBvb2xzAAAABgAAAANhc2kAAAACbTEAAAADYXNvAAAAA2FzYgAAAAJhMQAAAAJhMgMJAQAAAAVjaGVjawAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAACdDAJAQAAAA1nZXRBc3NldEJ5dGVzAAAAAQUAAAADYXNpBAAAAAJ0MQkBAAAADWdldEFzc2V0Qnl0ZXMAAAABBQAAAANhc2IEAAAADWJhbGFuY2VCZWZvcmUJAQAAAApnZXRCYWxhbmNlAAAAAQUAAAACdDEDCQAAAAAAAAIFAAAADWJhbGFuY2VCZWZvcmUFAAAADWJhbGFuY2VCZWZvcmUEAAAAAWIJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEFAAAAAmExAgAAAARzd2FwCQAETAAAAAIFAAAAA2FzYgkABEwAAAACAAAAAAAAAAAABQAAAANuaWwJAARMAAAAAgkBAAAAD0F0dGFjaGVkUGF5bWVudAAAAAIFAAAAAnQwBQAAAAJtMQUAAAADbmlsAwkAAAAAAAACBQAAAAFiBQAAAAFiBAAAAAZhbW91bnQJAABlAAAAAgkBAAAACmdldEJhbGFuY2UAAAABBQAAAAJ0MQUAAAANYmFsYW5jZUJlZm9yZQMJAAAAAAAAAgUAAAAGYW1vdW50BQAAAAZhbW91bnQEAAAAAWMJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEFAAAAAmEyAgAAAARzd2FwCQAETAAAAAIFAAAAA2FzbwkABEwAAAACBQAAAAJtMQUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACBQAAAAJ0MQUAAAAGYW1vdW50BQAAAANuaWwDCQAAAAAAAAIFAAAAAWMFAAAAAWMJAAUUAAAAAgkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgIAAAAEcGFzcwYFAAAAA25pbAAAAAAAAAAAAAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAgUHJpdmF0ZSBGYXJtLiBBY2Nlc3MgcHJvaGliaXRlZCEAAAABaQEAAAAIUG9vbFN3YXAAAAAEAAAAA2FzaQAAAAJtMQAAAANhc28AAAACYTEDCQEAAAAFY2hlY2sAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAAAnQwCQEAAAANZ2V0QXNzZXRCeXRlcwAAAAEFAAAAA2FzaQQAAAADcmV6CQAD/AAAAAQJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABBQAAAAJhMQIAAAAEc3dhcAkABEwAAAACBQAAAANhc28JAARMAAAAAgAAAAAAAAAAAAUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACBQAAAAJ0MAUAAAACbTEFAAAAA25pbAMJAAAAAAAAAgUAAAADcmV6BQAAAANyZXoJAAUUAAAAAgkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgIAAAAEcGFzcwYFAAAAA25pbAAAAAAAAAAAAAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAgUHJpdmF0ZSBGYXJtLiBBY2Nlc3MgcHJvaGliaXRlZCEAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleWWhrhY=", "chainId": 87, "height": 3186727, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Bcn49JKsAdf9xsZdEEDDTnc3uNmJ45ai5Uk2NTSR79xE Next: AogNhj7nS46snGXhPyApqxte6vX9owVTuWNyHBVsnEXY Diff:
OldNewDifferences
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let farms = ["insiders", "mundo", "kolkhoz", "fomo", "marvin", "ido", "dux", "cgu", "fork", "street", "endo", "latam", "point", "seggs", "math", "turtle"]
5+
6+let eggAssetId = base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS'
7+
8+let ref = addressFromPublicKey(base58'CV3C1sL57cpVTpFMLdLCUqfd79YaoZJ9NJP7QeTJjnU8')
59
610 func getStr (key) = match getString(this, key) {
711 case b: String =>
8791
8892 @Callable(i)
8993 func StakeAndClaimAll () = if (check(i.callerPublicKey))
90- then ({
91- let $l = farms
92- let $s = size($l)
93- let $acc0 = nil
94- func $f0_1 ($a,$i) = if (($i >= $s))
95- then $a
96- else iterStake($a, $l[$i])
94+ then {
95+ let balance = getBalance(eggAssetId)
96+ ({
97+ let $l = farms
98+ let $s = size($l)
99+ let $acc0 = nil
100+ func $f0_1 ($a,$i) = if (($i >= $s))
101+ then $a
102+ else iterStake($a, $l[$i])
97103
98- func $f0_2 ($a,$i) = if (($i >= $s))
99- then $a
100- else throw("List size exceeds 16")
104+ func $f0_2 ($a,$i) = if (($i >= $s))
105+ then $a
106+ else throw("List size exceeds 16")
101107
102- $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)
103- } ++ [BooleanEntry("cf_staked", true)])
108+ $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)
109+ } ++ [BooleanEntry("cf_staked", true), ScriptTransfer(ref, balance, eggAssetId)])
110+ }
104111 else throw("Private Farm. Access prohibited!")
105112
106113
107114
108115 @Callable(i)
109116 func UnstakeAll () = if (check(i.callerPublicKey))
110- then ({
111- let $l = farms
112- let $s = size($l)
113- let $acc0 = nil
114- func $f0_1 ($a,$i) = if (($i >= $s))
115- then $a
116- else iterUnstake($a, $l[$i])
117+ then {
118+ let balance = getBalance(eggAssetId)
119+ ({
120+ let $l = farms
121+ let $s = size($l)
122+ let $acc0 = nil
123+ func $f0_1 ($a,$i) = if (($i >= $s))
124+ then $a
125+ else iterUnstake($a, $l[$i])
117126
118- func $f0_2 ($a,$i) = if (($i >= $s))
119- then $a
120- else throw("List size exceeds 16")
127+ func $f0_2 ($a,$i) = if (($i >= $s))
128+ then $a
129+ else throw("List size exceeds 16")
121130
122- $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)
123- } ++ [BooleanEntry("cf_staked", false)])
131+ $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)
132+ } ++ [BooleanEntry("cf_staked", false), ScriptTransfer(ref, balance, eggAssetId)])
133+ }
124134 else throw("Private Farm. Access prohibited!")
125135
126136
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let farms = ["insiders", "mundo", "kolkhoz", "fomo", "marvin", "ido", "dux", "cgu", "fork", "street", "endo", "latam", "point", "seggs", "math", "turtle"]
5+
6+let eggAssetId = base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS'
7+
8+let ref = addressFromPublicKey(base58'CV3C1sL57cpVTpFMLdLCUqfd79YaoZJ9NJP7QeTJjnU8')
59
610 func getStr (key) = match getString(this, key) {
711 case b: String =>
812 b
913 case _ =>
1014 ""
1115 }
1216
1317
1418 func getInt (key) = match getInteger(this, key) {
1519 case b: Int =>
1620 b
1721 case _ =>
1822 0
1923 }
2024
2125
2226 func stake (farm,amount) = {
2327 let assetId = fromBase58String(getStr((farm + "_id")))
2428 let dApp = getStr((farm + "_st"))
2529 let balance = assetBalance(this, assetId)
2630 if ((amount == -1))
2731 then invoke(Address(fromBase58String(dApp)), "stakeFarmTokens", [false], [AttachedPayment(assetId, balance)])
2832 else if ((balance >= amount))
2933 then invoke(Address(fromBase58String(dApp)), "stakeFarmTokens", [false], [AttachedPayment(assetId, amount)])
3034 else throw(((("Low balance: " + toString(balance)) + " and need: ") + toString(amount)))
3135 }
3236
3337
3438 func unstake (farm,amount) = {
3539 let assetId = fromBase58String(getStr((farm + "_id")))
3640 let dApp = getStr((farm + "_st"))
3741 let balance = assetBalance(this, assetId)
3842 if ((amount == -1))
3943 then invoke(Address(fromBase58String(dApp)), "withdrawFarmTokens", [-1, false], nil)
4044 else if ((balance >= amount))
4145 then invoke(Address(fromBase58String(dApp)), "withdrawFarmTokens", [amount, false], nil)
4246 else throw(((("Low balance: " + toString(balance)) + " and need: ") + toString(amount)))
4347 }
4448
4549
4650 func check (pbk) = {
4751 let pbk_st = toBase58String(pbk)
4852 let points = getStringValue("points")
4953 contains(points, pbk_st)
5054 }
5155
5256
5357 func iterStake (acc,farm) = {
5458 let rez = stake(farm, -1)
5559 match rez {
5660 case t: ScriptTransfer =>
5761 (acc ++ [rez])
5862 case _ =>
5963 acc
6064 }
6165 }
6266
6367
6468 func iterUnstake (acc,farm) = {
6569 let rez = unstake(farm, -1)
6670 match rez {
6771 case t: ScriptTransfer =>
6872 (acc ++ [rez])
6973 case _ =>
7074 acc
7175 }
7276 }
7377
7478
7579 func getAssetBytes (asid) = if ((asid == "WAVES"))
7680 then unit
7781 else fromBase58String(asid)
7882
7983
8084 func getBalance (assetId) = match assetId {
8185 case x: Unit =>
8286 wavesBalance(this).available
8387 case _ =>
8488 assetBalance(this, value(assetId))
8589 }
8690
8791
8892 @Callable(i)
8993 func StakeAndClaimAll () = if (check(i.callerPublicKey))
90- then ({
91- let $l = farms
92- let $s = size($l)
93- let $acc0 = nil
94- func $f0_1 ($a,$i) = if (($i >= $s))
95- then $a
96- else iterStake($a, $l[$i])
94+ then {
95+ let balance = getBalance(eggAssetId)
96+ ({
97+ let $l = farms
98+ let $s = size($l)
99+ let $acc0 = nil
100+ func $f0_1 ($a,$i) = if (($i >= $s))
101+ then $a
102+ else iterStake($a, $l[$i])
97103
98- func $f0_2 ($a,$i) = if (($i >= $s))
99- then $a
100- else throw("List size exceeds 16")
104+ func $f0_2 ($a,$i) = if (($i >= $s))
105+ then $a
106+ else throw("List size exceeds 16")
101107
102- $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)
103- } ++ [BooleanEntry("cf_staked", true)])
108+ $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)
109+ } ++ [BooleanEntry("cf_staked", true), ScriptTransfer(ref, balance, eggAssetId)])
110+ }
104111 else throw("Private Farm. Access prohibited!")
105112
106113
107114
108115 @Callable(i)
109116 func UnstakeAll () = if (check(i.callerPublicKey))
110- then ({
111- let $l = farms
112- let $s = size($l)
113- let $acc0 = nil
114- func $f0_1 ($a,$i) = if (($i >= $s))
115- then $a
116- else iterUnstake($a, $l[$i])
117+ then {
118+ let balance = getBalance(eggAssetId)
119+ ({
120+ let $l = farms
121+ let $s = size($l)
122+ let $acc0 = nil
123+ func $f0_1 ($a,$i) = if (($i >= $s))
124+ then $a
125+ else iterUnstake($a, $l[$i])
117126
118- func $f0_2 ($a,$i) = if (($i >= $s))
119- then $a
120- else throw("List size exceeds 16")
127+ func $f0_2 ($a,$i) = if (($i >= $s))
128+ then $a
129+ else throw("List size exceeds 16")
121130
122- $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)
123- } ++ [BooleanEntry("cf_staked", false)])
131+ $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)
132+ } ++ [BooleanEntry("cf_staked", false), ScriptTransfer(ref, balance, eggAssetId)])
133+ }
124134 else throw("Private Farm. Access prohibited!")
125135
126136
127137
128138 @Callable(i)
129139 func InterPools (asi,m1,aso,asb,a1,a2) = if (check(i.callerPublicKey))
130140 then {
131141 let t0 = getAssetBytes(asi)
132142 let t1 = getAssetBytes(asb)
133143 let balanceBefore = getBalance(t1)
134144 if ((balanceBefore == balanceBefore))
135145 then {
136146 let b = invoke(Address(fromBase58String(a1)), "swap", [asb, 0], [AttachedPayment(t0, m1)])
137147 if ((b == b))
138148 then {
139149 let amount = (getBalance(t1) - balanceBefore)
140150 if ((amount == amount))
141151 then {
142152 let c = invoke(Address(fromBase58String(a2)), "swap", [aso, m1], [AttachedPayment(t1, amount)])
143153 if ((c == c))
144154 then $Tuple2([BooleanEntry("pass", true)], 0)
145155 else throw("Strict value is not equal to itself.")
146156 }
147157 else throw("Strict value is not equal to itself.")
148158 }
149159 else throw("Strict value is not equal to itself.")
150160 }
151161 else throw("Strict value is not equal to itself.")
152162 }
153163 else throw("Private Farm. Access prohibited!")
154164
155165
156166
157167 @Callable(i)
158168 func PoolSwap (asi,m1,aso,a1) = if (check(i.callerPublicKey))
159169 then {
160170 let t0 = getAssetBytes(asi)
161171 let rez = invoke(Address(fromBase58String(a1)), "swap", [aso, 0], [AttachedPayment(t0, m1)])
162172 if ((rez == rez))
163173 then $Tuple2([BooleanEntry("pass", true)], 0)
164174 else throw("Strict value is not equal to itself.")
165175 }
166176 else throw("Private Farm. Access prohibited!")
167177
168178
169179 @Verifier(tx)
170180 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
171181

github/deemru/w8io/786bc32 
56.86 ms