tx · CJjtMaHUefH1dSF8RES7Vatowpk5qgg5Hvbipr7xE8XF

3N2ZtCEGncHQjQF4g4oQBDeRRZoUQ3kJ7Nm:  -0.01400000 Waves

2023.05.15 18:53 [2579290] smart account 3N2ZtCEGncHQjQF4g4oQBDeRRZoUQ3kJ7Nm > SELF 0.00000000 Waves

{ "type": 13, "id": "CJjtMaHUefH1dSF8RES7Vatowpk5qgg5Hvbipr7xE8XF", "fee": 1400000, "feeAssetId": null, "timestamp": 1684166055500, "version": 2, "chainId": 84, "sender": "3N2ZtCEGncHQjQF4g4oQBDeRRZoUQ3kJ7Nm", "senderPublicKey": "EKmhAeU9yA52DSvBnr1WtWQWyyiCrauDYkmgnTns7ZkA", "proofs": [ "5gbYukMF4bpMip3PgQuNLpatH93m64ruaCfLJLPEFzk6KH5VsfYtkPk68jcGmWgxTVqnc4kXNEhuLuxr5umEguHt" ], "script": "base64:AAIFAAAAAAAAAAQIAhIAAAAAAAAAAAEAAAABaQEAAAAEY2FsbAAAAAAEAAAADHVzZXJfYWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB0FkZHJlc3MFAAAADHVzZXJfYWRkcmVzcwUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXl8ceIe", "height": 2579290, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: ErCTLWnFrjmsYTE2GboHXfo3bAGUF2iBAjZ7yKSBR5Yy Next: EQVAErdGyzdWtMczmyeBqguz3qypGsGsBTZMkPZgXVdR Diff:
OldNewDifferences
1-{-# STDLIB_VERSION 4 #-}
1+{-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let A4AStakingDApp = addressFromStringValue("3JviWhscNmUduEjTYLBYoPnrf4c8yegPi3P")
5-
6-let voting_timestamp_controller_pubkey = base58'7VMxW6Sdd9Bk2he7zPSuAcKEQ9XM8kyV71enGvHLhmN2'
7-
8-let controller_address = addressFromPublicKey(voting_timestamp_controller_pubkey)
9-
10-let launch_error = "Dapp will start Voting at Timestamp "
11-
12-let msg = "<h1>Your Vote Submitted Successfully!</h1><br>"
13-
14-let AlreadyVotedError = "This Address Already participated for Voting in this Proposal."
15-
16-let voteErr = "Voting is Over for this Dapp."
17-
18-@Callable(i)
19-func SetVotingTimeStamps (Proposal,Voting_Start_TimeStamp,Voting_End_TimeStamp) = {
20- let StartTS = Voting_Start_TimeStamp
21- let EndTS = Voting_End_TimeStamp
22- let readtotalStakedA4A = getIntegerValue(A4AStakingDApp, "Staked_Amount")
23- let QuorumValue = fraction(readtotalStakedA4A, 1, 3)
24- let pubkey = toBase58String(i.caller.bytes)
25- let Previoustotalproposals = match getInteger(this, "Total_Proposals") {
26- case a: Int =>
27- a
28- case _ =>
29- 0
30- }
31- let totalproposals = (Previoustotalproposals + 1)
32- if ((size(Proposal) > 5100))
33- then throw("Subject Char Limits are Over. Reduce length less than 5100 Char.")
34- else if ((i.caller != controller_address))
35- then throw((("This Address is not Authorized. Only " + toString(controller_address)) + " is Authorized Address to Sign it."))
36- else [StringEntry(("Proposal_Text_" + toString(totalproposals)), Proposal), IntegerEntry("Total_Proposals", totalproposals), StringEntry(("Proposer_" + toString(totalproposals)), pubkey), IntegerEntry(("Voting_Start_TimeStamp_" + toString(totalproposals)), StartTS), IntegerEntry(("Voting_End_TimeStamp_" + toString(totalproposals)), EndTS), IntegerEntry(("Quorum_" + toString(totalproposals)), QuorumValue), IntegerEntry(("Total_Votes_" + toString(totalproposals)), 0), IntegerEntry(("Total_No_" + toString(totalproposals)), 0), IntegerEntry(("Total_Yes_" + toString(totalproposals)), 0)]
37- }
38-
394
405
416 @Callable(i)
42-func Yes (Porposal_ID) = {
43- let VoteAst = "Yes"
44- let StartTS = getIntegerValue(this, ("Voting_Start_TimeStamp_" + toString(Porposal_ID)))
45- let EndTS = getIntegerValue(this, ("Voting_End_TimeStamp_" + toString(Porposal_ID)))
46- let pubkey = toBase58String(i.caller.bytes)
47- let readA4AStakingAmount = valueOrErrorMessage(getInteger(A4AStakingDApp, ("Deposit_Amount_Of_" + pubkey)), "Address not found in A4A Staking.")
48- let Previoustotalvotes = match getInteger(this, ("Total_Votes_" + toString(Porposal_ID))) {
49- case a: Int =>
50- a
51- case _ =>
52- 0
53- }
54- let totalvotes = (Previoustotalvotes + readA4AStakingAmount)
55- let FTVO = match getInteger(this, ((("Total_" + VoteAst) + "_") + toString(Porposal_ID))) {
56- case a: Int =>
57- a
58- case _ =>
59- 0
60- }
61- let ATVO = (FTVO + readA4AStakingAmount)
62- let PreviousUserCountforVoting = match getInteger(this, ((pubkey + "_") + toString(Porposal_ID))) {
63- case a: Int =>
64- a
65- case _ =>
66- 0
67- }
68- let LatestUserCountforVoting = (PreviousUserCountforVoting + 1)
69- if ((StartTS > lastBlock.timestamp))
70- then throw((launch_error + toString(StartTS)))
71- else if ((lastBlock.timestamp > EndTS))
72- then throw(voteErr)
73- else if ((LatestUserCountforVoting > 1))
74- then throw(AlreadyVotedError)
75- else [IntegerEntry(("Total_Votes_" + toString(Porposal_ID)), totalvotes), IntegerEntry(((("Total_" + VoteAst) + "_") + toString(Porposal_ID)), ATVO), IntegerEntry(((pubkey + "_") + toString(Porposal_ID)), LatestUserCountforVoting), StringEntry("message", msg)]
76- }
77-
78-
79-
80-@Callable(i)
81-func No (Porposal_ID) = {
82- let VoteAst = "No"
83- let StartTS = getIntegerValue(this, ("Voting_Start_TimeStamp_" + toString(Porposal_ID)))
84- let EndTS = getIntegerValue(this, ("Voting_End_TimeStamp_" + toString(Porposal_ID)))
85- let pubkey = toBase58String(i.caller.bytes)
86- let readA4AStakingAmount = valueOrErrorMessage(getInteger(A4AStakingDApp, ("Deposit_Amount_Of_" + pubkey)), "Address not found in A4A Staking.")
87- let Previoustotalvotes = match getInteger(this, ("Total_Votes_" + toString(Porposal_ID))) {
88- case a: Int =>
89- a
90- case _ =>
91- 0
92- }
93- let totalvotes = (Previoustotalvotes + readA4AStakingAmount)
94- let FTVO = match getInteger(this, ((("Total_" + VoteAst) + "_") + toString(Porposal_ID))) {
95- case a: Int =>
96- a
97- case _ =>
98- 0
99- }
100- let ATVO = (FTVO + readA4AStakingAmount)
101- let PreviousUserCountforVoting = match getInteger(this, ((pubkey + "_") + toString(Porposal_ID))) {
102- case a: Int =>
103- a
104- case _ =>
105- 0
106- }
107- let LatestUserCountforVoting = (PreviousUserCountforVoting + 1)
108- if ((StartTS > lastBlock.timestamp))
109- then throw((launch_error + toString(StartTS)))
110- else if ((lastBlock.timestamp > EndTS))
111- then throw(voteErr)
112- else if ((LatestUserCountforVoting > 1))
113- then throw(AlreadyVotedError)
114- else [IntegerEntry(("Total_Votes_" + toString(Porposal_ID)), totalvotes), IntegerEntry(((("Total_" + VoteAst) + "_") + toString(Porposal_ID)), ATVO), IntegerEntry(((pubkey + "_") + toString(Porposal_ID)), LatestUserCountforVoting), StringEntry("message", msg)]
7+func call () = {
8+ let user_address = toBase58String(i.caller.bytes)
9+[StringEntry("Address", user_address)]
11510 }
11611
11712
Full:
OldNewDifferences
1-{-# STDLIB_VERSION 4 #-}
1+{-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let A4AStakingDApp = addressFromStringValue("3JviWhscNmUduEjTYLBYoPnrf4c8yegPi3P")
5-
6-let voting_timestamp_controller_pubkey = base58'7VMxW6Sdd9Bk2he7zPSuAcKEQ9XM8kyV71enGvHLhmN2'
7-
8-let controller_address = addressFromPublicKey(voting_timestamp_controller_pubkey)
9-
10-let launch_error = "Dapp will start Voting at Timestamp "
11-
12-let msg = "<h1>Your Vote Submitted Successfully!</h1><br>"
13-
14-let AlreadyVotedError = "This Address Already participated for Voting in this Proposal."
15-
16-let voteErr = "Voting is Over for this Dapp."
17-
18-@Callable(i)
19-func SetVotingTimeStamps (Proposal,Voting_Start_TimeStamp,Voting_End_TimeStamp) = {
20- let StartTS = Voting_Start_TimeStamp
21- let EndTS = Voting_End_TimeStamp
22- let readtotalStakedA4A = getIntegerValue(A4AStakingDApp, "Staked_Amount")
23- let QuorumValue = fraction(readtotalStakedA4A, 1, 3)
24- let pubkey = toBase58String(i.caller.bytes)
25- let Previoustotalproposals = match getInteger(this, "Total_Proposals") {
26- case a: Int =>
27- a
28- case _ =>
29- 0
30- }
31- let totalproposals = (Previoustotalproposals + 1)
32- if ((size(Proposal) > 5100))
33- then throw("Subject Char Limits are Over. Reduce length less than 5100 Char.")
34- else if ((i.caller != controller_address))
35- then throw((("This Address is not Authorized. Only " + toString(controller_address)) + " is Authorized Address to Sign it."))
36- else [StringEntry(("Proposal_Text_" + toString(totalproposals)), Proposal), IntegerEntry("Total_Proposals", totalproposals), StringEntry(("Proposer_" + toString(totalproposals)), pubkey), IntegerEntry(("Voting_Start_TimeStamp_" + toString(totalproposals)), StartTS), IntegerEntry(("Voting_End_TimeStamp_" + toString(totalproposals)), EndTS), IntegerEntry(("Quorum_" + toString(totalproposals)), QuorumValue), IntegerEntry(("Total_Votes_" + toString(totalproposals)), 0), IntegerEntry(("Total_No_" + toString(totalproposals)), 0), IntegerEntry(("Total_Yes_" + toString(totalproposals)), 0)]
37- }
38-
394
405
416 @Callable(i)
42-func Yes (Porposal_ID) = {
43- let VoteAst = "Yes"
44- let StartTS = getIntegerValue(this, ("Voting_Start_TimeStamp_" + toString(Porposal_ID)))
45- let EndTS = getIntegerValue(this, ("Voting_End_TimeStamp_" + toString(Porposal_ID)))
46- let pubkey = toBase58String(i.caller.bytes)
47- let readA4AStakingAmount = valueOrErrorMessage(getInteger(A4AStakingDApp, ("Deposit_Amount_Of_" + pubkey)), "Address not found in A4A Staking.")
48- let Previoustotalvotes = match getInteger(this, ("Total_Votes_" + toString(Porposal_ID))) {
49- case a: Int =>
50- a
51- case _ =>
52- 0
53- }
54- let totalvotes = (Previoustotalvotes + readA4AStakingAmount)
55- let FTVO = match getInteger(this, ((("Total_" + VoteAst) + "_") + toString(Porposal_ID))) {
56- case a: Int =>
57- a
58- case _ =>
59- 0
60- }
61- let ATVO = (FTVO + readA4AStakingAmount)
62- let PreviousUserCountforVoting = match getInteger(this, ((pubkey + "_") + toString(Porposal_ID))) {
63- case a: Int =>
64- a
65- case _ =>
66- 0
67- }
68- let LatestUserCountforVoting = (PreviousUserCountforVoting + 1)
69- if ((StartTS > lastBlock.timestamp))
70- then throw((launch_error + toString(StartTS)))
71- else if ((lastBlock.timestamp > EndTS))
72- then throw(voteErr)
73- else if ((LatestUserCountforVoting > 1))
74- then throw(AlreadyVotedError)
75- else [IntegerEntry(("Total_Votes_" + toString(Porposal_ID)), totalvotes), IntegerEntry(((("Total_" + VoteAst) + "_") + toString(Porposal_ID)), ATVO), IntegerEntry(((pubkey + "_") + toString(Porposal_ID)), LatestUserCountforVoting), StringEntry("message", msg)]
76- }
77-
78-
79-
80-@Callable(i)
81-func No (Porposal_ID) = {
82- let VoteAst = "No"
83- let StartTS = getIntegerValue(this, ("Voting_Start_TimeStamp_" + toString(Porposal_ID)))
84- let EndTS = getIntegerValue(this, ("Voting_End_TimeStamp_" + toString(Porposal_ID)))
85- let pubkey = toBase58String(i.caller.bytes)
86- let readA4AStakingAmount = valueOrErrorMessage(getInteger(A4AStakingDApp, ("Deposit_Amount_Of_" + pubkey)), "Address not found in A4A Staking.")
87- let Previoustotalvotes = match getInteger(this, ("Total_Votes_" + toString(Porposal_ID))) {
88- case a: Int =>
89- a
90- case _ =>
91- 0
92- }
93- let totalvotes = (Previoustotalvotes + readA4AStakingAmount)
94- let FTVO = match getInteger(this, ((("Total_" + VoteAst) + "_") + toString(Porposal_ID))) {
95- case a: Int =>
96- a
97- case _ =>
98- 0
99- }
100- let ATVO = (FTVO + readA4AStakingAmount)
101- let PreviousUserCountforVoting = match getInteger(this, ((pubkey + "_") + toString(Porposal_ID))) {
102- case a: Int =>
103- a
104- case _ =>
105- 0
106- }
107- let LatestUserCountforVoting = (PreviousUserCountforVoting + 1)
108- if ((StartTS > lastBlock.timestamp))
109- then throw((launch_error + toString(StartTS)))
110- else if ((lastBlock.timestamp > EndTS))
111- then throw(voteErr)
112- else if ((LatestUserCountforVoting > 1))
113- then throw(AlreadyVotedError)
114- else [IntegerEntry(("Total_Votes_" + toString(Porposal_ID)), totalvotes), IntegerEntry(((("Total_" + VoteAst) + "_") + toString(Porposal_ID)), ATVO), IntegerEntry(((pubkey + "_") + toString(Porposal_ID)), LatestUserCountforVoting), StringEntry("message", msg)]
7+func call () = {
8+ let user_address = toBase58String(i.caller.bytes)
9+[StringEntry("Address", user_address)]
11510 }
11611
11712
11813 @Verifier(tx)
11914 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
12015

github/deemru/w8io/6500d08 
34.98 ms