aboutsummaryrefslogtreecommitdiffstats
path: root/packages/0x.js/src/order_watcher/order_state_watcher.ts
diff options
context:
space:
mode:
authorBrandon Millman <brandon.millman@gmail.com>2017-12-21 08:07:54 +0800
committerBrandon Millman <brandon.millman@gmail.com>2017-12-21 08:07:54 +0800
commit23052a5c2efdb51f8d991a5a3bd77b3c3cdc6a9a (patch)
tree12359f3dbefa5fc1948821ad53f21096730aad9c /packages/0x.js/src/order_watcher/order_state_watcher.ts
parentcb11aec84df346d5180c7d5874859c1c34f0bf1c (diff)
parent42b3a7c9d756dd2c68256707c0c96a95370329bd (diff)
downloaddexon-sol-tools-23052a5c2efdb51f8d991a5a3bd77b3c3cdc6a9a.tar
dexon-sol-tools-23052a5c2efdb51f8d991a5a3bd77b3c3cdc6a9a.tar.gz
dexon-sol-tools-23052a5c2efdb51f8d991a5a3bd77b3c3cdc6a9a.tar.bz2
dexon-sol-tools-23052a5c2efdb51f8d991a5a3bd77b3c3cdc6a9a.tar.lz
dexon-sol-tools-23052a5c2efdb51f8d991a5a3bd77b3c3cdc6a9a.tar.xz
dexon-sol-tools-23052a5c2efdb51f8d991a5a3bd77b3c3cdc6a9a.tar.zst
dexon-sol-tools-23052a5c2efdb51f8d991a5a3bd77b3c3cdc6a9a.zip
Merge branch 'development' into fix/underscorePrivate
* development: (29 commits) Move call to error reporter to end of handler so that even if reporting the error takes a while, it doesn't block the UI Update outdated WETH ranges Fix conditional Fix top-padding Publish Update CHANGELOGs Add slashes to base URLs Fix linter issue Fix WETH symbol Update snapshot and artifacts Replace our EtherTokens with WETH9 from maker Fix test description Fix a typo Add err==null assertions Add WETH9 tests Use the new snapshot including WETH9 and it's artifacts Add WETH9 and mirations Fix WETH events watching Fix a typo Init the _etherTokenContractsByAddress ...
Diffstat (limited to 'packages/0x.js/src/order_watcher/order_state_watcher.ts')
-rw-r--r--packages/0x.js/src/order_watcher/order_state_watcher.ts33
1 files changed, 33 insertions, 0 deletions
diff --git a/packages/0x.js/src/order_watcher/order_state_watcher.ts b/packages/0x.js/src/order_watcher/order_state_watcher.ts
index bba01eb43..b093ba52c 100644
--- a/packages/0x.js/src/order_watcher/order_state_watcher.ts
+++ b/packages/0x.js/src/order_watcher/order_state_watcher.ts
@@ -12,6 +12,8 @@ import {
ApprovalContractEventArgs,
BlockParamLiteral,
ContractEventArgs,
+ DepositContractEventArgs,
+ EtherTokenEvents,
ExchangeContractErrs,
ExchangeEvents,
LogCancelContractEventArgs,
@@ -24,6 +26,7 @@ import {
SignedOrder,
TokenEvents,
TransferContractEventArgs,
+ WithdrawalContractEventArgs,
ZeroExError,
} from '../types';
import {AbiDecoder} from '../utils/abi_decoder';
@@ -243,6 +246,36 @@ export class OrderStateWatcher {
}
break;
}
+ case EtherTokenEvents.Deposit:
+ {
+ // Invalidate cache
+ const args = decodedLog.args as DepositContractEventArgs;
+ this._balanceAndProxyAllowanceLazyStore.deleteBalance(decodedLog.address, args._owner);
+ // Revalidate orders
+ makerToken = decodedLog.address;
+ makerAddress = args._owner;
+ if (!_.isUndefined(this._dependentOrderHashes[makerAddress]) &&
+ !_.isUndefined(this._dependentOrderHashes[makerAddress][makerToken])) {
+ const orderHashes = Array.from(this._dependentOrderHashes[makerAddress][makerToken]);
+ await this._emitRevalidateOrdersAsync(orderHashes);
+ }
+ break;
+ }
+ case EtherTokenEvents.Withdrawal:
+ {
+ // Invalidate cache
+ const args = decodedLog.args as WithdrawalContractEventArgs;
+ this._balanceAndProxyAllowanceLazyStore.deleteBalance(decodedLog.address, args._owner);
+ // Revalidate orders
+ makerToken = decodedLog.address;
+ makerAddress = args._owner;
+ if (!_.isUndefined(this._dependentOrderHashes[makerAddress]) &&
+ !_.isUndefined(this._dependentOrderHashes[makerAddress][makerToken])) {
+ const orderHashes = Array.from(this._dependentOrderHashes[makerAddress][makerToken]);
+ await this._emitRevalidateOrdersAsync(orderHashes);
+ }
+ break;
+ }
case ExchangeEvents.LogFill:
{
// Invalidate cache