@plasm/types
TypeScript icon, indicating that this package has built-in type declarations

1.5.4-3 • Public • Published

@plasm/types

NPM

This is a substrate type definitions made with @polkadot-js/typegen. It is meant for developers working with TypeScript to interact with the Plasm node. This package is meant to be used with the @polakdot-js/api library.

Usage

Importing Types

You can use the ApiOptions interface to set the node configuration before initializing the Polkadot API instance.

import { WsProvider, ApiPromise } from '@polkadot/api';
import { ApiOptions } from '@polkadot/api/types';
import { plasmDefinitions} from '@plasm/types';

// using ApiOptions interface
const options: ApiOptions = {
    provider: new WsProvider('ws://localhost:9944'),
    types: {
        ...plasmDefinitions,
    },
};

const api = new ApiRx(options);

Or, you can pass the node types directly when initializing the API instance.

import { WsProvider, ApiPromise } from '@polkadot/api';
import { plasmDefinitions} from '@plasm/types';

// using the ApiPromise class
const api = await ApiPromise.create({
    provider: new WsProvider('ws://localhost:9944'),
    types: {
        ...plasmDefinitions,
    }
});

await api.isReady;

Finally, you can register the types after the API instance has already been created.

import { plasmDefinitions} from '@plasm/types';

// already initialized api instance
await api.registerTypes(dustyDefinitions);

Generating Types

First, you'll have to manually define chain specific types for each pallets from the src/interfaces/<module-name>/definitions.ts file.

The script should export an object that looks something like this:

export default {
    types: {
        StructA: {
            id: 'u8',
            value_hash: 'H256',
        },
        TypeA: 'H256',
        ...
    },
};

Package Sidebar

Install

npm i @plasm/types

Weekly Downloads

16

Version

1.5.4-3

License

MIT

Unpacked Size

278 kB

Total Files

81

Last publish

Collaborators

  • public_sate
  • taskooh
  • t8m8
  • hoonsubin
  • y-shijo
  • hskang9