# ImmutableArrayGetter

Facilitates storing the BP binIds and ratios as immutables which avoids storage operations when minting/burning BP positions.

### State Variables <a href="#state-variables" id="state-variables"></a>

#### \_binCount <a href="#bincount" id="bincount"></a>

```solidity
uint8 private immutable _binCount;
```

#### binIds12345678 <a href="#binids12345678" id="binids12345678"></a>

```solidity
bytes32 private immutable binIds12345678;
```

#### binIds910111213141516 <a href="#binids910111213141516" id="binids910111213141516"></a>

```solidity
bytes32 private immutable binIds910111213141516;
```

#### binIds1718192021222324 <a href="#binids1718192021222324" id="binids1718192021222324"></a>

```solidity
bytes32 private immutable binIds1718192021222324;
```

#### ratios12 <a href="#ratios12" id="ratios12"></a>

```solidity
bytes32 private immutable ratios12;
```

#### ratios34 <a href="#ratios34" id="ratios34"></a>

```solidity
bytes32 private immutable ratios34;
```

#### ratios56 <a href="#ratios56" id="ratios56"></a>

```solidity
bytes32 private immutable ratios56;
```

#### ratios78 <a href="#ratios78" id="ratios78"></a>

```solidity
bytes32 private immutable ratios78;
```

#### ratios910 <a href="#ratios910" id="ratios910"></a>

```solidity
bytes32 private immutable ratios910;
```

#### ratios1112 <a href="#ratios1112" id="ratios1112"></a>

```solidity
bytes32 private immutable ratios1112;
```

#### ratios1314 <a href="#ratios1314" id="ratios1314"></a>

```solidity
bytes32 private immutable ratios1314;
```

#### ratios1516 <a href="#ratios1516" id="ratios1516"></a>

```solidity
bytes32 private immutable ratios1516;
```

#### ratios1718 <a href="#ratios1718" id="ratios1718"></a>

```solidity
bytes32 private immutable ratios1718;
```

#### ratios1920 <a href="#ratios1920" id="ratios1920"></a>

```solidity
bytes32 private immutable ratios1920;
```

#### ratios2122 <a href="#ratios2122" id="ratios2122"></a>

```solidity
bytes32 private immutable ratios2122;
```

#### ratios2324 <a href="#ratios2324" id="ratios2324"></a>

```solidity
bytes32 private immutable ratios2324;
```

### Functions <a href="#functions" id="functions"></a>

#### constructor <a href="#constructor" id="constructor"></a>

```solidity
constructor(uint8 binCount_, bytes32[3] memory binIds, bytes32[12] memory ratios);
```

#### \_getBinIds <a href="#getbinids" id="getbinids"></a>

```solidity
function _getBinIds() internal view returns (uint32[] memory binIds_);
```

#### \_getRatios <a href="#getratios" id="getratios"></a>

```solidity
function _getRatios() internal view returns (uint128[] memory ratios_);
```

#### \_getRatio <a href="#getratio" id="getratio"></a>

```solidity
function _getRatio(uint256 index) private view returns (uint128 value);
```

#### \_getRatioBytes <a href="#getratiobytes" id="getratiobytes"></a>

```solidity
function _getRatioBytes(uint256 index) private view returns (bytes32 ratiosBytes);
```

#### \_getBinId <a href="#getbinid" id="getbinid"></a>

```solidity
function _getBinId(uint256 index) internal view returns (uint32 value);
```

#### \_getBinIdBytes <a href="#getbinidbytes" id="getbinidbytes"></a>

```solidity
function _getBinIdBytes(uint256 index) private view returns (bytes32 binIdBytes);
```

<br>
