web3dart
web3dart copied to clipboard
Getting transactions with eth_getBlockByNumber
eth_getBlockByNumber returns either transaction hashes or full transactions depending on the second boolean argument. For this we have Web3Client.getBlockInformation that also has an optional boolean argument which is sent but the transactions from the response are never parsed.
I need to parse them and so to add this functionality. We need to decide on Dart data structure because it is a bad practice to use List<dynamic> for this.
I suggest to:
-
Subclass
BlockInformationwithBlockInformationWithTransactionsandBlockInformationWithTransactionHashes. The subclasses would havetransactionsfield of corresponding list type. The base class would not have this field. -
Add 2 methods to Web3Client:
getBlockByNumberWithTransactions,getBlockByNumberWithTransactionHashes. They would return the corresponding block types. Their names are chosen to more closely match the RPC names. They would acceptBlockNumas the first argument instead of String thatgetBlockInformationcurrently accepts, this is for consistency across other methods and for ease of calling. -
Deprecate the existing
getBlockInformationmethod.
I can do this myself. @simolus3 what do you think?