Add preliminary support for scraping orders from SRA endpoints (no pagination, only RR support for now)
This commit is contained in:
parent
71a015f2aa
commit
9ab55ccec0
@ -39,6 +39,7 @@
|
||||
"typescript": "3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@0xproject/connect": "^2.0.4",
|
||||
"@0xproject/contract-wrappers": "^1.0.1",
|
||||
"@0xproject/order-utils": "^1.0.2",
|
||||
"@0xproject/subproviders": "^2.0.2",
|
||||
|
@ -6,7 +6,6 @@ import {
|
||||
} from '@0xproject/contract-wrappers';
|
||||
import { assetDataUtils } from '@0xproject/order-utils';
|
||||
import { AssetProxyId, ERC721AssetData } from '@0xproject/types';
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
import { LogWithDecodedArgs } from 'ethereum-types';
|
||||
import * as R from 'ramda';
|
||||
|
||||
@ -15,6 +14,7 @@ import { EventsResponse } from '../../data_sources/etherscan';
|
||||
import { ExchangeCancelEvent } from '../../entities/ExchangeCancelEvent';
|
||||
import { ExchangeCancelUpToEvent } from '../../entities/ExchangeCancelUpToEvent';
|
||||
import { ExchangeFillEvent } from '../../entities/ExchangeFillEvent';
|
||||
import { bigNumbertoStringOrNull } from '../../utils';
|
||||
|
||||
import { convertResponseToLogEntry, decodeLogEntry } from './event_utils';
|
||||
|
||||
@ -130,10 +130,3 @@ export function _convertToExchangeCancelUpToEvent(
|
||||
exchangeCancelUpToEvent.orderEpoch = eventLog.args.orderEpoch.toString();
|
||||
return exchangeCancelUpToEvent;
|
||||
}
|
||||
|
||||
function bigNumbertoStringOrNull(n: BigNumber): string | null {
|
||||
if (n == null) {
|
||||
return null;
|
||||
}
|
||||
return n.toString();
|
||||
}
|
||||
|
54
packages/pipeline/src/data_types/sra_order/index.ts
Normal file
54
packages/pipeline/src/data_types/sra_order/index.ts
Normal file
@ -0,0 +1,54 @@
|
||||
import { APIOrder, OrdersResponse } from '@0xproject/connect';
|
||||
import { assetDataUtils, orderHashUtils } from '@0xproject/order-utils';
|
||||
import { AssetProxyId, ERC721AssetData } from '@0xproject/types';
|
||||
import * as R from 'ramda';
|
||||
|
||||
import { SraOrder } from '../../entities/SraOrder';
|
||||
import { bigNumbertoStringOrNull } from '../../utils';
|
||||
|
||||
export function parseSraOrders(rawOrdersResponse: OrdersResponse): SraOrder[] {
|
||||
return R.map(_convertToEntity, rawOrdersResponse.records);
|
||||
}
|
||||
|
||||
export function _convertToEntity(apiOrder: APIOrder): SraOrder {
|
||||
// TODO(albrow): refactor out common asset data decoding code.
|
||||
const makerAssetData = assetDataUtils.decodeAssetDataOrThrow(apiOrder.order.makerAssetData);
|
||||
const makerAssetType = makerAssetData.assetProxyId === AssetProxyId.ERC20 ? 'erc20' : 'erc721';
|
||||
const takerAssetData = assetDataUtils.decodeAssetDataOrThrow(apiOrder.order.takerAssetData);
|
||||
const takerAssetType = takerAssetData.assetProxyId === AssetProxyId.ERC20 ? 'erc20' : 'erc721';
|
||||
|
||||
const sraOrder = new SraOrder();
|
||||
sraOrder.exchangeAddress = apiOrder.order.exchangeAddress;
|
||||
sraOrder.orderHashHex = orderHashUtils.getOrderHashHex(apiOrder.order);
|
||||
|
||||
// TODO(albrow): Set these fields to the correct values upstack.
|
||||
sraOrder.lastUpdatedTimestamp = Date.now();
|
||||
sraOrder.firstSeenTimestamp = Date.now();
|
||||
|
||||
sraOrder.makerAddress = apiOrder.order.makerAddress;
|
||||
sraOrder.takerAddress = apiOrder.order.takerAddress;
|
||||
sraOrder.feeRecipientAddress = apiOrder.order.feeRecipientAddress;
|
||||
sraOrder.senderAddress = apiOrder.order.senderAddress;
|
||||
sraOrder.makerAssetAmount = apiOrder.order.makerAssetAmount.toString();
|
||||
sraOrder.takerAssetAmount = apiOrder.order.takerAssetAmount.toString();
|
||||
sraOrder.makerFee = apiOrder.order.makerFee.toString();
|
||||
sraOrder.takerFee = apiOrder.order.takerFee.toString();
|
||||
sraOrder.expirationTimeSeconds = apiOrder.order.expirationTimeSeconds.toString();
|
||||
sraOrder.salt = apiOrder.order.salt.toString();
|
||||
sraOrder.signature = apiOrder.order.signature;
|
||||
|
||||
sraOrder.rawMakerAssetData = apiOrder.order.makerAssetData;
|
||||
sraOrder.makerAssetType = makerAssetType;
|
||||
sraOrder.makerAssetProxyId = makerAssetData.assetProxyId;
|
||||
sraOrder.makerTokenAddress = makerAssetData.tokenAddress;
|
||||
sraOrder.makerTokenId = bigNumbertoStringOrNull((makerAssetData as ERC721AssetData).tokenId);
|
||||
sraOrder.rawTakerAssetData = apiOrder.order.takerAssetData;
|
||||
sraOrder.takerAssetType = takerAssetType;
|
||||
sraOrder.takerAssetProxyId = takerAssetData.assetProxyId;
|
||||
sraOrder.takerTokenAddress = takerAssetData.tokenAddress;
|
||||
sraOrder.takerTokenId = bigNumbertoStringOrNull((takerAssetData as ERC721AssetData).tokenId);
|
||||
|
||||
sraOrder.metaDataJson = JSON.stringify(apiOrder.metaData);
|
||||
|
||||
return sraOrder;
|
||||
}
|
@ -16,6 +16,7 @@ export class ExchangeCancelEvent extends BaseEntity {
|
||||
@Column() public feeRecepientAddress!: string;
|
||||
@Column() public senderAddress!: string;
|
||||
@Column() public orderHash!: string;
|
||||
|
||||
@Column() public rawMakerAssetData!: string;
|
||||
@Column() public makerAssetType!: AssetType;
|
||||
@Column() public makerAssetProxyId!: string;
|
||||
@ -28,5 +29,6 @@ export class ExchangeCancelEvent extends BaseEntity {
|
||||
@Column() public takerTokenAddress!: string;
|
||||
@Column({ nullable: true, type: String })
|
||||
public takerTokenId!: string | null;
|
||||
|
||||
// TODO(albrow): Include topics?
|
||||
}
|
||||
|
@ -19,6 +19,7 @@ export class ExchangeFillEvent extends BaseEntity {
|
||||
@Column() public makerFeePaid!: string;
|
||||
@Column() public takerFeePaid!: string;
|
||||
@Column() public orderHash!: string;
|
||||
|
||||
@Column() public rawMakerAssetData!: string;
|
||||
@Column() public makerAssetType!: AssetType;
|
||||
@Column() public makerAssetProxyId!: string;
|
||||
@ -31,5 +32,6 @@ export class ExchangeFillEvent extends BaseEntity {
|
||||
@Column() public takerTokenAddress!: string;
|
||||
@Column({ nullable: true, type: String })
|
||||
public takerTokenId!: string | null;
|
||||
|
||||
// TODO(albrow): Include topics?
|
||||
}
|
||||
|
40
packages/pipeline/src/entities/SraOrder.ts
Normal file
40
packages/pipeline/src/entities/SraOrder.ts
Normal file
@ -0,0 +1,40 @@
|
||||
import { BaseEntity, Column, Entity, PrimaryColumn } from 'typeorm';
|
||||
|
||||
import { AssetType } from '../types';
|
||||
|
||||
@Entity()
|
||||
export class SraOrder extends BaseEntity {
|
||||
@PrimaryColumn() public exchangeAddress!: string;
|
||||
@PrimaryColumn() public orderHashHex!: string;
|
||||
|
||||
@Column() public lastUpdatedTimestamp!: number;
|
||||
@Column() public firstSeenTimestamp!: number;
|
||||
|
||||
@Column() public makerAddress!: string;
|
||||
@Column() public takerAddress!: string;
|
||||
@Column() public feeRecipientAddress!: string;
|
||||
@Column() public senderAddress!: string;
|
||||
@Column() public makerAssetAmount!: string;
|
||||
@Column() public takerAssetAmount!: string;
|
||||
@Column() public makerFee!: string;
|
||||
@Column() public takerFee!: string;
|
||||
@Column() public expirationTimeSeconds!: string;
|
||||
@Column() public salt!: string;
|
||||
@Column() public signature!: string;
|
||||
|
||||
@Column() public rawMakerAssetData!: string;
|
||||
@Column() public makerAssetType!: AssetType;
|
||||
@Column() public makerAssetProxyId!: string;
|
||||
@Column() public makerTokenAddress!: string;
|
||||
@Column({ nullable: true, type: String })
|
||||
public makerTokenId!: string | null;
|
||||
@Column() public rawTakerAssetData!: string;
|
||||
@Column() public takerAssetType!: AssetType;
|
||||
@Column() public takerAssetProxyId!: string;
|
||||
@Column() public takerTokenAddress!: string;
|
||||
@Column({ nullable: true, type: String })
|
||||
public takerTokenId!: string | null;
|
||||
|
||||
// TODO(albrow): Make this optional?
|
||||
@Column() public metaDataJson!: string;
|
||||
}
|
@ -1,19 +1,28 @@
|
||||
import * as R from 'ramda';
|
||||
import { HttpClient } from '@0xproject/connect';
|
||||
import 'reflect-metadata';
|
||||
import { createConnection } from 'typeorm';
|
||||
import { Connection, createConnection } from 'typeorm';
|
||||
|
||||
import { Etherscan } from './data_sources/etherscan';
|
||||
import { parseExchangeEvents } from './data_types/events/exchange_events';
|
||||
import { parseSraOrders } from './data_types/sra_order';
|
||||
import { ExchangeCancelEvent } from './entities/ExchangeCancelEvent';
|
||||
import { ExchangeCancelUpToEvent } from './entities/ExchangeCancelUpToEvent';
|
||||
import { ExchangeFillEvent } from './entities/ExchangeFillEvent';
|
||||
import { SraOrder } from './entities/SraOrder';
|
||||
import { config } from './ormconfig';
|
||||
|
||||
const etherscan = new Etherscan(process.env.ETHERSCAN_API_KEY as string);
|
||||
const EXCHANGE_ADDRESS = '0x4f833a24e1f95d70f028921e27040ca56e09ab0b';
|
||||
|
||||
let connection: Connection;
|
||||
|
||||
(async () => {
|
||||
const connection = await createConnection(config);
|
||||
connection = await createConnection(config);
|
||||
await getExchangeEventsAsync();
|
||||
await getSraOrdersAsync();
|
||||
})();
|
||||
|
||||
async function getExchangeEventsAsync(): Promise<void> {
|
||||
const fillRepository = connection.getRepository(ExchangeFillEvent);
|
||||
const cancelRepository = connection.getRepository(ExchangeCancelEvent);
|
||||
const cancelUpToRepository = connection.getRepository(ExchangeCancelUpToEvent);
|
||||
@ -32,4 +41,17 @@ const EXCHANGE_ADDRESS = '0x4f833a24e1f95d70f028921e27040ca56e09ab0b';
|
||||
(await cancelRepository.count()) +
|
||||
(await cancelUpToRepository.count())} total events`,
|
||||
);
|
||||
})();
|
||||
}
|
||||
|
||||
async function getSraOrdersAsync(): Promise<void> {
|
||||
const orderRepository = connection.getRepository(SraOrder);
|
||||
console.log(`found ${await orderRepository.count()} existing orders`);
|
||||
|
||||
const connect = new HttpClient('https://api.radarrelay.com/0x/v2');
|
||||
const rawOrders = await connect.getOrdersAsync();
|
||||
const orders = parseSraOrders(rawOrders);
|
||||
for (const order of orders) {
|
||||
order.save();
|
||||
}
|
||||
console.log(`now there are ${await orderRepository.count()} total orders`);
|
||||
}
|
||||
|
8
packages/pipeline/src/utils/index.ts
Normal file
8
packages/pipeline/src/utils/index.ts
Normal file
@ -0,0 +1,8 @@
|
||||
import { BigNumber } from '@0xproject/utils';
|
||||
|
||||
export function bigNumbertoStringOrNull(n: BigNumber): string | null {
|
||||
if (n == null) {
|
||||
return null;
|
||||
}
|
||||
return n.toString();
|
||||
}
|
139
yarn.lock
139
yarn.lock
@ -472,7 +472,17 @@
|
||||
npmlog "^4.1.2"
|
||||
write-file-atomic "^2.3.0"
|
||||
|
||||
"@0xproject/assert@^1.0.10", "@0xproject/assert@^1.0.13":
|
||||
"@0xproject/assert@^0.2.14":
|
||||
version "0.2.14"
|
||||
resolved "https://registry.yarnpkg.com/@0xproject/assert/-/assert-0.2.14.tgz#7d5a373fedc8eb482716b730f4dddf3ef33bfa29"
|
||||
dependencies:
|
||||
"@0xproject/json-schemas" "^0.8.3"
|
||||
"@0xproject/typescript-typings" "^0.4.3"
|
||||
"@0xproject/utils" "^0.7.3"
|
||||
lodash "4.17.10"
|
||||
valid-url "1.0.9"
|
||||
|
||||
"@0xproject/assert@^1.0.10", "@0xproject/assert@^1.0.11", "@0xproject/assert@^1.0.13":
|
||||
version "1.0.13"
|
||||
resolved "https://registry.yarnpkg.com/@0xproject/assert/-/assert-1.0.13.tgz#e370ccce08933dd2a970bdd02b92e59c65dd75d4"
|
||||
dependencies:
|
||||
@ -504,6 +514,22 @@
|
||||
ethers "4.0.0-beta.14"
|
||||
lodash "^4.17.5"
|
||||
|
||||
"@0xproject/connect@^2.0.4":
|
||||
version "2.0.4"
|
||||
resolved "https://registry.yarnpkg.com/@0xproject/connect/-/connect-2.0.4.tgz#d61cd382edbb80120c8efce91dc85d2c668a5c5e"
|
||||
dependencies:
|
||||
"@0xproject/assert" "^1.0.11"
|
||||
"@0xproject/json-schemas" "^1.0.4"
|
||||
"@0xproject/order-utils" "^1.0.5"
|
||||
"@0xproject/types" "^1.1.1"
|
||||
"@0xproject/typescript-typings" "^2.0.2"
|
||||
"@0xproject/utils" "^1.0.11"
|
||||
lodash "^4.17.5"
|
||||
query-string "^5.0.1"
|
||||
sinon "^4.0.0"
|
||||
uuid "^3.3.2"
|
||||
websocket "^1.0.25"
|
||||
|
||||
"@0xproject/contract-wrappers@^1.0.1":
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/@0xproject/contract-wrappers/-/contract-wrappers-1.0.5.tgz#5a522b3fd8404b8c42169d5be7e3b6903a7b1356"
|
||||
@ -539,7 +565,16 @@
|
||||
ethers "4.0.0-beta.14"
|
||||
lodash "^4.17.5"
|
||||
|
||||
"@0xproject/json-schemas@^1.0.3", "@0xproject/json-schemas@^1.0.7":
|
||||
"@0xproject/json-schemas@^0.8.3":
|
||||
version "0.8.3"
|
||||
resolved "https://registry.yarnpkg.com/@0xproject/json-schemas/-/json-schemas-0.8.3.tgz#455e6219a6bd05e990392165192a983a9ab89f26"
|
||||
dependencies:
|
||||
"@0xproject/typescript-typings" "^0.4.3"
|
||||
"@types/node" "9.6.0"
|
||||
jsonschema "1.2.2"
|
||||
lodash.values "4.3.0"
|
||||
|
||||
"@0xproject/json-schemas@^1.0.3", "@0xproject/json-schemas@^1.0.4", "@0xproject/json-schemas@^1.0.7":
|
||||
version "1.0.7"
|
||||
resolved "https://registry.yarnpkg.com/@0xproject/json-schemas/-/json-schemas-1.0.7.tgz#64b5692a1bcc5938ce2da01fc2f8aecd72ec35be"
|
||||
dependencies:
|
||||
@ -554,7 +589,7 @@
|
||||
dependencies:
|
||||
npm-registry-client "7.0.9"
|
||||
|
||||
"@0xproject/order-utils@^1.0.4", "@0xproject/order-utils@^1.0.7":
|
||||
"@0xproject/order-utils@^1.0.2", "@0xproject/order-utils@^1.0.4", "@0xproject/order-utils@^1.0.5", "@0xproject/order-utils@^1.0.7":
|
||||
version "1.0.7"
|
||||
resolved "https://registry.yarnpkg.com/@0xproject/order-utils/-/order-utils-1.0.7.tgz#475cd5f1a11dc7816847abb4d3fd17bbaf32bf4f"
|
||||
dependencies:
|
||||
@ -612,7 +647,14 @@
|
||||
tslint-react "^3.2.0"
|
||||
tsutils "3.0.0"
|
||||
|
||||
"@0xproject/types@^1.1.0", "@0xproject/types@^1.1.1", "@0xproject/types@^1.1.4":
|
||||
"@0xproject/types@^0.8.2":
|
||||
version "0.8.2"
|
||||
resolved "https://registry.yarnpkg.com/@0xproject/types/-/types-0.8.2.tgz#6f936b73bfb6f017b5102002d97da0881da92d1b"
|
||||
dependencies:
|
||||
"@types/node" "9.6.0"
|
||||
bignumber.js "~4.1.0"
|
||||
|
||||
"@0xproject/types@^1.0.1", "@0xproject/types@^1.1.0", "@0xproject/types@^1.1.1", "@0xproject/types@^1.1.4":
|
||||
version "1.1.4"
|
||||
resolved "https://registry.yarnpkg.com/@0xproject/types/-/types-1.1.4.tgz#3ffd65e670d6a21dab19ee0ffd5fad0056291b8e"
|
||||
dependencies:
|
||||
@ -620,6 +662,24 @@
|
||||
bignumber.js "~4.1.0"
|
||||
ethereum-types "^1.0.11"
|
||||
|
||||
"@0xproject/typescript-typings@^0.4.3":
|
||||
version "0.4.3"
|
||||
resolved "https://registry.yarnpkg.com/@0xproject/typescript-typings/-/typescript-typings-0.4.3.tgz#f99f939a43f2764ad7182fcd78a71212a1d76d96"
|
||||
dependencies:
|
||||
"@0xproject/types" "^0.8.2"
|
||||
bignumber.js "~4.1.0"
|
||||
ethereum-types "^0.0.2"
|
||||
|
||||
"@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/typescript-typings@^2.0.1", "@0xproject/typescript-typings@^2.0.2":
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@0xproject/typescript-typings/-/typescript-typings-2.0.2.tgz#1812f64e341f1d24c09b8b5a951cbde0e5fff9c2"
|
||||
@ -640,7 +700,21 @@
|
||||
ethereum-types "^1.0.11"
|
||||
popper.js "1.14.3"
|
||||
|
||||
"@0xproject/utils@^1.0.10", "@0xproject/utils@^1.0.11", "@0xproject/utils@^1.0.8":
|
||||
"@0xproject/utils@^0.7.3":
|
||||
version "0.7.3"
|
||||
resolved "https://registry.yarnpkg.com/@0xproject/utils/-/utils-0.7.3.tgz#ffa7c6da9bf0dd3e13694f185dcfc48a8981ff05"
|
||||
dependencies:
|
||||
"@0xproject/typescript-typings" "^0.4.3"
|
||||
"@types/node" "9.6.0"
|
||||
bignumber.js "~4.1.0"
|
||||
ethereum-types "^0.0.2"
|
||||
ethereumjs-util "^5.1.1"
|
||||
ethers "3.0.22"
|
||||
js-sha3 "0.7.0"
|
||||
lodash "4.17.10"
|
||||
web3 "0.20.6"
|
||||
|
||||
"@0xproject/utils@^1.0.10", "@0xproject/utils@^1.0.11", "@0xproject/utils@^1.0.4", "@0xproject/utils@^1.0.8":
|
||||
version "1.0.11"
|
||||
resolved "https://registry.yarnpkg.com/@0xproject/utils/-/utils-1.0.11.tgz#5b53e7d9d4dbe68e219049218c9db04e97c37429"
|
||||
dependencies:
|
||||
@ -1645,6 +1719,10 @@
|
||||
version "9.6.5"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-9.6.5.tgz#ee700810fdf49ac1c399fc5980b7559b3e5a381d"
|
||||
|
||||
"@types/node@9.6.0":
|
||||
version "9.6.0"
|
||||
resolved "http://registry.npmjs.org/@types/node/-/node-9.6.0.tgz#d3480ee666df9784b1001a1872a2f6ccefb6c2d7"
|
||||
|
||||
"@types/node@^10.3.2":
|
||||
version "10.9.4"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.9.4.tgz#0f4cb2dc7c1de6096055357f70179043c33e9897"
|
||||
@ -1653,6 +1731,10 @@
|
||||
version "10.5.7"
|
||||
resolved "https://registry.npmjs.org/@types/node/-/node-10.5.7.tgz#960d9feb3ade2233bcc9843c918d740b4f78a7cf"
|
||||
|
||||
"@types/node@^8.0.53":
|
||||
version "8.10.36"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.36.tgz#eac05d576fbcd0b4ea3c912dc58c20475c08d9e4"
|
||||
|
||||
"@types/numeral@^0.0.22":
|
||||
version "0.0.22"
|
||||
resolved "https://registry.yarnpkg.com/@types/numeral/-/numeral-0.0.22.tgz#86bef1f0a2d743afdc2ef3168d45f2905e1a0b93"
|
||||
@ -6076,6 +6158,13 @@ ethereum-common@^0.0.18:
|
||||
version "0.0.18"
|
||||
resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.0.18.tgz#2fdc3576f232903358976eb39da783213ff9523f"
|
||||
|
||||
ethereum-types@^0.0.2:
|
||||
version "0.0.2"
|
||||
resolved "https://registry.yarnpkg.com/ethereum-types/-/ethereum-types-0.0.2.tgz#6ef6faf46a24697cbf66b6c8a0ecf2095ce58c38"
|
||||
dependencies:
|
||||
"@types/node" "^8.0.53"
|
||||
bignumber.js "~4.1.0"
|
||||
|
||||
ethereumjs-abi@0.6.5, ethereumjs-abi@^0.6.5:
|
||||
version "0.6.5"
|
||||
resolved "https://registry.yarnpkg.com/ethereumjs-abi/-/ethereumjs-abi-0.6.5.tgz#5a637ef16ab43473fa72a29ad90871405b3f5241"
|
||||
@ -6225,9 +6314,9 @@ ethereumjs-wallet@0.6.0:
|
||||
utf8 "^2.1.1"
|
||||
uuid "^2.0.1"
|
||||
|
||||
ethers@0xproject/ethers.js#eip-838-reasons, ethers@3.0.22:
|
||||
version "3.0.18"
|
||||
resolved "https://codeload.github.com/0xproject/ethers.js/tar.gz/b91342bd200d142af0165d6befddf783c8ae8447"
|
||||
ethers@3.0.22:
|
||||
version "3.0.22"
|
||||
resolved "https://registry.yarnpkg.com/ethers/-/ethers-3.0.22.tgz#7fab1ea16521705837aa43c15831877b2716b436"
|
||||
dependencies:
|
||||
aes-js "3.0.0"
|
||||
bn.js "^4.4.0"
|
||||
@ -9180,14 +9269,14 @@ js-sha3@0.5.7:
|
||||
version "0.5.7"
|
||||
resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7"
|
||||
|
||||
js-sha3@0.7.0, js-sha3@^0.7.0:
|
||||
version "0.7.0"
|
||||
resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.7.0.tgz#0a5c57b36f79882573b2d84051f8bb85dd1bd63a"
|
||||
|
||||
js-sha3@^0.3.1:
|
||||
version "0.3.1"
|
||||
resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.3.1.tgz#86122802142f0828502a0d1dee1d95e253bb0243"
|
||||
|
||||
js-sha3@^0.7.0:
|
||||
version "0.7.0"
|
||||
resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.7.0.tgz#0a5c57b36f79882573b2d84051f8bb85dd1bd63a"
|
||||
|
||||
js-tokens@^3.0.0, js-tokens@^3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
|
||||
@ -9371,6 +9460,10 @@ jsonschema@*, jsonschema@1.2.4, jsonschema@^1.2.0:
|
||||
version "1.2.4"
|
||||
resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.4.tgz#a46bac5d3506a254465bc548876e267c6d0d6464"
|
||||
|
||||
jsonschema@1.2.2:
|
||||
version "1.2.2"
|
||||
resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.2.tgz#83ab9c63d65bf4d596f91d81195e78772f6452bc"
|
||||
|
||||
jsprim@^1.2.2:
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
|
||||
@ -10061,7 +10154,7 @@ lodash.uniq@^4.5.0:
|
||||
version "4.5.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
|
||||
|
||||
lodash.values@^4.3.0:
|
||||
lodash.values@4.3.0, lodash.values@^4.3.0:
|
||||
version "4.3.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.values/-/lodash.values-4.3.0.tgz#a3a6c2b0ebecc5c2cba1c17e6e620fe81b53d347"
|
||||
|
||||
@ -10071,6 +10164,10 @@ lodash.words@^3.0.0:
|
||||
dependencies:
|
||||
lodash._root "^3.0.0"
|
||||
|
||||
lodash@4.17.10, lodash@^4.17.10:
|
||||
version "4.17.10"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
|
||||
|
||||
lodash@=4.17.4:
|
||||
version "4.17.4"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
|
||||
@ -10087,10 +10184,6 @@ lodash@^4.14.0, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lo
|
||||
version "4.17.5"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511"
|
||||
|
||||
lodash@^4.17.10:
|
||||
version "4.17.10"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
|
||||
|
||||
lodash@~1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551"
|
||||
@ -16091,7 +16184,7 @@ v8flags@^2.0.2:
|
||||
dependencies:
|
||||
user-home "^1.1.1"
|
||||
|
||||
valid-url@^1.0.9:
|
||||
valid-url@1.0.9, valid-url@^1.0.9:
|
||||
version "1.0.9"
|
||||
resolved "https://registry.yarnpkg.com/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200"
|
||||
|
||||
@ -16538,6 +16631,16 @@ web3@0.20.2:
|
||||
xhr2 "*"
|
||||
xmlhttprequest "*"
|
||||
|
||||
web3@0.20.6:
|
||||
version "0.20.6"
|
||||
resolved "http://registry.npmjs.org/web3/-/web3-0.20.6.tgz#3e97306ae024fb24e10a3d75c884302562215120"
|
||||
dependencies:
|
||||
bignumber.js "git+https://github.com/frozeman/bignumber.js-nolookahead.git"
|
||||
crypto-js "^3.1.4"
|
||||
utf8 "^2.1.1"
|
||||
xhr2 "*"
|
||||
xmlhttprequest "*"
|
||||
|
||||
web3@^0.18.0:
|
||||
version "0.18.4"
|
||||
resolved "https://registry.yarnpkg.com/web3/-/web3-0.18.4.tgz#81ec1784145491f2eaa8955b31c06049e07c5e7d"
|
||||
|
Loading…
x
Reference in New Issue
Block a user