tx · 9Atv7uLdzLE2ozBTt4HHyAg1G9unDxVT2mNAZtzNDqDa

3MwRzX5oVjsPnF7kMa8UcZJXfGYo4aUt39j:  -0.01000000 Waves

2019.08.02 21:37 [613595] smart account 3MwRzX5oVjsPnF7kMa8UcZJXfGYo4aUt39j > SELF 0.00000000 Waves

{ "type": 13, "id": "9Atv7uLdzLE2ozBTt4HHyAg1G9unDxVT2mNAZtzNDqDa", "fee": 1000000, "feeAssetId": null, "timestamp": 1564771058341, "version": 1, "sender": "3MwRzX5oVjsPnF7kMa8UcZJXfGYo4aUt39j", "senderPublicKey": "HzZvd2xvCBYj1fJkJkrLXTUKvxdSWX4Ujupzr98p5y9R", "proofs": [ "3sfQC7PLYZktTTR4HdRMEAyGwDvamLH44fPQcHg4rfnLBcLKWkgzAKQx7gXuGKGDgPTFns4pwraFghDg3ErT8cGT" ], "script": "base64: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", "chainId": 84, "height": 613595, "spentComplexity": 0 } View: original | compacted Prev: none Next: 3e9XLdKiPs7BVfrf48xE8D7cEghNvsCyjxUgxcr3iLoj Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let EMTPYSTRING = ""
5+
6+let EVALUATED = "EVALUATED"
7+
8+func getStringFromKey (key) = match getString(this, key) {
9+ case str: String =>
10+ str
11+ case _ =>
12+ EMTPYSTRING
13+}
14+
15+
16+func isValidSender (sender) = {
17+ let entryForSenderAddress = getStringFromKey(sender)
18+ if ((entryForSenderAddress == EMTPYSTRING))
19+ then false
20+ else true
21+ }
22+
23+
24+func senderNotYetEvaluated (sender) = {
25+ let entryForSenderAddress = getStringFromKey(sender)
26+ if ((entryForSenderAddress != EVALUATED))
27+ then true
28+ else false
29+ }
30+
31+
32+@Callable(i)
33+func addRisk (name,description) = {
34+ let sender = toBase58String(i.caller.bytes)
35+ if (isValidSender(sender))
36+ then WriteSet([DataEntry((toBase58String(i.transactionId) + "_name"), name), DataEntry((toBase58String(i.transactionId) + "_description"), description)])
37+ else throw("Sender not allowed to store risks!")
38+ }
39+
40+
41+
42+@Callable(i)
43+func addConsolidatedRisk (name,description) = {
44+ let sender = toBase58String(i.caller.bytes)
45+ if (isValidSender(sender))
46+ then WriteSet([DataEntry((toBase58String(i.transactionId) + "_consolidated_name"), name), DataEntry((toBase58String(i.transactionId) + "_consolidated_description"), description)])
47+ else throw("Sender not allowed to consolidate risks!")
48+ }
49+
50+
51+
52+@Callable(i)
53+func evaluateRisk (id,probability,impact) = {
54+ let sender = toBase58String(i.caller.bytes)
55+ if (if (isValidSender(sender))
56+ then senderNotYetEvaluated(sender)
57+ else false)
58+ then WriteSet([DataEntry((((id + "_") + toBase58String(i.transactionId)) + "_probability"), probability), DataEntry((((id + "_") + toBase58String(i.transactionId)) + "_impact"), impact), DataEntry(sender, EVALUATED)])
59+ else throw("Sender not allowed to evaluate or evaluated already!")
60+ }
61+
62+
63+@Verifier(tx)
64+func verify () = match tx {
65+ case _ =>
66+ true
67+}
68+

github/deemru/w8io/3ef1775 
24.58 ms