Skip to content

Commit 57a306d

Browse files
committed
Merging AleoNetworkClientOptions into ProgramManagerOptions
1 parent 33b498c commit 57a306d

File tree

3 files changed

+27
-25
lines changed

3 files changed

+27
-25
lines changed

docs/api_reference/sdk-src_program-manager.md

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,13 @@ The ProgramManager class is used to execute and deploy programs on the Aleo netw
1313
## Constructors
1414

1515

16-
### `ProgramManager(params)`
16+
### `ProgramManager(ProgramManagerOptions)`
1717

1818
Create a new instance of the ProgramManager
1919

2020
Parameters | Type | Description
2121
--- | --- | ---
22-
__params__ | `Object` | **
23-
__params.host__ | `string` | *A host uri running the official Aleo API*
24-
__params.keyProvider__ | `FunctionKeyProvider` | *A key provider that implements {@link FunctionKeyProvider} interface*
25-
__params.recordProvider__ | `RecordProvider` | *A record provider that implements {@link RecordProvider} interface*
26-
__params.networkClientOptions__ | `AleoNetworkClientOptions` | **
22+
__ProgramManagerOptions__ | `Object` | **
2723

2824
---
2925

sdk/src/program-manager.ts

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,15 @@ interface ProvingRequestOptions {
145145
edition?: number,
146146
}
147147

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+
148157
/**
149158
* The ProgramManager class is used to execute and deploy programs on the Aleo network and create value transfers.
150159
*/
@@ -157,25 +166,22 @@ class ProgramManager {
157166

158167
/** Create a new instance of the ProgramManager
159168
*
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
165170
*/
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;
179185
}
180186

181187
/**

sdk/tests/program-manager.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ describe('Program Manager', async () => {
5050
it('should have the specified headers when instantiated', async () => {
5151
const newProgramManager = new ProgramManager({
5252
host: "https://api.explorer.provable.com/v1",
53-
networkClientOptions: { headers: {'X-Test-Header': 'programManager'} },
53+
headers: {'X-Test-Header': 'programManager'},
5454
});
5555
expect(Object.keys(newProgramManager.networkClient.headers).length).equal(1);
5656
expect(newProgramManager.networkClient.headers['X-Test-Header']).equal('programManager');

0 commit comments

Comments
 (0)