Rounding error in Abracadabra protocol allowed attacker to inflate base value without corresponding adjustment of elastic value
User borrow mapping
only stored borrowed shares per user, not the actual assets
repayForAll()
function made this feature accessible to everyone
repayForAll()
function was instrumental in creating this deviation_isSolvent()
relied on comparing the attacker’s ratio of total borrowed shares