tx · GWWneMizPEiBHsFUvDugy1fBKxE2Pv8LuuALAXK5GpgA

3NA8MoNPikwC3J5qFE4bJNyb234chSY61sV:  -0.01500000 Waves

2022.11.05 04:57 [2303169] smart account 3NA8MoNPikwC3J5qFE4bJNyb234chSY61sV > SELF 0.00000000 Waves

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

github/deemru/w8io/169f3d6 
29.81 ms