tx · 8fWQUysT9C83QKSnULZ82VHfwaCaEeHFEukwWqxmvNyi

3N8jKcYWjJn5GjrJV94rxzVk42TPk1rPLeu:  -0.01000000 Waves

2022.02.17 23:13 [1928077] smart account 3N8jKcYWjJn5GjrJV94rxzVk42TPk1rPLeu > SELF 0.00000000 Waves

{ "type": 13, "id": "8fWQUysT9C83QKSnULZ82VHfwaCaEeHFEukwWqxmvNyi", "fee": 1000000, "feeAssetId": null, "timestamp": 1645128796156, "version": 2, "chainId": 84, "sender": "3N8jKcYWjJn5GjrJV94rxzVk42TPk1rPLeu", "senderPublicKey": "914UmzBhcoS4onGGVcBRgb4VPV88m9VCFjsj5WWck5vm", "proofs": [ "5617sC7P4AcpNMjNmiF3ToQFoJkFttfMBWGfvAFHC2iHh6LrZnTQHiVxhtPhV5ToZoDgAgLAmi51qjrqqjVC2XTE" ], "script": "base64:AAIFAAAAAAAAAFMIAhIDCgEIEgMKAQgSBQoDAQgIEgwKCggICAgICAgICAgSCQoHCAEBCAgBARIECgIICBIFCgMICAgSAwoBCBIECgIICBIGCgQICAgIEgUKAwgICAAAAFQAAAAACHVuaXRUZXN0BwAAAAAJb3JhY2xlS2V5AgAAAAlvcmFjbGVLZXkBAAAABmdldFN0cgAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiAgAAAAAAAAAABm9yYWNsZQkBAAAABmdldFN0cgAAAAEFAAAACW9yYWNsZUtleQAAAAAJb3JhY2xlRmVlCQEAAAAFdmFsdWUAAAABCQAEJgAAAAEFAAAABm9yYWNsZQAAAAAGb3duZXJzCQAETAAAAAIJAAQdAAAAAgUAAAAJb3JhY2xlRmVlAgAAAAZvd25lcjEJAARMAAAAAgkABB0AAAACBQAAAAlvcmFjbGVGZWUCAAAABm93bmVyMgUAAAADbmlsAAAAAA9jb2xsZWN0aW9uc0RhcHAJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAlvcmFjbGVGZWUCAAAAD2NvbGxlY3Rpb25zRGFwcAIAAAAYY29sbGVjdGlvbkRhcHAgbm90IGZvdW5kAAAAAAtmZWVSZWNlaXZlcgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAACW9yYWNsZUZlZQIAAAALZmVlUmVjZWl2ZXICAAAAFWZlZVJlY2VpdmVyIG5vdCBmb3VuZAAAAAAIY2VydERhcHAJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAlvcmFjbGVGZWUCAAAACGNlcnREYXBwAgAAABJjZXJ0RGFwcCBub3QgZm91bmQAAAAACHVzZXJEYXBwCQEAAAAFdmFsdWUAAAABCQAEJgAAAAEJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAlvcmFjbGVGZWUCAAAACHVzZXJEYXBwAgAAABJ1c2VyZGFwcCBub3QgZm91bmQAAAAAC1VTRE5Bc3NldElkCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAACW9yYWNsZUZlZQIAAAALVVNETkFzc2V0SWQAAAAABXR5cGVzCQAETAAAAAICAAAABUlNQUdFCQAETAAAAAICAAAAA1BERgkABEwAAAACAgAAAAVWSURFTwUAAAADbmlsAAAAAAxQcmV2aWV3dHlwZXMJAARMAAAAAgIAAAADUERGBQAAAANuaWwAAAAAEFVTRE5GaXJzdFNlbGxDdXQAAAAAAAAAAJYAAAAAC2RhcHBSdW5uaW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAACHVzZXJEYXBwAgAAABRjb25mX2RhcHBfaXNfcnVubmluZwYAAAAADm1haW50ZW5hbmNlTVNHCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAACHVzZXJEYXBwAgAAABRjb25mX21haW50ZW5hbmNlX21zZwIAAAAAAAAAAA11c2VyU3VzcGVuZGVkAgAAAAlTVVNQRU5ERUQAAAAAC3VzZXJSZW1vdmVkAgAAAAdSRU1PVkVEAAAAABB1c2VyVW5yZWdpc3RlcmVkAgAAAAxVTlJFR0lTVEVSRUQAAAAADGF1Y3Rpb25UeXBlMQIAAAAHQklEVFlQRQAAAAAMYXVjdGlvblR5cGUyAgAAAAtUUkFESVRJT05BTAAAAAAMYXVjdGlvblR5cGUzAgAAAAZESVJFQ1QBAAAAF2dldFN0cmluZ0J5S2V5RnJvbVVzZXJzAAAAAQAAAANrZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAIdXNlckRhcHAFAAAAA2tleQIAAAAAAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEAAAADa2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQIAAAAAAQAAABVnZXRTdHJpbmdCeUtleU9yRXJyb3IAAAACAAAAA2tleQAAAAVlcnJvcgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQUAAAAFZXJyb3IBAAAAGWdldEludGVnZXJCeUtleUZyb21PcmFj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AAxpZENhbGxlckRhdGUAAAABAAAAAWkDCQEAAAABIQAAAAEFAAAAC2RhcHBSdW5uaW5nCQAAAgAAAAEFAAAADm1haW50ZW5hbmNlTVNHCQAFFQAAAAMJAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAEAAAAKZ2V0QXJ0RGF0YQAAAAQAAAABaQAAAAZpc3N1ZXIAAAAFYXJ0SWQAAAAFaXNCaWQEAAAADmNhbGxlcklzSXNzdWVyCQAAAAAAAAIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwUAAAAGaXNzdWVyBAAAAAh0b3RhbE5GVAkBAAAAD2dldEludGVnZXJCeUtleQAAAAECAAAAEHRvdGFsX25mdF9pc3N1ZWQEAAAAC2FydHdvcmtOYW1lCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAHa2V5TmFtZQAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQDCQAAAAAAAAIFAAAAC2FydHdvcmtOYW1lAgAAAAAJAAACAAAAAQIAAAARQXJ0IGRvZXNuJ3QgZXhpc3QEAAAACGlzT25TYWxlCQEAAAAPZ2V0Qm9vbGVhbkJ5S2V5AAAAAQkBAAAACWtleU9uU2FsZQAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQEAAAACmFtb3VudFNvbGQJAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABCQEAAAAJa2V5SXNzdWVkAAAAAgUAAAAGaXNzdWVyBQAAAAVhcnRJZAQAAAAMYXJ0d29ya1ByaWNlCQEAAAALdmFsdWVPckVsc2UAAAACCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAACGtleVByaWNlAAAAAgUAAAAGaXNzdWVyBQAAAAVhcnRJZAkAAGgAAAACBQAAABljdXJyZW50Q2VydGlmaWNhdGlvblByaWNlAAAAAAAAAAACBAAAAAxwcmljZUFzc2V0SWQDBQAAAA5jYWxsZXJJc0lzc3VlcgkAAlgAAAABBQAAAAtVU0ROQXNzZXRJZAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAEmtleUFzc2V0SWRBY2NlcHRlZAAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQEAAAACm1heENhblNlbGwJAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABCQEAAAAKa2V5TWF4TWludAAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQDAwMJAQAAAAEhAAAAAQUAAAAFaXNCaWQJAQAAAAEhAAAAAQUAAAAOY2FsbGVySXNJc3N1ZXIHAwMJAABnAAAAAgAAAAAAAAAAAAUAAAAMYXJ0d29ya1ByaWNlBgkBAAAAASEAAAABBQAAAAhpc09uU2FsZQYJAABnAAAAAgAAAAAAAAAAAAUAAAAKbWF4Q2FuU2VsbAcJAAACAAAAAQIAAAAQQXJ0IG5vdCBmb3Igc2FsZQMDAwkBAAAAASEAAAABBQAAAAVpc0JpZAUAAAAOY2FsbGVySXNJc3N1ZXIHCQAAZwAAAAIAAAAAAAAAAAAFAAAACm1heENhblNlbGwHCQAAAgAAAAECAAAAFE1heCBpc3N1YWJsZSBub3Qgc2V0CQAFGQAAAAcFAAAACHRvdGFsTkZUBQAAAAthcnR3b3JrTmFtZQUAAAAKYW1vdW50U29sZAUAAAAMYXJ0d29ya1ByaWNlBQAAAAxwcmljZUFzc2V0SWQFAAAACm1heENhblNlbGwFAAAACGlzT25TYWxlAQAAAApnZXRCaWREYXRhAAAACQAAAAFpAAAABmNhbGxlcgAAAAZpc3N1ZXIAAAAFYXJ0SWQAAAAIYmlkT3duZXIAAAAFYmlkSWQAAAAMcHJpY2VBc3NldElkAAAADGFydHdvcmtQcmljZQAAAAVpc0JpZAQAAAAJY2hlY2tVc2VyCQEAAAAMdmFsaWRhdGVVc2VyAAAAAQUAAAAGaXNzdWVyAwMFAAAABWlzQmlkCQEAAAACIT0AAAACBQAAAAljaGVja1VzZXICAAAAAAcJAAACAAAAAQUAAAAJY2hlY2tVc2VyBAAAAApiaWREYXRhS2V5CQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABGJpZF8FAAAABWFydElkAgAAAAFfBQAAAAZpc3N1ZXICAAAAAV8FAAAACGJpZE93bmVyAgAAAAFfBQAAAAViaWRJZAQAAAAMdDAxMzUxOTEzNjQ4AwUAAAAFaXNCaWQJAQAAABZnZXRQcmljZUFzc2V0SWRGcm9tQmlkAAAAAQUAAAAKYmlkRGF0YUtleQkBAAAAFHZhbGlkYXRlUHJpY2VBc3NldElkAAAAAwUAAAABaQUAAAAMcHJpY2VBc3NldElkBQAAAAxhcnR3b3JrUHJpY2UEAAAABmFtb3VudAgFAAAADHQwMTM1MTkxMzY0OAAAAAJfMQQAAAAHYXNzZXRJZAgFAAAADHQwMTM1MTkxMzY0OAAAAAJfMgkABRUAAAADBQAAAApiaWREYXRhS2V5BQAAAAZhbW91bnQFAAAAB2Fzc2V0SWQBAAAAEWdldENvbW1pc3Npb25EYXRhAAAABQAAAAZpc3N1ZXIAAAAHYXNzZXRJZAAAAAZhbW91bnQAAAAKYW1vdW50U29sZAAAAAptYXhDYW5TZWxsBAAAAANjdXQDCQAAAAAAAAIFAAAAB2Fzc2V0SWQFAAAAC1VTRE5Bc3NldElkBQAAABBVU0RORmlyc3RTZWxsQ3V0CQAAAgAAAAECAAAAFk9ubHkgVVNETiBpcyBhY2NlcHRlZCEEAAAAD2Ftb3VudEZvclNjb25leAkAAGsAAAADBQAAAAZhbW91bnQFAAAAA2N1dAAAAAAAAAAD6AQAAAAQYW1vdW50Rm9yQ3JlYXRvcgkAAGUAAAACBQAAAAZhbW91bnQFAAAAD2Ftb3VudEZvclNjb25leAMJAAAAAAAAAgUAAAAKYW1vdW50U29sZAUAAAAKbWF4Q2FuU2VsbAkAAAIAAAABAgAAAAxBcnQgc29sZCBvdXQEAAAADW5ld0Ftb3VudFNvbGQJAABkAAAAAgUAAAAKYW1vdW50U29sZAAAAAAAAAAAAQkABRUAAAADBQAAAA9hbW91bnRGb3JTY29uZXgFAAAAEGFtb3VudEZvckNyZWF0b3IFAAAADW5ld0Ftb3VudFNvbGQBAAAADGdldElzc3VlRGF0YQAAAAsAAAAGaXNzdWVyAAAABWFydElkAAAAC2FydHdvcmtOYW1lAAAADW5ld0Ftb3VudFNvbGQAAAAKbWF4Q2FuU2VsbAAAAAh0b3RhbE5GVAAAAAZjYWxsZXIAAAAIYmlkT3duZXIAAAAFYmlkSWQAAAABaQAAAAhpc09uU2FsZQQAAAAJaXNzdWVN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XzEEAAAABmFtb3VudAgFAAAAB2JpZERhdGEAAAACXzIEAAAAB2Fzc2V0SWQIBQAAAAdiaWREYXRhAAAAAl8zBAAAAA1jb21taXNpb25EYXRhCQEAAAARZ2V0Q29tbWlzc2lvbkRhdGEAAAAFBQAAAAZpc3N1ZXIJAQAAAAV2YWx1ZQAAAAEFAAAAB2Fzc2V0SWQFAAAABmFtb3VudAUAAAAKYW1vdW50U29sZAUAAAAKbWF4Q2FuU2VsbAQAAAAPYW1vdW50Rm9yU2NvbmV4CAUAAAANY29tbWlzaW9uRGF0YQAAAAJfMQQAAAAQYW1vdW50Rm9yQ3JlYXRvcggFAAAADWNvbW1pc2lvbkRhdGEAAAACXzIEAAAADW5ld0Ftb3VudFNvbGQIBQAAAA1jb21taXNpb25EYXRhAAAAAl8zBAAAAAppc3N1ZXJEYXRhCQEAAAAMZ2V0SXNzdWVEYXRhAAAACwUAAAAGaXNzdWVyBQAAAAVhcnRJZAUAAAALYXJ0d29ya05hbWUFAAAADW5ld0Ftb3VudFNvbGQFAAAACm1heENhblNlbGwFAAAACHRvdGFsTkZUBQAAAAZjYWxsZXIFAAAACGJpZE93bmVyBQAAAAViaWRJZAUAAAABaQUAAAAIaXNPblNhbGUEAAAACnNlbGxTdGF0dXMIBQAAAAppc3N1ZXJEYXRhAAAAAl8xBAAAAApyZWNlaXZlTkZUCAUAAAAKaXNzdWVyRGF0YQAAAAJfMgQAAAAJaXNzdWVNZXRhCAUAAAAKaXNzdWVyRGF0YQAAAAJfMwQAAAALaWRORlRJbnZva2UJAAP8AAAABAUAAAAEdGhpcwIAAAAHbWludE5mdAkABEwAAAACBQAAAAh0b3RhbE5GVAkABEwAAAACBQAAAAlpc3N1ZU1ldGEJAARMAAAAAgkABCUAAAABBQAAAApyZWNlaXZlTkZUBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAALaWRORlRJbnZva2UFAAAAC2lkTkZUSW52b2tlBAAAAAVpZE5GVAQAAAAHJG1hdGNoMAUAAAALaWRORlRJbnZva2UDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABcgUAAAAHJG1hdGNoMAUAAAABcgkAAAIAAAABAgAAABdJbmNvcnJlY3QgaW52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AA9nZXRJbnRlZ2VyQnlLZXkAAAABCQEAAAAMa2V5RW5kSGVpZ2h0AAAAAgUAAAAGaXNzdWVyBQAAAAVhcnRJZAQAAAAKaGlnaGVzdEJpZAkBAAAAGmdldEFtb3VudEhpZ2hlc3RCaWRCeUFydElkAAAAAQUAAAAFYXJ0SWQDCQAAZgAAAAIFAAAABmhlaWdodAUAAAAJZW5kSGVpZ2h0CQAAAgAAAAECAAAAIVRoaXMgYXVjdGlvbiBpcyBmaW5pc2hlZCBhbHJlYWR5IQQAAAALY2FsbGRlckRhdGEJAQAAAAxpZENhbGxlckRhdGUAAAABBQAAAAFpBAAAAAJpZAgFAAAAC2NhbGxkZXJEYXRhAAAAAl8xBAAAAAZjYWxsZXIIBQAAAAtjYWxsZGVyRGF0YQAAAAJfMgQAAAAEZGF0ZQgFAAAAC2NhbGxkZXJEYXRhAAAAAl8zBAAAAAxpc1BheW1lbnRWYXIJAQAAAAlpc1BheW1lbnQAAAABBQAAAAFpBAAAAAdwYXltZW50CAUAAAAMaXNQYXltZW50VmFyAAAAAl8xBAAAAAZhbW91bnQIBQAAAAxpc1BheW1lbnRWYXIAAAACXzIDCQAAZwAAAAIFAAAACmhpZ2hlc3RCaWQFAAAABmFtb3VudAkAAAIAAAABCQABLAAAAAICAAAAIFBsZWFzZSBwbGFjZSBhIGJpZCBoaWdoZXIgdGhhbjogCQABpAAAAAEFAAAACmhpZ2hlc3RCaWQEAAAAB2Fzc2V0SWQDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCAUAAAAHcGF5bWVudAAAAAdhc3NldElkCQAAAgAAAAECAAAAFk9ubHkgVVNETiBpcyBhY2NlcHRlZCEJAAJYAAAAAQkBAAAABXZhbHVlAAAAAQgFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAQAAAAGYmlkTmJyCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkAASwAAAACAgAAABJjdXJyZW50X2JpZGFtb3VudF8FAAAABWFydElkBAAAAA9taW5BcnR3b3JrUHJpY2UJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABCQEAAAAIa2V5UHJpY2UAAAACBQAAAAZpc3N1ZXIFAAAABWFydElkCQAAaAAAAAIFAAAAGWN1cnJlbnRDZXJ0aWZpY2F0aW9uUHJpY2UAAAAAAAAAAAIDCQEAAAABIQAAAAEJAQAAABBhY2NlcHRlZEFzc2V0SWRzAAAAAQUAAAAHYXNzZXRJZAkAAAIAAAABAgAAABJhc3NldCBub3QgYWNjZXB0ZWQDCQAAZgAAAAIFAAAAD21pbkFydHdvcmtQcmljZQUAAAAGYW1vdW50CQAAAgAAAAECAAAAF0JpZCBpcyBiZWxvdyBtaW4gcHJpY2UhBAAAAAphbW91bnRTb2xkCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAACWtleUlzc3VlZAAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQEAAAACm1heENhblNlbGwJAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABCQEAAAAKa2V5TWF4TWludAAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQDCQAAZwAAAAIAAAAAAAAAAAAFAAAACm1heENhblNlbGwJAAACAAAAAQIAAAAjTm8gbWF4IGVkaXRpb24gc2V0IGZvciB0aGlzIGFydHdvcmsDCQAAZwAAAAIFAAAACmFtb3VudFNvbGQFAAAACm1heENhblNlbGwJAAACAAAAAQIAAAAYU29sZCBvdXQsIHlvdSBjYW5ub3QgYmlkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAARiaWRfBQAAAAVhcnRJZAIAAAABXwUAAAAGaXNzdWVyAgAAAAFfBQAAAAZjYWxsZXICAAAAAV8FAAAAAmlkAgAAAAVfT1BFTgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAdhc3NldElkAgAAAAFfCQABpAAAAAEFAAAABmFtb3VudAIAAAABXwkAAaQAAAABBQAAAARkYXRlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAEmN1cnJlbnRfYmlkYW1vdW50XwUAAAAFYXJ0SWQJAABkAAAAAgUAAAAGYmlkTmJyAAAAAAAAAAABCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABJrZXlIaWdoZXN0QmlkQmlkSWQAAAABBQAAAAVhcnRJZAkAAlgAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAIa2V5QmlkSWQAAAABCQACWAAAAAEIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQFAAAABmFtb3VudAUAAAADbmlsAQAAABdhY2NlcHRCaWROb25UcmFkaXRpb25hbAAAAAUAAAABaQAAAAVhcnRJZAAAAAZpc3N1ZXIAAAAFYmlkSWQAAAAIYmlkT3duZXIEAAAABmNhbGxlcgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAwkBAAAAAiE9AAAAAgUAAAAGY2FsbGVyBQAAAAZpc3N1ZXIJAAACAAAAAQIAAAAZWW91IGNhbm5vdCBkbyB0aGlzIGFjdGlvbgkBAAAAB2J1eU1pbnQAAAAGBQAAAAFpBQAAAAVhcnRJZAUAAAAGaXNzdWVyBQAAAAViaWRJZAUAAAAIYmlkT3duZXIGAQAAAA5yZXN0YXJ0QXVjdGlvbgAAAAIAAAAFYXJ0SWQAAAAGaXNzdWVyBAAAAAphbW91bnRTb2xkCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAACWtleUlzc3VlZAAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQEAAAACm1heENhblNlbGwJAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABCQEAAAAKa2V5TWF4TWludAAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQEAAAADG9sZEVuZEhlaWdodAkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAQAAAAxrZXlFbmRIZWlnaHQAAAACBQAAAAZpc3N1ZXIFAAAABWFydElkBAAAAAhkdXJhdGlvbgkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAQAAAAtrZXlEdXJhdGlvbgAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQEAAAACWVuZEhlaWdodAkAAGQAAAACBQAAAAhkdXJhdGlvbgUAAAAGaGVpZ2h0AwkAAGYAAAACBQAAAAZoZWlnaHQFAAAADG9sZEVuZEhlaWdodAMJAAAAAAAAAgUAAAAKYW1vdW50U29sZAUAAAAKbWF4Q2FuU2VsbAkAAAIAAAABAgAAACZDYW4ndCByZXN0YXJ0IGF1Y3Rpb24sIG1heCBhbW91bnQgc29sZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADGtleUVuZEhlaWdodAAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQFAAAACWVuZEhlaWdodAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAASa2V5SGlnaGVzdEJpZEJpZElkAAAAAQUAAAAFYXJ0SWQFAAAAA25pbAkAAAIAAAABAgAAACRQcmV2aW91cyBhdWN0aW9uIGlzbid0IGNvbXBsZXRlZCB5ZXQBAAAAFGFjY2VwdEJpZFRyYWRpdGlvbmFsAAAABQAAAAFpAAAABWFydElkAAAABmlzc3VlcgAAAAViaWRJZAAAAAhiaWRPd25lcgQAAAAJZW5kSGVpZ2h0CQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAADGtleUVuZEhlaWdodAAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQEAAAADGhpZ2hlc3RCaWRJZAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAEmtleUhpZ2hlc3RCaWRCaWRJZAAAAAEFAAAABWFydElkAwkAAGYAAAACBQAAAAZoZWlnaHQFAAAACWVuZEhlaWdodAMJAAAAAAAAAgUAAAAFYmlkSWQFAAAADGhpZ2hlc3RCaWRJZAQAAAALYnV5TWludERhdGEJAQAAAAdidXlNaW50AAAABgUAAAABaQUAAAAFYXJ0SWQFAAAABmlzc3VlcgUAAAAFYmlkSWQFAAAACGJpZE93bmVyBgQAAAAScmVzdGFydEF1Y3Rpb25EYXRhCQEAAAAOcmVzdGFydEF1Y3Rpb24AAAACBQAAAAVhcnRJZAUAAAAGaXNzdWVyCQAETgAAAAIFAAAAEnJlc3RhcnRBdWN0aW9uRGF0YQUAAAALYnV5TWludERhdGEJAAACAAAAAQIAAAAcVGhpcyBpcyBub3QgdGhlIHdpbm5pbmcgYmlkIQkAAAIAAAABAgAAACFUaGlzIGF1Y3Rpb24gaXMgbm90IHlldCBmaW5pc2hlZCEBAAAADWNhbmNlbEJp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c0VsZW1lbnQAAAACBQAAAAV0eXBlcwUAAAAEdHlwZQQAAAAPdmFsaWRhdGVBcnR3b3JrCQEAAAATdmFsaWRhdGVBcnR3b3JrRGF0YQAAAAUFAAAABmNhbGxlcgUAAAAKY2lkRGlzcGxheQUAAAAEbmFtZQUAAAALZGVzY3JpcHRpb24FAAAABHRhZ3MDCQEAAAACIT0AAAACBQAAAA92YWxpZGF0ZUFydHdvcmsCAAAAAAkAAAIAAAABAgAAABVTb21ldGhpbmcgd2VudCB3cm9uZyEEAAAADHQwMTgxNzAxODIxMgkBAAAAD3ZhbGlkYXRlUGF5bWVudAAAAAEFAAAAAWkEAAAABmFtb3VudAgFAAAADHQwMTgxNzAxODIxMgAAAAJfMQQAAAAHYXNzZXRJZAgFAAAADHQwMTgxNzAxODIxMgAAAAJfMgMJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEFAAAABmFtb3VudAkAAAIAAAABAgAAABRTb21ldGhpbmcgd2VudCB3cm9uZwQAAAALcHJldmlld0RhdGEDCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgUAAAAMUHJldmlld3R5cGVzBQAAAAR0eXBlCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA1rZXlQcmV2aWV3Q2lkAAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAUAAAAHcHJldmlldwUAAAADbmlsBQAAAANuaWwEAAAAFmludm9rZUNvbGxlY3Rpb25DcmVhdGUJAAP8AAAABAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAPY29sbGVjdGlvbnNEYXBwAgAAABFjb2xsZWN0aW9uUHJvY2VzcwkABEwAAAACBQAAAApjb2xsZWN0aW9uCQAETAAAAAIFAAAADXN1YmNvbGxlY3Rpb24JAARMAAAAAgUAAAAGY2FsbGVyBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAWaW52b2tlQ29sbGVjdGlvbkNyZWF0ZQUAAAAWaW52b2tlQ29sbGVjdGlvbkNyZWF0ZQQAAAAMaWRDb2xsZWN0aW9uBAAAAAckbWF0Y2gwBQAAABZpbnZva2VDb2xsZWN0aW9uQ3JlYXRlAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAXIFAAAAByRtYXRjaDAFAAAAAXIJAAACAAAAAQIAAAAXSW5jb3JyZWN0IGludm9rZSByZXN1bHQEAAAACmVudHJ5RXhpc3QJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAABJrZXlUeGlkQnlIYXNoT3duZXIAAAACBQAAAApzaGEyNTZIYXNoBQAAAAZjYWxsZXIDCQEAAAACIT0AAAACBQAAAAplbnRyeUV4aXN0AgAAAAAJAAACAAAAAQIAAAAUWW91IGFscmVhZHkgYWRkZWQgaXQEAAAACWhhc2hFeGlzdAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAADmtleU93bmVyQnlIYXNoAAAAAQUAAAAKc2hhMjU2SGFzaAMJAQAAAAIhPQAAAAIFAAAACWhhc2hFeGlzdAIAAAAACQAAAgAAAAECAAAAH1RoaXMgaGFzaCBpcyBhbHJlYWR5IHJlZ2lzdGVyZWQJAAROAAAAAgUAAAALcHJldmlld0RhdGEJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADmtleU93bmVyQnlIYXNoAAAAAQUAAAAKc2hhMjU2SGFzaAUAAAAGY2FsbGVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABJrZXlUeGlkQnlIYXNoT3duZXIAAAACBQAAAApzaGEyNTZIYXNoBQAAAAZjYWxsZXIFAAAABWFydElkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAHa2V5RGF0ZQAAAAIFAAAABmNhbGxlcgUAAAAFYXJ0SWQFAAAABGRhdGUJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAB2tleU5hbWUAAAACBQAAAAZjYWxsZXIFAAAABWFydElkBQAAAARuYW1lCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAdrZXlEZXNjAAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAUAAAALZGVzY3JpcHRpb24JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADWtleURpc3BsYXlDaWQAAAACBQAAAAZjYWxsZXIFAAAABWFydElkBQAAAApjaWREaXNwbGF5CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAdrZXlUeXBlAAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAUAAAAEdHlwZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAHa2V5VGFncwAAAAIFAAAABmNhbGxlcgUAAAAFYXJ0SWQFAAAABHRhZ3MJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAprZXlNYXhNaW50AAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAACWtleUlzc3VlZAAAAAIFAAAABmNhbGxlcgUAAAAFYXJ0SWQAAAAAAAAAAAAJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIJAQAAAAlrZXlPblNhbGUAAAACBQAAAAZjYWxsZXIFAAAABWFydElkBwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAARa2V5SGFzaEJ5VHhpZEFkZHIAAAACBQAAAAZjYWxsZXIFAAAABWFydElkBQAAAApzaGEyNTZIYXNoCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA5rZXlFbnRpdGxlbWVudAAAAAIFAAAABmNhbGxlcgUAAAAFYXJ0SWQFAAAAC2VudGl0bGVtZW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABBQAAAAtmZWVSZWNlaXZlcgUAAAAGYW1vdW50BQAAAAdhc3NldElkBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAADFVua25vd24gdHlwZQAAAAFpAQAAAAtzZWxsQXJ0d29yawAAAAcAAAAFYXJ0SWQAAAAFcHJpY2UAAAAHbWF4TWludAAAAAdhc3NldElkAAAAC2F1Y3Rpb25UeXBlAAAACGR1cmF0aW9uAAAAB3JveWFsdHkEAAAADHQwMjU3MTQyNTc0NwkBAAAADGlkQ2FsbGVyRGF0ZQAAAAEFAAAAAWkEAAAAAmlkCAUAAAAMdDAyNTcxNDI1NzQ3AAAAAl8xBAAAAAZjYWxsZXIIBQAAAAx0MDI1NzE0MjU3NDcAAAACXzIEAAAAC2FydHdvcmtOYW1lCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAHa2V5TmFtZQAAAAIFAAAABmNhbGxlcgUAAAAFYXJ0SWQDCQAAZgAAAAIAAAAAAAAAAAAFAAAAB3JveWFsdHkJAAACAAAAAQIAAAAkUm95YWx0eSBwZXJjZW50YWdlIHNob3VsZCBiZSBhYm92ZSAwAwkAAGYAAAACBQAAAAdyb3lhbHR5AAAAAAAAAABVCQAAAgAAAAECAAAAJVJveWFsdHkgcGVyY2VudGFnZSBzaG91bGQgYmUgYmVsb3cgODUDCQEAAAABIQAAAAEJAQAAAA9jb250YWluc0VsZW1lbnQAAAACCQAETAAAAAIFAAAADGF1Y3Rpb25UeXBlMQkABEwAAAACBQAAAAxhdWN0aW9uVHlwZTIJAARMAAAAAgUAAAAMYXVjdGlvblR5cGUzBQAAAANuaWwFAAAAC2F1Y3Rpb25UeXBlCQAAAgAAAAECAAAAH1dlIGRvbid0IGtub3cgdGhpcyBhdWN0aW9uIHR5cGUDCQAAAAAAAAIFAAAAC2FydHdvcmtOYW1lAgAAAAAJAAACAAAAAQIAAAAjVGhpcyBhcnQgZG9lc24ndCBtYXRjaCB5b3VyIGFjY291bnQEAAAABmJpZE5icgkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAAEsAAAAAgIAAAASY3VycmVudF9iaWRhbW91bnRfBQAAAAVhcnRJZAMJAQAAAAEhAAAAAQkBAAAAEGFjY2VwdGVkQXNzZXRJZHMAAAABBQAAAAdhc3NldElkCQAAAgAAAAECAAAAFVNvbWV0aGluZyB3ZW50IHdyb25nIQMJAQAAAAEhAAAAAQkBAAAAD3ZhbGlkYXRlTWluU2VsbAAAAAIFAAAAB2Fzc2V0SWQFAAAABXByaWNlCQAAAgAAAAECAAAAFVNvbWV0aGluZyB3ZW50IHdyb25nIQQAAAAJY2hlY2tVc2VyCQEAAAAMdmFsaWRhdGVVc2VyAAAAAQUAAAAGY2FsbGVyAwkBAAAAAiE9AAAAAgUAAAAJY2hlY2tVc2VyAgAAAAAJAAACAAAAAQUAAAAJY2hlY2tVc2VyBAAAAAphbW91bnRTb2xkCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAACWtleUlzc3VlZAAAAAIFAAAABmNhbGxlcgUAAAAFYXJ0SWQEAAAACm1heENhblNlbGwJAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABCQEAAAAKa2V5TWF4TWludAAAAAIFAAAABmNhbGxlcgUAAAAFYXJ0SWQDCQAAZgAAAAIFAAAAB21heE1pbnQAAAAAAAAAJxAJAAACAAAAAQIAAAAeMTAwMDAgZWRpdGlvbnMgbWF4IHBlciBhcnR3b3JrAwMJAQAAAAIhPQAAAAIFAAAACmFtb3VudFNvbGQAAAAAAAAAAAAJAAAAAAAAAgUAAAAKYW1vdW50U29sZAUAAAAKbWF4Q2FuU2VsbAcJAAACAAAAAQIAAAAUTWF4IGVkaXRpb24gcmVhY2hlZC4DAwkAAGYAAAACBQAAAAphbW91bnRTb2xkAAAAAAAAAAAACQEAAAACIT0AAAACBQAAAAptYXhDYW5TZWxsBQAAAAdtYXhNaW50BwkAAAIAAAABAgAAACZDYW5ub3QgY2hhbmdlIG1heGltdW0gaXNzdWFibGUgYW55bW9yZQMDCQAAZgAAAAIFAAAABmJpZE5icgAAAAAAAAAAAAkBAAAAAiE9AAAAAgUAAAAKbWF4Q2FuU2VsbAUAAAAHbWF4TWludAcJAAACAAAAAQIAAAAxQ2Fubm90IGNoYW5nZSBtYXhpbXVtIGlzc3VhYmxlIHdpdGggYWN0aXZlIG9yZGVycwQAAAAKc2VsbFN0YXR1cwMDCQAAZgAAAAIFAAAABXByaWNlAAAAAAAAAAAACQAAZgAAAAIFAAAAB21heE1pbnQAAAAAAAAAAAAHBgcEAAAACWVuZEhlaWdodAkAAGQAAAACBQAAAAhkdXJhdGlvbgUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACCQEAAAAJa2V5T25TYWxlAAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAUAAAAKc2VsbFN0YXR1cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAACGtleVByaWNlAAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAUAAAAFcHJpY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAprZXlNYXhNaW50AAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAUAAAAHbWF4TWludAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAC2tleUR1cmF0aW9uAAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAUAAAAIZHVyYXRpb24JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAxrZXlFbmRIZWlnaHQAAAACBQAAAAZjYWxsZXIFAAAABWFydElkBQAAAAllbmRIZWlnaHQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEmtleUFzc2V0SWRBY2NlcHRlZAAAAAIFAAAABmNhbGxlcgUAAAAFYXJ0SWQFAAAAB2Fzc2V0SWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADmtleUF1Y3Rpb25UeXBlAAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAUAAAALYXVjdGlvblR5cGUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAprZXlSb3lhbHR5AAAAAgUAAAAGY2FsbGVyBQAAAAVhcnRJZAUAAAAHcm95YWx0eQUAAAADbmlsAAAAAWkBAAAACmJ1eUFydHdvcmsAAAACAAAABWFydElkAAAABmlzc3VlcgQAAAALYXVjdGlvblR5cGUJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAAA5rZXlBdWN0aW9uVHlwZQAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQDCQAAAAAAAAIFAAAAC2F1Y3Rpb25UeXBlBQAAAAxhdWN0aW9uVHlwZTMJAQAAAAdidXlNaW50AAAABgUAAAABaQUAAAAFYXJ0SWQFAAAABmlzc3VlcgIAAAAAAgAAAAAHCQAAAgAAAAECAAAANERpcmVjdCBidXkgb25seSBhbGxvd2VkIHdoZW4gbm8gYXVjdGlvbiB0eXBlIGlzIHNldCEAAAABaQEAAAAKdXBkYXRlVGFncwAAAAMAAAAGYXJ0aXN0AAAABWFydElkAAAABHRhZ3MEAAAABmNhbGxlcgkABCUAAAABCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkDCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgUAAAAGb3duZXJzBQAAAAZjYWxsZXIDCQAAZgAAAAIJAAGQAAAAAQkABLUAAAACBQAAAAR0YWdzAgAAAAEsAAAAAAAAAAAFCQAAAgAAAAECAAAACzUgdGFncyBtYXguBAAAAAd0YWdzT2xkCQEAAAAVZ2V0U3RyaW5nQnlLZXlPckVycm9yAAAAAgkBAAAAB2tleVRhZ3MAAAACBQAAAAZhcnRpc3QFAAAABWFydElkAgAAAC9ObyB0YWdzIGNyZWF0ZWQgd2l0aCB0aGlzIGtleSwgc28gY2FuJ3QgdXBkYXRlIQMJAAAAAAAAAgUAAAAEdGFncwUAAAAHdGFnc09sZAkAAAIAAAABAgAAAB5UYWdzIGFyZSB0aGUgc2FtZSBhcyBvbGQgdGFncyEJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAB2tleVRhZ3MAAAACBQAAAAZhcnRpc3QFAAAABWFydElkBQAAAAR0YWdzBQAAAANuaWwJAAACAAAAAQIAAAACbm8AAAABaQEAAAALZGVsZXRlRW50cnkAAAABAAAABWVudHJ5BAAAAAZjYWxsZXIJAAQlAAAAAQkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5AwkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIFAAAABm93bmVycwUAAAAGY2FsbGVyCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAABWVudHJ5BQAAAANuaWwJAAACAAAAAQIAAAACbm8AAAABaQEAAAAGc2V0QmlkAAAAAgAAAAVhcnRJZAAAAAZpc3N1ZXIEAAAAC2F1Y3Rpb25UeXBlCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAOa2V5QXVjdGlvblR5cGUAAAACBQAAAAZpc3N1ZXIFAAAABWFydElkAwkAAAAAAAACBQAAAAthdWN0aW9uVHlwZQUAAAAMYXVjdGlvblR5cGUxCQEAAAAUc2V0QmlkTm9uVHJhZGl0aW9uYWwAAAADBQAAAAFpBQAAAAVhcnRJZAUAAAAGaXNzdWVyAwkAAAAAAAACBQAAAAthdWN0aW9uVHlwZQUAAAAMYXVjdGlvblR5cGUyCQEAAAARc2V0QmlkVHJhZGl0aW9uYWwAAAADBQAAAAFpBQAAAAVhcnRJZAUAAAAGaXNzdWVyCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAABZVbmtub3duIGF1Y3Rpb24gdHlwZSA6BQAAAAthdWN0aW9uVHlwZQIAAAAbLCBwbGVhc2UgY29udGFjdCB0aGUgYWRtaW5zAAAAAWkBAAAACWFjY2VwdEJpZAAAAAQAAAAFYXJ0SWQAAAAGaXNzdWVyAAAABWJpZElkAAAACGJpZE93bmVyBAAAAAthdWN0aW9uVHlwZQkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAADmtleUF1Y3Rpb25UeXBlAAAAAgUAAAAGaXNzdWVyBQAAAAVhcnRJZAMJAAAAAAAAAgUAAAALYXVjdGlvblR5cGUFAAAADGF1Y3Rpb25UeXBlMQkBAAAAF2FjY2VwdEJpZE5vblRyYWRpdGlvbmFsAAAABQUAAAABaQUAAAAFYXJ0SWQFAAAABmlzc3VlcgUAAAAFYmlkSWQFAAAACGJpZE93bmVyAwkAAAAAAAACBQAAAAthdWN0aW9uVHlwZQUAAAAMYXVjdGlvblR5cGUyCQEAAAAUYWNjZXB0QmlkVHJhZGl0aW9uYWwAAAAFBQAAAAFpBQAAAAVhcnRJZAUAAAAGaXNzdWVyBQAAAAViaWRJZAUAAAAIYmlkT3duZXIJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAFlVua25vd24gYXVjdGlvbiB0eXBlIDoFAAAAC2F1Y3Rpb25UeXBlAgAAABssIHBsZWFzZSBjb250YWN0IHRoZSBhZG1pbnMAAAABaQEAAAAJY2FuY2VsQmlkAAAAAwAAAAVhcnRJZAAAAAZpc3N1ZXIAAAAFYmlkSWQEAAAAC2F1Y3Rpb25UeXBlCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAOa2V5QXVjdGlvblR5cGUAAAACBQAAAAZpc3N1ZXIFAAAABWFydElkAwkAAAAAAAACBQAAAAthdWN0aW9uVHlwZQUAAAAMYXVjdGlvblR5cGUxCQEAAAANY2FuY2VsQmlkSW1wbAAAAAQFAAAAAWkFAAAABWFydElkBQAAAAZpc3N1ZXIFAAAABWJpZElkCQEAAAAYY2FuY2VsQmlkSW1wbFRyYWRpdGlvbmFsAAAABAUAAAABaQUAAAAFYXJ0SWQFAAAABmlzc3VlcgUAAAAFYmlkSWQAAAAAdET/tw==", "height": 1928077, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4ri76sKaVubzzNpkhXDKM5Sbq5pHW2nKDs98g2keqQmA Next: 6353cvoRotFN6BkvRHxviBbihwurFpTouBJtP38JQzTf Diff:
OldNewDifferences
2222
2323 let i = [getString(h, "owner1"), getString(h, "owner2")]
2424
25-let j = "collectionsDapp"
25+let j = valueOrErrorMessage(getString(h, "collectionsDapp"), "collectionDapp not found")
2626
27-let k = valueOrErrorMessage(getString(h, "collectionsDapp"), "collectionDapp not found")
27+let k = valueOrErrorMessage(getString(h, "feeReceiver"), "feeReceiver not found")
2828
29-let l = valueOrErrorMessage(getString(h, "feeReceiver"), "feeReceiver not found")
29+let l = valueOrErrorMessage(getString(h, "certDapp"), "certDapp not found")
3030
31-let m = valueOrErrorMessage(getString(h, "certDapp"), "certDapp not found")
31+let m = value(addressFromString(valueOrErrorMessage(getString(h, "userDapp"), "userdapp not found")))
3232
33-let n = value(addressFromString(valueOrErrorMessage(getString(h, "userDapp"), "userdapp not found")))
33+let n = fromBase58String(getStringValue(h, "USDNAssetId"))
3434
35-let o = fromBase58String(getStringValue(h, "USDNAssetId"))
35+let o = ["IMAGE", "PDF", "VIDEO"]
3636
37-let p = ["IMAGE", "PDF", "VIDEO"]
37+let p = ["PDF"]
3838
39-let q = ["PDF"]
39+let q = 150
4040
41-let r = 150
41+let r = valueOrElse(getBoolean(m, "conf_dapp_is_running"), true)
4242
43-let s = valueOrElse(getBoolean(n, "conf_dapp_is_running"), true)
43+let s = valueOrElse(getString(m, "conf_maintenance_msg"), "")
4444
45-let t = valueOrElse(getString(n, "conf_maintenance_msg"), "")
45+let t = "SUSPENDED"
4646
47-let u = "SUSPENDED"
47+let u = "REMOVED"
4848
49-let v = "REMOVED"
49+let v = "UNREGISTERED"
5050
51-let w = "UNREGISTERED"
51+let w = "BIDTYPE"
5252
53-let x = "BIDTYPE"
53+let x = "TRADITIONAL"
5454
55-let y = "TRADITIONAL"
55+let y = "DIRECT"
5656
57-let z = "DIRECT"
58-
59-func A (d) = valueOrElse(getString(n, d), "")
57+func z (d) = valueOrElse(getString(m, d), "")
6058
6159
62-func B (d) = valueOrElse(getString(this, d), "")
60+func A (d) = valueOrElse(getString(this, d), "")
6361
6462
65-func C (d,D) = valueOrErrorMessage(getString(this, d), D)
63+func B (d,C) = valueOrErrorMessage(getString(this, d), C)
6664
6765
68-func E (d) = valueOrErrorMessage(getInteger(h, d), "Integer undefine or 0 in oracle")
66+func D (d) = valueOrErrorMessage(getInteger(h, d), "Integer undefine or 0 in oracle")
6967
7068
71-func F (d) = valueOrElse(getInteger(this, d), 0)
69+func E (d) = valueOrElse(getInteger(this, d), 0)
7270
7371
74-func G (d) = valueOrElse(getBoolean(this, d), false)
72+func F (d) = valueOrElse(getBoolean(this, d), false)
7573
7674
77-func H (I) = (size(I) == 64)
75+func G (H) = (size(H) == 64)
7876
7977
80-func J (K) = ("user_status_" + K)
78+func I (J) = ("user_status_" + J)
8179
8280
83-func L (K,M) = ((("art_date_" + M) + "_") + K)
81+func K (J,L) = ((("art_date_" + L) + "_") + J)
8482
8583
86-func N (K,M) = ((("art_name_" + M) + "_") + K)
84+func M (J,L) = ((("art_name_" + L) + "_") + J)
8785
8886
89-func O (K,M) = ((("art_desc_" + M) + "_") + K)
87+func N (J,L) = ((("art_desc_" + L) + "_") + J)
9088
9189
92-func P (K,M) = ((("art_display_cid_" + M) + "_") + K)
90+func O (J,L) = ((("art_display_cid_" + L) + "_") + J)
9391
9492
95-func Q (K,M) = ((("art_preview_cid_" + M) + "_") + K)
93+func P (J,L) = ((("art_preview_cid_" + L) + "_") + J)
9694
9795
98-func R (K,M) = ((("art_maxmint_" + M) + "_") + K)
96+func Q (J,L) = ((("art_maxmint_" + L) + "_") + J)
9997
10098
101-func S (M) = ("art_highestBidBidId_" + M)
99+func R (L) = ("art_highestBidBidId_" + L)
102100
103101
104-func T (U) = ("bid_" + U)
102+func S (T) = ("bid_" + T)
105103
106104
107-func V (K,M) = ((("art_duration_" + M) + "_") + K)
105+func U (J,L) = ((("art_duration_" + L) + "_") + J)
108106
109107
110-func W (K,M) = ((("art_endheight_" + M) + "_") + K)
108+func V (J,L) = ((("art_endheight_" + L) + "_") + J)
111109
112110
113-func X (K,M) = ((("art_auctiontype_" + M) + "_") + K)
111+func W (J,L) = ((("art_auctiontype_" + L) + "_") + J)
114112
115113
116-func Y (K,M) = ((("art_issued_" + M) + "_") + K)
114+func X (J,L) = ((("art_issued_" + L) + "_") + J)
117115
118116
119-func Z (aa) = ("nft_issued_" + aa)
117+func Y (Z) = ("nft_issued_" + Z)
120118
121119
122-func ab (aa) = ("nft_artId_" + aa)
120+func aa (Z) = ("nft_artId_" + Z)
123121
124122
125-func ac (K,M) = ((("art_royalty_" + M) + "_") + K)
123+func ab (J,L) = ((("art_royalty_" + L) + "_") + J)
126124
127125
128-func ad (K,M) = ((("art_onsale_" + M) + "_") + K)
126+func ac (J,L) = ((("art_onsale_" + L) + "_") + J)
129127
130128
131-func ae (K,M) = ((("art_entitlement_" + M) + "_") + K)
129+func ad (J,L) = ((("art_entitlement_" + L) + "_") + J)
132130
133131
134-func af (K,M) = ((("art_tags_" + M) + "_") + K)
132+func ae (J,L) = ((("art_tags_" + L) + "_") + J)
135133
136134
137-func ag (K,M) = ((("art_type_" + M) + "_") + K)
135+func af (J,L) = ((("art_type_" + L) + "_") + J)
138136
139137
140-func ah (K,M) = ((("art_price_" + M) + "_") + K)
138+func ag (J,L) = ((("art_price_" + L) + "_") + J)
141139
142140
143-func ai (K,M) = ((("art_assetAccepted_" + M) + "_") + K)
141+func ah (J,L) = ((("art_assetAccepted_" + L) + "_") + J)
144142
145143
146-func aj (K,ak) = ((("get_hashbytxidaddr_" + ak) + "_") + K)
144+func ai (J,aj) = ((("get_hashbytxidaddr_" + aj) + "_") + J)
147145
148146
149-func al (am) = ("get_owner_by_hash_" + am)
147+func ak (al) = ("get_owner_by_hash_" + al)
150148
151149
152-func an (am,K) = ("get_txid_by_hash_owner_" + toBase58String(sha256_16Kb(toBytes((am + K)))))
150+func am (al,J) = ("get_txid_by_hash_owner_" + toBase58String(sha256_16Kb(toBytes((al + J)))))
153151
154152
155-func ao (K,M) = ((("collection_" + M) + "_") + K)
153+func an (J,L) = ((("collection_" + L) + "_") + J)
156154
157155
158-let ap = E(("certification_fee_" + toBase58String(o)))
156+let ao = D(("certification_fee_" + toBase58String(n)))
159157
160-func aq (U) = valueOrElse(F(T(U)), 0)
158+func ap (T) = valueOrElse(E(S(T)), 0)
161159
162160
163-func ar (M) = {
164- let U = B(S(M))
165- if ((U == ""))
161+func aq (L) = {
162+ let T = A(R(L))
163+ if ((T == ""))
166164 then 0
167- else aq(U)
165+ else ap(T)
168166 }
169167
170168
171-func as (at,au) = if ((size(at) == 0))
169+func ar (as,at) = if ((size(as) == 0))
172170 then throw("Field cannot be is empty")
173- else if ((size(at) > au))
174- then throw((at + " is too long"))
171+ else if ((size(as) > at))
172+ then throw((as + " is too long"))
175173 else true
176174
177175
178-func av (K) = {
179- let aw = valueOrElse(getString(n, J(K)), w)
180- if ((aw == w))
176+func au (J) = {
177+ let av = valueOrElse(getString(m, I(J)), v)
178+ if ((av == v))
181179 then "Register this account first with 'Account' tab"
182- else if ((aw == u))
180+ else if ((av == t))
183181 then "Account suspended"
184- else if ((aw == v))
182+ else if ((av == u))
185183 then "Account removed"
186184 else ""
187185 }
188186
189187
190-func ax (K,ay,az,aA,aB) = {
191- let aC = av(K)
192- if ((aC != ""))
193- then throw(aC)
194- else if ((size(ay) == 0))
188+func aw (J,ax,ay,az,aA) = {
189+ let aB = au(J)
190+ if ((aB != ""))
191+ then throw(aB)
192+ else if ((size(ax) == 0))
195193 then throw("Display CID cannot be empty")
196- else if ((size(ay) != 46))
194+ else if ((size(ax) != 46))
197195 then throw("This doesn't seem a valid CID!")
198- else if (!(as(az, 100)))
196+ else if (!(ar(ay, 100)))
199197 then throw("100 Char. max name")
200- else if (!(as(aA, 1000)))
198+ else if (!(ar(az, 1000)))
201199 then throw("1000 Char. max description")
202- else if ((size(split(aB, ",")) > 5))
200+ else if ((size(split(aA, ",")) > 5))
203201 then throw("5 tags max.")
204202 else ""
205203 }
206204
207205
208-func aD (aE) = if ((size(aE.payments) == 0))
206+func aC (aD) = if ((size(aD.payments) == 0))
209207 then throw("No payment attached")
210208 else {
211- let aF = value(aE.payments[0])
212- let aG = value(aF.amount)
213- $Tuple2(aF, aG)
209+ let aE = value(aD.payments[0])
210+ let aF = value(aE.amount)
211+ $Tuple2(aE, aF)
214212 }
215213
216214
217-func aH (aE) = {
218- let aI = aD(aE)
219- let aF = aI._1
220- let aG = aI._2
221- let aJ = if (if (isDefined(aF.assetId))
222- then (aF.assetId == o)
215+func aG (aD) = {
216+ let aH = aC(aD)
217+ let aE = aH._1
218+ let aF = aH._2
219+ let aI = if (if (isDefined(aE.assetId))
220+ then (aE.assetId == n)
223221 else false)
224- then aF.assetId
222+ then aE.assetId
225223 else throw("Only USDN token accepted as transaction fee")
226- if ((aG != ap))
227- then throw(((("Payment amount should be " + toString(ap)) + " but is: ") + toString(aG)))
228- else $Tuple2(aG, aJ)
224+ if ((aF != ao))
225+ then throw(((("Payment amount should be " + toString(ao)) + " but is: ") + toString(aF)))
226+ else $Tuple2(aF, aI)
229227 }
230228
231229
232-func aK (aL,M) = {
233- let e = getInteger(this, Y(aL, M))
230+func aJ (aK,L) = {
231+ let e = getInteger(this, X(aK, L))
234232 if ($isInstanceOf(e, "Int"))
235233 then {
236234 let f = e
242240 }
243241
244242
245-func aM (aE,aN,aO) = {
246- let aP = aD(aE)
247- let aF = aP._1
248- let aG = aP._2
249- let aJ = if (!(isDefined(aF.assetId)))
243+func aL (aD,aM,aN) = {
244+ let aO = aC(aD)
245+ let aE = aO._1
246+ let aF = aO._2
247+ let aI = if (!(isDefined(aE.assetId)))
250248 then throw("Wrong asset id")
251- else if (if ((size(aN) > 0))
252- then (toBase58String(value(aF.assetId)) == aN)
249+ else if (if ((size(aM) > 0))
250+ then (toBase58String(value(aE.assetId)) == aM)
253251 else false)
254- then aF.assetId
252+ then aE.assetId
255253 else throw("Wrong asset id")
256- if (if ((aJ == unit))
257- then (aN != "")
254+ if (if ((aI == unit))
255+ then (aM != "")
258256 else false)
259257 then throw("Wrong asset id")
260- else if ((aO != aG))
261- then throw(((("Payment don't match " + toString(aO)) + " ") + toString(aG)))
262- else $Tuple2(aG, aJ)
258+ else if ((aN != aF))
259+ then throw(((("Payment don't match " + toString(aN)) + " ") + toString(aF)))
260+ else $Tuple2(aF, aI)
263261 }
264262
265263
266-func aQ (aJ) = if ((aJ != toBase58String(o)))
264+func aP (aI) = if ((aI != toBase58String(n)))
267265 then throw("Only USDN accepted")
268266 else true
269267
270268
271-func aR (aJ,aS) = {
272- let aT = if (a)
269+func aQ (aI,aR) = {
270+ let aS = if (a)
273271 then 1
274- else (ap * 2)
275- if (if (if ((aJ == toBase58String(o)))
276- then (aT > aS)
272+ else (ao * 2)
273+ if (if (if ((aI == toBase58String(n)))
274+ then (aS > aR)
277275 else false)
278- then (aS != 0)
276+ then (aR != 0)
279277 else false)
280- then throw(("Wrong minimum sell price " + toString(aT)))
278+ then throw(("Wrong minimum sell price " + toString(aS)))
281279 else true
282280 }
283281
284282
285-func aU (aJ) = if ((aJ == "WAVES"))
283+func aT (aI) = if ((aI == "WAVES"))
286284 then throw("Only USDN is accepted!")
287- else fromBase58String(aJ)
285+ else fromBase58String(aI)
288286
289287
290-func aV (aW) = {
291- let aX = B((aW + "_OPEN"))
292- if ((aX == ""))
288+func aU (aV) = {
289+ let aW = A((aV + "_OPEN"))
290+ if ((aW == ""))
293291 then throw("Bid not found")
294292 else {
295- let aY = split(aX, "_")
296- let aZ = parseIntValue(aY[1])
297- let ba = aU(aY[0])
298- if ((0 >= aZ))
293+ let aX = split(aW, "_")
294+ let aY = parseIntValue(aX[1])
295+ let aZ = aT(aX[0])
296+ if ((0 >= aY))
299297 then throw("Wrong amount")
300- else $Tuple2(aZ, ba)
298+ else $Tuple2(aY, aZ)
301299 }
302300 }
303301
304302
305-func bb (aE) = if (!(s))
306- then throw(t)
307- else $Tuple3(toBase58String(aE.transactionId), toBase58String(aE.caller.bytes), lastBlock.timestamp)
303+func ba (aD) = if (!(r))
304+ then throw(s)
305+ else $Tuple3(toBase58String(aD.transactionId), toBase58String(aD.caller.bytes), lastBlock.timestamp)
308306
309307
310-func bc (aE,bd,M,be) = {
311- let bf = (toBase58String(aE.caller.bytes) == bd)
312- let bg = F("total_nft_issued")
313- let bh = B(N(bd, M))
314- if ((bh == ""))
308+func bb (aD,bc,L,bd) = {
309+ let be = (toBase58String(aD.caller.bytes) == bc)
310+ let bf = E("total_nft_issued")
311+ let bg = A(M(bc, L))
312+ if ((bg == ""))
315313 then throw("Art doesn't exist")
316314 else {
317- let bi = G(ad(bd, M))
318- let bj = F(Y(bd, M))
319- let aO = valueOrElse(F(ah(bd, M)), (ap * 2))
320- let aN = if (bf)
321- then toBase58String(o)
322- else B(ai(bd, M))
323- let bk = F(R(bd, M))
324- if (if (if (!(be))
325- then !(bf)
315+ let bh = F(ac(bc, L))
316+ let bi = E(X(bc, L))
317+ let aN = valueOrElse(E(ag(bc, L)), (ao * 2))
318+ let aM = if (be)
319+ then toBase58String(n)
320+ else A(ah(bc, L))
321+ let bj = E(Q(bc, L))
322+ if (if (if (!(bd))
323+ then !(be)
326324 else false)
327- then if (if ((0 >= aO))
325+ then if (if ((0 >= aN))
328326 then true
329- else !(bi))
327+ else !(bh))
330328 then true
331- else (0 >= bk)
329+ else (0 >= bj)
332330 else false)
333331 then throw("Art not for sale")
334- else if (if (if (!(be))
335- then bf
332+ else if (if (if (!(bd))
333+ then be
336334 else false)
337- then (0 >= bk)
335+ then (0 >= bj)
338336 else false)
339337 then throw("Max issuable not set")
340- else $Tuple7(bg, bh, bj, aO, aN, bk, bi)
338+ else $Tuple7(bf, bg, bi, aN, aM, bj, bh)
341339 }
342340 }
343341
344342
345-func bl (aE,K,bd,M,bm,U,aN,aO,be) = {
346- let aC = av(bd)
347- if (if (be)
348- then (aC != "")
343+func bk (aD,J,bc,L,bl,T,aM,aN,bd) = {
344+ let aB = au(bc)
345+ if (if (bd)
346+ then (aB != "")
349347 else false)
350- then throw(aC)
348+ then throw(aB)
351349 else {
352- let aW = ((((((("bid_" + M) + "_") + bd) + "_") + bm) + "_") + U)
353- let bn = if (be)
354- then aV(aW)
355- else aM(aE, aN, aO)
356- let aG = bn._1
357- let aJ = bn._2
358- $Tuple3(aW, aG, aJ)
350+ let aV = ((((((("bid_" + L) + "_") + bc) + "_") + bl) + "_") + T)
351+ let bm = if (bd)
352+ then aU(aV)
353+ else aL(aD, aM, aN)
354+ let aF = bm._1
355+ let aI = bm._2
356+ $Tuple3(aV, aF, aI)
359357 }
360358 }
361359
362360
363-func bo (bd,aJ,aG,bj,bk) = {
364- let bp = if ((aJ == o))
365- then r
361+func bn (bc,aI,aF,bi,bj) = {
362+ let bo = if ((aI == n))
363+ then q
366364 else throw("Only USDN is accepted!")
367- let bq = fraction(aG, bp, 1000)
368- let br = (aG - bq)
369- if ((bj == bk))
365+ let bp = fraction(aF, bo, 1000)
366+ let bq = (aF - bp)
367+ if ((bi == bj))
370368 then throw("Art sold out")
371369 else {
372- let bs = (bj + 1)
373- $Tuple3(bq, br, bs)
370+ let br = (bi + 1)
371+ $Tuple3(bp, bq, br)
374372 }
375373 }
376374
377375
378-func bt (bd,M,bh,bs,bk,bg,K,bm,U,aE,bi) = {
379- let bu = ((((((((("Creator: " + bd) + ",ArtID: ") + M) + ",Artwork name: ") + bh) + ",Issue: ") + toString(bs)) + "/") + toString(bk))
380- let bv = if (if ((bs == bk))
376+func bs (bc,L,bg,br,bj,bf,J,bl,T,aD,bh) = {
377+ let bt = ((((((((("Creator: " + bc) + ",ArtID: ") + L) + ",Artwork name: ") + bg) + ",Issue: ") + toString(br)) + "/") + toString(bj))
378+ let bu = if (if ((br == bj))
381379 then true
382- else !(bi))
380+ else !(bh))
383381 then false
384382 else true
385- let bw = if ((bm != ""))
386- then addressFromStringValue(bm)
387- else aE.caller
388- $Tuple3(bv, bw, bu)
383+ let bv = if ((bl != ""))
384+ then addressFromStringValue(bl)
385+ else aD.caller
386+ $Tuple3(bu, bv, bt)
389387 }
390388
391389
392-func bx (by) = if ((4 > by))
390+func bw (bx) = if ((4 > bx))
393391 then "SSR"
394- else if ((11 > by))
392+ else if ((11 > bx))
395393 then "SR"
396- else if ((101 > by))
394+ else if ((101 > bx))
397395 then "R"
398396 else "N"
399397
400398
401-func bz (aJ,aW,bA) = {
402- let bB = if (!(isDefined(aJ)))
399+func by (aI,aV,bz) = {
400+ let bA = if (!(isDefined(aI)))
403401 then throw("Only USDN is accepted")
404- else toBase58String(value(aJ))
405- let aX = B((aW + "_OPEN"))
406- let bC = DeleteEntry((aW + "_OPEN"))
407- let bD = StringEntry((aW + "_CLOSED"), ((aX + "_") + toString(bA)))
408- $Tuple3(bB, bC, bD)
402+ else toBase58String(value(aI))
403+ let aW = A((aV + "_OPEN"))
404+ let bB = DeleteEntry((aV + "_OPEN"))
405+ let bC = StringEntry((aV + "_CLOSED"), ((aW + "_") + toString(bz)))
406+ $Tuple3(bA, bB, bC)
409407 }
410408
411409
412-func bE (aE,M,bd,U,bm,be) = {
413- let bF = bb(aE)
414- let bG = bF._1
415- let K = bF._2
416- let bA = bF._3
417- let bH = bc(aE, bd, M, be)
418- let bg = bH._1
419- let bh = bH._2
420- let bj = bH._3
421- let aO = bH._4
422- let aN = bH._5
423- let bk = bH._6
424- let bi = bH._7
425- let aX = bl(aE, K, bd, M, bm, U, aN, aO, be)
426- let aW = aX._1
427- let aG = aX._2
428- let aJ = aX._3
429- let bI = bo(bd, value(aJ), aG, bj, bk)
430- let bq = bI._1
431- let br = bI._2
432- let bs = bI._3
433- let bJ = bt(bd, M, bh, bs, bk, bg, K, bm, U, aE, bi)
434- let bv = bJ._1
435- let bw = bJ._2
436- let bu = bJ._3
437- let bK = invoke(this, "mintNft", [bg, bu, toString(bw)], nil)
438- if ((bK == bK))
410+func bD (aD,L,bc,T,bl,bd) = {
411+ let bE = ba(aD)
412+ let bF = bE._1
413+ let J = bE._2
414+ let bz = bE._3
415+ let bG = bb(aD, bc, L, bd)
416+ let bf = bG._1
417+ let bg = bG._2
418+ let bi = bG._3
419+ let aN = bG._4
420+ let aM = bG._5
421+ let bj = bG._6
422+ let bh = bG._7
423+ let aW = bk(aD, J, bc, L, bl, T, aM, aN, bd)
424+ let aV = aW._1
425+ let aF = aW._2
426+ let aI = aW._3
427+ let bH = bn(bc, value(aI), aF, bi, bj)
428+ let bp = bH._1
429+ let bq = bH._2
430+ let br = bH._3
431+ let bI = bs(bc, L, bg, br, bj, bf, J, bl, T, aD, bh)
432+ let bu = bI._1
433+ let bv = bI._2
434+ let bt = bI._3
435+ let bJ = invoke(this, "mintNft", [bf, bt, toString(bv)], nil)
436+ if ((bJ == bJ))
439437 then {
440- let bL = {
441- let e = bK
438+ let bK = {
439+ let e = bJ
442440 if ($isInstanceOf(e, "String"))
443441 then {
444- let bM = e
445- bM
442+ let bL = e
443+ bL
446444 }
447445 else throw("Incorrect invoke result")
448446 }
449- let bN = bz(aJ, aW, bA)
450- let bB = bN._1
451- let bC = bN._2
452- let bD = bN._3
453- let bO = ((((((("art_sold_" + toString(bs)) + "_of_") + toString(bk)) + "_") + M) + "_") + bd)
454- let bP = bx(bs)
455- let bQ = if (!(be))
456- then ((((((((((K + "_") + toString(bA)) + "_") + bG) + "_") + toString(aO)) + "_") + aN) + "_") + bL)
457- else ((((((((((toString(bw) + "_") + toString(bA)) + "_") + bG) + "_") + toString(aG)) + "_") + bB) + "_") + bL)
458- let bR = StringEntry(bO, bQ)
459- let bS = [IntegerEntry(Y(bd, M), bs), StringEntry(("nft_" + bL), bO), StringEntry(("nft_rarity_" + bL), bP), IntegerEntry("total_nft_issued", (bg + 1)), BooleanEntry(ad(bd, M), bv), ScriptTransfer(Address(fromBase58String(bd)), br, aJ), ScriptTransfer(Address(fromBase58String(l)), bq, aJ), StringEntry(Z(bL), bd), StringEntry(ab(bL), M)]
460- let bT = invoke(addressFromStringValue(m), "createCert", [toString(bw), bL, bd], nil)
461- if ((bT == bT))
462- then if (be)
463- then (((bS :+ bR) :+ bD) :+ bC)
464- else bR :: bS
447+ let bM = by(aI, aV, bz)
448+ let bA = bM._1
449+ let bB = bM._2
450+ let bC = bM._3
451+ let bN = ((((((("art_sold_" + toString(br)) + "_of_") + toString(bj)) + "_") + L) + "_") + bc)
452+ let bO = bw(br)
453+ let bP = if (!(bd))
454+ then ((((((((((J + "_") + toString(bz)) + "_") + bF) + "_") + toString(aN)) + "_") + aM) + "_") + bK)
455+ else ((((((((((toString(bv) + "_") + toString(bz)) + "_") + bF) + "_") + toString(aF)) + "_") + bA) + "_") + bK)
456+ let bQ = StringEntry(bN, bP)
457+ let bR = [IntegerEntry(X(bc, L), br), StringEntry(("nft_" + bK), bN), StringEntry(("nft_rarity_" + bK), bO), IntegerEntry("total_nft_issued", (bf + 1)), BooleanEntry(ac(bc, L), bu), ScriptTransfer(Address(fromBase58String(bc)), bq, aI), ScriptTransfer(Address(fromBase58String(k)), bp, aI), StringEntry(Y(bK), bc), StringEntry(aa(bK), L)]
458+ let bS = invoke(addressFromStringValue(l), "createCert", [toString(bv), bK, bc], nil)
459+ if ((bS == bS))
460+ then if (bd)
461+ then (((bR :+ bQ) :+ bC) :+ bB)
462+ else bQ :: bR
465463 else throw("Strict value is not equal to itself.")
466464 }
467465 else throw("Strict value is not equal to itself.")
468466 }
469467
470468
471-func bU (aE,M,bd) = {
472- let bV = bb(aE)
473- let bG = bV._1
474- let K = bV._2
475- let bA = bV._3
476- let bW = aD(aE)
477- let aF = bW._1
478- let aG = bW._2
479- let aJ = if (!(isDefined(aF.assetId)))
469+func bT (aD,L,bc) = {
470+ let bU = ba(aD)
471+ let bF = bU._1
472+ let J = bU._2
473+ let bz = bU._3
474+ let bV = aC(aD)
475+ let aE = bV._1
476+ let aF = bV._2
477+ let aI = if (!(isDefined(aE.assetId)))
480478 then throw("Only USDN is accepted!")
481- else toBase58String(value(aF.assetId))
482- let bX = F(("current_bidamount_" + M))
483- let bY = valueOrElse(F(ah(bd, M)), (ap * 2))
484- if (!(aQ(aJ)))
479+ else toBase58String(value(aE.assetId))
480+ let bW = E(("current_bidamount_" + L))
481+ let bX = valueOrElse(E(ag(bc, L)), (ao * 2))
482+ if (!(aP(aI)))
485483 then throw("asset not accepted")
486484 else {
487- let bj = F(Y(bd, M))
488- let bk = F(R(bd, M))
489- if ((0 >= bk))
485+ let bi = E(X(bc, L))
486+ let bj = E(Q(bc, L))
487+ if ((0 >= bj))
490488 then throw("No max edition set for this artwork")
491- else if ((bj >= bk))
489+ else if ((bi >= bj))
492490 then throw("Sold out, you cannot bid")
493- else [StringEntry((((((((("bid_" + M) + "_") + bd) + "_") + K) + "_") + bG) + "_OPEN"), ((((aJ + "_") + toString(aG)) + "_") + toString(bA))), IntegerEntry(("current_bidamount_" + M), (bX + 1))]
491+ else [StringEntry((((((((("bid_" + L) + "_") + bc) + "_") + J) + "_") + bF) + "_OPEN"), ((((aI + "_") + toString(aF)) + "_") + toString(bz))), IntegerEntry(("current_bidamount_" + L), (bW + 1))]
494492 }
495493 }
496494
497495
498-func bZ (aE,M,bd) = {
499- let ca = F(W(bd, M))
500- let cb = ar(M)
501- if ((height > ca))
496+func bY (aD,L,bc) = {
497+ let bZ = E(V(bc, L))
498+ let ca = aq(L)
499+ if ((height > bZ))
502500 then throw("This auction is finished already!")
503501 else {
504- let cc = bb(aE)
505- let bG = cc._1
506- let K = cc._2
507- let bA = cc._3
508- let cd = aD(aE)
509- let aF = cd._1
510- let aG = cd._2
511- if ((cb >= aG))
512- then throw(("Please place a bid higher than: " + toString(cb)))
502+ let cb = ba(aD)
503+ let bF = cb._1
504+ let J = cb._2
505+ let bz = cb._3
506+ let cc = aC(aD)
507+ let aE = cc._1
508+ let aF = cc._2
509+ if ((ca >= aF))
510+ then throw(("Please place a bid higher than: " + toString(ca)))
513511 else {
514- let aJ = if (!(isDefined(aF.assetId)))
512+ let aI = if (!(isDefined(aE.assetId)))
515513 then throw("Only USDN is accepted!")
516- else toBase58String(value(aF.assetId))
517- let bX = F(("current_bidamount_" + M))
518- let bY = valueOrElse(F(ah(bd, M)), (ap * 2))
519- if (!(aQ(aJ)))
514+ else toBase58String(value(aE.assetId))
515+ let bW = E(("current_bidamount_" + L))
516+ let bX = valueOrElse(E(ag(bc, L)), (ao * 2))
517+ if (!(aP(aI)))
520518 then throw("asset not accepted")
521- else if ((bY > aG))
519+ else if ((bX > aF))
522520 then throw("Bid is below min price!")
523521 else {
524- let bj = F(Y(bd, M))
525- let bk = F(R(bd, M))
526- if ((0 >= bk))
522+ let bi = E(X(bc, L))
523+ let bj = E(Q(bc, L))
524+ if ((0 >= bj))
527525 then throw("No max edition set for this artwork")
528- else if ((bj >= bk))
526+ else if ((bi >= bj))
529527 then throw("Sold out, you cannot bid")
530- else [StringEntry((((((((("bid_" + M) + "_") + bd) + "_") + K) + "_") + bG) + "_OPEN"), ((((aJ + "_") + toString(aG)) + "_") + toString(bA))), IntegerEntry(("current_bidamount_" + M), (bX + 1)), StringEntry(S(M), toBase58String(aE.transactionId)), IntegerEntry(T(toBase58String(aE.transactionId)), aG)]
528+ else [StringEntry((((((((("bid_" + L) + "_") + bc) + "_") + J) + "_") + bF) + "_OPEN"), ((((aI + "_") + toString(aF)) + "_") + toString(bz))), IntegerEntry(("current_bidamount_" + L), (bW + 1)), StringEntry(R(L), toBase58String(aD.transactionId)), IntegerEntry(S(toBase58String(aD.transactionId)), aF)]
531529 }
532530 }
533531 }
534532 }
535533
536534
537-func ce (aE,M,bd,U,bm) = {
538- let K = toBase58String(aE.caller.bytes)
539- if ((K != bd))
535+func cd (aD,L,bc,T,bl) = {
536+ let J = toBase58String(aD.caller.bytes)
537+ if ((J != bc))
540538 then throw("You cannot do this action")
541- else bE(aE, M, bd, U, bm, true)
539+ else bD(aD, L, bc, T, bl, true)
542540 }
543541
544542
545-func cf (M,bd) = {
546- let bj = F(Y(bd, M))
547- let bk = F(R(bd, M))
548- let cg = F(W(bd, M))
549- let ch = F(V(bd, M))
550- let ca = (ch + height)
551- if ((height > cg))
552- then if ((bj == bk))
543+func ce (L,bc) = {
544+ let bi = E(X(bc, L))
545+ let bj = E(Q(bc, L))
546+ let cf = E(V(bc, L))
547+ let cg = E(U(bc, L))
548+ let bZ = (cg + height)
549+ if ((height > cf))
550+ then if ((bi == bj))
553551 then throw("Can't restart auction, max amount sold")
554- else [IntegerEntry(W(bd, M), ca), DeleteEntry(S(M))]
552+ else [IntegerEntry(V(bc, L), bZ), DeleteEntry(R(L))]
555553 else throw("Previous auction isn't completed yet")
556554 }
557555
558556
559-func ci (aE,M,bd,U,bm) = {
560- let ca = F(W(bd, M))
561- let cj = B(S(M))
562- if ((height > ca))
563- then if ((U == cj))
557+func ch (aD,L,bc,T,bl) = {
558+ let bZ = E(V(bc, L))
559+ let ci = A(R(L))
560+ if ((height > bZ))
561+ then if ((T == ci))
564562 then {
565- let ck = bE(aE, M, bd, U, bm, true)
566- let cl = cf(M, bd)
567- (cl ++ ck)
563+ let cj = bD(aD, L, bc, T, bl, true)
564+ let ck = ce(L, bc)
565+ (ck ++ cj)
568566 }
569567 else throw("This is not the winning bid!")
570568 else throw("This auction is not yet finished!")
571569 }
572570
573571
574-func cm (aE,M,bd,U) = {
575- let cn = bb(aE)
576- let bG = cn._1
577- let K = cn._2
578- let bA = cn._3
579- let bX = F(("current_bidamount_" + M))
580- let aW = ((((((("bid_" + M) + "_") + bd) + "_") + K) + "_") + U)
581- let aX = C((aW + "_OPEN"), "Bid not found")
582- let aY = split(aX, "_")
583- let aJ = aU(aY[0])
584- let co = "CANCELED"
585-[DeleteEntry((aW + "_OPEN")), StringEntry(((aW + "_") + co), ((aX + "_") + toString(bA))), IntegerEntry(("current_bidamount_" + M), (bX - 1)), ScriptTransfer(Address(fromBase58String(K)), parseIntValue(aY[1]), aJ)]
572+func cl (aD,L,bc,T) = {
573+ let cm = ba(aD)
574+ let bF = cm._1
575+ let J = cm._2
576+ let bz = cm._3
577+ let bW = E(("current_bidamount_" + L))
578+ let aV = ((((((("bid_" + L) + "_") + bc) + "_") + J) + "_") + T)
579+ let aW = B((aV + "_OPEN"), "Bid not found")
580+ let aX = split(aW, "_")
581+ let aI = aT(aX[0])
582+ let cn = "CANCELED"
583+[DeleteEntry((aV + "_OPEN")), StringEntry(((aV + "_") + cn), ((aW + "_") + toString(bz))), IntegerEntry(("current_bidamount_" + L), (bW - 1)), ScriptTransfer(Address(fromBase58String(J)), parseIntValue(aX[1]), aI)]
586584 }
587585
588586
589-func cp (aE,M,bd,U) = {
590- let cn = bb(aE)
591- let bG = cn._1
592- let K = cn._2
593- let bA = cn._3
594- let bX = F(("current_bidamount_" + M))
595- let aW = ((((((("bid_" + M) + "_") + bd) + "_") + K) + "_") + U)
596- let aX = C((aW + "_OPEN"), "Bid not found")
597- let aY = split(aX, "_")
598- let aJ = aU(aY[0])
599- let co = "CANCELED"
600- let aZ = parseIntValue(aY[1])
601- let cj = B(S(M))
602- if ((U == cj))
587+func co (aD,L,bc,T) = {
588+ let cm = ba(aD)
589+ let bF = cm._1
590+ let J = cm._2
591+ let bz = cm._3
592+ let bW = E(("current_bidamount_" + L))
593+ let aV = ((((((("bid_" + L) + "_") + bc) + "_") + J) + "_") + T)
594+ let aW = B((aV + "_OPEN"), "Bid not found")
595+ let aX = split(aW, "_")
596+ let aI = aT(aX[0])
597+ let cn = "CANCELED"
598+ let aY = parseIntValue(aX[1])
599+ let ci = A(R(L))
600+ if ((T == ci))
603601 then throw("You can't cancel the highest bid!")
604- else [DeleteEntry((aW + "_OPEN")), StringEntry(((aW + "_") + co), ((aX + "_") + toString(bA))), IntegerEntry(("current_bidamount_" + M), (bX - 1)), ScriptTransfer(Address(fromBase58String(K)), aZ, aJ)]
602+ else [DeleteEntry((aV + "_OPEN")), StringEntry(((aV + "_") + cn), ((aW + "_") + toString(bz))), IntegerEntry(("current_bidamount_" + L), (bW - 1)), ScriptTransfer(Address(fromBase58String(J)), aY, aI)]
605603 }
606604
607605
608-@Callable(aE)
609-func initDapp (cq) = if ((aE.caller != this))
606+@Callable(aD)
607+func initDapp (cp) = if ((aD.caller != this))
610608 then throw("You cannot do this action")
611609 else if ((g != ""))
612610 then throw("oracle already set, you can't override!")
613- else [StringEntry(b, cq)]
611+ else [StringEntry(b, cp)]
614612
615613
616614
617-@Callable(aE)
618-func restartAuctionManual (M) = if ((ar(M) != 0))
615+@Callable(aD)
616+func restartAuctionManual (L) = if ((aq(L) != 0))
619617 then throw("Please accept the highest bid!")
620- else cf(M, toBase58String(aE.caller.bytes))
618+ else ce(L, toBase58String(aD.caller.bytes))
621619
622620
623621
624-@Callable(aE)
625-func mintNft (bg,bu,bw) = if ((aE.caller == this))
622+@Callable(aD)
623+func mintNft (bf,bt,bv) = if ((aD.caller == this))
626624 then {
627- let cr = Address(fromBase58String(bw))
628- let cs = Issue(("SCONEX_" + toString((bg + 1))), bu, 1, 0, false)
629- let bL = calculateAssetId(cs)
630- $Tuple2([cs, ScriptTransfer(cr, 1, bL)], toBase58String(bL))
625+ let cq = Address(fromBase58String(bv))
626+ let cr = Issue(("SCONEX_" + toString((bf + 1))), bt, 1, 0, false)
627+ let bK = calculateAssetId(cr)
628+ $Tuple2([cr, ScriptTransfer(cq, 1, bK)], toBase58String(bK))
631629 }
632630 else throw("Only the dApp can mint NFT's")
633631
634632
635633
636-@Callable(aE)
637-func addArtwork (am,az,aA,aB,ct,ay,cu,cv,cw,cx) = {
638- let cy = bb(aE)
639- let M = cy._1
640- let K = cy._2
641- let bA = cy._3
642- if (containsElement(p, ct))
634+@Callable(aD)
635+func addArtwork (al,ay,az,aA,cs,ax,ct,cu,cv,cw) = {
636+ let cx = ba(aD)
637+ let L = cx._1
638+ let J = cx._2
639+ let bz = cx._3
640+ if (containsElement(o, cs))
643641 then {
644- let cz = ax(K, ay, az, aA, aB)
645- if ((cz != ""))
642+ let cy = aw(J, ax, ay, az, aA)
643+ if ((cy != ""))
646644 then throw("Something went wrong!")
647645 else {
648- let cA = aH(aE)
649- let aG = cA._1
650- let aJ = cA._2
651- if (!(isDefined(aG)))
646+ let cz = aG(aD)
647+ let aF = cz._1
648+ let aI = cz._2
649+ if (!(isDefined(aF)))
652650 then throw("Something went wrong")
653651 else {
654- let cB = if (containsElement(q, ct))
655- then [StringEntry(Q(K, M), cv)]
652+ let cA = if (containsElement(p, cs))
653+ then [StringEntry(P(J, L), cu)]
656654 else nil
657- let cC = B(an(am, K))
658- if ((cC != ""))
659- then throw("You already added it")
660- else {
661- let cD = B(al(am))
655+ let cB = invoke(addressFromStringValue(j), "collectionProcess", [cv, cw, J], nil)
656+ if ((cB == cB))
657+ then {
658+ let cC = {
659+ let e = cB
660+ if ($isInstanceOf(e, "String"))
661+ then {
662+ let bL = e
663+ bL
664+ }
665+ else throw("Incorrect invoke result")
666+ }
667+ let cD = A(am(al, J))
662668 if ((cD != ""))
663- then throw("This hash is already registered")
664- else (cB ++ [StringEntry(al(am), K), StringEntry(an(am, K), M), IntegerEntry(L(K, M), bA), StringEntry(N(K, M), az), StringEntry(O(K, M), aA), StringEntry(P(K, M), ay), StringEntry(ag(K, M), ct), StringEntry(af(K, M), aB), IntegerEntry(R(K, M), 0), IntegerEntry(Y(K, M), 0), BooleanEntry(ad(K, M), false), StringEntry(aj(K, M), am), StringEntry(ae(K, M), cu), ScriptTransfer(Address(fromBase58String(l)), aG, aJ)])
669+ then throw("You already added it")
670+ else {
671+ let cE = A(ak(al))
672+ if ((cE != ""))
673+ then throw("This hash is already registered")
674+ else (cA ++ [StringEntry(ak(al), J), StringEntry(am(al, J), L), IntegerEntry(K(J, L), bz), StringEntry(M(J, L), ay), StringEntry(N(J, L), az), StringEntry(O(J, L), ax), StringEntry(af(J, L), cs), StringEntry(ae(J, L), aA), IntegerEntry(Q(J, L), 0), IntegerEntry(X(J, L), 0), BooleanEntry(ac(J, L), false), StringEntry(ai(J, L), al), StringEntry(ad(J, L), ct), ScriptTransfer(Address(fromBase58String(k)), aF, aI)])
675+ }
665676 }
677+ else throw("Strict value is not equal to itself.")
666678 }
667679 }
668680 }
671683
672684
673685
674-@Callable(aE)
675-func sellArtwork (M,aS,cE,aJ,cF,ch,cG) = {
676- let cH = bb(aE)
677- let bG = cH._1
678- let K = cH._2
679- let bh = B(N(K, M))
680- if ((0 > cG))
686+@Callable(aD)
687+func sellArtwork (L,aR,cF,aI,cG,cg,cH) = {
688+ let cI = ba(aD)
689+ let bF = cI._1
690+ let J = cI._2
691+ let bg = A(M(J, L))
692+ if ((0 > cH))
681693 then throw("Royalty percentage should be above 0")
682- else if ((cG > 85))
694+ else if ((cH > 85))
683695 then throw("Royalty percentage should be below 85")
684- else if (!(containsElement([x, y, z], cF)))
696+ else if (!(containsElement([w, x, y], cG)))
685697 then throw("We don't know this auction type")
686- else if ((bh == ""))
698+ else if ((bg == ""))
687699 then throw("This art doesn't match your account")
688700 else {
689- let bX = F(("current_bidamount_" + M))
690- if (!(aQ(aJ)))
701+ let bW = E(("current_bidamount_" + L))
702+ if (!(aP(aI)))
691703 then throw("Something went wrong!")
692- else if (!(aR(aJ, aS)))
704+ else if (!(aQ(aI, aR)))
693705 then throw("Something went wrong!")
694706 else {
695- let aC = av(K)
696- if ((aC != ""))
697- then throw(aC)
707+ let aB = au(J)
708+ if ((aB != ""))
709+ then throw(aB)
698710 else {
699- let bj = F(Y(K, M))
700- let bk = F(R(K, M))
701- if ((cE > 10000))
711+ let bi = E(X(J, L))
712+ let bj = E(Q(J, L))
713+ if ((cF > 10000))
702714 then throw("10000 editions max per artwork")
703- else if (if ((bj != 0))
704- then (bj == bk)
715+ else if (if ((bi != 0))
716+ then (bi == bj)
705717 else false)
706718 then throw("Max edition reached.")
707- else if (if ((bj > 0))
708- then (bk != cE)
719+ else if (if ((bi > 0))
720+ then (bj != cF)
709721 else false)
710722 then throw("Cannot change maximum issuable anymore")
711- else if (if ((bX > 0))
712- then (bk != cE)
723+ else if (if ((bW > 0))
724+ then (bj != cF)
713725 else false)
714726 then throw("Cannot change maximum issuable with active orders")
715727 else {
716- let bv = if (if ((aS > 0))
717- then (cE > 0)
728+ let bu = if (if ((aR > 0))
729+ then (cF > 0)
718730 else false)
719731 then true
720732 else false
721- let ca = (ch + height)
722-[BooleanEntry(ad(K, M), bv), IntegerEntry(ah(K, M), aS), IntegerEntry(R(K, M), cE), IntegerEntry(V(K, M), ch), IntegerEntry(W(K, M), ca), StringEntry(ai(K, M), aJ), StringEntry(X(K, M), cF), IntegerEntry(ac(K, M), cG)]
733+ let bZ = (cg + height)
734+[BooleanEntry(ac(J, L), bu), IntegerEntry(ag(J, L), aR), IntegerEntry(Q(J, L), cF), IntegerEntry(U(J, L), cg), IntegerEntry(V(J, L), bZ), StringEntry(ah(J, L), aI), StringEntry(W(J, L), cG), IntegerEntry(ab(J, L), cH)]
723735 }
724736 }
725737 }
728740
729741
730742
731-@Callable(aE)
732-func buyArtwork (M,bd) = {
733- let cF = B(X(bd, M))
734- if ((cF == z))
735- then bE(aE, M, bd, "", "", false)
743+@Callable(aD)
744+func buyArtwork (L,bc) = {
745+ let cG = A(W(bc, L))
746+ if ((cG == y))
747+ then bD(aD, L, bc, "", "", false)
736748 else throw("Direct buy only allowed when no auction type is set!")
737749 }
738750
739751
740752
741-@Callable(aE)
742-func updateTags (cI,M,aB) = {
743- let K = toString(addressFromPublicKey(aE.callerPublicKey))
744- if (containsElement(i, K))
745- then if ((size(split(aB, ",")) > 5))
753+@Callable(aD)
754+func updateTags (cJ,L,aA) = {
755+ let J = toString(addressFromPublicKey(aD.callerPublicKey))
756+ if (containsElement(i, J))
757+ then if ((size(split(aA, ",")) > 5))
746758 then throw("5 tags max.")
747759 else {
748- let cJ = C(af(cI, M), "No tags created with this key, so can't update!")
749- if ((aB == cJ))
760+ let cK = B(ae(cJ, L), "No tags created with this key, so can't update!")
761+ if ((aA == cK))
750762 then throw("Tags are the same as old tags!")
751- else [StringEntry(af(cI, M), aB)]
763+ else [StringEntry(ae(cJ, L), aA)]
752764 }
753765 else throw("no")
754766 }
755767
756768
757769
758-@Callable(aE)
759-func deleteEntry (cK) = {
760- let K = toString(addressFromPublicKey(aE.callerPublicKey))
761- if (containsElement(i, K))
762- then [DeleteEntry(cK)]
770+@Callable(aD)
771+func deleteEntry (cL) = {
772+ let J = toString(addressFromPublicKey(aD.callerPublicKey))
773+ if (containsElement(i, J))
774+ then [DeleteEntry(cL)]
763775 else throw("no")
764776 }
765777
766778
767779
768-@Callable(aE)
769-func setBid (M,bd) = {
770- let cF = B(X(bd, M))
771- if ((cF == x))
772- then bU(aE, M, bd)
773- else if ((cF == y))
774- then bZ(aE, M, bd)
775- else throw((("Unknown auction type :" + cF) + ", please contact the admins"))
780+@Callable(aD)
781+func setBid (L,bc) = {
782+ let cG = A(W(bc, L))
783+ if ((cG == w))
784+ then bT(aD, L, bc)
785+ else if ((cG == x))
786+ then bY(aD, L, bc)
787+ else throw((("Unknown auction type :" + cG) + ", please contact the admins"))
776788 }
777789
778790
779791
780-@Callable(aE)
781-func acceptBid (M,bd,U,bm) = {
782- let cF = B(X(bd, M))
783- if ((cF == x))
784- then ce(aE, M, bd, U, bm)
785- else if ((cF == y))
786- then ci(aE, M, bd, U, bm)
787- else throw((("Unknown auction type :" + cF) + ", please contact the admins"))
792+@Callable(aD)
793+func acceptBid (L,bc,T,bl) = {
794+ let cG = A(W(bc, L))
795+ if ((cG == w))
796+ then cd(aD, L, bc, T, bl)
797+ else if ((cG == x))
798+ then ch(aD, L, bc, T, bl)
799+ else throw((("Unknown auction type :" + cG) + ", please contact the admins"))
788800 }
789801
790802
791803
792-@Callable(aE)
793-func cancelBid (M,bd,U) = {
794- let cF = B(X(bd, M))
795- if ((cF == x))
796- then cm(aE, M, bd, U)
797- else cp(aE, M, bd, U)
804+@Callable(aD)
805+func cancelBid (L,bc,T) = {
806+ let cG = A(W(bc, L))
807+ if ((cG == w))
808+ then cl(aD, L, bc, T)
809+ else co(aD, L, bc, T)
798810 }
799811
800812
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
25-let j = "collectionsDapp"
25+let j = valueOrErrorMessage(getString(h, "collectionsDapp"), "collectionDapp not found")
2626
27-let k = valueOrErrorMessage(getString(h, "collectionsDapp"), "collectionDapp not found")
27+let k = valueOrErrorMessage(getString(h, "feeReceiver"), "feeReceiver not found")
2828
29-let l = valueOrErrorMessage(getString(h, "feeReceiver"), "feeReceiver not found")
29+let l = valueOrErrorMessage(getString(h, "certDapp"), "certDapp not found")
3030
31-let m = valueOrErrorMessage(getString(h, "certDapp"), "certDapp not found")
31+let m = value(addressFromString(valueOrErrorMessage(getString(h, "userDapp"), "userdapp not found")))
3232
33-let n = value(addressFromString(valueOrErrorMessage(getString(h, "userDapp"), "userdapp not found")))
33+let n = fromBase58String(getStringValue(h, "USDNAssetId"))
3434
35-let o = fromBase58String(getStringValue(h, "USDNAssetId"))
35+let o = ["IMAGE", "PDF", "VIDEO"]
3636
37-let p = ["IMAGE", "PDF", "VIDEO"]
37+let p = ["PDF"]
3838
39-let q = ["PDF"]
39+let q = 150
4040
41-let r = 150
41+let r = valueOrElse(getBoolean(m, "conf_dapp_is_running"), true)
4242
43-let s = valueOrElse(getBoolean(n, "conf_dapp_is_running"), true)
43+let s = valueOrElse(getString(m, "conf_maintenance_msg"), "")
4444
45-let t = valueOrElse(getString(n, "conf_maintenance_msg"), "")
45+let t = "SUSPENDED"
4646
47-let u = "SUSPENDED"
47+let u = "REMOVED"
4848
49-let v = "REMOVED"
49+let v = "UNREGISTERED"
5050
51-let w = "UNREGISTERED"
51+let w = "BIDTYPE"
5252
53-let x = "BIDTYPE"
53+let x = "TRADITIONAL"
5454
55-let y = "TRADITIONAL"
55+let y = "DIRECT"
5656
57-let z = "DIRECT"
58-
59-func A (d) = valueOrElse(getString(n, d), "")
57+func z (d) = valueOrElse(getString(m, d), "")
6058
6159
62-func B (d) = valueOrElse(getString(this, d), "")
60+func A (d) = valueOrElse(getString(this, d), "")
6361
6462
65-func C (d,D) = valueOrErrorMessage(getString(this, d), D)
63+func B (d,C) = valueOrErrorMessage(getString(this, d), C)
6664
6765
68-func E (d) = valueOrErrorMessage(getInteger(h, d), "Integer undefine or 0 in oracle")
66+func D (d) = valueOrErrorMessage(getInteger(h, d), "Integer undefine or 0 in oracle")
6967
7068
71-func F (d) = valueOrElse(getInteger(this, d), 0)
69+func E (d) = valueOrElse(getInteger(this, d), 0)
7270
7371
74-func G (d) = valueOrElse(getBoolean(this, d), false)
72+func F (d) = valueOrElse(getBoolean(this, d), false)
7573
7674
77-func H (I) = (size(I) == 64)
75+func G (H) = (size(H) == 64)
7876
7977
80-func J (K) = ("user_status_" + K)
78+func I (J) = ("user_status_" + J)
8179
8280
83-func L (K,M) = ((("art_date_" + M) + "_") + K)
81+func K (J,L) = ((("art_date_" + L) + "_") + J)
8482
8583
86-func N (K,M) = ((("art_name_" + M) + "_") + K)
84+func M (J,L) = ((("art_name_" + L) + "_") + J)
8785
8886
89-func O (K,M) = ((("art_desc_" + M) + "_") + K)
87+func N (J,L) = ((("art_desc_" + L) + "_") + J)
9088
9189
92-func P (K,M) = ((("art_display_cid_" + M) + "_") + K)
90+func O (J,L) = ((("art_display_cid_" + L) + "_") + J)
9391
9492
95-func Q (K,M) = ((("art_preview_cid_" + M) + "_") + K)
93+func P (J,L) = ((("art_preview_cid_" + L) + "_") + J)
9694
9795
98-func R (K,M) = ((("art_maxmint_" + M) + "_") + K)
96+func Q (J,L) = ((("art_maxmint_" + L) + "_") + J)
9997
10098
101-func S (M) = ("art_highestBidBidId_" + M)
99+func R (L) = ("art_highestBidBidId_" + L)
102100
103101
104-func T (U) = ("bid_" + U)
102+func S (T) = ("bid_" + T)
105103
106104
107-func V (K,M) = ((("art_duration_" + M) + "_") + K)
105+func U (J,L) = ((("art_duration_" + L) + "_") + J)
108106
109107
110-func W (K,M) = ((("art_endheight_" + M) + "_") + K)
108+func V (J,L) = ((("art_endheight_" + L) + "_") + J)
111109
112110
113-func X (K,M) = ((("art_auctiontype_" + M) + "_") + K)
111+func W (J,L) = ((("art_auctiontype_" + L) + "_") + J)
114112
115113
116-func Y (K,M) = ((("art_issued_" + M) + "_") + K)
114+func X (J,L) = ((("art_issued_" + L) + "_") + J)
117115
118116
119-func Z (aa) = ("nft_issued_" + aa)
117+func Y (Z) = ("nft_issued_" + Z)
120118
121119
122-func ab (aa) = ("nft_artId_" + aa)
120+func aa (Z) = ("nft_artId_" + Z)
123121
124122
125-func ac (K,M) = ((("art_royalty_" + M) + "_") + K)
123+func ab (J,L) = ((("art_royalty_" + L) + "_") + J)
126124
127125
128-func ad (K,M) = ((("art_onsale_" + M) + "_") + K)
126+func ac (J,L) = ((("art_onsale_" + L) + "_") + J)
129127
130128
131-func ae (K,M) = ((("art_entitlement_" + M) + "_") + K)
129+func ad (J,L) = ((("art_entitlement_" + L) + "_") + J)
132130
133131
134-func af (K,M) = ((("art_tags_" + M) + "_") + K)
132+func ae (J,L) = ((("art_tags_" + L) + "_") + J)
135133
136134
137-func ag (K,M) = ((("art_type_" + M) + "_") + K)
135+func af (J,L) = ((("art_type_" + L) + "_") + J)
138136
139137
140-func ah (K,M) = ((("art_price_" + M) + "_") + K)
138+func ag (J,L) = ((("art_price_" + L) + "_") + J)
141139
142140
143-func ai (K,M) = ((("art_assetAccepted_" + M) + "_") + K)
141+func ah (J,L) = ((("art_assetAccepted_" + L) + "_") + J)
144142
145143
146-func aj (K,ak) = ((("get_hashbytxidaddr_" + ak) + "_") + K)
144+func ai (J,aj) = ((("get_hashbytxidaddr_" + aj) + "_") + J)
147145
148146
149-func al (am) = ("get_owner_by_hash_" + am)
147+func ak (al) = ("get_owner_by_hash_" + al)
150148
151149
152-func an (am,K) = ("get_txid_by_hash_owner_" + toBase58String(sha256_16Kb(toBytes((am + K)))))
150+func am (al,J) = ("get_txid_by_hash_owner_" + toBase58String(sha256_16Kb(toBytes((al + J)))))
153151
154152
155-func ao (K,M) = ((("collection_" + M) + "_") + K)
153+func an (J,L) = ((("collection_" + L) + "_") + J)
156154
157155
158-let ap = E(("certification_fee_" + toBase58String(o)))
156+let ao = D(("certification_fee_" + toBase58String(n)))
159157
160-func aq (U) = valueOrElse(F(T(U)), 0)
158+func ap (T) = valueOrElse(E(S(T)), 0)
161159
162160
163-func ar (M) = {
164- let U = B(S(M))
165- if ((U == ""))
161+func aq (L) = {
162+ let T = A(R(L))
163+ if ((T == ""))
166164 then 0
167- else aq(U)
165+ else ap(T)
168166 }
169167
170168
171-func as (at,au) = if ((size(at) == 0))
169+func ar (as,at) = if ((size(as) == 0))
172170 then throw("Field cannot be is empty")
173- else if ((size(at) > au))
174- then throw((at + " is too long"))
171+ else if ((size(as) > at))
172+ then throw((as + " is too long"))
175173 else true
176174
177175
178-func av (K) = {
179- let aw = valueOrElse(getString(n, J(K)), w)
180- if ((aw == w))
176+func au (J) = {
177+ let av = valueOrElse(getString(m, I(J)), v)
178+ if ((av == v))
181179 then "Register this account first with 'Account' tab"
182- else if ((aw == u))
180+ else if ((av == t))
183181 then "Account suspended"
184- else if ((aw == v))
182+ else if ((av == u))
185183 then "Account removed"
186184 else ""
187185 }
188186
189187
190-func ax (K,ay,az,aA,aB) = {
191- let aC = av(K)
192- if ((aC != ""))
193- then throw(aC)
194- else if ((size(ay) == 0))
188+func aw (J,ax,ay,az,aA) = {
189+ let aB = au(J)
190+ if ((aB != ""))
191+ then throw(aB)
192+ else if ((size(ax) == 0))
195193 then throw("Display CID cannot be empty")
196- else if ((size(ay) != 46))
194+ else if ((size(ax) != 46))
197195 then throw("This doesn't seem a valid CID!")
198- else if (!(as(az, 100)))
196+ else if (!(ar(ay, 100)))
199197 then throw("100 Char. max name")
200- else if (!(as(aA, 1000)))
198+ else if (!(ar(az, 1000)))
201199 then throw("1000 Char. max description")
202- else if ((size(split(aB, ",")) > 5))
200+ else if ((size(split(aA, ",")) > 5))
203201 then throw("5 tags max.")
204202 else ""
205203 }
206204
207205
208-func aD (aE) = if ((size(aE.payments) == 0))
206+func aC (aD) = if ((size(aD.payments) == 0))
209207 then throw("No payment attached")
210208 else {
211- let aF = value(aE.payments[0])
212- let aG = value(aF.amount)
213- $Tuple2(aF, aG)
209+ let aE = value(aD.payments[0])
210+ let aF = value(aE.amount)
211+ $Tuple2(aE, aF)
214212 }
215213
216214
217-func aH (aE) = {
218- let aI = aD(aE)
219- let aF = aI._1
220- let aG = aI._2
221- let aJ = if (if (isDefined(aF.assetId))
222- then (aF.assetId == o)
215+func aG (aD) = {
216+ let aH = aC(aD)
217+ let aE = aH._1
218+ let aF = aH._2
219+ let aI = if (if (isDefined(aE.assetId))
220+ then (aE.assetId == n)
223221 else false)
224- then aF.assetId
222+ then aE.assetId
225223 else throw("Only USDN token accepted as transaction fee")
226- if ((aG != ap))
227- then throw(((("Payment amount should be " + toString(ap)) + " but is: ") + toString(aG)))
228- else $Tuple2(aG, aJ)
224+ if ((aF != ao))
225+ then throw(((("Payment amount should be " + toString(ao)) + " but is: ") + toString(aF)))
226+ else $Tuple2(aF, aI)
229227 }
230228
231229
232-func aK (aL,M) = {
233- let e = getInteger(this, Y(aL, M))
230+func aJ (aK,L) = {
231+ let e = getInteger(this, X(aK, L))
234232 if ($isInstanceOf(e, "Int"))
235233 then {
236234 let f = e
237235 if ((f != 0))
238236 then true
239237 else false
240238 }
241239 else false
242240 }
243241
244242
245-func aM (aE,aN,aO) = {
246- let aP = aD(aE)
247- let aF = aP._1
248- let aG = aP._2
249- let aJ = if (!(isDefined(aF.assetId)))
243+func aL (aD,aM,aN) = {
244+ let aO = aC(aD)
245+ let aE = aO._1
246+ let aF = aO._2
247+ let aI = if (!(isDefined(aE.assetId)))
250248 then throw("Wrong asset id")
251- else if (if ((size(aN) > 0))
252- then (toBase58String(value(aF.assetId)) == aN)
249+ else if (if ((size(aM) > 0))
250+ then (toBase58String(value(aE.assetId)) == aM)
253251 else false)
254- then aF.assetId
252+ then aE.assetId
255253 else throw("Wrong asset id")
256- if (if ((aJ == unit))
257- then (aN != "")
254+ if (if ((aI == unit))
255+ then (aM != "")
258256 else false)
259257 then throw("Wrong asset id")
260- else if ((aO != aG))
261- then throw(((("Payment don't match " + toString(aO)) + " ") + toString(aG)))
262- else $Tuple2(aG, aJ)
258+ else if ((aN != aF))
259+ then throw(((("Payment don't match " + toString(aN)) + " ") + toString(aF)))
260+ else $Tuple2(aF, aI)
263261 }
264262
265263
266-func aQ (aJ) = if ((aJ != toBase58String(o)))
264+func aP (aI) = if ((aI != toBase58String(n)))
267265 then throw("Only USDN accepted")
268266 else true
269267
270268
271-func aR (aJ,aS) = {
272- let aT = if (a)
269+func aQ (aI,aR) = {
270+ let aS = if (a)
273271 then 1
274- else (ap * 2)
275- if (if (if ((aJ == toBase58String(o)))
276- then (aT > aS)
272+ else (ao * 2)
273+ if (if (if ((aI == toBase58String(n)))
274+ then (aS > aR)
277275 else false)
278- then (aS != 0)
276+ then (aR != 0)
279277 else false)
280- then throw(("Wrong minimum sell price " + toString(aT)))
278+ then throw(("Wrong minimum sell price " + toString(aS)))
281279 else true
282280 }
283281
284282
285-func aU (aJ) = if ((aJ == "WAVES"))
283+func aT (aI) = if ((aI == "WAVES"))
286284 then throw("Only USDN is accepted!")
287- else fromBase58String(aJ)
285+ else fromBase58String(aI)
288286
289287
290-func aV (aW) = {
291- let aX = B((aW + "_OPEN"))
292- if ((aX == ""))
288+func aU (aV) = {
289+ let aW = A((aV + "_OPEN"))
290+ if ((aW == ""))
293291 then throw("Bid not found")
294292 else {
295- let aY = split(aX, "_")
296- let aZ = parseIntValue(aY[1])
297- let ba = aU(aY[0])
298- if ((0 >= aZ))
293+ let aX = split(aW, "_")
294+ let aY = parseIntValue(aX[1])
295+ let aZ = aT(aX[0])
296+ if ((0 >= aY))
299297 then throw("Wrong amount")
300- else $Tuple2(aZ, ba)
298+ else $Tuple2(aY, aZ)
301299 }
302300 }
303301
304302
305-func bb (aE) = if (!(s))
306- then throw(t)
307- else $Tuple3(toBase58String(aE.transactionId), toBase58String(aE.caller.bytes), lastBlock.timestamp)
303+func ba (aD) = if (!(r))
304+ then throw(s)
305+ else $Tuple3(toBase58String(aD.transactionId), toBase58String(aD.caller.bytes), lastBlock.timestamp)
308306
309307
310-func bc (aE,bd,M,be) = {
311- let bf = (toBase58String(aE.caller.bytes) == bd)
312- let bg = F("total_nft_issued")
313- let bh = B(N(bd, M))
314- if ((bh == ""))
308+func bb (aD,bc,L,bd) = {
309+ let be = (toBase58String(aD.caller.bytes) == bc)
310+ let bf = E("total_nft_issued")
311+ let bg = A(M(bc, L))
312+ if ((bg == ""))
315313 then throw("Art doesn't exist")
316314 else {
317- let bi = G(ad(bd, M))
318- let bj = F(Y(bd, M))
319- let aO = valueOrElse(F(ah(bd, M)), (ap * 2))
320- let aN = if (bf)
321- then toBase58String(o)
322- else B(ai(bd, M))
323- let bk = F(R(bd, M))
324- if (if (if (!(be))
325- then !(bf)
315+ let bh = F(ac(bc, L))
316+ let bi = E(X(bc, L))
317+ let aN = valueOrElse(E(ag(bc, L)), (ao * 2))
318+ let aM = if (be)
319+ then toBase58String(n)
320+ else A(ah(bc, L))
321+ let bj = E(Q(bc, L))
322+ if (if (if (!(bd))
323+ then !(be)
326324 else false)
327- then if (if ((0 >= aO))
325+ then if (if ((0 >= aN))
328326 then true
329- else !(bi))
327+ else !(bh))
330328 then true
331- else (0 >= bk)
329+ else (0 >= bj)
332330 else false)
333331 then throw("Art not for sale")
334- else if (if (if (!(be))
335- then bf
332+ else if (if (if (!(bd))
333+ then be
336334 else false)
337- then (0 >= bk)
335+ then (0 >= bj)
338336 else false)
339337 then throw("Max issuable not set")
340- else $Tuple7(bg, bh, bj, aO, aN, bk, bi)
338+ else $Tuple7(bf, bg, bi, aN, aM, bj, bh)
341339 }
342340 }
343341
344342
345-func bl (aE,K,bd,M,bm,U,aN,aO,be) = {
346- let aC = av(bd)
347- if (if (be)
348- then (aC != "")
343+func bk (aD,J,bc,L,bl,T,aM,aN,bd) = {
344+ let aB = au(bc)
345+ if (if (bd)
346+ then (aB != "")
349347 else false)
350- then throw(aC)
348+ then throw(aB)
351349 else {
352- let aW = ((((((("bid_" + M) + "_") + bd) + "_") + bm) + "_") + U)
353- let bn = if (be)
354- then aV(aW)
355- else aM(aE, aN, aO)
356- let aG = bn._1
357- let aJ = bn._2
358- $Tuple3(aW, aG, aJ)
350+ let aV = ((((((("bid_" + L) + "_") + bc) + "_") + bl) + "_") + T)
351+ let bm = if (bd)
352+ then aU(aV)
353+ else aL(aD, aM, aN)
354+ let aF = bm._1
355+ let aI = bm._2
356+ $Tuple3(aV, aF, aI)
359357 }
360358 }
361359
362360
363-func bo (bd,aJ,aG,bj,bk) = {
364- let bp = if ((aJ == o))
365- then r
361+func bn (bc,aI,aF,bi,bj) = {
362+ let bo = if ((aI == n))
363+ then q
366364 else throw("Only USDN is accepted!")
367- let bq = fraction(aG, bp, 1000)
368- let br = (aG - bq)
369- if ((bj == bk))
365+ let bp = fraction(aF, bo, 1000)
366+ let bq = (aF - bp)
367+ if ((bi == bj))
370368 then throw("Art sold out")
371369 else {
372- let bs = (bj + 1)
373- $Tuple3(bq, br, bs)
370+ let br = (bi + 1)
371+ $Tuple3(bp, bq, br)
374372 }
375373 }
376374
377375
378-func bt (bd,M,bh,bs,bk,bg,K,bm,U,aE,bi) = {
379- let bu = ((((((((("Creator: " + bd) + ",ArtID: ") + M) + ",Artwork name: ") + bh) + ",Issue: ") + toString(bs)) + "/") + toString(bk))
380- let bv = if (if ((bs == bk))
376+func bs (bc,L,bg,br,bj,bf,J,bl,T,aD,bh) = {
377+ let bt = ((((((((("Creator: " + bc) + ",ArtID: ") + L) + ",Artwork name: ") + bg) + ",Issue: ") + toString(br)) + "/") + toString(bj))
378+ let bu = if (if ((br == bj))
381379 then true
382- else !(bi))
380+ else !(bh))
383381 then false
384382 else true
385- let bw = if ((bm != ""))
386- then addressFromStringValue(bm)
387- else aE.caller
388- $Tuple3(bv, bw, bu)
383+ let bv = if ((bl != ""))
384+ then addressFromStringValue(bl)
385+ else aD.caller
386+ $Tuple3(bu, bv, bt)
389387 }
390388
391389
392-func bx (by) = if ((4 > by))
390+func bw (bx) = if ((4 > bx))
393391 then "SSR"
394- else if ((11 > by))
392+ else if ((11 > bx))
395393 then "SR"
396- else if ((101 > by))
394+ else if ((101 > bx))
397395 then "R"
398396 else "N"
399397
400398
401-func bz (aJ,aW,bA) = {
402- let bB = if (!(isDefined(aJ)))
399+func by (aI,aV,bz) = {
400+ let bA = if (!(isDefined(aI)))
403401 then throw("Only USDN is accepted")
404- else toBase58String(value(aJ))
405- let aX = B((aW + "_OPEN"))
406- let bC = DeleteEntry((aW + "_OPEN"))
407- let bD = StringEntry((aW + "_CLOSED"), ((aX + "_") + toString(bA)))
408- $Tuple3(bB, bC, bD)
402+ else toBase58String(value(aI))
403+ let aW = A((aV + "_OPEN"))
404+ let bB = DeleteEntry((aV + "_OPEN"))
405+ let bC = StringEntry((aV + "_CLOSED"), ((aW + "_") + toString(bz)))
406+ $Tuple3(bA, bB, bC)
409407 }
410408
411409
412-func bE (aE,M,bd,U,bm,be) = {
413- let bF = bb(aE)
414- let bG = bF._1
415- let K = bF._2
416- let bA = bF._3
417- let bH = bc(aE, bd, M, be)
418- let bg = bH._1
419- let bh = bH._2
420- let bj = bH._3
421- let aO = bH._4
422- let aN = bH._5
423- let bk = bH._6
424- let bi = bH._7
425- let aX = bl(aE, K, bd, M, bm, U, aN, aO, be)
426- let aW = aX._1
427- let aG = aX._2
428- let aJ = aX._3
429- let bI = bo(bd, value(aJ), aG, bj, bk)
430- let bq = bI._1
431- let br = bI._2
432- let bs = bI._3
433- let bJ = bt(bd, M, bh, bs, bk, bg, K, bm, U, aE, bi)
434- let bv = bJ._1
435- let bw = bJ._2
436- let bu = bJ._3
437- let bK = invoke(this, "mintNft", [bg, bu, toString(bw)], nil)
438- if ((bK == bK))
410+func bD (aD,L,bc,T,bl,bd) = {
411+ let bE = ba(aD)
412+ let bF = bE._1
413+ let J = bE._2
414+ let bz = bE._3
415+ let bG = bb(aD, bc, L, bd)
416+ let bf = bG._1
417+ let bg = bG._2
418+ let bi = bG._3
419+ let aN = bG._4
420+ let aM = bG._5
421+ let bj = bG._6
422+ let bh = bG._7
423+ let aW = bk(aD, J, bc, L, bl, T, aM, aN, bd)
424+ let aV = aW._1
425+ let aF = aW._2
426+ let aI = aW._3
427+ let bH = bn(bc, value(aI), aF, bi, bj)
428+ let bp = bH._1
429+ let bq = bH._2
430+ let br = bH._3
431+ let bI = bs(bc, L, bg, br, bj, bf, J, bl, T, aD, bh)
432+ let bu = bI._1
433+ let bv = bI._2
434+ let bt = bI._3
435+ let bJ = invoke(this, "mintNft", [bf, bt, toString(bv)], nil)
436+ if ((bJ == bJ))
439437 then {
440- let bL = {
441- let e = bK
438+ let bK = {
439+ let e = bJ
442440 if ($isInstanceOf(e, "String"))
443441 then {
444- let bM = e
445- bM
442+ let bL = e
443+ bL
446444 }
447445 else throw("Incorrect invoke result")
448446 }
449- let bN = bz(aJ, aW, bA)
450- let bB = bN._1
451- let bC = bN._2
452- let bD = bN._3
453- let bO = ((((((("art_sold_" + toString(bs)) + "_of_") + toString(bk)) + "_") + M) + "_") + bd)
454- let bP = bx(bs)
455- let bQ = if (!(be))
456- then ((((((((((K + "_") + toString(bA)) + "_") + bG) + "_") + toString(aO)) + "_") + aN) + "_") + bL)
457- else ((((((((((toString(bw) + "_") + toString(bA)) + "_") + bG) + "_") + toString(aG)) + "_") + bB) + "_") + bL)
458- let bR = StringEntry(bO, bQ)
459- let bS = [IntegerEntry(Y(bd, M), bs), StringEntry(("nft_" + bL), bO), StringEntry(("nft_rarity_" + bL), bP), IntegerEntry("total_nft_issued", (bg + 1)), BooleanEntry(ad(bd, M), bv), ScriptTransfer(Address(fromBase58String(bd)), br, aJ), ScriptTransfer(Address(fromBase58String(l)), bq, aJ), StringEntry(Z(bL), bd), StringEntry(ab(bL), M)]
460- let bT = invoke(addressFromStringValue(m), "createCert", [toString(bw), bL, bd], nil)
461- if ((bT == bT))
462- then if (be)
463- then (((bS :+ bR) :+ bD) :+ bC)
464- else bR :: bS
447+ let bM = by(aI, aV, bz)
448+ let bA = bM._1
449+ let bB = bM._2
450+ let bC = bM._3
451+ let bN = ((((((("art_sold_" + toString(br)) + "_of_") + toString(bj)) + "_") + L) + "_") + bc)
452+ let bO = bw(br)
453+ let bP = if (!(bd))
454+ then ((((((((((J + "_") + toString(bz)) + "_") + bF) + "_") + toString(aN)) + "_") + aM) + "_") + bK)
455+ else ((((((((((toString(bv) + "_") + toString(bz)) + "_") + bF) + "_") + toString(aF)) + "_") + bA) + "_") + bK)
456+ let bQ = StringEntry(bN, bP)
457+ let bR = [IntegerEntry(X(bc, L), br), StringEntry(("nft_" + bK), bN), StringEntry(("nft_rarity_" + bK), bO), IntegerEntry("total_nft_issued", (bf + 1)), BooleanEntry(ac(bc, L), bu), ScriptTransfer(Address(fromBase58String(bc)), bq, aI), ScriptTransfer(Address(fromBase58String(k)), bp, aI), StringEntry(Y(bK), bc), StringEntry(aa(bK), L)]
458+ let bS = invoke(addressFromStringValue(l), "createCert", [toString(bv), bK, bc], nil)
459+ if ((bS == bS))
460+ then if (bd)
461+ then (((bR :+ bQ) :+ bC) :+ bB)
462+ else bQ :: bR
465463 else throw("Strict value is not equal to itself.")
466464 }
467465 else throw("Strict value is not equal to itself.")
468466 }
469467
470468
471-func bU (aE,M,bd) = {
472- let bV = bb(aE)
473- let bG = bV._1
474- let K = bV._2
475- let bA = bV._3
476- let bW = aD(aE)
477- let aF = bW._1
478- let aG = bW._2
479- let aJ = if (!(isDefined(aF.assetId)))
469+func bT (aD,L,bc) = {
470+ let bU = ba(aD)
471+ let bF = bU._1
472+ let J = bU._2
473+ let bz = bU._3
474+ let bV = aC(aD)
475+ let aE = bV._1
476+ let aF = bV._2
477+ let aI = if (!(isDefined(aE.assetId)))
480478 then throw("Only USDN is accepted!")
481- else toBase58String(value(aF.assetId))
482- let bX = F(("current_bidamount_" + M))
483- let bY = valueOrElse(F(ah(bd, M)), (ap * 2))
484- if (!(aQ(aJ)))
479+ else toBase58String(value(aE.assetId))
480+ let bW = E(("current_bidamount_" + L))
481+ let bX = valueOrElse(E(ag(bc, L)), (ao * 2))
482+ if (!(aP(aI)))
485483 then throw("asset not accepted")
486484 else {
487- let bj = F(Y(bd, M))
488- let bk = F(R(bd, M))
489- if ((0 >= bk))
485+ let bi = E(X(bc, L))
486+ let bj = E(Q(bc, L))
487+ if ((0 >= bj))
490488 then throw("No max edition set for this artwork")
491- else if ((bj >= bk))
489+ else if ((bi >= bj))
492490 then throw("Sold out, you cannot bid")
493- else [StringEntry((((((((("bid_" + M) + "_") + bd) + "_") + K) + "_") + bG) + "_OPEN"), ((((aJ + "_") + toString(aG)) + "_") + toString(bA))), IntegerEntry(("current_bidamount_" + M), (bX + 1))]
491+ else [StringEntry((((((((("bid_" + L) + "_") + bc) + "_") + J) + "_") + bF) + "_OPEN"), ((((aI + "_") + toString(aF)) + "_") + toString(bz))), IntegerEntry(("current_bidamount_" + L), (bW + 1))]
494492 }
495493 }
496494
497495
498-func bZ (aE,M,bd) = {
499- let ca = F(W(bd, M))
500- let cb = ar(M)
501- if ((height > ca))
496+func bY (aD,L,bc) = {
497+ let bZ = E(V(bc, L))
498+ let ca = aq(L)
499+ if ((height > bZ))
502500 then throw("This auction is finished already!")
503501 else {
504- let cc = bb(aE)
505- let bG = cc._1
506- let K = cc._2
507- let bA = cc._3
508- let cd = aD(aE)
509- let aF = cd._1
510- let aG = cd._2
511- if ((cb >= aG))
512- then throw(("Please place a bid higher than: " + toString(cb)))
502+ let cb = ba(aD)
503+ let bF = cb._1
504+ let J = cb._2
505+ let bz = cb._3
506+ let cc = aC(aD)
507+ let aE = cc._1
508+ let aF = cc._2
509+ if ((ca >= aF))
510+ then throw(("Please place a bid higher than: " + toString(ca)))
513511 else {
514- let aJ = if (!(isDefined(aF.assetId)))
512+ let aI = if (!(isDefined(aE.assetId)))
515513 then throw("Only USDN is accepted!")
516- else toBase58String(value(aF.assetId))
517- let bX = F(("current_bidamount_" + M))
518- let bY = valueOrElse(F(ah(bd, M)), (ap * 2))
519- if (!(aQ(aJ)))
514+ else toBase58String(value(aE.assetId))
515+ let bW = E(("current_bidamount_" + L))
516+ let bX = valueOrElse(E(ag(bc, L)), (ao * 2))
517+ if (!(aP(aI)))
520518 then throw("asset not accepted")
521- else if ((bY > aG))
519+ else if ((bX > aF))
522520 then throw("Bid is below min price!")
523521 else {
524- let bj = F(Y(bd, M))
525- let bk = F(R(bd, M))
526- if ((0 >= bk))
522+ let bi = E(X(bc, L))
523+ let bj = E(Q(bc, L))
524+ if ((0 >= bj))
527525 then throw("No max edition set for this artwork")
528- else if ((bj >= bk))
526+ else if ((bi >= bj))
529527 then throw("Sold out, you cannot bid")
530- else [StringEntry((((((((("bid_" + M) + "_") + bd) + "_") + K) + "_") + bG) + "_OPEN"), ((((aJ + "_") + toString(aG)) + "_") + toString(bA))), IntegerEntry(("current_bidamount_" + M), (bX + 1)), StringEntry(S(M), toBase58String(aE.transactionId)), IntegerEntry(T(toBase58String(aE.transactionId)), aG)]
528+ else [StringEntry((((((((("bid_" + L) + "_") + bc) + "_") + J) + "_") + bF) + "_OPEN"), ((((aI + "_") + toString(aF)) + "_") + toString(bz))), IntegerEntry(("current_bidamount_" + L), (bW + 1)), StringEntry(R(L), toBase58String(aD.transactionId)), IntegerEntry(S(toBase58String(aD.transactionId)), aF)]
531529 }
532530 }
533531 }
534532 }
535533
536534
537-func ce (aE,M,bd,U,bm) = {
538- let K = toBase58String(aE.caller.bytes)
539- if ((K != bd))
535+func cd (aD,L,bc,T,bl) = {
536+ let J = toBase58String(aD.caller.bytes)
537+ if ((J != bc))
540538 then throw("You cannot do this action")
541- else bE(aE, M, bd, U, bm, true)
539+ else bD(aD, L, bc, T, bl, true)
542540 }
543541
544542
545-func cf (M,bd) = {
546- let bj = F(Y(bd, M))
547- let bk = F(R(bd, M))
548- let cg = F(W(bd, M))
549- let ch = F(V(bd, M))
550- let ca = (ch + height)
551- if ((height > cg))
552- then if ((bj == bk))
543+func ce (L,bc) = {
544+ let bi = E(X(bc, L))
545+ let bj = E(Q(bc, L))
546+ let cf = E(V(bc, L))
547+ let cg = E(U(bc, L))
548+ let bZ = (cg + height)
549+ if ((height > cf))
550+ then if ((bi == bj))
553551 then throw("Can't restart auction, max amount sold")
554- else [IntegerEntry(W(bd, M), ca), DeleteEntry(S(M))]
552+ else [IntegerEntry(V(bc, L), bZ), DeleteEntry(R(L))]
555553 else throw("Previous auction isn't completed yet")
556554 }
557555
558556
559-func ci (aE,M,bd,U,bm) = {
560- let ca = F(W(bd, M))
561- let cj = B(S(M))
562- if ((height > ca))
563- then if ((U == cj))
557+func ch (aD,L,bc,T,bl) = {
558+ let bZ = E(V(bc, L))
559+ let ci = A(R(L))
560+ if ((height > bZ))
561+ then if ((T == ci))
564562 then {
565- let ck = bE(aE, M, bd, U, bm, true)
566- let cl = cf(M, bd)
567- (cl ++ ck)
563+ let cj = bD(aD, L, bc, T, bl, true)
564+ let ck = ce(L, bc)
565+ (ck ++ cj)
568566 }
569567 else throw("This is not the winning bid!")
570568 else throw("This auction is not yet finished!")
571569 }
572570
573571
574-func cm (aE,M,bd,U) = {
575- let cn = bb(aE)
576- let bG = cn._1
577- let K = cn._2
578- let bA = cn._3
579- let bX = F(("current_bidamount_" + M))
580- let aW = ((((((("bid_" + M) + "_") + bd) + "_") + K) + "_") + U)
581- let aX = C((aW + "_OPEN"), "Bid not found")
582- let aY = split(aX, "_")
583- let aJ = aU(aY[0])
584- let co = "CANCELED"
585-[DeleteEntry((aW + "_OPEN")), StringEntry(((aW + "_") + co), ((aX + "_") + toString(bA))), IntegerEntry(("current_bidamount_" + M), (bX - 1)), ScriptTransfer(Address(fromBase58String(K)), parseIntValue(aY[1]), aJ)]
572+func cl (aD,L,bc,T) = {
573+ let cm = ba(aD)
574+ let bF = cm._1
575+ let J = cm._2
576+ let bz = cm._3
577+ let bW = E(("current_bidamount_" + L))
578+ let aV = ((((((("bid_" + L) + "_") + bc) + "_") + J) + "_") + T)
579+ let aW = B((aV + "_OPEN"), "Bid not found")
580+ let aX = split(aW, "_")
581+ let aI = aT(aX[0])
582+ let cn = "CANCELED"
583+[DeleteEntry((aV + "_OPEN")), StringEntry(((aV + "_") + cn), ((aW + "_") + toString(bz))), IntegerEntry(("current_bidamount_" + L), (bW - 1)), ScriptTransfer(Address(fromBase58String(J)), parseIntValue(aX[1]), aI)]
586584 }
587585
588586
589-func cp (aE,M,bd,U) = {
590- let cn = bb(aE)
591- let bG = cn._1
592- let K = cn._2
593- let bA = cn._3
594- let bX = F(("current_bidamount_" + M))
595- let aW = ((((((("bid_" + M) + "_") + bd) + "_") + K) + "_") + U)
596- let aX = C((aW + "_OPEN"), "Bid not found")
597- let aY = split(aX, "_")
598- let aJ = aU(aY[0])
599- let co = "CANCELED"
600- let aZ = parseIntValue(aY[1])
601- let cj = B(S(M))
602- if ((U == cj))
587+func co (aD,L,bc,T) = {
588+ let cm = ba(aD)
589+ let bF = cm._1
590+ let J = cm._2
591+ let bz = cm._3
592+ let bW = E(("current_bidamount_" + L))
593+ let aV = ((((((("bid_" + L) + "_") + bc) + "_") + J) + "_") + T)
594+ let aW = B((aV + "_OPEN"), "Bid not found")
595+ let aX = split(aW, "_")
596+ let aI = aT(aX[0])
597+ let cn = "CANCELED"
598+ let aY = parseIntValue(aX[1])
599+ let ci = A(R(L))
600+ if ((T == ci))
603601 then throw("You can't cancel the highest bid!")
604- else [DeleteEntry((aW + "_OPEN")), StringEntry(((aW + "_") + co), ((aX + "_") + toString(bA))), IntegerEntry(("current_bidamount_" + M), (bX - 1)), ScriptTransfer(Address(fromBase58String(K)), aZ, aJ)]
602+ else [DeleteEntry((aV + "_OPEN")), StringEntry(((aV + "_") + cn), ((aW + "_") + toString(bz))), IntegerEntry(("current_bidamount_" + L), (bW - 1)), ScriptTransfer(Address(fromBase58String(J)), aY, aI)]
605603 }
606604
607605
608-@Callable(aE)
609-func initDapp (cq) = if ((aE.caller != this))
606+@Callable(aD)
607+func initDapp (cp) = if ((aD.caller != this))
610608 then throw("You cannot do this action")
611609 else if ((g != ""))
612610 then throw("oracle already set, you can't override!")
613- else [StringEntry(b, cq)]
611+ else [StringEntry(b, cp)]
614612
615613
616614
617-@Callable(aE)
618-func restartAuctionManual (M) = if ((ar(M) != 0))
615+@Callable(aD)
616+func restartAuctionManual (L) = if ((aq(L) != 0))
619617 then throw("Please accept the highest bid!")
620- else cf(M, toBase58String(aE.caller.bytes))
618+ else ce(L, toBase58String(aD.caller.bytes))
621619
622620
623621
624-@Callable(aE)
625-func mintNft (bg,bu,bw) = if ((aE.caller == this))
622+@Callable(aD)
623+func mintNft (bf,bt,bv) = if ((aD.caller == this))
626624 then {
627- let cr = Address(fromBase58String(bw))
628- let cs = Issue(("SCONEX_" + toString((bg + 1))), bu, 1, 0, false)
629- let bL = calculateAssetId(cs)
630- $Tuple2([cs, ScriptTransfer(cr, 1, bL)], toBase58String(bL))
625+ let cq = Address(fromBase58String(bv))
626+ let cr = Issue(("SCONEX_" + toString((bf + 1))), bt, 1, 0, false)
627+ let bK = calculateAssetId(cr)
628+ $Tuple2([cr, ScriptTransfer(cq, 1, bK)], toBase58String(bK))
631629 }
632630 else throw("Only the dApp can mint NFT's")
633631
634632
635633
636-@Callable(aE)
637-func addArtwork (am,az,aA,aB,ct,ay,cu,cv,cw,cx) = {
638- let cy = bb(aE)
639- let M = cy._1
640- let K = cy._2
641- let bA = cy._3
642- if (containsElement(p, ct))
634+@Callable(aD)
635+func addArtwork (al,ay,az,aA,cs,ax,ct,cu,cv,cw) = {
636+ let cx = ba(aD)
637+ let L = cx._1
638+ let J = cx._2
639+ let bz = cx._3
640+ if (containsElement(o, cs))
643641 then {
644- let cz = ax(K, ay, az, aA, aB)
645- if ((cz != ""))
642+ let cy = aw(J, ax, ay, az, aA)
643+ if ((cy != ""))
646644 then throw("Something went wrong!")
647645 else {
648- let cA = aH(aE)
649- let aG = cA._1
650- let aJ = cA._2
651- if (!(isDefined(aG)))
646+ let cz = aG(aD)
647+ let aF = cz._1
648+ let aI = cz._2
649+ if (!(isDefined(aF)))
652650 then throw("Something went wrong")
653651 else {
654- let cB = if (containsElement(q, ct))
655- then [StringEntry(Q(K, M), cv)]
652+ let cA = if (containsElement(p, cs))
653+ then [StringEntry(P(J, L), cu)]
656654 else nil
657- let cC = B(an(am, K))
658- if ((cC != ""))
659- then throw("You already added it")
660- else {
661- let cD = B(al(am))
655+ let cB = invoke(addressFromStringValue(j), "collectionProcess", [cv, cw, J], nil)
656+ if ((cB == cB))
657+ then {
658+ let cC = {
659+ let e = cB
660+ if ($isInstanceOf(e, "String"))
661+ then {
662+ let bL = e
663+ bL
664+ }
665+ else throw("Incorrect invoke result")
666+ }
667+ let cD = A(am(al, J))
662668 if ((cD != ""))
663- then throw("This hash is already registered")
664- else (cB ++ [StringEntry(al(am), K), StringEntry(an(am, K), M), IntegerEntry(L(K, M), bA), StringEntry(N(K, M), az), StringEntry(O(K, M), aA), StringEntry(P(K, M), ay), StringEntry(ag(K, M), ct), StringEntry(af(K, M), aB), IntegerEntry(R(K, M), 0), IntegerEntry(Y(K, M), 0), BooleanEntry(ad(K, M), false), StringEntry(aj(K, M), am), StringEntry(ae(K, M), cu), ScriptTransfer(Address(fromBase58String(l)), aG, aJ)])
669+ then throw("You already added it")
670+ else {
671+ let cE = A(ak(al))
672+ if ((cE != ""))
673+ then throw("This hash is already registered")
674+ else (cA ++ [StringEntry(ak(al), J), StringEntry(am(al, J), L), IntegerEntry(K(J, L), bz), StringEntry(M(J, L), ay), StringEntry(N(J, L), az), StringEntry(O(J, L), ax), StringEntry(af(J, L), cs), StringEntry(ae(J, L), aA), IntegerEntry(Q(J, L), 0), IntegerEntry(X(J, L), 0), BooleanEntry(ac(J, L), false), StringEntry(ai(J, L), al), StringEntry(ad(J, L), ct), ScriptTransfer(Address(fromBase58String(k)), aF, aI)])
675+ }
665676 }
677+ else throw("Strict value is not equal to itself.")
666678 }
667679 }
668680 }
669681 else throw("Unknown type")
670682 }
671683
672684
673685
674-@Callable(aE)
675-func sellArtwork (M,aS,cE,aJ,cF,ch,cG) = {
676- let cH = bb(aE)
677- let bG = cH._1
678- let K = cH._2
679- let bh = B(N(K, M))
680- if ((0 > cG))
686+@Callable(aD)
687+func sellArtwork (L,aR,cF,aI,cG,cg,cH) = {
688+ let cI = ba(aD)
689+ let bF = cI._1
690+ let J = cI._2
691+ let bg = A(M(J, L))
692+ if ((0 > cH))
681693 then throw("Royalty percentage should be above 0")
682- else if ((cG > 85))
694+ else if ((cH > 85))
683695 then throw("Royalty percentage should be below 85")
684- else if (!(containsElement([x, y, z], cF)))
696+ else if (!(containsElement([w, x, y], cG)))
685697 then throw("We don't know this auction type")
686- else if ((bh == ""))
698+ else if ((bg == ""))
687699 then throw("This art doesn't match your account")
688700 else {
689- let bX = F(("current_bidamount_" + M))
690- if (!(aQ(aJ)))
701+ let bW = E(("current_bidamount_" + L))
702+ if (!(aP(aI)))
691703 then throw("Something went wrong!")
692- else if (!(aR(aJ, aS)))
704+ else if (!(aQ(aI, aR)))
693705 then throw("Something went wrong!")
694706 else {
695- let aC = av(K)
696- if ((aC != ""))
697- then throw(aC)
707+ let aB = au(J)
708+ if ((aB != ""))
709+ then throw(aB)
698710 else {
699- let bj = F(Y(K, M))
700- let bk = F(R(K, M))
701- if ((cE > 10000))
711+ let bi = E(X(J, L))
712+ let bj = E(Q(J, L))
713+ if ((cF > 10000))
702714 then throw("10000 editions max per artwork")
703- else if (if ((bj != 0))
704- then (bj == bk)
715+ else if (if ((bi != 0))
716+ then (bi == bj)
705717 else false)
706718 then throw("Max edition reached.")
707- else if (if ((bj > 0))
708- then (bk != cE)
719+ else if (if ((bi > 0))
720+ then (bj != cF)
709721 else false)
710722 then throw("Cannot change maximum issuable anymore")
711- else if (if ((bX > 0))
712- then (bk != cE)
723+ else if (if ((bW > 0))
724+ then (bj != cF)
713725 else false)
714726 then throw("Cannot change maximum issuable with active orders")
715727 else {
716- let bv = if (if ((aS > 0))
717- then (cE > 0)
728+ let bu = if (if ((aR > 0))
729+ then (cF > 0)
718730 else false)
719731 then true
720732 else false
721- let ca = (ch + height)
722-[BooleanEntry(ad(K, M), bv), IntegerEntry(ah(K, M), aS), IntegerEntry(R(K, M), cE), IntegerEntry(V(K, M), ch), IntegerEntry(W(K, M), ca), StringEntry(ai(K, M), aJ), StringEntry(X(K, M), cF), IntegerEntry(ac(K, M), cG)]
733+ let bZ = (cg + height)
734+[BooleanEntry(ac(J, L), bu), IntegerEntry(ag(J, L), aR), IntegerEntry(Q(J, L), cF), IntegerEntry(U(J, L), cg), IntegerEntry(V(J, L), bZ), StringEntry(ah(J, L), aI), StringEntry(W(J, L), cG), IntegerEntry(ab(J, L), cH)]
723735 }
724736 }
725737 }
726738 }
727739 }
728740
729741
730742
731-@Callable(aE)
732-func buyArtwork (M,bd) = {
733- let cF = B(X(bd, M))
734- if ((cF == z))
735- then bE(aE, M, bd, "", "", false)
743+@Callable(aD)
744+func buyArtwork (L,bc) = {
745+ let cG = A(W(bc, L))
746+ if ((cG == y))
747+ then bD(aD, L, bc, "", "", false)
736748 else throw("Direct buy only allowed when no auction type is set!")
737749 }
738750
739751
740752
741-@Callable(aE)
742-func updateTags (cI,M,aB) = {
743- let K = toString(addressFromPublicKey(aE.callerPublicKey))
744- if (containsElement(i, K))
745- then if ((size(split(aB, ",")) > 5))
753+@Callable(aD)
754+func updateTags (cJ,L,aA) = {
755+ let J = toString(addressFromPublicKey(aD.callerPublicKey))
756+ if (containsElement(i, J))
757+ then if ((size(split(aA, ",")) > 5))
746758 then throw("5 tags max.")
747759 else {
748- let cJ = C(af(cI, M), "No tags created with this key, so can't update!")
749- if ((aB == cJ))
760+ let cK = B(ae(cJ, L), "No tags created with this key, so can't update!")
761+ if ((aA == cK))
750762 then throw("Tags are the same as old tags!")
751- else [StringEntry(af(cI, M), aB)]
763+ else [StringEntry(ae(cJ, L), aA)]
752764 }
753765 else throw("no")
754766 }
755767
756768
757769
758-@Callable(aE)
759-func deleteEntry (cK) = {
760- let K = toString(addressFromPublicKey(aE.callerPublicKey))
761- if (containsElement(i, K))
762- then [DeleteEntry(cK)]
770+@Callable(aD)
771+func deleteEntry (cL) = {
772+ let J = toString(addressFromPublicKey(aD.callerPublicKey))
773+ if (containsElement(i, J))
774+ then [DeleteEntry(cL)]
763775 else throw("no")
764776 }
765777
766778
767779
768-@Callable(aE)
769-func setBid (M,bd) = {
770- let cF = B(X(bd, M))
771- if ((cF == x))
772- then bU(aE, M, bd)
773- else if ((cF == y))
774- then bZ(aE, M, bd)
775- else throw((("Unknown auction type :" + cF) + ", please contact the admins"))
780+@Callable(aD)
781+func setBid (L,bc) = {
782+ let cG = A(W(bc, L))
783+ if ((cG == w))
784+ then bT(aD, L, bc)
785+ else if ((cG == x))
786+ then bY(aD, L, bc)
787+ else throw((("Unknown auction type :" + cG) + ", please contact the admins"))
776788 }
777789
778790
779791
780-@Callable(aE)
781-func acceptBid (M,bd,U,bm) = {
782- let cF = B(X(bd, M))
783- if ((cF == x))
784- then ce(aE, M, bd, U, bm)
785- else if ((cF == y))
786- then ci(aE, M, bd, U, bm)
787- else throw((("Unknown auction type :" + cF) + ", please contact the admins"))
792+@Callable(aD)
793+func acceptBid (L,bc,T,bl) = {
794+ let cG = A(W(bc, L))
795+ if ((cG == w))
796+ then cd(aD, L, bc, T, bl)
797+ else if ((cG == x))
798+ then ch(aD, L, bc, T, bl)
799+ else throw((("Unknown auction type :" + cG) + ", please contact the admins"))
788800 }
789801
790802
791803
792-@Callable(aE)
793-func cancelBid (M,bd,U) = {
794- let cF = B(X(bd, M))
795- if ((cF == x))
796- then cm(aE, M, bd, U)
797- else cp(aE, M, bd, U)
804+@Callable(aD)
805+func cancelBid (L,bc,T) = {
806+ let cG = A(W(bc, L))
807+ if ((cG == w))
808+ then cl(aD, L, bc, T)
809+ else co(aD, L, bc, T)
798810 }
799811
800812

github/deemru/w8io/c3f4982 
292.52 ms