aboutsummaryrefslogtreecommitdiffstats
path: root/packages/contracts/src/contracts/current/protocol/AssetProxy/ERC20Proxy.sol
diff options
context:
space:
mode:
Diffstat (limited to 'packages/contracts/src/contracts/current/protocol/AssetProxy/ERC20Proxy.sol')
-rw-r--r--packages/contracts/src/contracts/current/protocol/AssetProxy/ERC20Proxy.sol37
1 files changed, 1 insertions, 36 deletions
diff --git a/packages/contracts/src/contracts/current/protocol/AssetProxy/ERC20Proxy.sol b/packages/contracts/src/contracts/current/protocol/AssetProxy/ERC20Proxy.sol
index dd25bf41a..ddcd78e93 100644
--- a/packages/contracts/src/contracts/current/protocol/AssetProxy/ERC20Proxy.sol
+++ b/packages/contracts/src/contracts/current/protocol/AssetProxy/ERC20Proxy.sol
@@ -47,16 +47,7 @@ contract ERC20Proxy is
internal
{
// Decode asset data.
- (
- uint8 proxyId,
- address token
- ) = decodeERC20AssetData(assetData);
-
- // Data must be intended for this proxy.
- require(
- proxyId == PROXY_ID,
- ASSET_PROXY_ID_MISMATCH
- );
+ address token = readAddress(assetData, 0);
// Transfer tokens.
bool success = IERC20Token(token).transferFrom(from, to, amount);
@@ -75,30 +66,4 @@ contract ERC20Proxy is
{
return PROXY_ID;
}
-
- /// @dev Decodes ERC20 Asset data.
- /// @param assetData Encoded byte array.
- /// @return proxyId Intended ERC20 proxy id.
- /// @return token ERC20 token address.
- function decodeERC20AssetData(bytes memory assetData)
- internal
- pure
- returns (
- uint8 proxyId,
- address token
- )
- {
- // Validate encoded data length
- uint256 length = assetData.length;
- require(
- length == 21,
- LENGTH_21_REQUIRED
- );
-
- // Decode data
- token = readAddress(assetData, 0);
- proxyId = uint8(assetData[length - 1]);
-
- return (proxyId, token);
- }
}