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