tx · 5SPMfKjknpBtWvAQAd8rB4Hvk1dneGbVi5btmqgfGVNz

3MozTr8r7fZ1siohKsJgDUBykyB3ZAmTXQz:  -1.00000000 Waves

2019.09.13 01:23 [673537] smart asset 3MozTr8r7fZ1siohKsJgDUBykyB3ZAmTXQz > SELF 0.00000000 time3

{ "type": 15, "id": "5SPMfKjknpBtWvAQAd8rB4Hvk1dneGbVi5btmqgfGVNz", "fee": 100000000, "feeAssetId": null, "timestamp": 1568327033552, "version": 1, "sender": "3MozTr8r7fZ1siohKsJgDUBykyB3ZAmTXQz", "senderPublicKey": "8xbFEr8yZ5HF64v8tiadoqScjuYSatXx8ceugsivh1zn", "proofs": [ "2Pgp6SXMmHakhpiQvWBkENi4ATfmxLfUxAtjVtkxmTjrKNNeHjmJmXzqcSZ4Z2rdxbN9bstiwTvjPZhZNvREZtu1" ], "assetId": "J6C8iuvmPWE7erepvWeYQisAy6p2Wf1uYVB2cVqriC7", "script": "base64:AgQAAAATbWluaW11bVdhdmVzQmFsYW5jZQAAAAAAO5rKAAQAAAAQbW92ZVRpbWVJbkJsb2NrcwAAAAAAAAAAAgQAAAAQbWluaW1hbEZlZVRvTW92ZQAAAAAAAJiWgAQAAAAQbWluaW1hbEZlZVRvQnVybgAAAAAAAvrwgAQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAE1RyYW5zZmVyVHJhbnNhY3Rpb24EAAAAAXQFAAAAByRtYXRjaDAEAAAABHR4SWQIBQAAAAF0AAAACmF0dGFjaG1lbnQEAAAAHGN1cnJlbnRSZWNpcGllbnRXYXZlc0JhbGFuY2UJAQAAAAx3YXZlc0JhbGFuY2UAAAABCAUAAAABdAAAAAlyZWNpcGllbnQEAAAAC3RyYW5zYWN0aW9uCQAD6AAAAAEJAQAAAAdleHRyYWN0AAAAAQgFAAAAAXQAAAAHYXNzZXRJZAQAAAAHJG1hdGNoMQUAAAALdHJhbnNhY3Rpb24DCQAAAQAAAAIFAAAAByRtYXRjaDECAAAAEElzc3VlVHJhbnNhY3Rpb24EAAAAB2lzc3VlVHgFAAAAByRtYXRjaDEEAAAAE3RyYW5zYWN0aW9uQnlJc3N1ZXIJAAAAAAAAAggFAAAAAXQAAAAPc2VuZGVyUHVibGljS2V5CAUAAAAHaXNzdWVUeAAAAA9zZW5kZXJQdWJsaWNLZXkDBQAAABN0cmFuc2FjdGlvbkJ5SXNzdWVyAwkAAGYAAAACBQAAABNtaW5pbXVtV2F2ZXNCYWxhbmNlBQAAABxjdXJyZW50UmVjaXBpZW50V2F2ZXNCYWxhbmNlCQAAAgAAAAECAAAAMEN1cnJlbnQgYmFsYW5jZSBpcyBsZXNzIHRoYW4gbWluaW1hbFdhdmVzQmFsYW5jZQYDCQAAZgAAAAIAAAAAAAAAACAJAADIAAAAAQgFAAAAAXQAAAAKYXR0YWNobWVudAkAAAIAAAABAgAAAClBdHRhY2htZW50IHNob3VsZCBjb250YWluIHRyYW5zYWN0aW9uIGlkIAQAAAAJcmVjZWl2ZVR4CQAD6AAAAAEFAAAABHR4SWQEAAAAByRtYXRjaDIFAAAACXJlY2VpdmVUeAMDCQAAAQAAAAIFAAAAByRtYXRjaDICAAAAF01hc3NUcmFuc2ZlclRyYW5zYWN0aW9uBgkAAAEAAAACBQAAAAckbWF0Y2gyAgAAABNUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAAVyZWNUeAUAAAAHJG1hdGNoMgQAAAATcmVjZWl2ZWRCbG9ja051bWJlcgkBAAAAB2V4dHJhY3QAAAABCQAD6QAAAAEIBQAAAAVyZWNUeAAAAAJpZAQAAAAacmVjZWl2ZWRBc3NldEluTGFzdE5CbG9ja3MDCQAAZwAAAAIFAAAAEG1vdmVUaW1lSW5CbG9ja3MJAABlAAAAAgUAAAAGaGVpZ2h0BQAAABNyZWNlaXZlZEJsb2NrTnVtYmVyCQAAAAAAAAIIBQAAAAF0AAAAB2Fzc2V0SWQIBQAAAAVyZWNUeAAAAAdhc3NldElkBwQAAAANZmVlTW9yZTFXYXZlcwkAAGcAAAACCAUAAAABdAAAAANmZWUFAAAAEG1pbmltYWxGZWVUb01vdmUDAwkBAAAAASEAAAABBQAAABpyZWNlaXZlZEFzc2V0SW5MYXN0TkJsb2NrcwkBAAAAASEAAAABBQAAAA1mZWVNb3JlMVdhdmVzBwkAAAIAAAABAgAAAD1Zb3UgZ290IHBvdGF0byBsb25nIHRpbWUgYWdvLCBub3cgeW91IGhhdmUgdG8gcGF5IDEgV0FWRVMgZmVlAwUAAAAacmVjZWl2ZWRBc3NldEluTGFzdE5CbG9ja3MGBQAAAA1mZWVNb3JlMVdhdmVzCQAAAgAAAAECAAAAH1JlY2VpdmUgdHggc2hvdWxkIGJlIGEgdHJhbnNmZXIJAAACAAAAAQIAAAAMTm90IGlzc3VlIHR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAA9CdXJuVHJhbnNhY3Rpb24EAAAABGJ1cm4FAAAAByRtYXRjaDADCQAAZgAAAAIFAAAAEG1pbmltYWxGZWVUb0J1cm4IBQAAAARidXJuAAAAA2ZlZQkAAAIAAAABAgAAACpZb3UgaGF2ZSB0byBwYXkgNSBXQVZFUyB0byBidXJuIHRoaXMgdG9rZW4GAwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAZU2V0QXNzZXRTY3JpcHRUcmFuc2FjdGlvbgYJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAXTWFzc1RyYW5zZmVyVHJhbnNhY3Rpb24EAAAABG1hc3MFAAAAByRtYXRjaDAEAAAAC3RyYW5zYWN0aW9uCQAD6AAAAAEJAQAAAAdleHRyYWN0AAAAAQgFAAAABG1hc3MAAAAHYXNzZXRJZAQAAAAHJG1hdGNoMQUAAAALdHJhbnNhY3Rpb24DCQAAAQAAAAIFAAAAByRtYXRjaDECAAAAEElzc3VlVHJhbnNhY3Rpb24EAAAAB2lzc3VlVHgFAAAAByRtYXRjaDEJAAAAAAAAAggFAAAABG1hc3MAAAAPc2VuZGVyUHVibGljS2V5CAUAAAAHaXNzdWVUeAAAAA9zZW5kZXJQdWJsaWNLZXkJAAACAAAAAQIAAAARQmFkIGlzc3VlIHR4IHR5cGUJAAACAAAAAQIAAAAgWW91IG9ubHkgY2FuIHRyYW5zZmVyIHRoaXMgdG9rZW5+V97D", "chainId": 84, "height": 673537, "spentComplexity": 0 } View: original | compacted Prev: BAx1SGeVh7kgchwPoPjtqojvTMgTZGRpb1XwTZz6M5hg Next: H7KX4rq7gVeF7xNe6TybegJ6DXweqTzZp8xQz6f4yeUk Full:
OldNewDifferences
11 {-# STDLIB_VERSION 2 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
3+let minimumWavesBalance = 1000000000
4+let moveTimeInBlocks = 2
5+let minimalFeeToMove = 10000000
6+let minimalFeeToBurn = 50000000
37 match tx {
48 case t: TransferTransaction =>
59 let txId = t.attachment
10+ let currentRecipientWavesBalance = wavesBalance(t.recipient)
611 let transaction = transactionById(extract(t.assetId))
712 match transaction {
813 case issueTx: IssueTransaction =>
914 let transactionByIssuer = (t.senderPublicKey == issueTx.senderPublicKey)
10- let receiveTx = transactionById(txId)
11- match receiveTx {
12- case recTx: MassTransferTransaction|TransferTransaction =>
13- let receivedBlockNumber = extract(transactionHeightById(recTx.id))
14- let receivedAssetInLastNBlocks = (2 > (height - receivedBlockNumber))
15- if (!(receivedAssetInLastNBlocks))
16- then throw("You got potato long time ago, now you have to pay 1 WAVES fee")
17- else if (receivedAssetInLastNBlocks)
18- then true
19- else if (!(transactionByIssuer))
20- then false
21- else true
22- case _ =>
23- throw("Receive tx should be a transfer")
24- }
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+ }
2541 case _ =>
26- throw("Not issue")
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")
2755 }
2856 case _ =>
29- true
57+ throw("You only can transfer this token")
3058 }

github/deemru/w8io/169f3d6 
26.64 ms