@pendulum-chain/api-solang
Version:
Interface to interact with smart contracts compiled via Solang
34 lines (33 loc) • 1.19 kB
TypeScript
import { ApiPromise } from "@polkadot/api";
import { Abi } from "@polkadot/api-contract";
import { EventRecord } from "@polkadot/types/interfaces";
import { Limits, Address } from "./index.js";
import { Extrinsic, GenericSigner, KeyPairSigner } from "./submitExtrinsic.js";
import { PanicCode } from "./contractRpc.js";
export interface BasicDeployContractOptions {
api: ApiPromise;
abi: Abi;
constructorArguments: unknown[];
constructorName?: string;
limits: Limits;
signer: KeyPairSigner | GenericSigner;
skipDryRunning: boolean | undefined;
modifyExtrinsic?: (extrinsic: Extrinsic) => Extrinsic;
}
export type BasicDeployContractResult = {
type: "success";
eventRecords: EventRecord[];
deploymentAddress: Address;
transactionFee: bigint | undefined;
} | {
type: "error";
error: string;
} | {
type: "reverted";
description: string;
} | {
type: "panic";
errorCode: PanicCode;
explanation: string;
};
export declare function basicDeployContract({ api, abi, constructorArguments, constructorName, limits, signer, skipDryRunning, modifyExtrinsic, }: BasicDeployContractOptions): Promise<BasicDeployContractResult>;