tx · 43JW21EzuU76kDh5mg94yP4WkjwEgaiM5GYmFcs8roFF

3N43JYG2V93YFoqRKwVv8wdihrSAzLGAyE9:  -0.01800000 Waves

2022.11.03 12:23 [2300744] smart account 3N43JYG2V93YFoqRKwVv8wdihrSAzLGAyE9 > SELF 0.00000000 Waves

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

github/deemru/w8io/873ac7e 
54.97 ms