tx · DfKhkihVhFrQmyXj3CapTDXiWZRSKgE2DTXZ1CuMwhWu

3MxFYk97QYdeHRMTu51rVyHqvFEVB4UtmBX:  -0.01700000 Waves

2022.09.14 18:04 [2228930] smart account 3MxFYk97QYdeHRMTu51rVyHqvFEVB4UtmBX > SELF 0.00000000 Waves

{ "type": 13, "id": "DfKhkihVhFrQmyXj3CapTDXiWZRSKgE2DTXZ1CuMwhWu", "fee": 1700000, "feeAssetId": null, "timestamp": 1663167857240, "version": 2, "chainId": 84, "sender": "3MxFYk97QYdeHRMTu51rVyHqvFEVB4UtmBX", "senderPublicKey": "2panvMtE3s1p1oCdVqRGMuBYaZJV3AZ6zpdmZ6vHkDaL", "proofs": [ "4vWVMcbD8e2NNvyHapDHLZ3eAuGM3tiJt9quAy73S7XMg5sJkvTeg31tvKtvsMgtKzL7C2nQGSnbcW6QqyRouYAV", "26oN4r6Ag8wk4x1zkZj7jm5CB9zjAEogGVWzBeNw7CCh57VmdWaUES8GBA3JGRMYT17RtFnACNdYR7m5voeP7urt" ], "script": "base64:BgISCAISABIDCgEBEgMKAQgSABIAIAAHa0FjdGl2ZQIGYWN0aXZlAAZrQ2F1c2UCDnNodXRkb3duX2NhdXNlABZrTGFzdFBvb2xUb2tlbkludGVyZXN0AhNfcG9vbF9sYXN0X2ludGVyZXN0ABFrVXNlckxhc3RJbnRlcmVzdAITX3VzZXJfbGFzdF9pbnRlcmVzdAATa1VzZXJDbGFpbUF2YWlsYWJsZQIYX3VzZXJfYXZhaWxhYmxlX3RvX2NsYWltABZrVXNlclNoYXJlVG9rZW5zTG9ja2VkAhRfc2hhcmVfdG9rZW5zX2xvY2tlZAASa1NoYXJlVG9rZW5zTG9ja2VkAhpfdG90YWxfc2hhcmVfdG9rZW5zX2xvY2tlZAALa09yYWNsZVBvb2wCBXBvb2xfAA1rUG9vbEFzc2V0SWRzAglhc3NldF9pZHMADWtBZG1pblB1YktleTECC2FkbWluX3B1Yl8xAA1rQWRtaW5QdWJLZXkyAgthZG1pbl9wdWJfMgANa0FkbWluUHViS2V5MwILYWRtaW5fcHViXzMADGtGYXJtaW5nQWRkcgIPZmFybWluZ19hZGRyZXNzAApzY2FsZVZhbHVlAIDC1y8ABm9yYWNsZQkBB0FkZHJlc3MBARoBVOlFqh6QLzqu8boO5i6akl8amITh82KzCAETZ2V0QmFzZTU4RnJvbU9yYWNsZQEDa2V5BAckbWF0Y2gwCQCdCAIFBm9yYWNsZQUDa2V5AwkAAQIFByRtYXRjaDACBlN0cmluZwQGc3RyaW5nBQckbWF0Y2gwCQDZBAEFBnN0cmluZwQHbm90aGluZwUHJG1hdGNoMAkAAgEJAKwCAgUDa2V5AghpcyBlbXB0eQAMYWRtaW5QdWJLZXkxCQETZ2V0QmFzZTU4RnJvbU9yYWNsZQEFDWtBZG1pblB1YktleTEADGFkbWluUHViS2V5MgkBE2dldEJhc2U1OEZyb21PcmFjbGUBBQ1rQWRtaW5QdWJLZXkyAAxhZG1pblB1YktleTMJARNnZXRCYXNlNThGcm9tT3JhY2xlAQUNa0FkbWluUHViS2V5MwALZmFybWluZ0FkZHIJAQdBZGRyZXNzAQkBE2dldEJhc2U1OEZyb21PcmFjbGUBBQxrRmFybWluZ0FkZHIABmFjdGl2ZQkBC3ZhbHVlT3JFbHNlAgkAmwgCBQR0aGlzBQdrQWN0aXZlBgEIaXNBY3RpdmUAAwUGYWN0aXZlBQR1bml0CQACAQIfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAEKaXNQb29sQ2FsbAEGY2FsbGVyAwkBCWlzRGVmaW5lZAEJAJ0IAgUGb3JhY2xlCQCsAgIFC2tPcmFjbGVQb29sCQClCAEFBmNhbGxlcgUEdW5pdAkAAgECIE9ubHkgcG9vbCBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uAQdzdXNwZW5kAQVjYXVzZQkAzAgCCQEMQm9vbGVhbkVudHJ5AgUHa0FjdGl2ZQcJAMwIAgkBC1N0cmluZ0VudHJ5AgUGa0NhdXNlBQVjYXVzZQUDbmlsARhnZXRVc2VyU2hhcmVUb2tlbnNMb2NrZWQCBHBvb2wLdXNlckFkZHJlc3MJAQt2YWx1ZU9yRWxzZQIJAJoIAgULZmFybWluZ0FkZHIJAKwCAgkArAICCQCsAgIFBHBvb2wCAV8FC3VzZXJBZGRyZXNzBRZrVXNlclNoYXJlVG9rZW5zTG9ja2VkAAABGWdldFRvdGFsU2hhcmVUb2tlbnNMb2NrZWQBBHBvb2wJAQt2YWx1ZU9yRWxzZQIJAJoIAgULZmFybWluZ0FkZHIJAKwCAgUEcG9vbAUSa1NoYXJlVG9rZW5zTG9ja2VkAAABE2dldFVzZXJMYXN0SW50ZXJlc3QDBHVzZXIEcG9vbAdhc3NldElkCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAKwCAgkArAICCQCsAgIJAKwCAgkArAICBQR1c2VyAgFfBQRwb29sAgFfBQdhc3NldElkBRFrVXNlckxhc3RJbnRlcmVzdAAAARhnZXRQb29sVG9rZW5MYXN0SW50ZXJlc3QCBHBvb2wHYXNzZXRJZAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQCsAgIJAKwCAgkArAICBQRwb29sAgFfBQdhc3NldElkBRZrTGFzdFBvb2xUb2tlbkludGVyZXN0AAABFWdldFVzZXJDbGFpbUF2YWlsYWJsZQMEdXNlcgRwb29sB2Fzc2V0SWQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkArAICCQCsAgIJAKwCAgkArAICCQCsAgIFBHVzZXICAV8FBHBvb2wCAV8FB2Fzc2V0SWQFE2tVc2VyQ2xhaW1BdmFpbGFibGUAAAENZ2V0U3RyQXNzZXRJZAEHYXNzZXRJZAQHJG1hdGNoMAUHYXNzZXRJZAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAJpZAUHJG1hdGNoMAkA2AQBBQJpZAMJAAECBQckbWF0Y2gwAgRVbml0BAV3YXZlcwUHJG1hdGNoMAIFV0FWRVMJAAIBAgtNYXRjaCBlcnJvcgEPY2FsY0NsYWltQW1vdW50AwRwb29sB2Fzc2V0SWQEdXNlcgQMbGFzdEludGVyZXN0CQEYZ2V0UG9vbFRva2VuTGFzdEludGVyZXN0AgUEcG9vbAUHYXNzZXRJZAQQdXNlckxhc3RJbnRlcmVzdAkBE2dldFVzZXJMYXN0SW50ZXJlc3QDBQR1c2VyBQRwb29sBQdhc3NldElkBBV1c2VyU2hhcmVUb2tlbnNMb2NrZWQJARhnZXRVc2VyU2hhcmVUb2tlbnNMb2NrZWQCBQRwb29sBQR1c2VyBBJ1c2VyQ2xhaW1BdmFpbGFibGUJARVnZXRVc2VyQ2xhaW1BdmFpbGFibGUDBQR1c2VyBQRwb29sBQdhc3NldElkBBVuZXdVc2VyQ2xhaW1BdmFpbGFibGUJAGsDBRV1c2VyU2hhcmVUb2tlbnNMb2NrZWQJAGUCBQxsYXN0SW50ZXJlc3QFEHVzZXJMYXN0SW50ZXJlc3QFCnNjYWxlVmFsdWUJAJQKAgkAZAIFEnVzZXJDbGFpbUF2YWlsYWJsZQUVbmV3VXNlckNsYWltQXZhaWxhYmxlBQxsYXN0SW50ZXJlc3QBF2NhbGNDbGFpbUFtb3VudEV2YWx1YXRlAgRwb29sBHVzZXIECHBvb2xBZGRyCQEHQWRkcmVzcwEJANkEAQUEcG9vbAQIYXNzZXRJZHMJALUJAgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFCHBvb2xBZGRyBQ1rUG9vbEFzc2V0SWRzAhZDYW4ndCBmaW5kIHBvb2wgYXNzZXRzAgEsCgEQY2FsY0NsYWltQW1vdW50cwIDYWNjB2Fzc2V0SWQECyR0MDMyMDUzMjc1CQEPY2FsY0NsYWltQW1vdW50AwUEcG9vbAUHYXNzZXRJZAUEdXNlcgQLY2xhaW1BbW91bnQIBQskdDAzMjA1MzI3NQJfMQQMbGFzdEludGVyZXN0CAULJHQwMzIwNTMyNzUCXzIJAM0IAgUDYWNjCQDMCAIFC2NsYWltQW1vdW50BQNuaWwEDGNsYWltQW1vdW50cwoAAiRsBQhhc3NldElkcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEQY2FsY0NsYWltQW1vdW50cwIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTUJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8JAJQKAgUIYXNzZXRJZHMFDGNsYWltQW1vdW50cwUBaQEHYWlyRHJvcAAJAQt2YWx1ZU9yRWxzZQIJAQhpc0FjdGl2ZQAJAQt2YWx1ZU9yRWxzZQIJAQppc1Bvb2xDYWxsAQgFAWkGY2FsbGVyBAskdDAzNDg4MzU2MwkAlAoCCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAgJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBAlwbXRBbW91bnQIBQskdDAzNDg4MzU2MwJfMQQKcG10QXNzZXRJZAgFCyR0MDM0ODgzNTYzAl8yBARwb29sCQClCAEIBQFpBmNhbGxlcgQWdG90YWxTaGFyZVRva2Vuc0xvY2tlZAkBGWdldFRvdGFsU2hhcmVUb2tlbnNMb2NrZWQBBQRwb29sBAxsYXN0SW50ZXJlc3QJARhnZXRQb29sVG9rZW5MYXN0SW50ZXJlc3QCBQRwb29sCQENZ2V0U3RyQXNzZXRJZAEFCnBtdEFzc2V0SWQEC2ludGVyZXN0TmV3CQBkAgUMbGFzdEludGVyZXN0AwMJAGYCBRZ0b3RhbFNoYXJlVG9rZW5zTG9ja2VkAAAJAGYCBQlwbXRBbW91bnQAAAcJAGsDBQlwbXRBbW91bnQFCnNjYWxlVmFsdWUFFnRvdGFsU2hhcmVUb2tlbnNMb2NrZWQAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgUWa0xhc3RQb29sVG9rZW5JbnRlcmVzdAULaW50ZXJlc3ROZXcFA25pbAFpARJ1cGRhdGVVc2VySW50ZXJlc3QBGG5ld1VzZXJTaGFyZVRva2Vuc0xvY2tlZAkBC3ZhbHVlT3JFbHNlAgkBCGlzQWN0aXZlAAkBC3ZhbHVlT3JFbHNlAgkBCmlzUG9vbENhbGwBCAUBaQZjYWxsZXIECHBvb2xBZGRyCAUBaQZjYWxsZXIEBHVzZXIJAKUIAQgFAWkMb3JpZ2luQ2FsbGVyBARwb29sCQClCAEFCHBvb2xBZGRyBAhhc3NldElkcwkAtQkCCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUIcG9vbEFkZHIFDWtQb29sQXNzZXRJZHMCFkNhbid0IGZpbmQgcG9vbCBhc3NldHMCASwKASdjYWxjTmV3VXNlckludGVyZXN0QW5kQ2xhaW1BbW91bnRFdHJpZXMCA2FjYwdhc3NldElkBAskdDA0NDAzNDQ3MwkBD2NhbGNDbGFpbUFtb3VudAMFBHBvb2wFB2Fzc2V0SWQFBHVzZXIEC2NsYWltQW1vdW50CAULJHQwNDQwMzQ0NzMCXzEEDGxhc3RJbnRlcmVzdAgFCyR0MDQ0MDM0NDczAl8yCQDNCAIFA2FjYwkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIFBHVzZXICAV8FBHBvb2wCAV8FB2Fzc2V0SWQFE2tVc2VyQ2xhaW1BdmFpbGFibGUFC2NsYWltQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgUEdXNlcgIBXwUEcG9vbAIBXwUHYXNzZXRJZAURa1VzZXJMYXN0SW50ZXJlc3QFDGxhc3RJbnRlcmVzdAUDbmlsCgACJGwFCGFzc2V0SWRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJASdjYWxjTmV3VXNlckludGVyZXN0QW5kQ2xhaW1BbW91bnRFdHJpZXMCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDE1CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPAWkBBWNsYWltAQRwb29sCQELdmFsdWVPckVsc2UCCQEIaXNBY3RpdmUABAhwb29sQWRkcgkBB0FkZHJlc3MBCQDZBAEFBHBvb2wEBHVzZXIJAKUIAQgFAWkGY2FsbGVyBAhhc3NldElkcwkAtQkCCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUIcG9vbEFkZHIFDWtQb29sQXNzZXRJZHMCFkNhbid0IGZpbmQgcG9vbCBhc3NldHMCASwKARVjYWxjQ2xhaW1BbW91bnRFdHJpZXMCA2FjYwdhc3NldElkBAskdDA1MTI2NTE1MAUDYWNjBAdlbnRyaWVzCAULJHQwNTEyNjUxNTACXzEEA3N1bQgFCyR0MDUxMjY1MTUwAl8yBAskdDA1MTU3NTIyNwkBD2NhbGNDbGFpbUFtb3VudAMFBHBvb2wFB2Fzc2V0SWQFBHVzZXIEC2NsYWltQW1vdW50CAULJHQwNTE1NzUyMjcCXzEEDGxhc3RJbnRlcmVzdAgFCyR0MDUxNTc1MjI3Al8yCQCUCgIJAM0IAgUHZW50cmllcwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFC2NsYWltQW1vdW50CQDZBAEFB2Fzc2V0SWQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICBQR1c2VyAgFfBQRwb29sAgFfBQdhc3NldElkBRNrVXNlckNsYWltQXZhaWxhYmxlAAAJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICBQR1c2VyAgFfBQRwb29sAgFfBQdhc3NldElkBRFrVXNlckxhc3RJbnRlcmVzdAUMbGFzdEludGVyZXN0BQNuaWwFC2NsYWltQW1vdW50BAskdDA1NTI3NTYwOQoAAiRsBQhhc3NldElkcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAJAJQKAgUDbmlsAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBFWNhbGNDbGFpbUFtb3VudEV0cmllcwIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTUJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8EDGNsYWltRW50cmllcwgFCyR0MDU1Mjc1NjA5Al8xBAlzdW1Ub2tlbnMIBQskdDA1NTI3NTYwOQJfMgMJAAACBQlzdW1Ub2tlbnMAAAkAAgECHFlvdSBoYXZlIG5vIHRva2VucyBmb3IgY2xhaW0FDGNsYWltRW50cmllcwFpAQhzaHV0ZG93bgADCQEBIQEFBmFjdGl2ZQkAAgEJAKwCAgIiREFwcCBpcyBhbHJlYWR5IHN1c3BlbmRlZC4gQ2F1c2U6IAkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzBQZrQ2F1c2UCGnRoZSBjYXVzZSB3YXNuJ3Qgc3BlY2lmaWVkAwkBASEBCQEPY29udGFpbnNFbGVtZW50AgkAzAgCBQxhZG1pblB1YktleTEJAMwIAgUMYWRtaW5QdWJLZXkyCQDMCAIFDGFkbWluUHViS2V5MwUDbmlsCAUBaQ9jYWxsZXJQdWJsaWNLZXkJAAIBAiFPbmx5IGFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24JAQdzdXNwZW5kAQIPUGF1c2VkIGJ5IGFkbWluAWkBCGFjdGl2YXRlAAMFBmFjdGl2ZQkAAgECFkRBcHAgaXMgYWxyZWFkeSBhY3RpdmUDCQEBIQEJAQ9jb250YWluc0VsZW1lbnQCCQDMCAIFDGFkbWluUHViS2V5MQkAzAgCBQxhZG1pblB1YktleTIJAMwIAgUMYWRtaW5QdWJLZXkzBQNuaWwIBQFpD2NhbGxlclB1YmxpY0tleQkAAgECIU9ubHkgYWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgkAzAgCCQEMQm9vbGVhbkVudHJ5AgUHa0FjdGl2ZQYJAMwIAgkBC0RlbGV0ZUVudHJ5AQUGa0NhdXNlBQNuaWwBAnR4AQZ2ZXJpZnkABBJhZG1pblB1YktleTFTaWduZWQDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAABQxhZG1pblB1YktleTEAAQAABBJhZG1pblB1YktleTJTaWduZWQDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwABBQxhZG1pblB1YktleTIAAQAABBJhZG1pblB1YktleTNTaWduZWQDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwACBQxhZG1pblB1YktleTMAAQAACQBnAgkAZAIJAGQCBRJhZG1pblB1YktleTFTaWduZWQFEmFkbWluUHViS2V5MlNpZ25lZAUSYWRtaW5QdWJLZXkzU2lnbmVkAALvxBoa", "height": 2228930, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6Bo6MLwMtWFm37WkH8bvkDWv8i4Sw9btSRSQHUrce8Hx Next: 2b1HweFDzDAUkGzFThayThXbg4J2fyqsxppSrxBjKVsJ Diff:
OldNewDifferences
145145 let F = toString(al.caller)
146146 let ap = H(F)
147147 let R = L(F, N(ao))
148- let aq = (R + fraction(an, n, ap))
148+ let aq = (R + (if (if ((ap > 0))
149+ then (an > 0)
150+ else false)
151+ then fraction(an, n, ap)
152+ else 0))
149153 [IntegerEntry(c, aq)]
150154 }))
151155
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "active"
55
66 let b = "shutdown_cause"
77
88 let c = "_pool_last_interest"
99
1010 let d = "_user_last_interest"
1111
1212 let e = "_user_available_to_claim"
1313
1414 let f = "_share_tokens_locked"
1515
1616 let g = "_total_share_tokens_locked"
1717
1818 let h = "pool_"
1919
2020 let i = "asset_ids"
2121
2222 let j = "admin_pub_1"
2323
2424 let k = "admin_pub_2"
2525
2626 let l = "admin_pub_3"
2727
2828 let m = "farming_address"
2929
3030 let n = 100000000
3131
3232 let o = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9')
3333
3434 func p (q) = {
3535 let r = getString(o, q)
3636 if ($isInstanceOf(r, "String"))
3737 then {
3838 let s = r
3939 fromBase58String(s)
4040 }
4141 else {
4242 let t = r
4343 throw((q + "is empty"))
4444 }
4545 }
4646
4747
4848 let u = p(j)
4949
5050 let v = p(k)
5151
5252 let w = p(l)
5353
5454 let x = Address(p(m))
5555
5656 let y = valueOrElse(getBoolean(this, a), true)
5757
5858 func z () = if (y)
5959 then unit
6060 else throw("DApp is inactive at this moment")
6161
6262
6363 func A (B) = if (isDefined(getString(o, (h + toString(B)))))
6464 then unit
6565 else throw("Only pool can call this function")
6666
6767
6868 func C (D) = [BooleanEntry(a, false), StringEntry(b, D)]
6969
7070
7171 func E (F,G) = valueOrElse(getInteger(x, (((F + "_") + G) + f)), 0)
7272
7373
7474 func H (F) = valueOrElse(getInteger(x, (F + g)), 0)
7575
7676
7777 func I (J,F,K) = valueOrElse(getInteger(this, (((((J + "_") + F) + "_") + K) + d)), 0)
7878
7979
8080 func L (F,K) = valueOrElse(getInteger(this, (((F + "_") + K) + c)), 0)
8181
8282
8383 func M (J,F,K) = valueOrElse(getInteger(this, (((((J + "_") + F) + "_") + K) + e)), 0)
8484
8585
8686 func N (K) = {
8787 let r = K
8888 if ($isInstanceOf(r, "ByteVector"))
8989 then {
9090 let O = r
9191 toBase58String(O)
9292 }
9393 else if ($isInstanceOf(r, "Unit"))
9494 then {
9595 let P = r
9696 "WAVES"
9797 }
9898 else throw("Match error")
9999 }
100100
101101
102102 func Q (F,K,J) = {
103103 let R = L(F, K)
104104 let S = I(J, F, K)
105105 let T = E(F, J)
106106 let U = M(J, F, K)
107107 let V = fraction(T, (R - S), n)
108108 $Tuple2((U + V), R)
109109 }
110110
111111
112112 func W (F,J) = {
113113 let X = Address(fromBase58String(F))
114114 let Y = split(valueOrErrorMessage(getString(X, i), "Can't find pool assets"), ",")
115115 func Z (aa,K) = {
116116 let ab = Q(F, K, J)
117117 let ac = ab._1
118118 let R = ab._2
119119 (aa :+ [ac])
120120 }
121121
122122 let ad = {
123123 let ae = Y
124124 let af = size(ae)
125125 let ag = nil
126126 func ah (ai,aj) = if ((aj >= af))
127127 then ai
128128 else Z(ai, ae[aj])
129129
130130 func ak (ai,aj) = if ((aj >= af))
131131 then ai
132132 else throw("List size exceeds 15")
133133
134134 ak(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ag, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
135135 }
136136 $Tuple2(Y, ad)
137137 }
138138
139139
140140 @Callable(al)
141141 func airDrop () = valueOrElse(z(), valueOrElse(A(al.caller), {
142142 let am = $Tuple2(al.payments[0].amount, al.payments[0].assetId)
143143 let an = am._1
144144 let ao = am._2
145145 let F = toString(al.caller)
146146 let ap = H(F)
147147 let R = L(F, N(ao))
148- let aq = (R + fraction(an, n, ap))
148+ let aq = (R + (if (if ((ap > 0))
149+ then (an > 0)
150+ else false)
151+ then fraction(an, n, ap)
152+ else 0))
149153 [IntegerEntry(c, aq)]
150154 }))
151155
152156
153157
154158 @Callable(al)
155159 func updateUserInterest (ar) = valueOrElse(z(), valueOrElse(A(al.caller), {
156160 let X = al.caller
157161 let J = toString(al.originCaller)
158162 let F = toString(X)
159163 let Y = split(valueOrErrorMessage(getString(X, i), "Can't find pool assets"), ",")
160164 func as (aa,K) = {
161165 let at = Q(F, K, J)
162166 let ac = at._1
163167 let R = at._2
164168 (aa :+ [IntegerEntry((((((J + "_") + F) + "_") + K) + e), ac), IntegerEntry((((((J + "_") + F) + "_") + K) + d), R)])
165169 }
166170
167171 let ae = Y
168172 let af = size(ae)
169173 let ag = nil
170174 func ah (ai,aj) = if ((aj >= af))
171175 then ai
172176 else as(ai, ae[aj])
173177
174178 func ak (ai,aj) = if ((aj >= af))
175179 then ai
176180 else throw("List size exceeds 15")
177181
178182 ak(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ag, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
179183 }))
180184
181185
182186
183187 @Callable(al)
184188 func claim (F) = valueOrElse(z(), {
185189 let X = Address(fromBase58String(F))
186190 let J = toString(al.caller)
187191 let Y = split(valueOrErrorMessage(getString(X, i), "Can't find pool assets"), ",")
188192 func au (aa,K) = {
189193 let av = aa
190194 let aw = av._1
191195 let ax = av._2
192196 let ay = Q(F, K, J)
193197 let ac = ay._1
194198 let R = ay._2
195199 $Tuple2((aw :+ [ScriptTransfer(al.caller, ac, fromBase58String(K)), IntegerEntry((((((J + "_") + F) + "_") + K) + e), 0), IntegerEntry((((((J + "_") + F) + "_") + K) + d), R)]), ac)
196200 }
197201
198202 let az = {
199203 let ae = Y
200204 let af = size(ae)
201205 let ag = $Tuple2(nil, 0)
202206 func ah (ai,aj) = if ((aj >= af))
203207 then ai
204208 else au(ai, ae[aj])
205209
206210 func ak (ai,aj) = if ((aj >= af))
207211 then ai
208212 else throw("List size exceeds 15")
209213
210214 ak(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ag, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
211215 }
212216 let aA = az._1
213217 let aB = az._2
214218 if ((aB == 0))
215219 then throw("You have no tokens for claim")
216220 else aA
217221 })
218222
219223
220224
221225 @Callable(al)
222226 func shutdown () = if (!(y))
223227 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, b), "the cause wasn't specified")))
224228 else if (!(containsElement([u, v, w], al.callerPublicKey)))
225229 then throw("Only admin can call this function")
226230 else C("Paused by admin")
227231
228232
229233
230234 @Callable(al)
231235 func activate () = if (y)
232236 then throw("DApp is already active")
233237 else if (!(containsElement([u, v, w], al.callerPublicKey)))
234238 then throw("Only admin can call this function")
235239 else [BooleanEntry(a, true), DeleteEntry(b)]
236240
237241
238242 @Verifier(aC)
239243 func aD () = {
240244 let aE = if (sigVerify(aC.bodyBytes, aC.proofs[0], u))
241245 then 1
242246 else 0
243247 let aF = if (sigVerify(aC.bodyBytes, aC.proofs[1], v))
244248 then 1
245249 else 0
246250 let aG = if (sigVerify(aC.bodyBytes, aC.proofs[2], w))
247251 then 1
248252 else 0
249253 (((aE + aF) + aG) >= 2)
250254 }
251255

github/deemru/w8io/026f985 
38.65 ms