tx · DYyha26aTKFkqpqbHbhmUjSp6ihfinsWdZtKhNae3A63

3N6mVEULck7uViUaDo1wi98wch9XzYNXriv:  -1.00000000 Waves

2019.02.19 15:48 [502090] smart asset 3N6mVEULck7uViUaDo1wi98wch9XzYNXriv > SELF 0.00000000 test666

{ "type": 15, "id": "DYyha26aTKFkqpqbHbhmUjSp6ihfinsWdZtKhNae3A63", "fee": 100000000, "feeAssetId": null, "timestamp": 1550580552047, "version": 1, "sender": "3N6mVEULck7uViUaDo1wi98wch9XzYNXriv", "senderPublicKey": "GMCkL2F7fYotQtrpQq5sjNm5cjpR7CSfawr9kMSKLHVs", "proofs": [ "KXRMzGkaCHH4Y2sD8uqT4eKubBwGJUkb8k1wG8HhcxaXEqyfSojUkX4B5YKjBtYbgU63Bi6QiBBjUqXU7gxn2GX" ], "assetId": "5yjyBTmmUbpxnipdv8ZcS9gPn2bEXRo7fThXXruFiYXS", "script": "base64:AQQAAAAKaGVpZ2h0RGlmZgAAAAAAAAAGggQAAAAOcHJpY2VEaWZmQ29uc3QAAAAAAAACisgEAAAAD2V4cGlyYXRpb25Ib3VycwAAAAAAAAAAGAQAAAANbWF4RXhwaXJhdGlvbgkAAGgAAAACCQAAaAAAAAIJAABoAAAAAgUAAAAPZXhwaXJhdGlvbkhvdXJzAAAAAAAAAAA8AAAAAAAAAAA8AAAAAAAAAAPoBAAAAA9leHBpcmF0aW9uRXJyb3IJAAEsAAAAAgkAASwAAAACAgAAABZFeHBpcmF0aW9uIG11c3QgYmUgPD0gCQABpAAAAAEFAAAADW1heEV4cGlyYXRpb24CAAAAAyBtcwQAAAALc3RhcnRIZWlnaHQAAAAAAAAHqT4EAAAABmN5Y2xlcwkAAGkAAAACCQAAZQAAAAIFAAAABmhlaWdodAUAAAALc3RhcnRIZWlnaHQFAAAACmhlaWdodERpZmYEAAAACXByaWNlRGlmZgkAAGgAAAACBQAAAA5wcmljZURpZmZDb25zdAUAAAAGY3ljbGVzBAAAAA1zdGFydEJ1eVByaWNlAAAAAAAA/k/oBAAAAAttaW5CdXlQcmljZQkAAGQAAAACBQAAAA1zdGFydEJ1eVByaWNlBQAAAAlwcmljZURpZmYEAAAADWJ1eVByaWNlRXJyb3IJAAEsAAAAAgkAASwAAAACAgAAABVCdXkgcHJpY2UgbXVzdCBiZSA+PSAJAAGkAAAAAQUAAAALbWluQnV5UHJpY2UCAAAACSB3YXZlbGV0cwQAAAAMbWF4QnV5QW1vdW50AAAAAA+Bq1oABAAAAA5idXlBbW91bnRFcnJvcgkAASwAAAACAgAAABVCdXkgYW1vdW50IG11c3QgYmUgPCAJAAGkAAAAAQUAAAAMbWF4QnV5QW1vdW50BAAAAA5zdGFydFNlbGxQcmljZQAAAAAAAP5RFAQAAAAMbWluU2VsbFByaWNlCQAAZAAAAAIFAAAADnN0YXJ0U2VsbFByaWNlBQAAAAlwcmljZURpZmYEAAAADnNlbGxQcmljZUVycm9yCQABLAAAAAIJAAEsAAAAAgIAAAAWU2VsbCBwcmljZSBtdXN0IGJlID49IAkAAaQAAAABBQAAAAxtaW5TZWxsUHJpY2UCAAAACSB3YXZlbGV0cwQAAAANbWluU2VsbEFtb3VudAAAAAAAI8NGAAQAAAAPc2VsbEFtb3VudEVycm9yCQABLAAAAAICAAAAF1NlbGwgYW1vdW50IG11c3QgYmUgPj0gCQABpAAAAAEFAAAADW1pblNlbGxBbW91bnQEAAAAC3RyYW5zZmVyRmVlAAAAAAAAZZ+gBAAAAAdidXJuRmVlAAAAAAAACimQBAAAAAhvcmRlckZlZQAAAAAAAAopkAQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAE0V4Y2hhbmdlVHJhbnNhY3Rpb24EAAAAAWUFAAAAByRtYXRjaDADCQAAZgAAAAIJAABlAAAAAggIBQAAAAFlAAAACXNlbGxPcmRlcgAAAApleHBpcmF0aW9uCAgFAAAAAWUAAAAJc2VsbE9yZGVyAAAACXRpbWVzdGFtcAUAAAANbWF4RXhwaXJhdGlvbgkAAAIAAAABBQAAAA9leHBpcmF0aW9uRXJyb3IEAAAABHNlbGwJAAH0AAAAAwgIBQAAAAFlAAAACXNlbGxPcmRlcgAAAAlib2R5Qnl0ZXMJAAGRAAAAAggIBQAAAAFlAAAACXNlbGxPcmRlcgAAAAZwcm9vZnMAAAAAAAAAAAAICAUAAAABZQAAAAlzZWxsT3JkZXIAAAAPc2VuZGVyUHVibGljS2V5BAAAAANidXkJAAH0AAAAAwgIBQAAAAFlAAAACGJ1eU9yZGVyAAAACWJvZHlCeXRlcwkAAZEAAAACCAgFAAAAAWUAAAAIYnV5T3JkZXIAAAAGcHJvb2ZzAAAAAAAAAAAACAgFAAAAAWUAAAAIYnV5T3JkZXIAAAAPc2VuZGVyUHVibGljS2V5AwUAAAAEc2VsbAMDCQAAZgAAAAIICAUAAAABZQAAAAlzZWxsT3JkZXIAAAAFcHJpY2UFAAAADG1pblNlbGxQcmljZQYJAQAAAAlpc0RlZmluZWQAAAABCAgIBQAAAAFlAAAACXNlbGxPcmRlcgAAAAlhc3NldFBhaXIAAAAKcHJpY2VBc3NldAkAAAIAAAABBQAAAA5zZWxsUHJpY2VFcnJvcgMJAABmAAAAAgUAAAANbWluU2VsbEFtb3VudAgIBQAAAAFlAAAACXNlbGxPcmRlcgAAAAZhbW91bnQJAAACAAAAAQUAAAAPc2VsbEFtb3VudEVycm9yBgMFAAAAA2J1eQMDCQAAZgAAAAIFAAAAC21pbkJ1eVByaWNlCAgFAAAAAWUAAAAIYnV5T3JkZXIAAAAFcHJpY2UGCQEAAAAJaXNEZWZpbmVkAAAAAQgICAUAAAABZQAAAAhidXlPcmRlcgAAAAlhc3NldFBhaXIAAAAKcHJpY2VBc3NldAkAAAIAAAABBQAAAA1idXlQcmljZUVycm9yAwkAAGcAAAACCAgFAAAAAWUAAAAIYnV5T3JkZXIAAAAGYW1vdW50BQAAAAxtYXhCdXlBbW91bnQJAAACAAAAAQUAAAAOYnV5QW1vdW50RXJyb3IGBwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAABdAUAAAAHJG1hdGNoMAMDCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAAXQAAAAKZmVlQXNzZXRJZAYJAABmAAAAAgUAAAALdHJhbnNmZXJGZWUIBQAAAAF0AAAAA2ZlZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAPRmVlIG11c3QgYmUgPj0gCQABpAAAAAEFAAAAC3RyYW5zZmVyRmVlAgAAAAkgd2F2ZWxldHMGAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAA9CdXJuVHJhbnNhY3Rpb24EAAAAAWIFAAAAByRtYXRjaDADCQAAZgAAAAIFAAAAB2J1cm5GZWUIBQAAAAFiAAAAA2ZlZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAPRmVlIG11c3QgYmUgPj0gCQABpAAAAAEFAAAAB2J1cm5GZWUCAAAACSB3YXZlbGV0cwYG8C2s8w==", "chainId": 84, "height": 502090, "spentComplexity": 0 } View: original | compacted Prev: 3x1XjfVnMgHMnRjdQXxE2ZttMZz2qeNuU3DrrNTzrGxu Next: 29Q5umtYJvQPmqmVJW8GfQvmTG2jcneuE1Dz7f1iNzNC Diff:
OldNewDifferences
44 let priceDiffConst = 166600
55 let expirationHours = 24
66 let maxExpiration = (((expirationHours * 60) * 60) * 1000)
7+let expirationError = (("Expiration must be <= " + toString(maxExpiration)) + " ms")
78 let startHeight = 502078
89 let cycles = ((height - startHeight) / heightDiff)
910 let priceDiff = (priceDiffConst * cycles)
1011 let startBuyPrice = 16666600
1112 let minBuyPrice = (startBuyPrice + priceDiff)
13+let buyPriceError = (("Buy price must be >= " + toString(minBuyPrice)) + " wavelets")
1214 let maxBuyAmount = 66600000000
15+let buyAmountError = ("Buy amount must be < " + toString(maxBuyAmount))
1316 let startSellPrice = 16666900
1417 let minSellPrice = (startSellPrice + priceDiff)
18+let sellPriceError = (("Sell price must be >= " + toString(minSellPrice)) + " wavelets")
1519 let minSellAmount = 600000000
20+let sellAmountError = ("Sell amount must be >= " + toString(minSellAmount))
1621 let transferFee = 6660000
1722 let burnFee = 666000
1823 let orderFee = 666000
1924 match tx {
2025 case e: ExchangeTransaction =>
2126 if (((e.sellOrder.expiration - e.sellOrder.timestamp) > maxExpiration))
22- then throw((("Expirstion must be <= " + toString(maxExpiration)) + " ms"))
27+ then throw(expirationError)
2328 else {
2429 let sell = sigVerify(e.sellOrder.bodyBytes, e.sellOrder.proofs[0], e.sellOrder.senderPublicKey)
2530 let buy = sigVerify(e.buyOrder.bodyBytes, e.buyOrder.proofs[0], e.buyOrder.senderPublicKey)
2631 if (sell)
27- then if (if ((minSellPrice > e.sellOrder.price))
32+ then if (if ((e.sellOrder.price > minSellPrice))
2833 then true
2934 else isDefined(e.sellOrder.assetPair.priceAsset))
30- then throw((("Sell price must be >= " + toString(minSellPrice)) + " wavelets"))
35+ then throw(sellPriceError)
3136 else if ((minSellAmount > e.sellOrder.amount))
32- then throw(("Sell amount must be >= " + toString(minSellAmount)))
37+ then throw(sellAmountError)
3338 else true
3439 else if (buy)
3540 then if (if ((minBuyPrice > e.buyOrder.price))
3641 then true
3742 else isDefined(e.buyOrder.assetPair.priceAsset))
38- then throw((("Buy price must be >= " + toString(minBuyPrice)) + " wavelets"))
43+ then throw(buyPriceError)
3944 else if ((e.buyOrder.amount >= maxBuyAmount))
40- then throw(("Buy amount must be < " + toString(maxBuyAmount)))
45+ then throw(buyAmountError)
4146 else true
4247 else false
4348 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 1 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let heightDiff = 1666
44 let priceDiffConst = 166600
55 let expirationHours = 24
66 let maxExpiration = (((expirationHours * 60) * 60) * 1000)
7+let expirationError = (("Expiration must be <= " + toString(maxExpiration)) + " ms")
78 let startHeight = 502078
89 let cycles = ((height - startHeight) / heightDiff)
910 let priceDiff = (priceDiffConst * cycles)
1011 let startBuyPrice = 16666600
1112 let minBuyPrice = (startBuyPrice + priceDiff)
13+let buyPriceError = (("Buy price must be >= " + toString(minBuyPrice)) + " wavelets")
1214 let maxBuyAmount = 66600000000
15+let buyAmountError = ("Buy amount must be < " + toString(maxBuyAmount))
1316 let startSellPrice = 16666900
1417 let minSellPrice = (startSellPrice + priceDiff)
18+let sellPriceError = (("Sell price must be >= " + toString(minSellPrice)) + " wavelets")
1519 let minSellAmount = 600000000
20+let sellAmountError = ("Sell amount must be >= " + toString(minSellAmount))
1621 let transferFee = 6660000
1722 let burnFee = 666000
1823 let orderFee = 666000
1924 match tx {
2025 case e: ExchangeTransaction =>
2126 if (((e.sellOrder.expiration - e.sellOrder.timestamp) > maxExpiration))
22- then throw((("Expirstion must be <= " + toString(maxExpiration)) + " ms"))
27+ then throw(expirationError)
2328 else {
2429 let sell = sigVerify(e.sellOrder.bodyBytes, e.sellOrder.proofs[0], e.sellOrder.senderPublicKey)
2530 let buy = sigVerify(e.buyOrder.bodyBytes, e.buyOrder.proofs[0], e.buyOrder.senderPublicKey)
2631 if (sell)
27- then if (if ((minSellPrice > e.sellOrder.price))
32+ then if (if ((e.sellOrder.price > minSellPrice))
2833 then true
2934 else isDefined(e.sellOrder.assetPair.priceAsset))
30- then throw((("Sell price must be >= " + toString(minSellPrice)) + " wavelets"))
35+ then throw(sellPriceError)
3136 else if ((minSellAmount > e.sellOrder.amount))
32- then throw(("Sell amount must be >= " + toString(minSellAmount)))
37+ then throw(sellAmountError)
3338 else true
3439 else if (buy)
3540 then if (if ((minBuyPrice > e.buyOrder.price))
3641 then true
3742 else isDefined(e.buyOrder.assetPair.priceAsset))
38- then throw((("Buy price must be >= " + toString(minBuyPrice)) + " wavelets"))
43+ then throw(buyPriceError)
3944 else if ((e.buyOrder.amount >= maxBuyAmount))
40- then throw(("Buy amount must be < " + toString(maxBuyAmount)))
45+ then throw(buyAmountError)
4146 else true
4247 else false
4348 }
4449 case t: TransferTransaction =>
4550 if (if (isDefined(t.feeAssetId))
4651 then true
4752 else (transferFee > t.fee))
4853 then throw((("Fee must be >= " + toString(transferFee)) + " wavelets"))
4954 else true
5055 case b: BurnTransaction =>
5156 if ((burnFee > b.fee))
5257 then throw((("Fee must be >= " + toString(burnFee)) + " wavelets"))
5358 else true
5459 case _ =>
5560 true
5661 }

github/deemru/w8io/3ef1775 
122.05 ms