> For the complete documentation index, see [llms.txt](https://asagaia.gitbook.io/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://asagaia.gitbook.io/documentation/1xmm-project/api/1xmm-token/public-methods/read.md).

# Read

<details>

<summary>ApprovedTokens</summary>

```solidity
ApprovedTokens() returns(address[])
```

Returns the list of tokens which can be exchanged against 1XMM, directly via the smart contract.

</details>

<details>

<summary>ETHDepositIsAllowed</summary>

```solidity
ETHDepositIsAllowed() returns(bool)
```

Returns whether deposits of ETH against 1XMM is allowed or not.

</details>

<details>

<summary>ETHExchangeIsAllowed</summary>

```solidity
ETHExchangeIsAllowed() returns(bool)
```

Returns whether it is allowed to exchange 1XMM tokens against ETH, directly via the smart contract.

</details>

<details>

<summary>EthExchangeRate</summary>

```solidity
EthExchangeRate() returns(uint64)
```

Returns the exchange ETH/1XMM rate for users who want to convert their 1XMM tokens into ETH.

<mark style="color:orange;">The rate is provided in basis points (bp)</mark>

</details>

<details>

<summary>allowance</summary>

```solidity
allowance(address owner, address spender) returns(uint256)
```

Returns the allowance provided by `owner` to `spender` .

</details>

<details>

<summary>availableTokens</summary>

```solidity
availableTokens() returns(uint256)
```

Returns the number of 1XMM tokens which have not been allocated yet.

`availableTokens = cap() - totalSupply()`

</details>

<details>

<summary>balanceOf</summary>

```solidity
balanceOf(address account) returns(uint256)
```

Returns the number of 1XMM tokens held by `account` .

<mark style="color:orange;">1XMM has 18 decimals</mark>

</details>

<details>

<summary>cap</summary>

```solidity
cap() returns(uint256)
```

Returns the maximum number of tokens which can be allocated. When tokens are burnt, cap is decreased and can never be increased again.

</details>

<details>

<summary>decimals</summary>

```solidity
decimals() returns(uint8)
```

Returns the number of decimals used by 1XMM tokens; decimals field is immutable and always equal to 18.

</details>

<details>

<summary>getApprovedTokens</summary>

```solidity
getApprovedTokens returns(address[])
```

Returns the list of tokens which have been approved for exchange against 1XMM tokens.

</details>

<details>

<summary>getAvailableQuantityOfETH</summary>

```solidity
getAvailableQuantityOfETH() returns(uint256)
```

Returns the amount of ETH which is available for exchange against 1XMM tokens, at ***ETHExchangeRate*** price.

</details>

<details>

<summary>getAvailableQuantityOfToken</summary>

```solidity
getAvailableQuantityOfToken(address tokenToBeReceived) returns(uint256 availableQuantity)
```

Returns the amount of `tokenToBeReceived` which are available for exchange against 1XMM tokens, at ***rate*** price.

</details>

<details>

<summary>getCCIPAdmin</summary>

```solidity
getCCIPAdmin() returns(address)
```

Returns the address of the ChainLink CCIPAdmin in charge of cross-chain transfers for 1XMM tokens.

</details>

<details>

<summary>getExchangeInfoForToken</summary>

```solidity
getExchangeInfoForToken(address tokenToBeReceived) returns (bool isAllowed, uint64 rate) 
```

Returns the exchange status for `tokenToBeReceived` against 1XMM tokens, and the `rate` of exchange. If `isAllowed` is false, exchange of `tokenToBeReceived` against 1XMM is not possible, even if a ***rate*** is indicated.

</details>

<details>

<summary>getReleasableAmount</summary>

```solidity
getReleasableAmount() returns(uint256 releasableAmt)
```

Returns the amount of vested tokens owned by `msg.sender` which are available for trading.

</details>

<details>

<summary>getRemainingVestedAmount</summary>

```solidity
getRemainingVestedAmount() returns(uint256 remainingVestedAmt)
```

Returns the amount of 1XMM tokens which are still vested.

</details>

<details>

<summary>owner</summary>

```solidity
owner() returns(address)
```

Returns the address of the 1XMM contract owner.

</details>

<details>

<summary>totalSupply</summary>

```solidity
totalSupply() returns(uint256)
```

Returns the amount of 1XMM tokens which have been allocated.

</details>
