OCC_Modular.sol
OCC -> On-Chain Credit (Loan Management System)
Last updated
OCC -> On-Chain Credit (Loan Management System)
Last updated
Zivoe Finance - Official Documentation
OCC stands for "On-Chain Credit".
A "Bullet" loan is an interest-only loan, with principal repaid in full at the end.
An "Amortization" loan is a principal and interest loan, with consistent payments until fully "Repaid".
This locker is responsible for handling accounting of loans.
This locker is responsible for handling payments and distribution of payments.
This locker is responsible for handling defaults and liquidations (if needed).
Loan
This struct stores information for loans.
Combine
This struct stores information for loan combinations.
LoanState
This enumerator tracks loan states.
LoanSchedule
This enumerator tracks the payment schedule type for a loan.
canPush() - Permission for owner to call pushToLocker()
. See ZivoeLocker.sol
canPull() - Permission for owner to call pullFromLocker()
. See ZivoeLocker.sol
canPullPartial() - Permission for owner to call pullFromLockerPartial()
. See ZivoeLocker.sol
loanInfo() - Returns information for a given loan. Refer to Loan
amountOwed() - Returns information for amount owed on next payment of a particular loan
acceptOffer() - Funds and initiates a loan.
callLoan() - Pays off the loan in full, plus additional interest for paymentInterval.
cancelOffer() - Cancels a loan offer.
createOffer() - Create a loan offer.
makePayment() - Make a payment on a loan. Anyone is allowed to make a payment on someone's loan.
markDefault() - Mark a loan insolvent if a payment hasn't been made beyond the corresponding grace period.
markRepaid() - Underwriter specifies a loan has been repaid fully via interest deposits in terms of off-chain debt.
processPayment() - Process a payment for a loan, on behalf of another borrower.
resolveDefault() - Make a full (or partial) payment to resolve an insolvent loan.
supplyInterest() - Supply interest to a repaid loan (for arbitrary interest repayment).
updateOCTYDL() - Updates the OCT_YDL endpoint.
Write Functions - Loan Management
applyCombine() - Combines multiple loans into a single loan.
applyConversionToAmortization() - Converts a loan to amortization payment schedule.
applyConversionBullet() - Converts a loan to bullet payment schedule.
applyExtension() - Applies an extension to a loan.
applyRefinance() - Refinances a loan.
approveCombine() - Approves a borrower for combining loans.
approveConversionToAmortization() - Approves a loan for conversion to amortization payment schedule.
approveConversionToBullet() - Approves a loan for conversion to bullet payment schedule.
approveExtension() - Approves an extension for a loan.
approveRefinance() - Approves a loan for refinancing.
unapproveCombine() - Unapproves a borrower for combining loans.
unapproveConversionToAmortization() - Unapproves a loan for conversion to amortization payment schedule.
unapproveConversionBullet() - Unapproves a loan for conversion to bullet payment schedule.
unapproveExtension() - Unapproves an extension for a loan.
unapproveRefinance() - Unapproves a loan for refinancing.
canPush()
Permission for owner to call pushToLocker()
. See ZivoeLocker.sol
canPull()
Permission for owner to call pullFromLocker()
. See ZivoeLocker.sol
canPullPartial()
Permission for owner to call pullFromLockerPartial()
. See ZivoeLocker.sol
loanInfo()
Returns information for a given loan. Refer to Loan
Returns
amountOwed()
Returns information for amount owed on next payment of a particular loan
Returns
acceptOffer()
Funds and initiates a loan.
Emits the OfferAccepted() event
callLoan()
Pays off the loan in full, plus additional interest for paymentInterval.
Emits the LoanCalled() event
cancelOffer()
Cancels a loan offer.
Emits the OfferCancelled() event
createOffer()
Create a loan offer.
Emits the OfferCreated() event
makePayment()
Make a payment on a loan. Anyone is allowed to make a payment on someone's loan.
Emits the PaymentMade() event
markDefault()
Mark a loan insolvent if a payment hasn't been made beyond the corresponding grace period.
Emits the DefaultMarked() event
markRepaid()
Underwriter specifies a loan has been repaid fully via interest deposits in terms of off-chain debt.
Emits the RepaidMarked() event
processPayment()
Process a payment for a loan, on behalf of another borrower.
Emits the PaymentMade() event
resolveDefault()
Make a full (or partial) payment to resolve an insolvent loan.
Emits the DefaultResolved() event
supplyInterest()
Supply interest to a repaid loan (for arbitrary interest repayment).
Emits the InterestSupplied() event
updateOCTYDL()
Updates the OCT_YDL endpoint.
Emits the UpdatedOCTYDL() event
applyCombine()
Combines multiple loans into a single loan.
Emits the CombineApplied() and CombineLoanCreated() event(s)
applyConversionToAmortization()
Converts a loan to amortization payment schedule.
Emits the ConversionToAmortizationApplied() event
applyConversionBullet()
Converts a loan to bullet payment schedule.
Emits the ConversionToBulletApplied() event
applyExtension()
Applies an extension to a loan.
Emits the ExtensionApplied() event
applyRefinance()
Refinances a loan.
Emits the RefinanceApplied()
approveCombine()
Approves a borrower for combining loans.
Emits the CombineApproved() event
approveConversionToAmortization()
Approves a loan for conversion to amortization payment schedule.
Emits the ConversionToAmortizationApproved() event
approveConversionToBullet()
Approves a loan for conversion to bullet payment schedule.
Emits the ConversionToBulletApproved() event
approveExtension()
Approves an extension for a loan.
Emits the ExtensionApproved() event
approveRefinance()
Approves a loan for refinancing.
Emits the RefinanceApproved() event
unapproveCombine()
Unapproves a borrower for combining loans.
Emits the CombineUnapproved() event
unapproveConversionToAmortization()
Unapproves a loan for conversion to amortization payment schedule.
Emits the ConversionToAmortizationUnapproved() event
unapproveConversionBullet()
Unapproves a loan for conversion to bullet payment schedule.
Emits the ConversionToBulletUnapproved() event
unapproveExtension()
Unapproves an extension for a loan.
Emits the ExtensionUnapproved() event
unapproveRefinance()
Unapproves a loan for refinancing.
Emits the RefinanceUnapproved() event
CombineApplied()
Emitted during applyCombine()
CombineApproved()
Emitted during approveCombine()
CombineLoanCreated()
Emitted during applyCombine()
CombineUnapproved()
Emitted during unapproveCombine()
ConversionToAmortizationApplied()
Emitted during applyConversionToAmortization()
ConversionToAmortizationApproved()
Emitted during approveConversionToAmortization()
ConversionToAmortizationUnapproved()
Emitted during unapproveConversionToAmortization()
ConversionToBulletApplied()
Emitted during applyConversionBullet()
ConversionToBulletApproved()
Emitted during approveConversionToBullet()
ConversionToBulletUnapproved()
Emitted during unapproveConversionBullet()
DefaultMarked()
Emitted during markDefault()
DefaultResolved()
Emitted during resolveDefault()
ExtensionApplied()
Emitted during applyExtension()
ExtensionApproved()
Emitted during approveExtension()
ExtensionUnapproved()
Emitted during unapproveExtension()
InterestSupplied()
Emitted during supplyInterest()
LoanCalled()
Emitted during callLoan()
OfferAccepted()
Emitted during acceptOffer()
OfferCancelled()
Emitted during cancelOffer()
OfferCreated()
Emitted during createOffer()
PaymentMade()
Emitted during makePayment() and processPayment()
RefinanceApplied()
Emitted during applyRefinance()
RefinanceApproved()
Emitted during approveRefinance()
RefinanceUnapproved()
Emitted during unapproveRefinance()
RepaidMarked()
Emitted during markRepaid()
UpdatedOCTYDL()
Emitted during updateOCTYDL()
Type | Name | Description |
---|---|---|
Type | Name | Description |
---|---|---|
Type | Name | Description |
---|---|---|
State | Description |
---|---|
State | Description |
---|---|
Type | Name | Description |
---|---|---|
Type | Name | Description |
---|---|---|
Type | Name | Description |
---|---|---|
Type | Name | Description |
---|---|---|
Type | Name | Description |
---|---|---|
Type | Name | Description |
---|---|---|
Type | Name | Description |
---|---|---|
Type | Name | Description |
---|---|---|
Type | Name | Description |
---|---|---|
Type | Name | Description |
---|---|---|
Type | Name | Description |
---|---|---|
Type | Name | Description |
---|---|---|
Type | Name | Description |
---|---|---|
Type | Name | Description |
---|---|---|
Type | Name | Description |
---|---|---|