@@ -18,6 +18,7 @@ import {
1818 AssetProvider ,
1919 Cardano ,
2020 ChainHistoryProvider ,
21+ DRepProvider ,
2122 HandleProvider ,
2223 NetworkInfoProvider ,
2324 ProviderFactory ,
@@ -39,6 +40,7 @@ import {
3940 BlockfrostAssetProvider ,
4041 BlockfrostChainHistoryProvider ,
4142 BlockfrostClient ,
43+ BlockfrostDRepProvider ,
4244 BlockfrostNetworkInfoProvider ,
4345 BlockfrostRewardsProvider ,
4446 BlockfrostTxSubmitProvider ,
@@ -81,6 +83,7 @@ export type CreateKeyAgent = (dependencies: KeyAgentDependencies) => Promise<Asy
8183export const keyManagementFactory = new ProviderFactory < CreateKeyAgent > ( ) ;
8284export const assetProviderFactory = new ProviderFactory < AssetProvider > ( ) ;
8385export const chainHistoryProviderFactory = new ProviderFactory < ChainHistoryProvider > ( ) ;
86+ export const drepProviderFactory = new ProviderFactory < DRepProvider > ( ) ;
8487export const networkInfoProviderFactory = new ProviderFactory < NetworkInfoProvider > ( ) ;
8588export const rewardsProviderFactory = new ProviderFactory < RewardsProvider > ( ) ;
8689export const txSubmitProviderFactory = new ProviderFactory < TxSubmitProvider > ( ) ;
@@ -181,6 +184,19 @@ chainHistoryProviderFactory.register(BLOCKFROST_PROVIDER, async (params: any, lo
181184 } ) ;
182185} ) ;
183186
187+ drepProviderFactory . register ( BLOCKFROST_PROVIDER , async ( params : any , logger ) : Promise < DRepProvider > => {
188+ if ( params . baseUrl === undefined ) throw new Error ( `${ BlockfrostDRepProvider . name } : ${ MISSING_URL_PARAM } ` ) ;
189+
190+ return new Promise < DRepProvider > ( async ( resolve ) => {
191+ resolve (
192+ new BlockfrostDRepProvider (
193+ new BlockfrostClient ( { baseUrl : params . baseUrl } , { rateLimiter : { schedule : ( task ) => task ( ) } } ) ,
194+ logger
195+ )
196+ ) ;
197+ } ) ;
198+ } ) ;
199+
184200networkInfoProviderFactory . register (
185201 HTTP_PROVIDER ,
186202 async ( params : any , logger : Logger ) : Promise < NetworkInfoProvider > => {
@@ -483,6 +499,11 @@ export const getWallet = async (props: GetWalletProps) => {
483499 env . TEST_CLIENT_CHAIN_HISTORY_PROVIDER_PARAMS ,
484500 logger
485501 ) ,
502+ drepProvider : await drepProviderFactory . create (
503+ env . TEST_CLIENT_DREP_PROVIDER ,
504+ env . TEST_CLIENT_DREP_PROVIDER_PARAMS ,
505+ logger
506+ ) ,
486507 handleProvider : await handleProviderFactory . create (
487508 env . TEST_CLIENT_HANDLE_PROVIDER ,
488509 env . TEST_CLIENT_HANDLE_PROVIDER_PARAMS ,
@@ -571,6 +592,11 @@ export const getSharedWallet = async (props: GetSharedWalletProps) => {
571592 env . TEST_CLIENT_CHAIN_HISTORY_PROVIDER_PARAMS ,
572593 logger
573594 ) ,
595+ drepProvider : await drepProviderFactory . create (
596+ env . TEST_CLIENT_DREP_PROVIDER ,
597+ env . TEST_CLIENT_DREP_PROVIDER_PARAMS ,
598+ logger
599+ ) ,
574600 handleProvider : await handleProviderFactory . create (
575601 env . TEST_CLIENT_HANDLE_PROVIDER ,
576602 env . TEST_CLIENT_HANDLE_PROVIDER_PARAMS ,
0 commit comments