tx · CPWMqQuB3gYEPiTdAW2tnMVEdfGgUtZuRRmeAg7ophjf

3Mpfd3hihdPKUHqWqC9KYjcM18BKw91VkKe:  -0.01000000 Waves

2019.01.29 09:48 [471204] smart account 3Mpfd3hihdPKUHqWqC9KYjcM18BKw91VkKe > SELF 0.00000000 Waves

{ "type": 13, "id": "CPWMqQuB3gYEPiTdAW2tnMVEdfGgUtZuRRmeAg7ophjf", "fee": 1000000, "feeAssetId": null, "timestamp": 1548744601022, "version": 1, "sender": "3Mpfd3hihdPKUHqWqC9KYjcM18BKw91VkKe", "senderPublicKey": "4f1JNnYPBjnrCyRNwNpfg2zg6V34QG4EBF8a2o2yz9rg", "proofs": [ "3B4vbYMRn85rkFkzee3ud5dELW2qjoNBVdNg9J5y78KanZyyepevtk8zua5DCDedr3Tk6UFVoJHpr1yMn4PUayNA" ], "script": "base64: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", "chainId": 84, "height": 471204, "spentComplexity": 0 } View: original | compacted Prev: none Next: F9tmE12DezVLUb4ZBgpRMhKNj7yvnvn9KKNHE6RZVvLV Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 1 #-}
2+{-# CONTENT_TYPE EXPRESSION #-}
3+let maxTimeToBet = 1549000217000
4+let minTimeToTrading = 1549086617000
5+let maxTimeToTrading = 1549086677000
6+let fee = 10000000
7+let betAsset = base58'WAVES'
8+let decimals = 2
9+let multiply = 100
10+let totalMoney = if (isDefined(getInteger(tx.sender, "totalMoney")))
11+ then extract(getInteger(tx.sender, "totalMoney"))
12+ else 0
13+match tx {
14+ case dt: DataTransaction =>
15+ if (if ((maxTimeToBet >= tx.timestamp))
16+ then isDefined(getString(dt.data, "bet_s"))
17+ else false)
18+ then {
19+ let paymentTxId = extract(getString(dt.data, "paymentTxId"))
20+ let paymentTx = transactionById(fromBase58String(paymentTxId))
21+ let betGroup = extract(getString(dt.data, "bet_s"))
22+ let dtBetSummary = extract(getInteger(dt.data, betGroup))
23+ let betSummary = if (isDefined(getInteger(tx.sender, betGroup)))
24+ then extract(getInteger(tx.sender, betGroup))
25+ else 0
26+ let vBet = extract(getInteger(dt.data, "bet_v"))
27+ let iBet = extract(getInteger(dt.data, "bet_i"))
28+ let dBet = extract(getInteger(dt.data, "bet_d"))
29+ let c = (decimals - size(toString(dBet)))
30+ let tBet = (((toString(iBet) + ".") + (if ((c == 1))
31+ then "0"
32+ else if ((c == 2))
33+ then "00"
34+ else if ((c == 3))
35+ then "000"
36+ else if ((c == 4))
37+ then "0000"
38+ else if ((c == 5))
39+ then "00000"
40+ else if ((c == 6))
41+ then "000000"
42+ else if ((c == 7))
43+ then "0000000"
44+ else "")) + toString(dBet))
45+ match paymentTx {
46+ case payment: TransferTransaction =>
47+ if (if (if (if (if (!(isDefined(getString(tx.sender, paymentTxId))))
48+ then (payment.recipient == tx.sender)
49+ else false)
50+ then (payment.amount > fee)
51+ else false)
52+ then (payment.assetId == betAsset)
53+ else false)
54+ then (extract(getInteger(dt.data, "totalMoney")) == (totalMoney + (payment.amount - fee)))
55+ else false)
56+ then (vBet == ((iBet * multiply) + dBet))
57+ else false
58+ case _ =>
59+ false
60+ }
61+ }
62+ else if (if ((tx.timestamp > maxTimeToTrading))
63+ then !(isDefined(getString(tx.sender, "tradingTxId")))
64+ else false)
65+ then {
66+ let tradingTxId = extract(getString(dt.data, "tradingTxId"))
67+ let tradingTx = transactionById(fromBase58String(tradingTxId))
68+ let priceWin = extract(getInteger(dt.data, "priceWin"))
69+ match tradingTx {
70+ case exchange: ExchangeTransaction =>
71+ if (if ((priceWin == exchange.price))
72+ then (exchange.timestamp >= minTimeToTrading)
73+ else false)
74+ then (maxTimeToTrading >= exchange.timestamp)
75+ else false
76+ case _ =>
77+ false
78+ }
79+ }
80+ else if (isDefined(getString(tx.sender, "tradingTxId")))
81+ then true
82+ else false
83+ case _ =>
84+ true
85+}

github/deemru/w8io/6500d08 
16.17 ms