tx · 5WRfPAjMKVa1muX9pEvCqLCgL64af87Se3kAgxbSuqdp

3Muq5wV3BDmwMhJVZYV29DzxmK1omjyuibx:  -0.01000000 Waves

2019.12.30 15:39 [831828] smart account 3Muq5wV3BDmwMhJVZYV29DzxmK1omjyuibx > SELF 0.00000000 Waves

{ "type": 13, "id": "5WRfPAjMKVa1muX9pEvCqLCgL64af87Se3kAgxbSuqdp", "fee": 1000000, "feeAssetId": null, "timestamp": 1577709135650, "version": 1, "sender": "3Muq5wV3BDmwMhJVZYV29DzxmK1omjyuibx", "senderPublicKey": "2VedaSDtTc2zJEQPTDwrUiyjjbQAbFbjtyuFWe5HSt4S", "proofs": [ "2wKSgJRFwZRir5xNMycLBs9TCCtGzzaGPe9UgQxqVtLmYKgDmX5fK3vZSQ5BQtQMwGpe6L8YYLvABKaHrLQgzyrU" ], "script": "base64:AAIDAAAAAAAAABMIARIICgYIAQEBAQESABIDCgEIAAAAEgAAAAASRHJhZ29uRnJ1aXRBZGRyZXNzAgAAACMzTXpERzlydDEzRXU1dXc0bVpxa0c1YXhEaWlqdlZTRGJqYwAAAAANZGl2UHJvZ3JhbVB1YgkAAlkAAAABAgAAACxBNGJKZm5CaEJUVmg3R1JOcjFoSHo2aXFKdGE2ZUJiYUV4UERHN1VhcG9hRAAAAAAIYWRtaW5QdWIJAAJZAAAAAQIAAAAsNXlqY2Z2SDZpdXdya0ZnaFh1V2FKZU1wcGFRODkzRlNzOEhDQWdWUXp1TlkAAAAADHdhdmVzQXNzZXRJZAUAAAAEdW5pdAAAAAAKYnRjQXNzZXRJZAEAAAAgbDay9tQcEtzHdt0STB4S0ADuIUgbcohuxXO8rQ852yoAAAAACmV0aEFzc2V0SWQBAAAAIDhuzkVW3sDH2wOtmv6JQ6ro5x6FVpACOmgC2/a56f4VAAAAAApsdGNBc3NldElkAQAAACDoIi/sdJtWLPdBhG4QLfxocGGv0n1LPYuk5MXk5PmgNAAAAAALd2VzdEFzc2V0SWQBAAAAIKPMH7K9UkJfSfT2ToivFljpygSe4aCd+tVbvF6RfUFQAAAAAAp3Y3RBc3NldElkAQAAACCK86a8B9SM024yQtpj2uAKQIjN+oQNcSlHnRS+pZZlsAEAAAANY2FsbGVySXNBZG1pbgAAAAEAAAAPY2FsbGVyUHVibGljS2V5AwkAAAAAAAACBQAAAA9jYWxsZXJQdWJsaWNLZXkFAAAACGFkbWluUHViBQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAAaWW91IGNhbm5vdCBjcmVhdGUgZGVwb3NpdHMBAAAAFGNhbGxlcklzRGVwb3NpdE93bmVyAAAAAgAAAAlhc3NldE5hbWUAAAAPY2FsbGVyUHVibGljS2V5BAAAAAxkZXBvc2l0T3duZXIJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAlhc3NldE5hbWUCAAAADV9EZXBvc2l0T3duZXIDCQAAAAAAAAIFAAAAD2NhbGxlclB1YmxpY0tleQUAAAAMZGVwb3NpdE93bmVyBQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAArT25seSBkZXBvc2l0IG93bmVyIGNhbiB3aXRoZHJhd2FsIGRpdmlkZW5kcwEAAAATZGVwb3NpdENyZWF0ZWRDaGVjawAAAAEAAAAJYXNzZXROYW1lBAAAAANrZXkJAAEsAAAAAgUAAAAJYXNzZXROYW1lAgAAAA1fRGVwb3NpdE93bmVyBAAAAAN2YWwJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5BAAAAAckbWF0Y2gwBQAAAAN2YWwDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAYHAQAAAAthbW91bnRDaGVjawAAAAIAAAAJYXNzZXROYW1lAAAACXBtdEFtb3VudAQAAAADa2V5CQABLAAAAAIFAAAACWFzc2V0TmFtZQIAAAAOX0RlcG9zaXRBbW91bnQEAAAAA3ZhbAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkEAAAADWRlcG9zaXRBbW91bnQEAAAAByRtYXRjaDAFAAAAA3ZhbAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhCQAAAgAAAAECAAAAHENvdWxkbid0IGZpbmQgZGVwb3NpdCBhbW91bnQDCQAAAAAAAAIFAAAACXBtdEFtb3VudAUAAAANZGVwb3NpdEFtb3VudAUAAAAJcG10QW1vdW50CQAAAgAAAAECAAAAE0Ftb3VudCBpcyBpbmNvcnJlY3QBAAAAEWFzc2V0QmFzZTU4VG9OYW1lAAAAAQAAAAdhc3NldElkAwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAAHYXNzZXRJZAIAAAAFV0FWRVMDCQAAAAAAAAIFAAAAB2Fzc2V0SWQFAAAACmJ0Y0Fzc2V0SWQCAAAAA0JUQwMJAAAAAAAAAgUAAAAHYXNzZXRJZAUAAAAKZXRoQXNzZXRJZAIAAAADRVRIAwkAAAAAAAACBQAAAAdhc3NldElkBQAAAApsdGNBc3NldElkAgAAAANMVEMDCQAAAAAAAAIFAAAAB2Fzc2V0SWQFAAAAC3dlc3RBc3NldElkAgAAAARXRVNUAwkAAAAAAAACBQAAAAdhc3NldElkBQAAAAp3Y3RBc3NldElkAgAAAANXQ1QJAAACAAAAAQIAAAAUQXNzZXRJZCBpcyBpbmNvcnJlY3QBAAAAEWFzc2V0TmFtZVRvQmFzZTU4AAAAAQAAAAlhc3NldE5hbWUDCQAAAAAAAAIFAAAACWFzc2V0TmFtZQIAAAAFV0FWRVMFAAAADHdhdmVzQXNzZXRJZAMJAAAAAAAAAgUAAAAJYXNzZXROYW1lAgAAAANCVEMFAAAACmJ0Y0Fzc2V0SWQDCQAAAAAAAAIFAAAACWFzc2V0TmFtZQIAAAADRVRIBQAAAApldGhBc3NldElkAwkAAAAAAAACBQAAAAlhc3NldE5hbWUCAAAAA0xUQwUAAAAKbHRjQXNzZXRJZAMJAAAAAAAAAgUAAAAJYXNzZXROYW1lAgAAAARXRVNUBQAAAAt3ZXN0QXNzZXRJZAMJAAAAAAAAAgUAAAAJYXNzZXROYW1lAgAAAANXQ1QFAAAACndjdEFzc2V0SWQJAAACAAAAAQIAAAAXQXNzZXQgbmFtZSBpcyBpbmNvcnJlY3QBAAAAE2dldERpdmlkZW5kc1BlcmNlbnQAAAABAAAACWFzc2V0TmFtZQQAAAADa2V5CQABLAAAAAIFAAAACWFzc2V0TmFtZQIAAAAQX0RpdmlkZW5kUGVyY2VudAQAAAADdmFsCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQQAAAAHJG1hdGNoMAUAAAADdmFsAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEJAAACAAAAAQIAAAAeQ291bGRuJ3QgRmluZCBkaXZpZGVuZCBwZXJjZW50AQAAABtnZXREaXZpZGVuZHNXaXRoZHJhd25BbW91bnQAAAABAAAACWFzc2V0TmFtZQQAAAADdmFsCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAJYXNzZXROYW1lAgAAABJfRGl2aWRlbmRXaXRoZHJhd24EAAAAByRtYXRjaDAFAAAAA3ZhbAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAAAQAAABJnZXREaXZpZGVuZEJhbGFuY2UAAAADAAAAB2Fzc2V0SWQAAAASZGl2aWRlbmRzV2l0aGRyYXduAAAAEGRpdmlkZW5kc1BlcmNlbnQEAAAAFWRpdmlkZW5kc1RvdGFsQmFsYW5jZQkAAGQAAAACCQAD6wAAAAIFAAAABHRoaXMFAAAAB2Fzc2V0SWQFAAAAEmRpdmlkZW5kc1dpdGhkcmF3bgQAAAAJdXNlclN0YWtlCQAAaQAAAAIJAABoAAAAAgUAAAAVZGl2aWRlbmRzVG90YWxCYWxhbmNlBQAAABBkaXZpZGVuZHNQZXJjZW50AAAAAAAAAABkCQAAZQAAAAIFAAAACXVzZXJTdGFrZQUAAAASZGl2aWRlbmRzV2l0aGRyYXduAAAAAwAAAAFpAQAAAA1jcmVhdGVEZXBvc2l0AAAABgAAAAlhc3NldE5hbWUAAAAGYW1vdW50AAAAEGRlaXZpZGVuZFBlcmNlbnQAAAALc3RhcnRIZWlnaHQAAAAOZHVyYXRpb25CbG9ja3MAAAAOc3RhcnRUaW1lc3RhbXAEAAAACWNhbGxlclB1YgkBAAAADWNhbGxlcklzQWRtaW4AAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAAFWRlcG9zaXRBbHJlYWR5Q3JlYXRlZAkBAAAAE2RlcG9zaXRDcmVhdGVkQ2hlY2sAAAABBQAAAAlhc3NldE5hbWUDBQAAABVkZXBvc2l0QWxyZWFkeUNyZWF0ZWQJAAACAAAAAQIAAAAaRGVwb3NpdCBpcyBhbHJlYWR5IGNyZWF0ZWQJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAJYXNzZXROYW1lAgAAAA1fRGVwb3NpdFN0YXRlAgAAAAdDcmVhdGVkCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACWFzc2V0TmFtZQIAAAAOX0RlcG9zaXRBbW91bnQFAAAABmFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAlhc3NldE5hbWUCAAAAEF9EaXZpZGVuZFBlcmNlbnQFAAAAEGRlaXZpZGVuZFBlcmNlbnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAJYXNzZXROYW1lAgAAABJfRGVwb3NpdFN0YXJ0QmxvY2sFAAAAC3N0YXJ0SGVpZ2h0CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACWFzc2V0TmFtZQIAAAAWX0RlcG9zaXRTdGFydFRpbWVzdGFtcAUAAAAOc3RhcnRUaW1lc3RhbXAJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAJYXNzZXROYW1lAgAAABVfRGVwb3NpdER1cmF0aW9uQmxvY2sFAAAADmR1cmF0aW9uQmxvY2tzBQAAAANuaWwAAAABaQEAAAAHZGVwb3NpdAAAAAAEAAAACWNhbGxlclB1YgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAAA3BtdAkBAAAAB2V4dHJhY3QAAAABCAUAAAABaQAAAAdwYXltZW50BAAAAAlhc3NldE5hbWUJAQAAABFhc3NldEJhc2U1OFRvTmFtZQAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAQAAAAGYW1vdW50CQEAAAALYW1vdW50Q2hlY2sAAAACBQAAAAlhc3NldE5hbWUIBQAAAANwbXQAAAAGYW1vdW50BAAAAAxkZXBvc2l0U3RhdGUJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAlhc3NldE5hbWUCAAAADV9EZXBvc2l0U3RhdGUDCQAAAAAAAAIFAAAADGRlcG9zaXRTdGF0ZQIAAAAHQ3JlYXRlZAkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAACl9PcGVyYXRpb24FAAAABmhlaWdodAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAlhc3NldE5hbWUCAAAADV9EZXBvc2l0T3duZXIFAAAACWNhbGxlclB1YgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAlhc3NldE5hbWUCAAAADV9EZXBvc2l0U3RhdGUCAAAABkFjdGl2ZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAlhc3NldE5hbWUCAAAAEl9EaXZpZGVuZFdpdGhkcmF3bgAAAAAAAAAAAAUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQUAAAASRHJhZ29uRnJ1aXRBZGRyZXNzBQAAAAZhbW91bnQIBQAAAANwbXQAAAAHYXNzZXRJZAUAAAADbmlsCQAAAgAAAAECAAAAFkRlcG9zaXQgaXMgdW5hdmFpbGFibGUAAAABaQEAAAARd2l0aGRyYXdEaXZpZGVuZHMAAAABAAAACWFzc2V0TmFtZQQAAAAHYXNzZXRJZAkBAAAAEWFzc2V0TmFtZVRvQmFzZTU4AAAAAQUAAAAJYXNzZXROYW1lBAAAAAxkZXBvc2l0T3duZXIJAQAAABRjYWxsZXJJc0RlcG9zaXRPd25lcgAAAAIFAAAACWFzc2V0TmFtZQkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAAEGRpdmlkZW5kc1BlcmNlbnQJAQAAABNnZXREaXZpZGVuZHNQZXJjZW50AAAAAQUAAAAJYXNzZXROYW1lBAAAABJkaXZpZGVuZHNXaXRoZHJhd24JAQAAABtnZXREaXZpZGVuZHNXaXRoZHJhd25BbW91bnQAAAABBQAAAAlhc3NldE5hbWUEAAAAEmRpdmlkZW5kc0F2YWxpYWJsZQkBAAAAEmdldERpdmlkZW5kQmFsYW5jZQAAAAMFAAAAB2Fzc2V0SWQFAAAAEmRpdmlkZW5kc1dpdGhkcmF3bgUAAAAQZGl2aWRlbmRzUGVyY2VudAkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAJYXNzZXROYW1lAgAAABJfRGl2aWRlbmRXaXRoZHJhd24JAABkAAAAAgUAAAASZGl2aWRlbmRzV2l0aGRyYXduBQAAABJkaXZpZGVuZHNBdmFsaWFibGUFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABCQACWQAAAAEFAAAADGRlcG9zaXRPd25lcgUAAAASZGl2aWRlbmRzQXZhbGlhYmxlBQAAAAdhc3NldElkBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABsPytDM=", "chainId": 84, "height": 831828, "spentComplexity": 0 } View: original | compacted Prev: none Next: 4Sjx5AjS1w4oTGPZdBtH1QM6DcDSrTjseCXywWPfD7vD Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = "3MzDG9rt13Eu5uw4mZqkG5axDiijvVSDbjc"
5+
6+let b = fromBase58String("A4bJfnBhBTVh7GRNr1hHz6iqJta6eBbaExPDG7UapoaD")
7+
8+let c = fromBase58String("5yjcfvH6iuwrkFghXuWaJeMppaQ893FSs8HCAgVQzuNY")
9+
10+let d = unit
11+
12+let e = base58'8HRQdqJBBeqZvgMtg6we6sw11i5GzpFNs7onNeVRBmaq'
13+
14+let f = base58'4oHq3C7ar7kmcRHEZBrgPyGtU6fkqJ1pHoRYboKeYSWQ'
15+
16+let g = base58'Gd9pdZw9muDBZwwsQLqyigRJCDABbiJaksmemzFCorsV'
17+
18+let h = base58'C2Pz1Q9QYaF9MkK9J9mX9vAMVc25R3w6Lr5g5B5Yje87'
19+
20+let i = base58'AMQkRmWSWHEd1nMDvDZFkadoCFCxRkDzBsEbscJ9ZZ2P'
21+
22+func j (k) = if ((k == c))
23+ then k
24+ else throw("You cannot create deposits")
25+
26+
27+func l (m,k) = {
28+ let n = getString(this, (m + "_DepositOwner"))
29+ if ((k == n))
30+ then k
31+ else throw("Only deposit owner can withdrawal dividends")
32+ }
33+
34+
35+func o (m) = {
36+ let p = (m + "_DepositOwner")
37+ let q = getString(this, p)
38+ let r = q
39+ if ($isInstanceOf(r, "String"))
40+ then {
41+ let s = r
42+ true
43+ }
44+ else false
45+ }
46+
47+
48+func t (m,u) = {
49+ let p = (m + "_DepositAmount")
50+ let q = getInteger(this, p)
51+ let v = {
52+ let r = q
53+ if ($isInstanceOf(r, "Int"))
54+ then {
55+ let s = r
56+ s
57+ }
58+ else throw("Couldn't find deposit amount")
59+ }
60+ if ((u == v))
61+ then u
62+ else throw("Amount is incorrect")
63+ }
64+
65+
66+func w (x) = if (!(isDefined(x)))
67+ then "WAVES"
68+ else if ((x == e))
69+ then "BTC"
70+ else if ((x == f))
71+ then "ETH"
72+ else if ((x == g))
73+ then "LTC"
74+ else if ((x == h))
75+ then "WEST"
76+ else if ((x == i))
77+ then "WCT"
78+ else throw("AssetId is incorrect")
79+
80+
81+func y (m) = if ((m == "WAVES"))
82+ then d
83+ else if ((m == "BTC"))
84+ then e
85+ else if ((m == "ETH"))
86+ then f
87+ else if ((m == "LTC"))
88+ then g
89+ else if ((m == "WEST"))
90+ then h
91+ else if ((m == "WCT"))
92+ then i
93+ else throw("Asset name is incorrect")
94+
95+
96+func z (m) = {
97+ let p = (m + "_DividendPercent")
98+ let q = getInteger(this, p)
99+ let r = q
100+ if ($isInstanceOf(r, "Int"))
101+ then {
102+ let s = r
103+ s
104+ }
105+ else throw("Couldn't Find dividend percent")
106+ }
107+
108+
109+func A (m) = {
110+ let q = getInteger(this, (m + "_DividendWithdrawn"))
111+ let r = q
112+ if ($isInstanceOf(r, "Int"))
113+ then {
114+ let s = r
115+ s
116+ }
117+ else 0
118+ }
119+
120+
121+func B (x,C,D) = {
122+ let E = (assetBalance(this, x) + C)
123+ let F = ((E * D) / 100)
124+ (F - C)
125+ }
126+
127+
128+@Callable(G)
129+func createDeposit (m,H,I,J,K,L) = {
130+ let M = j(G.callerPublicKey)
131+ let N = o(m)
132+ if (N)
133+ then throw("Deposit is already created")
134+ else WriteSet([DataEntry((m + "_DepositState"), "Created"), DataEntry((m + "_DepositAmount"), H), DataEntry((m + "_DividendPercent"), I), DataEntry((m + "_DepositStartBlock"), J), DataEntry((m + "_DepositStartTimestamp"), L), DataEntry((m + "_DepositDurationBlock"), K)])
135+ }
136+
137+
138+
139+@Callable(G)
140+func deposit () = {
141+ let M = toBase58String(G.callerPublicKey)
142+ let O = extract(G.payment)
143+ let m = w(O.assetId)
144+ let H = t(m, O.amount)
145+ let P = getString(this, (m + "_DepositState"))
146+ if ((P == "Created"))
147+ then ScriptResult(WriteSet([DataEntry("_Operation", height), DataEntry((m + "_DepositOwner"), M), DataEntry((m + "_DepositState"), "Active"), DataEntry((m + "_DividendWithdrawn"), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(a), H, O.assetId)]))
148+ else throw("Deposit is unavailable")
149+ }
150+
151+
152+
153+@Callable(G)
154+func withdrawDividends (m) = {
155+ let x = y(m)
156+ let n = l(m, toBase58String(G.callerPublicKey))
157+ let D = z(m)
158+ let C = A(m)
159+ let Q = B(x, C, D)
160+ ScriptResult(WriteSet([DataEntry((m + "_DividendWithdrawn"), (C + Q))]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(n)), Q, x)]))
161+ }
162+
163+
164+@Verifier(R)
165+func S () = true
166+

github/deemru/w8io/3ef1775 
29.72 ms