tx · HJ5sdMb4qSFA2mMxebMMwgMdZi992ncgmzYrvY7qRfw

3PHmTie5df7ocAEkoMFvVRp74D4hMGhWcYA:  -0.01400000 Waves

2019.01.29 17:53 [1372866] smart account 3PHmTie5df7ocAEkoMFvVRp74D4hMGhWcYA > SELF 0.00000000 Waves

{ "type": 13, "id": "HJ5sdMb4qSFA2mMxebMMwgMdZi992ncgmzYrvY7qRfw", "fee": 1400000, "feeAssetId": null, "timestamp": 1548773616733, "version": 1, "sender": "3PHmTie5df7ocAEkoMFvVRp74D4hMGhWcYA", "senderPublicKey": "ADtGTHS9PFJ9ydAu1ensS7Mab9anrZbeH6W8QmsJag8w", "proofs": [ "2jwVHzzAo5ZxdzMmgrDwznWVrEEk7bs7F9hWGvzMoVduKuGwNW1PyfGHyjm6yKNacSCFoUaRfYZpkcmPeP6dL6E3" ], "script": "base64:AQQAAAAMbWF4VGltZVRvQmV0AAAAAWiZ4tPwBAAAABBtaW5UaW1lVG9UcmFkaW5nAAAAAWiZ5KiwBAAAABBtYXhUaW1lVG9UcmFkaW5nAAAAAWiZ5ZMQBAAAAANmZWUAAAAAAACYloAEAAAACGRlY2ltYWxzAAAAAAAAAAACBAAAAAhtdWx0aXBseQAAAAAAAAAAZAQAAAAKdG90YWxNb25leQMJAQAAAAlpc0RlZmluZWQAAAABCQAEGgAAAAIIBQAAAAJ0eAAAAAZzZW5kZXICAAAACnRvdGFsTW9uZXkJAQAAAAdleHRyYWN0AAAAAQkABBoAAAACCAUAAAACdHgAAAAGc2VuZGVyAgAAAAp0b3RhbE1vbmV5AAAAAAAAAAAABAAAAAp1bmlxdWVCZXRzAwkBAAAACWlzRGVmaW5lZAAAAAEJAAQaAAAAAggFAAAAAnR4AAAABnNlbmRlcgIAAAAKdW5pcXVlQmV0cwkBAAAAB2V4dHJhY3QAAAABCQAEGgAAAAIIBQAAAAJ0eAAAAAZzZW5kZXICAAAACnVuaXF1ZUJldHMAAAAAAAAAAAAEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAA9EYXRhVHJhbnNhY3Rpb24EAAAAAmR0BQAAAAckbWF0Y2gwAwkBAAAACWlzRGVmaW5lZAAAAAEJAAQTAAAAAggFAAAAAmR0AAAABGRhdGECAAAABWJldF9zBAAAAAtwYXltZW50VHhJZAkBAAAAB2V4dHJhY3QAAAABCQAEEwAAAAIIBQAAAAJkdAAAAARkYXRhAgAAAAtwYXltZW50VHhJZAQAAAAJcGF5bWVudFR4CQAD6AAAAAEJAAJZAAAAAQUAAAALcGF5bWVudFR4SWQEAAAACGJldEdyb3VwCQEAAAAHZXh0cmFjdAAAAAEJAAQTAAAAAggFAAAAAmR0AAAABGRhdGECAAAABWJldF9zBAAAAAxkdEJldFN1bW1hcnkJAQAAAAdleHRyYWN0AAAAAQkABBAAAAACCAUAAAACZHQAAAAEZGF0YQUAAAAIYmV0R3JvdXAEAAAACmJldFN1bW1hcnkDCQEAAAAJaXNEZWZpbmVkAAAAAQkABBoAAAACCAUAAAACdHgAAAAGc2VuZGVyBQAAAAhiZXRHcm91cAkBAAAAB2V4dHJhY3QAAAABCQAEGgAAAAIIBQAAAAJ0eAAAAAZzZW5kZXIFAAAACGJldEdyb3VwAAAAAAAAAAAABAAAAAR2QmV0CQEAAAAHZXh0cmFjdAAAAAEJAAQQAAAAAggFAAAAAmR0AAAABGRhdGECAAAABWJldF92BAAAAAZrdnBCZXQJAQAAAAdleHRyYWN0AAAAAQkABBMAAAACCAUAAAACZHQAAAAEZGF0YQkAAaQAAAABBQAAAAR2QmV0BAAAAAd2S3ZwQmV0CQEAAAAHZXh0cmFjdAAAAAEJAAQQAAAAAggFAAAAAmR0AAAABGRhdGEJAAEsAAAAAgIAAAACdl8JAAGkAAAAAQUAAAAEdkJldAQAAAAEaUJldAkBAAAAB2V4dHJhY3QAAAABCQAEEAAAAAIIBQAAAAJkdAAAAARkYXRhAgAAAAViZXRfaQQAAAAEZEJldAkBAAAAB2V4dHJhY3QAAAABCQAEEAAAAAIIBQAAAAJkdAAAAARkYXRhAgAAAAViZXRfZAQAAAABYwkAAGUAAAACBQAAAAhkZWNpbWFscwkAATEAAAABCQABpAAAAAEFAAAABGRCZXQEAAAABHRCZXQJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAEaUJldAIAAAABLgMJAAAAAAAAAgUAAAABYwAAAAAAAAAAAQIAAAABMAMJAAAAAAAAAgUAAAABYwAAAAAAAAAAAgIAAAACMDADCQAAAAAAAAIFAAAAAWMAAAAAAAAAAAMCAAAAAzAwMAMJAAAAAAAAAgUAAAABYwAAAAAAAAAABAIAAAAEMDAwMAMJAAAAAAAAAgUAAAABYwAAAAAAAAAABQIAAAAFMDAwMDADCQAAAAAAAAIFAAAAAWMAAAAAAAAAAAYCAAAABjAwMDAwMAMJAAAAAAAAAgUAAAABYwAAAAAAAAAABwIAAAAHMDAwMDAwMAIAAAAACQABpAAAAAEFAAAABGRCZXQEAAAACGJldElzTmV3AwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQkABBoAAAACCAUAAAACdHgAAAAGc2VuZGVyBQAAAAhiZXRHcm91cAAAAAAAAAAAAQAAAAAAAAAAAAQAAAAMZHRVbmlxdWVCZXRzCQEAAAAHZXh0cmFjdAAAAAEJAAQQAAAAAggFAAAAAmR0AAAABGRhdGECAAAACnVuaXF1ZUJldHMEAAAAByRtYXRjaDEFAAAACXBheW1lbnRUeAMJAAABAAAAAgUAAAAHJG1hdGNoMQIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAAHcGF5bWVudAUAAAAHJG1hdGNoMQMDAwMJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAggFAAAAAnR4AAAABnNlbmRlcgUAAAALcGF5bWVudFR4SWQJAAAAAAAAAgUAAAAEdkJldAkAAGQAAAACCQAAaAAAAAIFAAAABGlCZXQFAAAACG11bHRpcGx5BQAAAARkQmV0BwkAAAAAAAACBQAAAAZrdnBCZXQFAAAACGJldEdyb3VwBwkAAAAAAAACBQAAAAxkdFVuaXF1ZUJldHMJAABkAAAAAgUAAAAKdW5pcXVlQmV0cwUAAAAIYmV0SXNOZXcHCQAAAAAAAAIFAAAAB3ZLdnBCZXQFAAAABHZCZXQHBwMJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAggFAAAAAnR4AAAABnNlbmRlcgIAAAALdHJhZGluZ1R4SWQEAAAAC3RyYWRpbmdUeElkCQEAAAAHZXh0cmFjdAAAAAEJAAQTAAAAAggFAAAAAmR0AAAABGRhdGECAAAAC3RyYWRpbmdUeElkBAAAAAl0cmFkaW5nVHgJAAPoAAAAAQkAAlkAAAABBQAAAAt0cmFkaW5nVHhJZAQAAAAIcHJpY2VXaW4JAQAAAAdleHRyYWN0AAAAAQkABBAAAAACCAUAAAACZHQAAAAEZGF0YQIAAAAIcHJpY2VXaW4EAAAAB2R0RGVsdGEJAQAAAAdleHRyYWN0AAAAAQkABBAAAAACCAUAAAACZHQAAAAEZGF0YQIAAAAFZGVsdGEEAAAACWR0U29ydE51bQkBAAAAB2V4dHJhY3QAAAABCQAEEAAAAAIIBQAAAAJkdAAAAARkYXRhAgAAAAdzb3J0TnVtBAAAAAckbWF0Y2gxBQAAAAl0cmFkaW5nVHgDCQAAAQAAAAIFAAAAByRtYXRjaDECAAAAE0V4Y2hhbmdlVHJhbnNhY3Rpb24EAAAACGV4Y2hhbmdlBQAAAAckbWF0Y2gxAwMDAwkAAAAAAAACBQAAAAhwcmljZVdpbggFAAAACGV4Y2hhbmdlAAAABXByaWNlCQAAZwAAAAIIBQAAAAhleGNoYW5nZQAAAAl0aW1lc3RhbXAFAAAAEG1pblRpbWVUb1RyYWRpbmcHCQAAZwAAAAIFAAAAEG1heFRpbWVUb1RyYWRpbmcIBQAAAAhleGNoYW5nZQAAAAl0aW1lc3RhbXAHCQAAAAAAAAIFAAAAB2R0RGVsdGEAAAAAF0h26AAHCQAAAAAAAAIFAAAACWR0U29ydE51bQAAAAAAAAAAAAcHAwkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAggFAAAAAnR4AAAABnNlbmRlcgIAAAALdHJhZGluZ1R4SWQEAAAABndpbkJldAMJAQAAAAlpc0RlZmluZWQAAAABCQAEGgAAAAIIBQAAAAJ0eAAAAAZzZW5kZXICAAAABndpbkJldAkBAAAAB2V4dHJhY3QAAAABCQAEGgAAAAIIBQAAAAJ0eAAAAAZzZW5kZXICAAAABWRlbHRhAAAAABdIdugABAAAAAhwcmljZVdpbgkBAAAAB2V4dHJhY3QAAAABCQAEEAAAAAIIBQAAAAJkdAAAAARkYXRhAgAAAAhwcmljZVdpbgQAAAAJZHRTb3J0TnVtCQEAAAAHZXh0cmFjdAAAAAEJAAQQAAAAAggFAAAAAmR0AAAABGRhdGECAAAAB3NvcnROdW0EAAAAB3NvcnROdW0JAQAAAAdleHRyYWN0AAAAAQkABBoAAAACCAUAAAACdHgAAAAGc2VuZGVyAgAAAAdzb3J0TnVtBAAAAAlzb3J0VmFsdWUJAQAAAAdleHRyYWN0AAAAAQkABBoAAAACCAUAAAACdHgAAAAGc2VuZGVyAgAAAAlzb3J0VmFsdWUEAAAADXNvcnRWYWx1ZVRleHQJAQAAAAdleHRyYWN0AAAAAQkABB0AAAACCAUAAAACdHgAAAAGc2VuZGVyAgAAAA1zb3J0VmFsdWVUZXh0BAAAAAhkdFdpbkJldAkBAAAAB2V4dHJhY3QAAAABCQAEGgAAAAIIBQAAAAJ0eAAAAAZzZW5kZXICAAAABndpbkJldAQAAAANc29ydGluZ0V4aXN0cwMJAABmAAAAAgAAAAAAAAAAAAkAAGUAAAACBQAAAAhwcmljZVdpbgUAAAAGd2luQmV0CQAAZQAAAAIFAAAABndpbkJldAUAAAAIcHJpY2VXaW4JAABlAAAAAgUAAAAIcHJpY2VXaW4FAAAABndpbkJldAQAAAAKc29ydGluZ05ldwMJAABmAAAAAgAAAAAAAAAAAAkAAGUAAAACBQAAAAhwcmljZVdpbgUAAAAJc29ydFZhbHVlCQAAZQAAAAIFAAAACXNvcnRWYWx1ZQUAAAAIcHJpY2VXaW4JAABlAAAAAgUAAAAIcHJpY2VXaW4FAAAACXNvcnRWYWx1ZQQAAAAHc29ydGluZwMJAABmAAAAAgUAAAANc29ydGluZ0V4aXN0cwUAAAAKc29ydGluZ05ldwUAAAAJc29ydFZhbHVlBQAAAAZ3aW5CZXQEAAAADGR0VW5pcXVlQmV0cwkBAAAAB2V4dHJhY3QAAAABCQAEEAAAAAIIBQAAAAJkdAAAAARkYXRhAgAAAAp1bmlxdWVCZXRzAwMDAwMDAwkAAGYAAAACBQAAAAxkdFVuaXF1ZUJldHMFAAAACWR0U29ydE51bQkAAAAAAAACBQAAAAlkdFNvcnROdW0JAABkAAAAAgUAAAAHc29ydE51bQAAAAAAAAAAAQcJAQAAAAlpc0RlZmluZWQAAAABCQAEGgAAAAIIBQAAAAJ0eAAAAAZzZW5kZXIJAAEsAAAAAgIAAAACdl8JAAGkAAAAAQUAAAAJc29ydFZhbHVlBwkAAAAAAAACBQAAAAlzb3J0VmFsdWUJAQAAAAdleHRyYWN0AAAAAQkABBoAAAACCAUAAAACdHgAAAAGc2VuZGVyCQABLAAAAAICAAAAAnZfCQABpAAAAAEFAAAACXNvcnRWYWx1ZQcJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAggFAAAAAnR4AAAABnNlbmRlcgkAASwAAAACAgAAAAVzb3J0XwkAAaQAAAABBQAAAAlzb3J0VmFsdWUHCQAAAAAAAAIFAAAADXNvcnRWYWx1ZVRleHQJAAEsAAAAAgIAAAAFc29ydF8JAAGkAAAAAQUAAAAJc29ydFZhbHVlBwkBAAAACWlzRGVmaW5lZAAAAAEJAAQaAAAAAggFAAAAAnR4AAAABnNlbmRlcgkAASwAAAACAgAAAAJ2XwkAAaQAAAABBQAAAAhkdFdpbkJldAcJAAAAAAAAAgUAAAAIZHRXaW5CZXQFAAAAB3NvcnRpbmcHBwbidHLz", "chainId": 87, "height": 1372866, "spentComplexity": 0 } View: original | compacted Prev: DfJWxoVbAAzSP1ixNHXhA3odS1Jof5Py1Byxs35Ubp95 Next: 2EvnbDs4U2A7WeGPyJrHTDraooJmgEd7qx5RFpeMobom Diff:
OldNewDifferences
4848 then 1
4949 else 0
5050 let dtUniqueBets = extract(getInteger(dt.data, "uniqueBets"))
51- false
51+ match paymentTx {
52+ case payment: TransferTransaction =>
53+ if (if (if (if (!(isDefined(getString(tx.sender, paymentTxId))))
54+ then (vBet == ((iBet * multiply) + dBet))
55+ else false)
56+ then (kvpBet == betGroup)
57+ else false)
58+ then (dtUniqueBets == (uniqueBets + betIsNew))
59+ else false)
60+ then (vKvpBet == vBet)
61+ else false
62+ case _ =>
63+ false
64+ }
5265 }
5366 else if (!(isDefined(getString(tx.sender, "tradingTxId"))))
5467 then {
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"))
51- false
51+ match paymentTx {
52+ case payment: TransferTransaction =>
53+ if (if (if (if (!(isDefined(getString(tx.sender, paymentTxId))))
54+ then (vBet == ((iBet * multiply) + dBet))
55+ else false)
56+ then (kvpBet == betGroup)
57+ else false)
58+ then (dtUniqueBets == (uniqueBets + betIsNew))
59+ else false)
60+ then (vKvpBet == vBet)
61+ else false
62+ case _ =>
63+ false
64+ }
5265 }
5366 else if (!(isDefined(getString(tx.sender, "tradingTxId"))))
5467 then {
5568 let tradingTxId = extract(getString(dt.data, "tradingTxId"))
5669 let tradingTx = transactionById(fromBase58String(tradingTxId))
5770 let priceWin = extract(getInteger(dt.data, "priceWin"))
5871 let dtDelta = extract(getInteger(dt.data, "delta"))
5972 let dtSortNum = extract(getInteger(dt.data, "sortNum"))
6073 match tradingTx {
6174 case exchange: ExchangeTransaction =>
6275 if (if (if (if ((priceWin == exchange.price))
6376 then (exchange.timestamp >= minTimeToTrading)
6477 else false)
6578 then (maxTimeToTrading >= exchange.timestamp)
6679 else false)
6780 then (dtDelta == 100000000000)
6881 else false)
6982 then (dtSortNum == 0)
7083 else false
7184 case _ =>
7285 false
7386 }
7487 }
7588 else if (isDefined(getString(tx.sender, "tradingTxId")))
7689 then {
7790 let winBet = if (isDefined(getInteger(tx.sender, "winBet")))
7891 then extract(getInteger(tx.sender, "delta"))
7992 else 100000000000
8093 let priceWin = extract(getInteger(dt.data, "priceWin"))
8194 let dtSortNum = extract(getInteger(dt.data, "sortNum"))
8295 let sortNum = extract(getInteger(tx.sender, "sortNum"))
8396 let sortValue = extract(getInteger(tx.sender, "sortValue"))
8497 let sortValueText = extract(getString(tx.sender, "sortValueText"))
8598 let dtWinBet = extract(getInteger(tx.sender, "winBet"))
8699 let sortingExists = if ((0 > (priceWin - winBet)))
87100 then (winBet - priceWin)
88101 else (priceWin - winBet)
89102 let sortingNew = if ((0 > (priceWin - sortValue)))
90103 then (sortValue - priceWin)
91104 else (priceWin - sortValue)
92105 let sorting = if ((sortingExists > sortingNew))
93106 then sortValue
94107 else winBet
95108 let dtUniqueBets = extract(getInteger(dt.data, "uniqueBets"))
96109 if (if (if (if (if (if (if ((dtUniqueBets > dtSortNum))
97110 then (dtSortNum == (sortNum + 1))
98111 else false)
99112 then isDefined(getInteger(tx.sender, ("v_" + toString(sortValue))))
100113 else false)
101114 then (sortValue == extract(getInteger(tx.sender, ("v_" + toString(sortValue)))))
102115 else false)
103116 then !(isDefined(getString(tx.sender, ("sort_" + toString(sortValue)))))
104117 else false)
105118 then (sortValueText == ("sort_" + toString(sortValue)))
106119 else false)
107120 then isDefined(getInteger(tx.sender, ("v_" + toString(dtWinBet))))
108121 else false)
109122 then (dtWinBet == sorting)
110123 else false
111124 }
112125 else false
113126 case _ =>
114127 true
115128 }

github/deemru/w8io/873ac7e 
121.76 ms