포지션의 수수료 수취하기

판게아의 포지션에서 벌어들인 수수료를 수취하는 예제입니다.

import { ethers } from "ethers";
import {BigNumber} from "@ethersproject/bignumber";

/// concentrated Liquidity Pool Manager의 주소 (네트워크 별로 맞추어 지정)
const poolManagerAddress = "0xEd52BD01b0608a6B6d4f4E03aFfCe16c1FF19c23";

/// web3 Provider (metamask provider / jsonRPC provider 등)
const provider = ethers.getDefaultProvider();

// 포지션에서 수수료 수취하기
async function collect(
    tokenId:number,  // tokenId
    recipient:string // 수취받을 계정
) {
      const poolManager = await ConcentratedLiquidityPoolManager__factory.connect(
            positionManagerAddress, provider
      );
      
      const tx = await poolManager.collect(
            tokenId,
            recipient,
            false // unwrap, wklay를 klay로 받고 싶은 경우에만 true
      );
      await tx.wait();
}yp

Last updated