tx · 9wd4hnUHUKK1LT98BwajG7h6bBmjpP5KbyXXM4LRpABe

3MqxEHA8W3zrryRv3LanHaX2ynFJ99J7whH:  -0.03200000 Waves

2022.06.22 15:51 [2107629] smart account 3MqxEHA8W3zrryRv3LanHaX2ynFJ99J7whH > SELF 0.00000000 Waves

{ "type": 13, "id": "9wd4hnUHUKK1LT98BwajG7h6bBmjpP5KbyXXM4LRpABe", "fee": 3200000, "feeAssetId": null, "timestamp": 1655902406817, "version": 2, "chainId": 84, "sender": "3MqxEHA8W3zrryRv3LanHaX2ynFJ99J7whH", "senderPublicKey": "7jBb6GLfNutKJTxJcQb6s2qtZoXTor8pJcZHaFKDyDDe", "proofs": [ "2NV3D1PbChdxJzQTk3hhweDeUcJJZCu9kpvA5fcUTEJ3mu4xaDDAz6CjQUvFbT6kFhDaAfUs4mH4dN7aARL1z3oH" ], "script": "base64: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", "height": 2107629, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = "k_lastDataStr"
5+
6+let b = "k_lastMinuteId"
7+
8+let c = "k_twapDataLastCumulativePrice"
9+
10+let d = "k_twapDataLastPrice"
11+
12+let e = "k_twap"
13+
14+let f = 15
15+
16+@Callable(g)
17+func computeTwap (h) = {
18+ let i = ((h / 1000) / 60)
19+ let j = (i - f)
20+ let k = valueOrElse(getString(this, a), "")
21+ let l = split(k, ",")
22+ func m (n,o) = if ((j >= parseIntValue(o)))
23+ then (n :+ parseIntValue(o))
24+ else n
25+
26+ let p = {
27+ let q = l
28+ let r = size(q)
29+ let s = nil
30+ func t (u,v) = if ((v >= r))
31+ then u
32+ else m(u, q[v])
33+
34+ func w (u,v) = if ((v >= r))
35+ then u
36+ else throw("List size exceeds 15")
37+
38+ w(t(t(t(t(t(t(t(t(t(t(t(t(t(t(t(s, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
39+ }
40+ let x = max(p)
41+ let y = valueOrElse(getInteger(this, b), 0)
42+ let z = valueOrElse(getInteger(this, ((c + "_") + toString(y))), 0)
43+ let A = valueOrElse(getInteger(this, ((d + "_") + toString(y))), 0)
44+ let B = (z + ((i - y) * A))
45+ let C = valueOrElse(getInteger(this, ((c + "_") + toString(x))), 0)
46+ let D = valueOrElse(getInteger(this, ((d + "_") + toString(x))), 0)
47+ let E = (C + ((j - x) * D))
48+[IntegerEntry(e, ((B - E) / f))]
49+ }
50+
51+
52+
53+@Callable(g)
54+func appendTwap (h,F) = {
55+ let i = ((h / 1000) / 60)
56+ let G = valueOrElse(getInteger(this, b), 0)
57+ let y = if ((G == 0))
58+ then i
59+ else G
60+ let k = valueOrElse(getString(this, a), "")
61+ let H = split(k, ",")
62+ let l = if ((size(H) > f))
63+ then (removeByIndex(H, 0) :+ toString(i))
64+ else (H :+ toString(i))
65+ let I = valueOrElse(getInteger(this, ((c + "_") + toString(G))), 0)
66+ let J = valueOrElse(getInteger(this, ((d + "_") + toString(G))), F)
67+ let K = (I + ((i - y) * J))
68+ func L (n,M) = ((n + M) + ",")
69+
70+ let N = {
71+ let q = l
72+ let r = size(q)
73+ let s = ""
74+ func t (u,v) = if ((v >= r))
75+ then u
76+ else L(u, q[v])
77+
78+ func w (u,v) = if ((v >= r))
79+ then u
80+ else throw("List size exceeds 15")
81+
82+ w(t(t(t(t(t(t(t(t(t(t(t(t(t(t(t(s, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
83+ }
84+ let O = dropRight(N, 1)
85+[IntegerEntry(((c + "_") + toString(i)), K), IntegerEntry(((d + "_") + toString(i)), F), IntegerEntry(b, i), StringEntry(a, O)]
86+ }
87+
88+
89+@Verifier(P)
90+func Q () = sigVerify(P.bodyBytes, P.proofs[0], P.senderPublicKey)
91+

github/deemru/w8io/873ac7e 
17.48 ms