From bb440b683a7a4d966694de2b897f51f22dadb31c Mon Sep 17 00:00:00 2001 From: Alex Browne Date: Tue, 23 Oct 2018 16:03:52 -0700 Subject: Implement support for getting and parsing blocks and transactions --- packages/pipeline/src/data_sources/web3/index.ts | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 packages/pipeline/src/data_sources/web3/index.ts (limited to 'packages/pipeline/src/data_sources/web3/index.ts') diff --git a/packages/pipeline/src/data_sources/web3/index.ts b/packages/pipeline/src/data_sources/web3/index.ts new file mode 100644 index 000000000..64e909939 --- /dev/null +++ b/packages/pipeline/src/data_sources/web3/index.ts @@ -0,0 +1,22 @@ +import { Web3ProviderEngine } from '@0x/subproviders'; +import { Web3Wrapper } from '@0x/web3-wrapper'; +import { BlockWithoutTransactionData, Transaction } from 'ethereum-types'; + +export class Web3Source { + private _web3Wrapper: Web3Wrapper; + constructor(provider: Web3ProviderEngine) { + this._web3Wrapper = new Web3Wrapper(provider); + } + + public async getBlockInfoAsync(blockNumber: number): Promise { + const block = await this._web3Wrapper.getBlockIfExistsAsync(blockNumber); + if (block == null) { + return Promise.reject(new Error('Could not find block for given block number: ' + blockNumber)); + } + return block; + } + + public async getTransactionInfoAsync(txHash: string): Promise { + return this._web3Wrapper.getTransactionByHashAsync(txHash); + } +} -- cgit v1.2.3 From 688d277b30b287f66f0dbd49f2a23cab8b256219 Mon Sep 17 00:00:00 2001 From: Alex Browne Date: Mon, 12 Nov 2018 17:36:33 -0800 Subject: Configure linter with --format stylish and fix linter errors --- packages/pipeline/src/data_sources/web3/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'packages/pipeline/src/data_sources/web3/index.ts') diff --git a/packages/pipeline/src/data_sources/web3/index.ts b/packages/pipeline/src/data_sources/web3/index.ts index 64e909939..45a9ea161 100644 --- a/packages/pipeline/src/data_sources/web3/index.ts +++ b/packages/pipeline/src/data_sources/web3/index.ts @@ -3,7 +3,7 @@ import { Web3Wrapper } from '@0x/web3-wrapper'; import { BlockWithoutTransactionData, Transaction } from 'ethereum-types'; export class Web3Source { - private _web3Wrapper: Web3Wrapper; + private readonly _web3Wrapper: Web3Wrapper; constructor(provider: Web3ProviderEngine) { this._web3Wrapper = new Web3Wrapper(provider); } @@ -11,7 +11,7 @@ export class Web3Source { public async getBlockInfoAsync(blockNumber: number): Promise { const block = await this._web3Wrapper.getBlockIfExistsAsync(blockNumber); if (block == null) { - return Promise.reject(new Error('Could not find block for given block number: ' + blockNumber)); + return Promise.reject(new Error(`Could not find block for given block number: ${blockNumber}`)); } return block; } -- cgit v1.2.3