> ## Documentation Index
> Fetch the complete documentation index at: https://xoxno.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Stellar lending storage

> Current controller, pool, and keeper storage keys for Stellar Lending.

Storage keys are defined in `common/src/types/controller.rs` and
`common/src/types/pool.rs`.

## Controller Instance Keys

* `Pool`
* `PoolTemplate`
* `Aggregator`
* `Accumulator`
* `AccountNonce`
* `PositionLimits`
* `AppVersion`
* `MinBorrowCollateralUsd`
* `LastSpokeId`
* `LastHubId`
* `Hub(u32)`
* `PositionManager(Address)`

## Controller Persistent Keys

* `AssetOracle(Address)`
* `Spoke(u32)`
* `SpokeAsset(u32, HubAssetKey)`
* `SpokeUsage(u32, HubAssetKey)`
* `AccountMeta(u64)`
* `Delegates(u64)`
* `SupplyPositions(u64)`
* `BorrowPositions(u64)`

## Pool Persistent Keys

* `Params(HubAssetKey)`
* `State(HubAssetKey)`

## TTL

Contracts renew active keys in-band. The off-chain keeper renews and restores the
configured surface:

* controller and governance instances;
* `AssetOracle(asset)`;
* `Spoke(id)`;
* account keys;
* access-control keys;
* pool `Params/State(HubAssetKey)`;
* instances and WASM code.

Keeper config should use:

```yaml theme={"system"}
contracts:
  markets:
    - hub_id: 1
      asset: C...
```

Do not key pool rows by token address alone; pool rows use `HubAssetKey`.
