tx · EDjWQnzhvgh4neYao5rqTNbgrmzcPJ9WCmyutUCgCdgK

3N54eKW5ZucDaRaGVUfzX8xRXv6Ve8M71tM:  -0.02000000 Waves

2020.07.03 17:57 [1071048] smart account 3N54eKW5ZucDaRaGVUfzX8xRXv6Ve8M71tM > SELF 0.00000000 Waves

{ "type": 13, "id": "EDjWQnzhvgh4neYao5rqTNbgrmzcPJ9WCmyutUCgCdgK", "fee": 2000000, "feeAssetId": null, "timestamp": 1593788280713, "version": 1, "sender": "3N54eKW5ZucDaRaGVUfzX8xRXv6Ve8M71tM", "senderPublicKey": "FmnQ1LwTnauTS2BSrZivE1nSF1A9MY9hyYB72pyh5hw9", "proofs": [ "3Uhiz4A3a8tG2anFC2Vbfh5bBCYPVFcTfMKS7UZ7cHxXyfXctaTdrJ9K3TfA7dJzoFsU6X5J5cfrREzW1HiTQDaD" ], "script": "base64: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", "chainId": 84, "height": 1071048, "spentComplexity": 0 } View: original | compacted Prev: bY23fk94CL4uyAjaw22xs8a9RbnvhofVhMewwQmmkzr Next: DG5AQhg63em22Z8YhnbC5YSiNHmdqcoz4hN3GJaWhzgi Diff:
OldNewDifferences
175175 else {
176176 let U = v(P)
177177 let V = h(U, 0)
178- WriteSet([DataEntry((C + "/latest_update"), N[0]), DataEntry((C + "/value"), V[0])])
178+ WriteSet([DataEntry((C + "/latest_update_time"), N[0]), DataEntry((C + "/value"), V[0]), DataEntry((C + "/latest_block"), height)])
179179 }
180180 }
181181
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b,c) = if ((1 > size(b)))
55 then throw("decode u8 error, data must be at least 1 byte")
66 else if ((c > size(b)))
77 then throw("decode u8 error, decoding is finish")
88 else {
99 let d = take(drop(b, c), 1)
1010 let e = toInt((base58'1111111' + d), 0)
1111 [toInt((base58'1111111' + d), 0), (c + 1)]
1212 }
1313
1414
1515 func f (b,c) = if ((2 > size(b)))
1616 then throw("decode u16 error, data must be at least 2 bytes")
1717 else if ((c > size(b)))
1818 then throw("decode u16 error, decoding is finish")
1919 else {
2020 let d = drop(b, c)
2121 let e = take(d, 2)
2222 [toInt((base58'111111' + e), 0), (c + 2)]
2323 }
2424
2525
2626 func g (b,c) = if ((4 > size(b)))
2727 then throw("decode u32 error, data must be at least 4 bytes")
2828 else if ((c > size(b)))
2929 then throw("decode u32 error, decoding is finish")
3030 else {
3131 let d = drop(b, c)
3232 let e = take(d, 4)
3333 [toInt((base58'1111' + e), 0), (c + 4)]
3434 }
3535
3636
3737 func h (b,c) = if ((8 > size(b)))
3838 then throw("decode u32 error, data must be at least 8 bytes")
3939 else if ((c > size(b)))
4040 then throw("decode u32 error, decoding is finish")
4141 else {
4242 let d = drop(b, c)
4343 let e = take(d, 8)
4444 [toInt(e, 0), (c + 8)]
4545 }
4646
4747
4848 func i (b,c) = {
4949 let j = a(b, c)
5050 [DataEntry("bool", (j[0] != 0)), DataEntry("int", j[1])]
5151 }
5252
5353
5454 func k (b,c) = if ((32 > size(b)))
5555 then throw("decode bytes32 error, data must be at least 32 bytes")
5656 else [DataEntry("byte_vector", take(drop(b, c), 32)), DataEntry("int", (c + 32))]
5757
5858
5959 func l (b,c) = if ((64 > size(b)))
6060 then throw("decode bytes64 error, data must be at least 64 bytes")
6161 else [DataEntry("byte_vector", take(drop(b, c), 64)), DataEntry("int", (c + 64))]
6262
6363
6464 func m (b,c) = if ((65 > size(b)))
6565 then throw("decode bytes65 error, data must be at least 65 bytes")
6666 else [DataEntry("byte_vector", take(drop(b, c), 65)), DataEntry("int", (c + 65))]
6767
6868
6969 func n (b,c) = {
7070 let j = g(b, c)
7171 let o = j[0]
7272 let p = j[1]
7373 [DataEntry("byte_vector", take(drop(b, p), o)), DataEntry("int", (p + o))]
7474 }
7575
7676
7777 func q (b,c) = {
7878 let j = g(b, c)
7979 let o = j[0]
8080 let p = j[1]
8181 [DataEntry("string", toUtf8String(take(drop(b, p), o))), DataEntry("int", (p + o))]
8282 }
8383
8484
8585 func r (s) = {
8686 let t = s[0].value
8787 if ($isInstanceOf(t, "Boolean"))
8888 then {
8989 let u = t
9090 u
9191 }
9292 else throw("not a Boolean")
9393 }
9494
9595
9696 func v (s) = {
9797 let t = s[0].value
9898 if ($isInstanceOf(t, "ByteVector"))
9999 then {
100100 let w = t
101101 w
102102 }
103103 else throw("not a ByteVector")
104104 }
105105
106106
107107 func x (s) = {
108108 let t = s[0].value
109109 if ($isInstanceOf(t, "String"))
110110 then {
111111 let y = t
112112 y
113113 }
114114 else throw("not a String")
115115 }
116116
117117
118118 func z (s) = {
119119 let t = s[1].value
120120 if ($isInstanceOf(t, "Int"))
121121 then {
122122 let A = t
123123 A
124124 }
125125 else throw("not a Int")
126126 }
127127
128128
129129 func B (C) = {
130130 let t = getInteger(this, (C + "/latest_update"))
131131 if ($isInstanceOf(t, "Int"))
132132 then {
133133 let A = t
134134 A
135135 }
136136 else 0
137137 }
138138
139139
140140 @Callable(D)
141141 func relayAndVerify (b) = if ((D.caller != this))
142142 then throw("Unauthorized caller")
143143 else {
144144 let E = q(b, 0)
145145 let F = h(b, z(E))
146146 let G = n(b, F[1])
147147 let H = h(b, z(G))
148148 let I = h(b, H[1])
149149 let J = q(b, I[1])
150150 let K = h(b, z(J))
151151 let L = h(b, K[1])
152152 let M = h(b, L[1])
153153 let N = h(b, M[1])
154154 let O = a(b, N[1])
155155 let P = n(b, O[1])
156156 let Q = v(G)
157157 let R = q(Q, 0)
158158 let S = h(Q, z(R))
159159 let C = x(R)
160160 let T = S[0]
161161 if ((F[0] != 1))
162162 then throw("Invalid oracle script")
163163 else if (if (if ((C != "BTC"))
164164 then (C != "WAVES")
165165 else false)
166166 then (C != "ETH")
167167 else false)
168168 then throw("Invalid symbol")
169169 else if ((T != 1000000))
170170 then throw("Invalid multiplier")
171171 else if ((B(C) >= N[0]))
172172 then throw("Not newer than the latest")
173173 else if ((O[0] != 1))
174174 then throw("Invalid resolve status")
175175 else {
176176 let U = v(P)
177177 let V = h(U, 0)
178- WriteSet([DataEntry((C + "/latest_update"), N[0]), DataEntry((C + "/value"), V[0])])
178+ WriteSet([DataEntry((C + "/latest_update_time"), N[0]), DataEntry((C + "/value"), V[0]), DataEntry((C + "/latest_block"), height)])
179179 }
180180 }
181181
182182

github/deemru/w8io/873ac7e 
35.95 ms