--- a/tests/src/util/playgrounds/unique.ts +++ b/tests/src/util/playgrounds/unique.ts @@ -3381,6 +3381,10 @@ return this.helper.constructApiCall('api.tx.democracy.externalProposeDefault', [{Inline: proposalCall.method.toHex()}]); } + externalProposeDefaultWithPreimageCall(preimage: string) { + return this.helper.constructApiCall('api.tx.democracy.externalProposeDefault', [{Legacy: preimage}]); + } + // ... and blacklist external proposal hash. vetoExternal(signer: TSigner, proposalHash: string) { return this.helper.executeExtrinsic(signer, 'api.tx.democracy.vetoExternal', [proposalHash]); @@ -3733,6 +3737,20 @@ } } +class UtilityGroup extends HelperGroup { + async batch(signer: TSigner, txs: any[]) { + return await this.helper.executeExtrinsic(signer, 'api.tx.utility.batch', [txs]); + } + + async batchAll(signer: TSigner, txs: any[]) { + return await this.helper.executeExtrinsic(signer, 'api.tx.utility.batchAll', [txs]); + } + + batchAllCall(txs: any[]) { + return this.helper.constructApiCall('api.tx.utility.batchAll', [txs]); + } +} + class AcalaAssetRegistryGroup extends HelperGroup { async registerForeignAsset(signer: TSigner, destination: any, metadata: AcalaAssetMetadata) { await this.helper.executeExtrinsic(signer, 'api.tx.assetRegistry.registerForeignAsset', [destination, metadata], true); @@ -3835,6 +3853,7 @@ xcm: XcmGroup; xTokens: XTokensGroup; tokens: TokensGroup; + utility: UtilityGroup; constructor(logger?: ILogger, options: { [key: string]: any } = {}) { super(logger, options.helperBase ?? UniqueHelper); @@ -3865,6 +3884,7 @@ this.xcm = new XcmGroup(this, 'polkadotXcm'); this.xTokens = new XTokensGroup(this); this.tokens = new TokensGroup(this); + this.utility = new UtilityGroup(this); } getSudo() {