tx · 6PcfjjqZvaPU6iWQULv17q4S5FYA7MVNtibaSFt1kmCz

3N8dYK8BQhY7z1yKFRFhdw4m9b4JjsNQJVd:  -0.01400000 Waves

2023.04.14 14:33 [2534153] smart account 3N8dYK8BQhY7z1yKFRFhdw4m9b4JjsNQJVd > SELF 0.00000000 Waves

{ "type": 13, "id": "6PcfjjqZvaPU6iWQULv17q4S5FYA7MVNtibaSFt1kmCz", "fee": 1400000, "feeAssetId": null, "timestamp": 1681472060265, "version": 2, "chainId": 84, "sender": "3N8dYK8BQhY7z1yKFRFhdw4m9b4JjsNQJVd", "senderPublicKey": "AK6rRKpHobxNveEtJE5BBXbdwm9BpGL7ewP9Xb6VYuHx", "proofs": [ "2Nub2VEqhy3Xkie81JvdHcvi99GLsmYvpqYBpdgfn8bZY6wzjS1cTUoWax7kVv3d61NPY37S4AZNHi4qkeFigQMY" ], "script": "base64:AAIEAAAAAAAAABMIAhIFCgMIAQESAwoBARIDCgEBAAAABwAAAAAOQTRBU3Rha2luZ0RBcHAJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAECAAAAIzNONm9XTHlRWTJnTTdRVWtVdkJtZTFSRW5BNmQxVjd5M0FUAAAAACJ2b3RpbmdfdGltZXN0YW1wX2NvbnRyb2xsZXJfcHVia2V5AQAAACA7dEXxvlA55FKxmI42AI6/6uJD1h8gECoNXRixDQRDDAAAAAASY29udHJvbGxlcl9hZGRyZXNzCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAACJ2b3RpbmdfdGltZXN0YW1wX2NvbnRyb2xsZXJfcHVia2V5AAAAAAxsYXVuY2hfZXJyb3ICAAAAJERhcHAgd2lsbCBzdGFydCBWb3RpbmcgYXQgVGltZXN0YW1wIAAAAAADbXNnAgAAAC48aDE+WW91ciBWb3RlIFN1Ym1pdHRlZCBTdWNjZXNzZnVsbHkhPC9oMT48YnI+AAAAABFBbHJlYWR5Vm90ZWRFcnJvcgIAAAA+VGhpcyBBZGRyZXNzIEFscmVhZHkgcGFydGljaXBhdGVkIGZvciBWb3RpbmcgaW4gdGhpcyBQcm9wb3NhbC4AAAAAB3ZvdGVFcnICAAAAHVZvdGluZyBpcyBPdmVyIGZvciB0aGlzIERhcHAuAAAAAwAAAAFpAQAAABNTZXRWb3RpbmdUaW1lU3RhbXBzAAAAAwAAAAhQcm9wb3NhbAAAABZWb3RpbmdfU3RhcnRfVGltZVN0YW1wAAAAFFZvdGluZ19FbmRfVGltZVN0YW1wBAAAAAdTdGFydFRTBQAAABZWb3RpbmdfU3RhcnRfVGltZVN0YW1wBAAAAAVFbmRUUwUAAAAUVm90aW5nX0VuZF9UaW1lU3RhbXAEAAAAEnJlYWR0b3RhbFN0YWtlZEE0QQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAOQTRBU3Rha2luZ0RBcHACAAAADVN0YWtlZF9BbW91bnQEAAAAC1F1b3J1bVZhbHVlCQAAawAAAAMFAAAAEnJlYWR0b3RhbFN0YWtlZEE0QQAAAAAAAAAAAQAAAAAAAAAAAwQAAAAGcHVia2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxs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", "height": 2534153, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3nasqn7RGPAXZqkspngogUjPLujXRXZ1xATGe5ZbeGsH Next: EmrGgLLirkPUtEhiCuEtzLusAbyAxhWSn34n2zdPg1dK Diff:
OldNewDifferences
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, ("Quorum_" + toString(Porposal_ID)))
4849 let Previoustotalvotes = match getInteger(this, ("Total_Votes_" + toString(Porposal_ID))) {
4950 case a: Int =>
5051 a
7273 then throw(voteErr)
7374 else if ((LatestUserCountforVoting > 1))
7475 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+ else if ((readQuoraumValue > totalvotes))
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)), "Fail"), StringEntry("message", msg)]
78+ else nil
7679 }
7780
7881
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."))
3636 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)]
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, ("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)
7374 else if ((LatestUserCountforVoting > 1))
7475 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+ else if ((readQuoraumValue > totalvotes))
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)), "Fail"), StringEntry("message", msg)]
78+ else nil
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.")
8790 let Previoustotalvotes = match getInteger(this, ("Total_Votes_" + toString(Porposal_ID))) {
8891 case a: Int =>
8992 a
9093 case _ =>
9194 0
9295 }
9396 let totalvotes = (Previoustotalvotes + readA4AStakingAmount)
9497 let FTVO = match getInteger(this, ((("Total_" + VoteAst) + "_") + toString(Porposal_ID))) {
9598 case a: Int =>
9699 a
97100 case _ =>
98101 0
99102 }
100103 let ATVO = (FTVO + readA4AStakingAmount)
101104 let PreviousUserCountforVoting = match getInteger(this, ((pubkey + "_") + toString(Porposal_ID))) {
102105 case a: Int =>
103106 a
104107 case _ =>
105108 0
106109 }
107110 let LatestUserCountforVoting = (PreviousUserCountforVoting + 1)
108111 if ((StartTS > lastBlock.timestamp))
109112 then throw((launch_error + toString(StartTS)))
110113 else if ((lastBlock.timestamp > EndTS))
111114 then throw(voteErr)
112115 else if ((LatestUserCountforVoting > 1))
113116 then throw(AlreadyVotedError)
114117 else [IntegerEntry(("Total_Votes_" + toString(Porposal_ID)), totalvotes), IntegerEntry(((("Total_" + VoteAst) + "_") + toString(Porposal_ID)), ATVO), IntegerEntry(((pubkey + "_") + toString(Porposal_ID)), LatestUserCountforVoting), StringEntry("message", msg)]
115118 }
116119
117120
118121 @Verifier(tx)
119122 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
120123

github/deemru/w8io/873ac7e 
31.77 ms