tx · A7E4eiFKTSKsBWTKqZ18cWsJGHmN52HjNzABb6a29yV3

3MqpRA12epGbUr77DaY49oG6vThLgDfYAqu:  -0.01000000 Waves

2022.06.02 15:05 [2078685] smart account 3MqpRA12epGbUr77DaY49oG6vThLgDfYAqu > SELF 0.00000000 Waves

{ "type": 13, "id": "A7E4eiFKTSKsBWTKqZ18cWsJGHmN52HjNzABb6a29yV3", "fee": 1000000, "feeAssetId": null, "timestamp": 1654171515581, "version": 2, "chainId": 84, "sender": "3MqpRA12epGbUr77DaY49oG6vThLgDfYAqu", "senderPublicKey": "5zTdxm2C13mhCkkD8hK2mjmPyKaS4qvJ3iSNYSgDFUsZ", "proofs": [ "25qFLLhwsbA8jxLk4e86bdPZiwSmmn5GuyzeAKvJgW3hBxhRDVyFAGMhyASHVc86eTSFSFJjeBvbBb7xrnpqTd8m" ], "script": "base64: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", "height": 2078685, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 356sQahzvBgozx3ijCuH6SALVRhPtG9EzsZANw2hfpLd Next: none Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = "lockingStore"
4+let a = "staker"
55
6-func b (c) = getInteger(this, c)
6+let b = "admin"
7+
8+func c (d) = getInteger(this, d)
79
810
9-func d (c) = getString(this, c)
11+func e (d) = getString(this, d)
1012
1113
12-func e (c) = value(getInteger(this, c))
14+func f (d) = value(getInteger(this, d))
1315
1416
15-func f (c) = value(getString(this, c))
17+func g (d) = value(getString(this, d))
1618
1719
18-func g (c,h) = if ((0 > h))
19- then throw(((("writing negative value " + toString(h)) + " for key ") + c))
20- else IntegerEntry(c, h)
20+func h (d,i) = if ((0 > i))
21+ then throw(((("writing negative value " + toString(i)) + " for key ") + d))
22+ else IntegerEntry(d, i)
2123
2224
23-func i (c,h) = if ((" " == h))
24- then throw(("writing an empty string " + h))
25- else StringEntry(c, h)
25+func j (d,i) = if ((" " == i))
26+ then throw(("writing an empty string " + i))
27+ else StringEntry(d, i)
2628
2729
28-func j (c,h) = if (!(isDefined(d(c))))
29- then i(c, h)
30- else throw(("already initialized: " + c))
30+func k (d,i) = if (!(isDefined(e(d))))
31+ then j(d, i)
32+ else throw(("already initialized: " + d))
3133
3234
33-func k (c,h) = if (!(isDefined(d(c))))
34- then g(c, h)
35- else throw(("already initialized: " + c))
35+func l (d,i) = if (!(isDefined(e(d))))
36+ then h(d, i)
37+ else throw(("already initialized: " + d))
3638
3739
38-func l (m) = if ((toString(m.caller) != valueOrElse(getString(this, a), "no store address")))
40+func m (n) = if ((toString(n.caller) != valueOrElse(getString(this, a), "no store address")))
3941 then throw("only the staker contract can call this function")
4042 else true
4143
4244
43-@Callable(m)
44-func init (n) = [j(a, n)]
45+func o (n) = if ((toString(n.caller) != valueOrElse(getString(this, b), "no admin defined")))
46+ then throw("only an admin can call this function")
47+ else true
48+
49+
50+@Callable(n)
51+func init (p,q) = [k(a, p), k(b, q)]
4552
4653
4754
48-@Callable(m)
49-func transferInterest (o,p,q) = {
50- let r = l(m)
51- if ((r == r))
52- then [ScriptTransfer(addressFromStringValue(o), p, q)]
55+@Callable(n)
56+func removeLockingStore (r) = {
57+ let s = o(n)
58+ if ((s == s))
59+ then [DeleteEntry(a)]
60+ else throw("Strict value is not equal to itself.")
61+ }
62+
63+
64+
65+@Callable(n)
66+func updateLockingStore (r) = {
67+ let s = o(n)
68+ if ((s == s))
69+ then [DeleteEntry(a), k(a, r)]
70+ else throw("Strict value is not equal to itself.")
71+ }
72+
73+
74+
75+@Callable(n)
76+func transferInterest (t,u,v) = {
77+ let s = m(n)
78+ if ((s == s))
79+ then [ScriptTransfer(addressFromStringValue(t), u, v)]
5380 else throw("Strict value is not equal to itself.")
5481 }
5582
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = "lockingStore"
4+let a = "staker"
55
6-func b (c) = getInteger(this, c)
6+let b = "admin"
7+
8+func c (d) = getInteger(this, d)
79
810
9-func d (c) = getString(this, c)
11+func e (d) = getString(this, d)
1012
1113
12-func e (c) = value(getInteger(this, c))
14+func f (d) = value(getInteger(this, d))
1315
1416
15-func f (c) = value(getString(this, c))
17+func g (d) = value(getString(this, d))
1618
1719
18-func g (c,h) = if ((0 > h))
19- then throw(((("writing negative value " + toString(h)) + " for key ") + c))
20- else IntegerEntry(c, h)
20+func h (d,i) = if ((0 > i))
21+ then throw(((("writing negative value " + toString(i)) + " for key ") + d))
22+ else IntegerEntry(d, i)
2123
2224
23-func i (c,h) = if ((" " == h))
24- then throw(("writing an empty string " + h))
25- else StringEntry(c, h)
25+func j (d,i) = if ((" " == i))
26+ then throw(("writing an empty string " + i))
27+ else StringEntry(d, i)
2628
2729
28-func j (c,h) = if (!(isDefined(d(c))))
29- then i(c, h)
30- else throw(("already initialized: " + c))
30+func k (d,i) = if (!(isDefined(e(d))))
31+ then j(d, i)
32+ else throw(("already initialized: " + d))
3133
3234
33-func k (c,h) = if (!(isDefined(d(c))))
34- then g(c, h)
35- else throw(("already initialized: " + c))
35+func l (d,i) = if (!(isDefined(e(d))))
36+ then h(d, i)
37+ else throw(("already initialized: " + d))
3638
3739
38-func l (m) = if ((toString(m.caller) != valueOrElse(getString(this, a), "no store address")))
40+func m (n) = if ((toString(n.caller) != valueOrElse(getString(this, a), "no store address")))
3941 then throw("only the staker contract can call this function")
4042 else true
4143
4244
43-@Callable(m)
44-func init (n) = [j(a, n)]
45+func o (n) = if ((toString(n.caller) != valueOrElse(getString(this, b), "no admin defined")))
46+ then throw("only an admin can call this function")
47+ else true
48+
49+
50+@Callable(n)
51+func init (p,q) = [k(a, p), k(b, q)]
4552
4653
4754
48-@Callable(m)
49-func transferInterest (o,p,q) = {
50- let r = l(m)
51- if ((r == r))
52- then [ScriptTransfer(addressFromStringValue(o), p, q)]
55+@Callable(n)
56+func removeLockingStore (r) = {
57+ let s = o(n)
58+ if ((s == s))
59+ then [DeleteEntry(a)]
60+ else throw("Strict value is not equal to itself.")
61+ }
62+
63+
64+
65+@Callable(n)
66+func updateLockingStore (r) = {
67+ let s = o(n)
68+ if ((s == s))
69+ then [DeleteEntry(a), k(a, r)]
70+ else throw("Strict value is not equal to itself.")
71+ }
72+
73+
74+
75+@Callable(n)
76+func transferInterest (t,u,v) = {
77+ let s = m(n)
78+ if ((s == s))
79+ then [ScriptTransfer(addressFromStringValue(t), u, v)]
5380 else throw("Strict value is not equal to itself.")
5481 }
5582
5683

github/deemru/w8io/169f3d6 
53.70 ms