tx · 5FMxbg5tKDBHFMCzmx8eWZ3tDGHLUjyCbVfRorRNPWuS

3NBegQZ2nQzhyAw5acz2w3dQtSr97S113xv:  -0.01400000 Waves

2020.09.19 08:11 [1183748] smart account 3NBegQZ2nQzhyAw5acz2w3dQtSr97S113xv > SELF 0.00000000 Waves

{ "type": 13, "id": "5FMxbg5tKDBHFMCzmx8eWZ3tDGHLUjyCbVfRorRNPWuS", "fee": 1400000, "feeAssetId": null, "timestamp": 1600492345743, "version": 2, "chainId": 84, "sender": "3NBegQZ2nQzhyAw5acz2w3dQtSr97S113xv", "senderPublicKey": "BtPnYKkAuL3EfH845GBBfaiSZ4DeT3PPS4Ms7xkdBz4k", "proofs": [ "WuvYxYfzvnw4HWBpeRTdDjnZKpkf1jsKsw1LZLsrcSFTCLPJP6dNtragosjpyhGXBM5FowVfLJRFuRxUSanhPmB" ], "script": "base64:AAIEAAAAAAAAAE4IAhIGCgQICAgIEgYKBAgICAgSBAoCCAgSAwoBCBIOCgwICAgICAgBCAgICAgSDQoLCAgICAgBCAgICAgSBAoCCAgSBAoCCAESBAoCCAgAAAAxAAAAAA9zdG9yYWdlVmVyaWZpZXIJAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQIAAAAjM04yczVSdGFIUEJlbkNzeDJFQ2NvRlJiWUh4M25vWmhYVzEAAAAADXVzZXJXaGl0ZWxpc3QJAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQIAAAAjM01wSkViMzZaUXlrMWhhS25vY2F5SmNZTTMxY05QWFBpSzMAAAAADHNpZ25WZXJpZmllcgkBAAAABXZhbHVlAAAAAQkABCYAAAABAgAAACMzTkMyOGhTaXZybXNUVVhhWUQxeDZMMzYySjRacFVub1RkQgAAAAALZmVlUmVjZWl2ZXICAAAAIzNOMUU2dFhkZFJvVmFSZlE5ZFEzdmc1TGFXMmZzZDhIS3ViAAAAAAtzaWduQXNzZXRJZAEAAAAg6KVqvMp3QvJwYTI1Sk9Fg7m5HuWZZxfDcerZC6EEresAAAAABnVzZG5JRAIAAAAsM0tGWEJHR0xDakE1WjJEdVc0RHE5ZkREckhqSkpQMVpFa2FvYWpTenVLc0MAAAAABWFkbWluAgAAACMzTXNHNmpQTkNyVkpVdFlCN1hKQnhTN3V0V3NYQWY0bjlWcAAAAAAGYWRtaW4yAgAAACMzTXptNFZMd3NOOXVad2JUTXpQajNYdXhWNmtFZkFSOFVETgAAAAAPV0hJVEVMSVNURURPTkxZBgAAAAALdXNlckFsbG93ZWQCAAAAB0FMTE9XRUQAAAAADnVzZXJSZWdpc3RlcmVkAgAAAApSRUdJU1RFUkVEAAAAAAx1c2VyVmVyaWZpZWQCAAAACFZFUklGSUVEAAAAAA11c2VyU3VzcGVuZGVkAgAAAAlTVVNQRU5ERUQAAAAAC3VzZXJSZW1vdmVkAgAAAAdSRU1PVkVEAAAAABB1c2VyVW5yZWdpc3RlcmVkAgAAAAxVTlJFR0lTVEVSRUQAAAAABm9uU2FsZQIAAAAHT05fU0FMRQAAAAAEc29sZAIAAAAEU09MRAAAAAAIY2FuY2VsZWQCAAAACENBTkNFTEVEAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAgAAAAABAAAAD2dldEludGVnZXJCeUtleQAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFpBQAAAAckbWF0Y2gwBQAAAAFpAAAAAAAAAAAAAQAAABRjaGVja1NpZ25DZXJ0aWZpY2F0ZQAAAAMAAAAGc2lnbklEAAAABU93bmVyAAAACnNoYTI1Nkhhc2gEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAMc2lnblZlcmlmaWVyCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhkYXRhX2ZjXwUAAAAGc2lnbklEAgAAAAFfBQAAAAVPd25lcgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwAwkBAAAACGNvbnRhaW5zAAAAAgUAAAABYQUAAAAKc2hhMjU2SGFzaAYHBwEAAAAMdmFsaWRhdGVORlRzAAAAAgAAAAthY2N1bXVsYXRvcgAAAAJpZAQAAAAMYXNzZXREZXRhaWxzCQEAAAAFdmFsdWUAAAABCQAD7AAAAAEJAAJZAAAAAQUAAAACaWQDAwMJAQAAAAIhPQAAAAIIBQAAAAxhc3NldERldGFpbHMAAAAIcXVhbnRpdHkAAAAAAAAAAAEGCQEAAAACIT0AAAACCAUAAAAMYXNzZXREZXRhaWxzAAAACGRlY2ltYWxzAAAAAAAAAAAABgkBAAAAAiE9AAAAAggFAAAADGFzc2V0RGV0YWlscwAAAApyZWlzc3VhYmxlBwkAAGQAAAACBQAAAAthY2N1bXVsYXRvcgAAAAAAAAAAAAkAAGQAAAACBQAAAAthY2N1bXVsYXRvcgAAAAAAAAAAAQEAAAANdmVyaWZ5QWRkcmVzcwAAAAEAAAAEYWRkcgMJAQAAAAEhAAAAAQUAAAAPV0hJVEVMSVNURURPTkxZBgQAAAAHJG1hdGNoMAkABBsAAAACBQAAAA11c2VyV2hpdGVsaXN0BQAAAARhZGRyAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAdCb29sZWFuBAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiCQAAAgAAAAECAAAALVlvdSBhcmUgbm90IGFsbG93ZWQsIHBsZWFzZSBjb250YWN0IHVzIGZpcnN0LgEAAAAMdmVyaWZ5U3RhdHVzAAAAAQAAAARhZGRyBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAMdXNlcl9zdGF0dXNfBQAAAARhZGRyAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWIFAAAAByRtYXRjaDAFAAAAAWIJAAACAAAAAQIAAAAVU29tZXRoaW5nIHdlbnQgd3JvbmcuAQAAAAtrZXlVc2VyQWRkcgAAAAEAAAAKY2FsbGVyQWRkcgkAASwAAAACAgAAAAV1c2VyXwUAAAAKY2FsbGVyQWRkcgEAAAALa2V5VXNlck5hbWUAAAABAAAACmNhbGxlckFkZHIJAAEsAAAAAgIAAAAKdXNlcl9uYW1lXwUAAAAKY2FsbGVyQWRkcgEAAAALa2V5VXNlckRlc2MAAAABAAAACmNhbGxlckFkZHIJAAEsAAAAAgIAAAAKdXNlcl9kZXNjXwUAAAAKY2FsbGVyQWRkcgEAAAANa2V5VXNlclNvY2lhbAAAAAEAAAAKY2FsbGVyQWRkcgkAASwAAAACAgAAAAx1c2VyX3NvY2lhbF8FAAAACmNhbGxlckFkZHIBAAAADGtleVVzZXJUaHVtYgAAAAEAAAAKY2FsbGVyQWRkcgkAASwAAAACAgAAAAt1c2VyX3RodW1iXwUAAAAKY2FsbGVyQWRkcgEAAAAPa2V5VXNlcklzQXJ0aXN0AAAAAQAAAApjYWxsZXJBZGRyCQABLAAAAAICAAAADnVzZXJfaXNhcnRpc3RfBQAAAApjYWxsZXJBZGRyAQAAAA1rZXlVc2VyU3RhdHVzAAAAAQAAAApjYWxsZXJBZGRyCQABLAAAAAICAAAADHVzZXJfc3RhdHVzXwUAAAAKY2FsbGVyQWRkcgEAAAALa2V5VXNlckRhdGUAAAABAAAACmNhbGxlckFkZHIJAAEsAAAAAgIAAAAKdXNlcl9kYXRlXwUAAAAK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AgkAASwAAAACAgAAABJhcnRfYXJ0aWRieXNpZ25pZF8FAAAABnNpZ25JZAIAAAABXwUAAAAKY2FsbGVyQWRkcgEAAAAVa2V5QXJ0VHhpZEJ5SGFzaE93bmVyAAAAAgAAAApzaGEyNTZIYXNoAAAACmNhbGxlckFkZHIJAAEsAAAAAgIAAAAXYXJ0X3R4aWRfYnlfaGFzaF9vd25lcl8JAAJYAAAAAQkAC1QAAAABCQABmwAAAAEJAAEsAAAAAgUAAAAKc2hhMjU2SGFzaAUAAAAKY2FsbGVyQWRkcgAAAAkAAAABaQEAAAAMcmVnaXN0ZXJVc2VyAAAABAAAAARuYW1lAAAAC2Rlc2NyaXB0aW9uAAAABXRodW1iAAAABnNvY2lhbAQAAAAKY2FsbGVyQWRkcgkABCUAAAABCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAAD3VzZXJDYW5SZWdpc3RlcgkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAADWtleVVzZXJTdGF0dXMAAAABBQAAAApjYWxsZXJBZGRyBAAAAAJpZAkAAlgAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkBAAAAAl0aW1lc3RhbXAIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wAwMJAAAAAAAAAgUAAAAPdXNlckNhblJlZ2lzdGVyBQAAAA11c2VyU3VzcGVuZGVkBgkAAAAAAAACBQAAAA91c2VyQ2FuUmVnaXN0ZXIFAAAAC3VzZXJSZW1vdmVkCQAAAgAAAAECAAAAS1lvdSBhcmUgbm93IGFsbG93ZWQgdG8gcmVnaXN0ZXIsIHlvdXIgYWNjb3VudCBoYXZlIGJlZW4gc3VzcGVuZGVkLyByZW1vdmVkLgMJAAAAAAAAAgUAAAAPdXNlckNhblJlZ2lzdGVyBQAAAA51c2VyUmVnaXN0ZXJlZAkAAAIAAAABAgAAAD1Zb3UgYXJlIGFscmVhZHkgcmVnaXN0ZXJlZCwgcGxlYXNlIHVzZSB1cGRhdGUgbWV0aG9kIGluc3RlYWQuAwMJAAAAAAAAAgUAAAAPdXNlckNhblJlZ2lzdGVyAgAAAAAFAAAAD1dISVRFTElTVEVET05MWQcJAAACAAAAAQIAAABNWW91IGFyZSBub3cgYWxsb3dlZCB0byByZWdpc3RlciB5ZXQsIHBsZWFzZSBjb250YWN0IHVzIGZpcnN0IHRvIGdldCBhcHByb3ZlZC4DAwkAAAAAAAACBQAAAARuYW1lAgAAAAAGCQAAAAAAAAIFAAAAC2Rlc2NyaXB0aW9uAgAAAAAJAAACAAAAAQIAAAAkTmFtZSBhbmQgZGVzY3JpcHRpb24gY2Fubm90IGJlIGVtcHR5AwkAAGYAAAACCQABMQAAAAEFAAAAC2Rlc2NyaXB0aW9uAAAAAAAAAAJYCQAAAgAAAAECAAAAKjYwMCBDaGFyYWN0ZXJzIG1heGltdW0gZm9yIHRoZSBkZXNjcmlwdGlvbgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAC2tleVVzZXJEYXRlAAAAAQUAAAAKY2FsbGVyQWRkcgUAAAAJdGltZXN0YW1wCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAtrZXlVc2VyQWRkcgAAAAEFAAAACmNhbGxlckFkZHIJAAEsAAAAAgkAASwAAAACBQAAAAJpZAIAAAABXwkAAaQAAAABCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAALa2V5VXNlck5hbWUAAAABBQAAAApjYWxsZXJBZGRyBQAAAARuYW1lCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAtrZXlVc2VyRGVzYwAAAAEFAAAACmNhbGxlckFkZHIFAAAAC2Rlc2NyaXB0aW9uCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA1rZXlVc2VyU29jaWFsAAAAAQUAAAAKY2FsbGVyQWRkcgUAAAAGc29jaWFsCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAxrZXlVc2VyVGh1bWIAAAABBQAAAApjYWxsZXJBZGRyBQAAAAV0aHVtYgkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgkBAAAAD2tleVVzZXJJc0FydGlzdAAAAAEFAAAACmNhbGxlckFkZHIHCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA1rZXlVc2VyU3RhdHVzAAAAAQUAAAAKY2FsbGVyQWRkcgUAAAAOdXNlclJlZ2lzdGVyZWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAObGFzdF9pbnZva2VfaWQFAAAAAmlkBQAAAANuaWwAAAABaQEAAAAKdXBkYXRlVXNlcgAAAAQAAAAEbmFtZQAAAAtkZXNjcmlwdGlvbgAAAAV0aHVtYgAAAAZzb2NpYWwEAAAACmNhbGxlckFkZHIJAAQlAAAAAQkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BAAAAA91c2VyQ2FuUmVnaXN0ZXIJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAAA1rZXlVc2VyU3RhdHVzAAAAAQUAAAAKY2FsbGVyQWRkcgMDCQAAAAAAAAIFAAAAD3VzZXJDYW5SZWdpc3RlcgUAAAANdXNlclN1c3BlbmRlZAYJAAAAAAAAAgUAAAAPdXNlckNhblJlZ2lzdGVyBQAAAAt1c2VyUmVtb3ZlZAkAAAIAAAABAgAAAEtZb3UgYXJlIG5vdyBhbGxvd2VkIHRvIHJlZ2lzdGVyLCB5b3VyIGFjY291bnQgaGF2ZSBiZWVuIHN1c3BlbmRlZC8gcmVtb3ZlZC4DAwkAAAAAAAACBQAAAA91c2VyQ2FuUmVnaXN0ZXICAAAAAAYJAAAAAAAAAgUAAAAPdXNlckNhblJlZ2lzdGVyBQAAAAt1c2VyQWxsb3dlZAkAAAIAAAABAgAAACdQbGVhc2UgcmVnaXN0ZXIgZmlyc3Qgd2l0aCByZWdpc3RlclVzZXIEAAAAAmlkCQACWAAAAAEIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQEAAAACXRpbWVzdGFtcAgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXADAwkAAAAAAAACBQAAAARuYW1lAgAAAAAGCQAAAAAAAAIFAAAAC2Rlc2NyaXB0aW9uAgAAAAAJAAACAAAAAQIAAAAkTmFtZSBhbmQgZGVzY3JpcHRpb24gY2Fubm90IGJlIGVtcHR5AwkAAGYAAAACCQABMQAAAAEFAAAAC2Rlc2NyaXB0aW9uAAAAAAAAAAJYCQAAAgAAAAECAAAAKjYwMCBDaGFyYWN0ZXJzIG1heGltdW0gZm9yIHRoZSBkZXNjcmlwdGlvbgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAALa2V5VXNlck5hbWUAAAABBQAAAApjYWxsZXJBZGRyBQAAAARuYW1lCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAtrZXlVc2VyRGVzYwAAAAEFAAAACmNhbGxlckFkZHIFAAAAC2Rlc2NyaXB0aW9uCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA1rZXlVc2VyU29jaWFsAAAAAQUAAAAKY2FsbGVyQWRkcgUAAAAGc29jaWFsCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAxrZXlVc2VyVGh1bWIAAAABBQAAAApjYWxsZXJBZGRyBQAAAAV0aHVtYgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAA5sYXN0X2ludm9rZV9pZAUAAAACaWQFAAAAA25pbAAAAAFpAQAAABBjaGFuZ2VVc2VyU3RhdHVzAAAAAgAAAAdhZGRyZXNzAAAABnN0YXR1cwQAAAAKY2FsbGVyQWRkcgkABCUAAAABCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAAAmlkCQACWAAAAAEIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQEAAAAC3N0YXR1c1RvU2V0AwkAAAAAAAACBQAAAAZzdGF0dXMFAAAADHVzZXJWZXJpZmllZAUAAAAMdXNlclZlcmlmaWVkAwkAAAAAAAACBQAAAAZzdGF0dXMFAAAADnVzZXJSZWdpc3RlcmVkBQAAAA51c2VyUmVnaXN0ZXJlZAMJAAAAAAAAAgUAAAAGc3RhdHVzBQAAAA11c2VyU3VzcGVuZGVkBQAAAA11c2VyU3VzcGVuZGVkAwkAAAAAAAACBQAAAAZzdGF0dXMFAAAAC3VzZXJSZW1vdmVkBQAAAAt1c2VyUmVtb3ZlZAMJAAAAAAAAAgUAAAAGc3RhdHVzBQAAAAt1c2VyQWxsb3dlZAUAAAALdXNlckFsbG93ZWQJAAACAAAAAQIAAAAOVW5rbm93biBzdGF0dXMD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bHkgU0lHTiB0b2tlbiBhY2NlcHRlZCBhdCB0aGUgbW9tZW50BAAAABljdXJyZW50Q2VydGlmaWNhdGlvblByaWNlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAAD3N0b3JhZ2VWZXJpZmllcgkAASwAAAACAgAAABJjZXJ0aWZpY2F0aW9uX2ZlZV8JAAJYAAAAAQUAAAALc2lnbkFzc2V0SWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAFcHJpY2UFAAAAByRtYXRjaDAFAAAABXByaWNlCQAAAgAAAAECAAAAGVByaWNlIHVuZGVmaW5lZCBpbiBvcmFjbGUDCQEAAAACIT0AAAACBQAAAAZhbW91bnQFAAAAGWN1cnJlbnRDZXJ0aWZpY2F0aW9uUHJpY2UJAAACAAAAAQkAASwAAAACAgAAABlQYXltZW50IGFtb3VudCBzaG91bGQgYmUgCQABpAAAAAEFAAAAGWN1cnJlbnRDZXJ0aWZpY2F0aW9uUHJpY2UEAAAACmVudHJ5RXhpc3QJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAABVrZXlBcnRUeGlkQnlIYXNoT3duZXIAAAACBQAAAApzaGEyNTZIYXNoBQAAAA1jYWxsZXJBZGRyZXNzAwkBAAAAAiE9AAAAAgUAAAAKZW50cnlFeGlzdAIAAAAACQAAAgAAAAECAAAAKllvdSBhbHJlYWR5IGFkZGVkIHRoaXMgYXJ0d29yayBvbiBTaWduIEFydAQAAAAJaGFzaEV4aXN0CQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAARa2V5QXJ0T3duZXJCeUhhc2gAAAABBQAAAApzaGEyNTZIYXNoAwkBAAAAAiE9AAAAAgUAAAAJaGFzaEV4aXN0AgAAAAAJAAACAAAAAQIAAAAzVGhpcyBhcnR3b3JrIGhhc2ggaXMgYWxyZWFkeSByZWdpc3RlcmVkIG9uIFNpZ24gQXJ0BAAAAA9pc1NpZ25DZXJ0aWZpZWQJAQAAABRjaGVja1NpZ25DZXJ0aWZpY2F0ZQAAAAMFAAAABnNpZ25JRAUAAAANY2FsbGVyQWRkcmVzcwUAAAAKc2hhMjU2SGFzaAMJAQAAAAEhAAAAAQUAAAAPaXNTaWduQ2VydGlmaWVkCQAAAgAAAAECAAAAS1NpZ24gQ2VydGlmaWNhdGUgbm90IGZvdW5kIG9uIFNpZ24td2ViLmFwcCBzbWFydCBjb250cmFjdCBmb3IgdGhpcyBhZGRyZXNzLgMJAAAAAAAAAgkAATEAAAABBQAAAApjaWREaXNwbGF5AAAAAAAAAAAACQAAAgAAAAECAAAAG0Rpc3BsYXkgQ0lEIGNhbm5vdCBiZSBlbXB0eQMJAAAAAAAAAgkAATEAAAABBQAAAARuYW1lAAAAAAAAAAAACQAAAgAAAAECAAAAFVRpdGxlIGNhbm5vdCBiZSBlbXB0eQMJAABmAAAAAgkAATEAAAABBQAAAARuYW1lAAAAAAAAAABkCQAAAgAAAAECAAAAIzEwMCBDaGFyYWN0ZXJzIG1heGltdW0gZm9yIHRoZSBuYW1lAwkAAGYAAAACCQABMQAAAAEFAAAAC2Rlc2NyaXB0aW9uAAAAAAAAAAPoCQAAAgAAAAECAAAAKzEwMDAgQ2hhcmFjdGVycyBtYXhpbXVtIGZvciB0aGUgZGVzY3JpcHRpb24DCQAAAAAAAAIJAAExAAAAAQUAAAALZGVzY3JpcHRpb24AAAAAAAAAAAAJAAACAAAAAQIAAAAbRGVzY3JpcHRpb24gY2Fubm90IGJlIGVtcHR5BAAAAAh0YWdzTGlzdAkABLUAAAACBQAAAAR0YWdzAgAAAAEsAwkAAGYAAAACCQABkAAAAAEFAAAACHRhZ3NMaXN0AAAAAAAAAAAFCQAAAgAAAAECAAAAOFRhZ3Mgc2hvdWxkIGJlIG1heGltdW0gNSBzaW5nbGUgd29yZCBzZXBhcmF0ZWQgYnkgc3BhY2UuBAAAABB1c2VySXNSZWdpc3RlcmVkBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAMdXNlcl9zdGF0dXNfBQAAAA1jYWxsZXJBZGRyZXNzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAXMFAAAAByRtYXRjaDAFAAAAAXMFAAAAEHVzZXJVbnJlZ2lzdGVyZWQEAAAACXRpbWVzdGFtcAgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXADAwkBAAAACWlzRGVmaW5lZAAAAAEFAAAAEHVzZXJJc1JlZ2lzdGVyZWQJAAAAAAAAAgUAAAAQdXNlcklzUmVnaXN0ZXJlZAUAAAAQdXNlclVucmVnaXN0ZXJlZAcJAAACAAAAAQIAAAA4UGxlYXNlIHJlZ2lzdGVyIHRoaXMgYWNjb3VudCBmaXJzdCB3aXRoICJVc2VyIGluZm9zIiB0YWIDCQAAAAAAAAIFAAAAEHVzZXJJc1JlZ2lzdGVyZWQFAAAADXVzZXJTdXNwZW5kZWQJAAACAAAAAQIAAAAZWW91ciBhY2NvdW50IGlzIHN1c3BlbmRlZAMJAAAAAAAAAgUAAAAQdXNlcklzUmVnaXN0ZXJlZAUAAAALdXNlclJlbW92ZWQJAAACAAAAAQIAAAAeWW91ciBhY2NvdW50IGhhdmUgYmVlbiByZW1vdmVkAwkAAGYAAAACBQAAAAdtYXhtaW50AAAAAAAAAAAKCQAAAgAAAAECAAAAH01heGltdW0gMTAgZWRpdGlvbnMgcGVyIGFydHdvcmsDCQEAAAACIT0AAAACCQABMQAAAAEFAAAACnNoYTI1Nkhhc2gAAAAAAAAAAEAJAAACAAAAAQIAAAAxSGFzaCBzaG91bGQgYmUgc2hhMjU2IHN0cmluZyBjb21wb3NlZCBvZiA2NCBjaGFyLgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAARa2V5QXJ0T3duZXJCeUhhc2gAAAABBQAAAApzaGEyNTZIYXNoBQAAAA1jYWxsZXJBZGRyZXNzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABVrZXlBcnRUeGlkQnlIYXNoT3duZXIAAAACBQAAAApzaGEyNTZIYXNoBQAAAA1jYWxsZXJBZGRyZXNzBQAAAAVhcnRJZAkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgkBAAAAD2tleVVzZXJJc0FydGlzdAAAAAEFAAAADWNhbGxlckFkZHJlc3MGCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAKa2V5QXJ0RGF0ZQAAAAIFAAAADWNhbGxlckFkZHJlc3MFAAAABWFydElkBQAAAAl0aW1lc3RhbXAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAACmtleUFydE5hbWUAAAACBQAAAA1jYWxsZXJBZGRyZXNzBQAAAAVhcnRJZAUAAAAEbmFtZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAKa2V5QXJ0RGVzYwAAAAIFAAAADWNhbGxlckFkZHJlc3MFAAAABWFydElkBQAAAAtkZXNjcmlwdGlvbgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAQa2V5QXJ0RGlzcGxheUNpZAAAAAIFAAAADWNhbGxlckFkZHJlc3MFAAAABWFydElkBQAAAApjaWREaXNwbGF5CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA9rZXlBcnRFeHBvcnRDaWQAAAACBQAAAA1jYWxsZXJBZGRyZXNzBQAAAAVhcnRJZAUAAAAJY2lkRXhwb3J0CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABBrZXlBcnRFeHBvcnRIYXNoAAAAAgUAAAANY2FsbGVyQWRkcmVzcwUAAAAFYXJ0SWQFAAAADHNoYTI1NkV4cG9ydAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAARa2V5QXJ0TGljZW5jZUhhc2gAAAACBQAAAA1jYWxsZXJBZGRyZXNzBQAAAAVhcnRJZAUAAAANc2hhMjU2TGljZW5jZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAQa2V5QXJ0TGljZW5jZUNpZAAAAAIFAAAADWNhbGxlckFkZHJlc3MFAAAABWFydElkBQAAAApjaWRMaWNlbmNlCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAprZXlBcnRUeXBlAAAAAgUAAAANY2FsbGVyQWRkcmVzcwUAAAAFYXJ0SWQFAAAABHR5cGUJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAACmtleUFydFRhZ3MAAAACBQAAAA1jYWxsZXJBZGRyZXNzBQAAAAVhcnRJZAUAAAAEdGFncwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADWtleUFydE1heE1pbnQAAAACBQAAAA1jYWxsZXJBZGRyZXNzBQAAAAVhcnRJZAUAAAAHbWF4bWludAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAMa2V5QXJ0U2lnbklEAAAAAgUAAAANY2FsbGVyQWRkcmVzcwUAAAAFYXJ0SWQFAAAABnNpZ25JRAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADGtleUFydElzc3VlZAAAAAIFAAAADWNhbGxlckFkZHJlc3MFAAAABWFydElkAAAAAAAAAAAACQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACCQEAAAAMa2V5QXJ0T25TYWxlAAAAAgUAAAANY2FsbGVyQWRkcmVzcwUAAAAFYXJ0SWQHCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABNrZXlBcnRBcnRpZEJ5U2lnbmlkAAAAAgUAAAANY2FsbGVyQWRkcmVzcwUAAAAGc2lnbklEBQAAAAVhcnRJZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAA5sYXN0X2ludm9rZV9pZAUAAAAFYXJ0SWQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEFAAAAC2ZlZVJlY2VpdmVyBQAAAAZhbW91bnQFAAAAB2Fzc2V0SWQFAAAAA25pbAAAAAZpbnZva2UBAAAADXVwZGF0ZUFydHdvcmsAAAALAAAABHR4aWQAAAAEbmFtZQAAAAtkZXNjcmlwdGlvbgAAAAR0YWdzAAAABHR5cGUAAAAHbWF4bWludAAAAApjaWREaXNwbGF5AAAADHNoYTI1NkV4cG9ydAAAAAljaWRFeHBvcnQAAAANc2hhMjU2TGljZW5jZQAAAApjaWRMaWNlbmNlBAAAAAh1cGRhdGVJZAkAAlgAAAABCAUAAAAGaW52b2tlAAAADXRyYW5zYWN0aW9uSWQEAAAADWNhbGxlckFkZHJlc3MJAAJYAAAAAQgIBQAAAAZpbnZva2UAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAplbnRyeUV4aXN0CQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAKa2V5QXJ0TmFtZQAAAAIFAAAADWNhbGxlckFkZHJlc3MFAAAABHR4aWQDCQAAAAAAAAIFAAAACmVudHJ5RXhpc3QCAAAAAAkAAAIAAAABAgAAADFUaGlzIGVudHJ5IGRvZXNuJ3QgZXhpc3Qgb3IgeW91IGFyZSBub3QgdGhlIG93bmVyAwkAAAAAAAACCQABMQAAAAEFAAAABG5hbWUAAAAAAAAAAAAJAAACAAAAAQIAAAAVVGl0bGUgY2Fubm90IGJlIGVtcHR5AwkAAGYAAAACCQABMQAAAAEFAAAABG5hbWUAAAAAAAAAAGQJAAACAAAAAQIAAAAjMTAwIENoYXJhY3RlcnMgbWF4aW11bSBmb3IgdGhlIG5hbWUDCQAAZgAAAAIJAAExAAAAAQUAAAALZGVzY3JpcHRpb24AAAAAAAAAA+gJAAACAAAAAQIAAAArMTAwMCBDaGFyYWN0ZXJzIG1heGltdW0gZm9yIHRoZSBkZXNjcmlwdGlvbgMJAAAAAAAAAgkAATEAAAABBQAAAAtkZXNjcmlwdGlvbgAAAAAAAAAAAAkAAAIAAAABAgAAABtEZXNjcmlwdGlvbiBjYW5ub3QgYmUgZW1wdHkEAAAADWFydHdvcmtNaW50ZWQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkBAAAADGtleUFydElzc3VlZAAAAAIFAAAADWNhbGxlckFkZHJlc3MFAAAABHR4aWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYgUAAAAHJG1hdGNoMAMJAAAAAAAAAgUAAAABYgAAAAAAAAAAAAcGCQAAAgAAAAECAAAAFVNvbWV0aGluZyB3ZW50IHdyb25nLgQAAAAIdGFnc0xpc3QJAAS1AAAAAgUAAAAEdGFncwIAAAABLAMJAABmAAAAAgkAAZAAAAABBQAAAAh0YWdzTGlzdAAAAAAAAAAABQkAAAIAAAABAgAAADhUYWdzIHNob3VsZCBiZSBtYXhpbXVtIDUgc2luZ2xlIHdvcmQgc2VwYXJhdGVkIGJ5IHNwYWNlLgQAAAAQdXNlcklzUmVnaXN0ZXJlZAQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzCQABLAAAAAICAAAADHVzZXJfc3RhdHVzXwUAAAANY2FsbGVyQWRkcmVzcwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFzBQAAAAckbWF0Y2gwBQAAAAFzBQAAABB1c2VyVW5yZWdpc3RlcmVkAwMJAQAAAAlpc0RlZmluZWQAAAABBQAAABB1c2VySXNSZWdpc3RlcmVkCQAAAAAAAAIFAAAAEHVzZXJJc1JlZ2lzdGVyZWQFAAAAEHVzZXJVbnJlZ2lzdGVyZWQHCQAAAgAAAAECAAAAOFBsZWFzZSByZWdpc3RlciB0aGlzIGFjY291bnQgZmlyc3Qgd2l0aCAiVXNlciBpbmZvcyIgdGFiAwkAAAAAAAACBQAAABB1c2VySXNSZWdpc3RlcmVkBQAAAA11c2VyU3VzcGVuZGVkCQAAAgAAAAECAAAAGVlvdXIgYWNjb3VudCBpcyBzdXNwZW5kZWQDCQAAAAAAAAIFAAAAEHVzZXJJc1JlZ2lzdGVyZWQFAAAAC3VzZXJSZW1vdmVkCQAAAgAAAAECAAAAHllvdXIgYWNjb3VudCBoYXZlIGJlZW4gcmVtb3ZlZAMJAABmAAAAAgUAAAAHbWF4bWludAAAAAAAAAAACgkAAAIAAAABAgAAAB9NYXhpbXVtIDEwIGVkaXRpb25zIHBlciBhcnR3b3JrAwkBAAAAASEAAAABBQAAAA1hcnR3b3JrTWludGVkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAprZXlBcnROYW1lAAAAAgUAAAANY2FsbGVyQWRkcmVzcwUAAAAEdHhpZAUAAAAEbmFtZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAKa2V5QXJ0RGVzYwAAAAIFAAAADWNhbGxlckFkZHJlc3MFAAAABHR4aWQFAAAAC2Rlc2NyaXB0aW9uCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABBrZXlBcnREaXNwbGF5Q2lkAAAAAgUAAAANY2FsbGVyQWRkcmVzcwUAAAAEdHhpZAUAAAAKY2lkRGlzcGxheQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAPa2V5QXJ0RXhwb3J0Q2lkAAAAAgUAAAANY2FsbGVyQWRkcmVzcwUAAAAEdHhpZAUAAAAJY2lkRXhwb3J0CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABBrZXlBcnRFeHBvcnRIYXNoAAAAAgUAAAANY2FsbGVyQWRkcmVzcwUAAAAEdHhpZAUAAAAMc2hhMjU2RXhwb3J0CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABBrZXlBcnRMaWNlbmNlQ2lkAAAAAgUAAAANY2FsbGVyQWRkcmVzcwUAAAAEdHhpZAUAAAAKY2lkTGljZW5jZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAARa2V5QXJ0TGljZW5jZUhhc2gAAAACBQAAAA1jYWxsZXJBZGRyZXNzBQAAAAR0eGlkBQAAAA1zaGEyNTZMaWNlbmNlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAANa2V5QXJ0TWF4TWludAAAAAIFAAAADWNhbGxlckFkZHJlc3MFAAAABHR4aWQFAAAAB21heG1pbnQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAACmtleUFydFRhZ3MAAAACBQAAAA1jYWxsZXJBZGRyZXNzBQAAAAR0eGlkBQAAAAR0YWdzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAprZXlBcnRUeXBlAAAAAgUAAAANY2FsbGVyQWRkcmVzcwUAAAAEdHhpZAUAAAAEdHlwZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAA5sYXN0X2ludm9rZV9pZAUAAAAIdXBkYXRlSWQFAAAAA25pbAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAKa2V5QXJ0TmFtZQAAAAIFAAAADWNhbGxlckFkZHJlc3MFAAAABHR4aWQFAAAABG5hbWUJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAACmtleUFydERlc2MAAAACBQAAAA1jYWxsZXJBZGRyZXNzBQAAAAR0eGlkBQAAAAtkZXNjcmlwdGlvbgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAQa2V5QXJ0RGlzcGxheUNpZAAAAAIFAAAADWNhbGxlckFkZHJlc3MFAAAABHR4aWQFAAAACmNpZERpc3BsYXkJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAACmtleUFydFR5cGUAAAACBQAAAA1jYWxsZXJBZGRyZXNzBQAAAAR0eGlkBQAAAAR0eXBlCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRy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", "height": 1183748, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7MK1qWwKhhQ1uZrVf4N3XqyDp3PbFKS44ntZFmdyZZw7 Next: 9P7AaePoa3zjRbxndBSqnyMRMDvxmUXFQDxV7nDHNXeL Diff:
OldNewDifferences
419419
420420
421421 @Callable(x)
422-func deleteArtwork (U,aT) = {
422+func deleteArtwork (U,as) = {
423423 let L = toString(addressFromPublicKey(x.callerPublicKey))
424424 let E = toBase58String(x.transactionId)
425- if ((L != g))
426- then throw("You are not allowed to do that")
427- else [DeleteEntry(T(aT, U)), DeleteEntry(V(aT, U)), DeleteEntry(W(aT, U)), DeleteEntry(X(aT, U)), DeleteEntry(Z(aT, U)), DeleteEntry(Y(aT, U)), DeleteEntry(ae(aT, U)), DeleteEntry(af(aT, U)), DeleteEntry(ah(aT, U)), DeleteEntry(ag(aT, U)), DeleteEntry(aa(aT, U)), DeleteEntry(ab(aT, U)), DeleteEntry(ac(aT, U)), DeleteEntry(ad(aT, U)), StringEntry("last_invoke_id", E)]
425+ if (if ((L == g))
426+ then true
427+ else (L == h))
428+ then [DeleteEntry(T(as, U)), DeleteEntry(V(as, U)), DeleteEntry(W(as, U)), DeleteEntry(X(as, U)), DeleteEntry(Z(as, U)), DeleteEntry(Y(as, U)), DeleteEntry(ae(as, U)), DeleteEntry(af(as, U)), DeleteEntry(ah(as, U)), DeleteEntry(ag(as, U)), DeleteEntry(aa(as, U)), DeleteEntry(ab(as, U)), DeleteEntry(ac(as, U)), DeleteEntry(ad(as, U)), StringEntry("last_invoke_id", E)]
429+ else throw("You are not allowed to do that.")
428430 }
429431
430432
431433
432434 @Callable(av)
433-func sellArtwork (aU,aJ) = {
435+func sellArtwork (aT,aJ) = {
434436 let E = toBase58String(av.transactionId)
435437 let aE = toBase58String(av.caller.bytes)
436- let aV = lastBlock.timestamp
437- let aW = s(((aU + "_") + aE))
438- if (!(isDefined(aW)))
438+ let aU = lastBlock.timestamp
439+ let aV = s(((aT + "_") + aE))
440+ if (!(isDefined(aV)))
439441 then throw("This artwork doesn't exit or you are not the owner")
440442 else {
441443 let aO = s(("user_status_" + aE))
442444 if ((aO == ""))
443445 then throw("Please register this account first")
444446 else {
445- let aX = w(((("art_issued_" + aW) + "_") + aE))
446- let aY = w(((("art_maxmint_" + aW) + "_") + aE))
447- if ((aX == aY))
447+ let aW = w(((("art_issued_" + aV) + "_") + aE))
448+ let aX = w(((("art_maxmint_" + aV) + "_") + aE))
449+ if ((aW == aX))
448450 then throw("You reached the max edition allowed to sell for this edition.")
449451 else if ((aO == m))
450452 then throw("Your account is suspended")
451- else if (!(isDefined(aW)))
453+ else if (!(isDefined(aV)))
452454 then throw("This artwork desn't exist")
453- else if ((size(aU) != 64))
455+ else if ((size(aT) != 64))
454456 then throw("This hash is incorrect.")
455457 else {
456- let aZ = if ((aJ > 0))
458+ let aY = if ((aJ > 0))
457459 then true
458460 else false
459-[BooleanEntry(((("art_onsale_" + aW) + "_") + aE), aZ), IntegerEntry(((("art_price_" + aW) + "_") + aE), aJ), StringEntry("last_invoke_id", E)]
461+[BooleanEntry(((("art_onsale_" + aV) + "_") + aE), aY), IntegerEntry(((("art_price_" + aV) + "_") + aE), aJ), StringEntry("last_invoke_id", E)]
460462 }
461463 }
462464 }
465467
466468
467469 @Callable(av)
468-func buyArtwork (aU,ba) = {
470+func buyArtwork (aT,aZ) = {
469471 let E = toBase58String(av.transactionId)
470472 let aE = toBase58String(av.caller.bytes)
471- let bb = w("total_nft_issued")
472- let aW = s(((aU + "_") + ba))
473- if ((aW == ""))
473+ let ba = w("total_nft_issued")
474+ let aV = s(((aT + "_") + aZ))
475+ if ((aV == ""))
474476 then throw("This artwork doesn't exit or you are not the owner")
475477 else {
476478 let aO = s(("user_status_" + aE))
477479 if (!(isDefined(aO)))
478480 then throw("Please register this account first")
479481 else {
480- let bc = s(((("art_sold_" + aW) + "_") + ba))
481- let aX = w(((("art_issued_" + aW) + "_") + ba))
482- let bd = w(((("art_price_" + aW) + "_") + ba))
483- if ((bd == 0))
482+ let bb = s(((("art_sold_" + aV) + "_") + aZ))
483+ let aW = w(((("art_issued_" + aV) + "_") + aZ))
484+ let bc = w(((("art_price_" + aV) + "_") + aZ))
485+ if ((bc == 0))
484486 then throw("This artwork is not for sell")
485487 else {
486- let aY = w(((("art_maxmint_" + aW) + "_") + ba))
488+ let aX = w(((("art_maxmint_" + aV) + "_") + aZ))
487489 let aF = value(av.payments[0])
488490 let aG = value(aF.amount)
489491 let aH = if (isDefined(aF.assetId))
490492 then throw("Only Waves token accepted at the moment")
491493 else unit
492- if ((aX == aY))
494+ if ((aW == aX))
493495 then throw("Cannot buy this artwork anymore")
494- else if ((bd != aG))
496+ else if ((bc != aG))
495497 then throw("Payment don't match seller price")
496498 else {
497- let be = (aX + 1)
498- let aV = lastBlock.timestamp
499- let bf = (((((((((((((("{\"version\": 1,\"artID\": \"" + aW) + "\",\"maxIssuable\": \"") + toString(aY)) + "\",\"signID\": \"SA_") + toString((bb + 1))) + "\", \"creator\": \"") + ba) + "\", \"issue\": \"") + toString(be)) + "/") + toString(aY)) + "\", \"hash\": ") + aU) + "}")
500- let bg = Issue(("SA_" + toString((bb + 1))), bf, 1, 0, false)
501- let bh = calculateAssetId(bg)
502- let aZ = if ((be == aY))
499+ let bd = (aW + 1)
500+ let aU = lastBlock.timestamp
501+ let be = (((((((((((((("{\"version\": 1,\"artID\": \"" + aV) + "\",\"maxIssuable\": \"") + toString(aX)) + "\",\"signID\": \"SA_") + toString((ba + 1))) + "\", \"creator\": \"") + aZ) + "\", \"issue\": \"") + toString(bd)) + "/") + toString(aX)) + "\", \"hash\": ") + aT) + "}")
502+ let bf = Issue(("SA_" + toString((ba + 1))), be, 1, 0, false)
503+ let bg = calculateAssetId(bf)
504+ let aY = if ((bd == aX))
503505 then false
504506 else true
505-[IntegerEntry(((("art_issued_" + aW) + "_") + ba), be), StringEntry(((((((("art_sold_" + toString(be)) + "_of_") + toString(aY)) + "_") + aW) + "_") + ba), ((((((aE + "_") + toString(aV)) + "_") + E) + "_") + toString(bd))), IntegerEntry("total_nft_issued", (bb + 1)), StringEntry("last_invoke_id", E), bg, BooleanEntry(((("art_onsale_" + aW) + "_") + aE), aZ), ScriptTransfer(Address(fromBase58String(ba)), aG, aH), ScriptTransfer(av.caller, 1, bh)]
507+[IntegerEntry(((("art_issued_" + aV) + "_") + aZ), bd), StringEntry(((((((("art_sold_" + toString(bd)) + "_of_") + toString(aX)) + "_") + aV) + "_") + aZ), ((((((aE + "_") + toString(aU)) + "_") + E) + "_") + toString(bc))), IntegerEntry("total_nft_issued", (ba + 1)), StringEntry("last_invoke_id", E), bf, BooleanEntry(((("art_onsale_" + aV) + "_") + aE), aY), ScriptTransfer(Address(fromBase58String(aZ)), aG, aH), ScriptTransfer(av.caller, 1, bg)]
506508 }
507509 }
508510 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = value(addressFromString("3N2s5RtaHPBenCsx2ECcoFRbYHx3noZhXW1"))
55
66 let b = value(addressFromString("3MpJEb36ZQyk1haKnocayJcYM31cNPXPiK3"))
77
88 let c = value(addressFromString("3NC28hSivrmsTUXaYD1x6L362J4ZpUnoTdB"))
99
1010 let d = "3N1E6tXddRoVaRfQ9dQ3vg5LaW2fsd8HKub"
1111
1212 let e = base58'Gf9t8FA4H3ssoZPCwrg3KwUFCci8zuUFP9ssRsUY3s6a'
1313
1414 let f = "3KFXBGGLCjA5Z2DuW4Dq9fDDrHjJJP1ZEkaoajSzuKsC"
1515
1616 let g = "3MsG6jPNCrVJUtYB7XJBxS7utWsXAf4n9Vp"
1717
1818 let h = "3Mzm4VLwsN9uZwbTMzPj3XuxV6kEfAR8UDN"
1919
2020 let i = true
2121
2222 let j = "ALLOWED"
2323
2424 let k = "REGISTERED"
2525
2626 let l = "VERIFIED"
2727
2828 let m = "SUSPENDED"
2929
3030 let n = "REMOVED"
3131
3232 let o = "UNREGISTERED"
3333
3434 let p = "ON_SALE"
3535
3636 let q = "SOLD"
3737
3838 let r = "CANCELED"
3939
4040 func s (t) = {
4141 let u = getString(this, t)
4242 if ($isInstanceOf(u, "String"))
4343 then {
4444 let v = u
4545 v
4646 }
4747 else ""
4848 }
4949
5050
5151 func w (t) = {
5252 let u = getInteger(this, t)
5353 if ($isInstanceOf(u, "Int"))
5454 then {
5555 let x = u
5656 x
5757 }
5858 else 0
5959 }
6060
6161
6262 func y (z,A,B) = {
6363 let u = getString(c, ((("data_fc_" + z) + "_") + A))
6464 if ($isInstanceOf(u, "String"))
6565 then {
6666 let v = u
6767 if (contains(v, B))
6868 then true
6969 else false
7070 }
7171 else false
7272 }
7373
7474
7575 func C (D,E) = {
7676 let F = value(assetInfo(fromBase58String(E)))
7777 if (if (if ((F.quantity != 1))
7878 then true
7979 else (F.decimals != 0))
8080 then true
8181 else (F.reissuable != false))
8282 then (D + 0)
8383 else (D + 1)
8484 }
8585
8686
8787 func G (H) = if (!(i))
8888 then true
8989 else {
9090 let u = getBoolean(b, H)
9191 if ($isInstanceOf(u, "Boolean"))
9292 then {
9393 let I = u
9494 I
9595 }
9696 else throw("You are not allowed, please contact us first.")
9797 }
9898
9999
100100 func J (H) = {
101101 let u = getString(this, ("user_status_" + H))
102102 if ($isInstanceOf(u, "String"))
103103 then {
104104 let I = u
105105 I
106106 }
107107 else throw("Something went wrong.")
108108 }
109109
110110
111111 func K (L) = ("user_" + L)
112112
113113
114114 func M (L) = ("user_name_" + L)
115115
116116
117117 func N (L) = ("user_desc_" + L)
118118
119119
120120 func O (L) = ("user_social_" + L)
121121
122122
123123 func P (L) = ("user_thumb_" + L)
124124
125125
126126 func Q (L) = ("user_isartist_" + L)
127127
128128
129129 func R (L) = ("user_status_" + L)
130130
131131
132132 func S (L) = ("user_date_" + L)
133133
134134
135135 func T (L,U) = ((("art_date_" + U) + "_") + L)
136136
137137
138138 func V (L,U) = ((("art_name_" + U) + "_") + L)
139139
140140
141141 func W (L,U) = ((("art_desc_" + U) + "_") + L)
142142
143143
144144 func X (L,U) = ((("art_display_cid_" + U) + "_") + L)
145145
146146
147147 func Y (L,U) = ((("art_export_hash_" + U) + "_") + L)
148148
149149
150150 func Z (L,U) = ((("art_export_cid_" + U) + "_") + L)
151151
152152
153153 func aa (L,U) = ((("art_maxmint_" + U) + "_") + L)
154154
155155
156156 func ab (L,U) = ((("art_signid_" + U) + "_") + L)
157157
158158
159159 func ac (L,U) = ((("art_issued_" + U) + "_") + L)
160160
161161
162162 func ad (L,U) = ((("art_onsale_" + U) + "_") + L)
163163
164164
165165 func ae (L,U) = ((("art_licence_hash_" + U) + "_") + L)
166166
167167
168168 func af (L,U) = ((("art_licence_cid_" + U) + "_") + L)
169169
170170
171171 func ag (L,U) = ((("art_tags_" + U) + "_") + L)
172172
173173
174174 func ah (L,U) = ((("art_type_" + U) + "_") + L)
175175
176176
177177 func ai (B) = ("art_owner_by_hash_" + B)
178178
179179
180180 func aj (L,ak) = ((("art_artidbysignid_" + ak) + "_") + L)
181181
182182
183183 func al (B,L) = ("art_txid_by_hash_owner_" + toBase58String(sha256_16Kb(toBytes((B + L)))))
184184
185185
186186 @Callable(x)
187187 func registerUser (am,an,ao,ap) = {
188188 let L = toString(addressFromPublicKey(x.callerPublicKey))
189189 let aq = s(R(L))
190190 let E = toBase58String(x.transactionId)
191191 let ar = lastBlock.timestamp
192192 if (if ((aq == m))
193193 then true
194194 else (aq == n))
195195 then throw("You are now allowed to register, your account have been suspended/ removed.")
196196 else if ((aq == k))
197197 then throw("You are already registered, please use update method instead.")
198198 else if (if ((aq == ""))
199199 then i
200200 else false)
201201 then throw("You are now allowed to register yet, please contact us first to get approved.")
202202 else if (if ((am == ""))
203203 then true
204204 else (an == ""))
205205 then throw("Name and description cannot be empty")
206206 else if ((size(an) > 600))
207207 then throw("600 Characters maximum for the description")
208208 else [IntegerEntry(S(L), ar), StringEntry(K(L), ((E + "_") + toString(lastBlock.timestamp))), StringEntry(M(L), am), StringEntry(N(L), an), StringEntry(O(L), ap), StringEntry(P(L), ao), BooleanEntry(Q(L), false), StringEntry(R(L), k), StringEntry("last_invoke_id", E)]
209209 }
210210
211211
212212
213213 @Callable(x)
214214 func updateUser (am,an,ao,ap) = {
215215 let L = toString(addressFromPublicKey(x.callerPublicKey))
216216 let aq = s(R(L))
217217 if (if ((aq == m))
218218 then true
219219 else (aq == n))
220220 then throw("You are now allowed to register, your account have been suspended/ removed.")
221221 else if (if ((aq == ""))
222222 then true
223223 else (aq == j))
224224 then throw("Please register first with registerUser")
225225 else {
226226 let E = toBase58String(x.transactionId)
227227 let ar = lastBlock.timestamp
228228 if (if ((am == ""))
229229 then true
230230 else (an == ""))
231231 then throw("Name and description cannot be empty")
232232 else if ((size(an) > 600))
233233 then throw("600 Characters maximum for the description")
234234 else [StringEntry(M(L), am), StringEntry(N(L), an), StringEntry(O(L), ap), StringEntry(P(L), ao), StringEntry("last_invoke_id", E)]
235235 }
236236 }
237237
238238
239239
240240 @Callable(x)
241241 func changeUserStatus (as,at) = {
242242 let L = toString(addressFromPublicKey(x.callerPublicKey))
243243 let E = toBase58String(x.transactionId)
244244 let au = if ((at == l))
245245 then l
246246 else if ((at == k))
247247 then k
248248 else if ((at == m))
249249 then m
250250 else if ((at == n))
251251 then n
252252 else if ((at == j))
253253 then j
254254 else throw("Unknown status")
255255 if (if ((L == g))
256256 then true
257257 else (L == h))
258258 then [StringEntry(R(as), au), StringEntry("last_invoke_id", E)]
259259 else throw(((("You are not allowed to change user status " + L) + " / ") + g))
260260 }
261261
262262
263263
264264 @Callable(x)
265265 func deleteUser (as) = {
266266 let L = toString(addressFromPublicKey(x.callerPublicKey))
267267 let E = toBase58String(x.transactionId)
268268 if (if ((L == g))
269269 then true
270270 else (L == h))
271271 then [DeleteEntry(S(as)), DeleteEntry(K(as)), DeleteEntry(M(as)), DeleteEntry(N(as)), DeleteEntry(O(as)), DeleteEntry(P(as)), DeleteEntry(Q(as)), StringEntry(R(as), n), StringEntry("last_invoke_id", E)]
272272 else throw("You are not allowed to do that")
273273 }
274274
275275
276276
277277 @Callable(av)
278278 func addArtwork (B,z,am,an,aw,ax,ay,az,aA,aB,aC,aD) = {
279279 let U = toBase58String(av.transactionId)
280280 let aE = toBase58String(av.caller.bytes)
281281 if ((size(av.payments) == 0))
282282 then throw("No payment attached")
283283 else {
284284 let aF = value(av.payments[0])
285285 let aG = value(aF.amount)
286286 let aH = if (if (isDefined(aF.assetId))
287287 then (aF.assetId == e)
288288 else false)
289289 then aF.assetId
290290 else throw("Only SIGN token accepted at the moment")
291291 let aI = {
292292 let u = getInteger(a, ("certification_fee_" + toBase58String(e)))
293293 if ($isInstanceOf(u, "Int"))
294294 then {
295295 let aJ = u
296296 aJ
297297 }
298298 else throw("Price undefined in oracle")
299299 }
300300 if ((aG != aI))
301301 then throw(("Payment amount should be " + toString(aI)))
302302 else {
303303 let aK = s(al(B, aE))
304304 if ((aK != ""))
305305 then throw("You already added this artwork on Sign Art")
306306 else {
307307 let aL = s(ai(B))
308308 if ((aL != ""))
309309 then throw("This artwork hash is already registered on Sign Art")
310310 else {
311311 let aM = y(z, aE, B)
312312 if (!(aM))
313313 then throw("Sign Certificate not found on Sign-web.app smart contract for this address.")
314314 else if ((size(az) == 0))
315315 then throw("Display CID cannot be empty")
316316 else if ((size(am) == 0))
317317 then throw("Title cannot be empty")
318318 else if ((size(am) > 100))
319319 then throw("100 Characters maximum for the name")
320320 else if ((size(an) > 1000))
321321 then throw("1000 Characters maximum for the description")
322322 else if ((size(an) == 0))
323323 then throw("Description cannot be empty")
324324 else {
325325 let aN = split(aw, ",")
326326 if ((size(aN) > 5))
327327 then throw("Tags should be maximum 5 single word separated by space.")
328328 else {
329329 let aO = {
330330 let u = getString(this, ("user_status_" + aE))
331331 if ($isInstanceOf(u, "String"))
332332 then {
333333 let aP = u
334334 aP
335335 }
336336 else o
337337 }
338338 let ar = lastBlock.timestamp
339339 if (if (isDefined(aO))
340340 then (aO == o)
341341 else false)
342342 then throw("Please register this account first with \"User infos\" tab")
343343 else if ((aO == m))
344344 then throw("Your account is suspended")
345345 else if ((aO == n))
346346 then throw("Your account have been removed")
347347 else if ((ay > 10))
348348 then throw("Maximum 10 editions per artwork")
349349 else if ((size(B) != 64))
350350 then throw("Hash should be sha256 string composed of 64 char.")
351351 else [StringEntry(ai(B), aE), StringEntry(al(B, aE), U), BooleanEntry(Q(aE), true), IntegerEntry(T(aE, U), ar), StringEntry(V(aE, U), am), StringEntry(W(aE, U), an), StringEntry(X(aE, U), az), StringEntry(Z(aE, U), aB), StringEntry(Y(aE, U), aA), StringEntry(ae(aE, U), aC), StringEntry(af(aE, U), aD), StringEntry(ah(aE, U), ax), StringEntry(ag(aE, U), aw), IntegerEntry(aa(aE, U), ay), StringEntry(ab(aE, U), z), IntegerEntry(ac(aE, U), 0), BooleanEntry(ad(aE, U), false), StringEntry(aj(aE, z), U), StringEntry("last_invoke_id", U), ScriptTransfer(Address(fromBase58String(d)), aG, aH)]
352352 }
353353 }
354354 }
355355 }
356356 }
357357 }
358358 }
359359
360360
361361
362362 @Callable(av)
363363 func updateArtwork (aQ,am,an,aw,ax,ay,az,aA,aB,aC,aD) = {
364364 let aR = toBase58String(av.transactionId)
365365 let aE = toBase58String(av.caller.bytes)
366366 let aK = s(V(aE, aQ))
367367 if ((aK == ""))
368368 then throw("This entry doesn't exist or you are not the owner")
369369 else if ((size(am) == 0))
370370 then throw("Title cannot be empty")
371371 else if ((size(am) > 100))
372372 then throw("100 Characters maximum for the name")
373373 else if ((size(an) > 1000))
374374 then throw("1000 Characters maximum for the description")
375375 else if ((size(an) == 0))
376376 then throw("Description cannot be empty")
377377 else {
378378 let aS = {
379379 let u = getInteger(this, ac(aE, aQ))
380380 if ($isInstanceOf(u, "Int"))
381381 then {
382382 let I = u
383383 if ((I == 0))
384384 then false
385385 else true
386386 }
387387 else throw("Something went wrong.")
388388 }
389389 let aN = split(aw, ",")
390390 if ((size(aN) > 5))
391391 then throw("Tags should be maximum 5 single word separated by space.")
392392 else {
393393 let aO = {
394394 let u = getString(this, ("user_status_" + aE))
395395 if ($isInstanceOf(u, "String"))
396396 then {
397397 let aP = u
398398 aP
399399 }
400400 else o
401401 }
402402 if (if (isDefined(aO))
403403 then (aO == o)
404404 else false)
405405 then throw("Please register this account first with \"User infos\" tab")
406406 else if ((aO == m))
407407 then throw("Your account is suspended")
408408 else if ((aO == n))
409409 then throw("Your account have been removed")
410410 else if ((ay > 10))
411411 then throw("Maximum 10 editions per artwork")
412412 else if (!(aS))
413413 then [StringEntry(V(aE, aQ), am), StringEntry(W(aE, aQ), an), StringEntry(X(aE, aQ), az), StringEntry(Z(aE, aQ), aB), StringEntry(Y(aE, aQ), aA), StringEntry(af(aE, aQ), aD), StringEntry(ae(aE, aQ), aC), IntegerEntry(aa(aE, aQ), ay), StringEntry(ag(aE, aQ), aw), StringEntry(ah(aE, aQ), ax), StringEntry("last_invoke_id", aR)]
414414 else [StringEntry(V(aE, aQ), am), StringEntry(W(aE, aQ), an), StringEntry(X(aE, aQ), az), StringEntry(ah(aE, aQ), ax), StringEntry(ag(aE, aQ), aw), StringEntry("last_invoke_id", aR)]
415415 }
416416 }
417417 }
418418
419419
420420
421421 @Callable(x)
422-func deleteArtwork (U,aT) = {
422+func deleteArtwork (U,as) = {
423423 let L = toString(addressFromPublicKey(x.callerPublicKey))
424424 let E = toBase58String(x.transactionId)
425- if ((L != g))
426- then throw("You are not allowed to do that")
427- else [DeleteEntry(T(aT, U)), DeleteEntry(V(aT, U)), DeleteEntry(W(aT, U)), DeleteEntry(X(aT, U)), DeleteEntry(Z(aT, U)), DeleteEntry(Y(aT, U)), DeleteEntry(ae(aT, U)), DeleteEntry(af(aT, U)), DeleteEntry(ah(aT, U)), DeleteEntry(ag(aT, U)), DeleteEntry(aa(aT, U)), DeleteEntry(ab(aT, U)), DeleteEntry(ac(aT, U)), DeleteEntry(ad(aT, U)), StringEntry("last_invoke_id", E)]
425+ if (if ((L == g))
426+ then true
427+ else (L == h))
428+ then [DeleteEntry(T(as, U)), DeleteEntry(V(as, U)), DeleteEntry(W(as, U)), DeleteEntry(X(as, U)), DeleteEntry(Z(as, U)), DeleteEntry(Y(as, U)), DeleteEntry(ae(as, U)), DeleteEntry(af(as, U)), DeleteEntry(ah(as, U)), DeleteEntry(ag(as, U)), DeleteEntry(aa(as, U)), DeleteEntry(ab(as, U)), DeleteEntry(ac(as, U)), DeleteEntry(ad(as, U)), StringEntry("last_invoke_id", E)]
429+ else throw("You are not allowed to do that.")
428430 }
429431
430432
431433
432434 @Callable(av)
433-func sellArtwork (aU,aJ) = {
435+func sellArtwork (aT,aJ) = {
434436 let E = toBase58String(av.transactionId)
435437 let aE = toBase58String(av.caller.bytes)
436- let aV = lastBlock.timestamp
437- let aW = s(((aU + "_") + aE))
438- if (!(isDefined(aW)))
438+ let aU = lastBlock.timestamp
439+ let aV = s(((aT + "_") + aE))
440+ if (!(isDefined(aV)))
439441 then throw("This artwork doesn't exit or you are not the owner")
440442 else {
441443 let aO = s(("user_status_" + aE))
442444 if ((aO == ""))
443445 then throw("Please register this account first")
444446 else {
445- let aX = w(((("art_issued_" + aW) + "_") + aE))
446- let aY = w(((("art_maxmint_" + aW) + "_") + aE))
447- if ((aX == aY))
447+ let aW = w(((("art_issued_" + aV) + "_") + aE))
448+ let aX = w(((("art_maxmint_" + aV) + "_") + aE))
449+ if ((aW == aX))
448450 then throw("You reached the max edition allowed to sell for this edition.")
449451 else if ((aO == m))
450452 then throw("Your account is suspended")
451- else if (!(isDefined(aW)))
453+ else if (!(isDefined(aV)))
452454 then throw("This artwork desn't exist")
453- else if ((size(aU) != 64))
455+ else if ((size(aT) != 64))
454456 then throw("This hash is incorrect.")
455457 else {
456- let aZ = if ((aJ > 0))
458+ let aY = if ((aJ > 0))
457459 then true
458460 else false
459-[BooleanEntry(((("art_onsale_" + aW) + "_") + aE), aZ), IntegerEntry(((("art_price_" + aW) + "_") + aE), aJ), StringEntry("last_invoke_id", E)]
461+[BooleanEntry(((("art_onsale_" + aV) + "_") + aE), aY), IntegerEntry(((("art_price_" + aV) + "_") + aE), aJ), StringEntry("last_invoke_id", E)]
460462 }
461463 }
462464 }
463465 }
464466
465467
466468
467469 @Callable(av)
468-func buyArtwork (aU,ba) = {
470+func buyArtwork (aT,aZ) = {
469471 let E = toBase58String(av.transactionId)
470472 let aE = toBase58String(av.caller.bytes)
471- let bb = w("total_nft_issued")
472- let aW = s(((aU + "_") + ba))
473- if ((aW == ""))
473+ let ba = w("total_nft_issued")
474+ let aV = s(((aT + "_") + aZ))
475+ if ((aV == ""))
474476 then throw("This artwork doesn't exit or you are not the owner")
475477 else {
476478 let aO = s(("user_status_" + aE))
477479 if (!(isDefined(aO)))
478480 then throw("Please register this account first")
479481 else {
480- let bc = s(((("art_sold_" + aW) + "_") + ba))
481- let aX = w(((("art_issued_" + aW) + "_") + ba))
482- let bd = w(((("art_price_" + aW) + "_") + ba))
483- if ((bd == 0))
482+ let bb = s(((("art_sold_" + aV) + "_") + aZ))
483+ let aW = w(((("art_issued_" + aV) + "_") + aZ))
484+ let bc = w(((("art_price_" + aV) + "_") + aZ))
485+ if ((bc == 0))
484486 then throw("This artwork is not for sell")
485487 else {
486- let aY = w(((("art_maxmint_" + aW) + "_") + ba))
488+ let aX = w(((("art_maxmint_" + aV) + "_") + aZ))
487489 let aF = value(av.payments[0])
488490 let aG = value(aF.amount)
489491 let aH = if (isDefined(aF.assetId))
490492 then throw("Only Waves token accepted at the moment")
491493 else unit
492- if ((aX == aY))
494+ if ((aW == aX))
493495 then throw("Cannot buy this artwork anymore")
494- else if ((bd != aG))
496+ else if ((bc != aG))
495497 then throw("Payment don't match seller price")
496498 else {
497- let be = (aX + 1)
498- let aV = lastBlock.timestamp
499- let bf = (((((((((((((("{\"version\": 1,\"artID\": \"" + aW) + "\",\"maxIssuable\": \"") + toString(aY)) + "\",\"signID\": \"SA_") + toString((bb + 1))) + "\", \"creator\": \"") + ba) + "\", \"issue\": \"") + toString(be)) + "/") + toString(aY)) + "\", \"hash\": ") + aU) + "}")
500- let bg = Issue(("SA_" + toString((bb + 1))), bf, 1, 0, false)
501- let bh = calculateAssetId(bg)
502- let aZ = if ((be == aY))
499+ let bd = (aW + 1)
500+ let aU = lastBlock.timestamp
501+ let be = (((((((((((((("{\"version\": 1,\"artID\": \"" + aV) + "\",\"maxIssuable\": \"") + toString(aX)) + "\",\"signID\": \"SA_") + toString((ba + 1))) + "\", \"creator\": \"") + aZ) + "\", \"issue\": \"") + toString(bd)) + "/") + toString(aX)) + "\", \"hash\": ") + aT) + "}")
502+ let bf = Issue(("SA_" + toString((ba + 1))), be, 1, 0, false)
503+ let bg = calculateAssetId(bf)
504+ let aY = if ((bd == aX))
503505 then false
504506 else true
505-[IntegerEntry(((("art_issued_" + aW) + "_") + ba), be), StringEntry(((((((("art_sold_" + toString(be)) + "_of_") + toString(aY)) + "_") + aW) + "_") + ba), ((((((aE + "_") + toString(aV)) + "_") + E) + "_") + toString(bd))), IntegerEntry("total_nft_issued", (bb + 1)), StringEntry("last_invoke_id", E), bg, BooleanEntry(((("art_onsale_" + aW) + "_") + aE), aZ), ScriptTransfer(Address(fromBase58String(ba)), aG, aH), ScriptTransfer(av.caller, 1, bh)]
507+[IntegerEntry(((("art_issued_" + aV) + "_") + aZ), bd), StringEntry(((((((("art_sold_" + toString(bd)) + "_of_") + toString(aX)) + "_") + aV) + "_") + aZ), ((((((aE + "_") + toString(aU)) + "_") + E) + "_") + toString(bc))), IntegerEntry("total_nft_issued", (ba + 1)), StringEntry("last_invoke_id", E), bf, BooleanEntry(((("art_onsale_" + aV) + "_") + aE), aY), ScriptTransfer(Address(fromBase58String(aZ)), aG, aH), ScriptTransfer(av.caller, 1, bg)]
506508 }
507509 }
508510 }
509511 }
510512 }
511513
512514

github/deemru/w8io/6500d08 
129.15 ms