Maple
  • Welcome to Maple
  • Maple for Lenders
    • Introduction
    • Lending
    • Defaults and Impairments
    • Margin Calls and Liquidations
    • Risk
    • Withdrawal Process
  • syrupUSDC for Lenders
    • Powered by Maple
    • Lending in syrupUSDC and syrupUSDT
    • Commitments
    • Drips Rewards
    • Withdrawals
    • Monthly Updates
    • Pendle Integration
  • SyrupUSDC Rewards Prize Draw Program Summary
  • FAQ
  • Maple for Borrowers
    • Introduction
    • Loan Management
  • Maple for Token Holders
    • Introduction to SYRUP
      • MPL to SYRUP Conversion
      • FAQs
    • SYRUP Tokenomics
      • Staking
      • Staking Smart Contract Details
    • Governance and Voting
    • Drips Rewards
    • Research and Media
      • Podcasts
      • News Articles
      • TV Segments
      • Research Reports
      • Data Dashboards
    • Additional Resources
  • Technical Resources
    • Protocol Overview
      • Background
      • Protocol Actors
      • Smart Contract Architecture
      • Glossary
      • Smart Contract Addresses
      • Fees
      • Composability
      • Proxies and Upgradeability
    • Security
      • Security
      • List of Assumptions
      • External Entry Points
      • Emergency Protocol Pause
      • Protocol Invariants
      • Test Report
    • Loans
      • Loans
      • Fixed Term Loans
      • Open Term Loans
      • Refinancing
      • Impairments
      • Defaults
    • Pools
      • Pools
      • Pool Creation
      • PoolManager
      • PoolDelegateCover
      • Accounting
        • Pool Accounting
        • Pool Exchange Rates
    • Strategies
      • Fixed Term Loan Manager
        • Overview
        • Claims
        • Advance Payment Accounting
        • Accounting Examples
      • Open Term Loan Manager
      • DeFi Strategies
    • Withdrawal Managers
      • WithdrawalManager (Cyclical)
      • WithdrawalManager (Queue)
    • Singletons
      • Globals
      • MapleTreasury
      • Oracles
      • Pool Permission Manager
    • Admin Functions
      • Governor Admin Actions
        • Operational Admin Actions
      • Pool Delegate Admin Actions
      • Timelocks
    • Operations
      • Protocol Deployment
      • Open Term Loan Deployment
      • December 2023 Deployment & Upgrade Procedure
      • Strategies Release Deployment Procedure
    • Interfaces
      • FixedTermLoan
      • FixedTermLoanFactory
      • FixedTermLoanFeeManager
      • FixedTermLoanInitializer
      • FixedTermLoanManager
      • FixedTermLoanManagerFactory
      • FixedTermLoanManagerInitializer
      • FixedTermLoanRefinancer
      • Globals
      • Liquidator
      • LiquidatorFactory
      • LiquidatorInitializer
      • OpenTermLoan
      • OpenTermLoanFactory
      • OpenTermLoanInitializer
      • OpenTermLoanManager
      • OpenTermLoanManagerFactory
      • OpenTermLoanManagerInitializer
      • OpenTermLoanRefinancer
      • Pool
      • PoolDelegateCover
      • PoolDeployer
      • PoolManager
      • PoolManagerFactory
      • PoolManagerInitializer
      • PoolPermissionManager
      • WithdrawalManager (Cyclical)
      • WithdrawalManagerFactory (Cyclical)
      • WithdrawalManagerInitializer (Cyclical)
      • WithdrawalManager (Queue)
      • WithdrawalManagerFactory (Queue)
      • WithdrawalManagerInitializer (Queue)
    • SYRUP Token
      • Architectural Overview
      • Base ERC20 Structure
      • Upgradability
      • Modules
      • Time Locks
      • Recapitalization Module
      • Emergency Module
      • Deployment and Migration Procedure
    • GraphQL API
    • SDK
      • Introduction
      • Installation
      • Protocol Actors
      • Usage Guide
  • Troubleshooting & Support
    • Intercom
  • Maple 1.0
    • Access to deprecated Maple 1.0
  • Legal
    • Borrower MLA
    • KYC
    • Interface Terms of Use
    • Privacy Policy
    • syrupUSDC and syrupUSDT - Risks
    • syrupUSDC and syrupUSDT - Defaults and Impairments
    • syrupUSDC and syrupUSDT - Available Jurisdictions
    • Interface Terms of Use [syrupUSDC and syrupUSDT]
    • Interface Terms of Use [Syrup.fi/convert/ and Syrup.fi/stake/]
    • syrupUSDC and syrupUSDT- Privacy Policy
    • SyrupUSDC Rewards Prize Draw Terms & Conditions
Powered by GitBook
On this page
  • Functions
  • admin
  • configurePool
  • globals
  • hasPermission
  • hasPermission
  • implementation
  • lenderAllowlist
  • lenderBitmaps
  • permissionAdmins
  • permissionLevels
  • poolBitmaps
  • setLenderAllowlist
  • setLenderBitmaps
  • setPermissionAdmin
  • setPoolBitmaps
  • setPoolPermissionLevel
  • Events
  • LenderAllowlistSet
  • LenderBitmapsSet
  • PermissionAdminSet
  • PoolBitmapsSet
  • PoolPermissionLevelSet
  1. Technical Resources
  2. Interfaces

PoolPermissionManager

\

Functions

admin

Returns the proxy's admin address.

    function admin()
        view
        returns (
            address admin_
        );

Return Values:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

0

poolManager_

address

address

1

lenders_

address[]

address[]

2

functionId_

bytes32

bytes32

Return Values:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

0

poolManager_

address

address

1

lender_

address

address

2

functionId_

bytes32

bytes32

Return Values:

Index
Name
Type
Internal Type
Description

0

hasPermission_

bool

bool

\

implementation

Returns the proxy's implementation address.

    function implementation()
        view
        returns (
            address implementation_
        );

Return Values:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

0

``

address

address

1

``

address

address

Return Values:

Index
Name
Type
Internal Type
Description

0

bool

bool

\

lenderBitmaps

Returns the permission bitmap of a lender.

    function lenderBitmaps(
        address
    )
        view
        returns (
            uint256
        );

Parameters:

Index
Name
Type
Internal Type
Description

0

``

address

address

Return Values:

Index
Name
Type
Internal Type
Description

0

uint256

uint256

\

permissionAdmins

Checks if the account is a permission admin.

    function permissionAdmins(
        address
    )
        view
        returns (
            bool
        );

Parameters:

Index
Name
Type
Internal Type
Description

0

``

address

address

Return Values:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

0

``

address

address

Return Values:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

0

``

address

address

1

``

bytes32

bytes32

Return Values:

Index
Name
Type
Internal Type
Description

0

uint256

uint256

\

setLenderAllowlist

Sets the allowlist status of one or more lenders.

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

Parameters:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

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:

Index
Name
Type
Internal Type
Description

0

poolManager

address

address

Address of the pool manager.

1

permissionLevel

uint256

uint256

Pool permission level.

\

PreviousPoolManagerInitializerNextWithdrawalManager (Cyclical)

Last updated 6 months ago