@pendulum-chain/api-solang
Version:
Interface to interact with smart contracts compiled via Solang
33 lines (32 loc) • 1.29 kB
TypeScript
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>;