tx · 6Bd1Tsbv8UMcKVZqhFSXLviW4dFgaJb2xybV9vpCaYYr

3PHmTie5df7ocAEkoMFvVRp74D4hMGhWcYA:  -0.01400000 Waves

2019.01.29 17:22 [1372835] smart account 3PHmTie5df7ocAEkoMFvVRp74D4hMGhWcYA > SELF 0.00000000 Waves

{ "type": 13, "id": "6Bd1Tsbv8UMcKVZqhFSXLviW4dFgaJb2xybV9vpCaYYr", "fee": 1400000, "feeAssetId": null, "timestamp": 1548771799635, "version": 1, "sender": "3PHmTie5df7ocAEkoMFvVRp74D4hMGhWcYA", "senderPublicKey": "ADtGTHS9PFJ9ydAu1ensS7Mab9anrZbeH6W8QmsJag8w", "proofs": [ "2tVvqmwjEvt1EE3EiNdzXupshHWZedyaFxkNR2Y88o41CyymCQZtpuEGfpg9m4YY2GDR2wmvBbjN4EyCrqptNEbk" ], "script": "base64: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", "chainId": 87, "height": 1372835, "spentComplexity": 0 } View: original | compacted Prev: 7XtKrrHPodxBEnQxfDb572xPsREPobna4zNRonsE1UEo Next: 34upKc6hoo46wXKxe6hA3gmWfpPYVnUGfmE9z5RywVkW Diff:
OldNewDifferences
5050 let dtUniqueBets = extract(getInteger(dt.data, "uniqueBets"))
5151 match paymentTx {
5252 case payment: TransferTransaction =>
53- if (if (if (if (if (if (if (!(isDefined(getString(tx.sender, paymentTxId))))
53+ if (if (if (if (!(isDefined(getString(tx.sender, paymentTxId))))
5454 then (payment.recipient == tx.sender)
5555 else false)
5656 then (payment.amount > fee)
5858 then (dtBetSummary == (betSummary + (payment.amount - fee)))
5959 else false)
6060 then (vBet == ((iBet * multiply) + dBet))
61- else false)
62- then (kvpBet == betGroup)
63- else false)
64- then (dtUniqueBets == (uniqueBets + betIsNew))
65- else false)
66- then (vKvpBet == vBet)
6761 else false
6862 case _ =>
6963 false
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 1 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let maxTimeToBet = 1548770006000
44 let minTimeToTrading = 1548770126000
55 let maxTimeToTrading = 1548770186000
66 let fee = 10000000
77 let decimals = 2
88 let multiply = 100
99 let totalMoney = if (isDefined(getInteger(tx.sender, "totalMoney")))
1010 then extract(getInteger(tx.sender, "totalMoney"))
1111 else 0
1212 let uniqueBets = if (isDefined(getInteger(tx.sender, "uniqueBets")))
1313 then extract(getInteger(tx.sender, "uniqueBets"))
1414 else 0
1515 match tx {
1616 case dt: DataTransaction =>
1717 if (isDefined(getString(dt.data, "bet_s")))
1818 then {
1919 let paymentTxId = extract(getString(dt.data, "paymentTxId"))
2020 let paymentTx = transactionById(fromBase58String(paymentTxId))
2121 let betGroup = extract(getString(dt.data, "bet_s"))
2222 let dtBetSummary = extract(getInteger(dt.data, betGroup))
2323 let betSummary = if (isDefined(getInteger(tx.sender, betGroup)))
2424 then extract(getInteger(tx.sender, betGroup))
2525 else 0
2626 let vBet = extract(getInteger(dt.data, "bet_v"))
2727 let kvpBet = extract(getString(dt.data, toString(vBet)))
2828 let vKvpBet = extract(getInteger(dt.data, ("v_" + toString(vBet))))
2929 let iBet = extract(getInteger(dt.data, "bet_i"))
3030 let dBet = extract(getInteger(dt.data, "bet_d"))
3131 let c = (decimals - size(toString(dBet)))
3232 let tBet = (((toString(iBet) + ".") + (if ((c == 1))
3333 then "0"
3434 else if ((c == 2))
3535 then "00"
3636 else if ((c == 3))
3737 then "000"
3838 else if ((c == 4))
3939 then "0000"
4040 else if ((c == 5))
4141 then "00000"
4242 else if ((c == 6))
4343 then "000000"
4444 else if ((c == 7))
4545 then "0000000"
4646 else "")) + toString(dBet))
4747 let betIsNew = if (!(isDefined(getInteger(tx.sender, betGroup))))
4848 then 1
4949 else 0
5050 let dtUniqueBets = extract(getInteger(dt.data, "uniqueBets"))
5151 match paymentTx {
5252 case payment: TransferTransaction =>
53- if (if (if (if (if (if (if (!(isDefined(getString(tx.sender, paymentTxId))))
53+ if (if (if (if (!(isDefined(getString(tx.sender, paymentTxId))))
5454 then (payment.recipient == tx.sender)
5555 else false)
5656 then (payment.amount > fee)
5757 else false)
5858 then (dtBetSummary == (betSummary + (payment.amount - fee)))
5959 else false)
6060 then (vBet == ((iBet * multiply) + dBet))
61- else false)
62- then (kvpBet == betGroup)
63- else false)
64- then (dtUniqueBets == (uniqueBets + betIsNew))
65- else false)
66- then (vKvpBet == vBet)
6761 else false
6862 case _ =>
6963 false
7064 }
7165 }
7266 else if (!(isDefined(getString(tx.sender, "tradingTxId"))))
7367 then {
7468 let tradingTxId = extract(getString(dt.data, "tradingTxId"))
7569 let tradingTx = transactionById(fromBase58String(tradingTxId))
7670 let priceWin = extract(getInteger(dt.data, "priceWin"))
7771 let dtDelta = extract(getInteger(dt.data, "delta"))
7872 let dtSortNum = extract(getInteger(dt.data, "sortNum"))
7973 match tradingTx {
8074 case exchange: ExchangeTransaction =>
8175 if (if (if (if ((priceWin == exchange.price))
8276 then (exchange.timestamp >= minTimeToTrading)
8377 else false)
8478 then (maxTimeToTrading >= exchange.timestamp)
8579 else false)
8680 then (dtDelta == 100000000000)
8781 else false)
8882 then (dtSortNum == 0)
8983 else false
9084 case _ =>
9185 false
9286 }
9387 }
9488 else if (isDefined(getString(tx.sender, "tradingTxId")))
9589 then {
9690 let winBet = if (isDefined(getInteger(tx.sender, "winBet")))
9791 then extract(getInteger(tx.sender, "delta"))
9892 else 100000000000
9993 let priceWin = extract(getInteger(dt.data, "priceWin"))
10094 let dtSortNum = extract(getInteger(dt.data, "sortNum"))
10195 let sortNum = extract(getInteger(tx.sender, "sortNum"))
10296 let sortValue = extract(getInteger(tx.sender, "sortValue"))
10397 let sortValueText = extract(getString(tx.sender, "sortValueText"))
10498 let dtWinBet = extract(getInteger(tx.sender, "winBet"))
10599 let sortingExists = if ((0 > (priceWin - winBet)))
106100 then (winBet - priceWin)
107101 else (priceWin - winBet)
108102 let sortingNew = if ((0 > (priceWin - sortValue)))
109103 then (sortValue - priceWin)
110104 else (priceWin - sortValue)
111105 let sorting = if ((sortingExists > sortingNew))
112106 then sortValue
113107 else winBet
114108 let dtUniqueBets = extract(getInteger(dt.data, "uniqueBets"))
115109 if (if (if (if (if (if (if ((dtUniqueBets > dtSortNum))
116110 then (dtSortNum == (sortNum + 1))
117111 else false)
118112 then isDefined(getInteger(tx.sender, ("v_" + toString(sortValue))))
119113 else false)
120114 then (sortValue == extract(getInteger(tx.sender, ("v_" + toString(sortValue)))))
121115 else false)
122116 then !(isDefined(getString(tx.sender, ("sort_" + toString(sortValue)))))
123117 else false)
124118 then (sortValueText == ("sort_" + toString(sortValue)))
125119 else false)
126120 then isDefined(getInteger(tx.sender, ("v_" + toString(dtWinBet))))
127121 else false)
128122 then (dtWinBet == sorting)
129123 else false
130124 }
131125 else false
132126 case _ =>
133127 true
134128 }

github/deemru/w8io/3ef1775 
103.53 ms