# ramp\_A

{% hint style="warning" %}
This entrypoint should be called only by `admin` address.
{% endhint %}

This entrypoint is designed to ramping the "A" constant, allowing to change "flattiness" of swap function.&#x20;

### How to set `A` constant?

`A` constant set to contract in precalculated invariant value as

$$A\_{storage} = A \* n^{n-1}$$

so, if you want to set `A` correctly you should keep it in mind.

### Call parameters

<table><thead><tr><th width="150">Field</th><th width="150" align="center">Type</th><th width="448.2">Description</th></tr></thead><tbody><tr><td>pool_id</td><td align="center"><code>pool_id_t</code></td><td>pool identifier.</td></tr><tr><td>future_A</td><td align="center"><code>nat</code></td><td>the target value of "A" constant.</td></tr><tr><td>future_time</td><td align="center"><code>timestamp</code></td><td>timestamp when ramping should be finished.</td></tr></tbody></table>

```pascaligo
type ramp_a_param_t     is [@layout:comb] record [
  pool_id                 : nat; 
  future_A                : nat;
  future_time             : timestamp;
]
```
