tx · BDocuaifFSLAz4RiAGDsr2FNdNN3CcTV8n2TprPSBTiH

3NBB3iv7YDRsD8ZM2Pw2V5eTcsfqh3j2mvF:  -0.01400000 Waves

2019.09.30 23:42 [699682] smart account 3NBB3iv7YDRsD8ZM2Pw2V5eTcsfqh3j2mvF > SELF 0.00000000 Waves

{ "type": 13, "id": "BDocuaifFSLAz4RiAGDsr2FNdNN3CcTV8n2TprPSBTiH", "fee": 1400000, "feeAssetId": null, "timestamp": 1569876167365, "version": 1, "sender": "3NBB3iv7YDRsD8ZM2Pw2V5eTcsfqh3j2mvF", "senderPublicKey": "9i5FpMUFCwhogG5euZDBZKV6NehQN4xX83qvNr8NWipE", "proofs": [ "2bXNhyfg1dw6n9DL1bgVL3uwKMaNaqE4ETjq6Z3qjavX7YSEP8roJHCcijjvqCEm5CWB4FFEXzBHeWFAQiCD2Ldj" ], "script": "base64:AAIDAAAAAAAAAAAAAABdAAAAAAROT05FAgAAAARub25lAQAAAA5nZXROdW1iZXJCeUtleQAAAAEAAAADa2V5BAAAAANudW0EAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAFAAAAA251bQEAAAALZ2V0U3RyQnlLZXkAAAABAAAAA2tleQQAAAADc3RyBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhBQAAAAROT05FBQAAAANzdHIBAAAAEmdldEtleVdoaXRlbGlzdFJlZgAAAAEAAAAHYWNjb3VudAkAASwAAAACAgAAAAd3bF9yZWZfBQAAAAdhY2NvdW50AQAAABVnZXRLZXlXaGl0ZWxpc3RTdGF0dXMAAAABAAAAB2FjY291bnQJAAEsAAAAAgIAAAAHd2xfc3RzXwUAAAAHYWNjb3VudAEAAAANZ2V0S2V5QmFsYW5jZQAAAAEAAAAHYWNjb3VudAkAASwAAAACAgAAAAhiYWxhbmNlXwUAAAAHYWNjb3VudAEAAAASZ2V0S2V5V2hpdGVsaXN0QmlvAAAAAQAAAAdhY2NvdW50CQABLAAAAAICAAAAB3dsX2Jpb18FAAAAB2FjY291bnQBAAAAFGdldEtleVdoaXRlbGlzdEJsb2NrAAAAAQAAAAdhY2NvdW50CQABLAAAAAICAAAAB3dsX2Jsa18FAAAAB2FjY291bnQBAAAAEGdldEtleUl0ZW1BdXRob3IAAAABAAAABGl0ZW0JAAEsAAAAAgIAAAAHYXV0aG9yXwUAAAAEaXRlbQEAAAAPZ2V0S2V5SXRlbUJsb2NrAAAAAQAAAARpdGVtCQABLAAAAAICAAAABmJsb2NrXwUAAAAEaXRlbQEAAAAaZ2V0S2V5SXRlbVZvdGluZ0V4cGlyYXRpb24AAAABAAAABGl0ZW0JAAEsAAAAAgIAAAARZXhwaXJhdGlvbl9ibG9ja18FAAAABGl0ZW0BAAAADmdldEtleUl0ZW1CYW5rAAAAAQAAAARpdGVtCQABLAAAAAICAAAABWJhbmtfBQAAAARpdGVtAQAAABBnZXRLZXlJdGVtU3RhdHVzAAAAAQAAAARpdGVtCQABLAAAAAICAAAAB3N0YXR1c18FAAAABGl0ZW0BAAAADmdldEtleUl0ZW1EYXRhAAAAAQAAAARpdGVtCQABLAAAAAICAAAACWRhdGFqc29uXwUAAAAEaXRlbQEAAAARZ2V0S2V5Q29udGVzdERhdGEAAAABAAAABGl0ZW0JAAEsAAAAAgIAAAARY29udGVzdF9kYXRhanNvbl8FAAAABGl0ZW0BAAAAGWdldEtleUl0ZW1Dcm93ZEV4cGlyYXRpb24AAAABAAAABGl0ZW0JAAEsAAAAAgIAAAAPZXhwaXJhdGlvbl9vbmVfBQAAAARpdGVtAQAAABlnZXRLZXlJdGVtV2hhbGVFeHBpcmF0aW9uAAAAAQAAAARpdGVtCQABLAAAAAICAAAAD2V4cGlyYXRpb25fdHdvXwUAAAAEaXRlbQEAAAASZ2V0S2V5SXRlbU5Db21taXRzAAAAAQAAAARpdGVtCQABLAAAAAICAAAACW5jb21taXRzXwUAAAAEaXRlbQEAAAAXZ2V0S2V5SXRlbUFjY1JlcG9ydERhdGEAAAACAAAABGl0ZW0AAAAHYWNjb3VudAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAHcmVwb3J0XwUAAAAEaXRlbQIAAAABXwUAAAAHYWNjb3VudAEAAAATZ2V0S2V5SXRlbUFjY0NvbW1pdAAAAAIAAAAEaXRlbQAAAAdhY2NvdW50CQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAdjb21taXRfBQAAAARpdGVtAgAAAAFfBQAAAAdhY2NvdW50AQAAABNnZXRLZXlJdGVtQWNjUmV2ZWFsAAAAAgAAAARpdGVtAAAAB2FjY291bnQJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAB3JldmVhbF8FAAAABGl0ZW0CAAAAAV8FAAAAB2FjY291bnQBAAAAEmdldEtleUl0ZW1Wb3Rlc1llcwAAAAEAAAAEaXRlbQkAASwAAAACAgAAAAhjbnRfeWVzXwUAAAAEaXRlbQEAAAARZ2V0S2V5SXRlbVZvdGVzTm8AAAABAAAABGl0ZW0JAAEsAAAAAgIAAAAHY250X25vXwUAAAAEaXRlbQEAAAASZ2V0S2V5SXRlbUFjY0ZpbmFsAAAAAgAAAARpdGVtAAAAB2FjY291bnQJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABmZpbmFsXwUAAAAEaXRlbQIAAAABXwUAAAAHYWNjb3VudAEAAAAWZ2V0S2V5SXRlbUZ1bmRQb3NpdGl2ZQAAAAEAAAAEaXRlbQkAASwAAAACAgAAAA5wb3NpdGl2ZV9mdW5kXwUAAAAEaXRlbQEAAAAWZ2V0S2V5SXRlbUZ1bmROZWdhdGl2ZQAAAAEAAAAEaXRlbQkAASwAAAACAgAAAA5uZWdhdGl2ZV9mdW5kXwUAAAAEaXRlbQEAAAAZZ2V0S2V5SXRlbUFjY0Z1bmRQb3NpdGl2ZQAAAAIAAAAEaXRlbQAAAAdhY2NvdW50CQABLAAAAAIJAAEsAAAAAgkBAAAAFmdldEtleUl0ZW1GdW5kUG9zaXRpdmUAAAABBQAAAARpdGVtAgAAAAFfBQAAAAdhY2NvdW50AQAAABlnZXRLZXlJdGVtQWNjRnVuZE5lZ2F0aXZlAAAAAgAAAARpdGVtAAAAB2FjY291bnQJAAEsAAAAAgkAASwAAAACCQEAAAAWZ2V0S2V5SXRlbUZ1bmROZWdhdGl2ZQAAAAEFAAAABGl0ZW0CAAAAAV8FAAAAB2FjY291bnQBAAAAF2dldEtleUl0ZW1BY2NSZXZpZXdzQ250AAAAAgAAAARpdGVtAAAAB2FjY291bnQJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAADHJldmlld3NfY250XwUAAAAEaXRlbQIAAAABXwUAAAAHYWNjb3VudAEAAAATZ2V0S2V5SXRlbUFjY1JldmlldwAAAAIAAAAEaXRlbQAAAAdhY2NvdW50CQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAdyZXZpZXdfBQAAAARpdGVtAgAAAAFfBQAAAAdhY2NvdW50AQAAABJnZXRLZXlUcmFuc2ZlckxpbmsAAAABAAAABGhhc2gJAAEsAAAAAgIAAAAOdHJhbnNmZXJfbGlua18FAAAABGhhc2gBAAAAF2dldEtleUl0ZW1BY2NSZXZpZXdUZXh0AAAAAwAAAARpdGVtAAAAB2FjY291bnQAAAADY250CQABLAAAAAIJAAEsAAAAAgkBAAAAE2dldEtleUl0ZW1BY2NSZXZpZXcAAAACBQAAAARpdGVtBQAAAAdhY2NvdW50AgAAAAlfdGV4dF9pZDoFAAAAA2NudAEAAAAXZ2V0S2V5SXRlbUFjY1Jldmlld01vZGUAAAADAAAABGl0ZW0AAAAHYWNjb3VudAAAAANjbnQJAAEsAAAAAgkAASwAAAACCQEAAAATZ2V0S2V5SXRlbUFjY1JldmlldwAAAAIFAAAABGl0ZW0FAAAAB2FjY291bnQCAAAACV9tb2RlX2lkOgUAAAADY250AQAAABdnZXRLZXlJdGVtQWNjUmV2aWV3VGllcgAAAAMAAAAEaXRlbQAAAAdhY2NvdW50AAAAA2NudAkAASwAAAACCQABLAAAAAIJAQAAABNnZXRLZXlJdGVtQWNjUmV2aWV3AAAAAgUAAAAEaXRlbQUAAAAHYWNjb3VudAIAAAAJX3RpZXJfaWQ6BQAAAANjbnQBAAAAG2dldEtleUl0ZW1BY2NWb3RlUmV2aWV3VGV4dAAAAAIAAAAEaXRlbQAAAAdhY2NvdW50CQABLAAAAAIJAQAAABNnZXRLZXlJdGVtQWNjUmV2aWV3AAAAAgUAAAAEaXRlbQUAAAAHYWNjb3VudAIAAAALX3ZvdGVyZXZpZXcBAAAAHGdldEtleUl0ZW1BY2NXaGFsZVJldmlld1RleHQAAAACAAAABGl0ZW0AAAAHYWNjb3VudAkAASwAAAACCQEAAAATZ2V0S2V5SXRlbUFjY1JldmlldwAAAAIFAAAABGl0ZW0FAAAAB2FjY291bnQCAAAADF93aGFsZXJldmlldwEAAAAWZ2V0S2V5SXRlbUJ1eW91dEFtb3VudAAAAAEAAAAEaXRlbQkAASwAAAACAgAAAA5idXlvdXRfYW1vdW50XwUAAAAEaXRlbQEAAAAVZ2V0S2V5SXRlbUFjY1dpbm5pbmdzAAAAAgAAAARpdGVtAAAAB2FjY291bnQJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACXdpbm5pbmdzXwUAAAAEaXRlbQIAAAABXwUAAAAHYWNjb3VudAEAAAAUZ2V0VmFsdWVXaGl0ZWxpc3RSZWYAAAABAAAAB2FjY291bnQJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABJnZXRLZXlXaGl0ZWxpc3RSZWYAAAABBQAAAAdhY2NvdW50AQAAABdnZXRWYWx1ZVdoaXRlbGlzdFN0YXR1cwAAAAEAAAAHYWNjb3VudAkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAFWdldEtleVdoaXRlbGlzdFN0YXR1cwAAAAEFAAAAB2FjY291bnQBAAAAD2dldFZhbHVlQmFsYW5jZQAAAAEAAAAHYWNjb3VudAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAADWdldEtleUJhbGFuY2UAAAABBQAAAAdhY2NvdW50AQAAABRnZXRWYWx1ZVdoaXRlbGlzdEJpbwAAAAEAAAAHYWNjb3VudAkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEmdldEtleVdoaXRlbGlzdEJpbwAAAAEFAAAAB2FjY291bnQBAAAAFmdldFZhbHVlV2hpdGVsaXN0QmxvY2sAAAABAAAAB2FjY291bnQJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABRnZXRLZXlXaGl0ZWxpc3RCbG9jawAAAAEFAAAAB2FjY291bnQBAAAAEmdldFZhbHVlSXRlbUF1dGhvcgAAAAEAAAAEaXRlbQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEGdldEtleUl0ZW1BdXRob3IAAAABBQAAAARpdGVtAQAAABFnZXRWYWx1ZUl0ZW1CbG9jawAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAD2dldEtleUl0ZW1CbG9jawAAAAEFAAAABGl0ZW0BAAAAHGdldFZhbHVlSXRlbVZvdGluZ0V4cGlyYXRpb24AAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABpnZXRLZXlJdGVtVm90aW5nRXhwaXJhdGlvbgAAAAEFAAAABGl0ZW0BAAAAEGdldFZhbHVlSXRlbUJhbmsAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAA5nZXRLZXlJdGVtQmFuawAAAAEFAAAABGl0ZW0BAAAAEmdldFZhbHVlSXRlbVN0YXR1cwAAAAEAAAAEaXRlbQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEGdldEtleUl0ZW1TdGF0dXMAAAABBQAAAARpdGVtAQAAABBnZXRWYWx1ZUl0ZW1EYXRhAAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAOZ2V0S2V5SXRlbURhdGEAAAABBQAAAARpdGVtAQAAABtnZXRWYWx1ZUl0ZW1Dcm93ZEV4cGlyYXRpb24AAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABlnZXRLZXlJdGVtQ3Jvd2RFeHBpcmF0aW9uAAAAAQUAAAAEaXRlbQEAAAAbZ2V0VmFsdWVJdGVtV2hhbGVFeHBpcmF0aW9uAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAZZ2V0S2V5SXRlbVdoYWxlRXhwaXJhdGlvbgAAAAEFAAAABGl0ZW0BAAAAFGdldFZhbHVlSXRlbU5Db21taXRzAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAASZ2V0S2V5SXRlbU5Db21taXRzAAAAAQUAAAAEaXRlbQEAAAAVZ2V0VmFsdWVJdGVtQWNjQ29tbWl0AAAAAgAAAARpdGVtAAAAB2FjY291bnQJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABNnZXRLZXlJdGVtQWNjQ29tbWl0AAAAAgUAAAAEaXRlbQUAAAAHYWNjb3VudAEAAAAVZ2V0VmFsdWVJdGVtQWNjUmV2ZWFsAAAAAgAAAARpdGVtAAAAB2FjY291bnQJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABNnZXRLZXlJdGVtQWNjUmV2ZWFsAAAAAgUAAAAEaXRlbQUAAAAHYWNjb3VudAEAAAAUZ2V0VmFsdWVJdGVtVm90ZXNZZXMAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABJnZXRLZXlJdGVtVm90ZXNZZXMAAAABBQAAAARpdGVtAQAAABNnZXRWYWx1ZUl0ZW1Wb3Rlc05vAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAARZ2V0S2V5SXRlbVZvdGVzTm8AAAABBQAAAARpdGVtAQAAABRnZXRWYWx1ZUl0ZW1BY2NGaW5hbAAAAAIAAAAEaXRlbQAAAAdhY2NvdW50CQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAASZ2V0S2V5SXRlbUFjY0ZpbmFsAAAAAgUAAAAEaXRlbQUAAAAHYWNjb3VudAEAAAAYZ2V0VmFsdWVJdGVtRnVuZFBvc2l0aXZlAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAWZ2V0S2V5SXRlbUZ1bmRQb3NpdGl2ZQAAAAEFAAAABGl0ZW0BAAAAGGdldFZhbHVlSXRlbUZ1bmROZWdhdGl2ZQAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFmdldEtleUl0ZW1GdW5kTmVnYXRpdmUAAAABBQAAAARpdGVtAQAAABtnZXRWYWx1ZUl0ZW1BY2NGdW5kUG9zaXRpdmUAAAACAAAABGl0ZW0AAAAHYWNjb3VudAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAGWdldEtleUl0ZW1BY2NGdW5kUG9zaXRpdmUAAAACBQAAAARpdGVtBQAAAAdhY2NvdW50AQAAABtnZXRWYWx1ZUl0ZW1BY2NGdW5kTmVnYXRpdmUAAAACAAAABGl0ZW0AAAAHYWNjb3VudAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAGWdldEtleUl0ZW1BY2NGdW5kTmVnYXRpdmUAAAACBQAAAARpdGVtBQAAAAdhY2NvdW50AQAAABlnZXRWYWx1ZUl0ZW1BY2NSZXZpZXdzQ250AAAAAgAAAARpdGVtAAAAB2FjY291bnQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABdnZXRLZXlJdGVtQWNjUmV2aWV3c0NudAAAAAIFAAAABGl0ZW0FAAAAB2FjY291bnQBAAAAGWdldFZhbHVlSXRlbUFjY1Jldmlld1RleHQAAAADAAAABGl0ZW0AAAAHYWNjb3VudAAAAANjbnQJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABdnZXRLZXlJdGVtQWNjUmV2aWV3VGV4dAAAAAMFAAAABGl0ZW0FAAAAB2FjY291bnQFAAAAA2NudAEAAAAZZ2V0VmFsdWVJdGVtQWNjUmV2aWV3TW9kZQAAAAMAAAAEaXRlbQAAAAdhY2NvdW50AAAAA2NudAkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAF2dldEtleUl0ZW1BY2NSZXZpZXdNb2RlAAAAAwUAAAAEaXRlbQUAAAAHYWNjb3VudAUAAAADY250AQAAABlnZXRWYWx1ZUl0ZW1BY2NSZXZpZXdUaWVyAAAAAwAAAARpdGVtAAAAB2FjY291bnQAAAADY250CQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAXZ2V0S2V5SXRlbUFjY1Jldmlld1RpZXIAAAADBQAAAARpdGVtBQAAAAdhY2NvdW50BQAAAANjbnQBAAAAGGdldFZhbHVlSXRlbUJ1eW91dEFtb3VudAAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFmdldEtleUl0ZW1CdXlvdXRBbW91bnQAAAABBQAAAARpdGVtAQAAABdnZXRWYWx1ZUl0ZW1BY2NXaW5uaW5ncwAAAAIAAAAEaXRlbQAAAAdhY2NvdW50CQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAVZ2V0S2V5SXRlbUFjY1dpbm5pbmdzAAAAAgUAAAAEaXRlbQUAAAAHYWNjb3VudAEAAAAPZ2V0VHJhbnNmZXJMaW5rAAAAAQAAAARoYXNoCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAASZ2V0S2V5VHJhbnNmZXJMaW5rAAAAAQUAAAAEaGFzaAAAAAALV0hJVEVMSVNURUQCAAAACnJlZ2lzdGVyZWQAAAAAB0lOVklURUQCAAAAB2ludml0ZWQAAAAABVdIQUxFAgAAAAV3aGFsZQAAAAALU1BFTkRJTlZJVEUCAAAADHNwZW5kX2ludml0ZQAAAAAGQ09NTUlUAgAAAA12b3RpbmdfY29tbWl0AAAAAAZSRVZFQUwCAAAADXZvdGluZ19yZXZlYWwAAAAACEZFQVRVUkVEAgAAAAhmZWF0dXJlZAAAAAAIREVMSVNURUQCAAAACGRlbGlzdGVkAAAAAAdDQVNIT1VUAgAAAAdjYXNob3V0AAAAAAZCVVlPVVQCAAAABmJ1eW91dAAAAAAIRklOSVNIRUQCAAAACGZpbmlzaGVkAAAAAAdDTEFJTUVEAgAAAAdjbGFpbWVkAAAAAAhQT1NJVElWRQIAAAAIcG9zaXRpdmUAAAAACE5FR0FUSVZFAgAAAAhuZWdhdGl2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", "chainId": 84, "height": 699682, "spentComplexity": 0 } View: original | compacted Prev: GaDrKbipb4oa46YZHzDvYC4jR18xaTTneDtPDwXM1JZJ Next: 7vnKfVCXK9gTDXKDvz6CCi43qrBybqQcZpH3ATv7QDe6 Diff:
OldNewDifferences
258258
259259 let aO = "3P9NDxt9Y6ePfM9hkQysgSvbHJvihr56Z18"
260260
261-let aP = 3
261+let aP = "3P3MUCvJjviJaxMUe743LVez3qThbL7U8uP"
262262
263-let aQ = 2
263+let aQ = fromBase58String("HFihJLdaHxcfRykbmqXigTyi5XfWS8fHwPJaMBZ2f7t3")
264264
265-let aR = [(3 * 100000000), (10 * 100000000), (100 * 100000000), (300 * 100000000), (1000 * 100000000)]
265+let aR = 3
266266
267-let aS = (1 * 100000000)
267+let aS = 2
268268
269-let aT = (1 * 100000000)
269+let aT = [(3 * 100000000), (10 * 100000000), (100 * 100000000), (300 * 100000000), (1000 * 100000000)]
270270
271-let aU = 150
271+let aU = (1 * 100000000)
272272
273-let aV = "+"
273+let aV = (1 * 100000000)
274274
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))
275+let aW = 150
276+
277+let aX = "+"
278+
279+@Callable(aY)
280+func inviteuser (aZ,ba) = {
281+ let j = toBase58String(aY.caller.bytes)
282+ let bb = W(aZ)
283+ let bc = W(j)
284+ if (if ((bb == az))
281285 then true
282- else (aZ == aB))
286+ else (bb == aB))
283287 then throw("User has already been registered")
284- else if (if (if ((ba != az))
288+ else if (if (if ((bc != az))
285289 then (j != aN)
286290 else false)
287- then (ba != aB)
291+ then (bc != aB)
288292 else false)
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)])
293+ then throw(("Your account should be whitelisted. status: " + bc))
294+ else WriteSet([DataEntry(i(aZ), j), DataEntry(m(aZ), ba), DataEntry(k(aZ), aA)])
291295 }
292296
293297
294298
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))
299+@Callable(aY)
300+func signupbylink (M,ba,bd) = {
301+ let j = toBase58String(aY.caller.bytes)
302+ let be = W(M)
303+ if ((be != aA))
304+ then throw(((((("Referral invite needed. Current status: " + be) + ", key:") + k(M)) + ", account:") + M))
305+ else WriteSet([DataEntry(m(j), ba), DataEntry(n(j), height), DataEntry(k(j), if ((bd == aB))
302306 then aB
303307 else az), DataEntry(k(M), aC), DataEntry(i(j), V(M))])
304308 }
305309
306310
307311
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))
312+@Callable(aY)
313+func signup (ba,bd) = {
314+ let j = toBase58String(aY.caller.bytes)
315+ let be = W(j)
316+ if ((be == a))
317+ then throw(((((("Referral invite needed. Current status: " + be) + ", key:") + k(j)) + ", account:") + j))
318+ else WriteSet([DataEntry(m(j), ba), DataEntry(n(j), height), DataEntry(k(j), if ((bd == aB))
315319 then aB
316320 else az)])
317321 }
318322
319323
320324
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+@Callable(aY)
326+func userupdate (ba,bd) = {
327+ let j = toBase58String(aY.caller.bytes)
328+ WriteSet([DataEntry(m(j), ba), DataEntry(k(j), if ((bd == aB))
325329 then aB
326330 else az)])
327331 }
328332
329333
330334
331-@Callable(aW)
332-func projupdate (p,aY) = {
333- let j = toBase58String(aW.caller.bytes)
335+@Callable(aY)
336+func projupdate (p,ba) = {
337+ let j = toBase58String(aY.caller.bytes)
334338 if ((aa(p) != j))
335339 then throw("You're not author")
336- else WriteSet([DataEntry(u(p), aY)])
340+ else WriteSet([DataEntry(u(p), ba)])
337341 }
338342
339343
340344
341-@Callable(aW)
342-func contestAddOrUpdate (p,aY) = {
343- let j = toBase58String(aW.caller.bytes)
345+@Callable(aY)
346+func contestAddOrUpdate (p,ba) = {
347+ let j = toBase58String(aY.caller.bytes)
344348 if ((j != aO))
345349 then throw("You're not admin")
346- else WriteSet([DataEntry(v(p), aY)])
350+ else WriteSet([DataEntry(v(p), ba)])
347351 }
348352
349353
350354
351-@Callable(aW)
352-func withdraw (bd) = {
353- let be = X(bd)
354- if ((0 >= be))
355+@Callable(aY)
356+func withdraw (bf) = {
357+ let bg = X(bf)
358+ if ((0 >= bg))
355359 then throw("Not enough balance")
356- else ScriptResult(WriteSet([DataEntry(l(bd), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(bd), be, unit)]))
360+ else ScriptResult(WriteSet([DataEntry(l(bf), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(bf), bg, unit)]))
357361 }
358362
359363
360364
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))
366- then throw("can use waves only at the moment")
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)
365+@Callable(aY)
366+func additem (p,bh,bi,bj,ba) = {
367+ let j = toBase58String(aY.caller.bytes)
368+ let bk = extract(aY.payment)
369+ if ((bk.assetId != aQ))
370+ then throw("can use usd-n only at the moment")
371+ else if ((bk.amount != aU))
372+ then throw(((("Please pay exact amount for the listing: " + toString(aU)) + ", actual payment is: ") + toString(bk.amount)))
373+ else if (!(if (if ((bh > 2))
374+ then (bi > bh)
371375 else false)
372- then (bh > bg)
376+ then (bj > bi)
373377 else false))
374378 then throw("Incorrect time parameters")
375379 else if ((aa(p) != a))
376380 then throw("Item already exist")
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))])
381+ else WriteSet([DataEntry(o(p), j), DataEntry(q(p), height), DataEntry(r(p), (height + bh)), DataEntry(s(p), aU), DataEntry(t(p), aF), DataEntry(u(p), ba), DataEntry(w(p), (height + bi)), DataEntry(x(p), (height + bj))])
378382 }
379383
380384
381385
382-@Callable(aW)
383-func reportProject (p,aY) = {
384- let j = toBase58String(aW.caller.bytes)
385- WriteSet([DataEntry(z(p, j), aY)])
386+@Callable(aY)
387+func reportProject (p,ba) = {
388+ let j = toBase58String(aY.caller.bytes)
389+ WriteSet([DataEntry(z(p, j), ba)])
386390 }
387391
388392
389393
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))
395- then throw("can use waves only at the moment")
394+@Callable(aY)
395+func labsdonate (p,bl) = {
396+ let j = toBase58String(aY.caller.bytes)
397+ let bk = extract(aY.payment)
398+ if ((bk.assetId != aQ))
399+ then throw("can use usd-n only at the moment")
400+ else if ((j != aP))
401+ then throw("labs donation is allowed only for waves labs")
402+ else if ((ae(p) != aI))
403+ then throw("Investement has already done")
404+ else {
405+ let O = (as(p, j) + 1)
406+ let bm = (ao(p) + bk.amount)
407+ WriteSet([DataEntry(J(p, j), O), DataEntry(H(p, j), (aq(p, j) + bk.amount)), DataEntry(F(p), bm), DataEntry(N(p, j, toString(O)), bl), DataEntry(P(p, j, toString(O)), aL), DataEntry(Q(p, j, toString(O)), 5), DataEntry(l(aa(p)), (X(aa(p)) + bk.amount)), DataEntry(t(p), aH)])
408+ }
409+ }
410+
411+
412+
413+@Callable(aY)
414+func changeStatus (p) = {
415+ let j = toBase58String(aY.caller.bytes)
416+ if ((j != aP))
417+ then throw("labs change is allowed only for waves labs")
418+ else WriteSet([DataEntry(t(p), aH)])
419+ }
420+
421+
422+
423+@Callable(aY)
424+func donate (p,bn,bo,bl) = {
425+ let j = toBase58String(aY.caller.bytes)
426+ let bk = extract(aY.payment)
427+ if ((bk.assetId != aQ))
428+ then throw("can use usd-n only at the moment")
396429 else {
397430 let O = (as(p, j) + 1)
398- let bm = (ap(p) + ((if ((bk == aM))
431+ let bp = (ap(p) + ((if ((bo == aM))
399432 then 1
400- else 0) * bi.amount))
401- let bn = (ao(p) + ((if ((bk == aL))
433+ else 0) * bk.amount))
434+ let bm = (ao(p) + ((if ((bo == aL))
402435 then 1
403- else 0) * bi.amount))
436+ else 0) * bk.amount))
404437 if ((ae(p) != aF))
405438 then throw("The project hasn't accepted by community")
406439 else if ((height >= ag(p)))
407440 then throw("The time for crowdfunding has expired")
408- else if ((bm >= bn))
441+ else if ((bp >= bm))
409442 then throw("Negative fund can't be higher than positive fund")
410- else if (if ((bk != aL))
411- then (bk != aM)
443+ else if (if ((bo != aL))
444+ then (bo != aM)
412445 else false)
413446 then throw("Wrong mode parameter")
414447 else if ((aa(p) == j))
415448 then throw("Can't donate own project")
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))
449+ else if ((bk.amount != aT[(bn - 1)]))
450+ then throw(("The payment must be equal to tier amount: " + toString(aT[(bn - 1)])))
451+ else WriteSet([DataEntry(J(p, j), O), DataEntry(H(p, j), (aq(p, j) + ((if ((bo == aL))
419452 then 1
420- else 0) * bi.amount))), DataEntry(I(p, j), (ar(p, j) + ((if ((bk == aM))
453+ else 0) * bk.amount))), DataEntry(I(p, j), (ar(p, j) + ((if ((bo == aM))
421454 then 1
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)])
455+ else 0) * bk.amount))), DataEntry(F(p), bm), DataEntry(G(p), bp), DataEntry(N(p, j, toString(O)), bl), DataEntry(P(p, j, toString(O)), bo), DataEntry(Q(p, j, toString(O)), bn)])
423456 }
424457 }
425458
426459
427460
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))
433- then throw("can use waves only at the moment")
434- else if ((ae(p) != aF))
435- then throw("The project hasn't accepted by community")
436- else if ((ag(p) > height))
437- then throw("The time for crowdfunding has not expired yet")
438- else if ((height > ah(p)))
439- then throw("The time for grant has expired")
440- else if ((ae(p) == aI))
441- then throw("Investement has already done")
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- }
461+@Callable(aY)
462+func whale (p) = {
463+ let j = toBase58String(aY.caller.bytes)
464+ let bk = extract(aY.payment)
465+ if ((bk.assetId != aQ))
466+ then throw("can use usd-n only at the moment")
467+ else if ((j != aP))
468+ then throw("labs donation is allowed only for waves labs")
469+ else if ((ae(p) != aF))
470+ then throw("The project hasn't accepted by community")
471+ else if ((ag(p) > height))
472+ then throw("The time for crowdfunding has not expired yet")
473+ else if ((height > ah(p)))
474+ then throw("The time for grant has expired")
475+ else if ((ae(p) == aI))
476+ then throw("Investement has already done")
477+ else if ((bk.amount != ((ao(p) * aW) / 100)))
478+ then throw((("Investement must be more than " + toString(aW)) + "% of supportes funds"))
479+ else WriteSet([DataEntry(t(p), aI), DataEntry(l(aa(p)), (X(aa(p)) + ao(p))), DataEntry(T(p), bk.amount), DataEntry(E(p, aa(p)), aK)])
449480 }
450481
451482
452483
453-@Callable(aW)
484+@Callable(aY)
454485 func claimwinnings (p,j) = {
455- let bc = ae(p)
456- let bq = if ((bc == aI))
486+ let be = ae(p)
487+ let bq = if ((be == aI))
457488 then 1
458489 else 0
459- let br = if ((bc != aI))
490+ let br = if ((be != aI))
460491 then 1
461492 else 0
462- let bs = ao(p)
493+ let bs = (ao(p) - aq(p, aP))
463494 let bt = ap(p)
464495 let bu = (((bq * (aq(p, j) * 100)) / (if ((0 >= bs))
465496 then 1
466497 else bs)) + ((br * (ar(p, j) * 100)) / (if ((0 >= bt))
467498 then 1
468499 else bt)))
469- let bv = ((bt * aU) / 100)
500+ let bv = ((bt * aW) / 100)
470501 let bw = ((bq * ((bu * bt) / 100)) + (br * ((bu * (if ((bs > bv))
471502 then bv
472503 else bs)) / 100)))
473- let bx = (bq * ((bu * aw(p)) / 100))
474- let by = (((if ((aa(p) == j))
504+ let bx = (bq * ((aq(p, j) * aW) / 100))
505+ let by = ((br * (if ((aa(p) == j))
475506 then 1
476- else 0) * bs) * (if ((bc != aI))
477- then 1
507+ else 0)) * (if ((bs > bv))
508+ then (bs - bv)
478509 else 0))
479- if ((bc == aG))
480- then throw("The project hasn't accepted by community")
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)
510+ if ((toString(aY.caller) != aP))
511+ then throw("caller error")
512+ else if ((be == aG))
513+ then throw("The project hasn't accepted by community")
514+ else if ((j == aP))
515+ then throw("account error")
516+ else if ((an(p, j) == aK))
517+ then throw("Status is claimed")
518+ else if (if (if ((bx == 0))
519+ then (bw == 0)
491520 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)])
521+ then (by == 0)
522+ else false)
523+ then throw("The share equals zero")
524+ else if (if ((be != aI))
525+ then (ah(p) >= height)
526+ else false)
527+ then throw("The time for grant has not expired yet")
528+ else if ((0 >= (bs + bt)))
529+ then throw("The campaign wasn't active")
530+ else WriteSet([DataEntry(l(j), (((X(j) + bw) + bx) + by)), DataEntry(E(p, j), aK)])
498531 }
499532
500533
501534
502-@Callable(aW)
535+@Callable(aY)
503536 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)])
537+ let bk = extract(aY.payment)
538+ if ((bk.assetId != aQ))
539+ then throw("can use usd-n only at the moment")
540+ else TransferSet([ScriptTransfer(addressFromStringValue(j), bk.amount, unit)])
508541 }
509542
510543
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
115115 func L (M) = ("transfer_link_" + M)
116116
117117
118118 func N (p,j,O) = ((K(p, j) + "_text_id:") + O)
119119
120120
121121 func P (p,j,O) = ((K(p, j) + "_mode_id:") + O)
122122
123123
124124 func Q (p,j,O) = ((K(p, j) + "_tier_id:") + O)
125125
126126
127127 func R (p,j) = (K(p, j) + "_votereview")
128128
129129
130130 func S (p,j) = (K(p, j) + "_whalereview")
131131
132132
133133 func T (p) = ("buyout_amount_" + p)
134134
135135
136136 func U (p,j) = ((("winnings_" + p) + "_") + j)
137137
138138
139139 func V (j) = g(i(j))
140140
141141
142142 func W (j) = g(k(j))
143143
144144
145145 func X (j) = b(l(j))
146146
147147
148148 func Y (j) = g(m(j))
149149
150150
151151 func Z (j) = g(n(j))
152152
153153
154154 func aa (p) = g(o(p))
155155
156156
157157 func ab (p) = b(q(p))
158158
159159
160160 func ac (p) = b(r(p))
161161
162162
163163 func ad (p) = b(s(p))
164164
165165
166166 func ae (p) = g(t(p))
167167
168168
169169 func af (p) = g(u(p))
170170
171171
172172 func ag (p) = b(w(p))
173173
174174
175175 func ah (p) = b(x(p))
176176
177177
178178 func ai (p) = b(y(p))
179179
180180
181181 func aj (p,j) = g(A(p, j))
182182
183183
184184 func ak (p,j) = g(B(p, j))
185185
186186
187187 func al (p) = b(C(p))
188188
189189
190190 func am (p) = b(D(p))
191191
192192
193193 func an (p,j) = g(E(p, j))
194194
195195
196196 func ao (p) = b(F(p))
197197
198198
199199 func ap (p) = b(G(p))
200200
201201
202202 func aq (p,j) = b(H(p, j))
203203
204204
205205 func ar (p,j) = b(I(p, j))
206206
207207
208208 func as (p,j) = b(J(p, j))
209209
210210
211211 func at (p,j,O) = g(N(p, j, O))
212212
213213
214214 func au (p,j,O) = g(P(p, j, O))
215215
216216
217217 func av (p,j,O) = b(Q(p, j, O))
218218
219219
220220 func aw (p) = b(T(p))
221221
222222
223223 func ax (p,j) = b(U(p, j))
224224
225225
226226 func ay (M) = g(L(M))
227227
228228
229229 let az = "registered"
230230
231231 let aA = "invited"
232232
233233 let aB = "whale"
234234
235235 let aC = "spend_invite"
236236
237237 let aD = "voting_commit"
238238
239239 let aE = "voting_reveal"
240240
241241 let aF = "featured"
242242
243243 let aG = "delisted"
244244
245245 let aH = "cashout"
246246
247247 let aI = "buyout"
248248
249249 let aJ = "finished"
250250
251251 let aK = "claimed"
252252
253253 let aL = "positive"
254254
255255 let aM = "negative"
256256
257257 let aN = "3P8Fvy1yDwNHvVrabe4ek5b9dAwxFjDKV7R"
258258
259259 let aO = "3P9NDxt9Y6ePfM9hkQysgSvbHJvihr56Z18"
260260
261-let aP = 3
261+let aP = "3P3MUCvJjviJaxMUe743LVez3qThbL7U8uP"
262262
263-let aQ = 2
263+let aQ = fromBase58String("HFihJLdaHxcfRykbmqXigTyi5XfWS8fHwPJaMBZ2f7t3")
264264
265-let aR = [(3 * 100000000), (10 * 100000000), (100 * 100000000), (300 * 100000000), (1000 * 100000000)]
265+let aR = 3
266266
267-let aS = (1 * 100000000)
267+let aS = 2
268268
269-let aT = (1 * 100000000)
269+let aT = [(3 * 100000000), (10 * 100000000), (100 * 100000000), (300 * 100000000), (1000 * 100000000)]
270270
271-let aU = 150
271+let aU = (1 * 100000000)
272272
273-let aV = "+"
273+let aV = (1 * 100000000)
274274
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))
275+let aW = 150
276+
277+let aX = "+"
278+
279+@Callable(aY)
280+func inviteuser (aZ,ba) = {
281+ let j = toBase58String(aY.caller.bytes)
282+ let bb = W(aZ)
283+ let bc = W(j)
284+ if (if ((bb == az))
281285 then true
282- else (aZ == aB))
286+ else (bb == aB))
283287 then throw("User has already been registered")
284- else if (if (if ((ba != az))
288+ else if (if (if ((bc != az))
285289 then (j != aN)
286290 else false)
287- then (ba != aB)
291+ then (bc != aB)
288292 else false)
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)])
293+ then throw(("Your account should be whitelisted. status: " + bc))
294+ else WriteSet([DataEntry(i(aZ), j), DataEntry(m(aZ), ba), DataEntry(k(aZ), aA)])
291295 }
292296
293297
294298
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))
299+@Callable(aY)
300+func signupbylink (M,ba,bd) = {
301+ let j = toBase58String(aY.caller.bytes)
302+ let be = W(M)
303+ if ((be != aA))
304+ then throw(((((("Referral invite needed. Current status: " + be) + ", key:") + k(M)) + ", account:") + M))
305+ else WriteSet([DataEntry(m(j), ba), DataEntry(n(j), height), DataEntry(k(j), if ((bd == aB))
302306 then aB
303307 else az), DataEntry(k(M), aC), DataEntry(i(j), V(M))])
304308 }
305309
306310
307311
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))
312+@Callable(aY)
313+func signup (ba,bd) = {
314+ let j = toBase58String(aY.caller.bytes)
315+ let be = W(j)
316+ if ((be == a))
317+ then throw(((((("Referral invite needed. Current status: " + be) + ", key:") + k(j)) + ", account:") + j))
318+ else WriteSet([DataEntry(m(j), ba), DataEntry(n(j), height), DataEntry(k(j), if ((bd == aB))
315319 then aB
316320 else az)])
317321 }
318322
319323
320324
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+@Callable(aY)
326+func userupdate (ba,bd) = {
327+ let j = toBase58String(aY.caller.bytes)
328+ WriteSet([DataEntry(m(j), ba), DataEntry(k(j), if ((bd == aB))
325329 then aB
326330 else az)])
327331 }
328332
329333
330334
331-@Callable(aW)
332-func projupdate (p,aY) = {
333- let j = toBase58String(aW.caller.bytes)
335+@Callable(aY)
336+func projupdate (p,ba) = {
337+ let j = toBase58String(aY.caller.bytes)
334338 if ((aa(p) != j))
335339 then throw("You're not author")
336- else WriteSet([DataEntry(u(p), aY)])
340+ else WriteSet([DataEntry(u(p), ba)])
337341 }
338342
339343
340344
341-@Callable(aW)
342-func contestAddOrUpdate (p,aY) = {
343- let j = toBase58String(aW.caller.bytes)
345+@Callable(aY)
346+func contestAddOrUpdate (p,ba) = {
347+ let j = toBase58String(aY.caller.bytes)
344348 if ((j != aO))
345349 then throw("You're not admin")
346- else WriteSet([DataEntry(v(p), aY)])
350+ else WriteSet([DataEntry(v(p), ba)])
347351 }
348352
349353
350354
351-@Callable(aW)
352-func withdraw (bd) = {
353- let be = X(bd)
354- if ((0 >= be))
355+@Callable(aY)
356+func withdraw (bf) = {
357+ let bg = X(bf)
358+ if ((0 >= bg))
355359 then throw("Not enough balance")
356- else ScriptResult(WriteSet([DataEntry(l(bd), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(bd), be, unit)]))
360+ else ScriptResult(WriteSet([DataEntry(l(bf), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(bf), bg, unit)]))
357361 }
358362
359363
360364
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))
366- then throw("can use waves only at the moment")
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)
365+@Callable(aY)
366+func additem (p,bh,bi,bj,ba) = {
367+ let j = toBase58String(aY.caller.bytes)
368+ let bk = extract(aY.payment)
369+ if ((bk.assetId != aQ))
370+ then throw("can use usd-n only at the moment")
371+ else if ((bk.amount != aU))
372+ then throw(((("Please pay exact amount for the listing: " + toString(aU)) + ", actual payment is: ") + toString(bk.amount)))
373+ else if (!(if (if ((bh > 2))
374+ then (bi > bh)
371375 else false)
372- then (bh > bg)
376+ then (bj > bi)
373377 else false))
374378 then throw("Incorrect time parameters")
375379 else if ((aa(p) != a))
376380 then throw("Item already exist")
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))])
381+ else WriteSet([DataEntry(o(p), j), DataEntry(q(p), height), DataEntry(r(p), (height + bh)), DataEntry(s(p), aU), DataEntry(t(p), aF), DataEntry(u(p), ba), DataEntry(w(p), (height + bi)), DataEntry(x(p), (height + bj))])
378382 }
379383
380384
381385
382-@Callable(aW)
383-func reportProject (p,aY) = {
384- let j = toBase58String(aW.caller.bytes)
385- WriteSet([DataEntry(z(p, j), aY)])
386+@Callable(aY)
387+func reportProject (p,ba) = {
388+ let j = toBase58String(aY.caller.bytes)
389+ WriteSet([DataEntry(z(p, j), ba)])
386390 }
387391
388392
389393
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))
395- then throw("can use waves only at the moment")
394+@Callable(aY)
395+func labsdonate (p,bl) = {
396+ let j = toBase58String(aY.caller.bytes)
397+ let bk = extract(aY.payment)
398+ if ((bk.assetId != aQ))
399+ then throw("can use usd-n only at the moment")
400+ else if ((j != aP))
401+ then throw("labs donation is allowed only for waves labs")
402+ else if ((ae(p) != aI))
403+ then throw("Investement has already done")
404+ else {
405+ let O = (as(p, j) + 1)
406+ let bm = (ao(p) + bk.amount)
407+ WriteSet([DataEntry(J(p, j), O), DataEntry(H(p, j), (aq(p, j) + bk.amount)), DataEntry(F(p), bm), DataEntry(N(p, j, toString(O)), bl), DataEntry(P(p, j, toString(O)), aL), DataEntry(Q(p, j, toString(O)), 5), DataEntry(l(aa(p)), (X(aa(p)) + bk.amount)), DataEntry(t(p), aH)])
408+ }
409+ }
410+
411+
412+
413+@Callable(aY)
414+func changeStatus (p) = {
415+ let j = toBase58String(aY.caller.bytes)
416+ if ((j != aP))
417+ then throw("labs change is allowed only for waves labs")
418+ else WriteSet([DataEntry(t(p), aH)])
419+ }
420+
421+
422+
423+@Callable(aY)
424+func donate (p,bn,bo,bl) = {
425+ let j = toBase58String(aY.caller.bytes)
426+ let bk = extract(aY.payment)
427+ if ((bk.assetId != aQ))
428+ then throw("can use usd-n only at the moment")
396429 else {
397430 let O = (as(p, j) + 1)
398- let bm = (ap(p) + ((if ((bk == aM))
431+ let bp = (ap(p) + ((if ((bo == aM))
399432 then 1
400- else 0) * bi.amount))
401- let bn = (ao(p) + ((if ((bk == aL))
433+ else 0) * bk.amount))
434+ let bm = (ao(p) + ((if ((bo == aL))
402435 then 1
403- else 0) * bi.amount))
436+ else 0) * bk.amount))
404437 if ((ae(p) != aF))
405438 then throw("The project hasn't accepted by community")
406439 else if ((height >= ag(p)))
407440 then throw("The time for crowdfunding has expired")
408- else if ((bm >= bn))
441+ else if ((bp >= bm))
409442 then throw("Negative fund can't be higher than positive fund")
410- else if (if ((bk != aL))
411- then (bk != aM)
443+ else if (if ((bo != aL))
444+ then (bo != aM)
412445 else false)
413446 then throw("Wrong mode parameter")
414447 else if ((aa(p) == j))
415448 then throw("Can't donate own project")
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))
449+ else if ((bk.amount != aT[(bn - 1)]))
450+ then throw(("The payment must be equal to tier amount: " + toString(aT[(bn - 1)])))
451+ else WriteSet([DataEntry(J(p, j), O), DataEntry(H(p, j), (aq(p, j) + ((if ((bo == aL))
419452 then 1
420- else 0) * bi.amount))), DataEntry(I(p, j), (ar(p, j) + ((if ((bk == aM))
453+ else 0) * bk.amount))), DataEntry(I(p, j), (ar(p, j) + ((if ((bo == aM))
421454 then 1
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)])
455+ else 0) * bk.amount))), DataEntry(F(p), bm), DataEntry(G(p), bp), DataEntry(N(p, j, toString(O)), bl), DataEntry(P(p, j, toString(O)), bo), DataEntry(Q(p, j, toString(O)), bn)])
423456 }
424457 }
425458
426459
427460
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))
433- then throw("can use waves only at the moment")
434- else if ((ae(p) != aF))
435- then throw("The project hasn't accepted by community")
436- else if ((ag(p) > height))
437- then throw("The time for crowdfunding has not expired yet")
438- else if ((height > ah(p)))
439- then throw("The time for grant has expired")
440- else if ((ae(p) == aI))
441- then throw("Investement has already done")
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- }
461+@Callable(aY)
462+func whale (p) = {
463+ let j = toBase58String(aY.caller.bytes)
464+ let bk = extract(aY.payment)
465+ if ((bk.assetId != aQ))
466+ then throw("can use usd-n only at the moment")
467+ else if ((j != aP))
468+ then throw("labs donation is allowed only for waves labs")
469+ else if ((ae(p) != aF))
470+ then throw("The project hasn't accepted by community")
471+ else if ((ag(p) > height))
472+ then throw("The time for crowdfunding has not expired yet")
473+ else if ((height > ah(p)))
474+ then throw("The time for grant has expired")
475+ else if ((ae(p) == aI))
476+ then throw("Investement has already done")
477+ else if ((bk.amount != ((ao(p) * aW) / 100)))
478+ then throw((("Investement must be more than " + toString(aW)) + "% of supportes funds"))
479+ else WriteSet([DataEntry(t(p), aI), DataEntry(l(aa(p)), (X(aa(p)) + ao(p))), DataEntry(T(p), bk.amount), DataEntry(E(p, aa(p)), aK)])
449480 }
450481
451482
452483
453-@Callable(aW)
484+@Callable(aY)
454485 func claimwinnings (p,j) = {
455- let bc = ae(p)
456- let bq = if ((bc == aI))
486+ let be = ae(p)
487+ let bq = if ((be == aI))
457488 then 1
458489 else 0
459- let br = if ((bc != aI))
490+ let br = if ((be != aI))
460491 then 1
461492 else 0
462- let bs = ao(p)
493+ let bs = (ao(p) - aq(p, aP))
463494 let bt = ap(p)
464495 let bu = (((bq * (aq(p, j) * 100)) / (if ((0 >= bs))
465496 then 1
466497 else bs)) + ((br * (ar(p, j) * 100)) / (if ((0 >= bt))
467498 then 1
468499 else bt)))
469- let bv = ((bt * aU) / 100)
500+ let bv = ((bt * aW) / 100)
470501 let bw = ((bq * ((bu * bt) / 100)) + (br * ((bu * (if ((bs > bv))
471502 then bv
472503 else bs)) / 100)))
473- let bx = (bq * ((bu * aw(p)) / 100))
474- let by = (((if ((aa(p) == j))
504+ let bx = (bq * ((aq(p, j) * aW) / 100))
505+ let by = ((br * (if ((aa(p) == j))
475506 then 1
476- else 0) * bs) * (if ((bc != aI))
477- then 1
507+ else 0)) * (if ((bs > bv))
508+ then (bs - bv)
478509 else 0))
479- if ((bc == aG))
480- then throw("The project hasn't accepted by community")
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)
510+ if ((toString(aY.caller) != aP))
511+ then throw("caller error")
512+ else if ((be == aG))
513+ then throw("The project hasn't accepted by community")
514+ else if ((j == aP))
515+ then throw("account error")
516+ else if ((an(p, j) == aK))
517+ then throw("Status is claimed")
518+ else if (if (if ((bx == 0))
519+ then (bw == 0)
491520 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)])
521+ then (by == 0)
522+ else false)
523+ then throw("The share equals zero")
524+ else if (if ((be != aI))
525+ then (ah(p) >= height)
526+ else false)
527+ then throw("The time for grant has not expired yet")
528+ else if ((0 >= (bs + bt)))
529+ then throw("The campaign wasn't active")
530+ else WriteSet([DataEntry(l(j), (((X(j) + bw) + bx) + by)), DataEntry(E(p, j), aK)])
498531 }
499532
500533
501534
502-@Callable(aW)
535+@Callable(aY)
503536 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)])
537+ let bk = extract(aY.payment)
538+ if ((bk.assetId != aQ))
539+ then throw("can use usd-n only at the moment")
540+ else TransferSet([ScriptTransfer(addressFromStringValue(j), bk.amount, unit)])
508541 }
509542
510543

github/deemru/w8io/3ef1775 
157.42 ms