# Open Position

## 1 Open Position

### 1.1 Function params

* **account**: the signer of the user.
* **pool**: the pool object.
* **tick\_lower**: the lower tick index for the pool.
* **tick\_upper**: the upper tick index for the pool.

### 1.2 Function

```rust
// tucana_clmm::router
public entry fun open_position(
    account: &signer,
    pool: Object<Pool>,
    tick_lower: u32,
    tick_upper: u32,
)
```

## 2 Open Position With Liquidity With All

### 1.1 Function params

* **account**: the signer of the user.
* **pool**: the pool object.
* **tick\_lower**: the lower tick index for the pool.
* **tick\_upper**: the upper tick index for the pool.
* **amount\_a**: the amount of coin a will be remove.
* **amount\_b:** the amount of coin  b will be remove.
* **fix\_amount\_a**: if true, fix the amount of coin a, then remove liquidity. the amount of coin b will be auto calculate by amount a and position tick range and liquidity.

### 1.2 Function

<pre class="language-rust"><code class="lang-rust">// tucana_clmm::router
<strong>public entry fun open_position_with_liquidity_with_all(
</strong>    account: &#x26;signer,
    pool: Object&#x3C;Pool>,
    tick_lower: u32,
    tick_upper: u32,
    amount_a: u64,
    amount_b: u64,
    fix_amount_a: bool,
)

</code></pre>

