tx · HsyozYpHZEw3NeTGADFevNPrB8jvxDvVm5Z7Se54W9DN

3P94jwfaQAm4BEWsBmHV96kBKTf7dp2FHJV:  -0.01400000 Waves

2022.02.10 19:26 [2982807] smart account 3P94jwfaQAm4BEWsBmHV96kBKTf7dp2FHJV > SELF 0.00000000 Waves

{ "type": 13, "id": "HsyozYpHZEw3NeTGADFevNPrB8jvxDvVm5Z7Se54W9DN", "fee": 1400000, "feeAssetId": null, "timestamp": 1644510411687, "version": 2, "chainId": 87, "sender": "3P94jwfaQAm4BEWsBmHV96kBKTf7dp2FHJV", "senderPublicKey": "6HjLbzFRX5FMz1dZTZXRyuxLowVZWST62XbVCv6GtLu4", "proofs": [ "2Zcg5MrvFHPCNKPG9fdDL4NYdwibPc1vPmaCfSkstDDbdaVyPSRVbc79xZfq4fEbSPJfKNC6avvC6nerQVGhMbYv" ], "script": "base64:AAIFAAAAAAAAAD4IAhIDCgEIEgMKAQESCAoGCAEEAQEBEgMKAQQSABIAEgASAwoBCBIGCgQICAEBEgMKAQgSAwoBCBIECgIICAAAAB8AAAAAC2tleU1BY2NQS2V5AgAAAAltYXN0ZXJfcGsBAAAABmdldFN0cgAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiAgAAAAAAAAAADm1BY2NQS2V5U3RyaW5nCQEAAAAGZ2V0U3RyAAAAAQUAAAALa2V5TUFjY1BLZXkAAAAACG1BY2NQS2V5CQACWQAAAAEFAAAADm1BY2NQS2V5U3RyaW5nAAAAAAhtQWNjQWRkcgkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAAIbUFjY1BLZXkAAAAACmZlZVBlcmNlbnQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAACG1BY2NBZGRyCQABLAAAAAIJAAEsAAAAAgIAAAACZl8JAAQlAAAAAQUAAAAEdGhpcwIAAAAEX2ZlZQAAAAAOc3Rha2luZ0FkZHJlc3MJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAhtQWNjQWRkcgkAASwAAAACCQABLAAAAAICAAAAAmZfCQAEJQAAAAEFAAAABHRoaXMCAAAADl9zdGFrZV9hZGRyZXNzCQABLAAAAAIJAAEsAAAAAgIAAAACZl8JAAQlAAAAAQUAAAAEdGhpcwIAAAAaX3N0YWtlX2FkZHJlc3Mgbm90IGRlZmluZWQAAAAAD2tUb3RhbExpcXVpZGl0eQIAAAAPdG90YWxfbGlxdWlkaXR5AAAAAAxrSW5pdGlhbGl6ZWQCAAAAC0lOSVRJQUxJWkVEAAAAABNrTGlxdWlkaXR5VGhyZXNob2xkAgAAABNMSVFVSURJVFlfVEhSRVNIT0xEAAAAABNrVG90YWxGYXJtaW5nUmV3YXJkAgAAABR0b3RhbF9mYXJtaW5nX3Jld2FyZAAAAAANa1NoYXJlQXNzZXRJZAIAAAAOU0hBUkVfQVNTRVRfSUQAAAAADmtJbmN1YmF0b3JEYXBwAgAAAA5JTkNVQkFUT1JfREFQUAAAAAAMa0JyZWVkZXJEYXBwAgAAAAxCUkVFREVSX0RBUFAAAAAADGtGYXJtaW5nRGFwcAIAAAAMRkFSTUlOR19EQVBQAAAAABBrTWFya2V0UHJveHlEYXBwAgAAABZNQVJLRVRQTEFDRV9QUk9YWV9EQVBQAAAAAAxrQXVjdGlvbkRhcHACAAAADEFVQ1RJT05fREFQUAAAAAAHa0xvY2tlZAIAAAAGTE9DS0VEAAAAABBrQ2VvQ29sbGVjdGVkRmVlAgAAABFjZW9fY29sbGVjdGVkX2ZlZQAAAAAXa0Nlb0NvbGxlY3RlZEZlZU92ZXJhbGwCAAAAD2Nlb19mZWVfb3ZlcmFsbAAAAAASa0xvY2tlZEludmVzdG1lbnRzAgAAABJsb2NrZWRfaW52ZXN0bWVudHMAAAAAEGtleVRvdGFsQ29tcG91bmQCAAAADnRvdGFsX2NvbXBvdW5kAAAAAA9rZXlHbG9iYWxTdGFrZWQCAAAADWdsb2JhbF9zdGFrZWQBAAAABmdldEludAAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiAAAAAAAAAAAAAQAAAAdnZXRCb29sAAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQbAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAdCb29sZWFuBAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiBQAAAAR1bml0AQAAAAdnZXRTdHJBAAAAAgAAAAFhAAAAAWsEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAABYQUAAAABawMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiAgAAAAABAAAAB2dldEludEEAAAACAAAAB2FkZHJlc3MAAAADa2V5BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAAB2FkZHJlc3MFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiAAAAAAAAAAAAAQAAABJnZXRNYXJrZXRQcm94eUFkZHIAAAAACQEAAAAHZ2V0U3RyQQAAAAIFAAAACG1BY2NBZGRyBQAAABBrTWFya2V0UHJveHlEYXBwAQAAAAhnZXRFZ2dJZAAAAAAJAAJZAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAIbUFjY0FkZHICAAAADEVHR19BU1NFVF9JRAEAAAAPZ2V0U2hhcmVBc3NldElkAAAAAAkAAlkAAAABCQEAAAAGZ2V0U3RyAAAAAQUAAAANa1NoYXJlQXNzZXRJZAEAAAAFYXNJbnQAAAABAAAABXZhbHVlBAAAAAckbWF0Y2gwBQAAAAV2YWx1ZQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAANpbnQFAAAAByRtYXRjaDAFAAAAA2ludAkAAAIAAAABAgAAABl3cm9uZyB0eXBlLCBleHBlY3RlZDogSW50AAAADAAAAAFpAQAAAA1pbml0TWFzdGVyS2V5AAAAAQAAAAlwdWJsaWNLZXkDCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABHRoaXMJAAACAAAAAQIAAAAZWW91IGNhbm5vdCBkbyB0aGlzIGFjdGlvbgMJAQAAAAIhPQAAAAIFAAAADm1BY2NQS2V5U3RyaW5nAgAAAAAJAAACAAAAAQIAAAAyTWFzdGVyIHB1YmxpYyBrZXkgYWxyZWFkeSBzZXQsIHlvdSBjYW4ndCBvdmVycmlkZSEJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAALa2V5TUFjY1BLZXkFAAAACXB1YmxpY0tleQUAAAADbmlsAAAAAWkBAAAAHmNhbGN1bGF0ZUNvbXBvdW5kU2hhcmVBbmRJc3N1ZQAAAAEAAAAGYW1vdW50AwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzCQAAAgAAAAECAAAAGVlvdSBjYW5ub3QgZG8gdGhpcyBhY3Rpb24DCQAAAAAAAAIJAQAAAAdnZXRCb29sAAAAAQUAAAASa0xvY2tlZEludmVzdG1lbnRzBgkABRQAAAACBQAAAANuaWwAAAAAAAAAAAAEAAAADHNoYXJlQXNzZXRJZAkBAAAAD2dldFNoYXJlQXNzZXRJZAAAAAAEAAAADXRvdGFsQ29tcG91bmQJAQAAAAdnZXRJbnRBAAAAAgUAAAAOc3Rha2luZ0FkZHJlc3MFAAAAEGtleVRvdGFsQ29tcG91bmQEAAAAC3RvdGFsU3Rha2VkCQEAAAAHZ2V0SW50QQAAAAIFAAAADnN0YWtpbmdBZGRyZXNzBQAAAA9rZXlHbG9iYWxTdGFrZWQEAAAAC3RvdGFsTG9ja2VkCQAAZAAAAAIFAAAAC3RvdGFsU3Rha2VkBQAAAA10b3RhbENvbXBvdW5kBAAAABFhbW91bnRGb3JDb21wb3VuZAkAAGsAAAADBQAAAAZhbW91bnQFAAAADXRvdGFsQ29tcG91bmQFAAAAC3RvdGFsTG9ja2VkCQAFFAAAAAIJAARMAAAAAgkBAAAAB1JlaXNzdWUAAAADBQAAAAxzaGFyZUFzc2V0SWQFAAAAEWFtb3VudEZvckNvbXBvdW5kBgUAAAADbmlsBQAAABFhbW91bnRGb3JDb21wb3VuZAAAAAFpAQAAABJpbml0Q29sbGVjdGl2ZUZhcm0AAAAGAAAABG5hbWUAAAAQbWluaW11bVRocmVzaG9sZAAAAAltaWdyYXRpb24AAAASdG90YWxGYXJtaW5nUmV3YXJkAAAADnRvdGFsTGlxdWlkaXR5AAAADnRvdGFsRmFybVRva2VuAwkAAAAAAAACBQAAAA5tQWNjUEtleVN0cmluZwIAAAAACQAAAgAAAAECAAAAJEZpcnN0IGluaXRpYXRpZSBhIG1hc3RlciBwdWJsaWMga2V5IQMJAQAAAAIhPQAAAAIIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQUAAAAIbUFjY1BLZXkJAAACAAAAAQIAAAACXzEDCQEAAAACIT0AAAACCQEAAAAHZ2V0Qm9vbAAAAAEFAAAADGtJbml0aWFsaXplZAUAAAAEdW5pdAkAAAIAAAABAgAAAAJfMgMDCQAAAAAAAAIFAAAACW1pZ3JhdGlvbgcDCQEAAAACIT0AAAACCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQAAAAAAACYloAGCQEAAAACIT0AAAACCAkAAZEAAAACCAUAAAABaQAA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dmVyYWxsCQEAAAAGZ2V0SW50AAAAAQUAAAAXa0Nlb0NvbGxlY3RlZEZlZU92ZXJhbGwEAAAADmZhcm1DZW9GZWVTaXplCQAAawAAAAMFAAAABnJld2FyZAUAAAAKZmVlUGVyY2VudAAAAAAAAAAAZAQAAAALYW1vdW50VG9QYXkJAABlAAAAAgUAAAAGcmV3YXJkBQAAAA5mYXJtQ2VvRmVlU2l6ZQQAAAARYW1vdW50Q29tcG9udENhbGwJAAP8AAAABAUAAAAEdGhpcwIAAAAeY2FsY3VsYXRlQ29tcG91bmRTaGFyZUFuZElzc3VlCQAETAAAAAIFAAAAC2Ftb3VudFRvUGF5BQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAARYW1vdW50Q29tcG9udENhbGwFAAAAEWFtb3VudENvbXBvbnRDYWxsBAAAAA5hbW91bnRDb21wb3VuZAkBAAAABWFzSW50AAAAAQkAA/wAAAAEBQAAAAR0aGlzAgAAAB5jYWxjdWxhdGVDb21wb3VuZFNoYXJlQW5kSXNzdWUJAARMAAAAAgUAAAALYW1vdW50VG9QYXkFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAA5hbW91bnRDb21wb3VuZAUAAAAOYW1vdW50Q29tcG91bmQEAAAABXRvcFVwCQAD/AAAAAQFAAAADnN0YWtpbmdBZGRyZXNzAgAAAAt0b3BVcFJld2FyZAUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACBQAAAAplZ2dBc3NldElkCQAAZQAAAAIFAAAAC2Ftb3VudFRvUGF5BQAAAA5hbW91bnRDb21wb3VuZAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAAMc2hhcmVBc3NldElkBQAAAA5hbW91bnRDb21wb3VuZAUAAAADbmlsAwkAAAAAAAACBQAAAAV0b3BVcAUAAAAFdG9wVXAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEGtDZW9Db2xsZWN0ZWRGZWUJAABkAAAAAgUAAAANY3VycmVudENlb0ZlZQUAAAAOZmFybUNlb0ZlZVNpemUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAF2tDZW9Db2xsZWN0ZWRGZWVPdmVyYWxsCQAAZAAAAAIFAAAADWNlb0ZlZU92ZXJhbGwFAAAADmZhcm1DZW9GZWVTaXplBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAQAAAAMY2hlY2tTdGFydGVkCQAAZwAAAAIJAQAAAAZnZXRJbnQAAAABBQAAAA9rVG90YWxMaXF1aWRpdHkJAQAAAAZnZXRJbnQAAAABBQAAABNrTGlxdWlkaXR5VGhyZXNob2xkBAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAXSW52b2tlU2NyaXB0VHJhbnNhY3Rpb24EAAAAA2ludgUAAAAHJG1hdGNoMAQAAAAUYWNjZXB0ZWRDYWxsc1N0YWtpbmcJAARMAAAAAgIAAAAPc3Rha2VGYXJtVG9rZW5zCQAETAAAAAICAAAAC2NsYWltUmV3YXJkCQAETAAAAAICAAAAEndpdGhkcmF3RmFybVRva2VucwUAAAADbmlsBAAAABFhY2NlcHRlZENhbGxzVGhpcwkABEwAAAACAgAAABBjYWxsVW5zdGFrZVByb3h5CQAETAAAAAICAAAAC2NsYWltQ2VvRmVlCQAETAAAAAICAAAAD2xvY2tJbnZlc3RtZW50cwkABEwAAAACAgAAABF1bmxvY2tJbnZlc3RtZW50cwUAAAADbmlsAwMJAAAAAAAAAggFAAAAA2ludgAAAAhmdW5jdGlvbgIAAAAKdW5zdGFrZU5GVAYJAAAAAAAAAggFAAAAA2ludgAAAAhmdW5jdGlvbgIAAAAOdW5zdGFrZUphY2twb3QJAAACAAAAAQIAAAAoWW91IGNhbm5vdCBjYWxsIHRoZXNlIGZ1bmN0aW9ucyBkaXJlY3RseQMDAwkAAAAAAAACCQAEJAAAAAEIBQAAAANpbnYAAAAEZEFwcAUAAAAEdGhpcwkAAAAAAAACCAUAAAADaW52AAAACGZ1bmN0aW9uAgAAAA1pbml0TWFzdGVyS2V5BwkAAAAAAAACBQAAAA5tQWNjUEtleVN0cmluZwIAAAAABwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkDCQAAAAAAAAIJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5BwkAAAIAAAABAgAAAARfMTAwAwkAAAAAAAACBQAAAAxjaGVja1N0YXJ0ZWQHCQAAAgAAAAECAAAAA18xNAMJAAAAAAAAAgkBAAAAB2dldEJvb2wAAAABBQAAAAdrTG9ja2VkBgkAAAIAAAABAgAAAANfMjIDAwkAAGYAAAACCAUAAAADaW52AAAAA2ZlZQAAAAAAAA27oAYJAQAAAAIhPQAAAAIIBQAAAANpbnYAAAAKZmVlQXNzZXRJZAUAAAAEdW5pdAkAAAIAAAABAgAAAANfMTUDCQAAZgAAAAIJAAGQAAAAAQgFAAAAA2ludgAAAAhwYXltZW50cwAAAAAAAAAAAgkAAAIAAAABAgAAAANfMTcDAwkAAAAAAAACCQAEJAAAAAEIBQAAAANpbnYAAAAEZEFwcAUAAAAEdGhpcwkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIFAAAAEWFjY2VwdGVkQ2FsbHNUaGlzCAUAAAADaW52AAAACGZ1bmN0aW9uBwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkDAwkAAAAAAAACCQAEJAAAAAEIBQAAAANpbnYAAAAEZEFwcAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkBAAAAEmdldE1hcmtldFByb3h5QWRkcgAAAAAJAAAAAAAAAggFAAAAA2ludgAAAAhmdW5jdGlvbgIAAAAUY2FsbE1hcmtldHBsYWNlUHJveHkHCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleQMDCQAAAAAAAAIJAAQkAAAAAQgFAAAAA2ludgAAAARkQXBwBQAAAA5zdGFraW5nQWRkcmVzcwkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIFAAAAFGFjY2VwdGVkQ2FsbHNTdGFraW5nCAUAAAADaW52AAAACGZ1bmN0aW9uBwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkEAAAAEGFsbG93ZWRDb250cmFjdHMJAQAAAAdnZXRTdHJBAAAAAgUAAAAIbUFjY0FkZHICAAAAEWFsbG93ZWRfY29udHJhY3RzBAAAABRhbGxvd2VkQ29udHJhY3RzTGlzdAkABLUAAAACBQAAABBhbGxvd2VkQ29udHJhY3RzAgAAAAE7BAAAAApkYXBwVG9DYWxsCQAEJQAAAAEJAAQkAAAAAQgFAAAAA2ludgAAAARkQXBwCQEAAAACIT0AAAACCQAETwAAAAIFAAAAFGFsbG93ZWRDb250cmFjdHNMaXN0BQAAAApkYXBwVG9DYWxsBQAAAAR1bml0AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABRTZXRTY3JpcHRUcmFuc2FjdGlvbgQAAAACc3MFAAAAByRtYXRjaDAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAABQAAAAhtQWNjUEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAXTWFzc1RyYW5zZmVyVHJhbnNhY3Rpb24EAAAAAm10BQAAAAckbWF0Y2gwCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAUAAAAIbUFjY1BLZXkHsjLMiA==", "height": 2982807, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Br2vRBtymh2xhrzVbkVWiN5vPycuGRcBys6YDaDxTgRv Next: none Diff:
OldNewDifferences
134134 then throw("_1")
135135 else if ((getBool(kInitialized) != unit))
136136 then throw("_2")
137- else if (if (if ((i.payments[0].amount != 10000000))
138- then true
139- else (i.payments[0].assetId != getEggId()))
140- then (migration == false)
137+ else if (if ((migration == false))
138+ then if ((i.payments[0].amount != 10000000))
139+ then true
140+ else (i.payments[0].assetId != getEggId())
141141 else false)
142142 then throw("_20")
143143 else {
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let keyMAccPKey = "master_pk"
55
66 func getStr (key) = match getString(this, key) {
77 case b: String =>
88 b
99 case _ =>
1010 ""
1111 }
1212
1313
1414 let mAccPKeyString = getStr(keyMAccPKey)
1515
1616 let mAccPKey = fromBase58String(mAccPKeyString)
1717
1818 let mAccAddr = addressFromPublicKey(mAccPKey)
1919
2020 let feePercent = getIntegerValue(mAccAddr, (("f_" + toString(this)) + "_fee"))
2121
2222 let stakingAddress = addressFromStringValue(valueOrErrorMessage(getString(mAccAddr, (("f_" + toString(this)) + "_stake_address")), (("f_" + toString(this)) + "_stake_address not defined")))
2323
2424 let kTotalLiquidity = "total_liquidity"
2525
2626 let kInitialized = "INITIALIZED"
2727
2828 let kLiquidityThreshold = "LIQUIDITY_THRESHOLD"
2929
3030 let kTotalFarmingReward = "total_farming_reward"
3131
3232 let kShareAssetId = "SHARE_ASSET_ID"
3333
3434 let kIncubatorDapp = "INCUBATOR_DAPP"
3535
3636 let kBreederDapp = "BREEDER_DAPP"
3737
3838 let kFarmingDapp = "FARMING_DAPP"
3939
4040 let kMarketProxyDapp = "MARKETPLACE_PROXY_DAPP"
4141
4242 let kAuctionDapp = "AUCTION_DAPP"
4343
4444 let kLocked = "LOCKED"
4545
4646 let kCeoCollectedFee = "ceo_collected_fee"
4747
4848 let kCeoCollectedFeeOverall = "ceo_fee_overall"
4949
5050 let kLockedInvestments = "locked_investments"
5151
5252 let keyTotalCompound = "total_compound"
5353
5454 let keyGlobalStaked = "global_staked"
5555
5656 func getInt (key) = match getInteger(this, key) {
5757 case b: Int =>
5858 b
5959 case _ =>
6060 0
6161 }
6262
6363
6464 func getBool (key) = match getBoolean(this, key) {
6565 case b: Boolean =>
6666 b
6767 case _ =>
6868 unit
6969 }
7070
7171
7272 func getStrA (a,k) = match getString(a, k) {
7373 case b: String =>
7474 b
7575 case _ =>
7676 ""
7777 }
7878
7979
8080 func getIntA (address,key) = match getInteger(address, key) {
8181 case b: Int =>
8282 b
8383 case _ =>
8484 0
8585 }
8686
8787
8888 func getMarketProxyAddr () = getStrA(mAccAddr, kMarketProxyDapp)
8989
9090
9191 func getEggId () = fromBase58String(getStringValue(mAccAddr, "EGG_ASSET_ID"))
9292
9393
9494 func getShareAssetId () = fromBase58String(getStr(kShareAssetId))
9595
9696
9797 func asInt (value) = match value {
9898 case int: Int =>
9999 int
100100 case _ =>
101101 throw("wrong type, expected: Int")
102102 }
103103
104104
105105 @Callable(i)
106106 func initMasterKey (publicKey) = if ((i.caller != this))
107107 then throw("You cannot do this action")
108108 else if ((mAccPKeyString != ""))
109109 then throw("Master public key already set, you can't override!")
110110 else [StringEntry(keyMAccPKey, publicKey)]
111111
112112
113113
114114 @Callable(i)
115115 func calculateCompoundShareAndIssue (amount) = if ((i.caller != this))
116116 then throw("You cannot do this action")
117117 else if ((getBool(kLockedInvestments) == true))
118118 then $Tuple2(nil, 0)
119119 else {
120120 let shareAssetId = getShareAssetId()
121121 let totalCompound = getIntA(stakingAddress, keyTotalCompound)
122122 let totalStaked = getIntA(stakingAddress, keyGlobalStaked)
123123 let totalLocked = (totalStaked + totalCompound)
124124 let amountForCompound = fraction(amount, totalCompound, totalLocked)
125125 $Tuple2([Reissue(shareAssetId, amountForCompound, true)], amountForCompound)
126126 }
127127
128128
129129
130130 @Callable(i)
131131 func initCollectiveFarm (name,minimumThreshold,migration,totalFarmingReward,totalLiquidity,totalFarmToken) = if ((mAccPKeyString == ""))
132132 then throw("First initiatie a master public key!")
133133 else if ((i.callerPublicKey != mAccPKey))
134134 then throw("_1")
135135 else if ((getBool(kInitialized) != unit))
136136 then throw("_2")
137- else if (if (if ((i.payments[0].amount != 10000000))
138- then true
139- else (i.payments[0].assetId != getEggId()))
140- then (migration == false)
137+ else if (if ((migration == false))
138+ then if ((i.payments[0].amount != 10000000))
139+ then true
140+ else (i.payments[0].assetId != getEggId())
141141 else false)
142142 then throw("_20")
143143 else {
144144 let shareTokens = if (migration)
145145 then totalFarmToken
146146 else 10000000
147147 let shareToken = Issue(name, (("Team token for the \"" + name) + "\" collective farm"), shareTokens, 8, true)
148148 let totLiquidity = if (migration)
149149 then totalLiquidity
150150 else 10000000
151151 let totFarmingReward = if (migration)
152152 then [IntegerEntry(kTotalFarmingReward, totalFarmingReward)]
153153 else nil
154154 ([StringEntry(kShareAssetId, toBase58String(calculateAssetId(shareToken))), BooleanEntry(kInitialized, true), IntegerEntry(kTotalLiquidity, totLiquidity), shareToken, ScriptTransfer(i.caller, shareTokens, calculateAssetId(shareToken)), BooleanEntry(kLocked, false), IntegerEntry(kLiquidityThreshold, minimumThreshold)] ++ totFarmingReward)
155155 }
156156
157157
158158
159159 @Callable(i)
160160 func setLock (s) = if ((i.callerPublicKey != mAccPKey))
161161 then throw("_21")
162162 else [BooleanEntry(kLocked, s)]
163163
164164
165165
166166 @Callable(i)
167167 func lockInvestments () = if ((i.caller != this))
168168 then throw("You cannot lock this contract")
169169 else [BooleanEntry(kLockedInvestments, true)]
170170
171171
172172
173173 @Callable(i)
174174 func unlockInvestments () = if ((i.caller != this))
175175 then throw("You cannot lock this contract")
176176 else [BooleanEntry(kLockedInvestments, false)]
177177
178178
179179
180180 @Callable(i)
181181 func provideLiquidity () = {
182182 let eggAssetId = getEggId()
183183 if ((getBool(kLockedInvestments) == true))
184184 then throw("Contract is locked for investments by it's CEO. Please invest in another collective farm.")
185185 else if ((getBool(kLocked) == true))
186186 then throw("_22")
187187 else if ((i.payments[0].assetId != eggAssetId))
188188 then throw("_4")
189189 else if ((1000000 > i.payments[0].amount))
190190 then throw("Min amount to invest is 0.01 EGG")
191191 else {
192192 let totalLiquidity = getInt(kTotalLiquidity)
193193 let shareTokensToGive = i.payments[0].amount
194194 let shareTokensId = fromBase58String(getStr(kShareAssetId))
195195 let reissue = Reissue(getShareAssetId(), shareTokensToGive, true)
196196 let kParticipated = (("account_" + toString(i.caller)) + "_participated")
197197 let alreadyParticipated = getBool(kParticipated)
198198 $Tuple2([reissue, ScriptTransfer(i.caller, shareTokensToGive, shareTokensId), IntegerEntry(kTotalLiquidity, (totalLiquidity + value(i.payments[0].amount))), BooleanEntry(kParticipated, true)], shareTokensToGive)
199199 }
200200 }
201201
202202
203203
204204 @Callable(i)
205205 func claimFarmingRewardProxy (ids) = if ((i.callerPublicKey != mAccPKey))
206206 then throw("_23")
207207 else {
208208 let eggAssetId = getEggId()
209209 let shareAssetId = getShareAssetId()
210210 let farmingDapp = addressFromStringValue(getStrA(mAccAddr, kFarmingDapp))
211211 func claimReward (accum,nftId) = {
212212 let invRes = invoke(farmingDapp, "claimReward", [nftId], nil)
213213 if ((invRes == invRes))
214214 then match invRes {
215215 case int: Int =>
216216 (accum + int)
217217 case _ =>
218218 throw("_5")
219219 }
220220 else throw("Strict value is not equal to itself.")
221221 }
222222
223223 let nftIds = split(ids, ";")
224224 let foldResult = {
225225 let $l = nftIds
226226 let $s = size($l)
227227 let $acc0 = 0
228228 func $f0_1 ($a,$i) = if (($i >= $s))
229229 then $a
230230 else claimReward($a, $l[$i])
231231
232232 func $f0_2 ($a,$i) = if (($i >= $s))
233233 then $a
234234 else throw("List size exceeds 10")
235235
236236 $f0_2($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)
237237 }
238238 let claimedReward = match foldResult {
239239 case int: Int =>
240240 int
241241 case _ =>
242242 throw("_6")
243243 }
244244 let totalFarmingReward = getInt(kTotalFarmingReward)
245245 let farmCeoFeeSize = fraction(claimedReward, feePercent, 100)
246246 let currentCeoFee = getInt(kCeoCollectedFee)
247247 let ceoFeeOverall = getInt(kCeoCollectedFeeOverall)
248248 let amountToPay = (claimedReward - farmCeoFeeSize)
249249 let amountCompound = asInt(invoke(this, "calculateCompoundShareAndIssue", [amountToPay], nil))
250250 if ((amountCompound == amountCompound))
251251 then {
252252 let topUp = invoke(stakingAddress, "topUpReward", nil, [AttachedPayment(eggAssetId, (amountToPay - amountCompound)), AttachedPayment(shareAssetId, amountCompound)])
253253 if ((topUp == topUp))
254254 then [IntegerEntry(kTotalFarmingReward, (totalFarmingReward + amountToPay)), IntegerEntry(kCeoCollectedFee, (currentCeoFee + farmCeoFeeSize)), IntegerEntry(kCeoCollectedFeeOverall, (ceoFeeOverall + farmCeoFeeSize))]
255255 else throw("Strict value is not equal to itself.")
256256 }
257257 else throw("Strict value is not equal to itself.")
258258 }
259259
260260
261261
262262 @Callable(i)
263263 func claimCeoFee (address1,address2,address1Share,address2Share) = if ((0 > address1Share))
264264 then throw("Share 1 can't be negative")
265265 else if ((0 > address2Share))
266266 then throw("Share 2 can't be negative")
267267 else if (((address1Share + address2Share) != 100))
268268 then throw("Sum of shares should be 100")
269269 else if ((getBool(kLocked) == true))
270270 then throw("_22")
271271 else if ((i.caller == this))
272272 then {
273273 let currentCeoCollectedFee = getInt(kCeoCollectedFee)
274274 let address1Reward = if ((address2 == ""))
275275 then currentCeoCollectedFee
276276 else fraction(currentCeoCollectedFee, address1Share, 100)
277277 let address2Reward = if ((address2 == ""))
278278 then 0
279279 else fraction(currentCeoCollectedFee, address2Share, 100)
280280 let scriptTransferAddress2 = if ((address2 == ""))
281281 then nil
282282 else [ScriptTransfer(addressFromStringValue(address2), address2Reward, getEggId())]
283283 (scriptTransferAddress2 ++ [ScriptTransfer(addressFromStringValue(address1), address1Reward, getEggId()), IntegerEntry(kCeoCollectedFee, 0)])
284284 }
285285 else throw("Only manager can call the contract")
286286
287287
288288
289289 @Callable(i)
290290 func startLiquidation (auctionId) = throw("_7")
291291
292292
293293
294294 @Callable(i)
295295 func voteForLiquidation (auctionId) = throw("_7")
296296
297297
298298
299299 @Callable(i)
300300 func callUnstakeProxy (function,assetId) = if ((getBool(kLocked) == true))
301301 then throw("Contract is locked now")
302302 else if (if ((function != "unstakeNFT"))
303303 then (function != "unstakeJackpot")
304304 else false)
305305 then throw("Bad function name")
306306 else if ((i.caller != this))
307307 then throw("Can be called only by the account")
308308 else {
309309 let eggAssetId = getEggId()
310310 let shareAssetId = getShareAssetId()
311311 let farmingDappAddress = addressFromStringValue(getStrA(mAccAddr, "FARMING_DAPP"))
312312 let unstakedReward = invoke(farmingDappAddress, function, [assetId], nil)
313313 if ((unstakedReward == unstakedReward))
314314 then {
315315 let reward = match unstakedReward {
316316 case int: Int =>
317317 int
318318 case _ =>
319319 throw("Error during unstaking")
320320 }
321321 let currentCeoFee = getInt(kCeoCollectedFee)
322322 let ceoFeeOverall = getInt(kCeoCollectedFeeOverall)
323323 let farmCeoFeeSize = fraction(reward, feePercent, 100)
324324 let amountToPay = (reward - farmCeoFeeSize)
325325 let amountCompontCall = invoke(this, "calculateCompoundShareAndIssue", [amountToPay], nil)
326326 if ((amountCompontCall == amountCompontCall))
327327 then {
328328 let amountCompound = asInt(invoke(this, "calculateCompoundShareAndIssue", [amountToPay], nil))
329329 if ((amountCompound == amountCompound))
330330 then {
331331 let topUp = invoke(stakingAddress, "topUpReward", nil, [AttachedPayment(eggAssetId, (amountToPay - amountCompound)), AttachedPayment(shareAssetId, amountCompound)])
332332 if ((topUp == topUp))
333333 then [IntegerEntry(kCeoCollectedFee, (currentCeoFee + farmCeoFeeSize)), IntegerEntry(kCeoCollectedFeeOverall, (ceoFeeOverall + farmCeoFeeSize))]
334334 else throw("Strict value is not equal to itself.")
335335 }
336336 else throw("Strict value is not equal to itself.")
337337 }
338338 else throw("Strict value is not equal to itself.")
339339 }
340340 else throw("Strict value is not equal to itself.")
341341 }
342342
343343
344344 @Verifier(tx)
345345 func verify () = {
346346 let checkStarted = (getInt(kTotalLiquidity) >= getInt(kLiquidityThreshold))
347347 match tx {
348348 case inv: InvokeScriptTransaction =>
349349 let acceptedCallsStaking = ["stakeFarmTokens", "claimReward", "withdrawFarmTokens"]
350350 let acceptedCallsThis = ["callUnstakeProxy", "claimCeoFee", "lockInvestments", "unlockInvestments"]
351351 if (if ((inv.function == "unstakeNFT"))
352352 then true
353353 else (inv.function == "unstakeJackpot"))
354354 then throw("You cannot call these functions directly")
355355 else if (if (if ((addressFromRecipient(inv.dApp) == this))
356356 then (inv.function == "initMasterKey")
357357 else false)
358358 then (mAccPKeyString == "")
359359 else false)
360360 then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
361361 else if ((sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) == false))
362362 then throw("_100")
363363 else if ((checkStarted == false))
364364 then throw("_14")
365365 else if ((getBool(kLocked) == true))
366366 then throw("_22")
367367 else if (if ((inv.fee > 900000))
368368 then true
369369 else (inv.feeAssetId != unit))
370370 then throw("_15")
371371 else if ((size(inv.payments) > 2))
372372 then throw("_17")
373373 else if (if ((addressFromRecipient(inv.dApp) == this))
374374 then containsElement(acceptedCallsThis, inv.function)
375375 else false)
376376 then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
377377 else if (if ((addressFromRecipient(inv.dApp) == addressFromStringValue(getMarketProxyAddr())))
378378 then (inv.function == "callMarketplaceProxy")
379379 else false)
380380 then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
381381 else if (if ((addressFromRecipient(inv.dApp) == stakingAddress))
382382 then containsElement(acceptedCallsStaking, inv.function)
383383 else false)
384384 then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
385385 else {
386386 let allowedContracts = getStrA(mAccAddr, "allowed_contracts")
387387 let allowedContractsList = split(allowedContracts, ";")
388388 let dappToCall = toString(addressFromRecipient(inv.dApp))
389389 (indexOf(allowedContractsList, dappToCall) != unit)
390390 }
391391 case ss: SetScriptTransaction =>
392392 sigVerify(tx.bodyBytes, tx.proofs[0], mAccPKey)
393393 case mt: MassTransferTransaction =>
394394 sigVerify(tx.bodyBytes, tx.proofs[0], mAccPKey)
395395 case _ =>
396396 false
397397 }
398398 }
399399

github/deemru/w8io/3ef1775 
61.55 ms