tx · HxhZvc5baTwFJ7TAgyzEqCi6238qS3xqg1sEtcs8D5Sw 3N17JMn4WESkhCSrcEwdADBZFAe8uiuvCGQ: -0.01400000 Waves 2021.09.27 08:53 [1720973] smart account 3N17JMn4WESkhCSrcEwdADBZFAe8uiuvCGQ > SELF 0.00000000 Waves
{ "type": 13, "id": "HxhZvc5baTwFJ7TAgyzEqCi6238qS3xqg1sEtcs8D5Sw", "fee": 1400000, "feeAssetId": null, "timestamp": 1632722105108, "version": 2, "chainId": 84, "sender": "3N17JMn4WESkhCSrcEwdADBZFAe8uiuvCGQ", "senderPublicKey": "BMLuSYJ8rvQD55waCoKpzCBhJAbY8s9pp4V5ZgxuzCBD", "proofs": [ "5HRookSeoErfeGnM4jJdBCcVrhzXpEA6JeYkDkVGaG4UJ9EM8Cj5sM4S8sNss2bRoUaP4AdBYVdb8iGHoCsKbbFY" ], "script": "base64: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", "height": 1720973, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GPAbQMBzSRg7BXqcYGgSyeznhdvip2yA9rjX4rJrTiAK Next: 2wYupbFiCyNAkLL6kGMbeJhmBsuEjR3hyjmhMYvFMSWc Diff:
Old | New | Differences | |
---|---|---|---|
4 | 4 | let A4AAssetID = base58'J9VzWPfRSQyCbEv5oWpxLSihigbpbJsGBHJZV9Ct8ook' | |
5 | 5 | ||
6 | 6 | @Callable(i) | |
7 | - | func | |
8 | - | let FavouriteAsset = " | |
7 | + | func Chainlink () = { | |
8 | + | let FavouriteAsset = "Chainlink" | |
9 | 9 | let pmt = if ((size(i.payments) == 1)) | |
10 | 10 | then i.payments[0] | |
11 | 11 | else throw("Weekly Vote Need 0.0001 A4A Token as Attached payment[1].") | |
17 | 17 | let TSUptoPastWeek = (Week0Timestamp + ((currentrunningweek - 1) * eachweek)) | |
18 | 18 | let votingpausetime = (TSUptoPastWeek + 360000) | |
19 | 19 | let checkassetbal = assetBalance(addressFromPublicKey(i.callerPublicKey), A4AAssetID) | |
20 | + | let fetchtotaltxns = match getInteger(this, "Total_Txns") { | |
21 | + | case a: Int => | |
22 | + | a | |
23 | + | case _ => | |
24 | + | 0 | |
25 | + | } | |
26 | + | let totaltxns = (fetchtotaltxns + 1) | |
20 | 27 | let fetchuservotes = match getInteger(this, ("User_Total_Votes_" + currentKey)) { | |
21 | 28 | case a: Int => | |
22 | 29 | a | |
35 | 42 | then throw("Minimum 1 A4A is required on Your Address to Vote. Please Mint or hold minimum 1 A4A on this Address.") | |
36 | 43 | else if ((pmt.assetId != A4AAssetID)) | |
37 | 44 | then throw((("Incorrect asset attached, please attach " + toBase58String(A4AAssetID)) + " AssetID Only.")) | |
38 | - | else if ((votingpausetime > lastBlock.timestamp)) | |
39 | - | then throw((("Voting is paused for Next " + toString(((votingpausetime - lastBlock.timestamp) / 60000))) + " Minutes")) | |
40 | - | else [IntegerEntry("Current_Voting_Week", currentrunningweek), IntegerEntry(("Total_Votes_" + FavouriteAsset), assettotalvotes), IntegerEntry(("User_Total_Votes_" + currentKey), usertotalvotes), IntegerEntry(("bal_" + currentKey), checkassetbal), StringEntry("message", "<h1>You Voted Successfully!</h1><br>")] | |
45 | + | else if ((pmt.amount != 10000)) | |
46 | + | then throw("Please Attach Exact 0.0001 A4A To Vote.") | |
47 | + | else if ((votingpausetime > lastBlock.timestamp)) | |
48 | + | then throw((("Voting is paused for Next " + toString(((votingpausetime - lastBlock.timestamp) / 60000))) + " Minutes")) | |
49 | + | else [IntegerEntry("Total_Txns", totaltxns), IntegerEntry("Current_Voting_Week", currentrunningweek), IntegerEntry(("Total_Votes_" + FavouriteAsset), assettotalvotes), IntegerEntry(("User_Total_Votes_" + currentKey), usertotalvotes), StringEntry("message", "<h1>You Voted Successfully!</h1><br>")] | |
41 | 50 | } | |
42 | 51 | ||
43 | 52 | ||
44 | 53 | ||
45 | 54 | @Callable(i) | |
46 | - | func ResetCounter () = [DeleteEntry("User_Total_Votes_3MshBTYYGc24JWzE2aYEktiz5KzeNQGA4GV")] | |
55 | + | func Dent () = { | |
56 | + | let FavouriteAsset = "Dent" | |
57 | + | let pmt = if ((size(i.payments) == 1)) | |
58 | + | then i.payments[0] | |
59 | + | else throw("Weekly Vote Need 0.0001 A4A Token as Attached payment[1].") | |
60 | + | let currentKey = toBase58String(i.caller.bytes) | |
61 | + | let Week0Timestamp = 1628186400000 | |
62 | + | let eachweek = 604800000 | |
63 | + | let eachhour = 3600000 | |
64 | + | let currentrunningweek = (((lastBlock.timestamp - Week0Timestamp) / eachweek) + 1) | |
65 | + | let TSUptoPastWeek = (Week0Timestamp + ((currentrunningweek - 1) * eachweek)) | |
66 | + | let votingpausetime = (TSUptoPastWeek + 360000) | |
67 | + | let checkassetbal = assetBalance(addressFromPublicKey(i.callerPublicKey), A4AAssetID) | |
68 | + | let fetchtotaltxns = match getInteger(this, "Total_Txns") { | |
69 | + | case a: Int => | |
70 | + | a | |
71 | + | case _ => | |
72 | + | 0 | |
73 | + | } | |
74 | + | let totaltxns = (fetchtotaltxns + 1) | |
75 | + | let fetchuservotes = match getInteger(this, ("User_Total_Votes_" + currentKey)) { | |
76 | + | case a: Int => | |
77 | + | a | |
78 | + | case _ => | |
79 | + | 0 | |
80 | + | } | |
81 | + | let usertotalvotes = (fetchuservotes + 1) | |
82 | + | let fetchtotalvotes = match getInteger(this, ("Total_Votes_" + FavouriteAsset)) { | |
83 | + | case a: Int => | |
84 | + | a | |
85 | + | case _ => | |
86 | + | 0 | |
87 | + | } | |
88 | + | let assettotalvotes = (fetchtotalvotes + 1) | |
89 | + | if ((100000000 > checkassetbal)) | |
90 | + | then throw("Minimum 1 A4A is required on Your Address to Vote. Please Mint or hold minimum 1 A4A on this Address.") | |
91 | + | else if ((pmt.assetId != A4AAssetID)) | |
92 | + | then throw((("Incorrect asset attached, please attach " + toBase58String(A4AAssetID)) + " AssetID Only.")) | |
93 | + | else if ((pmt.amount != 10000)) | |
94 | + | then throw("Please Attach Exact 0.0001 A4A To Vote.") | |
95 | + | else if ((votingpausetime > lastBlock.timestamp)) | |
96 | + | then throw((("Voting is paused for Next " + toString(((votingpausetime - lastBlock.timestamp) / 60000))) + " Minutes")) | |
97 | + | else [IntegerEntry("Total_Txns", totaltxns), IntegerEntry("Current_Voting_Week", currentrunningweek), IntegerEntry(("Total_Votes_" + FavouriteAsset), assettotalvotes), IntegerEntry(("User_Total_Votes_" + currentKey), usertotalvotes), StringEntry("message", "<h1>You Voted Successfully!</h1><br>")] | |
98 | + | } | |
99 | + | ||
100 | + | ||
101 | + | ||
102 | + | @Callable(i) | |
103 | + | func Sushi () = { | |
104 | + | let FavouriteAsset = "Sushi" | |
105 | + | let pmt = if ((size(i.payments) == 1)) | |
106 | + | then i.payments[0] | |
107 | + | else throw("Weekly Vote Need 0.0001 A4A Token as Attached payment[1].") | |
108 | + | let currentKey = toBase58String(i.caller.bytes) | |
109 | + | let Week0Timestamp = 1628186400000 | |
110 | + | let eachweek = 604800000 | |
111 | + | let eachhour = 3600000 | |
112 | + | let currentrunningweek = (((lastBlock.timestamp - Week0Timestamp) / eachweek) + 1) | |
113 | + | let TSUptoPastWeek = (Week0Timestamp + ((currentrunningweek - 1) * eachweek)) | |
114 | + | let votingpausetime = (TSUptoPastWeek + 360000) | |
115 | + | let checkassetbal = assetBalance(addressFromPublicKey(i.callerPublicKey), A4AAssetID) | |
116 | + | let fetchtotaltxns = match getInteger(this, "Total_Txns") { | |
117 | + | case a: Int => | |
118 | + | a | |
119 | + | case _ => | |
120 | + | 0 | |
121 | + | } | |
122 | + | let totaltxns = (fetchtotaltxns + 1) | |
123 | + | let fetchuservotes = match getInteger(this, ("User_Total_Votes_" + currentKey)) { | |
124 | + | case a: Int => | |
125 | + | a | |
126 | + | case _ => | |
127 | + | 0 | |
128 | + | } | |
129 | + | let usertotalvotes = (fetchuservotes + 1) | |
130 | + | let fetchtotalvotes = match getInteger(this, ("Total_Votes_" + FavouriteAsset)) { | |
131 | + | case a: Int => | |
132 | + | a | |
133 | + | case _ => | |
134 | + | 0 | |
135 | + | } | |
136 | + | let assettotalvotes = (fetchtotalvotes + 1) | |
137 | + | if ((100000000 > checkassetbal)) | |
138 | + | then throw("Minimum 1 A4A is required on Your Address to Vote. Please Mint or hold minimum 1 A4A on this Address.") | |
139 | + | else if ((pmt.assetId != A4AAssetID)) | |
140 | + | then throw((("Incorrect asset attached, please attach " + toBase58String(A4AAssetID)) + " AssetID Only.")) | |
141 | + | else if ((pmt.amount != 10000)) | |
142 | + | then throw("Please Attach Exact 0.0001 A4A To Vote.") | |
143 | + | else if ((votingpausetime > lastBlock.timestamp)) | |
144 | + | then throw((("Voting is paused for Next " + toString(((votingpausetime - lastBlock.timestamp) / 60000))) + " Minutes")) | |
145 | + | else [IntegerEntry("Total_Txns", totaltxns), IntegerEntry("Current_Voting_Week", currentrunningweek), IntegerEntry(("Total_Votes_" + FavouriteAsset), assettotalvotes), IntegerEntry(("User_Total_Votes_" + currentKey), usertotalvotes), StringEntry("message", "<h1>You Voted Successfully!</h1><br>")] | |
146 | + | } | |
147 | + | ||
148 | + | ||
149 | + | ||
150 | + | @Callable(i) | |
151 | + | func Compound () = { | |
152 | + | let FavouriteAsset = "Compound" | |
153 | + | let pmt = if ((size(i.payments) == 1)) | |
154 | + | then i.payments[0] | |
155 | + | else throw("Weekly Vote Need 0.0001 A4A Token as Attached payment[1].") | |
156 | + | let currentKey = toBase58String(i.caller.bytes) | |
157 | + | let Week0Timestamp = 1628186400000 | |
158 | + | let eachweek = 604800000 | |
159 | + | let eachhour = 3600000 | |
160 | + | let currentrunningweek = (((lastBlock.timestamp - Week0Timestamp) / eachweek) + 1) | |
161 | + | let TSUptoPastWeek = (Week0Timestamp + ((currentrunningweek - 1) * eachweek)) | |
162 | + | let votingpausetime = (TSUptoPastWeek + 360000) | |
163 | + | let checkassetbal = assetBalance(addressFromPublicKey(i.callerPublicKey), A4AAssetID) | |
164 | + | let fetchtotaltxns = match getInteger(this, "Total_Txns") { | |
165 | + | case a: Int => | |
166 | + | a | |
167 | + | case _ => | |
168 | + | 0 | |
169 | + | } | |
170 | + | let totaltxns = (fetchtotaltxns + 1) | |
171 | + | let fetchuservotes = match getInteger(this, ("User_Total_Votes_" + currentKey)) { | |
172 | + | case a: Int => | |
173 | + | a | |
174 | + | case _ => | |
175 | + | 0 | |
176 | + | } | |
177 | + | let usertotalvotes = (fetchuservotes + 1) | |
178 | + | let fetchtotalvotes = match getInteger(this, ("Total_Votes_" + FavouriteAsset)) { | |
179 | + | case a: Int => | |
180 | + | a | |
181 | + | case _ => | |
182 | + | 0 | |
183 | + | } | |
184 | + | let assettotalvotes = (fetchtotalvotes + 1) | |
185 | + | if ((100000000 > checkassetbal)) | |
186 | + | then throw("Minimum 1 A4A is required on Your Address to Vote. Please Mint or hold minimum 1 A4A on this Address.") | |
187 | + | else if ((pmt.assetId != A4AAssetID)) | |
188 | + | then throw((("Incorrect asset attached, please attach " + toBase58String(A4AAssetID)) + " AssetID Only.")) | |
189 | + | else if ((pmt.amount != 10000)) | |
190 | + | then throw("Please Attach Exact 0.0001 A4A To Vote.") | |
191 | + | else if ((votingpausetime > lastBlock.timestamp)) | |
192 | + | then throw((("Voting is paused for Next " + toString(((votingpausetime - lastBlock.timestamp) / 60000))) + " Minutes")) | |
193 | + | else [IntegerEntry("Total_Txns", totaltxns), IntegerEntry("Current_Voting_Week", currentrunningweek), IntegerEntry(("Total_Votes_" + FavouriteAsset), assettotalvotes), IntegerEntry(("User_Total_Votes_" + currentKey), usertotalvotes), StringEntry("message", "<h1>You Voted Successfully!</h1><br>")] | |
194 | + | } | |
195 | + | ||
196 | + | ||
197 | + | ||
198 | + | @Callable(i) | |
199 | + | func ResetCounter (FavouriteAsset) = [IntegerEntry(("Total_Votes_" + FavouriteAsset), 0)] | |
47 | 200 | ||
48 | 201 | ||
49 | 202 | @Verifier(tx) |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 4 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let A4AAssetID = base58'J9VzWPfRSQyCbEv5oWpxLSihigbpbJsGBHJZV9Ct8ook' | |
5 | 5 | ||
6 | 6 | @Callable(i) | |
7 | - | func | |
8 | - | let FavouriteAsset = " | |
7 | + | func Chainlink () = { | |
8 | + | let FavouriteAsset = "Chainlink" | |
9 | 9 | let pmt = if ((size(i.payments) == 1)) | |
10 | 10 | then i.payments[0] | |
11 | 11 | else throw("Weekly Vote Need 0.0001 A4A Token as Attached payment[1].") | |
12 | 12 | let currentKey = toBase58String(i.caller.bytes) | |
13 | 13 | let Week0Timestamp = 1628186400000 | |
14 | 14 | let eachweek = 604800000 | |
15 | 15 | let eachhour = 3600000 | |
16 | 16 | let currentrunningweek = (((lastBlock.timestamp - Week0Timestamp) / eachweek) + 1) | |
17 | 17 | let TSUptoPastWeek = (Week0Timestamp + ((currentrunningweek - 1) * eachweek)) | |
18 | 18 | let votingpausetime = (TSUptoPastWeek + 360000) | |
19 | 19 | let checkassetbal = assetBalance(addressFromPublicKey(i.callerPublicKey), A4AAssetID) | |
20 | + | let fetchtotaltxns = match getInteger(this, "Total_Txns") { | |
21 | + | case a: Int => | |
22 | + | a | |
23 | + | case _ => | |
24 | + | 0 | |
25 | + | } | |
26 | + | let totaltxns = (fetchtotaltxns + 1) | |
20 | 27 | let fetchuservotes = match getInteger(this, ("User_Total_Votes_" + currentKey)) { | |
21 | 28 | case a: Int => | |
22 | 29 | a | |
23 | 30 | case _ => | |
24 | 31 | 0 | |
25 | 32 | } | |
26 | 33 | let usertotalvotes = (fetchuservotes + 1) | |
27 | 34 | let fetchtotalvotes = match getInteger(this, ("Total_Votes_" + FavouriteAsset)) { | |
28 | 35 | case a: Int => | |
29 | 36 | a | |
30 | 37 | case _ => | |
31 | 38 | 0 | |
32 | 39 | } | |
33 | 40 | let assettotalvotes = (fetchtotalvotes + 1) | |
34 | 41 | if ((100000000 > checkassetbal)) | |
35 | 42 | then throw("Minimum 1 A4A is required on Your Address to Vote. Please Mint or hold minimum 1 A4A on this Address.") | |
36 | 43 | else if ((pmt.assetId != A4AAssetID)) | |
37 | 44 | then throw((("Incorrect asset attached, please attach " + toBase58String(A4AAssetID)) + " AssetID Only.")) | |
38 | - | else if ((votingpausetime > lastBlock.timestamp)) | |
39 | - | then throw((("Voting is paused for Next " + toString(((votingpausetime - lastBlock.timestamp) / 60000))) + " Minutes")) | |
40 | - | else [IntegerEntry("Current_Voting_Week", currentrunningweek), IntegerEntry(("Total_Votes_" + FavouriteAsset), assettotalvotes), IntegerEntry(("User_Total_Votes_" + currentKey), usertotalvotes), IntegerEntry(("bal_" + currentKey), checkassetbal), StringEntry("message", "<h1>You Voted Successfully!</h1><br>")] | |
45 | + | else if ((pmt.amount != 10000)) | |
46 | + | then throw("Please Attach Exact 0.0001 A4A To Vote.") | |
47 | + | else if ((votingpausetime > lastBlock.timestamp)) | |
48 | + | then throw((("Voting is paused for Next " + toString(((votingpausetime - lastBlock.timestamp) / 60000))) + " Minutes")) | |
49 | + | else [IntegerEntry("Total_Txns", totaltxns), IntegerEntry("Current_Voting_Week", currentrunningweek), IntegerEntry(("Total_Votes_" + FavouriteAsset), assettotalvotes), IntegerEntry(("User_Total_Votes_" + currentKey), usertotalvotes), StringEntry("message", "<h1>You Voted Successfully!</h1><br>")] | |
41 | 50 | } | |
42 | 51 | ||
43 | 52 | ||
44 | 53 | ||
45 | 54 | @Callable(i) | |
46 | - | func ResetCounter () = [DeleteEntry("User_Total_Votes_3MshBTYYGc24JWzE2aYEktiz5KzeNQGA4GV")] | |
55 | + | func Dent () = { | |
56 | + | let FavouriteAsset = "Dent" | |
57 | + | let pmt = if ((size(i.payments) == 1)) | |
58 | + | then i.payments[0] | |
59 | + | else throw("Weekly Vote Need 0.0001 A4A Token as Attached payment[1].") | |
60 | + | let currentKey = toBase58String(i.caller.bytes) | |
61 | + | let Week0Timestamp = 1628186400000 | |
62 | + | let eachweek = 604800000 | |
63 | + | let eachhour = 3600000 | |
64 | + | let currentrunningweek = (((lastBlock.timestamp - Week0Timestamp) / eachweek) + 1) | |
65 | + | let TSUptoPastWeek = (Week0Timestamp + ((currentrunningweek - 1) * eachweek)) | |
66 | + | let votingpausetime = (TSUptoPastWeek + 360000) | |
67 | + | let checkassetbal = assetBalance(addressFromPublicKey(i.callerPublicKey), A4AAssetID) | |
68 | + | let fetchtotaltxns = match getInteger(this, "Total_Txns") { | |
69 | + | case a: Int => | |
70 | + | a | |
71 | + | case _ => | |
72 | + | 0 | |
73 | + | } | |
74 | + | let totaltxns = (fetchtotaltxns + 1) | |
75 | + | let fetchuservotes = match getInteger(this, ("User_Total_Votes_" + currentKey)) { | |
76 | + | case a: Int => | |
77 | + | a | |
78 | + | case _ => | |
79 | + | 0 | |
80 | + | } | |
81 | + | let usertotalvotes = (fetchuservotes + 1) | |
82 | + | let fetchtotalvotes = match getInteger(this, ("Total_Votes_" + FavouriteAsset)) { | |
83 | + | case a: Int => | |
84 | + | a | |
85 | + | case _ => | |
86 | + | 0 | |
87 | + | } | |
88 | + | let assettotalvotes = (fetchtotalvotes + 1) | |
89 | + | if ((100000000 > checkassetbal)) | |
90 | + | then throw("Minimum 1 A4A is required on Your Address to Vote. Please Mint or hold minimum 1 A4A on this Address.") | |
91 | + | else if ((pmt.assetId != A4AAssetID)) | |
92 | + | then throw((("Incorrect asset attached, please attach " + toBase58String(A4AAssetID)) + " AssetID Only.")) | |
93 | + | else if ((pmt.amount != 10000)) | |
94 | + | then throw("Please Attach Exact 0.0001 A4A To Vote.") | |
95 | + | else if ((votingpausetime > lastBlock.timestamp)) | |
96 | + | then throw((("Voting is paused for Next " + toString(((votingpausetime - lastBlock.timestamp) / 60000))) + " Minutes")) | |
97 | + | else [IntegerEntry("Total_Txns", totaltxns), IntegerEntry("Current_Voting_Week", currentrunningweek), IntegerEntry(("Total_Votes_" + FavouriteAsset), assettotalvotes), IntegerEntry(("User_Total_Votes_" + currentKey), usertotalvotes), StringEntry("message", "<h1>You Voted Successfully!</h1><br>")] | |
98 | + | } | |
99 | + | ||
100 | + | ||
101 | + | ||
102 | + | @Callable(i) | |
103 | + | func Sushi () = { | |
104 | + | let FavouriteAsset = "Sushi" | |
105 | + | let pmt = if ((size(i.payments) == 1)) | |
106 | + | then i.payments[0] | |
107 | + | else throw("Weekly Vote Need 0.0001 A4A Token as Attached payment[1].") | |
108 | + | let currentKey = toBase58String(i.caller.bytes) | |
109 | + | let Week0Timestamp = 1628186400000 | |
110 | + | let eachweek = 604800000 | |
111 | + | let eachhour = 3600000 | |
112 | + | let currentrunningweek = (((lastBlock.timestamp - Week0Timestamp) / eachweek) + 1) | |
113 | + | let TSUptoPastWeek = (Week0Timestamp + ((currentrunningweek - 1) * eachweek)) | |
114 | + | let votingpausetime = (TSUptoPastWeek + 360000) | |
115 | + | let checkassetbal = assetBalance(addressFromPublicKey(i.callerPublicKey), A4AAssetID) | |
116 | + | let fetchtotaltxns = match getInteger(this, "Total_Txns") { | |
117 | + | case a: Int => | |
118 | + | a | |
119 | + | case _ => | |
120 | + | 0 | |
121 | + | } | |
122 | + | let totaltxns = (fetchtotaltxns + 1) | |
123 | + | let fetchuservotes = match getInteger(this, ("User_Total_Votes_" + currentKey)) { | |
124 | + | case a: Int => | |
125 | + | a | |
126 | + | case _ => | |
127 | + | 0 | |
128 | + | } | |
129 | + | let usertotalvotes = (fetchuservotes + 1) | |
130 | + | let fetchtotalvotes = match getInteger(this, ("Total_Votes_" + FavouriteAsset)) { | |
131 | + | case a: Int => | |
132 | + | a | |
133 | + | case _ => | |
134 | + | 0 | |
135 | + | } | |
136 | + | let assettotalvotes = (fetchtotalvotes + 1) | |
137 | + | if ((100000000 > checkassetbal)) | |
138 | + | then throw("Minimum 1 A4A is required on Your Address to Vote. Please Mint or hold minimum 1 A4A on this Address.") | |
139 | + | else if ((pmt.assetId != A4AAssetID)) | |
140 | + | then throw((("Incorrect asset attached, please attach " + toBase58String(A4AAssetID)) + " AssetID Only.")) | |
141 | + | else if ((pmt.amount != 10000)) | |
142 | + | then throw("Please Attach Exact 0.0001 A4A To Vote.") | |
143 | + | else if ((votingpausetime > lastBlock.timestamp)) | |
144 | + | then throw((("Voting is paused for Next " + toString(((votingpausetime - lastBlock.timestamp) / 60000))) + " Minutes")) | |
145 | + | else [IntegerEntry("Total_Txns", totaltxns), IntegerEntry("Current_Voting_Week", currentrunningweek), IntegerEntry(("Total_Votes_" + FavouriteAsset), assettotalvotes), IntegerEntry(("User_Total_Votes_" + currentKey), usertotalvotes), StringEntry("message", "<h1>You Voted Successfully!</h1><br>")] | |
146 | + | } | |
147 | + | ||
148 | + | ||
149 | + | ||
150 | + | @Callable(i) | |
151 | + | func Compound () = { | |
152 | + | let FavouriteAsset = "Compound" | |
153 | + | let pmt = if ((size(i.payments) == 1)) | |
154 | + | then i.payments[0] | |
155 | + | else throw("Weekly Vote Need 0.0001 A4A Token as Attached payment[1].") | |
156 | + | let currentKey = toBase58String(i.caller.bytes) | |
157 | + | let Week0Timestamp = 1628186400000 | |
158 | + | let eachweek = 604800000 | |
159 | + | let eachhour = 3600000 | |
160 | + | let currentrunningweek = (((lastBlock.timestamp - Week0Timestamp) / eachweek) + 1) | |
161 | + | let TSUptoPastWeek = (Week0Timestamp + ((currentrunningweek - 1) * eachweek)) | |
162 | + | let votingpausetime = (TSUptoPastWeek + 360000) | |
163 | + | let checkassetbal = assetBalance(addressFromPublicKey(i.callerPublicKey), A4AAssetID) | |
164 | + | let fetchtotaltxns = match getInteger(this, "Total_Txns") { | |
165 | + | case a: Int => | |
166 | + | a | |
167 | + | case _ => | |
168 | + | 0 | |
169 | + | } | |
170 | + | let totaltxns = (fetchtotaltxns + 1) | |
171 | + | let fetchuservotes = match getInteger(this, ("User_Total_Votes_" + currentKey)) { | |
172 | + | case a: Int => | |
173 | + | a | |
174 | + | case _ => | |
175 | + | 0 | |
176 | + | } | |
177 | + | let usertotalvotes = (fetchuservotes + 1) | |
178 | + | let fetchtotalvotes = match getInteger(this, ("Total_Votes_" + FavouriteAsset)) { | |
179 | + | case a: Int => | |
180 | + | a | |
181 | + | case _ => | |
182 | + | 0 | |
183 | + | } | |
184 | + | let assettotalvotes = (fetchtotalvotes + 1) | |
185 | + | if ((100000000 > checkassetbal)) | |
186 | + | then throw("Minimum 1 A4A is required on Your Address to Vote. Please Mint or hold minimum 1 A4A on this Address.") | |
187 | + | else if ((pmt.assetId != A4AAssetID)) | |
188 | + | then throw((("Incorrect asset attached, please attach " + toBase58String(A4AAssetID)) + " AssetID Only.")) | |
189 | + | else if ((pmt.amount != 10000)) | |
190 | + | then throw("Please Attach Exact 0.0001 A4A To Vote.") | |
191 | + | else if ((votingpausetime > lastBlock.timestamp)) | |
192 | + | then throw((("Voting is paused for Next " + toString(((votingpausetime - lastBlock.timestamp) / 60000))) + " Minutes")) | |
193 | + | else [IntegerEntry("Total_Txns", totaltxns), IntegerEntry("Current_Voting_Week", currentrunningweek), IntegerEntry(("Total_Votes_" + FavouriteAsset), assettotalvotes), IntegerEntry(("User_Total_Votes_" + currentKey), usertotalvotes), StringEntry("message", "<h1>You Voted Successfully!</h1><br>")] | |
194 | + | } | |
195 | + | ||
196 | + | ||
197 | + | ||
198 | + | @Callable(i) | |
199 | + | func ResetCounter (FavouriteAsset) = [IntegerEntry(("Total_Votes_" + FavouriteAsset), 0)] | |
47 | 200 | ||
48 | 201 | ||
49 | 202 | @Verifier(tx) | |
50 | 203 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
51 | 204 |
github/deemru/w8io/c3f4982 29.51 ms ◑