tx · 7janq1rZo3SGc5iJqGPzdQKo7iimThyHAQTUV3ApG4cm

3PGzF8zWJhmxsoZEup8YMfbNpWrKXtaBMuM:  -0.01000000 Waves

2021.09.30 16:57 [2790787] smart account 3PGzF8zWJhmxsoZEup8YMfbNpWrKXtaBMuM > SELF 0.00000000 Waves

{ "type": 13, "id": "7janq1rZo3SGc5iJqGPzdQKo7iimThyHAQTUV3ApG4cm", "fee": 1000000, "feeAssetId": null, "timestamp": 1633010104565, "version": 2, "chainId": 87, "sender": "3PGzF8zWJhmxsoZEup8YMfbNpWrKXtaBMuM", "senderPublicKey": "6okxT5rAR3i5x3RRorw26hUECr4aENagykUoJqpjLx5o", "proofs": [ "2Hgq5RkoxuwhBY56JVoY5KwEr2F4LQvFRYA7iV3hf1XdCMiWZh6A4GnhuKX4us9DzQF6YuVGExhX4EQWKXdaZZ7W" ], "script": "base64:AAIFAAAAAAAAADkIAhIECgIIARIDCgEEEgASABIAEgMKAQgSAwoBCBIDCgEIEgMKAQgSBAoCCAgSAwoBCBIFCgMIAQEAAAAfAAAAAAhtQWNjUEtleQEAAAAgD3csaoTE7s0q+LUFTqhxhL0WVCTh231y++NV3LUuGBIAAAAACG1BY2NBZGRyCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAAhtQWNjUEtleQAAAAAKZmVlUGVyY2VudAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAIbUFjY0FkZHIJAAEsAAAAAgkAASwAAAACAgAAAAJmXwkABCUAAAABBQAAAAR0aGlzAgAAAARfZmVlAAAAAA1vbGRFZ2dBc3NldElkAQAAACD/eUdQVFDYfRxV9BFA7KVHMaQYXGzXgVfQg2lMwL2X8AAAAAASc3dhcEVnZ0RhcHBBZGRyZXNzCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzUEpRVVVpSmR2ejlldFVLRUQ5anU3bzdWcmNOTXRua1hCVQAAAAAPa1RvdGFsTGlxdWlkaXR5AgAAAA90b3RhbF9saXF1aWRpdHkAAAAADGtJbml0aWFsaXplZAIAAAALSU5JVElBTElaRUQAAAAAE2tMaXF1aWRpdHlUaHJlc2hvbGQCAAAAE0xJUVVJRElUWV9USFJFU0hPTEQAAAAAEWtGYXJtUGFydGljaXBhbnRzAgAAABFmYXJtX3BhcnRpY2lwYW50cwAAAAARa1RvdGFsU2hhcmVUb2tlbnMCAAAAEnRvdGFsX3NoYXJlX3Rva2VucwAAAAANa1NoYXJlQXNzZXRJZAIAAAAOU0hBUkVfQVNTRVRfSUQAAAAADmtJbmN1YmF0b3JEYXBwAgAAAA5JTkNVQkFUT1JfREFQUAAAAAAMa0JyZWVkZXJEYXBwAgAAAAxCUkVFREVSX0RBUFAAAAAADGtGYXJtaW5nRGFwcAIAAAAMRkFSTUlOR19EQVBQAAAAABBrTWFya2V0UHJveHlEYXBwAgAAABZNQVJLRVRQTEFDRV9QUk9YWV9EQVBQAAAAAAxrQXVjdGlvbkRhcHACAAAADEFVQ1RJT05fREFQUAAAAAAHa0xvY2tlZAIAAAAGTE9DS0VEAAAAABNrVG90YWxGYXJt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AA1rUGFydGljaXBhdGVkBAAAABNuZXdGYXJtUGFydGljaXBhbnRzAwkAAAAAAAACBQAAABNhbHJlYWR5UGFydGljaXBhdGVkBQAAAAR1bml0CQAAZAAAAAIFAAAAEGZhcm1QYXJ0aWNpcGFudHMAAAAAAAAAAAEFAAAAEGZhcm1QYXJ0aWNpcGFudHMJAARMAAAAAgUAAAAHcmVpc3N1ZQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAEXNoYXJlVG9rZW5zVG9HaXZlBQAAAA1zaGFyZVRva2Vuc0lkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABFrVG90YWxTaGFyZVRva2VucwkAAGQAAAACBQAAABB0b3RhbFNoYXJlVG9rZW5zBQAAABFzaGFyZVRva2Vuc1RvR2l2ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAPa1RvdGFsTGlxdWlkaXR5CQAAZAAAAAIFAAAADnRvdGFsTGlxdWlkaXR5CQAAaQAAAAIJAQAAAAV2YWx1ZQAAAAEICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAAAAAAAAA9CQAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAARa0Zhcm1QYXJ0aWNpcGFudHMFAAAAE25ld0Zhcm1QYXJ0aWNpcGFudHMJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIFAAAADWtQYXJ0aWNpcGF0ZWQGBQAAAANuaWwAAAABaQEAAAAXY2xhaW1GYXJtaW5nUmV3YXJkUHJveHkAAAABAAAAA2lkcwMJAQAAAAIhPQAAAAIIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQUAAAAIbUFjY1BLZXkJAAACAAAAAQIAAAADXzIzBAAAAAtmYXJtaW5nRGFwcAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkBAAAAB2dldFN0ckEAAAACBQAAAAhtQWNjQWRkcgUAAAAMa0Zhcm1pbmdEYXBwCgEAAAALY2xhaW1SZXdhcmQAAAACAAAABWFjY3VtAAAABW5mdElkBAAAAAZpbnZSZXMJAAP8AAAABAUAAAALZmFybWluZ0RhcHACAAAAC2NsYWltUmV3YXJkCQAETAAAAAIFAAAABW5mdElkBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAGaW52UmVzBQAAAAZpbnZSZXMEAAAAByRtYXRjaDAFAAAABmludlJlcwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAANpbnQFAAAAByRtYXRjaDAJAABkAAAAAgUAAAAFYWNjdW0FAAAAA2ludAkAAAIAAAABAgAAAAJfNQkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4EAAAABm5mdElkcwkABLUAAAACBQAAAANpZHMCAAAAATsEAAAACmZvbGRSZXN1bHQKAAAAAAIkbAUAAAAGbmZ0SWRzCgAAAAACJHMJAAGQAAAAAQUAAAACJGwKAAAAAAUkYWNjMAAAAAAAAAAAAAoBAAAAATEAAAACAAAAAiRhAAAAAiRpAwkAAGcAAAACBQAAAAIkaQUAAAACJHMFAAAAAiRhCQEAAAALY2xhaW1SZXdhcmQAAAACBQAAAAIkYQkAAZEAAAACBQAAAAIkbAUAAAACJGkKAQAAAAEyAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkAAAIAAAABAgAAABRMaXN0IHNpemUgZXhjZWVkcyAxMAkBAAAAATIAAAACCQEAAAABMQAAAAIJAQAAAAExAAAAAgkBAAAAATEAAAACCQEAAAABMQAAAAIJAQAAAAExAAAAAgkBAAAAATEAAAACCQEAAAABMQAAAAIJAQAAAAExAAAAAgkBAAAAATEAAAACCQEAAAABMQAAAAIFAAAABSRhY2MwAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAACAAAAAAAAAAADAAAAAAAAAAAEAAAAAAAAAAAFAAAAAAAAAAAGAAAAAAAAAAAHAAAAAAAAAAAIAAAAAAAAAAAJAAAAAAAAAAAKBAAAAA1jbGFpbWVkUmV3YXJkBAAAAAckbWF0Y2gwBQAAAApmb2xkUmVzdWx0AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAA2ludAUAAAAHJG1hdGNoMAUAAAADaW50CQAAAgAAAAECAAAAAl82BAAAAA5mYXJtQ2VvRmVlU2l6ZQkAAGsAAAADBQAAAA1jbGFpbWVkUmV3YXJkBQAAAApmZWVQZXJjZW50AAAAAAAAAABkBAAAAAd0b0Rpc3RyCQEAAAAGZ2V0SW50AAAAAQUAAAAIa1RvRGlzdHIEAAAAEnRvdGFsRmFybWluZ1Jld2FyZAkBAAAABmdldEludAAAAAEFAAAAE2tUb3RhbEZhcm1pbmdSZXdhcmQEAAAADWN1cnJlbnRDZW9GZWUJAQAAAAZnZXRJbnQAAAABBQAAABBrQ2VvQ29sbGVjdGVkRmVlBAAAAA1jZW9GZWVPdmVyYWxsCQEAAAAGZ2V0SW50AAAAAQUAAAAXa0Nlb0NvbGxlY3RlZEZlZU92ZXJhbGwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAE2tUb3RhbEZhcm1pbmdSZXdhcmQJAABlAAAAAgkAAGQAAAACBQAAABJ0b3RhbEZhcm1pbmdSZXdhcmQFAAAADWNsYWltZWRSZXdhcmQFAAAADmZhcm1DZW9GZWVTaXplCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAhrVG9EaXN0cgkAAGUAAAACCQAAZAAAAAIFAAAAB3RvRGlzdHIFAAAADWNsYWltZWRSZXdhcmQFAAAADmZhcm1DZW9GZWVTaXplCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABBrQ2VvQ29sbGVjdGVkRmVlCQAAZAAAAAIFAAAADWN1cnJlbnRDZW9GZWUFAAAADmZhcm1DZW9GZWVTaXplCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABdrQ2VvQ29sbGVjdGVkRmVlT3ZlcmFsbAkAAGQAAAACBQAAAA1jZW9GZWVPdmVyYWxsBQAAAA5mYXJtQ2VvRmVlU2l6ZQUAAAADbmlsAAAAAWkBAAAAC2NsYWltQ2VvRmVlAAAAAQAAAAdhZGRyZXNzAwkAAAAAAAACCQEAAAAHZ2V0Qm9vbAAAAAEFAAAAB2tMb2NrZWQGCQAAAgAAAAECAAAAA18yMgMJAAAAAAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzBAAAABZjdXJyZW50Q2VvQ29sbGVjdGVkRmVlCQEAAAAGZ2V0SW50AAAAAQUAAAAQa0Nlb0NvbGxlY3RlZEZlZQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAAdhZGRyZXNzBQAAABZjdXJyZW50Q2VvQ29sbGVjdGVkRmVlCQEAAAAIZ2V0RWdnSWQAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABBrQ2VvQ29sbGVjdGVkRmVlAAAAAAAAAAAABQAAAANuaWwJAAACAAAAAQIAAAACXzgAAAABaQEAAAAQc3RhcnRMaXF1aWRhdGlvbgAAAAEAAAAJYXVjdGlvbklkCQAAAgAAAAECAAAAAl83AAAAAWkBAAAAEnZvdGVGb3JMaXF1aWRhdGlvbgAAAAEAAAAJYXVjdGlvbklkCQAAAgAAAAECAAAAAl83AAAAAWkBAAAAEGNhbGxVbnN0YWtlUHJveHkAAAACAAAACGZ1bmN0aW9uAAAAB2Fzc2V0SWQDCQAAAAAAAAIJAQAAAAdnZXRCb29sAAAAAQUAAAAHa0xvY2tlZAYJAAACAAAAAQIAAAAWQ29udHJhY3QgaXMgbG9ja2VkIG5vdwMDCQEAAAACIT0AAAACBQAAAAhmdW5jdGlvbgIAAAAKdW5zdGFrZU5GVAkBAAAAAiE9AAAAAgUAAAAIZnVuY3Rpb24CAAAADnVuc3Rha2VKYWNrcG90BwkAAAIAAAABAgAAABFCYWQgZnVuY3Rpb24gbmFtZQMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAEdGhpcwkAAAIAAAABAgAAACFDYW4gYmUgY2FsbGVkIG9ubHkgYnkgdGhlIGFjY291bnQEAAAAEmZhcm1pbmdEYXBwQWRkcmVzcwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkBAAAAB2dldFN0ckEAAAACBQAAAAhtQWNjQWRkcgIAAAAMRkFSTUlOR19EQVBQBAAAAA11c3Rha2VkUmV3YXJkCQAD/AAAAAQFAAAAEmZhcm1pbmdEYXBwQWRkcmVzcwUAAAAIZnVuY3Rpb24JAARMAAAAAgUAAAAHYXNzZXRJZAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAADXVzdGFrZWRSZXdhcmQFAAAADXVzdGFrZWRSZXdhcmQEAAAAEXVuc3Rha2VkUmV3YXJkTm93CQEAAAAGZ2V0SW50AAAAAQUAAAAPa1Vuc3Rha2VkUmV3YXJkBAAAABFuZXdVbnN0YWtlZFJld2FyZAQAAAAHJG1hdGNoMAUAAAANdXN0YWtlZFJld2FyZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAANpbnQFAAAAByRtYXRjaDAJAABkAAAAAgUAAAARdW5zdGFrZWRSZXdhcmROb3cFAAAAA2ludAkAAAIAAAABAgAAABZFcnJvciBkdXJpbmcgdW5zdGFraW5nBAAAAA1jdXJyZW50Q2VvRmVlCQEAAAAGZ2V0SW50AAAAAQUAAAAQa0Nlb0NvbGxlY3RlZEZlZQQAAAANY2VvRmVlT3ZlcmFsbAkBAAAABmdldEludAAAAAEFAAAAF2tDZW9Db2xsZWN0ZWRGZWVPdmVyYWxsBAAAAA5mYXJtQ2VvRmVlU2l6ZQkAAGsAAAADBQAAABF1bnN0YWtlZFJld2FyZE5vdwUAAAAKZmVlUGVyY2VudAAAAAAAAAAAZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAQa0Nlb0NvbGxlY3RlZEZlZQkAAGQAAAACBQAAAA1jdXJyZW50Q2VvRmVlBQAAAA5mYXJtQ2VvRmVlU2l6ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAXa0Nlb0NvbGxlY3RlZEZlZU92ZXJhbGwJAABkAAAAAgUAAAANY2VvRmVlT3ZlcmFsbAUAAAAOZmFybUNlb0ZlZVNpemUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAD2tVbnN0YWtlZFJld2FyZAUAAAARbmV3VW5zdGFrZWRSZXdhcmQFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAOcmV2ZXJ0VHJhbnNmZXIAAAABAAAABHR4SWQDCQAAAAAAAAIJAQAAAAdnZXRCb29sAAAAAQUAAAAHa0xvY2tlZAYJAAACAAAAAQIAAAAWQ29udHJhY3QgaXMgbG9ja2VkIG5vdwMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAEdGhpcwkAAAIAAAABAgAAACFDYW4gYmUgY2FsbGVkIG9ubHkgYnkgdGhlIGFjY291bnQEAAAAAnR4CQEAAAAFdmFsdWUAAAABCQAD7gAAAAEJAAJZAAAAAQUAAAAEdHhJZAQAAAAJa1JldmVydGVkCQABLAAAAAICAAAACnR4X3JldmVydF8FAAAABHR4SWQEAAAACnR4UmV2ZXJ0ZWQJAQAAAAdnZXRCb29sAAAAAQUAAAAJa1JldmVydGVkBAAAABF1bnN0YWtlZFJld2FyZE5vdwkBAAAABmdldEludAAAAAEFAAAAD2tVbnN0YWtlZFJld2FyZAQAAAAHdG9EaXN0cgkBAAAABmdldEludAAAAAEFAAAACGtUb0Rpc3RyBAAAAAptaW5CYWxhbmNlCQAAZAAAAAIFAAAAEXVuc3Rha2VkUmV3YXJkTm93BQAAAAd0b0Rpc3RyBAAAABFjdXJyZW50RWdnQmFsYW5jZQkAA/AAAAACBQAAAAR0aGlzCQEAAAAIZ2V0RWdnSWQAAAAABAAAAAZyZXN1bHQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAnR4AAAABnNlbmRlcggFAAAAAnR4AAAABmFtb3VudAgFAAAAAnR4AAAAB2Fzc2V0SWQJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIFAAAACWtSZXZlcnRlZAYFAAAAA25pbAMJAAAAAAAAAgUAAAAKdHhSZXZlcnRlZAYJAAACAAAAAQIAAAATVHggYWxyZWFkeSByZXZlcnRlZAMJAQAAAAIhPQAAAAIIBQAAAAJ0eAAAAAlyZWNpcGllbnQFAAAABHRoaXMJAAACAAAAAQIAAAAfVHggcmVjaXBpZW50IGlzIGFub3RoZXIgYWNjb3VudAMJAAAAAAAAAggFAAAAAnR4AAAAB2Fzc2V0SWQJAQAAAA9nZXRTaGFyZUFzc2V0SWQAAAAABQAAAAZyZXN1bHQDCQEAAAACIT0AAAACCAUAAAACdHgAAAAHYXNzZXRJZAkBAAAACGdldEVnZ0lkAAAAAAkAAAIAAAABAgAAACtUcmFuc2FjdGlvbiBpcyBub3Qgd2l0aCBFR0cgb3Igc2hhcmUgdG9rZW5zAwkAAGYAAAACBQAAAAptaW5CYWxhbmNlCQAAZQAAAAIFAAAAEWN1cnJlbnRFZ2dCYWxhbmNlCAUAAAACdHgAAAAGYW1vdW50CQAAAgAAAAECAAAAHFJldmVydCBtYWtlcyBiYWxhbmNlIHRvbyBsb3cFAAAABnJlc3VsdAAAAAFpAQAAABFkaXN0cmlidXRlUmV3YXJkcwAAAAMAAAAJYWRkcmVzc2VzAAAAEHRvdGFsU2hhcmVUb2tlbnMAAAAXdG90YWxSZXdhcmRUb0Rpc3RyaWJ1dGUDCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAACG1BY2NBZGRyCQAAAgAAAAECAAAAK01ldGhvZCBjYW4gYmUgY2FsbGVkIG9ubHkgYnkgbWFzdGVyIGFjY291bnQEAAAADGFkZHJlc3NQYWlycwkABLUAAAACBQAAAAlhZGRyZXNzZXMCAAAAATsKAQAAAA5wcm9jZXNzQWRkcmVzcwAAAAIAAAAFYWNjdW0AAAALYWRkcmVzc1BhaXIEAAAADGFkZHJlc3NQYXJ0cwkABLUAAAACBQAAAAthZGRyZXNzUGFpcgIAAAABPQQAAAAKYWRkcmVzc1N0cgkAAZEAAAACBQAAAAxhZGRyZXNzUGFydHMAAAAAAAAAAAAEAAAAB2FkZHJlc3MJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAACmFkZHJlc3NTdHIEAAAAD3VzZXJTaGFyZVRva2VucwkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAADGFkZHJlc3NQYXJ0cwAAAAAAAAAAAQQAAAALa0FkZHJFYXJuZWQJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwUAAAAKYWRkcmVzc1N0cgIAAAANX3RvdGFsX2Vhcm5lZAQAAAAPYWRkclRvdGFsRWFybmVkCQEAAAAGZ2V0SW50AAAAAQUAAAALa0FkZHJFYXJuZWQEAAAADXVzZXJSZXdhcmROb3cJAABrAAAAAwUAAAAXdG90YWxSZXdhcmRUb0Rpc3RyaWJ1dGUFAAAAD3VzZXJTaGFyZVRva2VucwUAAAAQdG90YWxTaGFyZVRva2VucwQAAAADcmVzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAtrQWRkckVhcm5lZAkAAGQAAAAC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", "height": 2790787, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let mAccPKey = base58'23NWm7kUDQqbTVkirjd5JXWRZaWVoS4ZesmRNHicBa3T'
5+
6+let mAccAddr = addressFromPublicKey(mAccPKey)
7+
8+let feePercent = getIntegerValue(mAccAddr, (("f_" + toString(this)) + "_fee"))
9+
10+let oldEggAssetId = base58'JCGDtrVy64cCJ1wCKfCaiNQMnyYwii71TbE5QeAHfxgF'
11+
12+let swapEggDappAddress = addressFromStringValue("3PJQUUiJdvz9etUKED9ju7o7VrcNMtnkXBU")
13+
14+let kTotalLiquidity = "total_liquidity"
15+
16+let kInitialized = "INITIALIZED"
17+
18+let kLiquidityThreshold = "LIQUIDITY_THRESHOLD"
19+
20+let kFarmParticipants = "farm_participants"
21+
22+let kTotalShareTokens = "total_share_tokens"
23+
24+let kShareAssetId = "SHARE_ASSET_ID"
25+
26+let kIncubatorDapp = "INCUBATOR_DAPP"
27+
28+let kBreederDapp = "BREEDER_DAPP"
29+
30+let kFarmingDapp = "FARMING_DAPP"
31+
32+let kMarketProxyDapp = "MARKETPLACE_PROXY_DAPP"
33+
34+let kAuctionDapp = "AUCTION_DAPP"
35+
36+let kLocked = "LOCKED"
37+
38+let kTotalFarmingReward = "total_farming_reward"
39+
40+let kCeoCollectedFee = "ceo_collected_fee"
41+
42+let kCeoCollectedFeeOverall = "ceo_fee_overall"
43+
44+let kToDistr = "to_distribute"
45+
46+let kUnstakedReward = "unstaked_reward"
47+
48+let kLockedInvestments = "locked_investments"
49+
50+func getInt (key) = match getInteger(this, key) {
51+ case b: Int =>
52+ b
53+ case _ =>
54+ 0
55+}
56+
57+
58+func getStr (key) = match getString(this, key) {
59+ case b: String =>
60+ b
61+ case _ =>
62+ ""
63+}
64+
65+
66+func getBool (key) = match getBoolean(this, key) {
67+ case b: Boolean =>
68+ b
69+ case _ =>
70+ unit
71+}
72+
73+
74+func getStrA (a,k) = match getString(a, k) {
75+ case b: String =>
76+ b
77+ case _ =>
78+ ""
79+}
80+
81+
82+func getIntA (address,key) = match getInteger(address, key) {
83+ case b: Int =>
84+ b
85+ case _ =>
86+ 0
87+}
88+
89+
90+func getMarketProxyAddr () = getStrA(mAccAddr, kMarketProxyDapp)
91+
92+
93+func getEggId () = fromBase58String(getStringValue(mAccAddr, "EGG_ASSET_ID"))
94+
95+
96+func getShareAssetId () = fromBase58String(getStr(kShareAssetId))
97+
98+
99+@Callable(i)
100+func initCollectiveFarm (name,minimumThreshold) = if ((i.callerPublicKey != mAccPKey))
101+ then throw("_1")
102+ else if ((getBool(kInitialized) != unit))
103+ then throw("_2")
104+ else if (if ((i.payments[0].amount != (10 * 1000000)))
105+ then true
106+ else (i.payments[0].assetId != getEggId()))
107+ then throw("_20")
108+ else {
109+ let shareTokens = 10000000
110+ let shareToken = Issue(name, (("Share token for the \"" + name) + "\" collective farm"), shareTokens, 8, true)
111+[StringEntry(kShareAssetId, toBase58String(calculateAssetId(shareToken))), BooleanEntry(kInitialized, true), IntegerEntry(kTotalLiquidity, 10), IntegerEntry(kTotalShareTokens, shareTokens), shareToken, ScriptTransfer(i.caller, shareTokens, calculateAssetId(shareToken)), BooleanEntry(kLocked, false), IntegerEntry(kLiquidityThreshold, minimumThreshold)]
112+ }
113+
114+
115+
116+@Callable(i)
117+func setLock (s) = if ((i.callerPublicKey != mAccPKey))
118+ then throw("_21")
119+ else [BooleanEntry(kLocked, s)]
120+
121+
122+
123+@Callable(i)
124+func lockInvestments () = if ((i.caller != this))
125+ then throw("You cannot lock this contract")
126+ else [BooleanEntry(kLockedInvestments, true)]
127+
128+
129+
130+@Callable(i)
131+func unlockInvestments () = if ((i.caller != this))
132+ then throw("You cannot lock this contract")
133+ else [BooleanEntry(kLockedInvestments, false)]
134+
135+
136+
137+@Callable(i)
138+func provideLiquidity () = {
139+ let eggAssetId = getEggId()
140+ if ((getBool(kLockedInvestments) == true))
141+ then throw("Contract is locked for investments by it's CEO. Please invest in another collective farm.")
142+ else if ((getBool(kLocked) == true))
143+ then throw("_22")
144+ else if ((i.payments[0].assetId != eggAssetId))
145+ then throw("_4")
146+ else if ((1000000 > i.payments[0].amount))
147+ then throw("Min amount to invest is 0.01 EGG")
148+ else {
149+ let totalLiquidity = getInt(kTotalLiquidity)
150+ let totalShareTokens = getInt(kTotalShareTokens)
151+ let shareTokensToGive = i.payments[0].amount
152+ let shareTokensId = fromBase58String(getStr(kShareAssetId))
153+ let reissue = Reissue(getShareAssetId(), shareTokensToGive, true)
154+ let farmParticipants = getInt(kFarmParticipants)
155+ let kParticipated = (("account_" + toString(i.caller)) + "_participated")
156+ let alreadyParticipated = getBool(kParticipated)
157+ let newFarmParticipants = if ((alreadyParticipated == unit))
158+ then (farmParticipants + 1)
159+ else farmParticipants
160+[reissue, ScriptTransfer(i.caller, shareTokensToGive, shareTokensId), IntegerEntry(kTotalShareTokens, (totalShareTokens + shareTokensToGive)), IntegerEntry(kTotalLiquidity, (totalLiquidity + (value(i.payments[0].amount) / 1000000))), IntegerEntry(kFarmParticipants, newFarmParticipants), BooleanEntry(kParticipated, true)]
161+ }
162+ }
163+
164+
165+
166+@Callable(i)
167+func claimFarmingRewardProxy (ids) = if ((i.callerPublicKey != mAccPKey))
168+ then throw("_23")
169+ else {
170+ let farmingDapp = addressFromStringValue(getStrA(mAccAddr, kFarmingDapp))
171+ func claimReward (accum,nftId) = {
172+ let invRes = invoke(farmingDapp, "claimReward", [nftId], nil)
173+ if ((invRes == invRes))
174+ then match invRes {
175+ case int: Int =>
176+ (accum + int)
177+ case _ =>
178+ throw("_5")
179+ }
180+ else throw("Strict value is not equal to itself.")
181+ }
182+
183+ let nftIds = split(ids, ";")
184+ let foldResult = {
185+ let $l = nftIds
186+ let $s = size($l)
187+ let $acc0 = 0
188+ func 1 ($a,$i) = if (($i >= $s))
189+ then $a
190+ else claimReward($a, $l[$i])
191+
192+ func 2 ($a,$i) = if (($i >= $s))
193+ then $a
194+ else throw("List size exceeds 10")
195+
196+ 2(1(1(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
197+ }
198+ let claimedReward = match foldResult {
199+ case int: Int =>
200+ int
201+ case _ =>
202+ throw("_6")
203+ }
204+ let farmCeoFeeSize = fraction(claimedReward, feePercent, 100)
205+ let toDistr = getInt(kToDistr)
206+ let totalFarmingReward = getInt(kTotalFarmingReward)
207+ let currentCeoFee = getInt(kCeoCollectedFee)
208+ let ceoFeeOverall = getInt(kCeoCollectedFeeOverall)
209+[IntegerEntry(kTotalFarmingReward, ((totalFarmingReward + claimedReward) - farmCeoFeeSize)), IntegerEntry(kToDistr, ((toDistr + claimedReward) - farmCeoFeeSize)), IntegerEntry(kCeoCollectedFee, (currentCeoFee + farmCeoFeeSize)), IntegerEntry(kCeoCollectedFeeOverall, (ceoFeeOverall + farmCeoFeeSize))]
210+ }
211+
212+
213+
214+@Callable(i)
215+func claimCeoFee (address) = if ((getBool(kLocked) == true))
216+ then throw("_22")
217+ else if ((i.caller == this))
218+ then {
219+ let currentCeoCollectedFee = getInt(kCeoCollectedFee)
220+[ScriptTransfer(addressFromStringValue(address), currentCeoCollectedFee, getEggId()), IntegerEntry(kCeoCollectedFee, 0)]
221+ }
222+ else throw("_8")
223+
224+
225+
226+@Callable(i)
227+func startLiquidation (auctionId) = throw("_7")
228+
229+
230+
231+@Callable(i)
232+func voteForLiquidation (auctionId) = throw("_7")
233+
234+
235+
236+@Callable(i)
237+func callUnstakeProxy (function,assetId) = if ((getBool(kLocked) == true))
238+ then throw("Contract is locked now")
239+ else if (if ((function != "unstakeNFT"))
240+ then (function != "unstakeJackpot")
241+ else false)
242+ then throw("Bad function name")
243+ else if ((i.caller != this))
244+ then throw("Can be called only by the account")
245+ else {
246+ let farmingDappAddress = addressFromStringValue(getStrA(mAccAddr, "FARMING_DAPP"))
247+ let ustakedReward = invoke(farmingDappAddress, function, [assetId], nil)
248+ if ((ustakedReward == ustakedReward))
249+ then {
250+ let unstakedRewardNow = getInt(kUnstakedReward)
251+ let newUnstakedReward = match ustakedReward {
252+ case int: Int =>
253+ (unstakedRewardNow + int)
254+ case _ =>
255+ throw("Error during unstaking")
256+ }
257+ let currentCeoFee = getInt(kCeoCollectedFee)
258+ let ceoFeeOverall = getInt(kCeoCollectedFeeOverall)
259+ let farmCeoFeeSize = fraction(unstakedRewardNow, feePercent, 100)
260+[IntegerEntry(kCeoCollectedFee, (currentCeoFee + farmCeoFeeSize)), IntegerEntry(kCeoCollectedFeeOverall, (ceoFeeOverall + farmCeoFeeSize)), IntegerEntry(kUnstakedReward, newUnstakedReward)]
261+ }
262+ else throw("Strict value is not equal to itself.")
263+ }
264+
265+
266+
267+@Callable(i)
268+func revertTransfer (txId) = if ((getBool(kLocked) == true))
269+ then throw("Contract is locked now")
270+ else if ((i.caller != this))
271+ then throw("Can be called only by the account")
272+ else {
273+ let tx = value(transferTransactionById(fromBase58String(txId)))
274+ let kReverted = ("tx_revert_" + txId)
275+ let txReverted = getBool(kReverted)
276+ let unstakedRewardNow = getInt(kUnstakedReward)
277+ let toDistr = getInt(kToDistr)
278+ let minBalance = (unstakedRewardNow + toDistr)
279+ let currentEggBalance = assetBalance(this, getEggId())
280+ let result = [ScriptTransfer(tx.sender, tx.amount, tx.assetId), BooleanEntry(kReverted, true)]
281+ if ((txReverted == true))
282+ then throw("Tx already reverted")
283+ else if ((tx.recipient != this))
284+ then throw("Tx recipient is another account")
285+ else if ((tx.assetId == getShareAssetId()))
286+ then result
287+ else if ((tx.assetId != getEggId()))
288+ then throw("Transaction is not with EGG or share tokens")
289+ else if ((minBalance > (currentEggBalance - tx.amount)))
290+ then throw("Revert makes balance too low")
291+ else result
292+ }
293+
294+
295+
296+@Callable(i)
297+func distributeRewards (addresses,totalShareTokens,totalRewardToDistribute) = if ((i.caller != mAccAddr))
298+ then throw("Method can be called only by master account")
299+ else {
300+ let addressPairs = split(addresses, ";")
301+ func processAddress (accum,addressPair) = {
302+ let addressParts = split(addressPair, "=")
303+ let addressStr = addressParts[0]
304+ let address = addressFromStringValue(addressStr)
305+ let userShareTokens = parseIntValue(addressParts[1])
306+ let kAddrEarned = (("address_" + addressStr) + "_total_earned")
307+ let addrTotalEarned = getInt(kAddrEarned)
308+ let userRewardNow = fraction(totalRewardToDistribute, userShareTokens, totalShareTokens)
309+ let res = [IntegerEntry(kAddrEarned, (addrTotalEarned + userRewardNow)), IntegerEntry(((("address_" + addressStr) + "_reward_") + toString(lastBlock.timestamp)), userRewardNow), ScriptTransfer(address, userRewardNow, getEggId())]
310+ $Tuple2((accum._1 + userRewardNow), (accum._2 ++ res))
311+ }
312+
313+ let result = {
314+ let $l = addressPairs
315+ let $s = size($l)
316+ let $acc0 = $Tuple2(0, nil)
317+ func 1 ($a,$i) = if (($i >= $s))
318+ then $a
319+ else processAddress($a, $l[$i])
320+
321+ func 2 ($a,$i) = if (($i >= $s))
322+ then $a
323+ else throw("List size exceeds 20")
324+
325+ 2(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
326+ }
327+ let toDistr = getInt(kToDistr)
328+ (result._2 ++ [IntegerEntry(kToDistr, (toDistr - result._1)), IntegerEntry(kUnstakedReward, 0)])
329+ }
330+
331+
332+@Verifier(tx)
333+func verify () = {
334+ let checkStarted = (getInt(kTotalLiquidity) >= getInt(kLiquidityThreshold))
335+ func totalEggSpending (accum,payment) = if ((payment.assetId == getEggId()))
336+ then (accum + payment.amount)
337+ else accum
338+
339+ match tx {
340+ case inv: InvokeScriptTransaction =>
341+ let unstakedRewardNow = getInt(kUnstakedReward)
342+ let toDistr = getInt(kToDistr)
343+ let minBalance = (unstakedRewardNow + toDistr)
344+ if (if ((inv.function == "unstakeNFT"))
345+ then true
346+ else (inv.function == "unstakeJackpot"))
347+ then throw("You cannot call these functions directly")
348+ else if ((sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) == false))
349+ then throw("_100")
350+ else if ((checkStarted == false))
351+ then throw("_14")
352+ else if ((getBool(kLocked) == true))
353+ then throw("_22")
354+ else if (if ((inv.fee > 900000))
355+ then true
356+ else (inv.feeAssetId != unit))
357+ then throw("_15")
358+ else if ((inv.function == "claimReward"))
359+ then throw("_16")
360+ else if ((size(inv.payments) > 2))
361+ then throw("_17")
362+ else if ((minBalance > ((assetBalance(this, getEggId()) - {
363+ let $l = inv.payments
364+ let $s = size($l)
365+ let $acc0 = 0
366+ func 1 ($a,$i) = if (($i >= $s))
367+ then $a
368+ else totalEggSpending($a, $l[$i])
369+
370+ func 2 ($a,$i) = if (($i >= $s))
371+ then $a
372+ else throw("List size exceeds 3")
373+
374+ 2(1(1(1($acc0, 0), 1), 2), 3)
375+ }) * 1000000)))
376+ then throw(("Your minimal balance should be = " + toString(minBalance)))
377+ else if (if ((addressFromRecipient(inv.dApp) == this))
378+ then (inv.function == "callUnstakeProxy")
379+ else false)
380+ then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
381+ else if (if ((addressFromRecipient(inv.dApp) == this))
382+ then (inv.function == "revertTransfer")
383+ else false)
384+ then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
385+ else if (if ((addressFromRecipient(inv.dApp) == this))
386+ then (inv.function == "claimCeoFee")
387+ else false)
388+ then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
389+ else if (if ((addressFromRecipient(inv.dApp) == this))
390+ then if ((inv.function == "lockInvestments"))
391+ then true
392+ else (inv.function == "unlockInvestments")
393+ else false)
394+ then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
395+ else if (if ((addressFromRecipient(inv.dApp) == addressFromStringValue(getMarketProxyAddr())))
396+ then (inv.function == "callMarketplaceProxy")
397+ else false)
398+ then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
399+ else {
400+ let allowedContracts = getStrA(mAccAddr, "allowed_contracts")
401+ let allowedContractsList = split(allowedContracts, ";")
402+ let dappToCall = toString(addressFromRecipient(inv.dApp))
403+ (indexOf(allowedContractsList, dappToCall) != unit)
404+ }
405+ case ss: SetScriptTransaction =>
406+ sigVerify(tx.bodyBytes, tx.proofs[0], mAccPKey)
407+ case mt: MassTransferTransaction =>
408+ sigVerify(tx.bodyBytes, tx.proofs[0], mAccPKey)
409+ case _ =>
410+ false
411+ }
412+ }
413+

github/deemru/w8io/0e76f2f 
39.03 ms