tx · AmUeW4xqNhuEfZTxZFXCUDpVoi5Dz7VvQqr6AZi1jPUv

3MzPTmh9JHtuVwrKw13Za11SPC3uuFr3VSp:  -0.01400000 Waves

2019.08.28 12:59 [650904] smart account 3MzPTmh9JHtuVwrKw13Za11SPC3uuFr3VSp > SELF 0.00000000 Waves

{ "type": 13, "id": "AmUeW4xqNhuEfZTxZFXCUDpVoi5Dz7VvQqr6AZi1jPUv", "fee": 1400000, "feeAssetId": null, "timestamp": 1566986361357, "version": 1, "sender": "3MzPTmh9JHtuVwrKw13Za11SPC3uuFr3VSp", "senderPublicKey": "D2u8AubMFWraFwUAyGYkPuybewmJCd2EKe1FVRpfCdSs", "proofs": [ "3PjMBQLysRvbZ3DDkbmkGNrEc54HDXv878BL5ecxw3ebbuu7oVh21HCnsTQk6gdaWiSJPZJgd4KVsapJYDUneESL" ], "script": "base64:AwQAAAAHUHViS2V5MQEAAAAgaQxxSAhSITOlMYdvwKcfK7u/x0yzOg/68EH0ax0QlWUEAAAAB1B1YktleTIBAAAAILb58FcZXTIbjEshMW6ayDB2XcNop87YatlbtNE8j6N0BAAAAARzaWcxAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAFAAAAB1B1YktleTEAAAAAAAAAAAEAAAAAAAAAAAAEAAAABHNpZzIDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAQUAAAAHUHViS2V5MgAAAAAAAAAAAQAAAAAAAAAAAAkAAGYAAAACCQAAZAAAAAIFAAAABHNpZzEFAAAABHNpZzIAAAAAAAAAAADO+UOI", "chainId": 84, "height": 650904, "spentComplexity": 0 } View: original | compacted Prev: EP1MkGGThG1w6AE6xpscD31amxtW2kBqZyPTudR7ATDq Next: 83iuwaD6odsoRoHt3CeW9VcRVpS1UpGDHS5uUh92VYn1 Full:
OldNewDifferences
11 {-# 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-
32-@Callable(i)
33-func addConsolidatedRisk (name,description) = {
34- let sender = toBase58String(i.caller.bytes)
35- if (isValidSender(sender))
36- then WriteSet([DataEntry((toBase58String(i.transactionId) + "_consolidated_name"), name), DataEntry((toBase58String(i.transactionId) + "_consolidated_description"), description)])
37- else throw("Sender not allowed to consolidate risks!")
38- }
39-
40-
41-
42-@Callable(i)
43-func evaluateRisk (id,probability,impact) = {
44- let sender = toBase58String(i.caller.bytes)
45- if (isValidSender(sender))
46- then WriteSet([DataEntry((((id + "_") + toBase58String(i.transactionId)) + "_prob"), probability), DataEntry((((id + "_") + toBase58String(i.transactionId)) + "_imp"), impact)])
47- else throw("Sender not allowed to evaluate or evaluated already!")
48- }
49-
50-
51-@Verifier(tx)
52-func verify () = match tx {
53- case _ =>
54- true
55-}
56-
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.24 ms