tx · LyW9DYmWqm2HmapPNBYnUAqWU7XDM4YyQVJG7bWrFxX

3MwzVVTXiYGQsp48VX8adQ8cpqERGusRZfD:  -0.01400000 Waves

2020.11.25 17:37 [1281063] smart account 3MwzVVTXiYGQsp48VX8adQ8cpqERGusRZfD > SELF 0.00000000 Waves

{ "type": 13, "id": "LyW9DYmWqm2HmapPNBYnUAqWU7XDM4YyQVJG7bWrFxX", "fee": 1400000, "feeAssetId": null, "timestamp": 1606315074064, "version": 2, "chainId": 84, "sender": "3MwzVVTXiYGQsp48VX8adQ8cpqERGusRZfD", "senderPublicKey": "8ejXYSqoG5h6bNLBRchYHfFvhrj7S4h1tpKRWqZ4oj8D", "proofs": [ "2BkRBHg1VttC3XpzpsBXiE8G1cBC5YMFvEo52yMG6WpeZNabEpSZNjE1iuFEmKsvpZ15687t7SULArvZz7TatMXi" ], "script": "base64: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", "height": 1281063, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: ARWQhEgZ8kDv3r1zYovyygWwYqnnHXU6KvnFYkW7oohU Next: 99vpEaHsoXs5bTSJCkLur9BwsH1j39xfZNWKMQRahiY2 Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4+func a (b,c) = ((("user_" + b) + "_item_") + toString(c))
45
56
6-@Callable(a)
7-func myAddress () = {
8- let b = "this.bytes"
9- let c = toBase58String(this.bytes)
10- let d = " tx.sender.bytes"
11- let e = toBase58String(a.caller.bytes)
12- throw((((b + c) + d) + e))
7+func d (b) = (("user_" + b) + "_counter")
8+
9+
10+func e (b) = {
11+ let f = getInteger(this, d(b))
12+ let g = f
13+ if ($isInstanceOf(g, "Int"))
14+ then {
15+ let h = g
16+ h
17+ }
18+ else 0
1319 }
1420
1521
16-@Verifier(f)
17-func g () = {
18- let h = sigVerify(f.bodyBytes, f.proofs[0], f.senderPublicKey)
19- let i = f
20- if ($isInstanceOf(i, "InvokeScriptTransaction"))
22+func i (b,c) = isDefined(getString(this, a(b, c)))
23+
24+
25+@Callable(j)
26+func createItem (k) = {
27+ let b = toBase58String(j.caller.bytes)
28+ let f = e(b)
29+[StringEntry(a(b, (f + 1)), k), IntegerEntry(d(b), (f + 1))]
30+ }
31+
32+
33+
34+@Callable(j)
35+func removeItem (c) = {
36+ let b = toBase58String(j.caller.bytes)
37+ if (!(i(b, c)))
38+ then throw("Item doesn't exist")
39+ else [DeleteEntry(a(b, c))]
40+ }
41+
42+
43+
44+@Callable(j)
45+func updateItem (c,k) = {
46+ let b = toBase58String(j.caller.bytes)
47+ if (!(i(b, c)))
48+ then throw("Item doesn't exist")
49+ else [StringEntry(a(b, c), k)]
50+ }
51+
52+
53+@Verifier(l)
54+func m () = {
55+ let n = sigVerify(l.bodyBytes, l.proofs[0], l.senderPublicKey)
56+ let o = (this.bytes == l.sender.bytes)
57+ let g = l
58+ if ($isInstanceOf(g, "InvokeScriptTransaction"))
2159 then {
22- let j = i
23- h
60+ let p = g
61+ n
2462 }
25- else h
63+ else if (n)
64+ then o
65+ else false
2666 }
2767

github/deemru/w8io/873ac7e 
25.43 ms