From dacf19ecaeb6a31c2f7d6b19aa6a517328e5d15f Mon Sep 17 00:00:00 2001 From: Leonid Logvinov Date: Mon, 3 Jul 2017 14:48:11 -0700 Subject: Make proxy wrapper public on zeroEx instance --- src/0x.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/0x.ts b/src/0x.ts index b56a2f949..938e61805 100644 --- a/src/0x.ts +++ b/src/0x.ts @@ -52,7 +52,11 @@ export class ZeroEx { * wrapped ETH ERC20 token smart contract. */ public etherToken: EtherTokenWrapper; - private _proxyWrapper: ProxyWrapper; + /** + * An instance of the ProxyWrapper class containing methods for interacting with the + * proxy smart contract. + */ + public proxy: ProxyWrapper; private _web3Wrapper: Web3Wrapper; /** * Verifies that the elliptic curve signature `signature` was generated @@ -150,8 +154,8 @@ export class ZeroEx { constructor(provider: Web3Provider) { this._web3Wrapper = new Web3Wrapper(provider); this.token = new TokenWrapper(this._web3Wrapper); - this._proxyWrapper = new ProxyWrapper(this._web3Wrapper); - this.exchange = new ExchangeWrapper(this._web3Wrapper, this.token, this._proxyWrapper); + this.proxy = new ProxyWrapper(this._web3Wrapper); + this.exchange = new ExchangeWrapper(this._web3Wrapper, this.token, this.proxy); this.tokenRegistry = new TokenRegistryWrapper(this._web3Wrapper); this.etherToken = new EtherTokenWrapper(this._web3Wrapper, this.token); } @@ -165,7 +169,7 @@ export class ZeroEx { await this.exchange.invalidateContractInstancesAsync(); this.tokenRegistry.invalidateContractInstance(); this.token.invalidateContractInstances(); - this._proxyWrapper.invalidateContractInstance(); + this.proxy.invalidateContractInstance(); } /** * Get user Ethereum addresses available through the supplied web3 instance available for sending transactions. -- cgit v1.2.3 From 1275f243a3d2e790919d8dfe09b970d7bce8a0c5 Mon Sep 17 00:00:00 2001 From: Leonid Logvinov Date: Mon, 3 Jul 2017 14:57:40 -0700 Subject: Add zeroEx.proxy.getAuthorizedAddressesAsync and tests --- src/contract_wrappers/proxy_wrapper.ts | 10 ++++++++++ src/types.ts | 3 +++ 2 files changed, 13 insertions(+) (limited to 'src') 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 { + const proxyContractInstance = await this._getProxyContractAsync(); + const authorizedAddresses = await proxyContractInstance.getAuthorizedAddresses.call(); + return authorizedAddresses; + } private async _getProxyContractAsync(): Promise { 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; + }; authorized: { call: (address: string) => Promise; }; -- cgit v1.2.3 From 4633637efe1c44ebccea25fe554c0f125b530097 Mon Sep 17 00:00:00 2001 From: Leonid Logvinov Date: Mon, 3 Jul 2017 16:11:37 -0700 Subject: Fix the comment --- src/contract_wrappers/proxy_wrapper.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/contract_wrappers/proxy_wrapper.ts b/src/contract_wrappers/proxy_wrapper.ts index f74c145bf..bff917eee 100644 --- a/src/contract_wrappers/proxy_wrapper.ts +++ b/src/contract_wrappers/proxy_wrapper.ts @@ -23,7 +23,7 @@ export class ProxyWrapper extends ContractWrapper { return isAuthorized; } /** - * Get the list of all exchange addresses authorized by the Proxy contract. + * Get the list of all Exchange contract addresses authorized by the Proxy contract. * @param exchangeContractAddress The hex encoded address of the Exchange contract to use. * @return The list of authorized addresses. */ -- cgit v1.2.3 From e6fcf9cdbf8b6159a6af2ecc7dfcf8a65ee2d638 Mon Sep 17 00:00:00 2001 From: Leonid Logvinov Date: Mon, 3 Jul 2017 16:24:10 -0700 Subject: Use call instead of use in the comments --- src/contract_wrappers/exchange_wrapper.ts | 8 ++++---- src/contract_wrappers/proxy_wrapper.ts | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/contract_wrappers/exchange_wrapper.ts b/src/contract_wrappers/exchange_wrapper.ts index f596cb429..12c2d7396 100644 --- a/src/contract_wrappers/exchange_wrapper.ts +++ b/src/contract_wrappers/exchange_wrapper.ts @@ -96,7 +96,7 @@ export class ExchangeWrapper extends ContractWrapper { * subtracting the unavailable amount from the total order takerAmount. * @param orderHash The hex encoded orderHash for which you would like to retrieve the * unavailable takerAmount. - * @param exchangeContractAddress The hex encoded address of the Exchange contract to use. + * @param exchangeContractAddress The hex encoded address of the Exchange contract to call. * @return The amount of the order (in taker tokens) that has either been filled or canceled. */ public async getUnavailableTakerAmountAsync(orderHash: string, @@ -112,7 +112,7 @@ export class ExchangeWrapper extends ContractWrapper { /** * Retrieve the takerAmount of an order that has already been filled. * @param orderHash The hex encoded orderHash for which you would like to retrieve the filled takerAmount. - * @param exchangeContractAddress The hex encoded address of the Exchange contract to use. + * @param exchangeContractAddress The hex encoded address of the Exchange contract to call. * @return The amount of the order (in taker tokens) that has already been filled. */ public async getFilledTakerAmountAsync(orderHash: string, @@ -129,7 +129,7 @@ export class ExchangeWrapper extends ContractWrapper { * Retrieve the takerAmount of an order that has been cancelled. * @param orderHash The hex encoded orderHash for which you would like to retrieve the * cancelled takerAmount. - * @param exchangeContractAddress The hex encoded address of the Exchange contract to use. + * @param exchangeContractAddress The hex encoded address of the Exchange contract to call. * @return The amount of the order (in taker tokens) that has been cancelled. */ public async getCanceledTakerAmountAsync(orderHash: string, @@ -575,7 +575,7 @@ export class ExchangeWrapper extends ContractWrapper { * @param subscriptionOpts Subscriptions options that let you configure the subscription. * @param indexFilterValues An object where the keys are indexed args returned by the event and * the value is the value you are interested in. E.g `{maker: aUserAddressHex}` - * @param exchangeContractAddress The hex encoded address of the Exchange contract to use. + * @param exchangeContractAddress The hex encoded address of the Exchange contract to call. * @return ContractEventEmitter object */ public async subscribeAsync(eventName: ExchangeEvents, subscriptionOpts: SubscriptionOpts, diff --git a/src/contract_wrappers/proxy_wrapper.ts b/src/contract_wrappers/proxy_wrapper.ts index bff917eee..bdf163f35 100644 --- a/src/contract_wrappers/proxy_wrapper.ts +++ b/src/contract_wrappers/proxy_wrapper.ts @@ -14,7 +14,7 @@ export class ProxyWrapper extends ContractWrapper { } /** * Check if the Exchange contract address is authorized by the Proxy contract. - * @param exchangeContractAddress The hex encoded address of the Exchange contract to use. + * @param exchangeContractAddress The hex encoded address of the Exchange contract to call. * @return Whether the exchangeContractAddress is authorized. */ public async isAuthorizedAsync(exchangeContractAddress: string): Promise { @@ -24,7 +24,7 @@ export class ProxyWrapper extends ContractWrapper { } /** * Get the list of all Exchange contract addresses authorized by the Proxy contract. - * @param exchangeContractAddress The hex encoded address of the Exchange contract to use. + * @param exchangeContractAddress The hex encoded address of the Exchange contract to call. * @return The list of authorized addresses. */ public async getAuthorizedAddressesAsync(exchangeContractAddress: string): Promise { -- cgit v1.2.3