diff options
author | Alex Browne <stephenalexbrowne@gmail.com> | 2018-10-24 07:03:52 +0800 |
---|---|---|
committer | Fred Carlsen <fred@sjelfull.no> | 2018-12-06 19:04:24 +0800 |
commit | 1402a3dfae1be32a346f8b75a4209950bda00b74 (patch) | |
tree | cdd899665634759da68b51a6d4b57e6a7c47a10e /packages/pipeline/src/data_sources | |
parent | 64865bc10f88f97c3e406bbc1d39e68ca45380ef (diff) | |
download | dexon-sol-tools-1402a3dfae1be32a346f8b75a4209950bda00b74.tar dexon-sol-tools-1402a3dfae1be32a346f8b75a4209950bda00b74.tar.gz dexon-sol-tools-1402a3dfae1be32a346f8b75a4209950bda00b74.tar.bz2 dexon-sol-tools-1402a3dfae1be32a346f8b75a4209950bda00b74.tar.lz dexon-sol-tools-1402a3dfae1be32a346f8b75a4209950bda00b74.tar.xz dexon-sol-tools-1402a3dfae1be32a346f8b75a4209950bda00b74.tar.zst dexon-sol-tools-1402a3dfae1be32a346f8b75a4209950bda00b74.zip |
Implement support for getting and parsing blocks and transactions
Diffstat (limited to 'packages/pipeline/src/data_sources')
-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); + } +} |