@@ -145,6 +145,15 @@ interface ProvingRequestOptions {
145
145
edition ?: number ,
146
146
}
147
147
148
+ /**
149
+ * @property { FunctionKeyProvider | undefined } [params.keyProvider] A key provider that implements {@link FunctionKeyProvider} interface
150
+ * @property { RecordProvider | undefined } [params.recordProvider] A record provider that implements {@link RecordProvider} interface
151
+ */
152
+ interface ProgramManagerOptions extends AleoNetworkClientOptions {
153
+ keyProvider ?: FunctionKeyProvider | undefined ,
154
+ recordProvider ?: RecordProvider | undefined ,
155
+ }
156
+
148
157
/**
149
158
* The ProgramManager class is used to execute and deploy programs on the Aleo network and create value transfers.
150
159
*/
@@ -157,25 +166,22 @@ class ProgramManager {
157
166
158
167
/** Create a new instance of the ProgramManager
159
168
*
160
- * @param {Object } [params]
161
- * @param { string | undefined } [params.host] A host uri running the official Aleo API
162
- * @param { FunctionKeyProvider | undefined } [params.keyProvider] A key provider that implements {@link FunctionKeyProvider} interface
163
- * @param { RecordProvider | undefined } [params.recordProvider] A record provider that implements {@link RecordProvider} interface
164
- * @param {AleoNetworkClientOptions } [params.networkClientOptions]
169
+ * @param {Object } ProgramManagerOptions
165
170
*/
166
- constructor ( params : {
167
- host ?: string | undefined ,
168
- keyProvider ?: FunctionKeyProvider | undefined ,
169
- recordProvider ?: RecordProvider | undefined ,
170
- networkClientOptions ?: Omit < AleoNetworkClientOptions , "host" > | undefined ,
171
- } = { } ) {
172
- const { host, keyProvider, recordProvider, networkClientOptions } = params ;
173
-
174
- this . host = host ? host : "https://api.explorer.provable.com/v1" ;
175
- this . networkClient = new AleoNetworkClient ( { ...networkClientOptions , host : this . host } ) ;
176
-
177
- this . keyProvider = keyProvider ? keyProvider : new AleoKeyProvider ( ) ;
178
- this . recordProvider = recordProvider ;
171
+ constructor ( params ?: ProgramManagerOptions ) {
172
+ if ( params == null ) {
173
+ params = { } as ProgramManagerOptions ;
174
+ }
175
+
176
+ if ( params . host == null ) {
177
+ params . host = "https://api.explorer.provable.com/v1" ;
178
+ }
179
+
180
+ this . host = params . host ;
181
+ this . networkClient = new AleoNetworkClient ( params ) ;
182
+
183
+ this . keyProvider = params . keyProvider ? params . keyProvider : new AleoKeyProvider ( ) ;
184
+ this . recordProvider = params . recordProvider ;
179
185
}
180
186
181
187
/**
0 commit comments