tx · FG9MjDQfbCca463AWZyHv2ioXNERmH2EtK418wwDGBjT

3Mx9FcvbywzbM3uTGL1ocnC6Yz4LwG6VNnQ:  -0.01000000 Waves

2020.09.23 07:46 [1189491] smart account 3Mx9FcvbywzbM3uTGL1ocnC6Yz4LwG6VNnQ > SELF 0.00000000 Waves

{ "type": 13, "id": "FG9MjDQfbCca463AWZyHv2ioXNERmH2EtK418wwDGBjT", "fee": 1000000, "feeAssetId": null, "timestamp": 1600836503441, "version": 2, "chainId": 84, "sender": "3Mx9FcvbywzbM3uTGL1ocnC6Yz4LwG6VNnQ", "senderPublicKey": "3rxJnS9mVKpfLXyuwkosSTVgnu1cZ6cGj1WTVNqrhcyd", "proofs": [ "Rair1mx793yiR8drcajcrVxpEwkvRHoRpVjWomgSFj98kBFWAVfqPo49duXzHp1A3NoSuAUAiMhZAc6zzMDsvpP" ], "script": "base64:AAIEAAAAAAAAACEIAhIECgIIARIDCgEIEgMKAQgSBAoCCAgSBQoDCAgIEgAAAAAHAAAAAAZMRVNTT04BAAAAIOjnSHw4js1vrbOhaypqBgUMh7yKo+Dj/vvXlCSDAODpAAAAAARQQVI3AQAAACDOWED9mOK0xZN34xzFUmgrQZwssasR1XxpyjfnkulHjAAAAAAUbGVzc29uT3duZXJQdWJsaWNLZXkBAAAAIMvz6LV2HlWvV7hd5NdB67aByerr/Xy+xoHyN/gRCdRpAAAAAAdwZW5kaW5nAAAAAAAAAAAAAAAAAAVzdGFydAAAAAAAAAAAAQAAAAADZW5kAAAAAAAAAAACAAAAAAxwYXltZW50VG9rZW4FAAAABFBBUjcAAAAGAAAAAWkBAAAAEWlzc3VlTGVzc29uVGlja2V0AAAAAgAAAARqc29uAAAABXByaWNlBAAAAANwbXQJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAADCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAABkxFU1NPTgkAAAIAAAABAgAAABZ3b3JrcyB3aXRoIExFU1NPTiBvbmx5BAAAAA9pc3N1ZUN1cnJlbnRLZXkCAAAAC2lzc3VlTnVtYmVyBAAAABJpc3N1ZUN1cnJlbnROdW1iZXIEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAAPaXNzdWVDdXJyZW50S2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAADm5ld0lzc3VlTnVtYmVyCQAAZAAAAAIFAAAAEmlzc3VlQ3VycmVudE51bWJlcgAAAAAAAAAAAQQAAAAUbmV3SXNzdWVOdW1iZXJTdHJpbmcJAAGkAAAAAQUAAAAObmV3SXNzdWVOdW1iZXIEAAAAF3RpY2tldERldGFpbHNDdXJyZW50S2V5CQABLAAAAAIJAAEsAAAAAgIAAAAHVElDS0VUXwUAAAAUbmV3SXNzdWVOdW1iZXJTdHJpbmcCAAAACF9kZXRhaWxzBAAAABV0aWNrZXRQcmljZUN1cnJlbnRLZXkJAAEsAAAAAgkAASwAAAACAgAAAAdUSUNLRVRfBQAAABRuZXdJc3N1ZU51bWJlclN0cmluZwIAAAAGX3ByaWNlBAAAABd0aWNrZXRCYWxhbmNlQ3VycmVudEtleQkAASwAAAACCQABLAAAAAICAAAAB1RJQ0tFVF8FAAAAFG5ld0lzc3VlTnVtYmVyU3RyaW5nAgAAAAhfYmFsYW5jZQQAAAAadGlja2V0QmFsYW5jZUN1cnJlbnRBbW91bnQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAAXdGlja2V0QmFsYW5jZUN1cnJlbnRLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAWbmV3VGlja2V0QmFsYW5jZUFtb3VudAkAAGQAAAACBQAAABp0aWNrZXRCYWxhbmNlQ3VycmVudEFtb3VudAgFAAAAA3BtdAAAAAZhbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAFXRpY2tldFByaWNlQ3VycmVudEtleQUAAAAFcHJpY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAD2lzc3VlQ3VycmVudEtleQUAAAAObmV3SXNzdWVOdW1iZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAXdGlja2V0RGV0YWlsc0N1cnJlbnRLZXkFAAAABGpzb24JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAF3RpY2tldEJhbGFuY2VDdXJyZW50S2V5BQAAABZuZXdUaWNrZXRCYWxhbmNlQW1vdW50BQAAAANuaWwAAAABaQEAAAAJYnV5VGlja2V0AAAAAQAAAAx0aWNrZXROdW1iZXIEAAAAA3BtdAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAVdGlja2V0UHJpY2VDdXJyZW50S2V5CQABLAAAAAIJAAEsAAAAAgIAAAAHVElDS0VUXwUAAAAMdGlja2V0TnVtYmVyAgAAAAZfcHJpY2UEAAAAGHRpY2tldFByaWNlQ3VycmVudEFtb3VudAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAABV0aWNrZXRQcmljZUN1cnJlbnRLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAALdGlja2V0UHJpY2UFAAAAGHRpY2tldFByaWNlQ3VycmVudEFtb3VudAQAAAAKcmF0ZUFtb3VudAkAAGkAAAACCAUAAAADcG10AAAABmFtb3VudAUAAAALdGlja2V0UHJpY2UDCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAADHBheW1lbnRUb2tlbgkAAAIAAAABAgAAABR3b3JrcyB3aXRoIFBBUjcgb25seQQAAAANYnV5Q3VycmVudEtleQkAASwAAAACAgAAAARidXlfCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAEGJ1eUN1cnJlbnRBbW91bnQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAANYnV5Q3VycmVudEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAAxidXlOZXdBbW91bnQJAABkAAAAAgUAAAAQYnV5Q3VycmVudEFtb3VudAUAAAAKcmF0ZUFtb3VudAQAAAAXdGlja2V0QmFsYW5jZUN1cnJlbnRLZXkJAAEsAAAAAgkAASwAAAACAgAAAAdUSUNLRVRfBQAAAAx0aWNrZXROdW1iZXICAAAACF9iYWxhbmNlBAAAABp0aWNrZXRCYWxhbmNlQ3VycmVudEFtb3VudAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAABd0aWNrZXRCYWxhbmNlQ3VycmVudEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABZuZXdUaWNrZXRCYWxhbmNlQW1vdW50CQAAZQAAAAIFAAAAGnRpY2tldEJhbGFuY2VDdXJyZW50QW1vdW50BQAAAApyYXRlQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA1idXlDdXJyZW50S2V5BQAAAAxidXlOZXdBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAF3RpY2tldEJhbGFuY2VDdXJyZW50S2V5BQAAABZuZXdUaWNrZXRCYWxhbmNlQW1vdW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAKcmF0ZUFtb3VudAUAAAAGTEVTU09OBQAAAANuaWwAAAABaQEAAAASbGVzc29uU3Vic2NyaXB0aW9uAAAAAQAAAAhsZXNzb25JZAQAAAADcG10CQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAAVwbXRJZAgFAAAAA3BtdAAAAAdhc3NldElkBAAAAA5zdHVkZW50QWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAABZsZXNzb25TdGF0dXNDdXJyZW50S2V5CQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAdzdGF0dXNfBQAAAAhsZXNzb25JZAIAAAABXwUAAAAOc3R1ZGVudEFkZHJlc3MEAAAAE2xlc3NvbkZlZUN1cnJlbnRLZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACHBheW1lbnRfBQAAAAhsZXNzb25JZAIAAAABXwUAAAAOc3R1ZGVudEFkZHJlc3MEAAAAFmxlc3NvbkZlZUN1cnJlbnRBbW91bnQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAATbGVzc29uRmVlQ3VycmVudEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAA90aWNrZXROZXdBbW91bnQJAABkAAAAAgUAAAAWbGVzc29uRmVlQ3VycmVudEFtb3VudAgFAAAAA3BtdAAAAAZhbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAFmxlc3NvblN0YXR1c0N1cnJlbnRLZXkFAAAAB3BlbmRpbmcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAE2xlc3NvbkZlZUN1cnJlbnRLZXkFAAAAD3RpY2tldE5ld0Ftb3VudAUAAAADbmlsAAAAAWkBAAAAC2xlc3NvblN0YXJ0AAAAAgAAAAhsZXNzb25JZAAAAA5zdHVkZW50QWRkcmVzcwQAAAAWbGVzc29uU3RhdHVzQ3VycmVudEtleQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAHc3RhdHVzXwUAAAAIbGVzc29uSWQCAAAAAV8FAAAADnN0dWRlbnRBZGRyZXNzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABZsZXNzb25TdGF0dXNDdXJyZW50S2V5BQAAAAVzdGFydAUAAAADbmlsAAAAAWkBAAAADGxlc3NvbkZpbmlzaAAAAAMAAAAIbGVzc29uSWQAAAAOc3R1ZGVudEFkZHJlc3MAAAAMdGlja2V0TnVtYmVyBAAAAAh0aWNrZXRJZAkAAlgAAAABCQEAAAAFdmFsdWUAAAABBQAAAAZMRVNTT04EAAAAE2xlc3NvbkZlZUN1cnJlbnRLZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACHBheW1lbnRfBQAAAAhsZXNzb25JZAIAAAABXwUAAAAOc3R1ZGVudEFkZHJlc3MEAAAAFmxlc3NvbkZlZUN1cnJlbnRBbW91bnQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAATbGVzc29uRmVlQ3VycmVudEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABV0aWNrZXRQcmljZUN1cnJlbnRLZXkJAAEsAAAAAgUAAAAMdGlja2V0TnVtYmVyAgAAAAZfcHJpY2UEAAAAF3RpY2tldFByaWNlQ3VycmVudFByaWNlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAFXRpY2tldFByaWNlQ3VycmVudEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABNsZXNzb25QYXltZW50QW1vdW50CQAAaQAAAAIFAAAAFmxlc3NvbkZlZUN1cnJlbnRBbW91bnQFAAAAF3RpY2tldFByaWNlQ3VycmVudFByaWNlBAAAAAhvd25lcktleQkAASwAAAACAgAAAA5vd25lcl9iYWxhbmNlXwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAtvd25lckFtb3VudAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAAhvd25lcktleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAA5uZXdPd25lckFtb3VudAkAAGQAAAACBQAAAAtvd25lckFtb3VudAUAAAATbGVzc29uUGF5bWVudEFtb3VudAQAAAAWbGVzc29uU3RhdHVzQ3VycmVudEtleQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAHc3RhdHVzXwUAAAAIbGVzc29uSWQCAAAAAV8FAAAADnN0dWRlbnRBZGRyZXNzBAAAABB0aWNrZXRDdXJyZW50S2V5CQABLAAAAAIJAAEsAAAAAgUAAAAIdGlja2V0SWQCAAAAAV8FAAAADnN0dWRlbnRBZGRyZXNzBAAAABN0aWNrZXRDdXJyZW50QW1vdW50BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAEHRpY2tldEN1cnJlbnRLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAGdGlja2V0CQACWQAAAAEFAAAACHRpY2tldElkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAhvd25lcktleQUAAAAObmV3T3duZXJBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAFmxlc3NvblN0YXR1c0N1cnJlbnRLZXkFAAAAA2VuZAkABEwAAAACCQEAAAAEQnVybgAAAAIFAAAABkxFU1NPTgUAAAAWbGVzc29uRmVlQ3VycmVudEFtb3VudAUAAAADbmlsAAAAAWkBAAAADW93bmVyV2l0aGRyYXcAAAAABAAAAAhvd25lcktleQkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAA1jdXJyZW50QW1vdW50BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAACG93bmVyS2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAADCQAAZgAAAAIAAAAAAAAAAAAFAAAADWN1cnJlbnRBbW91bnQJAAACAAAAAQIAAAAeQ2FuJ3Qgd2l0aGRyYXcgbmVnYXRpdmUgYW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAhvd25lcktleQAAAAAAAAAAAAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAADWN1cnJlbnRBbW91bnQFAAAABFBBUjcFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5cQDdGA==", "height": 1189491, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 45LbC227N1ZkjR1Baw3ciHnX6ZihHAQWiLsKxMUyWZvn Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 4 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = base58'GgA8mL3SEYvuhYoZFd418Li4bqXAasGbYCKJshTt2MGU'
5+
6+let b = base58'EtV3CXQ4wqm28WPB1KaBv5B9ke2bpXRZMutYNEJUQcXm'
7+
8+let c = base58'Ej9UfgzgHeDPtoinwmZaL71Jv5CgK2QzWZZYyQUbpByz'
9+
10+let d = 0
11+
12+let e = 1
13+
14+let f = 2
15+
16+let g = b
17+
18+@Callable(h)
19+func issueLessonTicket (i,j) = {
20+ let k = h.payments[0]
21+ if ((k.assetId != a))
22+ then throw("works with LESSON only")
23+ else {
24+ let l = "issueNumber"
25+ let m = {
26+ let n = getInteger(this, l)
27+ if ($isInstanceOf(n, "Int"))
28+ then {
29+ let o = n
30+ o
31+ }
32+ else 0
33+ }
34+ let p = (m + 1)
35+ let q = toString(p)
36+ let r = (("TICKET_" + q) + "_details")
37+ let s = (("TICKET_" + q) + "_price")
38+ let t = (("TICKET_" + q) + "_balance")
39+ let u = {
40+ let n = getInteger(this, t)
41+ if ($isInstanceOf(n, "Int"))
42+ then {
43+ let o = n
44+ o
45+ }
46+ else 0
47+ }
48+ let v = (u + k.amount)
49+[IntegerEntry(s, j), IntegerEntry(l, p), StringEntry(r, i), IntegerEntry(t, v)]
50+ }
51+ }
52+
53+
54+
55+@Callable(h)
56+func buyTicket (w) = {
57+ let k = h.payments[0]
58+ let s = (("TICKET_" + w) + "_price")
59+ let x = {
60+ let n = getInteger(this, s)
61+ if ($isInstanceOf(n, "Int"))
62+ then {
63+ let o = n
64+ o
65+ }
66+ else 0
67+ }
68+ let y = x
69+ let z = (k.amount / y)
70+ if ((k.assetId != g))
71+ then throw("works with PAR7 only")
72+ else {
73+ let A = ("buy_" + toBase58String(h.caller.bytes))
74+ let B = {
75+ let n = getInteger(this, A)
76+ if ($isInstanceOf(n, "Int"))
77+ then {
78+ let o = n
79+ o
80+ }
81+ else 0
82+ }
83+ let C = (B + z)
84+ let t = (("TICKET_" + w) + "_balance")
85+ let u = {
86+ let n = getInteger(this, t)
87+ if ($isInstanceOf(n, "Int"))
88+ then {
89+ let o = n
90+ o
91+ }
92+ else 0
93+ }
94+ let v = (u - z)
95+[IntegerEntry(A, C), IntegerEntry(t, v), ScriptTransfer(h.caller, z, a)]
96+ }
97+ }
98+
99+
100+
101+@Callable(h)
102+func lessonSubscription (D) = {
103+ let k = h.payments[0]
104+ let E = k.assetId
105+ let F = toBase58String(h.caller.bytes)
106+ let G = ((("status_" + D) + "_") + F)
107+ let H = ((("payment_" + D) + "_") + F)
108+ let I = {
109+ let n = getInteger(this, H)
110+ if ($isInstanceOf(n, "Int"))
111+ then {
112+ let o = n
113+ o
114+ }
115+ else 0
116+ }
117+ let J = (I + k.amount)
118+[IntegerEntry(G, d), IntegerEntry(H, J)]
119+ }
120+
121+
122+
123+@Callable(h)
124+func lessonStart (D,F) = {
125+ let G = ((("status_" + D) + "_") + F)
126+[IntegerEntry(G, e)]
127+ }
128+
129+
130+
131+@Callable(h)
132+func lessonFinish (D,F,w) = {
133+ let K = toBase58String(value(a))
134+ let H = ((("payment_" + D) + "_") + F)
135+ let I = {
136+ let n = getInteger(this, H)
137+ if ($isInstanceOf(n, "Int"))
138+ then {
139+ let o = n
140+ o
141+ }
142+ else 0
143+ }
144+ let s = (w + "_price")
145+ let L = {
146+ let n = getInteger(this, s)
147+ if ($isInstanceOf(n, "Int"))
148+ then {
149+ let o = n
150+ o
151+ }
152+ else 0
153+ }
154+ let M = (I / L)
155+ let N = ("owner_balance_" + toBase58String(h.caller.bytes))
156+ let O = {
157+ let n = getInteger(this, N)
158+ if ($isInstanceOf(n, "Int"))
159+ then {
160+ let o = n
161+ o
162+ }
163+ else 0
164+ }
165+ let P = (O + M)
166+ let G = ((("status_" + D) + "_") + F)
167+ let Q = ((K + "_") + F)
168+ let R = {
169+ let n = getInteger(this, Q)
170+ if ($isInstanceOf(n, "Int"))
171+ then {
172+ let o = n
173+ o
174+ }
175+ else 0
176+ }
177+ let S = fromBase58String(K)
178+[IntegerEntry(N, P), IntegerEntry(G, f), Burn(a, I)]
179+ }
180+
181+
182+
183+@Callable(h)
184+func ownerWithdraw () = {
185+ let N = toBase58String(h.caller.bytes)
186+ let T = {
187+ let n = getInteger(this, N)
188+ if ($isInstanceOf(n, "Int"))
189+ then {
190+ let o = n
191+ o
192+ }
193+ else 0
194+ }
195+ if ((0 > T))
196+ then throw("Can't withdraw negative amount")
197+ else [IntegerEntry(N, 0), ScriptTransfer(h.caller, T, b)]
198+ }
199+
200+
201+@Verifier(U)
202+func V () = sigVerify(U.bodyBytes, U.proofs[0], U.senderPublicKey)
203+

github/deemru/w8io/169f3d6 
26.52 ms