tx · Uqgc6uUec5D2UAzyerXgViMY3Kk3a6samjkESLszomP 3N17JMn4WESkhCSrcEwdADBZFAe8uiuvCGQ: -0.01400000 Waves 2021.09.27 06:47 [1720839] smart account 3N17JMn4WESkhCSrcEwdADBZFAe8uiuvCGQ > SELF 0.00000000 Waves
{ "type": 13, "id": "Uqgc6uUec5D2UAzyerXgViMY3Kk3a6samjkESLszomP", "fee": 1400000, "feeAssetId": null, "timestamp": 1632714500257, "version": 2, "chainId": 84, "sender": "3N17JMn4WESkhCSrcEwdADBZFAe8uiuvCGQ", "senderPublicKey": "BMLuSYJ8rvQD55waCoKpzCBhJAbY8s9pp4V5ZgxuzCBD", "proofs": [ "4Phe2cRYHSzLYHrer9CmF5mcZhd1Tx62CPz2hjpUCLAspzJRuNRxUxw98ph1wEi8fdzEGpVUHvb552WAJuQte4QJ" ], "script": "base64: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", "height": 1720839, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2t5vZsS81SdSP8avZcwvRGJFUQG1zi8vLVSCyjaHkjL2 Next: 7CyG5cTjj3rR1kPXdokVxM7v2JDac5XsUN2NN65gnBeq Diff:
Old | New | Differences | |
---|---|---|---|
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let A4AAssetID = base58'J9VzWPfRSQyCbEv5oWpxLSihigbpbJsGBHJZV9Ct8ook' | |
5 | 5 | ||
6 | - | let USDTAssetID = base58'Zn3cLHW7aAVPm5aACcTjvg7e7iEy2cKDtbowok5qa9H' | |
7 | - | ||
8 | 6 | @Callable(i) | |
9 | - | func WeeklyVote (FavouriteAsset) = { | |
7 | + | func TN () = { | |
8 | + | let FavouriteAsset = "TN" | |
10 | 9 | let pmt = if ((size(i.payments) == 1)) | |
11 | 10 | then i.payments[0] | |
12 | 11 | else throw("Weekly Vote Need 0.0001 A4A Token as Attached payment[1].") | |
18 | 17 | let TSUptoPastWeek = (Week0Timestamp + ((currentrunningweek - 1) * eachweek)) | |
19 | 18 | let votingpausetime = (TSUptoPastWeek + 360000) | |
20 | 19 | let checkassetbal = assetBalance(addressFromPublicKey(i.callerPublicKey), A4AAssetID) | |
21 | - | let fetchvotes = getIntegerValue(this, (FavouriteAsset + "_Total_Votes")) | |
22 | - | let totalvotes = (fetchvotes + 1) | |
20 | + | let fetchuservotes = getIntegerValue(this, ("User_Total_Votes_" + currentKey)) | |
21 | + | let fetchtotalvotes = getIntegerValue(this, ("Total_Votes_" + FavouriteAsset)) | |
22 | + | let usertotalvotes = (fetchuservotes + 1) | |
23 | + | let assettotalvotes = (fetchtotalvotes + 1) | |
23 | 24 | if ((100000000 > checkassetbal)) | |
24 | 25 | then throw("Minimum 1 A4A is required on Your Address to Vote. Please Mint or hold minimum 1 A4A on this Address.") | |
25 | 26 | else if ((pmt.assetId != A4AAssetID)) | |
28 | 29 | then throw("Please Attach Exact 0.0001 A4A To Vote.") | |
29 | 30 | else if ((votingpausetime > lastBlock.timestamp)) | |
30 | 31 | then throw((("Voting is paused for Next " + toString(((votingpausetime - lastBlock.timestamp) / 60000))) + " Minutes")) | |
31 | - | else if (if (if (if ((FavouriteAsset == "A4A")) | |
32 | - | then true | |
33 | - | else (FavouriteAsset == "ARRR")) | |
34 | - | then true | |
35 | - | else (FavouriteAsset == "TN")) | |
36 | - | then true | |
37 | - | else (FavouriteAsset == "WAVES")) | |
38 | - | then [StringEntry(("Voted_Asset_" + currentKey), FavouriteAsset), StringEntry("message", "<h1>You Voted Successfully!</h1><br>"), IntegerEntry("Current_Voting_Week", currentrunningweek), IntegerEntry("Week0Timestamp", Week0Timestamp), IntegerEntry("LastWeekTimestamp", TSUptoPastWeek), IntegerEntry("LastBlockTimeStamp", lastBlock.timestamp), IntegerEntry((FavouriteAsset + "_Total_Votes"), totalvotes), ScriptTransfer(i.caller, 1, A4AAssetID)] | |
39 | - | else throw("Blank/Wrong Input Entered For Voting.") | |
32 | + | else [IntegerEntry("Current_Voting_Week", currentrunningweek), IntegerEntry(("Total_Votes_" + FavouriteAsset), assettotalvotes), IntegerEntry(("User_Total_Votes_" + currentKey), usertotalvotes), StringEntry("message", "<h1>You Voted Successfully!</h1><br>")] | |
40 | 33 | } | |
41 | 34 | ||
42 | 35 |
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 | - | let USDTAssetID = base58'Zn3cLHW7aAVPm5aACcTjvg7e7iEy2cKDtbowok5qa9H' | |
7 | - | ||
8 | 6 | @Callable(i) | |
9 | - | func WeeklyVote (FavouriteAsset) = { | |
7 | + | func TN () = { | |
8 | + | let FavouriteAsset = "TN" | |
10 | 9 | let pmt = if ((size(i.payments) == 1)) | |
11 | 10 | then i.payments[0] | |
12 | 11 | else throw("Weekly Vote Need 0.0001 A4A Token as Attached payment[1].") | |
13 | 12 | let currentKey = toBase58String(i.caller.bytes) | |
14 | 13 | let Week0Timestamp = 1628186400000 | |
15 | 14 | let eachweek = 604800000 | |
16 | 15 | let eachhour = 3600000 | |
17 | 16 | let currentrunningweek = (((lastBlock.timestamp - Week0Timestamp) / eachweek) + 1) | |
18 | 17 | let TSUptoPastWeek = (Week0Timestamp + ((currentrunningweek - 1) * eachweek)) | |
19 | 18 | let votingpausetime = (TSUptoPastWeek + 360000) | |
20 | 19 | let checkassetbal = assetBalance(addressFromPublicKey(i.callerPublicKey), A4AAssetID) | |
21 | - | let fetchvotes = getIntegerValue(this, (FavouriteAsset + "_Total_Votes")) | |
22 | - | let totalvotes = (fetchvotes + 1) | |
20 | + | let fetchuservotes = getIntegerValue(this, ("User_Total_Votes_" + currentKey)) | |
21 | + | let fetchtotalvotes = getIntegerValue(this, ("Total_Votes_" + FavouriteAsset)) | |
22 | + | let usertotalvotes = (fetchuservotes + 1) | |
23 | + | let assettotalvotes = (fetchtotalvotes + 1) | |
23 | 24 | if ((100000000 > checkassetbal)) | |
24 | 25 | then throw("Minimum 1 A4A is required on Your Address to Vote. Please Mint or hold minimum 1 A4A on this Address.") | |
25 | 26 | else if ((pmt.assetId != A4AAssetID)) | |
26 | 27 | then throw((("Incorrect asset attached, please attach " + toBase58String(A4AAssetID)) + " AssetID Only.")) | |
27 | 28 | else if ((pmt.amount != 10000)) | |
28 | 29 | then throw("Please Attach Exact 0.0001 A4A To Vote.") | |
29 | 30 | else if ((votingpausetime > lastBlock.timestamp)) | |
30 | 31 | then throw((("Voting is paused for Next " + toString(((votingpausetime - lastBlock.timestamp) / 60000))) + " Minutes")) | |
31 | - | else if (if (if (if ((FavouriteAsset == "A4A")) | |
32 | - | then true | |
33 | - | else (FavouriteAsset == "ARRR")) | |
34 | - | then true | |
35 | - | else (FavouriteAsset == "TN")) | |
36 | - | then true | |
37 | - | else (FavouriteAsset == "WAVES")) | |
38 | - | then [StringEntry(("Voted_Asset_" + currentKey), FavouriteAsset), StringEntry("message", "<h1>You Voted Successfully!</h1><br>"), IntegerEntry("Current_Voting_Week", currentrunningweek), IntegerEntry("Week0Timestamp", Week0Timestamp), IntegerEntry("LastWeekTimestamp", TSUptoPastWeek), IntegerEntry("LastBlockTimeStamp", lastBlock.timestamp), IntegerEntry((FavouriteAsset + "_Total_Votes"), totalvotes), ScriptTransfer(i.caller, 1, A4AAssetID)] | |
39 | - | else throw("Blank/Wrong Input Entered For Voting.") | |
32 | + | else [IntegerEntry("Current_Voting_Week", currentrunningweek), IntegerEntry(("Total_Votes_" + FavouriteAsset), assettotalvotes), IntegerEntry(("User_Total_Votes_" + currentKey), usertotalvotes), StringEntry("message", "<h1>You Voted Successfully!</h1><br>")] | |
40 | 33 | } | |
41 | 34 | ||
42 | 35 | ||
43 | 36 | @Verifier(tx) | |
44 | 37 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
45 | 38 |
github/deemru/w8io/873ac7e 20.05 ms ◑![]()