tx · 92fCky95xdJRDnbXt2ffUDEgjs4VQnURL91VbT6QsPFi 3N9Q4sZb1AYHGTKVqGMH5F8AMQmziyjzzeT: -0.01400000 Waves 2020.10.05 20:15 [1207542] smart account 3N9Q4sZb1AYHGTKVqGMH5F8AMQmziyjzzeT > SELF 0.00000000 Waves
{ "type": 13, "id": "92fCky95xdJRDnbXt2ffUDEgjs4VQnURL91VbT6QsPFi", "fee": 1400000, "feeAssetId": null, "timestamp": 1601918159526, "version": 2, "chainId": 84, "sender": "3N9Q4sZb1AYHGTKVqGMH5F8AMQmziyjzzeT", "senderPublicKey": "6R2XtEbbfhMTJ5sKErL1hc7qvns3NHUz9ZtHh1T1dTz2", "proofs": [ "2VGzw1GJu6yS1dDoETjbydQHjVfUH7WhBKBLKc73QkkjcZV3LZA9yakZrUnE5CRJfHEiN6RALHvTnUPbUpibHV7v" ], "script": "base64:AAIDAAAAAAAAAA4IARIECgIICBIECgIIAQAAAAIBAAAABWdlS2V5AAAAAQAAAAdvcmRlcklECQABLAAAAAIJAAEsAAAAAgIAAAAMSU5BUlRFX2NlcnRfBQAAAAdvcmRlcklEAgAAAAFfAQAAABFnZXRLZXlDZXJ0aWZpY2F0bwAAAAIAAAAIc3VwcGxpZXIAAAAHb3JkZXJJRAkAASwAAAACCQEAAAAFZ2VLZXkAAAABBQAAAAdvcmRlcklECQACWAAAAAEJAAH3AAAAAQkAAZsAAAABBQAAAAhzdXBwbGllcgAAAAIAAAABaQEAAAAOYWRkQ2VydGlmaWNhdG8AAAACAAAAB29yZGVySUQAAAAEZGF0YQQAAAAPc3VwcGxpZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABGl0ZW0JAQAAABFnZXRLZXlDZXJ0aWZpY2F0bwAAAAIFAAAAD3N1cHBsaWVyQWRkcmVzcwUAAAAHb3JkZXJJRAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAEaXRlbQUAAAAEZGF0YQUAAAADbmlsAAAAAWkBAAAAD3ZvdGFDZXJ0aWZpY2F0bwAAAAIAAAAHb3JkZXJJRAAAAAZzdGVsbGUEAAAACmNoaWF2ZVZvdGkJAAEsAAAAAgkAASwAAAACAgAAAAxJTkFSVEVfdm90aV8FAAAAB29yZGVySUQCAAAAAV8EAAAADWNoaWF2ZVZvdGFudGkJAAEsAAAAAgkAASwAAAACAgAAAA9JTkFSVEVfdm90YW50aV8FAAAAB29yZGVySUQCAAAAAV8EAAAAC3ZvdGlBdHR1YWxpBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAACmNoaWF2ZVZvdGkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAOdm90YW50aUF0dHVhbGkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAANY2hpYXZlVm90YW50aQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAACQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAApjaGlhdmVWb3RpCQAAZAAAAAIFAAAAC3ZvdGlBdHR1YWxpBQAAAAZzdGVsbGUJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAADWNoaWF2ZVZvdGFudGkJAABkAAAAAgUAAAAOdm90YW50aUF0dHVhbGkAAAAAAAAAAAEFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABRTZXRTY3JpcHRUcmFuc2FjdGlvbgQAAAABZAUAAAAHJG1hdGNoMAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAE1RyYW5zZmVyVHJhbnNhY3Rpb24EAAAAAWUFAAAAByRtYXRjaDAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5Bzt3aJo=", "height": 1207542, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2PRjKWiBwYTR5ErynryKNbbcSEkg3gPQ4FXX3H7p34W4 Next: HYPSh99AqPcBTVj4pYRd9hLTtJNjQ44QsCvb6UgiZvGt Diff:
Old | New | Differences | |
---|---|---|---|
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | func geKey (orderID) = (("INARTE_cert_" + orderID) + "_") | |
5 | 5 | ||
6 | - | ||
7 | - | let ownerAccountPublicKey = base58'6R2XtEbbfhMTJ5sKErL1hc7qvns3NHUz9ZtHh1T1dTz2' | |
8 | 6 | ||
9 | 7 | func getKeyCertificato (supplier,orderID) = (geKey(orderID) + toBase58String(sha256(toBytes(supplier)))) | |
10 | 8 | ||
41 | 39 | @Verifier(tx) | |
42 | 40 | func verify () = match tx { | |
43 | 41 | case d: SetScriptTransaction => | |
44 | - | sigVerify(tx.bodyBytes, tx.proofs[0], ownerAccountPublicKey) | |
42 | + | sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
43 | + | case e: TransferTransaction => | |
44 | + | sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
45 | 45 | case _ => | |
46 | - | | |
46 | + | false | |
47 | 47 | } | |
48 | 48 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | func geKey (orderID) = (("INARTE_cert_" + orderID) + "_") | |
5 | 5 | ||
6 | - | ||
7 | - | let ownerAccountPublicKey = base58'6R2XtEbbfhMTJ5sKErL1hc7qvns3NHUz9ZtHh1T1dTz2' | |
8 | 6 | ||
9 | 7 | func getKeyCertificato (supplier,orderID) = (geKey(orderID) + toBase58String(sha256(toBytes(supplier)))) | |
10 | 8 | ||
11 | 9 | ||
12 | 10 | @Callable(i) | |
13 | 11 | func addCertificato (orderID,data) = { | |
14 | 12 | let supplierAddress = toBase58String(i.caller.bytes) | |
15 | 13 | let item = getKeyCertificato(supplierAddress, orderID) | |
16 | 14 | WriteSet([DataEntry(item, data)]) | |
17 | 15 | } | |
18 | 16 | ||
19 | 17 | ||
20 | 18 | ||
21 | 19 | @Callable(i) | |
22 | 20 | func votaCertificato (orderID,stelle) = { | |
23 | 21 | let chiaveVoti = (("INARTE_voti_" + orderID) + "_") | |
24 | 22 | let chiaveVotanti = (("INARTE_votanti_" + orderID) + "_") | |
25 | 23 | let votiAttuali = match getInteger(this, chiaveVoti) { | |
26 | 24 | case a: Int => | |
27 | 25 | a | |
28 | 26 | case _ => | |
29 | 27 | 0 | |
30 | 28 | } | |
31 | 29 | let votantiAttuali = match getInteger(this, chiaveVotanti) { | |
32 | 30 | case a: Int => | |
33 | 31 | a | |
34 | 32 | case _ => | |
35 | 33 | 0 | |
36 | 34 | } | |
37 | 35 | WriteSet([DataEntry(chiaveVoti, (votiAttuali + stelle)), DataEntry(chiaveVotanti, (votantiAttuali + 1))]) | |
38 | 36 | } | |
39 | 37 | ||
40 | 38 | ||
41 | 39 | @Verifier(tx) | |
42 | 40 | func verify () = match tx { | |
43 | 41 | case d: SetScriptTransaction => | |
44 | - | sigVerify(tx.bodyBytes, tx.proofs[0], ownerAccountPublicKey) | |
42 | + | sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
43 | + | case e: TransferTransaction => | |
44 | + | sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
45 | 45 | case _ => | |
46 | - | | |
46 | + | false | |
47 | 47 | } | |
48 | 48 |
github/deemru/w8io/3ef1775 28.48 ms ◑