tx · CpQrpaos1ayiNUAyzsBpzRNqC57UWhXUJf116FxJDVZj

3PFZYMTNXQXUX99zG9q9LW6qnfifXsrujEa:  -0.01400000 Waves

2019.01.31 11:42 [1375436] smart account 3PFZYMTNXQXUX99zG9q9LW6qnfifXsrujEa > SELF 0.00000000 Waves

{ "type": 13, "id": "CpQrpaos1ayiNUAyzsBpzRNqC57UWhXUJf116FxJDVZj", "fee": 1400000, "feeAssetId": null, "timestamp": 1548924207207, "version": 1, "sender": "3PFZYMTNXQXUX99zG9q9LW6qnfifXsrujEa", "senderPublicKey": "3jfJaAE4JRUDMmH4cJ1xM25VfSXswETHd1aw6mNDGa4x", "proofs": [ "2YYsz6D5KkLYwkqgCJAK78WiX7gHhgFkXHcYdxqHn6ka7YAUG5wna9FK1oV9Mixid5td4afGaMMDPDC7ZUuRpM66" ], "script": "base64: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", "chainId": 87, "height": 1375436, "spentComplexity": 0 } View: original | compacted Prev: 39pCDSBgr4iER59iEtLkQ8bPHFGWQmX21JsnjireBYgP Next: 4coSL3YgASA5Qndcfpq74FnLyeGa24rw8TbYyN7JEcJm Diff:
OldNewDifferences
4848 let dtUniqueBets = extract(getInteger(dt.data, "uniqueBets"))
4949 match paymentTx {
5050 case payment: TransferTransaction =>
51- if (if (if (if (if (if (if (if (if (!(isDefined(getString(tx.sender, paymentTxId))))
51+ if (if (if (if (if (if (if (if (if (if (if (if (if (!(isDefined(getString(tx.sender, paymentTxId))))
5252 then !(isDefined(getString(tx.sender, addressTx)))
5353 else false)
5454 then !(isDefined(payment.assetId))
6666 then (vBet == ((iBet * multiply) + dBet))
6767 else false)
6868 then (kvpBet == betGroup)
69+ else false)
70+ then (dtUniqueBets == (uniqueBets + betIsNew))
71+ else false)
72+ then (vKvpBet == vBet)
73+ else false)
74+ then (tBet == betGroup)
75+ else false)
76+ then (take(toBase58String(payment.attachment), size(tBet)) == tBet)
6977 else false
7078 case _ =>
7179 false
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 1 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let maxTimeToBet = 1549012956000
44 let minTimeToTrading = 1548980556000
55 let maxTimeToTrading = 1549066956000
66 let fee = 10000000
77 let decimals = 2
88 let multiply = 100
99 let sendTo = addressFromString("3PNuax5w5jNcRtr8DRinCvU5jb1igBqrizr")
1010 let totalMoney = extract(getInteger(tx.sender, "totalMoney"))
1111 let uniqueBets = extract(getInteger(tx.sender, "uniqueBets"))
1212 match tx {
1313 case dt: DataTransaction =>
1414 if ((maxTimeToBet >= tx.timestamp))
1515 then {
1616 let addressTx = extract(getString(dt.data, "addressTxId"))
1717 let paymentTxId = extract(getString(dt.data, addressTx))
1818 let paymentTx = transactionById(fromBase58String(paymentTxId))
1919 let betGroup = extract(getString(dt.data, paymentTxId))
2020 let dtBetSummary = extract(getInteger(dt.data, betGroup))
2121 let betSummary = if (isDefined(getInteger(tx.sender, betGroup)))
2222 then extract(getInteger(tx.sender, betGroup))
2323 else 0
2424 let vBet = extract(getInteger(dt.data, "bet_v"))
2525 let kvpBet = extract(getString(dt.data, toString(vBet)))
2626 let vKvpBet = extract(getInteger(dt.data, ("v_" + toString(vBet))))
2727 let iBet = extract(getInteger(dt.data, "bet_i"))
2828 let dBet = extract(getInteger(dt.data, "bet_d"))
2929 let c = (decimals - size(toString(dBet)))
3030 let tBet = (((toString(iBet) + ".") + (if ((c == 1))
3131 then "0"
3232 else if ((c == 2))
3333 then "00"
3434 else if ((c == 3))
3535 then "000"
3636 else if ((c == 4))
3737 then "0000"
3838 else if ((c == 5))
3939 then "00000"
4040 else if ((c == 6))
4141 then "000000"
4242 else if ((c == 7))
4343 then "0000000"
4444 else "")) + toString(dBet))
4545 let betIsNew = if (!(isDefined(getInteger(tx.sender, betGroup))))
4646 then 1
4747 else 0
4848 let dtUniqueBets = extract(getInteger(dt.data, "uniqueBets"))
4949 match paymentTx {
5050 case payment: TransferTransaction =>
51- if (if (if (if (if (if (if (if (if (!(isDefined(getString(tx.sender, paymentTxId))))
51+ if (if (if (if (if (if (if (if (if (if (if (if (if (!(isDefined(getString(tx.sender, paymentTxId))))
5252 then !(isDefined(getString(tx.sender, addressTx)))
5353 else false)
5454 then !(isDefined(payment.assetId))
5555 else false)
5656 then (payment.recipient == tx.sender)
5757 else false)
5858 then (payment.amount > fee)
5959 else false)
6060 then (extract(getInteger(dt.data, "totalMoney")) == (totalMoney + (payment.amount - fee)))
6161 else false)
6262 then (dtBetSummary == (betSummary + (payment.amount - fee)))
6363 else false)
6464 then ((payment.amount - fee) >= 100000000)
6565 else false)
6666 then (vBet == ((iBet * multiply) + dBet))
6767 else false)
6868 then (kvpBet == betGroup)
69+ else false)
70+ then (dtUniqueBets == (uniqueBets + betIsNew))
71+ else false)
72+ then (vKvpBet == vBet)
73+ else false)
74+ then (tBet == betGroup)
75+ else false)
76+ then (take(toBase58String(payment.attachment), size(tBet)) == tBet)
6977 else false
7078 case _ =>
7179 false
7280 }
7381 }
7482 else if (if ((tx.timestamp > minTimeToTrading))
7583 then !(isDefined(getString(tx.sender, "tradingTxId")))
7684 else false)
7785 then {
7886 let tradingTxId = extract(getString(dt.data, "tradingTxId"))
7987 let tradingTx = transactionById(fromBase58String(tradingTxId))
8088 let priceWin = extract(getInteger(dt.data, "priceWin"))
8189 let dtSortNum = extract(getInteger(dt.data, "sortNum"))
8290 match tradingTx {
8391 case exchange: ExchangeTransaction =>
8492 if (if (if ((priceWin == exchange.price))
8593 then (exchange.timestamp >= minTimeToTrading)
8694 else false)
8795 then (maxTimeToTrading >= exchange.timestamp)
8896 else false)
8997 then (dtSortNum == 0)
9098 else false
9199 case _ =>
92100 false
93101 }
94102 }
95103 else false
96104 case tt: TransferTransaction =>
97105 (tt.recipient == sendTo)
98106 case _ =>
99107 true
100108 }

github/deemru/w8io/6500d08 
86.12 ms