tx · 6FRzLYHwCpEBfEQDmx1EUsQKxBMRm2AMUvKSXWXY3ykt

3NCJHcAWhSRwPo6Hv14g6piksx2Mqct3cPv:  -0.01400000 Waves

2019.11.22 16:09 [776465] smart account 3NCJHcAWhSRwPo6Hv14g6piksx2Mqct3cPv > SELF 0.00000000 Waves

{ "type": 13, "id": "6FRzLYHwCpEBfEQDmx1EUsQKxBMRm2AMUvKSXWXY3ykt", "fee": 1400000, "feeAssetId": null, "timestamp": 1574428196275, "version": 1, "sender": "3NCJHcAWhSRwPo6Hv14g6piksx2Mqct3cPv", "senderPublicKey": "J4mvdpZZdSDaJxcxbjMxbJ6ALuNZ3WZrob2n36huvgE4", "proofs": [ "5zVTFeqZgTcjKiJNax8ApZCqfzdHpWVWjpz6n1tdxycs1N1pLwZz3HQSnZd7bJcdxWDr6i1s5b9sPo9H2GQrMdmp" ], "script": "base64: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", "chainId": 84, "height": 776465, "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let NONE = "none"
5+
6+let VOTERS = 3
7+
8+let QUORUM = 2
9+
10+let VOTING = "voting"
11+
12+let REVEAL = "reveal"
13+
14+let FEATURED = "featured"
15+
16+let DELISTED = "delisted"
17+
18+func getStrByKey (key) = {
19+ let str = match getString(this, key) {
20+ case a: String =>
21+ a
22+ case _ =>
23+ NONE
24+ }
25+ str
26+ }
27+
28+
29+func getNumberByKey (key) = {
30+ let num = match getInteger(this, key) {
31+ case a: Int =>
32+ a
33+ case _ =>
34+ 0
35+ }
36+ num
37+ }
38+
39+
40+func getKeyCommit (item,user) = (((item + "_") + user) + "_commit")
41+
42+
43+func getValueCommit (item,user) = getStrByKey(getKeyCommit(item, user))
44+
45+
46+func getKeyCommitsCount (item) = (item + "_comcnt")
47+
48+
49+func getValueCommitsCount (item) = getNumberByKey(getKeyCommitsCount(item))
50+
51+
52+func getKeyReveal (item,user) = (((item + "_") + user) + "_reveal")
53+
54+
55+func getValueReveal (item,user) = getStrByKey(getKeyReveal(item, user))
56+
57+
58+func getKeyItemStatus (item) = (item + "_status")
59+
60+
61+func getValueItemStatus (item) = getStrByKey(getKeyItemStatus(item))
62+
63+
64+func getKeyVoteCount (item,vote) = ((item + "_res:") + vote)
65+
66+
67+func getValueVoteCount (item,vote) = getNumberByKey(getKeyVoteCount(item, vote))
68+
69+
70+func getKeyItemPrice (item) = (item + "_price")
71+
72+
73+func getKeyItemData (item) = (item + "_data")
74+
75+
76+func getKeyItemSupp (item) = (item + "_owner")
77+
78+
79+func getKeyItem (supp,title) = ("item_" + toBase58String(sha256(toBytes((supp + title)))))
80+
81+
82+func getValueItemSupp (item) = getStrByKey(getKeyItemSupp(item))
83+
84+
85+func getValueItemPrice (item) = getNumberByKey(getKeyItemPrice(item))
86+
87+
88+func getKeyUserItemCounter (user,item) = (((item + "_") + user) + "_cnt")
89+
90+
91+func getValueUserItemCounter (user,item) = getNumberByKey(getKeyUserItemCounter(user, item))
92+
93+
94+func getKeySuppBalance (supp) = (supp + "_balance")
95+
96+
97+func getValueSuppBalance (supp) = getNumberByKey(getKeySuppBalance(supp))
98+
99+
100+let wEUR = base58'2FArMyQcnq53E1rdDEayiA399vvxqeeH7e8uSGy9gCpT'
101+
102+@Callable(i)
103+func depost () = {
104+ let pmt = extract(i.payment)
105+ if ((pmt.assetId != wEUR))
106+ then throw("wEur - 2FArMyQcnq53E1rdDEayiA399vvxqeeH7e8uSGy9gCpT tokens at the moment")
107+ else {
108+ let currentKey = toBase58String(i.caller.bytes)
109+ let currentAmount = match getInteger(this, currentKey) {
110+ case a: Int =>
111+ a
112+ case _ =>
113+ 0
114+ }
115+ let newAmount = (currentAmount + pmt.amount)
116+ WriteSet([DataEntry(currentKey, newAmount)])
117+ }
118+ }
119+
120+
121+
122+@Callable(i)
123+func withdraw (amount) = {
124+ let currentKey = toBase58String(i.caller.bytes)
125+ let currentAmount = match getInteger(this, currentKey) {
126+ case a: Int =>
127+ a
128+ case _ =>
129+ 0
130+ }
131+ let newAmount = (currentAmount - amount)
132+ if ((0 > amount))
133+ then throw("can not withdraw negative amount")
134+ else if ((0 > newAmount))
135+ then throw("Not enough balance")
136+ else ScriptResult(WriteSet([DataEntry(currentKey, newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, wEUR)]))
137+ }
138+
139+

github/deemru/w8io/169f3d6 
21.69 ms