{
	"id": 0,
	"name": "@ganache/ethereum",
	"kind": 1,
	"kindString": "Project",
	"flags": {},
	"children": [
		{
			"id": 1,
			"name": "default",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 2,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 165,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3,
							"name": "new default",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"comment": {
								"shortText": "This is the Ethereum API that the provider interacts with.\nThe only methods permitted on the prototype are the supported json-rpc\nmethods."
							},
							"parameters": [
								{
									"id": 4,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "-"
									},
									"type": {
										"type": "reference",
										"name": "EthereumInternalOptions"
									}
								},
								{
									"id": 5,
									"name": "wallet",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "-"
									},
									"type": {
										"type": "reference",
										"name": "default"
									}
								},
								{
									"id": 6,
									"name": "blockchain",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "default"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1,
								"name": "default"
							}
						}
					]
				},
				{
					"id": 13,
					"name": "#blockchain",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isPrivate": true,
						"isReadonly": true
					},
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 154,
							"character": 11
						}
					],
					"type": {
						"type": "reference",
						"name": "default"
					}
				},
				{
					"id": 10,
					"name": "#filters",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isPrivate": true,
						"isReadonly": true
					},
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 151,
							"character": 11
						}
					],
					"type": {
						"type": "reference",
						"typeArguments": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "reference",
								"name": "InternalFilter"
							}
						],
						"name": "Map"
					},
					"defaultValue": "..."
				},
				{
					"id": 7,
					"name": "#getId",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isPrivate": true,
						"isReadonly": true
					},
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 147,
							"character": 11
						}
					],
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 8,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"signatures": [
								{
									"id": 9,
									"name": "__type",
									"kind": 4096,
									"kindString": "Call signature",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "Quantity"
									}
								}
							]
						}
					},
					"defaultValue": "..."
				},
				{
					"id": 12,
					"name": "#options",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isPrivate": true,
						"isReadonly": true
					},
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 153,
							"character": 11
						}
					],
					"type": {
						"type": "reference",
						"name": "EthereumInternalOptions"
					}
				},
				{
					"id": 11,
					"name": "#subscriptions",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isPrivate": true,
						"isReadonly": true
					},
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 152,
							"character": 11
						}
					],
					"type": {
						"type": "reference",
						"typeArguments": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "reference",
								"name": "UnsubscribeFn"
							}
						],
						"name": "Map"
					},
					"defaultValue": "..."
				},
				{
					"id": 14,
					"name": "#wallet",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isPrivate": true,
						"isReadonly": true
					},
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 155,
							"character": 11
						}
					],
					"type": {
						"type": "reference",
						"name": "default"
					}
				},
				{
					"id": 33,
					"name": "bzz_hive",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 257,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 34,
							"name": "bzz_hive",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the kademlia table in a readable table format.",
								"returns": "Returns the kademlia table in a readable table format.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconsole.log(await provider.send(\"bzz_hive\"));\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 35,
					"name": "bzz_info",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 270,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 36,
							"name": "bzz_info",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns details about the swarm node.",
								"returns": "Returns details about the swarm node.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconsole.log(await provider.send(\"bzz_info\"));\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 29,
					"name": "db_getHex",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "2"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 242,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 30,
							"name": "db_getHex",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns binary data from the local database.",
								"returns": "The previously stored data.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconsole.log(await provider.send(\"db_getHex\", [\"testDb\", \"testKey\"] ));\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 31,
									"name": "dbName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Database name."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 32,
									"name": "key",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Key name."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "string"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 20,
					"name": "db_getString",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "2"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 209,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 21,
							"name": "db_getString",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns string from the local database.",
								"returns": "The previously stored string.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconsole.log(await provider.send(\"db_getString\", [\"testDb\", \"testKey\"] ));\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 22,
									"name": "dbName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Database name."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 23,
									"name": "key",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Key name."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "string"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 24,
					"name": "db_putHex",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "3"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 226,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 25,
							"name": "db_putHex",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Stores binary data in the local database.",
								"returns": "true if the value was stored, otherwise false.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconsole.log(await provider.send(\"db_putHex\", [\"testDb\", \"testKey\", \"0x0\"] ));\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 26,
									"name": "dbName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Database name."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 27,
									"name": "key",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Key name."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 28,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Data to store."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 15,
					"name": "db_putString",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "3"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 189,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 16,
							"name": "db_putString",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Stores a string in the local database.",
								"returns": "returns true if the value was stored, otherwise false.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconsole.log(await provider.send(\"db_putString\", [\"testDb\", \"testKey\", \"testValue\"] ));\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 17,
									"name": "dbName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Database name."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 18,
									"name": "key",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Key name."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 19,
									"name": "value",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "String to store."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 324,
					"name": "debug_storageRangeAt",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "5"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 3212,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 325,
							"name": "debug_storageRangeAt",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Attempts to replay the transaction as it was executed on the network and\nreturn storage data given a starting key and max number of entries to return.",
								"returns": "Returns a storage object with the keys being keccak-256 hashes of the storage keys,\nand the values being the raw, unhashed key and value for that specific storage slot. Also\nreturns a next key which is the keccak-256 hash of the next key in storage for continuous downloading.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\n// Simple.sol\n// // SPDX-License-Identifier: MIT\n//  pragma solidity >= 0.4.22 <0.9.0;\n//\n// import \"console.sol\";\n//\n//  contract Simple {\n//      uint256 public value;\n//      constructor() payable {\n//          console.log(\"Called Simple contract constructor. Setting value to 5.\");\n//          value = 5;\n//      }\n//  }\nconst simpleSol = \"0x608060405261002f6040518060600160405280603781526020016104016037913961003c60201b6100541760201c565b60056000819055506101bb565b6100d8816040516024016100509190610199565b6040516020818303038152906040527f41304fac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506100db60201b60201c565b50565b60006a636f6e736f6c652e6c6f6790508151602083016000808383865afa5050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561013a57808201518184015260208101905061011f565b83811115610149576000848401525b50505050565b6000601f19601f8301169050919050565b600061016b82610100565b610175818561010b565b935061018581856020860161011c565b61018e8161014f565b840191505092915050565b600060208201905081810360008301526101b38184610160565b905092915050565b610237806101ca6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80633fa4f24514610030575b600080fd5b61003861004e565b604051610045919061012b565b60405180910390f35b60005481565b6100ea8160405160240161006891906101df565b6040516020818303038152906040527f41304fac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506100ed565b50565b60006a636f6e736f6c652e6c6f6790508151602083016000808383865afa5050505050565b6000819050919050565b61012581610112565b82525050565b6000602082019050610140600083018461011c565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610180578082015181840152602081019050610165565b8381111561018f576000848401525b50505050565b6000601f19601f8301169050919050565b60006101b182610146565b6101bb8185610151565b93506101cb818560208601610162565b6101d481610195565b840191505092915050565b600060208201905081810360008301526101f981846101a6565b90509291505056fea26469706673582212205402181d93a2ec38e277cfd7fa6bdb14ae069535ac31572e1c94c713cddb891264736f6c634300080b003343616c6c65642053696d706c6520636f6e747261637420636f6e7374727563746f722e2053657474696e672076616c756520746f20352e\";\nconst [from] = await provider.request({ method: \"eth_accounts\", params: [] });\nawait provider.request({ method: \"eth_subscribe\", params: [\"newHeads\"] });\nconst initialTxHash = await provider.request({ method: \"eth_sendTransaction\", params: [{ from, gas: \"0x5b8d80\", data: simpleSol }] });\n\nconst {contractAddress} = await provider.request({ method: \"eth_getTransactionReceipt\", params: [initialTxHash] });\n\n// set value to 19\nconst data = \"0x552410770000000000000000000000000000000000000000000000000000000000000019\";\nconst txHash = await provider.request({ method: \"eth_sendTransaction\", params: [{ from, to: contractAddress, data }] });\n\nconst { blockHash, transactionIndex } = await provider.request({ method: \"eth_getTransactionReceipt\", params: [txHash] });\nconst storage = await provider.request({ method: \"debug_storageRangeAt\", params: [blockHash, transactionIndex, contractAddress, \"0x01\", 1] });\nconsole.log(storage);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 326,
									"name": "blockHash",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Hash of a block."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 327,
									"name": "transactionIndex",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Integer of the transaction index position."
									},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								},
								{
									"id": 328,
									"name": "contractAddress",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Address of the contract."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 329,
									"name": "startKey",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Hash of the start key for grabbing storage entries."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 330,
									"name": "maxResult",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Integer of maximum number of storage entries to return."
									},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "StorageRangeAtResult"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 320,
					"name": "debug_traceTransaction",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1",
								"max": "2"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 3159,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 321,
							"name": "debug_traceTransaction",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Attempt to run the transaction in the exact same manner as it was executed\non the network. It will replay any transaction that may have been executed\nprior to this one before it will finally attempt to execute the transaction\nthat corresponds to the given hash.",
								"text": "In addition to the hash of the transaction you may give it a secondary\noptional argument, which specifies the options for this specific call.\nThe possible options are:\n\n* `disableStorage`: \\{boolean\\} Setting this to `true` will disable storage capture (default = `false`).\n* `disableMemory`: \\{boolean\\} Setting this to `true` will disable memory capture (default = `false`).\n* `disableStack`: \\{boolean\\} Setting this to `true` will disable stack capture (default = `false`).\n",
								"returns": "Returns the `gas`, `structLogs`, and `returnValue` for the traced transaction.\n\nThe `structLogs` are an array of logs, which contains the following fields:\n* `depth`: The execution depth.\n* `error`: Information about an error, if one occurred.\n* `gas`: The number of gas remaining.\n* `gasCost`: The cost of gas in wei.\n* `memory`: An array containing the contract's memory data.\n* `op`: The current opcode.\n* `pc`: The current program counter.\n* `stack`: The EVM execution stack.\n* `storage`: An object containing the contract's storage data.\n",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\n// Simple.sol\n// // SPDX-License-Identifier: MIT\n//  pragma solidity >= 0.4.22 <0.9.0;\n//\n// import \"console.sol\";\n//\n//  contract Simple {\n//      uint256 public value;\n//      constructor() payable {\n//          console.log(\"Called Simple contract constructor. Setting value to 5.\");\n//          value = 5;\n//      }\n//  }\nconst simpleSol = \"0x608060405261002f6040518060600160405280603781526020016104016037913961003c60201b6100541760201c565b60056000819055506101bb565b6100d8816040516024016100509190610199565b6040516020818303038152906040527f41304fac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506100db60201b60201c565b50565b60006a636f6e736f6c652e6c6f6790508151602083016000808383865afa5050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561013a57808201518184015260208101905061011f565b83811115610149576000848401525b50505050565b6000601f19601f8301169050919050565b600061016b82610100565b610175818561010b565b935061018581856020860161011c565b61018e8161014f565b840191505092915050565b600060208201905081810360008301526101b38184610160565b905092915050565b610237806101ca6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80633fa4f24514610030575b600080fd5b61003861004e565b604051610045919061012b565b60405180910390f35b60005481565b6100ea8160405160240161006891906101df565b6040516020818303038152906040527f41304fac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506100ed565b50565b60006a636f6e736f6c652e6c6f6790508151602083016000808383865afa5050505050565b6000819050919050565b61012581610112565b82525050565b6000602082019050610140600083018461011c565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610180578082015181840152602081019050610165565b8381111561018f576000848401525b50505050565b6000601f19601f8301169050919050565b60006101b182610146565b6101bb8185610151565b93506101cb818560208601610162565b6101d481610195565b840191505092915050565b600060208201905081810360008301526101f981846101a6565b90509291505056fea26469706673582212205402181d93a2ec38e277cfd7fa6bdb14ae069535ac31572e1c94c713cddb891264736f6c634300080b003343616c6c65642053696d706c6520636f6e747261637420636f6e7374727563746f722e2053657474696e672076616c756520746f20352e\";\nconst [from] = await provider.request({ method: \"eth_accounts\", params: [] });\nawait provider.request({ method: \"eth_subscribe\", params: [\"newHeads\"] });\nconst txHash = await provider.request({ method: \"eth_sendTransaction\", params: [{ from, gas: \"0x5b8d80\", data: simpleSol }] });\nconst transactionTrace = await provider.request({ method: \"debug_traceTransaction\", params: [txHash] });\nconsole.log(transactionTrace);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 322,
									"name": "transactionHash",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Hash of the transaction to trace."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 323,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "See options in source."
									},
									"type": {
										"type": "reference",
										"name": "TraceTransactionOptions"
									},
									"defaultValue": "{}"
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "TraceTransactionResult"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 232,
					"name": "eth_accounts",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1637,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 233,
							"name": "eth_accounts",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns a list of addresses owned by client.",
								"returns": "Array of 20 Bytes - addresses owned by the client.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst accounts = await provider.request({ method: \"eth_accounts\", params: [] });\nconsole.log(accounts);\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 234,
					"name": "eth_blockNumber",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1651,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 235,
							"name": "eth_blockNumber",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the number of the most recent block.",
								"returns": "The current block number the client is on.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst blockNumber = await provider.request({ method: \"eth_blockNumber\" });\nconsole.log(blockNumber);\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Quantity"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 310,
					"name": "eth_call",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1",
								"max": "3"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 2800,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 311,
							"name": "eth_call",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Executes a new message call immediately without creating a transaction on the block chain.",
								"text": "Transaction call object:\n* `from`: `DATA`, 20 bytes (optional) - The address the transaction is sent from.\n* `to`: `DATA`, 20 bytes - The address the transaction is sent to.\n* `gas`: `QUANTITY` (optional) - Integer of the maximum gas allowance for the transaction.\n* `gasPrice`: `QUANTITY` (optional) - Integer of the price of gas in wei.\n* `value`: `QUANTITY` (optional) - Integer of the value in wei.\n* `data`: `DATA` (optional) - Hash of the method signature and the ABI encoded parameters.\n\nState Override object - An address-to-state mapping, where each entry specifies some\nstate to be ephemerally overridden prior to executing the call. Each address maps to an\nobject containing:\n* `balance`: `QUANTITY` (optional) - The balance to set for the account before executing the call.\n* `nonce`: `QUANTITY` (optional) - The nonce to set for the account before executing the call.\n* `code`: `DATA` (optional) - The EVM bytecode to set for the account before executing the call.\n* `state`: `OBJECT` (optional*) - Key-value mapping to override *all* slots in the account storage before executing the call.\n* `stateDiff`: `OBJECT` (optional*) - Key-value mapping to override *individual* slots in the account storage before executing the call.\n* *Note - `state` and `stateDiff` fields are mutually exclusive.",
								"returns": "The return value of executed contract.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\n// Simple.sol\n// // SPDX-License-Identifier: MIT\n//  pragma solidity >= 0.4.22 <0.9.0;\n//\n// import \"console.sol\";\n//\n//  contract Simple {\n//      uint256 public value;\n//      constructor() payable {\n//          console.log(\"Called Simple contract constructor. Setting value to 5.\");\n//          value = 5;\n//      }\n//  }\nconst simpleSol = \"0x608060405261002f6040518060600160405280603781526020016104016037913961003c60201b6100541760201c565b60056000819055506101bb565b6100d8816040516024016100509190610199565b6040516020818303038152906040527f41304fac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506100db60201b60201c565b50565b60006a636f6e736f6c652e6c6f6790508151602083016000808383865afa5050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561013a57808201518184015260208101905061011f565b83811115610149576000848401525b50505050565b6000601f19601f8301169050919050565b600061016b82610100565b610175818561010b565b935061018581856020860161011c565b61018e8161014f565b840191505092915050565b600060208201905081810360008301526101b38184610160565b905092915050565b610237806101ca6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80633fa4f24514610030575b600080fd5b61003861004e565b604051610045919061012b565b60405180910390f35b60005481565b6100ea8160405160240161006891906101df565b6040516020818303038152906040527f41304fac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506100ed565b50565b60006a636f6e736f6c652e6c6f6790508151602083016000808383865afa5050505050565b6000819050919050565b61012581610112565b82525050565b6000602082019050610140600083018461011c565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610180578082015181840152602081019050610165565b8381111561018f576000848401525b50505050565b6000601f19601f8301169050919050565b60006101b182610146565b6101bb8185610151565b93506101cb818560208601610162565b6101d481610195565b840191505092915050565b600060208201905081810360008301526101f981846101a6565b90509291505056fea26469706673582212205402181d93a2ec38e277cfd7fa6bdb14ae069535ac31572e1c94c713cddb891264736f6c634300080b003343616c6c65642053696d706c6520636f6e747261637420636f6e7374727563746f722e2053657474696e672076616c756520746f20352e\";\nconst [from] = await provider.request({ method: \"eth_accounts\", params: [] });\nconst txObj = { from, gas: \"0x5b8d80\", gasPrice: \"0x1dfd14000\", value:\"0x0\", data: simpleSol };\nconst slot = \"0x0000000000000000000000000000000000000000000000000000000000000005\"\nconst overrides = { [from]: { balance: \"0x3e8\", nonce: \"0x5\", code: \"0xbaddad42\", stateDiff: { [slot]: \"0x00000000000000000000000000000000000000000000000000000000baddad42\"}}};\nconst result = await provider.request({ method: \"eth_call\", params: [txObj, \"latest\", overrides] });\nconsole.log(result);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 312,
									"name": "transaction",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The transaction call object as seen in source."
									},
									"type": {
										"type": "reference",
										"name": "Transaction"
									}
								},
								{
									"id": 313,
									"name": "blockNumber",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Integer block number, or the string \"latest\", \"earliest\"\n or \"pending\"."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "Tag.latest"
								},
								{
									"id": 314,
									"name": "overrides",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "State overrides to apply during the simulation.\n"
									},
									"type": {
										"type": "reference",
										"name": "CallOverrides"
									},
									"defaultValue": "{}"
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Data"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 236,
					"name": "eth_chainId",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1668,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 237,
							"name": "eth_chainId",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the currently configured chain id, a value used in\nreplay-protected transaction signing as introduced by EIP-155.",
								"returns": "The chain id as a string.",
								"tags": [
									{
										"tag": "eip",
										"text": "[155 – Simple replay attack protection](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md)\n"
									},
									{
										"tag": "example",
										"text": "\n```javascript\nconst chainId = await provider.send(\"eth_chainId\");\nconsole.log(chainId);\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Quantity"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 112,
					"name": "eth_coinbase",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1016,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 113,
							"name": "eth_coinbase",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the client coinbase address.",
								"returns": "The current coinbase address.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst coinbaseAddress = await provider.request({ method: \"eth_coinbase\" });\nconsole.log(coinbaseAddress);\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Address"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 104,
					"name": "eth_estimateGas",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1",
								"max": "2"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 908,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 105,
							"name": "eth_estimateGas",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Generates and returns an estimate of how much gas is necessary to allow the\ntransaction to complete. The transaction will not be added to the\nblockchain. Note that the estimate may be significantly more than the\namount of gas actually used by the transaction, for a variety of reasons\nincluding EVM mechanics and node performance.",
								"text": "Transaction call object:\n* `from`: `DATA`, 20 bytes (optional) - The address the transaction is sent from.\n* `to`: `DATA`, 20 bytes - The address the transaction is sent to.\n* `gas`: `QUANTITY` (optional) - Integer of the maximum gas allowance for the transaction.\n* `gasPrice`: `QUANTITY` (optional) - Integer of the price of gas in wei.\n* `value`: `QUANTITY` (optional) - Integer of the value in wei.\n* `data`: `DATA` (optional) - Hash of the method signature and the ABI encoded parameters.\n",
								"returns": "The amount of gas used.\n",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst [from, to] = await provider.request({ method: \"eth_accounts\", params: [] });\nconst gasEstimate = await provider.request({ method: \"eth_estimateGas\", params: [{ from, to }, \"latest\" ] });\nconsole.log(gasEstimate);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 106,
									"name": "transaction",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The transaction call object as seen in source."
									},
									"type": {
										"type": "reference",
										"name": "Transaction"
									}
								},
								{
									"id": 107,
									"name": "blockNumber",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Integer block number, or the string \"latest\", \"earliest\"\n or \"pending\".\n"
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "Tag.latest"
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Quantity"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 315,
					"name": "eth_feeHistory",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "3"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 2938,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 316,
							"name": "eth_feeHistory",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns a collection of historical block gas data and optional effective fee spent per unit of gas for a given percentile of block gas usage.",
								"returns": "Transaction base fee per gas and effective priority fee per gas for the requested/supported block range\n\n* `oldestBlock`:  - Lowest number block of the returned range.\n* `baseFeePerGas`:  - An array of block base fees per gas. This includes the next block after the newest of the returned range,\nbecause this value can be derived from the newest block. Zeroes are returned for pre-EIP-1559 blocks.\n* `gasUsedRatio`:  - An array of block gas used ratios. These are calculated as the ratio of `gasUsed` and `gasLimit`.\n* `reward`:  - An array of effective priority fee per gas data points from a single block. All zeroes are returned if the\nblock is empty.\n",
								"tags": [
									{
										"tag": "eip",
										"text": "[1559 - Fee market change](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1559.md)"
									},
									{
										"tag": "example",
										"text": "\n```javascript\nconst [from, to] = await provider.request({ method: \"eth_accounts\", params: [] });\nawait provider.request({ method: \"eth_sendTransaction\", params: [{ from, to }] });\nconst feeHistory = await provider.request({ method: \"eth_feeHistory\", params: [\"0x1\", \"0x1\", [10, 100]] });\nconsole.log(feeHistory);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 317,
									"name": "blockCount",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Range of blocks between 1 and 1024. Will return less than the requested range if not all blocks are available."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 318,
									"name": "newestBlock",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Highest block of the requested range."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 319,
									"name": "rewardPercentiles",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "A monotonically increasing list of percentile values. For each block in the requested range,\nthe transactions will be sorted in ascending order by effective tip per gas and the corresponding effective tip for the percentile\nwill be determined, accounting for gas consumed."
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "number"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "FeeHistory"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 228,
					"name": "eth_gasPrice",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1609,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 229,
							"name": "eth_gasPrice",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the current price per gas in wei.",
								"returns": "Integer of the current gas price in wei.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst gasPrice = await provider.request({ method: \"eth_gasPrice\", params: [] });\nconsole.log(gasPrice);\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Quantity"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 238,
					"name": "eth_getBalance",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1",
								"max": "2"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1688,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 239,
							"name": "eth_getBalance",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the balance of the account of given address.",
								"returns": "Integer of the account balance in wei.\n",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst accounts = await provider.request({ method: \"eth_accounts\", params: [] });\nconst balance = await provider.request({ method: \"eth_getBalance\", params: [accounts[0], \"latest\"] });\nconsole.log(balance);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 240,
									"name": "address",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Address to check for balance."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 241,
									"name": "blockNumber",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Integer block number, or the string \"latest\", \"earliest\"\n or \"pending\".\n"
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "Tag.latest"
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Quantity"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 129,
					"name": "eth_getBlockByHash",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1",
								"max": "2"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1216,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 130,
							"name": "eth_getBlockByHash",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns information about a block by block hash.",
								"returns": "The block, `null` if the block doesn't exist.\n\n* `hash`: `DATA`, 32 Bytes - Hash of the block. `null` when pending.\n* `parentHash`: `DATA`, 32 Bytes - Hash of the parent block.\n* `sha3Uncles`: `DATA`, 32 Bytes - SHA3 of the uncles data in the block.\n* `miner`: `DATA`, 20 Bytes -  Address of the miner.\n* `stateRoot`: `DATA`, 32 Bytes - The root of the state trie of the block.\n* `transactionsRoot`: `DATA`, 32 Bytes - The root of the transaction trie of the block.\n* `receiptsRoot`: `DATA`, 32 Bytes - The root of the receipts trie of the block.\n* `logsBloom`: `DATA`, 256 Bytes - The bloom filter for the logs of the block. `null` when pending.\n* `difficulty`: `QUANTITY` - Integer of the difficulty of this block.\n* `number`: `QUANTITY` - The block number. `null` when pending.\n* `gasLimit`: `QUANTITY` - The maximum gas allowed in the block.\n* `gasUsed`: `QUANTITY` - Total gas used by all transactions in the block.\n* `timestamp`: `QUANTITY` - The unix timestamp for when the block was collated.\n* `extraData`: `DATA` - Extra data for the block.\n* `mixHash`: `DATA`, 256 Bytes - Hash identifier for the block.\n* `nonce`: `DATA`, 8 Bytes - Hash of the generated proof-of-work. `null` when pending.\n* `totalDifficulty`: `QUANTITY` - Integer of the total difficulty of the chain until this block.\n* `size`: `QUANTITY` - Integer the size of the block in bytes.\n* `transactions`: `Array` - Array of transaction objects or 32 Bytes transaction hashes depending on the last parameter.\n* `uncles`: `Array` - Array of uncle hashes.\n",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\n// Simple.sol\n// // SPDX-License-Identifier: MIT\n//  pragma solidity >= 0.4.22 <0.9.0;\n//\n// import \"console.sol\";\n//\n//  contract Simple {\n//      uint256 public value;\n//      constructor() payable {\n//          console.log(\"Called Simple contract constructor. Setting value to 5.\");\n//          value = 5;\n//      }\n//  }\nconst simpleSol = \"0x608060405261002f6040518060600160405280603781526020016104016037913961003c60201b6100541760201c565b60056000819055506101bb565b6100d8816040516024016100509190610199565b6040516020818303038152906040527f41304fac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506100db60201b60201c565b50565b60006a636f6e736f6c652e6c6f6790508151602083016000808383865afa5050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561013a57808201518184015260208101905061011f565b83811115610149576000848401525b50505050565b6000601f19601f8301169050919050565b600061016b82610100565b610175818561010b565b935061018581856020860161011c565b61018e8161014f565b840191505092915050565b600060208201905081810360008301526101b38184610160565b905092915050565b610237806101ca6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80633fa4f24514610030575b600080fd5b61003861004e565b604051610045919061012b565b60405180910390f35b60005481565b6100ea8160405160240161006891906101df565b6040516020818303038152906040527f41304fac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506100ed565b50565b60006a636f6e736f6c652e6c6f6790508151602083016000808383865afa5050505050565b6000819050919050565b61012581610112565b82525050565b6000602082019050610140600083018461011c565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610180578082015181840152602081019050610165565b8381111561018f576000848401525b50505050565b6000601f19601f8301169050919050565b60006101b182610146565b6101bb8185610151565b93506101cb818560208601610162565b6101d481610195565b840191505092915050565b600060208201905081810360008301526101f981846101a6565b90509291505056fea26469706673582212205402181d93a2ec38e277cfd7fa6bdb14ae069535ac31572e1c94c713cddb891264736f6c634300080b003343616c6c65642053696d706c6520636f6e747261637420636f6e7374727563746f722e2053657474696e672076616c756520746f20352e\";\nconst [from] = await provider.request({ method: \"eth_accounts\", params: [] });\nawait provider.request({ method: \"eth_subscribe\", params: [\"newHeads\"] });\nconst txHash = await provider.request({ method: \"eth_sendTransaction\", params: [{ from, gas: \"0x5b8d80\", data: simpleSol }] });\nconst txReceipt = await provider.request({ method: \"eth_getTransactionReceipt\", params: [txHash] });\nconst block = await provider.request({ method: \"eth_getBlockByHash\", params: [txReceipt.blockHash, true] });\nconsole.log(block);\n```\n"
									}
								]
							},
							"typeParameter": [
								{
									"id": 131,
									"name": "IncludeTransactions",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"default": {
										"type": "literal",
										"value": false
									}
								}
							],
							"parameters": [
								{
									"id": 132,
									"name": "hash",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Hash of a block."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 133,
									"name": "transactions",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"comment": {
										"shortText": "If `true` it returns the full transaction objects, if `false` only the hashes of the\ntransactions."
									},
									"type": {
										"type": "reference",
										"id": 131,
										"name": "IncludeTransactions"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intersection",
										"types": [
											{
												"type": "reflection",
												"declaration": {
													"id": 134,
													"name": "__type",
													"kind": 65536,
													"kindString": "Type literal",
													"flags": {},
													"children": [
														{
															"id": 135,
															"name": "hash",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "ethereum/src/api-types.ts",
																	"line": 177,
																	"character": 8
																}
															],
															"type": {
																"type": "reference",
																"name": "Data"
															}
														},
														{
															"id": 136,
															"name": "size",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "ethereum/src/api-types.ts",
																	"line": 178,
																	"character": 8
																}
															],
															"type": {
																"type": "reference",
																"name": "Quantity"
															}
														},
														{
															"id": 137,
															"name": "transactions",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "ethereum/src/api-types.ts",
																	"line": 179,
																	"character": 8
																}
															],
															"type": {
																"type": "conditional",
																"checkType": {
																	"type": "reference",
																	"id": 131,
																	"name": "IncludeTransactions"
																},
																"extendsType": {
																	"type": "literal",
																	"value": true
																},
																"trueType": {
																	"type": "array",
																	"elementType": {
																		"type": "union",
																		"types": [
																			{
																				"type": "reference",
																				"name": "LegacyTransactionJSON"
																			},
																			{
																				"type": "reference",
																				"name": "EIP2930AccessListTransactionJSON"
																			},
																			{
																				"type": "reference",
																				"name": "EIP1559FeeMarketTransactionJSON"
																			},
																			{
																				"type": "reference",
																				"typeArguments": [
																					{
																						"type": "literal",
																						"value": "private"
																					}
																				],
																				"name": "Transaction"
																			}
																		]
																	}
																},
																"falseType": {
																	"type": "array",
																	"elementType": {
																		"type": "reference",
																		"name": "Data"
																	}
																}
															}
														},
														{
															"id": 138,
															"name": "uncles",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "ethereum/src/api-types.ts",
																	"line": 182,
																	"character": 8
																}
															],
															"type": {
																"type": "array",
																"elementType": {
																	"type": "reference",
																	"name": "Data"
																}
															}
														}
													],
													"groups": [
														{
															"title": "Properties",
															"kind": 1024,
															"children": [
																135,
																136,
																137,
																138
															]
														}
													]
												}
											},
											{
												"type": "reference",
												"name": "BlockHeader"
											}
										]
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 114,
					"name": "eth_getBlockByNumber",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1",
								"max": "2"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1056,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 115,
							"name": "eth_getBlockByNumber",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns information about a block by block number.",
								"returns": "The block, `null` if the block doesn't exist.\n\n* `hash`: `DATA`, 32 Bytes - Hash of the block. `null` when pending.\n* `parentHash`: `DATA`, 32 Bytes - Hash of the parent block.\n* `sha3Uncles`: `DATA`, 32 Bytes - SHA3 of the uncles data in the block.\n* `miner`: `DATA`, 20 Bytes -  Address of the miner.\n* `stateRoot`: `DATA`, 32 Bytes - The root of the state trie of the block.\n* `transactionsRoot`: `DATA`, 32 Bytes - The root of the transaction trie of the block.\n* `receiptsRoot`: `DATA`, 32 Bytes - The root of the receipts trie of the block.\n* `logsBloom`: `DATA`, 256 Bytes - The bloom filter for the logs of the block. `null` when pending.\n* `difficulty`: `QUANTITY` - Integer of the difficulty of this block.\n* `number`: `QUANTITY` - The block number. `null` when pending.\n* `gasLimit`: `QUANTITY` - The maximum gas allowed in the block.\n* `gasUsed`: `QUANTITY` - Total gas used by all transactions in the block.\n* `timestamp`: `QUANTITY` - The unix timestamp for when the block was collated.\n* `extraData`: `DATA` - Extra data for the block.\n* `mixHash`: `DATA`, 256 Bytes - Hash identifier for the block.\n* `nonce`: `DATA`, 8 Bytes - Hash of the generated proof-of-work. `null` when pending.\n* `totalDifficulty`: `QUANTITY` - Integer of the total difficulty of the chain until this block.\n* `size`: `QUANTITY` - Integer the size of the block in bytes.\n* `transactions`: `Array` - Array of transaction objects or 32 Bytes transaction hashes depending on the last parameter.\n* `uncles`: `Array` - Array of uncle hashes.\n",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst block = await provider.request({ method: \"eth_getBlockByNumber\", params: [\"0x0\", false] });\nconsole.log(block);\n```\n"
									}
								]
							},
							"typeParameter": [
								{
									"id": 116,
									"name": "IncludeTransactions",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"default": {
										"type": "literal",
										"value": false
									}
								}
							],
							"parameters": [
								{
									"id": 117,
									"name": "number",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Integer of a block number, or the string \"earliest\", \"latest\" or \"pending\", as in the\ndefault block parameter."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 118,
									"name": "transactions",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"comment": {
										"shortText": "If `true` it returns the full transaction objects, if `false` only the hashes of the\ntransactions."
									},
									"type": {
										"type": "reference",
										"id": 116,
										"name": "IncludeTransactions"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intersection",
										"types": [
											{
												"type": "reflection",
												"declaration": {
													"id": 119,
													"name": "__type",
													"kind": 65536,
													"kindString": "Type literal",
													"flags": {},
													"children": [
														{
															"id": 120,
															"name": "hash",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "ethereum/src/api-types.ts",
																	"line": 177,
																	"character": 8
																}
															],
															"type": {
																"type": "reference",
																"name": "Data"
															}
														},
														{
															"id": 121,
															"name": "size",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "ethereum/src/api-types.ts",
																	"line": 178,
																	"character": 8
																}
															],
															"type": {
																"type": "reference",
																"name": "Quantity"
															}
														},
														{
															"id": 122,
															"name": "transactions",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "ethereum/src/api-types.ts",
																	"line": 179,
																	"character": 8
																}
															],
															"type": {
																"type": "conditional",
																"checkType": {
																	"type": "reference",
																	"id": 116,
																	"name": "IncludeTransactions"
																},
																"extendsType": {
																	"type": "literal",
																	"value": true
																},
																"trueType": {
																	"type": "array",
																	"elementType": {
																		"type": "union",
																		"types": [
																			{
																				"type": "reference",
																				"name": "LegacyTransactionJSON"
																			},
																			{
																				"type": "reference",
																				"name": "EIP2930AccessListTransactionJSON"
																			},
																			{
																				"type": "reference",
																				"name": "EIP1559FeeMarketTransactionJSON"
																			},
																			{
																				"type": "reference",
																				"typeArguments": [
																					{
																						"type": "literal",
																						"value": "private"
																					}
																				],
																				"name": "Transaction"
																			}
																		]
																	}
																},
																"falseType": {
																	"type": "array",
																	"elementType": {
																		"type": "reference",
																		"name": "Data"
																	}
																}
															}
														},
														{
															"id": 123,
															"name": "uncles",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "ethereum/src/api-types.ts",
																	"line": 182,
																	"character": 8
																}
															],
															"type": {
																"type": "array",
																"elementType": {
																	"type": "reference",
																	"name": "Data"
																}
															}
														}
													],
													"groups": [
														{
															"title": "Properties",
															"kind": 1024,
															"children": [
																120,
																121,
																122,
																123
															]
														}
													]
												}
											},
											{
												"type": "reference",
												"name": "BlockHeader"
											}
										]
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 142,
					"name": "eth_getBlockTransactionCountByHash",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1282,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 143,
							"name": "eth_getBlockTransactionCountByHash",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the number of transactions in a block from a block matching the given block hash.",
								"returns": "Number of transactions in the block.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\n// Simple.sol\n// // SPDX-License-Identifier: MIT\n//  pragma solidity >= 0.4.22 <0.9.0;\n//\n// import \"console.sol\";\n//\n//  contract Simple {\n//      uint256 public value;\n//      constructor() payable {\n//          console.log(\"Called Simple contract constructor. Setting value to 5.\");\n//          value = 5;\n//      }\n//  }\nconst simpleSol = \"0x608060405261002f6040518060600160405280603781526020016104016037913961003c60201b6100541760201c565b60056000819055506101bb565b6100d8816040516024016100509190610199565b6040516020818303038152906040527f41304fac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506100db60201b60201c565b50565b60006a636f6e736f6c652e6c6f6790508151602083016000808383865afa5050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561013a57808201518184015260208101905061011f565b83811115610149576000848401525b50505050565b6000601f19601f8301169050919050565b600061016b82610100565b610175818561010b565b935061018581856020860161011c565b61018e8161014f565b840191505092915050565b600060208201905081810360008301526101b38184610160565b905092915050565b610237806101ca6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80633fa4f24514610030575b600080fd5b61003861004e565b604051610045919061012b565b60405180910390f35b60005481565b6100ea8160405160240161006891906101df565b6040516020818303038152906040527f41304fac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506100ed565b50565b60006a636f6e736f6c652e6c6f6790508151602083016000808383865afa5050505050565b6000819050919050565b61012581610112565b82525050565b6000602082019050610140600083018461011c565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610180578082015181840152602081019050610165565b8381111561018f576000848401525b50505050565b6000601f19601f8301169050919050565b60006101b182610146565b6101bb8185610151565b93506101cb818560208601610162565b6101d481610195565b840191505092915050565b600060208201905081810360008301526101f981846101a6565b90509291505056fea26469706673582212205402181d93a2ec38e277cfd7fa6bdb14ae069535ac31572e1c94c713cddb891264736f6c634300080b003343616c6c65642053696d706c6520636f6e747261637420636f6e7374727563746f722e2053657474696e672076616c756520746f20352e\";\nconst [from] = await provider.request({ method: \"eth_accounts\", params: [] });\nawait provider.request({ method: \"eth_subscribe\", params: [\"newHeads\"] });\nconst txHash = await provider.request({ method: \"eth_sendTransaction\", params: [{ from, gas: \"0x5b8d80\", data: simpleSol }] });\nconst txReceipt = await provider.request({ method: \"eth_getTransactionReceipt\", params: [txHash] });\nconst txCount = await provider.request({ method: \"eth_getBlockTransactionCountByHash\", params: [txReceipt.blockHash] });\nconsole.log(txCount);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 144,
									"name": "hash",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Hash of a block."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Quantity"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 139,
					"name": "eth_getBlockTransactionCountByNumber",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1241,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 140,
							"name": "eth_getBlockTransactionCountByNumber",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the number of transactions in a block from a block matching the given block number.",
								"returns": "Integer of the number of transactions in the block.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst txCount = await provider.request({ method: \"eth_getBlockTransactionCountByNumber\", params: [\"0x0\"] });\nconsole.log(txCount);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 141,
									"name": "blockNumber",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Quantity"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 242,
					"name": "eth_getCode",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1",
								"max": "2"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1729,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 243,
							"name": "eth_getCode",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns code at a given address.",
								"returns": "The code from the given address.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\n// Simple.sol\n// // SPDX-License-Identifier: MIT\n//  pragma solidity >= 0.4.22 <0.9.0;\n//\n// import \"console.sol\";\n//\n//  contract Simple {\n//      uint256 public value;\n//      constructor() payable {\n//          console.log(\"Called Simple contract constructor. Setting value to 5.\");\n//          value = 5;\n//      }\n//  }\nconst simpleSol = \"0x608060405261002f6040518060600160405280603781526020016104016037913961003c60201b6100541760201c565b60056000819055506101bb565b6100d8816040516024016100509190610199565b6040516020818303038152906040527f41304fac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506100db60201b60201c565b50565b60006a636f6e736f6c652e6c6f6790508151602083016000808383865afa5050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561013a57808201518184015260208101905061011f565b83811115610149576000848401525b50505050565b6000601f19601f8301169050919050565b600061016b82610100565b610175818561010b565b935061018581856020860161011c565b61018e8161014f565b840191505092915050565b600060208201905081810360008301526101b38184610160565b905092915050565b610237806101ca6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80633fa4f24514610030575b600080fd5b61003861004e565b604051610045919061012b565b60405180910390f35b60005481565b6100ea8160405160240161006891906101df565b6040516020818303038152906040527f41304fac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506100ed565b50565b60006a636f6e736f6c652e6c6f6790508151602083016000808383865afa5050505050565b6000819050919050565b61012581610112565b82525050565b6000602082019050610140600083018461011c565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610180578082015181840152602081019050610165565b8381111561018f576000848401525b50505050565b6000601f19601f8301169050919050565b60006101b182610146565b6101bb8185610151565b93506101cb818560208601610162565b6101d481610195565b840191505092915050565b600060208201905081810360008301526101f981846101a6565b90509291505056fea26469706673582212205402181d93a2ec38e277cfd7fa6bdb14ae069535ac31572e1c94c713cddb891264736f6c634300080b003343616c6c65642053696d706c6520636f6e747261637420636f6e7374727563746f722e2053657474696e672076616c756520746f20352e\";\nconst [from] = await provider.request({ method: \"eth_accounts\", params: [] });\nawait provider.request({ method: \"eth_subscribe\", params: [\"newHeads\"] });\nconst txHash = await provider.request({ method: \"eth_sendTransaction\", params: [{ from, gas: \"0x5b8d80\", data: simpleSol }] });\nconst txReceipt = await provider.request({ method: \"eth_getTransactionReceipt\", params: [txHash] });\nconst code = await provider.request({ method: \"eth_getCode\", params: [txReceipt.contractAddress, \"latest\"] });\nconsole.log(code);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 244,
									"name": "address",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Address."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 245,
									"name": "blockNumber",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Integer block number, or the string \"latest\", \"earliest\" or \"pending\"."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "Tag.latest"
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Data"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 145,
					"name": "eth_getCompilers",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1302,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 146,
							"name": "eth_getCompilers",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns a list of available compilers.",
								"returns": "List of available compilers.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst compilers = await provider.send(\"eth_getCompilers\");\nconsole.log(compilers);\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 294,
					"name": "eth_getFilterChanges",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 2582,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 295,
							"name": "eth_getFilterChanges",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Polling method for a filter, which returns an array of logs, block hashes,\nor transaction hashes, depending on the filter type, which occurred since\nlast poll.",
								"returns": "An array of logs, block hashes, or transaction hashes, depending\non the filter type, which occurred since last poll.\n\nFor filters created with `eth_newBlockFilter` the return are block hashes (`DATA`, 32 Bytes).\n\nFor filters created with `eth_newPendingTransactionFilter` the return are transaction hashes (`DATA`, 32 Bytes).\n\nFor filters created with `eth_newFilter` the return are log objects with the following parameters:\n* `removed`: `TAG` - `true` when the log was removed, `false` if its a valid log.\n* `logIndex`: `QUANTITY` - Integer of the log index position in the block. `null` when pending.\n* `transactionIndex`: `QUANTITY` - Integer of the transactions index position. `null` when pending.\n* `transactionHash`: `DATA`, 32 Bytes - Hash of the transaction where the log was. `null` when pending.\n* `blockHash`: `DATA`, 32 Bytes - Hash of the block where the log was. `null` when pending.\n* `blockNumber`: `QUANTITY` - The block number where the log was in. `null` when pending.\n* `address`: `DATA`, 20 Bytes - The address from which the log originated.\n* `data`: `DATA` - Contains one or more 32 Bytes non-indexed arguments of the log.\n* `topics`: `Array of DATA` - Array of 0 to 4 32 Bytes `DATA` of indexed log arguments.\n",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\n// Logs.sol\n// // SPDX-License-Identifier: MIT\n// pragma solidity >= 0.4.22 <0.9.0;\n//\n// import \"console.sol\";\n//\n// contract Logs {\n//   event Event(uint256 indexed first, uint256 indexed second);\n//   constructor() {\n//     console.log(\"Entered Logs contract constructor.\");\n//     emit Event(1, 2);\n//   }\n//\n//   function logNTimes(uint8 n) public {\n//     console.log(\"Called logNTimes with the parameter: %o\", n);\n//     for (uint8 i = 0; i < n; i++) {\n//       emit Event(i, i);\n//     }\n//   }\n// }\n\nconst logsContract = \"0x608060405234801561001057600080fd5b5061003c60405180606001604052806022815260200161064b6022913961007160201b6100cd1760201c565b600260017f34e802e5ebd1f132e05852c5064046c1b535831ec52f1c4997fc6fdc4d5345b360405160405180910390a36101f0565b61010d8160405160240161008591906101ce565b6040516020818303038152906040527f41304fac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061011060201b60201c565b50565b60006a636f6e736f6c652e6c6f6790508151602083016000808383865afa5050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561016f578082015181840152602081019050610154565b8381111561017e576000848401525b50505050565b6000601f19601f8301169050919050565b60006101a082610135565b6101aa8185610140565b93506101ba818560208601610151565b6101c381610184565b840191505092915050565b600060208201905081810360008301526101e88184610195565b905092915050565b61044c806101ff6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80635e19e69f14610030575b600080fd5b61004a60048036038101906100459190610265565b61004c565b005b6100716040518060600160405280602781526020016103f0602791398260ff16610166565b60005b8160ff168160ff1610156100c9578060ff168160ff167f34e802e5ebd1f132e05852c5064046c1b535831ec52f1c4997fc6fdc4d5345b360405160405180910390a380806100c1906102c1565b915050610074565b5050565b610163816040516024016100e19190610384565b6040516020818303038152906040527f41304fac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610202565b50565b6101fe828260405160240161017c9291906103bf565b6040516020818303038152906040527fb60e72cc000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610202565b5050565b60006a636f6e736f6c652e6c6f6790508151602083016000808383865afa5050505050565b600080fd5b600060ff82169050919050565b6102428161022c565b811461024d57600080fd5b50565b60008135905061025f81610239565b92915050565b60006020828403121561027b5761027a610227565b5b600061028984828501610250565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006102cc8261022c565b915060ff8214156102e0576102df610292565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561032557808201518184015260208101905061030a565b83811115610334576000848401525b50505050565b6000601f19601f8301169050919050565b6000610356826102eb565b61036081856102f6565b9350610370818560208601610307565b6103798161033a565b840191505092915050565b6000602082019050818103600083015261039e818461034b565b905092915050565b6000819050919050565b6103b9816103a6565b82525050565b600060408201905081810360008301526103d9818561034b565b90506103e860208301846103b0565b939250505056fe43616c6c6564206c6f674e54696d657320776974682074686520706172616d657465723a20256fa2646970667358221220efe39b9dc769a10eb54b65df8344ee92d584288e80e1c170636e1ede5dd7c3e064736f6c634300080b0033456e7465726564204c6f677320636f6e747261637420636f6e7374727563746f722e\";\nconst [from] = await provider.send(\"eth_accounts\");\nconst filterId = await provider.send(\"eth_newFilter\");\n\nconst subscriptionId = await provider.send(\"eth_subscribe\", [\"newHeads\"]);\nawait provider.send(\"eth_sendTransaction\", [{ from, data: logsContract, gas: \"0x5b8d80\" }] );\n\nconst changes = await provider.request({ method: \"eth_getFilterChanges\", params: [filterId] });\nconsole.log(changes);\n\nawait provider.send(\"eth_unsubscribe\", [subscriptionId]);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 296,
									"name": "filterId",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The filter id."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"name": "Data"
										}
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 300,
					"name": "eth_getFilterLogs",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 2656,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 301,
							"name": "eth_getFilterLogs",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns an array of all logs matching filter with given id.",
								"returns": "Array of log objects, or an empty array.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\n// Logs.sol\n// // SPDX-License-Identifier: MIT\n// pragma solidity >= 0.4.22 <0.9.0;\n//\n// import \"console.sol\";\n//\n// contract Logs {\n//   event Event(uint256 indexed first, uint256 indexed second);\n//   constructor() {\n//     console.log(\"Entered Logs contract constructor.\");\n//     emit Event(1, 2);\n//   }\n//\n//   function logNTimes(uint8 n) public {\n//     console.log(\"Called logNTimes with the parameter: %o\", n);\n//     for (uint8 i = 0; i < n; i++) {\n//       emit Event(i, i);\n//     }\n//   }\n// }\n\nconst logsContract = \"0x608060405234801561001057600080fd5b5061003c60405180606001604052806022815260200161064b6022913961007160201b6100cd1760201c565b600260017f34e802e5ebd1f132e05852c5064046c1b535831ec52f1c4997fc6fdc4d5345b360405160405180910390a36101f0565b61010d8160405160240161008591906101ce565b6040516020818303038152906040527f41304fac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061011060201b60201c565b50565b60006a636f6e736f6c652e6c6f6790508151602083016000808383865afa5050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561016f578082015181840152602081019050610154565b8381111561017e576000848401525b50505050565b6000601f19601f8301169050919050565b60006101a082610135565b6101aa8185610140565b93506101ba818560208601610151565b6101c381610184565b840191505092915050565b600060208201905081810360008301526101e88184610195565b905092915050565b61044c806101ff6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80635e19e69f14610030575b600080fd5b61004a60048036038101906100459190610265565b61004c565b005b6100716040518060600160405280602781526020016103f0602791398260ff16610166565b60005b8160ff168160ff1610156100c9578060ff168160ff167f34e802e5ebd1f132e05852c5064046c1b535831ec52f1c4997fc6fdc4d5345b360405160405180910390a380806100c1906102c1565b915050610074565b5050565b610163816040516024016100e19190610384565b6040516020818303038152906040527f41304fac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610202565b50565b6101fe828260405160240161017c9291906103bf565b6040516020818303038152906040527fb60e72cc000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610202565b5050565b60006a636f6e736f6c652e6c6f6790508151602083016000808383865afa5050505050565b600080fd5b600060ff82169050919050565b6102428161022c565b811461024d57600080fd5b50565b60008135905061025f81610239565b92915050565b60006020828403121561027b5761027a610227565b5b600061028984828501610250565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006102cc8261022c565b915060ff8214156102e0576102df610292565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561032557808201518184015260208101905061030a565b83811115610334576000848401525b50505050565b6000601f19601f8301169050919050565b6000610356826102eb565b61036081856102f6565b9350610370818560208601610307565b6103798161033a565b840191505092915050565b6000602082019050818103600083015261039e818461034b565b905092915050565b6000819050919050565b6103b9816103a6565b82525050565b600060408201905081810360008301526103d9818561034b565b90506103e860208301846103b0565b939250505056fe43616c6c6564206c6f674e54696d657320776974682074686520706172616d657465723a20256fa2646970667358221220efe39b9dc769a10eb54b65df8344ee92d584288e80e1c170636e1ede5dd7c3e064736f6c634300080b0033456e7465726564204c6f677320636f6e747261637420636f6e7374727563746f722e\";\nconst [from] = await provider.send(\"eth_accounts\");\nconst filterId = await provider.send(\"eth_newFilter\");\n\nawait provider.send(\"eth_subscribe\", [\"newHeads\"]);\nawait provider.send(\"eth_sendTransaction\", [{ from, data: logsContract, gas: \"0x5b8d80\" }] );\n\nconst logs = await provider.request({ method: \"eth_getFilterLogs\", params: [filterId] });\nconsole.log(logs);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 302,
									"name": "filterId",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The filter id."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Logs"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 303,
					"name": "eth_getLogs",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 2717,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 304,
							"name": "eth_getLogs",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns an array of all logs matching a given filter object.",
								"text": "Filter options:\n* `fromBlock`: `QUANTITY | TAG` (optional) - Integer block number, or the string \"latest\", \"earliest\"\nor \"pending\".\n* `toBlock`: `QUANTITY | TAG` (optional) - Integer block number, or the string \"latest\", \"earliest\"\nor \"pending\".\n* `address`: `DATA | Array` (optional) - Contract address or a list of addresses from which the logs should originate.\n* `topics`: `Array of DATA` (optional) - Array of 32 Bytes `DATA` topics. Topics are order-dependent. Each topic can also\nbe an array of `DATA` with \"or\" options.\n* `blockHash`: `DATA`, 32 Bytes (optional) - Hash of the block to restrict logs from. If `blockHash` is present,\nthen neither `fromBlock` or `toBlock` are allowed.\n",
								"returns": "Array of log objects, or an empty array.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\n// Logs.sol\n// // SPDX-License-Identifier: MIT\n// pragma solidity >= 0.4.22 <0.9.0;\n//\n// import \"console.sol\";\n//\n// contract Logs {\n//   event Event(uint256 indexed first, uint256 indexed second);\n//   constructor() {\n//     console.log(\"Entered Logs contract constructor.\");\n//     emit Event(1, 2);\n//   }\n//\n//   function logNTimes(uint8 n) public {\n//     console.log(\"Called logNTimes with the parameter: %o\", n);\n//     for (uint8 i = 0; i < n; i++) {\n//       emit Event(i, i);\n//     }\n//   }\n// }\n\nconst logsContract = \"0x608060405234801561001057600080fd5b5061003c60405180606001604052806022815260200161064b6022913961007160201b6100cd1760201c565b600260017f34e802e5ebd1f132e05852c5064046c1b535831ec52f1c4997fc6fdc4d5345b360405160405180910390a36101f0565b61010d8160405160240161008591906101ce565b6040516020818303038152906040527f41304fac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061011060201b60201c565b50565b60006a636f6e736f6c652e6c6f6790508151602083016000808383865afa5050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561016f578082015181840152602081019050610154565b8381111561017e576000848401525b50505050565b6000601f19601f8301169050919050565b60006101a082610135565b6101aa8185610140565b93506101ba818560208601610151565b6101c381610184565b840191505092915050565b600060208201905081810360008301526101e88184610195565b905092915050565b61044c806101ff6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80635e19e69f14610030575b600080fd5b61004a60048036038101906100459190610265565b61004c565b005b6100716040518060600160405280602781526020016103f0602791398260ff16610166565b60005b8160ff168160ff1610156100c9578060ff168160ff167f34e802e5ebd1f132e05852c5064046c1b535831ec52f1c4997fc6fdc4d5345b360405160405180910390a380806100c1906102c1565b915050610074565b5050565b610163816040516024016100e19190610384565b6040516020818303038152906040527f41304fac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610202565b50565b6101fe828260405160240161017c9291906103bf565b6040516020818303038152906040527fb60e72cc000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610202565b5050565b60006a636f6e736f6c652e6c6f6790508151602083016000808383865afa5050505050565b600080fd5b600060ff82169050919050565b6102428161022c565b811461024d57600080fd5b50565b60008135905061025f81610239565b92915050565b60006020828403121561027b5761027a610227565b5b600061028984828501610250565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006102cc8261022c565b915060ff8214156102e0576102df610292565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561032557808201518184015260208101905061030a565b83811115610334576000848401525b50505050565b6000601f19601f8301169050919050565b6000610356826102eb565b61036081856102f6565b9350610370818560208601610307565b6103798161033a565b840191505092915050565b6000602082019050818103600083015261039e818461034b565b905092915050565b6000819050919050565b6103b9816103a6565b82525050565b600060408201905081810360008301526103d9818561034b565b90506103e860208301846103b0565b939250505056fe43616c6c6564206c6f674e54696d657320776974682074686520706172616d657465723a20256fa2646970667358221220efe39b9dc769a10eb54b65df8344ee92d584288e80e1c170636e1ede5dd7c3e064736f6c634300080b0033456e7465726564204c6f677320636f6e747261637420636f6e7374727563746f722e\";\nconst [from] = await provider.send(\"eth_accounts\");\n\nawait provider.send(\"eth_subscribe\", [\"newHeads\"]);\nconst txHash = await provider.send(\"eth_sendTransaction\", [{ from, data: logsContract, gas: \"0x5b8d80\" }] );\n\nconst { contractAddress } = await provider.send(\"eth_getTransactionReceipt\", [txHash] );\n\nconst logs = await provider.request({ method: \"eth_getLogs\", params: [{ address: contractAddress }] });\nconsole.log(logs);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 305,
									"name": "filter",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The filter options as seen in source."
									},
									"type": {
										"type": "reference",
										"name": "FilterArgs"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Logs"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 124,
					"name": "eth_getProof",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "2",
								"max": "3"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1124,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 125,
							"name": "eth_getProof",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the details for the account at the specified address and block\nnumber, the account's Merkle proof, and the storage values for the\nspecified storage keys with their Merkle-proofs.",
								"returns": "An object containing the details for the account at the specified\naddress and block number, the account's Merkle proof, and the\nstorage-values for the specified storage keys with their Merkle-proofs:\n* `balance`: `QUANTITY` - the balance of the account.\n* `codeHash`: `DATA` - 32 Bytes - hash of the account. A simple account\n  without code will return\n  `\"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470\"`\n* `nonce`: `QUANTITY` - the nonce of the account.\n* `storageHash`: `DATA` - 32 Bytes - SHA3 of the StorageRoot. All storage\n  will deliver a MerkleProof starting with this rootHash.\n* `accountProof`: `Array` - Array of rlp-serialized MerkleTree-Nodes,\n  starting with the stateRoot-NODE, following the path of the SHA3\n  (address) as key.\n* `storageProof`: `Array` - Array of storage entries as requested. Each\n  entry is an object with the following properties:\n  * `key`: `DATA` - the requested storage key.\n  * `value`: `QUANTITY` - the storage value.\n  * `proof`: `Array` - Array of rlp-serialized MerkleTree-Nodes, starting\n    with the storageHash-Node, following the path of the SHA3 (key) as\n    path.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\n// Simple.sol\n// // SPDX-License-Identifier: MIT\n//  pragma solidity >= 0.4.22 <0.9.0;\n//\n// import \"console.sol\";\n//\n//  contract Simple {\n//      uint256 public value;\n//      constructor() payable {\n//          console.log(\"Called Simple contract constructor. Setting `value` to 5.\");\n//          value = 5;\n//      }\n//  }\nconst simpleSol = \"0x608060405261002f6040518060600160405280603781526020016104016037913961003c60201b6100541760201c565b60056000819055506101bb565b6100d8816040516024016100509190610199565b6040516020818303038152906040527f41304fac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506100db60201b60201c565b50565b60006a636f6e736f6c652e6c6f6790508151602083016000808383865afa5050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561013a57808201518184015260208101905061011f565b83811115610149576000848401525b50505050565b6000601f19601f8301169050919050565b600061016b82610100565b610175818561010b565b935061018581856020860161011c565b61018e8161014f565b840191505092915050565b600060208201905081810360008301526101b38184610160565b905092915050565b610237806101ca6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80633fa4f24514610030575b600080fd5b61003861004e565b604051610045919061012b565b60405180910390f35b60005481565b6100ea8160405160240161006891906101df565b6040516020818303038152906040527f41304fac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506100ed565b50565b60006a636f6e736f6c652e6c6f6790508151602083016000808383865afa5050505050565b6000819050919050565b61012581610112565b82525050565b6000602082019050610140600083018461011c565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610180578082015181840152602081019050610165565b8381111561018f576000848401525b50505050565b6000601f19601f8301169050919050565b60006101b182610146565b6101bb8185610151565b93506101cb818560208601610162565b6101d481610195565b840191505092915050565b600060208201905081810360008301526101f981846101a6565b90509291505056fea26469706673582212205402181d93a2ec38e277cfd7fa6bdb14ae069535ac31572e1c94c713cddb891264736f6c634300080b003343616c6c65642053696d706c6520636f6e747261637420636f6e7374727563746f722e2053657474696e672076616c756520746f20352e\";\nconst [from] = await provider.request({ method: \"eth_accounts\", params: [] });\nawait provider.request({ method: \"eth_subscribe\", params: [\"newHeads\"] });\nconst txHash = await provider.request({ method: \"eth_sendTransaction\", params: [{ from, gas: \"0x5b8d80\", data: simpleSol }] });\nconst txReceipt = await provider.request({ method: \"eth_getTransactionReceipt\", params: [txHash] });\nconst proof = await provider.request({ method: \"eth_getProof\", params: [txReceipt.contractAddress, [\"0x0\", \"0x1\"], \"latest\"] });\nconsole.log(proof);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 126,
									"name": "address",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Address of the account"
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 127,
									"name": "storageKeys",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Array of storage keys to be proofed."
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								},
								{
									"id": 128,
									"name": "blockNumber",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "A block number, or the string \"earliest\", \"latest\", or\n\"pending\"."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "Tag.latest"
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "AccountProof"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 246,
					"name": "eth_getStorageAt",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "2",
								"max": "3"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1769,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 247,
							"name": "eth_getStorageAt",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the value from a storage position at a given address.",
								"returns": "The value in storage at the requested position.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\n// Simple.sol\n// // SPDX-License-Identifier: MIT\n//  pragma solidity >= 0.4.22 <0.9.0;\n//\n// import \"console.sol\";\n//\n//  contract Simple {\n//      uint256 public value;\n//      constructor() payable {\n//          console.log(\"Called Simple contract constructor. Setting value to 5.\");\n//          value = 5;\n//      }\n//  }\nconst simpleSol = \"0x608060405261002f6040518060600160405280603781526020016104016037913961003c60201b6100541760201c565b60056000819055506101bb565b6100d8816040516024016100509190610199565b6040516020818303038152906040527f41304fac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506100db60201b60201c565b50565b60006a636f6e736f6c652e6c6f6790508151602083016000808383865afa5050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561013a57808201518184015260208101905061011f565b83811115610149576000848401525b50505050565b6000601f19601f8301169050919050565b600061016b82610100565b610175818561010b565b935061018581856020860161011c565b61018e8161014f565b840191505092915050565b600060208201905081810360008301526101b38184610160565b905092915050565b610237806101ca6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80633fa4f24514610030575b600080fd5b61003861004e565b604051610045919061012b565b60405180910390f35b60005481565b6100ea8160405160240161006891906101df565b6040516020818303038152906040527f41304fac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506100ed565b50565b60006a636f6e736f6c652e6c6f6790508151602083016000808383865afa5050505050565b6000819050919050565b61012581610112565b82525050565b6000602082019050610140600083018461011c565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610180578082015181840152602081019050610165565b8381111561018f576000848401525b50505050565b6000601f19601f8301169050919050565b60006101b182610146565b6101bb8185610151565b93506101cb818560208601610162565b6101d481610195565b840191505092915050565b600060208201905081810360008301526101f981846101a6565b90509291505056fea26469706673582212205402181d93a2ec38e277cfd7fa6bdb14ae069535ac31572e1c94c713cddb891264736f6c634300080b003343616c6c65642053696d706c6520636f6e747261637420636f6e7374727563746f722e2053657474696e672076616c756520746f20352e\";\nconst [from] = await provider.request({ method: \"eth_accounts\", params: [] });\nawait provider.request({ method: \"eth_subscribe\", params: [\"newHeads\"] });\nconst txHash = await provider.request({ method: \"eth_sendTransaction\", params: [{ from, gas: \"0x5b8d80\", data: simpleSol }] });\nconst txReceipt = await provider.request({ method: \"eth_getTransactionReceipt\", params: [txHash] });\nconst storageValue = await provider.request({ method: \"eth_getStorageAt\", params: [txReceipt.contractAddress, \"0x0\", \"latest\"] });\nconsole.log(storageValue);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 248,
									"name": "address",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Address of the storage."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 249,
									"name": "position",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Integer of the position in the storage."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 250,
									"name": "blockNumber",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Integer block number, or the string \"latest\", \"earliest\"\n or \"pending\"."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "Tag.latest"
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Data"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 147,
					"name": "eth_getTransactionByBlockHashAndIndex",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "2"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1339,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 148,
							"name": "eth_getTransactionByBlockHashAndIndex",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns information about a transaction by block hash and transaction index position.",
								"returns": "The transaction object or `null` if no transaction was found.\n\n* `hash`: `DATA`, 32 Bytes - The transaction hash.\n* `nonce`: `QUANTITY` - The number of transactions made by the sender prior to this one.\n* `blockHash`: `DATA`, 32 Bytes - The hash of the block the transaction is in. `null` when pending.\n* `blockNumber`: `QUANTITY` - The number of the block the transaction is in. `null` when pending.\n* `transactionIndex`: `QUANTITY` - The index position of the transaction in the block.\n* `from`: `DATA`, 20 Bytes - The address the transaction is sent from.\n* `to`: `DATA`, 20 Bytes - The address the transaction is sent to.\n* `value`: `QUANTITY` - The value transferred in wei.\n* `gas`: `QUANTITY` - The gas provided by the sender.\n* `gasPrice`: `QUANTITY` - The price of gas in wei.\n* `input`: `DATA` - The data sent along with the transaction.\n* `v`: `QUANTITY` - ECDSA recovery id.\n* `r`: `DATA`, 32 Bytes - ECDSA signature r.\n* `s`: `DATA`, 32 Bytes - ECDSA signature s.\n",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst [from, to] = await provider.request({ method: \"eth_accounts\", params: [] });\nawait provider.request({ method: \"eth_subscribe\", params: [\"newHeads\"] });\nconst txHash = await provider.request({ method: \"eth_sendTransaction\", params: [{ from, to, gas: \"0x5b8d80\" }] });\nconst { blockHash, transactionIndex } = await provider.request({ method: \"eth_getTransactionReceipt\", params: [txHash] });\n\nconst tx = await provider.request({ method: \"eth_getTransactionByBlockHashAndIndex\", params: [ blockHash, transactionIndex ] });\nconsole.log(tx);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 149,
									"name": "hash",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Hash of a block."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 150,
									"name": "index",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Integer of the transaction index position."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "union",
										"types": [
											{
												"type": "reference",
												"name": "LegacyTransactionJSON"
											},
											{
												"type": "reference",
												"name": "EIP2930AccessListTransactionJSON"
											},
											{
												"type": "reference",
												"name": "EIP1559FeeMarketTransactionJSON"
											}
										]
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 151,
					"name": "eth_getTransactionByBlockNumberAndIndex",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "2"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1385,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 152,
							"name": "eth_getTransactionByBlockNumberAndIndex",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns information about a transaction by block number and transaction index position.",
								"returns": "The transaction object or `null` if no transaction was found.\n\n* `hash`: `DATA`, 32 Bytes - The transaction hash.\n* `nonce`: `QUANTITY` - The number of transactions made by the sender prior to this one.\n* `blockHash`: `DATA`, 32 Bytes - The hash of the block the transaction is in. `null` when pending.\n* `blockNumber`: `QUANTITY` - The number of the block the transaction is in. `null` when pending.\n* `transactionIndex`: `QUANTITY` - The index position of the transaction in the block.\n* `from`: `DATA`, 20 Bytes - The address the transaction is sent from.\n* `to`: `DATA`, 20 Bytes - The address the transaction is sent to.\n* `value`: `QUANTITY` - The value transferred in wei.\n* `gas`: `QUANTITY` - The gas provided by the sender.\n* `gasPrice`: `QUANTITY` - The price of gas in wei.\n* `input`: `DATA` - The data sent along with the transaction.\n* `v`: `QUANTITY` - ECDSA recovery id.\n* `r`: `DATA`, 32 Bytes - ECDSA signature r.\n* `s`: `DATA`, 32 Bytes - ECDSA signature s.\n",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst [from, to] = await provider.request({ method: \"eth_accounts\", params: [] });\nawait provider.request({ method: \"eth_subscribe\", params: [\"newHeads\"] });\nconst txHash = await provider.request({ method: \"eth_sendTransaction\", params: [{ from, to, gas: \"0x5b8d80\" }] });\nconst { transactionIndex } = await provider.request({ method: \"eth_getTransactionReceipt\", params: [txHash] });\n\nconst tx = await provider.request({ method: \"eth_getTransactionByBlockNumberAndIndex\", params: [ \"latest\", transactionIndex ] });\nconsole.log(tx);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 153,
									"name": "number",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "A block number, or the string \"earliest\", \"latest\" or \"pending\"."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 154,
									"name": "index",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Integer of the transaction index position."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "union",
										"types": [
											{
												"type": "reference",
												"name": "LegacyTransactionJSON"
											},
											{
												"type": "reference",
												"name": "EIP2930AccessListTransactionJSON"
											},
											{
												"type": "reference",
												"name": "EIP1559FeeMarketTransactionJSON"
											}
										]
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 251,
					"name": "eth_getTransactionByHash",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1841,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 252,
							"name": "eth_getTransactionByHash",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the information about a transaction requested by transaction hash.",
								"returns": "The transaction object or `null` if no transaction was found.\n\n* `hash`: `DATA`, 32 Bytes - The transaction hash.\n* `nonce`: `QUANTITY` - The number of transactions made by the sender prior to this one.\n* `blockHash`: `DATA`, 32 Bytes - The hash of the block the transaction is in. `null` when pending.\n* `blockNumber`: `QUANTITY` - The number of the block the transaction is in. `null` when pending.\n* `transactionIndex`: `QUANTITY` - The index position of the transaction in the block.\n* `from`: `DATA`, 20 Bytes - The address the transaction is sent from.\n* `to`: `DATA`, 20 Bytes - The address the transaction is sent to.\n* `value`: `QUANTITY` - The value transferred in wei.\n* `gas`: `QUANTITY` - The gas provided by the sender.\n* `gasPrice`: `QUANTITY` - The price of gas in wei.\n* `input`: `DATA` - The data sent along with the transaction.\n* `v`: `QUANTITY` - ECDSA recovery id.\n* `r`: `DATA`, 32 Bytes - ECDSA signature r.\n* `s`: `DATA`, 32 Bytes - ECDSA signature s.\n",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst [from, to] = await provider.request({ method: \"eth_accounts\", params: [] });\nawait provider.request({ method: \"eth_subscribe\", params: [\"newHeads\"] });\nconst txHash = await provider.request({ method: \"eth_sendTransaction\", params: [{ from, to, gas: \"0x5b8d80\" }] });\n\nconst tx = await provider.request({ method: \"eth_getTransactionByHash\", params: [ txHash ] });\nconsole.log(tx);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 253,
									"name": "transactionHash",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Hash of a transaction."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "union",
										"types": [
											{
												"type": "reference",
												"name": "LegacyTransactionJSON"
											},
											{
												"type": "reference",
												"name": "EIP2930AccessListTransactionJSON"
											},
											{
												"type": "reference",
												"name": "EIP1559FeeMarketTransactionJSON"
											},
											{
												"type": "reference",
												"typeArguments": [
													{
														"type": "literal",
														"value": "private"
													}
												],
												"name": "Transaction"
											}
										]
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 306,
					"name": "eth_getTransactionCount",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1",
								"max": "2"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 2739,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 307,
							"name": "eth_getTransactionCount",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the number of transactions sent from an address.",
								"returns": "Number of transactions sent from this address.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst [from, to] = await provider.request({ method: \"eth_accounts\", params: [] });\nawait provider.request({ method: \"eth_subscribe\", params: [\"newHeads\"] });\nawait provider.request({ method: \"eth_sendTransaction\", params: [{ from, to, gas: \"0x5b8d80\" }] });\n\nconst txCount = await provider.request({ method: \"eth_getTransactionCount\", params: [ from, \"latest\" ] });\nconsole.log(txCount);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 308,
									"name": "address",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "`DATA`, 20 Bytes - The address to get number of transactions sent from"
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 309,
									"name": "blockNumber",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Integer block number, or the string \"latest\", \"earliest\"\nor \"pending\"."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "Tag.latest"
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Quantity"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 254,
					"name": "eth_getTransactionReceipt",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1883,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 255,
							"name": "eth_getTransactionReceipt",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the receipt of a transaction by transaction hash.",
								"text": "Note: The receipt is not available for pending transactions.\n",
								"returns": "Returns the receipt of a transaction by transaction hash.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst [from, to] = await provider.request({ method: \"eth_accounts\", params: [] });\nawait provider.request({ method: \"eth_subscribe\", params: [\"newHeads\"] });\nconst txHash = await provider.request({ method: \"eth_sendTransaction\", params: [{ from, to, gas: \"0x5b8d80\" }] });\n\nconst txReceipt = await provider.request({ method: \"eth_getTransactionReceipt\", params: [ txHash ] });\nconsole.log(txReceipt);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 256,
									"name": "transactionHash",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Hash of a transaction."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "TransactionReceipt"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 161,
					"name": "eth_getUncleByBlockHashAndIndex",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "2"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1465,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 162,
							"name": "eth_getUncleByBlockHashAndIndex",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns information about a uncle of a block by hash and uncle index position.",
								"returns": "A block object or `null` when no block is found.\n\n* `hash`: `DATA`, 32 Bytes - Hash of the block. `null` when pending.\n* `parentHash`: `DATA`, 32 Bytes - Hash of the parent block.\n* `sha3Uncles`: `DATA`, 32 Bytes - SHA3 of the uncles data in the block.\n* `miner`: `DATA`, 20 Bytes -  Address of the miner.\n* `stateRoot`: `DATA`, 32 Bytes - The root of the state trie of the block.\n* `transactionsRoot`: `DATA`, 32 Bytes - The root of the transaction trie of the block.\n* `receiptsRoot`: `DATA`, 32 Bytes - The root of the receipts trie of the block.\n* `logsBloom`: `DATA`, 256 Bytes - The bloom filter for the logs of the block. `null` when pending.\n* `difficulty`: `QUANTITY` - Integer of the difficulty of this block.\n* `number`: `QUANTITY` - The block number. `null` when pending.\n* `gasLimit`: `QUANTITY` - The maximum gas allowed in the block.\n* `gasUsed`: `QUANTITY` - Total gas used by all transactions in the block.\n* `timestamp`: `QUANTITY` - The unix timestamp for when the block was collated.\n* `extraData`: `DATA` - Extra data for the block.\n* `mixHash`: `DATA`, 256 Bytes - Hash identifier for the block.\n* `nonce`: `DATA`, 8 Bytes - Hash of the generated proof-of-work. `null` when pending.\n* `totalDifficulty`: `QUANTITY` - Integer of the total difficulty of the chain until this block.\n* `size`: `QUANTITY` - Integer the size of the block in bytes.\n* `uncles`: `Array` - Array of uncle hashes.\n\n**NOTE: **The return does not contain a list of transactions in the uncle\nblock, to get this, make another request to `eth_getBlockByHash`.\n",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst blockHash = await provider.send(\"eth_getBlockByNumber\", [\"latest\"] );\nconst block = await provider.send(\"eth_getUncleByBlockHashAndIndex\", [blockHash, \"0x0\"] );\nconsole.log(block);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 163,
									"name": "hash",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Hash of a block."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 164,
									"name": "index",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The uncle's index position."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"typeArguments": [
											{
												"type": "reflection",
												"declaration": {
													"id": 165,
													"name": "__type",
													"kind": 65536,
													"kindString": "Type literal",
													"flags": {},
													"children": [
														{
															"id": 186,
															"name": "baseFeePerGas",
															"kind": 1024,
															"kindString": "Property",
															"flags": {
																"isOptional": true
															},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 25,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 177,
															"name": "difficulty",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 16,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 183,
															"name": "extraData",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 22,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 180,
															"name": "gasLimit",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 19,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 181,
															"name": "gasUsed",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 20,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 166,
															"name": "hash",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "ethereum/src/api-types.ts",
																	"line": 177,
																	"character": 8
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 176,
															"name": "logsBloom",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 15,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 172,
															"name": "miner",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 11,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 184,
															"name": "mixHash",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 23,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 185,
															"name": "nonce",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 24,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 179,
															"name": "number",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 18,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 170,
															"name": "parentHash",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 9,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 175,
															"name": "receiptsRoot",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 14,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 171,
															"name": "sha3Uncles",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 10,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 167,
															"name": "size",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "ethereum/src/api-types.ts",
																	"line": 178,
																	"character": 8
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 173,
															"name": "stateRoot",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 12,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 182,
															"name": "timestamp",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 21,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 178,
															"name": "totalDifficulty",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 17,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 168,
															"name": "transactions",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "ethereum/src/api-types.ts",
																	"line": 179,
																	"character": 8
																}
															],
															"type": {
																"type": "array",
																"elementType": {
																	"type": "union",
																	"types": [
																		{
																			"type": "unknown",
																			"name": "{ hash: string; type?: string; nonce: string; blockHash: string; blockNumber: string; transactionIndex: string; from: string; to: string; value: string; gas: string; gasPrice: string; input: string; v: string; r: string; s: string; }"
																		},
																		{
																			"type": "unknown",
																			"name": "{ hash: string; type: string; chainId: string; nonce: string; blockHash: string; blockNumber: string; transactionIndex: string; from: string; to: string; value: string; gas: string; gasPrice: string; input: string; accessList: { address: string; storageKeys: string[]; }[]; v: string; r: string; s: string; }"
																		},
																		{
																			"type": "unknown",
																			"name": "{ hash: string; type: string; chainId: string; nonce: string; blockHash: string; blockNumber: string; transactionIndex: string; from: string; to: string; value: string; maxPriorityFeePerGas: string; maxFeePerGas: string; gasPrice: string; gas: string; input: string; accessList: { address: string; storageKeys: string[]; }[]; v: string; r: string; s: string; }"
																		},
																		{
																			"type": "unknown",
																			"name": "{ type?: string; nonce: string; value: string; r: string; s: string; hash: string; blockHash: null; blockNumber: null; gasPrice: string; gas: string; to: string; v: string; from: string; transactionIndex: null; input: string; }"
																		}
																	]
																}
															}
														},
														{
															"id": 174,
															"name": "transactionsRoot",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 13,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 169,
															"name": "uncles",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "ethereum/src/api-types.ts",
																	"line": 182,
																	"character": 8
																}
															],
															"type": {
																"type": "array",
																"elementType": {
																	"type": "intrinsic",
																	"name": "string"
																}
															}
														}
													],
													"groups": [
														{
															"title": "Properties",
															"kind": 1024,
															"children": [
																186,
																177,
																183,
																180,
																181,
																166,
																176,
																172,
																184,
																185,
																179,
																170,
																175,
																171,
																167,
																173,
																182,
																178,
																168,
																174,
																169
															]
														}
													]
												}
											},
											{
												"type": "literal",
												"value": "transactions"
											}
										],
										"name": "Omit"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 187,
					"name": "eth_getUncleByBlockNumberAndIndex",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "2"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1506,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 188,
							"name": "eth_getUncleByBlockNumberAndIndex",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns information about a uncle of a block by hash and uncle index position.",
								"returns": "A block object or `null` when no block is found.\n\n* `hash`: `DATA`, 32 Bytes - Hash of the block. `null` when pending.\n* `parentHash`: `DATA`, 32 Bytes - Hash of the parent block.\n* `sha3Uncles`: `DATA`, 32 Bytes - SHA3 of the uncles data in the block.\n* `miner`: `DATA`, 20 Bytes -  Address of the miner.\n* `stateRoot`: `DATA`, 32 Bytes - The root of the state trie of the block.\n* `transactionsRoot`: `DATA`, 32 Bytes - The root of the transaction trie of the block.\n* `receiptsRoot`: `DATA`, 32 Bytes - The root of the receipts trie of the block.\n* `logsBloom`: `DATA`, 256 Bytes - The bloom filter for the logs of the block. `null` when pending.\n* `difficulty`: `QUANTITY` - Integer of the difficulty of this block.\n* `number`: `QUANTITY` - The block number. `null` when pending.\n* `gasLimit`: `QUANTITY` - The maximum gas allowed in the block.\n* `gasUsed`: `QUANTITY` - Total gas used by all transactions in the block.\n* `timestamp`: `QUANTITY` - The unix timestamp for when the block was collated.\n* `extraData`: `DATA` - Extra data for the block.\n* `mixHash`: `DATA`, 256 Bytes - Hash identifier for the block.\n* `nonce`: `DATA`, 8 Bytes - Hash of the generated proof-of-work. `null` when pending.\n* `totalDifficulty`: `QUANTITY` - Integer of the total difficulty of the chain until this block.\n* `size`: `QUANTITY` - Integer the size of the block in bytes.\n* `uncles`: `Array` - Array of uncle hashes.\n\n* **NOTE: **The return does not contain a list of transactions in the uncle\nblock, to get this, make another request to `eth_getBlockByHash`.\n",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst block = await provider.send(\"eth_getUncleByBlockNumberAndIndex\", [\"latest\", \"0x0\"] );\nconsole.log(block);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 189,
									"name": "blockNumber",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "A block number, or the string \"earliest\", \"latest\" or \"pending\"."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 190,
									"name": "uncleIndex",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The uncle's index position."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"typeArguments": [
											{
												"type": "reflection",
												"declaration": {
													"id": 191,
													"name": "__type",
													"kind": 65536,
													"kindString": "Type literal",
													"flags": {},
													"children": [
														{
															"id": 212,
															"name": "baseFeePerGas",
															"kind": 1024,
															"kindString": "Property",
															"flags": {
																"isOptional": true
															},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 25,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 203,
															"name": "difficulty",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 16,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 209,
															"name": "extraData",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 22,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 206,
															"name": "gasLimit",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 19,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 207,
															"name": "gasUsed",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 20,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 192,
															"name": "hash",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "ethereum/src/api-types.ts",
																	"line": 177,
																	"character": 8
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 202,
															"name": "logsBloom",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 15,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 198,
															"name": "miner",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 11,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 210,
															"name": "mixHash",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 23,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 211,
															"name": "nonce",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 24,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 205,
															"name": "number",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 18,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 196,
															"name": "parentHash",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 9,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 201,
															"name": "receiptsRoot",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 14,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 197,
															"name": "sha3Uncles",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 10,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 193,
															"name": "size",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "ethereum/src/api-types.ts",
																	"line": 178,
																	"character": 8
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 199,
															"name": "stateRoot",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 12,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 208,
															"name": "timestamp",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 21,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 204,
															"name": "totalDifficulty",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 17,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 194,
															"name": "transactions",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "ethereum/src/api-types.ts",
																	"line": 179,
																	"character": 8
																}
															],
															"type": {
																"type": "array",
																"elementType": {
																	"type": "union",
																	"types": [
																		{
																			"type": "unknown",
																			"name": "{ hash: string; type?: string; nonce: string; blockHash: string; blockNumber: string; transactionIndex: string; from: string; to: string; value: string; gas: string; gasPrice: string; input: string; v: string; r: string; s: string; }"
																		},
																		{
																			"type": "unknown",
																			"name": "{ hash: string; type: string; chainId: string; nonce: string; blockHash: string; blockNumber: string; transactionIndex: string; from: string; to: string; value: string; gas: string; gasPrice: string; input: string; accessList: { address: string; storageKeys: string[]; }[]; v: string; r: string; s: string; }"
																		},
																		{
																			"type": "unknown",
																			"name": "{ hash: string; type: string; chainId: string; nonce: string; blockHash: string; blockNumber: string; transactionIndex: string; from: string; to: string; value: string; maxPriorityFeePerGas: string; maxFeePerGas: string; gasPrice: string; gas: string; input: string; accessList: { address: string; storageKeys: string[]; }[]; v: string; r: string; s: string; }"
																		},
																		{
																			"type": "unknown",
																			"name": "{ type?: string; nonce: string; value: string; r: string; s: string; hash: string; blockHash: null; blockNumber: null; gasPrice: string; gas: string; to: string; v: string; from: string; transactionIndex: null; input: string; }"
																		}
																	]
																}
															}
														},
														{
															"id": 200,
															"name": "transactionsRoot",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "block/typings/src/runtime-block.d.ts",
																	"line": 13,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 195,
															"name": "uncles",
															"kind": 1024,
															"kindString": "Property",
															"flags": {},
															"sources": [
																{
																	"fileName": "ethereum/src/api-types.ts",
																	"line": 182,
																	"character": 8
																}
															],
															"type": {
																"type": "array",
																"elementType": {
																	"type": "intrinsic",
																	"name": "string"
																}
															}
														}
													],
													"groups": [
														{
															"title": "Properties",
															"kind": 1024,
															"children": [
																212,
																203,
																209,
																206,
																207,
																192,
																202,
																198,
																210,
																211,
																205,
																196,
																201,
																197,
																193,
																199,
																208,
																204,
																194,
																200,
																195
															]
														}
													]
												}
											},
											{
												"type": "literal",
												"value": "transactions"
											}
										],
										"name": "Omit"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 155,
					"name": "eth_getUncleCountByBlockHash",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1408,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 156,
							"name": "eth_getUncleCountByBlockHash",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the number of uncles in a block from a block matching the given block hash.",
								"returns": "The number of uncles in a block.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst blockHash = await provider.send(\"eth_getBlockByNumber\", [\"latest\"] );\nconst uncleCount = await provider.send(\"eth_getUncleCountByBlockHash\", [blockHash] );\nconsole.log(uncleCount);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 157,
									"name": "hash",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Hash of a block."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Quantity"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 158,
					"name": "eth_getUncleCountByBlockNumber",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1423,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 159,
							"name": "eth_getUncleCountByBlockNumber",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the number of uncles in a block from a block matching the given block hash.",
								"returns": "The number of uncles in a block.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst uncleCount = await provider.send(\"eth_getUncleCountByBlockNumber\", [\"latest\"] );\nconsole.log(uncleCount);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 160,
									"name": "blockNumber",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "A block number, or the string \"earliest\", \"latest\" or \"pending\"."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Quantity"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 213,
					"name": "eth_getWork",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1526,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 214,
							"name": "eth_getWork",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns: An Array with the following elements\n1: `DATA`, 32 Bytes - current block header pow-hash\n2: `DATA`, 32 Bytes - the seed hash used for the DAG.\n3: `DATA`, 32 Bytes - the boundary condition (\"target\"), 2^256 / difficulty.",
								"returns": "The hash of the current block, the seedHash, and the boundary condition to be met (\"target\").",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconsole.log(await provider.send(\"eth_getWork\", [] ));\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "union",
										"types": [
											{
												"type": "tuple"
											},
											{
												"type": "tuple",
												"elements": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "string"
													}
												]
											}
										]
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 226,
					"name": "eth_hashrate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1595,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 227,
							"name": "eth_hashrate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the number of hashes per second that the node is mining with.",
								"returns": "Number of hashes per second.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst hashrate = await provider.request({ method: \"eth_hashrate\", params: [] });\nconsole.log(hashrate);\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Quantity"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 230,
					"name": "eth_maxPriorityFeePerGas",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1623,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 231,
							"name": "eth_maxPriorityFeePerGas",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns a `maxPriorityFeePerGas` value suitable for quick transaction inclusion.",
								"returns": "The maxPriorityFeePerGas in wei.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst suggestedTip = await provider.request({ method: \"eth_maxPriorityFeePerGas\", params: [] });\nconsole.log(suggestedTip);\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Quantity"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 224,
					"name": "eth_mining",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1580,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 225,
							"name": "eth_mining",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns `true` if client is actively mining new blocks.",
								"returns": "returns `true` if the client is mining, otherwise `false`.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst isMining = await provider.request({ method: \"eth_mining\", params: [] });\nconsole.log(isMining);\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 287,
					"name": "eth_newBlockFilter",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 2414,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 288,
							"name": "eth_newBlockFilter",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Creates a filter in the node, to notify when a new block arrives. To check\nif the state has changed, call `eth_getFilterChanges`.",
								"returns": "A filter id.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst filterId = await provider.request({ method: \"eth_newBlockFilter\", params: [] });\nconsole.log(filterId);\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Quantity"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 291,
					"name": "eth_newFilter",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0",
								"max": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 2500,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 292,
							"name": "eth_newFilter",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Creates a filter object, based on filter options, to notify when the state\nchanges (logs). To check if the state has changed, call\n`eth_getFilterChanges`.",
								"text": "If the from `fromBlock` or `toBlock` option are equal to \"latest\" the\nfilter continually append logs for whatever block is seen as latest at the\ntime the block was mined, not just for the block that was \"latest\" when the\nfilter was created.\n\n### A note on specifying topic filters:\nTopics are order-dependent. A transaction with a log with topics [A, B]\nwill be matched by the following topic filters:\n * `[]` “anything”\n * `[A]` “A in first position (and anything after)”\n * `[null, B]` “anything in first position AND B in second position (and\nanything after)”\n * `[A, B]` “A in first position AND B in second position (and anything\nafter)”\n * `[[A, B], [A, B]]` “(A OR B) in first position AND (A OR B) in second\nposition (and anything after)”\n\nFilter options:\n* `fromBlock`: `QUANTITY | TAG` (optional) - Integer block number, or the string \"latest\", \"earliest\"\nor \"pending\".\n* `toBlock`: `QUANTITY | TAG` (optional) - Integer block number, or the string \"latest\", \"earliest\"\nor \"pending\".\n* `address`: `DATA | Array` (optional) - Contract address or a list of addresses from which the logs should originate.\n* `topics`: `Array of DATA` (optional) - Array of 32 Bytes `DATA` topics. Topics are order-dependent. Each topic can also\nbe an array of `DATA` with \"or\" options.\n",
								"returns": "A filter id.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst filterId = await provider.request({ method: \"eth_newFilter\", params: [] });\nconsole.log(filterId);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 293,
									"name": "filter",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"comment": {
										"shortText": "The filter options as seen in source.\n"
									},
									"type": {
										"type": "reference",
										"name": "RangeFilterArgs"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Quantity"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 289,
					"name": "eth_newPendingTransactionFilter",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 2441,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 290,
							"name": "eth_newPendingTransactionFilter",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Creates a filter in the node, to notify when new pending transactions\narrive. To check if the state has changed, call `eth_getFilterChanges`.",
								"returns": "A filter id.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst filterId = await provider.request({ method: \"eth_newPendingTransactionFilter\", params: [] });\nconsole.log(filterId);\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Quantity"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 108,
					"name": "eth_protocolVersion",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 981,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 109,
							"name": "eth_protocolVersion",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the current ethereum protocol version.",
								"returns": "The current ethereum protocol version.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst version = await provider.request({ method: \"eth_protocolVersion\", params: [] });\nconsole.log(version);\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Data"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 263,
					"name": "eth_sendRawTransaction",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 2039,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 264,
							"name": "eth_sendRawTransaction",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Creates new message call transaction or a contract creation for signed transactions.",
								"returns": "The transaction hash.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst [from, to] = await provider.request({ method: \"eth_accounts\", params: [] });\nconst signedTx = await provider.request({ method: \"eth_signTransaction\", params: [{ from, to, gas: \"0x5b8d80\", maxFeePerGas: \"0xffffffff\" }] });\nconst txHash = await provider.send(\"eth_sendRawTransaction\", [signedTx] );\nconsole.log(txHash);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 265,
									"name": "transaction",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The signed transaction data."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Data"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 257,
					"name": "eth_sendTransaction",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1944,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 258,
							"name": "eth_sendTransaction",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Creates new message call transaction or a contract creation, if the data field contains code.",
								"text": "Transaction call object:\n* `from`: `DATA`, 20 bytes (optional) - The address the transaction is sent from.\n* `to`: `DATA`, 20 bytes - The address the transaction is sent to.\n* `gas`: `QUANTITY` (optional) - Integer of the maximum gas allowance for the transaction.\n* `gasPrice`: `QUANTITY` (optional) - Integer of the price of gas in wei.\n* `value`: `QUANTITY` (optional) - Integer of the value in wei.\n* `data`: `DATA` (optional) - Hash of the method signature and the ABI encoded parameters.\n",
								"returns": "The transaction hash.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst [from, to] = await provider.request({ method: \"eth_accounts\", params: [] });\nawait provider.request({ method: \"eth_subscribe\", params: [\"newHeads\"] });\nconst txHash = await provider.request({ method: \"eth_sendTransaction\", params: [{ from, to, gas: \"0x5b8d80\" }] });\nconsole.log(txHash);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 259,
									"name": "transaction",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The transaction call object as seen in source."
									},
									"type": {
										"type": "reference",
										"name": "Transaction"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Data"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 266,
					"name": "eth_sign",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "2"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 2072,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 267,
							"name": "eth_sign",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "The sign method calculates an Ethereum specific signature with:\n`sign(keccak256(\"\\x19Ethereum Signed Message:\\n\" + message.length + message)))`.",
								"text": "By adding a prefix to the message makes the calculated signature\nrecognizable as an Ethereum specific signature. This prevents misuse where a malicious DApp can sign arbitrary data\n (e.g. transaction) and use the signature to impersonate the victim.\n\nNote the address to sign with must be unlocked.\n",
								"returns": "Signature - a hex encoded 129 byte array\nstarting with `0x`. It encodes the `r`, `s`, and `v` parameters from\nappendix F of the [yellow paper](https://ethereum.github.io/yellowpaper/paper.pdf)\n in big-endian format. Bytes 0...64 contain the `r` parameter, bytes\n64...128 the `s` parameter, and the last byte the `v` parameter. Note\nthat the `v` parameter includes the chain id as specified in [EIP-155](https://eips.ethereum.org/EIPS/eip-155).",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst [account] = await provider.request({ method: \"eth_accounts\", params: [] });\nconst msg = \"0x307866666666666666666666\";\nconst signature = await provider.request({ method: \"eth_sign\", params: [account, msg] });\nconsole.log(signature);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 268,
									"name": "address",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Address to sign with."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 269,
									"name": "message",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Message to sign."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "string"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 260,
					"name": "eth_signTransaction",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 2000,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 261,
							"name": "eth_signTransaction",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Signs a transaction that can be submitted to the network at a later time using `eth_sendRawTransaction`.",
								"text": "Transaction call object:\n* `from`: `DATA`, 20 bytes (optional) - The address the transaction is sent from.\n* `to`: `DATA`, 20 bytes - The address the transaction is sent to.\n* `gas`: `QUANTITY` (optional) - Integer of the maximum gas allowance for the transaction.\n* `gasPrice`: `QUANTITY` (optional) - Integer of the price of gas in wei.\n* `value`: `QUANTITY` (optional) - Integer of the value in wei.\n* `data`: `DATA` (optional) - Hash of the method signature and the ABI encoded parameters.\n",
								"returns": "The raw, signed transaction.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst [from, to] = await provider.request({ method: \"eth_accounts\", params: [] });\nconst signedTx = await provider.request({ method: \"eth_signTransaction\", params: [{ from, to }] });\nconsole.log(signedTx)\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 262,
									"name": "transaction",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The transaction call object as seen in source."
									},
									"type": {
										"type": "reference",
										"name": "Transaction"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Data"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 270,
					"name": "eth_signTypedData",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "2"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 2142,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 271,
							"name": "eth_signTypedData",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Identical to eth_signTypedData_v4.",
								"returns": "Signature. As in `eth_sign`, it is a hex encoded 129 byte array\nstarting with `0x`. It encodes the `r`, `s`, and `v` parameters from\nappendix F of the [yellow paper](https://ethereum.github.io/yellowpaper/paper.pdf)\n in big-endian format. Bytes 0...64 contain the `r` parameter, bytes\n64...128 the `s` parameter, and the last byte the `v` parameter. Note\nthat the `v` parameter includes the chain id as specified in [EIP-155](https://eips.ethereum.org/EIPS/eip-155).",
								"tags": [
									{
										"tag": "eip",
										"text": "[712](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-712.md)"
									},
									{
										"tag": "example",
										"text": "\n```javascript\nconst [account] = await provider.request({ method: \"eth_accounts\", params: [] });\nconst typedData = {\n types: {\n   EIP712Domain: [\n     { name: 'name', type: 'string' },\n     { name: 'version', type: 'string' },\n     { name: 'chainId', type: 'uint256' },\n     { name: 'verifyingContract', type: 'address' },\n   ],\n   Person: [\n     { name: 'name', type: 'string' },\n     { name: 'wallet', type: 'address' }\n   ],\n   Mail: [\n     { name: 'from', type: 'Person' },\n     { name: 'to', type: 'Person' },\n     { name: 'contents', type: 'string' }\n   ],\n },\n primaryType: 'Mail',\n domain: {\n   name: 'Ether Mail',\n   version: '1',\n   chainId: 1,\n   verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',\n },\n message: {\n   from: {\n     name: 'Cow',\n     wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',\n   },\n   to: {\n     name: 'Bob',\n     wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',\n   },\n   contents: 'Hello, Bob!',\n },\n};\nconst signature = await provider.request({ method: \"eth_signTypedData\", params: [account, typedData] });\nconsole.log(signature);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 272,
									"name": "address",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Address of the account that will sign the messages."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 273,
									"name": "typedData",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Typed structured data to be signed."
									},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"name": "MessageTypes"
											}
										],
										"name": "TypedMessage"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "string"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 274,
					"name": "eth_signTypedData_v4",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "2"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 2202,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 275,
							"name": "eth_signTypedData_v4",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"returns": "Signature. As in `eth_sign`, it is a hex encoded 129 byte array\nstarting with `0x`. It encodes the `r`, `s`, and `v` parameters from\nappendix F of the [yellow paper](https://ethereum.github.io/yellowpaper/paper.pdf)\n in big-endian format. Bytes 0...64 contain the `r` parameter, bytes\n64...128 the `s` parameter, and the last byte the `v` parameter. Note\nthat the `v` parameter includes the chain id as specified in [EIP-155](https://eips.ethereum.org/EIPS/eip-155).",
								"tags": [
									{
										"tag": "eip",
										"text": "[712](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-712.md)"
									},
									{
										"tag": "example",
										"text": "\n```javascript\nconst [account] = await provider.request({ method: \"eth_accounts\", params: [] });\nconst typedData = {\n types: {\n   EIP712Domain: [\n     { name: 'name', type: 'string' },\n     { name: 'version', type: 'string' },\n     { name: 'chainId', type: 'uint256' },\n     { name: 'verifyingContract', type: 'address' },\n   ],\n   Person: [\n     { name: 'name', type: 'string' },\n     { name: 'wallet', type: 'address' }\n   ],\n   Mail: [\n     { name: 'from', type: 'Person' },\n     { name: 'to', type: 'Person' },\n     { name: 'contents', type: 'string' }\n   ],\n },\n primaryType: 'Mail',\n domain: {\n   name: 'Ether Mail',\n   version: '1',\n   chainId: 1,\n   verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',\n },\n message: {\n   from: {\n     name: 'Cow',\n     wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',\n   },\n   to: {\n     name: 'Bob',\n     wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',\n   },\n   contents: 'Hello, Bob!',\n },\n};\nconst signature = await provider.request({ method: \"eth_signTypedData_v4\", params: [account, typedData] });\nconsole.log(signature);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 276,
									"name": "address",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Address of the account that will sign the messages."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 277,
									"name": "typedData",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Typed structured data to be signed."
									},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"name": "MessageTypes"
											}
										],
										"name": "TypedMessage"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "string"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 220,
					"name": "eth_submitHashrate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "2"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1566,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 221,
							"name": "eth_submitHashrate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Used for submitting mining hashrate.",
								"returns": "`true` if submitting went through successfully and `false` otherwise.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst hashRate = \"0x0000000000000000000000000000000000000000000000000000000000000001\";\nconst clientId = \"0xb2222a74119abd18dbcb7d1f661c6578b7bbeb4984c50e66ed538347f606b971\";\nconst result = await provider.request({ method: \"eth_submitHashrate\", params: [hashRate, clientId] });\nconsole.log(result);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 222,
									"name": "hashRate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "A hexadecimal string representation (32 bytes) of the hash rate."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 223,
									"name": "clientID",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "A random hexadecimal(32 bytes) ID identifying the client."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 215,
					"name": "eth_submitWork",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "3"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1547,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 216,
							"name": "eth_submitWork",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Used for submitting a proof-of-work solution.",
								"returns": "`true` if the provided solution is valid, otherwise `false`.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst nonce = \"0xe0df4bd14ab39a71\";\nconst powHash = \"0x0000000000000000000000000000000000000000000000000000000000000001\";\nconst digest = \"0xb2222a74119abd18dbcb7d1f661c6578b7bbeb4984c50e66ed538347f606b971\";\nconst result = await provider.request({ method: \"eth_submitWork\", params: [nonce, powHash, digest] });\nconsole.log(result);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 217,
									"name": "nonce",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The nonce found (64 bits)."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 218,
									"name": "powHash",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The header's pow-hash (256 bits)."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 219,
									"name": "digest",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The mix digest (256 bits)."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 278,
					"name": "eth_subscribe",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 2250,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 279,
							"name": "eth_subscribe",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Starts a subscription to a particular event. For every event that matches\nthe subscription a JSON-RPC notification with event details and\nsubscription ID will be sent to a client.",
								"returns": "A subscription id.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst subscriptionId = await provider.request({ method: \"eth_subscribe\", params: [\"newHeads\"] });\nconsole.log(subscriptionId);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 280,
									"name": "subscriptionName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Name for the subscription."
									},
									"type": {
										"type": "reference",
										"name": "SubscriptionName"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Quantity"
									}
								],
								"name": "PromiEvent"
							}
						},
						{
							"id": 281,
							"name": "eth_subscribe",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Starts a subscription to a particular event. For every event that matches\nthe subscription a JSON-RPC notification with event details and\nsubscription ID will be sent to a client.",
								"returns": "A subscription id.\n"
							},
							"parameters": [
								{
									"id": 282,
									"name": "subscriptionName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "-"
									},
									"type": {
										"type": "literal",
										"value": "logs"
									}
								},
								{
									"id": 283,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Filter options:\n * `address`: either an address or an array of addresses. Only logs that\n   are created from these addresses are returned\n * `topics`, only logs which match the specified topics"
									},
									"type": {
										"type": "reference",
										"name": "BaseFilterArgs"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Quantity"
									}
								],
								"name": "PromiEvent"
							}
						}
					]
				},
				{
					"id": 110,
					"name": "eth_syncing",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 1002,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 111,
							"name": "eth_syncing",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns an object containing data about the sync status or `false` when not syncing.",
								"returns": "An object with sync status data or `false`, when not syncing.\n\n* `startingBlock`: \\{bigint\\} The block at which the import started (will\n    only be reset, after the sync reached his head).\n* `currentBlock`: \\{bigint\\} The current block, same as `eth_blockNumber`.\n* `highestBlock`: \\{bigint\\} The estimated highest block.\n",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst result = await provider.request({ method: \"eth_syncing\", params: [] });\nconsole.log(result);\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 297,
					"name": "eth_uninstallFilter",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 2608,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 298,
							"name": "eth_uninstallFilter",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Uninstalls a filter with given id. Should always be called when watch is\nno longer needed.",
								"returns": "`true` if the filter was successfully uninstalled, otherwise\n`false`.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst filterId = await provider.request({ method: \"eth_newFilter\", params: [] });\nconst result = await provider.request({ method: \"eth_uninstallFilter\", params: [filterId] });\nconsole.log(result);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 299,
									"name": "filterId",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The filter id."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 284,
					"name": "eth_unsubscribe",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 2390,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 285,
							"name": "eth_unsubscribe",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Cancel a subscription to a particular event. Returns a boolean indicating\nif the subscription was successfully cancelled.",
								"returns": "`true` if subscription was cancelled successfully, otherwise `false`.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst subscriptionId = await provider.request({ method: \"eth_subscribe\", params: [\"newHeads\"] });\nconst result = await provider.request({ method: \"eth_unsubscribe\", params: [subscriptionId] });\nconsole.log(result);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 286,
									"name": "subscriptionId",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The ID of the subscription to unsubscribe to."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 71,
					"name": "evm_addAccount",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 667,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 72,
							"name": "evm_addAccount",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Adds any arbitrary account to the `personal` namespace.",
								"text": "Note: accounts already known to the `personal` namespace and accounts\nreturned by `eth_accounts` cannot be re-added using this method.",
								"returns": "`true` if  the account was successfully added. `false` if the\naccount is already in the `personal` namespace.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst address = \"0x742d35Cc6634C0532925a3b844Bc454e4438f44e\";\nconst passphrase = \"passphrase\"\nconst result = await provider.send(\"evm_addAccount\", [address, passphrase] );\nconsole.log(result);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 73,
									"name": "address",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The address of the account to add to the `personal`\nnamespace."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 74,
									"name": "passphrase",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The passphrase used to encrypt the account's private key.\nNOTE: this passphrase will be needed for all `personal` namespace calls\nthat require a password."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 60,
					"name": "evm_increaseTime",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 518,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 61,
							"name": "evm_increaseTime",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Jump forward in time by the given amount of time, in seconds.",
								"returns": "Returns the total time adjustment, in seconds.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst seconds = 10;\nconst timeAdjustment = await provider.send(\"evm_increaseTime\", [seconds] );\nconsole.log(timeAdjustment);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 62,
									"name": "seconds",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Number of seconds to jump forward in time by. Must be greater than or equal to `0`."
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "number"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "number"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 37,
					"name": "evm_mine",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 297,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 38,
							"name": "evm_mine",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Force a single block to be mined.",
								"text": "Mines a block independent of whether or not mining is started or stopped.\nWill mine an empty block if there are no available transactions to mine.\n",
								"returns": "The string `\"0x0\"`. May return additional meta-data in the future.\n",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconsole.log(\"start\", await provider.send(\"eth_blockNumber\"));\nawait provider.send(\"evm_mine\", [{blocks: 5}] ); // mines 5 blocks\nconsole.log(\"end\", await provider.send(\"eth_blockNumber\"));\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "literal",
										"value": "0x0"
									}
								],
								"name": "Promise"
							}
						},
						{
							"id": 39,
							"name": "evm_mine",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 40,
									"name": "timestamp",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "literal",
										"value": "0x0"
									}
								],
								"name": "Promise"
							}
						},
						{
							"id": 41,
							"name": "evm_mine",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 42,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "MineOptions"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "literal",
										"value": "0x0"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 75,
					"name": "evm_removeAccount",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 690,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 76,
							"name": "evm_removeAccount",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Removes an account from the `personal` namespace.",
								"text": "Note: accounts not known to the `personal` namespace cannot be removed\nusing this method.",
								"returns": "`true` if the account was successfully removed. `false` if the\naccount was not in the `personal` namespace.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst [address] = await provider.request({ method: \"eth_accounts\", params: [] });\nconst passphrase = \"\";\nconst result = await provider.send(\"evm_removeAccount\", [address, passphrase] );\nconsole.log(result);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 77,
									"name": "address",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The address of the account to remove from the `personal`\nnamespace."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 78,
									"name": "passphrase",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The passphrase used to decrypt the account's private key."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 66,
					"name": "evm_revert",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 603,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 67,
							"name": "evm_revert",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Revert the state of the blockchain to a previous snapshot. Takes a single\nparameter, which is the snapshot id to revert to. This deletes the given\nsnapshot, as well as any snapshots taken after (e.g.: reverting to id 0x1\nwill delete snapshots with ids 0x1, 0x2, etc.)",
								"returns": "`true` if a snapshot was reverted, otherwise `false`.\n",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst [from, to] = await provider.send(\"eth_accounts\");\nconst startingBalance = BigInt(await provider.send(\"eth_getBalance\", [from] ));\n\n// take a snapshot\nconst snapshotId = await provider.send(\"evm_snapshot\");\n\n// send value to another account (over-simplified example)\nawait provider.send(\"eth_subscribe\", [\"newHeads\"] );\nawait provider.send(\"eth_sendTransaction\", [{from, to, value: \"0xffff\"}] );\n\n// ensure balance has updated\nconst newBalance = await provider.send(\"eth_getBalance\", [from] );\nassert(BigInt(newBalance) < startingBalance);\n\n// revert the snapshot\nconst isReverted = await provider.send(\"evm_revert\", [snapshotId] );\nassert(isReverted);\nconsole.log({isReverted: isReverted});\n\n// ensure balance has reverted\nconst endingBalance = await provider.send(\"eth_getBalance\", [from] );\nconst isBalanceReverted = assert.strictEqual(BigInt(endingBalance), startingBalance);\nconsole.log({isBalanceReverted: isBalanceReverted});\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 68,
									"name": "snapshotId",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The snapshot id to revert."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 47,
					"name": "evm_setAccountBalance",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "2"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 401,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 48,
							"name": "evm_setAccountBalance",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Sets the given account's balance to the specified WEI value. Mines a new block\nbefore returning.",
								"text": "Warning: this will result in an invalid state tree.\n",
								"returns": "`true` if it worked, otherwise `false`.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst balance = \"0x3e8\";\nconst [address] = await provider.request({ method: \"eth_accounts\", params: [] });\nconst result = await provider.send(\"evm_setAccountBalance\", [address, balance] );\nconsole.log(result);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 49,
									"name": "address",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The account address to update."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 50,
									"name": "balance",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The balance value, in WEI, to be set."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 51,
					"name": "evm_setAccountCode",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "2"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 441,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 52,
							"name": "evm_setAccountCode",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Sets the given account's code to the specified data. Mines a new block\nbefore returning.",
								"text": "Warning: this will result in an invalid state tree.\n",
								"returns": "`true` if it worked, otherwise `false`.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst data = \"0xbaddad42\";\nconst [address] = await provider.request({ method: \"eth_accounts\", params: [] });\nconst result = await provider.send(\"evm_setAccountCode\", [address, data] );\nconsole.log(result);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 53,
									"name": "address",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The account address to update."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 54,
									"name": "code",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The code to be set."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 43,
					"name": "evm_setAccountNonce",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "2"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 362,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 44,
							"name": "evm_setAccountNonce",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Sets the given account's nonce to the specified value. Mines a new block\nbefore returning.",
								"text": "Warning: this will result in an invalid state tree.\n",
								"returns": "`true` if it worked, otherwise `false`.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst nonce = \"0x3e8\";\nconst [address] = await provider.request({ method: \"eth_accounts\", params: [] });\nconst result = await provider.send(\"evm_setAccountNonce\", [address, nonce] );\nconsole.log(result);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 45,
									"name": "address",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The account address to update."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 46,
									"name": "nonce",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The nonce value to be set."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 55,
					"name": "evm_setAccountStorageAt",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "3"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 487,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 56,
							"name": "evm_setAccountStorageAt",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Sets the given account's storage slot to the specified data. Mines a new block\nbefore returning.",
								"text": "Warning: this will result in an invalid state tree.\n",
								"returns": "`true` if it worked, otherwise `false`.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst slot = \"0x0000000000000000000000000000000000000000000000000000000000000005\";\nconst data = \"0xbaddad42\";\nconst [address] = await provider.request({ method: \"eth_accounts\", params: [] });\nconst result = await provider.send(\"evm_setAccountStorageAt\", [address, slot, data] );\nconsole.log(result);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 57,
									"name": "address",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The account address to update."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 58,
									"name": "slot",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The storage slot that should be set."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 59,
									"name": "value",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The value to be set."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 63,
					"name": "evm_setTime",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0",
								"max": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 547,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 64,
							"name": "evm_setTime",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Sets the internal clock time to the given timestamp.",
								"text": "Warning: This will allow you to move *backwards* in time, which may cause\nnew blocks to appear to be mined before old blocks. This will result in\nan invalid state.\n",
								"returns": "The amount of *seconds* between the given timestamp and now.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst currentDate = Date.now();\nawait new Promise(resolve => {\n  setTimeout(async () => {\n    const time = await provider.send(\"evm_setTime\", [currentDate]);\n    console.log(time); // should be about two seconds ago\n    resolve();\n  }, 1000);\n});\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 65,
									"name": "time",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "JavaScript timestamp (millisecond precision)."
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "number"
											},
											{
												"type": "reference",
												"name": "Date"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "number"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 69,
					"name": "evm_snapshot",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 643,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 70,
							"name": "evm_snapshot",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Snapshot the state of the blockchain at the current block. Takes no\nparameters. Returns the id of the snapshot that was created. A snapshot can\nonly be reverted once. After a successful `evm_revert`, the same snapshot\nid cannot be used again. Consider creating a new snapshot after each\n`evm_revert` if you need to revert to the same point multiple times.",
								"returns": "The hex-encoded identifier for this snapshot.\n",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst provider = ganache.provider();\nconst [from, to] = await provider.send(\"eth_accounts\");\nconst startingBalance = BigInt(await provider.send(\"eth_getBalance\", [from] ));\n\n// take a snapshot\nconst snapshotId = await provider.send(\"evm_snapshot\");\n\n// send value to another account (over-simplified example)\nawait provider.send(\"eth_subscribe\", [\"newHeads\"] );\nawait provider.send(\"eth_sendTransaction\", [{from, to, value: \"0xffff\"}] );\n\n// ensure balance has updated\nconst newBalance = await provider.send(\"eth_getBalance\", [from] );\nassert(BigInt(newBalance) < startingBalance);\n\n// revert the snapshot\nconst isReverted = await provider.send(\"evm_revert\", [snapshotId] );\nassert(isReverted);\n\n// ensure balance has reverted\nconst endingBalance = await provider.send(\"eth_getBalance\", [from] );\nconst isBalanceReverted = assert.strictEqual(BigInt(endingBalance), startingBalance);\nconsole.log({isBalanceReverted: isBalanceReverted});\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Quantity"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 87,
					"name": "miner_setEtherbase",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 778,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 88,
							"name": "miner_setEtherbase",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Sets the etherbase, where mining rewards will go.",
								"returns": "`true`.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst [account] = await provider.request({ method: \"eth_accounts\", params: [] });\nconsole.log(await provider.send(\"miner_setEtherbase\", [account] ));\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 89,
									"name": "address",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The address where the mining rewards will go."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 90,
					"name": "miner_setExtra",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 793,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 91,
							"name": "miner_setExtra",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Set the extraData block header field a miner can include.",
								"returns": "If successfully set returns `true`, otherwise returns an error.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconsole.log(await provider.send(\"miner_setExtra\", [\"0x0\"] ));\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 92,
									"name": "extra",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The `extraData` to include."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 84,
					"name": "miner_setGasPrice",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 762,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 85,
							"name": "miner_setGasPrice",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Sets the default accepted gas price when mining transactions.\nAny transactions that don't specify a gas price will use this amount.\nTransactions that are below this limit are excluded from the mining process.",
								"returns": "`true`.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconsole.log(await provider.send(\"miner_setGasPrice\", [300000] ));\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 86,
									"name": "number",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Default accepted gas price."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 79,
					"name": "miner_start",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0",
								"max": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 715,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 80,
							"name": "miner_start",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Resume the CPU mining process with the given number of threads.",
								"text": "Note: `threads` is ignored.",
								"returns": "`true`.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nawait provider.send(\"miner_stop\");\n// check that eth_mining returns false\nconsole.log(await provider.send(\"eth_mining\"));\nawait provider.send(\"miner_start\");\n// check that eth_mining returns true\nconsole.log(await provider.send(\"eth_mining\"));\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 81,
									"name": "threads",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Number of threads to resume the CPU mining process with."
									},
									"type": {
										"type": "intrinsic",
										"name": "number"
									},
									"defaultValue": "1"
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 82,
					"name": "miner_stop",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 745,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 83,
							"name": "miner_stop",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Stop the CPU mining operation.",
								"returns": "`true`.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\n// check that eth_mining returns true\nconsole.log(await provider.send(\"eth_mining\"));\nawait provider.send(\"miner_stop\");\n// check that eth_mining returns false\nconsole.log(await provider.send(\"eth_mining\"));\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 100,
					"name": "net_listening",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 859,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 101,
							"name": "net_listening",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns `true` if client is actively listening for network connections.",
								"returns": "`true` when listening, otherwise `false`.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconsole.log(await provider.send(\"net_listening\"));\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 102,
					"name": "net_peerCount",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 872,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 103,
							"name": "net_peerCount",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns number of peers currently connected to the client.",
								"returns": "Number of connected peers.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconsole.log(await provider.send(\"net_peerCount\"));\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Quantity"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 98,
					"name": "net_version",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 846,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 99,
							"name": "net_version",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the current network id.",
								"returns": "The current network id. This value should NOT be JSON-RPC\nQuantity/Data encoded.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconsole.log(await provider.send(\"net_version\"));\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "string"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 336,
					"name": "personal_importRawKey",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "2"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 3296,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 337,
							"name": "personal_importRawKey",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Imports the given unencrypted private key (hex string) into the key store, encrypting it with the passphrase.",
								"returns": "Returns the address of the new account.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst rawKey = \"0x0123456789012345678901234567890123456789012345678901234567890123\";\nconst passphrase = \"passphrase\";\n\nconst address = await provider.send(\"personal_importRawKey\",[rawKey, passphrase] );\nconsole.log(address);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 338,
									"name": "rawKey",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The raw, unencrypted private key to import."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 339,
									"name": "passphrase",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The passphrase to encrypt with."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Address"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 331,
					"name": "personal_listAccounts",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 3248,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 332,
							"name": "personal_listAccounts",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns all the Ethereum account addresses of all keys that have been\nadded.",
								"returns": "The Ethereum account addresses of all keys that have been added.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconsole.log(await provider.send(\"personal_listAccounts\"));\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 340,
					"name": "personal_lockAccount",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 3326,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 341,
							"name": "personal_lockAccount",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Locks the account. The account can no longer be used to send transactions.",
								"returns": "Returns `true` if the account was locked, otherwise `false`.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst [account] = await provider.send(\"personal_listAccounts\");\nconst isLocked = await provider.send(\"personal_lockAccount\", [account] );\nconsole.log(isLocked);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 342,
									"name": "address",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The account address to be locked."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 333,
					"name": "personal_newAccount",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 3265,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 334,
							"name": "personal_newAccount",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Generates a new account with private key. Returns the address of the new\naccount.",
								"returns": "The new account's address.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst passphrase = \"passphrase\";\nconst address = await provider.send(\"personal_newAccount\", [passphrase] );\nconsole.log(address);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 335,
									"name": "passphrase",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The passphrase to encrypt the private key with."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Address"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 348,
					"name": "personal_sendTransaction",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "2"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 3397,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 349,
							"name": "personal_sendTransaction",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Validate the given passphrase and submit transaction.",
								"text": "The transaction is the same argument as for `eth_sendTransaction` and\ncontains the from address. If the passphrase can be used to decrypt the\nprivate key belonging to `tx.from` the transaction is verified, signed and\nsend onto the network. The account is not unlocked globally in the node\nand cannot be used in other RPC calls.\n\nTransaction call object:\n* `from`: `DATA`, 20 bytes (optional) - The address the transaction is sent from.\n* `to`: `DATA`, 20 bytes - The address the transaction is sent to.\n* `gas`: `QUANTITY` (optional) - Integer of the maximum gas allowance for the transaction.\n* `gasPrice`: `QUANTITY` (optional) - Integer of the price of gas in wei.\n* `value`: `QUANTITY` (optional) - Integer of the value in wei.\n* `data`: `DATA` (optional) - Hash of the method signature and the ABI encoded parameters.\n",
								"returns": "The transaction hash or if unsuccessful an error.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst passphrase = \"passphrase\";\nconst newAccount = await provider.send(\"personal_newAccount\", [passphrase] );\n// fund the new account\nawait provider.send(\"evm_setAccountBalance\", [newAccount,\"0xffffffffffffff\"])\nconst [to] = await provider.send(\"personal_listAccounts\");\n\n// use account and passphrase to send the transaction\nconst txHash = await provider.send(\"personal_sendTransaction\", [{ from: newAccount, to, gasLimit: \"0x5b8d80\" }, passphrase] );\nconsole.log(txHash);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 350,
									"name": "transaction",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "Transaction"
									}
								},
								{
									"id": 351,
									"name": "passphrase",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The passphrase to decrpyt the private key belonging to `tx.from`."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Data"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 352,
					"name": "personal_signTransaction",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "2"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 3456,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 353,
							"name": "personal_signTransaction",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Validates the given passphrase and signs a transaction that can be\nsubmitted to the network at a later time using `eth_sendRawTransaction`.",
								"text": "The transaction is the same argument as for `eth_signTransaction` and\ncontains the from address. If the passphrase can be used to decrypt the\nprivate key belonging to `tx.from` the transaction is verified and signed.\nThe account is not unlocked globally in the node and cannot be used in other RPC calls.\n\nTransaction call object:\n* `from`: `DATA`, 20 bytes (optional) - The address the transaction is sent from.\n* `to`: `DATA`, 20 bytes - The address the transaction is sent to.\n* `gas`: `QUANTITY` (optional) - Integer of the maximum gas allowance for the transaction.\n* `gasPrice`: `QUANTITY` (optional) - Integer of the price of gas in wei.\n* `value`: `QUANTITY` (optional) - Integer of the value in wei.\n* `data`: `DATA` (optional) - Hash of the method signature and the ABI encoded parameters.\n",
								"returns": "The raw, signed transaction.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst [to] = await provider.request({ method: \"eth_accounts\", params: [] });\nconst passphrase = \"passphrase\";\nconst from = await provider.send(\"personal_newAccount\", [passphrase] );\nawait provider.request({ method: \"eth_subscribe\", params: [\"newHeads\"] });\nconst signedTx = await provider.request({ method: \"personal_signTransaction\", params: [{ from, to }, passphrase] });\nconsole.log(signedTx)\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 354,
									"name": "transaction",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The transaction call object as seen in source."
									},
									"type": {
										"type": "reference",
										"name": "Transaction"
									}
								},
								{
									"id": 355,
									"name": "passphrase",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Data"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 343,
					"name": "personal_unlockAccount",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "2",
								"max": "3"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 3354,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 344,
							"name": "personal_unlockAccount",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Unlocks the account for use.",
								"text": "The unencrypted key will be held in memory until the unlock duration\nexpires. The unlock duration defaults to 300 seconds. An explicit duration\nof zero seconds unlocks the key until geth exits.\n\nThe account can be used with `eth_sign` and `eth_sendTransaction` while it is\nunlocked.",
								"returns": "`true` if it worked. Throws an error or returns `false` if it did not.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\n// generate an account\nconst passphrase = \"passphrase\";\nconst newAccount = await provider.send(\"personal_newAccount\", [passphrase] );\nconst isUnlocked = await provider.send(\"personal_unlockAccount\", [newAccount, passphrase] );\nconsole.log(isUnlocked);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 345,
									"name": "address",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "20 Bytes - The address of the account to unlock."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 346,
									"name": "passphrase",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Passphrase to unlock the account."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 347,
									"name": "duration",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "(default: 300) Duration in seconds how long the account\nshould remain unlocked for. Set to 0 to disable automatic locking."
									},
									"type": {
										"type": "intrinsic",
										"name": "number"
									},
									"defaultValue": "300"
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 356,
					"name": "rpc_modules",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 3487,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 357,
							"name": "rpc_modules",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns object of RPC modules.",
								"returns": "RPC modules.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconsole.log(await provider.send(\"rpc_modules\"));\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reflection",
										"declaration": {
											"id": 358,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"children": [
												{
													"id": 359,
													"name": "eth",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "literal",
														"value": "1.0"
													},
													"defaultValue": "\"1.0\""
												},
												{
													"id": 363,
													"name": "evm",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "literal",
														"value": "1.0"
													},
													"defaultValue": "\"1.0\""
												},
												{
													"id": 360,
													"name": "net",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "literal",
														"value": "1.0"
													},
													"defaultValue": "\"1.0\""
												},
												{
													"id": 364,
													"name": "personal",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "literal",
														"value": "1.0"
													},
													"defaultValue": "\"1.0\""
												},
												{
													"id": 361,
													"name": "rpc",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "literal",
														"value": "1.0"
													},
													"defaultValue": "\"1.0\""
												},
												{
													"id": 362,
													"name": "web3",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "literal",
														"value": "1.0"
													},
													"defaultValue": "\"1.0\""
												}
											],
											"groups": [
												{
													"title": "Properties",
													"kind": 1024,
													"children": [
														359,
														363,
														360,
														364,
														361,
														362
													]
												}
											]
										}
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 372,
					"name": "shh_addToGroup",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 3544,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 373,
							"name": "shh_addToGroup",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Adds a whisper identity to the group.",
								"returns": "`true` if the identity was successfully added to the group, otherwise `false`.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconsole.log(await provider.send(\"shh_addToGroup\", [\"0x0\"] ));\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 374,
									"name": "address",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The identity address to add to a group."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 382,
					"name": "shh_getFilterChanges",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 3592,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 383,
							"name": "shh_getFilterChanges",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Polling method for whisper filters. Returns new messages since the last call of this method.",
								"returns": "More Info: https://github.com/ethereum/wiki/wiki/JSON-RPC#shh_getfilterchanges",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconsole.log(await provider.send(\"shh_getFilterChanges\", [\"0x0\"] ));\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 384,
									"name": "id",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The filter id. Ex: \"0x7\""
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "tuple"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 385,
					"name": "shh_getMessages",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 3607,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 386,
							"name": "shh_getMessages",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Get all messages matching a filter. Unlike shh_getFilterChanges this returns all messages.",
								"returns": "See: `shh_getFilterChanges`.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconsole.log(await provider.send(\"shh_getMessages\", [\"0x0\"] ));\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 387,
									"name": "id",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The filter id. Ex: \"0x7\""
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 367,
					"name": "shh_hasIdentity",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 3519,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 368,
							"name": "shh_hasIdentity",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Checks if the client hold the private keys for a given identity.",
								"returns": "Returns `true` if the client holds the private key for that identity, otherwise `false`.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconsole.log(await provider.send(\"shh_hasIdentity\", [\"0x0\"] ));\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 369,
									"name": "address",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The identity address to check."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 375,
					"name": "shh_newFilter",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "2"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 3561,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 376,
							"name": "shh_newFilter",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Creates filter to notify, when client receives whisper message matching the filter options.",
								"returns": "Returns `true` if the identity was successfully added to the group, otherwise `false`.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconsole.log(await provider.send(\"shh_newFilter\", [\"0x0\", []] ));\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 377,
									"name": "to",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "(optional) Identity of the receiver. When present it will try to decrypt any incoming message\n if the client holds the private key to this identity."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 378,
									"name": "topics",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "Array of topics which the incoming message's topics should match."
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 370,
					"name": "shh_newGroup",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 3529,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 371,
							"name": "shh_newGroup",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Creates a new group.",
								"returns": "The address of the new group.\n"
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "string"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 365,
					"name": "shh_newIdentity",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 3504,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 366,
							"name": "shh_newIdentity",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Creates new whisper identity in the client.",
								"returns": "- The address of the new identity.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconsole.log(await provider.send(\"shh_newIdentity\"));\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "string"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 388,
					"name": "shh_post",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 3622,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 389,
							"name": "shh_post",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Creates a whisper message and injects it into the network for distribution.",
								"returns": "Returns `true` if the message was sent, otherwise `false`.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconsole.log(await provider.send(\"shh_post\", [{}] ));\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 390,
									"name": "postData",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "-"
									},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 379,
					"name": "shh_uninstallFilter",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 3577,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 380,
							"name": "shh_uninstallFilter",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Uninstalls a filter with given id. Should always be called when watch is no longer needed.\nAdditionally filters timeout when they aren't requested with `shh_getFilterChanges` for a period of time.",
								"returns": "`true` if the filter was successfully uninstalled, otherwise `false`.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconsole.log(await provider.send(\"shh_uninstallFilter\", [\"0x0\"] ));\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 381,
									"name": "id",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "The filter id. Ex: \"0x7\""
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 391,
					"name": "shh_version",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 3636,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 392,
							"name": "shh_version",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the current whisper protocol version.",
								"returns": "The current whisper protocol version.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconsole.log(await provider.send(\"shh_version\"));\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "string"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 393,
					"name": "txpool_content",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 3658,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 394,
							"name": "txpool_content",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the current content of the transaction pool.",
								"returns": "The transactions currently pending or queued in the transaction pool.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst [from] = await provider.request({ method: \"eth_accounts\", params: [] });\nawait provider.send(\"miner_stop\")\nconst pendingTx = await provider.request({ method: \"eth_sendTransaction\", params: [{ from, gas: \"0x5b8d80\", nonce:\"0x0\" }] });\nconst queuedTx = await provider.request({ method: \"eth_sendTransaction\", params: [{ from, gas: \"0x5b8d80\", nonce:\"0x2\" }] });\nconst pool = await provider.send(\"txpool_content\");\nconsole.log(pool);\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"typeArguments": [
											{
												"type": "literal",
												"value": "private"
											}
										],
										"name": "Content"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 93,
					"name": "web3_clientVersion",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "0"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 814,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 94,
							"name": "web3_clientVersion",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the current client version.",
								"returns": "The current client version.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconsole.log(await provider.send(\"web3_clientVersion\"));\n```\n"
									}
								]
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "string"
									}
								],
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 95,
					"name": "web3_sha3",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"decorators": [
						{
							"name": "assertArgLength",
							"type": {
								"type": "reference",
								"name": "assertArgLength"
							},
							"arguments": {
								"min": "1"
							}
						}
					],
					"sources": [
						{
							"fileName": "ethereum/src/api.ts",
							"line": 830,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 96,
							"name": "web3_sha3",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns Keccak-256 (not the standardized SHA3-256) of the given data.",
								"returns": "The SHA3 result of the given string.",
								"tags": [
									{
										"tag": "example",
										"text": "\n```javascript\nconst data = \"0xabcdef0123456789\";\nconst sha3 = await provider.send(\"web3_sha3\", [data] );\nconsole.log(sha3);\n```\n"
									}
								]
							},
							"parameters": [
								{
									"id": 97,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "the data to convert into a SHA3 hash."
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "Data"
									}
								],
								"name": "Promise"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						2
					]
				},
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						13,
						10,
						7,
						12,
						11,
						14
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						33,
						35,
						29,
						20,
						24,
						15,
						324,
						320,
						232,
						234,
						310,
						236,
						112,
						104,
						315,
						228,
						238,
						129,
						114,
						142,
						139,
						242,
						145,
						294,
						300,
						303,
						124,
						246,
						147,
						151,
						251,
						306,
						254,
						161,
						187,
						155,
						158,
						213,
						226,
						230,
						224,
						287,
						291,
						289,
						108,
						263,
						257,
						266,
						260,
						270,
						274,
						220,
						215,
						278,
						110,
						297,
						284,
						71,
						60,
						37,
						75,
						66,
						47,
						51,
						43,
						55,
						63,
						69,
						87,
						90,
						84,
						79,
						82,
						100,
						102,
						98,
						336,
						331,
						340,
						333,
						348,
						352,
						343,
						356,
						372,
						382,
						385,
						367,
						375,
						370,
						365,
						388,
						379,
						391,
						393,
						93,
						95
					]
				}
			],
			"sources": [
				{
					"fileName": "ethereum/src/api.ts",
					"line": 144,
					"character": 21
				}
			],
			"indexSignature": {
				"id": 395,
				"name": "__index",
				"kind": 8192,
				"kindString": "Index signature",
				"flags": {},
				"parameters": [
					{
						"id": 396,
						"name": "index",
						"kind": 32768,
						"flags": {},
						"type": {
							"type": "intrinsic",
							"name": "string"
						}
					}
				],
				"type": {
					"type": "reflection",
					"declaration": {
						"id": 397,
						"name": "__type",
						"kind": 65536,
						"kindString": "Type literal",
						"flags": {},
						"sources": [
							{
								"fileName": "ethereum/src/api.ts",
								"line": 145,
								"character": 28
							}
						],
						"signatures": [
							{
								"id": 398,
								"name": "__type",
								"kind": 4096,
								"kindString": "Call signature",
								"flags": {},
								"parameters": [
									{
										"id": 399,
										"name": "args",
										"kind": 32768,
										"kindString": "Parameter",
										"flags": {
											"isRest": true
										},
										"type": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								],
								"type": {
									"type": "reference",
									"typeArguments": [
										{
											"type": "intrinsic",
											"name": "any"
										}
									],
									"name": "Promise"
								}
							}
						]
					}
				}
			},
			"implementedTypes": [
				{
					"type": "reference",
					"name": "Api"
				}
			]
		}
	],
	"groups": [
		{
			"title": "Classes",
			"kind": 128,
			"children": [
				1
			]
		}
	],
	"sources": [
		{
			"fileName": "ethereum/src/api.ts",
			"line": 2,
			"character": 0
		}
	]
}