PoolLogger

Overview

컨트랙트에서는 주요 트랜잭션이 발생할 때 이벤트(event) 정보를 별도로 발행합니다. 판게아의 풀에서도 아래의 주요 트랜잭션이 발생할 때에 이벤트를 발행합니다.

  • 스왑이 발생한 경우

  • 유동성이 추가되거나 제거된 경우

  • 수수료를 수취하는 경우

  • 플래시론이 발생하는 경우

이 이벤트들은 Pool 컨트랙트가 직접 발행하는 것이 아니라 Pool Logger컨트랙트에 위임하여 발행하도록 설계하였습니다.

Pool Logger는 판게아 컨트랙트들의 데이터 허브같은 역할을 수행합니다. Pool Logger 컨트랙트를 통해 각각의 컨트랙트를 모두 확인하지 않아도 모든 거래들을 쉽게 추적할 수 있습니다.

더 나아가, 판게아의 Pool Logger는 upgradable하게 설계되어 있어 이후 오라클과 같은 기능이 필요해질 경우 풀을 수정할 필요 없이 Pool Logger를 개선하여 반영할 수 있습니다.

Events

Burn

event Burn(address indexed pool, int24 lower, int24 upper, uint256 amount0, uint256 amount1, uint256 liquidity)

Collect

event Collect(address indexed pool, uint256 amount0, uint256 amount1)

Create

event Create(address indexed pool, address token0, address token1, uint24 swapFee, uint160 price, uint24 tickSpacing)

Flash

event Flash(address indexed pool, address indexed sender, uint256 amount0, uint256 amount1, uint256 paid0, uint256 paid1)

Mint

event Mint(address indexed pool, int24 lower, int24 upper, uint256 amount0, uint256 amount1, uint256 liquidity)

Swap

event Swap(address indexed pool, bool zeroForOne, uint256 amountIn, uint256 amountOut)

Last updated