tx · 9ZuGYzAhsFYbt9KpzkWJKto5CyMNfaMJdKTrZiEchsMV

3N8VMRDjjw6kAuCviYwFq4yDWyctRuHPN7X:  -0.00800000 Waves

2022.11.10 12:15 [2310859] smart account 3N8VMRDjjw6kAuCviYwFq4yDWyctRuHPN7X > SELF 0.00000000 Waves

{ "type": 13, "id": "9ZuGYzAhsFYbt9KpzkWJKto5CyMNfaMJdKTrZiEchsMV", "fee": 800000, "feeAssetId": null, "timestamp": 1668071775153, "version": 2, "chainId": 84, "sender": "3N8VMRDjjw6kAuCviYwFq4yDWyctRuHPN7X", "senderPublicKey": "SrcQexq2T9cnMXmLqfJtc8AnQ91ZjeaJtXoi1HwDsx9", "proofs": [ "58yjEinEA3u8oqzEuSXZ7Thmdm3XTJZP2zRH6xx6bGVCFiJT1T39UwYJs6PCUUQghDbkVZBibuAjKAkRxuGYYx68" ], "script": "base64:BgIhCAISBAoCCAESAwoBCBIDCgEIEgMKAQgSAwoBCBIDCgEIEQEIcHJpY2VLZXkBBWFzc2V0CQCsAgIFBWFzc2V0AgZfcHJpY2UBCG93bmVyS2V5AQVhc3NldAkArAICBQVhc3NldAIGX293bmVyAQlpc3N1ZXJLZXkBBWFzc2V0CQCsAgIFBWFzc2V0AgdfaXNzdWVyAQduYW1lS2V5AQVhc3NldAkArAICBQVhc3NldAIFX25hbWUBDmRlc2NyaXB0aW9uS2V5AQVhc3NldAkArAICBQVhc3NldAIMX2Rlc2NyaXB0aW9uAQthc3NldEFjY2VzcwEFYXNzZXQJAKwCAgUFYXNzZXQCCV9hc3NldEJ1eQEKYXNzZXRPZmZlcgEFYXNzZXQJAKwCAgUFYXNzZXQCBl9vZmZlcgEOYXNzZXRPZmZlclN3YXABBWFzc2V0CQCsAgIFBWFzc2V0AgZfb2ZmZXIBDXRyeUdldEludGVnZXIBA2tleQQDdmFsBAckbWF0Y2gwCQCaCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWIFByRtYXRjaDAFAWIAAAUDdmFsAQx0cnlHZXRTdHJpbmcBA2tleQQDdmFsBAckbWF0Y2gwCQCdCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWIFByRtYXRjaDAFAWICAAUDdmFsAQp0cnlHZXRCb29sAQNrZXkEA3ZhbAQHJG1hdGNoMAkAmwgCBQR0aGlzBQNrZXkDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQBYgUHJG1hdGNoMAUBYgcFA3ZhbAELaXNQYXltZW50T2sDAWkRYWNjZXB0YWJsZUFzc2V0SWQFcHJpY2UDCQAAAgkAkAMBCAUBaQhwYXltZW50cwAACQACAQIUUGF5bWVudCBub3QgYXR0YWNoZWQEAXAJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAAQDdmFsBAckbWF0Y2gwCAUBcAdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEB2Fzc2V0SWQFByRtYXRjaDADCQAAAgkA2AQBBQdhc3NldElkBRFhY2NlcHRhYmxlQXNzZXRJZAkAZwIIBQFwBmFtb3VudAUFcHJpY2UHAwkAAQIFByRtYXRjaDACBFVuaXQEBXdhdmVzBQckbWF0Y2gwCQBnAggFAXAGYW1vdW50BQVwcmljZQkAAgECC01hdGNoIGVycm9yBQN2YWwBD2lzQWNjZXB0YWJsZU5mdAIGc3RhdHVzCWFzc2V0U2FsZQQHaWRBc3NldAQHJG1hdGNoMAgFCWFzc2V0U2FsZQdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAWIFByRtYXRjaDAFAWIDCQABAgUHJG1hdGNoMAIEVW5pdAQBYgUHJG1hdGNoMAED0AAACQACAQILTWF0Y2ggZXJyb3IEBWFzc2V0BAckbWF0Y2gwCQDsBwEFB2lkQXNzZXQDCQABAgUHJG1hdGNoMAIFQXNzZXQEAWIFByRtYXRjaDAJANgEAQgIBQFiBmlzc3VlcgVieXRlcwMJAAECBQckbWF0Y2gwAgRVbml0BAV3YXZlcwUHJG1hdGNoMAIFV0FWRVMJAAIBAgtNYXRjaCBlcnJvcgMJAQp0cnlHZXRCb29sAQUFYXNzZXQFBnN0YXR1cwcBCmdldEFzc2V0SWQCBnN0YXR1cwlhc3NldFNhbGUEB2lkQXNzZXQEByRtYXRjaDAIBQlhc3NldFNhbGUHYXNzZXRJZAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAFiBQckbWF0Y2gwCQDYBAEFAWIDCQABAgUHJG1hdGNoMAIEVW5pdAQBYgUHJG1hdGNoMAIFV0FWRVMJAAIBAgtNYXRjaCBlcnJvcgkArAICCQCsAgIFBnN0YXR1cwIBXwUHaWRBc3NldAENZ2V0QXNzZXRQcmljZQIGc3RhdHVzCWFzc2V0U2FsZQQFcHJpY2UJAKQDAQgFCWFzc2V0U2FsZQZhbW91bnQJAKwCAgkArAICBQZzdGF0dXMCAV8FBXByaWNlAQ5nZXRBc3NldElzc3VlcgIGc3RhdHVzCWFzc2V0U2FsZQQHaWRBc3NldAQHJG1hdGNoMAgFCWFzc2V0U2FsZQdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAWIFByRtYXRjaDAFAWIDCQABAgUHJG1hdGNoMAIEVW5pdAQBYgUHJG1hdGNoMAED0AAACQACAQILTWF0Y2ggZXJyb3IEBmlzc3VlcgQHJG1hdGNoMAkA7AcBBQdpZEFzc2V0AwkAAQIFByRtYXRjaDACBUFzc2V0BAFiBQckbWF0Y2gwCQDYBAEICAUBYgZpc3N1ZXIFYnl0ZXMDCQABAgUHJG1hdGNoMAIEVW5pdAQBYgUHJG1hdGNoMAIFV0FWRVMJAAIBAgtNYXRjaCBlcnJvcgkArAICCQCsAgIFBnN0YXR1cwIBXwUGaXNzdWVyARBnZXRUcmFuc2ZlckFzc2V0AgZzdGF0dXMEZGF0YQQPdHJhbnNmZXJBZGRyZXNzBAckbWF0Y2gwCQCmCAEIBQRkYXRhAl8xAwkAAQIFByRtYXRjaDACB0FkZHJlc3MEAWIFByRtYXRjaDAFAWIDCQABAgUHJG1hdGNoMAIEVW5pdAQBYgUHJG1hdGNoMAUEdGhpcwkAAgECC01hdGNoIGVycm9yAwkBAiE9AggFBGRhdGECXzMCBVdBVkVTCQDNCAIFBnN0YXR1cwkBDlNjcmlwdFRyYW5zZmVyAwUPdHJhbnNmZXJBZGRyZXNzCAUEZGF0YQJfMgkA2QQBCAUEZGF0YQJfMwkAzQgCBQZzdGF0dXMJAQ5TY3JpcHRUcmFuc2ZlcgMFD3RyYW5zZmVyQWRkcmVzcwgFBGRhdGECXzIFBHVuaXQGAWkBDG9mZmVyRm9yU2FsZQIMYXNzZXRJZFByaWNlBXByaWNlAwkBASEBAwkBCnRyeUdldEJvb2wBCQELYXNzZXRBY2Nlc3MBBQxhc3NldElkUHJpY2UJAGYCBQVwcmljZQAABwkAAgECFFNhbGUgQXNzZXQgaW5jb3JyZWN0BAxmaXJzdFBheW1lbnQJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAAQHYXNzZXRJZAQHJG1hdGNoMAgFDGZpcnN0UGF5bWVudAdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAmlkBQckbWF0Y2gwBQJpZAMJAAECBQckbWF0Y2gwAgRVbml0BAF3BQckbWF0Y2gwCQACAQIQQXNzZXQgaXMgbm90IE5GVAkAAgECC01hdGNoIGVycm9yBAphc3NldElkU3RyCQDYBAEFB2Fzc2V0SWQEBWFzc2V0BAckbWF0Y2gwCQDsBwEFB2Fzc2V0SWQDCQABAgUHJG1hdGNoMAIFQXNzZXQEAWEFByRtYXRjaDAFAWEJAAIBAiVFcnJvciBnZXR0aW5nIGluZm9ybWF0aW9uIGFib3V0IGFzc2V0AwMDCQECIT0CCAUFYXNzZXQIcXVhbnRpdHkAAQkBAiE9AggFBWFzc2V0CGRlY2ltYWxzAAAHCAUFYXNzZXQKcmVpc3N1YWJsZQcJAAIBAhBBc3NldCBpcyBub3QgTkZUCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEIcHJpY2VLZXkBBQphc3NldElkU3RyBQVwcmljZQkAzAgCCQELU3RyaW5nRW50cnkCCQEIb3duZXJLZXkBBQphc3NldElkU3RyCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMJAMwIAgkBC1N0cmluZ0VudHJ5AgkBCWlzc3VlcktleQEFCmFzc2V0SWRTdHIJANgEAQgIBQVhc3NldAZpc3N1ZXIFYnl0ZXMJAMwIAgkBC1N0cmluZ0VudHJ5AgkBB25hbWVLZXkBBQphc3NldElkU3RyCAUFYXNzZXQEbmFtZQkAzAgCCQELU3RyaW5nRW50cnkCCQEOZGVzY3JpcHRpb25LZXkBBQphc3NldElkU3RyCAUFYXNzZXQLZGVzY3JpcHRpb24JAMwIAgkBC1N0cmluZ0VudHJ5AgkBCmFzc2V0T2ZmZXIBBQphc3NldElkU3RyBQxhc3NldElkUHJpY2UFA25pbAFpAQxvZmZlckZvclN3YXABDGFzc2V0SWRQcmljZQQIY291bnRQYXkJAJADAQgFAWkIcGF5bWVudHMEBnN0YXR1cwoAAiRsCAUBaQhwYXltZW50cwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAGCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQ9pc0FjY2VwdGFibGVOZnQCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDIJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAwkBASEBBQZzdGF0dXMJAAIBAhJQYXltZW50cyBpbmNvcnJlY3QDCQBmAgkBDXRyeUdldEludGVnZXIBAgpjb21taXNzaW9uCAkAkQMCCAUBaQhwYXltZW50cwABBmFtb3VudAkAAgECFU5vIG1pbmltdW0gY29tbWlzc2lvbgQKcGF5bWVudEFsbAoAAiRsCAUBaQhwYXltZW50cwoAAiRzCQCQAwEFAiRsCgAFJGFjYzACAAoBBSRmMV8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEKZ2V0QXNzZXRJZAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMV8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgMgkBBSRmMV8yAgkBBSRmMV8xAgkBBSRmMV8xAgUFJGFjYzAAAAABAAIEBmlzc3VlcgoAAiRsCAUBaQhwYXltZW50cwoAAiRzCQCQAwEFAiRsCgAFJGFjYzACAAoBBSRmMl8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEOZ2V0QXNzZXRJc3N1ZXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjJfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDIJAQUkZjJfMgIJAQUkZjJfMQIJAQUkZjJfMQIFBSRhY2MwAAAAAQACBAVwcmljZQoAAiRsCAUBaQhwYXltZW50cwoAAiRzCQCQAwEFAiRsCgAFJGFjYzACAAoBBSRmM18xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQENZ2V0QXNzZXRQcmljZQIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmM18yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgMgkBBSRmM18yAgkBBSRmM18xAgkBBSRmM18xAgUFJGFjYzAAAAABAAIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQEIcHJpY2VLZXkBBQpwYXltZW50QWxsAgRTd2FwBQVwcmljZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAQhvd25lcktleQEFCnBheW1lbnRBbGwCBFN3YXAJANgEAQgIBQFpBmNhbGxlcgVieXRlcwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAQlpc3N1ZXJLZXkBBQpwYXltZW50QWxsAgRTd2FwBQZpc3N1ZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQEKYXNzZXRPZmZlcgEFCnBheW1lbnRBbGwCBFN3YXAFDGFzc2V0SWRQcmljZQUDbmlsAWkBA2J1eQEIYXNzZXRTdHIEBXByaWNlCQENdHJ5R2V0SW50ZWdlcgEJAQhwcmljZUtleQEFCGFzc2V0U3RyBBFhY2NlcHRhYmxlQXNzZXRJZAkBDHRyeUdldFN0cmluZwEJAQphc3NldE9mZmVyAQUIYXNzZXRTdHIECG93bmVyU3RyCQEMdHJ5R2V0U3RyaW5nAQkBCG93bmVyS2V5AQUIYXNzZXRTdHIEBW93bmVyBAckbWF0Y2gwCQCmCAEFCG93bmVyU3RyAwkAAQIFByRtYXRjaDACB0FkZHJlc3MEAWEFByRtYXRjaDAFAWEJAAIBAhVBZGRyZXNzIHBhcnNpbmcgZXJyb3IDCQEBIQEJAQtpc1BheW1lbnRPawMFAWkFEWFjY2VwdGFibGVBc3NldElkBQVwcmljZQkAAgECHVdyb25nIHBheW1lbnQgYW1vdW50IG9yIGFzc2V0AwkAAAIFCG93bmVyU3RyCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMJAAIBAhhPd25lciBjYW5ub3QgYnV5IGhpcyBOVEYDCQAAAgUFcHJpY2UAAAkAAgECGFRoaXMgTkZUIGlzIG5vdCBmb3Igc2FsZQQDZmVlCQBoAgkAaQIFBXByaWNlAGQABQkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIAAQkA2QQBBQhhc3NldFN0cgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQVvd25lcgkAZQIFBXByaWNlBQNmZWUFBHVuaXQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBCHByaWNlS2V5AQUIYXNzZXRTdHIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBCG93bmVyS2V5AQUIYXNzZXRTdHIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBCWlzc3VlcktleQEFCGFzc2V0U3RyCQDMCAIJAQtEZWxldGVFbnRyeQEJAQduYW1lS2V5AQUIYXNzZXRTdHIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBDmRlc2NyaXB0aW9uS2V5AQUIYXNzZXRTdHIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBCmFzc2V0T2ZmZXIBBQhhc3NldFN0cgUDbmlsAWkBCHN3YXBEb25lAQdvZmZlcklkBAVwcmljZQkBDHRyeUdldFN0cmluZwEJAQhwcmljZUtleQEFB29mZmVySWQEBW9mZmVyCQEMdHJ5R2V0U3RyaW5nAQkBCmFzc2V0T2ZmZXIBBQdvZmZlcklkBApvd25lck9mZmVyCQEMdHJ5R2V0U3RyaW5nAQkBCG93bmVyS2V5AQUHb2ZmZXJJZAQIb3duZXJOZnQJAQx0cnlHZXRTdHJpbmcBCQEIb3duZXJLZXkBBQdvZmZlcklkAwkBAiE9AgUIb3duZXJOZnQJANgEAQgIBQFpBmNhbGxlcgVieXRlcwkAAgECNVRoZSBjYWxsaW5nIGFkZHJlc3MgaXMgbm90IHRoZSBvd25lciBvZiB0aGUgTkZUIHRva2VuAwkAAAIFBXByaWNlAgAJAAIBAhhUaGlzIE5GVCBpcyBub3QgZm9yIHNhbGUEA2ZlZQkBDXRyeUdldEludGVnZXIBAgpjb21taXNzaW9uBAlsaXN0QXNzZXQJALUJAgUHb2ZmZXJJZAIBXwQJbGlzdFByaWNlCQC1CQIFBXByaWNlAgFfCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCG93bmVyTmZ0CQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUJbGlzdFByaWNlAAAJANkEAQkAkQMCBQlsaXN0QXNzZXQAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBQhvd25lck5mdAkAZQIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQlsaXN0UHJpY2UAAQUDZmVlBQR1bml0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCm93bmVyT2ZmZXIAAQkA2QQBCQEMdHJ5R2V0U3RyaW5nAQUHb2ZmZXJJZAkAzAgCCQELRGVsZXRlRW50cnkBCQEIcHJpY2VLZXkBCQCRAwIFCWxpc3RBc3NldAAACQDMCAIJAQtEZWxldGVFbnRyeQEJAQhvd25lcktleQEJAJEDAgUJbGlzdEFzc2V0AAAJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBCWlzc3VlcktleQEJAJEDAgUJbGlzdEFzc2V0AAAJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBB25hbWVLZXkBCQCRAwIFCWxpc3RBc3NldAAACQDMCAIJAQtEZWxldGVFbnRyeQEJAQ5kZXNjcmlwdGlvbktleQEJAJEDAgUJbGlzdEFzc2V0AAAJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBCHByaWNlS2V5AQUHb2ZmZXJJZAkAzAgCCQELRGVsZXRlRW50cnkBCQEIb3duZXJLZXkBBQdvZmZlcklkCQDMCAIJAQtEZWxldGVFbnRyeQEJAQlpc3N1ZXJLZXkBBQdvZmZlcklkBQNuaWwBaQENY2FuY2VsU2VsbGluZwEIYXNzZXRTdHIECG93bmVyU3RyCQEMdHJ5R2V0U3RyaW5nAQkBCG93bmVyS2V5AQUIYXNzZXRTdHIEBW93bmVyBAckbWF0Y2gwCQCmCAEFCG93bmVyU3RyAwkAAQIFByRtYXRjaDACB0FkZHJlc3MEAWEFByRtYXRjaDAFAWEJAAIBAhVBZGRyZXNzIHBhcnNpbmcgZXJyb3IDCQECIT0CBQhvd25lclN0cgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzCQACAQI1VGhlIGNhbGxpbmcgYWRkcmVzcyBpcyBub3QgdGhlIG93bmVyIG9mIHRoZSBORlQgdG9rZW4JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyAAEJANkEAQUIYXNzZXRTdHIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBCHByaWNlS2V5AQUIYXNzZXRTdHIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBCG93bmVyS2V5AQUIYXNzZXRTdHIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBCWlzc3VlcktleQEFCGFzc2V0U3RyCQDMCAIJAQtEZWxldGVFbnRyeQEJAQduYW1lS2V5AQUIYXNzZXRTdHIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBDmRlc2NyaXB0aW9uS2V5AQUIYXNzZXRTdHIFA25pbAFpAQpzd2FwQ2FuY2VsAQdvZmZlcklkBApvd25lck9mZmVyCQEMdHJ5R2V0U3RyaW5nAQkBCG93bmVyS2V5AQUHb2ZmZXJJZAQFcHJpY2UJAQx0cnlHZXRTdHJpbmcBCQEIcHJpY2VLZXkBBQdvZmZlcklkAwkBAiE9AgUKb3duZXJPZmZlcgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzCQACAQI1VGhlIGNhbGxpbmcgYWRkcmVzcyBpcyBub3QgdGhlIG93bmVyIG9mIHRoZSBORlQgdG9rZW4ECWxpc3RBc3NldAkAtQkCBQdvZmZlcklkAgFfBAlsaXN0UHJpY2UJALUJAgUFcHJpY2UCAV8JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQUKb3duZXJPZmZlcgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFCWxpc3RQcmljZQAACQDZBAEJAJEDAgUJbGlzdEFzc2V0AAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQUKb3duZXJPZmZlcgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFCWxpc3RQcmljZQABBQR1bml0CQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgkBCHByaWNlS2V5AQUHb2ZmZXJJZAIEU3dhcAkAzAgCCQELRGVsZXRlRW50cnkBCQCsAgIJAQhvd25lcktleQEFB29mZmVySWQCBFN3YXAJAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICCQEJaXNzdWVyS2V5AQUHb2ZmZXJJZAIEU3dhcAUDbmlsAQJ0eAEGdmVyaWZ5AAkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tlefGC/OQ=", "height": 2310859, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FNriYGb4pRehpjCUDKqf44gCWpGx6FcfUfU39ZL6KoAR Next: ENBy7Jsp7aU3nrrqEjVnSuaFoxbYNwWUqvPTxZzAGkgf Diff:
OldNewDifferences
2222 func h (b) = (b + "_offer")
2323
2424
25-func i (j) = {
26- let k = {
27- let l = getInteger(this, j)
28- if ($isInstanceOf(l, "Int"))
25+func i (b) = (b + "_offer")
26+
27+
28+func j (k) = {
29+ let l = {
30+ let m = getInteger(this, k)
31+ if ($isInstanceOf(m, "Int"))
2932 then {
30- let m = l
31- m
33+ let n = m
34+ n
3235 }
3336 else 0
3437 }
35- k
38+ l
3639 }
3740
3841
39-func n (j) = {
40- let k = {
41- let l = getString(this, j)
42- if ($isInstanceOf(l, "String"))
42+func o (k) = {
43+ let l = {
44+ let m = getString(this, k)
45+ if ($isInstanceOf(m, "String"))
4346 then {
44- let m = l
45- m
47+ let n = m
48+ n
4649 }
4750 else ""
4851 }
49- k
52+ l
5053 }
5154
5255
53-func o (j) = {
54- let k = {
55- let l = getBoolean(this, j)
56- if ($isInstanceOf(l, "Boolean"))
56+func p (k) = {
57+ let l = {
58+ let m = getBoolean(this, k)
59+ if ($isInstanceOf(m, "Boolean"))
5760 then {
58- let m = l
59- m
61+ let n = m
62+ n
6063 }
6164 else false
6265 }
63- k
66+ l
6467 }
6568
6669
67-func p (q,r,s) = if ((size(q.payments) == 0))
70+func q (r,s,t) = if ((size(r.payments) == 0))
6871 then throw("Payment not attached")
6972 else {
70- let t = value(q.payments[0])
71- let k = {
72- let l = t.assetId
73- if ($isInstanceOf(l, "ByteVector"))
73+ let u = value(r.payments[0])
74+ let l = {
75+ let m = u.assetId
76+ if ($isInstanceOf(m, "ByteVector"))
7477 then {
75- let u = l
76- if ((toBase58String(u) == r))
77- then (t.amount >= s)
78+ let v = m
79+ if ((toBase58String(v) == s))
80+ then (u.amount >= t)
7881 else false
7982 }
80- else if ($isInstanceOf(l, "Unit"))
83+ else if ($isInstanceOf(m, "Unit"))
8184 then {
82- let v = l
83- (t.amount >= s)
85+ let w = m
86+ (u.amount >= t)
8487 }
8588 else throw("Match error")
8689 }
87- k
90+ l
8891 }
8992
9093
91-func w (x,y) = {
92- let z = {
93- let l = y.assetId
94- if ($isInstanceOf(l, "ByteVector"))
94+func x (y,z) = {
95+ let A = {
96+ let m = z.assetId
97+ if ($isInstanceOf(m, "ByteVector"))
9598 then {
96- let m = l
97- m
99+ let n = m
100+ n
98101 }
99- else if ($isInstanceOf(l, "Unit"))
102+ else if ($isInstanceOf(m, "Unit"))
100103 then {
101- let m = l
104+ let n = m
102105 base58'2CsAf'
103106 }
104107 else throw("Match error")
105108 }
106109 let b = {
107- let l = assetInfo(z)
108- if ($isInstanceOf(l, "Asset"))
110+ let m = assetInfo(A)
111+ if ($isInstanceOf(m, "Asset"))
109112 then {
110- let m = l
111- toBase58String(m.issuer.bytes)
113+ let n = m
114+ toBase58String(n.issuer.bytes)
112115 }
113- else if ($isInstanceOf(l, "Unit"))
116+ else if ($isInstanceOf(m, "Unit"))
114117 then {
115- let v = l
118+ let w = m
116119 "WAVES"
117120 }
118121 else throw("Match error")
119122 }
120- if (o(b))
121- then x
123+ if (p(b))
124+ then y
122125 else false
123126 }
124127
125128
126-func A (x,y) = {
127- let z = {
128- let l = y.assetId
129- if ($isInstanceOf(l, "ByteVector"))
129+func B (y,z) = {
130+ let A = {
131+ let m = z.assetId
132+ if ($isInstanceOf(m, "ByteVector"))
130133 then {
131- let m = l
132- toBase58String(m)
134+ let n = m
135+ toBase58String(n)
133136 }
134- else if ($isInstanceOf(l, "Unit"))
137+ else if ($isInstanceOf(m, "Unit"))
135138 then {
136- let m = l
139+ let n = m
137140 "WAVES"
138141 }
139142 else throw("Match error")
140143 }
141- ((x + "_") + z)
144+ ((y + "_") + A)
142145 }
143146
144147
145-func B (x,y) = {
146- let s = toString(y.amount)
147- ((x + "_") + s)
148+func C (y,z) = {
149+ let t = toString(z.amount)
150+ ((y + "_") + t)
148151 }
149152
150153
151-func C (x,y) = {
152- let z = {
153- let l = y.assetId
154- if ($isInstanceOf(l, "ByteVector"))
154+func D (y,z) = {
155+ let A = {
156+ let m = z.assetId
157+ if ($isInstanceOf(m, "ByteVector"))
155158 then {
156- let m = l
157- m
159+ let n = m
160+ n
158161 }
159- else if ($isInstanceOf(l, "Unit"))
162+ else if ($isInstanceOf(m, "Unit"))
160163 then {
161- let m = l
164+ let n = m
162165 base58'2CsAf'
163166 }
164167 else throw("Match error")
165168 }
166- let D = {
167- let l = assetInfo(z)
168- if ($isInstanceOf(l, "Asset"))
169+ let E = {
170+ let m = assetInfo(A)
171+ if ($isInstanceOf(m, "Asset"))
169172 then {
170- let m = l
171- toBase58String(m.issuer.bytes)
173+ let n = m
174+ toBase58String(n.issuer.bytes)
172175 }
173- else if ($isInstanceOf(l, "Unit"))
176+ else if ($isInstanceOf(m, "Unit"))
174177 then {
175- let m = l
178+ let n = m
176179 "WAVES"
177180 }
178181 else throw("Match error")
179182 }
180- ((x + "_") + D)
183+ ((y + "_") + E)
181184 }
182185
183186
184-func E (x,F) = {
185- let G = {
186- let l = addressFromString(F._1)
187- if ($isInstanceOf(l, "Address"))
187+func F (y,G) = {
188+ let H = {
189+ let m = addressFromString(G._1)
190+ if ($isInstanceOf(m, "Address"))
188191 then {
189- let m = l
190- m
192+ let n = m
193+ n
191194 }
192- else if ($isInstanceOf(l, "Unit"))
195+ else if ($isInstanceOf(m, "Unit"))
193196 then {
194- let m = l
197+ let n = m
195198 this
196199 }
197200 else throw("Match error")
198201 }
199- if ((F._3 != "WAVES"))
200- then (x :+ ScriptTransfer(G, F._2, fromBase58String(F._3)))
201- else (x :+ ScriptTransfer(G, F._2, unit))
202+ if ((G._3 != "WAVES"))
203+ then (y :+ ScriptTransfer(H, G._2, fromBase58String(G._3)))
204+ else (y :+ ScriptTransfer(H, G._2, unit))
202205 }
203206
204207
205-@Callable(q)
206-func offerForSale (H,s) = if (!(if (o(g(H)))
207- then (s > 0)
208+@Callable(r)
209+func offerForSale (I,t) = if (!(if (p(g(I)))
210+ then (t > 0)
208211 else false))
209212 then throw("Sale Asset incorrect")
210213 else {
211- let I = value(q.payments[0])
212- let u = {
213- let l = I.assetId
214- if ($isInstanceOf(l, "ByteVector"))
214+ let J = value(r.payments[0])
215+ let v = {
216+ let m = J.assetId
217+ if ($isInstanceOf(m, "ByteVector"))
215218 then {
216- let J = l
217- J
219+ let K = m
220+ K
218221 }
219- else if ($isInstanceOf(l, "Unit"))
222+ else if ($isInstanceOf(m, "Unit"))
220223 then {
221- let K = l
224+ let L = m
222225 throw("Asset is not NFT")
223226 }
224227 else throw("Match error")
225228 }
226- let L = toBase58String(u)
229+ let M = toBase58String(v)
227230 let b = {
228- let l = assetInfo(u)
229- if ($isInstanceOf(l, "Asset"))
231+ let m = assetInfo(v)
232+ if ($isInstanceOf(m, "Asset"))
230233 then {
231- let M = l
232- M
234+ let N = m
235+ N
233236 }
234237 else throw("Error getting information about asset")
235238 }
239242 then b.reissuable
240243 else false)
241244 then throw("Asset is not NFT")
242- else [IntegerEntry(a(L), s), StringEntry(c(L), toBase58String(q.caller.bytes)), StringEntry(d(L), toBase58String(b.issuer.bytes)), StringEntry(e(L), b.name), StringEntry(f(L), b.description), StringEntry(h(L), H)]
245+ else [IntegerEntry(a(M), t), StringEntry(c(M), toBase58String(r.caller.bytes)), StringEntry(d(M), toBase58String(b.issuer.bytes)), StringEntry(e(M), b.name), StringEntry(f(M), b.description), StringEntry(h(M), I)]
243246 }
244247
245248
246249
247-@Callable(q)
248-func offerForSwap (H) = {
249- let N = size(q.payments)
250- let x = {
251- let O = q.payments
252- let P = size(O)
253- let Q = true
254- func R (S,T) = if ((T >= P))
255- then S
256- else w(S, O[T])
250+@Callable(r)
251+func offerForSwap (I) = {
252+ let O = size(r.payments)
253+ let y = {
254+ let P = r.payments
255+ let Q = size(P)
256+ let R = true
257+ func S (T,U) = if ((U >= Q))
258+ then T
259+ else x(T, P[U])
257260
258- func U (S,T) = if ((T >= P))
259- then S
261+ func V (T,U) = if ((U >= Q))
262+ then T
260263 else throw("List size exceeds 2")
261264
262- U(R(R(Q, 0), 1), 2)
265+ V(S(S(R, 0), 1), 2)
263266 }
264- if (!(x))
267+ if (!(y))
265268 then throw("Payments incorrect")
266- else if ((i("commission") > q.payments[1].amount))
269+ else if ((j("commission") > r.payments[1].amount))
267270 then throw("No minimum commission")
268271 else {
269- let V = {
270- let O = q.payments
271- let P = size(O)
272- let Q = ""
273- func W (S,T) = if ((T >= P))
274- then S
275- else A(S, O[T])
272+ let W = {
273+ let P = r.payments
274+ let Q = size(P)
275+ let R = ""
276+ func X (T,U) = if ((U >= Q))
277+ then T
278+ else B(T, P[U])
276279
277- func X (S,T) = if ((T >= P))
278- then S
280+ func Y (T,U) = if ((U >= Q))
281+ then T
279282 else throw("List size exceeds 2")
280283
281- X(W(W(Q, 0), 1), 2)
284+ Y(X(X(R, 0), 1), 2)
282285 }
283- let D = {
284- let O = q.payments
285- let P = size(O)
286- let Q = ""
287- func Y (S,T) = if ((T >= P))
288- then S
289- else C(S, O[T])
286+ let E = {
287+ let P = r.payments
288+ let Q = size(P)
289+ let R = ""
290+ func Z (T,U) = if ((U >= Q))
291+ then T
292+ else D(T, P[U])
290293
291- func Z (S,T) = if ((T >= P))
292- then S
294+ func aa (T,U) = if ((U >= Q))
295+ then T
293296 else throw("List size exceeds 2")
294297
295- Z(Y(Y(Q, 0), 1), 2)
298+ aa(Z(Z(R, 0), 1), 2)
296299 }
297- let s = {
298- let O = q.payments
299- let P = size(O)
300- let Q = ""
301- func aa (S,T) = if ((T >= P))
302- then S
303- else B(S, O[T])
300+ let t = {
301+ let P = r.payments
302+ let Q = size(P)
303+ let R = ""
304+ func ab (T,U) = if ((U >= Q))
305+ then T
306+ else C(T, P[U])
304307
305- func ab (S,T) = if ((T >= P))
306- then S
308+ func ac (T,U) = if ((U >= Q))
309+ then T
307310 else throw("List size exceeds 2")
308311
309- ab(aa(aa(Q, 0), 1), 2)
312+ ac(ab(ab(R, 0), 1), 2)
310313 }
311-[StringEntry(a(V), s), StringEntry(c(V), toBase58String(q.caller.bytes)), StringEntry(d(V), D), StringEntry(h(V), H)]
314+[StringEntry((a(W) + "Swap"), t), StringEntry((c(W) + "Swap"), toBase58String(r.caller.bytes)), StringEntry((d(W) + "Swap"), E), StringEntry((h(W) + "Swap"), I)]
312315 }
313316 }
314317
315318
316319
317-@Callable(q)
318-func buy (ac) = {
319- let s = i(a(ac))
320- let r = n(h(ac))
321- let ad = n(c(ac))
322- let ae = {
323- let l = addressFromString(ad)
324- if ($isInstanceOf(l, "Address"))
320+@Callable(r)
321+func buy (ad) = {
322+ let t = j(a(ad))
323+ let s = o(h(ad))
324+ let ae = o(c(ad))
325+ let af = {
326+ let m = addressFromString(ae)
327+ if ($isInstanceOf(m, "Address"))
325328 then {
326- let M = l
327- M
329+ let N = m
330+ N
328331 }
329332 else throw("Address parsing error")
330333 }
331- if (!(p(q, r, s)))
334+ if (!(q(r, s, t)))
332335 then throw("Wrong payment amount or asset")
333- else if ((ad == toBase58String(q.caller.bytes)))
336+ else if ((ae == toBase58String(r.caller.bytes)))
334337 then throw("Owner cannot buy his NTF")
335- else if ((s == 0))
338+ else if ((t == 0))
336339 then throw("This NFT is not for sale")
337340 else {
338- let af = ((s / 100) * 5)
339-[ScriptTransfer(q.caller, 1, fromBase58String(ac)), ScriptTransfer(ae, (s - af), unit), DeleteEntry(a(ac)), DeleteEntry(c(ac)), DeleteEntry(d(ac)), DeleteEntry(e(ac)), DeleteEntry(f(ac)), DeleteEntry(h(ac))]
341+ let ag = ((t / 100) * 5)
342+[ScriptTransfer(r.caller, 1, fromBase58String(ad)), ScriptTransfer(af, (t - ag), unit), DeleteEntry(a(ad)), DeleteEntry(c(ad)), DeleteEntry(d(ad)), DeleteEntry(e(ad)), DeleteEntry(f(ad)), DeleteEntry(h(ad))]
340343 }
341344 }
342345
343346
344347
345-@Callable(q)
346-func swapDone (ag) = {
347- let s = n(a(ag))
348- let ah = n(h(ag))
349- let ai = n(c(ag))
350- let aj = n(c(ag))
351- if ((aj != toBase58String(q.caller.bytes)))
348+@Callable(r)
349+func swapDone (ah) = {
350+ let t = o(a(ah))
351+ let ai = o(h(ah))
352+ let aj = o(c(ah))
353+ let ak = o(c(ah))
354+ if ((ak != toBase58String(r.caller.bytes)))
352355 then throw("The calling address is not the owner of the NFT token")
353- else if ((s == ""))
356+ else if ((t == ""))
354357 then throw("This NFT is not for sale")
355358 else {
356- let af = i("commission")
357- let ak = split(ag, "_")
358- let al = split(s, "_")
359-[ScriptTransfer(addressFromStringValue(aj), parseIntValue(al[0]), fromBase58String(ak[0])), ScriptTransfer(addressFromStringValue(aj), (parseIntValue(al[1]) - af), unit), ScriptTransfer(addressFromStringValue(ai), 1, fromBase58String(n(ag))), DeleteEntry(a(ak[0])), DeleteEntry(c(ak[0])), DeleteEntry(d(ak[0])), DeleteEntry(e(ak[0])), DeleteEntry(f(ak[0])), DeleteEntry(a(ag)), DeleteEntry(c(ag)), DeleteEntry(d(ag))]
359+ let ag = j("commission")
360+ let al = split(ah, "_")
361+ let am = split(t, "_")
362+[ScriptTransfer(addressFromStringValue(ak), parseIntValue(am[0]), fromBase58String(al[0])), ScriptTransfer(addressFromStringValue(ak), (parseIntValue(am[1]) - ag), unit), ScriptTransfer(addressFromStringValue(aj), 1, fromBase58String(o(ah))), DeleteEntry(a(al[0])), DeleteEntry(c(al[0])), DeleteEntry(d(al[0])), DeleteEntry(e(al[0])), DeleteEntry(f(al[0])), DeleteEntry(a(ah)), DeleteEntry(c(ah)), DeleteEntry(d(ah))]
360363 }
361364 }
362365
363366
364367
365-@Callable(q)
366-func cancelSelling (ac) = {
367- let ad = n(c(ac))
368- let ae = {
369- let l = addressFromString(ad)
370- if ($isInstanceOf(l, "Address"))
368+@Callable(r)
369+func cancelSelling (ad) = {
370+ let ae = o(c(ad))
371+ let af = {
372+ let m = addressFromString(ae)
373+ if ($isInstanceOf(m, "Address"))
371374 then {
372- let M = l
373- M
375+ let N = m
376+ N
374377 }
375378 else throw("Address parsing error")
376379 }
377- if ((ad != toBase58String(q.caller.bytes)))
380+ if ((ae != toBase58String(r.caller.bytes)))
378381 then throw("The calling address is not the owner of the NFT token")
379- else [ScriptTransfer(q.caller, 1, fromBase58String(ac)), DeleteEntry(a(ac)), DeleteEntry(c(ac)), DeleteEntry(d(ac)), DeleteEntry(e(ac)), DeleteEntry(f(ac))]
382+ else [ScriptTransfer(r.caller, 1, fromBase58String(ad)), DeleteEntry(a(ad)), DeleteEntry(c(ad)), DeleteEntry(d(ad)), DeleteEntry(e(ad)), DeleteEntry(f(ad))]
380383 }
381384
382385
383386
384-@Callable(q)
385-func swapCancel (ag) = {
386- let ai = n(c(ag))
387- let s = n(a(ag))
388- if ((ai != toBase58String(q.caller.bytes)))
387+@Callable(r)
388+func swapCancel (ah) = {
389+ let aj = o(c(ah))
390+ let t = o(a(ah))
391+ if ((aj != toBase58String(r.caller.bytes)))
389392 then throw("The calling address is not the owner of the NFT token")
390393 else {
391- let ak = split(ag, "_")
392- let al = split(s, "_")
393-[ScriptTransfer(addressFromStringValue(ai), parseIntValue(al[0]), fromBase58String(ak[0])), ScriptTransfer(addressFromStringValue(ai), parseIntValue(al[1]), unit), DeleteEntry(a(ag)), DeleteEntry(c(ag)), DeleteEntry(d(ag))]
394+ let al = split(ah, "_")
395+ let am = split(t, "_")
396+[ScriptTransfer(addressFromStringValue(aj), parseIntValue(am[0]), fromBase58String(al[0])), ScriptTransfer(addressFromStringValue(aj), parseIntValue(am[1]), unit), DeleteEntry((a(ah) + "Swap")), DeleteEntry((c(ah) + "Swap")), DeleteEntry((d(ah) + "Swap"))]
394397 }
395398 }
396399
397400
398-@Verifier(am)
399-func an () = sigVerify(am.bodyBytes, am.proofs[0], am.senderPublicKey)
401+@Verifier(an)
402+func ao () = sigVerify(an.bodyBytes, an.proofs[0], an.senderPublicKey)
400403
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b) = (b + "_price")
55
66
77 func c (b) = (b + "_owner")
88
99
1010 func d (b) = (b + "_issuer")
1111
1212
1313 func e (b) = (b + "_name")
1414
1515
1616 func f (b) = (b + "_description")
1717
1818
1919 func g (b) = (b + "_assetBuy")
2020
2121
2222 func h (b) = (b + "_offer")
2323
2424
25-func i (j) = {
26- let k = {
27- let l = getInteger(this, j)
28- if ($isInstanceOf(l, "Int"))
25+func i (b) = (b + "_offer")
26+
27+
28+func j (k) = {
29+ let l = {
30+ let m = getInteger(this, k)
31+ if ($isInstanceOf(m, "Int"))
2932 then {
30- let m = l
31- m
33+ let n = m
34+ n
3235 }
3336 else 0
3437 }
35- k
38+ l
3639 }
3740
3841
39-func n (j) = {
40- let k = {
41- let l = getString(this, j)
42- if ($isInstanceOf(l, "String"))
42+func o (k) = {
43+ let l = {
44+ let m = getString(this, k)
45+ if ($isInstanceOf(m, "String"))
4346 then {
44- let m = l
45- m
47+ let n = m
48+ n
4649 }
4750 else ""
4851 }
49- k
52+ l
5053 }
5154
5255
53-func o (j) = {
54- let k = {
55- let l = getBoolean(this, j)
56- if ($isInstanceOf(l, "Boolean"))
56+func p (k) = {
57+ let l = {
58+ let m = getBoolean(this, k)
59+ if ($isInstanceOf(m, "Boolean"))
5760 then {
58- let m = l
59- m
61+ let n = m
62+ n
6063 }
6164 else false
6265 }
63- k
66+ l
6467 }
6568
6669
67-func p (q,r,s) = if ((size(q.payments) == 0))
70+func q (r,s,t) = if ((size(r.payments) == 0))
6871 then throw("Payment not attached")
6972 else {
70- let t = value(q.payments[0])
71- let k = {
72- let l = t.assetId
73- if ($isInstanceOf(l, "ByteVector"))
73+ let u = value(r.payments[0])
74+ let l = {
75+ let m = u.assetId
76+ if ($isInstanceOf(m, "ByteVector"))
7477 then {
75- let u = l
76- if ((toBase58String(u) == r))
77- then (t.amount >= s)
78+ let v = m
79+ if ((toBase58String(v) == s))
80+ then (u.amount >= t)
7881 else false
7982 }
80- else if ($isInstanceOf(l, "Unit"))
83+ else if ($isInstanceOf(m, "Unit"))
8184 then {
82- let v = l
83- (t.amount >= s)
85+ let w = m
86+ (u.amount >= t)
8487 }
8588 else throw("Match error")
8689 }
87- k
90+ l
8891 }
8992
9093
91-func w (x,y) = {
92- let z = {
93- let l = y.assetId
94- if ($isInstanceOf(l, "ByteVector"))
94+func x (y,z) = {
95+ let A = {
96+ let m = z.assetId
97+ if ($isInstanceOf(m, "ByteVector"))
9598 then {
96- let m = l
97- m
99+ let n = m
100+ n
98101 }
99- else if ($isInstanceOf(l, "Unit"))
102+ else if ($isInstanceOf(m, "Unit"))
100103 then {
101- let m = l
104+ let n = m
102105 base58'2CsAf'
103106 }
104107 else throw("Match error")
105108 }
106109 let b = {
107- let l = assetInfo(z)
108- if ($isInstanceOf(l, "Asset"))
110+ let m = assetInfo(A)
111+ if ($isInstanceOf(m, "Asset"))
109112 then {
110- let m = l
111- toBase58String(m.issuer.bytes)
113+ let n = m
114+ toBase58String(n.issuer.bytes)
112115 }
113- else if ($isInstanceOf(l, "Unit"))
116+ else if ($isInstanceOf(m, "Unit"))
114117 then {
115- let v = l
118+ let w = m
116119 "WAVES"
117120 }
118121 else throw("Match error")
119122 }
120- if (o(b))
121- then x
123+ if (p(b))
124+ then y
122125 else false
123126 }
124127
125128
126-func A (x,y) = {
127- let z = {
128- let l = y.assetId
129- if ($isInstanceOf(l, "ByteVector"))
129+func B (y,z) = {
130+ let A = {
131+ let m = z.assetId
132+ if ($isInstanceOf(m, "ByteVector"))
130133 then {
131- let m = l
132- toBase58String(m)
134+ let n = m
135+ toBase58String(n)
133136 }
134- else if ($isInstanceOf(l, "Unit"))
137+ else if ($isInstanceOf(m, "Unit"))
135138 then {
136- let m = l
139+ let n = m
137140 "WAVES"
138141 }
139142 else throw("Match error")
140143 }
141- ((x + "_") + z)
144+ ((y + "_") + A)
142145 }
143146
144147
145-func B (x,y) = {
146- let s = toString(y.amount)
147- ((x + "_") + s)
148+func C (y,z) = {
149+ let t = toString(z.amount)
150+ ((y + "_") + t)
148151 }
149152
150153
151-func C (x,y) = {
152- let z = {
153- let l = y.assetId
154- if ($isInstanceOf(l, "ByteVector"))
154+func D (y,z) = {
155+ let A = {
156+ let m = z.assetId
157+ if ($isInstanceOf(m, "ByteVector"))
155158 then {
156- let m = l
157- m
159+ let n = m
160+ n
158161 }
159- else if ($isInstanceOf(l, "Unit"))
162+ else if ($isInstanceOf(m, "Unit"))
160163 then {
161- let m = l
164+ let n = m
162165 base58'2CsAf'
163166 }
164167 else throw("Match error")
165168 }
166- let D = {
167- let l = assetInfo(z)
168- if ($isInstanceOf(l, "Asset"))
169+ let E = {
170+ let m = assetInfo(A)
171+ if ($isInstanceOf(m, "Asset"))
169172 then {
170- let m = l
171- toBase58String(m.issuer.bytes)
173+ let n = m
174+ toBase58String(n.issuer.bytes)
172175 }
173- else if ($isInstanceOf(l, "Unit"))
176+ else if ($isInstanceOf(m, "Unit"))
174177 then {
175- let m = l
178+ let n = m
176179 "WAVES"
177180 }
178181 else throw("Match error")
179182 }
180- ((x + "_") + D)
183+ ((y + "_") + E)
181184 }
182185
183186
184-func E (x,F) = {
185- let G = {
186- let l = addressFromString(F._1)
187- if ($isInstanceOf(l, "Address"))
187+func F (y,G) = {
188+ let H = {
189+ let m = addressFromString(G._1)
190+ if ($isInstanceOf(m, "Address"))
188191 then {
189- let m = l
190- m
192+ let n = m
193+ n
191194 }
192- else if ($isInstanceOf(l, "Unit"))
195+ else if ($isInstanceOf(m, "Unit"))
193196 then {
194- let m = l
197+ let n = m
195198 this
196199 }
197200 else throw("Match error")
198201 }
199- if ((F._3 != "WAVES"))
200- then (x :+ ScriptTransfer(G, F._2, fromBase58String(F._3)))
201- else (x :+ ScriptTransfer(G, F._2, unit))
202+ if ((G._3 != "WAVES"))
203+ then (y :+ ScriptTransfer(H, G._2, fromBase58String(G._3)))
204+ else (y :+ ScriptTransfer(H, G._2, unit))
202205 }
203206
204207
205-@Callable(q)
206-func offerForSale (H,s) = if (!(if (o(g(H)))
207- then (s > 0)
208+@Callable(r)
209+func offerForSale (I,t) = if (!(if (p(g(I)))
210+ then (t > 0)
208211 else false))
209212 then throw("Sale Asset incorrect")
210213 else {
211- let I = value(q.payments[0])
212- let u = {
213- let l = I.assetId
214- if ($isInstanceOf(l, "ByteVector"))
214+ let J = value(r.payments[0])
215+ let v = {
216+ let m = J.assetId
217+ if ($isInstanceOf(m, "ByteVector"))
215218 then {
216- let J = l
217- J
219+ let K = m
220+ K
218221 }
219- else if ($isInstanceOf(l, "Unit"))
222+ else if ($isInstanceOf(m, "Unit"))
220223 then {
221- let K = l
224+ let L = m
222225 throw("Asset is not NFT")
223226 }
224227 else throw("Match error")
225228 }
226- let L = toBase58String(u)
229+ let M = toBase58String(v)
227230 let b = {
228- let l = assetInfo(u)
229- if ($isInstanceOf(l, "Asset"))
231+ let m = assetInfo(v)
232+ if ($isInstanceOf(m, "Asset"))
230233 then {
231- let M = l
232- M
234+ let N = m
235+ N
233236 }
234237 else throw("Error getting information about asset")
235238 }
236239 if (if (if ((b.quantity != 1))
237240 then (b.decimals != 0)
238241 else false)
239242 then b.reissuable
240243 else false)
241244 then throw("Asset is not NFT")
242- else [IntegerEntry(a(L), s), StringEntry(c(L), toBase58String(q.caller.bytes)), StringEntry(d(L), toBase58String(b.issuer.bytes)), StringEntry(e(L), b.name), StringEntry(f(L), b.description), StringEntry(h(L), H)]
245+ else [IntegerEntry(a(M), t), StringEntry(c(M), toBase58String(r.caller.bytes)), StringEntry(d(M), toBase58String(b.issuer.bytes)), StringEntry(e(M), b.name), StringEntry(f(M), b.description), StringEntry(h(M), I)]
243246 }
244247
245248
246249
247-@Callable(q)
248-func offerForSwap (H) = {
249- let N = size(q.payments)
250- let x = {
251- let O = q.payments
252- let P = size(O)
253- let Q = true
254- func R (S,T) = if ((T >= P))
255- then S
256- else w(S, O[T])
250+@Callable(r)
251+func offerForSwap (I) = {
252+ let O = size(r.payments)
253+ let y = {
254+ let P = r.payments
255+ let Q = size(P)
256+ let R = true
257+ func S (T,U) = if ((U >= Q))
258+ then T
259+ else x(T, P[U])
257260
258- func U (S,T) = if ((T >= P))
259- then S
261+ func V (T,U) = if ((U >= Q))
262+ then T
260263 else throw("List size exceeds 2")
261264
262- U(R(R(Q, 0), 1), 2)
265+ V(S(S(R, 0), 1), 2)
263266 }
264- if (!(x))
267+ if (!(y))
265268 then throw("Payments incorrect")
266- else if ((i("commission") > q.payments[1].amount))
269+ else if ((j("commission") > r.payments[1].amount))
267270 then throw("No minimum commission")
268271 else {
269- let V = {
270- let O = q.payments
271- let P = size(O)
272- let Q = ""
273- func W (S,T) = if ((T >= P))
274- then S
275- else A(S, O[T])
272+ let W = {
273+ let P = r.payments
274+ let Q = size(P)
275+ let R = ""
276+ func X (T,U) = if ((U >= Q))
277+ then T
278+ else B(T, P[U])
276279
277- func X (S,T) = if ((T >= P))
278- then S
280+ func Y (T,U) = if ((U >= Q))
281+ then T
279282 else throw("List size exceeds 2")
280283
281- X(W(W(Q, 0), 1), 2)
284+ Y(X(X(R, 0), 1), 2)
282285 }
283- let D = {
284- let O = q.payments
285- let P = size(O)
286- let Q = ""
287- func Y (S,T) = if ((T >= P))
288- then S
289- else C(S, O[T])
286+ let E = {
287+ let P = r.payments
288+ let Q = size(P)
289+ let R = ""
290+ func Z (T,U) = if ((U >= Q))
291+ then T
292+ else D(T, P[U])
290293
291- func Z (S,T) = if ((T >= P))
292- then S
294+ func aa (T,U) = if ((U >= Q))
295+ then T
293296 else throw("List size exceeds 2")
294297
295- Z(Y(Y(Q, 0), 1), 2)
298+ aa(Z(Z(R, 0), 1), 2)
296299 }
297- let s = {
298- let O = q.payments
299- let P = size(O)
300- let Q = ""
301- func aa (S,T) = if ((T >= P))
302- then S
303- else B(S, O[T])
300+ let t = {
301+ let P = r.payments
302+ let Q = size(P)
303+ let R = ""
304+ func ab (T,U) = if ((U >= Q))
305+ then T
306+ else C(T, P[U])
304307
305- func ab (S,T) = if ((T >= P))
306- then S
308+ func ac (T,U) = if ((U >= Q))
309+ then T
307310 else throw("List size exceeds 2")
308311
309- ab(aa(aa(Q, 0), 1), 2)
312+ ac(ab(ab(R, 0), 1), 2)
310313 }
311-[StringEntry(a(V), s), StringEntry(c(V), toBase58String(q.caller.bytes)), StringEntry(d(V), D), StringEntry(h(V), H)]
314+[StringEntry((a(W) + "Swap"), t), StringEntry((c(W) + "Swap"), toBase58String(r.caller.bytes)), StringEntry((d(W) + "Swap"), E), StringEntry((h(W) + "Swap"), I)]
312315 }
313316 }
314317
315318
316319
317-@Callable(q)
318-func buy (ac) = {
319- let s = i(a(ac))
320- let r = n(h(ac))
321- let ad = n(c(ac))
322- let ae = {
323- let l = addressFromString(ad)
324- if ($isInstanceOf(l, "Address"))
320+@Callable(r)
321+func buy (ad) = {
322+ let t = j(a(ad))
323+ let s = o(h(ad))
324+ let ae = o(c(ad))
325+ let af = {
326+ let m = addressFromString(ae)
327+ if ($isInstanceOf(m, "Address"))
325328 then {
326- let M = l
327- M
329+ let N = m
330+ N
328331 }
329332 else throw("Address parsing error")
330333 }
331- if (!(p(q, r, s)))
334+ if (!(q(r, s, t)))
332335 then throw("Wrong payment amount or asset")
333- else if ((ad == toBase58String(q.caller.bytes)))
336+ else if ((ae == toBase58String(r.caller.bytes)))
334337 then throw("Owner cannot buy his NTF")
335- else if ((s == 0))
338+ else if ((t == 0))
336339 then throw("This NFT is not for sale")
337340 else {
338- let af = ((s / 100) * 5)
339-[ScriptTransfer(q.caller, 1, fromBase58String(ac)), ScriptTransfer(ae, (s - af), unit), DeleteEntry(a(ac)), DeleteEntry(c(ac)), DeleteEntry(d(ac)), DeleteEntry(e(ac)), DeleteEntry(f(ac)), DeleteEntry(h(ac))]
341+ let ag = ((t / 100) * 5)
342+[ScriptTransfer(r.caller, 1, fromBase58String(ad)), ScriptTransfer(af, (t - ag), unit), DeleteEntry(a(ad)), DeleteEntry(c(ad)), DeleteEntry(d(ad)), DeleteEntry(e(ad)), DeleteEntry(f(ad)), DeleteEntry(h(ad))]
340343 }
341344 }
342345
343346
344347
345-@Callable(q)
346-func swapDone (ag) = {
347- let s = n(a(ag))
348- let ah = n(h(ag))
349- let ai = n(c(ag))
350- let aj = n(c(ag))
351- if ((aj != toBase58String(q.caller.bytes)))
348+@Callable(r)
349+func swapDone (ah) = {
350+ let t = o(a(ah))
351+ let ai = o(h(ah))
352+ let aj = o(c(ah))
353+ let ak = o(c(ah))
354+ if ((ak != toBase58String(r.caller.bytes)))
352355 then throw("The calling address is not the owner of the NFT token")
353- else if ((s == ""))
356+ else if ((t == ""))
354357 then throw("This NFT is not for sale")
355358 else {
356- let af = i("commission")
357- let ak = split(ag, "_")
358- let al = split(s, "_")
359-[ScriptTransfer(addressFromStringValue(aj), parseIntValue(al[0]), fromBase58String(ak[0])), ScriptTransfer(addressFromStringValue(aj), (parseIntValue(al[1]) - af), unit), ScriptTransfer(addressFromStringValue(ai), 1, fromBase58String(n(ag))), DeleteEntry(a(ak[0])), DeleteEntry(c(ak[0])), DeleteEntry(d(ak[0])), DeleteEntry(e(ak[0])), DeleteEntry(f(ak[0])), DeleteEntry(a(ag)), DeleteEntry(c(ag)), DeleteEntry(d(ag))]
359+ let ag = j("commission")
360+ let al = split(ah, "_")
361+ let am = split(t, "_")
362+[ScriptTransfer(addressFromStringValue(ak), parseIntValue(am[0]), fromBase58String(al[0])), ScriptTransfer(addressFromStringValue(ak), (parseIntValue(am[1]) - ag), unit), ScriptTransfer(addressFromStringValue(aj), 1, fromBase58String(o(ah))), DeleteEntry(a(al[0])), DeleteEntry(c(al[0])), DeleteEntry(d(al[0])), DeleteEntry(e(al[0])), DeleteEntry(f(al[0])), DeleteEntry(a(ah)), DeleteEntry(c(ah)), DeleteEntry(d(ah))]
360363 }
361364 }
362365
363366
364367
365-@Callable(q)
366-func cancelSelling (ac) = {
367- let ad = n(c(ac))
368- let ae = {
369- let l = addressFromString(ad)
370- if ($isInstanceOf(l, "Address"))
368+@Callable(r)
369+func cancelSelling (ad) = {
370+ let ae = o(c(ad))
371+ let af = {
372+ let m = addressFromString(ae)
373+ if ($isInstanceOf(m, "Address"))
371374 then {
372- let M = l
373- M
375+ let N = m
376+ N
374377 }
375378 else throw("Address parsing error")
376379 }
377- if ((ad != toBase58String(q.caller.bytes)))
380+ if ((ae != toBase58String(r.caller.bytes)))
378381 then throw("The calling address is not the owner of the NFT token")
379- else [ScriptTransfer(q.caller, 1, fromBase58String(ac)), DeleteEntry(a(ac)), DeleteEntry(c(ac)), DeleteEntry(d(ac)), DeleteEntry(e(ac)), DeleteEntry(f(ac))]
382+ else [ScriptTransfer(r.caller, 1, fromBase58String(ad)), DeleteEntry(a(ad)), DeleteEntry(c(ad)), DeleteEntry(d(ad)), DeleteEntry(e(ad)), DeleteEntry(f(ad))]
380383 }
381384
382385
383386
384-@Callable(q)
385-func swapCancel (ag) = {
386- let ai = n(c(ag))
387- let s = n(a(ag))
388- if ((ai != toBase58String(q.caller.bytes)))
387+@Callable(r)
388+func swapCancel (ah) = {
389+ let aj = o(c(ah))
390+ let t = o(a(ah))
391+ if ((aj != toBase58String(r.caller.bytes)))
389392 then throw("The calling address is not the owner of the NFT token")
390393 else {
391- let ak = split(ag, "_")
392- let al = split(s, "_")
393-[ScriptTransfer(addressFromStringValue(ai), parseIntValue(al[0]), fromBase58String(ak[0])), ScriptTransfer(addressFromStringValue(ai), parseIntValue(al[1]), unit), DeleteEntry(a(ag)), DeleteEntry(c(ag)), DeleteEntry(d(ag))]
394+ let al = split(ah, "_")
395+ let am = split(t, "_")
396+[ScriptTransfer(addressFromStringValue(aj), parseIntValue(am[0]), fromBase58String(al[0])), ScriptTransfer(addressFromStringValue(aj), parseIntValue(am[1]), unit), DeleteEntry((a(ah) + "Swap")), DeleteEntry((c(ah) + "Swap")), DeleteEntry((d(ah) + "Swap"))]
394397 }
395398 }
396399
397400
398-@Verifier(am)
399-func an () = sigVerify(am.bodyBytes, am.proofs[0], am.senderPublicKey)
401+@Verifier(an)
402+func ao () = sigVerify(an.bodyBytes, an.proofs[0], an.senderPublicKey)
400403

github/deemru/w8io/026f985 
128.85 ms