> For the complete documentation index, see [llms.txt](https://docs.inceptionlrt.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.inceptionlrt.com/developers/modules/shared-utilities.md).

# Shared Utilities

The project does not include a centralized Solidity library for common utilities. Instead, shared functionality is embedded within module-specific folders (e.g., `interfaces/`, `adapters/`, `handlers/`). A small number of scripting utilities also support off-chain operations.

## TypeScript Utility

#### `read-json-files.ts`

* Located in `projects/common/`
* Likely used for reading config or deployment files (e.g., address mappings, JSON ABIs).
* Intended to support scripting environments, not used in on-chain logic.

## Interface and Utility Spread

* Interface contracts like `IVault`, `IAdapter`, and `IRateProvider` are placed in their respective module folders.
* Access control, math operations, and upgradeability are handled via OpenZeppelin contracts imported directly in each Solidity module.

## Notes

* Solidity-based shared logic is modular but not centralized.
* Developers should reference the interface folders in each module for integration points.
* External utility libraries (e.g., OpenZeppelin) are used instead of reimplementing core features.
