we will manually payout the difference to everyone who was rewarded less
everyone who was rewarded more can keep the result of our mistake
Many of you have noticed you weren't rewarded in accordance with the MSM leaderboard this morning. Thank you to those of you who politely and patiently complained.
The problem was caused by us paying out rewards according to February's "value" rankings rather than March's.
We do something like this in the code
date_trunc('month', (now() - interval '1 month') AT TIME ZONE 'America/Chicago')
to determine which month it is in Austin, but last month we had daylight savings time, so this resulted in february
rather than march
.now() - interval '1 month'
returns a UTC timestamp in a time period that's pre-daylight savings, so when cast to Austin time, it subtracts 6 hours (pre-daylight savings) rather than 5 hours (daylight savings), which moved the date to February 29th 11pm rather than the expected March 1 12am.This code should've been written as
date_trunc('month', (now() AT TIME ZONE 'America/Chicago' - interval '1 month'))
... which wouldn't have had this issue.Again, we'll pay everyone out the difference today, manually. Then I'll fix the issue in the code so this doesn't happen again next time we have a time change.
this is the way !
Donate to the Rewards if you're overpaid
Read this