Deployment Checklist

Initial Setup

  • Deploy storage contract with deployer as the constructor argument.

  • Deploy Access Control Manager with the concrete storage address

  • Call initialize storage on the concrete storage contract with the access control manager, protocol role, and acl_admin role

Deploy Core Contracts

  • Deploy Action Manager.

  • Deploy Blueprint Manager.

  • Deploy Module Manager.

  • Deploy Protocol.

Access Control Configuration

  • Set roles for Protocol contract: PROTOCOL, PROTOCOL_MANAGER.

  • Set roles for Module Manager contract: PROTOCOL, ACL_ADMIN, MODULE_MANAGER.

  • Set roles for Blueprint Manager contract: PROTOCOL, ACL_ADMIN, BLUEPRINT_MANAGER.

  • Set roles for Action Manager contract: PROTOCOL, ACL_ADMIN, ACTION_MANAGER.

  • Assign roles to Deployer: PROTOCOL, SUDO_ADMIN, ACTION_MANAGER, BLUEPRINT_MANAGER, MODULE_MANAGER, PROTOCOL_MANAGER, CONCRETE_MANAGER.

  • Assign roles to Backend Master Wallet: ACL_ADMIN, PROTOCOL.

  • Set roles for Portfolio contract: PROTOCOL, BLUEPRINT.

  • Set roles for Loan Token contract: LOAN_TOKEN, LOAN_TOKEN_MANAGER, BLUEPRINT_MANAGER, ACTION_MANAGER.

  • Set additional roles for Lender Blueprint: BLUEPRINT_MANAGER.

Storage Configuration

  • Set loan token address in storage.

  • Set portfolio address in storage.

  • Set lender blueprint address in storage.

  • Set borrow views in storage.

  • Set claim router blueprint in storage.

  • Set lender pool providers in storage.

  • Set lender implementations in storage.

  • Set price feed in storage.

Loan and Portfolio Configuration

  • Enable all loan actions for the loan token address.

  • Enable all portfolio actions for the portfolio address.

Token Management

  • Create Concrete portfolio token.

  • Approve initial collateral tokens.

  • Approve initial debt tokens.

  • Blacklist specific tokens.

Contract Registries

  • Register all modules to the protocol address.

Blueprint Configuration

  • Link Lender Module to lender blueprint and loan blueprint.

  • Link Loan Brokerage Module to loan blueprint and protection blueprint.

  • Link Loan Management Module to Claim blueprint and foreclosure blueprint.

  • Link Borrow Admin Module to Borrow Admin blueprint.

Action Configuration

  • Set actions for Lender Blueprint: Supply Action, Borrow Action, Repay Action, Withdraw Action, Update Protection Action, Transfer Token Action, Update Loan Info Action.

  • Set actions for Loan Blueprint: Set Supply Data Action, Set Borrow Data Action, Update Loan Info Action, Set Loan Update Action, Factory Action.

  • Set actions for Loan Token: Mint Loan Token Action, Burn Loan Token Action.

  • Set actions for Portfolio: Burn Portfolio Action, Update BaseURL Action, Mint Portfolio Action, Transfer Portfolio Action.

  • Set actions for Borrow Admin Blueprint: Set Approved Collateral, Set Blacklist Token Action, Set Approved Debt Token Action.

  • Set actions for Protection Blueprint: Transfer Token Action, Set Protection Data Action, Set Protection Update Action, Set Protection Financial Terms Action.

  • Set actions for Claim Blueprint: Borrow Action, Supply Action, Update Loan Info Action, Create Claim Action, Transfer Token Action, Update Protection FTM Info Action.

  • Set actions for Foreclosure Blueprint: Update Loan Info Action, Update Protection Action, Repay Action, Withdraw Action, Transfer Token Action.

Last updated