Closed pustovalov closed 1 year ago
In ethers v6 they use text/plain for content type of request https://github.com/ethers-io/ethers.js/blob/v6/src.ts/utils/fetch.ts#L221
text/plain
import { ethers } from 'ethers' (async () => { const provider = new ethers.JsonRpcProvider(env) const block = await provider.getBlock('latest') console.log('block', block) })();
[~/dev/aurora/raw]$ node ethers_v6_aurora_mainnet_json_rpc.js body {"id":1,"method":"eth_chainId","params":[],"jsonrpc":"2.0"} typeof (body) string body [{"method":"eth_chainId","params":[],"id":2,"jsonrpc":"2.0"},{"method":"eth_getBlockByNumber","params":["latest",false],"id":3,"jsonrpc":"2.0"}] typeof (body) string block Block { provider: JsonRpcProvider {}, number: 37157807, hash: '0x1e0d672829be2dea007905f7a4bdd6dd57a10563ec93215d62093b2ae3557aba', timestamp: 1620821235, parentHash: '0xfb3eb59c6ed78043a7cd948bba13e4efc35025e5aa1e8fa483b19fd7b6682c47', nonce: '0x0000000000000000', difficulty: 0n, gasLimit: 9007199254740991n, gasUsed: 0n, miner: '0x0000000000000000000000000000000000000000', extraData: '0x', baseFeePerGas: null }
[~/dev/aurora/raw]$ node ethers_v6_aurora_mainnet_json_rpc.js body {"id":1,"method":"eth_chainId","params":[],"jsonrpc":"2.0"} typeof (body) string body [{"method":"eth_chainId","params":[],"id":2,"jsonrpc":"2.0"},{"method":"eth_getBlockByNumber","params":["latest",false],"id":3,"jsonrpc":"2.0"}] typeof (body) string file:///Users/pavel/dev/aurora/raw/node_modules/.pnpm/ethers@6.0.0-beta-exports.10/node_modules/ethers/lib.esm/utils/errors.js:116 error = new Error(message); ^ Error: server response 400 Bad Request (request={ }, response={ }, error=null, code=SERVER_ERROR, version=6.0.0-beta-exports.10) at makeError (file:///Users/pavel/dev/aurora/raw/node_modules/.pnpm/ethers@6.0.0-beta-exports.10/node_modules/ethers/lib.esm/utils/errors.js:116:21) at assert (file:///Users/pavel/dev/aurora/raw/node_modules/.pnpm/ethers@6.0.0-beta-exports.10/node_modules/ethers/lib.esm/utils/errors.js:132:15) at FetchResponse.assertOk (file:///Users/pavel/dev/aurora/raw/node_modules/.pnpm/ethers@6.0.0-beta-exports.10/node_modules/ethers/lib.esm/utils/fetch.js:772:9) at JsonRpcProvider._send (file:///Users/pavel/dev/aurora/raw/node_modules/.pnpm/ethers@6.0.0-beta-exports.10/node_modules/ethers/lib.esm/providers/provider-jsonrpc.js:815:18) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async JsonRpcProvider._detectNetwork (file:///Users/pavel/dev/aurora/raw/node_modules/.pnpm/ethers@6.0.0-beta-exports.10/node_modules/ethers/lib.esm/providers/provider-jsonrpc.js:359:23) at async JsonRpcProvider.getNetwork (file:///Users/pavel/dev/aurora/raw/node_modules/.pnpm/ethers@6.0.0-beta-exports.10/node_modules/ethers/lib.esm/providers/abstract-provider.js:440:21) at async Promise.all (index 0) at async resolveProperties (file:///Users/pavel/dev/aurora/raw/node_modules/.pnpm/ethers@6.0.0-beta-exports.10/node_modules/ethers/lib.esm/utils/properties.js:33:21) at async JsonRpcProvider.getBlock (file:///Users/pavel/dev/aurora/raw/node_modules/.pnpm/ethers@6.0.0-beta-exports.10/node_modules/ethers/lib.esm/providers/abstract-provider.js:630:37) { code: 'SERVER_ERROR', request: FetchRequest {}, response: FetchResponse {}, error: undefined }
Fixed by ethers.js in #e55a87ad
In ethers v6 they use
text/plain
for content type of request https://github.com/ethers-io/ethers.js/blob/v6/src.ts/utils/fetch.ts#L221Reproduce
This PR
https://mainnet.aurora.dev