tx · ENBy7Jsp7aU3nrrqEjVnSuaFoxbYNwWUqvPTxZzAGkgf

3N8VMRDjjw6kAuCviYwFq4yDWyctRuHPN7X:  -0.00800000 Waves

2022.11.10 13:07 [2310915] smart account 3N8VMRDjjw6kAuCviYwFq4yDWyctRuHPN7X > SELF 0.00000000 Waves

{ "type": 13, "id": "ENBy7Jsp7aU3nrrqEjVnSuaFoxbYNwWUqvPTxZzAGkgf", "fee": 800000, "feeAssetId": null, "timestamp": 1668074894634, "version": 2, "chainId": 84, "sender": "3N8VMRDjjw6kAuCviYwFq4yDWyctRuHPN7X", "senderPublicKey": "SrcQexq2T9cnMXmLqfJtc8AnQ91ZjeaJtXoi1HwDsx9", "proofs": [ "3RKsiqPZWySw7zVotHPjhwP2mZxJqnZBgvxKRjFi2t4teMzF24GQbR7nXQjh3MF2wVgLxiiwzzA8kizCt6VQncgH" ], "script": "base64:BgIhCAISBAoCCAESAwoBCBIDCgEIEgMKAQgSAwoBCBIDCgEIEQEIcHJpY2VLZXkBBWFzc2V0CQCsAgIFBWFzc2V0AgZfcHJpY2UBCG93bmVyS2V5AQVhc3NldAkArAICBQVhc3NldAIGX293bmVyAQlpc3N1ZXJLZXkBBWFzc2V0CQCsAgIFBWFzc2V0AgdfaXNzdWVyAQduYW1lS2V5AQVhc3NldAkArAICBQVhc3NldAIFX25hbWUBDmRlc2NyaXB0aW9uS2V5AQVhc3NldAkArAICBQVhc3NldAIMX2Rlc2NyaXB0aW9uAQthc3NldEFjY2VzcwEFYXNzZXQJAKwCAgUFYXNzZXQCCV9hc3NldEJ1eQEKYXNzZXRPZmZlcgEFYXNzZXQJAKwCAgUFYXNzZXQCBl9vZmZlcgEOYXNzZXRPZmZlclN3YXABBWFzc2V0CQCsAgIFBWFzc2V0AgZfb2ZmZXIBDXRyeUdldEludGVnZXIBA2tleQQDdmFsBAckbWF0Y2gwCQCaCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWIFByRtYXRjaDAFAWIAAAUDdmFsAQx0cnlHZXRTdHJpbmcBA2tleQQDdmFsBAckbWF0Y2gwCQCdCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWIFByRtYXRjaDAFAWICAAUDdmFsAQp0cnlHZXRCb29sAQNrZXkEA3ZhbAQHJG1hdGNoMAkAmwgCBQR0aGlzBQNrZXkDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQBYgUHJG1hdGNoMAUBYgcFA3ZhbAELaXNQYXltZW50T2sDAWkRYWNjZXB0YWJsZUFzc2V0SWQFcHJpY2UDCQAAAgkAkAMBCAUBaQhwYXltZW50cwAACQACAQIUUGF5bWVudCBub3QgYXR0YWNoZWQEAXAJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAAQDdmFsBAckbWF0Y2gwCAUBcAdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEB2Fzc2V0SWQFByRtYXRjaDADCQAAAgkA2AQBBQdhc3NldElkBRFhY2NlcHRhYmxlQXNzZXRJZAkAZwIIBQFwBmFtb3VudAUFcHJpY2UHAwkAAQIFByRtYXRjaDACBFVuaXQEBXdhdmVzBQckbWF0Y2gwCQBnAggFAXAGYW1vdW50BQVwcmljZQkAAgECC01hdGNoIGVycm9yBQN2YWwBD2lzQWNjZXB0YWJsZU5mdAIGc3RhdHVzCWFzc2V0U2FsZQQHaWRBc3NldAQHJG1hdGNoMAgFCWFzc2V0U2FsZQdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAWIFByRtYXRjaDAFAWIDCQABAgUHJG1hdGNoMAIEVW5pdAQBYgUHJG1hdGNoMAED0AAACQACAQILTWF0Y2ggZXJyb3IEBWFzc2V0BAckbWF0Y2gwCQDsBwEFB2lkQXNzZXQDCQABAgUHJG1hdGNoMAIFQXNzZXQEAWIFByRtYXRjaDAJANgEAQgIBQFiBmlzc3VlcgVieXRlcwMJAAECBQckbWF0Y2gwAgRVbml0BAV3YXZlcwUHJG1hdGNoMAIFV0FWRVMJAAIBAgtNYXRjaCBlcnJvcgMJAQp0cnlHZXRCb29sAQUFYXNzZXQFBnN0YXR1cwcBCmdldEFzc2V0SWQCBnN0YXR1cwlhc3NldFNhbGUEB2lkQXNzZXQEByRtYXRjaDAIBQlhc3NldFNhbGUHYXNzZXRJZAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAFiBQckbWF0Y2gwCQDYBAEFAWIDCQABAgUHJG1hdGNoMAIEVW5pdAQBYgUHJG1hdGNoMAIFV0FWRVMJAAIBAgtNYXRjaCBlcnJvcgkArAICCQCsAgIFBnN0YXR1cwIBXwUHaWRBc3NldAENZ2V0QXNzZXRQcmljZQIGc3RhdHVzCWFzc2V0U2FsZQQFcHJpY2UJAKQDAQgFCWFzc2V0U2FsZQZhbW91bnQJAKwCAgkArAICBQZzdGF0dXMCAV8FBXByaWNlAQ5nZXRBc3NldElzc3VlcgIGc3RhdHVzCWFzc2V0U2FsZQQHaWRBc3NldAQHJG1hdGNoMAgFCWFzc2V0U2FsZQdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAWIFByRtYXRjaDAFAWIDCQABAgUHJG1hdGNoMAIEVW5pdAQBYgUHJG1hdGNoMAED0AAACQACAQILTWF0Y2ggZXJyb3IEBmlzc3VlcgQHJG1hdGNoMAkA7AcBBQdpZEFzc2V0AwkAAQIFByRtYXRjaDACBUFzc2V0BAFiBQckbWF0Y2gwCQDYBAEICAUBYgZpc3N1ZXIFYnl0ZXMDCQABAgUHJG1hdGNoMAIEVW5pdAQBYgUHJG1hdGNoMAIFV0FWRVMJAAIBAgtNYXRjaCBlcnJvcgkArAICCQCsAgIFBnN0YXR1cwIBXwUGaXNzdWVyARBnZXRUcmFuc2ZlckFzc2V0AgZzdGF0dXMEZGF0YQQPdHJhbnNmZXJBZGRyZXNzBAckbWF0Y2gwCQCmCAEIBQRkYXRhAl8xAwkAAQIFByRtYXRjaDACB0FkZHJlc3MEAWIFByRtYXRjaDAFAWIDCQABAgUHJG1hdGNoMAIEVW5pdAQBYgUHJG1hdGNoMAUEdGhpcwkAAgECC01hdGNoIGVycm9yAwkBAiE9AggFBGRhdGECXzMCBVdBVkVTCQDNCAIFBnN0YXR1cwkBDlNjcmlwdFRyYW5zZmVyAwUPdHJhbnNmZXJBZGRyZXNzCAUEZGF0YQJfMgkA2QQBCAUEZGF0YQJfMwkAzQgCBQZzdGF0dXMJAQ5TY3JpcHRUcmFuc2ZlcgMFD3RyYW5zZmVyQWRkcmVzcwgFBGRhdGECXzIFBHVuaXQGAWkBDG9mZmVyRm9yU2FsZQIMYXNzZXRJZFByaWNlBXByaWNlAwkBASEBAwkBCnRyeUdldEJvb2wBCQELYXNzZXRBY2Nlc3MBBQxhc3NldElkUHJpY2UJAGYCBQVwcmljZQAABwkAAgECFFNhbGUgQXNzZXQgaW5jb3JyZWN0BAxmaXJzdFBheW1lbnQJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAAQHYXNzZXRJZAQHJG1hdGNoMAgFDGZpcnN0UGF5bWVudAdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAmlkBQckbWF0Y2gwBQJpZAMJAAECBQckbWF0Y2gwAgRVbml0BAF3BQckbWF0Y2gwCQACAQIQQXNzZXQgaXMgbm90IE5GVAkAAgECC01hdGNoIGVycm9yBAphc3NldElkU3RyCQDYBAEFB2Fzc2V0SWQEBWFzc2V0BAckbWF0Y2gwCQDsBwEFB2Fzc2V0SWQDCQABAgUHJG1hdGNoMAIFQXNzZXQEAWEFByRtYXRjaDAFAWEJAAIBAiVFcnJvciBnZXR0aW5nIGluZm9ybWF0aW9uIGFib3V0IGFzc2V0AwMDCQECIT0CCAUFYXNzZXQIcXVhbnRpdHkAAQkBAiE9AggFBWFzc2V0CGRlY2ltYWxzAAAHCAUFYXNzZXQKcmVpc3N1YWJsZQcJAAIBAhBBc3NldCBpcyBub3QgTkZUCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEIcHJpY2VLZXkBBQphc3NldElkU3RyBQVwcmljZQkAzAgCCQELU3RyaW5nRW50cnkCCQEIb3duZXJLZXkBBQphc3NldElkU3RyCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMJAMwIAgkBC1N0cmluZ0VudHJ5AgkBCWlzc3VlcktleQEFCmFzc2V0SWRTdHIJANgEAQgIBQVhc3NldAZpc3N1ZXIFYnl0ZXMJAMwIAgkBC1N0cmluZ0VudHJ5AgkBB25hbWVLZXkBBQphc3NldElkU3RyCAUFYXNzZXQEbmFtZQkAzAgCCQELU3RyaW5nRW50cnkCCQEOZGVzY3JpcHRpb25LZXkBBQphc3NldElkU3RyCAUFYXNzZXQLZGVzY3JpcHRpb24JAMwIAgkBC1N0cmluZ0VudHJ5AgkBCmFzc2V0T2ZmZXIBBQphc3NldElkU3RyBQxhc3NldElkUHJpY2UFA25pbAFpAQxvZmZlckZvclN3YXABDGFzc2V0SWRQcmljZQQIY291bnRQYXkJAJADAQgFAWkIcGF5bWVudHMEBnN0YXR1cwoAAiRsCAUBaQhwYXltZW50cwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAGCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQ9pc0FjY2VwdGFibGVOZnQCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDIJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAwkBASEBBQZzdGF0dXMJAAIBAhJQYXltZW50cyBpbmNvcnJlY3QDCQBmAgkBDXRyeUdldEludGVnZXIBAgpjb21taXNzaW9uCAkAkQMCCAUBaQhwYXltZW50cwABBmFtb3VudAkAAgECFU5vIG1pbmltdW0gY29tbWlzc2lvbgQKcGF5bWVudEFsbAoAAiRsCAUBaQhwYXltZW50cwoAAiRzCQCQAwEFAiRsCgAFJGFjYzACBFN3YXAKAQUkZjFfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBCmdldEFzc2V0SWQCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjFfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDIJAQUkZjFfMgIJAQUkZjFfMQIJAQUkZjFfMQIFBSRhY2MwAAAAAQACBAZpc3N1ZXIKAAIkbAgFAWkIcGF5bWVudHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwAgRTd2FwCgEFJGYyXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQ5nZXRBc3NldElzc3VlcgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMl8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgMgkBBSRmMl8yAgkBBSRmMl8xAgkBBSRmMl8xAgUFJGFjYzAAAAABAAIEBXByaWNlCgACJGwIBQFpCHBheW1lbnRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAIEU3dhcAoBBSRmM18xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQENZ2V0QXNzZXRQcmljZQIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmM18yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgMgkBBSRmM18yAgkBBSRmM18xAgkBBSRmM18xAgUFJGFjYzAAAAABAAIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQEIcHJpY2VLZXkBBQpwYXltZW50QWxsAgRTd2FwBQVwcmljZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAQhvd25lcktleQEFCnBheW1lbnRBbGwCBFN3YXAJANgEAQgIBQFpBmNhbGxlcgVieXRlcwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAQlpc3N1ZXJLZXkBBQpwYXltZW50QWxsAgRTd2FwBQZpc3N1ZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQEKYXNzZXRPZmZlcgEFCnBheW1lbnRBbGwCBFN3YXAFDGFzc2V0SWRQcmljZQUDbmlsAWkBA2J1eQEIYXNzZXRTdHIEBXByaWNlCQENdHJ5R2V0SW50ZWdlcgEJAQhwcmljZUtleQEFCGFzc2V0U3RyBBFhY2NlcHRhYmxlQXNzZXRJZAkBDHRyeUdldFN0cmluZwEJAQphc3NldE9mZmVyAQUIYXNzZXRTdHIECG93bmVyU3RyCQEMdHJ5R2V0U3RyaW5nAQkBCG93bmVyS2V5AQUIYXNzZXRTdHIEBW93bmVyBAckbWF0Y2gwCQCmCAEFCG93bmVyU3RyAwkAAQIFByRtYXRjaDACB0FkZHJlc3MEAWEFByRtYXRjaDAFAWEJAAIBAhVBZGRyZXNzIHBhcnNpbmcgZXJyb3IDCQEBIQEJAQtpc1BheW1lbnRPawMFAWkFEWFjY2VwdGFibGVBc3NldElkBQVwcmljZQkAAgECHVdyb25nIHBheW1lbnQgYW1vdW50IG9yIGFzc2V0AwkAAAIFCG93bmVyU3RyCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMJAAIBAhhPd25lciBjYW5ub3QgYnV5IGhpcyBOVEYDCQAAAgUFcHJpY2UAAAkAAgECGFRoaXMgTkZUIGlzIG5vdCBmb3Igc2FsZQQDZmVlCQBoAgkAaQIFBXByaWNlAGQABQkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIAAQkA2QQBBQhhc3NldFN0cgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQVvd25lcgkAZQIFBXByaWNlBQNmZWUFBHVuaXQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBCHByaWNlS2V5AQUIYXNzZXRTdHIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBCG93bmVyS2V5AQUIYXNzZXRTdHIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBCWlzc3VlcktleQEFCGFzc2V0U3RyCQDMCAIJAQtEZWxldGVFbnRyeQEJAQduYW1lS2V5AQUIYXNzZXRTdHIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBDmRlc2NyaXB0aW9uS2V5AQUIYXNzZXRTdHIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBCmFzc2V0T2ZmZXIBBQhhc3NldFN0cgUDbmlsAWkBCHN3YXBEb25lAQdvZmZlcklkBAVwcmljZQkBDHRyeUdldFN0cmluZwEJAQhwcmljZUtleQEFB29mZmVySWQEBW9mZmVyCQEMdHJ5R2V0U3RyaW5nAQkBCmFzc2V0T2ZmZXIBBQdvZmZlcklkBApvd25lck9mZmVyCQEMdHJ5R2V0U3RyaW5nAQkBCG93bmVyS2V5AQUHb2ZmZXJJZAQIb3duZXJOZnQJAQx0cnlHZXRTdHJpbmcBCQEIb3duZXJLZXkBBQdvZmZlcklkAwkBAiE9AgUIb3duZXJOZnQJANgEAQgIBQFpBmNhbGxlcgVieXRlcwkAAgECNVRoZSBjYWxsaW5nIGFkZHJlc3MgaXMgbm90IHRoZSBvd25lciBvZiB0aGUgTkZUIHRva2VuAwkAAAIFBXByaWNlAgAJAAIBAhhUaGlzIE5GVCBpcyBub3QgZm9yIHNhbGUEA2ZlZQkBDXRyeUdldEludGVnZXIBAgpjb21taXNzaW9uBAlsaXN0QXNzZXQJALUJAgUHb2ZmZXJJZAIBXwQJbGlzdFByaWNlCQC1CQIFBXByaWNlAgFfCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCG93bmVyTmZ0CQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUJbGlzdFByaWNlAAAJANkEAQkAkQMCBQlsaXN0QXNzZXQAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBQhvd25lck5mdAkAZQIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQlsaXN0UHJpY2UAAQUDZmVlBQR1bml0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCm93bmVyT2ZmZXIAAQkA2QQBCQEMdHJ5R2V0U3RyaW5nAQUHb2ZmZXJJZAkAzAgCCQELRGVsZXRlRW50cnkBCQEIcHJpY2VLZXkBCQCRAwIFCWxpc3RBc3NldAAACQDMCAIJAQtEZWxldGVFbnRyeQEJAQhvd25lcktleQEJAJEDAgUJbGlzdEFzc2V0AAAJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBCWlzc3VlcktleQEJAJEDAgUJbGlzdEFzc2V0AAAJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBB25hbWVLZXkBCQCRAwIFCWxpc3RBc3NldAAACQDMCAIJAQtEZWxldGVFbnRyeQEJAQ5kZXNjcmlwdGlvbktleQEJAJEDAgUJbGlzdEFzc2V0AAAJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBCHByaWNlS2V5AQUHb2ZmZXJJZAkAzAgCCQELRGVsZXRlRW50cnkBCQEIb3duZXJLZXkBBQdvZmZlcklkCQDMCAIJAQtEZWxldGVFbnRyeQEJAQlpc3N1ZXJLZXkBBQdvZmZlcklkBQNuaWwBaQENY2FuY2VsU2VsbGluZwEIYXNzZXRTdHIECG93bmVyU3RyCQEMdHJ5R2V0U3RyaW5nAQkBCG93bmVyS2V5AQUIYXNzZXRTdHIEBW93bmVyBAckbWF0Y2gwCQCmCAEFCG93bmVyU3RyAwkAAQIFByRtYXRjaDACB0FkZHJlc3MEAWEFByRtYXRjaDAFAWEJAAIBAhVBZGRyZXNzIHBhcnNpbmcgZXJyb3IDCQECIT0CBQhvd25lclN0cgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzCQACAQI1VGhlIGNhbGxpbmcgYWRkcmVzcyBpcyBub3QgdGhlIG93bmVyIG9mIHRoZSBORlQgdG9rZW4JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyAAEJANkEAQUIYXNzZXRTdHIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBCHByaWNlS2V5AQUIYXNzZXRTdHIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBCG93bmVyS2V5AQUIYXNzZXRTdHIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBCWlzc3VlcktleQEFCGFzc2V0U3RyCQDMCAIJAQtEZWxldGVFbnRyeQEJAQduYW1lS2V5AQUIYXNzZXRTdHIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBDmRlc2NyaXB0aW9uS2V5AQUIYXNzZXRTdHIFA25pbAFpAQpzd2FwQ2FuY2VsAQdvZmZlcklkBApvd25lck9mZmVyCQEMdHJ5R2V0U3RyaW5nAQkArAICCQEIb3duZXJLZXkBBQdvZmZlcklkAgRTd2FwBAVwcmljZQkBDHRyeUdldFN0cmluZwEJAQhwcmljZUtleQEFB29mZmVySWQDCQECIT0CBQpvd25lck9mZmVyCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMJAAIBAjVUaGUgY2FsbGluZyBhZGRyZXNzIGlzIG5vdCB0aGUgb3duZXIgb2YgdGhlIE5GVCB0b2tlbgQJbGlzdEFzc2V0CQC1CQIFB29mZmVySWQCAV8ECWxpc3RQcmljZQkAtQkCBQVwcmljZQIBXwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBQpvd25lck9mZmVyCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUJbGlzdFByaWNlAAAJANkEAQkAkQMCBQlsaXN0QXNzZXQAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBQpvd25lck9mZmVyCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUJbGlzdFByaWNlAAEFBHVuaXQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICCQEIcHJpY2VLZXkBBQdvZmZlcklkAgRTd2FwCQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgkBCG93bmVyS2V5AQUHb2ZmZXJJZAIEU3dhcAkAzAgCCQELRGVsZXRlRW50cnkBCQCsAgIJAQlpc3N1ZXJLZXkBBQdvZmZlcklkAgRTd2FwBQNuaWwBAnR4AQZ2ZXJpZnkACQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V57KWP8A==", "height": 2310915, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9ZuGYzAhsFYbt9KpzkWJKto5CyMNfaMJdKTrZiEchsMV Next: D9hhaBDw81Q18gZWXYz6vZLLdYzTsP6XmVjhd8pQY7Dc Diff:
OldNewDifferences
272272 let W = {
273273 let P = r.payments
274274 let Q = size(P)
275- let R = ""
275+ let R = "Swap"
276276 func X (T,U) = if ((U >= Q))
277277 then T
278278 else B(T, P[U])
286286 let E = {
287287 let P = r.payments
288288 let Q = size(P)
289- let R = ""
289+ let R = "Swap"
290290 func Z (T,U) = if ((U >= Q))
291291 then T
292292 else D(T, P[U])
300300 let t = {
301301 let P = r.payments
302302 let Q = size(P)
303- let R = ""
303+ let R = "Swap"
304304 func ab (T,U) = if ((U >= Q))
305305 then T
306306 else C(T, P[U])
386386
387387 @Callable(r)
388388 func swapCancel (ah) = {
389- let aj = o(c(ah))
389+ let aj = o((c(ah) + "Swap"))
390390 let t = o(a(ah))
391391 if ((aj != toBase58String(r.caller.bytes)))
392392 then throw("The calling address is not the owner of the NFT token")
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
2525 func i (b) = (b + "_offer")
2626
2727
2828 func j (k) = {
2929 let l = {
3030 let m = getInteger(this, k)
3131 if ($isInstanceOf(m, "Int"))
3232 then {
3333 let n = m
3434 n
3535 }
3636 else 0
3737 }
3838 l
3939 }
4040
4141
4242 func o (k) = {
4343 let l = {
4444 let m = getString(this, k)
4545 if ($isInstanceOf(m, "String"))
4646 then {
4747 let n = m
4848 n
4949 }
5050 else ""
5151 }
5252 l
5353 }
5454
5555
5656 func p (k) = {
5757 let l = {
5858 let m = getBoolean(this, k)
5959 if ($isInstanceOf(m, "Boolean"))
6060 then {
6161 let n = m
6262 n
6363 }
6464 else false
6565 }
6666 l
6767 }
6868
6969
7070 func q (r,s,t) = if ((size(r.payments) == 0))
7171 then throw("Payment not attached")
7272 else {
7373 let u = value(r.payments[0])
7474 let l = {
7575 let m = u.assetId
7676 if ($isInstanceOf(m, "ByteVector"))
7777 then {
7878 let v = m
7979 if ((toBase58String(v) == s))
8080 then (u.amount >= t)
8181 else false
8282 }
8383 else if ($isInstanceOf(m, "Unit"))
8484 then {
8585 let w = m
8686 (u.amount >= t)
8787 }
8888 else throw("Match error")
8989 }
9090 l
9191 }
9292
9393
9494 func x (y,z) = {
9595 let A = {
9696 let m = z.assetId
9797 if ($isInstanceOf(m, "ByteVector"))
9898 then {
9999 let n = m
100100 n
101101 }
102102 else if ($isInstanceOf(m, "Unit"))
103103 then {
104104 let n = m
105105 base58'2CsAf'
106106 }
107107 else throw("Match error")
108108 }
109109 let b = {
110110 let m = assetInfo(A)
111111 if ($isInstanceOf(m, "Asset"))
112112 then {
113113 let n = m
114114 toBase58String(n.issuer.bytes)
115115 }
116116 else if ($isInstanceOf(m, "Unit"))
117117 then {
118118 let w = m
119119 "WAVES"
120120 }
121121 else throw("Match error")
122122 }
123123 if (p(b))
124124 then y
125125 else false
126126 }
127127
128128
129129 func B (y,z) = {
130130 let A = {
131131 let m = z.assetId
132132 if ($isInstanceOf(m, "ByteVector"))
133133 then {
134134 let n = m
135135 toBase58String(n)
136136 }
137137 else if ($isInstanceOf(m, "Unit"))
138138 then {
139139 let n = m
140140 "WAVES"
141141 }
142142 else throw("Match error")
143143 }
144144 ((y + "_") + A)
145145 }
146146
147147
148148 func C (y,z) = {
149149 let t = toString(z.amount)
150150 ((y + "_") + t)
151151 }
152152
153153
154154 func D (y,z) = {
155155 let A = {
156156 let m = z.assetId
157157 if ($isInstanceOf(m, "ByteVector"))
158158 then {
159159 let n = m
160160 n
161161 }
162162 else if ($isInstanceOf(m, "Unit"))
163163 then {
164164 let n = m
165165 base58'2CsAf'
166166 }
167167 else throw("Match error")
168168 }
169169 let E = {
170170 let m = assetInfo(A)
171171 if ($isInstanceOf(m, "Asset"))
172172 then {
173173 let n = m
174174 toBase58String(n.issuer.bytes)
175175 }
176176 else if ($isInstanceOf(m, "Unit"))
177177 then {
178178 let n = m
179179 "WAVES"
180180 }
181181 else throw("Match error")
182182 }
183183 ((y + "_") + E)
184184 }
185185
186186
187187 func F (y,G) = {
188188 let H = {
189189 let m = addressFromString(G._1)
190190 if ($isInstanceOf(m, "Address"))
191191 then {
192192 let n = m
193193 n
194194 }
195195 else if ($isInstanceOf(m, "Unit"))
196196 then {
197197 let n = m
198198 this
199199 }
200200 else throw("Match error")
201201 }
202202 if ((G._3 != "WAVES"))
203203 then (y :+ ScriptTransfer(H, G._2, fromBase58String(G._3)))
204204 else (y :+ ScriptTransfer(H, G._2, unit))
205205 }
206206
207207
208208 @Callable(r)
209209 func offerForSale (I,t) = if (!(if (p(g(I)))
210210 then (t > 0)
211211 else false))
212212 then throw("Sale Asset incorrect")
213213 else {
214214 let J = value(r.payments[0])
215215 let v = {
216216 let m = J.assetId
217217 if ($isInstanceOf(m, "ByteVector"))
218218 then {
219219 let K = m
220220 K
221221 }
222222 else if ($isInstanceOf(m, "Unit"))
223223 then {
224224 let L = m
225225 throw("Asset is not NFT")
226226 }
227227 else throw("Match error")
228228 }
229229 let M = toBase58String(v)
230230 let b = {
231231 let m = assetInfo(v)
232232 if ($isInstanceOf(m, "Asset"))
233233 then {
234234 let N = m
235235 N
236236 }
237237 else throw("Error getting information about asset")
238238 }
239239 if (if (if ((b.quantity != 1))
240240 then (b.decimals != 0)
241241 else false)
242242 then b.reissuable
243243 else false)
244244 then throw("Asset is not NFT")
245245 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)]
246246 }
247247
248248
249249
250250 @Callable(r)
251251 func offerForSwap (I) = {
252252 let O = size(r.payments)
253253 let y = {
254254 let P = r.payments
255255 let Q = size(P)
256256 let R = true
257257 func S (T,U) = if ((U >= Q))
258258 then T
259259 else x(T, P[U])
260260
261261 func V (T,U) = if ((U >= Q))
262262 then T
263263 else throw("List size exceeds 2")
264264
265265 V(S(S(R, 0), 1), 2)
266266 }
267267 if (!(y))
268268 then throw("Payments incorrect")
269269 else if ((j("commission") > r.payments[1].amount))
270270 then throw("No minimum commission")
271271 else {
272272 let W = {
273273 let P = r.payments
274274 let Q = size(P)
275- let R = ""
275+ let R = "Swap"
276276 func X (T,U) = if ((U >= Q))
277277 then T
278278 else B(T, P[U])
279279
280280 func Y (T,U) = if ((U >= Q))
281281 then T
282282 else throw("List size exceeds 2")
283283
284284 Y(X(X(R, 0), 1), 2)
285285 }
286286 let E = {
287287 let P = r.payments
288288 let Q = size(P)
289- let R = ""
289+ let R = "Swap"
290290 func Z (T,U) = if ((U >= Q))
291291 then T
292292 else D(T, P[U])
293293
294294 func aa (T,U) = if ((U >= Q))
295295 then T
296296 else throw("List size exceeds 2")
297297
298298 aa(Z(Z(R, 0), 1), 2)
299299 }
300300 let t = {
301301 let P = r.payments
302302 let Q = size(P)
303- let R = ""
303+ let R = "Swap"
304304 func ab (T,U) = if ((U >= Q))
305305 then T
306306 else C(T, P[U])
307307
308308 func ac (T,U) = if ((U >= Q))
309309 then T
310310 else throw("List size exceeds 2")
311311
312312 ac(ab(ab(R, 0), 1), 2)
313313 }
314314 [StringEntry((a(W) + "Swap"), t), StringEntry((c(W) + "Swap"), toBase58String(r.caller.bytes)), StringEntry((d(W) + "Swap"), E), StringEntry((h(W) + "Swap"), I)]
315315 }
316316 }
317317
318318
319319
320320 @Callable(r)
321321 func buy (ad) = {
322322 let t = j(a(ad))
323323 let s = o(h(ad))
324324 let ae = o(c(ad))
325325 let af = {
326326 let m = addressFromString(ae)
327327 if ($isInstanceOf(m, "Address"))
328328 then {
329329 let N = m
330330 N
331331 }
332332 else throw("Address parsing error")
333333 }
334334 if (!(q(r, s, t)))
335335 then throw("Wrong payment amount or asset")
336336 else if ((ae == toBase58String(r.caller.bytes)))
337337 then throw("Owner cannot buy his NTF")
338338 else if ((t == 0))
339339 then throw("This NFT is not for sale")
340340 else {
341341 let ag = ((t / 100) * 5)
342342 [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))]
343343 }
344344 }
345345
346346
347347
348348 @Callable(r)
349349 func swapDone (ah) = {
350350 let t = o(a(ah))
351351 let ai = o(h(ah))
352352 let aj = o(c(ah))
353353 let ak = o(c(ah))
354354 if ((ak != toBase58String(r.caller.bytes)))
355355 then throw("The calling address is not the owner of the NFT token")
356356 else if ((t == ""))
357357 then throw("This NFT is not for sale")
358358 else {
359359 let ag = j("commission")
360360 let al = split(ah, "_")
361361 let am = split(t, "_")
362362 [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))]
363363 }
364364 }
365365
366366
367367
368368 @Callable(r)
369369 func cancelSelling (ad) = {
370370 let ae = o(c(ad))
371371 let af = {
372372 let m = addressFromString(ae)
373373 if ($isInstanceOf(m, "Address"))
374374 then {
375375 let N = m
376376 N
377377 }
378378 else throw("Address parsing error")
379379 }
380380 if ((ae != toBase58String(r.caller.bytes)))
381381 then throw("The calling address is not the owner of the NFT token")
382382 else [ScriptTransfer(r.caller, 1, fromBase58String(ad)), DeleteEntry(a(ad)), DeleteEntry(c(ad)), DeleteEntry(d(ad)), DeleteEntry(e(ad)), DeleteEntry(f(ad))]
383383 }
384384
385385
386386
387387 @Callable(r)
388388 func swapCancel (ah) = {
389- let aj = o(c(ah))
389+ let aj = o((c(ah) + "Swap"))
390390 let t = o(a(ah))
391391 if ((aj != toBase58String(r.caller.bytes)))
392392 then throw("The calling address is not the owner of the NFT token")
393393 else {
394394 let al = split(ah, "_")
395395 let am = split(t, "_")
396396 [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"))]
397397 }
398398 }
399399
400400
401401 @Verifier(an)
402402 func ao () = sigVerify(an.bodyBytes, an.proofs[0], an.senderPublicKey)
403403

github/deemru/w8io/873ac7e 
52.47 ms