@@ -5,7 +5,7 @@ import type { SubmittableResult } from '@polkadot/api';
55import type { SubmittableExtrinsic } from '@polkadot/api/submittable/types' ;
66import type { ApiTypes } from '@polkadot/api/types' ;
77import type { BN } from '@polkadot/util' ;
8- import type { AbiConstructor , BlueprintOptions } from '../types' ;
8+ import type { AbiConstructor , AbiMessage , BlueprintOptions } from '../types' ;
99import type { BlueprintDeploy , ContractGeneric } from './types' ;
1010
1111import { Bytes } from '@polkadot/types' ;
@@ -16,11 +16,18 @@ import { extractOptions, isOptions } from '../util';
1616
1717export const EMPTY_SALT = new Uint8Array ( ) ;
1818
19- export function createBluePrintTx < ApiType extends ApiTypes , R extends SubmittableResult > ( fn : ( options : BlueprintOptions , params : unknown [ ] ) => SubmittableExtrinsic < ApiType , R > ) : BlueprintDeploy < ApiType > {
20- return ( options : bigint | string | number | BN | BlueprintOptions , ...params : unknown [ ] ) : SubmittableExtrinsic < ApiType , R > =>
19+ export function withMeta < T extends { meta : AbiMessage } > ( meta : AbiMessage , creator : Omit < T , 'meta' > ) : T {
20+ ( creator as T ) . meta = meta ;
21+
22+ return creator as T ;
23+ }
24+
25+ export function createBluePrintTx < ApiType extends ApiTypes , R extends SubmittableResult > ( meta : AbiMessage , fn : ( options : BlueprintOptions , params : unknown [ ] ) => SubmittableExtrinsic < ApiType , R > ) : BlueprintDeploy < ApiType > {
26+ return withMeta ( meta , ( options : bigint | string | number | BN | BlueprintOptions , ...params : unknown [ ] ) : SubmittableExtrinsic < ApiType , R > =>
2127 isOptions ( options )
2228 ? fn ( options , params )
23- : fn ( ...extractOptions < BlueprintOptions > ( options , params ) ) ;
29+ : fn ( ...extractOptions < BlueprintOptions > ( options , params ) )
30+ ) ;
2431}
2532
2633export function createBluePrintWithId < T > ( fn : ( constructorOrId : AbiConstructor | string | number , options : BlueprintOptions , params : unknown [ ] ) => T ) : ContractGeneric < BlueprintOptions , T > {
0 commit comments