tx · 9WWceSDgNsALAgLzTKevALZyJJ7rXd3XQJFnFqMLtzmA

3Mp3nG9T5fKGziHW8mcCqx3jMFx3towh3WA:  -0.02300000 Waves

2023.02.15 13:44 [2450618] smart account 3Mp3nG9T5fKGziHW8mcCqx3jMFx3towh3WA > SELF 0.00000000 Waves

{ "type": 13, "id": "9WWceSDgNsALAgLzTKevALZyJJ7rXd3XQJFnFqMLtzmA", "fee": 2300000, "feeAssetId": null, "timestamp": 1676457863817, "version": 2, "chainId": 84, "sender": "3Mp3nG9T5fKGziHW8mcCqx3jMFx3towh3WA", "senderPublicKey": "D46gQxzmdzdCTYRg6dMcwFoUrc6ZmxF6GKd5ZoTkvzp1", "proofs": [ "5DBU47mAwL8JpfqWwT6EX6iqyibLftmHhtXVSjCqdqYK9WsNwGSvdTMfsVmV41jExE6MT7zntVT7hJmppMoEegfV" ], "script": "base64:BgKnFQgCEgMKAQgSABIECgIIARIHCgUICAgIARIECgIICBIFCgMICAESBAoCCAgSAwoBARIDCgEBEgQKAggIEgQKAggEEgASAwoBARIAEgQKAggIEgQKAggIEgQKAggIEgQKAggIIglzZXBhcmF0b3IiDnBvb2xXZWlnaHRNdWx0Ig9tYXhEZXB0aERlZmF1bHQiFmZpbmFsaXphdGlvblN0YWdlVG90YWwiF2ZpbmFsaXphdGlvblN0YWdlU2hhcmVzIg5rZXlFcG9jaExlbmd0aCIRa2V5RXBvY2hMZW5ndGhOZXciFWtleUVwb2NoTGVuZ3RoQnlFcG9jaCIFZXBvY2giD2tleUN1cnJlbnRFcG9jaCILa2V5TWF4RGVwdGgiImtleVZvdGluZ0VtaXNzaW9uQ2FuZGlkYXRlQ29udHJhY3QiEmtleUZhY3RvcnlDb250cmFjdCITa2V5Qm9vc3RpbmdDb250cmFjdCISa2V5U3Rha2luZ0NvbnRyYWN0IhRrZXlGaW5hbGl6YXRpb25TdGFnZSILa2V5TmV4dFBvb2wiC2tleU5leHRVc2VyIg5rZXlTdGFydEhlaWdodCIRa2V5Q3VycmVudEVwb2NoVWkiEGtleVN0YXJ0SGVpZ2h0VWkiHWtleUZpbmFsaXphdGlvblNob3VsZEJlRm9yY2VkIhVrZXlTdGFydEhlaWdodEJ5RXBvY2giDGtleUZpbmFsaXplZCIJa2V5SW5MaXN0IgRwb29sIgskdDAxNjkzMTczMyINYW1vdW50QXNzZXRJZCIMcHJpY2VBc3NldElkIgdrZXlVc2VkIgdhZGRyZXNzIgdrZXlWb3RlIgskdDAyMDA3MjA0NyIPa2V5Vm90aW5nUmVzdWx0IgskdDAyMjI5MjI2OSIMa2V5UG9vbFNoYXJlIgskdDAyNDM0MjQ3NCINa2V5VG90YWxWb3RlcyIHd3JhcEVyciIDbXNnIgh0aHJvd0VyciIOZ2V0VmFsdWVPckZhaWwiA2tleSIEdHlwZSIFZXJyb3IiByRtYXRjaDAiA3N0ciIDaW50IgxnZXRTdHJPckZhaWwiAUAiDGdldEludE9yRmFpbCIMcG9vbFRvU3RyaW5nIgxzdHJpbmdUb1Bvb2wiBXBhcnRzIhZnZXRMcEFzc2V0QnlQb29sQXNzZXRzIh9rZXlNYXBwaW5nc0Jhc2VBc3NldDJpbnRlcm5hbElkIgxiYXNlQXNzZXRTdHIiKWtleU1hcHBpbmdQb29sQXNzZXRzVG9Qb29sQ29udHJhY3RBZGRyZXNzIhhpbnRlcm5hbEFtb3VudEFzc2V0SWRTdHIiF2ludGVybmFsUHJpY2VBc3NldElkU3RyIh9rZXlNYXBwaW5nUG9vbENvbnRyYWN0VG9MUEFzc2V0IhNwb29sQ29udHJhY3RBZGRyZXNzIg9mYWN0b3J5Q29udHJhY3QiFWFtb3VudEFzc2V0SW50ZXJuYWxJZCIUcHJpY2VBc3NldEludGVybmFsSWQiCWxwQXNzZXRJZCIYY2hlY2tXeEVtaXNzaW9uUG9vbExhYmVsIgskdDA0ODQzNDg4MyINcG9vbHNMaXN0TmFtZSIQZ2V0Vm90ZXNMaXN0TmFtZSILJHQwNTE4NDUyMjQiC2tleUxpc3RIZWFkIghsaXN0TmFtZSIEbWV0YSILa2V5TGlzdFNpemUiC2tleUxpc3RQcmV2IgJpZCILa2V5TGlzdE5leHQiDGNvbnRhaW5zTm9kZSIKaGVhZE9yVW5pdCIKcHJldk9yVW5pdCIKbmV4dE9yVW5pdCIRaW5zZXJ0Tm9kZUFjdGlvbnMiCGxpc3RTaXplIgljaGVja05vZGUiEWRlbGV0ZU5vZGVBY3Rpb25zIhNrZXlNYW5hZ2VyUHVibGljS2V5IhprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleSIWbWFuYWdlclB1YmxpY0tleU9yVW5pdCIBcyIdcGVuZGluZ01hbmFnZXJQdWJsaWNLZXlPclVuaXQiFXBlcm1pc3Npb25EZW5pZWRFcnJvciIIbXVzdFRoaXMiAWkiC211c3RNYW5hZ2VyIgJwayIXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiC2NoZWNrQ2FsbGVyIhVjaGVja01hbmFnZXJQdWJsaWNLZXkiAnBtIgVoYXNQTSIHY2hlY2tQTSILdXNlckFkZHJlc3MiDHRhcmdldEhlaWdodCIXYm9vc3RpbmdDb250cmFjdEFkZHJlc3MiH3ZvdGluZ0VtaXNzaW9uQ2FuZGlkYXRlQ29udHJhY3QiEGJvb3N0aW5nQ29udHJhY3QiD3N0YWtpbmdDb250cmFjdCILZXBvY2hMZW5ndGgiBmNoZWNrcyINaW5MaXN0QWN0aW9ucyIYY3VycmVudEVwb2NoSXNOb3REZWZpbmVkIhJzdGFydEhlaWdodEFjdGlvbnMiBmFtb3VudCILc3RhcnRIZWlnaHQiCWVuZEhlaWdodCIXZmluYWxpemF0aW9uU3RhZ2VPclVuaXQiBHVzZWQiBHZvdGUiCnBvb2xSZXN1bHQiCnRvdGFsVm90ZXMiE2d3eEFtb3VudEF0RW5kVG90YWwiCWF2YWlsYWJsZSIHbmV3Vm90ZSIKd3hFbWlzc2lvbiINdm90ZXNMaXN0TmFtZSIOdXNlckFkZHJlc3NTdHIiEHZvdGVzTGlzdEFjdGlvbnMiDm5ld0Vwb2NoTGVuZ3RoIgtuZXdNYXhEZXB0aCIHcG9vbFN0ciINZXBvY2hQcmV2aW91cyITc3RhcnRIZWlnaHRQcmV2aW91cyITZXBvY2hMZW5ndGhQcmV2aW91cyIRZW5kSGVpZ2h0UHJldmlvdXMiEGNoZWNrVGFyZ2V0RXBvY2giDSR0MDE3Njc1MTc3MTUiG2d3eEFtb3VudEF0RW5kVG90YWxQcmV2aW91cyIMdm90aW5nUmVzdWx0Igx2b3RlUHJldmlvdXMiB2FjdGlvbnMiBWZvcmNlIgt0YXJnZXRFcG9jaCIMY3VycmVudEVwb2NoIg0kdDAxOTQ0MTE5NDgxIgFyIgVzaGFyZSIPbW9kaWZ5V2VpZ2h0SW52IhBwb29sc0xpc3RBY3Rpb25zIg1wcmV2aW91c0Vwb2NoIghuZXdFcG9jaCIUbmV3RXBvY2hMZW5ndGhPcHRpb24iFW5ld0Vwb2NoTGVuZ3RoQWN0aW9ucyIKcG9vbE9yVW5pdCIKdXNlck9yVW5pdCIHJG1hdGNoMSIMcG9vbHNIZWFkU3RyIg5uZXh0VXNlck9yVW5pdCIEdXNlciIEbmV4dCIOcHJvY2Vzc1ZvdGVJbnYiDm5leHRQb29sT3JVbml0IgckbWF0Y2gyIghuZXh0VXNlciILbmV4dFBvb2xTdHIiB2NvdW50ZXIiBnJlc3VsdCIIbWF4RGVwdGgiA2ludiIMbHBBc3NldElkU3RyIhBpZHhBbW91bnRBc3NldElkIg9pZHhQcmljZUFzc2V0SWQiB3Bvb2xDZmciEmxhc3RGaW5hbGl6ZWRFcG9jaCIIdXNlclZvdGUiAnR4IgZ2ZXJpZnkiD3RhcmdldFB1YmxpY0tleTYAAWECAl9fAAFiAIDC1y8AAWMACgABZAAAAAFlAAEAAWYJALkJAgkAzAgCAgIlcwkAzAgCAgtlcG9jaExlbmd0aAUDbmlsBQFhAAFnCQC5CQIJAMwIAgIEJXMlcwkAzAgCAhBlcG9jaExlbmd0aF9fbmV3BQNuaWwFAWEBAWgBAWkJALkJAgkAzAgCAgQlcyVkCQDMCAICC2Vwb2NoTGVuZ3RoCQDMCAIJAKQDAQUBaQUDbmlsBQFhAAFqCQC5CQIJAMwIAgICJXMJAMwIAgIMY3VycmVudEVwb2NoBQNuaWwFAWEAAWsJALkJAgkAzAgCAgIlcwkAzAgCAghtYXhEZXB0aAUDbmlsBQFhAAFsCQC5CQIJAMwIAgICJXMJAMwIAgIfdm90aW5nRW1pc3Npb25DYW5kaWRhdGVDb250cmFjdAUDbmlsBQFhAAFtCQC5CQIJAMwIAgICJXMJAMwIAgIPZmFjdG9yeUNvbnRyYWN0BQNuaWwFAWEAAW4JALkJAgkAzAgCAgIlcwkAzAgCAhBib29zdGluZ0NvbnRyYWN0BQNuaWwFAWEAAW8JALkJAgkAzAgCAgIlcwkAzAgCAg9zdGFraW5nQ29udHJhY3QFA25pbAUBYQABcAkAuQkCCQDMCAICAiVzCQDMCAICEWZpbmFsaXphdGlvblN0YWdlBQNuaWwFAWEAAXEJALkJAgkAzAgCAgIlcwkAzAgCAghuZXh0UG9vbAUDbmlsBQFhAAFyCQC5CQIJAMwIAgICJXMJAMwIAgIIbmV4dFVzZXIFA25pbAUBYQABcwkAuQkCCQDMCAICAiVzCQDMCAICC3N0YXJ0SGVpZ2h0BQNuaWwFAWEAAXQJALkJAgkAzAgCAgIlcwkAzAgCAg5jdXJyZW50RXBvY2hVaQUDbmlsBQFhAAF1CQC5CQIJAMwIAgICJXMJAMwIAgINc3RhcnRIZWlnaHRVaQUDbmlsBQFhAAF2CQC5CQIJAMwIAgICJXMJAMwIAgIFZm9yY2UFA25pbAUBYQEBdwEBaQkAuQkCCQDMCAICBCVzJWQJAMwIAgILc3RhcnRIZWlnaHQJAMwIAgkApAMBBQFpBQNuaWwFAWEBAXgBAWkJALkJAgkAzAgCAgQlcyVkCQDMCAICCWZpbmFsaXplZAkAzAgCCQCkAwEFAWkFA25pbAUBYQEBeQEBegQBQQUBegQBQggFAUECXzEEAUMIBQFBAl8yCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICBmluTGlzdAkAzAgCBQFCCQDMCAIFAUMFA25pbAUBYQEBRAIBRQFpCQC5CQIJAMwIAgIGJXMlcyVkCQDMCAICBHVzZWQJAMwIAgkApQgBBQFFCQDMCAIJAKQDAQUBaQUDbmlsBQFhAQFGAwF6AUUBaQQBRwUBegQBQggFAUcCXzEEAUMIBQFHAl8yCQC5CQIJAMwIAgIKJXMlcyVzJXMlZAkAzAgCAgR2b3RlCQDMCAIFAUIJAMwIAgUBQwkAzAgCCQClCAEFAUUJAMwIAgkApAMBBQFpBQNuaWwFAWEBAUgCAXoBaQQBSQUBegQBQggFAUkCXzEEAUMIBQFJAl8yCQC5CQIJAMwIAgIIJXMlcyVzJWQJAMwIAgIMdm90aW5nUmVzdWx0CQDMCAIFAUIJAMwIAgUBQwkAzAgCCQCkAwEFAWkFA25pbAUBYQEBSgIBegFpBAFLBQF6BAFCCAUBSwJfMQQBQwgFAUsCXzIJALkJAgkAzAgCAgglcyVzJXMlZAkAzAgCAglwb29sU2hhcmUJAMwIAgUBQgkAzAgCBQFDCQDMCAIJAKQDAQUBaQUDbmlsBQFhAQFMAQFpCQC5CQIJAMwIAgIEJXMlZAkAzAgCAgp0b3RhbFZvdGVzCQDMCAIJAKQDAQUBaQUDbmlsBQFhAQFNAQFOCQC5CQIJAMwIAgIVdm90aW5nX2VtaXNzaW9uLnJpZGU6CQDMCAIFAU4FA25pbAIBIAEBTwEBTgkAAgEJAQFNAQUBTgEBUAMBRQFRAVIEAVMJALkJAgkAzAgCAgptYW5kYXRvcnkgCQDMCAIJAKUIAQUBRQkAzAgCAgEuCQDMCAIFAVEJAMwIAgIPIGlzIG5vdCBkZWZpbmVkBQNuaWwCAAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCBAFUBQFSAwkAAQIFAVQCBlN0cmluZwQBVQUBVAkAnQgCBQFFBQFRAwkAAQIFAVQCA0ludAQBVgUBVAkAmggCBQFFBQFRCQACAQISaW52YWxpZCBlbnRyeSB0eXBlBQFTAQFXAgFFAVEKAAFYCQEBUAMFAUUFAVECAAMJAAECBQFYAgZTdHJpbmcFAVgJAAIBCQCsAgIJAAMBBQFYAhsgY291bGRuJ3QgYmUgY2FzdCB0byBTdHJpbmcBAVkCAUUBUQoAAVgJAQFQAwUBRQUBUQAAAwkAAQIFAVgCA0ludAUBWAkAAgEJAKwCAgkAAwEFAVgCGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAEBWgEBegkArAICCQCsAgIIBQF6Al8xBQFhCAUBegJfMgECYWEBAVUEAmFiCQC1CQIFAVUFAWEDCQAAAgkAkAMBBQJhYgACCQCUCgIJAJEDAgUCYWIAAAkAkQMCBQJhYgABCQACAQITaW52YWxpZCBwb29sIHN0cmluZwECYWMCAUIBQwoBAmFkAQJhZQkArAICAiglcyVzJXNfX21hcHBpbmdzX19iYXNlQXNzZXQyaW50ZXJuYWxJZF9fBQJhZQoBAmFmAgJhZwJhaAkArAICCQCsAgIJAKwCAgkArAICAgolZCVkJXMlc19fCQCkAwEFAmFnAgJfXwkApAMBBQJhaAIjX19tYXBwaW5nc19fcG9vbEFzc2V0czJQb29sQ29udHJhY3QKAQJhaQECYWoJAKwCAgkArAICAgglcyVzJXNfXwUCYWoCIF9fbWFwcGluZ3NfX3Bvb2xDb250cmFjdDJMcEFzc2V0BAJhawkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAVcCBQR0aGlzBQFtBAJhbAkBAVkCBQJhawkBAmFkAQUBQgQCYW0JAQFZAgUCYWsJAQJhZAEFAUMEAmFqCQEBVwIFAmFrCQECYWYCBQJhbAUCYW0EAmFuCQEBVwIFAmFrCQECYWkBBQJhagUCYW4BAmFvAQF6BAJhcAUBegQBQggFAmFwAl8xBAFDCAUCYXACXzIEAmFrCQERQGV4dHJOYXRpdmUoMTA2MikBCQEBVwIFBHRoaXMFAW0KAAFYCQD8BwQFAmFrAhhjaGVja1d4RW1pc3Npb25Qb29sTGFiZWwJAMwIAgUBQgkAzAgCBQFDBQNuaWwFA25pbAMJAAECBQFYAgdCb29sZWFuBQFYCQACAQkArAICCQADAQUBWAIcIGNvdWxkbid0IGJlIGNhc3QgdG8gQm9vbGVhbgACYXECBXBvb2xzAQJhcgEBegQCYXMFAXoEAUIIBQJhcwJfMQQBQwgFAmFzAl8yCQC5CQIJAMwIAgIFdm90ZXMJAMwIAgUBQgkAzAgCBQFDBQNuaWwFAWEBAmF0AQJhdQQCYXYDCQAAAgUCYXUFAmFxAgQlcyVzAgglcyVzJXMlcwkAuQkCCQDMCAIFAmF2CQDMCAIFAmF1CQDMCAICBGhlYWQFA25pbAUBYQECYXcBAmF1BAJhdgMJAAACBQJhdQUCYXECBCVzJXMCCCVzJXMlcyVzCQC5CQIJAMwIAgUCYXYJAMwIAgUCYXUJAMwIAgIEc2l6ZQUDbmlsBQFhAQJheAICYXUCYXkEAmF2AwkAAAIFAmF1BQJhcQIIJXMlcyVzJXMCCiVzJXMlcyVzJXMJALkJAgkAzAgCBQJhdgkAzAgCBQJhdQkAzAgCBQJheQkAzAgCAgRwcmV2BQNuaWwFAWEBAmF6AgJhdQJheQQCYXYDCQAAAgUCYXUFAmFxAgglcyVzJXMlcwIKJXMlcyVzJXMlcwkAuQkCCQDMCAIFAmF2CQDMCAIFAmF1CQDMCAIFAmF5CQDMCAICBG5leHQFA25pbAUBYQECYUECAmF1AmF5BAJhQgkAnQgCBQR0aGlzCQECYXQBBQJhdQQCYUMJAJ0IAgUEdGhpcwkBAmF4AgUCYXUFAmF5BAJhRAkAnQgCBQR0aGlzCQECYXoCBQJhdQUCYXkDAwkAAAIFAmF5CQELdmFsdWVPckVsc2UCBQJhQgIABgkBAiE9AgUCYUMFBHVuaXQGCQECIT0CBQJhRAUEdW5pdAECYUUCAmF1AmF5BAJhQgkAnQgCBQR0aGlzCQECYXQBBQJhdQQCYUYJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAmF3AQUCYXUAAAQCYUcDCQEBIQEJAQJhQQIFAmF1BQJheQYJAAIBAgtOb2RlIGV4aXN0cwMJAAACBQJhRwUCYUcJAM4IAgkAzggCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYXcBBQJhdQkAZAIFAmFGAAEFA25pbAMJAQIhPQIFAmFCBQR1bml0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhegIFAmF1BQJheQkBBXZhbHVlAQUCYUIJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmF4AgUCYXUJAQV2YWx1ZQEFAmFCBQJheQUDbmlsBQNuaWwJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmF0AQUCYXUFAmF5BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAmFIAgJhdQJheQQCYUIJAJ0IAgUEdGhpcwkBAmF0AQUCYXUEAmFGCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQJhdwEFAmF1AAAEAmFDCQCdCAIFBHRoaXMJAQJheAIFAmF1BQJheQQCYUQJAJ0IAgUEdGhpcwkBAmF6AgUCYXUFAmF5CQDOCAIJAMwIAgkBDEludGVnZXJFbnRyeQIJAQJhdwEFAmF1CQBlAgUCYUYAAQUDbmlsAwMJAQIhPQIFAmFDBQR1bml0CQECIT0CBQJhRAUEdW5pdAcJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmF6AgUCYXUJAQV2YWx1ZQEFAmFDCQEFdmFsdWUBBQJhRAkAzAgCCQELU3RyaW5nRW50cnkCCQECYXgCBQJhdQkBBXZhbHVlAQUCYUQJAQV2YWx1ZQEFAmFDCQDMCAIJAQtEZWxldGVFbnRyeQEJAQJheAIFAmF1BQJheQkAzAgCCQELRGVsZXRlRW50cnkBCQECYXoCBQJhdQUCYXkFA25pbAMJAQIhPQIFAmFEBQR1bml0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhdAEFAmF1CQEFdmFsdWUBBQJhRAkAzAgCCQELRGVsZXRlRW50cnkBCQECYXoCBQJhdQUCYXkJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmF4AgUCYXUJAQV2YWx1ZQEFAmFEBQNuaWwDCQECIT0CBQJhQwUEdW5pdAkAzAgCCQELRGVsZXRlRW50cnkBCQECYXgCBQJhdQUCYXkJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmF6AgUCYXUJAQV2YWx1ZQEFAmFDBQNuaWwDCQAAAgUCYXkJAQt2YWx1ZU9yRWxzZQIFAmFCAgAJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmF0AQUCYXUFA25pbAkAAgEJAKwCAgkArAICCQCsAgICDmludmFsaWQgbm9kZTogBQJhdQIBLgUCYXkBAmFJAAIUJXNfX21hbmFnZXJQdWJsaWNLZXkBAmFKAAIbJXNfX3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5AQJhSwAEAVQJAKIIAQkBAmFJAAMJAAECBQFUAgZTdHJpbmcEAmFMBQFUCQDZBAEFAmFMAwkAAQIFAVQCBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgECYU0ABAFUCQCiCAEJAQJhSgADCQABAgUBVAIGU3RyaW5nBAJhTAUBVAkA2QQBBQJhTAMJAAECBQFUAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IAAmFOCQACAQIRUGVybWlzc2lvbiBkZW5pZWQBAmFPAQJhUAMJAAACCAUCYVAGY2FsbGVyBQR0aGlzBgUCYU4BAmFRAQJhUAQBVAkBAmFLAAMJAAECBQFUAgpCeXRlVmVjdG9yBAJhUgUBVAMJAAACCAUCYVAPY2FsbGVyUHVibGljS2V5BQJhUgYFAmFOAwkAAQIFAVQCBFVuaXQJAQJhTwEFAmFQCQACAQILTWF0Y2ggZXJyb3ISAmFQAQpzZXRNYW5hZ2VyAQJhUwQCYVQJAQJhUQEFAmFQAwkAAAIFAmFUBQJhVAQCYVUJANkEAQUCYVMDCQAAAgUCYVUFAmFVCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhSgAFAmFTBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYVABDmNvbmZpcm1NYW5hZ2VyAAQCYVYJAQJhTQAEAmFXAwkBCWlzRGVmaW5lZAEFAmFWBgkAAgECEk5vIHBlbmRpbmcgbWFuYWdlcgMJAAACBQJhVwUCYVcEAmFYAwkAAAIIBQJhUA9jYWxsZXJQdWJsaWNLZXkJAQV2YWx1ZQEFAmFWBgkAAgECG1lvdSBhcmUgbm90IHBlbmRpbmcgbWFuYWdlcgMJAAACBQJhWAUCYVgJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFJAAkA2AQBCQEFdmFsdWUBBQJhVgkAzAgCCQELRGVsZXRlRW50cnkBCQECYUoABQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYVABGGdldFVzZXJHd3hBbW91bnRBdEhlaWdodAICYVkCYVoEAmJhCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkBAVcCBQR0aGlzBQFuAiFpbnZhbGlkIGJvb3N0aW5nIGNvbnRyYWN0IGFkZHJlc3MJAJQKAgUDbmlsCgABWAkA/AcEBQJiYQIgZ2V0VXNlckd3eEFtb3VudEF0SGVpZ2h0UkVBRE9OTFkJAMwIAgUCYVkJAMwIAgUCYVoFA25pbAUDbmlsAwkAAQIFAVgCA0ludAUBWAkAAgEJAKwCAgkAAwEFAVgCGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAJhUAELY29uc3RydWN0b3IFAmFrAmJiAmJjAmJkAmJlBAJiZgkAzAgCCQECYVEBBQJhUAkAzAgCAwkBAiE9AgkApggBBQJhawUEdW5pdAYCIGludmFsaWQgZmFjdG9yeSBjb250cmFjdCBhZGRyZXNzCQDMCAIDCQECIT0CCQCmCAEFAmJiBQR1bml0BgIyaW52YWxpZCB2b3RpbmcgZW1pc3Npb24gY2FuZGlkYXRlIGNvbnRyYWN0IGFkZHJlc3MJAMwIAgMJAQIhPQIJAKYIAQUCYmMFBHVuaXQGAiFpbnZhbGlkIGJvb3N0aW5nIGNvbnRyYWN0IGFkZHJlc3MJAMwIAgMJAQIhPQIJAKYIAQUCYmQFBHVuaXQGAiBpbnZhbGlkIHN0YWtpbmcgY29udHJhY3QgYWRkcmVzcwkAzAgCAwkAZgIFAmJlAAAGCQACAQIUaW52YWxpZCBlcG9jaCBsZW5ndGgFA25pbAMJAAACBQJiZgUCYmYJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQFtBQJhawkAzAgCCQELU3RyaW5nRW50cnkCBQFsBQJiYgkAzAgCCQELU3RyaW5nRW50cnkCBQFuBQJiYwkAzAgCCQELU3RyaW5nRW50cnkCBQFvBQJiZAkAzAgCCQEMSW50ZWdlckVudHJ5AgUBZgUCYmUFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJhUAEGY3JlYXRlAgFCAUMEAmJmCQDMCAIDCQAAAgkA2AQBCAgFAmFQBmNhbGxlcgVieXRlcwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzBQFsAgAGCQECYVEBBQJhUAUDbmlsAwkAAAIFAmJmBQJiZgQBegkAlAoCBQFCBQFDBAJiZwkAzggCCQDMCAIJAQxCb29sZWFuRW50cnkCCQEBeQEFAXoGBQNuaWwJAQJhRQIFAmFxCQEBWgEFAXoEAmJoCQAAAgkAmggCBQR0aGlzBQFqBQR1bml0BAJiaQMFAmJoBAFpAAAJAMwIAgkBDEludGVnZXJFbnRyeQIFAWoFAWkJAMwIAgkBDEludGVnZXJFbnRyeQIJAQF3AQUBaQUGaGVpZ2h0CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFzBQZoZWlnaHQJAMwIAgkBDEludGVnZXJFbnRyeQIFAXQFAWkJAMwIAgkBDEludGVnZXJFbnRyeQIFAXUFBmhlaWdodAUDbmlsBQNuaWwJAJQKAgkAzggCBQJiZwUCYmkFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYVABBHZvdGUDAUIBQwJiagQBegkAlAoCBQFCBQFDBAFpCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAWoAAAQCYmsJAQFZAgUEdGhpcwkBAXcBBQFpBAJiZQkBAVkCBQR0aGlzBQFmBAJibAkAZAIFAmJrBQJiZQQCYm0JAJoIAgUEdGhpcwUBcAQCYm4JAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUQCCAUCYVAGY2FsbGVyBQFpAAAEAmJvCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQFGAwUBeggFAmFQBmNhbGxlcgUBaQAABAJicAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBSAIFAXoFAWkAAAQCYnEJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUwBBQFpAAAEAmJyCgABWAkA/AcEBQR0aGlzAhhnZXRVc2VyR3d4QW1vdW50QXRIZWlnaHQJAMwIAgkA2AQBCAgFAmFQBmNhbGxlcgVieXRlcwkAzAgCBQJibAUDbmlsBQNuaWwDCQABAgUBWAIDSW50BQFYCQACAQkArAICCQADAQUBWAIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50BAJicwkAZQIFAmJyBQJibgQCYnQJAGQCBQJibwUCYmoEAmJ1CQECYW8BBQF6BAJiZgkAzAgCAwkBAiE9AgkAoAgBCQEBeQEFAXoFBHVuaXQGCQACAQIOaW52YWxpZCBhc3NldHMJAMwIAgMJAGYCBQJibAUGaGVpZ2h0BgkAAgECDmludmFsaWQgaGVpZ2h0CQDMCAIDCQAAAgUCYm0FBHVuaXQGCQACAQIYZmluYWxpemF0aW9uIGluIHByb2dyZXNzCQDMCAIDCQBmAgUCYnIAAAYJAAIBAhN5b3UgZG8gbm90IGhhdmUgZ1dYCQDMCAIDAwkAZgIFAmJqAAAJAGcCBQJicwUCYmoHBgkAAgECDmludmFsaWQgYW1vdW50CQDMCAIDBQJidQYJAAIBAh1wb29sIGhhc24ndCBXWF9FTUlTU0lPTiBsYWJlbAUDbmlsAwkAAAIFAmJmBQJiZgQCYnYJAQJhcgEFAXoEAmJ3CQClCAEIBQJhUAZjYWxsZXIEAmJ4AwkBAmFBAgUCYnYFAmJ3BQNuaWwJAQJhRQIFAmJ2BQJidwkAlAoCCQDOCAIJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFEAggFAmFQBmNhbGxlcgUBaQkAZAIFAmJuBQJiagkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAUYDBQF6CAUCYVAGY2FsbGVyBQFpBQJidAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAUgCBQF6BQFpCQBkAgUCYnAFAmJqCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBTAEFAWkJAGQCBQJicQUCYmoFA25pbAUCYngFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYVABCmNhbmNlbFZvdGUCAUIBQwQBegkAlAoCBQFCBQFDBAFpCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAWoAAAQCYmsJAQFZAgUEdGhpcwkBAXcBBQFpBAJiZQkBAVkCBQR0aGlzBQFmBAJibAkAZAIFAmJrBQJiZQQCYm0JAJoIAgUEdGhpcwUBcAQCYm4JAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUQCCAUCYVAGY2FsbGVyBQFpAAAEAmJvCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQFGAwUBeggFAmFQBmNhbGxlcgUBaQAABAJicAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBSAIFAXoFAWkAAAQCYnEJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUwBBQFpAAAEAmJmCQDMCAIDCQECIT0CCQCgCAEJAQF5AQUBegUEdW5pdAYJAAIBAg5pbnZhbGlkIGFzc2V0cwkAzAgCAwkAZgIFAmJsBQZoZWlnaHQGCQACAQIOaW52YWxpZCBoZWlnaHQJAMwIAgMJAAACBQJibQUEdW5pdAYJAAIBAhhmaW5hbGl6YXRpb24gaW4gcHJvZ3Jlc3MJAMwIAgMJAGYCBQJibwAABgkAAgECB25vIHZvdGUFA25pbAMJAAACBQJiZgUCYmYEAmJ2CQECYXIBBQF6BAJidwkApQgBCAUCYVAGY2FsbGVyCQCUCgIJAM4IAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAUQCCAUCYVAGY2FsbGVyBQFpCQCWAwEJAMwIAgkAZQIFAmJuBQJibwkAzAgCAAAFA25pbAkAzAgCCQELRGVsZXRlRW50cnkBCQEBRgMFAXoIBQJhUAZjYWxsZXIFAWkJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFIAgUBegUBaQkAZQIFAmJwBQJibwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAUwBBQFpCQBlAgUCYnEFAmJvBQNuaWwJAQJhSAIFAmJ2BQJidwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJhUAEOc2V0RXBvY2hMZW5ndGgBAmJ5BAJiZgkAzAgCCQECYVEBBQJhUAkAzAgCAwkAZgIFAmJ5AAAGCQACAQIUaW52YWxpZCBlcG9jaCBsZW5ndGgFA25pbAMJAAACBQJiZgUCYmYJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUBZwUCYnkFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJhUAELc2V0TWF4RGVwdGgBAmJ6BAJiZgkAzAgCCQECYVEBBQJhUAkAzAgCAwkAZgIFAmJ6AAAGCQACAQIRaW52YWxpZCBtYXggZGVwdGgFA25pbAMJAAACBQJiZgUCYmYJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUBawUCYnoFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJhUAETcHJvY2Vzc1ZvdGVJTlRFUk5BTAICYkECYncEAmFUCQECYU8BBQJhUAMJAAACBQJhVAUCYVQEAmFZCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQUCYncJAKwCAgIqcHJvY2Vzc1ZvdGVJTlRFUk5BTDogaW52YWxpZCB1c2VyIGFkZHJlc3MgBQJidwQBaQkBAVkCBQR0aGlzBQFqBAJiQgkAZQIFAWkAAQQCYmUJAQFZAgUEdGhpcwUBZgQCYmsJAQFZAgUEdGhpcwkBAXcBBQFpBAJibAkAZAIFAmJrBQJiZQQCYkMJAQFZAgUEdGhpcwkBAXcBBQJiQgQCYkQJAQFZAgUEdGhpcwkBAWgBBQJiQgQCYkUJAGQCBQJiQwUCYkQEAmJGAwkAZwIFAmJCAAAGCQACAQIrcHJvY2Vzc1ZvdGVJTlRFUk5BTDogaW52YWxpZCBwcmV2aW91cyBlcG9jaAMJAAACBQJiRgUCYkYEAXoJAQJhYQEFAmJBBAJiRwUBegQBQggFAmJHAl8xBAFDCAUCYkcCXzIEAmJ1CQECYW8BBQF6BAJicgoAAVgJAPwHBAUEdGhpcwIYZ2V0VXNlckd3eEFtb3VudEF0SGVpZ2h0CQDMCAIFAmJ3CQDMCAIFAmJsBQNuaWwFA25pbAMJAAECBQFYAgNJbnQFAVgJAAIBCQCsAgIJAAMBBQFYAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQEAmJICgABWAkA/AcEBQR0aGlzAhhnZXRVc2VyR3d4QW1vdW50QXRIZWlnaHQJAMwIAgUCYncJAMwIAgUCYkUFA25pbAUDbmlsAwkAAQIFAVgCA0ludAUBWAkAAgEJAKwCAgkAAwEFAVgCGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAQCYnEJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBAUwBBQFpAAAEAmJJCQELdmFsdWVPckVsc2UCCQCfCAEJAQFIAgUBegUBaQAABAJiSgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCfCAEJAQFGAwUBegUCYVkFAmJCCQCsAgIJAKwCAgkArAICCQCsAgICFHByb2Nlc3NWb3RlSU5URVJOQUwgBQJiQQIBIAUCYncCEjogbm8gcHJldmlvdXMgdm90ZQQCYm4JAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUQCBQJhWQUBaQAABAJidAMJAGYCBQJiSAAACQBrAwUCYkoFAmJyBQJiSAAABAJiSwMDCQBmAgUCYnQAAAUCYnUHCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBRgMFAXoFAmFZBQFpBQJidAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAUwBBQFpCQBkAgUCYnEFAmJ0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBSAIFAXoFAWkJAGQCBQJiSQUCYnQJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFEAgUCYVkFAWkJAGQCBQJibgUCYnQFA25pbAkBAmFIAgkBAmFyAQUBegUCYncJAJQKAgUCYksFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYVABE3Byb2Nlc3NQb29sSU5URVJOQUwCAmJBAmJMBAJhVAkBAmFPAQUCYVADCQAAAgUCYVQFAmFUBAJiTQQCYk4JAQFZAgUEdGhpcwUBagMFAmJMBQJiTgkAZQIFAmJOAAEEAmJGAwkAZwIFAmJNAAAGCQACAQIpcHJvY2Vzc1Bvb2xJTlRFUk5BTDogaW52YWxpZCB0YXJnZXQgZXBvY2gDCQAAAgUCYkYFAmJGBAF6CQECYWEBBQJiQQQCYk8FAXoEAUIIBQJiTwJfMQQBQwgFAmJPAl8yBAJiZAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAVcCBQR0aGlzBQFvBAJhawkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAVcCBQR0aGlzBQFtBAJhbgkBAmFjAgUBQgUBQwQCYlAKAAFYCQD8BwQFAmJkAhJ1c2Vyc0xpc3RUcmF2ZXJzYWwJAMwIAgUCYW4FA25pbAUDbmlsAwkAAQIFAVgCB0Jvb2xlYW4FAVgJAAIBCQCsAgIJAAMBBQFYAhwgY291bGRuJ3QgYmUgY2FzdCB0byBCb29sZWFuAwkAAAIFAmJQBQJiUAMFAmJQCQCUCgIFA25pbAYEAmJ1CQECYW8BBQF6BAJicQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBTAEFAmJNAAAEAmJJCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQFIAgUBegUCYk0AAAQCYlEDAwkAAAIFAmJxAAAGCQEBIQEFAmJ1AAAJAGsDBQJiSQUBYgUCYnEEAmJSCQD8BwQFAmFrAgxtb2RpZnlXZWlnaHQJAMwIAgUCYW4JAMwIAgUCYlEFA25pbAUDbmlsAwkAAAIFAmJSBQJiUgQCYlMDAwUCYnUGBQJiTAUDbmlsCQDOCAIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAXkBBQF6BQNuaWwJAQJhSAIFAmFxBQJiQQkAlAoCCQDOCAIJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFKAgUBegUCYk0FAmJRBQNuaWwFAmJTBwkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJhUAEOZmluYWxpemVIZWxwZXIABAJiTAkBC3ZhbHVlT3JFbHNlAgkAoAgBBQF2BwQBaQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQFqAAAEAmJUCQBlAgUBaQABBAJiawkBAVkCBQR0aGlzCQEBdwEFAWkEAmJlCQEBWQIFBHRoaXMFAWYEAmJsCQBkAgUCYmsFAmJlBAJibQkAmggCBQR0aGlzBQFwAwMDCQBnAgUGaGVpZ2h0BQJibAkAAAIFAmJtBQR1bml0BwkBASEBBQJiTAcEAmJVCQBkAgUBaQABBAJiVgkAmggCBQR0aGlzBQFnBAJiVwQBVAUCYlYDCQABAgUBVAIDSW50BAJieQUBVAkAzAgCCQEMSW50ZWdlckVudHJ5AgUBZgUCYnkJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBZwUDbmlsAwkAAQIFAVQCBFVuaXQFA25pbAkAAgECC01hdGNoIGVycm9yCQCUCgIJAM4IAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAXcBBQJiVQUGaGVpZ2h0CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFzBQZoZWlnaHQJAMwIAgkBDEludGVnZXJFbnRyeQIFAWoFAmJVCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFwBQFkCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBaAEFAWkFAmJlBQNuaWwFAmJXBgMDBQJiTAkAAAIFAmJtBQR1bml0BwkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFwBQFlBQNuaWwGAwkAAAIFAmJtBQR1bml0CQCUCgIFA25pbAcDCQAAAgUCYm0FAWQEAmJYCQCiCAEFAXEEAmJZCQCiCAEFAXIEAVQFAmJYAwkAAQIFAVQCBFVuaXQEAmJaCQCiCAEJAQJhdAEFAmFxAwkAAQIFAmJaAgRVbml0CQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFAXAFAWUJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBcQkAzAgCCQELRGVsZXRlRW50cnkBBQFyBQNuaWwGAwkAAQIFAmJaAgZTdHJpbmcEAmNhBQJiWgkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIFAXEFAmNhBQNuaWwGCQACAQILTWF0Y2ggZXJyb3IDCQABAgUBVAIGU3RyaW5nBAJiQQUBVAQBegkBAmFhAQUCYkEEAmNiBAJiWgUCYlkDCQABAgUCYloCBFVuaXQJAKIIAQkBAmF0AQkBAmFyAQUBegMJAAECBQJiWgIGU3RyaW5nBAJjYwUCYloEAmNkCQCiCAEJAQJhegIJAQJhcgEFAXoFAmNjAwkAAAIFAmNkBQJjZAQCY2UJAPwHBAUEdGhpcwITcHJvY2Vzc1ZvdGVJTlRFUk5BTAkAzAgCBQJiQQkAzAgCBQJjYwUDbmlsBQNuaWwDCQAAAgUCY2UFAmNlBQJjZAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECC01hdGNoIGVycm9yBAJiWgUCY2IDCQABAgUCYloCBFVuaXQEAmNmCQCiCAEJAQJhegIFAmFxBQJiQQQCY2cFAmNmAwkAAQIFAmNnAgRVbml0CQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFAXAFAWUJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBcQkAzAgCCQELRGVsZXRlRW50cnkBBQFyBQNuaWwGAwkAAQIFAmNnAgZTdHJpbmcEAmFMBQJjZwkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIFAXEFAmFMCQDMCAIJAQtEZWxldGVFbnRyeQEFAXIFA25pbAYJAAIBAgtNYXRjaCBlcnJvcgMJAAECBQJiWgIGU3RyaW5nBAJjaAUCYloJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQFyBQJjaAUDbmlsBgkAAgECC01hdGNoIGVycm9yCQACAQILTWF0Y2ggZXJyb3IDCQAAAgUCYm0FAWUEAmJYCQCiCAEFAXEEAVQFAmJYAwkAAQIFAVQCBFVuaXQEAmJaCQCiCAEJAQJhdAEFAmFxAwkAAQIFAmJaAgRVbml0BAJiSwMFAmJMCQDMCAIJAQtEZWxldGVFbnRyeQEFAXAJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBdgUDbmlsCQDMCAIJAQtEZWxldGVFbnRyeQEFAXAJAMwIAgkBDEJvb2xlYW5FbnRyeQIJAQF4AQUCYlQGCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQF0BQFpCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQF1BQJiawUDbmlsCQCUCgIFAmJLBgMJAAECBQJiWgIGU3RyaW5nBAJjaQUCYloJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQFxBQJjaQUDbmlsBgkAAgECC01hdGNoIGVycm9yAwkAAQIFAVQCBlN0cmluZwQCYkEFAVQEAmNmCQCiCAEJAQJhegIFAmFxBQJiQQMJAAACBQJjZgUCY2YEAmJQCgABWAkA/AcEBQR0aGlzAhNwcm9jZXNzUG9vbElOVEVSTkFMCQDMCAIFAmJBCQDMCAIFAmJMBQNuaWwFA25pbAMJAAECBQFYAgdCb29sZWFuBQFYCQACAQkArAICCQADAQUBWAIcIGNvdWxkbid0IGJlIGNhc3QgdG8gQm9vbGVhbgMJAAACBQJiUAUCYlADBQJiUAkAlAoCBQNuaWwGBAJiWgUCY2YDCQABAgUCYloCBFVuaXQEAmJLAwUCYkwJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBcAkAzAgCCQELRGVsZXRlRW50cnkBBQF2CQDMCAIJAQtEZWxldGVFbnRyeQEFAXEFA25pbAkAzAgCCQELRGVsZXRlRW50cnkBBQFwCQDMCAIJAQxCb29sZWFuRW50cnkCCQEBeAEFAmJUBgkAzAgCCQEMSW50ZWdlckVudHJ5AgUBdAUBaQkAzAgCCQEMSW50ZWdlckVudHJ5AgUBdQUCYmsJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBcQUDbmlsCQCUCgIFAmJLBgMJAAECBQJiWgIGU3RyaW5nBAJjaQUCYloJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQFxBQJjaQUDbmlsBgkAAgECC01hdGNoIGVycm9yCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQILTWF0Y2ggZXJyb3IJAAIBAhZmaW5hbGl6YXRpb24gaXMgYnJva2VuAmFQAQ9maW5hbGl6ZVdyYXBwZXIBAmNqBAJjawoAAVgJAPwHBAUEdGhpcwIOZmluYWxpemVIZWxwZXIFA25pbAUDbmlsAwkAAQIFAVgCB0Jvb2xlYW4FAVgJAAIBCQCsAgIJAAMBBQFYAhwgY291bGRuJ3QgYmUgY2FzdCB0byBCb29sZWFuAwkAAAIFAmNrBQJjawMJAQEhAQUCY2sDCQAAAgUCY2oAAAkAAgECHkN1cnJlbnQgdm90aW5nIGlzIG5vdCBvdmVyIHlldAkAlAoCBQNuaWwFBHVuaXQEAmNsCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAWsFAWMDCQBmAgUCY2wFAmNqBAJjbQkA/AcEBQR0aGlzAg9maW5hbGl6ZVdyYXBwZXIJAMwIAgkAZAIFAmNqAAEFA25pbAUDbmlsAwkAAAIFAmNtBQJjbQkAlAoCBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAJQKAgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFQAQhmaW5hbGl6ZQAEAmNtCQD8BwQFBHRoaXMCD2ZpbmFsaXplV3JhcHBlcgkAzAgCAAAFA25pbAUDbmlsAwkAAAIFAmNtBQJjbQkAlAoCBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYVABFGNvbnRhaW5zTm9kZVJFQURPTkxZAgJhdQJheQkAlAoCBQNuaWwJAQJhQQIFAmF1BQJheQJhUAEKaW5zZXJ0Tm9kZQICYXUCYXkEAmFUCQECYVEBBQJhUAMJAAACBQJhVAUCYVQJAJQKAgkBAmFFAgUCYXUFAmF5BQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFQAQpkZWxldGVOb2RlAgJhdQJheQQCYVQJAQJhUQEFAmFQAwkAAAIFAmFUBQJhVAkAlAoCCQECYUgCBQJhdQUCYXkFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYVABE2dldFZvdGVJbmZvUkVBRE9OTFkCAmNuAmJ3BAJhWQkBEUBleHRyTmF0aXZlKDEwNjIpAQUCYncEAmFrCQERQGV4dHJOYXRpdmUoMTA2MikBCQEBVwIFBHRoaXMFAW0EAmNvAAQEAmNwAAUEAmNxCgABWAkA/AcEBQJhawIYZ2V0UG9vbENvbmZpZ0J5THBBc3NldElkCQDMCAIFAmNuBQNuaWwFA25pbAMJAAECBQFYAglMaXN0W0FueV0FAVgJAAIBCQCsAgIJAAMBBQFYAh4gY291bGRuJ3QgYmUgY2FzdCB0byBMaXN0W0FueV0EAUIKAAFYCQCRAwIFAmNxBQJjbwMJAAECBQFYAgZTdHJpbmcFAVgJAAIBCQCsAgIJAAMBBQFYAhsgY291bGRuJ3QgYmUgY2FzdCB0byBTdHJpbmcEAUMKAAFYCQCRAwIFAmNxBQJjcAMJAAECBQFYAgZTdHJpbmcFAVgJAAIBCQCsAgIJAAMBBQFYAhsgY291bGRuJ3QgYmUgY2FzdCB0byBTdHJpbmcEAmNyBAFpCQBlAgkBBXZhbHVlAQkAmggCBQR0aGlzBQFqAAEDCQBmAgAABQFpCQEBTwECDWludmFsaWQgZXBvY2gFAWkEAXoJAJQKAgUBQgUBQwQCY3MJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUYDBQF6BQJhWQUCY3IAAAQCYnAJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUgCBQF6BQJjcgAACQCUCgIFA25pbAkAlAoCBQJjcwUCYnABAmN0AQJjdQAEAmN2BAFUCQECYUsAAwkAAQIFAVQCCkJ5dGVWZWN0b3IEAmFSBQFUBQJhUgMJAAECBQFUAgRVbml0CAUCY3QPc2VuZGVyUHVibGljS2V5CQACAQILTWF0Y2ggZXJyb3IJAPQDAwgFAmN0CWJvZHlCeXRlcwkAkQMCCAUCY3QGcHJvb2ZzAAAFAmN2KKQz7g==", "height": 2450618, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: C2TKiv8yMgfGBvHDGNFcHnkpWt4BM2DsPF9gb8TuCEpp Next: 9wNALryRHbvVdvYgPVX7w4vGaoXZQLuQt8cmdKQu1BjK Diff:
OldNewDifferences
8888 func L (i) = makeString(["%s%d", "totalVotes", toString(i)], a)
8989
9090
91-func M (E,N,O) = {
92- let P = makeString(["mandatory ", toString(E), ".", N, " is not defined"], "")
91+func M (N) = makeString(["voting_emission.ride:", N], " ")
92+
93+
94+func O (N) = throw(M(N))
95+
96+
97+func P (E,Q,R) = {
98+ let S = makeString(["mandatory ", toString(E), ".", Q, " is not defined"], "")
9399 valueOrErrorMessage({
94- let Q = O
95- if ($isInstanceOf(Q, "String"))
100+ let T = R
101+ if ($isInstanceOf(T, "String"))
96102 then {
97- let R = Q
98- getString(E, N)
103+ let U = T
104+ getString(E, Q)
99105 }
100- else if ($isInstanceOf(Q, "Int"))
106+ else if ($isInstanceOf(T, "Int"))
101107 then {
102- let S = Q
103- getInteger(E, N)
108+ let V = T
109+ getInteger(E, Q)
104110 }
105111 else throw("invalid entry type")
106- }, P)
112+ }, S)
107113 }
108114
109115
110-func T (E,N) = {
111- let U = M(E, N, "")
112- if ($isInstanceOf(U, "String"))
113- then U
114- else throw(($getType(U) + " couldn't be cast to String"))
116+func W (E,Q) = {
117+ let X = P(E, Q, "")
118+ if ($isInstanceOf(X, "String"))
119+ then X
120+ else throw(($getType(X) + " couldn't be cast to String"))
115121 }
116122
117123
118-func V (E,N) = {
119- let U = M(E, N, 0)
120- if ($isInstanceOf(U, "Int"))
121- then U
122- else throw(($getType(U) + " couldn't be cast to Int"))
124+func Y (E,Q) = {
125+ let X = P(E, Q, 0)
126+ if ($isInstanceOf(X, "Int"))
127+ then X
128+ else throw(($getType(X) + " couldn't be cast to Int"))
123129 }
124130
125131
126-func W (z) = ((z._1 + a) + z._2)
132+func Z (z) = ((z._1 + a) + z._2)
127133
128134
129-func X (R) = {
130- let Y = split(R, a)
131- if ((size(Y) == 2))
132- then $Tuple2(Y[0], Y[1])
135+func aa (U) = {
136+ let ab = split(U, a)
137+ if ((size(ab) == 2))
138+ then $Tuple2(ab[0], ab[1])
133139 else throw("invalid pool string")
134140 }
135141
136142
137-func Z (B,C) = {
138- func aa (ab) = ("%s%s%s__mappings__baseAsset2internalId__" + ab)
143+func ac (B,C) = {
144+ func ad (ae) = ("%s%s%s__mappings__baseAsset2internalId__" + ae)
139145
140- func ac (ad,ae) = (((("%d%d%s%s__" + toString(ad)) + "__") + toString(ae)) + "__mappings__poolAssets2PoolContract")
146+ func af (ag,ah) = (((("%d%d%s%s__" + toString(ag)) + "__") + toString(ah)) + "__mappings__poolAssets2PoolContract")
141147
142- func af (ag) = (("%s%s%s__" + ag) + "__mappings__poolContract2LpAsset")
148+ func ai (aj) = (("%s%s%s__" + aj) + "__mappings__poolContract2LpAsset")
143149
144- let ah = addressFromStringValue(T(this, m))
145- let ai = V(ah, aa(B))
146- let aj = V(ah, aa(C))
147- let ag = T(ah, ac(ai, aj))
148- let ak = T(ah, af(ag))
149- ak
150+ let ak = addressFromStringValue(W(this, m))
151+ let al = Y(ak, ad(B))
152+ let am = Y(ak, ad(C))
153+ let aj = W(ak, af(al, am))
154+ let an = W(ak, ai(aj))
155+ an
150156 }
151157
152-
153-func al (z) = {
154- let am = z
155- let B = am._1
156- let C = am._2
157- let ah = addressFromStringValue(T(this, m))
158- let U = invoke(ah, "checkWxEmissionPoolLabel", [B, C], nil)
159- if ($isInstanceOf(U, "Boolean"))
160- then U
161- else throw(($getType(U) + " couldn't be cast to Boolean"))
162- }
163-
164-
165-let an = "pools"
166158
167159 func ao (z) = {
168160 let ap = z
169161 let B = ap._1
170162 let C = ap._2
163+ let ak = addressFromStringValue(W(this, m))
164+ let X = invoke(ak, "checkWxEmissionPoolLabel", [B, C], nil)
165+ if ($isInstanceOf(X, "Boolean"))
166+ then X
167+ else throw(($getType(X) + " couldn't be cast to Boolean"))
168+ }
169+
170+
171+let aq = "pools"
172+
173+func ar (z) = {
174+ let as = z
175+ let B = as._1
176+ let C = as._2
171177 makeString(["votes", B, C], a)
172178 }
173179
174180
175-func aq (ar) = {
176- let as = if ((ar == an))
181+func at (au) = {
182+ let av = if ((au == aq))
177183 then "%s%s"
178184 else "%s%s%s%s"
179- makeString([as, ar, "head"], a)
185+ makeString([av, au, "head"], a)
180186 }
181187
182188
183-func at (ar) = {
184- let as = if ((ar == an))
189+func aw (au) = {
190+ let av = if ((au == aq))
185191 then "%s%s"
186192 else "%s%s%s%s"
187- makeString([as, ar, "size"], a)
193+ makeString([av, au, "size"], a)
188194 }
189195
190196
191-func au (ar,av) = {
192- let as = if ((ar == an))
197+func ax (au,ay) = {
198+ let av = if ((au == aq))
193199 then "%s%s%s%s"
194200 else "%s%s%s%s%s"
195- makeString([as, ar, av, "prev"], a)
201+ makeString([av, au, ay, "prev"], a)
196202 }
197203
198204
199-func aw (ar,av) = {
200- let as = if ((ar == an))
205+func az (au,ay) = {
206+ let av = if ((au == aq))
201207 then "%s%s%s%s"
202208 else "%s%s%s%s%s"
203- makeString([as, ar, av, "next"], a)
209+ makeString([av, au, ay, "next"], a)
204210 }
205211
206212
207-func ax (ar,av) = {
208- let ay = getString(this, aq(ar))
209- let az = getString(this, au(ar, av))
210- let aA = getString(this, aw(ar, av))
211- if (if ((av == valueOrElse(ay, "")))
213+func aA (au,ay) = {
214+ let aB = getString(this, at(au))
215+ let aC = getString(this, ax(au, ay))
216+ let aD = getString(this, az(au, ay))
217+ if (if ((ay == valueOrElse(aB, "")))
212218 then true
213- else (az != unit))
219+ else (aC != unit))
214220 then true
215- else (aA != unit)
221+ else (aD != unit)
216222 }
217223
218224
219-func aB (ar,av) = {
220- let ay = getString(this, aq(ar))
221- let aC = valueOrElse(getInteger(this, at(ar)), 0)
222- let aD = if (!(ax(ar, av)))
225+func aE (au,ay) = {
226+ let aB = getString(this, at(au))
227+ let aF = valueOrElse(getInteger(this, aw(au)), 0)
228+ let aG = if (!(aA(au, ay)))
223229 then true
224230 else throw("Node exists")
225- if ((aD == aD))
226- then (([IntegerEntry(at(ar), (aC + 1))] ++ (if ((ay != unit))
227- then [StringEntry(aw(ar, av), value(ay)), StringEntry(au(ar, value(ay)), av)]
228- else nil)) ++ [StringEntry(aq(ar), av)])
231+ if ((aG == aG))
232+ then (([IntegerEntry(aw(au), (aF + 1))] ++ (if ((aB != unit))
233+ then [StringEntry(az(au, ay), value(aB)), StringEntry(ax(au, value(aB)), ay)]
234+ else nil)) ++ [StringEntry(at(au), ay)])
229235 else throw("Strict value is not equal to itself.")
230236 }
231237
232238
233-func aE (ar,av) = {
234- let ay = getString(this, aq(ar))
235- let aC = valueOrElse(getInteger(this, at(ar)), 0)
236- let az = getString(this, au(ar, av))
237- let aA = getString(this, aw(ar, av))
238- ([IntegerEntry(at(ar), (aC - 1))] ++ (if (if ((az != unit))
239- then (aA != unit)
239+func aH (au,ay) = {
240+ let aB = getString(this, at(au))
241+ let aF = valueOrElse(getInteger(this, aw(au)), 0)
242+ let aC = getString(this, ax(au, ay))
243+ let aD = getString(this, az(au, ay))
244+ ([IntegerEntry(aw(au), (aF - 1))] ++ (if (if ((aC != unit))
245+ then (aD != unit)
240246 else false)
241- then [StringEntry(aw(ar, value(az)), value(aA)), StringEntry(au(ar, value(aA)), value(az)), DeleteEntry(au(ar, av)), DeleteEntry(aw(ar, av))]
242- else if ((aA != unit))
243- then [StringEntry(aq(ar), value(aA)), DeleteEntry(aw(ar, av)), DeleteEntry(au(ar, value(aA)))]
244- else if ((az != unit))
245- then [DeleteEntry(au(ar, av)), DeleteEntry(aw(ar, value(az)))]
246- else if ((av == valueOrElse(ay, "")))
247- then [DeleteEntry(aq(ar))]
248- else throw(((("invalid node: " + ar) + ".") + av))))
247+ then [StringEntry(az(au, value(aC)), value(aD)), StringEntry(ax(au, value(aD)), value(aC)), DeleteEntry(ax(au, ay)), DeleteEntry(az(au, ay))]
248+ else if ((aD != unit))
249+ then [StringEntry(at(au), value(aD)), DeleteEntry(az(au, ay)), DeleteEntry(ax(au, value(aD)))]
250+ else if ((aC != unit))
251+ then [DeleteEntry(ax(au, ay)), DeleteEntry(az(au, value(aC)))]
252+ else if ((ay == valueOrElse(aB, "")))
253+ then [DeleteEntry(at(au))]
254+ else throw(((("invalid node: " + au) + ".") + ay))))
249255 }
250256
251257
252-func aF () = "%s__managerPublicKey"
258+func aI () = "%s__managerPublicKey"
253259
254260
255-func aG () = "%s__pendingManagerPublicKey"
261+func aJ () = "%s__pendingManagerPublicKey"
256262
257263
258-func aH () = {
259- let Q = getString(aF())
260- if ($isInstanceOf(Q, "String"))
264+func aK () = {
265+ let T = getString(aI())
266+ if ($isInstanceOf(T, "String"))
261267 then {
262- let aI = Q
263- fromBase58String(aI)
268+ let aL = T
269+ fromBase58String(aL)
264270 }
265- else if ($isInstanceOf(Q, "Unit"))
271+ else if ($isInstanceOf(T, "Unit"))
266272 then unit
267273 else throw("Match error")
268274 }
269275
270276
271-func aJ () = {
272- let Q = getString(aG())
273- if ($isInstanceOf(Q, "String"))
277+func aM () = {
278+ let T = getString(aJ())
279+ if ($isInstanceOf(T, "String"))
274280 then {
275- let aI = Q
276- fromBase58String(aI)
281+ let aL = T
282+ fromBase58String(aL)
277283 }
278- else if ($isInstanceOf(Q, "Unit"))
284+ else if ($isInstanceOf(T, "Unit"))
279285 then unit
280286 else throw("Match error")
281287 }
282288
283289
284-let aK = throw("Permission denied")
290+let aN = throw("Permission denied")
285291
286-func aL (aM) = if ((aM.caller == this))
292+func aO (aP) = if ((aP.caller == this))
287293 then true
288- else aK
294+ else aN
289295
290296
291-func aN (aM) = {
292- let Q = aH()
293- if ($isInstanceOf(Q, "ByteVector"))
297+func aQ (aP) = {
298+ let T = aK()
299+ if ($isInstanceOf(T, "ByteVector"))
294300 then {
295- let aO = Q
296- if ((aM.callerPublicKey == aO))
301+ let aR = T
302+ if ((aP.callerPublicKey == aR))
297303 then true
298- else aK
304+ else aN
299305 }
300- else if ($isInstanceOf(Q, "Unit"))
301- then aL(aM)
306+ else if ($isInstanceOf(T, "Unit"))
307+ then aO(aP)
302308 else throw("Match error")
303309 }
304310
305311
306-@Callable(aM)
307-func setManager (aP) = {
308- let aQ = aN(aM)
309- if ((aQ == aQ))
312+@Callable(aP)
313+func setManager (aS) = {
314+ let aT = aQ(aP)
315+ if ((aT == aT))
310316 then {
311- let aR = fromBase58String(aP)
312- if ((aR == aR))
313- then [StringEntry(aG(), aP)]
317+ let aU = fromBase58String(aS)
318+ if ((aU == aU))
319+ then [StringEntry(aJ(), aS)]
314320 else throw("Strict value is not equal to itself.")
315321 }
316322 else throw("Strict value is not equal to itself.")
318324
319325
320326
321-@Callable(aM)
327+@Callable(aP)
322328 func confirmManager () = {
323- let aS = aJ()
324- let aT = if (isDefined(aS))
329+ let aV = aM()
330+ let aW = if (isDefined(aV))
325331 then true
326332 else throw("No pending manager")
327- if ((aT == aT))
333+ if ((aW == aW))
328334 then {
329- let aU = if ((aM.callerPublicKey == value(aS)))
335+ let aX = if ((aP.callerPublicKey == value(aV)))
330336 then true
331337 else throw("You are not pending manager")
332- if ((aU == aU))
333- then [StringEntry(aF(), toBase58String(value(aS))), DeleteEntry(aG())]
338+ if ((aX == aX))
339+ then [StringEntry(aI(), toBase58String(value(aV))), DeleteEntry(aJ())]
334340 else throw("Strict value is not equal to itself.")
335341 }
336342 else throw("Strict value is not equal to itself.")
338344
339345
340346
341-@Callable(aM)
342-func getUserGwxAmountAtHeight (aV,aW) = {
343- let aX = valueOrErrorMessage(addressFromString(T(this, n)), "invalid boosting contract address")
347+@Callable(aP)
348+func getUserGwxAmountAtHeight (aY,aZ) = {
349+ let ba = valueOrErrorMessage(addressFromString(W(this, n)), "invalid boosting contract address")
344350 $Tuple2(nil, {
345- let U = invoke(aX, "getUserGwxAmountAtHeightREADONLY", [aV, aW], nil)
346- if ($isInstanceOf(U, "Int"))
347- then U
348- else throw(($getType(U) + " couldn't be cast to Int"))
351+ let X = invoke(ba, "getUserGwxAmountAtHeightREADONLY", [aY, aZ], nil)
352+ if ($isInstanceOf(X, "Int"))
353+ then X
354+ else throw(($getType(X) + " couldn't be cast to Int"))
349355 })
350356 }
351357
352358
353359
354-@Callable(aM)
355-func constructor (ah,aY,aZ,ba,bb) = {
356- let bc = [aN(aM), if ((addressFromString(ah) != unit))
360+@Callable(aP)
361+func constructor (ak,bb,bc,bd,be) = {
362+ let bf = [aQ(aP), if ((addressFromString(ak) != unit))
357363 then true
358- else "invalid factory contract address", if ((addressFromString(aY) != unit))
364+ else "invalid factory contract address", if ((addressFromString(bb) != unit))
359365 then true
360- else "invalid voting emission candidate contract address", if ((addressFromString(aZ) != unit))
366+ else "invalid voting emission candidate contract address", if ((addressFromString(bc) != unit))
361367 then true
362- else "invalid boosting contract address", if ((addressFromString(ba) != unit))
368+ else "invalid boosting contract address", if ((addressFromString(bd) != unit))
363369 then true
364- else "invalid staking contract address", if ((bb > 0))
370+ else "invalid staking contract address", if ((be > 0))
365371 then true
366372 else throw("invalid epoch length")]
367- if ((bc == bc))
368- then $Tuple2([StringEntry(m, ah), StringEntry(l, aY), StringEntry(n, aZ), StringEntry(o, ba), IntegerEntry(f, bb)], unit)
373+ if ((bf == bf))
374+ then $Tuple2([StringEntry(m, ak), StringEntry(l, bb), StringEntry(n, bc), StringEntry(o, bd), IntegerEntry(f, be)], unit)
369375 else throw("Strict value is not equal to itself.")
370376 }
371377
372378
373379
374-@Callable(aM)
380+@Callable(aP)
375381 func create (B,C) = {
376- let bc = [if ((toBase58String(aM.caller.bytes) == valueOrElse(getString(this, l), "")))
382+ let bf = [if ((toBase58String(aP.caller.bytes) == valueOrElse(getString(this, l), "")))
377383 then true
378- else aN(aM)]
379- if ((bc == bc))
384+ else aQ(aP)]
385+ if ((bf == bf))
380386 then {
381387 let z = $Tuple2(B, C)
382- let bd = ([BooleanEntry(y(z), true)] ++ aB(an, W(z)))
383- let be = (getInteger(this, j) == unit)
384- let bf = if (be)
388+ let bg = ([BooleanEntry(y(z), true)] ++ aE(aq, Z(z)))
389+ let bh = (getInteger(this, j) == unit)
390+ let bi = if (bh)
385391 then {
386392 let i = 0
387393 [IntegerEntry(j, i), IntegerEntry(w(i), height), IntegerEntry(s, height), IntegerEntry(t, i), IntegerEntry(u, height)]
388394 }
389395 else nil
390- $Tuple2((bd ++ bf), unit)
396+ $Tuple2((bg ++ bi), unit)
391397 }
392398 else throw("Strict value is not equal to itself.")
393399 }
394400
395401
396402
397-@Callable(aM)
398-func vote (B,C,bg) = {
403+@Callable(aP)
404+func vote (B,C,bj) = {
399405 let z = $Tuple2(B, C)
400406 let i = valueOrElse(getInteger(this, j), 0)
401- let bh = V(this, w(i))
402- let bb = V(this, f)
403- let bi = (bh + bb)
404- let bj = getInteger(this, p)
405- let bk = valueOrElse(getInteger(this, D(aM.caller, i)), 0)
406- let bl = valueOrElse(getInteger(this, F(z, aM.caller, i)), 0)
407- let bm = valueOrElse(getInteger(this, H(z, i)), 0)
408- let bn = valueOrElse(getInteger(this, L(i)), 0)
409- let bo = {
410- let U = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(aM.caller.bytes), bi], nil)
411- if ($isInstanceOf(U, "Int"))
412- then U
413- else throw(($getType(U) + " couldn't be cast to Int"))
407+ let bk = Y(this, w(i))
408+ let be = Y(this, f)
409+ let bl = (bk + be)
410+ let bm = getInteger(this, p)
411+ let bn = valueOrElse(getInteger(this, D(aP.caller, i)), 0)
412+ let bo = valueOrElse(getInteger(this, F(z, aP.caller, i)), 0)
413+ let bp = valueOrElse(getInteger(this, H(z, i)), 0)
414+ let bq = valueOrElse(getInteger(this, L(i)), 0)
415+ let br = {
416+ let X = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(aP.caller.bytes), bl], nil)
417+ if ($isInstanceOf(X, "Int"))
418+ then X
419+ else throw(($getType(X) + " couldn't be cast to Int"))
414420 }
415- let bp = (bo - bk)
416- let bq = (bl + bg)
417- let br = al(z)
418- let bc = [if ((getBoolean(y(z)) != unit))
421+ let bs = (br - bn)
422+ let bt = (bo + bj)
423+ let bu = ao(z)
424+ let bf = [if ((getBoolean(y(z)) != unit))
419425 then true
420- else throw("invalid assets"), if ((bi > height))
426+ else throw("invalid assets"), if ((bl > height))
421427 then true
422- else throw("invalid height"), if ((bj == unit))
428+ else throw("invalid height"), if ((bm == unit))
423429 then true
424- else throw("finalization in progress"), if ((bo > 0))
430+ else throw("finalization in progress"), if ((br > 0))
425431 then true
426- else throw("you do not have gWX"), if (if ((bg > 0))
427- then (bp >= bg)
432+ else throw("you do not have gWX"), if (if ((bj > 0))
433+ then (bs >= bj)
428434 else false)
429435 then true
430- else throw("invalid amount"), if (br)
436+ else throw("invalid amount"), if (bu)
431437 then true
432438 else throw("pool hasn't WX_EMISSION label")]
433- if ((bc == bc))
439+ if ((bf == bf))
434440 then {
435- let bs = ao(z)
436- let bt = toString(aM.caller)
437- let bu = if (ax(bs, bt))
441+ let bv = ar(z)
442+ let bw = toString(aP.caller)
443+ let bx = if (aA(bv, bw))
438444 then nil
439- else aB(bs, bt)
440- $Tuple2(([IntegerEntry(D(aM.caller, i), (bk + bg)), IntegerEntry(F(z, aM.caller, i), bq), IntegerEntry(H(z, i), (bm + bg)), IntegerEntry(L(i), (bn + bg))] ++ bu), unit)
445+ else aE(bv, bw)
446+ $Tuple2(([IntegerEntry(D(aP.caller, i), (bn + bj)), IntegerEntry(F(z, aP.caller, i), bt), IntegerEntry(H(z, i), (bp + bj)), IntegerEntry(L(i), (bq + bj))] ++ bx), unit)
441447 }
442448 else throw("Strict value is not equal to itself.")
443449 }
444450
445451
446452
447-@Callable(aM)
453+@Callable(aP)
448454 func cancelVote (B,C) = {
449455 let z = $Tuple2(B, C)
450456 let i = valueOrElse(getInteger(this, j), 0)
451- let bh = V(this, w(i))
452- let bb = V(this, f)
453- let bi = (bh + bb)
454- let bj = getInteger(this, p)
455- let bk = valueOrElse(getInteger(this, D(aM.caller, i)), 0)
456- let bl = valueOrElse(getInteger(this, F(z, aM.caller, i)), 0)
457- let bm = valueOrElse(getInteger(this, H(z, i)), 0)
458- let bn = valueOrElse(getInteger(this, L(i)), 0)
459- let bc = [if ((getBoolean(y(z)) != unit))
457+ let bk = Y(this, w(i))
458+ let be = Y(this, f)
459+ let bl = (bk + be)
460+ let bm = getInteger(this, p)
461+ let bn = valueOrElse(getInteger(this, D(aP.caller, i)), 0)
462+ let bo = valueOrElse(getInteger(this, F(z, aP.caller, i)), 0)
463+ let bp = valueOrElse(getInteger(this, H(z, i)), 0)
464+ let bq = valueOrElse(getInteger(this, L(i)), 0)
465+ let bf = [if ((getBoolean(y(z)) != unit))
460466 then true
461- else throw("invalid assets"), if ((bi > height))
467+ else throw("invalid assets"), if ((bl > height))
462468 then true
463- else throw("invalid height"), if ((bj == unit))
469+ else throw("invalid height"), if ((bm == unit))
464470 then true
465- else throw("finalization in progress"), if ((bl > 0))
471+ else throw("finalization in progress"), if ((bo > 0))
466472 then true
467473 else throw("no vote")]
468- if ((bc == bc))
474+ if ((bf == bf))
469475 then {
470- let bs = ao(z)
471- let bt = toString(aM.caller)
472- $Tuple2(([IntegerEntry(D(aM.caller, i), max([(bk - bl), 0])), DeleteEntry(F(z, aM.caller, i)), IntegerEntry(H(z, i), (bm - bl)), IntegerEntry(L(i), (bn - bl))] ++ aE(bs, bt)), unit)
476+ let bv = ar(z)
477+ let bw = toString(aP.caller)
478+ $Tuple2(([IntegerEntry(D(aP.caller, i), max([(bn - bo), 0])), DeleteEntry(F(z, aP.caller, i)), IntegerEntry(H(z, i), (bp - bo)), IntegerEntry(L(i), (bq - bo))] ++ aH(bv, bw)), unit)
473479 }
474480 else throw("Strict value is not equal to itself.")
475481 }
476482
477483
478484
479-@Callable(aM)
480-func setEpochLength (bv) = {
481- let bc = [aN(aM), if ((bv > 0))
485+@Callable(aP)
486+func setEpochLength (by) = {
487+ let bf = [aQ(aP), if ((by > 0))
482488 then true
483489 else throw("invalid epoch length")]
484- if ((bc == bc))
485- then $Tuple2([IntegerEntry(g, bv)], unit)
490+ if ((bf == bf))
491+ then $Tuple2([IntegerEntry(g, by)], unit)
486492 else throw("Strict value is not equal to itself.")
487493 }
488494
489495
490496
491-@Callable(aM)
492-func setMaxDepth (bw) = {
493- let bc = [aN(aM), if ((bw > 0))
497+@Callable(aP)
498+func setMaxDepth (bz) = {
499+ let bf = [aQ(aP), if ((bz > 0))
494500 then true
495501 else throw("invalid max depth")]
496- if ((bc == bc))
497- then $Tuple2([IntegerEntry(k, bw)], unit)
502+ if ((bf == bf))
503+ then $Tuple2([IntegerEntry(k, bz)], unit)
498504 else throw("Strict value is not equal to itself.")
499505 }
500506
501507
502508
503-@Callable(aM)
504-func processVoteINTERNAL (bx,bt) = {
505- let aQ = aL(aM)
506- if ((aQ == aQ))
509+@Callable(aP)
510+func processVoteINTERNAL (bA,bw) = {
511+ let aT = aO(aP)
512+ if ((aT == aT))
507513 then {
508- let aV = valueOrErrorMessage(addressFromString(bt), ("processVoteINTERNAL: invalid user address " + bt))
509- let i = V(this, j)
510- let by = (i - 1)
511- let bb = V(this, f)
512- let bh = V(this, w(i))
513- let bi = (bh + bb)
514- let bz = V(this, w(by))
515- let bA = V(this, h(by))
516- let bB = (bz + bA)
517- let bC = if ((by >= 0))
514+ let aY = valueOrErrorMessage(addressFromString(bw), ("processVoteINTERNAL: invalid user address " + bw))
515+ let i = Y(this, j)
516+ let bB = (i - 1)
517+ let be = Y(this, f)
518+ let bk = Y(this, w(i))
519+ let bl = (bk + be)
520+ let bC = Y(this, w(bB))
521+ let bD = Y(this, h(bB))
522+ let bE = (bC + bD)
523+ let bF = if ((bB >= 0))
518524 then true
519525 else throw("processVoteINTERNAL: invalid previous epoch")
520- if ((bC == bC))
526+ if ((bF == bF))
521527 then {
522- let z = X(bx)
523- let bD = z
524- let B = bD._1
525- let C = bD._2
526- let br = al(z)
527- let bo = {
528- let U = invoke(this, "getUserGwxAmountAtHeight", [bt, bi], nil)
529- if ($isInstanceOf(U, "Int"))
530- then U
531- else throw(($getType(U) + " couldn't be cast to Int"))
528+ let z = aa(bA)
529+ let bG = z
530+ let B = bG._1
531+ let C = bG._2
532+ let bu = ao(z)
533+ let br = {
534+ let X = invoke(this, "getUserGwxAmountAtHeight", [bw, bl], nil)
535+ if ($isInstanceOf(X, "Int"))
536+ then X
537+ else throw(($getType(X) + " couldn't be cast to Int"))
532538 }
533- let bE = {
534- let U = invoke(this, "getUserGwxAmountAtHeight", [bt, bB], nil)
535- if ($isInstanceOf(U, "Int"))
536- then U
537- else throw(($getType(U) + " couldn't be cast to Int"))
539+ let bH = {
540+ let X = invoke(this, "getUserGwxAmountAtHeight", [bw, bE], nil)
541+ if ($isInstanceOf(X, "Int"))
542+ then X
543+ else throw(($getType(X) + " couldn't be cast to Int"))
538544 }
539- let bn = valueOrElse(getInteger(L(i)), 0)
540- let bF = valueOrElse(getInteger(H(z, i)), 0)
541- let bG = valueOrErrorMessage(getInteger(F(z, aV, by)), (((("processVoteINTERNAL " + bx) + " ") + bt) + ": no previous vote"))
542- let bk = valueOrElse(getInteger(this, D(aV, i)), 0)
543- let bq = if ((bE > 0))
544- then fraction(bG, bo, bE)
545+ let bq = valueOrElse(getInteger(L(i)), 0)
546+ let bI = valueOrElse(getInteger(H(z, i)), 0)
547+ let bJ = valueOrErrorMessage(getInteger(F(z, aY, bB)), (((("processVoteINTERNAL " + bA) + " ") + bw) + ": no previous vote"))
548+ let bn = valueOrElse(getInteger(this, D(aY, i)), 0)
549+ let bt = if ((bH > 0))
550+ then fraction(bJ, br, bH)
545551 else 0
546- let bH = if (if ((bq > 0))
547- then br
552+ let bK = if (if ((bt > 0))
553+ then bu
548554 else false)
549- then [IntegerEntry(F(z, aV, i), bq), IntegerEntry(L(i), (bn + bq)), IntegerEntry(H(z, i), (bF + bq)), IntegerEntry(D(aV, i), (bk + bq))]
550- else aE(ao(z), bt)
551- $Tuple2(bH, unit)
555+ then [IntegerEntry(F(z, aY, i), bt), IntegerEntry(L(i), (bq + bt)), IntegerEntry(H(z, i), (bI + bt)), IntegerEntry(D(aY, i), (bn + bt))]
556+ else aH(ar(z), bw)
557+ $Tuple2(bK, unit)
552558 }
553559 else throw("Strict value is not equal to itself.")
554560 }
557563
558564
559565
560-@Callable(aM)
561-func processPoolINTERNAL (bx,bI) = {
562- let aQ = aL(aM)
563- if ((aQ == aQ))
566+@Callable(aP)
567+func processPoolINTERNAL (bA,bL) = {
568+ let aT = aO(aP)
569+ if ((aT == aT))
564570 then {
565- let bJ = {
566- let bK = V(this, j)
567- if (bI)
568- then bK
569- else (bK - 1)
571+ let bM = {
572+ let bN = Y(this, j)
573+ if (bL)
574+ then bN
575+ else (bN - 1)
570576 }
571- let bC = if ((bJ >= 0))
577+ let bF = if ((bM >= 0))
572578 then true
573579 else throw("processPoolINTERNAL: invalid target epoch")
574- if ((bC == bC))
580+ if ((bF == bF))
575581 then {
576- let z = X(bx)
577- let bL = z
578- let B = bL._1
579- let C = bL._2
580- let ba = addressFromStringValue(T(this, o))
581- let ah = addressFromStringValue(T(this, m))
582- let ak = Z(B, C)
583- let bM = {
584- let U = invoke(ba, "usersListTraversal", [ak], nil)
585- if ($isInstanceOf(U, "Boolean"))
586- then U
587- else throw(($getType(U) + " couldn't be cast to Boolean"))
582+ let z = aa(bA)
583+ let bO = z
584+ let B = bO._1
585+ let C = bO._2
586+ let bd = addressFromStringValue(W(this, o))
587+ let ak = addressFromStringValue(W(this, m))
588+ let an = ac(B, C)
589+ let bP = {
590+ let X = invoke(bd, "usersListTraversal", [an], nil)
591+ if ($isInstanceOf(X, "Boolean"))
592+ then X
593+ else throw(($getType(X) + " couldn't be cast to Boolean"))
588594 }
589- if ((bM == bM))
590- then if (bM)
595+ if ((bP == bP))
596+ then if (bP)
591597 then $Tuple2(nil, true)
592598 else {
593- let br = al(z)
594- let bn = valueOrElse(getInteger(this, L(bJ)), 0)
595- let bF = valueOrElse(getInteger(this, H(z, bJ)), 0)
596- let bN = if (if ((bn == 0))
599+ let bu = ao(z)
600+ let bq = valueOrElse(getInteger(this, L(bM)), 0)
601+ let bI = valueOrElse(getInteger(this, H(z, bM)), 0)
602+ let bQ = if (if ((bq == 0))
597603 then true
598- else !(br))
604+ else !(bu))
599605 then 0
600- else fraction(bF, b, bn)
601- let bO = invoke(ah, "modifyWeight", [ak, bN], nil)
602- if ((bO == bO))
606+ else fraction(bI, b, bq)
607+ let bR = invoke(ak, "modifyWeight", [an, bQ], nil)
608+ if ((bR == bR))
603609 then {
604- let bP = if (if (br)
610+ let bS = if (if (bu)
605611 then true
606- else bI)
612+ else bL)
607613 then nil
608- else ([DeleteEntry(y(z))] ++ aE(an, bx))
609- $Tuple2(([IntegerEntry(J(z, bJ), bN)] ++ bP), false)
614+ else ([DeleteEntry(y(z))] ++ aH(aq, bA))
615+ $Tuple2(([IntegerEntry(J(z, bM), bQ)] ++ bS), false)
610616 }
611617 else throw("Strict value is not equal to itself.")
612618 }
619625
620626
621627
622-@Callable(aM)
628+@Callable(aP)
623629 func finalizeHelper () = {
624- let bI = valueOrElse(getBoolean(v), false)
630+ let bL = valueOrElse(getBoolean(v), false)
625631 let i = valueOrElse(getInteger(this, j), 0)
626- let bQ = (i - 1)
627- let bh = V(this, w(i))
628- let bb = V(this, f)
629- let bi = (bh + bb)
630- let bj = getInteger(this, p)
631- if (if (if ((height >= bi))
632- then (bj == unit)
632+ let bT = (i - 1)
633+ let bk = Y(this, w(i))
634+ let be = Y(this, f)
635+ let bl = (bk + be)
636+ let bm = getInteger(this, p)
637+ if (if (if ((height >= bl))
638+ then (bm == unit)
633639 else false)
634- then !(bI)
640+ then !(bL)
635641 else false)
636642 then {
637- let bR = (i + 1)
638- let bS = getInteger(this, g)
639- let bT = {
640- let Q = bS
641- if ($isInstanceOf(Q, "Int"))
643+ let bU = (i + 1)
644+ let bV = getInteger(this, g)
645+ let bW = {
646+ let T = bV
647+ if ($isInstanceOf(T, "Int"))
642648 then {
643- let bv = Q
644-[IntegerEntry(f, bv), DeleteEntry(g)]
649+ let by = T
650+[IntegerEntry(f, by), DeleteEntry(g)]
645651 }
646- else if ($isInstanceOf(Q, "Unit"))
652+ else if ($isInstanceOf(T, "Unit"))
647653 then nil
648654 else throw("Match error")
649655 }
650- $Tuple2(([IntegerEntry(w(bR), height), IntegerEntry(s, height), IntegerEntry(j, bR), IntegerEntry(p, d), IntegerEntry(h(i), bb)] ++ bT), true)
656+ $Tuple2(([IntegerEntry(w(bU), height), IntegerEntry(s, height), IntegerEntry(j, bU), IntegerEntry(p, d), IntegerEntry(h(i), be)] ++ bW), true)
651657 }
652- else if (if (bI)
653- then (bj == unit)
658+ else if (if (bL)
659+ then (bm == unit)
654660 else false)
655661 then $Tuple2([IntegerEntry(p, e)], true)
656- else if ((bj == unit))
662+ else if ((bm == unit))
657663 then $Tuple2(nil, false)
658- else if ((bj == d))
664+ else if ((bm == d))
659665 then {
660- let bU = getString(q)
661- let bV = getString(r)
662- let Q = bU
663- if ($isInstanceOf(Q, "Unit"))
666+ let bX = getString(q)
667+ let bY = getString(r)
668+ let T = bX
669+ if ($isInstanceOf(T, "Unit"))
664670 then {
665- let bW = getString(aq(an))
666- if ($isInstanceOf(bW, "Unit"))
671+ let bZ = getString(at(aq))
672+ if ($isInstanceOf(bZ, "Unit"))
667673 then $Tuple2([IntegerEntry(p, e), DeleteEntry(q), DeleteEntry(r)], true)
668- else if ($isInstanceOf(bW, "String"))
674+ else if ($isInstanceOf(bZ, "String"))
669675 then {
670- let bX = bW
671- $Tuple2([StringEntry(q, bX)], true)
676+ let ca = bZ
677+ $Tuple2([StringEntry(q, ca)], true)
672678 }
673679 else throw("Match error")
674680 }
675- else if ($isInstanceOf(Q, "String"))
681+ else if ($isInstanceOf(T, "String"))
676682 then {
677- let bx = Q
678- let z = X(bx)
679- let bY = {
680- let bW = bV
681- if ($isInstanceOf(bW, "Unit"))
682- then getString(aq(ao(z)))
683- else if ($isInstanceOf(bW, "String"))
683+ let bA = T
684+ let z = aa(bA)
685+ let cb = {
686+ let bZ = bY
687+ if ($isInstanceOf(bZ, "Unit"))
688+ then getString(at(ar(z)))
689+ else if ($isInstanceOf(bZ, "String"))
684690 then {
685- let bZ = bW
686- let ca = getString(aw(ao(z), bZ))
687- if ((ca == ca))
691+ let cc = bZ
692+ let cd = getString(az(ar(z), cc))
693+ if ((cd == cd))
688694 then {
689- let cb = invoke(this, "processVoteINTERNAL", [bx, bZ], nil)
690- if ((cb == cb))
691- then ca
695+ let ce = invoke(this, "processVoteINTERNAL", [bA, cc], nil)
696+ if ((ce == ce))
697+ then cd
692698 else throw("Strict value is not equal to itself.")
693699 }
694700 else throw("Strict value is not equal to itself.")
695701 }
696702 else throw("Match error")
697703 }
698- let bW = bY
699- if ($isInstanceOf(bW, "Unit"))
704+ let bZ = cb
705+ if ($isInstanceOf(bZ, "Unit"))
700706 then {
701- let cc = getString(aw(an, bx))
702- let cd = cc
703- if ($isInstanceOf(cd, "Unit"))
707+ let cf = getString(az(aq, bA))
708+ let cg = cf
709+ if ($isInstanceOf(cg, "Unit"))
704710 then $Tuple2([IntegerEntry(p, e), DeleteEntry(q), DeleteEntry(r)], true)
705- else if ($isInstanceOf(cd, "String"))
711+ else if ($isInstanceOf(cg, "String"))
706712 then {
707- let aI = cd
708- $Tuple2([StringEntry(q, aI), DeleteEntry(r)], true)
713+ let aL = cg
714+ $Tuple2([StringEntry(q, aL), DeleteEntry(r)], true)
709715 }
710716 else throw("Match error")
711717 }
712- else if ($isInstanceOf(bW, "String"))
718+ else if ($isInstanceOf(bZ, "String"))
713719 then {
714- let ce = bW
715- $Tuple2([StringEntry(r, ce)], true)
720+ let ch = bZ
721+ $Tuple2([StringEntry(r, ch)], true)
716722 }
717723 else throw("Match error")
718724 }
719725 else throw("Match error")
720726 }
721- else if ((bj == e))
727+ else if ((bm == e))
722728 then {
723- let bU = getString(q)
724- let Q = bU
725- if ($isInstanceOf(Q, "Unit"))
729+ let bX = getString(q)
730+ let T = bX
731+ if ($isInstanceOf(T, "Unit"))
726732 then {
727- let bW = getString(aq(an))
728- if ($isInstanceOf(bW, "Unit"))
733+ let bZ = getString(at(aq))
734+ if ($isInstanceOf(bZ, "Unit"))
729735 then {
730- let bH = if (bI)
736+ let bK = if (bL)
731737 then [DeleteEntry(p), DeleteEntry(v)]
732- else [DeleteEntry(p), BooleanEntry(x(bQ), true), IntegerEntry(t, i), IntegerEntry(u, bh)]
733- $Tuple2(bH, true)
738+ else [DeleteEntry(p), BooleanEntry(x(bT), true), IntegerEntry(t, i), IntegerEntry(u, bk)]
739+ $Tuple2(bK, true)
734740 }
735- else if ($isInstanceOf(bW, "String"))
741+ else if ($isInstanceOf(bZ, "String"))
736742 then {
737- let cf = bW
738- $Tuple2([StringEntry(q, cf)], true)
743+ let ci = bZ
744+ $Tuple2([StringEntry(q, ci)], true)
739745 }
740746 else throw("Match error")
741747 }
742- else if ($isInstanceOf(Q, "String"))
748+ else if ($isInstanceOf(T, "String"))
743749 then {
744- let bx = Q
745- let cc = getString(aw(an, bx))
746- if ((cc == cc))
750+ let bA = T
751+ let cf = getString(az(aq, bA))
752+ if ((cf == cf))
747753 then {
748- let bM = {
749- let U = invoke(this, "processPoolINTERNAL", [bx, bI], nil)
750- if ($isInstanceOf(U, "Boolean"))
751- then U
752- else throw(($getType(U) + " couldn't be cast to Boolean"))
754+ let bP = {
755+ let X = invoke(this, "processPoolINTERNAL", [bA, bL], nil)
756+ if ($isInstanceOf(X, "Boolean"))
757+ then X
758+ else throw(($getType(X) + " couldn't be cast to Boolean"))
753759 }
754- if ((bM == bM))
755- then if (bM)
760+ if ((bP == bP))
761+ then if (bP)
756762 then $Tuple2(nil, true)
757763 else {
758- let bW = cc
759- if ($isInstanceOf(bW, "Unit"))
764+ let bZ = cf
765+ if ($isInstanceOf(bZ, "Unit"))
760766 then {
761- let bH = if (bI)
767+ let bK = if (bL)
762768 then [DeleteEntry(p), DeleteEntry(v), DeleteEntry(q)]
763- else [DeleteEntry(p), BooleanEntry(x(bQ), true), IntegerEntry(t, i), IntegerEntry(u, bh), DeleteEntry(q)]
764- $Tuple2(bH, true)
769+ else [DeleteEntry(p), BooleanEntry(x(bT), true), IntegerEntry(t, i), IntegerEntry(u, bk), DeleteEntry(q)]
770+ $Tuple2(bK, true)
765771 }
766- else if ($isInstanceOf(bW, "String"))
772+ else if ($isInstanceOf(bZ, "String"))
767773 then {
768- let cf = bW
769- $Tuple2([StringEntry(q, cf)], true)
774+ let ci = bZ
775+ $Tuple2([StringEntry(q, ci)], true)
770776 }
771777 else throw("Match error")
772778 }
781787
782788
783789
784-@Callable(aM)
785-func finalizeWrapper (cg) = {
786- let ch = {
787- let U = invoke(this, "finalizeHelper", nil, nil)
788- if ($isInstanceOf(U, "Boolean"))
789- then U
790- else throw(($getType(U) + " couldn't be cast to Boolean"))
790+@Callable(aP)
791+func finalizeWrapper (cj) = {
792+ let ck = {
793+ let X = invoke(this, "finalizeHelper", nil, nil)
794+ if ($isInstanceOf(X, "Boolean"))
795+ then X
796+ else throw(($getType(X) + " couldn't be cast to Boolean"))
791797 }
792- if ((ch == ch))
793- then if (!(ch))
794- then if ((cg == 0))
798+ if ((ck == ck))
799+ then if (!(ck))
800+ then if ((cj == 0))
795801 then throw("Current voting is not over yet")
796802 else $Tuple2(nil, unit)
797803 else {
798- let ci = valueOrElse(getInteger(this, k), c)
799- if ((ci > cg))
804+ let cl = valueOrElse(getInteger(this, k), c)
805+ if ((cl > cj))
800806 then {
801- let cj = invoke(this, "finalizeWrapper", [(cg + 1)], nil)
802- if ((cj == cj))
807+ let cm = invoke(this, "finalizeWrapper", [(cj + 1)], nil)
808+ if ((cm == cm))
803809 then $Tuple2(nil, unit)
804810 else throw("Strict value is not equal to itself.")
805811 }
810816
811817
812818
813-@Callable(aM)
819+@Callable(aP)
814820 func finalize () = {
815- let cj = invoke(this, "finalizeWrapper", [0], nil)
816- if ((cj == cj))
821+ let cm = invoke(this, "finalizeWrapper", [0], nil)
822+ if ((cm == cm))
817823 then $Tuple2(nil, unit)
818824 else throw("Strict value is not equal to itself.")
819825 }
820826
821827
822828
823-@Callable(aM)
824-func containsNodeREADONLY (ar,av) = $Tuple2(nil, ax(ar, av))
829+@Callable(aP)
830+func containsNodeREADONLY (au,ay) = $Tuple2(nil, aA(au, ay))
825831
826832
827833
828-@Callable(aM)
829-func insertNode (ar,av) = {
830- let aQ = aN(aM)
831- if ((aQ == aQ))
832- then $Tuple2(aB(ar, av), unit)
834+@Callable(aP)
835+func insertNode (au,ay) = {
836+ let aT = aQ(aP)
837+ if ((aT == aT))
838+ then $Tuple2(aE(au, ay), unit)
833839 else throw("Strict value is not equal to itself.")
834840 }
835841
836842
837843
838-@Callable(aM)
839-func deleteNode (ar,av) = {
840- let aQ = aN(aM)
841- if ((aQ == aQ))
842- then $Tuple2(aE(ar, av), unit)
844+@Callable(aP)
845+func deleteNode (au,ay) = {
846+ let aT = aQ(aP)
847+ if ((aT == aT))
848+ then $Tuple2(aH(au, ay), unit)
843849 else throw("Strict value is not equal to itself.")
844850 }
845851
846852
847-@Verifier(ck)
848-func cl () = {
849- let cm = {
850- let Q = aH()
851- if ($isInstanceOf(Q, "ByteVector"))
853+
854+@Callable(aP)
855+func getVoteInfoREADONLY (cn,bw) = {
856+ let aY = addressFromStringValue(bw)
857+ let ak = addressFromStringValue(W(this, m))
858+ let co = 4
859+ let cp = 5
860+ let cq = {
861+ let X = invoke(ak, "getPoolConfigByLpAssetId", [cn], nil)
862+ if ($isInstanceOf(X, "List[Any]"))
863+ then X
864+ else throw(($getType(X) + " couldn't be cast to List[Any]"))
865+ }
866+ let B = {
867+ let X = cq[co]
868+ if ($isInstanceOf(X, "String"))
869+ then X
870+ else throw(($getType(X) + " couldn't be cast to String"))
871+ }
872+ let C = {
873+ let X = cq[cp]
874+ if ($isInstanceOf(X, "String"))
875+ then X
876+ else throw(($getType(X) + " couldn't be cast to String"))
877+ }
878+ let cr = {
879+ let i = (value(getInteger(this, j)) - 1)
880+ if ((0 > i))
881+ then O("invalid epoch")
882+ else i
883+ }
884+ let z = $Tuple2(B, C)
885+ let cs = valueOrElse(getInteger(this, F(z, aY, cr)), 0)
886+ let bp = valueOrElse(getInteger(this, H(z, cr)), 0)
887+ $Tuple2(nil, $Tuple2(cs, bp))
888+ }
889+
890+
891+@Verifier(ct)
892+func cu () = {
893+ let cv = {
894+ let T = aK()
895+ if ($isInstanceOf(T, "ByteVector"))
852896 then {
853- let aO = Q
854- aO
897+ let aR = T
898+ aR
855899 }
856- else if ($isInstanceOf(Q, "Unit"))
857- then ck.senderPublicKey
900+ else if ($isInstanceOf(T, "Unit"))
901+ then ct.senderPublicKey
858902 else throw("Match error")
859903 }
860- sigVerify(ck.bodyBytes, ck.proofs[0], cm)
904+ sigVerify(ct.bodyBytes, ct.proofs[0], cv)
861905 }
862906
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
2727 let m = makeString(["%s", "factoryContract"], a)
2828
2929 let n = makeString(["%s", "boostingContract"], a)
3030
3131 let o = makeString(["%s", "stakingContract"], a)
3232
3333 let p = makeString(["%s", "finalizationStage"], a)
3434
3535 let q = makeString(["%s", "nextPool"], a)
3636
3737 let r = makeString(["%s", "nextUser"], a)
3838
3939 let s = makeString(["%s", "startHeight"], a)
4040
4141 let t = makeString(["%s", "currentEpochUi"], a)
4242
4343 let u = makeString(["%s", "startHeightUi"], a)
4444
4545 let v = makeString(["%s", "force"], a)
4646
4747 func w (i) = makeString(["%s%d", "startHeight", toString(i)], a)
4848
4949
5050 func x (i) = makeString(["%s%d", "finalized", toString(i)], a)
5151
5252
5353 func y (z) = {
5454 let A = z
5555 let B = A._1
5656 let C = A._2
5757 makeString(["%s%s%s", "inList", B, C], a)
5858 }
5959
6060
6161 func D (E,i) = makeString(["%s%s%d", "used", toString(E), toString(i)], a)
6262
6363
6464 func F (z,E,i) = {
6565 let G = z
6666 let B = G._1
6767 let C = G._2
6868 makeString(["%s%s%s%s%d", "vote", B, C, toString(E), toString(i)], a)
6969 }
7070
7171
7272 func H (z,i) = {
7373 let I = z
7474 let B = I._1
7575 let C = I._2
7676 makeString(["%s%s%s%d", "votingResult", B, C, toString(i)], a)
7777 }
7878
7979
8080 func J (z,i) = {
8181 let K = z
8282 let B = K._1
8383 let C = K._2
8484 makeString(["%s%s%s%d", "poolShare", B, C, toString(i)], a)
8585 }
8686
8787
8888 func L (i) = makeString(["%s%d", "totalVotes", toString(i)], a)
8989
9090
91-func M (E,N,O) = {
92- let P = makeString(["mandatory ", toString(E), ".", N, " is not defined"], "")
91+func M (N) = makeString(["voting_emission.ride:", N], " ")
92+
93+
94+func O (N) = throw(M(N))
95+
96+
97+func P (E,Q,R) = {
98+ let S = makeString(["mandatory ", toString(E), ".", Q, " is not defined"], "")
9399 valueOrErrorMessage({
94- let Q = O
95- if ($isInstanceOf(Q, "String"))
100+ let T = R
101+ if ($isInstanceOf(T, "String"))
96102 then {
97- let R = Q
98- getString(E, N)
103+ let U = T
104+ getString(E, Q)
99105 }
100- else if ($isInstanceOf(Q, "Int"))
106+ else if ($isInstanceOf(T, "Int"))
101107 then {
102- let S = Q
103- getInteger(E, N)
108+ let V = T
109+ getInteger(E, Q)
104110 }
105111 else throw("invalid entry type")
106- }, P)
112+ }, S)
107113 }
108114
109115
110-func T (E,N) = {
111- let U = M(E, N, "")
112- if ($isInstanceOf(U, "String"))
113- then U
114- else throw(($getType(U) + " couldn't be cast to String"))
116+func W (E,Q) = {
117+ let X = P(E, Q, "")
118+ if ($isInstanceOf(X, "String"))
119+ then X
120+ else throw(($getType(X) + " couldn't be cast to String"))
115121 }
116122
117123
118-func V (E,N) = {
119- let U = M(E, N, 0)
120- if ($isInstanceOf(U, "Int"))
121- then U
122- else throw(($getType(U) + " couldn't be cast to Int"))
124+func Y (E,Q) = {
125+ let X = P(E, Q, 0)
126+ if ($isInstanceOf(X, "Int"))
127+ then X
128+ else throw(($getType(X) + " couldn't be cast to Int"))
123129 }
124130
125131
126-func W (z) = ((z._1 + a) + z._2)
132+func Z (z) = ((z._1 + a) + z._2)
127133
128134
129-func X (R) = {
130- let Y = split(R, a)
131- if ((size(Y) == 2))
132- then $Tuple2(Y[0], Y[1])
135+func aa (U) = {
136+ let ab = split(U, a)
137+ if ((size(ab) == 2))
138+ then $Tuple2(ab[0], ab[1])
133139 else throw("invalid pool string")
134140 }
135141
136142
137-func Z (B,C) = {
138- func aa (ab) = ("%s%s%s__mappings__baseAsset2internalId__" + ab)
143+func ac (B,C) = {
144+ func ad (ae) = ("%s%s%s__mappings__baseAsset2internalId__" + ae)
139145
140- func ac (ad,ae) = (((("%d%d%s%s__" + toString(ad)) + "__") + toString(ae)) + "__mappings__poolAssets2PoolContract")
146+ func af (ag,ah) = (((("%d%d%s%s__" + toString(ag)) + "__") + toString(ah)) + "__mappings__poolAssets2PoolContract")
141147
142- func af (ag) = (("%s%s%s__" + ag) + "__mappings__poolContract2LpAsset")
148+ func ai (aj) = (("%s%s%s__" + aj) + "__mappings__poolContract2LpAsset")
143149
144- let ah = addressFromStringValue(T(this, m))
145- let ai = V(ah, aa(B))
146- let aj = V(ah, aa(C))
147- let ag = T(ah, ac(ai, aj))
148- let ak = T(ah, af(ag))
149- ak
150+ let ak = addressFromStringValue(W(this, m))
151+ let al = Y(ak, ad(B))
152+ let am = Y(ak, ad(C))
153+ let aj = W(ak, af(al, am))
154+ let an = W(ak, ai(aj))
155+ an
150156 }
151157
152-
153-func al (z) = {
154- let am = z
155- let B = am._1
156- let C = am._2
157- let ah = addressFromStringValue(T(this, m))
158- let U = invoke(ah, "checkWxEmissionPoolLabel", [B, C], nil)
159- if ($isInstanceOf(U, "Boolean"))
160- then U
161- else throw(($getType(U) + " couldn't be cast to Boolean"))
162- }
163-
164-
165-let an = "pools"
166158
167159 func ao (z) = {
168160 let ap = z
169161 let B = ap._1
170162 let C = ap._2
163+ let ak = addressFromStringValue(W(this, m))
164+ let X = invoke(ak, "checkWxEmissionPoolLabel", [B, C], nil)
165+ if ($isInstanceOf(X, "Boolean"))
166+ then X
167+ else throw(($getType(X) + " couldn't be cast to Boolean"))
168+ }
169+
170+
171+let aq = "pools"
172+
173+func ar (z) = {
174+ let as = z
175+ let B = as._1
176+ let C = as._2
171177 makeString(["votes", B, C], a)
172178 }
173179
174180
175-func aq (ar) = {
176- let as = if ((ar == an))
181+func at (au) = {
182+ let av = if ((au == aq))
177183 then "%s%s"
178184 else "%s%s%s%s"
179- makeString([as, ar, "head"], a)
185+ makeString([av, au, "head"], a)
180186 }
181187
182188
183-func at (ar) = {
184- let as = if ((ar == an))
189+func aw (au) = {
190+ let av = if ((au == aq))
185191 then "%s%s"
186192 else "%s%s%s%s"
187- makeString([as, ar, "size"], a)
193+ makeString([av, au, "size"], a)
188194 }
189195
190196
191-func au (ar,av) = {
192- let as = if ((ar == an))
197+func ax (au,ay) = {
198+ let av = if ((au == aq))
193199 then "%s%s%s%s"
194200 else "%s%s%s%s%s"
195- makeString([as, ar, av, "prev"], a)
201+ makeString([av, au, ay, "prev"], a)
196202 }
197203
198204
199-func aw (ar,av) = {
200- let as = if ((ar == an))
205+func az (au,ay) = {
206+ let av = if ((au == aq))
201207 then "%s%s%s%s"
202208 else "%s%s%s%s%s"
203- makeString([as, ar, av, "next"], a)
209+ makeString([av, au, ay, "next"], a)
204210 }
205211
206212
207-func ax (ar,av) = {
208- let ay = getString(this, aq(ar))
209- let az = getString(this, au(ar, av))
210- let aA = getString(this, aw(ar, av))
211- if (if ((av == valueOrElse(ay, "")))
213+func aA (au,ay) = {
214+ let aB = getString(this, at(au))
215+ let aC = getString(this, ax(au, ay))
216+ let aD = getString(this, az(au, ay))
217+ if (if ((ay == valueOrElse(aB, "")))
212218 then true
213- else (az != unit))
219+ else (aC != unit))
214220 then true
215- else (aA != unit)
221+ else (aD != unit)
216222 }
217223
218224
219-func aB (ar,av) = {
220- let ay = getString(this, aq(ar))
221- let aC = valueOrElse(getInteger(this, at(ar)), 0)
222- let aD = if (!(ax(ar, av)))
225+func aE (au,ay) = {
226+ let aB = getString(this, at(au))
227+ let aF = valueOrElse(getInteger(this, aw(au)), 0)
228+ let aG = if (!(aA(au, ay)))
223229 then true
224230 else throw("Node exists")
225- if ((aD == aD))
226- then (([IntegerEntry(at(ar), (aC + 1))] ++ (if ((ay != unit))
227- then [StringEntry(aw(ar, av), value(ay)), StringEntry(au(ar, value(ay)), av)]
228- else nil)) ++ [StringEntry(aq(ar), av)])
231+ if ((aG == aG))
232+ then (([IntegerEntry(aw(au), (aF + 1))] ++ (if ((aB != unit))
233+ then [StringEntry(az(au, ay), value(aB)), StringEntry(ax(au, value(aB)), ay)]
234+ else nil)) ++ [StringEntry(at(au), ay)])
229235 else throw("Strict value is not equal to itself.")
230236 }
231237
232238
233-func aE (ar,av) = {
234- let ay = getString(this, aq(ar))
235- let aC = valueOrElse(getInteger(this, at(ar)), 0)
236- let az = getString(this, au(ar, av))
237- let aA = getString(this, aw(ar, av))
238- ([IntegerEntry(at(ar), (aC - 1))] ++ (if (if ((az != unit))
239- then (aA != unit)
239+func aH (au,ay) = {
240+ let aB = getString(this, at(au))
241+ let aF = valueOrElse(getInteger(this, aw(au)), 0)
242+ let aC = getString(this, ax(au, ay))
243+ let aD = getString(this, az(au, ay))
244+ ([IntegerEntry(aw(au), (aF - 1))] ++ (if (if ((aC != unit))
245+ then (aD != unit)
240246 else false)
241- then [StringEntry(aw(ar, value(az)), value(aA)), StringEntry(au(ar, value(aA)), value(az)), DeleteEntry(au(ar, av)), DeleteEntry(aw(ar, av))]
242- else if ((aA != unit))
243- then [StringEntry(aq(ar), value(aA)), DeleteEntry(aw(ar, av)), DeleteEntry(au(ar, value(aA)))]
244- else if ((az != unit))
245- then [DeleteEntry(au(ar, av)), DeleteEntry(aw(ar, value(az)))]
246- else if ((av == valueOrElse(ay, "")))
247- then [DeleteEntry(aq(ar))]
248- else throw(((("invalid node: " + ar) + ".") + av))))
247+ then [StringEntry(az(au, value(aC)), value(aD)), StringEntry(ax(au, value(aD)), value(aC)), DeleteEntry(ax(au, ay)), DeleteEntry(az(au, ay))]
248+ else if ((aD != unit))
249+ then [StringEntry(at(au), value(aD)), DeleteEntry(az(au, ay)), DeleteEntry(ax(au, value(aD)))]
250+ else if ((aC != unit))
251+ then [DeleteEntry(ax(au, ay)), DeleteEntry(az(au, value(aC)))]
252+ else if ((ay == valueOrElse(aB, "")))
253+ then [DeleteEntry(at(au))]
254+ else throw(((("invalid node: " + au) + ".") + ay))))
249255 }
250256
251257
252-func aF () = "%s__managerPublicKey"
258+func aI () = "%s__managerPublicKey"
253259
254260
255-func aG () = "%s__pendingManagerPublicKey"
261+func aJ () = "%s__pendingManagerPublicKey"
256262
257263
258-func aH () = {
259- let Q = getString(aF())
260- if ($isInstanceOf(Q, "String"))
264+func aK () = {
265+ let T = getString(aI())
266+ if ($isInstanceOf(T, "String"))
261267 then {
262- let aI = Q
263- fromBase58String(aI)
268+ let aL = T
269+ fromBase58String(aL)
264270 }
265- else if ($isInstanceOf(Q, "Unit"))
271+ else if ($isInstanceOf(T, "Unit"))
266272 then unit
267273 else throw("Match error")
268274 }
269275
270276
271-func aJ () = {
272- let Q = getString(aG())
273- if ($isInstanceOf(Q, "String"))
277+func aM () = {
278+ let T = getString(aJ())
279+ if ($isInstanceOf(T, "String"))
274280 then {
275- let aI = Q
276- fromBase58String(aI)
281+ let aL = T
282+ fromBase58String(aL)
277283 }
278- else if ($isInstanceOf(Q, "Unit"))
284+ else if ($isInstanceOf(T, "Unit"))
279285 then unit
280286 else throw("Match error")
281287 }
282288
283289
284-let aK = throw("Permission denied")
290+let aN = throw("Permission denied")
285291
286-func aL (aM) = if ((aM.caller == this))
292+func aO (aP) = if ((aP.caller == this))
287293 then true
288- else aK
294+ else aN
289295
290296
291-func aN (aM) = {
292- let Q = aH()
293- if ($isInstanceOf(Q, "ByteVector"))
297+func aQ (aP) = {
298+ let T = aK()
299+ if ($isInstanceOf(T, "ByteVector"))
294300 then {
295- let aO = Q
296- if ((aM.callerPublicKey == aO))
301+ let aR = T
302+ if ((aP.callerPublicKey == aR))
297303 then true
298- else aK
304+ else aN
299305 }
300- else if ($isInstanceOf(Q, "Unit"))
301- then aL(aM)
306+ else if ($isInstanceOf(T, "Unit"))
307+ then aO(aP)
302308 else throw("Match error")
303309 }
304310
305311
306-@Callable(aM)
307-func setManager (aP) = {
308- let aQ = aN(aM)
309- if ((aQ == aQ))
312+@Callable(aP)
313+func setManager (aS) = {
314+ let aT = aQ(aP)
315+ if ((aT == aT))
310316 then {
311- let aR = fromBase58String(aP)
312- if ((aR == aR))
313- then [StringEntry(aG(), aP)]
317+ let aU = fromBase58String(aS)
318+ if ((aU == aU))
319+ then [StringEntry(aJ(), aS)]
314320 else throw("Strict value is not equal to itself.")
315321 }
316322 else throw("Strict value is not equal to itself.")
317323 }
318324
319325
320326
321-@Callable(aM)
327+@Callable(aP)
322328 func confirmManager () = {
323- let aS = aJ()
324- let aT = if (isDefined(aS))
329+ let aV = aM()
330+ let aW = if (isDefined(aV))
325331 then true
326332 else throw("No pending manager")
327- if ((aT == aT))
333+ if ((aW == aW))
328334 then {
329- let aU = if ((aM.callerPublicKey == value(aS)))
335+ let aX = if ((aP.callerPublicKey == value(aV)))
330336 then true
331337 else throw("You are not pending manager")
332- if ((aU == aU))
333- then [StringEntry(aF(), toBase58String(value(aS))), DeleteEntry(aG())]
338+ if ((aX == aX))
339+ then [StringEntry(aI(), toBase58String(value(aV))), DeleteEntry(aJ())]
334340 else throw("Strict value is not equal to itself.")
335341 }
336342 else throw("Strict value is not equal to itself.")
337343 }
338344
339345
340346
341-@Callable(aM)
342-func getUserGwxAmountAtHeight (aV,aW) = {
343- let aX = valueOrErrorMessage(addressFromString(T(this, n)), "invalid boosting contract address")
347+@Callable(aP)
348+func getUserGwxAmountAtHeight (aY,aZ) = {
349+ let ba = valueOrErrorMessage(addressFromString(W(this, n)), "invalid boosting contract address")
344350 $Tuple2(nil, {
345- let U = invoke(aX, "getUserGwxAmountAtHeightREADONLY", [aV, aW], nil)
346- if ($isInstanceOf(U, "Int"))
347- then U
348- else throw(($getType(U) + " couldn't be cast to Int"))
351+ let X = invoke(ba, "getUserGwxAmountAtHeightREADONLY", [aY, aZ], nil)
352+ if ($isInstanceOf(X, "Int"))
353+ then X
354+ else throw(($getType(X) + " couldn't be cast to Int"))
349355 })
350356 }
351357
352358
353359
354-@Callable(aM)
355-func constructor (ah,aY,aZ,ba,bb) = {
356- let bc = [aN(aM), if ((addressFromString(ah) != unit))
360+@Callable(aP)
361+func constructor (ak,bb,bc,bd,be) = {
362+ let bf = [aQ(aP), if ((addressFromString(ak) != unit))
357363 then true
358- else "invalid factory contract address", if ((addressFromString(aY) != unit))
364+ else "invalid factory contract address", if ((addressFromString(bb) != unit))
359365 then true
360- else "invalid voting emission candidate contract address", if ((addressFromString(aZ) != unit))
366+ else "invalid voting emission candidate contract address", if ((addressFromString(bc) != unit))
361367 then true
362- else "invalid boosting contract address", if ((addressFromString(ba) != unit))
368+ else "invalid boosting contract address", if ((addressFromString(bd) != unit))
363369 then true
364- else "invalid staking contract address", if ((bb > 0))
370+ else "invalid staking contract address", if ((be > 0))
365371 then true
366372 else throw("invalid epoch length")]
367- if ((bc == bc))
368- then $Tuple2([StringEntry(m, ah), StringEntry(l, aY), StringEntry(n, aZ), StringEntry(o, ba), IntegerEntry(f, bb)], unit)
373+ if ((bf == bf))
374+ then $Tuple2([StringEntry(m, ak), StringEntry(l, bb), StringEntry(n, bc), StringEntry(o, bd), IntegerEntry(f, be)], unit)
369375 else throw("Strict value is not equal to itself.")
370376 }
371377
372378
373379
374-@Callable(aM)
380+@Callable(aP)
375381 func create (B,C) = {
376- let bc = [if ((toBase58String(aM.caller.bytes) == valueOrElse(getString(this, l), "")))
382+ let bf = [if ((toBase58String(aP.caller.bytes) == valueOrElse(getString(this, l), "")))
377383 then true
378- else aN(aM)]
379- if ((bc == bc))
384+ else aQ(aP)]
385+ if ((bf == bf))
380386 then {
381387 let z = $Tuple2(B, C)
382- let bd = ([BooleanEntry(y(z), true)] ++ aB(an, W(z)))
383- let be = (getInteger(this, j) == unit)
384- let bf = if (be)
388+ let bg = ([BooleanEntry(y(z), true)] ++ aE(aq, Z(z)))
389+ let bh = (getInteger(this, j) == unit)
390+ let bi = if (bh)
385391 then {
386392 let i = 0
387393 [IntegerEntry(j, i), IntegerEntry(w(i), height), IntegerEntry(s, height), IntegerEntry(t, i), IntegerEntry(u, height)]
388394 }
389395 else nil
390- $Tuple2((bd ++ bf), unit)
396+ $Tuple2((bg ++ bi), unit)
391397 }
392398 else throw("Strict value is not equal to itself.")
393399 }
394400
395401
396402
397-@Callable(aM)
398-func vote (B,C,bg) = {
403+@Callable(aP)
404+func vote (B,C,bj) = {
399405 let z = $Tuple2(B, C)
400406 let i = valueOrElse(getInteger(this, j), 0)
401- let bh = V(this, w(i))
402- let bb = V(this, f)
403- let bi = (bh + bb)
404- let bj = getInteger(this, p)
405- let bk = valueOrElse(getInteger(this, D(aM.caller, i)), 0)
406- let bl = valueOrElse(getInteger(this, F(z, aM.caller, i)), 0)
407- let bm = valueOrElse(getInteger(this, H(z, i)), 0)
408- let bn = valueOrElse(getInteger(this, L(i)), 0)
409- let bo = {
410- let U = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(aM.caller.bytes), bi], nil)
411- if ($isInstanceOf(U, "Int"))
412- then U
413- else throw(($getType(U) + " couldn't be cast to Int"))
407+ let bk = Y(this, w(i))
408+ let be = Y(this, f)
409+ let bl = (bk + be)
410+ let bm = getInteger(this, p)
411+ let bn = valueOrElse(getInteger(this, D(aP.caller, i)), 0)
412+ let bo = valueOrElse(getInteger(this, F(z, aP.caller, i)), 0)
413+ let bp = valueOrElse(getInteger(this, H(z, i)), 0)
414+ let bq = valueOrElse(getInteger(this, L(i)), 0)
415+ let br = {
416+ let X = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(aP.caller.bytes), bl], nil)
417+ if ($isInstanceOf(X, "Int"))
418+ then X
419+ else throw(($getType(X) + " couldn't be cast to Int"))
414420 }
415- let bp = (bo - bk)
416- let bq = (bl + bg)
417- let br = al(z)
418- let bc = [if ((getBoolean(y(z)) != unit))
421+ let bs = (br - bn)
422+ let bt = (bo + bj)
423+ let bu = ao(z)
424+ let bf = [if ((getBoolean(y(z)) != unit))
419425 then true
420- else throw("invalid assets"), if ((bi > height))
426+ else throw("invalid assets"), if ((bl > height))
421427 then true
422- else throw("invalid height"), if ((bj == unit))
428+ else throw("invalid height"), if ((bm == unit))
423429 then true
424- else throw("finalization in progress"), if ((bo > 0))
430+ else throw("finalization in progress"), if ((br > 0))
425431 then true
426- else throw("you do not have gWX"), if (if ((bg > 0))
427- then (bp >= bg)
432+ else throw("you do not have gWX"), if (if ((bj > 0))
433+ then (bs >= bj)
428434 else false)
429435 then true
430- else throw("invalid amount"), if (br)
436+ else throw("invalid amount"), if (bu)
431437 then true
432438 else throw("pool hasn't WX_EMISSION label")]
433- if ((bc == bc))
439+ if ((bf == bf))
434440 then {
435- let bs = ao(z)
436- let bt = toString(aM.caller)
437- let bu = if (ax(bs, bt))
441+ let bv = ar(z)
442+ let bw = toString(aP.caller)
443+ let bx = if (aA(bv, bw))
438444 then nil
439- else aB(bs, bt)
440- $Tuple2(([IntegerEntry(D(aM.caller, i), (bk + bg)), IntegerEntry(F(z, aM.caller, i), bq), IntegerEntry(H(z, i), (bm + bg)), IntegerEntry(L(i), (bn + bg))] ++ bu), unit)
445+ else aE(bv, bw)
446+ $Tuple2(([IntegerEntry(D(aP.caller, i), (bn + bj)), IntegerEntry(F(z, aP.caller, i), bt), IntegerEntry(H(z, i), (bp + bj)), IntegerEntry(L(i), (bq + bj))] ++ bx), unit)
441447 }
442448 else throw("Strict value is not equal to itself.")
443449 }
444450
445451
446452
447-@Callable(aM)
453+@Callable(aP)
448454 func cancelVote (B,C) = {
449455 let z = $Tuple2(B, C)
450456 let i = valueOrElse(getInteger(this, j), 0)
451- let bh = V(this, w(i))
452- let bb = V(this, f)
453- let bi = (bh + bb)
454- let bj = getInteger(this, p)
455- let bk = valueOrElse(getInteger(this, D(aM.caller, i)), 0)
456- let bl = valueOrElse(getInteger(this, F(z, aM.caller, i)), 0)
457- let bm = valueOrElse(getInteger(this, H(z, i)), 0)
458- let bn = valueOrElse(getInteger(this, L(i)), 0)
459- let bc = [if ((getBoolean(y(z)) != unit))
457+ let bk = Y(this, w(i))
458+ let be = Y(this, f)
459+ let bl = (bk + be)
460+ let bm = getInteger(this, p)
461+ let bn = valueOrElse(getInteger(this, D(aP.caller, i)), 0)
462+ let bo = valueOrElse(getInteger(this, F(z, aP.caller, i)), 0)
463+ let bp = valueOrElse(getInteger(this, H(z, i)), 0)
464+ let bq = valueOrElse(getInteger(this, L(i)), 0)
465+ let bf = [if ((getBoolean(y(z)) != unit))
460466 then true
461- else throw("invalid assets"), if ((bi > height))
467+ else throw("invalid assets"), if ((bl > height))
462468 then true
463- else throw("invalid height"), if ((bj == unit))
469+ else throw("invalid height"), if ((bm == unit))
464470 then true
465- else throw("finalization in progress"), if ((bl > 0))
471+ else throw("finalization in progress"), if ((bo > 0))
466472 then true
467473 else throw("no vote")]
468- if ((bc == bc))
474+ if ((bf == bf))
469475 then {
470- let bs = ao(z)
471- let bt = toString(aM.caller)
472- $Tuple2(([IntegerEntry(D(aM.caller, i), max([(bk - bl), 0])), DeleteEntry(F(z, aM.caller, i)), IntegerEntry(H(z, i), (bm - bl)), IntegerEntry(L(i), (bn - bl))] ++ aE(bs, bt)), unit)
476+ let bv = ar(z)
477+ let bw = toString(aP.caller)
478+ $Tuple2(([IntegerEntry(D(aP.caller, i), max([(bn - bo), 0])), DeleteEntry(F(z, aP.caller, i)), IntegerEntry(H(z, i), (bp - bo)), IntegerEntry(L(i), (bq - bo))] ++ aH(bv, bw)), unit)
473479 }
474480 else throw("Strict value is not equal to itself.")
475481 }
476482
477483
478484
479-@Callable(aM)
480-func setEpochLength (bv) = {
481- let bc = [aN(aM), if ((bv > 0))
485+@Callable(aP)
486+func setEpochLength (by) = {
487+ let bf = [aQ(aP), if ((by > 0))
482488 then true
483489 else throw("invalid epoch length")]
484- if ((bc == bc))
485- then $Tuple2([IntegerEntry(g, bv)], unit)
490+ if ((bf == bf))
491+ then $Tuple2([IntegerEntry(g, by)], unit)
486492 else throw("Strict value is not equal to itself.")
487493 }
488494
489495
490496
491-@Callable(aM)
492-func setMaxDepth (bw) = {
493- let bc = [aN(aM), if ((bw > 0))
497+@Callable(aP)
498+func setMaxDepth (bz) = {
499+ let bf = [aQ(aP), if ((bz > 0))
494500 then true
495501 else throw("invalid max depth")]
496- if ((bc == bc))
497- then $Tuple2([IntegerEntry(k, bw)], unit)
502+ if ((bf == bf))
503+ then $Tuple2([IntegerEntry(k, bz)], unit)
498504 else throw("Strict value is not equal to itself.")
499505 }
500506
501507
502508
503-@Callable(aM)
504-func processVoteINTERNAL (bx,bt) = {
505- let aQ = aL(aM)
506- if ((aQ == aQ))
509+@Callable(aP)
510+func processVoteINTERNAL (bA,bw) = {
511+ let aT = aO(aP)
512+ if ((aT == aT))
507513 then {
508- let aV = valueOrErrorMessage(addressFromString(bt), ("processVoteINTERNAL: invalid user address " + bt))
509- let i = V(this, j)
510- let by = (i - 1)
511- let bb = V(this, f)
512- let bh = V(this, w(i))
513- let bi = (bh + bb)
514- let bz = V(this, w(by))
515- let bA = V(this, h(by))
516- let bB = (bz + bA)
517- let bC = if ((by >= 0))
514+ let aY = valueOrErrorMessage(addressFromString(bw), ("processVoteINTERNAL: invalid user address " + bw))
515+ let i = Y(this, j)
516+ let bB = (i - 1)
517+ let be = Y(this, f)
518+ let bk = Y(this, w(i))
519+ let bl = (bk + be)
520+ let bC = Y(this, w(bB))
521+ let bD = Y(this, h(bB))
522+ let bE = (bC + bD)
523+ let bF = if ((bB >= 0))
518524 then true
519525 else throw("processVoteINTERNAL: invalid previous epoch")
520- if ((bC == bC))
526+ if ((bF == bF))
521527 then {
522- let z = X(bx)
523- let bD = z
524- let B = bD._1
525- let C = bD._2
526- let br = al(z)
527- let bo = {
528- let U = invoke(this, "getUserGwxAmountAtHeight", [bt, bi], nil)
529- if ($isInstanceOf(U, "Int"))
530- then U
531- else throw(($getType(U) + " couldn't be cast to Int"))
528+ let z = aa(bA)
529+ let bG = z
530+ let B = bG._1
531+ let C = bG._2
532+ let bu = ao(z)
533+ let br = {
534+ let X = invoke(this, "getUserGwxAmountAtHeight", [bw, bl], nil)
535+ if ($isInstanceOf(X, "Int"))
536+ then X
537+ else throw(($getType(X) + " couldn't be cast to Int"))
532538 }
533- let bE = {
534- let U = invoke(this, "getUserGwxAmountAtHeight", [bt, bB], nil)
535- if ($isInstanceOf(U, "Int"))
536- then U
537- else throw(($getType(U) + " couldn't be cast to Int"))
539+ let bH = {
540+ let X = invoke(this, "getUserGwxAmountAtHeight", [bw, bE], nil)
541+ if ($isInstanceOf(X, "Int"))
542+ then X
543+ else throw(($getType(X) + " couldn't be cast to Int"))
538544 }
539- let bn = valueOrElse(getInteger(L(i)), 0)
540- let bF = valueOrElse(getInteger(H(z, i)), 0)
541- let bG = valueOrErrorMessage(getInteger(F(z, aV, by)), (((("processVoteINTERNAL " + bx) + " ") + bt) + ": no previous vote"))
542- let bk = valueOrElse(getInteger(this, D(aV, i)), 0)
543- let bq = if ((bE > 0))
544- then fraction(bG, bo, bE)
545+ let bq = valueOrElse(getInteger(L(i)), 0)
546+ let bI = valueOrElse(getInteger(H(z, i)), 0)
547+ let bJ = valueOrErrorMessage(getInteger(F(z, aY, bB)), (((("processVoteINTERNAL " + bA) + " ") + bw) + ": no previous vote"))
548+ let bn = valueOrElse(getInteger(this, D(aY, i)), 0)
549+ let bt = if ((bH > 0))
550+ then fraction(bJ, br, bH)
545551 else 0
546- let bH = if (if ((bq > 0))
547- then br
552+ let bK = if (if ((bt > 0))
553+ then bu
548554 else false)
549- then [IntegerEntry(F(z, aV, i), bq), IntegerEntry(L(i), (bn + bq)), IntegerEntry(H(z, i), (bF + bq)), IntegerEntry(D(aV, i), (bk + bq))]
550- else aE(ao(z), bt)
551- $Tuple2(bH, unit)
555+ then [IntegerEntry(F(z, aY, i), bt), IntegerEntry(L(i), (bq + bt)), IntegerEntry(H(z, i), (bI + bt)), IntegerEntry(D(aY, i), (bn + bt))]
556+ else aH(ar(z), bw)
557+ $Tuple2(bK, unit)
552558 }
553559 else throw("Strict value is not equal to itself.")
554560 }
555561 else throw("Strict value is not equal to itself.")
556562 }
557563
558564
559565
560-@Callable(aM)
561-func processPoolINTERNAL (bx,bI) = {
562- let aQ = aL(aM)
563- if ((aQ == aQ))
566+@Callable(aP)
567+func processPoolINTERNAL (bA,bL) = {
568+ let aT = aO(aP)
569+ if ((aT == aT))
564570 then {
565- let bJ = {
566- let bK = V(this, j)
567- if (bI)
568- then bK
569- else (bK - 1)
571+ let bM = {
572+ let bN = Y(this, j)
573+ if (bL)
574+ then bN
575+ else (bN - 1)
570576 }
571- let bC = if ((bJ >= 0))
577+ let bF = if ((bM >= 0))
572578 then true
573579 else throw("processPoolINTERNAL: invalid target epoch")
574- if ((bC == bC))
580+ if ((bF == bF))
575581 then {
576- let z = X(bx)
577- let bL = z
578- let B = bL._1
579- let C = bL._2
580- let ba = addressFromStringValue(T(this, o))
581- let ah = addressFromStringValue(T(this, m))
582- let ak = Z(B, C)
583- let bM = {
584- let U = invoke(ba, "usersListTraversal", [ak], nil)
585- if ($isInstanceOf(U, "Boolean"))
586- then U
587- else throw(($getType(U) + " couldn't be cast to Boolean"))
582+ let z = aa(bA)
583+ let bO = z
584+ let B = bO._1
585+ let C = bO._2
586+ let bd = addressFromStringValue(W(this, o))
587+ let ak = addressFromStringValue(W(this, m))
588+ let an = ac(B, C)
589+ let bP = {
590+ let X = invoke(bd, "usersListTraversal", [an], nil)
591+ if ($isInstanceOf(X, "Boolean"))
592+ then X
593+ else throw(($getType(X) + " couldn't be cast to Boolean"))
588594 }
589- if ((bM == bM))
590- then if (bM)
595+ if ((bP == bP))
596+ then if (bP)
591597 then $Tuple2(nil, true)
592598 else {
593- let br = al(z)
594- let bn = valueOrElse(getInteger(this, L(bJ)), 0)
595- let bF = valueOrElse(getInteger(this, H(z, bJ)), 0)
596- let bN = if (if ((bn == 0))
599+ let bu = ao(z)
600+ let bq = valueOrElse(getInteger(this, L(bM)), 0)
601+ let bI = valueOrElse(getInteger(this, H(z, bM)), 0)
602+ let bQ = if (if ((bq == 0))
597603 then true
598- else !(br))
604+ else !(bu))
599605 then 0
600- else fraction(bF, b, bn)
601- let bO = invoke(ah, "modifyWeight", [ak, bN], nil)
602- if ((bO == bO))
606+ else fraction(bI, b, bq)
607+ let bR = invoke(ak, "modifyWeight", [an, bQ], nil)
608+ if ((bR == bR))
603609 then {
604- let bP = if (if (br)
610+ let bS = if (if (bu)
605611 then true
606- else bI)
612+ else bL)
607613 then nil
608- else ([DeleteEntry(y(z))] ++ aE(an, bx))
609- $Tuple2(([IntegerEntry(J(z, bJ), bN)] ++ bP), false)
614+ else ([DeleteEntry(y(z))] ++ aH(aq, bA))
615+ $Tuple2(([IntegerEntry(J(z, bM), bQ)] ++ bS), false)
610616 }
611617 else throw("Strict value is not equal to itself.")
612618 }
613619 else throw("Strict value is not equal to itself.")
614620 }
615621 else throw("Strict value is not equal to itself.")
616622 }
617623 else throw("Strict value is not equal to itself.")
618624 }
619625
620626
621627
622-@Callable(aM)
628+@Callable(aP)
623629 func finalizeHelper () = {
624- let bI = valueOrElse(getBoolean(v), false)
630+ let bL = valueOrElse(getBoolean(v), false)
625631 let i = valueOrElse(getInteger(this, j), 0)
626- let bQ = (i - 1)
627- let bh = V(this, w(i))
628- let bb = V(this, f)
629- let bi = (bh + bb)
630- let bj = getInteger(this, p)
631- if (if (if ((height >= bi))
632- then (bj == unit)
632+ let bT = (i - 1)
633+ let bk = Y(this, w(i))
634+ let be = Y(this, f)
635+ let bl = (bk + be)
636+ let bm = getInteger(this, p)
637+ if (if (if ((height >= bl))
638+ then (bm == unit)
633639 else false)
634- then !(bI)
640+ then !(bL)
635641 else false)
636642 then {
637- let bR = (i + 1)
638- let bS = getInteger(this, g)
639- let bT = {
640- let Q = bS
641- if ($isInstanceOf(Q, "Int"))
643+ let bU = (i + 1)
644+ let bV = getInteger(this, g)
645+ let bW = {
646+ let T = bV
647+ if ($isInstanceOf(T, "Int"))
642648 then {
643- let bv = Q
644-[IntegerEntry(f, bv), DeleteEntry(g)]
649+ let by = T
650+[IntegerEntry(f, by), DeleteEntry(g)]
645651 }
646- else if ($isInstanceOf(Q, "Unit"))
652+ else if ($isInstanceOf(T, "Unit"))
647653 then nil
648654 else throw("Match error")
649655 }
650- $Tuple2(([IntegerEntry(w(bR), height), IntegerEntry(s, height), IntegerEntry(j, bR), IntegerEntry(p, d), IntegerEntry(h(i), bb)] ++ bT), true)
656+ $Tuple2(([IntegerEntry(w(bU), height), IntegerEntry(s, height), IntegerEntry(j, bU), IntegerEntry(p, d), IntegerEntry(h(i), be)] ++ bW), true)
651657 }
652- else if (if (bI)
653- then (bj == unit)
658+ else if (if (bL)
659+ then (bm == unit)
654660 else false)
655661 then $Tuple2([IntegerEntry(p, e)], true)
656- else if ((bj == unit))
662+ else if ((bm == unit))
657663 then $Tuple2(nil, false)
658- else if ((bj == d))
664+ else if ((bm == d))
659665 then {
660- let bU = getString(q)
661- let bV = getString(r)
662- let Q = bU
663- if ($isInstanceOf(Q, "Unit"))
666+ let bX = getString(q)
667+ let bY = getString(r)
668+ let T = bX
669+ if ($isInstanceOf(T, "Unit"))
664670 then {
665- let bW = getString(aq(an))
666- if ($isInstanceOf(bW, "Unit"))
671+ let bZ = getString(at(aq))
672+ if ($isInstanceOf(bZ, "Unit"))
667673 then $Tuple2([IntegerEntry(p, e), DeleteEntry(q), DeleteEntry(r)], true)
668- else if ($isInstanceOf(bW, "String"))
674+ else if ($isInstanceOf(bZ, "String"))
669675 then {
670- let bX = bW
671- $Tuple2([StringEntry(q, bX)], true)
676+ let ca = bZ
677+ $Tuple2([StringEntry(q, ca)], true)
672678 }
673679 else throw("Match error")
674680 }
675- else if ($isInstanceOf(Q, "String"))
681+ else if ($isInstanceOf(T, "String"))
676682 then {
677- let bx = Q
678- let z = X(bx)
679- let bY = {
680- let bW = bV
681- if ($isInstanceOf(bW, "Unit"))
682- then getString(aq(ao(z)))
683- else if ($isInstanceOf(bW, "String"))
683+ let bA = T
684+ let z = aa(bA)
685+ let cb = {
686+ let bZ = bY
687+ if ($isInstanceOf(bZ, "Unit"))
688+ then getString(at(ar(z)))
689+ else if ($isInstanceOf(bZ, "String"))
684690 then {
685- let bZ = bW
686- let ca = getString(aw(ao(z), bZ))
687- if ((ca == ca))
691+ let cc = bZ
692+ let cd = getString(az(ar(z), cc))
693+ if ((cd == cd))
688694 then {
689- let cb = invoke(this, "processVoteINTERNAL", [bx, bZ], nil)
690- if ((cb == cb))
691- then ca
695+ let ce = invoke(this, "processVoteINTERNAL", [bA, cc], nil)
696+ if ((ce == ce))
697+ then cd
692698 else throw("Strict value is not equal to itself.")
693699 }
694700 else throw("Strict value is not equal to itself.")
695701 }
696702 else throw("Match error")
697703 }
698- let bW = bY
699- if ($isInstanceOf(bW, "Unit"))
704+ let bZ = cb
705+ if ($isInstanceOf(bZ, "Unit"))
700706 then {
701- let cc = getString(aw(an, bx))
702- let cd = cc
703- if ($isInstanceOf(cd, "Unit"))
707+ let cf = getString(az(aq, bA))
708+ let cg = cf
709+ if ($isInstanceOf(cg, "Unit"))
704710 then $Tuple2([IntegerEntry(p, e), DeleteEntry(q), DeleteEntry(r)], true)
705- else if ($isInstanceOf(cd, "String"))
711+ else if ($isInstanceOf(cg, "String"))
706712 then {
707- let aI = cd
708- $Tuple2([StringEntry(q, aI), DeleteEntry(r)], true)
713+ let aL = cg
714+ $Tuple2([StringEntry(q, aL), DeleteEntry(r)], true)
709715 }
710716 else throw("Match error")
711717 }
712- else if ($isInstanceOf(bW, "String"))
718+ else if ($isInstanceOf(bZ, "String"))
713719 then {
714- let ce = bW
715- $Tuple2([StringEntry(r, ce)], true)
720+ let ch = bZ
721+ $Tuple2([StringEntry(r, ch)], true)
716722 }
717723 else throw("Match error")
718724 }
719725 else throw("Match error")
720726 }
721- else if ((bj == e))
727+ else if ((bm == e))
722728 then {
723- let bU = getString(q)
724- let Q = bU
725- if ($isInstanceOf(Q, "Unit"))
729+ let bX = getString(q)
730+ let T = bX
731+ if ($isInstanceOf(T, "Unit"))
726732 then {
727- let bW = getString(aq(an))
728- if ($isInstanceOf(bW, "Unit"))
733+ let bZ = getString(at(aq))
734+ if ($isInstanceOf(bZ, "Unit"))
729735 then {
730- let bH = if (bI)
736+ let bK = if (bL)
731737 then [DeleteEntry(p), DeleteEntry(v)]
732- else [DeleteEntry(p), BooleanEntry(x(bQ), true), IntegerEntry(t, i), IntegerEntry(u, bh)]
733- $Tuple2(bH, true)
738+ else [DeleteEntry(p), BooleanEntry(x(bT), true), IntegerEntry(t, i), IntegerEntry(u, bk)]
739+ $Tuple2(bK, true)
734740 }
735- else if ($isInstanceOf(bW, "String"))
741+ else if ($isInstanceOf(bZ, "String"))
736742 then {
737- let cf = bW
738- $Tuple2([StringEntry(q, cf)], true)
743+ let ci = bZ
744+ $Tuple2([StringEntry(q, ci)], true)
739745 }
740746 else throw("Match error")
741747 }
742- else if ($isInstanceOf(Q, "String"))
748+ else if ($isInstanceOf(T, "String"))
743749 then {
744- let bx = Q
745- let cc = getString(aw(an, bx))
746- if ((cc == cc))
750+ let bA = T
751+ let cf = getString(az(aq, bA))
752+ if ((cf == cf))
747753 then {
748- let bM = {
749- let U = invoke(this, "processPoolINTERNAL", [bx, bI], nil)
750- if ($isInstanceOf(U, "Boolean"))
751- then U
752- else throw(($getType(U) + " couldn't be cast to Boolean"))
754+ let bP = {
755+ let X = invoke(this, "processPoolINTERNAL", [bA, bL], nil)
756+ if ($isInstanceOf(X, "Boolean"))
757+ then X
758+ else throw(($getType(X) + " couldn't be cast to Boolean"))
753759 }
754- if ((bM == bM))
755- then if (bM)
760+ if ((bP == bP))
761+ then if (bP)
756762 then $Tuple2(nil, true)
757763 else {
758- let bW = cc
759- if ($isInstanceOf(bW, "Unit"))
764+ let bZ = cf
765+ if ($isInstanceOf(bZ, "Unit"))
760766 then {
761- let bH = if (bI)
767+ let bK = if (bL)
762768 then [DeleteEntry(p), DeleteEntry(v), DeleteEntry(q)]
763- else [DeleteEntry(p), BooleanEntry(x(bQ), true), IntegerEntry(t, i), IntegerEntry(u, bh), DeleteEntry(q)]
764- $Tuple2(bH, true)
769+ else [DeleteEntry(p), BooleanEntry(x(bT), true), IntegerEntry(t, i), IntegerEntry(u, bk), DeleteEntry(q)]
770+ $Tuple2(bK, true)
765771 }
766- else if ($isInstanceOf(bW, "String"))
772+ else if ($isInstanceOf(bZ, "String"))
767773 then {
768- let cf = bW
769- $Tuple2([StringEntry(q, cf)], true)
774+ let ci = bZ
775+ $Tuple2([StringEntry(q, ci)], true)
770776 }
771777 else throw("Match error")
772778 }
773779 else throw("Strict value is not equal to itself.")
774780 }
775781 else throw("Strict value is not equal to itself.")
776782 }
777783 else throw("Match error")
778784 }
779785 else throw("finalization is broken")
780786 }
781787
782788
783789
784-@Callable(aM)
785-func finalizeWrapper (cg) = {
786- let ch = {
787- let U = invoke(this, "finalizeHelper", nil, nil)
788- if ($isInstanceOf(U, "Boolean"))
789- then U
790- else throw(($getType(U) + " couldn't be cast to Boolean"))
790+@Callable(aP)
791+func finalizeWrapper (cj) = {
792+ let ck = {
793+ let X = invoke(this, "finalizeHelper", nil, nil)
794+ if ($isInstanceOf(X, "Boolean"))
795+ then X
796+ else throw(($getType(X) + " couldn't be cast to Boolean"))
791797 }
792- if ((ch == ch))
793- then if (!(ch))
794- then if ((cg == 0))
798+ if ((ck == ck))
799+ then if (!(ck))
800+ then if ((cj == 0))
795801 then throw("Current voting is not over yet")
796802 else $Tuple2(nil, unit)
797803 else {
798- let ci = valueOrElse(getInteger(this, k), c)
799- if ((ci > cg))
804+ let cl = valueOrElse(getInteger(this, k), c)
805+ if ((cl > cj))
800806 then {
801- let cj = invoke(this, "finalizeWrapper", [(cg + 1)], nil)
802- if ((cj == cj))
807+ let cm = invoke(this, "finalizeWrapper", [(cj + 1)], nil)
808+ if ((cm == cm))
803809 then $Tuple2(nil, unit)
804810 else throw("Strict value is not equal to itself.")
805811 }
806812 else $Tuple2(nil, unit)
807813 }
808814 else throw("Strict value is not equal to itself.")
809815 }
810816
811817
812818
813-@Callable(aM)
819+@Callable(aP)
814820 func finalize () = {
815- let cj = invoke(this, "finalizeWrapper", [0], nil)
816- if ((cj == cj))
821+ let cm = invoke(this, "finalizeWrapper", [0], nil)
822+ if ((cm == cm))
817823 then $Tuple2(nil, unit)
818824 else throw("Strict value is not equal to itself.")
819825 }
820826
821827
822828
823-@Callable(aM)
824-func containsNodeREADONLY (ar,av) = $Tuple2(nil, ax(ar, av))
829+@Callable(aP)
830+func containsNodeREADONLY (au,ay) = $Tuple2(nil, aA(au, ay))
825831
826832
827833
828-@Callable(aM)
829-func insertNode (ar,av) = {
830- let aQ = aN(aM)
831- if ((aQ == aQ))
832- then $Tuple2(aB(ar, av), unit)
834+@Callable(aP)
835+func insertNode (au,ay) = {
836+ let aT = aQ(aP)
837+ if ((aT == aT))
838+ then $Tuple2(aE(au, ay), unit)
833839 else throw("Strict value is not equal to itself.")
834840 }
835841
836842
837843
838-@Callable(aM)
839-func deleteNode (ar,av) = {
840- let aQ = aN(aM)
841- if ((aQ == aQ))
842- then $Tuple2(aE(ar, av), unit)
844+@Callable(aP)
845+func deleteNode (au,ay) = {
846+ let aT = aQ(aP)
847+ if ((aT == aT))
848+ then $Tuple2(aH(au, ay), unit)
843849 else throw("Strict value is not equal to itself.")
844850 }
845851
846852
847-@Verifier(ck)
848-func cl () = {
849- let cm = {
850- let Q = aH()
851- if ($isInstanceOf(Q, "ByteVector"))
853+
854+@Callable(aP)
855+func getVoteInfoREADONLY (cn,bw) = {
856+ let aY = addressFromStringValue(bw)
857+ let ak = addressFromStringValue(W(this, m))
858+ let co = 4
859+ let cp = 5
860+ let cq = {
861+ let X = invoke(ak, "getPoolConfigByLpAssetId", [cn], nil)
862+ if ($isInstanceOf(X, "List[Any]"))
863+ then X
864+ else throw(($getType(X) + " couldn't be cast to List[Any]"))
865+ }
866+ let B = {
867+ let X = cq[co]
868+ if ($isInstanceOf(X, "String"))
869+ then X
870+ else throw(($getType(X) + " couldn't be cast to String"))
871+ }
872+ let C = {
873+ let X = cq[cp]
874+ if ($isInstanceOf(X, "String"))
875+ then X
876+ else throw(($getType(X) + " couldn't be cast to String"))
877+ }
878+ let cr = {
879+ let i = (value(getInteger(this, j)) - 1)
880+ if ((0 > i))
881+ then O("invalid epoch")
882+ else i
883+ }
884+ let z = $Tuple2(B, C)
885+ let cs = valueOrElse(getInteger(this, F(z, aY, cr)), 0)
886+ let bp = valueOrElse(getInteger(this, H(z, cr)), 0)
887+ $Tuple2(nil, $Tuple2(cs, bp))
888+ }
889+
890+
891+@Verifier(ct)
892+func cu () = {
893+ let cv = {
894+ let T = aK()
895+ if ($isInstanceOf(T, "ByteVector"))
852896 then {
853- let aO = Q
854- aO
897+ let aR = T
898+ aR
855899 }
856- else if ($isInstanceOf(Q, "Unit"))
857- then ck.senderPublicKey
900+ else if ($isInstanceOf(T, "Unit"))
901+ then ct.senderPublicKey
858902 else throw("Match error")
859903 }
860- sigVerify(ck.bodyBytes, ck.proofs[0], cm)
904+ sigVerify(ct.bodyBytes, ct.proofs[0], cv)
861905 }
862906

github/deemru/w8io/169f3d6 
386.53 ms