Skip to content

Neuralogy/orbal-contracts

Repository files navigation

Orbal Contracts

flowchart TD
    User["User / LP"] -->|"deposit / mint"| Vault["OrbalMainVault<br/>ERC4626 Main Vault"]
    User -->|"withdraw / redeem"| Vault

    Owner["Owner"] -->|"configure settings"| Vault
    Curator["Curator"] -->|"timelocked config"| Vault
    Allocator["Allocator"] -->|"allocate / deallocate"| Vault
    Sentinel["Sentinel"] -->|"deallocate only"| Vault

    Gate["Gate Contracts<br/>send/receive shares/assets"] -.-> Vault

    FeeManager["ProtocolFeeManager"] <-->|"fee config / protocol fee shares"| Vault
    FeeRecipient["Protocol Fee Recipient"] <-->|"fees"| FeeManager

    Vault -->|"allocate / deallocate"| AaveAdapter["AaveV3Adapter"]
    Vault -->|"allocate / deallocate"| MorphoAdapter["MorphoVaultV1Adapter"]
    Vault -->|"allocate / deallocate"| EulerAdapter["EulerVaultAdapter"]
    Vault -->|"allocate / deallocate"| CompoundAdapter["CompoundV3Adapter"]

    AaveAdapter -->|"supply / withdraw"| Aave["Aave V3"]
    MorphoAdapter -->|"deposit / withdraw"| Morpho["Morpho Vault V1"]
    EulerAdapter -->|"deposit / withdraw"| Euler["Euler Vault"]
    CompoundAdapter -->|"supply / withdraw"| Compound["Compound V3"]

    AaveAdapter -->|"realAssets()"| Vault
    MorphoAdapter -->|"realAssets()"| Vault
    EulerAdapter -->|"realAssets()"| Vault
    CompoundAdapter -->|"realAssets()"| Vault
Loading

Usage

Build

$ yarn build

Test

$ yarn test

Deploy

# With verification
forge script script/Deploy.s.sol:Deploy --sig 'run()' \
--chain-id $CHAIN_ID \
--rpc-url $ETH_RPC_URL \
--ledger --hd-paths $HD_PATHS \
--broadcast --ffi -vvvv \
--verifier-url $VERIFIER_URL \
--verifier $VERIFIER \
--verify

forge verify-contract --verifier-url $VERIFIER_URL --verifier $VERIFIER \
0xa7F5444acA60833A84F4816D3447ee10768870f4 \
lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol:TransparentUpgradeableProxy

forge verify-contract --verifier-url $VERIFIER_URL --verifier $VERIFIER \
0x414d754223028edc507f2f68faf5db747cd13cec \
lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol:ProxyAdmin


forge verify-contract --verifier-url $VERIFIER_URL --verifier $VERIFIER \
0x4Bc083Fb6A88D721Ad6C06a32607457749f3933E \
src/Utilizer.sol:Utilizer
# base sepolia
forge script script/Deploy.s.sol:Deploy --sig 'run()' \
--chain-id $CHAIN_ID \
--rpc-url $ETH_RPC_URL \
--private-key $PRIVATE_KEY \
--broadcast --ffi -vvvv \
--verifier-url $VERIFIER_URL \
--verifier $VERIFIER \
--verify

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages