[testnet-faucets] update to v2
This commit is contained in:
parent
174b360593
commit
db6ddc0c4b
@ -17,7 +17,7 @@
|
|||||||
"author": "Fabio Berger",
|
"author": "Fabio Berger",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"0x.js": "0.38.5",
|
"0x.js": "1.0.1",
|
||||||
"@0xproject/subproviders": "^2.0.2",
|
"@0xproject/subproviders": "^2.0.2",
|
||||||
"@0xproject/typescript-typings": "^2.0.0",
|
"@0xproject/typescript-typings": "^2.0.0",
|
||||||
"@0xproject/utils": "^1.0.8",
|
"@0xproject/utils": "^1.0.8",
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
import { ZeroEx } from '0x.js';
|
import { ERC20TokenWrapper } from '0x.js';
|
||||||
import { BigNumber, logUtils } from '@0xproject/utils';
|
import { BigNumber, logUtils } from '@0xproject/utils';
|
||||||
import { Web3Wrapper } from '@0xproject/web3-wrapper';
|
import { Web3Wrapper } from '@0xproject/web3-wrapper';
|
||||||
import * as _ from 'lodash';
|
import * as _ from 'lodash';
|
||||||
|
|
||||||
import { configs } from './configs';
|
import { configs } from './configs';
|
||||||
|
import { TOKENS_BY_NETWORK } from './tokens';
|
||||||
|
|
||||||
const DISPENSE_AMOUNT_ETHER = 0.1;
|
const DISPENSE_AMOUNT_ETHER = 0.1;
|
||||||
const DISPENSE_AMOUNT_TOKEN = 0.1;
|
const DISPENSE_AMOUNT_TOKEN = 1;
|
||||||
const DISPENSE_MAX_AMOUNT_TOKEN = 2;
|
const DISPENSE_MAX_AMOUNT_TOKEN = 100;
|
||||||
const DISPENSE_MAX_AMOUNT_ETHER = 2;
|
const DISPENSE_MAX_AMOUNT_ETHER = 2;
|
||||||
|
|
||||||
type AsyncTask = () => Promise<void>;
|
type AsyncTask = () => Promise<void>;
|
||||||
@ -32,17 +33,22 @@ export const dispenseAssetTasks = {
|
|||||||
logUtils.log(`Sent ${DISPENSE_AMOUNT_ETHER} ETH to ${recipientAddress} tx: ${txHash}`);
|
logUtils.log(`Sent ${DISPENSE_AMOUNT_ETHER} ETH to ${recipientAddress} tx: ${txHash}`);
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
dispenseTokenTask(recipientAddress: string, tokenSymbol: string, zeroEx: ZeroEx): AsyncTask {
|
dispenseTokenTask(
|
||||||
|
recipientAddress: string,
|
||||||
|
tokenSymbol: string,
|
||||||
|
networkId: number,
|
||||||
|
erc20TokenWrapper: ERC20TokenWrapper,
|
||||||
|
): AsyncTask {
|
||||||
return async () => {
|
return async () => {
|
||||||
logUtils.log(`Processing ${tokenSymbol} ${recipientAddress}`);
|
logUtils.log(`Processing ${tokenSymbol} ${recipientAddress}`);
|
||||||
const amountToDispense = new BigNumber(DISPENSE_AMOUNT_TOKEN);
|
const amountToDispense = new BigNumber(DISPENSE_AMOUNT_TOKEN);
|
||||||
const token = await zeroEx.tokenRegistry.getTokenBySymbolIfExistsAsync(tokenSymbol);
|
const token = TOKENS_BY_NETWORK[networkId][tokenSymbol];
|
||||||
if (_.isUndefined(token)) {
|
if (_.isUndefined(token)) {
|
||||||
throw new Error(`Unsupported asset type: ${tokenSymbol}`);
|
throw new Error(`Unsupported asset type: ${tokenSymbol}`);
|
||||||
}
|
}
|
||||||
const baseUnitAmount = ZeroEx.toBaseUnitAmount(amountToDispense, token.decimals);
|
const baseUnitAmount = Web3Wrapper.toBaseUnitAmount(amountToDispense, token.decimals);
|
||||||
const userBalanceBaseUnits = await zeroEx.token.getBalanceAsync(token.address, recipientAddress);
|
const userBalanceBaseUnits = await erc20TokenWrapper.getBalanceAsync(token.address, recipientAddress);
|
||||||
const maxAmountBaseUnits = ZeroEx.toBaseUnitAmount(
|
const maxAmountBaseUnits = Web3Wrapper.toBaseUnitAmount(
|
||||||
new BigNumber(DISPENSE_MAX_AMOUNT_TOKEN),
|
new BigNumber(DISPENSE_MAX_AMOUNT_TOKEN),
|
||||||
token.decimals,
|
token.decimals,
|
||||||
);
|
);
|
||||||
@ -52,13 +58,13 @@ export const dispenseAssetTasks = {
|
|||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const txHash = await zeroEx.token.transferAsync(
|
const txHash = await erc20TokenWrapper.transferAsync(
|
||||||
token.address,
|
token.address,
|
||||||
configs.DISPENSER_ADDRESS,
|
configs.DISPENSER_ADDRESS,
|
||||||
recipientAddress,
|
recipientAddress,
|
||||||
baseUnitAmount,
|
baseUnitAmount,
|
||||||
);
|
);
|
||||||
logUtils.log(`Sent ${amountToDispense} ZRX to ${recipientAddress} tx: ${txHash}`);
|
logUtils.log(`Sent ${amountToDispense} ${tokenSymbol} to ${recipientAddress} tx: ${txHash}`);
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -1,27 +1,35 @@
|
|||||||
import { Order, ZeroEx } from '0x.js';
|
import {
|
||||||
import { BigNumber, logUtils } from '@0xproject/utils';
|
assetDataUtils,
|
||||||
|
BigNumber,
|
||||||
|
ContractWrappers,
|
||||||
|
generatePseudoRandomSalt,
|
||||||
|
Order,
|
||||||
|
orderHashUtils,
|
||||||
|
Provider,
|
||||||
|
RPCSubprovider,
|
||||||
|
signatureUtils,
|
||||||
|
SignedOrder,
|
||||||
|
SignerType,
|
||||||
|
Web3ProviderEngine,
|
||||||
|
} from '0x.js';
|
||||||
|
import { NonceTrackerSubprovider, PrivateKeyWalletSubprovider } from '@0xproject/subproviders';
|
||||||
|
import { logUtils } from '@0xproject/utils';
|
||||||
import { Web3Wrapper } from '@0xproject/web3-wrapper';
|
import { Web3Wrapper } from '@0xproject/web3-wrapper';
|
||||||
import { Provider } from 'ethereum-types';
|
|
||||||
import * as express from 'express';
|
import * as express from 'express';
|
||||||
import * as _ from 'lodash';
|
import * as _ from 'lodash';
|
||||||
|
|
||||||
import {
|
|
||||||
NonceTrackerSubprovider,
|
|
||||||
PrivateKeyWalletSubprovider,
|
|
||||||
RPCSubprovider,
|
|
||||||
Web3ProviderEngine,
|
|
||||||
} from '@0xproject/subproviders';
|
|
||||||
|
|
||||||
import { configs } from './configs';
|
import { configs } from './configs';
|
||||||
import { constants } from './constants';
|
import { constants } from './constants';
|
||||||
import { DispatchQueue } from './dispatch_queue';
|
import { DispatchQueue } from './dispatch_queue';
|
||||||
import { dispenseAssetTasks } from './dispense_asset_tasks';
|
import { dispenseAssetTasks } from './dispense_asset_tasks';
|
||||||
import { rpcUrls } from './rpc_urls';
|
import { rpcUrls } from './rpc_urls';
|
||||||
|
import { TOKENS_BY_NETWORK } from './tokens';
|
||||||
|
|
||||||
interface NetworkConfig {
|
interface NetworkConfig {
|
||||||
dispatchQueue: DispatchQueue;
|
dispatchQueue: DispatchQueue;
|
||||||
web3Wrapper: Web3Wrapper;
|
web3Wrapper: Web3Wrapper;
|
||||||
zeroEx: ZeroEx;
|
contractWrappers: ContractWrappers;
|
||||||
|
networkId: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface ItemByNetworkId<T> {
|
interface ItemByNetworkId<T> {
|
||||||
@ -35,6 +43,9 @@ enum RequestedAssetType {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const FIVE_DAYS_IN_MS = 4.32e8; // TODO: make this configurable
|
const FIVE_DAYS_IN_MS = 4.32e8; // TODO: make this configurable
|
||||||
|
const NULL_ADDRESS = '0x0000000000000000000000000000000000000000';
|
||||||
|
const ZERO = new BigNumber(0);
|
||||||
|
const ASSET_AMOUNT = new BigNumber(0.1);
|
||||||
|
|
||||||
export class Handler {
|
export class Handler {
|
||||||
private readonly _networkConfigByNetworkId: ItemByNetworkId<NetworkConfig> = {};
|
private readonly _networkConfigByNetworkId: ItemByNetworkId<NetworkConfig> = {};
|
||||||
@ -50,18 +61,18 @@ export class Handler {
|
|||||||
return engine;
|
return engine;
|
||||||
}
|
}
|
||||||
constructor() {
|
constructor() {
|
||||||
_.forIn(rpcUrls, (rpcUrl: string, networkId: string) => {
|
_.forIn(rpcUrls, (rpcUrl: string, networkIdString: string) => {
|
||||||
const providerObj = Handler._createProviderEngine(rpcUrl);
|
const providerObj = Handler._createProviderEngine(rpcUrl);
|
||||||
const web3Wrapper = new Web3Wrapper(providerObj);
|
const web3Wrapper = new Web3Wrapper(providerObj);
|
||||||
const zeroExConfig = {
|
// tslint:disable-next-line:custom-no-magic-numbers
|
||||||
networkId: +networkId,
|
const networkId = parseInt(networkIdString, 10);
|
||||||
};
|
const contractWrappers = new ContractWrappers(providerObj, { networkId });
|
||||||
const zeroEx = new ZeroEx(providerObj, zeroExConfig);
|
|
||||||
const dispatchQueue = new DispatchQueue();
|
const dispatchQueue = new DispatchQueue();
|
||||||
this._networkConfigByNetworkId[networkId] = {
|
this._networkConfigByNetworkId[networkId] = {
|
||||||
dispatchQueue,
|
dispatchQueue,
|
||||||
web3Wrapper,
|
web3Wrapper,
|
||||||
zeroEx,
|
contractWrappers,
|
||||||
|
networkId,
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -107,7 +118,8 @@ export class Handler {
|
|||||||
dispenserTask = dispenseAssetTasks.dispenseTokenTask(
|
dispenserTask = dispenseAssetTasks.dispenseTokenTask(
|
||||||
recipient,
|
recipient,
|
||||||
requestedAssetType,
|
requestedAssetType,
|
||||||
networkConfig.zeroEx,
|
networkConfig.networkId,
|
||||||
|
networkConfig.contractWrappers.erc20Token,
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -131,39 +143,47 @@ export class Handler {
|
|||||||
res.status(constants.BAD_REQUEST_STATUS).send('UNSUPPORTED_NETWORK_ID');
|
res.status(constants.BAD_REQUEST_STATUS).send('UNSUPPORTED_NETWORK_ID');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const zeroEx = networkConfig.zeroEx;
|
|
||||||
res.setHeader('Content-Type', 'application/json');
|
res.setHeader('Content-Type', 'application/json');
|
||||||
const makerToken = await zeroEx.tokenRegistry.getTokenBySymbolIfExistsAsync(requestedAssetType);
|
const makerToken = TOKENS_BY_NETWORK[networkConfig.networkId][requestedAssetType];
|
||||||
if (_.isUndefined(makerToken)) {
|
if (_.isUndefined(makerToken)) {
|
||||||
throw new Error(`Unsupported asset type: ${requestedAssetType}`);
|
throw new Error(`Unsupported asset type: ${requestedAssetType}`);
|
||||||
}
|
}
|
||||||
const takerTokenSymbol =
|
const takerTokenSymbol =
|
||||||
requestedAssetType === RequestedAssetType.WETH ? RequestedAssetType.ZRX : RequestedAssetType.WETH;
|
requestedAssetType === RequestedAssetType.WETH ? RequestedAssetType.ZRX : RequestedAssetType.WETH;
|
||||||
const takerToken = await zeroEx.tokenRegistry.getTokenBySymbolIfExistsAsync(takerTokenSymbol);
|
const takerToken = TOKENS_BY_NETWORK[networkConfig.networkId][takerTokenSymbol];
|
||||||
if (_.isUndefined(takerToken)) {
|
if (_.isUndefined(takerToken)) {
|
||||||
throw new Error(`Unsupported asset type: ${requestedAssetType}`);
|
throw new Error(`Unsupported asset type: ${requestedAssetType}`);
|
||||||
}
|
}
|
||||||
const makerTokenAmount = ZeroEx.toBaseUnitAmount(new BigNumber(0.1), makerToken.decimals);
|
const makerAssetAmount = Web3Wrapper.toBaseUnitAmount(ASSET_AMOUNT, makerToken.decimals);
|
||||||
const takerTokenAmount = ZeroEx.toBaseUnitAmount(new BigNumber(0.1), takerToken.decimals);
|
const takerAssetAmount = Web3Wrapper.toBaseUnitAmount(ASSET_AMOUNT, takerToken.decimals);
|
||||||
|
const makerAssetData = assetDataUtils.encodeERC20AssetData(makerToken.address);
|
||||||
|
const takerAssetData = assetDataUtils.encodeERC20AssetData(takerToken.address);
|
||||||
const order: Order = {
|
const order: Order = {
|
||||||
maker: configs.DISPENSER_ADDRESS,
|
makerAddress: configs.DISPENSER_ADDRESS,
|
||||||
taker: req.params.recipient,
|
takerAddress: req.params.recipient as string,
|
||||||
makerFee: new BigNumber(0),
|
makerFee: ZERO,
|
||||||
takerFee: new BigNumber(0),
|
takerFee: ZERO,
|
||||||
makerTokenAmount,
|
makerAssetAmount,
|
||||||
takerTokenAmount,
|
takerAssetAmount,
|
||||||
makerTokenAddress: makerToken.address,
|
makerAssetData,
|
||||||
takerTokenAddress: takerToken.address,
|
takerAssetData,
|
||||||
salt: ZeroEx.generatePseudoRandomSalt(),
|
salt: generatePseudoRandomSalt(),
|
||||||
exchangeContractAddress: zeroEx.exchange.getContractAddress(),
|
exchangeAddress: networkConfig.contractWrappers.exchange.getContractAddress(),
|
||||||
feeRecipient: ZeroEx.NULL_ADDRESS,
|
feeRecipientAddress: NULL_ADDRESS,
|
||||||
expirationUnixTimestampSec: new BigNumber(Date.now() + FIVE_DAYS_IN_MS),
|
senderAddress: NULL_ADDRESS,
|
||||||
|
// tslint:disable-next-line:custom-no-magic-numbers
|
||||||
|
expirationTimeSeconds: new BigNumber(Date.now() + FIVE_DAYS_IN_MS).div(1000),
|
||||||
};
|
};
|
||||||
const orderHash = ZeroEx.getOrderHashHex(order);
|
const orderHash = orderHashUtils.getOrderHashHex(order);
|
||||||
const signature = await zeroEx.signOrderHashAsync(orderHash, configs.DISPENSER_ADDRESS, false);
|
const signature = await signatureUtils.ecSignOrderHashAsync(
|
||||||
const signedOrder = {
|
networkConfig.web3Wrapper.getProvider(),
|
||||||
|
orderHash,
|
||||||
|
configs.DISPENSER_ADDRESS,
|
||||||
|
SignerType.Default,
|
||||||
|
);
|
||||||
|
const signedOrder: SignedOrder = {
|
||||||
...order,
|
...order,
|
||||||
ecSignature: signature,
|
signature,
|
||||||
};
|
};
|
||||||
const payload = JSON.stringify(signedOrder);
|
const payload = JSON.stringify(signedOrder);
|
||||||
logUtils.log(`Dispensed signed order: ${payload}`);
|
logUtils.log(`Dispensed signed order: ${payload}`);
|
||||||
|
@ -2,7 +2,6 @@ import { configs } from './configs';
|
|||||||
|
|
||||||
const productionRpcUrls = {
|
const productionRpcUrls = {
|
||||||
'3': `https://ropsten.infura.io/${configs.INFURA_API_KEY}`,
|
'3': `https://ropsten.infura.io/${configs.INFURA_API_KEY}`,
|
||||||
'4': `https://rinkeby.infura.io/${configs.INFURA_API_KEY}`,
|
|
||||||
'42': `https://kovan.infura.io/${configs.INFURA_API_KEY}`,
|
'42': `https://kovan.infura.io/${configs.INFURA_API_KEY}`,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
41
packages/testnet-faucets/src/ts/tokens.ts
Normal file
41
packages/testnet-faucets/src/ts/tokens.ts
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
export const tokens = {
|
||||||
|
ZRX: {
|
||||||
|
name: '0x Protocol Token',
|
||||||
|
decimals: 18,
|
||||||
|
symbol: 'ZRX',
|
||||||
|
},
|
||||||
|
WETH: {
|
||||||
|
name: 'Wrapped ETH',
|
||||||
|
decimals: 18,
|
||||||
|
symbol: 'WETH',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
export const ETHER_TOKEN = {
|
||||||
|
name: 'Ether',
|
||||||
|
decimals: 18,
|
||||||
|
symbol: 'ETH',
|
||||||
|
};
|
||||||
|
export const TOKENS_BY_NETWORK: {
|
||||||
|
[networkId: number]: { [tokenSymbol: string]: { address: string; decimals: number; symbol: string; name: string } };
|
||||||
|
} = {
|
||||||
|
3: {
|
||||||
|
ZRX: {
|
||||||
|
...tokens.ZRX,
|
||||||
|
address: '0xff67881f8d12f372d91baae9752eb3631ff0ed00',
|
||||||
|
},
|
||||||
|
WETH: {
|
||||||
|
...tokens.WETH,
|
||||||
|
address: '0xc778417e063141139fce010982780140aa0cd5ab',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
42: {
|
||||||
|
ZRX: {
|
||||||
|
...tokens.ZRX,
|
||||||
|
address: '0x2002d3812f58e35f0ea1ffbf80a75a38c32175fa',
|
||||||
|
},
|
||||||
|
WETH: {
|
||||||
|
...tokens.WETH,
|
||||||
|
address: '0xd0a1e359811322d97991e03f863a0c30c2cf029c',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
107
yarn.lock
107
yarn.lock
@ -2,23 +2,6 @@
|
|||||||
# yarn lockfile v1
|
# yarn lockfile v1
|
||||||
|
|
||||||
|
|
||||||
"0x.js@0.38.5":
|
|
||||||
version "0.38.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/0x.js/-/0x.js-0.38.5.tgz#da4724e81e648279ea288cbac4b1a950a7cd7707"
|
|
||||||
dependencies:
|
|
||||||
"@0xproject/assert" "^0.2.13"
|
|
||||||
"@0xproject/base-contract" "^0.3.5"
|
|
||||||
"@0xproject/contract-wrappers" "^0.1.0"
|
|
||||||
"@0xproject/order-utils" "^0.0.8"
|
|
||||||
"@0xproject/order-watcher" "^0.0.7"
|
|
||||||
"@0xproject/sol-compiler" "^0.5.3"
|
|
||||||
"@0xproject/types" "^0.8.2"
|
|
||||||
"@0xproject/typescript-typings" "^0.4.2"
|
|
||||||
"@0xproject/utils" "^0.7.2"
|
|
||||||
"@0xproject/web3-wrapper" "^0.7.2"
|
|
||||||
ethers "3.0.22"
|
|
||||||
lodash "4.17.10"
|
|
||||||
|
|
||||||
"0x.js@^0.38.6":
|
"0x.js@^0.38.6":
|
||||||
version "0.38.6"
|
version "0.38.6"
|
||||||
resolved "https://registry.yarnpkg.com/0x.js/-/0x.js-0.38.6.tgz#f6cb2b6ef9aea2ff7696c923095e0b794c1d84fc"
|
resolved "https://registry.yarnpkg.com/0x.js/-/0x.js-0.38.6.tgz#f6cb2b6ef9aea2ff7696c923095e0b794c1d84fc"
|
||||||
@ -510,16 +493,6 @@
|
|||||||
npmlog "^4.1.2"
|
npmlog "^4.1.2"
|
||||||
write-file-atomic "^2.3.0"
|
write-file-atomic "^2.3.0"
|
||||||
|
|
||||||
"@0xproject/assert@^0.2.13":
|
|
||||||
version "0.2.13"
|
|
||||||
resolved "https://registry.yarnpkg.com/@0xproject/assert/-/assert-0.2.13.tgz#8eb0e16cd6d802eae1b0ab86d344360ea0038331"
|
|
||||||
dependencies:
|
|
||||||
"@0xproject/json-schemas" "^0.8.2"
|
|
||||||
"@0xproject/typescript-typings" "^0.4.2"
|
|
||||||
"@0xproject/utils" "^0.7.2"
|
|
||||||
lodash "4.17.10"
|
|
||||||
valid-url "1.0.9"
|
|
||||||
|
|
||||||
"@0xproject/assert@^0.2.14":
|
"@0xproject/assert@^0.2.14":
|
||||||
version "0.2.14"
|
version "0.2.14"
|
||||||
resolved "https://registry.yarnpkg.com/@0xproject/assert/-/assert-0.2.14.tgz#7d5a373fedc8eb482716b730f4dddf3ef33bfa29"
|
resolved "https://registry.yarnpkg.com/@0xproject/assert/-/assert-0.2.14.tgz#7d5a373fedc8eb482716b730f4dddf3ef33bfa29"
|
||||||
@ -530,7 +503,7 @@
|
|||||||
lodash "4.17.10"
|
lodash "4.17.10"
|
||||||
valid-url "1.0.9"
|
valid-url "1.0.9"
|
||||||
|
|
||||||
"@0xproject/base-contract@^0.3.5", "@0xproject/base-contract@^0.3.6":
|
"@0xproject/base-contract@^0.3.6":
|
||||||
version "0.3.6"
|
version "0.3.6"
|
||||||
resolved "https://registry.yarnpkg.com/@0xproject/base-contract/-/base-contract-0.3.6.tgz#c6d742ce2904bdd9e77524d99ba2438d3aae8a40"
|
resolved "https://registry.yarnpkg.com/@0xproject/base-contract/-/base-contract-0.3.6.tgz#c6d742ce2904bdd9e77524d99ba2438d3aae8a40"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -555,7 +528,7 @@
|
|||||||
sinon "^4.0.0"
|
sinon "^4.0.0"
|
||||||
websocket "^1.0.25"
|
websocket "^1.0.25"
|
||||||
|
|
||||||
"@0xproject/contract-wrappers@^0.1.0", "@0xproject/contract-wrappers@^0.1.1":
|
"@0xproject/contract-wrappers@^0.1.1":
|
||||||
version "0.1.1"
|
version "0.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/@0xproject/contract-wrappers/-/contract-wrappers-0.1.1.tgz#8108d7ec051f202ef0cfa77c91c4ef994bf89881"
|
resolved "https://registry.yarnpkg.com/@0xproject/contract-wrappers/-/contract-wrappers-0.1.1.tgz#8108d7ec051f202ef0cfa77c91c4ef994bf89881"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -576,19 +549,6 @@
|
|||||||
lodash "4.17.10"
|
lodash "4.17.10"
|
||||||
uuid "3.2.1"
|
uuid "3.2.1"
|
||||||
|
|
||||||
"@0xproject/fill-scenarios@^0.0.5":
|
|
||||||
version "0.0.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/@0xproject/fill-scenarios/-/fill-scenarios-0.0.5.tgz#a62a240ae40423b9b73ecc0b1fc2abb58b76621c"
|
|
||||||
dependencies:
|
|
||||||
"@0xproject/base-contract" "^0.3.5"
|
|
||||||
"@0xproject/order-utils" "^0.0.8"
|
|
||||||
"@0xproject/types" "^0.8.2"
|
|
||||||
"@0xproject/typescript-typings" "^0.4.2"
|
|
||||||
"@0xproject/utils" "^0.7.2"
|
|
||||||
"@0xproject/web3-wrapper" "^0.7.2"
|
|
||||||
ethers "3.0.22"
|
|
||||||
lodash "4.17.10"
|
|
||||||
|
|
||||||
"@0xproject/fill-scenarios@^0.0.6":
|
"@0xproject/fill-scenarios@^0.0.6":
|
||||||
version "0.0.6"
|
version "0.0.6"
|
||||||
resolved "https://registry.yarnpkg.com/@0xproject/fill-scenarios/-/fill-scenarios-0.0.6.tgz#969a2c49122650af5a1bf7fe7c6d286a0e6f2de2"
|
resolved "https://registry.yarnpkg.com/@0xproject/fill-scenarios/-/fill-scenarios-0.0.6.tgz#969a2c49122650af5a1bf7fe7c6d286a0e6f2de2"
|
||||||
@ -602,15 +562,6 @@
|
|||||||
ethers "3.0.22"
|
ethers "3.0.22"
|
||||||
lodash "4.17.10"
|
lodash "4.17.10"
|
||||||
|
|
||||||
"@0xproject/json-schemas@^0.8.2":
|
|
||||||
version "0.8.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/@0xproject/json-schemas/-/json-schemas-0.8.2.tgz#9d3f446e546ce0c959cf7beb45d41ac60476a78c"
|
|
||||||
dependencies:
|
|
||||||
"@0xproject/typescript-typings" "^0.4.2"
|
|
||||||
"@types/node" "9.6.0"
|
|
||||||
jsonschema "1.2.2"
|
|
||||||
lodash.values "4.3.0"
|
|
||||||
|
|
||||||
"@0xproject/json-schemas@^0.8.3":
|
"@0xproject/json-schemas@^0.8.3":
|
||||||
version "0.8.3"
|
version "0.8.3"
|
||||||
resolved "https://registry.yarnpkg.com/@0xproject/json-schemas/-/json-schemas-0.8.3.tgz#455e6219a6bd05e990392165192a983a9ab89f26"
|
resolved "https://registry.yarnpkg.com/@0xproject/json-schemas/-/json-schemas-0.8.3.tgz#455e6219a6bd05e990392165192a983a9ab89f26"
|
||||||
@ -620,22 +571,6 @@
|
|||||||
jsonschema "1.2.2"
|
jsonschema "1.2.2"
|
||||||
lodash.values "4.3.0"
|
lodash.values "4.3.0"
|
||||||
|
|
||||||
"@0xproject/order-utils@^0.0.8":
|
|
||||||
version "0.0.8"
|
|
||||||
resolved "https://registry.yarnpkg.com/@0xproject/order-utils/-/order-utils-0.0.8.tgz#72077749a22cae5f0c748a6af90d1d77f5ebf8c9"
|
|
||||||
dependencies:
|
|
||||||
"@0xproject/assert" "^0.2.13"
|
|
||||||
"@0xproject/json-schemas" "^0.8.2"
|
|
||||||
"@0xproject/types" "^0.8.2"
|
|
||||||
"@0xproject/typescript-typings" "^0.4.2"
|
|
||||||
"@0xproject/utils" "^0.7.2"
|
|
||||||
"@0xproject/web3-wrapper" "^0.7.2"
|
|
||||||
"@types/node" "9.6.0"
|
|
||||||
bn.js "4.11.7"
|
|
||||||
ethereumjs-abi "0.6.5"
|
|
||||||
ethereumjs-util "5.1.5"
|
|
||||||
lodash "4.17.10"
|
|
||||||
|
|
||||||
"@0xproject/order-utils@^0.0.9":
|
"@0xproject/order-utils@^0.0.9":
|
||||||
version "0.0.9"
|
version "0.0.9"
|
||||||
resolved "https://registry.yarnpkg.com/@0xproject/order-utils/-/order-utils-0.0.9.tgz#75225dfbd87335d18810abf995d8e077b9a84868"
|
resolved "https://registry.yarnpkg.com/@0xproject/order-utils/-/order-utils-0.0.9.tgz#75225dfbd87335d18810abf995d8e077b9a84868"
|
||||||
@ -652,26 +587,6 @@
|
|||||||
ethereumjs-util "5.1.5"
|
ethereumjs-util "5.1.5"
|
||||||
lodash "4.17.10"
|
lodash "4.17.10"
|
||||||
|
|
||||||
"@0xproject/order-watcher@^0.0.7":
|
|
||||||
version "0.0.7"
|
|
||||||
resolved "https://registry.yarnpkg.com/@0xproject/order-watcher/-/order-watcher-0.0.7.tgz#fbe019aa33447781096b5d562e7a3a4ec91a1da2"
|
|
||||||
dependencies:
|
|
||||||
"@0xproject/assert" "^0.2.13"
|
|
||||||
"@0xproject/base-contract" "^0.3.5"
|
|
||||||
"@0xproject/contract-wrappers" "^0.1.0"
|
|
||||||
"@0xproject/fill-scenarios" "^0.0.5"
|
|
||||||
"@0xproject/json-schemas" "^0.8.2"
|
|
||||||
"@0xproject/order-utils" "^0.0.8"
|
|
||||||
"@0xproject/types" "^0.8.2"
|
|
||||||
"@0xproject/typescript-typings" "^0.4.2"
|
|
||||||
"@0xproject/utils" "^0.7.2"
|
|
||||||
"@0xproject/web3-wrapper" "^0.7.2"
|
|
||||||
bintrees "1.0.2"
|
|
||||||
ethereum-types "^0.0.2"
|
|
||||||
ethereumjs-blockstream "5.0.0"
|
|
||||||
ethers "3.0.22"
|
|
||||||
lodash "4.17.10"
|
|
||||||
|
|
||||||
"@0xproject/order-watcher@^0.0.8":
|
"@0xproject/order-watcher@^0.0.8":
|
||||||
version "0.0.8"
|
version "0.0.8"
|
||||||
resolved "https://registry.yarnpkg.com/@0xproject/order-watcher/-/order-watcher-0.0.8.tgz#cfba4c39ca8c5d39e076276479383d0aae022c6d"
|
resolved "https://registry.yarnpkg.com/@0xproject/order-watcher/-/order-watcher-0.0.8.tgz#cfba4c39ca8c5d39e076276479383d0aae022c6d"
|
||||||
@ -692,7 +607,7 @@
|
|||||||
ethers "3.0.22"
|
ethers "3.0.22"
|
||||||
lodash "4.17.10"
|
lodash "4.17.10"
|
||||||
|
|
||||||
"@0xproject/sol-compiler@^0.5.3", "@0xproject/sol-compiler@^0.5.4":
|
"@0xproject/sol-compiler@^0.5.4":
|
||||||
version "0.5.4"
|
version "0.5.4"
|
||||||
resolved "https://registry.yarnpkg.com/@0xproject/sol-compiler/-/sol-compiler-0.5.4.tgz#3e0b04b0c02c5ec046ebb962b5ed20978c6b4cdd"
|
resolved "https://registry.yarnpkg.com/@0xproject/sol-compiler/-/sol-compiler-0.5.4.tgz#3e0b04b0c02c5ec046ebb962b5ed20978c6b4cdd"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -743,7 +658,7 @@
|
|||||||
"@0xproject/types" "^0.5.0"
|
"@0xproject/types" "^0.5.0"
|
||||||
bignumber.js "~4.1.0"
|
bignumber.js "~4.1.0"
|
||||||
|
|
||||||
"@0xproject/typescript-typings@^0.4.2", "@0xproject/typescript-typings@^0.4.3":
|
"@0xproject/typescript-typings@^0.4.3":
|
||||||
version "0.4.3"
|
version "0.4.3"
|
||||||
resolved "https://registry.yarnpkg.com/@0xproject/typescript-typings/-/typescript-typings-0.4.3.tgz#f99f939a43f2764ad7182fcd78a71212a1d76d96"
|
resolved "https://registry.yarnpkg.com/@0xproject/typescript-typings/-/typescript-typings-0.4.3.tgz#f99f939a43f2764ad7182fcd78a71212a1d76d96"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -751,7 +666,17 @@
|
|||||||
bignumber.js "~4.1.0"
|
bignumber.js "~4.1.0"
|
||||||
ethereum-types "^0.0.2"
|
ethereum-types "^0.0.2"
|
||||||
|
|
||||||
"@0xproject/utils@^0.7.2", "@0xproject/utils@^0.7.3":
|
"@0xproject/typescript-typings@^1.0.3":
|
||||||
|
version "1.0.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/@0xproject/typescript-typings/-/typescript-typings-1.0.5.tgz#a808443419f26a7b90d63d1afd3efbfb48644184"
|
||||||
|
dependencies:
|
||||||
|
"@types/bn.js" "^4.11.0"
|
||||||
|
"@types/react" "*"
|
||||||
|
bignumber.js "~4.1.0"
|
||||||
|
ethereum-types "^1.0.5"
|
||||||
|
popper.js "1.14.3"
|
||||||
|
|
||||||
|
"@0xproject/utils@^0.7.3":
|
||||||
version "0.7.3"
|
version "0.7.3"
|
||||||
resolved "https://registry.yarnpkg.com/@0xproject/utils/-/utils-0.7.3.tgz#ffa7c6da9bf0dd3e13694f185dcfc48a8981ff05"
|
resolved "https://registry.yarnpkg.com/@0xproject/utils/-/utils-0.7.3.tgz#ffa7c6da9bf0dd3e13694f185dcfc48a8981ff05"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -765,7 +690,7 @@
|
|||||||
lodash "4.17.10"
|
lodash "4.17.10"
|
||||||
web3 "0.20.6"
|
web3 "0.20.6"
|
||||||
|
|
||||||
"@0xproject/web3-wrapper@^0.7.2", "@0xproject/web3-wrapper@^0.7.3":
|
"@0xproject/web3-wrapper@^0.7.3":
|
||||||
version "0.7.3"
|
version "0.7.3"
|
||||||
resolved "https://registry.yarnpkg.com/@0xproject/web3-wrapper/-/web3-wrapper-0.7.3.tgz#9bd50b034b92fd505b6766b6e225f014b6d08b08"
|
resolved "https://registry.yarnpkg.com/@0xproject/web3-wrapper/-/web3-wrapper-0.7.3.tgz#9bd50b034b92fd505b6766b6e225f014b6d08b08"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user