Allows a user to transfer M between both - yield earning and non-yield earning participants. Deductsamount from sender and Adds to recipient.
Ifsender and recipient are both yield earning or non-yield earning participants
balanceOfMToken,senderāā=amountbalanceOfMToken,recipientā+=amount
Ifsender is yield earning and recipient is non-yield earning
participantprincipalOfEarningSupplyMToken,senderā=amount/indexnowābalanceOfMToken,senderāā=principalOfEarningSupplyMToken,senderātotalPrincipalOfEarningSupplyā=principalOfEarningSupplyMToken,senderābalanceOfMToken,recipientā+=amount
totalNonEarningSupply+=amount
Ifsender is non-yield earning and recipient is yield earning participant
balanceOfMToken,senderāā=amounttotalNonEarningSupplyā=amountprincipalOfEarningSupplyMToken,recipientā=amount/indexnowābalanceOfMToken,recipientā+=principalOfEarningSupplyMToken,recipientātotalPrincipalOfEarningSupply+=principalOfEarningSupplyMToken,recipientā