Burner

Burner

Inherits: IBurner, Ownable2Step

Burner is used to swap USDC to MONT and burn MONT

The contract uses a custom pool in Uniswap to burn MONT tokens

State Variables

mont

Address of the MONT token

IMONT public immutable mont;

usdc

Address of the USDC token

IERC20 public immutable usdc;

uniswapPoolFee

Fee of the Uniswap V3 pool for MONT-USDC

uint24 public immutable uniswapPoolFee;

swapRouter

Address of the Uniswap SwapRouter contract

ISwapRouter public immutable swapRouter;

Functions

constructor

Sets related contract addresses

constructor(IMONT _mont, IERC20 _usdc, ISwapRouter _swapRouter, uint24 _uniswapPoolFee) Ownable(msg.sender);

Parameters

Name
Type
Description

_mont

IMONT

The address of the MONT ERC20 token contract

_usdc

IERC20

The address of the USDC token

_swapRouter

ISwapRouter

The address of the UniswapV3 SwapRouter contract

_uniswapPoolFee

uint24

The fee of the UniswapV3 pool

burnTokens

Swaps USDC to MONT and burns MONT tokens

Emits MONTTokensBurned event

function burnTokens(uint256 _amountOutMinimum, uint256 _deadline) external onlyOwner;

Parameters

Name
Type
Description

_amountOutMinimum

uint256

The minimum amount of MONT to burn

_deadline

uint256

Deadline of the swap

Last updated