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