UNPKG

@pendulum-chain/api-solang

Version:

Interface to interact with smart contracts compiled via Solang

34 lines (33 loc) 1.19 kB
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>;