That time DevUtils wouldn't die (#97)

* `@0x/contracts-utils`: Allow for excess return data in `LibERC20TokenV06` compat* functions

* `@0x/contracts-zero-ex`: Add DevUtils-like functions to `NativeOrdersFeature`

* `@0x/contract-artifacts`: Update IZeroEx artifact

* `@0x/contract-wrappers`: Update IZeroExContract wrapper

* `@0x/contracts-zero-ex`: Address review feedback

* `@0x/contracts-utils`: Add `LibSafeMathV06.safeDowncastToUint128()`

* `@0x/contracts-zero-ex`: Fix changelog and add cancelled get relevant state tests

* `@0x/contracts-utils`: Fix changelog

Co-authored-by: Lawrence Forman <me@merklejerk.com>
This commit is contained in:
Lawrence Forman
2021-01-04 17:52:29 -05:00
committed by GitHub
parent 1249bf9ccc
commit 5083fab06a
13 changed files with 1671 additions and 14 deletions

View File

@@ -118,7 +118,7 @@ library LibERC20TokenV06 {
{
tokenDecimals = 18;
(bool didSucceed, bytes memory resultData) = address(token).staticcall(DECIMALS_CALL_DATA);
if (didSucceed && resultData.length == 32) {
if (didSucceed && resultData.length >= 32) {
tokenDecimals = uint8(LibBytesV06.readUint256(resultData, 0));
}
}
@@ -141,7 +141,7 @@ library LibERC20TokenV06 {
spender
)
);
if (didSucceed && resultData.length == 32) {
if (didSucceed && resultData.length >= 32) {
allowance_ = LibBytesV06.readUint256(resultData, 0);
}
}
@@ -162,7 +162,7 @@ library LibERC20TokenV06 {
owner
)
);
if (didSucceed && resultData.length == 32) {
if (didSucceed && resultData.length >= 32) {
balance = LibBytesV06.readUint256(resultData, 0);
}
}
@@ -180,7 +180,7 @@ library LibERC20TokenV06 {
if (resultData.length == 0) {
return true;
}
if (resultData.length == 32) {
if (resultData.length >= 32) {
uint256 result = LibBytesV06.readUint256(resultData, 0);
if (result == 1) {
return true;