pub fn estimate_vault_reward_rate<T, VaultAnnuityInstance, VaultStakingApi, VaultCapacityApi, VaultAnnuityCurrency>(
    vault_id: VaultId<T>
) -> Result<UnsignedFixedPoint, DispatchError>where
    T: Config + Config<UnsignedFixedPoint = UnsignedFixedPoint, Balance = Balance> + Config<UnsignedFixedPoint = UnsignedFixedPoint> + Config<VaultAnnuityInstance, Currency = VaultAnnuityCurrency>,
    VaultStakingApi: RewardsApi<(Option<Nonce>, VaultId<T>), AccountId<T>, Balance, CurrencyId = CurrencyId<T>>,
    VaultCapacityApi: RewardsApi<(), CurrencyId<T>, Balance, CurrencyId = CurrencyId<T>>,
    VaultAnnuityInstance: 'static,
    VaultAnnuityCurrency: Currency<<T as Config>::AccountId, Balance = Balance>,