tx · GGrxUtyWStFqoWpfsizaH2df2wUuz1wdjQGdkBjksJVx

3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr:  -0.02700000 Waves

2024.04.17 09:39 [3066422] smart account 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > SELF 0.00000000 Waves

{ "type": 13, "id": "GGrxUtyWStFqoWpfsizaH2df2wUuz1wdjQGdkBjksJVx", "fee": 2700000, "feeAssetId": null, "timestamp": 1713335985603, "version": 2, "chainId": 84, "sender": "3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr", "senderPublicKey": "GFbasS3jufhZkK4xR7tdTjjnP8K33KvJFEDHRtxXDkaJ", "proofs": [ "3g4rQKcH5hmFVTW3F7q6PXUFaBiBiCgKMaSQMA1JR9qW6ZJjHKdAJYNxThsrxgQrKVmBB4GcDjpGnoxtRJivPW6o" ], "script": "base64:BgKtGggCEgQKAggBEgcKBQgICAgBEgQKAggIEgUKAwgIARIECgIICBIDCgEBEgMKAQESAwoBCBIECgIICBIECgIIBBIAEgMKAQESABIECgIICBIECgIICBIECgIICBIAEgQKAggIEgQKAggIIglzZXBhcmF0b3IiDnBvb2xXZWlnaHRNdWx0Ig9tYXhEZXB0aERlZmF1bHQiGWZpbmFsaXphdGlvblN0YWdlQmFsYW5jZXMiFmZpbmFsaXphdGlvblN0YWdlVG90YWwiF2ZpbmFsaXphdGlvblN0YWdlU2hhcmVzIhRyZXN1bXB0aW9uRmVlRGVmYXVsdCIOa2V5RXBvY2hMZW5ndGgiEWtleUVwb2NoTGVuZ3RoTmV3IhVrZXlFcG9jaExlbmd0aEJ5RXBvY2giBWVwb2NoIg9rZXlDdXJyZW50RXBvY2giC2tleU1heERlcHRoIhBrZXlSZXN1bXB0aW9uRmVlIiJrZXlWb3RpbmdFbWlzc2lvbkNhbmRpZGF0ZUNvbnRyYWN0Ih1rZXlWb3RpbmdFbWlzc2lvblJhdGVDb250cmFjdCISa2V5RmFjdG9yeUNvbnRyYWN0IhNrZXlCb29zdGluZ0NvbnRyYWN0IhJrZXlTdGFraW5nQ29udHJhY3QiFmtleUFzc2V0c1N0b3JlQ29udHJhY3QiFGtleUZpbmFsaXphdGlvblN0YWdlIgtrZXlOZXh0UG9vbCILa2V5TmV4dFVzZXIiDmtleVN0YXJ0SGVpZ2h0IhFrZXlDdXJyZW50RXBvY2hVaSIQa2V5U3RhcnRIZWlnaHRVaSIda2V5RmluYWxpemF0aW9uU2hvdWxkQmVGb3JjZWQiFWtleVN0YXJ0SGVpZ2h0QnlFcG9jaCIMa2V5RmluYWxpemVkIglrZXlJbkxpc3QiBHBvb2wiCyR0MDIwMTMyMDUzIg1hbW91bnRBc3NldElkIgxwcmljZUFzc2V0SWQiF2tleUluc3VmZmljaWVudEJhbGFuY2VzIgskdDAyMjAyMjI0MiIHa2V5VXNlZCIHYWRkcmVzcyIHa2V5Vm90ZSILJHQwMjU1MDI1OTAiD2tleVZvdGluZ1Jlc3VsdCILJHQwMjc3MjI4MTIiFWtleVZvdGluZ1Jlc3VsdFN0YWtlZCIMbHBBc3NldElkU3RyIgxrZXlQb29sU2hhcmUiCyR0MDMxMzMzMTczIg1rZXlUb3RhbFZvdGVzIg9rZXlTdGFrZWRCeVVzZXIiDnVzZXJBZGRyZXNzU3RyIgd3cmFwRXJyIgNtc2ciCHRocm93RXJyIg5nZXRWYWx1ZU9yRmFpbCIDa2V5IgR0eXBlIgVlcnJvciIHJG1hdGNoMCIDc3RyIgNpbnQiDGdldFN0ck9yRmFpbCIBQCIMZ2V0SW50T3JGYWlsIgxwb29sVG9TdHJpbmciDHN0cmluZ1RvUG9vbCIFcGFydHMiD2ZhY3RvcnlDb250cmFjdCIaSWR4RmFjdG9yeUNmZ0d3eFJld2FyZERhcHAiDWtleUZhY3RvcnlDZmciFHJlYWRGYWN0b3J5Q2ZnT3JGYWlsIgdmYWN0b3J5IhlnZXRHd3hSZXdhcmRBZGRyZXNzT3JGYWlsIgpmYWN0b3J5Q2ZnIgtnZXRQb29sSW5mbyIOcG9vbEluZm9PcHRpb24iFmdldExwQXNzZXRCeVBvb2xBc3NldHMiH2tleU1hcHBpbmdzQmFzZUFzc2V0MmludGVybmFsSWQiDGJhc2VBc3NldFN0ciIpa2V5TWFwcGluZ1Bvb2xBc3NldHNUb1Bvb2xDb250cmFjdEFkZHJlc3MiGGludGVybmFsQW1vdW50QXNzZXRJZFN0ciIXaW50ZXJuYWxQcmljZUFzc2V0SWRTdHIiH2tleU1hcHBpbmdQb29sQ29udHJhY3RUb0xQQXNzZXQiE3Bvb2xDb250cmFjdEFkZHJlc3MiFWFtb3VudEFzc2V0SW50ZXJuYWxJZCIUcHJpY2VBc3NldEludGVybmFsSWQiCWxwQXNzZXRJZCIYY2hlY2tXeEVtaXNzaW9uUG9vbExhYmVsIgskdDA2Mjk5NjMzOSIQZ3d4UmV3YXJkRGVwb3NpdCISZ3d4UmV3YXJkc0NvbnRyYWN0Ig1wb29sc0xpc3ROYW1lIhBnZXRWb3Rlc0xpc3ROYW1lIgskdDA2NzU2Njc5NiILa2V5TGlzdEhlYWQiCGxpc3ROYW1lIgRtZXRhIgtrZXlMaXN0U2l6ZSILa2V5TGlzdFByZXYiAmlkIgtrZXlMaXN0TmV4dCIMY29udGFpbnNOb2RlIgpoZWFkT3JVbml0IgpwcmV2T3JVbml0IgpuZXh0T3JVbml0IhFpbnNlcnROb2RlQWN0aW9ucyIIbGlzdFNpemUiCWNoZWNrTm9kZSIRZGVsZXRlTm9kZUFjdGlvbnMiFmtleU1hbmFnZXJWYXVsdEFkZHJlc3MiE2tleU1hbmFnZXJQdWJsaWNLZXkiHGdldE1hbmFnZXJWYXVsdEFkZHJlc3NPclRoaXMiAXMiFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQiE21hbmFnZXJWYXVsdEFkZHJlc3MiCWlzTWFuYWdlciIBaSICcGsiC211c3RNYW5hZ2VyIghtdXN0VGhpcyILdXNlckFkZHJlc3MiDHRhcmdldEhlaWdodCIXYm9vc3RpbmdDb250cmFjdEFkZHJlc3MiH3ZvdGluZ0VtaXNzaW9uQ2FuZGlkYXRlQ29udHJhY3QiEGJvb3N0aW5nQ29udHJhY3QiD3N0YWtpbmdDb250cmFjdCILZXBvY2hMZW5ndGgiBmNoZWNrcyINaW5MaXN0QWN0aW9ucyIYY3VycmVudEVwb2NoSXNOb3REZWZpbmVkIhJzdGFydEhlaWdodEFjdGlvbnMiBmFtb3VudCILc3RhcnRIZWlnaHQiCWVuZEhlaWdodCIXZmluYWxpemF0aW9uU3RhZ2VPclVuaXQiBHVzZWQiBHZvdGUiCnBvb2xSZXN1bHQiCnRvdGFsVm90ZXMiE2d3eEFtb3VudEF0RW5kVG90YWwiCWF2YWlsYWJsZSIHbmV3Vm90ZSIKd3hFbWlzc2lvbiINdm90ZXNMaXN0TmFtZSIQdm90ZXNMaXN0QWN0aW9ucyIObmV3RXBvY2hMZW5ndGgiC25ld01heERlcHRoIgdwb29sU3RyIgtjaGVja0NhbGxlciINZXBvY2hQcmV2aW91cyINJHQwMTcwMjAxNzA2MCISYmFsYW5jZUlzT2tDdXJyZW50IhNiYWxhbmNlSXNPa1ByZXZpb3VzIgdhY3Rpb25zIhNkZWxldGVXeEVtaXNzaW9uSW52Ig9tb2RpZnlXZWlnaHRJbnYiC3Bvb2xBZGRyZXNzIgluZXdTdGF0dXMiEHNldFBvb2xTdGF0dXNJbnYiC2xpc3RBY3Rpb25zIhNzdGFydEhlaWdodFByZXZpb3VzIhNlcG9jaExlbmd0aFByZXZpb3VzIhFlbmRIZWlnaHRQcmV2aW91cyIQY2hlY2tUYXJnZXRFcG9jaCINJHQwMTk0MTMxOTQ1MyIbZ3d4QW1vdW50QXRFbmRUb3RhbFByZXZpb3VzIgx2b3RpbmdSZXN1bHQiDHZvdGVQcmV2aW91cyIadm90aW5nUmVzdWx0U3Rha2VkUHJldmlvdXMiDHN0YWtlZEJ5VXNlciIZdm90aW5nUmVzdWx0U3Rha2VkQWN0aW9ucyIFZm9yY2UiC3RhcmdldEVwb2NoIgxjdXJyZW50RXBvY2giDSR0MDIxODE2MjE4NTYiAXIiE2Fzc2V0c1N0b3JlQ29udHJhY3QiBXNoYXJlIg1wcmV2aW91c0Vwb2NoIghuZXdFcG9jaCIUbmV3RXBvY2hMZW5ndGhPcHRpb24iFW5ld0Vwb2NoTGVuZ3RoQWN0aW9ucyIKcG9vbE9yVW5pdCIHJG1hdGNoMSILbmV4dFBvb2xTdHIiDm5leHRQb29sT3JVbml0Igp1c2VyT3JVbml0Igxwb29sc0hlYWRTdHIiDm5leHRVc2VyT3JVbml0IgR1c2VyIgRuZXh0Ig5wcm9jZXNzVm90ZUludiIHJG1hdGNoMiIIbmV4dFVzZXIiE2d3eFJld2FyZERlcG9zaXRJbnYiB2NvdW50ZXIiGnZvdGluZ0VtaXNzaW9uUmF0ZUNvbnRyYWN0IgZyZXN1bHQiA2ludiIIbWF4RGVwdGgiFmZpbmFsaXphdGlvbkluUHJvZ3Jlc3MiC2JhbGFuY2VJc09rIgdwYXltZW50Ig9rQm9vc3RpbmdDb25maWciDWlkeENmZ0Fzc2V0SWQiCXd4QXNzZXRJZCITYW1vdW50QXNzZXRWZXJpZmllZCIScHJpY2VBc3NldFZlcmlmaWVkIg1yZXN1bXB0aW9uRmVlIgJ0eCIGdmVyaWZ5Ig90YXJnZXRQdWJsaWNLZXlFAAFhAgJfXwABYgCAwtcvAAFjAAoAAWQAAAABZQABAAFmAAIAAWcAgJDK0sYOAAFoCQC5CQIJAMwIAgICJXMJAMwIAgILZXBvY2hMZW5ndGgFA25pbAUBYQABaQkAuQkCCQDMCAICBCVzJXMJAMwIAgIQZXBvY2hMZW5ndGhfX25ldwUDbmlsBQFhAQFqAQFrCQC5CQIJAMwIAgIEJXMlZAkAzAgCAgtlcG9jaExlbmd0aAkAzAgCCQCkAwEFAWsFA25pbAUBYQABbAkAuQkCCQDMCAICAiVzCQDMCAICDGN1cnJlbnRFcG9jaAUDbmlsBQFhAAFtCQC5CQIJAMwIAgICJXMJAMwIAgIIbWF4RGVwdGgFA25pbAUBYQABbgkAuQkCCQDMCAICAiVzCQDMCAICDXJlc3VtcHRpb25GZWUFA25pbAUBYQABbwkAuQkCCQDMCAICAiVzCQDMCAICH3ZvdGluZ0VtaXNzaW9uQ2FuZGlkYXRlQ29udHJhY3QFA25pbAUBYQABcAkAuQkCCQDMCAICAiVzCQDMCAICGnZvdGluZ0VtaXNzaW9uUmF0ZUNvbnRyYWN0BQNuaWwFAWEAAXEJALkJAgkAzAgCAgIlcwkAzAgCAg9mYWN0b3J5Q29udHJhY3QFA25pbAUBYQABcgkAuQkCCQDMCAICAiVzCQDMCAICEGJvb3N0aW5nQ29udHJhY3QFA25pbAUBYQABcwkAuQkCCQDMCAICAiVzCQDMCAICD3N0YWtpbmdDb250cmFjdAUDbmlsBQFhAAF0CQC5CQIJAMwIAgICJXMJAMwIAgITYXNzZXRzU3RvcmVDb250cmFjdAUDbmlsBQFhAAF1CQC5CQIJAMwIAgICJXMJAMwIAgIRZmluYWxpemF0aW9uU3RhZ2UFA25pbAUBYQABdgkAuQkCCQDMCAICAiVzCQDMCAICCG5leHRQb29sBQNuaWwFAWEAAXcJALkJAgkAzAgCAgIlcwkAzAgCAghuZXh0VXNlcgUDbmlsBQFhAAF4CQC5CQIJAMwIAgICJXMJAMwIAgILc3RhcnRIZWlnaHQFA25pbAUBYQABeQkAuQkCCQDMCAICAiVzCQDMCAICDmN1cnJlbnRFcG9jaFVpBQNuaWwFAWEAAXoJALkJAgkAzAgCAgIlcwkAzAgCAg1zdGFydEhlaWdodFVpBQNuaWwFAWEAAUEJALkJAgkAzAgCAgIlcwkAzAgCAgVmb3JjZQUDbmlsBQFhAQFCAQFrCQC5CQIJAMwIAgIEJXMlZAkAzAgCAgtzdGFydEhlaWdodAkAzAgCCQCkAwEFAWsFA25pbAUBYQEBQwEBawkAuQkCCQDMCAICBCVzJWQJAMwIAgIJZmluYWxpemVkCQDMCAIJAKQDAQUBawUDbmlsBQFhAQFEAQFFBAFGBQFFBAFHCAUBRgJfMQQBSAgFAUYCXzIJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIGaW5MaXN0CQDMCAIFAUcJAMwIAgUBSAUDbmlsBQFhAQFJAgFFAWsEAUoFAUUEAUcIBQFKAl8xBAFICAUBSgJfMgkAuQkCCQDMCAICCCVzJXMlcyVkCQDMCAICFGluc3VmZmljaWVudEJhbGFuY2VzCQDMCAIFAUcJAMwIAgUBSAkAzAgCCQCkAwEFAWsFA25pbAUBYQEBSwIBTAFrCQC5CQIJAMwIAgIGJXMlcyVkCQDMCAICBHVzZWQJAMwIAgkApQgBBQFMCQDMCAIJAKQDAQUBawUDbmlsBQFhAQFNAwFFAUwBawQBTgUBRQQBRwgFAU4CXzEEAUgIBQFOAl8yCQC5CQIJAMwIAgIKJXMlcyVzJXMlZAkAzAgCAgR2b3RlCQDMCAIFAUcJAMwIAgUBSAkAzAgCCQClCAEFAUwJAMwIAgkApAMBBQFrBQNuaWwFAWEBAU8CAUUBawQBUAUBRQQBRwgFAVACXzEEAUgIBQFQAl8yCQC5CQIJAMwIAgIIJXMlcyVzJWQJAMwIAgIMdm90aW5nUmVzdWx0CQDMCAIFAUcJAMwIAgUBSAkAzAgCCQCkAwEFAWsFA25pbAUBYQEBUQIBUgFrCQC5CQIJAMwIAgIGJXMlcyVkCQDMCAICEnZvdGluZ1Jlc3VsdFN0YWtlZAkAzAgCBQFSCQDMCAIJAKQDAQUBawUDbmlsBQFhAQFTAgFFAWsEAVQFAUUEAUcIBQFUAl8xBAFICAUBVAJfMgkAuQkCCQDMCAICCCVzJXMlcyVkCQDMCAICCXBvb2xTaGFyZQkAzAgCBQFHCQDMCAIFAUgJAMwIAgkApAMBBQFrBQNuaWwFAWEBAVUBAWsJALkJAgkAzAgCAgQlcyVkCQDMCAICCnRvdGFsVm90ZXMJAMwIAgkApAMBBQFrBQNuaWwFAWEBAVYCAVIBVwkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAgZzdGFrZWQJAMwIAgUBVwkAzAgCBQFSBQNuaWwFAWEBAVgBAVkJALkJAgkAzAgCAhV2b3RpbmdfZW1pc3Npb24ucmlkZToJAMwIAgUBWQUDbmlsAgEgAQFaAQFZCQACAQkBAVgBBQFZAQJhYQMBTAJhYgJhYwQCYWQJAQFYAQkAuQkCCQDMCAICCm1hbmRhdG9yeSAJAMwIAgkApQgBBQFMCQDMCAICAS4JAMwIAgUCYWIJAMwIAgIPIGlzIG5vdCBkZWZpbmVkBQNuaWwCAAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCBAJhZQUCYWMDCQABAgUCYWUCBlN0cmluZwQCYWYFAmFlCQCdCAIFAUwFAmFiAwkAAQIFAmFlAgNJbnQEAmFnBQJhZQkAmggCBQFMBQJhYgkBAVoBAhJpbnZhbGlkIGVudHJ5IHR5cGUFAmFkAQJhaAIBTAJhYgoAAmFpCQECYWEDBQFMBQJhYgIAAwkAAQIFAmFpAgZTdHJpbmcFAmFpCQACAQkArAICCQADAQUCYWkCGyBjb3VsZG4ndCBiZSBjYXN0IHRvIFN0cmluZwECYWoCAUwCYWIKAAJhaQkBAmFhAwUBTAUCYWIAAAMJAAECBQJhaQIDSW50BQJhaQkAAgEJAKwCAgkAAwEFAmFpAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQBAmFrAQFFCQCsAgIJAKwCAggFAUUCXzEFAWEIBQFFAl8yAQJhbAECYWYEAmFtCQC1CQIFAmFmBQFhAwkAAAIJAJADAQUCYW0AAgkAlAoCCQCRAwIFAmFtAAAJAJEDAgUCYW0AAQkBAVoBAhNpbnZhbGlkIHBvb2wgc3RyaW5nAAJhbgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAmFoAgUEdGhpcwUBcQACYW8ACgECYXAAAhElc19fZmFjdG9yeUNvbmZpZwECYXEBAmFyCQC1CQIJAQJhaAIFAmFyCQECYXAABQFhAQJhcwECYXQJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYXQFAmFvAQJhdQIBRwFIBAJhdgoAAmFpCQD8BwQFAmFuAhBwb29sSW5mb1JFQURPTkxZCQDMCAIFAUcJAMwIAgUBSAUDbmlsBQNuaWwDCQABAgUCYWkCFShBZGRyZXNzLCBCeXRlVmVjdG9yKQUCYWkFBHVuaXQFAmF2AQJhdwIBRwFICgECYXgBAmF5CQCsAgICKCVzJXMlc19fbWFwcGluZ3NfX2Jhc2VBc3NldDJpbnRlcm5hbElkX18FAmF5CgECYXoCAmFBAmFCCQCsAgIJAKwCAgkArAICCQCsAgICCiVkJWQlcyVzX18JAKQDAQUCYUECAl9fCQCkAwEFAmFCAiNfX21hcHBpbmdzX19wb29sQXNzZXRzMlBvb2xDb250cmFjdAoBAmFDAQJhRAkArAICCQCsAgICCCVzJXMlc19fBQJhRAIgX19tYXBwaW5nc19fcG9vbENvbnRyYWN0MkxwQXNzZXQEAmFFCQECYWoCBQJhbgkBAmF4AQUBRwQCYUYJAQJhagIFAmFuCQECYXgBBQFIBAJhRAkBAmFoAgUCYW4JAQJhegIFAmFFBQJhRgQCYUcJAQJhaAIFAmFuCQECYUMBBQJhRAUCYUcBAmFIAQFFBAJhSQUBRQQBRwgFAmFJAl8xBAFICAUCYUkCXzIKAAJhaQkA/AcEBQJhbgIYY2hlY2tXeEVtaXNzaW9uUG9vbExhYmVsCQDMCAIFAUcJAMwIAgUBSAUDbmlsBQNuaWwDCQABAgUCYWkCB0Jvb2xlYW4FAmFpCQACAQkArAICCQADAQUCYWkCHCBjb3VsZG4ndCBiZSBjYXN0IHRvIEJvb2xlYW4BAmFKAAQCYXQJAQJhcQEFAmFuBAJhSwkBAmFzAQUCYXQJAPwHBAUCYUsCB2RlcG9zaXQFA25pbAUDbmlsAAJhTAIFcG9vbHMBAmFNAQFFBAJhTgUBRQQBRwgFAmFOAl8xBAFICAUCYU4CXzIJALkJAgkAzAgCAgV2b3RlcwkAzAgCBQFHCQDMCAIFAUgFA25pbAUBYQECYU8BAmFQBAJhUQMJAAACBQJhUAUCYUwCBCVzJXMCCCVzJXMlcyVzCQC5CQIJAMwIAgUCYVEJAMwIAgUCYVAJAMwIAgIEaGVhZAUDbmlsBQFhAQJhUgECYVAEAmFRAwkAAAIFAmFQBQJhTAIEJXMlcwIIJXMlcyVzJXMJALkJAgkAzAgCBQJhUQkAzAgCBQJhUAkAzAgCAgRzaXplBQNuaWwFAWEBAmFTAgJhUAJhVAQCYVEDCQAAAgUCYVAFAmFMAgglcyVzJXMlcwIKJXMlcyVzJXMlcwkAuQkCCQDMCAIFAmFRCQDMCAIFAmFQCQDMCAIFAmFUCQDMCAICBHByZXYFA25pbAUBYQECYVUCAmFQAmFUBAJhUQMJAAACBQJhUAUCYUwCCCVzJXMlcyVzAgolcyVzJXMlcyVzCQC5CQIJAMwIAgUCYVEJAMwIAgUCYVAJAMwIAgUCYVQJAMwIAgIEbmV4dAUDbmlsBQFhAQJhVgICYVACYVQEAmFXCQCdCAIFBHRoaXMJAQJhTwEFAmFQBAJhWAkAnQgCBQR0aGlzCQECYVMCBQJhUAUCYVQEAmFZCQCdCAIFBHRoaXMJAQJhVQIFAmFQBQJhVAMDCQAAAgUCYVQJAQt2YWx1ZU9yRWxzZQIFAmFXAgAGCQECIT0CBQJhWAUEdW5pdAYJAQIhPQIFAmFZBQR1bml0AQJhWgICYVACYVQEAmFXCQCdCAIFBHRoaXMJAQJhTwEFAmFQBAJiYQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQECYVIBBQJhUAAABAJiYgMJAQEhAQkBAmFWAgUCYVAFAmFUBgkBAVoBAgtOb2RlIGV4aXN0cwMJAAACBQJiYgUCYmIJAM4IAgkAzggCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYVIBBQJhUAkAZAIFAmJhAAEFA25pbAMJAQIhPQIFAmFXBQR1bml0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhVQIFAmFQBQJhVAkBBXZhbHVlAQUCYVcJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFTAgUCYVAJAQV2YWx1ZQEFAmFXBQJhVAUDbmlsBQNuaWwJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFPAQUCYVAFAmFUBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAmJjAgJhUAJhVAQCYVcJAJ0IAgUEdGhpcwkBAmFPAQUCYVAEAmJhCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQJhUgEFAmFQAAAEAmFYCQCdCAIFBHRoaXMJAQJhUwIFAmFQBQJhVAQCYVkJAJ0IAgUEdGhpcwkBAmFVAgUCYVAFAmFUCQDOCAIJAMwIAgkBDEludGVnZXJFbnRyeQIJAQJhUgEFAmFQCQBlAgUCYmEAAQUDbmlsAwMJAQIhPQIFAmFYBQR1bml0CQECIT0CBQJhWQUEdW5pdAcJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFVAgUCYVAJAQV2YWx1ZQEFAmFYCQEFdmFsdWUBBQJhWQkAzAgCCQELU3RyaW5nRW50cnkCCQECYVMCBQJhUAkBBXZhbHVlAQUCYVkJAQV2YWx1ZQEFAmFYCQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhUwIFAmFQBQJhVAkAzAgCCQELRGVsZXRlRW50cnkBCQECYVUCBQJhUAUCYVQFA25pbAMJAQIhPQIFAmFZBQR1bml0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhTwEFAmFQCQEFdmFsdWUBBQJhWQkAzAgCCQELRGVsZXRlRW50cnkBCQECYVUCBQJhUAUCYVQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFTAgUCYVAJAQV2YWx1ZQEFAmFZBQNuaWwDCQECIT0CBQJhWAUEdW5pdAkAzAgCCQELRGVsZXRlRW50cnkBCQECYVMCBQJhUAUCYVQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFVAgUCYVAJAQV2YWx1ZQEFAmFYBQNuaWwDCQAAAgUCYVQJAQt2YWx1ZU9yRWxzZQIFAmFXAgAJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFPAQUCYVAFA25pbAkBAVoBCQCsAgIJAKwCAgkArAICAg5pbnZhbGlkIG5vZGU6IAUCYVACAS4FAmFUAQJiZAACFyVzX19tYW5hZ2VyVmF1bHRBZGRyZXNzAQJiZQACFCVzX19tYW5hZ2VyUHVibGljS2V5AQJiZgAEAmFlCQCiCAEJAQJiZAADCQABAgUCYWUCBlN0cmluZwQCYmcFAmFlCQERQGV4dHJOYXRpdmUoMTA2MikBBQJiZwUEdGhpcwECYmgABAJiaQkBAmJmAAQCYWUJAJ0IAgUCYmkJAQJiZQADCQABAgUCYWUCBlN0cmluZwQCYmcFAmFlCQDZBAEFAmJnAwkAAQIFAmFlAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IBAmJqAQJiawQCYWUJAQJiaAADCQABAgUCYWUCCkJ5dGVWZWN0b3IEAmJsBQJhZQkAAAIIBQJiaw9jYWxsZXJQdWJsaWNLZXkFAmJsAwkAAQIFAmFlAgRVbml0CQAAAggFAmJrBmNhbGxlcgUEdGhpcwkAAgECC01hdGNoIGVycm9yAQJibQECYmsDCQECYmoBBQJiawYJAAIBAhFwZXJtaXNzaW9uIGRlbmllZAECYm4BAmJrAwkAAAIIBQJiawZjYWxsZXIFBHRoaXMGCQACAQIRcGVybWlzc2lvbiBkZW5pZWQTAmJrARhnZXRVc2VyR3d4QW1vdW50QXRIZWlnaHQCAmJvAmJwBAJicQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJAQJhaAIFBHRoaXMFAXIJAQFYAQIhaW52YWxpZCBib29zdGluZyBjb250cmFjdCBhZGRyZXNzCQCUCgIFA25pbAoAAmFpCQD8BwQFAmJxAiBnZXRVc2VyR3d4QW1vdW50QXRIZWlnaHRSRUFET05MWQkAzAgCBQJibwkAzAgCBQJicAUDbmlsBQNuaWwDCQABAgUCYWkCA0ludAUCYWkJAAIBCQCsAgIJAAMBBQJhaQIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50AmJrAQtjb25zdHJ1Y3RvcgUCYW4CYnICYnMCYnQCYnUEAmJ2CQDMCAIJAQJibQEFAmJrCQDMCAIDCQECIT0CCQCmCAEFAmFuBQR1bml0BgIgaW52YWxpZCBmYWN0b3J5IGNvbnRyYWN0IGFkZHJlc3MJAMwIAgMJAQIhPQIJAKYIAQUCYnIFBHVuaXQGAjJpbnZhbGlkIHZvdGluZyBlbWlzc2lvbiBjYW5kaWRhdGUgY29udHJhY3QgYWRkcmVzcwkAzAgCAwkBAiE9AgkApggBBQJicwUEdW5pdAYCIWludmFsaWQgYm9vc3RpbmcgY29udHJhY3QgYWRkcmVzcwkAzAgCAwkBAiE9AgkApggBBQJidAUEdW5pdAYCIGludmFsaWQgc3Rha2luZyBjb250cmFjdCBhZGRyZXNzCQDMCAIDCQBmAgUCYnUAAAYJAQFaAQIUaW52YWxpZCBlcG9jaCBsZW5ndGgFA25pbAMJAAACBQJidgUCYnYJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQFxBQJhbgkAzAgCCQELU3RyaW5nRW50cnkCBQFvBQJicgkAzAgCCQELU3RyaW5nRW50cnkCBQFyBQJicwkAzAgCCQELU3RyaW5nRW50cnkCBQFzBQJidAkAzAgCCQEMSW50ZWdlckVudHJ5AgUBaAUCYnUFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiawEGY3JlYXRlAgFHAUgEAmJ2CQDMCAIDCQAAAgkA2AQBCAgFAmJrBmNhbGxlcgVieXRlcwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzBQFvAgAGCQECYm0BBQJiawUDbmlsAwkAAAIFAmJ2BQJidgQBRQkAlAoCBQFHBQFIBAJidwkAzggCCQDMCAIJAQxCb29sZWFuRW50cnkCCQEBRAEFAUUGBQNuaWwJAQJhWgIFAmFMCQECYWsBBQFFBAJieAkAAAIJAJoIAgUEdGhpcwUBbAUEdW5pdAQCYnkDBQJieAQBawAACQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFsBQFrCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBQgEFAWsFBmhlaWdodAkAzAgCCQEMSW50ZWdlckVudHJ5AgUBeAUGaGVpZ2h0CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQF5BQFrCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQF6BQZoZWlnaHQFA25pbAUDbmlsCQCUCgIJAM4IAgUCYncFAmJ5BQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJrAQR2b3RlAwFHAUgCYnoEAUUJAJQKAgUBRwUBSAQBawkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQFsAAAEAmJBCQECYWoCBQR0aGlzCQEBQgEFAWsEAmJ1CQECYWoCBQR0aGlzBQFoBAJiQgkAZAIFAmJBBQJidQQCYkMJAJoIAgUEdGhpcwUBdQQCYkQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUsCCAUCYmsGY2FsbGVyBQFrAAAEAmJFCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQFNAwUBRQgFAmJrBmNhbGxlcgUBawAABAJiRgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBTwIFAUUFAWsAAAQCYkcJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAVUBBQFrAAAEAmJICgACYWkJAPwHBAUEdGhpcwIYZ2V0VXNlckd3eEFtb3VudEF0SGVpZ2h0CQDMCAIJANgEAQgIBQJiawZjYWxsZXIFYnl0ZXMJAMwIAgUCYkIFA25pbAUDbmlsAwkAAQIFAmFpAgNJbnQFAmFpCQACAQkArAICCQADAQUCYWkCGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAQCYkkJAGUCBQJiSAUCYkQEAmJKCQBkAgUCYkUFAmJ6BAJiSwkBAmFIAQUBRQQCYnYJAMwIAgMJAQIhPQIJAKAIAQkBAUQBBQFFBQR1bml0BgkBAVoBAg5pbnZhbGlkIGFzc2V0cwkAzAgCAwkAZgIFAmJCBQZoZWlnaHQGCQEBWgECDmludmFsaWQgaGVpZ2h0CQDMCAIDCQAAAgUCYkMFBHVuaXQGCQEBWgECGGZpbmFsaXphdGlvbiBpbiBwcm9ncmVzcwkAzAgCAwkAZgIFAmJIAAAGCQEBWgECE3lvdSBkbyBub3QgaGF2ZSBnV1gJAMwIAgMDCQBmAgUCYnoAAAkAZwIFAmJJBQJiegcGCQEBWgECDmludmFsaWQgYW1vdW50CQDMCAIDBQJiSwYJAQFaAQIdcG9vbCBoYXNuJ3QgV1hfRU1JU1NJT04gbGFiZWwFA25pbAMJAAACBQJidgUCYnYEAmJMCQECYU0BBQFFBAFXCQClCAEIBQJiawZjYWxsZXIEAmJNAwkBAmFWAgUCYkwFAVcFA25pbAkBAmFaAgUCYkwFAVcJAJQKAgkAzggCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBSwIIBQJiawZjYWxsZXIFAWsJAGQCBQJiRAUCYnoJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFNAwUBRQgFAmJrBmNhbGxlcgUBawUCYkoJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFPAgUBRQUBawkAZAIFAmJGBQJiegkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAVUBBQFrCQBkAgUCYkcFAmJ6BQNuaWwFAmJNBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJrAQpjYW5jZWxWb3RlAgFHAUgEAUUJAJQKAgUBRwUBSAQBawkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQFsAAAEAmJBCQECYWoCBQR0aGlzCQEBQgEFAWsEAmJ1CQECYWoCBQR0aGlzBQFoBAJiQgkAZAIFAmJBBQJidQQCYkMJAJoIAgUEdGhpcwUBdQQCYkQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUsCCAUCYmsGY2FsbGVyBQFrAAAEAmJFCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQFNAwUBRQgFAmJrBmNhbGxlcgUBawAABAJiRgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBTwIFAUUFAWsAAAQCYkcJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAVUBBQFrAAAEAmJ2CQDMCAIDCQECIT0CCQCgCAEJAQFEAQUBRQUEdW5pdAYJAQFaAQIOaW52YWxpZCBhc3NldHMJAMwIAgMJAGYCBQJiQgUGaGVpZ2h0BgkBAVoBAg5pbnZhbGlkIGhlaWdodAkAzAgCAwkAAAIFAmJDBQR1bml0BgkBAVoBAhhmaW5hbGl6YXRpb24gaW4gcHJvZ3Jlc3MJAMwIAgMJAGYCBQJiRQAABgkBAVoBAgdubyB2b3RlBQNuaWwDCQAAAgUCYnYFAmJ2BAJiTAkBAmFNAQUBRQQBVwkApQgBCAUCYmsGY2FsbGVyCQCUCgIJAM4IAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAUsCCAUCYmsGY2FsbGVyBQFrCQCWAwEJAMwIAgkAZQIFAmJEBQJiRQkAzAgCAAAFA25pbAkAzAgCCQELRGVsZXRlRW50cnkBCQEBTQMFAUUIBQJiawZjYWxsZXIFAWsJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFPAgUBRQUBawkAZQIFAmJGBQJiRQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAVUBBQFrCQBlAgUCYkcFAmJFBQNuaWwJAQJiYwIFAmJMBQFXBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJrAQ5zZXRFcG9jaExlbmd0aAECYk4EAmJ2CQDMCAIJAQJibQEFAmJrCQDMCAIDCQBmAgUCYk4AAAYJAQFaAQIUaW52YWxpZCBlcG9jaCBsZW5ndGgFA25pbAMJAAACBQJidgUCYnYJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUBaQUCYk4FA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiawELc2V0TWF4RGVwdGgBAmJPBAJidgkAzAgCCQECYm0BBQJiawkAzAgCAwkAZgIFAmJPAAAGCQEBWgECEWludmFsaWQgbWF4IGRlcHRoBQNuaWwDCQAAAgUCYnYFAmJ2CQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFAW0FAmJPBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmsBGnByb2Nlc3NQb29sQmFsYW5jZUlOVEVSTkFMAQJiUAQCYlEJAQJibgEFAmJrAwkAAAIFAmJRBQJiUQQBawkBAmFqAgUEdGhpcwUBbAQCYlIJAGUCBQFrAAEEAUUJAQJhbAEFAmJQBAJiUwUBRQQBRwgFAmJTAl8xBAFICAUCYlMCXzIEAmFHCQECYXcCBQFHBQFIBAJiVAoAAmFpCQD8BwQFAmFuAgxjaGVja0JhbGFuY2UJAMwIAgUCYUcFA25pbAUDbmlsAwkAAQIFAmFpAgdCb29sZWFuBQJhaQkAAgEJAKwCAgkAAwEFAmFpAhwgY291bGRuJ3QgYmUgY2FzdCB0byBCb29sZWFuBAJiVQkBASEBCQELdmFsdWVPckVsc2UCCQCbCAIFBHRoaXMJAQFJAgUBRQkAZQIFAmJSAAEHBAJiVgMJAQEhAQUCYlQDCQEBIQEFAmJVBAJiVwkA/AcEBQJhbgIZZGVsZXRlV3hFbWlzc2lvblBvb2xMYWJlbAkAzAgCBQFHCQDMCAIFAUgFA25pbAUDbmlsAwkAAAIFAmJXBQJiVwQCYlgJAPwHBAUCYW4CDG1vZGlmeVdlaWdodAkAzAgCBQJhRwkAzAgCAAAFA25pbAUDbmlsAwkAAAIFAmJYBQJiWAQCYlkICQETdmFsdWVPckVycm9yTWVzc2FnZQIJAQJhdQIFAUcFAUgJAQFYAQIOaW52YWxpZCBhc3NldHMCXzEEAmJaAAMEAmNhCQD8BwQFAmFuAgptYW5hZ2VQb29sCQDMCAIJAKUIAQUCYlkJAMwIAgUCYloFA25pbAUDbmlsAwkAAAIFAmNhBQJjYQQCY2IJAM4IAgkAzAgCCQELRGVsZXRlRW50cnkBCQEBRAEFAUUFA25pbAkBAmJjAgUCYUwJAQJhawEFAUUJAM4IAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAVMCBQFFBQJiUgAABQNuaWwFAmNiCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQDMCAIJAQxCb29sZWFuRW50cnkCCQEBSQIFAUUFAmJSBgUDbmlsBQNuaWwJAJQKAgUCYlYFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmsBE3Byb2Nlc3NWb3RlSU5URVJOQUwCAmJQAVcEAmJRCQECYm4BBQJiawMJAAACBQJiUQUCYlEEAmJvCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQUBVwkBAVgBCQCsAgICKnByb2Nlc3NWb3RlSU5URVJOQUw6IGludmFsaWQgdXNlciBhZGRyZXNzIAUBVwQBawkBAmFqAgUEdGhpcwUBbAQCYlIJAGUCBQFrAAEEAmJ1CQECYWoCBQR0aGlzBQFoBAJiQQkBAmFqAgUEdGhpcwkBAUIBBQFrBAJiQgkAZAIFAmJBBQJidQQCY2MJAQJhagIFBHRoaXMJAQFCAQUCYlIEAmNkCQECYWoCBQR0aGlzCQEBagEFAmJSBAJjZQkAZAIFAmNjBQJjZAQCY2YDCQBnAgUCYlIAAAYJAQFaAQIrcHJvY2Vzc1ZvdGVJTlRFUk5BTDogaW52YWxpZCBwcmV2aW91cyBlcG9jaAMJAAACBQJjZgUCY2YEAUUJAQJhbAEFAmJQBAJjZwUBRQQBRwgFAmNnAl8xBAFICAUCY2cCXzIEAmJICgACYWkJAPwHBAUEdGhpcwIYZ2V0VXNlckd3eEFtb3VudEF0SGVpZ2h0CQDMCAIFAVcJAMwIAgUCYkIFA25pbAUDbmlsAwkAAQIFAmFpAgNJbnQFAmFpCQACAQkArAICCQADAQUCYWkCGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAQCY2gKAAJhaQkA/AcEBQR0aGlzAhhnZXRVc2VyR3d4QW1vdW50QXRIZWlnaHQJAMwIAgUBVwkAzAgCBQJjZQUDbmlsBQNuaWwDCQABAgUCYWkCA0ludAUCYWkJAAIBCQCsAgIJAAMBBQJhaQIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50BAJiRwkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEBVQEFAWsAAAQCY2kJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBAU8CBQFFBQFrAAAEAmNqCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ8IAQkBAU0DBQFFBQJibwUCYlIJAQFYAQkArAICCQCsAgIJAKwCAgkArAICAhRwcm9jZXNzVm90ZUlOVEVSTkFMIAUCYlACASAFAVcCEjogbm8gcHJldmlvdXMgdm90ZQQCYkQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUsCBQJibwUBawAABAFSCQECYXcCBQFHBQFIBAJjawkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEBUQIFAVIFAmJSAAAEAmJ0CQERQGV4dHJOYXRpdmUoMTA2MikBCQECYWgCBQR0aGlzBQFzBAJjbAkBC3ZhbHVlT3JFbHNlAgkAmggCBQJidAkBAVYCBQFSBQFXAAAEAmNtAwkAAAIFAmNsAAAFA25pbAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAVECBQFSBQJiUgkAZAIFAmNrBQJjagUDbmlsBAJhRwkBAmF3AgUBRwUBSAQCYkoDCQBmAgUCY2gAAAkAawMFAmNqBQJiSAUCY2gAAAQCYlYDCQBmAgUCYkoAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAU0DBQFFBQJibwUBawUCYkoJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFVAQUBawkAZAIFAmJHBQJiSgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAU8CBQFFBQFrCQBkAgUCY2kFAmJKCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBSwIFAmJvBQFrCQBkAgUCYkQFAmJKBQNuaWwJAQJiYwIJAQJhTQEFAUUFAVcJAJQKAgkAzggCBQJiVgUCY20FBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmsBE3Byb2Nlc3NQb29sSU5URVJOQUwCAmJQAmNuBAJiUQkBAmJuAQUCYmsDCQAAAgUCYlEFAmJRBAJjbwQCY3AJAQJhagIFBHRoaXMFAWwDBQJjbgUCY3AJAGUCBQJjcAABBAJjZgMJAGcCBQJjbwAABgkBAVoBAilwcm9jZXNzUG9vbElOVEVSTkFMOiBpbnZhbGlkIHRhcmdldCBlcG9jaAMJAAACBQJjZgUCY2YEAUUJAQJhbAEFAmJQBAJjcQUBRQQBRwgFAmNxAl8xBAFICAUCY3ECXzIEAmJ0CQERQGV4dHJOYXRpdmUoMTA2MikBCQECYWgCBQR0aGlzBQFzBAJhRwkBAmF3AgUBRwUBSAQCY3IKAAJhaQkA/AcEBQJidAISdXNlcnNMaXN0VHJhdmVyc2FsCQDMCAIFAmFHBQNuaWwFA25pbAMJAAECBQJhaQIHQm9vbGVhbgUCYWkJAAIBCQCsAgIJAAMBBQJhaQIcIGNvdWxkbid0IGJlIGNhc3QgdG8gQm9vbGVhbgMJAAACBQJjcgUCY3IDBQJjcgkAlAoCBQNuaWwGBAJjcwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFAmFuBQF0Ah1pbnZhbGlkIGFzc2V0cyBzdG9yZSBjb250cmFjdAQCYkcJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAVUBBQJjbwAABAJjaQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBTwIFAUUFAmNvAAAEAmN0AwkAAAIFAmJHAAAAAAkAawMFAmNpBQFiBQJiRwQCYlgJAPwHBAUCYW4CDG1vZGlmeVdlaWdodAkAzAgCBQJhRwkAzAgCBQJjdAUDbmlsBQNuaWwDCQAAAgUCYlgFAmJYCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFTAgUBRQUCY28FAmN0BQNuaWwHCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJrAQ5maW5hbGl6ZUhlbHBlcgAEAmNuCQELdmFsdWVPckVsc2UCCQCgCAEFAUEHBAFrCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAWwAAAQCY3UJAGUCBQFrAAEEAmJBCQECYWoCBQR0aGlzCQEBQgEFAWsEAmJ1CQECYWoCBQR0aGlzBQFoBAJiQgkAZAIFAmJBBQJidQQCYkMJAJoIAgUEdGhpcwUBdQMDAwkAZwIFBmhlaWdodAUCYkIJAAACBQJiQwUEdW5pdAcJAQEhAQUCY24HBAJjdgkAZAIFAWsAAQQCY3cJAJoIAgUEdGhpcwUBaQQCY3gEAmFlBQJjdwMJAAECBQJhZQIDSW50BAJiTgUCYWUJAMwIAgkBDEludGVnZXJFbnRyeQIFAWgFAmJOCQDMCAIJAQtEZWxldGVFbnRyeQEFAWkFA25pbAMJAAECBQJhZQIEVW5pdAUDbmlsCQACAQILTWF0Y2ggZXJyb3IJAJQKAgkAzggCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBQgEFAmN2BQZoZWlnaHQJAMwIAgkBDEludGVnZXJFbnRyeQIFAXgFBmhlaWdodAkAzAgCCQEMSW50ZWdlckVudHJ5AgUBbAUCY3YJAMwIAgkBDEludGVnZXJFbnRyeQIFAXUFAWQJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFqAQUBawUCYnUFA25pbAUCY3gGAwMFAmNuCQAAAgUCYkMFBHVuaXQHCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFAXUFAWYFA25pbAYDCQAAAgUCYkMFBHVuaXQJAJQKAgUDbmlsBwMJAAACBQJiQwUBZAQCY3kJAKIIAQUBdgQCYWUFAmN5AwkAAQIFAmFlAgRVbml0BAJjegkAoggBCQECYU8BBQJhTAMJAAECBQJjegIEVW5pdAkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQF1BQFlCQDMCAIJAQtEZWxldGVFbnRyeQEFAXYFA25pbAYDCQABAgUCY3oCBlN0cmluZwQCY0EFAmN6CQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgUBdgUCY0EFA25pbAYJAAIBAgtNYXRjaCBlcnJvcgMJAAECBQJhZQIGU3RyaW5nBAJiUAUCYWUEAmNCCQCiCAEJAQJhVQIFAmFMBQJiUAMJAAACBQJjQgUCY0IEAmNyCQD8BwQFBHRoaXMCGnByb2Nlc3NQb29sQmFsYW5jZUlOVEVSTkFMCQDMCAIFAmJQBQNuaWwFA25pbAMJAAACBQJjcgUCY3IEAmN6BQJjQgMJAAECBQJjegIEVW5pdAkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQF1BQFlCQDMCAIJAQtEZWxldGVFbnRyeQEFAXYFA25pbAYDCQABAgUCY3oCBlN0cmluZwQCY0EFAmN6CQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgUBdgUCY0EFA25pbAYJAAIBAgtNYXRjaCBlcnJvcgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECC01hdGNoIGVycm9yAwkAAAIFAmJDBQFlBAJjeQkAoggBBQF2BAJjQwkAoggBBQF3BAJhZQUCY3kDCQABAgUCYWUCBFVuaXQEAmN6CQCiCAEJAQJhTwEFAmFMAwkAAQIFAmN6AgRVbml0CQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFAXUFAWYJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBdgkAzAgCCQELRGVsZXRlRW50cnkBBQF3BQNuaWwGAwkAAQIFAmN6AgZTdHJpbmcEAmNEBQJjegkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIFAXYFAmNEBQNuaWwGCQACAQILTWF0Y2ggZXJyb3IDCQABAgUCYWUCBlN0cmluZwQCYlAFAmFlBAFFCQECYWwBBQJiUAQCY0UEAmN6BQJjQwMJAAECBQJjegIEVW5pdAkAoggBCQECYU8BCQECYU0BBQFFAwkAAQIFAmN6AgZTdHJpbmcEAmNGBQJjegQCY0cJAKIIAQkBAmFVAgkBAmFNAQUBRQUCY0YDCQAAAgUCY0cFAmNHBAJjSAkA/AcEBQR0aGlzAhNwcm9jZXNzVm90ZUlOVEVSTkFMCQDMCAIFAmJQCQDMCAIFAmNGBQNuaWwFA25pbAMJAAACBQJjSAUCY0gFAmNHCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQILTWF0Y2ggZXJyb3IEAmN6BQJjRQMJAAECBQJjegIEVW5pdAQCY0IJAKIIAQkBAmFVAgUCYUwFAmJQBAJjSQUCY0IDCQABAgUCY0kCBFVuaXQJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUBdQUBZgkAzAgCCQELRGVsZXRlRW50cnkBBQF2CQDMCAIJAQtEZWxldGVFbnRyeQEFAXcFA25pbAYDCQABAgUCY0kCBlN0cmluZwQCYmcFAmNJCQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgUBdgUCYmcJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBdwUDbmlsBgkAAgECC01hdGNoIGVycm9yAwkAAQIFAmN6AgZTdHJpbmcEAmNKBQJjegkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIFAXcFAmNKBQNuaWwGCQACAQILTWF0Y2ggZXJyb3IJAAIBAgtNYXRjaCBlcnJvcgMJAAACBQJiQwUBZgQCY3kJAKIIAQUBdgQCYWUFAmN5AwkAAQIFAmFlAgRVbml0BAJjegkAoggBCQECYU8BBQJhTAMJAAECBQJjegIEVW5pdAQCYlYDBQJjbgkAzAgCCQELRGVsZXRlRW50cnkBBQF1CQDMCAIJAQtEZWxldGVFbnRyeQEFAUEFA25pbAkAzAgCCQELRGVsZXRlRW50cnkBBQF1CQDMCAIJAQxCb29sZWFuRW50cnkCCQEBQwEFAmN1BgkAzAgCCQEMSW50ZWdlckVudHJ5AgUBeQUBawkAzAgCCQEMSW50ZWdlckVudHJ5AgUBegUCYkEFA25pbAQCY0sJAQJhSgADCQAAAgUCY0sFAmNLCQCUCgIFAmJWBgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgMJAAECBQJjegIGU3RyaW5nBAJjQQUCY3oJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQF2BQJjQQUDbmlsBgkAAgECC01hdGNoIGVycm9yAwkAAQIFAmFlAgZTdHJpbmcEAmJQBQJhZQQCY0IJAKIIAQkBAmFVAgUCYUwFAmJQAwkAAAIFAmNCBQJjQgQCY3IKAAJhaQkA/AcEBQR0aGlzAhNwcm9jZXNzUG9vbElOVEVSTkFMCQDMCAIFAmJQCQDMCAIFAmNuBQNuaWwFA25pbAMJAAECBQJhaQIHQm9vbGVhbgUCYWkJAAIBCQCsAgIJAAMBBQJhaQIcIGNvdWxkbid0IGJlIGNhc3QgdG8gQm9vbGVhbgMJAAACBQJjcgUCY3IDBQJjcgkAlAoCBQNuaWwGBAJjegUCY0IDCQABAgUCY3oCBFVuaXQEAmJWAwUCY24JAMwIAgkBC0RlbGV0ZUVudHJ5AQUBdQkAzAgCCQELRGVsZXRlRW50cnkBBQFBCQDMCAIJAQtEZWxldGVFbnRyeQEFAXYFA25pbAkAzAgCCQELRGVsZXRlRW50cnkBBQF1CQDMCAIJAQxCb29sZWFuRW50cnkCCQEBQwEFAmN1BgkAzAgCCQEMSW50ZWdlckVudHJ5AgUBeQUBawkAzAgCCQEMSW50ZWdlckVudHJ5AgUBegUCYkEJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBdgUDbmlsBAJjSwkBAmFKAAMJAAACBQJjSwUCY0sJAJQKAgUCYlYGCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwkAAQIFAmN6AgZTdHJpbmcEAmNBBQJjegkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIFAXYFAmNBBQNuaWwGCQACAQILTWF0Y2ggZXJyb3IJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAgtNYXRjaCBlcnJvcgkBAVoBAhZmaW5hbGl6YXRpb24gaXMgYnJva2VuAmJrAQ9maW5hbGl6ZVdyYXBwZXIBAmNMBAJjTQkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwUBcAQCY04KAAJhaQkA/AcEBQR0aGlzAg5maW5hbGl6ZUhlbHBlcgUDbmlsBQNuaWwDCQABAgUCYWkCB0Jvb2xlYW4FAmFpCQACAQkArAICCQADAQUCYWkCHCBjb3VsZG4ndCBiZSBjYXN0IHRvIEJvb2xlYW4DCQAAAgUCY04FAmNOAwkBASEBBQJjTgMJAAACBQJjTAAACQEBWgECHkN1cnJlbnQgdm90aW5nIGlzIG5vdCBvdmVyIHlldAQCY08JAPwHBAUCY00CCGZpbmFsaXplBQNuaWwFA25pbAMJAAACBQJjTwUCY08JAJQKAgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBAJjUAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQFtBQFjAwkAZgIFAmNQBQJjTAQCY08JAPwHBAUEdGhpcwIPZmluYWxpemVXcmFwcGVyCQDMCAIJAGQCBQJjTAABBQNuaWwFA25pbAMJAAACBQJjTwUCY08JAJQKAgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQCUCgIFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiawEIZmluYWxpemUABAJjTwkA/AcEBQR0aGlzAg9maW5hbGl6ZVdyYXBwZXIJAMwIAgAABQNuaWwFA25pbAMJAAACBQJjTwUCY08JAJQKAgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJrARRjb250YWluc05vZGVSRUFET05MWQICYVACYVQJAJQKAgUDbmlsCQECYVYCBQJhUAUCYVQCYmsBCmluc2VydE5vZGUCAmFQAmFUBAJiUQkBAmJtAQUCYmsDCQAAAgUCYlEFAmJRCQCUCgIJAQJhWgIFAmFQBQJhVAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiawEKZGVsZXRlTm9kZQICYVACYVQEAmJRCQECYm0BBQJiawMJAAACBQJiUQUCYlEJAJQKAgkBAmJjAgUCYVAFAmFUBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJrARhpc0ZpbmFsaXphdGlvbkluUHJvZ3Jlc3MABAJiQwkAmggCBQR0aGlzBQF1BAJjUQkBAiE9AgUCYkMFBHVuaXQJAJQKAgUDbmlsBQJjUQJiawEKZGVsZXRlUG9vbAIBRwFIBAJiUQMDCQAAAggFAmJrBmNhbGxlcgUCYW4GCQECYm0BBQJiawYJAQFaAQIRUGVybWlzc2lvbiBkZW5pZWQDCQAAAgUCYlEFAmJRBAJhUAIFcG9vbHMEAUUJAJQKAgUBRwUBSAQCYVQJALkJAgkAzAgCBQFHCQDMCAIFAUgFA25pbAUBYQQCYlYDCQECYVYCBQJhUAUCYVQJAQJiYwIFAmFQBQJhVAUDbmlsCQDOCAIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAUQBBQFFBQNuaWwFAmJWCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJrAQZyZXN1bWUCAUcBSAQCYUcJAQJhdwIFAUcFAUgEAmNSCgACYWkJAPwHBAUCYW4CDGNoZWNrQmFsYW5jZQkAzAgCBQJhRwUDbmlsBQNuaWwDCQABAgUCYWkCB0Jvb2xlYW4FAmFpCQACAQkArAICCQADAQUCYWkCHCBjb3VsZG4ndCBiZSBjYXN0IHRvIEJvb2xlYW4EAmNTCQCRAwIIBQJiawhwYXltZW50cwAABAJjcwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwUBdAQCY1QCCiVzX19jb25maWcEAmNVAAEEAmJzCQERQGV4dHJOYXRpdmUoMTA2MikBCQECYWgCBQR0aGlzBQFyBAJjVgkA2QQBCQCRAwIJALUJAgkBEUBleHRyTmF0aXZlKDEwNTMpAgUCYnMFAmNUBQFhBQJjVQQCY1cKAAJhaQkA/AcEBQJjcwISaXNWZXJpZmllZFJFQURPTkxZCQDMCAIFAUcFA25pbAUDbmlsAwkAAQIFAmFpAgdCb29sZWFuBQJhaQkAAgEJAKwCAgkAAwEFAmFpAhwgY291bGRuJ3QgYmUgY2FzdCB0byBCb29sZWFuBAJjWAoAAmFpCQD8BwQFAmNzAhJpc1ZlcmlmaWVkUkVBRE9OTFkJAMwIAgUBSAUDbmlsBQNuaWwDCQABAgUCYWkCB0Jvb2xlYW4FAmFpCQACAQkArAICCQADAQUCYWkCHCBjb3VsZG4ndCBiZSBjYXN0IHRvIEJvb2xlYW4EAmNZCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAW4FAWcEAmJ2CQDMCAIDBQJjUgYJAQFaAQIVaW5zdWZmaWNpZW50IGJhbGFuY2VzCQDMCAIDCQAAAgkAkAMBCAUCYmsIcGF5bWVudHMAAQYJAQFaAQIVMSBwYXltZW50IGlzIHJlcXVpcmVkCQDMCAIDCQAAAggFAmNTB2Fzc2V0SWQFAmNWBgkBAVoBAhhpbnZhbGlkIHBheW1lbnQgYXNzZXQgaWQJAMwIAgMJAAACCAUCY1MGYW1vdW50BQJjWQYJAQFaAQIWaW52YWxpZCBwYXltZW50IGFtb3VudAkAzAgCAwMFAmNXBQJjWAcGCQEBWgECHmJvdGggYXNzZXRzIHNob3VsZCBiZSB2ZXJpZmllZAUDbmlsAwkAAAIFAmJ2BQJidgQBRQkAlAoCBQFHBQFIBAJidwkAzggCCQDMCAIJAQxCb29sZWFuRW50cnkCCQEBRAEFAUUGBQNuaWwJAQJhWgIFAmFMCQECYWsBBQFFCQCUCgIFAmJ3BQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJjWgECZGEABAJkYgQCYWUJAQJiaAADCQABAgUCYWUCCkJ5dGVWZWN0b3IEAmJsBQJhZQUCYmwDCQABAgUCYWUCBFVuaXQIBQJjWg9zZW5kZXJQdWJsaWNLZXkJAAIBAgtNYXRjaCBlcnJvcgkA9AMDCAUCY1oJYm9keUJ5dGVzCQCRAwIIBQJjWgZwcm9vZnMAAAUCZGIAx6uQ", "height": 3066422, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Gf6pwhR3UYk3PnoMQGNGJTH1ioev6wyS3FTEY5qj9AC3 Next: GSPTD42ZfJuujPW4kMVGFUbmJF82gZzGM2p1WJ26e4mc Diff:
OldNewDifferences
1111
1212 let e = 1
1313
14-let f = makeString(["%s", "epochLength"], a)
14+let f = 2
1515
16-let g = makeString(["%s%s", "epochLength__new"], a)
16+let g = 500000000000
1717
18-func h (i) = makeString(["%s%d", "epochLength", toString(i)], a)
18+let h = makeString(["%s", "epochLength"], a)
19+
20+let i = makeString(["%s%s", "epochLength__new"], a)
21+
22+func j (k) = makeString(["%s%d", "epochLength", toString(k)], a)
1923
2024
21-let j = makeString(["%s", "currentEpoch"], a)
25+let l = makeString(["%s", "currentEpoch"], a)
2226
23-let k = makeString(["%s", "maxDepth"], a)
27+let m = makeString(["%s", "maxDepth"], a)
2428
25-let l = makeString(["%s", "votingEmissionCandidateContract"], a)
29+let n = makeString(["%s", "resumptionFee"], a)
2630
27-let m = makeString(["%s", "votingEmissionRateContract"], a)
31+let o = makeString(["%s", "votingEmissionCandidateContract"], a)
2832
29-let n = makeString(["%s", "factoryContract"], a)
33+let p = makeString(["%s", "votingEmissionRateContract"], a)
3034
31-let o = makeString(["%s", "boostingContract"], a)
35+let q = makeString(["%s", "factoryContract"], a)
3236
33-let p = makeString(["%s", "stakingContract"], a)
37+let r = makeString(["%s", "boostingContract"], a)
3438
35-let q = makeString(["%s", "assetsStoreContract"], a)
39+let s = makeString(["%s", "stakingContract"], a)
3640
37-let r = makeString(["%s", "finalizationStage"], a)
41+let t = makeString(["%s", "assetsStoreContract"], a)
3842
39-let s = makeString(["%s", "nextPool"], a)
43+let u = makeString(["%s", "finalizationStage"], a)
4044
41-let t = makeString(["%s", "nextUser"], a)
45+let v = makeString(["%s", "nextPool"], a)
4246
43-let u = makeString(["%s", "startHeight"], a)
47+let w = makeString(["%s", "nextUser"], a)
4448
45-let v = makeString(["%s", "currentEpochUi"], a)
49+let x = makeString(["%s", "startHeight"], a)
4650
47-let w = makeString(["%s", "startHeightUi"], a)
51+let y = makeString(["%s", "currentEpochUi"], a)
4852
49-let x = makeString(["%s", "force"], a)
53+let z = makeString(["%s", "startHeightUi"], a)
5054
51-func y (i) = makeString(["%s%d", "startHeight", toString(i)], a)
55+let A = makeString(["%s", "force"], a)
56+
57+func B (k) = makeString(["%s%d", "startHeight", toString(k)], a)
5258
5359
54-func z (i) = makeString(["%s%d", "finalized", toString(i)], a)
60+func C (k) = makeString(["%s%d", "finalized", toString(k)], a)
5561
5662
57-func A (B) = {
58- let C = B
59- let D = C._1
60- let E = C._2
61- makeString(["%s%s%s", "inList", D, E], a)
63+func D (E) = {
64+ let F = E
65+ let G = F._1
66+ let H = F._2
67+ makeString(["%s%s%s", "inList", G, H], a)
6268 }
6369
6470
65-func F (G,i) = makeString(["%s%s%d", "used", toString(G), toString(i)], a)
66-
67-
68-func H (B,G,i) = {
69- let I = B
70- let D = I._1
71- let E = I._2
72- makeString(["%s%s%s%s%d", "vote", D, E, toString(G), toString(i)], a)
71+func I (E,k) = {
72+ let J = E
73+ let G = J._1
74+ let H = J._2
75+ makeString(["%s%s%s%d", "insufficientBalances", G, H, toString(k)], a)
7376 }
7477
7578
76-func J (B,i) = {
77- let K = B
78- let D = K._1
79- let E = K._2
80- makeString(["%s%s%s%d", "votingResult", D, E, toString(i)], a)
79+func K (L,k) = makeString(["%s%s%d", "used", toString(L), toString(k)], a)
80+
81+
82+func M (E,L,k) = {
83+ let N = E
84+ let G = N._1
85+ let H = N._2
86+ makeString(["%s%s%s%s%d", "vote", G, H, toString(L), toString(k)], a)
8187 }
8288
8389
84-func L (M,i) = makeString(["%s%s%d", "votingResultStaked", M, toString(i)], a)
85-
86-
87-func N (B,i) = {
88- let O = B
89- let D = O._1
90- let E = O._2
91- makeString(["%s%s%s%d", "poolShare", D, E, toString(i)], a)
90+func O (E,k) = {
91+ let P = E
92+ let G = P._1
93+ let H = P._2
94+ makeString(["%s%s%s%d", "votingResult", G, H, toString(k)], a)
9295 }
9396
9497
95-func P (i) = makeString(["%s%d", "totalVotes", toString(i)], a)
98+func Q (R,k) = makeString(["%s%s%d", "votingResultStaked", R, toString(k)], a)
9699
97100
98-func Q (M,R) = makeString(["%s%s%s", "staked", R, M], a)
99-
100-
101-func S (T) = makeString(["voting_emission.ride:", T], " ")
102-
103-
104-func U (T) = throw(S(T))
105-
106-
107-func V (G,W,X) = {
108- let Y = S(makeString(["mandatory ", toString(G), ".", W, " is not defined"], ""))
109- valueOrErrorMessage({
110- let Z = X
111- if ($isInstanceOf(Z, "String"))
112- then {
113- let aa = Z
114- getString(G, W)
115- }
116- else if ($isInstanceOf(Z, "Int"))
117- then {
118- let ab = Z
119- getInteger(G, W)
120- }
121- else U("invalid entry type")
122- }, Y)
101+func S (E,k) = {
102+ let T = E
103+ let G = T._1
104+ let H = T._2
105+ makeString(["%s%s%s%d", "poolShare", G, H, toString(k)], a)
123106 }
124107
125108
126-func ac (G,W) = {
127- let ad = V(G, W, "")
128- if ($isInstanceOf(ad, "String"))
129- then ad
130- else throw(($getType(ad) + " couldn't be cast to String"))
109+func U (k) = makeString(["%s%d", "totalVotes", toString(k)], a)
110+
111+
112+func V (R,W) = makeString(["%s%s%s", "staked", W, R], a)
113+
114+
115+func X (Y) = makeString(["voting_emission.ride:", Y], " ")
116+
117+
118+func Z (Y) = throw(X(Y))
119+
120+
121+func aa (L,ab,ac) = {
122+ let ad = X(makeString(["mandatory ", toString(L), ".", ab, " is not defined"], ""))
123+ valueOrErrorMessage({
124+ let ae = ac
125+ if ($isInstanceOf(ae, "String"))
126+ then {
127+ let af = ae
128+ getString(L, ab)
129+ }
130+ else if ($isInstanceOf(ae, "Int"))
131+ then {
132+ let ag = ae
133+ getInteger(L, ab)
134+ }
135+ else Z("invalid entry type")
136+ }, ad)
131137 }
132138
133139
134-func ae (G,W) = {
135- let ad = V(G, W, 0)
136- if ($isInstanceOf(ad, "Int"))
137- then ad
138- else throw(($getType(ad) + " couldn't be cast to Int"))
140+func ah (L,ab) = {
141+ let ai = aa(L, ab, "")
142+ if ($isInstanceOf(ai, "String"))
143+ then ai
144+ else throw(($getType(ai) + " couldn't be cast to String"))
139145 }
140146
141147
142-func af (B) = ((B._1 + a) + B._2)
143-
144-
145-func ag (aa) = {
146- let ah = split(aa, a)
147- if ((size(ah) == 2))
148- then $Tuple2(ah[0], ah[1])
149- else U("invalid pool string")
148+func aj (L,ab) = {
149+ let ai = aa(L, ab, 0)
150+ if ($isInstanceOf(ai, "Int"))
151+ then ai
152+ else throw(($getType(ai) + " couldn't be cast to Int"))
150153 }
151154
152155
153-let ai = addressFromStringValue(ac(this, n))
154-
155-let aj = 10
156-
157-func ak () = "%s__factoryConfig"
156+func ak (E) = ((E._1 + a) + E._2)
158157
159158
160-func al (am) = split(ac(am, ak()), a)
161-
162-
163-func an (ao) = addressFromStringValue(ao[aj])
164-
165-
166-func ap (D,E) = {
167- func aq (ar) = ("%s%s%s__mappings__baseAsset2internalId__" + ar)
168-
169- func as (at,au) = (((("%d%d%s%s__" + toString(at)) + "__") + toString(au)) + "__mappings__poolAssets2PoolContract")
170-
171- func av (aw) = (("%s%s%s__" + aw) + "__mappings__poolContract2LpAsset")
172-
173- let ax = ae(ai, aq(D))
174- let ay = ae(ai, aq(E))
175- let aw = ac(ai, as(ax, ay))
176- let az = ac(ai, av(aw))
177- az
159+func al (af) = {
160+ let am = split(af, a)
161+ if ((size(am) == 2))
162+ then $Tuple2(am[0], am[1])
163+ else Z("invalid pool string")
178164 }
179165
180166
181-func aA (B) = {
182- let aB = B
183- let D = aB._1
184- let E = aB._2
185- let ad = invoke(ai, "checkWxEmissionPoolLabel", [D, E], nil)
186- if ($isInstanceOf(ad, "Boolean"))
187- then ad
188- else throw(($getType(ad) + " couldn't be cast to Boolean"))
167+let an = addressFromStringValue(ah(this, q))
168+
169+let ao = 10
170+
171+func ap () = "%s__factoryConfig"
172+
173+
174+func aq (ar) = split(ah(ar, ap()), a)
175+
176+
177+func as (at) = addressFromStringValue(at[ao])
178+
179+
180+func au (G,H) = {
181+ let av = {
182+ let ai = invoke(an, "poolInfoREADONLY", [G, H], nil)
183+ if ($isInstanceOf(ai, "(Address, ByteVector)"))
184+ then ai
185+ else unit
186+ }
187+ av
189188 }
190189
191190
192-func aC () = {
193- let ao = al(ai)
194- let aD = an(ao)
195- invoke(aD, "deposit", nil, nil)
191+func aw (G,H) = {
192+ func ax (ay) = ("%s%s%s__mappings__baseAsset2internalId__" + ay)
193+
194+ func az (aA,aB) = (((("%d%d%s%s__" + toString(aA)) + "__") + toString(aB)) + "__mappings__poolAssets2PoolContract")
195+
196+ func aC (aD) = (("%s%s%s__" + aD) + "__mappings__poolContract2LpAsset")
197+
198+ let aE = aj(an, ax(G))
199+ let aF = aj(an, ax(H))
200+ let aD = ah(an, az(aE, aF))
201+ let aG = ah(an, aC(aD))
202+ aG
196203 }
197204
198205
199-let aE = "pools"
200-
201-func aF (B) = {
202- let aG = B
203- let D = aG._1
204- let E = aG._2
205- makeString(["votes", D, E], a)
206+func aH (E) = {
207+ let aI = E
208+ let G = aI._1
209+ let H = aI._2
210+ let ai = invoke(an, "checkWxEmissionPoolLabel", [G, H], nil)
211+ if ($isInstanceOf(ai, "Boolean"))
212+ then ai
213+ else throw(($getType(ai) + " couldn't be cast to Boolean"))
206214 }
207215
208216
209-func aH (aI) = {
210- let aJ = if ((aI == aE))
211- then "%s%s"
212- else "%s%s%s%s"
213- makeString([aJ, aI, "head"], a)
217+func aJ () = {
218+ let at = aq(an)
219+ let aK = as(at)
220+ invoke(aK, "deposit", nil, nil)
214221 }
215222
216223
217-func aK (aI) = {
218- let aJ = if ((aI == aE))
219- then "%s%s"
220- else "%s%s%s%s"
221- makeString([aJ, aI, "size"], a)
224+let aL = "pools"
225+
226+func aM (E) = {
227+ let aN = E
228+ let G = aN._1
229+ let H = aN._2
230+ makeString(["votes", G, H], a)
222231 }
223232
224233
225-func aL (aI,aM) = {
226- let aJ = if ((aI == aE))
227- then "%s%s%s%s"
228- else "%s%s%s%s%s"
229- makeString([aJ, aI, aM, "prev"], a)
234+func aO (aP) = {
235+ let aQ = if ((aP == aL))
236+ then "%s%s"
237+ else "%s%s%s%s"
238+ makeString([aQ, aP, "head"], a)
230239 }
231240
232241
233-func aN (aI,aM) = {
234- let aJ = if ((aI == aE))
235- then "%s%s%s%s"
236- else "%s%s%s%s%s"
237- makeString([aJ, aI, aM, "next"], a)
242+func aR (aP) = {
243+ let aQ = if ((aP == aL))
244+ then "%s%s"
245+ else "%s%s%s%s"
246+ makeString([aQ, aP, "size"], a)
238247 }
239248
240249
241-func aO (aI,aM) = {
242- let aP = getString(this, aH(aI))
243- let aQ = getString(this, aL(aI, aM))
244- let aR = getString(this, aN(aI, aM))
245- if (if ((aM == valueOrElse(aP, "")))
246- then true
247- else (aQ != unit))
248- then true
249- else (aR != unit)
250+func aS (aP,aT) = {
251+ let aQ = if ((aP == aL))
252+ then "%s%s%s%s"
253+ else "%s%s%s%s%s"
254+ makeString([aQ, aP, aT, "prev"], a)
250255 }
251256
252257
253-func aS (aI,aM) = {
254- let aP = getString(this, aH(aI))
255- let aT = valueOrElse(getInteger(this, aK(aI)), 0)
256- let aU = if (!(aO(aI, aM)))
258+func aU (aP,aT) = {
259+ let aQ = if ((aP == aL))
260+ then "%s%s%s%s"
261+ else "%s%s%s%s%s"
262+ makeString([aQ, aP, aT, "next"], a)
263+ }
264+
265+
266+func aV (aP,aT) = {
267+ let aW = getString(this, aO(aP))
268+ let aX = getString(this, aS(aP, aT))
269+ let aY = getString(this, aU(aP, aT))
270+ if (if ((aT == valueOrElse(aW, "")))
257271 then true
258- else U("Node exists")
259- if ((aU == aU))
260- then (([IntegerEntry(aK(aI), (aT + 1))] ++ (if ((aP != unit))
261- then [StringEntry(aN(aI, aM), value(aP)), StringEntry(aL(aI, value(aP)), aM)]
262- else nil)) ++ [StringEntry(aH(aI), aM)])
272+ else (aX != unit))
273+ then true
274+ else (aY != unit)
275+ }
276+
277+
278+func aZ (aP,aT) = {
279+ let aW = getString(this, aO(aP))
280+ let ba = valueOrElse(getInteger(this, aR(aP)), 0)
281+ let bb = if (!(aV(aP, aT)))
282+ then true
283+ else Z("Node exists")
284+ if ((bb == bb))
285+ then (([IntegerEntry(aR(aP), (ba + 1))] ++ (if ((aW != unit))
286+ then [StringEntry(aU(aP, aT), value(aW)), StringEntry(aS(aP, value(aW)), aT)]
287+ else nil)) ++ [StringEntry(aO(aP), aT)])
263288 else throw("Strict value is not equal to itself.")
264289 }
265290
266291
267-func aV (aI,aM) = {
268- let aP = getString(this, aH(aI))
269- let aT = valueOrElse(getInteger(this, aK(aI)), 0)
270- let aQ = getString(this, aL(aI, aM))
271- let aR = getString(this, aN(aI, aM))
272- ([IntegerEntry(aK(aI), (aT - 1))] ++ (if (if ((aQ != unit))
273- then (aR != unit)
292+func bc (aP,aT) = {
293+ let aW = getString(this, aO(aP))
294+ let ba = valueOrElse(getInteger(this, aR(aP)), 0)
295+ let aX = getString(this, aS(aP, aT))
296+ let aY = getString(this, aU(aP, aT))
297+ ([IntegerEntry(aR(aP), (ba - 1))] ++ (if (if ((aX != unit))
298+ then (aY != unit)
274299 else false)
275- then [StringEntry(aN(aI, value(aQ)), value(aR)), StringEntry(aL(aI, value(aR)), value(aQ)), DeleteEntry(aL(aI, aM)), DeleteEntry(aN(aI, aM))]
276- else if ((aR != unit))
277- then [StringEntry(aH(aI), value(aR)), DeleteEntry(aN(aI, aM)), DeleteEntry(aL(aI, value(aR)))]
278- else if ((aQ != unit))
279- then [DeleteEntry(aL(aI, aM)), DeleteEntry(aN(aI, value(aQ)))]
280- else if ((aM == valueOrElse(aP, "")))
281- then [DeleteEntry(aH(aI))]
282- else U(((("invalid node: " + aI) + ".") + aM))))
300+ then [StringEntry(aU(aP, value(aX)), value(aY)), StringEntry(aS(aP, value(aY)), value(aX)), DeleteEntry(aS(aP, aT)), DeleteEntry(aU(aP, aT))]
301+ else if ((aY != unit))
302+ then [StringEntry(aO(aP), value(aY)), DeleteEntry(aU(aP, aT)), DeleteEntry(aS(aP, value(aY)))]
303+ else if ((aX != unit))
304+ then [DeleteEntry(aS(aP, aT)), DeleteEntry(aU(aP, value(aX)))]
305+ else if ((aT == valueOrElse(aW, "")))
306+ then [DeleteEntry(aO(aP))]
307+ else Z(((("invalid node: " + aP) + ".") + aT))))
283308 }
284309
285310
286-func aW () = "%s__managerVaultAddress"
311+func bd () = "%s__managerVaultAddress"
287312
288313
289-func aX () = "%s__managerPublicKey"
314+func be () = "%s__managerPublicKey"
290315
291316
292-func aY () = {
293- let Z = getString(aW())
294- if ($isInstanceOf(Z, "String"))
317+func bf () = {
318+ let ae = getString(bd())
319+ if ($isInstanceOf(ae, "String"))
295320 then {
296- let aZ = Z
297- addressFromStringValue(aZ)
321+ let bg = ae
322+ addressFromStringValue(bg)
298323 }
299324 else this
300325 }
301326
302327
303-func ba () = {
304- let bb = aY()
305- let Z = getString(bb, aX())
306- if ($isInstanceOf(Z, "String"))
328+func bh () = {
329+ let bi = bf()
330+ let ae = getString(bi, be())
331+ if ($isInstanceOf(ae, "String"))
307332 then {
308- let aZ = Z
309- fromBase58String(aZ)
333+ let bg = ae
334+ fromBase58String(bg)
310335 }
311- else if ($isInstanceOf(Z, "Unit"))
336+ else if ($isInstanceOf(ae, "Unit"))
312337 then unit
313338 else throw("Match error")
314339 }
315340
316341
317-func bc (bd) = {
318- let Z = ba()
319- if ($isInstanceOf(Z, "ByteVector"))
342+func bj (bk) = {
343+ let ae = bh()
344+ if ($isInstanceOf(ae, "ByteVector"))
320345 then {
321- let be = Z
322- (bd.callerPublicKey == be)
346+ let bl = ae
347+ (bk.callerPublicKey == bl)
323348 }
324- else if ($isInstanceOf(Z, "Unit"))
325- then (bd.caller == this)
349+ else if ($isInstanceOf(ae, "Unit"))
350+ then (bk.caller == this)
326351 else throw("Match error")
327352 }
328353
329354
330-func bf (bd) = if (bc(bd))
355+func bm (bk) = if (bj(bk))
331356 then true
332357 else throw("permission denied")
333358
334359
335-func bg (bd) = if ((bd.caller == this))
360+func bn (bk) = if ((bk.caller == this))
336361 then true
337362 else throw("permission denied")
338363
339364
340-@Callable(bd)
341-func getUserGwxAmountAtHeight (bh,bi) = {
342- let bj = valueOrErrorMessage(addressFromString(ac(this, o)), S("invalid boosting contract address"))
365+@Callable(bk)
366+func getUserGwxAmountAtHeight (bo,bp) = {
367+ let bq = valueOrErrorMessage(addressFromString(ah(this, r)), X("invalid boosting contract address"))
343368 $Tuple2(nil, {
344- let ad = invoke(bj, "getUserGwxAmountAtHeightREADONLY", [bh, bi], nil)
345- if ($isInstanceOf(ad, "Int"))
346- then ad
347- else throw(($getType(ad) + " couldn't be cast to Int"))
369+ let ai = invoke(bq, "getUserGwxAmountAtHeightREADONLY", [bo, bp], nil)
370+ if ($isInstanceOf(ai, "Int"))
371+ then ai
372+ else throw(($getType(ai) + " couldn't be cast to Int"))
348373 })
349374 }
350375
351376
352377
353-@Callable(bd)
354-func constructor (ai,bk,bl,bm,bn) = {
355- let bo = [bf(bd), if ((addressFromString(ai) != unit))
378+@Callable(bk)
379+func constructor (an,br,bs,bt,bu) = {
380+ let bv = [bm(bk), if ((addressFromString(an) != unit))
356381 then true
357- else "invalid factory contract address", if ((addressFromString(bk) != unit))
382+ else "invalid factory contract address", if ((addressFromString(br) != unit))
358383 then true
359- else "invalid voting emission candidate contract address", if ((addressFromString(bl) != unit))
384+ else "invalid voting emission candidate contract address", if ((addressFromString(bs) != unit))
360385 then true
361- else "invalid boosting contract address", if ((addressFromString(bm) != unit))
386+ else "invalid boosting contract address", if ((addressFromString(bt) != unit))
362387 then true
363- else "invalid staking contract address", if ((bn > 0))
388+ else "invalid staking contract address", if ((bu > 0))
364389 then true
365- else U("invalid epoch length")]
366- if ((bo == bo))
367- then $Tuple2([StringEntry(n, ai), StringEntry(l, bk), StringEntry(o, bl), StringEntry(p, bm), IntegerEntry(f, bn)], unit)
390+ else Z("invalid epoch length")]
391+ if ((bv == bv))
392+ then $Tuple2([StringEntry(q, an), StringEntry(o, br), StringEntry(r, bs), StringEntry(s, bt), IntegerEntry(h, bu)], unit)
368393 else throw("Strict value is not equal to itself.")
369394 }
370395
371396
372397
373-@Callable(bd)
374-func create (D,E) = {
375- let bo = [if ((toBase58String(bd.caller.bytes) == valueOrElse(getString(this, l), "")))
398+@Callable(bk)
399+func create (G,H) = {
400+ let bv = [if ((toBase58String(bk.caller.bytes) == valueOrElse(getString(this, o), "")))
376401 then true
377- else bf(bd)]
378- if ((bo == bo))
402+ else bm(bk)]
403+ if ((bv == bv))
379404 then {
380- let B = $Tuple2(D, E)
381- let bp = ([BooleanEntry(A(B), true)] ++ aS(aE, af(B)))
382- let bq = (getInteger(this, j) == unit)
383- let br = if (bq)
405+ let E = $Tuple2(G, H)
406+ let bw = ([BooleanEntry(D(E), true)] ++ aZ(aL, ak(E)))
407+ let bx = (getInteger(this, l) == unit)
408+ let by = if (bx)
384409 then {
385- let i = 0
386-[IntegerEntry(j, i), IntegerEntry(y(i), height), IntegerEntry(u, height), IntegerEntry(v, i), IntegerEntry(w, height)]
410+ let k = 0
411+[IntegerEntry(l, k), IntegerEntry(B(k), height), IntegerEntry(x, height), IntegerEntry(y, k), IntegerEntry(z, height)]
387412 }
388413 else nil
389- $Tuple2((bp ++ br), unit)
414+ $Tuple2((bw ++ by), unit)
390415 }
391416 else throw("Strict value is not equal to itself.")
392417 }
393418
394419
395420
396-@Callable(bd)
397-func vote (D,E,bs) = {
398- let B = $Tuple2(D, E)
399- let i = valueOrElse(getInteger(this, j), 0)
400- let bt = ae(this, y(i))
401- let bn = ae(this, f)
402- let bu = (bt + bn)
403- let bv = getInteger(this, r)
404- let bw = valueOrElse(getInteger(this, F(bd.caller, i)), 0)
405- let bx = valueOrElse(getInteger(this, H(B, bd.caller, i)), 0)
406- let by = valueOrElse(getInteger(this, J(B, i)), 0)
407- let bz = valueOrElse(getInteger(this, P(i)), 0)
408- let bA = {
409- let ad = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(bd.caller.bytes), bu], nil)
410- if ($isInstanceOf(ad, "Int"))
411- then ad
412- else throw(($getType(ad) + " couldn't be cast to Int"))
421+@Callable(bk)
422+func vote (G,H,bz) = {
423+ let E = $Tuple2(G, H)
424+ let k = valueOrElse(getInteger(this, l), 0)
425+ let bA = aj(this, B(k))
426+ let bu = aj(this, h)
427+ let bB = (bA + bu)
428+ let bC = getInteger(this, u)
429+ let bD = valueOrElse(getInteger(this, K(bk.caller, k)), 0)
430+ let bE = valueOrElse(getInteger(this, M(E, bk.caller, k)), 0)
431+ let bF = valueOrElse(getInteger(this, O(E, k)), 0)
432+ let bG = valueOrElse(getInteger(this, U(k)), 0)
433+ let bH = {
434+ let ai = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(bk.caller.bytes), bB], nil)
435+ if ($isInstanceOf(ai, "Int"))
436+ then ai
437+ else throw(($getType(ai) + " couldn't be cast to Int"))
413438 }
414- let bB = (bA - bw)
415- let bC = (bx + bs)
416- let bD = aA(B)
417- let bo = [if ((getBoolean(A(B)) != unit))
439+ let bI = (bH - bD)
440+ let bJ = (bE + bz)
441+ let bK = aH(E)
442+ let bv = [if ((getBoolean(D(E)) != unit))
418443 then true
419- else U("invalid assets"), if ((bu > height))
444+ else Z("invalid assets"), if ((bB > height))
420445 then true
421- else U("invalid height"), if ((bv == unit))
446+ else Z("invalid height"), if ((bC == unit))
422447 then true
423- else U("finalization in progress"), if ((bA > 0))
448+ else Z("finalization in progress"), if ((bH > 0))
424449 then true
425- else U("you do not have gWX"), if (if ((bs > 0))
426- then (bB >= bs)
450+ else Z("you do not have gWX"), if (if ((bz > 0))
451+ then (bI >= bz)
427452 else false)
428453 then true
429- else U("invalid amount"), if (bD)
454+ else Z("invalid amount"), if (bK)
430455 then true
431- else U("pool hasn't WX_EMISSION label")]
432- if ((bo == bo))
456+ else Z("pool hasn't WX_EMISSION label")]
457+ if ((bv == bv))
433458 then {
434- let bE = aF(B)
435- let R = toString(bd.caller)
436- let bF = if (aO(bE, R))
459+ let bL = aM(E)
460+ let W = toString(bk.caller)
461+ let bM = if (aV(bL, W))
437462 then nil
438- else aS(bE, R)
439- $Tuple2(([IntegerEntry(F(bd.caller, i), (bw + bs)), IntegerEntry(H(B, bd.caller, i), bC), IntegerEntry(J(B, i), (by + bs)), IntegerEntry(P(i), (bz + bs))] ++ bF), unit)
463+ else aZ(bL, W)
464+ $Tuple2(([IntegerEntry(K(bk.caller, k), (bD + bz)), IntegerEntry(M(E, bk.caller, k), bJ), IntegerEntry(O(E, k), (bF + bz)), IntegerEntry(U(k), (bG + bz))] ++ bM), unit)
440465 }
441466 else throw("Strict value is not equal to itself.")
442467 }
443468
444469
445470
446-@Callable(bd)
447-func cancelVote (D,E) = {
448- let B = $Tuple2(D, E)
449- let i = valueOrElse(getInteger(this, j), 0)
450- let bt = ae(this, y(i))
451- let bn = ae(this, f)
452- let bu = (bt + bn)
453- let bv = getInteger(this, r)
454- let bw = valueOrElse(getInteger(this, F(bd.caller, i)), 0)
455- let bx = valueOrElse(getInteger(this, H(B, bd.caller, i)), 0)
456- let by = valueOrElse(getInteger(this, J(B, i)), 0)
457- let bz = valueOrElse(getInteger(this, P(i)), 0)
458- let bo = [if ((getBoolean(A(B)) != unit))
471+@Callable(bk)
472+func cancelVote (G,H) = {
473+ let E = $Tuple2(G, H)
474+ let k = valueOrElse(getInteger(this, l), 0)
475+ let bA = aj(this, B(k))
476+ let bu = aj(this, h)
477+ let bB = (bA + bu)
478+ let bC = getInteger(this, u)
479+ let bD = valueOrElse(getInteger(this, K(bk.caller, k)), 0)
480+ let bE = valueOrElse(getInteger(this, M(E, bk.caller, k)), 0)
481+ let bF = valueOrElse(getInteger(this, O(E, k)), 0)
482+ let bG = valueOrElse(getInteger(this, U(k)), 0)
483+ let bv = [if ((getBoolean(D(E)) != unit))
459484 then true
460- else U("invalid assets"), if ((bu > height))
485+ else Z("invalid assets"), if ((bB > height))
461486 then true
462- else U("invalid height"), if ((bv == unit))
487+ else Z("invalid height"), if ((bC == unit))
463488 then true
464- else U("finalization in progress"), if ((bx > 0))
489+ else Z("finalization in progress"), if ((bE > 0))
465490 then true
466- else U("no vote")]
467- if ((bo == bo))
491+ else Z("no vote")]
492+ if ((bv == bv))
468493 then {
469- let bE = aF(B)
470- let R = toString(bd.caller)
471- $Tuple2(([IntegerEntry(F(bd.caller, i), max([(bw - bx), 0])), DeleteEntry(H(B, bd.caller, i)), IntegerEntry(J(B, i), (by - bx)), IntegerEntry(P(i), (bz - bx))] ++ aV(bE, R)), unit)
494+ let bL = aM(E)
495+ let W = toString(bk.caller)
496+ $Tuple2(([IntegerEntry(K(bk.caller, k), max([(bD - bE), 0])), DeleteEntry(M(E, bk.caller, k)), IntegerEntry(O(E, k), (bF - bE)), IntegerEntry(U(k), (bG - bE))] ++ bc(bL, W)), unit)
472497 }
473498 else throw("Strict value is not equal to itself.")
474499 }
475500
476501
477502
478-@Callable(bd)
479-func setEpochLength (bG) = {
480- let bo = [bf(bd), if ((bG > 0))
503+@Callable(bk)
504+func setEpochLength (bN) = {
505+ let bv = [bm(bk), if ((bN > 0))
481506 then true
482- else U("invalid epoch length")]
483- if ((bo == bo))
484- then $Tuple2([IntegerEntry(g, bG)], unit)
507+ else Z("invalid epoch length")]
508+ if ((bv == bv))
509+ then $Tuple2([IntegerEntry(i, bN)], unit)
485510 else throw("Strict value is not equal to itself.")
486511 }
487512
488513
489514
490-@Callable(bd)
491-func setMaxDepth (bH) = {
492- let bo = [bf(bd), if ((bH > 0))
515+@Callable(bk)
516+func setMaxDepth (bO) = {
517+ let bv = [bm(bk), if ((bO > 0))
493518 then true
494- else U("invalid max depth")]
495- if ((bo == bo))
496- then $Tuple2([IntegerEntry(k, bH)], unit)
519+ else Z("invalid max depth")]
520+ if ((bv == bv))
521+ then $Tuple2([IntegerEntry(m, bO)], unit)
497522 else throw("Strict value is not equal to itself.")
498523 }
499524
500525
501526
502-@Callable(bd)
503-func processVoteINTERNAL (bI,R) = {
504- let bJ = bg(bd)
505- if ((bJ == bJ))
527+@Callable(bk)
528+func processPoolBalanceINTERNAL (bP) = {
529+ let bQ = bn(bk)
530+ if ((bQ == bQ))
506531 then {
507- let bh = valueOrErrorMessage(addressFromString(R), S(("processVoteINTERNAL: invalid user address " + R)))
508- let i = ae(this, j)
509- let bK = (i - 1)
510- let bn = ae(this, f)
511- let bt = ae(this, y(i))
512- let bu = (bt + bn)
513- let bL = ae(this, y(bK))
514- let bM = ae(this, h(bK))
515- let bN = (bL + bM)
516- let bO = if ((bK >= 0))
532+ let k = aj(this, l)
533+ let bR = (k - 1)
534+ let E = al(bP)
535+ let bS = E
536+ let G = bS._1
537+ let H = bS._2
538+ let aG = aw(G, H)
539+ let bT = {
540+ let ai = invoke(an, "checkBalance", [aG], nil)
541+ if ($isInstanceOf(ai, "Boolean"))
542+ then ai
543+ else throw(($getType(ai) + " couldn't be cast to Boolean"))
544+ }
545+ let bU = !(valueOrElse(getBoolean(this, I(E, (bR - 1))), false))
546+ let bV = if (!(bT))
547+ then if (!(bU))
548+ then {
549+ let bW = invoke(an, "deleteWxEmissionPoolLabel", [G, H], nil)
550+ if ((bW == bW))
551+ then {
552+ let bX = invoke(an, "modifyWeight", [aG, 0], nil)
553+ if ((bX == bX))
554+ then {
555+ let bY = valueOrErrorMessage(au(G, H), X("invalid assets"))._1
556+ let bZ = 3
557+ let ca = invoke(an, "managePool", [toString(bY), bZ], nil)
558+ if ((ca == ca))
559+ then {
560+ let cb = ([DeleteEntry(D(E))] ++ bc(aL, ak(E)))
561+ ([IntegerEntry(S(E, bR), 0)] ++ cb)
562+ }
563+ else throw("Strict value is not equal to itself.")
564+ }
565+ else throw("Strict value is not equal to itself.")
566+ }
567+ else throw("Strict value is not equal to itself.")
568+ }
569+ else [BooleanEntry(I(E, bR), true)]
570+ else nil
571+ $Tuple2(bV, unit)
572+ }
573+ else throw("Strict value is not equal to itself.")
574+ }
575+
576+
577+
578+@Callable(bk)
579+func processVoteINTERNAL (bP,W) = {
580+ let bQ = bn(bk)
581+ if ((bQ == bQ))
582+ then {
583+ let bo = valueOrErrorMessage(addressFromString(W), X(("processVoteINTERNAL: invalid user address " + W)))
584+ let k = aj(this, l)
585+ let bR = (k - 1)
586+ let bu = aj(this, h)
587+ let bA = aj(this, B(k))
588+ let bB = (bA + bu)
589+ let cc = aj(this, B(bR))
590+ let cd = aj(this, j(bR))
591+ let ce = (cc + cd)
592+ let cf = if ((bR >= 0))
517593 then true
518- else U("processVoteINTERNAL: invalid previous epoch")
519- if ((bO == bO))
594+ else Z("processVoteINTERNAL: invalid previous epoch")
595+ if ((cf == cf))
520596 then {
521- let B = ag(bI)
522- let bP = B
523- let D = bP._1
524- let E = bP._2
525- let bD = aA(B)
526- let bA = {
527- let ad = invoke(this, "getUserGwxAmountAtHeight", [R, bu], nil)
528- if ($isInstanceOf(ad, "Int"))
529- then ad
530- else throw(($getType(ad) + " couldn't be cast to Int"))
597+ let E = al(bP)
598+ let cg = E
599+ let G = cg._1
600+ let H = cg._2
601+ let bH = {
602+ let ai = invoke(this, "getUserGwxAmountAtHeight", [W, bB], nil)
603+ if ($isInstanceOf(ai, "Int"))
604+ then ai
605+ else throw(($getType(ai) + " couldn't be cast to Int"))
531606 }
532- let bQ = {
533- let ad = invoke(this, "getUserGwxAmountAtHeight", [R, bN], nil)
534- if ($isInstanceOf(ad, "Int"))
535- then ad
536- else throw(($getType(ad) + " couldn't be cast to Int"))
607+ let ch = {
608+ let ai = invoke(this, "getUserGwxAmountAtHeight", [W, ce], nil)
609+ if ($isInstanceOf(ai, "Int"))
610+ then ai
611+ else throw(($getType(ai) + " couldn't be cast to Int"))
537612 }
538- let bz = valueOrElse(getInteger(P(i)), 0)
539- let bR = valueOrElse(getInteger(J(B, i)), 0)
540- let bS = valueOrErrorMessage(getInteger(H(B, bh, bK)), S((((("processVoteINTERNAL " + bI) + " ") + R) + ": no previous vote")))
541- let bw = valueOrElse(getInteger(this, F(bh, i)), 0)
542- let M = ap(D, E)
543- let bT = valueOrElse(getInteger(L(M, bK)), 0)
544- let bm = addressFromStringValue(ac(this, p))
545- let bU = valueOrElse(getInteger(bm, Q(M, R)), 0)
546- let bV = if ((bU == 0))
613+ let bG = valueOrElse(getInteger(U(k)), 0)
614+ let ci = valueOrElse(getInteger(O(E, k)), 0)
615+ let cj = valueOrErrorMessage(getInteger(M(E, bo, bR)), X((((("processVoteINTERNAL " + bP) + " ") + W) + ": no previous vote")))
616+ let bD = valueOrElse(getInteger(this, K(bo, k)), 0)
617+ let R = aw(G, H)
618+ let ck = valueOrElse(getInteger(Q(R, bR)), 0)
619+ let bt = addressFromStringValue(ah(this, s))
620+ let cl = valueOrElse(getInteger(bt, V(R, W)), 0)
621+ let cm = if ((cl == 0))
547622 then nil
548- else [IntegerEntry(L(M, bK), (bT + bS))]
549- let az = ap(D, E)
550- let bW = {
551- let ad = invoke(ai, "checkBalance", [az], nil)
552- if ($isInstanceOf(ad, "Boolean"))
553- then ad
554- else throw(($getType(ad) + " couldn't be cast to Boolean"))
555- }
556- let bC = if ((bQ > 0))
557- then fraction(bS, bA, bQ)
623+ else [IntegerEntry(Q(R, bR), (ck + cj))]
624+ let aG = aw(G, H)
625+ let bJ = if ((ch > 0))
626+ then fraction(cj, bH, ch)
558627 else 0
559- let bX = if (if (if ((bC > 0))
560- then bD
561- else false)
562- then bW
563- else false)
564- then [IntegerEntry(H(B, bh, i), bC), IntegerEntry(P(i), (bz + bC)), IntegerEntry(J(B, i), (bR + bC)), IntegerEntry(F(bh, i), (bw + bC))]
565- else aV(aF(B), R)
566- $Tuple2((bX ++ bV), unit)
628+ let bV = if ((bJ > 0))
629+ then [IntegerEntry(M(E, bo, k), bJ), IntegerEntry(U(k), (bG + bJ)), IntegerEntry(O(E, k), (ci + bJ)), IntegerEntry(K(bo, k), (bD + bJ))]
630+ else bc(aM(E), W)
631+ $Tuple2((bV ++ cm), unit)
567632 }
568633 else throw("Strict value is not equal to itself.")
569634 }
572637
573638
574639
575-@Callable(bd)
576-func processPoolINTERNAL (bI,bY) = {
577- let bJ = bg(bd)
578- if ((bJ == bJ))
640+@Callable(bk)
641+func processPoolINTERNAL (bP,cn) = {
642+ let bQ = bn(bk)
643+ if ((bQ == bQ))
579644 then {
580- let bZ = {
581- let ca = ae(this, j)
582- if (bY)
583- then ca
584- else (ca - 1)
645+ let co = {
646+ let cp = aj(this, l)
647+ if (cn)
648+ then cp
649+ else (cp - 1)
585650 }
586- let bO = if ((bZ >= 0))
651+ let cf = if ((co >= 0))
587652 then true
588- else U("processPoolINTERNAL: invalid target epoch")
589- if ((bO == bO))
653+ else Z("processPoolINTERNAL: invalid target epoch")
654+ if ((cf == cf))
590655 then {
591- let B = ag(bI)
592- let cb = B
593- let D = cb._1
594- let E = cb._2
595- let bm = addressFromStringValue(ac(this, p))
596- let az = ap(D, E)
597- let cc = {
598- let ad = invoke(bm, "usersListTraversal", [az], nil)
599- if ($isInstanceOf(ad, "Boolean"))
600- then ad
601- else throw(($getType(ad) + " couldn't be cast to Boolean"))
656+ let E = al(bP)
657+ let cq = E
658+ let G = cq._1
659+ let H = cq._2
660+ let bt = addressFromStringValue(ah(this, s))
661+ let aG = aw(G, H)
662+ let cr = {
663+ let ai = invoke(bt, "usersListTraversal", [aG], nil)
664+ if ($isInstanceOf(ai, "Boolean"))
665+ then ai
666+ else throw(($getType(ai) + " couldn't be cast to Boolean"))
602667 }
603- if ((cc == cc))
604- then if (cc)
668+ if ((cr == cr))
669+ then if (cr)
605670 then $Tuple2(nil, true)
606671 else {
607- let cd = addressFromStringValue(valueOrElse(getString(this, q), "invalid assets store contract"))
608- let bD = aA(B)
609- let bW = {
610- let ad = invoke(ai, "checkBalance", [az], nil)
611- if ($isInstanceOf(ad, "Boolean"))
612- then ad
613- else throw(($getType(ad) + " couldn't be cast to Boolean"))
614- }
615- let ce = {
616- let ad = invoke(cd, "isVerifiedREADONLY", [D], nil)
617- if ($isInstanceOf(ad, "Boolean"))
618- then ad
619- else throw(($getType(ad) + " couldn't be cast to Boolean"))
620- }
621- let cf = {
622- let ad = invoke(cd, "isVerifiedREADONLY", [E], nil)
623- if ($isInstanceOf(ad, "Boolean"))
624- then ad
625- else throw(($getType(ad) + " couldn't be cast to Boolean"))
626- }
627- let cg = if (if (if (if (!(bD))
628- then bW
629- else false)
630- then ce
631- else false)
632- then cf
633- else false)
634- then invoke(ai, "setWxEmissionPoolLabel", [D, E], nil)
635- else unit
636- if ((cg == cg))
637- then {
638- let bz = valueOrElse(getInteger(this, P(bZ)), 0)
639- let bR = valueOrElse(getInteger(this, J(B, bZ)), 0)
640- let ch = if (if (if ((bz == 0))
641- then true
642- else !(bD))
643- then true
644- else !(bW))
645- then 0
646- else fraction(bR, b, bz)
647- let ci = invoke(ai, "modifyWeight", [az, ch], nil)
648- if ((ci == ci))
649- then $Tuple2([IntegerEntry(N(B, bZ), ch)], false)
650- else throw("Strict value is not equal to itself.")
651- }
672+ let cs = addressFromStringValue(valueOrErrorMessage(getString(an, t), "invalid assets store contract"))
673+ let bG = valueOrElse(getInteger(this, U(co)), 0)
674+ let ci = valueOrElse(getInteger(this, O(E, co)), 0)
675+ let ct = if ((bG == 0))
676+ then 0
677+ else fraction(ci, b, bG)
678+ let bX = invoke(an, "modifyWeight", [aG, ct], nil)
679+ if ((bX == bX))
680+ then $Tuple2([IntegerEntry(S(E, co), ct)], false)
652681 else throw("Strict value is not equal to itself.")
653682 }
654683 else throw("Strict value is not equal to itself.")
660689
661690
662691
663-@Callable(bd)
692+@Callable(bk)
664693 func finalizeHelper () = {
665- let bY = valueOrElse(getBoolean(x), false)
666- let i = valueOrElse(getInteger(this, j), 0)
667- let cj = (i - 1)
668- let bt = ae(this, y(i))
669- let bn = ae(this, f)
670- let bu = (bt + bn)
671- let bv = getInteger(this, r)
672- if (if (if ((height >= bu))
673- then (bv == unit)
694+ let cn = valueOrElse(getBoolean(A), false)
695+ let k = valueOrElse(getInteger(this, l), 0)
696+ let cu = (k - 1)
697+ let bA = aj(this, B(k))
698+ let bu = aj(this, h)
699+ let bB = (bA + bu)
700+ let bC = getInteger(this, u)
701+ if (if (if ((height >= bB))
702+ then (bC == unit)
674703 else false)
675- then !(bY)
704+ then !(cn)
676705 else false)
677706 then {
678- let ck = (i + 1)
679- let cl = getInteger(this, g)
680- let cm = {
681- let Z = cl
682- if ($isInstanceOf(Z, "Int"))
707+ let cv = (k + 1)
708+ let cw = getInteger(this, i)
709+ let cx = {
710+ let ae = cw
711+ if ($isInstanceOf(ae, "Int"))
683712 then {
684- let bG = Z
685-[IntegerEntry(f, bG), DeleteEntry(g)]
713+ let bN = ae
714+[IntegerEntry(h, bN), DeleteEntry(i)]
686715 }
687- else if ($isInstanceOf(Z, "Unit"))
716+ else if ($isInstanceOf(ae, "Unit"))
688717 then nil
689718 else throw("Match error")
690719 }
691- $Tuple2(([IntegerEntry(y(ck), height), IntegerEntry(u, height), IntegerEntry(j, ck), IntegerEntry(r, d), IntegerEntry(h(i), bn)] ++ cm), true)
720+ $Tuple2(([IntegerEntry(B(cv), height), IntegerEntry(x, height), IntegerEntry(l, cv), IntegerEntry(u, d), IntegerEntry(j(k), bu)] ++ cx), true)
692721 }
693- else if (if (bY)
694- then (bv == unit)
722+ else if (if (cn)
723+ then (bC == unit)
695724 else false)
696- then $Tuple2([IntegerEntry(r, e)], true)
697- else if ((bv == unit))
725+ then $Tuple2([IntegerEntry(u, f)], true)
726+ else if ((bC == unit))
698727 then $Tuple2(nil, false)
699- else if ((bv == d))
728+ else if ((bC == d))
700729 then {
701- let cn = getString(s)
702- let co = getString(t)
703- let Z = cn
704- if ($isInstanceOf(Z, "Unit"))
730+ let cy = getString(v)
731+ let ae = cy
732+ if ($isInstanceOf(ae, "Unit"))
705733 then {
706- let cp = getString(aH(aE))
707- if ($isInstanceOf(cp, "Unit"))
708- then $Tuple2([IntegerEntry(r, e), DeleteEntry(s), DeleteEntry(t)], true)
709- else if ($isInstanceOf(cp, "String"))
734+ let cz = getString(aO(aL))
735+ if ($isInstanceOf(cz, "Unit"))
736+ then $Tuple2([IntegerEntry(u, e), DeleteEntry(v)], true)
737+ else if ($isInstanceOf(cz, "String"))
710738 then {
711- let cq = cp
712- $Tuple2([StringEntry(s, cq)], true)
739+ let cA = cz
740+ $Tuple2([StringEntry(v, cA)], true)
713741 }
714742 else throw("Match error")
715743 }
716- else if ($isInstanceOf(Z, "String"))
744+ else if ($isInstanceOf(ae, "String"))
717745 then {
718- let bI = Z
719- let B = ag(bI)
720- let cr = {
721- let cp = co
722- if ($isInstanceOf(cp, "Unit"))
723- then getString(aH(aF(B)))
724- else if ($isInstanceOf(cp, "String"))
746+ let bP = ae
747+ let cB = getString(aU(aL, bP))
748+ if ((cB == cB))
749+ then {
750+ let cr = invoke(this, "processPoolBalanceINTERNAL", [bP], nil)
751+ if ((cr == cr))
725752 then {
726- let cs = cp
727- let ct = getString(aN(aF(B), cs))
728- if ((ct == ct))
753+ let cz = cB
754+ if ($isInstanceOf(cz, "Unit"))
755+ then $Tuple2([IntegerEntry(u, e), DeleteEntry(v)], true)
756+ else if ($isInstanceOf(cz, "String"))
757+ then {
758+ let cA = cz
759+ $Tuple2([StringEntry(v, cA)], true)
760+ }
761+ else throw("Match error")
762+ }
763+ else throw("Strict value is not equal to itself.")
764+ }
765+ else throw("Strict value is not equal to itself.")
766+ }
767+ else throw("Match error")
768+ }
769+ else if ((bC == e))
770+ then {
771+ let cy = getString(v)
772+ let cC = getString(w)
773+ let ae = cy
774+ if ($isInstanceOf(ae, "Unit"))
775+ then {
776+ let cz = getString(aO(aL))
777+ if ($isInstanceOf(cz, "Unit"))
778+ then $Tuple2([IntegerEntry(u, f), DeleteEntry(v), DeleteEntry(w)], true)
779+ else if ($isInstanceOf(cz, "String"))
780+ then {
781+ let cD = cz
782+ $Tuple2([StringEntry(v, cD)], true)
783+ }
784+ else throw("Match error")
785+ }
786+ else if ($isInstanceOf(ae, "String"))
787+ then {
788+ let bP = ae
789+ let E = al(bP)
790+ let cE = {
791+ let cz = cC
792+ if ($isInstanceOf(cz, "Unit"))
793+ then getString(aO(aM(E)))
794+ else if ($isInstanceOf(cz, "String"))
795+ then {
796+ let cF = cz
797+ let cG = getString(aU(aM(E), cF))
798+ if ((cG == cG))
799+ then {
800+ let cH = invoke(this, "processVoteINTERNAL", [bP, cF], nil)
801+ if ((cH == cH))
802+ then cG
803+ else throw("Strict value is not equal to itself.")
804+ }
805+ else throw("Strict value is not equal to itself.")
806+ }
807+ else throw("Match error")
808+ }
809+ let cz = cE
810+ if ($isInstanceOf(cz, "Unit"))
811+ then {
812+ let cB = getString(aU(aL, bP))
813+ let cI = cB
814+ if ($isInstanceOf(cI, "Unit"))
815+ then $Tuple2([IntegerEntry(u, f), DeleteEntry(v), DeleteEntry(w)], true)
816+ else if ($isInstanceOf(cI, "String"))
729817 then {
730- let cu = invoke(this, "processVoteINTERNAL", [bI, cs], nil)
731- if ((cu == cu))
732- then ct
733- else throw("Strict value is not equal to itself.")
818+ let bg = cI
819+ $Tuple2([StringEntry(v, bg), DeleteEntry(w)], true)
734820 }
735- else throw("Strict value is not equal to itself.")
821+ else throw("Match error")
822+ }
823+ else if ($isInstanceOf(cz, "String"))
824+ then {
825+ let cJ = cz
826+ $Tuple2([StringEntry(w, cJ)], true)
736827 }
737828 else throw("Match error")
738829 }
739- let cp = cr
740- if ($isInstanceOf(cp, "Unit"))
830+ else throw("Match error")
831+ }
832+ else if ((bC == f))
833+ then {
834+ let cy = getString(v)
835+ let ae = cy
836+ if ($isInstanceOf(ae, "Unit"))
837+ then {
838+ let cz = getString(aO(aL))
839+ if ($isInstanceOf(cz, "Unit"))
840+ then {
841+ let bV = if (cn)
842+ then [DeleteEntry(u), DeleteEntry(A)]
843+ else [DeleteEntry(u), BooleanEntry(C(cu), true), IntegerEntry(y, k), IntegerEntry(z, bA)]
844+ let cK = aJ()
845+ if ((cK == cK))
846+ then $Tuple2(bV, true)
847+ else throw("Strict value is not equal to itself.")
848+ }
849+ else if ($isInstanceOf(cz, "String"))
850+ then {
851+ let cA = cz
852+ $Tuple2([StringEntry(v, cA)], true)
853+ }
854+ else throw("Match error")
855+ }
856+ else if ($isInstanceOf(ae, "String"))
741857 then {
742- let cv = getString(aN(aE, bI))
743- let cw = cv
744- if ($isInstanceOf(cw, "Unit"))
745- then $Tuple2([IntegerEntry(r, e), DeleteEntry(s), DeleteEntry(t)], true)
746- else if ($isInstanceOf(cw, "String"))
747- then {
748- let aZ = cw
749- $Tuple2([StringEntry(s, aZ), DeleteEntry(t)], true)
858+ let bP = ae
859+ let cB = getString(aU(aL, bP))
860+ if ((cB == cB))
861+ then {
862+ let cr = {
863+ let ai = invoke(this, "processPoolINTERNAL", [bP, cn], nil)
864+ if ($isInstanceOf(ai, "Boolean"))
865+ then ai
866+ else throw(($getType(ai) + " couldn't be cast to Boolean"))
750867 }
751- else throw("Match error")
752- }
753- else if ($isInstanceOf(cp, "String"))
754- then {
755- let cx = cp
756- $Tuple2([StringEntry(t, cx)], true)
757- }
758- else throw("Match error")
759- }
760- else throw("Match error")
761- }
762- else if ((bv == e))
763- then {
764- let cn = getString(s)
765- let Z = cn
766- if ($isInstanceOf(Z, "Unit"))
767- then {
768- let cp = getString(aH(aE))
769- if ($isInstanceOf(cp, "Unit"))
770- then {
771- let bX = if (bY)
772- then [DeleteEntry(r), DeleteEntry(x)]
773- else [DeleteEntry(r), BooleanEntry(z(cj), true), IntegerEntry(v, i), IntegerEntry(w, bt)]
774- let cy = aC()
775- if ((cy == cy))
776- then $Tuple2(bX, true)
868+ if ((cr == cr))
869+ then if (cr)
870+ then $Tuple2(nil, true)
871+ else {
872+ let cz = cB
873+ if ($isInstanceOf(cz, "Unit"))
874+ then {
875+ let bV = if (cn)
876+ then [DeleteEntry(u), DeleteEntry(A), DeleteEntry(v)]
877+ else [DeleteEntry(u), BooleanEntry(C(cu), true), IntegerEntry(y, k), IntegerEntry(z, bA), DeleteEntry(v)]
878+ let cK = aJ()
879+ if ((cK == cK))
880+ then $Tuple2(bV, true)
881+ else throw("Strict value is not equal to itself.")
882+ }
883+ else if ($isInstanceOf(cz, "String"))
884+ then {
885+ let cA = cz
886+ $Tuple2([StringEntry(v, cA)], true)
887+ }
888+ else throw("Match error")
889+ }
890+ else throw("Strict value is not equal to itself.")
891+ }
777892 else throw("Strict value is not equal to itself.")
778893 }
779- else if ($isInstanceOf(cp, "String"))
780- then {
781- let cz = cp
782- $Tuple2([StringEntry(s, cz)], true)
783- }
784- else throw("Match error")
785- }
786- else if ($isInstanceOf(Z, "String"))
787- then {
788- let bI = Z
789- let cv = getString(aN(aE, bI))
790- if ((cv == cv))
791- then {
792- let cc = {
793- let ad = invoke(this, "processPoolINTERNAL", [bI, bY], nil)
794- if ($isInstanceOf(ad, "Boolean"))
795- then ad
796- else throw(($getType(ad) + " couldn't be cast to Boolean"))
797- }
798- if ((cc == cc))
799- then if (cc)
800- then $Tuple2(nil, true)
801- else {
802- let cp = cv
803- if ($isInstanceOf(cp, "Unit"))
804- then {
805- let bX = if (bY)
806- then [DeleteEntry(r), DeleteEntry(x), DeleteEntry(s)]
807- else [DeleteEntry(r), BooleanEntry(z(cj), true), IntegerEntry(v, i), IntegerEntry(w, bt), DeleteEntry(s)]
808- let cy = aC()
809- if ((cy == cy))
810- then $Tuple2(bX, true)
811- else throw("Strict value is not equal to itself.")
812- }
813- else if ($isInstanceOf(cp, "String"))
814- then {
815- let cz = cp
816- $Tuple2([StringEntry(s, cz)], true)
817- }
818- else throw("Match error")
819- }
820- else throw("Strict value is not equal to itself.")
821- }
822- else throw("Strict value is not equal to itself.")
823- }
824- else throw("Match error")
825- }
826- else U("finalization is broken")
894+ else throw("Match error")
895+ }
896+ else Z("finalization is broken")
827897 }
828898
829899
830900
831-@Callable(bd)
832-func finalizeWrapper (cA) = {
833- let cB = addressFromStringValue(getStringValue(this, m))
834- let cC = {
835- let ad = invoke(this, "finalizeHelper", nil, nil)
836- if ($isInstanceOf(ad, "Boolean"))
837- then ad
838- else throw(($getType(ad) + " couldn't be cast to Boolean"))
901+@Callable(bk)
902+func finalizeWrapper (cL) = {
903+ let cM = addressFromStringValue(getStringValue(this, p))
904+ let cN = {
905+ let ai = invoke(this, "finalizeHelper", nil, nil)
906+ if ($isInstanceOf(ai, "Boolean"))
907+ then ai
908+ else throw(($getType(ai) + " couldn't be cast to Boolean"))
839909 }
840- if ((cC == cC))
841- then if (!(cC))
842- then if ((cA == 0))
843- then U("Current voting is not over yet")
910+ if ((cN == cN))
911+ then if (!(cN))
912+ then if ((cL == 0))
913+ then Z("Current voting is not over yet")
844914 else {
845- let cD = invoke(cB, "finalize", nil, nil)
846- if ((cD == cD))
915+ let cO = invoke(cM, "finalize", nil, nil)
916+ if ((cO == cO))
847917 then $Tuple2(nil, unit)
848918 else throw("Strict value is not equal to itself.")
849919 }
850920 else {
851- let cE = valueOrElse(getInteger(this, k), c)
852- if ((cE > cA))
921+ let cP = valueOrElse(getInteger(this, m), c)
922+ if ((cP > cL))
853923 then {
854- let cD = invoke(this, "finalizeWrapper", [(cA + 1)], nil)
855- if ((cD == cD))
924+ let cO = invoke(this, "finalizeWrapper", [(cL + 1)], nil)
925+ if ((cO == cO))
856926 then $Tuple2(nil, unit)
857927 else throw("Strict value is not equal to itself.")
858928 }
863933
864934
865935
866-@Callable(bd)
936+@Callable(bk)
867937 func finalize () = {
868- let cD = invoke(this, "finalizeWrapper", [0], nil)
869- if ((cD == cD))
938+ let cO = invoke(this, "finalizeWrapper", [0], nil)
939+ if ((cO == cO))
870940 then $Tuple2(nil, unit)
871941 else throw("Strict value is not equal to itself.")
872942 }
873943
874944
875945
876-@Callable(bd)
877-func containsNodeREADONLY (aI,aM) = $Tuple2(nil, aO(aI, aM))
946+@Callable(bk)
947+func containsNodeREADONLY (aP,aT) = $Tuple2(nil, aV(aP, aT))
878948
879949
880950
881-@Callable(bd)
882-func insertNode (aI,aM) = {
883- let bJ = bf(bd)
884- if ((bJ == bJ))
885- then $Tuple2(aS(aI, aM), unit)
951+@Callable(bk)
952+func insertNode (aP,aT) = {
953+ let bQ = bm(bk)
954+ if ((bQ == bQ))
955+ then $Tuple2(aZ(aP, aT), unit)
886956 else throw("Strict value is not equal to itself.")
887957 }
888958
889959
890960
891-@Callable(bd)
892-func deleteNode (aI,aM) = {
893- let bJ = bf(bd)
894- if ((bJ == bJ))
895- then $Tuple2(aV(aI, aM), unit)
961+@Callable(bk)
962+func deleteNode (aP,aT) = {
963+ let bQ = bm(bk)
964+ if ((bQ == bQ))
965+ then $Tuple2(bc(aP, aT), unit)
896966 else throw("Strict value is not equal to itself.")
897967 }
898968
899969
900970
901-@Callable(bd)
971+@Callable(bk)
902972 func isFinalizationInProgress () = {
903- let bv = getInteger(this, r)
904- let cF = (bv != unit)
905- $Tuple2(nil, cF)
973+ let bC = getInteger(this, u)
974+ let cQ = (bC != unit)
975+ $Tuple2(nil, cQ)
906976 }
907977
908978
909979
910-@Callable(bd)
911-func deletePool (D,E) = {
912- let bJ = if (if ((bd.caller == ai))
980+@Callable(bk)
981+func deletePool (G,H) = {
982+ let bQ = if (if ((bk.caller == an))
913983 then true
914- else bf(bd))
984+ else bm(bk))
915985 then true
916- else U("Permission denied")
917- if ((bJ == bJ))
986+ else Z("Permission denied")
987+ if ((bQ == bQ))
918988 then {
919- let aI = "pools"
920- let B = $Tuple2(D, E)
921- let aM = makeString([D, E], a)
922- let bX = if (aO(aI, aM))
923- then aV(aI, aM)
989+ let aP = "pools"
990+ let E = $Tuple2(G, H)
991+ let aT = makeString([G, H], a)
992+ let bV = if (aV(aP, aT))
993+ then bc(aP, aT)
924994 else nil
925- ([DeleteEntry(A(B))] ++ bX)
995+ ([DeleteEntry(D(E))] ++ bV)
926996 }
927997 else throw("Strict value is not equal to itself.")
928998 }
929999
9301000
931-@Verifier(cG)
932-func cH () = {
933- let cI = {
934- let Z = ba()
935- if ($isInstanceOf(Z, "ByteVector"))
1001+
1002+@Callable(bk)
1003+func resume (G,H) = {
1004+ let aG = aw(G, H)
1005+ let cR = {
1006+ let ai = invoke(an, "checkBalance", [aG], nil)
1007+ if ($isInstanceOf(ai, "Boolean"))
1008+ then ai
1009+ else throw(($getType(ai) + " couldn't be cast to Boolean"))
1010+ }
1011+ let cS = bk.payments[0]
1012+ let cs = addressFromStringValue(getStringValue(this, t))
1013+ let cT = "%s__config"
1014+ let cU = 1
1015+ let bs = addressFromStringValue(ah(this, r))
1016+ let cV = fromBase58String(split(getStringValue(bs, cT), a)[cU])
1017+ let cW = {
1018+ let ai = invoke(cs, "isVerifiedREADONLY", [G], nil)
1019+ if ($isInstanceOf(ai, "Boolean"))
1020+ then ai
1021+ else throw(($getType(ai) + " couldn't be cast to Boolean"))
1022+ }
1023+ let cX = {
1024+ let ai = invoke(cs, "isVerifiedREADONLY", [H], nil)
1025+ if ($isInstanceOf(ai, "Boolean"))
1026+ then ai
1027+ else throw(($getType(ai) + " couldn't be cast to Boolean"))
1028+ }
1029+ let cY = valueOrElse(getInteger(this, n), g)
1030+ let bv = [if (cR)
1031+ then true
1032+ else Z("insufficient balances"), if ((size(bk.payments) == 1))
1033+ then true
1034+ else Z("1 payment is required"), if ((cS.assetId == cV))
1035+ then true
1036+ else Z("invalid payment asset id"), if ((cS.amount == cY))
1037+ then true
1038+ else Z("invalid payment amount"), if (if (cW)
1039+ then cX
1040+ else false)
1041+ then true
1042+ else Z("both assets should be verified")]
1043+ if ((bv == bv))
1044+ then {
1045+ let E = $Tuple2(G, H)
1046+ let bw = ([BooleanEntry(D(E), true)] ++ aZ(aL, ak(E)))
1047+ $Tuple2(bw, unit)
1048+ }
1049+ else throw("Strict value is not equal to itself.")
1050+ }
1051+
1052+
1053+@Verifier(cZ)
1054+func da () = {
1055+ let db = {
1056+ let ae = bh()
1057+ if ($isInstanceOf(ae, "ByteVector"))
9361058 then {
937- let be = Z
938- be
1059+ let bl = ae
1060+ bl
9391061 }
940- else if ($isInstanceOf(Z, "Unit"))
941- then cG.senderPublicKey
1062+ else if ($isInstanceOf(ae, "Unit"))
1063+ then cZ.senderPublicKey
9421064 else throw("Match error")
9431065 }
944- sigVerify(cG.bodyBytes, cG.proofs[0], cI)
1066+ sigVerify(cZ.bodyBytes, cZ.proofs[0], db)
9451067 }
9461068
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
14-let f = makeString(["%s", "epochLength"], a)
14+let f = 2
1515
16-let g = makeString(["%s%s", "epochLength__new"], a)
16+let g = 500000000000
1717
18-func h (i) = makeString(["%s%d", "epochLength", toString(i)], a)
18+let h = makeString(["%s", "epochLength"], a)
19+
20+let i = makeString(["%s%s", "epochLength__new"], a)
21+
22+func j (k) = makeString(["%s%d", "epochLength", toString(k)], a)
1923
2024
21-let j = makeString(["%s", "currentEpoch"], a)
25+let l = makeString(["%s", "currentEpoch"], a)
2226
23-let k = makeString(["%s", "maxDepth"], a)
27+let m = makeString(["%s", "maxDepth"], a)
2428
25-let l = makeString(["%s", "votingEmissionCandidateContract"], a)
29+let n = makeString(["%s", "resumptionFee"], a)
2630
27-let m = makeString(["%s", "votingEmissionRateContract"], a)
31+let o = makeString(["%s", "votingEmissionCandidateContract"], a)
2832
29-let n = makeString(["%s", "factoryContract"], a)
33+let p = makeString(["%s", "votingEmissionRateContract"], a)
3034
31-let o = makeString(["%s", "boostingContract"], a)
35+let q = makeString(["%s", "factoryContract"], a)
3236
33-let p = makeString(["%s", "stakingContract"], a)
37+let r = makeString(["%s", "boostingContract"], a)
3438
35-let q = makeString(["%s", "assetsStoreContract"], a)
39+let s = makeString(["%s", "stakingContract"], a)
3640
37-let r = makeString(["%s", "finalizationStage"], a)
41+let t = makeString(["%s", "assetsStoreContract"], a)
3842
39-let s = makeString(["%s", "nextPool"], a)
43+let u = makeString(["%s", "finalizationStage"], a)
4044
41-let t = makeString(["%s", "nextUser"], a)
45+let v = makeString(["%s", "nextPool"], a)
4246
43-let u = makeString(["%s", "startHeight"], a)
47+let w = makeString(["%s", "nextUser"], a)
4448
45-let v = makeString(["%s", "currentEpochUi"], a)
49+let x = makeString(["%s", "startHeight"], a)
4650
47-let w = makeString(["%s", "startHeightUi"], a)
51+let y = makeString(["%s", "currentEpochUi"], a)
4852
49-let x = makeString(["%s", "force"], a)
53+let z = makeString(["%s", "startHeightUi"], a)
5054
51-func y (i) = makeString(["%s%d", "startHeight", toString(i)], a)
55+let A = makeString(["%s", "force"], a)
56+
57+func B (k) = makeString(["%s%d", "startHeight", toString(k)], a)
5258
5359
54-func z (i) = makeString(["%s%d", "finalized", toString(i)], a)
60+func C (k) = makeString(["%s%d", "finalized", toString(k)], a)
5561
5662
57-func A (B) = {
58- let C = B
59- let D = C._1
60- let E = C._2
61- makeString(["%s%s%s", "inList", D, E], a)
63+func D (E) = {
64+ let F = E
65+ let G = F._1
66+ let H = F._2
67+ makeString(["%s%s%s", "inList", G, H], a)
6268 }
6369
6470
65-func F (G,i) = makeString(["%s%s%d", "used", toString(G), toString(i)], a)
66-
67-
68-func H (B,G,i) = {
69- let I = B
70- let D = I._1
71- let E = I._2
72- makeString(["%s%s%s%s%d", "vote", D, E, toString(G), toString(i)], a)
71+func I (E,k) = {
72+ let J = E
73+ let G = J._1
74+ let H = J._2
75+ makeString(["%s%s%s%d", "insufficientBalances", G, H, toString(k)], a)
7376 }
7477
7578
76-func J (B,i) = {
77- let K = B
78- let D = K._1
79- let E = K._2
80- makeString(["%s%s%s%d", "votingResult", D, E, toString(i)], a)
79+func K (L,k) = makeString(["%s%s%d", "used", toString(L), toString(k)], a)
80+
81+
82+func M (E,L,k) = {
83+ let N = E
84+ let G = N._1
85+ let H = N._2
86+ makeString(["%s%s%s%s%d", "vote", G, H, toString(L), toString(k)], a)
8187 }
8288
8389
84-func L (M,i) = makeString(["%s%s%d", "votingResultStaked", M, toString(i)], a)
85-
86-
87-func N (B,i) = {
88- let O = B
89- let D = O._1
90- let E = O._2
91- makeString(["%s%s%s%d", "poolShare", D, E, toString(i)], a)
90+func O (E,k) = {
91+ let P = E
92+ let G = P._1
93+ let H = P._2
94+ makeString(["%s%s%s%d", "votingResult", G, H, toString(k)], a)
9295 }
9396
9497
95-func P (i) = makeString(["%s%d", "totalVotes", toString(i)], a)
98+func Q (R,k) = makeString(["%s%s%d", "votingResultStaked", R, toString(k)], a)
9699
97100
98-func Q (M,R) = makeString(["%s%s%s", "staked", R, M], a)
99-
100-
101-func S (T) = makeString(["voting_emission.ride:", T], " ")
102-
103-
104-func U (T) = throw(S(T))
105-
106-
107-func V (G,W,X) = {
108- let Y = S(makeString(["mandatory ", toString(G), ".", W, " is not defined"], ""))
109- valueOrErrorMessage({
110- let Z = X
111- if ($isInstanceOf(Z, "String"))
112- then {
113- let aa = Z
114- getString(G, W)
115- }
116- else if ($isInstanceOf(Z, "Int"))
117- then {
118- let ab = Z
119- getInteger(G, W)
120- }
121- else U("invalid entry type")
122- }, Y)
101+func S (E,k) = {
102+ let T = E
103+ let G = T._1
104+ let H = T._2
105+ makeString(["%s%s%s%d", "poolShare", G, H, toString(k)], a)
123106 }
124107
125108
126-func ac (G,W) = {
127- let ad = V(G, W, "")
128- if ($isInstanceOf(ad, "String"))
129- then ad
130- else throw(($getType(ad) + " couldn't be cast to String"))
109+func U (k) = makeString(["%s%d", "totalVotes", toString(k)], a)
110+
111+
112+func V (R,W) = makeString(["%s%s%s", "staked", W, R], a)
113+
114+
115+func X (Y) = makeString(["voting_emission.ride:", Y], " ")
116+
117+
118+func Z (Y) = throw(X(Y))
119+
120+
121+func aa (L,ab,ac) = {
122+ let ad = X(makeString(["mandatory ", toString(L), ".", ab, " is not defined"], ""))
123+ valueOrErrorMessage({
124+ let ae = ac
125+ if ($isInstanceOf(ae, "String"))
126+ then {
127+ let af = ae
128+ getString(L, ab)
129+ }
130+ else if ($isInstanceOf(ae, "Int"))
131+ then {
132+ let ag = ae
133+ getInteger(L, ab)
134+ }
135+ else Z("invalid entry type")
136+ }, ad)
131137 }
132138
133139
134-func ae (G,W) = {
135- let ad = V(G, W, 0)
136- if ($isInstanceOf(ad, "Int"))
137- then ad
138- else throw(($getType(ad) + " couldn't be cast to Int"))
140+func ah (L,ab) = {
141+ let ai = aa(L, ab, "")
142+ if ($isInstanceOf(ai, "String"))
143+ then ai
144+ else throw(($getType(ai) + " couldn't be cast to String"))
139145 }
140146
141147
142-func af (B) = ((B._1 + a) + B._2)
143-
144-
145-func ag (aa) = {
146- let ah = split(aa, a)
147- if ((size(ah) == 2))
148- then $Tuple2(ah[0], ah[1])
149- else U("invalid pool string")
148+func aj (L,ab) = {
149+ let ai = aa(L, ab, 0)
150+ if ($isInstanceOf(ai, "Int"))
151+ then ai
152+ else throw(($getType(ai) + " couldn't be cast to Int"))
150153 }
151154
152155
153-let ai = addressFromStringValue(ac(this, n))
154-
155-let aj = 10
156-
157-func ak () = "%s__factoryConfig"
156+func ak (E) = ((E._1 + a) + E._2)
158157
159158
160-func al (am) = split(ac(am, ak()), a)
161-
162-
163-func an (ao) = addressFromStringValue(ao[aj])
164-
165-
166-func ap (D,E) = {
167- func aq (ar) = ("%s%s%s__mappings__baseAsset2internalId__" + ar)
168-
169- func as (at,au) = (((("%d%d%s%s__" + toString(at)) + "__") + toString(au)) + "__mappings__poolAssets2PoolContract")
170-
171- func av (aw) = (("%s%s%s__" + aw) + "__mappings__poolContract2LpAsset")
172-
173- let ax = ae(ai, aq(D))
174- let ay = ae(ai, aq(E))
175- let aw = ac(ai, as(ax, ay))
176- let az = ac(ai, av(aw))
177- az
159+func al (af) = {
160+ let am = split(af, a)
161+ if ((size(am) == 2))
162+ then $Tuple2(am[0], am[1])
163+ else Z("invalid pool string")
178164 }
179165
180166
181-func aA (B) = {
182- let aB = B
183- let D = aB._1
184- let E = aB._2
185- let ad = invoke(ai, "checkWxEmissionPoolLabel", [D, E], nil)
186- if ($isInstanceOf(ad, "Boolean"))
187- then ad
188- else throw(($getType(ad) + " couldn't be cast to Boolean"))
167+let an = addressFromStringValue(ah(this, q))
168+
169+let ao = 10
170+
171+func ap () = "%s__factoryConfig"
172+
173+
174+func aq (ar) = split(ah(ar, ap()), a)
175+
176+
177+func as (at) = addressFromStringValue(at[ao])
178+
179+
180+func au (G,H) = {
181+ let av = {
182+ let ai = invoke(an, "poolInfoREADONLY", [G, H], nil)
183+ if ($isInstanceOf(ai, "(Address, ByteVector)"))
184+ then ai
185+ else unit
186+ }
187+ av
189188 }
190189
191190
192-func aC () = {
193- let ao = al(ai)
194- let aD = an(ao)
195- invoke(aD, "deposit", nil, nil)
191+func aw (G,H) = {
192+ func ax (ay) = ("%s%s%s__mappings__baseAsset2internalId__" + ay)
193+
194+ func az (aA,aB) = (((("%d%d%s%s__" + toString(aA)) + "__") + toString(aB)) + "__mappings__poolAssets2PoolContract")
195+
196+ func aC (aD) = (("%s%s%s__" + aD) + "__mappings__poolContract2LpAsset")
197+
198+ let aE = aj(an, ax(G))
199+ let aF = aj(an, ax(H))
200+ let aD = ah(an, az(aE, aF))
201+ let aG = ah(an, aC(aD))
202+ aG
196203 }
197204
198205
199-let aE = "pools"
200-
201-func aF (B) = {
202- let aG = B
203- let D = aG._1
204- let E = aG._2
205- makeString(["votes", D, E], a)
206+func aH (E) = {
207+ let aI = E
208+ let G = aI._1
209+ let H = aI._2
210+ let ai = invoke(an, "checkWxEmissionPoolLabel", [G, H], nil)
211+ if ($isInstanceOf(ai, "Boolean"))
212+ then ai
213+ else throw(($getType(ai) + " couldn't be cast to Boolean"))
206214 }
207215
208216
209-func aH (aI) = {
210- let aJ = if ((aI == aE))
211- then "%s%s"
212- else "%s%s%s%s"
213- makeString([aJ, aI, "head"], a)
217+func aJ () = {
218+ let at = aq(an)
219+ let aK = as(at)
220+ invoke(aK, "deposit", nil, nil)
214221 }
215222
216223
217-func aK (aI) = {
218- let aJ = if ((aI == aE))
219- then "%s%s"
220- else "%s%s%s%s"
221- makeString([aJ, aI, "size"], a)
224+let aL = "pools"
225+
226+func aM (E) = {
227+ let aN = E
228+ let G = aN._1
229+ let H = aN._2
230+ makeString(["votes", G, H], a)
222231 }
223232
224233
225-func aL (aI,aM) = {
226- let aJ = if ((aI == aE))
227- then "%s%s%s%s"
228- else "%s%s%s%s%s"
229- makeString([aJ, aI, aM, "prev"], a)
234+func aO (aP) = {
235+ let aQ = if ((aP == aL))
236+ then "%s%s"
237+ else "%s%s%s%s"
238+ makeString([aQ, aP, "head"], a)
230239 }
231240
232241
233-func aN (aI,aM) = {
234- let aJ = if ((aI == aE))
235- then "%s%s%s%s"
236- else "%s%s%s%s%s"
237- makeString([aJ, aI, aM, "next"], a)
242+func aR (aP) = {
243+ let aQ = if ((aP == aL))
244+ then "%s%s"
245+ else "%s%s%s%s"
246+ makeString([aQ, aP, "size"], a)
238247 }
239248
240249
241-func aO (aI,aM) = {
242- let aP = getString(this, aH(aI))
243- let aQ = getString(this, aL(aI, aM))
244- let aR = getString(this, aN(aI, aM))
245- if (if ((aM == valueOrElse(aP, "")))
246- then true
247- else (aQ != unit))
248- then true
249- else (aR != unit)
250+func aS (aP,aT) = {
251+ let aQ = if ((aP == aL))
252+ then "%s%s%s%s"
253+ else "%s%s%s%s%s"
254+ makeString([aQ, aP, aT, "prev"], a)
250255 }
251256
252257
253-func aS (aI,aM) = {
254- let aP = getString(this, aH(aI))
255- let aT = valueOrElse(getInteger(this, aK(aI)), 0)
256- let aU = if (!(aO(aI, aM)))
258+func aU (aP,aT) = {
259+ let aQ = if ((aP == aL))
260+ then "%s%s%s%s"
261+ else "%s%s%s%s%s"
262+ makeString([aQ, aP, aT, "next"], a)
263+ }
264+
265+
266+func aV (aP,aT) = {
267+ let aW = getString(this, aO(aP))
268+ let aX = getString(this, aS(aP, aT))
269+ let aY = getString(this, aU(aP, aT))
270+ if (if ((aT == valueOrElse(aW, "")))
257271 then true
258- else U("Node exists")
259- if ((aU == aU))
260- then (([IntegerEntry(aK(aI), (aT + 1))] ++ (if ((aP != unit))
261- then [StringEntry(aN(aI, aM), value(aP)), StringEntry(aL(aI, value(aP)), aM)]
262- else nil)) ++ [StringEntry(aH(aI), aM)])
272+ else (aX != unit))
273+ then true
274+ else (aY != unit)
275+ }
276+
277+
278+func aZ (aP,aT) = {
279+ let aW = getString(this, aO(aP))
280+ let ba = valueOrElse(getInteger(this, aR(aP)), 0)
281+ let bb = if (!(aV(aP, aT)))
282+ then true
283+ else Z("Node exists")
284+ if ((bb == bb))
285+ then (([IntegerEntry(aR(aP), (ba + 1))] ++ (if ((aW != unit))
286+ then [StringEntry(aU(aP, aT), value(aW)), StringEntry(aS(aP, value(aW)), aT)]
287+ else nil)) ++ [StringEntry(aO(aP), aT)])
263288 else throw("Strict value is not equal to itself.")
264289 }
265290
266291
267-func aV (aI,aM) = {
268- let aP = getString(this, aH(aI))
269- let aT = valueOrElse(getInteger(this, aK(aI)), 0)
270- let aQ = getString(this, aL(aI, aM))
271- let aR = getString(this, aN(aI, aM))
272- ([IntegerEntry(aK(aI), (aT - 1))] ++ (if (if ((aQ != unit))
273- then (aR != unit)
292+func bc (aP,aT) = {
293+ let aW = getString(this, aO(aP))
294+ let ba = valueOrElse(getInteger(this, aR(aP)), 0)
295+ let aX = getString(this, aS(aP, aT))
296+ let aY = getString(this, aU(aP, aT))
297+ ([IntegerEntry(aR(aP), (ba - 1))] ++ (if (if ((aX != unit))
298+ then (aY != unit)
274299 else false)
275- then [StringEntry(aN(aI, value(aQ)), value(aR)), StringEntry(aL(aI, value(aR)), value(aQ)), DeleteEntry(aL(aI, aM)), DeleteEntry(aN(aI, aM))]
276- else if ((aR != unit))
277- then [StringEntry(aH(aI), value(aR)), DeleteEntry(aN(aI, aM)), DeleteEntry(aL(aI, value(aR)))]
278- else if ((aQ != unit))
279- then [DeleteEntry(aL(aI, aM)), DeleteEntry(aN(aI, value(aQ)))]
280- else if ((aM == valueOrElse(aP, "")))
281- then [DeleteEntry(aH(aI))]
282- else U(((("invalid node: " + aI) + ".") + aM))))
300+ then [StringEntry(aU(aP, value(aX)), value(aY)), StringEntry(aS(aP, value(aY)), value(aX)), DeleteEntry(aS(aP, aT)), DeleteEntry(aU(aP, aT))]
301+ else if ((aY != unit))
302+ then [StringEntry(aO(aP), value(aY)), DeleteEntry(aU(aP, aT)), DeleteEntry(aS(aP, value(aY)))]
303+ else if ((aX != unit))
304+ then [DeleteEntry(aS(aP, aT)), DeleteEntry(aU(aP, value(aX)))]
305+ else if ((aT == valueOrElse(aW, "")))
306+ then [DeleteEntry(aO(aP))]
307+ else Z(((("invalid node: " + aP) + ".") + aT))))
283308 }
284309
285310
286-func aW () = "%s__managerVaultAddress"
311+func bd () = "%s__managerVaultAddress"
287312
288313
289-func aX () = "%s__managerPublicKey"
314+func be () = "%s__managerPublicKey"
290315
291316
292-func aY () = {
293- let Z = getString(aW())
294- if ($isInstanceOf(Z, "String"))
317+func bf () = {
318+ let ae = getString(bd())
319+ if ($isInstanceOf(ae, "String"))
295320 then {
296- let aZ = Z
297- addressFromStringValue(aZ)
321+ let bg = ae
322+ addressFromStringValue(bg)
298323 }
299324 else this
300325 }
301326
302327
303-func ba () = {
304- let bb = aY()
305- let Z = getString(bb, aX())
306- if ($isInstanceOf(Z, "String"))
328+func bh () = {
329+ let bi = bf()
330+ let ae = getString(bi, be())
331+ if ($isInstanceOf(ae, "String"))
307332 then {
308- let aZ = Z
309- fromBase58String(aZ)
333+ let bg = ae
334+ fromBase58String(bg)
310335 }
311- else if ($isInstanceOf(Z, "Unit"))
336+ else if ($isInstanceOf(ae, "Unit"))
312337 then unit
313338 else throw("Match error")
314339 }
315340
316341
317-func bc (bd) = {
318- let Z = ba()
319- if ($isInstanceOf(Z, "ByteVector"))
342+func bj (bk) = {
343+ let ae = bh()
344+ if ($isInstanceOf(ae, "ByteVector"))
320345 then {
321- let be = Z
322- (bd.callerPublicKey == be)
346+ let bl = ae
347+ (bk.callerPublicKey == bl)
323348 }
324- else if ($isInstanceOf(Z, "Unit"))
325- then (bd.caller == this)
349+ else if ($isInstanceOf(ae, "Unit"))
350+ then (bk.caller == this)
326351 else throw("Match error")
327352 }
328353
329354
330-func bf (bd) = if (bc(bd))
355+func bm (bk) = if (bj(bk))
331356 then true
332357 else throw("permission denied")
333358
334359
335-func bg (bd) = if ((bd.caller == this))
360+func bn (bk) = if ((bk.caller == this))
336361 then true
337362 else throw("permission denied")
338363
339364
340-@Callable(bd)
341-func getUserGwxAmountAtHeight (bh,bi) = {
342- let bj = valueOrErrorMessage(addressFromString(ac(this, o)), S("invalid boosting contract address"))
365+@Callable(bk)
366+func getUserGwxAmountAtHeight (bo,bp) = {
367+ let bq = valueOrErrorMessage(addressFromString(ah(this, r)), X("invalid boosting contract address"))
343368 $Tuple2(nil, {
344- let ad = invoke(bj, "getUserGwxAmountAtHeightREADONLY", [bh, bi], nil)
345- if ($isInstanceOf(ad, "Int"))
346- then ad
347- else throw(($getType(ad) + " couldn't be cast to Int"))
369+ let ai = invoke(bq, "getUserGwxAmountAtHeightREADONLY", [bo, bp], nil)
370+ if ($isInstanceOf(ai, "Int"))
371+ then ai
372+ else throw(($getType(ai) + " couldn't be cast to Int"))
348373 })
349374 }
350375
351376
352377
353-@Callable(bd)
354-func constructor (ai,bk,bl,bm,bn) = {
355- let bo = [bf(bd), if ((addressFromString(ai) != unit))
378+@Callable(bk)
379+func constructor (an,br,bs,bt,bu) = {
380+ let bv = [bm(bk), if ((addressFromString(an) != unit))
356381 then true
357- else "invalid factory contract address", if ((addressFromString(bk) != unit))
382+ else "invalid factory contract address", if ((addressFromString(br) != unit))
358383 then true
359- else "invalid voting emission candidate contract address", if ((addressFromString(bl) != unit))
384+ else "invalid voting emission candidate contract address", if ((addressFromString(bs) != unit))
360385 then true
361- else "invalid boosting contract address", if ((addressFromString(bm) != unit))
386+ else "invalid boosting contract address", if ((addressFromString(bt) != unit))
362387 then true
363- else "invalid staking contract address", if ((bn > 0))
388+ else "invalid staking contract address", if ((bu > 0))
364389 then true
365- else U("invalid epoch length")]
366- if ((bo == bo))
367- then $Tuple2([StringEntry(n, ai), StringEntry(l, bk), StringEntry(o, bl), StringEntry(p, bm), IntegerEntry(f, bn)], unit)
390+ else Z("invalid epoch length")]
391+ if ((bv == bv))
392+ then $Tuple2([StringEntry(q, an), StringEntry(o, br), StringEntry(r, bs), StringEntry(s, bt), IntegerEntry(h, bu)], unit)
368393 else throw("Strict value is not equal to itself.")
369394 }
370395
371396
372397
373-@Callable(bd)
374-func create (D,E) = {
375- let bo = [if ((toBase58String(bd.caller.bytes) == valueOrElse(getString(this, l), "")))
398+@Callable(bk)
399+func create (G,H) = {
400+ let bv = [if ((toBase58String(bk.caller.bytes) == valueOrElse(getString(this, o), "")))
376401 then true
377- else bf(bd)]
378- if ((bo == bo))
402+ else bm(bk)]
403+ if ((bv == bv))
379404 then {
380- let B = $Tuple2(D, E)
381- let bp = ([BooleanEntry(A(B), true)] ++ aS(aE, af(B)))
382- let bq = (getInteger(this, j) == unit)
383- let br = if (bq)
405+ let E = $Tuple2(G, H)
406+ let bw = ([BooleanEntry(D(E), true)] ++ aZ(aL, ak(E)))
407+ let bx = (getInteger(this, l) == unit)
408+ let by = if (bx)
384409 then {
385- let i = 0
386-[IntegerEntry(j, i), IntegerEntry(y(i), height), IntegerEntry(u, height), IntegerEntry(v, i), IntegerEntry(w, height)]
410+ let k = 0
411+[IntegerEntry(l, k), IntegerEntry(B(k), height), IntegerEntry(x, height), IntegerEntry(y, k), IntegerEntry(z, height)]
387412 }
388413 else nil
389- $Tuple2((bp ++ br), unit)
414+ $Tuple2((bw ++ by), unit)
390415 }
391416 else throw("Strict value is not equal to itself.")
392417 }
393418
394419
395420
396-@Callable(bd)
397-func vote (D,E,bs) = {
398- let B = $Tuple2(D, E)
399- let i = valueOrElse(getInteger(this, j), 0)
400- let bt = ae(this, y(i))
401- let bn = ae(this, f)
402- let bu = (bt + bn)
403- let bv = getInteger(this, r)
404- let bw = valueOrElse(getInteger(this, F(bd.caller, i)), 0)
405- let bx = valueOrElse(getInteger(this, H(B, bd.caller, i)), 0)
406- let by = valueOrElse(getInteger(this, J(B, i)), 0)
407- let bz = valueOrElse(getInteger(this, P(i)), 0)
408- let bA = {
409- let ad = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(bd.caller.bytes), bu], nil)
410- if ($isInstanceOf(ad, "Int"))
411- then ad
412- else throw(($getType(ad) + " couldn't be cast to Int"))
421+@Callable(bk)
422+func vote (G,H,bz) = {
423+ let E = $Tuple2(G, H)
424+ let k = valueOrElse(getInteger(this, l), 0)
425+ let bA = aj(this, B(k))
426+ let bu = aj(this, h)
427+ let bB = (bA + bu)
428+ let bC = getInteger(this, u)
429+ let bD = valueOrElse(getInteger(this, K(bk.caller, k)), 0)
430+ let bE = valueOrElse(getInteger(this, M(E, bk.caller, k)), 0)
431+ let bF = valueOrElse(getInteger(this, O(E, k)), 0)
432+ let bG = valueOrElse(getInteger(this, U(k)), 0)
433+ let bH = {
434+ let ai = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(bk.caller.bytes), bB], nil)
435+ if ($isInstanceOf(ai, "Int"))
436+ then ai
437+ else throw(($getType(ai) + " couldn't be cast to Int"))
413438 }
414- let bB = (bA - bw)
415- let bC = (bx + bs)
416- let bD = aA(B)
417- let bo = [if ((getBoolean(A(B)) != unit))
439+ let bI = (bH - bD)
440+ let bJ = (bE + bz)
441+ let bK = aH(E)
442+ let bv = [if ((getBoolean(D(E)) != unit))
418443 then true
419- else U("invalid assets"), if ((bu > height))
444+ else Z("invalid assets"), if ((bB > height))
420445 then true
421- else U("invalid height"), if ((bv == unit))
446+ else Z("invalid height"), if ((bC == unit))
422447 then true
423- else U("finalization in progress"), if ((bA > 0))
448+ else Z("finalization in progress"), if ((bH > 0))
424449 then true
425- else U("you do not have gWX"), if (if ((bs > 0))
426- then (bB >= bs)
450+ else Z("you do not have gWX"), if (if ((bz > 0))
451+ then (bI >= bz)
427452 else false)
428453 then true
429- else U("invalid amount"), if (bD)
454+ else Z("invalid amount"), if (bK)
430455 then true
431- else U("pool hasn't WX_EMISSION label")]
432- if ((bo == bo))
456+ else Z("pool hasn't WX_EMISSION label")]
457+ if ((bv == bv))
433458 then {
434- let bE = aF(B)
435- let R = toString(bd.caller)
436- let bF = if (aO(bE, R))
459+ let bL = aM(E)
460+ let W = toString(bk.caller)
461+ let bM = if (aV(bL, W))
437462 then nil
438- else aS(bE, R)
439- $Tuple2(([IntegerEntry(F(bd.caller, i), (bw + bs)), IntegerEntry(H(B, bd.caller, i), bC), IntegerEntry(J(B, i), (by + bs)), IntegerEntry(P(i), (bz + bs))] ++ bF), unit)
463+ else aZ(bL, W)
464+ $Tuple2(([IntegerEntry(K(bk.caller, k), (bD + bz)), IntegerEntry(M(E, bk.caller, k), bJ), IntegerEntry(O(E, k), (bF + bz)), IntegerEntry(U(k), (bG + bz))] ++ bM), unit)
440465 }
441466 else throw("Strict value is not equal to itself.")
442467 }
443468
444469
445470
446-@Callable(bd)
447-func cancelVote (D,E) = {
448- let B = $Tuple2(D, E)
449- let i = valueOrElse(getInteger(this, j), 0)
450- let bt = ae(this, y(i))
451- let bn = ae(this, f)
452- let bu = (bt + bn)
453- let bv = getInteger(this, r)
454- let bw = valueOrElse(getInteger(this, F(bd.caller, i)), 0)
455- let bx = valueOrElse(getInteger(this, H(B, bd.caller, i)), 0)
456- let by = valueOrElse(getInteger(this, J(B, i)), 0)
457- let bz = valueOrElse(getInteger(this, P(i)), 0)
458- let bo = [if ((getBoolean(A(B)) != unit))
471+@Callable(bk)
472+func cancelVote (G,H) = {
473+ let E = $Tuple2(G, H)
474+ let k = valueOrElse(getInteger(this, l), 0)
475+ let bA = aj(this, B(k))
476+ let bu = aj(this, h)
477+ let bB = (bA + bu)
478+ let bC = getInteger(this, u)
479+ let bD = valueOrElse(getInteger(this, K(bk.caller, k)), 0)
480+ let bE = valueOrElse(getInteger(this, M(E, bk.caller, k)), 0)
481+ let bF = valueOrElse(getInteger(this, O(E, k)), 0)
482+ let bG = valueOrElse(getInteger(this, U(k)), 0)
483+ let bv = [if ((getBoolean(D(E)) != unit))
459484 then true
460- else U("invalid assets"), if ((bu > height))
485+ else Z("invalid assets"), if ((bB > height))
461486 then true
462- else U("invalid height"), if ((bv == unit))
487+ else Z("invalid height"), if ((bC == unit))
463488 then true
464- else U("finalization in progress"), if ((bx > 0))
489+ else Z("finalization in progress"), if ((bE > 0))
465490 then true
466- else U("no vote")]
467- if ((bo == bo))
491+ else Z("no vote")]
492+ if ((bv == bv))
468493 then {
469- let bE = aF(B)
470- let R = toString(bd.caller)
471- $Tuple2(([IntegerEntry(F(bd.caller, i), max([(bw - bx), 0])), DeleteEntry(H(B, bd.caller, i)), IntegerEntry(J(B, i), (by - bx)), IntegerEntry(P(i), (bz - bx))] ++ aV(bE, R)), unit)
494+ let bL = aM(E)
495+ let W = toString(bk.caller)
496+ $Tuple2(([IntegerEntry(K(bk.caller, k), max([(bD - bE), 0])), DeleteEntry(M(E, bk.caller, k)), IntegerEntry(O(E, k), (bF - bE)), IntegerEntry(U(k), (bG - bE))] ++ bc(bL, W)), unit)
472497 }
473498 else throw("Strict value is not equal to itself.")
474499 }
475500
476501
477502
478-@Callable(bd)
479-func setEpochLength (bG) = {
480- let bo = [bf(bd), if ((bG > 0))
503+@Callable(bk)
504+func setEpochLength (bN) = {
505+ let bv = [bm(bk), if ((bN > 0))
481506 then true
482- else U("invalid epoch length")]
483- if ((bo == bo))
484- then $Tuple2([IntegerEntry(g, bG)], unit)
507+ else Z("invalid epoch length")]
508+ if ((bv == bv))
509+ then $Tuple2([IntegerEntry(i, bN)], unit)
485510 else throw("Strict value is not equal to itself.")
486511 }
487512
488513
489514
490-@Callable(bd)
491-func setMaxDepth (bH) = {
492- let bo = [bf(bd), if ((bH > 0))
515+@Callable(bk)
516+func setMaxDepth (bO) = {
517+ let bv = [bm(bk), if ((bO > 0))
493518 then true
494- else U("invalid max depth")]
495- if ((bo == bo))
496- then $Tuple2([IntegerEntry(k, bH)], unit)
519+ else Z("invalid max depth")]
520+ if ((bv == bv))
521+ then $Tuple2([IntegerEntry(m, bO)], unit)
497522 else throw("Strict value is not equal to itself.")
498523 }
499524
500525
501526
502-@Callable(bd)
503-func processVoteINTERNAL (bI,R) = {
504- let bJ = bg(bd)
505- if ((bJ == bJ))
527+@Callable(bk)
528+func processPoolBalanceINTERNAL (bP) = {
529+ let bQ = bn(bk)
530+ if ((bQ == bQ))
506531 then {
507- let bh = valueOrErrorMessage(addressFromString(R), S(("processVoteINTERNAL: invalid user address " + R)))
508- let i = ae(this, j)
509- let bK = (i - 1)
510- let bn = ae(this, f)
511- let bt = ae(this, y(i))
512- let bu = (bt + bn)
513- let bL = ae(this, y(bK))
514- let bM = ae(this, h(bK))
515- let bN = (bL + bM)
516- let bO = if ((bK >= 0))
532+ let k = aj(this, l)
533+ let bR = (k - 1)
534+ let E = al(bP)
535+ let bS = E
536+ let G = bS._1
537+ let H = bS._2
538+ let aG = aw(G, H)
539+ let bT = {
540+ let ai = invoke(an, "checkBalance", [aG], nil)
541+ if ($isInstanceOf(ai, "Boolean"))
542+ then ai
543+ else throw(($getType(ai) + " couldn't be cast to Boolean"))
544+ }
545+ let bU = !(valueOrElse(getBoolean(this, I(E, (bR - 1))), false))
546+ let bV = if (!(bT))
547+ then if (!(bU))
548+ then {
549+ let bW = invoke(an, "deleteWxEmissionPoolLabel", [G, H], nil)
550+ if ((bW == bW))
551+ then {
552+ let bX = invoke(an, "modifyWeight", [aG, 0], nil)
553+ if ((bX == bX))
554+ then {
555+ let bY = valueOrErrorMessage(au(G, H), X("invalid assets"))._1
556+ let bZ = 3
557+ let ca = invoke(an, "managePool", [toString(bY), bZ], nil)
558+ if ((ca == ca))
559+ then {
560+ let cb = ([DeleteEntry(D(E))] ++ bc(aL, ak(E)))
561+ ([IntegerEntry(S(E, bR), 0)] ++ cb)
562+ }
563+ else throw("Strict value is not equal to itself.")
564+ }
565+ else throw("Strict value is not equal to itself.")
566+ }
567+ else throw("Strict value is not equal to itself.")
568+ }
569+ else [BooleanEntry(I(E, bR), true)]
570+ else nil
571+ $Tuple2(bV, unit)
572+ }
573+ else throw("Strict value is not equal to itself.")
574+ }
575+
576+
577+
578+@Callable(bk)
579+func processVoteINTERNAL (bP,W) = {
580+ let bQ = bn(bk)
581+ if ((bQ == bQ))
582+ then {
583+ let bo = valueOrErrorMessage(addressFromString(W), X(("processVoteINTERNAL: invalid user address " + W)))
584+ let k = aj(this, l)
585+ let bR = (k - 1)
586+ let bu = aj(this, h)
587+ let bA = aj(this, B(k))
588+ let bB = (bA + bu)
589+ let cc = aj(this, B(bR))
590+ let cd = aj(this, j(bR))
591+ let ce = (cc + cd)
592+ let cf = if ((bR >= 0))
517593 then true
518- else U("processVoteINTERNAL: invalid previous epoch")
519- if ((bO == bO))
594+ else Z("processVoteINTERNAL: invalid previous epoch")
595+ if ((cf == cf))
520596 then {
521- let B = ag(bI)
522- let bP = B
523- let D = bP._1
524- let E = bP._2
525- let bD = aA(B)
526- let bA = {
527- let ad = invoke(this, "getUserGwxAmountAtHeight", [R, bu], nil)
528- if ($isInstanceOf(ad, "Int"))
529- then ad
530- else throw(($getType(ad) + " couldn't be cast to Int"))
597+ let E = al(bP)
598+ let cg = E
599+ let G = cg._1
600+ let H = cg._2
601+ let bH = {
602+ let ai = invoke(this, "getUserGwxAmountAtHeight", [W, bB], nil)
603+ if ($isInstanceOf(ai, "Int"))
604+ then ai
605+ else throw(($getType(ai) + " couldn't be cast to Int"))
531606 }
532- let bQ = {
533- let ad = invoke(this, "getUserGwxAmountAtHeight", [R, bN], nil)
534- if ($isInstanceOf(ad, "Int"))
535- then ad
536- else throw(($getType(ad) + " couldn't be cast to Int"))
607+ let ch = {
608+ let ai = invoke(this, "getUserGwxAmountAtHeight", [W, ce], nil)
609+ if ($isInstanceOf(ai, "Int"))
610+ then ai
611+ else throw(($getType(ai) + " couldn't be cast to Int"))
537612 }
538- let bz = valueOrElse(getInteger(P(i)), 0)
539- let bR = valueOrElse(getInteger(J(B, i)), 0)
540- let bS = valueOrErrorMessage(getInteger(H(B, bh, bK)), S((((("processVoteINTERNAL " + bI) + " ") + R) + ": no previous vote")))
541- let bw = valueOrElse(getInteger(this, F(bh, i)), 0)
542- let M = ap(D, E)
543- let bT = valueOrElse(getInteger(L(M, bK)), 0)
544- let bm = addressFromStringValue(ac(this, p))
545- let bU = valueOrElse(getInteger(bm, Q(M, R)), 0)
546- let bV = if ((bU == 0))
613+ let bG = valueOrElse(getInteger(U(k)), 0)
614+ let ci = valueOrElse(getInteger(O(E, k)), 0)
615+ let cj = valueOrErrorMessage(getInteger(M(E, bo, bR)), X((((("processVoteINTERNAL " + bP) + " ") + W) + ": no previous vote")))
616+ let bD = valueOrElse(getInteger(this, K(bo, k)), 0)
617+ let R = aw(G, H)
618+ let ck = valueOrElse(getInteger(Q(R, bR)), 0)
619+ let bt = addressFromStringValue(ah(this, s))
620+ let cl = valueOrElse(getInteger(bt, V(R, W)), 0)
621+ let cm = if ((cl == 0))
547622 then nil
548- else [IntegerEntry(L(M, bK), (bT + bS))]
549- let az = ap(D, E)
550- let bW = {
551- let ad = invoke(ai, "checkBalance", [az], nil)
552- if ($isInstanceOf(ad, "Boolean"))
553- then ad
554- else throw(($getType(ad) + " couldn't be cast to Boolean"))
555- }
556- let bC = if ((bQ > 0))
557- then fraction(bS, bA, bQ)
623+ else [IntegerEntry(Q(R, bR), (ck + cj))]
624+ let aG = aw(G, H)
625+ let bJ = if ((ch > 0))
626+ then fraction(cj, bH, ch)
558627 else 0
559- let bX = if (if (if ((bC > 0))
560- then bD
561- else false)
562- then bW
563- else false)
564- then [IntegerEntry(H(B, bh, i), bC), IntegerEntry(P(i), (bz + bC)), IntegerEntry(J(B, i), (bR + bC)), IntegerEntry(F(bh, i), (bw + bC))]
565- else aV(aF(B), R)
566- $Tuple2((bX ++ bV), unit)
628+ let bV = if ((bJ > 0))
629+ then [IntegerEntry(M(E, bo, k), bJ), IntegerEntry(U(k), (bG + bJ)), IntegerEntry(O(E, k), (ci + bJ)), IntegerEntry(K(bo, k), (bD + bJ))]
630+ else bc(aM(E), W)
631+ $Tuple2((bV ++ cm), unit)
567632 }
568633 else throw("Strict value is not equal to itself.")
569634 }
570635 else throw("Strict value is not equal to itself.")
571636 }
572637
573638
574639
575-@Callable(bd)
576-func processPoolINTERNAL (bI,bY) = {
577- let bJ = bg(bd)
578- if ((bJ == bJ))
640+@Callable(bk)
641+func processPoolINTERNAL (bP,cn) = {
642+ let bQ = bn(bk)
643+ if ((bQ == bQ))
579644 then {
580- let bZ = {
581- let ca = ae(this, j)
582- if (bY)
583- then ca
584- else (ca - 1)
645+ let co = {
646+ let cp = aj(this, l)
647+ if (cn)
648+ then cp
649+ else (cp - 1)
585650 }
586- let bO = if ((bZ >= 0))
651+ let cf = if ((co >= 0))
587652 then true
588- else U("processPoolINTERNAL: invalid target epoch")
589- if ((bO == bO))
653+ else Z("processPoolINTERNAL: invalid target epoch")
654+ if ((cf == cf))
590655 then {
591- let B = ag(bI)
592- let cb = B
593- let D = cb._1
594- let E = cb._2
595- let bm = addressFromStringValue(ac(this, p))
596- let az = ap(D, E)
597- let cc = {
598- let ad = invoke(bm, "usersListTraversal", [az], nil)
599- if ($isInstanceOf(ad, "Boolean"))
600- then ad
601- else throw(($getType(ad) + " couldn't be cast to Boolean"))
656+ let E = al(bP)
657+ let cq = E
658+ let G = cq._1
659+ let H = cq._2
660+ let bt = addressFromStringValue(ah(this, s))
661+ let aG = aw(G, H)
662+ let cr = {
663+ let ai = invoke(bt, "usersListTraversal", [aG], nil)
664+ if ($isInstanceOf(ai, "Boolean"))
665+ then ai
666+ else throw(($getType(ai) + " couldn't be cast to Boolean"))
602667 }
603- if ((cc == cc))
604- then if (cc)
668+ if ((cr == cr))
669+ then if (cr)
605670 then $Tuple2(nil, true)
606671 else {
607- let cd = addressFromStringValue(valueOrElse(getString(this, q), "invalid assets store contract"))
608- let bD = aA(B)
609- let bW = {
610- let ad = invoke(ai, "checkBalance", [az], nil)
611- if ($isInstanceOf(ad, "Boolean"))
612- then ad
613- else throw(($getType(ad) + " couldn't be cast to Boolean"))
614- }
615- let ce = {
616- let ad = invoke(cd, "isVerifiedREADONLY", [D], nil)
617- if ($isInstanceOf(ad, "Boolean"))
618- then ad
619- else throw(($getType(ad) + " couldn't be cast to Boolean"))
620- }
621- let cf = {
622- let ad = invoke(cd, "isVerifiedREADONLY", [E], nil)
623- if ($isInstanceOf(ad, "Boolean"))
624- then ad
625- else throw(($getType(ad) + " couldn't be cast to Boolean"))
626- }
627- let cg = if (if (if (if (!(bD))
628- then bW
629- else false)
630- then ce
631- else false)
632- then cf
633- else false)
634- then invoke(ai, "setWxEmissionPoolLabel", [D, E], nil)
635- else unit
636- if ((cg == cg))
637- then {
638- let bz = valueOrElse(getInteger(this, P(bZ)), 0)
639- let bR = valueOrElse(getInteger(this, J(B, bZ)), 0)
640- let ch = if (if (if ((bz == 0))
641- then true
642- else !(bD))
643- then true
644- else !(bW))
645- then 0
646- else fraction(bR, b, bz)
647- let ci = invoke(ai, "modifyWeight", [az, ch], nil)
648- if ((ci == ci))
649- then $Tuple2([IntegerEntry(N(B, bZ), ch)], false)
650- else throw("Strict value is not equal to itself.")
651- }
672+ let cs = addressFromStringValue(valueOrErrorMessage(getString(an, t), "invalid assets store contract"))
673+ let bG = valueOrElse(getInteger(this, U(co)), 0)
674+ let ci = valueOrElse(getInteger(this, O(E, co)), 0)
675+ let ct = if ((bG == 0))
676+ then 0
677+ else fraction(ci, b, bG)
678+ let bX = invoke(an, "modifyWeight", [aG, ct], nil)
679+ if ((bX == bX))
680+ then $Tuple2([IntegerEntry(S(E, co), ct)], false)
652681 else throw("Strict value is not equal to itself.")
653682 }
654683 else throw("Strict value is not equal to itself.")
655684 }
656685 else throw("Strict value is not equal to itself.")
657686 }
658687 else throw("Strict value is not equal to itself.")
659688 }
660689
661690
662691
663-@Callable(bd)
692+@Callable(bk)
664693 func finalizeHelper () = {
665- let bY = valueOrElse(getBoolean(x), false)
666- let i = valueOrElse(getInteger(this, j), 0)
667- let cj = (i - 1)
668- let bt = ae(this, y(i))
669- let bn = ae(this, f)
670- let bu = (bt + bn)
671- let bv = getInteger(this, r)
672- if (if (if ((height >= bu))
673- then (bv == unit)
694+ let cn = valueOrElse(getBoolean(A), false)
695+ let k = valueOrElse(getInteger(this, l), 0)
696+ let cu = (k - 1)
697+ let bA = aj(this, B(k))
698+ let bu = aj(this, h)
699+ let bB = (bA + bu)
700+ let bC = getInteger(this, u)
701+ if (if (if ((height >= bB))
702+ then (bC == unit)
674703 else false)
675- then !(bY)
704+ then !(cn)
676705 else false)
677706 then {
678- let ck = (i + 1)
679- let cl = getInteger(this, g)
680- let cm = {
681- let Z = cl
682- if ($isInstanceOf(Z, "Int"))
707+ let cv = (k + 1)
708+ let cw = getInteger(this, i)
709+ let cx = {
710+ let ae = cw
711+ if ($isInstanceOf(ae, "Int"))
683712 then {
684- let bG = Z
685-[IntegerEntry(f, bG), DeleteEntry(g)]
713+ let bN = ae
714+[IntegerEntry(h, bN), DeleteEntry(i)]
686715 }
687- else if ($isInstanceOf(Z, "Unit"))
716+ else if ($isInstanceOf(ae, "Unit"))
688717 then nil
689718 else throw("Match error")
690719 }
691- $Tuple2(([IntegerEntry(y(ck), height), IntegerEntry(u, height), IntegerEntry(j, ck), IntegerEntry(r, d), IntegerEntry(h(i), bn)] ++ cm), true)
720+ $Tuple2(([IntegerEntry(B(cv), height), IntegerEntry(x, height), IntegerEntry(l, cv), IntegerEntry(u, d), IntegerEntry(j(k), bu)] ++ cx), true)
692721 }
693- else if (if (bY)
694- then (bv == unit)
722+ else if (if (cn)
723+ then (bC == unit)
695724 else false)
696- then $Tuple2([IntegerEntry(r, e)], true)
697- else if ((bv == unit))
725+ then $Tuple2([IntegerEntry(u, f)], true)
726+ else if ((bC == unit))
698727 then $Tuple2(nil, false)
699- else if ((bv == d))
728+ else if ((bC == d))
700729 then {
701- let cn = getString(s)
702- let co = getString(t)
703- let Z = cn
704- if ($isInstanceOf(Z, "Unit"))
730+ let cy = getString(v)
731+ let ae = cy
732+ if ($isInstanceOf(ae, "Unit"))
705733 then {
706- let cp = getString(aH(aE))
707- if ($isInstanceOf(cp, "Unit"))
708- then $Tuple2([IntegerEntry(r, e), DeleteEntry(s), DeleteEntry(t)], true)
709- else if ($isInstanceOf(cp, "String"))
734+ let cz = getString(aO(aL))
735+ if ($isInstanceOf(cz, "Unit"))
736+ then $Tuple2([IntegerEntry(u, e), DeleteEntry(v)], true)
737+ else if ($isInstanceOf(cz, "String"))
710738 then {
711- let cq = cp
712- $Tuple2([StringEntry(s, cq)], true)
739+ let cA = cz
740+ $Tuple2([StringEntry(v, cA)], true)
713741 }
714742 else throw("Match error")
715743 }
716- else if ($isInstanceOf(Z, "String"))
744+ else if ($isInstanceOf(ae, "String"))
717745 then {
718- let bI = Z
719- let B = ag(bI)
720- let cr = {
721- let cp = co
722- if ($isInstanceOf(cp, "Unit"))
723- then getString(aH(aF(B)))
724- else if ($isInstanceOf(cp, "String"))
746+ let bP = ae
747+ let cB = getString(aU(aL, bP))
748+ if ((cB == cB))
749+ then {
750+ let cr = invoke(this, "processPoolBalanceINTERNAL", [bP], nil)
751+ if ((cr == cr))
725752 then {
726- let cs = cp
727- let ct = getString(aN(aF(B), cs))
728- if ((ct == ct))
753+ let cz = cB
754+ if ($isInstanceOf(cz, "Unit"))
755+ then $Tuple2([IntegerEntry(u, e), DeleteEntry(v)], true)
756+ else if ($isInstanceOf(cz, "String"))
757+ then {
758+ let cA = cz
759+ $Tuple2([StringEntry(v, cA)], true)
760+ }
761+ else throw("Match error")
762+ }
763+ else throw("Strict value is not equal to itself.")
764+ }
765+ else throw("Strict value is not equal to itself.")
766+ }
767+ else throw("Match error")
768+ }
769+ else if ((bC == e))
770+ then {
771+ let cy = getString(v)
772+ let cC = getString(w)
773+ let ae = cy
774+ if ($isInstanceOf(ae, "Unit"))
775+ then {
776+ let cz = getString(aO(aL))
777+ if ($isInstanceOf(cz, "Unit"))
778+ then $Tuple2([IntegerEntry(u, f), DeleteEntry(v), DeleteEntry(w)], true)
779+ else if ($isInstanceOf(cz, "String"))
780+ then {
781+ let cD = cz
782+ $Tuple2([StringEntry(v, cD)], true)
783+ }
784+ else throw("Match error")
785+ }
786+ else if ($isInstanceOf(ae, "String"))
787+ then {
788+ let bP = ae
789+ let E = al(bP)
790+ let cE = {
791+ let cz = cC
792+ if ($isInstanceOf(cz, "Unit"))
793+ then getString(aO(aM(E)))
794+ else if ($isInstanceOf(cz, "String"))
795+ then {
796+ let cF = cz
797+ let cG = getString(aU(aM(E), cF))
798+ if ((cG == cG))
799+ then {
800+ let cH = invoke(this, "processVoteINTERNAL", [bP, cF], nil)
801+ if ((cH == cH))
802+ then cG
803+ else throw("Strict value is not equal to itself.")
804+ }
805+ else throw("Strict value is not equal to itself.")
806+ }
807+ else throw("Match error")
808+ }
809+ let cz = cE
810+ if ($isInstanceOf(cz, "Unit"))
811+ then {
812+ let cB = getString(aU(aL, bP))
813+ let cI = cB
814+ if ($isInstanceOf(cI, "Unit"))
815+ then $Tuple2([IntegerEntry(u, f), DeleteEntry(v), DeleteEntry(w)], true)
816+ else if ($isInstanceOf(cI, "String"))
729817 then {
730- let cu = invoke(this, "processVoteINTERNAL", [bI, cs], nil)
731- if ((cu == cu))
732- then ct
733- else throw("Strict value is not equal to itself.")
818+ let bg = cI
819+ $Tuple2([StringEntry(v, bg), DeleteEntry(w)], true)
734820 }
735- else throw("Strict value is not equal to itself.")
821+ else throw("Match error")
822+ }
823+ else if ($isInstanceOf(cz, "String"))
824+ then {
825+ let cJ = cz
826+ $Tuple2([StringEntry(w, cJ)], true)
736827 }
737828 else throw("Match error")
738829 }
739- let cp = cr
740- if ($isInstanceOf(cp, "Unit"))
830+ else throw("Match error")
831+ }
832+ else if ((bC == f))
833+ then {
834+ let cy = getString(v)
835+ let ae = cy
836+ if ($isInstanceOf(ae, "Unit"))
837+ then {
838+ let cz = getString(aO(aL))
839+ if ($isInstanceOf(cz, "Unit"))
840+ then {
841+ let bV = if (cn)
842+ then [DeleteEntry(u), DeleteEntry(A)]
843+ else [DeleteEntry(u), BooleanEntry(C(cu), true), IntegerEntry(y, k), IntegerEntry(z, bA)]
844+ let cK = aJ()
845+ if ((cK == cK))
846+ then $Tuple2(bV, true)
847+ else throw("Strict value is not equal to itself.")
848+ }
849+ else if ($isInstanceOf(cz, "String"))
850+ then {
851+ let cA = cz
852+ $Tuple2([StringEntry(v, cA)], true)
853+ }
854+ else throw("Match error")
855+ }
856+ else if ($isInstanceOf(ae, "String"))
741857 then {
742- let cv = getString(aN(aE, bI))
743- let cw = cv
744- if ($isInstanceOf(cw, "Unit"))
745- then $Tuple2([IntegerEntry(r, e), DeleteEntry(s), DeleteEntry(t)], true)
746- else if ($isInstanceOf(cw, "String"))
747- then {
748- let aZ = cw
749- $Tuple2([StringEntry(s, aZ), DeleteEntry(t)], true)
858+ let bP = ae
859+ let cB = getString(aU(aL, bP))
860+ if ((cB == cB))
861+ then {
862+ let cr = {
863+ let ai = invoke(this, "processPoolINTERNAL", [bP, cn], nil)
864+ if ($isInstanceOf(ai, "Boolean"))
865+ then ai
866+ else throw(($getType(ai) + " couldn't be cast to Boolean"))
750867 }
751- else throw("Match error")
752- }
753- else if ($isInstanceOf(cp, "String"))
754- then {
755- let cx = cp
756- $Tuple2([StringEntry(t, cx)], true)
757- }
758- else throw("Match error")
759- }
760- else throw("Match error")
761- }
762- else if ((bv == e))
763- then {
764- let cn = getString(s)
765- let Z = cn
766- if ($isInstanceOf(Z, "Unit"))
767- then {
768- let cp = getString(aH(aE))
769- if ($isInstanceOf(cp, "Unit"))
770- then {
771- let bX = if (bY)
772- then [DeleteEntry(r), DeleteEntry(x)]
773- else [DeleteEntry(r), BooleanEntry(z(cj), true), IntegerEntry(v, i), IntegerEntry(w, bt)]
774- let cy = aC()
775- if ((cy == cy))
776- then $Tuple2(bX, true)
868+ if ((cr == cr))
869+ then if (cr)
870+ then $Tuple2(nil, true)
871+ else {
872+ let cz = cB
873+ if ($isInstanceOf(cz, "Unit"))
874+ then {
875+ let bV = if (cn)
876+ then [DeleteEntry(u), DeleteEntry(A), DeleteEntry(v)]
877+ else [DeleteEntry(u), BooleanEntry(C(cu), true), IntegerEntry(y, k), IntegerEntry(z, bA), DeleteEntry(v)]
878+ let cK = aJ()
879+ if ((cK == cK))
880+ then $Tuple2(bV, true)
881+ else throw("Strict value is not equal to itself.")
882+ }
883+ else if ($isInstanceOf(cz, "String"))
884+ then {
885+ let cA = cz
886+ $Tuple2([StringEntry(v, cA)], true)
887+ }
888+ else throw("Match error")
889+ }
890+ else throw("Strict value is not equal to itself.")
891+ }
777892 else throw("Strict value is not equal to itself.")
778893 }
779- else if ($isInstanceOf(cp, "String"))
780- then {
781- let cz = cp
782- $Tuple2([StringEntry(s, cz)], true)
783- }
784- else throw("Match error")
785- }
786- else if ($isInstanceOf(Z, "String"))
787- then {
788- let bI = Z
789- let cv = getString(aN(aE, bI))
790- if ((cv == cv))
791- then {
792- let cc = {
793- let ad = invoke(this, "processPoolINTERNAL", [bI, bY], nil)
794- if ($isInstanceOf(ad, "Boolean"))
795- then ad
796- else throw(($getType(ad) + " couldn't be cast to Boolean"))
797- }
798- if ((cc == cc))
799- then if (cc)
800- then $Tuple2(nil, true)
801- else {
802- let cp = cv
803- if ($isInstanceOf(cp, "Unit"))
804- then {
805- let bX = if (bY)
806- then [DeleteEntry(r), DeleteEntry(x), DeleteEntry(s)]
807- else [DeleteEntry(r), BooleanEntry(z(cj), true), IntegerEntry(v, i), IntegerEntry(w, bt), DeleteEntry(s)]
808- let cy = aC()
809- if ((cy == cy))
810- then $Tuple2(bX, true)
811- else throw("Strict value is not equal to itself.")
812- }
813- else if ($isInstanceOf(cp, "String"))
814- then {
815- let cz = cp
816- $Tuple2([StringEntry(s, cz)], true)
817- }
818- else throw("Match error")
819- }
820- else throw("Strict value is not equal to itself.")
821- }
822- else throw("Strict value is not equal to itself.")
823- }
824- else throw("Match error")
825- }
826- else U("finalization is broken")
894+ else throw("Match error")
895+ }
896+ else Z("finalization is broken")
827897 }
828898
829899
830900
831-@Callable(bd)
832-func finalizeWrapper (cA) = {
833- let cB = addressFromStringValue(getStringValue(this, m))
834- let cC = {
835- let ad = invoke(this, "finalizeHelper", nil, nil)
836- if ($isInstanceOf(ad, "Boolean"))
837- then ad
838- else throw(($getType(ad) + " couldn't be cast to Boolean"))
901+@Callable(bk)
902+func finalizeWrapper (cL) = {
903+ let cM = addressFromStringValue(getStringValue(this, p))
904+ let cN = {
905+ let ai = invoke(this, "finalizeHelper", nil, nil)
906+ if ($isInstanceOf(ai, "Boolean"))
907+ then ai
908+ else throw(($getType(ai) + " couldn't be cast to Boolean"))
839909 }
840- if ((cC == cC))
841- then if (!(cC))
842- then if ((cA == 0))
843- then U("Current voting is not over yet")
910+ if ((cN == cN))
911+ then if (!(cN))
912+ then if ((cL == 0))
913+ then Z("Current voting is not over yet")
844914 else {
845- let cD = invoke(cB, "finalize", nil, nil)
846- if ((cD == cD))
915+ let cO = invoke(cM, "finalize", nil, nil)
916+ if ((cO == cO))
847917 then $Tuple2(nil, unit)
848918 else throw("Strict value is not equal to itself.")
849919 }
850920 else {
851- let cE = valueOrElse(getInteger(this, k), c)
852- if ((cE > cA))
921+ let cP = valueOrElse(getInteger(this, m), c)
922+ if ((cP > cL))
853923 then {
854- let cD = invoke(this, "finalizeWrapper", [(cA + 1)], nil)
855- if ((cD == cD))
924+ let cO = invoke(this, "finalizeWrapper", [(cL + 1)], nil)
925+ if ((cO == cO))
856926 then $Tuple2(nil, unit)
857927 else throw("Strict value is not equal to itself.")
858928 }
859929 else $Tuple2(nil, unit)
860930 }
861931 else throw("Strict value is not equal to itself.")
862932 }
863933
864934
865935
866-@Callable(bd)
936+@Callable(bk)
867937 func finalize () = {
868- let cD = invoke(this, "finalizeWrapper", [0], nil)
869- if ((cD == cD))
938+ let cO = invoke(this, "finalizeWrapper", [0], nil)
939+ if ((cO == cO))
870940 then $Tuple2(nil, unit)
871941 else throw("Strict value is not equal to itself.")
872942 }
873943
874944
875945
876-@Callable(bd)
877-func containsNodeREADONLY (aI,aM) = $Tuple2(nil, aO(aI, aM))
946+@Callable(bk)
947+func containsNodeREADONLY (aP,aT) = $Tuple2(nil, aV(aP, aT))
878948
879949
880950
881-@Callable(bd)
882-func insertNode (aI,aM) = {
883- let bJ = bf(bd)
884- if ((bJ == bJ))
885- then $Tuple2(aS(aI, aM), unit)
951+@Callable(bk)
952+func insertNode (aP,aT) = {
953+ let bQ = bm(bk)
954+ if ((bQ == bQ))
955+ then $Tuple2(aZ(aP, aT), unit)
886956 else throw("Strict value is not equal to itself.")
887957 }
888958
889959
890960
891-@Callable(bd)
892-func deleteNode (aI,aM) = {
893- let bJ = bf(bd)
894- if ((bJ == bJ))
895- then $Tuple2(aV(aI, aM), unit)
961+@Callable(bk)
962+func deleteNode (aP,aT) = {
963+ let bQ = bm(bk)
964+ if ((bQ == bQ))
965+ then $Tuple2(bc(aP, aT), unit)
896966 else throw("Strict value is not equal to itself.")
897967 }
898968
899969
900970
901-@Callable(bd)
971+@Callable(bk)
902972 func isFinalizationInProgress () = {
903- let bv = getInteger(this, r)
904- let cF = (bv != unit)
905- $Tuple2(nil, cF)
973+ let bC = getInteger(this, u)
974+ let cQ = (bC != unit)
975+ $Tuple2(nil, cQ)
906976 }
907977
908978
909979
910-@Callable(bd)
911-func deletePool (D,E) = {
912- let bJ = if (if ((bd.caller == ai))
980+@Callable(bk)
981+func deletePool (G,H) = {
982+ let bQ = if (if ((bk.caller == an))
913983 then true
914- else bf(bd))
984+ else bm(bk))
915985 then true
916- else U("Permission denied")
917- if ((bJ == bJ))
986+ else Z("Permission denied")
987+ if ((bQ == bQ))
918988 then {
919- let aI = "pools"
920- let B = $Tuple2(D, E)
921- let aM = makeString([D, E], a)
922- let bX = if (aO(aI, aM))
923- then aV(aI, aM)
989+ let aP = "pools"
990+ let E = $Tuple2(G, H)
991+ let aT = makeString([G, H], a)
992+ let bV = if (aV(aP, aT))
993+ then bc(aP, aT)
924994 else nil
925- ([DeleteEntry(A(B))] ++ bX)
995+ ([DeleteEntry(D(E))] ++ bV)
926996 }
927997 else throw("Strict value is not equal to itself.")
928998 }
929999
9301000
931-@Verifier(cG)
932-func cH () = {
933- let cI = {
934- let Z = ba()
935- if ($isInstanceOf(Z, "ByteVector"))
1001+
1002+@Callable(bk)
1003+func resume (G,H) = {
1004+ let aG = aw(G, H)
1005+ let cR = {
1006+ let ai = invoke(an, "checkBalance", [aG], nil)
1007+ if ($isInstanceOf(ai, "Boolean"))
1008+ then ai
1009+ else throw(($getType(ai) + " couldn't be cast to Boolean"))
1010+ }
1011+ let cS = bk.payments[0]
1012+ let cs = addressFromStringValue(getStringValue(this, t))
1013+ let cT = "%s__config"
1014+ let cU = 1
1015+ let bs = addressFromStringValue(ah(this, r))
1016+ let cV = fromBase58String(split(getStringValue(bs, cT), a)[cU])
1017+ let cW = {
1018+ let ai = invoke(cs, "isVerifiedREADONLY", [G], nil)
1019+ if ($isInstanceOf(ai, "Boolean"))
1020+ then ai
1021+ else throw(($getType(ai) + " couldn't be cast to Boolean"))
1022+ }
1023+ let cX = {
1024+ let ai = invoke(cs, "isVerifiedREADONLY", [H], nil)
1025+ if ($isInstanceOf(ai, "Boolean"))
1026+ then ai
1027+ else throw(($getType(ai) + " couldn't be cast to Boolean"))
1028+ }
1029+ let cY = valueOrElse(getInteger(this, n), g)
1030+ let bv = [if (cR)
1031+ then true
1032+ else Z("insufficient balances"), if ((size(bk.payments) == 1))
1033+ then true
1034+ else Z("1 payment is required"), if ((cS.assetId == cV))
1035+ then true
1036+ else Z("invalid payment asset id"), if ((cS.amount == cY))
1037+ then true
1038+ else Z("invalid payment amount"), if (if (cW)
1039+ then cX
1040+ else false)
1041+ then true
1042+ else Z("both assets should be verified")]
1043+ if ((bv == bv))
1044+ then {
1045+ let E = $Tuple2(G, H)
1046+ let bw = ([BooleanEntry(D(E), true)] ++ aZ(aL, ak(E)))
1047+ $Tuple2(bw, unit)
1048+ }
1049+ else throw("Strict value is not equal to itself.")
1050+ }
1051+
1052+
1053+@Verifier(cZ)
1054+func da () = {
1055+ let db = {
1056+ let ae = bh()
1057+ if ($isInstanceOf(ae, "ByteVector"))
9361058 then {
937- let be = Z
938- be
1059+ let bl = ae
1060+ bl
9391061 }
940- else if ($isInstanceOf(Z, "Unit"))
941- then cG.senderPublicKey
1062+ else if ($isInstanceOf(ae, "Unit"))
1063+ then cZ.senderPublicKey
9421064 else throw("Match error")
9431065 }
944- sigVerify(cG.bodyBytes, cG.proofs[0], cI)
1066+ sigVerify(cZ.bodyBytes, cZ.proofs[0], db)
9451067 }
9461068

github/deemru/w8io/6500d08 
360.89 ms