tx · 49c3vZz6BgY45jsxTz3UmuMteDRpr6f5GLGZkBzxynQ4

3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr:  -0.02200000 Waves

2023.06.01 12:22 [2603411] smart account 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > SELF 0.00000000 Waves

{ "type": 13, "id": "49c3vZz6BgY45jsxTz3UmuMteDRpr6f5GLGZkBzxynQ4", "fee": 2200000, "feeAssetId": null, "timestamp": 1685611396932, "version": 2, "chainId": 84, "sender": "3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr", "senderPublicKey": "GFbasS3jufhZkK4xR7tdTjjnP8K33KvJFEDHRtxXDkaJ", "proofs": [ "1AsWcJEP4mFLzvQ4gYUd2FfH3GjPvbrFLR1m3XnLBD69vMmkS4kGiHx6FbHKv4XbWfhgXgQhnDZ9xyyW1RpqjrS" ], "script": "base64:BgKpFggCEgQKAggBEgcKBQgICAgBEgQKAggIEgUKAwgIARIECgIICBIDCgEBEgMKAQESBAoCCAgSBAoCCAQSABIDCgEBEgASBAoCCAgSBAoCCAgSBAoCCAgiCXNlcGFyYXRvciIOcG9vbFdlaWdodE11bHQiD21heERlcHRoRGVmYXVsdCIWZmluYWxpemF0aW9uU3RhZ2VUb3RhbCIXZmluYWxpemF0aW9uU3RhZ2VTaGFyZXMiDmtleUVwb2NoTGVuZ3RoIhFrZXlFcG9jaExlbmd0aE5ldyIVa2V5RXBvY2hMZW5ndGhCeUVwb2NoIgVlcG9jaCIPa2V5Q3VycmVudEVwb2NoIgtrZXlNYXhEZXB0aCIia2V5Vm90aW5nRW1pc3Npb25DYW5kaWRhdGVDb250cmFjdCISa2V5RmFjdG9yeUNvbnRyYWN0IhNrZXlCb29zdGluZ0NvbnRyYWN0IhJrZXlTdGFraW5nQ29udHJhY3QiFGtleUZpbmFsaXphdGlvblN0YWdlIgtrZXlOZXh0UG9vbCILa2V5TmV4dFVzZXIiDmtleVN0YXJ0SGVpZ2h0IhFrZXlDdXJyZW50RXBvY2hVaSIQa2V5U3RhcnRIZWlnaHRVaSIda2V5RmluYWxpemF0aW9uU2hvdWxkQmVGb3JjZWQiFWtleVN0YXJ0SGVpZ2h0QnlFcG9jaCIMa2V5RmluYWxpemVkIglrZXlJbkxpc3QiBHBvb2wiCyR0MDE2OTMxNzMzIg1hbW91bnRBc3NldElkIgxwcmljZUFzc2V0SWQiB2tleVVzZWQiB2FkZHJlc3MiB2tleVZvdGUiCyR0MDIwMDcyMDQ3Ig9rZXlWb3RpbmdSZXN1bHQiCyR0MDIyMjkyMjY5IhVrZXlWb3RpbmdSZXN1bHRTdGFrZWQiDGxwQXNzZXRJZFN0ciIMa2V5UG9vbFNoYXJlIgskdDAyNTkwMjYzMCINa2V5VG90YWxWb3RlcyIPa2V5U3Rha2VkQnlVc2VyIg51c2VyQWRkcmVzc1N0ciIHd3JhcEVyciIDbXNnIgh0aHJvd0VyciIOZ2V0VmFsdWVPckZhaWwiA2tleSIEdHlwZSIFZXJyb3IiByRtYXRjaDAiA3N0ciIDaW50IgxnZXRTdHJPckZhaWwiAUAiDGdldEludE9yRmFpbCIMcG9vbFRvU3RyaW5nIgxzdHJpbmdUb1Bvb2wiBXBhcnRzIg9mYWN0b3J5Q29udHJhY3QiGklkeEZhY3RvcnlDZmdHd3hSZXdhcmREYXBwIg1rZXlGYWN0b3J5Q2ZnIhRyZWFkRmFjdG9yeUNmZ09yRmFpbCIHZmFjdG9yeSIZZ2V0R3d4UmV3YXJkQWRkcmVzc09yRmFpbCIKZmFjdG9yeUNmZyIWZ2V0THBBc3NldEJ5UG9vbEFzc2V0cyIfa2V5TWFwcGluZ3NCYXNlQXNzZXQyaW50ZXJuYWxJZCIMYmFzZUFzc2V0U3RyIilrZXlNYXBwaW5nUG9vbEFzc2V0c1RvUG9vbENvbnRyYWN0QWRkcmVzcyIYaW50ZXJuYWxBbW91bnRBc3NldElkU3RyIhdpbnRlcm5hbFByaWNlQXNzZXRJZFN0ciIfa2V5TWFwcGluZ1Bvb2xDb250cmFjdFRvTFBBc3NldCITcG9vbENvbnRyYWN0QWRkcmVzcyIVYW1vdW50QXNzZXRJbnRlcm5hbElkIhRwcmljZUFzc2V0SW50ZXJuYWxJZCIJbHBBc3NldElkIhhjaGVja1d4RW1pc3Npb25Qb29sTGFiZWwiCyR0MDU0NzA1NTEwIhBnd3hSZXdhcmREZXBvc2l0IhJnd3hSZXdhcmRzQ29udHJhY3QiDXBvb2xzTGlzdE5hbWUiEGdldFZvdGVzTGlzdE5hbWUiCyR0MDU5Mjc1OTY3IgtrZXlMaXN0SGVhZCIIbGlzdE5hbWUiBG1ldGEiC2tleUxpc3RTaXplIgtrZXlMaXN0UHJldiICaWQiC2tleUxpc3ROZXh0Igxjb250YWluc05vZGUiCmhlYWRPclVuaXQiCnByZXZPclVuaXQiCm5leHRPclVuaXQiEWluc2VydE5vZGVBY3Rpb25zIghsaXN0U2l6ZSIJY2hlY2tOb2RlIhFkZWxldGVOb2RlQWN0aW9ucyIWa2V5TWFuYWdlclZhdWx0QWRkcmVzcyITa2V5TWFuYWdlclB1YmxpY0tleSIcZ2V0TWFuYWdlclZhdWx0QWRkcmVzc09yVGhpcyIBcyIWbWFuYWdlclB1YmxpY0tleU9yVW5pdCITbWFuYWdlclZhdWx0QWRkcmVzcyIJaXNNYW5hZ2VyIgFpIgJwayILbXVzdE1hbmFnZXIiCG11c3RUaGlzIgt1c2VyQWRkcmVzcyIMdGFyZ2V0SGVpZ2h0Ihdib29zdGluZ0NvbnRyYWN0QWRkcmVzcyIfdm90aW5nRW1pc3Npb25DYW5kaWRhdGVDb250cmFjdCIQYm9vc3RpbmdDb250cmFjdCIPc3Rha2luZ0NvbnRyYWN0IgtlcG9jaExlbmd0aCIGY2hlY2tzIg1pbkxpc3RBY3Rpb25zIhhjdXJyZW50RXBvY2hJc05vdERlZmluZWQiEnN0YXJ0SGVpZ2h0QWN0aW9ucyIGYW1vdW50IgtzdGFydEhlaWdodCIJZW5kSGVpZ2h0IhdmaW5hbGl6YXRpb25TdGFnZU9yVW5pdCIEdXNlZCIEdm90ZSIKcG9vbFJlc3VsdCIKdG90YWxWb3RlcyITZ3d4QW1vdW50QXRFbmRUb3RhbCIJYXZhaWxhYmxlIgduZXdWb3RlIgp3eEVtaXNzaW9uIg12b3Rlc0xpc3ROYW1lIhB2b3Rlc0xpc3RBY3Rpb25zIg5uZXdFcG9jaExlbmd0aCILbmV3TWF4RGVwdGgiB3Bvb2xTdHIiC2NoZWNrQ2FsbGVyIg1lcG9jaFByZXZpb3VzIhNzdGFydEhlaWdodFByZXZpb3VzIhNlcG9jaExlbmd0aFByZXZpb3VzIhFlbmRIZWlnaHRQcmV2aW91cyIQY2hlY2tUYXJnZXRFcG9jaCINJHQwMTc5NzAxODAxMCIbZ3d4QW1vdW50QXRFbmRUb3RhbFByZXZpb3VzIgx2b3RpbmdSZXN1bHQiDHZvdGVQcmV2aW91cyIadm90aW5nUmVzdWx0U3Rha2VkUHJldmlvdXMiDHN0YWtlZEJ5VXNlciIZdm90aW5nUmVzdWx0U3Rha2VkQWN0aW9ucyIHYWN0aW9ucyIFZm9yY2UiC3RhcmdldEVwb2NoIgxjdXJyZW50RXBvY2giDSR0MDIwMzY3MjA0MDciAXIiBXNoYXJlIg9tb2RpZnlXZWlnaHRJbnYiEHBvb2xzTGlzdEFjdGlvbnMiDXByZXZpb3VzRXBvY2giCG5ld0Vwb2NoIhRuZXdFcG9jaExlbmd0aE9wdGlvbiIVbmV3RXBvY2hMZW5ndGhBY3Rpb25zIgpwb29sT3JVbml0Igp1c2VyT3JVbml0IgckbWF0Y2gxIgxwb29sc0hlYWRTdHIiDm5leHRVc2VyT3JVbml0IgR1c2VyIgRuZXh0Ig5wcm9jZXNzVm90ZUludiIObmV4dFBvb2xPclVuaXQiByRtYXRjaDIiCG5leHRVc2VyIhNnd3hSZXdhcmREZXBvc2l0SW52IgtuZXh0UG9vbFN0ciIHY291bnRlciIGcmVzdWx0IghtYXhEZXB0aCIDaW52IgJ0eCIGdmVyaWZ5Ig90YXJnZXRQdWJsaWNLZXk+AAFhAgJfXwABYgCAwtcvAAFjAAoAAWQAAAABZQABAAFmCQC5CQIJAMwIAgICJXMJAMwIAgILZXBvY2hMZW5ndGgFA25pbAUBYQABZwkAuQkCCQDMCAICBCVzJXMJAMwIAgIQZXBvY2hMZW5ndGhfX25ldwUDbmlsBQFhAQFoAQFpCQC5CQIJAMwIAgIEJXMlZAkAzAgCAgtlcG9jaExlbmd0aAkAzAgCCQCkAwEFAWkFA25pbAUBYQABagkAuQkCCQDMCAICAiVzCQDMCAICDGN1cnJlbnRFcG9jaAUDbmlsBQFhAAFrCQC5CQIJAMwIAgICJXMJAMwIAgIIbWF4RGVwdGgFA25pbAUBYQABbAkAuQkCCQDMCAICAiVzCQDMCAICH3ZvdGluZ0VtaXNzaW9uQ2FuZGlkYXRlQ29udHJhY3QFA25pbAUBYQABbQkAuQkCCQDMCAICAiVzCQDMCAICD2ZhY3RvcnlDb250cmFjdAUDbmlsBQFhAAFuCQC5CQIJAMwIAgICJXMJAMwIAgIQYm9vc3RpbmdDb250cmFjdAUDbmlsBQFhAAFvCQC5CQIJAMwIAgICJXMJAMwIAgIPc3Rha2luZ0NvbnRyYWN0BQNuaWwFAWEAAXAJALkJAgkAzAgCAgIlcwkAzAgCAhFmaW5hbGl6YXRpb25TdGFnZQUDbmlsBQFhAAFxCQC5CQIJAMwIAgICJXMJAMwIAgIIbmV4dFBvb2wFA25pbAUBYQABcgkAuQkCCQDMCAICAiVzCQDMCAICCG5leHRVc2VyBQNuaWwFAWEAAXMJALkJAgkAzAgCAgIlcwkAzAgCAgtzdGFydEhlaWdodAUDbmlsBQFhAAF0CQC5CQIJAMwIAgICJXMJAMwIAgIOY3VycmVudEVwb2NoVWkFA25pbAUBYQABdQkAuQkCCQDMCAICAiVzCQDMCAICDXN0YXJ0SGVpZ2h0VWkFA25pbAUBYQABdgkAuQkCCQDMCAICAiVzCQDMCAICBWZvcmNlBQNuaWwFAWEBAXcBAWkJALkJAgkAzAgCAgQlcyVkCQDMCAICC3N0YXJ0SGVpZ2h0CQDMCAIJAKQDAQUBaQUDbmlsBQFhAQF4AQFpCQC5CQIJAMwIAgIEJXMlZAkAzAgCAglmaW5hbGl6ZWQJAMwIAgkApAMBBQFpBQNuaWwFAWEBAXkBAXoEAUEFAXoEAUIIBQFBAl8xBAFDCAUBQQJfMgkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAgZpbkxpc3QJAMwIAgUBQgkAzAgCBQFDBQNuaWwFAWEBAUQCAUUBaQkAuQkCCQDMCAICBiVzJXMlZAkAzAgCAgR1c2VkCQDMCAIJAKUIAQUBRQkAzAgCCQCkAwEFAWkFA25pbAUBYQEBRgMBegFFAWkEAUcFAXoEAUIIBQFHAl8xBAFDCAUBRwJfMgkAuQkCCQDMCAICCiVzJXMlcyVzJWQJAMwIAgIEdm90ZQkAzAgCBQFCCQDMCAIFAUMJAMwIAgkApQgBBQFFCQDMCAIJAKQDAQUBaQUDbmlsBQFhAQFIAgF6AWkEAUkFAXoEAUIIBQFJAl8xBAFDCAUBSQJfMgkAuQkCCQDMCAICCCVzJXMlcyVkCQDMCAICDHZvdGluZ1Jlc3VsdAkAzAgCBQFCCQDMCAIFAUMJAMwIAgkApAMBBQFpBQNuaWwFAWEBAUoCAUsBaQkAuQkCCQDMCAICBiVzJXMlZAkAzAgCAhJ2b3RpbmdSZXN1bHRTdGFrZWQJAMwIAgUBSwkAzAgCCQCkAwEFAWkFA25pbAUBYQEBTAIBegFpBAFNBQF6BAFCCAUBTQJfMQQBQwgFAU0CXzIJALkJAgkAzAgCAgglcyVzJXMlZAkAzAgCAglwb29sU2hhcmUJAMwIAgUBQgkAzAgCBQFDCQDMCAIJAKQDAQUBaQUDbmlsBQFhAQFOAQFpCQC5CQIJAMwIAgIEJXMlZAkAzAgCAgp0b3RhbFZvdGVzCQDMCAIJAKQDAQUBaQUDbmlsBQFhAQFPAgFLAVAJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIGc3Rha2VkCQDMCAIFAVAJAMwIAgUBSwUDbmlsBQFhAQFRAQFSCQC5CQIJAMwIAgIVdm90aW5nX2VtaXNzaW9uLnJpZGU6CQDMCAIFAVIFA25pbAIBIAEBUwEBUgkAAgEJAQFRAQUBUgEBVAMBRQFVAVYEAVcJAQFRAQkAuQkCCQDMCAICCm1hbmRhdG9yeSAJAMwIAgkApQgBBQFFCQDMCAICAS4JAMwIAgUBVQkAzAgCAg8gaXMgbm90IGRlZmluZWQFA25pbAIACQETdmFsdWVPckVycm9yTWVzc2FnZQIEAVgFAVYDCQABAgUBWAIGU3RyaW5nBAFZBQFYCQCdCAIFAUUFAVUDCQABAgUBWAIDSW50BAFaBQFYCQCaCAIFAUUFAVUJAQFTAQISaW52YWxpZCBlbnRyeSB0eXBlBQFXAQJhYQIBRQFVCgACYWIJAQFUAwUBRQUBVQIAAwkAAQIFAmFiAgZTdHJpbmcFAmFiCQACAQkArAICCQADAQUCYWICGyBjb3VsZG4ndCBiZSBjYXN0IHRvIFN0cmluZwECYWMCAUUBVQoAAmFiCQEBVAMFAUUFAVUAAAMJAAECBQJhYgIDSW50BQJhYgkAAgEJAKwCAgkAAwEFAmFiAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQBAmFkAQF6CQCsAgIJAKwCAggFAXoCXzEFAWEIBQF6Al8yAQJhZQEBWQQCYWYJALUJAgUBWQUBYQMJAAACCQCQAwEFAmFmAAIJAJQKAgkAkQMCBQJhZgAACQCRAwIFAmFmAAEJAQFTAQITaW52YWxpZCBwb29sIHN0cmluZwACYWcJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQJhYQIFBHRoaXMFAW0AAmFoAAoBAmFpAAIRJXNfX2ZhY3RvcnlDb25maWcBAmFqAQJhawkAtQkCCQECYWECBQJhawkBAmFpAAUBYQECYWwBAmFtCQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFAmFtBQJhaAECYW4CAUIBQwoBAmFvAQJhcAkArAICAiglcyVzJXNfX21hcHBpbmdzX19iYXNlQXNzZXQyaW50ZXJuYWxJZF9fBQJhcAoBAmFxAgJhcgJhcwkArAICCQCsAgIJAKwCAgkArAICAgolZCVkJXMlc19fCQCkAwEFAmFyAgJfXwkApAMBBQJhcwIjX19tYXBwaW5nc19fcG9vbEFzc2V0czJQb29sQ29udHJhY3QKAQJhdAECYXUJAKwCAgkArAICAgglcyVzJXNfXwUCYXUCIF9fbWFwcGluZ3NfX3Bvb2xDb250cmFjdDJMcEFzc2V0BAJhdgkBAmFjAgUCYWcJAQJhbwEFAUIEAmF3CQECYWMCBQJhZwkBAmFvAQUBQwQCYXUJAQJhYQIFAmFnCQECYXECBQJhdgUCYXcEAmF4CQECYWECBQJhZwkBAmF0AQUCYXUFAmF4AQJheQEBegQCYXoFAXoEAUIIBQJhegJfMQQBQwgFAmF6Al8yCgACYWIJAPwHBAUCYWcCGGNoZWNrV3hFbWlzc2lvblBvb2xMYWJlbAkAzAgCBQFCCQDMCAIFAUMFA25pbAUDbmlsAwkAAQIFAmFiAgdCb29sZWFuBQJhYgkAAgEJAKwCAgkAAwEFAmFiAhwgY291bGRuJ3QgYmUgY2FzdCB0byBCb29sZWFuAQJhQQAEAmFtCQECYWoBBQJhZwQCYUIJAQJhbAEFAmFtCQD8BwQFAmFCAgdkZXBvc2l0BQNuaWwFA25pbAACYUMCBXBvb2xzAQJhRAEBegQCYUUFAXoEAUIIBQJhRQJfMQQBQwgFAmFFAl8yCQC5CQIJAMwIAgIFdm90ZXMJAMwIAgUBQgkAzAgCBQFDBQNuaWwFAWEBAmFGAQJhRwQCYUgDCQAAAgUCYUcFAmFDAgQlcyVzAgglcyVzJXMlcwkAuQkCCQDMCAIFAmFICQDMCAIFAmFHCQDMCAICBGhlYWQFA25pbAUBYQECYUkBAmFHBAJhSAMJAAACBQJhRwUCYUMCBCVzJXMCCCVzJXMlcyVzCQC5CQIJAMwIAgUCYUgJAMwIAgUCYUcJAMwIAgIEc2l6ZQUDbmlsBQFhAQJhSgICYUcCYUsEAmFIAwkAAAIFAmFHBQJhQwIIJXMlcyVzJXMCCiVzJXMlcyVzJXMJALkJAgkAzAgCBQJhSAkAzAgCBQJhRwkAzAgCBQJhSwkAzAgCAgRwcmV2BQNuaWwFAWEBAmFMAgJhRwJhSwQCYUgDCQAAAgUCYUcFAmFDAgglcyVzJXMlcwIKJXMlcyVzJXMlcwkAuQkCCQDMCAIFAmFICQDMCAIFAmFHCQDMCAIFAmFLCQDMCAICBG5leHQFA25pbAUBYQECYU0CAmFHAmFLBAJhTgkAnQgCBQR0aGlzCQECYUYBBQJhRwQCYU8JAJ0IAgUEdGhpcwkBAmFKAgUCYUcFAmFLBAJhUAkAnQgCBQR0aGlzCQECYUwCBQJhRwUCYUsDAwkAAAIFAmFLCQELdmFsdWVPckVsc2UCBQJhTgIABgkBAiE9AgUCYU8FBHVuaXQGCQECIT0CBQJhUAUEdW5pdAECYVECAmFHAmFLBAJhTgkAnQgCBQR0aGlzCQECYUYBBQJhRwQCYVIJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAmFJAQUCYUcAAAQCYVMDCQEBIQEJAQJhTQIFAmFHBQJhSwYJAQFTAQILTm9kZSBleGlzdHMDCQAAAgUCYVMFAmFTCQDOCAIJAM4IAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmFJAQUCYUcJAGQCBQJhUgABBQNuaWwDCQECIT0CBQJhTgUEdW5pdAkAzAgCCQELU3RyaW5nRW50cnkCCQECYUwCBQJhRwUCYUsJAQV2YWx1ZQEFAmFOCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhSgIFAmFHCQEFdmFsdWUBBQJhTgUCYUsFA25pbAUDbmlsCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhRgEFAmFHBQJhSwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJhVAICYUcCYUsEAmFOCQCdCAIFBHRoaXMJAQJhRgEFAmFHBAJhUgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQECYUkBBQJhRwAABAJhTwkAnQgCBQR0aGlzCQECYUoCBQJhRwUCYUsEAmFQCQCdCAIFBHRoaXMJAQJhTAIFAmFHBQJhSwkAzggCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYUkBBQJhRwkAZQIFAmFSAAEFA25pbAMDCQECIT0CBQJhTwUEdW5pdAkBAiE9AgUCYVAFBHVuaXQHCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhTAIFAmFHCQEFdmFsdWUBBQJhTwkBBXZhbHVlAQUCYVAJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFKAgUCYUcJAQV2YWx1ZQEFAmFQCQEFdmFsdWUBBQJhTwkAzAgCCQELRGVsZXRlRW50cnkBCQECYUoCBQJhRwUCYUsJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFMAgUCYUcFAmFLBQNuaWwDCQECIT0CBQJhUAUEdW5pdAkAzAgCCQELU3RyaW5nRW50cnkCCQECYUYBBQJhRwkBBXZhbHVlAQUCYVAJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFMAgUCYUcFAmFLCQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhSgIFAmFHCQEFdmFsdWUBBQJhUAUDbmlsAwkBAiE9AgUCYU8FBHVuaXQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFKAgUCYUcFAmFLCQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhTAIFAmFHCQEFdmFsdWUBBQJhTwUDbmlsAwkAAAIFAmFLCQELdmFsdWVPckVsc2UCBQJhTgIACQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhRgEFAmFHBQNuaWwJAQFTAQkArAICCQCsAgIJAKwCAgIOaW52YWxpZCBub2RlOiAFAmFHAgEuBQJhSwECYVUAAhclc19fbWFuYWdlclZhdWx0QWRkcmVzcwECYVYAAhQlc19fbWFuYWdlclB1YmxpY0tleQECYVcABAFYCQCiCAEJAQJhVQADCQABAgUBWAIGU3RyaW5nBAJhWAUBWAkBEUBleHRyTmF0aXZlKDEwNjIpAQUCYVgFBHRoaXMBAmFZAAQCYVoJAQJhVwAEAVgJAJ0IAgUCYVoJAQJhVgADCQABAgUBWAIGU3RyaW5nBAJhWAUBWAkA2QQBBQJhWAMJAAECBQFYAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IBAmJhAQJiYgQBWAkBAmFZAAMJAAECBQFYAgpCeXRlVmVjdG9yBAJiYwUBWAkAAAIIBQJiYg9jYWxsZXJQdWJsaWNLZXkFAmJjAwkAAQIFAVgCBFVuaXQJAAACCAUCYmIGY2FsbGVyBQR0aGlzCQACAQILTWF0Y2ggZXJyb3IBAmJkAQJiYgMJAQJiYQEFAmJiBgkAAgECEXBlcm1pc3Npb24gZGVuaWVkAQJiZQECYmIDCQAAAggFAmJiBmNhbGxlcgUEdGhpcwYJAAIBAhFwZXJtaXNzaW9uIGRlbmllZA8CYmIBGGdldFVzZXJHd3hBbW91bnRBdEhlaWdodAICYmYCYmcEAmJoCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkBAmFhAgUEdGhpcwUBbgkBAVEBAiFpbnZhbGlkIGJvb3N0aW5nIGNvbnRyYWN0IGFkZHJlc3MJAJQKAgUDbmlsCgACYWIJAPwHBAUCYmgCIGdldFVzZXJHd3hBbW91bnRBdEhlaWdodFJFQURPTkxZCQDMCAIFAmJmCQDMCAIFAmJnBQNuaWwFA25pbAMJAAECBQJhYgIDSW50BQJhYgkAAgEJAKwCAgkAAwEFAmFiAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQCYmIBC2NvbnN0cnVjdG9yBQJhZwJiaQJiagJiawJibAQCYm0JAMwIAgkBAmJkAQUCYmIJAMwIAgMJAQIhPQIJAKYIAQUCYWcFBHVuaXQGAiBpbnZhbGlkIGZhY3RvcnkgY29udHJhY3QgYWRkcmVzcwkAzAgCAwkBAiE9AgkApggBBQJiaQUEdW5pdAYCMmludmFsaWQgdm90aW5nIGVtaXNzaW9uIGNhbmRpZGF0ZSBjb250cmFjdCBhZGRyZXNzCQDMCAIDCQECIT0CCQCmCAEFAmJqBQR1bml0BgIhaW52YWxpZCBib29zdGluZyBjb250cmFjdCBhZGRyZXNzCQDMCAIDCQECIT0CCQCmCAEFAmJrBQR1bml0BgIgaW52YWxpZCBzdGFraW5nIGNvbnRyYWN0IGFkZHJlc3MJAMwIAgMJAGYCBQJibAAABgkBAVMBAhRpbnZhbGlkIGVwb2NoIGxlbmd0aAUDbmlsAwkAAAIFAmJtBQJibQkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIFAW0FAmFnCQDMCAIJAQtTdHJpbmdFbnRyeQIFAWwFAmJpCQDMCAIJAQtTdHJpbmdFbnRyeQIFAW4FAmJqCQDMCAIJAQtTdHJpbmdFbnRyeQIFAW8FAmJrCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFmBQJibAUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJiAQZjcmVhdGUCAUIBQwQCYm0JAMwIAgMJAAACCQDYBAEICAUCYmIGY2FsbGVyBWJ5dGVzCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMFAWwCAAYJAQJiZAEFAmJiBQNuaWwDCQAAAgUCYm0FAmJtBAF6CQCUCgIFAUIFAUMEAmJuCQDOCAIJAMwIAgkBDEJvb2xlYW5FbnRyeQIJAQF5AQUBegYFA25pbAkBAmFRAgUCYUMJAQJhZAEFAXoEAmJvCQAAAgkAmggCBQR0aGlzBQFqBQR1bml0BAJicAMFAmJvBAFpAAAJAMwIAgkBDEludGVnZXJFbnRyeQIFAWoFAWkJAMwIAgkBDEludGVnZXJFbnRyeQIJAQF3AQUBaQUGaGVpZ2h0CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFzBQZoZWlnaHQJAMwIAgkBDEludGVnZXJFbnRyeQIFAXQFAWkJAMwIAgkBDEludGVnZXJFbnRyeQIFAXUFBmhlaWdodAUDbmlsBQNuaWwJAJQKAgkAzggCBQJibgUCYnAFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmIBBHZvdGUDAUIBQwJicQQBegkAlAoCBQFCBQFDBAFpCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAWoAAAQCYnIJAQJhYwIFBHRoaXMJAQF3AQUBaQQCYmwJAQJhYwIFBHRoaXMFAWYEAmJzCQBkAgUCYnIFAmJsBAJidAkAmggCBQR0aGlzBQFwBAJidQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBRAIIBQJiYgZjYWxsZXIFAWkAAAQCYnYJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUYDBQF6CAUCYmIGY2FsbGVyBQFpAAAEAmJ3CQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQFIAgUBegUBaQAABAJieAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBTgEFAWkAAAQCYnkKAAJhYgkA/AcEBQR0aGlzAhhnZXRVc2VyR3d4QW1vdW50QXRIZWlnaHQJAMwIAgkA2AQBCAgFAmJiBmNhbGxlcgVieXRlcwkAzAgCBQJicwUDbmlsBQNuaWwDCQABAgUCYWICA0ludAUCYWIJAAIBCQCsAgIJAAMBBQJhYgIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50BAJiegkAZQIFAmJ5BQJidQQCYkEJAGQCBQJidgUCYnEEAmJCCQECYXkBBQF6BAJibQkAzAgCAwkBAiE9AgkAoAgBCQEBeQEFAXoFBHVuaXQGCQEBUwECDmludmFsaWQgYXNzZXRzCQDMCAIDCQBmAgUCYnMFBmhlaWdodAYJAQFTAQIOaW52YWxpZCBoZWlnaHQJAMwIAgMJAAACBQJidAUEdW5pdAYJAQFTAQIYZmluYWxpemF0aW9uIGluIHByb2dyZXNzCQDMCAIDCQBmAgUCYnkAAAYJAQFTAQITeW91IGRvIG5vdCBoYXZlIGdXWAkAzAgCAwMJAGYCBQJicQAACQBnAgUCYnoFAmJxBwYJAQFTAQIOaW52YWxpZCBhbW91bnQJAMwIAgMFAmJCBgkBAVMBAh1wb29sIGhhc24ndCBXWF9FTUlTU0lPTiBsYWJlbAUDbmlsAwkAAAIFAmJtBQJibQQCYkMJAQJhRAEFAXoEAVAJAKUIAQgFAmJiBmNhbGxlcgQCYkQDCQECYU0CBQJiQwUBUAUDbmlsCQECYVECBQJiQwUBUAkAlAoCCQDOCAIJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFEAggFAmJiBmNhbGxlcgUBaQkAZAIFAmJ1BQJicQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAUYDBQF6CAUCYmIGY2FsbGVyBQFpBQJiQQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAUgCBQF6BQFpCQBkAgUCYncFAmJxCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBTgEFAWkJAGQCBQJieAUCYnEFA25pbAUCYkQFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmIBCmNhbmNlbFZvdGUCAUIBQwQBegkAlAoCBQFCBQFDBAFpCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAWoAAAQCYnIJAQJhYwIFBHRoaXMJAQF3AQUBaQQCYmwJAQJhYwIFBHRoaXMFAWYEAmJzCQBkAgUCYnIFAmJsBAJidAkAmggCBQR0aGlzBQFwBAJidQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBRAIIBQJiYgZjYWxsZXIFAWkAAAQCYnYJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUYDBQF6CAUCYmIGY2FsbGVyBQFpAAAEAmJ3CQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQFIAgUBegUBaQAABAJieAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBTgEFAWkAAAQCYm0JAMwIAgMJAQIhPQIJAKAIAQkBAXkBBQF6BQR1bml0BgkBAVMBAg5pbnZhbGlkIGFzc2V0cwkAzAgCAwkAZgIFAmJzBQZoZWlnaHQGCQEBUwECDmludmFsaWQgaGVpZ2h0CQDMCAIDCQAAAgUCYnQFBHVuaXQGCQEBUwECGGZpbmFsaXphdGlvbiBpbiBwcm9ncmVzcwkAzAgCAwkAZgIFAmJ2AAAGCQEBUwECB25vIHZvdGUFA25pbAMJAAACBQJibQUCYm0EAmJDCQECYUQBBQF6BAFQCQClCAEIBQJiYgZjYWxsZXIJAJQKAgkAzggCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBRAIIBQJiYgZjYWxsZXIFAWkJAJYDAQkAzAgCCQBlAgUCYnUFAmJ2CQDMCAIAAAUDbmlsCQDMCAIJAQtEZWxldGVFbnRyeQEJAQFGAwUBeggFAmJiBmNhbGxlcgUBaQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAUgCBQF6BQFpCQBlAgUCYncFAmJ2CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBTgEFAWkJAGUCBQJieAUCYnYFA25pbAkBAmFUAgUCYkMFAVAFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmIBDnNldEVwb2NoTGVuZ3RoAQJiRQQCYm0JAMwIAgkBAmJkAQUCYmIJAMwIAgMJAGYCBQJiRQAABgkBAVMBAhRpbnZhbGlkIGVwb2NoIGxlbmd0aAUDbmlsAwkAAAIFAmJtBQJibQkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFnBQJiRQUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJiAQtzZXRNYXhEZXB0aAECYkYEAmJtCQDMCAIJAQJiZAEFAmJiCQDMCAIDCQBmAgUCYkYAAAYJAQFTAQIRaW52YWxpZCBtYXggZGVwdGgFA25pbAMJAAACBQJibQUCYm0JAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUBawUCYkYFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiYgETcHJvY2Vzc1ZvdGVJTlRFUk5BTAICYkcBUAQCYkgJAQJiZQEFAmJiAwkAAAIFAmJIBQJiSAQCYmYJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBBQFQCQEBUQEJAKwCAgIqcHJvY2Vzc1ZvdGVJTlRFUk5BTDogaW52YWxpZCB1c2VyIGFkZHJlc3MgBQFQBAFpCQECYWMCBQR0aGlzBQFqBAJiSQkAZQIFAWkAAQQCYmwJAQJhYwIFBHRoaXMFAWYEAmJyCQECYWMCBQR0aGlzCQEBdwEFAWkEAmJzCQBkAgUCYnIFAmJsBAJiSgkBAmFjAgUEdGhpcwkBAXcBBQJiSQQCYksJAQJhYwIFBHRoaXMJAQFoAQUCYkkEAmJMCQBkAgUCYkoFAmJLBAJiTQMJAGcCBQJiSQAABgkBAVMBAitwcm9jZXNzVm90ZUlOVEVSTkFMOiBpbnZhbGlkIHByZXZpb3VzIGVwb2NoAwkAAAIFAmJNBQJiTQQBegkBAmFlAQUCYkcEAmJOBQF6BAFCCAUCYk4CXzEEAUMIBQJiTgJfMgQCYkIJAQJheQEFAXoEAmJ5CgACYWIJAPwHBAUEdGhpcwIYZ2V0VXNlckd3eEFtb3VudEF0SGVpZ2h0CQDMCAIFAVAJAMwIAgUCYnMFA25pbAUDbmlsAwkAAQIFAmFiAgNJbnQFAmFiCQACAQkArAICCQADAQUCYWICGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAQCYk8KAAJhYgkA/AcEBQR0aGlzAhhnZXRVc2VyR3d4QW1vdW50QXRIZWlnaHQJAMwIAgUBUAkAzAgCBQJiTAUDbmlsBQNuaWwDCQABAgUCYWICA0ludAUCYWIJAAIBCQCsAgIJAAMBBQJhYgIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50BAJieAkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEBTgEFAWkAAAQCYlAJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBAUgCBQF6BQFpAAAEAmJRCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ8IAQkBAUYDBQF6BQJiZgUCYkkJAQFRAQkArAICCQCsAgIJAKwCAgkArAICAhRwcm9jZXNzVm90ZUlOVEVSTkFMIAUCYkcCASAFAVACEjogbm8gcHJldmlvdXMgdm90ZQQCYnUJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUQCBQJiZgUBaQAABAFLCQECYW4CBQFCBQFDBAJiUgkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEBSgIFAUsFAmJJAAAEAmJrCQERQGV4dHJOYXRpdmUoMTA2MikBCQECYWECBQR0aGlzBQFvBAJiUwkBC3ZhbHVlT3JFbHNlAgkAmggCBQJiawkBAU8CBQFLBQFQAAAEAmJUAwkAAAIFAmJTAAAFA25pbAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAUoCBQFLBQJiSQkAZAIFAmJSBQJiUQUDbmlsBAJiQQMJAGYCBQJiTwAACQBrAwUCYlEFAmJ5BQJiTwAABAJiVQMDCQBmAgUCYkEAAAUCYkIHCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBRgMFAXoFAmJmBQFpBQJiQQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAU4BBQFpCQBkAgUCYngFAmJBCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBSAIFAXoFAWkJAGQCBQJiUAUCYkEJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFEAgUCYmYFAWkJAGQCBQJidQUCYkEFA25pbAkBAmFUAgkBAmFEAQUBegUBUAkAlAoCCQDOCAIFAmJVBQJiVAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiYgETcHJvY2Vzc1Bvb2xJTlRFUk5BTAICYkcCYlYEAmJICQECYmUBBQJiYgMJAAACBQJiSAUCYkgEAmJXBAJiWAkBAmFjAgUEdGhpcwUBagMFAmJWBQJiWAkAZQIFAmJYAAEEAmJNAwkAZwIFAmJXAAAGCQEBUwECKXByb2Nlc3NQb29sSU5URVJOQUw6IGludmFsaWQgdGFyZ2V0IGVwb2NoAwkAAAIFAmJNBQJiTQQBegkBAmFlAQUCYkcEAmJZBQF6BAFCCAUCYlkCXzEEAUMIBQJiWQJfMgQCYmsJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQJhYQIFBHRoaXMFAW8EAmF4CQECYW4CBQFCBQFDBAJiWgoAAmFiCQD8BwQFAmJrAhJ1c2Vyc0xpc3RUcmF2ZXJzYWwJAMwIAgUCYXgFA25pbAUDbmlsAwkAAQIFAmFiAgdCb29sZWFuBQJhYgkAAgEJAKwCAgkAAwEFAmFiAhwgY291bGRuJ3QgYmUgY2FzdCB0byBCb29sZWFuAwkAAAIFAmJaBQJiWgMFAmJaCQCUCgIFA25pbAYEAmJCCQECYXkBBQF6BAJieAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBTgEFAmJXAAAEAmJQCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQFIAgUBegUCYlcAAAQCY2EDAwkAAAIFAmJ4AAAGCQEBIQEFAmJCAAAJAGsDBQJiUAUBYgUCYngEAmNiCQD8BwQFAmFnAgxtb2RpZnlXZWlnaHQJAMwIAgUCYXgJAMwIAgUCY2EFA25pbAUDbmlsAwkAAAIFAmNiBQJjYgQCY2MDAwUCYkIGBQJiVgUDbmlsCQDOCAIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAXkBBQF6BQNuaWwJAQJhVAIFAmFDBQJiRwkAlAoCCQDOCAIJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFMAgUBegUCYlcFAmNhBQNuaWwFAmNjBwkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiYgEOZmluYWxpemVIZWxwZXIABAJiVgkBC3ZhbHVlT3JFbHNlAgkAoAgBBQF2BwQBaQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQFqAAAEAmNkCQBlAgUBaQABBAJicgkBAmFjAgUEdGhpcwkBAXcBBQFpBAJibAkBAmFjAgUEdGhpcwUBZgQCYnMJAGQCBQJicgUCYmwEAmJ0CQCaCAIFBHRoaXMFAXADAwMJAGcCBQZoZWlnaHQFAmJzCQAAAgUCYnQFBHVuaXQHCQEBIQEFAmJWBwQCY2UJAGQCBQFpAAEEAmNmCQCaCAIFBHRoaXMFAWcEAmNnBAFYBQJjZgMJAAECBQFYAgNJbnQEAmJFBQFYCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFmBQJiRQkAzAgCCQELRGVsZXRlRW50cnkBBQFnBQNuaWwDCQABAgUBWAIEVW5pdAUDbmlsCQACAQILTWF0Y2ggZXJyb3IJAJQKAgkAzggCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBdwEFAmNlBQZoZWlnaHQJAMwIAgkBDEludGVnZXJFbnRyeQIFAXMFBmhlaWdodAkAzAgCCQEMSW50ZWdlckVudHJ5AgUBagUCY2UJAMwIAgkBDEludGVnZXJFbnRyeQIFAXAFAWQJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFoAQUBaQUCYmwFA25pbAUCY2cGAwMFAmJWCQAAAgUCYnQFBHVuaXQHCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFAXAFAWUFA25pbAYDCQAAAgUCYnQFBHVuaXQJAJQKAgUDbmlsBwMJAAACBQJidAUBZAQCY2gJAKIIAQUBcQQCY2kJAKIIAQUBcgQBWAUCY2gDCQABAgUBWAIEVW5pdAQCY2oJAKIIAQkBAmFGAQUCYUMDCQABAgUCY2oCBFVuaXQJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUBcAUBZQkAzAgCCQELRGVsZXRlRW50cnkBBQFxCQDMCAIJAQtEZWxldGVFbnRyeQEFAXIFA25pbAYDCQABAgUCY2oCBlN0cmluZwQCY2sFAmNqCQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgUBcQUCY2sFA25pbAYJAAIBAgtNYXRjaCBlcnJvcgMJAAECBQFYAgZTdHJpbmcEAmJHBQFYBAF6CQECYWUBBQJiRwQCY2wEAmNqBQJjaQMJAAECBQJjagIEVW5pdAkAoggBCQECYUYBCQECYUQBBQF6AwkAAQIFAmNqAgZTdHJpbmcEAmNtBQJjagQCY24JAKIIAQkBAmFMAgkBAmFEAQUBegUCY20DCQAAAgUCY24FAmNuBAJjbwkA/AcEBQR0aGlzAhNwcm9jZXNzVm90ZUlOVEVSTkFMCQDMCAIFAmJHCQDMCAIFAmNtBQNuaWwFA25pbAMJAAACBQJjbwUCY28FAmNuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQILTWF0Y2ggZXJyb3IEAmNqBQJjbAMJAAECBQJjagIEVW5pdAQCY3AJAKIIAQkBAmFMAgUCYUMFAmJHBAJjcQUCY3ADCQABAgUCY3ECBFVuaXQJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUBcAUBZQkAzAgCCQELRGVsZXRlRW50cnkBBQFxCQDMCAIJAQtEZWxldGVFbnRyeQEFAXIFA25pbAYDCQABAgUCY3ECBlN0cmluZwQCYVgFAmNxCQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgUBcQUCYVgJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBcgUDbmlsBgkAAgECC01hdGNoIGVycm9yAwkAAQIFAmNqAgZTdHJpbmcEAmNyBQJjagkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIFAXIFAmNyBQNuaWwGCQACAQILTWF0Y2ggZXJyb3IJAAIBAgtNYXRjaCBlcnJvcgMJAAACBQJidAUBZQQCY2gJAKIIAQUBcQQBWAUCY2gDCQABAgUBWAIEVW5pdAQCY2oJAKIIAQkBAmFGAQUCYUMDCQABAgUCY2oCBFVuaXQEAmJVAwUCYlYJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBcAkAzAgCCQELRGVsZXRlRW50cnkBBQF2BQNuaWwJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBcAkAzAgCCQEMQm9vbGVhbkVudHJ5AgkBAXgBBQJjZAYJAMwIAgkBDEludGVnZXJFbnRyeQIFAXQFAWkJAMwIAgkBDEludGVnZXJFbnRyeQIFAXUFAmJyBQNuaWwEAmNzCQECYUEAAwkAAAIFAmNzBQJjcwkAlAoCBQJiVQYJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4DCQABAgUCY2oCBlN0cmluZwQCY3QFAmNqCQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgUBcQUCY3QFA25pbAYJAAIBAgtNYXRjaCBlcnJvcgMJAAECBQFYAgZTdHJpbmcEAmJHBQFYBAJjcAkAoggBCQECYUwCBQJhQwUCYkcDCQAAAgUCY3AFAmNwBAJiWgoAAmFiCQD8BwQFBHRoaXMCE3Byb2Nlc3NQb29sSU5URVJOQUwJAMwIAgUCYkcJAMwIAgUCYlYFA25pbAUDbmlsAwkAAQIFAmFiAgdCb29sZWFuBQJhYgkAAgEJAKwCAgkAAwEFAmFiAhwgY291bGRuJ3QgYmUgY2FzdCB0byBCb29sZWFuAwkAAAIFAmJaBQJiWgMFAmJaCQCUCgIFA25pbAYEAmNqBQJjcAMJAAECBQJjagIEVW5pdAQCYlUDBQJiVgkAzAgCCQELRGVsZXRlRW50cnkBBQFwCQDMCAIJAQtEZWxldGVFbnRyeQEFAXYJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBcQUDbmlsCQDMCAIJAQtEZWxldGVFbnRyeQEFAXAJAMwIAgkBDEJvb2xlYW5FbnRyeQIJAQF4AQUCY2QGCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQF0BQFpCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQF1BQJicgkAzAgCCQELRGVsZXRlRW50cnkBBQFxBQNuaWwEAmNzCQECYUEAAwkAAAIFAmNzBQJjcwkAlAoCBQJiVQYJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4DCQABAgUCY2oCBlN0cmluZwQCY3QFAmNqCQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgUBcQUCY3QFA25pbAYJAAIBAgtNYXRjaCBlcnJvcgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECC01hdGNoIGVycm9yCQEBUwECFmZpbmFsaXphdGlvbiBpcyBicm9rZW4CYmIBD2ZpbmFsaXplV3JhcHBlcgECY3UEAmN2CgACYWIJAPwHBAUEdGhpcwIOZmluYWxpemVIZWxwZXIFA25pbAUDbmlsAwkAAQIFAmFiAgdCb29sZWFuBQJhYgkAAgEJAKwCAgkAAwEFAmFiAhwgY291bGRuJ3QgYmUgY2FzdCB0byBCb29sZWFuAwkAAAIFAmN2BQJjdgMJAQEhAQUCY3YDCQAAAgUCY3UAAAkBAVMBAh5DdXJyZW50IHZvdGluZyBpcyBub3Qgb3ZlciB5ZXQJAJQKAgUDbmlsBQR1bml0BAJjdwkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQFrBQFjAwkAZgIFAmN3BQJjdQQCY3gJAPwHBAUEdGhpcwIPZmluYWxpemVXcmFwcGVyCQDMCAIJAGQCBQJjdQABBQNuaWwFA25pbAMJAAACBQJjeAUCY3gJAJQKAgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQCUCgIFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiYgEIZmluYWxpemUABAJjeAkA/AcEBQR0aGlzAg9maW5hbGl6ZVdyYXBwZXIJAMwIAgAABQNuaWwFA25pbAMJAAACBQJjeAUCY3gJAJQKAgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJiARRjb250YWluc05vZGVSRUFET05MWQICYUcCYUsJAJQKAgUDbmlsCQECYU0CBQJhRwUCYUsCYmIBCmluc2VydE5vZGUCAmFHAmFLBAJiSAkBAmJkAQUCYmIDCQAAAgUCYkgFAmJICQCUCgIJAQJhUQIFAmFHBQJhSwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiYgEKZGVsZXRlTm9kZQICYUcCYUsEAmJICQECYmQBBQJiYgMJAAACBQJiSAUCYkgJAJQKAgkBAmFUAgUCYUcFAmFLBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJjeQECY3oABAJjQQQBWAkBAmFZAAMJAAECBQFYAgpCeXRlVmVjdG9yBAJiYwUBWAUCYmMDCQABAgUBWAIEVW5pdAgFAmN5D3NlbmRlclB1YmxpY0tleQkAAgECC01hdGNoIGVycm9yCQD0AwMIBQJjeQlib2R5Qnl0ZXMJAJEDAggFAmN5BnByb29mcwAABQJjQX6PrfM=", "height": 2603411, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Eoz4Z5PLKEWMFDfk3qhyAAGGH2R9woswAGDDgd32o3sz Next: 5kgukao7QtUdYscifwwMwk49TTcjoykra9FMENNFcinL Diff:
OldNewDifferences
2424
2525 let l = makeString(["%s", "votingEmissionCandidateContract"], a)
2626
27-let m = makeString(["%s", "votingEmissionRateContract"], a)
27+let m = makeString(["%s", "factoryContract"], a)
2828
29-let n = makeString(["%s", "factoryContract"], a)
29+let n = makeString(["%s", "boostingContract"], a)
3030
31-let o = makeString(["%s", "boostingContract"], a)
31+let o = makeString(["%s", "stakingContract"], a)
3232
33-let p = makeString(["%s", "stakingContract"], a)
33+let p = makeString(["%s", "finalizationStage"], a)
3434
35-let q = makeString(["%s", "finalizationStage"], a)
35+let q = makeString(["%s", "nextPool"], a)
3636
37-let r = makeString(["%s", "nextPool"], a)
37+let r = makeString(["%s", "nextUser"], a)
3838
39-let s = makeString(["%s", "nextUser"], a)
39+let s = makeString(["%s", "startHeight"], a)
4040
41-let t = makeString(["%s", "startHeight"], a)
41+let t = makeString(["%s", "currentEpochUi"], a)
4242
43-let u = makeString(["%s", "currentEpochUi"], a)
43+let u = makeString(["%s", "startHeightUi"], a)
4444
45-let v = makeString(["%s", "startHeightUi"], a)
45+let v = makeString(["%s", "force"], a)
4646
47-let w = makeString(["%s", "force"], a)
48-
49-func x (i) = makeString(["%s%d", "startHeight", toString(i)], a)
47+func w (i) = makeString(["%s%d", "startHeight", toString(i)], a)
5048
5149
52-func y (i) = makeString(["%s%d", "finalized", toString(i)], a)
50+func x (i) = makeString(["%s%d", "finalized", toString(i)], a)
5351
5452
55-func z (A) = {
56- let B = A
57- let C = B._1
58- let D = B._2
59- makeString(["%s%s%s", "inList", C, D], a)
53+func y (z) = {
54+ let A = z
55+ let B = A._1
56+ let C = A._2
57+ makeString(["%s%s%s", "inList", B, C], a)
6058 }
6159
6260
63-func E (F,i) = makeString(["%s%s%d", "used", toString(F), toString(i)], a)
61+func D (E,i) = makeString(["%s%s%d", "used", toString(E), toString(i)], a)
6462
6563
66-func G (A,F,i) = {
67- let H = A
68- let C = H._1
69- let D = H._2
70- makeString(["%s%s%s%s%d", "vote", C, D, toString(F), toString(i)], a)
64+func F (z,E,i) = {
65+ let G = z
66+ let B = G._1
67+ let C = G._2
68+ makeString(["%s%s%s%s%d", "vote", B, C, toString(E), toString(i)], a)
7169 }
7270
7371
74-func I (A,i) = {
75- let J = A
76- let C = J._1
77- let D = J._2
78- makeString(["%s%s%s%d", "votingResult", C, D, toString(i)], a)
72+func H (z,i) = {
73+ let I = z
74+ let B = I._1
75+ let C = I._2
76+ makeString(["%s%s%s%d", "votingResult", B, C, toString(i)], a)
7977 }
8078
8179
82-func K (L,i) = makeString(["%s%s%d", "votingResultStaked", L, toString(i)], a)
80+func J (K,i) = makeString(["%s%s%d", "votingResultStaked", K, toString(i)], a)
8381
8482
85-func M (A,i) = {
86- let N = A
87- let C = N._1
88- let D = N._2
89- makeString(["%s%s%s%d", "poolShare", C, D, toString(i)], a)
83+func L (z,i) = {
84+ let M = z
85+ let B = M._1
86+ let C = M._2
87+ makeString(["%s%s%s%d", "poolShare", B, C, toString(i)], a)
9088 }
9189
9290
93-func O (i) = makeString(["%s%d", "totalVotes", toString(i)], a)
91+func N (i) = makeString(["%s%d", "totalVotes", toString(i)], a)
9492
9593
96-func P (L,Q) = makeString(["%s%s%s", "staked", Q, L], a)
94+func O (K,P) = makeString(["%s%s%s", "staked", P, K], a)
9795
9896
99-func R (S) = makeString(["voting_emission.ride:", S], " ")
97+func Q (R) = makeString(["voting_emission.ride:", R], " ")
10098
10199
102-func T (S) = throw(R(S))
100+func S (R) = throw(Q(R))
103101
104102
105-func U (F,V,W) = {
106- let X = R(makeString(["mandatory ", toString(F), ".", V, " is not defined"], ""))
103+func T (E,U,V) = {
104+ let W = Q(makeString(["mandatory ", toString(E), ".", U, " is not defined"], ""))
107105 valueOrErrorMessage({
108- let Y = W
109- if ($isInstanceOf(Y, "String"))
106+ let X = V
107+ if ($isInstanceOf(X, "String"))
110108 then {
111- let Z = Y
112- getString(F, V)
109+ let Y = X
110+ getString(E, U)
113111 }
114- else if ($isInstanceOf(Y, "Int"))
112+ else if ($isInstanceOf(X, "Int"))
115113 then {
116- let aa = Y
117- getInteger(F, V)
114+ let Z = X
115+ getInteger(E, U)
118116 }
119- else T("invalid entry type")
120- }, X)
117+ else S("invalid entry type")
118+ }, W)
121119 }
122120
123121
124-func ab (F,V) = {
125- let ac = U(F, V, "")
126- if ($isInstanceOf(ac, "String"))
127- then ac
128- else throw(($getType(ac) + " couldn't be cast to String"))
122+func aa (E,U) = {
123+ let ab = T(E, U, "")
124+ if ($isInstanceOf(ab, "String"))
125+ then ab
126+ else throw(($getType(ab) + " couldn't be cast to String"))
129127 }
130128
131129
132-func ad (F,V) = {
133- let ac = U(F, V, 0)
134- if ($isInstanceOf(ac, "Int"))
135- then ac
136- else throw(($getType(ac) + " couldn't be cast to Int"))
130+func ac (E,U) = {
131+ let ab = T(E, U, 0)
132+ if ($isInstanceOf(ab, "Int"))
133+ then ab
134+ else throw(($getType(ab) + " couldn't be cast to Int"))
137135 }
138136
139137
140-func ae (A) = ((A._1 + a) + A._2)
138+func ad (z) = ((z._1 + a) + z._2)
141139
142140
143-func af (Z) = {
144- let ag = split(Z, a)
145- if ((size(ag) == 2))
146- then $Tuple2(ag[0], ag[1])
147- else T("invalid pool string")
141+func ae (Y) = {
142+ let af = split(Y, a)
143+ if ((size(af) == 2))
144+ then $Tuple2(af[0], af[1])
145+ else S("invalid pool string")
148146 }
149147
150148
151-let ah = addressFromStringValue(ab(this, n))
149+let ag = addressFromStringValue(aa(this, m))
152150
153-let ai = 10
151+let ah = 10
154152
155-func aj () = "%s__factoryConfig"
153+func ai () = "%s__factoryConfig"
156154
157155
158-func ak (al) = split(ab(al, aj()), a)
156+func aj (ak) = split(aa(ak, ai()), a)
159157
160158
161-func am (an) = addressFromStringValue(an[ai])
159+func al (am) = addressFromStringValue(am[ah])
162160
163161
164-func ao (C,D) = {
165- func ap (aq) = ("%s%s%s__mappings__baseAsset2internalId__" + aq)
162+func an (B,C) = {
163+ func ao (ap) = ("%s%s%s__mappings__baseAsset2internalId__" + ap)
166164
167- func ar (as,at) = (((("%d%d%s%s__" + toString(as)) + "__") + toString(at)) + "__mappings__poolAssets2PoolContract")
165+ func aq (ar,as) = (((("%d%d%s%s__" + toString(ar)) + "__") + toString(as)) + "__mappings__poolAssets2PoolContract")
168166
169- func au (av) = (("%s%s%s__" + av) + "__mappings__poolContract2LpAsset")
167+ func at (au) = (("%s%s%s__" + au) + "__mappings__poolContract2LpAsset")
170168
171- let aw = ad(ah, ap(C))
172- let ax = ad(ah, ap(D))
173- let av = ab(ah, ar(aw, ax))
174- let ay = ab(ah, au(av))
175- ay
169+ let av = ac(ag, ao(B))
170+ let aw = ac(ag, ao(C))
171+ let au = aa(ag, aq(av, aw))
172+ let ax = aa(ag, at(au))
173+ ax
176174 }
177175
178176
179-func az (A) = {
180- let aA = A
181- let C = aA._1
182- let D = aA._2
183- let ac = invoke(ah, "checkWxEmissionPoolLabel", [C, D], nil)
184- if ($isInstanceOf(ac, "Boolean"))
185- then ac
186- else throw(($getType(ac) + " couldn't be cast to Boolean"))
177+func ay (z) = {
178+ let az = z
179+ let B = az._1
180+ let C = az._2
181+ let ab = invoke(ag, "checkWxEmissionPoolLabel", [B, C], nil)
182+ if ($isInstanceOf(ab, "Boolean"))
183+ then ab
184+ else throw(($getType(ab) + " couldn't be cast to Boolean"))
187185 }
188186
189187
190-func aB () = {
191- let an = ak(ah)
192- let aC = am(an)
193- invoke(aC, "deposit", nil, nil)
188+func aA () = {
189+ let am = aj(ag)
190+ let aB = al(am)
191+ invoke(aB, "deposit", nil, nil)
194192 }
195193
196194
197-let aD = "pools"
195+let aC = "pools"
198196
199-func aE (A) = {
200- let aF = A
201- let C = aF._1
202- let D = aF._2
203- makeString(["votes", C, D], a)
197+func aD (z) = {
198+ let aE = z
199+ let B = aE._1
200+ let C = aE._2
201+ makeString(["votes", B, C], a)
204202 }
205203
206204
207-func aG (aH) = {
208- let aI = if ((aH == aD))
205+func aF (aG) = {
206+ let aH = if ((aG == aC))
209207 then "%s%s"
210208 else "%s%s%s%s"
211- makeString([aI, aH, "head"], a)
209+ makeString([aH, aG, "head"], a)
212210 }
213211
214212
215-func aJ (aH) = {
216- let aI = if ((aH == aD))
213+func aI (aG) = {
214+ let aH = if ((aG == aC))
217215 then "%s%s"
218216 else "%s%s%s%s"
219- makeString([aI, aH, "size"], a)
217+ makeString([aH, aG, "size"], a)
220218 }
221219
222220
223-func aK (aH,aL) = {
224- let aI = if ((aH == aD))
221+func aJ (aG,aK) = {
222+ let aH = if ((aG == aC))
225223 then "%s%s%s%s"
226224 else "%s%s%s%s%s"
227- makeString([aI, aH, aL, "prev"], a)
225+ makeString([aH, aG, aK, "prev"], a)
228226 }
229227
230228
231-func aM (aH,aL) = {
232- let aI = if ((aH == aD))
229+func aL (aG,aK) = {
230+ let aH = if ((aG == aC))
233231 then "%s%s%s%s"
234232 else "%s%s%s%s%s"
235- makeString([aI, aH, aL, "next"], a)
233+ makeString([aH, aG, aK, "next"], a)
236234 }
237235
238236
239-func aN (aH,aL) = {
240- let aO = getString(this, aG(aH))
241- let aP = getString(this, aK(aH, aL))
242- let aQ = getString(this, aM(aH, aL))
243- if (if ((aL == valueOrElse(aO, "")))
237+func aM (aG,aK) = {
238+ let aN = getString(this, aF(aG))
239+ let aO = getString(this, aJ(aG, aK))
240+ let aP = getString(this, aL(aG, aK))
241+ if (if ((aK == valueOrElse(aN, "")))
244242 then true
245- else (aP != unit))
243+ else (aO != unit))
246244 then true
247- else (aQ != unit)
245+ else (aP != unit)
248246 }
249247
250248
251-func aR (aH,aL) = {
252- let aO = getString(this, aG(aH))
253- let aS = valueOrElse(getInteger(this, aJ(aH)), 0)
254- let aT = if (!(aN(aH, aL)))
249+func aQ (aG,aK) = {
250+ let aN = getString(this, aF(aG))
251+ let aR = valueOrElse(getInteger(this, aI(aG)), 0)
252+ let aS = if (!(aM(aG, aK)))
255253 then true
256- else T("Node exists")
257- if ((aT == aT))
258- then (([IntegerEntry(aJ(aH), (aS + 1))] ++ (if ((aO != unit))
259- then [StringEntry(aM(aH, aL), value(aO)), StringEntry(aK(aH, value(aO)), aL)]
260- else nil)) ++ [StringEntry(aG(aH), aL)])
254+ else S("Node exists")
255+ if ((aS == aS))
256+ then (([IntegerEntry(aI(aG), (aR + 1))] ++ (if ((aN != unit))
257+ then [StringEntry(aL(aG, aK), value(aN)), StringEntry(aJ(aG, value(aN)), aK)]
258+ else nil)) ++ [StringEntry(aF(aG), aK)])
261259 else throw("Strict value is not equal to itself.")
262260 }
263261
264262
265-func aU (aH,aL) = {
266- let aO = getString(this, aG(aH))
267- let aS = valueOrElse(getInteger(this, aJ(aH)), 0)
268- let aP = getString(this, aK(aH, aL))
269- let aQ = getString(this, aM(aH, aL))
270- ([IntegerEntry(aJ(aH), (aS - 1))] ++ (if (if ((aP != unit))
271- then (aQ != unit)
263+func aT (aG,aK) = {
264+ let aN = getString(this, aF(aG))
265+ let aR = valueOrElse(getInteger(this, aI(aG)), 0)
266+ let aO = getString(this, aJ(aG, aK))
267+ let aP = getString(this, aL(aG, aK))
268+ ([IntegerEntry(aI(aG), (aR - 1))] ++ (if (if ((aO != unit))
269+ then (aP != unit)
272270 else false)
273- then [StringEntry(aM(aH, value(aP)), value(aQ)), StringEntry(aK(aH, value(aQ)), value(aP)), DeleteEntry(aK(aH, aL)), DeleteEntry(aM(aH, aL))]
274- else if ((aQ != unit))
275- then [StringEntry(aG(aH), value(aQ)), DeleteEntry(aM(aH, aL)), DeleteEntry(aK(aH, value(aQ)))]
276- else if ((aP != unit))
277- then [DeleteEntry(aK(aH, aL)), DeleteEntry(aM(aH, value(aP)))]
278- else if ((aL == valueOrElse(aO, "")))
279- then [DeleteEntry(aG(aH))]
280- else T(((("invalid node: " + aH) + ".") + aL))))
271+ then [StringEntry(aL(aG, value(aO)), value(aP)), StringEntry(aJ(aG, value(aP)), value(aO)), DeleteEntry(aJ(aG, aK)), DeleteEntry(aL(aG, aK))]
272+ else if ((aP != unit))
273+ then [StringEntry(aF(aG), value(aP)), DeleteEntry(aL(aG, aK)), DeleteEntry(aJ(aG, value(aP)))]
274+ else if ((aO != unit))
275+ then [DeleteEntry(aJ(aG, aK)), DeleteEntry(aL(aG, value(aO)))]
276+ else if ((aK == valueOrElse(aN, "")))
277+ then [DeleteEntry(aF(aG))]
278+ else S(((("invalid node: " + aG) + ".") + aK))))
281279 }
282280
283281
284-func aV () = "%s__managerVaultAddress"
282+func aU () = "%s__managerVaultAddress"
285283
286284
287-func aW () = "%s__managerPublicKey"
285+func aV () = "%s__managerPublicKey"
288286
289287
290-func aX () = {
291- let Y = getString(aV())
292- if ($isInstanceOf(Y, "String"))
288+func aW () = {
289+ let X = getString(aU())
290+ if ($isInstanceOf(X, "String"))
293291 then {
294- let aY = Y
295- addressFromStringValue(aY)
292+ let aX = X
293+ addressFromStringValue(aX)
296294 }
297295 else this
298296 }
299297
300298
301-func aZ () = {
302- let ba = aX()
303- let Y = getString(ba, aW())
304- if ($isInstanceOf(Y, "String"))
299+func aY () = {
300+ let aZ = aW()
301+ let X = getString(aZ, aV())
302+ if ($isInstanceOf(X, "String"))
305303 then {
306- let aY = Y
307- fromBase58String(aY)
304+ let aX = X
305+ fromBase58String(aX)
308306 }
309- else if ($isInstanceOf(Y, "Unit"))
307+ else if ($isInstanceOf(X, "Unit"))
310308 then unit
311309 else throw("Match error")
312310 }
313311
314312
315-func bb (bc) = {
316- let Y = aZ()
317- if ($isInstanceOf(Y, "ByteVector"))
313+func ba (bb) = {
314+ let X = aY()
315+ if ($isInstanceOf(X, "ByteVector"))
318316 then {
319- let bd = Y
320- (bc.callerPublicKey == bd)
317+ let bc = X
318+ (bb.callerPublicKey == bc)
321319 }
322- else if ($isInstanceOf(Y, "Unit"))
323- then (bc.caller == this)
320+ else if ($isInstanceOf(X, "Unit"))
321+ then (bb.caller == this)
324322 else throw("Match error")
325323 }
326324
327325
328-func be (bc) = if (bb(bc))
326+func bd (bb) = if (ba(bb))
329327 then true
330328 else throw("permission denied")
331329
332330
333-func bf (bc) = if ((bc.caller == this))
331+func be (bb) = if ((bb.caller == this))
334332 then true
335333 else throw("permission denied")
336334
337335
338-@Callable(bc)
339-func getUserGwxAmountAtHeight (bg,bh) = {
340- let bi = valueOrErrorMessage(addressFromString(ab(this, o)), R("invalid boosting contract address"))
336+@Callable(bb)
337+func getUserGwxAmountAtHeight (bf,bg) = {
338+ let bh = valueOrErrorMessage(addressFromString(aa(this, n)), Q("invalid boosting contract address"))
341339 $Tuple2(nil, {
342- let ac = invoke(bi, "getUserGwxAmountAtHeightREADONLY", [bg, bh], nil)
343- if ($isInstanceOf(ac, "Int"))
344- then ac
345- else throw(($getType(ac) + " couldn't be cast to Int"))
340+ let ab = invoke(bh, "getUserGwxAmountAtHeightREADONLY", [bf, bg], nil)
341+ if ($isInstanceOf(ab, "Int"))
342+ then ab
343+ else throw(($getType(ab) + " couldn't be cast to Int"))
346344 })
347345 }
348346
349347
350348
351-@Callable(bc)
352-func constructor (ah,bj,bk,bl,bm) = {
353- let bn = [be(bc), if ((addressFromString(ah) != unit))
349+@Callable(bb)
350+func constructor (ag,bi,bj,bk,bl) = {
351+ let bm = [bd(bb), if ((addressFromString(ag) != unit))
354352 then true
355- else "invalid factory contract address", if ((addressFromString(bj) != unit))
353+ else "invalid factory contract address", if ((addressFromString(bi) != unit))
356354 then true
357- else "invalid voting emission candidate contract address", if ((addressFromString(bk) != unit))
355+ else "invalid voting emission candidate contract address", if ((addressFromString(bj) != unit))
358356 then true
359- else "invalid boosting contract address", if ((addressFromString(bl) != unit))
357+ else "invalid boosting contract address", if ((addressFromString(bk) != unit))
360358 then true
361- else "invalid staking contract address", if ((bm > 0))
359+ else "invalid staking contract address", if ((bl > 0))
362360 then true
363- else T("invalid epoch length")]
364- if ((bn == bn))
365- then $Tuple2([StringEntry(n, ah), StringEntry(l, bj), StringEntry(o, bk), StringEntry(p, bl), IntegerEntry(f, bm)], unit)
361+ else S("invalid epoch length")]
362+ if ((bm == bm))
363+ then $Tuple2([StringEntry(m, ag), StringEntry(l, bi), StringEntry(n, bj), StringEntry(o, bk), IntegerEntry(f, bl)], unit)
366364 else throw("Strict value is not equal to itself.")
367365 }
368366
369367
370368
371-@Callable(bc)
372-func create (C,D) = {
373- let bn = [if ((toBase58String(bc.caller.bytes) == valueOrElse(getString(this, l), "")))
369+@Callable(bb)
370+func create (B,C) = {
371+ let bm = [if ((toBase58String(bb.caller.bytes) == valueOrElse(getString(this, l), "")))
374372 then true
375- else be(bc)]
376- if ((bn == bn))
373+ else bd(bb)]
374+ if ((bm == bm))
377375 then {
378- let A = $Tuple2(C, D)
379- let bo = ([BooleanEntry(z(A), true)] ++ aR(aD, ae(A)))
380- let bp = (getInteger(this, j) == unit)
381- let bq = if (bp)
376+ let z = $Tuple2(B, C)
377+ let bn = ([BooleanEntry(y(z), true)] ++ aQ(aC, ad(z)))
378+ let bo = (getInteger(this, j) == unit)
379+ let bp = if (bo)
382380 then {
383381 let i = 0
384-[IntegerEntry(j, i), IntegerEntry(x(i), height), IntegerEntry(t, height), IntegerEntry(u, i), IntegerEntry(v, height)]
382+[IntegerEntry(j, i), IntegerEntry(w(i), height), IntegerEntry(s, height), IntegerEntry(t, i), IntegerEntry(u, height)]
385383 }
386384 else nil
387- $Tuple2((bo ++ bq), unit)
385+ $Tuple2((bn ++ bp), unit)
388386 }
389387 else throw("Strict value is not equal to itself.")
390388 }
391389
392390
393391
394-@Callable(bc)
395-func vote (C,D,br) = {
396- let A = $Tuple2(C, D)
392+@Callable(bb)
393+func vote (B,C,bq) = {
394+ let z = $Tuple2(B, C)
397395 let i = valueOrElse(getInteger(this, j), 0)
398- let bs = ad(this, x(i))
399- let bm = ad(this, f)
400- let bt = (bs + bm)
401- let bu = getInteger(this, q)
402- let bv = valueOrElse(getInteger(this, E(bc.caller, i)), 0)
403- let bw = valueOrElse(getInteger(this, G(A, bc.caller, i)), 0)
404- let bx = valueOrElse(getInteger(this, I(A, i)), 0)
405- let by = valueOrElse(getInteger(this, O(i)), 0)
406- let bz = {
407- let ac = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(bc.caller.bytes), bt], nil)
408- if ($isInstanceOf(ac, "Int"))
409- then ac
410- else throw(($getType(ac) + " couldn't be cast to Int"))
396+ let br = ac(this, w(i))
397+ let bl = ac(this, f)
398+ let bs = (br + bl)
399+ let bt = getInteger(this, p)
400+ let bu = valueOrElse(getInteger(this, D(bb.caller, i)), 0)
401+ let bv = valueOrElse(getInteger(this, F(z, bb.caller, i)), 0)
402+ let bw = valueOrElse(getInteger(this, H(z, i)), 0)
403+ let bx = valueOrElse(getInteger(this, N(i)), 0)
404+ let by = {
405+ let ab = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(bb.caller.bytes), bs], nil)
406+ if ($isInstanceOf(ab, "Int"))
407+ then ab
408+ else throw(($getType(ab) + " couldn't be cast to Int"))
411409 }
412- let bA = (bz - bv)
413- let bB = (bw + br)
414- let bC = az(A)
415- let bn = [if ((getBoolean(z(A)) != unit))
410+ let bz = (by - bu)
411+ let bA = (bv + bq)
412+ let bB = ay(z)
413+ let bm = [if ((getBoolean(y(z)) != unit))
416414 then true
417- else T("invalid assets"), if ((bt > height))
415+ else S("invalid assets"), if ((bs > height))
418416 then true
419- else T("invalid height"), if ((bu == unit))
417+ else S("invalid height"), if ((bt == unit))
420418 then true
421- else T("finalization in progress"), if ((bz > 0))
419+ else S("finalization in progress"), if ((by > 0))
422420 then true
423- else T("you do not have gWX"), if (if ((br > 0))
424- then (bA >= br)
421+ else S("you do not have gWX"), if (if ((bq > 0))
422+ then (bz >= bq)
425423 else false)
426424 then true
427- else T("invalid amount"), if (bC)
425+ else S("invalid amount"), if (bB)
428426 then true
429- else T("pool hasn't WX_EMISSION label")]
430- if ((bn == bn))
427+ else S("pool hasn't WX_EMISSION label")]
428+ if ((bm == bm))
431429 then {
432- let bD = aE(A)
433- let Q = toString(bc.caller)
434- let bE = if (aN(bD, Q))
430+ let bC = aD(z)
431+ let P = toString(bb.caller)
432+ let bD = if (aM(bC, P))
435433 then nil
436- else aR(bD, Q)
437- $Tuple2(([IntegerEntry(E(bc.caller, i), (bv + br)), IntegerEntry(G(A, bc.caller, i), bB), IntegerEntry(I(A, i), (bx + br)), IntegerEntry(O(i), (by + br))] ++ bE), unit)
434+ else aQ(bC, P)
435+ $Tuple2(([IntegerEntry(D(bb.caller, i), (bu + bq)), IntegerEntry(F(z, bb.caller, i), bA), IntegerEntry(H(z, i), (bw + bq)), IntegerEntry(N(i), (bx + bq))] ++ bD), unit)
438436 }
439437 else throw("Strict value is not equal to itself.")
440438 }
441439
442440
443441
444-@Callable(bc)
445-func cancelVote (C,D) = {
446- let A = $Tuple2(C, D)
442+@Callable(bb)
443+func cancelVote (B,C) = {
444+ let z = $Tuple2(B, C)
447445 let i = valueOrElse(getInteger(this, j), 0)
448- let bs = ad(this, x(i))
449- let bm = ad(this, f)
450- let bt = (bs + bm)
451- let bu = getInteger(this, q)
452- let bv = valueOrElse(getInteger(this, E(bc.caller, i)), 0)
453- let bw = valueOrElse(getInteger(this, G(A, bc.caller, i)), 0)
454- let bx = valueOrElse(getInteger(this, I(A, i)), 0)
455- let by = valueOrElse(getInteger(this, O(i)), 0)
456- let bn = [if ((getBoolean(z(A)) != unit))
446+ let br = ac(this, w(i))
447+ let bl = ac(this, f)
448+ let bs = (br + bl)
449+ let bt = getInteger(this, p)
450+ let bu = valueOrElse(getInteger(this, D(bb.caller, i)), 0)
451+ let bv = valueOrElse(getInteger(this, F(z, bb.caller, i)), 0)
452+ let bw = valueOrElse(getInteger(this, H(z, i)), 0)
453+ let bx = valueOrElse(getInteger(this, N(i)), 0)
454+ let bm = [if ((getBoolean(y(z)) != unit))
457455 then true
458- else T("invalid assets"), if ((bt > height))
456+ else S("invalid assets"), if ((bs > height))
459457 then true
460- else T("invalid height"), if ((bu == unit))
458+ else S("invalid height"), if ((bt == unit))
461459 then true
462- else T("finalization in progress"), if ((bw > 0))
460+ else S("finalization in progress"), if ((bv > 0))
463461 then true
464- else T("no vote")]
465- if ((bn == bn))
462+ else S("no vote")]
463+ if ((bm == bm))
466464 then {
467- let bD = aE(A)
468- let Q = toString(bc.caller)
469- $Tuple2(([IntegerEntry(E(bc.caller, i), max([(bv - bw), 0])), DeleteEntry(G(A, bc.caller, i)), IntegerEntry(I(A, i), (bx - bw)), IntegerEntry(O(i), (by - bw))] ++ aU(bD, Q)), unit)
465+ let bC = aD(z)
466+ let P = toString(bb.caller)
467+ $Tuple2(([IntegerEntry(D(bb.caller, i), max([(bu - bv), 0])), DeleteEntry(F(z, bb.caller, i)), IntegerEntry(H(z, i), (bw - bv)), IntegerEntry(N(i), (bx - bv))] ++ aT(bC, P)), unit)
470468 }
471469 else throw("Strict value is not equal to itself.")
472470 }
473471
474472
475473
476-@Callable(bc)
477-func setEpochLength (bF) = {
478- let bn = [be(bc), if ((bF > 0))
474+@Callable(bb)
475+func setEpochLength (bE) = {
476+ let bm = [bd(bb), if ((bE > 0))
479477 then true
480- else T("invalid epoch length")]
481- if ((bn == bn))
482- then $Tuple2([IntegerEntry(g, bF)], unit)
478+ else S("invalid epoch length")]
479+ if ((bm == bm))
480+ then $Tuple2([IntegerEntry(g, bE)], unit)
483481 else throw("Strict value is not equal to itself.")
484482 }
485483
486484
487485
488-@Callable(bc)
489-func setMaxDepth (bG) = {
490- let bn = [be(bc), if ((bG > 0))
486+@Callable(bb)
487+func setMaxDepth (bF) = {
488+ let bm = [bd(bb), if ((bF > 0))
491489 then true
492- else T("invalid max depth")]
493- if ((bn == bn))
494- then $Tuple2([IntegerEntry(k, bG)], unit)
490+ else S("invalid max depth")]
491+ if ((bm == bm))
492+ then $Tuple2([IntegerEntry(k, bF)], unit)
495493 else throw("Strict value is not equal to itself.")
496494 }
497495
498496
499497
500-@Callable(bc)
501-func processVoteINTERNAL (bH,Q) = {
502- let bI = bf(bc)
503- if ((bI == bI))
498+@Callable(bb)
499+func processVoteINTERNAL (bG,P) = {
500+ let bH = be(bb)
501+ if ((bH == bH))
504502 then {
505- let bg = valueOrErrorMessage(addressFromString(Q), R(("processVoteINTERNAL: invalid user address " + Q)))
506- let i = ad(this, j)
507- let bJ = (i - 1)
508- let bm = ad(this, f)
509- let bs = ad(this, x(i))
510- let bt = (bs + bm)
511- let bK = ad(this, x(bJ))
512- let bL = ad(this, h(bJ))
513- let bM = (bK + bL)
514- let bN = if ((bJ >= 0))
503+ let bf = valueOrErrorMessage(addressFromString(P), Q(("processVoteINTERNAL: invalid user address " + P)))
504+ let i = ac(this, j)
505+ let bI = (i - 1)
506+ let bl = ac(this, f)
507+ let br = ac(this, w(i))
508+ let bs = (br + bl)
509+ let bJ = ac(this, w(bI))
510+ let bK = ac(this, h(bI))
511+ let bL = (bJ + bK)
512+ let bM = if ((bI >= 0))
515513 then true
516- else T("processVoteINTERNAL: invalid previous epoch")
517- if ((bN == bN))
514+ else S("processVoteINTERNAL: invalid previous epoch")
515+ if ((bM == bM))
518516 then {
519- let A = af(bH)
520- let bO = A
521- let C = bO._1
522- let D = bO._2
523- let bC = az(A)
524- let bz = {
525- let ac = invoke(this, "getUserGwxAmountAtHeight", [Q, bt], nil)
526- if ($isInstanceOf(ac, "Int"))
527- then ac
528- else throw(($getType(ac) + " couldn't be cast to Int"))
517+ let z = ae(bG)
518+ let bN = z
519+ let B = bN._1
520+ let C = bN._2
521+ let bB = ay(z)
522+ let by = {
523+ let ab = invoke(this, "getUserGwxAmountAtHeight", [P, bs], nil)
524+ if ($isInstanceOf(ab, "Int"))
525+ then ab
526+ else throw(($getType(ab) + " couldn't be cast to Int"))
529527 }
530- let bP = {
531- let ac = invoke(this, "getUserGwxAmountAtHeight", [Q, bM], nil)
532- if ($isInstanceOf(ac, "Int"))
533- then ac
534- else throw(($getType(ac) + " couldn't be cast to Int"))
528+ let bO = {
529+ let ab = invoke(this, "getUserGwxAmountAtHeight", [P, bL], nil)
530+ if ($isInstanceOf(ab, "Int"))
531+ then ab
532+ else throw(($getType(ab) + " couldn't be cast to Int"))
535533 }
536- let by = valueOrElse(getInteger(O(i)), 0)
537- let bQ = valueOrElse(getInteger(I(A, i)), 0)
538- let bR = valueOrErrorMessage(getInteger(G(A, bg, bJ)), R((((("processVoteINTERNAL " + bH) + " ") + Q) + ": no previous vote")))
539- let bv = valueOrElse(getInteger(this, E(bg, i)), 0)
540- let L = ao(C, D)
541- let bS = valueOrElse(getInteger(K(L, bJ)), 0)
542- let bl = addressFromStringValue(ab(this, p))
543- let bT = valueOrElse(getInteger(bl, P(L, Q)), 0)
544- let bU = if ((bT == 0))
534+ let bx = valueOrElse(getInteger(N(i)), 0)
535+ let bP = valueOrElse(getInteger(H(z, i)), 0)
536+ let bQ = valueOrErrorMessage(getInteger(F(z, bf, bI)), Q((((("processVoteINTERNAL " + bG) + " ") + P) + ": no previous vote")))
537+ let bu = valueOrElse(getInteger(this, D(bf, i)), 0)
538+ let K = an(B, C)
539+ let bR = valueOrElse(getInteger(J(K, bI)), 0)
540+ let bk = addressFromStringValue(aa(this, o))
541+ let bS = valueOrElse(getInteger(bk, O(K, P)), 0)
542+ let bT = if ((bS == 0))
545543 then nil
546- else [IntegerEntry(K(L, bJ), (bS + bR))]
547- let bB = if ((bP > 0))
548- then fraction(bR, bz, bP)
544+ else [IntegerEntry(J(K, bI), (bR + bQ))]
545+ let bA = if ((bO > 0))
546+ then fraction(bQ, by, bO)
549547 else 0
550- let bV = if (if ((bB > 0))
551- then bC
548+ let bU = if (if ((bA > 0))
549+ then bB
552550 else false)
553- then [IntegerEntry(G(A, bg, i), bB), IntegerEntry(O(i), (by + bB)), IntegerEntry(I(A, i), (bQ + bB)), IntegerEntry(E(bg, i), (bv + bB))]
554- else aU(aE(A), Q)
555- $Tuple2((bV ++ bU), unit)
551+ then [IntegerEntry(F(z, bf, i), bA), IntegerEntry(N(i), (bx + bA)), IntegerEntry(H(z, i), (bP + bA)), IntegerEntry(D(bf, i), (bu + bA))]
552+ else aT(aD(z), P)
553+ $Tuple2((bU ++ bT), unit)
556554 }
557555 else throw("Strict value is not equal to itself.")
558556 }
561559
562560
563561
564-@Callable(bc)
565-func processPoolINTERNAL (bH,bW) = {
566- let bI = bf(bc)
567- if ((bI == bI))
562+@Callable(bb)
563+func processPoolINTERNAL (bG,bV) = {
564+ let bH = be(bb)
565+ if ((bH == bH))
568566 then {
569- let bX = {
570- let bY = ad(this, j)
571- if (bW)
572- then bY
573- else (bY - 1)
567+ let bW = {
568+ let bX = ac(this, j)
569+ if (bV)
570+ then bX
571+ else (bX - 1)
574572 }
575- let bN = if ((bX >= 0))
573+ let bM = if ((bW >= 0))
576574 then true
577- else T("processPoolINTERNAL: invalid target epoch")
578- if ((bN == bN))
575+ else S("processPoolINTERNAL: invalid target epoch")
576+ if ((bM == bM))
579577 then {
580- let A = af(bH)
581- let bZ = A
582- let C = bZ._1
583- let D = bZ._2
584- let bl = addressFromStringValue(ab(this, p))
585- let ay = ao(C, D)
586- let ca = {
587- let ac = invoke(bl, "usersListTraversal", [ay], nil)
588- if ($isInstanceOf(ac, "Boolean"))
589- then ac
590- else throw(($getType(ac) + " couldn't be cast to Boolean"))
578+ let z = ae(bG)
579+ let bY = z
580+ let B = bY._1
581+ let C = bY._2
582+ let bk = addressFromStringValue(aa(this, o))
583+ let ax = an(B, C)
584+ let bZ = {
585+ let ab = invoke(bk, "usersListTraversal", [ax], nil)
586+ if ($isInstanceOf(ab, "Boolean"))
587+ then ab
588+ else throw(($getType(ab) + " couldn't be cast to Boolean"))
591589 }
592- if ((ca == ca))
593- then if (ca)
590+ if ((bZ == bZ))
591+ then if (bZ)
594592 then $Tuple2(nil, true)
595593 else {
596- let bC = az(A)
597- let by = valueOrElse(getInteger(this, O(bX)), 0)
598- let bQ = valueOrElse(getInteger(this, I(A, bX)), 0)
599- let cb = if (if ((by == 0))
594+ let bB = ay(z)
595+ let bx = valueOrElse(getInteger(this, N(bW)), 0)
596+ let bP = valueOrElse(getInteger(this, H(z, bW)), 0)
597+ let ca = if (if ((bx == 0))
600598 then true
601- else !(bC))
599+ else !(bB))
602600 then 0
603- else fraction(bQ, b, by)
604- let cc = invoke(ah, "modifyWeight", [ay, cb], nil)
605- if ((cc == cc))
601+ else fraction(bP, b, bx)
602+ let cb = invoke(ag, "modifyWeight", [ax, ca], nil)
603+ if ((cb == cb))
606604 then {
607- let cd = if (if (bC)
605+ let cc = if (if (bB)
608606 then true
609- else bW)
607+ else bV)
610608 then nil
611- else ([DeleteEntry(z(A))] ++ aU(aD, bH))
612- $Tuple2(([IntegerEntry(M(A, bX), cb)] ++ cd), false)
609+ else ([DeleteEntry(y(z))] ++ aT(aC, bG))
610+ $Tuple2(([IntegerEntry(L(z, bW), ca)] ++ cc), false)
613611 }
614612 else throw("Strict value is not equal to itself.")
615613 }
622620
623621
624622
625-@Callable(bc)
623+@Callable(bb)
626624 func finalizeHelper () = {
627- let bW = valueOrElse(getBoolean(w), false)
625+ let bV = valueOrElse(getBoolean(v), false)
628626 let i = valueOrElse(getInteger(this, j), 0)
629- let ce = (i - 1)
630- let bs = ad(this, x(i))
631- let bm = ad(this, f)
632- let bt = (bs + bm)
633- let bu = getInteger(this, q)
634- if (if (if ((height >= bt))
635- then (bu == unit)
627+ let cd = (i - 1)
628+ let br = ac(this, w(i))
629+ let bl = ac(this, f)
630+ let bs = (br + bl)
631+ let bt = getInteger(this, p)
632+ if (if (if ((height >= bs))
633+ then (bt == unit)
636634 else false)
637- then !(bW)
635+ then !(bV)
638636 else false)
639637 then {
640- let cf = (i + 1)
641- let cg = getInteger(this, g)
642- let ch = {
643- let Y = cg
644- if ($isInstanceOf(Y, "Int"))
638+ let ce = (i + 1)
639+ let cf = getInteger(this, g)
640+ let cg = {
641+ let X = cf
642+ if ($isInstanceOf(X, "Int"))
645643 then {
646- let bF = Y
647-[IntegerEntry(f, bF), DeleteEntry(g)]
644+ let bE = X
645+[IntegerEntry(f, bE), DeleteEntry(g)]
648646 }
649- else if ($isInstanceOf(Y, "Unit"))
647+ else if ($isInstanceOf(X, "Unit"))
650648 then nil
651649 else throw("Match error")
652650 }
653- $Tuple2(([IntegerEntry(x(cf), height), IntegerEntry(t, height), IntegerEntry(j, cf), IntegerEntry(q, d), IntegerEntry(h(i), bm)] ++ ch), true)
651+ $Tuple2(([IntegerEntry(w(ce), height), IntegerEntry(s, height), IntegerEntry(j, ce), IntegerEntry(p, d), IntegerEntry(h(i), bl)] ++ cg), true)
654652 }
655- else if (if (bW)
656- then (bu == unit)
653+ else if (if (bV)
654+ then (bt == unit)
657655 else false)
658- then $Tuple2([IntegerEntry(q, e)], true)
659- else if ((bu == unit))
656+ then $Tuple2([IntegerEntry(p, e)], true)
657+ else if ((bt == unit))
660658 then $Tuple2(nil, false)
661- else if ((bu == d))
659+ else if ((bt == d))
662660 then {
661+ let ch = getString(q)
663662 let ci = getString(r)
664- let cj = getString(s)
665- let Y = ci
666- if ($isInstanceOf(Y, "Unit"))
663+ let X = ch
664+ if ($isInstanceOf(X, "Unit"))
667665 then {
668- let ck = getString(aG(aD))
669- if ($isInstanceOf(ck, "Unit"))
670- then $Tuple2([IntegerEntry(q, e), DeleteEntry(r), DeleteEntry(s)], true)
671- else if ($isInstanceOf(ck, "String"))
666+ let cj = getString(aF(aC))
667+ if ($isInstanceOf(cj, "Unit"))
668+ then $Tuple2([IntegerEntry(p, e), DeleteEntry(q), DeleteEntry(r)], true)
669+ else if ($isInstanceOf(cj, "String"))
672670 then {
673- let cl = ck
674- $Tuple2([StringEntry(r, cl)], true)
671+ let ck = cj
672+ $Tuple2([StringEntry(q, ck)], true)
675673 }
676674 else throw("Match error")
677675 }
678- else if ($isInstanceOf(Y, "String"))
676+ else if ($isInstanceOf(X, "String"))
679677 then {
680- let bH = Y
681- let A = af(bH)
682- let cm = {
683- let ck = cj
684- if ($isInstanceOf(ck, "Unit"))
685- then getString(aG(aE(A)))
686- else if ($isInstanceOf(ck, "String"))
678+ let bG = X
679+ let z = ae(bG)
680+ let cl = {
681+ let cj = ci
682+ if ($isInstanceOf(cj, "Unit"))
683+ then getString(aF(aD(z)))
684+ else if ($isInstanceOf(cj, "String"))
687685 then {
688- let cn = ck
689- let co = getString(aM(aE(A), cn))
690- if ((co == co))
686+ let cm = cj
687+ let cn = getString(aL(aD(z), cm))
688+ if ((cn == cn))
691689 then {
692- let cp = invoke(this, "processVoteINTERNAL", [bH, cn], nil)
693- if ((cp == cp))
694- then co
690+ let co = invoke(this, "processVoteINTERNAL", [bG, cm], nil)
691+ if ((co == co))
692+ then cn
695693 else throw("Strict value is not equal to itself.")
696694 }
697695 else throw("Strict value is not equal to itself.")
698696 }
699697 else throw("Match error")
700698 }
701- let ck = cm
702- if ($isInstanceOf(ck, "Unit"))
699+ let cj = cl
700+ if ($isInstanceOf(cj, "Unit"))
703701 then {
704- let cq = getString(aM(aD, bH))
705- let cr = cq
706- if ($isInstanceOf(cr, "Unit"))
707- then $Tuple2([IntegerEntry(q, e), DeleteEntry(r), DeleteEntry(s)], true)
708- else if ($isInstanceOf(cr, "String"))
702+ let cp = getString(aL(aC, bG))
703+ let cq = cp
704+ if ($isInstanceOf(cq, "Unit"))
705+ then $Tuple2([IntegerEntry(p, e), DeleteEntry(q), DeleteEntry(r)], true)
706+ else if ($isInstanceOf(cq, "String"))
709707 then {
710- let aY = cr
711- $Tuple2([StringEntry(r, aY), DeleteEntry(s)], true)
708+ let aX = cq
709+ $Tuple2([StringEntry(q, aX), DeleteEntry(r)], true)
712710 }
713711 else throw("Match error")
714712 }
715- else if ($isInstanceOf(ck, "String"))
713+ else if ($isInstanceOf(cj, "String"))
716714 then {
717- let cs = ck
718- $Tuple2([StringEntry(s, cs)], true)
715+ let cr = cj
716+ $Tuple2([StringEntry(r, cr)], true)
719717 }
720718 else throw("Match error")
721719 }
722720 else throw("Match error")
723721 }
724- else if ((bu == e))
722+ else if ((bt == e))
725723 then {
726- let ci = getString(r)
727- let Y = ci
728- if ($isInstanceOf(Y, "Unit"))
724+ let ch = getString(q)
725+ let X = ch
726+ if ($isInstanceOf(X, "Unit"))
729727 then {
730- let ck = getString(aG(aD))
731- if ($isInstanceOf(ck, "Unit"))
728+ let cj = getString(aF(aC))
729+ if ($isInstanceOf(cj, "Unit"))
732730 then {
733- let bV = if (bW)
734- then [DeleteEntry(q), DeleteEntry(w)]
735- else [DeleteEntry(q), BooleanEntry(y(ce), true), IntegerEntry(u, i), IntegerEntry(v, bs)]
736- let ct = aB()
737- if ((ct == ct))
738- then $Tuple2(bV, true)
731+ let bU = if (bV)
732+ then [DeleteEntry(p), DeleteEntry(v)]
733+ else [DeleteEntry(p), BooleanEntry(x(cd), true), IntegerEntry(t, i), IntegerEntry(u, br)]
734+ let cs = aA()
735+ if ((cs == cs))
736+ then $Tuple2(bU, true)
739737 else throw("Strict value is not equal to itself.")
740738 }
741- else if ($isInstanceOf(ck, "String"))
739+ else if ($isInstanceOf(cj, "String"))
742740 then {
743- let cu = ck
744- $Tuple2([StringEntry(r, cu)], true)
741+ let ct = cj
742+ $Tuple2([StringEntry(q, ct)], true)
745743 }
746744 else throw("Match error")
747745 }
748- else if ($isInstanceOf(Y, "String"))
746+ else if ($isInstanceOf(X, "String"))
749747 then {
750- let bH = Y
751- let cq = getString(aM(aD, bH))
752- if ((cq == cq))
748+ let bG = X
749+ let cp = getString(aL(aC, bG))
750+ if ((cp == cp))
753751 then {
754- let ca = {
755- let ac = invoke(this, "processPoolINTERNAL", [bH, bW], nil)
756- if ($isInstanceOf(ac, "Boolean"))
757- then ac
758- else throw(($getType(ac) + " couldn't be cast to Boolean"))
752+ let bZ = {
753+ let ab = invoke(this, "processPoolINTERNAL", [bG, bV], nil)
754+ if ($isInstanceOf(ab, "Boolean"))
755+ then ab
756+ else throw(($getType(ab) + " couldn't be cast to Boolean"))
759757 }
760- if ((ca == ca))
761- then if (ca)
758+ if ((bZ == bZ))
759+ then if (bZ)
762760 then $Tuple2(nil, true)
763761 else {
764- let ck = cq
765- if ($isInstanceOf(ck, "Unit"))
762+ let cj = cp
763+ if ($isInstanceOf(cj, "Unit"))
766764 then {
767- let bV = if (bW)
768- then [DeleteEntry(q), DeleteEntry(w), DeleteEntry(r)]
769- else [DeleteEntry(q), BooleanEntry(y(ce), true), IntegerEntry(u, i), IntegerEntry(v, bs), DeleteEntry(r)]
770- let ct = aB()
771- if ((ct == ct))
772- then $Tuple2(bV, true)
765+ let bU = if (bV)
766+ then [DeleteEntry(p), DeleteEntry(v), DeleteEntry(q)]
767+ else [DeleteEntry(p), BooleanEntry(x(cd), true), IntegerEntry(t, i), IntegerEntry(u, br), DeleteEntry(q)]
768+ let cs = aA()
769+ if ((cs == cs))
770+ then $Tuple2(bU, true)
773771 else throw("Strict value is not equal to itself.")
774772 }
775- else if ($isInstanceOf(ck, "String"))
773+ else if ($isInstanceOf(cj, "String"))
776774 then {
777- let cu = ck
778- $Tuple2([StringEntry(r, cu)], true)
775+ let ct = cj
776+ $Tuple2([StringEntry(q, ct)], true)
779777 }
780778 else throw("Match error")
781779 }
785783 }
786784 else throw("Match error")
787785 }
788- else T("finalization is broken")
786+ else S("finalization is broken")
789787 }
790788
791789
792790
793-@Callable(bc)
794-func finalizeWrapper (cv) = {
795- let cw = addressFromStringValue(getStringValue(this, m))
796- let cx = {
797- let ac = invoke(this, "finalizeHelper", nil, nil)
798- if ($isInstanceOf(ac, "Boolean"))
799- then ac
800- else throw(($getType(ac) + " couldn't be cast to Boolean"))
791+@Callable(bb)
792+func finalizeWrapper (cu) = {
793+ let cv = {
794+ let ab = invoke(this, "finalizeHelper", nil, nil)
795+ if ($isInstanceOf(ab, "Boolean"))
796+ then ab
797+ else throw(($getType(ab) + " couldn't be cast to Boolean"))
801798 }
802- if ((cx == cx))
803- then if (!(cx))
804- then if ((cv == 0))
805- then T("Current voting is not over yet")
806- else {
807- let cy = invoke(cw, "finalize", nil, nil)
808- if ((cy == cy))
809- then $Tuple2(nil, unit)
810- else throw("Strict value is not equal to itself.")
811- }
799+ if ((cv == cv))
800+ then if (!(cv))
801+ then if ((cu == 0))
802+ then S("Current voting is not over yet")
803+ else $Tuple2(nil, unit)
812804 else {
813- let cz = valueOrElse(getInteger(this, k), c)
814- if ((cz > cv))
805+ let cw = valueOrElse(getInteger(this, k), c)
806+ if ((cw > cu))
815807 then {
816- let cy = invoke(this, "finalizeWrapper", [(cv + 1)], nil)
817- if ((cy == cy))
808+ let cx = invoke(this, "finalizeWrapper", [(cu + 1)], nil)
809+ if ((cx == cx))
818810 then $Tuple2(nil, unit)
819811 else throw("Strict value is not equal to itself.")
820812 }
825817
826818
827819
828-@Callable(bc)
820+@Callable(bb)
829821 func finalize () = {
830- let cy = invoke(this, "finalizeWrapper", [0], nil)
831- if ((cy == cy))
822+ let cx = invoke(this, "finalizeWrapper", [0], nil)
823+ if ((cx == cx))
832824 then $Tuple2(nil, unit)
833825 else throw("Strict value is not equal to itself.")
834826 }
835827
836828
837829
838-@Callable(bc)
839-func containsNodeREADONLY (aH,aL) = $Tuple2(nil, aN(aH, aL))
830+@Callable(bb)
831+func containsNodeREADONLY (aG,aK) = $Tuple2(nil, aM(aG, aK))
840832
841833
842834
843-@Callable(bc)
844-func insertNode (aH,aL) = {
845- let bI = be(bc)
846- if ((bI == bI))
847- then $Tuple2(aR(aH, aL), unit)
835+@Callable(bb)
836+func insertNode (aG,aK) = {
837+ let bH = bd(bb)
838+ if ((bH == bH))
839+ then $Tuple2(aQ(aG, aK), unit)
848840 else throw("Strict value is not equal to itself.")
849841 }
850842
851843
852844
853-@Callable(bc)
854-func deleteNode (aH,aL) = {
855- let bI = be(bc)
856- if ((bI == bI))
857- then $Tuple2(aU(aH, aL), unit)
845+@Callable(bb)
846+func deleteNode (aG,aK) = {
847+ let bH = bd(bb)
848+ if ((bH == bH))
849+ then $Tuple2(aT(aG, aK), unit)
858850 else throw("Strict value is not equal to itself.")
859851 }
860852
861853
862-
863-@Callable(bc)
864-func isFinalizationInProgress () = {
865- let bu = getInteger(this, q)
866- let cA = (bu != unit)
867- $Tuple2(nil, cA)
868- }
869-
870-
871-@Verifier(cB)
872-func cC () = {
873- let cD = {
874- let Y = aZ()
875- if ($isInstanceOf(Y, "ByteVector"))
854+@Verifier(cy)
855+func cz () = {
856+ let cA = {
857+ let X = aY()
858+ if ($isInstanceOf(X, "ByteVector"))
876859 then {
877- let bd = Y
878- bd
860+ let bc = X
861+ bc
879862 }
880- else if ($isInstanceOf(Y, "Unit"))
881- then cB.senderPublicKey
863+ else if ($isInstanceOf(X, "Unit"))
864+ then cy.senderPublicKey
882865 else throw("Match error")
883866 }
884- sigVerify(cB.bodyBytes, cB.proofs[0], cD)
867+ sigVerify(cy.bodyBytes, cy.proofs[0], cA)
885868 }
886869
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = 100000000
77
88 let c = 10
99
1010 let d = 0
1111
1212 let e = 1
1313
1414 let f = makeString(["%s", "epochLength"], a)
1515
1616 let g = makeString(["%s%s", "epochLength__new"], a)
1717
1818 func h (i) = makeString(["%s%d", "epochLength", toString(i)], a)
1919
2020
2121 let j = makeString(["%s", "currentEpoch"], a)
2222
2323 let k = makeString(["%s", "maxDepth"], a)
2424
2525 let l = makeString(["%s", "votingEmissionCandidateContract"], a)
2626
27-let m = makeString(["%s", "votingEmissionRateContract"], a)
27+let m = makeString(["%s", "factoryContract"], a)
2828
29-let n = makeString(["%s", "factoryContract"], a)
29+let n = makeString(["%s", "boostingContract"], a)
3030
31-let o = makeString(["%s", "boostingContract"], a)
31+let o = makeString(["%s", "stakingContract"], a)
3232
33-let p = makeString(["%s", "stakingContract"], a)
33+let p = makeString(["%s", "finalizationStage"], a)
3434
35-let q = makeString(["%s", "finalizationStage"], a)
35+let q = makeString(["%s", "nextPool"], a)
3636
37-let r = makeString(["%s", "nextPool"], a)
37+let r = makeString(["%s", "nextUser"], a)
3838
39-let s = makeString(["%s", "nextUser"], a)
39+let s = makeString(["%s", "startHeight"], a)
4040
41-let t = makeString(["%s", "startHeight"], a)
41+let t = makeString(["%s", "currentEpochUi"], a)
4242
43-let u = makeString(["%s", "currentEpochUi"], a)
43+let u = makeString(["%s", "startHeightUi"], a)
4444
45-let v = makeString(["%s", "startHeightUi"], a)
45+let v = makeString(["%s", "force"], a)
4646
47-let w = makeString(["%s", "force"], a)
48-
49-func x (i) = makeString(["%s%d", "startHeight", toString(i)], a)
47+func w (i) = makeString(["%s%d", "startHeight", toString(i)], a)
5048
5149
52-func y (i) = makeString(["%s%d", "finalized", toString(i)], a)
50+func x (i) = makeString(["%s%d", "finalized", toString(i)], a)
5351
5452
55-func z (A) = {
56- let B = A
57- let C = B._1
58- let D = B._2
59- makeString(["%s%s%s", "inList", C, D], a)
53+func y (z) = {
54+ let A = z
55+ let B = A._1
56+ let C = A._2
57+ makeString(["%s%s%s", "inList", B, C], a)
6058 }
6159
6260
63-func E (F,i) = makeString(["%s%s%d", "used", toString(F), toString(i)], a)
61+func D (E,i) = makeString(["%s%s%d", "used", toString(E), toString(i)], a)
6462
6563
66-func G (A,F,i) = {
67- let H = A
68- let C = H._1
69- let D = H._2
70- makeString(["%s%s%s%s%d", "vote", C, D, toString(F), toString(i)], a)
64+func F (z,E,i) = {
65+ let G = z
66+ let B = G._1
67+ let C = G._2
68+ makeString(["%s%s%s%s%d", "vote", B, C, toString(E), toString(i)], a)
7169 }
7270
7371
74-func I (A,i) = {
75- let J = A
76- let C = J._1
77- let D = J._2
78- makeString(["%s%s%s%d", "votingResult", C, D, toString(i)], a)
72+func H (z,i) = {
73+ let I = z
74+ let B = I._1
75+ let C = I._2
76+ makeString(["%s%s%s%d", "votingResult", B, C, toString(i)], a)
7977 }
8078
8179
82-func K (L,i) = makeString(["%s%s%d", "votingResultStaked", L, toString(i)], a)
80+func J (K,i) = makeString(["%s%s%d", "votingResultStaked", K, toString(i)], a)
8381
8482
85-func M (A,i) = {
86- let N = A
87- let C = N._1
88- let D = N._2
89- makeString(["%s%s%s%d", "poolShare", C, D, toString(i)], a)
83+func L (z,i) = {
84+ let M = z
85+ let B = M._1
86+ let C = M._2
87+ makeString(["%s%s%s%d", "poolShare", B, C, toString(i)], a)
9088 }
9189
9290
93-func O (i) = makeString(["%s%d", "totalVotes", toString(i)], a)
91+func N (i) = makeString(["%s%d", "totalVotes", toString(i)], a)
9492
9593
96-func P (L,Q) = makeString(["%s%s%s", "staked", Q, L], a)
94+func O (K,P) = makeString(["%s%s%s", "staked", P, K], a)
9795
9896
99-func R (S) = makeString(["voting_emission.ride:", S], " ")
97+func Q (R) = makeString(["voting_emission.ride:", R], " ")
10098
10199
102-func T (S) = throw(R(S))
100+func S (R) = throw(Q(R))
103101
104102
105-func U (F,V,W) = {
106- let X = R(makeString(["mandatory ", toString(F), ".", V, " is not defined"], ""))
103+func T (E,U,V) = {
104+ let W = Q(makeString(["mandatory ", toString(E), ".", U, " is not defined"], ""))
107105 valueOrErrorMessage({
108- let Y = W
109- if ($isInstanceOf(Y, "String"))
106+ let X = V
107+ if ($isInstanceOf(X, "String"))
110108 then {
111- let Z = Y
112- getString(F, V)
109+ let Y = X
110+ getString(E, U)
113111 }
114- else if ($isInstanceOf(Y, "Int"))
112+ else if ($isInstanceOf(X, "Int"))
115113 then {
116- let aa = Y
117- getInteger(F, V)
114+ let Z = X
115+ getInteger(E, U)
118116 }
119- else T("invalid entry type")
120- }, X)
117+ else S("invalid entry type")
118+ }, W)
121119 }
122120
123121
124-func ab (F,V) = {
125- let ac = U(F, V, "")
126- if ($isInstanceOf(ac, "String"))
127- then ac
128- else throw(($getType(ac) + " couldn't be cast to String"))
122+func aa (E,U) = {
123+ let ab = T(E, U, "")
124+ if ($isInstanceOf(ab, "String"))
125+ then ab
126+ else throw(($getType(ab) + " couldn't be cast to String"))
129127 }
130128
131129
132-func ad (F,V) = {
133- let ac = U(F, V, 0)
134- if ($isInstanceOf(ac, "Int"))
135- then ac
136- else throw(($getType(ac) + " couldn't be cast to Int"))
130+func ac (E,U) = {
131+ let ab = T(E, U, 0)
132+ if ($isInstanceOf(ab, "Int"))
133+ then ab
134+ else throw(($getType(ab) + " couldn't be cast to Int"))
137135 }
138136
139137
140-func ae (A) = ((A._1 + a) + A._2)
138+func ad (z) = ((z._1 + a) + z._2)
141139
142140
143-func af (Z) = {
144- let ag = split(Z, a)
145- if ((size(ag) == 2))
146- then $Tuple2(ag[0], ag[1])
147- else T("invalid pool string")
141+func ae (Y) = {
142+ let af = split(Y, a)
143+ if ((size(af) == 2))
144+ then $Tuple2(af[0], af[1])
145+ else S("invalid pool string")
148146 }
149147
150148
151-let ah = addressFromStringValue(ab(this, n))
149+let ag = addressFromStringValue(aa(this, m))
152150
153-let ai = 10
151+let ah = 10
154152
155-func aj () = "%s__factoryConfig"
153+func ai () = "%s__factoryConfig"
156154
157155
158-func ak (al) = split(ab(al, aj()), a)
156+func aj (ak) = split(aa(ak, ai()), a)
159157
160158
161-func am (an) = addressFromStringValue(an[ai])
159+func al (am) = addressFromStringValue(am[ah])
162160
163161
164-func ao (C,D) = {
165- func ap (aq) = ("%s%s%s__mappings__baseAsset2internalId__" + aq)
162+func an (B,C) = {
163+ func ao (ap) = ("%s%s%s__mappings__baseAsset2internalId__" + ap)
166164
167- func ar (as,at) = (((("%d%d%s%s__" + toString(as)) + "__") + toString(at)) + "__mappings__poolAssets2PoolContract")
165+ func aq (ar,as) = (((("%d%d%s%s__" + toString(ar)) + "__") + toString(as)) + "__mappings__poolAssets2PoolContract")
168166
169- func au (av) = (("%s%s%s__" + av) + "__mappings__poolContract2LpAsset")
167+ func at (au) = (("%s%s%s__" + au) + "__mappings__poolContract2LpAsset")
170168
171- let aw = ad(ah, ap(C))
172- let ax = ad(ah, ap(D))
173- let av = ab(ah, ar(aw, ax))
174- let ay = ab(ah, au(av))
175- ay
169+ let av = ac(ag, ao(B))
170+ let aw = ac(ag, ao(C))
171+ let au = aa(ag, aq(av, aw))
172+ let ax = aa(ag, at(au))
173+ ax
176174 }
177175
178176
179-func az (A) = {
180- let aA = A
181- let C = aA._1
182- let D = aA._2
183- let ac = invoke(ah, "checkWxEmissionPoolLabel", [C, D], nil)
184- if ($isInstanceOf(ac, "Boolean"))
185- then ac
186- else throw(($getType(ac) + " couldn't be cast to Boolean"))
177+func ay (z) = {
178+ let az = z
179+ let B = az._1
180+ let C = az._2
181+ let ab = invoke(ag, "checkWxEmissionPoolLabel", [B, C], nil)
182+ if ($isInstanceOf(ab, "Boolean"))
183+ then ab
184+ else throw(($getType(ab) + " couldn't be cast to Boolean"))
187185 }
188186
189187
190-func aB () = {
191- let an = ak(ah)
192- let aC = am(an)
193- invoke(aC, "deposit", nil, nil)
188+func aA () = {
189+ let am = aj(ag)
190+ let aB = al(am)
191+ invoke(aB, "deposit", nil, nil)
194192 }
195193
196194
197-let aD = "pools"
195+let aC = "pools"
198196
199-func aE (A) = {
200- let aF = A
201- let C = aF._1
202- let D = aF._2
203- makeString(["votes", C, D], a)
197+func aD (z) = {
198+ let aE = z
199+ let B = aE._1
200+ let C = aE._2
201+ makeString(["votes", B, C], a)
204202 }
205203
206204
207-func aG (aH) = {
208- let aI = if ((aH == aD))
205+func aF (aG) = {
206+ let aH = if ((aG == aC))
209207 then "%s%s"
210208 else "%s%s%s%s"
211- makeString([aI, aH, "head"], a)
209+ makeString([aH, aG, "head"], a)
212210 }
213211
214212
215-func aJ (aH) = {
216- let aI = if ((aH == aD))
213+func aI (aG) = {
214+ let aH = if ((aG == aC))
217215 then "%s%s"
218216 else "%s%s%s%s"
219- makeString([aI, aH, "size"], a)
217+ makeString([aH, aG, "size"], a)
220218 }
221219
222220
223-func aK (aH,aL) = {
224- let aI = if ((aH == aD))
221+func aJ (aG,aK) = {
222+ let aH = if ((aG == aC))
225223 then "%s%s%s%s"
226224 else "%s%s%s%s%s"
227- makeString([aI, aH, aL, "prev"], a)
225+ makeString([aH, aG, aK, "prev"], a)
228226 }
229227
230228
231-func aM (aH,aL) = {
232- let aI = if ((aH == aD))
229+func aL (aG,aK) = {
230+ let aH = if ((aG == aC))
233231 then "%s%s%s%s"
234232 else "%s%s%s%s%s"
235- makeString([aI, aH, aL, "next"], a)
233+ makeString([aH, aG, aK, "next"], a)
236234 }
237235
238236
239-func aN (aH,aL) = {
240- let aO = getString(this, aG(aH))
241- let aP = getString(this, aK(aH, aL))
242- let aQ = getString(this, aM(aH, aL))
243- if (if ((aL == valueOrElse(aO, "")))
237+func aM (aG,aK) = {
238+ let aN = getString(this, aF(aG))
239+ let aO = getString(this, aJ(aG, aK))
240+ let aP = getString(this, aL(aG, aK))
241+ if (if ((aK == valueOrElse(aN, "")))
244242 then true
245- else (aP != unit))
243+ else (aO != unit))
246244 then true
247- else (aQ != unit)
245+ else (aP != unit)
248246 }
249247
250248
251-func aR (aH,aL) = {
252- let aO = getString(this, aG(aH))
253- let aS = valueOrElse(getInteger(this, aJ(aH)), 0)
254- let aT = if (!(aN(aH, aL)))
249+func aQ (aG,aK) = {
250+ let aN = getString(this, aF(aG))
251+ let aR = valueOrElse(getInteger(this, aI(aG)), 0)
252+ let aS = if (!(aM(aG, aK)))
255253 then true
256- else T("Node exists")
257- if ((aT == aT))
258- then (([IntegerEntry(aJ(aH), (aS + 1))] ++ (if ((aO != unit))
259- then [StringEntry(aM(aH, aL), value(aO)), StringEntry(aK(aH, value(aO)), aL)]
260- else nil)) ++ [StringEntry(aG(aH), aL)])
254+ else S("Node exists")
255+ if ((aS == aS))
256+ then (([IntegerEntry(aI(aG), (aR + 1))] ++ (if ((aN != unit))
257+ then [StringEntry(aL(aG, aK), value(aN)), StringEntry(aJ(aG, value(aN)), aK)]
258+ else nil)) ++ [StringEntry(aF(aG), aK)])
261259 else throw("Strict value is not equal to itself.")
262260 }
263261
264262
265-func aU (aH,aL) = {
266- let aO = getString(this, aG(aH))
267- let aS = valueOrElse(getInteger(this, aJ(aH)), 0)
268- let aP = getString(this, aK(aH, aL))
269- let aQ = getString(this, aM(aH, aL))
270- ([IntegerEntry(aJ(aH), (aS - 1))] ++ (if (if ((aP != unit))
271- then (aQ != unit)
263+func aT (aG,aK) = {
264+ let aN = getString(this, aF(aG))
265+ let aR = valueOrElse(getInteger(this, aI(aG)), 0)
266+ let aO = getString(this, aJ(aG, aK))
267+ let aP = getString(this, aL(aG, aK))
268+ ([IntegerEntry(aI(aG), (aR - 1))] ++ (if (if ((aO != unit))
269+ then (aP != unit)
272270 else false)
273- then [StringEntry(aM(aH, value(aP)), value(aQ)), StringEntry(aK(aH, value(aQ)), value(aP)), DeleteEntry(aK(aH, aL)), DeleteEntry(aM(aH, aL))]
274- else if ((aQ != unit))
275- then [StringEntry(aG(aH), value(aQ)), DeleteEntry(aM(aH, aL)), DeleteEntry(aK(aH, value(aQ)))]
276- else if ((aP != unit))
277- then [DeleteEntry(aK(aH, aL)), DeleteEntry(aM(aH, value(aP)))]
278- else if ((aL == valueOrElse(aO, "")))
279- then [DeleteEntry(aG(aH))]
280- else T(((("invalid node: " + aH) + ".") + aL))))
271+ then [StringEntry(aL(aG, value(aO)), value(aP)), StringEntry(aJ(aG, value(aP)), value(aO)), DeleteEntry(aJ(aG, aK)), DeleteEntry(aL(aG, aK))]
272+ else if ((aP != unit))
273+ then [StringEntry(aF(aG), value(aP)), DeleteEntry(aL(aG, aK)), DeleteEntry(aJ(aG, value(aP)))]
274+ else if ((aO != unit))
275+ then [DeleteEntry(aJ(aG, aK)), DeleteEntry(aL(aG, value(aO)))]
276+ else if ((aK == valueOrElse(aN, "")))
277+ then [DeleteEntry(aF(aG))]
278+ else S(((("invalid node: " + aG) + ".") + aK))))
281279 }
282280
283281
284-func aV () = "%s__managerVaultAddress"
282+func aU () = "%s__managerVaultAddress"
285283
286284
287-func aW () = "%s__managerPublicKey"
285+func aV () = "%s__managerPublicKey"
288286
289287
290-func aX () = {
291- let Y = getString(aV())
292- if ($isInstanceOf(Y, "String"))
288+func aW () = {
289+ let X = getString(aU())
290+ if ($isInstanceOf(X, "String"))
293291 then {
294- let aY = Y
295- addressFromStringValue(aY)
292+ let aX = X
293+ addressFromStringValue(aX)
296294 }
297295 else this
298296 }
299297
300298
301-func aZ () = {
302- let ba = aX()
303- let Y = getString(ba, aW())
304- if ($isInstanceOf(Y, "String"))
299+func aY () = {
300+ let aZ = aW()
301+ let X = getString(aZ, aV())
302+ if ($isInstanceOf(X, "String"))
305303 then {
306- let aY = Y
307- fromBase58String(aY)
304+ let aX = X
305+ fromBase58String(aX)
308306 }
309- else if ($isInstanceOf(Y, "Unit"))
307+ else if ($isInstanceOf(X, "Unit"))
310308 then unit
311309 else throw("Match error")
312310 }
313311
314312
315-func bb (bc) = {
316- let Y = aZ()
317- if ($isInstanceOf(Y, "ByteVector"))
313+func ba (bb) = {
314+ let X = aY()
315+ if ($isInstanceOf(X, "ByteVector"))
318316 then {
319- let bd = Y
320- (bc.callerPublicKey == bd)
317+ let bc = X
318+ (bb.callerPublicKey == bc)
321319 }
322- else if ($isInstanceOf(Y, "Unit"))
323- then (bc.caller == this)
320+ else if ($isInstanceOf(X, "Unit"))
321+ then (bb.caller == this)
324322 else throw("Match error")
325323 }
326324
327325
328-func be (bc) = if (bb(bc))
326+func bd (bb) = if (ba(bb))
329327 then true
330328 else throw("permission denied")
331329
332330
333-func bf (bc) = if ((bc.caller == this))
331+func be (bb) = if ((bb.caller == this))
334332 then true
335333 else throw("permission denied")
336334
337335
338-@Callable(bc)
339-func getUserGwxAmountAtHeight (bg,bh) = {
340- let bi = valueOrErrorMessage(addressFromString(ab(this, o)), R("invalid boosting contract address"))
336+@Callable(bb)
337+func getUserGwxAmountAtHeight (bf,bg) = {
338+ let bh = valueOrErrorMessage(addressFromString(aa(this, n)), Q("invalid boosting contract address"))
341339 $Tuple2(nil, {
342- let ac = invoke(bi, "getUserGwxAmountAtHeightREADONLY", [bg, bh], nil)
343- if ($isInstanceOf(ac, "Int"))
344- then ac
345- else throw(($getType(ac) + " couldn't be cast to Int"))
340+ let ab = invoke(bh, "getUserGwxAmountAtHeightREADONLY", [bf, bg], nil)
341+ if ($isInstanceOf(ab, "Int"))
342+ then ab
343+ else throw(($getType(ab) + " couldn't be cast to Int"))
346344 })
347345 }
348346
349347
350348
351-@Callable(bc)
352-func constructor (ah,bj,bk,bl,bm) = {
353- let bn = [be(bc), if ((addressFromString(ah) != unit))
349+@Callable(bb)
350+func constructor (ag,bi,bj,bk,bl) = {
351+ let bm = [bd(bb), if ((addressFromString(ag) != unit))
354352 then true
355- else "invalid factory contract address", if ((addressFromString(bj) != unit))
353+ else "invalid factory contract address", if ((addressFromString(bi) != unit))
356354 then true
357- else "invalid voting emission candidate contract address", if ((addressFromString(bk) != unit))
355+ else "invalid voting emission candidate contract address", if ((addressFromString(bj) != unit))
358356 then true
359- else "invalid boosting contract address", if ((addressFromString(bl) != unit))
357+ else "invalid boosting contract address", if ((addressFromString(bk) != unit))
360358 then true
361- else "invalid staking contract address", if ((bm > 0))
359+ else "invalid staking contract address", if ((bl > 0))
362360 then true
363- else T("invalid epoch length")]
364- if ((bn == bn))
365- then $Tuple2([StringEntry(n, ah), StringEntry(l, bj), StringEntry(o, bk), StringEntry(p, bl), IntegerEntry(f, bm)], unit)
361+ else S("invalid epoch length")]
362+ if ((bm == bm))
363+ then $Tuple2([StringEntry(m, ag), StringEntry(l, bi), StringEntry(n, bj), StringEntry(o, bk), IntegerEntry(f, bl)], unit)
366364 else throw("Strict value is not equal to itself.")
367365 }
368366
369367
370368
371-@Callable(bc)
372-func create (C,D) = {
373- let bn = [if ((toBase58String(bc.caller.bytes) == valueOrElse(getString(this, l), "")))
369+@Callable(bb)
370+func create (B,C) = {
371+ let bm = [if ((toBase58String(bb.caller.bytes) == valueOrElse(getString(this, l), "")))
374372 then true
375- else be(bc)]
376- if ((bn == bn))
373+ else bd(bb)]
374+ if ((bm == bm))
377375 then {
378- let A = $Tuple2(C, D)
379- let bo = ([BooleanEntry(z(A), true)] ++ aR(aD, ae(A)))
380- let bp = (getInteger(this, j) == unit)
381- let bq = if (bp)
376+ let z = $Tuple2(B, C)
377+ let bn = ([BooleanEntry(y(z), true)] ++ aQ(aC, ad(z)))
378+ let bo = (getInteger(this, j) == unit)
379+ let bp = if (bo)
382380 then {
383381 let i = 0
384-[IntegerEntry(j, i), IntegerEntry(x(i), height), IntegerEntry(t, height), IntegerEntry(u, i), IntegerEntry(v, height)]
382+[IntegerEntry(j, i), IntegerEntry(w(i), height), IntegerEntry(s, height), IntegerEntry(t, i), IntegerEntry(u, height)]
385383 }
386384 else nil
387- $Tuple2((bo ++ bq), unit)
385+ $Tuple2((bn ++ bp), unit)
388386 }
389387 else throw("Strict value is not equal to itself.")
390388 }
391389
392390
393391
394-@Callable(bc)
395-func vote (C,D,br) = {
396- let A = $Tuple2(C, D)
392+@Callable(bb)
393+func vote (B,C,bq) = {
394+ let z = $Tuple2(B, C)
397395 let i = valueOrElse(getInteger(this, j), 0)
398- let bs = ad(this, x(i))
399- let bm = ad(this, f)
400- let bt = (bs + bm)
401- let bu = getInteger(this, q)
402- let bv = valueOrElse(getInteger(this, E(bc.caller, i)), 0)
403- let bw = valueOrElse(getInteger(this, G(A, bc.caller, i)), 0)
404- let bx = valueOrElse(getInteger(this, I(A, i)), 0)
405- let by = valueOrElse(getInteger(this, O(i)), 0)
406- let bz = {
407- let ac = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(bc.caller.bytes), bt], nil)
408- if ($isInstanceOf(ac, "Int"))
409- then ac
410- else throw(($getType(ac) + " couldn't be cast to Int"))
396+ let br = ac(this, w(i))
397+ let bl = ac(this, f)
398+ let bs = (br + bl)
399+ let bt = getInteger(this, p)
400+ let bu = valueOrElse(getInteger(this, D(bb.caller, i)), 0)
401+ let bv = valueOrElse(getInteger(this, F(z, bb.caller, i)), 0)
402+ let bw = valueOrElse(getInteger(this, H(z, i)), 0)
403+ let bx = valueOrElse(getInteger(this, N(i)), 0)
404+ let by = {
405+ let ab = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(bb.caller.bytes), bs], nil)
406+ if ($isInstanceOf(ab, "Int"))
407+ then ab
408+ else throw(($getType(ab) + " couldn't be cast to Int"))
411409 }
412- let bA = (bz - bv)
413- let bB = (bw + br)
414- let bC = az(A)
415- let bn = [if ((getBoolean(z(A)) != unit))
410+ let bz = (by - bu)
411+ let bA = (bv + bq)
412+ let bB = ay(z)
413+ let bm = [if ((getBoolean(y(z)) != unit))
416414 then true
417- else T("invalid assets"), if ((bt > height))
415+ else S("invalid assets"), if ((bs > height))
418416 then true
419- else T("invalid height"), if ((bu == unit))
417+ else S("invalid height"), if ((bt == unit))
420418 then true
421- else T("finalization in progress"), if ((bz > 0))
419+ else S("finalization in progress"), if ((by > 0))
422420 then true
423- else T("you do not have gWX"), if (if ((br > 0))
424- then (bA >= br)
421+ else S("you do not have gWX"), if (if ((bq > 0))
422+ then (bz >= bq)
425423 else false)
426424 then true
427- else T("invalid amount"), if (bC)
425+ else S("invalid amount"), if (bB)
428426 then true
429- else T("pool hasn't WX_EMISSION label")]
430- if ((bn == bn))
427+ else S("pool hasn't WX_EMISSION label")]
428+ if ((bm == bm))
431429 then {
432- let bD = aE(A)
433- let Q = toString(bc.caller)
434- let bE = if (aN(bD, Q))
430+ let bC = aD(z)
431+ let P = toString(bb.caller)
432+ let bD = if (aM(bC, P))
435433 then nil
436- else aR(bD, Q)
437- $Tuple2(([IntegerEntry(E(bc.caller, i), (bv + br)), IntegerEntry(G(A, bc.caller, i), bB), IntegerEntry(I(A, i), (bx + br)), IntegerEntry(O(i), (by + br))] ++ bE), unit)
434+ else aQ(bC, P)
435+ $Tuple2(([IntegerEntry(D(bb.caller, i), (bu + bq)), IntegerEntry(F(z, bb.caller, i), bA), IntegerEntry(H(z, i), (bw + bq)), IntegerEntry(N(i), (bx + bq))] ++ bD), unit)
438436 }
439437 else throw("Strict value is not equal to itself.")
440438 }
441439
442440
443441
444-@Callable(bc)
445-func cancelVote (C,D) = {
446- let A = $Tuple2(C, D)
442+@Callable(bb)
443+func cancelVote (B,C) = {
444+ let z = $Tuple2(B, C)
447445 let i = valueOrElse(getInteger(this, j), 0)
448- let bs = ad(this, x(i))
449- let bm = ad(this, f)
450- let bt = (bs + bm)
451- let bu = getInteger(this, q)
452- let bv = valueOrElse(getInteger(this, E(bc.caller, i)), 0)
453- let bw = valueOrElse(getInteger(this, G(A, bc.caller, i)), 0)
454- let bx = valueOrElse(getInteger(this, I(A, i)), 0)
455- let by = valueOrElse(getInteger(this, O(i)), 0)
456- let bn = [if ((getBoolean(z(A)) != unit))
446+ let br = ac(this, w(i))
447+ let bl = ac(this, f)
448+ let bs = (br + bl)
449+ let bt = getInteger(this, p)
450+ let bu = valueOrElse(getInteger(this, D(bb.caller, i)), 0)
451+ let bv = valueOrElse(getInteger(this, F(z, bb.caller, i)), 0)
452+ let bw = valueOrElse(getInteger(this, H(z, i)), 0)
453+ let bx = valueOrElse(getInteger(this, N(i)), 0)
454+ let bm = [if ((getBoolean(y(z)) != unit))
457455 then true
458- else T("invalid assets"), if ((bt > height))
456+ else S("invalid assets"), if ((bs > height))
459457 then true
460- else T("invalid height"), if ((bu == unit))
458+ else S("invalid height"), if ((bt == unit))
461459 then true
462- else T("finalization in progress"), if ((bw > 0))
460+ else S("finalization in progress"), if ((bv > 0))
463461 then true
464- else T("no vote")]
465- if ((bn == bn))
462+ else S("no vote")]
463+ if ((bm == bm))
466464 then {
467- let bD = aE(A)
468- let Q = toString(bc.caller)
469- $Tuple2(([IntegerEntry(E(bc.caller, i), max([(bv - bw), 0])), DeleteEntry(G(A, bc.caller, i)), IntegerEntry(I(A, i), (bx - bw)), IntegerEntry(O(i), (by - bw))] ++ aU(bD, Q)), unit)
465+ let bC = aD(z)
466+ let P = toString(bb.caller)
467+ $Tuple2(([IntegerEntry(D(bb.caller, i), max([(bu - bv), 0])), DeleteEntry(F(z, bb.caller, i)), IntegerEntry(H(z, i), (bw - bv)), IntegerEntry(N(i), (bx - bv))] ++ aT(bC, P)), unit)
470468 }
471469 else throw("Strict value is not equal to itself.")
472470 }
473471
474472
475473
476-@Callable(bc)
477-func setEpochLength (bF) = {
478- let bn = [be(bc), if ((bF > 0))
474+@Callable(bb)
475+func setEpochLength (bE) = {
476+ let bm = [bd(bb), if ((bE > 0))
479477 then true
480- else T("invalid epoch length")]
481- if ((bn == bn))
482- then $Tuple2([IntegerEntry(g, bF)], unit)
478+ else S("invalid epoch length")]
479+ if ((bm == bm))
480+ then $Tuple2([IntegerEntry(g, bE)], unit)
483481 else throw("Strict value is not equal to itself.")
484482 }
485483
486484
487485
488-@Callable(bc)
489-func setMaxDepth (bG) = {
490- let bn = [be(bc), if ((bG > 0))
486+@Callable(bb)
487+func setMaxDepth (bF) = {
488+ let bm = [bd(bb), if ((bF > 0))
491489 then true
492- else T("invalid max depth")]
493- if ((bn == bn))
494- then $Tuple2([IntegerEntry(k, bG)], unit)
490+ else S("invalid max depth")]
491+ if ((bm == bm))
492+ then $Tuple2([IntegerEntry(k, bF)], unit)
495493 else throw("Strict value is not equal to itself.")
496494 }
497495
498496
499497
500-@Callable(bc)
501-func processVoteINTERNAL (bH,Q) = {
502- let bI = bf(bc)
503- if ((bI == bI))
498+@Callable(bb)
499+func processVoteINTERNAL (bG,P) = {
500+ let bH = be(bb)
501+ if ((bH == bH))
504502 then {
505- let bg = valueOrErrorMessage(addressFromString(Q), R(("processVoteINTERNAL: invalid user address " + Q)))
506- let i = ad(this, j)
507- let bJ = (i - 1)
508- let bm = ad(this, f)
509- let bs = ad(this, x(i))
510- let bt = (bs + bm)
511- let bK = ad(this, x(bJ))
512- let bL = ad(this, h(bJ))
513- let bM = (bK + bL)
514- let bN = if ((bJ >= 0))
503+ let bf = valueOrErrorMessage(addressFromString(P), Q(("processVoteINTERNAL: invalid user address " + P)))
504+ let i = ac(this, j)
505+ let bI = (i - 1)
506+ let bl = ac(this, f)
507+ let br = ac(this, w(i))
508+ let bs = (br + bl)
509+ let bJ = ac(this, w(bI))
510+ let bK = ac(this, h(bI))
511+ let bL = (bJ + bK)
512+ let bM = if ((bI >= 0))
515513 then true
516- else T("processVoteINTERNAL: invalid previous epoch")
517- if ((bN == bN))
514+ else S("processVoteINTERNAL: invalid previous epoch")
515+ if ((bM == bM))
518516 then {
519- let A = af(bH)
520- let bO = A
521- let C = bO._1
522- let D = bO._2
523- let bC = az(A)
524- let bz = {
525- let ac = invoke(this, "getUserGwxAmountAtHeight", [Q, bt], nil)
526- if ($isInstanceOf(ac, "Int"))
527- then ac
528- else throw(($getType(ac) + " couldn't be cast to Int"))
517+ let z = ae(bG)
518+ let bN = z
519+ let B = bN._1
520+ let C = bN._2
521+ let bB = ay(z)
522+ let by = {
523+ let ab = invoke(this, "getUserGwxAmountAtHeight", [P, bs], nil)
524+ if ($isInstanceOf(ab, "Int"))
525+ then ab
526+ else throw(($getType(ab) + " couldn't be cast to Int"))
529527 }
530- let bP = {
531- let ac = invoke(this, "getUserGwxAmountAtHeight", [Q, bM], nil)
532- if ($isInstanceOf(ac, "Int"))
533- then ac
534- else throw(($getType(ac) + " couldn't be cast to Int"))
528+ let bO = {
529+ let ab = invoke(this, "getUserGwxAmountAtHeight", [P, bL], nil)
530+ if ($isInstanceOf(ab, "Int"))
531+ then ab
532+ else throw(($getType(ab) + " couldn't be cast to Int"))
535533 }
536- let by = valueOrElse(getInteger(O(i)), 0)
537- let bQ = valueOrElse(getInteger(I(A, i)), 0)
538- let bR = valueOrErrorMessage(getInteger(G(A, bg, bJ)), R((((("processVoteINTERNAL " + bH) + " ") + Q) + ": no previous vote")))
539- let bv = valueOrElse(getInteger(this, E(bg, i)), 0)
540- let L = ao(C, D)
541- let bS = valueOrElse(getInteger(K(L, bJ)), 0)
542- let bl = addressFromStringValue(ab(this, p))
543- let bT = valueOrElse(getInteger(bl, P(L, Q)), 0)
544- let bU = if ((bT == 0))
534+ let bx = valueOrElse(getInteger(N(i)), 0)
535+ let bP = valueOrElse(getInteger(H(z, i)), 0)
536+ let bQ = valueOrErrorMessage(getInteger(F(z, bf, bI)), Q((((("processVoteINTERNAL " + bG) + " ") + P) + ": no previous vote")))
537+ let bu = valueOrElse(getInteger(this, D(bf, i)), 0)
538+ let K = an(B, C)
539+ let bR = valueOrElse(getInteger(J(K, bI)), 0)
540+ let bk = addressFromStringValue(aa(this, o))
541+ let bS = valueOrElse(getInteger(bk, O(K, P)), 0)
542+ let bT = if ((bS == 0))
545543 then nil
546- else [IntegerEntry(K(L, bJ), (bS + bR))]
547- let bB = if ((bP > 0))
548- then fraction(bR, bz, bP)
544+ else [IntegerEntry(J(K, bI), (bR + bQ))]
545+ let bA = if ((bO > 0))
546+ then fraction(bQ, by, bO)
549547 else 0
550- let bV = if (if ((bB > 0))
551- then bC
548+ let bU = if (if ((bA > 0))
549+ then bB
552550 else false)
553- then [IntegerEntry(G(A, bg, i), bB), IntegerEntry(O(i), (by + bB)), IntegerEntry(I(A, i), (bQ + bB)), IntegerEntry(E(bg, i), (bv + bB))]
554- else aU(aE(A), Q)
555- $Tuple2((bV ++ bU), unit)
551+ then [IntegerEntry(F(z, bf, i), bA), IntegerEntry(N(i), (bx + bA)), IntegerEntry(H(z, i), (bP + bA)), IntegerEntry(D(bf, i), (bu + bA))]
552+ else aT(aD(z), P)
553+ $Tuple2((bU ++ bT), unit)
556554 }
557555 else throw("Strict value is not equal to itself.")
558556 }
559557 else throw("Strict value is not equal to itself.")
560558 }
561559
562560
563561
564-@Callable(bc)
565-func processPoolINTERNAL (bH,bW) = {
566- let bI = bf(bc)
567- if ((bI == bI))
562+@Callable(bb)
563+func processPoolINTERNAL (bG,bV) = {
564+ let bH = be(bb)
565+ if ((bH == bH))
568566 then {
569- let bX = {
570- let bY = ad(this, j)
571- if (bW)
572- then bY
573- else (bY - 1)
567+ let bW = {
568+ let bX = ac(this, j)
569+ if (bV)
570+ then bX
571+ else (bX - 1)
574572 }
575- let bN = if ((bX >= 0))
573+ let bM = if ((bW >= 0))
576574 then true
577- else T("processPoolINTERNAL: invalid target epoch")
578- if ((bN == bN))
575+ else S("processPoolINTERNAL: invalid target epoch")
576+ if ((bM == bM))
579577 then {
580- let A = af(bH)
581- let bZ = A
582- let C = bZ._1
583- let D = bZ._2
584- let bl = addressFromStringValue(ab(this, p))
585- let ay = ao(C, D)
586- let ca = {
587- let ac = invoke(bl, "usersListTraversal", [ay], nil)
588- if ($isInstanceOf(ac, "Boolean"))
589- then ac
590- else throw(($getType(ac) + " couldn't be cast to Boolean"))
578+ let z = ae(bG)
579+ let bY = z
580+ let B = bY._1
581+ let C = bY._2
582+ let bk = addressFromStringValue(aa(this, o))
583+ let ax = an(B, C)
584+ let bZ = {
585+ let ab = invoke(bk, "usersListTraversal", [ax], nil)
586+ if ($isInstanceOf(ab, "Boolean"))
587+ then ab
588+ else throw(($getType(ab) + " couldn't be cast to Boolean"))
591589 }
592- if ((ca == ca))
593- then if (ca)
590+ if ((bZ == bZ))
591+ then if (bZ)
594592 then $Tuple2(nil, true)
595593 else {
596- let bC = az(A)
597- let by = valueOrElse(getInteger(this, O(bX)), 0)
598- let bQ = valueOrElse(getInteger(this, I(A, bX)), 0)
599- let cb = if (if ((by == 0))
594+ let bB = ay(z)
595+ let bx = valueOrElse(getInteger(this, N(bW)), 0)
596+ let bP = valueOrElse(getInteger(this, H(z, bW)), 0)
597+ let ca = if (if ((bx == 0))
600598 then true
601- else !(bC))
599+ else !(bB))
602600 then 0
603- else fraction(bQ, b, by)
604- let cc = invoke(ah, "modifyWeight", [ay, cb], nil)
605- if ((cc == cc))
601+ else fraction(bP, b, bx)
602+ let cb = invoke(ag, "modifyWeight", [ax, ca], nil)
603+ if ((cb == cb))
606604 then {
607- let cd = if (if (bC)
605+ let cc = if (if (bB)
608606 then true
609- else bW)
607+ else bV)
610608 then nil
611- else ([DeleteEntry(z(A))] ++ aU(aD, bH))
612- $Tuple2(([IntegerEntry(M(A, bX), cb)] ++ cd), false)
609+ else ([DeleteEntry(y(z))] ++ aT(aC, bG))
610+ $Tuple2(([IntegerEntry(L(z, bW), ca)] ++ cc), false)
613611 }
614612 else throw("Strict value is not equal to itself.")
615613 }
616614 else throw("Strict value is not equal to itself.")
617615 }
618616 else throw("Strict value is not equal to itself.")
619617 }
620618 else throw("Strict value is not equal to itself.")
621619 }
622620
623621
624622
625-@Callable(bc)
623+@Callable(bb)
626624 func finalizeHelper () = {
627- let bW = valueOrElse(getBoolean(w), false)
625+ let bV = valueOrElse(getBoolean(v), false)
628626 let i = valueOrElse(getInteger(this, j), 0)
629- let ce = (i - 1)
630- let bs = ad(this, x(i))
631- let bm = ad(this, f)
632- let bt = (bs + bm)
633- let bu = getInteger(this, q)
634- if (if (if ((height >= bt))
635- then (bu == unit)
627+ let cd = (i - 1)
628+ let br = ac(this, w(i))
629+ let bl = ac(this, f)
630+ let bs = (br + bl)
631+ let bt = getInteger(this, p)
632+ if (if (if ((height >= bs))
633+ then (bt == unit)
636634 else false)
637- then !(bW)
635+ then !(bV)
638636 else false)
639637 then {
640- let cf = (i + 1)
641- let cg = getInteger(this, g)
642- let ch = {
643- let Y = cg
644- if ($isInstanceOf(Y, "Int"))
638+ let ce = (i + 1)
639+ let cf = getInteger(this, g)
640+ let cg = {
641+ let X = cf
642+ if ($isInstanceOf(X, "Int"))
645643 then {
646- let bF = Y
647-[IntegerEntry(f, bF), DeleteEntry(g)]
644+ let bE = X
645+[IntegerEntry(f, bE), DeleteEntry(g)]
648646 }
649- else if ($isInstanceOf(Y, "Unit"))
647+ else if ($isInstanceOf(X, "Unit"))
650648 then nil
651649 else throw("Match error")
652650 }
653- $Tuple2(([IntegerEntry(x(cf), height), IntegerEntry(t, height), IntegerEntry(j, cf), IntegerEntry(q, d), IntegerEntry(h(i), bm)] ++ ch), true)
651+ $Tuple2(([IntegerEntry(w(ce), height), IntegerEntry(s, height), IntegerEntry(j, ce), IntegerEntry(p, d), IntegerEntry(h(i), bl)] ++ cg), true)
654652 }
655- else if (if (bW)
656- then (bu == unit)
653+ else if (if (bV)
654+ then (bt == unit)
657655 else false)
658- then $Tuple2([IntegerEntry(q, e)], true)
659- else if ((bu == unit))
656+ then $Tuple2([IntegerEntry(p, e)], true)
657+ else if ((bt == unit))
660658 then $Tuple2(nil, false)
661- else if ((bu == d))
659+ else if ((bt == d))
662660 then {
661+ let ch = getString(q)
663662 let ci = getString(r)
664- let cj = getString(s)
665- let Y = ci
666- if ($isInstanceOf(Y, "Unit"))
663+ let X = ch
664+ if ($isInstanceOf(X, "Unit"))
667665 then {
668- let ck = getString(aG(aD))
669- if ($isInstanceOf(ck, "Unit"))
670- then $Tuple2([IntegerEntry(q, e), DeleteEntry(r), DeleteEntry(s)], true)
671- else if ($isInstanceOf(ck, "String"))
666+ let cj = getString(aF(aC))
667+ if ($isInstanceOf(cj, "Unit"))
668+ then $Tuple2([IntegerEntry(p, e), DeleteEntry(q), DeleteEntry(r)], true)
669+ else if ($isInstanceOf(cj, "String"))
672670 then {
673- let cl = ck
674- $Tuple2([StringEntry(r, cl)], true)
671+ let ck = cj
672+ $Tuple2([StringEntry(q, ck)], true)
675673 }
676674 else throw("Match error")
677675 }
678- else if ($isInstanceOf(Y, "String"))
676+ else if ($isInstanceOf(X, "String"))
679677 then {
680- let bH = Y
681- let A = af(bH)
682- let cm = {
683- let ck = cj
684- if ($isInstanceOf(ck, "Unit"))
685- then getString(aG(aE(A)))
686- else if ($isInstanceOf(ck, "String"))
678+ let bG = X
679+ let z = ae(bG)
680+ let cl = {
681+ let cj = ci
682+ if ($isInstanceOf(cj, "Unit"))
683+ then getString(aF(aD(z)))
684+ else if ($isInstanceOf(cj, "String"))
687685 then {
688- let cn = ck
689- let co = getString(aM(aE(A), cn))
690- if ((co == co))
686+ let cm = cj
687+ let cn = getString(aL(aD(z), cm))
688+ if ((cn == cn))
691689 then {
692- let cp = invoke(this, "processVoteINTERNAL", [bH, cn], nil)
693- if ((cp == cp))
694- then co
690+ let co = invoke(this, "processVoteINTERNAL", [bG, cm], nil)
691+ if ((co == co))
692+ then cn
695693 else throw("Strict value is not equal to itself.")
696694 }
697695 else throw("Strict value is not equal to itself.")
698696 }
699697 else throw("Match error")
700698 }
701- let ck = cm
702- if ($isInstanceOf(ck, "Unit"))
699+ let cj = cl
700+ if ($isInstanceOf(cj, "Unit"))
703701 then {
704- let cq = getString(aM(aD, bH))
705- let cr = cq
706- if ($isInstanceOf(cr, "Unit"))
707- then $Tuple2([IntegerEntry(q, e), DeleteEntry(r), DeleteEntry(s)], true)
708- else if ($isInstanceOf(cr, "String"))
702+ let cp = getString(aL(aC, bG))
703+ let cq = cp
704+ if ($isInstanceOf(cq, "Unit"))
705+ then $Tuple2([IntegerEntry(p, e), DeleteEntry(q), DeleteEntry(r)], true)
706+ else if ($isInstanceOf(cq, "String"))
709707 then {
710- let aY = cr
711- $Tuple2([StringEntry(r, aY), DeleteEntry(s)], true)
708+ let aX = cq
709+ $Tuple2([StringEntry(q, aX), DeleteEntry(r)], true)
712710 }
713711 else throw("Match error")
714712 }
715- else if ($isInstanceOf(ck, "String"))
713+ else if ($isInstanceOf(cj, "String"))
716714 then {
717- let cs = ck
718- $Tuple2([StringEntry(s, cs)], true)
715+ let cr = cj
716+ $Tuple2([StringEntry(r, cr)], true)
719717 }
720718 else throw("Match error")
721719 }
722720 else throw("Match error")
723721 }
724- else if ((bu == e))
722+ else if ((bt == e))
725723 then {
726- let ci = getString(r)
727- let Y = ci
728- if ($isInstanceOf(Y, "Unit"))
724+ let ch = getString(q)
725+ let X = ch
726+ if ($isInstanceOf(X, "Unit"))
729727 then {
730- let ck = getString(aG(aD))
731- if ($isInstanceOf(ck, "Unit"))
728+ let cj = getString(aF(aC))
729+ if ($isInstanceOf(cj, "Unit"))
732730 then {
733- let bV = if (bW)
734- then [DeleteEntry(q), DeleteEntry(w)]
735- else [DeleteEntry(q), BooleanEntry(y(ce), true), IntegerEntry(u, i), IntegerEntry(v, bs)]
736- let ct = aB()
737- if ((ct == ct))
738- then $Tuple2(bV, true)
731+ let bU = if (bV)
732+ then [DeleteEntry(p), DeleteEntry(v)]
733+ else [DeleteEntry(p), BooleanEntry(x(cd), true), IntegerEntry(t, i), IntegerEntry(u, br)]
734+ let cs = aA()
735+ if ((cs == cs))
736+ then $Tuple2(bU, true)
739737 else throw("Strict value is not equal to itself.")
740738 }
741- else if ($isInstanceOf(ck, "String"))
739+ else if ($isInstanceOf(cj, "String"))
742740 then {
743- let cu = ck
744- $Tuple2([StringEntry(r, cu)], true)
741+ let ct = cj
742+ $Tuple2([StringEntry(q, ct)], true)
745743 }
746744 else throw("Match error")
747745 }
748- else if ($isInstanceOf(Y, "String"))
746+ else if ($isInstanceOf(X, "String"))
749747 then {
750- let bH = Y
751- let cq = getString(aM(aD, bH))
752- if ((cq == cq))
748+ let bG = X
749+ let cp = getString(aL(aC, bG))
750+ if ((cp == cp))
753751 then {
754- let ca = {
755- let ac = invoke(this, "processPoolINTERNAL", [bH, bW], nil)
756- if ($isInstanceOf(ac, "Boolean"))
757- then ac
758- else throw(($getType(ac) + " couldn't be cast to Boolean"))
752+ let bZ = {
753+ let ab = invoke(this, "processPoolINTERNAL", [bG, bV], nil)
754+ if ($isInstanceOf(ab, "Boolean"))
755+ then ab
756+ else throw(($getType(ab) + " couldn't be cast to Boolean"))
759757 }
760- if ((ca == ca))
761- then if (ca)
758+ if ((bZ == bZ))
759+ then if (bZ)
762760 then $Tuple2(nil, true)
763761 else {
764- let ck = cq
765- if ($isInstanceOf(ck, "Unit"))
762+ let cj = cp
763+ if ($isInstanceOf(cj, "Unit"))
766764 then {
767- let bV = if (bW)
768- then [DeleteEntry(q), DeleteEntry(w), DeleteEntry(r)]
769- else [DeleteEntry(q), BooleanEntry(y(ce), true), IntegerEntry(u, i), IntegerEntry(v, bs), DeleteEntry(r)]
770- let ct = aB()
771- if ((ct == ct))
772- then $Tuple2(bV, true)
765+ let bU = if (bV)
766+ then [DeleteEntry(p), DeleteEntry(v), DeleteEntry(q)]
767+ else [DeleteEntry(p), BooleanEntry(x(cd), true), IntegerEntry(t, i), IntegerEntry(u, br), DeleteEntry(q)]
768+ let cs = aA()
769+ if ((cs == cs))
770+ then $Tuple2(bU, true)
773771 else throw("Strict value is not equal to itself.")
774772 }
775- else if ($isInstanceOf(ck, "String"))
773+ else if ($isInstanceOf(cj, "String"))
776774 then {
777- let cu = ck
778- $Tuple2([StringEntry(r, cu)], true)
775+ let ct = cj
776+ $Tuple2([StringEntry(q, ct)], true)
779777 }
780778 else throw("Match error")
781779 }
782780 else throw("Strict value is not equal to itself.")
783781 }
784782 else throw("Strict value is not equal to itself.")
785783 }
786784 else throw("Match error")
787785 }
788- else T("finalization is broken")
786+ else S("finalization is broken")
789787 }
790788
791789
792790
793-@Callable(bc)
794-func finalizeWrapper (cv) = {
795- let cw = addressFromStringValue(getStringValue(this, m))
796- let cx = {
797- let ac = invoke(this, "finalizeHelper", nil, nil)
798- if ($isInstanceOf(ac, "Boolean"))
799- then ac
800- else throw(($getType(ac) + " couldn't be cast to Boolean"))
791+@Callable(bb)
792+func finalizeWrapper (cu) = {
793+ let cv = {
794+ let ab = invoke(this, "finalizeHelper", nil, nil)
795+ if ($isInstanceOf(ab, "Boolean"))
796+ then ab
797+ else throw(($getType(ab) + " couldn't be cast to Boolean"))
801798 }
802- if ((cx == cx))
803- then if (!(cx))
804- then if ((cv == 0))
805- then T("Current voting is not over yet")
806- else {
807- let cy = invoke(cw, "finalize", nil, nil)
808- if ((cy == cy))
809- then $Tuple2(nil, unit)
810- else throw("Strict value is not equal to itself.")
811- }
799+ if ((cv == cv))
800+ then if (!(cv))
801+ then if ((cu == 0))
802+ then S("Current voting is not over yet")
803+ else $Tuple2(nil, unit)
812804 else {
813- let cz = valueOrElse(getInteger(this, k), c)
814- if ((cz > cv))
805+ let cw = valueOrElse(getInteger(this, k), c)
806+ if ((cw > cu))
815807 then {
816- let cy = invoke(this, "finalizeWrapper", [(cv + 1)], nil)
817- if ((cy == cy))
808+ let cx = invoke(this, "finalizeWrapper", [(cu + 1)], nil)
809+ if ((cx == cx))
818810 then $Tuple2(nil, unit)
819811 else throw("Strict value is not equal to itself.")
820812 }
821813 else $Tuple2(nil, unit)
822814 }
823815 else throw("Strict value is not equal to itself.")
824816 }
825817
826818
827819
828-@Callable(bc)
820+@Callable(bb)
829821 func finalize () = {
830- let cy = invoke(this, "finalizeWrapper", [0], nil)
831- if ((cy == cy))
822+ let cx = invoke(this, "finalizeWrapper", [0], nil)
823+ if ((cx == cx))
832824 then $Tuple2(nil, unit)
833825 else throw("Strict value is not equal to itself.")
834826 }
835827
836828
837829
838-@Callable(bc)
839-func containsNodeREADONLY (aH,aL) = $Tuple2(nil, aN(aH, aL))
830+@Callable(bb)
831+func containsNodeREADONLY (aG,aK) = $Tuple2(nil, aM(aG, aK))
840832
841833
842834
843-@Callable(bc)
844-func insertNode (aH,aL) = {
845- let bI = be(bc)
846- if ((bI == bI))
847- then $Tuple2(aR(aH, aL), unit)
835+@Callable(bb)
836+func insertNode (aG,aK) = {
837+ let bH = bd(bb)
838+ if ((bH == bH))
839+ then $Tuple2(aQ(aG, aK), unit)
848840 else throw("Strict value is not equal to itself.")
849841 }
850842
851843
852844
853-@Callable(bc)
854-func deleteNode (aH,aL) = {
855- let bI = be(bc)
856- if ((bI == bI))
857- then $Tuple2(aU(aH, aL), unit)
845+@Callable(bb)
846+func deleteNode (aG,aK) = {
847+ let bH = bd(bb)
848+ if ((bH == bH))
849+ then $Tuple2(aT(aG, aK), unit)
858850 else throw("Strict value is not equal to itself.")
859851 }
860852
861853
862-
863-@Callable(bc)
864-func isFinalizationInProgress () = {
865- let bu = getInteger(this, q)
866- let cA = (bu != unit)
867- $Tuple2(nil, cA)
868- }
869-
870-
871-@Verifier(cB)
872-func cC () = {
873- let cD = {
874- let Y = aZ()
875- if ($isInstanceOf(Y, "ByteVector"))
854+@Verifier(cy)
855+func cz () = {
856+ let cA = {
857+ let X = aY()
858+ if ($isInstanceOf(X, "ByteVector"))
876859 then {
877- let bd = Y
878- bd
860+ let bc = X
861+ bc
879862 }
880- else if ($isInstanceOf(Y, "Unit"))
881- then cB.senderPublicKey
863+ else if ($isInstanceOf(X, "Unit"))
864+ then cy.senderPublicKey
882865 else throw("Match error")
883866 }
884- sigVerify(cB.bodyBytes, cB.proofs[0], cD)
867+ sigVerify(cy.bodyBytes, cy.proofs[0], cA)
885868 }
886869

github/deemru/w8io/169f3d6 
321.04 ms