tx · oQQ49zPmzY3kn7hTatPtCEv6GNuhPoFXgME7PH4UL9C 3Mz1rRF9iHToUWjtFDMmpeUC5VUGyKVKDqd: -1.00400000 Waves 2019.02.12 18:59 [492146] smart asset 3Mz1rRF9iHToUWjtFDMmpeUC5VUGyKVKDqd > SELF 0.00000000 test
{ "type": 15, "id": "oQQ49zPmzY3kn7hTatPtCEv6GNuhPoFXgME7PH4UL9C", "fee": 100400000, "feeAssetId": null, "timestamp": 1549987141198, "version": 1, "sender": "3Mz1rRF9iHToUWjtFDMmpeUC5VUGyKVKDqd", "senderPublicKey": "3vKfctBsauq9hm9JSrWCegxQq55aovHP293eCndFuZFN", "proofs": [ "4Bdk7hRF4NLaXdE94AunVwAks8gDHyYAyTWxR9Bn21RiTq23P3gXPYeFcLyVR6VmYL2VhzTZ7kvxfc64LVWke2kE", "4xhna5xiFzzZRMRV5Fau843y2QBWAvbS5cm4B5xZQtNZ4eLQEVaLYDoqN5Pd5mpb7thxiSvUMJMYhRtCVmYVbWoL" ], "assetId": "DBp5Uzrz1iiv1butKoS9ES9rwdJcsgk9JLJsyLQMSuyu", "script": "base64:AQQAAAATbWluaW11bVdhdmVzQmFsYW5jZQAAAAAAO5rKAAQAAAAQbW92ZVRpbWVJbkJsb2NrcwAAAAAAAAATiAQAAAAQbWluaW1hbEZlZVRvTW92ZQAAAAAAAJiWgAQAAAAQbWluaW1hbEZlZVRvQnVybgAAAAAAAvrwgAQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAE1RyYW5zZmVyVHJhbnNhY3Rpb24EAAAAAXQFAAAAByRtYXRjaDAEAAAABHR4SWQIBQAAAAF0AAAACmF0dGFjaG1lbnQEAAAAHGN1cnJlbnRSZWNpcGllbnRXYXZlc0JhbGFuY2UJAQAAAAx3YXZlc0JhbGFuY2UAAAABCAUAAAABdAAAAAlyZWNpcGllbnQEAAAAC3RyYW5zYWN0aW9uCQAD6AAAAAEJAQAAAAdleHRyYWN0AAAAAQgFAAAAAXQAAAAHYXNzZXRJZAQAAAAHJG1hdGNoMQUAAAALdHJhbnNhY3Rpb24DCQAAAQAAAAIFAAAAByRtYXRjaDECAAAAEElzc3VlVHJhbnNhY3Rpb24EAAAAB2lzc3VlVHgFAAAAByRtYXRjaDEEAAAAE3RyYW5zYWN0aW9uQnlJc3N1ZXIJAAAAAAAAAggFAAAAAXQAAAAPc2VuZGVyUHVibGljS2V5CAUAAAAHaXNzdWVUeAAAAA9zZW5kZXJQdWJsaWNLZXkDBQAAABN0cmFuc2FjdGlvbkJ5SXNzdWVyAwkAAGYAAAACBQAAABNtaW5pbXVtV2F2ZXNCYWxhbmNlBQAAABxjdXJyZW50UmVjaXBpZW50V2F2ZXNCYWxhbmNlCQAAAgAAAAECAAAAMEN1cnJlbnQgYmFsYW5jZSBpcyBsZXNzIHRoYW4gbWluaW1hbFdhdmVzQmFsYW5jZQYDCQAAZgAAAAIAAAAAAAAAACAJAADIAAAAAQgFAAAAAXQAAAAKYXR0YWNobWVudAkAAAIAAAABAgAAAClBdHRhY2htZW50IHNob3VsZCBjb250YWluIHRyYW5zYWN0aW9uIGlkIAQAAAAJcmVjZWl2ZVR4CQAD6AAAAAEFAAAABHR4SWQEAAAAByRtYXRjaDIFAAAACXJlY2VpdmVUeAMDCQAAAQAAAAIFAAAAByRtYXRjaDICAAAAF01hc3NUcmFuc2ZlclRyYW5zYWN0aW9uBgkAAAEAAAACBQAAAAckbWF0Y2gyAgAAABNUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAAVyZWNUeAUAAAAHJG1hdGNoMgQAAAATcmVjZWl2ZWRCbG9ja051bWJlcgkBAAAAB2V4dHJhY3QAAAABCQAD6QAAAAEIBQAAAAVyZWNUeAAAAAJpZAQAAAAacmVjZWl2ZWRBc3NldEluTGFzdE5CbG9ja3MDCQAAZwAAAAIFAAAAEG1vdmVUaW1lSW5CbG9ja3MJAABlAAAAAgUAAAAGaGVpZ2h0BQAAABNyZWNlaXZlZEJsb2NrTnVtYmVyCQAAAAAAAAIIBQAAAAF0AAAAB2Fzc2V0SWQIBQAAAAVyZWNUeAAAAAdhc3NldElkBwQAAAANZmVlTW9yZTFXYXZlcwkAAGcAAAACCAUAAAABdAAAAANmZWUFAAAAEG1pbmltYWxGZWVUb01vdmUDAwkBAAAAASEAAAABBQAAABpyZWNlaXZlZEFzc2V0SW5MYXN0TkJsb2NrcwkBAAAAASEAAAABBQAAAA1mZWVNb3JlMVdhdmVzBwkAAAIAAAABAgAAAD1Zb3UgZ290IHBvdGF0byBsb25nIHRpbWUgYWdvLCBub3cgeW91IGhhdmUgdG8gcGF5IDEgV0FWRVMgZmVlAwUAAAAacmVjZWl2ZWRBc3NldEluTGFzdE5CbG9ja3MGBQAAAA1mZWVNb3JlMVdhdmVzCQAAAgAAAAECAAAAH1JlY2VpdmUgdHggc2hvdWxkIGJlIGEgdHJhbnNmZXIJAAACAAAAAQIAAAAMTm90IGlzc3VlIHR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAA9CdXJuVHJhbnNhY3Rpb24EAAAABGJ1cm4FAAAAByRtYXRjaDADCQAAZgAAAAIFAAAAEG1pbmltYWxGZWVUb0J1cm4IBQAAAARidXJuAAAAA2ZlZQkAAAIAAAABAgAAACpZb3UgaGF2ZSB0byBwYXkgNSBXQVZFUyB0byBidXJuIHRoaXMgdG9rZW4GAwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAZU2V0QXNzZXRTY3JpcHRUcmFuc2FjdGlvbgYJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAXTWFzc1RyYW5zZmVyVHJhbnNhY3Rpb24EAAAABG1hc3MFAAAAByRtYXRjaDAEAAAAC3RyYW5zYWN0aW9uCQAD6AAAAAEJAQAAAAdleHRyYWN0AAAAAQgFAAAABG1hc3MAAAAHYXNzZXRJZAQAAAAHJG1hdGNoMQUAAAALdHJhbnNhY3Rpb24DCQAAAQAAAAIFAAAAByRtYXRjaDECAAAAEElzc3VlVHJhbnNhY3Rpb24EAAAAB2lzc3VlVHgFAAAAByRtYXRjaDEJAAAAAAAAAggFAAAABG1hc3MAAAAPc2VuZGVyUHVibGljS2V5CAUAAAAHaXNzdWVUeAAAAA9zZW5kZXJQdWJsaWNLZXkJAAACAAAAAQIAAAARQmFkIGlzc3VlIHR4IHR5cGUJAAACAAAAAQIAAAAgWW91IG9ubHkgY2FuIHRyYW5zZmVyIHRoaXMgdG9rZW4jpOi9", "chainId": 84, "height": 492146, "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 1 #-} | |
2 | + | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | + | let minimumWavesBalance = 1000000000 | |
4 | + | let moveTimeInBlocks = 5000 | |
5 | + | let minimalFeeToMove = 10000000 | |
6 | + | let minimalFeeToBurn = 50000000 | |
7 | + | match tx { | |
8 | + | case t: TransferTransaction => | |
9 | + | let txId = t.attachment | |
10 | + | let currentRecipientWavesBalance = wavesBalance(t.recipient) | |
11 | + | let transaction = transactionById(extract(t.assetId)) | |
12 | + | match transaction { | |
13 | + | case issueTx: IssueTransaction => | |
14 | + | let transactionByIssuer = (t.senderPublicKey == issueTx.senderPublicKey) | |
15 | + | if (transactionByIssuer) | |
16 | + | then if ((minimumWavesBalance > currentRecipientWavesBalance)) | |
17 | + | then throw("Current balance is less than minimalWavesBalance") | |
18 | + | else true | |
19 | + | else if ((32 > size(t.attachment))) | |
20 | + | then throw("Attachment should contain transaction id ") | |
21 | + | else { | |
22 | + | let receiveTx = transactionById(txId) | |
23 | + | match receiveTx { | |
24 | + | case recTx: MassTransferTransaction|TransferTransaction => | |
25 | + | let receivedBlockNumber = extract(transactionHeightById(recTx.id)) | |
26 | + | let receivedAssetInLastNBlocks = if ((moveTimeInBlocks >= (height - receivedBlockNumber))) | |
27 | + | then (t.assetId == recTx.assetId) | |
28 | + | else false | |
29 | + | let feeMore1Waves = (t.fee >= minimalFeeToMove) | |
30 | + | if (if (!(receivedAssetInLastNBlocks)) | |
31 | + | then !(feeMore1Waves) | |
32 | + | else false) | |
33 | + | then throw("You got potato long time ago, now you have to pay 1 WAVES fee") | |
34 | + | else if (receivedAssetInLastNBlocks) | |
35 | + | then true | |
36 | + | else feeMore1Waves | |
37 | + | case _ => | |
38 | + | throw("Receive tx should be a transfer") | |
39 | + | } | |
40 | + | } | |
41 | + | case _ => | |
42 | + | throw("Not issue tx") | |
43 | + | } | |
44 | + | case burn: BurnTransaction => | |
45 | + | if ((minimalFeeToBurn > burn.fee)) | |
46 | + | then throw("You have to pay 5 WAVES to burn this token") | |
47 | + | else true | |
48 | + | case mass: SetAssetScriptTransaction|MassTransferTransaction => | |
49 | + | let transaction = transactionById(extract(mass.assetId)) | |
50 | + | match transaction { | |
51 | + | case issueTx: IssueTransaction => | |
52 | + | (mass.senderPublicKey == issueTx.senderPublicKey) | |
53 | + | case _ => | |
54 | + | throw("Bad issue tx type") | |
55 | + | } | |
56 | + | case _ => | |
57 | + | throw("You only can transfer this token") | |
58 | + | } |
github/deemru/w8io/026f985 15.49 ms ◑