U      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                Alexander Krupenkin 2016BSD3 mail@akru.me experimentalportableSafeLower first char of stringUpper first char of stringAlexander Krupenkin 2016BSD3 mail@akru.me experimentalportableNoneMethod argument Argument name Argument type Event argument  Argument name  Argument type 4Argument is indexed (e.g. placed on topics of event)#Elementrary contract interface itemContract constructorMethodEventFallback function&5Contract ABI is a list of method / event declarations)5Take a signature by given decl, e.g. foo(uint,string),Localy compute Keccak-256 hash of given text*)Generate method selector by given method  Delcaration+Generate event topic0 hash by givent event  Delcaration'  !&'()*+,-./  &'()*+&'(  )*+    !&'()*+,-./Alexander Krupenkin 2016BSD3 mail@akru.me experimentalunknownNone3Ethereum account address4Parse 3 from text string5Render 3 to text string6 Null address 3456789:345634563456789: Alexander Krupenkin 2016BSD3 mail@akru.me experimentalportableNone)Make 256bit alignment; lazy (left, right) Left/Right specialized alignment Left/Right specialized alignment !"#$%&'(  ! !"#$%&'(Alexander Krupenkin 2016BSD3 mail@akru.me experimentalportableNone=Contract ABI data codec@,Encode value into abi-encoding represenationAParse encoded value =>?@ABCDEFGH=>?@A=>?@A=>?@ABCDEFGHAlexander Krupenkin 2016BSD3 mail@akru.me experimental noportableNone,DIDynamic length byte arrayLFixed length byte arrayIJKLMN)*+OPQRSTIJKLMNLMNIJK IJKLMN)*+OPQRST Alexander Krupenkin 2016BSD3 mail@akru.me experimentalportableNone,'ABI data multiparam internal serializer-rSerialize with accumulator: pair of argument count and list of pair header and data part (for dynamic arguments).Argument offset calculator/Static argument parser0Dynamic argument parser1*Generator for tupleP{N} function signature2 Generator for tupleP{N} function3?Make a ABIEncoding tuple instance with given count of arguments ,-.Count of argumentsPrevious dynamic argumentsOffset/012456378,-/03 ,-./012456378Alexander Krupenkin 2016BSD3 mail@akru.me experimentalportableNoneYSingleton parameter instance]#Tuple instances from 2 to 15 params YZ[\9]:^;_<`=a>b?c@dAeBfCgDhEiFjYZ[YZ[YZ[\9]:^;_<`=a>b?c@dAeBfCgDhEiFjAlexander Krupenkin 2016BSD3 mail@akru.me experimentalportableNone0kJSON-RPC error messagepSome peace of error responseqJSON-RPC communication errorrError in parser statesCommon head for user errorstEthereum node paramsvJSON-RPC node URIw2Any communication with Ethereum node wrapped with w monadxRun w monad with default configyRun w monad with given configuration%Low-level event filter data structure!Changes pulled by low-level call eth_getFilterChangesEvent filder identThe contract call paramsTransaction 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.Transaction hash text string=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.YklmnopqrstuvwxyzOklmnopqrstuvwxy_wtuvzpqrsxyklmnoklmnopqrstuvwxyz  Alexander Krupenkin 2016BSD3 mail@akru.me experimentalportableNone9;GJSON-RPC response.HJSON-RPC request.IName of called method.JGRemote call of JSON-RPC method. Arguments of function are stored into params request array.GKLHMNOPQRIJSTUVWIJ GKLHMNOPQRIJSTUVWAlexander Krupenkin 2016BSD3 mail@akru.me experimentalunknownNone $Returns current node version string.EReturns Keccak-256 (not the standardized SHA3-256) of the given data.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 getFilterChanges.\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.[Executes a new message call immediately without creating a transaction on the block chain.^Creates new message call transaction or a contract creation, if the data field contains code.,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 information about a block by hash. Alexander Krupenkin 2016BSD3 mail@akru.me experimental unportableSafe9;KEther unit typeEther unit typeFinney unit typeSzabo unit typeGWei unit typeMWei unit typeKWei unit type Wei unit typeXValue abstractionYUnit specificationEthereum value unitMake a value from integer weiConvert a value to integer weiConversion beween two values)Z[\]^_`aXbcYdef "Z[\]^_`aXbcYdef Alexander Krupenkin 2016BSD3 mail@akru.me experimentalportableNone Contract method caller&Send a transaction for given contract 3, value and input dataConstant call given contract 3 in mode and given input dataContract event listener=Event filter structure used by low-level subscription methods+Start an event listener for given contract 3 and callbackEvent callback control response Continue to listen events Terminate event listener 4Zero value is used to send transaction without money   ghi         ghi Alexander Krupenkin 2016BSD3 mail@akru.me experimentalunknownNone'3IJKLMNpqrstuvwxy   wtuvpqrsyx   LMNIJK3Alexander Krupenkin 2016BSD3 mail@akru.me experimental unportableNoneRead contract ABI from fileQQ reader for contract ABIj'Instance declaration with empty contextk1Simple data type declaration with one constructorlSimple function declarationm!ABI and Haskell types associationnEvent argument to TH typeoFunction argument to TH typepSolidity dynamic type predicateqEvent declarations makerrMethod delcarations makersDeclaration parsertABI to declarations converteruABI information stringjklmnopvwxy Is constant? Function nameFunction data name ParametersResultsqrz{stu =>?@AYZ[ YZ[=>?@Ajklmnopvwxyqrz{stu| !"#$%&'()*+,-./01234567889:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZZ[\\]^_`abcdefghhijklmnopqrstuvwxyyz{|}~                               D     ! " # $ % & ' ( ) * + , -./0 1 2 3 4 5 6 7 8 9 : ; < =>?@ABCDEFGHIJKLMNOLPMQRSTUVWXYZ [ \ ] ^ _ ` a b c d e f g h i j k lmnopqrstuvwxyz{|}~#web3-0.4.0.0-300OQubnfcY4YLLyDbXdTiNetwork.Ethereum.Web3.THNetwork.Ethereum.Web3.JsonAbiNetwork.Ethereum.Web3.AddressNetwork.Ethereum.Web3.Encoding$Network.Ethereum.Web3.Encoding.Bytes$Network.Ethereum.Web3.Encoding.TupleNetwork.Ethereum.Web3.TypesNetwork.Ethereum.Web3.ApiNetwork.Ethereum.UnitNetwork.Ethereum.Web3.ContractNetwork.Ethereum.Web3.Internal'Network.Ethereum.Web3.Encoding.Internal&Network.Ethereum.Web3.Encoding.TupleTHNetwork.Ethereum.Web3.JsonRpcNetwork.Ethereum.Web3#text-1.2.2.1-9Yh8rJoh8fO2JMLWffT3QsData.Text.InternalText"memory-0.14-EuVc7HKr2GN6ELV0nlAawlData.ByteArray.BytesBytes 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 ContractABIunABI signaturemethodIdeventId$fToJSONContractABI$fFromJSONContractABI$fShowContractABI$fFromJSONDeclaration$fToJSONDeclaration$fEqContractABI$fOrdContractABIAddressfromTexttoTextzero$fToJSONAddress$fFromJSONAddress$fIsStringAddress $fShowAddress $fEqAddress $fOrdAddress ABIEncoding toDataBuilderfromDataParsertoDatafromData$fABIEncoding[]$fABIEncodingAddress$fABIEncodingText$fABIEncodingWord$fABIEncodingInt$fABIEncodingInteger$fABIEncodingBoolBytesDunBytesDBytesNunBytesN $fShowBytesD$fABIEncodingBytesD$fEncodingTypeBytesD $fShowBytesN$fABIEncodingBytesN$fEncodingTypeBytesN $fEqBytesN $fOrdBytesN $fEqBytesD $fOrdBytesD Singleton unSingleton$fABIEncodingSingleton$fABIEncoding(,)$fABIEncoding(,,)$fABIEncoding(,,,)$fABIEncoding(,,,,)$fABIEncoding(,,,,,)$fABIEncoding(,,,,,,)$fABIEncoding(,,,,,,,)$fABIEncoding(,,,,,,,,)$fABIEncoding(,,,,,,,,,)$fABIEncoding(,,,,,,,,,,)$fABIEncoding(,,,,,,,,,,,)$fABIEncoding(,,,,,,,,,,,,)$fABIEncoding(,,,,,,,,,,,,,)$fABIEncoding(,,,,,,,,,,,,,,)RpcErrorerrCode errMessageerrDataError JsonRpcFail ParserFailUserFailConfigrpcUriWeb3runWeb3runWeb3'$fDefaultConfig $fShowConfig $fEqConfig$fShowRpcError $fEqRpcError $fShowError $fEqErrorFilter filterAddress filterTopicsfilterFromBlock filterToBlock$fFromJSONRpcError$fToJSONRpcError $fShowFilterChangechangeLogIndexchangeTransactionIndexchangeTransactionHashchangeBlockHashchangeBlockNumber changeAddress changeData changeTopicsFilterId$fToJSONFilterId$fFromJSONFilterId$fFromJSONFilter$fToJSONFilter$fShowFilterId $fEqFilterId $fOrdFilterId $fShowChangeCallcallFromcallTocallGas callPrice callValuecallData$fFromJSONChange$fToJSONChange $fShowCall TransactiontxHashtxNonce txBlockHash txBlockNumbertxTransactionIndextxFromtxTotxValue txGasPricetxGastxInputTxHashCallModeLatestPending$fToJSONCallMode$fFromJSONCall $fToJSONCall$fShowCallMode $fEqCallMode$fShowTransactionBlock blockNumber blockHashblockParentHash blockNonceblockSha3UnclesblockLogsBloomblockTransactionsRootblockStateRootblockReceiptRoot blockMinerblockDifficultyblockTotalDifficultyblockExtraData blockSize blockGasLimit blockGasUsedblockTimestampblockTransactions blockUncles$fFromJSONTransaction$fToJSONTransaction $fShowBlock$fFromJSONBlock $fToJSONBlockweb3_clientVersion web3_sha3eth_getBalance eth_newFiltereth_getFilterChangeseth_uninstallFiltereth_calleth_sendTransaction eth_accountseth_newBlockFiltereth_getBlockFilterChangeseth_getBlockByHashKEtherEtherFinneySzaboGWeiMWeiKWeiWeiUnitfromWeitoWeiconvert $fUnitSpecU7 $fUnitSpecU6 $fUnitSpecU5 $fUnitSpecU4 $fUnitSpecU3 $fUnitSpecU2 $fUnitSpecU1 $fUnitSpecU0 $fReadValue $fShowValue$fFractionalValue $fNumValue$fUnitSpecValue $fUnitValue $fEqValue $fOrdValueMethodsendTxcallEvent eventFilterevent EventAction ContinueEventTerminateEventnopay$fShowEventAction$fEqEventActionabiFromabi toLowerFirst toUpperFirstsha3showConstructor showEvent showMethod unAddressalignalignLalignR EncodingTypetypeName isDynamicint256HexBuilderint256HexParser textBuilder textParser$fEncodingType[]$fEncodingTypeAddress$fEncodingTypeText$fEncodingTypeWord$fEncodingTypeInt$fEncodingTypeInteger$fEncodingTypeBoolupdate bytesBuilder bytesDecodeABIData _serializeoffsetsParserdParser mkTuplePTypemkTupleP mkTupleInstmkAppSeqeTupleEmkEncodingInst$fABIDataBuilder $fABIData(->)tupleP2tupleP3tupleP4tupleP5tupleP6tupleP7tupleP8tupleP9tupleP10tupleP11tupleP12tupleP13tupleP14tupleP15ResponseRequest MethodNameremotersResultrqMethodrqIdrqParamsRemoteremote_decodeResponse$fFromJSONResponse$fToJSONRequest$fRemoteReaderT $fRemote(->)ValueUnitSpecU7U6U5U4U3U2U1U0MkValueunValuedividernamemkValue_event_sendTransaction_call instanceD'dataD'funD'typeQ eventBangType funBangType isDynTypemkEventmkFunmkDecl quoteAbiDec quoteAbiExp eventEncodigD funEncodigD eventFilterD funWrapperescape escapeNames