aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Hysen <greg.hysen@gmail.com>2018-07-16 23:11:14 +0800
committerGreg Hysen <greg.hysen@gmail.com>2018-07-18 21:52:14 +0800
commite1a9f3435f2527fcf38e68c5749bfddf1ba3b37d (patch)
treeb75b219da2f95246ecc8719d226b2ad90883f579
parent9f74feb3475b14ebdf2a0b312856fc927f91b6ab (diff)
downloaddexon-sol-tools-e1a9f3435f2527fcf38e68c5749bfddf1ba3b37d.tar
dexon-sol-tools-e1a9f3435f2527fcf38e68c5749bfddf1ba3b37d.tar.gz
dexon-sol-tools-e1a9f3435f2527fcf38e68c5749bfddf1ba3b37d.tar.bz2
dexon-sol-tools-e1a9f3435f2527fcf38e68c5749bfddf1ba3b37d.tar.lz
dexon-sol-tools-e1a9f3435f2527fcf38e68c5749bfddf1ba3b37d.tar.xz
dexon-sol-tools-e1a9f3435f2527fcf38e68c5749bfddf1ba3b37d.tar.zst
dexon-sol-tools-e1a9f3435f2527fcf38e68c5749bfddf1ba3b37d.zip
Removed receiverData from ERC721 Proxy Id generation
-rw-r--r--packages/contracts/src/2.0.0/forwarder/MixinForwarderCore.sol2
-rw-r--r--packages/contracts/src/2.0.0/forwarder/MixinTransfer.sol6
-rw-r--r--packages/contracts/src/2.0.0/protocol/AssetProxy/ERC721Proxy.sol2
-rw-r--r--packages/contracts/test/asset_proxy/proxies.ts4
-rw-r--r--packages/migrations/src/utils/constants.ts2
-rw-r--r--packages/order-utils/src/asset_data_utils.ts10
-rw-r--r--packages/types/src/index.ts3
7 files changed, 12 insertions, 17 deletions
diff --git a/packages/contracts/src/2.0.0/forwarder/MixinForwarderCore.sol b/packages/contracts/src/2.0.0/forwarder/MixinForwarderCore.sol
index eadeaf5ba..cb0ed5422 100644
--- a/packages/contracts/src/2.0.0/forwarder/MixinForwarderCore.sol
+++ b/packages/contracts/src/2.0.0/forwarder/MixinForwarderCore.sol
@@ -40,7 +40,7 @@ contract MixinForwarderCore is
MForwarderCore
{
bytes4 constant internal ERC20_DATA_ID = bytes4(keccak256("ERC20Token(address)"));
- bytes4 constant internal ERC721_DATA_ID = bytes4(keccak256("ERC721Token(address,uint256,bytes)"));
+ bytes4 constant internal ERC721_DATA_ID = bytes4(keccak256("ERC721Token(address,uint256)"));
uint256 constant internal MAX_UINT = 2**256 - 1;
constructor ()
diff --git a/packages/contracts/src/2.0.0/forwarder/MixinTransfer.sol b/packages/contracts/src/2.0.0/forwarder/MixinTransfer.sol
index 6c49330f2..bebfc976b 100644
--- a/packages/contracts/src/2.0.0/forwarder/MixinTransfer.sol
+++ b/packages/contracts/src/2.0.0/forwarder/MixinTransfer.sol
@@ -109,12 +109,10 @@ contract MixinTransfer is
// Decode asset data.
address token = assetData.readAddress(16);
uint256 tokenId = assetData.readUint256(36);
- bytes memory receiverData = assetData.readBytesWithLength(100);
- IERC721Token(token).safeTransferFrom(
+ IERC721Token(token).transferFrom(
address(this),
to,
- tokenId,
- receiverData
+ tokenId
);
}
}
diff --git a/packages/contracts/src/2.0.0/protocol/AssetProxy/ERC721Proxy.sol b/packages/contracts/src/2.0.0/protocol/AssetProxy/ERC721Proxy.sol
index a56c41adb..53f5a14e0 100644
--- a/packages/contracts/src/2.0.0/protocol/AssetProxy/ERC721Proxy.sol
+++ b/packages/contracts/src/2.0.0/protocol/AssetProxy/ERC721Proxy.sol
@@ -26,7 +26,7 @@ contract ERC721Proxy is
MixinAuthorizable
{
// Id of this proxy.
- bytes4 constant internal PROXY_ID = bytes4(keccak256("ERC721Token(address,uint256,bytes)"));
+ bytes4 constant internal PROXY_ID = bytes4(keccak256("ERC721Token(address,uint256)"));
// solhint-disable-next-line payable-fallback
function ()
diff --git a/packages/contracts/test/asset_proxy/proxies.ts b/packages/contracts/test/asset_proxy/proxies.ts
index 281f3bf27..1a24ee0b6 100644
--- a/packages/contracts/test/asset_proxy/proxies.ts
+++ b/packages/contracts/test/asset_proxy/proxies.ts
@@ -377,9 +377,9 @@ describe('Asset Transfer Proxies', () => {
});
});
- it('should have an id of 0x08e937fa', async () => {
+ it('should have an id of 0x02571792', async () => {
const proxyId = await erc721Proxy.getProxyId.callAsync();
- const expectedProxyId = '0x08e937fa';
+ const expectedProxyId = '0x02571792';
expect(proxyId).to.equal(expectedProxyId);
});
});
diff --git a/packages/migrations/src/utils/constants.ts b/packages/migrations/src/utils/constants.ts
index 068122e28..53ce2f5f1 100644
--- a/packages/migrations/src/utils/constants.ts
+++ b/packages/migrations/src/utils/constants.ts
@@ -9,7 +9,7 @@ export const constants = {
ASSET_PROXY_OWNER_TIMELOCK: new BigNumber(0),
ASSET_PROXY_OWNER_CONFIRMATIONS: new BigNumber(1),
ERC20_PROXY_ID: '0xf47261b0',
- ERC721_PROXY_ID: '0x08e937fa',
+ ERC721_PROXY_ID: '0x02571792',
NULL_ADDRESS: '0x0000000000000000000000000000000000000000',
RPC_URL: 'http://localhost:8545',
KOVAN_NETWORK_ID: 42,
diff --git a/packages/order-utils/src/asset_data_utils.ts b/packages/order-utils/src/asset_data_utils.ts
index cb02d7d42..2b6d44227 100644
--- a/packages/order-utils/src/asset_data_utils.ts
+++ b/packages/order-utils/src/asset_data_utils.ts
@@ -50,14 +50,13 @@ export const assetDataUtils = {
* @param tokenId The ERC721 tokenId to encode
* @return The hex encoded assetData string
*/
- encodeERC721AssetData(tokenAddress: string, tokenId: BigNumber, receiverData?: string): string {
+ encodeERC721AssetData(tokenAddress: string, tokenId: BigNumber): string {
// TODO: Pass `tokendId` as a BigNumber.
return ethUtil.bufferToHex(
ethAbi.simpleEncode(
- 'ERC721Token(address,uint256,bytes)',
+ 'ERC721Token(address,uint256)',
tokenAddress,
`0x${tokenId.toString(constants.BASE_16)}`,
- ethUtil.toBuffer(receiverData || '0x'),
),
);
},
@@ -83,15 +82,14 @@ export const assetDataUtils = {
}), but got ${assetProxyId}`,
);
}
- const [tokenAddress, tokenId, receiverData] = ethAbi.rawDecode(
- ['address', 'uint256', 'bytes'],
+ const [tokenAddress, tokenId] = ethAbi.rawDecode(
+ ['address', 'uint256'],
data.slice(constants.SELECTOR_LENGTH),
);
return {
assetProxyId,
tokenAddress: ethUtil.addHexPrefix(tokenAddress),
tokenId: new BigNumber(tokenId.toString()),
- receiverData: ethUtil.bufferToHex(receiverData),
};
},
/**
diff --git a/packages/types/src/index.ts b/packages/types/src/index.ts
index 72e2a726b..19f2b1a23 100644
--- a/packages/types/src/index.ts
+++ b/packages/types/src/index.ts
@@ -159,7 +159,7 @@ export interface ECSignature {
export enum AssetProxyId {
ERC20 = '0xf47261b0',
- ERC721 = '0x08e937fa',
+ ERC721 = '0x02571792',
}
export interface ERC20AssetData {
@@ -171,7 +171,6 @@ export interface ERC721AssetData {
assetProxyId: string;
tokenAddress: string;
tokenId: BigNumber;
- receiverData: string;
}
export enum RevertReason {