| 25 | } |
| 26 | |
| 27 | pub fn register_methods(server: ServerBuilder<MapRouter>) -> ServerBuilder<MapRouter> { |
| 28 | // This is the list of eth methods. Apart from these Lotus implements 1 method from web3, |
| 29 | // while Ethermint does more across web3, debug, miner, net, txpool, and personal. |
| 30 | // The unimplemented ones are commented out, to make it easier to see where we're at. |
| 31 | let server = with_methods!(server, eth, { |
| 32 | accounts, |
| 33 | blockNumber, |
| 34 | call, |
| 35 | chainId, |
| 36 | // eth_coinbase |
| 37 | // eth_compileLLL |
| 38 | // eth_compileSerpent |
| 39 | // eth_compileSolidity |
| 40 | estimateGas, |
| 41 | feeHistory, |
| 42 | maxPriorityFeePerGas, |
| 43 | gasPrice, |
| 44 | getBalance, |
| 45 | getBlockByHash, |
| 46 | getBlockByNumber, |
| 47 | getBlockTransactionCountByHash, |
| 48 | getBlockTransactionCountByNumber, |
| 49 | getBlockReceipts, |
| 50 | getCode, |
| 51 | // eth_getCompilers |
| 52 | getFilterChanges, |
| 53 | getFilterLogs, |
| 54 | getLogs, |
| 55 | getStorageAt, |
| 56 | getTransactionByBlockHashAndIndex, |
| 57 | getTransactionByBlockNumberAndIndex, |
| 58 | getTransactionByHash, |
| 59 | getTransactionCount, |
| 60 | getTransactionReceipt, |
| 61 | getUncleByBlockHashAndIndex, |
| 62 | getUncleByBlockNumberAndIndex, |
| 63 | getUncleCountByBlockHash, |
| 64 | getUncleCountByBlockNumber, |
| 65 | // eth_getWork |
| 66 | // eth_hashrate |
| 67 | // eth_mining |
| 68 | newBlockFilter, |
| 69 | newFilter, |
| 70 | newPendingTransactionFilter, |
| 71 | protocolVersion, |
| 72 | sendRawTransaction, |
| 73 | // eth_sendTransaction |
| 74 | // eth_sign |
| 75 | // eth_signTransaction |
| 76 | // eth_submitHashrate |
| 77 | // eth_submitWork |
| 78 | syncing, |
| 79 | uninstallFilter, |
| 80 | subscribe, |
| 81 | unsubscribe |
| 82 | }); |
| 83 | |
| 84 | let server = with_methods!(server, web3, { |