Skip to content

Commit ca57923

Browse files
committed
Update contract
1 parent f9e43bf commit ca57923

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

contract/lagoon.clar

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
1-
;; This is sample contract found in the sBTC tutorial: https://stacks-network.github.io/sbtc-docs/tutorial.html
2-
;; It is not directly used in this frontend app but provided here is reference for you to implement
3-
;; in your local sBTC devenv setup
4-
51
;; Define the contract's data variables
62
(define-map deposits { owner: principal } { amount: uint })
7-
(define-map loans { owner: principal } { amount: uint, last-interaction-block: uint })
3+
(define-map loans principal { amount: uint, last-interaction-block: uint })
84

95
(define-data-var total-deposits uint u0)
106
(define-data-var total-loans uint u0)
@@ -28,14 +24,14 @@
2824
(let (
2925
(user-deposit (default-to u0 (get amount (map-get? deposits { owner: tx-sender }))))
3026
(allowed-borrow (/ user-deposit u2))
31-
(current-loan-details (default-to { amount: u0, last-interaction-block: u0 } (map-get? loans { owner: tx-sender })))
27+
(current-loan-details (default-to { amount: u0, last-interaction-block: u0 } (map-get? loans tx-sender )))
3228
(accrued-interest (calculate-accrued-interest (get amount current-loan-details) (get last-interaction-block current-loan-details)))
3329
(total-due (+ (get amount current-loan-details) (unwrap! accrued-interest (err u8))))
3430
(new-loan (+ total-due amount))
3531
)
3632
(asserts! (<= amount allowed-borrow) (err u7))
3733
(try! (contract-call? .asset transfer amount (as-contract tx-sender) tx-sender none))
38-
(map-set loans { owner: tx-sender } { amount: new-loan, last-interaction-block: block-height })
34+
(map-set loans tx-sender { amount: new-loan, last-interaction-block: block-height })
3935
(ok true)
4036
)
4137
)
@@ -44,13 +40,13 @@
4440
;; Users can repay their sBTC loans
4541
(define-public (repay (amount uint))
4642
(let (
47-
(current-loan-details (default-to { amount: u0, last-interaction-block: u0 } (map-get? loans { owner: tx-sender })))
43+
(current-loan-details (default-to { amount: u0, last-interaction-block: u0 } (map-get? loans tx-sender )))
4844
(accrued-interest (calculate-accrued-interest (get amount current-loan-details) (get last-interaction-block current-loan-details)))
4945
(total-due (+ (get amount current-loan-details) (unwrap! accrued-interest (err u8))))
5046
)
5147
(asserts! (>= total-due amount) (err u4))
5248
(try! (contract-call? .asset transfer amount tx-sender (as-contract tx-sender) none))
53-
(map-set loans { owner: tx-sender } { amount: (- total-due amount), last-interaction-block: block-height })
49+
(map-set loans tx-sender { amount: (- total-due amount), last-interaction-block: block-height })
5450
(var-set total-loans (- (var-get total-loans) amount))
5551
(ok true)
5652
)

0 commit comments

Comments
 (0)