Point program

Discover how many points you have on this page: https://FixedLend.com/points

Getters

// Displayed as "your points" in https://FixedLend.com/points
fn frontend_get_user_points(self: @ContractState, user: ContractAddress) -> u256 {
    self.user_points.read(user)
}
// Displayed as "total points" in https://FixedLend.com/points
fn frontend_get_total_points(self: @ContractState) -> u256 {
    self.total_points.read()
}

Setters - when a loan is repaid

increase_user_point(ref self, lender, total_amount, lend_token);
increase_user_point(ref self, borrower, total_amount, lend_token);
fn increase_user_point(ref self: ContractState, user: ContractAddress, amount: u256, asset: ContractAddress) {
    let user_point = self.user_points.entry(user).read();
    let amount = amount * self.points_multiplier_per_asset.entry(asset).read();
    let amount = amount * self.points_multiplier.read();
    self.user_points.entry(user).write(user_point + amount);
    self.total_points.write(self.total_points.read() + amount);
}

Last updated