{"dist":{"shasum":"56616f9785fb6646cabc97a5bafe91d8308fd7ab","tarball":"https://registry.npmjs.org/eth-provider-types/-/eth-provider-types-0.2.0-next.0.tgz","fileCount":6,"integrity":"sha512-+22wGmFo00DL4PsDP3kP8tyvex7+b1wD4zOwOkZeniELgwAtqYLON/xdxOZqdHMpJYuiRSn7h98F2obFlEwdbg==","signatures":[{"sig":"MEYCIQCJzUAk+FuuabRglRhdQj0/URMeXLfRJT/JU6yMaKTO/wIhAJK8OtLm3ogyBTs5U5kOv7jQkipSyp+E5XN/W1uVNXxU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37895},"main":"./index.js","name":"eth-provider-types","types":"index.d.ts","author":{"name":"Bitski"},"readme":"# eth-provider-types\n\nThis package provides types for Ethereum JSON RPC APIs. This includes:\n\n```ts\nimport {\n  // The ethereum provider API interface, per EIP-1193 (https://eips.ethereum.org/EIPS/eip-1193#appendix-i-consumer-facing-api-documentation)\n  EthProvider,\n\n  /*** Enums ***/\n  EthMethod, // All ethereum RPC method names\n  EthEvent, // All standard event names emitted by the provider\n  EthProviderMessageType, // All types of messages sent by the `message` event\n  EthProviderRpcErrorCode, // Error codes\n  EthBlockNumberTag, // Block tags e.g. 'latest', 'earliest', 'pending\n\n  /*** Mappings ***/\n  EthMethodParams, // Mapping from EthMethod -> method parameters\n  EthMethodResults, // Mapping from EthMethod -> method results\n  EthEventParams, // Mapping from EthEvent -> Event parameters\n  EthProviderMessageData, // Mapping from EthProviderMessageType -> message data\n\n  /*** Interfaces ***/\n\n  // Ethereum transaction received from RPC (e.g. getTransactionByHash).\n  // This is the union of EthTransactionComplete and EthTransactionPending.\n  EthTransaction,\n  EthTransactionComplete, // Completed transaction (block number, etc, are NOT null)\n  EthTransactionPending, // Pending transaction (block number, etc. ARE null)\n  EthTransactionSend, // Transaction partial passed to eth_sendTransaction, eth_signTransaction\n  EthTransactionCall, // Transaction partial passed to eth_call\n  EthTransactionReceipt,\n\n  // Ethereum block received from RPC (e.g. getBlockByHash).\n  // This is the union of EthBlockComplete and EthBlockPending.\n  EthBlock,\n  EthBlockComplete, // Completed block (block number, etc. are NOT null)\n  EthBlockPending, // Pending block (block number, etc. ARE null)\n\n  // Ethereum log received from RPC (e.g. getLogs)\n  // This is the union of EthLogComplete and EthLogPending.\n  EthLog,\n  EthLogComplete, // Completed log (block number, etc. are NOT null)\n  EthLogPending, // Pending log (block number, etc. ARE null)\n\n  // Other\n  EthProviderMessage,\n  EthProviderRpcError,\n  EthProviderConnectInfo,\n} from 'eth-provider-types';\n```\n\nYou can use these types to create an Ethereum provider that is strongly typed:\n\n```ts\nimport { EthProvider, EthMethod, EthTransactionReceipt } from 'eth-json-rpc-types';\n\nclass MyProvider implements EthProvider {\n  request({ method, params }) {\n    // ...\n  }\n\n  // ...\n}\n\nconst provider = new MyProvider();\n\n// Results and parameters are both typed based on EthMethod passed into `request`\nconst eth_accounts: string[] = provider.request({ method: EthMethod.eth_accounts });\nconst eth_getTransactionReceipt: EthTransactionReceipt = provider.request({\n  method: EthMethod.eth_accounts,\n  params: ['0x0...'],\n});\n\n// This will throw type errors because it has incorrect parameters\nconst eth_getBlockByHash = provider.request({\n  method: EthMethod.eth_getBlockByHash,\n  params: [123],\n});\n```\n","gitHead":"9bd8daf3d802afef0fa12b9aba05557b2ea7ef6f","license":"ISC","scripts":{"build":"tsc"},"_npmUser":{"name":"imthinhvu","email":"thinh.vu@hey.com"},"_npmVersion":"9.5.1","description":"TypeScript types for Ethereum providers, with types for every RPC method","directories":{},"maintainers":[{"name":"imthinhvu","email":"thinh.vu@hey.com"}],"_nodeVersion":"18.16.0","_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/eth-provider-types_0.2.0-next.0_1684268063483_0.23130369215491386","host":"s3://npm-registry-packages"},"_id":"eth-provider-types@0.2.0-next.0","version":"0.2.0-next.0"}