tx · C9f4Ed4UEj4hr2tRjbsizvTPFP1YHeGAWgouW8RJygCh

3N8jKcYWjJn5GjrJV94rxzVk42TPk1rPLeu:  -0.01000000 Waves

2022.04.13 17:57 [2006951] smart account 3N8jKcYWjJn5GjrJV94rxzVk42TPk1rPLeu > SELF 0.00000000 Waves

{ "type": 13, "id": "C9f4Ed4UEj4hr2tRjbsizvTPFP1YHeGAWgouW8RJygCh", "fee": 1000000, "feeAssetId": null, "timestamp": 1649861875611, "version": 2, "chainId": 84, "sender": "3N8jKcYWjJn5GjrJV94rxzVk42TPk1rPLeu", "senderPublicKey": "914UmzBhcoS4onGGVcBRgb4VPV88m9VCFjsj5WWck5vm", "proofs": [ "3vaiyhkmQSme6e1eqnrUTwxGRStg1m8NCd71K54gV8AuBV3VToRe3wvSMgJQ27pXaJ1D3f86eDJ1mwnMSyPmmB4P" ], "script": "base64:AAIFAAAAAAAAAFgIAhIDCgEIEgMKAQgSBQoDAQgIEgwKCggICAgICAgICAgSDgoMCAEBCAgBCAgIAQEBEgQKAggIEgUKAwgICBIDCgEIEgQKAggIEgYKBAgICAgSBQoDCAgIAAAAUwAAAAAIdW5pdFRlc3QHAAAAAAlvcmFjbGVLZXkCAAAACW9yYWNsZUtleQEAAAAGZ2V0U3RyAAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWIFAAAAByRtYXRjaDAFAAAAAWICAAAAAAAAAAAGb3JhY2xlCQEAAAAGZ2V0U3RyAAAAAQUAAAAJb3JhY2xlS2V5AAAAAAlvcmFjbGVGZWUJAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQUAAAAGb3JhY2xlAAAAAAZvd25lcnMJAARMAAAAAgkABB0AAAACBQAAAAlvcmFjbGVGZWUCAAAABm93bmVyMQkABEwAAAACCQAEHQAAAAIFAAAACW9yYWNsZUZlZQIAAAAGb3duZXIyBQAAAANuaWwAAAAAD2NvbGxlY3Rpb25zRGFwcAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAACW9yYWNsZUZlZQIAAAAPY29sbGVjdGlvbnNEYXBwAgAAABhjb2xsZWN0aW9uRGFwcCBub3QgZm91bmQAAAAAC2ZlZVJlY2VpdmVyCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAJb3JhY2xlRmVlAgAAAAtmZWVSZWNlaXZlcgIAAAAVZmVlUmVjZWl2ZXIgbm90IGZvdW5kAAAAAAhjZXJ0RGFwcAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAACW9yYWNsZUZlZQIAAAAIY2VydERhcHACAAAAEmNlcnREYXBwIG5vdCBmb3VuZAAAAAAHZmVlRGFwcAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAACW9yYWNsZUZlZQIAAAAHZmVlRGFwcAIAAAARZmVlRGFwcCBub3QgZm91bmQAAAAACHVzZXJEYXBwCQEAAAAFdmFsdWUAAAABCQAEJgAAAAEJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAlvcmFjbGVGZWUCAAAACHVzZXJEYXBwAgAAABJ1c2VyZGFwcCBub3QgZm91bmQAAAAAC1VTRE5Bc3NldElkCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAACW9yYWNsZUZlZQIAAAALVVNETkFzc2V0SWQAAAAADVNjb25leEFzc2V0SWQJAAJZAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAJb3JhY2xlRmVlAgAAAA1TY29uZXhBc3NldElkAAAAAAV0eXBlcwkABEwAAAACAgAAAAVJTUFHRQkABEwAAAACAgAAAANQREYJAARMAAAAAgIAAAAFVklERU8FAAAAA25pbAAAAAAMUHJldmlld3R5cGVzCQAETAAAAAICAAAAA1BERgUAAAADbmlsAAAAAAtkYXBwUnVubmluZwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAh1c2VyRGFwcAIAAAAUY29uZl9kYXBwX2lzX3J1bm5pbmcGAAAAAA5tYWludGVuYW5jZU1TRwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAh1c2VyRGFwcAIAAAAUY29uZl9tYWludGVuYW5jZV9tc2cCAAAAAAAAAAANdXNlclN1c3BlbmRlZAIAAAAJU1VTUEVOREVEAAAAAAt1c2VyUmVtb3ZlZAIAAAAHUkVNT1ZFRAAAAAAQdXNlclVucmVnaXN0ZXJlZAIAAAAMVU5SRUdJU1RFUkVEAAAAAAxhdWN0aW9uVHlwZTECAAAAB0JJRFRZUEUAAAAADGF1Y3Rpb25UeXBlMgIAAAALVFJBRElUSU9OQUwAAAAADGF1Y3Rpb25UeXBlMwIAAAAGRElSRUNUAQAAABdnZXRTdHJpbmdCeUtleUZyb21Vc2VycwAAAAEAAAADa2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAACHVzZXJEYXBwBQAAAANrZXkCAAAAAAEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABAAAAA2tleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAA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bnQFAAAACmJpZEFzc2V0SWQBAAAADGlkQ2FsbGVyRGF0ZQAAAAEAAAABaQMJAQAAAAEhAAAAAQUAAAALZGFwcFJ1bm5pbmcJAAACAAAAAQUAAAAObWFpbnRlbmFuY2VNU0cJAAUVAAAAAwkAAlgAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wAQAAAApnZXRBcnREYXRhAAAABAAAAAFpAAAABmlzc3VlcgAAAAVhcnRJZAAAAAVpc0JpZAQAAAAOY2FsbGVySXNJc3N1ZXIJAAAAAAAAAgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBQAAAAZpc3N1ZXIEAAAACHRvdGFsTkZUCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQIAAAAQdG90YWxfbmZ0X2lzc3VlZAQAAAALYXJ0d29ya05hbWUJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAAAdrZXlOYW1lAAAAAgUAAAAGaXNzdWVyBQAAAAVhcnRJZAMJAAAAAAAAAgUAAAALYXJ0d29ya05hbWUCAAAAAAkAAAIAAAABAgAAABFBcnQgZG9lc24ndCBleGlzdAQAAAAIaXNPblNhbGUJAQAAAA9nZXRCb29sZWFuQnlLZXkAAAABCQEAAAAJa2V5T25TYWxlAAAAAgUAAAAGaXNzdWVyBQAAAAVhcnRJZAQAAAAKYW1vdW50U29sZAkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAQAAAAlrZXlJc3N1ZWQAAAACBQAAAAZpc3N1ZXIFAAAABWFydElkBAAAAAxhcnR3b3JrUHJpY2UJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABCQEAAAAIa2V5UHJpY2UAAAACBQAAAAZpc3N1ZXIFAAAABWFydElkBQAAAAxtaW5VU0ROUHJpY2UEAAAADHByaWNlQXNzZXRJZAMFAAAADmNhbGxlcklzSXNzdWVyCQACWAAAAAEFAAAAC1VTRE5Bc3NldElkCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAASa2V5QXNzZXRJ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AgUAAAAGaXNzdWVyBQAAAAVhcnRJZAQAAAAKaGlnaGVzdEJpZAkBAAAAGmdldEFtb3VudEhpZ2hlc3RCaWRCeUFydElkAAAAAQUAAAAFYXJ0SWQDCQAAZgAAAAIFAAAABmhlaWdodAUAAAAJZW5kSGVpZ2h0CQAAAgAAAAECAAAAIVRoaXMgYXVjdGlvbiBpcyBmaW5pc2hlZCBhbHJlYWR5IQQAAAALY2FsbGRlckRhdGEJAQAAAAxpZENhbGxlckRhdGUAAAABBQAAAAFpBAAAAAJpZAgFAAAAC2NhbGxkZXJEYXRhAAAAAl8xBAAAAAZjYWxsZXIIBQAAAAtjYWxsZGVyRGF0YQAAAAJfMgQAAAAEZGF0ZQgFAAAAC2NhbGxkZXJEYXRhAAAAAl8zBAAAAAxpc1BheW1lbnRWYXIJAQAAAAlpc1BheW1lbnQAAAABBQAAAAFpBAAAAAdwYXltZW50CAUAAAAMaXNQYXltZW50VmFyAAAAAl8xBAAAAAZhbW91bnQIBQAAAAxpc1BheW1lbnRWYXIAAAACXzIDCQAAZwAAAAIFAAAACmhpZ2hlc3RCaWQFAAAABmFtb3VudAkAAAIAAAABCQABLAAAAAICAAAAIFBsZWFzZSBwbGFjZSBhIGJpZCBoaWdoZXIgdGhhbjogCQABpAAAAAEFAAAACmhpZ2hlc3RCaWQEAAAAB2Fzc2V0SWQDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCAUAAAAHcGF5bWVudAAAAAdhc3NldElkCQAAAgAAAAECAAAAFk9ubHkgVVNETiBpcyBhY2NlcHRlZCEJAAJYAAAAAQkBAAAABXZhbHVlAAAAAQgFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAQAAAAGYmlkTmJyCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkAASwAAAACAgAAABJjdXJyZW50X2JpZGFtb3VudF8FAAAABWFydElkBAAAAA9taW5BcnR3b3JrUHJpY2UJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABCQEAAAAIa2V5UHJpY2UAAAACBQAAAAZpc3N1ZXIFAAAABWFydElkBQAAAAxtaW5VU0ROUHJpY2UDCQEAAAABIQAAAAEJAQAAABBhY2NlcHRlZEFzc2V0SWRzAAAAAQUAAAAHYXNzZXRJZAkAAAIAAAABAgAAABJhc3NldCBub3QgYWNjZXB0ZWQDCQAAZgAAAAIFAAAAD21pbkFydHdvcmtQcmljZQUAAAAGYW1vdW50CQAAAgAAAAECAAAAF0JpZCBpcyBiZWxvdyBtaW4gcHJpY2UhBAAAAAphbW91bnRTb2xkCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAACWtleUlzc3VlZAAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQEAAAACm1heENhblNlbGwJAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABCQEAAAAKa2V5TWF4TWludAAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQDCQAAZwAAAAIAAAAAAAAAAAAFAAAACm1heENhblNlbGwJAAACAAAAAQIAAAAjTm8gbWF4IGVkaXRpb24gc2V0IGZvciB0aGlzIGFydHdvcmsDCQAAZwAAAAIFAAAACmFtb3VudFNvbGQFAAAACm1heENhblNlbGwJAAACAAAAAQIAAAAYU29sZCBvdXQsIHlvdSBjYW5ub3QgYmlkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAARiaWRfBQAAAAVhcnRJZAIAAAABXwUAAAAGaXNzdWVyAgAAAAFfBQAAAAZjYWxsZXICAAAAAV8FAAAAAmlkAgAAAAVfT1BFTgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAdhc3NldElkAgAAAAFfCQABpAAAAAEFAAAABmFtb3VudAIAAAABXwkAAaQAAAABBQAAAARkYXRlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAEmN1cnJlbnRfYmlkYW1vdW50XwUAAAAFYXJ0SWQJAABkAAAAAgUAAAAGYmlkTmJyAAAAAAAAAAABCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABJrZXlIaWdoZXN0QmlkQmlkSWQAAAABBQAAAAVhcnRJZAkAAlgAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAIa2V5QmlkSWQAAAABCQACWAAAAAEIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQFAAAABmFtb3VudAUAAAADbmlsAQAAABdhY2NlcHRCaWROb25UcmFkaXRpb25hbAAAAAUAAAABaQAAAAVhcnRJZAAAAAZpc3N1ZXIAAAAFYmlkSWQAAAAIYmlkT3duZXIEAAAABmNhbGxlcgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAwkBAAAAAiE9AAAAAgUAAAAGY2FsbGVyBQAAAAZpc3N1ZXIJAAACAAAAAQIAAAAZWW91IGNhbm5vdCBkbyB0aGlzIGFjdGlvbgkBAAAAB2J1eU1pbnQAAAAGBQAAAAFpBQAAAAVhcnRJZAUAAAAGaXNzdWVyBQAAAAViaWRJZAUAAAAIYmlkT3duZXIGAQAAAA5yZXN0YXJ0QXVjdGlvbgAAAAIAAAAFYXJ0SWQAAAAGaXNzdWVyBAAAAAphbW91bnRTb2xkCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAACWtleUlzc3VlZAAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQEAAAACm1heENhblNlbGwJAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABCQEAAAAKa2V5TWF4TWludAAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQEAAAADG9sZEVuZEhlaWdodAkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAQAAAAxrZXlFbmRIZWlnaHQAAAACBQAAAAZpc3N1ZXIFAAAABWFydElkBAAAAAhkdXJhdGlvbgkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAQAAAAtrZXlEdXJhdGlvbgAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQEAAAACWVuZEhlaWdodAkAAGQAAAACBQAAAAhkdXJhdGlvbgUAAAAGaGVpZ2h0AwkAAGcAAAACBQAAAAxvbGRFbmRIZWlnaHQFAAAABmhlaWdodAkAAAIAAAABAgAAACRQcmV2aW91cyBhdWN0aW9uIGlzbid0IGNvbXBsZXRlZCB5ZXQDCQAAAAAAAAIFAAAACmFtb3VudFNvbGQFAAAACm1heENhblNlbGwJAAACAAAAAQIAAAAmQ2FuJ3QgcmVzdGFydCBhdWN0aW9uLCBtYXggYW1vdW50IHNvbGQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAxrZXlFbmRIZWlnaHQAAAACBQAAAAZpc3N1ZXIFAAAABWFydElkBQAAAAllbmRIZWlnaHQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAAEmtleUhpZ2hlc3RCaWRCaWRJZAAAAAEFAAAABWFydElkBQAAAANuaWwBAAAAFGFjY2VwdEJpZFRyYWRpdGlvbmFsAAAABQAAAAFpAAAABWFydElkAAAABmlzc3VlcgAAAAViaWRJZAAAAAhiaWRPd25lcgQAAAAJZW5kSGVpZ2h0CQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAADGtleUVuZEhlaWdodAAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQEAAAADGhpZ2hlc3RCaWRJZAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAEmtleUhpZ2hlc3RCaWRCaWRJZAAAAAEFAAAABWFydElkAwkAAGcAAAACBQAAAAllbmRIZWlnaHQFAAAABmhlaWdodAkAAAIAAAABAgAAACFUaGlzIGF1Y3Rpb24gaXMgbm90IHlldCBmaW5pc2hlZCEDCQEAAAACIT0AAAACBQAAAAViaWRJZAUAAAAMaGlnaGVzdEJpZElkCQAAAgAAAAECAAAAHFRoaXMgaXMgbm90IHRoZSB3aW5uaW5nIGJpZCEEAAAAC2J1eU1pbnREYXRhCQEAAAAHYnV5TWludAAAAAYFAAAAAWkFAAAABWFydElkBQAAAAZpc3N1ZXIFAAAABWJpZElkBQAAAAhiaWRPd25lcgYEAAAAEnJlc3RhcnRBdWN0aW9uRGF0YQkBAAAADnJlc3RhcnRBdWN0aW9uAAAAAgUAAAAFYXJ0SWQFAAAABmlzc3VlcgkABE4AAAACBQAAABJyZXN0YXJ0QXVjdGlvbkRhdGEFAAAAC2J1eU1pbnREYXRhAQAAAA1jYW5jZWxCaWRJbXBsAAAABAAAAAFpAAAABWFydElkAAAABmlzc3VlcgAAAAViaWRJZAQAAAAMdDAyODk0MjI5MDk0CQEAAAAMaWRD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eXBlBAAAAA92YWxpZGF0ZUFydHdvcmsJAQAAABN2YWxpZGF0ZUFydHdvcmtEYXRhAAAABQUAAAAGY2FsbGVyBQAAAApjaWREaXNwbGF5BQAAAARuYW1lBQAAAAtkZXNjcmlwdGlvbgUAAAAEdGFncwMJAQAAAAIhPQAAAAIFAAAAD3ZhbGlkYXRlQXJ0d29yawIAAAAACQAAAgAAAAECAAAAFVNvbWV0aGluZyB3ZW50IHdyb25nIQQAAAAMdDAxODE3MDE4MjEyCQEAAAAPdmFsaWRhdGVQYXltZW50AAAAAQUAAAABaQQAAAAGYW1vdW50CAUAAAAMdDAxODE3MDE4MjEyAAAAAl8xBAAAAAdhc3NldElkCAUAAAAMdDAxODE3MDE4MjEyAAAAAl8yAwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAAGYW1vdW50CQAAAgAAAAECAAAAFFNvbWV0aGluZyB3ZW50IHdyb25nBAAAAAtwcmV2aWV3RGF0YQMJAQAAAA9jb250YWluc0VsZW1lbnQAAAACBQAAAAxQcmV2aWV3dHlwZXMFAAAABHR5cGUJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADWtleVByZXZpZXdDaWQAAAACBQAAAAZjYWxsZXIFAAAABWFydElkBQAAAAdwcmV2aWV3BQAAAANuaWwFAAAAA25pbAQAAAAWaW52b2tlQ29sbGVjdGlvbkNyZWF0ZQkAA/wAAAAECQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQUAAAAPY29sbGVjdGlvbnNEYXBwCQABLAAAAAIFAAAAD2NvbGxlY3Rpb25zRGFwcAIAAAAKIG5vdCBmb3VuZAIAAAARY29sbGVjdGlvblByb2Nlc3MJAARMAAAAAgUAAAAKY29sbGVjdGlvbgkABEwAAAACBQAAAA1zdWJjb2xsZWN0aW9uCQAETAAAAAIFAAAABmNhbGxlcgUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAFmludm9rZUNvbGxlY3Rpb25DcmVhdGUFAAAAFmludm9rZUNvbGxlY3Rpb25DcmVhdGUEAAAACmVudHJ5RXhpc3QJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAABJrZXlU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QmlkTm9uVHJhZGl0aW9uYWwAAAADBQAAAAFpBQAAAAVhcnRJZAUAAAAGaXNzdWVyAwkAAAAAAAACBQAAAAthdWN0aW9uVHlwZQUAAAAMYXVjdGlvblR5cGUyCQEAAAARc2V0QmlkVHJhZGl0aW9uYWwAAAADBQAAAAFpBQAAAAVhcnRJZAUAAAAGaXNzdWVyCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAABZVbmtub3duIGF1Y3Rpb24gdHlwZSA6BQAAAAthdWN0aW9uVHlwZQIAAAAbLCBwbGVhc2UgY29udGFjdCB0aGUgYWRtaW5zAAAAAWkBAAAACWFjY2VwdEJpZAAAAAQAAAAFYXJ0SWQAAAAGaXNzdWVyAAAABWJpZElkAAAACGJpZE93bmVyBAAAAAthdWN0aW9uVHlwZQkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAADmtleUF1Y3Rpb25UeXBlAAAAAgUAAAAGaXNzdWVyBQAAAAVhcnRJZAMJAAAAAAAAAgUAAAALYXVjdGlvblR5cGUFAAAADGF1Y3Rpb25UeXBlMQkBAAAAF2FjY2VwdEJpZE5vblRyYWRpdGlvbmFsAAAABQUAAAABaQUAAAAFYXJ0SWQFAAAABmlzc3VlcgUAAAAFYmlkSWQFAAAACGJpZE93bmVyAwkAAAAAAAACBQAAAAthdWN0aW9uVHlwZQUAAAAMYXVjdGlvblR5cGUyCQEAAAAUYWNjZXB0QmlkVHJhZGl0aW9uYWwAAAAFBQAAAAFpBQAAAAVhcnRJZAUAAAAGaXNzdWVyBQAAAAViaWRJZAUAAAAIYmlkT3duZXIJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAFlVua25vd24gYXVjdGlvbiB0eXBlIDoFAAAAC2F1Y3Rpb25UeXBlAgAAABssIHBsZWFzZSBjb250YWN0IHRoZSBhZG1pbnMAAAABaQEAAAAJY2FuY2VsQmlkAAAAAwAAAAVhcnRJZAAAAAZpc3N1ZXIAAAAFYmlkSWQEAAAAC2F1Y3Rpb25UeXBlCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAOa2V5QXVjdGlvblR5cGUAAAACBQAAAAZpc3N1ZXIFAAAABWFydElkAwkAAAAAAAACBQAAAAthdWN0aW9uVHlwZQUAAAAMYXVjdGlvblR5cGUxCQEAAAANY2FuY2VsQmlkSW1wbAAAAAQFAAAAAWkFAAAABWFydElkBQAAAAZpc3N1ZXIFAAAABWJpZElkCQEAAAAYY2FuY2VsQmlkSW1wbFRyYWRpdGlvbmFsAAAABAUAAAABaQUAAAAFYXJ0SWQFAAAABmlzc3VlcgUAAAAFYmlkSWQAAAAA/kRrZg==", "height": 2006951, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7dEFrEspPnskpxMiE7KkxFZNMMpKuvNdva5auwG9uYYb Next: J4hu6oG8ckdoaQuJS7VH15TKgPY8rCqK1Fu2a7tj1gJW Diff:
OldNewDifferences
161161
162162 func ar (M) = {
163163 let U = B(S(M))
164- if ((U == ""))
165- then 0
166- else aq(U)
164+ aq(U)
167165 }
168166
169167
253251 then aF.assetId
254252 else throw("Wrong asset id")
255253 if (if ((aJ == unit))
256- then (aN != "")
257- else false)
254+ then true
255+ else (aN != ""))
258256 then throw("Wrong asset id")
259257 else if ((aO != aG))
260258 then throw(((("Payment don't match " + toString(aO)) + " ") + toString(aG)))
521519 let bZ = F(W(bd, M))
522520 let ca = F(V(bd, M))
523521 let bS = (ca + height)
524- if ((height > bZ))
525- then if ((bj == bk))
522+ if ((bZ >= height))
523+ then throw("Previous auction isn't completed yet")
524+ else if ((bj == bk))
526525 then throw("Can't restart auction, max amount sold")
527526 else [IntegerEntry(W(bd, M), bS), DeleteEntry(S(M))]
528- else throw("Previous auction isn't completed yet")
529527 }
530528
531529
532530 func cb (aE,M,bd,U,bm) = {
533531 let bS = F(W(bd, M))
534532 let cc = B(S(M))
535- if ((height > bS))
536- then if ((U == cc))
537- then {
533+ if ((bS >= height))
534+ then throw("This auction is not yet finished!")
535+ else if ((U != cc))
536+ then throw("This is not the winning bid!")
537+ else {
538538 let cd = by(aE, M, bd, U, bm, true)
539539 let ce = bY(M, bd)
540540 (ce ++ cd)
541541 }
542- else throw("This is not the winning bid!")
543- else throw("This auction is not yet finished!")
544542 }
545543
546544
595593
596594
597595 @Callable(aE)
598-func mintNft (bg,bq,bs) = if ((aE.caller == this))
599- then {
596+func mintNft (bg,bq,bs) = if ((aE.caller != this))
597+ then throw("Only the dApp can mint NFT's")
598+ else {
600599 let ck = Address(fromBase58String(bs))
601600 let cl = Issue(("SCONEX_" + toString((bg + 1))), bq, 1, 0, false)
602601 let bE = calculateAssetId(cl)
603602 $Tuple2([cl, ScriptTransfer(ck, 1, bE)], toBase58String(bE))
604603 }
605- else throw("Only the dApp can mint NFT's")
606604
607605
608606
612610 let M = cr._1
613611 let K = cr._2
614612 let bu = cr._3
615- if (containsElement(q, cm))
616- then {
613+ if (!(containsElement(q, cm)))
614+ then throw("Unknown type")
615+ else {
617616 let cs = ax(K, ay, az, aA, aB)
618617 if ((cs != ""))
619618 then throw("Something went wrong!")
630629 let cv = invoke(valueOrErrorMessage(addressFromString(j), (j + " not found")), "collectionProcess", [cp, cq, K], nil)
631630 if ((cv == cv))
632631 then {
633- let cw = {
634- let e = cv
635- if ($isInstanceOf(e, "String"))
636- then {
637- let bF = e
638- bF
639- }
640- else throw("Incorrect invoke result")
641- }
642- let cx = B(am(al, K))
643- if ((cx != ""))
632+ let cw = B(am(al, K))
633+ if ((cw != ""))
644634 then throw("You already added it")
645635 else {
646- let cy = B(ak(al))
647- if ((cy != ""))
636+ let cx = B(ak(al))
637+ if ((cx != ""))
648638 then throw("This hash is already registered")
649639 else (cu ++ [StringEntry(ak(al), K), StringEntry(am(al, K), M), IntegerEntry(L(K, M), bu), StringEntry(N(K, M), az), StringEntry(O(K, M), aA), StringEntry(P(K, M), ay), StringEntry(af(K, M), cm), StringEntry(ae(K, M), aB), IntegerEntry(R(K, M), 0), IntegerEntry(Y(K, M), 0), BooleanEntry(ac(K, M), false), StringEntry(ai(K, M), al), StringEntry(ad(K, M), cn), ScriptTransfer(Address(fromBase58String(k)), aG, aJ)])
650640 }
653643 }
654644 }
655645 }
656- else throw("Unknown type")
657646 }
658647
659648
660649
661650 @Callable(aE)
662-func sellArtwork (M,aS,cz,aJ,cA,ca,cB,cC,cD,cE,cF,cG) = {
663- let cH = bb(aE)
664- let bA = cH._1
665- let K = cH._2
651+func sellArtwork (M,aS,cy,aJ,cz,ca,cA,cB,cC,cD,cE,cF) = {
652+ let cG = bb(aE)
653+ let bA = cG._1
654+ let K = cG._2
666655 let bj = F(Y(K, M))
667656 let bQ = F(("current_bidamount_" + M))
668657 if (if ((bQ > 0))
671660 then throw("There are bids or items sold, you can not edit anything!")
672661 else {
673662 let bh = B(N(K, M))
674- if (!(containsElement([x, y, z], cA)))
663+ if (!(containsElement([x, y, z], cz)))
675664 then throw("We don't know this auction type")
676665 else if ((bh == ""))
677666 then throw("This art doesn't match your account")
683672 let aC = av(K)
684673 if ((aC != ""))
685674 then throw(aC)
686- else if ((cz > 10000))
675+ else if ((cy > 10000))
687676 then throw("10000 editions max per artwork")
688677 else {
689678 let br = if ((aS > 0))
690- then (cz > 0)
679+ then (cy > 0)
691680 else false
692- let cI = invoke(valueOrErrorMessage(addressFromString(m), (m + " not found")), "teamSplitFee", [M, k, "", "", 15, 0, 0], nil)
693- if ((cI == cI))
681+ let cH = invoke(valueOrErrorMessage(addressFromString(m), (m + " not found")), "teamSplitFee", [M, k, "", "", 15, 0, 0], nil)
682+ if ((cH == cH))
694683 then {
695- let cJ = invoke(valueOrErrorMessage(addressFromString(m), (m + " not found")), "creatorSplitFee", [M, cB, cC, cD, cE, cF, cG], nil)
696- if ((cJ == cJ))
684+ let cI = invoke(valueOrErrorMessage(addressFromString(m), (m + " not found")), "creatorSplitFee", [M, cA, cB, cC, cD, cE, cF], nil)
685+ if ((cI == cI))
697686 then {
698687 let bS = (ca + height)
699-[BooleanEntry(ac(K, M), br), IntegerEntry(ag(K, M), aS), IntegerEntry(R(K, M), cz), IntegerEntry(V(K, M), ca), IntegerEntry(W(K, M), bS), StringEntry(ah(K, M), aJ), StringEntry(X(K, M), cA)]
688+[BooleanEntry(ac(K, M), br), IntegerEntry(ag(K, M), aS), IntegerEntry(R(K, M), cy), IntegerEntry(V(K, M), ca), IntegerEntry(W(K, M), bS), StringEntry(ah(K, M), aJ), StringEntry(X(K, M), cz)]
700689 }
701690 else throw("Strict value is not equal to itself.")
702691 }
710699
711700 @Callable(aE)
712701 func buyArtwork (M,bd) = {
713- let cA = B(X(bd, M))
714- if ((cA == z))
702+ let cz = B(X(bd, M))
703+ if ((cz == z))
715704 then by(aE, M, bd, "", "", false)
716705 else throw("Direct buy only allowed when no auction type is set!")
717706 }
719708
720709
721710 @Callable(aE)
722-func updateTags (cK,M,aB) = {
711+func updateTags (cJ,M,aB) = {
723712 let K = toString(addressFromPublicKey(aE.callerPublicKey))
724- if (containsElement(i, K))
725- then if ((size(split(aB, ",")) > 5))
713+ if (!(containsElement(i, K)))
714+ then throw("no")
715+ else if ((size(split(aB, ",")) > 5))
726716 then throw("5 tags max.")
727717 else {
728- let cL = C(ae(cK, M), "No tags created with this key, so can't update!")
729- if ((aB == cL))
718+ let cK = C(ae(cJ, M), "No tags created with this key, so can't update!")
719+ if ((aB == cK))
730720 then throw("Tags are the same as old tags!")
731- else [StringEntry(ae(cK, M), aB)]
721+ else [StringEntry(ae(cJ, M), aB)]
732722 }
733- else throw("no")
734723 }
735724
736725
737726
738727 @Callable(aE)
739-func deleteEntry (cM) = {
728+func deleteEntry (cL) = {
740729 let K = toString(addressFromPublicKey(aE.callerPublicKey))
741- if (containsElement(i, K))
742- then [DeleteEntry(cM)]
743- else throw("no")
730+ if (!(containsElement(i, K)))
731+ then throw("no")
732+ else [DeleteEntry(cL)]
744733 }
745734
746735
747736
748737 @Callable(aE)
749738 func setBid (M,bd) = {
750- let cA = B(X(bd, M))
751- if ((cA == x))
739+ let cz = B(X(bd, M))
740+ if ((cz == x))
752741 then bN(aE, M, bd)
753- else if ((cA == y))
742+ else if ((cz == y))
754743 then bR(aE, M, bd)
755- else throw((("Unknown auction type :" + cA) + ", please contact the admins"))
744+ else throw((("Unknown auction type :" + cz) + ", please contact the admins"))
756745 }
757746
758747
759748
760749 @Callable(aE)
761750 func acceptBid (M,bd,U,bm) = {
762- let cA = B(X(bd, M))
763- if ((cA == x))
751+ let cz = B(X(bd, M))
752+ if ((cz == x))
764753 then bX(aE, M, bd, U, bm)
765- else if ((cA == y))
754+ else if ((cz == y))
766755 then cb(aE, M, bd, U, bm)
767- else throw((("Unknown auction type :" + cA) + ", please contact the admins"))
756+ else throw((("Unknown auction type :" + cz) + ", please contact the admins"))
768757 }
769758
770759
771760
772761 @Callable(aE)
773762 func cancelBid (M,bd,U) = {
774- let cA = B(X(bd, M))
775- if ((cA == x))
763+ let cz = B(X(bd, M))
764+ if ((cz == x))
776765 then cf(aE, M, bd, U)
777766 else ci(aE, M, bd, U)
778767 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = false
55
66 let b = "oracleKey"
77
88 func c (d) = {
99 let e = getString(this, d)
1010 if ($isInstanceOf(e, "String"))
1111 then {
1212 let f = e
1313 f
1414 }
1515 else ""
1616 }
1717
1818
1919 let g = c(b)
2020
2121 let h = value(addressFromString(g))
2222
2323 let i = [getString(h, "owner1"), getString(h, "owner2")]
2424
2525 let j = valueOrErrorMessage(getString(h, "collectionsDapp"), "collectionDapp not found")
2626
2727 let k = valueOrErrorMessage(getString(h, "feeReceiver"), "feeReceiver not found")
2828
2929 let l = valueOrErrorMessage(getString(h, "certDapp"), "certDapp not found")
3030
3131 let m = valueOrErrorMessage(getString(h, "feeDapp"), "feeDapp not found")
3232
3333 let n = value(addressFromString(valueOrErrorMessage(getString(h, "userDapp"), "userdapp not found")))
3434
3535 let o = fromBase58String(getStringValue(h, "USDNAssetId"))
3636
3737 let p = fromBase58String(getStringValue(h, "SconexAssetId"))
3838
3939 let q = ["IMAGE", "PDF", "VIDEO"]
4040
4141 let r = ["PDF"]
4242
4343 let s = valueOrElse(getBoolean(n, "conf_dapp_is_running"), true)
4444
4545 let t = valueOrElse(getString(n, "conf_maintenance_msg"), "")
4646
4747 let u = "SUSPENDED"
4848
4949 let v = "REMOVED"
5050
5151 let w = "UNREGISTERED"
5252
5353 let x = "BIDTYPE"
5454
5555 let y = "TRADITIONAL"
5656
5757 let z = "DIRECT"
5858
5959 func A (d) = valueOrElse(getString(n, d), "")
6060
6161
6262 func B (d) = valueOrElse(getString(this, d), "")
6363
6464
6565 func C (d,D) = valueOrErrorMessage(getString(this, d), D)
6666
6767
6868 func E (d) = valueOrErrorMessage(getInteger(h, d), "Integer undefine or 0 in oracle")
6969
7070
7171 func F (d) = valueOrElse(getInteger(this, d), 0)
7272
7373
7474 func G (d) = valueOrElse(getBoolean(this, d), false)
7575
7676
7777 func H (I) = (size(I) == 64)
7878
7979
8080 func J (K) = ("user_status_" + K)
8181
8282
8383 func L (K,M) = ((("art_date_" + M) + "_") + K)
8484
8585
8686 func N (K,M) = ((("art_name_" + M) + "_") + K)
8787
8888
8989 func O (K,M) = ((("art_desc_" + M) + "_") + K)
9090
9191
9292 func P (K,M) = ((("art_display_cid_" + M) + "_") + K)
9393
9494
9595 func Q (K,M) = ((("art_preview_cid_" + M) + "_") + K)
9696
9797
9898 func R (K,M) = ((("art_maxmint_" + M) + "_") + K)
9999
100100
101101 func S (M) = ("art_highestBidBidId_" + M)
102102
103103
104104 func T (U) = ("bid_" + U)
105105
106106
107107 func V (K,M) = ((("art_duration_" + M) + "_") + K)
108108
109109
110110 func W (K,M) = ((("art_endheight_" + M) + "_") + K)
111111
112112
113113 func X (K,M) = ((("art_auctiontype_" + M) + "_") + K)
114114
115115
116116 func Y (K,M) = ((("art_issued_" + M) + "_") + K)
117117
118118
119119 func Z (aa) = ("nft_issued_" + aa)
120120
121121
122122 func ab (aa) = ("nft_artId_" + aa)
123123
124124
125125 func ac (K,M) = ((("art_onsale_" + M) + "_") + K)
126126
127127
128128 func ad (K,M) = ((("art_entitlement_" + M) + "_") + K)
129129
130130
131131 func ae (K,M) = ((("art_tags_" + M) + "_") + K)
132132
133133
134134 func af (K,M) = ((("art_type_" + M) + "_") + K)
135135
136136
137137 func ag (K,M) = ((("art_price_" + M) + "_") + K)
138138
139139
140140 func ah (K,M) = ((("art_assetAccepted_" + M) + "_") + K)
141141
142142
143143 func ai (K,aj) = ((("get_hashbytxidaddr_" + aj) + "_") + K)
144144
145145
146146 func ak (al) = ("get_owner_by_hash_" + al)
147147
148148
149149 func am (al,K) = ("get_txid_by_hash_owner_" + toBase58String(sha256_16Kb(toBytes((al + K)))))
150150
151151
152152 func an (K,M) = ((("collection_" + M) + "_") + K)
153153
154154
155155 let ao = E(("min_" + toBase58String(o)))
156156
157157 let ap = E(("fee_" + toBase58String(p)))
158158
159159 func aq (U) = valueOrElse(F(T(U)), 0)
160160
161161
162162 func ar (M) = {
163163 let U = B(S(M))
164- if ((U == ""))
165- then 0
166- else aq(U)
164+ aq(U)
167165 }
168166
169167
170168 func as (at,au) = if ((size(at) == 0))
171169 then throw("Field cannot be is empty")
172170 else if ((size(at) > au))
173171 then throw((at + " is too long"))
174172 else true
175173
176174
177175 func av (K) = {
178176 let aw = valueOrElse(getString(n, J(K)), w)
179177 if ((aw == w))
180178 then "Register this account first with 'Account' tab"
181179 else if ((aw == u))
182180 then "Account suspended"
183181 else if ((aw == v))
184182 then "Account removed"
185183 else ""
186184 }
187185
188186
189187 func ax (K,ay,az,aA,aB) = {
190188 let aC = av(K)
191189 if ((aC != ""))
192190 then throw(aC)
193191 else if ((size(ay) == 0))
194192 then throw("Display CID cannot be empty")
195193 else if ((size(ay) != 46))
196194 then throw("This doesn't seem a valid CID!")
197195 else if (!(as(az, 100)))
198196 then throw("100 Char. max name")
199197 else if (!(as(aA, 1000)))
200198 then throw("1000 Char. max description")
201199 else if ((size(split(aB, ",")) > 5))
202200 then throw("5 tags max.")
203201 else ""
204202 }
205203
206204
207205 func aD (aE) = if ((size(aE.payments) == 0))
208206 then throw("No payment attached")
209207 else {
210208 let aF = value(aE.payments[0])
211209 let aG = value(aF.amount)
212210 $Tuple2(aF, aG)
213211 }
214212
215213
216214 func aH (aE) = {
217215 let aI = aD(aE)
218216 let aF = aI._1
219217 let aG = aI._2
220218 let aJ = if (if (isDefined(aF.assetId))
221219 then (aF.assetId == p)
222220 else false)
223221 then aF.assetId
224222 else throw((("Only " + toBase58String(p)) + " token accepted as transaction fee"))
225223 if ((aG != ap))
226224 then throw(((("Payment amount should be " + toString(ap)) + " but is: ") + toString(aG)))
227225 else $Tuple2(aG, aJ)
228226 }
229227
230228
231229 func aK (aL,M) = {
232230 let e = getInteger(this, Y(aL, M))
233231 if ($isInstanceOf(e, "Int"))
234232 then {
235233 let f = e
236234 if ((f != 0))
237235 then true
238236 else false
239237 }
240238 else false
241239 }
242240
243241
244242 func aM (aE,aN,aO) = {
245243 let aP = aD(aE)
246244 let aF = aP._1
247245 let aG = aP._2
248246 let aJ = if (!(isDefined(aF.assetId)))
249247 then throw("Wrong asset id")
250248 else if (if ((size(aN) > 0))
251249 then (toBase58String(value(aF.assetId)) == aN)
252250 else false)
253251 then aF.assetId
254252 else throw("Wrong asset id")
255253 if (if ((aJ == unit))
256- then (aN != "")
257- else false)
254+ then true
255+ else (aN != ""))
258256 then throw("Wrong asset id")
259257 else if ((aO != aG))
260258 then throw(((("Payment don't match " + toString(aO)) + " ") + toString(aG)))
261259 else $Tuple2(aG, aJ)
262260 }
263261
264262
265263 func aQ (aJ) = if ((aJ != toBase58String(o)))
266264 then throw("Only USDN accepted")
267265 else true
268266
269267
270268 func aR (aJ,aS) = {
271269 let aT = ao
272270 if (if ((aT > aS))
273271 then true
274272 else (aJ != toBase58String(o)))
275273 then throw(("Wrong minimum sell price " + toString(aT)))
276274 else true
277275 }
278276
279277
280278 func aU (aJ) = if ((aJ == "WAVES"))
281279 then throw("Only USDN is accepted!")
282280 else fromBase58String(aJ)
283281
284282
285283 func aV (aW) = {
286284 let aX = B((aW + "_OPEN"))
287285 if ((aX == ""))
288286 then throw("Bid not found")
289287 else {
290288 let aY = split(aX, "_")
291289 let aZ = parseIntValue(aY[1])
292290 let ba = aU(aY[0])
293291 if ((0 >= aZ))
294292 then throw("Wrong amount")
295293 else $Tuple2(aZ, ba)
296294 }
297295 }
298296
299297
300298 func bb (aE) = if (!(s))
301299 then throw(t)
302300 else $Tuple3(toBase58String(aE.transactionId), toBase58String(aE.caller.bytes), lastBlock.timestamp)
303301
304302
305303 func bc (aE,bd,M,be) = {
306304 let bf = (toBase58String(aE.caller.bytes) == bd)
307305 let bg = F("total_nft_issued")
308306 let bh = B(N(bd, M))
309307 if ((bh == ""))
310308 then throw("Art doesn't exist")
311309 else {
312310 let bi = G(ac(bd, M))
313311 let bj = F(Y(bd, M))
314312 let aO = valueOrElse(F(ag(bd, M)), ao)
315313 let aN = if (bf)
316314 then toBase58String(o)
317315 else B(ah(bd, M))
318316 let bk = F(R(bd, M))
319317 if (if (if (!(be))
320318 then !(bf)
321319 else false)
322320 then if (if ((0 >= aO))
323321 then true
324322 else !(bi))
325323 then true
326324 else (0 >= bk)
327325 else false)
328326 then throw("Art not for sale")
329327 else if (if (if (!(be))
330328 then bf
331329 else false)
332330 then (0 >= bk)
333331 else false)
334332 then throw("Max issuable not set")
335333 else $Tuple7(bg, bh, bj, aO, aN, bk, bi)
336334 }
337335 }
338336
339337
340338 func bl (aE,K,bd,M,bm,U,aN,aO,be) = {
341339 let aC = av(bd)
342340 if (if (be)
343341 then (aC != "")
344342 else false)
345343 then throw(aC)
346344 else {
347345 let aW = ((((((("bid_" + M) + "_") + bd) + "_") + bm) + "_") + U)
348346 let bn = if (be)
349347 then aV(aW)
350348 else aM(aE, aN, aO)
351349 let aG = bn._1
352350 let aJ = bn._2
353351 $Tuple3(aW, aG, aJ)
354352 }
355353 }
356354
357355
358356 func bo (bd,M,bh,bp,bk,bg,K,bm,U,aE,bi) = {
359357 let bq = ((((((((("Creator: " + bd) + ",ArtID: ") + M) + ",Artwork name: ") + bh) + ",Issue: ") + toString(bp)) + "/") + toString(bk))
360358 let br = if (if ((bp == bk))
361359 then true
362360 else !(bi))
363361 then false
364362 else true
365363 let bs = if ((bm != ""))
366364 then addressFromStringValue(bm)
367365 else aE.caller
368366 $Tuple3(br, bs, bq)
369367 }
370368
371369
372370 func bt (aJ,aW,bu) = {
373371 let bv = if (!(isDefined(aJ)))
374372 then throw("Only USDN is accepted")
375373 else toBase58String(value(aJ))
376374 let aX = B((aW + "_OPEN"))
377375 let bw = DeleteEntry((aW + "_OPEN"))
378376 let bx = StringEntry((aW + "_CLOSED"), ((aX + "_") + toString(bu)))
379377 $Tuple3(bv, bw, bx)
380378 }
381379
382380
383381 func by (aE,M,bd,U,bm,be) = {
384382 let bz = bb(aE)
385383 let bA = bz._1
386384 let K = bz._2
387385 let bu = bz._3
388386 let bB = bc(aE, bd, M, be)
389387 let bg = bB._1
390388 let bh = bB._2
391389 let bj = bB._3
392390 let aO = bB._4
393391 let aN = bB._5
394392 let bk = bB._6
395393 let bi = bB._7
396394 let aX = bl(aE, K, bd, M, bm, U, aN, aO, be)
397395 let aW = aX._1
398396 let aG = aX._2
399397 let aJ = aX._3
400398 let bp = if ((bj == bk))
401399 then throw("Max items sold")
402400 else (bj + 1)
403401 let bC = bo(bd, M, bh, bp, bk, bg, K, bm, U, aE, bi)
404402 let br = bC._1
405403 let bs = bC._2
406404 let bq = bC._3
407405 let bD = invoke(this, "mintNft", [bg, bq, toString(bs)], nil)
408406 if ((bD == bD))
409407 then {
410408 let bE = {
411409 let e = bD
412410 if ($isInstanceOf(e, "String"))
413411 then {
414412 let bF = e
415413 bF
416414 }
417415 else throw("Incorrect invoke result")
418416 }
419417 let bG = bt(aJ, aW, bu)
420418 let bv = bG._1
421419 let bw = bG._2
422420 let bx = bG._3
423421 let bH = ((((((("art_sold_" + toString(bp)) + "_of_") + toString(bk)) + "_") + M) + "_") + bd)
424422 let bI = if (!(be))
425423 then ((((((((((K + "_") + toString(bu)) + "_") + bA) + "_") + toString(aO)) + "_") + aN) + "_") + bE)
426424 else ((((((((((toString(bs) + "_") + toString(bu)) + "_") + bA) + "_") + toString(aG)) + "_") + bv) + "_") + bE)
427425 let bJ = invoke(valueOrErrorMessage(addressFromString(m), (m + " not found")), "payFee", [M, bd], [AttachedPayment(aJ, aG)])
428426 if ((bJ == bJ))
429427 then {
430428 let bK = StringEntry(bH, bI)
431429 let bL = [IntegerEntry(Y(bd, M), bp), StringEntry(("nft_" + bE), bH), IntegerEntry("total_nft_issued", (bg + 1)), BooleanEntry(ac(bd, M), br), StringEntry(Z(bE), bd), StringEntry(ab(bE), M)]
432430 let bM = invoke(addressFromStringValue(l), "createCert", [toString(bs), bE, bd], nil)
433431 if ((bM == bM))
434432 then if (be)
435433 then (((bL :+ bK) :+ bx) :+ bw)
436434 else bK :: bL
437435 else throw("Strict value is not equal to itself.")
438436 }
439437 else throw("Strict value is not equal to itself.")
440438 }
441439 else throw("Strict value is not equal to itself.")
442440 }
443441
444442
445443 func bN (aE,M,bd) = {
446444 let bO = bb(aE)
447445 let bA = bO._1
448446 let K = bO._2
449447 let bu = bO._3
450448 let bP = aD(aE)
451449 let aF = bP._1
452450 let aG = bP._2
453451 let aJ = if (!(isDefined(aF.assetId)))
454452 then throw("Only USDN is accepted!")
455453 else toBase58String(value(aF.assetId))
456454 let bQ = F(("current_bidamount_" + M))
457455 if (!(aQ(aJ)))
458456 then throw("asset not accepted")
459457 else {
460458 let bj = F(Y(bd, M))
461459 let bk = F(R(bd, M))
462460 if ((0 >= bk))
463461 then throw("No max edition set for this artwork")
464462 else if ((bj >= bk))
465463 then throw("Sold out, you cannot bid")
466464 else [StringEntry((((((((("bid_" + M) + "_") + bd) + "_") + K) + "_") + bA) + "_OPEN"), ((((aJ + "_") + toString(aG)) + "_") + toString(bu))), IntegerEntry(("current_bidamount_" + M), (bQ + 1))]
467465 }
468466 }
469467
470468
471469 func bR (aE,M,bd) = {
472470 let bS = F(W(bd, M))
473471 let bT = ar(M)
474472 if ((height > bS))
475473 then throw("This auction is finished already!")
476474 else {
477475 let bU = bb(aE)
478476 let bA = bU._1
479477 let K = bU._2
480478 let bu = bU._3
481479 let bV = aD(aE)
482480 let aF = bV._1
483481 let aG = bV._2
484482 if ((bT >= aG))
485483 then throw(("Please place a bid higher than: " + toString(bT)))
486484 else {
487485 let aJ = if (!(isDefined(aF.assetId)))
488486 then throw("Only USDN is accepted!")
489487 else toBase58String(value(aF.assetId))
490488 let bQ = F(("current_bidamount_" + M))
491489 let bW = valueOrElse(F(ag(bd, M)), ao)
492490 if (!(aQ(aJ)))
493491 then throw("asset not accepted")
494492 else if ((bW > aG))
495493 then throw("Bid is below min price!")
496494 else {
497495 let bj = F(Y(bd, M))
498496 let bk = F(R(bd, M))
499497 if ((0 >= bk))
500498 then throw("No max edition set for this artwork")
501499 else if ((bj >= bk))
502500 then throw("Sold out, you cannot bid")
503501 else [StringEntry((((((((("bid_" + M) + "_") + bd) + "_") + K) + "_") + bA) + "_OPEN"), ((((aJ + "_") + toString(aG)) + "_") + toString(bu))), IntegerEntry(("current_bidamount_" + M), (bQ + 1)), StringEntry(S(M), toBase58String(aE.transactionId)), IntegerEntry(T(toBase58String(aE.transactionId)), aG)]
504502 }
505503 }
506504 }
507505 }
508506
509507
510508 func bX (aE,M,bd,U,bm) = {
511509 let K = toBase58String(aE.caller.bytes)
512510 if ((K != bd))
513511 then throw("You cannot do this action")
514512 else by(aE, M, bd, U, bm, true)
515513 }
516514
517515
518516 func bY (M,bd) = {
519517 let bj = F(Y(bd, M))
520518 let bk = F(R(bd, M))
521519 let bZ = F(W(bd, M))
522520 let ca = F(V(bd, M))
523521 let bS = (ca + height)
524- if ((height > bZ))
525- then if ((bj == bk))
522+ if ((bZ >= height))
523+ then throw("Previous auction isn't completed yet")
524+ else if ((bj == bk))
526525 then throw("Can't restart auction, max amount sold")
527526 else [IntegerEntry(W(bd, M), bS), DeleteEntry(S(M))]
528- else throw("Previous auction isn't completed yet")
529527 }
530528
531529
532530 func cb (aE,M,bd,U,bm) = {
533531 let bS = F(W(bd, M))
534532 let cc = B(S(M))
535- if ((height > bS))
536- then if ((U == cc))
537- then {
533+ if ((bS >= height))
534+ then throw("This auction is not yet finished!")
535+ else if ((U != cc))
536+ then throw("This is not the winning bid!")
537+ else {
538538 let cd = by(aE, M, bd, U, bm, true)
539539 let ce = bY(M, bd)
540540 (ce ++ cd)
541541 }
542- else throw("This is not the winning bid!")
543- else throw("This auction is not yet finished!")
544542 }
545543
546544
547545 func cf (aE,M,bd,U) = {
548546 let cg = bb(aE)
549547 let bA = cg._1
550548 let K = cg._2
551549 let bu = cg._3
552550 let bQ = F(("current_bidamount_" + M))
553551 let aW = ((((((("bid_" + M) + "_") + bd) + "_") + K) + "_") + U)
554552 let aX = C((aW + "_OPEN"), "Bid not found")
555553 let aY = split(aX, "_")
556554 let aJ = aU(aY[0])
557555 let ch = "CANCELED"
558556 [DeleteEntry((aW + "_OPEN")), StringEntry(((aW + "_") + ch), ((aX + "_") + toString(bu))), IntegerEntry(("current_bidamount_" + M), (bQ - 1)), ScriptTransfer(Address(fromBase58String(K)), parseIntValue(aY[1]), aJ)]
559557 }
560558
561559
562560 func ci (aE,M,bd,U) = {
563561 let cg = bb(aE)
564562 let bA = cg._1
565563 let K = cg._2
566564 let bu = cg._3
567565 let bQ = F(("current_bidamount_" + M))
568566 let aW = ((((((("bid_" + M) + "_") + bd) + "_") + K) + "_") + U)
569567 let aX = C((aW + "_OPEN"), "Bid not found")
570568 let aY = split(aX, "_")
571569 let aJ = aU(aY[0])
572570 let ch = "CANCELED"
573571 let aZ = parseIntValue(aY[1])
574572 let cc = B(S(M))
575573 if ((U == cc))
576574 then throw("You can't cancel the highest bid!")
577575 else [DeleteEntry((aW + "_OPEN")), StringEntry(((aW + "_") + ch), ((aX + "_") + toString(bu))), IntegerEntry(("current_bidamount_" + M), (bQ - 1)), ScriptTransfer(Address(fromBase58String(K)), aZ, aJ)]
578576 }
579577
580578
581579 @Callable(aE)
582580 func initDapp (cj) = if ((aE.caller != this))
583581 then throw("You cannot do this action")
584582 else if ((g != ""))
585583 then throw("oracle already set, you can't override!")
586584 else [StringEntry(b, cj)]
587585
588586
589587
590588 @Callable(aE)
591589 func restartAuctionManual (M) = if ((ar(M) != 0))
592590 then throw("Please accept the highest bid!")
593591 else bY(M, toBase58String(aE.caller.bytes))
594592
595593
596594
597595 @Callable(aE)
598-func mintNft (bg,bq,bs) = if ((aE.caller == this))
599- then {
596+func mintNft (bg,bq,bs) = if ((aE.caller != this))
597+ then throw("Only the dApp can mint NFT's")
598+ else {
600599 let ck = Address(fromBase58String(bs))
601600 let cl = Issue(("SCONEX_" + toString((bg + 1))), bq, 1, 0, false)
602601 let bE = calculateAssetId(cl)
603602 $Tuple2([cl, ScriptTransfer(ck, 1, bE)], toBase58String(bE))
604603 }
605- else throw("Only the dApp can mint NFT's")
606604
607605
608606
609607 @Callable(aE)
610608 func addArtwork (al,az,aA,aB,cm,ay,cn,co,cp,cq) = {
611609 let cr = bb(aE)
612610 let M = cr._1
613611 let K = cr._2
614612 let bu = cr._3
615- if (containsElement(q, cm))
616- then {
613+ if (!(containsElement(q, cm)))
614+ then throw("Unknown type")
615+ else {
617616 let cs = ax(K, ay, az, aA, aB)
618617 if ((cs != ""))
619618 then throw("Something went wrong!")
620619 else {
621620 let ct = aH(aE)
622621 let aG = ct._1
623622 let aJ = ct._2
624623 if (!(isDefined(aG)))
625624 then throw("Something went wrong")
626625 else {
627626 let cu = if (containsElement(r, cm))
628627 then [StringEntry(Q(K, M), co)]
629628 else nil
630629 let cv = invoke(valueOrErrorMessage(addressFromString(j), (j + " not found")), "collectionProcess", [cp, cq, K], nil)
631630 if ((cv == cv))
632631 then {
633- let cw = {
634- let e = cv
635- if ($isInstanceOf(e, "String"))
636- then {
637- let bF = e
638- bF
639- }
640- else throw("Incorrect invoke result")
641- }
642- let cx = B(am(al, K))
643- if ((cx != ""))
632+ let cw = B(am(al, K))
633+ if ((cw != ""))
644634 then throw("You already added it")
645635 else {
646- let cy = B(ak(al))
647- if ((cy != ""))
636+ let cx = B(ak(al))
637+ if ((cx != ""))
648638 then throw("This hash is already registered")
649639 else (cu ++ [StringEntry(ak(al), K), StringEntry(am(al, K), M), IntegerEntry(L(K, M), bu), StringEntry(N(K, M), az), StringEntry(O(K, M), aA), StringEntry(P(K, M), ay), StringEntry(af(K, M), cm), StringEntry(ae(K, M), aB), IntegerEntry(R(K, M), 0), IntegerEntry(Y(K, M), 0), BooleanEntry(ac(K, M), false), StringEntry(ai(K, M), al), StringEntry(ad(K, M), cn), ScriptTransfer(Address(fromBase58String(k)), aG, aJ)])
650640 }
651641 }
652642 else throw("Strict value is not equal to itself.")
653643 }
654644 }
655645 }
656- else throw("Unknown type")
657646 }
658647
659648
660649
661650 @Callable(aE)
662-func sellArtwork (M,aS,cz,aJ,cA,ca,cB,cC,cD,cE,cF,cG) = {
663- let cH = bb(aE)
664- let bA = cH._1
665- let K = cH._2
651+func sellArtwork (M,aS,cy,aJ,cz,ca,cA,cB,cC,cD,cE,cF) = {
652+ let cG = bb(aE)
653+ let bA = cG._1
654+ let K = cG._2
666655 let bj = F(Y(K, M))
667656 let bQ = F(("current_bidamount_" + M))
668657 if (if ((bQ > 0))
669658 then true
670659 else (bj > 0))
671660 then throw("There are bids or items sold, you can not edit anything!")
672661 else {
673662 let bh = B(N(K, M))
674- if (!(containsElement([x, y, z], cA)))
663+ if (!(containsElement([x, y, z], cz)))
675664 then throw("We don't know this auction type")
676665 else if ((bh == ""))
677666 then throw("This art doesn't match your account")
678667 else if (!(aQ(aJ)))
679668 then throw("Something went wrong!")
680669 else if (!(aR(aJ, aS)))
681670 then throw("Something went wrong!")
682671 else {
683672 let aC = av(K)
684673 if ((aC != ""))
685674 then throw(aC)
686- else if ((cz > 10000))
675+ else if ((cy > 10000))
687676 then throw("10000 editions max per artwork")
688677 else {
689678 let br = if ((aS > 0))
690- then (cz > 0)
679+ then (cy > 0)
691680 else false
692- let cI = invoke(valueOrErrorMessage(addressFromString(m), (m + " not found")), "teamSplitFee", [M, k, "", "", 15, 0, 0], nil)
693- if ((cI == cI))
681+ let cH = invoke(valueOrErrorMessage(addressFromString(m), (m + " not found")), "teamSplitFee", [M, k, "", "", 15, 0, 0], nil)
682+ if ((cH == cH))
694683 then {
695- let cJ = invoke(valueOrErrorMessage(addressFromString(m), (m + " not found")), "creatorSplitFee", [M, cB, cC, cD, cE, cF, cG], nil)
696- if ((cJ == cJ))
684+ let cI = invoke(valueOrErrorMessage(addressFromString(m), (m + " not found")), "creatorSplitFee", [M, cA, cB, cC, cD, cE, cF], nil)
685+ if ((cI == cI))
697686 then {
698687 let bS = (ca + height)
699-[BooleanEntry(ac(K, M), br), IntegerEntry(ag(K, M), aS), IntegerEntry(R(K, M), cz), IntegerEntry(V(K, M), ca), IntegerEntry(W(K, M), bS), StringEntry(ah(K, M), aJ), StringEntry(X(K, M), cA)]
688+[BooleanEntry(ac(K, M), br), IntegerEntry(ag(K, M), aS), IntegerEntry(R(K, M), cy), IntegerEntry(V(K, M), ca), IntegerEntry(W(K, M), bS), StringEntry(ah(K, M), aJ), StringEntry(X(K, M), cz)]
700689 }
701690 else throw("Strict value is not equal to itself.")
702691 }
703692 else throw("Strict value is not equal to itself.")
704693 }
705694 }
706695 }
707696 }
708697
709698
710699
711700 @Callable(aE)
712701 func buyArtwork (M,bd) = {
713- let cA = B(X(bd, M))
714- if ((cA == z))
702+ let cz = B(X(bd, M))
703+ if ((cz == z))
715704 then by(aE, M, bd, "", "", false)
716705 else throw("Direct buy only allowed when no auction type is set!")
717706 }
718707
719708
720709
721710 @Callable(aE)
722-func updateTags (cK,M,aB) = {
711+func updateTags (cJ,M,aB) = {
723712 let K = toString(addressFromPublicKey(aE.callerPublicKey))
724- if (containsElement(i, K))
725- then if ((size(split(aB, ",")) > 5))
713+ if (!(containsElement(i, K)))
714+ then throw("no")
715+ else if ((size(split(aB, ",")) > 5))
726716 then throw("5 tags max.")
727717 else {
728- let cL = C(ae(cK, M), "No tags created with this key, so can't update!")
729- if ((aB == cL))
718+ let cK = C(ae(cJ, M), "No tags created with this key, so can't update!")
719+ if ((aB == cK))
730720 then throw("Tags are the same as old tags!")
731- else [StringEntry(ae(cK, M), aB)]
721+ else [StringEntry(ae(cJ, M), aB)]
732722 }
733- else throw("no")
734723 }
735724
736725
737726
738727 @Callable(aE)
739-func deleteEntry (cM) = {
728+func deleteEntry (cL) = {
740729 let K = toString(addressFromPublicKey(aE.callerPublicKey))
741- if (containsElement(i, K))
742- then [DeleteEntry(cM)]
743- else throw("no")
730+ if (!(containsElement(i, K)))
731+ then throw("no")
732+ else [DeleteEntry(cL)]
744733 }
745734
746735
747736
748737 @Callable(aE)
749738 func setBid (M,bd) = {
750- let cA = B(X(bd, M))
751- if ((cA == x))
739+ let cz = B(X(bd, M))
740+ if ((cz == x))
752741 then bN(aE, M, bd)
753- else if ((cA == y))
742+ else if ((cz == y))
754743 then bR(aE, M, bd)
755- else throw((("Unknown auction type :" + cA) + ", please contact the admins"))
744+ else throw((("Unknown auction type :" + cz) + ", please contact the admins"))
756745 }
757746
758747
759748
760749 @Callable(aE)
761750 func acceptBid (M,bd,U,bm) = {
762- let cA = B(X(bd, M))
763- if ((cA == x))
751+ let cz = B(X(bd, M))
752+ if ((cz == x))
764753 then bX(aE, M, bd, U, bm)
765- else if ((cA == y))
754+ else if ((cz == y))
766755 then cb(aE, M, bd, U, bm)
767- else throw((("Unknown auction type :" + cA) + ", please contact the admins"))
756+ else throw((("Unknown auction type :" + cz) + ", please contact the admins"))
768757 }
769758
770759
771760
772761 @Callable(aE)
773762 func cancelBid (M,bd,U) = {
774- let cA = B(X(bd, M))
775- if ((cA == x))
763+ let cz = B(X(bd, M))
764+ if ((cz == x))
776765 then cf(aE, M, bd, U)
777766 else ci(aE, M, bd, U)
778767 }
779768
780769

github/deemru/w8io/169f3d6 
125.43 ms