tx · 3Fz3YHdnmwUz9j1dr5puUeX2yWkRgLjkHAyXYEdm6WjB 3MpZDe2qdHjFapqWSSfJJQr3u1E628EQzvS: -0.01000000 Waves 2019.03.13 18:34 [534531] smart account 3MpZDe2qdHjFapqWSSfJJQr3u1E628EQzvS > SELF 0.00000000 Waves
{ "type": 13, "id": "3Fz3YHdnmwUz9j1dr5puUeX2yWkRgLjkHAyXYEdm6WjB", "fee": 1000000, "feeAssetId": null, "timestamp": 1552491265886, "version": 1, "sender": "3MpZDe2qdHjFapqWSSfJJQr3u1E628EQzvS", "senderPublicKey": "FWZUuNQoKHCvERjMk6AvrsdybZaRKpKHsTFeva2dZ6Cz", "proofs": [ "5Q5nEoV4X2165zJPXXkuZmtr6FJdL2wRHQ8ViYSv3WszcTX1tdTiRi4GFv4Wwqt3iaPCLxhfmuBCuGoB6WrVTQoj" ], "script": "base64:AgQAAAAMbWluQmV0QW1vdW50AAAAAAAF9eEABAAAAAlwYXlvdXRGZWUAAAAAAAAHoSAEAAAADW1pbkhlaWdodERpZmYAAAAAAAAAAAIEAAAADW1heEhlaWdodERpZmYAAAAAAAAAAAUEAAAABFNFTEYIBQAAAAJ0eAAAAAZzZW5kZXIEAAAAEGhlaWdodFRvR2V0TW9uZXkJAQAAAAdleHRyYWN0AAAAAQkABBoAAAACBQAAAARTRUxGAgAAABBoZWlnaHRUb0dldE1vbmV5BAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAPRGF0YVRyYW5zYWN0aW9uBAAAAANkdHgFAAAAByRtYXRjaDAEAAAAE25ld0hlaWdodFRvR2V0TW9uZXkJAQAAAAdleHRyYWN0AAAAAQkABBAAAAACCAUAAAADZHR4AAAABGRhdGECAAAAEGhlaWdodFRvR2V0TW9uZXkEAAAAC3BheW1lbnRUeElkCQEAAAAHZXh0cmFjdAAAAAEJAAQTAAAAAggFAAAAA2R0eAAAAARkYXRhAgAAAAtsYXN0UGF5bWVudAQAAAAJcGF5bWVudFR4CQAD6AAAAAEJAAJZAAAAAQUAAAALcGF5bWVudFR4SWQEAAAAByRtYXRjaDEFAAAACXBheW1lbnRUeAMJAAABAAAAAgUAAAAHJG1hdGNoMQIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAAJcGF5bWVudFR4BQAAAAckbWF0Y2gxBAAAABJjbGVhblBheW1lbnRBbW91bnQJAABpAAAAAgkAAGgAAAACAAAAAAAAAABkCAUAAAAJcGF5bWVudFR4AAAABmFtb3VudAAAAAAAAAAAbgQAAAAPZmVlUGF5bWVudEJhc2VkCQAAaQAAAAIFAAAAEmNsZWFuUGF5bWVudEFtb3VudAAAAAAAAAAACgMDAwMDAwMDAwMJAABmAAAAAgUAAAAQaGVpZ2h0VG9HZXRNb25leQUAAAAGaGVpZ2h0CQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCQAEHQAAAAIFAAAABFNFTEYFAAAAC3BheW1lbnRUeElkBwkAAAAAAAACCAUAAAAJcGF5bWVudFR4AAAACXJlY2lwaWVudAUAAAAEU0VMRgcJAABnAAAAAggFAAAACXBheW1lbnRUeAAAAAZhbW91bnQJAABkAAAAAgUAAAAMbWluQmV0QW1vdW50BQAAAA9mZWVQYXltZW50QmFzZWQHCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCAUAAAAJcGF5bWVudFR4AAAAB2Fzc2V0SWQHCQAAZgAAAAIJAABlAAAAAgUAAAATbmV3SGVpZ2h0VG9HZXRNb25leQUAAAAGaGVpZ2h0BQAAAA1taW5IZWlnaHREaWZmBwkAAGYAAAACBQAAAA1tYXhIZWlnaHREaWZmCQAAZQAAAAIFAAAAE25ld0hlaWdodFRvR2V0TW9uZXkFAAAABmhlaWdodAcJAAAAAAAAAgkAAZAAAAABCAUAAAADZHR4AAAABGRhdGEAAAAAAAAAAAMHCQEAAAAJaXNEZWZpbmVkAAAAAQkABBMAAAACCAUAAAADZHR4AAAABGRhdGEFAAAAC3BheW1lbnRUeElkBwkAAfQAAAADCAUAAAADZHR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAADZHR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAACXBheW1lbnRUeAAAAA9zZW5kZXJQdWJsaWNLZXkHCQAAAAAAAAIIBQAAAANkdHgAAAADZmVlBQAAAA9mZWVQYXltZW50QmFzZWQHBwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAAGcGF5b3V0BQAAAAckbWF0Y2gwBAAAAA1sYXN0UGF5bWVudFR4CQAD6AAAAAEJAAJZAAAAAQkBAAAAB2V4dHJhY3QAAAABCQAEHQAAAAIFAAAABFNFTEYCAAAAC2xhc3RQYXltZW50BAAAAAckbWF0Y2gxBQAAAA1sYXN0UGF5bWVudFR4AwkAAAEAAAACBQAAAAckbWF0Y2gxAgAAABNUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAA1sYXN0UGF5bWVudFR4BQAAAAckbWF0Y2gxAwMDAwkAAGcAAAACBQAAAAZoZWlnaHQFAAAAEGhlaWdodFRvR2V0TW9uZXkJAABnAAAAAggFAAAABnBheW91dAAAAAZhbW91bnQJAABlAAAAAgkBAAAADHdhdmVzQmFsYW5jZQAAAAEFAAAABFNFTEYFAAAACXBheW91dEZlZQcJAAAAAAAAAggFAAAADWxhc3RQYXltZW50VHgAAAAGc2VuZGVyCAUAAAAGcGF5b3V0AAAACXJlY2lwaWVudAcJAAAAAAAAAggFAAAABnBheW91dAAAAANmZWUFAAAACXBheW91dEZlZQcJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAAZwYXlvdXQAAAAKZmVlQXNzZXRJZAcHBz1Cpks=", "chainId": 84, "height": 534531, "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 2 #-} | |
2 | + | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | + | let minBetAmount = 100000000 | |
4 | + | let payoutFee = 500000 | |
5 | + | let minHeightDiff = 2 | |
6 | + | let maxHeightDiff = 5 | |
7 | + | let SELF = tx.sender | |
8 | + | let heightToGetMoney = extract(getInteger(SELF, "heightToGetMoney")) | |
9 | + | match tx { | |
10 | + | case dtx: DataTransaction => | |
11 | + | let newHeightToGetMoney = extract(getInteger(dtx.data, "heightToGetMoney")) | |
12 | + | let paymentTxId = extract(getString(dtx.data, "lastPayment")) | |
13 | + | let paymentTx = transactionById(fromBase58String(paymentTxId)) | |
14 | + | match paymentTx { | |
15 | + | case paymentTx: TransferTransaction => | |
16 | + | let cleanPaymentAmount = ((100 * paymentTx.amount) / 110) | |
17 | + | let feePaymentBased = (cleanPaymentAmount / 10) | |
18 | + | if (if (if (if (if (if (if (if (if (if ((heightToGetMoney > height)) | |
19 | + | then !(isDefined(getString(SELF, paymentTxId))) | |
20 | + | else false) | |
21 | + | then (paymentTx.recipient == SELF) | |
22 | + | else false) | |
23 | + | then (paymentTx.amount >= (minBetAmount + feePaymentBased)) | |
24 | + | else false) | |
25 | + | then !(isDefined(paymentTx.assetId)) | |
26 | + | else false) | |
27 | + | then ((newHeightToGetMoney - height) > minHeightDiff) | |
28 | + | else false) | |
29 | + | then (maxHeightDiff > (newHeightToGetMoney - height)) | |
30 | + | else false) | |
31 | + | then (size(dtx.data) == 3) | |
32 | + | else false) | |
33 | + | then isDefined(getString(dtx.data, paymentTxId)) | |
34 | + | else false) | |
35 | + | then sigVerify(dtx.bodyBytes, dtx.proofs[0], paymentTx.senderPublicKey) | |
36 | + | else false) | |
37 | + | then (dtx.fee == feePaymentBased) | |
38 | + | else false | |
39 | + | case _ => | |
40 | + | false | |
41 | + | } | |
42 | + | case payout: TransferTransaction => | |
43 | + | let lastPaymentTx = transactionById(fromBase58String(extract(getString(SELF, "lastPayment")))) | |
44 | + | match lastPaymentTx { | |
45 | + | case lastPaymentTx: TransferTransaction => | |
46 | + | if (if (if (if ((height >= heightToGetMoney)) | |
47 | + | then (payout.amount >= (wavesBalance(SELF) - payoutFee)) | |
48 | + | else false) | |
49 | + | then (lastPaymentTx.sender == payout.recipient) | |
50 | + | else false) | |
51 | + | then (payout.fee == payoutFee) | |
52 | + | else false) | |
53 | + | then !(isDefined(payout.feeAssetId)) | |
54 | + | else false | |
55 | + | case _ => | |
56 | + | false | |
57 | + | } | |
58 | + | case _ => | |
59 | + | false | |
60 | + | } |
github/deemru/w8io/169f3d6 22.73 ms ◑![]()