tx · 7CyG5cTjj3rR1kPXdokVxM7v2JDac5XsUN2NN65gnBeq 3N17JMn4WESkhCSrcEwdADBZFAe8uiuvCGQ: -0.01400000 Waves 2021.09.27 06:55 [1720848] smart account 3N17JMn4WESkhCSrcEwdADBZFAe8uiuvCGQ > SELF 0.00000000 Waves
{ "type": 13, "id": "7CyG5cTjj3rR1kPXdokVxM7v2JDac5XsUN2NN65gnBeq", "fee": 1400000, "feeAssetId": null, "timestamp": 1632714899759, "version": 2, "chainId": 84, "sender": "3N17JMn4WESkhCSrcEwdADBZFAe8uiuvCGQ", "senderPublicKey": "BMLuSYJ8rvQD55waCoKpzCBhJAbY8s9pp4V5ZgxuzCBD", "proofs": [ "6DfEC6FGnzBtahs2pKtuEwmuVKT5mpHKXTxiyJJVf2MeKMuN6Ze5NdxHNizhNwjg5cygMRunsW3RriLVnrVRrKr" ], "script": "base64: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", "height": 1720848, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Uqgc6uUec5D2UAzyerXgViMY3Kk3a6samjkESLszomP Next: 9Me1Mtu1Dcm9AaHFrFwYXBgMEaWi7iMFb8E9ge3CCsoG Diff:
Old | New | Differences | |
---|---|---|---|
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 fetchuservotes = getIntegerValue(this, ("User_Total_Votes_" + currentKey)) | |
21 | - | let fetchtotalvotes = getIntegerValue(this, ("Total_Votes_" + FavouriteAsset)) | |
20 | + | let fetchuservotes = match getInteger(this, ("User_Total_Votes_" + currentKey)) { | |
21 | + | case a: Int => | |
22 | + | a | |
23 | + | case _ => | |
24 | + | 0 | |
25 | + | } | |
22 | 26 | let usertotalvotes = (fetchuservotes + 1) | |
27 | + | let fetchtotalvotes = match getInteger(this, ("Total_Votes_" + FavouriteAsset)) { | |
28 | + | case a: Int => | |
29 | + | a | |
30 | + | case _ => | |
31 | + | 0 | |
32 | + | } | |
23 | 33 | let assettotalvotes = (fetchtotalvotes + 1) | |
24 | 34 | if ((100000000 > checkassetbal)) | |
25 | 35 | then throw("Minimum 1 A4A is required on Your Address to Vote. Please Mint or hold minimum 1 A4A on this Address.") |
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 | 7 | func TN () = { | |
8 | 8 | let FavouriteAsset = "TN" | |
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 fetchuservotes = getIntegerValue(this, ("User_Total_Votes_" + currentKey)) | |
21 | - | let fetchtotalvotes = getIntegerValue(this, ("Total_Votes_" + FavouriteAsset)) | |
20 | + | let fetchuservotes = match getInteger(this, ("User_Total_Votes_" + currentKey)) { | |
21 | + | case a: Int => | |
22 | + | a | |
23 | + | case _ => | |
24 | + | 0 | |
25 | + | } | |
22 | 26 | let usertotalvotes = (fetchuservotes + 1) | |
27 | + | let fetchtotalvotes = match getInteger(this, ("Total_Votes_" + FavouriteAsset)) { | |
28 | + | case a: Int => | |
29 | + | a | |
30 | + | case _ => | |
31 | + | 0 | |
32 | + | } | |
23 | 33 | let assettotalvotes = (fetchtotalvotes + 1) | |
24 | 34 | if ((100000000 > checkassetbal)) | |
25 | 35 | then throw("Minimum 1 A4A is required on Your Address to Vote. Please Mint or hold minimum 1 A4A on this Address.") | |
26 | 36 | else if ((pmt.assetId != A4AAssetID)) | |
27 | 37 | then throw((("Incorrect asset attached, please attach " + toBase58String(A4AAssetID)) + " AssetID Only.")) | |
28 | 38 | else if ((pmt.amount != 10000)) | |
29 | 39 | then throw("Please Attach Exact 0.0001 A4A To Vote.") | |
30 | 40 | else if ((votingpausetime > lastBlock.timestamp)) | |
31 | 41 | then throw((("Voting is paused for Next " + toString(((votingpausetime - lastBlock.timestamp) / 60000))) + " Minutes")) | |
32 | 42 | 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>")] | |
33 | 43 | } | |
34 | 44 | ||
35 | 45 | ||
36 | 46 | @Verifier(tx) | |
37 | 47 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
38 | 48 |
github/deemru/w8io/873ac7e 21.88 ms ◑