@gear-js/api
Version:
A JavaScript library that provides functionality to connect GEAR Component APIs.
62 lines (61 loc) • 2.01 kB
TypeScript
import { BTreeSet, u32 } from '@polkadot/types';
import { HexString } from '@polkadot/util/types';
import { ISubmittableResult } from '@polkadot/types/types';
import { SubmittableExtrinsic } from '@polkadot/api/types';
import { GasLimit, Value } from '../../common';
import { PayloadType } from 'types/payload';
export interface V1010ProgramUploadOptions {
code: HexString | Uint8Array;
salt?: `0x${string}`;
initPayload?: PayloadType;
gasLimit: GasLimit;
value?: Value;
keepAlive?: boolean;
}
export type ProgramUploadOptions = V1010ProgramUploadOptions;
export interface V1010ProgramCreateOptions extends Omit<V1010ProgramUploadOptions, 'code'> {
codeId: HexString | Uint8Array;
}
export type ProgramCreateOptions = V1010ProgramCreateOptions;
export interface IProgramUploadResult {
programId: HexString;
codeId: HexString;
salt: HexString;
extrinsic: SubmittableExtrinsic<'promise', ISubmittableResult>;
}
export type IProgramCreateResult = Omit<IProgramUploadResult, 'codeId'>;
export interface IResumeSessionInitArgs {
/**
* Program ID to resume
*/
programId: HexString;
/**
* Allocations obtained with `api.programStorage.getProgramPages` method
*/
allocations: Array<number | string | bigint> | BTreeSet<u32> | HexString;
/**
* Hash of the code of the program
*/
codeHash: HexString;
}
export type GearPageNumberHuman = string | number | bigint;
export interface IResumeSessionPushArgs {
/**
* Session ID recieved during `resumeSessionInit` transaction
*/
sessionId: string | number | bigint;
/**
* Program pages with data
*/
memoryPages: Array<[GearPageNumberHuman, HexString | Uint8Array]>;
}
export interface IResumeSessionCommitArgs {
/**
* Session ID recieved during `resumeSessionInit` transaction
*/
sessionId: string | number | bigint;
/**
* Count of blocks till program will be paused
*/
blockCount: string | number | bigint;
}