tx · 813k9FhNj8ofc8sa15eeheF5H5M2uZo6f9mofQwqYd39

3Mrvz9iRPwQG2asueNNCYMjJnko227TqQDw:  -0.01400000 Waves

2023.04.06 12:52 [2522546] smart account 3Mrvz9iRPwQG2asueNNCYMjJnko227TqQDw > SELF 0.00000000 Waves

{ "type": 13, "id": "813k9FhNj8ofc8sa15eeheF5H5M2uZo6f9mofQwqYd39", "fee": 1400000, "feeAssetId": null, "timestamp": 1680774803643, "version": 2, "chainId": 84, "sender": "3Mrvz9iRPwQG2asueNNCYMjJnko227TqQDw", "senderPublicKey": "Cin1vNbYtepAcdipQipLcqKhT69yfrzdyCUwhQA4RW5n", "proofs": [ "21aKCcg8C47GmPbij93ji76fLnrBeeyazdc6Gn6muq8YLjzmSTb8tqjnsQZY6wqXTYRhn9Pp9kqrvhMwY9Hqp2eq" ], "script": "base64:AAIEAAAAAAAAABMIAhIFCgMIAQESAwoBARIDCgEIAAAACQAAAAAEVk9URQEAAAAgCGWEtw/wimoa8+Jo6C4IkCTD0ydYA80s9i5eC9/aFaQAAAAAInZvdGluZ190aW1lc3RhbXBfY29udHJvbGxlcl9wdWJrZXkBAAAAIBu9S76H7YCzeS6A6ExALdu+B5uJ7eQOaVtSWu8sVA9tAAAAABJjb250cm9sbGVyX2FkZHJlc3MJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAInZvdGluZ190aW1lc3RhbXBfY29udHJvbGxlcl9wdWJrZXkAAAAADGxhdW5jaF9lcnJvcgIAAAAkRGFwcCB3aWxsIHN0YXJ0IFZvdGluZyBhdCBUaW1lc3RhbXAgAAAAAANtc2cCAAAALjxoMT5Zb3VyIFZvdGUgU3VibWl0dGVkIFN1Y2Nlc3NmdWxseSE8L2gxPjxicj4AAAAACXB5bXRlcnJvcgIAAAA1REFwcCBOZWVkIDAuMDAwMDAwMDEgVk9URSBUb2tlbiBhcyBBdHRhY2ggcGF5bWVudFsxXS4AAAAAC21pbmJhbGVycm9yAgAAAHBNaW4uIDAuMDAwMDAwMDEgVk9URSByZXF1aXJlZCBvbiBZb3VyIEFkZHJlc3MgdG8gVm90ZS4gUGxlYXNlIE1pbnQgb3IgaG9sZCBtaW4uIDAuMDAwMDAwMDEgVk9URSBvbiB0aGlzIEFkZHJlc3MuAAAAAAhhc3NldGVycgkAASwAAAACCQABLAAAAAICAAAAJkluY29ycmVjdCBhc3NldCBhdHRhY2gsIHBsZWFzZSBhdHRhY2ggCQACWAAAAAEFAAAABFZPVEUCAAAADiBBc3NldElEIE9ubHkuAAAAAAd2b3RlRXJyAgAAAB1Wb3RpbmcgaXMgT3ZlciBmb3IgdGhpcyBEYXBwLgAAAAMAAAABaQEAAAATU2V0Vm90aW5nVGltZVN0YW1wcwAAAAMAAAAIUHJvcG9zYWwAAAAWVm90aW5nX1N0YXJ0X1RpbWVTdGFtcAAAABRWb3RpbmdfRW5kX1RpbWVTdGFtcAQAAAAHU3RhcnRUUwUAAAAWVm90aW5nX1N0YXJ0X1RpbWVTdGFtcAQAAAAFRW5kVFMFAAAAFFZvdGluZ19FbmRfVGltZVN0YW1wBAAA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", "height": 2522546, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HKN61wgzZussm121xetFsG2rAx11AAknUUA3ZzNjR4ds Next: none Diff:
OldNewDifferences
5757 0
5858 }
5959 let totalvotes = (Previoustotalvotes + pmt.amount)
60- let Previous_User_total_Votes = match getInteger(this, ((("User_Total_Votes_" + pubkey) + "_") + toString(Porposal_ID))) {
61- case a: Int =>
62- a
63- case _ =>
64- 0
65- }
66- let User_total_Votes = (Previous_User_total_Votes + pmt.amount)
67- let UWVFA = match getInteger(this, ((((("User_Total_Votes_" + pubkey) + "_") + toString(Porposal_ID)) + "-") + VoteAst)) {
68- case a: Int =>
69- a
70- case _ =>
71- 0
72- }
73- let UTWVFA = (UWVFA + pmt.amount)
74- let FUVFA = match getInteger(this, ((((("User_Total_Asset_Votes_" + pubkey) + "_") + toString(Porposal_ID)) + "_") + VoteAst)) {
75- case a: Int =>
76- a
77- case _ =>
78- 0
79- }
80- let UTVFA = (FUVFA + pmt.amount)
81- let FTVO = match getInteger(this, ((("Total_Votes_" + toString(Porposal_ID)) + "_") + VoteAst)) {
60+ let FTVO = match getInteger(this, ((("Total_" + VoteAst) + "_") + toString(Porposal_ID))) {
8261 case a: Int =>
8362 a
8463 case _ =>
9372 then throw(asseterr)
9473 else if ((lastBlock.timestamp > EndTS))
9574 then throw(voteErr)
96- else [IntegerEntry(("Total_Votes_" + toString(Porposal_ID)), totalvotes), IntegerEntry(((("Total_Votes_" + toString(Porposal_ID)) + "_") + VoteAst), ATVO), IntegerEntry(((("User_Total_Votes_" + pubkey) + "_") + toString(Porposal_ID)), User_total_Votes), IntegerEntry(((((("User_Total_Votes_" + pubkey) + "_") + toString(Porposal_ID)) + "-") + VoteAst), UTWVFA), IntegerEntry(((((("User_Total_Asset_Votes_" + pubkey) + "_") + toString(Porposal_ID)) + "_") + VoteAst), UTVFA), StringEntry("message", msg)]
75+ else [IntegerEntry(("Total_Votes_" + toString(Porposal_ID)), totalvotes), IntegerEntry(((("Total_Votes_" + VoteAst) + "_") + toString(Porposal_ID)), ATVO), StringEntry("message", msg)]
9776 }
9877
9978
10079
10180 @Callable(i)
102-func No () = {
103- let VoteAst = "No"
104- let StartTS = getIntegerValue(this, "Voting_Start_TimeStamp")
105- let EndTS = getIntegerValue(this, "Voting_End_TimeStamp")
106- let pubkey = toBase58String(i.caller.bytes)
107- let pmt = if ((size(i.payments) == 1))
108- then i.payments[0]
109- else throw(pymterror)
110- let assetbal = assetBalance(addressFromPublicKey(i.callerPublicKey), VOTE)
111- let Previoustotalvotes = match getInteger(this, "Total_Votes") {
112- case a: Int =>
113- a
114- case _ =>
115- 0
116- }
117- let totalvotes = (Previoustotalvotes + pmt.amount)
118- let Previous_User_total_Votes = match getInteger(this, ("User_Total_Votes_" + pubkey)) {
119- case a: Int =>
120- a
121- case _ =>
122- 0
123- }
124- let User_total_Votes = (Previous_User_total_Votes + pmt.amount)
125- let UWVFA = match getInteger(this, ((("User_Total_Votes_" + pubkey) + "-") + VoteAst)) {
126- case a: Int =>
127- a
128- case _ =>
129- 0
130- }
131- let UTWVFA = (UWVFA + pmt.amount)
132- let FUVFA = match getInteger(this, ((("User_Total_Asset_Votes_" + pubkey) + "_") + VoteAst)) {
133- case a: Int =>
134- a
135- case _ =>
136- 0
137- }
138- let UTVFA = (FUVFA + pmt.amount)
139- let FTVO = match getInteger(this, ("Total_Votes_" + VoteAst)) {
140- case a: Int =>
141- a
142- case _ =>
143- 0
144- }
145- let ATVO = (FTVO + pmt.amount)
146- if ((StartTS > lastBlock.timestamp))
147- then throw((launch_error + toString(StartTS)))
148- else if ((1 > assetbal))
149- then throw(minbalerror)
150- else if ((pmt.assetId != VOTE))
151- then throw(asseterr)
152- else if ((lastBlock.timestamp > EndTS))
153- then throw(voteErr)
154- else [IntegerEntry("Total_Votes", totalvotes), IntegerEntry(("Total_Votes_" + VoteAst), ATVO), IntegerEntry(("User_Total_Votes_" + pubkey), User_total_Votes), IntegerEntry(((("User_Total_Votes_" + pubkey) + "-") + VoteAst), UTWVFA), IntegerEntry(((("User_Total_Asset_Votes_" + pubkey) + "_") + VoteAst), UTVFA), StringEntry("message", msg)]
155- }
156-
157-
158-
159-@Callable(i)
160-func Abstain () = {
161- let VoteAst = "Abstain"
162- let StartTS = getIntegerValue(this, "Voting_Start_TimeStamp")
163- let EndTS = getIntegerValue(this, "Voting_End_TimeStamp")
164- let pubkey = toBase58String(i.caller.bytes)
165- let pmt = if ((size(i.payments) == 1))
166- then i.payments[0]
167- else throw(pymterror)
168- let assetbal = assetBalance(addressFromPublicKey(i.callerPublicKey), VOTE)
169- let Previoustotalvotes = match getInteger(this, "Total_Votes") {
170- case a: Int =>
171- a
172- case _ =>
173- 0
174- }
175- let totalvotes = (Previoustotalvotes + pmt.amount)
176- let Previous_User_total_Votes = match getInteger(this, ("User_Total_Votes_" + pubkey)) {
177- case a: Int =>
178- a
179- case _ =>
180- 0
181- }
182- let User_total_Votes = (Previous_User_total_Votes + pmt.amount)
183- let UWVFA = match getInteger(this, ((("User_Total_Votes_" + pubkey) + "-") + VoteAst)) {
184- case a: Int =>
185- a
186- case _ =>
187- 0
188- }
189- let UTWVFA = (UWVFA + pmt.amount)
190- let FUVFA = match getInteger(this, ((("User_Total_Asset_Votes_" + pubkey) + "_") + VoteAst)) {
191- case a: Int =>
192- a
193- case _ =>
194- 0
195- }
196- let UTVFA = (FUVFA + pmt.amount)
197- let FTVO = match getInteger(this, ("Total_Votes_" + VoteAst)) {
198- case a: Int =>
199- a
200- case _ =>
201- 0
202- }
203- let ATVO = (FTVO + pmt.amount)
204- if ((StartTS > lastBlock.timestamp))
205- then throw((launch_error + toString(StartTS)))
206- else if ((1 > assetbal))
207- then throw(minbalerror)
208- else if ((pmt.assetId != VOTE))
209- then throw(asseterr)
210- else if ((lastBlock.timestamp > EndTS))
211- then throw(voteErr)
212- else [IntegerEntry("Total_Votes", totalvotes), IntegerEntry(("Total_Votes_" + VoteAst), ATVO), IntegerEntry(("User_Total_Votes_" + pubkey), User_total_Votes), IntegerEntry(((("User_Total_Votes_" + pubkey) + "-") + VoteAst), UTWVFA), IntegerEntry(((("User_Total_Asset_Votes_" + pubkey) + "_") + VoteAst), UTVFA), StringEntry("message", msg)]
213- }
81+func DeleteKey (Key) = [DeleteEntry("Proposal Data_1"), DeleteEntry("Proposal Data_2"), DeleteEntry("Proposal_Data_3"), DeleteEntry(Key)]
21482
21583
21684 @Verifier(tx)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let VOTE = base58'Zn3cLHW7aAVPm5aACcTjvg7e7iEy2cKDtbowok5qa9H'
55
66 let voting_timestamp_controller_pubkey = base58'2sHRUrJCMpDhAQEcN7Zhk3LqnD9zizebpxeQXpPoscQU'
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 pymterror = "DApp Need 0.00000001 VOTE Token as Attach payment[1]."
1515
1616 let minbalerror = "Min. 0.00000001 VOTE required on Your Address to Vote. Please Mint or hold min. 0.00000001 VOTE on this Address."
1717
1818 let asseterr = (("Incorrect asset attach, please attach " + toBase58String(VOTE)) + " AssetID Only.")
1919
2020 let voteErr = "Voting is Over for this Dapp."
2121
2222 @Callable(i)
2323 func SetVotingTimeStamps (Proposal,Voting_Start_TimeStamp,Voting_End_TimeStamp) = {
2424 let StartTS = Voting_Start_TimeStamp
2525 let EndTS = Voting_End_TimeStamp
2626 let pubkey = toBase58String(i.caller.bytes)
2727 let Previoustotalproposals = match getInteger(this, "Total_Proposals") {
2828 case a: Int =>
2929 a
3030 case _ =>
3131 0
3232 }
3333 let totalproposals = (Previoustotalproposals + 1)
3434 if ((size(Proposal) > 5100))
3535 then throw("Subject Char Limits are Over. Reduce length less than 5100 Char.")
3636 else if ((i.caller != controller_address))
3737 then throw((("This Address is not Authorized. Only " + toString(controller_address)) + " is Authorized Address to Sign it."))
3838 else [StringEntry(("Proposal_Data_" + 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)]
3939 }
4040
4141
4242
4343 @Callable(i)
4444 func Yes (Porposal_ID) = {
4545 let VoteAst = "Yes"
4646 let StartTS = getIntegerValue(this, ("Voting_Start_TimeStamp_" + toString(Porposal_ID)))
4747 let EndTS = getIntegerValue(this, ("Voting_End_TimeStamp_" + toString(Porposal_ID)))
4848 let pubkey = toBase58String(i.caller.bytes)
4949 let pmt = if ((size(i.payments) == 1))
5050 then i.payments[0]
5151 else throw(pymterror)
5252 let assetbal = assetBalance(addressFromPublicKey(i.callerPublicKey), VOTE)
5353 let Previoustotalvotes = match getInteger(this, ("Total_Votes_" + toString(Porposal_ID))) {
5454 case a: Int =>
5555 a
5656 case _ =>
5757 0
5858 }
5959 let totalvotes = (Previoustotalvotes + pmt.amount)
60- let Previous_User_total_Votes = match getInteger(this, ((("User_Total_Votes_" + pubkey) + "_") + toString(Porposal_ID))) {
61- case a: Int =>
62- a
63- case _ =>
64- 0
65- }
66- let User_total_Votes = (Previous_User_total_Votes + pmt.amount)
67- let UWVFA = match getInteger(this, ((((("User_Total_Votes_" + pubkey) + "_") + toString(Porposal_ID)) + "-") + VoteAst)) {
68- case a: Int =>
69- a
70- case _ =>
71- 0
72- }
73- let UTWVFA = (UWVFA + pmt.amount)
74- let FUVFA = match getInteger(this, ((((("User_Total_Asset_Votes_" + pubkey) + "_") + toString(Porposal_ID)) + "_") + VoteAst)) {
75- case a: Int =>
76- a
77- case _ =>
78- 0
79- }
80- let UTVFA = (FUVFA + pmt.amount)
81- let FTVO = match getInteger(this, ((("Total_Votes_" + toString(Porposal_ID)) + "_") + VoteAst)) {
60+ let FTVO = match getInteger(this, ((("Total_" + VoteAst) + "_") + toString(Porposal_ID))) {
8261 case a: Int =>
8362 a
8463 case _ =>
8564 0
8665 }
8766 let ATVO = (FTVO + pmt.amount)
8867 if ((StartTS > lastBlock.timestamp))
8968 then throw((launch_error + toString(StartTS)))
9069 else if ((1 > assetbal))
9170 then throw(minbalerror)
9271 else if ((pmt.assetId != VOTE))
9372 then throw(asseterr)
9473 else if ((lastBlock.timestamp > EndTS))
9574 then throw(voteErr)
96- else [IntegerEntry(("Total_Votes_" + toString(Porposal_ID)), totalvotes), IntegerEntry(((("Total_Votes_" + toString(Porposal_ID)) + "_") + VoteAst), ATVO), IntegerEntry(((("User_Total_Votes_" + pubkey) + "_") + toString(Porposal_ID)), User_total_Votes), IntegerEntry(((((("User_Total_Votes_" + pubkey) + "_") + toString(Porposal_ID)) + "-") + VoteAst), UTWVFA), IntegerEntry(((((("User_Total_Asset_Votes_" + pubkey) + "_") + toString(Porposal_ID)) + "_") + VoteAst), UTVFA), StringEntry("message", msg)]
75+ else [IntegerEntry(("Total_Votes_" + toString(Porposal_ID)), totalvotes), IntegerEntry(((("Total_Votes_" + VoteAst) + "_") + toString(Porposal_ID)), ATVO), StringEntry("message", msg)]
9776 }
9877
9978
10079
10180 @Callable(i)
102-func No () = {
103- let VoteAst = "No"
104- let StartTS = getIntegerValue(this, "Voting_Start_TimeStamp")
105- let EndTS = getIntegerValue(this, "Voting_End_TimeStamp")
106- let pubkey = toBase58String(i.caller.bytes)
107- let pmt = if ((size(i.payments) == 1))
108- then i.payments[0]
109- else throw(pymterror)
110- let assetbal = assetBalance(addressFromPublicKey(i.callerPublicKey), VOTE)
111- let Previoustotalvotes = match getInteger(this, "Total_Votes") {
112- case a: Int =>
113- a
114- case _ =>
115- 0
116- }
117- let totalvotes = (Previoustotalvotes + pmt.amount)
118- let Previous_User_total_Votes = match getInteger(this, ("User_Total_Votes_" + pubkey)) {
119- case a: Int =>
120- a
121- case _ =>
122- 0
123- }
124- let User_total_Votes = (Previous_User_total_Votes + pmt.amount)
125- let UWVFA = match getInteger(this, ((("User_Total_Votes_" + pubkey) + "-") + VoteAst)) {
126- case a: Int =>
127- a
128- case _ =>
129- 0
130- }
131- let UTWVFA = (UWVFA + pmt.amount)
132- let FUVFA = match getInteger(this, ((("User_Total_Asset_Votes_" + pubkey) + "_") + VoteAst)) {
133- case a: Int =>
134- a
135- case _ =>
136- 0
137- }
138- let UTVFA = (FUVFA + pmt.amount)
139- let FTVO = match getInteger(this, ("Total_Votes_" + VoteAst)) {
140- case a: Int =>
141- a
142- case _ =>
143- 0
144- }
145- let ATVO = (FTVO + pmt.amount)
146- if ((StartTS > lastBlock.timestamp))
147- then throw((launch_error + toString(StartTS)))
148- else if ((1 > assetbal))
149- then throw(minbalerror)
150- else if ((pmt.assetId != VOTE))
151- then throw(asseterr)
152- else if ((lastBlock.timestamp > EndTS))
153- then throw(voteErr)
154- else [IntegerEntry("Total_Votes", totalvotes), IntegerEntry(("Total_Votes_" + VoteAst), ATVO), IntegerEntry(("User_Total_Votes_" + pubkey), User_total_Votes), IntegerEntry(((("User_Total_Votes_" + pubkey) + "-") + VoteAst), UTWVFA), IntegerEntry(((("User_Total_Asset_Votes_" + pubkey) + "_") + VoteAst), UTVFA), StringEntry("message", msg)]
155- }
156-
157-
158-
159-@Callable(i)
160-func Abstain () = {
161- let VoteAst = "Abstain"
162- let StartTS = getIntegerValue(this, "Voting_Start_TimeStamp")
163- let EndTS = getIntegerValue(this, "Voting_End_TimeStamp")
164- let pubkey = toBase58String(i.caller.bytes)
165- let pmt = if ((size(i.payments) == 1))
166- then i.payments[0]
167- else throw(pymterror)
168- let assetbal = assetBalance(addressFromPublicKey(i.callerPublicKey), VOTE)
169- let Previoustotalvotes = match getInteger(this, "Total_Votes") {
170- case a: Int =>
171- a
172- case _ =>
173- 0
174- }
175- let totalvotes = (Previoustotalvotes + pmt.amount)
176- let Previous_User_total_Votes = match getInteger(this, ("User_Total_Votes_" + pubkey)) {
177- case a: Int =>
178- a
179- case _ =>
180- 0
181- }
182- let User_total_Votes = (Previous_User_total_Votes + pmt.amount)
183- let UWVFA = match getInteger(this, ((("User_Total_Votes_" + pubkey) + "-") + VoteAst)) {
184- case a: Int =>
185- a
186- case _ =>
187- 0
188- }
189- let UTWVFA = (UWVFA + pmt.amount)
190- let FUVFA = match getInteger(this, ((("User_Total_Asset_Votes_" + pubkey) + "_") + VoteAst)) {
191- case a: Int =>
192- a
193- case _ =>
194- 0
195- }
196- let UTVFA = (FUVFA + pmt.amount)
197- let FTVO = match getInteger(this, ("Total_Votes_" + VoteAst)) {
198- case a: Int =>
199- a
200- case _ =>
201- 0
202- }
203- let ATVO = (FTVO + pmt.amount)
204- if ((StartTS > lastBlock.timestamp))
205- then throw((launch_error + toString(StartTS)))
206- else if ((1 > assetbal))
207- then throw(minbalerror)
208- else if ((pmt.assetId != VOTE))
209- then throw(asseterr)
210- else if ((lastBlock.timestamp > EndTS))
211- then throw(voteErr)
212- else [IntegerEntry("Total_Votes", totalvotes), IntegerEntry(("Total_Votes_" + VoteAst), ATVO), IntegerEntry(("User_Total_Votes_" + pubkey), User_total_Votes), IntegerEntry(((("User_Total_Votes_" + pubkey) + "-") + VoteAst), UTWVFA), IntegerEntry(((("User_Total_Asset_Votes_" + pubkey) + "_") + VoteAst), UTVFA), StringEntry("message", msg)]
213- }
81+func DeleteKey (Key) = [DeleteEntry("Proposal Data_1"), DeleteEntry("Proposal Data_2"), DeleteEntry("Proposal_Data_3"), DeleteEntry(Key)]
21482
21583
21684 @Verifier(tx)
21785 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
21886

github/deemru/w8io/c3f4982 
48.99 ms