tx · J2DYAoL1eR7apYBCpC5fMi3WoJzpg2MwKz8q6hJcFQ66

3MwR2FzFtbHeds3NzvkbiaYMVNhbtqcfRPU:  -0.01400000 Waves

2019.02.12 10:10 [491596] smart account 3MwR2FzFtbHeds3NzvkbiaYMVNhbtqcfRPU > SELF 0.00000000 Waves

{ "type": 13, "id": "J2DYAoL1eR7apYBCpC5fMi3WoJzpg2MwKz8q6hJcFQ66", "fee": 1400000, "feeAssetId": null, "timestamp": 1549955420146, "version": 1, "sender": "3MwR2FzFtbHeds3NzvkbiaYMVNhbtqcfRPU", "senderPublicKey": "H5rtwGVnkSHDfz6msD7itGURoKMXvvDwPoup1VESxfjJ", "proofs": [ "gLknwPGkhcehTvWNWojuuBgiK7aKhWRGU4zD3YwjCrsoakgsTBGJNijhA693Hmbr3eS8bEkMM2HYwqxV7npLszG" ], "script": "base64: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", "chainId": 84, "height": 491596, "spentComplexity": 0 } View: original | compacted Prev: B7XboCLWGEZEALiaT6tJSMqQy6j6UZoD7dN3oQxJrdCT Next: Egft1LW4XSvJvMSiXaJFtzPgse2t9FU4uDVLfuWy2Ehk Diff:
OldNewDifferences
169169 else throw("Incorrect type of guess provided")
170170 let isWin = (drop(guess, 1) == valReal)
171171 let isMoneyStillEnough = ((((paymentTx.amount - registerBetTxFee) * koeff) + minWithdrawFee) > newFees)
172- if (isWin)
173- then isMoneyStillEnough
172+ if (if (isWin)
173+ then true
174+ else throw("You didn't guess"))
175+ then if (isMoneyStillEnough)
176+ then true
177+ else throw("Not enough money for withdraw")
174178 else false
175179 }
176180 else false
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 1 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let me = tx.sender
44 let oracle = extract(addressFromString("3NCzaYTNDGtR8zf9yfcqePFjCqFx9S5zhs4"))
55 let minWithdrawFee = 500000
66 let registerBetTxFee = 500000
77 match tx {
88 case withdrawTx: TransferTransaction =>
99 let txId = extract(getString(me, (toBase58String(tx.proofs[1]) + "_withdraw")))
1010 match transactionById(tx.proofs[1]) {
1111 case paymentTx: TransferTransaction =>
1212 let isPaymentTookPlace = if ((txId == toBase58String(tx.id)))
1313 then sigVerify(tx.bodyBytes, tx.proofs[0], paymentTx.senderPublicKey)
1414 else false
1515 let feesKey = (toBase58String(tx.proofs[1]) + "_withdraw_fees")
1616 let dataTxsFees = extract(getInteger(me, feesKey))
1717 let guess = extract(getBinary(me, toBase58String(tx.proofs[1])))
1818 let type = take(guess, 1)
1919 let val = drop(guess, 1)
2020 let key = extract(getString(me, (toBase58String(tx.proofs[1]) + "_round")))
2121 let valComplex = extract(getBinary(oracle, key))
2222 let koeff = if ((type == drop(toBytes(0), 7)))
2323 then 35
2424 else if ((type == drop(toBytes(1), 7)))
2525 then 2
2626 else if ((type == drop(toBytes(2), 7)))
2727 then 2
2828 else if ((type == drop(toBytes(3), 7)))
2929 then 2
3030 else if ((type == drop(toBytes(4), 7)))
3131 then 3
3232 else if ((type == drop(toBytes(5), 7)))
3333 then 3
3434 else 0
3535 let correctAmount = ((((paymentTx.amount - registerBetTxFee) * koeff) - dataTxsFees) - withdrawTx.fee)
3636 let isInWaves = if (!(isDefined(withdrawTx.feeAssetId)))
3737 then !(isDefined(withdrawTx.assetId))
3838 else false
3939 if (if (if (isPaymentTookPlace)
4040 then true
4141 else throw("There was no bet"))
4242 then if ((withdrawTx.amount == correctAmount))
4343 then true
4444 else throw(("Amount is incorrect. Correct amount is " + toString(correctAmount)))
4545 else false)
4646 then if (if (!(isDefined(withdrawTx.feeAssetId)))
4747 then !(isDefined(withdrawTx.assetId))
4848 else false)
4949 then true
5050 else throw("Withdraw and fee must be in WAVES")
5151 else false
5252 case _ =>
5353 false
5454 }
5555 case dtx: DataTransaction =>
5656 if ((size(dtx.data) == 3))
5757 then {
5858 let minBet = 50000000
5959 let maxSumBet = 1000000000
6060 let paymentTxIdStr = extract(dtx.data[0].key)
6161 let guessStr = extract(getString(dtx.data, paymentTxIdStr))
6262 let paymentRoundKey = (paymentTxIdStr + "_round")
6363 let paymentRound = extract(getString(dtx.data, paymentRoundKey))
6464 let sumBetsOld = if (isDefined(getInteger(me, (paymentRound + "_betsSum"))))
6565 then extract(getInteger(me, (paymentRound + "_betsSum")))
6666 else 0
6767 let sumBetsNew = extract(getInteger(dtx.data, (paymentRound + "_betsSum")))
6868 let itsTooLate = isDefined(getString(me, (paymentRound + "_stop")))
6969 let isPaymentAlreadyMentioned = isDefined(getString(me, paymentTxIdStr))
7070 let paymentTx = transactionById(fromBase58String(paymentTxIdStr))
7171 match paymentTx {
7272 case paymentTx: TransferTransaction =>
7373 let isDtxSignedByPayer = sigVerify(dtx.bodyBytes, dtx.proofs[0], paymentTx.senderPublicKey)
7474 let correctSumBets = ((sumBetsOld + paymentTx.amount) - dtx.fee)
7575 if (if (if (if (if (if (if (if ((addressFromRecipient(paymentTx.recipient) == me))
7676 then true
7777 else throw("Incorrect recipient of the payment"))
7878 then if (!(isPaymentAlreadyMentioned))
7979 then true
8080 else throw("This transfer is already used as a bet")
8181 else false)
8282 then if ((sumBetsNew == correctSumBets))
8383 then true
8484 else throw(("Wrong value for Sum of Bets. Must be " + toString(correctSumBets)))
8585 else false)
8686 then if ((maxSumBet > sumBetsNew))
8787 then true
8888 else throw(((("Maximum amount of bets for round " + toString(maxSumBet)) + ". With your bet it's ") + toString(sumBetsNew)))
8989 else false)
9090 then if ((dtx.fee == registerBetTxFee))
9191 then true
9292 else throw(("Fee of bet registration data transaction must be " + toString(registerBetTxFee)))
9393 else false)
9494 then if ((paymentTx.amount >= minBet))
9595 then true
9696 else throw(("Your Bet amount is less then minimal bet " + toString(minBet)))
9797 else false)
9898 then if (!(isDefined(paymentTx.feeAssetId)))
9999 then true
100100 else throw("Paymnet must be in WAVES")
101101 else false)
102102 then if (!(itsTooLate))
103103 then true
104104 else throw("It's too late to play this round. Try next one")
105105 else false
106106 case _ =>
107107 false
108108 }
109109 }
110110 else if ((size(dtx.data) == 2))
111111 then {
112112 let isDataCountOk = (size(dtx.data) == 2)
113113 let paymentTxIdStr = dropRight(extract(dtx.data[0].key), 9)
114114 let feesKey = (paymentTxIdStr + "_withdraw_fees")
115115 let paymentTx = transactionById(fromBase58String(paymentTxIdStr))
116116 let newFees = extract(getInteger(dtx.data, feesKey))
117117 let oldFeesUnit = getInteger(me, feesKey)
118118 let oldFees = if (isDefined(oldFeesUnit))
119119 then extract(oldFeesUnit)
120120 else 0
121121 let isFeeCorrect = (newFees == (oldFees + dtx.fee))
122122 let withdrawTxIdUnit = getString(me, paymentTxIdStr)
123123 let isPaymentAlreadyMentioned = isDefined(withdrawTxIdUnit)
124124 let withdrawTransactionId = fromBase58String(extract(withdrawTxIdUnit))
125125 match paymentTx {
126126 case paymentTx: TransferTransaction =>
127127 let isDtxSignedByPayer = sigVerify(dtx.bodyBytes, dtx.proofs[0], paymentTx.senderPublicKey)
128128 if (if (if (if (if ((addressFromRecipient(paymentTx.recipient) == me))
129129 then if (!(isPaymentAlreadyMentioned))
130130 then true
131131 else !(isDefined(transactionById(withdrawTransactionId)))
132132 else false)
133133 then isDtxSignedByPayer
134134 else false)
135135 then isFeeCorrect
136136 else false)
137137 then isDataCountOk
138138 else false)
139139 then {
140140 let guess = extract(getBinary(me, paymentTxIdStr))
141141 let type = take(guess, 1)
142142 let key = extract(getString(me, (paymentTxIdStr + "_round")))
143143 let valComplex = extract(getBinary(oracle, key))
144144 let koeff = if ((type == drop(toBytes(0), 7)))
145145 then 35
146146 else if ((type == drop(toBytes(1), 7)))
147147 then 2
148148 else if ((type == drop(toBytes(2), 7)))
149149 then 2
150150 else if ((type == drop(toBytes(3), 7)))
151151 then 2
152152 else if ((type == drop(toBytes(4), 7)))
153153 then 3
154154 else if ((type == drop(toBytes(5), 7)))
155155 then 3
156156 else 0
157157 let valReal = if ((type == drop(toBytes(0), 7)))
158158 then drop(take(valComplex, 2), 1)
159159 else if ((type == drop(toBytes(1), 7)))
160160 then drop(take(valComplex, 3), 2)
161161 else if ((type == drop(toBytes(2), 7)))
162162 then drop(take(valComplex, 4), 3)
163163 else if ((type == drop(toBytes(3), 7)))
164164 then drop(take(valComplex, 5), 4)
165165 else if ((type == drop(toBytes(4), 7)))
166166 then drop(take(valComplex, 6), 5)
167167 else if ((type == drop(toBytes(5), 7)))
168168 then drop(take(valComplex, 7), 6)
169169 else throw("Incorrect type of guess provided")
170170 let isWin = (drop(guess, 1) == valReal)
171171 let isMoneyStillEnough = ((((paymentTx.amount - registerBetTxFee) * koeff) + minWithdrawFee) > newFees)
172- if (isWin)
173- then isMoneyStillEnough
172+ if (if (isWin)
173+ then true
174+ else throw("You didn't guess"))
175+ then if (isMoneyStillEnough)
176+ then true
177+ else throw("Not enough money for withdraw")
174178 else false
175179 }
176180 else false
177181 case _ =>
178182 false
179183 }
180184 }
181185 else false
182186 case _ =>
183187 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
184188 }

github/deemru/w8io/169f3d6 
36.02 ms