Skip to content
ClearClear
Docs
Protocol/OffersIssuer

OffersIssuer

Source: contracts/peripherals/OffersIssuer.sol · Guide: credit · Upgradeable (UUPS proxy)

2 min readUpdated View source

On this page
Network
Chain id
Address
Base Sepolia
84532

Functions that change state

Function
Who can call
Also
__CreditIssuer_init(address _stableCredit)
onlyInitializing
absorbRepayment(address member, uint256 available, uint256 minRate)
onlyStableCredit
expire(address member)
Anyone
grant(address member)
onlyOperator
notNull(member)
initialize(address _stableCredit, address _treasury, uint256 _offerAmount, uint64 _expiryWindow)
Once, when the proxy is initialised
initializeCreditLine(address member, uint256 limit, uint256 initialBalance, uint256 periodLength, uint256 graceLength)
onlyOperator
notNull(member), notInActivePeriod(member)
pausePeriodOf(address member)
onlyOperator
renounceOwnership()
The owner
setCap(uint256 _cap)
onlyOwnerOrOperator
setGraceLengthOf(address member, uint256 graceLength)
onlyOperator
setPeriodExpirationOf(address member, uint256 periodExpiration)
onlyOperator
setTerms(uint256 _offerAmount, uint64 _expiryWindow)
onlyOwnerOrOperator
settle()
Anyone
setTreasury(address _treasury)
onlyOwner
syncCreditPeriod(address member)
Anyone
syncCreditPositions(address sender, address recipient, uint256 amount)
onlyStableCredit
transferOwnership(address newOwner)
The owner
underwriteMember(address member)
Anyone
notNull(member), canIssueCreditTo(member)
unpausePeriodOf(address member)
onlyOperator
updateCreditPeriod(address member, uint256 periodExpiration, uint256 graceLength)
onlyOperator
upgradeTo(address newImplementation)
onlyOwner (via _authorizeUpgrade)
upgradeToAndCall(address newImplementation, bytes data)
onlyOwner (via _authorizeUpgrade)
payable
validateCreditTransaction(address sender, address recipient, uint256 amount)
onlyStableCredit

Read functions

Anyone can call these; they change nothing.

Function
Returns
averageBalanceCarriedOf(address member)
uint256
cap()
uint256
creditPeriods(address)
uint256 issuedAt, uint256 expiration, uint256 graceLength, bool paused
debtByKind(address)
bytes32[] kinds, uint256[] amounts
defaultedAt(address)
uint64
expiresAt(address member)
uint256
expiryWindow()
uint64
graceExpirationOf(address member)
uint256
grantedAt(address)
uint64
hasBalanceToMeasure(address member)
bool
hasDefaulted(address member)
bool
inActivePeriod(address member)
bool
incomeOf(address)
uint256 creditsReceived, uint256 depositsReceived, uint256 debtSeconds, uint64 lastAccrued, uint64 windowStart
inCompliance(address member)
bool
inDefault(address member)
bool
inExpiredPeriod(address member)
bool
inGracePeriod(address member)
bool
inInitializedPeriod(address member)
bool
isFrozen(address member)
bool
itdOf(address member)
uint256
meetsITD(address member, uint256 minimumItd)
bool
nextRepaymentRate(address)
uint256, bool
offerAmount()
uint256
offersLeft()
uint256
owed()
uint256
owner()
address
paused()
bool
periodExpirationOf(address member)
uint256
proxiableUUID()
bytes32
stableCredit()
address
totalExpired()
uint256
totalGranted()
uint256
totalSettled()
uint256
totalUnspent()
uint256
treasury()
address
treasuryAvailable()
uint256
unspentOf(address)
uint256

Events

Event
AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded(address beacon indexed)
CapUpdated(uint256 cap)
CreditLineDefaulted(address member)
CreditPeriodCreated(address member, uint256 periodExpiration, uint256 graceLength)
CreditPeriodExpired(address member)
CreditTermsPaused(address member)
CreditTermsUnpaused(address member)
GraceLengthUpdated(address member, uint256 graceLength)
Initialized(uint8 version)
LineSettled(uint256 credits, uint256 reserve, uint256 owed)
OfferExpired(address member indexed, uint256 amount)
OfferGranted(address member indexed, uint256 amount)
OfferSpent(address member indexed, uint256 amount, uint256 unspent)
OwnershipTransferred(address previousOwner indexed, address newOwner indexed)
Paused(address account)
TermsUpdated(uint256 offerAmount, uint64 expiryWindow)
TreasuryUpdated(address treasury indexed)
Unpaused(address account)
Upgraded(address implementation indexed)

Errors

Error
OffersIssuerAlreadyGranted(address member)
OffersIssuerInvalidTerms()
OffersIssuerNotExpired(address member, uint256 expiresAt)
OffersIssuerOverCap(uint256 owed, uint256 cap)