diff options
author | Fabio Berger <me@fabioberger.com> | 2018-07-14 01:44:21 +0800 |
---|---|---|
committer | Fabio Berger <me@fabioberger.com> | 2018-07-14 01:44:21 +0800 |
commit | ced68e4e022eb1020a4d15ab9a64552b4f92744a (patch) | |
tree | 0e8daaea34e7aa7339ea2961bf7de664d60f434d /packages/order-watcher/src/order_watcher | |
parent | 9b387b8ec3c543b5c96d1887550797a2bb90fe94 (diff) | |
download | dexon-0x-contracts-ced68e4e022eb1020a4d15ab9a64552b4f92744a.tar dexon-0x-contracts-ced68e4e022eb1020a4d15ab9a64552b4f92744a.tar.gz dexon-0x-contracts-ced68e4e022eb1020a4d15ab9a64552b4f92744a.tar.bz2 dexon-0x-contracts-ced68e4e022eb1020a4d15ab9a64552b4f92744a.tar.lz dexon-0x-contracts-ced68e4e022eb1020a4d15ab9a64552b4f92744a.tar.xz dexon-0x-contracts-ced68e4e022eb1020a4d15ab9a64552b4f92744a.tar.zst dexon-0x-contracts-ced68e4e022eb1020a4d15ab9a64552b4f92744a.zip |
Expose Blockstreams blockRetention config as an OrderWatcher config
Diffstat (limited to 'packages/order-watcher/src/order_watcher')
-rw-r--r-- | packages/order-watcher/src/order_watcher/event_watcher.ts | 6 | ||||
-rw-r--r-- | packages/order-watcher/src/order_watcher/order_watcher.ts | 4 |
2 files changed, 9 insertions, 1 deletions
diff --git a/packages/order-watcher/src/order_watcher/event_watcher.ts b/packages/order-watcher/src/order_watcher/event_watcher.ts index 08ecf81cb..38ba8101e 100644 --- a/packages/order-watcher/src/order_watcher/event_watcher.ts +++ b/packages/order-watcher/src/order_watcher/event_watcher.ts @@ -27,13 +27,16 @@ export class EventWatcher { private _pollingIntervalMs: number; private _stateLayer: BlockParamLiteral; private _isVerbose: boolean; + private _blockRetention: number; constructor( web3Wrapper: Web3Wrapper, pollingIntervalIfExistsMs: undefined | number, stateLayer: BlockParamLiteral = BlockParamLiteral.Latest, + blockRetention: number, isVerbose: boolean, ) { this._isVerbose = isVerbose; + this._blockRetention = blockRetention; this._web3Wrapper = web3Wrapper; this._stateLayer = stateLayer; this._pollingIntervalMs = _.isUndefined(pollingIntervalIfExistsMs) @@ -69,6 +72,9 @@ export class EventWatcher { this._web3Wrapper.getBlockAsync.bind(this._web3Wrapper, this._stateLayer), this._web3Wrapper.getLogsAsync.bind(this._web3Wrapper, eventFilter), this._onBlockAndLogStreamerError.bind(this), + { + blockRetention: this._blockRetention, + }, ); const catchAllLogFilter = {}; this._blockAndLogStreamerIfExists.addLogFilter(catchAllLogFilter); diff --git a/packages/order-watcher/src/order_watcher/order_watcher.ts b/packages/order-watcher/src/order_watcher/order_watcher.ts index b09ba8d9d..2fe012593 100644 --- a/packages/order-watcher/src/order_watcher/order_watcher.ts +++ b/packages/order-watcher/src/order_watcher/order_watcher.ts @@ -61,6 +61,7 @@ interface OrderStateByOrderHash { // tslint:disable-next-line:custom-no-magic-numbers const DEFAULT_CLEANUP_JOB_INTERVAL_MS = 1000 * 60 * 60; // 1h +const DEFAULT_BLOCK_RETENTION = 100; /** * This class includes all the functionality related to watching a set of orders @@ -94,7 +95,8 @@ export class OrderWatcher { const stateLayer = _.isUndefined(config) || _.isUndefined(config.stateLayer) ? BlockParamLiteral.Latest : config.stateLayer; const isVerbose = !_.isUndefined(config) && !_.isUndefined(config.isVerbose) ? config.isVerbose : false; - this._eventWatcher = new EventWatcher(this._web3Wrapper, pollingIntervalIfExistsMs, stateLayer, isVerbose); + const blockRetention = !_.isUndefined(config) && !_.isUndefined(config.blockRetention) ? config.blockRetention : DEFAULT_BLOCK_RETENTION; + this._eventWatcher = new EventWatcher(this._web3Wrapper, pollingIntervalIfExistsMs, stateLayer, blockRetention, isVerbose); this._balanceAndProxyAllowanceLazyStore = new BalanceAndProxyAllowanceLazyStore( this._contractWrappers.token, stateLayer, |