tx · 5FKVB6BEyqhWfx5STkvBCTy6zuVvq99C4GiVoCpcsXwB 3N7FMWSc4rRY3Gd6FEbVwCAcexQjuy6Nk7i: -0.01400000 Waves 2019.01.27 17:20 [468745] smart account 3N7FMWSc4rRY3Gd6FEbVwCAcexQjuy6Nk7i > SELF 0.00000000 Waves
{ "type": 13, "id": "5FKVB6BEyqhWfx5STkvBCTy6zuVvq99C4GiVoCpcsXwB", "fee": 1400000, "feeAssetId": null, "timestamp": 1548598808462, "version": 1, "sender": "3N7FMWSc4rRY3Gd6FEbVwCAcexQjuy6Nk7i", "senderPublicKey": "2JuqCboosjGdvPpspNEHLK7BvVwjYpGRXBngdz2LtTMX", "proofs": [ "1111111111111111111111111111111111111111111111111111111111111111" ], "script": "base64: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", "chainId": 84, "height": 468745, "spentComplexity": 0 } View: original | compacted Prev: 4V5aWxMxF4kYWRVu6ZLnJMMgVcj1NEcsGM9xwn6gQ2RU Next: B6dMiWngB1FxZSn7fYYqKNmCLDE7hmtWkmgNgwVZTNCn Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 1 #-} | |
2 | 2 | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | - | true | |
3 | + | let payedAmount = (1 * 100000000) | |
4 | + | let payedTxFee = 10000000 | |
5 | + | let dataTxFee = 10000000 | |
6 | + | let square = 50 | |
7 | + | let startPos = 0 | |
8 | + | let endPos = (((1000 * 1000) / square) / square) | |
9 | + | let me = tx.sender | |
10 | + | match tx { | |
11 | + | case t: DataTransaction => | |
12 | + | let insertPos = extract(getInteger(t.data, "pos")) | |
13 | + | let paymentTxId = extract(getString(t.data, "paymentTxId")) | |
14 | + | let satisfiesFormat = if (if (if (if ((size(t.data) == 4)) | |
15 | + | then isDefined(getInteger(t.data, "pos")) | |
16 | + | else false) | |
17 | + | then isDefined(getString(t.data, "paymentTxId")) | |
18 | + | else false) | |
19 | + | then isDefined(getString(t.data, insertPos)) | |
20 | + | else false) | |
21 | + | then isDefined(getString(t.data, paymentTxId)) | |
22 | + | else false | |
23 | + | let validPos = if ((insertPos >= startPos)) | |
24 | + | then (endPos > insertPos) | |
25 | + | else false | |
26 | + | let posNotUsed = !(isDefined(getString(me, toString(insertPos)))) | |
27 | + | let txNotUsed = !(isDefined(getString(me, paymentTxId))) | |
28 | + | let dataTransactionValid = if (if (if (satisfiesFormat) | |
29 | + | then validPos | |
30 | + | else false) | |
31 | + | then posNotUsed | |
32 | + | else false) | |
33 | + | then txNotUsed | |
34 | + | else false | |
35 | + | let paymentTx = transactionById(fromBase58String(paymentTxId)) | |
36 | + | match paymentTx { | |
37 | + | case paymentTx: TransferTransaction => | |
38 | + | if (if (if (if (if (dataTransactionValid) | |
39 | + | then (paymentTx.recipient == me) | |
40 | + | else false) | |
41 | + | then (paymentTx.amount >= (payedAmount - payedTxFee)) | |
42 | + | else false) | |
43 | + | then !(isDefined(paymentTx.assetId)) | |
44 | + | else false) | |
45 | + | then sigVerify(t.bodyBytes, t.proofs[0], paymentTx.senderPublicKey) | |
46 | + | else false) | |
47 | + | then (t.fee == dataTxFee) | |
48 | + | else false | |
49 | + | case _ => | |
50 | + | false | |
51 | + | } | |
52 | + | case _ => | |
53 | + | true | |
54 | + | } |
github/deemru/w8io/3ef1775 41.13 ms ◑![]()