diff options
author | Fabio Berger <me@fabioberger.com> | 2018-08-15 05:21:47 +0800 |
---|---|---|
committer | Fabio Berger <me@fabioberger.com> | 2018-08-15 05:21:47 +0800 |
commit | 2f2582a0da3095d61a99ef09744dc0995677558e (patch) | |
tree | 54989565919038c42d495dafb7426d4148605e84 /packages/web3-wrapper/src | |
parent | 8169155a6547fb0283cd0f5362aad3c0b173b00b (diff) | |
parent | fadd292ecf367e42154856509d0ea0c20b23f2f1 (diff) | |
download | dexon-sol-tools-2f2582a0da3095d61a99ef09744dc0995677558e.tar dexon-sol-tools-2f2582a0da3095d61a99ef09744dc0995677558e.tar.gz dexon-sol-tools-2f2582a0da3095d61a99ef09744dc0995677558e.tar.bz2 dexon-sol-tools-2f2582a0da3095d61a99ef09744dc0995677558e.tar.lz dexon-sol-tools-2f2582a0da3095d61a99ef09744dc0995677558e.tar.xz dexon-sol-tools-2f2582a0da3095d61a99ef09744dc0995677558e.tar.zst dexon-sol-tools-2f2582a0da3095d61a99ef09744dc0995677558e.zip |
Merge development
Diffstat (limited to 'packages/web3-wrapper/src')
-rw-r--r-- | packages/web3-wrapper/src/index.ts | 14 | ||||
-rw-r--r-- | packages/web3-wrapper/src/marshaller.ts | 48 |
2 files changed, 61 insertions, 1 deletions
diff --git a/packages/web3-wrapper/src/index.ts b/packages/web3-wrapper/src/index.ts index 89cf566db..dc708eb8c 100644 --- a/packages/web3-wrapper/src/index.ts +++ b/packages/web3-wrapper/src/index.ts @@ -1,5 +1,6 @@ export { Web3Wrapper } from './web3_wrapper'; -export { Web3WrapperErrors, NodeType } from './types'; +export { marshaller } from './marshaller'; + export { BlockParam, TxData, @@ -23,3 +24,14 @@ export { JSONRPCErrorCallback, BlockParamLiteral, } from 'ethereum-types'; +export { + Web3WrapperErrors, + NodeType, + CallDataRPC, + CallTxDataBaseRPC, + AbstractBlockRPC, + BlockWithoutTransactionDataRPC, + BlockWithTransactionDataRPC, + TransactionRPC, + TxDataRPC, +} from './types'; diff --git a/packages/web3-wrapper/src/marshaller.ts b/packages/web3-wrapper/src/marshaller.ts index fed197822..572a322d6 100644 --- a/packages/web3-wrapper/src/marshaller.ts +++ b/packages/web3-wrapper/src/marshaller.ts @@ -25,7 +25,15 @@ import { TxDataRPC, } from './types'; +/** + * Utils to convert ethereum structures from user-space format to RPC format. (marshall/unmarshall) + */ export const marshaller = { + /** + * Unmarshall block without transaction data + * @param blockWithHexValues block to unmarshall + * @return unmarshalled block without transaction data + */ unmarshalIntoBlockWithoutTransactionData( blockWithHexValues: BlockWithoutTransactionDataRPC, ): BlockWithoutTransactionData { @@ -41,6 +49,11 @@ export const marshaller = { }; return block; }, + /** + * Unmarshall block with transaction data + * @param blockWithHexValues block to unmarshall + * @return unmarshalled block with transaction data + */ unmarshalIntoBlockWithTransactionData(blockWithHexValues: BlockWithTransactionDataRPC): BlockWithTransactionData { const block = { ...blockWithHexValues, @@ -59,6 +72,11 @@ export const marshaller = { }); return block; }, + /** + * Unmarshall transaction + * @param txRpc transaction to unmarshall + * @return unmarshalled transaction + */ unmarshalTransaction(txRpc: TransactionRPC): Transaction { const tx = { ...txRpc, @@ -73,6 +91,11 @@ export const marshaller = { }; return tx; }, + /** + * Unmarshall transaction data + * @param txDataRpc transaction data to unmarshall + * @return unmarshalled transaction data + */ unmarshalTxData(txDataRpc: TxDataRPC): TxData { if (_.isUndefined(txDataRpc.from)) { throw new Error(`txData must include valid 'from' value.`); @@ -86,6 +109,11 @@ export const marshaller = { }; return txData; }, + /** + * Marshall transaction data + * @param txData transaction data to marshall + * @return marshalled transaction data + */ marshalTxData(txData: Partial<TxData>): Partial<TxDataRPC> { if (_.isUndefined(txData.from)) { throw new Error(`txData must include valid 'from' value.`); @@ -107,6 +135,11 @@ export const marshaller = { }); return txDataRPC; }, + /** + * Marshall call data + * @param callData call data to marshall + * @return marshalled call data + */ marshalCallData(callData: Partial<CallData>): Partial<CallDataRPC> { const callTxDataBase = { ...callData, @@ -119,12 +152,22 @@ export const marshaller = { }; return callDataRPC; }, + /** + * Marshall address + * @param address address to marshall + * @return marshalled address + */ marshalAddress(address: string): string { if (addressUtils.isAddress(address)) { return ethUtil.addHexPrefix(address); } throw new Error(`Invalid address encountered: ${address}`); }, + /** + * Marshall block param + * @param blockParam block param to marshall + * @return marshalled block param + */ marshalBlockParam(blockParam: BlockParam | string | number | undefined): string | undefined { if (_.isUndefined(blockParam)) { return BlockParamLiteral.Latest; @@ -132,6 +175,11 @@ export const marshaller = { const encodedBlockParam = _.isNumber(blockParam) ? utils.numberToHex(blockParam) : blockParam; return encodedBlockParam; }, + /** + * Unmarshall log + * @param rawLog log to unmarshall + * @return unmarshalled log + */ unmarshalLog(rawLog: RawLogEntry): LogEntry { const formattedLog = { ...rawLog, |