tx · EKh4Paqbr7R9syVTqKHRh3za72M7eBG7rTDrQwheuFbv
3MqxFhe869ri22Y1418TcrXUX2X9YMzG2Yb: -0.01400000 Waves
2019.06.28 06:14 [561426] smart account 3MqxFhe869ri22Y1418TcrXUX2X9YMzG2Yb > SELF 0.00000000 Waves
{
"type": 13,
"id": "EKh4Paqbr7R9syVTqKHRh3za72M7eBG7rTDrQwheuFbv",
"fee": 1400000,
"feeAssetId": null,
"timestamp": 1561691740627,
"version": 1,
"sender": "3MqxFhe869ri22Y1418TcrXUX2X9YMzG2Yb",
"senderPublicKey": "FRkBvFhV1T95mPTxp7sk2Ms2BuHViwyG7yPzxpxye1Kw",
"proofs": [
"4bgCMVAyLPkz1D6KBzakrf3RB7XCfNSezqi4SaLmW3opkXUc4SWmTcB5JLWPPiXy46DR9CWofANiDkULwpn3LJAf"
],
"script": "base64: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",
"chainId": 84,
"height": 561426,
"spentComplexity": 0
}
View: original | compacted
Prev: 6V5htFLFAefvn6jwNrPdn5noA7Z8GLkTFE7Lc84Gr6A7
Next: 7p2nd2GTxzJ3wckcWQsqw82V1nbN9kUf5AYgj6MZg8ak
Diff:
Old | New | | Differences |
---|
9 | 9 | | |
---|
10 | 10 | | let d = "active_message" |
---|
11 | 11 | | |
---|
12 | | - | func e (f,g) = { |
---|
13 | | - | let h = toBase58String(sha256(toBytes((f + g)))) |
---|
14 | | - | h |
---|
| 12 | + | let e = "earnedWaves" |
---|
| 13 | + | |
---|
| 14 | + | func f (g,h) = { |
---|
| 15 | + | let i = toBase58String(sha256(toBytes((g + h)))) |
---|
| 16 | + | i |
---|
15 | 17 | | } |
---|
16 | 18 | | |
---|
17 | 19 | | |
---|
18 | | - | func i (j) = { |
---|
19 | | - | let k = { |
---|
20 | | - | let l = getInteger(this, j) |
---|
21 | | - | if ($isInstanceOf(l, "Int")) |
---|
| 20 | + | func j (k) = { |
---|
| 21 | + | let l = { |
---|
| 22 | + | let m = getInteger(this, k) |
---|
| 23 | + | if ($isInstanceOf(m, "Int")) |
---|
22 | 24 | | then { |
---|
23 | | - | let m = l |
---|
24 | | - | m |
---|
| 25 | + | let n = m |
---|
| 26 | + | n |
---|
25 | 27 | | } |
---|
26 | 28 | | else 0 |
---|
27 | 29 | | } |
---|
28 | | - | k |
---|
| 30 | + | l |
---|
29 | 31 | | } |
---|
30 | 32 | | |
---|
31 | 33 | | |
---|
32 | | - | func n (j) = { |
---|
33 | | - | let o = { |
---|
34 | | - | let l = getString(this, j) |
---|
35 | | - | if ($isInstanceOf(l, "String")) |
---|
| 34 | + | func o (k) = { |
---|
| 35 | + | let p = { |
---|
| 36 | + | let m = getString(this, k) |
---|
| 37 | + | if ($isInstanceOf(m, "String")) |
---|
36 | 38 | | then { |
---|
37 | | - | let m = l |
---|
38 | | - | m |
---|
| 39 | + | let n = m |
---|
| 40 | + | n |
---|
39 | 41 | | } |
---|
40 | 42 | | else b |
---|
41 | 43 | | } |
---|
42 | | - | o |
---|
| 44 | + | p |
---|
43 | 45 | | } |
---|
44 | 46 | | |
---|
45 | 47 | | |
---|
46 | | - | @Callable(p) |
---|
47 | | - | func setMessage (g) = { |
---|
48 | | - | let q = extract(p.payment) |
---|
49 | | - | if (isDefined(q.assetId)) |
---|
| 48 | + | @Callable(q) |
---|
| 49 | + | func setMessage (h) = { |
---|
| 50 | + | let r = extract(q.payment) |
---|
| 51 | + | if (isDefined(r.assetId)) |
---|
50 | 52 | | then throw("WAVES token only at the moment") |
---|
51 | | - | else if ((q.amount != a)) |
---|
| 53 | + | else if ((r.amount != a)) |
---|
52 | 54 | | then throw("You need pay 0.1 WAVES") |
---|
53 | 55 | | else { |
---|
54 | | - | let r = toBase58String(p.caller.bytes) |
---|
55 | | - | let h = e(r, g) |
---|
56 | | - | let s = i(c) |
---|
57 | | - | let t = i(d) |
---|
58 | | - | WriteSet([DataEntry(("owner_" + h), r), DataEntry(("message_" + h), g), DataEntry(c, (s + 1)), DataEntry(d, (t + 1))]) |
---|
| 56 | + | let s = toBase58String(q.caller.bytes) |
---|
| 57 | + | let i = f(s, h) |
---|
| 58 | + | let t = j(c) |
---|
| 59 | + | let u = j(d) |
---|
| 60 | + | let v = j(e) |
---|
| 61 | + | WriteSet([DataEntry(("owner_" + i), s), DataEntry(("message_" + i), h), DataEntry(c, (t + 1)), DataEntry(d, (u + 1)), DataEntry(e, (v + a))]) |
---|
59 | 62 | | } |
---|
60 | 63 | | } |
---|
61 | 64 | | |
---|
62 | 65 | | |
---|
63 | 66 | | |
---|
64 | | - | @Callable(p) |
---|
65 | | - | func removeMessage (h) = { |
---|
66 | | - | let q = extract(p.payment) |
---|
67 | | - | let f = n(("owner_" + h)) |
---|
68 | | - | let t = i(d) |
---|
69 | | - | let u = toBase58String(p.caller.bytes) |
---|
70 | | - | if ((f == b)) |
---|
| 67 | + | @Callable(q) |
---|
| 68 | + | func removeMessage (i) = { |
---|
| 69 | + | let r = extract(q.payment) |
---|
| 70 | + | let g = o(("owner_" + i)) |
---|
| 71 | + | let u = j(d) |
---|
| 72 | + | let w = toBase58String(q.caller.bytes) |
---|
| 73 | + | if ((g == b)) |
---|
71 | 74 | | then throw("Message didn't found") |
---|
72 | | - | else if ((f != u)) |
---|
73 | | - | then throw(("You don't owner of message " + h)) |
---|
74 | | - | else WriteSet([DataEntry(d, (t - 1)), DataEntry(("message_" + h), "#REMOVED#")]) |
---|
| 75 | + | else if ((g != w)) |
---|
| 76 | + | then throw(("You don't owner of message " + i)) |
---|
| 77 | + | else WriteSet([DataEntry(d, (u - 1)), DataEntry(("message_" + i), "#REMOVED#")]) |
---|
75 | 78 | | } |
---|
76 | 79 | | |
---|
77 | 80 | | |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 3 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | let a = 10000000 |
---|
5 | 5 | | |
---|
6 | 6 | | let b = "NULL" |
---|
7 | 7 | | |
---|
8 | 8 | | let c = "all_message" |
---|
9 | 9 | | |
---|
10 | 10 | | let d = "active_message" |
---|
11 | 11 | | |
---|
12 | | - | func e (f,g) = { |
---|
13 | | - | let h = toBase58String(sha256(toBytes((f + g)))) |
---|
14 | | - | h |
---|
| 12 | + | let e = "earnedWaves" |
---|
| 13 | + | |
---|
| 14 | + | func f (g,h) = { |
---|
| 15 | + | let i = toBase58String(sha256(toBytes((g + h)))) |
---|
| 16 | + | i |
---|
15 | 17 | | } |
---|
16 | 18 | | |
---|
17 | 19 | | |
---|
18 | | - | func i (j) = { |
---|
19 | | - | let k = { |
---|
20 | | - | let l = getInteger(this, j) |
---|
21 | | - | if ($isInstanceOf(l, "Int")) |
---|
| 20 | + | func j (k) = { |
---|
| 21 | + | let l = { |
---|
| 22 | + | let m = getInteger(this, k) |
---|
| 23 | + | if ($isInstanceOf(m, "Int")) |
---|
22 | 24 | | then { |
---|
23 | | - | let m = l |
---|
24 | | - | m |
---|
| 25 | + | let n = m |
---|
| 26 | + | n |
---|
25 | 27 | | } |
---|
26 | 28 | | else 0 |
---|
27 | 29 | | } |
---|
28 | | - | k |
---|
| 30 | + | l |
---|
29 | 31 | | } |
---|
30 | 32 | | |
---|
31 | 33 | | |
---|
32 | | - | func n (j) = { |
---|
33 | | - | let o = { |
---|
34 | | - | let l = getString(this, j) |
---|
35 | | - | if ($isInstanceOf(l, "String")) |
---|
| 34 | + | func o (k) = { |
---|
| 35 | + | let p = { |
---|
| 36 | + | let m = getString(this, k) |
---|
| 37 | + | if ($isInstanceOf(m, "String")) |
---|
36 | 38 | | then { |
---|
37 | | - | let m = l |
---|
38 | | - | m |
---|
| 39 | + | let n = m |
---|
| 40 | + | n |
---|
39 | 41 | | } |
---|
40 | 42 | | else b |
---|
41 | 43 | | } |
---|
42 | | - | o |
---|
| 44 | + | p |
---|
43 | 45 | | } |
---|
44 | 46 | | |
---|
45 | 47 | | |
---|
46 | | - | @Callable(p) |
---|
47 | | - | func setMessage (g) = { |
---|
48 | | - | let q = extract(p.payment) |
---|
49 | | - | if (isDefined(q.assetId)) |
---|
| 48 | + | @Callable(q) |
---|
| 49 | + | func setMessage (h) = { |
---|
| 50 | + | let r = extract(q.payment) |
---|
| 51 | + | if (isDefined(r.assetId)) |
---|
50 | 52 | | then throw("WAVES token only at the moment") |
---|
51 | | - | else if ((q.amount != a)) |
---|
| 53 | + | else if ((r.amount != a)) |
---|
52 | 54 | | then throw("You need pay 0.1 WAVES") |
---|
53 | 55 | | else { |
---|
54 | | - | let r = toBase58String(p.caller.bytes) |
---|
55 | | - | let h = e(r, g) |
---|
56 | | - | let s = i(c) |
---|
57 | | - | let t = i(d) |
---|
58 | | - | WriteSet([DataEntry(("owner_" + h), r), DataEntry(("message_" + h), g), DataEntry(c, (s + 1)), DataEntry(d, (t + 1))]) |
---|
| 56 | + | let s = toBase58String(q.caller.bytes) |
---|
| 57 | + | let i = f(s, h) |
---|
| 58 | + | let t = j(c) |
---|
| 59 | + | let u = j(d) |
---|
| 60 | + | let v = j(e) |
---|
| 61 | + | WriteSet([DataEntry(("owner_" + i), s), DataEntry(("message_" + i), h), DataEntry(c, (t + 1)), DataEntry(d, (u + 1)), DataEntry(e, (v + a))]) |
---|
59 | 62 | | } |
---|
60 | 63 | | } |
---|
61 | 64 | | |
---|
62 | 65 | | |
---|
63 | 66 | | |
---|
64 | | - | @Callable(p) |
---|
65 | | - | func removeMessage (h) = { |
---|
66 | | - | let q = extract(p.payment) |
---|
67 | | - | let f = n(("owner_" + h)) |
---|
68 | | - | let t = i(d) |
---|
69 | | - | let u = toBase58String(p.caller.bytes) |
---|
70 | | - | if ((f == b)) |
---|
| 67 | + | @Callable(q) |
---|
| 68 | + | func removeMessage (i) = { |
---|
| 69 | + | let r = extract(q.payment) |
---|
| 70 | + | let g = o(("owner_" + i)) |
---|
| 71 | + | let u = j(d) |
---|
| 72 | + | let w = toBase58String(q.caller.bytes) |
---|
| 73 | + | if ((g == b)) |
---|
71 | 74 | | then throw("Message didn't found") |
---|
72 | | - | else if ((f != u)) |
---|
73 | | - | then throw(("You don't owner of message " + h)) |
---|
74 | | - | else WriteSet([DataEntry(d, (t - 1)), DataEntry(("message_" + h), "#REMOVED#")]) |
---|
| 75 | + | else if ((g != w)) |
---|
| 76 | + | then throw(("You don't owner of message " + i)) |
---|
| 77 | + | else WriteSet([DataEntry(d, (u - 1)), DataEntry(("message_" + i), "#REMOVED#")]) |
---|
75 | 78 | | } |
---|
76 | 79 | | |
---|
77 | 80 | | |
---|