18 lines
790 B
Go
18 lines
790 B
Go
|
|
package models
|
||
|
|
|
||
|
|
import "time"
|
||
|
|
|
||
|
|
// KnownBorrower stores every address that has ever interacted with the lending contract.
|
||
|
|
// The liquidation bot checks ALL known borrowers for isLiquidatable on every tick,
|
||
|
|
// so accounts whose health factor drops due to oracle price changes are still caught
|
||
|
|
// even if they haven't had a recent on-chain transaction.
|
||
|
|
type KnownBorrower struct {
|
||
|
|
ID uint `gorm:"primaryKey;autoIncrement" json:"id"`
|
||
|
|
ChainID int `gorm:"uniqueIndex:idx_known_borrower" json:"chain_id"`
|
||
|
|
Address string `gorm:"size:42;uniqueIndex:idx_known_borrower" json:"address"`
|
||
|
|
FirstSeenAt time.Time `json:"first_seen_at"`
|
||
|
|
LastSeenAt time.Time `json:"last_seen_at"`
|
||
|
|
}
|
||
|
|
|
||
|
|
func (KnownBorrower) TableName() string { return "known_borrowers" }
|