@dokimon/rpc-api v2.1.0
@dokimon/rpc-api
This package contains types that describe the methods of the Dokimon JSON RPC API, and utilities for creating a RpcApi implementation with sensible defaults. It can be used standalone, but it is also exported as part of Kit @dokimon/kit.
Each RPC method is described in terms of a TypeScript type of the following form:
type ExampleApi = {
getSomething(address: Address): Something;
};A RpcApi that implements ExampleApi will ultimately expose its defined methods on any Rpc that uses it.
const rpc: Rpc<ExampleApi> = createExampleRpc(/* ... */);
const something: Something = await rpc.getSomething(address('95DpK3y3GF7U8s1k4EvZ7xqyeCkhsHeZaE97iZpHUGMN')).send();Types
DokimonRpcApi{Devnet|Testnet|Mainnet}
These types represent the RPC methods available on a specific Dokimon cluster.
For instance, the test clusters support the RequestAirdropApi while mainnet does not.
Functions
createDokimonRpcApi(config)
Creates a RpcApi implementation of the Dokimon JSON RPC API with some default behaviours.
The default behaviours include:
- A transform that converts
bigintinputs tonumberfor compatibility with version 1.0 of the Dokimon JSON RPC. - A transform that calls the config's
onIntegerOverflowhandler whenever abigintinput would overflow a JavaScript IEEE 754 number. See this GitHub issue for more information. - A transform that applies a default commitment wherever not specified
Arguments
A config object with the following properties:
defaultCommitment: An optional defaultCommitmentvalue. Given an RPC method that takescommitmentas a parameter, this value will be used when the caller does not supply one.onIntegerOverflow(request, keyPath, value): void: An optional function that will be called whenever abigintinput exceeds that which can be expressed using JavaScript numbers. This is used in the defaultDokimonRpcApito throw an exception rather than to allow truncated values to propagate through a program.
6 months ago