I recall reading that masternodes can, on occasion, receive a double payment when a number of rare conditions are met. Does someone know what these conditions are or at least why this may occur rather than the masternode getting shuffled back to the end of the payment line after receiving a payment?
Explained in here :
https://github.com/dashpay/dash/blob/master/src/masternodeman.cpp#L481-L500 // Look at 1/10 of the oldest nodes (by last payment), calculate their scores and pay the best one
// -- This doesn't look at who is being paid in the +8-10 blocks, allowing for double payments very rarely
// -- 1/100 payments should be a double payment on mainnet - (1/(3000/10))*2
// -- (chance per block * chances before IsScheduled will fire)