tx · 8NiydrX6aUyhUYzBANfeJ2Eb5VT8BwGKe7KNA2MiKbaK 3N9QhjBmyFRrGW5d8VQojB4wZhHmQhuvVrL: -0.01400000 Waves 2022.11.14 14:35 [2316752] smart account 3N9QhjBmyFRrGW5d8VQojB4wZhHmQhuvVrL > SELF 0.00000000 Waves
{ "type": 13, "id": "8NiydrX6aUyhUYzBANfeJ2Eb5VT8BwGKe7KNA2MiKbaK", "fee": 1400000, "feeAssetId": null, "timestamp": 1668425774514, "version": 2, "chainId": 84, "sender": "3N9QhjBmyFRrGW5d8VQojB4wZhHmQhuvVrL", "senderPublicKey": "BefhVEanzhrtdYfeWquaoSsMZw3BEaEZZB86Kosqw7Qb", "proofs": [ "E6V7jQgy3rSWnJmvU7EQEmY1Q43A8QobzUbW8ZV4rQjtSJqnNdrBptq9wogb52tog55T8pvaFE7axQ7dnKZqBU7" ], "script": "base64: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", "height": 2316752, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6ZedKy5ddrUPpyUNZKcwHhMciEU7yRo6HpiMxDB3TyKJ Next: 99AQ9TzmwbCt5TQ1FuK4vSjyNY5f7Qt7VYT5H8CdfqyJ Diff:
Old | New | Differences | |
---|---|---|---|
69 | 69 | func u () = k(c) | |
70 | 70 | ||
71 | 71 | ||
72 | + | func v () = k(d) | |
73 | + | ||
74 | + | ||
72 | 75 | @Callable(m) | |
73 | - | func setBetAmount ( | |
74 | - | then [IntegerEntry(c, | |
76 | + | func setBetAmount (w) = if (q(m.callerPublicKey)) | |
77 | + | then [IntegerEntry(c, w)] | |
75 | 78 | else throw("Only admin") | |
76 | 79 | ||
77 | 80 | ||
78 | 81 | ||
79 | 82 | @Callable(m) | |
80 | - | func setDeadLine ( | |
81 | - | then [IntegerEntry(d, | |
83 | + | func setDeadLine (x) = if (q(m.callerPublicKey)) | |
84 | + | then [IntegerEntry(d, x)] | |
82 | 85 | else throw("Only admin") | |
83 | 86 | ||
84 | 87 | ||
85 | 88 | ||
86 | 89 | @Callable(m) | |
87 | - | func makeBet (x,y,z,A,B,C) = { | |
88 | - | let D = m.payments[0] | |
89 | - | let E = value(D.assetId) | |
90 | - | let F = value(D.amount) | |
91 | - | let G = toString(m.caller) | |
92 | - | let H = s(G) | |
93 | - | if (!(H)) | |
94 | - | then if ((f(E) == "WAVES")) | |
95 | - | then { | |
96 | - | let I = u() | |
97 | - | if ((I != 0)) | |
98 | - | then if ((F == I)) | |
99 | - | then { | |
100 | - | let J = split(x, "_") | |
101 | - | let K = split(y, "_") | |
102 | - | let L = split(z, "_") | |
103 | - | let M = split(A, "_") | |
104 | - | let N = split(B, "_") | |
105 | - | if (if (if (if (if ((size(J) == 8)) | |
106 | - | then (size(K) == 8) | |
107 | - | else false) | |
108 | - | then (size(L) == 8) | |
109 | - | else false) | |
110 | - | then (size(M) == 4) | |
111 | - | else false) | |
112 | - | then (size(N) == 2) | |
113 | - | else false) | |
114 | - | then [BooleanEntry((G + "_betted"), true), IntegerEntry((G + "_height"), height), StringEntry((G + "_GroupA-1st"), J[0]), StringEntry((G + "_GroupA-2nd"), K[0]), StringEntry((G + "_GroupB-1st"), J[1]), StringEntry((G + "_GroupB-2nd"), J[1]), StringEntry((G + "_GroupC-1st"), J[2]), StringEntry((G + "_GroupC-2nd"), K[2]), StringEntry((G + "_GroupD-1st"), J[3]), StringEntry((G + "_GroupD-2nd"), J[3]), StringEntry((G + "_GroupE-1st"), J[4]), StringEntry((G + "_GroupE-2nd"), K[4]), StringEntry((G + "_GroupF-1st"), J[5]), StringEntry((G + "_GroupF-2nd"), J[5]), StringEntry((G + "_GroupG-1st"), J[6]), StringEntry((G + "_GroupG-2nd"), K[6]), StringEntry((G + "_GroupH-1st"), J[7]), StringEntry((G + "_GroupH-2nd"), J[7]), StringEntry((G + "_Octo1-winner"), L[0]), StringEntry((G + "_Octo2-winner"), L[1]), StringEntry((G + "_Octo3-winner"), L[2]), StringEntry((G + "_Octo4-winner"), L[3]), StringEntry((G + "_Octo5-winner"), L[4]), StringEntry((G + "_Octo6-winner"), L[5]), StringEntry((G + "_Octo7-winner"), L[6]), StringEntry((G + "_Octo8-winner"), L[7]), StringEntry((G + "_Quarter1-winner"), M[0]), StringEntry((G + "_Quarter2-winner"), M[1]), StringEntry((G + "_Quarter3-winner"), M[2]), StringEntry((G + "_Quarter4-winner"), M[3]), StringEntry((G + "_Semi1-winner"), N[0]), StringEntry((G + "_Semi2-winner"), N[1]), StringEntry((G + "Final-winner"), C)] | |
115 | - | else throw("Incorrect data arrived in arguments") | |
116 | - | } | |
117 | - | else throw((("Attach exactly " + toString(I)) + " /100000000 Waves as payment")) | |
118 | - | else throw("Zero betAmount from contract storage") | |
119 | - | } | |
120 | - | else throw("Only Waves is allowed as payment asset to bet") | |
121 | - | else throw("Bet already made") | |
90 | + | func makeBet (y,z,A,B,C,D) = { | |
91 | + | let E = m.payments[0] | |
92 | + | let F = value(E.assetId) | |
93 | + | let G = value(E.amount) | |
94 | + | let H = toString(m.caller) | |
95 | + | let I = s(H) | |
96 | + | let J = v() | |
97 | + | if ((J > height)) | |
98 | + | then if (!(I)) | |
99 | + | then if ((f(F) == "WAVES")) | |
100 | + | then { | |
101 | + | let K = u() | |
102 | + | if ((K != 0)) | |
103 | + | then if ((G == K)) | |
104 | + | then { | |
105 | + | let L = split(y, "_") | |
106 | + | let M = split(z, "_") | |
107 | + | let N = split(A, "_") | |
108 | + | let O = split(B, "_") | |
109 | + | let P = split(C, "_") | |
110 | + | if (if (if (if (if ((size(L) == 8)) | |
111 | + | then (size(M) == 8) | |
112 | + | else false) | |
113 | + | then (size(N) == 8) | |
114 | + | else false) | |
115 | + | then (size(O) == 4) | |
116 | + | else false) | |
117 | + | then (size(P) == 2) | |
118 | + | else false) | |
119 | + | then [BooleanEntry((H + "_betted"), true), IntegerEntry((H + "_height"), height), StringEntry((H + "_GroupA-1st"), L[0]), StringEntry((H + "_GroupA-2nd"), M[0]), StringEntry((H + "_GroupB-1st"), L[1]), StringEntry((H + "_GroupB-2nd"), L[1]), StringEntry((H + "_GroupC-1st"), L[2]), StringEntry((H + "_GroupC-2nd"), M[2]), StringEntry((H + "_GroupD-1st"), L[3]), StringEntry((H + "_GroupD-2nd"), L[3]), StringEntry((H + "_GroupE-1st"), L[4]), StringEntry((H + "_GroupE-2nd"), M[4]), StringEntry((H + "_GroupF-1st"), L[5]), StringEntry((H + "_GroupF-2nd"), L[5]), StringEntry((H + "_GroupG-1st"), L[6]), StringEntry((H + "_GroupG-2nd"), M[6]), StringEntry((H + "_GroupH-1st"), L[7]), StringEntry((H + "_GroupH-2nd"), L[7]), StringEntry((H + "_Octo1-winner"), N[0]), StringEntry((H + "_Octo2-winner"), N[1]), StringEntry((H + "_Octo3-winner"), N[2]), StringEntry((H + "_Octo4-winner"), N[3]), StringEntry((H + "_Octo5-winner"), N[4]), StringEntry((H + "_Octo6-winner"), N[5]), StringEntry((H + "_Octo7-winner"), N[6]), StringEntry((H + "_Octo8-winner"), N[7]), StringEntry((H + "_Quarter1-winner"), O[0]), StringEntry((H + "_Quarter2-winner"), O[1]), StringEntry((H + "_Quarter3-winner"), O[2]), StringEntry((H + "_Quarter4-winner"), O[3]), StringEntry((H + "_Semi1-winner"), P[0]), StringEntry((H + "_Semi2-winner"), P[1]), StringEntry((H + "Final-winner"), D)] | |
120 | + | else throw("Incorrect data arrived in arguments") | |
121 | + | } | |
122 | + | else throw((("Attach exactly " + toString(K)) + " /100000000 Waves as payment")) | |
123 | + | else throw("Zero betAmount from contract storage") | |
124 | + | } | |
125 | + | else throw("Only Waves is allowed as payment asset to bet") | |
126 | + | else throw("Bet already made") | |
127 | + | else throw("Betting closed") | |
122 | 128 | } | |
123 | 129 | ||
124 | 130 | ||
125 | 131 | ||
126 | 132 | @Callable(m) | |
127 | 133 | func deleteAddress (t) = { | |
128 | - | let | |
134 | + | let H = toString(m.caller) | |
129 | 135 | if (q(m.callerPublicKey)) | |
130 | - | then [DeleteEntry(( | |
136 | + | then [DeleteEntry((H + "_betted")), DeleteEntry((H + "_height")), DeleteEntry((H + "_GroupA-1st")), DeleteEntry((H + "_GroupA-2nd")), DeleteEntry((H + "_GroupB-1st")), DeleteEntry((H + "_GroupB-2nd")), DeleteEntry((H + "_GroupC-1st")), DeleteEntry((H + "_GroupC-2nd")), DeleteEntry((H + "_GroupD-1st")), DeleteEntry((H + "_GroupD-2nd")), DeleteEntry((H + "_GroupE-1st")), DeleteEntry((H + "_GroupE-2nd")), DeleteEntry((H + "_GroupF-1st")), DeleteEntry((H + "_GroupF-2nd")), DeleteEntry((H + "_GroupG-1st")), DeleteEntry((H + "_GroupG-2nd")), DeleteEntry((H + "_GroupH-1st")), DeleteEntry((H + "_GroupH-2nd")), DeleteEntry((H + "_Octo1-winner")), DeleteEntry((H + "_Octo2-winner")), DeleteEntry((H + "_Octo3-winner")), DeleteEntry((H + "_Octo4-winner")), DeleteEntry((H + "_Octo5-winner")), DeleteEntry((H + "_Octo6-winner")), DeleteEntry((H + "_Octo7-winner")), DeleteEntry((H + "_Octo8-winner")), DeleteEntry((H + "_Quarter1-winner")), DeleteEntry((H + "_Quarter2-winner")), DeleteEntry((H + "_Quarter3-winner")), DeleteEntry((H + "_Quarter4-winner")), DeleteEntry((H + "_Semi1-winner")), DeleteEntry((H + "_Semi2-winner")), DeleteEntry((H + "Final-winner"))] | |
131 | 137 | else throw("Only admin") | |
132 | 138 | } | |
133 | 139 | ||
134 | 140 | ||
135 | - | @Verifier( | |
136 | - | func | |
141 | + | @Verifier(Q) | |
142 | + | func R () = sigVerify(Q.bodyBytes, Q.proofs[0], Q.senderPublicKey) | |
137 | 143 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = "BefhVEanzhrtdYfeWquaoSsMZw3BEaEZZB86Kosqw7Qb" | |
5 | 5 | ||
6 | 6 | let b = "" | |
7 | 7 | ||
8 | 8 | let c = "global_betAmount" | |
9 | 9 | ||
10 | 10 | let d = "global_deadline_h" | |
11 | 11 | ||
12 | 12 | let e = 100000000 | |
13 | 13 | ||
14 | 14 | func f (g) = { | |
15 | 15 | let h = g | |
16 | 16 | if ($isInstanceOf(h, "ByteVector")) | |
17 | 17 | then { | |
18 | 18 | let i = h | |
19 | 19 | toBase58String(i) | |
20 | 20 | } | |
21 | 21 | else "WAVES" | |
22 | 22 | } | |
23 | 23 | ||
24 | 24 | ||
25 | 25 | func j (g) = if ((g == "WAVES")) | |
26 | 26 | then unit | |
27 | 27 | else fromBase58String(g) | |
28 | 28 | ||
29 | 29 | ||
30 | 30 | func k (l) = { | |
31 | 31 | let h = getInteger(this, l) | |
32 | 32 | if ($isInstanceOf(h, "Int")) | |
33 | 33 | then { | |
34 | 34 | let m = h | |
35 | 35 | m | |
36 | 36 | } | |
37 | 37 | else 0 | |
38 | 38 | } | |
39 | 39 | ||
40 | 40 | ||
41 | 41 | func n (l) = { | |
42 | 42 | let h = getBoolean(this, l) | |
43 | 43 | if ($isInstanceOf(h, "Boolean")) | |
44 | 44 | then { | |
45 | 45 | let i = h | |
46 | 46 | i | |
47 | 47 | } | |
48 | 48 | else false | |
49 | 49 | } | |
50 | 50 | ||
51 | 51 | ||
52 | 52 | func o (l) = { | |
53 | 53 | let h = getString(this, l) | |
54 | 54 | if ($isInstanceOf(h, "String")) | |
55 | 55 | then { | |
56 | 56 | let p = h | |
57 | 57 | p | |
58 | 58 | } | |
59 | 59 | else "" | |
60 | 60 | } | |
61 | 61 | ||
62 | 62 | ||
63 | 63 | func q (r) = (toBase58String(r) == a) | |
64 | 64 | ||
65 | 65 | ||
66 | 66 | func s (t) = n((t + "_betted")) | |
67 | 67 | ||
68 | 68 | ||
69 | 69 | func u () = k(c) | |
70 | 70 | ||
71 | 71 | ||
72 | + | func v () = k(d) | |
73 | + | ||
74 | + | ||
72 | 75 | @Callable(m) | |
73 | - | func setBetAmount ( | |
74 | - | then [IntegerEntry(c, | |
76 | + | func setBetAmount (w) = if (q(m.callerPublicKey)) | |
77 | + | then [IntegerEntry(c, w)] | |
75 | 78 | else throw("Only admin") | |
76 | 79 | ||
77 | 80 | ||
78 | 81 | ||
79 | 82 | @Callable(m) | |
80 | - | func setDeadLine ( | |
81 | - | then [IntegerEntry(d, | |
83 | + | func setDeadLine (x) = if (q(m.callerPublicKey)) | |
84 | + | then [IntegerEntry(d, x)] | |
82 | 85 | else throw("Only admin") | |
83 | 86 | ||
84 | 87 | ||
85 | 88 | ||
86 | 89 | @Callable(m) | |
87 | - | func makeBet (x,y,z,A,B,C) = { | |
88 | - | let D = m.payments[0] | |
89 | - | let E = value(D.assetId) | |
90 | - | let F = value(D.amount) | |
91 | - | let G = toString(m.caller) | |
92 | - | let H = s(G) | |
93 | - | if (!(H)) | |
94 | - | then if ((f(E) == "WAVES")) | |
95 | - | then { | |
96 | - | let I = u() | |
97 | - | if ((I != 0)) | |
98 | - | then if ((F == I)) | |
99 | - | then { | |
100 | - | let J = split(x, "_") | |
101 | - | let K = split(y, "_") | |
102 | - | let L = split(z, "_") | |
103 | - | let M = split(A, "_") | |
104 | - | let N = split(B, "_") | |
105 | - | if (if (if (if (if ((size(J) == 8)) | |
106 | - | then (size(K) == 8) | |
107 | - | else false) | |
108 | - | then (size(L) == 8) | |
109 | - | else false) | |
110 | - | then (size(M) == 4) | |
111 | - | else false) | |
112 | - | then (size(N) == 2) | |
113 | - | else false) | |
114 | - | then [BooleanEntry((G + "_betted"), true), IntegerEntry((G + "_height"), height), StringEntry((G + "_GroupA-1st"), J[0]), StringEntry((G + "_GroupA-2nd"), K[0]), StringEntry((G + "_GroupB-1st"), J[1]), StringEntry((G + "_GroupB-2nd"), J[1]), StringEntry((G + "_GroupC-1st"), J[2]), StringEntry((G + "_GroupC-2nd"), K[2]), StringEntry((G + "_GroupD-1st"), J[3]), StringEntry((G + "_GroupD-2nd"), J[3]), StringEntry((G + "_GroupE-1st"), J[4]), StringEntry((G + "_GroupE-2nd"), K[4]), StringEntry((G + "_GroupF-1st"), J[5]), StringEntry((G + "_GroupF-2nd"), J[5]), StringEntry((G + "_GroupG-1st"), J[6]), StringEntry((G + "_GroupG-2nd"), K[6]), StringEntry((G + "_GroupH-1st"), J[7]), StringEntry((G + "_GroupH-2nd"), J[7]), StringEntry((G + "_Octo1-winner"), L[0]), StringEntry((G + "_Octo2-winner"), L[1]), StringEntry((G + "_Octo3-winner"), L[2]), StringEntry((G + "_Octo4-winner"), L[3]), StringEntry((G + "_Octo5-winner"), L[4]), StringEntry((G + "_Octo6-winner"), L[5]), StringEntry((G + "_Octo7-winner"), L[6]), StringEntry((G + "_Octo8-winner"), L[7]), StringEntry((G + "_Quarter1-winner"), M[0]), StringEntry((G + "_Quarter2-winner"), M[1]), StringEntry((G + "_Quarter3-winner"), M[2]), StringEntry((G + "_Quarter4-winner"), M[3]), StringEntry((G + "_Semi1-winner"), N[0]), StringEntry((G + "_Semi2-winner"), N[1]), StringEntry((G + "Final-winner"), C)] | |
115 | - | else throw("Incorrect data arrived in arguments") | |
116 | - | } | |
117 | - | else throw((("Attach exactly " + toString(I)) + " /100000000 Waves as payment")) | |
118 | - | else throw("Zero betAmount from contract storage") | |
119 | - | } | |
120 | - | else throw("Only Waves is allowed as payment asset to bet") | |
121 | - | else throw("Bet already made") | |
90 | + | func makeBet (y,z,A,B,C,D) = { | |
91 | + | let E = m.payments[0] | |
92 | + | let F = value(E.assetId) | |
93 | + | let G = value(E.amount) | |
94 | + | let H = toString(m.caller) | |
95 | + | let I = s(H) | |
96 | + | let J = v() | |
97 | + | if ((J > height)) | |
98 | + | then if (!(I)) | |
99 | + | then if ((f(F) == "WAVES")) | |
100 | + | then { | |
101 | + | let K = u() | |
102 | + | if ((K != 0)) | |
103 | + | then if ((G == K)) | |
104 | + | then { | |
105 | + | let L = split(y, "_") | |
106 | + | let M = split(z, "_") | |
107 | + | let N = split(A, "_") | |
108 | + | let O = split(B, "_") | |
109 | + | let P = split(C, "_") | |
110 | + | if (if (if (if (if ((size(L) == 8)) | |
111 | + | then (size(M) == 8) | |
112 | + | else false) | |
113 | + | then (size(N) == 8) | |
114 | + | else false) | |
115 | + | then (size(O) == 4) | |
116 | + | else false) | |
117 | + | then (size(P) == 2) | |
118 | + | else false) | |
119 | + | then [BooleanEntry((H + "_betted"), true), IntegerEntry((H + "_height"), height), StringEntry((H + "_GroupA-1st"), L[0]), StringEntry((H + "_GroupA-2nd"), M[0]), StringEntry((H + "_GroupB-1st"), L[1]), StringEntry((H + "_GroupB-2nd"), L[1]), StringEntry((H + "_GroupC-1st"), L[2]), StringEntry((H + "_GroupC-2nd"), M[2]), StringEntry((H + "_GroupD-1st"), L[3]), StringEntry((H + "_GroupD-2nd"), L[3]), StringEntry((H + "_GroupE-1st"), L[4]), StringEntry((H + "_GroupE-2nd"), M[4]), StringEntry((H + "_GroupF-1st"), L[5]), StringEntry((H + "_GroupF-2nd"), L[5]), StringEntry((H + "_GroupG-1st"), L[6]), StringEntry((H + "_GroupG-2nd"), M[6]), StringEntry((H + "_GroupH-1st"), L[7]), StringEntry((H + "_GroupH-2nd"), L[7]), StringEntry((H + "_Octo1-winner"), N[0]), StringEntry((H + "_Octo2-winner"), N[1]), StringEntry((H + "_Octo3-winner"), N[2]), StringEntry((H + "_Octo4-winner"), N[3]), StringEntry((H + "_Octo5-winner"), N[4]), StringEntry((H + "_Octo6-winner"), N[5]), StringEntry((H + "_Octo7-winner"), N[6]), StringEntry((H + "_Octo8-winner"), N[7]), StringEntry((H + "_Quarter1-winner"), O[0]), StringEntry((H + "_Quarter2-winner"), O[1]), StringEntry((H + "_Quarter3-winner"), O[2]), StringEntry((H + "_Quarter4-winner"), O[3]), StringEntry((H + "_Semi1-winner"), P[0]), StringEntry((H + "_Semi2-winner"), P[1]), StringEntry((H + "Final-winner"), D)] | |
120 | + | else throw("Incorrect data arrived in arguments") | |
121 | + | } | |
122 | + | else throw((("Attach exactly " + toString(K)) + " /100000000 Waves as payment")) | |
123 | + | else throw("Zero betAmount from contract storage") | |
124 | + | } | |
125 | + | else throw("Only Waves is allowed as payment asset to bet") | |
126 | + | else throw("Bet already made") | |
127 | + | else throw("Betting closed") | |
122 | 128 | } | |
123 | 129 | ||
124 | 130 | ||
125 | 131 | ||
126 | 132 | @Callable(m) | |
127 | 133 | func deleteAddress (t) = { | |
128 | - | let | |
134 | + | let H = toString(m.caller) | |
129 | 135 | if (q(m.callerPublicKey)) | |
130 | - | then [DeleteEntry(( | |
136 | + | then [DeleteEntry((H + "_betted")), DeleteEntry((H + "_height")), DeleteEntry((H + "_GroupA-1st")), DeleteEntry((H + "_GroupA-2nd")), DeleteEntry((H + "_GroupB-1st")), DeleteEntry((H + "_GroupB-2nd")), DeleteEntry((H + "_GroupC-1st")), DeleteEntry((H + "_GroupC-2nd")), DeleteEntry((H + "_GroupD-1st")), DeleteEntry((H + "_GroupD-2nd")), DeleteEntry((H + "_GroupE-1st")), DeleteEntry((H + "_GroupE-2nd")), DeleteEntry((H + "_GroupF-1st")), DeleteEntry((H + "_GroupF-2nd")), DeleteEntry((H + "_GroupG-1st")), DeleteEntry((H + "_GroupG-2nd")), DeleteEntry((H + "_GroupH-1st")), DeleteEntry((H + "_GroupH-2nd")), DeleteEntry((H + "_Octo1-winner")), DeleteEntry((H + "_Octo2-winner")), DeleteEntry((H + "_Octo3-winner")), DeleteEntry((H + "_Octo4-winner")), DeleteEntry((H + "_Octo5-winner")), DeleteEntry((H + "_Octo6-winner")), DeleteEntry((H + "_Octo7-winner")), DeleteEntry((H + "_Octo8-winner")), DeleteEntry((H + "_Quarter1-winner")), DeleteEntry((H + "_Quarter2-winner")), DeleteEntry((H + "_Quarter3-winner")), DeleteEntry((H + "_Quarter4-winner")), DeleteEntry((H + "_Semi1-winner")), DeleteEntry((H + "_Semi2-winner")), DeleteEntry((H + "Final-winner"))] | |
131 | 137 | else throw("Only admin") | |
132 | 138 | } | |
133 | 139 | ||
134 | 140 | ||
135 | - | @Verifier( | |
136 | - | func | |
141 | + | @Verifier(Q) | |
142 | + | func R () = sigVerify(Q.bodyBytes, Q.proofs[0], Q.senderPublicKey) | |
137 | 143 |
github/deemru/w8io/026f985 142.54 ms ◑