tx · 6QGjizNy9AsStvktpSqGGfxdxCtTfFwu8ihg2DZuAjyo

3MrWmZaT2EbepZbjCUMCZUaoaVLdJyuF1GS:  -0.01300000 Waves

2022.11.03 13:57 [2300842] smart account 3MrWmZaT2EbepZbjCUMCZUaoaVLdJyuF1GS > SELF 0.00000000 Waves

{ "type": 13, "id": "6QGjizNy9AsStvktpSqGGfxdxCtTfFwu8ihg2DZuAjyo", "fee": 1300000, "feeAssetId": null, "timestamp": 1667473049977, "version": 2, "chainId": 84, "sender": "3MrWmZaT2EbepZbjCUMCZUaoaVLdJyuF1GS", "senderPublicKey": "4P3GWdtoxzZm4hgroUCqWxduGY1Zg1LPMMz6SWPc9gMi", "proofs": [ "2GpWu985M2pTVd3yGHK1VR7siRLkDZrsoxiW22kC6RUgG4a5uvfuo1qhVK2PZobndJy2p6CRBWh1jkyBM4fUTaYc" ], "script": "base64:BgI4CAISBAoCCAgSBAoCBAgSAwoBARIECgIIARIDCgEIEgMKAQgSAwoBCBIFCgMICAgSBwoFCAgICAgpAAdWRVJTSU9OAgUxLjAuMAEJZ2V0U3RyQnlLAQNrZXkJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwUDa2V5AgAAC2ZlZVJlY2VpdmVyCQEJZ2V0U3RyQnlLAQIRY29uZl9mZWVfcmVjZWl2ZXIACmV2ZW50c0RhcHAJAQV2YWx1ZQEJAKYIAQkBCWdldFN0ckJ5SwECEGNvbmZfZXZlbnRzX2RhcHAACHVzZXJEYXBwCQEFdmFsdWUBCQCmCAEJAQlnZXRTdHJCeUsBAg9jb25mX3VzZXJzX2RhcHAAC3NpZ25Bc3NldElkCQDZBAEJAQlnZXRTdHJCeUsBAhhjb25mX2FjY2VwdGVkX2Fzc2V0X1NJR04ABWNocmlzCQEJZ2V0U3RyQnlLAQIMY29uZl9hZG1pbl8xAAdzaWduQ3V0AAMADG9yZ2FuaXplckN1dAAKAA11c2VyU3VzcGVuZGVkAglTVVNQRU5ERUQADGV2ZW50SWxsZWdhbAIHSUxMRUdBTAAOZXZlbnRTdXNwZW5kZWQCCVNVU1BFTkRFRAAOZGFwcFJ1bm5pbmdLZXkCFGNvbmZfZGFwcF9pc19ydW5uaW5nABFtYWludGVuYW5jZU1TR0tleQIUY29uZl9tYWludGVuYW5jZV9tc2cAC2RhcHBSdW5uaW5nCQELdmFsdWVPckVsc2UCCQCbCAIFBHRoaXMFDmRhcHBSdW5uaW5nS2V5BgAObWFpbnRlbmFuY2VNU0cJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwURbWFpbnRlbmFuY2VNU0dLZXkCAAAJbnVtU2FsZXNLAgludW1fc2FsZXMBDWdldFVzZXJTdHJCeUsBA2tleQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQh1c2VyRGFwcAUDa2V5AgVFcnJvcgEOZ2V0RXZlbnRTdHJCeUsBA2tleQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQpldmVudHNEYXBwBQNrZXkCAAEJZ2V0SW50QnlLAQNrZXkJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUDa2V5AAABDWtleVVzZXJTdGF0dXMBBGFkZHIJAKwCAgIMdXNlcl9zdGF0dXNfBQRhZGRyAQdrZXlGbGFnAg1vcmdhbml6ZXJBZGRyB2V2ZW50SWQJAKwCAgkArAICCQCsAgICC2V2ZW50X2ZsYWdfBQdldmVudElkAgFfBQ1vcmdhbml6ZXJBZGRyAQprZXlORlREYXRhAQJpZAkArAICAgRuZnRfBQJpZAEKZ2V0U2FsZUtleQUGY2FsbGVyCHRpY2tldElkB2V2ZW50SWQNb3JnYW5pemVyQWRkcgVuZnRJZAkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgINc2FsZTJuZF9pbmZvXwUGY2FsbGVyAgFfBQh0aWNrZXRJZAIBXwUHZXZlbnRJZAIBXwUNb3JnYW5pemVyQWRkcgIBXwUFbmZ0SWQBCWdldEJpZEtleQUKb2ZmZXJPd25lcgh0aWNrZXRJZAlzYWxlT3duZXIHb2ZmZXJJZAVuZnRJZAkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIJb2ZmZXIybmRfBQpvZmZlck93bmVyAgFfBQh0aWNrZXRJZAIBXwUJc2FsZU93bmVyAgFfBQdvZmZlcklkAgFfBQVuZnRJZAEMaWRDYWxsZXJEYXRlAQFpAwkBASEBBQtkYXBwUnVubmluZwkAAgEFDm1haW50ZW5hbmNlTVNHCQCVCgMJANgEAQgFAWkNdHJhbnNhY3Rpb25JZAkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAEJaXNQYXltZW50AQFpAwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAAkAAgECE05vIHBheW1lbnQgYXR0YWNoZWQEB3BheW1lbnQJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAAQGYW1vdW50CQEFdmFsdWUBCAUHcGF5bWVudAZhbW91bnQJAJQKAgUHcGF5bWVudAUGYW1vdW50AQxhc3NldElzVmFsaWQBDGFzc2V0RGV0YWlscwMDAwkAAAIIBQxhc3NldERldGFpbHMIcXVhbnRpdHkAAQkAAAIIBQxhc3NldERldGFpbHMIZGVjaW1hbHMAAAcJAAACCAUMYXNzZXREZXRhaWxzCnJlaXNzdWFibGUHBwkAAAIIBQxhc3NldERldGFpbHMGaXNzdWVyBQpldmVudHNEYXBwBwEOaXNTaWduRXZlbnRORlQBAmlkBAxhc3NldERldGFpbHMJAQV2YWx1ZQEJAOwHAQUCaWQJAQxhc3NldElzVmFsaWQBBQxhc3NldERldGFpbHMBEGFjY2VwdGVkQXNzZXRJZHMBB2Fzc2V0SWQDCQECIT0CBQdhc3NldElkCQDYBAEFC3NpZ25Bc3NldElkBwYBDWdldEJpZEFzc2V0SWQBB2Fzc2V0SWQJANkEAQUHYXNzZXRJZAEVZ2V0U2FsZU93bmVyQW5kU3RhdHVzAQh0aWNrZXRJZAQJc2FsZU93bmVyCQEJZ2V0U3RyQnlLAQkArAICAhZjdXJyZW50X293bmVyX29uX2RhcHBfBQh0aWNrZXRJZAMJAAACCQCxAgEFCXNhbGVPd25lcgAACQACAQIQVGlja2V0IG5vdCBmb3VuZAQKc2FsZVN0YXR1cwkBCWdldFN0ckJ5SwEJAKwCAgkArAICCQCsAgICD3NhbGUybmRfc3RhdHVzXwUJc2FsZU93bmVyAgFfBQh0aWNrZXRJZAMJAQIhPQIFCnNhbGVTdGF0dXMCBE9QRU4JAAIBAhNUaWNrZXQgbm90IGZvciBzYWxlBQlzYWxlT3duZXIBCmdldEJpZERhdGEBA2tleQQHYmlkRGF0YQkBCWdldFN0ckJ5SwEJAKwCAgUDa2V5AgVfT1BFTgMJAAACBQdiaWREYXRhAgAJAAIBAg9PZmZlciBub3QgZm91bmQECmJpZERhdGFBcnIJALUJAgUHYmlkRGF0YQIBXwQHYXNzZXRJZAkBDWdldEJpZEFzc2V0SWQBCQCRAwIFCmJpZERhdGFBcnIAAgkAlQoDBQpiaWREYXRhQXJyBQdhc3NldElkBQdiaWREYXRhAQxldmVudElzVmFsaWQBC2V2ZW50U3RhdHVzAwkBAiE9AgULZXZlbnRTdGF0dXMFDGV2ZW50SWxsZWdhbAkBAiE9AgULZXZlbnRTdGF0dXMFDmV2ZW50U3VzcGVuZGVkBwEQY2hlY2tFdmVudFN0YXR1cwIEYWRkcgJpZAQLZXZlbnRTdGF0dXMJAQ5nZXRFdmVudFN0ckJ5SwEJAQdrZXlGbGFnAgUEYWRkcgUCaWQDCQEMZXZlbnRJc1ZhbGlkAQULZXZlbnRTdGF0dXMGCQACAQkArAICAhpPcmlnaW5hbCBldmVudCBmbGFnZ2VkIGFzIAULZXZlbnRTdGF0dXMBFGNoZWNrT3JnYW5pemVyU3RhdHVzAQRhZGRyBA9vcmdhbml6ZXJTdGF0dXMJAQ1nZXRVc2VyU3RyQnlLAQkBDWtleVVzZXJTdGF0dXMBBQRhZGRyAwkBD2NvbnRhaW5zRWxlbWVudAIJAMwIAgUNdXNlclN1c3BlbmRlZAUDbmlsBQ9vcmdhbml6ZXJTdGF0dXMJAAIBCQCsAgICE09yaWdpbmFsIG9yZ2FuaXplciAFD29yZ2FuaXplclN0YXR1cwYBDGNoZWNrTkZUSW5mbwEHYXNzZXRJZAQHbmZ0RGF0YQkAtQkCCQEOZ2V0RXZlbnRTdHJCeUsBCQEKa2V5TkZURGF0YQEFB2Fzc2V0SWQCAV8DAwkBASEBCQEQY2hlY2tFdmVudFN0YXR1cwIJAJEDAgUHbmZ0RGF0YQAGCQCRAwIFB25mdERhdGEABQkBASEBCQEUY2hlY2tPcmdhbml6ZXJTdGF0dXMBCQCRAwIFB25mdERhdGEABgcJAJYKBAcJAJEDAgUHbmZ0RGF0YQAFCQCRAwIFB25mdERhdGEABgkAkQMCBQduZnREYXRhAAcJAJYKBAYJAJEDAgUHbmZ0RGF0YQAFCQCRAwIFB25mdERhdGEABgkAkQMCBQduZnREYXRhAAcBD2NoZWNrRVZFTlRFeGlzdAIHZXZlbnRJZA1vcmdhbml6ZXJBZGRyAwMJAQEhAQkBEGNoZWNrRXZlbnRTdGF0dXMCBQ1vcmdhbml6ZXJBZGRyBQdldmVudElkCQEBIQEJARRjaGVja09yZ2FuaXplclN0YXR1cwEFDW9yZ2FuaXplckFkZHIHBwYBDHNldFRyYW5zZmVycwYGYW1vdW50B2Fzc2V0SWQFbmZ0SWQNb3JnYW5pemVyQWRkcglzYWxlT3duZXIGY2FsbGVyBA1hbW91bnRGb3JTaWduCQBrAwUGYW1vdW50BQdzaWduQ3V0AGQEEmFtb3VudEZvck9yZ2FuaXplcgkAawMFBmFtb3VudAUMb3JnYW5pemVyQ3V0AGQEDmFtb3VudEZvck93bmVyCQBlAgUGYW1vdW50CQBkAgUNYW1vdW50Rm9yU2lnbgUSYW1vdW50Rm9yT3JnYW5pemVyBAtjb21taXNzaW9ucwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQULZmVlUmVjZWl2ZXIFDWFtb3VudEZvclNpZ24FB2Fzc2V0SWQFA25pbAQMb3JnYW5pemVyRmVlCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQUNb3JnYW5pemVyQWRkcgUSYW1vdW50Rm9yT3JnYW5pemVyBQdhc3NldElkBAhvd25lckZlZQkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEFCXNhbGVPd25lcgUOYW1vdW50Rm9yT3duZXIFB2Fzc2V0SWQEDGNvbGxlY3Rvck5GVAkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEFBmNhbGxlcgABCQDZBAEFBW5mdElkCQCWCgQFC2NvbW1pc3Npb25zBQxvcmdhbml6ZXJGZWUFCG93bmVyRmVlBQxjb2xsZWN0b3JORlQBD3Byb3ZpZGVCYXNlRGF0YQIBaQVuZnRJZAQLJHQwNTgzNTU4NzQJAQxpZENhbGxlckRhdGUBBQFpBAJpZAgFCyR0MDU4MzU1ODc0Al8xBAZjYWxsZXIIBQskdDA1ODM1NTg3NAJfMgQEZGF0ZQgFCyR0MDU4MzU1ODc0Al8zBAskdDA1ODc3NTk0OQkBDGNoZWNrTkZUSW5mbwEFBW5mdElkBAppc1ZhbGlkTkZUCAULJHQwNTg3NzU5NDkCXzEEB2V2ZW50SWQIBQskdDA1ODc3NTk0OQJfMgQNb3JnYW5pemVyQWRkcggFCyR0MDU4Nzc1OTQ5Al8zBAh0aWNrZXRJZAgFCyR0MDU4Nzc1OTQ5Al80CQCZCgcFAmlkBQZjYWxsZXIFBGRhdGUFCmlzVmFsaWRORlQFB2V2ZW50SWQFDW9yZ2FuaXplckFkZHIFCHRpY2tldElkAQ51cGRhdGVOdW1TYWxlcwAECG51bVNhbGVzCQEJZ2V0SW50QnlLAQUJbnVtU2FsZXNLCQEMSW50ZWdlckVudHJ5AgUJbnVtU2FsZXNLCQBkAgUIbnVtU2FsZXMAAQkGaW52b2tlAQdzZXRDb25mAgNrZXkDdmFsBAZjYWxsZXIJAKUIAQgFBmludm9rZQZjYWxsZXIDCQEPY29udGFpbnNFbGVtZW50AgkAzAgCBQVjaHJpcwkAzAgCCQClCAEFBHRoaXMFA25pbAUGY2FsbGVyAwkBCGNvbnRhaW5zAgUDa2V5AgVjb25mXwkAzAgCCQELU3RyaW5nRW50cnkCBQNrZXkFA3ZhbAUDbmlsCQACAQIgRW50cmllcyBzdGFydGluZyB3aXRoIGNvbmZfIG9ubHkJAAIBAiJZb3UgYXJlIG5vdCBhbGxvd2VkIHRvIGNoYW5nZSB0aGlzBmludm9rZQEKYXBwUnVubmluZwIGaXNMaXZlB21lc3NhZ2UEBmNhbGxlcgkApQgBCAUGaW52b2tlBmNhbGxlcgQCaWQJANgEAQgFBmludm9rZQ10cmFuc2FjdGlvbklkAwkBD2NvbnRhaW5zRWxlbWVudAIJAMwIAgUFY2hyaXMJAMwIAgkApQgBBQR0aGlzBQNuaWwFBmNhbGxlcgkAzAgCCQEMQm9vbGVhbkVudHJ5AgUOZGFwcFJ1bm5pbmdLZXkFBmlzTGl2ZQkAzAgCCQELU3RyaW5nRW50cnkCBRFtYWludGVuYW5jZU1TR0tleQUHbWVzc2FnZQUDbmlsCQACAQIiWW91IGFyZSBub3QgYWxsb3dlZCB0byBjaGFuZ2UgdGhpcwFpAQdzZWxsTkZUAQVwcmljZQQLJHQwNzAwMjcwMzgJAQlpc1BheW1lbnQBBQFpBAdwYXltZW50CAULJHQwNzAwMjcwMzgCXzEEBmFtb3VudAgFCyR0MDcwMDI3MDM4Al8yAwkBAiE9AgUGYW1vdW50AAEJAAIBAhJObyBUaWNrZXQgYXR0YWNoZWQEBW5mdElkAwMJAQlpc0RlZmluZWQBCAUHcGF5bWVudAdhc3NldElkCQEOaXNTaWduRXZlbnRORlQBCQEFdmFsdWUBCAUHcGF5bWVudAdhc3NldElkBwkA2AQBCQEFdmFsdWUBCAUHcGF5bWVudAdhc3NldElkCQACAQIdT25seSBTSUdOIEV2ZW50IE5GVCBhY2NlcHRlZC4ECyR0MDcyNzk3Mzc0CQEPcHJvdmlkZUJhc2VEYXRhAgUBaQUFbmZ0SWQEAmlkCAULJHQwNzI3OTczNzQCXzEEBmNhbGxlcggFCyR0MDcyNzk3Mzc0Al8yBARkYXRlCAULJHQwNzI3OTczNzQCXzMECmlzVmFsaWRORlQIBQskdDA3Mjc5NzM3NAJfNAQHZXZlbnRJZAgFCyR0MDcyNzk3Mzc0Al81BA1vcmdhbml6ZXJBZGRyCAULJHQwNzI3OTczNzQCXzYECHRpY2tldElkCAULJHQwNzI3OTczNzQCXzcDCQEBIQEFCmlzVmFsaWRORlQJAAIBAhJOb3QgYSB2YWxpZCB0aWNrZXQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQEKZ2V0U2FsZUtleQUFBmNhbGxlcgUIdGlja2V0SWQFB2V2ZW50SWQFDW9yZ2FuaXplckFkZHIFBW5mdElkAgVfT1BFTgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKQDAQUEZGF0ZQIBXwkApAMBBQVwcmljZQIBXwkA2AQBBQtzaWduQXNzZXRJZAIBXwUFbmZ0SWQCAV8FCHRpY2tldElkAgFfBQdldmVudElkAgFfBQ1vcmdhbml6ZXJBZGRyAgFfBQJpZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICAg9zYWxlMm5kX3N0YXR1c18FBmNhbGxlcgIBXwUFbmZ0SWQCBE9QRU4JAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICAhZjdXJyZW50X293bmVyX29uX2RhcHBfBQVuZnRJZAUGY2FsbGVyBQNuaWwBaQEPdXBkYXRlU2FsZVByaWNlAgVuZnRJZAVwcmljZQQLJHQwNzkxMjgwMDcJAQ9wcm92aWRlQmFzZURhdGECBQFpBQVuZnRJZAQCaWQIBQskdDA3OTEyODAwNwJfMQQGY2FsbGVyCAULJHQwNzkxMjgwMDcCXzIEBGRhdGUIBQskdDA3OTEyODAwNwJfMwQKaXNWYWxpZE5GVAgFCyR0MDc5MTI4MDA3Al80BAdldmVudElkCAULJHQwNzkxMjgwMDcCXzUEDW9yZ2FuaXplckFkZHIIBQskdDA3OTEyODAwNwJfNgQIdGlja2V0SWQIBQskdDA3OTEyODAwNwJfNwMJAQEhAQUKaXNWYWxpZE5GVAkAAgECEk5vdCBhIHZhbGlkIHRpY2tldAQJc2FsZU93bmVyCQEJZ2V0U3RyQnlLAQkArAICAhZjdXJyZW50X293bmVyX29uX2RhcHBfBQVuZnRJZAMJAQIhPQIFCXNhbGVPd25lcgUGY2FsbGVyCQACAQIZWW91IGRvbid0IG93biB0aGlzIHRpY2tldAQKc2FsZVN0YXR1cwkBCWdldFN0ckJ5SwEJAKwCAgkArAICCQCsAgICD3NhbGUybmRfc3RhdHVzXwUGY2FsbGVyAgFfBQVuZnRJZAMJAQIhPQIFCnNhbGVTdGF0dXMCBE9QRU4JAAIBAg9TYWxlIG5vdCBhY3RpdmUEB3NhbGVLZXkJAQpnZXRTYWxlS2V5BQUGY2FsbGVyBQh0aWNrZXRJZAUHZXZlbnRJZAUNb3JnYW5pemVyQWRkcgUFbmZ0SWQECHNhbGVJbmZvCQC1CQIJAQlnZXRTdHJCeUsBCQCsAgIFB3NhbGVLZXkCBV9PUEVOAgFfCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUHc2FsZUtleQIFX09QRU4JAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCRAwIFCHNhbGVJbmZvAAACAV8JAKQDAQUFcHJpY2UCAV8JANgEAQULc2lnbkFzc2V0SWQCAV8JAJEDAgUIc2FsZUluZm8AAwIBXwkAkQMCBQhzYWxlSW5mbwAEAgFfCQCRAwIFCHNhbGVJbmZvAAUCAV8JAJEDAgUIc2FsZUluZm8ABgIBXwkAkQMCBQhzYWxlSW5mbwAHBQNuaWwBaQEKY2FuY2VsU2FsZQEFbmZ0SWQECyR0MDg5NDA5MTgzCQEPcHJvdmlkZUJhc2VEYXRhAgUBaQUFbmZ0SWQEAmlkCAULJHQwODk0MDkxODMCXzEEBmNhbGxlcggFCyR0MDg5NDA5MTgzAl8yBARkYXRlCAULJHQwODk0MDkxODMCXzMECmlzVmFsaWRORlQIBQskdDA4OTQwOTE4MwJfNAQHZXZlbnRJZAgFCyR0MDg5NDA5MTgzAl81BA1vcmdhbml6ZXJBZGRyCAULJHQwODk0MDkxODMCXzYECHRpY2tldElkCAULJHQwODk0MDkxODMCXzcECXNhbGVPd25lcgkBCWdldFN0ckJ5SwEJAKwCAgIWY3VycmVudF9vd25lcl9vbl9kYXBwXwUFbmZ0SWQDCQECIT0CBQlzYWxlT3duZXIFBmNhbGxlcgkAAgECGVlvdSBkb24ndCBvd24gdGhpcyB0aWNrZXQECnNhbGVTdGF0dXMJAQlnZXRTdHJCeUsBCQCsAgIJAKwCAgkArAICAg9zYWxlMm5kX3N0YXR1c18FBmNhbGxlcgIBXwUFbmZ0SWQDCQECIT0CBQpzYWxlU3RhdHVzAgRPUEVOCQACAQIPU2FsZSBub3QgYWN0aXZlBAdzYWxlS2V5CQEKZ2V0U2FsZUtleQUFBmNhbGxlcgUIdGlja2V0SWQFB2V2ZW50SWQFDW9yZ2FuaXplckFkZHIFBW5mdElkBAhzYWxlSW5mbwkBCWdldFN0ckJ5SwEJAKwCAgUHc2FsZUtleQIFX09QRU4JAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICBQdzYWxlS2V5AgVfT1BFTgkAzAgCCQELRGVsZXRlRW50cnkBCQCsAgIJAKwCAgkArAICAg9zYWxlMm5kX3N0YXR1c18FBmNhbGxlcgIBXwUFbmZ0SWQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICAhZjdXJyZW50X293bmVyX29uX2RhcHBfBQVuZnRJZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICBQdzYWxlS2V5AgFfBQJpZAIKX0NBTkNFTExFRAkArAICCQCsAgIJAKwCAgkArAICBQhzYWxlSW5mbwILX0NBTkNFTExFRF8JAKQDAQUEZGF0ZQIBXwUCaWQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEFBmNhbGxlcgABCQDZBAEFCHRpY2tldElkBQNuaWwBaQEGYnV5TkZUAQVuZnRJZAQNJHQwMTAwMzMxMDE1NwkBD3Byb3ZpZGVCYXNlRGF0YQIFAWkFBW5mdElkBAJpZAgFDSR0MDEwMDMzMTAxNTcCXzEEBmNhbGxlcggFDSR0MDEwMDMzMTAxNTcCXzIEBGRhdGUIBQ0kdDAxMDAzMzEwMTU3Al8zBAppc1ZhbGlkTkZUCAUNJHQwMTAwMzMxMDE1NwJfNAQHZXZlbnRJZAgFDSR0MDEwMDMzMTAxNTcCXzUEDW9yZ2FuaXplckFkZHIIBQ0kdDAxMDAzMzEwMTU3Al82BAh0aWNrZXRJZAgFDSR0MDEwMDMzMTAxNTcCXzcDCQEBIQEFCmlzVmFsaWRORlQJAAIBAhJOb3QgYSB2YWxpZCB0aWNrZXQECXNhbGVPd25lcgkBFWdldFNhbGVPd25lckFuZFN0YXR1cwEFBW5mdElkBAdzYWxlS2V5CQEKZ2V0U2FsZUtleQUFCXNhbGVPd25lcgUIdGlja2V0SWQFB2V2ZW50SWQFDW9yZ2FuaXplckFkZHIFBW5mdElkBAhzYWxlSW5mbwkBCWdldFN0ckJ5SwEJAKwCAgUHc2FsZUtleQIFX09QRU4DCQAAAgkAsQIBBQhzYWxlSW5mbwAACQACAQIPU2FsZSBOb3QgZm91bmQhBA1zYWxlSW5mb0FycmF5CQC1CQIFCHNhbGVJbmZvAgFfAwkAAAIJALYJAQkAkQMCBQ1zYWxlSW5mb0FycmF5AAEAAAkAAgECCk9mZmVyIG9ubHkEDSR0MDEwNTcyMTA2MDgJAQlpc1BheW1lbnQBBQFpBAdwYXltZW50CAUNJHQwMTA1NzIxMDYwOAJfMQQGYW1vdW50CAUNJHQwMTA1NzIxMDYwOAJfMgQPcGF5bWVudEFzc2V0U3RyCQDYBAEJAQV2YWx1ZQEIBQdwYXltZW50B2Fzc2V0SWQDAwkBAiE9AgkAkQMCBQ1zYWxlSW5mb0FycmF5AAEJAKQDAQUGYW1vdW50BgkBAiE9AgkAkQMCBQ1zYWxlSW5mb0FycmF5AAIFD3BheW1lbnRBc3NldFN0cgkAAgECGlBheW1lbnQgaW5mb3MgZG9uJ3QgbWF0Y2guBA0kdDAxMDgwOTEwOTQzCQEMc2V0VHJhbnNmZXJzBgUGYW1vdW50CAUHcGF5bWVudAdhc3NldElkBQVuZnRJZAUNb3JnYW5pemVyQWRkcgUJc2FsZU93bmVyBQZjYWxsZXIEC2NvbW1pc3Npb25zCAUNJHQwMTA4MDkxMDk0MwJfMQQKY3JlYXRvckZlZQgFDSR0MDEwODA5MTA5NDMCXzIECG93bmVyRmVlCAUNJHQwMTA4MDkxMDk0MwJfMwQMY29sbGVjdG9yTkZUCAUNJHQwMTA4MDkxMDk0MwJfNAkAzggCCQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgUHc2FsZUtleQIFX09QRU4JAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICCQCsAgIJAKwCAgIPc2FsZTJuZF9zdGF0dXNfBQlzYWxlT3duZXICAV8FBW5mdElkCQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgIWY3VycmVudF9vd25lcl9vbl9kYXBwXwUFbmZ0SWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgUHc2FsZUtleQIBXwUCaWQCB19DTE9TRUQJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIFCHNhbGVJbmZvAghfQ0xPU0VEXwkApAMBBQRkYXRlAgFfBQJpZAIBXwUGY2FsbGVyCQDMCAIJAQ51cGRhdGVOdW1TYWxlcwAJAMwIAgUKY3JlYXRvckZlZQkAzAgCBQhvd25lckZlZQkAzAgCBQxjb2xsZWN0b3JORlQFA25pbAULY29tbWlzc2lvbnMBaQEIc2V0T2ZmZXIBBW5mdElkBA0kdDAxMTM1NDExNDUzCQEPcHJvdmlkZUJhc2VEYXRhAgUBaQUFbmZ0SWQEAmlkCAUNJHQwMTEzNTQxMTQ1MwJfMQQKb2ZmZXJPd25lcggFDSR0MDExMzU0MTE0NTMCXzIEBGRhdGUIBQ0kdDAxMTM1NDExNDUzAl8zBAppc1ZhbGlkTkZUCAUNJHQwMTEzNTQxMTQ1MwJfNAQHZXZlbnRJZAgFDSR0MDExMzU0MTE0NTMCXzUEDW9yZ2FuaXplckFkZHIIBQ0kdDAxMTM1NDExNDUzAl82BAh0aWNrZXRJZAgFDSR0MDExMzU0MTE0NTMCXzcDCQEBIQEFCmlzVmFsaWRORlQJAAIBAhJOb3QgYSB2YWxpZCB0aWNrZXQEDSR0MDExNTE3MTE1NTMJAQlpc1BheW1lbnQBBQFpBAdwYXltZW50CAUNJHQwMTE1MTcxMTU1MwJfMQQGYW1vdW50CAUNJHQwMTE1MTcxMTU1MwJfMgQHYXNzZXRJZAkA2AQBCQEFdmFsdWUBCAUHcGF5bWVudAdhc3NldElkAwkBASEBCQEQYWNjZXB0ZWRBc3NldElkcwEFB2Fzc2V0SWQJAAIBAhJhc3NldCBub3QgYWNjZXB0ZWQDCQAAAgUGYW1vdW50AAAJAAIBAhZPZmZlciBvZiAwIG5vdCBhbGxvd2VkBAlzYWxlT3duZXIJARVnZXRTYWxlT3duZXJBbmRTdGF0dXMBBQVuZnRJZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAQlnZXRCaWRLZXkFBQpvZmZlck93bmVyBQh0aWNrZXRJZAUJc2FsZU93bmVyBQJpZAUFbmZ0SWQCBV9PUEVOCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkApAMBBQRkYXRlAgFfCQCkAwEFBmFtb3VudAIBXwUHYXNzZXRJZAIBXwUFbmZ0SWQCAV8FB2V2ZW50SWQCAV8FDW9yZ2FuaXplckFkZHICAV8FCm9mZmVyT3duZXICAV8FAmlkBQNuaWwBaQELYWNjZXB0T2ZmZXIDBW5mdElkB29mZmVySWQKb2ZmZXJPd25lcgQNJHQwMTIyMzIxMjMyNwkBD3Byb3ZpZGVCYXNlRGF0YQIFAWkFBW5mdElkBAJpZAgFDSR0MDEyMjMyMTIzMjcCXzEEBmNhbGxlcggFDSR0MDEyMjMyMTIzMjcCXzIEBGRhdGUIBQ0kdDAxMjIzMjEyMzI3Al8zBAppc1ZhbGlkTkZUCAUNJHQwMTIyMzIxMjMyNwJfNAQHZXZlbnRJZAgFDSR0MDEyMjMyMTIzMjcCXzUEDW9yZ2FuaXplckFkZHIIBQ0kdDAxMjIzMjEyMzI3Al82BAh0aWNrZXRJZAgFDSR0MDEyMjMyMTIzMjcCXzcDCQEBIQEFCmlzVmFsaWRORlQJAAIBAhJOb3QgYSB2YWxpZCB0aWNrZXQECXNhbGVPd25lcgkBFWdldFNhbGVPd25lckFuZFN0YXR1cwEFBW5mdElkAwkBAiE9AgUGY2FsbGVyBQlzYWxlT3duZXIJAAIBAiBPbmx5IHNhbGUgb3duZXIgY2FuIGFjY2VwdCBvZmZlcgQGYmlkS2V5CQEJZ2V0QmlkS2V5BQUKb2ZmZXJPd25lcgUIdGlja2V0SWQFCXNhbGVPd25lcgUHb2ZmZXJJZAUFbmZ0SWQEDSR0MDEyNTkzMTI2NDgJAQpnZXRCaWREYXRhAQUGYmlkS2V5BApiaWREYXRhQXJyCAUNJHQwMTI1OTMxMjY0OAJfMQQHYXNzZXRJZAgFDSR0MDEyNTkzMTI2NDgCXzIEB2JpZERhdGEIBQ0kdDAxMjU5MzEyNjQ4Al8zBAdzYWxlS2V5CQEKZ2V0U2FsZUtleQUFCXNhbGVPd25lcgUIdGlja2V0SWQFB2V2ZW50SWQFDW9yZ2FuaXplckFkZHIFBW5mdElkBAhzYWxlSW5mbwkBCWdldFN0ckJ5SwEJAKwCAgUHc2FsZUtleQIFX09QRU4DCQAAAgkAsQIBBQhzYWxlSW5mbwAACQACAQIPU2FsZSBOb3QgZm91bmQhBAZhbW91bnQJAQV2YWx1ZQEJALYJAQkAkQMCBQpiaWREYXRhQXJyAAEEDSR0MDEyODk3MTMwMzAJAQxzZXRUcmFuc2ZlcnMGBQZhbW91bnQFB2Fzc2V0SWQFBW5mdElkBQ1vcmdhbml6ZXJBZGRyBQlzYWxlT3duZXIJAJEDAgUKYmlkRGF0YUFycgAGBAtjb21taXNzaW9ucwgFDSR0MDEyODk3MTMwMzACXzEECmNyZWF0b3JGZWUIBQ0kdDAxMjg5NzEzMDMwAl8yBAhvd25lckZlZQgFDSR0MDEyODk3MTMwMzACXzMEDGNvbGxlY3Rvck5GVAgFDSR0MDEyODk3MTMwMzACXzQECmFzc2V0SWRTdHIJANgEAQkBBXZhbHVlAQUHYXNzZXRJZAkAzggCCQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgUHc2FsZUtleQIFX09QRU4JAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICBQZiaWRLZXkCBV9PUEVOCQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgkArAICCQCsAgICD3NhbGUybmRfc3RhdHVzXwUJc2FsZU93bmVyAgFfBQVuZnRJZAkAzAgCCQELRGVsZXRlRW50cnkBCQCsAgICFmN1cnJlbnRfb3duZXJfb25fZGFwcF8FBW5mdElkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUGYmlkS2V5AgdfQ0xPU0VECQCsAgIJAKwCAgkArAICCQCsAgIFB2JpZERhdGECCF9DTE9TRURfCQCkAwEFBGRhdGUCAV8FAmlkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIFB3NhbGVLZXkCAV8FAmlkAgdfQ0xPU0VECQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIFCHNhbGVJbmZvAg5fQ0xPU0VELU9GRkVSXwkApAMBBQRkYXRlAgFfBQJpZAIBXwUKb2ZmZXJPd25lcgIBXwkApAMBBQZhbW91bnQCAV8FCmFzc2V0SWRTdHIJAMwIAgkBDnVwZGF0ZU51bVNhbGVzAAkAzAgCBQpjcmVhdG9yRmVlCQDMCAIFCG93bmVyRmVlCQDMCAIFDGNvbGxlY3Rvck5GVAUDbmlsBQtjb21taXNzaW9ucwFpAQtjYW5jZWxPZmZlcgUFbmZ0SWQHb2ZmZXJJZApvZmZlck93bmVyCXNhbGVPd25lcgh0aWNrZXRJZAQNJHQwMTM4MDYxMzg3OAkBDGlkQ2FsbGVyRGF0ZQEFAWkEAmlkCAUNJHQwMTM4MDYxMzg3OAJfMQQGY2FsbGVyCAUNJHQwMTM4MDYxMzg3OAJfMgQEZGF0ZQgFDSR0MDEzODA2MTM4NzgCXzMDAwkBAiE9AgUGY2FsbGVyBQpvZmZlck93bmVyCQECIT0CBQZjYWxsZXIFCXNhbGVPd25lcgcJAAIBAh1Zb3UgY2Fubm90IGNhbmNlbCB0aGlzIG9mZmVyLgQGYmlkS2V5CQEJZ2V0QmlkS2V5BQUKb2ZmZXJPd25lcgUIdGlja2V0SWQFCXNhbGVPd25lcgUHb2ZmZXJJZAUFbmZ0SWQEDSR0MDE0MDU5MTQxMTQJAQpnZXRCaWREYXRhAQUGYmlkS2V5BApiaWREYXRhQXJyCAUNJHQwMTQwNTkxNDExNAJfMQQHYXNzZXRJZAgFDSR0MDE0MDU5MTQxMTQCXzIEB2JpZERhdGEIBQ0kdDAxNDA1OTE0MTE0Al8zCQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgUGYmlkS2V5AgVfT1BFTgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBmJpZEtleQIKX0NBTkNFTExFRAkArAICCQCsAgIJAKwCAgkArAICBQdiaWREYXRhAgtfQ0FOQ0VMTEVEXwkApAMBBQRkYXRlAgFfBQJpZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQUGY2FsbGVyCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUKYmlkRGF0YUFycgABBQdhc3NldElkBQNuaWwAPfqFeA==", "height": 2300842, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 44B9YfDAxiv2YeGa3hyY6q1fNCBnLqWzFNSpykXQtiqT Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 6 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = "1.0.0"
5+
6+func b (c) = valueOrElse(getString(this, c), "")
7+
8+
9+let d = b("conf_fee_receiver")
10+
11+let e = value(addressFromString(b("conf_events_dapp")))
12+
13+let f = value(addressFromString(b("conf_users_dapp")))
14+
15+let g = fromBase58String(b("conf_accepted_asset_SIGN"))
16+
17+let h = b("conf_admin_1")
18+
19+let i = 3
20+
21+let j = 10
22+
23+let k = "SUSPENDED"
24+
25+let l = "ILLEGAL"
26+
27+let m = "SUSPENDED"
28+
29+let n = "conf_dapp_is_running"
30+
31+let o = "conf_maintenance_msg"
32+
33+let p = valueOrElse(getBoolean(this, n), true)
34+
35+let q = valueOrElse(getString(this, o), "")
36+
37+let r = "num_sales"
38+
39+func s (c) = valueOrElse(getString(f, c), "Error")
40+
41+
42+func t (c) = valueOrElse(getString(e, c), "")
43+
44+
45+func u (c) = valueOrElse(getInteger(this, c), 0)
46+
47+
48+func v (w) = ("user_status_" + w)
49+
50+
51+func x (y,z) = ((("event_flag_" + z) + "_") + y)
52+
53+
54+func A (B) = ("nft_" + B)
55+
56+
57+func C (D,E,z,y,F) = ((((((((("sale2nd_info_" + D) + "_") + E) + "_") + z) + "_") + y) + "_") + F)
58+
59+
60+func G (H,E,I,J,F) = ((((((((("offer2nd_" + H) + "_") + E) + "_") + I) + "_") + J) + "_") + F)
61+
62+
63+func K (L) = if (!(p))
64+ then throw(q)
65+ else $Tuple3(toBase58String(L.transactionId), toBase58String(L.caller.bytes), lastBlock.timestamp)
66+
67+
68+func M (L) = if ((size(L.payments) == 0))
69+ then throw("No payment attached")
70+ else {
71+ let N = value(L.payments[0])
72+ let O = value(N.amount)
73+ $Tuple2(N, O)
74+ }
75+
76+
77+func P (Q) = if (if (if ((Q.quantity == 1))
78+ then (Q.decimals == 0)
79+ else false)
80+ then (Q.reissuable == false)
81+ else false)
82+ then (Q.issuer == e)
83+ else false
84+
85+
86+func R (B) = {
87+ let Q = value(assetInfo(B))
88+ P(Q)
89+ }
90+
91+
92+func S (T) = if ((T != toBase58String(g)))
93+ then false
94+ else true
95+
96+
97+func U (T) = fromBase58String(T)
98+
99+
100+func V (E) = {
101+ let I = b(("current_owner_on_dapp_" + E))
102+ if ((size(I) == 0))
103+ then throw("Ticket not found")
104+ else {
105+ let W = b(((("sale2nd_status_" + I) + "_") + E))
106+ if ((W != "OPEN"))
107+ then throw("Ticket not for sale")
108+ else I
109+ }
110+ }
111+
112+
113+func X (c) = {
114+ let Y = b((c + "_OPEN"))
115+ if ((Y == ""))
116+ then throw("Offer not found")
117+ else {
118+ let Z = split(Y, "_")
119+ let T = U(Z[2])
120+ $Tuple3(Z, T, Y)
121+ }
122+ }
123+
124+
125+func aa (ab) = if ((ab != l))
126+ then (ab != m)
127+ else false
128+
129+
130+func ac (w,B) = {
131+ let ab = t(x(w, B))
132+ if (aa(ab))
133+ then true
134+ else throw(("Original event flagged as " + ab))
135+ }
136+
137+
138+func ad (w) = {
139+ let ae = s(v(w))
140+ if (containsElement([k], ae))
141+ then throw(("Original organizer " + ae))
142+ else true
143+ }
144+
145+
146+func af (T) = {
147+ let ag = split(t(A(T)), "_")
148+ if (if (!(ac(ag[6], ag[5])))
149+ then !(ad(ag[6]))
150+ else false)
151+ then $Tuple4(false, ag[5], ag[6], ag[7])
152+ else $Tuple4(true, ag[5], ag[6], ag[7])
153+ }
154+
155+
156+func ah (z,y) = if (if (!(ac(y, z)))
157+ then !(ad(y))
158+ else false)
159+ then false
160+ else true
161+
162+
163+func ai (O,T,F,y,I,D) = {
164+ let aj = fraction(O, i, 100)
165+ let ak = fraction(O, j, 100)
166+ let al = (O - (aj + ak))
167+ let am = [ScriptTransfer(Address(fromBase58String(d)), aj, T)]
168+ let an = ScriptTransfer(Address(fromBase58String(y)), ak, T)
169+ let ao = ScriptTransfer(Address(fromBase58String(I)), al, T)
170+ let ap = ScriptTransfer(Address(fromBase58String(D)), 1, fromBase58String(F))
171+ $Tuple4(am, an, ao, ap)
172+ }
173+
174+
175+func aq (L,F) = {
176+ let ar = K(L)
177+ let B = ar._1
178+ let D = ar._2
179+ let as = ar._3
180+ let at = af(F)
181+ let au = at._1
182+ let z = at._2
183+ let y = at._3
184+ let E = at._4
185+ $Tuple7(B, D, as, au, z, y, E)
186+ }
187+
188+
189+func av () = {
190+ let aw = u(r)
191+ IntegerEntry(r, (aw + 1))
192+ }
193+
194+
195+@Callable(ax)
196+func setConf (c,ay) = {
197+ let D = toString(ax.caller)
198+ if (containsElement([h, toString(this)], D))
199+ then if (contains(c, "conf_"))
200+ then [StringEntry(c, ay)]
201+ else throw("Entries starting with conf_ only")
202+ else throw("You are not allowed to change this")
203+ }
204+
205+
206+
207+@Callable(ax)
208+func appRunning (az,aA) = {
209+ let D = toString(ax.caller)
210+ let B = toBase58String(ax.transactionId)
211+ if (containsElement([h, toString(this)], D))
212+ then [BooleanEntry(n, az), StringEntry(o, aA)]
213+ else throw("You are not allowed to change this")
214+ }
215+
216+
217+
218+@Callable(L)
219+func sellNFT (aB) = {
220+ let aC = M(L)
221+ let N = aC._1
222+ let O = aC._2
223+ if ((O != 1))
224+ then throw("No Ticket attached")
225+ else {
226+ let F = if (if (isDefined(N.assetId))
227+ then R(value(N.assetId))
228+ else false)
229+ then toBase58String(value(N.assetId))
230+ else throw("Only SIGN Event NFT accepted.")
231+ let aD = aq(L, F)
232+ let B = aD._1
233+ let D = aD._2
234+ let as = aD._3
235+ let au = aD._4
236+ let z = aD._5
237+ let y = aD._6
238+ let E = aD._7
239+ if (!(au))
240+ then throw("Not a valid ticket")
241+ else [StringEntry((C(D, E, z, y, F) + "_OPEN"), ((((((((((((((toString(as) + "_") + toString(aB)) + "_") + toBase58String(g)) + "_") + F) + "_") + E) + "_") + z) + "_") + y) + "_") + B)), StringEntry(((("sale2nd_status_" + D) + "_") + F), "OPEN"), StringEntry(("current_owner_on_dapp_" + F), D)]
242+ }
243+ }
244+
245+
246+
247+@Callable(L)
248+func updateSalePrice (F,aB) = {
249+ let aE = aq(L, F)
250+ let B = aE._1
251+ let D = aE._2
252+ let as = aE._3
253+ let au = aE._4
254+ let z = aE._5
255+ let y = aE._6
256+ let E = aE._7
257+ if (!(au))
258+ then throw("Not a valid ticket")
259+ else {
260+ let I = b(("current_owner_on_dapp_" + F))
261+ if ((I != D))
262+ then throw("You don't own this ticket")
263+ else {
264+ let W = b(((("sale2nd_status_" + D) + "_") + F))
265+ if ((W != "OPEN"))
266+ then throw("Sale not active")
267+ else {
268+ let aF = C(D, E, z, y, F)
269+ let aG = split(b((aF + "_OPEN")), "_")
270+[StringEntry((aF + "_OPEN"), ((((((((((((((aG[0] + "_") + toString(aB)) + "_") + toBase58String(g)) + "_") + aG[3]) + "_") + aG[4]) + "_") + aG[5]) + "_") + aG[6]) + "_") + aG[7]))]
271+ }
272+ }
273+ }
274+ }
275+
276+
277+
278+@Callable(L)
279+func cancelSale (F) = {
280+ let aH = aq(L, F)
281+ let B = aH._1
282+ let D = aH._2
283+ let as = aH._3
284+ let au = aH._4
285+ let z = aH._5
286+ let y = aH._6
287+ let E = aH._7
288+ let I = b(("current_owner_on_dapp_" + F))
289+ if ((I != D))
290+ then throw("You don't own this ticket")
291+ else {
292+ let W = b(((("sale2nd_status_" + D) + "_") + F))
293+ if ((W != "OPEN"))
294+ then throw("Sale not active")
295+ else {
296+ let aF = C(D, E, z, y, F)
297+ let aG = b((aF + "_OPEN"))
298+[DeleteEntry((aF + "_OPEN")), DeleteEntry(((("sale2nd_status_" + D) + "_") + F)), DeleteEntry(("current_owner_on_dapp_" + F)), StringEntry((((aF + "_") + B) + "_CANCELLED"), ((((aG + "_CANCELLED_") + toString(as)) + "_") + B)), ScriptTransfer(Address(fromBase58String(D)), 1, fromBase58String(E))]
299+ }
300+ }
301+ }
302+
303+
304+
305+@Callable(L)
306+func buyNFT (F) = {
307+ let aI = aq(L, F)
308+ let B = aI._1
309+ let D = aI._2
310+ let as = aI._3
311+ let au = aI._4
312+ let z = aI._5
313+ let y = aI._6
314+ let E = aI._7
315+ if (!(au))
316+ then throw("Not a valid ticket")
317+ else {
318+ let I = V(F)
319+ let aF = C(I, E, z, y, F)
320+ let aG = b((aF + "_OPEN"))
321+ if ((size(aG) == 0))
322+ then throw("Sale Not found!")
323+ else {
324+ let aJ = split(aG, "_")
325+ if ((parseInt(aJ[1]) == 0))
326+ then throw("Offer only")
327+ else {
328+ let aK = M(L)
329+ let N = aK._1
330+ let O = aK._2
331+ let aL = toBase58String(value(N.assetId))
332+ if (if ((aJ[1] != toString(O)))
333+ then true
334+ else (aJ[2] != aL))
335+ then throw("Payment infos don't match.")
336+ else {
337+ let aM = ai(O, N.assetId, F, y, I, D)
338+ let am = aM._1
339+ let aN = aM._2
340+ let ao = aM._3
341+ let ap = aM._4
342+ ([DeleteEntry((aF + "_OPEN")), DeleteEntry(((("sale2nd_status_" + I) + "_") + F)), DeleteEntry(("current_owner_on_dapp_" + F)), StringEntry((((aF + "_") + B) + "_CLOSED"), ((((((aG + "_CLOSED_") + toString(as)) + "_") + B) + "_") + D)), av(), aN, ao, ap] ++ am)
343+ }
344+ }
345+ }
346+ }
347+ }
348+
349+
350+
351+@Callable(L)
352+func setOffer (F) = {
353+ let aO = aq(L, F)
354+ let B = aO._1
355+ let H = aO._2
356+ let as = aO._3
357+ let au = aO._4
358+ let z = aO._5
359+ let y = aO._6
360+ let E = aO._7
361+ if (!(au))
362+ then throw("Not a valid ticket")
363+ else {
364+ let aP = M(L)
365+ let N = aP._1
366+ let O = aP._2
367+ let T = toBase58String(value(N.assetId))
368+ if (!(S(T)))
369+ then throw("asset not accepted")
370+ else if ((O == 0))
371+ then throw("Offer of 0 not allowed")
372+ else {
373+ let I = V(F)
374+[StringEntry((G(H, E, I, B, F) + "_OPEN"), ((((((((((((((toString(as) + "_") + toString(O)) + "_") + T) + "_") + F) + "_") + z) + "_") + y) + "_") + H) + "_") + B))]
375+ }
376+ }
377+ }
378+
379+
380+
381+@Callable(L)
382+func acceptOffer (F,J,H) = {
383+ let aQ = aq(L, F)
384+ let B = aQ._1
385+ let D = aQ._2
386+ let as = aQ._3
387+ let au = aQ._4
388+ let z = aQ._5
389+ let y = aQ._6
390+ let E = aQ._7
391+ if (!(au))
392+ then throw("Not a valid ticket")
393+ else {
394+ let I = V(F)
395+ if ((D != I))
396+ then throw("Only sale owner can accept offer")
397+ else {
398+ let aR = G(H, E, I, J, F)
399+ let aS = X(aR)
400+ let Z = aS._1
401+ let T = aS._2
402+ let Y = aS._3
403+ let aF = C(I, E, z, y, F)
404+ let aG = b((aF + "_OPEN"))
405+ if ((size(aG) == 0))
406+ then throw("Sale Not found!")
407+ else {
408+ let O = value(parseInt(Z[1]))
409+ let aT = ai(O, T, F, y, I, Z[6])
410+ let am = aT._1
411+ let aN = aT._2
412+ let ao = aT._3
413+ let ap = aT._4
414+ let aU = toBase58String(value(T))
415+ ([DeleteEntry((aF + "_OPEN")), DeleteEntry((aR + "_OPEN")), DeleteEntry(((("sale2nd_status_" + I) + "_") + F)), DeleteEntry(("current_owner_on_dapp_" + F)), StringEntry((aR + "_CLOSED"), ((((Y + "_CLOSED_") + toString(as)) + "_") + B)), StringEntry((((aF + "_") + B) + "_CLOSED"), ((((((((((aG + "_CLOSED-OFFER_") + toString(as)) + "_") + B) + "_") + H) + "_") + toString(O)) + "_") + aU)), av(), aN, ao, ap] ++ am)
416+ }
417+ }
418+ }
419+ }
420+
421+
422+
423+@Callable(L)
424+func cancelOffer (F,J,H,I,E) = {
425+ let aV = K(L)
426+ let B = aV._1
427+ let D = aV._2
428+ let as = aV._3
429+ if (if ((D != H))
430+ then (D != I)
431+ else false)
432+ then throw("You cannot cancel this offer.")
433+ else {
434+ let aR = G(H, E, I, J, F)
435+ let aW = X(aR)
436+ let Z = aW._1
437+ let T = aW._2
438+ let Y = aW._3
439+[DeleteEntry((aR + "_OPEN")), StringEntry((aR + "_CANCELLED"), ((((Y + "_CANCELLED_") + toString(as)) + "_") + B)), ScriptTransfer(Address(fromBase58String(D)), parseIntValue(Z[1]), T)]
440+ }
441+ }
442+
443+

github/deemru/w8io/873ac7e 
36.52 ms