RpcRequest.createStore
Creates a JSON-RPC request store to build requests with an incrementing id
.
Returns a type-safe prepare
function to build a JSON-RPC request object as per the JSON-RPC 2.0 specification.
Imports
Named
import { RpcRequest } from 'ox'
Examples
import { RpcRequest } from 'ox'
const store = RpcRequest.createStore()
const request_1 = store.prepare({
method: 'eth_blockNumber',
})
{ id: 0, jsonrpc: '2.0', method: 'eth_blockNumber' } const request_2 = store.prepare({
method: 'eth_call',
params: [
{
to: '0x0000000000000000000000000000000000000000',
data: '0xdeadbeef',
},
],
})
{ id: 1, jsonrpc: '2.0', method: 'eth_call', params: [{ to: '0x0000000000000000000000000000000000000000', data: '0xdeadbeef' }] }
Type-safe Custom Schemas
It is possible to define your own type-safe schema by using the RpcSchema.From
type.
import { RpcSchema, RpcRequest } from 'ox'
type Schema = RpcSchema.From<{
Request: {
method: 'eth_foobar'
params: [number]
}
ReturnType: string
} | {
Request: {
method: 'eth_foobaz'
params: [string]
}
ReturnType: string
}>
const store = RpcRequest.createStore<Schema>()
const request = store.prepare({
method: "eth_foobar" | RpcSchema.MethodNamemethod: 'eth_foobar',
params: [42],
})
Definition
function createStore<schema>(
options?: createStore.Options,
): createStore.ReturnType<schema>
Source: src/core/RpcRequest.ts
Parameters
options
- Type:
createStore.Options
- Optional
Request store options.
options.id
- Type:
number
- Optional
The initial request ID.
Return Type
The request store
createStore.ReturnType<schema>