tx · Hp1wdc2UiufcY8jqewZQum8ir2vGC8YZN6jRS4Mj7JU3

3PEG7vR8BtaTw7K1b9nF8VsC4LpwPWrysqY:  -0.01400000 Waves

2020.04.04 17:00 [2002781] smart account 3PEG7vR8BtaTw7K1b9nF8VsC4LpwPWrysqY > SELF 0.00000000 Waves

{ "type": 13, "id": "Hp1wdc2UiufcY8jqewZQum8ir2vGC8YZN6jRS4Mj7JU3", "fee": 1400000, "feeAssetId": null, "timestamp": 1586008894693, "version": 1, "sender": "3PEG7vR8BtaTw7K1b9nF8VsC4LpwPWrysqY", "senderPublicKey": "HuwyEy7HsKLyXM3f2Ka11hJXnrKzfQ6fRGDUf6Fnfyar", "proofs": [ "StSazgrGRUsdSxUGVk6Cd7u8NcorUMQJL3C3zvHJ2bHrTiEGtVDCxeU8m68XGzEyiZ89YUvx89o7awHKa8YWxn4" ], "script": "base64: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AAluZXh0TW9udGgJAABoAAAAAgkAAGQAAAACCQAAaQAAAAIFAAAACmxhc3RVcGRhdGUFAAAABW1vbnRoAAAAAAAAAAABBQAAAAVtb250aAMJAQAAAAIhPQAAAAIIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQUAAAAQbWFuYWdlclB1YmxpY0tleQkAAAIAAAABAgAAACRPbmx5IGFkbWluaXN0cmF0b3IgY2FuIHNlbmQgcmV3YXJkcyEDCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAAWkAAAAHcGF5bWVudAkAAAIAAAABAgAAADJQbGVhc2UgZG8gbm90IGF0dGFjaCBwYXltZW50IHdoZW4gc2VuZGluZyByZXdhcmRzLgMDCQAAZgAAAAIFAAAACW5leHRNb250aAUAAAANbGFzdEJsb2NrVGltZQYJAABnAAAAAgUAAAANbGFzdEJsb2NrVGltZQkAAGQAAAACBQAAAA1tb250aE9wZW5UaW1lBQAAAAd0aW1lb3V0CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAABtSZXdhcmRzIG11c3QgYmUgc2VudCBhZnRlciAJAQAAAAx0b0RhdGVTdHJpbmcAAAABCQAAZAAAAAIFAAAADW1vbnRoT3BlblRpbWUFAAAABW1vbnRoAgAAAAEuBAAAAAlyZWNpcGllbnQJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAD3BheW91dFB1YmxpY0tleQQAAAALYmFzZUJhbGFuY2UJAAPrAAAAAgUAAAAEdGhpcwUAAAALYmFzZUFzc2V0SWQEAAAADHF1b3RlQmFsYW5jZQkAA+sAAAACBQAAAAR0aGlzBQAAAAxxdW90ZUFzc2V0SWQEAAAADm9sZEJhc2VCYWxhbmNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAAAxiYWxhbmNlX2Jhc2UEAAAAD29sZFF1b3RlQmFsYW5jZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAANYmFsYW5jZV9xdW90ZQQAAAAPb2xkVG90YWxCYWxhbmNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAAA1iYWxhbmNlX3RvdGFs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", "chainId": 87, "height": 2002781, "spentComplexity": 0 } View: original | compacted Prev: 7szZy6rioM66ppXMPSazbMhHLYaVZ2S7FtwQEqZtnr5A Next: Q63L2Ji4JKsamJ9i1VXJ2aZQRMuWGoV853Fwysodwmh Diff:
OldNewDifferences
1414 let managerPublicKey = base58'66BGZcJJ9yAWcHKZZeiuA71wAvC5GWTmdQWArjt1g6jC'
1515
1616 let guarantorPublicKeys = [base58'D45TbB3cBqreifQQdxGz2qUCyrCTmLJa9LpMQKbVNyQR']
17-
18-let feeAssetId = quoteAssetId
1917
2018 let priceAssetId = quoteAssetId
2119
106104 then throw("Only the administrator can adjust the balances!")
107105 else if (isDefined(i.payment))
108106 then throw("Please do not attach payment when setting balances.")
109- else if ((0 > total))
110- then throw("Negative total balance are not allowed...")
107+ else if ((0 >= total))
108+ then throw("Zero or negative balance are not allowed...")
111109 else {
112110 let baseBalance = assetBalance(this, baseAssetId)
113111 let quoteBalance = assetBalance(this, quoteAssetId)
114- let totalBalance = match getInteger(this, "balance_total") {
115- case x: Int =>
116- x
117- case _ =>
118- 0
119- }
120- if ((total > 0))
121- then WriteSet([DataEntry("balance_base", baseBalance), DataEntry("balance_quote", quoteBalance), DataEntry("balance_total", total), DataEntry("last_update", lastBlockTime)])
122- else if ((totalBalance > 0))
123- then WriteSet([DataEntry("balance_base", baseBalance), DataEntry("balance_quote", quoteBalance), DataEntry("last_update", lastBlockTime)])
124- else throw("Total balance not established...")
112+ WriteSet([DataEntry("balance_base", baseBalance), DataEntry("balance_quote", quoteBalance), DataEntry("balance_total", total), DataEntry("last_update", lastBlockTime)])
125113 }
126114
127115
137125 else if (if ((nextMonth > lastBlockTime))
138126 then true
139127 else (lastBlockTime >= (monthOpenTime + timeout)))
140- then throw((("The following rewards must be sent after " + toDateString((monthOpenTime + month))) + "."))
128+ then throw((("Rewards must be sent after " + toDateString((monthOpenTime + month))) + "."))
141129 else {
142130 let recipient = addressFromPublicKey(payoutPublicKey)
143131 let baseBalance = assetBalance(this, baseAssetId)
155143 if (if ((amount > 0))
156144 then (quoteBalance >= amount)
157145 else false)
158- then ScriptResult(WriteSet([DataEntry("balance_quote", (quoteBalance - amount)), DataEntry("last_update", lastBlockTime)]), TransferSet([ScriptTransfer(recipient, amount, quoteAssetId)]))
146+ then ScriptResult(WriteSet([DataEntry("last_update", lastBlockTime)]), TransferSet([ScriptTransfer(recipient, amount, quoteAssetId)]))
159147 else if ((amount > quoteBalance))
160148 then throw("Insufficient funds on the balance of quotes...")
161149 else throw("Zero or negative rewards are not allowed...")
200188 else sigVerify(tx.bodyBytes, proof, publicKey)
201189
202190 (sum + (if ({
203- let $list1132011362 = guarantorPublicKeys
204- let $size1132011362 = size($list1132011362)
205- let $acc01132011362 = false
206- if (($size1132011362 == 0))
207- then $acc01132011362
191+ let $list1065210694 = guarantorPublicKeys
192+ let $size1065210694 = size($list1065210694)
193+ let $acc01065210694 = false
194+ if (($size1065210694 == 0))
195+ then $acc01065210694
208196 else {
209- let $acc11132011362 = check($acc01132011362, $list1132011362[0])
210- if (($size1132011362 == 1))
211- then $acc11132011362
197+ let $acc11065210694 = check($acc01065210694, $list1065210694[0])
198+ if (($size1065210694 == 1))
199+ then $acc11065210694
212200 else {
213- let $acc21132011362 = check($acc11132011362, $list1132011362[1])
214- if (($size1132011362 == 2))
215- then $acc21132011362
201+ let $acc21065210694 = check($acc11065210694, $list1065210694[1])
202+ if (($size1065210694 == 2))
203+ then $acc21065210694
216204 else {
217- let $acc31132011362 = check($acc21132011362, $list1132011362[2])
218- if (($size1132011362 == 3))
219- then $acc31132011362
205+ let $acc31065210694 = check($acc21065210694, $list1065210694[2])
206+ if (($size1065210694 == 3))
207+ then $acc31065210694
220208 else {
221- let $acc41132011362 = check($acc31132011362, $list1132011362[3])
222- if (($size1132011362 == 4))
223- then $acc41132011362
209+ let $acc41065210694 = check($acc31065210694, $list1065210694[3])
210+ if (($size1065210694 == 4))
211+ then $acc41065210694
224212 else {
225- let $acc51132011362 = check($acc41132011362, $list1132011362[4])
226- if (($size1132011362 == 5))
227- then $acc51132011362
213+ let $acc51065210694 = check($acc41065210694, $list1065210694[4])
214+ if (($size1065210694 == 5))
215+ then $acc51065210694
228216 else {
229- let $acc61132011362 = check($acc51132011362, $list1132011362[5])
217+ let $acc61065210694 = check($acc51065210694, $list1065210694[5])
230218 throw("List size exceed 5")
231219 }
232220 }
243231 then true
244232 else sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
245233 let rightGuarantors = ({
246- let $list1157611604 = tx.proofs
247- let $size1157611604 = size($list1157611604)
248- let $acc01157611604 = 0
249- if (($size1157611604 == 0))
250- then $acc01157611604
234+ let $list1090810936 = tx.proofs
235+ let $size1090810936 = size($list1090810936)
236+ let $acc01090810936 = 0
237+ if (($size1090810936 == 0))
238+ then $acc01090810936
251239 else {
252- let $acc11157611604 = count($acc01157611604, $list1157611604[0])
253- if (($size1157611604 == 1))
254- then $acc11157611604
240+ let $acc11090810936 = count($acc01090810936, $list1090810936[0])
241+ if (($size1090810936 == 1))
242+ then $acc11090810936
255243 else {
256- let $acc21157611604 = count($acc11157611604, $list1157611604[1])
257- if (($size1157611604 == 2))
258- then $acc21157611604
244+ let $acc21090810936 = count($acc11090810936, $list1090810936[1])
245+ if (($size1090810936 == 2))
246+ then $acc21090810936
259247 else {
260- let $acc31157611604 = count($acc21157611604, $list1157611604[2])
261- if (($size1157611604 == 3))
262- then $acc31157611604
248+ let $acc31090810936 = count($acc21090810936, $list1090810936[2])
249+ if (($size1090810936 == 3))
250+ then $acc31090810936
263251 else {
264- let $acc41157611604 = count($acc31157611604, $list1157611604[3])
265- if (($size1157611604 == 4))
266- then $acc41157611604
252+ let $acc41090810936 = count($acc31090810936, $list1090810936[3])
253+ if (($size1090810936 == 4))
254+ then $acc41090810936
267255 else {
268- let $acc51157611604 = count($acc41157611604, $list1157611604[4])
256+ let $acc51090810936 = count($acc41090810936, $list1090810936[4])
269257 throw("List size exceed 4")
270258 }
271259 }
276264 match tx {
277265 case o: Order =>
278266 if (rightManager)
279- then if (if (if (if ((o.matcherFeeAssetId == feeAssetId))
267+ then if (if (if (if ((o.matcherFeeAssetId == priceAssetId))
280268 then (o.assetPair.priceAsset == priceAssetId)
281269 else false)
282270 then (o.assetPair.amountAsset == amountAssetId)
283271 else false)
284272 then true
285273 else if (if ((o.orderType == Buy))
286- then (o.matcherFeeAssetId == feeAssetId)
274+ then (o.matcherFeeAssetId == priceAssetId)
287275 else false)
288276 then (o.assetPair.amountAsset == priceAssetId)
289277 else false)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let baseAssetId = base58'BS1KFNR8zrXKBEWdUUvpaP6G57Hic3aESkwK7qQKdLpB'
55
66 let quoteAssetId = Unit()
77
88 let dappPublicKey = base58'2TxTux7YwCDmz45WeFjTfDpBg7t9hBir8SqeD9m86yen'
99
1010 let payoutPublicKey = base58'CmtjCeZ9NqoQScT4HoWGn8vNQ8hK7kDKQfukQbjChQq1'
1111
1212 let mmBotPublicKey = base58'5dQbzkYkh2UWtcR1cDwxZVzkduK1SVEeVa1TyLmD6eVU'
1313
1414 let managerPublicKey = base58'66BGZcJJ9yAWcHKZZeiuA71wAvC5GWTmdQWArjt1g6jC'
1515
1616 let guarantorPublicKeys = [base58'D45TbB3cBqreifQQdxGz2qUCyrCTmLJa9LpMQKbVNyQR']
17-
18-let feeAssetId = quoteAssetId
1917
2018 let priceAssetId = quoteAssetId
2119
2220 let amountAssetId = baseAssetId
2321
2422 let month = (2629746 * 1000)
2523
2624 let quarter = (month * 3)
2725
2826 let timeout = (month / 10)
2927
3028 let lastBlockTime = lastBlock.timestamp
3129
3230 let monthOpenTime = ((lastBlockTime / month) * month)
3331
3432 let quarterOpenTime = ((lastBlockTime / quarter) * quarter)
3533
3634 func toDateString (timestamp) = {
3735 let sp = " "
3836 let zz = " UTC"
3937 let norm = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365]
4038 let leap = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366]
4139 if (if (((-12212553600 * 1000) > timestamp))
4240 then true
4341 else (timestamp >= (253402300800 * 1000)))
4442 then throw("ISO 8601: only years from 1583 to 9999 are permitted.")
4543 else {
4644 let epoch = (((((1969 * 365) + (1969 / 4)) - (1969 / 100)) + (1969 / 400)) + 366)
4745 let ce = (timestamp + ((epoch * 86400) * 1000))
4846 let date = {
4947 let yy = ((ce / (31556952 * 1000)) - 1)
5048 let dty = (((((yy * 365) + (yy / 4)) - (yy / 100)) + (yy / 400)) + 366)
5149 let ytd = ((ce / (86400 * 1000)) - dty)
5250 let months = if (if (if ((((yy + 1) % 4) == 0))
5351 then (((yy + 1) % 100) != 0)
5452 else false)
5553 then true
5654 else (((yy + 1) % 400) == 0))
5755 then leap
5856 else norm
5957 let mm = if ((ytd >= months[12]))
6058 then throw("Month overflow error!")
6159 else if ((ytd >= months[11]))
6260 then 11
6361 else if ((ytd >= months[10]))
6462 then 10
6563 else if ((ytd >= months[9]))
6664 then 9
6765 else if ((ytd >= months[8]))
6866 then 8
6967 else if ((ytd >= months[7]))
7068 then 7
7169 else if ((ytd >= months[6]))
7270 then 6
7371 else if ((ytd >= months[5]))
7472 then 5
7573 else if ((ytd >= months[4]))
7674 then 4
7775 else if ((ytd >= months[3]))
7876 then 3
7977 else if ((ytd >= months[2]))
8078 then 2
8179 else if ((ytd >= months[1]))
8280 then 1
8381 else if ((ytd >= months[0]))
8482 then 0
8583 else throw("Month overflow error!")
8684 let dd = (ytd - months[mm])
8785 ((((toString((yy + 1)) + "-") + drop(toString((mm + 101)), 1)) + "-") + drop(toString((dd + 101)), 1))
8886 }
8987 let time = {
9088 let rd = (ce % (86400 * 1000))
9189 let hh = (rd / (3600 * 1000))
9290 let rh = (rd % (3600 * 1000))
9391 let mm = (rh / (60 * 1000))
9492 let rm = (rh % (60 * 1000))
9593 let ss = (rm / 1000)
9694 let ms = (rm % 1000)
9795 ((drop(toString((hh + 100)), 1) + ":") + drop(toString((mm + 100)), 1))
9896 }
9997 (((date + sp) + time) + zz)
10098 }
10199 }
102100
103101
104102 @Callable(i)
105103 func setBalances (total) = if ((i.callerPublicKey != managerPublicKey))
106104 then throw("Only the administrator can adjust the balances!")
107105 else if (isDefined(i.payment))
108106 then throw("Please do not attach payment when setting balances.")
109- else if ((0 > total))
110- then throw("Negative total balance are not allowed...")
107+ else if ((0 >= total))
108+ then throw("Zero or negative balance are not allowed...")
111109 else {
112110 let baseBalance = assetBalance(this, baseAssetId)
113111 let quoteBalance = assetBalance(this, quoteAssetId)
114- let totalBalance = match getInteger(this, "balance_total") {
115- case x: Int =>
116- x
117- case _ =>
118- 0
119- }
120- if ((total > 0))
121- then WriteSet([DataEntry("balance_base", baseBalance), DataEntry("balance_quote", quoteBalance), DataEntry("balance_total", total), DataEntry("last_update", lastBlockTime)])
122- else if ((totalBalance > 0))
123- then WriteSet([DataEntry("balance_base", baseBalance), DataEntry("balance_quote", quoteBalance), DataEntry("last_update", lastBlockTime)])
124- else throw("Total balance not established...")
112+ WriteSet([DataEntry("balance_base", baseBalance), DataEntry("balance_quote", quoteBalance), DataEntry("balance_total", total), DataEntry("last_update", lastBlockTime)])
125113 }
126114
127115
128116
129117 @Callable(i)
130118 func sendRewards () = {
131119 let lastUpdate = getIntegerValue(this, "last_update")
132120 let nextMonth = (((lastUpdate / month) + 1) * month)
133121 if ((i.callerPublicKey != managerPublicKey))
134122 then throw("Only administrator can send rewards!")
135123 else if (isDefined(i.payment))
136124 then throw("Please do not attach payment when sending rewards.")
137125 else if (if ((nextMonth > lastBlockTime))
138126 then true
139127 else (lastBlockTime >= (monthOpenTime + timeout)))
140- then throw((("The following rewards must be sent after " + toDateString((monthOpenTime + month))) + "."))
128+ then throw((("Rewards must be sent after " + toDateString((monthOpenTime + month))) + "."))
141129 else {
142130 let recipient = addressFromPublicKey(payoutPublicKey)
143131 let baseBalance = assetBalance(this, baseAssetId)
144132 let quoteBalance = assetBalance(this, quoteAssetId)
145133 let oldBaseBalance = getIntegerValue(this, "balance_base")
146134 let oldQuoteBalance = getIntegerValue(this, "balance_quote")
147135 let oldTotalBalance = getIntegerValue(this, "balance_total")
148136 let mmProfit = (quoteBalance - fraction(oldQuoteBalance, oldBaseBalance, baseBalance))
149137 let netProfit = (((2 * quoteBalance) - mmProfit) - oldTotalBalance)
150138 let amount = if (((quarterOpenTime + timeout) > lastBlockTime))
151139 then (mmProfit + (if ((netProfit > 0))
152140 then netProfit
153141 else 0))
154142 else fraction(mmProfit, 8, 10)
155143 if (if ((amount > 0))
156144 then (quoteBalance >= amount)
157145 else false)
158- then ScriptResult(WriteSet([DataEntry("balance_quote", (quoteBalance - amount)), DataEntry("last_update", lastBlockTime)]), TransferSet([ScriptTransfer(recipient, amount, quoteAssetId)]))
146+ then ScriptResult(WriteSet([DataEntry("last_update", lastBlockTime)]), TransferSet([ScriptTransfer(recipient, amount, quoteAssetId)]))
159147 else if ((amount > quoteBalance))
160148 then throw("Insufficient funds on the balance of quotes...")
161149 else throw("Zero or negative rewards are not allowed...")
162150 }
163151 }
164152
165153
166154
167155 @Callable(i)
168156 func emergencyExit () = {
169157 let lastUpdate = getIntegerValue(this, "last_update")
170158 let emergencyTime = ((((lastUpdate / month) + 1) * month) + timeout)
171159 if (isDefined(i.payment))
172160 then throw("Please do not attach payment in an emergency.")
173161 else if (if ((emergencyTime > lastBlockTime))
174162 then (i.callerPublicKey != managerPublicKey)
175163 else false)
176164 then throw((("Time for emergencies will be after " + toDateString(emergencyTime)) + "."))
177165 else {
178166 let recipient = addressFromPublicKey(dappPublicKey)
179167 let baseBalance = assetBalance(this, baseAssetId)
180168 let quoteBalance = assetBalance(this, quoteAssetId)
181169 let st0 = if ((baseBalance == 0))
182170 then nil
183171 else [ScriptTransfer(recipient, baseBalance, baseAssetId)]
184172 let st1 = if ((quoteBalance == 0))
185173 then st0
186174 else ScriptTransfer(recipient, quoteBalance, quoteAssetId) :: st0
187175 let scriptTransfers = st1
188176 if ((size(scriptTransfers) > 0))
189177 then ScriptResult(WriteSet([DataEntry("last_update", lastBlockTime)]), TransferSet(scriptTransfers))
190178 else throw("There is nothing on the balances!")
191179 }
192180 }
193181
194182
195183 @Verifier(tx)
196184 func verify () = {
197185 func count (sum,proof) = {
198186 func check (acc,publicKey) = if (acc)
199187 then true
200188 else sigVerify(tx.bodyBytes, proof, publicKey)
201189
202190 (sum + (if ({
203- let $list1132011362 = guarantorPublicKeys
204- let $size1132011362 = size($list1132011362)
205- let $acc01132011362 = false
206- if (($size1132011362 == 0))
207- then $acc01132011362
191+ let $list1065210694 = guarantorPublicKeys
192+ let $size1065210694 = size($list1065210694)
193+ let $acc01065210694 = false
194+ if (($size1065210694 == 0))
195+ then $acc01065210694
208196 else {
209- let $acc11132011362 = check($acc01132011362, $list1132011362[0])
210- if (($size1132011362 == 1))
211- then $acc11132011362
197+ let $acc11065210694 = check($acc01065210694, $list1065210694[0])
198+ if (($size1065210694 == 1))
199+ then $acc11065210694
212200 else {
213- let $acc21132011362 = check($acc11132011362, $list1132011362[1])
214- if (($size1132011362 == 2))
215- then $acc21132011362
201+ let $acc21065210694 = check($acc11065210694, $list1065210694[1])
202+ if (($size1065210694 == 2))
203+ then $acc21065210694
216204 else {
217- let $acc31132011362 = check($acc21132011362, $list1132011362[2])
218- if (($size1132011362 == 3))
219- then $acc31132011362
205+ let $acc31065210694 = check($acc21065210694, $list1065210694[2])
206+ if (($size1065210694 == 3))
207+ then $acc31065210694
220208 else {
221- let $acc41132011362 = check($acc31132011362, $list1132011362[3])
222- if (($size1132011362 == 4))
223- then $acc41132011362
209+ let $acc41065210694 = check($acc31065210694, $list1065210694[3])
210+ if (($size1065210694 == 4))
211+ then $acc41065210694
224212 else {
225- let $acc51132011362 = check($acc41132011362, $list1132011362[4])
226- if (($size1132011362 == 5))
227- then $acc51132011362
213+ let $acc51065210694 = check($acc41065210694, $list1065210694[4])
214+ if (($size1065210694 == 5))
215+ then $acc51065210694
228216 else {
229- let $acc61132011362 = check($acc51132011362, $list1132011362[5])
217+ let $acc61065210694 = check($acc51065210694, $list1065210694[5])
230218 throw("List size exceed 5")
231219 }
232220 }
233221 }
234222 }
235223 }
236224 }
237225 })
238226 then 1
239227 else 0))
240228 }
241229
242230 let rightManager = if (sigVerify(tx.bodyBytes, tx.proofs[0], mmBotPublicKey))
243231 then true
244232 else sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
245233 let rightGuarantors = ({
246- let $list1157611604 = tx.proofs
247- let $size1157611604 = size($list1157611604)
248- let $acc01157611604 = 0
249- if (($size1157611604 == 0))
250- then $acc01157611604
234+ let $list1090810936 = tx.proofs
235+ let $size1090810936 = size($list1090810936)
236+ let $acc01090810936 = 0
237+ if (($size1090810936 == 0))
238+ then $acc01090810936
251239 else {
252- let $acc11157611604 = count($acc01157611604, $list1157611604[0])
253- if (($size1157611604 == 1))
254- then $acc11157611604
240+ let $acc11090810936 = count($acc01090810936, $list1090810936[0])
241+ if (($size1090810936 == 1))
242+ then $acc11090810936
255243 else {
256- let $acc21157611604 = count($acc11157611604, $list1157611604[1])
257- if (($size1157611604 == 2))
258- then $acc21157611604
244+ let $acc21090810936 = count($acc11090810936, $list1090810936[1])
245+ if (($size1090810936 == 2))
246+ then $acc21090810936
259247 else {
260- let $acc31157611604 = count($acc21157611604, $list1157611604[2])
261- if (($size1157611604 == 3))
262- then $acc31157611604
248+ let $acc31090810936 = count($acc21090810936, $list1090810936[2])
249+ if (($size1090810936 == 3))
250+ then $acc31090810936
263251 else {
264- let $acc41157611604 = count($acc31157611604, $list1157611604[3])
265- if (($size1157611604 == 4))
266- then $acc41157611604
252+ let $acc41090810936 = count($acc31090810936, $list1090810936[3])
253+ if (($size1090810936 == 4))
254+ then $acc41090810936
267255 else {
268- let $acc51157611604 = count($acc41157611604, $list1157611604[4])
256+ let $acc51090810936 = count($acc41090810936, $list1090810936[4])
269257 throw("List size exceed 4")
270258 }
271259 }
272260 }
273261 }
274262 }
275263 } > (size(guarantorPublicKeys) / 2))
276264 match tx {
277265 case o: Order =>
278266 if (rightManager)
279- then if (if (if (if ((o.matcherFeeAssetId == feeAssetId))
267+ then if (if (if (if ((o.matcherFeeAssetId == priceAssetId))
280268 then (o.assetPair.priceAsset == priceAssetId)
281269 else false)
282270 then (o.assetPair.amountAsset == amountAssetId)
283271 else false)
284272 then true
285273 else if (if ((o.orderType == Buy))
286- then (o.matcherFeeAssetId == feeAssetId)
274+ then (o.matcherFeeAssetId == priceAssetId)
287275 else false)
288276 then (o.assetPair.amountAsset == priceAssetId)
289277 else false)
290278 then true
291279 else if ((o.orderType == Sell))
292280 then if (if (!(isDefined(o.matcherFeeAssetId)))
293281 then !(isDefined(o.assetPair.priceAsset))
294282 else false)
295283 then true
296284 else if ((o.matcherFeeAssetId == priceAssetId))
297285 then (o.assetPair.priceAsset == priceAssetId)
298286 else false
299287 else false
300288 else false
301289 case t: TransferTransaction =>
302290 if (rightManager)
303291 then if (((quarterOpenTime + timeout) > lastBlockTime))
304292 then (addressFromRecipient(t.recipient) == addressFromPublicKey(dappPublicKey))
305293 else false
306294 else false
307295 case s: SetScriptTransaction =>
308296 rightManager
309297 case _ =>
310298 false
311299 }
312300 }
313301

github/deemru/w8io/3ef1775 
105.27 ms