tx · 5KcCqjAZR6W3QcLgvVc5WU4rVLyakX2dTECayDdm5F3q

3N6oWLyQY2gM7QUkUvBme1REnA6d1V7y3AT:  -0.01400000 Waves

2023.04.14 20:56 [2534523] smart account 3N6oWLyQY2gM7QUkUvBme1REnA6d1V7y3AT > SELF 0.00000000 Waves

{ "type": 13, "id": "5KcCqjAZR6W3QcLgvVc5WU4rVLyakX2dTECayDdm5F3q", "fee": 1400000, "feeAssetId": null, "timestamp": 1681495006983, "version": 2, "chainId": 84, "sender": "3N6oWLyQY2gM7QUkUvBme1REnA6d1V7y3AT", "senderPublicKey": "86kQutchNhkrbHTdTXbAFXcJ8bPWQC8G4RGzAYcspLvb", "proofs": [ "2XiXLaJF7CZQTHjbc8vTsLKqyypiMEPDxveYGAbVpdEVHefX9kTXXwBgfF7pcDnXZdNX2RuNxh3SfuRgq2PeAE9" ], "script": "base64:AAIEAAAAAAAAABMIAhIFCgMIAQESAwoBARIDCgEBAAAABwAAAAAOQTRBU3Rha2luZ0RBcHAJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAECAAAAIzNONm9XTHlRWTJnTTdRVWtVdkJtZTFSRW5BNmQxVjd5M0FUAAAAACJ2b3RpbmdfdGltZXN0YW1wX2NvbnRyb2xsZXJfcHVia2V5AQAAACA7dEXxvlA55FKxmI42AI6/6uJD1h8gECoNXRixDQRDDAAAAAASY29udHJvbGxlcl9hZGRyZXNzCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAACJ2b3RpbmdfdGltZXN0YW1wX2NvbnRyb2xsZXJfcHVia2V5AAAAAAxsYXVuY2hfZXJyb3ICAAAAJERhcHAgd2lsbCBzdGFydCBWb3RpbmcgYXQgVGltZXN0YW1wIAAAAAADbXNnAgAAAC48aDE+WW91ciBWb3RlIFN1Ym1pdHRlZCBTdWNjZXNzZnVsbHkhPC9oMT48YnI+AAAAABFBbHJlYWR5Vm90ZWRFcnJvcgIAAAA+VGhpcyBBZGRyZXNzIEFscmVhZHkgcGFydGljaXBhdGVkIGZvciBWb3RpbmcgaW4gdGhpcyBQcm9wb3NhbC4AAAAAB3ZvdGVFcnICAAAAHVZvdGluZyBpcyBPdmVyIGZvciB0aGlzIERhcHAuAAAAAwAAAAFpAQAAABNTZXRWb3RpbmdUaW1lU3RhbXBzAAAAAwAAAAhQcm9wb3NhbAAAABZWb3RpbmdfU3RhcnRfVGltZVN0YW1wAAAAFFZvdGluZ19FbmRfVGltZVN0YW1wBAAAAAdTdGFydFRTBQAAABZWb3RpbmdfU3RhcnRfVGltZVN0YW1wBAAAAAVFbmRUUwUAAAAUVm90aW5nX0VuZF9UaW1lU3RhbXAEAAAAEnJlYWR0b3RhbFN0YWtlZEE0QQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAOQTRBU3Rha2luZ0RBcHACAAAADVN0YWtlZF9BbW91bnQEAAAAC1F1b3J1bVZhbHVlCQAAawAAAAMFAAAAEnJlYWR0b3RhbFN0YWtlZEE0QQAAAAAAAAAAAQAAAAAAAAAAAwQAAAAGcHVia2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxs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", "height": 2534523, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DrEsXqyHA7F8rEpYVmLGQTY4VzD6rkSuokSgLDYAtYmk Next: 8qqJrmiEnU9XM93Tu8Q4jetoxcjz7sP9ETzWDnQLiUex Diff:
OldNewDifferences
3333 then throw("Subject Char Limits are Over. Reduce length less than 5100 Char.")
3434 else if ((i.caller != controller_address))
3535 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)]
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(("Minimum_Quorum_" + toString(totalproposals)), QuorumValue), IntegerEntry(("Total_Votes_" + toString(totalproposals)), 0), IntegerEntry(("Total_No_" + toString(totalproposals)), 0), IntegerEntry(("Total_Yes_" + toString(totalproposals)), 0), StringEntry(("Quorum_Status_" + toString(totalproposals)), "Fail")]
3737 }
3838
3939
4545 let EndTS = getIntegerValue(this, ("Voting_End_TimeStamp_" + toString(Porposal_ID)))
4646 let pubkey = toBase58String(i.caller.bytes)
4747 let readA4AStakingAmount = valueOrErrorMessage(getInteger(A4AStakingDApp, ("Deposit_Amount_Of_" + pubkey)), "Address not found in A4A Staking.")
48+ let readQuoraumValue = getIntegerValue(this, ("Minimum_Quorum_" + toString(Porposal_ID)))
4849 let Previoustotalvotes = match getInteger(this, ("Total_Votes_" + toString(Porposal_ID))) {
4950 case a: Int =>
5051 a
7071 then throw((launch_error + toString(StartTS)))
7172 else if ((lastBlock.timestamp > EndTS))
7273 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)]
74+ else if ((readQuoraumValue > totalvotes))
75+ then [IntegerEntry(("Total_Votes_" + toString(Porposal_ID)), totalvotes), IntegerEntry(((("Total_" + VoteAst) + "_") + toString(Porposal_ID)), ATVO), IntegerEntry(((pubkey + "_") + toString(Porposal_ID)), LatestUserCountforVoting), StringEntry(("Quorum_Status_" + toString(Porposal_ID)), "Fail"), StringEntry("message", msg)]
76+ else if ((totalvotes > readQuoraumValue))
77+ then [IntegerEntry(("Total_Votes_" + toString(Porposal_ID)), totalvotes), IntegerEntry(((("Total_" + VoteAst) + "_") + toString(Porposal_ID)), ATVO), IntegerEntry(((pubkey + "_") + toString(Porposal_ID)), LatestUserCountforVoting), StringEntry(("Quorum_Status_" + toString(Porposal_ID)), "Pass"), StringEntry("message", msg)]
78+ else throw("Wrong Value Entered.")
7679 }
7780
7881
8487 let EndTS = getIntegerValue(this, ("Voting_End_TimeStamp_" + toString(Porposal_ID)))
8588 let pubkey = toBase58String(i.caller.bytes)
8689 let readA4AStakingAmount = valueOrErrorMessage(getInteger(A4AStakingDApp, ("Deposit_Amount_Of_" + pubkey)), "Address not found in A4A Staking.")
90+ let readQuoraumValue = getIntegerValue(this, ("Minimum_Quorum_" + toString(Porposal_ID)))
8791 let Previoustotalvotes = match getInteger(this, ("Total_Votes_" + toString(Porposal_ID))) {
8892 case a: Int =>
8993 a
109113 then throw((launch_error + toString(StartTS)))
110114 else if ((lastBlock.timestamp > EndTS))
111115 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)]
116+ else if ((readQuoraumValue > totalvotes))
117+ then [IntegerEntry(("Total_Votes_" + toString(Porposal_ID)), totalvotes), IntegerEntry(((("Total_" + VoteAst) + "_") + toString(Porposal_ID)), ATVO), IntegerEntry(((pubkey + "_") + toString(Porposal_ID)), LatestUserCountforVoting), StringEntry(("Quorum_Status_" + toString(Porposal_ID)), "Fail"), StringEntry("message", msg)]
118+ else if ((totalvotes > readQuoraumValue))
119+ then [IntegerEntry(("Total_Votes_" + toString(Porposal_ID)), totalvotes), IntegerEntry(((("Total_" + VoteAst) + "_") + toString(Porposal_ID)), ATVO), IntegerEntry(((pubkey + "_") + toString(Porposal_ID)), LatestUserCountforVoting), StringEntry(("Quorum_Status_" + toString(Porposal_ID)), "Pass"), StringEntry("message", msg)]
120+ else throw("Wrong Value Entered.")
115121 }
116122
117123
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let A4AStakingDApp = addressFromStringValue("3N6oWLyQY2gM7QUkUvBme1REnA6d1V7y3AT")
55
66 let voting_timestamp_controller_pubkey = base58'515tSAyMUbAb8kKjcpGDpqALGfCgcwfWmWKKkcBKTcGB'
77
88 let controller_address = addressFromPublicKey(voting_timestamp_controller_pubkey)
99
1010 let launch_error = "Dapp will start Voting at Timestamp "
1111
1212 let msg = "<h1>Your Vote Submitted Successfully!</h1><br>"
1313
1414 let AlreadyVotedError = "This Address Already participated for Voting in this Proposal."
1515
1616 let voteErr = "Voting is Over for this Dapp."
1717
1818 @Callable(i)
1919 func SetVotingTimeStamps (Proposal,Voting_Start_TimeStamp,Voting_End_TimeStamp) = {
2020 let StartTS = Voting_Start_TimeStamp
2121 let EndTS = Voting_End_TimeStamp
2222 let readtotalStakedA4A = getIntegerValue(A4AStakingDApp, "Staked_Amount")
2323 let QuorumValue = fraction(readtotalStakedA4A, 1, 3)
2424 let pubkey = toBase58String(i.caller.bytes)
2525 let Previoustotalproposals = match getInteger(this, "Total_Proposals") {
2626 case a: Int =>
2727 a
2828 case _ =>
2929 0
3030 }
3131 let totalproposals = (Previoustotalproposals + 1)
3232 if ((size(Proposal) > 5100))
3333 then throw("Subject Char Limits are Over. Reduce length less than 5100 Char.")
3434 else if ((i.caller != controller_address))
3535 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)]
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(("Minimum_Quorum_" + toString(totalproposals)), QuorumValue), IntegerEntry(("Total_Votes_" + toString(totalproposals)), 0), IntegerEntry(("Total_No_" + toString(totalproposals)), 0), IntegerEntry(("Total_Yes_" + toString(totalproposals)), 0), StringEntry(("Quorum_Status_" + toString(totalproposals)), "Fail")]
3737 }
3838
3939
4040
4141 @Callable(i)
4242 func Yes (Porposal_ID) = {
4343 let VoteAst = "Yes"
4444 let StartTS = getIntegerValue(this, ("Voting_Start_TimeStamp_" + toString(Porposal_ID)))
4545 let EndTS = getIntegerValue(this, ("Voting_End_TimeStamp_" + toString(Porposal_ID)))
4646 let pubkey = toBase58String(i.caller.bytes)
4747 let readA4AStakingAmount = valueOrErrorMessage(getInteger(A4AStakingDApp, ("Deposit_Amount_Of_" + pubkey)), "Address not found in A4A Staking.")
48+ let readQuoraumValue = getIntegerValue(this, ("Minimum_Quorum_" + toString(Porposal_ID)))
4849 let Previoustotalvotes = match getInteger(this, ("Total_Votes_" + toString(Porposal_ID))) {
4950 case a: Int =>
5051 a
5152 case _ =>
5253 0
5354 }
5455 let totalvotes = (Previoustotalvotes + readA4AStakingAmount)
5556 let FTVO = match getInteger(this, ((("Total_" + VoteAst) + "_") + toString(Porposal_ID))) {
5657 case a: Int =>
5758 a
5859 case _ =>
5960 0
6061 }
6162 let ATVO = (FTVO + readA4AStakingAmount)
6263 let PreviousUserCountforVoting = match getInteger(this, ((pubkey + "_") + toString(Porposal_ID))) {
6364 case a: Int =>
6465 a
6566 case _ =>
6667 0
6768 }
6869 let LatestUserCountforVoting = (PreviousUserCountforVoting + 1)
6970 if ((StartTS > lastBlock.timestamp))
7071 then throw((launch_error + toString(StartTS)))
7172 else if ((lastBlock.timestamp > EndTS))
7273 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)]
74+ else if ((readQuoraumValue > totalvotes))
75+ then [IntegerEntry(("Total_Votes_" + toString(Porposal_ID)), totalvotes), IntegerEntry(((("Total_" + VoteAst) + "_") + toString(Porposal_ID)), ATVO), IntegerEntry(((pubkey + "_") + toString(Porposal_ID)), LatestUserCountforVoting), StringEntry(("Quorum_Status_" + toString(Porposal_ID)), "Fail"), StringEntry("message", msg)]
76+ else if ((totalvotes > readQuoraumValue))
77+ then [IntegerEntry(("Total_Votes_" + toString(Porposal_ID)), totalvotes), IntegerEntry(((("Total_" + VoteAst) + "_") + toString(Porposal_ID)), ATVO), IntegerEntry(((pubkey + "_") + toString(Porposal_ID)), LatestUserCountforVoting), StringEntry(("Quorum_Status_" + toString(Porposal_ID)), "Pass"), StringEntry("message", msg)]
78+ else throw("Wrong Value Entered.")
7679 }
7780
7881
7982
8083 @Callable(i)
8184 func No (Porposal_ID) = {
8285 let VoteAst = "No"
8386 let StartTS = getIntegerValue(this, ("Voting_Start_TimeStamp_" + toString(Porposal_ID)))
8487 let EndTS = getIntegerValue(this, ("Voting_End_TimeStamp_" + toString(Porposal_ID)))
8588 let pubkey = toBase58String(i.caller.bytes)
8689 let readA4AStakingAmount = valueOrErrorMessage(getInteger(A4AStakingDApp, ("Deposit_Amount_Of_" + pubkey)), "Address not found in A4A Staking.")
90+ let readQuoraumValue = getIntegerValue(this, ("Minimum_Quorum_" + toString(Porposal_ID)))
8791 let Previoustotalvotes = match getInteger(this, ("Total_Votes_" + toString(Porposal_ID))) {
8892 case a: Int =>
8993 a
9094 case _ =>
9195 0
9296 }
9397 let totalvotes = (Previoustotalvotes + readA4AStakingAmount)
9498 let FTVO = match getInteger(this, ((("Total_" + VoteAst) + "_") + toString(Porposal_ID))) {
9599 case a: Int =>
96100 a
97101 case _ =>
98102 0
99103 }
100104 let ATVO = (FTVO + readA4AStakingAmount)
101105 let PreviousUserCountforVoting = match getInteger(this, ((pubkey + "_") + toString(Porposal_ID))) {
102106 case a: Int =>
103107 a
104108 case _ =>
105109 0
106110 }
107111 let LatestUserCountforVoting = (PreviousUserCountforVoting + 1)
108112 if ((StartTS > lastBlock.timestamp))
109113 then throw((launch_error + toString(StartTS)))
110114 else if ((lastBlock.timestamp > EndTS))
111115 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)]
116+ else if ((readQuoraumValue > totalvotes))
117+ then [IntegerEntry(("Total_Votes_" + toString(Porposal_ID)), totalvotes), IntegerEntry(((("Total_" + VoteAst) + "_") + toString(Porposal_ID)), ATVO), IntegerEntry(((pubkey + "_") + toString(Porposal_ID)), LatestUserCountforVoting), StringEntry(("Quorum_Status_" + toString(Porposal_ID)), "Fail"), StringEntry("message", msg)]
118+ else if ((totalvotes > readQuoraumValue))
119+ then [IntegerEntry(("Total_Votes_" + toString(Porposal_ID)), totalvotes), IntegerEntry(((("Total_" + VoteAst) + "_") + toString(Porposal_ID)), ATVO), IntegerEntry(((pubkey + "_") + toString(Porposal_ID)), LatestUserCountforVoting), StringEntry(("Quorum_Status_" + toString(Porposal_ID)), "Pass"), StringEntry("message", msg)]
120+ else throw("Wrong Value Entered.")
115121 }
116122
117123
118124 @Verifier(tx)
119125 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
120126

github/deemru/w8io/873ac7e 
50.08 ms