tx · g38CSJCWb58AafANszskhHY6eufugB11GXZw3SDrH8Q

3N4ishKFoRooDxWoaCWSp3CUEoDmVepA1bz:  -0.01300000 Waves

2024.01.18 09:39 [2936643] smart account 3N4ishKFoRooDxWoaCWSp3CUEoDmVepA1bz > SELF 0.00000000 Waves

{ "type": 13, "id": "g38CSJCWb58AafANszskhHY6eufugB11GXZw3SDrH8Q", "fee": 1300000, "feeAssetId": null, "timestamp": 1705559968439, "version": 2, "chainId": 84, "sender": "3N4ishKFoRooDxWoaCWSp3CUEoDmVepA1bz", "senderPublicKey": "9p5EiEVtTgiMBxj67TfVfstKuQs1LHPxoZRiRhyS5oiN", "proofs": [ "4nd5dtbyWyCpc23EVF5qfVYiF71egnpwDxjvo9BRza8LfDmuPirwkeUTdFasX9Z8fgovThU3vnS2giQkJkeE67y3" ], "script": "base64:BgI5CAISBAoCCAgSBAoCBAgSBAoCAQgSBQoDCAEIEgMKAQgSAwoBCBIDCgEIEgUKAwgICBIGCgQICAgILQAHVkVSU0lPTgIFMS4wLjABCWdldFN0ckJ5SwEDa2V5CQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMFA2tleQIAAAlvcmFjbGVGZWUJAQV2YWx1ZQEJAKYIAQkBCWdldFN0ckJ5SwECD2NvbmZfb3JhY2xlX2ZlZQALZmVlUmVjZWl2ZXIJAQlnZXRTdHJCeUsBAhFjb25mX2ZlZV9yZWNlaXZlcgAPcHV6emxlX2FydF9wb29sCQEJZ2V0U3RyQnlLAQIUY29uZl9wdXp6bGVfYXJ0X3Bvb2wAE3NpZ25BcnRBcnR3b3Jrc0RhcHAJAQV2YWx1ZQEJAKYIAQkBCWdldFN0ckJ5SwECEmNvbmZfYXJ0d29ya3NfZGFwcAARdXNkdFBQQXNzZXRJZF9zdHIJAQlnZXRTdHJCeUsBAhtjb25mX2FjY2VwdGVkX2Fzc2V0X1VTRFRfUFAADmFydEFzc2V0SWRfc3RyCQEJZ2V0U3RyQnlLAQIXY29uZl9hY2NlcHRlZF9hc3NldF9BUlQAEXVzZGNQUEFzc2V0SWRfc3RyCQEJZ2V0U3RyQnlLAQIbY29uZl9hY2NlcHRlZF9hc3NldF9VU0RDX1BQAA9lYXN0QXNzZXRJZF9zdHIJAQlnZXRTdHJCeUsBAhhjb25mX2FjY2VwdGVkX2Fzc2V0X0VBU1QAEXB1enpsZUFzc2V0SWRfc3RyCQEJZ2V0U3RyQnlLAQIaY29uZl9hY2NlcHRlZF9hc3NldF9QVVpaTEUAEGV0aFBQQXNzZXRJZF9zdHIJAQlnZXRTdHJCeUsBAhpjb25mX2FjY2VwdGVkX2Fzc2V0X0VUSF9QUAAQd2F2ZXNBc3NldElkX3N0cgIFV0FWRVMADXVzZHRQUEFzc2V0SWQJANkEAQURdXNkdFBQQXNzZXRJZF9zdHIACmFydEFzc2V0SWQJANkEAQUOYXJ0QXNzZXRJZF9zdHIADXVzZGNQUEFzc2V0SWQJANkEAQURdXNkY1BQQXNzZXRJZF9zdHIAC2Vhc3RBc3NldElkCQDZBAEFD2Vhc3RBc3NldElkX3N0cgANcHV6emxlQXNzZXRJZAkA2QQBBRFwdXp6bGVBc3NldElkX3N0cgAMZXRoUFBBc3NldElkCQDZBAEFEGV0aFBQQXNzZXRJZF9zdHIADHdhdmVzQXNzZXRJZAEAABNhbGxfYWNjZXB0ZWRfYXNzZXRzCQDMCAIFEXVzZHRQUEFzc2V0SWRfc3RyCQDMCAIFDmFydEFzc2V0SWRfc3RyCQDMCAIFEXVzZGNQUEFzc2V0SWRfc3RyCQDMCAIFD2Vhc3RBc3NldElkX3N0cgkAzAgCBRFwdXp6bGVBc3NldElkX3N0cgkAzAgCBRB3YXZlc0Fzc2V0SWRfc3RyCQDMCAIFEGV0aFBQQXNzZXRJZF9zdHIFA25pbAAFY2hyaXMJAQlnZXRTdHJCeUsBAgxjb25mX2FkbWluXzEADmNvbW1pc3Npb25fZmVlAAMADmRhcHBSdW5uaW5nS2V5AhRjb25mX2RhcHBfaXNfcnVubmluZwARbWFpbnRlbmFuY2VNU0dLZXkCFGNvbmZfbWFpbnRlbmFuY2VfbXNnAAtkYXBwUnVubmluZwkBC3ZhbHVlT3JFbHNlAgkAmwgCBQR0aGlzBQ5kYXBwUnVubmluZ0tleQYADm1haW50ZW5hbmNlTVNHCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMFEW1haW50ZW5hbmNlTVNHS2V5AgAACW51bVNhbGVzSwIJbnVtX3NhbGVzAQlnZXRJbnRCeUsBA2tleQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQNrZXkAAAEKZ2V0U2FsZUtleQMGY2FsbGVyBW5mdElkBmlzc3VlcgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICDXNhbGUybmRfaW5mb18FBmNhbGxlcgIBXwUFbmZ0SWQCAV8FBmlzc3VlcgEJZ2V0QmlkS2V5BApvZmZlck93bmVyBW5mdElkCXNhbGVPd25lcgdvZmZlcklkCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICCW9mZmVyMm5kXwUKb2ZmZXJPd25lcgIBXwUFbmZ0SWQCAV8FCXNhbGVPd25lcgIBXwUHb2ZmZXJJZAETZ2V0SW50QnlLRnJvbU9yYWNsZQEDa2V5CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUJb3JhY2xlRmVlBQNrZXkCH0ludGVnZXIgdW5kZWZpbmUgb3IgMCBpbiBvcmFjbGUBDGlkQ2FsbGVyRGF0ZQEBaQMJAQEhAQULZGFwcFJ1bm5pbmcJAAIBBQ5tYWludGVuYW5jZU1TRwkAlQoDCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQJANgEAQgIBQFpBmNhbGxlcgVieXRlcwgFCWxhc3RCbG9jawl0aW1lc3RhbXABCWlzUGF5bWVudAEBaQMJAAACCQCQAwEIBQFpCHBheW1lbnRzAAAJAAIBAhNObyBwYXltZW50IGF0dGFjaGVkBAdwYXltZW50CQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAAEBmFtb3VudAkBBXZhbHVlAQgFB3BheW1lbnQGYW1vdW50CQCUCgIFB3BheW1lbnQFBmFtb3VudAEKTkZUSXNWYWxpZAEMYXNzZXREZXRhaWxzAwMJAAACCAUMYXNzZXREZXRhaWxzCHF1YW50aXR5AAEJAAACCAUMYXNzZXREZXRhaWxzCGRlY2ltYWxzAAAHCQAAAggFDGFzc2V0RGV0YWlscwpyZWlzc3VhYmxlBwcBEGFjY2VwdGVkQXNzZXRJZHMBB2Fzc2V0SWQDCQEBIQEJAQ9jb250YWluc0VsZW1lbnQCBRNhbGxfYWNjZXB0ZWRfYXNzZXRzBQdhc3NldElkCQACAQJAT25seSAkQVJULCBVU0RULVBQLCBVU0RDLVBQLCBFQVNULCBQVVpaTEUsIEVUSCBvciBXQVZFUyBhY2NlcHRlZAYBDWdldEJpZEFzc2V0SWQBB2Fzc2V0SWQDCQAAAgUHYXNzZXRJZAIFV0FWRVMFBHVuaXQJANkEAQUHYXNzZXRJZAEVZ2V0U2FsZU93bmVyQW5kU3RhdHVzAQVuZnRpZAQJc2FsZU93bmVyCQEJZ2V0U3RyQnlLAQkArAICAhZjdXJyZW50X293bmVyX29uX2RhcHBfBQVuZnRpZAMJAAACCQCxAgEFCXNhbGVPd25lcgAACQACAQINTkZUIG5vdCBmb3VuZAQKc2FsZVN0YXR1cwkBCWdldFN0ckJ5SwEJAKwCAgkArAICCQCsAgICD3NhbGUybmRfc3RhdHVzXwUJc2FsZU93bmVyAgFfBQVuZnRpZAMJAQIhPQIFCnNhbGVTdGF0dXMCBE9QRU4JAAIBAhBORlQgbm90IGZvciBzYWxlBQlzYWxlT3duZXIBCmdldEJpZERhdGEBA2tleQQHYmlkRGF0YQkBCWdldFN0ckJ5SwEJAKwCAgUDa2V5AgVfT1BFTgMJAAACBQdiaWREYXRhAgAJAAIBAg9PZmZlciBub3QgZm91bmQECmJpZERhdGFBcnIJALUJAgUHYmlkRGF0YQIBXwQHYXNzZXRJZAkBDWdldEJpZEFzc2V0SWQBCQCRAwIFCmJpZERhdGFBcnIAAgkAlQoDBQpiaWREYXRhQXJyBQdhc3NldElkBQdiaWREYXRhAQpnZXRCYWxhbmNlAQdhc3NldElkBAckbWF0Y2gwBQdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAWIFByRtYXRjaDAJAPAHAgUEdGhpcwUBYggJAO8HAQUEdGhpcwlhdmFpbGFibGUBDHNldFRyYW5zZmVycwUGYW1vdW50B2Fzc2V0SWQFbmZ0aWQJc2FsZU93bmVyBmNhbGxlcgQNYW1vdW50Rm9yU2lnbgkAawMFBmFtb3VudAUOY29tbWlzc2lvbl9mZWUAZAQOYW1vdW50Rm9yT3duZXIJAGUCBQZhbW91bnQFDWFtb3VudEZvclNpZ24EImFtb3VudF9jb21taXNzaW9uX2Zvcl9zaWduX3RvX3N3YXAFDWFtb3VudEZvclNpZ24EEWFtb3VudF9hcnRfYmVmb3JlCQEKZ2V0QmFsYW5jZQEFCmFydEFzc2V0SWQDCQAAAgURYW1vdW50X2FydF9iZWZvcmUFEWFtb3VudF9hcnRfYmVmb3JlBA9zd2FwX2ZlZV90b19hcnQDCQECIT0CBQdhc3NldElkBQphcnRBc3NldElkCQD8BwQJAQdBZGRyZXNzAQkA2QQBBQ9wdXp6bGVfYXJ0X3Bvb2wCBHN3YXAJAMwIAgUOYXJ0QXNzZXRJZF9zdHIJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFB2Fzc2V0SWQFImFtb3VudF9jb21taXNzaW9uX2Zvcl9zaWduX3RvX3N3YXAFA25pbAUEdW5pdAMJAAACBQ9zd2FwX2ZlZV90b19hcnQFD3N3YXBfZmVlX3RvX2FydAQQYW1vdW50X2FydF9hZnRlcgkBCmdldEJhbGFuY2UBBQphcnRBc3NldElkAwkAAAIFEGFtb3VudF9hcnRfYWZ0ZXIFEGFtb3VudF9hcnRfYWZ0ZXIEC2NvbW1pc3Npb25zCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQULZmVlUmVjZWl2ZXIDCQAAAgUHYXNzZXRJZAUKYXJ0QXNzZXRJZAUNYW1vdW50Rm9yU2lnbgkAZQIFEGFtb3VudF9hcnRfYWZ0ZXIFEWFtb3VudF9hcnRfYmVmb3JlBQphcnRBc3NldElkBAhvd25lckZlZQkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEFCXNhbGVPd25lcgUOYW1vdW50Rm9yT3duZXIFB2Fzc2V0SWQEDGNvbGxlY3Rvck5GVAkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEFBmNhbGxlcgABCQDZBAEFBW5mdGlkCQCVCgMFC2NvbW1pc3Npb25zBQhvd25lckZlZQUMY29sbGVjdG9yTkZUCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQ92YWxpZGF0ZU1pblNlbGwBBXByaWNlAwkAZgIAAAUFcHJpY2UJAAIBAhhXcm9uZyBtaW5pbXVtIHNlbGwgcHJpY2UGAQ9wcm92aWRlQmFzZURhdGECAWkFbmZ0SWQECyR0MDUxOTU1MjM1CQEMaWRDYWxsZXJEYXRlAQUBaQQCaWQIBQskdDA1MTk1NTIzNQJfMQQGY2FsbGVyCAULJHQwNTE5NTUyMzUCXzIEBGRhdGUIBQskdDA1MTk1NTIzNQJfMwQMYXNzZXREZXRhaWxzCQEFdmFsdWUBCQDsBwEJANkEAQUFbmZ0SWQECmlzVmFsaWRORlQJAQpORlRJc1ZhbGlkAQUMYXNzZXREZXRhaWxzCQCXCgUFAmlkBQZjYWxsZXIFBGRhdGUFCmlzVmFsaWRORlQIBQxhc3NldERldGFpbHMGaXNzdWVyAQ51cGRhdGVOdW1TYWxlcwAECG51bVNhbGVzCQEJZ2V0SW50QnlLAQUJbnVtU2FsZXNLCQEMSW50ZWdlckVudHJ5AgUJbnVtU2FsZXNLCQBkAgUIbnVtU2FsZXMAAQEHaGF2ZVNURAIGaXNzdWVyBm5kZnRJZAQIZGF0YV9jaWQJAQt2YWx1ZU9yRWxzZQIJAJ0IAgkBB0FkZHJlc3MBCQDZBAEFBmlzc3VlcgkArAICCQCsAgICCHN0ZF9uZnRfBQZuZGZ0SWQCBF9jaWQCAAQJZGF0YV9qc29uCQELdmFsdWVPckVsc2UCCQCdCAIJAQdBZGRyZXNzAQkA2QQBBQZpc3N1ZXIJAKwCAgkArAICAghzdGRfbmZ0XwUGbmRmdElkAgVfanNvbgIAAwkBAiE9AgUIZGF0YV9jaWQCAAYJAQIhPQIFCWRhdGFfanNvbgIACQZpbnZva2UBB3NldENvbmYCA2tleQN2YWwEBmNhbGxlcgkApQgBCAUGaW52b2tlBmNhbGxlcgMJAQ9jb250YWluc0VsZW1lbnQCCQDMCAIFBWNocmlzCQDMCAIJAKUIAQUEdGhpcwUDbmlsBQZjYWxsZXIDCQEIY29udGFpbnMCBQNrZXkCBWNvbmZfCQDMCAIJAQtTdHJpbmdFbnRyeQIFA2tleQUDdmFsBQNuaWwJAAIBAiBFbnRyaWVzIHN0YXJ0aW5nIHdpdGggY29uZl8gb25seQkAAgECIllvdSBhcmUgbm90IGFsbG93ZWQgdG8gY2hhbmdlIHRoaXMGaW52b2tlAQphcHBSdW5uaW5nAgZpc0xpdmUHbWVzc2FnZQQGY2FsbGVyCQClCAEIBQZpbnZva2UGY2FsbGVyBAJpZAkA2AQBCAUGaW52b2tlDXRyYW5zYWN0aW9uSWQDCQEPY29udGFpbnNFbGVtZW50AgkAzAgCBQVjaHJpcwkAzAgCCQClCAEFBHRoaXMFA25pbAUGY2FsbGVyCQDMCAIJAQxCb29sZWFuRW50cnkCBQ5kYXBwUnVubmluZ0tleQUGaXNMaXZlCQDMCAIJAQtTdHJpbmdFbnRyeQIFEW1haW50ZW5hbmNlTVNHS2V5BQdtZXNzYWdlBQNuaWwJAAIBAiJZb3UgYXJlIG5vdCBhbGxvd2VkIHRvIGNoYW5nZSB0aGlzAWkBB3NlbGxORlQCBXByaWNlBWFzc2V0BAskdDA2NzAwNjczNgkBCWlzUGF5bWVudAEFAWkEB3BheW1lbnQIBQskdDA2NzAwNjczNgJfMQQGYW1vdW50CAULJHQwNjcwMDY3MzYCXzIDCQECIT0CBQZhbW91bnQAAQkAAgECD05vIE5GVCBhdHRhY2hlZAQFbmZ0SWQDCQEJaXNEZWZpbmVkAQgFB3BheW1lbnQHYXNzZXRJZAkA2AQBCQEFdmFsdWUBCAUHcGF5bWVudAdhc3NldElkCQACAQITV2F2ZXMgaXMgbm90IGEgTkZULgQLJHQwNjkyMjY5OTIJAQ9wcm92aWRlQmFzZURhdGECBQFpBQVuZnRJZAQCaWQIBQskdDA2OTIyNjk5MgJfMQQGY2FsbGVyCAULJHQwNjkyMjY5OTICXzIEBGRhdGUIBQskdDA2OTIyNjk5MgJfMwQKaXNWYWxpZE5GVAgFCyR0MDY5MjI2OTkyAl80BAZpc3N1ZXIIBQskdDA2OTIyNjk5MgJfNQMJAQEhAQUKaXNWYWxpZE5GVAkAAgECD05vdCBhIHZhbGlkIG5mdAMJAAACBQZpc3N1ZXIFE3NpZ25BcnRBcnR3b3Jrc0RhcHAJAAIBAjdUaGlzIGRBcHAgaXMgb25seSBmb3IgTkZUIGlzc3VlZCBvdXRzaWRlIFNJR04gQXJ0IGRBcHAuAwkBASEBCQEHaGF2ZVNURAIJAKUIAQUGaXNzdWVyBQVuZnRJZAkAAgECJ05vIG5mdCBzdGFuZGFyZCBmb3VuZCBvbiBpc3N1ZXIgYWNjb3VudAQHYXNzZXRJZAMJAGYCCQCxAgEFBWFzc2V0AAAFBWFzc2V0AgVXQVZFUwMJAQEhAQkBEGFjY2VwdGVkQXNzZXRJZHMBBQdhc3NldElkCQACAQJAT25seSAkQVJULCBVU0RULVBQLCBVU0RDLVBQLCBFQVNULCBQVVpaTEUsIEVUSCBvciBXQVZFUyBhY2NlcHRlZAMJAQEhAQkBD3ZhbGlkYXRlTWluU2VsbAEFBXByaWNlCQACAQIYV3JvbmcgbWluaW11bSBzZWxsIHByaWNlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkBCmdldFNhbGVLZXkDBQZjYWxsZXIFBW5mdElkCQClCAEFBmlzc3VlcgIFX09QRU4JAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkApAMBBQRkYXRlAgFfCQCkAwEFBXByaWNlAgFfBQdhc3NldElkAgFfBQVuZnRJZAIBXwkApQgBBQZpc3N1ZXICAV8FAmlkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgICD3NhbGUybmRfc3RhdHVzXwUGY2FsbGVyAgFfBQVuZnRJZAIET1BFTgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgICFmN1cnJlbnRfb3duZXJfb25fZGFwcF8FBW5mdElkBQZjYWxsZXIFA25pbAFpAQ91cGRhdGVTYWxlUHJpY2UDBW5mdElkBXByaWNlBWFzc2V0BAskdDA3OTY4ODAzOAkBD3Byb3ZpZGVCYXNlRGF0YQIFAWkFBW5mdElkBAJpZAgFCyR0MDc5Njg4MDM4Al8xBAZjYWxsZXIIBQskdDA3OTY4ODAzOAJfMgQEZGF0ZQgFCyR0MDc5Njg4MDM4Al8zBAppc1ZhbGlkTkZUCAULJHQwNzk2ODgwMzgCXzQEBmlzc3VlcggFCyR0MDc5Njg4MDM4Al81AwkBASEBBQppc1ZhbGlkTkZUCQACAQIPTm90IGEgdmFsaWQgbmZ0BAlzYWxlT3duZXIJAQlnZXRTdHJCeUsBCQCsAgICFmN1cnJlbnRfb3duZXJfb25fZGFwcF8FBW5mdElkAwkBAiE9AgUJc2FsZU93bmVyBQZjYWxsZXIJAAIBAhZZb3UgZG9uJ3Qgb3duIHRoaXMgTkZUBApzYWxlU3RhdHVzCQEJZ2V0U3RyQnlLAQkArAICCQCsAgIJAKwCAgIPc2FsZTJuZF9zdGF0dXNfBQZjYWxsZXICAV8FBW5mdElkAwkBAiE9AgUKc2FsZVN0YXR1cwIET1BFTgkAAgECD1NhbGUgbm90IGFjdGl2ZQQHYXNzZXRJZAMJAGYCCQCxAgEFBWFzc2V0AAAFBWFzc2V0AgVXQVZFUwMJAQEhAQkBEGFjY2VwdGVkQXNzZXRJZHMBBQdhc3NldElkCQACAQJAT25seSAkQVJULCBVU0RULVBQLCBVU0RDLVBQLCBFQVNULCBQVVpaTEUsIEVUSCBvciBXQVZFUyBhY2NlcHRlZAMJAQEhAQkBD3ZhbGlkYXRlTWluU2VsbAEFBXByaWNlCQACAQIYV3JvbmcgbWluaW11bSBzZWxsIHByaWNlBAdzYWxlS2V5CQEKZ2V0U2FsZUtleQMFBmNhbGxlcgUFbmZ0SWQJAKUIAQUGaXNzdWVyBAhzYWxlSW5mbwkAtQkCCQEJZ2V0U3RyQnlLAQkArAICBQdzYWxlS2V5AgVfT1BFTgIBXwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFB3NhbGVLZXkCBV9PUEVOCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAJEDAgUIc2FsZUluZm8AAAIBXwkApAMBBQVwcmljZQIBXwUHYXNzZXRJZAIBXwkAkQMCBQhzYWxlSW5mbwADAgFfCQCRAwIFCHNhbGVJbmZvAAQCAV8JAJEDAgUIc2FsZUluZm8ABQUDbmlsAWkBCmNhbmNlbFNhbGUBBW5mdElkBAskdDA5MTU3OTM3NQkBD3Byb3ZpZGVCYXNlRGF0YQIFAWkFBW5mdElkBAJpZAgFCyR0MDkxNTc5Mzc1Al8xBAZjYWxsZXIIBQskdDA5MTU3OTM3NQJfMgQEZGF0ZQgFCyR0MDkxNTc5Mzc1Al8zBAppc1ZhbGlkTkZUCAULJHQwOTE1NzkzNzUCXzQEBmlzc3VlcggFCyR0MDkxNTc5Mzc1Al81BAlzYWxlT3duZXIJAQlnZXRTdHJCeUsBCQCsAgICFmN1cnJlbnRfb3duZXJfb25fZGFwcF8FBW5mdElkAwkBAiE9AgUJc2FsZU93bmVyBQZjYWxsZXIJAAIBAhZZb3UgZG9uJ3Qgb3duIHRoaXMgTkZUBApzYWxlU3RhdHVzCQEJZ2V0U3RyQnlLAQkArAICCQCsAgIJAKwCAgIPc2FsZTJuZF9zdGF0dXNfBQZjYWxsZXICAV8FBW5mdElkAwkBAiE9AgUKc2FsZVN0YXR1cwIET1BFTgkAAgECD1NhbGUgbm90IGFjdGl2ZQQHc2FsZUtleQkBCmdldFNhbGVLZXkDBQZjYWxsZXIFBW5mdElkCQClCAEFBmlzc3VlcgQIc2FsZUluZm8JAQlnZXRTdHJCeUsBCQCsAgIFB3NhbGVLZXkCBV9PUEVOCQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgUHc2FsZUtleQIFX09QRU4JAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICCQCsAgIJAKwCAgIPc2FsZTJuZF9zdGF0dXNfBQZjYWxsZXICAV8FBW5mdElkCQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgIWY3VycmVudF9vd25lcl9vbl9kYXBwXwUFbmZ0SWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgUHc2FsZUtleQIBXwUCaWQCCl9DQU5DRUxMRUQJAKwCAgkArAICCQCsAgIJAKwCAgUIc2FsZUluZm8CC19DQU5DRUxMRURfCQCkAwEFBGRhdGUCAV8FAmlkCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBBQZjYWxsZXIAAQkA2QQBBQVuZnRJZAUDbmlsAWkBBmJ1eU5GVAEFbmZ0SWQEDSR0MDEwMjA2MTAyNzYJAQ9wcm92aWRlQmFzZURhdGECBQFpBQVuZnRJZAQCaWQIBQ0kdDAxMDIwNjEwMjc2Al8xBAZjYWxsZXIIBQ0kdDAxMDIwNjEwMjc2Al8yBARkYXRlCAUNJHQwMTAyMDYxMDI3NgJfMwQKaXNWYWxpZE5GVAgFDSR0MDEwMjA2MTAyNzYCXzQEBmlzc3VlcggFDSR0MDEwMjA2MTAyNzYCXzUDCQEBIQEFCmlzVmFsaWRORlQJAAIBAg9Ob3QgYSB2YWxpZCBuZnQECXNhbGVPd25lcgkBFWdldFNhbGVPd25lckFuZFN0YXR1cwEFBW5mdElkBAdzYWxlS2V5CQEKZ2V0U2FsZUtleQMFCXNhbGVPd25lcgUFbmZ0SWQJAKUIAQUGaXNzdWVyBAhzYWxlSW5mbwkBCWdldFN0ckJ5SwEJAKwCAgUHc2FsZUtleQIFX09QRU4DCQAAAgkAsQIBBQhzYWxlSW5mbwAACQACAQIPU2FsZSBOb3QgZm91bmQhBA1zYWxlSW5mb0FycmF5CQC1CQIFCHNhbGVJbmZvAgFfAwkAAAIJALYJAQkAkQMCBQ1zYWxlSW5mb0FycmF5AAEAAAkAAgECCk9mZmVyIG9ubHkEDSR0MDEwNjc1MTA3MTEJAQlpc1BheW1lbnQBBQFpBAdwYXltZW50CAUNJHQwMTA2NzUxMDcxMQJfMQQGYW1vdW50CAUNJHQwMTA2NzUxMDcxMQJfMgQPcGF5bWVudEFzc2V0U3RyAwkBCWlzRGVmaW5lZAEIBQdwYXltZW50B2Fzc2V0SWQJANgEAQkBBXZhbHVlAQgFB3BheW1lbnQHYXNzZXRJZAIFV0FWRVMDAwkBAiE9AgkAkQMCBQ1zYWxlSW5mb0FycmF5AAEJAKQDAQUGYW1vdW50BgkBAiE9AgkAkQMCBQ1zYWxlSW5mb0FycmF5AAIFD3BheW1lbnRBc3NldFN0cgkAAgECGlBheW1lbnQgaW5mb3MgZG9uJ3QgbWF0Y2guBA0kdDAxMTIzMDExMzM3CQEMc2V0VHJhbnNmZXJzBQUGYW1vdW50CAUHcGF5bWVudAdhc3NldElkBQVuZnRJZAUJc2FsZU93bmVyBQZjYWxsZXIEC2NvbW1pc3Npb25zCAUNJHQwMTEyMzAxMTMzNwJfMQQIb3duZXJGZWUIBQ0kdDAxMTIzMDExMzM3Al8yBAxjb2xsZWN0b3JORlQIBQ0kdDAxMTIzMDExMzM3Al8zCQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgUHc2FsZUtleQIFX09QRU4JAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICCQCsAgIJAKwCAgIPc2FsZTJuZF9zdGF0dXNfBQlzYWxlT3duZXICAV8FBW5mdElkCQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgIWY3VycmVudF9vd25lcl9vbl9kYXBwXwUFbmZ0SWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgUHc2FsZUtleQIBXwUCaWQCB19DTE9TRUQJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIFCHNhbGVJbmZvAghfQ0xPU0VEXwkApAMBBQRkYXRlAgFfBQJpZAIBXwUGY2FsbGVyCQDMCAIJAQ51cGRhdGVOdW1TYWxlcwAJAMwIAgUIb3duZXJGZWUJAMwIAgUMY29sbGVjdG9yTkZUCQDMCAIFC2NvbW1pc3Npb25zBQNuaWwBaQEIc2V0T2ZmZXIBBW5mdElkBA0kdDAxMTczNjExODEwCQEPcHJvdmlkZUJhc2VEYXRhAgUBaQUFbmZ0SWQEAmlkCAUNJHQwMTE3MzYxMTgxMAJfMQQKb2ZmZXJPd25lcggFDSR0MDExNzM2MTE4MTACXzIEBGRhdGUIBQ0kdDAxMTczNjExODEwAl8zBAppc1ZhbGlkTkZUCAUNJHQwMTE3MzYxMTgxMAJfNAQGaXNzdWVyCAUNJHQwMTE3MzYxMTgxMAJfNQMJAQEhAQUKaXNWYWxpZE5GVAkAAgECD05vdCBhIHZhbGlkIG5mdAQNJHQwMTE4NzExMTkwNwkBCWlzUGF5bWVudAEFAWkEB3BheW1lbnQIBQ0kdDAxMTg3MTExOTA3Al8xBAZhbW91bnQIBQ0kdDAxMTg3MTExOTA3Al8yBAdhc3NldElkAwkBASEBCQEJaXNEZWZpbmVkAQgFB3BheW1lbnQHYXNzZXRJZAIFV0FWRVMJANgEAQkBBXZhbHVlAQgFB3BheW1lbnQHYXNzZXRJZAMJAQEhAQkBEGFjY2VwdGVkQXNzZXRJZHMBBQdhc3NldElkCQACAQISYXNzZXQgbm90IGFjY2VwdGVkAwkAAAIFBmFtb3VudAAACQACAQIWT2ZmZXIgb2YgMCBub3QgYWxsb3dlZAMJAQEhAQkBD3ZhbGlkYXRlTWluU2VsbAEFBmFtb3VudAkAAgECGFdyb25nIG1pbmltdW0gc2VsbCBwcmljZQQJc2FsZU93bmVyCQEVZ2V0U2FsZU93bmVyQW5kU3RhdHVzAQUFbmZ0SWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQEJZ2V0QmlkS2V5BAUKb2ZmZXJPd25lcgUFbmZ0SWQFCXNhbGVPd25lcgUCaWQCBV9PUEVOCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCkAwEFBGRhdGUCAV8JAKQDAQUGYW1vdW50AgFfBQdhc3NldElkAgFfBQVuZnRJZAIBXwkApQgBBQZpc3N1ZXICAV8FCm9mZmVyT3duZXICAV8FAmlkBQNuaWwBaQELYWNjZXB0T2ZmZXIDBW5mdElkB29mZmVySWQKb2ZmZXJPd25lcgQNJHQwMTI2OTYxMjc2NgkBD3Byb3ZpZGVCYXNlRGF0YQIFAWkFBW5mdElkBAJpZAgFDSR0MDEyNjk2MTI3NjYCXzEEBmNhbGxlcggFDSR0MDEyNjk2MTI3NjYCXzIEBGRhdGUIBQ0kdDAxMjY5NjEyNzY2Al8zBAppc1ZhbGlkTkZUCAUNJHQwMTI2OTYxMjc2NgJfNAQGaXNzdWVyCAUNJHQwMTI2OTYxMjc2NgJfNQMJAQEhAQUKaXNWYWxpZE5GVAkAAgECD05vdCBhIHZhbGlkIG5mdAQJc2FsZU93bmVyCQEVZ2V0U2FsZU93bmVyQW5kU3RhdHVzAQUFbmZ0SWQDCQECIT0CBQZjYWxsZXIFCXNhbGVPd25lcgkAAgECIE9ubHkgc2FsZSBvd25lciBjYW4gYWNjZXB0IG9mZmVyBAZiaWRLZXkJAQlnZXRCaWRLZXkEBQpvZmZlck93bmVyBQVuZnRJZAUJc2FsZU93bmVyBQdvZmZlcklkBA0kdDAxMzAyMDEzMDc1CQEKZ2V0QmlkRGF0YQEFBmJpZEtleQQKYmlkRGF0YUFycggFDSR0MDEzMDIwMTMwNzUCXzEEB2Fzc2V0SWQIBQ0kdDAxMzAyMDEzMDc1Al8yBAdiaWREYXRhCAUNJHQwMTMwMjAxMzA3NQJfMwQHc2FsZUtleQkBCmdldFNhbGVLZXkDBQlzYWxlT3duZXIFBW5mdElkCQClCAEFBmlzc3VlcgQIc2FsZUluZm8JAQlnZXRTdHJCeUsBCQCsAgIFB3NhbGVLZXkCBV9PUEVOAwkAAAIJALECAQUIc2FsZUluZm8AAAkAAgECD1NhbGUgTm90IGZvdW5kIQQGYW1vdW50CQEFdmFsdWUBCQC2CQEJAJEDAgUKYmlkRGF0YUFycgABBA0kdDAxMzMxMTEzNDE3CQEMc2V0VHJhbnNmZXJzBQUGYW1vdW50BQdhc3NldElkBQVuZnRJZAUJc2FsZU93bmVyCQCRAwIFCmJpZERhdGFBcnIABgQLY29tbWlzc2lvbnMIBQ0kdDAxMzMxMTEzNDE3Al8xBAhvd25lckZlZQgFDSR0MDEzMzExMTM0MTcCXzIEDGNvbGxlY3Rvck5GVAgFDSR0MDEzMzExMTM0MTcCXzMECmFzc2V0SWRTdHIDCQEJaXNEZWZpbmVkAQUHYXNzZXRJZAkA2AQBCQEFdmFsdWUBBQdhc3NldElkAgVXQVZFUwkAzAgCCQELRGVsZXRlRW50cnkBCQCsAgIFB3NhbGVLZXkCBV9PUEVOCQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgUGYmlkS2V5AgVfT1BFTgkAzAgCCQELRGVsZXRlRW50cnkBCQCsAgIJAKwCAgkArAICAg9zYWxlMm5kX3N0YXR1c18FCXNhbGVPd25lcgIBXwUFbmZ0SWQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICAhZjdXJyZW50X293bmVyX29uX2RhcHBfBQVuZnRJZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBmJpZEtleQIHX0NMT1NFRAkArAICCQCsAgIJAKwCAgkArAICBQdiaWREYXRhAghfQ0xPU0VEXwkApAMBBQRkYXRlAgFfBQJpZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICBQdzYWxlS2V5AgFfBQJpZAIHX0NMT1NFRAkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICBQhzYWxlSW5mbwIOX0NMT1NFRC1PRkZFUl8JAKQDAQUEZGF0ZQIBXwUCaWQCAV8FCm9mZmVyT3duZXICAV8JAKQDAQUGYW1vdW50AgFfBQphc3NldElkU3RyCQDMCAIJAQ51cGRhdGVOdW1TYWxlcwAJAMwIAgUIb3duZXJGZWUJAMwIAgUMY29sbGVjdG9yTkZUCQDMCAIFC2NvbW1pc3Npb25zBQNuaWwBaQELY2FuY2VsT2ZmZXIEBW5mdElkB29mZmVySWQKb2ZmZXJPd25lcglzYWxlT3duZXIEDSR0MDE0MjA1MTQyNzkJAQxpZENhbGxlckRhdGUBBQFpBAJpZAgFDSR0MDE0MjA1MTQyNzkCXzEEBmNhbGxlcggFDSR0MDE0MjA1MTQyNzkCXzIEBGRhdGUIBQ0kdDAxNDIwNTE0Mjc5Al8zAwMJAQIhPQIFBmNhbGxlcgUKb2ZmZXJPd25lcgkBAiE9AgUGY2FsbGVyBQlzYWxlT3duZXIHCQACAQIdWW91IGNhbm5vdCBjYW5jZWwgdGhpcyBvZmZlci4EBmJpZEtleQkBCWdldEJpZEtleQQFCm9mZmVyT3duZXIFBW5mdElkBQlzYWxlT3duZXIFB29mZmVySWQEDSR0MDE0NDUxMTQ1MDYJAQpnZXRCaWREYXRhAQUGYmlkS2V5BApiaWREYXRhQXJyCAUNJHQwMTQ0NTExNDUwNgJfMQQHYXNzZXRJZAgFDSR0MDE0NDUxMTQ1MDYCXzIEB2JpZERhdGEIBQ0kdDAxNDQ1MTE0NTA2Al8zCQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgUGYmlkS2V5AgVfT1BFTgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBmJpZEtleQIKX0NBTkNFTExFRAkArAICCQCsAgIJAKwCAgkArAICBQdiaWREYXRhAgtfQ0FOQ0VMTEVEXwkApAMBBQRkYXRlAgFfBQJpZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQUGY2FsbGVyCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUKYmlkRGF0YUFycgABBQdhc3NldElkBQNuaWwAUkN/eg==", "height": 2936643, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: H3DWjkznvZfxRAjQXMqJqiDDyUP2CdTAgARUBUnj2iXg Next: none Diff:
OldNewDifferences
241241 then throw("This dApp is only for NFT issued outside SIGN Art dApp.")
242242 else if (!(haveSTD(toString(issuer), nftId)))
243243 then throw("No nft standard found on issuer account")
244- else if (!(acceptedAssetIds(asset)))
245- then throw("Only $ART, USDT-PP, USDC-PP, EAST, PUZZLE, ETH or WAVES accepted")
246- else if (!(validateMinSell(price)))
247- then throw("Wrong minimum sell price")
248- else [StringEntry((getSaleKey(caller, nftId, toString(issuer)) + "_OPEN"), ((((((((((toString(date) + "_") + toString(price)) + "_") + asset) + "_") + nftId) + "_") + toString(issuer)) + "_") + id)), StringEntry(((("sale2nd_status_" + caller) + "_") + nftId), "OPEN"), StringEntry(("current_owner_on_dapp_" + nftId), caller)]
244+ else {
245+ let assetId = if ((size(asset) > 0))
246+ then asset
247+ else "WAVES"
248+ if (!(acceptedAssetIds(assetId)))
249+ then throw("Only $ART, USDT-PP, USDC-PP, EAST, PUZZLE, ETH or WAVES accepted")
250+ else if (!(validateMinSell(price)))
251+ then throw("Wrong minimum sell price")
252+ else [StringEntry((getSaleKey(caller, nftId, toString(issuer)) + "_OPEN"), ((((((((((toString(date) + "_") + toString(price)) + "_") + assetId) + "_") + nftId) + "_") + toString(issuer)) + "_") + id)), StringEntry(((("sale2nd_status_" + caller) + "_") + nftId), "OPEN"), StringEntry(("current_owner_on_dapp_" + nftId), caller)]
253+ }
249254 }
250255 }
251256
253258
254259 @Callable(i)
255260 func updateSalePrice (nftId,price,asset) = {
256- let $t079017971 = provideBaseData(i, nftId)
257- let id = $t079017971._1
258- let caller = $t079017971._2
259- let date = $t079017971._3
260- let isValidNFT = $t079017971._4
261- let issuer = $t079017971._5
261+ let $t079688038 = provideBaseData(i, nftId)
262+ let id = $t079688038._1
263+ let caller = $t079688038._2
264+ let date = $t079688038._3
265+ let isValidNFT = $t079688038._4
266+ let issuer = $t079688038._5
262267 if (!(isValidNFT))
263268 then throw("Not a valid nft")
264269 else {
269274 let saleStatus = getStrByK(((("sale2nd_status_" + caller) + "_") + nftId))
270275 if ((saleStatus != "OPEN"))
271276 then throw("Sale not active")
272- else if (!(acceptedAssetIds(asset)))
273- then throw("Only $ART, USDT-PP, USDC-PP, EAST, PUZZLE, ETH or WAVES accepted")
274- else if (!(validateMinSell(price)))
275- then throw("Wrong minimum sell price")
276- else {
277- let saleKey = getSaleKey(caller, nftId, toString(issuer))
278- let saleInfo = split(getStrByK((saleKey + "_OPEN")), "_")
279-[StringEntry((saleKey + "_OPEN"), ((((((((((saleInfo[0] + "_") + toString(price)) + "_") + asset) + "_") + saleInfo[3]) + "_") + saleInfo[4]) + "_") + saleInfo[5]))]
280- }
277+ else {
278+ let assetId = if ((size(asset) > 0))
279+ then asset
280+ else "WAVES"
281+ if (!(acceptedAssetIds(assetId)))
282+ then throw("Only $ART, USDT-PP, USDC-PP, EAST, PUZZLE, ETH or WAVES accepted")
283+ else if (!(validateMinSell(price)))
284+ then throw("Wrong minimum sell price")
285+ else {
286+ let saleKey = getSaleKey(caller, nftId, toString(issuer))
287+ let saleInfo = split(getStrByK((saleKey + "_OPEN")), "_")
288+[StringEntry((saleKey + "_OPEN"), ((((((((((saleInfo[0] + "_") + toString(price)) + "_") + assetId) + "_") + saleInfo[3]) + "_") + saleInfo[4]) + "_") + saleInfo[5]))]
289+ }
290+ }
281291 }
282292 }
283293 }
286296
287297 @Callable(i)
288298 func cancelSale (nftId) = {
289- let $t090239241 = provideBaseData(i, nftId)
290- let id = $t090239241._1
291- let caller = $t090239241._2
292- let date = $t090239241._3
293- let isValidNFT = $t090239241._4
294- let issuer = $t090239241._5
299+ let $t091579375 = provideBaseData(i, nftId)
300+ let id = $t091579375._1
301+ let caller = $t091579375._2
302+ let date = $t091579375._3
303+ let isValidNFT = $t091579375._4
304+ let issuer = $t091579375._5
295305 let saleOwner = getStrByK(("current_owner_on_dapp_" + nftId))
296306 if ((saleOwner != caller))
297307 then throw("You don't own this NFT")
311321
312322 @Callable(i)
313323 func buyNFT (nftId) = {
314- let $t01007210142 = provideBaseData(i, nftId)
315- let id = $t01007210142._1
316- let caller = $t01007210142._2
317- let date = $t01007210142._3
318- let isValidNFT = $t01007210142._4
319- let issuer = $t01007210142._5
324+ let $t01020610276 = provideBaseData(i, nftId)
325+ let id = $t01020610276._1
326+ let caller = $t01020610276._2
327+ let date = $t01020610276._3
328+ let isValidNFT = $t01020610276._4
329+ let issuer = $t01020610276._5
320330 if (!(isValidNFT))
321331 then throw("Not a valid nft")
322332 else {
330340 if ((parseInt(saleInfoArray[1]) == 0))
331341 then throw("Offer only")
332342 else {
333- let $t01054110577 = isPayment(i)
334- let payment = $t01054110577._1
335- let amount = $t01054110577._2
343+ let $t01067510711 = isPayment(i)
344+ let payment = $t01067510711._1
345+ let amount = $t01067510711._2
336346 let paymentAssetStr = if (isDefined(payment.assetId))
337347 then toBase58String(value(payment.assetId))
338- else ""
348+ else "WAVES"
339349 if (if ((saleInfoArray[1] != toString(amount)))
340350 then true
341351 else (saleInfoArray[2] != paymentAssetStr))
342352 then throw("Payment infos don't match.")
343353 else {
344- let $t01109111198 = setTransfers(amount, payment.assetId, nftId, saleOwner, caller)
345- let commissions = $t01109111198._1
346- let ownerFee = $t01109111198._2
347- let collectorNFT = $t01109111198._3
354+ let $t01123011337 = setTransfers(amount, payment.assetId, nftId, saleOwner, caller)
355+ let commissions = $t01123011337._1
356+ let ownerFee = $t01123011337._2
357+ let collectorNFT = $t01123011337._3
348358 [DeleteEntry((saleKey + "_OPEN")), DeleteEntry(((("sale2nd_status_" + saleOwner) + "_") + nftId)), DeleteEntry(("current_owner_on_dapp_" + nftId)), StringEntry((((saleKey + "_") + id) + "_CLOSED"), ((((((saleInfo + "_CLOSED_") + toString(date)) + "_") + id) + "_") + caller)), updateNumSales(), ownerFee, collectorNFT, commissions]
349359 }
350360 }
356366
357367 @Callable(i)
358368 func setOffer (nftId) = {
359- let $t01159711671 = provideBaseData(i, nftId)
360- let id = $t01159711671._1
361- let offerOwner = $t01159711671._2
362- let date = $t01159711671._3
363- let isValidNFT = $t01159711671._4
364- let issuer = $t01159711671._5
369+ let $t01173611810 = provideBaseData(i, nftId)
370+ let id = $t01173611810._1
371+ let offerOwner = $t01173611810._2
372+ let date = $t01173611810._3
373+ let isValidNFT = $t01173611810._4
374+ let issuer = $t01173611810._5
365375 if (!(isValidNFT))
366376 then throw("Not a valid nft")
367377 else {
368- let $t01173211768 = isPayment(i)
369- let payment = $t01173211768._1
370- let amount = $t01173211768._2
378+ let $t01187111907 = isPayment(i)
379+ let payment = $t01187111907._1
380+ let amount = $t01187111907._2
371381 let assetId = if (!(isDefined(payment.assetId)))
372382 then "WAVES"
373383 else toBase58String(value(payment.assetId))
388398
389399 @Callable(i)
390400 func acceptOffer (nftId,offerId,offerOwner) = {
391- let $t01255712627 = provideBaseData(i, nftId)
392- let id = $t01255712627._1
393- let caller = $t01255712627._2
394- let date = $t01255712627._3
395- let isValidNFT = $t01255712627._4
396- let issuer = $t01255712627._5
401+ let $t01269612766 = provideBaseData(i, nftId)
402+ let id = $t01269612766._1
403+ let caller = $t01269612766._2
404+ let date = $t01269612766._3
405+ let isValidNFT = $t01269612766._4
406+ let issuer = $t01269612766._5
397407 if (!(isValidNFT))
398408 then throw("Not a valid nft")
399409 else {
402412 then throw("Only sale owner can accept offer")
403413 else {
404414 let bidKey = getBidKey(offerOwner, nftId, saleOwner, offerId)
405- let $t01288112936 = getBidData(bidKey)
406- let bidDataArr = $t01288112936._1
407- let assetId = $t01288112936._2
408- let bidData = $t01288112936._3
415+ let $t01302013075 = getBidData(bidKey)
416+ let bidDataArr = $t01302013075._1
417+ let assetId = $t01302013075._2
418+ let bidData = $t01302013075._3
409419 let saleKey = getSaleKey(saleOwner, nftId, toString(issuer))
410420 let saleInfo = getStrByK((saleKey + "_OPEN"))
411421 if ((size(saleInfo) == 0))
412422 then throw("Sale Not found!")
413423 else {
414424 let amount = value(parseInt(bidDataArr[1]))
415- let $t01317213278 = setTransfers(amount, assetId, nftId, saleOwner, bidDataArr[6])
416- let commissions = $t01317213278._1
417- let ownerFee = $t01317213278._2
418- let collectorNFT = $t01317213278._3
425+ let $t01331113417 = setTransfers(amount, assetId, nftId, saleOwner, bidDataArr[6])
426+ let commissions = $t01331113417._1
427+ let ownerFee = $t01331113417._2
428+ let collectorNFT = $t01331113417._3
419429 let assetIdStr = if (isDefined(assetId))
420430 then toBase58String(value(assetId))
421431 else "WAVES"
429439
430440 @Callable(i)
431441 func cancelOffer (nftId,offerId,offerOwner,saleOwner) = {
432- let $t01406614140 = idCallerDate(i)
433- let id = $t01406614140._1
434- let caller = $t01406614140._2
435- let date = $t01406614140._3
442+ let $t01420514279 = idCallerDate(i)
443+ let id = $t01420514279._1
444+ let caller = $t01420514279._2
445+ let date = $t01420514279._3
436446 if (if ((caller != offerOwner))
437447 then (caller != saleOwner)
438448 else false)
439449 then throw("You cannot cancel this offer.")
440450 else {
441451 let bidKey = getBidKey(offerOwner, nftId, saleOwner, offerId)
442- let $t01431214367 = getBidData(bidKey)
443- let bidDataArr = $t01431214367._1
444- let assetId = $t01431214367._2
445- let bidData = $t01431214367._3
452+ let $t01445114506 = getBidData(bidKey)
453+ let bidDataArr = $t01445114506._1
454+ let assetId = $t01445114506._2
455+ let bidData = $t01445114506._3
446456 [DeleteEntry((bidKey + "_OPEN")), StringEntry((bidKey + "_CANCELLED"), ((((bidData + "_CANCELLED_") + toString(date)) + "_") + id)), ScriptTransfer(Address(fromBase58String(caller)), parseIntValue(bidDataArr[1]), assetId)]
447457 }
448458 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let VERSION = "1.0.0"
55
66 func getStrByK (key) = valueOrElse(getString(this, key), "")
77
88
99 let oracleFee = value(addressFromString(getStrByK("conf_oracle_fee")))
1010
1111 let feeReceiver = getStrByK("conf_fee_receiver")
1212
1313 let puzzle_art_pool = getStrByK("conf_puzzle_art_pool")
1414
1515 let signArtArtworksDapp = value(addressFromString(getStrByK("conf_artworks_dapp")))
1616
1717 let usdtPPAssetId_str = getStrByK("conf_accepted_asset_USDT_PP")
1818
1919 let artAssetId_str = getStrByK("conf_accepted_asset_ART")
2020
2121 let usdcPPAssetId_str = getStrByK("conf_accepted_asset_USDC_PP")
2222
2323 let eastAssetId_str = getStrByK("conf_accepted_asset_EAST")
2424
2525 let puzzleAssetId_str = getStrByK("conf_accepted_asset_PUZZLE")
2626
2727 let ethPPAssetId_str = getStrByK("conf_accepted_asset_ETH_PP")
2828
2929 let wavesAssetId_str = "WAVES"
3030
3131 let usdtPPAssetId = fromBase58String(usdtPPAssetId_str)
3232
3333 let artAssetId = fromBase58String(artAssetId_str)
3434
3535 let usdcPPAssetId = fromBase58String(usdcPPAssetId_str)
3636
3737 let eastAssetId = fromBase58String(eastAssetId_str)
3838
3939 let puzzleAssetId = fromBase58String(puzzleAssetId_str)
4040
4141 let ethPPAssetId = fromBase58String(ethPPAssetId_str)
4242
4343 let wavesAssetId = base58''
4444
4545 let all_accepted_assets = [usdtPPAssetId_str, artAssetId_str, usdcPPAssetId_str, eastAssetId_str, puzzleAssetId_str, wavesAssetId_str, ethPPAssetId_str]
4646
4747 let chris = getStrByK("conf_admin_1")
4848
4949 let commission_fee = 3
5050
5151 let dappRunningKey = "conf_dapp_is_running"
5252
5353 let maintenanceMSGKey = "conf_maintenance_msg"
5454
5555 let dappRunning = valueOrElse(getBoolean(this, dappRunningKey), true)
5656
5757 let maintenanceMSG = valueOrElse(getString(this, maintenanceMSGKey), "")
5858
5959 let numSalesK = "num_sales"
6060
6161 func getIntByK (key) = valueOrElse(getInteger(this, key), 0)
6262
6363
6464 func getSaleKey (caller,nftId,issuer) = ((((("sale2nd_info_" + caller) + "_") + nftId) + "_") + issuer)
6565
6666
6767 func getBidKey (offerOwner,nftId,saleOwner,offerId) = ((((((("offer2nd_" + offerOwner) + "_") + nftId) + "_") + saleOwner) + "_") + offerId)
6868
6969
7070 func getIntByKFromOracle (key) = valueOrErrorMessage(getInteger(oracleFee, key), "Integer undefine or 0 in oracle")
7171
7272
7373 func idCallerDate (i) = if (!(dappRunning))
7474 then throw(maintenanceMSG)
7575 else $Tuple3(toBase58String(i.transactionId), toBase58String(i.caller.bytes), lastBlock.timestamp)
7676
7777
7878 func isPayment (i) = if ((size(i.payments) == 0))
7979 then throw("No payment attached")
8080 else {
8181 let payment = value(i.payments[0])
8282 let amount = value(payment.amount)
8383 $Tuple2(payment, amount)
8484 }
8585
8686
8787 func NFTIsValid (assetDetails) = if (if ((assetDetails.quantity == 1))
8888 then (assetDetails.decimals == 0)
8989 else false)
9090 then (assetDetails.reissuable == false)
9191 else false
9292
9393
9494 func acceptedAssetIds (assetId) = if (!(containsElement(all_accepted_assets, assetId)))
9595 then throw("Only $ART, USDT-PP, USDC-PP, EAST, PUZZLE, ETH or WAVES accepted")
9696 else true
9797
9898
9999 func getBidAssetId (assetId) = if ((assetId == "WAVES"))
100100 then unit
101101 else fromBase58String(assetId)
102102
103103
104104 func getSaleOwnerAndStatus (nftid) = {
105105 let saleOwner = getStrByK(("current_owner_on_dapp_" + nftid))
106106 if ((size(saleOwner) == 0))
107107 then throw("NFT not found")
108108 else {
109109 let saleStatus = getStrByK(((("sale2nd_status_" + saleOwner) + "_") + nftid))
110110 if ((saleStatus != "OPEN"))
111111 then throw("NFT not for sale")
112112 else saleOwner
113113 }
114114 }
115115
116116
117117 func getBidData (key) = {
118118 let bidData = getStrByK((key + "_OPEN"))
119119 if ((bidData == ""))
120120 then throw("Offer not found")
121121 else {
122122 let bidDataArr = split(bidData, "_")
123123 let assetId = getBidAssetId(bidDataArr[2])
124124 $Tuple3(bidDataArr, assetId, bidData)
125125 }
126126 }
127127
128128
129129 func getBalance (assetId) = match assetId {
130130 case b: ByteVector =>
131131 assetBalance(this, b)
132132 case _ =>
133133 wavesBalance(this).available
134134 }
135135
136136
137137 func setTransfers (amount,assetId,nftid,saleOwner,caller) = {
138138 let amountForSign = fraction(amount, commission_fee, 100)
139139 let amountForOwner = (amount - amountForSign)
140140 let amount_commission_for_sign_to_swap = amountForSign
141141 let amount_art_before = getBalance(artAssetId)
142142 if ((amount_art_before == amount_art_before))
143143 then {
144144 let swap_fee_to_art = if ((assetId != artAssetId))
145145 then invoke(Address(fromBase58String(puzzle_art_pool)), "swap", [artAssetId_str, 1], [AttachedPayment(assetId, amount_commission_for_sign_to_swap)])
146146 else unit
147147 if ((swap_fee_to_art == swap_fee_to_art))
148148 then {
149149 let amount_art_after = getBalance(artAssetId)
150150 if ((amount_art_after == amount_art_after))
151151 then {
152152 let commissions = ScriptTransfer(Address(fromBase58String(feeReceiver)), if ((assetId == artAssetId))
153153 then amountForSign
154154 else (amount_art_after - amount_art_before), artAssetId)
155155 let ownerFee = ScriptTransfer(Address(fromBase58String(saleOwner)), amountForOwner, assetId)
156156 let collectorNFT = ScriptTransfer(Address(fromBase58String(caller)), 1, fromBase58String(nftid))
157157 $Tuple3(commissions, ownerFee, collectorNFT)
158158 }
159159 else throw("Strict value is not equal to itself.")
160160 }
161161 else throw("Strict value is not equal to itself.")
162162 }
163163 else throw("Strict value is not equal to itself.")
164164 }
165165
166166
167167 func validateMinSell (price) = if ((0 > price))
168168 then throw("Wrong minimum sell price")
169169 else true
170170
171171
172172 func provideBaseData (i,nftId) = {
173173 let $t051955235 = idCallerDate(i)
174174 let id = $t051955235._1
175175 let caller = $t051955235._2
176176 let date = $t051955235._3
177177 let assetDetails = value(assetInfo(fromBase58String(nftId)))
178178 let isValidNFT = NFTIsValid(assetDetails)
179179 $Tuple5(id, caller, date, isValidNFT, assetDetails.issuer)
180180 }
181181
182182
183183 func updateNumSales () = {
184184 let numSales = getIntByK(numSalesK)
185185 IntegerEntry(numSalesK, (numSales + 1))
186186 }
187187
188188
189189 func haveSTD (issuer,ndftId) = {
190190 let data_cid = valueOrElse(getString(Address(fromBase58String(issuer)), (("std_nft_" + ndftId) + "_cid")), "")
191191 let data_json = valueOrElse(getString(Address(fromBase58String(issuer)), (("std_nft_" + ndftId) + "_json")), "")
192192 if ((data_cid != ""))
193193 then true
194194 else (data_json != "")
195195 }
196196
197197
198198 @Callable(invoke)
199199 func setConf (key,val) = {
200200 let caller = toString(invoke.caller)
201201 if (containsElement([chris, toString(this)], caller))
202202 then if (contains(key, "conf_"))
203203 then [StringEntry(key, val)]
204204 else throw("Entries starting with conf_ only")
205205 else throw("You are not allowed to change this")
206206 }
207207
208208
209209
210210 @Callable(invoke)
211211 func appRunning (isLive,message) = {
212212 let caller = toString(invoke.caller)
213213 let id = toBase58String(invoke.transactionId)
214214 if (containsElement([chris, toString(this)], caller))
215215 then [BooleanEntry(dappRunningKey, isLive), StringEntry(maintenanceMSGKey, message)]
216216 else throw("You are not allowed to change this")
217217 }
218218
219219
220220
221221 @Callable(i)
222222 func sellNFT (price,asset) = {
223223 let $t067006736 = isPayment(i)
224224 let payment = $t067006736._1
225225 let amount = $t067006736._2
226226 if ((amount != 1))
227227 then throw("No NFT attached")
228228 else {
229229 let nftId = if (isDefined(payment.assetId))
230230 then toBase58String(value(payment.assetId))
231231 else throw("Waves is not a NFT.")
232232 let $t069226992 = provideBaseData(i, nftId)
233233 let id = $t069226992._1
234234 let caller = $t069226992._2
235235 let date = $t069226992._3
236236 let isValidNFT = $t069226992._4
237237 let issuer = $t069226992._5
238238 if (!(isValidNFT))
239239 then throw("Not a valid nft")
240240 else if ((issuer == signArtArtworksDapp))
241241 then throw("This dApp is only for NFT issued outside SIGN Art dApp.")
242242 else if (!(haveSTD(toString(issuer), nftId)))
243243 then throw("No nft standard found on issuer account")
244- else if (!(acceptedAssetIds(asset)))
245- then throw("Only $ART, USDT-PP, USDC-PP, EAST, PUZZLE, ETH or WAVES accepted")
246- else if (!(validateMinSell(price)))
247- then throw("Wrong minimum sell price")
248- else [StringEntry((getSaleKey(caller, nftId, toString(issuer)) + "_OPEN"), ((((((((((toString(date) + "_") + toString(price)) + "_") + asset) + "_") + nftId) + "_") + toString(issuer)) + "_") + id)), StringEntry(((("sale2nd_status_" + caller) + "_") + nftId), "OPEN"), StringEntry(("current_owner_on_dapp_" + nftId), caller)]
244+ else {
245+ let assetId = if ((size(asset) > 0))
246+ then asset
247+ else "WAVES"
248+ if (!(acceptedAssetIds(assetId)))
249+ then throw("Only $ART, USDT-PP, USDC-PP, EAST, PUZZLE, ETH or WAVES accepted")
250+ else if (!(validateMinSell(price)))
251+ then throw("Wrong minimum sell price")
252+ else [StringEntry((getSaleKey(caller, nftId, toString(issuer)) + "_OPEN"), ((((((((((toString(date) + "_") + toString(price)) + "_") + assetId) + "_") + nftId) + "_") + toString(issuer)) + "_") + id)), StringEntry(((("sale2nd_status_" + caller) + "_") + nftId), "OPEN"), StringEntry(("current_owner_on_dapp_" + nftId), caller)]
253+ }
249254 }
250255 }
251256
252257
253258
254259 @Callable(i)
255260 func updateSalePrice (nftId,price,asset) = {
256- let $t079017971 = provideBaseData(i, nftId)
257- let id = $t079017971._1
258- let caller = $t079017971._2
259- let date = $t079017971._3
260- let isValidNFT = $t079017971._4
261- let issuer = $t079017971._5
261+ let $t079688038 = provideBaseData(i, nftId)
262+ let id = $t079688038._1
263+ let caller = $t079688038._2
264+ let date = $t079688038._3
265+ let isValidNFT = $t079688038._4
266+ let issuer = $t079688038._5
262267 if (!(isValidNFT))
263268 then throw("Not a valid nft")
264269 else {
265270 let saleOwner = getStrByK(("current_owner_on_dapp_" + nftId))
266271 if ((saleOwner != caller))
267272 then throw("You don't own this NFT")
268273 else {
269274 let saleStatus = getStrByK(((("sale2nd_status_" + caller) + "_") + nftId))
270275 if ((saleStatus != "OPEN"))
271276 then throw("Sale not active")
272- else if (!(acceptedAssetIds(asset)))
273- then throw("Only $ART, USDT-PP, USDC-PP, EAST, PUZZLE, ETH or WAVES accepted")
274- else if (!(validateMinSell(price)))
275- then throw("Wrong minimum sell price")
276- else {
277- let saleKey = getSaleKey(caller, nftId, toString(issuer))
278- let saleInfo = split(getStrByK((saleKey + "_OPEN")), "_")
279-[StringEntry((saleKey + "_OPEN"), ((((((((((saleInfo[0] + "_") + toString(price)) + "_") + asset) + "_") + saleInfo[3]) + "_") + saleInfo[4]) + "_") + saleInfo[5]))]
280- }
277+ else {
278+ let assetId = if ((size(asset) > 0))
279+ then asset
280+ else "WAVES"
281+ if (!(acceptedAssetIds(assetId)))
282+ then throw("Only $ART, USDT-PP, USDC-PP, EAST, PUZZLE, ETH or WAVES accepted")
283+ else if (!(validateMinSell(price)))
284+ then throw("Wrong minimum sell price")
285+ else {
286+ let saleKey = getSaleKey(caller, nftId, toString(issuer))
287+ let saleInfo = split(getStrByK((saleKey + "_OPEN")), "_")
288+[StringEntry((saleKey + "_OPEN"), ((((((((((saleInfo[0] + "_") + toString(price)) + "_") + assetId) + "_") + saleInfo[3]) + "_") + saleInfo[4]) + "_") + saleInfo[5]))]
289+ }
290+ }
281291 }
282292 }
283293 }
284294
285295
286296
287297 @Callable(i)
288298 func cancelSale (nftId) = {
289- let $t090239241 = provideBaseData(i, nftId)
290- let id = $t090239241._1
291- let caller = $t090239241._2
292- let date = $t090239241._3
293- let isValidNFT = $t090239241._4
294- let issuer = $t090239241._5
299+ let $t091579375 = provideBaseData(i, nftId)
300+ let id = $t091579375._1
301+ let caller = $t091579375._2
302+ let date = $t091579375._3
303+ let isValidNFT = $t091579375._4
304+ let issuer = $t091579375._5
295305 let saleOwner = getStrByK(("current_owner_on_dapp_" + nftId))
296306 if ((saleOwner != caller))
297307 then throw("You don't own this NFT")
298308 else {
299309 let saleStatus = getStrByK(((("sale2nd_status_" + caller) + "_") + nftId))
300310 if ((saleStatus != "OPEN"))
301311 then throw("Sale not active")
302312 else {
303313 let saleKey = getSaleKey(caller, nftId, toString(issuer))
304314 let saleInfo = getStrByK((saleKey + "_OPEN"))
305315 [DeleteEntry((saleKey + "_OPEN")), DeleteEntry(((("sale2nd_status_" + caller) + "_") + nftId)), DeleteEntry(("current_owner_on_dapp_" + nftId)), StringEntry((((saleKey + "_") + id) + "_CANCELLED"), ((((saleInfo + "_CANCELLED_") + toString(date)) + "_") + id)), ScriptTransfer(Address(fromBase58String(caller)), 1, fromBase58String(nftId))]
306316 }
307317 }
308318 }
309319
310320
311321
312322 @Callable(i)
313323 func buyNFT (nftId) = {
314- let $t01007210142 = provideBaseData(i, nftId)
315- let id = $t01007210142._1
316- let caller = $t01007210142._2
317- let date = $t01007210142._3
318- let isValidNFT = $t01007210142._4
319- let issuer = $t01007210142._5
324+ let $t01020610276 = provideBaseData(i, nftId)
325+ let id = $t01020610276._1
326+ let caller = $t01020610276._2
327+ let date = $t01020610276._3
328+ let isValidNFT = $t01020610276._4
329+ let issuer = $t01020610276._5
320330 if (!(isValidNFT))
321331 then throw("Not a valid nft")
322332 else {
323333 let saleOwner = getSaleOwnerAndStatus(nftId)
324334 let saleKey = getSaleKey(saleOwner, nftId, toString(issuer))
325335 let saleInfo = getStrByK((saleKey + "_OPEN"))
326336 if ((size(saleInfo) == 0))
327337 then throw("Sale Not found!")
328338 else {
329339 let saleInfoArray = split(saleInfo, "_")
330340 if ((parseInt(saleInfoArray[1]) == 0))
331341 then throw("Offer only")
332342 else {
333- let $t01054110577 = isPayment(i)
334- let payment = $t01054110577._1
335- let amount = $t01054110577._2
343+ let $t01067510711 = isPayment(i)
344+ let payment = $t01067510711._1
345+ let amount = $t01067510711._2
336346 let paymentAssetStr = if (isDefined(payment.assetId))
337347 then toBase58String(value(payment.assetId))
338- else ""
348+ else "WAVES"
339349 if (if ((saleInfoArray[1] != toString(amount)))
340350 then true
341351 else (saleInfoArray[2] != paymentAssetStr))
342352 then throw("Payment infos don't match.")
343353 else {
344- let $t01109111198 = setTransfers(amount, payment.assetId, nftId, saleOwner, caller)
345- let commissions = $t01109111198._1
346- let ownerFee = $t01109111198._2
347- let collectorNFT = $t01109111198._3
354+ let $t01123011337 = setTransfers(amount, payment.assetId, nftId, saleOwner, caller)
355+ let commissions = $t01123011337._1
356+ let ownerFee = $t01123011337._2
357+ let collectorNFT = $t01123011337._3
348358 [DeleteEntry((saleKey + "_OPEN")), DeleteEntry(((("sale2nd_status_" + saleOwner) + "_") + nftId)), DeleteEntry(("current_owner_on_dapp_" + nftId)), StringEntry((((saleKey + "_") + id) + "_CLOSED"), ((((((saleInfo + "_CLOSED_") + toString(date)) + "_") + id) + "_") + caller)), updateNumSales(), ownerFee, collectorNFT, commissions]
349359 }
350360 }
351361 }
352362 }
353363 }
354364
355365
356366
357367 @Callable(i)
358368 func setOffer (nftId) = {
359- let $t01159711671 = provideBaseData(i, nftId)
360- let id = $t01159711671._1
361- let offerOwner = $t01159711671._2
362- let date = $t01159711671._3
363- let isValidNFT = $t01159711671._4
364- let issuer = $t01159711671._5
369+ let $t01173611810 = provideBaseData(i, nftId)
370+ let id = $t01173611810._1
371+ let offerOwner = $t01173611810._2
372+ let date = $t01173611810._3
373+ let isValidNFT = $t01173611810._4
374+ let issuer = $t01173611810._5
365375 if (!(isValidNFT))
366376 then throw("Not a valid nft")
367377 else {
368- let $t01173211768 = isPayment(i)
369- let payment = $t01173211768._1
370- let amount = $t01173211768._2
378+ let $t01187111907 = isPayment(i)
379+ let payment = $t01187111907._1
380+ let amount = $t01187111907._2
371381 let assetId = if (!(isDefined(payment.assetId)))
372382 then "WAVES"
373383 else toBase58String(value(payment.assetId))
374384 if (!(acceptedAssetIds(assetId)))
375385 then throw("asset not accepted")
376386 else if ((amount == 0))
377387 then throw("Offer of 0 not allowed")
378388 else if (!(validateMinSell(amount)))
379389 then throw("Wrong minimum sell price")
380390 else {
381391 let saleOwner = getSaleOwnerAndStatus(nftId)
382392 [StringEntry((getBidKey(offerOwner, nftId, saleOwner, id) + "_OPEN"), ((((((((((((toString(date) + "_") + toString(amount)) + "_") + assetId) + "_") + nftId) + "_") + toString(issuer)) + "_") + offerOwner) + "_") + id))]
383393 }
384394 }
385395 }
386396
387397
388398
389399 @Callable(i)
390400 func acceptOffer (nftId,offerId,offerOwner) = {
391- let $t01255712627 = provideBaseData(i, nftId)
392- let id = $t01255712627._1
393- let caller = $t01255712627._2
394- let date = $t01255712627._3
395- let isValidNFT = $t01255712627._4
396- let issuer = $t01255712627._5
401+ let $t01269612766 = provideBaseData(i, nftId)
402+ let id = $t01269612766._1
403+ let caller = $t01269612766._2
404+ let date = $t01269612766._3
405+ let isValidNFT = $t01269612766._4
406+ let issuer = $t01269612766._5
397407 if (!(isValidNFT))
398408 then throw("Not a valid nft")
399409 else {
400410 let saleOwner = getSaleOwnerAndStatus(nftId)
401411 if ((caller != saleOwner))
402412 then throw("Only sale owner can accept offer")
403413 else {
404414 let bidKey = getBidKey(offerOwner, nftId, saleOwner, offerId)
405- let $t01288112936 = getBidData(bidKey)
406- let bidDataArr = $t01288112936._1
407- let assetId = $t01288112936._2
408- let bidData = $t01288112936._3
415+ let $t01302013075 = getBidData(bidKey)
416+ let bidDataArr = $t01302013075._1
417+ let assetId = $t01302013075._2
418+ let bidData = $t01302013075._3
409419 let saleKey = getSaleKey(saleOwner, nftId, toString(issuer))
410420 let saleInfo = getStrByK((saleKey + "_OPEN"))
411421 if ((size(saleInfo) == 0))
412422 then throw("Sale Not found!")
413423 else {
414424 let amount = value(parseInt(bidDataArr[1]))
415- let $t01317213278 = setTransfers(amount, assetId, nftId, saleOwner, bidDataArr[6])
416- let commissions = $t01317213278._1
417- let ownerFee = $t01317213278._2
418- let collectorNFT = $t01317213278._3
425+ let $t01331113417 = setTransfers(amount, assetId, nftId, saleOwner, bidDataArr[6])
426+ let commissions = $t01331113417._1
427+ let ownerFee = $t01331113417._2
428+ let collectorNFT = $t01331113417._3
419429 let assetIdStr = if (isDefined(assetId))
420430 then toBase58String(value(assetId))
421431 else "WAVES"
422432 [DeleteEntry((saleKey + "_OPEN")), DeleteEntry((bidKey + "_OPEN")), DeleteEntry(((("sale2nd_status_" + saleOwner) + "_") + nftId)), DeleteEntry(("current_owner_on_dapp_" + nftId)), StringEntry((bidKey + "_CLOSED"), ((((bidData + "_CLOSED_") + toString(date)) + "_") + id)), StringEntry((((saleKey + "_") + id) + "_CLOSED"), ((((((((((saleInfo + "_CLOSED-OFFER_") + toString(date)) + "_") + id) + "_") + offerOwner) + "_") + toString(amount)) + "_") + assetIdStr)), updateNumSales(), ownerFee, collectorNFT, commissions]
423433 }
424434 }
425435 }
426436 }
427437
428438
429439
430440 @Callable(i)
431441 func cancelOffer (nftId,offerId,offerOwner,saleOwner) = {
432- let $t01406614140 = idCallerDate(i)
433- let id = $t01406614140._1
434- let caller = $t01406614140._2
435- let date = $t01406614140._3
442+ let $t01420514279 = idCallerDate(i)
443+ let id = $t01420514279._1
444+ let caller = $t01420514279._2
445+ let date = $t01420514279._3
436446 if (if ((caller != offerOwner))
437447 then (caller != saleOwner)
438448 else false)
439449 then throw("You cannot cancel this offer.")
440450 else {
441451 let bidKey = getBidKey(offerOwner, nftId, saleOwner, offerId)
442- let $t01431214367 = getBidData(bidKey)
443- let bidDataArr = $t01431214367._1
444- let assetId = $t01431214367._2
445- let bidData = $t01431214367._3
452+ let $t01445114506 = getBidData(bidKey)
453+ let bidDataArr = $t01445114506._1
454+ let assetId = $t01445114506._2
455+ let bidData = $t01445114506._3
446456 [DeleteEntry((bidKey + "_OPEN")), StringEntry((bidKey + "_CANCELLED"), ((((bidData + "_CANCELLED_") + toString(date)) + "_") + id)), ScriptTransfer(Address(fromBase58String(caller)), parseIntValue(bidDataArr[1]), assetId)]
447457 }
448458 }
449459
450460

github/deemru/w8io/3ef1775 
98.85 ms