PoolPermissionManager

Functions

admin

Returns the proxy's admin address.

    function admin()
        view
        returns (
            address admin_
        );

Return Values:

IndexNameTypeInternal TypeDescription

0

admin_

address

address

The address of the admin.

configurePool

Configures the permissions of a pool.

    function configurePool(
        address poolManager_,
        uint256 permissionLevel_,
        bytes32[] functionIds_,
        uint256[] poolBitmaps_
    )
        nonpayable;

Parameters:

IndexNameTypeInternal TypeDescription

0

poolManager_

address

address

1

permissionLevel_

uint256

uint256

2

functionIds_

bytes32[]

bytes32[]

3

poolBitmaps_

uint256[]

uint256[]

globals

Returns the address of the `MapleGlobals` contract.

    function globals()
        view
        returns (
            address
        );

Return Values:

IndexNameTypeInternal TypeDescription

0

address

address

hasPermission

Checks if the lender has permission to interact with a pool. The function identifier defines the function to check the permission for.

    function hasPermission(
        address poolManager_,
        address[] lenders_,
        bytes32 functionId_
    )
        view
        returns (
            bool hasPermission_
        );

Parameters:

IndexNameTypeInternal TypeDescription

0

poolManager_

address

address

1

lenders_

address[]

address[]

2

functionId_

bytes32

bytes32

Return Values:

IndexNameTypeInternal TypeDescription

0

hasPermission_

bool

bool

hasPermission

Checks if the lender has permission to interact with a pool. The function identifier defines the function to check the permission for.

    function hasPermission(
        address poolManager_,
        address lender_,
        bytes32 functionId_
    )
        view
        returns (
            bool hasPermission_
        );

Parameters:

IndexNameTypeInternal TypeDescription

0

poolManager_

address

address

1

lender_

address

address

2

functionId_

bytes32

bytes32

Return Values:

IndexNameTypeInternal TypeDescription

0

hasPermission_

bool

bool

implementation

Returns the proxy's implementation address.

    function implementation()
        view
        returns (
            address implementation_
        );

Return Values:

IndexNameTypeInternal TypeDescription

0

implementation_

address

address

The address of the implementation.

lenderAllowlist

Checks if a pool has allowlisted a lender.

    function lenderAllowlist(
        address,
        address
    )
        view
        returns (
            bool
        );

Parameters:

IndexNameTypeInternal TypeDescription

0

``

address

address

1

``

address

address

Return Values:

IndexNameTypeInternal TypeDescription

0

bool

bool

lenderBitmaps

Returns the permission bitmap of a lender.

    function lenderBitmaps(
        address
    )
        view
        returns (
            uint256
        );

Parameters:

IndexNameTypeInternal TypeDescription

0

``

address

address

Return Values:

IndexNameTypeInternal TypeDescription

0

uint256

uint256

permissionAdmins

Checks if the account is a permission admin.

    function permissionAdmins(
        address
    )
        view
        returns (
            bool
        );

Parameters:

IndexNameTypeInternal TypeDescription

0

``

address

address

Return Values:

IndexNameTypeInternal TypeDescription

0

bool

bool

permissionLevels

Returns the permission level of a pool. Permission levels: private (0), function-level (1), pool-level (2), public (3)

    function permissionLevels(
        address
    )
        view
        returns (
            uint256
        );

Parameters:

IndexNameTypeInternal TypeDescription

0

``

address

address

Return Values:

IndexNameTypeInternal TypeDescription

0

uint256

uint256

poolBitmaps

Returns a function-specific pool permission bitmap. Return the pool-level permission bitmap if the function identifier is zero.

    function poolBitmaps(
        address,
        bytes32
    )
        view
        returns (
            uint256
        );

Parameters:

IndexNameTypeInternal TypeDescription

0

``

address

address

1

``

bytes32

bytes32

Return Values:

IndexNameTypeInternal TypeDescription

0

uint256

uint256

setLenderAllowlist

Sets the allowlist status of one or more lenders.

    function setLenderAllowlist(
        address poolManager_,
        address[] lenders_,
        bool[] booleans_
    )
        nonpayable;

Parameters:

IndexNameTypeInternal TypeDescription

0

poolManager_

address

address

1

lenders_

address[]

address[]

2

booleans_

bool[]

bool[]

setLenderBitmaps

Sets the permission bitmaps of one or more lenders.

    function setLenderBitmaps(
        address[] lenders_,
        uint256[] bitmaps_
    )
        nonpayable;

Parameters:

IndexNameTypeInternal TypeDescription

0

lenders_

address[]

address[]

1

bitmaps_

uint256[]

uint256[]

setPermissionAdmin

Sets the permission admin status of an account.

    function setPermissionAdmin(
        address permissionAdmin_,
        bool isPermissionAdmin_
    )
        nonpayable;

Parameters:

IndexNameTypeInternal TypeDescription

0

permissionAdmin_

address

address

1

isPermissionAdmin_

bool

bool

setPoolBitmaps

Sets the permission bitmaps of a pool.

    function setPoolBitmaps(
        address poolManager_,
        bytes32[] functionIds_,
        uint256[] bitmaps_
    )
        nonpayable;

Parameters:

IndexNameTypeInternal TypeDescription

0

poolManager_

address

address

1

functionIds_

bytes32[]

bytes32[]

2

bitmaps_

uint256[]

uint256[]

setPoolPermissionLevel

Sets the permission level of a pool. Permission levels: private (0), function-level (1), pool-level (2), public (3) NOTE: Bitmaps must be set before setting the permission level to function-level (1) or pool-level (2). Otherwise, the pool will be permissionless by default to un-set lenders.

    function setPoolPermissionLevel(
        address poolManager_,
        uint256 permissionLevel_
    )
        nonpayable;

Parameters:

IndexNameTypeInternal TypeDescription

0

poolManager_

address

address

1

permissionLevel_

uint256

uint256

Events

LenderAllowlistSet

Emitted when the lender allowlist is updated.

    event LenderAllowlistSet(
        address poolManager,
        address[] lenders,
        bool[] booleans
    );

Parameters:

IndexNameTypeInternal TypeDescription

0

poolManager

address

address

Address of the pool manager.

1

lenders

address[]

address[]

List of lender addresses to set the allowlist for.

2

booleans

bool[]

bool[]

List of boolean values.

LenderBitmapsSet

Emitted when lender bitmaps are updated.

    event LenderBitmapsSet(
        address[] lenders,
        uint256[] bitmaps
    );

Parameters:

IndexNameTypeInternal TypeDescription

0

lenders

address[]

address[]

List of lender addresses to set the bitmaps for.

1

bitmaps

uint256[]

uint256[]

List of permission bitmaps.

PermissionAdminSet

Emitted when a permission admin has been updated.

    event PermissionAdminSet(
        address account,
        bool isAdmin
    );

Parameters:

IndexNameTypeInternal TypeDescription

0

account

address

address

Address of the updated account.

1

isAdmin

bool

bool

`true` if the account is a permission admin, `false` if not.

PoolBitmapsSet

Emitted when pool bitmaps are updated.

    event PoolBitmapsSet(
        address poolManager,
        bytes32[] functionIds,
        uint256[] bitmaps
    );

Parameters:

IndexNameTypeInternal TypeDescription

0

poolManager

address

address

Address of the pool manager.

1

functionIds

bytes32[]

bytes32[]

List of function identifiers to set the bitmaps for.

2

bitmaps

uint256[]

uint256[]

List of permission bitmaps.

PoolPermissionLevelSet

Emitted when the permission level of a pool is updated.

    event PoolPermissionLevelSet(
        address poolManager,
        uint256 permissionLevel
    );

Parameters:

IndexNameTypeInternal TypeDescription

0

poolManager

address

address

Address of the pool manager.

1

permissionLevel

uint256

uint256

Pool permission level.

Last updated