Skip to content

feat: Standardize IOrionStrategists #100

Description

@matteoettam09

For IOrionStrategies Smart contracts, do this:

1: IOrionStrategist is IERC165

2: Add ERC165 implementation to KBestTVL…

3.Check that from offchain you are able to identify the nature of the strategist of a vault, in the case the strategist is a) a normal wallet or a SAFE multisig smart contract and c) an OrionStrategist Smart Contract

Make submitIntent of all orion Strategies permissionless (including KBest…) document in Interface that submitIntent shall be permissionless

Make “function submitIntent(IOrionTransparentVault vault) external onlyOwner {“ also stateless. Remove vault as input, add it as private variable that can be set via a public setter only once (check if the vault address is not zero else fail). setVault here is permissionless as well.

Also modify the https://github.com/OrionFinanceAI/protocol/blob/main/contracts/vaults/OrionVault.sol
to check if the strategist (both at construction and in update strategist) implements the ERC165 interface. If so, call setVault on IOrionStrategist(strategy).setVault(this.address()) something like this.

Orion Strategy shall not implement investmentUniverse, should read it from the config at runtime (try catch already gracefully handles non ERC4626 assets

More Strategists implementations

  • Equal Weight
  • KbestApyWeightedAverage: estimate APY;
  • Same for KBestApyEqualWeightedCurator;

Make these strategies Orion-intents compatible.

Keep in mind the goal of Generative finance: prompt to create orion-compatible smart contract allocation strategy, then pass that as a curator of a vault hiding the map from language to curator strategy, so that UX-wise it's a map from prompt to tokenized allocations strategy:

https://x.com/diogomonica/status/1952768298283683953

Create a vanilla min risk dockerized skfolio one based on RPC data.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions