tx · HvjwpvboaphdJecLJQsZ9ni5bip2XUsdCh6UW7nsgES6

3NAjfYjyu5d4SXqEE8quEFooztrnSEqZwUY:  -0.10400000 Waves

2021.11.02 22:24 [1773779] smart account 3NAjfYjyu5d4SXqEE8quEFooztrnSEqZwUY > SELF 0.00000000 Waves

{ "type": 13, "id": "HvjwpvboaphdJecLJQsZ9ni5bip2XUsdCh6UW7nsgES6", "fee": 10400000, "feeAssetId": null, "timestamp": 1635878694240, "version": 2, "chainId": 84, "sender": "3NAjfYjyu5d4SXqEE8quEFooztrnSEqZwUY", "senderPublicKey": "FpQDPkicMwf8q2FJRfT3wfh4RxXy5C8pgqMSQRZdfW3W", "proofs": [ "5PEp8ked2uhdNmGzbBWvDaRNXkocTFQkdJ8vKtXGXG8611GM6KHgnFURc5r3uRmiar4B3XHST9JhvbPviuifeEDx", "3cVhE84hKSgbwb1ZcvhTUDrB7CtPjjLh9xEAjYEieXmun9ZsK98aGP9zaxjGBX7XZc8riry8frRZhKW8wEoDxtcT", "55eMgktDKyacLQuLANY6fLV7Zifr5Nx4rUpkSUicLvtMQ4v2nu8ZvyvUVYFZBgCzkMsoxBizqqim8UW6DqATj8pK" ], "script": "base64:AAIFAAAAAAAAAAQIAhIAAAAAAAAAAAEAAAABaQEAAAAEY2FsbAAAAAAEAAAABWFzc2V0CQAEQwAAAAcCAAAABUFzc2V0AgAAAAAAAAAAAAAAAAEAAAAAAAAAAAAGBQAAAAR1bml0AAAAAAAAAAAABAAAAAdhc3NldElkCQAEOAAAAAEFAAAABWFzc2V0CQAETAAAAAIJAQAAAAtCaW5hcnlFbnRyeQAAAAICAAAAA2JpbgEAAAAACQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACAgAAAARib29sBgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAADaW50AAAAAAAAAAABCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAA3N0cgIAAAAACQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAECAAAAA3N0cgkABEwAAAACBQAAAAVhc3NldAkABEwAAAACCQEAAAAHUmVpc3N1ZQAAAAMFAAAAB2Fzc2V0SWQAAAAAAAAAAAEHCQAETAAAAAIJAQAAAARCdXJuAAAAAgUAAAAHYXNzZXRJZAAAAAAAAAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIAAAAAAAAAAAEFAAAAB2Fzc2V0SWQFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5ZN0QxA==", "height": 1773779, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BdZ61k1Utc4YbsbijhYKD2TuToDVJcVvmGPk2gzfNjXW Next: none Full:
OldNewDifferences
1-{-# STDLIB_VERSION 4 #-}
1+{-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let adminPubKey1 = base58'FpQDPkicMwf8q2FJRfT3wfh4RxXy5C8pgqMSQRZdfW3W'
5-
6-let adminPubKey2 = base58'HjxfaZSoxXSWZSAtt4mYr64fS2XcGfBmpXB3NEZhjVZZ'
7-
8-let adminPubKey3 = base58'8T4rzKj1RNJ2AoWRwHhZZE1gVwNgsHpJMebqQGDEBjG7'
9-
10-let adminPubKey4 = base58'9w1QaJjhAGsjQ9q13Xtx4SKKqFz1JM69fWmUyZThvczq'
11-
12-let A4A = base58'8hdsVCxPBVEmVUZyyX8Sd98Z9hU7Fny26W96sjKiTw8g'
13-
14-let Month0TS = 1634157000000
15-
16-let week = 1296000000
17-
18-let pausetime = (86400000 * 7)
19-
20-let currentmonth = (((lastBlock.timestamp - Month0TS) / week) + 1)
21-
22-let strmonth = toString(currentmonth)
23-
24-let TSUptoPastMonth = (Month0TS + ((currentmonth - 1) * week))
25-
26-let votingpausetime = (TSUptoPastMonth + pausetime)
27-
28-let msg = "<h1>Your Voted Successfully (Monthly)!</h1><br>"
29-
30-let pymterror = "DApp Need 0.001 A4A Token as Attach payment[1]."
31-
32-let minbalerror = "Min. 1 A4A required on Your Address to Vote. Please Mint or hold min. 1 A4A on this Address."
33-
34-let asseterr = (("Incorrect asset attach, please attach " + toBase58String(A4A)) + " AssetID Only.")
35-
36-let minamterr = "Please Attach Exact 0.001 A4A To Vote."
37-
38-let voteErr = (("Voting is paused for Next " + toString(((votingpausetime - lastBlock.timestamp) / 60000))) + " Minutes")
39-
40-let FeeAddress = base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR'
41-
42-let FTTX = match getInteger(this, "Total_Txns") {
43- case a: Int =>
44- a
45- case _ =>
46- 0
47-}
48-
49-let totaltxns = (FTTX + 1)
50-
51-let FTTXofweek = match getInteger(this, (strmonth + "_Total_Txns")) {
52- case a: Int =>
53- a
54- case _ =>
55- 0
56-}
57-
58-let TTOW = (FTTXofweek + 1)
59-
60-@Callable(i)
61-func ARRR () = {
62- let VoteAst = "PirateChain"
63- let pmt = if ((size(i.payments) == 1))
64- then i.payments[0]
65- else throw(pymterror)
66- let pubkey = toBase58String(i.caller.bytes)
67- let assetbal = assetBalance(addressFromPublicKey(i.callerPublicKey), A4A)
68- let FUWV = match getInteger(this, ((strmonth + "_User_Total_Votes_") + pubkey)) {
69- case a: Int =>
70- a
71- case _ =>
72- 0
73- }
74- let UTWVO = (FUWV + 1)
75- let UWVFA = match getInteger(this, ((((strmonth + "_User_Total_Votes_") + pubkey) + "-") + VoteAst)) {
76- case a: Int =>
77- a
78- case _ =>
79- 0
80- }
81- let UTWVFA = (UWVFA + 1)
82- let FUVO = match getInteger(this, ("User_Total_Votes_" + pubkey)) {
83- case a: Int =>
84- a
85- case _ =>
86- 0
87- }
88- let UTVO = (FUVO + 1)
89- let FUVFA = match getInteger(this, ((("User_Total_Asset_Votes_" + pubkey) + "_") + VoteAst)) {
90- case a: Int =>
91- a
92- case _ =>
93- 0
94- }
95- let UTVFA = (FUVFA + 1)
96- let FTVO = match getInteger(this, ("Total_Votes_" + VoteAst)) {
97- case a: Int =>
98- a
99- case _ =>
100- 0
101- }
102- let ATVO = (FTVO + 1)
103- let WFTV = match getInteger(this, ((strmonth + "_Total_Votes_") + VoteAst)) {
104- case a: Int =>
105- a
106- case _ =>
107- 0
108- }
109- let WATV = (WFTV + 1)
110- if ((100000000 > assetbal))
111- then throw(minbalerror)
112- else if ((pmt.assetId != A4A))
113- then throw(asseterr)
114- else if ((pmt.amount != 100000))
115- then throw(minamterr)
116- else if ((votingpausetime > lastBlock.timestamp))
117- then throw(voteErr)
118- else [IntegerEntry("Total_Txns", totaltxns), IntegerEntry((strmonth + "_Total_Txns"), TTOW), IntegerEntry("Current_Voting_Month", currentmonth), IntegerEntry(("Total_Votes_" + VoteAst), ATVO), IntegerEntry(((strmonth + "_Total_Votes_") + VoteAst), WATV), IntegerEntry(("User_Total_Votes_" + pubkey), UTVO), IntegerEntry(((strmonth + "_User_Total_Votes_") + pubkey), UTWVO), IntegerEntry(((((strmonth + "_User_Total_Votes_") + pubkey) + "-") + VoteAst), UTWVFA), IntegerEntry(((("User_Total_Asset_Votes_" + pubkey) + "_") + VoteAst), UTVFA), ScriptTransfer(addressFromPublicKey(FeeAddress), pmt.amount, A4A), StringEntry("message", msg)]
119- }
120-
1214
1225
1236 @Callable(i)
124-func BAT () = {
125- let VoteAst = "AttentionToken"
126- let pmt = if ((size(i.payments) == 1))
127- then i.payments[0]
128- else throw(pymterror)
129- let pubkey = toBase58String(i.caller.bytes)
130- let assetbal = assetBalance(addressFromPublicKey(i.callerPublicKey), A4A)
131- let FUWV = match getInteger(this, ((strmonth + "_User_Total_Votes_") + pubkey)) {
132- case a: Int =>
133- a
134- case _ =>
135- 0
136- }
137- let UTWVO = (FUWV + 1)
138- let UWVFA = match getInteger(this, ((((strmonth + "_User_Total_Votes_") + pubkey) + "-") + VoteAst)) {
139- case a: Int =>
140- a
141- case _ =>
142- 0
143- }
144- let UTWVFA = (UWVFA + 1)
145- let FUVO = match getInteger(this, ("User_Total_Votes_" + pubkey)) {
146- case a: Int =>
147- a
148- case _ =>
149- 0
150- }
151- let UTVO = (FUVO + 1)
152- let FUVFA = match getInteger(this, ((("User_Total_Asset_Votes_" + pubkey) + "_") + VoteAst)) {
153- case a: Int =>
154- a
155- case _ =>
156- 0
157- }
158- let UTVFA = (FUVFA + 1)
159- let FTVO = match getInteger(this, ("Total_Votes_" + VoteAst)) {
160- case a: Int =>
161- a
162- case _ =>
163- 0
164- }
165- let ATVO = (FTVO + 1)
166- let WFTV = match getInteger(this, ((strmonth + "_Total_Votes_") + VoteAst)) {
167- case a: Int =>
168- a
169- case _ =>
170- 0
171- }
172- let WATV = (WFTV + 1)
173- if ((100000000 > assetbal))
174- then throw(minbalerror)
175- else if ((pmt.assetId != A4A))
176- then throw(asseterr)
177- else if ((pmt.amount != 100000))
178- then throw(minamterr)
179- else if ((votingpausetime > lastBlock.timestamp))
180- then throw(voteErr)
181- else [IntegerEntry("Total_Txns", totaltxns), IntegerEntry((strmonth + "_Total_Txns"), TTOW), IntegerEntry("Current_Voting_Month", currentmonth), IntegerEntry(("Total_Votes_" + VoteAst), ATVO), IntegerEntry(((strmonth + "_Total_Votes_") + VoteAst), WATV), IntegerEntry(("User_Total_Votes_" + pubkey), UTVO), IntegerEntry(((strmonth + "_User_Total_Votes_") + pubkey), UTWVO), IntegerEntry(((((strmonth + "_User_Total_Votes_") + pubkey) + "-") + VoteAst), UTWVFA), IntegerEntry(((("User_Total_Asset_Votes_" + pubkey) + "_") + VoteAst), UTVFA), ScriptTransfer(addressFromPublicKey(FeeAddress), pmt.amount, A4A), StringEntry("message", msg)]
182- }
183-
184-
185-
186-@Callable(i)
187-func PRCY () = {
188- let VoteAst = "Privacy"
189- let pmt = if ((size(i.payments) == 1))
190- then i.payments[0]
191- else throw(pymterror)
192- let pubkey = toBase58String(i.caller.bytes)
193- let assetbal = assetBalance(addressFromPublicKey(i.callerPublicKey), A4A)
194- let FUWV = match getInteger(this, ((strmonth + "_User_Total_Votes_") + pubkey)) {
195- case a: Int =>
196- a
197- case _ =>
198- 0
199- }
200- let UTWVO = (FUWV + 1)
201- let UWVFA = match getInteger(this, ((((strmonth + "_User_Total_Votes_") + pubkey) + "-") + VoteAst)) {
202- case a: Int =>
203- a
204- case _ =>
205- 0
206- }
207- let UTWVFA = (UWVFA + 1)
208- let FUVO = match getInteger(this, ("User_Total_Votes_" + pubkey)) {
209- case a: Int =>
210- a
211- case _ =>
212- 0
213- }
214- let UTVO = (FUVO + 1)
215- let FUVFA = match getInteger(this, ((("User_Total_Asset_Votes_" + pubkey) + "_") + VoteAst)) {
216- case a: Int =>
217- a
218- case _ =>
219- 0
220- }
221- let UTVFA = (FUVFA + 1)
222- let FTVO = match getInteger(this, ("Total_Votes_" + VoteAst)) {
223- case a: Int =>
224- a
225- case _ =>
226- 0
227- }
228- let ATVO = (FTVO + 1)
229- let WFTV = match getInteger(this, ((strmonth + "_Total_Votes_") + VoteAst)) {
230- case a: Int =>
231- a
232- case _ =>
233- 0
234- }
235- let WATV = (WFTV + 1)
236- if ((100000000 > assetbal))
237- then throw(minbalerror)
238- else if ((pmt.assetId != A4A))
239- then throw(asseterr)
240- else if ((pmt.amount != 100000))
241- then throw(minamterr)
242- else if ((votingpausetime > lastBlock.timestamp))
243- then throw(voteErr)
244- else [IntegerEntry("Total_Txns", totaltxns), IntegerEntry((strmonth + "_Total_Txns"), TTOW), IntegerEntry("Current_Voting_Month", currentmonth), IntegerEntry(("Total_Votes_" + VoteAst), ATVO), IntegerEntry(((strmonth + "_Total_Votes_") + VoteAst), WATV), IntegerEntry(("User_Total_Votes_" + pubkey), UTVO), IntegerEntry(((strmonth + "_User_Total_Votes_") + pubkey), UTWVO), IntegerEntry(((((strmonth + "_User_Total_Votes_") + pubkey) + "-") + VoteAst), UTWVFA), IntegerEntry(((("User_Total_Asset_Votes_" + pubkey) + "_") + VoteAst), UTVFA), ScriptTransfer(addressFromPublicKey(FeeAddress), pmt.amount, A4A), StringEntry("message", msg)]
245- }
246-
247-
248-
249-@Callable(i)
250-func Haven () = {
251- let VoteAst = "Haven"
252- let pmt = if ((size(i.payments) == 1))
253- then i.payments[0]
254- else throw(pymterror)
255- let pubkey = toBase58String(i.caller.bytes)
256- let assetbal = assetBalance(addressFromPublicKey(i.callerPublicKey), A4A)
257- let FUWV = match getInteger(this, ((strmonth + "_User_Total_Votes_") + pubkey)) {
258- case a: Int =>
259- a
260- case _ =>
261- 0
262- }
263- let UTWVO = (FUWV + 1)
264- let UWVFA = match getInteger(this, ((((strmonth + "_User_Total_Votes_") + pubkey) + "-") + VoteAst)) {
265- case a: Int =>
266- a
267- case _ =>
268- 0
269- }
270- let UTWVFA = (UWVFA + 1)
271- let FUVO = match getInteger(this, ("User_Total_Votes_" + pubkey)) {
272- case a: Int =>
273- a
274- case _ =>
275- 0
276- }
277- let UTVO = (FUVO + 1)
278- let FUVFA = match getInteger(this, ((("User_Total_Asset_Votes_" + pubkey) + "_") + VoteAst)) {
279- case a: Int =>
280- a
281- case _ =>
282- 0
283- }
284- let UTVFA = (FUVFA + 1)
285- let FTVO = match getInteger(this, ("Total_Votes_" + VoteAst)) {
286- case a: Int =>
287- a
288- case _ =>
289- 0
290- }
291- let ATVO = (FTVO + 1)
292- let WFTV = match getInteger(this, ((strmonth + "_Total_Votes_") + VoteAst)) {
293- case a: Int =>
294- a
295- case _ =>
296- 0
297- }
298- let WATV = (WFTV + 1)
299- if ((100000000 > assetbal))
300- then throw(minbalerror)
301- else if ((pmt.assetId != A4A))
302- then throw(asseterr)
303- else if ((pmt.amount != 100000))
304- then throw(minamterr)
305- else if ((votingpausetime > lastBlock.timestamp))
306- then throw(voteErr)
307- else [IntegerEntry("Total_Txns", totaltxns), IntegerEntry((strmonth + "_Total_Txns"), TTOW), IntegerEntry("Current_Voting_Month", currentmonth), IntegerEntry(("Total_Votes_" + VoteAst), ATVO), IntegerEntry(((strmonth + "_Total_Votes_") + VoteAst), WATV), IntegerEntry(("User_Total_Votes_" + pubkey), UTVO), IntegerEntry(((strmonth + "_User_Total_Votes_") + pubkey), UTWVO), IntegerEntry(((((strmonth + "_User_Total_Votes_") + pubkey) + "-") + VoteAst), UTWVFA), IntegerEntry(((("User_Total_Asset_Votes_" + pubkey) + "_") + VoteAst), UTVFA), ScriptTransfer(addressFromPublicKey(FeeAddress), pmt.amount, A4A), StringEntry("message", msg)]
7+func call () = {
8+ let asset = Issue("Asset", "", 1, 0, true, unit, 0)
9+ let assetId = calculateAssetId(asset)
10+[BinaryEntry("bin", base58''), BooleanEntry("bool", true), IntegerEntry("int", 1), StringEntry("str", ""), DeleteEntry("str"), asset, Reissue(assetId, 1, false), Burn(assetId, 1), ScriptTransfer(i.caller, 1, assetId)]
30811 }
30912
31013
31114 @Verifier(tx)
312-func verify () = match tx {
313- case _ =>
314- let adminPubKey1Signed = if (sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKey1))
315- then 1
316- else 0
317- let adminPubKey2Signed = if (sigVerify(tx.bodyBytes, tx.proofs[1], adminPubKey2))
318- then 1
319- else 0
320- let adminPubKey3Signed = if (sigVerify(tx.bodyBytes, tx.proofs[2], adminPubKey3))
321- then 1
322- else 0
323- let adminPubKey4Signed = if (sigVerify(tx.bodyBytes, tx.proofs[3], adminPubKey4))
324- then 1
325- else 0
326- ((((adminPubKey1Signed + adminPubKey2Signed) + adminPubKey3Signed) + adminPubKey4Signed) >= 3)
327-}
15+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
32816

github/deemru/w8io/873ac7e 
31.74 ms