-x 7      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456Alexander Krupenkin 2016-2018BSD3 mail@akru.me experimentalportableSafeLower first char of stringUpper first char of stringAlexander Krupenkin 2016-2018BSD3 mail@akru.me experimental noportableNone7<FT/5KA class for decoding generically composed datatypes from their abi encoding6A class for decoding datatypes from their abi encoding%If your compiler has support for the  DeriveGeneric and DefaultSignatures language extensions ( ghc >= 7.2.1), the 2 method will have default generic implementations.!To use this option, simply add a  deriving 7( clause to your datatype and declare a 2 instance for it without giving a definition for . IA class for encoding generically composed datatypes to their abi encoding 4A class for encoding datatypes to their abi encoding%If your compiler has support for the  DeriveGeneric and DefaultSignatures language extensions ( ghc >= 7.2.1), the  2 method will have default generic implementations.!To use this option, simply add a  deriving 7( clause to your datatype and declare a  2 instance for it without giving a definition for  . .A class for abi encoding datatype descriptions        Alexander Krupenkin 2016-2018BSD3 mail@akru.me experimental unportableNone&',-;<=>?AFSTV3['Unwrap all the Tagged items in an HList!Sort a Tagged HList$.Generic representation to HList representation !#"$&%'()*'()$%&,+*!"#-/ .210436578  !"#$%&'())0Alexander Krupenkin 2016-2018BSD3 mail@akru.me experimental noportableNone>9Method argument; Argument name< Argument type@Event argumentB Argument nameC Argument typeD4Argument is indexed (e.g. placed on topics of event)J#Elementrary contract interface itemKContract constructorLMethodMEventNFallback function]Solidity types and parsersg5Contract ABI is a list of method / event declarationsj5Take a signature by given decl, e.g. foo(uint,string)8,Localy compute Keccak-256 hash of given textk)Generate method selector by given method  DelcarationlGenerate event topic0 hash by givent event  Delcaration(9:;<@ABCDJKLMNOPQRSTUVW]^_`abcdefghijklm(ghiJKLMNOPQRSTUVW9:;<@ABCDjkl]^_`abcdefm9:;<@ABCDJ KLMNOPQRSTUVW] ^_`abcdefghiAlexander Krupenkin 2016-2018BSD3 mail@akru.me experimental noportableNone -6<FKSTVB5wxyzwxzyw9:x;<Alexander Krupenkin 2016-2018BSD3 mail@akru.me experimental noportableNone -;<=FSTVD Alexander Krupenkin 2016-2018BSD3 mail@akru.me experimental noportableNone6KE Alexander Krupenkin 2016-2018BSD3 mail@akru.me experimental noportableNone"#,-;<=FSTVGB=>?@ABC Alexander Krupenkin 2016-2018BSD3 mail@akru.me experimental noportableNoneFTK (Encode datatype to Ethereum ABI-encodingGeneric driven version of *Decode datatype from Ethereum ABI-encodingGeneric driven version of  Alexander Krupenkin 2016-2018BSD3 mail@akru.me experimental noportableNone-6LEthereum account addressDEAlexander Krupenkin 2016-2018BSD3 mail@akru.me experimental noportableNone<FTN Alexander Krupenkin 2016-2018BSD3 mail@akru.me experimental noportableNoneOAlexander Krupenkin 2016-2018BSD3 mail@akru.me experimental noportableNone,FVQ>Alexander Krupenkin 2016-2018BSD3 mail@akru.me experimental noportableNoneRAlexander Krupenkin 2016-2018BSD3 mail@akru.me experimental noportableNone06VTThe type for one-tuplesAlexander Krupenkin 2016-2018BSD3 mail@akru.me experimental unportableSafe6;=VZKEther unit typeEther unit typeFinney unit typeSzabo unit typeShannon unit typeLovelace unit typeBabbage unit type Wei unit typeFValue abstractionUnit specificationEthereum value unitMake a value from integer weiConvert a value to integer wei Conversion beween two values  FGH Alexander Krupenkin 2016BSD3 mail@akru.me experimentalportableNone16K,&9GShould be viewed as type to representing QUANTITY in Web3 JSON RPC docsWhen encoding QUANTITIES (integers, numbers): encode as hex, prefix with "0x", the most compact representation (slight exception: zero should be represented as "0x0"). Examples:0x41 (65 in decimal) 0x400 (1024 in decimal) WRONG: 0x (should always have at least one digit - zero is "0x0") WRONG: 0x0400 (no leading zeroes allowed) WRONG: ff (must be prefixed 0x)U!Changes pulled by low-level call eth_getFilterChanges,  eth_getLogs, and eth_getFilterLogs_Event filter identifierrThe contract call params~Transaction information)DATA, 32 Bytes - hash of the transaction.KQUANTITY - the number of transactions made by the sender prior to this one.XDATA, 32 Bytes - hash of the block where this transaction was in. null when its pending.MQUANTITY - block number where this transaction was in. null when its pending.ZQUANTITY - integer of the transactions index position in the block. null when its pending.'DATA, 20 Bytes - address of the sender.XDATA, 20 Bytes - address of the receiver. null when its a contract creation transaction.$QUANTITY - value transferred in Wei.3QUANTITY - gas price provided by the sender in Wei.&QUANTITY - gas provided by the sender.0DATA - the data send along with the transaction.%Low-level event filter data structure=The contract call mode describe used state: latest or pendingBlock information9QUANTITY - the block number. null when its pending block.@DATA, 32 Bytes - hash of the block. null when its pending block.*DATA, 32 Bytes - hash of the parent block.QDATA, 8 Bytes - hash of the generated proof-of-work. null when its pending block.6DATA, 32 Bytes - SHA3 of the uncles data in the block.ZDATA, 256 Bytes - the bloom filter for the logs of the block. null when its pending block.?DATA, 32 Bytes - the root of the transaction trie of the block.?DATA, 32 Bytes - the root of the final state trie of the block.<DATA, 32 Bytes - the root of the receipts trie of the block.VDATA, 20 Bytes - the address of the beneficiary to whom the mining rewards were given.4QUANTITY - integer of the difficulty for this block.IQUANTITY - integer of the total difficulty of the chain until this block.,DATA - the "extra data" field of this block.3QUANTITY - integer the size of this block in bytes.1QUANTITY - the maximum gas allowed in this block.@QUANTITY - the total used gas by all transactions in this block.>QUANTITY - the unix timestamp for when the block was collated.Array of transaction objects.Array - Array of uncle hashes.O23654789:;UV^]\[ZYXW_`acbrsxwvuty~h9:;A@?>=<78CB23456ddabcf_`hgUVWXYZ[\]^zzrstuvwxy~ 23456789:;U VWXYZ[\]^_`abcrstuvwxy~ Alexander Krupenkin 2016-2018BSD3 mail@akru.me experimental unportableNone,-;<=>?AFSTVIIA is a class which indicates that given event components of types i | and ni$, we can construct an event of type ef. The functional dependency is valid | becasue of how the template haskell generates the event types.J=Indexed event args come back in as a list of encoded values. Jg | is used to decode these values so that they can be used to reconstruct the | entire decoded event.KK; decodes both the indexed and non-indexed event components.Kis anonymous eventILMNJOAlexander Krupenkin 2016-2018BSD3 mail@akru.me experimentalportableNone 7;<=>?AFT"Typeclass for JSON-RPC monad base.If you have monad with P, Q and R7 instances, it can be used as base for JSON-RPC calls.Example: | newtype MyMonad a = ... instance Remote MyMonad (Mymonad a) foo :: Int -> Bool -> Mymonad Text foo = remote "foo" JSON-RPC error messageSJSON-RPC response.TJSON-RPC request.UJSON-RPC minimal client configJSON-RPC server URIName of called method.Remote call of JSON-RPC method.&Arguments of function are stored into params request array.Example: E myMethod :: Int -> Bool -> m String myMethod = remote "myMethod"  VVSWXTYZ[\Alexander Krupenkin 2016BSD3 mail@akru.me experimentalportableNone6;=>?KS  Web3 ProviderSome peace of error responseJSON-RPC communication errorError in parser stateCommon head for user errors2Any communication with Ethereum node wrapped with  monad) monad runner, using the supplied Manager monad runner runner for default providerFork  with the same  Alexander Krupenkin 2016BSD3 mail@akru.me experimentalunknownNone$Returns current node version string.EReturns Keccak-256 (not the standardized SHA3-256) of the given data.Alexander Krupenkin 2016BSD3 mail@akru.me experimentalunknownNoneReturns the current network id.EReturns true if client is actively listening for network connections.:Returns number of peers currently connected to the client.Alexander Krupenkin 2016BSD3 mail@akru.me experimentalunknownNone&.Returns the current ethereum protocol version.;Returns an object with data about the sync status or false.$Returns the client coinbase address.5Returns true if client is actively mining new blocks.EReturns the number of hashes per second that the node is mining with.=Returns the value from a storage position at a given address.8Returns the number of transactions sent from an address.YReturns the number of transactions in a block from a block matching the given block hash.OReturns the number of transactions in a block matching the given block number.TReturns the number of uncles in a block from a block matching the given block hash. VReturns the number of uncles in a block from a block matching the given block number.  Returns code at a given address. xReturns an Ethereum specific signature with: sign(keccak256("x19Ethereum Signed Message:n" + len(message) + message))). ^Creates new message call transaction or a contract creation, if the data field contains code. UCreates new message call transaction or a contract creation for signed transactions.4Returns the balance of the account of given address.Creates a filter object, based on filter options, to notify when the state changes (logs). To check if the state has changed, call .\Polling method for a filter, which returns an array of logs which occurred since last poll.[Uninstalls a filter with given id. Should always be called when watch is no longer needed.<Returns an array of all logs matching a given filter object.[Executes a new message call immediately without creating a transaction on the block chain.Makes a call or transaction, which won't be added to the blockchain and returns the used gas, which can be used for estimating the used gas.*Returns information about a block by hash.2Returns information about a block by block number.JReturns the information about a transaction requested by transaction hash.UReturns information about a transaction by block hash and transaction index position.XReturns information about a transaction by block number and transaction index position.Returns the receipt of a transaction by transaction hash. TODO must create new type, TxReceipt getTransactionReceipt :: Text -> Web3 TxReceipt getTransactionReceipt = remote "getTransactionReceipt",Returns a list of addresses owned by client.dPolling method for a block filter, which returns an array of block hashes occurred since last poll.(Returns the number of most recent block.)Returns the current price per gas in wei.OReturns information about a uncle of a block by hash and uncle index position. QReturns information about a uncle of a block by number and uncle index position.!Creates a filter in the node, to notify when new pending transactions arrive. To check if the state has changed, call getFilterChanges. Returns a FilterId.";Returns an array of all logs matching filter with given id.#fReturns the hash of the current block, the seedHash, and the boundary condition to be met ("target").$Used for submitting a proof-of-work solution. Parameters: 1. DATA, 8 Bytes - The nonce found (64 bits) 2. DATA, 32 Bytes - The header's pow-hash (256 bits) 3. DATA, 32 Bytes - The mix digest (256 bits)%Used for submitting mining hashrate. Parameters: 1. Hashrate, a hexadecimal string representation (32 bytes) of the hash rate 2. ID, String - A random hexadecimal(32 bytes) ID identifying the client'      !"#$%'      !"#$%Alexander Krupenkin 2016-2018BSD3 mail@akru.me experimental unportableNoneV ((0 is used to submit a state changing transaction.))F is used to call contract methods that have no state changing effects.,)Send transaction without method selection(Call configuration method data)Call configuration0State mode for constant call (latest or pending) Method data wrapped result&'()&')(&'Alexander Krupenkin 2016-2018BSD3 mail@akru.me experimental unportableNone<" -Read contract ABI from file.QQ reader for contract ABI]'Instance declaration with empty context^1Simple data type declaration with one constructor_Simple function declaration`!ABI and Haskell types associationaFunction argument to TH typeb$this function gives appropriate names for the accessors in the following way | argName -> evArgName | arg_name -> evArg_name | _argName -> evArgName | "" -> evi , for example Transfer(address, address uint256) ~> Transfer {transfer1 :: address, transfer2 :: address, transfer3 :: Integer}cABI to declarations converterdABI information stringe Is constant? Function nameFunction data name ParametersResults-..-Alexander Krupenkin 2016-2018BSD3 mail@akru.me experimental unportableNone "#>?FTVz /Event callback control response0Continue to listen events1Terminate event listener2Run  'event\'' one block at a time.3Same as 2., but does not immediately spawn a new thread.4 'eventMany\''/ take s a filter, a window size, and a handler.(It runs the handler over the results of  eventLogs results using f. If no 1V action is thrown and the toBlock is not yet reached, it then transitions to polling.f=Effectively a mapM_ over the machine using the given handler.gg streams the h and calls eth_getLogs on these  objects.iKPolls a filter from the given filterId until the target toBlock is reached.hhq is a machine which represents taking an initial filter over a range of blocks b1, ... bn (where bn is possibly  or , but b1 is an actual 7W), and making a stream of filter objects which cover this filter in intervals of size  windowSize". The machine halts whenever the  fromBlock@ of a spanning filter either (1) excedes then initial filter's toBlock) or (2) is greater than the chain head's 7.j Coerce a  into a numerical block number./01234/01234klmnopqrs/01Alexander Krupenkin 2016-2018BSD3 mail@akru.me experimental unportableNone &%wx rsytuvwx(/0123(rstuvwxy/0123wxt !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[[\]^_`aabcdefghijklmnopqrstuvwxyz{|}~         !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPPQRSTTUUVWXYZ[\]^_`abcdefghijklmnoppqrstuvwxyyz{|}~      !"#$%&'()*+,-./0123456789:&;<=>?@ABCDEFGHIJKL M N O O P Q R  STUVWXYZ[[\]^_`abcdefghifjgklmnopqrstuvwxyz{||}~#web3-0.7.0.0-3hRETfypdz0IWrclyn4h7yNetwork.Ethereum.ABI.Prim.ListNetwork.Ethereum.ABI.Prim.Bytes Network.Ethereum.ABI.Prim.TaggedData.String.ExtraNetwork.Ethereum.ABI.Class#Network.Ethereum.ABI.Event.InternalNetwork.Ethereum.ABI.JsonNetwork.Ethereum.ABI.Prim.IntNetwork.Ethereum.ABI.Prim.BoolNetwork.Ethereum.ABI.GenericNetwork.Ethereum.ABI.Codec!Network.Ethereum.ABI.Prim.Address Network.Ethereum.ABI.Prim.String"Network.Ethereum.ABI.Prim.Tuple.THNetwork.Ethereum.ABI.Prim.TupleNetwork.Ethereum.UnitNetwork.Ethereum.Web3.TypesNetwork.Ethereum.ABI.EventNetwork.JsonRpc.TinyClientNetwork.Ethereum.Web3.ProviderNetwork.Ethereum.Web3.Web3Network.Ethereum.Web3.NetNetwork.Ethereum.Web3.Eth Network.Ethereum.Contract.MethodNetwork.Ethereum.Contract.THNetwork.Ethereum.Contract.EventNetwork.Ethereum.Web3%basement-0.0.7-AsRzReOE7L68EDipEfgoG3Basement.Sized.ListListN%memory-0.14.16-72oqrxuVMHH8QEhbVKCSm3Data.ByteArray.BytesBytes#tagged-0.8.5-DEACkPjenUr7rRjlJv4vjE Data.TaggedTagged toLowerFirst toUpperFirst GenericABIGetgAbiGetABIGetabiGet GenericABIPutgAbiPutABIPutabiPutABIType isDynamicMergeIndexedArgumentsMergeIndexedArguments'mergeIndexedArgumentsHListMergeSort MergeSort'mergeSortHList HListMergeConcat mergeHListUnTagUnTag'unTag InsertCmp InsertCmp' insertCmpInsertInsert'insertSortSort'sortHListReptoHList fromHListHListHNil:<$fHListRepSOPas $fHListRepNP:$fHListRepNP[]$fSort[] $fInsertx[]$fSort:$fInsertCmpGTxyys$fInsertCmpLTxyys$fInsertTagged:$fUnTag: $fUnTag[]$fHListMerge:bs$fHListMerge[]bs$fHListMergeSortasbs$fMergeIndexedArgumentsasbs FunctionArg funArgName funArgType$fShowFunctionArg$fEqFunctionArg$fOrdFunctionArgEventArg eveArgName eveArgType eveArgIndexed$fFromJSONFunctionArg$fToJSONFunctionArg$fShowEventArg $fEqEventArg $fOrdEventArg Declaration DConstructor DFunctionDEvent DFallback conInputsfunName funConstant funInputs funOutputseveName eveInputs eveAnonymous falPayable$fFromJSONEventArg$fToJSONEventArg$fShowDeclaration$fEqDeclaration$fOrdDeclaration SolidityType SolidityBoolSolidityAddress SolidityUint SolidityIntSolidityStringSolidityBytesN SolidityBytesSolidityVector SolidityArray ContractABIunABI signaturemethodIdeventIdparseSolidityType$fFromJSONDeclaration$fToJSONDeclaration$fShowContractABI$fToJSONContractABI$fFromJSONContractABI$fEqContractABI$fOrdContractABI$fEqSolidityType$fShowSolidityTypeIntNUIntN putWord256 getWord256$fIntegralWord256 $fRealWord256 $fABIPutUIntN $fABIGetUIntN$fABITypeUIntN$fIntegralUIntN $fRealUIntN$fBoundedUIntN $fShowUIntN $fABIPutIntN $fABIGetIntN $fABITypeIntN$fIntegralIntN $fRealIntN $fNumIntN $fBoundedIntN $fShowIntN $fEqUIntN $fOrdUIntN $fEnumUIntN $fNumUIntN $fBitsUIntN$fGenericUIntN$fEqIntN $fOrdIntN $fEnumIntN $fBitsIntN $fGenericIntNBytesN $fToJSONBytes$fFromJSONBytes$fIsStringBytes $fABIPutBytes $fABIGetBytes$fABITypeBytes$fABIPutByteString$fABIGetByteString$fABITypeByteString$fIsStringSizedByteArray$fABIPutSizedByteArray$fABIGetSizedByteArray$fABITypeSizedByteArray $fABIPutBool $fABIGetBool $fABITypeBool$fGenericABIGetSOP$fGenericABIGetNP$fGenericABIGetNP0$fOrdEncodedValue$fEqEncodedValue$fGenericABIPutSOP $fABIDataNP $fABIDataNP0encodeencode'decodedecode'Address$fToJSONAddress$fFromJSONAddress$fABIPutAddress$fABIGetAddress$fABITypeAddress$fIsStringAddress $fShowAddress$fGenericAddress $fEqAddress $fOrdAddress$fGenericAddress0 $fIsListListN $fABIGetListN $fABIPutListN$fABITypeListN $fABIGet[] $fABIPut[] $fABIType[] $fABIGetText $fABIPutText $fABITypeText$fGenericTagged$fABIGetTagged$fABIPutTagged$fABITypeTagged tupleDecs Singleton unSingleton$fABIPutSingleton$fABIGetSingleton$fABITypeSingleton$fGenericSingleton$fGenericSingleton0$fShowSingleton $fEqSingleton$fABIPut(,,,,,,,,,,,,,,,,,,,)$fABIGet(,,,,,,,,,,,,,,,,,,,)$fABIType(,,,,,,,,,,,,,,,,,,,)$fABIPut(,,,,,,,,,,,,,,,,,,)$fABIGet(,,,,,,,,,,,,,,,,,,)$fABIType(,,,,,,,,,,,,,,,,,,)$fABIPut(,,,,,,,,,,,,,,,,,)$fABIGet(,,,,,,,,,,,,,,,,,)$fABIType(,,,,,,,,,,,,,,,,,)$fABIPut(,,,,,,,,,,,,,,,,)$fABIGet(,,,,,,,,,,,,,,,,)$fABIType(,,,,,,,,,,,,,,,,)$fABIPut(,,,,,,,,,,,,,,,)$fABIGet(,,,,,,,,,,,,,,,)$fABIType(,,,,,,,,,,,,,,,)$fABIPut(,,,,,,,,,,,,,,)$fABIGet(,,,,,,,,,,,,,,)$fABIType(,,,,,,,,,,,,,,)$fABIPut(,,,,,,,,,,,,,)$fABIGet(,,,,,,,,,,,,,)$fABIType(,,,,,,,,,,,,,)$fABIPut(,,,,,,,,,,,,)$fABIGet(,,,,,,,,,,,,)$fABIType(,,,,,,,,,,,,)$fABIPut(,,,,,,,,,,,)$fABIGet(,,,,,,,,,,,)$fABIType(,,,,,,,,,,,)$fABIPut(,,,,,,,,,,)$fABIGet(,,,,,,,,,,)$fABIType(,,,,,,,,,,)$fABIPut(,,,,,,,,,)$fABIGet(,,,,,,,,,)$fABIType(,,,,,,,,,)$fABIPut(,,,,,,,,)$fABIGet(,,,,,,,,)$fABIType(,,,,,,,,)$fABIPut(,,,,,,,)$fABIGet(,,,,,,,)$fABIType(,,,,,,,)$fABIPut(,,,,,,)$fABIGet(,,,,,,)$fABIType(,,,,,,)$fABIPut(,,,,,)$fABIGet(,,,,,)$fABIType(,,,,,)$fABIPut(,,,,)$fABIGet(,,,,)$fABIType(,,,,) $fABIPut(,,,) $fABIGet(,,,)$fABIType(,,,) $fABIPut(,,) $fABIGet(,,) $fABIType(,,) $fABIPut(,) $fABIGet(,) $fABIType(,)KEtherEtherFinneySzaboShannonLovelaceBabbageWeiUnitSpecdividernameUnitfromWeitoWeiconvert $fReadValue $fShowValue$fFractionalValue $fNumValue$fUnitSpecValue $fUnitValue $fUnitSpecU0 $fUnitSpecU1 $fUnitSpecU2 $fUnitSpecU3 $fUnitSpecU4 $fUnitSpecU5 $fUnitSpecU6 $fUnitSpecU7 $fEqValue $fOrdValue$fGenericValue SyncActivesyncStartingBlocksyncCurrentBlocksyncHighestBlock BlockNumberQuantity unQuantity$fUnitSpecQuantity$fUnitQuantity$fFractionalQuantity$fFromJSONQuantity$fToJSONQuantity$fIsStringQuantity$fToJSONBlockNumber$fFromJSONBlockNumber$fShowQuantity$fReadQuantity $fNumQuantity$fRealQuantity$fEnumQuantity $fEqQuantity $fOrdQuantity$fGenericQuantity$fEqBlockNumber$fShowBlockNumber$fGenericBlockNumber$fOrdBlockNumber$fReadBlockNumber$fNumBlockNumber$fEqSyncActive$fGenericSyncActive$fShowSyncActiveChangechangeLogIndexchangeTransactionIndexchangeTransactionHashchangeBlockHashchangeBlockNumber changeAddress changeData changeTopicsFilterId SyncingStateSyncing NotSyncing$fFromJSONSyncActive$fToJSONSyncActive$fFromJSONSyncingState$fToJSONFilterId$fFromJSONFilterId$fEqSyncingState$fGenericSyncingState$fShowSyncingState$fShowFilterId $fEqFilterId $fOrdFilterId$fGenericFilterId $fShowChange$fGenericChangeCallcallFromcallTocallGas callGasPrice callValuecallData$fFromJSONChange$fToJSONChange $fShowCall $fGenericCall TransactiontxHashtxNonce txBlockHash txBlockNumbertxTransactionIndextxFromtxTotxValue txGasPricetxGastxInputFilter filterAddress filterTopicsfilterFromBlock filterToBlock DefaultBlockBlockWithNumberEarliestLatestPending $fDefaultCall$fFromJSONCall $fToJSONCall$fOrdDefaultBlock$fToJSONDefaultBlock$fToJSONFilter$fShowDefaultBlock$fEqDefaultBlock $fShowFilter$fGenericFilter$fShowTransaction$fGenericTransactionBlock blockNumber blockHashblockParentHash blockNonceblockSha3UnclesblockLogsBloomblockTransactionsRootblockStateRootblockReceiptRoot blockMinerblockDifficultyblockTotalDifficultyblockExtraData blockSize blockGasLimit blockGasUsedblockTimestampblockTransactions blockUncles$fFromJSONTransaction$fToJSONTransaction $fShowBlock$fGenericBlockTxHash$fFromJSONBlock $fToJSONBlock DecodeEvent decodeEvent IndexedEvent isAnonymous$fArrayParserSOP$fArrayParserNP$fArrayParserNP0$fCombineChangeinie$fDecodeEventTYPETYPEinieJsonRpcExceptionParsingException CallExceptionRemoteRpcErrorerrCode errMessageerrData ServerUri MethodNameremote$fToJSONRequest$fFromJSONRpcError$fShowRpcError$fFromJSONResponse $fRemotem(->)$fExceptionJsonRpcException $fEqRpcError $fEqResponse$fShowResponse$fEqJsonRpcException$fShowJsonRpcExceptionProvider HttpProvider Web3Error JsonRpcFail ParserFailUserFailWeb3unWeb3 runWeb3WithrunWeb3'runWeb3forkWeb3$fRemoteWeb3Web3$fMonadReader(,)Web3$fExceptionWeb3Error$fDefaultProvider $fFunctorWeb3$fApplicativeWeb3 $fMonadWeb3 $fMonadIOWeb3$fMonadThrowWeb3$fShowWeb3Error $fEqWeb3Error$fGenericWeb3Error$fShowProvider $fEqProvider$fGenericProvider clientVersionsha3version listening peerCountprotocolVersionsyncingcoinbasemininghashrate getStorageAtgetTransactionCountgetBlockTransactionCountByHash getBlockTransactionCountByNumbergetUncleCountByBlockHashgetUncleCountByBlockNumbergetCodesignsendTransactionsendRawTransaction getBalance newFiltergetFilterChangesuninstallFiltergetLogscall estimateGasgetBlockByHashgetBlockByNumbergetTransactionByHash!getTransactionByBlockHashAndIndex#getTransactionByBlockNumberAndIndexaccountsnewBlockFiltergetBlockFilterChangesgasPricegetUncleByBlockHashAndIndexgetUncleByBlockNumberAndIndexnewPendingTransactionFilter getFilterLogsgetWork submitWorksubmitHashrateMethodselectorsendTx $fABIPut() $fABIType() $fMethod()abiFromabi EventAction ContinueEventTerminateEventeventevent' eventMany'$fShowEventAction$fEqEventAction+generics-sop-0.3.2.0-6KSYi96kG7ZAyHbFGBJahbGenerics.SOP.UniverseGenericunIntNunUIntNABIData _serialize EncodedValueorderoffsetencoding unAddressValueMkValueunValue CombineChange ArrayParser parseChange combineChangeEvent arrayParserbaseControl.Monad.IO.ClassMonadIO'exceptions-0.8.3-20U1VtA94BV9vaBjLbPB9JControl.Monad.Catch MonadThrow mtl-2.2.2-8XaWcIom9rnGOzc8cJf7KUControl.Monad.Reader.Class MonadReaderResponseRequestConfigremote_rsResultrqMethodrqIdrqParams instanceD'dataD'funD'toHSType funBangTypemakeArgs quoteAbiDec quoteAbiExp funWrapperreduceEventStreamplayLogs filterStream pollFilter mkBlockNumberFilterStreamStatefssCurrentBlockfssInitialFilter fssWindowSize FilterChangefilterChangeRawChangefilterChangeEvent