tx · D1LXPPZNTjX4fgKEm4FJXsWs2p3gfxv3afRvrgizTxgC

3N33da2nqrqyBQgBkrpYhUVyzmS2bjZvepH:  -0.01300000 Waves

2024.08.26 12:06 [3255649] smart account 3N33da2nqrqyBQgBkrpYhUVyzmS2bjZvepH > SELF 0.00000000 Waves

{ "type": 13, "id": "D1LXPPZNTjX4fgKEm4FJXsWs2p3gfxv3afRvrgizTxgC", "fee": 1300000, "feeAssetId": null, "timestamp": 1724663261682, "version": 2, "chainId": 84, "sender": "3N33da2nqrqyBQgBkrpYhUVyzmS2bjZvepH", "senderPublicKey": "239f6DdWGZWnw9VwYUYPnK1MeEvAymD9U5pfrBYpjPLS", "proofs": [ "67abekfWmj2jiC3GmPTNTNQv9kbo1WP13PTLmkdgFnYRFAV32RLgGzzyUSaAtR8j7bAu2Jhkc5on4f2ohfBfn8VE" ], "script": "base64:BwJTCAISBgoECAgCARIECgIICBIECgIIARIECgIIBBIECgIIAhIDCgEIEgUKAwIBBBIECgICARIFCgMCAQISBQoDAhIREgQKAgIBEgQKAggYEgMKAQgYAAlzZXBhcmF0b3ICAl9fAAdjaGFpbklkCQDJAQIJAMoBAggFBHRoaXMFYnl0ZXMAAQABAAhjaGFpbklkVwEBVwAQY29udHJhY3RGaWxlbmFtZQIUZnV0dXJlc19mYWN0b3J5LnJpZGUACWtNdWx0aXNpZwIMJXNfX211bHRpc2lnAQdrU3RhdHVzAgRkYXBwBHR4SWQJALkJAgkAzAgCAgolc19fc3RhdHVzCQDMCAIFBGRhcHAJAMwIAgUEdHhJZAUDbmlsBQlzZXBhcmF0b3IACWtTaHV0ZG93bgIMJXNfX3NodXRkb3duAAhzaHV0ZG93bgkBC3ZhbHVlT3JFbHNlAgkAoAgBBQlrU2h1dGRvd24HAQ92YWxpZGF0ZUFkZHJlc3MBB2FkZHJlc3MJAQlpc0RlZmluZWQBCQCmCAEFB2FkZHJlc3MBB3dyYXBFcnIBAXMJAKwCAgkArAICBRBjb250cmFjdEZpbGVuYW1lAgI6IAUBcwEIdGhyb3dFcnIBAXMJAAIBCQEHd3JhcEVycgEFAXMAEWtNYXRjaGVyUHVibGljS2V5AhQlc19fbWF0Y2hlclB1YmxpY0tleQASa0NhbGN1bGF0b3JBZGRyZXNzAhUlc19fY2FsY3VsYXRvckFkZHJlc3MAF2NhbGN1bGF0b3JBZGRyZXNzT3B0aW9uBAckbWF0Y2gwCQCdCAIFBHRoaXMFEmtDYWxjdWxhdG9yQWRkcmVzcwMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAJAKYIAQUBcwMJAAECBQckbWF0Y2gwAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IAEWNhbGN1bGF0b3JBZGRyZXNzCQETdmFsdWVPckVycm9yTWVzc2FnZQIFF2NhbGN1bGF0b3JBZGRyZXNzT3B0aW9uCQEHd3JhcEVycgECGmludmFsaWQgY2FsY3VsYXRvciBhZGRyZXNzAA5rQWNjb3VudFNjcmlwdAIRJXNfX2FjY291bnRTY3JpcHQADWtSZXdhcmRBbW91bnQCECVzX19yZXdhcmRBbW91bnQBC211c3RBZGRyZXNzAgFpB2FkZHJlc3MDCQAAAggFAWkGY2FsbGVyBQdhZGRyZXNzBgkBCHRocm93RXJyAQIRcGVybWlzc2lvbiBkZW5pZWQBCG11c3RUaGlzAQFpCQELbXVzdEFkZHJlc3MCBQFpBQR0aGlzAQ5tdXN0Q2FsY3VsYXRvcgEBaQkBC211c3RBZGRyZXNzAgUBaQURY2FsY3VsYXRvckFkZHJlc3MAC3dhdmVzU3RyaW5nAgVXQVZFUwANcXVldWVJdGVtU2l6ZQAgAQxwYXJzZUFzc2V0SWQBBWlucHV0AwkAAAIFBWlucHV0BQt3YXZlc1N0cmluZwUEdW5pdAkA2QQBBQVpbnB1dAEPYXNzZXRJZFRvU3RyaW5nAQVpbnB1dAMJAAACBQVpbnB1dAUEdW5pdAULd2F2ZXNTdHJpbmcJANgEAQkBBXZhbHVlAQUFaW5wdXQNAWkBBGluaXQEFGNhbGN1bGF0b3JBZGRyZXNzU3RyE21hdGNoZXJQdWJsaWNLZXlTdHINYWNjb3VudFNjcmlwdAxyZXdhcmRBbW91bnQEC2NoZWNrQ2FsbGVyCQEIbXVzdFRoaXMBBQFpAwkAAAIFC2NoZWNrQ2FsbGVyBQtjaGVja0NhbGxlcgkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIFEmtDYWxjdWxhdG9yQWRkcmVzcwUUY2FsY3VsYXRvckFkZHJlc3NTdHIJAMwIAgkBC1N0cmluZ0VudHJ5AgURa01hdGNoZXJQdWJsaWNLZXkFE21hdGNoZXJQdWJsaWNLZXlTdHIJAMwIAgkBC0JpbmFyeUVudHJ5AgUOa0FjY291bnRTY3JpcHQFDWFjY291bnRTY3JpcHQJAMwIAgkBDEludGVnZXJFbnRyeQIFDWtSZXdhcmRBbW91bnQFDHJld2FyZEFtb3VudAUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBC3N0cmluZ0VudHJ5AgNrZXkDdmFsAwMJAQEhAQUIc2h1dGRvd24JAQ5tdXN0Q2FsY3VsYXRvcgEFAWkHCQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgUDa2V5BQN2YWwFA25pbAUDa2V5CQEIdGhyb3dFcnIBAgtub3QgYWxsb3dlZAFpAQxpbnRlZ2VyRW50cnkCA2tleQN2YWwDAwkBASEBBQhzaHV0ZG93bgkBDm11c3RDYWxjdWxhdG9yAQUBaQcJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUDa2V5BQN2YWwFA25pbAUDa2V5CQEIdGhyb3dFcnIBAgtub3QgYWxsb3dlZAFpAQxib29sZWFuRW50cnkCA2tleQN2YWwDAwkBASEBBQhzaHV0ZG93bgkBDm11c3RDYWxjdWxhdG9yAQUBaQcJAJQKAgkAzAgCCQEMQm9vbGVhbkVudHJ5AgUDa2V5BQN2YWwFA25pbAUDa2V5CQEIdGhyb3dFcnIBAgtub3QgYWxsb3dlZAFpAQtiaW5hcnlFbnRyeQIDa2V5A3ZhbAMDCQEBIQEFCHNodXRkb3duCQEObXVzdENhbGN1bGF0b3IBBQFpBwkAlAoCCQDMCAIJAQtCaW5hcnlFbnRyeQIFA2tleQUDdmFsBQNuaWwFA2tleQkBCHRocm93RXJyAQILbm90IGFsbG93ZWQBaQELZGVsZXRlRW50cnkBA2tleQMDCQEBIQEFCHNodXRkb3duCQEObXVzdENhbGN1bGF0b3IBBQFpBwkAlAoCCQDMCAIJAQtEZWxldGVFbnRyeQEFA2tleQUDbmlsBQNrZXkJAQh0aHJvd0VycgECC25vdCBhbGxvd2VkAWkBB3JlaXNzdWUDB2Fzc2V0SWQGYW1vdW50CnJlaXNzdWFibGUDAwkBASEBBQhzaHV0ZG93bgkBDm11c3RDYWxjdWxhdG9yAQUBaQcJAJQKAgkAzAgCCQEHUmVpc3N1ZQMFB2Fzc2V0SWQFBmFtb3VudAUKcmVpc3N1YWJsZQUDbmlsBQZhbW91bnQJAQh0aHJvd0VycgECC25vdCBhbGxvd2VkAWkBBGJ1cm4CB2Fzc2V0SWQGYW1vdW50AwMJAQEhAQUIc2h1dGRvd24JAQ5tdXN0Q2FsY3VsYXRvcgEFAWkHCQCUCgIJAMwIAgkBBEJ1cm4CBQdhc3NldElkBQZhbW91bnQFA25pbAUGYW1vdW50CQEIdGhyb3dFcnIBAgtub3QgYWxsb3dlZAFpAQ10cmFuc2ZlckFzc2V0Aw5yZWNpcGllbnRCeXRlcwZhbW91bnQHYXNzZXRJZAMDCQEBIQEFCHNodXRkb3duCQEObXVzdENhbGN1bGF0b3IBBQFpBwkAlAoCCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQUOcmVjaXBpZW50Qnl0ZXMFBmFtb3VudAUHYXNzZXRJZAUDbmlsBQZhbW91bnQJAQh0aHJvd0VycgECC25vdCBhbGxvd2VkAWkBDnRyYW5zZmVyQXNzZXRzAw5yZWNpcGllbnRCeXRlcwphc3NldHNMaXN0C2Ftb3VudHNMaXN0AwMJAQEhAQUIc2h1dGRvd24JAQ5tdXN0Q2FsY3VsYXRvcgEFAWkHCgEOYWRkTmV3VHJhbnNmZXICA2FjYwtuZXh0QXNzZXRJZAQLJHQwMzY2OTM2OTMFA2FjYwQJdHJhbnNmZXJzCAULJHQwMzY2OTM2OTMCXzEEAWoIBQskdDAzNjY5MzY5MwJfMgQLbmV3VHJhbnNmZXIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQUOcmVjaXBpZW50Qnl0ZXMJAJEDAgULYW1vdW50c0xpc3QFAWoJAJEDAgUKYXNzZXRzTGlzdAUBagQQdXBkYXRlZFRyYW5zZmVycwkAzQgCBQl0cmFuc2ZlcnMFC25ld1RyYW5zZmVyCQCUCgIFEHVwZGF0ZWRUcmFuc2ZlcnMJAGQCBQFqAAEECyR0MDM5MTk0MDAwCgACJGwFCmFzc2V0c0xpc3QKAAIkcwkAkAMBBQIkbAoABSRhY2MwCQCUCgIFA25pbAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQ5hZGROZXdUcmFuc2ZlcgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgQPYXNzZXRzVHJhbnNmZXJzCAULJHQwMzkxOTQwMDACXzEECl9sYXN0SW5kZXgIBQskdDAzOTE5NDAwMAJfMgkAlAoCBQ9hc3NldHNUcmFuc2ZlcnMFBHVuaXQJAQh0aHJvd0VycgECC25vdCBhbGxvd2VkAWkBDXRyYW5zZmVyV2F2ZXMCDnJlY2lwaWVudEJ5dGVzBmFtb3VudAMDCQEBIQEFCHNodXRkb3duCQEObXVzdENhbGN1bGF0b3IBBQFpBwkAlAoCCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQUOcmVjaXBpZW50Qnl0ZXMFBmFtb3VudAUEdW5pdAUDbmlsBQZhbW91bnQJAQh0aHJvd0VycgECC25vdCBhbGxvd2VkAWkBBGNhbGwCCGZ1bmN0aW9uBGFyZ3MEDWNsZWFuUGF5bWVudHMDCQAAAggFAWkPY2FsbGVyUHVibGljS2V5ASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUDbmlsCAUBaQhwYXltZW50cwQGcmVzdWx0CQD9BwQFEWNhbGN1bGF0b3JBZGRyZXNzBQhmdW5jdGlvbgkAzAgCCAUBaQ9jYWxsZXJQdWJsaWNLZXkJAMwIAgUEYXJncwUDbmlsBQ1jbGVhblBheW1lbnRzCQCUCgIFA25pbAUGcmVzdWx0AWkBC3NldE11bHRpc2lnAQhtdWx0aXNpZwQGY2hlY2tzCQDMCAIJAQhtdXN0VGhpcwEFAWkJAMwIAgMJAQ92YWxpZGF0ZUFkZHJlc3MBBQhtdWx0aXNpZwYJAQh0aHJvd0VycgECJXNldE11bHRpc2lnOiBpbnZhbGlkIG11bHRpc2lnIGFkZHJlc3MJAMwIAgMJAQIhPQIFCG11bHRpc2lnCQClCAEFBHRoaXMGCQEIdGhyb3dFcnIBAjdzZXRNdWx0aXNpZzogZmFjdG9yeSBhZGRyZXNzIGNhbm5vdCBiZSBtdWx0aXNpZyBhZGRyZXNzBQNuaWwDCQAAAgUGY2hlY2tzBQZjaGVja3MJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQlrTXVsdGlzaWcFCG11bHRpc2lnBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnR4AQZ2ZXJpZnkABAlzaWduQ2hlY2sJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXkEByRtYXRjaDAJAJ0IAgUEdGhpcwUJa011bHRpc2lnAwkAAQIFByRtYXRjaDACBlN0cmluZwQIbXVsdGlzaWcFByRtYXRjaDADAwkBAiE9AgUIbXVsdGlzaWcJAKUIAQUEdGhpcwkBD3ZhbGlkYXRlQWRkcmVzcwEFCG11bHRpc2lnBwQJc3RhdHVzS2V5CQEHa1N0YXR1cwIJAKUIAQUEdGhpcwkA2AQBCAUCdHgCaWQEBnN0YXR1cwkBC3ZhbHVlT3JFbHNlAgkAmwgCCQERQGV4dHJOYXRpdmUoMTA2MikBBQhtdWx0aXNpZwUJc3RhdHVzS2V5BwUGc3RhdHVzBQlzaWduQ2hlY2sFCXNpZ25DaGVja3Tt95U=", "height": 3255649, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4tpbHcBskjhu3ziBux1qYSHNeb5arGuVBbiZRLtneTaG Next: none Diff:
OldNewDifferences
216216 func setMultisig (ao) = {
217217 let ap = [y(x), if (k(ao))
218218 then true
219- else o("setMultisig: invalid multisig address")]
219+ else o("setMultisig: invalid multisig address"), if ((ao != toString(this)))
220+ then true
221+ else o("setMultisig: factory address cannot be multisig address")]
220222 if ((ap == ap))
221223 then $Tuple2([StringEntry(e, ao)], unit)
222224 else throw("Strict value is not equal to itself.")
225227
226228 @Verifier(aq)
227229 func ar () = {
228- let s = getString(e)
230+ let as = sigVerify(aq.bodyBytes, aq.proofs[0], aq.senderPublicKey)
231+ let s = getString(this, e)
229232 if ($isInstanceOf(s, "String"))
230233 then {
231234 let ao = s
232- let as = f(toString(this), toBase58String(aq.id))
233- let at = valueOrElse(getBoolean(addressFromStringValue(ao), as), false)
234- at
235+ if (if ((ao != toString(this)))
236+ then k(ao)
237+ else false)
238+ then {
239+ let at = f(toString(this), toBase58String(aq.id))
240+ let au = valueOrElse(getBoolean(addressFromStringValue(ao), at), false)
241+ au
242+ }
243+ else as
235244 }
236- else sigVerify(aq.bodyBytes, aq.proofs[0], aq.senderPublicKey)
245+ else as
237246 }
238247
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 7 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = take(drop(this.bytes, 1), 1)
77
88 let c = base58'2W'
99
1010 let d = "futures_factory.ride"
1111
1212 let e = "%s__multisig"
1313
1414 func f (g,h) = makeString(["%s__status", g, h], a)
1515
1616
1717 let i = "%s__shutdown"
1818
1919 let j = valueOrElse(getBoolean(i), false)
2020
2121 func k (l) = isDefined(addressFromString(l))
2222
2323
2424 func m (n) = ((d + ": ") + n)
2525
2626
2727 func o (n) = throw(m(n))
2828
2929
3030 let p = "%s__matcherPublicKey"
3131
3232 let q = "%s__calculatorAddress"
3333
3434 let r = {
3535 let s = getString(this, q)
3636 if ($isInstanceOf(s, "String"))
3737 then {
3838 let n = s
3939 addressFromString(n)
4040 }
4141 else if ($isInstanceOf(s, "Unit"))
4242 then unit
4343 else throw("Match error")
4444 }
4545
4646 let t = valueOrErrorMessage(r, m("invalid calculator address"))
4747
4848 let u = "%s__accountScript"
4949
5050 let v = "%s__rewardAmount"
5151
5252 func w (x,l) = if ((x.caller == l))
5353 then true
5454 else o("permission denied")
5555
5656
5757 func y (x) = w(x, this)
5858
5959
6060 func z (x) = w(x, t)
6161
6262
6363 let A = "WAVES"
6464
6565 let B = 32
6666
6767 func C (D) = if ((D == A))
6868 then unit
6969 else fromBase58String(D)
7070
7171
7272 func E (D) = if ((D == unit))
7373 then A
7474 else toBase58String(value(D))
7575
7676
7777 @Callable(x)
7878 func init (F,G,H,I) = {
7979 let J = y(x)
8080 if ((J == J))
8181 then $Tuple2([StringEntry(q, F), StringEntry(p, G), BinaryEntry(u, H), IntegerEntry(v, I)], unit)
8282 else throw("Strict value is not equal to itself.")
8383 }
8484
8585
8686
8787 @Callable(x)
8888 func stringEntry (K,L) = if (if (!(j))
8989 then z(x)
9090 else false)
9191 then $Tuple2([StringEntry(K, L)], K)
9292 else o("not allowed")
9393
9494
9595
9696 @Callable(x)
9797 func integerEntry (K,L) = if (if (!(j))
9898 then z(x)
9999 else false)
100100 then $Tuple2([IntegerEntry(K, L)], K)
101101 else o("not allowed")
102102
103103
104104
105105 @Callable(x)
106106 func booleanEntry (K,L) = if (if (!(j))
107107 then z(x)
108108 else false)
109109 then $Tuple2([BooleanEntry(K, L)], K)
110110 else o("not allowed")
111111
112112
113113
114114 @Callable(x)
115115 func binaryEntry (K,L) = if (if (!(j))
116116 then z(x)
117117 else false)
118118 then $Tuple2([BinaryEntry(K, L)], K)
119119 else o("not allowed")
120120
121121
122122
123123 @Callable(x)
124124 func deleteEntry (K) = if (if (!(j))
125125 then z(x)
126126 else false)
127127 then $Tuple2([DeleteEntry(K)], K)
128128 else o("not allowed")
129129
130130
131131
132132 @Callable(x)
133133 func reissue (M,N,O) = if (if (!(j))
134134 then z(x)
135135 else false)
136136 then $Tuple2([Reissue(M, N, O)], N)
137137 else o("not allowed")
138138
139139
140140
141141 @Callable(x)
142142 func burn (M,N) = if (if (!(j))
143143 then z(x)
144144 else false)
145145 then $Tuple2([Burn(M, N)], N)
146146 else o("not allowed")
147147
148148
149149
150150 @Callable(x)
151151 func transferAsset (P,N,M) = if (if (!(j))
152152 then z(x)
153153 else false)
154154 then $Tuple2([ScriptTransfer(Address(P), N, M)], N)
155155 else o("not allowed")
156156
157157
158158
159159 @Callable(x)
160160 func transferAssets (P,Q,R) = if (if (!(j))
161161 then z(x)
162162 else false)
163163 then {
164164 func S (T,U) = {
165165 let V = T
166166 let W = V._1
167167 let X = V._2
168168 let Y = ScriptTransfer(Address(P), R[X], Q[X])
169169 let Z = (W :+ Y)
170170 $Tuple2(Z, (X + 1))
171171 }
172172
173173 let aa = {
174174 let ab = Q
175175 let ac = size(ab)
176176 let ad = $Tuple2(nil, 0)
177177 func ae (af,ag) = if ((ag >= ac))
178178 then af
179179 else S(af, ab[ag])
180180
181181 func ah (af,ag) = if ((ag >= ac))
182182 then af
183183 else throw("List size exceeds 10")
184184
185185 ah(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ad, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
186186 }
187187 let ai = aa._1
188188 let aj = aa._2
189189 $Tuple2(ai, unit)
190190 }
191191 else o("not allowed")
192192
193193
194194
195195 @Callable(x)
196196 func transferWaves (P,N) = if (if (!(j))
197197 then z(x)
198198 else false)
199199 then $Tuple2([ScriptTransfer(Address(P), N, unit)], N)
200200 else o("not allowed")
201201
202202
203203
204204 @Callable(x)
205205 func call (ak,al) = {
206206 let am = if ((x.callerPublicKey == base58'11111111111111111111111111111111'))
207207 then nil
208208 else x.payments
209209 let an = reentrantInvoke(t, ak, [x.callerPublicKey, al], am)
210210 $Tuple2(nil, an)
211211 }
212212
213213
214214
215215 @Callable(x)
216216 func setMultisig (ao) = {
217217 let ap = [y(x), if (k(ao))
218218 then true
219- else o("setMultisig: invalid multisig address")]
219+ else o("setMultisig: invalid multisig address"), if ((ao != toString(this)))
220+ then true
221+ else o("setMultisig: factory address cannot be multisig address")]
220222 if ((ap == ap))
221223 then $Tuple2([StringEntry(e, ao)], unit)
222224 else throw("Strict value is not equal to itself.")
223225 }
224226
225227
226228 @Verifier(aq)
227229 func ar () = {
228- let s = getString(e)
230+ let as = sigVerify(aq.bodyBytes, aq.proofs[0], aq.senderPublicKey)
231+ let s = getString(this, e)
229232 if ($isInstanceOf(s, "String"))
230233 then {
231234 let ao = s
232- let as = f(toString(this), toBase58String(aq.id))
233- let at = valueOrElse(getBoolean(addressFromStringValue(ao), as), false)
234- at
235+ if (if ((ao != toString(this)))
236+ then k(ao)
237+ else false)
238+ then {
239+ let at = f(toString(this), toBase58String(aq.id))
240+ let au = valueOrElse(getBoolean(addressFromStringValue(ao), at), false)
241+ au
242+ }
243+ else as
235244 }
236- else sigVerify(aq.bodyBytes, aq.proofs[0], aq.senderPublicKey)
245+ else as
237246 }
238247

github/deemru/w8io/026f985 
33.98 ms