tx · ERvswQ6XDy5xjMvC1oBeMZbf2AiX16vNEKryiocJUvTW

3MvJDKBFzztnd7KCU78zgJ8qUuzVux4c9yw:  -0.01000000 Waves

2022.10.23 14:15 [2284971] smart account 3MvJDKBFzztnd7KCU78zgJ8qUuzVux4c9yw > SELF 0.00000000 Waves

{ "type": 13, "id": "ERvswQ6XDy5xjMvC1oBeMZbf2AiX16vNEKryiocJUvTW", "fee": 1000000, "feeAssetId": null, "timestamp": 1666523790999, "version": 2, "chainId": 84, "sender": "3MvJDKBFzztnd7KCU78zgJ8qUuzVux4c9yw", "senderPublicKey": "9gVuyFNzke49pnadJxJ312ZWhYudDhdcqP5hsm5pGQw6", "proofs": [ "2UXDGY264mCcqwD8JoVSSJQhfAwLvAiCQpFB42gMzP84LRZqU1z7zUZudC2uMikdev2txp9vvvkBipd6JgX1ybzJ" ], "script": "base64:BgIyCAISAwoBCBIDCgEIEgYKBAgBAQgSBQoDCAEIEgUKAwgIARIAEgQKAggEEgQKAggEEgAtAAl1bmRlZmluZWQCCXVuZGVmaW5lZAAJc2VwYXJhdG9yAgE7ABBjb25maWdBZGRyZXNzS2V5AgZjb25maWcAE2NvbGxlY3RvckFkZHJlc3NLZXkCEWNvbGxlY3Rvcl9hZGRyZXNzABFoaXN0b3J5QWRkcmVzc0tleQIPaGlzdG9yeV9hZGRyZXNzABJwYXltYWtlckFkZHJlc3NLZXkCEHBheW1ha2VyX2FkZHJlc3MACWFkbWluc0tleQIGYWRtaW5zAA1jb25maWdBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzBRBjb25maWdBZGRyZXNzS2V5ABBjb2xsZWN0b3JBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1MykCBQ1jb25maWdBZGRyZXNzBRNjb2xsZWN0b3JBZGRyZXNzS2V5AA5oaXN0b3J5QWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUNY29uZmlnQWRkcmVzcwURaGlzdG9yeUFkZHJlc3NLZXkAD3BheW1ha2VyQWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUNY29uZmlnQWRkcmVzcwUScGF5bWFrZXJBZGRyZXNzS2V5AQdpc0FkbWluAQZjYWxsZXIEBmFkbVJvdwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ1jb25maWdBZGRyZXNzBQlhZG1pbnNLZXkCAAMDCQAAAgUGY2FsbGVyBQR0aGlzBgkBCGNvbnRhaW5zAgUGYWRtUm93CQClCAEFBmNhbGxlcgYHAQ1nZXRDaGVja2VyS2V5AQdjaGVja2VyCQCsAgICCGNoZWNrZXJfBQdjaGVja2VyAQlpc0NoZWNrZXIBB2NoZWNrZXIECGlzRXhpc3RzCQEJaXNEZWZpbmVkAQkAmwgCBQ1jb25maWdBZGRyZXNzCQENZ2V0Q2hlY2tlcktleQEFB2NoZWNrZXIFCGlzRXhpc3RzAARVU0ROASAYZnRB0PLZIchHiUNJCnGtXhPXO6NBZoIwBSXE8y+z0AAJbWluQW1vdW50AICt4gQADGZlZU51bWVyYXRvcgAFAA5mZWVEZW5vbWluYXRvcgBkAA5tYXhCZXRzT25QcmljZQADAA1maXJzdEV2ZW50S2V5AgtmaXJzdF9ldmVudAAMbGFzdEV2ZW50S2V5AgpsYXN0X2V2ZW50ABVmaXNydEZpbmlzaGVkRXZlbnRLZXkCFGZpcnN0X2ZpbmlzaGVkX2V2ZW50ABRsYXN0RmluaXNoZWRFdmVudEtleQITbGFzdF9maW5pc2hlZF9ldmVudAATZmlzcnRBY3RpdmVFdmVudEtleQISZmlyc3RfYWN0aXZlX2V2ZW50ABJsYXN0QWN0aXZlRXZlbnRLZXkCEWxhc3RfYWN0aXZlX2V2ZW50ARBnZXRTdGFydEJsb2NrS2V5AQdldmVudElkCQCsAgIFB2V2ZW50SWQCDF9zdGFydF9ibG9jawEOZ2V0RW5kQmxvY2tLZXkBB2V2ZW50SWQJAKwCAgUHZXZlbnRJZAIKX2VuZF9ibG9jawEOZ2V0RmluaXNoQXRLZXkBB2V2ZW50SWQJAKwCAgUHZXZlbnRJZAIQX2ZpbmlzaF9hdF9ibG9jawEIZ2V0SWRLZXkBB2V2ZW50SWQJAKwCAgUHZXZlbnRJZAIDX2lkAQxnZXRTdGF0dXNLZXkBB2V2ZW50SWQJAKwCAgUHZXZlbnRJZAIHX3N0YXR1cwEKZ2V0RGVzY0tleQEHZXZlbnRJZAkArAICBQdldmVudElkAgxfZGVzY3JpcHRpb24BD2dldFByZXZFdmVudEtleQEHZXZlbnRJZAkArAICBQdldmVudElkAgtfcHJldl9ldmVudAEPZ2V0TmV4dEV2ZW50S2V5AQdldmVudElkCQCsAgIFB2V2ZW50SWQCC19uZXh0X2V2ZW50AQ1nZXRBc3NldElkS2V5AQdldmVudElkCQCsAgIFB2V2ZW50SWQCCV9hc3NldF9pZAERZ2V0VG90YWxBbW91bnRLZXkBB2V2ZW50SWQJAKwCAgUHZXZlbnRJZAINX3RvdGFsX2Ftb3VudAEXZ2V0UHJpY2VzR3JvdXBzQ291bnRLZXkBB2V2ZW50SWQJAKwCAgUHZXZlbnRJZAITX3ByaWNlc19ncm91cF9jb3VudAEWZ2V0UHJpY2VzTGlzdHNDb3VudEtleQEHZXZlbnRJZAkArAICBQdldmVudElkAhJfcHJpY2VzX2xpc3RfY291bnQBEWdldFByaWNlc0xpc3ROS2V5AgdldmVudElkAW4JAKwCAgkArAICBQdldmVudElkAg1fcHJpY2VzX2xpc3RfCQCkAwEFAW4BEWdldFByaWNlQmV0c0NvdW50AgdldmVudElkBXByaWNlCQCsAgIJAKwCAgkArAICBQdldmVudElkAgFfCQCkAwEFBXByaWNlAgtfYmV0c19jb3VudAESZ2V0UHJpY2VBZGRyZXNzS2V5AgdldmVudElkB2FkZHJlc3MJAKwCAgkArAICCQCsAgIFB2V2ZW50SWQCAV8FB2FkZHJlc3MCBl9wcmljZQEFYXNJbnQBAXYEByRtYXRjaDAFAXYDCQABAgUHJG1hdGNoMAIDSW50BAF4BQckbWF0Y2gwBQF4BAF0BQckbWF0Y2gwCQACAQIEI2VycgEIYXNTdHJpbmcBAXYEByRtYXRjaDAFAXYDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAF4BQckbWF0Y2gwBQF4CQACAQIEI2VycgEMZ2V0QXNzZXRJbmZvAQhhc3NldFN0cgQHYXNzZXRJZAkA2QQBBQhhc3NldFN0cgQBeAQHJG1hdGNoMAkA7AcBBQdhc3NldElkAwkAAQIFByRtYXRjaDACBUFzc2V0BAVhc3NldAUHJG1hdGNoMAkAlAoCBQhhc3NldFN0cggFBWFzc2V0CGRlY2ltYWxzCQCUCgICBVdBVkVTAAAFAXgBCWdldFN0YXR1cwEHZXZlbnRJZAQGc3RhdHVzCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzCQEMZ2V0U3RhdHVzS2V5AQUHZXZlbnRJZAMDAwkAAAIFBnN0YXR1cwIIZmluaXNoZWQGCQAAAgUGc3RhdHVzAgEjBgkAAAIFBnN0YXR1cwIFZW5kZWQFBnN0YXR1cwQIZmluaXNoQXQJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMJAQ5nZXRGaW5pc2hBdEtleQEFB2V2ZW50SWQECnN0YXJ0QmxvY2sJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMJARBnZXRTdGFydEJsb2NrS2V5AQUHZXZlbnRJZAQIZW5kQmxvY2sJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMJAQ5nZXRFbmRCbG9ja0tleQEFB2V2ZW50SWQDCQBmAgUKc3RhcnRCbG9jawUGaGVpZ2h0Aghhd2FpdGluZwMDCQBnAgUGaGVpZ2h0BQpzdGFydEJsb2NrCQBnAgUIZW5kQmxvY2sFBmhlaWdodAcCBmFjdGl2ZQMDCQBmAgUGaGVpZ2h0BQhlbmRCbG9jawkAZwIFCGZpbmlzaEF0BQZoZWlnaHQHAgxjb25maXJtYXRpb24DCQBmAgUGaGVpZ2h0BQhmaW5pc2hBdAIIZmluaXNoZWQJAAIBAg51bmtub3duIHN0YXR1cwENcmVnaXN0ZXJFdmVudAYEdHhpZARkZXNjCnN0YXJ0QmxvY2sIZW5kQmxvY2sIZmluaXNoQXQIYXNzZXRTdHIEB2V2ZW50SWQFBHR4aWQEBmluc2VydAkA/AcEBQR0aGlzAgxpbnNlcnRUb0xpc3QJAMwIAgUHZXZlbnRJZAkAzAgCBgUDbmlsBQNuaWwDCQAAAgUGaW5zZXJ0BQZpbnNlcnQEBmNvbmNhdAkA/AcEBQR0aGlzAgtjb25jYXRMaXN0cwUDbmlsBQNuaWwDCQAAAgUGY29uY2F0BQZjb25jYXQECyR0MDQ4Njc0OTIwCQEMZ2V0QXNzZXRJbmZvAQUIYXNzZXRTdHIEB2Fzc2V0SWQIBQskdDA0ODY3NDkyMAJfMQQNYXNzZXREZWNpbWFscwgFCyR0MDQ4Njc0OTIwAl8yCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEQZ2V0U3RhcnRCbG9ja0tleQEFB2V2ZW50SWQFCnN0YXJ0QmxvY2sJAMwIAgkBDEludGVnZXJFbnRyeQIJAQ5nZXRFbmRCbG9ja0tleQEFB2V2ZW50SWQFCGVuZEJsb2NrCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEOZ2V0RmluaXNoQXRLZXkBBQdldmVudElkBQhmaW5pc2hBdAkAzAgCCQELU3RyaW5nRW50cnkCCQEKZ2V0RGVzY0tleQEFB2V2ZW50SWQFBGRlc2MJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDGdldFN0YXR1c0tleQEFB2V2ZW50SWQCA25ldwkAzAgCCQELU3RyaW5nRW50cnkCCQEIZ2V0SWRLZXkBBQdldmVudElkBQdldmVudElkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ1nZXRBc3NldElkS2V5AQUHZXZlbnRJZAUHYXNzZXRJZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQFpAQRpbml0AQZjb25maWcDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhBvbmx5IG1haW4gY2FuIGRvBAhpc0V4aXN0cwkBCWlzRGVmaW5lZAEJAJ0IAgUEdGhpcwUQY29uZmlnQWRkcmVzc0tleQMJAQEhAQUIaXNFeGlzdHMJAMwIAgkBC1N0cmluZ0VudHJ5AgUQY29uZmlnQWRkcmVzc0tleQUGY29uZmlnBQNuaWwJAAIBAg5hbHJlYWR5IGluaXRlZAFpAQ1hcHBlbmRFdmVudGVyAQRkZXNjAwkBASEBCQEHaXNBZG1pbgEIBQFpBmNhbGxlcgkAAgECEW9ubHkgYWRtaW4gY2FuIGRvBANpbnYJAPwHBAUNY29uZmlnQWRkcmVzcwIKc2V0RXZlbnRlcgkAzAgCCQClCAEFBHRoaXMJAMwIAgUEZGVzYwUDbmlsBQNuaWwDCQAAAgUDaW52BQNpbnYFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARFmdWxsUmVnaXN0ZXJFdmVudAQEZGVzYwpzdGFydEJsb2NrCGR1cmF0aW9uCGFzc2V0U3RyBA1uZXdTdGFydEJsb2NrAwkAAAIFCnN0YXJ0QmxvY2sAAAUGaGVpZ2h0BQpzdGFydEJsb2NrBAhlbmRCbG9jawkAZAIFDW5ld1N0YXJ0QmxvY2sFCGR1cmF0aW9uBAhmaW5pc2hBdAkAZAIFCGVuZEJsb2NrAKALAwkBASEBCQEHaXNBZG1pbgEIBQFpBmNhbGxlcgkAAgECEW9ubHkgYWRtaW4gY2FuIGRvBAR0eGlkCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQJAQ1yZWdpc3RlckV2ZW50BgUEdHhpZAUEZGVzYwUNbmV3U3RhcnRCbG9jawUIZW5kQmxvY2sFCGZpbmlzaEF0BQhhc3NldFN0cgFpAQZjaG9pY2UDB2V2ZW50SWQFcHJpY2UHYWRkcmVzcwQGc3RhdHVzCQEJZ2V0U3RhdHVzAQUHZXZlbnRJZAMJAAACBQZzdGF0dXMCBmFjdGl2ZQQMbmVlZGVkQW1vdW50AICt4gQEC25lZWRlZEFzc2V0BQRVU0ROAwMDCQAAAgkAkAMBCAUBaQhwYXltZW50cwABCQAAAggJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBQtuZWVkZWRBc3NldAcJAAACCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAUMbmVlZGVkQW1vdW50BwQJaW52QXBwZW5kCQD8BwQFBHRoaXMCDmFwcGVuZEJldHNMaXN0CQDMCAIFB2V2ZW50SWQJAMwIAgUHYWRkcmVzcwkAzAgCBQVwcmljZQUDbmlsBQNuaWwDCQAAAgUJaW52QXBwZW5kBQlpbnZBcHBlbmQEDGN1cnJlbnRUb3RhbAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQERZ2V0VG90YWxBbW91bnRLZXkBBQdldmVudElkAAAJAMwIAgkBDEludGVnZXJFbnRyeQIJARFnZXRUb3RhbEFtb3VudEtleQEFB2V2ZW50SWQJAGQCBQxjdXJyZW50VG90YWwICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAgtCYWQgcGF5bWVudAkAAgECD1lvdSBjYW5gdCBkbyBpdAFpAQ5hcHBlbmRCZXRzTGlzdAMHZXZlbnRJZAphZGRyZXNzU3RyBXByaWNlAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIQb25seSBtYWluIGNhbiBkbwMJAQlpc0RlZmluZWQBCQCdCAIFBHRoaXMJARJnZXRQcmljZUFkZHJlc3NLZXkCBQdldmVudElkBQphZGRyZXNzU3RyCQACAQIjYmV0dGluZyBmcm9tIHRoaXMgYWRkcmVzcyBpcyBleGlzdHMEDmNvdW50QmV0c1ByaWNlCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJARFnZXRQcmljZUJldHNDb3VudAIFB2V2ZW50SWQFBXByaWNlAAADCQBnAgUOY291bnRCZXRzUHJpY2UFDm1heEJldHNPblByaWNlCQACAQIMdG8gbWFueSBiZXRzBAlsaXN0SW5kZXgJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBFmdldFByaWNlc0xpc3RzQ291bnRLZXkBBQdldmVudElkAAEEDWN1cnJlbnRQcmljZXMJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwkBEWdldFByaWNlc0xpc3ROS2V5AgUHZXZlbnRJZAUJbGlzdEluZGV4AgAEEWN1cnJlbnRQcmljZXNMaXN0CQC8CQIFDWN1cnJlbnRQcmljZXMFCXNlcGFyYXRvcgQIbGlzdFNpemUJAJADAQURY3VycmVudFByaWNlc0xpc3QECW5ld1ByaWNlcwMJAAACBQ5jb3VudEJldHNQcmljZQAAAwkAZgIAZAUIbGlzdFNpemUDCQAAAgkAsQIBBQ1jdXJyZW50UHJpY2VzAAAJAKQDAQUFcHJpY2UJAKwCAgkArAICBQ1jdXJyZW50UHJpY2VzBQlzZXBhcmF0b3IJAKQDAQUFcHJpY2UJAKQDAQUFcHJpY2UFDWN1cnJlbnRQcmljZXMEDG5ld0xpc3RJbmRleAMDCQBnAgUIbGlzdFNpemUAZAkAAAIFDmNvdW50QmV0c1ByaWNlAAAHBQlsaXN0SW5kZXgJAGQCBQlsaXN0SW5kZXgAAQQObmV3R3JvdXBzQ291bnQJAGQCCQBpAgkAZQIFDG5ld0xpc3RJbmRleAABAAoAAQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBEmdldFByaWNlQWRkcmVzc0tleQIFB2V2ZW50SWQFCmFkZHJlc3NTdHIFBXByaWNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEWZ2V0UHJpY2VzTGlzdHNDb3VudEtleQEFB2V2ZW50SWQFDG5ld0xpc3RJbmRleAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBF2dldFByaWNlc0dyb3Vwc0NvdW50S2V5AQUHZXZlbnRJZAUObmV3R3JvdXBzQ291bnQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBEWdldFByaWNlc0xpc3ROS2V5AgUHZXZlbnRJZAUMbmV3TGlzdEluZGV4BQluZXdQcmljZXMFA25pbAFpAQlyZXNldExpc3QAAwkBASEBCQEHaXNBZG1pbgEIBQFpBmNhbGxlcgkAAgECEW9ubHkgYWRtaW4gY2FuIGRvCQDMCAIJAQtTdHJpbmdFbnRyeQIFDWZpcnN0RXZlbnRLZXkFCXVuZGVmaW5lZAkAzAgCCQELU3RyaW5nRW50cnkCBQxsYXN0RXZlbnRLZXkFCXVuZGVmaW5lZAkAzAgCCQELU3RyaW5nRW50cnkCBRNmaXNydEFjdGl2ZUV2ZW50S2V5BQl1bmRlZmluZWQJAMwIAgkBC1N0cmluZ0VudHJ5AgUSbGFzdEFjdGl2ZUV2ZW50S2V5BQl1bmRlZmluZWQJAMwIAgkBC1N0cmluZ0VudHJ5AgUVZmlzcnRGaW5pc2hlZEV2ZW50S2V5BQl1bmRlZmluZWQJAMwIAgkBC1N0cmluZ0VudHJ5AgUUbGFzdEZpbmlzaGVkRXZlbnRLZXkFCXVuZGVmaW5lZAUDbmlsAWkBDGluc2VydFRvTGlzdAIHZXZlbnRJZAhpc0FjdGl2ZQMJAQIhPQIFBHRoaXMIBQFpBmNhbGxlcgkAAgECEG9ubHkgbWFpbiBjYW4gZG8EB2xhc3RLZXkDBQhpc0FjdGl2ZQUSbGFzdEFjdGl2ZUV2ZW50S2V5BRRsYXN0RmluaXNoZWRFdmVudEtleQQIZmlyc3RLZXkDBQhpc0FjdGl2ZQUTZmlzcnRBY3RpdmVFdmVudEtleQUVZmlzcnRGaW5pc2hlZEV2ZW50S2V5BApmaXJzdEV2ZW50CQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMFCGZpcnN0S2V5BQl1bmRlZmluZWQECWxhc3RFdmVudAkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzBQdsYXN0S2V5BQl1bmRlZmluZWQEEG5ld0xhc3RPclByZXZLZXkDCQAAAgUJbGFzdEV2ZW50BQl1bmRlZmluZWQFB2xhc3RLZXkJAQ9nZXRQcmV2RXZlbnRLZXkBBQpmaXJzdEV2ZW50CQDMCAIJAQtTdHJpbmdFbnRyeQIFCGZpcnN0S2V5BQdldmVudElkCQDMCAIJAQtTdHJpbmdFbnRyeQIFEG5ld0xhc3RPclByZXZLZXkFB2V2ZW50SWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBD2dldE5leHRFdmVudEtleQEFB2V2ZW50SWQFCmZpcnN0RXZlbnQFA25pbAFpAQ5kZWxldGVGcm9tTGlzdAIHZXZlbnRJZAhpc0FjdGl2ZQMJAQIhPQIFBHRoaXMIBQFpBmNhbGxlcgkAAgECEG9ubHkgbWFpbiBjYW4gZG8EB2xhc3RLZXkDBQhpc0FjdGl2ZQUSbGFzdEFjdGl2ZUV2ZW50S2V5BRRsYXN0RmluaXNoZWRFdmVudEtleQQIZmlyc3RLZXkDBQhpc0FjdGl2ZQUTZmlzcnRBY3RpdmVFdmVudEtleQUVZmlzcnRGaW5pc2hlZEV2ZW50S2V5BApmaXJzdEV2ZW50CQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMFCGZpcnN0S2V5BQl1bmRlZmluZWQECWxhc3RFdmVudAkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzBQdsYXN0S2V5BQl1bmRlZmluZWQEDXByZXZFdmVudFRlbXAJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwkBD2dldFByZXZFdmVudEtleQEFB2V2ZW50SWQFCXVuZGVmaW5lZAQNbmV4dEV2ZW50VGVtcAkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzCQEPZ2V0TmV4dEV2ZW50S2V5AQUHZXZlbnRJZAUJdW5kZWZpbmVkBAlwcmV2RXZlbnQDCQAAAgUHZXZlbnRJZAUKZmlyc3RFdmVudAUJdW5kZWZpbmVkBQ1wcmV2RXZlbnRUZW1wBAluZXh0RXZlbnQDCQAAAgUHZXZlbnRJZAUJbGFzdEV2ZW50BQl1bmRlZmluZWQFDW5leHRFdmVudFRlbXADAwkAAAIFCXByZXZFdmVudAUJdW5kZWZpbmVkCQAAAgUJbmV4dEV2ZW50BQl1bmRlZmluZWQHCQDMCAIJAQtTdHJpbmdFbnRyeQIFCGZpcnN0S2V5BQl1bmRlZmluZWQJAMwIAgkBC1N0cmluZ0VudHJ5AgUHbGFzdEtleQUJdW5kZWZpbmVkBQNuaWwDAwkBAiE9AgUJcHJldkV2ZW50BQl1bmRlZmluZWQJAQIhPQIFCW5leHRFdmVudAUJdW5kZWZpbmVkBwkAzAgCCQELU3RyaW5nRW50cnkCCQEPZ2V0UHJldkV2ZW50S2V5AQUJbmV4dEV2ZW50BQlwcmV2RXZlbnQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBD2dldE5leHRFdmVudEtleQEFCXByZXZFdmVudAUJbmV4dEV2ZW50BQNuaWwDCQECIT0CBQlwcmV2RXZlbnQFCXVuZGVmaW5lZAkAzAgCCQELU3RyaW5nRW50cnkCBQdsYXN0S2V5BQlwcmV2RXZlbnQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBD2dldE5leHRFdmVudEtleQEFCXByZXZFdmVudAUJdW5kZWZpbmVkBQNuaWwJAMwIAgkBC1N0cmluZ0VudHJ5AgUIZmlyc3RLZXkFCW5leHRFdmVudAkAzAgCCQELU3RyaW5nRW50cnkCCQEPZ2V0UHJldkV2ZW50S2V5AQUJbmV4dEV2ZW50BQl1bmRlZmluZWQFA25pbAFpAQtjb25jYXRMaXN0cwADCQEBIQEJAQdpc0FkbWluAQgFAWkGY2FsbGVyCQACAQIRb25seSBhZG1pbiBjYW4gZG8EEGZpcnN0QWN0aXZlRXZlbnQJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwUTZmlzcnRBY3RpdmVFdmVudEtleQUJdW5kZWZpbmVkBA9sYXN0QWN0aXZlRXZlbnQJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwUSbGFzdEFjdGl2ZUV2ZW50S2V5BQl1bmRlZmluZWQEEmZpcnN0RmluaXNoZWRFdmVudAkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzBRVmaXNydEZpbmlzaGVkRXZlbnRLZXkFCXVuZGVmaW5lZAQRbGFzdEZpbmlzaGVkRXZlbnQJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwUUbGFzdEZpbmlzaGVkRXZlbnRLZXkFCXVuZGVmaW5lZAQKZmlyc3RFdmVudAMJAQIhPQIFEGZpcnN0QWN0aXZlRXZlbnQFCXVuZGVmaW5lZAUQZmlyc3RBY3RpdmVFdmVudAUSZmlyc3RGaW5pc2hlZEV2ZW50BAlsYXN0RXZlbnQDCQECIT0CBRFsYXN0RmluaXNoZWRFdmVudAUJdW5kZWZpbmVkBRFsYXN0RmluaXNoZWRFdmVudAUPbGFzdEFjdGl2ZUV2ZW50AwMJAQIhPQIFEmZpcnN0RmluaXNoZWRFdmVudAUJdW5kZWZpbmVkCQECIT0CBQ9sYXN0QWN0aXZlRXZlbnQFCXVuZGVmaW5lZAcJAMwIAgkBC1N0cmluZ0VudHJ5AgUNZmlyc3RFdmVudEtleQUKZmlyc3RFdmVudAkAzAgCCQELU3RyaW5nRW50cnkCBQxsYXN0RXZlbnRLZXkFCWxhc3RFdmVudAkAzAgCCQELU3RyaW5nRW50cnkCCQEPZ2V0TmV4dEV2ZW50S2V5AQUPbGFzdEFjdGl2ZUV2ZW50BRJmaXJzdEZpbmlzaGVkRXZlbnQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBD2dldFByZXZFdmVudEtleQEFEmZpcnN0RmluaXNoZWRFdmVudAUPbGFzdEFjdGl2ZUV2ZW50BQNuaWwJAMwIAgkBC1N0cmluZ0VudHJ5AgUNZmlyc3RFdmVudEtleQUKZmlyc3RFdmVudAkAzAgCCQELU3RyaW5nRW50cnkCBQxsYXN0RXZlbnRLZXkFCWxhc3RFdmVudAUDbmlsAEXaAcE=", "height": 2284971, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GVYMmqts5DKYxqJvC6jo5JagdRyYQ98DLn4rbEKcjaNM Next: B1oeawy8RSFyDmshg5iATKRaoZRZL1gaKCnCAwhKtLj4 Diff:
OldNewDifferences
254254 let az = invoke(this, "appendBetsList", [E, V, T], nil)
255255 if ((az == az))
256256 then {
257- let aA = invoke(j, "saveToHistory", [E, V], nil)
258- if ((aA == aA))
259- then {
260- let aB = valueOrElse(getInteger(this, N(E)), 0)
261-[IntegerEntry(N(E), (aB + as.payments[0].amount))]
262- }
263- else throw("Strict value is not equal to itself.")
257+ let aA = valueOrElse(getInteger(this, N(E)), 0)
258+[IntegerEntry(N(E), (aA + as.payments[0].amount))]
264259 }
265260 else throw("Strict value is not equal to itself.")
266261 }
272267
273268
274269 @Callable(as)
275-func appendBetsList (E,aC,T) = if ((as.caller != this))
270+func appendBetsList (E,aB,T) = if ((as.caller != this))
276271 then throw("only main can do")
277- else if (isDefined(getString(this, U(E, aC))))
272+ else if (isDefined(getString(this, U(E, aB))))
278273 then throw("betting from this address is exists")
279274 else {
280- let aD = valueOrElse(getInteger(this, S(E, T)), 0)
281- if ((aD >= w))
275+ let aC = valueOrElse(getInteger(this, S(E, T)), 0)
276+ if ((aC >= w))
282277 then throw("to many bets")
283278 else {
284- let aE = valueOrElse(getInteger(this, P(E)), 1)
285- let aF = valueOrElse(getString(this, Q(E, aE)), "")
286- let aG = split_4C(aF, b)
287- let aH = size(aG)
288- let aI = if ((aD == 0))
289- then if ((100 > aH))
290- then if ((size(aF) == 0))
279+ let aD = valueOrElse(getInteger(this, P(E)), 1)
280+ let aE = valueOrElse(getString(this, Q(E, aD)), "")
281+ let aF = split_4C(aE, b)
282+ let aG = size(aF)
283+ let aH = if ((aC == 0))
284+ then if ((100 > aG))
285+ then if ((size(aE) == 0))
291286 then toString(T)
292- else ((aF + b) + toString(T))
287+ else ((aE + b) + toString(T))
293288 else toString(T)
294- else aF
295- let aJ = if (if ((aH >= 100))
296- then (aD == 0)
289+ else aE
290+ let aI = if (if ((aG >= 100))
291+ then (aC == 0)
297292 else false)
298- then aE
299- else (aE + 1)
300- let aK = (((aJ - 1) / 10) + 1)
301-[IntegerEntry(U(E, aC), T), IntegerEntry(P(E), aJ), IntegerEntry(O(E), aK), StringEntry(Q(E, aJ), aI)]
293+ then aD
294+ else (aD + 1)
295+ let aJ = (((aI - 1) / 10) + 1)
296+[IntegerEntry(U(E, aB), T), IntegerEntry(P(E), aI), IntegerEntry(O(E), aJ), StringEntry(Q(E, aI), aH)]
302297 }
303298 }
304299
312307
313308
314309 @Callable(as)
315-func insertToList (E,aL) = if ((this != as.caller))
310+func insertToList (E,aK) = if ((this != as.caller))
316311 then throw("only main can do")
317312 else {
318- let aM = if (aL)
313+ let aL = if (aK)
319314 then C
320315 else A
321- let aN = if (aL)
316+ let aM = if (aK)
322317 then B
323318 else z
324- let aO = valueOrElse(getString(this, aN), a)
325- let aP = valueOrElse(getString(this, aM), a)
326- let aQ = if ((aP == a))
327- then aM
328- else K(aO)
329-[StringEntry(aN, E), StringEntry(aQ, E), StringEntry(L(E), aO)]
319+ let aN = valueOrElse(getString(this, aM), a)
320+ let aO = valueOrElse(getString(this, aL), a)
321+ let aP = if ((aO == a))
322+ then aL
323+ else K(aN)
324+[StringEntry(aM, E), StringEntry(aP, E), StringEntry(L(E), aN)]
330325 }
331326
332327
333328
334329 @Callable(as)
335-func deleteFromList (E,aL) = if ((this != as.caller))
330+func deleteFromList (E,aK) = if ((this != as.caller))
336331 then throw("only main can do")
337332 else {
338- let aM = if (aL)
333+ let aL = if (aK)
339334 then C
340335 else A
341- let aN = if (aL)
336+ let aM = if (aK)
342337 then B
343338 else z
344- let aO = valueOrElse(getString(this, aN), a)
345- let aP = valueOrElse(getString(this, aM), a)
346- let aR = valueOrElse(getString(this, K(E)), a)
347- let aS = valueOrElse(getString(this, L(E)), a)
339+ let aN = valueOrElse(getString(this, aM), a)
340+ let aO = valueOrElse(getString(this, aL), a)
341+ let aQ = valueOrElse(getString(this, K(E)), a)
342+ let aR = valueOrElse(getString(this, L(E)), a)
343+ let aS = if ((E == aN))
344+ then a
345+ else aQ
348346 let aT = if ((E == aO))
349347 then a
350348 else aR
351- let aU = if ((E == aP))
352- then a
353- else aS
354- if (if ((aT == a))
355- then (aU == a)
349+ if (if ((aS == a))
350+ then (aT == a)
356351 else false)
357- then [StringEntry(aN, a), StringEntry(aM, a)]
358- else if (if ((aT != a))
359- then (aU != a)
352+ then [StringEntry(aM, a), StringEntry(aL, a)]
353+ else if (if ((aS != a))
354+ then (aT != a)
360355 else false)
361- then [StringEntry(K(aU), aT), StringEntry(L(aT), aU)]
362- else if ((aT != a))
363- then [StringEntry(aM, aT), StringEntry(L(aT), a)]
364- else [StringEntry(aN, aU), StringEntry(K(aU), a)]
356+ then [StringEntry(K(aT), aS), StringEntry(L(aS), aT)]
357+ else if ((aS != a))
358+ then [StringEntry(aL, aS), StringEntry(L(aS), a)]
359+ else [StringEntry(aM, aT), StringEntry(K(aT), a)]
365360 }
366361
367362
370365 func concatLists () = if (!(l(as.caller)))
371366 then throw("only admin can do")
372367 else {
373- let aV = valueOrElse(getString(this, B), a)
374- let aW = valueOrElse(getString(this, C), a)
375- let aX = valueOrElse(getString(this, z), a)
376- let aY = valueOrElse(getString(this, A), a)
377- let aO = if ((aV != a))
378- then aV
379- else aX
380- let aP = if ((aY != a))
381- then aY
368+ let aU = valueOrElse(getString(this, B), a)
369+ let aV = valueOrElse(getString(this, C), a)
370+ let aW = valueOrElse(getString(this, z), a)
371+ let aX = valueOrElse(getString(this, A), a)
372+ let aN = if ((aU != a))
373+ then aU
382374 else aW
383- if (if ((aX != a))
384- then (aW != a)
375+ let aO = if ((aX != a))
376+ then aX
377+ else aV
378+ if (if ((aW != a))
379+ then (aV != a)
385380 else false)
386- then [StringEntry(x, aO), StringEntry(y, aP), StringEntry(L(aW), aX), StringEntry(K(aX), aW)]
387- else [StringEntry(x, aO), StringEntry(y, aP)]
381+ then [StringEntry(x, aN), StringEntry(y, aO), StringEntry(L(aV), aW), StringEntry(K(aW), aV)]
382+ else [StringEntry(x, aN), StringEntry(y, aO)]
388383 }
389384
390385
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "undefined"
55
66 let b = ";"
77
88 let c = "config"
99
1010 let d = "collector_address"
1111
1212 let e = "history_address"
1313
1414 let f = "paymaker_address"
1515
1616 let g = "admins"
1717
1818 let h = addressFromStringValue(getStringValue(this, c))
1919
2020 let i = addressFromStringValue(getStringValue(h, d))
2121
2222 let j = addressFromStringValue(getStringValue(h, e))
2323
2424 let k = addressFromStringValue(getStringValue(h, f))
2525
2626 func l (m) = {
2727 let n = valueOrElse(getString(h, g), "")
2828 if (if ((m == this))
2929 then true
3030 else contains(n, toString(m)))
3131 then true
3232 else false
3333 }
3434
3535
3636 func o (p) = ("checker_" + p)
3737
3838
3939 func q (p) = {
4040 let r = isDefined(getBoolean(h, o(p)))
4141 r
4242 }
4343
4444
4545 let s = base58'2eFPx8M5qwNFRbW91pzsyBKMz1FZmYMUW3BVZzTQmbFD'
4646
4747 let t = 10000000
4848
4949 let u = 5
5050
5151 let v = 100
5252
5353 let w = 3
5454
5555 let x = "first_event"
5656
5757 let y = "last_event"
5858
5959 let z = "first_finished_event"
6060
6161 let A = "last_finished_event"
6262
6363 let B = "first_active_event"
6464
6565 let C = "last_active_event"
6666
6767 func D (E) = (E + "_start_block")
6868
6969
7070 func F (E) = (E + "_end_block")
7171
7272
7373 func G (E) = (E + "_finish_at_block")
7474
7575
7676 func H (E) = (E + "_id")
7777
7878
7979 func I (E) = (E + "_status")
8080
8181
8282 func J (E) = (E + "_description")
8383
8484
8585 func K (E) = (E + "_prev_event")
8686
8787
8888 func L (E) = (E + "_next_event")
8989
9090
9191 func M (E) = (E + "_asset_id")
9292
9393
9494 func N (E) = (E + "_total_amount")
9595
9696
9797 func O (E) = (E + "_prices_group_count")
9898
9999
100100 func P (E) = (E + "_prices_list_count")
101101
102102
103103 func Q (E,R) = ((E + "_prices_list_") + toString(R))
104104
105105
106106 func S (E,T) = (((E + "_") + toString(T)) + "_bets_count")
107107
108108
109109 func U (E,V) = (((E + "_") + V) + "_price")
110110
111111
112112 func W (X) = {
113113 let Y = X
114114 if ($isInstanceOf(Y, "Int"))
115115 then {
116116 let Z = Y
117117 Z
118118 }
119119 else {
120120 let aa = Y
121121 throw("#err")
122122 }
123123 }
124124
125125
126126 func ab (X) = {
127127 let Y = X
128128 if ($isInstanceOf(Y, "String"))
129129 then {
130130 let Z = Y
131131 Z
132132 }
133133 else throw("#err")
134134 }
135135
136136
137137 func ac (ad) = {
138138 let ae = fromBase58String(ad)
139139 let Z = {
140140 let Y = assetInfo(ae)
141141 if ($isInstanceOf(Y, "Asset"))
142142 then {
143143 let af = Y
144144 $Tuple2(ad, af.decimals)
145145 }
146146 else $Tuple2("WAVES", 0)
147147 }
148148 Z
149149 }
150150
151151
152152 func ag (E) = {
153153 let ah = getStringValue(this, I(E))
154154 if (if (if ((ah == "finished"))
155155 then true
156156 else (ah == "#"))
157157 then true
158158 else (ah == "ended"))
159159 then ah
160160 else {
161161 let ai = getIntegerValue(this, G(E))
162162 let aj = getIntegerValue(this, D(E))
163163 let ak = getIntegerValue(this, F(E))
164164 if ((aj > height))
165165 then "awaiting"
166166 else if (if ((height >= aj))
167167 then (ak >= height)
168168 else false)
169169 then "active"
170170 else if (if ((height > ak))
171171 then (ai >= height)
172172 else false)
173173 then "confirmation"
174174 else if ((height > ai))
175175 then "finished"
176176 else throw("unknown status")
177177 }
178178 }
179179
180180
181181 func al (am,an,aj,ak,ai,ad) = {
182182 let E = am
183183 let ao = invoke(this, "insertToList", [E, true], nil)
184184 if ((ao == ao))
185185 then {
186186 let ap = invoke(this, "concatLists", nil, nil)
187187 if ((ap == ap))
188188 then {
189189 let aq = ac(ad)
190190 let ae = aq._1
191191 let ar = aq._2
192192 [IntegerEntry(D(E), aj), IntegerEntry(F(E), ak), IntegerEntry(G(E), ai), StringEntry(J(E), an), StringEntry(I(E), "new"), StringEntry(H(E), E), StringEntry(M(E), ae)]
193193 }
194194 else throw("Strict value is not equal to itself.")
195195 }
196196 else throw("Strict value is not equal to itself.")
197197 }
198198
199199
200200 @Callable(as)
201201 func init (at) = if ((as.caller != this))
202202 then throw("only main can do")
203203 else {
204204 let r = isDefined(getString(this, c))
205205 if (!(r))
206206 then [StringEntry(c, at)]
207207 else throw("already inited")
208208 }
209209
210210
211211
212212 @Callable(as)
213213 func appendEventer (an) = if (!(l(as.caller)))
214214 then throw("only admin can do")
215215 else {
216216 let au = invoke(h, "setEventer", [toString(this), an], nil)
217217 if ((au == au))
218218 then nil
219219 else throw("Strict value is not equal to itself.")
220220 }
221221
222222
223223
224224 @Callable(as)
225225 func fullRegisterEvent (an,aj,av,ad) = {
226226 let aw = if ((aj == 0))
227227 then height
228228 else aj
229229 let ak = (aw + av)
230230 let ai = (ak + 1440)
231231 if (!(l(as.caller)))
232232 then throw("only admin can do")
233233 else {
234234 let am = toBase58String(as.transactionId)
235235 al(am, an, aw, ak, ai, ad)
236236 }
237237 }
238238
239239
240240
241241 @Callable(as)
242242 func choice (E,T,V) = {
243243 let ah = ag(E)
244244 if ((ah == "active"))
245245 then {
246246 let ax = 10000000
247247 let ay = s
248248 if (if (if ((size(as.payments) == 1))
249249 then (as.payments[0].assetId == ay)
250250 else false)
251251 then (as.payments[0].amount == ax)
252252 else false)
253253 then {
254254 let az = invoke(this, "appendBetsList", [E, V, T], nil)
255255 if ((az == az))
256256 then {
257- let aA = invoke(j, "saveToHistory", [E, V], nil)
258- if ((aA == aA))
259- then {
260- let aB = valueOrElse(getInteger(this, N(E)), 0)
261-[IntegerEntry(N(E), (aB + as.payments[0].amount))]
262- }
263- else throw("Strict value is not equal to itself.")
257+ let aA = valueOrElse(getInteger(this, N(E)), 0)
258+[IntegerEntry(N(E), (aA + as.payments[0].amount))]
264259 }
265260 else throw("Strict value is not equal to itself.")
266261 }
267262 else throw("Bad payment")
268263 }
269264 else throw("You can`t do it")
270265 }
271266
272267
273268
274269 @Callable(as)
275-func appendBetsList (E,aC,T) = if ((as.caller != this))
270+func appendBetsList (E,aB,T) = if ((as.caller != this))
276271 then throw("only main can do")
277- else if (isDefined(getString(this, U(E, aC))))
272+ else if (isDefined(getString(this, U(E, aB))))
278273 then throw("betting from this address is exists")
279274 else {
280- let aD = valueOrElse(getInteger(this, S(E, T)), 0)
281- if ((aD >= w))
275+ let aC = valueOrElse(getInteger(this, S(E, T)), 0)
276+ if ((aC >= w))
282277 then throw("to many bets")
283278 else {
284- let aE = valueOrElse(getInteger(this, P(E)), 1)
285- let aF = valueOrElse(getString(this, Q(E, aE)), "")
286- let aG = split_4C(aF, b)
287- let aH = size(aG)
288- let aI = if ((aD == 0))
289- then if ((100 > aH))
290- then if ((size(aF) == 0))
279+ let aD = valueOrElse(getInteger(this, P(E)), 1)
280+ let aE = valueOrElse(getString(this, Q(E, aD)), "")
281+ let aF = split_4C(aE, b)
282+ let aG = size(aF)
283+ let aH = if ((aC == 0))
284+ then if ((100 > aG))
285+ then if ((size(aE) == 0))
291286 then toString(T)
292- else ((aF + b) + toString(T))
287+ else ((aE + b) + toString(T))
293288 else toString(T)
294- else aF
295- let aJ = if (if ((aH >= 100))
296- then (aD == 0)
289+ else aE
290+ let aI = if (if ((aG >= 100))
291+ then (aC == 0)
297292 else false)
298- then aE
299- else (aE + 1)
300- let aK = (((aJ - 1) / 10) + 1)
301-[IntegerEntry(U(E, aC), T), IntegerEntry(P(E), aJ), IntegerEntry(O(E), aK), StringEntry(Q(E, aJ), aI)]
293+ then aD
294+ else (aD + 1)
295+ let aJ = (((aI - 1) / 10) + 1)
296+[IntegerEntry(U(E, aB), T), IntegerEntry(P(E), aI), IntegerEntry(O(E), aJ), StringEntry(Q(E, aI), aH)]
302297 }
303298 }
304299
305300
306301
307302 @Callable(as)
308303 func resetList () = if (!(l(as.caller)))
309304 then throw("only admin can do")
310305 else [StringEntry(x, a), StringEntry(y, a), StringEntry(B, a), StringEntry(C, a), StringEntry(z, a), StringEntry(A, a)]
311306
312307
313308
314309 @Callable(as)
315-func insertToList (E,aL) = if ((this != as.caller))
310+func insertToList (E,aK) = if ((this != as.caller))
316311 then throw("only main can do")
317312 else {
318- let aM = if (aL)
313+ let aL = if (aK)
319314 then C
320315 else A
321- let aN = if (aL)
316+ let aM = if (aK)
322317 then B
323318 else z
324- let aO = valueOrElse(getString(this, aN), a)
325- let aP = valueOrElse(getString(this, aM), a)
326- let aQ = if ((aP == a))
327- then aM
328- else K(aO)
329-[StringEntry(aN, E), StringEntry(aQ, E), StringEntry(L(E), aO)]
319+ let aN = valueOrElse(getString(this, aM), a)
320+ let aO = valueOrElse(getString(this, aL), a)
321+ let aP = if ((aO == a))
322+ then aL
323+ else K(aN)
324+[StringEntry(aM, E), StringEntry(aP, E), StringEntry(L(E), aN)]
330325 }
331326
332327
333328
334329 @Callable(as)
335-func deleteFromList (E,aL) = if ((this != as.caller))
330+func deleteFromList (E,aK) = if ((this != as.caller))
336331 then throw("only main can do")
337332 else {
338- let aM = if (aL)
333+ let aL = if (aK)
339334 then C
340335 else A
341- let aN = if (aL)
336+ let aM = if (aK)
342337 then B
343338 else z
344- let aO = valueOrElse(getString(this, aN), a)
345- let aP = valueOrElse(getString(this, aM), a)
346- let aR = valueOrElse(getString(this, K(E)), a)
347- let aS = valueOrElse(getString(this, L(E)), a)
339+ let aN = valueOrElse(getString(this, aM), a)
340+ let aO = valueOrElse(getString(this, aL), a)
341+ let aQ = valueOrElse(getString(this, K(E)), a)
342+ let aR = valueOrElse(getString(this, L(E)), a)
343+ let aS = if ((E == aN))
344+ then a
345+ else aQ
348346 let aT = if ((E == aO))
349347 then a
350348 else aR
351- let aU = if ((E == aP))
352- then a
353- else aS
354- if (if ((aT == a))
355- then (aU == a)
349+ if (if ((aS == a))
350+ then (aT == a)
356351 else false)
357- then [StringEntry(aN, a), StringEntry(aM, a)]
358- else if (if ((aT != a))
359- then (aU != a)
352+ then [StringEntry(aM, a), StringEntry(aL, a)]
353+ else if (if ((aS != a))
354+ then (aT != a)
360355 else false)
361- then [StringEntry(K(aU), aT), StringEntry(L(aT), aU)]
362- else if ((aT != a))
363- then [StringEntry(aM, aT), StringEntry(L(aT), a)]
364- else [StringEntry(aN, aU), StringEntry(K(aU), a)]
356+ then [StringEntry(K(aT), aS), StringEntry(L(aS), aT)]
357+ else if ((aS != a))
358+ then [StringEntry(aL, aS), StringEntry(L(aS), a)]
359+ else [StringEntry(aM, aT), StringEntry(K(aT), a)]
365360 }
366361
367362
368363
369364 @Callable(as)
370365 func concatLists () = if (!(l(as.caller)))
371366 then throw("only admin can do")
372367 else {
373- let aV = valueOrElse(getString(this, B), a)
374- let aW = valueOrElse(getString(this, C), a)
375- let aX = valueOrElse(getString(this, z), a)
376- let aY = valueOrElse(getString(this, A), a)
377- let aO = if ((aV != a))
378- then aV
379- else aX
380- let aP = if ((aY != a))
381- then aY
368+ let aU = valueOrElse(getString(this, B), a)
369+ let aV = valueOrElse(getString(this, C), a)
370+ let aW = valueOrElse(getString(this, z), a)
371+ let aX = valueOrElse(getString(this, A), a)
372+ let aN = if ((aU != a))
373+ then aU
382374 else aW
383- if (if ((aX != a))
384- then (aW != a)
375+ let aO = if ((aX != a))
376+ then aX
377+ else aV
378+ if (if ((aW != a))
379+ then (aV != a)
385380 else false)
386- then [StringEntry(x, aO), StringEntry(y, aP), StringEntry(L(aW), aX), StringEntry(K(aX), aW)]
387- else [StringEntry(x, aO), StringEntry(y, aP)]
381+ then [StringEntry(x, aN), StringEntry(y, aO), StringEntry(L(aV), aW), StringEntry(K(aW), aV)]
382+ else [StringEntry(x, aN), StringEntry(y, aO)]
388383 }
389384
390385

github/deemru/w8io/c3f4982 
53.78 ms