gsfarmv8
gno.land/r/g1mv0052e7r6s09f5t9xsqf00nj3tqsgt9dg52jr/gvs/gsfarmv8
Contract Source Code
slot.gno
package gsfarmv8
// syncBookToCash sets the share book to the WUGNOT this slot actually
// holds after unwind so PreviewRedeem never promises more than cash.
func syncBookToCash(f *slot) {
have := f.cash
booked := f.book.TotalAssets()
if booked > have {
f.book.TakeLoss(booked - have)
return
}
if have > booked && f.book.TotalShares() > 0 {
f.book.AddProfit(have - booked)
}
}