tx · GVYMmqts5DKYxqJvC6jo5JagdRyYQ98DLn4rbEKcjaNM

3MvJDKBFzztnd7KCU78zgJ8qUuzVux4c9yw:  -0.01000000 Waves

2022.10.23 14:13 [2284970] smart account 3MvJDKBFzztnd7KCU78zgJ8qUuzVux4c9yw > SELF 0.00000000 Waves

{ "type": 13, "id": "GVYMmqts5DKYxqJvC6jo5JagdRyYQ98DLn4rbEKcjaNM", "fee": 1000000, "feeAssetId": null, "timestamp": 1666523670388, "version": 2, "chainId": 84, "sender": "3MvJDKBFzztnd7KCU78zgJ8qUuzVux4c9yw", "senderPublicKey": "9gVuyFNzke49pnadJxJ312ZWhYudDhdcqP5hsm5pGQw6", "proofs": [ "2VCFLBYAV8dEgybfg3CxeQMJbsen1gbm5XZv3VawCPprpcfGGEAM4M3kgnVnM9NaeEBdVEeNsirxcevTRMQGTaC7" ], "script": "base64:BgIyCAISAwoBCBIDCgEIEgYKBAgBAQgSBQoDCAEIEgUKAwgIARIAEgQKAggEEgQKAggEEgAtAAl1bmRlZmluZWQCCXVuZGVmaW5lZAAJc2VwYXJhdG9yAgE7ABBjb25maWdBZGRyZXNzS2V5AgZjb25maWcAE2NvbGxlY3RvckFkZHJlc3NLZXkCEWNvbGxlY3Rvcl9hZGRyZXNzABFoaXN0b3J5QWRkcmVzc0tleQIPaGlzdG9yeV9hZGRyZXNzABJwYXltYWtlckFkZHJlc3NLZXkCEHBheW1ha2VyX2FkZHJlc3MACWFkbWluc0tleQIGYWRtaW5zAA1jb25maWdBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzBRBjb25maWdBZGRyZXNzS2V5ABBjb2xsZWN0b3JBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1MykCBQ1jb25maWdBZGRyZXNzBRNjb2xsZWN0b3JBZGRyZXNzS2V5AA5oaXN0b3J5QWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUNY29uZmlnQWRkcmVzcwURaGlzdG9yeUFkZHJlc3NLZXkAD3BheW1ha2VyQWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUNY29uZmlnQWRkcmVzcwUScGF5bWFrZXJBZGRyZXNzS2V5AQdpc0FkbWluAQZjYWxsZXIEBmFkbVJvdwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ1jb25maWdBZGRyZXNzBQlhZG1pbnNLZXkCAAMDCQAAAgUGY2FsbGVyBQR0aGlzBgkBCGNvbnRhaW5zAgUGYWRtUm93CQClCAEFBmNhbGxlcgYHAQ1nZXRDaGVja2VyS2V5AQdjaGVja2VyCQCsAgICCGNoZWNrZXJfBQdjaGVja2VyAQlpc0NoZWNrZXIBB2NoZWNrZXIECGlzRXhpc3RzCQEJaXNEZWZpbmVkAQkAmwgCBQ1jb25maWdBZGRyZXNzCQENZ2V0Q2hlY2tlcktleQEFB2NoZWNrZXIFCGlzRXhpc3RzAARVU0ROASAYZnRB0PLZIchHiUNJCnGtXhPXO6NBZoIwBSXE8y+z0AAJbWluQW1vdW50AICt4gQADGZlZU51bWVyYXRvcgAFAA5mZWVEZW5vbWluYXRvcgBkAA5tYXhCZXRzT25QcmljZQADAA1maXJzdEV2ZW50S2V5AgtmaXJzdF9ldmVudAAMbGFzdEV2ZW50S2V5AgpsYXN0X2V2ZW50ABVmaXNydEZpbmlzaGVkRXZlbnRLZXkCFGZpcnN0X2ZpbmlzaGVkX2V2ZW50ABRsYXN0RmluaXNoZWRFdmVudEtleQITbGFzdF9maW5pc2hlZF9ldmVudAATZmlzcnRBY3RpdmVFdmVudEtleQISZmlyc3RfYWN0aXZlX2V2ZW50ABJsYXN0QWN0aXZlRXZlbnRLZXkCEWxhc3RfYWN0aXZlX2V2ZW50ARBnZXRTdGFydEJsb2NrS2V5AQdldmVudElkCQCsAgIFB2V2ZW50SWQCDF9zdGFydF9ibG9jawEOZ2V0RW5kQmxvY2tLZXkBB2V2ZW50SWQJAKwCAgUHZXZlbnRJZAIKX2VuZF9ibG9jawEOZ2V0RmluaXNoQXRLZXkBB2V2ZW50SWQJAKwCAgUHZXZlbnRJZAIQX2ZpbmlzaF9hdF9ibG9jawEIZ2V0SWRLZXkBB2V2ZW50SWQJAKwCAgUHZXZlbnRJZAIDX2lkAQxnZXRTdGF0dXNLZXkBB2V2ZW50SWQJAKwCAgUHZXZlbnRJZAIHX3N0YXR1cwEKZ2V0RGVzY0tleQEHZXZlbnRJZAkArAICBQdldmVudElkAgxfZGVzY3JpcHRpb24BD2dldFByZXZFdmVudEtleQEHZXZlbnRJZAkArAICBQdldmVudElkAgtfcHJldl9ldmVudAEPZ2V0TmV4dEV2ZW50S2V5AQdldmVudElkCQCsAgIFB2V2ZW50SWQCC19uZXh0X2V2ZW50AQ1nZXRBc3NldElkS2V5AQdldmVudElkCQCsAgIFB2V2ZW50SWQCCV9hc3NldF9pZAERZ2V0VG90YWxBbW91bnRLZXkBB2V2ZW50SWQJAKwCAgUHZXZlbnRJZAINX3RvdGFsX2Ftb3VudAEXZ2V0UHJpY2VzR3JvdXBzQ291bnRLZXkBB2V2ZW50SWQJAKwCAgUHZXZlbnRJZAITX3ByaWNlc19ncm91cF9jb3VudAEWZ2V0UHJpY2VzTGlzdHNDb3VudEtleQEHZXZlbnRJZAkArAICBQdldmVudElkAhJfcHJpY2VzX2xpc3RfY291bnQBEWdldFByaWNlc0xpc3ROS2V5AgdldmVudElkAW4JAKwCAgkArAICBQdldmVudElkAg1fcHJpY2VzX2xpc3RfCQCkAwEFAW4BEWdldFByaWNlQmV0c0NvdW50AgdldmVudElkBXByaWNlCQCsAgIJAKwCAgkArAICBQdldmVudElkAgFfCQCkAwEFBXByaWNlAgtfYmV0c19jb3VudAESZ2V0UHJpY2VBZGRyZXNzS2V5AgdldmVudElkB2FkZHJlc3MJAKwCAgkArAICCQCsAgIFB2V2ZW50SWQCAV8FB2FkZHJlc3MCBl9wcmljZQEFYXNJbnQBAXYEByRtYXRjaDAFAXYDCQABAgUHJG1hdGNoMAIDSW50BAF4BQckbWF0Y2gwBQF4BAF0BQckbWF0Y2gwCQACAQIEI2VycgEIYXNTdHJpbmcBAXYEByRtYXRjaDAFAXYDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAF4BQckbWF0Y2gwBQF4CQACAQIEI2VycgEMZ2V0QXNzZXRJbmZvAQhhc3NldFN0cgQHYXNzZXRJZAkA2QQBBQhhc3NldFN0cgQBeAQHJG1hdGNoMAkA7AcBBQdhc3NldElkAwkAAQIFByRtYXRjaDACBUFzc2V0BAVhc3NldAUHJG1hdGNoMAkAlAoCBQhhc3NldFN0cggFBWFzc2V0CGRlY2ltYWxzCQCUCgICBVdBVkVTAAAFAXgBCWdldFN0YXR1cwEHZXZlbnRJZAQGc3RhdHVzCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzCQEMZ2V0U3RhdHVzS2V5AQUHZXZlbnRJZAMDAwkAAAIFBnN0YXR1cwIIZmluaXNoZWQGCQAAAgUGc3RhdHVzAgEjBgkAAAIFBnN0YXR1cwIFZW5kZWQFBnN0YXR1cwQIZmluaXNoQXQJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMJAQ5nZXRGaW5pc2hBdEtleQEFB2V2ZW50SWQECnN0YXJ0QmxvY2sJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMJARBnZXRTdGFydEJsb2NrS2V5AQUHZXZlbnRJZAQIZW5kQmxvY2sJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMJAQ5nZXRFbmRCbG9ja0tleQEFB2V2ZW50SWQDCQBmAgUKc3RhcnRCbG9jawUGaGVpZ2h0Aghhd2FpdGluZwMDCQBnAgUGaGVpZ2h0BQpzdGFydEJsb2NrCQBnAgUIZW5kQmxvY2sFBmhlaWdodAcCBmFjdGl2ZQMDCQBmAgUGaGVpZ2h0BQhlbmRCbG9jawkAZwIFCGZpbmlzaEF0BQZoZWlnaHQHAgxjb25maXJtYXRpb24DCQBmAgUGaGVpZ2h0BQhmaW5pc2hBdAIIZmluaXNoZWQJAAIBAg51bmtub3duIHN0YXR1cwENcmVnaXN0ZXJFdmVudAYEdHhpZARkZXNjCnN0YXJ0QmxvY2sIZW5kQmxvY2sIZmluaXNoQXQIYXNzZXRTdHIEB2V2ZW50SWQFBHR4aWQEBmluc2VydAkA/AcEBQR0aGlzAgxpbnNlcnRUb0xpc3QJAMwIAgUHZXZlbnRJZAkAzAgCBgUDbmlsBQNuaWwDCQAAAgUGaW5zZXJ0BQZpbnNlcnQEBmNvbmNhdAkA/AcEBQR0aGlzAgtjb25jYXRMaXN0cwUDbmlsBQNuaWwDCQAAAgUGY29uY2F0BQZjb25jYXQECyR0MDQ4Njc0OTIwCQEMZ2V0QXNzZXRJbmZvAQUIYXNzZXRTdHIEB2Fzc2V0SWQIBQskdDA0ODY3NDkyMAJfMQQNYXNzZXREZWNpbWFscwgFCyR0MDQ4Njc0OTIwAl8yCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEQZ2V0U3RhcnRCbG9ja0tleQEFB2V2ZW50SWQFCnN0YXJ0QmxvY2sJAMwIAgkBDEludGVnZXJFbnRyeQIJAQ5nZXRFbmRCbG9ja0tleQEFB2V2ZW50SWQFCGVuZEJsb2NrCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEOZ2V0RmluaXNoQXRLZXkBBQdldmVudElkBQhmaW5pc2hBdAkAzAgCCQELU3RyaW5nRW50cnkCCQEKZ2V0RGVzY0tleQEFB2V2ZW50SWQFBGRlc2MJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDGdldFN0YXR1c0tleQEFB2V2ZW50SWQCA25ldwkAzAgCCQELU3RyaW5nRW50cnkCCQEIZ2V0SWRLZXkBBQdldmVudElkBQdldmVudElkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ1nZXRBc3NldElkS2V5AQUHZXZlbnRJZAUHYXNzZXRJZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQFpAQRpbml0AQZjb25maWcDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhBvbmx5IG1haW4gY2FuIGRvBAhpc0V4aXN0cwkBCWlzRGVmaW5lZAEJAJ0IAgUEdGhpcwUQY29uZmlnQWRkcmVzc0tleQMJAQEhAQUIaXNFeGlzdHMJAMwIAgkBC1N0cmluZ0VudHJ5AgUQY29uZmlnQWRkcmVzc0tleQUGY29uZmlnBQNuaWwJAAIBAg5hbHJlYWR5IGluaXRlZAFpAQ1hcHBlbmRFdmVudGVyAQRkZXNjAwkBASEBCQEHaXNBZG1pbgEIBQFpBmNhbGxlcgkAAgECEW9ubHkgYWRtaW4gY2FuIGRvBANpbnYJAPwHBAUNY29uZmlnQWRkcmVzcwIKc2V0RXZlbnRlcgkAzAgCCQClCAEFBHRoaXMJAMwIAgUEZGVzYwUDbmlsBQNuaWwDCQAAAgUDaW52BQNpbnYFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARFmdWxsUmVnaXN0ZXJFdmVudAQEZGVzYwpzdGFydEJsb2NrCGR1cmF0aW9uCGFzc2V0U3RyBA1uZXdTdGFydEJsb2NrAwkAAAIFCnN0YXJ0QmxvY2sAAAUGaGVpZ2h0BQpzdGFydEJsb2NrBAhlbmRCbG9jawkAZAIFDW5ld1N0YXJ0QmxvY2sFCGR1cmF0aW9uBAhmaW5pc2hBdAkAZAIFCGVuZEJsb2NrAKALAwkBASEBCQEHaXNBZG1pbgEIBQFpBmNhbGxlcgkAAgECEW9ubHkgYWRtaW4gY2FuIGRvBAR0eGlkCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQJAQ1yZWdpc3RlckV2ZW50BgUEdHhpZAUEZGVzYwUNbmV3U3RhcnRCbG9jawUIZW5kQmxvY2sFCGZpbmlzaEF0BQhhc3NldFN0cgFpAQZjaG9pY2UDB2V2ZW50SWQFcHJpY2UHYWRkcmVzcwQGc3RhdHVzCQEJZ2V0U3RhdHVzAQUHZXZlbnRJZAMJAAACBQZzdGF0dXMCBmFjdGl2ZQQMbmVlZGVkQW1vdW50AICt4gQEC25lZWRlZEFzc2V0BQRVU0ROAwMDCQAAAgkAkAMBCAUBaQhwYXltZW50cwABCQAAAggJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBQtuZWVkZWRBc3NldAcJAAACCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAUMbmVlZGVkQW1vdW50BwQJaW52QXBwZW5kCQD8BwQFBHRoaXMCDmFwcGVuZEJldHNMaXN0CQDMCAIFB2V2ZW50SWQJAMwIAgUHYWRkcmVzcwkAzAgCBQVwcmljZQUDbmlsBQNuaWwDCQAAAgUJaW52QXBwZW5kBQlpbnZBcHBlbmQEBHNhdmUJAPwHBAUOaGlzdG9yeUFkZHJlc3MCDXNhdmVUb0hpc3RvcnkJAMwIAgUHZXZlbnRJZAkAzAgCBQdhZGRyZXNzBQNuaWwFA25pbAMJAAACBQRzYXZlBQRzYXZlBAxjdXJyZW50VG90YWwJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBEWdldFRvdGFsQW1vdW50S2V5AQUHZXZlbnRJZAAACQDMCAIJAQxJbnRlZ2VyRW50cnkCCQERZ2V0VG90YWxBbW91bnRLZXkBBQdldmVudElkCQBkAgUMY3VycmVudFRvdGFsCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQILQmFkIHBheW1lbnQJAAIBAg9Zb3UgY2FuYHQgZG8gaXQBaQEOYXBwZW5kQmV0c0xpc3QDB2V2ZW50SWQKYWRkcmVzc1N0cgVwcmljZQMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECEG9ubHkgbWFpbiBjYW4gZG8DCQEJaXNEZWZpbmVkAQkAnQgCBQR0aGlzCQESZ2V0UHJpY2VBZGRyZXNzS2V5AgUHZXZlbnRJZAUKYWRkcmVzc1N0cgkAAgECI2JldHRpbmcgZnJvbSB0aGlzIGFkZHJlc3MgaXMgZXhpc3RzBA5jb3VudEJldHNQcmljZQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQERZ2V0UHJpY2VCZXRzQ291bnQCBQdldmVudElkBQVwcmljZQAAAwkAZwIFDmNvdW50QmV0c1ByaWNlBQ5tYXhCZXRzT25QcmljZQkAAgECDHRvIG1hbnkgYmV0cwQJbGlzdEluZGV4CQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJARZnZXRQcmljZXNMaXN0c0NvdW50S2V5AQUHZXZlbnRJZAABBA1jdXJyZW50UHJpY2VzCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJARFnZXRQcmljZXNMaXN0TktleQIFB2V2ZW50SWQFCWxpc3RJbmRleAIABBFjdXJyZW50UHJpY2VzTGlzdAkAvAkCBQ1jdXJyZW50UHJpY2VzBQlzZXBhcmF0b3IECGxpc3RTaXplCQCQAwEFEWN1cnJlbnRQcmljZXNMaXN0BAluZXdQcmljZXMDCQAAAgUOY291bnRCZXRzUHJpY2UAAAMJAGYCAGQFCGxpc3RTaXplAwkAAAIJALECAQUNY3VycmVudFByaWNlcwAACQCkAwEFBXByaWNlCQCsAgIJAKwCAgUNY3VycmVudFByaWNlcwUJc2VwYXJhdG9yCQCkAwEFBXByaWNlCQCkAwEFBXByaWNlBQ1jdXJyZW50UHJpY2VzBAxuZXdMaXN0SW5kZXgDAwkAZwIFCGxpc3RTaXplAGQJAAACBQ5jb3VudEJldHNQcmljZQAABwUJbGlzdEluZGV4CQBkAgUJbGlzdEluZGV4AAEEDm5ld0dyb3Vwc0NvdW50CQBkAgkAaQIJAGUCBQxuZXdMaXN0SW5kZXgAAQAKAAEJAMwIAgkBDEludGVnZXJFbnRyeQIJARJnZXRQcmljZUFkZHJlc3NLZXkCBQdldmVudElkBQphZGRyZXNzU3RyBQVwcmljZQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBFmdldFByaWNlc0xpc3RzQ291bnRLZXkBBQdldmVudElkBQxuZXdMaXN0SW5kZXgJAMwIAgkBDEludGVnZXJFbnRyeQIJARdnZXRQcmljZXNHcm91cHNDb3VudEtleQEFB2V2ZW50SWQFDm5ld0dyb3Vwc0NvdW50CQDMCAIJAQtTdHJpbmdFbnRyeQIJARFnZXRQcmljZXNMaXN0TktleQIFB2V2ZW50SWQFDG5ld0xpc3RJbmRleAUJbmV3UHJpY2VzBQNuaWwBaQEJcmVzZXRMaXN0AAMJAQEhAQkBB2lzQWRtaW4BCAUBaQZjYWxsZXIJAAIBAhFvbmx5IGFkbWluIGNhbiBkbwkAzAgCCQELU3RyaW5nRW50cnkCBQ1maXJzdEV2ZW50S2V5BQl1bmRlZmluZWQJAMwIAgkBC1N0cmluZ0VudHJ5AgUMbGFzdEV2ZW50S2V5BQl1bmRlZmluZWQJAMwIAgkBC1N0cmluZ0VudHJ5AgUTZmlzcnRBY3RpdmVFdmVudEtleQUJdW5kZWZpbmVkCQDMCAIJAQtTdHJpbmdFbnRyeQIFEmxhc3RBY3RpdmVFdmVudEtleQUJdW5kZWZpbmVkCQDMCAIJAQtTdHJpbmdFbnRyeQIFFWZpc3J0RmluaXNoZWRFdmVudEtleQUJdW5kZWZpbmVkCQDMCAIJAQtTdHJpbmdFbnRyeQIFFGxhc3RGaW5pc2hlZEV2ZW50S2V5BQl1bmRlZmluZWQFA25pbAFpAQxpbnNlcnRUb0xpc3QCB2V2ZW50SWQIaXNBY3RpdmUDCQECIT0CBQR0aGlzCAUBaQZjYWxsZXIJAAIBAhBvbmx5IG1haW4gY2FuIGRvBAdsYXN0S2V5AwUIaXNBY3RpdmUFEmxhc3RBY3RpdmVFdmVudEtleQUUbGFzdEZpbmlzaGVkRXZlbnRLZXkECGZpcnN0S2V5AwUIaXNBY3RpdmUFE2Zpc3J0QWN0aXZlRXZlbnRLZXkFFWZpc3J0RmluaXNoZWRFdmVudEtleQQKZmlyc3RFdmVudAkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzBQhmaXJzdEtleQUJdW5kZWZpbmVkBAlsYXN0RXZlbnQJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwUHbGFzdEtleQUJdW5kZWZpbmVkBBBuZXdMYXN0T3JQcmV2S2V5AwkAAAIFCWxhc3RFdmVudAUJdW5kZWZpbmVkBQdsYXN0S2V5CQEPZ2V0UHJldkV2ZW50S2V5AQUKZmlyc3RFdmVudAkAzAgCCQELU3RyaW5nRW50cnkCBQhmaXJzdEtleQUHZXZlbnRJZAkAzAgCCQELU3RyaW5nRW50cnkCBRBuZXdMYXN0T3JQcmV2S2V5BQdldmVudElkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ9nZXROZXh0RXZlbnRLZXkBBQdldmVudElkBQpmaXJzdEV2ZW50BQNuaWwBaQEOZGVsZXRlRnJvbUxpc3QCB2V2ZW50SWQIaXNBY3RpdmUDCQECIT0CBQR0aGlzCAUBaQZjYWxsZXIJAAIBAhBvbmx5IG1haW4gY2FuIGRvBAdsYXN0S2V5AwUIaXNBY3RpdmUFEmxhc3RBY3RpdmVFdmVudEtleQUUbGFzdEZpbmlzaGVkRXZlbnRLZXkECGZpcnN0S2V5AwUIaXNBY3RpdmUFE2Zpc3J0QWN0aXZlRXZlbnRLZXkFFWZpc3J0RmluaXNoZWRFdmVudEtleQQKZmlyc3RFdmVudAkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzBQhmaXJzdEtleQUJdW5kZWZpbmVkBAlsYXN0RXZlbnQJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwUHbGFzdEtleQUJdW5kZWZpbmVkBA1wcmV2RXZlbnRUZW1wCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQ9nZXRQcmV2RXZlbnRLZXkBBQdldmVudElkBQl1bmRlZmluZWQEDW5leHRFdmVudFRlbXAJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwkBD2dldE5leHRFdmVudEtleQEFB2V2ZW50SWQFCXVuZGVmaW5lZAQJcHJldkV2ZW50AwkAAAIFB2V2ZW50SWQFCmZpcnN0RXZlbnQFCXVuZGVmaW5lZAUNcHJldkV2ZW50VGVtcAQJbmV4dEV2ZW50AwkAAAIFB2V2ZW50SWQFCWxhc3RFdmVudAUJdW5kZWZpbmVkBQ1uZXh0RXZlbnRUZW1wAwMJAAACBQlwcmV2RXZlbnQFCXVuZGVmaW5lZAkAAAIFCW5leHRFdmVudAUJdW5kZWZpbmVkBwkAzAgCCQELU3RyaW5nRW50cnkCBQhmaXJzdEtleQUJdW5kZWZpbmVkCQDMCAIJAQtTdHJpbmdFbnRyeQIFB2xhc3RLZXkFCXVuZGVmaW5lZAUDbmlsAwMJAQIhPQIFCXByZXZFdmVudAUJdW5kZWZpbmVkCQECIT0CBQluZXh0RXZlbnQFCXVuZGVmaW5lZAcJAMwIAgkBC1N0cmluZ0VudHJ5AgkBD2dldFByZXZFdmVudEtleQEFCW5leHRFdmVudAUJcHJldkV2ZW50CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ9nZXROZXh0RXZlbnRLZXkBBQlwcmV2RXZlbnQFCW5leHRFdmVudAUDbmlsAwkBAiE9AgUJcHJldkV2ZW50BQl1bmRlZmluZWQJAMwIAgkBC1N0cmluZ0VudHJ5AgUHbGFzdEtleQUJcHJldkV2ZW50CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ9nZXROZXh0RXZlbnRLZXkBBQlwcmV2RXZlbnQFCXVuZGVmaW5lZAUDbmlsCQDMCAIJAQtTdHJpbmdFbnRyeQIFCGZpcnN0S2V5BQluZXh0RXZlbnQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBD2dldFByZXZFdmVudEtleQEFCW5leHRFdmVudAUJdW5kZWZpbmVkBQNuaWwBaQELY29uY2F0TGlzdHMAAwkBASEBCQEHaXNBZG1pbgEIBQFpBmNhbGxlcgkAAgECEW9ubHkgYWRtaW4gY2FuIGRvBBBmaXJzdEFjdGl2ZUV2ZW50CQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMFE2Zpc3J0QWN0aXZlRXZlbnRLZXkFCXVuZGVmaW5lZAQPbGFzdEFjdGl2ZUV2ZW50CQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMFEmxhc3RBY3RpdmVFdmVudEtleQUJdW5kZWZpbmVkBBJmaXJzdEZpbmlzaGVkRXZlbnQJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwUVZmlzcnRGaW5pc2hlZEV2ZW50S2V5BQl1bmRlZmluZWQEEWxhc3RGaW5pc2hlZEV2ZW50CQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMFFGxhc3RGaW5pc2hlZEV2ZW50S2V5BQl1bmRlZmluZWQECmZpcnN0RXZlbnQDCQECIT0CBRBmaXJzdEFjdGl2ZUV2ZW50BQl1bmRlZmluZWQFEGZpcnN0QWN0aXZlRXZlbnQFEmZpcnN0RmluaXNoZWRFdmVudAQJbGFzdEV2ZW50AwkBAiE9AgURbGFzdEZpbmlzaGVkRXZlbnQFCXVuZGVmaW5lZAURbGFzdEZpbmlzaGVkRXZlbnQFD2xhc3RBY3RpdmVFdmVudAMDCQECIT0CBRJmaXJzdEZpbmlzaGVkRXZlbnQFCXVuZGVmaW5lZAkBAiE9AgUPbGFzdEFjdGl2ZUV2ZW50BQl1bmRlZmluZWQHCQDMCAIJAQtTdHJpbmdFbnRyeQIFDWZpcnN0RXZlbnRLZXkFCmZpcnN0RXZlbnQJAMwIAgkBC1N0cmluZ0VudHJ5AgUMbGFzdEV2ZW50S2V5BQlsYXN0RXZlbnQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBD2dldE5leHRFdmVudEtleQEFD2xhc3RBY3RpdmVFdmVudAUSZmlyc3RGaW5pc2hlZEV2ZW50CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ9nZXRQcmV2RXZlbnRLZXkBBRJmaXJzdEZpbmlzaGVkRXZlbnQFD2xhc3RBY3RpdmVFdmVudAUDbmlsCQDMCAIJAQtTdHJpbmdFbnRyeQIFDWZpcnN0RXZlbnRLZXkFCmZpcnN0RXZlbnQJAMwIAgkBC1N0cmluZ0VudHJ5AgUMbGFzdEV2ZW50S2V5BQlsYXN0RXZlbnQFA25pbAAMvZe+", "height": 2284970, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: H3taGjmNoyFNt69DDoMdQMm6YDtDRVWUKQopSLUWVhop Next: ERvswQ6XDy5xjMvC1oBeMZbf2AiX16vNEKryiocJUvTW Diff:
OldNewDifferences
4242 }
4343
4444
45-let s = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
45+let s = base58'2eFPx8M5qwNFRbW91pzsyBKMz1FZmYMUW3BVZzTQmbFD'
4646
4747 let t = 10000000
4848
242242 func choice (E,T,V) = {
243243 let ah = ag(E)
244244 if ((ah == "active"))
245- then if (if ((size(as.payments) == 1))
246- then (as.payments[0].assetId == s)
247- else false)
248- then {
249- let ax = as.payments[0].amount
250- if ((t > ax))
251- then throw("amount is less than allowed")
252- else {
253- let ay = invoke(this, "appendBetsList", [E, V, T], nil)
254- if ((ay == ay))
255- then {
256- let az = invoke(j, "saveToHistory", [E, V], nil)
257- if ((az == az))
258- then {
259- let aA = valueOrElse(getInteger(this, N(E)), 0)
260-[IntegerEntry(N(E), (aA + ax))]
261- }
262- else throw("Strict value is not equal to itself.")
263- }
264- else throw("Strict value is not equal to itself.")
265- }
266- }
267- else throw("Bad payment")
245+ then {
246+ let ax = 10000000
247+ let ay = s
248+ if (if (if ((size(as.payments) == 1))
249+ then (as.payments[0].assetId == ay)
250+ else false)
251+ then (as.payments[0].amount == ax)
252+ else false)
253+ then {
254+ let az = invoke(this, "appendBetsList", [E, V, T], nil)
255+ if ((az == az))
256+ 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.")
264+ }
265+ else throw("Strict value is not equal to itself.")
266+ }
267+ else throw("Bad payment")
268+ }
268269 else throw("You can`t do it")
269270 }
270271
271272
272273
273274 @Callable(as)
274-func appendBetsList (E,aB,T) = if ((as.caller != this))
275+func appendBetsList (E,aC,T) = if ((as.caller != this))
275276 then throw("only main can do")
276- else if (isDefined(getString(this, U(E, aB))))
277+ else if (isDefined(getString(this, U(E, aC))))
277278 then throw("betting from this address is exists")
278279 else {
279- let aC = valueOrElse(getInteger(this, S(E, T)), 0)
280- if ((aC >= w))
280+ let aD = valueOrElse(getInteger(this, S(E, T)), 0)
281+ if ((aD >= w))
281282 then throw("to many bets")
282283 else {
283- let aD = valueOrElse(getInteger(this, P(E)), 1)
284- let aE = valueOrElse(getString(this, Q(E, aD)), "")
285- let aF = split_4C(aE, b)
286- let aG = size(aF)
287- let aH = if ((aC == 0))
288- then if ((100 > aG))
289- then if ((size(aE) == 0))
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))
290291 then toString(T)
291- else ((aE + b) + toString(T))
292+ else ((aF + b) + toString(T))
292293 else toString(T)
293- else aE
294- let aI = if (if ((aG >= 100))
295- then (aC == 0)
294+ else aF
295+ let aJ = if (if ((aH >= 100))
296+ then (aD == 0)
296297 else false)
297- then aD
298- else (aD + 1)
299- let aJ = (((aI - 1) / 10) + 1)
300-[IntegerEntry(U(E, aB), T), IntegerEntry(P(E), aI), IntegerEntry(O(E), aJ), StringEntry(Q(E, aI), aH)]
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)]
301302 }
302303 }
303304
311312
312313
313314 @Callable(as)
314-func insertToList (E,aK) = if ((this != as.caller))
315+func insertToList (E,aL) = if ((this != as.caller))
315316 then throw("only main can do")
316317 else {
317- let aL = if (aK)
318+ let aM = if (aL)
318319 then C
319320 else A
320- let aM = if (aK)
321+ let aN = if (aL)
321322 then B
322323 else z
323- let aN = valueOrElse(getString(this, aM), a)
324- let aO = valueOrElse(getString(this, aL), a)
325- let aP = if ((aO == a))
326- then aL
327- else K(aN)
328-[StringEntry(aM, E), StringEntry(aP, E), StringEntry(L(E), aN)]
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)]
329330 }
330331
331332
332333
333334 @Callable(as)
334-func deleteFromList (E,aK) = if ((this != as.caller))
335+func deleteFromList (E,aL) = if ((this != as.caller))
335336 then throw("only main can do")
336337 else {
337- let aL = if (aK)
338+ let aM = if (aL)
338339 then C
339340 else A
340- let aM = if (aK)
341+ let aN = if (aL)
341342 then B
342343 else z
343- let aN = valueOrElse(getString(this, aM), a)
344- let aO = valueOrElse(getString(this, aL), a)
345- let aQ = valueOrElse(getString(this, K(E)), a)
346- let aR = valueOrElse(getString(this, L(E)), a)
347- let aS = if ((E == aN))
348- then a
349- else aQ
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)
350348 let aT = if ((E == aO))
351349 then a
352350 else aR
353- if (if ((aS == a))
354- then (aT == a)
351+ let aU = if ((E == aP))
352+ then a
353+ else aS
354+ if (if ((aT == a))
355+ then (aU == a)
355356 else false)
356- then [StringEntry(aM, a), StringEntry(aL, a)]
357- else if (if ((aS != a))
358- then (aT != a)
357+ then [StringEntry(aN, a), StringEntry(aM, a)]
358+ else if (if ((aT != a))
359+ then (aU != a)
359360 else false)
360- then [StringEntry(K(aT), aS), StringEntry(L(aS), aT)]
361- else if ((aS != a))
362- then [StringEntry(aL, aS), StringEntry(L(aS), a)]
363- else [StringEntry(aM, aT), StringEntry(K(aT), a)]
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)]
364365 }
365366
366367
369370 func concatLists () = if (!(l(as.caller)))
370371 then throw("only admin can do")
371372 else {
372- let aU = valueOrElse(getString(this, B), a)
373- let aV = valueOrElse(getString(this, C), a)
374- let aW = valueOrElse(getString(this, z), a)
375- let aX = valueOrElse(getString(this, A), a)
376- let aN = if ((aU != a))
377- then aU
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
378382 else aW
379- let aO = if ((aX != a))
380- then aX
381- else aV
382- if (if ((aW != a))
383- then (aV != a)
383+ if (if ((aX != a))
384+ then (aW != a)
384385 else false)
385- then [StringEntry(x, aN), StringEntry(y, aO), StringEntry(L(aV), aW), StringEntry(K(aW), aV)]
386- else [StringEntry(x, aN), StringEntry(y, aO)]
386+ then [StringEntry(x, aO), StringEntry(y, aP), StringEntry(L(aW), aX), StringEntry(K(aX), aW)]
387+ else [StringEntry(x, aO), StringEntry(y, aP)]
387388 }
388389
389390
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
45-let s = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
45+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"))
245- then if (if ((size(as.payments) == 1))
246- then (as.payments[0].assetId == s)
247- else false)
248- then {
249- let ax = as.payments[0].amount
250- if ((t > ax))
251- then throw("amount is less than allowed")
252- else {
253- let ay = invoke(this, "appendBetsList", [E, V, T], nil)
254- if ((ay == ay))
255- then {
256- let az = invoke(j, "saveToHistory", [E, V], nil)
257- if ((az == az))
258- then {
259- let aA = valueOrElse(getInteger(this, N(E)), 0)
260-[IntegerEntry(N(E), (aA + ax))]
261- }
262- else throw("Strict value is not equal to itself.")
263- }
264- else throw("Strict value is not equal to itself.")
265- }
266- }
267- else throw("Bad payment")
245+ then {
246+ let ax = 10000000
247+ let ay = s
248+ if (if (if ((size(as.payments) == 1))
249+ then (as.payments[0].assetId == ay)
250+ else false)
251+ then (as.payments[0].amount == ax)
252+ else false)
253+ then {
254+ let az = invoke(this, "appendBetsList", [E, V, T], nil)
255+ if ((az == az))
256+ 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.")
264+ }
265+ else throw("Strict value is not equal to itself.")
266+ }
267+ else throw("Bad payment")
268+ }
268269 else throw("You can`t do it")
269270 }
270271
271272
272273
273274 @Callable(as)
274-func appendBetsList (E,aB,T) = if ((as.caller != this))
275+func appendBetsList (E,aC,T) = if ((as.caller != this))
275276 then throw("only main can do")
276- else if (isDefined(getString(this, U(E, aB))))
277+ else if (isDefined(getString(this, U(E, aC))))
277278 then throw("betting from this address is exists")
278279 else {
279- let aC = valueOrElse(getInteger(this, S(E, T)), 0)
280- if ((aC >= w))
280+ let aD = valueOrElse(getInteger(this, S(E, T)), 0)
281+ if ((aD >= w))
281282 then throw("to many bets")
282283 else {
283- let aD = valueOrElse(getInteger(this, P(E)), 1)
284- let aE = valueOrElse(getString(this, Q(E, aD)), "")
285- let aF = split_4C(aE, b)
286- let aG = size(aF)
287- let aH = if ((aC == 0))
288- then if ((100 > aG))
289- then if ((size(aE) == 0))
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))
290291 then toString(T)
291- else ((aE + b) + toString(T))
292+ else ((aF + b) + toString(T))
292293 else toString(T)
293- else aE
294- let aI = if (if ((aG >= 100))
295- then (aC == 0)
294+ else aF
295+ let aJ = if (if ((aH >= 100))
296+ then (aD == 0)
296297 else false)
297- then aD
298- else (aD + 1)
299- let aJ = (((aI - 1) / 10) + 1)
300-[IntegerEntry(U(E, aB), T), IntegerEntry(P(E), aI), IntegerEntry(O(E), aJ), StringEntry(Q(E, aI), aH)]
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)]
301302 }
302303 }
303304
304305
305306
306307 @Callable(as)
307308 func resetList () = if (!(l(as.caller)))
308309 then throw("only admin can do")
309310 else [StringEntry(x, a), StringEntry(y, a), StringEntry(B, a), StringEntry(C, a), StringEntry(z, a), StringEntry(A, a)]
310311
311312
312313
313314 @Callable(as)
314-func insertToList (E,aK) = if ((this != as.caller))
315+func insertToList (E,aL) = if ((this != as.caller))
315316 then throw("only main can do")
316317 else {
317- let aL = if (aK)
318+ let aM = if (aL)
318319 then C
319320 else A
320- let aM = if (aK)
321+ let aN = if (aL)
321322 then B
322323 else z
323- let aN = valueOrElse(getString(this, aM), a)
324- let aO = valueOrElse(getString(this, aL), a)
325- let aP = if ((aO == a))
326- then aL
327- else K(aN)
328-[StringEntry(aM, E), StringEntry(aP, E), StringEntry(L(E), aN)]
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)]
329330 }
330331
331332
332333
333334 @Callable(as)
334-func deleteFromList (E,aK) = if ((this != as.caller))
335+func deleteFromList (E,aL) = if ((this != as.caller))
335336 then throw("only main can do")
336337 else {
337- let aL = if (aK)
338+ let aM = if (aL)
338339 then C
339340 else A
340- let aM = if (aK)
341+ let aN = if (aL)
341342 then B
342343 else z
343- let aN = valueOrElse(getString(this, aM), a)
344- let aO = valueOrElse(getString(this, aL), a)
345- let aQ = valueOrElse(getString(this, K(E)), a)
346- let aR = valueOrElse(getString(this, L(E)), a)
347- let aS = if ((E == aN))
348- then a
349- else aQ
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)
350348 let aT = if ((E == aO))
351349 then a
352350 else aR
353- if (if ((aS == a))
354- then (aT == a)
351+ let aU = if ((E == aP))
352+ then a
353+ else aS
354+ if (if ((aT == a))
355+ then (aU == a)
355356 else false)
356- then [StringEntry(aM, a), StringEntry(aL, a)]
357- else if (if ((aS != a))
358- then (aT != a)
357+ then [StringEntry(aN, a), StringEntry(aM, a)]
358+ else if (if ((aT != a))
359+ then (aU != a)
359360 else false)
360- then [StringEntry(K(aT), aS), StringEntry(L(aS), aT)]
361- else if ((aS != a))
362- then [StringEntry(aL, aS), StringEntry(L(aS), a)]
363- else [StringEntry(aM, aT), StringEntry(K(aT), a)]
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)]
364365 }
365366
366367
367368
368369 @Callable(as)
369370 func concatLists () = if (!(l(as.caller)))
370371 then throw("only admin can do")
371372 else {
372- let aU = valueOrElse(getString(this, B), a)
373- let aV = valueOrElse(getString(this, C), a)
374- let aW = valueOrElse(getString(this, z), a)
375- let aX = valueOrElse(getString(this, A), a)
376- let aN = if ((aU != a))
377- then aU
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
378382 else aW
379- let aO = if ((aX != a))
380- then aX
381- else aV
382- if (if ((aW != a))
383- then (aV != a)
383+ if (if ((aX != a))
384+ then (aW != a)
384385 else false)
385- then [StringEntry(x, aN), StringEntry(y, aO), StringEntry(L(aV), aW), StringEntry(K(aW), aV)]
386- else [StringEntry(x, aN), StringEntry(y, aO)]
386+ then [StringEntry(x, aO), StringEntry(y, aP), StringEntry(L(aW), aX), StringEntry(K(aX), aW)]
387+ else [StringEntry(x, aO), StringEntry(y, aP)]
387388 }
388389
389390

github/deemru/w8io/c3f4982 
83.08 ms