tx · 7YtzL1tKT8c5uztqQvXcjtwSCzG35a6UME8ZqHKVkAq2 3MsJAaF5QnFSPWt1FbTYg2rZEYGE89zL9xm: -0.01400000 Waves 2019.10.21 19:00 [730053] smart account 3MsJAaF5QnFSPWt1FbTYg2rZEYGE89zL9xm > SELF 0.00000000 Waves
{ "type": 13, "id": "7YtzL1tKT8c5uztqQvXcjtwSCzG35a6UME8ZqHKVkAq2", "fee": 1400000, "feeAssetId": null, "timestamp": 1571673683292, "version": 1, "sender": "3MsJAaF5QnFSPWt1FbTYg2rZEYGE89zL9xm", "senderPublicKey": "AuwNnJne9DDzFJMVzgSTvELEvJKcS6sAwa1pYot7NSZc", "proofs": [ "5yVEMmXae5QbGTeJb1tMepfeBsM6fa2TszD9RnDQC1RuPH15ELt9CyQQhcyyzh3AU8s1ewNRumfTYdTdYndkDFQG" ], "script": "base64:AAIDAAAAAAAAAA4IARIECgIICBIECgIIAQAAAAMBAAAABWdlS2V5AAAAAQAAAAdvcmRlcklECQABLAAAAAIJAAEsAAAAAgIAAAAMSU5BUlRFX2NlcnRfBQAAAAdvcmRlcklEAgAAAAFfAQAAABFnZXRLZXlDZXJ0aWZpY2F0bwAAAAIAAAAIc3VwcGxpZXIAAAAHb3JkZXJJRAkAASwAAAACCQEAAAAFZ2VLZXkAAAABBQAAAAdvcmRlcklECQACWAAAAAEJAAH3AAAAAQkAAZsAAAABBQAAAAhzdXBwbGllcgAAAAAVb3duZXJBY2NvdW50UHVibGljS2V5AQAAACCTSN31Vvk3owqG/Q8mQy5+fo0rr3bPy4LhVDiyh1rKbwAAAAIAAAABaQEAAAAOYWRkQ2VydGlmaWNhdG8AAAACAAAAB29yZGVySUQAAAAEZGF0YQQAAAAPc3VwcGxpZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABGl0ZW0JAQAAABFnZXRLZXlDZXJ0aWZpY2F0bwAAAAIFAAAAD3N1cHBsaWVyQWRkcmVzcwUAAAAHb3JkZXJJRAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAEaXRlbQUAAAAEZGF0YQUAAAADbmlsAAAAAWkBAAAAD3ZvdGFDZXJ0aWZpY2F0bwAAAAIAAAAHb3JkZXJJRAAAAAZzdGVsbGUEAAAACmNoaWF2ZVZvdGkJAAEsAAAAAgkAASwAAAACAgAAAAxJTkFSVEVfdm90aV8FAAAAB29yZGVySUQCAAAAAV8EAAAADWNoaWF2ZVZvdGFudGkJAAEsAAAAAgkAASwAAAACAgAAAA9JTkFSVEVfdm90YW50aV8FAAAAB29yZGVySUQCAAAAAV8EAAAAC3ZvdGlBdHR1YWxpBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAACmNoaWF2ZVZvdGkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAOdm90YW50aUF0dHVhbGkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAANY2hpYXZlVm90YW50aQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAACQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAApjaGlhdmVWb3RpCQAAZAAAAAIFAAAAC3ZvdGlBdHR1YWxpBQAAAAZzdGVsbGUJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAADWNoaWF2ZVZvdGFudGkJAABkAAAAAgUAAAAOdm90YW50aUF0dHVhbGkAAAAAAAAAAAEFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABRTZXRTY3JpcHRUcmFuc2FjdGlvbgQAAAABZAUAAAAHJG1hdGNoMAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAFAAAAFW93bmVyQWNjb3VudFB1YmxpY0tleQb/MPgQ", "chainId": 84, "height": 730053, "spentComplexity": 0 } View: original | compacted Prev: ESBchCFjLPb8xRMeR5HMvUexcpUBS3gjtQo252oaEyzJ Next: 4F9Tk7uWwaf9Uj5Qftd9FDukG6sDxKrVcfiLu78DkcoJ Diff:
Old | New | Differences | |
---|---|---|---|
6 | 6 | ||
7 | 7 | func getKeyCertificato (supplier,orderID) = (geKey(orderID) + toBase58String(sha256(toBytes(supplier)))) | |
8 | 8 | ||
9 | + | ||
10 | + | let ownerAccountPublicKey = base58'AuwNnJne9DDzFJMVzgSTvELEvJKcS6sAwa1pYot7NSZc' | |
9 | 11 | ||
10 | 12 | @Callable(i) | |
11 | 13 | func addCertificato (orderID,data) = { | |
36 | 38 | } | |
37 | 39 | ||
38 | 40 | ||
41 | + | @Verifier(tx) | |
42 | + | func verify () = match tx { | |
43 | + | case d: SetScriptTransaction => | |
44 | + | sigVerify(tx.bodyBytes, tx.proofs[0], ownerAccountPublicKey) | |
45 | + | case _ => | |
46 | + | true | |
47 | + | } | |
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 | 6 | ||
7 | 7 | func getKeyCertificato (supplier,orderID) = (geKey(orderID) + toBase58String(sha256(toBytes(supplier)))) | |
8 | 8 | ||
9 | + | ||
10 | + | let ownerAccountPublicKey = base58'AuwNnJne9DDzFJMVzgSTvELEvJKcS6sAwa1pYot7NSZc' | |
9 | 11 | ||
10 | 12 | @Callable(i) | |
11 | 13 | func addCertificato (orderID,data) = { | |
12 | 14 | let supplierAddress = toBase58String(i.caller.bytes) | |
13 | 15 | let item = getKeyCertificato(supplierAddress, orderID) | |
14 | 16 | WriteSet([DataEntry(item, data)]) | |
15 | 17 | } | |
16 | 18 | ||
17 | 19 | ||
18 | 20 | ||
19 | 21 | @Callable(i) | |
20 | 22 | func votaCertificato (orderID,stelle) = { | |
21 | 23 | let chiaveVoti = (("INARTE_voti_" + orderID) + "_") | |
22 | 24 | let chiaveVotanti = (("INARTE_votanti_" + orderID) + "_") | |
23 | 25 | let votiAttuali = match getInteger(this, chiaveVoti) { | |
24 | 26 | case a: Int => | |
25 | 27 | a | |
26 | 28 | case _ => | |
27 | 29 | 0 | |
28 | 30 | } | |
29 | 31 | let votantiAttuali = match getInteger(this, chiaveVotanti) { | |
30 | 32 | case a: Int => | |
31 | 33 | a | |
32 | 34 | case _ => | |
33 | 35 | 0 | |
34 | 36 | } | |
35 | 37 | WriteSet([DataEntry(chiaveVoti, (votiAttuali + stelle)), DataEntry(chiaveVotanti, (votantiAttuali + 1))]) | |
36 | 38 | } | |
37 | 39 | ||
38 | 40 | ||
41 | + | @Verifier(tx) | |
42 | + | func verify () = match tx { | |
43 | + | case d: SetScriptTransaction => | |
44 | + | sigVerify(tx.bodyBytes, tx.proofs[0], ownerAccountPublicKey) | |
45 | + | case _ => | |
46 | + | true | |
47 | + | } | |
48 | + |
github/deemru/w8io/169f3d6 33.70 ms ◑![]()