Skip to content

Commit ae055bd

Browse files
committed
Merging AleoNetworkClientOptions into ProgramManagerOptions
1 parent d146c23 commit ae055bd

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
@@ -142,6 +142,15 @@ interface ProvingRequestOptions {
142142
unchecked?: boolean;
143143
}
144144

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+
145154
/**
146155
* The ProgramManager class is used to execute and deploy programs on the Aleo network and create value transfers.
147156
*/
@@ -154,25 +163,22 @@ class ProgramManager {
154163

155164
/** Create a new instance of the ProgramManager
156165
*
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
162167
*/
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;
176182
}
177183

178184
/**

sdk/tests/program-manager.test.ts

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

0 commit comments

Comments
 (0)