스왑
DeepBook는 automatic market makers (AMMs)에서 흔히 볼 수 있는 swap-like 인터페이스를 제공한다. order 함수와 달리 swap_exact_amount는 BalanceManager 없이 호출할 수 있다. 대신 Coin objects로 직접 호출한다. base에서 quote로 swap할 때는 base_in이 양수 값이어야 하며 quote_in은 0이어야 한다. quote에서 base로 swap할 때는 quote_in이 양수여야 하고 base_in은 0이어야 한다. trading fees를 지불하기 위해 일정량의 deep_in amount가 필요하다. 이 amount는 더 많이 잡을 수 있으며, 사용되지 않은 DEEP 토큰은 호출이 끝날 때 반환된다.
swap을 시뮬레이션하기 위해 get_amount_out 엔드포인트를 사용할 수 있다. 이 함수는 swap에 필요한 DEEP 토큰의 정확한 amount를 반환한다.
API
다음은 swaps를 위해 Pool이 노출하는 엔드포인트이다.
Swap exact base for quote
balance_manager 없이 정확한 base 수량을 swap한다. DEEP 수량 은 더 많이 잡을 수 있다. 세 개의 Coin objects를 반환한다:
BaseAssetQuoteAssetDEEP
입력 수량이 lot size로 나누어떨어지지 않으면 일부 base 수량이 남을 수 있다.
필요한 DEEP amount는 더 많이 잡을 수 있다. 남은 balance는 반환된다.
packages/deepbook/sources/pool.move. You probably need to run `pnpm prebuild` and restart the site.Swap exact quote for base
balance_manager 없이 정확한 quote 수량을 swap한다. DEEP 수량은 더 많이 잡을 수 있다. 세 개의 Coin objects를 반환한다:
BaseAssetQuoteAssetDEEP
입력 수량이 lot size로 나누어떨어지지 않으면 일부 quote 수량이 남을 수 있다.
packages/deepbook/sources/pool.move. You probably need to run `pnpm prebuild` and restart the site.Swap exact quantity
이 함수는 세 번째 coin에 coin::zero()를 설정한 상태에서 앞의 두 함수가 호출하는 함수이다. base → quote 또는 quote → base에 대해 base나 quote 중 하나가 0 값이면 사용자는 이 함수를 직접 호출할 수 있다.
packages/deepbook/sources/pool.move. You probably need to run `pnpm prebuild` and restart the site.Swap exact base for quote with manager
BalanceManager를 사용하여 정확한 base를 quote로 swap한다. fees가 DEEP으로 지불된다고 가정한다. balance manager에 fees를 위한 충분한 DEEP이 있다고 가정한다. base와 quote인 두 개의 Coin objects를 반환한다.
packages/deepbook/sources/pool.move. You probably need to run `pnpm prebuild` and restart the site.Swap exact quote for base with manager
BalanceManager를 사용하여 정확한 quote를 base로 swap한다. fees가 DEEP으로 지불된다고 가정한다. balance manager에 fees를 위한 충분한 DEEP이 있다고 가정한다. base와 quote인 두 개의 Coin objects를 반환한다.
packages/deepbook/sources/pool.move. You probably need to run `pnpm prebuild` and restart the site.Swap exact quantity with manager
BalanceManager를 사용하여 정확한 수량을 swap한다. 이는 두 manager-based swap 함수가 호출하는 underlying 함수이다. fees가 DEEP으로 지불되고 balance manager에 fees를 위한 충분한 DEEP이 있다고 가정한다. base와 quote인 두 개의 Coin objects를 반환한다.
packages/deepbook/sources/pool.move. You probably need to run `pnpm prebuild` and restart the site.