Ensure signAsync and dryRun is fully compatible with signedTransaction, and add withSignedTransaction option (#5920)

* Ensure signAsync is compatible with signedTransaction

* Fix payload construction

* Update sig

* add withSignedTransaction option

* remove unused type

* Add withSignedTransaction to other type

* Throw error when signTransaction is there but not enabled

* inline docs

* Update inline docs

* lint
This commit is contained in:
Tarik Gul
2024-06-27 15:09:48 -04:00
committed by GitHub
parent 6f199db86a
commit ab3f0253bd
3 changed files with 44 additions and 4 deletions
@@ -19,6 +19,7 @@ export interface SignerOptions {
assetId?: AnyNumber | object;
mode?: AnyNumber;
metadataHash?: AnyU8a;
withSignedTransaction?: boolean;
}
export type SubmittableDryRunResult<ApiType extends ApiTypes> =
@@ -66,6 +67,15 @@ export interface SubmittableExtrinsic<ApiType extends ApiTypes, R extends ISubmi
send (statusCb: Callback<R>): SubmittableResultSubscription<ApiType, R>;
/**
* @description Sign and broadcast the constructued transaction.
*
* Note for injected signers:
* As of v12.0.2 and up the `SignerResult` return type for `signPayload` allows for the `signedTransaction` field.
* This allows the signer to input a signed transaction that will modify the payload. This
* The api will ensure that the Call Data is not changed. This allows for the signer to modify the payload to add
* things like `mode`, and `metadataHash` for signedExtensions such as `CheckMetadataHash`.
*/
signAsync (account: AddressOrPair, _options?: Partial<SignerOptions>): PromiseOrObs<ApiType, this>;
/**