diff options
author | Alex Browne <stephenalexbrowne@gmail.com> | 2018-10-24 07:03:52 +0800 |
---|---|---|
committer | Alex Browne <stephenalexbrowne@gmail.com> | 2018-12-05 06:24:48 +0800 |
commit | bb440b683a7a4d966694de2b897f51f22dadb31c (patch) | |
tree | 216304717c10083d477898576beb1c4658163a7c /packages/pipeline/src/data_sources/web3 | |
parent | d959b3e23402840661f45a2b5ecd5ca64dcdabf3 (diff) | |
download | dexon-0x-contracts-bb440b683a7a4d966694de2b897f51f22dadb31c.tar dexon-0x-contracts-bb440b683a7a4d966694de2b897f51f22dadb31c.tar.gz dexon-0x-contracts-bb440b683a7a4d966694de2b897f51f22dadb31c.tar.bz2 dexon-0x-contracts-bb440b683a7a4d966694de2b897f51f22dadb31c.tar.lz dexon-0x-contracts-bb440b683a7a4d966694de2b897f51f22dadb31c.tar.xz dexon-0x-contracts-bb440b683a7a4d966694de2b897f51f22dadb31c.tar.zst dexon-0x-contracts-bb440b683a7a4d966694de2b897f51f22dadb31c.zip |
Implement support for getting and parsing blocks and transactions
Diffstat (limited to 'packages/pipeline/src/data_sources/web3')
-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..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<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); + } +} |