tx · GaDrKbipb4oa46YZHzDvYC4jR18xaTTneDtPDwXM1JZJ

3NBB3iv7YDRsD8ZM2Pw2V5eTcsfqh3j2mvF:  -0.01400000 Waves

2019.09.15 14:48 [677305] smart account 3NBB3iv7YDRsD8ZM2Pw2V5eTcsfqh3j2mvF > SELF 0.00000000 Waves

{ "type": 13, "id": "GaDrKbipb4oa46YZHzDvYC4jR18xaTTneDtPDwXM1JZJ", "fee": 1400000, "feeAssetId": null, "timestamp": 1568548160937, "version": 1, "sender": "3NBB3iv7YDRsD8ZM2Pw2V5eTcsfqh3j2mvF", "senderPublicKey": "9i5FpMUFCwhogG5euZDBZKV6NehQN4xX83qvNr8NWipE", "proofs": [ "5UUe1dWBMGoeWPcCRRCJWsQtdP9uxBU75pph8bZxzr5nLBkzb8zYCa7KQogwWWEtaQEJWrKu625Gm5LvD83grV3C" ], "script": "base64:AAIDAAAAAAAAAAAAAABbAAAAAAROT05FAgAAAARub25lAQAAAA5nZXROdW1iZXJCeUtleQAAAAEAAAADa2V5BAAAAANudW0EAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAFAAAAA251bQEAAAALZ2V0U3RyQnlLZXkAAAABAAAAA2tleQQAAAADc3RyBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhBQAAAAROT05FBQAAAANzdHIBAAAAEmdldEtleVdoaXRlbGlzdFJlZgAAAAEAAAAHYWNjb3VudAkAASwAAAACAgAAAAd3bF9yZWZfBQAAAAdhY2NvdW50AQAAABVnZXRLZXlXaGl0ZWxpc3RTdGF0dXMAAAABAAAAB2FjY291bnQJAAEsAAAAAgIAAAAHd2xfc3RzXwUAAAAHYWNjb3VudAEAAAANZ2V0S2V5QmFsYW5jZQAAAAEAAAAHYWNjb3VudAkAASwAAAACAgAAAAhiYWxhbmNlXwUAAAAHYWNjb3VudAEAAAASZ2V0S2V5V2hpdGVsaXN0QmlvAAAAAQAAAAdhY2NvdW50CQABLAAAAAICAAAAB3dsX2Jpb18FAAAAB2FjY291bnQBAAAAFGdldEtleVdoaXRlbGlzdEJsb2NrAAAAAQAAAAdhY2NvdW50CQABLAAAAAICAAAAB3dsX2Jsa18FAAAAB2FjY291bnQBAAAAEGdldEtleUl0ZW1BdXRob3IAAAABAAAABGl0ZW0JAAEsAAAAAgIAAAAHYXV0aG9yXwUAAAAEaXRlbQEAAAAPZ2V0S2V5SXRlbUJsb2NrAAAAAQAAAARpdGVtCQABLAAAAAICAAAABmJsb2NrXwUAAAAEaXRlbQEAAAAaZ2V0S2V5SXRlbVZvdGluZ0V4cGlyYXRpb24AAAABAAAABGl0ZW0JAAEsAAAAAgIAAAARZXhwaXJhdGlvbl9ibG9ja18FAAAABGl0ZW0BAAAADmdldEtleUl0ZW1CYW5rAAAAAQAAAARpdGVtCQABLAAAAAICAAAABWJhbmtfBQAAAARpdGVtAQAAABBnZXRLZXlJdGVtU3RhdHVzAAAAAQAAAARpdGVtCQABLAAAAAICAAAAB3N0YXR1c18FAAAABGl0ZW0BAAAADmdldEtleUl0ZW1EYXRhAAAAAQAAAARpdGVtCQABLAAAAAICAAAACWRhdGFqc29uXwUAAAAEaXRlbQEAAAARZ2V0S2V5Q29udGVzdERhdGEAAAABAAAABGl0ZW0JAAEsAAAAAgIAAAARY29udGVzdF9kYXRhanNvbl8FAAAABGl0ZW0BAAAAGWdldEtleUl0ZW1Dcm93ZEV4cGlyYXRpb24AAAABAAAABGl0ZW0JAAEsAAAAAgIAAAAPZXhwaXJhdGlvbl9vbmVfBQAAAARpdGVtAQAAABlnZXRLZXlJdGVtV2hhbGVFeHBpcmF0aW9uAAAAAQAAAARpdGVtCQABLAAAAAICAAAAD2V4cGlyYXRpb25fdHdvXwUAAAAEaXRlbQEAAAASZ2V0S2V5SXRlbU5Db21taXRzAAAAAQAAAARpdGVtCQABLAAAAAICAAAACW5jb21taXRzXwUAAAAEaXRlbQEAAAAXZ2V0S2V5SXRlbUFjY1JlcG9ydERhdGEAAAACAAAABGl0ZW0AAAAHYWNjb3VudAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAHcmVwb3J0XwUAAAAEaXRlbQIAAAABXwUAAAAHYWNjb3VudAEAAAATZ2V0S2V5SXRlbUFjY0NvbW1pdAAAAAIAAAAEaXRlbQAAAAdhY2NvdW50CQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAdjb21taXRfBQAAAARpdGVtAgAAAAFfBQAAAAdhY2NvdW50AQAAABNnZXRLZXlJdGVtQWNjUmV2ZWFsAAAAAgAAAARpdGVtAAAAB2FjY291bnQJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAB3JldmVhbF8FAAAABGl0ZW0CAAAAAV8FAAAAB2FjY291bnQBAAAAEmdldEtleUl0ZW1Wb3Rlc1llcwAAAAEAAAAEaXRlbQkAASwAAAACAgAAAAhjbnRfeWVzXwUAAAAEaXRlbQEAAAARZ2V0S2V5SXRlbVZvdGVzTm8AAAABAAAABGl0ZW0JAAEsAAAAAgIAAAAHY250X25vXwUAAAAEaXRlbQEAAAASZ2V0S2V5SXRlbUFjY0ZpbmFsAAAAAgAAAARpdGVtAAAAB2FjY291bnQJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABmZpbmFsXwUAAAAEaXRlbQIAAAABXwUAAAAHYWNjb3VudAEAAAAWZ2V0S2V5SXRlbUZ1bmRQb3NpdGl2ZQAAAAEAAAAEaXRlbQkAASwAAAACAgAAAA5wb3NpdGl2ZV9mdW5kXwUAAAAEaXRlbQEAAAAWZ2V0S2V5SXRlbUZ1bmROZWdhdGl2ZQAAAAEAAAAEaXRlbQkAASwAAAACAgAAAA5uZWdhdGl2ZV9mdW5kXwUAAAAEaXRlbQEAAAAZZ2V0S2V5SXRlbUFjY0Z1bmRQb3NpdGl2ZQAAAAIAAAAEaXRlbQAAAAdhY2NvdW50CQABLAAAAAIJAAEsAAAAAgkBAAAAFmdldEtleUl0ZW1GdW5kUG9zaXRpdmUAAAABBQAAAARpdGVtAgAAAAFfBQAAAAdhY2NvdW50AQAAABlnZXRLZXlJdGVtQWNjRnVuZE5lZ2F0aXZlAAAAAgAAAARpdGVtAAAAB2FjY291bnQJAAEsAAAAAgkAASwAAAACCQEAAAAWZ2V0S2V5SXRlbUZ1bmROZWdhdGl2ZQAAAAEFAAAABGl0ZW0CAAAAAV8FAAAAB2FjY291bnQBAAAAF2dldEtleUl0ZW1BY2NSZXZpZXdzQ250AAAAAgAAAARpdGVtAAAAB2FjY291bnQJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAADHJldmlld3NfY250XwUAAAAEaXRlbQIAAAABXwUAAAAHYWNjb3VudAEAAAATZ2V0S2V5SXRlbUFjY1JldmlldwAAAAIAAAAEaXRlbQAAAAdhY2NvdW50CQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAdyZXZpZXdfBQAAAARpdGVtAgAAAAFfBQAAAAdhY2NvdW50AQAAABJnZXRLZXlUcmFuc2ZlckxpbmsAAAABAAAABGhhc2gJAAEsAAAAAgIAAAAOdHJhbnNmZXJfbGlua18FAAAABGhhc2gBAAAAF2dldEtleUl0ZW1BY2NSZXZpZXdUZXh0AAAAAwAAAARpdGVtAAAAB2FjY291bnQAAAADY250CQABLAAAAAIJAAEsAAAAAgkBAAAAE2dldEtleUl0ZW1BY2NSZXZpZXcAAAACBQAAAARpdGVtBQAAAAdhY2NvdW50AgAAAAlfdGV4dF9pZDoFAAAAA2NudAEAAAAXZ2V0S2V5SXRlbUFjY1Jldmlld01vZGUAAAADAAAABGl0ZW0AAAAHYWNjb3VudAAAAANjbnQJAAEsAAAAAgkAASwAAAACCQEAAAATZ2V0S2V5SXRlbUFjY1JldmlldwAAAAIFAAAABGl0ZW0FAAAAB2FjY291bnQCAAAACV9tb2RlX2lkOgUAAAADY250AQAAABdnZXRLZXlJdGVtQWNjUmV2aWV3VGllcgAAAAMAAAAEaXRlbQAAAAdhY2NvdW50AAAAA2NudAkAASwAAAACCQABLAAAAAIJAQAAABNnZXRLZXlJdGVtQWNjUmV2aWV3AAAAAgUAAAAEaXRlbQUAAAAHYWNjb3VudAIAAAAJX3RpZXJfaWQ6BQAAAANjbnQBAAAAG2dldEtleUl0ZW1BY2NWb3RlUmV2aWV3VGV4dAAAAAIAAAAEaXRlbQAAAAdhY2NvdW50CQABLAAAAAIJAQAAABNnZXRLZXlJdGVtQWNjUmV2aWV3AAAAAgUAAAAEaXRlbQUAAAAHYWNjb3VudAIAAAALX3ZvdGVyZXZpZXcBAAAAHGdldEtleUl0ZW1BY2NXaGFsZVJldmlld1RleHQAAAACAAAABGl0ZW0AAAAHYWNjb3VudAkAASwAAAACCQEAAAATZ2V0S2V5SXRlbUFjY1JldmlldwAAAAIFAAAABGl0ZW0FAAAAB2FjY291bnQCAAAADF93aGFsZXJldmlldwEAAAAWZ2V0S2V5SXRlbUJ1eW91dEFtb3VudAAAAAEAAAAEaXRlbQkAASwAAAACAgAAAA5idXlvdXRfYW1vdW50XwUAAAAEaXRlbQEAAAAVZ2V0S2V5SXRlbUFjY1dpbm5pbmdzAAAAAgAAAARpdGVtAAAAB2FjY291bnQJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACXdpbm5pbmdzXwUAAAAEaXRlbQIAAAABXwUAAAAHYWNjb3VudAEAAAAUZ2V0VmFsdWVXaGl0ZWxpc3RSZWYAAAABAAAAB2FjY291bnQJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABJnZXRLZXlXaGl0ZWxpc3RSZWYAAAABBQAAAAdhY2NvdW50AQAAABdnZXRWYWx1ZVdoaXRlbGlzdFN0YXR1cwAAAAEAAAAHYWNjb3VudAkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAFWdldEtleVdoaXRlbGlzdFN0YXR1cwAAAAEFAAAAB2FjY291bnQBAAAAD2dldFZhbHVlQmFsYW5jZQAAAAEAAAAHYWNjb3VudAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAADWdldEtleUJhbGFuY2UAAAABBQAAAAdhY2NvdW50AQAAABRnZXRWYWx1ZVdoaXRlbGlzdEJpbwAAAAEAAAAHYWNjb3VudAkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEmdldEtleVdoaXRlbGlzdEJpbwAAAAEFAAAAB2FjY291bnQBAAAAFmdldFZhbHVlV2hpdGVsaXN0QmxvY2sAAAABAAAAB2FjY291bnQJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABRnZXRLZXlXaGl0ZWxpc3RCbG9jawAAAAEFAAAAB2FjY291bnQBAAAAEmdldFZhbHVlSXRlbUF1dGhvcgAAAAEAAAAEaXRlbQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEGdldEtleUl0ZW1BdXRob3IAAAABBQAAAARpdGVtAQAAABFnZXRWYWx1ZUl0ZW1CbG9jawAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAD2dldEtleUl0ZW1CbG9jawAAAAEFAAAABGl0ZW0BAAAAHGdldFZhbHVlSXRlbVZvdGluZ0V4cGlyYXRpb24AAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABpnZXRLZXlJdGVtVm90aW5nRXhwaXJhdGlvbgAAAAEFAAAABGl0ZW0BAAAAEGdldFZhbHVlSXRlbUJhbmsAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAA5nZXRLZXlJdGVtQmFuawAAAAEFAAAABGl0ZW0BAAAAEmdldFZhbHVlSXRlbVN0YXR1cwAAAAEAAAAEaXRlbQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEGdldEtleUl0ZW1TdGF0dXMAAAABBQAAAARpdGVtAQAAABBnZXRWYWx1ZUl0ZW1EYXRhAAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAOZ2V0S2V5SXRlbURhdGEAAAABBQAAAARpdGVtAQAAABtnZXRWYWx1ZUl0ZW1Dcm93ZEV4cGlyYXRpb24AAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABlnZXRLZXlJdGVtQ3Jvd2RFeHBpcmF0aW9uAAAAAQUAAAAEaXRlbQEAAAAbZ2V0VmFsdWVJdGVtV2hhbGVFeHBpcmF0aW9uAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAZZ2V0S2V5SXRlbVdoYWxlRXhwaXJhdGlvbgAAAAEFAAAABGl0ZW0BAAAAFGdldFZhbHVlSXRlbU5Db21taXRzAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAASZ2V0S2V5SXRlbU5Db21taXRzAAAAAQUAAAAEaXRlbQEAAAAVZ2V0VmFsdWVJdGVtQWNjQ29tbWl0AAAAAgAAAARpdGVtAAAAB2FjY291bnQJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABNnZXRLZXlJdGVtQWNjQ29tbWl0AAAAAgUAAAAEaXRlbQUAAAAHYWNjb3VudAEAAAAVZ2V0VmFsdWVJdGVtQWNjUmV2ZWFsAAAAAgAAAARpdGVtAAAAB2FjY291bnQJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABNnZXRLZXlJdGVtQWNjUmV2ZWFsAAAAAgUAAAAEaXRlbQUAAAAHYWNjb3VudAEAAAAUZ2V0VmFsdWVJdGVtVm90ZXNZZXMAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABJnZXRLZXlJdGVtVm90ZXNZZXMAAAABBQAAAARpdGVtAQAAABNnZXRWYWx1ZUl0ZW1Wb3Rlc05vAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAARZ2V0S2V5SXRlbVZvdGVzTm8AAAABBQAAAARpdGVtAQAAABRnZXRWYWx1ZUl0ZW1BY2NGaW5hbAAAAAIAAAAEaXRlbQAAAAdhY2NvdW50CQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAASZ2V0S2V5SXRlbUFjY0ZpbmFsAAAAAgUAAAAEaXRlbQUAAAAHYWNjb3VudAEAAAAYZ2V0VmFsdWVJdGVtRnVuZFBvc2l0aXZlAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAWZ2V0S2V5SXRlbUZ1bmRQb3NpdGl2ZQAAAAEFAAAABGl0ZW0BAAAAGGdldFZhbHVlSXRlbUZ1bmROZWdhdGl2ZQAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFmdldEtleUl0ZW1GdW5kTmVnYXRpdmUAAAABBQAAAARpdGVtAQAAABtnZXRWYWx1ZUl0ZW1BY2NGdW5kUG9zaXRpdmUAAAACAAAABGl0ZW0AAAAHYWNjb3VudAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAGWdldEtleUl0ZW1BY2NGdW5kUG9zaXRpdmUAAAACBQAAAARpdGVtBQAAAAdhY2NvdW50AQAAABtnZXRWYWx1ZUl0ZW1BY2NGdW5kTmVnYXRpdmUAAAACAAAABGl0ZW0AAAAHYWNjb3VudAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAGWdldEtleUl0ZW1BY2NGdW5kTmVnYXRpdmUAAAACBQAAAARpdGVtBQAAAAdhY2NvdW50AQAAABlnZXRWYWx1ZUl0ZW1BY2NSZXZpZXdzQ250AAAAAgAAAARpdGVtAAAAB2FjY291bnQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABdnZXRLZXlJdGVtQWNjUmV2aWV3c0NudAAAAAIFAAAABGl0ZW0FAAAAB2FjY291bnQBAAAAGWdldFZhbHVlSXRlbUFjY1Jldmlld1RleHQAAAADAAAABGl0ZW0AAAAHYWNjb3VudAAAAANjbnQJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABdnZXRLZXlJdGVtQWNjUmV2aWV3VGV4dAAAAAMFAAAABGl0ZW0FAAAAB2FjY291bnQFAAAAA2NudAEAAAAZZ2V0VmFsdWVJdGVtQWNjUmV2aWV3TW9kZQAAAAMAAAAEaXRlbQAAAAdhY2NvdW50AAAAA2NudAkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAF2dldEtleUl0ZW1BY2NSZXZpZXdNb2RlAAAAAwUAAAAEaXRlbQUAAAAHYWNjb3VudAUAAAADY250AQAAABlnZXRWYWx1ZUl0ZW1BY2NSZXZpZXdUaWVyAAAAAwAAAARpdGVtAAAAB2FjY291bnQAAAADY250CQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAXZ2V0S2V5SXRlbUFjY1Jldmlld1RpZXIAAAADBQAAAARpdGVtBQAAAAdhY2NvdW50BQAAAANjbnQBAAAAGGdldFZhbHVlSXRlbUJ1eW91dEFtb3VudAAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFmdldEtleUl0ZW1CdXlvdXRBbW91bnQAAAABBQAAAARpdGVtAQAAABdnZXRWYWx1ZUl0ZW1BY2NXaW5uaW5ncwAAAAIAAAAEaXRlbQAAAAdhY2NvdW50CQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAVZ2V0S2V5SXRlbUFjY1dpbm5pbmdzAAAAAgUAAAAEaXRlbQUAAAAHYWNjb3VudAEAAAAPZ2V0VHJhbnNmZXJMaW5rAAAAAQAAAARoYXNoCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAASZ2V0S2V5VHJhbnNmZXJMaW5rAAAAAQUAAAAEaGFzaAAAAAALV0hJVEVMSVNURUQCAAAACnJlZ2lzdGVyZWQAAAAAB0lOVklURUQCAAAAB2ludml0ZWQAAAAABVdIQUxFAgAAAAV3aGFsZQAAAAALU1BFTkRJTlZJVEUCAAAADHNwZW5kX2ludml0ZQAAAAAGQ09NTUlUAgAAAA12b3RpbmdfY29tbWl0AAAAAAZSRVZFQUwCAAAADXZvdGluZ19yZXZlYWwAAAAACEZFQVRVUkVEAgAAAAhmZWF0dXJlZAAAAAAIREVMSVNURUQCAAAACGRlbGlzdGVkAAAAAAdDQVNIT1VUAgAAAAdjYXNob3V0AAAAAAZCVVlPVVQCAAAABmJ1eW91dAAAAAAIRklOSVNIRUQCAAAACGZpbmlzaGVkAAAAAAdDTEFJTUVEAgAAAAdjbGFpbWVkAAAAAAhQT1NJVElWRQIAAAAIcG9zaXRpdmUAAAAACE5FR0FUSVZFAgAAAAhuZWdhdGl2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BAAAAAxkb25hdGVBbW91bnQJAABlAAAAAggFAAAAA3BtdAAAAAZhbW91bnQFAAAADGJheW91dEFtb3VudAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEGdldEtleUl0ZW1TdGF0dXMAAAABBQAAAARpdGVtBQAAAAZCVVlPVVQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABxnZXRLZXlJdGVtQWNjV2hhbGVSZXZpZXdUZXh0AAAAAgUAAAAEaXRlbQUAAAAHYWNjb3VudAUAAAAGcmV2aWV3CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAANZ2V0S2V5QmFsYW5jZQAAAAEJAQAAABJnZXRWYWx1ZUl0ZW1BdXRob3IAAAABBQAAAARpdGVtCQAAZAAAAAIJAABkAAAAAgkBAAAAD2dldFZhbHVlQmFsYW5jZQAAAAEJAQAAABJnZXRWYWx1ZUl0ZW1BdXRob3IAAAABBQAAAARpdGVtCQEAAAAYZ2V0VmFsdWVJdGVtRnVuZFBvc2l0aXZlAAAAAQUAAAAEaXRlbQUAAAAMZG9uYXRlQW1vdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAWZ2V0S2V5SXRlbUJ1eW91dEFtb3VudAAAAAEFAAAABGl0ZW0FAAAADGJheW91dEFtb3VudAUAAAADbmlsAAAAAWkBAAAADWNsYWltd2lubmluZ3MAAAACAAAABGl0ZW0AAAAHYWNjb3VudAQAAAAGc3RhdHVzCQEAAAASZ2V0VmFsdWVJdGVtU3RhdHVzAAAAAQUAAAAEaXRlbQQAAAAIaXNiYXlvdXQDCQAAAAAAAAIFAAAABnN0YXR1cwUAAAAGQlVZT1VUAAAAAAAAAAABAAAAAAAAAAAABAAAAAhpc2Nyb3dkZgMJAQAAAAIhPQAAAAIFAAAABnN0YXR1cwUAAAAGQlVZT1VUAAAAAAAAAAABAAAAAAAAAAAABAAAAAxwb3NpdGl2ZWZ1bmQJAQAAABhnZXRWYWx1ZUl0ZW1GdW5kUG9zaXRpdmUAAAABBQAAAARpdGVtBAAAAAxuZWdhdGl2ZWZ1bmQJAQAAABhnZXRWYWx1ZUl0ZW1GdW5kTmVnYXRpdmUAAAABBQAAAARpdGVtBAAAAAVzaGFyZQkAAGQAAAACCQAAaQAAAAIJAABoAAAAAgUAAAAIaXNiYXlvdXQJAABoAAAAAgkBAAAAG2dldFZhbHVlSXRlbUFjY0Z1bmRQb3NpdGl2ZQAAAAIFAAAABGl0ZW0FAAAAB2FjY291bnQAAAAAAAAAAGQDCQAAZwAAAAIAAAAAAAAAAAAFAAAADHBvc2l0aXZlZnVuZAAAAAAAAAAAAQUAAAAMcG9zaXRpdmVmdW5kCQAAaQAAAAIJAABoAAAAAgUAAAAIaXNjcm93ZGYJAABoAAAAAgkBAAAAG2dldFZhbHVlSXRlbUFjY0Z1bmROZWdhdGl2ZQAAAAIFAAAABGl0ZW0FAAAAB2FjY291bnQAAAAAAAAAAGQDCQAAZwAAAAIAAAAAAAAAAAAFAAAADG5lZ2F0aXZlZnVuZAAAAAAAAAAAAQUAAAAMbmVnYXRpdmVmdW5kBAAAAAl0bXBuZWd3aW4JAABpAAAAAgkAAGgAAAACBQAAAAxuZWdhdGl2ZWZ1bmQFAAAACk1VTFRJUExJRVIAAAAAAAAAAGQEAAAACWJldHByb2ZpdAkAAGQAAAACCQAAaAAAAAIFAAAACGlzYmF5b3V0CQAAaQAAAAIJAABoAAAAAgUAAAAFc2hhcmUFAAAADG5lZ2F0aXZlZnVuZAAAAAAAAAAAZAkAAGgAAAACBQAAAAhpc2Nyb3dkZgkAAGkAAAACCQAAaAAAAAIFAAAABXNoYXJlAwkAAGYAAAACBQAAAAxwb3NpdGl2ZWZ1bmQFAAAACXRtcG5lZ3dpbgUAAAAJdG1wbmVnd2luBQAAAAxwb3NpdGl2ZWZ1bmQAAAAAAAAAAGQEAAAACXJvaXByb2ZpdAkAAGgAAAACBQAAAAhpc2JheW91dAkAAGkAAAACCQAAaAAAAAIFAAAABXNoYXJlCQEAAAAYZ2V0VmFsdWVJdGVtQnV5b3V0QW1vdW50AAAAAQUAAAAEaXRlbQAAAAAAAAAAZAQAAAAMYXV0aG9ycHJvZml0CQAAaAAAAAIJAABoAAAAAgMJAAAAAAAAAgkBAAAAEmdldFZhbHVlSXRlbUF1dGhvcgAAAAEFAAAABGl0ZW0FAAAAB2FjY291bnQAAAAAAAAAAAEAAAAAAAAAAAAFAAAADHBvc2l0aXZlZnVuZAMJAQAAAAIhPQAAAAIFAAAABnN0YXR1cwUAAAAGQlVZT1VUAAAAAAAAAAABAAAAAAAAAAAAAwkAAAAAAAACBQAAAAZzdGF0dXMFAAAACERFTElTVEVECQAAAgAAAAECAAAAKFRoZSBwcm9qZWN0IGhhc24ndCBhY2NlcHRlZCBieSBjb21tdW5pdHkDCQAAAAAAAAIFAAAABnN0YXR1cwUAAAAHQ0FTSE9VVAkAAAIAAAABAgAAABFTdGF0dXMgaXMgY2FzaG91dAMJAAAAAAAAAgkBAAAAFGdldFZhbHVlSXRlbUFjY0ZpbmFsAAAAAgUAAAAEaXRlbQUAAAAHYWNjb3VudAUAAAAHQ0xBSU1FRAkAAAIAAAABAgAAABFTdGF0dXMgaXMgY2xhaW1lZAMDCQAAAAAAAAIFAAAABXNoYXJlAAAAAAAAAAAACQAAAAAAAAIFAAAADGF1dGhvcnByb2ZpdAAAAAAAAAAAAAcJAAACAAAAAQIAAAAVVGhlIHNoYXJlIGVxdWFscyB6ZXJvAwMJAQAAAAIhPQAAAAIFAAAABnN0YXR1cwUAAAAGQlVZT1VUCQAAZwAAAAIJAQAAABtnZXRWYWx1ZUl0ZW1XaGFsZUV4cGlyYXRpb24AAAABBQAAAARpdGVtBQAAAAZoZWlnaHQHCQAAAgAAAAECAAAAJlRoZSB0aW1lIGZvciBncmFudCBoYXMgbm90IGV4cGlyZWQgeWV0AwkAAGcAAAACAAAAAAAAAAAACQAAZAAAAAIFAAAADHBvc2l0aXZlZnVuZAUAAAAMbmVnYXRpdmVmdW5kCQAAAgAAAAECAAAAGlRoZSBjYW1wYWlnbiB3YXNuJ3QgYWN0aXZlCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAANZ2V0S2V5QmFsYW5jZQAAAAEFAAAAB2FjY291bnQJAABkAAAAAgkAAGQAAAACCQAAZAAAAAIJAQAAAA9nZXRWYWx1ZUJhbGFuY2UAAAABBQAAAAdhY2NvdW50BQAAAAliZXRwcm9maXQFAAAACXJvaXByb2ZpdAUAAAAMYXV0aG9ycHJvZml0CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAQZ2V0S2V5SXRlbVN0YXR1cwAAAAEFAAAABGl0ZW0DCQAAZgAAAAIFAAAADGF1dGhvcnByb2ZpdAAAAAAAAAAAAAUAAAAHQ0FTSE9VVAUAAAAGc3RhdHVzCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAASZ2V0S2V5SXRlbUFjY0ZpbmFsAAAAAgUAAAAEaXRlbQUAAAAHYWNjb3VudAUAAAAHQ0xBSU1FRAUAAAADbmlsAAAAAWkBAAAACHRyYW5zZmVyAAAAAQAAAAdhY2NvdW50BAAAAANwbXQJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAHcGF5bWVudAMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAAgY2FuIHVzZSB3YXZlcyBvbmx5IGF0IHRoZSBtb21lbnQJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAHEBleHRyVXNlcihhZGRyZXNzRnJvbVN0cmluZykAAAABBQAAAAdhY2NvdW50CAUAAAADcG10AAAABmFtb3VudAUAAAAEdW5pdAUAAAADbmlsAAAAAIkphSg=", "chainId": 84, "height": 677305, "spentComplexity": 0 } View: original | compacted Prev: qBZc8XWZyBsN2kUhygkHF9fc4GuZWGRbCKry6JHGfLk Next: BDocuaifFSLAz4RiAGDsr2FNdNN3CcTV8n2TprPSBTiH Diff:
OldNewDifferences
112112 func K (p,j) = ((("review_" + p) + "_") + j)
113113
114114
115-func L (p,j,M) = ((K(p, j) + "_text_id:") + M)
115+func L (M) = ("transfer_link_" + M)
116116
117117
118-func N (p,j,M) = ((K(p, j) + "_mode_id:") + M)
118+func N (p,j,O) = ((K(p, j) + "_text_id:") + O)
119119
120120
121-func O (p,j,M) = ((K(p, j) + "_tier_id:") + M)
121+func P (p,j,O) = ((K(p, j) + "_mode_id:") + O)
122122
123123
124-func P (p,j) = (K(p, j) + "_votereview")
124+func Q (p,j,O) = ((K(p, j) + "_tier_id:") + O)
125125
126126
127-func Q (p,j) = (K(p, j) + "_whalereview")
127+func R (p,j) = (K(p, j) + "_votereview")
128128
129129
130-func R (p) = ("buyout_amount_" + p)
130+func S (p,j) = (K(p, j) + "_whalereview")
131131
132132
133-func S (p,j) = ((("winnings_" + p) + "_") + j)
133+func T (p) = ("buyout_amount_" + p)
134134
135135
136-func T (j) = g(i(j))
136+func U (p,j) = ((("winnings_" + p) + "_") + j)
137137
138138
139-func U (j) = g(k(j))
139+func V (j) = g(i(j))
140140
141141
142-func V (j) = b(l(j))
142+func W (j) = g(k(j))
143143
144144
145-func W (j) = g(m(j))
145+func X (j) = b(l(j))
146146
147147
148-func X (j) = g(n(j))
148+func Y (j) = g(m(j))
149149
150150
151-func Y (p) = g(o(p))
151+func Z (j) = g(n(j))
152152
153153
154-func Z (p) = b(q(p))
154+func aa (p) = g(o(p))
155155
156156
157-func aa (p) = b(r(p))
157+func ab (p) = b(q(p))
158158
159159
160-func ab (p) = b(s(p))
160+func ac (p) = b(r(p))
161161
162162
163-func ac (p) = g(t(p))
163+func ad (p) = b(s(p))
164164
165165
166-func ad (p) = g(u(p))
166+func ae (p) = g(t(p))
167167
168168
169-func ae (p) = b(w(p))
169+func af (p) = g(u(p))
170170
171171
172-func af (p) = b(x(p))
172+func ag (p) = b(w(p))
173173
174174
175-func ag (p) = b(y(p))
175+func ah (p) = b(x(p))
176176
177177
178-func ah (p,j) = g(A(p, j))
178+func ai (p) = b(y(p))
179179
180180
181-func ai (p,j) = g(B(p, j))
181+func aj (p,j) = g(A(p, j))
182182
183183
184-func aj (p) = b(C(p))
184+func ak (p,j) = g(B(p, j))
185185
186186
187-func ak (p) = b(D(p))
187+func al (p) = b(C(p))
188188
189189
190-func al (p,j) = g(E(p, j))
190+func am (p) = b(D(p))
191191
192192
193-func am (p) = b(F(p))
193+func an (p,j) = g(E(p, j))
194194
195195
196-func an (p) = b(G(p))
196+func ao (p) = b(F(p))
197197
198198
199-func ao (p,j) = b(H(p, j))
199+func ap (p) = b(G(p))
200200
201201
202-func ap (p,j) = b(I(p, j))
202+func aq (p,j) = b(H(p, j))
203203
204204
205-func aq (p,j) = b(J(p, j))
205+func ar (p,j) = b(I(p, j))
206206
207207
208-func ar (p,j,M) = g(L(p, j, M))
208+func as (p,j) = b(J(p, j))
209209
210210
211-func as (p,j,M) = g(N(p, j, M))
211+func at (p,j,O) = g(N(p, j, O))
212212
213213
214-func at (p,j,M) = b(O(p, j, M))
214+func au (p,j,O) = g(P(p, j, O))
215215
216216
217-func au (p) = b(R(p))
217+func av (p,j,O) = b(Q(p, j, O))
218218
219219
220-func av (p,j) = b(S(p, j))
220+func aw (p) = b(T(p))
221221
222222
223-let aw = "registered"
223+func ax (p,j) = b(U(p, j))
224224
225-let ax = "invited"
226225
227-let ay = "whale"
226+func ay (M) = g(L(M))
228227
229-let az = "spend_invite"
230228
231-let aA = "voting_commit"
229+let az = "registered"
232230
233-let aB = "voting_reveal"
231+let aA = "invited"
234232
235-let aC = "featured"
233+let aB = "whale"
236234
237-let aD = "delisted"
235+let aC = "spend_invite"
238236
239-let aE = "cashout"
237+let aD = "voting_commit"
240238
241-let aF = "buyout"
239+let aE = "voting_reveal"
242240
243-let aG = "finished"
241+let aF = "featured"
244242
245-let aH = "claimed"
243+let aG = "delisted"
246244
247-let aI = "positive"
245+let aH = "cashout"
248246
249-let aJ = "negative"
247+let aI = "buyout"
250248
251-let aK = "3P8Fvy1yDwNHvVrabe4ek5b9dAwxFjDKV7R"
249+let aJ = "finished"
252250
253-let aL = "3MwMR1ZFfy712trHVLisizYmvRQwsg8z9Bn"
251+let aK = "claimed"
254252
255-let aM = 3
253+let aL = "positive"
256254
257-let aN = 2
255+let aM = "negative"
258256
259-let aO = [(3 * 100000000), (10 * 100000000), (100 * 100000000), (300 * 100000000), (1000 * 100000000)]
257+let aN = "3P8Fvy1yDwNHvVrabe4ek5b9dAwxFjDKV7R"
260258
261-let aP = (3 * 100000000)
259+let aO = "3P9NDxt9Y6ePfM9hkQysgSvbHJvihr56Z18"
262260
263-let aQ = (1 * 100000000)
261+let aP = 3
264262
265-let aR = 150
263+let aQ = 2
266264
267-@Callable(aS)
268-func inviteuser (aT,aU) = {
269- let j = toBase58String(aS.caller.bytes)
270- let aV = U(aT)
271- let aW = U(j)
272- if (if ((aV == aw))
265+let aR = [(3 * 100000000), (10 * 100000000), (100 * 100000000), (300 * 100000000), (1000 * 100000000)]
266+
267+let aS = (1 * 100000000)
268+
269+let aT = (1 * 100000000)
270+
271+let aU = 150
272+
273+let aV = "+"
274+
275+@Callable(aW)
276+func inviteuser (aX,aY) = {
277+ let j = toBase58String(aW.caller.bytes)
278+ let aZ = W(aX)
279+ let ba = W(j)
280+ if (if ((aZ == az))
273281 then true
274- else (aV == ay))
282+ else (aZ == aB))
275283 then throw("User has already been registered")
276- else if (if (if ((aW != aw))
277- then (j != aK)
284+ else if (if (if ((ba != az))
285+ then (j != aN)
278286 else false)
279- then (aW != ay)
287+ then (ba != aB)
280288 else false)
281- then throw(("Your account should be whitelisted. status: " + aW))
282- else WriteSet([DataEntry(i(aT), j), DataEntry(m(aT), aU), DataEntry(k(aT), ax)])
289+ then throw(("Your account should be whitelisted. status: " + ba))
290+ else WriteSet([DataEntry(i(aX), j), DataEntry(m(aX), aY), DataEntry(k(aX), aA)])
283291 }
284292
285293
286294
287-@Callable(aS)
288-func signupbylink (aX,aU,aY) = {
289- let j = toBase58String(aS.caller.bytes)
290- let aZ = U(aX)
291- if ((aZ != ax))
292- then throw(((((("Referral invite needed. Current status: " + aZ) + ", key:") + k(aX)) + ", account:") + aX))
293- else WriteSet([DataEntry(m(j), aU), DataEntry(n(j), height), DataEntry(k(j), if ((aY == ay))
294- then ay
295- else aw), DataEntry(k(aX), az), DataEntry(i(j), T(aX))])
295+@Callable(aW)
296+func signupbylink (M,aY,bb) = {
297+ let j = toBase58String(aW.caller.bytes)
298+ let bc = W(M)
299+ if ((bc != aA))
300+ then throw(((((("Referral invite needed. Current status: " + bc) + ", key:") + k(M)) + ", account:") + M))
301+ else WriteSet([DataEntry(m(j), aY), DataEntry(n(j), height), DataEntry(k(j), if ((bb == aB))
302+ then aB
303+ else az), DataEntry(k(M), aC), DataEntry(i(j), V(M))])
296304 }
297305
298306
299307
300-@Callable(aS)
301-func signup (aU,aY) = {
302- let j = toBase58String(aS.caller.bytes)
303- let aZ = U(j)
304- if ((aZ == a))
305- then throw(((((("Referral invite needed. Current status: " + aZ) + ", key:") + k(j)) + ", account:") + j))
306- else WriteSet([DataEntry(m(j), aU), DataEntry(n(j), height), DataEntry(k(j), if ((aY == ay))
307- then ay
308- else aw)])
308+@Callable(aW)
309+func signup (aY,bb) = {
310+ let j = toBase58String(aW.caller.bytes)
311+ let bc = W(j)
312+ if ((bc == a))
313+ then throw(((((("Referral invite needed. Current status: " + bc) + ", key:") + k(j)) + ", account:") + j))
314+ else WriteSet([DataEntry(m(j), aY), DataEntry(n(j), height), DataEntry(k(j), if ((bb == aB))
315+ then aB
316+ else az)])
309317 }
310318
311319
312320
313-@Callable(aS)
314-func userupdate (aU,aY) = {
315- let j = toBase58String(aS.caller.bytes)
316- WriteSet([DataEntry(m(j), aU), DataEntry(k(j), if ((aY == ay))
317- then ay
318- else aw)])
321+@Callable(aW)
322+func userupdate (aY,bb) = {
323+ let j = toBase58String(aW.caller.bytes)
324+ WriteSet([DataEntry(m(j), aY), DataEntry(k(j), if ((bb == aB))
325+ then aB
326+ else az)])
319327 }
320328
321329
322330
323-@Callable(aS)
324-func projupdate (p,aU) = {
325- let j = toBase58String(aS.caller.bytes)
326- if ((Y(p) != j))
331+@Callable(aW)
332+func projupdate (p,aY) = {
333+ let j = toBase58String(aW.caller.bytes)
334+ if ((aa(p) != j))
327335 then throw("You're not author")
328- else WriteSet([DataEntry(u(p), aU)])
336+ else WriteSet([DataEntry(u(p), aY)])
329337 }
330338
331339
332340
333-@Callable(aS)
334-func contestAddOrUpdate (p,aU) = {
335- let j = toBase58String(aS.caller.bytes)
336- if ((j != aL))
341+@Callable(aW)
342+func contestAddOrUpdate (p,aY) = {
343+ let j = toBase58String(aW.caller.bytes)
344+ if ((j != aO))
337345 then throw("You're not admin")
338- else WriteSet([DataEntry(v(p), aU)])
346+ else WriteSet([DataEntry(v(p), aY)])
339347 }
340348
341349
342350
343-@Callable(aS)
344-func withdraw () = {
345- let ba = toBase58String(aS.caller.bytes)
346- let bb = V(ba)
347- if ((0 >= bb))
351+@Callable(aW)
352+func withdraw (bd) = {
353+ let be = X(bd)
354+ if ((0 >= be))
348355 then throw("Not enough balance")
349- else ScriptResult(WriteSet([DataEntry(l(ba), 0)]), TransferSet([ScriptTransfer(aS.caller, bb, unit)]))
356+ else ScriptResult(WriteSet([DataEntry(l(bd), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(bd), be, unit)]))
350357 }
351358
352359
353360
354-@Callable(aS)
355-func additem (p,bc,bd,be,aU) = {
356- let j = toBase58String(aS.caller.bytes)
357- let bf = extract(aS.payment)
358- if (isDefined(bf.assetId))
361+@Callable(aW)
362+func additem (p,bf,bg,bh,aY) = {
363+ let j = toBase58String(aW.caller.bytes)
364+ let bi = extract(aW.payment)
365+ if (isDefined(bi.assetId))
359366 then throw("can use waves only at the moment")
360- else if ((bf.amount != aP))
361- then throw(((("Please pay exact amount for the listing: " + toString(aP)) + ", actual payment is: ") + toString(bf.amount)))
362- else if (!(if (if ((bc > 2))
363- then (bd > bc)
367+ else if ((bi.amount != aS))
368+ then throw(((("Please pay exact amount for the listing: " + toString(aS)) + ", actual payment is: ") + toString(bi.amount)))
369+ else if (!(if (if ((bf > 2))
370+ then (bg > bf)
364371 else false)
365- then (be > bd)
372+ then (bh > bg)
366373 else false))
367374 then throw("Incorrect time parameters")
368- else if ((Y(p) != a))
375+ else if ((aa(p) != a))
369376 then throw("Item already exist")
370- else WriteSet([DataEntry(o(p), j), DataEntry(q(p), height), DataEntry(r(p), (height + bc)), DataEntry(s(p), aP), DataEntry(t(p), aC), DataEntry(u(p), aU), DataEntry(w(p), (height + bd)), DataEntry(x(p), (height + be))])
377+ else WriteSet([DataEntry(o(p), j), DataEntry(q(p), height), DataEntry(r(p), (height + bf)), DataEntry(s(p), aS), DataEntry(t(p), aF), DataEntry(u(p), aY), DataEntry(w(p), (height + bg)), DataEntry(x(p), (height + bh))])
371378 }
372379
373380
374381
375-@Callable(aS)
376-func reportProject (p,aU) = {
377- let j = toBase58String(aS.caller.bytes)
378- WriteSet([DataEntry(z(p, j), aU)])
382+@Callable(aW)
383+func reportProject (p,aY) = {
384+ let j = toBase58String(aW.caller.bytes)
385+ WriteSet([DataEntry(z(p, j), aY)])
379386 }
380387
381388
382389
383-@Callable(aS)
384-func donate (p,bg,bh,bi) = {
385- let j = toBase58String(aS.caller.bytes)
386- let bf = extract(aS.payment)
387- if (isDefined(bf.assetId))
390+@Callable(aW)
391+func donate (p,bj,bk,bl) = {
392+ let j = toBase58String(aW.caller.bytes)
393+ let bi = extract(aW.payment)
394+ if (isDefined(bi.assetId))
388395 then throw("can use waves only at the moment")
389396 else {
390- let M = (aq(p, j) + 1)
391- let bj = (an(p) + ((if ((bh == aJ))
397+ let O = (as(p, j) + 1)
398+ let bm = (ap(p) + ((if ((bk == aM))
392399 then 1
393- else 0) * bf.amount))
394- let bk = (am(p) + ((if ((bh == aI))
400+ else 0) * bi.amount))
401+ let bn = (ao(p) + ((if ((bk == aL))
395402 then 1
396- else 0) * bf.amount))
397- if ((ac(p) != aC))
403+ else 0) * bi.amount))
404+ if ((ae(p) != aF))
398405 then throw("The project hasn't accepted by community")
399- else if ((height >= ae(p)))
406+ else if ((height >= ag(p)))
400407 then throw("The time for crowdfunding has expired")
401- else if ((bj >= bk))
408+ else if ((bm >= bn))
402409 then throw("Negative fund can't be higher than positive fund")
403- else if (if ((bh != aI))
404- then (bh != aJ)
410+ else if (if ((bk != aL))
411+ then (bk != aM)
405412 else false)
406413 then throw("Wrong mode parameter")
407- else if ((Y(p) == j))
414+ else if ((aa(p) == j))
408415 then throw("Can't donate own project")
409- else if ((bf.amount != aO[(bg - 1)]))
410- then throw(("The payment must be equal to tier amount: " + toString(aO[(bg - 1)])))
411- else WriteSet([DataEntry(J(p, j), M), DataEntry(H(p, j), (ao(p, j) + ((if ((bh == aI))
416+ else if ((bi.amount != aR[(bj - 1)]))
417+ then throw(("The payment must be equal to tier amount: " + toString(aR[(bj - 1)])))
418+ else WriteSet([DataEntry(J(p, j), O), DataEntry(H(p, j), (aq(p, j) + ((if ((bk == aL))
412419 then 1
413- else 0) * bf.amount))), DataEntry(I(p, j), (ap(p, j) + ((if ((bh == aJ))
420+ else 0) * bi.amount))), DataEntry(I(p, j), (ar(p, j) + ((if ((bk == aM))
414421 then 1
415- else 0) * bf.amount))), DataEntry(F(p), bk), DataEntry(G(p), bj), DataEntry(L(p, j, toString(M)), bi), DataEntry(N(p, j, toString(M)), bh), DataEntry(O(p, j, toString(M)), bg)])
422+ else 0) * bi.amount))), DataEntry(F(p), bn), DataEntry(G(p), bm), DataEntry(N(p, j, toString(O)), bl), DataEntry(P(p, j, toString(O)), bk), DataEntry(Q(p, j, toString(O)), bj)])
416423 }
417424 }
418425
419426
420427
421-@Callable(aS)
422-func whale (p,bi) = {
423- let j = toBase58String(aS.caller.bytes)
424- let bf = extract(aS.payment)
425- if (isDefined(bf.assetId))
428+@Callable(aW)
429+func whale (p,bl) = {
430+ let j = toBase58String(aW.caller.bytes)
431+ let bi = extract(aW.payment)
432+ if (isDefined(bi.assetId))
426433 then throw("can use waves only at the moment")
427- else if ((ac(p) != aC))
434+ else if ((ae(p) != aF))
428435 then throw("The project hasn't accepted by community")
429- else if ((ae(p) > height))
436+ else if ((ag(p) > height))
430437 then throw("The time for crowdfunding has not expired yet")
431- else if ((height > af(p)))
438+ else if ((height > ah(p)))
432439 then throw("The time for grant has expired")
433- else if ((ac(p) == aF))
440+ else if ((ae(p) == aI))
434441 then throw("Investement has already done")
435- else if ((((am(p) * aR) / 100) > bf.amount))
436- then throw((("Investement must be more than " + toString(aR)) + "% of supportes funds"))
437- else WriteSet([DataEntry(t(p), aF), DataEntry(Q(p, j), bi), DataEntry(l(Y(p)), (V(Y(p)) + am(p))), DataEntry(R(p), bf.amount)])
442+ else if ((((ao(p) * aU) / 100) > bi.amount))
443+ then throw((("Investement must be more than " + toString(aU)) + "% of supportes funds"))
444+ else {
445+ let bo = ((ao(p) * aU) / 100)
446+ let bp = (bi.amount - bo)
447+ WriteSet([DataEntry(t(p), aI), DataEntry(S(p, j), bl), DataEntry(l(aa(p)), ((X(aa(p)) + ao(p)) + bp)), DataEntry(T(p), bo)])
448+ }
438449 }
439450
440451
441452
442-@Callable(aS)
453+@Callable(aW)
443454 func claimwinnings (p,j) = {
444- let aZ = ac(p)
445- let bl = if ((aZ == aF))
455+ let bc = ae(p)
456+ let bq = if ((bc == aI))
446457 then 1
447458 else 0
448- let bm = if ((aZ != aF))
459+ let br = if ((bc != aI))
449460 then 1
450461 else 0
451- let bn = am(p)
452- let bo = an(p)
453- let bp = (((bl * (ao(p, j) * 100)) / (if ((0 >= bn))
462+ let bs = ao(p)
463+ let bt = ap(p)
464+ let bu = (((bq * (aq(p, j) * 100)) / (if ((0 >= bs))
454465 then 1
455- else bn)) + ((bm * (ap(p, j) * 100)) / (if ((0 >= bo))
466+ else bs)) + ((br * (ar(p, j) * 100)) / (if ((0 >= bt))
456467 then 1
457- else bo)))
458- let bq = ((bo * aR) / 100)
459- let br = ((bl * ((bp * bo) / 100)) + (bm * ((bp * (if ((bn > bq))
460- then bq
461- else bn)) / 100)))
462- let bs = (bl * ((bp * au(p)) / 100))
463- let bt = (((if ((Y(p) == j))
468+ else bt)))
469+ let bv = ((bt * aU) / 100)
470+ let bw = ((bq * ((bu * bt) / 100)) + (br * ((bu * (if ((bs > bv))
471+ then bv
472+ else bs)) / 100)))
473+ let bx = (bq * ((bu * aw(p)) / 100))
474+ let by = (((if ((aa(p) == j))
464475 then 1
465- else 0) * bn) * (if ((aZ != aF))
476+ else 0) * bs) * (if ((bc != aI))
466477 then 1
467478 else 0))
468- if ((aZ == aD))
479+ if ((bc == aG))
469480 then throw("The project hasn't accepted by community")
470- else if (if ((aZ != aF))
471- then (af(p) >= height)
472- else false)
473- then throw("The time for grant has not expired yet")
474- else if ((0 >= (bn + bo)))
475- then throw("The campaign wasn't active")
476- else WriteSet([DataEntry(l(j), (((V(j) + br) + bs) + bt)), DataEntry(t(p), if ((bt > 0))
477- then aE
478- else aZ), DataEntry(E(p, j), aH)])
481+ else if ((bc == aH))
482+ then throw("Status is cashout")
483+ else if ((an(p, j) == aK))
484+ then throw("Status is claimed")
485+ else if (if ((bu == 0))
486+ then (by == 0)
487+ else false)
488+ then throw("The share equals zero")
489+ else if (if ((bc != aI))
490+ then (ah(p) >= height)
491+ else false)
492+ then throw("The time for grant has not expired yet")
493+ else if ((0 >= (bs + bt)))
494+ then throw("The campaign wasn't active")
495+ else WriteSet([DataEntry(l(j), (((X(j) + bw) + bx) + by)), DataEntry(t(p), if ((by > 0))
496+ then aH
497+ else bc), DataEntry(E(p, j), aK)])
498+ }
499+
500+
501+
502+@Callable(aW)
503+func transfer (j) = {
504+ let bi = extract(aW.payment)
505+ if (isDefined(bi.assetId))
506+ then throw("can use waves only at the moment")
507+ else TransferSet([ScriptTransfer(addressFromStringValue(j), bi.amount, unit)])
479508 }
480509
481510
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
3434 func i (j) = ("wl_ref_" + j)
3535
3636
3737 func k (j) = ("wl_sts_" + j)
3838
3939
4040 func l (j) = ("balance_" + j)
4141
4242
4343 func m (j) = ("wl_bio_" + j)
4444
4545
4646 func n (j) = ("wl_blk_" + j)
4747
4848
4949 func o (p) = ("author_" + p)
5050
5151
5252 func q (p) = ("block_" + p)
5353
5454
5555 func r (p) = ("expiration_block_" + p)
5656
5757
5858 func s (p) = ("bank_" + p)
5959
6060
6161 func t (p) = ("status_" + p)
6262
6363
6464 func u (p) = ("datajson_" + p)
6565
6666
6767 func v (p) = ("contest_datajson_" + p)
6868
6969
7070 func w (p) = ("expiration_one_" + p)
7171
7272
7373 func x (p) = ("expiration_two_" + p)
7474
7575
7676 func y (p) = ("ncommits_" + p)
7777
7878
7979 func z (p,j) = ((("report_" + p) + "_") + j)
8080
8181
8282 func A (p,j) = ((("commit_" + p) + "_") + j)
8383
8484
8585 func B (p,j) = ((("reveal_" + p) + "_") + j)
8686
8787
8888 func C (p) = ("cnt_yes_" + p)
8989
9090
9191 func D (p) = ("cnt_no_" + p)
9292
9393
9494 func E (p,j) = ((("final_" + p) + "_") + j)
9595
9696
9797 func F (p) = ("positive_fund_" + p)
9898
9999
100100 func G (p) = ("negative_fund_" + p)
101101
102102
103103 func H (p,j) = ((F(p) + "_") + j)
104104
105105
106106 func I (p,j) = ((G(p) + "_") + j)
107107
108108
109109 func J (p,j) = ((("reviews_cnt_" + p) + "_") + j)
110110
111111
112112 func K (p,j) = ((("review_" + p) + "_") + j)
113113
114114
115-func L (p,j,M) = ((K(p, j) + "_text_id:") + M)
115+func L (M) = ("transfer_link_" + M)
116116
117117
118-func N (p,j,M) = ((K(p, j) + "_mode_id:") + M)
118+func N (p,j,O) = ((K(p, j) + "_text_id:") + O)
119119
120120
121-func O (p,j,M) = ((K(p, j) + "_tier_id:") + M)
121+func P (p,j,O) = ((K(p, j) + "_mode_id:") + O)
122122
123123
124-func P (p,j) = (K(p, j) + "_votereview")
124+func Q (p,j,O) = ((K(p, j) + "_tier_id:") + O)
125125
126126
127-func Q (p,j) = (K(p, j) + "_whalereview")
127+func R (p,j) = (K(p, j) + "_votereview")
128128
129129
130-func R (p) = ("buyout_amount_" + p)
130+func S (p,j) = (K(p, j) + "_whalereview")
131131
132132
133-func S (p,j) = ((("winnings_" + p) + "_") + j)
133+func T (p) = ("buyout_amount_" + p)
134134
135135
136-func T (j) = g(i(j))
136+func U (p,j) = ((("winnings_" + p) + "_") + j)
137137
138138
139-func U (j) = g(k(j))
139+func V (j) = g(i(j))
140140
141141
142-func V (j) = b(l(j))
142+func W (j) = g(k(j))
143143
144144
145-func W (j) = g(m(j))
145+func X (j) = b(l(j))
146146
147147
148-func X (j) = g(n(j))
148+func Y (j) = g(m(j))
149149
150150
151-func Y (p) = g(o(p))
151+func Z (j) = g(n(j))
152152
153153
154-func Z (p) = b(q(p))
154+func aa (p) = g(o(p))
155155
156156
157-func aa (p) = b(r(p))
157+func ab (p) = b(q(p))
158158
159159
160-func ab (p) = b(s(p))
160+func ac (p) = b(r(p))
161161
162162
163-func ac (p) = g(t(p))
163+func ad (p) = b(s(p))
164164
165165
166-func ad (p) = g(u(p))
166+func ae (p) = g(t(p))
167167
168168
169-func ae (p) = b(w(p))
169+func af (p) = g(u(p))
170170
171171
172-func af (p) = b(x(p))
172+func ag (p) = b(w(p))
173173
174174
175-func ag (p) = b(y(p))
175+func ah (p) = b(x(p))
176176
177177
178-func ah (p,j) = g(A(p, j))
178+func ai (p) = b(y(p))
179179
180180
181-func ai (p,j) = g(B(p, j))
181+func aj (p,j) = g(A(p, j))
182182
183183
184-func aj (p) = b(C(p))
184+func ak (p,j) = g(B(p, j))
185185
186186
187-func ak (p) = b(D(p))
187+func al (p) = b(C(p))
188188
189189
190-func al (p,j) = g(E(p, j))
190+func am (p) = b(D(p))
191191
192192
193-func am (p) = b(F(p))
193+func an (p,j) = g(E(p, j))
194194
195195
196-func an (p) = b(G(p))
196+func ao (p) = b(F(p))
197197
198198
199-func ao (p,j) = b(H(p, j))
199+func ap (p) = b(G(p))
200200
201201
202-func ap (p,j) = b(I(p, j))
202+func aq (p,j) = b(H(p, j))
203203
204204
205-func aq (p,j) = b(J(p, j))
205+func ar (p,j) = b(I(p, j))
206206
207207
208-func ar (p,j,M) = g(L(p, j, M))
208+func as (p,j) = b(J(p, j))
209209
210210
211-func as (p,j,M) = g(N(p, j, M))
211+func at (p,j,O) = g(N(p, j, O))
212212
213213
214-func at (p,j,M) = b(O(p, j, M))
214+func au (p,j,O) = g(P(p, j, O))
215215
216216
217-func au (p) = b(R(p))
217+func av (p,j,O) = b(Q(p, j, O))
218218
219219
220-func av (p,j) = b(S(p, j))
220+func aw (p) = b(T(p))
221221
222222
223-let aw = "registered"
223+func ax (p,j) = b(U(p, j))
224224
225-let ax = "invited"
226225
227-let ay = "whale"
226+func ay (M) = g(L(M))
228227
229-let az = "spend_invite"
230228
231-let aA = "voting_commit"
229+let az = "registered"
232230
233-let aB = "voting_reveal"
231+let aA = "invited"
234232
235-let aC = "featured"
233+let aB = "whale"
236234
237-let aD = "delisted"
235+let aC = "spend_invite"
238236
239-let aE = "cashout"
237+let aD = "voting_commit"
240238
241-let aF = "buyout"
239+let aE = "voting_reveal"
242240
243-let aG = "finished"
241+let aF = "featured"
244242
245-let aH = "claimed"
243+let aG = "delisted"
246244
247-let aI = "positive"
245+let aH = "cashout"
248246
249-let aJ = "negative"
247+let aI = "buyout"
250248
251-let aK = "3P8Fvy1yDwNHvVrabe4ek5b9dAwxFjDKV7R"
249+let aJ = "finished"
252250
253-let aL = "3MwMR1ZFfy712trHVLisizYmvRQwsg8z9Bn"
251+let aK = "claimed"
254252
255-let aM = 3
253+let aL = "positive"
256254
257-let aN = 2
255+let aM = "negative"
258256
259-let aO = [(3 * 100000000), (10 * 100000000), (100 * 100000000), (300 * 100000000), (1000 * 100000000)]
257+let aN = "3P8Fvy1yDwNHvVrabe4ek5b9dAwxFjDKV7R"
260258
261-let aP = (3 * 100000000)
259+let aO = "3P9NDxt9Y6ePfM9hkQysgSvbHJvihr56Z18"
262260
263-let aQ = (1 * 100000000)
261+let aP = 3
264262
265-let aR = 150
263+let aQ = 2
266264
267-@Callable(aS)
268-func inviteuser (aT,aU) = {
269- let j = toBase58String(aS.caller.bytes)
270- let aV = U(aT)
271- let aW = U(j)
272- if (if ((aV == aw))
265+let aR = [(3 * 100000000), (10 * 100000000), (100 * 100000000), (300 * 100000000), (1000 * 100000000)]
266+
267+let aS = (1 * 100000000)
268+
269+let aT = (1 * 100000000)
270+
271+let aU = 150
272+
273+let aV = "+"
274+
275+@Callable(aW)
276+func inviteuser (aX,aY) = {
277+ let j = toBase58String(aW.caller.bytes)
278+ let aZ = W(aX)
279+ let ba = W(j)
280+ if (if ((aZ == az))
273281 then true
274- else (aV == ay))
282+ else (aZ == aB))
275283 then throw("User has already been registered")
276- else if (if (if ((aW != aw))
277- then (j != aK)
284+ else if (if (if ((ba != az))
285+ then (j != aN)
278286 else false)
279- then (aW != ay)
287+ then (ba != aB)
280288 else false)
281- then throw(("Your account should be whitelisted. status: " + aW))
282- else WriteSet([DataEntry(i(aT), j), DataEntry(m(aT), aU), DataEntry(k(aT), ax)])
289+ then throw(("Your account should be whitelisted. status: " + ba))
290+ else WriteSet([DataEntry(i(aX), j), DataEntry(m(aX), aY), DataEntry(k(aX), aA)])
283291 }
284292
285293
286294
287-@Callable(aS)
288-func signupbylink (aX,aU,aY) = {
289- let j = toBase58String(aS.caller.bytes)
290- let aZ = U(aX)
291- if ((aZ != ax))
292- then throw(((((("Referral invite needed. Current status: " + aZ) + ", key:") + k(aX)) + ", account:") + aX))
293- else WriteSet([DataEntry(m(j), aU), DataEntry(n(j), height), DataEntry(k(j), if ((aY == ay))
294- then ay
295- else aw), DataEntry(k(aX), az), DataEntry(i(j), T(aX))])
295+@Callable(aW)
296+func signupbylink (M,aY,bb) = {
297+ let j = toBase58String(aW.caller.bytes)
298+ let bc = W(M)
299+ if ((bc != aA))
300+ then throw(((((("Referral invite needed. Current status: " + bc) + ", key:") + k(M)) + ", account:") + M))
301+ else WriteSet([DataEntry(m(j), aY), DataEntry(n(j), height), DataEntry(k(j), if ((bb == aB))
302+ then aB
303+ else az), DataEntry(k(M), aC), DataEntry(i(j), V(M))])
296304 }
297305
298306
299307
300-@Callable(aS)
301-func signup (aU,aY) = {
302- let j = toBase58String(aS.caller.bytes)
303- let aZ = U(j)
304- if ((aZ == a))
305- then throw(((((("Referral invite needed. Current status: " + aZ) + ", key:") + k(j)) + ", account:") + j))
306- else WriteSet([DataEntry(m(j), aU), DataEntry(n(j), height), DataEntry(k(j), if ((aY == ay))
307- then ay
308- else aw)])
308+@Callable(aW)
309+func signup (aY,bb) = {
310+ let j = toBase58String(aW.caller.bytes)
311+ let bc = W(j)
312+ if ((bc == a))
313+ then throw(((((("Referral invite needed. Current status: " + bc) + ", key:") + k(j)) + ", account:") + j))
314+ else WriteSet([DataEntry(m(j), aY), DataEntry(n(j), height), DataEntry(k(j), if ((bb == aB))
315+ then aB
316+ else az)])
309317 }
310318
311319
312320
313-@Callable(aS)
314-func userupdate (aU,aY) = {
315- let j = toBase58String(aS.caller.bytes)
316- WriteSet([DataEntry(m(j), aU), DataEntry(k(j), if ((aY == ay))
317- then ay
318- else aw)])
321+@Callable(aW)
322+func userupdate (aY,bb) = {
323+ let j = toBase58String(aW.caller.bytes)
324+ WriteSet([DataEntry(m(j), aY), DataEntry(k(j), if ((bb == aB))
325+ then aB
326+ else az)])
319327 }
320328
321329
322330
323-@Callable(aS)
324-func projupdate (p,aU) = {
325- let j = toBase58String(aS.caller.bytes)
326- if ((Y(p) != j))
331+@Callable(aW)
332+func projupdate (p,aY) = {
333+ let j = toBase58String(aW.caller.bytes)
334+ if ((aa(p) != j))
327335 then throw("You're not author")
328- else WriteSet([DataEntry(u(p), aU)])
336+ else WriteSet([DataEntry(u(p), aY)])
329337 }
330338
331339
332340
333-@Callable(aS)
334-func contestAddOrUpdate (p,aU) = {
335- let j = toBase58String(aS.caller.bytes)
336- if ((j != aL))
341+@Callable(aW)
342+func contestAddOrUpdate (p,aY) = {
343+ let j = toBase58String(aW.caller.bytes)
344+ if ((j != aO))
337345 then throw("You're not admin")
338- else WriteSet([DataEntry(v(p), aU)])
346+ else WriteSet([DataEntry(v(p), aY)])
339347 }
340348
341349
342350
343-@Callable(aS)
344-func withdraw () = {
345- let ba = toBase58String(aS.caller.bytes)
346- let bb = V(ba)
347- if ((0 >= bb))
351+@Callable(aW)
352+func withdraw (bd) = {
353+ let be = X(bd)
354+ if ((0 >= be))
348355 then throw("Not enough balance")
349- else ScriptResult(WriteSet([DataEntry(l(ba), 0)]), TransferSet([ScriptTransfer(aS.caller, bb, unit)]))
356+ else ScriptResult(WriteSet([DataEntry(l(bd), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(bd), be, unit)]))
350357 }
351358
352359
353360
354-@Callable(aS)
355-func additem (p,bc,bd,be,aU) = {
356- let j = toBase58String(aS.caller.bytes)
357- let bf = extract(aS.payment)
358- if (isDefined(bf.assetId))
361+@Callable(aW)
362+func additem (p,bf,bg,bh,aY) = {
363+ let j = toBase58String(aW.caller.bytes)
364+ let bi = extract(aW.payment)
365+ if (isDefined(bi.assetId))
359366 then throw("can use waves only at the moment")
360- else if ((bf.amount != aP))
361- then throw(((("Please pay exact amount for the listing: " + toString(aP)) + ", actual payment is: ") + toString(bf.amount)))
362- else if (!(if (if ((bc > 2))
363- then (bd > bc)
367+ else if ((bi.amount != aS))
368+ then throw(((("Please pay exact amount for the listing: " + toString(aS)) + ", actual payment is: ") + toString(bi.amount)))
369+ else if (!(if (if ((bf > 2))
370+ then (bg > bf)
364371 else false)
365- then (be > bd)
372+ then (bh > bg)
366373 else false))
367374 then throw("Incorrect time parameters")
368- else if ((Y(p) != a))
375+ else if ((aa(p) != a))
369376 then throw("Item already exist")
370- else WriteSet([DataEntry(o(p), j), DataEntry(q(p), height), DataEntry(r(p), (height + bc)), DataEntry(s(p), aP), DataEntry(t(p), aC), DataEntry(u(p), aU), DataEntry(w(p), (height + bd)), DataEntry(x(p), (height + be))])
377+ else WriteSet([DataEntry(o(p), j), DataEntry(q(p), height), DataEntry(r(p), (height + bf)), DataEntry(s(p), aS), DataEntry(t(p), aF), DataEntry(u(p), aY), DataEntry(w(p), (height + bg)), DataEntry(x(p), (height + bh))])
371378 }
372379
373380
374381
375-@Callable(aS)
376-func reportProject (p,aU) = {
377- let j = toBase58String(aS.caller.bytes)
378- WriteSet([DataEntry(z(p, j), aU)])
382+@Callable(aW)
383+func reportProject (p,aY) = {
384+ let j = toBase58String(aW.caller.bytes)
385+ WriteSet([DataEntry(z(p, j), aY)])
379386 }
380387
381388
382389
383-@Callable(aS)
384-func donate (p,bg,bh,bi) = {
385- let j = toBase58String(aS.caller.bytes)
386- let bf = extract(aS.payment)
387- if (isDefined(bf.assetId))
390+@Callable(aW)
391+func donate (p,bj,bk,bl) = {
392+ let j = toBase58String(aW.caller.bytes)
393+ let bi = extract(aW.payment)
394+ if (isDefined(bi.assetId))
388395 then throw("can use waves only at the moment")
389396 else {
390- let M = (aq(p, j) + 1)
391- let bj = (an(p) + ((if ((bh == aJ))
397+ let O = (as(p, j) + 1)
398+ let bm = (ap(p) + ((if ((bk == aM))
392399 then 1
393- else 0) * bf.amount))
394- let bk = (am(p) + ((if ((bh == aI))
400+ else 0) * bi.amount))
401+ let bn = (ao(p) + ((if ((bk == aL))
395402 then 1
396- else 0) * bf.amount))
397- if ((ac(p) != aC))
403+ else 0) * bi.amount))
404+ if ((ae(p) != aF))
398405 then throw("The project hasn't accepted by community")
399- else if ((height >= ae(p)))
406+ else if ((height >= ag(p)))
400407 then throw("The time for crowdfunding has expired")
401- else if ((bj >= bk))
408+ else if ((bm >= bn))
402409 then throw("Negative fund can't be higher than positive fund")
403- else if (if ((bh != aI))
404- then (bh != aJ)
410+ else if (if ((bk != aL))
411+ then (bk != aM)
405412 else false)
406413 then throw("Wrong mode parameter")
407- else if ((Y(p) == j))
414+ else if ((aa(p) == j))
408415 then throw("Can't donate own project")
409- else if ((bf.amount != aO[(bg - 1)]))
410- then throw(("The payment must be equal to tier amount: " + toString(aO[(bg - 1)])))
411- else WriteSet([DataEntry(J(p, j), M), DataEntry(H(p, j), (ao(p, j) + ((if ((bh == aI))
416+ else if ((bi.amount != aR[(bj - 1)]))
417+ then throw(("The payment must be equal to tier amount: " + toString(aR[(bj - 1)])))
418+ else WriteSet([DataEntry(J(p, j), O), DataEntry(H(p, j), (aq(p, j) + ((if ((bk == aL))
412419 then 1
413- else 0) * bf.amount))), DataEntry(I(p, j), (ap(p, j) + ((if ((bh == aJ))
420+ else 0) * bi.amount))), DataEntry(I(p, j), (ar(p, j) + ((if ((bk == aM))
414421 then 1
415- else 0) * bf.amount))), DataEntry(F(p), bk), DataEntry(G(p), bj), DataEntry(L(p, j, toString(M)), bi), DataEntry(N(p, j, toString(M)), bh), DataEntry(O(p, j, toString(M)), bg)])
422+ else 0) * bi.amount))), DataEntry(F(p), bn), DataEntry(G(p), bm), DataEntry(N(p, j, toString(O)), bl), DataEntry(P(p, j, toString(O)), bk), DataEntry(Q(p, j, toString(O)), bj)])
416423 }
417424 }
418425
419426
420427
421-@Callable(aS)
422-func whale (p,bi) = {
423- let j = toBase58String(aS.caller.bytes)
424- let bf = extract(aS.payment)
425- if (isDefined(bf.assetId))
428+@Callable(aW)
429+func whale (p,bl) = {
430+ let j = toBase58String(aW.caller.bytes)
431+ let bi = extract(aW.payment)
432+ if (isDefined(bi.assetId))
426433 then throw("can use waves only at the moment")
427- else if ((ac(p) != aC))
434+ else if ((ae(p) != aF))
428435 then throw("The project hasn't accepted by community")
429- else if ((ae(p) > height))
436+ else if ((ag(p) > height))
430437 then throw("The time for crowdfunding has not expired yet")
431- else if ((height > af(p)))
438+ else if ((height > ah(p)))
432439 then throw("The time for grant has expired")
433- else if ((ac(p) == aF))
440+ else if ((ae(p) == aI))
434441 then throw("Investement has already done")
435- else if ((((am(p) * aR) / 100) > bf.amount))
436- then throw((("Investement must be more than " + toString(aR)) + "% of supportes funds"))
437- else WriteSet([DataEntry(t(p), aF), DataEntry(Q(p, j), bi), DataEntry(l(Y(p)), (V(Y(p)) + am(p))), DataEntry(R(p), bf.amount)])
442+ else if ((((ao(p) * aU) / 100) > bi.amount))
443+ then throw((("Investement must be more than " + toString(aU)) + "% of supportes funds"))
444+ else {
445+ let bo = ((ao(p) * aU) / 100)
446+ let bp = (bi.amount - bo)
447+ WriteSet([DataEntry(t(p), aI), DataEntry(S(p, j), bl), DataEntry(l(aa(p)), ((X(aa(p)) + ao(p)) + bp)), DataEntry(T(p), bo)])
448+ }
438449 }
439450
440451
441452
442-@Callable(aS)
453+@Callable(aW)
443454 func claimwinnings (p,j) = {
444- let aZ = ac(p)
445- let bl = if ((aZ == aF))
455+ let bc = ae(p)
456+ let bq = if ((bc == aI))
446457 then 1
447458 else 0
448- let bm = if ((aZ != aF))
459+ let br = if ((bc != aI))
449460 then 1
450461 else 0
451- let bn = am(p)
452- let bo = an(p)
453- let bp = (((bl * (ao(p, j) * 100)) / (if ((0 >= bn))
462+ let bs = ao(p)
463+ let bt = ap(p)
464+ let bu = (((bq * (aq(p, j) * 100)) / (if ((0 >= bs))
454465 then 1
455- else bn)) + ((bm * (ap(p, j) * 100)) / (if ((0 >= bo))
466+ else bs)) + ((br * (ar(p, j) * 100)) / (if ((0 >= bt))
456467 then 1
457- else bo)))
458- let bq = ((bo * aR) / 100)
459- let br = ((bl * ((bp * bo) / 100)) + (bm * ((bp * (if ((bn > bq))
460- then bq
461- else bn)) / 100)))
462- let bs = (bl * ((bp * au(p)) / 100))
463- let bt = (((if ((Y(p) == j))
468+ else bt)))
469+ let bv = ((bt * aU) / 100)
470+ let bw = ((bq * ((bu * bt) / 100)) + (br * ((bu * (if ((bs > bv))
471+ then bv
472+ else bs)) / 100)))
473+ let bx = (bq * ((bu * aw(p)) / 100))
474+ let by = (((if ((aa(p) == j))
464475 then 1
465- else 0) * bn) * (if ((aZ != aF))
476+ else 0) * bs) * (if ((bc != aI))
466477 then 1
467478 else 0))
468- if ((aZ == aD))
479+ if ((bc == aG))
469480 then throw("The project hasn't accepted by community")
470- else if (if ((aZ != aF))
471- then (af(p) >= height)
472- else false)
473- then throw("The time for grant has not expired yet")
474- else if ((0 >= (bn + bo)))
475- then throw("The campaign wasn't active")
476- else WriteSet([DataEntry(l(j), (((V(j) + br) + bs) + bt)), DataEntry(t(p), if ((bt > 0))
477- then aE
478- else aZ), DataEntry(E(p, j), aH)])
481+ else if ((bc == aH))
482+ then throw("Status is cashout")
483+ else if ((an(p, j) == aK))
484+ then throw("Status is claimed")
485+ else if (if ((bu == 0))
486+ then (by == 0)
487+ else false)
488+ then throw("The share equals zero")
489+ else if (if ((bc != aI))
490+ then (ah(p) >= height)
491+ else false)
492+ then throw("The time for grant has not expired yet")
493+ else if ((0 >= (bs + bt)))
494+ then throw("The campaign wasn't active")
495+ else WriteSet([DataEntry(l(j), (((X(j) + bw) + bx) + by)), DataEntry(t(p), if ((by > 0))
496+ then aH
497+ else bc), DataEntry(E(p, j), aK)])
498+ }
499+
500+
501+
502+@Callable(aW)
503+func transfer (j) = {
504+ let bi = extract(aW.payment)
505+ if (isDefined(bi.assetId))
506+ then throw("can use waves only at the moment")
507+ else TransferSet([ScriptTransfer(addressFromStringValue(j), bi.amount, unit)])
479508 }
480509
481510

github/deemru/w8io/3ef1775 
291.66 ms