tx · 9zrDiHfXJxSauVKf986CU25CeC3mD3DsZxBfXP1vvyFH

3MsNhK6uve98J6DeqbuwGFBRh9GoHPGUFgp:  -0.01000000 Waves

2021.11.30 13:32 [1813651] smart account 3MsNhK6uve98J6DeqbuwGFBRh9GoHPGUFgp > SELF 0.00000000 Waves

{ "type": 13, "id": "9zrDiHfXJxSauVKf986CU25CeC3mD3DsZxBfXP1vvyFH", "fee": 1000000, "feeAssetId": null, "timestamp": 1638268355264, "version": 1, "sender": "3MsNhK6uve98J6DeqbuwGFBRh9GoHPGUFgp", "senderPublicKey": "86RHVxKovtU7yKnepY8wKsd8niDxGAsiwuA1XA1DNqrS", "proofs": [ "2t3mwyXZL5p7TKfpG1bLAe4M5n7ui2q2LEhG2GSRJNDxCXrfXUopsWAvfBEVWWzbaGUZ88EMhKbiuKY2NLXjFM9S" ], "script": "base64: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AAAAAAAABgAAAAAZSWR4RmFjdG9yeUNmZ1NsaXBwYWdlRGFwcAAAAAAAAAAABwAAAAAaSWR4RmFjdG9yeUNmZ0d3eFJld2FyZERhcHAAAAAAAAAAAAgBAAAADWtleUZhY3RvcnlDZmcAAAAAAgAAABElc19fZmFjdG9yeUNvbmZpZwEAAAAaa2V5RmFjdG9yeUxwMkFzc2V0c01hcHBpbmcAAAABAAAACmxwQXNzZXRTdHIJAAS5AAAAAgkABEwAAAACAgAAAAYlcyVzJXMJAARMAAAAAgUAAAAKbHBBc3NldFN0cgkABEwAAAACAgAAAB5tYXBwaW5nc19fbHBBc3NldDJQb29sQ29udHJhY3QFAAAAA25pbAUAAAADU0VQAQAAABBrZXlGYWN0b3J5THBMaXN0AAAAAAIAAAAQJXNfX2xwVG9rZW5zTGlzdAEAAAAma2V5RmFjdG9yeUxwQXNzZXRUb1Bvb2xDb250cmFjdEFkZHJlc3MAAAABAAAACmxwQXNzZXRTdHIJAAS5AAAAAgkABEwAAAACAgAAAAYlcyVzJXMJAARMAAAAAgUAAAAKbHBBc3NldFN0cgkABEwAAAACAgAAAB5tYXBwaW5nc19fbHBBc3NldDJQb29sQ29udHJhY3QFAAAAA25pbAUAAAADU0VQAQAAABRrZXlGYWN0b3J5UG9vbFdlaWdodAAAAAEAAAAPY29udHJhY3RBZGRyZXNzCQAEuQAAAAIJAARMAAAAAgIAAAAEJXMlcwkABEwAAAACAgAAAApwb29sV2VpZ2h0CQAETAAAAAIFAAAAD2NvbnRyYWN0QWRkcmVzcwUAAAADbmlsBQAAAANTRVABAAAAGHJlYWRGYWN0b3J5QWRkcmVzc09yRmFpbAAAAAAJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAABCQEAAAARa2V5RmFjdG9yeUFkZHJlc3MAAAAAAQAAAApyZWFkTHBMaXN0AAAAAAkABLUAAAACCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIJAQAAABhyZWFkRmFjdG9yeUFkZHJlc3NPckZhaWwAAAAACQEAAAAQa2V5RmFjdG9yeUxwTGlzdAAAAAACAAAAAAUAAAADU0VQAQAAABRyZWFkRmFjdG9yeUNmZ09yRmFpbAAAAAEAAAAHZmFjdG9yeQkABLUAAAACCQEAAAAYZ2V0U3RyaW5nQnlBZGRyZXNzT3JGYWlsAAAAAgUAAAAHZmFjdG9yeQkBAAAADWtleUZhY3RvcnlDZmcAAAAABQAAAANTRVABAAAAGGdldEJvb3N0aW5nQWRkcmVzc09yRmFpbAAAAAEAAAAKZmFjdG9yeUNmZwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkAAZEAAAACBQAAAApmYWN0b3J5Q2ZnBQAAABlJZHhGYWN0b3J5Q2ZnQm9vc3RpbmdEYXBwAQAAABhnZXRFbWlzc2lvbkFkZHJlc3NPckZhaWwAAAABAAAACmZhY3RvcnlDZmcJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAAGRAAAAAgUAAAAKZmFjdG9yeUNmZwUAAAAZSWR4RmFjdG9yeUNmZ0VtaXNzaW9uRGFwcAEAAAAXZ2V0U3Rha2luZ0FkZHJlc3NPckZhaWwAAAABAAAACmZhY3RvcnlDZmcJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAAGRAAAAAgUAAAAKZmFjdG9yeUNmZwUAAAAYSWR4RmFjdG9yeUNmZ1N0YWtpbmdEYXBwAQAAABlnZXRHd3hSZXdhcmRBZGRyZXNzT3JGYWlsAAAAAQAAAApmYWN0b3J5Q2ZnCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzUEg4M2JKQ1pyYUpvRXpGZWZ6NHA4VVhaRDlZYXpObmoxbgEAAAALa2V5Qm9vc3RDZmcAAAAAAgAAAAolc19fY29uZmlnAQAAAB9rZXlCb29zdGluZ0xvY2tQYXJhbVRvdGFsQW1vdW50AAAAAAIAAAAeJXMlc19fc3RhdHNfX2FjdGl2ZVRvdGFsTG9ja2VkAQAAAChrZXlCb29zdGluZ1N0YXRzTG9ja3NEdXJhdGlvblN1bUluQmxvY2tzAAAAAAIAAAAlJXMlc19fc3RhdHNfX2xvY2tzRHVyYXRpb25TdW1JbkJsb2NrcwEAAAAaa2V5Qm9vc3RpbmdTdGF0c0xvY2tzQ291bnQAAAAAAgAAABclcyVzX19zdGF0c19fbG9ja3NDb3VudAEAAAAaa2V5Qm9vc3RpbmdTdGF0c1VzZXJzQ291bnQA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JXMlZF9fdXNlckJvb3N0Q2xhaW1lZAkABEwAAAACBQAAAAd1c2VyTnVtBQAAAANuaWwFAAAAA1NFUAEAAAAPa2V5U3Rha2VkQnlVc2VyAAAAAgAAAA51c2VyQWRkcmVzc1N0cgAAAAxscEFzc2V0SWRTdHIJAAS5AAAAAgkABEwAAAACAgAAAA4lcyVzJXNfX3N0YWtlZAkABEwAAAACBQAAAA51c2VyQWRkcmVzc1N0cgkABEwAAAACBQAAAAxscEFzc2V0SWRTdHIFAAAAA25pbAUAAAADU0VQAQAAAA5rZXlTdGFrZWRUb3RhbAAAAAEAAAAMbHBBc3NldElkU3RyCQABLAAAAAICAAAAFyVzJXMlc19fc3Rha2VkX190b3RhbF9fBQAAAAxscEFzc2V0SWRTdHIBAAAAEGtleUNsYWltZWRCeVVzZXIAAAACAAAADGxwQXNzZXRJZFN0cgAAAA51c2VyQWRkcmVzc1N0cgkABLkAAAACCQAETAAAAAICAAAADyVzJXMlc19fY2xhaW1lZAkABEwAAAACBQAAAA51c2VyQWRkcmVzc1N0cgkABEwAAAACBQAAAAxscEFzc2V0SWRTdHIFAAAAA25pbAUAAAADU0VQAQAAABlrZXlDbGFpbWVkQnlVc2VyTWluUmV3YXJkAAAAAgAAAAxscEFzc2V0SWRTdHIAAAAOdXNlckFkZHJlc3NTdHIJAAS5AAAAAgkABEwAAAACAgAAABglcyVzJXNfX2NsYWltZWRNaW5SZXdhcmQJAARMAAAAAgUAAAAOdXNlckFkZHJlc3NTdHIJAARMAAAAAgUAAAAMbHBBc3NldElkU3RyBQAAAANuaWwFAAAAA1NFUAEAAAAba2V5Q2xhaW1lZEJ5VXNlckJvb3N0UmV3YXJkAAAAAgAAAAxscEFzc2V0SWRTdHIAAAAOdXNlckFkZHJlc3NTdHIJAAS5AAAAAgkABEwAAAACAgAAABolcyVzJXNfX2NsYWltZWRCb29zdFJld2FyZAkABEwAAAACBQAAAA51c2VyQWRkcmVzc1N0cgkABEwAAAACBQAAAAxscEFzc2V0SWRTdHIFAAAAA25pbAUAAAADU0VQAQAAAApyZWFkU3Rha2VkAAAAAgAAAAtzdGFraW5nRGFwcAAAAANrZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAALc3Rha2luZ0RhcHAFAAAAA2tleQAAAAAAAAAAAAEAAAAea2V5RW1pc3Npb25SYXRlUGVyQmxvY2tDdXJyZW50AAAAAAIAAAAbJXMlc19fcmF0ZVBlckJsb2NrX19jdXJyZW50AQAAACFrZXlFbWlzc2lvblJhdGVQZXJCbG9ja01heEN1cnJlbnQAAAAAAgAAAB4lcyVzX19yYXRlUGVyQmxvY2tNYXhfX2N1cnJlbnQBAAAAFWtleUVtaXNzaW9uU3RhcnRCbG9jawAAAAACAAAAGiVzJXNfX2VtaXNzaW9uX19zdGFydEJsb2NrAQAAABtrZXlFbWlzc2lvbkR1cmF0aW9uSW5CbG9ja3MAAAAAAgAAABglcyVzX19lbWlzc2lvbl9fZHVyYXRpb24BAAAAE2tleUVtaXNzaW9uRW5kQmxvY2sAAAAAAgAAABglcyVzX19lbWlzc2lvbl9fZW5kQmxvY2sBAAAAGWludGVybmFsQ3VycmVudFJld2FyZFJhdGUAAAAEAAAAD2ZhY3RvcnlDb250cmFjdAAAAA9zdGFraW5nQ29udHJhY3QAAAAQZW1pc3Npb25Db250cmFjdAAAAAlscEFzc2V0SWQEAAAADnBvb2xBZGRyZXNzU3RyCQEAAAAYZ2V0U3RyaW5nQnlBZGRyZXNzT3JGYWlsAAAAAgUAAAAPZmFjdG9yeUNvbnRyYWN0CQEAAAAma2V5RmFjdG9yeUxwQXNzZXRUb1Bvb2xDb250cmFjdEFkZHJlc3MAAAABBQAAAAlscEFzc2V0SWQEAAAADnBvb2xXZWlnaHRNdWx0BQAAAAVNVUxUOAQAAAAKcG9vbFdlaWdodAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAPZmFjdG9yeUNvbnRyYWN0CQEAAAAUa2V5RmFjdG9yeVBvb2xXZWlnaHQAAAABBQAAAA5wb29sQWRkcmVzc1N0cgQAAAASd3hFbWlzc2lvblBlckJsb2NrCQEAAAAMZ2V0SW50T3JGYWlsAAAAAgUAAAAQZW1pc3Npb25Db250cmFjdAkBAAAAHmtleUVtaXNzaW9uUmF0ZVBlckJsb2NrQ3VycmVudAAAAAAEAAAAFXd4RW1pc3Npb25QZXJCbG9ja01heAkBAAAADGdldEludE9yRmFpbAAAAAIFAAAAEGVtaXNzaW9uQ29udHJhY3QJAQAAACFrZXlFbWlzc2lvblJhdGVQZXJCbG9ja01heEN1cnJlbnQAAAAABAAAABZwb29sV3hFbWlzc2lvblBlckJsb2NrCQAAawAAAAMFAAAAEnd4RW1pc3Npb25QZXJCbG9jawUAAAAKcG9vbFdlaWdodAUAAAAOcG9vbFdlaWdodE11bHQEAAAAGXBvb2xXeEVtaXNzaW9uUGVyQmxvY2tNYXgJAABrAAAAAwUAAAAVd3hFbWlzc2lvblBlckJsb2NrTWF4BQAAAApwb29sV2VpZ2h0BQAAAA5wb29sV2VpZ2h0TXVsdAQAAAAJbWF4RmFjdG9yCQAAaAAAAAIAAAAAAAAAAAMFAAAABU1VTFQ4BAAAAA10b3RhbExwU3Rha2VkCQEAAAAMZ2V0SW50T3JaZXJvAAAAAgUAAAAPc3Rha2luZ0NvbnRyYWN0CQEAAAAOa2V5U3Rha2VkVG90YWwAAAABBQAAAAlscEFzc2V0SWQJAARMAAAAAgUAAAAWcG9vbFd4RW1pc3Npb25QZXJCbG9jawkABEwAAAACBQAAAAltYXhGYWN0b3IJAARMAAAAAgUAAAANdG90YWxMcFN0YWtlZAUAAAADbmlsAQAAABpjYWxjR3d4QW1vdW50U3RhcnRSRUFET05MWQAAAAMAAAAKbG9ja0Ftb3VudAAAAAxsb2NrRHVyYXRpb24AAAAPbWF4TG9ja0R1cmF0aW9uBAAAAAdjb2VmZlg4CQAAawAAAAMFAAAADGxvY2tEdXJhdGlvbgUAAAAFTVVMVDgFAAAAD21heExvY2tEdXJhdGlvbgQAAAAOZ1d4QW1vdW50U3RhcnQJAABrAAAAAwUAAAAKbG9ja0Ftb3VudAUAAAAHY29lZmZYOAUAAAAFTVVMVDgJAARMAAAAAgUAAAAOZ1d4QW1vdW50U3RhcnQFAAAAA25pbAAAAAgAAAABaQEAAAALY29uc3RydWN0b3IAAAABAAAADmZhY3RvcnlBZGRyZXNzAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzCQAAAgAAAAECAAAADm5vdCBhdXRob3JpemVkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABFrZXlGYWN0b3J5QWRkcmVzcwAAAAAFAAAADmZhY3RvcnlBZGRyZXNzBQAAAANuaWwAAAABaQEAAAAZY3VycmVudFJld2FyZFJhdGVSRUFET05MWQAAAAEAAAAJbHBBc3NldElkBAAAAA9mYWN0b3J5Q29udHJhY3QJAQAAABhyZWFkRmFjdG9yeUFkZHJlc3NPckZhaWwAAAAABAAAAApmYWN0b3J5Q2ZnCQEAAAAUcmVhZEZhY3RvcnlDZmdPckZhaWwAAAABBQAAAA9mYWN0b3J5Q29udHJhY3QEAAAAD3N0YWtpbmdDb250cmFjdAkBAAAAF2dldFN0YWtpbmdBZGRyZXNzT3JGYWlsAAAAAQUAAAAKZmFjdG9yeUNmZwQAAAAQZW1pc3Npb25Db250cmFjdAkBAAAAGGdldEVtaXNzaW9uQWRkcmVzc09yRmFpbAAAAAEFAAAACmZhY3RvcnlDZmcEAAAACnJld2FyZERhdGEJAQAAABlpbnRlcm5hbEN1cnJlbnRSZXdhcmRSYXRlAAAABAUAAAAPZmFjdG9yeUNvbnRyYWN0BQAAAA9zdGFraW5nQ29udHJhY3QFAAAAEGVtaXNzaW9uQ29udHJhY3QFAAAACWxwQXNzZXRJZAQAAAASd3hFbWlzc2lvblBlckJsb2NrCQABkQAAAAIFAAAACnJld2FyZERhdGEAAAAAAAAAAAAEAAAACW1heEZhY3RvcgkAAZEAAAACBQAAAApyZXdhcmREYXRhAAAAAAAAAAABBAAAAA10b3RhbExwU3Rha2VkCQABkQAAAAIFAAAACnJld2FyZERhdGEAAAAAAAAAAAIJAAUUAAAAAgUAAAADbmlsCQAEuQAAAAIJAARMAAAAAgIAAAAGJWQlZCVkCQAETAAAAAIJAAGkAAAAAQUAAAASd3hFbWlzc2lvblBlckJsb2NrCQAETAAAAAIJAAGkAAAAAQUAAAAJbWF4RmFjdG9yCQAETAAAAAIJAAGkAAAAAQUAAAANdG90YWxMcFN0YWtlZAUAAAADbmlsBQAAAANTRVAAAAABaQEAAAAdY3VycmVudFVzZXJSZXdhcmRSYXRlUkVBRE9OTFkAAAACAAAACWxwQXNzZXRJZAAAAAt1c2VyQWRkcmVzcwQAAAAPZmFjdG9yeUNvbnRyYWN0CQEAAAAYcmVhZEZhY3RvcnlBZGRyZXNzT3JGYWlsAAAAAAQAAAAKZmFjdG9yeUNmZwkBAAAAFHJlYWRGYWN0b3J5Q2ZnT3JGYWlsAAAAAQUAAAAPZmFjdG9yeUNvbnRyYWN0BAAAAA9zdGFraW5nQ29udHJhY3QJAQAAABdnZXRTdGFraW5nQWRkcmVzc09yRmFpbAAAAAEFAAAACmZhY3RvcnlDZmcEAAAAEGVtaXNzaW9uQ29udHJhY3QJAQAAABhnZXRFbWlzc2lvbkFkZHJlc3NPckZhaWwAAAABBQAAAApmYWN0b3J5Q2ZnBAAAAApyZXdhcmREYXRhCQEAAAAZaW50ZXJuYWxDdXJyZW50UmV3YXJkUmF0ZQAAAAQFAAAAD2ZhY3RvcnlDb250cmFjdAUAAAAPc3Rha2luZ0NvbnRyYWN0BQAAABBlbWlzc2lvbkNvbnRyYWN0BQAAAAlscEFzc2V0SWQEAAAAEnd4RW1pc3Npb25QZXJCbG9jawkAAZEAAAACBQAAAApyZXdhcmREYXRhAAAAAAAAAAAABAAAAAltYXhGYWN0b3IJAAGRAAAAAgUAAAAKcmV3YXJkRGF0YQAAAAAAAAAAAQQAAAANdG90YWxMcFN0YWtlZAkAAZEAAAACBQAAAApyZXdhcmREYXRhAAAAAAAAAAACBAAAAA5scFN0YWtlZEJ5VXNlcgkBAAAADGdldEludE9yWmVybwAAAAIFAAAAD3N0YWtpbmdDb250cmFjdAkBAAAAD2tleVN0YWtlZEJ5VXNlcgAAAAIFAAAAC3VzZXJBZGRyZXNzBQAAAAlscEFzc2V0SWQEAAAADXVzZXJDbGFpbUluZm8JAAS1AAAAAgkBAAAACGFzU3RyaW5nAAAAAQkAA/wAAAAEBQAAAA9zdGFraW5nQ29udHJhY3QCAAAAD2NsYWltV3hSRUFET05MWQkABEwAAAACBQAAAAlscEFzc2V0SWQJAARMAAAAAgUAAAALdXNlckFkZHJlc3MFAAAAA25pbAUAAAADbmlsBQAAAANTRVAEAAAADW1pblJld2FyZFBhcnQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABLYAAAABCQABkQAAAAIFAAAADXVzZXJDbGFpbUluZm8AAAAAAAAAAAUCAAAAHGNvdWxkbid0IHBhcnNlIG1pblJld2FyZFBhcnQEAAAAD2Jvb3N0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bWF4TG9ja0R1cmF0aW9uSW5CbG9ja3MJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACCQAEtQAAAAIJAQAAABhnZXRTdHJpbmdCeUFkZHJlc3NPckZhaWwAAAACBQAAABBib29zdGluZ0NvbnRyYWN0CQEAAAALa2V5Qm9vc3RDZmcAAAAABQAAAANTRVAAAAAAAAAAAAQEAAAADGxwQXNzZXRJZFN0cgMJAAAAAAAAAgUAAAAMbHBBc3NldElkT3B0AgAAAAAFAAAACEVNUFRZU1RSBQAAAAxscEFzc2V0SWRPcHQEAAAADnVzZXJBZGRyZXNzU3RyAwkAAAAAAAACBQAAAA51c2VyQWRkcmVzc09wdAIAAAAABQAAAAhFTVBUWVNUUgUAAAAOdXNlckFkZHJlc3NPcHQEAAAACnVzZXJOdW1TdHIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAQYm9vc3RpbmdDb250cmFjdAkBAAAAEmtleVVzZXIyTnVtTWFwcGluZwAAAAEFAAAADnVzZXJBZGRyZXNzT3B0BQAAAAhFTVBUWVNUUgQAAAAKdXNlckFtb3VudAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABBib29zdGluZ0NvbnRyYWN0CQEAAAAWa2V5TG9ja1BhcmFtVXNlckFtb3VudAAAAAEFAAAACnVzZXJOdW1TdHIAAAAAAAAAAAAEAAAACWxvY2tTdGFydAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABBib29zdGluZ0NvbnRyYWN0CQEAAAAWa2V5TG9ja1BhcmFtU3RhcnRCbG9jawAAAAEFAAAACnVzZXJOdW1TdHIFAAAABmhlaWdodAQAAAAMbG9ja0R1cmF0aW9uCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEGJvb3N0aW5nQ29udHJhY3QJAQAAABRrZXlMb2NrUGFyYW1EdXJhdGlvbgAAAAEFAAAACnVzZXJOdW1TdHIAAAAAAAAAAAAEAAAAB2xvY2tFbmQJAABkAAAAAgUAAAAJbG9ja1N0YXJ0BQAAAAxsb2NrRHVyYXRpb24EAAAAEXJlbWFpbmluZ0R1cmF0aW9uCQABlgAAAAEJAARMAAAAAgkAAGUAAAACBQAAAAdsb2NrRW5kBQAAAAZoZWlnaHQJAARMAAAAAgAAAAAAAAAAAAUAAAADbmlsBAAAAA11c2VyQW1vdW50TmV3CQAAZAAAAAIFAAAACnVzZXJBbW91bnQFAAAADWRlbHRhV3hBbW91bnQEAAAAD2xvY2tEdXJhdGlvbk5ldwkAAZcAAAABCQAETAAAAAIJAABkAAAAAgUAAAARcmVtYWluaW5nRHVyYXRpb24FAAAAF2RlbHRhTG9ja1BlcmlvZEluQmxvY2tzCQAETAAAAAIFAAAAF21heExvY2tEdXJhdGlvbkluQmxvY2tzBQAAAANuaWwEAAAADmdXeEFtb3VudFN0YXJ0CQABkQAAAAIJAQAAABpjYWxjR3d4QW1vdW50U3RhcnRSRUFET05MWQAAAAMFAAAADXVzZXJBbW91bnROZXcFAAAAD2xvY2tEdXJhdGlvbk5ldwUAAAAXbWF4TG9ja0R1cmF0aW9uSW5CbG9ja3MAAAAAAAAAAAAEAAAAE2dXeFBhcmFtc1Jlc3VsdExpc3QJAQAAAAlhc0FueUxpc3QAAAABCQAD/AAAAAQFAAAADG1hdGhDb250cmFjdAIAAAAVY2FsY0d3eFBhcmFtc1JFQURPTkxZCQAETAAAAAIFAAAADmdXeEFtb3VudFN0YXJ0CQAETAAAAAIFAAAABmhlaWdodAkABEwAAAACBQAAAA9sb2NrRHVyYXRpb25OZXcFAAAAA25pbAUAAAADbmlsBAAAAAFrCQEAAAAFYXNJbnQAAAABCQABkQAAAAIFAAAAE2dXeFBhcmFtc1Jlc3VsdExpc3QAAAAAAAAAAAAEAAAAAWIJAQAAAAVhc0ludAAAAAEJAAGRAAAAAgUAAAATZ1d4UGFyYW1zUmVzdWx0TGlzdAAAAAAAAAAAAQQAAAAGcGVyaW9kCQABpAAAAAEJAQAAAAVhc0ludAAAAAEJAAGRAAAAAgUAAAATZ1d4UGFyYW1zUmVzdWx0TGlzdAAAAAAAAAAAAgQAAAAYdG90YWxNYXhCb29zdEludGVncmFsS0VZCQEAAAAYa2V5VG90YWxNYXhCb29zdElOVEVHUkFMAAAAAAQAAAASdXNlck1heEJvb3N0SW50TmV3CQAAaQAAAAIJAABoAAAAAgUAAAAOZ1d4QW1vdW50U3RhcnQFAAAAD2xvY2tEdXJhdGlvbk5ldwAAAAAAAAAAAgQAAAAQdG90YWxNYXhCb29zdEludAkBAAAADGdldEludE9yWmVybwAAAAIFAAAAEGJvb3N0aW5nQ29udHJhY3QFAAAAGHRvdGFsTWF4Qm9vc3RJbnRlZ3JhbEtFWQQAAAAFTVVMVDMAAAAAAAAAA+gEAAAAFHd4RW1pc3Npb25QZXJCbG9ja1gzCQAAaAAAAAIJAQAAAAxnZXRJbnRPckZhaWwAAAACBQAAABBlbWlzc2lvbkNvbnRyYWN0CQEAAAAea2V5RW1pc3Npb25SYXRlUGVyQmxvY2tDdXJyZW50AAAAAAUAAAAFTVVMVDMEAAAAF2Jvb3N0RW1pc3Npb25QZXJCbG9ja1gzCQAAaQAAAAIJAABoAAAAAgUAAAAUd3hFbWlzc2lvblBlckJsb2NrWDMAAAAAAAAAAAIAAAAAAAAAAAMEAAAAFnRtcFVzZXJCb29zdFBlckJsb2NrWDMJAABrAAAAAwUAAAASdXNlck1heEJvb3N0SW50TmV3BQAAABdib29zdEVtaXNzaW9uUGVyQmxvY2tYMwUAAAAQdG90YWxNYXhCb29zdEludAQAAAAPc3Rha2VkQnlVc2VyS0VZCQEAAAAPa2V5U3Rha2VkQnlVc2VyAAAAAgUAAAAOdXNlckFkZHJlc3NTdHIFAAAADGxwQXNzZXRJZFN0cgQAAAAOc3Rha2VkVG90YWxLRVkJAQAAAA5rZXlTdGFrZWRUb3RhbAAAAAEFAAAADGxwQXNzZXRJZFN0cgQAAAAMc3Rha2VkQnlVc2VyCQEAAAAKcmVhZFN0YWtlZAAAAAIFAAAAD3N0YWtpbmdDb250cmFjdAUAAAAPc3Rha2VkQnlVc2VyS0VZBAAAAAtzdGFrZWRUb3RhbAkBAAAACnJlYWRTdGFrZWQAAAACBQAAAA9zdGFraW5nQ29udHJhY3QFAAAADnN0YWtlZFRvdGFsS0VZBAAAAA9zdGFrZWRCeVVzZXJOZXcJAABkAAAAAgUAAAAMc3Rha2VkQnlVc2VyBQAAAA1kZWx0YUxwQW1vdW50BAAAAA5zdGFrZWRUb3RhbE5ldwkAAGQAAAACBQAAAAtzdGFrZWRUb3RhbAUAAAANZGVsdGFMcEFtb3VudAQAAAAKcG9vbFdlaWdodAMJAQAAAAIhPQAAAAIFAAAADGxwQXNzZXRJZFN0cgUAAAAIRU1QVFlTVFIEAAAADnBvb2xBZGRyZXNzU3RyCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAPZmFjdG9yeUNvbnRyYWN0CQEAAAAaa2V5RmFjdG9yeUxwMkFzc2V0c01hcHBpbmcAAAABBQAAAAxscEFzc2V0SWRTdHIJAAEsAAAAAgIAAAAVdW5zdXBwb3J0ZWQgbHAgYXNzZXQgBQAAAAxscEFzc2V0SWRTdHIJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAAD2ZhY3RvcnlDb250cmFjdAkBAAAAFGtleUZhY3RvcnlQb29sV2VpZ2h0AAAAAQUAAAAOcG9vbEFkZHJlc3NTdHIAAAAAAAAAAAAEAAAAGHBvb2xXeEVtaXNzaW9uUGVyQmxvY2tYMwkAAGsAAAADBQAAABR3eEVtaXNzaW9uUGVyQmxvY2tYMwUAAAAKcG9vbFdlaWdodAkAAGgAAAACBQAAAA5QT09MV0VJR0hUTVVMVAAAAAAAAAAAAwQAAAAJd3hQZXJMcFgzAwkBAAAAAiE9AAAAAgUAAAAOc3Rha2VkVG90YWxOZXcAAAAAAAAAAAAJAABrAAAAAwUAAAAYcG9vbFd4RW1pc3Npb25QZXJCbG9ja1gzBQAAAAVNVUxUOAUAAAAOc3Rha2VkVG90YWxOZXcAAAAAAAAAAAAEAAAAEHVzZXJXeFBlckJsb2NrWDMJAABrAAAAAwUAAAAJd3hQZXJMcFgzBQAAAA9zdGFrZWRCeVVzZXJOZXcFAAAABU1VTFQ4BAAAABN1c2VyQm9vc3RQZXJCbG9ja1gzCQABlwAAAAEJAARMAAAAAgUAAAAWdG1wVXNlckJvb3N0UGVyQmxvY2tYMwkABEwAAAACCQAAaAAAAAIFAAAAEHVzZXJXeFBlckJsb2NrWDMAAAAAAAAAAAIFAAAAA25pbAQAAAAKYm9vc3RDb2VmZgMJAAAAAAAAAgUAAAAQdXNlcld4UGVyQmxvY2tYMwAAAAAAAAAAAAkAAGgAAAACAAAAAAAAAAABBQAAAAVNVUxUOAkAAGsAAAADCQAAZAAAAAIFAAAAE3VzZXJCb29zdFBlckJsb2NrWDMFAAAAEHVzZXJXeFBlckJsb2NrWDMFAAAABU1VTFQ4BQAAABB1c2VyV3hQZXJCbG9ja1gzBAAAAAVkZWJ1ZwkABLkAAAACCQAETAAAAAIJAAEsAAAAAgIAAAANbHBBc3NldElkU3RyPQUAAAAMbHBBc3NldElkU3RyCQAETAAAAAIJAAEsAAAAAgIAAAAPdXNlckFkZHJlc3NTdHI9BQAAAA51c2VyQWRkcmVzc1N0cgkABEwAAAACCQABLAAAAAICAAAAC3VzZXJOdW1TdHI9BQAAAAp1c2VyTnVtU3RyCQAETAAAAAIJAAEsAAAAAgIAAAALdXNlckFtb3VudD0JAAGkAAAAAQUAAAAKdXNlckFtb3VudAkABEwAAAACCQABLAAAAAICAAAADnVzZXJBbW91bnROZXc9CQABpAAAAAEFAAAADXVzZXJBbW91bnROZXcJAARMAAAAAgkAASwAAAACAgAAABBsb2NrRHVyYXRpb25OZXc9CQABpAAAAAEFAAAAD2xvY2tEdXJhdGlvbk5ldwkABEwAAAACCQABLAAAAAICAAAAD2dXeEFtb3VudFN0YXJ0PQkAAaQAAAABBQAAAA5nV3hBbW91bnRTdGFydAkABEwAAAACCQABLAAAAAICAAAAE3VzZXJNYXhCb29zdEludE5ldz0JAAGkAAAAAQUAAAASdXNlck1heEJvb3N0SW50TmV3CQAETAAAAAIJAAEsAAAAAgIAAAARdG90YWxNYXhCb29zdEludD0JAAGkAAAAAQUAAAAQdG90YWxNYXhCb29zdEludAkABEwAAAACCQABLAAAAAICAAAAF3RtcFVzZXJCb29zdFBlckJsb2NrWDM9CQABpAAAAAEFAAAAFnRtcFVzZXJCb29zdFBlckJsb2NrWDMJAARMAAAAAgkAASwAAAACAgAAABBzdGFrZWRCeVVzZXJOZXc9CQABpAAAAAEFAAAAD3N0YWtlZEJ5VXNlck5ldwkABEwAAAACCQABLAAAAAICAAAAD3N0YWtlZFRvdGFsTmV3PQkAAaQAAAABBQAAAA5zdGFrZWRUb3RhbE5ldwkABEwAAAACCQABLAAAAAICAAAAC3Bvb2xXZWlnaHQ9CQABpAAAAAEFAAAACnBvb2xXZWlnaHQJAARMAAAAAgkAASwAAAACAgAAAAp3eFBlckxwWDM9CQABpAAAAAEFAAAACXd4UGVyTHBYMwkABEwAAAACCQABLAAAAAICAAAAGXBvb2xXeEVtaXNzaW9uUGVyQmxvY2tYMz0JAAGkAAAAAQUAAAAYcG9vbFd4RW1pc3Npb25QZXJCbG9ja1gzCQAETAAAAAIJAAEsAAAAAgIAAAARdXNlcld4UGVyQmxvY2tYMz0JAAGkAAAAAQUAAAAQdXNlcld4UGVyQmxvY2tYMwUAAAADbmlsAgAAAAI6OgkABRQAAAACBQAAAANuaWwJAAS5AAAAAgkABEwAAAACAgAAAAYlZCVkJXMJAARMAAAAAgkAAaQAAAABBQAAAA5nV3hBbW91bnRTdGFydAkABEwAAAACCQABpAAAAAEFAAAACmJvb3N0Q29lZmYJAARMAAAAAgUAAAAFZGVidWcFAAAAA25pbAUAAAADU0VQAAAAAWkBAAAAF3d4RW1pc3Npb25TdGF0c1JFQURPTkxZAAAAAAQAAAAHT05FTVVMVAkAAaQAAAABBQAAAAVNVUxUOAQAAAADT05FAgAAAAExBAAAAA9mYWN0b3J5Q29udHJhY3QJAQAAABhyZWFkRmFjdG9yeUFkZHJlc3NPckZhaWwAAAAABAAAAApmYWN0b3J5Q2ZnCQEAAAAUcmVhZEZhY3RvcnlDZmdPckZhaWwAAAABBQAAAA9mYWN0b3J5Q29udHJhY3QEAAAAEGJvb3N0aW5nQ29udHJhY3QJAQAAABhnZXRCb29zdGluZ0FkZHJlc3NPckZhaWwAAAABBQAAAApmYWN0b3J5Q2ZnBAAAABBlbWlzc2lvbkNvbnRyYWN0CQEAAAAYZ2V0RW1pc3Npb25BZGRyZXNzT3JGYWlsAAAAAQUAAAAKZmFjdG9yeUNmZwQAAAASd3hFbWlzc2lvblBlckJsb2NrCQEAAAAMZ2V0SW50T3JGYWlsAAAAAgUAAAAQZW1pc3Npb25Db250cmFjdAkBAAAAHmtleUVtaXNzaW9uUmF0ZVBlckJsb2NrQ3VycmVudAAAAAAEAAAAEmVtaXNzaW9uU3RhcnRCbG9jawkBAAAADGdldEludE9yRmFpbAAAAAIFAAAAEGVtaXNzaW9uQ29udHJhY3QJAQAAABVrZXlFbWlzc2lvblN0YXJ0QmxvY2sAAAAABAAAAAxwYXNzZWRCbG9ja3MDCQAAZgAAAAIFAAAAEmVtaXNzaW9uU3RhcnRCbG9jawUAAAAGaGVpZ2h0AAAAAAAAAAAACQAAZQAAAAIFAAAABmhlaWdodAUAAAASZW1pc3Npb25TdGFydEJsb2NrBAAAAA50ZWFtRW1EdXJhdGlvbgkAAGgAAAACAAAAAAAAAAWgAAAAAAAAAAFtBAAAAAl0ZWFtRW1NYXgJAABoAAAAAgAAAAAAC/sEQAUAAAAFTVVMVDgEAAAABnRlYW1FbQMJAABmAAAAAgUAAAAMcGFzc2VkQmxvY2tzBQAAAA50ZWFtRW1EdXJhdGlvbgUAAAAJdGVhbUVtTWF4CQAAawAAAAMFAAAACXRlYW1FbU1heAUAAAAMcGFzc2VkQmxvY2tzBQAAAA50ZWFtRW1EdXJhdGlvbgQAAAAPdG90YWxXeFJlbGVhc2VkCQAAZAAAAAIJAABoAAAAAgUAAAASd3hFbWlzc2lvblBlckJsb2NrBQAAAAxwYXNzZWRCbG9ja3MFAAAABnRlYW1FbQQAAAANdG90YWxXeExvY2tlZAkBAAAADGdldEludE9yWmVybwAAAAIFAAAAEGJvb3N0aW5nQ29udHJhY3QJAQAAAB9rZXlCb29zdGluZ0xvY2tQYXJhbVRvdGFsQW1vdW50AAAAAAQAAAAYbG9ja3NEdXJhdGlvblN1bUluQmxvY2tzCQEAAAAMZ2V0SW50T3JaZXJvAAAAAgUAAAAQYm9vc3RpbmdDb250cmFjdAkBAAAAKGtleUJvb3N0aW5nU3RhdHNMb2Nrc0R1cmF0aW9uU3VtSW5CbG9ja3MAAAAABAAAAApsb2Nrc0NvdW50CQEAAAAMZ2V0SW50T3JaZXJvAAAAAgUAAAAQYm9vc3RpbmdDb250cmFjdAkBAAAAGmtleUJvb3N0aW5nU3RhdHNMb2Nrc0NvdW50AAAAAAkABRQAAAACBQAAAANuaWwJAAS5AAAAAgkABEwAAAACAgAAAAglZCVkJWQlZAkABEwAAAACCQABpAAAAAEFAAAAD3RvdGFsV3hSZWxlYXNlZAkABEwAAAACCQABpAAAAAEFAAAADXRvdGFsV3hMb2NrZWQJAARMAAAAAgkAAaQAAAABBQAAABhsb2Nrc0R1cmF0aW9uU3VtSW5CbG9ja3MJAARMAAAAAgkAAaQAAAABBQAAAApsb2Nrc0NvdW50BQAAAANuaWwFAAAAA1NFUAAAAAFpAQAAAA9scFN0YXRzUkVBRE9O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", "chainId": 84, "height": 1813651, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: RxTfn3PL835aykYPidHixau6fjxTaBKTqRUm1C1qioi Next: 67eJL4J3x63KFkPka7q5KMtv3XYom5pX4tk5xjD3p5pU Diff:
OldNewDifferences
1111
1212 let e = "__"
1313
14-let f = 1
14+let f = b
1515
16-let g = 2
16+let g = 1
1717
18-let h = 3
18+let h = 2
1919
20-let i = 4
20+let i = 3
2121
22-let j = 5
22+let j = 4
2323
24-let k = 6
24+let k = 5
2525
26-let l = 7
26+let l = 6
2727
28-let m = 8
28+let m = 7
2929
30-let n = 9
30+let n = 8
3131
32-let o = 10
32+let o = 9
3333
34-func p (q) = valueOrErrorMessage(getString(q), (("mandatory this." + q) + " is not defined"))
34+let p = 10
35+
36+func q (r) = valueOrErrorMessage(getString(r), (("mandatory this." + r) + " is not defined"))
3537
3638
37-func r (s,q) = valueOrErrorMessage(getString(s, q), (((("mandatory " + toString(s)) + ".") + q) + " is not defined"))
39+func s (t,r) = valueOrErrorMessage(getString(t, r), (((("mandatory " + toString(t)) + ".") + r) + " is not defined"))
3840
3941
40-func t (s,q) = valueOrElse(getInteger(s, q), 0)
42+func u (t,r) = valueOrElse(getInteger(t, r), 0)
4143
4244
43-func u (s,q) = valueOrErrorMessage(getInteger(s, q), (("mandatory this." + q) + " is not defined"))
45+func v (t,r) = valueOrErrorMessage(getInteger(t, r), (("mandatory this." + r) + " is not defined"))
4446
4547
46-func v () = "%s%s__config__factoryAddress"
47-
48-
49-let w = 1
50-
51-let x = 2
52-
53-let y = 3
54-
55-let z = 4
56-
57-let A = 5
58-
59-let B = 6
60-
61-let C = 7
62-
63-func D () = "%s__factoryConfig"
64-
65-
66-func E (F) = makeString(["%s%s%s", F, "mappings__lpAsset2PoolContract"], e)
67-
68-
69-func G () = "%s__lpTokensList"
70-
71-
72-func H (F) = makeString(["%s%s%s", F, "mappings__lpAsset2PoolContract"], e)
73-
74-
75-func I (J) = makeString(["%s%s", "poolWeight", J], e)
76-
77-
78-func K () = addressFromStringValue(p(v()))
79-
80-
81-func L () = split(valueOrElse(getString(K(), G()), ""), e)
82-
83-
84-func M (N) = split(r(N, D()), e)
85-
86-
87-func O (P) = addressFromStringValue(P[x])
88-
89-
90-func Q (P) = addressFromStringValue(P[A])
91-
92-
93-func R (P) = addressFromStringValue(P[w])
94-
95-
96-func S () = "%s__config"
97-
98-
99-func T () = "%s%s__stats__activeTotalLocked"
100-
101-
102-func U () = "%s%s__stats__locksDurationSumInBlocks"
103-
104-
105-func V () = "%s%s__stats__locksCount"
106-
107-
108-func W () = "%s%s__stats__activeUsersCount"
109-
110-
111-func X (Y) = makeString(["%s%s%s__mapping__user2num", Y], e)
112-
113-
114-func Z (aa) = makeString(["%s%s%s__mapping__num2user", aa], e)
115-
116-
117-func ab (ac) = makeString(["%s%d%s__paramByUserNum", ac, "amount"], e)
118-
119-
120-func ad (ac) = makeString(["%s%d%s__paramByUserNum", ac, "start"], e)
121-
122-
123-func ae (ac) = makeString(["%s%d%s__paramByUserNum", ac, "duration"], e)
124-
125-
126-func af (ac) = makeString(["%s%d%s__paramByUserNum", ac, "k"], e)
127-
128-
129-func ag (ac) = makeString(["%s%d%s__paramByUserNum", ac, "b"], e)
130-
131-
132-func ah (ac,ai) = makeString(["%s%d%s%d__paramByPeriod", ac, "k", ai], e)
133-
134-
135-func aj (ac,ai) = makeString(["%s%d%s%d__paramByPeriod", ac, "b", ai], e)
136-
137-
138-func ak (al,am) = makeString(["%s%s%s__staked", al, am], e)
139-
140-
141-func an (am) = ("%s%s%s__staked__total__" + am)
142-
143-
144-func ao (am,al) = makeString(["%s%s%s__claimed", al, am], e)
145-
146-
147-func ap (am,al) = makeString(["%s%s%s__claimedMinReward", al, am], e)
148-
149-
150-func aq (am,al) = makeString(["%s%s%s__claimedBoostReward", al, am], e)
151-
152-
153-func ar () = "%s%s__ratePerBlock__current"
154-
155-
156-func as () = "%s%s__ratePerBlockMax__current"
157-
158-
159-func at () = "%s%s__emission__startBlock"
160-
161-
162-func au () = "%s%s__emission__duration"
163-
164-
165-func av () = "%s%s__emission__endBlock"
166-
167-
168-func aw (ax,ay,az,aA) = {
169- let aB = r(ax, H(aA))
170- let aC = b
171- let aD = getIntegerValue(ax, I(aB))
172- let aE = u(az, ar())
173- let aF = u(az, as())
174- let aG = fraction(aE, aD, aC)
175- let aH = fraction(aF, aD, aC)
176- let aI = (3 * b)
177- let aJ = t(ay, an(aA))
178-[aG, aI, aJ]
48+func w (x) = {
49+ let y = x
50+ if ($isInstanceOf(y, "List[Any]"))
51+ then {
52+ let z = y
53+ z
54+ }
55+ else throw("fail to cast into List[Any]")
17956 }
18057
18158
182-@Callable(aK)
183-func constructor (aL) = if ((aK.caller != this))
59+func A (x) = {
60+ let y = x
61+ if ($isInstanceOf(y, "Int"))
62+ then {
63+ let B = y
64+ B
65+ }
66+ else throw("fail to cast into Int")
67+ }
68+
69+
70+func C (x) = {
71+ let y = x
72+ if ($isInstanceOf(y, "String"))
73+ then {
74+ let D = y
75+ D
76+ }
77+ else throw("fail to cast into String")
78+ }
79+
80+
81+func E () = "%s%s__config__factoryAddress"
82+
83+
84+let F = 1
85+
86+let G = 2
87+
88+let H = 3
89+
90+let I = 4
91+
92+let J = 5
93+
94+let K = 6
95+
96+let L = 7
97+
98+let M = 8
99+
100+func N () = "%s__factoryConfig"
101+
102+
103+func O (P) = makeString(["%s%s%s", P, "mappings__lpAsset2PoolContract"], e)
104+
105+
106+func Q () = "%s__lpTokensList"
107+
108+
109+func R (P) = makeString(["%s%s%s", P, "mappings__lpAsset2PoolContract"], e)
110+
111+
112+func S (T) = makeString(["%s%s", "poolWeight", T], e)
113+
114+
115+func U () = addressFromStringValue(q(E()))
116+
117+
118+func V () = split(valueOrElse(getString(U(), Q()), ""), e)
119+
120+
121+func W (X) = split(s(X, N()), e)
122+
123+
124+func Y (Z) = addressFromStringValue(Z[G])
125+
126+
127+func aa (Z) = addressFromStringValue(Z[J])
128+
129+
130+func ab (Z) = addressFromStringValue(Z[F])
131+
132+
133+func ac (Z) = addressFromStringValue("3PH83bJCZraJoEzFefz4p8UXZD9YazNnj1n")
134+
135+
136+func ad () = "%s__config"
137+
138+
139+func ae () = "%s%s__stats__activeTotalLocked"
140+
141+
142+func af () = "%s%s__stats__locksDurationSumInBlocks"
143+
144+
145+func ag () = "%s%s__stats__locksCount"
146+
147+
148+func ah () = "%s%s__stats__activeUsersCount"
149+
150+
151+func ai (aj) = makeString(["%s%s%s__mapping__user2num", aj], e)
152+
153+
154+func ak (al) = makeString(["%s%s%s__mapping__num2user", al], e)
155+
156+
157+func am (an) = makeString(["%s%d%s__paramByUserNum", an, "amount"], e)
158+
159+
160+func ao (an) = makeString(["%s%d%s__paramByUserNum", an, "start"], e)
161+
162+
163+func ap (an) = makeString(["%s%d%s__paramByUserNum", an, "duration"], e)
164+
165+
166+func aq (an) = makeString(["%s%d%s__paramByUserNum", an, "k"], e)
167+
168+
169+func ar (an) = makeString(["%s%d%s__paramByUserNum", an, "b"], e)
170+
171+
172+func as (an,at) = makeString(["%s%d%s%d__paramByPeriod", an, "k", at], e)
173+
174+
175+func au (an,at) = makeString(["%s%d%s%d__paramByPeriod", an, "b", at], e)
176+
177+
178+func av (an) = makeString(["%s%d__userBoostEmissionLastInt", an], e)
179+
180+
181+func aw (an) = makeString(["%s%d__maxBoostInt", an], e)
182+
183+
184+func ax () = "%s%s__maxBoostInt__total"
185+
186+
187+func ay (an) = makeString(["%s%d__userBoostAvaliableToClaimTotal", an], e)
188+
189+
190+func az (an) = makeString(["%s%d__userBoostClaimed", an], e)
191+
192+
193+func aA (aB,aC) = makeString(["%s%s%s__staked", aB, aC], e)
194+
195+
196+func aD (aC) = ("%s%s%s__staked__total__" + aC)
197+
198+
199+func aE (aC,aB) = makeString(["%s%s%s__claimed", aB, aC], e)
200+
201+
202+func aF (aC,aB) = makeString(["%s%s%s__claimedMinReward", aB, aC], e)
203+
204+
205+func aG (aC,aB) = makeString(["%s%s%s__claimedBoostReward", aB, aC], e)
206+
207+
208+func aH (aI,r) = valueOrElse(getInteger(aI, r), 0)
209+
210+
211+func aJ () = "%s%s__ratePerBlock__current"
212+
213+
214+func aK () = "%s%s__ratePerBlockMax__current"
215+
216+
217+func aL () = "%s%s__emission__startBlock"
218+
219+
220+func aM () = "%s%s__emission__duration"
221+
222+
223+func aN () = "%s%s__emission__endBlock"
224+
225+
226+func aO (aP,aQ,aR,aS) = {
227+ let aT = s(aP, R(aS))
228+ let aU = b
229+ let aV = getIntegerValue(aP, S(aT))
230+ let aW = v(aR, aJ())
231+ let aX = v(aR, aK())
232+ let aY = fraction(aW, aV, aU)
233+ let aZ = fraction(aX, aV, aU)
234+ let ba = (3 * b)
235+ let bb = u(aQ, aD(aS))
236+[aY, ba, bb]
237+ }
238+
239+
240+func bc (bd,be,bf) = {
241+ let bg = fraction(be, b, bf)
242+ let bh = fraction(bd, bg, b)
243+[bh]
244+ }
245+
246+
247+@Callable(bi)
248+func constructor (bj) = if ((bi.caller != this))
184249 then throw("not authorized")
185- else [StringEntry(v(), aL)]
250+ else [StringEntry(E(), bj)]
186251
187252
188253
189-@Callable(aK)
190-func currentRewardRateREADONLY (aA) = {
191- let ax = K()
192- let P = M(ax)
193- let ay = R(P)
194- let az = Q(P)
195- let aM = aw(ax, ay, az, aA)
196- let aE = aM[0]
197- let aI = aM[1]
198- let aJ = aM[2]
199- $Tuple2(nil, makeString(["%d%d%d", toString(aE), toString(aI), toString(aJ)], e))
254+@Callable(bi)
255+func currentRewardRateREADONLY (aS) = {
256+ let aP = U()
257+ let Z = W(aP)
258+ let aQ = ab(Z)
259+ let aR = aa(Z)
260+ let bk = aO(aP, aQ, aR, aS)
261+ let aW = bk[0]
262+ let ba = bk[1]
263+ let bb = bk[2]
264+ $Tuple2(nil, makeString(["%d%d%d", toString(aW), toString(ba), toString(bb)], e))
200265 }
201266
202267
203268
204-@Callable(aK)
205-func currentUserRewardRateREADONLY (aA,Y) = {
206- let ax = K()
207- let P = M(ax)
208- let ay = R(P)
209- let az = Q(P)
210- let aM = aw(ax, ay, az, aA)
211- let aE = aM[0]
212- let aI = aM[1]
213- let aJ = aM[2]
214- let aN = t(ay, ak(Y, aA))
215- let aO = (1 * b)
216- $Tuple2(nil, makeString(["%d%d%d%d%d", toString(aE), toString(aI), toString(aJ), toString(aN), toString(aO)], e))
269+@Callable(bi)
270+func currentUserRewardRateREADONLY (aS,aj) = {
271+ let aP = U()
272+ let Z = W(aP)
273+ let aQ = ab(Z)
274+ let aR = aa(Z)
275+ let bk = aO(aP, aQ, aR, aS)
276+ let aW = bk[0]
277+ let ba = bk[1]
278+ let bb = bk[2]
279+ let bl = u(aQ, aA(aj, aS))
280+ let bm = split(C(invoke(aQ, "claimWxREADONLY", [aS, aj], nil)), e)
281+ let bn = valueOrErrorMessage(parseInt(bm[5]), "couldn't parse minRewardPart")
282+ let bo = valueOrErrorMessage(parseInt(bm[6]), "couldn't parse boostRewardPart")
283+ let bp = bm[7]
284+ let bq = if ((bo == 0))
285+ then (1 * b)
286+ else fraction((bn + bo), b, bn)
287+ $Tuple2(nil, makeString(["%d%d%d%d%d%s", toString(aW), toString(ba), toString(bb), toString(bl), toString(bq), bp], e))
217288 }
218289
219290
220291
221-@Callable(aK)
222-func claimedRewardREADONLY (Y) = {
223- let ax = K()
224- let P = M(ax)
225- let ay = R(P)
226- let aP = L()
227- let aQ = "%s%d%d%d%s"
228- func aR (aS,aT) = {
229- let aU = ap(aT, Y)
230- let aV = aq(aT, Y)
231- let aW = valueOrElse(getInteger(ay, aU), 0)
232- let aX = valueOrElse(getInteger(ay, aV), 0)
233- let aY = 0
234- makeString([(aQ + aS), aT, toString(aW), toString(aX), toString(aY), "end"], e)
292+@Callable(bi)
293+func claimedRewardREADONLY (aj) = {
294+ let aP = U()
295+ let Z = W(aP)
296+ let aQ = ab(Z)
297+ let br = V()
298+ let bs = "%s%d%d%d%s"
299+ func bt (bu,bv) = {
300+ let bw = aF(bv, aj)
301+ let bx = aG(bv, aj)
302+ let by = valueOrElse(getInteger(aQ, bw), 0)
303+ let bz = valueOrElse(getInteger(aQ, bx), 0)
304+ let bA = 0
305+ makeString([(bs + bu), bv, toString(by), toString(bz), toString(bA), "end"], e)
235306 }
236307
237- let aZ = {
238- let ba = aP
239- let bb = size(ba)
240- let bc = "%s"
241- func bd (be,bf) = if ((bf >= bb))
242- then be
243- else aR(be, ba[bf])
308+ let bB = {
309+ let bC = br
310+ let bD = size(bC)
311+ let bE = "%s"
312+ func bF (bG,bH) = if ((bH >= bD))
313+ then bG
314+ else bt(bG, bC[bH])
244315
245- func bg (be,bf) = if ((bf >= bb))
246- then be
316+ func bI (bG,bH) = if ((bH >= bD))
317+ then bG
247318 else throw("List size exceeds 10")
248319
249- bg(bd(bd(bd(bd(bd(bd(bd(bd(bd(bd(bc, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
320+ bI(bF(bF(bF(bF(bF(bF(bF(bF(bF(bF(bE, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
250321 }
251- $Tuple2(nil, ((aZ + e) + Y))
322+ $Tuple2(nil, ((bB + e) + aj))
252323 }
253324
254325
255326
256-@Callable(aK)
257-func calcBoostREADONLY (bh,bi,bj,bk,bl) = {
258- let ax = K()
259- let P = M(ax)
260- let bm = O(P)
261- let bn = "empty"
262- let bo = parseIntValue(split(r(bm, S()), e)[4])
263- let ac = valueOrElse(getString(bm, X(bl)), bn)
264- let bp = valueOrElse(getInteger(bm, ab(ac)), 0)
265- let bq = valueOrElse(getInteger(bm, ad(ac)), height)
266- let br = valueOrElse(getInteger(bm, ae(ac)), 0)
267- let bs = (bq + br)
268- let bt = max([(bs - height), 0])
269- let bu = if ((bl != ""))
270- then (3 * b)
271- else (1 * b)
272- let bv = 1000
273- let bw = (bp + bh)
274- let bx = min([(bt + bi), bo])
275- let by = fraction(bx, b, bo)
276- let bz = fraction(bw, by, b)
277- let bA = (height + bx)
278- let bB = -(fraction(bz, bv, bx))
279- let bC = (fraction(bz, bv, bx) * bA)
280- let bD = (((bB * height) + bC) / bv)
281- $Tuple2(nil, makeString(["%d%d", toString(bD), toString(bu)], e))
327+@Callable(bi)
328+func calcBoostREADONLY (bJ,bK,bL,bM,bN) = {
329+ let aP = U()
330+ let Z = W(aP)
331+ let bO = Y(Z)
332+ let bP = ac(Z)
333+ let aR = aa(Z)
334+ let aQ = ab(Z)
335+ let bQ = "empty"
336+ let bR = parseIntValue(split(s(bO, ad()), e)[4])
337+ let aC = if ((bM == ""))
338+ then bQ
339+ else bM
340+ let aB = if ((bN == ""))
341+ then bQ
342+ else bN
343+ let bS = valueOrElse(getString(bO, ai(bN)), bQ)
344+ let bT = valueOrElse(getInteger(bO, am(bS)), 0)
345+ let bU = valueOrElse(getInteger(bO, ao(bS)), height)
346+ let be = valueOrElse(getInteger(bO, ap(bS)), 0)
347+ let bV = (bU + be)
348+ let bW = max([(bV - height), 0])
349+ let bX = (bT + bJ)
350+ let bY = min([(bW + bK), bR])
351+ let bh = bc(bX, bY, bR)[0]
352+ let bZ = w(invoke(bP, "calcGwxParamsREADONLY", [bh, height, bY], nil))
353+ let ca = A(bZ[0])
354+ let cb = A(bZ[1])
355+ let at = toString(A(bZ[2]))
356+ let cc = ax()
357+ let cd = ((bh * bY) / 2)
358+ let ce = u(bO, cc)
359+ let cf = 1000
360+ let cg = (v(aR, aJ()) * cf)
361+ let ch = ((cg * 2) / 3)
362+ let ci = fraction(cd, ch, ce)
363+ let cj = aA(aB, aC)
364+ let ck = aD(aC)
365+ let cl = aH(aQ, cj)
366+ let cm = aH(aQ, ck)
367+ let cn = (cl + bL)
368+ let co = (cm + bL)
369+ let aV = if ((aC != bQ))
370+ then {
371+ let aT = valueOrErrorMessage(getString(aP, O(aC)), ("unsupported lp asset " + aC))
372+ getIntegerValue(aP, S(aT))
373+ }
374+ else 0
375+ let cp = fraction(cg, aV, (f * 3))
376+ let cq = if ((co != 0))
377+ then fraction(cp, b, co)
378+ else 0
379+ let cr = fraction(cq, cn, b)
380+ let cs = min([ci, (cr * 2)])
381+ let ct = if ((cr == 0))
382+ then (1 * b)
383+ else fraction((cs + cr), b, cr)
384+ let bp = makeString([("lpAssetIdStr=" + aC), ("userAddressStr=" + aB), ("userNumStr=" + bS), ("userAmount=" + toString(bT)), ("userAmountNew=" + toString(bX)), ("lockDurationNew=" + toString(bY)), ("gWxAmountStart=" + toString(bh)), ("userMaxBoostIntNew=" + toString(cd)), ("totalMaxBoostInt=" + toString(ce)), ("tmpUserBoostPerBlockX3=" + toString(ci)), ("stakedByUserNew=" + toString(cn)), ("stakedTotalNew=" + toString(co)), ("poolWeight=" + toString(aV)), ("wxPerLpX3=" + toString(cq)), ("poolWxEmissionPerBlockX3=" + toString(cp)), ("userWxPerBlockX3=" + toString(cr))], "::")
385+ $Tuple2(nil, makeString(["%d%d%s", toString(bh), toString(ct), bp], e))
282386 }
283387
284388
285389
286-@Callable(aK)
390+@Callable(bi)
287391 func wxEmissionStatsREADONLY () = {
288- let bE = toString(b)
289- let bF = "1"
290- let ax = K()
291- let P = M(ax)
292- let bm = O(P)
293- let az = Q(P)
294- let aE = u(az, ar())
295- let bG = u(az, at())
296- let bH = if ((bG > height))
392+ let cu = toString(b)
393+ let cv = "1"
394+ let aP = U()
395+ let Z = W(aP)
396+ let bO = Y(Z)
397+ let aR = aa(Z)
398+ let aW = v(aR, aJ())
399+ let cw = v(aR, aL())
400+ let cx = if ((cw > height))
297401 then 0
298- else (height - bG)
299- let bI = (1440 * 365)
300- let bJ = (201000000 * b)
301- let bK = if ((bH > bI))
302- then bJ
303- else fraction(bJ, bH, bI)
304- let bL = ((aE * bH) + bK)
305- let bM = t(bm, T())
306- let bN = t(bm, U())
307- let bO = t(bm, V())
308- $Tuple2(nil, makeString(["%d%d%d%d", toString(bL), toString(bM), toString(bN), toString(bO)], e))
402+ else (height - cw)
403+ let cy = (1440 * 365)
404+ let cz = (201000000 * b)
405+ let cA = if ((cx > cy))
406+ then cz
407+ else fraction(cz, cx, cy)
408+ let cB = ((aW * cx) + cA)
409+ let cC = u(bO, ae())
410+ let cD = u(bO, af())
411+ let cE = u(bO, ag())
412+ $Tuple2(nil, makeString(["%d%d%d%d", toString(cB), toString(cC), toString(cD), toString(cE)], e))
309413 }
310414
311415
312416
313-@Callable(aK)
314-func lpStatsREADONLY (bP) = {
315- let aL = K()
316- let bQ = addressFromStringValue(r(aL, H(bP)))
317- let bR = if ($isInstanceOf(invoke(bQ, "getPoolConfigWrapperREADONLY", nil, nil), "List[Any]"))
318- then invoke(bQ, "getPoolConfigWrapperREADONLY", nil, nil)
417+@Callable(bi)
418+func lpStatsREADONLY (cF) = {
419+ let bj = U()
420+ let cG = addressFromStringValue(s(bj, R(cF)))
421+ let cH = if ($isInstanceOf(invoke(cG, "getPoolConfigWrapperREADONLY", nil, nil), "List[Any]"))
422+ then invoke(cG, "getPoolConfigWrapperREADONLY", nil, nil)
319423 else throw("Couldn't cast Any to List[Any]")
320- let aA = fromBase58String(if ($isInstanceOf(bR[h], "String"))
321- then bR[h]
424+ let aS = fromBase58String(if ($isInstanceOf(cH[i], "String"))
425+ then cH[i]
322426 else throw("Couldn't cast Any to String"))
323- let bS = if ($isInstanceOf(bR[i], "String"))
324- then bR[i]
427+ let cI = if ($isInstanceOf(cH[j], "String"))
428+ then cH[j]
325429 else throw("Couldn't cast Any to String")
326- let bT = if ($isInstanceOf(bR[j], "String"))
327- then bR[j]
430+ let cJ = if ($isInstanceOf(cH[k], "String"))
431+ then cH[k]
328432 else throw("Couldn't cast Any to String")
329- let bU = if ($isInstanceOf(bR[m], "String"))
330- then bR[m]
433+ let cK = if ($isInstanceOf(cH[n], "String"))
434+ then cH[n]
331435 else throw("Couldn't cast Any to String")
332- let bV = if ($isInstanceOf(bR[n], "String"))
333- then bR[n]
436+ let cL = if ($isInstanceOf(cH[o], "String"))
437+ then cH[o]
334438 else throw("Couldn't cast Any to String")
335- let bW = parseIntValue(if ($isInstanceOf(bR[k], "String"))
336- then bR[k]
439+ let cM = parseIntValue(if ($isInstanceOf(cH[l], "String"))
440+ then cH[l]
337441 else throw("Couldn't cast Any to String"))
338- let bX = parseIntValue(if ($isInstanceOf(bR[l], "String"))
339- then bR[l]
442+ let cN = parseIntValue(if ($isInstanceOf(cH[m], "String"))
443+ then cH[m]
340444 else throw("Couldn't cast Any to String"))
341- let bY = valueOrErrorMessage(assetInfo(aA), (("Asset " + toBase58String(aA)) + " doesn't exist")).quantity
342- let bZ = if ($isInstanceOf(invoke(bQ, "getAccBalanceWrapperREADONLY", [bS], nil), "Int"))
343- then invoke(bQ, "getAccBalanceWrapperREADONLY", [bS], nil)
445+ let cO = valueOrErrorMessage(assetInfo(aS), (("Asset " + toBase58String(aS)) + " doesn't exist")).quantity
446+ let cP = if ($isInstanceOf(invoke(cG, "getAccBalanceWrapperREADONLY", [cI], nil), "Int"))
447+ then invoke(cG, "getAccBalanceWrapperREADONLY", [cI], nil)
344448 else throw("Couldn't cast Any to Int")
345- let ca = if ($isInstanceOf(invoke(bQ, "getAccBalanceWrapperREADONLY", [bT], nil), "Int"))
346- then invoke(bQ, "getAccBalanceWrapperREADONLY", [bT], nil)
449+ let cQ = if ($isInstanceOf(invoke(cG, "getAccBalanceWrapperREADONLY", [cJ], nil), "Int"))
450+ then invoke(cG, "getAccBalanceWrapperREADONLY", [cJ], nil)
347451 else throw("Couldn't cast Any to Int")
348- let cb = if ($isInstanceOf(invoke(bQ, "calcPricesWrapperREADONLY", [bZ, ca, bY], nil), "List[Any]"))
349- then invoke(bQ, "calcPricesWrapperREADONLY", [bZ, ca, bY], nil)
452+ let cR = if ($isInstanceOf(invoke(cG, "calcPricesWrapperREADONLY", [cP, cQ, cO], nil), "List[Any]"))
453+ then invoke(cG, "calcPricesWrapperREADONLY", [cP, cQ, cO], nil)
350454 else throw("Couldn't cast Any to List[Any]")
351- let cc = 0
352- let cd = if ($isInstanceOf(invoke(bQ, "fromX18WrapperREADONLY", [cb[1], b], nil), "Int"))
353- then invoke(bQ, "fromX18WrapperREADONLY", [cb[1], b], nil)
455+ let cS = 0
456+ let cT = if ($isInstanceOf(invoke(cG, "fromX18WrapperREADONLY", [cR[1], b], nil), "Int"))
457+ then invoke(cG, "fromX18WrapperREADONLY", [cR[1], b], nil)
354458 else throw("Couldn't cast Any to Int")
355- let ce = if ($isInstanceOf(invoke(bQ, "fromX18WrapperREADONLY", [cb[2], b], nil), "Int"))
356- then invoke(bQ, "fromX18WrapperREADONLY", [cb[2], b], nil)
459+ let cU = if ($isInstanceOf(invoke(cG, "fromX18WrapperREADONLY", [cR[2], b], nil), "Int"))
460+ then invoke(cG, "fromX18WrapperREADONLY", [cR[2], b], nil)
357461 else throw("Couldn't cast Any to Int")
358- let aD = getIntegerValue(aL, I(toString(bQ)))
359- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(bZ), toString(ca), toString(bY), toString(cc), toString(cd), toString(ce), toString(aD)], e))
462+ let aV = getIntegerValue(bj, S(toString(cG)))
463+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(cP), toString(cQ), toString(cO), toString(cS), toString(cT), toString(cU), toString(aV)], e))
360464 }
361465
362466
363467
364-@Callable(aK)
365-func gwxUserInfoREADONLY (Y) = {
366- let ax = K()
367- let P = M(ax)
368- let bm = O(P)
369- let cf = if ($isInstanceOf(invoke(bm, "gwxUserInfoREADONLY", [Y], nil), "List[Any]"))
370- then invoke(bm, "gwxUserInfoREADONLY", [Y], nil)
468+@Callable(bi)
469+func gwxUserInfoREADONLY (aj) = {
470+ let aP = U()
471+ let Z = W(aP)
472+ let bO = Y(Z)
473+ let cV = if ($isInstanceOf(invoke(bO, "gwxUserInfoREADONLY", [aj], nil), "List[Any]"))
474+ then invoke(bO, "gwxUserInfoREADONLY", [aj], nil)
371475 else throw("Couldn't cast Any to List[Any]")
372- let cg = if ($isInstanceOf(cf[0], "Int"))
373- then cf[0]
476+ let cW = if ($isInstanceOf(cV[0], "Int"))
477+ then cV[0]
374478 else throw("Couldn't cast Any to Int")
375- $Tuple2(nil, makeString(["%d", toString(cg)], e))
479+ $Tuple2(nil, makeString(["%d", toString(cW)], e))
376480 }
377481
378482
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 8
55
66 let b = 100000000
77
88 let c = 18
99
1010 let d = toBigInt(1000000000000000000)
1111
1212 let e = "__"
1313
14-let f = 1
14+let f = b
1515
16-let g = 2
16+let g = 1
1717
18-let h = 3
18+let h = 2
1919
20-let i = 4
20+let i = 3
2121
22-let j = 5
22+let j = 4
2323
24-let k = 6
24+let k = 5
2525
26-let l = 7
26+let l = 6
2727
28-let m = 8
28+let m = 7
2929
30-let n = 9
30+let n = 8
3131
32-let o = 10
32+let o = 9
3333
34-func p (q) = valueOrErrorMessage(getString(q), (("mandatory this." + q) + " is not defined"))
34+let p = 10
35+
36+func q (r) = valueOrErrorMessage(getString(r), (("mandatory this." + r) + " is not defined"))
3537
3638
37-func r (s,q) = valueOrErrorMessage(getString(s, q), (((("mandatory " + toString(s)) + ".") + q) + " is not defined"))
39+func s (t,r) = valueOrErrorMessage(getString(t, r), (((("mandatory " + toString(t)) + ".") + r) + " is not defined"))
3840
3941
40-func t (s,q) = valueOrElse(getInteger(s, q), 0)
42+func u (t,r) = valueOrElse(getInteger(t, r), 0)
4143
4244
43-func u (s,q) = valueOrErrorMessage(getInteger(s, q), (("mandatory this." + q) + " is not defined"))
45+func v (t,r) = valueOrErrorMessage(getInteger(t, r), (("mandatory this." + r) + " is not defined"))
4446
4547
46-func v () = "%s%s__config__factoryAddress"
47-
48-
49-let w = 1
50-
51-let x = 2
52-
53-let y = 3
54-
55-let z = 4
56-
57-let A = 5
58-
59-let B = 6
60-
61-let C = 7
62-
63-func D () = "%s__factoryConfig"
64-
65-
66-func E (F) = makeString(["%s%s%s", F, "mappings__lpAsset2PoolContract"], e)
67-
68-
69-func G () = "%s__lpTokensList"
70-
71-
72-func H (F) = makeString(["%s%s%s", F, "mappings__lpAsset2PoolContract"], e)
73-
74-
75-func I (J) = makeString(["%s%s", "poolWeight", J], e)
76-
77-
78-func K () = addressFromStringValue(p(v()))
79-
80-
81-func L () = split(valueOrElse(getString(K(), G()), ""), e)
82-
83-
84-func M (N) = split(r(N, D()), e)
85-
86-
87-func O (P) = addressFromStringValue(P[x])
88-
89-
90-func Q (P) = addressFromStringValue(P[A])
91-
92-
93-func R (P) = addressFromStringValue(P[w])
94-
95-
96-func S () = "%s__config"
97-
98-
99-func T () = "%s%s__stats__activeTotalLocked"
100-
101-
102-func U () = "%s%s__stats__locksDurationSumInBlocks"
103-
104-
105-func V () = "%s%s__stats__locksCount"
106-
107-
108-func W () = "%s%s__stats__activeUsersCount"
109-
110-
111-func X (Y) = makeString(["%s%s%s__mapping__user2num", Y], e)
112-
113-
114-func Z (aa) = makeString(["%s%s%s__mapping__num2user", aa], e)
115-
116-
117-func ab (ac) = makeString(["%s%d%s__paramByUserNum", ac, "amount"], e)
118-
119-
120-func ad (ac) = makeString(["%s%d%s__paramByUserNum", ac, "start"], e)
121-
122-
123-func ae (ac) = makeString(["%s%d%s__paramByUserNum", ac, "duration"], e)
124-
125-
126-func af (ac) = makeString(["%s%d%s__paramByUserNum", ac, "k"], e)
127-
128-
129-func ag (ac) = makeString(["%s%d%s__paramByUserNum", ac, "b"], e)
130-
131-
132-func ah (ac,ai) = makeString(["%s%d%s%d__paramByPeriod", ac, "k", ai], e)
133-
134-
135-func aj (ac,ai) = makeString(["%s%d%s%d__paramByPeriod", ac, "b", ai], e)
136-
137-
138-func ak (al,am) = makeString(["%s%s%s__staked", al, am], e)
139-
140-
141-func an (am) = ("%s%s%s__staked__total__" + am)
142-
143-
144-func ao (am,al) = makeString(["%s%s%s__claimed", al, am], e)
145-
146-
147-func ap (am,al) = makeString(["%s%s%s__claimedMinReward", al, am], e)
148-
149-
150-func aq (am,al) = makeString(["%s%s%s__claimedBoostReward", al, am], e)
151-
152-
153-func ar () = "%s%s__ratePerBlock__current"
154-
155-
156-func as () = "%s%s__ratePerBlockMax__current"
157-
158-
159-func at () = "%s%s__emission__startBlock"
160-
161-
162-func au () = "%s%s__emission__duration"
163-
164-
165-func av () = "%s%s__emission__endBlock"
166-
167-
168-func aw (ax,ay,az,aA) = {
169- let aB = r(ax, H(aA))
170- let aC = b
171- let aD = getIntegerValue(ax, I(aB))
172- let aE = u(az, ar())
173- let aF = u(az, as())
174- let aG = fraction(aE, aD, aC)
175- let aH = fraction(aF, aD, aC)
176- let aI = (3 * b)
177- let aJ = t(ay, an(aA))
178-[aG, aI, aJ]
48+func w (x) = {
49+ let y = x
50+ if ($isInstanceOf(y, "List[Any]"))
51+ then {
52+ let z = y
53+ z
54+ }
55+ else throw("fail to cast into List[Any]")
17956 }
18057
18158
182-@Callable(aK)
183-func constructor (aL) = if ((aK.caller != this))
59+func A (x) = {
60+ let y = x
61+ if ($isInstanceOf(y, "Int"))
62+ then {
63+ let B = y
64+ B
65+ }
66+ else throw("fail to cast into Int")
67+ }
68+
69+
70+func C (x) = {
71+ let y = x
72+ if ($isInstanceOf(y, "String"))
73+ then {
74+ let D = y
75+ D
76+ }
77+ else throw("fail to cast into String")
78+ }
79+
80+
81+func E () = "%s%s__config__factoryAddress"
82+
83+
84+let F = 1
85+
86+let G = 2
87+
88+let H = 3
89+
90+let I = 4
91+
92+let J = 5
93+
94+let K = 6
95+
96+let L = 7
97+
98+let M = 8
99+
100+func N () = "%s__factoryConfig"
101+
102+
103+func O (P) = makeString(["%s%s%s", P, "mappings__lpAsset2PoolContract"], e)
104+
105+
106+func Q () = "%s__lpTokensList"
107+
108+
109+func R (P) = makeString(["%s%s%s", P, "mappings__lpAsset2PoolContract"], e)
110+
111+
112+func S (T) = makeString(["%s%s", "poolWeight", T], e)
113+
114+
115+func U () = addressFromStringValue(q(E()))
116+
117+
118+func V () = split(valueOrElse(getString(U(), Q()), ""), e)
119+
120+
121+func W (X) = split(s(X, N()), e)
122+
123+
124+func Y (Z) = addressFromStringValue(Z[G])
125+
126+
127+func aa (Z) = addressFromStringValue(Z[J])
128+
129+
130+func ab (Z) = addressFromStringValue(Z[F])
131+
132+
133+func ac (Z) = addressFromStringValue("3PH83bJCZraJoEzFefz4p8UXZD9YazNnj1n")
134+
135+
136+func ad () = "%s__config"
137+
138+
139+func ae () = "%s%s__stats__activeTotalLocked"
140+
141+
142+func af () = "%s%s__stats__locksDurationSumInBlocks"
143+
144+
145+func ag () = "%s%s__stats__locksCount"
146+
147+
148+func ah () = "%s%s__stats__activeUsersCount"
149+
150+
151+func ai (aj) = makeString(["%s%s%s__mapping__user2num", aj], e)
152+
153+
154+func ak (al) = makeString(["%s%s%s__mapping__num2user", al], e)
155+
156+
157+func am (an) = makeString(["%s%d%s__paramByUserNum", an, "amount"], e)
158+
159+
160+func ao (an) = makeString(["%s%d%s__paramByUserNum", an, "start"], e)
161+
162+
163+func ap (an) = makeString(["%s%d%s__paramByUserNum", an, "duration"], e)
164+
165+
166+func aq (an) = makeString(["%s%d%s__paramByUserNum", an, "k"], e)
167+
168+
169+func ar (an) = makeString(["%s%d%s__paramByUserNum", an, "b"], e)
170+
171+
172+func as (an,at) = makeString(["%s%d%s%d__paramByPeriod", an, "k", at], e)
173+
174+
175+func au (an,at) = makeString(["%s%d%s%d__paramByPeriod", an, "b", at], e)
176+
177+
178+func av (an) = makeString(["%s%d__userBoostEmissionLastInt", an], e)
179+
180+
181+func aw (an) = makeString(["%s%d__maxBoostInt", an], e)
182+
183+
184+func ax () = "%s%s__maxBoostInt__total"
185+
186+
187+func ay (an) = makeString(["%s%d__userBoostAvaliableToClaimTotal", an], e)
188+
189+
190+func az (an) = makeString(["%s%d__userBoostClaimed", an], e)
191+
192+
193+func aA (aB,aC) = makeString(["%s%s%s__staked", aB, aC], e)
194+
195+
196+func aD (aC) = ("%s%s%s__staked__total__" + aC)
197+
198+
199+func aE (aC,aB) = makeString(["%s%s%s__claimed", aB, aC], e)
200+
201+
202+func aF (aC,aB) = makeString(["%s%s%s__claimedMinReward", aB, aC], e)
203+
204+
205+func aG (aC,aB) = makeString(["%s%s%s__claimedBoostReward", aB, aC], e)
206+
207+
208+func aH (aI,r) = valueOrElse(getInteger(aI, r), 0)
209+
210+
211+func aJ () = "%s%s__ratePerBlock__current"
212+
213+
214+func aK () = "%s%s__ratePerBlockMax__current"
215+
216+
217+func aL () = "%s%s__emission__startBlock"
218+
219+
220+func aM () = "%s%s__emission__duration"
221+
222+
223+func aN () = "%s%s__emission__endBlock"
224+
225+
226+func aO (aP,aQ,aR,aS) = {
227+ let aT = s(aP, R(aS))
228+ let aU = b
229+ let aV = getIntegerValue(aP, S(aT))
230+ let aW = v(aR, aJ())
231+ let aX = v(aR, aK())
232+ let aY = fraction(aW, aV, aU)
233+ let aZ = fraction(aX, aV, aU)
234+ let ba = (3 * b)
235+ let bb = u(aQ, aD(aS))
236+[aY, ba, bb]
237+ }
238+
239+
240+func bc (bd,be,bf) = {
241+ let bg = fraction(be, b, bf)
242+ let bh = fraction(bd, bg, b)
243+[bh]
244+ }
245+
246+
247+@Callable(bi)
248+func constructor (bj) = if ((bi.caller != this))
184249 then throw("not authorized")
185- else [StringEntry(v(), aL)]
250+ else [StringEntry(E(), bj)]
186251
187252
188253
189-@Callable(aK)
190-func currentRewardRateREADONLY (aA) = {
191- let ax = K()
192- let P = M(ax)
193- let ay = R(P)
194- let az = Q(P)
195- let aM = aw(ax, ay, az, aA)
196- let aE = aM[0]
197- let aI = aM[1]
198- let aJ = aM[2]
199- $Tuple2(nil, makeString(["%d%d%d", toString(aE), toString(aI), toString(aJ)], e))
254+@Callable(bi)
255+func currentRewardRateREADONLY (aS) = {
256+ let aP = U()
257+ let Z = W(aP)
258+ let aQ = ab(Z)
259+ let aR = aa(Z)
260+ let bk = aO(aP, aQ, aR, aS)
261+ let aW = bk[0]
262+ let ba = bk[1]
263+ let bb = bk[2]
264+ $Tuple2(nil, makeString(["%d%d%d", toString(aW), toString(ba), toString(bb)], e))
200265 }
201266
202267
203268
204-@Callable(aK)
205-func currentUserRewardRateREADONLY (aA,Y) = {
206- let ax = K()
207- let P = M(ax)
208- let ay = R(P)
209- let az = Q(P)
210- let aM = aw(ax, ay, az, aA)
211- let aE = aM[0]
212- let aI = aM[1]
213- let aJ = aM[2]
214- let aN = t(ay, ak(Y, aA))
215- let aO = (1 * b)
216- $Tuple2(nil, makeString(["%d%d%d%d%d", toString(aE), toString(aI), toString(aJ), toString(aN), toString(aO)], e))
269+@Callable(bi)
270+func currentUserRewardRateREADONLY (aS,aj) = {
271+ let aP = U()
272+ let Z = W(aP)
273+ let aQ = ab(Z)
274+ let aR = aa(Z)
275+ let bk = aO(aP, aQ, aR, aS)
276+ let aW = bk[0]
277+ let ba = bk[1]
278+ let bb = bk[2]
279+ let bl = u(aQ, aA(aj, aS))
280+ let bm = split(C(invoke(aQ, "claimWxREADONLY", [aS, aj], nil)), e)
281+ let bn = valueOrErrorMessage(parseInt(bm[5]), "couldn't parse minRewardPart")
282+ let bo = valueOrErrorMessage(parseInt(bm[6]), "couldn't parse boostRewardPart")
283+ let bp = bm[7]
284+ let bq = if ((bo == 0))
285+ then (1 * b)
286+ else fraction((bn + bo), b, bn)
287+ $Tuple2(nil, makeString(["%d%d%d%d%d%s", toString(aW), toString(ba), toString(bb), toString(bl), toString(bq), bp], e))
217288 }
218289
219290
220291
221-@Callable(aK)
222-func claimedRewardREADONLY (Y) = {
223- let ax = K()
224- let P = M(ax)
225- let ay = R(P)
226- let aP = L()
227- let aQ = "%s%d%d%d%s"
228- func aR (aS,aT) = {
229- let aU = ap(aT, Y)
230- let aV = aq(aT, Y)
231- let aW = valueOrElse(getInteger(ay, aU), 0)
232- let aX = valueOrElse(getInteger(ay, aV), 0)
233- let aY = 0
234- makeString([(aQ + aS), aT, toString(aW), toString(aX), toString(aY), "end"], e)
292+@Callable(bi)
293+func claimedRewardREADONLY (aj) = {
294+ let aP = U()
295+ let Z = W(aP)
296+ let aQ = ab(Z)
297+ let br = V()
298+ let bs = "%s%d%d%d%s"
299+ func bt (bu,bv) = {
300+ let bw = aF(bv, aj)
301+ let bx = aG(bv, aj)
302+ let by = valueOrElse(getInteger(aQ, bw), 0)
303+ let bz = valueOrElse(getInteger(aQ, bx), 0)
304+ let bA = 0
305+ makeString([(bs + bu), bv, toString(by), toString(bz), toString(bA), "end"], e)
235306 }
236307
237- let aZ = {
238- let ba = aP
239- let bb = size(ba)
240- let bc = "%s"
241- func bd (be,bf) = if ((bf >= bb))
242- then be
243- else aR(be, ba[bf])
308+ let bB = {
309+ let bC = br
310+ let bD = size(bC)
311+ let bE = "%s"
312+ func bF (bG,bH) = if ((bH >= bD))
313+ then bG
314+ else bt(bG, bC[bH])
244315
245- func bg (be,bf) = if ((bf >= bb))
246- then be
316+ func bI (bG,bH) = if ((bH >= bD))
317+ then bG
247318 else throw("List size exceeds 10")
248319
249- bg(bd(bd(bd(bd(bd(bd(bd(bd(bd(bd(bc, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
320+ bI(bF(bF(bF(bF(bF(bF(bF(bF(bF(bF(bE, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
250321 }
251- $Tuple2(nil, ((aZ + e) + Y))
322+ $Tuple2(nil, ((bB + e) + aj))
252323 }
253324
254325
255326
256-@Callable(aK)
257-func calcBoostREADONLY (bh,bi,bj,bk,bl) = {
258- let ax = K()
259- let P = M(ax)
260- let bm = O(P)
261- let bn = "empty"
262- let bo = parseIntValue(split(r(bm, S()), e)[4])
263- let ac = valueOrElse(getString(bm, X(bl)), bn)
264- let bp = valueOrElse(getInteger(bm, ab(ac)), 0)
265- let bq = valueOrElse(getInteger(bm, ad(ac)), height)
266- let br = valueOrElse(getInteger(bm, ae(ac)), 0)
267- let bs = (bq + br)
268- let bt = max([(bs - height), 0])
269- let bu = if ((bl != ""))
270- then (3 * b)
271- else (1 * b)
272- let bv = 1000
273- let bw = (bp + bh)
274- let bx = min([(bt + bi), bo])
275- let by = fraction(bx, b, bo)
276- let bz = fraction(bw, by, b)
277- let bA = (height + bx)
278- let bB = -(fraction(bz, bv, bx))
279- let bC = (fraction(bz, bv, bx) * bA)
280- let bD = (((bB * height) + bC) / bv)
281- $Tuple2(nil, makeString(["%d%d", toString(bD), toString(bu)], e))
327+@Callable(bi)
328+func calcBoostREADONLY (bJ,bK,bL,bM,bN) = {
329+ let aP = U()
330+ let Z = W(aP)
331+ let bO = Y(Z)
332+ let bP = ac(Z)
333+ let aR = aa(Z)
334+ let aQ = ab(Z)
335+ let bQ = "empty"
336+ let bR = parseIntValue(split(s(bO, ad()), e)[4])
337+ let aC = if ((bM == ""))
338+ then bQ
339+ else bM
340+ let aB = if ((bN == ""))
341+ then bQ
342+ else bN
343+ let bS = valueOrElse(getString(bO, ai(bN)), bQ)
344+ let bT = valueOrElse(getInteger(bO, am(bS)), 0)
345+ let bU = valueOrElse(getInteger(bO, ao(bS)), height)
346+ let be = valueOrElse(getInteger(bO, ap(bS)), 0)
347+ let bV = (bU + be)
348+ let bW = max([(bV - height), 0])
349+ let bX = (bT + bJ)
350+ let bY = min([(bW + bK), bR])
351+ let bh = bc(bX, bY, bR)[0]
352+ let bZ = w(invoke(bP, "calcGwxParamsREADONLY", [bh, height, bY], nil))
353+ let ca = A(bZ[0])
354+ let cb = A(bZ[1])
355+ let at = toString(A(bZ[2]))
356+ let cc = ax()
357+ let cd = ((bh * bY) / 2)
358+ let ce = u(bO, cc)
359+ let cf = 1000
360+ let cg = (v(aR, aJ()) * cf)
361+ let ch = ((cg * 2) / 3)
362+ let ci = fraction(cd, ch, ce)
363+ let cj = aA(aB, aC)
364+ let ck = aD(aC)
365+ let cl = aH(aQ, cj)
366+ let cm = aH(aQ, ck)
367+ let cn = (cl + bL)
368+ let co = (cm + bL)
369+ let aV = if ((aC != bQ))
370+ then {
371+ let aT = valueOrErrorMessage(getString(aP, O(aC)), ("unsupported lp asset " + aC))
372+ getIntegerValue(aP, S(aT))
373+ }
374+ else 0
375+ let cp = fraction(cg, aV, (f * 3))
376+ let cq = if ((co != 0))
377+ then fraction(cp, b, co)
378+ else 0
379+ let cr = fraction(cq, cn, b)
380+ let cs = min([ci, (cr * 2)])
381+ let ct = if ((cr == 0))
382+ then (1 * b)
383+ else fraction((cs + cr), b, cr)
384+ let bp = makeString([("lpAssetIdStr=" + aC), ("userAddressStr=" + aB), ("userNumStr=" + bS), ("userAmount=" + toString(bT)), ("userAmountNew=" + toString(bX)), ("lockDurationNew=" + toString(bY)), ("gWxAmountStart=" + toString(bh)), ("userMaxBoostIntNew=" + toString(cd)), ("totalMaxBoostInt=" + toString(ce)), ("tmpUserBoostPerBlockX3=" + toString(ci)), ("stakedByUserNew=" + toString(cn)), ("stakedTotalNew=" + toString(co)), ("poolWeight=" + toString(aV)), ("wxPerLpX3=" + toString(cq)), ("poolWxEmissionPerBlockX3=" + toString(cp)), ("userWxPerBlockX3=" + toString(cr))], "::")
385+ $Tuple2(nil, makeString(["%d%d%s", toString(bh), toString(ct), bp], e))
282386 }
283387
284388
285389
286-@Callable(aK)
390+@Callable(bi)
287391 func wxEmissionStatsREADONLY () = {
288- let bE = toString(b)
289- let bF = "1"
290- let ax = K()
291- let P = M(ax)
292- let bm = O(P)
293- let az = Q(P)
294- let aE = u(az, ar())
295- let bG = u(az, at())
296- let bH = if ((bG > height))
392+ let cu = toString(b)
393+ let cv = "1"
394+ let aP = U()
395+ let Z = W(aP)
396+ let bO = Y(Z)
397+ let aR = aa(Z)
398+ let aW = v(aR, aJ())
399+ let cw = v(aR, aL())
400+ let cx = if ((cw > height))
297401 then 0
298- else (height - bG)
299- let bI = (1440 * 365)
300- let bJ = (201000000 * b)
301- let bK = if ((bH > bI))
302- then bJ
303- else fraction(bJ, bH, bI)
304- let bL = ((aE * bH) + bK)
305- let bM = t(bm, T())
306- let bN = t(bm, U())
307- let bO = t(bm, V())
308- $Tuple2(nil, makeString(["%d%d%d%d", toString(bL), toString(bM), toString(bN), toString(bO)], e))
402+ else (height - cw)
403+ let cy = (1440 * 365)
404+ let cz = (201000000 * b)
405+ let cA = if ((cx > cy))
406+ then cz
407+ else fraction(cz, cx, cy)
408+ let cB = ((aW * cx) + cA)
409+ let cC = u(bO, ae())
410+ let cD = u(bO, af())
411+ let cE = u(bO, ag())
412+ $Tuple2(nil, makeString(["%d%d%d%d", toString(cB), toString(cC), toString(cD), toString(cE)], e))
309413 }
310414
311415
312416
313-@Callable(aK)
314-func lpStatsREADONLY (bP) = {
315- let aL = K()
316- let bQ = addressFromStringValue(r(aL, H(bP)))
317- let bR = if ($isInstanceOf(invoke(bQ, "getPoolConfigWrapperREADONLY", nil, nil), "List[Any]"))
318- then invoke(bQ, "getPoolConfigWrapperREADONLY", nil, nil)
417+@Callable(bi)
418+func lpStatsREADONLY (cF) = {
419+ let bj = U()
420+ let cG = addressFromStringValue(s(bj, R(cF)))
421+ let cH = if ($isInstanceOf(invoke(cG, "getPoolConfigWrapperREADONLY", nil, nil), "List[Any]"))
422+ then invoke(cG, "getPoolConfigWrapperREADONLY", nil, nil)
319423 else throw("Couldn't cast Any to List[Any]")
320- let aA = fromBase58String(if ($isInstanceOf(bR[h], "String"))
321- then bR[h]
424+ let aS = fromBase58String(if ($isInstanceOf(cH[i], "String"))
425+ then cH[i]
322426 else throw("Couldn't cast Any to String"))
323- let bS = if ($isInstanceOf(bR[i], "String"))
324- then bR[i]
427+ let cI = if ($isInstanceOf(cH[j], "String"))
428+ then cH[j]
325429 else throw("Couldn't cast Any to String")
326- let bT = if ($isInstanceOf(bR[j], "String"))
327- then bR[j]
430+ let cJ = if ($isInstanceOf(cH[k], "String"))
431+ then cH[k]
328432 else throw("Couldn't cast Any to String")
329- let bU = if ($isInstanceOf(bR[m], "String"))
330- then bR[m]
433+ let cK = if ($isInstanceOf(cH[n], "String"))
434+ then cH[n]
331435 else throw("Couldn't cast Any to String")
332- let bV = if ($isInstanceOf(bR[n], "String"))
333- then bR[n]
436+ let cL = if ($isInstanceOf(cH[o], "String"))
437+ then cH[o]
334438 else throw("Couldn't cast Any to String")
335- let bW = parseIntValue(if ($isInstanceOf(bR[k], "String"))
336- then bR[k]
439+ let cM = parseIntValue(if ($isInstanceOf(cH[l], "String"))
440+ then cH[l]
337441 else throw("Couldn't cast Any to String"))
338- let bX = parseIntValue(if ($isInstanceOf(bR[l], "String"))
339- then bR[l]
442+ let cN = parseIntValue(if ($isInstanceOf(cH[m], "String"))
443+ then cH[m]
340444 else throw("Couldn't cast Any to String"))
341- let bY = valueOrErrorMessage(assetInfo(aA), (("Asset " + toBase58String(aA)) + " doesn't exist")).quantity
342- let bZ = if ($isInstanceOf(invoke(bQ, "getAccBalanceWrapperREADONLY", [bS], nil), "Int"))
343- then invoke(bQ, "getAccBalanceWrapperREADONLY", [bS], nil)
445+ let cO = valueOrErrorMessage(assetInfo(aS), (("Asset " + toBase58String(aS)) + " doesn't exist")).quantity
446+ let cP = if ($isInstanceOf(invoke(cG, "getAccBalanceWrapperREADONLY", [cI], nil), "Int"))
447+ then invoke(cG, "getAccBalanceWrapperREADONLY", [cI], nil)
344448 else throw("Couldn't cast Any to Int")
345- let ca = if ($isInstanceOf(invoke(bQ, "getAccBalanceWrapperREADONLY", [bT], nil), "Int"))
346- then invoke(bQ, "getAccBalanceWrapperREADONLY", [bT], nil)
449+ let cQ = if ($isInstanceOf(invoke(cG, "getAccBalanceWrapperREADONLY", [cJ], nil), "Int"))
450+ then invoke(cG, "getAccBalanceWrapperREADONLY", [cJ], nil)
347451 else throw("Couldn't cast Any to Int")
348- let cb = if ($isInstanceOf(invoke(bQ, "calcPricesWrapperREADONLY", [bZ, ca, bY], nil), "List[Any]"))
349- then invoke(bQ, "calcPricesWrapperREADONLY", [bZ, ca, bY], nil)
452+ let cR = if ($isInstanceOf(invoke(cG, "calcPricesWrapperREADONLY", [cP, cQ, cO], nil), "List[Any]"))
453+ then invoke(cG, "calcPricesWrapperREADONLY", [cP, cQ, cO], nil)
350454 else throw("Couldn't cast Any to List[Any]")
351- let cc = 0
352- let cd = if ($isInstanceOf(invoke(bQ, "fromX18WrapperREADONLY", [cb[1], b], nil), "Int"))
353- then invoke(bQ, "fromX18WrapperREADONLY", [cb[1], b], nil)
455+ let cS = 0
456+ let cT = if ($isInstanceOf(invoke(cG, "fromX18WrapperREADONLY", [cR[1], b], nil), "Int"))
457+ then invoke(cG, "fromX18WrapperREADONLY", [cR[1], b], nil)
354458 else throw("Couldn't cast Any to Int")
355- let ce = if ($isInstanceOf(invoke(bQ, "fromX18WrapperREADONLY", [cb[2], b], nil), "Int"))
356- then invoke(bQ, "fromX18WrapperREADONLY", [cb[2], b], nil)
459+ let cU = if ($isInstanceOf(invoke(cG, "fromX18WrapperREADONLY", [cR[2], b], nil), "Int"))
460+ then invoke(cG, "fromX18WrapperREADONLY", [cR[2], b], nil)
357461 else throw("Couldn't cast Any to Int")
358- let aD = getIntegerValue(aL, I(toString(bQ)))
359- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(bZ), toString(ca), toString(bY), toString(cc), toString(cd), toString(ce), toString(aD)], e))
462+ let aV = getIntegerValue(bj, S(toString(cG)))
463+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(cP), toString(cQ), toString(cO), toString(cS), toString(cT), toString(cU), toString(aV)], e))
360464 }
361465
362466
363467
364-@Callable(aK)
365-func gwxUserInfoREADONLY (Y) = {
366- let ax = K()
367- let P = M(ax)
368- let bm = O(P)
369- let cf = if ($isInstanceOf(invoke(bm, "gwxUserInfoREADONLY", [Y], nil), "List[Any]"))
370- then invoke(bm, "gwxUserInfoREADONLY", [Y], nil)
468+@Callable(bi)
469+func gwxUserInfoREADONLY (aj) = {
470+ let aP = U()
471+ let Z = W(aP)
472+ let bO = Y(Z)
473+ let cV = if ($isInstanceOf(invoke(bO, "gwxUserInfoREADONLY", [aj], nil), "List[Any]"))
474+ then invoke(bO, "gwxUserInfoREADONLY", [aj], nil)
371475 else throw("Couldn't cast Any to List[Any]")
372- let cg = if ($isInstanceOf(cf[0], "Int"))
373- then cf[0]
476+ let cW = if ($isInstanceOf(cV[0], "Int"))
477+ then cV[0]
374478 else throw("Couldn't cast Any to Int")
375- $Tuple2(nil, makeString(["%d", toString(cg)], e))
479+ $Tuple2(nil, makeString(["%d", toString(cW)], e))
376480 }
377481
378482

github/deemru/w8io/169f3d6 
141.85 ms