UNPKG

@gear-js/api

Version:

A JavaScript library that provides functionality to connect GEAR Component APIs.

62 lines (61 loc) 2.01 kB
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; }