tx · 8Dtj1c2HfzuwuQsZfj258WNz7z6av1UX4mwWGgY9jfXL

3NBB3iv7YDRsD8ZM2Pw2V5eTcsfqh3j2mvF:  -0.01400000 Waves

2019.10.27 13:33 [738419] smart account 3NBB3iv7YDRsD8ZM2Pw2V5eTcsfqh3j2mvF > SELF 0.00000000 Waves

{ "type": 13, "id": "8Dtj1c2HfzuwuQsZfj258WNz7z6av1UX4mwWGgY9jfXL", "fee": 1400000, "feeAssetId": null, "timestamp": 1572172477182, "version": 1, "sender": "3NBB3iv7YDRsD8ZM2Pw2V5eTcsfqh3j2mvF", "senderPublicKey": "9i5FpMUFCwhogG5euZDBZKV6NehQN4xX83qvNr8NWipE", "proofs": [ "31pcNJd9yYGMxGdZqEW5im33CcPiM8GS2JLRrpjeYdqNxEt5434YSZK9r62GXDKHSg4kM9ZkaH2ShF6987NFpZWX" ], "script": "base64:AAIDAAAAAAAAAG8IARIECgIICBIFCgMICAgSBAoCCAgSBAoCCAgSBAoCCAgSBAoCCAgSAwoBCBIICgYIAQEBCAgSBAoCCAgSBAoCCAgSAwoBCBIGCgQIAQgIEgMKAQgSBAoCCAgSBgoECAgICBIGCgQICAgIEgMKAQgAAABtAAAAAAROT05FAgAAAARub25lAQAAAA5nZXROdW1iZXJCeUtleQAAAAEAAAADa2V5BAAAAANudW0EAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAFAAAAA251bQEAAAALZ2V0U3RyQnlLZXkAAAABAAAAA2tleQQAAAADc3RyBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhBQAAAAROT05FBQAAAANzdHIBAAAAE2NvbnRhaW5zSW5Kc29uQXJyYXkAAAACAAAABGl0ZW0AAAAFYXJyYXkEAAAAByRtYXRjaDAJAASzAAAAAgUAAAAFYXJyYXkFAAAABGl0ZW0DCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAYDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQEAAAAAWIFAAAAByRtYXRjaDAHCQEAAAAFdGhyb3cAAAAAAQAAAA5hZGRUb0pzb25BcnJheQAAAAIAAAAEaXRlbQAAAAVhcnJheQQAAAAUYXJyYXlXaXRob3V0QnJhY2tldHMJAQAAAAlkcm9wUmlnaHQAAAACCQABMAAAAAIFAAAABWFycmF5AAAAAAAAAAABAAAAAAAAAAABAwkAAAAAAAACBQAAABRhcnJheVdpdGhvdXRCcmFja2V0cwIAAAAACQABLAAAAAIJAAEsAAAAAgIAAAABWwUAAAAEaXRlbQIAAAABXQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAFbBQAAABRhcnJheVdpdGhvdXRCcmFja2V0cwIAAAABLAUAAAAEaXRlbQIAAAABXQEAAAASZ2V0S2V5V2hpdGVsaXN0UmVmAAAAAQAAAAdhY2NvdW50CQABLAAAAAICAAAAB3dsX3JlZl8FAAAAB2FjY291bnQBAAAAFWdldEtleVdoaXRlbGlzdFN0YXR1cwAAAAEAAAAHYWNjb3VudAkAASwAAAACAgAAAAd3bF9zdHNfBQAAAAdhY2NvdW50AQAAAA1nZXRLZXlCYWxhbmNlAAAAAQAAAAdhY2NvdW50CQABLAAAAAICAAAACGJhbGFuY2VfBQAAAAdhY2NvdW50AQAAABJnZXRLZXlXaGl0ZWxpc3RCaW8AAAABAAAAB2FjY291bnQJAAEsAAAAAgIAAAAHd2xfYmlvXwUAAAAHYWNjb3VudAEAAAAUZ2V0S2V5V2hpdGVsaXN0QmxvY2sAAAABAAAAB2FjY291bnQJAAEsAAAAAgIAAAAHd2xfYmxrXwUAAAAHYWNjb3VudAEAAAAQZ2V0S2V5SXRlbUF1dGhvcgAAAAEAAAAEaXRlbQkAASwAAAACAgAAAAdhdXRob3JfBQAAAARpdGVtAQAAAA9nZXRLZXlJdGVtQmxvY2sAAAABAAAABGl0ZW0JAAEsAAAAAgIAAAAGYmxvY2tfBQAAAARpdGVtAQAAABpnZXRLZXlJdGVtVm90aW5nRXhwaXJhdGlvbgAAAAEAAAAEaXRlbQkAASwAAAACAgAAABFleHBpcmF0aW9uX2Jsb2NrXwUAAAAEaXRlbQEAAAAOZ2V0S2V5SXRlbUJhbmsAAAABAAAABGl0ZW0JAAEsAAAAAgIAAAAFYmFua18FAAAABGl0ZW0BAAAAEGdldEtleUl0ZW1TdGF0dXMAAAABAAAABGl0ZW0JAAEsAAAAAgIAAAAHc3RhdHVzXwUAAAAEaXRlbQEAAAAOZ2V0S2V5SXRlbURhdGEAAAABAAAABGl0ZW0JAAEsAAAAAgIAAAAJZGF0YWpzb25fBQAAAARpdGVtAQAAABFnZXRLZXlDb250ZXN0RGF0YQAAAAEAAAAEaXRlbQkAASwAAAACAgAAABFjb250ZXN0X2RhdGFqc29uXwUAAAAEaXRlbQEAAAAZZ2V0S2V5SXRlbUNyb3dkRXhwaXJhdGlvbgAAAAEAAAAEaXRlbQkAASwAAAACAgAAAA9leHBpcmF0aW9uX29uZV8FAAAABGl0ZW0BAAAAGWdldEtleUl0ZW1XaGFsZUV4cGlyYXRpb24AAAABAAAABGl0ZW0JAAEsAAAAAgIAAAAPZXhwaXJhdGlvbl90d29fBQAAAARpdGVtAQAAABJnZXRLZXlJdGVtTkNvbW1pdHMAAAABAAAABGl0ZW0JAAEsAAAAAgIAAAAJbmNvbW1pdHNfBQAAAARpdGVtAQAAABdnZXRLZXlJdGVtQWNjUmVwb3J0RGF0YQAAAAIAAAAEaXRlbQAAAAdhY2NvdW50CQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAdyZXBvcnRfBQAAAARpdGVtAgAAAAFfBQAAAAdhY2NvdW50AQAAABNnZXRLZXlJdGVtQWNjQ29tbWl0AAAAAgAAAARpdGVtAAAAB2FjY291bnQJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAB2NvbW1pdF8FAAAABGl0ZW0CAAAAAV8FAAAAB2FjY291bnQBAAAAE2dldEtleUl0ZW1BY2NSZXZlYWwAAAACAAAABGl0ZW0AAAAHYWNjb3VudAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAHcmV2ZWFsXwUAAAAEaXRlbQIAAAABXwUAAAAHYWNjb3VudAEAAAASZ2V0S2V5SXRlbVZvdGVzWWVzAAAAAQAAAARpdGVtCQABLAAAAAICAAAACGNudF95ZXNfBQAAAARpdGVtAQAAABFnZXRLZXlJdGVtVm90ZXNObwAAAAEAAAAEaXRlbQkAASwAAAACAgAAAAdjbnRfbm9fBQAAAARpdGVtAQAAABJnZXRLZXlJdGVtQWNjRmluYWwAAAACAAAABGl0ZW0AAAAHYWNjb3VudAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAGZmluYWxfBQAAAARpdGVtAgAAAAFfBQAAAAdhY2NvdW50AQAAABZnZXRLZXlJdGVtRnVuZFBvc2l0aXZlAAAAAQAAAARpdGVtCQABLAAAAAICAAAADnBvc2l0aXZlX2Z1bmRfBQAAAARpdGVtAQAAABZnZXRLZXlJdGVtRnVuZE5lZ2F0aXZlAAAAAQAAAARpdGVtCQABLAAAAAICAAAADm5lZ2F0aXZlX2Z1bmRfBQAAAARpdGVtAQAAABlnZXRLZXlJdGVtQWNjRnVuZFBvc2l0aXZlAAAAAgAAAARpdGVtAAAAB2FjY291bnQJAAEsAAAAAgkAASwAAAACCQEAAAAWZ2V0S2V5SXRlbUZ1bmRQb3NpdGl2ZQAAAAEFAAAABGl0ZW0CAAAAAV8FAAAAB2FjY291bnQBAAAAGWdldEtleUl0ZW1BY2NGdW5kTmVnYXRpdmUAAAACAAAABGl0ZW0AAAAHYWNjb3VudAkAASwAAAACCQABLAAAAAIJAQAAABZnZXRLZXlJdGVtRnVuZE5lZ2F0aXZlAAAAAQUAAAAEaXRlbQIAAAABXwUAAAAHYWNjb3VudAEAAAAXZ2V0S2V5SXRlbUFjY1Jldmlld3NDbnQAAAACAAAABGl0ZW0AAAAHYWNjb3VudAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAMcmV2aWV3c19jbnRfBQAAAARpdGVtAgAAAAFfBQAAAAdhY2NvdW50AQAAABNnZXRLZXlJdGVtQWNjUmV2aWV3AAAAAgAAAARpdGVtAAAAB2FjY291bnQJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAB3Jldmlld18FAAAABGl0ZW0CAAAAAV8FAAAAB2FjY291bnQBAAAAEmdldEtleVRyYW5zZmVyTGluawAAAAEAAAAEaGFzaAkAASwAAAACAgAAAA50cmFuc2Zlcl9saW5rXwUAAAAEaGFzaAEAAAAXZ2V0S2V5SXRlbUFjY1Jldmlld1RleHQAAAADAAAABGl0ZW0AAAAHYWNjb3VudAAAAANjbnQJAAEsAAAAAgkAASwAAAACCQEAAAATZ2V0S2V5SXRlbUFjY1JldmlldwAAAAIFAAAABGl0ZW0FAAAAB2FjY291bnQCAAAACV90ZXh0X2lkOgUAAAADY250AQAAABdnZXRLZXlJdGVtQWNjUmV2aWV3TW9kZQAAAAMAAAAEaXRlbQAAAAdhY2NvdW50AAAAA2NudAkAASwAAAACCQABLAAAAAIJAQAAABNnZXRLZXlJdGVtQWNjUmV2aWV3AAAAAgUAAAAEaXRlbQUAAAAHYWNjb3VudAIAAAAJX21vZGVfaWQ6BQAAAANjbnQBAAAAF2dldEtleUl0ZW1BY2NSZXZpZXdUaWVyAAAAAwAAAARpdGVtAAAAB2FjY291bnQAAAADY250CQABLAAAAAIJAAEsAAAAAgkBAAAAE2dldEtleUl0ZW1BY2NSZXZpZXcAAAACBQAAAARpdGVtBQAAAAdhY2NvdW50AgAAAAlfdGllcl9pZDoFAAAAA2NudAEAAAAbZ2V0S2V5SXRlbUFjY1ZvdGVSZXZpZXdUZXh0AAAAAgAAAARpdGVtAAAAB2FjY291bnQJAAEsAAAAAgkBAAAAE2dldEtleUl0ZW1BY2NSZXZpZXcAAAACBQAAAARpdGVtBQAAAAdhY2NvdW50AgAAAAtfdm90ZXJldmlldwEAAAAcZ2V0S2V5SXRlbUFjY1doYWxlUmV2aWV3VGV4dAAAAAIAAAAEaXRlbQAAAAdhY2NvdW50CQABLAAAAAIJAQAAABNnZXRLZXlJdGVtQWNjUmV2aWV3AAAAAgUAAAAEaXRlbQUAAAAHYWNjb3VudAIAAAAMX3doYWxlcmV2aWV3AQAAABZnZXRLZXlJdGVtQnV5b3V0QW1vdW50AAAAAQAAAARpdGVtCQABLAAAAAICAAAADmJ1eW91dF9hbW91bnRfBQAAAARpdGVtAQAAABVnZXRLZXlJdGVtQWNjV2lubmluZ3MAAAACAAAABGl0ZW0AAAAHYWNjb3VudAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAJd2lubmluZ3NfBQAAAARpdGVtAgAAAAFfBQAAAAdhY2NvdW50AQAAAApnZXRLZXlQYWdlAAAAAQAAAAJpZAkAASwAAAACAgAAAARwYWdlBQAAAAJpZAEAAAAPZ2V0S2V5UGFnZU93bmVyAAAAAQAAAAJpZAkAASwAAAACCQEAAAAKZ2V0S2V5UGFnZQAAAAEFAAAAAmlkAgAAAAZfb3duZXIBAAAAEGdldEtleVBhZ2VBZG1pbnMAAAABAAAAAmlkCQABLAAAAAIJAQAAAApnZXRLZXlQYWdlAAAAAQUAAAACaWQCAAAAB19hZG1pbnMBAAAAEWdldEtleVBhZ2VNZW1iZXJzAAAAAQAAAAJpZAkAASwAAAACCQEAAAAKZ2V0S2V5UGFnZQAAAAEFAAAAAmlkAgAAAAhfbWVtYmVycwEAAAAPZ2V0S2V5UGFnZUl0ZW1zAAAAAQAAAAJpZAkAASwAAAACCQEAAAAKZ2V0S2V5UGFnZQAAAAEFAAAAAmlkAgAAAAZfaXRlbXMBAAAAFWdldEtleUZyZWVJbnZpdGVDb3VudAAAAAACAAAAEWZyZWVfaW52aXRlX2NvdW50AQAAABVnZXRLZXlGcmVlSW52aXRlQmxvY2sAAAAAAgAAABFmcmVlX2ludml0ZV9ibG9jawEAAAAUZ2V0VmFsdWVXaGl0ZWxpc3RSZWYAAAABAAAAB2FjY291bnQJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABJnZXRLZXlXaGl0ZWxpc3RSZWYAAAABBQAAAAdhY2NvdW50AQAAABdnZXRWYWx1ZVdoaXRlbGlzdFN0YXR1cwAAAAEAAAAHYWNjb3VudAkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAFWdldEtleVdoaXRlbGlzdFN0YXR1cwAAAAEFAAAAB2FjY291bnQBAAAAD2dldFZhbHVlQmFsYW5jZQAAAAEAAAAHYWNjb3VudAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAADWdldEtleUJhbGFuY2UAAAABBQAAAAdhY2NvdW50AQAAABRnZXRWYWx1ZVdoaXRlbGlzdEJpbwAAAAEAAAAHYWNjb3VudAkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEmdldEtleVdoaXRlbGlzdEJpbwAAAAEFAAAAB2FjY291bnQBAAAAFmdldFZhbHVlV2hpdGVsaXN0QmxvY2sAAAABAAAAB2FjY291bnQJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABRnZXRLZXlXaGl0ZWxpc3RCbG9jawAAAAEFAAAAB2FjY291bnQBAAAAEmdldFZhbHVlSXRlbUF1dGhvcgAAAAEAAAAEaXRlbQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEGdldEtleUl0ZW1BdXRob3IAAAABBQAAAARpdGVtAQAAABFnZXRWYWx1ZUl0ZW1CbG9jawAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAD2dldEtleUl0ZW1CbG9jawAAAAEFAAAABGl0ZW0BAAAAHGdldFZhbHVlSXRlbVZvdGluZ0V4cGlyYXRpb24AAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABpnZXRLZXlJdGVtVm90aW5nRXhwaXJhdGlvbgAAAAEFAAAABGl0ZW0BAAAAEGdldFZhbHVlSXRlbUJhbmsAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAA5nZXRLZXlJdGVtQmFuawAAAAEFAAAABGl0ZW0BAAAAEmdldFZhbHVlSXRlbVN0YXR1cwAAAAEAAAAEaXRlbQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEGdldEtleUl0ZW1TdGF0dXMAAAABBQAAAARpdGVtAQAAABBnZXRWYWx1ZUl0ZW1EYXRhAAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAOZ2V0S2V5SXRlbURhdGEAAAABBQAAAARpdGVtAQAAABtnZXRWYWx1ZUl0ZW1Dcm93ZEV4cGlyYXRpb24AAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABlnZXRLZXlJdGVtQ3Jvd2RFeHBpcmF0aW9uAAAAAQUAAAAEaXRlbQEAAAAbZ2V0VmFsdWVJdGVtV2hhbGVFeHBpcmF0aW9uAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAZZ2V0S2V5SXRlbVdoYWxlRXhwaXJhdGlvbgAAAAEFAAAABGl0ZW0BAAAAFGdldFZhbHVlSXRlbU5Db21taXRzAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAASZ2V0S2V5SXRlbU5Db21taXRzAAAAAQUAAAAEaXRlbQEAAAAVZ2V0VmFsdWVJdGVtQWNjQ29tbWl0AAAAAgAAAARpdGVtAAAAB2FjY291bnQJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABNnZXRLZXlJdGVtQWNjQ29tbWl0AAAAAgUAAAAEaXRlbQUAAAAHYWNjb3VudAEAAAAVZ2V0VmFsdWVJdGVtQWNjUmV2ZWFsAAAAAgAAAARpdGVtAAAAB2FjY291bnQJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABNnZXRLZXlJdGVtQWNjUmV2ZWFsAAAAAgUAAAAEaXRlbQUAAAAHYWNjb3VudAEAAAAUZ2V0VmFsdWVJdGVtVm90ZXNZZXMAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABJnZXRLZXlJdGVtVm90ZXNZZXMAAAABBQAAAARpdGVtAQAAABNnZXRWYWx1ZUl0ZW1Wb3Rlc05vAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAARZ2V0S2V5SXRlbVZvdGVzTm8AAAABBQAAAARpdGVtAQAAABRnZXRWYWx1ZUl0ZW1BY2NGaW5hbAAAAAIAAAAEaXRlbQAAAAdhY2NvdW50CQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAASZ2V0S2V5SXRlbUFjY0ZpbmFsAAAAAgUAAAAEaXRlbQUAAAAHYWNjb3VudAEAAAAYZ2V0VmFsdWVJdGVtRnVuZFBvc2l0aXZlAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAWZ2V0S2V5SXRlbUZ1bmRQb3NpdGl2ZQAAAAEFAAAABGl0ZW0BAAAAGGdldFZhbHVlSXRlbUZ1bmROZWdhdGl2ZQAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFmdldEtleUl0ZW1GdW5kTmVnYXRpdmUAAAABBQAAAARpdGVtAQAAABtnZXRWYWx1ZUl0ZW1BY2NGdW5kUG9zaXRpdmUAAAACAAAABGl0ZW0AAAAHYWNjb3VudAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAGWdldEtleUl0ZW1BY2NGdW5kUG9zaXRpdmUAAAACBQAAAARpdGVtBQAAAAdhY2NvdW50AQAAABtnZXRWYWx1ZUl0ZW1BY2NGdW5kTmVnYXRpdmUAAAACAAAABGl0ZW0AAAAHYWNjb3VudAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAGWdldEtleUl0ZW1BY2NGdW5kTmVnYXRpdmUAAAACBQAAAARpdGVtBQAAAAdhY2NvdW50AQAAABlnZXRWYWx1ZUl0ZW1BY2NSZXZpZXdzQ250AAAAAgAAAARpdGVtAAAAB2FjY291bnQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABdnZXRLZXlJdGVtQWNjUmV2aWV3c0NudAAAAAIFAAAABGl0ZW0FAAAAB2FjY291bnQBAAAAGWdldFZhbHVlSXRlbUFjY1Jldmlld1RleHQAAAADAAAABGl0ZW0AAAAHYWNjb3VudAAAAANjbnQJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABdnZXRLZXlJdGVtQWNjUmV2aWV3VGV4dAAAAAMFAAAABGl0ZW0FAAAAB2FjY291bnQFAAAAA2NudAEAAAAZZ2V0VmFsdWVJdGVtQWNjUmV2aWV3TW9kZQAAAAMAAAAEaXRlbQAAAAdhY2NvdW50AAAAA2NudAkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAF2dldEtleUl0ZW1BY2NSZXZpZXdNb2RlAAAAAwUAAAAEaXRlbQUAAAAHYWNjb3VudAUAAAADY250AQAAABlnZXRWYWx1ZUl0ZW1BY2NSZXZpZXdUaWVyAAAAAwAAAARpdGVtAAAAB2FjY291bnQAAAADY250CQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAXZ2V0S2V5SXRlbUFjY1Jldmlld1RpZXIAAAADBQAAAARpdGVtBQAAAAdhY2NvdW50BQAAAANjbnQBAAAAGGdldFZhbHVlSXRlbUJ1eW91dEFtb3VudAAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFmdldEtleUl0ZW1CdXlvdXRBbW91bnQAAAABBQAAAARpdGVtAQAAABdnZXRWYWx1ZUl0ZW1BY2NXaW5uaW5ncwAAAAIAAAAEaXRlbQAAAAdhY2NvdW50CQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAVZ2V0S2V5SXRlbUFjY1dpbm5pbmdzAAAAAgUAAAAEaXRlbQUAAAAHYWNjb3VudAEAAAAMZ2V0VmFsdWVQYWdlAAAAAQAAAAJpZAkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAACmdldEtleVBhZ2UAAAABBQAAAAJpZAEAAAARZ2V0VmFsdWVQYWdlT3duZXIAAAABAAAAAmlkCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAPZ2V0S2V5UGFnZU93bmVyAAAAAQUAAAACaWQBAAAAEmdldFZhbHVlUGFnZUFkbWlucwAAAAEAAAACaWQJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABBnZXRLZXlQYWdlQWRtaW5zAAAAAQUAAAACaWQBAAAAE2dldFZhbHVlUGFnZU1lbWJlcnMAAAABAAAAAmlkCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEA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YmUgd2hpdGVsaXN0ZWQuIHN0YXR1czogBQAAAApjdXJyc3RhdHVzCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEmdldEtleVdoaXRlbGlzdFJlZgAAAAEFAAAACm5ld2FjY291bnQFAAAAB2FjY291bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABJnZXRLZXlXaGl0ZWxpc3RCaW8AAAABBQAAAApuZXdhY2NvdW50BQAAAARkYXRhCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAVZ2V0S2V5V2hpdGVsaXN0U3RhdHVzAAAAAQUAAAAKbmV3YWNjb3VudAUAAAAHSU5WSVRFRAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAFWdldEtleUZyZWVJbnZpdGVCbG9jawAAAAADCQAAZgAAAAIFAAAABmhlaWdodAUAAAAPZnJlZUludml0ZUJsb2NrCQAAZAAAAAIFAAAABmhlaWdodAUAAAALQkxPQ0tTSU5EQVkFAAAAD2ZyZWVJbnZpdGVCbG9jawkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAFWdldEtleUZyZWVJbnZpdGVDb3VudAAAAAADCQAAZgAAAAIFAAAABmhlaWdodAUAAAAPZnJlZUludml0ZUJsb2NrBQAAAA1NQVhGUkVFSU5WSVRFCQAAZQAAAAIFAAAAD2ZyZWVJbnZpdGVDb3VudAAAAAAAAAAAAQUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQUAAAAHYWNjb3VudAMDCQAAAAAAAAIJAQAAAAx3YXZlc0JhbGFuY2UAAAABCQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAEFAAAAB2FjY291bnQAAAAAAAAAAAADCQAAZgAAAAIFAAAAD2ZyZWVJbnZpdGVDb3VudAAAAAAAAAAAAAYJAABmAAAAAgUAAAAGaGVpZ2h0BQAAAA9mcmVl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", "chainId": 84, "height": 738419, "spentComplexity": 0 } View: original | compacted Prev: HNg8hxQRWc1sgUEyEwNmKNPmkJvRe5sPhQ9zQh6yaWzw Next: none Diff:
OldNewDifferences
3131 }
3232
3333
34-func i (j) = ("wl_ref_" + j)
34+func i (j,k) = {
35+ let e = indexOf(k, j)
36+ if ($isInstanceOf(e, "Int"))
37+ then {
38+ let f = e
39+ true
40+ }
41+ else if ($isInstanceOf(e, "Unit"))
42+ then {
43+ let l = e
44+ false
45+ }
46+ else throw()
47+ }
3548
3649
37-func k (j) = ("wl_sts_" + j)
50+func m (j,k) = {
51+ let n = dropRight(drop(k, 1), 1)
52+ if ((n == ""))
53+ then (("[" + j) + "]")
54+ else (((("[" + n) + ",") + j) + "]")
55+ }
3856
3957
40-func l (j) = ("balance_" + j)
58+func o (p) = ("wl_ref_" + p)
4159
4260
43-func m (j) = ("wl_bio_" + j)
61+func q (p) = ("wl_sts_" + p)
4462
4563
46-func n (j) = ("wl_blk_" + j)
64+func r (p) = ("balance_" + p)
4765
4866
49-func o (p) = ("author_" + p)
67+func s (p) = ("wl_bio_" + p)
5068
5169
52-func q (p) = ("block_" + p)
70+func t (p) = ("wl_blk_" + p)
5371
5472
55-func r (p) = ("expiration_block_" + p)
73+func u (j) = ("author_" + j)
5674
5775
58-func s (p) = ("bank_" + p)
76+func v (j) = ("block_" + j)
5977
6078
61-func t (p) = ("status_" + p)
79+func w (j) = ("expiration_block_" + j)
6280
6381
64-func u (p) = ("datajson_" + p)
82+func x (j) = ("bank_" + j)
6583
6684
67-func v (p) = ("contest_datajson_" + p)
85+func y (j) = ("status_" + j)
6886
6987
70-func w (p) = ("expiration_one_" + p)
88+func z (j) = ("datajson_" + j)
7189
7290
73-func x (p) = ("expiration_two_" + p)
91+func A (j) = ("contest_datajson_" + j)
7492
7593
76-func y (p) = ("ncommits_" + p)
94+func B (j) = ("expiration_one_" + j)
7795
7896
79-func z (p,j) = ((("report_" + p) + "_") + j)
97+func C (j) = ("expiration_two_" + j)
8098
8199
82-func A (p,j) = ((("commit_" + p) + "_") + j)
100+func D (j) = ("ncommits_" + j)
83101
84102
85-func B (p,j) = ((("reveal_" + p) + "_") + j)
103+func E (j,p) = ((("report_" + j) + "_") + p)
86104
87105
88-func C (p) = ("cnt_yes_" + p)
106+func F (j,p) = ((("commit_" + j) + "_") + p)
89107
90108
91-func D (p) = ("cnt_no_" + p)
109+func G (j,p) = ((("reveal_" + j) + "_") + p)
92110
93111
94-func E (p,j) = ((("final_" + p) + "_") + j)
112+func H (j) = ("cnt_yes_" + j)
95113
96114
97-func F (p) = ("positive_fund_" + p)
115+func I (j) = ("cnt_no_" + j)
98116
99117
100-func G (p) = ("negative_fund_" + p)
118+func J (j,p) = ((("final_" + j) + "_") + p)
101119
102120
103-func H (p,j) = ((F(p) + "_") + j)
121+func K (j) = ("positive_fund_" + j)
104122
105123
106-func I (p,j) = ((G(p) + "_") + j)
124+func L (j) = ("negative_fund_" + j)
107125
108126
109-func J (p,j) = ((("reviews_cnt_" + p) + "_") + j)
127+func M (j,p) = ((K(j) + "_") + p)
110128
111129
112-func K (p,j) = ((("review_" + p) + "_") + j)
130+func N (j,p) = ((L(j) + "_") + p)
113131
114132
115-func L (M) = ("transfer_link_" + M)
133+func O (j,p) = ((("reviews_cnt_" + j) + "_") + p)
116134
117135
118-func N (p,j,O) = ((K(p, j) + "_text_id:") + O)
136+func P (j,p) = ((("review_" + j) + "_") + p)
119137
120138
121-func P (p,j,O) = ((K(p, j) + "_mode_id:") + O)
139+func Q (R) = ("transfer_link_" + R)
122140
123141
124-func Q (p,j,O) = ((K(p, j) + "_tier_id:") + O)
142+func S (j,p,T) = ((P(j, p) + "_text_id:") + T)
125143
126144
127-func R (p,j) = (K(p, j) + "_votereview")
145+func U (j,p,T) = ((P(j, p) + "_mode_id:") + T)
128146
129147
130-func S (p,j) = (K(p, j) + "_whalereview")
148+func V (j,p,T) = ((P(j, p) + "_tier_id:") + T)
131149
132150
133-func T (p) = ("buyout_amount_" + p)
151+func W (j,p) = (P(j, p) + "_votereview")
134152
135153
136-func U (p,j) = ((("winnings_" + p) + "_") + j)
154+func X (j,p) = (P(j, p) + "_whalereview")
137155
138156
139-func V () = "free_invite_count"
157+func Y (j) = ("buyout_amount_" + j)
140158
141159
142-func W () = "free_invite_block"
160+func Z (j,p) = ((("winnings_" + j) + "_") + p)
143161
144162
145-func X (j) = g(i(j))
163+func aa (ab) = ("page" + ab)
146164
147165
148-func Y (j) = g(k(j))
166+func ac (ab) = (aa(ab) + "_owner")
149167
150168
151-func Z (j) = b(l(j))
169+func ad (ab) = (aa(ab) + "_admins")
152170
153171
154-func aa (j) = g(m(j))
172+func ae (ab) = (aa(ab) + "_members")
155173
156174
157-func ab (j) = g(n(j))
175+func af (ab) = (aa(ab) + "_items")
158176
159177
160-func ac (p) = g(o(p))
178+func ag () = "free_invite_count"
161179
162180
163-func ad (p) = b(q(p))
181+func ah () = "free_invite_block"
164182
165183
166-func ae (p) = b(r(p))
184+func ai (p) = g(o(p))
167185
168186
169-func af (p) = b(s(p))
187+func aj (p) = g(q(p))
170188
171189
172-func ag (p) = g(t(p))
190+func ak (p) = b(r(p))
173191
174192
175-func ah (p) = g(u(p))
193+func al (p) = g(s(p))
176194
177195
178-func ai (p) = b(w(p))
196+func am (p) = g(t(p))
179197
180198
181-func aj (p) = b(x(p))
199+func an (j) = g(u(j))
182200
183201
184-func ak (p) = b(y(p))
202+func ao (j) = b(v(j))
185203
186204
187-func al (p,j) = g(A(p, j))
205+func ap (j) = b(w(j))
188206
189207
190-func am (p,j) = g(B(p, j))
208+func aq (j) = b(x(j))
191209
192210
193-func an (p) = b(C(p))
211+func ar (j) = g(y(j))
194212
195213
196-func ao (p) = b(D(p))
214+func as (j) = g(z(j))
197215
198216
199-func ap (p,j) = g(E(p, j))
217+func at (j) = b(B(j))
200218
201219
202-func aq (p) = b(F(p))
220+func au (j) = b(C(j))
203221
204222
205-func ar (p) = b(G(p))
223+func av (j) = b(D(j))
206224
207225
208-func as (p,j) = b(H(p, j))
226+func aw (j,p) = g(F(j, p))
209227
210228
211-func at (p,j) = b(I(p, j))
229+func ax (j,p) = g(G(j, p))
212230
213231
214-func au (p,j) = b(J(p, j))
232+func ay (j) = b(H(j))
215233
216234
217-func av (p,j,O) = g(N(p, j, O))
235+func az (j) = b(I(j))
218236
219237
220-func aw (p,j,O) = g(P(p, j, O))
238+func aA (j,p) = g(J(j, p))
221239
222240
223-func ax (p,j,O) = b(Q(p, j, O))
241+func aB (j) = b(K(j))
224242
225243
226-func ay (p) = b(T(p))
244+func aC (j) = b(L(j))
227245
228246
229-func az (p,j) = b(U(p, j))
247+func aD (j,p) = b(M(j, p))
230248
231249
232-let aA = "registered"
250+func aE (j,p) = b(N(j, p))
233251
234-let aB = "invited"
235252
236-let aC = "whale"
253+func aF (j,p) = b(O(j, p))
237254
238-let aD = "spend_invite"
239255
240-let aE = "voting_commit"
256+func aG (j,p,T) = g(S(j, p, T))
241257
242-let aF = "voting_reveal"
243258
244-let aG = "featured"
259+func aH (j,p,T) = g(U(j, p, T))
245260
246-let aH = "delisted"
247261
248-let aI = "cashout"
262+func aI (j,p,T) = b(V(j, p, T))
249263
250-let aJ = "buyout"
251264
252-let aK = "finished"
265+func aJ (j) = b(Y(j))
253266
254-let aL = "claimed"
255267
256-let aM = "positive"
268+func aK (j,p) = b(Z(j, p))
257269
258-let aN = "negative"
259270
260-let aO = "3P8Fvy1yDwNHvVrabe4ek5b9dAwxFjDKV7R"
271+func aL (ab) = g(aa(ab))
261272
262-let aP = "3P9NDxt9Y6ePfM9hkQysgSvbHJvihr56Z18"
263273
264-let aQ = "3P3MUCvJjviJaxMUe743LVez3qThbL7U8uP"
274+func aM (ab) = g(ac(ab))
265275
266-let aR = 3
267276
268-let aS = 2
277+func aN (ab) = g(ad(ab))
269278
270-let aT = [(3 * 100000000), (10 * 100000000), (100 * 100000000), (300 * 100000000), (1000 * 100000000)]
271279
272-let aU = (1 * 100000000)
280+func aO (ab) = g(ae(ab))
273281
274-let aV = (1 * 100000000)
275282
276-let aW = 1440
283+func aP (ab) = g(af(ab))
277284
278-let aX = 150
279285
280-let aY = 100
286+let aQ = "registered"
281287
282-let aZ = 500000
288+let aR = "invited"
283289
284-let ba = b(V())
290+let aS = "whale"
285291
286-let bb = b(W())
292+let aT = "spend_invite"
287293
288-@Callable(bc)
289-func inviteuser (bd,be) = {
290- let j = toBase58String(bc.caller.bytes)
291- let bf = Y(bd)
292- let bg = Y(j)
293- if (if ((bf == aA))
294+let aU = "voting_commit"
295+
296+let aV = "voting_reveal"
297+
298+let aW = "featured"
299+
300+let aX = "delisted"
301+
302+let aY = "cashout"
303+
304+let aZ = "buyout"
305+
306+let ba = "finished"
307+
308+let bb = "claimed"
309+
310+let bc = "positive"
311+
312+let bd = "negative"
313+
314+let be = "3P8Fvy1yDwNHvVrabe4ek5b9dAwxFjDKV7R"
315+
316+let bf = "3P9NDxt9Y6ePfM9hkQysgSvbHJvihr56Z18"
317+
318+let bg = "3P3MUCvJjviJaxMUe743LVez3qThbL7U8uP"
319+
320+let bh = 3
321+
322+let bi = 2
323+
324+let bj = [(3 * 100000000), (10 * 100000000), (100 * 100000000), (300 * 100000000), (1000 * 100000000)]
325+
326+let bk = (1 * 100000000)
327+
328+let bl = 1440
329+
330+let bm = 150
331+
332+let bn = 1000
333+
334+let bo = 900000
335+
336+let bp = 1000000
337+
338+let bq = b(ag())
339+
340+let br = b(ah())
341+
342+@Callable(bs)
343+func inviteuser (bt,bu) = {
344+ let p = toBase58String(bs.caller.bytes)
345+ let bv = aj(bt)
346+ let bw = aj(p)
347+ if (if ((bv == aQ))
294348 then true
295- else (bf == aC))
349+ else (bv == aS))
296350 then throw("User has already been registered")
297- else if (if (if ((bg != aA))
298- then (j != aO)
299- else false)
300- then (bg != aC)
301- else false)
302- then throw(("Your account should be whitelisted. status: " + bg))
303- else WriteSet([DataEntry(i(bd), j), DataEntry(m(bd), be), DataEntry(k(bd), aB)])
351+ else if (isDefined(bs.feeAssetId))
352+ then throw("invalid asset")
353+ else if ((bs.fee > bo))
354+ then throw("fee more max")
355+ else if (if (if ((bw != aQ))
356+ then (p != be)
357+ else false)
358+ then (bw != aS)
359+ else false)
360+ then throw(("Your account should be whitelisted. status: " + bw))
361+ else ScriptResult(WriteSet([DataEntry(o(bt), p), DataEntry(s(bt), bu), DataEntry(q(bt), aR), DataEntry(ah(), if ((height > br))
362+ then (height + bl)
363+ else br), DataEntry(ag(), if ((height > br))
364+ then bn
365+ else (bq - 1))]), TransferSet([ScriptTransfer(addressFromStringValue(p), if (if ((wavesBalance(addressFromStringValue(p)) == 0))
366+ then if ((bq > 0))
367+ then true
368+ else (height > br)
369+ else false)
370+ then bs.fee
371+ else 0, unit)]))
304372 }
305373
306374
307375
308-@Callable(bc)
309-func signupbylink (M,be,bh) = {
310- let j = toBase58String(bc.caller.bytes)
311- let bi = Y(M)
312- if ((bi != aB))
313- then throw(((((("Referral invite needed. Current status: " + bi) + ", key:") + k(M)) + ", account:") + M))
314- else ScriptResult(WriteSet([DataEntry(m(j), be), DataEntry(n(j), height), DataEntry(k(j), if ((bh == aC))
315- then aC
316- else aA), DataEntry(k(M), aD), DataEntry(i(j), X(M)), DataEntry(W(), if ((height > bb))
317- then (height + aW)
318- else bb), DataEntry(V(), if ((height > bb))
319- then aY
320- else (ba - 1))]), TransferSet([ScriptTransfer(addressFromStringValue(j), if (if ((wavesBalance(addressFromStringValue(j)) == 0))
321- then (ba > 0)
322- else false)
323- then aZ
324- else 0, unit)]))
376+@Callable(bs)
377+func signupbylink (R,bu,bx) = {
378+ let p = toBase58String(bs.caller.bytes)
379+ let by = aj(R)
380+ if ((by != aR))
381+ then throw(((((("Referral invite needed. Current status: " + by) + ", key:") + q(R)) + ", account:") + R))
382+ else if (isDefined(bs.feeAssetId))
383+ then throw("invalid asset")
384+ else if ((bs.fee > bo))
385+ then throw("fee more max")
386+ else ScriptResult(WriteSet([DataEntry(s(p), bu), DataEntry(t(p), height), DataEntry(q(p), if ((bx == aS))
387+ then aS
388+ else aQ), DataEntry(o(p), ai(R)), DataEntry(ah(), if ((height > br))
389+ then (height + bl)
390+ else br), DataEntry(ag(), if ((height > br))
391+ then bn
392+ else (bq - 1))]), TransferSet([ScriptTransfer(addressFromStringValue(p), if (if ((wavesBalance(addressFromStringValue(p)) == 0))
393+ then if ((bq > 0))
394+ then true
395+ else (height > br)
396+ else false)
397+ then bs.fee
398+ else 0, unit)]))
325399 }
326400
327401
328402
329-@Callable(bc)
330-func signup (be,bh) = {
331- let j = toBase58String(bc.caller.bytes)
332- let bi = Y(j)
333- if ((bi == a))
334- then throw(((((("Referral invite needed. Current status: " + bi) + ", key:") + k(j)) + ", account:") + j))
335- else WriteSet([DataEntry(m(j), be), DataEntry(n(j), height), DataEntry(k(j), if ((bh == aC))
336- then aC
337- else aA)])
403+@Callable(bs)
404+func signup (bu,bx) = {
405+ let p = toBase58String(bs.caller.bytes)
406+ let by = aj(p)
407+ if ((by == a))
408+ then throw(((((("Referral invite needed. Current status: " + by) + ", key:") + q(p)) + ", account:") + p))
409+ else WriteSet([DataEntry(s(p), bu), DataEntry(t(p), height), DataEntry(q(p), if ((bx == aS))
410+ then aS
411+ else aQ)])
338412 }
339413
340414
341415
342-@Callable(bc)
343-func userupdate (be,bh) = {
344- let j = toBase58String(bc.caller.bytes)
345- if ((m(j) == a))
416+@Callable(bs)
417+func userupdate (bu,bx) = {
418+ let p = toBase58String(bs.caller.bytes)
419+ let by = aj(p)
420+ if ((by == a))
346421 then throw("user not signup")
347- else WriteSet([DataEntry(m(j), be), DataEntry(k(j), if ((bh == aC))
348- then aC
349- else aA)])
422+ else if (isDefined(bs.feeAssetId))
423+ then throw("invalid asset")
424+ else if ((bs.fee > bo))
425+ then throw("fee more max")
426+ else ScriptResult(WriteSet([DataEntry(s(p), bu), DataEntry(q(p), if ((bx == aS))
427+ then aS
428+ else aQ), DataEntry(ah(), if ((height > br))
429+ then (height + bl)
430+ else br), DataEntry(ag(), if ((height > br))
431+ then bn
432+ else (bq - 1))]), TransferSet([ScriptTransfer(addressFromStringValue(p), if (if ((wavesBalance(addressFromStringValue(p)) == 0))
433+ then if ((bq > 0))
434+ then true
435+ else (height > br)
436+ else false)
437+ then bs.fee
438+ else 0, unit)]))
350439 }
351440
352441
353442
354-@Callable(bc)
355-func projupdate (p,be) = {
356- let j = toBase58String(bc.caller.bytes)
357- if ((ac(p) != j))
443+@Callable(bs)
444+func projupdate (j,bu) = {
445+ let p = toBase58String(bs.caller.bytes)
446+ if ((an(j) != p))
358447 then throw("You're not author")
359- else WriteSet([DataEntry(u(p), be)])
448+ else if ((bs.fee > bo))
449+ then throw("fee more max")
450+ else ScriptResult(WriteSet([DataEntry(z(j), bu), DataEntry(ah(), if ((height > br))
451+ then (height + bl)
452+ else br), DataEntry(ag(), if ((height > br))
453+ then bn
454+ else (bq - 1))]), TransferSet([ScriptTransfer(addressFromStringValue(p), if (if ((wavesBalance(addressFromStringValue(p)) == 0))
455+ then if ((bq > 0))
456+ then true
457+ else (height > br)
458+ else false)
459+ then bs.fee
460+ else 0, unit)]))
360461 }
361462
362463
363464
364-@Callable(bc)
365-func contestAddOrUpdate (p,be) = {
366- let j = toBase58String(bc.caller.bytes)
367- if ((j != aP))
465+@Callable(bs)
466+func contestAddOrUpdate (j,bu) = {
467+ let p = toBase58String(bs.caller.bytes)
468+ if ((p != bf))
368469 then throw("You're not admin")
369- else WriteSet([DataEntry(v(p), be)])
470+ else WriteSet([DataEntry(A(j), bu)])
370471 }
371472
372473
373474
374-@Callable(bc)
375-func withdraw (bj) = {
376- let bk = Z(bj)
377- if ((0 >= bk))
475+@Callable(bs)
476+func withdraw (bz) = {
477+ let bA = ak(bz)
478+ if ((0 >= bA))
378479 then throw("Not enough balance")
379- else ScriptResult(WriteSet([DataEntry(l(bj), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(bj), bk, unit)]))
480+ else ScriptResult(WriteSet([DataEntry(r(bz), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(bz), bA, unit)]))
380481 }
381482
382483
383484
384-@Callable(bc)
385-func additem (p,bl,bm,bn,be) = {
386- let j = toBase58String(bc.caller.bytes)
387- let bo = extract(bc.payment)
388- if (isDefined(bo.assetId))
485+@Callable(bs)
486+func additem (j,bB,bC,bD,bu,bE) = {
487+ let p = toBase58String(bs.caller.bytes)
488+ let bF = extract(bs.payment)
489+ let bG = if ((bE == ""))
490+ then true
491+ else if (if (i(p, aN(bE)))
492+ then true
493+ else i(p, aO(bE)))
494+ then true
495+ else (aM(bE) == p)
496+ if (isDefined(bF.assetId))
389497 then throw("can use waves only at the moment")
390- else if ((bo.amount != aU))
391- then throw(((("Please pay exact amount for the listing: " + toString(aU)) + ", actual payment is: ") + toString(bo.amount)))
392- else if (!(if (if ((bl > 2))
393- then (bm > bl)
394- else false)
395- then (bn > bm)
396- else false))
397- then throw("Incorrect time parameters")
398- else if ((ac(p) != a))
399- then throw("Item already exist")
400- else WriteSet([DataEntry(o(p), j), DataEntry(q(p), height), DataEntry(r(p), (height + bl)), DataEntry(s(p), aU), DataEntry(t(p), aG), DataEntry(u(p), be), DataEntry(w(p), (height + bm)), DataEntry(x(p), (height + bn))])
498+ else if (!(bG))
499+ then throw("permission denied")
500+ else if ((bs.fee > bo))
501+ then throw("fee more max")
502+ else if (!(if (if ((bB > 2))
503+ then (bC > bB)
504+ else false)
505+ then (bD > bC)
506+ else false))
507+ then throw("Incorrect time parameters")
508+ else if ((an(j) != a))
509+ then throw("Item already exist")
510+ else ScriptResult(WriteSet([DataEntry(u(j), p), DataEntry(v(j), height), DataEntry(w(j), (height + bB)), DataEntry(y(j), aW), DataEntry(z(j), bu), DataEntry(B(j), (height + bC)), DataEntry(C(j), (height + bD)), DataEntry(ah(), if ((height > br))
511+ then (height + bl)
512+ else br), DataEntry(ag(), if ((height > br))
513+ then bn
514+ else (bq - 1)), DataEntry(af(bE), if ((bE == ""))
515+ then ""
516+ else m(j, aP(bE)))]), TransferSet([ScriptTransfer(addressFromStringValue(p), if (if ((wavesBalance(addressFromStringValue(p)) == 0))
517+ then if ((bq > 0))
518+ then true
519+ else (height > br)
520+ else false)
521+ then bs.fee
522+ else 0, unit)]))
401523 }
402524
403525
404526
405-@Callable(bc)
406-func reportProject (p,be) = {
407- let j = toBase58String(bc.caller.bytes)
408- WriteSet([DataEntry(z(p, j), be)])
527+@Callable(bs)
528+func reportProject (j,bu) = {
529+ let p = toBase58String(bs.caller.bytes)
530+ WriteSet([DataEntry(E(j, p), bu)])
409531 }
410532
411533
412534
413-@Callable(bc)
414-func labsdonate (p,bp) = {
415- let j = toBase58String(bc.caller.bytes)
416- let bo = extract(bc.payment)
417- if (isDefined(bo.assetId))
535+@Callable(bs)
536+func labsdonate (j,bH) = {
537+ let p = toBase58String(bs.caller.bytes)
538+ let bF = extract(bs.payment)
539+ if (isDefined(bF.assetId))
418540 then throw("can use waves only at the moment")
419- else if ((j != aQ))
541+ else if ((p != bg))
420542 then throw("labs donation is allowed only for waves labs")
421- else if ((ag(p) != aJ))
543+ else if ((ar(j) != aZ))
422544 then throw("Investement has already done")
423545 else {
424- let O = (au(p, j) + 1)
425- let bq = (aq(p) + bo.amount)
426- WriteSet([DataEntry(J(p, j), O), DataEntry(H(p, j), (as(p, j) + bo.amount)), DataEntry(F(p), bq), DataEntry(N(p, j, toString(O)), bp), DataEntry(P(p, j, toString(O)), aM), DataEntry(Q(p, j, toString(O)), 5), DataEntry(l(ac(p)), (Z(ac(p)) + bo.amount)), DataEntry(t(p), aI)])
546+ let T = (aF(j, p) + 1)
547+ let bI = (aB(j) + bF.amount)
548+ WriteSet([DataEntry(O(j, p), T), DataEntry(M(j, p), (aD(j, p) + bF.amount)), DataEntry(K(j), bI), DataEntry(S(j, p, toString(T)), bH), DataEntry(U(j, p, toString(T)), bc), DataEntry(V(j, p, toString(T)), 5), DataEntry(r(an(j)), (ak(an(j)) + bF.amount)), DataEntry(y(j), aY)])
427549 }
428550 }
429551
430552
431553
432-@Callable(bc)
433-func changeStatus (p) = {
434- let j = toBase58String(bc.caller.bytes)
435- if ((j != aQ))
554+@Callable(bs)
555+func changeStatus (j) = {
556+ let p = toBase58String(bs.caller.bytes)
557+ if ((p != bg))
436558 then throw("labs change is allowed only for waves labs")
437- else WriteSet([DataEntry(t(p), aI)])
559+ else WriteSet([DataEntry(y(j), aY)])
438560 }
439561
440562
441563
442-@Callable(bc)
443-func donate (p,br,bs,bp) = {
444- let j = toBase58String(bc.caller.bytes)
445- let bo = extract(bc.payment)
446- if (isDefined(bo.assetId))
564+@Callable(bs)
565+func donate (j,bJ,bK,bH) = {
566+ let p = toBase58String(bs.caller.bytes)
567+ let bF = extract(bs.payment)
568+ if (isDefined(bF.assetId))
447569 then throw("can use waves only at the moment")
448570 else {
449- let O = (au(p, j) + 1)
450- let bt = (ar(p) + ((if ((bs == aN))
571+ let T = (aF(j, p) + 1)
572+ let bL = (aC(j) + ((if ((bK == bd))
451573 then 1
452- else 0) * bo.amount))
453- let bq = (aq(p) + ((if ((bs == aM))
574+ else 0) * bF.amount))
575+ let bI = (aB(j) + ((if ((bK == bc))
454576 then 1
455- else 0) * bo.amount))
456- if ((ag(p) != aG))
577+ else 0) * bF.amount))
578+ if ((ar(j) != aW))
457579 then throw("The project hasn't accepted by community")
458- else if ((height >= ai(p)))
580+ else if ((height >= at(j)))
459581 then throw("The time for crowdfunding has expired")
460- else if ((bt >= bq))
582+ else if ((bL >= bI))
461583 then throw("Negative fund can't be higher than positive fund")
462- else if (if ((bs != aM))
463- then (bs != aN)
584+ else if (if ((bK != bc))
585+ then (bK != bd)
464586 else false)
465587 then throw("Wrong mode parameter")
466- else if ((ac(p) == j))
588+ else if ((an(j) == p))
467589 then throw("Can't donate own project")
468- else if ((bo.amount != aT[(br - 1)]))
469- then throw(("The payment must be equal to tier amount: " + toString(aT[(br - 1)])))
470- else WriteSet([DataEntry(J(p, j), O), DataEntry(H(p, j), (as(p, j) + ((if ((bs == aM))
590+ else if ((bF.amount != bj[(bJ - 1)]))
591+ then throw(("The payment must be equal to tier amount: " + toString(bj[(bJ - 1)])))
592+ else WriteSet([DataEntry(O(j, p), T), DataEntry(M(j, p), (aD(j, p) + ((if ((bK == bc))
471593 then 1
472- else 0) * bo.amount))), DataEntry(I(p, j), (at(p, j) + ((if ((bs == aN))
594+ else 0) * bF.amount))), DataEntry(N(j, p), (aE(j, p) + ((if ((bK == bd))
473595 then 1
474- else 0) * bo.amount))), DataEntry(F(p), bq), DataEntry(G(p), bt), DataEntry(N(p, j, toString(O)), bp), DataEntry(P(p, j, toString(O)), bs), DataEntry(Q(p, j, toString(O)), br)])
596+ else 0) * bF.amount))), DataEntry(K(j), bI), DataEntry(L(j), bL), DataEntry(S(j, p, toString(T)), bH), DataEntry(U(j, p, toString(T)), bK), DataEntry(V(j, p, toString(T)), bJ)])
475597 }
476598 }
477599
478600
479601
480-@Callable(bc)
481-func whale (p) = {
482- let j = toBase58String(bc.caller.bytes)
483- let bo = extract(bc.payment)
484- if (isDefined(bo.assetId))
602+@Callable(bs)
603+func whale (j) = {
604+ let p = toBase58String(bs.caller.bytes)
605+ let bF = extract(bs.payment)
606+ if (isDefined(bF.assetId))
485607 then throw("can use waves only at the moment")
486- else if ((j != aQ))
608+ else if ((p != bg))
487609 then throw("labs donation is allowed only for waves labs")
488- else if ((ag(p) != aG))
610+ else if ((ar(j) != aW))
489611 then throw("The project hasn't accepted by community")
490- else if ((ai(p) > height))
612+ else if ((at(j) > height))
491613 then throw("The time for crowdfunding has not expired yet")
492- else if ((height > aj(p)))
614+ else if ((height > au(j)))
493615 then throw("The time for grant has expired")
494- else if ((ag(p) == aJ))
616+ else if ((ar(j) == aZ))
495617 then throw("Investement has already done")
496- else if ((bo.amount != ((aq(p) * aX) / 100)))
497- then throw((("Investement must be more than " + toString(aX)) + "% of supportes funds"))
498- else WriteSet([DataEntry(t(p), aJ), DataEntry(l(ac(p)), (Z(ac(p)) + aq(p))), DataEntry(T(p), bo.amount), DataEntry(E(p, ac(p)), aL)])
618+ else if ((bF.amount != ((aB(j) * bm) / 100)))
619+ then throw((("Investement must be more than " + toString(bm)) + "% of supportes funds"))
620+ else WriteSet([DataEntry(y(j), aZ), DataEntry(r(an(j)), (ak(an(j)) + aB(j))), DataEntry(Y(j), bF.amount), DataEntry(J(j, an(j)), bb)])
499621 }
500622
501623
502624
503-@Callable(bc)
504-func claimwinnings (p,j) = {
505- let bi = ag(p)
506- let bu = if ((bi == aJ))
625+@Callable(bs)
626+func claimwinnings (j,p) = {
627+ let by = ar(j)
628+ let bM = if ((by == aZ))
507629 then 1
508630 else 0
509- let bv = if ((bi != aJ))
631+ let bN = if ((by != aZ))
510632 then 1
511633 else 0
512- let bw = (aq(p) - as(p, aQ))
513- let bx = ar(p)
514- let by = (((bu * (as(p, j) * 100)) / (if ((0 >= bw))
634+ let bO = (aB(j) - aD(j, bg))
635+ let bP = aC(j)
636+ let bQ = (((bM * (aD(j, p) * 100)) / (if ((0 >= bO))
515637 then 1
516- else bw)) + ((bv * (at(p, j) * 100)) / (if ((0 >= bx))
638+ else bO)) + ((bN * (aE(j, p) * 100)) / (if ((0 >= bP))
517639 then 1
518- else bx)))
519- let bz = ((bx * aX) / 100)
520- let bA = ((bu * ((by * bx) / 100)) + (bv * ((by * (if ((bw > bz))
521- then bz
522- else bw)) / 100)))
523- let bB = (bu * ((as(p, j) * aX) / 100))
524- let bC = ((bv * (if ((ac(p) == j))
640+ else bP)))
641+ let bR = ((bP * bm) / 100)
642+ let bS = ((bM * ((bQ * bP) / 100)) + (bN * ((bQ * (if ((bO > bR))
643+ then bR
644+ else bO)) / 100)))
645+ let bT = (bM * ((aD(j, p) * bm) / 100))
646+ let bU = ((bN * (if ((an(j) == p))
525647 then 1
526- else 0)) * (if ((bw > bz))
527- then (bw - bz)
648+ else 0)) * (if ((bO > bR))
649+ then (bO - bR)
528650 else 0))
529- if ((toString(bc.caller) != aQ))
651+ if ((toString(bs.caller) != bg))
530652 then throw("caller error")
531- else if ((bi == aH))
653+ else if ((by == aX))
532654 then throw("The project hasn't accepted by community")
533- else if ((j == aQ))
655+ else if ((p == bg))
534656 then throw("account error")
535- else if ((ap(p, j) == aL))
657+ else if ((aA(j, p) == bb))
536658 then throw("Status is claimed")
537- else if (if (if ((bB == 0))
538- then (bA == 0)
659+ else if (if (if ((bT == 0))
660+ then (bS == 0)
539661 else false)
540- then (bC == 0)
662+ then (bU == 0)
541663 else false)
542664 then throw("The share equals zero")
543- else if (if ((bi != aJ))
544- then (aj(p) >= height)
665+ else if (if ((by != aZ))
666+ then (au(j) >= height)
545667 else false)
546668 then throw("The time for grant has not expired yet")
547- else if ((0 >= (bw + bx)))
669+ else if ((0 >= (bO + bP)))
548670 then throw("The campaign wasn't active")
549- else WriteSet([DataEntry(l(j), (((Z(j) + bA) + bB) + bC)), DataEntry(E(p, j), aL)])
671+ else WriteSet([DataEntry(r(p), (((ak(p) + bS) + bT) + bU)), DataEntry(J(j, p), bb)])
550672 }
551673
552674
553675
554-@Callable(bc)
555-func transfer (j) = {
556- let bo = extract(bc.payment)
557- if (isDefined(bo.assetId))
676+@Callable(bs)
677+func addPage (ab,bu,bV,bW) = {
678+ let p = toString(bs.caller)
679+ let bF = extract(bs.payment)
680+ if (isDefined(bF.assetId))
558681 then throw("can use waves only at the moment")
559- else TransferSet([ScriptTransfer(addressFromStringValue(j), bo.amount, unit)])
682+ else if ((aM(ab) != a))
683+ then throw("Page already exist")
684+ else WriteSet([DataEntry(aa(ab), bu), DataEntry(ac(ab), p), DataEntry(ad(ab), bV), DataEntry(ae(ab), bW)])
685+ }
686+
687+
688+
689+@Callable(bs)
690+func updatePage (ab,bX,bY,bZ) = {
691+ let p = toString(bs.caller)
692+ let bV = aN(ab)
693+ let ca = aM(ab)
694+ if (if (!(i(p, bV)))
695+ then (ca != p)
696+ else false)
697+ then throw("permission denied")
698+ else if ((aM(ab) == a))
699+ then throw("Page not exist")
700+ else WriteSet([DataEntry(aa(ab), bX), DataEntry(ad(ab), bY), DataEntry(ae(ab), bZ)])
701+ }
702+
703+
704+
705+@Callable(bs)
706+func transfer (p) = {
707+ let bF = extract(bs.payment)
708+ if (isDefined(bF.assetId))
709+ then throw("can use waves only at the moment")
710+ else TransferSet([ScriptTransfer(addressFromStringValue(p), bF.amount, unit)])
560711 }
561712
562713
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "none"
55
66 func b (c) = {
77 let d = {
88 let e = getInteger(this, c)
99 if ($isInstanceOf(e, "Int"))
1010 then {
1111 let f = e
1212 f
1313 }
1414 else 0
1515 }
1616 d
1717 }
1818
1919
2020 func g (c) = {
2121 let h = {
2222 let e = getString(this, c)
2323 if ($isInstanceOf(e, "String"))
2424 then {
2525 let f = e
2626 f
2727 }
2828 else a
2929 }
3030 h
3131 }
3232
3333
34-func i (j) = ("wl_ref_" + j)
34+func i (j,k) = {
35+ let e = indexOf(k, j)
36+ if ($isInstanceOf(e, "Int"))
37+ then {
38+ let f = e
39+ true
40+ }
41+ else if ($isInstanceOf(e, "Unit"))
42+ then {
43+ let l = e
44+ false
45+ }
46+ else throw()
47+ }
3548
3649
37-func k (j) = ("wl_sts_" + j)
50+func m (j,k) = {
51+ let n = dropRight(drop(k, 1), 1)
52+ if ((n == ""))
53+ then (("[" + j) + "]")
54+ else (((("[" + n) + ",") + j) + "]")
55+ }
3856
3957
40-func l (j) = ("balance_" + j)
58+func o (p) = ("wl_ref_" + p)
4159
4260
43-func m (j) = ("wl_bio_" + j)
61+func q (p) = ("wl_sts_" + p)
4462
4563
46-func n (j) = ("wl_blk_" + j)
64+func r (p) = ("balance_" + p)
4765
4866
49-func o (p) = ("author_" + p)
67+func s (p) = ("wl_bio_" + p)
5068
5169
52-func q (p) = ("block_" + p)
70+func t (p) = ("wl_blk_" + p)
5371
5472
55-func r (p) = ("expiration_block_" + p)
73+func u (j) = ("author_" + j)
5674
5775
58-func s (p) = ("bank_" + p)
76+func v (j) = ("block_" + j)
5977
6078
61-func t (p) = ("status_" + p)
79+func w (j) = ("expiration_block_" + j)
6280
6381
64-func u (p) = ("datajson_" + p)
82+func x (j) = ("bank_" + j)
6583
6684
67-func v (p) = ("contest_datajson_" + p)
85+func y (j) = ("status_" + j)
6886
6987
70-func w (p) = ("expiration_one_" + p)
88+func z (j) = ("datajson_" + j)
7189
7290
73-func x (p) = ("expiration_two_" + p)
91+func A (j) = ("contest_datajson_" + j)
7492
7593
76-func y (p) = ("ncommits_" + p)
94+func B (j) = ("expiration_one_" + j)
7795
7896
79-func z (p,j) = ((("report_" + p) + "_") + j)
97+func C (j) = ("expiration_two_" + j)
8098
8199
82-func A (p,j) = ((("commit_" + p) + "_") + j)
100+func D (j) = ("ncommits_" + j)
83101
84102
85-func B (p,j) = ((("reveal_" + p) + "_") + j)
103+func E (j,p) = ((("report_" + j) + "_") + p)
86104
87105
88-func C (p) = ("cnt_yes_" + p)
106+func F (j,p) = ((("commit_" + j) + "_") + p)
89107
90108
91-func D (p) = ("cnt_no_" + p)
109+func G (j,p) = ((("reveal_" + j) + "_") + p)
92110
93111
94-func E (p,j) = ((("final_" + p) + "_") + j)
112+func H (j) = ("cnt_yes_" + j)
95113
96114
97-func F (p) = ("positive_fund_" + p)
115+func I (j) = ("cnt_no_" + j)
98116
99117
100-func G (p) = ("negative_fund_" + p)
118+func J (j,p) = ((("final_" + j) + "_") + p)
101119
102120
103-func H (p,j) = ((F(p) + "_") + j)
121+func K (j) = ("positive_fund_" + j)
104122
105123
106-func I (p,j) = ((G(p) + "_") + j)
124+func L (j) = ("negative_fund_" + j)
107125
108126
109-func J (p,j) = ((("reviews_cnt_" + p) + "_") + j)
127+func M (j,p) = ((K(j) + "_") + p)
110128
111129
112-func K (p,j) = ((("review_" + p) + "_") + j)
130+func N (j,p) = ((L(j) + "_") + p)
113131
114132
115-func L (M) = ("transfer_link_" + M)
133+func O (j,p) = ((("reviews_cnt_" + j) + "_") + p)
116134
117135
118-func N (p,j,O) = ((K(p, j) + "_text_id:") + O)
136+func P (j,p) = ((("review_" + j) + "_") + p)
119137
120138
121-func P (p,j,O) = ((K(p, j) + "_mode_id:") + O)
139+func Q (R) = ("transfer_link_" + R)
122140
123141
124-func Q (p,j,O) = ((K(p, j) + "_tier_id:") + O)
142+func S (j,p,T) = ((P(j, p) + "_text_id:") + T)
125143
126144
127-func R (p,j) = (K(p, j) + "_votereview")
145+func U (j,p,T) = ((P(j, p) + "_mode_id:") + T)
128146
129147
130-func S (p,j) = (K(p, j) + "_whalereview")
148+func V (j,p,T) = ((P(j, p) + "_tier_id:") + T)
131149
132150
133-func T (p) = ("buyout_amount_" + p)
151+func W (j,p) = (P(j, p) + "_votereview")
134152
135153
136-func U (p,j) = ((("winnings_" + p) + "_") + j)
154+func X (j,p) = (P(j, p) + "_whalereview")
137155
138156
139-func V () = "free_invite_count"
157+func Y (j) = ("buyout_amount_" + j)
140158
141159
142-func W () = "free_invite_block"
160+func Z (j,p) = ((("winnings_" + j) + "_") + p)
143161
144162
145-func X (j) = g(i(j))
163+func aa (ab) = ("page" + ab)
146164
147165
148-func Y (j) = g(k(j))
166+func ac (ab) = (aa(ab) + "_owner")
149167
150168
151-func Z (j) = b(l(j))
169+func ad (ab) = (aa(ab) + "_admins")
152170
153171
154-func aa (j) = g(m(j))
172+func ae (ab) = (aa(ab) + "_members")
155173
156174
157-func ab (j) = g(n(j))
175+func af (ab) = (aa(ab) + "_items")
158176
159177
160-func ac (p) = g(o(p))
178+func ag () = "free_invite_count"
161179
162180
163-func ad (p) = b(q(p))
181+func ah () = "free_invite_block"
164182
165183
166-func ae (p) = b(r(p))
184+func ai (p) = g(o(p))
167185
168186
169-func af (p) = b(s(p))
187+func aj (p) = g(q(p))
170188
171189
172-func ag (p) = g(t(p))
190+func ak (p) = b(r(p))
173191
174192
175-func ah (p) = g(u(p))
193+func al (p) = g(s(p))
176194
177195
178-func ai (p) = b(w(p))
196+func am (p) = g(t(p))
179197
180198
181-func aj (p) = b(x(p))
199+func an (j) = g(u(j))
182200
183201
184-func ak (p) = b(y(p))
202+func ao (j) = b(v(j))
185203
186204
187-func al (p,j) = g(A(p, j))
205+func ap (j) = b(w(j))
188206
189207
190-func am (p,j) = g(B(p, j))
208+func aq (j) = b(x(j))
191209
192210
193-func an (p) = b(C(p))
211+func ar (j) = g(y(j))
194212
195213
196-func ao (p) = b(D(p))
214+func as (j) = g(z(j))
197215
198216
199-func ap (p,j) = g(E(p, j))
217+func at (j) = b(B(j))
200218
201219
202-func aq (p) = b(F(p))
220+func au (j) = b(C(j))
203221
204222
205-func ar (p) = b(G(p))
223+func av (j) = b(D(j))
206224
207225
208-func as (p,j) = b(H(p, j))
226+func aw (j,p) = g(F(j, p))
209227
210228
211-func at (p,j) = b(I(p, j))
229+func ax (j,p) = g(G(j, p))
212230
213231
214-func au (p,j) = b(J(p, j))
232+func ay (j) = b(H(j))
215233
216234
217-func av (p,j,O) = g(N(p, j, O))
235+func az (j) = b(I(j))
218236
219237
220-func aw (p,j,O) = g(P(p, j, O))
238+func aA (j,p) = g(J(j, p))
221239
222240
223-func ax (p,j,O) = b(Q(p, j, O))
241+func aB (j) = b(K(j))
224242
225243
226-func ay (p) = b(T(p))
244+func aC (j) = b(L(j))
227245
228246
229-func az (p,j) = b(U(p, j))
247+func aD (j,p) = b(M(j, p))
230248
231249
232-let aA = "registered"
250+func aE (j,p) = b(N(j, p))
233251
234-let aB = "invited"
235252
236-let aC = "whale"
253+func aF (j,p) = b(O(j, p))
237254
238-let aD = "spend_invite"
239255
240-let aE = "voting_commit"
256+func aG (j,p,T) = g(S(j, p, T))
241257
242-let aF = "voting_reveal"
243258
244-let aG = "featured"
259+func aH (j,p,T) = g(U(j, p, T))
245260
246-let aH = "delisted"
247261
248-let aI = "cashout"
262+func aI (j,p,T) = b(V(j, p, T))
249263
250-let aJ = "buyout"
251264
252-let aK = "finished"
265+func aJ (j) = b(Y(j))
253266
254-let aL = "claimed"
255267
256-let aM = "positive"
268+func aK (j,p) = b(Z(j, p))
257269
258-let aN = "negative"
259270
260-let aO = "3P8Fvy1yDwNHvVrabe4ek5b9dAwxFjDKV7R"
271+func aL (ab) = g(aa(ab))
261272
262-let aP = "3P9NDxt9Y6ePfM9hkQysgSvbHJvihr56Z18"
263273
264-let aQ = "3P3MUCvJjviJaxMUe743LVez3qThbL7U8uP"
274+func aM (ab) = g(ac(ab))
265275
266-let aR = 3
267276
268-let aS = 2
277+func aN (ab) = g(ad(ab))
269278
270-let aT = [(3 * 100000000), (10 * 100000000), (100 * 100000000), (300 * 100000000), (1000 * 100000000)]
271279
272-let aU = (1 * 100000000)
280+func aO (ab) = g(ae(ab))
273281
274-let aV = (1 * 100000000)
275282
276-let aW = 1440
283+func aP (ab) = g(af(ab))
277284
278-let aX = 150
279285
280-let aY = 100
286+let aQ = "registered"
281287
282-let aZ = 500000
288+let aR = "invited"
283289
284-let ba = b(V())
290+let aS = "whale"
285291
286-let bb = b(W())
292+let aT = "spend_invite"
287293
288-@Callable(bc)
289-func inviteuser (bd,be) = {
290- let j = toBase58String(bc.caller.bytes)
291- let bf = Y(bd)
292- let bg = Y(j)
293- if (if ((bf == aA))
294+let aU = "voting_commit"
295+
296+let aV = "voting_reveal"
297+
298+let aW = "featured"
299+
300+let aX = "delisted"
301+
302+let aY = "cashout"
303+
304+let aZ = "buyout"
305+
306+let ba = "finished"
307+
308+let bb = "claimed"
309+
310+let bc = "positive"
311+
312+let bd = "negative"
313+
314+let be = "3P8Fvy1yDwNHvVrabe4ek5b9dAwxFjDKV7R"
315+
316+let bf = "3P9NDxt9Y6ePfM9hkQysgSvbHJvihr56Z18"
317+
318+let bg = "3P3MUCvJjviJaxMUe743LVez3qThbL7U8uP"
319+
320+let bh = 3
321+
322+let bi = 2
323+
324+let bj = [(3 * 100000000), (10 * 100000000), (100 * 100000000), (300 * 100000000), (1000 * 100000000)]
325+
326+let bk = (1 * 100000000)
327+
328+let bl = 1440
329+
330+let bm = 150
331+
332+let bn = 1000
333+
334+let bo = 900000
335+
336+let bp = 1000000
337+
338+let bq = b(ag())
339+
340+let br = b(ah())
341+
342+@Callable(bs)
343+func inviteuser (bt,bu) = {
344+ let p = toBase58String(bs.caller.bytes)
345+ let bv = aj(bt)
346+ let bw = aj(p)
347+ if (if ((bv == aQ))
294348 then true
295- else (bf == aC))
349+ else (bv == aS))
296350 then throw("User has already been registered")
297- else if (if (if ((bg != aA))
298- then (j != aO)
299- else false)
300- then (bg != aC)
301- else false)
302- then throw(("Your account should be whitelisted. status: " + bg))
303- else WriteSet([DataEntry(i(bd), j), DataEntry(m(bd), be), DataEntry(k(bd), aB)])
351+ else if (isDefined(bs.feeAssetId))
352+ then throw("invalid asset")
353+ else if ((bs.fee > bo))
354+ then throw("fee more max")
355+ else if (if (if ((bw != aQ))
356+ then (p != be)
357+ else false)
358+ then (bw != aS)
359+ else false)
360+ then throw(("Your account should be whitelisted. status: " + bw))
361+ else ScriptResult(WriteSet([DataEntry(o(bt), p), DataEntry(s(bt), bu), DataEntry(q(bt), aR), DataEntry(ah(), if ((height > br))
362+ then (height + bl)
363+ else br), DataEntry(ag(), if ((height > br))
364+ then bn
365+ else (bq - 1))]), TransferSet([ScriptTransfer(addressFromStringValue(p), if (if ((wavesBalance(addressFromStringValue(p)) == 0))
366+ then if ((bq > 0))
367+ then true
368+ else (height > br)
369+ else false)
370+ then bs.fee
371+ else 0, unit)]))
304372 }
305373
306374
307375
308-@Callable(bc)
309-func signupbylink (M,be,bh) = {
310- let j = toBase58String(bc.caller.bytes)
311- let bi = Y(M)
312- if ((bi != aB))
313- then throw(((((("Referral invite needed. Current status: " + bi) + ", key:") + k(M)) + ", account:") + M))
314- else ScriptResult(WriteSet([DataEntry(m(j), be), DataEntry(n(j), height), DataEntry(k(j), if ((bh == aC))
315- then aC
316- else aA), DataEntry(k(M), aD), DataEntry(i(j), X(M)), DataEntry(W(), if ((height > bb))
317- then (height + aW)
318- else bb), DataEntry(V(), if ((height > bb))
319- then aY
320- else (ba - 1))]), TransferSet([ScriptTransfer(addressFromStringValue(j), if (if ((wavesBalance(addressFromStringValue(j)) == 0))
321- then (ba > 0)
322- else false)
323- then aZ
324- else 0, unit)]))
376+@Callable(bs)
377+func signupbylink (R,bu,bx) = {
378+ let p = toBase58String(bs.caller.bytes)
379+ let by = aj(R)
380+ if ((by != aR))
381+ then throw(((((("Referral invite needed. Current status: " + by) + ", key:") + q(R)) + ", account:") + R))
382+ else if (isDefined(bs.feeAssetId))
383+ then throw("invalid asset")
384+ else if ((bs.fee > bo))
385+ then throw("fee more max")
386+ else ScriptResult(WriteSet([DataEntry(s(p), bu), DataEntry(t(p), height), DataEntry(q(p), if ((bx == aS))
387+ then aS
388+ else aQ), DataEntry(o(p), ai(R)), DataEntry(ah(), if ((height > br))
389+ then (height + bl)
390+ else br), DataEntry(ag(), if ((height > br))
391+ then bn
392+ else (bq - 1))]), TransferSet([ScriptTransfer(addressFromStringValue(p), if (if ((wavesBalance(addressFromStringValue(p)) == 0))
393+ then if ((bq > 0))
394+ then true
395+ else (height > br)
396+ else false)
397+ then bs.fee
398+ else 0, unit)]))
325399 }
326400
327401
328402
329-@Callable(bc)
330-func signup (be,bh) = {
331- let j = toBase58String(bc.caller.bytes)
332- let bi = Y(j)
333- if ((bi == a))
334- then throw(((((("Referral invite needed. Current status: " + bi) + ", key:") + k(j)) + ", account:") + j))
335- else WriteSet([DataEntry(m(j), be), DataEntry(n(j), height), DataEntry(k(j), if ((bh == aC))
336- then aC
337- else aA)])
403+@Callable(bs)
404+func signup (bu,bx) = {
405+ let p = toBase58String(bs.caller.bytes)
406+ let by = aj(p)
407+ if ((by == a))
408+ then throw(((((("Referral invite needed. Current status: " + by) + ", key:") + q(p)) + ", account:") + p))
409+ else WriteSet([DataEntry(s(p), bu), DataEntry(t(p), height), DataEntry(q(p), if ((bx == aS))
410+ then aS
411+ else aQ)])
338412 }
339413
340414
341415
342-@Callable(bc)
343-func userupdate (be,bh) = {
344- let j = toBase58String(bc.caller.bytes)
345- if ((m(j) == a))
416+@Callable(bs)
417+func userupdate (bu,bx) = {
418+ let p = toBase58String(bs.caller.bytes)
419+ let by = aj(p)
420+ if ((by == a))
346421 then throw("user not signup")
347- else WriteSet([DataEntry(m(j), be), DataEntry(k(j), if ((bh == aC))
348- then aC
349- else aA)])
422+ else if (isDefined(bs.feeAssetId))
423+ then throw("invalid asset")
424+ else if ((bs.fee > bo))
425+ then throw("fee more max")
426+ else ScriptResult(WriteSet([DataEntry(s(p), bu), DataEntry(q(p), if ((bx == aS))
427+ then aS
428+ else aQ), DataEntry(ah(), if ((height > br))
429+ then (height + bl)
430+ else br), DataEntry(ag(), if ((height > br))
431+ then bn
432+ else (bq - 1))]), TransferSet([ScriptTransfer(addressFromStringValue(p), if (if ((wavesBalance(addressFromStringValue(p)) == 0))
433+ then if ((bq > 0))
434+ then true
435+ else (height > br)
436+ else false)
437+ then bs.fee
438+ else 0, unit)]))
350439 }
351440
352441
353442
354-@Callable(bc)
355-func projupdate (p,be) = {
356- let j = toBase58String(bc.caller.bytes)
357- if ((ac(p) != j))
443+@Callable(bs)
444+func projupdate (j,bu) = {
445+ let p = toBase58String(bs.caller.bytes)
446+ if ((an(j) != p))
358447 then throw("You're not author")
359- else WriteSet([DataEntry(u(p), be)])
448+ else if ((bs.fee > bo))
449+ then throw("fee more max")
450+ else ScriptResult(WriteSet([DataEntry(z(j), bu), DataEntry(ah(), if ((height > br))
451+ then (height + bl)
452+ else br), DataEntry(ag(), if ((height > br))
453+ then bn
454+ else (bq - 1))]), TransferSet([ScriptTransfer(addressFromStringValue(p), if (if ((wavesBalance(addressFromStringValue(p)) == 0))
455+ then if ((bq > 0))
456+ then true
457+ else (height > br)
458+ else false)
459+ then bs.fee
460+ else 0, unit)]))
360461 }
361462
362463
363464
364-@Callable(bc)
365-func contestAddOrUpdate (p,be) = {
366- let j = toBase58String(bc.caller.bytes)
367- if ((j != aP))
465+@Callable(bs)
466+func contestAddOrUpdate (j,bu) = {
467+ let p = toBase58String(bs.caller.bytes)
468+ if ((p != bf))
368469 then throw("You're not admin")
369- else WriteSet([DataEntry(v(p), be)])
470+ else WriteSet([DataEntry(A(j), bu)])
370471 }
371472
372473
373474
374-@Callable(bc)
375-func withdraw (bj) = {
376- let bk = Z(bj)
377- if ((0 >= bk))
475+@Callable(bs)
476+func withdraw (bz) = {
477+ let bA = ak(bz)
478+ if ((0 >= bA))
378479 then throw("Not enough balance")
379- else ScriptResult(WriteSet([DataEntry(l(bj), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(bj), bk, unit)]))
480+ else ScriptResult(WriteSet([DataEntry(r(bz), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(bz), bA, unit)]))
380481 }
381482
382483
383484
384-@Callable(bc)
385-func additem (p,bl,bm,bn,be) = {
386- let j = toBase58String(bc.caller.bytes)
387- let bo = extract(bc.payment)
388- if (isDefined(bo.assetId))
485+@Callable(bs)
486+func additem (j,bB,bC,bD,bu,bE) = {
487+ let p = toBase58String(bs.caller.bytes)
488+ let bF = extract(bs.payment)
489+ let bG = if ((bE == ""))
490+ then true
491+ else if (if (i(p, aN(bE)))
492+ then true
493+ else i(p, aO(bE)))
494+ then true
495+ else (aM(bE) == p)
496+ if (isDefined(bF.assetId))
389497 then throw("can use waves only at the moment")
390- else if ((bo.amount != aU))
391- then throw(((("Please pay exact amount for the listing: " + toString(aU)) + ", actual payment is: ") + toString(bo.amount)))
392- else if (!(if (if ((bl > 2))
393- then (bm > bl)
394- else false)
395- then (bn > bm)
396- else false))
397- then throw("Incorrect time parameters")
398- else if ((ac(p) != a))
399- then throw("Item already exist")
400- else WriteSet([DataEntry(o(p), j), DataEntry(q(p), height), DataEntry(r(p), (height + bl)), DataEntry(s(p), aU), DataEntry(t(p), aG), DataEntry(u(p), be), DataEntry(w(p), (height + bm)), DataEntry(x(p), (height + bn))])
498+ else if (!(bG))
499+ then throw("permission denied")
500+ else if ((bs.fee > bo))
501+ then throw("fee more max")
502+ else if (!(if (if ((bB > 2))
503+ then (bC > bB)
504+ else false)
505+ then (bD > bC)
506+ else false))
507+ then throw("Incorrect time parameters")
508+ else if ((an(j) != a))
509+ then throw("Item already exist")
510+ else ScriptResult(WriteSet([DataEntry(u(j), p), DataEntry(v(j), height), DataEntry(w(j), (height + bB)), DataEntry(y(j), aW), DataEntry(z(j), bu), DataEntry(B(j), (height + bC)), DataEntry(C(j), (height + bD)), DataEntry(ah(), if ((height > br))
511+ then (height + bl)
512+ else br), DataEntry(ag(), if ((height > br))
513+ then bn
514+ else (bq - 1)), DataEntry(af(bE), if ((bE == ""))
515+ then ""
516+ else m(j, aP(bE)))]), TransferSet([ScriptTransfer(addressFromStringValue(p), if (if ((wavesBalance(addressFromStringValue(p)) == 0))
517+ then if ((bq > 0))
518+ then true
519+ else (height > br)
520+ else false)
521+ then bs.fee
522+ else 0, unit)]))
401523 }
402524
403525
404526
405-@Callable(bc)
406-func reportProject (p,be) = {
407- let j = toBase58String(bc.caller.bytes)
408- WriteSet([DataEntry(z(p, j), be)])
527+@Callable(bs)
528+func reportProject (j,bu) = {
529+ let p = toBase58String(bs.caller.bytes)
530+ WriteSet([DataEntry(E(j, p), bu)])
409531 }
410532
411533
412534
413-@Callable(bc)
414-func labsdonate (p,bp) = {
415- let j = toBase58String(bc.caller.bytes)
416- let bo = extract(bc.payment)
417- if (isDefined(bo.assetId))
535+@Callable(bs)
536+func labsdonate (j,bH) = {
537+ let p = toBase58String(bs.caller.bytes)
538+ let bF = extract(bs.payment)
539+ if (isDefined(bF.assetId))
418540 then throw("can use waves only at the moment")
419- else if ((j != aQ))
541+ else if ((p != bg))
420542 then throw("labs donation is allowed only for waves labs")
421- else if ((ag(p) != aJ))
543+ else if ((ar(j) != aZ))
422544 then throw("Investement has already done")
423545 else {
424- let O = (au(p, j) + 1)
425- let bq = (aq(p) + bo.amount)
426- WriteSet([DataEntry(J(p, j), O), DataEntry(H(p, j), (as(p, j) + bo.amount)), DataEntry(F(p), bq), DataEntry(N(p, j, toString(O)), bp), DataEntry(P(p, j, toString(O)), aM), DataEntry(Q(p, j, toString(O)), 5), DataEntry(l(ac(p)), (Z(ac(p)) + bo.amount)), DataEntry(t(p), aI)])
546+ let T = (aF(j, p) + 1)
547+ let bI = (aB(j) + bF.amount)
548+ WriteSet([DataEntry(O(j, p), T), DataEntry(M(j, p), (aD(j, p) + bF.amount)), DataEntry(K(j), bI), DataEntry(S(j, p, toString(T)), bH), DataEntry(U(j, p, toString(T)), bc), DataEntry(V(j, p, toString(T)), 5), DataEntry(r(an(j)), (ak(an(j)) + bF.amount)), DataEntry(y(j), aY)])
427549 }
428550 }
429551
430552
431553
432-@Callable(bc)
433-func changeStatus (p) = {
434- let j = toBase58String(bc.caller.bytes)
435- if ((j != aQ))
554+@Callable(bs)
555+func changeStatus (j) = {
556+ let p = toBase58String(bs.caller.bytes)
557+ if ((p != bg))
436558 then throw("labs change is allowed only for waves labs")
437- else WriteSet([DataEntry(t(p), aI)])
559+ else WriteSet([DataEntry(y(j), aY)])
438560 }
439561
440562
441563
442-@Callable(bc)
443-func donate (p,br,bs,bp) = {
444- let j = toBase58String(bc.caller.bytes)
445- let bo = extract(bc.payment)
446- if (isDefined(bo.assetId))
564+@Callable(bs)
565+func donate (j,bJ,bK,bH) = {
566+ let p = toBase58String(bs.caller.bytes)
567+ let bF = extract(bs.payment)
568+ if (isDefined(bF.assetId))
447569 then throw("can use waves only at the moment")
448570 else {
449- let O = (au(p, j) + 1)
450- let bt = (ar(p) + ((if ((bs == aN))
571+ let T = (aF(j, p) + 1)
572+ let bL = (aC(j) + ((if ((bK == bd))
451573 then 1
452- else 0) * bo.amount))
453- let bq = (aq(p) + ((if ((bs == aM))
574+ else 0) * bF.amount))
575+ let bI = (aB(j) + ((if ((bK == bc))
454576 then 1
455- else 0) * bo.amount))
456- if ((ag(p) != aG))
577+ else 0) * bF.amount))
578+ if ((ar(j) != aW))
457579 then throw("The project hasn't accepted by community")
458- else if ((height >= ai(p)))
580+ else if ((height >= at(j)))
459581 then throw("The time for crowdfunding has expired")
460- else if ((bt >= bq))
582+ else if ((bL >= bI))
461583 then throw("Negative fund can't be higher than positive fund")
462- else if (if ((bs != aM))
463- then (bs != aN)
584+ else if (if ((bK != bc))
585+ then (bK != bd)
464586 else false)
465587 then throw("Wrong mode parameter")
466- else if ((ac(p) == j))
588+ else if ((an(j) == p))
467589 then throw("Can't donate own project")
468- else if ((bo.amount != aT[(br - 1)]))
469- then throw(("The payment must be equal to tier amount: " + toString(aT[(br - 1)])))
470- else WriteSet([DataEntry(J(p, j), O), DataEntry(H(p, j), (as(p, j) + ((if ((bs == aM))
590+ else if ((bF.amount != bj[(bJ - 1)]))
591+ then throw(("The payment must be equal to tier amount: " + toString(bj[(bJ - 1)])))
592+ else WriteSet([DataEntry(O(j, p), T), DataEntry(M(j, p), (aD(j, p) + ((if ((bK == bc))
471593 then 1
472- else 0) * bo.amount))), DataEntry(I(p, j), (at(p, j) + ((if ((bs == aN))
594+ else 0) * bF.amount))), DataEntry(N(j, p), (aE(j, p) + ((if ((bK == bd))
473595 then 1
474- else 0) * bo.amount))), DataEntry(F(p), bq), DataEntry(G(p), bt), DataEntry(N(p, j, toString(O)), bp), DataEntry(P(p, j, toString(O)), bs), DataEntry(Q(p, j, toString(O)), br)])
596+ else 0) * bF.amount))), DataEntry(K(j), bI), DataEntry(L(j), bL), DataEntry(S(j, p, toString(T)), bH), DataEntry(U(j, p, toString(T)), bK), DataEntry(V(j, p, toString(T)), bJ)])
475597 }
476598 }
477599
478600
479601
480-@Callable(bc)
481-func whale (p) = {
482- let j = toBase58String(bc.caller.bytes)
483- let bo = extract(bc.payment)
484- if (isDefined(bo.assetId))
602+@Callable(bs)
603+func whale (j) = {
604+ let p = toBase58String(bs.caller.bytes)
605+ let bF = extract(bs.payment)
606+ if (isDefined(bF.assetId))
485607 then throw("can use waves only at the moment")
486- else if ((j != aQ))
608+ else if ((p != bg))
487609 then throw("labs donation is allowed only for waves labs")
488- else if ((ag(p) != aG))
610+ else if ((ar(j) != aW))
489611 then throw("The project hasn't accepted by community")
490- else if ((ai(p) > height))
612+ else if ((at(j) > height))
491613 then throw("The time for crowdfunding has not expired yet")
492- else if ((height > aj(p)))
614+ else if ((height > au(j)))
493615 then throw("The time for grant has expired")
494- else if ((ag(p) == aJ))
616+ else if ((ar(j) == aZ))
495617 then throw("Investement has already done")
496- else if ((bo.amount != ((aq(p) * aX) / 100)))
497- then throw((("Investement must be more than " + toString(aX)) + "% of supportes funds"))
498- else WriteSet([DataEntry(t(p), aJ), DataEntry(l(ac(p)), (Z(ac(p)) + aq(p))), DataEntry(T(p), bo.amount), DataEntry(E(p, ac(p)), aL)])
618+ else if ((bF.amount != ((aB(j) * bm) / 100)))
619+ then throw((("Investement must be more than " + toString(bm)) + "% of supportes funds"))
620+ else WriteSet([DataEntry(y(j), aZ), DataEntry(r(an(j)), (ak(an(j)) + aB(j))), DataEntry(Y(j), bF.amount), DataEntry(J(j, an(j)), bb)])
499621 }
500622
501623
502624
503-@Callable(bc)
504-func claimwinnings (p,j) = {
505- let bi = ag(p)
506- let bu = if ((bi == aJ))
625+@Callable(bs)
626+func claimwinnings (j,p) = {
627+ let by = ar(j)
628+ let bM = if ((by == aZ))
507629 then 1
508630 else 0
509- let bv = if ((bi != aJ))
631+ let bN = if ((by != aZ))
510632 then 1
511633 else 0
512- let bw = (aq(p) - as(p, aQ))
513- let bx = ar(p)
514- let by = (((bu * (as(p, j) * 100)) / (if ((0 >= bw))
634+ let bO = (aB(j) - aD(j, bg))
635+ let bP = aC(j)
636+ let bQ = (((bM * (aD(j, p) * 100)) / (if ((0 >= bO))
515637 then 1
516- else bw)) + ((bv * (at(p, j) * 100)) / (if ((0 >= bx))
638+ else bO)) + ((bN * (aE(j, p) * 100)) / (if ((0 >= bP))
517639 then 1
518- else bx)))
519- let bz = ((bx * aX) / 100)
520- let bA = ((bu * ((by * bx) / 100)) + (bv * ((by * (if ((bw > bz))
521- then bz
522- else bw)) / 100)))
523- let bB = (bu * ((as(p, j) * aX) / 100))
524- let bC = ((bv * (if ((ac(p) == j))
640+ else bP)))
641+ let bR = ((bP * bm) / 100)
642+ let bS = ((bM * ((bQ * bP) / 100)) + (bN * ((bQ * (if ((bO > bR))
643+ then bR
644+ else bO)) / 100)))
645+ let bT = (bM * ((aD(j, p) * bm) / 100))
646+ let bU = ((bN * (if ((an(j) == p))
525647 then 1
526- else 0)) * (if ((bw > bz))
527- then (bw - bz)
648+ else 0)) * (if ((bO > bR))
649+ then (bO - bR)
528650 else 0))
529- if ((toString(bc.caller) != aQ))
651+ if ((toString(bs.caller) != bg))
530652 then throw("caller error")
531- else if ((bi == aH))
653+ else if ((by == aX))
532654 then throw("The project hasn't accepted by community")
533- else if ((j == aQ))
655+ else if ((p == bg))
534656 then throw("account error")
535- else if ((ap(p, j) == aL))
657+ else if ((aA(j, p) == bb))
536658 then throw("Status is claimed")
537- else if (if (if ((bB == 0))
538- then (bA == 0)
659+ else if (if (if ((bT == 0))
660+ then (bS == 0)
539661 else false)
540- then (bC == 0)
662+ then (bU == 0)
541663 else false)
542664 then throw("The share equals zero")
543- else if (if ((bi != aJ))
544- then (aj(p) >= height)
665+ else if (if ((by != aZ))
666+ then (au(j) >= height)
545667 else false)
546668 then throw("The time for grant has not expired yet")
547- else if ((0 >= (bw + bx)))
669+ else if ((0 >= (bO + bP)))
548670 then throw("The campaign wasn't active")
549- else WriteSet([DataEntry(l(j), (((Z(j) + bA) + bB) + bC)), DataEntry(E(p, j), aL)])
671+ else WriteSet([DataEntry(r(p), (((ak(p) + bS) + bT) + bU)), DataEntry(J(j, p), bb)])
550672 }
551673
552674
553675
554-@Callable(bc)
555-func transfer (j) = {
556- let bo = extract(bc.payment)
557- if (isDefined(bo.assetId))
676+@Callable(bs)
677+func addPage (ab,bu,bV,bW) = {
678+ let p = toString(bs.caller)
679+ let bF = extract(bs.payment)
680+ if (isDefined(bF.assetId))
558681 then throw("can use waves only at the moment")
559- else TransferSet([ScriptTransfer(addressFromStringValue(j), bo.amount, unit)])
682+ else if ((aM(ab) != a))
683+ then throw("Page already exist")
684+ else WriteSet([DataEntry(aa(ab), bu), DataEntry(ac(ab), p), DataEntry(ad(ab), bV), DataEntry(ae(ab), bW)])
685+ }
686+
687+
688+
689+@Callable(bs)
690+func updatePage (ab,bX,bY,bZ) = {
691+ let p = toString(bs.caller)
692+ let bV = aN(ab)
693+ let ca = aM(ab)
694+ if (if (!(i(p, bV)))
695+ then (ca != p)
696+ else false)
697+ then throw("permission denied")
698+ else if ((aM(ab) == a))
699+ then throw("Page not exist")
700+ else WriteSet([DataEntry(aa(ab), bX), DataEntry(ad(ab), bY), DataEntry(ae(ab), bZ)])
701+ }
702+
703+
704+
705+@Callable(bs)
706+func transfer (p) = {
707+ let bF = extract(bs.payment)
708+ if (isDefined(bF.assetId))
709+ then throw("can use waves only at the moment")
710+ else TransferSet([ScriptTransfer(addressFromStringValue(p), bF.amount, unit)])
560711 }
561712
562713

github/deemru/w8io/3ef1775 
1715.09 ms