tx · 4zZPuzjT7pDRrT5qzgCEdpapYTHkf2bqKGcN5LKSbgbG

3MzgLbskN82suZgkmqTvzQxDtZfjQfX1DLp:  -0.00200000 Waves

2024.11.11 03:08 [3366044] smart account 3MzgLbskN82suZgkmqTvzQxDtZfjQfX1DLp > SELF 0.00000000 Waves

{ "type": 13, "id": "4zZPuzjT7pDRrT5qzgCEdpapYTHkf2bqKGcN5LKSbgbG", "fee": 200000, "feeAssetId": null, "timestamp": 1731283721032, "version": 1, "sender": "3MzgLbskN82suZgkmqTvzQxDtZfjQfX1DLp", "senderPublicKey": "B5p5JF1Hn7k2YwGxQxgFre8bM5pd7N2c6wPdyKdLzzd6", "proofs": [ "4LAU1dY92yi7PLUnWsLBkEdnCNQvrd9UnK4F6AuDQpKycxXwnZTVfSSjwZfwaWw2CpG4e6aKZrJVCZekk8aZ6jcG" ], "script": "base64:CAIHCAISAwoBCAABAWkBGGNoZWNrQW5kSW5jcmVtZW50Q291bnRlcgEIZnVuY05hbWUECWhvdXJseUtleQkArAICBQhmdW5jTmFtZQIOX2hvdXJseVR4Q291bnQECGRhaWx5S2V5CQCsAgIFCGZ1bmNOYW1lAg1fZGFpbHlUeENvdW50BA1ob3VybHlUeENvdW50BAckbWF0Y2gwCQCaCAIFBHRoaXMFCWhvdXJseUtleQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQMZGFpbHlUeENvdW50BAckbWF0Y2gwCQCaCAIFBHRoaXMFCGRhaWx5S2V5AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAtob3VybHlMaW1pdAABBApkYWlseUxpbWl0AAIDCQBnAgUNaG91cmx5VHhDb3VudAULaG91cmx5TGltaXQJAAIBAhVIb3VybHkgbGltaXQgZXhjZWVkZWQDCQBnAgUMZGFpbHlUeENvdW50BQpkYWlseUxpbWl0CQACAQIURGFpbHkgbGltaXQgZXhjZWVkZWQEDm5ld0hvdXJseUNvdW50CQBkAgUNaG91cmx5VHhDb3VudAABBA1uZXdEYWlseUNvdW50CQBkAgUMZGFpbHlUeENvdW50AAEEDXVwZGF0ZVJlc3VsdHMJAMwIAgkBDEludGVnZXJFbnRyeQIFCWhvdXJseUtleQUObmV3SG91cmx5Q291bnQJAMwIAgkBDEludGVnZXJFbnRyeQIFCGRhaWx5S2V5BQ1uZXdEYWlseUNvdW50CQDMCAIJAQxCb29sZWFuRW50cnkCAgZzdGF0dXMGCQDMCAIJAQxJbnRlZ2VyRW50cnkCAg5uZXdIb3VybHlDb3VudAUObmV3SG91cmx5Q291bnQJAMwIAgkBC1N0cmluZ0VudHJ5AgIHbWVzc2FnZQIWVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bAUDbmlsBAtjaGVja0hvdXJseQkAmggCBQR0aGlzBQlob3VybHlLZXkECmNoZWNrRGFpbHkJAJoIAgUEdGhpcwUIZGFpbHlLZXkEByRtYXRjaDAFC2NoZWNrSG91cmx5AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAQHJG1hdGNoMQUKY2hlY2tEYWlseQMJAAECBQckbWF0Y2gxAgNJbnQEAWIFByRtYXRjaDEDAwkAAAIFAWEFDm5ld0hvdXJseUNvdW50CQAAAgUBYgUNbmV3RGFpbHlDb3VudAcFDXVwZGF0ZVJlc3VsdHMJAAIBAhJEYXRhIHVwZGF0ZSBmYWlsZWQJAAIBAhlGYWlsZWQgdG8gZ2V0IGRhaWx5IGNvdW50CQACAQIaRmFpbGVkIHRvIGdldCBob3VybHkgY291bnQAepnB8g==", "chainId": 84, "height": 3366044, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CfgCYotALxRXTnzyYeyG3qhrCzh3naEXQJ17puEEucsr Next: B81zatPzSijH8aEbLqaahtCCjFQgfGc3AGb4Xm6rbngU Diff:
OldNewDifferences
2929 let newHourlyCount = (hourlyTxCount + 1)
3030 let newDailyCount = (dailyTxCount + 1)
3131 let updateResults = [IntegerEntry(hourlyKey, newHourlyCount), IntegerEntry(dailyKey, newDailyCount), BooleanEntry("status", true), IntegerEntry("newHourlyCount", newHourlyCount), StringEntry("message", "Transaction successful")]
32- updateResults
32+ let checkHourly = getInteger(this, hourlyKey)
33+ let checkDaily = getInteger(this, dailyKey)
34+ match checkHourly {
35+ case a: Int =>
36+ match checkDaily {
37+ case b: Int =>
38+ if (if ((a == newHourlyCount))
39+ then (b == newDailyCount)
40+ else false)
41+ then updateResults
42+ else throw("Data update failed")
43+ case _ =>
44+ throw("Failed to get daily count")
45+ }
46+ case _ =>
47+ throw("Failed to get hourly count")
48+ }
3349 }
3450 }
3551
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 8 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44
55
66 @Callable(i)
77 func checkAndIncrementCounter (funcName) = {
88 let hourlyKey = (funcName + "_hourlyTxCount")
99 let dailyKey = (funcName + "_dailyTxCount")
1010 let hourlyTxCount = match getInteger(this, hourlyKey) {
1111 case a: Int =>
1212 a
1313 case _ =>
1414 0
1515 }
1616 let dailyTxCount = match getInteger(this, dailyKey) {
1717 case a: Int =>
1818 a
1919 case _ =>
2020 0
2121 }
2222 let hourlyLimit = 1
2323 let dailyLimit = 2
2424 if ((hourlyTxCount >= hourlyLimit))
2525 then throw("Hourly limit exceeded")
2626 else if ((dailyTxCount >= dailyLimit))
2727 then throw("Daily limit exceeded")
2828 else {
2929 let newHourlyCount = (hourlyTxCount + 1)
3030 let newDailyCount = (dailyTxCount + 1)
3131 let updateResults = [IntegerEntry(hourlyKey, newHourlyCount), IntegerEntry(dailyKey, newDailyCount), BooleanEntry("status", true), IntegerEntry("newHourlyCount", newHourlyCount), StringEntry("message", "Transaction successful")]
32- updateResults
32+ let checkHourly = getInteger(this, hourlyKey)
33+ let checkDaily = getInteger(this, dailyKey)
34+ match checkHourly {
35+ case a: Int =>
36+ match checkDaily {
37+ case b: Int =>
38+ if (if ((a == newHourlyCount))
39+ then (b == newDailyCount)
40+ else false)
41+ then updateResults
42+ else throw("Data update failed")
43+ case _ =>
44+ throw("Failed to get daily count")
45+ }
46+ case _ =>
47+ throw("Failed to get hourly count")
48+ }
3349 }
3450 }
3551
3652

github/deemru/w8io/026f985 
12.78 ms