diff options
-rw-r--r-- | packages/web3-wrapper/src/marshaller.ts | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/packages/web3-wrapper/src/marshaller.ts b/packages/web3-wrapper/src/marshaller.ts index fed197822..7d254b49e 100644 --- a/packages/web3-wrapper/src/marshaller.ts +++ b/packages/web3-wrapper/src/marshaller.ts @@ -25,7 +25,14 @@ 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 + */ unmarshalIntoBlockWithoutTransactionData( blockWithHexValues: BlockWithoutTransactionDataRPC, ): BlockWithoutTransactionData { @@ -41,6 +48,10 @@ export const marshaller = { }; return block; }, + /** + * Unmarshall block with transaction data + * @param blockWithHexValues block to unmarshall + */ unmarshalIntoBlockWithTransactionData(blockWithHexValues: BlockWithTransactionDataRPC): BlockWithTransactionData { const block = { ...blockWithHexValues, @@ -59,6 +70,10 @@ export const marshaller = { }); return block; }, + /** + * Unmarshall transaction + * @param txRpc transaction to unmarshall + */ unmarshalTransaction(txRpc: TransactionRPC): Transaction { const tx = { ...txRpc, @@ -73,6 +88,10 @@ export const marshaller = { }; return tx; }, + /** + * Unmarshall transaction data + * @param txDataRpc transaction data to unmarshall + */ unmarshalTxData(txDataRpc: TxDataRPC): TxData { if (_.isUndefined(txDataRpc.from)) { throw new Error(`txData must include valid 'from' value.`); @@ -86,6 +105,10 @@ export const marshaller = { }; return txData; }, + /** + * Marshall transaction data + * @param txData transaction data to marshall + */ marshalTxData(txData: Partial<TxData>): Partial<TxDataRPC> { if (_.isUndefined(txData.from)) { throw new Error(`txData must include valid 'from' value.`); @@ -107,6 +130,10 @@ export const marshaller = { }); return txDataRPC; }, + /** + * Marshall call data + * @param callData call data to marshall + */ marshalCallData(callData: Partial<CallData>): Partial<CallDataRPC> { const callTxDataBase = { ...callData, @@ -119,12 +146,20 @@ export const marshaller = { }; return callDataRPC; }, + /** + * Marshall address + * @param address address to marshall + */ 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 + */ marshalBlockParam(blockParam: BlockParam | string | number | undefined): string | undefined { if (_.isUndefined(blockParam)) { return BlockParamLiteral.Latest; @@ -132,6 +167,10 @@ export const marshaller = { const encodedBlockParam = _.isNumber(blockParam) ? utils.numberToHex(blockParam) : blockParam; return encodedBlockParam; }, + /** + * Unmarshall log + * @param rawLog log to unmarshall + */ unmarshalLog(rawLog: RawLogEntry): LogEntry { const formattedLog = { ...rawLog, |