pub trait DryRunApi<Block: BlockT, Call: Encode, Event: Decode, OriginCaller: Encode>: Core<Block> {
    // Provided methods
    fn dry_run_call(
        &self,
        __runtime_api_at_param__: <Block as BlockT>::Hash,
        origin: OriginCaller,
        call: Call
    ) -> Result<Result<CallDryRunEffects<Event>, Error>, ApiError> { ... }
    fn dry_run_xcm(
        &self,
        __runtime_api_at_param__: <Block as BlockT>::Hash,
        origin_location: VersionedLocation,
        xcm: VersionedXcm<Call>
    ) -> Result<Result<XcmDryRunEffects<Event>, Error>, ApiError> { ... }
}
Expand description

API for dry-running extrinsics and XCM programs to get the programs that need to be passed to the fees API.

All calls return a vector of tuples (location, xcm) where each “xcm” is executed in “location”. If there’s local execution, the location will be “Here”. This vector can be used to calculate both execution and delivery fees.

Calls or XCMs might fail when executed, this doesn’t mean the result of these calls will be an Err. In those cases, there might still be a valid result, with the execution error inside it. The only reasons why these calls might return an error are listed in the Error enum.

Provided Methods§

source

fn dry_run_call( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, origin: OriginCaller, call: Call ) -> Result<Result<CallDryRunEffects<Event>, Error>, ApiError>

Dry run call.

source

fn dry_run_xcm( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, origin_location: VersionedLocation, xcm: VersionedXcm<Call> ) -> Result<Result<XcmDryRunEffects<Event>, Error>, ApiError>

Dry run XCM program

Trait Implementations§

source§

impl<Block: BlockT, Call: Encode, Event: Decode, OriginCaller: Encode> RuntimeApiInfo for dyn DryRunApi<Block, Call, Event, OriginCaller>

source§

const ID: [u8; 8] = _

The identifier of the runtime api.
source§

const VERSION: u32 = 1u32

The version of the runtime api.

Implementors§