aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/contract_wrappers/proxy_wrapper.ts10
-rw-r--r--src/types.ts3
2 files changed, 13 insertions, 0 deletions
diff --git a/src/contract_wrappers/proxy_wrapper.ts b/src/contract_wrappers/proxy_wrapper.ts
index 862bce131..f74c145bf 100644
--- a/src/contract_wrappers/proxy_wrapper.ts
+++ b/src/contract_wrappers/proxy_wrapper.ts
@@ -22,6 +22,16 @@ export class ProxyWrapper extends ContractWrapper {
const isAuthorized = await proxyContractInstance.authorized.call(exchangeContractAddress);
return isAuthorized;
}
+ /**
+ * Get the list of all exchange addresses authorized by the Proxy contract.
+ * @param exchangeContractAddress The hex encoded address of the Exchange contract to use.
+ * @return The list of authorized addresses.
+ */
+ public async getAuthorizedAddressesAsync(exchangeContractAddress: string): Promise<string[]> {
+ const proxyContractInstance = await this._getProxyContractAsync();
+ const authorizedAddresses = await proxyContractInstance.getAuthorizedAddresses.call();
+ return authorizedAddresses;
+ }
private async _getProxyContractAsync(): Promise<ProxyContract> {
if (!_.isUndefined(this._proxyContractIfExists)) {
return this._proxyContractIfExists;
diff --git a/src/types.ts b/src/types.ts
index 2af778677..01c22c5ad 100644
--- a/src/types.ts
+++ b/src/types.ts
@@ -149,6 +149,9 @@ export interface EtherTokenContract extends ContractInstance {
}
export interface ProxyContract extends ContractInstance {
+ getAuthorizedAddresses: {
+ call: () => Promise<string[]>;
+ };
authorized: {
call: (address: string) => Promise<boolean>;
};