tx · DpJ6F73LB42TawkjWSnaymnFSo8ZYetqZfrNZ7DQ9gKS

3NBB3iv7YDRsD8ZM2Pw2V5eTcsfqh3j2mvF:  -0.01400000 Waves

2019.06.23 20:42 [555010] smart account 3NBB3iv7YDRsD8ZM2Pw2V5eTcsfqh3j2mvF > SELF 0.00000000 Waves

{ "type": 13, "id": "DpJ6F73LB42TawkjWSnaymnFSo8ZYetqZfrNZ7DQ9gKS", "fee": 1400000, "feeAssetId": null, "timestamp": 1561311724523, "version": 1, "sender": "3NBB3iv7YDRsD8ZM2Pw2V5eTcsfqh3j2mvF", "senderPublicKey": "9i5FpMUFCwhogG5euZDBZKV6NehQN4xX83qvNr8NWipE", "proofs": [ "5oTWi4gMjZaAdz3BTj2fGXaj3oRXQJDiK1csYK5Mm9DaXnYxtzAtC6wox7bxGKRQwp68DZQXao5sizhxEps7nMNE" ], "script": "base64:AAIDAAAAAAAAAAAAAABSAAAAAAROT05FAgAAAARub25lAQAAAA5nZXROdW1iZXJCeUtleQAAAAEAAAADa2V5BAAAAANudW0EAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAFAAAAA251bQEAAAALZ2V0U3RyQnlLZXkAAAABAAAAA2tleQQAAAADc3RyBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhBQAAAAROT05FBQAAAANzdHIBAAAAEmdldEtleVdoaXRlbGlzdFJlZgAAAAEAAAAHYWNjb3VudAkAASwAAAACAgAAAAd3bF9yZWZfBQAAAAdhY2NvdW50AQAAAB1nZXRLZXlXaGl0ZWxpc3RJbnZpdGF0aW9uRGF0YQAAAAEAAAAHYWNjb3VudAkAASwAAAACAgAAAAt3bF9pbnZkYXRhXwUAAAAHYWNjb3VudAEAAAAVZ2V0S2V5V2hpdGVsaXN0U3RhdHVzAAAAAQAAAAdhY2NvdW50CQABLAAAAAICAAAAB3dsX3N0c18FAAAAB2FjY291bnQBAAAADWdldEtleUJhbGFuY2UAAAABAAAAB2FjY291bnQJAAEsAAAAAgIAAAAIYmFsYW5jZV8FAAAAB2FjY291bnQBAAAAEmdldEtleVdoaXRlbGlzdEJpbwAAAAEAAAAHYWNjb3VudAkAASwAAAACAgAAAAd3bF9iaW9fBQAAAAdhY2NvdW50AQAAABRnZXRLZXlXaGl0ZWxpc3RCbG9jawAAAAEAAAAHYWNjb3VudAkAASwAAAACAgAAAAd3bF9ibGtfBQAAAAdhY2NvdW50AQAAABBnZXRLZXlJdGVtQXV0aG9yAAAAAQAAAARpdGVtCQABLAAAAAICAAAAB2F1dGhvcl8FAAAABGl0ZW0BAAAAD2dldEtleUl0ZW1CbG9jawAAAAEAAAAEaXRlbQkAASwAAAACAgAAAAZibG9ja18FAAAABGl0ZW0BAAAAGmdldEtleUl0ZW1Wb3RpbmdFeHBpcmF0aW9uAAAAAQAAAARpdGVtCQABLAAAAAICAAAAEWV4cGlyYXRpb25fYmxvY2tfBQAAAARpdGVtAQAAAA5nZXRLZXlJdGVtQmFuawAAAAEAAAAEaXRlbQkAASwAAAACAgAAAAViYW5rXwUAAAAEaXRlbQEAAAAQZ2V0S2V5SXRlbVN0YXR1cwAAAAEAAAAEaXRlbQkAASwAAAACAgAAAAdzdGF0dXNfBQAAAARpdGVtAQAAAA5nZXRLZXlJdGVtRGF0YQAAAAEAAAAEaXRlbQkAASwAAAACAgAAAAlkYXRhanNvbl8FAAAABGl0ZW0BAAAAGWdldEtleUl0ZW1Dcm93ZEV4cGlyYXRpb24AAAABAAAABGl0ZW0JAAEsAAAAAgIAAAAPZXhwaXJhdGlvbl9vbmVfBQAAAARpdGVtAQAAABlnZXRLZXlJdGVtV2hhbGVFeHBpcmF0aW9uAAAAAQAAAARpdGVtCQABLAAAAAICAAAAD2V4cGlyYXRpb25fdHdvXwUAAAAEaXRlbQEAAAASZ2V0S2V5SXRlbU5Db21taXRzAAAAAQAAAARpdGVtCQABLAAAAAICAAAACW5jb21taXRzXwUAAAAEaXRlbQEAAAATZ2V0S2V5SXRlbUFjY0NvbW1pdAAAAAIAAAAEaXRlbQAAAAdhY2NvdW50CQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAdjb21taXRfBQAAAARpdGVtAgAAAAFfBQAAAAdhY2NvdW50AQAAABNnZXRLZXlJdGVtQWNjUmV2ZWFsAAAAAgAAAARpdGVtAAAAB2FjY291bnQJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAB3JldmVhbF8FAAAABGl0ZW0CAAAAAV8FAAAAB2FjY291bnQBAAAAEmdldEtleUl0ZW1Wb3Rlc1llcwAAAAEAAAAEaXRlbQkAASwAAAACAgAAAAhjbnRfeWVzXwUAAAAEaXRlbQEAAAARZ2V0S2V5SXRlbVZvdGVzTm8AAAABAAAABGl0ZW0JAAEsAAAAAgIAAAAHY250X25vXwUAAAAEaXRlbQEAAAASZ2V0S2V5SXRlbUFjY0ZpbmFsAAAAAgAAAARpdGVtAAAAB2FjY291bnQJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABmZpbmFsXwUAAAAEaXRlbQIAAAABXwUAAAAHYWNjb3VudAEAAAAWZ2V0S2V5SXRlbUZ1bmRQb3NpdGl2ZQAAAAEAAAAEaXRlbQkAASwAAAACAgAAAA5wb3NpdGl2ZV9mdW5kXwUAAAAEaXRlbQEAAAAWZ2V0S2V5SXRlbUZ1bmROZWdhdGl2ZQAAAAEAAAAEaXRlbQkAASwAAAACAgAAAA5uZWdhdGl2ZV9mdW5kXwUAAAAEaXRlbQEAAAAZZ2V0S2V5SXRlbUFjY0Z1bmRQb3NpdGl2ZQAAAAIAAAAEaXRlbQAAAAdhY2NvdW50CQABLAAAAAIJAAEsAAAAAgkBAAAAFmdldEtleUl0ZW1GdW5kUG9zaXRpdmUAAAABBQAAAARpdGVtAgAAAAFfBQAAAAdhY2NvdW50AQAAABlnZXRLZXlJdGVtQWNjRnVuZE5lZ2F0aXZlAAAAAgAAAARpdGVtAAAAB2FjY291bnQJAAEsAAAAAgkAASwAAAACCQEAAAAWZ2V0S2V5SXRlbUZ1bmROZWdhdGl2ZQAAAAEFAAAABGl0ZW0CAAAAAV8FAAAAB2FjY291bnQBAAAAF2dldEtleUl0ZW1BY2NSZXZpZXdzQ250AAAAAgAAAARpdGVtAAAAB2FjY291bnQJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAADHJldmlld3NfY250XwUAAAAEaXRlbQIAAAABXwUAAAAHYWNjb3VudAEAAAATZ2V0S2V5SXRlbUFjY1JldmlldwAAAAIAAAAEaXRlbQAAAAdhY2NvdW50CQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAdyZXZpZXdfBQAAAARpdGVtAgAAAAFfBQAAAAdhY2NvdW50AQAAABdnZXRLZXlJdGVtQWNjUmV2aWV3VGV4dAAAAAMAAAAEaXRlbQAAAAdhY2NvdW50AAAAA2NudAkAASwAAAACCQABLAAAAAIJAQAAABNnZXRLZXlJdGVtQWNjUmV2aWV3AAAAAgUAAAAEaXRlbQUAAAAHYWNjb3VudAIAAAAJX3RleHRfaWQ6BQAAAANjbnQBAAAAF2dldEtleUl0ZW1BY2NSZXZpZXdNb2RlAAAAAwAAAARpdGVtAAAAB2FjY291bnQAAAADY250CQABLAAAAAIJAAEsAAAAAgkBAAAAE2dldEtleUl0ZW1BY2NSZXZpZXcAAAACBQAAAARpdGVtBQAAAAdhY2NvdW50AgAAAAlfbW9kZV9pZDoFAAAAA2NudAEAAAAXZ2V0S2V5SXRlbUFjY1Jldmlld1RpZXIAAAADAAAABGl0ZW0AAAAHYWNjb3VudAAAAANjbnQJAAEsAAAAAgkAASwAAAACCQEAAAATZ2V0S2V5SXRlbUFjY1JldmlldwAAAAIFAAAABGl0ZW0FAAAAB2FjY291bnQCAAAACV90aWVyX2lkOgUAAAADY250AQAAABZnZXRLZXlJdGVtQnV5b3V0QW1vdW50AAAAAQAAAARpdGVtCQABLAAAAAICAAAADmJ1eW91dF9hbW91bnRfBQAAAARpdGVtAQAAABVnZXRLZXlJdGVtQWNjV2lubmluZ3MAAAACAAAABGl0ZW0AAAAHYWNjb3VudAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAJd2lubmluZ3NfBQAAAARpdGVtAgAAAAFfBQAAAAdhY2NvdW50AQAAABRnZXRWYWx1ZVdoaXRlbGlzdFJlZgAAAAEAAAAHYWNjb3VudAkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEmdldEtleVdoaXRlbGlzdFJlZgAAAAEFAAAAB2FjY291bnQBAAAAF2dldFZhbHVlV2hpdGVsaXN0U3RhdHVzAAAAAQAAAAdhY2NvdW50CQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAVZ2V0S2V5V2hpdGVsaXN0U3RhdHVzAAAAAQUAAAAHYWNjb3VudAEAAAAPZ2V0VmFsdWVCYWxhbmNlAAAAAQAAAAdhY2NvdW50CQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAANZ2V0S2V5QmFsYW5jZQAAAAEFAAAAB2FjY291bnQBAAAAFGdldFZhbHVlV2hpdGVsaXN0QmlvAAAAAQAAAAdhY2NvdW50CQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAASZ2V0S2V5V2hpdGVsaXN0QmlvAAAAAQUAAAAHYWNjb3VudAEAAAAWZ2V0VmFsdWVXaGl0ZWxpc3RCbG9jawAAAAEAAAAHYWNjb3VudAkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAFGdldEtleVdoaXRlbGlzdEJsb2NrAAAAAQUAAAAHYWNjb3VudAEAAAASZ2V0VmFsdWVJdGVtQXV0aG9yAAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAQZ2V0S2V5SXRlbUF1dGhvcgAAAAEFAAAABGl0ZW0BAAAAEWdldFZhbHVlSXRlbUJsb2NrAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAPZ2V0S2V5SXRlbUJsb2NrAAAAAQUAAAAEaXRlbQEAAAAcZ2V0VmFsdWVJdGVtVm90aW5nRXhwaXJhdGlvbgAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAGmdldEtleUl0ZW1Wb3RpbmdFeHBpcmF0aW9uAAAAAQUAAAAEaXRlbQEAAAAQZ2V0VmFsdWVJdGVtQmFuawAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAADmdldEtleUl0ZW1CYW5rAAAAAQUAAAAEaXRlbQEAAAASZ2V0VmFsdWVJdGVtU3RhdHVzAAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAQZ2V0S2V5SXRlbVN0YXR1cwAAAAEFAAAABGl0ZW0BAAAAEGdldFZhbHVlSXRlbURhdGEAAAABAAAABGl0ZW0JAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAAA5nZXRLZXlJdGVtRGF0YQAAAAEFAAAABGl0ZW0BAAAAG2dldFZhbHVlSXRlbUNyb3dkRXhwaXJhdGlvbgAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAGWdldEtleUl0ZW1Dcm93ZEV4cGlyYXRpb24AAAABBQAAAARpdGVtAQAAABtnZXRWYWx1ZUl0ZW1XaGFsZUV4cGlyYXRpb24AAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABlnZXRLZXlJdGVtV2hhbGVFeHBpcmF0aW9uAAAAAQUAAAAEaXRlbQEAAAAUZ2V0VmFsdWVJdGVtTkNvbW1pdHMAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABJnZXRLZXlJdGVtTkNvbW1pdHMAAAABBQAAAARpdGVtAQAAABVnZXRWYWx1ZUl0ZW1BY2NDb21taXQAAAACAAAABGl0ZW0AAAAHYWNjb3VudAkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAE2dldEtleUl0ZW1BY2NDb21taXQAAAACBQAAAARpdGVtBQAAAAdhY2NvdW50AQAAABVnZXRWYWx1ZUl0ZW1BY2NSZXZlYWwAAAACAAAABGl0ZW0AAAAHYWNjb3VudAkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAE2dldEtleUl0ZW1BY2NSZXZlYWwAAAACBQAAAARpdGVtBQAAAAdhY2NvdW50AQAAABRnZXRWYWx1ZUl0ZW1Wb3Rlc1llcwAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAEmdldEtleUl0ZW1Wb3Rlc1llcwAAAAEFAAAABGl0ZW0BAAAAE2dldFZhbHVlSXRlbVZvdGVzTm8AAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABFnZXRLZXlJdGVtVm90ZXNObwAAAAEFAAAABGl0ZW0BAAAAFGdldFZhbHVlSXRlbUFjY0ZpbmFsAAAAAgAAAARpdGVtAAAAB2FjY291bnQJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABJnZXRLZXlJdGVtQWNjRmluYWwAAAACBQAAAARpdGVtBQAAAAdhY2NvdW50AQAAABhnZXRWYWx1ZUl0ZW1GdW5kUG9zaXRpdmUAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABZnZXRLZXlJdGVtRnVuZFBvc2l0aXZlAAAAAQUAAAAEaXRlbQEAAAAYZ2V0VmFsdWVJdGVtRnVuZE5lZ2F0aXZlAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAWZ2V0S2V5SXRlbUZ1bmROZWdhdGl2ZQAAAAEFAAAABGl0ZW0BAAAAG2dldFZhbHVlSXRlbUFjY0Z1bmRQb3NpdGl2ZQAAAAIAAAAEaXRlbQAAAAdhY2NvdW50CQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAZZ2V0S2V5SXRlbUFjY0Z1bmRQb3NpdGl2ZQAAAAIFAAAABGl0ZW0FAAAAB2FjY291bnQBAAAAG2dldFZhbHVlSXRlbUFjY0Z1bmROZWdhdGl2ZQAAAAIAAAAEaXRlbQAAAAdhY2NvdW50CQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAZZ2V0S2V5SXRlbUFjY0Z1bmROZWdhdGl2ZQAAAAIFAAAABGl0ZW0FAAAAB2FjY291bnQBAAAAGWdldFZhbHVlSXRlbUFjY1Jldmlld3NDbnQAAAACAAAABGl0ZW0AAAAHYWNjb3VudAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAF2dldEtleUl0ZW1BY2NSZXZpZXdzQ250AAAAAgUAAAAEaXRlbQUAAAAHYWNjb3VudAEAAAAZZ2V0VmFsdWVJdGVtQWNjUmV2aWV3VGV4dAAAAAMAAAAEaXRlbQAAAAdhY2NvdW50AAAAA2NudAkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAF2dldEtleUl0ZW1BY2NSZXZpZXdUZXh0AAAAAwUAAAAEaXRlbQUAAAAHYWNjb3VudAUAAAADY250AQAAABlnZXRWYWx1ZUl0ZW1BY2NSZXZpZXdNb2RlAAAAAwAAAARpdGVtAAAAB2FjY291bnQAAAADY250CQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAXZ2V0S2V5SXRlbUFjY1Jldmlld01vZGUAAAADBQAAAARpdGVtBQAAAAdhY2NvdW50BQAAAANjbnQBAAAAGWdldFZhbHVlSXRlbUFjY1Jldmlld1RpZXIAAAADAAAABGl0ZW0AAAAHYWNjb3VudAAAAANjbnQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABdnZXRLZXlJdGVtQWNjUmV2aWV3VGllcgAAAAMFAAAABGl0ZW0FAAAAB2FjY291bnQFAAAAA2NudAEAAAAYZ2V0VmFsdWVJdGVtQnV5b3V0QW1vdW50AAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAWZ2V0S2V5SXRlbUJ1eW91dEFtb3VudAAAAAEFAAAABGl0ZW0BAAAAF2dldFZhbHVlSXRlbUFjY1dpbm5pbmdzAAAAAgAAAARpdGVtAAAAB2FjY291bnQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABVnZXRLZXlJdGVtQWNjV2lubmluZ3MAAAACBQAAAARpdGVt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", "chainId": 84, "height": 555010, "spentComplexity": 0 } View: original | compacted Prev: none Next: EFnd6Gnt74Qd7ZXFFzDP9RzttDtE9roj8166LAWqGhTu Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let NONE = "none"
5+
6+func getNumberByKey (key) = {
7+ let num = match getInteger(this, key) {
8+ case a: Int =>
9+ a
10+ case _ =>
11+ 0
12+ }
13+ num
14+ }
15+
16+
17+func getStrByKey (key) = {
18+ let str = match getString(this, key) {
19+ case a: String =>
20+ a
21+ case _ =>
22+ NONE
23+ }
24+ str
25+ }
26+
27+
28+func getKeyWhitelistRef (account) = ("wl_ref_" + account)
29+
30+
31+func getKeyWhitelistInvitationData (account) = ("wl_invdata_" + account)
32+
33+
34+func getKeyWhitelistStatus (account) = ("wl_sts_" + account)
35+
36+
37+func getKeyBalance (account) = ("balance_" + account)
38+
39+
40+func getKeyWhitelistBio (account) = ("wl_bio_" + account)
41+
42+
43+func getKeyWhitelistBlock (account) = ("wl_blk_" + account)
44+
45+
46+func getKeyItemAuthor (item) = ("author_" + item)
47+
48+
49+func getKeyItemBlock (item) = ("block_" + item)
50+
51+
52+func getKeyItemVotingExpiration (item) = ("expiration_block_" + item)
53+
54+
55+func getKeyItemBank (item) = ("bank_" + item)
56+
57+
58+func getKeyItemStatus (item) = ("status_" + item)
59+
60+
61+func getKeyItemData (item) = ("datajson_" + item)
62+
63+
64+func getKeyItemCrowdExpiration (item) = ("expiration_one_" + item)
65+
66+
67+func getKeyItemWhaleExpiration (item) = ("expiration_two_" + item)
68+
69+
70+func getKeyItemNCommits (item) = ("ncommits_" + item)
71+
72+
73+func getKeyItemAccCommit (item,account) = ((("commit_" + item) + "_") + account)
74+
75+
76+func getKeyItemAccReveal (item,account) = ((("reveal_" + item) + "_") + account)
77+
78+
79+func getKeyItemVotesYes (item) = ("cnt_yes_" + item)
80+
81+
82+func getKeyItemVotesNo (item) = ("cnt_no_" + item)
83+
84+
85+func getKeyItemAccFinal (item,account) = ((("final_" + item) + "_") + account)
86+
87+
88+func getKeyItemFundPositive (item) = ("positive_fund_" + item)
89+
90+
91+func getKeyItemFundNegative (item) = ("negative_fund_" + item)
92+
93+
94+func getKeyItemAccFundPositive (item,account) = ((getKeyItemFundPositive(item) + "_") + account)
95+
96+
97+func getKeyItemAccFundNegative (item,account) = ((getKeyItemFundNegative(item) + "_") + account)
98+
99+
100+func getKeyItemAccReviewsCnt (item,account) = ((("reviews_cnt_" + item) + "_") + account)
101+
102+
103+func getKeyItemAccReview (item,account) = ((("review_" + item) + "_") + account)
104+
105+
106+func getKeyItemAccReviewText (item,account,cnt) = ((getKeyItemAccReview(item, account) + "_text_id:") + cnt)
107+
108+
109+func getKeyItemAccReviewMode (item,account,cnt) = ((getKeyItemAccReview(item, account) + "_mode_id:") + cnt)
110+
111+
112+func getKeyItemAccReviewTier (item,account,cnt) = ((getKeyItemAccReview(item, account) + "_tier_id:") + cnt)
113+
114+
115+func getKeyItemBuyoutAmount (item) = ("buyout_amount_" + item)
116+
117+
118+func getKeyItemAccWinnings (item,account) = ((("winnings_" + item) + "_") + account)
119+
120+
121+func getValueWhitelistRef (account) = getStrByKey(getKeyWhitelistRef(account))
122+
123+
124+func getValueWhitelistStatus (account) = getStrByKey(getKeyWhitelistStatus(account))
125+
126+
127+func getValueBalance (account) = getNumberByKey(getKeyBalance(account))
128+
129+
130+func getValueWhitelistBio (account) = getStrByKey(getKeyWhitelistBio(account))
131+
132+
133+func getValueWhitelistBlock (account) = getStrByKey(getKeyWhitelistBlock(account))
134+
135+
136+func getValueItemAuthor (item) = getStrByKey(getKeyItemAuthor(item))
137+
138+
139+func getValueItemBlock (item) = getNumberByKey(getKeyItemBlock(item))
140+
141+
142+func getValueItemVotingExpiration (item) = getNumberByKey(getKeyItemVotingExpiration(item))
143+
144+
145+func getValueItemBank (item) = getNumberByKey(getKeyItemBank(item))
146+
147+
148+func getValueItemStatus (item) = getStrByKey(getKeyItemStatus(item))
149+
150+
151+func getValueItemData (item) = getStrByKey(getKeyItemData(item))
152+
153+
154+func getValueItemCrowdExpiration (item) = getNumberByKey(getKeyItemCrowdExpiration(item))
155+
156+
157+func getValueItemWhaleExpiration (item) = getNumberByKey(getKeyItemWhaleExpiration(item))
158+
159+
160+func getValueItemNCommits (item) = getNumberByKey(getKeyItemNCommits(item))
161+
162+
163+func getValueItemAccCommit (item,account) = getStrByKey(getKeyItemAccCommit(item, account))
164+
165+
166+func getValueItemAccReveal (item,account) = getStrByKey(getKeyItemAccReveal(item, account))
167+
168+
169+func getValueItemVotesYes (item) = getNumberByKey(getKeyItemVotesYes(item))
170+
171+
172+func getValueItemVotesNo (item) = getNumberByKey(getKeyItemVotesNo(item))
173+
174+
175+func getValueItemAccFinal (item,account) = getStrByKey(getKeyItemAccFinal(item, account))
176+
177+
178+func getValueItemFundPositive (item) = getNumberByKey(getKeyItemFundPositive(item))
179+
180+
181+func getValueItemFundNegative (item) = getNumberByKey(getKeyItemFundNegative(item))
182+
183+
184+func getValueItemAccFundPositive (item,account) = getNumberByKey(getKeyItemAccFundPositive(item, account))
185+
186+
187+func getValueItemAccFundNegative (item,account) = getNumberByKey(getKeyItemAccFundNegative(item, account))
188+
189+
190+func getValueItemAccReviewsCnt (item,account) = getNumberByKey(getKeyItemAccReviewsCnt(item, account))
191+
192+
193+func getValueItemAccReviewText (item,account,cnt) = getStrByKey(getKeyItemAccReviewText(item, account, cnt))
194+
195+
196+func getValueItemAccReviewMode (item,account,cnt) = getStrByKey(getKeyItemAccReviewMode(item, account, cnt))
197+
198+
199+func getValueItemAccReviewTier (item,account,cnt) = getNumberByKey(getKeyItemAccReviewTier(item, account, cnt))
200+
201+
202+func getValueItemBuyoutAmount (item) = getNumberByKey(getKeyItemBuyoutAmount(item))
203+
204+
205+func getValueItemAccWinnings (item,account) = getNumberByKey(getKeyItemAccWinnings(item, account))
206+
207+
208+let WHITELISTED = "whitelisted"
209+
210+let NEW = "new"
211+
212+let COMMIT = "voting_commit"
213+
214+let REVEAL = "voting_reveal"
215+
216+let FEATURED = "featured"
217+
218+let DELISTED = "delisted"
219+
220+let CASHOUT = "cashout"
221+
222+let BUYOUT = "buyout"
223+
224+let FINISHED = "finished"
225+
226+let CLAIMED = "claimed"
227+
228+let POSITIVE = "positive"
229+
230+let NEGATIVE = "negative"
231+
232+let GENESIS = "3Ms9dv5wrt3kPXeT2g9yLM2LhS33CT7iuiQ"
233+
234+let VOTERS = 3
235+
236+let QUORUM = 2
237+
238+let LISTINGFEE = (500000000 / 1000)
239+
240+let VOTEBET = (150000000 / 1000)
241+
242+let TIERS = [10, 50, 250, 1250, 6250]
243+
244+let MULTIPLIER = 150
245+
246+@Callable(i)
247+func inviteuser (newaccount,data) = {
248+ let account = toBase58String(i.caller.bytes)
249+ if ((getValueWhitelistRef(newaccount) != NONE))
250+ then throw("User has already been invited")
251+ else if (if ((getKeyWhitelistStatus(account) != WHITELISTED))
252+ then (account != GENESIS)
253+ else false)
254+ then throw("Your account should be whitelisted")
255+ else WriteSet([DataEntry(getKeyWhitelistRef(newaccount), account), DataEntry(getKeyWhitelistInvitationData(newaccount), data)])
256+ }
257+
258+
259+
260+@Callable(i)
261+func signup (data) = {
262+ let account = toBase58String(i.caller.bytes)
263+ if ((getKeyWhitelistRef(account) == NONE))
264+ then throw("Referral invite needed")
265+ else WriteSet([DataEntry(getKeyWhitelistBio(account), data), DataEntry(getKeyWhitelistBlock(account), height), DataEntry(getKeyWhitelistStatus(account), WHITELISTED)])
266+ }
267+
268+
269+
270+@Callable(i)
271+func withdraw () = {
272+ let currentKey = toBase58String(i.caller.bytes)
273+ let amount = getValueBalance(currentKey)
274+ if ((0 >= amount))
275+ then throw("Not enough balance")
276+ else ScriptResult(WriteSet([DataEntry(getKeyBalance(currentKey), 0)]), TransferSet([ScriptTransfer(i.caller, amount, unit)]))
277+ }
278+
279+
280+
281+@Callable(i)
282+func additem (item,expVoting,expCrowd,expWhale,data) = {
283+ let account = toBase58String(i.caller.bytes)
284+ let pmt = extract(i.payment)
285+ if (isDefined(pmt.assetId))
286+ then throw("can use waves only at the moment")
287+ else if ((pmt.amount != LISTINGFEE))
288+ then throw("Please pay exact amount for the listing")
289+ else if (if (if ((expVoting > 2))
290+ then (expCrowd > 3)
291+ else false)
292+ then (expWhale > 4)
293+ else false)
294+ then throw("Incorrect time parameters")
295+ else if ((getValueItemAuthor(item) != NONE))
296+ then throw("Item already exist")
297+ else WriteSet([DataEntry(getKeyItemAuthor(item), account), DataEntry(getKeyItemBlock(item), height), DataEntry(getKeyItemVotingExpiration(item), (height + expVoting)), DataEntry(getKeyItemBank(item), LISTINGFEE), DataEntry(getKeyItemStatus(item), NEW), DataEntry(getKeyItemData(item), data), DataEntry(getKeyItemCrowdExpiration(item), (height + expCrowd)), DataEntry(getKeyItemWhaleExpiration(item), (height + expWhale))])
298+ }
299+
300+
301+
302+@Callable(i)
303+func votecommit (item,hash) = {
304+ let account = toBase58String(i.caller.bytes)
305+ let commits = getValueItemNCommits(item)
306+ let status = getValueItemStatus(item)
307+ let pmt = extract(i.payment)
308+ if (isDefined(pmt.assetId))
309+ then throw("can use waves only at the moment")
310+ else if ((pmt.amount != (2 * VOTEBET)))
311+ then throw("Not enough funds to vote for a new item")
312+ else if ((height > getValueItemVotingExpiration(item)))
313+ then throw("The voting has expired")
314+ else if ((getValueItemAuthor(item) == account))
315+ then throw("Cannot vote for own proposal")
316+ else if (if ((status != NEW))
317+ then (status != COMMIT)
318+ else false)
319+ then throw("Wrong item status for 'commit' action")
320+ else if ((commits >= VOTERS))
321+ then throw("No more voters for this item")
322+ else if ((getValueItemAccCommit(item, account) != NONE))
323+ then throw("Can't vote twice")
324+ else WriteSet([DataEntry(getKeyItemStatus(item), if (((commits + 1) == VOTERS))
325+ then REVEAL
326+ else COMMIT), DataEntry(getKeyItemAccCommit(item, account), hash), DataEntry(getKeyItemNCommits(item), (commits + 1))])
327+ }
328+
329+
330+
331+@Callable(i)
332+func votereveal (item,vote,salt) = {
333+ let ridehash = toBase58String(sha256(toBytes((vote + salt))))
334+ let account = toBase58String(i.caller.bytes)
335+ let yesmltp = if ((vote == FEATURED))
336+ then 1
337+ else 0
338+ let notmltp = if ((vote == DELISTED))
339+ then 1
340+ else 0
341+ let yescnt = getValueItemVotesYes(item)
342+ let notcnt = getValueItemVotesNo(item)
343+ let newstatus = if ((yescnt >= QUORUM))
344+ then FEATURED
345+ else if ((notcnt >= QUORUM))
346+ then DELISTED
347+ else REVEAL
348+ if ((getValueItemAccCommit(item, account) != ridehash))
349+ then throw("Hashes don't match")
350+ else if ((height > getValueItemVotingExpiration(item)))
351+ then throw("The challenge has expired")
352+ else if ((VOTERS > getValueItemNCommits(item)))
353+ then throw("It's still commit stage")
354+ else if (if ((getValueItemStatus(item) != REVEAL))
355+ then (getValueItemStatus(item) != newstatus)
356+ else false)
357+ then throw("Wrong item status for 'reveal' action")
358+ else if ((getValueItemAccReveal(item, account) != NONE))
359+ then throw("Can't vote twice")
360+ else if (if ((vote != FEATURED))
361+ then (vote != DELISTED)
362+ else false)
363+ then throw("Bad vote result format")
364+ else WriteSet([DataEntry(getKeyItemAccReveal(item, account), vote), DataEntry(getKeyItemVotesYes(item), (yescnt + yesmltp)), DataEntry(getKeyItemVotesNo(item), (notcnt + notmltp)), DataEntry(getKeyItemStatus(item), newstatus), DataEntry(getKeyBalance(account), (getValueBalance(account) + VOTEBET))])
365+ }
366+
367+
368+
369+@Callable(i)
370+func finalizevoting (item,account) = {
371+ let yescnt = getValueItemVotesYes(item)
372+ let notcnt = getValueItemVotesNo(item)
373+ let accvote = getValueItemAccReveal(item, account)
374+ let isauthor = (account == getValueItemAuthor(item))
375+ let finalstatus = if ((yescnt > QUORUM))
376+ then FEATURED
377+ else if ((notcnt > QUORUM))
378+ then DELISTED
379+ else NONE
380+ let mltisnotfullmajority = if (if ((yescnt == VOTERS))
381+ then true
382+ else (notcnt == VOTERS))
383+ then 0
384+ else 1
385+ let nwinners = if ((finalstatus == FEATURED))
386+ then yescnt
387+ else if ((finalstatus == DELISTED))
388+ then notcnt
389+ else 0
390+ let nloosers = (VOTERS - nwinners)
391+ let mltacciswinner = if ((finalstatus == accvote))
392+ then 1
393+ else 0
394+ let voteprofit = if ((nwinners == 0))
395+ then 0
396+ else (mltacciswinner * (VOTEBET + ((mltisnotfullmajority * ((nloosers * VOTEBET) + LISTINGFEE)) / nwinners)))
397+ let authorreturn = (((LISTINGFEE * (if (isauthor)
398+ then 1
399+ else 0)) * (if ((mltisnotfullmajority == 1))
400+ then 0
401+ else 1)) * (if ((finalstatus == FEATURED))
402+ then 1
403+ else 0))
404+ if ((getValueItemVotingExpiration(item) > height))
405+ then throw("The voting hasn't finished yet")
406+ else if ((getValueItemAccFinal(item, account) == FINISHED))
407+ then throw("Account has already claimed")
408+ else if (if ((accvote == NONE))
409+ then !(isauthor)
410+ else false)
411+ then throw("Account hasnot voted, hasnot reveal or isnot author")
412+ else if ((finalstatus == NONE))
413+ then throw("Voting has expired")
414+ else WriteSet([DataEntry(getKeyItemAccFinal(item, account), FINISHED), DataEntry(getKeyBalance(account), ((getValueBalance(account) + voteprofit) + authorreturn))])
415+ }
416+
417+
418+
419+@Callable(i)
420+func closeexpiredvoting (item,account) = {
421+ let finalstatus = if ((getValueItemVotesYes(item) > QUORUM))
422+ then FEATURED
423+ else if ((getValueItemVotesNo(item) > QUORUM))
424+ then DELISTED
425+ else NONE
426+ let accvote = getValueItemAccReveal(item, account)
427+ let isauthor = (account == getValueItemAuthor(item))
428+ let acccomi = getValueItemAccCommit(item, account)
429+ let hasrevealstage = (getValueItemNCommits(item) == VOTERS)
430+ let authorreturn = (LISTINGFEE * (if (isauthor)
431+ then 1
432+ else 0))
433+ let votersreturn1 = ((VOTEBET * (if (hasrevealstage)
434+ then 1
435+ else 0)) * (if ((accvote != NONE))
436+ then 1
437+ else 0))
438+ let votersreturn2 = (((2 * VOTEBET) * (if (hasrevealstage)
439+ then 0
440+ else 1)) * (if ((acccomi != NONE))
441+ then 1
442+ else 0))
443+ if ((getValueItemVotingExpiration(item) > height))
444+ then throw("The voting hasn't finished yet")
445+ else if (if (!(isauthor))
446+ then (acccomi == NONE)
447+ else false)
448+ then throw("Wrong account or item")
449+ else if ((getValueItemAccFinal(item, account) == FINISHED))
450+ then throw("Account has already claimed")
451+ else if ((finalstatus != NONE))
452+ then throw("Wrong item status")
453+ else WriteSet([DataEntry(getKeyItemAccFinal(item, account), FINISHED), DataEntry(getKeyBalance(account), (((getValueBalance(account) + authorreturn) + votersreturn1) + votersreturn2))])
454+ }
455+
456+
457+
458+@Callable(i)
459+func donate (item,tier,mode,review) = {
460+ let account = toBase58String(i.caller.bytes)
461+ let pmt = extract(i.payment)
462+ if (isDefined(pmt.assetId))
463+ then throw("can use waves only at the moment")
464+ else {
465+ let cnt = (getValueItemAccReviewsCnt(item, account) + 1)
466+ let newnegativefund = (getValueItemFundNegative(item) + ((if ((mode == NEGATIVE))
467+ then 1
468+ else 0) * pmt.amount))
469+ let newpositivefund = (getValueItemFundPositive(item) + ((if ((mode == POSITIVE))
470+ then 1
471+ else 0) * pmt.amount))
472+ if ((getValueItemStatus(item) != FEATURED))
473+ then throw("The project hasn't accepted by community")
474+ else if ((height >= getValueItemCrowdExpiration(item)))
475+ then throw("The time for crowdfunding has expired")
476+ else if ((newnegativefund >= newpositivefund))
477+ then throw("Negative fund can't be higher than positive fund")
478+ else if (if ((mode != POSITIVE))
479+ then (mode != NEGATIVE)
480+ else false)
481+ then throw("Wrong mode parameter")
482+ else if ((getValueItemAuthor(item) == account))
483+ then throw("Can't donate own project")
484+ else if ((pmt.amount != TIERS[(tier - 1)]))
485+ then throw(("The payment must be equal to tier amount: " + toString(TIERS[(tier - 1)])))
486+ else WriteSet([DataEntry(getKeyItemAccReviewsCnt(item, account), cnt), DataEntry(getKeyItemAccFundPositive(item, account), (getValueItemAccFundPositive(item, account) + ((if ((mode == POSITIVE))
487+ then 1
488+ else 0) * pmt.amount))), DataEntry(getKeyItemAccFundNegative(item, account), (getValueItemAccFundNegative(item, account) + ((if ((mode == NEGATIVE))
489+ then 1
490+ else 0) * pmt.amount))), DataEntry(getKeyItemFundPositive(item), newpositivefund), DataEntry(getKeyItemFundNegative(item), newnegativefund), DataEntry(getKeyItemAccReviewText(item, account, toString(cnt)), review), DataEntry(getKeyItemAccReviewMode(item, account, toString(cnt)), mode), DataEntry(getKeyItemAccReviewTier(item, account, toString(cnt)), tier)])
491+ }
492+ }
493+
494+
495+
496+@Callable(i)
497+func whale (item) = {
498+ let pmt = extract(i.payment)
499+ if (isDefined(pmt.assetId))
500+ then throw("can use waves only at the moment")
501+ else if ((getValueItemStatus(item) != FEATURED))
502+ then throw("The project hasn't accepted by community")
503+ else if ((getValueItemCrowdExpiration(item) > height))
504+ then throw("The time for crowdfunding has not expired yet")
505+ else if ((height > getValueItemWhaleExpiration(item)))
506+ then throw("The time for grant has expired")
507+ else if ((getValueItemStatus(item) == BUYOUT))
508+ then throw("Investement has already done")
509+ else if ((((getValueItemFundPositive(item) * MULTIPLIER) / 100) > pmt.amount))
510+ then throw((("Investement must be more than " + toString(MULTIPLIER)) + "% of supportes funds"))
511+ else WriteSet([DataEntry(getKeyItemStatus(item), BUYOUT), DataEntry(getKeyBalance(getValueItemAuthor(item)), (getValueBalance(getValueItemAuthor(item)) + getValueItemFundPositive(item))), DataEntry(getKeyItemBuyoutAmount(item), pmt.amount)])
512+ }
513+
514+
515+
516+@Callable(i)
517+func claimwinnings (item,account) = {
518+ let status = getValueItemStatus(item)
519+ let isbayout = if ((status == BUYOUT))
520+ then 1
521+ else 0
522+ let iscrowdf = if ((status != BUYOUT))
523+ then 1
524+ else 0
525+ let positivefund = getValueItemFundPositive(item)
526+ let negativefund = getValueItemFundNegative(item)
527+ let share = (((isbayout * (getValueItemAccFundPositive(item, account) * 100)) / (if ((0 >= positivefund))
528+ then 1
529+ else positivefund)) + ((iscrowdf * (getValueItemAccFundNegative(item, account) * 100)) / (if ((0 >= negativefund))
530+ then 1
531+ else negativefund)))
532+ let tmpnegwin = ((negativefund * MULTIPLIER) / 100)
533+ let betprofit = ((isbayout * ((share * negativefund) / 100)) + (iscrowdf * ((share * (if ((positivefund > tmpnegwin))
534+ then tmpnegwin
535+ else positivefund)) / 100)))
536+ let roiprofit = (isbayout * ((share * getValueItemBuyoutAmount(item)) / 100))
537+ let authorprofit = (((if ((getValueItemAuthor(item) == account))
538+ then 1
539+ else 0) * positivefund) * (if ((status != BUYOUT))
540+ then 1
541+ else 0))
542+ if ((status == DELISTED))
543+ then throw("The project hasn't accepted by community")
544+ else if (if ((status != BUYOUT))
545+ then (getValueItemWhaleExpiration(item) >= height)
546+ else false)
547+ then throw("The time for grant has not expired yet")
548+ else if ((0 >= (positivefund + negativefund)))
549+ then throw("The campaign wasn't active")
550+ else WriteSet([DataEntry(getKeyBalance(account), (((getValueBalance(account) + betprofit) + roiprofit) + authorprofit)), DataEntry(getKeyItemStatus(item), if ((authorprofit > 0))
551+ then CASHOUT
552+ else status), DataEntry(getKeyItemAccFinal(item, account), CLAIMED)])
553+ }
554+
555+

github/deemru/w8io/c3f4982 
34.14 ms