# `Rujira`
[🔗](https://github.com/RujiraNetwork/rujira_ex/blob/v0.0.1/lib/rujira.ex#L1)

Domain library for Rujira.

Provides shared types, query APIs, and event parsing for the Rujira
DeFi suite built on Cosmos/THORChain.

## Modules

- `Rujira.Amount` — integer amounts normalized to 8 decimal places
- `Rujira.Assets` — blockchain asset resolution across 20+ chains
- `Rujira.Coin` — asset + amount pairs
- `Rujira.Contracts` — CosmWasm contract queries
- `Rujira.Deployments` — on-chain contract registry resolved live from THORChain
- `Rujira.Events` — generic multi-protocol event parser
- `Rujira.Fin` — FIN DEX query API (pairs, orders, ranges)
- `Rujira.Math` — decimal arithmetic and numeric parsing
- `Rujira.Node` — pluggable gRPC node abstraction
- `Rujira.Prices` — pluggable price provider

## Configuration

    config :rujira_ex,
      node: MyApp.Node,
      prices: Rujira.Prices.Default,
      cache_ttl: 15_000

# `cache_ttl`

```elixir
@spec cache_ttl() :: non_neg_integer()
```

Returns the global cache TTL in milliseconds.

Used by all `defmemo` calls with expiration. Configurable via:

    config :rujira_ex, cache_ttl: 15_000

Defaults to 15 seconds. Set to 0 to disable expiration.

---

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