tx · CMoTnoFEBwB7idH2RU9nGnmx6odExLypbnPSm8GTEDUD 3MqEisFsWdhvDMAKBwZzZv4niVsfJJtxcaw: -0.01000000 Waves 2019.01.26 13:45 [467079] smart account 3MqEisFsWdhvDMAKBwZzZv4niVsfJJtxcaw > SELF 0.00000000 Waves
{ "type": 13, "id": "CMoTnoFEBwB7idH2RU9nGnmx6odExLypbnPSm8GTEDUD", "fee": 1000000, "feeAssetId": null, "timestamp": 1548499446421, "version": 1, "sender": "3MqEisFsWdhvDMAKBwZzZv4niVsfJJtxcaw", "senderPublicKey": "CW5DxpGCtnJZYLWfiibxzfHP1t6B5QW8iCWgrDeQhcdH", "proofs": [ "61iKwZRWog6BpVBU5G1dDhprHpWjUkJtSTc5Qd4GRARGqs93dRnKSYTEjyssfGXThqSE8YziEWa1iujd5Yk2cCZL" ], "script": "base64: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", "chainId": 84, "height": 467079, "spentComplexity": 0 } View: original | compacted Prev: EBSJp1QHahLZLJh9Yj3z8EjQFP9YPEw9t4jziEbEVx6N Next: 2QetXFP5wAjYDamkFeYb8omnKcjtnZH5cFdvk8fKfDRP Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 1 #-} | |
2 | + | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | + | let betAmount = 100000000 | |
4 | + | let dataTxFee = 10000000 | |
5 | + | let payoutFee = 500000 | |
6 | + | let minHeightDiff = 55 | |
7 | + | let maxHeightDiff = 65 | |
8 | + | let me = tx.sender | |
9 | + | let heightToGetMoney = extract(getInteger(me, "heightToGetMoney")) | |
10 | + | match tx { | |
11 | + | case t: DataTransaction => | |
12 | + | let newHeightToGetMoney = extract(getInteger(t.data, "heightToGetMoney")) | |
13 | + | let paymentTxId = extract(getString(t.data, "lastPayment")) | |
14 | + | let paymentTx = transactionById(fromBase58String(paymentTxId)) | |
15 | + | match paymentTx { | |
16 | + | case paymentTx: TransferTransaction => | |
17 | + | if (if (if (if (if (if (if (if (if (if ((heightToGetMoney > height)) | |
18 | + | then !(isDefined(getString(me, paymentTxId))) | |
19 | + | else false) | |
20 | + | then (paymentTx.recipient == me) | |
21 | + | else false) | |
22 | + | then (paymentTx.amount >= (betAmount + dataTxFee)) | |
23 | + | else false) | |
24 | + | then !(isDefined(paymentTx.assetId)) | |
25 | + | else false) | |
26 | + | then ((newHeightToGetMoney - height) > minHeightDiff) | |
27 | + | else false) | |
28 | + | then (maxHeightDiff > (newHeightToGetMoney - height)) | |
29 | + | else false) | |
30 | + | then (size(t.data) == 3) | |
31 | + | else false) | |
32 | + | then isDefined(getString(t.data, paymentTxId)) | |
33 | + | else false) | |
34 | + | then sigVerify(t.bodyBytes, t.proofs[0], paymentTx.senderPublicKey) | |
35 | + | else false) | |
36 | + | then (t.fee == dataTxFee) | |
37 | + | else false | |
38 | + | case _ => | |
39 | + | false | |
40 | + | } | |
41 | + | case payout: TransferTransaction => | |
42 | + | let lastPaymentTx = transactionById(fromBase58String(extract(getString(me, "lastPayment")))) | |
43 | + | match lastPaymentTx { | |
44 | + | case lastPaymentTx: TransferTransaction => | |
45 | + | if (if (if ((height >= heightToGetMoney)) | |
46 | + | then (lastPaymentTx.sender == payout.recipient) | |
47 | + | else false) | |
48 | + | then (payout.fee == payoutFee) | |
49 | + | else false) | |
50 | + | then !(isDefined(payout.feeAssetId)) | |
51 | + | else false | |
52 | + | case _ => | |
53 | + | false | |
54 | + | } | |
55 | + | case _ => | |
56 | + | sigVerify(tx.bodyBytes, tx.proofs[0], base58'BVv1ZuE3gKFa6krwWJQwEmrLYUESuUabNCXgYTmCoBt6') | |
57 | + | } |
github/deemru/w8io/026f985 45.41 ms ◑