Skip to content

feat: Develop LendingPool.sol implementation contract #24

Description

@rafamiziara

Description

Develop the LendingPool implementation contract that will serve as the template for all lending pools created by the PoolFactory.

Acceptance Criteria

  • Create LendingPool.sol as upgradeable implementation
  • Implement proper initialization function (not constructor)
  • Add core data structures for pool management
  • Include basic access controls and modifiers
  • Add events for all major actions
  • Implement security features (reentrancy guards, pause mechanism)
  • Add comprehensive unit tests

Technical Requirements

  • Use OpenZeppelin upgradeable patterns (Initializable, UUPSUpgradeable)
  • Support both POL and ERC20 token pools
  • Implement proper state management
  • Include emergency pause functionality
  • Follow EIP standards where applicable

Core Functions (Sprint 1 Scope)

  • initialize() - Initialize pool with parameters
  • getPoolInfo() - Return pool metadata
  • pause()/unpause() - Emergency controls
  • Basic getter functions for pool state

Data Structures

  • Pool metadata (name, description, terms)
  • Member management structures
  • Loan tracking structures (for future sprints)
  • Liquidity tracking structures (for future sprints)

Definition of Done

  • LendingPool implementation is complete
  • Successfully deployable as proxy
  • Unit test coverage > 90%
  • Integration tests with PoolFactory
  • Gas optimized and security reviewed

Metadata

Metadata

Assignees

Labels

comp: contractsIssues related to the smart contracts in packages/contracts

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions