LogoLogo
  • 🪙Introduction
    • Overview
  • 🔩System Components
    • Architecture
    • Custodial Addresses
    • Onchain Smart Contracts
      • FBTC Bridge
      • FBTC Minter
      • FBTC Token
      • Fee Model
    • Offchain Service
  • 💡Ecosystem
    • Locked FBTC Token
      • Locked FBTC Protocols Information
  • 🔐Security
    • Roles
    • Contract Permission
    • Bitcoin Reserve Address
    • Risk Management
      • Pausing
      • Upgradability
      • Custody
  • 👉PROOF OF RESERVE
    • Proof of Reserve
    • FBTC-BTC Price Feed
  • 🛠️Developers
    • Smart Contracts
  • 🪬More
    • FAQs
    • Audit Reports
Powered by GitBook
On this page
  • Key Features
  • Role-Based Access Control
  • Bridge Integration
  • High-level Workflow
  • Minting Workflow
  • Burning Workflow
  • Cross-Chain Workflow
  • Batch Confirmation Workflow
  1. System Components
  2. Onchain Smart Contracts

FBTC Minter

The FBTCMinter contract is a critical component in the FBTC protocol that manages the confirmation of minting, burning, and cross-chain requests. It operates under a role-based access control system to ensure secure and efficient processing of these operations.

Key Features

Role-Based Access Control

Utilizes specific roles for minting, burning, and cross-chain operations to ensure only authorized entities can perform these actions.

  • MINT_ROLE: Responsible for confirming minting requests.

  • BURN_ROLE: Responsible for confirming burning requests.

  • CROSSCHAIN_ROLE: Responsible for confirming cross-chain requests.

Bridge Integration

The FBTCMinter interacts with the FireBridge contract to execute its functions, ensuring seamless integration within the FBTC ecosystem.

High-level Workflow

The FBTCMinter contract works closely with the FireBridge contract to ensure secure and efficient confirmation of minting, burning, and cross-chain requests. Below is a detailed workflow for each operation:

Minting Workflow

  1. Minting Request Initiation:

    • A qualified user initiates a minting request via the FireBridge contract.

    • The FireBridge contract validates the request and records it.

  2. Confirmation by FBTCMinter:

    • An entity with the MINT_ROLE calls the confirmMintRequest function on the FBTCMinter contract.

    • FBTCMinter forwards the confirmation to the FireBridge contract by calling its confirmMintRequest function.

    • The FireBridge contract processes the request and mints the appropriate amount of FBTC tokens.

Burning Workflow

  1. Burning Request Initiation:

    • A qualified user initiates a burning request via the FireBridge contract.

    • The FireBridge contract validates the request and records it.

  2. Confirmation by FBTCMinter:

    • An entity with the BURN_ROLE calls the confirmBurnRequest function on the FBTCMinter contract, providing the request hash, withdrawal transaction ID, and output index.

    • FBTCMinter forwards the confirmation to the FireBridge contract by calling its confirmBurnRequest function.

    • The FireBridge contract processes the request and burns the appropriate amount of FBTC tokens.

Cross-Chain Workflow

  1. Cross-Chain Request Initiation:

    • A qualified user initiates a cross-chain request via the FireBridge contract.

    • The FireBridge contract validates the request and records it.

  2. Confirmation by FBTCMinter:

    • An entity with the CROSSCHAIN_ROLE calls the confirmCrosschainRequest function on the FBTCMinter contract, providing the request details.

    • FBTCMinter forwards the confirmation to the FireBridge contract by calling its confirmCrosschainRequest function.

    • The FireBridge contract processes the request and initiates the cross-chain transfer.

Batch Confirmation Workflow

  1. Batch Cross-Chain Request Initiation:

    • Multiple cross-chain requests are initiated and recorded by the FireBridge contract.

  2. Batch Confirmation by FBTCMinter:

    • An entity with the CROSSCHAIN_ROLE calls the batchConfirmCrosschainRequest function on the FBTCMinter contract, providing an array of requests.

    • FBTCMinter iterates through the array and forwards each request confirmation to the FireBridge contract.

    • The FireBridge contract processes each request and initiates the respective cross-chain transfers.

PreviousFBTC BridgeNextFBTC Token

Last updated 11 months ago

🔩