tx · DLDeocvDP5EoaaKxAqWifDs9a6bgjdbnvvxEpk1GpqaS 3N24X5NaYvqv8czZ5uYgLDcoXrmnB62JYK7: -0.01000000 Waves 2019.03.19 13:56 [543025] smart account 3N24X5NaYvqv8czZ5uYgLDcoXrmnB62JYK7 > SELF 0.00000000 Waves
{ "type": 13, "id": "DLDeocvDP5EoaaKxAqWifDs9a6bgjdbnvvxEpk1GpqaS", "fee": 1000000, "feeAssetId": null, "timestamp": 1552992962989, "version": 1, "sender": "3N24X5NaYvqv8czZ5uYgLDcoXrmnB62JYK7", "senderPublicKey": "6ALjgiUfzgRey9U8xTwX3SKCoKAhGNqivLRzhVPj6yh6", "proofs": [ "4Mv4CgkZ2pdwKgrr3tcp9hCXXX4T1Cr2ESKR4DJrmkJcen4eXvnUSKqfBvehn2djz6tWZwB61GuCEjeUyVPdYEnn" ], "script": "base64:AgQAAAAERGF0YQkBAAAAB0FkZHJlc3MAAAABAQAAABoBVIU59Qz2jVMV/fXpMdVqG8TGE8YAYu/GTgQAAAAEbG9jawkBAAAAB2V4dHJhY3QAAAABCQAEGwAAAAIFAAAABERhdGECAAAABGxvY2sEAAAADmluc3VyYW5jZVRva2VuAQAAACBy72dQ0ZMjIs0xx4KF6vJE0lvPJmTew2CON6rYfsbsHAQAAAAEdGhpcwkBAAAAB2V4dHJhY3QAAAABCAUAAAACdHgAAAAGc2VuZGVyBAAAAAxmcmVlemVQZXJpb2QAAAAAAAACSfAEAAAADmluc3VyYW5jZVByaWNlAAAAAAAAACcQAwUAAAAEbG9jawQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0RhdGFUcmFuc2FjdGlvbgQAAAABZAUAAAAHJG1hdGNoMAMJAAAAAAAAAgkAAZAAAAABCAUAAAABZAAAAARkYXRhAAAAAAAAAAABCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCQAEHAAAAAIFAAAABHRoaXMICQABkQAAAAIIBQAAAAFkAAAABGRhdGEAAAAAAAAAAAAAAAADa2V5BwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATRXhjaGFuZ2VUcmFuc2FjdGlvbgQAAAABZQUAAAAHJG1hdGNoMAMJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEJAAGRAAAAAggFAAAAAWUAAAAGcHJvb2ZzAAAAAAAAAAAHCQAB9AAAAAMIBQAAAAFlAAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAABZQAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAFlAAAAD3NlbmRlclB1YmxpY0tleQQAAAAKcHVyY2hhc2VUeAkAA+gAAAABCQABkQAAAAIIBQAAAAFlAAAABnByb29mcwAAAAAAAAAABwQAAAAQcHVyY2hhc2VUeEhlaWdodAkBAAAAB2V4dHJhY3QAAAABCQAD6QAAAAEJAAGRAAAAAggFAAAAAWUAAAAGcHJvb2ZzAAAAAAAAAAAHBAAAAAckbWF0Y2gxBQAAAApwdXJjaGFzZVR4AwkAAAEAAAACBQAAAAckbWF0Y2gxAgAAABNFeGNoYW5nZVRyYW5zYWN0aW9uBAAAAAhwdXJjaGFzZQUAAAAHJG1hdGNoMQQAAAANY29ycmVjdFNlbmRlcgkAAAAAAAACCAUAAAAIcHVyY2hhc2UAAAAGc2VuZGVyCAgFAAAAAWUAAAAJc2VsbE9yZGVyAAAABnNlbmRlcgQAAAAQY29ycmVjdEFzc2V0UGFpcgMDCQAAAAAAAAIICAgFAAAAAWUAAAAJc2VsbE9yZGVyAAAACWFzc2V0UGFpcgAAAAthbW91bnRBc3NldAUAAAAOaW5zdXJhbmNlVG9rZW4JAAAAAAAAAggICAUAAAAIcHVyY2hhc2UAAAAJc2VsbE9yZGVyAAAACWFzc2V0UGFpcgAAAAthbW91bnRBc3NldAUAAAAOaW5zdXJhbmNlVG9rZW4HCQAAAAAAAAIICAgFAAAAAWUAAAAJc2VsbE9yZGVyAAAACWFzc2V0UGFpcgAAAApwcmljZUFzc2V0CAgIBQAAAAhwdXJjaGFzZQAAAAlzZWxsT3JkZXIAAAAJYXNzZXRQYWlyAAAACnByaWNlQXNzZXQHBAAAAAxjb3JyZWN0UHJpY2UDCQAAAAAAAAIIBQAAAAFlAAAABXByaWNlCQAAZQAAAAIIBQAAAAhwdXJjaGFzZQAAAAVwcmljZQUAAAAOaW5zdXJhbmNlUHJpY2UJAAAAAAAAAggFAAAAAWUAAAAGYW1vdW50CAUAAAAIcHVyY2hhc2UAAAAGYW1vdW50BwQAAAANY29ycmVjdEhlaWdodAkAAGYAAAACBQAAAAZoZWlnaHQJAABkAAAAAgUAAAAQcHVyY2hhc2VUeEhlaWdodAUAAAAMZnJlZXplUGVyaW9kBAAAAAxjb3JyZWN0UHJvb2YJAAAAAAAAAgkBAAAAB2V4dHJhY3QAAAABCQAEHAAAAAIFAAAABHRoaXMJAAJYAAAAAQgFAAAACHB1cmNoYXNlAAAAAmlkCAgFAAAAAWUAAAAJc2VsbE9yZGVyAAAAAmlkAwMDAwUAAAANY29ycmVjdFNlbmRlcgUAAAAQY29ycmVjdEFzc2V0UGFpcgcFAAAADGNvcnJlY3RQcmljZQcFAAAADWNvcnJlY3RIZWlnaHQHBQAAAAxjb3JyZWN0UHJvb2YHBwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkEAAAAByRtYXRjaDAFAAAAAnR4BjMP6Us=", "chainId": 84, "height": 543025, "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 Data = Address(base58'3N24X5NaYvqv8czZ5uYgLDcoXrmnB62JYK7') | |
4 | + | let lock = extract(getBoolean(Data, "lock")) | |
5 | + | let insuranceToken = base58'8jfD2JBLe23XtCCSQoTx5eAW5QCU6Mbxi3r78aNQLcNf' | |
6 | + | let this = extract(tx.sender) | |
7 | + | let freezePeriod = 150000 | |
8 | + | let insurancePrice = 10000 | |
9 | + | if (lock) | |
10 | + | then match tx { | |
11 | + | case d: DataTransaction => | |
12 | + | if ((size(d.data) == 1)) | |
13 | + | then !(isDefined(getBinary(this, d.data[0].key))) | |
14 | + | else false | |
15 | + | case e: ExchangeTransaction => | |
16 | + | if (!(isDefined(e.proofs[7]))) | |
17 | + | then sigVerify(e.bodyBytes, e.proofs[0], e.senderPublicKey) | |
18 | + | else { | |
19 | + | let purchaseTx = transactionById(e.proofs[7]) | |
20 | + | let purchaseTxHeight = extract(transactionHeightById(e.proofs[7])) | |
21 | + | match purchaseTx { | |
22 | + | case purchase: ExchangeTransaction => | |
23 | + | let correctSender = (purchase.sender == e.sellOrder.sender) | |
24 | + | let correctAssetPair = if (if ((e.sellOrder.assetPair.amountAsset == insuranceToken)) | |
25 | + | then (purchase.sellOrder.assetPair.amountAsset == insuranceToken) | |
26 | + | else false) | |
27 | + | then (e.sellOrder.assetPair.priceAsset == purchase.sellOrder.assetPair.priceAsset) | |
28 | + | else false | |
29 | + | let correctPrice = if ((e.price == (purchase.price - insurancePrice))) | |
30 | + | then (e.amount == purchase.amount) | |
31 | + | else false | |
32 | + | let correctHeight = (height > (purchaseTxHeight + freezePeriod)) | |
33 | + | let correctProof = (extract(getBinary(this, toBase58String(purchase.id))) == e.sellOrder.id) | |
34 | + | if (if (if (if (correctSender) | |
35 | + | then correctAssetPair | |
36 | + | else false) | |
37 | + | then correctPrice | |
38 | + | else false) | |
39 | + | then correctHeight | |
40 | + | else false) | |
41 | + | then correctProof | |
42 | + | else false | |
43 | + | case _ => | |
44 | + | false | |
45 | + | } | |
46 | + | } | |
47 | + | case _ => | |
48 | + | sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
49 | + | } | |
50 | + | else match tx { | |
51 | + | case _ => | |
52 | + | true | |
53 | + | } |
github/deemru/w8io/169f3d6 15.50 ms ◑![]()