github.com/hyperledger/burrow@v0.34.5-0.20220512172541-77f09336001d/rpc/web3/types.go (about)

     1  // Code generated by go-openrpc. DO NOT EDIT.
     2  package web3
     3  
     4  type Service interface {
     5  	// Returns the version of the current client
     6  	Web3ClientVersion() (*Web3ClientVersionResult, error)
     7  	// Hashes data using the Keccak-256 algorithm
     8  	Web3Sha3(*Web3Sha3Params) (*Web3Sha3Result, error)
     9  	// Determines if this client is listening for new network connections.
    10  	NetListening() (*NetListeningResult, error)
    11  	// Returns the number of peers currently connected to this client.
    12  	NetPeerCount() (*NetPeerCountResult, error)
    13  	// Returns the chain ID associated with the current network.
    14  	NetVersion() (*NetVersionResult, error)
    15  	// Returns the number of most recent block.
    16  	EthBlockNumber() (*EthBlockNumberResult, error)
    17  	// Executes a new message call (locally) immediately without creating a transaction on the block chain.
    18  	EthCall(*EthCallParams) (*EthCallResult, error)
    19  	// Returns the currently configured chain id, a value used in replay-protected transaction signing as introduced by [EIP-155](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md).
    20  	EthChainId() (*EthChainIdResult, error)
    21  	// Returns the client coinbase address.
    22  	EthCoinbase() (*EthCoinbaseResult, error)
    23  	// Generates and returns an estimate of how much gas is necessary to allow the transaction to complete. The transaction will not be added to the blockchain. Note that the estimate may be significantly more than the amount of gas actually used by the transaction, for a variety of reasons including EVM mechanics and node performance.
    24  	EthEstimateGas(*EthEstimateGasParams) (*EthEstimateGasResult, error)
    25  	// Returns the current price per gas in wei
    26  	EthGasPrice() (*EthGasPriceResult, error)
    27  	// Returns Ether balance of a given or account or contract
    28  	EthGetBalance(*EthGetBalanceParams) (*EthGetBalanceResult, error)
    29  	// Gets a block for a given hash
    30  	EthGetBlockByHash(*EthGetBlockByHashParams) (*EthGetBlockByHashResult, error)
    31  	// Gets a block for a given number salad
    32  	EthGetBlockByNumber(*EthGetBlockByNumberParams) (*EthGetBlockByNumberResult, error)
    33  	// Returns the number of transactions in a block from a block matching the given block hash.
    34  	EthGetBlockTransactionCountByHash(*EthGetBlockTransactionCountByHashParams) (*EthGetBlockTransactionCountByHashResult, error)
    35  	// Returns the number of transactions in a block from a block matching the given block number.
    36  	EthGetBlockTransactionCountByNumber(*EthGetBlockTransactionCountByNumberParams) (*EthGetBlockTransactionCountByNumberResult, error)
    37  	// Returns code at a given contract address
    38  	EthGetCode(*EthGetCodeParams) (*EthGetCodeResult, error)
    39  	// Polling method for a filter, which returns an array of logs which occurred since last poll.
    40  	EthGetFilterChanges(*EthGetFilterChangesParams) (*EthGetFilterChangesResult, error)
    41  	// Returns an array of all logs matching filter with given id.
    42  	EthGetFilterLogs(*EthGetFilterLogsParams) (*EthGetFilterLogsResult, error)
    43  	// Returns raw transaction data of a transaction with the given hash.
    44  	EthGetRawTransactionByHash(*EthGetRawTransactionByHashParams) (*EthGetRawTransactionByHashResult, error)
    45  	// Returns raw transaction data of a transaction with the given hash.
    46  	EthGetRawTransactionByBlockHashAndIndex(*EthGetRawTransactionByBlockHashAndIndexParams) (*EthGetRawTransactionByBlockHashAndIndexResult, error)
    47  	// Returns raw transaction data of a transaction with the given hash.
    48  	EthGetRawTransactionByBlockNumberAndIndex(*EthGetRawTransactionByBlockNumberAndIndexParams) (*EthGetRawTransactionByBlockNumberAndIndexResult, error)
    49  	// Returns an array of all logs matching a given filter object.
    50  	EthGetLogs(*EthGetLogsParams) (*EthGetLogsResult, error)
    51  	// Gets a storage value from a contract address, a position, and an optional blockNumber
    52  	EthGetStorageAt(*EthGetStorageAtParams) (*EthGetStorageAtResult, error)
    53  	// Returns the information about a transaction requested by the block hash and index of which it was mined.
    54  	EthGetTransactionByBlockHashAndIndex(*EthGetTransactionByBlockHashAndIndexParams) (*EthGetTransactionByBlockHashAndIndexResult, error)
    55  	// Returns the information about a transaction requested by the block hash and index of which it was mined.
    56  	EthGetTransactionByBlockNumberAndIndex(*EthGetTransactionByBlockNumberAndIndexParams) (*EthGetTransactionByBlockNumberAndIndexResult, error)
    57  	// Returns the information about a transaction requested by transaction hash.
    58  	EthGetTransactionByHash(*EthGetTransactionByHashParams) (*EthGetTransactionByHashResult, error)
    59  	// Returns the number of transactions sent from an address
    60  	EthGetTransactionCount(*EthGetTransactionCountParams) (*EthGetTransactionCountResult, error)
    61  	// Returns the receipt information of a transaction by its hash.
    62  	EthGetTransactionReceipt(*EthGetTransactionReceiptParams) (*EthGetTransactionReceiptResult, error)
    63  	// Returns information about a uncle of a block by hash and uncle index position.
    64  	EthGetUncleByBlockHashAndIndex(*EthGetUncleByBlockHashAndIndexParams) (*EthGetUncleByBlockHashAndIndexResult, error)
    65  	// Returns information about a uncle of a block by hash and uncle index position.
    66  	EthGetUncleByBlockNumberAndIndex(*EthGetUncleByBlockNumberAndIndexParams) (*EthGetUncleByBlockNumberAndIndexResult, error)
    67  	// Returns the number of uncles in a block from a block matching the given block hash.
    68  	EthGetUncleCountByBlockHash(*EthGetUncleCountByBlockHashParams) (*EthGetUncleCountByBlockHashResult, error)
    69  	// Returns the number of uncles in a block from a block matching the given block number.
    70  	EthGetUncleCountByBlockNumber(*EthGetUncleCountByBlockNumberParams) (*EthGetUncleCountByBlockNumberResult, error)
    71  	// Returns the account- and storage-values of the specified account including the Merkle-proof.
    72  	EthGetProof(*EthGetProofParams) (*EthGetProofResult, error)
    73  	// Returns the hash of the current block, the seedHash, and the boundary condition to be met ('target').
    74  	EthGetWork() (*EthGetWorkResult, error)
    75  	// Returns the number of hashes per second that the node is mining with.
    76  	EthHashrate() (*EthHashrateResult, error)
    77  	// Returns true if client is actively mining new blocks.
    78  	EthMining() (*EthMiningResult, error)
    79  	// Creates a filter in the node, to notify when a new block arrives. To check if the state has changed, call eth_getFilterChanges.
    80  	EthNewBlockFilter() (*EthNewBlockFilterResult, error)
    81  	// Creates a filter object, based on filter options, to notify when the state changes (logs). To check if the state has changed, call eth_getFilterChanges.
    82  	EthNewFilter(*EthNewFilterParams) (*EthNewFilterResult, error)
    83  	// Creates a filter in the node, to notify when new pending transactions arrive. To check if the state has changed, call eth_getFilterChanges.
    84  	EthNewPendingTransactionFilter() (*EthNewPendingTransactionFilterResult, error)
    85  	// Returns the pending transactions list
    86  	EthPendingTransactions() (*EthPendingTransactionsResult, error)
    87  	// Returns the current ethereum protocol version.
    88  	EthProtocolVersion() (*EthProtocolVersionResult, error)
    89  	// The sign method calculates an Ethereum specific signature.
    90  	EthSign(*EthSignParams) (*EthSignResult, error)
    91  	// Returns a list of addresses owned by client.
    92  	EthAccounts() (*EthAccountsResult, error)
    93  	// Creates new message call transaction or a contract creation, if the data field contains code.
    94  	EthSendTransaction(*EthSendTransactionParams) (*EthSendTransactionResult, error)
    95  	// Creates new message call transaction or a contract creation for signed transactions.
    96  	EthSendRawTransaction(*EthSendRawTransactionParams) (*EthSendRawTransactionResult, error)
    97  	// Returns an array of all logs matching a given filter object.
    98  	EthSubmitHashrate(*EthSubmitHashrateParams) (*EthSubmitHashrateResult, error)
    99  	// Used for submitting a proof-of-work solution.
   100  	EthSubmitWork(*EthSubmitWorkParams) (*EthSubmitWorkResult, error)
   101  	// Returns an object with data about the sync status or false.
   102  	EthSyncing() (*EthSyncingResult, error)
   103  	// Uninstalls a filter with given id. Should always be called when watch is no longer needed. Additionally Filters timeout when they aren't requested with eth_getFilterChanges for a period of time.
   104  	EthUninstallFilter(*EthUninstallFilterParams) (*EthUninstallFilterResult, error)
   105  }
   106  type Web3ClientVersionResult struct {
   107  	// client version
   108  	ClientVersion string `json:"clientVersion"`
   109  }
   110  type Web3Sha3Params struct {
   111  	// data to hash using the Keccak-256 algorithm
   112  	Data string `json:"data"`
   113  }
   114  type Web3Sha3Result struct {
   115  	// Hex representation of a Keccak 256 hash
   116  	HashedData string `json:"hashedData"`
   117  }
   118  type NetListeningResult struct {
   119  	// `true` if listening is active or `false` if listening is not active
   120  	IsNetListening bool `json:"isNetListening"`
   121  }
   122  type NetPeerCountResult struct {
   123  	// Hex representation of number of connected peers
   124  	NumConnectedPeers string `json:"numConnectedPeers"`
   125  }
   126  type NetVersionResult struct {
   127  	// chain ID associated with the current network
   128  	ChainID string `json:"chainID"`
   129  }
   130  type BlockNumber struct {
   131  	// The hex representation of the block's height
   132  	BlockNumber string `json:"blockNumber"`
   133  }
   134  type EthBlockNumberResult struct {
   135  	BlockNumber string `json:"blockNumber"`
   136  }
   137  type TransactionIndex struct {
   138  	// Hex representation of the integer
   139  	Integer string `json:"integer"`
   140  }
   141  type Transaction struct {
   142  	// Integer of the transaction's index position in the block. null when its pending
   143  	TransactionIndex string `json:"transactionIndex"`
   144  	// Hash of the block where this transaction was in. null when its pending
   145  	BlockHash string `json:"blockHash"`
   146  	// Address of the sender
   147  	From string `json:"from"`
   148  	// Hex representation of a Keccak 256 hash
   149  	Hash string `json:"hash"`
   150  	// The data field sent with the transaction
   151  	Data string `json:"data"`
   152  	// A number only to be used once
   153  	Nonce string `json:"nonce"`
   154  	// The gas limit provided by the sender in Wei
   155  	Gas string `json:"gas"`
   156  	// Hex representation of a Keccak 256 hash
   157  	Value string `json:"value"`
   158  	// ECDSA recovery id
   159  	V string `json:"v"`
   160  	// ECDSA signature s
   161  	S string `json:"s"`
   162  	// The gas price willing to be paid by the sender in Wei
   163  	GasPrice string `json:"gasPrice"`
   164  	// address of the receiver. null when its a contract creation transaction
   165  	To string `json:"to"`
   166  	// Block number where this transaction was in. null when its pending
   167  	BlockNumber string `json:"blockNumber"`
   168  	// ECDSA signature r
   169  	R string `json:"r"`
   170  }
   171  type BlockHash struct {
   172  	// Hex representation of a Keccak 256 hash
   173  	Keccak string `json:"keccak"`
   174  }
   175  type EthCallParams struct {
   176  	Transaction
   177  
   178  	BlockNumber string `json:"blockNumber"`
   179  }
   180  type EthCallResult struct {
   181  	// Hex representation of a variable length byte array
   182  	ReturnValue string `json:"returnValue"`
   183  }
   184  type EthChainIdResult struct {
   185  	// hex format integer of the current chain id. Defaults are mainnet=61, morden=62.
   186  	ChainId string `json:"chainId"`
   187  }
   188  type EthCoinbaseResult struct {
   189  	// The address owned by the client that is used as default for things like the mining reward
   190  	Address string `json:"address"`
   191  }
   192  type EthEstimateGasParams struct {
   193  	Transaction
   194  }
   195  type EthEstimateGasResult struct {
   196  	// Hex representation of the integer
   197  	GasUsed string `json:"gasUsed"`
   198  }
   199  type EthGasPriceResult struct {
   200  	// Hex representation of the integer
   201  	GasPrice string `json:"gasPrice"`
   202  }
   203  type EthGetBalanceParams struct {
   204  	// The address of the account or contract
   205  	Address string `json:"address"`
   206  	// The hex representation of the block's height
   207  	BlockNumber string `json:"blockNumber"`
   208  }
   209  type GetBalanceResult struct {
   210  	// Hex representation of the integer
   211  	Integer string `json:"integer"`
   212  }
   213  type EthGetBalanceResult struct {
   214  	GetBalanceResult string `json:"getBalanceResult"`
   215  }
   216  type EthGetBlockByHashParams struct {
   217  	// The hex representation of the Keccak 256 of the RLP encoded block
   218  	BlockHash string `json:"blockHash"`
   219  	// If `true` it returns the full transaction objects, if `false` only the hashes of the transactions.
   220  	IsTransactionsIncluded bool `json:"isTransactionsIncluded"`
   221  }
   222  type Block struct {
   223  	// Hex representation of a Keccak 256 hash
   224  	Sha3Uncles string `json:"sha3Uncles"`
   225  	// Hex representation of a Keccak 256 hash
   226  	TransactionsRoot string `json:"transactionsRoot"`
   227  	// Hex representation of a Keccak 256 hash
   228  	ParentHash string `json:"parentHash"`
   229  	// The address of the beneficiary to whom the mining rewards were given or null when its the pending block
   230  	Miner string `json:"miner"`
   231  	// Integer of the difficulty for this block
   232  	Difficulty string `json:"difficulty"`
   233  	// The total used gas by all transactions in this block
   234  	GasUsed string `json:"gasUsed"`
   235  	// The unix timestamp for when the block was collated
   236  	Timestamp string `json:"timestamp"`
   237  	// Array of transaction objects, or 32 Bytes transaction hashes depending on the last given parameter
   238  	Transactions []Transactions `json:"transactions"`
   239  	// The block number or null when its the pending block
   240  	Number string `json:"number"`
   241  	// The block hash or null when its the pending block
   242  	Hash string `json:"hash"`
   243  	// Array of uncle hashes
   244  	Uncles []string `json:"uncles"`
   245  	// Hex representation of a Keccak 256 hash
   246  	ReceiptsRoot string `json:"receiptsRoot"`
   247  	// The 'extra data' field of this block
   248  	ExtraData string `json:"extraData"`
   249  	// Hex representation of a Keccak 256 hash
   250  	StateRoot string `json:"stateRoot"`
   251  	// Integer of the total difficulty of the chain until this block
   252  	TotalDifficulty string `json:"totalDifficulty"`
   253  	// Integer the size of this block in bytes
   254  	Size string `json:"size"`
   255  	// The maximum gas allowed in this block
   256  	GasLimit string `json:"gasLimit"`
   257  	// Randomly selected number to satisfy the proof-of-work or null when its the pending block
   258  	Nonce string `json:"nonce"`
   259  	// The bloom filter for the logs of the block or null when its the pending block
   260  	LogsBloom string `json:"logsBloom"`
   261  }
   262  type Miner struct {
   263  	Address string `json:"address"`
   264  }
   265  type Transactions struct {
   266  	Transaction
   267  }
   268  type Number struct {
   269  	// Hex representation of the integer
   270  	Integer string `json:"integer"`
   271  }
   272  type Hash struct {
   273  	// Hex representation of a Keccak 256 hash
   274  	Keccak string `json:"keccak"`
   275  }
   276  type Uncles struct {
   277  	// Hex representation of a Keccak 256 hash
   278  	Keccak string `json:"keccak"`
   279  }
   280  type TotalDifficulty struct {
   281  	// Hex representation of the integer
   282  	Integer string `json:"integer"`
   283  }
   284  type Nonce struct {
   285  	// Hex representation of the integer
   286  	Integer string `json:"integer"`
   287  }
   288  type GetBlockByHashResult struct {
   289  	Block
   290  }
   291  type EthGetBlockByHashResult struct {
   292  	GetBlockByHashResult Block `json:"getBlockByHashResult"`
   293  }
   294  type EthGetBlockByNumberParams struct {
   295  	BlockNumber string `json:"blockNumber"`
   296  	// If `true` it returns the full transaction objects, if `false` only the hashes of the transactions.
   297  	IsTransactionsIncluded bool `json:"isTransactionsIncluded"`
   298  }
   299  type GetBlockByNumberResult struct {
   300  	Block
   301  }
   302  type EthGetBlockByNumberResult struct {
   303  	GetBlockByNumberResult Block `json:"getBlockByNumberResult"`
   304  }
   305  type EthGetBlockTransactionCountByHashParams struct {
   306  	// The hex representation of the Keccak 256 of the RLP encoded block
   307  	BlockHash string `json:"blockHash"`
   308  }
   309  type BlockTransactionCountByHash struct {
   310  	// Hex representation of the integer
   311  	Integer string `json:"integer"`
   312  }
   313  type EthGetBlockTransactionCountByHashResult struct {
   314  	// The Number of total transactions in the given block
   315  	BlockTransactionCountByHash string `json:"blockTransactionCountByHash"`
   316  }
   317  type EthGetBlockTransactionCountByNumberParams struct {
   318  	BlockNumber string `json:"blockNumber"`
   319  }
   320  type EthGetBlockTransactionCountByNumberResult struct {
   321  	// The Number of total transactions in the given block
   322  	BlockTransactionCountByHash string `json:"blockTransactionCountByHash"`
   323  }
   324  type EthGetCodeParams struct {
   325  	// The address of the contract
   326  	Address string `json:"address"`
   327  	// The hex representation of the block's height
   328  	BlockNumber string `json:"blockNumber"`
   329  }
   330  type EthGetCodeResult struct {
   331  	// Hex representation of a variable length byte array
   332  	Bytes string `json:"bytes"`
   333  }
   334  type EthGetFilterChangesParams struct {
   335  	// An identifier used to reference the filter.
   336  	FilterId string `json:"filterId"`
   337  }
   338  type Log struct {
   339  	Topics []Topics `json:"topics"`
   340  	// Hex representation of a Keccak 256 hash
   341  	TransactionHash string `json:"transactionHash"`
   342  	// Sender of the transaction
   343  	Address string `json:"address"`
   344  	// The hex representation of the Keccak 256 of the RLP encoded block
   345  	BlockHash string `json:"blockHash"`
   346  	// The hex representation of the block's height
   347  	BlockNumber string `json:"blockNumber"`
   348  	// Hex representation of a variable length byte array
   349  	Data string `json:"data"`
   350  	// Hex representation of the integer
   351  	LogIndex string `json:"logIndex"`
   352  	// Hex representation of the integer
   353  	TransactionIndex string `json:"transactionIndex"`
   354  }
   355  type LogResult struct {
   356  	// An indexed event generated during a transaction
   357  	Log
   358  
   359  	Topics []Topics `json:"topics"`
   360  	// Hex representation of a Keccak 256 hash
   361  	TransactionHash string `json:"transactionHash"`
   362  	// Sender of the transaction
   363  	Address string `json:"address"`
   364  	// The hex representation of the Keccak 256 of the RLP encoded block
   365  	BlockHash string `json:"blockHash"`
   366  	// The hex representation of the block's height
   367  	BlockNumber string `json:"blockNumber"`
   368  	// Hex representation of a variable length byte array
   369  	Data string `json:"data"`
   370  	// Hex representation of the integer
   371  	LogIndex string `json:"logIndex"`
   372  	// Hex representation of the integer
   373  	TransactionIndex string `json:"transactionIndex"`
   374  }
   375  type EthGetFilterChangesResult struct {
   376  	LogResult []LogResult `json:"logResult"`
   377  }
   378  type EthGetFilterLogsParams struct {
   379  	// An identifier used to reference the filter.
   380  	FilterId string `json:"filterId"`
   381  }
   382  type Logs struct {
   383  	// An indexed event generated during a transaction
   384  	Log
   385  	// Hex representation of the integer
   386  	LogIndex string `json:"logIndex"`
   387  	// Hex representation of the integer
   388  	TransactionIndex string `json:"transactionIndex"`
   389  	// Hex representation of a Keccak 256 hash
   390  	TransactionHash string `json:"transactionHash"`
   391  	// Sender of the transaction
   392  	Address string `json:"address"`
   393  	// The hex representation of the Keccak 256 of the RLP encoded block
   394  	BlockHash string `json:"blockHash"`
   395  	// The hex representation of the block's height
   396  	BlockNumber string `json:"blockNumber"`
   397  	// Hex representation of a variable length byte array
   398  	Data string `json:"data"`
   399  
   400  	Topics []Topics `json:"topics"`
   401  }
   402  type EthGetFilterLogsResult struct {
   403  	Logs []Logs `json:"logs"`
   404  }
   405  type EthGetRawTransactionByHashParams struct {
   406  	// Hex representation of a Keccak 256 hash
   407  	TransactionHash string `json:"transactionHash"`
   408  }
   409  type EthGetRawTransactionByHashResult struct {
   410  	// Hex representation of a variable length byte array
   411  	RawTransactionByHash string `json:"rawTransactionByHash"`
   412  }
   413  type EthGetRawTransactionByBlockHashAndIndexParams struct {
   414  	// The hex representation of the Keccak 256 of the RLP encoded block
   415  	BlockHash string `json:"blockHash"`
   416  	// Hex representation of the integer
   417  	Index string `json:"index"`
   418  }
   419  type EthGetRawTransactionByBlockHashAndIndexResult struct {
   420  	// Hex representation of a variable length byte array
   421  	RawTransaction string `json:"rawTransaction"`
   422  }
   423  type EthGetRawTransactionByBlockNumberAndIndexParams struct {
   424  	BlockNumber string `json:"blockNumber"`
   425  	// Hex representation of the integer
   426  	Index string `json:"index"`
   427  }
   428  type EthGetRawTransactionByBlockNumberAndIndexResult struct {
   429  	// Hex representation of a variable length byte array
   430  	RawTransaction string `json:"rawTransaction"`
   431  }
   432  type Filter struct {
   433  	// The hex representation of the block's height
   434  	FromBlock string `json:"fromBlock"`
   435  	// The hex representation of the block's height
   436  	ToBlock string `json:"toBlock"`
   437  
   438  	Address string `json:"address"`
   439  	// Array of 32 Bytes DATA topics. Topics are order-dependent. Each topic can also be an array of DATA with 'or' options
   440  	Topics []string `json:"topics"`
   441  }
   442  type Address struct {
   443  	// Address of the contract from which to monitor events
   444  	Address string `json:"address"`
   445  }
   446  type Topics struct {
   447  	// Hex representation of a 256 bit unit of data
   448  	DataWord string `json:"dataWord"`
   449  }
   450  type EthGetLogsParams struct {
   451  	// A filter used to monitor the blockchain for log/events
   452  	Filter
   453  }
   454  type EthGetLogsResult struct {
   455  	Logs []Logs `json:"logs"`
   456  }
   457  type EthGetStorageAtParams struct {
   458  	Address string `json:"address"`
   459  	// Hex representation of the storage slot where the variable exists
   460  	Position string `json:"position"`
   461  
   462  	BlockNumber string `json:"blockNumber"`
   463  }
   464  type EthGetStorageAtResult struct {
   465  	// Hex representation of a 256 bit unit of data
   466  	DataWord string `json:"dataWord"`
   467  }
   468  type EthGetTransactionByBlockHashAndIndexParams struct {
   469  	// The hex representation of the Keccak 256 of the RLP encoded block
   470  	BlockHash string `json:"blockHash"`
   471  	// Hex representation of the integer
   472  	Index string `json:"index"`
   473  }
   474  type TransactionResult struct {
   475  	Transaction
   476  }
   477  type EthGetTransactionByBlockHashAndIndexResult struct {
   478  	TransactionResult Transaction `json:"transactionResult"`
   479  }
   480  type EthGetTransactionByBlockNumberAndIndexParams struct {
   481  	BlockNumber string `json:"blockNumber"`
   482  	// Hex representation of the integer
   483  	Index string `json:"index"`
   484  }
   485  type EthGetTransactionByBlockNumberAndIndexResult struct {
   486  	TransactionResult Transaction `json:"transactionResult"`
   487  }
   488  type EthGetTransactionByHashParams struct {
   489  	// Hex representation of a Keccak 256 hash
   490  	TransactionHash string `json:"transactionHash"`
   491  }
   492  type EthGetTransactionByHashResult struct {
   493  	Transaction
   494  }
   495  type EthGetTransactionCountParams struct {
   496  	Address string `json:"address"`
   497  
   498  	BlockNumber string `json:"blockNumber"`
   499  }
   500  type NonceOrNull struct {
   501  	// A number only to be used once
   502  	Nonce string `json:"nonce"`
   503  }
   504  type EthGetTransactionCountResult struct {
   505  	NonceOrNull string `json:"nonceOrNull"`
   506  }
   507  type EthGetTransactionReceiptParams struct {
   508  	// Hex representation of a Keccak 256 hash
   509  	TransactionHash string `json:"transactionHash"`
   510  }
   511  type Receipt struct {
   512  	// The hex representation of the block's height
   513  	BlockNumber string `json:"blockNumber"`
   514  	// Hex representation of the integer
   515  	CumulativeGasUsed string `json:"cumulativeGasUsed"`
   516  	// Hex representation of the integer
   517  	GasUsed string `json:"gasUsed"`
   518  	// An array of all the logs triggered during the transaction
   519  	Logs []Logs `json:"logs"`
   520  	// A 2048 bit bloom filter from the logs of the transaction. Each log sets 3 bits though taking the low-order 11 bits of each of the first three pairs of bytes in a Keccak 256 hash of the log's byte series
   521  	TransactionIndex string `json:"transactionIndex"`
   522  	// Whether or not the transaction threw an error.
   523  	Status string `json:"status"`
   524  	// The hex representation of the Keccak 256 of the RLP encoded block
   525  	BlockHash string `json:"blockHash"`
   526  	// The contract address created, if the transaction was a contract creation, otherwise null
   527  	ContractAddress string `json:"contractAddress"`
   528  	// The sender of the transaction
   529  	From string `json:"from"`
   530  	// A 2048 bit bloom filter from the logs of the transaction. Each log sets 3 bits though taking the low-order 11 bits of each of the first three pairs of bytes in a Keccak 256 hash of the log's byte series
   531  	LogsBloom string `json:"logsBloom"`
   532  	// Destination address of the transaction
   533  	To string `json:"to"`
   534  	// Hex representation of a Keccak 256 hash
   535  	TransactionHash string `json:"transactionHash"`
   536  }
   537  type EthGetTransactionReceiptResult struct {
   538  	// returns either a receipt or null
   539  	Receipt
   540  }
   541  type EthGetUncleByBlockHashAndIndexParams struct {
   542  	// The hex representation of the Keccak 256 of the RLP encoded block
   543  	BlockHash string `json:"blockHash"`
   544  	// Hex representation of the integer
   545  	Index string `json:"index"`
   546  }
   547  type Uncle struct {
   548  	// Randomly selected number to satisfy the proof-of-work or null when its the pending block
   549  	Nonce string `json:"nonce"`
   550  	// Hex representation of a Keccak 256 hash
   551  	TransactionsRoot string `json:"transactionsRoot"`
   552  	// Integer of the total difficulty of the chain until this block
   553  	TotalDifficulty string `json:"totalDifficulty"`
   554  	// Integer the size of this block in bytes
   555  	Size string `json:"size"`
   556  	// The total used gas by all transactions in this block
   557  	GasUsed string `json:"gasUsed"`
   558  	// Array of uncle hashes
   559  	Uncles []string `json:"uncles"`
   560  	// The block number or null when its the pending block
   561  	Number string `json:"number"`
   562  	// The block hash or null when its the pending block
   563  	Hash string `json:"hash"`
   564  	// Hex representation of a Keccak 256 hash
   565  	Sha3Uncles string `json:"sha3Uncles"`
   566  	// Hex representation of a Keccak 256 hash
   567  	StateRoot string `json:"stateRoot"`
   568  	// The 'extra data' field of this block
   569  	ExtraData string `json:"extraData"`
   570  	// The unix timestamp for when the block was collated
   571  	Timestamp string `json:"timestamp"`
   572  	// Hex representation of a Keccak 256 hash
   573  	ReceiptsRoot string `json:"receiptsRoot"`
   574  	// The address of the beneficiary to whom the mining rewards were given or null when its the pending block
   575  	Miner string `json:"miner"`
   576  	// The maximum gas allowed in this block
   577  	GasLimit string `json:"gasLimit"`
   578  	// Hex representation of a Keccak 256 hash
   579  	ParentHash string `json:"parentHash"`
   580  	// The bloom filter for the logs of the block or null when its the pending block
   581  	LogsBloom string `json:"logsBloom"`
   582  	// Integer of the difficulty for this block
   583  	Difficulty string `json:"difficulty"`
   584  }
   585  type UncleOrNull struct {
   586  	// Orphaned blocks that can be included in the chain but at a lower block reward. NOTE: An uncle doesn’t contain individual transactions.
   587  	Uncle
   588  }
   589  type EthGetUncleByBlockHashAndIndexResult struct {
   590  	UncleOrNull Uncle `json:"uncleOrNull"`
   591  }
   592  type EthGetUncleByBlockNumberAndIndexParams struct {
   593  	// The hex representation of the block's height
   594  	UncleBlockNumber string `json:"uncleBlockNumber"`
   595  	// Hex representation of the integer
   596  	Index string `json:"index"`
   597  }
   598  type UncleResult struct {
   599  	// Orphaned blocks that can be included in the chain but at a lower block reward. NOTE: An uncle doesn’t contain individual transactions.
   600  	Uncle
   601  }
   602  type EthGetUncleByBlockNumberAndIndexResult struct {
   603  	// returns an uncle or null
   604  	UncleResult Uncle `json:"uncleResult"`
   605  }
   606  type EthGetUncleCountByBlockHashParams struct {
   607  	// The hex representation of the Keccak 256 of the RLP encoded block
   608  	BlockHash string `json:"blockHash"`
   609  }
   610  type UncleCountOrNull struct {
   611  	// Hex representation of the integer
   612  	Integer string `json:"integer"`
   613  }
   614  type EthGetUncleCountByBlockHashResult struct {
   615  	UncleCountOrNull string `json:"uncleCountOrNull"`
   616  }
   617  type EthGetUncleCountByBlockNumberParams struct {
   618  	BlockNumber string `json:"blockNumber"`
   619  }
   620  type EthGetUncleCountByBlockNumberResult struct {
   621  	UncleCountOrNull string `json:"uncleCountOrNull"`
   622  }
   623  type EthGetProofParams struct {
   624  	// The address of the account or contract
   625  	Address string `json:"address"`
   626  	// The storage keys of all the storage slots being requested
   627  	StorageKeys []string `json:"storageKeys"`
   628  
   629  	BlockNumber string `json:"blockNumber"`
   630  }
   631  type StorageKeys struct {
   632  	// Hex representation of the integer
   633  	Integer string `json:"integer"`
   634  }
   635  type ProofAccount struct {
   636  	// Hex representation of the integer
   637  	Balance string `json:"balance"`
   638  	// Hex representation of a Keccak 256 hash
   639  	CodeHash string `json:"codeHash"`
   640  	// A number only to be used once
   641  	Nonce string `json:"nonce"`
   642  	// Hex representation of a Keccak 256 hash
   643  	StorageHash string `json:"storageHash"`
   644  	// Current block header PoW hash.
   645  	StorageProof []StorageProof `json:"storageProof"`
   646  	// The address of the account or contract of the request
   647  	Address string `json:"address"`
   648  	// The set of node values needed to traverse a patricia merkle tree (from root to leaf) to retrieve a value
   649  	AccountProof []string `json:"accountProof"`
   650  }
   651  type Proof struct {
   652  	// Hex representation of a variable length byte array
   653  	ProofNode string `json:"proofNode"`
   654  }
   655  type StorageProof struct {
   656  	// The set of node values needed to traverse a patricia merkle tree (from root to leaf) to retrieve a value
   657  	Proof []string `json:"proof"`
   658  	// Hex representation of the integer
   659  	Key string `json:"key"`
   660  	// Hex representation of the integer
   661  	Value string `json:"value"`
   662  }
   663  type AccountProof struct {
   664  	// Hex representation of a variable length byte array
   665  	ProofNode string `json:"proofNode"`
   666  }
   667  type ProofAccountOrNull struct {
   668  	// The merkle proofs of the specified account connecting them to the blockhash of the block specified
   669  	ProofAccount
   670  }
   671  type EthGetProofResult struct {
   672  	ProofAccountOrNull ProofAccount `json:"proofAccountOrNull"`
   673  }
   674  type EthGetWorkResult struct {
   675  	Work []string `json:"work"`
   676  }
   677  type EthHashrateResult struct {
   678  	// Hex representation of the integer
   679  	HashesPerSecond string `json:"hashesPerSecond"`
   680  }
   681  type EthMiningResult struct {
   682  	// Whether of not the client is mining
   683  	Mining bool `json:"mining"`
   684  }
   685  type EthNewBlockFilterResult struct {
   686  	// Hex representation of the integer
   687  	FilterId string `json:"filterId"`
   688  }
   689  type EthNewFilterParams struct {
   690  	// A filter used to monitor the blockchain for log/events
   691  	Filter
   692  }
   693  type EthNewFilterResult struct {
   694  	// Hex representation of the integer
   695  	FilterId string `json:"filterId"`
   696  }
   697  type EthNewPendingTransactionFilterResult struct {
   698  	// Hex representation of the integer
   699  	FilterId string `json:"filterId"`
   700  }
   701  type PendingTransactions struct {
   702  	Transaction
   703  	// Integer of the transaction's index position in the block. null when its pending
   704  	TransactionIndex string `json:"transactionIndex"`
   705  	// Hash of the block where this transaction was in. null when its pending
   706  	BlockHash string `json:"blockHash"`
   707  	// Address of the sender
   708  	From string `json:"from"`
   709  	// Hex representation of a Keccak 256 hash
   710  	Hash string `json:"hash"`
   711  	// The data field sent with the transaction
   712  	Data string `json:"data"`
   713  	// A number only to be used once
   714  	Nonce string `json:"nonce"`
   715  	// The gas limit provided by the sender in Wei
   716  	Gas string `json:"gas"`
   717  	// Hex representation of a Keccak 256 hash
   718  	Value string `json:"value"`
   719  	// ECDSA recovery id
   720  	V string `json:"v"`
   721  	// ECDSA signature s
   722  	S string `json:"s"`
   723  	// The gas price willing to be paid by the sender in Wei
   724  	GasPrice string `json:"gasPrice"`
   725  	// address of the receiver. null when its a contract creation transaction
   726  	To string `json:"to"`
   727  	// Block number where this transaction was in. null when its pending
   728  	BlockNumber string `json:"blockNumber"`
   729  	// ECDSA signature r
   730  	R string `json:"r"`
   731  }
   732  type EthPendingTransactionsResult struct {
   733  	PendingTransactions []PendingTransactions `json:"pendingTransactions"`
   734  }
   735  type EthProtocolVersionResult struct {
   736  	// Hex representation of the integer
   737  	ProtocolVersion string `json:"protocolVersion"`
   738  }
   739  type EthSignParams struct {
   740  	Address string `json:"address"`
   741  	// Hex representation of a variable length byte array
   742  	Bytes string `json:"bytes"`
   743  }
   744  type EthSignResult struct {
   745  	// Hex representation of a variable length byte array
   746  	Signature string `json:"signature"`
   747  }
   748  type Addresses struct {
   749  	Address string `json:"address"`
   750  }
   751  type EthAccountsResult struct {
   752  	// addresses owned by the client
   753  	Addresses []string `json:"addresses"`
   754  }
   755  type EthSendTransactionParams struct {
   756  	Transaction
   757  }
   758  type EthSendTransactionResult struct {
   759  	// Hex representation of a Keccak 256 hash
   760  	TransactionHash string `json:"transactionHash"`
   761  }
   762  type EthSendRawTransactionParams struct {
   763  	// Hex representation of a variable length byte array
   764  	SignedTransactionData string `json:"signedTransactionData"`
   765  }
   766  type EthSendRawTransactionResult struct {
   767  	// Hex representation of a Keccak 256 hash
   768  	TransactionHash string `json:"transactionHash"`
   769  }
   770  type EthSubmitHashrateParams struct {
   771  	// Hex representation of a 256 bit unit of data
   772  	HashRate string `json:"hashRate"`
   773  	// Hex representation of a 256 bit unit of data
   774  	Id string `json:"id"`
   775  }
   776  type EthSubmitHashrateResult struct {
   777  	// whether of not submitting went through successfully
   778  	SubmitHashRateSuccess bool `json:"submitHashRateSuccess"`
   779  }
   780  type EthSubmitWorkParams struct {
   781  	// A number only to be used once
   782  	Nonce string `json:"nonce"`
   783  	// Hex representation of a 256 bit unit of data
   784  	PowHash string `json:"powHash"`
   785  	// Hex representation of a 256 bit unit of data
   786  	MixHash string `json:"mixHash"`
   787  }
   788  type EthSubmitWorkResult struct {
   789  	// Whether or not the provided solution is valid
   790  	SolutionValid bool `json:"solutionValid"`
   791  }
   792  type SyncStatus struct {
   793  	// Hex representation of the integer
   794  	StartingBlock string `json:"startingBlock"`
   795  	// Hex representation of the integer
   796  	CurrentBlock string `json:"currentBlock"`
   797  	// Hex representation of the integer
   798  	HighestBlock string `json:"highestBlock"`
   799  	// Hex representation of the integer
   800  	KnownStates string `json:"knownStates"`
   801  	// Hex representation of the integer
   802  	PulledStates string `json:"pulledStates"`
   803  }
   804  type Syncing struct {
   805  	// An object with sync status data
   806  	SyncStatus
   807  }
   808  type EthSyncingResult struct {
   809  	Syncing SyncStatus `json:"syncing"`
   810  }
   811  type EthUninstallFilterParams struct {
   812  	// An identifier used to reference the filter.
   813  	FilterId string `json:"filterId"`
   814  }
   815  type EthUninstallFilterResult struct {
   816  	// Whether of not the filter was successfully uninstalled
   817  	FilterUninstalledSuccess bool `json:"filterUninstalledSuccess"`
   818  }