tx · 2DKr2Yn8WA1WGyyLRdQiHUfaEbSP3uBy5s6tXkPrBKMZ
3MxquWQhzpqXgbqunnFqHFJXTjasEznd1tN: -0.00300000 Waves
2022.10.10 08:02 [2265789] smart account 3MxquWQhzpqXgbqunnFqHFJXTjasEznd1tN > SELF 0.00000000 Waves
{
"type": 13,
"id": "2DKr2Yn8WA1WGyyLRdQiHUfaEbSP3uBy5s6tXkPrBKMZ",
"fee": 300000,
"feeAssetId": null,
"timestamp": 1665378234421,
"version": 2,
"chainId": 84,
"sender": "3MxquWQhzpqXgbqunnFqHFJXTjasEznd1tN",
"senderPublicKey": "GDjexdefwEhShjRTvHgazn3gTrDo74eHpJCAz14cAEeh",
"proofs": [
"43evbkFN1TKavFNqaaD1rJJ4T3YKZdU43zkZNSpVWk8iWMXMTqvQKQxemA56UuhgNapZSAJp6H31rG6VzR3YdjwM"
],
"script": "base64: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",
"height": 2265789,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: BRmubh4Q92AmW1tpUFNqioS1MbM8pPkpKjCyJme88h88
Next: CdzFFy7Pjmgb7jj5GCzknGoAqecURz7aT797X5uWZCFy
Diff:
Old | New | | Differences |
---|
13 | 13 | | func g (h,i,j) = ((((h + "_") + i) + "_") + j) |
---|
14 | 14 | | |
---|
15 | 15 | | |
---|
16 | | - | func k (l) = g("Records", l, "owner") |
---|
| 16 | + | func k (l) = g("Name", l, "owner") |
---|
17 | 17 | | |
---|
18 | 18 | | |
---|
19 | | - | func m (l) = g("Records", l, "resolver") |
---|
| 19 | + | func m (l) = g("Name", l, "resolver") |
---|
20 | 20 | | |
---|
21 | 21 | | |
---|
22 | | - | func n (l) = g("Records", l, "ttl") |
---|
| 22 | + | func n (l) = g("Name", l, "createdAt") |
---|
23 | 23 | | |
---|
24 | 24 | | |
---|
25 | 25 | | func o (l) = getString(this, k(l)) |
---|
|
34 | 34 | | func s (l,t) = [StringEntry(m(l), t)] |
---|
35 | 35 | | |
---|
36 | 36 | | |
---|
37 | | - | func u (v) = (v.caller == this) |
---|
| 37 | + | func u (l) = getInteger(this, n(l)) |
---|
38 | 38 | | |
---|
39 | 39 | | |
---|
40 | | - | func w (v,l) = (toString(v.caller) == valueOrErrorMessage(o(l), (("Owner for the `" + l) + "` was not found"))) |
---|
| 40 | + | func v (l,w) = [IntegerEntry(n(l), w)] |
---|
41 | 41 | | |
---|
42 | 42 | | |
---|
43 | | - | func x (y) = unit |
---|
| 43 | + | func x (y) = (y.caller == this) |
---|
44 | 44 | | |
---|
45 | 45 | | |
---|
46 | | - | func z (v) = if (u(v)) |
---|
| 46 | + | func z (y,l) = (toString(y.caller) == valueOrErrorMessage(o(l), (("Owner for the `" + l) + "` was not found"))) |
---|
| 47 | + | |
---|
| 48 | + | |
---|
| 49 | + | func A (B) = unit |
---|
| 50 | + | |
---|
| 51 | + | |
---|
| 52 | + | func C (y) = if (x(y)) |
---|
47 | 53 | | then unit |
---|
48 | 54 | | else throw("Permission denied") |
---|
49 | 55 | | |
---|
50 | 56 | | |
---|
51 | | - | func A (v,l) = if (if (u(v)) |
---|
| 57 | + | func D (y,l) = if (if (x(y)) |
---|
52 | 58 | | then true |
---|
53 | | - | else w(v, l)) |
---|
| 59 | + | else z(y, l)) |
---|
54 | 60 | | then unit |
---|
55 | 61 | | else throw("Permission denied") |
---|
56 | 62 | | |
---|
57 | 63 | | |
---|
58 | | - | @Callable(v) |
---|
59 | | - | func setOwner (l,q) = valueOrElse(x([A(v, l)]), p(l, q)) |
---|
| 64 | + | @Callable(y) |
---|
| 65 | + | func setOwner (l,q) = valueOrElse(A([D(y, l)]), p(l, q)) |
---|
60 | 66 | | |
---|
61 | 67 | | |
---|
62 | 68 | | |
---|
63 | | - | @Callable(v) |
---|
| 69 | + | @Callable(y) |
---|
64 | 70 | | func owner (l) = $Tuple2(nil, o(l)) |
---|
65 | 71 | | |
---|
66 | 72 | | |
---|
67 | 73 | | |
---|
68 | | - | @Callable(v) |
---|
69 | | - | func setResolver (l,t) = valueOrElse(x([A(v, l)]), s(l, t)) |
---|
| 74 | + | @Callable(y) |
---|
| 75 | + | func setResolver (l,t) = valueOrElse(A([D(y, l)]), s(l, t)) |
---|
70 | 76 | | |
---|
71 | 77 | | |
---|
72 | 78 | | |
---|
73 | | - | @Callable(v) |
---|
| 79 | + | @Callable(y) |
---|
74 | 80 | | func resolver (l) = $Tuple2(nil, r(l)) |
---|
75 | 81 | | |
---|
76 | 82 | | |
---|
77 | 83 | | |
---|
78 | | - | @Callable(v) |
---|
79 | | - | func setRecord (l,q,t) = valueOrElse(x([z(v)]), (p(l, q) ++ s(l, t))) |
---|
| 84 | + | @Callable(y) |
---|
| 85 | + | func nameCreated (l) = $Tuple2(nil, u(l)) |
---|
| 86 | + | |
---|
| 87 | + | |
---|
| 88 | + | |
---|
| 89 | + | @Callable(y) |
---|
| 90 | + | func setRecord (l,q,t) = valueOrElse(A([C(y)]), ((p(l, q) ++ s(l, t)) ++ v(l, lastBlock.timestamp))) |
---|
80 | 91 | | |
---|
81 | 92 | | |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 5 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | func a (b,c) = valueOrErrorMessage(getString(b, c), ((("Can't read '" + c) + "' at address ") + toString(b))) |
---|
5 | 5 | | |
---|
6 | 6 | | |
---|
7 | 7 | | func d (b,c) = valueOrErrorMessage(getInteger(b, c), ((("Can't read '" + c) + "' at address ") + toString(b))) |
---|
8 | 8 | | |
---|
9 | 9 | | |
---|
10 | 10 | | func e (f) = valueOrErrorMessage(addressFromString(f), (("Can't parse address from '" + f) + "'")) |
---|
11 | 11 | | |
---|
12 | 12 | | |
---|
13 | 13 | | func g (h,i,j) = ((((h + "_") + i) + "_") + j) |
---|
14 | 14 | | |
---|
15 | 15 | | |
---|
16 | | - | func k (l) = g("Records", l, "owner") |
---|
| 16 | + | func k (l) = g("Name", l, "owner") |
---|
17 | 17 | | |
---|
18 | 18 | | |
---|
19 | | - | func m (l) = g("Records", l, "resolver") |
---|
| 19 | + | func m (l) = g("Name", l, "resolver") |
---|
20 | 20 | | |
---|
21 | 21 | | |
---|
22 | | - | func n (l) = g("Records", l, "ttl") |
---|
| 22 | + | func n (l) = g("Name", l, "createdAt") |
---|
23 | 23 | | |
---|
24 | 24 | | |
---|
25 | 25 | | func o (l) = getString(this, k(l)) |
---|
26 | 26 | | |
---|
27 | 27 | | |
---|
28 | 28 | | func p (l,q) = [StringEntry(k(l), q)] |
---|
29 | 29 | | |
---|
30 | 30 | | |
---|
31 | 31 | | func r (l) = getString(this, m(l)) |
---|
32 | 32 | | |
---|
33 | 33 | | |
---|
34 | 34 | | func s (l,t) = [StringEntry(m(l), t)] |
---|
35 | 35 | | |
---|
36 | 36 | | |
---|
37 | | - | func u (v) = (v.caller == this) |
---|
| 37 | + | func u (l) = getInteger(this, n(l)) |
---|
38 | 38 | | |
---|
39 | 39 | | |
---|
40 | | - | func w (v,l) = (toString(v.caller) == valueOrErrorMessage(o(l), (("Owner for the `" + l) + "` was not found"))) |
---|
| 40 | + | func v (l,w) = [IntegerEntry(n(l), w)] |
---|
41 | 41 | | |
---|
42 | 42 | | |
---|
43 | | - | func x (y) = unit |
---|
| 43 | + | func x (y) = (y.caller == this) |
---|
44 | 44 | | |
---|
45 | 45 | | |
---|
46 | | - | func z (v) = if (u(v)) |
---|
| 46 | + | func z (y,l) = (toString(y.caller) == valueOrErrorMessage(o(l), (("Owner for the `" + l) + "` was not found"))) |
---|
| 47 | + | |
---|
| 48 | + | |
---|
| 49 | + | func A (B) = unit |
---|
| 50 | + | |
---|
| 51 | + | |
---|
| 52 | + | func C (y) = if (x(y)) |
---|
47 | 53 | | then unit |
---|
48 | 54 | | else throw("Permission denied") |
---|
49 | 55 | | |
---|
50 | 56 | | |
---|
51 | | - | func A (v,l) = if (if (u(v)) |
---|
| 57 | + | func D (y,l) = if (if (x(y)) |
---|
52 | 58 | | then true |
---|
53 | | - | else w(v, l)) |
---|
| 59 | + | else z(y, l)) |
---|
54 | 60 | | then unit |
---|
55 | 61 | | else throw("Permission denied") |
---|
56 | 62 | | |
---|
57 | 63 | | |
---|
58 | | - | @Callable(v) |
---|
59 | | - | func setOwner (l,q) = valueOrElse(x([A(v, l)]), p(l, q)) |
---|
| 64 | + | @Callable(y) |
---|
| 65 | + | func setOwner (l,q) = valueOrElse(A([D(y, l)]), p(l, q)) |
---|
60 | 66 | | |
---|
61 | 67 | | |
---|
62 | 68 | | |
---|
63 | | - | @Callable(v) |
---|
| 69 | + | @Callable(y) |
---|
64 | 70 | | func owner (l) = $Tuple2(nil, o(l)) |
---|
65 | 71 | | |
---|
66 | 72 | | |
---|
67 | 73 | | |
---|
68 | | - | @Callable(v) |
---|
69 | | - | func setResolver (l,t) = valueOrElse(x([A(v, l)]), s(l, t)) |
---|
| 74 | + | @Callable(y) |
---|
| 75 | + | func setResolver (l,t) = valueOrElse(A([D(y, l)]), s(l, t)) |
---|
70 | 76 | | |
---|
71 | 77 | | |
---|
72 | 78 | | |
---|
73 | | - | @Callable(v) |
---|
| 79 | + | @Callable(y) |
---|
74 | 80 | | func resolver (l) = $Tuple2(nil, r(l)) |
---|
75 | 81 | | |
---|
76 | 82 | | |
---|
77 | 83 | | |
---|
78 | | - | @Callable(v) |
---|
79 | | - | func setRecord (l,q,t) = valueOrElse(x([z(v)]), (p(l, q) ++ s(l, t))) |
---|
| 84 | + | @Callable(y) |
---|
| 85 | + | func nameCreated (l) = $Tuple2(nil, u(l)) |
---|
| 86 | + | |
---|
| 87 | + | |
---|
| 88 | + | |
---|
| 89 | + | @Callable(y) |
---|
| 90 | + | func setRecord (l,q,t) = valueOrElse(A([C(y)]), ((p(l, q) ++ s(l, t)) ++ v(l, lastBlock.timestamp))) |
---|
80 | 91 | | |
---|
81 | 92 | | |
---|