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:
Old | New | Differences | |
---|---|---|---|
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 ◑