@@ -70,6 +70,15 @@ interface ExecuteOptions {
7070 imports ?: ProgramImports ;
7171}
7272
73+ /**
74+ * @property { FunctionKeyProvider | undefined } [params.keyProvider] A key provider that implements {@link FunctionKeyProvider} interface
75+ * @property { RecordProvider | undefined } [params.recordProvider] A record provider that implements {@link RecordProvider} interface
76+ */
77+ interface ProgramManagerOptions extends AleoNetworkClientOptions {
78+ keyProvider ?: FunctionKeyProvider | undefined ,
79+ recordProvider ?: RecordProvider | undefined ,
80+ }
81+
7382/**
7483 * The ProgramManager class is used to execute and deploy programs on the Aleo network and create value transfers.
7584 */
@@ -82,25 +91,22 @@ class ProgramManager {
8291
8392 /** Create a new instance of the ProgramManager
8493 *
85- * @param {Object } [params]
86- * @param { string | undefined } [params.host] A host uri running the official Aleo API
87- * @param { FunctionKeyProvider | undefined } [params.keyProvider] A key provider that implements {@link FunctionKeyProvider} interface
88- * @param { RecordProvider | undefined } [params.recordProvider] A record provider that implements {@link RecordProvider} interface
89- * @param {AleoNetworkClientOptions } [params.networkClientOptions]
94+ * @param {Object } ProgramManagerOptions
9095 */
91- constructor ( params : {
92- host ?: string | undefined ,
93- keyProvider ?: FunctionKeyProvider | undefined ,
94- recordProvider ?: RecordProvider | undefined ,
95- networkClientOptions ?: Omit < AleoNetworkClientOptions , "host" > | undefined ,
96- } = { } ) {
97- const { host, keyProvider, recordProvider, networkClientOptions } = params ;
98-
99- this . host = host ? host : "https://api.explorer.provable.com/v1" ;
100- this . networkClient = new AleoNetworkClient ( { ...networkClientOptions , host : this . host } ) ;
101-
102- this . keyProvider = keyProvider ? keyProvider : new AleoKeyProvider ( ) ;
103- this . recordProvider = recordProvider ;
96+ constructor ( params ?: ProgramManagerOptions ) {
97+ if ( params == null ) {
98+ params = { } as ProgramManagerOptions ;
99+ }
100+
101+ if ( params . host == null ) {
102+ params . host = "https://api.explorer.provable.com/v1" ;
103+ }
104+
105+ this . host = params . host ;
106+ this . networkClient = new AleoNetworkClient ( params ) ;
107+
108+ this . keyProvider = params . keyProvider ? params . keyProvider : new AleoKeyProvider ( ) ;
109+ this . recordProvider = params . recordProvider ;
104110 }
105111
106112 /**
0 commit comments