aboutsummaryrefslogtreecommitdiffstats
path: root/packages/pipeline/src/data_sources
diff options
context:
space:
mode:
authorAlex Browne <stephenalexbrowne@gmail.com>2018-10-24 07:03:52 +0800
committerFred Carlsen <fred@sjelfull.no>2018-12-06 19:04:24 +0800
commit1402a3dfae1be32a346f8b75a4209950bda00b74 (patch)
treecdd899665634759da68b51a6d4b57e6a7c47a10e /packages/pipeline/src/data_sources
parent64865bc10f88f97c3e406bbc1d39e68ca45380ef (diff)
downloaddexon-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.ts22
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);
+ }
+}