tx · HNjYhkffv2Fd48q6KZqEpjpy7iDUzYg8WVYqsQnhsYW3 3NBZDY7yxaJyK9YkAyVjyKbsFVZ7XoxzQ5H: -0.01400000 Waves 2019.08.28 13:00 [650905] smart account 3NBZDY7yxaJyK9YkAyVjyKbsFVZ7XoxzQ5H > SELF 0.00000000 Waves
{ "type": 13, "id": "HNjYhkffv2Fd48q6KZqEpjpy7iDUzYg8WVYqsQnhsYW3", "fee": 1400000, "feeAssetId": null, "timestamp": 1566986433910, "version": 1, "sender": "3NBZDY7yxaJyK9YkAyVjyKbsFVZ7XoxzQ5H", "senderPublicKey": "Fr2i58ovm7h4Q4HEfPYf6nKt9sVsNG1za89Sreqdo5iM", "proofs": [ "M8fhaSSyPN71sLRS1kfW6pGNwFoV5WyWMyY3iZq3MjZkNjNxAE2hf4DfUBPZVmch6pyqGQDeQQP3HMDVAscTpPh" ], "script": "base64:AwQAAAAHUHViS2V5MQEAAAAgaQxxSAhSITOlMYdvwKcfK7u/x0yzOg/68EH0ax0QlWUEAAAAB1B1YktleTIBAAAAILb58FcZXTIbjEshMW6ayDB2XcNop87YatlbtNE8j6N0BAAAAARzaWcxAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAFAAAAB1B1YktleTEAAAAAAAAAAAEAAAAAAAAAAAAEAAAABHNpZzIDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAQUAAAAHUHViS2V5MgAAAAAAAAAAAQAAAAAAAAAAAAkAAGYAAAACCQAAZAAAAAIFAAAABHNpZzEFAAAABHNpZzIAAAAAAAAAAADO+UOI", "chainId": 84, "height": 650905, "spentComplexity": 0 } View: original | compacted Prev: 8hVNfxEMvycJyAdwf11PzF4PqxTtJdr3exbDpedAPowy Next: 7nV4Pn2Ejm7XfobcjYNdgvDrvXQoBWG1YTadh3G2uxeY Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | - | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | - | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let EMTPYSTRING = "" | |
5 | - | ||
6 | - | func getStringFromKey (key) = match getString(this, key) { | |
7 | - | case str: String => | |
8 | - | str | |
9 | - | case _ => | |
10 | - | EMTPYSTRING | |
11 | - | } | |
12 | - | ||
13 | - | ||
14 | - | func isValidSender (sender) = { | |
15 | - | let entryForSenderAddress = getStringFromKey(sender) | |
16 | - | if ((entryForSenderAddress == EMTPYSTRING)) | |
17 | - | then false | |
18 | - | else true | |
19 | - | } | |
20 | - | ||
21 | - | ||
22 | - | @Callable(i) | |
23 | - | func addRisk (name,description) = { | |
24 | - | let sender = toBase58String(i.caller.bytes) | |
25 | - | if (isValidSender(sender)) | |
26 | - | then WriteSet([DataEntry((toBase58String(i.transactionId) + "_name"), name), DataEntry((toBase58String(i.transactionId) + "_description"), description)]) | |
27 | - | else throw("Sender not allowed to store risks!") | |
28 | - | } | |
29 | - | ||
30 | - | ||
31 | - | @Verifier(tx) | |
32 | - | func verify () = match tx { | |
33 | - | case _ => | |
34 | - | true | |
35 | - | } | |
36 | - | ||
2 | + | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | + | let PubKey1 = base58'854p8BYzrj6yBPRPmfQur3oF1Rjc1AJ548qRp5FT5kDa' | |
4 | + | let PubKey2 = base58'DKGFPozLrsiR8NM4NJzqQaBYC8NyGYjuw2hDYicQVjco' | |
5 | + | let sig1 = if (sigVerify(tx.bodyBytes, tx.proofs[0], PubKey1)) | |
6 | + | then 1 | |
7 | + | else 0 | |
8 | + | let sig2 = if (sigVerify(tx.bodyBytes, tx.proofs[1], PubKey2)) | |
9 | + | then 1 | |
10 | + | else 0 | |
11 | + | ((sig1 + sig2) > 0) |
github/deemru/w8io/169f3d6 31.93 ms ◑