Skip to content

docs: initial managed vault specs#52

Merged
johnletey merged 20 commits intonoble-assets:managed-vaultfrom
iqlusioninc:zaki/managed-vault-spec
Sep 25, 2025
Merged

docs: initial managed vault specs#52
johnletey merged 20 commits intonoble-assets:managed-vaultfrom
iqlusioninc:zaki/managed-vault-spec

Conversation

@zmanian
Copy link
Copy Markdown

@zmanian zmanian commented Aug 12, 2025

Initial spec for the managed vault.

This pull request introduces comprehensive documentation for the Vaults V2 system, covering its architecture, state management, and supported query endpoints. The changes provide a clear overview of the multi-chain yield optimization approach, detail the on-chain state structures, and specify the API for interacting with the vaults. The documentation is organized into three new spec files: an overview, state definitions, and query endpoints.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Aug 12, 2025

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@zmanian
Copy link
Copy Markdown
Author

zmanian commented Aug 14, 2025

Two things we need add to the spec.

Yield accounting to mNAV

    1. We need to account for yield accrued to funds that that despoiled but not distributed.
    1. We need to account for yield accrued to funds that are part of the exit queue.

Explain NAV accounting for inflight funds. Reference comes from the larger PR.

@zmanian
Copy link
Copy Markdown
Author

zmanian commented Aug 14, 2025

Update the spec to only have one v2 vault.

Unique authority for the dollar vault.

@zmanian
Copy link
Copy Markdown
Author

zmanian commented Aug 14, 2025

Specify a mechanism for rotating the manager.

Remove IBC from the spec for now.

Comment thread spec/vaults-v2/00_overview.md Outdated
Comment thread spec/vaults-v2/00_overview.md Outdated
Comment thread spec/vaults-v2/00_overview.md Outdated
Comment thread spec/vaults-v2/00_overview.md Outdated
Comment thread spec/vaults-v2/00_overview.md Outdated
Comment thread spec/vaults-v2/00_overview.md Outdated
Comment thread spec/vaults-v2/00_overview.md
Comment thread spec/vaults-v2/00_overview.md
Comment thread spec/vaults-v2/00_overview.md
Comment thread spec/vaults-v2/00_overview.md
Comment thread spec/vaults-v2/00_overview.md Outdated
Comment thread spec/vaults-v2/00_overview.md
Comment on lines +151 to +153
- **Concentration Limits**: No single position > X% of total vault
- **Chain Limits**: Maximum exposure per blockchain
- **Approved Vaults Only**: Only deploy to pre-approved vault addresses
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are this limits managed by the vault manager or the noble authority?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does the Noble team have a preference for who gets to approve the deployment addresses?

In most systems we've built we have had a dual control mechanism where the customer or another party is involved in decisions to add or remove targe positions.

I think it's a good pattern but NASD or Noble authority could work here.

Comment thread spec/vaults-v2/00_overview.md
Comment thread spec/vaults-v2/00_overview.md Outdated
Comment thread spec/vaults-v2/00_overview.md Outdated
Comment thread spec/vaults-v2/00_overview.md Outdated
zmanian and others added 5 commits August 21, 2025 10:07
Comment thread spec/vaults-v2/00_overview.md Outdated
Comment thread spec/vaults-v2/00_overview.md Outdated
Comment thread spec/vaults-v2/00_overview.md Outdated
Comment thread spec/vaults-v2/00_overview.md Outdated
Comment thread spec/vaults-v2/00_overview.md Outdated
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file looks fine for now but would like to make sure it stays up-to-date with any changes made as we finalize the Protobuf definitions in the following PR 😄

Comment thread spec/vaults-v2/02_messages_vaults_v2.md Outdated
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment thread spec/vaults-v2/03_queries_vaults_v2.md Outdated
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think overall this is a good start, but would like to remove anything unneeded that comes up during development. We should optimize for sending as few bytes over the wire as possible 😄

zmanian and others added 8 commits August 26, 2025 18:11
Co-authored-by: John Letey <j@letey.de>
Co-authored-by: John Letey <j@letey.de>
Co-authored-by: John Letey <j@letey.de>
Co-authored-by: John Letey <j@letey.de>
Co-authored-by: John Letey <j@letey.de>
Co-authored-by: John Letey <j@letey.de>
Co-authored-by: John Letey <j@letey.de>
Copy link
Copy Markdown
Member

@johnletey johnletey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Merging this into the feature branch, will revisit in a follow on PR if this differs from the actual implementation!

@johnletey johnletey changed the title Initial spec PR docs: initial managed vault specs Sep 25, 2025
@johnletey johnletey merged commit 57388fe into noble-assets:managed-vault Sep 25, 2025
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants