aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLeonid Logvinov <logvinov.leon@gmail.com>2017-10-03 21:44:16 +0800
committerLeonid Logvinov <logvinov.leon@gmail.com>2017-10-04 16:14:20 +0800
commit837618c7a016b9b66d70f3c0e9682c97a9d4cf8a (patch)
tree6efd6148ca2128626c6be20d88789530f24e5469 /src
parente6c138be5ab56856a454f7f04b6e1e54f1d41f18 (diff)
downloaddexon-0x-contracts-837618c7a016b9b66d70f3c0e9682c97a9d4cf8a.tar.gz
dexon-0x-contracts-837618c7a016b9b66d70f3c0e9682c97a9d4cf8a.tar.zst
dexon-0x-contracts-837618c7a016b9b66d70f3c0e9682c97a9d4cf8a.zip
Implement zeroEx.exchange.getLogsAsync
Diffstat (limited to 'src')
-rw-r--r--src/contract_wrappers/exchange_wrapper.ts17
-rw-r--r--src/contract_wrappers/token_wrapper.ts9
2 files changed, 26 insertions, 0 deletions
diff --git a/src/contract_wrappers/exchange_wrapper.ts b/src/contract_wrappers/exchange_wrapper.ts
index d02a6e642..78c2f4173 100644
--- a/src/contract_wrappers/exchange_wrapper.ts
+++ b/src/contract_wrappers/exchange_wrapper.ts
@@ -30,6 +30,7 @@ import {
MethodOpts,
ValidateOrderFillableOpts,
OrderTransactionOpts,
+ RawLog,
} from '../types';
import {assert} from '../utils/assert';
import {utils} from '../utils/utils';
@@ -656,6 +657,22 @@ export class ExchangeWrapper extends ContractWrapper {
return eventEmitter;
}
/**
+ * Gets historical logs without creating a subscription
+ * @param eventName The exchange contract event you would like to subscribe to.
+ * @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 `{_from: aUserAddressHex}`
+ * @return Array of logs that match the parameters
+ */
+ public async getLogsAsync(eventName: ExchangeEvents, subscriptionOpts: SubscriptionOpts,
+ indexFilterValues: IndexedFilterValues): Promise<Array<LogWithDecodedArgs|RawLog>> {
+ const exchangeContractAddress = await this.getContractAddressAsync();
+ const logs = await this._getLogsAsync(
+ exchangeContractAddress, eventName, subscriptionOpts, indexFilterValues, artifacts.ExchangeArtifact.abi,
+ );
+ return logs;
+ }
+ /**
* Stops watching for all exchange events
*/
public async stopWatchingAllEventsAsync(): Promise<void> {
diff --git a/src/contract_wrappers/token_wrapper.ts b/src/contract_wrappers/token_wrapper.ts
index b932686d4..175671f74 100644
--- a/src/contract_wrappers/token_wrapper.ts
+++ b/src/contract_wrappers/token_wrapper.ts
@@ -280,6 +280,15 @@ export class TokenWrapper extends ContractWrapper {
this._tokenLogEventEmitters.push(eventEmitter);
return eventEmitter;
}
+ /**
+ * Gets historical logs without creating a subscription
+ * @param tokenAddress An address of the token that emited the logs.
+ * @param eventName The token contract event you would like to subscribe to.
+ * @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 `{_from: aUserAddressHex}`
+ * @return Array of logs that match the parameters
+ */
public async getLogsAsync(tokenAddress: string, eventName: TokenEvents, subscriptionOpts: SubscriptionOpts,
indexFilterValues: IndexedFilterValues): Promise<Array<LogWithDecodedArgs|RawLog>> {
const logs = await this._getLogsAsync(