tx · 6PaV3oCQCt4Tgh2BoysEtraes3fFmaD4dxYnhCwGyeGt

3N8VMRDjjw6kAuCviYwFq4yDWyctRuHPN7X:  -0.00800000 Waves

2022.11.11 16:25 [2312546] smart account 3N8VMRDjjw6kAuCviYwFq4yDWyctRuHPN7X > SELF 0.00000000 Waves

{ "type": 13, "id": "6PaV3oCQCt4Tgh2BoysEtraes3fFmaD4dxYnhCwGyeGt", "fee": 800000, "feeAssetId": null, "timestamp": 1668173198810, "version": 2, "chainId": 84, "sender": "3N8VMRDjjw6kAuCviYwFq4yDWyctRuHPN7X", "senderPublicKey": "SrcQexq2T9cnMXmLqfJtc8AnQ91ZjeaJtXoi1HwDsx9", "proofs": [ "637rvUftATgUhTSbE3pT2pGUrZ8WhEW1ADbDpEWwy3btVceWwuNbxxTQCEtXnAXktBeUrSmkrhQcGLaix5WykAsV" ], "script": "base64:BgIhCAISBAoCCAESAwoBCBIDCgEIEgMKAQgSAwoBCBIDCgEIEQEIcHJpY2VLZXkBBWFzc2V0CQCsAgIFBWFzc2V0AgZfcHJpY2UBCG93bmVyS2V5AQVhc3NldAkArAICBQVhc3NldAIGX293bmVyAQlpc3N1ZXJLZXkBBWFzc2V0CQCsAgIFBWFzc2V0AgdfaXNzdWVyAQduYW1lS2V5AQVhc3NldAkArAICBQVhc3NldAIFX25hbWUBDmRlc2NyaXB0aW9uS2V5AQVhc3NldAkArAICBQVhc3NldAIMX2Rlc2NyaXB0aW9uAQthc3NldEFjY2VzcwEFYXNzZXQJAKwCAgUFYXNzZXQCCV9hc3NldEJ1eQEKYXNzZXRPZmZlcgEFYXNzZXQJAKwCAgUFYXNzZXQCBl9vZmZlcgEOYXNzZXRPZmZlclN3YXABBWFzc2V0CQCsAgIFBWFzc2V0AgZfb2ZmZXIBDXRyeUdldEludGVnZXIBA2tleQQDdmFsBAckbWF0Y2gwCQCaCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWIFByRtYXRjaDAFAWIAAAUDdmFsAQx0cnlHZXRTdHJpbmcBA2tleQQDdmFsBAckbWF0Y2gwCQCdCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWIFByRtYXRjaDAFAWICAAUDdmFsAQp0cnlHZXRCb29sAQNrZXkEA3ZhbAQHJG1hdGNoMAkAmwgCBQR0aGlzBQNrZXkDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQBYgUHJG1hdGNoMAUBYgcFA3ZhbAELaXNQYXltZW50T2sDAWkRYWNjZXB0YWJsZUFzc2V0SWQFcHJpY2UDCQAAAgkAkAMBCAUBaQhwYXltZW50cwAACQACAQIUUGF5bWVudCBub3QgYXR0YWNoZWQEAXAJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAAQDdmFsBAckbWF0Y2gwCAUBcAdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEB2Fzc2V0SWQFByRtYXRjaDADCQAAAgkA2AQBBQdhc3NldElkBRFhY2NlcHRhYmxlQXNzZXRJZAkAZwIIBQFwBmFtb3VudAUFcHJpY2UHAwkAAQIFByRtYXRjaDACBFVuaXQEBXdhdmVzBQckbWF0Y2gwCQBnAggFAXAGYW1vdW50BQVwcmljZQkAAgECC01hdGNoIGVycm9yBQN2YWwBD2lzQWNjZXB0YWJsZU5mdAIGc3RhdHVzCWFzc2V0U2FsZQQHaWRBc3NldAQHJG1hdGNoMAgFCWFzc2V0U2FsZQdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAWIFByRtYXRjaDAFAWIDCQABAgUHJG1hdGNoMAIEVW5pdAQBYgUHJG1hdGNoMAED0AAACQACAQILTWF0Y2ggZXJyb3IEBWFzc2V0BAckbWF0Y2gwCQDsBwEFB2lkQXNzZXQDCQABAgUHJG1hdGNoMAIFQXNzZXQEAWIFByRtYXRjaDAJANgEAQgIBQFiBmlzc3VlcgVieXRlcwMJAAECBQckbWF0Y2gwAgRVbml0BAV3YXZlcwUHJG1hdGNoMAIFV0FWRVMJAAIBAgtNYXRjaCBlcnJvcgMJAQp0cnlHZXRCb29sAQUFYXNzZXQFBnN0YXR1cwcBCmdldEFzc2V0SWQCBnN0YXR1cwlhc3NldFNhbGUEB2lkQXNzZXQEByRtYXRjaDAIBQlhc3NldFNhbGUHYXNzZXRJZAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAFiBQckbWF0Y2gwCQDYBAEFAWIDCQABAgUHJG1hdGNoMAIEVW5pdAQBYgUHJG1hdGNoMAIFV0FWRVMJAAIBAgtNYXRjaCBlcnJvcgkArAICCQCsAgIFBnN0YXR1cwIBXwUHaWRBc3NldAENZ2V0QXNzZXRQcmljZQIGc3RhdHVzCWFzc2V0U2FsZQQFcHJpY2UJAKQDAQgFCWFzc2V0U2FsZQZhbW91bnQJAKwCAgkArAICBQZzdGF0dXMCAV8FBXByaWNlAQ5nZXRBc3NldElzc3VlcgIGc3RhdHVzCWFzc2V0U2FsZQQHaWRBc3NldAQHJG1hdGNoMAgFCWFzc2V0U2FsZQdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAWIFByRtYXRjaDAFAWIDCQABAgUHJG1hdGNoMAIEVW5pdAQBYgUHJG1hdGNoMAED0AAACQACAQILTWF0Y2ggZXJyb3IEBmlzc3VlcgQHJG1hdGNoMAkA7AcBBQdpZEFzc2V0AwkAAQIFByRtYXRjaDACBUFzc2V0BAFiBQckbWF0Y2gwCQDYBAEICAUBYgZpc3N1ZXIFYnl0ZXMDCQABAgUHJG1hdGNoMAIEVW5pdAQBYgUHJG1hdGNoMAIFV0FWRVMJAAIBAgtNYXRjaCBlcnJvcgkArAICCQCsAgIFBnN0YXR1cwIBXwUGaXNzdWVyARBnZXRUcmFuc2ZlckFzc2V0AgZzdGF0dXMEZGF0YQQPdHJhbnNmZXJBZGRyZXNzBAckbWF0Y2gwCQCmCAEIBQRkYXRhAl8xAwkAAQIFByRtYXRjaDACB0FkZHJlc3MEAWIFByRtYXRjaDAFAWIDCQABAgUHJG1hdGNoMAIEVW5pdAQBYgUHJG1hdGNoMAUEdGhpcwkAAgECC01hdGNoIGVycm9yAwkBAiE9AggFBGRhdGECXzMCBVdBVkVTCQDNCAIFBnN0YXR1cwkBDlNjcmlwdFRyYW5zZmVyAwUPdHJhbnNmZXJBZGRyZXNzCAUEZGF0YQJfMgkA2QQBCAUEZGF0YQJfMwkAzQgCBQZzdGF0dXMJAQ5TY3JpcHRUcmFuc2ZlcgMFD3RyYW5zZmVyQWRkcmVzcwgFBGRhdGECXzIFBHVuaXQGAWkBDG9mZmVyRm9yU2FsZQIMYXNzZXRJZFByaWNlBXByaWNlAwkBASEBAwkBCnRyeUdldEJvb2wBCQELYXNzZXRBY2Nlc3MBBQxhc3NldElkUHJpY2UJAGYCBQVwcmljZQAABwkAAgECFFNhbGUgQXNzZXQgaW5jb3JyZWN0BAxmaXJzdFBheW1lbnQJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAAQHYXNzZXRJZAQHJG1hdGNoMAgFDGZpcnN0UGF5bWVudAdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAmlkBQckbWF0Y2gwBQJpZAMJAAECBQckbWF0Y2gwAgRVbml0BAF3BQckbWF0Y2gwCQACAQIQQXNzZXQgaXMgbm90IE5GVAkAAgECC01hdGNoIGVycm9yBAphc3NldElkU3RyCQDYBAEFB2Fzc2V0SWQEBWFzc2V0BAckbWF0Y2gwCQDsBwEFB2Fzc2V0SWQDCQABAgUHJG1hdGNoMAIFQXNzZXQEAWEFByRtYXRjaDAFAWEJAAIBAiVFcnJvciBnZXR0aW5nIGluZm9ybWF0aW9uIGFib3V0IGFzc2V0AwMDCQECIT0CCAUFYXNzZXQIcXVhbnRpdHkAAQkBAiE9AggFBWFzc2V0CGRlY2ltYWxzAAAHCAUFYXNzZXQKcmVpc3N1YWJsZQcJAAIBAhBBc3NldCBpcyBub3QgTkZUCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEIcHJpY2VLZXkBBQphc3NldElkU3RyBQVwcmljZQkAzAgCCQELU3RyaW5nRW50cnkCCQEIb3duZXJLZXkBBQphc3NldElkU3RyCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMJAMwIAgkBC1N0cmluZ0VudHJ5AgkBCWlzc3VlcktleQEFCmFzc2V0SWRTdHIJANgEAQgIBQVhc3NldAZpc3N1ZXIFYnl0ZXMJAMwIAgkBC1N0cmluZ0VudHJ5AgkBB25hbWVLZXkBBQphc3NldElkU3RyCAUFYXNzZXQEbmFtZQkAzAgCCQELU3RyaW5nRW50cnkCCQEOZGVzY3JpcHRpb25LZXkBBQphc3NldElkU3RyCAUFYXNzZXQLZGVzY3JpcHRpb24JAMwIAgkBC1N0cmluZ0VudHJ5AgkBCmFzc2V0T2ZmZXIBBQphc3NldElkU3RyBQxhc3NldElkUHJpY2UFA25pbAFpAQxvZmZlckZvclN3YXABDGFzc2V0SWRQcmljZQQGc3RhdHVzCgACJGwIBQFpCHBheW1lbnRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAYKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBD2lzQWNjZXB0YWJsZU5mdAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgMgkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIDCQEBIQEFBnN0YXR1cwkAAgECElBheW1lbnRzIGluY29ycmVjdAMJAGYCCQENdHJ5R2V0SW50ZWdlcgECCmNvbW1pc3Npb24ICQCRAwIIBQFpCHBheW1lbnRzAAEGYW1vdW50CQACAQIVTm8gbWluaW11bSBjb21taXNzaW9uBApwYXltZW50QWxsCgACJGwIBQFpCHBheW1lbnRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAIEU3dhcAoBBSRmMV8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEKZ2V0QXNzZXRJZAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMV8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgMgkBBSRmMV8yAgkBBSRmMV8xAgkBBSRmMV8xAgUFJGFjYzAAAAABAAIEBmlzc3VlcgoAAiRsCAUBaQhwYXltZW50cwoAAiRzCQCQAwEFAiRsCgAFJGFjYzACBFN3YXAKAQUkZjJfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBDmdldEFzc2V0SXNzdWVyAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYyXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyAyCQEFJGYyXzICCQEFJGYyXzECCQEFJGYyXzECBQUkYWNjMAAAAAEAAgQFcHJpY2UKAAIkbAgFAWkIcGF5bWVudHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwAgRTd2FwCgEFJGYzXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQ1nZXRBc3NldFByaWNlAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYzXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyAyCQEFJGYzXzICCQEFJGYzXzECCQEFJGYzXzECBQUkYWNjMAAAAAEAAgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAQhwcmljZUtleQEFCnBheW1lbnRBbGwCBFN3YXAFBXByaWNlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkBCG93bmVyS2V5AQUKcGF5bWVudEFsbAIEU3dhcAkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkBCWlzc3VlcktleQEFCnBheW1lbnRBbGwCBFN3YXAFBmlzc3VlcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAQphc3NldE9mZmVyAQUKcGF5bWVudEFsbAIEU3dhcAUMYXNzZXRJZFByaWNlBQNuaWwBaQEDYnV5AQhhc3NldFN0cgQFcHJpY2UJAQ10cnlHZXRJbnRlZ2VyAQkBCHByaWNlS2V5AQUIYXNzZXRTdHIEEWFjY2VwdGFibGVBc3NldElkCQEMdHJ5R2V0U3RyaW5nAQkBCmFzc2V0T2ZmZXIBBQhhc3NldFN0cgQIb3duZXJTdHIJAQx0cnlHZXRTdHJpbmcBCQEIb3duZXJLZXkBBQhhc3NldFN0cgQFb3duZXIEByRtYXRjaDAJAKYIAQUIb3duZXJTdHIDCQABAgUHJG1hdGNoMAIHQWRkcmVzcwQBYQUHJG1hdGNoMAUBYQkAAgECFUFkZHJlc3MgcGFyc2luZyBlcnJvcgMJAQEhAQkBC2lzUGF5bWVudE9rAwUBaQURYWNjZXB0YWJsZUFzc2V0SWQFBXByaWNlCQACAQIdV3JvbmcgcGF5bWVudCBhbW91bnQgb3IgYXNzZXQDCQAAAgUIb3duZXJTdHIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwkAAgECGE93bmVyIGNhbm5vdCBidXkgaGlzIE5URgMJAAACBQVwcmljZQAACQACAQIYVGhpcyBORlQgaXMgbm90IGZvciBzYWxlBANmZWUJAGgCCQBpAgUFcHJpY2UAZAAFCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgABCQDZBAEFCGFzc2V0U3RyCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBW93bmVyCQBlAgUFcHJpY2UFA2ZlZQUEdW5pdAkAzAgCCQELRGVsZXRlRW50cnkBCQEIcHJpY2VLZXkBBQhhc3NldFN0cgkAzAgCCQELRGVsZXRlRW50cnkBCQEIb3duZXJLZXkBBQhhc3NldFN0cgkAzAgCCQELRGVsZXRlRW50cnkBCQEJaXNzdWVyS2V5AQUIYXNzZXRTdHIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBB25hbWVLZXkBBQhhc3NldFN0cgkAzAgCCQELRGVsZXRlRW50cnkBCQEOZGVzY3JpcHRpb25LZXkBBQhhc3NldFN0cgkAzAgCCQELRGVsZXRlRW50cnkBCQEKYXNzZXRPZmZlcgEFCGFzc2V0U3RyBQNuaWwBaQEIc3dhcERvbmUBB29mZmVySWQEBXByaWNlCQEMdHJ5R2V0U3RyaW5nAQkArAICCQEIcHJpY2VLZXkBBQdvZmZlcklkAgRTd2FwBAVvZmZlcgkBDHRyeUdldFN0cmluZwEJAKwCAgkBCmFzc2V0T2ZmZXIBBQdvZmZlcklkAgRTd2FwBApvd25lck9mZmVyCQEMdHJ5R2V0U3RyaW5nAQkArAICCQEIb3duZXJLZXkBBQdvZmZlcklkAgRTd2FwBAhvd25lck5mdAkBDHRyeUdldFN0cmluZwEJAQhvd25lcktleQEFBW9mZmVyBAxlcnJvckFkZHJlc3MEByRtYXRjaDAJAKYIAQUIb3duZXJOZnQDCQABAgUHJG1hdGNoMAIHQWRkcmVzcwQBYQUHJG1hdGNoMAUBYQkAAgECGFRoaXMgTkZUIGlzIG5vdCBmb3Igc2FsZQQMb2ZmZXJPbkFzc2V0CQEMdHJ5R2V0U3RyaW5nAQkArAICCQEKYXNzZXRPZmZlcgEFB29mZmVySWQCBFN3YXADCQECIT0CBQhvd25lck5mdAkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzCQACAQI1VGhlIGNhbGxpbmcgYWRkcmVzcyBpcyBub3QgdGhlIG93bmVyIG9mIHRoZSBORlQgdG9rZW4EA2ZlZQkBDXRyeUdldEludGVnZXIBAgpjb21taXNzaW9uBAlsaXN0QXNzZXQJALUJAgUHb2ZmZXJJZAIBXwQJbGlzdFByaWNlCQC1CQIFBXByaWNlAgFfCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCG93bmVyTmZ0CQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUJbGlzdFByaWNlAAEJANkEAQkAkQMCBQlsaXN0QXNzZXQAAQkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBQhvd25lck5mdAkAZQIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQlsaXN0UHJpY2UAAgUDZmVlBQR1bml0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCm93bmVyT2ZmZXIAAQkA2QQBBQxvZmZlck9uQXNzZXQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBCHByaWNlS2V5AQUMb2ZmZXJPbkFzc2V0CQDMCAIJAQtEZWxldGVFbnRyeQEJAQhvd25lcktleQEFDG9mZmVyT25Bc3NldAkAzAgCCQELRGVsZXRlRW50cnkBCQEJaXNzdWVyS2V5AQUMb2ZmZXJPbkFzc2V0CQDMCAIJAQtEZWxldGVFbnRyeQEJAQduYW1lS2V5AQUMb2ZmZXJPbkFzc2V0CQDMCAIJAQtEZWxldGVFbnRyeQEJAQphc3NldE9mZmVyAQUMb2ZmZXJPbkFzc2V0CQDMCAIJAQtEZWxldGVFbnRyeQEJAQ5kZXNjcmlwdGlvbktleQEFDG9mZmVyT25Bc3NldAkAzAgCCQELRGVsZXRlRW50cnkBCQCsAgIJAQhwcmljZUtleQEFB29mZmVySWQCBFN3YXAJAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICCQEIb3duZXJLZXkBBQdvZmZlcklkAgRTd2FwCQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgkBCWlzc3VlcktleQEFB29mZmVySWQCBFN3YXAJAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICCQEKYXNzZXRPZmZlcgEFB29mZmVySWQCBFN3YXAFA25pbAFpAQ1jYW5jZWxTZWxsaW5nAQhhc3NldFN0cgQIb3duZXJTdHIJAQx0cnlHZXRTdHJpbmcBCQEIb3duZXJLZXkBBQhhc3NldFN0cgQFb3duZXIEByRtYXRjaDAJAKYIAQUIb3duZXJTdHIDCQABAgUHJG1hdGNoMAIHQWRkcmVzcwQBYQUHJG1hdGNoMAUBYQkAAgECFUFkZHJlc3MgcGFyc2luZyBlcnJvcgMJAQIhPQIFCG93bmVyU3RyCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMJAAIBAjVUaGUgY2FsbGluZyBhZGRyZXNzIGlzIG5vdCB0aGUgb3duZXIgb2YgdGhlIE5GVCB0b2tlbgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIAAQkA2QQBBQhhc3NldFN0cgkAzAgCCQELRGVsZXRlRW50cnkBCQEIcHJpY2VLZXkBBQhhc3NldFN0cgkAzAgCCQELRGVsZXRlRW50cnkBCQEIb3duZXJLZXkBBQhhc3NldFN0cgkAzAgCCQELRGVsZXRlRW50cnkBCQEJaXNzdWVyS2V5AQUIYXNzZXRTdHIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBB25hbWVLZXkBBQhhc3NldFN0cgkAzAgCCQELRGVsZXRlRW50cnkBCQEOZGVzY3JpcHRpb25LZXkBBQhhc3NldFN0cgUDbmlsAWkBCnN3YXBDYW5jZWwBB29mZmVySWQECm93bmVyT2ZmZXIJAQx0cnlHZXRTdHJpbmcBCQCsAgIJAQhvd25lcktleQEFB29mZmVySWQCBFN3YXAEBXByaWNlCQEMdHJ5R2V0U3RyaW5nAQkArAICCQEIcHJpY2VLZXkBBQdvZmZlcklkAgRTd2FwAwkBAiE9AgUKb3duZXJPZmZlcgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzCQACAQI1VGhlIGNhbGxpbmcgYWRkcmVzcyBpcyBub3QgdGhlIG93bmVyIG9mIHRoZSBORlQgdG9rZW4ECWxpc3RBc3NldAkAtQkCBQdvZmZlcklkAgFfBAlsaXN0UHJpY2UJALUJAgUFcHJpY2UCAV8JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQUKb3duZXJPZmZlcgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFCWxpc3RQcmljZQABCQDZBAEJAJEDAgUJbGlzdEFzc2V0AAEJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQUKb3duZXJPZmZlcgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFCWxpc3RQcmljZQACBQR1bml0CQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgkBCHByaWNlS2V5AQUHb2ZmZXJJZAIEU3dhcAkAzAgCCQELRGVsZXRlRW50cnkBCQCsAgIJAQhvd25lcktleQEFB29mZmVySWQCBFN3YXAJAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICCQEJaXNzdWVyS2V5AQUHb2ZmZXJJZAIEU3dhcAkAzAgCCQELRGVsZXRlRW50cnkBCQCsAgIJAQphc3NldE9mZmVyAQUHb2ZmZXJJZAIEU3dhcAUDbmlsAQJ0eAEGdmVyaWZ5AAkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tlefyuyts=", "height": 2312546, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: EN7aMR9m1tb7xZf67xxJUv5nKUnzEJ9oYuQW31FF1hEs Next: DAzxxT7y6e3FHgfsW4KwhQai7mtuSCg2yzsDaT3mGhS9 Diff:
OldNewDifferences
249249
250250 @Callable(r)
251251 func offerForSwap (I) = {
252- let O = size(r.payments)
253252 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])
253+ let O = r.payments
254+ let P = size(O)
255+ let Q = true
256+ func R (S,T) = if ((T >= P))
257+ then S
258+ else x(S, O[T])
260259
261- func V (T,U) = if ((U >= Q))
262- then T
260+ func U (S,T) = if ((T >= P))
261+ then S
263262 else throw("List size exceeds 2")
264263
265- V(S(S(R, 0), 1), 2)
264+ U(R(R(Q, 0), 1), 2)
266265 }
267266 if (!(y))
268267 then throw("Payments incorrect")
269268 else if ((j("commission") > r.payments[1].amount))
270269 then throw("No minimum commission")
271270 else {
272- let W = {
273- let P = r.payments
274- let Q = size(P)
275- let R = "Swap"
276- func X (T,U) = if ((U >= Q))
277- then T
278- else B(T, P[U])
271+ let V = {
272+ let O = r.payments
273+ let P = size(O)
274+ let Q = "Swap"
275+ func W (S,T) = if ((T >= P))
276+ then S
277+ else B(S, O[T])
279278
280- func Y (T,U) = if ((U >= Q))
281- then T
279+ func X (S,T) = if ((T >= P))
280+ then S
282281 else throw("List size exceeds 2")
283282
284- Y(X(X(R, 0), 1), 2)
283+ X(W(W(Q, 0), 1), 2)
285284 }
286285 let E = {
287- let P = r.payments
288- let Q = size(P)
289- let R = "Swap"
290- func Z (T,U) = if ((U >= Q))
291- then T
292- else D(T, P[U])
286+ let O = r.payments
287+ let P = size(O)
288+ let Q = "Swap"
289+ func Y (S,T) = if ((T >= P))
290+ then S
291+ else D(S, O[T])
293292
294- func aa (T,U) = if ((U >= Q))
295- then T
293+ func Z (S,T) = if ((T >= P))
294+ then S
296295 else throw("List size exceeds 2")
297296
298- aa(Z(Z(R, 0), 1), 2)
297+ Z(Y(Y(Q, 0), 1), 2)
299298 }
300299 let t = {
301- let P = r.payments
302- let Q = size(P)
303- let R = "Swap"
304- func ab (T,U) = if ((U >= Q))
305- then T
306- else C(T, P[U])
300+ let O = r.payments
301+ let P = size(O)
302+ let Q = "Swap"
303+ func aa (S,T) = if ((T >= P))
304+ then S
305+ else C(S, O[T])
307306
308- func ac (T,U) = if ((U >= Q))
309- then T
307+ func ab (S,T) = if ((T >= P))
308+ then S
310309 else throw("List size exceeds 2")
311310
312- ac(ab(ab(R, 0), 1), 2)
311+ ab(aa(aa(Q, 0), 1), 2)
313312 }
314-[StringEntry((a(W) + "Swap"), t), StringEntry((c(W) + "Swap"), toBase58String(r.caller.bytes)), StringEntry((d(W) + "Swap"), E), StringEntry((h(W) + "Swap"), I)]
313+[StringEntry((a(V) + "Swap"), t), StringEntry((c(V) + "Swap"), toBase58String(r.caller.bytes)), StringEntry((d(V) + "Swap"), E), StringEntry((h(V) + "Swap"), I)]
315314 }
316315 }
317316
318317
319318
320319 @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)
320+func buy (ac) = {
321+ let t = j(a(ac))
322+ let s = o(h(ac))
323+ let ad = o(c(ac))
324+ let ae = {
325+ let m = addressFromString(ad)
327326 if ($isInstanceOf(m, "Address"))
328327 then {
329328 let N = m
333332 }
334333 if (!(q(r, s, t)))
335334 then throw("Wrong payment amount or asset")
336- else if ((ae == toBase58String(r.caller.bytes)))
335+ else if ((ad == toBase58String(r.caller.bytes)))
337336 then throw("Owner cannot buy his NTF")
338337 else if ((t == 0))
339338 then throw("This NFT is not for sale")
340339 else {
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))]
340+ let af = ((t / 100) * 5)
341+[ScriptTransfer(r.caller, 1, fromBase58String(ac)), ScriptTransfer(ae, (t - af), unit), DeleteEntry(a(ac)), DeleteEntry(c(ac)), DeleteEntry(d(ac)), DeleteEntry(e(ac)), DeleteEntry(f(ac)), DeleteEntry(h(ac))]
343342 }
344343 }
345344
346345
347346
348347 @Callable(r)
349-func swapDone (ah) = {
350- let t = o((a(ah) + "Swap"))
351- let ai = o((h(ah) + "Swap"))
352- let aj = o((c(ah) + "Swap"))
353- let ak = o(c(ai))
354- let al = o((h(ah) + "Swap"))
355- if ((ak != toBase58String(r.caller.bytes)))
348+func swapDone (ag) = {
349+ let t = o((a(ag) + "Swap"))
350+ let ah = o((h(ag) + "Swap"))
351+ let ai = o((c(ag) + "Swap"))
352+ let aj = o(c(ah))
353+ let ak = {
354+ let m = addressFromString(aj)
355+ if ($isInstanceOf(m, "Address"))
356+ then {
357+ let N = m
358+ N
359+ }
360+ else throw("This NFT is not for sale")
361+ }
362+ let al = o((h(ag) + "Swap"))
363+ if ((aj != toBase58String(r.caller.bytes)))
356364 then throw("The calling address is not the owner of the NFT token")
357- else if ((t == ""))
358- then throw("This NFT is not for sale")
359- else {
360- let ag = j("commission")
361- let am = split(ah, "_")
362- let an = split(t, "_")
363-[ScriptTransfer(addressFromStringValue(ak), parseIntValue(an[1]), fromBase58String(am[1])), ScriptTransfer(addressFromStringValue(ak), (parseIntValue(an[2]) - ag), unit), ScriptTransfer(addressFromStringValue(aj), 1, fromBase58String(al)), DeleteEntry(a(al)), DeleteEntry(c(al)), DeleteEntry(d(al)), DeleteEntry(e(al)), DeleteEntry(f(al)), DeleteEntry((a(ah) + "Swap")), DeleteEntry((c(ah) + "Swap")), DeleteEntry((d(ah) + "Swap"))]
364- }
365+ else {
366+ let af = j("commission")
367+ let am = split(ag, "_")
368+ let an = split(t, "_")
369+[ScriptTransfer(addressFromStringValue(aj), parseIntValue(an[1]), fromBase58String(am[1])), ScriptTransfer(addressFromStringValue(aj), (parseIntValue(an[2]) - af), unit), ScriptTransfer(addressFromStringValue(ai), 1, fromBase58String(al)), DeleteEntry(a(al)), DeleteEntry(c(al)), DeleteEntry(d(al)), DeleteEntry(e(al)), DeleteEntry(h(al)), DeleteEntry(f(al)), DeleteEntry((a(ag) + "Swap")), DeleteEntry((c(ag) + "Swap")), DeleteEntry((d(ag) + "Swap")), DeleteEntry((h(ag) + "Swap"))]
370+ }
365371 }
366372
367373
368374
369375 @Callable(r)
370-func cancelSelling (ad) = {
371- let ae = o(c(ad))
372- let af = {
373- let m = addressFromString(ae)
376+func cancelSelling (ac) = {
377+ let ad = o(c(ac))
378+ let ae = {
379+ let m = addressFromString(ad)
374380 if ($isInstanceOf(m, "Address"))
375381 then {
376382 let N = m
378384 }
379385 else throw("Address parsing error")
380386 }
381- if ((ae != toBase58String(r.caller.bytes)))
387+ if ((ad != toBase58String(r.caller.bytes)))
382388 then throw("The calling address is not the owner of the NFT token")
383- else [ScriptTransfer(r.caller, 1, fromBase58String(ad)), DeleteEntry(a(ad)), DeleteEntry(c(ad)), DeleteEntry(d(ad)), DeleteEntry(e(ad)), DeleteEntry(f(ad))]
389+ else [ScriptTransfer(r.caller, 1, fromBase58String(ac)), DeleteEntry(a(ac)), DeleteEntry(c(ac)), DeleteEntry(d(ac)), DeleteEntry(e(ac)), DeleteEntry(f(ac))]
384390 }
385391
386392
387393
388394 @Callable(r)
389-func swapCancel (ah) = {
390- let aj = o((c(ah) + "Swap"))
391- let t = o((a(ah) + "Swap"))
392- if ((aj != toBase58String(r.caller.bytes)))
395+func swapCancel (ag) = {
396+ let ai = o((c(ag) + "Swap"))
397+ let t = o((a(ag) + "Swap"))
398+ if ((ai != toBase58String(r.caller.bytes)))
393399 then throw("The calling address is not the owner of the NFT token")
394400 else {
395- let am = split(ah, "_")
401+ let am = split(ag, "_")
396402 let an = split(t, "_")
397-[ScriptTransfer(addressFromStringValue(aj), parseIntValue(an[1]), fromBase58String(am[1])), ScriptTransfer(addressFromStringValue(aj), parseIntValue(an[2]), unit), DeleteEntry((a(ah) + "Swap")), DeleteEntry((c(ah) + "Swap")), DeleteEntry((d(ah) + "Swap")), DeleteEntry((h(ah) + "Swap"))]
403+[ScriptTransfer(addressFromStringValue(ai), parseIntValue(an[1]), fromBase58String(am[1])), ScriptTransfer(addressFromStringValue(ai), parseIntValue(an[2]), unit), DeleteEntry((a(ag) + "Swap")), DeleteEntry((c(ag) + "Swap")), DeleteEntry((d(ag) + "Swap")), DeleteEntry((h(ag) + "Swap"))]
398404 }
399405 }
400406
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) = {
252- let O = size(r.payments)
253252 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])
253+ let O = r.payments
254+ let P = size(O)
255+ let Q = true
256+ func R (S,T) = if ((T >= P))
257+ then S
258+ else x(S, O[T])
260259
261- func V (T,U) = if ((U >= Q))
262- then T
260+ func U (S,T) = if ((T >= P))
261+ then S
263262 else throw("List size exceeds 2")
264263
265- V(S(S(R, 0), 1), 2)
264+ U(R(R(Q, 0), 1), 2)
266265 }
267266 if (!(y))
268267 then throw("Payments incorrect")
269268 else if ((j("commission") > r.payments[1].amount))
270269 then throw("No minimum commission")
271270 else {
272- let W = {
273- let P = r.payments
274- let Q = size(P)
275- let R = "Swap"
276- func X (T,U) = if ((U >= Q))
277- then T
278- else B(T, P[U])
271+ let V = {
272+ let O = r.payments
273+ let P = size(O)
274+ let Q = "Swap"
275+ func W (S,T) = if ((T >= P))
276+ then S
277+ else B(S, O[T])
279278
280- func Y (T,U) = if ((U >= Q))
281- then T
279+ func X (S,T) = if ((T >= P))
280+ then S
282281 else throw("List size exceeds 2")
283282
284- Y(X(X(R, 0), 1), 2)
283+ X(W(W(Q, 0), 1), 2)
285284 }
286285 let E = {
287- let P = r.payments
288- let Q = size(P)
289- let R = "Swap"
290- func Z (T,U) = if ((U >= Q))
291- then T
292- else D(T, P[U])
286+ let O = r.payments
287+ let P = size(O)
288+ let Q = "Swap"
289+ func Y (S,T) = if ((T >= P))
290+ then S
291+ else D(S, O[T])
293292
294- func aa (T,U) = if ((U >= Q))
295- then T
293+ func Z (S,T) = if ((T >= P))
294+ then S
296295 else throw("List size exceeds 2")
297296
298- aa(Z(Z(R, 0), 1), 2)
297+ Z(Y(Y(Q, 0), 1), 2)
299298 }
300299 let t = {
301- let P = r.payments
302- let Q = size(P)
303- let R = "Swap"
304- func ab (T,U) = if ((U >= Q))
305- then T
306- else C(T, P[U])
300+ let O = r.payments
301+ let P = size(O)
302+ let Q = "Swap"
303+ func aa (S,T) = if ((T >= P))
304+ then S
305+ else C(S, O[T])
307306
308- func ac (T,U) = if ((U >= Q))
309- then T
307+ func ab (S,T) = if ((T >= P))
308+ then S
310309 else throw("List size exceeds 2")
311310
312- ac(ab(ab(R, 0), 1), 2)
311+ ab(aa(aa(Q, 0), 1), 2)
313312 }
314-[StringEntry((a(W) + "Swap"), t), StringEntry((c(W) + "Swap"), toBase58String(r.caller.bytes)), StringEntry((d(W) + "Swap"), E), StringEntry((h(W) + "Swap"), I)]
313+[StringEntry((a(V) + "Swap"), t), StringEntry((c(V) + "Swap"), toBase58String(r.caller.bytes)), StringEntry((d(V) + "Swap"), E), StringEntry((h(V) + "Swap"), I)]
315314 }
316315 }
317316
318317
319318
320319 @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)
320+func buy (ac) = {
321+ let t = j(a(ac))
322+ let s = o(h(ac))
323+ let ad = o(c(ac))
324+ let ae = {
325+ let m = addressFromString(ad)
327326 if ($isInstanceOf(m, "Address"))
328327 then {
329328 let N = m
330329 N
331330 }
332331 else throw("Address parsing error")
333332 }
334333 if (!(q(r, s, t)))
335334 then throw("Wrong payment amount or asset")
336- else if ((ae == toBase58String(r.caller.bytes)))
335+ else if ((ad == toBase58String(r.caller.bytes)))
337336 then throw("Owner cannot buy his NTF")
338337 else if ((t == 0))
339338 then throw("This NFT is not for sale")
340339 else {
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))]
340+ let af = ((t / 100) * 5)
341+[ScriptTransfer(r.caller, 1, fromBase58String(ac)), ScriptTransfer(ae, (t - af), unit), DeleteEntry(a(ac)), DeleteEntry(c(ac)), DeleteEntry(d(ac)), DeleteEntry(e(ac)), DeleteEntry(f(ac)), DeleteEntry(h(ac))]
343342 }
344343 }
345344
346345
347346
348347 @Callable(r)
349-func swapDone (ah) = {
350- let t = o((a(ah) + "Swap"))
351- let ai = o((h(ah) + "Swap"))
352- let aj = o((c(ah) + "Swap"))
353- let ak = o(c(ai))
354- let al = o((h(ah) + "Swap"))
355- if ((ak != toBase58String(r.caller.bytes)))
348+func swapDone (ag) = {
349+ let t = o((a(ag) + "Swap"))
350+ let ah = o((h(ag) + "Swap"))
351+ let ai = o((c(ag) + "Swap"))
352+ let aj = o(c(ah))
353+ let ak = {
354+ let m = addressFromString(aj)
355+ if ($isInstanceOf(m, "Address"))
356+ then {
357+ let N = m
358+ N
359+ }
360+ else throw("This NFT is not for sale")
361+ }
362+ let al = o((h(ag) + "Swap"))
363+ if ((aj != toBase58String(r.caller.bytes)))
356364 then throw("The calling address is not the owner of the NFT token")
357- else if ((t == ""))
358- then throw("This NFT is not for sale")
359- else {
360- let ag = j("commission")
361- let am = split(ah, "_")
362- let an = split(t, "_")
363-[ScriptTransfer(addressFromStringValue(ak), parseIntValue(an[1]), fromBase58String(am[1])), ScriptTransfer(addressFromStringValue(ak), (parseIntValue(an[2]) - ag), unit), ScriptTransfer(addressFromStringValue(aj), 1, fromBase58String(al)), DeleteEntry(a(al)), DeleteEntry(c(al)), DeleteEntry(d(al)), DeleteEntry(e(al)), DeleteEntry(f(al)), DeleteEntry((a(ah) + "Swap")), DeleteEntry((c(ah) + "Swap")), DeleteEntry((d(ah) + "Swap"))]
364- }
365+ else {
366+ let af = j("commission")
367+ let am = split(ag, "_")
368+ let an = split(t, "_")
369+[ScriptTransfer(addressFromStringValue(aj), parseIntValue(an[1]), fromBase58String(am[1])), ScriptTransfer(addressFromStringValue(aj), (parseIntValue(an[2]) - af), unit), ScriptTransfer(addressFromStringValue(ai), 1, fromBase58String(al)), DeleteEntry(a(al)), DeleteEntry(c(al)), DeleteEntry(d(al)), DeleteEntry(e(al)), DeleteEntry(h(al)), DeleteEntry(f(al)), DeleteEntry((a(ag) + "Swap")), DeleteEntry((c(ag) + "Swap")), DeleteEntry((d(ag) + "Swap")), DeleteEntry((h(ag) + "Swap"))]
370+ }
365371 }
366372
367373
368374
369375 @Callable(r)
370-func cancelSelling (ad) = {
371- let ae = o(c(ad))
372- let af = {
373- let m = addressFromString(ae)
376+func cancelSelling (ac) = {
377+ let ad = o(c(ac))
378+ let ae = {
379+ let m = addressFromString(ad)
374380 if ($isInstanceOf(m, "Address"))
375381 then {
376382 let N = m
377383 N
378384 }
379385 else throw("Address parsing error")
380386 }
381- if ((ae != toBase58String(r.caller.bytes)))
387+ if ((ad != toBase58String(r.caller.bytes)))
382388 then throw("The calling address is not the owner of the NFT token")
383- else [ScriptTransfer(r.caller, 1, fromBase58String(ad)), DeleteEntry(a(ad)), DeleteEntry(c(ad)), DeleteEntry(d(ad)), DeleteEntry(e(ad)), DeleteEntry(f(ad))]
389+ else [ScriptTransfer(r.caller, 1, fromBase58String(ac)), DeleteEntry(a(ac)), DeleteEntry(c(ac)), DeleteEntry(d(ac)), DeleteEntry(e(ac)), DeleteEntry(f(ac))]
384390 }
385391
386392
387393
388394 @Callable(r)
389-func swapCancel (ah) = {
390- let aj = o((c(ah) + "Swap"))
391- let t = o((a(ah) + "Swap"))
392- if ((aj != toBase58String(r.caller.bytes)))
395+func swapCancel (ag) = {
396+ let ai = o((c(ag) + "Swap"))
397+ let t = o((a(ag) + "Swap"))
398+ if ((ai != toBase58String(r.caller.bytes)))
393399 then throw("The calling address is not the owner of the NFT token")
394400 else {
395- let am = split(ah, "_")
401+ let am = split(ag, "_")
396402 let an = split(t, "_")
397-[ScriptTransfer(addressFromStringValue(aj), parseIntValue(an[1]), fromBase58String(am[1])), ScriptTransfer(addressFromStringValue(aj), parseIntValue(an[2]), unit), DeleteEntry((a(ah) + "Swap")), DeleteEntry((c(ah) + "Swap")), DeleteEntry((d(ah) + "Swap")), DeleteEntry((h(ah) + "Swap"))]
403+[ScriptTransfer(addressFromStringValue(ai), parseIntValue(an[1]), fromBase58String(am[1])), ScriptTransfer(addressFromStringValue(ai), parseIntValue(an[2]), unit), DeleteEntry((a(ag) + "Swap")), DeleteEntry((c(ag) + "Swap")), DeleteEntry((d(ag) + "Swap")), DeleteEntry((h(ag) + "Swap"))]
398404 }
399405 }
400406
401407
402408 @Verifier(ao)
403409 func ap () = sigVerify(ao.bodyBytes, ao.proofs[0], ao.senderPublicKey)
404410

github/deemru/w8io/169f3d6 
73.80 ms