tx · EUfM9xnia693bWzpnmj7fsc3ixbrvvV2pQDC8GTUpeYW

3MqJAScB6GGDcFxwV79KYp6Ub17DBexCDYR:  -0.14000000 Waves

2022.11.14 16:07 [2316841] smart account 3MqJAScB6GGDcFxwV79KYp6Ub17DBexCDYR > SELF 0.00000000 Waves

{ "type": 13, "id": "EUfM9xnia693bWzpnmj7fsc3ixbrvvV2pQDC8GTUpeYW", "fee": 14000000, "feeAssetId": null, "timestamp": 1668431245575, "version": 2, "chainId": 84, "sender": "3MqJAScB6GGDcFxwV79KYp6Ub17DBexCDYR", "senderPublicKey": "7vAsM1uosf2qCT6sCBdJwhPkkfhBXbJ2Be6DZtdq6Tej", "proofs": [ "4SXhwnD2otrHpBvV7kHTEyViLhshNHrbtBSeSh2ws4A2cqG46vynGLhdWtwbuVErSFudpMVtHRNdTNd31SXVJcKa", "55PD8mdUZNw3GbwCSGxxKKX64sG7MKmgQvW8B5QDKvLagxTQfFMSF8jLVT9PP1iCvdGn8X8WmeP2tC9kk4xFVYDS" ], "script": "base64:BgIUCAISABIFCgMICAESAwoBCBIAEgAlAAdrQWN0aXZlAgZhY3RpdmUAC2tBY3RpdmVHbG9iAhRhY3RpdmVfYWxsX2NvbnRyYWN0cwAGa0NhdXNlAg5zaHV0ZG93bl9jYXVzZQAWa0xhc3RQb29sVG9rZW5JbnRlcmVzdAITX3Bvb2xfbGFzdF9pbnRlcmVzdAARa1VzZXJMYXN0SW50ZXJlc3QCE191c2VyX2xhc3RfaW50ZXJlc3QAE2tVc2VyQ2xhaW1BdmFpbGFibGUCGF91c2VyX2F2YWlsYWJsZV90b19jbGFpbQAWa1VzZXJTaGFyZVRva2Vuc0xvY2tlZAIUX3NoYXJlX3Rva2Vuc19sb2NrZWQAEmtTaGFyZVRva2Vuc0xvY2tlZAIaX3RvdGFsX3NoYXJlX3Rva2Vuc19sb2NrZWQAC2tPcmFjbGVQb29sAgVwb29sXwANa1Bvb2xBc3NldElkcwIJYXNzZXRfaWRzAA1rQWRtaW5QdWJLZXkxAgthZG1pbl9wdWJfMQANa0FkbWluUHViS2V5MgILYWRtaW5fcHViXzIADWtBZG1pblB1YktleTMCC2FkbWluX3B1Yl8zAAxrRmFybWluZ0FkZHICD2Zhcm1pbmdfYWRkcmVzcwAQa01vbmV5Qm94QWRkcmVzcwIRbW9uZXlfYm94X2FkZHJlc3MACnNjYWxlVmFsdWUAgMLXLwAGb3JhY2xlCQEHQWRkcmVzcwEBGgFUSBOXDMDTM8wlMoC2KfenZGiAq+PMe0uZARNnZXRCYXNlNThGcm9tT3JhY2xlAQNrZXkEByRtYXRjaDAJAJ0IAgUGb3JhY2xlBQNrZXkDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAZzdHJpbmcFByRtYXRjaDAJANkEAQUGc3RyaW5nBAdub3RoaW5nBQckbWF0Y2gwCQACAQkArAICBQNrZXkCCGlzIGVtcHR5AAxhZG1pblB1YktleTEJARNnZXRCYXNlNThGcm9tT3JhY2xlAQUNa0FkbWluUHViS2V5MQAMYWRtaW5QdWJLZXkyCQETZ2V0QmFzZTU4RnJvbU9yYWNsZQEFDWtBZG1pblB1YktleTIADGFkbWluUHViS2V5MwkBE2dldEJhc2U1OEZyb21PcmFjbGUBBQ1rQWRtaW5QdWJLZXkzAAtmYXJtaW5nQWRkcgkBB0FkZHJlc3MBCQETZ2V0QmFzZTU4RnJvbU9yYWNsZQEFDGtGYXJtaW5nQWRkcgAPbW9uZXlCb3hBZGRyZXNzCQEHQWRkcmVzcwEJARNnZXRCYXNlNThGcm9tT3JhY2xlAQUQa01vbmV5Qm94QWRkcmVzcwAGYWN0aXZlCQELdmFsdWVPckVsc2UCCQCbCAIFBHRoaXMFB2tBY3RpdmUGAAphY3RpdmVHbG9iCQELdmFsdWVPckVsc2UCCQCbCAIFBm9yYWNsZQULa0FjdGl2ZUdsb2IGAQhpc0FjdGl2ZQADAwUGYWN0aXZlBQphY3RpdmVHbG9iBwUEdW5pdAkAAgECH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQBCmlzUG9vbENhbGwBBmNhbGxlcgMJAQlpc0RlZmluZWQBCQCdCAIFBm9yYWNsZQkArAICBQtrT3JhY2xlUG9vbAkApQgBBQZjYWxsZXIFBHVuaXQJAAIBAiBPbmx5IHBvb2wgY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgENaXNGYXJtaW5nQ2FsbAEGY2FsbGVyAwkAAAIFBmNhbGxlcgULZmFybWluZ0FkZHIFBHVuaXQJAAIBAiNPbmx5IGZhcm1pbmcgY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgEHc3VzcGVuZAEFY2F1c2UJAMwIAgkBDEJvb2xlYW5FbnRyeQIFB2tBY3RpdmUHCQDMCAIJAQtTdHJpbmdFbnRyeQIFBmtDYXVzZQUFY2F1c2UFA25pbAEYZ2V0VXNlclNoYXJlVG9rZW5zTG9ja2VkAgRwb29sC3VzZXJBZGRyZXNzCQELdmFsdWVPckVsc2UCCQCaCAIFC2Zhcm1pbmdBZGRyCQCsAgIJAKwCAgkArAICBQRwb29sAgFfBQt1c2VyQWRkcmVzcwUWa1VzZXJTaGFyZVRva2Vuc0xvY2tlZAAAARlnZXRUb3RhbFNoYXJlVG9rZW5zTG9ja2VkAQRwb29sCQELdmFsdWVPckVsc2UCCQCaCAIFC2Zhcm1pbmdBZGRyCQCsAgIFBHBvb2wFEmtTaGFyZVRva2Vuc0xvY2tlZAAAARNnZXRVc2VyTGFzdEludGVyZXN0AwR1c2VyBHBvb2wHYXNzZXRJZAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgUEdXNlcgIBXwUEcG9vbAIBXwUHYXNzZXRJZAURa1VzZXJMYXN0SW50ZXJlc3QAAAEYZ2V0UG9vbFRva2VuTGFzdEludGVyZXN0AgRwb29sB2Fzc2V0SWQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkArAICCQCsAgIJAKwCAgUEcG9vbAIBXwUHYXNzZXRJZAUWa0xhc3RQb29sVG9rZW5JbnRlcmVzdAAAARVnZXRVc2VyQ2xhaW1BdmFpbGFibGUDBHVzZXIEcG9vbAdhc3NldElkCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAKwCAgkArAICCQCsAgIJAKwCAgkArAICBQR1c2VyAgFfBQRwb29sAgFfBQdhc3NldElkBRNrVXNlckNsYWltQXZhaWxhYmxlAAABDWdldFN0ckFzc2V0SWQBB2Fzc2V0SWQEByRtYXRjaDAFB2Fzc2V0SWQDCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQCaWQFByRtYXRjaDAJANgEAQUCaWQDCQABAgUHJG1hdGNoMAIEVW5pdAQFd2F2ZXMFByRtYXRjaDACBVdBVkVTCQACAQILTWF0Y2ggZXJyb3IBD2NhbGNDbGFpbUFtb3VudAMEcG9vbAdhc3NldElkBHVzZXIEDGxhc3RJbnRlcmVzdAkBGGdldFBvb2xUb2tlbkxhc3RJbnRlcmVzdAIFBHBvb2wFB2Fzc2V0SWQEEHVzZXJMYXN0SW50ZXJlc3QJARNnZXRVc2VyTGFzdEludGVyZXN0AwUEdXNlcgUEcG9vbAUHYXNzZXRJZAQVdXNlclNoYXJlVG9rZW5zTG9ja2VkCQEYZ2V0VXNlclNoYXJlVG9rZW5zTG9ja2VkAgUEcG9vbAUEdXNlcgQSdXNlckNsYWltQXZhaWxhYmxlCQEVZ2V0VXNlckNsYWltQXZhaWxhYmxlAwUEdXNlcgUEcG9vbAUHYXNzZXRJZAQVbmV3VXNlckNsYWltQXZhaWxhYmxlCQBrAwUVdXNlclNoYXJlVG9rZW5zTG9ja2VkCQBlAgUMbGFzdEludGVyZXN0BRB1c2VyTGFzdEludGVyZXN0BQpzY2FsZVZhbHVlCQCUCgIJAGQCBRJ1c2VyQ2xhaW1BdmFpbGFibGUFFW5ld1VzZXJDbGFpbUF2YWlsYWJsZQUMbGFzdEludGVyZXN0ARdjYWxjQ2xhaW1BbW91bnRFdmFsdWF0ZQIEcG9vbAR1c2VyBAhwb29sQWRkcgkBB0FkZHJlc3MBCQDZBAEFBHBvb2wECGFzc2V0SWRzCQC1CQIJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQhwb29sQWRkcgUNa1Bvb2xBc3NldElkcwIWQ2FuJ3QgZmluZCBwb29sIGFzc2V0cwIBLAoBEGNhbGNDbGFpbUFtb3VudHMCA2FjYwdhc3NldElkBAskdDAzNTY2MzYzNgkBD2NhbGNDbGFpbUFtb3VudAMFBHBvb2wFB2Fzc2V0SWQFBHVzZXIEC2NsYWltQW1vdW50CAULJHQwMzU2NjM2MzYCXzEEDGxhc3RJbnRlcmVzdAgFCyR0MDM1NjYzNjM2Al8yCQDNCAIFA2FjYwkAzAgCBQtjbGFpbUFtb3VudAUDbmlsBAxjbGFpbUFtb3VudHMKAAIkbAUIYXNzZXRJZHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBEGNhbGNDbGFpbUFtb3VudHMCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDE1CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPCQCUCgIFCGFzc2V0SWRzBQxjbGFpbUFtb3VudHMFAWkBB2FpckRyb3AACQELdmFsdWVPckVsc2UCCQEIaXNBY3RpdmUACQELdmFsdWVPckVsc2UCCQEKaXNQb29sQ2FsbAEIBQFpBmNhbGxlcgQLJHQwMzg0OTM5MjQJAJQKAggJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAQJcG10QW1vdW50CAULJHQwMzg0OTM5MjQCXzEECnBtdEFzc2V0SWQIBQskdDAzODQ5MzkyNAJfMgQEcG9vbAkApQgBCAUBaQZjYWxsZXIEFnRvdGFsU2hhcmVUb2tlbnNMb2NrZWQJARlnZXRUb3RhbFNoYXJlVG9rZW5zTG9ja2VkAQUEcG9vbAMJAAACBRZ0b3RhbFNoYXJlVG9rZW5zTG9ja2VkAAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUPbW9uZXlCb3hBZGRyZXNzBQlwbXRBbW91bnQFCnBtdEFzc2V0SWQFA25pbAQMbGFzdEludGVyZXN0CQEYZ2V0UG9vbFRva2VuTGFzdEludGVyZXN0AgUEcG9vbAkBDWdldFN0ckFzc2V0SWQBBQpwbXRBc3NldElkBAtpbnRlcmVzdE5ldwkAZAIFDGxhc3RJbnRlcmVzdAMJAGYCBQlwbXRBbW91bnQAAAkAawMFCXBtdEFtb3VudAUKc2NhbGVWYWx1ZQUWdG90YWxTaGFyZVRva2Vuc0xvY2tlZAAACQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgkArAICBQRwb29sAgFfCQENZ2V0U3RyQXNzZXRJZAEFCnBtdEFzc2V0SWQFFmtMYXN0UG9vbFRva2VuSW50ZXJlc3QFC2ludGVyZXN0TmV3BQNuaWwBaQESdXBkYXRlVXNlckludGVyZXN0AwR1c2VyBHBvb2wYbmV3VXNlclNoYXJlVG9rZW5zTG9ja2VkCQELdmFsdWVPckVsc2UCCQEIaXNBY3RpdmUACQELdmFsdWVPckVsc2UCCQENaXNGYXJtaW5nQ2FsbAEIBQFpBmNhbGxlcgQIcG9vbEFkZHIJAQdBZGRyZXNzAQkA2QQBBQRwb29sBAhhc3NldElkcwkAtQkCCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUIcG9vbEFkZHIFDWtQb29sQXNzZXRJZHMCFkNhbid0IGZpbmQgcG9vbCBhc3NldHMCASwKASdjYWxjTmV3VXNlckludGVyZXN0QW5kQ2xhaW1BbW91bnRFdHJpZXMCA2FjYwdhc3NldElkBAskdDA0ODczNDk0MwkBD2NhbGNDbGFpbUFtb3VudAMFBHBvb2wFB2Fzc2V0SWQFBHVzZXIEC2NsYWltQW1vdW50CAULJHQwNDg3MzQ5NDMCXzEEDGxhc3RJbnRlcmVzdAgFCyR0MDQ4NzM0OTQzAl8yCQDOCAIFA2FjYwkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIFBHVzZXICAV8FBHBvb2wCAV8FB2Fzc2V0SWQFE2tVc2VyQ2xhaW1BdmFpbGFibGUFC2NsYWltQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgUEdXNlcgIBXwUEcG9vbAIBXwUHYXNzZXRJZAURa1VzZXJMYXN0SW50ZXJlc3QFDGxhc3RJbnRlcmVzdAUDbmlsCgACJGwFCGFzc2V0SWRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJASdjYWxjTmV3VXNlckludGVyZXN0QW5kQ2xhaW1BbW91bnRFdHJpZXMCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDE1CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPAWkBBWNsYWltAQRwb29sCQELdmFsdWVPckVsc2UCCQEIaXNBY3RpdmUABAhwb29sQWRkcgkBB0FkZHJlc3MBCQDZBAEFBHBvb2wEBHVzZXIJAKUIAQgFAWkGY2FsbGVyBAhhc3NldElkcwkAtQkCCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUIcG9vbEFkZHIFDWtQb29sQXNzZXRJZHMCFkNhbid0IGZpbmQgcG9vbCBhc3NldHMCASwKARZjYWxjQ2xhaW1BbW91bnRFbnRyaWVzAgNhY2MHYXNzZXRJZAQLJHQwNTU5NzU2MjEFA2FjYwQHZW50cmllcwgFCyR0MDU1OTc1NjIxAl8xBANzdW0IBQskdDA1NTk3NTYyMQJfMgQLJHQwNTYyODU2OTgJAQ9jYWxjQ2xhaW1BbW91bnQDBQRwb29sBQdhc3NldElkBQR1c2VyBAtjbGFpbUFtb3VudAgFCyR0MDU2Mjg1Njk4Al8xBAxsYXN0SW50ZXJlc3QIBQskdDA1NjI4NTY5OAJfMgkAlAoCCQDOCAIFB2VudHJpZXMJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQtjbGFpbUFtb3VudAkA2QQBBQdhc3NldElkCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgUEdXNlcgIBXwUEcG9vbAIBXwUHYXNzZXRJZAUTa1VzZXJDbGFpbUF2YWlsYWJsZQAACQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgUEdXNlcgIBXwUEcG9vbAIBXwUHYXNzZXRJZAURa1VzZXJMYXN0SW50ZXJlc3QFDGxhc3RJbnRlcmVzdAUDbmlsCQBkAgUDc3VtBQtjbGFpbUFtb3VudAQLJHQwNjAwNDYwODcKAAIkbAUIYXNzZXRJZHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwCQCUCgIFA25pbAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJARZjYWxjQ2xhaW1BbW91bnRFbnRyaWVzAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxNQkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwQMY2xhaW1FbnRyaWVzCAULJHQwNjAwNDYwODcCXzEECXN1bVRva2VucwgFCyR0MDYwMDQ2MDg3Al8yAwkAAAIFCXN1bVRva2VucwAACQACAQIcWW91IGhhdmUgbm8gdG9rZW5zIGZvciBjbGFpbQUMY2xhaW1FbnRyaWVzAWkBCHNodXRkb3duAAMJAQEhAQUGYWN0aXZlCQACAQkArAICAiJEQXBwIGlzIGFscmVhZHkgc3VzcGVuZGVkLiBDYXVzZTogCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMFBmtDYXVzZQIadGhlIGNhdXNlIHdhc24ndCBzcGVjaWZpZWQDCQEBIQEJAQ9jb250YWluc0VsZW1lbnQCCQDMCAIFDGFkbWluUHViS2V5MQkAzAgCBQxhZG1pblB1YktleTIJAMwIAgUMYWRtaW5QdWJLZXkzBQNuaWwIBQFpD2NhbGxlclB1YmxpY0tleQkAAgECIU9ubHkgYWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgkBB3N1c3BlbmQBAg9QYXVzZWQgYnkgYWRtaW4BaQEIYWN0aXZhdGUAAwUGYWN0aXZlCQACAQIWREFwcCBpcyBhbHJlYWR5IGFjdGl2ZQMJAQEhAQkBD2NvbnRhaW5zRWxlbWVudAIJAMwIAgUMYWRtaW5QdWJLZXkxCQDMCAIFDGFkbWluUHViS2V5MgkAzAgCBQxhZG1pblB1YktleTMFA25pbAgFAWkPY2FsbGVyUHVibGljS2V5CQACAQIhT25seSBhZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uCQDMCAIJAQxCb29sZWFuRW50cnkCBQdrQWN0aXZlBgkAzAgCCQELRGVsZXRlRW50cnkBBQZrQ2F1c2UFA25pbAECdHgBBnZlcmlmeQAEEmFkbWluUHViS2V5MVNpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFDGFkbWluUHViS2V5MQABAAAEEmFkbWluUHViS2V5MlNpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAEFDGFkbWluUHViS2V5MgABAAAEEmFkbWluUHViS2V5M1NpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAIFDGFkbWluUHViS2V5MwABAAAJAGcCCQBkAgkAZAIFEmFkbWluUHViS2V5MVNpZ25lZAUSYWRtaW5QdWJLZXkyU2lnbmVkBRJhZG1pblB1YktleTNTaWduZWQAAm2dC9o=", "height": 2316841, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3cJBzfaXUM4BCBpXYK1qETBFabxPMZzwT7XffYscwqoZ Next: DdAvYjxgGwyUCMT9AD3PiBYumsvYru3dm68eExucfsgz Diff:
OldNewDifferences
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "active"
55
6-let b = "shutdown_cause"
6+let b = "active_all_contracts"
77
8-let c = "_pool_last_interest"
8+let c = "shutdown_cause"
99
10-let d = "_user_last_interest"
10+let d = "_pool_last_interest"
1111
12-let e = "_user_available_to_claim"
12+let e = "_user_last_interest"
1313
14-let f = "_share_tokens_locked"
14+let f = "_user_available_to_claim"
1515
16-let g = "_total_share_tokens_locked"
16+let g = "_share_tokens_locked"
1717
18-let h = "pool_"
18+let h = "_total_share_tokens_locked"
1919
20-let i = "asset_ids"
20+let i = "pool_"
2121
22-let j = "admin_pub_1"
22+let j = "asset_ids"
2323
24-let k = "admin_pub_2"
24+let k = "admin_pub_1"
2525
26-let l = "admin_pub_3"
26+let l = "admin_pub_2"
2727
28-let m = "farming_address"
28+let m = "admin_pub_3"
2929
30-let n = "money_box_address"
30+let n = "farming_address"
3131
32-let o = 100000000
32+let o = "money_box_address"
3333
34-let p = Address(base58'3MvVBtsXroQpy1tsPw21TU2ET9A8WfmrNjz')
34+let p = 100000000
3535
36-func q (r) = {
37- let s = getString(p, r)
38- if ($isInstanceOf(s, "String"))
36+let q = Address(base58'3MvVBtsXroQpy1tsPw21TU2ET9A8WfmrNjz')
37+
38+func r (s) = {
39+ let t = getString(q, s)
40+ if ($isInstanceOf(t, "String"))
3941 then {
40- let t = s
41- fromBase58String(t)
42+ let u = t
43+ fromBase58String(u)
4244 }
4345 else {
44- let u = s
45- throw((r + "is empty"))
46+ let v = t
47+ throw((s + "is empty"))
4648 }
4749 }
4850
4951
50-let v = q(j)
52+let w = r(k)
5153
52-let w = q(k)
54+let x = r(l)
5355
54-let x = q(l)
56+let y = r(m)
5557
56-let y = Address(q(m))
58+let z = Address(r(n))
5759
58-let z = Address(q(n))
60+let A = Address(r(o))
5961
60-let A = valueOrElse(getBoolean(this, a), true)
62+let B = valueOrElse(getBoolean(this, a), true)
6163
62-func B () = if (A)
64+let C = valueOrElse(getBoolean(q, b), true)
65+
66+func D () = if (if (B)
67+ then C
68+ else false)
6369 then unit
6470 else throw("DApp is inactive at this moment")
6571
6672
67-func C (D) = if (isDefined(getString(p, (h + toString(D)))))
73+func E (F) = if (isDefined(getString(q, (i + toString(F)))))
6874 then unit
6975 else throw("Only pool can call this function")
7076
7177
72-func E (D) = if ((D == y))
78+func G (F) = if ((F == z))
7379 then unit
7480 else throw("Only farming can call this function")
7581
7682
77-func F (G) = [BooleanEntry(a, false), StringEntry(b, G)]
83+func H (I) = [BooleanEntry(a, false), StringEntry(c, I)]
7884
7985
80-func H (I,J) = valueOrElse(getInteger(y, (((I + "_") + J) + f)), 0)
86+func J (K,L) = valueOrElse(getInteger(z, (((K + "_") + L) + g)), 0)
8187
8288
83-func K (I) = valueOrElse(getInteger(y, (I + g)), 0)
89+func M (K) = valueOrElse(getInteger(z, (K + h)), 0)
8490
8591
86-func L (M,I,N) = valueOrElse(getInteger(this, (((((M + "_") + I) + "_") + N) + d)), 0)
92+func N (O,K,P) = valueOrElse(getInteger(this, (((((O + "_") + K) + "_") + P) + e)), 0)
8793
8894
89-func O (I,N) = valueOrElse(getInteger(this, (((I + "_") + N) + c)), 0)
95+func Q (K,P) = valueOrElse(getInteger(this, (((K + "_") + P) + d)), 0)
9096
9197
92-func P (M,I,N) = valueOrElse(getInteger(this, (((((M + "_") + I) + "_") + N) + e)), 0)
98+func R (O,K,P) = valueOrElse(getInteger(this, (((((O + "_") + K) + "_") + P) + f)), 0)
9399
94100
95-func Q (N) = {
96- let s = N
97- if ($isInstanceOf(s, "ByteVector"))
101+func S (P) = {
102+ let t = P
103+ if ($isInstanceOf(t, "ByteVector"))
98104 then {
99- let R = s
100- toBase58String(R)
105+ let T = t
106+ toBase58String(T)
101107 }
102- else if ($isInstanceOf(s, "Unit"))
108+ else if ($isInstanceOf(t, "Unit"))
103109 then {
104- let S = s
110+ let U = t
105111 "WAVES"
106112 }
107113 else throw("Match error")
108114 }
109115
110116
111-func T (I,N,M) = {
112- let U = O(I, N)
113- let V = L(M, I, N)
114- let W = H(I, M)
115- let X = P(M, I, N)
116- let Y = fraction(W, (U - V), o)
117- $Tuple2((X + Y), U)
117+func V (K,P,O) = {
118+ let W = Q(K, P)
119+ let X = N(O, K, P)
120+ let Y = J(K, O)
121+ let Z = R(O, K, P)
122+ let aa = fraction(Y, (W - X), p)
123+ $Tuple2((Z + aa), W)
118124 }
119125
120126
121-func Z (I,M) = {
122- let aa = Address(fromBase58String(I))
123- let ab = split(valueOrErrorMessage(getString(aa, i), "Can't find pool assets"), ",")
124- func ac (ad,N) = {
125- let ae = T(I, N, M)
126- let af = ae._1
127- let U = ae._2
128- (ad :+ [af])
127+func ab (K,O) = {
128+ let ac = Address(fromBase58String(K))
129+ let ad = split(valueOrErrorMessage(getString(ac, j), "Can't find pool assets"), ",")
130+ func ae (af,P) = {
131+ let ag = V(K, P, O)
132+ let ah = ag._1
133+ let W = ag._2
134+ (af :+ [ah])
129135 }
130136
131- let ag = {
132- let ah = ab
133- let ai = size(ah)
134- let aj = nil
135- func ak (al,am) = if ((am >= ai))
136- then al
137- else ac(al, ah[am])
137+ let ai = {
138+ let aj = ad
139+ let ak = size(aj)
140+ let al = nil
141+ func am (an,ao) = if ((ao >= ak))
142+ then an
143+ else ae(an, aj[ao])
138144
139- func an (al,am) = if ((am >= ai))
140- then al
145+ func ap (an,ao) = if ((ao >= ak))
146+ then an
141147 else throw("List size exceeds 15")
142148
143- an(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(aj, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
149+ ap(am(am(am(am(am(am(am(am(am(am(am(am(am(am(am(al, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
144150 }
145- $Tuple2(ab, ag)
151+ $Tuple2(ad, ai)
146152 }
147153
148154
149-@Callable(ao)
150-func airDrop () = valueOrElse(B(), valueOrElse(C(ao.caller), {
151- let ap = $Tuple2(ao.payments[0].amount, ao.payments[0].assetId)
152- let aq = ap._1
153- let ar = ap._2
154- let I = toString(ao.caller)
155- let as = K(I)
156- if ((as == 0))
157- then [ScriptTransfer(z, aq, ar)]
155+@Callable(aq)
156+func airDrop () = valueOrElse(D(), valueOrElse(E(aq.caller), {
157+ let ar = $Tuple2(aq.payments[0].amount, aq.payments[0].assetId)
158+ let as = ar._1
159+ let at = ar._2
160+ let K = toString(aq.caller)
161+ let au = M(K)
162+ if ((au == 0))
163+ then [ScriptTransfer(A, as, at)]
158164 else {
159- let U = O(I, Q(ar))
160- let at = (U + (if ((aq > 0))
161- then fraction(aq, o, as)
165+ let W = Q(K, S(at))
166+ let av = (W + (if ((as > 0))
167+ then fraction(as, p, au)
162168 else 0))
163-[IntegerEntry((((I + "_") + Q(ar)) + c), at)]
169+[IntegerEntry((((K + "_") + S(at)) + d), av)]
164170 }
165171 }))
166172
167173
168174
169-@Callable(ao)
170-func updateUserInterest (I,au) = valueOrElse(B(), valueOrElse(E(ao.caller), {
171- let aa = Address(fromBase58String(I))
172- let M = toString(ao.originCaller)
173- let ab = split(valueOrErrorMessage(getString(aa, i), "Can't find pool assets"), ",")
174- func av (ad,N) = {
175- let aw = T(I, N, M)
176- let af = aw._1
177- let U = aw._2
178- (ad ++ [IntegerEntry((((((M + "_") + I) + "_") + N) + e), af), IntegerEntry((((((M + "_") + I) + "_") + N) + d), U)])
175+@Callable(aq)
176+func updateUserInterest (O,K,aw) = valueOrElse(D(), valueOrElse(G(aq.caller), {
177+ let ac = Address(fromBase58String(K))
178+ let ad = split(valueOrErrorMessage(getString(ac, j), "Can't find pool assets"), ",")
179+ func ax (af,P) = {
180+ let ay = V(K, P, O)
181+ let ah = ay._1
182+ let W = ay._2
183+ (af ++ [IntegerEntry((((((O + "_") + K) + "_") + P) + f), ah), IntegerEntry((((((O + "_") + K) + "_") + P) + e), W)])
179184 }
180185
181- let ah = ab
182- let ai = size(ah)
183- let aj = nil
184- func ak (al,am) = if ((am >= ai))
185- then al
186- else av(al, ah[am])
186+ let aj = ad
187+ let ak = size(aj)
188+ let al = nil
189+ func am (an,ao) = if ((ao >= ak))
190+ then an
191+ else ax(an, aj[ao])
187192
188- func an (al,am) = if ((am >= ai))
189- then al
193+ func ap (an,ao) = if ((ao >= ak))
194+ then an
190195 else throw("List size exceeds 15")
191196
192- an(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(aj, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
197+ ap(am(am(am(am(am(am(am(am(am(am(am(am(am(am(am(al, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
193198 }))
194199
195200
196201
197-@Callable(ao)
198-func claim (I) = valueOrElse(B(), {
199- let aa = Address(fromBase58String(I))
200- let M = toString(ao.caller)
201- let ab = split(valueOrErrorMessage(getString(aa, i), "Can't find pool assets"), ",")
202- func ax (ad,N) = {
203- let ay = ad
204- let az = ay._1
205- let aA = ay._2
206- let aB = T(I, N, M)
207- let af = aB._1
208- let U = aB._2
209- $Tuple2((az ++ [ScriptTransfer(ao.caller, af, fromBase58String(N)), IntegerEntry((((((M + "_") + I) + "_") + N) + e), 0), IntegerEntry((((((M + "_") + I) + "_") + N) + d), U)]), (aA + af))
202+@Callable(aq)
203+func claim (K) = valueOrElse(D(), {
204+ let ac = Address(fromBase58String(K))
205+ let O = toString(aq.caller)
206+ let ad = split(valueOrErrorMessage(getString(ac, j), "Can't find pool assets"), ",")
207+ func az (af,P) = {
208+ let aA = af
209+ let aB = aA._1
210+ let aC = aA._2
211+ let aD = V(K, P, O)
212+ let ah = aD._1
213+ let W = aD._2
214+ $Tuple2((aB ++ [ScriptTransfer(aq.caller, ah, fromBase58String(P)), IntegerEntry((((((O + "_") + K) + "_") + P) + f), 0), IntegerEntry((((((O + "_") + K) + "_") + P) + e), W)]), (aC + ah))
210215 }
211216
212- let aC = {
213- let ah = ab
214- let ai = size(ah)
215- let aj = $Tuple2(nil, 0)
216- func ak (al,am) = if ((am >= ai))
217- then al
218- else ax(al, ah[am])
217+ let aE = {
218+ let aj = ad
219+ let ak = size(aj)
220+ let al = $Tuple2(nil, 0)
221+ func am (an,ao) = if ((ao >= ak))
222+ then an
223+ else az(an, aj[ao])
219224
220- func an (al,am) = if ((am >= ai))
221- then al
225+ func ap (an,ao) = if ((ao >= ak))
226+ then an
222227 else throw("List size exceeds 15")
223228
224- an(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(aj, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
229+ ap(am(am(am(am(am(am(am(am(am(am(am(am(am(am(am(al, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
225230 }
226- let aD = aC._1
227- let aE = aC._2
228- if ((aE == 0))
231+ let aF = aE._1
232+ let aG = aE._2
233+ if ((aG == 0))
229234 then throw("You have no tokens for claim")
230- else aD
235+ else aF
231236 })
232237
233238
234239
235-@Callable(ao)
236-func shutdown () = if (!(A))
237- then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, b), "the cause wasn't specified")))
238- else if (!(containsElement([v, w, x], ao.callerPublicKey)))
240+@Callable(aq)
241+func shutdown () = if (!(B))
242+ then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, c), "the cause wasn't specified")))
243+ else if (!(containsElement([w, x, y], aq.callerPublicKey)))
239244 then throw("Only admin can call this function")
240- else F("Paused by admin")
245+ else H("Paused by admin")
241246
242247
243248
244-@Callable(ao)
245-func activate () = if (A)
249+@Callable(aq)
250+func activate () = if (B)
246251 then throw("DApp is already active")
247- else if (!(containsElement([v, w, x], ao.callerPublicKey)))
252+ else if (!(containsElement([w, x, y], aq.callerPublicKey)))
248253 then throw("Only admin can call this function")
249- else [BooleanEntry(a, true), DeleteEntry(b)]
254+ else [BooleanEntry(a, true), DeleteEntry(c)]
250255
251256
252-@Verifier(aF)
253-func aG () = {
254- let aH = if (sigVerify(aF.bodyBytes, aF.proofs[0], v))
257+@Verifier(aH)
258+func aI () = {
259+ let aJ = if (sigVerify(aH.bodyBytes, aH.proofs[0], w))
255260 then 1
256261 else 0
257- let aI = if (sigVerify(aF.bodyBytes, aF.proofs[1], w))
262+ let aK = if (sigVerify(aH.bodyBytes, aH.proofs[1], x))
258263 then 1
259264 else 0
260- let aJ = if (sigVerify(aF.bodyBytes, aF.proofs[2], x))
265+ let aL = if (sigVerify(aH.bodyBytes, aH.proofs[2], y))
261266 then 1
262267 else 0
263- (((aH + aI) + aJ) >= 2)
268+ (((aJ + aK) + aL) >= 2)
264269 }
265270
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "active"
55
6-let b = "shutdown_cause"
6+let b = "active_all_contracts"
77
8-let c = "_pool_last_interest"
8+let c = "shutdown_cause"
99
10-let d = "_user_last_interest"
10+let d = "_pool_last_interest"
1111
12-let e = "_user_available_to_claim"
12+let e = "_user_last_interest"
1313
14-let f = "_share_tokens_locked"
14+let f = "_user_available_to_claim"
1515
16-let g = "_total_share_tokens_locked"
16+let g = "_share_tokens_locked"
1717
18-let h = "pool_"
18+let h = "_total_share_tokens_locked"
1919
20-let i = "asset_ids"
20+let i = "pool_"
2121
22-let j = "admin_pub_1"
22+let j = "asset_ids"
2323
24-let k = "admin_pub_2"
24+let k = "admin_pub_1"
2525
26-let l = "admin_pub_3"
26+let l = "admin_pub_2"
2727
28-let m = "farming_address"
28+let m = "admin_pub_3"
2929
30-let n = "money_box_address"
30+let n = "farming_address"
3131
32-let o = 100000000
32+let o = "money_box_address"
3333
34-let p = Address(base58'3MvVBtsXroQpy1tsPw21TU2ET9A8WfmrNjz')
34+let p = 100000000
3535
36-func q (r) = {
37- let s = getString(p, r)
38- if ($isInstanceOf(s, "String"))
36+let q = Address(base58'3MvVBtsXroQpy1tsPw21TU2ET9A8WfmrNjz')
37+
38+func r (s) = {
39+ let t = getString(q, s)
40+ if ($isInstanceOf(t, "String"))
3941 then {
40- let t = s
41- fromBase58String(t)
42+ let u = t
43+ fromBase58String(u)
4244 }
4345 else {
44- let u = s
45- throw((r + "is empty"))
46+ let v = t
47+ throw((s + "is empty"))
4648 }
4749 }
4850
4951
50-let v = q(j)
52+let w = r(k)
5153
52-let w = q(k)
54+let x = r(l)
5355
54-let x = q(l)
56+let y = r(m)
5557
56-let y = Address(q(m))
58+let z = Address(r(n))
5759
58-let z = Address(q(n))
60+let A = Address(r(o))
5961
60-let A = valueOrElse(getBoolean(this, a), true)
62+let B = valueOrElse(getBoolean(this, a), true)
6163
62-func B () = if (A)
64+let C = valueOrElse(getBoolean(q, b), true)
65+
66+func D () = if (if (B)
67+ then C
68+ else false)
6369 then unit
6470 else throw("DApp is inactive at this moment")
6571
6672
67-func C (D) = if (isDefined(getString(p, (h + toString(D)))))
73+func E (F) = if (isDefined(getString(q, (i + toString(F)))))
6874 then unit
6975 else throw("Only pool can call this function")
7076
7177
72-func E (D) = if ((D == y))
78+func G (F) = if ((F == z))
7379 then unit
7480 else throw("Only farming can call this function")
7581
7682
77-func F (G) = [BooleanEntry(a, false), StringEntry(b, G)]
83+func H (I) = [BooleanEntry(a, false), StringEntry(c, I)]
7884
7985
80-func H (I,J) = valueOrElse(getInteger(y, (((I + "_") + J) + f)), 0)
86+func J (K,L) = valueOrElse(getInteger(z, (((K + "_") + L) + g)), 0)
8187
8288
83-func K (I) = valueOrElse(getInteger(y, (I + g)), 0)
89+func M (K) = valueOrElse(getInteger(z, (K + h)), 0)
8490
8591
86-func L (M,I,N) = valueOrElse(getInteger(this, (((((M + "_") + I) + "_") + N) + d)), 0)
92+func N (O,K,P) = valueOrElse(getInteger(this, (((((O + "_") + K) + "_") + P) + e)), 0)
8793
8894
89-func O (I,N) = valueOrElse(getInteger(this, (((I + "_") + N) + c)), 0)
95+func Q (K,P) = valueOrElse(getInteger(this, (((K + "_") + P) + d)), 0)
9096
9197
92-func P (M,I,N) = valueOrElse(getInteger(this, (((((M + "_") + I) + "_") + N) + e)), 0)
98+func R (O,K,P) = valueOrElse(getInteger(this, (((((O + "_") + K) + "_") + P) + f)), 0)
9399
94100
95-func Q (N) = {
96- let s = N
97- if ($isInstanceOf(s, "ByteVector"))
101+func S (P) = {
102+ let t = P
103+ if ($isInstanceOf(t, "ByteVector"))
98104 then {
99- let R = s
100- toBase58String(R)
105+ let T = t
106+ toBase58String(T)
101107 }
102- else if ($isInstanceOf(s, "Unit"))
108+ else if ($isInstanceOf(t, "Unit"))
103109 then {
104- let S = s
110+ let U = t
105111 "WAVES"
106112 }
107113 else throw("Match error")
108114 }
109115
110116
111-func T (I,N,M) = {
112- let U = O(I, N)
113- let V = L(M, I, N)
114- let W = H(I, M)
115- let X = P(M, I, N)
116- let Y = fraction(W, (U - V), o)
117- $Tuple2((X + Y), U)
117+func V (K,P,O) = {
118+ let W = Q(K, P)
119+ let X = N(O, K, P)
120+ let Y = J(K, O)
121+ let Z = R(O, K, P)
122+ let aa = fraction(Y, (W - X), p)
123+ $Tuple2((Z + aa), W)
118124 }
119125
120126
121-func Z (I,M) = {
122- let aa = Address(fromBase58String(I))
123- let ab = split(valueOrErrorMessage(getString(aa, i), "Can't find pool assets"), ",")
124- func ac (ad,N) = {
125- let ae = T(I, N, M)
126- let af = ae._1
127- let U = ae._2
128- (ad :+ [af])
127+func ab (K,O) = {
128+ let ac = Address(fromBase58String(K))
129+ let ad = split(valueOrErrorMessage(getString(ac, j), "Can't find pool assets"), ",")
130+ func ae (af,P) = {
131+ let ag = V(K, P, O)
132+ let ah = ag._1
133+ let W = ag._2
134+ (af :+ [ah])
129135 }
130136
131- let ag = {
132- let ah = ab
133- let ai = size(ah)
134- let aj = nil
135- func ak (al,am) = if ((am >= ai))
136- then al
137- else ac(al, ah[am])
137+ let ai = {
138+ let aj = ad
139+ let ak = size(aj)
140+ let al = nil
141+ func am (an,ao) = if ((ao >= ak))
142+ then an
143+ else ae(an, aj[ao])
138144
139- func an (al,am) = if ((am >= ai))
140- then al
145+ func ap (an,ao) = if ((ao >= ak))
146+ then an
141147 else throw("List size exceeds 15")
142148
143- an(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(aj, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
149+ ap(am(am(am(am(am(am(am(am(am(am(am(am(am(am(am(al, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
144150 }
145- $Tuple2(ab, ag)
151+ $Tuple2(ad, ai)
146152 }
147153
148154
149-@Callable(ao)
150-func airDrop () = valueOrElse(B(), valueOrElse(C(ao.caller), {
151- let ap = $Tuple2(ao.payments[0].amount, ao.payments[0].assetId)
152- let aq = ap._1
153- let ar = ap._2
154- let I = toString(ao.caller)
155- let as = K(I)
156- if ((as == 0))
157- then [ScriptTransfer(z, aq, ar)]
155+@Callable(aq)
156+func airDrop () = valueOrElse(D(), valueOrElse(E(aq.caller), {
157+ let ar = $Tuple2(aq.payments[0].amount, aq.payments[0].assetId)
158+ let as = ar._1
159+ let at = ar._2
160+ let K = toString(aq.caller)
161+ let au = M(K)
162+ if ((au == 0))
163+ then [ScriptTransfer(A, as, at)]
158164 else {
159- let U = O(I, Q(ar))
160- let at = (U + (if ((aq > 0))
161- then fraction(aq, o, as)
165+ let W = Q(K, S(at))
166+ let av = (W + (if ((as > 0))
167+ then fraction(as, p, au)
162168 else 0))
163-[IntegerEntry((((I + "_") + Q(ar)) + c), at)]
169+[IntegerEntry((((K + "_") + S(at)) + d), av)]
164170 }
165171 }))
166172
167173
168174
169-@Callable(ao)
170-func updateUserInterest (I,au) = valueOrElse(B(), valueOrElse(E(ao.caller), {
171- let aa = Address(fromBase58String(I))
172- let M = toString(ao.originCaller)
173- let ab = split(valueOrErrorMessage(getString(aa, i), "Can't find pool assets"), ",")
174- func av (ad,N) = {
175- let aw = T(I, N, M)
176- let af = aw._1
177- let U = aw._2
178- (ad ++ [IntegerEntry((((((M + "_") + I) + "_") + N) + e), af), IntegerEntry((((((M + "_") + I) + "_") + N) + d), U)])
175+@Callable(aq)
176+func updateUserInterest (O,K,aw) = valueOrElse(D(), valueOrElse(G(aq.caller), {
177+ let ac = Address(fromBase58String(K))
178+ let ad = split(valueOrErrorMessage(getString(ac, j), "Can't find pool assets"), ",")
179+ func ax (af,P) = {
180+ let ay = V(K, P, O)
181+ let ah = ay._1
182+ let W = ay._2
183+ (af ++ [IntegerEntry((((((O + "_") + K) + "_") + P) + f), ah), IntegerEntry((((((O + "_") + K) + "_") + P) + e), W)])
179184 }
180185
181- let ah = ab
182- let ai = size(ah)
183- let aj = nil
184- func ak (al,am) = if ((am >= ai))
185- then al
186- else av(al, ah[am])
186+ let aj = ad
187+ let ak = size(aj)
188+ let al = nil
189+ func am (an,ao) = if ((ao >= ak))
190+ then an
191+ else ax(an, aj[ao])
187192
188- func an (al,am) = if ((am >= ai))
189- then al
193+ func ap (an,ao) = if ((ao >= ak))
194+ then an
190195 else throw("List size exceeds 15")
191196
192- an(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(aj, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
197+ ap(am(am(am(am(am(am(am(am(am(am(am(am(am(am(am(al, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
193198 }))
194199
195200
196201
197-@Callable(ao)
198-func claim (I) = valueOrElse(B(), {
199- let aa = Address(fromBase58String(I))
200- let M = toString(ao.caller)
201- let ab = split(valueOrErrorMessage(getString(aa, i), "Can't find pool assets"), ",")
202- func ax (ad,N) = {
203- let ay = ad
204- let az = ay._1
205- let aA = ay._2
206- let aB = T(I, N, M)
207- let af = aB._1
208- let U = aB._2
209- $Tuple2((az ++ [ScriptTransfer(ao.caller, af, fromBase58String(N)), IntegerEntry((((((M + "_") + I) + "_") + N) + e), 0), IntegerEntry((((((M + "_") + I) + "_") + N) + d), U)]), (aA + af))
202+@Callable(aq)
203+func claim (K) = valueOrElse(D(), {
204+ let ac = Address(fromBase58String(K))
205+ let O = toString(aq.caller)
206+ let ad = split(valueOrErrorMessage(getString(ac, j), "Can't find pool assets"), ",")
207+ func az (af,P) = {
208+ let aA = af
209+ let aB = aA._1
210+ let aC = aA._2
211+ let aD = V(K, P, O)
212+ let ah = aD._1
213+ let W = aD._2
214+ $Tuple2((aB ++ [ScriptTransfer(aq.caller, ah, fromBase58String(P)), IntegerEntry((((((O + "_") + K) + "_") + P) + f), 0), IntegerEntry((((((O + "_") + K) + "_") + P) + e), W)]), (aC + ah))
210215 }
211216
212- let aC = {
213- let ah = ab
214- let ai = size(ah)
215- let aj = $Tuple2(nil, 0)
216- func ak (al,am) = if ((am >= ai))
217- then al
218- else ax(al, ah[am])
217+ let aE = {
218+ let aj = ad
219+ let ak = size(aj)
220+ let al = $Tuple2(nil, 0)
221+ func am (an,ao) = if ((ao >= ak))
222+ then an
223+ else az(an, aj[ao])
219224
220- func an (al,am) = if ((am >= ai))
221- then al
225+ func ap (an,ao) = if ((ao >= ak))
226+ then an
222227 else throw("List size exceeds 15")
223228
224- an(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(ak(aj, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
229+ ap(am(am(am(am(am(am(am(am(am(am(am(am(am(am(am(al, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
225230 }
226- let aD = aC._1
227- let aE = aC._2
228- if ((aE == 0))
231+ let aF = aE._1
232+ let aG = aE._2
233+ if ((aG == 0))
229234 then throw("You have no tokens for claim")
230- else aD
235+ else aF
231236 })
232237
233238
234239
235-@Callable(ao)
236-func shutdown () = if (!(A))
237- then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, b), "the cause wasn't specified")))
238- else if (!(containsElement([v, w, x], ao.callerPublicKey)))
240+@Callable(aq)
241+func shutdown () = if (!(B))
242+ then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, c), "the cause wasn't specified")))
243+ else if (!(containsElement([w, x, y], aq.callerPublicKey)))
239244 then throw("Only admin can call this function")
240- else F("Paused by admin")
245+ else H("Paused by admin")
241246
242247
243248
244-@Callable(ao)
245-func activate () = if (A)
249+@Callable(aq)
250+func activate () = if (B)
246251 then throw("DApp is already active")
247- else if (!(containsElement([v, w, x], ao.callerPublicKey)))
252+ else if (!(containsElement([w, x, y], aq.callerPublicKey)))
248253 then throw("Only admin can call this function")
249- else [BooleanEntry(a, true), DeleteEntry(b)]
254+ else [BooleanEntry(a, true), DeleteEntry(c)]
250255
251256
252-@Verifier(aF)
253-func aG () = {
254- let aH = if (sigVerify(aF.bodyBytes, aF.proofs[0], v))
257+@Verifier(aH)
258+func aI () = {
259+ let aJ = if (sigVerify(aH.bodyBytes, aH.proofs[0], w))
255260 then 1
256261 else 0
257- let aI = if (sigVerify(aF.bodyBytes, aF.proofs[1], w))
262+ let aK = if (sigVerify(aH.bodyBytes, aH.proofs[1], x))
258263 then 1
259264 else 0
260- let aJ = if (sigVerify(aF.bodyBytes, aF.proofs[2], x))
265+ let aL = if (sigVerify(aH.bodyBytes, aH.proofs[2], y))
261266 then 1
262267 else 0
263- (((aH + aI) + aJ) >= 2)
268+ (((aJ + aK) + aL) >= 2)
264269 }
265270

github/deemru/w8io/026f985 
83.37 ms