> For the complete documentation index, see [llms.txt](https://tucana-1.gitbook.io/tucana-developer-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tucana-1.gitbook.io/tucana-developer-docs/spot-dex/spot-contract/feature-available/get-position-info.md).

# Get Position Info

## 1. Get position amounts

* **params:**
  * **position\_nft**: the object of the position
* **return:**
  * **amount\_a**: the amount of token a in position.
  * **amount\_b**: the amount of token b in position

<pre class="language-rust"><code class="lang-rust">// tucana_clmm::pool
#[view]
<strong>public fun get_position_amounts(
</strong>    position_nft: Object&#x3C;PositionNft>,
): (u64, u64) acquires Pool {
    ...
}
</code></pre>

## 2. Calculate position fee

* **params:**
  * **position\_nft**: the object of the position
* **return:**
  * **fee\_a**: the fee amount of coin type a.
  * **fee\_b**: the fee amount of coin type b.

```rust
// tucana_clmm::pool
#[view]
public fun calculate_fee(
    position_nft: Object<PositionNft>,
): (u64, u64) acquires Pool {
    ...
}

```

## 3. Get rewards in position

* **params:**
  * **position\_nft**: the object of the position
* **return:**
  * **fee\_a**: the fee amount of coin type a.
  * **fee\_b**: the fee amount of coin type b.

```rust
// tucana_clmm::pool
#[view]
public fun calculate_rewards(
    position_nft: Object<PositionNft>,
): vector<u64> acquires Pool {
    ...
}
```
