!N      !"#$% & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~         !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI J K L M N O P Q R!S!T!U"V"W"X"Y"Z"["\"]"^"_"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}#~####################$$$$$$%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&''(((())****************************************************** * * * * ******************* *!*"*#*$*%*&*'*(*)***+*,*-*.*/*0*1*2*3*4*5*6*7*8*9*:*;*<*=*>*?*@*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*\*]*^*_*`*a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*{*|*}*~******************************+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + + + + +++++++++++++++++++ +!+"+#+$+%+&+'+(+)+*+++,+-+.+/+0+1+2+3+4+5+6+7+8+9+:+;+<+=+>+?+@+A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z+[+\+]+^+_+`+a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z+{+|+}+~++++++++++++++++++++++++++++++++++++++++++++++++++++,,---------.........//4Alexander Krupenkin 2018BSD3 mail@akru.me experimentalportableNoneDm web3,Import Ethereum private key from byte array.'Input array should have 32 byte length. web32Export private key to byte array (32 byte length). web3*Get public key appropriate to private key.WARNING: Vulnerable to timing attacks.web31Export public key to byte array (64 byte length).web3Keccak 256 hash function.  Alexander Krupenkin 2018BSD3 mail@akru.me experimentalportableNoneGweb3*HMAC Deterministic Random Bytes Generator.web3Initialize HMAC-DRBG by seed.Alexander Krupenkin 2018BSD3 mail@akru.me experimental unportableNoneMMSweb3`Represents a Hex string. Guarantees that all characters it contains are valid hex characters.web3Smart constructor which trims '0x' and validates length is even.web35Reads a raw bytes and converts to hex representation.web3Access to the raw bytes of .web3 Access to a  representation of the  Alexander Krupenkin 2018BSD3 mail@akru.me experimentalportableNone"#_W %web3(Secret Storage representation on memory.'web3 Random key ID(web3!Version (suppoted version 3 only))web3#Cipher (supported AES-128-CTR only)*web3Key derivation function+web3MAC,web3Cipher parameters.0web3,Key derivation function parameters and salt.3web3Decrypt Ethereum private key./Typically Web3 Secret Storage is JSON-encoded. % data type has ? instance to helps decode it from JSON-encoded string or file. 6 let decryptJSON pass = flip decrypt pass <=< decode 4web3Encrypt Ethereum private key. $ let encryptJSON pass key = encode  $ encrypt key pass %&'()*+,-./01234%&'()*+,-./01234 Alexander Krupenkin 2018BSD3 mail@akru.me experimental noportableNone8>HVh9web3KA class for decoding generically composed datatypes from their abi encoding;web36A 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 ( clause to your datatype and declare a ;2 instance for it without giving a definition for <.=web3IA class for encoding generically composed datatypes to their abi encoding?web34A 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 ( clause to your datatype and declare a ?2 instance for it without giving a definition for @.Aweb3.A class for abi encoding datatype descriptions 9:;<=>?@AB AB?@=>;<9: Alexander Krupenkin 2017-2018BSD3 mail@akru.me experimental unportableNone&'-.=>?@ACHUVXlLweb3'Unwrap all the Tagged items in an HListUweb3Sort a Tagged HListXweb3.Generic representation to HList representationCEDFHGIKJLNMOQPRTSUWVXZY[\][\]XZYUWVRTSOQPLNMIKJFHGCED]0 Alexander Krupenkin 2018BSD3 mail@akru.me experimental noportableNone .7>HMUVXr-mweb3)Signed integer with fixed length in bits.nweb3+Unsigned integer with fixed length in bits.oweb3#Serialize 256 bit unsigned integer.pweb3%Deserialize 256 bit unsigned integer.mnopmnpoAlexander Krupenkin 2018BSD3 mail@akru.me experimental noportableNone .=>?HUVXtweb3+Sized byte array with fixed length in bytes Alexander Krupenkin 2018BSD3 mail@akru.me experimental noportableNoneuAlexander Krupenkin 2017-2018BSD3 mail@akru.me experimental noportableNone"#-.=>?HUVXwAlexander Krupenkin 2017-2018BSD3 mail@akru.me experimental noportableNoneHV{web3(Encode datatype to Ethereum Abi-encodingweb3Generic driven version of web3*Decode datatype from Ethereum Abi-encodingweb3Generic driven version of Alexander Krupenkin 2018BSD3 mail@akru.me experimental noportableNone.7web3Ethereum account addressweb3(Derive address from secp256k1 public keyweb3Decode address from hex stringweb3Encode address to hex stringweb3)Encode address with mixed-case checksum ;https://github.com/ethereum/EIPs/blob/master/EIPS/eip-55.mdweb3$Verify mixed-case address checksum ;https://github.com/ethereum/EIPs/blob/master/EIPS/eip-55.mdAlexander Krupenkin 2018BSD3 mail@akru.me experimentalportableNonePweb3!Make Ethereum standard signature.fThe message is before enveloped as follows: "x19Ethereum Signed Message:n" + message.length + messageWARNING: Vulnerable to timing attacks.web3!Ethereum standard hashed message.The data will be UTF-8 HEX decoded and enveloped as follows: "x19Ethereum Signed Message:n" + message.length + message and hashed using keccak256.web3Sign Ethereum transaction.WARNING: Vulnerable to timing attacks.web3)Sign arbitrary data by given private key.WARNING: Vulnerable to timing attacks.web3-Unpack recoverable signature from byte array.'Input array should have 65 byte length.web3:Pack recoverable signature as byte array (65 byte length).web30Two way transaction packer (unsigned and signed)web3 Private keyweb3Encoded transactionAlexander Krupenkin 2018BSD3 mail@akru.me experimental unportableNone  Alexander Krupenkin 2018BSD3 mail@akru.me experimental noportableNone>HV>Alexander Krupenkin 2018BSD3 mail@akru.me experimental noportableNoneyAlexander Krupenkin 2018BSD3 mail@akru.me experimental noportableNone-HXAlexander Krupenkin 2016-2018BSD3 mail@akru.me experimental noportableNone+Alexander Krupenkin 2018BSD3 mail@akru.me experimental noportableNone17X0Alexander Krupenkin 2018BSD3 mail@akru.me experimental noportableNonemnmnAlexander Krupenkin 2016BSD3 mail@akru.me experimentalportableSafe(web3Lower first char of stringweb3Upper first char of stringAlexander Krupenkin 2016-2018BSD3 mail@akru.me experimental noportableNoneBweb3Method argumentweb3 Argument nameweb3 Argument typeweb3Event argumentweb3 Argument nameweb3 Argument typeweb34Argument is indexed (e.g. placed on topics of event)#web3#Elementrary contract interface item$web3Contract constructor%web3Method&web3Event'web3Fallback function6web3Solidity types and parsers@web35Contract Abi is a list of method / event declarationsCweb35Take a signature by given decl, e.g. foo(uint,string)web3,Localy compute Keccak-256 hash of given textDweb3)Generate method selector by given method  DelcarationEweb3Generate event topic0 hash by givent event  Delcaration(#$%&'()*+,-./06789:;<=>?@ABCDEF(@AB#$%&'()*+,-./0CDE6789:;<=>?FAlexander Krupenkin 2016-2018BSD3 mail@akru.me experimentalportableNone27MHPweb3 An object with sync status data.Rweb3gQUANTITY - The block at which the import started (will only be reset, after the sync reached his head).Sweb36QUANTITY - The current block, same as eth_blockNumber.Tweb3'QUANTITY - The estimated highest block.Uweb3GShould 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)fweb3!Changes pulled by low-level call eth_getFilterChanges,  eth_getLogs, and eth_getFilterLogshweb3UQUANTITY - integer of the log index position in the block. null when its pending log.iweb3fQUANTITY - integer of the transactions index position log was created from. null when its pending log.jweb3_DATA, 32 Bytes - hash of the transactions this log was created from. null when its pending log.kweb3kDATA, 32 Bytes - hash of the block where this log was in. null when its pending. null when its pending log.lweb3dQUANTITY - the block number where this log was in. null when its pending. null when its pending log.mweb38DATA, 20 Bytes - address from which this log originated.nweb3FDATA - contains one or more 32 Bytes non-indexed arguments of the log.oweb3Array of DATA - Array of 0 to 4 32 Bytes DATA of indexed log arguments. (In solidity: The first topic is the hash of the signature of the event (e.g. Deposit(address, bytes32, uint256)), except you declared the event with the anonymous specifier.)pweb3$Sync state pulled by low-level call  eth_syncing.|web3The contract call params.~web3:DATA, 20 Bytes - The address the transaction is send from.web3bDATA, 20 Bytes - (optional when creating new contract) The address the transaction is directed to.web3}QUANTITY - (optional, default: 3000000) Integer of the gas provided for the transaction execution. It will return unused gas.web3`QUANTITY - (optional, default: To-Be-Determined) Integer of the gasPrice used for each paid gas.web3FQUANTITY - (optional) Integer of the value sent with this transaction.web3jDATA - The compiled code of a contract OR the hash of the invoked method signature and encoded parameters.web3yQUANTITY - (optional) Integer of a nonce. This allows to overwrite your own pending transactions that use the same nonce.web3The Receipt of a Transactionweb3)DATA, 32 Bytes - hash of the transaction.web3$QUANTITY - index of the transaction.web3XDATA, 32 Bytes - hash of the block where this transaction was in. null when its pending.web3MQUANTITY - block number where this transaction was in. null when its pending.web3XQUANTITY - The total amount of gas used when this transaction was executed in the block.web3EQUANTITY - The amount of gas used by this specific transaction alone.web3jDATA, 20 Bytes - The contract address created, if the transaction was a contract creation, otherwise null.web3?Array - Array of log objects, which this transaction generated.web3RDATA, 256 Bytes - Bloom filter for light clients to quickly retrieve related logs.web3*QUANTITY either 1 (success) or 0 (failure)web3&Low-level event filter data structure.web3kDATA|Array, 20 Bytes - (optional) Contract address or a list of addresses from which logs should originate.web3QUANTITY|TAG - (optional, default: "latest") Integer block number, or "latest" for the last mined block or "pending", "earliest" for not yet mined transactions.web3QUANTITY|TAG - (optional, default: "latest") Integer block number, or "latest" for the last mined block or "pending", "earliest" for not yet mined transactions.web3YArray of DATA, - (optional) Array of 32 Bytes DATA topics. Topics are order-dependent. Each topic can also be an array of DATA with "or" options. Topics are order-dependent. A transaction with a log with topics [A, B] will be matched by the following topic filters: * [] "anything" * [A] "A in first position (and anything after)" * [null, B] "anything in first position AND B in second position (and anything after)" * [A, B] "A in first position AND B in second position (and anything after)" * [[A, B], [A, B]] "(A OR B) in first position AND (A OR B) in second position (and anything after)"web3*The state of blockchain for contract call.web3Transaction information.web3)DATA, 32 Bytes - hash of the transaction.web3KQUANTITY - the number of transactions made by the sender prior to this one.web3XDATA, 32 Bytes - hash of the block where this transaction was in. null when its pending.web3MQUANTITY - block number where this transaction was in. null when its pending.web3ZQUANTITY - integer of the transactions index position in the block. null when its pending.web3'DATA, 20 Bytes - address of the sender.web3XDATA, 20 Bytes - address of the receiver. null when its a contract creation transaction.web3$QUANTITY - value transferred in Wei.web33QUANTITY - gas price provided by the sender in Wei.web3&QUANTITY - gas provided by the sender.web30DATA - the data send along with the transaction.web3Block information.web39QUANTITY - the block number. null when its pending block.web3@DATA, 32 Bytes - hash of the block. null when its pending block.web3*DATA, 32 Bytes - hash of the parent block.web3QDATA, 8 Bytes - hash of the generated proof-of-work. null when its pending block.web36DATA, 32 Bytes - SHA3 of the uncles data in the block.web3ZDATA, 256 Bytes - the bloom filter for the logs of the block. null when its pending block.web3?DATA, 32 Bytes - the root of the transaction trie of the block.web3?DATA, 32 Bytes - the root of the final state trie of the block.web3<DATA, 32 Bytes - the root of the receipts trie of the block.web3VDATA, 20 Bytes - the address of the beneficiary to whom the mining rewards were given.web34QUANTITY - integer of the difficulty for this block.web3IQUANTITY - integer of the total difficulty of the chain until this block.web3,DATA - the "extra data" field of this block.web33QUANTITY - integer the size of this block in bytes.web31QUANTITY - the maximum gas allowed in this block.web3@QUANTITY - the total used gas by all transactions in this block.web3>QUANTITY - the unix timestamp for when the block was collated.web3Array of transaction objects.web3Array - Array of uncle hashes.WPQTSRUVWfgonmlkjihprq|}~WUVWPQTSRprqfgonmlkjih|}~Alexander Krupenkin 2017-2018BSD3 mail@akru.me experimental unportableNone-.=>?@ACHUVXweb3A 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.web3=Indexed event args come back in as a list of encoded values. g | is used to decode these values so that they can be used to reconstruct the | entire decoded event.web3; decodes both the indexed and non-indexed event components.web3is anonymous eventAlexander Krupenkin 2018BSD3 mail@akru.me experimental unportableSafe!+web3%Ethereum mainnet CHAIN_ID from EIP155web3%Ethereum testnet CHAIN_ID from EIP155web3Rokenby CHAIN_ID from EIP155web3Kovan CHAIN_ID from EIP155web3-Ethereum Classic mainnet CHAIN_ID from EIP155web3-Ethereum Classic testnet CHAIN_ID from EIP155Alexander Krupenkin 2016-2018BSD3 mail@akru.me experimental unportableNone%web3Smart contract method encodingweb3Solidity function selector _https://solidity.readthedocs.io/en/latest/abi-spec.html#function-selector-and-argument-encodingweb3Fallback contract methodAlexander Krupenkin 2016-2018BSD3 mail@akru.me experimental unportableSafe7=?X,Q web3KEther unit typeweb3Ether unit typeweb3Finney unit typeweb3Szabo unit typeweb3Shannon unit typeweb3Lovelace unit typeweb3Babbage unit typeweb3 Wei unit typeweb3Value abstractionweb3Unit specificationweb3Ethereum value unitweb3Make a value from integer weiweb3Convert a value to integer wei  :Alexander Krupenkin 2018 Roy Blankman 2018BSD3 mail@akru.me experimental unportableNone"#X3 web3Ethereum transaction packer.dTwo way RLP encoding of Ethereum transaction: for unsigned and signed. Packing scheme described in <https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md web3Transaction callweb3Chain IDweb30Should contain signature when transaction signedweb3RLP encoded transaction  Alexander Krupenkin 2016-2018BSD3 mail@akru.me experimentalportableNone"#,=>?@ACHV:  web3JSON-RPC client state vars.web3HTTP connection manager.web3Remote server URI.web3JSON-RPC monad constrait.web3JSON-RPC call monad.web3Remote call of JSON-RPC method.web3Name of called method.web3JSON-RPC error messageweb3JSON-RPC response.web3JSON-RPC request.web3Create default   settings.web3JSON-RPC server URI  Alexander Krupenkin 2016-2018BSD3 mail@akru.me experimentalunknownNone>>{+web3$Returns current node version string.,web3EReturns Keccak-256 (not the standardized SHA3-256) of the given data.+,+,Alexander Krupenkin 2016-2018BSD3 mail@akru.me experimentalportableNone7=?@AME -web3 Web3 Provider/web3Some peace of error response0web3JSON-RPC communication error1web3Error in parser state2web3Common head for user errors3web32Any communication with Ethereum node wrapped with 3 monad6web33) monad runner, using the supplied Manager7web33 monad runner8web33 runner for default provider9web3Fork 3 with the same - and  -./2013456789 345/201-.6789 Keagan McClelland 2018BSD3keagan.mcclelland@gmail.com experimentalunknownNone>^Jweb3mImports the given unencrypted private key (hex string) into the key store, encrypting it with the passphrase. Parameters: unencrypted private key passphraseReturns: address of new accountKweb3HReturns all the Ethereum account addresses of all keys in the key store.Lweb3oRemoves the private key with given address from memory. The account can no longer be used to send transactions.Mweb3Generates a new private key and stores it in the key store directory. The key file is encrypted with the given passphrase. Returns the address of the new account.Nweb3;Decrypts the key with the given address from the key store.CThe unencrypted key will be held in memory until it is locked againSThe account can be used with eth_sign and eth_sendTransaction while it is unlocked.Oweb35Validate the given passphrase and submit transaction.The transaction is the same argument as for eth_sendTransaction and contains the from address. If the passphrase can be used to decrypt the private key belonging to the transaction callFrom, the transaction is verified, signed and send onto the network. The account is not unlocked globally in the node and cannot be used in other RPC calls.Pweb3,Returns an Ethereum specific signature with:Jsign(keccak256("x19Ethereum Signed Message:n" + len(message) + message))).<when given a passphrase to decrypt the account's private keyQweb31Recovers address given message and signature data Parameters: message: DATA, n bytessignature: DATA, 65 bytesReturns: Address IJKLMNOPQ IJKLMNOPQ!Alexander Krupenkin 2016-2018BSD3 mail@akru.me experimentalunknownNone>c:Rweb3Returns the current network id.Sweb3EReturns true if client is actively listening for network connections.Tweb3:Returns number of peers currently connected to the client.RSTRST"Alexander Krupenkin 2016-2018BSD3 mail@akru.me experimentalunknownNone>(Uweb3.Returns the current ethereum protocol version.Vweb3;Returns an object with data about the sync status or false.Wweb3$Returns the client coinbase address.Xweb35Returns true if client is actively mining new blocks.Yweb3EReturns the number of hashes per second that the node is mining with.Zweb3=Returns the value from a storage position at a given address.[web38Returns the number of transactions sent from an address.\web3YReturns the number of transactions in a block from a block matching the given block hash.]web3OReturns the number of transactions in a block matching the given block number.^web3TReturns the number of uncles in a block from a block matching the given block hash._web3VReturns the number of uncles in a block from a block matching the given block number.`web3 Returns code at a given address.aweb3xReturns an Ethereum specific signature with: sign(keccak256("x19Ethereum Signed Message:n" + len(message) + message))).bweb3^Creates new message call transaction or a contract creation, if the data field contains code.cweb3UCreates new message call transaction or a contract creation for signed transactions.dweb34Returns the balance of the account of given address.eweb3Creates a filter object, based on filter options, to notify when the state changes (logs). To check if the state has changed, call f.fweb3\Polling method for a filter, which returns an array of logs which occurred since last poll.gweb3[Uninstalls a filter with given id. Should always be called when watch is no longer needed.hweb3<Returns an array of all logs matching a given filter object.iweb3[Executes a new message call immediately without creating a transaction on the block chain.jweb3Makes 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.kweb3*Returns information about a block by hash.lweb32Returns information about a block by block number.mweb3JReturns the information about a transaction requested by transaction hash.nweb3UReturns information about a transaction by block hash and transaction index position.oweb3XReturns information about a transaction by block number and transaction index position.pweb39Returns the receipt of a transaction by transaction hash.qweb3,Returns a list of addresses owned by client.rweb3ACreates a filter in the node, to notify when a new block arrives.sweb3dPolling method for a block filter, which returns an array of block hashes occurred since last poll.tweb3(Returns the number of most recent block.uweb3)Returns the current price per gas in wei.vweb3OReturns information about a uncle of a block by hash and uncle index position.wweb3QReturns information about a uncle of a block by number and uncle index position.xweb3Creates a filter in the node, to notify when new pending transactions arrive. To check if the state has changed, call getFilterChanges. Returns a FilterId.yweb3;Returns an array of all logs matching filter with given id.zweb3fReturns the hash of the current block, the seedHash, and the boundary condition to be met ("target").{web3Used 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)|web3Used 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(UVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|(UVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|#"FOAM team <http://foam.space> 2018BSD3 mail@akru.me experimental unportableNone"#&'.=>?@AXJweb3Event callback control responseweb3Continue to listen eventsweb3Terminate event listenerweb3 Coerce a  into a numerical block number.}~}~$"FOAM team <http://foam.space> 2018BSD3 mail@akru.me experimental unportableNone"#&'.=>?@AHSUVX( web3Run  'event\'' one block at a time.web3Same as ., but does not immediately spawn a new thread.web3 'eventMany\''/ take s a filter, a window size, and a handler.(It runs the handler over the results of  eventLogs results using . If no V action is thrown and the toBlock is not yet reached, it then transitions to polling.web3=Effectively a mapM_ over the machine using the given handler.web3playLogs streams the  and calls eth_getLogs on these  objects.web3KPolls a filter from the given filterId until the target toBlock is reached.web3q is a machine which represents taking an initial filter over a range of blocks b1, ... bn (where bn is possibly  or z, but b1 is an actual block number), 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 toBlock6 or (2) is greater than the chain head's block number.web3Run  'event\'' one block at a time.web3Same as ., but does not immediately spawn a new thread.web3playLogs streams the  and calls eth_getLogs on these  objects."FOAM team <http://foam.space> 2018BSD3 mail@akru.me experimental unportableNone"#&'.=>?@AHSUVXkIweb3 MultiFiltersweb3playLogs streams the  filterStream and calls eth_getLogs on these  objects.web3KPolls a filter from the given filterId until the target toBlock is reached.  51Alexander Krupenkin 2016BSD3 mail@akru.me experimental unportableNone) }~%Alexander Krupenkin 2018BSD3 mail@akru.me experimental unportableNone>@ACʫweb38Account is needed for sending transactions to blockchainTypically account is provided by node. In this case node manage accounts: encrypt and decrypt private keys, manipulate files etc. In other case web3 can derive account from private key and send to node already signed transactions.web3.Run computation with given account credentialsweb3%Send transaction to contract, like a write commandweb3)Call constant method of contract, like a  commandweb3/Account params (like a password or private key)web35Computation that use account for sending transactionsweb3Json-rpc monadweb3Contract method argumentsweb3Receipt of sended transactionweb3Contact method argumentsweb3Decoded result of method call&Alexander Krupenkin 2018BSD3 mail@akru.me experimental unportableNone"#>@AMweb3DMonad transformer for sending parametrized transactions from accountweb34Account is needed to send transactions to blockchain%Transaction parametrization data typeweb3Transaction recepientweb3Transaction valueweb3Transaction gas limitweb3Transaction gas priceweb3Call block numberweb3"Account params to sign transactionweb3Transaction recipient lensweb3Transaction value lensweb3Transaction gas limit lensweb3Transaction gas price lensweb3Call execution block lensweb3EOA params lensweb3 withParam is very similar to  withStateTd function, it's used to set parameters of transaction locally and revert params after out of scope. N withAccount () $ withParam (to .~ tokenAddress) $ transfer alice 42 'Alexander Krupenkin 2018BSD3 mail@akru.me experimental unportableNone>_web3Safe version of  function of M typeclass Waiting for some blocks of transaction confirmation before returnweb3DCount block confirmation to keep secure According to Vitalik post Bhttps://blog.ethereum.org/2015/09/14/on-slow-and-fast-block-times/web3Confirmation in blocksweb3Contract method argumentsweb3Receipt of sended transaction(Alexander Krupenkin 2018BSD3 mail@akru.me experimental unportableNone=>?@AXwweb3Contract description type claseweb3Contract Solidity ABI 7https://solidity.readthedocs.io/en/latest/abi-spec.htmlweb3Contract bytecode as hex stringweb3'Create new smart contract on blockchainweb3Contract constructorweb35Address of deployed contract when transaction success)Alexander Krupenkin 2016-2018BSD3 mail@akru.me experimental unportableNone>_ web3Read contract Abi from fileweb3QQ reader for contract Abiweb3'Instance declaration with empty contextweb31Simple data type declaration with one constructorweb3Simple function declarationweb3!Abi and Haskell types associationweb3Function argument to TH typeweb3$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}web3Abi to declarations converterweb3Abi information stringweb3 Is constant?web3 Function nameweb3Function data nameweb3 Parametersweb3Results*Alexander Krupenkin 2018BSD3 mail@akru.me experimental unportableNone .7=>?@A66+Alexander Krupenkin 2018BSD3 mail@akru.me experimental unportableNone .7=>?@AGJJ,Alexander Krupenkin 2018BSD3 mail@akru.me experimental unportableNone.>0web3Namehash algorithm =http://docs.ens.domains/en/latest/implementers.html#algorithmweb3Get address of ENS domainweb3 Domain nameweb3Associated ENS nodeweb3 Domain nameweb3Associated address-Alexander Krupenkin 2018BSD3 mail@akru.me experimental unportableNone "#=?@AXmweb3&Unlockable node managed account params.:Alexander Krupenkin 2018 Roy Blankman 2018BSD3 mail@akru.me experimental unportableNone"#=?@AXweb3Local EOA params/Alexander Krupenkin 2018BSD3 mail@akru.me experimental unportableNone"#=?@AX2Alexander Krupenkin 2018BSD3 mail@akru.me experimental unportableNone3Alexander Krupenkin 2016-2018BSD3 mail@akru.me experimental unportableNone-mn38384Safe56789:;<=;<>?@ABCDBCEBCFBGHBGIBGJKLMNOPQRSTTUVWXYZ[\]^_`abc d d e f g h i j k l m n o p q r s t u v w x y z { | } ~                             !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPPQRSTUVVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{||}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGGHIJKLMNOPQRSTUVWXYZ[\]O^_`abcddefghijklmnopqrstuvwx y z { | } ~   !!!""""""""""""""""""""""""""""""""""""""""#####################$$$$$$%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&''(((())**************************** * * * * * * * ************************* *!*"*#*$*%*&*'*(*)***+*,*-*.*/*0*1*2*3*4*5*6*7*8*9*:*;*<*=*>*?*@*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*\*]*^*_*`*a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*{*|*}*~***********************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + + + + ++++++++++++++D++++++ +!+"+M+#+$+%+&+'+(+)+*+V+++,+-+.+/+0+1+2+_+3+4+5+6+7+8+9+:+;+<+=+>+?+@+A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z+[+\+]+^+_+`+a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z+{+|+}+~+++++++++++++++++++++++++++++++++++++++,,---------.........//O$$$$$)))))))))44444444#web3-0.8.3.0-LIn1jVvUvylCf0Sw68GnpPData.Solidity.Prim.ListData.Solidity.Prim.BytesCrypto.EthereumData.Solidity.Prim.Tagged+Network.Ethereum.Contract.Event.MultiFilterCrypto.Ethereum.UtilsCrypto.Random.HmacDrbgData.ByteArray.HexStringCrypto.Ethereum.KeyfileData.Solidity.AbiData.Solidity.Event.InternalData.Solidity.Prim.IntData.Solidity.Prim.BoolData.Solidity.Abi.GenericData.Solidity.Abi.CodecData.Solidity.Prim.AddressCrypto.Ethereum.SignatureData.Solidity.Prim.StringData.Solidity.Prim.Tuple.THData.Solidity.Prim.TupleData.String.ExtraLanguage.Solidity.AbiNetwork.Ethereum.Api.TypesData.Solidity.EventNetwork.Ethereum.Chain Network.Ethereum.Contract.MethodNetwork.Ethereum.UnitNetwork.Ethereum.TransactionNetwork.JsonRpc.TinyClientNetwork.Ethereum.Api.Web3Network.Ethereum.Api.ProviderNetwork.Ethereum.Api.PersonalNetwork.Ethereum.Api.NetNetwork.Ethereum.Api.Eth&Network.Ethereum.Contract.Event.Common,Network.Ethereum.Contract.Event.SingleFilterNetwork.Ethereum.Account.Class!Network.Ethereum.Account.InternalNetwork.Ethereum.Account.SafeNetwork.Ethereum.ContractNetwork.Ethereum.Contract.THNetwork.Ethereum.Ens.Registry#Network.Ethereum.Ens.PublicResolverNetwork.Ethereum.Ens!Network.Ethereum.Account.Personal!Network.Ethereum.Account.LocalKey Network.Ethereum.Account.DefaultData.Solidity.PrimNetwork.Ethereum.Contract.EventNetwork.Ethereum.AccountNetwork.Ethereum.Web3 Paths_web3%basement-0.0.8-LdnmevtSRu4FZXxmMQJlGYBasement.Sized.ListListN%memory-0.14.18-8LdYq1aaDAu34qW98bOKgtData.ByteArray.BytesBytes%cryptonite-0.25-1VY3WdimbMoh8etp8TxXECrypto.PubKey.ECC.ECDSA PrivateKey PublicKey#tagged-0.8.6-FABECvKnqYbBCttH1EeJvB Data.TaggedTagged#vinyl-0.11.0-LJvBafk1nQd3k0i9gXI7LBData.Vinyl.CoRecHHandlerHandlersData.Vinyl.Core:&RNilRec importKey exportKey derivePubKey exportPubKeysha3HmacDrbg initialize $fDRGHmacDrbg $fEqHmacDrbg HexString unHexString hexString fromBytestoBytestoText$fToJSONHexString$fFromJSONHexString$fIsStringHexString$fShowHexString $fEqHexString$fOrdHexString$fSemigroupHexString$fMonoidHexString$fByteArrayAccessHexString$fByteArrayHexString EncryptedKeyencryptedKeyIdencryptedKeyVersionencryptedKeyCipherencryptedKeyKdfencryptedKeyMacCipher Aes128CtrcipherIv cipherTextKdfPbkdf2Scryptdecryptencrypt$fToJSONEncryptedKey$fFromJSONEncryptedKey$fShowEncryptedKey$fEqEncryptedKey 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$fMergeIndexedArgumentsasbsIntNUIntN putWord256 getWord256$fIntegralWord256 $fRealWord256 $fAbiPutUIntN $fAbiGetUIntN$fAbiTypeUIntN$fIntegralUIntN $fRealUIntN$fBoundedUIntN $fShowUIntN $fNumUIntN $fAbiPutIntN $fAbiGetIntN $fAbiTypeIntN$fIntegralIntN $fRealIntN $fNumIntN $fBoundedIntN $fShowIntN $fEqUIntN $fOrdUIntN $fEnumUIntN $fBitsUIntN$fGenericUIntN$fEqIntN $fOrdIntN $fEnumIntN $fBitsIntN $fGenericIntNBytesN $fToJSONBytes$fFromJSONBytes$fIsStringBytes $fAbiPutBytes $fAbiGetBytes$fAbiTypeBytes$fAbiPutByteString$fAbiGetByteString$fAbiTypeByteString$fToJSONSizedByteArray$fFromJSONSizedByteArray$fIsStringSizedByteArray$fAbiPutSizedByteArray$fAbiGetSizedByteArray$fAbiTypeSizedByteArray $fAbiPutBool $fAbiGetBool $fAbiTypeBool$fGenericAbiGetSOP$fGenericAbiGetNP$fGenericAbiGetNP0$fOrdEncodedValue$fEqEncodedValue$fGenericAbiPutSOP $fAbiDataNP $fAbiDataNP0encodeencode'decodedecode'Address fromPubKey fromHexString toHexString toChecksumverifyChecksum$fToJSONAddress$fFromJSONAddress$fAbiPutAddress$fAbiGetAddress$fAbiTypeAddress$fIsStringAddress $fShowAddress$fDefaultAddress$fGenericAddress $fEqAddress $fOrdAddress$fGenericAddress0 signMessage hashMessagesignTransactionunpackpack $fIsListListN $fAbiGetListN $fAbiPutListN$fAbiTypeListN $fAbiGet[] $fAbiPut[] $fAbiType[] $fAbiGetText $fAbiPutText $fAbiTypeText$fGenericTagged$fAbiGetTagged$fAbiPutTagged$fAbiTypeTagged tupleDecs$fAbiPutOneTuple$fAbiGetOneTuple$fAbiTypeOneTuple$fGenericOneTuple$fGenericOneTuple0$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(,) toLowerFirst toUpperFirst 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$fOrdDeclaration$fEqDeclaration$fShowDeclaration SolidityType SolidityBoolSolidityAddress SolidityUint SolidityIntSolidityStringSolidityBytesN SolidityBytesSolidityVector SolidityArray ContractAbiunAbi signaturemethodIdeventIdparseSolidityType$fFromJSONDeclaration$fToJSONDeclaration$fShowContractAbi$fToJSONContractAbi$fFromJSONContractAbi$fEqContractAbi$fOrdContractAbi$fEqSolidityType$fShowSolidityType SyncActivesyncStartingBlocksyncCurrentBlocksyncHighestBlockQuantity unQuantity$fFromJSONQuantity$fToJSONQuantity$fIsStringQuantity$fShowQuantity $fNumQuantity$fRealQuantity$fIntegralQuantity$fEnumQuantity $fEqQuantity $fOrdQuantity$fGenericQuantity$fEqSyncActive$fGenericSyncActive$fShowSyncActiveChangechangeLogIndexchangeTransactionIndexchangeTransactionHashchangeBlockHashchangeBlockNumber changeAddress changeData changeTopics SyncingStateSyncing NotSyncing$fFromJSONSyncActive$fToJSONSyncActive$fFromJSONSyncingState$fEqSyncingState$fGenericSyncingState$fShowSyncingState $fEqChange $fShowChange$fGenericChangeCallcallFromcallTocallGas callGasPrice callValuecallData callNonce$fFromJSONChange$fToJSONChange$fEqCall $fShowCall $fGenericCall TxReceiptreceiptTransactionHashreceiptTransactionIndexreceiptBlockHashreceiptBlockNumberreceiptCumulativeGasUsedreceiptGasUsedreceiptContractAddress receiptLogsreceiptLogsBloom receiptStatusFilter filterAddressfilterFromBlock filterToBlock filterTopics DefaultBlockBlockWithNumberEarliestLatestPending $fDefaultCall$fFromJSONCall $fToJSONCall$fOrdDefaultBlock$fToJSONDefaultBlock$fToJSONFilter$fEqDefaultBlock$fShowDefaultBlock$fGenericDefaultBlock $fEqFilter $fShowFilter$fGenericFilter$fShowTxReceipt$fGenericTxReceipt TransactiontxHashtxNonce txBlockHash txBlockNumbertxTransactionIndextxFromtxTotxValue txGasPricetxGastxInput$fFromJSONTxReceipt$fToJSONTxReceipt$fEqTransaction$fShowTransaction$fGenericTransactionBlock blockNumber blockHashblockParentHash blockNonceblockSha3UnclesblockLogsBloomblockTransactionsRootblockStateRootblockReceiptRoot blockMinerblockDifficultyblockTotalDifficultyblockExtraData blockSize blockGasLimit blockGasUsedblockTimestampblockTransactions blockUncles$fFromJSONTransaction$fToJSONTransaction $fShowBlock$fGenericBlock$fFromJSONBlock $fToJSONBlock DecodeEvent decodeEvent IndexedEvent isAnonymous$fArrayParserSOP$fArrayParserNP$fArrayParserNP0$fCombineChangeinie$fDecodeEventTYPETYPEinie foundationropstenrikenbykovanclassicclassicTestnetMethodselector $fAbiPut() $fAbiType() $fMethod()KEtherEtherFinneySzaboShannonLovelaceBabbageWeiUnitfromWeitoWei $fReadValue $fShowValue$fFractionalValue $fNumValue$fUnitSpecValue $fUnitValue $fUnitSpecU0 $fUnitSpecU1 $fUnitSpecU2 $fUnitSpecU3 $fUnitSpecU4 $fUnitSpecU5 $fUnitSpecU6 $fUnitSpecU7 $fEqValue $fOrdValue$fGenericValueencodeTransaction JsonRpcClientJsonRpcremote MethodNameJsonRpcExceptionParsingException CallExceptionRpcErrorerrCode errMessageerrDatajsonRpcManager jsonRpcServerdefaultSettings$fShowJsonRpcClient$fToJSONRequest$fFromJSONRpcError$fShowRpcError$fFromJSONResponse$fExceptionJsonRpcException $fRemotemm $fRemotem-> $fEqRequest $fShowRequest $fEqRpcError $fEqResponse$fShowResponse$fShowJsonRpcException$fEqJsonRpcException clientVersionProvider HttpProvider Web3Error JsonRpcFail ParserFailUserFailWeb3unWeb3 runWeb3WithrunWeb3'runWeb3forkWeb3 $fJsonRpcWeb3$fExceptionWeb3Error$fDefaultProvider $fFunctorWeb3$fApplicativeWeb3 $fMonadWeb3 $fMonadIOWeb3$fMonadThrowWeb3$fMonadStateWeb3$fShowWeb3Error $fEqWeb3Error$fGenericWeb3Error$fShowProvider $fEqProvider$fGenericProvider Passphrase importRawKey listAccounts lockAccount newAccount unlockAccountsendTransactionsign ecRecoverversion listening peerCountprotocolVersionsyncingcoinbasemininghashrate getStorageAtgetTransactionCountgetBlockTransactionCountByHash getBlockTransactionCountByNumbergetUncleCountByBlockHashgetUncleCountByBlockNumbergetCodesendRawTransaction getBalance newFiltergetFilterChangesuninstallFiltergetLogscall estimateGasgetBlockByHashgetBlockByNumbergetTransactionByHash!getTransactionByBlockHashAndIndex#getTransactionByBlockNumberAndIndexgetTransactionReceiptaccountsnewBlockFiltergetBlockFilterChangesgasPricegetUncleByBlockHashAndIndexgetUncleByBlockNumberAndIndexnewPendingTransactionFilter getFilterLogsgetWork submitWorksubmitHashrateFilterStreamStatefssCurrentBlockfssInitialFilter fssWindowSizeEventParseFailure FilterChangefilterChangeRawChangefilterChangeEvent EventAction ContinueEventTerminateEventmkFilterChanges mkBlockNumberpollTillBlockProgress$fExceptionEventParseFailure$fShowEventAction$fEqEventAction$fShowEventParseFailureeventevent' eventMany' eventNoFiltereventNoFilter'eventManyNoFilter' MultiFilter NilFilters:? minEndBlock minStartBlockmodifyMultiFilter multiEvent multiEvent'multiEventMany'multiEventNoFiltermultiEventNoFilter'multiEventManyNoFilter'$fQueryAllLogs:$fQueryAllLogs[]$fHasLogIndexFilterChange$fMapHandlersm::$fMapHandlersm[][]$fPollFilters:$fPollFilters[]Account withAccountsendAccountT runAccountT CallParam_to_value _gasLimit _gasPrice_block_accounttovaluegasLimitblockaccount withParamdefaultCallParamgetCall getReceipt updateReceipt$fMonadStateCallParamAccountT $fEqCallParam$fFunctorAccountT$fApplicativeAccountT$fMonadAccountT$fMonadTransAccountTsafeSendsafeConfirmationsContractabibytecodenewabiFromTransfer transferNode_transferOwner_TransferNonIndexedTransferIndexedNewTTL newTTLNode_ newTTLTtl_NewTTLNonIndexed NewTTLIndexed NewResolvernewResolverNode_newResolverResolver_NewResolverNonIndexedNewResolverIndexedNewOwner newOwnerNode_newOwnerLabel_newOwnerOwner_NewOwnerNonIndexedNewOwnerIndexedTtlData SetTTLDataSetSubnodeOwnerDataSetResolverData SetOwnerData ResolverData OwnerDataownerresolversetOwner setResolversetSubnodeOwnersetTTLttl$fMethodOwnerData$fAbiGetOwnerData$fAbiPutOwnerData$fAbiTypeOwnerData$fGenericOwnerData$fMethodResolverData$fAbiGetResolverData$fAbiPutResolverData$fAbiTypeResolverData$fGenericResolverData$fMethodSetOwnerData$fAbiGetSetOwnerData$fAbiPutSetOwnerData$fAbiTypeSetOwnerData$fGenericSetOwnerData$fMethodSetResolverData$fAbiGetSetResolverData$fAbiPutSetResolverData$fAbiTypeSetResolverData$fGenericSetResolverData$fMethodSetSubnodeOwnerData$fAbiGetSetSubnodeOwnerData$fAbiPutSetSubnodeOwnerData$fAbiTypeSetSubnodeOwnerData$fGenericSetSubnodeOwnerData$fMethodSetTTLData$fAbiGetSetTTLData$fAbiPutSetTTLData$fAbiTypeSetTTLData$fGenericSetTTLData$fMethodTtlData$fAbiGetTtlData$fAbiPutTtlData$fAbiTypeTtlData$fGenericTtlData$fAbiGetNewOwnerIndexed$fAbiTypeNewOwnerIndexed$fGenericNewOwnerIndexed$fAbiGetNewOwnerNonIndexed$fAbiTypeNewOwnerNonIndexed$fGenericNewOwnerNonIndexed$fDefaultFilterC$fIndexedEventTYPETYPETYPENewOwnerIndexedNewOwnerNonIndexedNewOwner$fGenericNewOwner$fAbiGetNewResolverIndexed$fAbiTypeNewResolverIndexed$fGenericNewResolverIndexed$fAbiGetNewResolverNonIndexed$fAbiTypeNewResolverNonIndexed$fGenericNewResolverNonIndexed$fDefaultFilter0L$fIndexedEventTYPETYPETYPENewResolverIndexedNewResolverNonIndexedNewResolver$fGenericNewResolver$fAbiGetNewTTLIndexed$fAbiTypeNewTTLIndexed$fGenericNewTTLIndexed$fAbiGetNewTTLNonIndexed$fAbiTypeNewTTLNonIndexed$fGenericNewTTLNonIndexed$fDefaultFilter1=$fIndexedEventTYPETYPETYPENewTTLIndexedNewTTLNonIndexedNewTTL$fGenericNewTTL$fAbiGetTransferIndexed$fAbiTypeTransferIndexed$fGenericTransferIndexed$fAbiGetTransferNonIndexed$fAbiTypeTransferNonIndexed$fGenericTransferNonIndexed$fDefaultFilter2C$fIndexedEventTYPETYPETYPETransferIndexedTransferNonIndexedTransfer$fGenericTransfer$fShowOwnerData $fEqOwnerData$fOrdOwnerData$fGenericOwnerData0$fShowResolverData$fEqResolverData$fOrdResolverData$fGenericResolverData0$fShowSetOwnerData$fEqSetOwnerData$fOrdSetOwnerData$fGenericSetOwnerData0$fShowSetResolverData$fEqSetResolverData$fOrdSetResolverData$fGenericSetResolverData0$fShowSetSubnodeOwnerData$fEqSetSubnodeOwnerData$fOrdSetSubnodeOwnerData$fGenericSetSubnodeOwnerData0$fShowSetTTLData$fEqSetTTLData$fOrdSetTTLData$fGenericSetTTLData0 $fShowTtlData $fEqTtlData $fOrdTtlData$fGenericTtlData0$fShowNewOwnerIndexed$fEqNewOwnerIndexed$fOrdNewOwnerIndexed$fGenericNewOwnerIndexed0$fShowNewOwnerNonIndexed$fEqNewOwnerNonIndexed$fOrdNewOwnerNonIndexed$fGenericNewOwnerNonIndexed0$fShowNewOwner $fEqNewOwner $fOrdNewOwner$fGenericNewOwner0$fShowNewResolverIndexed$fEqNewResolverIndexed$fOrdNewResolverIndexed$fGenericNewResolverIndexed0$fShowNewResolverNonIndexed$fEqNewResolverNonIndexed$fOrdNewResolverNonIndexed$fGenericNewResolverNonIndexed0$fShowNewResolver$fEqNewResolver$fOrdNewResolver$fGenericNewResolver0$fShowNewTTLIndexed$fEqNewTTLIndexed$fOrdNewTTLIndexed$fGenericNewTTLIndexed0$fShowNewTTLNonIndexed$fEqNewTTLNonIndexed$fOrdNewTTLNonIndexed$fGenericNewTTLNonIndexed0 $fShowNewTTL $fEqNewTTL $fOrdNewTTL$fGenericNewTTL0$fShowTransferIndexed$fEqTransferIndexed$fOrdTransferIndexed$fGenericTransferIndexed0$fShowTransferNonIndexed$fEqTransferNonIndexed$fOrdTransferNonIndexed$fGenericTransferNonIndexed0$fShowTransfer $fEqTransfer $fOrdTransfer$fGenericTransfer0 PubkeyChangedpubkeyChangedNode_pubkeyChangedX_pubkeyChangedY_PubkeyChangedNonIndexedPubkeyChangedIndexed NameChangednameChangedNode_nameChangedName_NameChangedNonIndexedNameChangedIndexedContentChangedcontentChangedNode_contentChangedHash_ContentChangedNonIndexedContentChangedIndexed AddrChangedaddrChangedNode_ addrChangedA_AddrChangedNonIndexedAddrChangedIndexed ABIChangedaBIChangedNode_aBIChangedContentType_ABIChangedNonIndexedABIChangedIndexedSupportsInterfaceData SetPubkeyData SetNameDataSetContentData SetAddrData SetABIData PubkeyDataNameData ContentDataAddrDataABIDataaBIaddrcontentnamepubkeysetABIsetAddr setContentsetName setPubkeysupportsInterface$fMethodABIData$fAbiGetABIData$fAbiPutABIData$fAbiTypeABIData$fGenericABIData$fMethodAddrData$fAbiGetAddrData$fAbiPutAddrData$fAbiTypeAddrData$fGenericAddrData$fMethodContentData$fAbiGetContentData$fAbiPutContentData$fAbiTypeContentData$fGenericContentData$fMethodNameData$fAbiGetNameData$fAbiPutNameData$fAbiTypeNameData$fGenericNameData$fMethodPubkeyData$fAbiGetPubkeyData$fAbiPutPubkeyData$fAbiTypePubkeyData$fGenericPubkeyData$fMethodSetABIData$fAbiGetSetABIData$fAbiPutSetABIData$fAbiTypeSetABIData$fGenericSetABIData$fMethodSetAddrData$fAbiGetSetAddrData$fAbiPutSetAddrData$fAbiTypeSetAddrData$fGenericSetAddrData$fMethodSetContentData$fAbiGetSetContentData$fAbiPutSetContentData$fAbiTypeSetContentData$fGenericSetContentData$fMethodSetNameData$fAbiGetSetNameData$fAbiPutSetNameData$fAbiTypeSetNameData$fGenericSetNameData$fMethodSetPubkeyData$fAbiGetSetPubkeyData$fAbiPutSetPubkeyData$fAbiTypeSetPubkeyData$fGenericSetPubkeyData$fMethodSupportsInterfaceData$fAbiGetSupportsInterfaceData$fAbiPutSupportsInterfaceData$fAbiTypeSupportsInterfaceData$fGenericSupportsInterfaceData$fAbiGetABIChangedIndexed$fAbiTypeABIChangedIndexed$fGenericABIChangedIndexed$fAbiGetABIChangedNonIndexed$fAbiTypeABIChangedNonIndexed$fGenericABIChangedNonIndexedI$fIndexedEventTYPETYPETYPEABIChangedIndexedABIChangedNonIndexedABIChanged$fGenericABIChanged$fAbiGetAddrChangedIndexed$fAbiTypeAddrChangedIndexed$fGenericAddrChangedIndexed$fAbiGetAddrChangedNonIndexed$fAbiTypeAddrChangedNonIndexed$fGenericAddrChangedNonIndexedL$fIndexedEventTYPETYPETYPEAddrChangedIndexedAddrChangedNonIndexedAddrChanged$fGenericAddrChanged$fAbiGetContentChangedIndexed$fAbiTypeContentChangedIndexed$fGenericContentChangedIndexed $fAbiGetContentChangedNonIndexed!$fAbiTypeContentChangedNonIndexed!$fGenericContentChangedNonIndexedU$fIndexedEventTYPETYPETYPEContentChangedIndexedContentChangedNonIndexedContentChanged$fGenericContentChanged$fAbiGetNameChangedIndexed$fAbiTypeNameChangedIndexed$fGenericNameChangedIndexed$fAbiGetNameChangedNonIndexed$fAbiTypeNameChangedNonIndexed$fGenericNameChangedNonIndexedL$fIndexedEventTYPETYPETYPENameChangedIndexedNameChangedNonIndexedNameChanged$fGenericNameChanged$fAbiGetPubkeyChangedIndexed$fAbiTypePubkeyChangedIndexed$fGenericPubkeyChangedIndexed$fAbiGetPubkeyChangedNonIndexed $fAbiTypePubkeyChangedNonIndexed $fGenericPubkeyChangedNonIndexed$fDefaultFilter3R$fIndexedEventTYPETYPETYPEPubkeyChangedIndexedPubkeyChangedNonIndexedPubkeyChanged$fGenericPubkeyChanged $fShowABIData $fEqABIData $fOrdABIData$fGenericABIData0$fShowAddrData $fEqAddrData $fOrdAddrData$fGenericAddrData0$fShowContentData$fEqContentData$fOrdContentData$fGenericContentData0$fShowNameData $fEqNameData $fOrdNameData$fGenericNameData0$fShowPubkeyData$fEqPubkeyData$fOrdPubkeyData$fGenericPubkeyData0$fShowSetABIData$fEqSetABIData$fOrdSetABIData$fGenericSetABIData0$fShowSetAddrData$fEqSetAddrData$fOrdSetAddrData$fGenericSetAddrData0$fShowSetContentData$fEqSetContentData$fOrdSetContentData$fGenericSetContentData0$fShowSetNameData$fEqSetNameData$fOrdSetNameData$fGenericSetNameData0$fShowSetPubkeyData$fEqSetPubkeyData$fOrdSetPubkeyData$fGenericSetPubkeyData0$fShowSupportsInterfaceData$fEqSupportsInterfaceData$fOrdSupportsInterfaceData$fGenericSupportsInterfaceData0$fShowABIChangedIndexed$fEqABIChangedIndexed$fOrdABIChangedIndexed$fGenericABIChangedIndexed0$fShowABIChangedNonIndexed$fEqABIChangedNonIndexed$fOrdABIChangedNonIndexed$fGenericABIChangedNonIndexed0$fShowABIChanged$fEqABIChanged$fOrdABIChanged$fGenericABIChanged0$fShowAddrChangedIndexed$fEqAddrChangedIndexed$fOrdAddrChangedIndexed$fGenericAddrChangedIndexed0$fShowAddrChangedNonIndexed$fEqAddrChangedNonIndexed$fOrdAddrChangedNonIndexed$fGenericAddrChangedNonIndexed0$fShowAddrChanged$fEqAddrChanged$fOrdAddrChanged$fGenericAddrChanged0$fShowContentChangedIndexed$fEqContentChangedIndexed$fOrdContentChangedIndexed$fGenericContentChangedIndexed0$fShowContentChangedNonIndexed$fEqContentChangedNonIndexed$fOrdContentChangedNonIndexed"$fGenericContentChangedNonIndexed0$fShowContentChanged$fEqContentChanged$fOrdContentChanged$fGenericContentChanged0$fShowNameChangedIndexed$fEqNameChangedIndexed$fOrdNameChangedIndexed$fGenericNameChangedIndexed0$fShowNameChangedNonIndexed$fEqNameChangedNonIndexed$fOrdNameChangedNonIndexed$fGenericNameChangedNonIndexed0$fShowNameChanged$fEqNameChanged$fOrdNameChanged$fGenericNameChanged0$fShowPubkeyChangedIndexed$fEqPubkeyChangedIndexed$fOrdPubkeyChangedIndexed$fGenericPubkeyChangedIndexed0$fShowPubkeyChangedNonIndexed$fEqPubkeyChangedNonIndexed$fOrdPubkeyChangedNonIndexed!$fGenericPubkeyChangedNonIndexed0$fShowPubkeyChanged$fEqPubkeyChanged$fOrdPubkeyChanged$fGenericPubkeyChanged0namehashresolvePersonalAccountPersonalpersonalAddresspersonalPassphrase$fDefaultPersonal$fAccountPersonalAccountT $fEqPersonal$fShowPersonalLocalKeyAccountLocalKeylocalKeyPrivatelocalKeyChainId$fDefaultLocalKey$fAccountLocalKeyAccountT $fEqLocalKey$fShowLocalKeyDefaultAccount$fAccount()AccountT text-1.2.3.1Data.Text.InternalText$aeson-1.4.2.0-JRlZKD1FkrO2eJjy3cMEtPData.Aeson.Types.FromJSONFromJSON+generics-sop-0.4.0.1-50QtUhSPhiXGrcY9j3QNt9Generics.SOP.UniverseGeneric CombineChange ArrayParser parseChangeValueUnitSpec_jsonRpcManager_jsonRpcServerJsonRpcMResponseRequest'http-client-0.6.0-U0rG9Mnwnx5h37o42KDIvNetwork.HTTP.Client.TypesManagerreduceEventStream playOldLogs filterStream pollFilter playNewLogs playMultiLogspollMultiFilterbase Text.Readread instanceD'dataD'funD'toHSType funBangTypemakeArgs quoteAbiDec quoteAbiExp funWrapper getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName