@twine-protocol/twine-core v0.1.0 • Docs
twine-js / @twine-protocol/twine-core / Resolver
Interface: Resolver
Resolves a query into a chain or pulse
Resolvers are the primary way to fetch twines from somewhere. This specifies a general interface for all resolvers.
Resolvers are expected to verify the signature of the resolved twine.
Store
Copy import { collect } from ' @twine-protocol/twine-core '
const resolver = new MyResolver ()
const chains = await collect ( resolver . chains ())
// resolve the latest pulse of the first chain
const resolution = await resolver . resolveLatest ( { chain : chains [ 0 ] } )
if ( resolution . pulse ) {
// a verified pulse that is the latest this resolver knows of
console . log ( ' pulse ' , resolution . pulse )
} resolve(query, options)
resolve (query, options?): Promise<ChainResolution >
Resolve a chain from a query
This is the main way to get a pulse or chain from somewhere and have it automatically verified.
If the input is already a successful resolution, it will be returned as is.
If the input is a chain or pulse, it will be resolved as a chain or pulse resolution.
Parameters
Options for the resolution
Returns
Promise<ChainResolution >
A chain or pulse resolution
Examples
Defined in
packages/twine-core/src/resolver/types.ts:233arrow-up-right
resolve(query, options)
resolve (query, options?): Promise<PulseResolution >
Resolve a pulse (with its chain) from a query
Parameters
Returns
Promise<PulseResolution >
Defined in
packages/twine-core/src/resolver/types.ts:237arrow-up-right
resolveLatest()
resolveLatest (chain, options?): Promise<PulseResolution >
Resolve the latest pulse of a chain
Parameters
The chain CID or chain itself to resolve the latest pulse from
Options for the resolution
Returns
Promise<PulseResolution >
A pulse resolution
Examples
Defined in
packages/twine-core/src/resolver/types.ts:260arrow-up-right
resolveIndex (chain, index, options?): Promise<PulseResolution >
Resolve a pulse by index
Parameters
The chain CID or chain itself to resolve the pulse from
The index of the pulse to resolve
Options for the resolution
Returns
Promise<PulseResolution >
A pulse resolution
Example
Defined in
packages/twine-core/src/resolver/types.ts:278arrow-up-right
has (cid): Awaitable <boolean>
Check if a cid can be resolved
Parameters
Returns
Awaitable <boolean>
True if the CID can be resolved, false otherwise
Example
Defined in
packages/twine-core/src/resolver/types.ts:295arrow-up-right
pulses (chain, start?, options?): AsyncGenerator<Pulse , any, any> | Generator<Pulse , any, any> | AnyIterable <Pulse >
Get the pulses of a chain
Parameters
The chain CID or chain itself to get the pulses from
The index or CID of the pulse to start from
Options for the resolution
Returns
AsyncGenerator<Pulse , any, any> | Generator<Pulse , any, any> | AnyIterable <Pulse >
An sync/async iterable of pulses
Example
Defined in
packages/twine-core/src/resolver/types.ts:313arrow-up-right
chains (): AsyncGenerator<Chain , any, any> | Generator<Chain , any, any> | AnyIterable <Chain >
Get the chains that are known to the resolver
Returns
AsyncGenerator<Chain , any, any> | Generator<Chain , any, any> | AnyIterable <Chain >
An sync/async iterable of chains
Example
Defined in
packages/twine-core/src/resolver/types.ts:324arrow-up-right