Fix error were object could be undefined given an approval event

This commit is contained in:
Jacob Evans
2019-03-13 22:41:35 +01:00
parent af04c294b9
commit f2857452e3
2 changed files with 12 additions and 3 deletions

View File

@@ -5,6 +5,9 @@
{
"note": "Update websocket from ^1.0.25 to ^1.0.26",
"pr": 1685
},
{
"note": "Fix issue where ERC721 Approval events could cause a lookup on undefined object"
}
]
},

View File

@@ -37,9 +37,15 @@ export class DependentOrderHashesTracker {
this._zrxTokenAddress = zrxTokenAddress;
}
public getDependentOrderHashesByERC721ByMaker(makerAddress: string, tokenAddress: string): string[] {
const orderHashSets = _.values(
this._orderHashesByERC721AddressByTokenIdByMakerAddress[makerAddress][tokenAddress],
);
let orderHashSets: Array<Set<string>> = [];
if (
this._orderHashesByERC721AddressByTokenIdByMakerAddress[makerAddress] &&
this._orderHashesByERC721AddressByTokenIdByMakerAddress[makerAddress][tokenAddress]
) {
orderHashSets = _.values(
this._orderHashesByERC721AddressByTokenIdByMakerAddress[makerAddress][tokenAddress],
);
}
const orderHashList = _.reduce(
orderHashSets,
(accumulator, orderHashSet) => [...accumulator, ...orderHashSet],