@substrate/api-sidecar
Version:
REST service that makes it easy to interact with blockchain nodes built using Substrate's FRAME framework.
37 lines (36 loc) • 1.5 kB
TypeScript
import { TransactionDryRunService } from '../../services';
import AbstractController from '../AbstractController';
/**
* Dry run a transaction.
*
* Returns:
* - `at`:
* - `hash`: The block's hash.
* - `height`: The block's height.
* - `result`:
* - Successfull dry run:
* - `actualWeight`: The actual weight of the transaction.
* - `paysFee`: The fee to be paid.
* - Failed dry run:
* - error reason.
* - Dry run not possible to run:
* - `isUnimplemented`: The dry run is not implemented.
* - `isVersionedConversionFailed`: The versioned conversion failed.
* - `type`: 'Unimplemented' | 'VersionedConversionFailed';.
*
* References:
* - `DispatchError`: https://docs.rs/sp-runtime/39.0.1/sp_runtime/enum.DispatchError.html
* - `PostDispatchInfo`: https://docs.rs/frame-support/38.0.0/frame_support/dispatch/struct.PostDispatchInfo.html
* - `Error Type`: https://paritytech.github.io/polkadot-sdk/master/xcm_runtime_apis/dry_run/enum.Error.html
*
* Note: If you get the error `-32601: Method not found` it means that the node sidecar
* is connected to does not expose the `system_dryRun` RPC. One way to resolve this
* issue is to pass the `--rpc-external` flag to that node.
*/
export default class TransactionDryRunController extends AbstractController<TransactionDryRunService> {
static controllerName: string;
static requiredPallets: never[];
constructor(api: string);
protected initRoutes(): void;
private dryRunTransaction;
}