KlimaDAO
  • Welcome to KlimaDAO
  • What is KlimaDAO?
  • Why KlimaDAO Exists
  • 🌍Ecosystem
    • Digital Carbon
    • Carbon Pools
    • The Role of KlimaDAO
  • ⚙️Economics
    • Overview
    • Operational Mechanics
      • Intrinsic Value
      • Protocol Owned Liquidity (POL)
      • Fungible Carbon Credits
    • Dynamics
      • Supply Expansion
      • Supply Contraction
      • Green Ratio
    • Purpose
      • Means of Exchange
      • Store of Value
      • Unit of Account
  • 🛠️Developers
    • Overview
    • Retirement Aggregator
    • Automation
    • Bug Bounty
    • Contracts
      • DAO Wallet
      • Policy
      • Retirement
        • V2 - Diamond
          • Generalized Retirement
          • Bridge-Specific Tooling
      • Staking
      • Tokens
      • Treasury
    • Data Sources
    • Deployment Addresses
    • Guides
      • Stake KLIMA
      • Wrap sKLIMA
      • Retire Carbon
      • Retirement Aggregator V1 Contract Guide
      • Retirement UI Integration Guide
    • Integration Examples
    • Testing
  • 🔄Auto Compounder
    • Auto Compounder App Guide
    • Auto Compounder FAQ
  • 🏛️DAO
    • Governance Framework
    • Organizational Structure
  • 📚References
    • FAQ
    • History
    • Glossary
    • Links
    • Translations
    • FAQ Carbon Markets
    • About Verified Carbon Credits
    • Estimating Carbon Emissions
  • 🙋‍♀️Get Involved
    • Community Discord
    • Governance Forum
    • Contact Us
Powered by GitBook
On this page
  • Toucan
  • C3

Was this helpful?

Export as PDF
  1. Developers
  2. Contracts
  3. Retirement
  4. V2 - Diamond

Bridge-Specific Tooling

Some of the following functions allow for direct retirement of bridge-specific project tokens. Others are simply wrappers for common functions found within their protocols such as redeeming tokens from a pool. Note that the Moss bridge is absemt because it does not currently support specific retirement or redemption.

Toucan

function toucanRetireExactTCO2WithEntity(
        address carbonToken,
        uint256 amount,
        string memory retiringEntityString,
        address beneficiaryAddress,
        string memory beneficiaryString,
        string memory retirementMessage,
        LibTransfer.From fromMode
    ) external nonReentrant returns (uint256 retirementIndex)
function toucanRedeemPoolDefault(
        address poolToken,
        uint256 amount,
        LibTransfer.From fromMode,
        LibTransfer.To toMode
    ) external nonReentrant returns (address[] memory projectTokens, uint256[] memory amounts) 
function toucanRedeemPoolSpecific(
        address poolToken,
        address[] memory projectTokens,
        uint256[] memory amounts,
        LibTransfer.From fromMode,
        LibTransfer.To toMode
    ) external nonReentrant returns (uint256[] memory redeemedAmounts)

C3

function c3RetireExactC3TWithEntity(
        address carbonToken,
        uint256 amount,
        string memory retiringEntityString,
        address beneficiaryAddress,
        string memory beneficiaryString,
        string memory retirementMessage,
        LibTransfer.From fromMode
    ) external nonReentrant returns (uint256 retirementIndex)
function c3RedeemPoolDefault(
        address poolToken,
        uint256 amount,
        LibTransfer.From fromMode,
        LibTransfer.To toMode
    ) external nonReentrant returns (address[] memory projectTokens, uint256[] memory amounts)
function c3RedeemPoolSpecific(
        address poolToken,
        address[] memory projectTokens,
        uint256[] memory amounts,
        LibTransfer.From fromMode,
        LibTransfer.To toMode
    ) external nonReentrant returns (uint256[] memory redeemedAmounts)
PreviousGeneralized RetirementNextStaking

Last updated 1 year ago

Was this helpful?

🛠️