RateLimited

Functions

constructor

function constructor(
    uint256 _maxRateLimitPerSecond,
    uint256 _rateLimitPerSecond,
    uint256 _bufferCap,
    bool _doPartialAction
) internal

Parameters

NameTypeDescription

_maxRateLimitPerSecond

uint256

_rateLimitPerSecond

uint256

_bufferCap

uint256

_doPartialAction

bool

setRateLimitPerSecond

function setRateLimitPerSecond(
    uint256 newRateLimitPerSecond
) external

set the rate limit per second

Parameters

NameTypeDescription

newRateLimitPerSecond

uint256

setBufferCap

function setBufferCap(
    uint256 newBufferCap
) external

set the buffer cap

Parameters

NameTypeDescription

newBufferCap

uint256

buffer

function buffer() public returns (uint256)

the amount of action used before hitting limit

replenishes at rateLimitPerSecond per second up to bufferCap

_depleteBuffer

function _depleteBuffer(
    uint256 amount
) internal returns (uint256)

the method that enforces the rate limit. Decreases buffer by "amount". If buffer is <= amount either 1. Does a partial mint by the amount remaining in the buffer or 2. Reverts Depending on whether doPartialAction is true or false

Parameters

NameTypeDescription

amount

uint256

_setRateLimitPerSecond

function _setRateLimitPerSecond(
    uint256 newRateLimitPerSecond
) internal

Parameters

NameTypeDescription

newRateLimitPerSecond

uint256

_setBufferCap

function _setBufferCap(
    uint256 newBufferCap
) internal

Parameters

NameTypeDescription

newBufferCap

uint256

_resetBuffer

function _resetBuffer() internal

_updateBufferStored

function _updateBufferStored() internal

Events

BufferUsed

event BufferUsed(
    uint256 amountUsed,
    uint256 bufferRemaining
)

Parameters

NameTypeDescription

amountUsed

uint256

bufferRemaining

uint256

### BufferCapUpdate

event BufferCapUpdate(
    uint256 oldBufferCap,
    uint256 newBufferCap
)

Parameters

NameTypeDescription

oldBufferCap

uint256

newBufferCap

uint256

### RateLimitPerSecondUpdate

event RateLimitPerSecondUpdate(
    uint256 oldRateLimitPerSecond,
    uint256 newRateLimitPerSecond
)

Parameters

NameTypeDescription

oldRateLimitPerSecond

uint256

newRateLimitPerSecond

uint256

Last updated