Developer
Boomswap is a Uniswap V2 fork. Developers can interact with Boomswap in the same way they use Uniswap repositories and SDKs.
Boomswap has a total fee structure of 1.9% from which 0.3% goes to the protocol.
The following steps were made when forking the original code:
V2-Core-Master Module
Contracts and Modifications
BoomswapERC20.sol : Originally
UniswapV2ERC20
, this contract has been modified for LP name and symbol adjustments.BoomswapPair.sol : Originally
UniswapV2Pair
. Fee value in updated in theBoomswapPair-swap()
function at these two lines:
BoomswapFactory.sol: Formerly
UniswapV2Factory
. Key modification includes the initialization of the state variableINIT_CODE_HASH
. The deployment of this contract requires a specified_feeToSetter
address, which has the authority to adjust thefeeTo
parameter.
V2-Periphery-Master Module
Implementation Steps
Retrieve the contract address and
INIT_CODE_HASH
from the deployed Factory.In
UniswapV2Library.sol
, replace the existing init code hash in thepairFor
function (Remove the '0x' prefix).Compile and deploy the
IUniswapV2Router02
andBoomswapRouter.sol
contracts (previouslyUniswapV2Router02
) using the appropriate pragma solidity version.BoomswapRouter Deployment: Requires the
_FACTORY
address and the WBMC address (formerly WETH).
Consider modifying UniswapV2Library.sol
and UniswapV2LiquidityMathLibrary.sol
fees initially at 0.3% (997/1000).
Don't subsitute WETH with WBMC. Maintain the convention usage of ETH everywhere in the code: in names like IWETH, amountETHMin, etc.
API Endpoints Documentation
Don't forget to approve token before calling any of the following endpoints.
Use
addLiquidity
for ERC-20/ERC-20 pairs.For WBMC pairs (WETH convention), use
addLiquidityETH
.To remove liquidity, use
removeLiquidity
orremoveLiquidityETH
.For withdrawal estimates, follow the logic in
UniswapV2Pair-burn()
.
Quotation: Use
quote
.Exact Output: Use
getAmountOut
|getAmountsOut
.Exact Input: Use
getAmountIn
|getAmountsIn
.Pair Reserves (TVL): Use
getReserves
.
Resources
Last updated