tx · 6gVJbMguCmXPAF2HojzBF1WbeubBh6bWwPEPURivkzEM

3PEZngxRNSDEJz2MiNUG3jAVBhhVFTNFQz2:  -0.01400000 Waves

2021.09.16 00:44 [2769649] smart account 3PEZngxRNSDEJz2MiNUG3jAVBhhVFTNFQz2 > SELF 0.00000000 Waves

{ "type": 13, "id": "6gVJbMguCmXPAF2HojzBF1WbeubBh6bWwPEPURivkzEM", "fee": 1400000, "feeAssetId": null, "timestamp": 1631742291020, "version": 2, "chainId": 87, "sender": "3PEZngxRNSDEJz2MiNUG3jAVBhhVFTNFQz2", "senderPublicKey": "8HhthX4cRpH5QMaK46KDBbQZhK75SQZYUjJZzBwHkaTK", "proofs": [ "5c47UHSmJBqn2YpNZqmUV4TVw1LdDUo4BUNrEdiKomMffmgb8V235xwoo3ZS5ZQ4tfQE17eTLApXyDDJcyjSBmED" ], "script": "base64:AAIFAAAAAAAADoQIAhIECgIIARIDCgEEEgASABIAEgMKAQgSAwoBCBIDCgEIEgMKAQgSBAoCCAgSAwoBCBIECgIIARIAEgMKAQgaDgoCYTESCG1BY2NQS2V5Gg4KAmEyEghtQWNjQWRkchoQCgJhMxIKZmVlUGVyY2VudBoTCgJhNBINb2xkRWdnQXNzZXRJZBoYCgJhNRISc3dhcEVnZ0RhcHBBZGRyZXNzGhUKAmE2Eg9rVG90YWxMaXF1aWRpdHkaEgoCYTcSDGtJbml0aWFsaXplZBoZCgJhOBITa0xpcXVpZGl0eVRocmVzaG9sZBoXCgJhORIRa0Zhcm1QYXJ0aWNpcGFudHMaFwoCYjESEWtUb3RhbFNoYXJlVG9rZW5zGhMKAmIyEg1rU2hhcmVBc3NldElkGhIKAmIzEgxrRmFybWluZ0RhcHAaFgoCYjQSEGtNYXJrZXRQcm94eURhcHAaDQoCYjUSB2tMb2NrZWQaGQoCYjYSE2tUb3RhbEZhcm1pbmdSZXdhcmQaFgoCYjcSEGtDZW9Db2xsZWN0ZWRGZWUaHQoCYjgSF2tDZW9Db2xsZWN0ZWRGZWVPdmVyYWxsGg4KAmI5EghrVG9EaXN0choVCgJjMRIPa1Vuc3Rha2VkUmV3YXJkGhgKAmMyEhJrTG9ja2VkSW52ZXN0bWVudHMaDAoCYzMSBmdldEludBoJCgJjNBIDa2V5Gg0KAmM1EgckbWF0Y2gwGgcKAmM2EgFiGgwKAmM3EgZnZXRTdHIaDQoCYzgSB2dldEJvb2waDQoCYzkSB2dldFN0ckEaBwoCZDESAWEaBwoCZDISAWsaGAoCZDMSEmdldE1hcmtldFByb3h5QWRkchoOCgJkNBIIZ2V0RWdnSWQaFQoCZDUSD2dldFNoYXJlQXNzZXRJZBoHCgJkNhIBaRoKCgJkNxIEbmFtZRoWCgJkOBIQbWluaW11bVRocmVzaG9sZBoRCgJkORILc2hhcmVUb2tlbnMaEAoCZTESCnNoYXJlVG9rZW4aBwoCZTISAXMaEAoCZTMSCmVnZ0Fzc2V0SWQaFAoCZTQSDnRvdGFsTGlxdWlkaXR5GhYKAmU1EhB0b3RhbFNoYXJlVG9rZW5zGhwKAmU2EhZjdXJyZW50TGlxdWlkaXR5QW1vdW50GhcKAmU3EhFzaGFyZVRva2Vuc1RvR2l2ZRoTCgJlOBINc2hhcmVUb2tlbnNJZBoNCgJlORIHcmVpc3N1ZRoWCgJmMRIQZmFybVBhcnRpY2lwYW50cxoTCgJmMhINa1BhcnRpY2lwYXRlZBoZCgJmMxITYWxyZWFkeVBhcnRpY2lwYXRlZBoZCgJmNBITbmV3RmFybVBhcnRpY2lwYW50cxoJCgJmNRIDaWRzGhEKAmY2EgtmYXJtaW5nRGFwcBoRCgJmNxILY2xhaW1SZXdhcmQaCwoCZjgSBWFjY3VtGgsKAmY5EgVuZnRJZBoMCgJnMRIGaW52UmVzGgkKAmcyEgNpbnQaDAoCZzMSBm5mdElkcxoQCgJnNBIKZm9sZFJlc3VsdBoTCgJnNRINJGxpc3Q1NzIwNTc1MhoTCgJnNhINJHNpemU1NzIwNTc1MhoTCgJnNxINJGFjYzA1NzIwNTc1MhoTCgJnOBINJGFjYzE1NzIwNTc1MhoTCgJnORINJGFjYzI1NzIwNTc1MhoTCgJoMRINJGFjYzM1NzIwNTc1MhoTCgJoMhINJGFjYzQ1NzIwNTc1MhoTCgJoMxINJGFjYzU1NzIwNTc1MhoTCgJoNBINJGFjYzY1NzIwNTc1MhoTCgJoNRINJGFjYzc1NzIwNTc1MhoTCgJoNhINJGFjYzg1NzIwNTc1MhoTCgJoNxINJGFjYzk1NzIwNTc1MhoUCgJoOBIOJGFjYzEwNTcyMDU3NTIaFAoCaDkSDiRhY2MxMTU3MjA1NzUyGhMKAmkxEg1jbGFpbWVkUmV3YXJkGhQKAmkyEg5mYXJtQ2VvRmVlU2l6ZRoNCgJpMxIHdG9EaXN0choYCgJpNBISdG90YWxGYXJtaW5nUmV3YXJkGhMKAmk1Eg1jdXJyZW50Q2VvRmVlGhMKAmk2Eg1jZW9GZWVPdmVyYWxsGg0KAmk3EgdhZGRyZXNzGhwKAmk4EhZjdXJyZW50Q2VvQ29sbGVjdGVkRmVlGg8KAmk5EglhdWN0aW9uSWQaDgoCajESCGZ1bmN0aW9uGg0KAmoyEgdhc3NldElkGhgKAmozEhJmYXJtaW5nRGFwcEFkZHJlc3MaEwoCajQSDXVzdGFrZWRSZXdhcmQaFwoCajUSEXVuc3Rha2VkUmV3YXJkTm93GhcKAmo2EhFuZXdVbnN0YWtlZFJld2FyZBoKCgJqNxIEdHhJZBoICgJqOBICdHgaDwoCajkSCWtSZXZlcnRlZBoQCgJrMRIKdHhSZXZlcnRlZBoQCgJrMhIKbWluQmFsYW5jZRoXCgJrMxIRY3VycmVudEVnZ0JhbGFuY2UaDwoCazQSCWFkZHJlc3NlcxoiCgJrNRIcdG90YWxTaGFyZVRva2Vuc1RvRGlzdHJpYnV0ZRoSCgJrNhIMYWRkcmVzc1BhaXJzGhQKAms3Eg5wcm9jZXNzQWRkcmVzcxoRCgJrOBILYWRkcmVzc1BhaXIaEgoCazkSDGFkZHJlc3NQYXJ0cxoQCgJsMRIKYWRkcmVzc1N0choTCgJsMhINZWdnbGV0c0Ftb3VudBoMCgJsMxIGY2hhbmdlGhEKAmw0EgtrQWRkckVhcm5lZBoVCgJsNRIPYWRkclRvdGFsRWFybmVkGhQKAmw2Eg50b3RhbFJld2FyZE5vdxoRCgJsNxILa0FkZHJDaGFuZ2UaEwoCbDgSDWVhcm5lZExhc3REYXkaCQoCbDkSA3JlcxoMCgJtMRIGcmVzdWx0GhUKAm0yEg8kbGlzdDEwNzE0MTA3NjEaFQoCbTMSDyRzaXplMTA3MTQxMDc2MRoVCgJtNBIPJGFjYzAxMDcxNDEwNzYxGhUKAm01Eg8kYWNjMTEwNzE0MTA3NjEaFQoCbTYSDyRhY2MyMTA3MTQxMDc2MRoVCgJtNxIPJGFjYzMxMDcxNDEwNzYxGhUKAm04Eg8kYWNjNDEwNzE0MTA3NjEaFQoCbTkSDyRhY2M1MTA3MTQxMDc2MRoVCgJuMRIPJGFjYzYxMDcxNDEwNzYxGhUKAm4yEg8kYWNjNzEwNzE0MTA3NjEaFQoCbjMSDyRhY2M4MTA3MTQxMDc2MRoVCgJuNBIPJGFjYzkxMDcxNDEwNzYxGhYKAm41EhAkYWNjMTAxMDcxNDEwNzYxGhYKAm42EhAkYWNjMTExMDcxNDEwNzYxGhYKAm43EhAkYWNjMTIxMDcxNDEwNzYxGhYKAm44EhAkYWNjMTMxMDcxNDEwNzYxGhYKAm45EhAkYWNjMTQxMDcxNDEwNzYxGhYKAm8xEhAkYWNjMTUxMDcxNDEwNzYxGhYKAm8yEhAkYWNjMTYxMDcxNDEwNzYxGhYKAm8zEhAkYWNjMTcxMDcxNDEwNzYxGhYKAm80EhAkYWNjMTgxMDcxNDEwNzYxGhYKAm81EhAkYWNjMTkxMDcxNDEwNzYxGhYKAm82EhAkYWNjMjAxMDcxNDEwNzYxGhYKAm83EhAkYWNjMjExMDcxNDEwNzYxGhMKAm84Eg1vbGRFZ2dCYWxhbmNlGgwKAm85EgZzd2FwVHgaEwoCcDESDWFkZHJlc3NWYWx1ZXMaEQoCcDISC2NoYW5nZVZhbHVlGhUKAnAzEg8kbGlzdDEyMDg3MTIxMzAaFQoCcDQSDyRzaXplMTIwODcxMjEzMBoVCgJwNRIPJGFjYzAxMjA4NzEyMTMwGhUKAnA2Eg8kYWNjMTEyMDg3MTIxMzAaFQoCcDcSDyRhY2MyMTIwODcxMjEzMBoVCgJwOBIPJGFjYzMxMjA4NzEyMTMwGhUKAnA5Eg8kYWNjNDEyMDg3MTIxMzAaFQoCcTESDyRhY2M1MTIwODcxMjEzMBoVCgJxMhIPJGFjYzYxMjA4NzEyMTMwGhUKAnEzEg8kYWNjNzEyMDg3MTIxMzAaFQoCcTQSDyRhY2M4MTIwODcxMjEzMBoVCgJxNRIPJGFjYzkxMjA4NzEyMTMwGhYKAnE2EhAkYWNjMTAxMjA4NzEyMTMwGhYKAnE3EhAkYWNjMTExMjA4NzEyMTMwGhYKAnE4EhAkYWNjMTIxMjA4NzEyMTMwGhYKAnE5EhAkYWNjMTMxMjA4NzEyMTMwGhYKAnIxEhAkYWNjMTQxMjA4NzEyMTMwGhYKAnIyEhAkYWNjMTUxMjA4NzEyMTMwGhYKAnIzEhAkYWNjMTYxMjA4NzEyMTMwGhYKAnI0EhAkYWNjMTcxMjA4NzEyMTMwGhYKAnI1EhAkYWNjMTgxMjA4NzEyMTMwGhYKAnI2EhAkYWNjMTkxMjA4NzEyMTMwGhYKAnI3EhAkYWNjMjAxMjA4NzEyMTMwGhYKAnI4EhAkYWNjMjExMjA4NzEyMTMwGgwKAnI5EgZ2ZXJpZnkaEgoCczESDGNoZWNrU3RhcnRlZBoWCgJzMhIQdG90YWxFZ2dTcGVuZGluZxoNCgJzMxIHcGF5bWVudBoJCgJzNBIDaW52GhUKAnM1Eg8kbGlzdDEzMzU0MTMzOTYaFQoCczYSDyRzaXplMTMzNTQxMzM5NhoVCgJzNxIPJGFjYzAxMzM1NDEzMzk2GhUKAnM4Eg8kYWNjMTEzMzU0MTMzOTYaFQoCczkSDyRhY2MyMTMzNTQxMzM5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AAAAAAAFBQAAAAJxMQQAAAACcTIJAQAAAAJrNwAAAAIFAAAAAnExCQABkQAAAAIFAAAAAnAzAAAAAAAAAAAFAwkAAAAAAAACBQAAAAJwNAAAAAAAAAAABgUAAAACcTIEAAAAAnEzCQEAAAACazcAAAACBQAAAAJxMgkAAZEAAAACBQAAAAJwMwAAAAAAAAAABgMJAAAAAAAAAgUAAAACcDQAAAAAAAAAAAcFAAAAAnEzBAAAAAJxNAkBAAAAAms3AAAAAgUAAAACcTMJAAGRAAAAAgUAAAACcDMAAAAAAAAAAAcDCQAAAAAAAAIFAAAAAnA0AAAAAAAAAAAIBQAAAAJxNAQAAAACcTUJAQAAAAJrNwAAAAIFAAAAAnE0CQABkQAAAAIFAAAAAnAzAAAAAAAAAAAIAwkAAAAAAAACBQAAAAJwNAAAAAAAAAAACQUAAAACcTUEAAAAAnE2CQEAAAACazcAAAACBQAAAAJxNQkAAZEAAAACBQAAAAJwMwAAAAAAAAAACQMJAAAAAAAAAgUAAAACcDQAAAAAAAAAAAoFAAAAAnE2BAAAAAJxNwkBAAAAAms3AAAAAgUAAAACcTYJAAGRAAAAAgUAAAACcDMAAAAAAAAAAAoDCQAAAAAAAAIFAAAAAnA0AAAAAAAAAAALBQAAAAJxNwQAAAACcTgJAQAAAAJrNwAAAAIFAAAAAnE3CQABkQAAAAIFAAAAAnAzAAAAAAAAAAALAwkAAAAAAAACBQAAAAJwNAAAAAAAAAAADAUAAAACcTgEAAAAAnE5CQEAAAACazcAAAACBQAAAAJxOAkAAZEAAAACBQAAAAJwMwAAAAAAAAAADAMJAAAAAAAAAgUAAAACcDQAAAAAAAAAAA0FAAAAAnE5BAAAAAJyMQkBAAAAAms3AAAAAgUAAAACcTkJAAGRAAAAAgUAAAACcDMAAAAAAAAAAA0DCQAAAAAAAAIFAAAAAnA0AAAAAAAAAAAOBQAAAAJyMQQAAAACcjIJAQAAAAJrNwAAAAIFAAAAAnIxCQABkQAAAAIFAAAAAnAzAAAAAAAAAAAOAwkAAAAAAAACBQAAAAJwNAAAAAAAAAAADwUAAAACcjIEAAAAAnIzCQEAAAACazcAAAACBQAAAAJyMgkAAZEAAAACBQAAAAJwMwAAAAAAAAAADwMJAAAAAAAAAgUAAAACcDQAAAAAAAAAABAFAAAAAnIzBAAAAAJyNAkBAAAAAms3AAAAAgUAAAACcjMJAAGRAAAAAgUAAAACcDMAAAAAAAAAABADCQAAAAAAAAIFAAAAAnA0AAAAAAAAAAARBQAAAAJyNAQAAAACcjUJAQAAAAJrNwAAAAIFAAAAAnI0CQABkQAAAAIFAAAAAnAzAAAAAAAAAAARAwkAAAAAAAACBQAAAAJwNAAAAAAAAAAAEgUAAAACcjUEAAAAAnI2CQEAAAACazcAAAACBQAAAAJyNQkAAZEAAAACBQAAAAJwMwAAAAAAAAAAEgMJAAAAAAAAAgUAAAACcDQAAAAAAAAAABMFAAAAAnI2BAAAAAJyNwkBAAAAAms3AAAAAgUAAAACcjYJAAGRAAAAAgUAAAACcDMAAAAAAAAAABMDCQAAAAAAAAIFAAAAAnA0AAAAAAAAAAAUBQAAAAJyNwQAAAACcjgJAQAAAAJrNwAAAAIFAAAAAnI3CQABkQAAAAIFAAAAAnAzAAAAAAAAAAAUCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWQgMjAFAAAAAm0xAAAAAQAAAAJqOAEAAAACcjkAAAAABAAAAAJzMQkAAGcAAAACCQEAAAACYzMAAAABBQAAAAJhNgkBAAAAAmMzAAAAAQUAAAACYTgKAQAAAAJzMgAAAAIAAAACZjgAAAACczMDCQAAAAAAAAIIBQAAAAJzMwAAAAdhc3NldElkCQEAAAACZDQAAAAACQAAZAAAAAIFAAAAAmY4CAUAAAACczMAAAAGYW1vdW50BQAAAAJmOAQAAAACYzUFAAAAAmo4AwkAAAEAAAACBQAAAAJjNQIAAAAXSW52b2tlU2NyaXB0VHJhbnNhY3Rpb24EAAAAAnM0BQAAAAJjNQQAAAACajUJAQAAAAJjMwAAAAEFAAAAAmMxBAAAAAJpMwkBAAAAAmMzAAAAAQUAAAACYjkEAAAAAmsyCQAAZAAAAAIFAAAAAmo1BQAAAAJpMwMDCQAAAAAAAAIIBQAAAAJzNAAAAAhmdW5jdGlvbgIAAAAKdW5zdGFrZU5GVAYJAAAAAAAAAggFAAAAAnM0AAAACGZ1bmN0aW9uAgAAAA51bnN0YWtlSmFja3BvdAkAAAIAAAABAgAAAChZb3UgY2Fubm90IGNhbGwgdGhlc2UgZnVuY3Rpb25zIGRpcmVjdGx5AwkAAAAAAAACCQAB9AAAAAMIBQAAAAJqOAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAmo4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAmo4AAAAD3NlbmRlclB1YmxpY0tleQcJAAACAAAAAQIAAAAEXzEwMAMJAAAAAAAAAgUAAAACczEHCQAAAgAAAAECAAAAA18xNAMJAAAAAAAAAgkBAAAAAmM4AAAAAQUAAAACYjUGCQAAAgAAAAECAAAAA18yMgMDCQAAZgAAAAIIBQAAAAJzNAAAAANmZWUAAAAAAAANu6AGCQEAAAACIT0AAAACCAUAAAACczQAAAAKZmVlQXNzZXRJZAUAAAAEdW5pdAkAAAIAAAABAgAAAANfMTUDCQAAAAAAAAIIBQAAAAJzNAAAAAhmdW5jdGlvbgIAAAALY2xhaW1SZXdhcmQJAAACAAAAAQIAAAADXzE2AwkAAGYAAAACCQABkAAAAAEIBQAAAAJzNAAAAAhwYXltZW50cwAAAAAAAAAAAgkAAAIAAAABAgAAAANfMTcDCQAAZgAAAAIFAAAAAmsyCQAAaAAAAAIJAABlAAAAAgkAA/AAAAACBQAAAAR0aGlzCQEAAAACZDQAAAAABAAAAAJzNQgFAAAAAnM0AAAACHBheW1lbnRzBAAAAAJzNgkAAZAAAAABBQAAAAJzNQQAAAACczcAAAAAAAAAAAADCQAAAAAAAAIFAAAAAnM2AAAAAAAAAAAABQAAAAJzNwQAAAACczgJAQAAAAJzMgAAAAIFAAAAAnM3CQABkQAAAAIFAAAAAnM1AAAAAAAAAAAAAwkAAAAAAAACBQAAAAJzNgAAAAAAAAAAAQUAAAACczgEAAAAAnM5CQEAAAACczIAAAACBQAAAAJzOAkAAZEAAAACBQAAAAJzNQAAAAAAAAAAAQMJAAAAAAAAAgUAAAACczYAAAAAAAAAAAIFAAAAAnM5BAAAAAJ0MQkBAAAAAnMyAAAAAgUAAAACczkJAAGRAAAAAgUAAAACczUAAAAAAAAAAAIDCQAAAAAAAAIFAAAAAnM2AAAAAAAAAAADBQAAAAJ0MQQAAAACdDIJAQAAAAJzMgAAAAIFAAAAAnQxCQABkQAAAAIFAAAAAnM1AAAAAAAAAAADCQAAAgAAAAECAAAAEkxpc3Qgc2l6ZSBleGNlZWQgMwAAAAAAAA9CQAkAAAIAAAABCQABLAAAAAICAAAAIVlvdXIgbWluaW1hbCBiYWxhbmNlIHNob3VsZCBiZSA9IAkAAaQAAAABBQAAAAJrMgMDCQAAAAAAAAIJAAQkAAAAAQgFAAAAAnM0AAAABGRBcHAFAAAABHRoaXMJAAAAAAAAAggFAAAAAnM0AAAACGZ1bmN0aW9uAgAAABBjYWxsVW5zdGFrZVByb3h5BwkAAfQAAAADCAUAAAACajgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJqOAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJqOAAAAA9zZW5kZXJQdWJsaWNLZXkDAwkAAAAAAAACCQAEJAAAAAEIBQAAAAJzNAAAAARkQXBwBQAAAAR0aGlzCQAAAAAAAAIIBQAAAAJzNAAAAAhmdW5jdGlvbgIAAAAOcmV2ZXJ0VHJhbnNmZXIHCQAB9AAAAAMIBQAAAAJqOAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAmo4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAmo4AAAAD3NlbmRlclB1YmxpY0tleQMDCQAAAAAAAAIJAAQkAAAAAQgFAAAAAnM0AAAABGRBcHAFAAAABHRoaXMJAAAAAAAAAggFAAAAAnM0AAAACGZ1bmN0aW9uAgAAAAtjbGFpbUNlb0ZlZQcJAAH0AAAAAwgFAAAAAmo4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACajgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACajgAAAAPc2VuZGVyUHVibGljS2V5AwMJAAAAAAAAAgkABCQAAAABCAUAAAACczQAAAAEZEFwcAUAAAAEdGhpcwMJAAAAAAAAAggFAAAAAnM0AAAACGZ1bmN0aW9uAgAAAA9sb2NrSW52ZXN0bWVudHMGCQAAAAAAAAIIBQAAAAJzNAAAAAhmdW5jdGlvbgIAAAARdW5sb2NrSW52ZXN0bWVudHMHCQAB9AAAAAMIBQAAAAJqOAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAmo4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAmo4AAAAD3NlbmRlclB1YmxpY0tleQMDCQAAAAAAAAIJAAQkAAAAAQgFAAAAAnM0AAAABGRBcHAJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAQAAAAJkMwAAAAAJAAAAAAAAAggFAAAAAnM0AAAACGZ1bmN0aW9uAgAAABRjYWxsTWFya2V0cGxhY2VQcm94eQcJAAH0AAAAAwgFAAAAAmo4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACajgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACajgAAAAPc2VuZGVyUHVibGljS2V5BAAAAAJ0MwkBAAAAAmM5AAAAAgUAAAACYTICAAAAEWFsbG93ZWRfY29udHJhY3RzBAAAAAJ0NAkABLUAAAACBQAAAAJ0MwIAAAABOwQAAAACdDUJAAQlAAAAAQkABCQAAAABCAUAAAACczQAAAAEZEFwcAkBAAAAAiE9AAAAAgkABE8AAAACBQAAAAJ0NAUAAAACdDUFAAAABHVuaXQDCQAAAQAAAAIFAAAAAmM1AgAAABRTZXRTY3JpcHRUcmFuc2FjdGlvbgQAAAACdDYFAAAAAmM1CQAB9AAAAAMIBQAAAAJqOAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAmo4AAAABnByb29mcwAAAAAAAAAAAAUAAAACYTEH9qrNJw==", "height": 2769649, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AuRvxTXB2KCjsSeK2K31wXpc1zj7hVHCuw8BN17zowg7 Next: 8VQgwNkHaKpZopkHeR6bspTEDnj6DxiPz6bX5ZmtYebt Diff:
OldNewDifferences
66 let mAccAddr = addressFromPublicKey(mAccPKey)
77
88 let feePercent = getIntegerValue(mAccAddr, (("f_" + toString(this)) + "_fee"))
9+
10+let oldEggAssetId = base58'JCGDtrVy64cCJ1wCKfCaiNQMnyYwii71TbE5QeAHfxgF'
11+
12+let swapEggDappAddress = addressFromStringValue("3PJQUUiJdvz9etUKED9ju7o7VrcNMtnkXBU")
913
1014 let kTotalLiquidity = "total_liquidity"
1115
1923
2024 let kShareAssetId = "SHARE_ASSET_ID"
2125
22-let kIncubatorDapp = "INCUBATOR_DAPP"
23-
24-let kBreederDapp = "BREEDER_DAPP"
25-
2626 let kFarmingDapp = "FARMING_DAPP"
2727
2828 let kMarketProxyDapp = "MARKETPLACE_PROXY_DAPP"
29-
30-let kAuctionDapp = "AUCTION_DAPP"
3129
3230 let kLocked = "LOCKED"
3331
7270 b
7371 case _ =>
7472 ""
75-}
76-
77-
78-func getIntA (address,key) = match getInteger(address, key) {
79- case b: Int =>
80- b
81- case _ =>
82- 0
8373 }
8474
8575
139129 then throw("_22")
140130 else if ((i.payments[0].assetId != eggAssetId))
141131 then throw("_4")
142- else {
143- let totalLiquidity = getInt(kTotalLiquidity)
144- let totalShareTokens = getInt(kTotalShareTokens)
145- let currentLiquidityAmount = i.payments[0].amount
146- let shareTokensToGive = (currentLiquidityAmount * 1000000)
147- let shareTokensId = fromBase58String(getStr(kShareAssetId))
148- let reissue = Reissue(getShareAssetId(), shareTokensToGive, true)
149- let farmParticipants = getInt(kFarmParticipants)
150- let kParticipated = (("account_" + toString(i.caller)) + "_participated")
151- let alreadyParticipated = getBool(kParticipated)
152- let newFarmParticipants = if ((alreadyParticipated == unit))
153- then (farmParticipants + 1)
154- else farmParticipants
132+ else if ((1000000 > i.payments[0].amount))
133+ then throw("Min amount to invest is 0.01 EGG")
134+ else {
135+ let totalLiquidity = getInt(kTotalLiquidity)
136+ let totalShareTokens = getInt(kTotalShareTokens)
137+ let currentLiquidityAmount = i.payments[0].amount
138+ let shareTokensToGive = currentLiquidityAmount
139+ let shareTokensId = fromBase58String(getStr(kShareAssetId))
140+ let reissue = Reissue(getShareAssetId(), shareTokensToGive, true)
141+ let farmParticipants = getInt(kFarmParticipants)
142+ let kParticipated = (("account_" + toString(i.caller)) + "_participated")
143+ let alreadyParticipated = getBool(kParticipated)
144+ let newFarmParticipants = if ((alreadyParticipated == unit))
145+ then (farmParticipants + 1)
146+ else farmParticipants
155147 [reissue, ScriptTransfer(i.caller, shareTokensToGive, shareTokensId), IntegerEntry(kTotalShareTokens, (totalShareTokens + shareTokensToGive)), IntegerEntry(kTotalLiquidity, (totalLiquidity + value(i.payments[0].amount))), IntegerEntry(kFarmParticipants, newFarmParticipants), BooleanEntry(kParticipated, true)]
156- }
148+ }
157149 }
158150
159151
177169
178170 let nftIds = split(ids, ";")
179171 let foldResult = {
180- let $list54885520 = nftIds
181- let $size54885520 = size($list54885520)
182- let $acc054885520 = 0
183- if (($size54885520 == 0))
184- then $acc054885520
172+ let $list57205752 = nftIds
173+ let $size57205752 = size($list57205752)
174+ let $acc057205752 = 0
175+ if (($size57205752 == 0))
176+ then $acc057205752
185177 else {
186- let $acc154885520 = claimReward($acc054885520, $list54885520[0])
187- if (($size54885520 == 1))
188- then $acc154885520
178+ let $acc157205752 = claimReward($acc057205752, $list57205752[0])
179+ if (($size57205752 == 1))
180+ then $acc157205752
189181 else {
190- let $acc254885520 = claimReward($acc154885520, $list54885520[1])
191- if (($size54885520 == 2))
192- then $acc254885520
182+ let $acc257205752 = claimReward($acc157205752, $list57205752[1])
183+ if (($size57205752 == 2))
184+ then $acc257205752
193185 else {
194- let $acc354885520 = claimReward($acc254885520, $list54885520[2])
195- if (($size54885520 == 3))
196- then $acc354885520
186+ let $acc357205752 = claimReward($acc257205752, $list57205752[2])
187+ if (($size57205752 == 3))
188+ then $acc357205752
197189 else {
198- let $acc454885520 = claimReward($acc354885520, $list54885520[3])
199- if (($size54885520 == 4))
200- then $acc454885520
190+ let $acc457205752 = claimReward($acc357205752, $list57205752[3])
191+ if (($size57205752 == 4))
192+ then $acc457205752
201193 else {
202- let $acc554885520 = claimReward($acc454885520, $list54885520[4])
203- if (($size54885520 == 5))
204- then $acc554885520
194+ let $acc557205752 = claimReward($acc457205752, $list57205752[4])
195+ if (($size57205752 == 5))
196+ then $acc557205752
205197 else {
206- let $acc654885520 = claimReward($acc554885520, $list54885520[5])
207- if (($size54885520 == 6))
208- then $acc654885520
198+ let $acc657205752 = claimReward($acc557205752, $list57205752[5])
199+ if (($size57205752 == 6))
200+ then $acc657205752
209201 else {
210- let $acc754885520 = claimReward($acc654885520, $list54885520[6])
211- if (($size54885520 == 7))
212- then $acc754885520
202+ let $acc757205752 = claimReward($acc657205752, $list57205752[6])
203+ if (($size57205752 == 7))
204+ then $acc757205752
213205 else {
214- let $acc854885520 = claimReward($acc754885520, $list54885520[7])
215- if (($size54885520 == 8))
216- then $acc854885520
206+ let $acc857205752 = claimReward($acc757205752, $list57205752[7])
207+ if (($size57205752 == 8))
208+ then $acc857205752
217209 else {
218- let $acc954885520 = claimReward($acc854885520, $list54885520[8])
219- if (($size54885520 == 9))
220- then $acc954885520
210+ let $acc957205752 = claimReward($acc857205752, $list57205752[8])
211+ if (($size57205752 == 9))
212+ then $acc957205752
221213 else {
222- let $acc1054885520 = claimReward($acc954885520, $list54885520[9])
223- if (($size54885520 == 10))
224- then $acc1054885520
214+ let $acc1057205752 = claimReward($acc957205752, $list57205752[9])
215+ if (($size57205752 == 10))
216+ then $acc1057205752
225217 else {
226- let $acc1154885520 = claimReward($acc1054885520, $list54885520[10])
218+ let $acc1157205752 = claimReward($acc1057205752, $list57205752[10])
227219 throw("List size exceed 10")
228220 }
229221 }
239231 }
240232 let claimedReward = match foldResult {
241233 case int: Int =>
242- (int * 1000000)
234+ int
243235 case _ =>
244236 throw("_6")
245237 }
259251 else if ((i.caller == this))
260252 then {
261253 let currentCeoCollectedFee = getInt(kCeoCollectedFee)
262-[ScriptTransfer(addressFromStringValue(address), (currentCeoCollectedFee / 1000000), getEggId()), IntegerEntry(kCeoCollectedFee, 0)]
254+[ScriptTransfer(addressFromStringValue(address), currentCeoCollectedFee, getEggId()), IntegerEntry(kCeoCollectedFee, 0)]
263255 }
264256 else throw("_8")
265257
292284 let unstakedRewardNow = getInt(kUnstakedReward)
293285 let newUnstakedReward = match ustakedReward {
294286 case int: Int =>
295- (unstakedRewardNow + (int * 1000000))
287+ (unstakedRewardNow + int)
296288 case _ =>
297289 throw("Error during unstaking")
298290 }
323315 then throw("Tx already reverted")
324316 else if ((tx.recipient != this))
325317 then throw("Tx recipient is another account")
326- else if ((tx.assetId != getEggId()))
327- then throw("Transaction is not with EGG tokens")
318+ else if (if ((tx.assetId != getEggId()))
319+ then (tx.assetId != getShareAssetId())
320+ else false)
321+ then throw("Transaction is not with EGG or share tokens")
328322 else if ((minBalance > (currentEggBalance - tx.amount)))
329323 then throw("Revert makes balance too low")
330324 else [ScriptTransfer(tx.sender, tx.amount, tx.assetId), BooleanEntry(kReverted, true)]
333327
334328
335329 @Callable(i)
336-func distributeRewards (addresses) = if ((i.caller != mAccAddr))
330+func distributeRewards (addresses,totalShareTokensToDistribute) = if ((i.caller != mAccAddr))
337331 then throw("Method can be called only by master account")
338332 else {
339333 let addressPairs = split(addresses, ";")
355349 }
356350
357351 let result = {
358- let $list1041710464 = addressPairs
359- let $size1041710464 = size($list1041710464)
360- let $acc01041710464 = $Tuple2(0, nil)
361- if (($size1041710464 == 0))
362- then $acc01041710464
352+ let $list1071410761 = addressPairs
353+ let $size1071410761 = size($list1071410761)
354+ let $acc01071410761 = $Tuple2(0, nil)
355+ if (($size1071410761 == 0))
356+ then $acc01071410761
363357 else {
364- let $acc11041710464 = processAddress($acc01041710464, $list1041710464[0])
365- if (($size1041710464 == 1))
366- then $acc11041710464
358+ let $acc11071410761 = processAddress($acc01071410761, $list1071410761[0])
359+ if (($size1071410761 == 1))
360+ then $acc11071410761
367361 else {
368- let $acc21041710464 = processAddress($acc11041710464, $list1041710464[1])
369- if (($size1041710464 == 2))
370- then $acc21041710464
362+ let $acc21071410761 = processAddress($acc11071410761, $list1071410761[1])
363+ if (($size1071410761 == 2))
364+ then $acc21071410761
371365 else {
372- let $acc31041710464 = processAddress($acc21041710464, $list1041710464[2])
373- if (($size1041710464 == 3))
374- then $acc31041710464
366+ let $acc31071410761 = processAddress($acc21071410761, $list1071410761[2])
367+ if (($size1071410761 == 3))
368+ then $acc31071410761
375369 else {
376- let $acc41041710464 = processAddress($acc31041710464, $list1041710464[3])
377- if (($size1041710464 == 4))
378- then $acc41041710464
370+ let $acc41071410761 = processAddress($acc31071410761, $list1071410761[3])
371+ if (($size1071410761 == 4))
372+ then $acc41071410761
379373 else {
380- let $acc51041710464 = processAddress($acc41041710464, $list1041710464[4])
381- if (($size1041710464 == 5))
382- then $acc51041710464
374+ let $acc51071410761 = processAddress($acc41071410761, $list1071410761[4])
375+ if (($size1071410761 == 5))
376+ then $acc51071410761
383377 else {
384- let $acc61041710464 = processAddress($acc51041710464, $list1041710464[5])
385- if (($size1041710464 == 6))
386- then $acc61041710464
378+ let $acc61071410761 = processAddress($acc51071410761, $list1071410761[5])
379+ if (($size1071410761 == 6))
380+ then $acc61071410761
387381 else {
388- let $acc71041710464 = processAddress($acc61041710464, $list1041710464[6])
389- if (($size1041710464 == 7))
390- then $acc71041710464
382+ let $acc71071410761 = processAddress($acc61071410761, $list1071410761[6])
383+ if (($size1071410761 == 7))
384+ then $acc71071410761
391385 else {
392- let $acc81041710464 = processAddress($acc71041710464, $list1041710464[7])
393- if (($size1041710464 == 8))
394- then $acc81041710464
386+ let $acc81071410761 = processAddress($acc71071410761, $list1071410761[7])
387+ if (($size1071410761 == 8))
388+ then $acc81071410761
395389 else {
396- let $acc91041710464 = processAddress($acc81041710464, $list1041710464[8])
397- if (($size1041710464 == 9))
398- then $acc91041710464
390+ let $acc91071410761 = processAddress($acc81071410761, $list1071410761[8])
391+ if (($size1071410761 == 9))
392+ then $acc91071410761
399393 else {
400- let $acc101041710464 = processAddress($acc91041710464, $list1041710464[9])
401- if (($size1041710464 == 10))
402- then $acc101041710464
394+ let $acc101071410761 = processAddress($acc91071410761, $list1071410761[9])
395+ if (($size1071410761 == 10))
396+ then $acc101071410761
403397 else {
404- let $acc111041710464 = processAddress($acc101041710464, $list1041710464[10])
405- if (($size1041710464 == 11))
406- then $acc111041710464
398+ let $acc111071410761 = processAddress($acc101071410761, $list1071410761[10])
399+ if (($size1071410761 == 11))
400+ then $acc111071410761
407401 else {
408- let $acc121041710464 = processAddress($acc111041710464, $list1041710464[11])
409- if (($size1041710464 == 12))
410- then $acc121041710464
402+ let $acc121071410761 = processAddress($acc111071410761, $list1071410761[11])
403+ if (($size1071410761 == 12))
404+ then $acc121071410761
411405 else {
412- let $acc131041710464 = processAddress($acc121041710464, $list1041710464[12])
413- if (($size1041710464 == 13))
414- then $acc131041710464
406+ let $acc131071410761 = processAddress($acc121071410761, $list1071410761[12])
407+ if (($size1071410761 == 13))
408+ then $acc131071410761
415409 else {
416- let $acc141041710464 = processAddress($acc131041710464, $list1041710464[13])
417- if (($size1041710464 == 14))
418- then $acc141041710464
410+ let $acc141071410761 = processAddress($acc131071410761, $list1071410761[13])
411+ if (($size1071410761 == 14))
412+ then $acc141071410761
419413 else {
420- let $acc151041710464 = processAddress($acc141041710464, $list1041710464[14])
421- if (($size1041710464 == 15))
422- then $acc151041710464
414+ let $acc151071410761 = processAddress($acc141071410761, $list1071410761[14])
415+ if (($size1071410761 == 15))
416+ then $acc151071410761
423417 else {
424- let $acc161041710464 = processAddress($acc151041710464, $list1041710464[15])
425- if (($size1041710464 == 16))
426- then $acc161041710464
418+ let $acc161071410761 = processAddress($acc151071410761, $list1071410761[15])
419+ if (($size1071410761 == 16))
420+ then $acc161071410761
427421 else {
428- let $acc171041710464 = processAddress($acc161041710464, $list1041710464[16])
429- if (($size1041710464 == 17))
430- then $acc171041710464
422+ let $acc171071410761 = processAddress($acc161071410761, $list1071410761[16])
423+ if (($size1071410761 == 17))
424+ then $acc171071410761
431425 else {
432- let $acc181041710464 = processAddress($acc171041710464, $list1041710464[17])
433- if (($size1041710464 == 18))
434- then $acc181041710464
426+ let $acc181071410761 = processAddress($acc171071410761, $list1071410761[17])
427+ if (($size1071410761 == 18))
428+ then $acc181071410761
435429 else {
436- let $acc191041710464 = processAddress($acc181041710464, $list1041710464[18])
437- if (($size1041710464 == 19))
438- then $acc191041710464
430+ let $acc191071410761 = processAddress($acc181071410761, $list1071410761[18])
431+ if (($size1071410761 == 19))
432+ then $acc191071410761
439433 else {
440- let $acc201041710464 = processAddress($acc191041710464, $list1041710464[19])
441- if (($size1041710464 == 20))
442- then $acc201041710464
434+ let $acc201071410761 = processAddress($acc191071410761, $list1071410761[19])
435+ if (($size1071410761 == 20))
436+ then $acc201071410761
443437 else {
444- let $acc211041710464 = processAddress($acc201041710464, $list1041710464[20])
438+ let $acc211071410761 = processAddress($acc201071410761, $list1071410761[20])
445439 throw("List size exceed 20")
446440 }
447441 }
467461 }
468462 let toDistr = getInt(kToDistr)
469463 (result._2 ++ [IntegerEntry(kToDistr, (toDistr - (result._1 * 1000000))), IntegerEntry(kUnstakedReward, 0)])
464+ }
465+
466+
467+
468+@Callable(i)
469+func swapEgg () = if ((i.caller != mAccAddr))
470+ then throw("Method can be called by master account only")
471+ else {
472+ let oldEggBalance = assetBalance(this, oldEggAssetId)
473+ let swapTx = invoke(swapEggDappAddress, "swapEgg", nil, [AttachedPayment(oldEggAssetId, oldEggBalance)])
474+ if ((swapTx == swapTx))
475+ then [BooleanEntry("swapped_egg", true), IntegerEntry("swapped_egg_amount", oldEggBalance)]
476+ else throw("Strict value is not equal to itself.")
477+ }
478+
479+
480+
481+@Callable(i)
482+func payChange (addresses) = if ((i.caller != mAccAddr))
483+ then throw("Method can be called only by main account")
484+ else {
485+ let addressValues = split(addresses, ";")
486+ if ((size(addressValues) > 20))
487+ then throw("Can't send more than 20 transfers at once")
488+ else {
489+ func processAddress (accum,addressStr) = {
490+ let kAddrChange = (("address_" + addressStr) + "_change")
491+ let kAddrEarned = (("address_" + addressStr) + "_total_earned")
492+ let changeValue = getInt(kAddrChange)
493+[IntegerEntry(kAddrChange, 0), IntegerEntry(kAddrEarned, 0), ScriptTransfer(addressFromStringValue(addressStr), changeValue, getEggId())]
494+ }
495+
496+ let result = {
497+ let $list1208712130 = addressValues
498+ let $size1208712130 = size($list1208712130)
499+ let $acc01208712130 = nil
500+ if (($size1208712130 == 0))
501+ then $acc01208712130
502+ else {
503+ let $acc11208712130 = processAddress($acc01208712130, $list1208712130[0])
504+ if (($size1208712130 == 1))
505+ then $acc11208712130
506+ else {
507+ let $acc21208712130 = processAddress($acc11208712130, $list1208712130[1])
508+ if (($size1208712130 == 2))
509+ then $acc21208712130
510+ else {
511+ let $acc31208712130 = processAddress($acc21208712130, $list1208712130[2])
512+ if (($size1208712130 == 3))
513+ then $acc31208712130
514+ else {
515+ let $acc41208712130 = processAddress($acc31208712130, $list1208712130[3])
516+ if (($size1208712130 == 4))
517+ then $acc41208712130
518+ else {
519+ let $acc51208712130 = processAddress($acc41208712130, $list1208712130[4])
520+ if (($size1208712130 == 5))
521+ then $acc51208712130
522+ else {
523+ let $acc61208712130 = processAddress($acc51208712130, $list1208712130[5])
524+ if (($size1208712130 == 6))
525+ then $acc61208712130
526+ else {
527+ let $acc71208712130 = processAddress($acc61208712130, $list1208712130[6])
528+ if (($size1208712130 == 7))
529+ then $acc71208712130
530+ else {
531+ let $acc81208712130 = processAddress($acc71208712130, $list1208712130[7])
532+ if (($size1208712130 == 8))
533+ then $acc81208712130
534+ else {
535+ let $acc91208712130 = processAddress($acc81208712130, $list1208712130[8])
536+ if (($size1208712130 == 9))
537+ then $acc91208712130
538+ else {
539+ let $acc101208712130 = processAddress($acc91208712130, $list1208712130[9])
540+ if (($size1208712130 == 10))
541+ then $acc101208712130
542+ else {
543+ let $acc111208712130 = processAddress($acc101208712130, $list1208712130[10])
544+ if (($size1208712130 == 11))
545+ then $acc111208712130
546+ else {
547+ let $acc121208712130 = processAddress($acc111208712130, $list1208712130[11])
548+ if (($size1208712130 == 12))
549+ then $acc121208712130
550+ else {
551+ let $acc131208712130 = processAddress($acc121208712130, $list1208712130[12])
552+ if (($size1208712130 == 13))
553+ then $acc131208712130
554+ else {
555+ let $acc141208712130 = processAddress($acc131208712130, $list1208712130[13])
556+ if (($size1208712130 == 14))
557+ then $acc141208712130
558+ else {
559+ let $acc151208712130 = processAddress($acc141208712130, $list1208712130[14])
560+ if (($size1208712130 == 15))
561+ then $acc151208712130
562+ else {
563+ let $acc161208712130 = processAddress($acc151208712130, $list1208712130[15])
564+ if (($size1208712130 == 16))
565+ then $acc161208712130
566+ else {
567+ let $acc171208712130 = processAddress($acc161208712130, $list1208712130[16])
568+ if (($size1208712130 == 17))
569+ then $acc171208712130
570+ else {
571+ let $acc181208712130 = processAddress($acc171208712130, $list1208712130[17])
572+ if (($size1208712130 == 18))
573+ then $acc181208712130
574+ else {
575+ let $acc191208712130 = processAddress($acc181208712130, $list1208712130[18])
576+ if (($size1208712130 == 19))
577+ then $acc191208712130
578+ else {
579+ let $acc201208712130 = processAddress($acc191208712130, $list1208712130[19])
580+ if (($size1208712130 == 20))
581+ then $acc201208712130
582+ else {
583+ let $acc211208712130 = processAddress($acc201208712130, $list1208712130[20])
584+ throw("List size exceed 20")
585+ }
586+ }
587+ }
588+ }
589+ }
590+ }
591+ }
592+ }
593+ }
594+ }
595+ }
596+ }
597+ }
598+ }
599+ }
600+ }
601+ }
602+ }
603+ }
604+ }
605+ }
606+ }
607+ result
608+ }
470609 }
471610
472611
501640 else if ((size(inv.payments) > 2))
502641 then throw("_17")
503642 else if ((minBalance > ((assetBalance(this, getEggId()) - {
504- let $list1180711849 = inv.payments
505- let $size1180711849 = size($list1180711849)
506- let $acc01180711849 = 0
507- if (($size1180711849 == 0))
508- then $acc01180711849
643+ let $list1335413396 = inv.payments
644+ let $size1335413396 = size($list1335413396)
645+ let $acc01335413396 = 0
646+ if (($size1335413396 == 0))
647+ then $acc01335413396
509648 else {
510- let $acc11180711849 = totalEggSpending($acc01180711849, $list1180711849[0])
511- if (($size1180711849 == 1))
512- then $acc11180711849
649+ let $acc11335413396 = totalEggSpending($acc01335413396, $list1335413396[0])
650+ if (($size1335413396 == 1))
651+ then $acc11335413396
513652 else {
514- let $acc21180711849 = totalEggSpending($acc11180711849, $list1180711849[1])
515- if (($size1180711849 == 2))
516- then $acc21180711849
653+ let $acc21335413396 = totalEggSpending($acc11335413396, $list1335413396[1])
654+ if (($size1335413396 == 2))
655+ then $acc21335413396
517656 else {
518- let $acc31180711849 = totalEggSpending($acc21180711849, $list1180711849[2])
519- if (($size1180711849 == 3))
520- then $acc31180711849
657+ let $acc31335413396 = totalEggSpending($acc21335413396, $list1335413396[2])
658+ if (($size1335413396 == 3))
659+ then $acc31335413396
521660 else {
522- let $acc41180711849 = totalEggSpending($acc31180711849, $list1180711849[3])
661+ let $acc41335413396 = totalEggSpending($acc31335413396, $list1335413396[3])
523662 throw("List size exceed 3")
524663 }
525664 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let mAccPKey = base58'23NWm7kUDQqbTVkirjd5JXWRZaWVoS4ZesmRNHicBa3T'
55
66 let mAccAddr = addressFromPublicKey(mAccPKey)
77
88 let feePercent = getIntegerValue(mAccAddr, (("f_" + toString(this)) + "_fee"))
9+
10+let oldEggAssetId = base58'JCGDtrVy64cCJ1wCKfCaiNQMnyYwii71TbE5QeAHfxgF'
11+
12+let swapEggDappAddress = addressFromStringValue("3PJQUUiJdvz9etUKED9ju7o7VrcNMtnkXBU")
913
1014 let kTotalLiquidity = "total_liquidity"
1115
1216 let kInitialized = "INITIALIZED"
1317
1418 let kLiquidityThreshold = "LIQUIDITY_THRESHOLD"
1519
1620 let kFarmParticipants = "farm_participants"
1721
1822 let kTotalShareTokens = "total_share_tokens"
1923
2024 let kShareAssetId = "SHARE_ASSET_ID"
2125
22-let kIncubatorDapp = "INCUBATOR_DAPP"
23-
24-let kBreederDapp = "BREEDER_DAPP"
25-
2626 let kFarmingDapp = "FARMING_DAPP"
2727
2828 let kMarketProxyDapp = "MARKETPLACE_PROXY_DAPP"
29-
30-let kAuctionDapp = "AUCTION_DAPP"
3129
3230 let kLocked = "LOCKED"
3331
3432 let kTotalFarmingReward = "total_farming_reward"
3533
3634 let kCeoCollectedFee = "ceo_collected_fee"
3735
3836 let kCeoCollectedFeeOverall = "ceo_fee_overall"
3937
4038 let kToDistr = "to_distribute"
4139
4240 let kUnstakedReward = "unstaked_reward"
4341
4442 let kLockedInvestments = "locked_investments"
4543
4644 func getInt (key) = match getInteger(this, key) {
4745 case b: Int =>
4846 b
4947 case _ =>
5048 0
5149 }
5250
5351
5452 func getStr (key) = match getString(this, key) {
5553 case b: String =>
5654 b
5755 case _ =>
5856 ""
5957 }
6058
6159
6260 func getBool (key) = match getBoolean(this, key) {
6361 case b: Boolean =>
6462 b
6563 case _ =>
6664 unit
6765 }
6866
6967
7068 func getStrA (a,k) = match getString(a, k) {
7169 case b: String =>
7270 b
7371 case _ =>
7472 ""
75-}
76-
77-
78-func getIntA (address,key) = match getInteger(address, key) {
79- case b: Int =>
80- b
81- case _ =>
82- 0
8373 }
8474
8575
8676 func getMarketProxyAddr () = getStrA(mAccAddr, kMarketProxyDapp)
8777
8878
8979 func getEggId () = fromBase58String(getStringValue(mAccAddr, "EGG_ASSET_ID"))
9080
9181
9282 func getShareAssetId () = fromBase58String(getStr(kShareAssetId))
9383
9484
9585 @Callable(i)
9686 func initCollectiveFarm (name,minimumThreshold) = if ((i.callerPublicKey != mAccPKey))
9787 then throw("_1")
9888 else if ((getBool(kInitialized) != unit))
9989 then throw("_2")
10090 else if (if ((i.payments[0].amount != 10))
10191 then true
10292 else (i.payments[0].assetId != getEggId()))
10393 then throw("_20")
10494 else {
10595 let shareTokens = 10000000
10696 let shareToken = Issue(name, (("Share token for the \"" + name) + "\" collective farm"), shareTokens, 8, true)
10797 [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)]
10898 }
10999
110100
111101
112102 @Callable(i)
113103 func setLock (s) = if ((i.callerPublicKey != mAccPKey))
114104 then throw("_21")
115105 else [BooleanEntry(kLocked, s)]
116106
117107
118108
119109 @Callable(i)
120110 func lockInvestments () = if ((i.caller != this))
121111 then throw("You cannot lock this contract")
122112 else [BooleanEntry(kLockedInvestments, true)]
123113
124114
125115
126116 @Callable(i)
127117 func unlockInvestments () = if ((i.caller != this))
128118 then throw("You cannot lock this contract")
129119 else [BooleanEntry(kLockedInvestments, false)]
130120
131121
132122
133123 @Callable(i)
134124 func provideLiquidity () = {
135125 let eggAssetId = getEggId()
136126 if ((getBool(kLockedInvestments) == true))
137127 then throw("Contract is locked for investments by it's CEO. Please invest in another collective farm.")
138128 else if ((getBool(kLocked) == true))
139129 then throw("_22")
140130 else if ((i.payments[0].assetId != eggAssetId))
141131 then throw("_4")
142- else {
143- let totalLiquidity = getInt(kTotalLiquidity)
144- let totalShareTokens = getInt(kTotalShareTokens)
145- let currentLiquidityAmount = i.payments[0].amount
146- let shareTokensToGive = (currentLiquidityAmount * 1000000)
147- let shareTokensId = fromBase58String(getStr(kShareAssetId))
148- let reissue = Reissue(getShareAssetId(), shareTokensToGive, true)
149- let farmParticipants = getInt(kFarmParticipants)
150- let kParticipated = (("account_" + toString(i.caller)) + "_participated")
151- let alreadyParticipated = getBool(kParticipated)
152- let newFarmParticipants = if ((alreadyParticipated == unit))
153- then (farmParticipants + 1)
154- else farmParticipants
132+ else if ((1000000 > i.payments[0].amount))
133+ then throw("Min amount to invest is 0.01 EGG")
134+ else {
135+ let totalLiquidity = getInt(kTotalLiquidity)
136+ let totalShareTokens = getInt(kTotalShareTokens)
137+ let currentLiquidityAmount = i.payments[0].amount
138+ let shareTokensToGive = currentLiquidityAmount
139+ let shareTokensId = fromBase58String(getStr(kShareAssetId))
140+ let reissue = Reissue(getShareAssetId(), shareTokensToGive, true)
141+ let farmParticipants = getInt(kFarmParticipants)
142+ let kParticipated = (("account_" + toString(i.caller)) + "_participated")
143+ let alreadyParticipated = getBool(kParticipated)
144+ let newFarmParticipants = if ((alreadyParticipated == unit))
145+ then (farmParticipants + 1)
146+ else farmParticipants
155147 [reissue, ScriptTransfer(i.caller, shareTokensToGive, shareTokensId), IntegerEntry(kTotalShareTokens, (totalShareTokens + shareTokensToGive)), IntegerEntry(kTotalLiquidity, (totalLiquidity + value(i.payments[0].amount))), IntegerEntry(kFarmParticipants, newFarmParticipants), BooleanEntry(kParticipated, true)]
156- }
148+ }
157149 }
158150
159151
160152
161153 @Callable(i)
162154 func claimFarmingRewardProxy (ids) = if ((i.callerPublicKey != mAccPKey))
163155 then throw("_23")
164156 else {
165157 let farmingDapp = addressFromStringValue(getStrA(mAccAddr, kFarmingDapp))
166158 func claimReward (accum,nftId) = {
167159 let invRes = invoke(farmingDapp, "claimReward", [nftId], nil)
168160 if ((invRes == invRes))
169161 then match invRes {
170162 case int: Int =>
171163 (accum + int)
172164 case _ =>
173165 throw("_5")
174166 }
175167 else throw("Strict value is not equal to itself.")
176168 }
177169
178170 let nftIds = split(ids, ";")
179171 let foldResult = {
180- let $list54885520 = nftIds
181- let $size54885520 = size($list54885520)
182- let $acc054885520 = 0
183- if (($size54885520 == 0))
184- then $acc054885520
172+ let $list57205752 = nftIds
173+ let $size57205752 = size($list57205752)
174+ let $acc057205752 = 0
175+ if (($size57205752 == 0))
176+ then $acc057205752
185177 else {
186- let $acc154885520 = claimReward($acc054885520, $list54885520[0])
187- if (($size54885520 == 1))
188- then $acc154885520
178+ let $acc157205752 = claimReward($acc057205752, $list57205752[0])
179+ if (($size57205752 == 1))
180+ then $acc157205752
189181 else {
190- let $acc254885520 = claimReward($acc154885520, $list54885520[1])
191- if (($size54885520 == 2))
192- then $acc254885520
182+ let $acc257205752 = claimReward($acc157205752, $list57205752[1])
183+ if (($size57205752 == 2))
184+ then $acc257205752
193185 else {
194- let $acc354885520 = claimReward($acc254885520, $list54885520[2])
195- if (($size54885520 == 3))
196- then $acc354885520
186+ let $acc357205752 = claimReward($acc257205752, $list57205752[2])
187+ if (($size57205752 == 3))
188+ then $acc357205752
197189 else {
198- let $acc454885520 = claimReward($acc354885520, $list54885520[3])
199- if (($size54885520 == 4))
200- then $acc454885520
190+ let $acc457205752 = claimReward($acc357205752, $list57205752[3])
191+ if (($size57205752 == 4))
192+ then $acc457205752
201193 else {
202- let $acc554885520 = claimReward($acc454885520, $list54885520[4])
203- if (($size54885520 == 5))
204- then $acc554885520
194+ let $acc557205752 = claimReward($acc457205752, $list57205752[4])
195+ if (($size57205752 == 5))
196+ then $acc557205752
205197 else {
206- let $acc654885520 = claimReward($acc554885520, $list54885520[5])
207- if (($size54885520 == 6))
208- then $acc654885520
198+ let $acc657205752 = claimReward($acc557205752, $list57205752[5])
199+ if (($size57205752 == 6))
200+ then $acc657205752
209201 else {
210- let $acc754885520 = claimReward($acc654885520, $list54885520[6])
211- if (($size54885520 == 7))
212- then $acc754885520
202+ let $acc757205752 = claimReward($acc657205752, $list57205752[6])
203+ if (($size57205752 == 7))
204+ then $acc757205752
213205 else {
214- let $acc854885520 = claimReward($acc754885520, $list54885520[7])
215- if (($size54885520 == 8))
216- then $acc854885520
206+ let $acc857205752 = claimReward($acc757205752, $list57205752[7])
207+ if (($size57205752 == 8))
208+ then $acc857205752
217209 else {
218- let $acc954885520 = claimReward($acc854885520, $list54885520[8])
219- if (($size54885520 == 9))
220- then $acc954885520
210+ let $acc957205752 = claimReward($acc857205752, $list57205752[8])
211+ if (($size57205752 == 9))
212+ then $acc957205752
221213 else {
222- let $acc1054885520 = claimReward($acc954885520, $list54885520[9])
223- if (($size54885520 == 10))
224- then $acc1054885520
214+ let $acc1057205752 = claimReward($acc957205752, $list57205752[9])
215+ if (($size57205752 == 10))
216+ then $acc1057205752
225217 else {
226- let $acc1154885520 = claimReward($acc1054885520, $list54885520[10])
218+ let $acc1157205752 = claimReward($acc1057205752, $list57205752[10])
227219 throw("List size exceed 10")
228220 }
229221 }
230222 }
231223 }
232224 }
233225 }
234226 }
235227 }
236228 }
237229 }
238230 }
239231 }
240232 let claimedReward = match foldResult {
241233 case int: Int =>
242- (int * 1000000)
234+ int
243235 case _ =>
244236 throw("_6")
245237 }
246238 let farmCeoFeeSize = fraction(claimedReward, feePercent, 100)
247239 let toDistr = getInt(kToDistr)
248240 let totalFarmingReward = getInt(kTotalFarmingReward)
249241 let currentCeoFee = getInt(kCeoCollectedFee)
250242 let ceoFeeOverall = getInt(kCeoCollectedFeeOverall)
251243 [IntegerEntry(kTotalFarmingReward, ((totalFarmingReward + claimedReward) - farmCeoFeeSize)), IntegerEntry(kToDistr, ((toDistr + claimedReward) - farmCeoFeeSize)), IntegerEntry(kCeoCollectedFee, (currentCeoFee + farmCeoFeeSize)), IntegerEntry(kCeoCollectedFeeOverall, (ceoFeeOverall + farmCeoFeeSize))]
252244 }
253245
254246
255247
256248 @Callable(i)
257249 func claimCeoFee (address) = if ((getBool(kLocked) == true))
258250 then throw("_22")
259251 else if ((i.caller == this))
260252 then {
261253 let currentCeoCollectedFee = getInt(kCeoCollectedFee)
262-[ScriptTransfer(addressFromStringValue(address), (currentCeoCollectedFee / 1000000), getEggId()), IntegerEntry(kCeoCollectedFee, 0)]
254+[ScriptTransfer(addressFromStringValue(address), currentCeoCollectedFee, getEggId()), IntegerEntry(kCeoCollectedFee, 0)]
263255 }
264256 else throw("_8")
265257
266258
267259
268260 @Callable(i)
269261 func startLiquidation (auctionId) = throw("_7")
270262
271263
272264
273265 @Callable(i)
274266 func voteForLiquidation (auctionId) = throw("_7")
275267
276268
277269
278270 @Callable(i)
279271 func callUnstakeProxy (function,assetId) = if ((getBool(kLocked) == true))
280272 then throw("Contract is locked now")
281273 else if (if ((function != "unstakeNFT"))
282274 then (function != "unstakeJackpot")
283275 else false)
284276 then throw("Bad function name")
285277 else if ((i.caller != this))
286278 then throw("Can be called only by the account")
287279 else {
288280 let farmingDappAddress = addressFromStringValue(getStrA(mAccAddr, "FARMING_DAPP"))
289281 let ustakedReward = invoke(farmingDappAddress, function, [assetId], nil)
290282 if ((ustakedReward == ustakedReward))
291283 then {
292284 let unstakedRewardNow = getInt(kUnstakedReward)
293285 let newUnstakedReward = match ustakedReward {
294286 case int: Int =>
295- (unstakedRewardNow + (int * 1000000))
287+ (unstakedRewardNow + int)
296288 case _ =>
297289 throw("Error during unstaking")
298290 }
299291 let currentCeoFee = getInt(kCeoCollectedFee)
300292 let ceoFeeOverall = getInt(kCeoCollectedFeeOverall)
301293 let farmCeoFeeSize = fraction(unstakedRewardNow, feePercent, 100)
302294 [IntegerEntry(kCeoCollectedFee, (currentCeoFee + farmCeoFeeSize)), IntegerEntry(kCeoCollectedFeeOverall, (ceoFeeOverall + farmCeoFeeSize)), IntegerEntry(kUnstakedReward, newUnstakedReward)]
303295 }
304296 else throw("Strict value is not equal to itself.")
305297 }
306298
307299
308300
309301 @Callable(i)
310302 func revertTransfer (txId) = if ((getBool(kLocked) == true))
311303 then throw("Contract is locked now")
312304 else if ((i.caller != this))
313305 then throw("Can be called only by the account")
314306 else {
315307 let tx = value(transferTransactionById(fromBase58String(txId)))
316308 let kReverted = ("tx_revert_" + txId)
317309 let txReverted = getBool(kReverted)
318310 let unstakedRewardNow = getInt(kUnstakedReward)
319311 let toDistr = getInt(kToDistr)
320312 let minBalance = (unstakedRewardNow + toDistr)
321313 let currentEggBalance = assetBalance(this, getEggId())
322314 if ((txReverted == true))
323315 then throw("Tx already reverted")
324316 else if ((tx.recipient != this))
325317 then throw("Tx recipient is another account")
326- else if ((tx.assetId != getEggId()))
327- then throw("Transaction is not with EGG tokens")
318+ else if (if ((tx.assetId != getEggId()))
319+ then (tx.assetId != getShareAssetId())
320+ else false)
321+ then throw("Transaction is not with EGG or share tokens")
328322 else if ((minBalance > (currentEggBalance - tx.amount)))
329323 then throw("Revert makes balance too low")
330324 else [ScriptTransfer(tx.sender, tx.amount, tx.assetId), BooleanEntry(kReverted, true)]
331325 }
332326
333327
334328
335329 @Callable(i)
336-func distributeRewards (addresses) = if ((i.caller != mAccAddr))
330+func distributeRewards (addresses,totalShareTokensToDistribute) = if ((i.caller != mAccAddr))
337331 then throw("Method can be called only by master account")
338332 else {
339333 let addressPairs = split(addresses, ";")
340334 func processAddress (accum,addressPair) = {
341335 let addressParts = split(addressPair, "=")
342336 let addressStr = addressParts[0]
343337 let address = addressFromStringValue(addressStr)
344338 let eggletsAmount = parseIntValue(addressParts[1])
345339 let change = parseIntValue(addressParts[2])
346340 let kAddrEarned = (("address_" + addressStr) + "_total_earned")
347341 let addrTotalEarned = getInt(kAddrEarned)
348342 let totalRewardNow = ((eggletsAmount * 1000000) + change)
349343 let kAddrChange = (("address_" + addressStr) + "_change")
350344 let earnedLastDay = (totalRewardNow - getInt(kAddrChange))
351345 let res = [IntegerEntry(kAddrChange, change), IntegerEntry(kAddrEarned, (addrTotalEarned + earnedLastDay)), IntegerEntry(((("address_" + addressStr) + "_reward_") + toString(lastBlock.timestamp)), earnedLastDay)]
352346 if ((eggletsAmount > 0))
353347 then $Tuple2((accum._1 + eggletsAmount), ((accum._2 ++ res) ++ [ScriptTransfer(address, eggletsAmount, getEggId())]))
354348 else $Tuple2(accum._1, (accum._2 ++ res))
355349 }
356350
357351 let result = {
358- let $list1041710464 = addressPairs
359- let $size1041710464 = size($list1041710464)
360- let $acc01041710464 = $Tuple2(0, nil)
361- if (($size1041710464 == 0))
362- then $acc01041710464
352+ let $list1071410761 = addressPairs
353+ let $size1071410761 = size($list1071410761)
354+ let $acc01071410761 = $Tuple2(0, nil)
355+ if (($size1071410761 == 0))
356+ then $acc01071410761
363357 else {
364- let $acc11041710464 = processAddress($acc01041710464, $list1041710464[0])
365- if (($size1041710464 == 1))
366- then $acc11041710464
358+ let $acc11071410761 = processAddress($acc01071410761, $list1071410761[0])
359+ if (($size1071410761 == 1))
360+ then $acc11071410761
367361 else {
368- let $acc21041710464 = processAddress($acc11041710464, $list1041710464[1])
369- if (($size1041710464 == 2))
370- then $acc21041710464
362+ let $acc21071410761 = processAddress($acc11071410761, $list1071410761[1])
363+ if (($size1071410761 == 2))
364+ then $acc21071410761
371365 else {
372- let $acc31041710464 = processAddress($acc21041710464, $list1041710464[2])
373- if (($size1041710464 == 3))
374- then $acc31041710464
366+ let $acc31071410761 = processAddress($acc21071410761, $list1071410761[2])
367+ if (($size1071410761 == 3))
368+ then $acc31071410761
375369 else {
376- let $acc41041710464 = processAddress($acc31041710464, $list1041710464[3])
377- if (($size1041710464 == 4))
378- then $acc41041710464
370+ let $acc41071410761 = processAddress($acc31071410761, $list1071410761[3])
371+ if (($size1071410761 == 4))
372+ then $acc41071410761
379373 else {
380- let $acc51041710464 = processAddress($acc41041710464, $list1041710464[4])
381- if (($size1041710464 == 5))
382- then $acc51041710464
374+ let $acc51071410761 = processAddress($acc41071410761, $list1071410761[4])
375+ if (($size1071410761 == 5))
376+ then $acc51071410761
383377 else {
384- let $acc61041710464 = processAddress($acc51041710464, $list1041710464[5])
385- if (($size1041710464 == 6))
386- then $acc61041710464
378+ let $acc61071410761 = processAddress($acc51071410761, $list1071410761[5])
379+ if (($size1071410761 == 6))
380+ then $acc61071410761
387381 else {
388- let $acc71041710464 = processAddress($acc61041710464, $list1041710464[6])
389- if (($size1041710464 == 7))
390- then $acc71041710464
382+ let $acc71071410761 = processAddress($acc61071410761, $list1071410761[6])
383+ if (($size1071410761 == 7))
384+ then $acc71071410761
391385 else {
392- let $acc81041710464 = processAddress($acc71041710464, $list1041710464[7])
393- if (($size1041710464 == 8))
394- then $acc81041710464
386+ let $acc81071410761 = processAddress($acc71071410761, $list1071410761[7])
387+ if (($size1071410761 == 8))
388+ then $acc81071410761
395389 else {
396- let $acc91041710464 = processAddress($acc81041710464, $list1041710464[8])
397- if (($size1041710464 == 9))
398- then $acc91041710464
390+ let $acc91071410761 = processAddress($acc81071410761, $list1071410761[8])
391+ if (($size1071410761 == 9))
392+ then $acc91071410761
399393 else {
400- let $acc101041710464 = processAddress($acc91041710464, $list1041710464[9])
401- if (($size1041710464 == 10))
402- then $acc101041710464
394+ let $acc101071410761 = processAddress($acc91071410761, $list1071410761[9])
395+ if (($size1071410761 == 10))
396+ then $acc101071410761
403397 else {
404- let $acc111041710464 = processAddress($acc101041710464, $list1041710464[10])
405- if (($size1041710464 == 11))
406- then $acc111041710464
398+ let $acc111071410761 = processAddress($acc101071410761, $list1071410761[10])
399+ if (($size1071410761 == 11))
400+ then $acc111071410761
407401 else {
408- let $acc121041710464 = processAddress($acc111041710464, $list1041710464[11])
409- if (($size1041710464 == 12))
410- then $acc121041710464
402+ let $acc121071410761 = processAddress($acc111071410761, $list1071410761[11])
403+ if (($size1071410761 == 12))
404+ then $acc121071410761
411405 else {
412- let $acc131041710464 = processAddress($acc121041710464, $list1041710464[12])
413- if (($size1041710464 == 13))
414- then $acc131041710464
406+ let $acc131071410761 = processAddress($acc121071410761, $list1071410761[12])
407+ if (($size1071410761 == 13))
408+ then $acc131071410761
415409 else {
416- let $acc141041710464 = processAddress($acc131041710464, $list1041710464[13])
417- if (($size1041710464 == 14))
418- then $acc141041710464
410+ let $acc141071410761 = processAddress($acc131071410761, $list1071410761[13])
411+ if (($size1071410761 == 14))
412+ then $acc141071410761
419413 else {
420- let $acc151041710464 = processAddress($acc141041710464, $list1041710464[14])
421- if (($size1041710464 == 15))
422- then $acc151041710464
414+ let $acc151071410761 = processAddress($acc141071410761, $list1071410761[14])
415+ if (($size1071410761 == 15))
416+ then $acc151071410761
423417 else {
424- let $acc161041710464 = processAddress($acc151041710464, $list1041710464[15])
425- if (($size1041710464 == 16))
426- then $acc161041710464
418+ let $acc161071410761 = processAddress($acc151071410761, $list1071410761[15])
419+ if (($size1071410761 == 16))
420+ then $acc161071410761
427421 else {
428- let $acc171041710464 = processAddress($acc161041710464, $list1041710464[16])
429- if (($size1041710464 == 17))
430- then $acc171041710464
422+ let $acc171071410761 = processAddress($acc161071410761, $list1071410761[16])
423+ if (($size1071410761 == 17))
424+ then $acc171071410761
431425 else {
432- let $acc181041710464 = processAddress($acc171041710464, $list1041710464[17])
433- if (($size1041710464 == 18))
434- then $acc181041710464
426+ let $acc181071410761 = processAddress($acc171071410761, $list1071410761[17])
427+ if (($size1071410761 == 18))
428+ then $acc181071410761
435429 else {
436- let $acc191041710464 = processAddress($acc181041710464, $list1041710464[18])
437- if (($size1041710464 == 19))
438- then $acc191041710464
430+ let $acc191071410761 = processAddress($acc181071410761, $list1071410761[18])
431+ if (($size1071410761 == 19))
432+ then $acc191071410761
439433 else {
440- let $acc201041710464 = processAddress($acc191041710464, $list1041710464[19])
441- if (($size1041710464 == 20))
442- then $acc201041710464
434+ let $acc201071410761 = processAddress($acc191071410761, $list1071410761[19])
435+ if (($size1071410761 == 20))
436+ then $acc201071410761
443437 else {
444- let $acc211041710464 = processAddress($acc201041710464, $list1041710464[20])
438+ let $acc211071410761 = processAddress($acc201071410761, $list1071410761[20])
445439 throw("List size exceed 20")
446440 }
447441 }
448442 }
449443 }
450444 }
451445 }
452446 }
453447 }
454448 }
455449 }
456450 }
457451 }
458452 }
459453 }
460454 }
461455 }
462456 }
463457 }
464458 }
465459 }
466460 }
467461 }
468462 let toDistr = getInt(kToDistr)
469463 (result._2 ++ [IntegerEntry(kToDistr, (toDistr - (result._1 * 1000000))), IntegerEntry(kUnstakedReward, 0)])
464+ }
465+
466+
467+
468+@Callable(i)
469+func swapEgg () = if ((i.caller != mAccAddr))
470+ then throw("Method can be called by master account only")
471+ else {
472+ let oldEggBalance = assetBalance(this, oldEggAssetId)
473+ let swapTx = invoke(swapEggDappAddress, "swapEgg", nil, [AttachedPayment(oldEggAssetId, oldEggBalance)])
474+ if ((swapTx == swapTx))
475+ then [BooleanEntry("swapped_egg", true), IntegerEntry("swapped_egg_amount", oldEggBalance)]
476+ else throw("Strict value is not equal to itself.")
477+ }
478+
479+
480+
481+@Callable(i)
482+func payChange (addresses) = if ((i.caller != mAccAddr))
483+ then throw("Method can be called only by main account")
484+ else {
485+ let addressValues = split(addresses, ";")
486+ if ((size(addressValues) > 20))
487+ then throw("Can't send more than 20 transfers at once")
488+ else {
489+ func processAddress (accum,addressStr) = {
490+ let kAddrChange = (("address_" + addressStr) + "_change")
491+ let kAddrEarned = (("address_" + addressStr) + "_total_earned")
492+ let changeValue = getInt(kAddrChange)
493+[IntegerEntry(kAddrChange, 0), IntegerEntry(kAddrEarned, 0), ScriptTransfer(addressFromStringValue(addressStr), changeValue, getEggId())]
494+ }
495+
496+ let result = {
497+ let $list1208712130 = addressValues
498+ let $size1208712130 = size($list1208712130)
499+ let $acc01208712130 = nil
500+ if (($size1208712130 == 0))
501+ then $acc01208712130
502+ else {
503+ let $acc11208712130 = processAddress($acc01208712130, $list1208712130[0])
504+ if (($size1208712130 == 1))
505+ then $acc11208712130
506+ else {
507+ let $acc21208712130 = processAddress($acc11208712130, $list1208712130[1])
508+ if (($size1208712130 == 2))
509+ then $acc21208712130
510+ else {
511+ let $acc31208712130 = processAddress($acc21208712130, $list1208712130[2])
512+ if (($size1208712130 == 3))
513+ then $acc31208712130
514+ else {
515+ let $acc41208712130 = processAddress($acc31208712130, $list1208712130[3])
516+ if (($size1208712130 == 4))
517+ then $acc41208712130
518+ else {
519+ let $acc51208712130 = processAddress($acc41208712130, $list1208712130[4])
520+ if (($size1208712130 == 5))
521+ then $acc51208712130
522+ else {
523+ let $acc61208712130 = processAddress($acc51208712130, $list1208712130[5])
524+ if (($size1208712130 == 6))
525+ then $acc61208712130
526+ else {
527+ let $acc71208712130 = processAddress($acc61208712130, $list1208712130[6])
528+ if (($size1208712130 == 7))
529+ then $acc71208712130
530+ else {
531+ let $acc81208712130 = processAddress($acc71208712130, $list1208712130[7])
532+ if (($size1208712130 == 8))
533+ then $acc81208712130
534+ else {
535+ let $acc91208712130 = processAddress($acc81208712130, $list1208712130[8])
536+ if (($size1208712130 == 9))
537+ then $acc91208712130
538+ else {
539+ let $acc101208712130 = processAddress($acc91208712130, $list1208712130[9])
540+ if (($size1208712130 == 10))
541+ then $acc101208712130
542+ else {
543+ let $acc111208712130 = processAddress($acc101208712130, $list1208712130[10])
544+ if (($size1208712130 == 11))
545+ then $acc111208712130
546+ else {
547+ let $acc121208712130 = processAddress($acc111208712130, $list1208712130[11])
548+ if (($size1208712130 == 12))
549+ then $acc121208712130
550+ else {
551+ let $acc131208712130 = processAddress($acc121208712130, $list1208712130[12])
552+ if (($size1208712130 == 13))
553+ then $acc131208712130
554+ else {
555+ let $acc141208712130 = processAddress($acc131208712130, $list1208712130[13])
556+ if (($size1208712130 == 14))
557+ then $acc141208712130
558+ else {
559+ let $acc151208712130 = processAddress($acc141208712130, $list1208712130[14])
560+ if (($size1208712130 == 15))
561+ then $acc151208712130
562+ else {
563+ let $acc161208712130 = processAddress($acc151208712130, $list1208712130[15])
564+ if (($size1208712130 == 16))
565+ then $acc161208712130
566+ else {
567+ let $acc171208712130 = processAddress($acc161208712130, $list1208712130[16])
568+ if (($size1208712130 == 17))
569+ then $acc171208712130
570+ else {
571+ let $acc181208712130 = processAddress($acc171208712130, $list1208712130[17])
572+ if (($size1208712130 == 18))
573+ then $acc181208712130
574+ else {
575+ let $acc191208712130 = processAddress($acc181208712130, $list1208712130[18])
576+ if (($size1208712130 == 19))
577+ then $acc191208712130
578+ else {
579+ let $acc201208712130 = processAddress($acc191208712130, $list1208712130[19])
580+ if (($size1208712130 == 20))
581+ then $acc201208712130
582+ else {
583+ let $acc211208712130 = processAddress($acc201208712130, $list1208712130[20])
584+ throw("List size exceed 20")
585+ }
586+ }
587+ }
588+ }
589+ }
590+ }
591+ }
592+ }
593+ }
594+ }
595+ }
596+ }
597+ }
598+ }
599+ }
600+ }
601+ }
602+ }
603+ }
604+ }
605+ }
606+ }
607+ result
608+ }
470609 }
471610
472611
473612 @Verifier(tx)
474613 func verify () = {
475614 let checkStarted = (getInt(kTotalLiquidity) >= getInt(kLiquidityThreshold))
476615 func totalEggSpending (accum,payment) = if ((payment.assetId == getEggId()))
477616 then (accum + payment.amount)
478617 else accum
479618
480619 match tx {
481620 case inv: InvokeScriptTransaction =>
482621 let unstakedRewardNow = getInt(kUnstakedReward)
483622 let toDistr = getInt(kToDistr)
484623 let minBalance = (unstakedRewardNow + toDistr)
485624 if (if ((inv.function == "unstakeNFT"))
486625 then true
487626 else (inv.function == "unstakeJackpot"))
488627 then throw("You cannot call these functions directly")
489628 else if ((sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) == false))
490629 then throw("_100")
491630 else if ((checkStarted == false))
492631 then throw("_14")
493632 else if ((getBool(kLocked) == true))
494633 then throw("_22")
495634 else if (if ((inv.fee > 900000))
496635 then true
497636 else (inv.feeAssetId != unit))
498637 then throw("_15")
499638 else if ((inv.function == "claimReward"))
500639 then throw("_16")
501640 else if ((size(inv.payments) > 2))
502641 then throw("_17")
503642 else if ((minBalance > ((assetBalance(this, getEggId()) - {
504- let $list1180711849 = inv.payments
505- let $size1180711849 = size($list1180711849)
506- let $acc01180711849 = 0
507- if (($size1180711849 == 0))
508- then $acc01180711849
643+ let $list1335413396 = inv.payments
644+ let $size1335413396 = size($list1335413396)
645+ let $acc01335413396 = 0
646+ if (($size1335413396 == 0))
647+ then $acc01335413396
509648 else {
510- let $acc11180711849 = totalEggSpending($acc01180711849, $list1180711849[0])
511- if (($size1180711849 == 1))
512- then $acc11180711849
649+ let $acc11335413396 = totalEggSpending($acc01335413396, $list1335413396[0])
650+ if (($size1335413396 == 1))
651+ then $acc11335413396
513652 else {
514- let $acc21180711849 = totalEggSpending($acc11180711849, $list1180711849[1])
515- if (($size1180711849 == 2))
516- then $acc21180711849
653+ let $acc21335413396 = totalEggSpending($acc11335413396, $list1335413396[1])
654+ if (($size1335413396 == 2))
655+ then $acc21335413396
517656 else {
518- let $acc31180711849 = totalEggSpending($acc21180711849, $list1180711849[2])
519- if (($size1180711849 == 3))
520- then $acc31180711849
657+ let $acc31335413396 = totalEggSpending($acc21335413396, $list1335413396[2])
658+ if (($size1335413396 == 3))
659+ then $acc31335413396
521660 else {
522- let $acc41180711849 = totalEggSpending($acc31180711849, $list1180711849[3])
661+ let $acc41335413396 = totalEggSpending($acc31335413396, $list1335413396[3])
523662 throw("List size exceed 3")
524663 }
525664 }
526665 }
527666 }
528667 }) * 1000000)))
529668 then throw(("Your minimal balance should be = " + toString(minBalance)))
530669 else if (if ((addressFromRecipient(inv.dApp) == this))
531670 then (inv.function == "callUnstakeProxy")
532671 else false)
533672 then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
534673 else if (if ((addressFromRecipient(inv.dApp) == this))
535674 then (inv.function == "revertTransfer")
536675 else false)
537676 then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
538677 else if (if ((addressFromRecipient(inv.dApp) == this))
539678 then (inv.function == "claimCeoFee")
540679 else false)
541680 then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
542681 else if (if ((addressFromRecipient(inv.dApp) == this))
543682 then if ((inv.function == "lockInvestments"))
544683 then true
545684 else (inv.function == "unlockInvestments")
546685 else false)
547686 then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
548687 else if (if ((addressFromRecipient(inv.dApp) == addressFromStringValue(getMarketProxyAddr())))
549688 then (inv.function == "callMarketplaceProxy")
550689 else false)
551690 then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
552691 else {
553692 let allowedContracts = getStrA(mAccAddr, "allowed_contracts")
554693 let allowedContractsList = split(allowedContracts, ";")
555694 let dappToCall = toString(addressFromRecipient(inv.dApp))
556695 (indexOf(allowedContractsList, dappToCall) != unit)
557696 }
558697 case ss: SetScriptTransaction =>
559698 sigVerify(tx.bodyBytes, tx.proofs[0], mAccPKey)
560699 case _ =>
561700 false
562701 }
563702 }
564703

github/deemru/w8io/6500d08 
318.96 ms