UNPKG

@pendulum-chain/api-solang

Version:

Interface to interact with smart contracts compiled via Solang

33 lines (32 loc) 1.29 kB
import { EventRecord, Hash } from "@polkadot/types/interfaces"; import { SubmittableExtrinsic } from "@polkadot/api/types"; import { ISubmittableResult, Signer } from "@polkadot/types/types"; import { KeyringPair } from "@polkadot/keyring/types"; import { Address } from "./index.js"; export type Extrinsic = SubmittableExtrinsic<"promise", ISubmittableResult>; export type SubmitExtrinsicStatus = { type: "success"; } | { type: "error"; error: string; }; export interface SubmitExtrinsicResult { transactionFee: bigint | undefined; eventRecords: EventRecord[]; status: SubmitExtrinsicStatus; txHash: Hash; txIndex?: number | undefined; } export interface KeyPairSigner { type: "keypair"; keypair: KeyringPair; } export interface GenericSigner { type: "signer"; address: Address; signer: Signer; } export declare function getSignerAddress(signer: KeyPairSigner | GenericSigner): string; export declare function signAndSubmitExtrinsic(extrinsic: Extrinsic, signer: KeyPairSigner | GenericSigner): Promise<SubmitExtrinsicResult>; export declare function signExtrinsic(extrinsic: Extrinsic, signer: KeyPairSigner | GenericSigner): Promise<Extrinsic>; export declare function submitExtrinsic(extrinsic: Extrinsic): Promise<SubmitExtrinsicResult>;