tx · 6RiijBwdLP53zSJGHdShkAAAGTokrq3Ag2HubvucvpML 3MxwS9SVbzkGjLhjwHzwU2Y5woR9GefLiyd: -1.04000000 Waves 2019.02.03 02:53 [478061] smart asset 3MxwS9SVbzkGjLhjwHzwU2Y5woR9GefLiyd > SELF 0 xxxx
{ "type": 15, "id": "6RiijBwdLP53zSJGHdShkAAAGTokrq3Ag2HubvucvpML", "fee": 104000000, "feeAssetId": null, "timestamp": 1549151591691, "version": 1, "sender": "3MxwS9SVbzkGjLhjwHzwU2Y5woR9GefLiyd", "senderPublicKey": "CPzTyJ5SnPvs5ksmtZGfNhEUYgGKZD9iAuG6LEieENjE", "proofs": [ "2YreupfCdvEmNPWbfgUeLgMXHeV7oPZwaK1HB67pqKhz4cpHapbJE7iRZSwMt46woHe5YbnuYZFbf8su6v1Am222" ], "assetId": "7qQJ3Pwt41BaQNJ9sVSnGGCgm36i2jLBE6aVPJ4mwuQw", "script": "base64:AQQAAAARdm90ZUJhbmtQdWJsaWNLZXkJAAJZAAAAAQIAAAArYXpXaHlOTVFqRVk5QVF0MmV5U1hYcVIyOE5Kd0ViSlRLeTEzMnprVm9UZQQAAAAIdm90ZUJhbmsJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAEXZvdGVCYW5rUHVibGljS2V5BAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAABdAUAAAAHJG1hdGNoMAQAAAAHaXNzdWVUeAkAA+gAAAABCQEAAAAHZXh0cmFjdAAAAAEIBQAAAAF0AAAAB2Fzc2V0SWQEAAAAByRtYXRjaDEFAAAAB2lzc3VlVHgDCQAAAQAAAAIFAAAAByRtYXRjaDECAAAAEElzc3VlVHJhbnNhY3Rpb24EAAAAB2lzc3VlVHgFAAAAByRtYXRjaDEEAAAAEXJlZ0Fzc2V0Rm9yVm90aW5nCQAEGgAAAAIFAAAACHZvdGVCYW5rCQACWAAAAAEIBQAAAAdpc3N1ZVR4AAAAAmlkAwkAAAAAAAACCAUAAAABdAAAAAZzZW5kZXIIBQAAAAdpc3N1ZVR4AAAABnNlbmRlcgQAAAAYdm90aW5nQXNzZXRDb25kaXRpb25zTWV0AwMDAwkBAAAACWlzRGVmaW5lZAAAAAEFAAAAEXJlZ0Fzc2V0Rm9yVm90aW5nCQAAAAAAAAIIBQAAAAF0AAAACXJlY2lwaWVudAUAAAAIdm90ZUJhbmsHCQEAAAABIQAAAAEIBQAAAAdpc3N1ZVR4AAAACnJlaXNzdWFibGUHCQAAAAAAAAIIBQAAAAdpc3N1ZVR4AAAACHF1YW50aXR5CAUAAAABdAAAAAZhbW91bnQHCQAAAAAAAAIIBQAAAAdpc3N1ZVR4AAAACGRlY2ltYWxzAAAAAAAAAAAABwMFAAAAGHZvdGluZ0Fzc2V0Q29uZGl0aW9uc01ldAYJAAACAAAAAQIAAABEc3RhcnQgdm90aW5nIGNvbmRpdGlvbnMgbm90IG1ldC4gVm90aW5nIG5vdCByZWdpc3RyZWQgb3Igd3JvbmcgYXNzZXQEAAAADnZvdGVyUHVibGljS2V5CAUAAAABdAAAAAphdHRhY2htZW50BAAAAAx2b3RlckFkZHJlc3MJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAADnZvdGVyUHVibGljS2V5BAAAAAp2b3RlclJlZ0lkCQAEHAAAAAIIBQAAAAdpc3N1ZVR4AAAABnNlbmRlcgkAAlgAAAABCAUAAAAMdm90ZXJBZGRyZXNzAAAABWJ5dGVzAwkBAAAACWlzRGVmaW5lZAAAAAEFAAAACnZvdGVyUmVnSWQEAAAADnZvdGVyU2lnbmF0dXJlCQAAyQAAAAIJAQAAAAdleHRyYWN0AAAAAQUAAAAKdm90ZXJSZWdJZAAAAAAAAAAAQAQAAAAJdm90ZXJUeElkCQAAygAAAAIJAQAAAAdleHRyYWN0AAAAAQUAAAAKdm90ZXJSZWdJZAAAAAAAAAAAQAMJAAAAAAAAAggFAAAAAXQAAAACaWQFAAAACXZvdGVyVHhJZAMDAwMJAAAAAAAAAggFAAAAAXQAAAAPc2VuZGVyUHVibGljS2V5BQAAABF2b3RlQmFua1B1YmxpY0tleQkAAAAAAAACCAUAAAABdAAAAAZhbW91bnQAAAAAAAAAAAEHCQAAZgAAAAIAAAAAAACYloAIBQAAAAF0AAAAA2ZlZQcJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEJAAPoAAAAAQUAAAAJdm90ZXJUeElkBwkAAfQAAAADCAUAAAABdAAAAAlib2R5Qnl0ZXMFAAAADnZvdGVyU2lnbmF0dXJlBQAAAA52b3RlclB1YmxpY0tleQcJAAACAAAAAQIAAAAVd3JvbmcgdHggaWQgcmVnaXN0cmVkCQAAAgAAAAECAAAAE3ZvdGVyIG5vdCByZWdpc3RyZWQHAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABlTZXRBc3NldFNjcmlwdFRyYW5zYWN0aW9uBAAAAAF4BQAAAAckbWF0Y2gwBgcpXqvv", "chainId": 84, "height": 478061, "spentComplexity": 0 } View: original | compacted Prev: none Next: kRbmHTdPFuHCvva71GA7RqKPBExGdxaocZsaR9ue2Dd Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 1 #-} | |
2 | + | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | + | let voteBankPublicKey = fromBase58String("azWhyNMQjEY9AQt2eySXXqR28NJwEbJTKy132zkVoTe") | |
4 | + | let voteBank = addressFromPublicKey(voteBankPublicKey) | |
5 | + | match tx { | |
6 | + | case t: TransferTransaction => | |
7 | + | let issueTx = transactionById(extract(t.assetId)) | |
8 | + | match issueTx { | |
9 | + | case issueTx: IssueTransaction => | |
10 | + | let regAssetForVoting = getInteger(voteBank, toBase58String(issueTx.id)) | |
11 | + | if ((t.sender == issueTx.sender)) | |
12 | + | then { | |
13 | + | let votingAssetConditionsMet = if (if (if (if (isDefined(regAssetForVoting)) | |
14 | + | then (t.recipient == voteBank) | |
15 | + | else false) | |
16 | + | then !(issueTx.reissuable) | |
17 | + | else false) | |
18 | + | then (issueTx.quantity == t.amount) | |
19 | + | else false) | |
20 | + | then (issueTx.decimals == 0) | |
21 | + | else false | |
22 | + | if (votingAssetConditionsMet) | |
23 | + | then true | |
24 | + | else throw("start voting conditions not met. Voting not registred or wrong asset") | |
25 | + | } | |
26 | + | else { | |
27 | + | let voterPublicKey = t.attachment | |
28 | + | let voterAddress = addressFromPublicKey(voterPublicKey) | |
29 | + | let voterRegId = getBinary(issueTx.sender, toBase58String(voterAddress.bytes)) | |
30 | + | if (isDefined(voterRegId)) | |
31 | + | then { | |
32 | + | let voterSignature = take(extract(voterRegId), 64) | |
33 | + | let voterTxId = drop(extract(voterRegId), 64) | |
34 | + | if ((t.id == voterTxId)) | |
35 | + | then if (if (if (if ((t.senderPublicKey == voteBankPublicKey)) | |
36 | + | then (t.amount == 1) | |
37 | + | else false) | |
38 | + | then (10000000 > t.fee) | |
39 | + | else false) | |
40 | + | then !(isDefined(transactionById(voterTxId))) | |
41 | + | else false) | |
42 | + | then sigVerify(t.bodyBytes, voterSignature, voterPublicKey) | |
43 | + | else false | |
44 | + | else throw("wrong tx id registred") | |
45 | + | } | |
46 | + | else throw("voter not registred") | |
47 | + | } | |
48 | + | case _ => | |
49 | + | false | |
50 | + | } | |
51 | + | case x: SetAssetScriptTransaction => | |
52 | + | true | |
53 | + | case _ => | |
54 | + | false | |
55 | + | } |
github/deemru/w8io/026f985 18.32 ms ◑