tx · FpMcHXZKes1tdv5PDmm3WTWjR1gUqfVCZYoVgmH6Y5DW
3N4ziXSMRverXyxHDUKKMR9MHXnB3TyU3Yh: -0.01000000 Waves
2023.05.17 10:30 [2581655] smart account 3N4ziXSMRverXyxHDUKKMR9MHXnB3TyU3Yh > SELF 0.00000000 Waves
{
"type": 13,
"id": "FpMcHXZKes1tdv5PDmm3WTWjR1gUqfVCZYoVgmH6Y5DW",
"fee": 1000000,
"feeAssetId": null,
"timestamp": 1684308612823,
"version": 2,
"chainId": 84,
"sender": "3N4ziXSMRverXyxHDUKKMR9MHXnB3TyU3Yh",
"senderPublicKey": "EU9obW1yVhR8qug3EmXPeew3DMagvJFQzY5Ku8bmcsU7",
"proofs": [
"5thfTcSanXEW1kYR3XgQUmQLhPXpChZnR3YeB9JCVGSoDLgGkdSnM7EguFPWzVtawuedhUHyBafdfQ9uU14az3sT"
],
"script": "base64:BgIfCAISBwoFCAgIAQESABIDCgEBEgASAwoBARIECgIICBkACXNlcGFyYXRvcgICX18ADmtleUVwb2NoTGVuZ3RoCQC5CQIJAMwIAgICJXMJAMwIAgILZXBvY2hMZW5ndGgFA25pbAUJc2VwYXJhdG9yABNrZXlFbWlzc2lvbkNvbnRyYWN0CQC5CQIJAMwIAgICJXMJAMwIAgIQZW1pc3Npb25Db250cmFjdAUDbmlsBQlzZXBhcmF0b3IAE2tleUJvb3N0aW5nQ29udHJhY3QJALkJAgkAzAgCAgIlcwkAzAgCAhBib29zdGluZ0NvbnRyYWN0BQNuaWwFCXNlcGFyYXRvcgAMa2V5VGhyZXNob2xkCQC5CQIJAMwIAgICJXMJAMwIAgIPdm90aW5nVGhyZXNob2xkBQNuaWwFCXNlcGFyYXRvcgAPa2V5UmF0ZVBlckJsb2NrCQC5CQIJAMwIAgIEJXMlcwkAzAgCAgxyYXRlUGVyQmxvY2sJAMwIAgIHY3VycmVudAUDbmlsBQlzZXBhcmF0b3IAEmtleVJhdGVQZXJCbG9ja01heAkAuQkCCQDMCAICBCVzJXMJAMwIAgIPcmF0ZVBlckJsb2NrTWF4CQDMCAICB2N1cnJlbnQFA25pbAUJc2VwYXJhdG9yABFrZXlSYXRlQ2hhbmdlU3RlcAkAuQkCCQDMCAICAiVzCQDMCAICDnJhdGVDaGFuZ2VTdGVwBQNuaWwFCXNlcGFyYXRvcgEPZ2V0U3RyaW5nT3JGYWlsAQNrZXkJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQR0aGlzBQNrZXkJAKwCAgUDa2V5Ag8gaXMgbm90IGRlZmluZWQBDGdldEludE9yRmFpbAEDa2V5CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUEdGhpcwUDa2V5CQCsAgIFA2tleQIPIGlzIG5vdCBkZWZpbmVkAQ5rZXlTdGFydEhlaWdodAAJALkJAgkAzAgCAgIlcwkAzAgCAgtzdGFydEhlaWdodAUDbmlsBQlzZXBhcmF0b3IBD2tleVZvdGluZ1Jlc3VsdAAJALkJAgkAzAgCAgIlcwkAzAgCAgx2b3RpbmdSZXN1bHQFA25pbAUJc2VwYXJhdG9yAQp0b3RhbFZvdGVzAw10b3RhbEluY3JlYXNlCXRvdGFsTm9uZQ10b3RhbERlY3JlYXNlCQC5CQIJAMwIAgIGJWQlZCVkCQDMCAIFDXRvdGFsSW5jcmVhc2UJAMwIAgUJdG90YWxOb25lCQDMCAIFDXRvdGFsRGVjcmVhc2UFA25pbAUJc2VwYXJhdG9yAQdrZXlWb3RlAQx2b3RlckFkZHJlc3MJALkJAgkAzAgCAgQlcyVzCQDMCAICBHZvdGUJAMwIAgUMdm90ZXJBZGRyZXNzBQNuaWwFCXNlcGFyYXRvcgEMa2V5Vm90ZVZhbHVlAglnd3hBbW91bnQEdm90ZQQDa2V5AwkAAAIFBHZvdGUAAQkAuQkCCQDMCAICBCVkJXMJAMwIAgUJZ3d4QW1vdW50CQDMCAICCGluY3JlYXNlBQNuaWwFCXNlcGFyYXRvcgMJAAACBQR2b3RlAP///////////wEJALkJAgkAzAgCAgQlZCVzCQDMCAIFCWd3eEFtb3VudAkAzAgCAghkZWNyZWFzZQUDbmlsBQlzZXBhcmF0b3IJALkJAgkAzAgCAgQlZCVzCQDMCAIFCWd3eEFtb3VudAkAzAgCAgRub25lBQNuaWwFCXNlcGFyYXRvcgUDa2V5ABBib29zdGluZ0NvbnRyYWN0CQERQGV4dHJOYXRpdmUoMTA2MikBCQEPZ2V0U3RyaW5nT3JGYWlsAQUTa2V5Qm9vc3RpbmdDb250cmFjdAAQZW1pc3Npb25Db250cmFjdAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBD2dldFN0cmluZ09yRmFpbAEFE2tleUVtaXNzaW9uQ29udHJhY3QBE2tleU1hbmFnZXJQdWJsaWNLZXkAAhQlc19fbWFuYWdlclB1YmxpY0tleQEWa2V5TWFuYWdlclZhdWx0QWRkcmVzcwACFyVzX19tYW5hZ2VyVmF1bHRBZGRyZXNzARxnZXRNYW5hZ2VyVmF1bHRBZGRyZXNzT3JUaGlzAAQHJG1hdGNoMAkAoggBCQEWa2V5TWFuYWdlclZhdWx0QWRkcmVzcwADCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQERQGV4dHJOYXRpdmUoMTA2MikBBQFzBQR0aGlzARZtYW5hZ2VyUHVibGljS2V5T3JVbml0AAQTbWFuYWdlclZhdWx0QWRkcmVzcwkBHGdldE1hbmFnZXJWYXVsdEFkZHJlc3NPclRoaXMABAckbWF0Y2gwCQCdCAIFE21hbmFnZXJWYXVsdEFkZHJlc3MJARNrZXlNYW5hZ2VyUHVibGljS2V5AAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAJANkEAQUBcwMJAAECBQckbWF0Y2gwAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IBCWlzTWFuYWdlcgEBaQQHJG1hdGNoMAkBFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQAAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAnBrBQckbWF0Y2gwCQAAAggFAWkPY2FsbGVyUHVibGljS2V5BQJwawMJAAECBQckbWF0Y2gwAgRVbml0CQAAAggFAWkGY2FsbGVyBQR0aGlzCQACAQILTWF0Y2ggZXJyb3IBC211c3RNYW5hZ2VyAQFpAwkBCWlzTWFuYWdlcgEFAWkGCQACAQIRcGVybWlzc2lvbiBkZW5pZWQBBWFzSW50AQN2YWwEByRtYXRjaDAFA3ZhbAMJAAECBQckbWF0Y2gwAgNJbnQEBnZhbEludAUHJG1hdGNoMAUGdmFsSW50CQACAQIbZmFpbGVkIHRvIGNhc3QgaW50byBJbnRlZ2VyAQtjYWxjTmV3UmF0ZQMPcmF0ZVBlckJsb2NrTWF4DHJhdGVQZXJCbG9jawpjaGFuZ2VTdGVwBAptYXhBbGxvd2VkCQBrAwBkBQ9yYXRlUGVyQmxvY2tNYXgAeAQNaW5jcmVhc2VkUmF0ZQkAlwMBCQDMCAIJAGsDCQBkAgBkBQpjaGFuZ2VTdGVwBQxyYXRlUGVyQmxvY2sAZAkAzAgCBQptYXhBbGxvd2VkBQNuaWwEDWRlY3JlYXNlZFJhdGUJAJYDAQkAzAgCCQBrAwkAZQIAZAUKY2hhbmdlU3RlcAUMcmF0ZVBlckJsb2NrAGQJAMwIAgAABQNuaWwJAJUKAwUNaW5jcmVhc2VkUmF0ZQUMcmF0ZVBlckJsb2NrBQ1kZWNyZWFzZWRSYXRlBgFpAQtjb25zdHJ1Y3RvcgUTYm9vc3RpbmdDb250cmFjdFBybRNlbWlzc2lvbkNvbnRyYWN0UHJtEmZhY3RvcnlDb250cmFjdFBybRF2b3RpbmdEdXJhdGlvblBybQl0aHJlc2hvbGQEBmNoZWNrcwkAzAgCAwkBCWlzRGVmaW5lZAEJAKYIAQUTYm9vc3RpbmdDb250cmFjdFBybQYJAAIBAiFJbnZhbGlkIGJvb3N0aW5nIGNvbnRyYWN0IGFkZHJlc3MJAMwIAgMJAQlpc0RlZmluZWQBCQCmCAEFE2VtaXNzaW9uQ29udHJhY3RQcm0GCQACAQIhSW52YWxpZCBlbWlzc2lvbiBjb250cmFjdCBhZGRyZXNzCQDMCAIDCQBmAgURdm90aW5nRHVyYXRpb25Qcm0AAAYJAAIBAhdJbnZhbGlkIHZvdGluZyBkdXJhdGlvbgkAzAgCAwkAZgIFCXRocmVzaG9sZAAABgkAAgECEWludmFsaWQgdGhyZXNob2xkBQNuaWwDCQAAAgUGY2hlY2tzBQZjaGVja3MJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBRNrZXlCb29zdGluZ0NvbnRyYWN0BRNib29zdGluZ0NvbnRyYWN0UHJtCQDMCAIJAQtTdHJpbmdFbnRyeQIFE2tleUVtaXNzaW9uQ29udHJhY3QFE2VtaXNzaW9uQ29udHJhY3RQcm0JAMwIAgkBDEludGVnZXJFbnRyeQIFDmtleUVwb2NoTGVuZ3RoBRF2b3RpbmdEdXJhdGlvblBybQkAzAgCCQEMSW50ZWdlckVudHJ5AgUMa2V5VGhyZXNob2xkBQl0aHJlc2hvbGQFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARxnZXRSYXRlQ2hhbmdlQW1vdW50c1JFQURPTkxZAAQPcmF0ZVBlckJsb2NrTWF4CQERQGV4dHJOYXRpdmUoMTA1MCkCBRBlbWlzc2lvbkNvbnRyYWN0BRJrZXlSYXRlUGVyQmxvY2tNYXgEDHJhdGVQZXJCbG9jawkBEUBleHRyTmF0aXZlKDEwNTApAgUQZW1pc3Npb25Db250cmFjdAUPa2V5UmF0ZVBlckJsb2NrBA5yYXRlQ2hhbmdlU3RlcAkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwURa2V5UmF0ZUNoYW5nZVN0ZXAJAJQKAgUDbmlsCQELY2FsY05ld1JhdGUDBQ9yYXRlUGVyQmxvY2tNYXgFDHJhdGVQZXJCbG9jawUOcmF0ZUNoYW5nZVN0ZXABaQEEdm90ZQEHaW5GYXZvcgQSdm90aW5nRmluaXNoSGVpZ2h0CQBkAgkBBXZhbHVlAQkAnwgBCQEOa2V5U3RhcnRIZWlnaHQACQEFdmFsdWUBCQCfCAEFDmtleUVwb2NoTGVuZ3RoBAZjaGVja3MJAMwIAgMJAGYCBRJ2b3RpbmdGaW5pc2hIZWlnaHQFBmhlaWdodAYJAAIBAhB0b28gbGF0ZSB0byB2b3RlCQDMCAIDCQEPY29udGFpbnNFbGVtZW50AgkAzAgCAAEJAMwIAgAACQDMCAIA////////////AQUDbmlsBQdpbkZhdm9yBgkAAgECEm5vdCB2YWxpZCBhcmd1bWVudAUDbmlsAwkAAAIFBmNoZWNrcwUGY2hlY2tzBAlnd3hBbW91bnQJAPwHBAUQYm9vc3RpbmdDb250cmFjdAIgZ2V0VXNlckd3eEFtb3VudEF0SGVpZ2h0UkVBRE9OTFkJAMwIAgkApQgBCAUBaQZjYWxsZXIJAMwIAgUSdm90aW5nRmluaXNoSGVpZ2h0BQNuaWwFA25pbAQHbm90WmVybwMJAGYCCQEFYXNJbnQBBQlnd3hBbW91bnQAAAYJAAIBAhJ5b3UgZG9uJ3QgaGF2ZSBnd3gDCQAAAgUHbm90WmVybwUHbm90WmVybwQEdm90ZQQHJG1hdGNoMAkAoggBCQEHa2V5Vm90ZQEJAKUIAQgFAWkGY2FsbGVyAwkAAQIFByRtYXRjaDACBlN0cmluZwQBcwUHJG1hdGNoMAQEdm90ZQkAtQkCBQFzBQlzZXBhcmF0b3IECXZvdGVWYWx1ZQkAkQMCBQR2b3RlAAEECHZvdGVUeXBlCQCRAwIFBHZvdGUAAgQRaXNWb3RlVHlwZVNpbWlsYXIDAwMJAAACBQh2b3RlVHlwZQIIaW5jcmVhc2UJAAACBQdpbkZhdm9yAAEHBgMJAAACBQh2b3RlVHlwZQIIZGVjcmVhc2UJAAACBQdpbkZhdm9yAP///////////wEHBgMJAAACBQh2b3RlVHlwZQIEbm9uZQkAAAIFB2luRmF2b3IAAAcEEmlzVm90ZVZhbHVlU2ltaWxhcgMFEWlzVm90ZVR5cGVTaW1pbGFyCQAAAgkBBWFzSW50AQUJZ3d4QW1vdW50CQENcGFyc2VJbnRWYWx1ZQEFCXZvdGVWYWx1ZQcEEGlzTmV3Vm90ZVNpbWlsYXIDAwURaXNWb3RlVHlwZVNpbWlsYXIFEmlzVm90ZVZhbHVlU2ltaWxhcgcJAAIBAhF5b3UgYWxyZWFkeSB2b3RlZAkA/AcEBQR0aGlzAgpjYW5jZWxWb3RlBQNuaWwFA25pbAUQaXNOZXdWb3RlU2ltaWxhcgMJAAECBQckbWF0Y2gwAgRVbml0BAF1BQckbWF0Y2gwBQF1CQACAQILTWF0Y2ggZXJyb3IDCQAAAgUEdm90ZQUEdm90ZQQMdm90aW5nUmVzdWx0CQC1CQIJAQV2YWx1ZQEJAKIIAQkBD2tleVZvdGluZ1Jlc3VsdAAFCXNlcGFyYXRvcgQPdm90ZXNUb0luY3JlYXNlCQCRAwIFDHZvdGluZ1Jlc3VsdAABBAt2b3Rlc1RvTm9uZQkAkQMCBQx2b3RpbmdSZXN1bHQAAgQPdm90ZXNUb0RlY3JlYXNlCQCRAwIFDHZvdGluZ1Jlc3VsdAADBBtuZXdQb3NpdGl2ZUFuZE5lZ2F0aXZlVm90ZXMDCQAAAgUHaW5GYXZvcgABBBBuZXdQb3NpdGl2ZVZvdGVzCQBkAgkBDXBhcnNlSW50VmFsdWUBBQ92b3Rlc1RvSW5jcmVhc2UJAQVhc0ludAEFCWd3eEFtb3VudAkAzAgCCQCkAwEFEG5ld1Bvc2l0aXZlVm90ZXMJAMwIAgULdm90ZXNUb05vbmUJAMwIAgUPdm90ZXNUb0RlY3JlYXNlBQNuaWwDCQAAAgUHaW5GYXZvcgD///////////8BBBBuZXdOZWdhdGl2ZVZvdGVzCQBkAgkBDXBhcnNlSW50VmFsdWUBBQt2b3Rlc1RvTm9uZQkBBWFzSW50AQUJZ3d4QW1vdW50CQDMCAIFD3ZvdGVzVG9JbmNyZWFzZQkAzAgCBQt2b3Rlc1RvTm9uZQkAzAgCCQCkAwEFEG5ld05lZ2F0aXZlVm90ZXMFA25pbAQMbmV3Tm9uZVZvdGVzCQBkAgkBDXBhcnNlSW50VmFsdWUBBQt2b3Rlc1RvTm9uZQkBBWFzSW50AQUJZ3d4QW1vdW50CQDMCAIFD3ZvdGVzVG9JbmNyZWFzZQkAzAgCCQCkAwEFDG5ld05vbmVWb3RlcwkAzAgCBQ92b3Rlc1RvRGVjcmVhc2UFA25pbAQHdm90ZUtleQkBB2tleVZvdGUBCQClCAEIBQFpBmNhbGxlcgQJdm90ZVZhbHVlCQEMa2V5Vm90ZVZhbHVlAgkApAMBCQEFYXNJbnQBBQlnd3hBbW91bnQFB2luRmF2b3IJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCCQEPa2V5Vm90aW5nUmVzdWx0AAkBCnRvdGFsVm90ZXMDCQCRAwIFG25ld1Bvc2l0aXZlQW5kTmVnYXRpdmVWb3RlcwAACQCRAwIFG25ld1Bvc2l0aXZlQW5kTmVnYXRpdmVWb3RlcwABCQCRAwIFG25ld1Bvc2l0aXZlQW5kTmVnYXRpdmVWb3RlcwACCQDMCAIJAQtTdHJpbmdFbnRyeQIFB3ZvdGVLZXkFCXZvdGVWYWx1ZQUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCmNhbmNlbFZvdGUABAt1c2VyQWRkcmVzcwMJAAACCAUBaQZjYWxsZXIFBHRoaXMJAKUIAQgFAWkMb3JpZ2luQ2FsbGVyCQClCAEIBQFpBmNhbGxlcgQGY2hlY2tzCQDMCAIDCQEJaXNEZWZpbmVkAQkAoggBCQEPa2V5Vm90aW5nUmVzdWx0AAYJAAIBAgdubyB2b3RlBQNuaWwDCQAAAgUGY2hlY2tzBQZjaGVja3MEBHZvdGUJALUJAgkBBXZhbHVlAQkAoggBCQEHa2V5Vm90ZQEFC3VzZXJBZGRyZXNzBQlzZXBhcmF0b3IECXZvdGVWYWx1ZQkAkQMCBQR2b3RlAAEECHZvdGVUeXBlCQCRAwIFBHZvdGUAAgQMdm90aW5nUmVzdWx0CQC1CQIJAQV2YWx1ZQEJAKIIAQkBD2tleVZvdGluZ1Jlc3VsdAAFCXNlcGFyYXRvcgQPdm90ZXNUb0luY3JlYXNlCQCRAwIFDHZvdGluZ1Jlc3VsdAABBAt2b3Rlc1RvTm9uZQkAkQMCBQx2b3RpbmdSZXN1bHQAAgQPdm90ZXNUb0RlY3JlYXNlCQCRAwIFDHZvdGluZ1Jlc3VsdAADBAdhY3Rpb25zAwkAAAIFCHZvdGVUeXBlAghpbmNyZWFzZQQQbmV3SW5jcmVhc2VWb3RlcwkAZQIJAQ1wYXJzZUludFZhbHVlAQUPdm90ZXNUb0luY3JlYXNlCQENcGFyc2VJbnRWYWx1ZQEFCXZvdGVWYWx1ZQkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ9rZXlWb3RpbmdSZXN1bHQACQEKdG90YWxWb3RlcwMJAKQDAQUQbmV3SW5jcmVhc2VWb3RlcwULdm90ZXNUb05vbmUFD3ZvdGVzVG9EZWNyZWFzZQkAzAgCCQELRGVsZXRlRW50cnkBCQEHa2V5Vm90ZQEFC3VzZXJBZGRyZXNzBQNuaWwFBHVuaXQDCQAAAgUIdm90ZVR5cGUCCWRlc2NyZWFzZQQQbmV3RGVjcmVhc2VWb3RlcwkAZQIJAQ1wYXJzZUludFZhbHVlAQUPdm90ZXNUb0RlY3JlYXNlCQENcGFyc2VJbnRWYWx1ZQEFCXZvdGVWYWx1ZQkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ9rZXlWb3RpbmdSZXN1bHQACQEKdG90YWxWb3RlcwMFD3ZvdGVzVG9JbmNyZWFzZQULdm90ZXNUb05vbmUJAKQDAQUQbmV3RGVjcmVhc2VWb3RlcwkAzAgCCQELRGVsZXRlRW50cnkBCQEHa2V5Vm90ZQEFC3VzZXJBZGRyZXNzBQNuaWwFBHVuaXQEDG5ld05vbmVWb3RlcwkAZQIJAQ1wYXJzZUludFZhbHVlAQULdm90ZXNUb05vbmUJAQ1wYXJzZUludFZhbHVlAQUJdm90ZVZhbHVlCQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgkBD2tleVZvdGluZ1Jlc3VsdAAJAQp0b3RhbFZvdGVzAwUPdm90ZXNUb0luY3JlYXNlCQCkAwEFDG5ld05vbmVWb3RlcwUPdm90ZXNUb0RlY3JlYXNlCQDMCAIJAQtEZWxldGVFbnRyeQEJAQdrZXlWb3RlAQULdXNlckFkZHJlc3MFA25pbAUEdW5pdAUHYWN0aW9ucwkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQxzZXRUaHJlc2hvbGQBDG5ld1RocmVzaG9sZAQGY2hlY2tzCQDMCAIJAQttdXN0TWFuYWdlcgEFAWkJAMwIAgMJAGYCBQxuZXdUaHJlc2hvbGQAAAYJAAIBAhFpbnZhbGlkIHRocmVzaG9sZAUDbmlsAwkAAAIFBmNoZWNrcwUGY2hlY2tzCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFDGtleVRocmVzaG9sZAUMbmV3VGhyZXNob2xkBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEIZmluYWxpemUCDWFtb3VudEFzc2V0SWQMcHJpY2VBc3NldElkBBJ2b3RpbmdGaW5pc2hIZWlnaHQJAGQCCQEFdmFsdWUBCQCfCAEJAQ5rZXlTdGFydEhlaWdodAAJAQV2YWx1ZQEJAJ8IAQUOa2V5RXBvY2hMZW5ndGgEBmNoZWNrcwkAzAgCAwkAZwIFBmhlaWdodAUSdm90aW5nRmluaXNoSGVpZ2h0BgkAAgECImluc3VmZmljaWVudCBoZWlnaHQgZm9yIGNvbXBsZXRpb24FA25pbAMJAAACBQZjaGVja3MFBmNoZWNrcwQMdm90aW5nUmVzdWx0CQC1CQIJAQV2YWx1ZQEJAKIIAQkBD2tleVZvdGluZ1Jlc3VsdAAFCXNlcGFyYXRvcgQPdm90ZXNUb0luY3JlYXNlCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUMdm90aW5nUmVzdWx0AAEEC3ZvdGVzVG9Ob25lCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUMdm90aW5nUmVzdWx0AAIED3ZvdGVzVG9EZWNyZWFzZQkBDXBhcnNlSW50VmFsdWUBCQCRAwIFDHZvdGluZ1Jlc3VsdAADBAhhbGxWb3RlcwkAZAIJAGQCBQ92b3Rlc1RvSW5jcmVhc2UFC3ZvdGVzVG9Ob25lBQ92b3Rlc1RvRGVjcmVhc2UECXRocmVzaG9sZAkBDGdldEludE9yRmFpbAEFDGtleVRocmVzaG9sZAQHYWN0aW9ucwMDCQBnAgUIYWxsVm90ZXMFCXRocmVzaG9sZAYHBQNuaWwFA25pbAUHYWN0aW9ucwkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgBpVPJ4",
"height": 2581655,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: 47nzm6AAKnKAJasEPmtWrWoz35E9SfLvbWT3s1Na8xmQ
Next: Fp8MBeMkygTfLAMnFb1R2VC3nid6t4ryUgBSzUhm9uHq
Diff:
Old | New | | Differences |
---|
9 | 9 | | |
---|
10 | 10 | | let d = makeString(["%s", "boostingContract"], a) |
---|
11 | 11 | | |
---|
12 | | - | let e = makeString(["%s", "factoryContract"], a) |
---|
| 12 | + | let e = makeString(["%s", "votingThreshold"], a) |
---|
13 | 13 | | |
---|
14 | | - | let f = makeString(["%s", "votingThreshold"], a) |
---|
| 14 | + | let f = makeString(["%s%s", "ratePerBlock", "current"], a) |
---|
15 | 15 | | |
---|
16 | | - | let g = makeString(["%s%s", "ratePerBlock", "current"], a) |
---|
| 16 | + | let g = makeString(["%s%s", "ratePerBlockMax", "current"], a) |
---|
17 | 17 | | |
---|
18 | | - | let h = makeString(["%s%s", "ratePerBlockMax", "current"], a) |
---|
| 18 | + | let h = makeString(["%s", "rateChangeStep"], a) |
---|
19 | 19 | | |
---|
20 | | - | let i = makeString(["%s", "rateChangeStep"], a) |
---|
21 | | - | |
---|
22 | | - | func j (k) = valueOrErrorMessage(getString(this, k), (k + " is not defined")) |
---|
| 20 | + | func i (j) = valueOrErrorMessage(getString(this, j), (j + " is not defined")) |
---|
23 | 21 | | |
---|
24 | 22 | | |
---|
25 | | - | func l (k) = valueOrErrorMessage(getInteger(this, k), (k + " is not defined")) |
---|
| 23 | + | func k (j) = valueOrErrorMessage(getInteger(this, j), (j + " is not defined")) |
---|
26 | 24 | | |
---|
27 | 25 | | |
---|
28 | | - | func m () = makeString(["%s", "startHeight"], a) |
---|
| 26 | + | func l () = makeString(["%s", "startHeight"], a) |
---|
29 | 27 | | |
---|
30 | 28 | | |
---|
31 | | - | func n () = makeString(["%s", "votingResult"], a) |
---|
| 29 | + | func m () = makeString(["%s", "votingResult"], a) |
---|
32 | 30 | | |
---|
33 | 31 | | |
---|
34 | | - | func o (p,q,r) = makeString(["%d%d%d", p, q, r], a) |
---|
| 32 | + | func n (o,p,q) = makeString(["%d%d%d", o, p, q], a) |
---|
35 | 33 | | |
---|
36 | 34 | | |
---|
37 | | - | func s (t) = makeString(["%s%s", "vote", t], a) |
---|
| 35 | + | func r (s) = makeString(["%s%s", "vote", s], a) |
---|
38 | 36 | | |
---|
39 | 37 | | |
---|
40 | | - | func u (v,w) = { |
---|
41 | | - | let k = if ((w == 1)) |
---|
42 | | - | then makeString(["%d%s", v, "increase"], a) |
---|
43 | | - | else if ((w == -1)) |
---|
44 | | - | then makeString(["%d%s", v, "decrease"], a) |
---|
45 | | - | else makeString(["%d%s", v, "none"], a) |
---|
46 | | - | k |
---|
| 38 | + | func t (u,v) = { |
---|
| 39 | + | let j = if ((v == 1)) |
---|
| 40 | + | then makeString(["%d%s", u, "increase"], a) |
---|
| 41 | + | else if ((v == -1)) |
---|
| 42 | + | then makeString(["%d%s", u, "decrease"], a) |
---|
| 43 | + | else makeString(["%d%s", u, "none"], a) |
---|
| 44 | + | j |
---|
47 | 45 | | } |
---|
48 | 46 | | |
---|
49 | 47 | | |
---|
50 | | - | let x = addressFromStringValue(j(d)) |
---|
| 48 | + | let w = addressFromStringValue(i(d)) |
---|
51 | 49 | | |
---|
52 | | - | let y = addressFromStringValue(j(c)) |
---|
| 50 | + | let x = addressFromStringValue(i(c)) |
---|
53 | 51 | | |
---|
54 | | - | let z = addressFromStringValue(j(e)) |
---|
55 | | - | |
---|
56 | | - | func A () = "%s__managerPublicKey" |
---|
| 52 | + | func y () = "%s__managerPublicKey" |
---|
57 | 53 | | |
---|
58 | 54 | | |
---|
59 | | - | func B () = "%s__managerVaultAddress" |
---|
| 55 | + | func z () = "%s__managerVaultAddress" |
---|
60 | 56 | | |
---|
61 | 57 | | |
---|
62 | | - | func C () = { |
---|
63 | | - | let D = getString(B()) |
---|
64 | | - | if ($isInstanceOf(D, "String")) |
---|
| 58 | + | func A () = { |
---|
| 59 | + | let B = getString(z()) |
---|
| 60 | + | if ($isInstanceOf(B, "String")) |
---|
65 | 61 | | then { |
---|
66 | | - | let E = D |
---|
67 | | - | addressFromStringValue(E) |
---|
| 62 | + | let C = B |
---|
| 63 | + | addressFromStringValue(C) |
---|
68 | 64 | | } |
---|
69 | 65 | | else this |
---|
70 | 66 | | } |
---|
71 | 67 | | |
---|
72 | 68 | | |
---|
73 | | - | func F () = { |
---|
74 | | - | let G = C() |
---|
75 | | - | let D = getString(G, A()) |
---|
76 | | - | if ($isInstanceOf(D, "String")) |
---|
| 69 | + | func D () = { |
---|
| 70 | + | let E = A() |
---|
| 71 | + | let B = getString(E, y()) |
---|
| 72 | + | if ($isInstanceOf(B, "String")) |
---|
77 | 73 | | then { |
---|
78 | | - | let E = D |
---|
79 | | - | fromBase58String(E) |
---|
| 74 | + | let C = B |
---|
| 75 | + | fromBase58String(C) |
---|
80 | 76 | | } |
---|
81 | | - | else if ($isInstanceOf(D, "Unit")) |
---|
| 77 | + | else if ($isInstanceOf(B, "Unit")) |
---|
82 | 78 | | then unit |
---|
83 | 79 | | else throw("Match error") |
---|
84 | 80 | | } |
---|
85 | 81 | | |
---|
86 | 82 | | |
---|
87 | | - | func H (I) = { |
---|
88 | | - | let D = F() |
---|
89 | | - | if ($isInstanceOf(D, "ByteVector")) |
---|
| 83 | + | func F (G) = { |
---|
| 84 | + | let B = D() |
---|
| 85 | + | if ($isInstanceOf(B, "ByteVector")) |
---|
90 | 86 | | then { |
---|
91 | | - | let J = D |
---|
92 | | - | (I.callerPublicKey == J) |
---|
| 87 | + | let H = B |
---|
| 88 | + | (G.callerPublicKey == H) |
---|
93 | 89 | | } |
---|
94 | | - | else if ($isInstanceOf(D, "Unit")) |
---|
95 | | - | then (I.caller == this) |
---|
| 90 | + | else if ($isInstanceOf(B, "Unit")) |
---|
| 91 | + | then (G.caller == this) |
---|
96 | 92 | | else throw("Match error") |
---|
97 | 93 | | } |
---|
98 | 94 | | |
---|
99 | 95 | | |
---|
100 | | - | func K (I) = if (H(I)) |
---|
| 96 | + | func I (G) = if (F(G)) |
---|
101 | 97 | | then true |
---|
102 | 98 | | else throw("permission denied") |
---|
103 | 99 | | |
---|
104 | 100 | | |
---|
105 | | - | func L (M) = { |
---|
106 | | - | let D = M |
---|
107 | | - | if ($isInstanceOf(D, "Int")) |
---|
| 101 | + | func J (K) = { |
---|
| 102 | + | let B = K |
---|
| 103 | + | if ($isInstanceOf(B, "Int")) |
---|
108 | 104 | | then { |
---|
109 | | - | let N = D |
---|
110 | | - | N |
---|
| 105 | + | let L = B |
---|
| 106 | + | L |
---|
111 | 107 | | } |
---|
112 | 108 | | else throw("failed to cast into Integer") |
---|
113 | 109 | | } |
---|
114 | 110 | | |
---|
115 | 111 | | |
---|
116 | | - | func O (P,Q,R) = { |
---|
117 | | - | let S = fraction(100, P, 120) |
---|
118 | | - | let T = min([fraction((100 + R), Q, 100), S]) |
---|
119 | | - | let U = max([fraction((100 - R), Q, 100), 0]) |
---|
120 | | - | $Tuple3(T, Q, U) |
---|
| 112 | + | func M (N,O,P) = { |
---|
| 113 | + | let Q = fraction(100, N, 120) |
---|
| 114 | + | let R = min([fraction((100 + P), O, 100), Q]) |
---|
| 115 | + | let S = max([fraction((100 - P), O, 100), 0]) |
---|
| 116 | + | $Tuple3(R, O, S) |
---|
121 | 117 | | } |
---|
122 | 118 | | |
---|
123 | 119 | | |
---|
124 | | - | @Callable(I) |
---|
125 | | - | func constructor (V,W,X,Y,Z) = { |
---|
126 | | - | let aa = [K(I), if (isDefined(addressFromString(V))) |
---|
| 120 | + | @Callable(G) |
---|
| 121 | + | func constructor (T,U,V,W,X) = { |
---|
| 122 | + | let Y = [if (isDefined(addressFromString(T))) |
---|
127 | 123 | | then true |
---|
128 | | - | else throw("Invalid boosting contract address"), if (isDefined(addressFromString(W))) |
---|
| 124 | + | else throw("Invalid boosting contract address"), if (isDefined(addressFromString(U))) |
---|
129 | 125 | | then true |
---|
130 | | - | else throw("Invalid emission contract address"), if (isDefined(addressFromString(X))) |
---|
| 126 | + | else throw("Invalid emission contract address"), if ((W > 0)) |
---|
131 | 127 | | then true |
---|
132 | | - | else throw("Invalid factory contract address"), if ((Y > 0)) |
---|
133 | | - | then true |
---|
134 | | - | else throw("Invalid voting duration"), if ((Z > 0)) |
---|
| 128 | + | else throw("Invalid voting duration"), if ((X > 0)) |
---|
135 | 129 | | then true |
---|
136 | 130 | | else throw("invalid threshold")] |
---|
137 | | - | if ((aa == aa)) |
---|
138 | | - | then $Tuple2([StringEntry(d, V), StringEntry(c, W), StringEntry(e, X), IntegerEntry(b, Y), IntegerEntry(f, Z)], unit) |
---|
| 131 | + | if ((Y == Y)) |
---|
| 132 | + | then $Tuple2([StringEntry(d, T), StringEntry(c, U), IntegerEntry(b, W), IntegerEntry(e, X)], unit) |
---|
139 | 133 | | else throw("Strict value is not equal to itself.") |
---|
140 | 134 | | } |
---|
141 | 135 | | |
---|
142 | 136 | | |
---|
143 | 137 | | |
---|
144 | | - | @Callable(I) |
---|
| 138 | + | @Callable(G) |
---|
145 | 139 | | func getRateChangeAmountsREADONLY () = { |
---|
146 | | - | let P = getIntegerValue(y, h) |
---|
147 | | - | let Q = getIntegerValue(y, g) |
---|
148 | | - | let ab = getIntegerValue(this, i) |
---|
149 | | - | $Tuple2(nil, O(P, Q, ab)) |
---|
| 140 | + | let N = getIntegerValue(x, g) |
---|
| 141 | + | let O = getIntegerValue(x, f) |
---|
| 142 | + | let Z = getIntegerValue(this, h) |
---|
| 143 | + | $Tuple2(nil, M(N, O, Z)) |
---|
150 | 144 | | } |
---|
151 | 145 | | |
---|
152 | 146 | | |
---|
153 | 147 | | |
---|
154 | | - | @Callable(I) |
---|
155 | | - | func vote (ac) = { |
---|
156 | | - | let ad = (value(getInteger(m())) + value(getInteger(b))) |
---|
157 | | - | let aa = [if ((ad > height)) |
---|
| 148 | + | @Callable(G) |
---|
| 149 | + | func vote (aa) = { |
---|
| 150 | + | let ab = (value(getInteger(l())) + value(getInteger(b))) |
---|
| 151 | + | let Y = [if ((ab > height)) |
---|
158 | 152 | | then true |
---|
159 | | - | else throw("too late to vote"), if (containsElement([1, 0, -1], ac)) |
---|
| 153 | + | else throw("too late to vote"), if (containsElement([1, 0, -1], aa)) |
---|
160 | 154 | | then true |
---|
161 | 155 | | else throw("not valid argument")] |
---|
162 | | - | if ((aa == aa)) |
---|
| 156 | + | if ((Y == Y)) |
---|
163 | 157 | | then { |
---|
164 | | - | let v = invoke(x, "getUserGwxAmountAtHeightREADONLY", [toString(I.caller), ad], nil) |
---|
165 | | - | let ae = if ((L(v) > 0)) |
---|
| 158 | + | let u = invoke(w, "getUserGwxAmountAtHeightREADONLY", [toString(G.caller), ab], nil) |
---|
| 159 | + | let ac = if ((J(u) > 0)) |
---|
166 | 160 | | then true |
---|
167 | 161 | | else throw("you don't have gwx") |
---|
168 | | - | if ((ae == ae)) |
---|
| 162 | + | if ((ac == ac)) |
---|
169 | 163 | | then { |
---|
170 | | - | let w = { |
---|
171 | | - | let D = getString(s(toString(I.caller))) |
---|
172 | | - | if ($isInstanceOf(D, "String")) |
---|
| 164 | + | let v = { |
---|
| 165 | + | let B = getString(r(toString(G.caller))) |
---|
| 166 | + | if ($isInstanceOf(B, "String")) |
---|
173 | 167 | | then { |
---|
174 | | - | let E = D |
---|
175 | | - | let w = split(E, a) |
---|
176 | | - | let af = w[1] |
---|
177 | | - | let ag = w[2] |
---|
178 | | - | let ah = if (if (if ((ag == "increase")) |
---|
179 | | - | then (ac == 1) |
---|
| 168 | + | let C = B |
---|
| 169 | + | let v = split(C, a) |
---|
| 170 | + | let ad = v[1] |
---|
| 171 | + | let ae = v[2] |
---|
| 172 | + | let af = if (if (if ((ae == "increase")) |
---|
| 173 | + | then (aa == 1) |
---|
180 | 174 | | else false) |
---|
181 | 175 | | then true |
---|
182 | | - | else if ((ag == "decrease")) |
---|
183 | | - | then (ac == -1) |
---|
| 176 | + | else if ((ae == "decrease")) |
---|
| 177 | + | then (aa == -1) |
---|
184 | 178 | | else false) |
---|
185 | 179 | | then true |
---|
186 | | - | else if ((ag == "none")) |
---|
187 | | - | then (ac == 0) |
---|
| 180 | + | else if ((ae == "none")) |
---|
| 181 | + | then (aa == 0) |
---|
188 | 182 | | else false |
---|
189 | | - | let ai = if (ah) |
---|
190 | | - | then (L(v) == parseIntValue(af)) |
---|
| 183 | + | let ag = if (af) |
---|
| 184 | + | then (J(u) == parseIntValue(ad)) |
---|
191 | 185 | | else false |
---|
192 | | - | let aj = if (if (ah) |
---|
193 | | - | then ai |
---|
| 186 | + | let ah = if (if (af) |
---|
| 187 | + | then ag |
---|
194 | 188 | | else false) |
---|
195 | 189 | | then throw("you already voted") |
---|
196 | 190 | | else invoke(this, "cancelVote", nil, nil) |
---|
197 | | - | aj |
---|
| 191 | + | ah |
---|
198 | 192 | | } |
---|
199 | | - | else if ($isInstanceOf(D, "Unit")) |
---|
| 193 | + | else if ($isInstanceOf(B, "Unit")) |
---|
200 | 194 | | then { |
---|
201 | | - | let ak = D |
---|
202 | | - | ak |
---|
| 195 | + | let ai = B |
---|
| 196 | + | ai |
---|
203 | 197 | | } |
---|
204 | 198 | | else throw("Match error") |
---|
205 | 199 | | } |
---|
206 | | - | if ((w == w)) |
---|
| 200 | + | if ((v == v)) |
---|
207 | 201 | | then { |
---|
208 | | - | let al = split(value(getString(n())), a) |
---|
209 | | - | let am = al[1] |
---|
210 | | - | let an = al[2] |
---|
211 | | - | let ao = al[3] |
---|
212 | | - | let ap = if ((ac == 1)) |
---|
| 202 | + | let aj = split(value(getString(m())), a) |
---|
| 203 | + | let ak = aj[1] |
---|
| 204 | + | let al = aj[2] |
---|
| 205 | + | let am = aj[3] |
---|
| 206 | + | let an = if ((aa == 1)) |
---|
213 | 207 | | then { |
---|
214 | | - | let aq = (parseIntValue(am) + L(v)) |
---|
215 | | - | [toString(aq), an, ao] |
---|
| 208 | + | let ao = (parseIntValue(ak) + J(u)) |
---|
| 209 | + | [toString(ao), al, am] |
---|
216 | 210 | | } |
---|
217 | | - | else if ((ac == -1)) |
---|
| 211 | + | else if ((aa == -1)) |
---|
218 | 212 | | then { |
---|
219 | | - | let ar = (parseIntValue(an) + L(v)) |
---|
220 | | - | [am, an, toString(ar)] |
---|
| 213 | + | let ap = (parseIntValue(al) + J(u)) |
---|
| 214 | + | [ak, al, toString(ap)] |
---|
221 | 215 | | } |
---|
222 | 216 | | else { |
---|
223 | | - | let as = (parseIntValue(an) + L(v)) |
---|
224 | | - | [am, toString(as), ao] |
---|
| 217 | + | let aq = (parseIntValue(al) + J(u)) |
---|
| 218 | + | [ak, toString(aq), am] |
---|
225 | 219 | | } |
---|
226 | | - | let at = s(toString(I.caller)) |
---|
227 | | - | let af = u(toString(L(v)), ac) |
---|
228 | | - | $Tuple2([StringEntry(n(), o(ap[0], ap[1], ap[2])), StringEntry(at, af)], unit) |
---|
| 220 | + | let ar = r(toString(G.caller)) |
---|
| 221 | + | let ad = t(toString(J(u)), aa) |
---|
| 222 | + | $Tuple2([StringEntry(m(), n(an[0], an[1], an[2])), StringEntry(ar, ad)], unit) |
---|
229 | 223 | | } |
---|
230 | 224 | | else throw("Strict value is not equal to itself.") |
---|
231 | 225 | | } |
---|
|
236 | 230 | | |
---|
237 | 231 | | |
---|
238 | 232 | | |
---|
239 | | - | @Callable(I) |
---|
| 233 | + | @Callable(G) |
---|
240 | 234 | | func cancelVote () = { |
---|
241 | | - | let au = if ((I.caller == this)) |
---|
242 | | - | then toString(I.originCaller) |
---|
243 | | - | else toString(I.caller) |
---|
244 | | - | let aa = [if (isDefined(getString(n()))) |
---|
| 235 | + | let as = if ((G.caller == this)) |
---|
| 236 | + | then toString(G.originCaller) |
---|
| 237 | + | else toString(G.caller) |
---|
| 238 | + | let Y = [if (isDefined(getString(m()))) |
---|
245 | 239 | | then true |
---|
246 | 240 | | else throw("no vote")] |
---|
247 | | - | if ((aa == aa)) |
---|
| 241 | + | if ((Y == Y)) |
---|
248 | 242 | | then { |
---|
249 | | - | let w = split(value(getString(s(au))), a) |
---|
250 | | - | let af = w[1] |
---|
251 | | - | let ag = w[2] |
---|
252 | | - | let al = split(value(getString(n())), a) |
---|
253 | | - | let am = al[1] |
---|
254 | | - | let an = al[2] |
---|
255 | | - | let ao = al[3] |
---|
256 | | - | let av = if ((ag == "increase")) |
---|
| 243 | + | let v = split(value(getString(r(as))), a) |
---|
| 244 | + | let ad = v[1] |
---|
| 245 | + | let ae = v[2] |
---|
| 246 | + | let aj = split(value(getString(m())), a) |
---|
| 247 | + | let ak = aj[1] |
---|
| 248 | + | let al = aj[2] |
---|
| 249 | + | let am = aj[3] |
---|
| 250 | + | let at = if ((ae == "increase")) |
---|
257 | 251 | | then { |
---|
258 | | - | let aw = (parseIntValue(am) - parseIntValue(af)) |
---|
259 | | - | $Tuple2([StringEntry(n(), o(toString(aw), an, ao)), DeleteEntry(s(au))], unit) |
---|
| 252 | + | let au = (parseIntValue(ak) - parseIntValue(ad)) |
---|
| 253 | + | $Tuple2([StringEntry(m(), n(toString(au), al, am)), DeleteEntry(r(as))], unit) |
---|
260 | 254 | | } |
---|
261 | | - | else if ((ag == "descrease")) |
---|
| 255 | + | else if ((ae == "descrease")) |
---|
262 | 256 | | then { |
---|
263 | | - | let ax = (parseIntValue(ao) - parseIntValue(af)) |
---|
264 | | - | $Tuple2([StringEntry(n(), o(am, an, toString(ax))), DeleteEntry(s(au))], unit) |
---|
| 257 | + | let av = (parseIntValue(am) - parseIntValue(ad)) |
---|
| 258 | + | $Tuple2([StringEntry(m(), n(ak, al, toString(av))), DeleteEntry(r(as))], unit) |
---|
265 | 259 | | } |
---|
266 | 260 | | else { |
---|
267 | | - | let as = (parseIntValue(an) - parseIntValue(af)) |
---|
268 | | - | $Tuple2([StringEntry(n(), o(am, toString(as), ao)), DeleteEntry(s(au))], unit) |
---|
| 261 | + | let aq = (parseIntValue(al) - parseIntValue(ad)) |
---|
| 262 | + | $Tuple2([StringEntry(m(), n(ak, toString(aq), am)), DeleteEntry(r(as))], unit) |
---|
269 | 263 | | } |
---|
270 | | - | av |
---|
| 264 | + | at |
---|
271 | 265 | | } |
---|
272 | 266 | | else throw("Strict value is not equal to itself.") |
---|
273 | 267 | | } |
---|
274 | 268 | | |
---|
275 | 269 | | |
---|
276 | 270 | | |
---|
277 | | - | @Callable(I) |
---|
278 | | - | func setThreshold (ay) = { |
---|
279 | | - | let aa = [K(I), if ((ay > 0)) |
---|
| 271 | + | @Callable(G) |
---|
| 272 | + | func setThreshold (aw) = { |
---|
| 273 | + | let Y = [I(G), if ((aw > 0)) |
---|
280 | 274 | | then true |
---|
281 | 275 | | else throw("invalid threshold")] |
---|
282 | | - | if ((aa == aa)) |
---|
283 | | - | then $Tuple2([IntegerEntry(f, ay)], unit) |
---|
| 276 | + | if ((Y == Y)) |
---|
| 277 | + | then $Tuple2([IntegerEntry(e, aw)], unit) |
---|
284 | 278 | | else throw("Strict value is not equal to itself.") |
---|
285 | 279 | | } |
---|
286 | 280 | | |
---|
287 | 281 | | |
---|
288 | 282 | | |
---|
289 | | - | @Callable(I) |
---|
290 | | - | func finalize (az,aA) = { |
---|
291 | | - | let ad = (value(getInteger(m())) + value(getInteger(b))) |
---|
292 | | - | let aa = [if ((height >= ad)) |
---|
| 283 | + | @Callable(G) |
---|
| 284 | + | func finalize (ax,ay) = { |
---|
| 285 | + | let ab = (value(getInteger(l())) + value(getInteger(b))) |
---|
| 286 | + | let Y = [if ((height >= ab)) |
---|
293 | 287 | | then true |
---|
294 | 288 | | else throw("insufficient height for completion")] |
---|
295 | | - | if ((aa == aa)) |
---|
| 289 | + | if ((Y == Y)) |
---|
296 | 290 | | then { |
---|
297 | | - | let al = split(value(getString(n())), a) |
---|
298 | | - | let am = parseIntValue(al[1]) |
---|
299 | | - | let an = parseIntValue(al[2]) |
---|
300 | | - | let ao = parseIntValue(al[3]) |
---|
301 | | - | let aB = ((am + an) + ao) |
---|
302 | | - | let Z = l(f) |
---|
303 | | - | let av = if (if ((aB >= Z)) |
---|
| 291 | + | let aj = split(value(getString(m())), a) |
---|
| 292 | + | let ak = parseIntValue(aj[1]) |
---|
| 293 | + | let al = parseIntValue(aj[2]) |
---|
| 294 | + | let am = parseIntValue(aj[3]) |
---|
| 295 | + | let az = ((ak + al) + am) |
---|
| 296 | + | let X = k(e) |
---|
| 297 | + | let at = if (if ((az >= X)) |
---|
304 | 298 | | then true |
---|
305 | 299 | | else false) |
---|
306 | | - | then { |
---|
307 | | - | let aC = invoke(z, "setWxEmissionPoolLabel", [az, aA], nil) |
---|
308 | | - | if ((aC == aC)) |
---|
309 | | - | then nil |
---|
310 | | - | else throw("Strict value is not equal to itself.") |
---|
311 | | - | } |
---|
| 300 | + | then nil |
---|
312 | 301 | | else nil |
---|
313 | | - | av |
---|
| 302 | + | at |
---|
314 | 303 | | } |
---|
315 | 304 | | else throw("Strict value is not equal to itself.") |
---|
316 | 305 | | } |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 6 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | let a = "__" |
---|
5 | 5 | | |
---|
6 | 6 | | let b = makeString(["%s", "epochLength"], a) |
---|
7 | 7 | | |
---|
8 | 8 | | let c = makeString(["%s", "emissionContract"], a) |
---|
9 | 9 | | |
---|
10 | 10 | | let d = makeString(["%s", "boostingContract"], a) |
---|
11 | 11 | | |
---|
12 | | - | let e = makeString(["%s", "factoryContract"], a) |
---|
| 12 | + | let e = makeString(["%s", "votingThreshold"], a) |
---|
13 | 13 | | |
---|
14 | | - | let f = makeString(["%s", "votingThreshold"], a) |
---|
| 14 | + | let f = makeString(["%s%s", "ratePerBlock", "current"], a) |
---|
15 | 15 | | |
---|
16 | | - | let g = makeString(["%s%s", "ratePerBlock", "current"], a) |
---|
| 16 | + | let g = makeString(["%s%s", "ratePerBlockMax", "current"], a) |
---|
17 | 17 | | |
---|
18 | | - | let h = makeString(["%s%s", "ratePerBlockMax", "current"], a) |
---|
| 18 | + | let h = makeString(["%s", "rateChangeStep"], a) |
---|
19 | 19 | | |
---|
20 | | - | let i = makeString(["%s", "rateChangeStep"], a) |
---|
21 | | - | |
---|
22 | | - | func j (k) = valueOrErrorMessage(getString(this, k), (k + " is not defined")) |
---|
| 20 | + | func i (j) = valueOrErrorMessage(getString(this, j), (j + " is not defined")) |
---|
23 | 21 | | |
---|
24 | 22 | | |
---|
25 | | - | func l (k) = valueOrErrorMessage(getInteger(this, k), (k + " is not defined")) |
---|
| 23 | + | func k (j) = valueOrErrorMessage(getInteger(this, j), (j + " is not defined")) |
---|
26 | 24 | | |
---|
27 | 25 | | |
---|
28 | | - | func m () = makeString(["%s", "startHeight"], a) |
---|
| 26 | + | func l () = makeString(["%s", "startHeight"], a) |
---|
29 | 27 | | |
---|
30 | 28 | | |
---|
31 | | - | func n () = makeString(["%s", "votingResult"], a) |
---|
| 29 | + | func m () = makeString(["%s", "votingResult"], a) |
---|
32 | 30 | | |
---|
33 | 31 | | |
---|
34 | | - | func o (p,q,r) = makeString(["%d%d%d", p, q, r], a) |
---|
| 32 | + | func n (o,p,q) = makeString(["%d%d%d", o, p, q], a) |
---|
35 | 33 | | |
---|
36 | 34 | | |
---|
37 | | - | func s (t) = makeString(["%s%s", "vote", t], a) |
---|
| 35 | + | func r (s) = makeString(["%s%s", "vote", s], a) |
---|
38 | 36 | | |
---|
39 | 37 | | |
---|
40 | | - | func u (v,w) = { |
---|
41 | | - | let k = if ((w == 1)) |
---|
42 | | - | then makeString(["%d%s", v, "increase"], a) |
---|
43 | | - | else if ((w == -1)) |
---|
44 | | - | then makeString(["%d%s", v, "decrease"], a) |
---|
45 | | - | else makeString(["%d%s", v, "none"], a) |
---|
46 | | - | k |
---|
| 38 | + | func t (u,v) = { |
---|
| 39 | + | let j = if ((v == 1)) |
---|
| 40 | + | then makeString(["%d%s", u, "increase"], a) |
---|
| 41 | + | else if ((v == -1)) |
---|
| 42 | + | then makeString(["%d%s", u, "decrease"], a) |
---|
| 43 | + | else makeString(["%d%s", u, "none"], a) |
---|
| 44 | + | j |
---|
47 | 45 | | } |
---|
48 | 46 | | |
---|
49 | 47 | | |
---|
50 | | - | let x = addressFromStringValue(j(d)) |
---|
| 48 | + | let w = addressFromStringValue(i(d)) |
---|
51 | 49 | | |
---|
52 | | - | let y = addressFromStringValue(j(c)) |
---|
| 50 | + | let x = addressFromStringValue(i(c)) |
---|
53 | 51 | | |
---|
54 | | - | let z = addressFromStringValue(j(e)) |
---|
55 | | - | |
---|
56 | | - | func A () = "%s__managerPublicKey" |
---|
| 52 | + | func y () = "%s__managerPublicKey" |
---|
57 | 53 | | |
---|
58 | 54 | | |
---|
59 | | - | func B () = "%s__managerVaultAddress" |
---|
| 55 | + | func z () = "%s__managerVaultAddress" |
---|
60 | 56 | | |
---|
61 | 57 | | |
---|
62 | | - | func C () = { |
---|
63 | | - | let D = getString(B()) |
---|
64 | | - | if ($isInstanceOf(D, "String")) |
---|
| 58 | + | func A () = { |
---|
| 59 | + | let B = getString(z()) |
---|
| 60 | + | if ($isInstanceOf(B, "String")) |
---|
65 | 61 | | then { |
---|
66 | | - | let E = D |
---|
67 | | - | addressFromStringValue(E) |
---|
| 62 | + | let C = B |
---|
| 63 | + | addressFromStringValue(C) |
---|
68 | 64 | | } |
---|
69 | 65 | | else this |
---|
70 | 66 | | } |
---|
71 | 67 | | |
---|
72 | 68 | | |
---|
73 | | - | func F () = { |
---|
74 | | - | let G = C() |
---|
75 | | - | let D = getString(G, A()) |
---|
76 | | - | if ($isInstanceOf(D, "String")) |
---|
| 69 | + | func D () = { |
---|
| 70 | + | let E = A() |
---|
| 71 | + | let B = getString(E, y()) |
---|
| 72 | + | if ($isInstanceOf(B, "String")) |
---|
77 | 73 | | then { |
---|
78 | | - | let E = D |
---|
79 | | - | fromBase58String(E) |
---|
| 74 | + | let C = B |
---|
| 75 | + | fromBase58String(C) |
---|
80 | 76 | | } |
---|
81 | | - | else if ($isInstanceOf(D, "Unit")) |
---|
| 77 | + | else if ($isInstanceOf(B, "Unit")) |
---|
82 | 78 | | then unit |
---|
83 | 79 | | else throw("Match error") |
---|
84 | 80 | | } |
---|
85 | 81 | | |
---|
86 | 82 | | |
---|
87 | | - | func H (I) = { |
---|
88 | | - | let D = F() |
---|
89 | | - | if ($isInstanceOf(D, "ByteVector")) |
---|
| 83 | + | func F (G) = { |
---|
| 84 | + | let B = D() |
---|
| 85 | + | if ($isInstanceOf(B, "ByteVector")) |
---|
90 | 86 | | then { |
---|
91 | | - | let J = D |
---|
92 | | - | (I.callerPublicKey == J) |
---|
| 87 | + | let H = B |
---|
| 88 | + | (G.callerPublicKey == H) |
---|
93 | 89 | | } |
---|
94 | | - | else if ($isInstanceOf(D, "Unit")) |
---|
95 | | - | then (I.caller == this) |
---|
| 90 | + | else if ($isInstanceOf(B, "Unit")) |
---|
| 91 | + | then (G.caller == this) |
---|
96 | 92 | | else throw("Match error") |
---|
97 | 93 | | } |
---|
98 | 94 | | |
---|
99 | 95 | | |
---|
100 | | - | func K (I) = if (H(I)) |
---|
| 96 | + | func I (G) = if (F(G)) |
---|
101 | 97 | | then true |
---|
102 | 98 | | else throw("permission denied") |
---|
103 | 99 | | |
---|
104 | 100 | | |
---|
105 | | - | func L (M) = { |
---|
106 | | - | let D = M |
---|
107 | | - | if ($isInstanceOf(D, "Int")) |
---|
| 101 | + | func J (K) = { |
---|
| 102 | + | let B = K |
---|
| 103 | + | if ($isInstanceOf(B, "Int")) |
---|
108 | 104 | | then { |
---|
109 | | - | let N = D |
---|
110 | | - | N |
---|
| 105 | + | let L = B |
---|
| 106 | + | L |
---|
111 | 107 | | } |
---|
112 | 108 | | else throw("failed to cast into Integer") |
---|
113 | 109 | | } |
---|
114 | 110 | | |
---|
115 | 111 | | |
---|
116 | | - | func O (P,Q,R) = { |
---|
117 | | - | let S = fraction(100, P, 120) |
---|
118 | | - | let T = min([fraction((100 + R), Q, 100), S]) |
---|
119 | | - | let U = max([fraction((100 - R), Q, 100), 0]) |
---|
120 | | - | $Tuple3(T, Q, U) |
---|
| 112 | + | func M (N,O,P) = { |
---|
| 113 | + | let Q = fraction(100, N, 120) |
---|
| 114 | + | let R = min([fraction((100 + P), O, 100), Q]) |
---|
| 115 | + | let S = max([fraction((100 - P), O, 100), 0]) |
---|
| 116 | + | $Tuple3(R, O, S) |
---|
121 | 117 | | } |
---|
122 | 118 | | |
---|
123 | 119 | | |
---|
124 | | - | @Callable(I) |
---|
125 | | - | func constructor (V,W,X,Y,Z) = { |
---|
126 | | - | let aa = [K(I), if (isDefined(addressFromString(V))) |
---|
| 120 | + | @Callable(G) |
---|
| 121 | + | func constructor (T,U,V,W,X) = { |
---|
| 122 | + | let Y = [if (isDefined(addressFromString(T))) |
---|
127 | 123 | | then true |
---|
128 | | - | else throw("Invalid boosting contract address"), if (isDefined(addressFromString(W))) |
---|
| 124 | + | else throw("Invalid boosting contract address"), if (isDefined(addressFromString(U))) |
---|
129 | 125 | | then true |
---|
130 | | - | else throw("Invalid emission contract address"), if (isDefined(addressFromString(X))) |
---|
| 126 | + | else throw("Invalid emission contract address"), if ((W > 0)) |
---|
131 | 127 | | then true |
---|
132 | | - | else throw("Invalid factory contract address"), if ((Y > 0)) |
---|
133 | | - | then true |
---|
134 | | - | else throw("Invalid voting duration"), if ((Z > 0)) |
---|
| 128 | + | else throw("Invalid voting duration"), if ((X > 0)) |
---|
135 | 129 | | then true |
---|
136 | 130 | | else throw("invalid threshold")] |
---|
137 | | - | if ((aa == aa)) |
---|
138 | | - | then $Tuple2([StringEntry(d, V), StringEntry(c, W), StringEntry(e, X), IntegerEntry(b, Y), IntegerEntry(f, Z)], unit) |
---|
| 131 | + | if ((Y == Y)) |
---|
| 132 | + | then $Tuple2([StringEntry(d, T), StringEntry(c, U), IntegerEntry(b, W), IntegerEntry(e, X)], unit) |
---|
139 | 133 | | else throw("Strict value is not equal to itself.") |
---|
140 | 134 | | } |
---|
141 | 135 | | |
---|
142 | 136 | | |
---|
143 | 137 | | |
---|
144 | | - | @Callable(I) |
---|
| 138 | + | @Callable(G) |
---|
145 | 139 | | func getRateChangeAmountsREADONLY () = { |
---|
146 | | - | let P = getIntegerValue(y, h) |
---|
147 | | - | let Q = getIntegerValue(y, g) |
---|
148 | | - | let ab = getIntegerValue(this, i) |
---|
149 | | - | $Tuple2(nil, O(P, Q, ab)) |
---|
| 140 | + | let N = getIntegerValue(x, g) |
---|
| 141 | + | let O = getIntegerValue(x, f) |
---|
| 142 | + | let Z = getIntegerValue(this, h) |
---|
| 143 | + | $Tuple2(nil, M(N, O, Z)) |
---|
150 | 144 | | } |
---|
151 | 145 | | |
---|
152 | 146 | | |
---|
153 | 147 | | |
---|
154 | | - | @Callable(I) |
---|
155 | | - | func vote (ac) = { |
---|
156 | | - | let ad = (value(getInteger(m())) + value(getInteger(b))) |
---|
157 | | - | let aa = [if ((ad > height)) |
---|
| 148 | + | @Callable(G) |
---|
| 149 | + | func vote (aa) = { |
---|
| 150 | + | let ab = (value(getInteger(l())) + value(getInteger(b))) |
---|
| 151 | + | let Y = [if ((ab > height)) |
---|
158 | 152 | | then true |
---|
159 | | - | else throw("too late to vote"), if (containsElement([1, 0, -1], ac)) |
---|
| 153 | + | else throw("too late to vote"), if (containsElement([1, 0, -1], aa)) |
---|
160 | 154 | | then true |
---|
161 | 155 | | else throw("not valid argument")] |
---|
162 | | - | if ((aa == aa)) |
---|
| 156 | + | if ((Y == Y)) |
---|
163 | 157 | | then { |
---|
164 | | - | let v = invoke(x, "getUserGwxAmountAtHeightREADONLY", [toString(I.caller), ad], nil) |
---|
165 | | - | let ae = if ((L(v) > 0)) |
---|
| 158 | + | let u = invoke(w, "getUserGwxAmountAtHeightREADONLY", [toString(G.caller), ab], nil) |
---|
| 159 | + | let ac = if ((J(u) > 0)) |
---|
166 | 160 | | then true |
---|
167 | 161 | | else throw("you don't have gwx") |
---|
168 | | - | if ((ae == ae)) |
---|
| 162 | + | if ((ac == ac)) |
---|
169 | 163 | | then { |
---|
170 | | - | let w = { |
---|
171 | | - | let D = getString(s(toString(I.caller))) |
---|
172 | | - | if ($isInstanceOf(D, "String")) |
---|
| 164 | + | let v = { |
---|
| 165 | + | let B = getString(r(toString(G.caller))) |
---|
| 166 | + | if ($isInstanceOf(B, "String")) |
---|
173 | 167 | | then { |
---|
174 | | - | let E = D |
---|
175 | | - | let w = split(E, a) |
---|
176 | | - | let af = w[1] |
---|
177 | | - | let ag = w[2] |
---|
178 | | - | let ah = if (if (if ((ag == "increase")) |
---|
179 | | - | then (ac == 1) |
---|
| 168 | + | let C = B |
---|
| 169 | + | let v = split(C, a) |
---|
| 170 | + | let ad = v[1] |
---|
| 171 | + | let ae = v[2] |
---|
| 172 | + | let af = if (if (if ((ae == "increase")) |
---|
| 173 | + | then (aa == 1) |
---|
180 | 174 | | else false) |
---|
181 | 175 | | then true |
---|
182 | | - | else if ((ag == "decrease")) |
---|
183 | | - | then (ac == -1) |
---|
| 176 | + | else if ((ae == "decrease")) |
---|
| 177 | + | then (aa == -1) |
---|
184 | 178 | | else false) |
---|
185 | 179 | | then true |
---|
186 | | - | else if ((ag == "none")) |
---|
187 | | - | then (ac == 0) |
---|
| 180 | + | else if ((ae == "none")) |
---|
| 181 | + | then (aa == 0) |
---|
188 | 182 | | else false |
---|
189 | | - | let ai = if (ah) |
---|
190 | | - | then (L(v) == parseIntValue(af)) |
---|
| 183 | + | let ag = if (af) |
---|
| 184 | + | then (J(u) == parseIntValue(ad)) |
---|
191 | 185 | | else false |
---|
192 | | - | let aj = if (if (ah) |
---|
193 | | - | then ai |
---|
| 186 | + | let ah = if (if (af) |
---|
| 187 | + | then ag |
---|
194 | 188 | | else false) |
---|
195 | 189 | | then throw("you already voted") |
---|
196 | 190 | | else invoke(this, "cancelVote", nil, nil) |
---|
197 | | - | aj |
---|
| 191 | + | ah |
---|
198 | 192 | | } |
---|
199 | | - | else if ($isInstanceOf(D, "Unit")) |
---|
| 193 | + | else if ($isInstanceOf(B, "Unit")) |
---|
200 | 194 | | then { |
---|
201 | | - | let ak = D |
---|
202 | | - | ak |
---|
| 195 | + | let ai = B |
---|
| 196 | + | ai |
---|
203 | 197 | | } |
---|
204 | 198 | | else throw("Match error") |
---|
205 | 199 | | } |
---|
206 | | - | if ((w == w)) |
---|
| 200 | + | if ((v == v)) |
---|
207 | 201 | | then { |
---|
208 | | - | let al = split(value(getString(n())), a) |
---|
209 | | - | let am = al[1] |
---|
210 | | - | let an = al[2] |
---|
211 | | - | let ao = al[3] |
---|
212 | | - | let ap = if ((ac == 1)) |
---|
| 202 | + | let aj = split(value(getString(m())), a) |
---|
| 203 | + | let ak = aj[1] |
---|
| 204 | + | let al = aj[2] |
---|
| 205 | + | let am = aj[3] |
---|
| 206 | + | let an = if ((aa == 1)) |
---|
213 | 207 | | then { |
---|
214 | | - | let aq = (parseIntValue(am) + L(v)) |
---|
215 | | - | [toString(aq), an, ao] |
---|
| 208 | + | let ao = (parseIntValue(ak) + J(u)) |
---|
| 209 | + | [toString(ao), al, am] |
---|
216 | 210 | | } |
---|
217 | | - | else if ((ac == -1)) |
---|
| 211 | + | else if ((aa == -1)) |
---|
218 | 212 | | then { |
---|
219 | | - | let ar = (parseIntValue(an) + L(v)) |
---|
220 | | - | [am, an, toString(ar)] |
---|
| 213 | + | let ap = (parseIntValue(al) + J(u)) |
---|
| 214 | + | [ak, al, toString(ap)] |
---|
221 | 215 | | } |
---|
222 | 216 | | else { |
---|
223 | | - | let as = (parseIntValue(an) + L(v)) |
---|
224 | | - | [am, toString(as), ao] |
---|
| 217 | + | let aq = (parseIntValue(al) + J(u)) |
---|
| 218 | + | [ak, toString(aq), am] |
---|
225 | 219 | | } |
---|
226 | | - | let at = s(toString(I.caller)) |
---|
227 | | - | let af = u(toString(L(v)), ac) |
---|
228 | | - | $Tuple2([StringEntry(n(), o(ap[0], ap[1], ap[2])), StringEntry(at, af)], unit) |
---|
| 220 | + | let ar = r(toString(G.caller)) |
---|
| 221 | + | let ad = t(toString(J(u)), aa) |
---|
| 222 | + | $Tuple2([StringEntry(m(), n(an[0], an[1], an[2])), StringEntry(ar, ad)], unit) |
---|
229 | 223 | | } |
---|
230 | 224 | | else throw("Strict value is not equal to itself.") |
---|
231 | 225 | | } |
---|
232 | 226 | | else throw("Strict value is not equal to itself.") |
---|
233 | 227 | | } |
---|
234 | 228 | | else throw("Strict value is not equal to itself.") |
---|
235 | 229 | | } |
---|
236 | 230 | | |
---|
237 | 231 | | |
---|
238 | 232 | | |
---|
239 | | - | @Callable(I) |
---|
| 233 | + | @Callable(G) |
---|
240 | 234 | | func cancelVote () = { |
---|
241 | | - | let au = if ((I.caller == this)) |
---|
242 | | - | then toString(I.originCaller) |
---|
243 | | - | else toString(I.caller) |
---|
244 | | - | let aa = [if (isDefined(getString(n()))) |
---|
| 235 | + | let as = if ((G.caller == this)) |
---|
| 236 | + | then toString(G.originCaller) |
---|
| 237 | + | else toString(G.caller) |
---|
| 238 | + | let Y = [if (isDefined(getString(m()))) |
---|
245 | 239 | | then true |
---|
246 | 240 | | else throw("no vote")] |
---|
247 | | - | if ((aa == aa)) |
---|
| 241 | + | if ((Y == Y)) |
---|
248 | 242 | | then { |
---|
249 | | - | let w = split(value(getString(s(au))), a) |
---|
250 | | - | let af = w[1] |
---|
251 | | - | let ag = w[2] |
---|
252 | | - | let al = split(value(getString(n())), a) |
---|
253 | | - | let am = al[1] |
---|
254 | | - | let an = al[2] |
---|
255 | | - | let ao = al[3] |
---|
256 | | - | let av = if ((ag == "increase")) |
---|
| 243 | + | let v = split(value(getString(r(as))), a) |
---|
| 244 | + | let ad = v[1] |
---|
| 245 | + | let ae = v[2] |
---|
| 246 | + | let aj = split(value(getString(m())), a) |
---|
| 247 | + | let ak = aj[1] |
---|
| 248 | + | let al = aj[2] |
---|
| 249 | + | let am = aj[3] |
---|
| 250 | + | let at = if ((ae == "increase")) |
---|
257 | 251 | | then { |
---|
258 | | - | let aw = (parseIntValue(am) - parseIntValue(af)) |
---|
259 | | - | $Tuple2([StringEntry(n(), o(toString(aw), an, ao)), DeleteEntry(s(au))], unit) |
---|
| 252 | + | let au = (parseIntValue(ak) - parseIntValue(ad)) |
---|
| 253 | + | $Tuple2([StringEntry(m(), n(toString(au), al, am)), DeleteEntry(r(as))], unit) |
---|
260 | 254 | | } |
---|
261 | | - | else if ((ag == "descrease")) |
---|
| 255 | + | else if ((ae == "descrease")) |
---|
262 | 256 | | then { |
---|
263 | | - | let ax = (parseIntValue(ao) - parseIntValue(af)) |
---|
264 | | - | $Tuple2([StringEntry(n(), o(am, an, toString(ax))), DeleteEntry(s(au))], unit) |
---|
| 257 | + | let av = (parseIntValue(am) - parseIntValue(ad)) |
---|
| 258 | + | $Tuple2([StringEntry(m(), n(ak, al, toString(av))), DeleteEntry(r(as))], unit) |
---|
265 | 259 | | } |
---|
266 | 260 | | else { |
---|
267 | | - | let as = (parseIntValue(an) - parseIntValue(af)) |
---|
268 | | - | $Tuple2([StringEntry(n(), o(am, toString(as), ao)), DeleteEntry(s(au))], unit) |
---|
| 261 | + | let aq = (parseIntValue(al) - parseIntValue(ad)) |
---|
| 262 | + | $Tuple2([StringEntry(m(), n(ak, toString(aq), am)), DeleteEntry(r(as))], unit) |
---|
269 | 263 | | } |
---|
270 | | - | av |
---|
| 264 | + | at |
---|
271 | 265 | | } |
---|
272 | 266 | | else throw("Strict value is not equal to itself.") |
---|
273 | 267 | | } |
---|
274 | 268 | | |
---|
275 | 269 | | |
---|
276 | 270 | | |
---|
277 | | - | @Callable(I) |
---|
278 | | - | func setThreshold (ay) = { |
---|
279 | | - | let aa = [K(I), if ((ay > 0)) |
---|
| 271 | + | @Callable(G) |
---|
| 272 | + | func setThreshold (aw) = { |
---|
| 273 | + | let Y = [I(G), if ((aw > 0)) |
---|
280 | 274 | | then true |
---|
281 | 275 | | else throw("invalid threshold")] |
---|
282 | | - | if ((aa == aa)) |
---|
283 | | - | then $Tuple2([IntegerEntry(f, ay)], unit) |
---|
| 276 | + | if ((Y == Y)) |
---|
| 277 | + | then $Tuple2([IntegerEntry(e, aw)], unit) |
---|
284 | 278 | | else throw("Strict value is not equal to itself.") |
---|
285 | 279 | | } |
---|
286 | 280 | | |
---|
287 | 281 | | |
---|
288 | 282 | | |
---|
289 | | - | @Callable(I) |
---|
290 | | - | func finalize (az,aA) = { |
---|
291 | | - | let ad = (value(getInteger(m())) + value(getInteger(b))) |
---|
292 | | - | let aa = [if ((height >= ad)) |
---|
| 283 | + | @Callable(G) |
---|
| 284 | + | func finalize (ax,ay) = { |
---|
| 285 | + | let ab = (value(getInteger(l())) + value(getInteger(b))) |
---|
| 286 | + | let Y = [if ((height >= ab)) |
---|
293 | 287 | | then true |
---|
294 | 288 | | else throw("insufficient height for completion")] |
---|
295 | | - | if ((aa == aa)) |
---|
| 289 | + | if ((Y == Y)) |
---|
296 | 290 | | then { |
---|
297 | | - | let al = split(value(getString(n())), a) |
---|
298 | | - | let am = parseIntValue(al[1]) |
---|
299 | | - | let an = parseIntValue(al[2]) |
---|
300 | | - | let ao = parseIntValue(al[3]) |
---|
301 | | - | let aB = ((am + an) + ao) |
---|
302 | | - | let Z = l(f) |
---|
303 | | - | let av = if (if ((aB >= Z)) |
---|
| 291 | + | let aj = split(value(getString(m())), a) |
---|
| 292 | + | let ak = parseIntValue(aj[1]) |
---|
| 293 | + | let al = parseIntValue(aj[2]) |
---|
| 294 | + | let am = parseIntValue(aj[3]) |
---|
| 295 | + | let az = ((ak + al) + am) |
---|
| 296 | + | let X = k(e) |
---|
| 297 | + | let at = if (if ((az >= X)) |
---|
304 | 298 | | then true |
---|
305 | 299 | | else false) |
---|
306 | | - | then { |
---|
307 | | - | let aC = invoke(z, "setWxEmissionPoolLabel", [az, aA], nil) |
---|
308 | | - | if ((aC == aC)) |
---|
309 | | - | then nil |
---|
310 | | - | else throw("Strict value is not equal to itself.") |
---|
311 | | - | } |
---|
| 300 | + | then nil |
---|
312 | 301 | | else nil |
---|
313 | | - | av |
---|
| 302 | + | at |
---|
314 | 303 | | } |
---|
315 | 304 | | else throw("Strict value is not equal to itself.") |
---|
316 | 305 | | } |
---|
317 | 306 | | |
---|
318 | 307 | | |
---|