tx · 4azDtZGzz29TmKxoHG6P9q3Y8s8EBe7etozL8iwaXD2a

3N5rNyYSAsaP9QL2eQq286RhevB8msHFffu:  -0.01400000 Waves

2020.08.27 10:38 [1150817] smart account 3N5rNyYSAsaP9QL2eQq286RhevB8msHFffu > SELF 0.00000000 Waves

{ "type": 13, "id": "4azDtZGzz29TmKxoHG6P9q3Y8s8EBe7etozL8iwaXD2a", "fee": 1400000, "feeAssetId": null, "timestamp": 1598513904372, "version": 1, "sender": "3N5rNyYSAsaP9QL2eQq286RhevB8msHFffu", "senderPublicKey": "CBTEuFN6ku1LNaPuGHHTMh2CBb3kPa5D73XXTJvKydun", "proofs": [ "2fKpz1aw5MhfR68rmT7gBCT1VXuYgMJedi9ZLfxbSXGRKUJJoSk2T8QauiCqeigfHD8VeE4j5nd6WAW5r6SUYNWN" ], "script": "base64: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", "chainId": 84, "height": 1150817, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3f3qd5Nr5cRxHtFJpWkZ9Bsy9Xxi6D8bdM7qvbWtZ3dN Next: 4m7YTvePdAzignJRoWbXYNKoukdLpP5znYQdjjDXgJDc Diff:
OldNewDifferences
44 let upVote = "upvote"
55
66 let downVote = "downvote"
7+
8+let adminAddress = base58'3MtMR16kp56cr9Hfb2dVBAM5PtuhJDCK5fu'
79
810 func getProfileKey (id) = (id + "_entrepreneurProfile")
911
4345
4446
4547 @Callable(i)
46-func addEntrepreneurProfile (name,avatar,bio,gender,location) = {
47- let transactionId = toBase58String(i.transactionId)
48- WriteSet([DataEntry(getProfileKey(transactionId), ((((((((name + "_") + avatar) + "_") + bio) + "_") + gender) + "_") + location)), DataEntry(getVoteKey(transactionId, "upvote"), 0), DataEntry(getStatusKey(transactionId), "open"), DataEntry(getVoteKey(transactionId, "downvote"), 0)])
49- }
48+func addEntrepreneurProfile (name,avatar,bio,gender,location) = if ((i.caller.bytes != adminAddress))
49+ then throw("Only Dyzrupt Admin can call this dApp function")
50+ else {
51+ let transactionId = toBase58String(i.transactionId)
52+ WriteSet([DataEntry(getProfileKey(transactionId), ((((((((name + "_") + avatar) + "_") + bio) + "_") + gender) + "_") + location)), DataEntry(getVoteKey(transactionId, "upvote"), 0), DataEntry(getStatusKey(transactionId), "open"), DataEntry(getVoteKey(transactionId, "downvote"), 0)])
53+ }
5054
5155
5256
6872
6973
7074 @Callable(i)
71-func openVote (voteId) = if (profileExist(voteId))
72- then WriteSet([DataEntry(getStatusKey(voteId), "open")])
73- else throw("Invalid ID")
75+func openVote (voteId) = if ((i.caller.bytes != adminAddress))
76+ then throw("Only Dyzrupt Admin can call this dApp function")
77+ else if (profileExist(voteId))
78+ then WriteSet([DataEntry(getStatusKey(voteId), "open")])
79+ else throw("Invalid ID")
7480
7581
7682
7783 @Callable(i)
78-func closeVote (voteId) = if (profileExist(voteId))
79- then WriteSet([DataEntry(getStatusKey(voteId), "closed")])
80- else throw("Invalid ID")
84+func closeVote (voteId) = if ((i.caller.bytes != adminAddress))
85+ then throw("Only Dyzrupt Admin can call this dApp function")
86+ else if (profileExist(voteId))
87+ then WriteSet([DataEntry(getStatusKey(voteId), "closed")])
88+ else throw("Invalid ID")
8189
8290
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let upVote = "upvote"
55
66 let downVote = "downvote"
7+
8+let adminAddress = base58'3MtMR16kp56cr9Hfb2dVBAM5PtuhJDCK5fu'
79
810 func getProfileKey (id) = (id + "_entrepreneurProfile")
911
1012
1113 func getStatusKey (id) = (id + "_status")
1214
1315
1416 func getVoteKey (id,type) = if ((type == "upvote"))
1517 then (id + "_upvote")
1618 else if ((type == "downvote"))
1719 then (id + "_downvote")
1820 else throw("Invalid vote type")
1921
2022
2123 func profileExist (id) = match getString(this, getProfileKey(id)) {
2224 case a: String =>
2325 true
2426 case _ =>
2527 false
2628 }
2729
2830
2931 func getVoteStatus (voteId) = match getString(this, getStatusKey(voteId)) {
3032 case a: String =>
3133 a
3234 case _ =>
3335 false
3436 }
3537
3638
3739 func getVoteCount (voteId,vote) = match getInteger(this, getVoteKey(voteId, vote)) {
3840 case a: Int =>
3941 a
4042 case _ =>
4143 throw("Not a valid vote ID")
4244 }
4345
4446
4547 @Callable(i)
46-func addEntrepreneurProfile (name,avatar,bio,gender,location) = {
47- let transactionId = toBase58String(i.transactionId)
48- WriteSet([DataEntry(getProfileKey(transactionId), ((((((((name + "_") + avatar) + "_") + bio) + "_") + gender) + "_") + location)), DataEntry(getVoteKey(transactionId, "upvote"), 0), DataEntry(getStatusKey(transactionId), "open"), DataEntry(getVoteKey(transactionId, "downvote"), 0)])
49- }
48+func addEntrepreneurProfile (name,avatar,bio,gender,location) = if ((i.caller.bytes != adminAddress))
49+ then throw("Only Dyzrupt Admin can call this dApp function")
50+ else {
51+ let transactionId = toBase58String(i.transactionId)
52+ WriteSet([DataEntry(getProfileKey(transactionId), ((((((((name + "_") + avatar) + "_") + bio) + "_") + gender) + "_") + location)), DataEntry(getVoteKey(transactionId, "upvote"), 0), DataEntry(getStatusKey(transactionId), "open"), DataEntry(getVoteKey(transactionId, "downvote"), 0)])
53+ }
5054
5155
5256
5357 @Callable(i)
5458 func vote (voteId,vote) = if (profileExist(voteId))
5559 then if ((getVoteStatus(voteId) == "open"))
5660 then if (if ((vote == upVote))
5761 then true
5862 else (vote == downVote))
5963 then {
6064 let voteCount = getVoteCount(voteId, vote)
6165 let newVoteCount = (voteCount + 1)
6266 WriteSet([DataEntry(getVoteKey(voteId, vote), newVoteCount)])
6367 }
6468 else throw("Not a valid vote value")
6569 else throw("This profile is not open for voting")
6670 else throw("Invalid Profile")
6771
6872
6973
7074 @Callable(i)
71-func openVote (voteId) = if (profileExist(voteId))
72- then WriteSet([DataEntry(getStatusKey(voteId), "open")])
73- else throw("Invalid ID")
75+func openVote (voteId) = if ((i.caller.bytes != adminAddress))
76+ then throw("Only Dyzrupt Admin can call this dApp function")
77+ else if (profileExist(voteId))
78+ then WriteSet([DataEntry(getStatusKey(voteId), "open")])
79+ else throw("Invalid ID")
7480
7581
7682
7783 @Callable(i)
78-func closeVote (voteId) = if (profileExist(voteId))
79- then WriteSet([DataEntry(getStatusKey(voteId), "closed")])
80- else throw("Invalid ID")
84+func closeVote (voteId) = if ((i.caller.bytes != adminAddress))
85+ then throw("Only Dyzrupt Admin can call this dApp function")
86+ else if (profileExist(voteId))
87+ then WriteSet([DataEntry(getStatusKey(voteId), "closed")])
88+ else throw("Invalid ID")
8189
8290

github/deemru/w8io/873ac7e 
28.89 ms