tx · GnLgYtBkEsz6N5C8CHEZcMQ9SwKFRdoufwhFtn6GjpBT

3MtA8ddCQT44GtMfUj9XgzPeZvzY52kofKK:  -0.01400000 Waves

2021.08.16 02:04 [1660104] smart account 3MtA8ddCQT44GtMfUj9XgzPeZvzY52kofKK > SELF 0.00000000 Waves

{ "type": 13, "id": "GnLgYtBkEsz6N5C8CHEZcMQ9SwKFRdoufwhFtn6GjpBT", "fee": 1400000, "feeAssetId": null, "timestamp": 1629068671700, "version": 2, "chainId": 84, "sender": "3MtA8ddCQT44GtMfUj9XgzPeZvzY52kofKK", "senderPublicKey": "FHpHpSeEJhz3pVGgYuLDVj7fesP8NNRAMtG9Kh8EQevE", "proofs": [ "3P8BAPUXvDfkTA28mAp8hbpQ5yYZZizkvnBioPUvQmRSBPLwQ8EZb6aqHDD8VXQqyyX3ge2JyfQ65P86EA2YuQZQ" ], "script": "base64:AAIEAAAAAAAAAEEIAhIDCgEIEgYKBAgBCAESBwoFCAgBCAESAwoBCBIDCgEIEgMKAQgSBAoCCAgSABIDCgEIEgQKAggIEgUKAwgICAAAAEUAAAAABE5PTkUCAAAABE5PTkUAAAAABlZPVEVSUwAAAAAAAAAAAwAAAAAGUVVPUlVNAAAAAAAAAAACAAAAAAhGRUFUVVJFRAIAAAAIZmVhdHVyZWQAAAAACERFTElTVEVEAgAAAAhkZWxpc3RlZAAAAAAGVk9USU5HAgAAAAZ2b3RpbmcAAAAABlJFVkVBTAIAAAAGcmV2ZWFsAAAAAAVFTkRFRAIAAAAFZW5kZWQAAAAACEFQUFJPVkFMAgAAAAhhcHByb3ZhbAAAAAAIUkVKRUNURUQCAAAACHJlamVjdGVkAAAAAAhBQ0NFUFRFRAIAAAAIYWNjZXB0ZWQBAAAADmdldFN0cmluZ0J5S2V5AAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEFAAAABE5PTkUBAAAAD2dldEludGVnZXJCeUtleQAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAAAQAAAA9nZXRCb29sZWFuQnlLZXkAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABBsAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAB0Jvb2xlYW4EAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEHAQAAABVnZXRLZXlTdXBwbGllckFjY291bnQAAAABAAAAB2FjY291bnQJAAEsAAAAAgUAAAAHYWNjb3VudAIAAAAIX2FjY291bnQBAAAAEmdldFN1cHBsaWVyQWNjb3VudAAAAAEAAAAHYWNjb3VudAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAFWdldEtleVN1cHBsaWVyQWNjb3VudAAAAAEFAAAAB2FjY291bnQBAAAACmdldEtleUl0ZW0AAAACAAAACHN1cHBsaWVyAAAABXRpdGxlBAAAAA1zdXBwbGllclRpdGxlCQABLAAAAAIFAAAACHN1cHBsaWVyBQAAAAV0aXRsZQkAASwAAAACAgAAAAVpdGVtXwkAAlgAAAABCQAB9wAAAAEJAAGbAAAAAQUAAAANc3VwcGxpZXJUaXRsZQEAAAASZ2V0S2V5SXRlbVN1cHBsaWVyAAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAABl9vd25lcgEAAAAPZ2V0S2V5SXRlbVRpdGxlAAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAABl90aXRsZQEAAAAPZ2V0S2V5SXRlbVByaWNlAAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAABl9wcmljZQEAAAAOZ2V0S2V5SXRlbURhdGEAAAABAAAABGl0ZW0JAAEsAAAAAgUAAAAEaXRlbQIAAAAFX2RhdGEBAAAAFGdldEtleUl0ZW1FeHBpcmVEYXRlAAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAAC19leHBpcmVkYXRlAQAAABVnZXRLZXlJdGVtU29sZENvdW50ZXIAAAABAAAABGl0ZW0JAAEsAAAAAgUAAAAEaXRlbQIAAAAFX3NvbGQBAAAAEWdldEtleUl0ZW1SZW1vdmVkAAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAACF9yZW1vdmVkAQAAABJnZXRLZXlJdGVtRmVhdHVyZWQAAAABAAAABGl0ZW0JAAEsAAAAAgUAAAAEaXRlbQIAAAAJX2ZlYXR1cmVkAQAAABNnZXRLZXlJdGVtVm90ZVJvdW5kAAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAACl92b3Rlcm91bmQBAAAAFWdldEtleVVzZXJJdGVtQ291bnRlcgAAAAIAAAAEdXNlcgAAAARpdGVtCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAR1c2VyAgAAAAFfBQAAAARpdGVtAgAAAAhfY291bnRlcgEAAAAVZ2V0S2V5U3VwcGxpZXJCYWxhbmNlAAAAAQAAAAhzdXBwbGllcgkAASwAAAACBQAAAAhzdXBwbGllcgIAAAAIX2JhbGFuY2UBAAAADmdlblB1cmNoYXNlS2V5AAAABAAAAAhzdXBwbGllcgAAAARpdGVtAAAABHVzZXIAAAAHY291bnRlcgkAASwAAAACAgAAAAlwdXJjaGFzZV8JAAJYAAAAAQkAAfcAAAABCQABmwAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAACHN1cHBsaWVyAgAAAAFfBQAAAARpdGVtAgAAAAFfBQAAAAR1c2VyAgAAAAFfCQABpAAAAAEFAAAAB2NvdW50ZXIBAAAAFGdldEtleVB1cmNoYXNlU3RhdHVzAAAAAQAAAAhwdXJjaGFzZQkAASwAAAACBQAAAAhwdXJjaGFzZQIAAAAHX3N0YXR1cwEAAAASZ2V0S2V5UHVyY2hhc2VJdGVtAAAAAQAAAAhwdXJjaGFzZQkAASwAAAACBQAAAAhwdXJjaGFzZQIAAAAFX2l0ZW0BAAAAFmdldEtleVB1cmNoYXNlU3VwcGxpZXIAAAABAAAACHB1cmNoYXNlCQABLAAAAAIFAAAACHB1cmNoYXNlAgAAAAlfc3VwcGxpZXIBAAAAEmdldEtleVB1cmNoYXNlVXNlcgAAAAEAAAAIcHVyY2hhc2UJAAEsAAAAAgUAAAAIcHVyY2hhc2UCAAAABV91c2VyAQAAABRnZXRLZXlQdXJjaGFzZUFtb3VudAAAAAEAAAAIcHVyY2hhc2UJAAEsAAAAAgUAAAAIcHVyY2hhc2UCAAAAB19hbW91bnQBAAAAF2dldEtleVB1cmNoYXNlVGltZXN0YW1wAAAAAQAAAAhwdXJjaGFzZQkAASwAAAACBQAAAAhwdXJjaGFzZQIAAAAKX3RpbWVzdGFtcAEAAAAVZ2V0S2V5UHVyY2hhc2VBc3NldElkAAAAAQAAAAhwdXJjaGFzZQkAASwAAAACBQAAAAhwdXJjaGFzZQIAAAAIX2Fzc2V0SWQBAAAAFmdldEtleVB1cmNoYXNlRnVuZFBhaWQAAAABAAAACHB1cmNoYXNlCQABLAAAAAIFAAAACHB1cmNoYXNlAgAAAAlfZnVuZHBhaWQBAAAAFGdldEtleUNvdXBvblB1cmNoYXNlAAAAAQAAAAdhc3NldElkCQABLAAAAAIJAAEsAAAAAgIAAAAHY291cG9uXwUAAAAHYXNzZXRJZAIAAAAJX3B1cmNoYXNlAQAAABBnZXRLZXlDb3Vwb25JdGVtAAAAAQAAAAdhc3NldElkCQABLAAAAAIJAAEsAAAAAgIAAAAHY291cG9uXwUAAAAHYXNzZXRJZAIAAAAFX2l0ZW0BAAAACmdldEtleVZvdGUAAAACAAAABGl0ZW0AAAAFcm91bmQJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAEdm90ZQUAAAAEaXRlbQIAAAABWwkAAaQAAAABBQAAAAVyb3VuZAIAAAABXQEAAAAWZ2V0S2V5Vm90ZUNvbW1pdHNDb3VudAAAAAEAAAAHa2V5Vm90ZQkAASwAAAACBQAAAAdrZXlWb3RlAgAAAAdfY210Y250AQAAABBnZXRLZXlWb3RlU3RhdHVzAAAAAQAAAAdrZXlWb3RlCQABLAAAAAIFAAAAB2tleVZvdGUCAAAAB19zdGF0dXMBAAAAEGdldEtleVZvdGVzQ291bnQAAAACAAAAB2tleVZvdGUAAAAEdm90ZQkAASwAAAACCQABLAAAAAIFAAAAB2tleVZvdGUCAAAABV9yZXM6BQAAAAR2b3RlAQAAABRnZXRLZXlVc2VyVm90ZUNvbW1pdAAAAAIAAAAHa2V5Vm90ZQAAAAR1c2VyCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAdrZXlWb3RlAgAAAAFfBQAAAAR1c2VyAgAAAAdfY29tbWl0AQAAABRnZXRLZXlVc2VyVm90ZVJldmVhbAAAAAIAAAAHa2V5Vm90ZQAAAAR1c2VyCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAdrZXlWb3RlAgAAAAFfBQAAAAR1c2VyAgAAAAdfcmV2ZWFsAQAAABdnZXRWYWx1ZVN1cHBsaWVyQmFsYW5jZQAAAAEAAAAIc3VwcGxpZXIJAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABCQEAAAAVZ2V0S2V5U3VwcGxpZXJCYWxhbmNlAAAAAQUAAAAIc3VwcGxpZXIBAAAAF2dldFZhbHVlVXNlckl0ZW1Db3VudGVyAAAAAgAAAAR1c2VyAAAABGl0ZW0JAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABCQEAAAAVZ2V0S2V5VXNlckl0ZW1Db3VudGVyAAAAAgUAAAAEdXNlcgUAAAAEaXRlbQEAAAARZ2V0VmFsdWVJdGVtUHJpY2UAAAABAAAABGl0ZW0JAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAQAAAA9nZXRLZXlJdGVtUHJpY2UAAAABBQAAAARpdGVtAQAAABRnZXRWYWx1ZUl0ZW1TdXBwbGllcgAAAAEAAAAEaXRlbQkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAEmdldEtleUl0ZW1TdXBwbGllcgAAAAEFAAAABGl0ZW0BAAAAFmdldFZhbHVlSXRlbUV4cGlyZVRpbWUAAAABAAAABGl0ZW0JAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABCQEAAAAUZ2V0S2V5SXRlbUV4cGlyZURhdGUAAAABBQAAAARpdGVtAQAAABFnZXRWYWx1ZUl0ZW1UaXRsZQAAAAEAAAAEaXRlbQkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAD2dldEtleUl0ZW1UaXRsZQAAAAEFAAAABGl0ZW0BAAAAF2dldFZhbHVlSXRlbVNvbGRDb3VudGVyAAAAAQAAAARpdGVtCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAAFWdldEtleUl0ZW1Tb2xkQ291bnRlcgAAAAEFAAAABGl0ZW0BAAAAE2dldFZhbHVlSXRlbVJlbW92ZWQAAAABAAAABGl0ZW0JAQAAAA9nZXRCb29sZWFuQnlLZXkAAAABCQEAAAARZ2V0S2V5SXRlbVJlbW92ZWQAAAABBQAAAARpdGVtAQAAABRnZXRWYWx1ZUl0ZW1GZWF0dXJlZAAAAAEAAAAEaXRlbQkBAAAAD2dldEJvb2xlYW5CeUtleQAAAAEJAQAAABJnZXRLZXlJdGVtRmVhdHVyZWQAAAABBQAAAARpdGVtAQAAABZnZXRWYWx1ZVB1cmNoYXNlU3RhdHVzAAAAAQAAAAhwdXJjaGFzZQkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAFGdldEtleVB1cmNoYXNlU3RhdHVzAAAAAQUAAAAIcHVyY2hhc2UBAAAAFGdldFZhbHVlUHVyY2hhc2VJdGVtAAAAAQAAAAhwdXJjaGFzZQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkBAAAAEmdldEtleVB1cmNoYXNlSXRlbQAAAAEFAAAACHB1cmNoYXNlAQAAABhnZXRWYWx1ZVB1cmNoYXNlU3VwcGxpZXIAAAABAAAACHB1cmNoYXNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQEAAAAWZ2V0S2V5UHVyY2hhc2VTdXBwbGllcgAAAAEFAAAACHB1cmNoYXNlAQAAABRnZXRWYWx1ZVB1cmNoYXNlVXNlcgAAAAEAAAAIcHVyY2hhc2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAQAAABJnZXRLZXlQdXJjaGFzZVVzZXIAAAABBQAAAAhwdXJjaGFzZQEAAAAWZ2V0VmFsdWVQdXJjaGFzZUFtb3VudAAAAAEAAAAIcHVyY2hhc2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAQAAABRnZXRLZXlQdXJjaGFzZUFtb3VudAAAAAEFAAAACHB1cmNoYXNlAQAAABlnZXRWYWx1ZVB1cmNoYXNlVGltZXN0YW1wAAAAAQAAAAhwdXJjaGFzZQkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAQAAABdnZXRLZXlQdXJjaGFzZVRpbWVzdGFtcAAAAAEFAAAACHB1cmNoYXNlAQAAABdnZXRWYWx1ZVB1cmNoYXNlQXNzZXRJZAAAAAEAAAAIcHVyY2hhc2UJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAABVnZXRLZXlQdXJjaGFzZUFzc2V0SWQAAAABBQAAAAhwdXJjaGFzZQEAAAAYZ2V0VmFsdWVQdXJjaGFzZUZ1bmRQYWlkAAAAAQAAAAhwdXJjaGFzZQkBAAAAD2dldEJvb2xlYW5CeUtleQAAAAEJAQAAABZnZXRLZXlQdXJjaGFzZUZ1bmRQYWlkAAAAAQUAAAAIcHVyY2hhc2UBAAAAFmdldFZhbHVlQ291cG9uUHVyY2hhc2UAAAABAAAAB2Fzc2V0SWQJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAABRnZXRLZXlDb3Vwb25QdXJjaGFzZQAAAAEFAAAAB2Fzc2V0SWQBAAAAEWdldFZhbHVlVm90ZVJvdW5kAAAAAQAAAARpdGVtCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAAE2dldEtleUl0ZW1Wb3RlUm91bmQAAAABBQAAAARpdGVtAQAAABJnZXRWYWx1ZVZvdGVTdGF0dXMAAAABAAAAB2tleVZvdGUJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAABBnZXRLZXlWb3RlU3RhdHVzAAAAAQUAAAAHa2V5Vm90ZQEAAAASZ2V0VmFsdWVWb3Rlc0NvdW50AAAAAgAAAAdrZXlWb3RlAAAABHZvdGUJAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABCQEAAAAQZ2V0S2V5Vm90ZXNDb3VudAAAAAIFAAAAB2tleVZvdGUFAAAABHZvdGUBAAAAGGdldFZhbHVlVm90ZUNvbW1pdHNDb3VudAAAAAEAAAAHa2V5Vm90ZQkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAQAAABZnZXRLZXlWb3RlQ29tbWl0c0NvdW50AAAAAQUAAAAHa2V5Vm90ZQEAAAAWZ2V0VmFsdWVVc2VyVm90ZUNvbW1pdAAAAAIAAAAHa2V5Vm90ZQAAAAR1c2VyCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAUZ2V0S2V5VXNlclZvdGVDb21taXQAAAACBQAAAAdrZXlWb3RlBQAAAAR1c2VyAQAAABZnZXRWYWx1ZVVzZXJWb3RlUmV2ZWFsAAAAAgAAAAdrZXlWb3RlAAAABHVzZXIJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAABRnZXRLZXlVc2VyVm90ZVJldmVhbAAAAAIFAAAAB2tleVZvdGUFAAAABHVzZXIAAAALAAAAAWkBAAAAEHJlZ2lzdGVyU3VwcGxpZXIAAAABAAAABGRhdGEEAAAACHN1cHBsaWVyCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAB2FjY291bnQJAQAAABJnZXRTdXBwbGllckFjY291bnQAAAABBQAAAAhzdXBwbGllcgMJAQAAAAIhPQAAAAIFAAAAB2FjY291bnQFAAAABE5PTkUJAAACAAAAAQIAAAAuVGhpcyBhZGRyZXNzIGhhcyBhbHJlYWR5IHJlZ2lzdHJlZCBhcyBzdXBwbGllcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAVZ2V0S2V5U3VwcGxpZXJBY2NvdW50AAAAAQUAAAAIc3VwcGxpZXIFAAAABGRhdGEFAAAAA25pbAAAAAFpAQAAAAdhZGRJdGVtAAAABAAAAAV0aXRsZQAAAAVwcmljZQAAAARkYXRhAAAABmV4cGlyZQQAAAAIc3VwcGxpZXIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAHYWNjb3VudAkBAAAAEmdldFN1cHBsaWVyQWNjb3VudAAAAAEFAAAACHN1cHBsaWVyBAAAAARpdGVtCQEAAAAKZ2V0S2V5SXRlbQAAAAIFAAAACHN1cHBsaWVyBQAAAAV0aXRsZQMJAAAAAAAAAgUAAAAHYWNjb3VudAUAAAAETk9ORQkAAAIAAAABAgAAAC5Zb3Ugc2hvdWxkIHJlZ2lzdGVyIGFzIHN1cHBsaWVyIHRvIGFkZCBhbiBpdGVtAwkAAGcAAAACAAAAAAAAAAAABQAAAAVwcmljZQkAAAIAAAABAgAAAC5QdXJjaGFzZSBhbW91bnQgY2Fubm90IGJlIGxlc3MgdGhhbiBpdGVtIHByaWNlAwkBAAAAAiE9AAAAAgkBAAAAFGdldFZhbHVlSXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQUAAAAETk9ORQkAAAIAAAABAgAAABZBbiBpdGVtIGFscmVhZHkgZXhpc3RzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABJnZXRLZXlJdGVtU3VwcGxpZXIAAAABBQAAAARpdGVtBQAAAAhzdXBwbGllcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAPZ2V0S2V5SXRlbVRpdGxlAAAAAQUAAAAEaXRlbQUAAAAFdGl0bGUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAA9nZXRLZXlJdGVtUHJpY2UAAAABBQAAAARpdGVtBQAAAAVwcmljZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAOZ2V0S2V5SXRlbURhdGEAAAABBQAAAARpdGVtBQAAAARkYXRhCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAUZ2V0S2V5SXRlbUV4cGlyZURhdGUAAAABBQAAAARpdGVtBQAAAAZleHBpcmUJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIJAQAAABJnZXRLZXlJdGVtRmVhdHVyZWQAAAABBQAAAARpdGVtBgUAAAADbmlsAAAAAWkBAAAACnVwZGF0ZUl0ZW0AAAAFAAAABGl0ZW0AAAAFdGl0bGUAAAAFcHJpY2UAAAAEZGF0YQAAAAZleHBpcmUEAAAACHN1cHBsaWVyCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAB2FjY291bnQJAQAAABJnZXRTdXBwbGllckFjY291bnQAAAABBQAAAAhzdXBwbGllcgQAAAAMaXRlbVN1cHBsaWVyCQEAAAAUZ2V0VmFsdWVJdGVtU3VwcGxpZXIAAAABBQAAAARpdGVtBAAAAAhub3RGb3VuZAMJAAAAAAAAAgkBAAAAEWdldFZhbHVlSXRlbVRpdGxlAAAAAQUAAAAEaXRlbQUAAAAETk9ORQYJAAAAAAAAAgkBAAAAE2dldFZhbHVlSXRlbVJlbW92ZWQAAAABBQAAAARpdGVtBgMJAAAAAAAAAgUAAAAHYWNjb3VudAUAAAAETk9ORQkAAAIAAAABAgAAADFZb3Ugc2hvdWxkIHJlZ2lzdGVyIGFzIHN1cHBsaWVyIHRvIHJlbW92ZSBhbiBpdGVtAwUAAAAIbm90Rm91bmQJAAACAAAAAQkAASwAAAACAgAAAClJdGVtIGRvZXMgbm90IGV4aXN0cyBvciBoYXMgYmVlbiByZW1vdmVkIAUAAAAEaXRlbQMJAQAAAAIhPQAAAAIFAAAACHN1cHBsaWVyBQAAAAxpdGVtU3VwcGxpZXIJAAACAAAAAQkAASwAAAACAgAAABVZb3UgZG9uJ3Qgb3duZWQgaXRlbSAFAAAABGl0ZW0JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAD2dldEtleUl0ZW1UaXRsZQAAAAEFAAAABGl0ZW0FAAAABXRpdGxlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAPZ2V0S2V5SXRlbVByaWNlAAAAAQUAAAAEaXRlbQUAAAAFcHJpY2UJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADmdldEtleUl0ZW1EYXRhAAAAAQUAAAAEaXRlbQUAAAAEZGF0YQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFGdldEtleUl0ZW1FeHBpcmVEYXRlAAAAAQUAAAAEaXRlbQUAAAAGZXhwaXJlBQAAAANuaWwAAAABaQEAAAAKcmVtb3ZlSXRlbQAAAAEAAAAEaXRlbQQAAAAIc3VwcGxpZXIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAHYWNjb3VudAkBAAAAEmdldFN1cHBsaWVyQWNjb3VudAAAAAEFAAAACHN1cHBsaWVyBAAAAAxpdGVtU3VwcGxpZXIJAQAAABRnZXRWYWx1ZUl0ZW1TdXBwbGllcgAAAAEFAAAABGl0ZW0EAAAACG5vdEZvdW5kAwkAAAAAAAACCQEAAAARZ2V0VmFsdWVJdGVtVGl0bGUAAAABBQAAAARpdGVtBQAAAAROT05FBgkAAAAAAAACCQEAAAATZ2V0VmFsdWVJdGVtUmVtb3ZlZAAAAAEFAAAABGl0ZW0GAwkAAAAAAAACBQAAAAdhY2NvdW50BQAAAAROT05FCQAAAgAAAAECAAAAMVlvdSBzaG91bGQgcmVnaXN0ZXIgYXMgc3VwcGxpZXIgdG8gcmVtb3ZlIGFuIGl0ZW0DBQAAAAhub3RGb3VuZAkAAAIAAAABCQABLAAAAAICAAAAKUl0ZW0gZG9lcyBub3QgZXhpc3RzIG9yIGhhcyBiZWVuIHJlbW92ZWQgBQAAAARpdGVtAwkBAAAAAiE9AAAAAgUAAAAIc3VwcGxpZXIFAAAADGl0ZW1TdXBwbGllcgkAAAIAAAABCQABLAAAAAICAAAAFVlvdSBkb24ndCBvd25lZCBpdGVtIAUAAAAEaXRlbQQAAAALc29sZENvdW50ZXIJAQAAABdnZXRWYWx1ZUl0ZW1Tb2xkQ291bnRlcgAAAAEFAAAABGl0ZW0DCQAAAAAAAAIFAAAAC3NvbGRDb3VudGVyAAAAAAAAAAAACQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAABJnZXRLZXlJdGVtU3VwcGxpZXIAAAABBQAAAARpdGVtCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAAA9nZXRLZXlJdGVtVGl0bGUAAAABBQAAAARpdGVtCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAAA9nZXRLZXlJdGVtUHJpY2UAAAABBQAAAARpdGVtCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAAA5nZXRLZXlJdGVtRGF0YQAAAAEFAAAABGl0ZW0JAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAAFGdldEtleUl0ZW1FeHBpcmVEYXRlAAAAAQUAAAAEaXRlbQkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAASZ2V0S2V5SXRlbUZlYXR1cmVkAAAAAQUAAAAEaXRlbQUAAAADbmlsCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACCQEAAAARZ2V0S2V5SXRlbVJlbW92ZWQAAAABBQAAAARpdGVtBgUAAAADbmlsAAAAAWkBAAAACHB1cmNoYXNlAAAAAQAAAARpdGVtBAAAAANwbXQJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAACG5vdEZvdW5kAwkAAAAAAAACCQEAAAARZ2V0VmFsdWVJdGVtVGl0bGUAAAABBQAAAARpdGVtBQAAAAROT05FBgkAAAAAAAACCQEAAAATZ2V0VmFsdWVJdGVtUmVtb3ZlZAAAAAEFAAAABGl0ZW0GAwUAAAAIbm90Rm91bmQJAAACAAAAAQkAASwAAAACAgAAAClJdGVtIGRvZXMgbm90IGV4aXN0cyBvciBoYXMgYmVlbiByZW1vdmVkIAUAAAAEaXRlbQMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAApWW91IGNhbiBidXkgdG9rZW5zIG9ubHkgd2l0aCBXYXZlcyB0b2tlbnMEAAAABHVzZXIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAFcHJpY2UJAQAAABFnZXRWYWx1ZUl0ZW1QcmljZQAAAAEFAAAABGl0ZW0EAAAACHN1cHBsaWVyCQEAAAAUZ2V0VmFsdWVJdGVtU3VwcGxpZXIAAAABBQAAAARpdGVtBAAAAAZleHBpcmUJAQAAABZnZXRWYWx1ZUl0ZW1FeHBpcmVUaW1lAAAAAQUAAAAEaXRlbQMDCQAAZgAAAAIFAAAABmV4cGlyZQAAAAAAAAAAAAkAAGcAAAACCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAUAAAAGZXhwaXJlBwkAAAIAAAABAgAAAA5Db3Vwb24gZXhwaXJlZAMJAABmAAAAAgUAAAAFcHJpY2UIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAALlB1cmNoYXNlIGFtb3VudCBjYW5ub3QgYmUgbGVzcyB0aGFuIGl0ZW0gcHJpY2UDCQAAZgAAAAIIBQAAAANwbXQAAAAGYW1vdW50BQAAAAVwcmljZQkAAAIAAAABAgAAADBQdXJjaGFzZSBhbW91bnQgY2Fubm90IGJlIGhpZ2hlciB0aGFuIGl0ZW0gcHJpY2UDCQAAAAAAAAIFAAAACHN1cHBsaWVyBQAAAAROT05FCQAAAgAAAAECAAAAGFN1cHBsaWVyIGRvZXMgbm90IGV4aXN0cwQAAAASa2V5VXNlckl0ZW1Db3VudGVyCQEAAAAVZ2V0S2V5VXNlckl0ZW1Db3VudGVyAAAAAgUAAAAEdXNlcgUAAAAEaXRlbQQAAAAPdXNlckl0ZW1Db3VudGVyCQAAZAAAAAIJAQAAABdnZXRWYWx1ZVVzZXJJdGVtQ291bnRlcgAAAAIFAAAABHVzZXIFAAAABGl0ZW0AAAAAAAAAAAEEAAAACHB1cmNoYXNlCQEAAAAOZ2VuUHVyY2hhc2VLZXkAAAAEBQAAAAhzdXBwbGllcgUAAAAEaXRlbQUAAAAEdXNlcgUAAAAPdXNlckl0ZW1Db3VudGVyBAAAABFrZXlQdXJjaGFzZVN0YXR1cwkBAAAAFGdldEtleVB1cmNoYXNlU3RhdHVzAAAAAQUAAAAIcHVyY2hhc2UEAAAAD2tleVB1cmNoYXNlSXRlbQkBAAAAEmdldEtleVB1cmNoYXNlSXRlbQAAAAEFAAAACHB1cmNoYXNlBAAAABNrZXlQdXJjaGFzZVN1cHBsaWVyCQEAAAAWZ2V0S2V5UHVyY2hhc2VTdXBwbGllcgAAAAEFAAAACHB1cmNoYXNlBAAAAA9rZXlQdXJjaGFzZVVzZXIJAQAAABJnZXRLZXlQdXJjaGFzZVVzZXIAAAABBQAAAAhwdXJjaGFzZQQAAAARa2V5UHVyY2hhc2VBbW91bnQJAQAAABRnZXRLZXlQdXJjaGFzZUFtb3VudAAAAAEFAAAACHB1cmNoYXNlBAAAABRrZXlQdXJjaGFzZVRpbWVzdGFtcAkBAAAAF2dldEtleVB1cmNoYXNlVGltZXN0YW1wAAAAAQUAAAAIcHVyY2hhc2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleVVzZXJJdGVtQ291bnRlcgUAAAAPdXNlckl0ZW1Db3VudGVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAEWtleVB1cmNoYXNlU3RhdHVzBQAAAAhBUFBST1ZBTAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAA9rZXlQdXJjaGFzZUl0ZW0FAAAABGl0ZW0JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAATa2V5UHVyY2hhc2VTdXBwbGllcgUAAAAIc3VwcGxpZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAPa2V5UHVyY2hhc2VVc2VyBQAAAAR1c2VyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABFrZXlQdXJjaGFzZUFtb3VudAgFAAAAA3BtdAAAAAZhbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAFGtleVB1cmNoYXNlVGltZXN0YW1wCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAUAAAADbmlsAAAAAWkBAAAADnJlamVjdFB1cmNoYXNlAAAAAQAAAAhwdXJjaGFzZQQAAAAGY2FsbGVyCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABnN0YXR1cwkBAAAAFmdldFZhbHVlUHVyY2hhc2VTdGF0dXMAAAABBQAAAAhwdXJjaGFzZQQAAAAIc3VwcGxpZXIJAQAAABhnZXRWYWx1ZVB1cmNoYXNlU3VwcGxpZXIAAAABBQAAAAhwdXJjaGFzZQQAAAAEaXRlbQkBAAAAFGdldFZhbHVlUHVyY2hhc2VJdGVtAAAAAQUAAAAIcHVyY2hhc2UEAAAACG5vdEZvdW5kCQAAAAAAAAIFAAAABGl0ZW0FAAAABE5PTkUDBQAAAAhub3RGb3VuZAkAAAIAAAABCQABLAAAAAICAAAAE1B1cmNoYXNlIG5vdCBmb3VuZCAFAAAACHB1cmNoYXNlAwMJAAAAAAAAAgUAAAAIc3VwcGxpZXIFAAAABE5PTkUGCQEAAAACIT0AAAACBQAAAAZjYWxsZXIFAAAACHN1cHBsaWVyCQAAAgAAAAECAAAAI1lvdXIgYXJlIG5vdCB0aGUgb3duZXIgb2YgdGhpcyBpdGVtAwkBAAAAAiE9AAAAAgUAAAAGc3RhdHVzBQAAAAhBUFBST1ZBTAkAAAIAAAABAgAAACBZb3UgY2Fubm90IHJlamVjdCB0aGlzIHB1cmNoYXNlZAQAAAARa2V5UHVyY2hhc2VTdGF0dXMJAQAAABRnZXRLZXlQdXJjaGFzZVN0YXR1cwAAAAEFAAAACHB1cmNoYXNlBAAAABFrZXlQdXJjaGFzZUFtb3VudAkBAAAAFGdldEtleVB1cmNoYXNlQW1vdW50AAAAAQUAAAAIcHVyY2hhc2UEAAAAEmtleUl0ZW1Tb2xkQ291bnRlcgkBAAAAFWdldEtleUl0ZW1Tb2xkQ291bnRlcgAAAAEFAAAABGl0ZW0EAAAABHVzZXIJAQAAABRnZXRWYWx1ZVB1cmNoYXNlVXNlcgAAAAEFAAAACHB1cmNoYXNlBAAAAAZhbW91bnQJAQAAABZnZXRWYWx1ZVB1cmNoYXNlQW1vdW50AAAAAQUAAAAIcHVyY2hhc2UEAAAAD3N1cHBsaWVyQmFsYW5jZQkAAGUAAAACCQEAAAAXZ2V0VmFsdWVTdXBwbGllckJhbGFuY2UAAAABBQAAAAhzdXBwbGllcgUAAAAGYW1vdW50BAAAAA9pdGVtU29sZENvdW50ZXIJAABlAAAAAgkBAAAAF2dldFZhbHVlSXRlbVNvbGRDb3VudGVyAAAAAQUAAAAEaXRlbQAAAAAAAAAAAQQAAAAHYWRkcmVzcwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAEdXNlcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABFrZXlQdXJjaGFzZVN0YXR1cwUAAAAIUkVKRUNURUQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEWtleVB1cmNoYXNlQW1vdW50AAAAAAAAAAAACQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAB2FkZHJlc3MFAAAABmFtb3VudAUAAAAEdW5pdAUAAAADbmlsAAAAAWkBAAAADmFjY2VwdFB1cmNoYXNlAAAAAgAAAAhwdXJjaGFzZQAAAAdhc3NldElkBAAAAAZjYWxsZXIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAGc3RhdHVzCQEAAAAWZ2V0VmFsdWVQdXJjaGFzZVN0YXR1cwAAAAEFAAAACHB1cmNoYXNlBAAAAAhzdXBwbGllcgkBAAAAGGdldFZhbHVlUHVyY2hhc2VTdXBwbGllcgAAAAEFAAAACHB1cmNoYXNlBAAAAARpdGVtCQEAAAAUZ2V0VmFsdWVQdXJjaGFzZUl0ZW0AAAABBQAAAAhwdXJjaGFzZQQAAAAGZXhwaXJlCQEAAAAWZ2V0VmFsdWVJdGVtRXhwaXJlVGltZQAAAAEFAAAABGl0ZW0EAAAACG5vdEZvdW5kCQAAAAAAAAIFAAAABGl0ZW0FAAAABE5PTkUDBQAAAAhub3RGb3VuZAkAAAIAAAABCQABLAAAAAICAAAAE1B1cmNoYXNlIG5vdCBmb3VuZCAFAAAACHB1cmNoYXNlAwMJAAAAAAAAAgUAAAAIc3VwcGxpZXIFAAAABE5PTkUGCQEAAAACIT0AAAACBQAAAAZjYWxsZXIFAAAACHN1cHBsaWVyCQAAAgAAAAECAAAAI1lvdXIgYXJlIG5vdCB0aGUgb3duZXIgb2YgdGhpcyBpdGVtAwkBAAAAAiE9AAAAAgUAAAAGc3RhdHVzBQAAAAhBUFBST1ZBTAkAAAIAAAABAgAAACBZb3UgY2Fubm90IHJlamVjdCB0aGlzIHB1cmNoYXNlZAMDCQAAZgAAAAIFAAAABmV4cGlyZQAAAAAAAAAAAAkAAGcAAAACCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAUAAAAGZXhwaXJlBwkAAAIAAAABAgAAAA5Db3Vwb24gZXhwaXJlZAQAAAARa2V5UHVyY2hhc2VTdGF0dXMJAQAAABRnZXRLZXlQdXJjaGFzZVN0YXR1cwAAAAEFAAAACHB1cmNoYXNlBAAAABJrZXlQdXJjaGFzZUFzc2V0SWQJAQAAABVnZXRLZXlQdXJjaGFzZUFzc2V0SWQAAAABBQAAAAhwdXJjaGFzZQQAAAASa2V5U3VwcGxpZXJCYWxhbmNlCQEAAAAVZ2V0S2V5U3VwcGxpZXJCYWxhbmNlAAAAAQUAAAAIc3VwcGxpZXIEAAAAEmtleUl0ZW1Tb2xkQ291bnRlcgkBAAAAFWdldEtleUl0ZW1Tb2xkQ291bnRlcgAAAAEFAAAABGl0ZW0EAAAAEWtleUNvdXBvblB1cmNoYXNlCQEAAAAUZ2V0S2V5Q291cG9uUHVyY2hhc2UAAAABBQAAAAdhc3NldElkBAAAAA1rZXlDb3Vwb25JdGVtCQEAAAAQZ2V0S2V5Q291cG9uSXRlbQAAAAEFAAAAB2Fzc2V0SWQEAAAABmFtb3VudAkBAAAAFmdldFZhbHVlUHVyY2hhc2VBbW91bnQAAAABBQAAAAhwdXJjaGFzZQQAAAAKbmV3QmFsYW5jZQkAAGQAAAACCQEAAAAXZ2V0VmFsdWVTdXBwbGllckJhbGFuY2UAAAABBQAAAAhzdXBwbGllcgUAAAAGYW1vdW50BAAAAA9pdGVtU29sZENvdW50ZXIJAABkAAAAAgkBAAAAF2dldFZhbHVlSXRlbVNvbGRDb3VudGVyAAAAAQUAAAAEaXRlbQAAAAAAAAAAAQQAAAAEdXNlcgkBAAAAFGdldFZhbHVlUHVyY2hhc2VVc2VyAAAAAQUAAAAIcHVyY2hhc2UEAAAAB2FkZHJlc3MJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAABHVzZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAARa2V5UHVyY2hhc2VTdGF0dXMFAAAACEFDQ0VQVEVECQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAEWtleUNvdXBvblB1cmNoYXNlBQAAAAhwdXJjaGFzZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAA1rZXlDb3Vwb25JdGVtBQAAAARpdGVtCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAEmtleVB1cmNoYXNlQXNzZXRJZAUAAAAHYXNzZXRJZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAASa2V5U3VwcGxpZXJCYWxhbmNlBQAAAApuZXdCYWxhbmNlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJrZXlJdGVtU29sZENvdW50ZXIFAAAAD2l0ZW1Tb2xkQ291bnRlcgUAAAADbmlsAAAAAWkBAAAABGJ1cm4AAAAABAAAAAZjYWxsZXIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAADcG10AwkAAAAAAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAACQAAAgAAAAECAAAALEFuIGF0dGFjaGVkIGNvdXBvbiBpcyByZXF1aXJlZCBhcyBwYXltZW50WzBdAwkAAAAAAAACCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkBwkAAAIAAAABAgAAABVOZWVkIGEgY291cG9uIHRvIGJ1cm4EAAAABWFzc2V0BAAAAAckbWF0Y2gwCAUAAAADcG10AAAAB2Fzc2V0SWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAACkJ5dGVWZWN0b3IEAAAAAWUFAAAAByRtYXRjaDAFAAAAAWUJAAACAAAAAQIAAAAVTmVlZCBhIGNvdXBvbiB0byBidXJuBAAAAAdhc3NldElkCQACWAAAAAEFAAAABWFzc2V0BAAAAAhwdXJjaGFzZQkBAAAAFmdldFZhbHVlQ291cG9uUHVyY2hhc2UAAAABBQAAAAdhc3NldElkBAAAAAhzdXBwbGllcgkBAAAAGGdldFZhbHVlUHVyY2hhc2VTdXBwbGllcgAAAAEFAAAACHB1cmNoYXNlBAAAAAppc2Z1bmRQYWlkCQEAAAAYZ2V0VmFsdWVQdXJjaGFzZUZ1bmRQYWlkAAAAAQUAAAAIcHVyY2hhc2UDCQEAAAACIT0AAAACBQAAAAZjYWxsZXIFAAAACHN1cHBsaWVyCQAAAgAAAAECAAAAKVlvdXIgYXJlIG5vdCB0aGUgc3VwcGxpZXIgZm9yIHRoaXMgY291cG9uAwUAAAAKaXNmdW5kUGFpZAkABEwAAAACCQEAAAAEQnVybgAAAAIFAAAABWFzc2V0AAAAAAAAAAABBQAAAANuaWwEAAAAB2JhbGFuY2UJAQAAABdnZXRWYWx1ZVN1cHBsaWVyQmFsYW5jZQAAAAEFAAAACHN1cHBsaWVyBAAAAAZhbW91bnQJAQAAABZnZXRWYWx1ZVB1cmNoYXNlQW1vdW50AAAAAQUAAAAIcHVyY2hhc2UEAAAAC3dpdGhkcmF3QW10AwkAAGcAAAACAAAAAAAAAAAACQAAZQAAAAIFAAAAB2JhbGFuY2UFAAAABmFtb3VudAUAAAAHYmFsYW5jZQUAAAAGYW1vdW50BAAAAApuZXdCYWxhbmNlCQAAZQAAAAIFAAAAB2JhbGFuY2UFAAAAC3dpdGhkcmF3QW10AwkAAGYAAAACAAAAAAAAAAAABQAAAApuZXdCYWxhbmNlCQAAAgAAAAECAAAAHE5vdCBlbm91Z2ggZnVuZHMgdG8gd2l0aGRyYXcEAAAAEmtleVN1cHBsaWVyQmFsYW5jZQkBAAAAFWdldEtleVN1cHBsaWVyQmFsYW5jZQAAAAEFAAAACHN1cHBsaWVyBAAAABFrZXlDb3Vwb25GdW5kUGFpZAkBAAAAFmdldEtleVB1cmNoYXNlRnVuZFBhaWQAAAABBQAAAAhwdXJjaGFzZQkABEwAAAACCQEAAAAEQnVybgAAAAIFAAAABWFzc2V0AAAAAAAAAAABCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAABFrZXlDb3Vwb25GdW5kUGFpZAYJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleVN1cHBsaWVyQmFsYW5jZQUAAAAKbmV3QmFsYW5jZQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAC3dpdGhkcmF3QW10BQAAAAR1bml0BQAAAANuaWwAAAABaQEAAAAId2l0aGRyYXcAAAABAAAAB2Fzc2V0SWQEAAAABmNhbGxlcgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAdhY2NvdW50CQEAAAASZ2V0U3VwcGxpZXJBY2NvdW50AAAAAQUAAAAGY2FsbGVyAwkAAAAAAAACBQAAAAdhY2NvdW50BQAAAAROT05FCQAAAgAAAAECAAAAIVlvdSBhcmUgbm90IHJlZ2lzdHJlZCBhcyBzdXBwbGllcgQAAAAIcHVyY2hhc2UJAQAAABZnZXRWYWx1ZUNvdXBvblB1cmNoYXNlAAAAAQUAAAAHYXNzZXRJZAQAAAAIc3VwcGxpZXIJAQAAABhnZXRWYWx1ZVB1cmNoYXNlU3VwcGxpZXIAAAABBQAAAAhwdXJjaGFzZQQAAAAKaXNmdW5kUGFpZAkBAAAAGGdldFZhbHVlUHVyY2hhc2VGdW5kUGFpZAAAAAEFAAAACHB1cmNoYXNlAwkBAAAAAiE9AAAAAgUAAAAGY2FsbGVyBQAAAAhzdXBwbGllcgkAAAIAAAABAgAAAClZb3VyIGFyZSBub3QgdGhlIHN1cHBsaWVyIGZvciB0aGlzIGNvdXBvbgMFAAAACmlzZnVuZFBhaWQJAAACAAAAAQIAAAAaRnVuZCBoYXMgYWxyZWFkeSBiZWVuIHBhaWQEAAAABGl0ZW0JAQAAABRnZXRWYWx1ZVB1cmNoYXNlSXRlbQAAAAEFAAAACHB1cmNoYXNlBAAAAAZleHBpcmUJAQAAABZnZXRWYWx1ZUl0ZW1FeHBpcmVUaW1lAAAAAQUAAAAEaXRlbQQAAAAEaW5mbwQAAAAHJG1hdGNoMAkAA+wAAAABCQACWQAAAAEFAAAAB2Fzc2V0SWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABUFzc2V0BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhCQAAAgAAAAECAAAAFkNhbm5vdCBmaW5kIGFzc2V0IGluZm8EAAAAC2NhbldpdGhkcmF3AwMJAABmAAAAAgUAAAAGZXhwaXJlAAAAAAAAAAAACQAAZwAAAAIIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wBQAAAAZleHBpcmUHBgMJAAAAAAAAAggFAAAABGluZm8AAAAIcXVhbnRpdHkAAAAAAAAAAAAGBwMJAQAAAAEhAAAAAQUAAAALY2FuV2l0aGRyYXcJAAACAAAAAQIAAAAcVGhpcyBjb3Vwb24gY2Fubm90IGJlIGZ1bmRlZAQAAAAHYmFsYW5jZQkBAAAAF2dldFZhbHVlU3VwcGxpZXJCYWxhbmNlAAAAAQUAAAAIc3VwcGxpZXIEAAAABmFtb3VudAkBAAAAFmdldFZhbHVlUHVyY2hhc2VBbW91bnQAAAABBQAAAAhwdXJjaGFzZQQAAAALd2l0aGRyYXdBbXQDCQAAZwAAAAIAAAAAAAAAAAAJAABlAAAAAgUAAAAHYmFsYW5jZQUAAAAGYW1vdW50BQAAAAdiYWxhbmNlBQAAAAZhbW91bnQEAAAACm5ld0JhbGFuY2UJAABlAAAAAgUAAAAHYmFsYW5jZQUAAAALd2l0aGRyYXdBbXQDCQAAZgAAAAIAAAAAAAAAAAAFAAAACm5ld0JhbGFuY2UJAAACAAAAAQIAAAAcTm90IGVub3VnaCBmdW5kcyB0byB3aXRoZHJhdwQAAAASa2V5U3VwcGxpZXJCYWxhbmNlCQEAAAAVZ2V0S2V5U3VwcGxpZXJCYWxhbmNlAAAAAQUAAAAIc3VwcGxpZXIEAAAAEWtleUNvdXBvbkZ1bmRQYWlkCQEAAAAWZ2V0S2V5UHVyY2hhc2VGdW5kUGFpZAAAAAEFAAAACHB1cmNoYXNlCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAABFrZXlDb3Vwb25GdW5kUGFpZAYJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleVN1cHBsaWVyQmFsYW5jZQUAAAAKbmV3QmFsYW5jZQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAC3dpdGhkcmF3QW10BQAAAAR1bml0BQAAAANuaWwAAAABaQEAAAAKdm90ZUNvbW1pdAAAAAIAAAAEaXRlbQAAAARoYXNoBAAAAAR1c2VyCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABXJvdW5kCQEAAAARZ2V0VmFsdWVWb3RlUm91bmQAAAABBQAAAARpdGVtBAAAAAdrZXlWb3RlCQEAAAAKZ2V0S2V5Vm90ZQAAAAIFAAAABGl0ZW0FAAAABXJvdW5kBAAAAAZzdGF0dXMJAQAAABJnZXRWYWx1ZVZvdGVTdGF0dXMAAAABBQAAAAdrZXlWb3RlBAAAAAxjb21taXRzQ291bnQJAQAAABhnZXRWYWx1ZVZvdGVDb21taXRzQ291bnQAAAABBQAAAAdrZXlWb3RlAwkAAAAAAAACCQEAAAASZ2V0S2V5SXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQUAAAAETk9ORQkAAAIAAAABAgAA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", "height": 1660104, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8LFxt1GbNNfKB93SF14Vofkar66otRBC3M9MB4auDPLd Next: 83qcwtXjotgRgHs5xMdqxBo3vgBeJ6AEunHhxGhD1Bi9 Diff:
OldNewDifferences
1515
1616 let g = "reveal"
1717
18-let h = "approval"
18+let h = "ended"
1919
20-let i = "rejected"
20+let i = "approval"
2121
22-let j = "accepted"
22+let j = "rejected"
2323
24-func k (l) = {
25- let m = getString(this, l)
26- if ($isInstanceOf(m, "String"))
24+let k = "accepted"
25+
26+func l (m) = {
27+ let n = getString(this, m)
28+ if ($isInstanceOf(n, "String"))
2729 then {
28- let n = m
29- n
30+ let o = n
31+ o
3032 }
3133 else a
3234 }
3335
3436
35-func o (l) = {
36- let m = getInteger(this, l)
37- if ($isInstanceOf(m, "Int"))
37+func p (m) = {
38+ let n = getInteger(this, m)
39+ if ($isInstanceOf(n, "Int"))
3840 then {
39- let n = m
40- n
41+ let o = n
42+ o
4143 }
4244 else 0
4345 }
4446
4547
46-func p (l) = {
47- let m = getBoolean(this, l)
48- if ($isInstanceOf(m, "Boolean"))
48+func q (m) = {
49+ let n = getBoolean(this, m)
50+ if ($isInstanceOf(n, "Boolean"))
4951 then {
50- let n = m
51- n
52+ let o = n
53+ o
5254 }
5355 else false
5456 }
5557
5658
57-func q (r) = (r + "_account")
59+func r (s) = (s + "_account")
5860
5961
60-func s (r) = k(q(r))
62+func t (s) = l(r(s))
6163
6264
63-func t (u,v) = {
64- let w = (u + v)
65- ("item_" + toBase58String(sha256(toBytes(w))))
65+func u (v,w) = {
66+ let x = (v + w)
67+ ("item_" + toBase58String(sha256(toBytes(x))))
6668 }
6769
6870
69-func x (y) = (y + "_owner")
71+func y (z) = (z + "_owner")
7072
7173
72-func z (y) = (y + "_title")
74+func A (z) = (z + "_title")
7375
7476
75-func A (y) = (y + "_price")
77+func B (z) = (z + "_price")
7678
7779
78-func B (y) = (y + "_data")
80+func C (z) = (z + "_data")
7981
8082
81-func C (y) = (y + "_expiredate")
83+func D (z) = (z + "_expiredate")
8284
8385
84-func D (y) = (y + "_sold")
86+func E (z) = (z + "_sold")
8587
8688
87-func E (y) = (y + "_removed")
89+func F (z) = (z + "_removed")
8890
8991
90-func F (y,G) = (((y + "_") + G) + "_commit")
92+func G (z) = (z + "_featured")
9193
9294
93-func H (y) = (y + "_cmtcnt")
95+func H (z) = (z + "_voteround")
9496
9597
96-func I (y,G) = (((y + "_") + G) + "_reveal")
98+func I (J,z) = (((J + "_") + z) + "_counter")
9799
98100
99-func J (y) = (y + "_votestatus")
101+func K (v) = (v + "_balance")
100102
101103
102-func K (y) = (y + "_featured")
104+func L (v,z,J,M) = ("purchase_" + toBase58String(sha256(toBytes(((((((v + "_") + z) + "_") + J) + "_") + toString(M))))))
103105
104106
105-func L (y,M) = ((y + "_res:") + M)
107+func N (O) = (O + "_status")
106108
107109
108-func N (u) = (u + "_balance")
110+func P (O) = (O + "_item")
109111
110112
111-func O (G,y) = (((G + "_") + y) + "_counter")
113+func Q (O) = (O + "_supplier")
112114
113115
114-func P (u,y,G,Q) = ("purchase_" + toBase58String(sha256(toBytes(((((((u + "_") + y) + "_") + G) + "_") + toString(Q))))))
116+func R (O) = (O + "_user")
115117
116118
117-func R (S) = (S + "_status")
119+func S (O) = (O + "_amount")
118120
119121
120-func T (S) = (S + "_item")
122+func T (O) = (O + "_timestamp")
121123
122124
123-func U (S) = (S + "_supplier")
125+func U (O) = (O + "_assetId")
124126
125127
126-func V (S) = (S + "_user")
128+func V (O) = (O + "_fundpaid")
127129
128130
129-func W (S) = (S + "_amount")
131+func W (X) = (("coupon_" + X) + "_purchase")
130132
131133
132-func X (S) = (S + "_timestamp")
134+func Y (X) = (("coupon_" + X) + "_item")
133135
134136
135-func Y (S) = (S + "_assetId")
137+func Z (z,aa) = (((("vote" + z) + "[") + toString(aa)) + "]")
136138
137139
138-func Z (S) = (S + "_fundpaid")
140+func ab (ac) = (ac + "_cmtcnt")
139141
140142
141-func aa (ab) = (("coupon_" + ab) + "_purchase")
143+func ad (ac) = (ac + "_status")
142144
143145
144-func ac (ab) = (("coupon_" + ab) + "_item")
146+func ae (ac,af) = ((ac + "_res:") + af)
145147
146148
147-func ad (u) = o(N(u))
149+func ag (ac,J) = (((ac + "_") + J) + "_commit")
148150
149151
150-func ae (G,y) = o(O(G, y))
152+func ah (ac,J) = (((ac + "_") + J) + "_reveal")
151153
152154
153-func af (S) = k(R(S))
155+func ai (v) = p(K(v))
154156
155157
156-func ag (S) = getStringValue(this, T(S))
158+func aj (J,z) = p(I(J, z))
157159
158160
159-func ah (S) = getStringValue(this, U(S))
161+func ak (z) = getIntegerValue(this, B(z))
160162
161163
162-func ai (S) = getStringValue(this, V(S))
164+func al (z) = l(y(z))
163165
164166
165-func aj (S) = getIntegerValue(this, W(S))
167+func am (z) = p(D(z))
166168
167169
168-func ak (S) = o(X(S))
170+func an (z) = l(A(z))
169171
170172
171-func al (S) = k(Y(S))
173+func ao (z) = p(E(z))
172174
173175
174-func am (S) = p(Z(S))
176+func ap (z) = q(F(z))
175177
176178
177-func an (y) = getIntegerValue(this, A(y))
179+func aq (z) = q(G(z))
178180
179181
180-func ao (y) = k(x(y))
182+func ar (O) = l(N(O))
181183
182184
183-func ap (y) = o(C(y))
185+func as (O) = getStringValue(this, P(O))
184186
185187
186-func aq (y) = k(z(y))
188+func at (O) = getStringValue(this, Q(O))
187189
188190
189-func ar (y) = o(D(y))
191+func au (O) = getStringValue(this, R(O))
190192
191193
192-func as (y) = p(E(y))
194+func av (O) = getIntegerValue(this, S(O))
193195
194196
195-func at (ab) = k(aa(ab))
197+func aw (O) = p(T(O))
196198
197199
198-func au (y,G) = k(F(y, G))
200+func ax (O) = l(U(O))
199201
200202
201-func av (y) = o(H(y))
203+func ay (O) = q(V(O))
202204
203205
204-func aw (y,G) = k(I(y, G))
206+func az (X) = l(W(X))
205207
206208
207-func ax (y) = k(J(y))
209+func aA (z) = p(H(z))
208210
209211
210-func ay (y) = p(K(y))
212+func aB (ac) = l(ad(ac))
211213
212214
213-func az (y,M) = o(L(y, M))
215+func aC (ac,af) = p(ae(ac, af))
214216
215217
216-@Callable(aA)
217-func registerSupplier (aB) = {
218- let u = toBase58String(aA.caller.bytes)
219- let r = s(u)
220- if ((r != a))
218+func aD (ac) = p(ab(ac))
219+
220+
221+func aE (ac,J) = l(ag(ac, J))
222+
223+
224+func aF (ac,J) = l(ah(ac, J))
225+
226+
227+@Callable(aG)
228+func registerSupplier (aH) = {
229+ let v = toBase58String(aG.caller.bytes)
230+ let s = t(v)
231+ if ((s != a))
221232 then throw("This address has already registred as supplier")
222- else [StringEntry(q(u), aB)]
233+ else [StringEntry(r(v), aH)]
223234 }
224235
225236
226237
227-@Callable(aA)
228-func addItem (v,aC,aB,aD) = {
229- let u = toBase58String(aA.caller.bytes)
230- let r = s(u)
231- let y = t(u, v)
232- if ((r == a))
238+@Callable(aG)
239+func addItem (w,aI,aH,aJ) = {
240+ let v = toBase58String(aG.caller.bytes)
241+ let s = t(v)
242+ let z = u(v, w)
243+ if ((s == a))
233244 then throw("You should register as supplier to add an item")
234- else if ((0 >= aC))
245+ else if ((0 >= aI))
235246 then throw("Purchase amount cannot be less than item price")
236- else if ((ao(y) != a))
247+ else if ((al(z) != a))
237248 then throw("An item already exists")
238- else [StringEntry(x(y), u), StringEntry(z(y), v), IntegerEntry(A(y), aC), StringEntry(B(y), aB), IntegerEntry(C(y), aD), BooleanEntry(K(y), true)]
249+ else [StringEntry(y(z), v), StringEntry(A(z), w), IntegerEntry(B(z), aI), StringEntry(C(z), aH), IntegerEntry(D(z), aJ), BooleanEntry(G(z), true)]
239250 }
240251
241252
242253
243-@Callable(aA)
244-func updateItem (y,v,aC,aB,aD) = {
245- let u = toBase58String(aA.caller.bytes)
246- let r = s(u)
247- let aE = ao(y)
248- let aF = if ((aq(y) == a))
254+@Callable(aG)
255+func updateItem (z,w,aI,aH,aJ) = {
256+ let v = toBase58String(aG.caller.bytes)
257+ let s = t(v)
258+ let aK = al(z)
259+ let aL = if ((an(z) == a))
249260 then true
250- else (as(y) == true)
251- if ((r == a))
261+ else (ap(z) == true)
262+ if ((s == a))
252263 then throw("You should register as supplier to remove an item")
253- else if (aF)
254- then throw(("Item does not exists or has been removed " + y))
255- else if ((u != aE))
256- then throw(("You don't owned item " + y))
257- else [StringEntry(z(y), v), IntegerEntry(A(y), aC), StringEntry(B(y), aB), IntegerEntry(C(y), aD)]
264+ else if (aL)
265+ then throw(("Item does not exists or has been removed " + z))
266+ else if ((v != aK))
267+ then throw(("You don't owned item " + z))
268+ else [StringEntry(A(z), w), IntegerEntry(B(z), aI), StringEntry(C(z), aH), IntegerEntry(D(z), aJ)]
258269 }
259270
260271
261272
262-@Callable(aA)
263-func removeItem (y) = {
264- let u = toBase58String(aA.caller.bytes)
265- let r = s(u)
266- let aE = ao(y)
267- let aF = if ((aq(y) == a))
273+@Callable(aG)
274+func removeItem (z) = {
275+ let v = toBase58String(aG.caller.bytes)
276+ let s = t(v)
277+ let aK = al(z)
278+ let aL = if ((an(z) == a))
268279 then true
269- else (as(y) == true)
270- if ((r == a))
280+ else (ap(z) == true)
281+ if ((s == a))
271282 then throw("You should register as supplier to remove an item")
272- else if (aF)
273- then throw(("Item does not exists or has been removed " + y))
274- else if ((u != aE))
275- then throw(("You don't owned item " + y))
283+ else if (aL)
284+ then throw(("Item does not exists or has been removed " + z))
285+ else if ((v != aK))
286+ then throw(("You don't owned item " + z))
276287 else {
277- let aG = ar(y)
278- if ((aG == 0))
279- then [DeleteEntry(x(y)), DeleteEntry(z(y)), DeleteEntry(A(y)), DeleteEntry(B(y)), DeleteEntry(C(y)), DeleteEntry(J(y)), DeleteEntry(K(y))]
280- else [BooleanEntry(E(y), true)]
288+ let aM = ao(z)
289+ if ((aM == 0))
290+ then [DeleteEntry(y(z)), DeleteEntry(A(z)), DeleteEntry(B(z)), DeleteEntry(C(z)), DeleteEntry(D(z)), DeleteEntry(G(z))]
291+ else [BooleanEntry(F(z), true)]
281292 }
282293 }
283294
284295
285296
286-@Callable(aA)
287-func purchase (y) = {
288- let aH = aA.payments[0]
289- let aF = if ((aq(y) == a))
297+@Callable(aG)
298+func purchase (z) = {
299+ let aN = aG.payments[0]
300+ let aL = if ((an(z) == a))
290301 then true
291- else (as(y) == true)
292- if (aF)
293- then throw(("Item does not exists or has been removed " + y))
294- else if (isDefined(aH.assetId))
302+ else (ap(z) == true)
303+ if (aL)
304+ then throw(("Item does not exists or has been removed " + z))
305+ else if (isDefined(aN.assetId))
295306 then throw("You can buy tokens only with Waves tokens")
296307 else {
297- let G = toBase58String(aA.caller.bytes)
298- let aC = an(y)
299- let u = ao(y)
300- let aD = ap(y)
301- if (if ((aD > 0))
302- then (lastBlock.timestamp >= aD)
308+ let J = toBase58String(aG.caller.bytes)
309+ let aI = ak(z)
310+ let v = al(z)
311+ let aJ = am(z)
312+ if (if ((aJ > 0))
313+ then (lastBlock.timestamp >= aJ)
303314 else false)
304315 then throw("Coupon expired")
305- else if ((aC > aH.amount))
316+ else if ((aI > aN.amount))
306317 then throw("Purchase amount cannot be less than item price")
307- else if ((aH.amount > aC))
318+ else if ((aN.amount > aI))
308319 then throw("Purchase amount cannot be higher than item price")
309- else if ((u == a))
320+ else if ((v == a))
310321 then throw("Supplier does not exists")
311322 else {
312- let aI = O(G, y)
313- let aJ = (ae(G, y) + 1)
314- let S = P(u, y, G, aJ)
315- let aK = R(S)
316- let aL = T(S)
317- let aM = U(S)
318- let aN = V(S)
319- let aO = W(S)
320- let aP = X(S)
321-[IntegerEntry(aI, aJ), StringEntry(aK, h), StringEntry(aL, y), StringEntry(aM, u), StringEntry(aN, G), IntegerEntry(aO, aH.amount), IntegerEntry(aP, lastBlock.timestamp)]
323+ let aO = I(J, z)
324+ let aP = (aj(J, z) + 1)
325+ let O = L(v, z, J, aP)
326+ let aQ = N(O)
327+ let aR = P(O)
328+ let aS = Q(O)
329+ let aT = R(O)
330+ let aU = S(O)
331+ let aV = T(O)
332+[IntegerEntry(aO, aP), StringEntry(aQ, i), StringEntry(aR, z), StringEntry(aS, v), StringEntry(aT, J), IntegerEntry(aU, aN.amount), IntegerEntry(aV, lastBlock.timestamp)]
322333 }
323334 }
324335 }
325336
326337
327338
328-@Callable(aA)
329-func rejectPurchase (S) = {
330- let aQ = toBase58String(aA.caller.bytes)
331- let aR = af(S)
332- let u = ah(S)
333- let y = ag(S)
334- let aF = (y == a)
335- if (aF)
336- then throw(("Purchase not found " + S))
337- else if (if ((u == a))
339+@Callable(aG)
340+func rejectPurchase (O) = {
341+ let aW = toBase58String(aG.caller.bytes)
342+ let aX = ar(O)
343+ let v = at(O)
344+ let z = as(O)
345+ let aL = (z == a)
346+ if (aL)
347+ then throw(("Purchase not found " + O))
348+ else if (if ((v == a))
338349 then true
339- else (aQ != u))
350+ else (aW != v))
340351 then throw("Your are not the owner of this item")
341- else if ((aR != h))
352+ else if ((aX != i))
342353 then throw("You cannot reject this purchased")
343354 else {
344- let aK = R(S)
345- let aO = W(S)
346- let aS = D(y)
347- let G = ai(S)
348- let aT = aj(S)
349- let aU = (ad(u) - aT)
350- let aV = (ar(y) - 1)
351- let aW = addressFromStringValue(G)
352-[StringEntry(aK, i), IntegerEntry(aO, 0), ScriptTransfer(aW, aT, unit)]
355+ let aQ = N(O)
356+ let aU = S(O)
357+ let aY = E(z)
358+ let J = au(O)
359+ let aZ = av(O)
360+ let ba = (ai(v) - aZ)
361+ let bb = (ao(z) - 1)
362+ let bc = addressFromStringValue(J)
363+[StringEntry(aQ, j), IntegerEntry(aU, 0), ScriptTransfer(bc, aZ, unit)]
353364 }
354365 }
355366
356367
357368
358-@Callable(aA)
359-func acceptPurchase (S,ab) = {
360- let aQ = toBase58String(aA.caller.bytes)
361- let aR = af(S)
362- let u = ah(S)
363- let y = ag(S)
364- let aD = ap(y)
365- let aF = (y == a)
366- if (aF)
367- then throw(("Purchase not found " + S))
368- else if (if ((u == a))
369+@Callable(aG)
370+func acceptPurchase (O,X) = {
371+ let aW = toBase58String(aG.caller.bytes)
372+ let aX = ar(O)
373+ let v = at(O)
374+ let z = as(O)
375+ let aJ = am(z)
376+ let aL = (z == a)
377+ if (aL)
378+ then throw(("Purchase not found " + O))
379+ else if (if ((v == a))
369380 then true
370- else (aQ != u))
381+ else (aW != v))
371382 then throw("Your are not the owner of this item")
372- else if ((aR != h))
383+ else if ((aX != i))
373384 then throw("You cannot reject this purchased")
374- else if (if ((aD > 0))
375- then (lastBlock.timestamp >= aD)
385+ else if (if ((aJ > 0))
386+ then (lastBlock.timestamp >= aJ)
376387 else false)
377388 then throw("Coupon expired")
378389 else {
379- let aK = R(S)
380- let aX = Y(S)
381- let aY = N(u)
382- let aS = D(y)
383- let aZ = aa(ab)
384- let ba = ac(ab)
385- let aT = aj(S)
386- let bb = (ad(u) + aT)
387- let aV = (ar(y) + 1)
388- let G = ai(S)
389- let aW = addressFromStringValue(G)
390-[StringEntry(aK, j), StringEntry(aZ, S), StringEntry(ba, y), StringEntry(aX, ab), IntegerEntry(aY, bb), IntegerEntry(aS, aV)]
390+ let aQ = N(O)
391+ let bd = U(O)
392+ let be = K(v)
393+ let aY = E(z)
394+ let bf = W(X)
395+ let bg = Y(X)
396+ let aZ = av(O)
397+ let bh = (ai(v) + aZ)
398+ let bb = (ao(z) + 1)
399+ let J = au(O)
400+ let bc = addressFromStringValue(J)
401+[StringEntry(aQ, k), StringEntry(bf, O), StringEntry(bg, z), StringEntry(bd, X), IntegerEntry(be, bh), IntegerEntry(aY, bb)]
391402 }
392403 }
393404
394405
395406
396-@Callable(aA)
407+@Callable(aG)
397408 func burn () = {
398- let aQ = toBase58String(aA.caller.bytes)
399- let aH = if ((size(aA.payments) == 1))
400- then aA.payments[0]
409+ let aW = toBase58String(aG.caller.bytes)
410+ let aN = if ((size(aG.payments) == 1))
411+ then aG.payments[0]
401412 else throw("An attached coupon is required as payment[0]")
402- if ((isDefined(aH.assetId) == false))
413+ if ((isDefined(aN.assetId) == false))
403414 then throw("Need a coupon to burn")
404415 else {
405- let bc = {
406- let m = aH.assetId
407- if ($isInstanceOf(m, "ByteVector"))
416+ let bi = {
417+ let n = aN.assetId
418+ if ($isInstanceOf(n, "ByteVector"))
408419 then {
409- let bd = m
410- bd
420+ let bj = n
421+ bj
411422 }
412423 else throw("Need a coupon to burn")
413424 }
414- let ab = toBase58String(bc)
415- let S = at(ab)
416- let u = ah(S)
417- let be = am(S)
418- if ((aQ != u))
425+ let X = toBase58String(bi)
426+ let O = az(X)
427+ let v = at(O)
428+ let bk = ay(O)
429+ if ((aW != v))
419430 then throw("Your are not the supplier for this coupon")
420- else if (be)
421- then [Burn(bc, 1)]
431+ else if (bk)
432+ then [Burn(bi, 1)]
422433 else {
423- let bf = ad(u)
424- let aT = aj(S)
425- let bg = if ((0 >= (bf - aT)))
426- then bf
427- else aT
428- let bb = (bf - bg)
429- if ((0 > bb))
434+ let bl = ai(v)
435+ let aZ = av(O)
436+ let bm = if ((0 >= (bl - aZ)))
437+ then bl
438+ else aZ
439+ let bh = (bl - bm)
440+ if ((0 > bh))
430441 then throw("Not enough funds to withdraw")
431442 else {
432- let aY = N(u)
433- let bh = Z(S)
434-[Burn(bc, 1), BooleanEntry(bh, true), IntegerEntry(aY, bb), ScriptTransfer(aA.caller, bg, unit)]
443+ let be = K(v)
444+ let bn = V(O)
445+[Burn(bi, 1), BooleanEntry(bn, true), IntegerEntry(be, bh), ScriptTransfer(aG.caller, bm, unit)]
435446 }
436447 }
437448 }
439450
440451
441452
442-@Callable(aA)
443-func withdraw (ab) = {
444- let aQ = toBase58String(aA.caller.bytes)
445- let r = s(aQ)
446- if ((r == a))
453+@Callable(aG)
454+func withdraw (X) = {
455+ let aW = toBase58String(aG.caller.bytes)
456+ let s = t(aW)
457+ if ((s == a))
447458 then throw("You are not registred as supplier")
448459 else {
449- let S = at(ab)
450- let u = ah(S)
451- let be = am(S)
452- if ((aQ != u))
460+ let O = az(X)
461+ let v = at(O)
462+ let bk = ay(O)
463+ if ((aW != v))
453464 then throw("Your are not the supplier for this coupon")
454- else if (be)
465+ else if (bk)
455466 then throw("Fund has already been paid")
456467 else {
457- let y = ag(S)
458- let aD = ap(y)
459- let bi = {
460- let m = assetInfo(fromBase58String(ab))
461- if ($isInstanceOf(m, "Asset"))
468+ let z = as(O)
469+ let aJ = am(z)
470+ let bo = {
471+ let n = assetInfo(fromBase58String(X))
472+ if ($isInstanceOf(n, "Asset"))
462473 then {
463- let n = m
464- n
474+ let o = n
475+ o
465476 }
466477 else throw("Cannot find asset info")
467478 }
468- let bj = if (if ((aD > 0))
469- then (lastBlock.timestamp >= aD)
479+ let bp = if (if ((aJ > 0))
480+ then (lastBlock.timestamp >= aJ)
470481 else false)
471482 then true
472- else if ((bi.quantity == 0))
483+ else if ((bo.quantity == 0))
473484 then true
474485 else false
475- if (!(bj))
486+ if (!(bp))
476487 then throw("This coupon cannot be funded")
477488 else {
478- let bf = ad(u)
479- let aT = aj(S)
480- let bg = if ((0 >= (bf - aT)))
481- then bf
482- else aT
483- let bb = (bf - bg)
484- if ((0 > bb))
489+ let bl = ai(v)
490+ let aZ = av(O)
491+ let bm = if ((0 >= (bl - aZ)))
492+ then bl
493+ else aZ
494+ let bh = (bl - bm)
495+ if ((0 > bh))
485496 then throw("Not enough funds to withdraw")
486497 else {
487- let aY = N(u)
488- let bh = Z(S)
489-[BooleanEntry(bh, true), IntegerEntry(aY, bb), ScriptTransfer(aA.caller, bg, unit)]
498+ let be = K(v)
499+ let bn = V(O)
500+[BooleanEntry(bn, true), IntegerEntry(be, bh), ScriptTransfer(aG.caller, bm, unit)]
490501 }
491502 }
492503 }
495506
496507
497508
498-@Callable(aA)
499-func voteCommit (y,bk) = {
500- let G = toBase58String(aA.caller.bytes)
501- let bl = av(y)
502- let aR = ax(y)
503- let bm = ((aR + " , ") + toString(bl))
504- if ((bl >= b))
505- then throw("Reached max number of voters")
506- else if ((au(y, G) != a))
507- then throw("You voted already")
508- else if ((x(y) == a))
509- then throw("Item does not exists")
510- else if (if ((aR != a))
511- then (aR != f)
512- else false)
513- then throw("Voting is not active for this item now")
509+@Callable(aG)
510+func voteCommit (z,bq) = {
511+ let J = toBase58String(aG.caller.bytes)
512+ let aa = aA(z)
513+ let ac = Z(z, aa)
514+ let aX = aB(ac)
515+ let br = aD(ac)
516+ if ((y(z) == a))
517+ then throw("Item does not exists")
518+ else if (if ((aX != a))
519+ then (aX != f)
520+ else false)
521+ then throw("Voting is not active for this item now")
522+ else if ((aE(ac, J) != a))
523+ then throw("You voted already")
524+ else if ((br >= b))
525+ then throw("Reached max number of voters")
514526 else {
515- let bn = (bl + 1)
516- let bo = if ((bn == b))
527+ let bs = (br + 1)
528+ let bt = if ((bs == b))
517529 then g
518530 else f
519-[StringEntry(F(y, G), bk), IntegerEntry(H(y), bn), StringEntry(J(y), bo), DeleteEntry(I(y, G))]
531+[StringEntry(ag(ac, J), bq), IntegerEntry(ab(ac), bs), StringEntry(ad(ac), bt)]
520532 }
521533 }
522534
523535
524536
525-@Callable(aA)
526-func voteReveal (y,M,bp) = {
527- let G = toBase58String(aA.caller.bytes)
528- let aR = ax(y)
529- let bq = (az(y, M) + 1)
530- let br = toBase58String(sha256(toBytes(((y + M) + bp))))
531- if ((br != au(y, G)))
537+@Callable(aG)
538+func voteReveal (z,af,bu) = {
539+ let J = toBase58String(aG.caller.bytes)
540+ let aa = aA(z)
541+ let ac = Z(z, aa)
542+ let aX = aB(ac)
543+ let bv = (aC(ac, af) + 1)
544+ let bw = toBase58String(sha256(toBytes(((z + af) + bu))))
545+ if ((bw != aE(ac, J)))
532546 then throw("Reveal data is not valid")
533- else if ((b > av(y)))
547+ else if ((b > aD(ac)))
534548 then throw("Max number of voters not reached")
535- else if ((aw(y, G) != a))
549+ else if ((aF(ac, J) != a))
536550 then throw("You voted already")
537- else if (if ((aR != f))
538- then (aR != g)
551+ else if (if ((aX != f))
552+ then (aX != g)
539553 else false)
540554 then throw("Voting is not active for this item now")
541- else if (if ((M != d))
542- then (M != e)
555+ else if (if ((af != d))
556+ then (af != e)
543557 else false)
544558 then throw("Provided voting option is incorrect")
545- else if ((bq >= c))
559+ else if ((bv >= c))
546560 then {
547- let bs = if ((M == d))
561+ let bx = if ((af == d))
548562 then true
549563 else false
550-[StringEntry(I(y, G), M), IntegerEntry(L(y, M), bq), BooleanEntry(K(y), bs), DeleteEntry(J(y)), DeleteEntry(F(y, G)), DeleteEntry(H(y)), DeleteEntry(L(y, M))]
564+[StringEntry(ah(ac, J), af), IntegerEntry(ae(ac, af), bv), IntegerEntry(H(z), (aa + 1)), StringEntry(ad(ac), af), BooleanEntry(G(z), bx)]
551565 }
552- else [StringEntry(I(y, G), M), IntegerEntry(L(y, M), bq), StringEntry(J(y), g), DeleteEntry(F(y, G))]
566+ else [StringEntry(ah(ac, J), af), IntegerEntry(ae(ac, af), bv), StringEntry(ad(ac), g)]
553567 }
554568
555569
556-@Verifier(bt)
557-func bu () = {
558- let m = bt
559- if ($isInstanceOf(m, "SetScriptTransaction"))
570+@Verifier(by)
571+func bz () = {
572+ let n = by
573+ if ($isInstanceOf(n, "SetScriptTransaction"))
560574 then {
561- let bv = m
562- sigVerify(bt.bodyBytes, bt.proofs[0], bt.senderPublicKey)
575+ let bA = n
576+ sigVerify(by.bodyBytes, by.proofs[0], by.senderPublicKey)
563577 }
564- else if ($isInstanceOf(m, "IssueTransaction"))
578+ else if ($isInstanceOf(n, "IssueTransaction"))
565579 then {
566- let bv = m
567- sigVerify(bt.bodyBytes, bt.proofs[0], bt.senderPublicKey)
580+ let bA = n
581+ sigVerify(by.bodyBytes, by.proofs[0], by.senderPublicKey)
568582 }
569- else if ($isInstanceOf(m, "TransferTransaction"))
583+ else if ($isInstanceOf(n, "TransferTransaction"))
570584 then {
571- let bv = m
572- sigVerify(bt.bodyBytes, bt.proofs[0], bt.senderPublicKey)
585+ let bA = n
586+ sigVerify(by.bodyBytes, by.proofs[0], by.senderPublicKey)
573587 }
574- else false
588+ else if ($isInstanceOf(n, "DataTransaction"))
589+ then {
590+ let bA = n
591+ sigVerify(by.bodyBytes, by.proofs[0], by.senderPublicKey)
592+ }
593+ else false
575594 }
576595
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "NONE"
55
66 let b = 3
77
88 let c = 2
99
1010 let d = "featured"
1111
1212 let e = "delisted"
1313
1414 let f = "voting"
1515
1616 let g = "reveal"
1717
18-let h = "approval"
18+let h = "ended"
1919
20-let i = "rejected"
20+let i = "approval"
2121
22-let j = "accepted"
22+let j = "rejected"
2323
24-func k (l) = {
25- let m = getString(this, l)
26- if ($isInstanceOf(m, "String"))
24+let k = "accepted"
25+
26+func l (m) = {
27+ let n = getString(this, m)
28+ if ($isInstanceOf(n, "String"))
2729 then {
28- let n = m
29- n
30+ let o = n
31+ o
3032 }
3133 else a
3234 }
3335
3436
35-func o (l) = {
36- let m = getInteger(this, l)
37- if ($isInstanceOf(m, "Int"))
37+func p (m) = {
38+ let n = getInteger(this, m)
39+ if ($isInstanceOf(n, "Int"))
3840 then {
39- let n = m
40- n
41+ let o = n
42+ o
4143 }
4244 else 0
4345 }
4446
4547
46-func p (l) = {
47- let m = getBoolean(this, l)
48- if ($isInstanceOf(m, "Boolean"))
48+func q (m) = {
49+ let n = getBoolean(this, m)
50+ if ($isInstanceOf(n, "Boolean"))
4951 then {
50- let n = m
51- n
52+ let o = n
53+ o
5254 }
5355 else false
5456 }
5557
5658
57-func q (r) = (r + "_account")
59+func r (s) = (s + "_account")
5860
5961
60-func s (r) = k(q(r))
62+func t (s) = l(r(s))
6163
6264
63-func t (u,v) = {
64- let w = (u + v)
65- ("item_" + toBase58String(sha256(toBytes(w))))
65+func u (v,w) = {
66+ let x = (v + w)
67+ ("item_" + toBase58String(sha256(toBytes(x))))
6668 }
6769
6870
69-func x (y) = (y + "_owner")
71+func y (z) = (z + "_owner")
7072
7173
72-func z (y) = (y + "_title")
74+func A (z) = (z + "_title")
7375
7476
75-func A (y) = (y + "_price")
77+func B (z) = (z + "_price")
7678
7779
78-func B (y) = (y + "_data")
80+func C (z) = (z + "_data")
7981
8082
81-func C (y) = (y + "_expiredate")
83+func D (z) = (z + "_expiredate")
8284
8385
84-func D (y) = (y + "_sold")
86+func E (z) = (z + "_sold")
8587
8688
87-func E (y) = (y + "_removed")
89+func F (z) = (z + "_removed")
8890
8991
90-func F (y,G) = (((y + "_") + G) + "_commit")
92+func G (z) = (z + "_featured")
9193
9294
93-func H (y) = (y + "_cmtcnt")
95+func H (z) = (z + "_voteround")
9496
9597
96-func I (y,G) = (((y + "_") + G) + "_reveal")
98+func I (J,z) = (((J + "_") + z) + "_counter")
9799
98100
99-func J (y) = (y + "_votestatus")
101+func K (v) = (v + "_balance")
100102
101103
102-func K (y) = (y + "_featured")
104+func L (v,z,J,M) = ("purchase_" + toBase58String(sha256(toBytes(((((((v + "_") + z) + "_") + J) + "_") + toString(M))))))
103105
104106
105-func L (y,M) = ((y + "_res:") + M)
107+func N (O) = (O + "_status")
106108
107109
108-func N (u) = (u + "_balance")
110+func P (O) = (O + "_item")
109111
110112
111-func O (G,y) = (((G + "_") + y) + "_counter")
113+func Q (O) = (O + "_supplier")
112114
113115
114-func P (u,y,G,Q) = ("purchase_" + toBase58String(sha256(toBytes(((((((u + "_") + y) + "_") + G) + "_") + toString(Q))))))
116+func R (O) = (O + "_user")
115117
116118
117-func R (S) = (S + "_status")
119+func S (O) = (O + "_amount")
118120
119121
120-func T (S) = (S + "_item")
122+func T (O) = (O + "_timestamp")
121123
122124
123-func U (S) = (S + "_supplier")
125+func U (O) = (O + "_assetId")
124126
125127
126-func V (S) = (S + "_user")
128+func V (O) = (O + "_fundpaid")
127129
128130
129-func W (S) = (S + "_amount")
131+func W (X) = (("coupon_" + X) + "_purchase")
130132
131133
132-func X (S) = (S + "_timestamp")
134+func Y (X) = (("coupon_" + X) + "_item")
133135
134136
135-func Y (S) = (S + "_assetId")
137+func Z (z,aa) = (((("vote" + z) + "[") + toString(aa)) + "]")
136138
137139
138-func Z (S) = (S + "_fundpaid")
140+func ab (ac) = (ac + "_cmtcnt")
139141
140142
141-func aa (ab) = (("coupon_" + ab) + "_purchase")
143+func ad (ac) = (ac + "_status")
142144
143145
144-func ac (ab) = (("coupon_" + ab) + "_item")
146+func ae (ac,af) = ((ac + "_res:") + af)
145147
146148
147-func ad (u) = o(N(u))
149+func ag (ac,J) = (((ac + "_") + J) + "_commit")
148150
149151
150-func ae (G,y) = o(O(G, y))
152+func ah (ac,J) = (((ac + "_") + J) + "_reveal")
151153
152154
153-func af (S) = k(R(S))
155+func ai (v) = p(K(v))
154156
155157
156-func ag (S) = getStringValue(this, T(S))
158+func aj (J,z) = p(I(J, z))
157159
158160
159-func ah (S) = getStringValue(this, U(S))
161+func ak (z) = getIntegerValue(this, B(z))
160162
161163
162-func ai (S) = getStringValue(this, V(S))
164+func al (z) = l(y(z))
163165
164166
165-func aj (S) = getIntegerValue(this, W(S))
167+func am (z) = p(D(z))
166168
167169
168-func ak (S) = o(X(S))
170+func an (z) = l(A(z))
169171
170172
171-func al (S) = k(Y(S))
173+func ao (z) = p(E(z))
172174
173175
174-func am (S) = p(Z(S))
176+func ap (z) = q(F(z))
175177
176178
177-func an (y) = getIntegerValue(this, A(y))
179+func aq (z) = q(G(z))
178180
179181
180-func ao (y) = k(x(y))
182+func ar (O) = l(N(O))
181183
182184
183-func ap (y) = o(C(y))
185+func as (O) = getStringValue(this, P(O))
184186
185187
186-func aq (y) = k(z(y))
188+func at (O) = getStringValue(this, Q(O))
187189
188190
189-func ar (y) = o(D(y))
191+func au (O) = getStringValue(this, R(O))
190192
191193
192-func as (y) = p(E(y))
194+func av (O) = getIntegerValue(this, S(O))
193195
194196
195-func at (ab) = k(aa(ab))
197+func aw (O) = p(T(O))
196198
197199
198-func au (y,G) = k(F(y, G))
200+func ax (O) = l(U(O))
199201
200202
201-func av (y) = o(H(y))
203+func ay (O) = q(V(O))
202204
203205
204-func aw (y,G) = k(I(y, G))
206+func az (X) = l(W(X))
205207
206208
207-func ax (y) = k(J(y))
209+func aA (z) = p(H(z))
208210
209211
210-func ay (y) = p(K(y))
212+func aB (ac) = l(ad(ac))
211213
212214
213-func az (y,M) = o(L(y, M))
215+func aC (ac,af) = p(ae(ac, af))
214216
215217
216-@Callable(aA)
217-func registerSupplier (aB) = {
218- let u = toBase58String(aA.caller.bytes)
219- let r = s(u)
220- if ((r != a))
218+func aD (ac) = p(ab(ac))
219+
220+
221+func aE (ac,J) = l(ag(ac, J))
222+
223+
224+func aF (ac,J) = l(ah(ac, J))
225+
226+
227+@Callable(aG)
228+func registerSupplier (aH) = {
229+ let v = toBase58String(aG.caller.bytes)
230+ let s = t(v)
231+ if ((s != a))
221232 then throw("This address has already registred as supplier")
222- else [StringEntry(q(u), aB)]
233+ else [StringEntry(r(v), aH)]
223234 }
224235
225236
226237
227-@Callable(aA)
228-func addItem (v,aC,aB,aD) = {
229- let u = toBase58String(aA.caller.bytes)
230- let r = s(u)
231- let y = t(u, v)
232- if ((r == a))
238+@Callable(aG)
239+func addItem (w,aI,aH,aJ) = {
240+ let v = toBase58String(aG.caller.bytes)
241+ let s = t(v)
242+ let z = u(v, w)
243+ if ((s == a))
233244 then throw("You should register as supplier to add an item")
234- else if ((0 >= aC))
245+ else if ((0 >= aI))
235246 then throw("Purchase amount cannot be less than item price")
236- else if ((ao(y) != a))
247+ else if ((al(z) != a))
237248 then throw("An item already exists")
238- else [StringEntry(x(y), u), StringEntry(z(y), v), IntegerEntry(A(y), aC), StringEntry(B(y), aB), IntegerEntry(C(y), aD), BooleanEntry(K(y), true)]
249+ else [StringEntry(y(z), v), StringEntry(A(z), w), IntegerEntry(B(z), aI), StringEntry(C(z), aH), IntegerEntry(D(z), aJ), BooleanEntry(G(z), true)]
239250 }
240251
241252
242253
243-@Callable(aA)
244-func updateItem (y,v,aC,aB,aD) = {
245- let u = toBase58String(aA.caller.bytes)
246- let r = s(u)
247- let aE = ao(y)
248- let aF = if ((aq(y) == a))
254+@Callable(aG)
255+func updateItem (z,w,aI,aH,aJ) = {
256+ let v = toBase58String(aG.caller.bytes)
257+ let s = t(v)
258+ let aK = al(z)
259+ let aL = if ((an(z) == a))
249260 then true
250- else (as(y) == true)
251- if ((r == a))
261+ else (ap(z) == true)
262+ if ((s == a))
252263 then throw("You should register as supplier to remove an item")
253- else if (aF)
254- then throw(("Item does not exists or has been removed " + y))
255- else if ((u != aE))
256- then throw(("You don't owned item " + y))
257- else [StringEntry(z(y), v), IntegerEntry(A(y), aC), StringEntry(B(y), aB), IntegerEntry(C(y), aD)]
264+ else if (aL)
265+ then throw(("Item does not exists or has been removed " + z))
266+ else if ((v != aK))
267+ then throw(("You don't owned item " + z))
268+ else [StringEntry(A(z), w), IntegerEntry(B(z), aI), StringEntry(C(z), aH), IntegerEntry(D(z), aJ)]
258269 }
259270
260271
261272
262-@Callable(aA)
263-func removeItem (y) = {
264- let u = toBase58String(aA.caller.bytes)
265- let r = s(u)
266- let aE = ao(y)
267- let aF = if ((aq(y) == a))
273+@Callable(aG)
274+func removeItem (z) = {
275+ let v = toBase58String(aG.caller.bytes)
276+ let s = t(v)
277+ let aK = al(z)
278+ let aL = if ((an(z) == a))
268279 then true
269- else (as(y) == true)
270- if ((r == a))
280+ else (ap(z) == true)
281+ if ((s == a))
271282 then throw("You should register as supplier to remove an item")
272- else if (aF)
273- then throw(("Item does not exists or has been removed " + y))
274- else if ((u != aE))
275- then throw(("You don't owned item " + y))
283+ else if (aL)
284+ then throw(("Item does not exists or has been removed " + z))
285+ else if ((v != aK))
286+ then throw(("You don't owned item " + z))
276287 else {
277- let aG = ar(y)
278- if ((aG == 0))
279- then [DeleteEntry(x(y)), DeleteEntry(z(y)), DeleteEntry(A(y)), DeleteEntry(B(y)), DeleteEntry(C(y)), DeleteEntry(J(y)), DeleteEntry(K(y))]
280- else [BooleanEntry(E(y), true)]
288+ let aM = ao(z)
289+ if ((aM == 0))
290+ then [DeleteEntry(y(z)), DeleteEntry(A(z)), DeleteEntry(B(z)), DeleteEntry(C(z)), DeleteEntry(D(z)), DeleteEntry(G(z))]
291+ else [BooleanEntry(F(z), true)]
281292 }
282293 }
283294
284295
285296
286-@Callable(aA)
287-func purchase (y) = {
288- let aH = aA.payments[0]
289- let aF = if ((aq(y) == a))
297+@Callable(aG)
298+func purchase (z) = {
299+ let aN = aG.payments[0]
300+ let aL = if ((an(z) == a))
290301 then true
291- else (as(y) == true)
292- if (aF)
293- then throw(("Item does not exists or has been removed " + y))
294- else if (isDefined(aH.assetId))
302+ else (ap(z) == true)
303+ if (aL)
304+ then throw(("Item does not exists or has been removed " + z))
305+ else if (isDefined(aN.assetId))
295306 then throw("You can buy tokens only with Waves tokens")
296307 else {
297- let G = toBase58String(aA.caller.bytes)
298- let aC = an(y)
299- let u = ao(y)
300- let aD = ap(y)
301- if (if ((aD > 0))
302- then (lastBlock.timestamp >= aD)
308+ let J = toBase58String(aG.caller.bytes)
309+ let aI = ak(z)
310+ let v = al(z)
311+ let aJ = am(z)
312+ if (if ((aJ > 0))
313+ then (lastBlock.timestamp >= aJ)
303314 else false)
304315 then throw("Coupon expired")
305- else if ((aC > aH.amount))
316+ else if ((aI > aN.amount))
306317 then throw("Purchase amount cannot be less than item price")
307- else if ((aH.amount > aC))
318+ else if ((aN.amount > aI))
308319 then throw("Purchase amount cannot be higher than item price")
309- else if ((u == a))
320+ else if ((v == a))
310321 then throw("Supplier does not exists")
311322 else {
312- let aI = O(G, y)
313- let aJ = (ae(G, y) + 1)
314- let S = P(u, y, G, aJ)
315- let aK = R(S)
316- let aL = T(S)
317- let aM = U(S)
318- let aN = V(S)
319- let aO = W(S)
320- let aP = X(S)
321-[IntegerEntry(aI, aJ), StringEntry(aK, h), StringEntry(aL, y), StringEntry(aM, u), StringEntry(aN, G), IntegerEntry(aO, aH.amount), IntegerEntry(aP, lastBlock.timestamp)]
323+ let aO = I(J, z)
324+ let aP = (aj(J, z) + 1)
325+ let O = L(v, z, J, aP)
326+ let aQ = N(O)
327+ let aR = P(O)
328+ let aS = Q(O)
329+ let aT = R(O)
330+ let aU = S(O)
331+ let aV = T(O)
332+[IntegerEntry(aO, aP), StringEntry(aQ, i), StringEntry(aR, z), StringEntry(aS, v), StringEntry(aT, J), IntegerEntry(aU, aN.amount), IntegerEntry(aV, lastBlock.timestamp)]
322333 }
323334 }
324335 }
325336
326337
327338
328-@Callable(aA)
329-func rejectPurchase (S) = {
330- let aQ = toBase58String(aA.caller.bytes)
331- let aR = af(S)
332- let u = ah(S)
333- let y = ag(S)
334- let aF = (y == a)
335- if (aF)
336- then throw(("Purchase not found " + S))
337- else if (if ((u == a))
339+@Callable(aG)
340+func rejectPurchase (O) = {
341+ let aW = toBase58String(aG.caller.bytes)
342+ let aX = ar(O)
343+ let v = at(O)
344+ let z = as(O)
345+ let aL = (z == a)
346+ if (aL)
347+ then throw(("Purchase not found " + O))
348+ else if (if ((v == a))
338349 then true
339- else (aQ != u))
350+ else (aW != v))
340351 then throw("Your are not the owner of this item")
341- else if ((aR != h))
352+ else if ((aX != i))
342353 then throw("You cannot reject this purchased")
343354 else {
344- let aK = R(S)
345- let aO = W(S)
346- let aS = D(y)
347- let G = ai(S)
348- let aT = aj(S)
349- let aU = (ad(u) - aT)
350- let aV = (ar(y) - 1)
351- let aW = addressFromStringValue(G)
352-[StringEntry(aK, i), IntegerEntry(aO, 0), ScriptTransfer(aW, aT, unit)]
355+ let aQ = N(O)
356+ let aU = S(O)
357+ let aY = E(z)
358+ let J = au(O)
359+ let aZ = av(O)
360+ let ba = (ai(v) - aZ)
361+ let bb = (ao(z) - 1)
362+ let bc = addressFromStringValue(J)
363+[StringEntry(aQ, j), IntegerEntry(aU, 0), ScriptTransfer(bc, aZ, unit)]
353364 }
354365 }
355366
356367
357368
358-@Callable(aA)
359-func acceptPurchase (S,ab) = {
360- let aQ = toBase58String(aA.caller.bytes)
361- let aR = af(S)
362- let u = ah(S)
363- let y = ag(S)
364- let aD = ap(y)
365- let aF = (y == a)
366- if (aF)
367- then throw(("Purchase not found " + S))
368- else if (if ((u == a))
369+@Callable(aG)
370+func acceptPurchase (O,X) = {
371+ let aW = toBase58String(aG.caller.bytes)
372+ let aX = ar(O)
373+ let v = at(O)
374+ let z = as(O)
375+ let aJ = am(z)
376+ let aL = (z == a)
377+ if (aL)
378+ then throw(("Purchase not found " + O))
379+ else if (if ((v == a))
369380 then true
370- else (aQ != u))
381+ else (aW != v))
371382 then throw("Your are not the owner of this item")
372- else if ((aR != h))
383+ else if ((aX != i))
373384 then throw("You cannot reject this purchased")
374- else if (if ((aD > 0))
375- then (lastBlock.timestamp >= aD)
385+ else if (if ((aJ > 0))
386+ then (lastBlock.timestamp >= aJ)
376387 else false)
377388 then throw("Coupon expired")
378389 else {
379- let aK = R(S)
380- let aX = Y(S)
381- let aY = N(u)
382- let aS = D(y)
383- let aZ = aa(ab)
384- let ba = ac(ab)
385- let aT = aj(S)
386- let bb = (ad(u) + aT)
387- let aV = (ar(y) + 1)
388- let G = ai(S)
389- let aW = addressFromStringValue(G)
390-[StringEntry(aK, j), StringEntry(aZ, S), StringEntry(ba, y), StringEntry(aX, ab), IntegerEntry(aY, bb), IntegerEntry(aS, aV)]
390+ let aQ = N(O)
391+ let bd = U(O)
392+ let be = K(v)
393+ let aY = E(z)
394+ let bf = W(X)
395+ let bg = Y(X)
396+ let aZ = av(O)
397+ let bh = (ai(v) + aZ)
398+ let bb = (ao(z) + 1)
399+ let J = au(O)
400+ let bc = addressFromStringValue(J)
401+[StringEntry(aQ, k), StringEntry(bf, O), StringEntry(bg, z), StringEntry(bd, X), IntegerEntry(be, bh), IntegerEntry(aY, bb)]
391402 }
392403 }
393404
394405
395406
396-@Callable(aA)
407+@Callable(aG)
397408 func burn () = {
398- let aQ = toBase58String(aA.caller.bytes)
399- let aH = if ((size(aA.payments) == 1))
400- then aA.payments[0]
409+ let aW = toBase58String(aG.caller.bytes)
410+ let aN = if ((size(aG.payments) == 1))
411+ then aG.payments[0]
401412 else throw("An attached coupon is required as payment[0]")
402- if ((isDefined(aH.assetId) == false))
413+ if ((isDefined(aN.assetId) == false))
403414 then throw("Need a coupon to burn")
404415 else {
405- let bc = {
406- let m = aH.assetId
407- if ($isInstanceOf(m, "ByteVector"))
416+ let bi = {
417+ let n = aN.assetId
418+ if ($isInstanceOf(n, "ByteVector"))
408419 then {
409- let bd = m
410- bd
420+ let bj = n
421+ bj
411422 }
412423 else throw("Need a coupon to burn")
413424 }
414- let ab = toBase58String(bc)
415- let S = at(ab)
416- let u = ah(S)
417- let be = am(S)
418- if ((aQ != u))
425+ let X = toBase58String(bi)
426+ let O = az(X)
427+ let v = at(O)
428+ let bk = ay(O)
429+ if ((aW != v))
419430 then throw("Your are not the supplier for this coupon")
420- else if (be)
421- then [Burn(bc, 1)]
431+ else if (bk)
432+ then [Burn(bi, 1)]
422433 else {
423- let bf = ad(u)
424- let aT = aj(S)
425- let bg = if ((0 >= (bf - aT)))
426- then bf
427- else aT
428- let bb = (bf - bg)
429- if ((0 > bb))
434+ let bl = ai(v)
435+ let aZ = av(O)
436+ let bm = if ((0 >= (bl - aZ)))
437+ then bl
438+ else aZ
439+ let bh = (bl - bm)
440+ if ((0 > bh))
430441 then throw("Not enough funds to withdraw")
431442 else {
432- let aY = N(u)
433- let bh = Z(S)
434-[Burn(bc, 1), BooleanEntry(bh, true), IntegerEntry(aY, bb), ScriptTransfer(aA.caller, bg, unit)]
443+ let be = K(v)
444+ let bn = V(O)
445+[Burn(bi, 1), BooleanEntry(bn, true), IntegerEntry(be, bh), ScriptTransfer(aG.caller, bm, unit)]
435446 }
436447 }
437448 }
438449 }
439450
440451
441452
442-@Callable(aA)
443-func withdraw (ab) = {
444- let aQ = toBase58String(aA.caller.bytes)
445- let r = s(aQ)
446- if ((r == a))
453+@Callable(aG)
454+func withdraw (X) = {
455+ let aW = toBase58String(aG.caller.bytes)
456+ let s = t(aW)
457+ if ((s == a))
447458 then throw("You are not registred as supplier")
448459 else {
449- let S = at(ab)
450- let u = ah(S)
451- let be = am(S)
452- if ((aQ != u))
460+ let O = az(X)
461+ let v = at(O)
462+ let bk = ay(O)
463+ if ((aW != v))
453464 then throw("Your are not the supplier for this coupon")
454- else if (be)
465+ else if (bk)
455466 then throw("Fund has already been paid")
456467 else {
457- let y = ag(S)
458- let aD = ap(y)
459- let bi = {
460- let m = assetInfo(fromBase58String(ab))
461- if ($isInstanceOf(m, "Asset"))
468+ let z = as(O)
469+ let aJ = am(z)
470+ let bo = {
471+ let n = assetInfo(fromBase58String(X))
472+ if ($isInstanceOf(n, "Asset"))
462473 then {
463- let n = m
464- n
474+ let o = n
475+ o
465476 }
466477 else throw("Cannot find asset info")
467478 }
468- let bj = if (if ((aD > 0))
469- then (lastBlock.timestamp >= aD)
479+ let bp = if (if ((aJ > 0))
480+ then (lastBlock.timestamp >= aJ)
470481 else false)
471482 then true
472- else if ((bi.quantity == 0))
483+ else if ((bo.quantity == 0))
473484 then true
474485 else false
475- if (!(bj))
486+ if (!(bp))
476487 then throw("This coupon cannot be funded")
477488 else {
478- let bf = ad(u)
479- let aT = aj(S)
480- let bg = if ((0 >= (bf - aT)))
481- then bf
482- else aT
483- let bb = (bf - bg)
484- if ((0 > bb))
489+ let bl = ai(v)
490+ let aZ = av(O)
491+ let bm = if ((0 >= (bl - aZ)))
492+ then bl
493+ else aZ
494+ let bh = (bl - bm)
495+ if ((0 > bh))
485496 then throw("Not enough funds to withdraw")
486497 else {
487- let aY = N(u)
488- let bh = Z(S)
489-[BooleanEntry(bh, true), IntegerEntry(aY, bb), ScriptTransfer(aA.caller, bg, unit)]
498+ let be = K(v)
499+ let bn = V(O)
500+[BooleanEntry(bn, true), IntegerEntry(be, bh), ScriptTransfer(aG.caller, bm, unit)]
490501 }
491502 }
492503 }
493504 }
494505 }
495506
496507
497508
498-@Callable(aA)
499-func voteCommit (y,bk) = {
500- let G = toBase58String(aA.caller.bytes)
501- let bl = av(y)
502- let aR = ax(y)
503- let bm = ((aR + " , ") + toString(bl))
504- if ((bl >= b))
505- then throw("Reached max number of voters")
506- else if ((au(y, G) != a))
507- then throw("You voted already")
508- else if ((x(y) == a))
509- then throw("Item does not exists")
510- else if (if ((aR != a))
511- then (aR != f)
512- else false)
513- then throw("Voting is not active for this item now")
509+@Callable(aG)
510+func voteCommit (z,bq) = {
511+ let J = toBase58String(aG.caller.bytes)
512+ let aa = aA(z)
513+ let ac = Z(z, aa)
514+ let aX = aB(ac)
515+ let br = aD(ac)
516+ if ((y(z) == a))
517+ then throw("Item does not exists")
518+ else if (if ((aX != a))
519+ then (aX != f)
520+ else false)
521+ then throw("Voting is not active for this item now")
522+ else if ((aE(ac, J) != a))
523+ then throw("You voted already")
524+ else if ((br >= b))
525+ then throw("Reached max number of voters")
514526 else {
515- let bn = (bl + 1)
516- let bo = if ((bn == b))
527+ let bs = (br + 1)
528+ let bt = if ((bs == b))
517529 then g
518530 else f
519-[StringEntry(F(y, G), bk), IntegerEntry(H(y), bn), StringEntry(J(y), bo), DeleteEntry(I(y, G))]
531+[StringEntry(ag(ac, J), bq), IntegerEntry(ab(ac), bs), StringEntry(ad(ac), bt)]
520532 }
521533 }
522534
523535
524536
525-@Callable(aA)
526-func voteReveal (y,M,bp) = {
527- let G = toBase58String(aA.caller.bytes)
528- let aR = ax(y)
529- let bq = (az(y, M) + 1)
530- let br = toBase58String(sha256(toBytes(((y + M) + bp))))
531- if ((br != au(y, G)))
537+@Callable(aG)
538+func voteReveal (z,af,bu) = {
539+ let J = toBase58String(aG.caller.bytes)
540+ let aa = aA(z)
541+ let ac = Z(z, aa)
542+ let aX = aB(ac)
543+ let bv = (aC(ac, af) + 1)
544+ let bw = toBase58String(sha256(toBytes(((z + af) + bu))))
545+ if ((bw != aE(ac, J)))
532546 then throw("Reveal data is not valid")
533- else if ((b > av(y)))
547+ else if ((b > aD(ac)))
534548 then throw("Max number of voters not reached")
535- else if ((aw(y, G) != a))
549+ else if ((aF(ac, J) != a))
536550 then throw("You voted already")
537- else if (if ((aR != f))
538- then (aR != g)
551+ else if (if ((aX != f))
552+ then (aX != g)
539553 else false)
540554 then throw("Voting is not active for this item now")
541- else if (if ((M != d))
542- then (M != e)
555+ else if (if ((af != d))
556+ then (af != e)
543557 else false)
544558 then throw("Provided voting option is incorrect")
545- else if ((bq >= c))
559+ else if ((bv >= c))
546560 then {
547- let bs = if ((M == d))
561+ let bx = if ((af == d))
548562 then true
549563 else false
550-[StringEntry(I(y, G), M), IntegerEntry(L(y, M), bq), BooleanEntry(K(y), bs), DeleteEntry(J(y)), DeleteEntry(F(y, G)), DeleteEntry(H(y)), DeleteEntry(L(y, M))]
564+[StringEntry(ah(ac, J), af), IntegerEntry(ae(ac, af), bv), IntegerEntry(H(z), (aa + 1)), StringEntry(ad(ac), af), BooleanEntry(G(z), bx)]
551565 }
552- else [StringEntry(I(y, G), M), IntegerEntry(L(y, M), bq), StringEntry(J(y), g), DeleteEntry(F(y, G))]
566+ else [StringEntry(ah(ac, J), af), IntegerEntry(ae(ac, af), bv), StringEntry(ad(ac), g)]
553567 }
554568
555569
556-@Verifier(bt)
557-func bu () = {
558- let m = bt
559- if ($isInstanceOf(m, "SetScriptTransaction"))
570+@Verifier(by)
571+func bz () = {
572+ let n = by
573+ if ($isInstanceOf(n, "SetScriptTransaction"))
560574 then {
561- let bv = m
562- sigVerify(bt.bodyBytes, bt.proofs[0], bt.senderPublicKey)
575+ let bA = n
576+ sigVerify(by.bodyBytes, by.proofs[0], by.senderPublicKey)
563577 }
564- else if ($isInstanceOf(m, "IssueTransaction"))
578+ else if ($isInstanceOf(n, "IssueTransaction"))
565579 then {
566- let bv = m
567- sigVerify(bt.bodyBytes, bt.proofs[0], bt.senderPublicKey)
580+ let bA = n
581+ sigVerify(by.bodyBytes, by.proofs[0], by.senderPublicKey)
568582 }
569- else if ($isInstanceOf(m, "TransferTransaction"))
583+ else if ($isInstanceOf(n, "TransferTransaction"))
570584 then {
571- let bv = m
572- sigVerify(bt.bodyBytes, bt.proofs[0], bt.senderPublicKey)
585+ let bA = n
586+ sigVerify(by.bodyBytes, by.proofs[0], by.senderPublicKey)
573587 }
574- else false
588+ else if ($isInstanceOf(n, "DataTransaction"))
589+ then {
590+ let bA = n
591+ sigVerify(by.bodyBytes, by.proofs[0], by.senderPublicKey)
592+ }
593+ else false
575594 }
576595

github/deemru/w8io/873ac7e 
252.13 ms