diff options
author | Alex Browne <stephenalexbrowne@gmail.com> | 2018-12-06 03:08:19 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-06 03:08:19 +0800 |
commit | b2dd5495bcf13a9ea71498b5def12c75589b0156 (patch) | |
tree | 0e0d728d540e747c32a083d604d7916a35ea95cf /packages/pipeline/src/data_sources/web3/index.ts | |
parent | 72a30260d88e722a6b076134693360c573f6c70f (diff) | |
parent | e0348f9c044b4909260e4864398b4f50232da620 (diff) | |
download | dexon-sol-tools-b2dd5495bcf13a9ea71498b5def12c75589b0156.tar dexon-sol-tools-b2dd5495bcf13a9ea71498b5def12c75589b0156.tar.gz dexon-sol-tools-b2dd5495bcf13a9ea71498b5def12c75589b0156.tar.bz2 dexon-sol-tools-b2dd5495bcf13a9ea71498b5def12c75589b0156.tar.lz dexon-sol-tools-b2dd5495bcf13a9ea71498b5def12c75589b0156.tar.xz dexon-sol-tools-b2dd5495bcf13a9ea71498b5def12c75589b0156.tar.zst dexon-sol-tools-b2dd5495bcf13a9ea71498b5def12c75589b0156.zip |
Merge pull request #1377 from 0xProject/feature/pipeline-cleanup-mega-rebase
Merge all pipeline code into development
Diffstat (limited to 'packages/pipeline/src/data_sources/web3/index.ts')
-rw-r--r-- | packages/pipeline/src/data_sources/web3/index.ts | 22 |
1 files changed, 22 insertions, 0 deletions
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..45a9ea161 --- /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 readonly _web3Wrapper: Web3Wrapper; + constructor(provider: Web3ProviderEngine) { + this._web3Wrapper = new Web3Wrapper(provider); + } + + public async getBlockInfoAsync(blockNumber: number): Promise<BlockWithoutTransactionData> { + 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<Transaction> { + return this._web3Wrapper.getTransactionByHashAsync(txHash); + } +} |