# `Cartouche`
[🔗](https://github.com/zenhive/cartouche/blob/main/lib/cartouche.ex#L1)

Cartouche is a library for interacting with private keys, signatures, and Etheruem.

# `address`

```elixir
@type address() :: &lt;&lt;_::160&gt;&gt;
```

# `bytes32`

```elixir
@type bytes32() :: &lt;&lt;_::256&gt;&gt;
```

# `contract`

```elixir
@type contract() :: address() | atom()
```

# `signature`

```elixir
@type signature() :: &lt;&lt;_::520&gt;&gt;
```

# `get_contract_address`

```elixir
@spec get_contract_address(binary() | atom()) :: address()
```

Returns a contract address, that may have been set in configuration.

## Examples

    iex> Cartouche.get_contract_address(<<1::160>>)
    <<1::160>>

    iex> Cartouche.get_contract_address("0x0000000000000000000000000000000000000001")
    <<1::160>>

    iex> Application.put_env(:cartouche, :contracts, [test: "0x0000000000000000000000000000000000000001"])
    iex> Cartouche.get_contract_address(:test)
    <<1::160>>

---

*Consult [api-reference.md](api-reference.md) for complete listing*
