Customizable on-chain index funds supporting any cryptocurrencies, commodities, equities, forex, and more.
- Diversify your choice of hundreds of global assets and asset classes with ease
- Create public index funds to invest with friends, family, or your community
- Create private index funds to invest personally or deploy unique strategies for clients
- Earn passive income when someone invests in your public index
- Component obfuscation for private index funds (for proprietary strategies)
- Normal DAO management of public indexes (possibly using Soroban Governor)
- ...
- index_fund - A DeFi primitive for diverisified portfolios using a basket of assets
- index_fund_factory - Factory for creating and interacting with Index Fund contracts
- adapter_registry - A registry tracking supported adapters for use with Index Funds
- normal - An adapter for buying and selling long and short Normal tokens via the Normal Treasury
- aquarius - An adapter for swapping tokens using Aquarius AMM pools
- soroswap - An adapter for swapping tokens using the Soroswap AMM Aggregator
- access_control - Handles permissioned access to contracts using role-based authentication
- adapter - Defines the interface adapters must export to work with index funds
- index_access_control - Handles permissioned access to Index Fund contracts using role-based authentication
- token_share - Handles index token utilities
- types - Handles contract types
- upgrade - Handles contract upgrades
- utils - Handles shared types, utils, constants, errors, macros, and more
- Task as task runner
- installed latest Rust version
- soroban cli
git clone [email protected]:normalfinance/normal-index-v1.git
task build
task test
check the Soroban documentation: https://soroban.stellar.org/docs/reference/rpc
- @jblewnormal
- @jaymalve
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- 📧 Email: [email protected]
✈️ Telegram: @normalfinance- 🐣 Twitter: @normalfi
- 🥷🏼 GitHub: @normalfinance
- 👾 Discord: @Normal
- 📚 Docs: @normalfinance
- 🤓 Blog: @normalfinance