tx · 6PWxpjd41M9JynSV4Q5srSY76JrzevxnJaGZADo77pKy

3N3QGoxpTairHzyavoHpRPyTVMyLdX46MwJ:  -0.01400000 Waves

2021.02.02 16:02 [1380576] smart account 3N3QGoxpTairHzyavoHpRPyTVMyLdX46MwJ > SELF 0.00000000 Waves

{ "type": 13, "id": "6PWxpjd41M9JynSV4Q5srSY76JrzevxnJaGZADo77pKy", "fee": 1400000, "feeAssetId": null, "timestamp": 1612270956256, "version": 2, "chainId": 84, "sender": "3N3QGoxpTairHzyavoHpRPyTVMyLdX46MwJ", "senderPublicKey": "84ye9pvBU1ixETjmeNbvvD5czb8ZEjsSJuNyFGkYFmwd", "proofs": [ "5Qr5azEjRjoowXM7TwcRjGVgLa7h2G7MJWCvScNZWayn5QHAKLeV5RdbXi9TmimgBCqNTrJkXmbn6iZPmqmmMJwF" ], "script": "base64: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", "height": 1380576, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 554LGE8MG5HSEZ45xTuBF7vw2uTJq8Aq8kiRNufgBvsR Next: 6ZGgb1WXermoi8aooaTac7St6pDmY3J2nC5jR9XgbTJA Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "none"
55
66 let b = "banned"
77
88 let c = "active"
99
1010 let d = "close"
1111
1212 let e = "open"
1313
1414 let f = "asset"
1515
1616 let g = "key_price"
1717
1818 let h = "owner"
1919
2020 let i = [e, d]
2121
2222 let j = 0
2323
2424 let k = 0
2525
2626 let l = 1
2727
2828 func m (n) = {
2929 let o = getInteger(this, n)
3030 if ($isInstanceOf(o, "Int"))
3131 then {
3232 let p = o
3333 p
3434 }
3535 else 0
3636 }
3737
3838
3939 func q (n) = {
4040 let o = getString(this, n)
4141 if ($isInstanceOf(o, "String"))
4242 then {
4343 let p = o
4444 p
4545 }
4646 else a
4747 }
4848
4949
5050 func r (n) = {
5151 let o = getInteger(this, n)
5252 if ($isInstanceOf(o, "Int"))
5353 then {
5454 let p = o
5555 p
5656 }
5757 else 0
5858 }
5959
6060
6161 func s (t,n) = {
6262 let o = getString(t, n)
6363 if ($isInstanceOf(o, "String"))
6464 then {
6565 let p = o
6666 p
6767 }
6868 else a
6969 }
7070
7171
7272 func u () = fromBase58String(q(f))
7373
7474
7575 func v (t) = ("user_" + t)
7676
7777
7878 func w (t) = {
7979 let o = getString(this, v(t))
8080 if ($isInstanceOf(o, "String"))
8181 then {
8282 let p = o
8383 p
8484 }
8585 else a
8686 }
8787
8888
8989 func x (t) = ("device_" + t)
9090
9191
9292 func y (t) = ("device_counter_" + t)
9393
9494
9595 func z (t) = q(x(t))
9696
9797
9898 func A (t) = m(y(t))
9999
100100
101101 func B (C) = ("key_" + C)
102102
103103
104104 func D (C) = q(B(C))
105105
106106
107107 func E (F,n) = {
108108 let G = B(n)
109109 let H = s(F, G)
110110 if ((H != a))
111111 then false
112112 else true
113113 }
114114
115115
116116 func I (n) = {
117117 let F = split(n.description, "_")[k]
118118 let o = addressFromString(F)
119119 if ($isInstanceOf(o, "Address"))
120120 then {
121121 let J = o
122122 J
123123 }
124124 else throw("Not a device key")
125125 }
126126
127127
128128 func K (L) = {
129129 let o = assetInfo(L)
130130 if ($isInstanceOf(o, "Asset"))
131131 then {
132132 let J = o
133133 J
134134 }
135135 else throw("Not a key")
136136 }
137137
138138
139139 func M (n) = {
140140 let N = parseIntValue(split(n.description, "_")[l])
141141 (lastBlock.timestamp > N)
142142 }
143143
144144
145145 func O (F) = {
146146 let o = getInteger(F, g)
147147 if ($isInstanceOf(o, "Int"))
148148 then {
149149 let J = o
150150 J
151151 }
152152 else throw("Price not specified in device")
153153 }
154154
155155
156156 func P (F) = {
157157 let o = getString(F, h)
158158 if ($isInstanceOf(o, "String"))
159159 then {
160160 let J = o
161161 J
162162 }
163163 else throw("Owner not specified in device")
164164 }
165165
166166
167167 func Q (R,S,T) = if ((1 > size(R.payments)))
168168 then throw("wrong payments count")
169169 else if ((R.payments[0].assetId != S))
170170 then throw("wrong asset, supported only xyz")
171171 else if ((R.payments[0].amount != T))
172172 then throw(("wrong payment value, expected " + toString(T)))
173173 else false
174174
175175
176176 func U (V) = {
177177 let o = indexOf(i, V)
178178 if ($isInstanceOf(o, "Int"))
179179 then {
180180 let p = o
181181 false
182182 }
183183 else true
184184 }
185185
186186
187187 @Callable(R)
188188 func addDevice (W) = if ((R.caller != this))
189189 then throw("Not permitted")
190190 else if ((z(W) != a))
191191 then throw("Device already added")
192192 else [StringEntry(x(W), d), IntegerEntry(y(W), j)]
193193
194194
195195
196196 @Callable(R)
197197 func addUser (W) = if ((R.caller != this))
198198 then throw("Not permitted")
199199 else [StringEntry(v(W), c)]
200200
201201
202202
203203 @Callable(R)
204204 func removeUser (W) = if ((R.caller != this))
205205 then throw("Not permitted")
206206 else [DeleteEntry(v(W))]
207207
208208
209209
210210 @Callable(R)
211211 func requestKey (W,X) = {
212212 let Y = lastBlock.timestamp
213213 let Z = (Y + X)
214214 let aa = P(addressFromStringValue(W))
215215 let ab = O(addressFromStringValue(W))
216216 let S = u()
217217 if ((toBase58String(R.caller.bytes) != aa))
218218 then throw("Not permitted")
219219 else if ((x(W) == a))
220220 then throw("No such device")
221221 else if (Q(R, S, ab))
222222 then throw("wrong price")
223223 else {
224224 let ac = Issue("DeviceKeyGen", ((W + "_") + toString(Z)), 1, 0, false)
225225 let ad = calculateAssetId(ac)
226226 [ac, ScriptTransfer(R.caller, 1, ad)]
227227 }
228228 }
229229
230230
231231
232232 @Callable(R)
233233 func deviceAction (ae,V) = {
234234 let af = (1 > assetBalance(R.caller, fromBase58String(ae)))
235235 let ag = K(fromBase58String(ae))
236236 let F = I(ag)
237237 let ah = toBase58String(F.bytes)
238238 if (af)
239239 then throw("Key not owned")
240240 else if ((x(ah) == a))
241241 then throw("No such device")
242242 else if (E(F, ae))
243243 then throw("Key not whitelisted")
244244 else if (U(V))
245245 then throw("Action is not allowed")
246246 else if (M(ag))
247247 then throw("Key expired")
248248 else [StringEntry(x(ah), V), IntegerEntry(y(ah), (A(ah) + 1))]
249249 }
250250
251251
252252 @Verifier(ai)
253253 func aj () = sigVerify(ai.bodyBytes, ai.proofs[0], ai.senderPublicKey)
254254

github/deemru/w8io/169f3d6 
30.68 ms