Skip to content

DefaultRuntimeConfig in ExtrinsicSigner::<..> does not work #628

@haerdib

Description

@haerdib

When initializing the Api with DefaultRuntimeConfig and a signer as following:

let mut api = Api::<DefaultRuntimeConfig, _>::new(client).unwrap();
api.set_signer(GenericExtrinsicSigner::<DefaultRuntimeConfig>::new(sudoer));

It does not compile due to:

note: expected struct `ExtrinsicSigner<AssetRuntimeConfig>`
   found struct `ExtrinsicSigner<WithExtrinsicParams<AssetRuntimeConfig, GenericExtrinsicParams<AssetRuntimeConfig, PlainTip<u128>>>>`
label: expected `ExtrinsicSigner<AssetRuntimeConfig>`, found `ExtrinsicSigner<WithExtrinsicParams<..., ...>>`

I suppose the error comes from the definition of DefaultRuntimeConfig:

/// Standard runtime config for Substrate and Polkadot nodes.
pub type DefaultRuntimeConfig =
	WithExtrinsicParams<AssetRuntimeConfig, PlainTipExtrinsicParams<AssetRuntimeConfig>>;

Workaround:

api.set_signer(GenericExtrinsicSigner::<_>::new(sudoer));

But that is still not nice. Isn't there a better way to define the ExtrinsicSigner?

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions