tx · 6XBgmKfq8sGixDwb7mNW3odLjG4Rcz95G4K5aBUU1idi

3N7FMWSc4rRY3Gd6FEbVwCAcexQjuy6Nk7i:  -0.01400000 Waves

2019.02.02 22:14 [477788] smart account 3N7FMWSc4rRY3Gd6FEbVwCAcexQjuy6Nk7i > SELF 0.00000000 Waves

{ "type": 13, "id": "6XBgmKfq8sGixDwb7mNW3odLjG4Rcz95G4K5aBUU1idi", "fee": 1400000, "feeAssetId": null, "timestamp": 1549134945322, "version": 1, "sender": "3N7FMWSc4rRY3Gd6FEbVwCAcexQjuy6Nk7i", "senderPublicKey": "2JuqCboosjGdvPpspNEHLK7BvVwjYpGRXBngdz2LtTMX", "proofs": [ "4j11QdF2uUSZWjxboywLkwjNacTfHgRNLqD9pH4c7x7du65DSfyafaRrmLiJJm6CHhSj1uCN6r51nDck9xnR7Vrq" ], "script": "base64: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", "chainId": 84, "height": 477788, "spentComplexity": 0 } View: original | compacted Prev: iSoj6kqMWGYe9qKuazqm1WoB2ujHCkvG4yixUGLuGAF Next: 21AEeYv295ZVpdVLQDoWxLaMxt6c273uQbvHJ5MrNMhQ Diff:
OldNewDifferences
77 let square = 50
88 let startPos = 0
99 let endPos = (((1000 * 1000) / square) / square)
10-let addressToPay = addressFromPublicKey(base58'AbDyruBD8QqodWvMWRxAx8FhwRuf4cMFZu6SA1G4YwWU')
10+let lastHeightForSale = 477800
11+let addressToPayPublicKey = base58'AbDyruBD8QqodWvMWRxAx8FhwRuf4cMFZu6SA1G4YwWU'
12+let addressToPay = addressFromPublicKey(addressToPayPublicKey)
1113 let mePublicKey = base58'2JuqCboosjGdvPpspNEHLK7BvVwjYpGRXBngdz2LtTMX'
1214 let me = addressFromPublicKey(mePublicKey)
1315 match tx {
2931 then (endPos > insertPos)
3032 else false
3133 let posNotUsed = !(isDefined(getString(me, toString(insertPos))))
32- let txNotUsed = !(isDefined(getBoolean(me, paymentTxId)))
33- let dataTransactionValid = if (if (if (satisfiesFormat)
34+ let txIdNotUsed = !(isDefined(getBoolean(me, paymentTxId)))
35+ let dataTransactionIsValid = if (if (if (satisfiesFormat)
3436 then validPos
3537 else false)
3638 then posNotUsed
3739 else false)
38- then txNotUsed
40+ then txIdNotUsed
3941 else false
4042 let paymentTx = transactionById(fromBase58String(paymentTxId))
43+ let heightOfTx = extract(transactionHeightById(fromBase58String(paymentTxId)))
44+ let payedAmountFinal = if ((heightOfTx > lastHeightForSale))
45+ then payedAmount
46+ else ((payedAmount / 5) * 4)
4147 match paymentTx {
4248 case paymentTx: TransferTransaction =>
43- if (if (if (if (if (dataTransactionValid)
49+ if (if (if (if (if (dataTransactionIsValid)
4450 then (paymentTx.recipient == addressToPay)
4551 else false)
46- then (paymentTx.amount >= (payedAmount - payedTxFee))
52+ then (paymentTx.amount >= (payedAmountFinal - payedTxFee))
4753 else false)
4854 then !(isDefined(paymentTx.assetId))
4955 else false)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 1 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let oneWaves = 100000000
44 let payedAmount = (1 * oneWaves)
55 let payedTxFee = (oneWaves / 10)
66 let dataTxFee = (oneWaves / 10)
77 let square = 50
88 let startPos = 0
99 let endPos = (((1000 * 1000) / square) / square)
10-let addressToPay = addressFromPublicKey(base58'AbDyruBD8QqodWvMWRxAx8FhwRuf4cMFZu6SA1G4YwWU')
10+let lastHeightForSale = 477800
11+let addressToPayPublicKey = base58'AbDyruBD8QqodWvMWRxAx8FhwRuf4cMFZu6SA1G4YwWU'
12+let addressToPay = addressFromPublicKey(addressToPayPublicKey)
1113 let mePublicKey = base58'2JuqCboosjGdvPpspNEHLK7BvVwjYpGRXBngdz2LtTMX'
1214 let me = addressFromPublicKey(mePublicKey)
1315 match tx {
1416 case t: DataTransaction =>
1517 let insertPos = extract(getInteger(t.data, "pos"))
1618 let paymentTxId = extract(getString(t.data, "pTxId"))
1719 let satisfiesFormat = if (if (if (if (if ((size(t.data) == 4))
1820 then isDefined(getInteger(t.data, "pos"))
1921 else false)
2022 then isDefined(getString(t.data, toString(insertPos)))
2123 else false)
2224 then isDefined(getString(t.data, "pTxId"))
2325 else false)
2426 then isDefined(getBoolean(t.data, paymentTxId))
2527 else false)
2628 then (extract(getBoolean(t.data, paymentTxId)) == true)
2729 else false
2830 let validPos = if ((insertPos >= startPos))
2931 then (endPos > insertPos)
3032 else false
3133 let posNotUsed = !(isDefined(getString(me, toString(insertPos))))
32- let txNotUsed = !(isDefined(getBoolean(me, paymentTxId)))
33- let dataTransactionValid = if (if (if (satisfiesFormat)
34+ let txIdNotUsed = !(isDefined(getBoolean(me, paymentTxId)))
35+ let dataTransactionIsValid = if (if (if (satisfiesFormat)
3436 then validPos
3537 else false)
3638 then posNotUsed
3739 else false)
38- then txNotUsed
40+ then txIdNotUsed
3941 else false
4042 let paymentTx = transactionById(fromBase58String(paymentTxId))
43+ let heightOfTx = extract(transactionHeightById(fromBase58String(paymentTxId)))
44+ let payedAmountFinal = if ((heightOfTx > lastHeightForSale))
45+ then payedAmount
46+ else ((payedAmount / 5) * 4)
4147 match paymentTx {
4248 case paymentTx: TransferTransaction =>
43- if (if (if (if (if (dataTransactionValid)
49+ if (if (if (if (if (dataTransactionIsValid)
4450 then (paymentTx.recipient == addressToPay)
4551 else false)
46- then (paymentTx.amount >= (payedAmount - payedTxFee))
52+ then (paymentTx.amount >= (payedAmountFinal - payedTxFee))
4753 else false)
4854 then !(isDefined(paymentTx.assetId))
4955 else false)
5056 then sigVerify(t.bodyBytes, t.proofs[0], paymentTx.senderPublicKey)
5157 else false)
5258 then (t.fee == dataTxFee)
5359 else false
5460 case _ =>
5561 false
5662 }
5763 case _ =>
5864 sigVerify(tx.bodyBytes, tx.proofs[0], mePublicKey)
5965 }

github/deemru/w8io/3ef1775 
44.50 ms