# Indexer

{% hint style="warning" %}
For reference only, some TODOs, not final version.
{% endhint %}

When implementing and designing the SRC-20 protocol, we also developed an indexer.

## Restrictions

* One mint per block (slot), unless this tick requires a fee.
* Deploy `max` cannot be larger than `210,000,000`

## How we processing mints

```
[Start] --> [Initialize uniqueTransactionsSet]

       +--> [Extract transactionKey]
       |
       +--> [Is transactionKey in uniqueTransactionsSet?]
       |      |
       |      +-- No --[Is block in uniqueTransactionsSet?]
       |             |
       |             +-- No --[Process the transaction]
       |             |    |
       |             |    +-- [Add transactionKey to uniqueTransactionsSet]
       |             |    +-- [Add block to uniqueTransactionsSet]
       |             |
       |             +-- Yes --[Ignore the transaction]
       |
       +-- Yes --[Ignore the transaction]

[End]
```
