tx · 9wSgnJX48JcP9wAseqknKRjYGEjwm7kw5rZ4y7RhzAW

3MqxFhe869ri22Y1418TcrXUX2X9YMzG2Yb:  -0.01400000 Waves

2019.06.28 21:07 [562320] smart account 3MqxFhe869ri22Y1418TcrXUX2X9YMzG2Yb > SELF 0.00000000 Waves

{ "type": 13, "id": "9wSgnJX48JcP9wAseqknKRjYGEjwm7kw5rZ4y7RhzAW", "fee": 1400000, "feeAssetId": null, "timestamp": 1561745259300, "version": 1, "sender": "3MqxFhe869ri22Y1418TcrXUX2X9YMzG2Yb", "senderPublicKey": "FRkBvFhV1T95mPTxp7sk2Ms2BuHViwyG7yPzxpxye1Kw", "proofs": [ "2Uo8T7zonBwLDmPp1m4eoN7aNmuaGPNGxweVeFBkAvSD3TNK2X78aycLg4CvMa6LeFGbgm9nAvKx2KLmzEcj716t" ], "script": "base64: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", "chainId": 84, "height": 562320, "spentComplexity": 0 } View: original | compacted Prev: Bo8FsrnwbVoY8YX22459tGpgvw8Dwj3tXAw4KU2qieKh Next: DHX94DphffTH9sh442cCJYHDQS1qcTTq7mzw9pVAqAot Diff:
OldNewDifferences
8585
8686 @Callable(u)
8787 func removeMessage (k) = {
88- let v = extract(u.payment)
8988 let i = q(("owner_" + k))
9089 let z = l(d)
9190 let B = toBase58String(u.caller.bytes)
107106 }
108107
109108
109+
110+@Callable(u)
111+func violationDetected (k) = {
112+ let z = l(d)
113+ let B = toBase58String(u.caller.bytes)
114+ if ((B != g))
115+ then throw("You aren't owner this dApp")
116+ else WriteSet([DataEntry(d, (z - 1)), DataEntry(("message_" + k), "#VIOLATION OF RULES#")])
117+ }
118+
119+
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 10000000
55
66 let b = "NULL"
77
88 let c = "all_message"
99
1010 let d = "active_message"
1111
1212 let e = "earnedWaves"
1313
1414 let f = "serviceFee"
1515
1616 let g = "3MviKe8vybnkYuJ83e8QVSWQ1VHyfgpiF3W"
1717
1818 func h (i,j) = {
1919 let k = toBase58String(sha256(toBytes((i + j))))
2020 k
2121 }
2222
2323
2424 func l (m) = {
2525 let n = {
2626 let o = getInteger(this, m)
2727 if ($isInstanceOf(o, "Int"))
2828 then {
2929 let p = o
3030 p
3131 }
3232 else 0
3333 }
3434 n
3535 }
3636
3737
3838 func q (m) = {
3939 let r = {
4040 let o = getString(this, m)
4141 if ($isInstanceOf(o, "String"))
4242 then {
4343 let p = o
4444 p
4545 }
4646 else b
4747 }
4848 r
4949 }
5050
5151
5252 func s () = {
5353 let t = {
5454 let o = getInteger(this, f)
5555 if ($isInstanceOf(o, "Int"))
5656 then {
5757 let p = o
5858 p
5959 }
6060 else a
6161 }
6262 t
6363 }
6464
6565
6666 @Callable(u)
6767 func setMessage (j) = {
6868 let v = extract(u.payment)
6969 let w = s()
7070 if (isDefined(v.assetId))
7171 then throw("WAVES token only at the moment")
7272 else if ((v.amount != w))
7373 then throw("Wrong service fee amount")
7474 else {
7575 let x = toBase58String(u.caller.bytes)
7676 let k = h(x, j)
7777 let y = l(c)
7878 let z = l(d)
7979 let A = l(e)
8080 WriteSet([DataEntry(("owner_" + k), x), DataEntry(("message_" + k), j), DataEntry(c, (y + 1)), DataEntry(d, (z + 1)), DataEntry(e, (A + w))])
8181 }
8282 }
8383
8484
8585
8686 @Callable(u)
8787 func removeMessage (k) = {
88- let v = extract(u.payment)
8988 let i = q(("owner_" + k))
9089 let z = l(d)
9190 let B = toBase58String(u.caller.bytes)
9291 if ((i == b))
9392 then throw("Message didn't found")
9493 else if ((i != B))
9594 then throw(("You don't owner of message " + k))
9695 else WriteSet([DataEntry(d, (z - 1)), DataEntry(("message_" + k), "#REMOVED#")])
9796 }
9897
9998
10099
101100 @Callable(u)
102101 func setServiceFee (C) = {
103102 let B = toBase58String(u.caller.bytes)
104103 if ((B != g))
105104 then throw("You aren't owner this dApp")
106105 else WriteSet([DataEntry(f, C)])
107106 }
108107
109108
109+
110+@Callable(u)
111+func violationDetected (k) = {
112+ let z = l(d)
113+ let B = toBase58String(u.caller.bytes)
114+ if ((B != g))
115+ then throw("You aren't owner this dApp")
116+ else WriteSet([DataEntry(d, (z - 1)), DataEntry(("message_" + k), "#VIOLATION OF RULES#")])
117+ }
118+
119+

github/deemru/w8io/169f3d6 
44.39 ms