aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabio Berger <me@fabioberger.com>2018-06-01 07:12:56 +0800
committerFabio Berger <me@fabioberger.com>2018-06-01 07:12:56 +0800
commitf0473b03207da4d25139967702d47d44e00d499c (patch)
tree0a3bf19119c47e3a90afb83f8182e017021fba2e
parentfcc627e6e1b99cd9536fc7b97b45e61897ee11b6 (diff)
downloaddexon-sol-tools-f0473b03207da4d25139967702d47d44e00d499c.tar
dexon-sol-tools-f0473b03207da4d25139967702d47d44e00d499c.tar.gz
dexon-sol-tools-f0473b03207da4d25139967702d47d44e00d499c.tar.bz2
dexon-sol-tools-f0473b03207da4d25139967702d47d44e00d499c.tar.lz
dexon-sol-tools-f0473b03207da4d25139967702d47d44e00d499c.tar.xz
dexon-sol-tools-f0473b03207da4d25139967702d47d44e00d499c.tar.zst
dexon-sol-tools-f0473b03207da4d25139967702d47d44e00d499c.zip
Fix metadata offsets
-rw-r--r--packages/order-utils/src/asset_proxy_utils.ts12
1 files changed, 7 insertions, 5 deletions
diff --git a/packages/order-utils/src/asset_proxy_utils.ts b/packages/order-utils/src/asset_proxy_utils.ts
index 5a084deba..55f2d56df 100644
--- a/packages/order-utils/src/asset_proxy_utils.ts
+++ b/packages/order-utils/src/asset_proxy_utils.ts
@@ -3,8 +3,8 @@ import { BigNumber } from '@0xproject/utils';
import BN = require('bn.js');
import ethUtil = require('ethereumjs-util');
-const ERC20_PROXY_METADATA_BYTE_LENGTH = 20;
-const ERC721_PROXY_METADATA_BYTE_LENGTH = 52;
+const ERC20_PROXY_METADATA_BYTE_LENGTH = 21;
+const ERC721_PROXY_METADATA_BYTE_LENGTH = 53;
export const assetProxyUtils = {
encodeAssetProxyId(assetProxyId: AssetProxyId): Buffer {
@@ -65,7 +65,8 @@ export const assetProxyUtils = {
}), but got ${assetProxyId}`,
);
}
- const encodedTokenAddress = encodedProxyMetadata.slice(0, ERC20_PROXY_METADATA_BYTE_LENGTH);
+ const addressOffset = ERC20_PROXY_METADATA_BYTE_LENGTH - 1;
+ const encodedTokenAddress = encodedProxyMetadata.slice(0, addressOffset);
const tokenAddress = assetProxyUtils.decodeAddress(encodedTokenAddress);
const erc20ProxyData = {
assetProxyId,
@@ -99,10 +100,11 @@ export const assetProxyUtils = {
}), but got ${assetProxyId}`,
);
}
- const addressOffset = 20;
+ const addressOffset = ERC20_PROXY_METADATA_BYTE_LENGTH - 1;
const encodedTokenAddress = encodedProxyMetadata.slice(0, addressOffset);
const tokenAddress = assetProxyUtils.decodeAddress(encodedTokenAddress);
- const encodedTokenId = encodedProxyMetadata.slice(addressOffset, ERC721_PROXY_METADATA_BYTE_LENGTH);
+ const tokenIdOffset = ERC721_PROXY_METADATA_BYTE_LENGTH - 1;
+ const encodedTokenId = encodedProxyMetadata.slice(addressOffset, tokenIdOffset);
const tokenId = assetProxyUtils.decodeUint256(encodedTokenId);
const erc721ProxyData = {
assetProxyId,