tx · J2ZpT9x14Z8aVTcvw6vugUMkwoTdtQ1WWamPu7oGmW8N

3PQSNFDHREQJyjgoNej87kKse7YoztHKh7w:  -0.01400000 Waves

2021.08.23 20:46 [2736176] smart account 3PQSNFDHREQJyjgoNej87kKse7YoztHKh7w > SELF 0.00000000 Waves

{ "type": 13, "id": "J2ZpT9x14Z8aVTcvw6vugUMkwoTdtQ1WWamPu7oGmW8N", "fee": 1400000, "feeAssetId": null, "timestamp": 1629740750476, "version": 2, "chainId": 87, "sender": "3PQSNFDHREQJyjgoNej87kKse7YoztHKh7w", "senderPublicKey": "8p4smwyoFPNEbTownNGEq4dcNU5RdsTYXfsLYjsLRPyW", "proofs": [ "3oZvxL29RR3CwabNn9spQN6TdgXnjCFJjdL93BLHRSTFJ2Lm7XuNuouci1cYryoykFAFhQeNwnMVBdz1cWPrikJk" ], "script": "base64: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", "height": 2736176, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9fkWEowh8vgzZkq2fTwJVbrwzgb8yDjqv9W1FgZ9PyzK Next: 8WrZYjgCQ87ey6AN6xspuoze936JwRVTAWKuX6Jeffca Diff:
OldNewDifferences
33 {-# CONTENT_TYPE DAPP #-}
44 let WU = addressFromStringValue(value("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG"))
55
6-let SW = addressFromStringValue(value("3PH8Np6jwuoikvkHL2qmdpFEHBR4UV5vwSq"))
6+let SW = addressFromStringValue(value("3PNVFWopwCD9CgGXkpYWEY94oQ5XCAEXBmQ"))
77
8-let SU = addressFromStringValue(value("3P27S9V36kw2McjWRZ37AxTx8iwkd7HXw6W"))
8+let SU = addressFromStringValue(value("3PEeJQRJT4v4XvSUBPmxhdWKz439nae7KtQ"))
99
1010 let W = unit
1111
1212 let U = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
1313
14-let S = base58'Ehie5xYpeN8op1Cctc6aGUrqx8jq3jtf1DSjXDbfm7aT'
14+let S = base58'JCGDtrVy64cCJ1wCKfCaiNQMnyYwii71TbE5QeAHfxgF'
1515
1616 let admin = addressFromStringValue("3P8aVZUaDcrnSMA3Ui2ji7pPJrx3kmW44AM")
1717
1818 let scale8 = 100000000
1919
20+let commissionScaleDelimiter = 1000000
21+
22+let commission = 3000
23+
24+func fees (from,to,amnt) = {
25+ let amountWithoutFee = fraction(to, amnt, (amnt + from))
26+ let amountWithFee = fraction(amountWithoutFee, (commissionScaleDelimiter - commission), commissionScaleDelimiter)
27+ amountWithFee
28+ }
29+
30+
2031 @Callable(i)
2132 func call1 (amnt,min) = if ((i.caller != admin))
2233 then throw("only admin")
2334 else {
24- let bbu = assetBalance(this, U)
25- let bbw = wavesBalance(this).available
26- let bbs = assetBalance(this, S)
27- if (if (if ((bbu == bbu))
28- then (bbw == bbw)
29- else false)
30- then (bbs == bbs)
31- else false)
35+ let e1a = getIntegerValue(WU, "A_asset_balance")
36+ if ((e1a == e1a))
3237 then {
33- let swap1 = invoke(WU, "exchange", [1], [AttachedPayment(W, (amnt * scale8))])
34- if ((swap1 == swap1))
38+ let e1b = getIntegerValue(WU, "B_asset_balance")
39+ if ((e1b == e1b))
3540 then {
36- let diffu = (assetBalance(this, U) - bbu)
37- if ((diffu == diffu))
41+ let e2a = getIntegerValue(SU, "A_asset_balance")
42+ if ((e2a == e2a))
3843 then {
39- let swap2 = invoke(SU, "exchange", [1], [AttachedPayment(U, diffu)])
40- if ((swap2 == swap2))
44+ let e2b = getIntegerValue(SU, "B_asset_balance")
45+ if ((e2b == e2b))
4146 then {
42- let diffs = (assetBalance(this, S) - bbs)
43- if ((diffs == diffs))
47+ let e3a = getIntegerValue(SW, "A_asset_balance")
48+ if ((e3a == e3a))
4449 then {
45- let swap3 = invoke(SW, "exchange", [1], [AttachedPayment(S, diffs)])
46- if ((swap3 == swap3))
50+ let e3b = getIntegerValue(SW, "B_asset_balance")
51+ if ((e3b == e3b))
4752 then {
48- let diffw = (wavesBalance(this).available - bbw)
49- if ((diffw == diffw))
50- then if ((diffw > min))
51- then nil
52- else throw(toString(diffw))
53- else throw("strict value what the fuck")
53+ let bbu = assetBalance(this, U)
54+ if ((bbu == bbu))
55+ then {
56+ let bbw = wavesBalance(this).available
57+ if ((bbw == bbw))
58+ then {
59+ let bbs = assetBalance(this, S)
60+ if ((bbs == bbs))
61+ then {
62+ let difu = fees(e1a, e1b, amnt)
63+ if ((difu == difu))
64+ then {
65+ let difs = fees(e2b, e2a, difu)
66+ if ((difs == difs))
67+ then {
68+ let difw = fees(e3a, e3b, difs)
69+ if ((difw == difw))
70+ then if ((difw > (amnt + min)))
71+ then {
72+ let swap1 = invoke(WU, "exchange", [1], [AttachedPayment(W, amnt)])
73+ if ((swap1 == swap1))
74+ then {
75+ let diffu = (assetBalance(this, U) - bbu)
76+ if ((diffu == diffu))
77+ then {
78+ let swap2 = invoke(SU, "exchange", [1], [AttachedPayment(U, diffu)])
79+ if ((swap2 == swap2))
80+ then {
81+ let diffs = (assetBalance(this, S) - bbs)
82+ if ((diffs == diffs))
83+ then {
84+ let swap3 = invoke(SW, "exchange", [1], [AttachedPayment(S, diffs)])
85+ if ((swap3 == swap3))
86+ then {
87+ let diffw = (wavesBalance(this).available - bbw)
88+ if ((diffw == diffw))
89+ then if ((diffw > min))
90+ then nil
91+ else throw(("diffw " + toString(diffw)))
92+ else throw("Strict value is not equal to itself.")
93+ }
94+ else throw("Strict value is not equal to itself.")
95+ }
96+ else throw("Strict value is not equal to itself.")
97+ }
98+ else throw("Strict value is not equal to itself.")
99+ }
100+ else throw("Strict value is not equal to itself.")
101+ }
102+ else throw("Strict value is not equal to itself.")
103+ }
104+ else throw(((((("difu= " + toString(difu)) + " / difs= ") + toString(difs)) + " / difw= ") + toString((amnt - difw))))
105+ else throw("Strict value is not equal to itself.")
106+ }
107+ else throw("Strict value is not equal to itself.")
108+ }
109+ else throw("Strict value is not equal to itself.")
110+ }
111+ else throw("Strict value is not equal to itself.")
112+ }
113+ else throw("Strict value is not equal to itself.")
114+ }
115+ else throw("Strict value is not equal to itself.")
54116 }
55- else throw("strict value what the fuck")
117+ else throw("Strict value is not equal to itself.")
56118 }
57- else throw("strict value what the fuck")
119+ else throw("Strict value is not equal to itself.")
58120 }
59- else throw("strict value what the fuck")
121+ else throw("Strict value is not equal to itself.")
60122 }
61- else throw("strict value what the fuck")
123+ else throw("Strict value is not equal to itself.")
62124 }
63- else throw("strict value what the fuck")
125+ else throw("Strict value is not equal to itself.")
64126 }
65- else throw("Strict value is not equal to itself")
127+ else throw("Strict value is not equal to itself.")
66128 }
67129
68130
71133 func call2 (amnt,min) = if ((i.caller != admin))
72134 then throw("only admin")
73135 else {
74- let bbu = assetBalance(this, U)
75- let bbw = wavesBalance(this).available
76- let bbs = assetBalance(this, S)
77- if (if (if ((bbu == bbu))
78- then (bbw == bbw)
79- else false)
80- then (bbs == bbs)
81- else false)
136+ let e1a = getIntegerValue(WU, "A_asset_balance")
137+ if ((e1a == e1a))
82138 then {
83- let swap1 = invoke(SW, "exchange", [1], [AttachedPayment(W, (amnt * scale8))])
84- if ((swap1 == swap1))
139+ let e1b = getIntegerValue(WU, "B_asset_balance")
140+ if ((e1b == e1b))
85141 then {
86- let diffs = (assetBalance(this, S) - bbs)
87- if ((diffs == diffs))
142+ let e2a = getIntegerValue(SU, "A_asset_balance")
143+ if ((e2a == e2a))
88144 then {
89- let swap2 = invoke(SU, "exchange", [1], [AttachedPayment(S, diffs)])
90- if ((swap2 == swap2))
145+ let e2b = getIntegerValue(SU, "B_asset_balance")
146+ if ((e2b == e2b))
91147 then {
92- let diffu = (assetBalance(this, U) - bbu)
93- if ((diffu == diffu))
148+ let e3a = getIntegerValue(SW, "A_asset_balance")
149+ if ((e3a == e3a))
94150 then {
95- let swap3 = invoke(WU, "exchange", [1], [AttachedPayment(U, diffu)])
96- if ((swap3 == swap3))
151+ let e3b = getIntegerValue(SW, "B_asset_balance")
152+ if ((e3b == e3b))
97153 then {
98- let diffw = (wavesBalance(this).available - bbw)
99- if ((diffw == diffw))
100- then if ((diffw > min))
101- then nil
102- else throw(toString(diffw))
103- else throw("strict")
154+ let bbu = assetBalance(this, U)
155+ if ((bbu == bbu))
156+ then {
157+ let bbw = wavesBalance(this).available
158+ if ((bbw == bbw))
159+ then {
160+ let bbs = assetBalance(this, S)
161+ if ((bbs == bbs))
162+ then {
163+ let difs = fees(e3b, e3a, amnt)
164+ if ((difs == difs))
165+ then {
166+ let difu = fees(e2a, e2b, difs)
167+ if ((difu == difu))
168+ then {
169+ let difw = fees(e1b, e1a, difu)
170+ if ((difw == difw))
171+ then if ((difw > (amnt + min)))
172+ then {
173+ let swap1 = invoke(SW, "exchange", [1], [AttachedPayment(W, amnt)])
174+ if ((swap1 == swap1))
175+ then {
176+ let diffs = (assetBalance(this, S) - bbs)
177+ if ((diffs == diffs))
178+ then {
179+ let swap2 = invoke(SU, "exchange", [1], [AttachedPayment(U, diffs)])
180+ if ((swap2 == swap2))
181+ then {
182+ let diffu = (assetBalance(this, U) - bbu)
183+ if ((diffu == diffu))
184+ then {
185+ let swap3 = invoke(WU, "exchange", [1], [AttachedPayment(S, diffu)])
186+ if ((swap3 == swap3))
187+ then {
188+ let diffw = (wavesBalance(this).available - bbw)
189+ if ((diffw == diffw))
190+ then if ((diffw > min))
191+ then nil
192+ else throw(("diffw " + toString(diffw)))
193+ else throw("Strict value is not equal to itself.")
194+ }
195+ else throw("Strict value is not equal to itself.")
196+ }
197+ else throw("Strict value is not equal to itself.")
198+ }
199+ else throw("Strict value is not equal to itself.")
200+ }
201+ else throw("Strict value is not equal to itself.")
202+ }
203+ else throw("Strict value is not equal to itself.")
204+ }
205+ else throw(((((("difu= " + toString(difu)) + " / difs= ") + toString(difs)) + " / difw= ") + toString((amnt - difw))))
206+ else throw("Strict value is not equal to itself.")
207+ }
208+ else throw("Strict value is not equal to itself.")
209+ }
210+ else throw("Strict value is not equal to itself.")
211+ }
212+ else throw("Strict value is not equal to itself.")
213+ }
214+ else throw("Strict value is not equal to itself.")
215+ }
216+ else throw("Strict value is not equal to itself.")
104217 }
105- else throw("strict")
218+ else throw("Strict value is not equal to itself.")
106219 }
107- else throw("strict")
220+ else throw("Strict value is not equal to itself.")
108221 }
109- else throw("strict")
222+ else throw("Strict value is not equal to itself.")
110223 }
111- else throw("strict")
224+ else throw("Strict value is not equal to itself.")
112225 }
113- else throw("strict")
226+ else throw("Strict value is not equal to itself.")
114227 }
115- else throw("Strict")
228+ else throw("Strict value is not equal to itself.")
116229 }
117230
118231
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let WU = addressFromStringValue(value("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG"))
55
6-let SW = addressFromStringValue(value("3PH8Np6jwuoikvkHL2qmdpFEHBR4UV5vwSq"))
6+let SW = addressFromStringValue(value("3PNVFWopwCD9CgGXkpYWEY94oQ5XCAEXBmQ"))
77
8-let SU = addressFromStringValue(value("3P27S9V36kw2McjWRZ37AxTx8iwkd7HXw6W"))
8+let SU = addressFromStringValue(value("3PEeJQRJT4v4XvSUBPmxhdWKz439nae7KtQ"))
99
1010 let W = unit
1111
1212 let U = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
1313
14-let S = base58'Ehie5xYpeN8op1Cctc6aGUrqx8jq3jtf1DSjXDbfm7aT'
14+let S = base58'JCGDtrVy64cCJ1wCKfCaiNQMnyYwii71TbE5QeAHfxgF'
1515
1616 let admin = addressFromStringValue("3P8aVZUaDcrnSMA3Ui2ji7pPJrx3kmW44AM")
1717
1818 let scale8 = 100000000
1919
20+let commissionScaleDelimiter = 1000000
21+
22+let commission = 3000
23+
24+func fees (from,to,amnt) = {
25+ let amountWithoutFee = fraction(to, amnt, (amnt + from))
26+ let amountWithFee = fraction(amountWithoutFee, (commissionScaleDelimiter - commission), commissionScaleDelimiter)
27+ amountWithFee
28+ }
29+
30+
2031 @Callable(i)
2132 func call1 (amnt,min) = if ((i.caller != admin))
2233 then throw("only admin")
2334 else {
24- let bbu = assetBalance(this, U)
25- let bbw = wavesBalance(this).available
26- let bbs = assetBalance(this, S)
27- if (if (if ((bbu == bbu))
28- then (bbw == bbw)
29- else false)
30- then (bbs == bbs)
31- else false)
35+ let e1a = getIntegerValue(WU, "A_asset_balance")
36+ if ((e1a == e1a))
3237 then {
33- let swap1 = invoke(WU, "exchange", [1], [AttachedPayment(W, (amnt * scale8))])
34- if ((swap1 == swap1))
38+ let e1b = getIntegerValue(WU, "B_asset_balance")
39+ if ((e1b == e1b))
3540 then {
36- let diffu = (assetBalance(this, U) - bbu)
37- if ((diffu == diffu))
41+ let e2a = getIntegerValue(SU, "A_asset_balance")
42+ if ((e2a == e2a))
3843 then {
39- let swap2 = invoke(SU, "exchange", [1], [AttachedPayment(U, diffu)])
40- if ((swap2 == swap2))
44+ let e2b = getIntegerValue(SU, "B_asset_balance")
45+ if ((e2b == e2b))
4146 then {
42- let diffs = (assetBalance(this, S) - bbs)
43- if ((diffs == diffs))
47+ let e3a = getIntegerValue(SW, "A_asset_balance")
48+ if ((e3a == e3a))
4449 then {
45- let swap3 = invoke(SW, "exchange", [1], [AttachedPayment(S, diffs)])
46- if ((swap3 == swap3))
50+ let e3b = getIntegerValue(SW, "B_asset_balance")
51+ if ((e3b == e3b))
4752 then {
48- let diffw = (wavesBalance(this).available - bbw)
49- if ((diffw == diffw))
50- then if ((diffw > min))
51- then nil
52- else throw(toString(diffw))
53- else throw("strict value what the fuck")
53+ let bbu = assetBalance(this, U)
54+ if ((bbu == bbu))
55+ then {
56+ let bbw = wavesBalance(this).available
57+ if ((bbw == bbw))
58+ then {
59+ let bbs = assetBalance(this, S)
60+ if ((bbs == bbs))
61+ then {
62+ let difu = fees(e1a, e1b, amnt)
63+ if ((difu == difu))
64+ then {
65+ let difs = fees(e2b, e2a, difu)
66+ if ((difs == difs))
67+ then {
68+ let difw = fees(e3a, e3b, difs)
69+ if ((difw == difw))
70+ then if ((difw > (amnt + min)))
71+ then {
72+ let swap1 = invoke(WU, "exchange", [1], [AttachedPayment(W, amnt)])
73+ if ((swap1 == swap1))
74+ then {
75+ let diffu = (assetBalance(this, U) - bbu)
76+ if ((diffu == diffu))
77+ then {
78+ let swap2 = invoke(SU, "exchange", [1], [AttachedPayment(U, diffu)])
79+ if ((swap2 == swap2))
80+ then {
81+ let diffs = (assetBalance(this, S) - bbs)
82+ if ((diffs == diffs))
83+ then {
84+ let swap3 = invoke(SW, "exchange", [1], [AttachedPayment(S, diffs)])
85+ if ((swap3 == swap3))
86+ then {
87+ let diffw = (wavesBalance(this).available - bbw)
88+ if ((diffw == diffw))
89+ then if ((diffw > min))
90+ then nil
91+ else throw(("diffw " + toString(diffw)))
92+ else throw("Strict value is not equal to itself.")
93+ }
94+ else throw("Strict value is not equal to itself.")
95+ }
96+ else throw("Strict value is not equal to itself.")
97+ }
98+ else throw("Strict value is not equal to itself.")
99+ }
100+ else throw("Strict value is not equal to itself.")
101+ }
102+ else throw("Strict value is not equal to itself.")
103+ }
104+ else throw(((((("difu= " + toString(difu)) + " / difs= ") + toString(difs)) + " / difw= ") + toString((amnt - difw))))
105+ else throw("Strict value is not equal to itself.")
106+ }
107+ else throw("Strict value is not equal to itself.")
108+ }
109+ else throw("Strict value is not equal to itself.")
110+ }
111+ else throw("Strict value is not equal to itself.")
112+ }
113+ else throw("Strict value is not equal to itself.")
114+ }
115+ else throw("Strict value is not equal to itself.")
54116 }
55- else throw("strict value what the fuck")
117+ else throw("Strict value is not equal to itself.")
56118 }
57- else throw("strict value what the fuck")
119+ else throw("Strict value is not equal to itself.")
58120 }
59- else throw("strict value what the fuck")
121+ else throw("Strict value is not equal to itself.")
60122 }
61- else throw("strict value what the fuck")
123+ else throw("Strict value is not equal to itself.")
62124 }
63- else throw("strict value what the fuck")
125+ else throw("Strict value is not equal to itself.")
64126 }
65- else throw("Strict value is not equal to itself")
127+ else throw("Strict value is not equal to itself.")
66128 }
67129
68130
69131
70132 @Callable(i)
71133 func call2 (amnt,min) = if ((i.caller != admin))
72134 then throw("only admin")
73135 else {
74- let bbu = assetBalance(this, U)
75- let bbw = wavesBalance(this).available
76- let bbs = assetBalance(this, S)
77- if (if (if ((bbu == bbu))
78- then (bbw == bbw)
79- else false)
80- then (bbs == bbs)
81- else false)
136+ let e1a = getIntegerValue(WU, "A_asset_balance")
137+ if ((e1a == e1a))
82138 then {
83- let swap1 = invoke(SW, "exchange", [1], [AttachedPayment(W, (amnt * scale8))])
84- if ((swap1 == swap1))
139+ let e1b = getIntegerValue(WU, "B_asset_balance")
140+ if ((e1b == e1b))
85141 then {
86- let diffs = (assetBalance(this, S) - bbs)
87- if ((diffs == diffs))
142+ let e2a = getIntegerValue(SU, "A_asset_balance")
143+ if ((e2a == e2a))
88144 then {
89- let swap2 = invoke(SU, "exchange", [1], [AttachedPayment(S, diffs)])
90- if ((swap2 == swap2))
145+ let e2b = getIntegerValue(SU, "B_asset_balance")
146+ if ((e2b == e2b))
91147 then {
92- let diffu = (assetBalance(this, U) - bbu)
93- if ((diffu == diffu))
148+ let e3a = getIntegerValue(SW, "A_asset_balance")
149+ if ((e3a == e3a))
94150 then {
95- let swap3 = invoke(WU, "exchange", [1], [AttachedPayment(U, diffu)])
96- if ((swap3 == swap3))
151+ let e3b = getIntegerValue(SW, "B_asset_balance")
152+ if ((e3b == e3b))
97153 then {
98- let diffw = (wavesBalance(this).available - bbw)
99- if ((diffw == diffw))
100- then if ((diffw > min))
101- then nil
102- else throw(toString(diffw))
103- else throw("strict")
154+ let bbu = assetBalance(this, U)
155+ if ((bbu == bbu))
156+ then {
157+ let bbw = wavesBalance(this).available
158+ if ((bbw == bbw))
159+ then {
160+ let bbs = assetBalance(this, S)
161+ if ((bbs == bbs))
162+ then {
163+ let difs = fees(e3b, e3a, amnt)
164+ if ((difs == difs))
165+ then {
166+ let difu = fees(e2a, e2b, difs)
167+ if ((difu == difu))
168+ then {
169+ let difw = fees(e1b, e1a, difu)
170+ if ((difw == difw))
171+ then if ((difw > (amnt + min)))
172+ then {
173+ let swap1 = invoke(SW, "exchange", [1], [AttachedPayment(W, amnt)])
174+ if ((swap1 == swap1))
175+ then {
176+ let diffs = (assetBalance(this, S) - bbs)
177+ if ((diffs == diffs))
178+ then {
179+ let swap2 = invoke(SU, "exchange", [1], [AttachedPayment(U, diffs)])
180+ if ((swap2 == swap2))
181+ then {
182+ let diffu = (assetBalance(this, U) - bbu)
183+ if ((diffu == diffu))
184+ then {
185+ let swap3 = invoke(WU, "exchange", [1], [AttachedPayment(S, diffu)])
186+ if ((swap3 == swap3))
187+ then {
188+ let diffw = (wavesBalance(this).available - bbw)
189+ if ((diffw == diffw))
190+ then if ((diffw > min))
191+ then nil
192+ else throw(("diffw " + toString(diffw)))
193+ else throw("Strict value is not equal to itself.")
194+ }
195+ else throw("Strict value is not equal to itself.")
196+ }
197+ else throw("Strict value is not equal to itself.")
198+ }
199+ else throw("Strict value is not equal to itself.")
200+ }
201+ else throw("Strict value is not equal to itself.")
202+ }
203+ else throw("Strict value is not equal to itself.")
204+ }
205+ else throw(((((("difu= " + toString(difu)) + " / difs= ") + toString(difs)) + " / difw= ") + toString((amnt - difw))))
206+ else throw("Strict value is not equal to itself.")
207+ }
208+ else throw("Strict value is not equal to itself.")
209+ }
210+ else throw("Strict value is not equal to itself.")
211+ }
212+ else throw("Strict value is not equal to itself.")
213+ }
214+ else throw("Strict value is not equal to itself.")
215+ }
216+ else throw("Strict value is not equal to itself.")
104217 }
105- else throw("strict")
218+ else throw("Strict value is not equal to itself.")
106219 }
107- else throw("strict")
220+ else throw("Strict value is not equal to itself.")
108221 }
109- else throw("strict")
222+ else throw("Strict value is not equal to itself.")
110223 }
111- else throw("strict")
224+ else throw("Strict value is not equal to itself.")
112225 }
113- else throw("strict")
226+ else throw("Strict value is not equal to itself.")
114227 }
115- else throw("Strict")
228+ else throw("Strict value is not equal to itself.")
116229 }
117230
118231
119232 @Verifier(tx)
120233 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
121234

github/deemru/w8io/3ef1775 
74.16 ms