tx · FPH3PNXT7MGkGNNnqHWRuyqZC89oEhjfjnBAx3kiLuQe

3N3Ki5iWxcA8TkniMdoE371AgiN6F6LqA4T:  -0.01400000 Waves

2019.02.22 02:19 [505670] smart account 3N3Ki5iWxcA8TkniMdoE371AgiN6F6LqA4T > SELF 0.00000000 Waves

{ "type": 13, "id": "FPH3PNXT7MGkGNNnqHWRuyqZC89oEhjfjnBAx3kiLuQe", "fee": 1400000, "feeAssetId": null, "timestamp": 1550791237707, "version": 1, "sender": "3N3Ki5iWxcA8TkniMdoE371AgiN6F6LqA4T", "senderPublicKey": "GZCY8ioXk9bQGzjpSWzsRRiSsHJTgavE8bzuAkzSUDkF", "proofs": [ "2yZMXirdRvVMej3nS6LUamEz431QdkSvCtyoLYRoGPWjgdVAUHNdTj18ViW8eZj1s6DLVDBQ1KeMkdLqR3s8rYZ" ], "script": "base64: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YXltZW50VHhJZAQAAAAKaGVpZ2h0T2ZUeAkBAAAAB2V4dHJhY3QAAAABCQAD6QAAAAEJAAJZAAAAAQUAAAALcGF5bWVudFR4SWQEAAAAEHBheWVkQW1vdW50RmluYWwDCQAAZgAAAAIFAAAACmhlaWdodE9mVHgFAAAAEWxhc3RIZWlnaHRGb3JTYWxlBQAAAAtwYXllZEFtb3VudAkAAGgAAAACCQAAaQAAAAIFAAAAC3BheWVkQW1vdW50AAAAAAAAAAAFAAAAAAAAAAAEBAAAAApjb3B5cmlnaHQzAgAAADxAdHJhZGlzeXNfZ2xvYmFsIHZhbGlkYXRvciBmb3IgcHVibGljIERhdGFUcmFuc2FjdGlvbiBtZXRob2QEAAAAByRtYXRjaDEFAAAACXBheW1lbnRUeAMJAAABAAAAAgUAAAAHJG1hdGNoMQIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAAJcGF5bWVudFR4BQAAAAckbWF0Y2gxAwMDAwMFAAAAFmRhdGFUcmFuc2FjdGlvbklzVmFsaWQJAAAAAAAAAggFAAAACXBheW1lbnRUeAAAAAlyZWNpcGllbnQFAAAADGFkZHJlc3NUb1BheQcJAABnAAAAAggFAAAACXBheW1lbnRUeAAAAAZhbW91bnQJAABlAAAAAgUAAAAQcGF5ZWRBbW91bnRGaW5hbAUAAAAKcGF5ZWRUeEZlZQcJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAAlwYXltZW50VHgAAAAHYXNzZXRJZAcJAAH0AAAAAwgFAAAAAXQAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAF0AAAABnByb29mcwAAAAAAAAAAAAgFAAAACXBheW1lbnRUeAAAAA9zZW5kZXJQdWJsaWNLZXkHCQAAAAAAAAIIBQAAAAF0AAAAA2ZlZQUAAAAJZGF0YVR4RmVlBwcH+E75FA==", "chainId": 84, "height": 505670, "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 1 #-}
2+{-# CONTENT_TYPE EXPRESSION #-}
3+let author = "MaDaMa Labs @daidalos"
4+let oneWaves = 100000000
5+let payedAmount = (1 * oneWaves)
6+let payedTxFee = (oneWaves / 100)
7+let dataTxFee = (oneWaves / 100)
8+let square = 40
9+let startPos = 0
10+let endPos = (((1000 * 1000) / square) / square)
11+let lastHeightForSale = 508000
12+let addressToPayPublicKey = base58'3hirpH45uoJWbtBENs21fLwCtsgTQbbyUHfZDnLeDnC5'
13+let addressToPay = addressFromPublicKey(addressToPayPublicKey)
14+let mePublicKey = base58'GZCY8ioXk9bQGzjpSWzsRRiSsHJTgavE8bzuAkzSUDkF'
15+let me = addressFromPublicKey(mePublicKey)
16+match tx {
17+ case t: DataTransaction =>
18+ let insertPos = extract(getInteger(t.data, "pos"))
19+ let copyright0 = "@tradisys_global validator for public DataTransaction method"
20+ let paymentTxId = extract(getString(t.data, "pTxId"))
21+ let satisfiesFormat = if (if (if (if (if ((size(t.data) == 4))
22+ then isDefined(getInteger(t.data, "pos"))
23+ else false)
24+ then isDefined(getString(t.data, toString(insertPos)))
25+ else false)
26+ then isDefined(getString(t.data, "pTxId"))
27+ else false)
28+ then isDefined(getBoolean(t.data, paymentTxId))
29+ else false)
30+ then (extract(getBoolean(t.data, paymentTxId)) == true)
31+ else false
32+ let validPos = if ((insertPos >= startPos))
33+ then (endPos >= insertPos)
34+ else false
35+ let posNotUsed = if (!(isDefined(getString(me, toString(insertPos)))))
36+ then true
37+ else (insertPos == endPos)
38+ let copyright1 = "@tradisys_global validator for public DataTransaction method"
39+ let txIdNotUsed = !(isDefined(getBoolean(me, paymentTxId)))
40+ let dataTransactionIsValid = if (if (if (satisfiesFormat)
41+ then validPos
42+ else false)
43+ then posNotUsed
44+ else false)
45+ then txIdNotUsed
46+ else false
47+ let copyright2 = "@tradisys_global validator for public DataTransaction method"
48+ let paymentTx = transactionById(fromBase58String(paymentTxId))
49+ let heightOfTx = extract(transactionHeightById(fromBase58String(paymentTxId)))
50+ let payedAmountFinal = if ((heightOfTx > lastHeightForSale))
51+ then payedAmount
52+ else ((payedAmount / 5) * 4)
53+ let copyright3 = "@tradisys_global validator for public DataTransaction method"
54+ match paymentTx {
55+ case paymentTx: TransferTransaction =>
56+ if (if (if (if (if (dataTransactionIsValid)
57+ then (paymentTx.recipient == addressToPay)
58+ else false)
59+ then (paymentTx.amount >= (payedAmountFinal - payedTxFee))
60+ else false)
61+ then !(isDefined(paymentTx.assetId))
62+ else false)
63+ then sigVerify(t.bodyBytes, t.proofs[0], paymentTx.senderPublicKey)
64+ else false)
65+ then (t.fee == dataTxFee)
66+ else false
67+ case _ =>
68+ false
69+ }
70+ case _ =>
71+ false
72+}

github/deemru/w8io/3ef1775 
35.12 ms