diff options
author | Brandon Millman <brandon.millman@gmail.com> | 2017-12-21 08:07:54 +0800 |
---|---|---|
committer | Brandon Millman <brandon.millman@gmail.com> | 2017-12-21 08:07:54 +0800 |
commit | 23052a5c2efdb51f8d991a5a3bd77b3c3cdc6a9a (patch) | |
tree | 12359f3dbefa5fc1948821ad53f21096730aad9c /packages/0x.js/src/order_watcher | |
parent | cb11aec84df346d5180c7d5874859c1c34f0bf1c (diff) | |
parent | 42b3a7c9d756dd2c68256707c0c96a95370329bd (diff) | |
download | dexon-0x-contracts-23052a5c2efdb51f8d991a5a3bd77b3c3cdc6a9a.tar dexon-0x-contracts-23052a5c2efdb51f8d991a5a3bd77b3c3cdc6a9a.tar.gz dexon-0x-contracts-23052a5c2efdb51f8d991a5a3bd77b3c3cdc6a9a.tar.bz2 dexon-0x-contracts-23052a5c2efdb51f8d991a5a3bd77b3c3cdc6a9a.tar.lz dexon-0x-contracts-23052a5c2efdb51f8d991a5a3bd77b3c3cdc6a9a.tar.xz dexon-0x-contracts-23052a5c2efdb51f8d991a5a3bd77b3c3cdc6a9a.tar.zst dexon-0x-contracts-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')
-rw-r--r-- | packages/0x.js/src/order_watcher/order_state_watcher.ts | 33 |
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 |