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:
OldNewDifferences
99
1010 let d = makeString(["%s", "boostingContract"], a)
1111
12-let e = makeString(["%s", "factoryContract"], a)
12+let e = makeString(["%s", "votingThreshold"], a)
1313
14-let f = makeString(["%s", "votingThreshold"], a)
14+let f = makeString(["%s%s", "ratePerBlock", "current"], a)
1515
16-let g = makeString(["%s%s", "ratePerBlock", "current"], a)
16+let g = makeString(["%s%s", "ratePerBlockMax", "current"], a)
1717
18-let h = makeString(["%s%s", "ratePerBlockMax", "current"], a)
18+let h = makeString(["%s", "rateChangeStep"], a)
1919
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"))
2321
2422
25-func l (k) = valueOrErrorMessage(getInteger(this, k), (k + " is not defined"))
23+func k (j) = valueOrErrorMessage(getInteger(this, j), (j + " is not defined"))
2624
2725
28-func m () = makeString(["%s", "startHeight"], a)
26+func l () = makeString(["%s", "startHeight"], a)
2927
3028
31-func n () = makeString(["%s", "votingResult"], a)
29+func m () = makeString(["%s", "votingResult"], a)
3230
3331
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)
3533
3634
37-func s (t) = makeString(["%s%s", "vote", t], a)
35+func r (s) = makeString(["%s%s", "vote", s], a)
3836
3937
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
4745 }
4846
4947
50-let x = addressFromStringValue(j(d))
48+let w = addressFromStringValue(i(d))
5149
52-let y = addressFromStringValue(j(c))
50+let x = addressFromStringValue(i(c))
5351
54-let z = addressFromStringValue(j(e))
55-
56-func A () = "%s__managerPublicKey"
52+func y () = "%s__managerPublicKey"
5753
5854
59-func B () = "%s__managerVaultAddress"
55+func z () = "%s__managerVaultAddress"
6056
6157
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"))
6561 then {
66- let E = D
67- addressFromStringValue(E)
62+ let C = B
63+ addressFromStringValue(C)
6864 }
6965 else this
7066 }
7167
7268
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"))
7773 then {
78- let E = D
79- fromBase58String(E)
74+ let C = B
75+ fromBase58String(C)
8076 }
81- else if ($isInstanceOf(D, "Unit"))
77+ else if ($isInstanceOf(B, "Unit"))
8278 then unit
8379 else throw("Match error")
8480 }
8581
8682
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"))
9086 then {
91- let J = D
92- (I.callerPublicKey == J)
87+ let H = B
88+ (G.callerPublicKey == H)
9389 }
94- else if ($isInstanceOf(D, "Unit"))
95- then (I.caller == this)
90+ else if ($isInstanceOf(B, "Unit"))
91+ then (G.caller == this)
9692 else throw("Match error")
9793 }
9894
9995
100-func K (I) = if (H(I))
96+func I (G) = if (F(G))
10197 then true
10298 else throw("permission denied")
10399
104100
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"))
108104 then {
109- let N = D
110- N
105+ let L = B
106+ L
111107 }
112108 else throw("failed to cast into Integer")
113109 }
114110
115111
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)
121117 }
122118
123119
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)))
127123 then true
128- else throw("Invalid boosting contract address"), if (isDefined(addressFromString(W)))
124+ else throw("Invalid boosting contract address"), if (isDefined(addressFromString(U)))
129125 then true
130- else throw("Invalid emission contract address"), if (isDefined(addressFromString(X)))
126+ else throw("Invalid emission contract address"), if ((W > 0))
131127 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))
135129 then true
136130 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)
139133 else throw("Strict value is not equal to itself.")
140134 }
141135
142136
143137
144-@Callable(I)
138+@Callable(G)
145139 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))
150144 }
151145
152146
153147
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))
158152 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))
160154 then true
161155 else throw("not valid argument")]
162- if ((aa == aa))
156+ if ((Y == Y))
163157 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))
166160 then true
167161 else throw("you don't have gwx")
168- if ((ae == ae))
162+ if ((ac == ac))
169163 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"))
173167 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)
180174 else false)
181175 then true
182- else if ((ag == "decrease"))
183- then (ac == -1)
176+ else if ((ae == "decrease"))
177+ then (aa == -1)
184178 else false)
185179 then true
186- else if ((ag == "none"))
187- then (ac == 0)
180+ else if ((ae == "none"))
181+ then (aa == 0)
188182 else false
189- let ai = if (ah)
190- then (L(v) == parseIntValue(af))
183+ let ag = if (af)
184+ then (J(u) == parseIntValue(ad))
191185 else false
192- let aj = if (if (ah)
193- then ai
186+ let ah = if (if (af)
187+ then ag
194188 else false)
195189 then throw("you already voted")
196190 else invoke(this, "cancelVote", nil, nil)
197- aj
191+ ah
198192 }
199- else if ($isInstanceOf(D, "Unit"))
193+ else if ($isInstanceOf(B, "Unit"))
200194 then {
201- let ak = D
202- ak
195+ let ai = B
196+ ai
203197 }
204198 else throw("Match error")
205199 }
206- if ((w == w))
200+ if ((v == v))
207201 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))
213207 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]
216210 }
217- else if ((ac == -1))
211+ else if ((aa == -1))
218212 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)]
221215 }
222216 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]
225219 }
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)
229223 }
230224 else throw("Strict value is not equal to itself.")
231225 }
236230
237231
238232
239-@Callable(I)
233+@Callable(G)
240234 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())))
245239 then true
246240 else throw("no vote")]
247- if ((aa == aa))
241+ if ((Y == Y))
248242 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"))
257251 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)
260254 }
261- else if ((ag == "descrease"))
255+ else if ((ae == "descrease"))
262256 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)
265259 }
266260 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)
269263 }
270- av
264+ at
271265 }
272266 else throw("Strict value is not equal to itself.")
273267 }
274268
275269
276270
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))
280274 then true
281275 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)
284278 else throw("Strict value is not equal to itself.")
285279 }
286280
287281
288282
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))
293287 then true
294288 else throw("insufficient height for completion")]
295- if ((aa == aa))
289+ if ((Y == Y))
296290 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))
304298 then true
305299 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
312301 else nil
313- av
302+ at
314303 }
315304 else throw("Strict value is not equal to itself.")
316305 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = makeString(["%s", "epochLength"], a)
77
88 let c = makeString(["%s", "emissionContract"], a)
99
1010 let d = makeString(["%s", "boostingContract"], a)
1111
12-let e = makeString(["%s", "factoryContract"], a)
12+let e = makeString(["%s", "votingThreshold"], a)
1313
14-let f = makeString(["%s", "votingThreshold"], a)
14+let f = makeString(["%s%s", "ratePerBlock", "current"], a)
1515
16-let g = makeString(["%s%s", "ratePerBlock", "current"], a)
16+let g = makeString(["%s%s", "ratePerBlockMax", "current"], a)
1717
18-let h = makeString(["%s%s", "ratePerBlockMax", "current"], a)
18+let h = makeString(["%s", "rateChangeStep"], a)
1919
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"))
2321
2422
25-func l (k) = valueOrErrorMessage(getInteger(this, k), (k + " is not defined"))
23+func k (j) = valueOrErrorMessage(getInteger(this, j), (j + " is not defined"))
2624
2725
28-func m () = makeString(["%s", "startHeight"], a)
26+func l () = makeString(["%s", "startHeight"], a)
2927
3028
31-func n () = makeString(["%s", "votingResult"], a)
29+func m () = makeString(["%s", "votingResult"], a)
3230
3331
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)
3533
3634
37-func s (t) = makeString(["%s%s", "vote", t], a)
35+func r (s) = makeString(["%s%s", "vote", s], a)
3836
3937
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
4745 }
4846
4947
50-let x = addressFromStringValue(j(d))
48+let w = addressFromStringValue(i(d))
5149
52-let y = addressFromStringValue(j(c))
50+let x = addressFromStringValue(i(c))
5351
54-let z = addressFromStringValue(j(e))
55-
56-func A () = "%s__managerPublicKey"
52+func y () = "%s__managerPublicKey"
5753
5854
59-func B () = "%s__managerVaultAddress"
55+func z () = "%s__managerVaultAddress"
6056
6157
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"))
6561 then {
66- let E = D
67- addressFromStringValue(E)
62+ let C = B
63+ addressFromStringValue(C)
6864 }
6965 else this
7066 }
7167
7268
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"))
7773 then {
78- let E = D
79- fromBase58String(E)
74+ let C = B
75+ fromBase58String(C)
8076 }
81- else if ($isInstanceOf(D, "Unit"))
77+ else if ($isInstanceOf(B, "Unit"))
8278 then unit
8379 else throw("Match error")
8480 }
8581
8682
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"))
9086 then {
91- let J = D
92- (I.callerPublicKey == J)
87+ let H = B
88+ (G.callerPublicKey == H)
9389 }
94- else if ($isInstanceOf(D, "Unit"))
95- then (I.caller == this)
90+ else if ($isInstanceOf(B, "Unit"))
91+ then (G.caller == this)
9692 else throw("Match error")
9793 }
9894
9995
100-func K (I) = if (H(I))
96+func I (G) = if (F(G))
10197 then true
10298 else throw("permission denied")
10399
104100
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"))
108104 then {
109- let N = D
110- N
105+ let L = B
106+ L
111107 }
112108 else throw("failed to cast into Integer")
113109 }
114110
115111
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)
121117 }
122118
123119
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)))
127123 then true
128- else throw("Invalid boosting contract address"), if (isDefined(addressFromString(W)))
124+ else throw("Invalid boosting contract address"), if (isDefined(addressFromString(U)))
129125 then true
130- else throw("Invalid emission contract address"), if (isDefined(addressFromString(X)))
126+ else throw("Invalid emission contract address"), if ((W > 0))
131127 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))
135129 then true
136130 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)
139133 else throw("Strict value is not equal to itself.")
140134 }
141135
142136
143137
144-@Callable(I)
138+@Callable(G)
145139 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))
150144 }
151145
152146
153147
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))
158152 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))
160154 then true
161155 else throw("not valid argument")]
162- if ((aa == aa))
156+ if ((Y == Y))
163157 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))
166160 then true
167161 else throw("you don't have gwx")
168- if ((ae == ae))
162+ if ((ac == ac))
169163 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"))
173167 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)
180174 else false)
181175 then true
182- else if ((ag == "decrease"))
183- then (ac == -1)
176+ else if ((ae == "decrease"))
177+ then (aa == -1)
184178 else false)
185179 then true
186- else if ((ag == "none"))
187- then (ac == 0)
180+ else if ((ae == "none"))
181+ then (aa == 0)
188182 else false
189- let ai = if (ah)
190- then (L(v) == parseIntValue(af))
183+ let ag = if (af)
184+ then (J(u) == parseIntValue(ad))
191185 else false
192- let aj = if (if (ah)
193- then ai
186+ let ah = if (if (af)
187+ then ag
194188 else false)
195189 then throw("you already voted")
196190 else invoke(this, "cancelVote", nil, nil)
197- aj
191+ ah
198192 }
199- else if ($isInstanceOf(D, "Unit"))
193+ else if ($isInstanceOf(B, "Unit"))
200194 then {
201- let ak = D
202- ak
195+ let ai = B
196+ ai
203197 }
204198 else throw("Match error")
205199 }
206- if ((w == w))
200+ if ((v == v))
207201 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))
213207 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]
216210 }
217- else if ((ac == -1))
211+ else if ((aa == -1))
218212 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)]
221215 }
222216 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]
225219 }
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)
229223 }
230224 else throw("Strict value is not equal to itself.")
231225 }
232226 else throw("Strict value is not equal to itself.")
233227 }
234228 else throw("Strict value is not equal to itself.")
235229 }
236230
237231
238232
239-@Callable(I)
233+@Callable(G)
240234 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())))
245239 then true
246240 else throw("no vote")]
247- if ((aa == aa))
241+ if ((Y == Y))
248242 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"))
257251 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)
260254 }
261- else if ((ag == "descrease"))
255+ else if ((ae == "descrease"))
262256 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)
265259 }
266260 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)
269263 }
270- av
264+ at
271265 }
272266 else throw("Strict value is not equal to itself.")
273267 }
274268
275269
276270
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))
280274 then true
281275 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)
284278 else throw("Strict value is not equal to itself.")
285279 }
286280
287281
288282
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))
293287 then true
294288 else throw("insufficient height for completion")]
295- if ((aa == aa))
289+ if ((Y == Y))
296290 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))
304298 then true
305299 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
312301 else nil
313- av
302+ at
314303 }
315304 else throw("Strict value is not equal to itself.")
316305 }
317306
318307

github/deemru/w8io/026f985 
100.34 ms