tx · 9tmk7twWB8y9rGxYyMe33uKb1H4esyNiQXb5DAxmqfaQ

3N7yL6nhsHwrkLfxpWGjM39hFj4qo97bCdZ:  -0.01000000 Waves

2023.10.12 07:14 [2794889] smart account 3N7yL6nhsHwrkLfxpWGjM39hFj4qo97bCdZ > SELF 0.00000000 Waves

{ "type": 13, "id": "9tmk7twWB8y9rGxYyMe33uKb1H4esyNiQXb5DAxmqfaQ", "fee": 1000000, "feeAssetId": null, "timestamp": 1697084141761, "version": 2, "chainId": 84, "sender": "3N7yL6nhsHwrkLfxpWGjM39hFj4qo97bCdZ", "senderPublicKey": "HhtVcCt3Zxp8Tuqw9d9Er8kVG8AhbCuxygMA2pTYqrj4", "proofs": [ "2YDukq1T1aNAagzJmQ3NWvMBjir6A5ovBkftJ8GtEwjt6DBJ7YQdkuNcTrHdmi19hmCjHGw8Z9zcpBkRAF9H1uYs" ], "script": "base64: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", "height": 2794889, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9eEywyMhrCAjvswy6yfxoXc4MLbGp2AtiHCbvw7z1FAd Next: 4T8getL4ABxxbKzBGGX613ovqYFpoikP9tDxD1E5NQF1 Diff:
OldNewDifferences
1212 func e (f) = valueOrElse(getString(this, f), "")
1313
1414
15-func g (h,i) = ((("art_name_" + i) + "_") + h)
15+let g = value(addressFromString(e("conf_artwork_dapp")))
16+
17+func h (f) = valueOrElse(getString(g, f), "")
1618
1719
18-func j (i,k) = ((i + "_") + k)
20+func i (j,k) = ((("art_name_" + k) + "_") + j)
1921
2022
21-let l = valueOrElse(getBoolean(this, "conf_dapp_is_running"), true)
22-
23-let m = valueOrElse(getString(this, "conf_maintenance_msg"), "")
24-
25-let n = value(addressFromString(e("conf_oracle_fee")))
26-
27-let o = e("conf_accepted_asset_ART")
28-
29-let p = fromBase58String(o)
30-
31-let q = e("conf_admin_1")
32-
33-func r (s) = if (!(l))
34- then throw(m)
35- else $Tuple2(toBase58String(s.transactionId), toBase58String(s.caller.bytes))
23+func l (k,m) = ((k + "_") + m)
3624
3725
38-func t (f) = valueOrErrorMessage(getInteger(n, f), "Integer undefine or 0 in oracle")
26+let n = valueOrElse(getBoolean(this, "conf_dapp_is_running"), true)
27+
28+let o = valueOrElse(getString(this, "conf_maintenance_msg"), "")
29+
30+let p = value(addressFromString(e("conf_oracle_fee")))
31+
32+let q = e("conf_accepted_asset_ART")
33+
34+let r = fromBase58String(q)
35+
36+let s = e("conf_admin_1")
37+
38+func t (u) = if (!(n))
39+ then throw(o)
40+ else $Tuple2(toBase58String(u.transactionId), toBase58String(u.caller.bytes))
3941
4042
41-@Callable(u)
42-func setConf (f,v) = {
43- let h = toString(u.caller)
44- if (containsElement([q, toString(this)], h))
43+func v (f) = valueOrErrorMessage(getInteger(p, f), "Integer undefine or 0 in oracle")
44+
45+
46+@Callable(w)
47+func setConf (f,x) = {
48+ let j = toString(w.caller)
49+ if (containsElement([s, toString(this)], j))
4550 then if (contains(f, "conf_"))
46- then [StringEntry(f, v)]
51+ then [StringEntry(f, x)]
4752 else throw("Entries starting with conf_ only")
4853 else throw("You are not allowed to change this")
4954 }
5055
5156
5257
53-@Callable(s)
54-func report (i,k,w) = {
55- let x = r(s)
56- let y = x._1
57- let h = x._2
58- if ((e(g(k, i)) == ""))
58+@Callable(u)
59+func report (k,m,y) = {
60+ let z = t(u)
61+ let A = z._1
62+ let j = z._2
63+ if ((h(i(m, k)) == ""))
5964 then throw("No art matching for this address")
60- else if ((e(j(i, k)) != ""))
65+ else if ((e(l(k, m)) != ""))
6166 then throw("Already reported.")
62- else [StringEntry(j(i, k), ((b + "_") + h)), StringEntry((j(i, k) + "_comment_reporter"), w)]
67+ else [StringEntry(l(k, m), ((b + "_") + j)), StringEntry((l(k, m) + "_comment_reporter"), y)]
6368 }
6469
6570
6671
67-@Callable(s)
68-func processReport (i,k,z,A) = if ((e(g(k, i)) == ""))
72+@Callable(u)
73+func processReport (k,m,B,C) = if ((e(i(m, k)) == ""))
6974 then throw("No art matching for this address")
70- else if (!(containsElement([d, c], z)))
75+ else if (!(containsElement([d, c], B)))
7176 then throw("Status not found")
7277 else {
73- let B = e(j(i, k))
74- if ((B == ""))
78+ let D = e(l(k, m))
79+ if ((D == ""))
7580 then throw("Report not found.")
7681 else {
77- let C = t(("certification_fee_" + toBase58String(p)))
78- let D = split(B, "_")
79- let E = if ((z == c))
80- then [ScriptTransfer(Address(fromBase58String(D[1])), C, p)]
82+ let E = v(("certification_fee_" + toBase58String(r)))
83+ let F = split(D, "_")
84+ let G = if ((B == c))
85+ then [ScriptTransfer(Address(fromBase58String(F[1])), E, r)]
8186 else nil
82- let F = r(s)
83- let y = F._1
84- let h = F._2
85- if (containsElement([q, toString(this)], h))
86- then [StringEntry(j(i, k), z), StringEntry((j(i, k) + "_comment_admin"), A)]
87+ let H = t(u)
88+ let A = H._1
89+ let j = H._2
90+ if (containsElement([s, toString(this)], j))
91+ then [StringEntry(l(k, m), B), StringEntry((l(k, m) + "_comment_admin"), C)]
8792 else throw("Not allowed")
8893 }
8994 }
9095
9196
92-@Verifier(G)
93-func H () = sigVerify(G.bodyBytes, G.proofs[0], G.senderPublicKey)
97+@Verifier(I)
98+func J () = sigVerify(I.bodyBytes, I.proofs[0], I.senderPublicKey)
9499
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "1.0.0"
55
66 let b = "PENDING"
77
88 let c = "FLAGGED"
99
1010 let d = "CLEARED"
1111
1212 func e (f) = valueOrElse(getString(this, f), "")
1313
1414
15-func g (h,i) = ((("art_name_" + i) + "_") + h)
15+let g = value(addressFromString(e("conf_artwork_dapp")))
16+
17+func h (f) = valueOrElse(getString(g, f), "")
1618
1719
18-func j (i,k) = ((i + "_") + k)
20+func i (j,k) = ((("art_name_" + k) + "_") + j)
1921
2022
21-let l = valueOrElse(getBoolean(this, "conf_dapp_is_running"), true)
22-
23-let m = valueOrElse(getString(this, "conf_maintenance_msg"), "")
24-
25-let n = value(addressFromString(e("conf_oracle_fee")))
26-
27-let o = e("conf_accepted_asset_ART")
28-
29-let p = fromBase58String(o)
30-
31-let q = e("conf_admin_1")
32-
33-func r (s) = if (!(l))
34- then throw(m)
35- else $Tuple2(toBase58String(s.transactionId), toBase58String(s.caller.bytes))
23+func l (k,m) = ((k + "_") + m)
3624
3725
38-func t (f) = valueOrErrorMessage(getInteger(n, f), "Integer undefine or 0 in oracle")
26+let n = valueOrElse(getBoolean(this, "conf_dapp_is_running"), true)
27+
28+let o = valueOrElse(getString(this, "conf_maintenance_msg"), "")
29+
30+let p = value(addressFromString(e("conf_oracle_fee")))
31+
32+let q = e("conf_accepted_asset_ART")
33+
34+let r = fromBase58String(q)
35+
36+let s = e("conf_admin_1")
37+
38+func t (u) = if (!(n))
39+ then throw(o)
40+ else $Tuple2(toBase58String(u.transactionId), toBase58String(u.caller.bytes))
3941
4042
41-@Callable(u)
42-func setConf (f,v) = {
43- let h = toString(u.caller)
44- if (containsElement([q, toString(this)], h))
43+func v (f) = valueOrErrorMessage(getInteger(p, f), "Integer undefine or 0 in oracle")
44+
45+
46+@Callable(w)
47+func setConf (f,x) = {
48+ let j = toString(w.caller)
49+ if (containsElement([s, toString(this)], j))
4550 then if (contains(f, "conf_"))
46- then [StringEntry(f, v)]
51+ then [StringEntry(f, x)]
4752 else throw("Entries starting with conf_ only")
4853 else throw("You are not allowed to change this")
4954 }
5055
5156
5257
53-@Callable(s)
54-func report (i,k,w) = {
55- let x = r(s)
56- let y = x._1
57- let h = x._2
58- if ((e(g(k, i)) == ""))
58+@Callable(u)
59+func report (k,m,y) = {
60+ let z = t(u)
61+ let A = z._1
62+ let j = z._2
63+ if ((h(i(m, k)) == ""))
5964 then throw("No art matching for this address")
60- else if ((e(j(i, k)) != ""))
65+ else if ((e(l(k, m)) != ""))
6166 then throw("Already reported.")
62- else [StringEntry(j(i, k), ((b + "_") + h)), StringEntry((j(i, k) + "_comment_reporter"), w)]
67+ else [StringEntry(l(k, m), ((b + "_") + j)), StringEntry((l(k, m) + "_comment_reporter"), y)]
6368 }
6469
6570
6671
67-@Callable(s)
68-func processReport (i,k,z,A) = if ((e(g(k, i)) == ""))
72+@Callable(u)
73+func processReport (k,m,B,C) = if ((e(i(m, k)) == ""))
6974 then throw("No art matching for this address")
70- else if (!(containsElement([d, c], z)))
75+ else if (!(containsElement([d, c], B)))
7176 then throw("Status not found")
7277 else {
73- let B = e(j(i, k))
74- if ((B == ""))
78+ let D = e(l(k, m))
79+ if ((D == ""))
7580 then throw("Report not found.")
7681 else {
77- let C = t(("certification_fee_" + toBase58String(p)))
78- let D = split(B, "_")
79- let E = if ((z == c))
80- then [ScriptTransfer(Address(fromBase58String(D[1])), C, p)]
82+ let E = v(("certification_fee_" + toBase58String(r)))
83+ let F = split(D, "_")
84+ let G = if ((B == c))
85+ then [ScriptTransfer(Address(fromBase58String(F[1])), E, r)]
8186 else nil
82- let F = r(s)
83- let y = F._1
84- let h = F._2
85- if (containsElement([q, toString(this)], h))
86- then [StringEntry(j(i, k), z), StringEntry((j(i, k) + "_comment_admin"), A)]
87+ let H = t(u)
88+ let A = H._1
89+ let j = H._2
90+ if (containsElement([s, toString(this)], j))
91+ then [StringEntry(l(k, m), B), StringEntry((l(k, m) + "_comment_admin"), C)]
8792 else throw("Not allowed")
8893 }
8994 }
9095
9196
92-@Verifier(G)
93-func H () = sigVerify(G.bodyBytes, G.proofs[0], G.senderPublicKey)
97+@Verifier(I)
98+func J () = sigVerify(I.bodyBytes, I.proofs[0], I.senderPublicKey)
9499

github/deemru/w8io/3ef1775 
48.02 ms