typescript - Hardhat kullanarak Uniswap V3 üzerinde yeni pozisyon basmak
Yani temelde kendi oluşturduğum bir havuzda bir pozisyon basmaya çalışıyorum.
Havuzu oluşturmak ve başlatmak için:
const factory = await ethers.getContractAt("UniswapV3Factory", factoryAddress)
let poolAddress = await factory.getPool("0x40a42Baf86Fc821f972Ad2aC878729063CeEF403", "0x4bf010f1b9beDA5450a8dD702ED602A104ff65EE", 500);
const pool = await ethers.getContractAt("UniswapV3Pool", poolAddress);
try{
await pool.initialize(BigNumber.from(2).pow(96));
} catch(exception){
console.log("Pool already initialized");
}
Sonra likidite sağlamayı denemek için bunu denedim:
let signer = await ethers.getSigner("0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266");
await pool.connect(signer).mint(signer.address,-20,20,10000000,[]);
Tokenlerin transferinin eksik olduğunu fark ettim (bu mint fonksiyonunun callback'inde gelmesi gerekiyordu) ama bunu nasıl uygulayacağımı bilmiyorum! Herhangi bir fikrin var mı?
Yoksa bu sadece yanlış bir yaklaşım mı ve daha iyi bir yol mu var?