diff --git a/packages/api/src/base/Decorate.ts b/packages/api/src/base/Decorate.ts index fe087d31b3bf..e97dd38eb18e 100644 --- a/packages/api/src/base/Decorate.ts +++ b/packages/api/src/base/Decorate.ts @@ -19,7 +19,7 @@ import { BehaviorSubject, combineLatest, from, map, of, switchMap, tap, toArray import { getAvailableDerives } from '@polkadot/api-derive'; import { memo, RpcCore } from '@polkadot/rpc-core'; import { WsProvider } from '@polkadot/rpc-provider'; -import { expandMetadata, Metadata, typeDefinitions, TypeRegistry } from '@polkadot/types'; +import { expandMetadata, GenericExtrinsic, Metadata, typeDefinitions, TypeRegistry } from '@polkadot/types'; import { getSpecRuntime } from '@polkadot/types-known'; import { arrayChunk, arrayFlatten, assertReturn, BN, compactStripLength, lazyMethod, lazyMethods, logger, nextTick, objectSpread, stringCamelCase, stringUpperFirst, u8aConcatStrict, u8aToHex } from '@polkadot/util'; import { blake2AsHex } from '@polkadot/util-crypto'; @@ -84,7 +84,7 @@ export abstract class Decorate extends Events { protected _extrinsics?: SubmittableExtrinsics; - protected _extrinsicType = 4; // latest extrinsic version + protected _extrinsicType = GenericExtrinsic.LATEST_EXTRINSIC_VERSION; protected _genesisHash?: Hash; diff --git a/packages/types/src/extrinsic/Extrinsic.ts b/packages/types/src/extrinsic/Extrinsic.ts index ffbb06937885..f9775aaf0fb7 100644 --- a/packages/types/src/extrinsic/Extrinsic.ts +++ b/packages/types/src/extrinsic/Extrinsic.ts @@ -13,6 +13,7 @@ import type { ExtrinsicValueV4 } from './v4/Extrinsic'; import { AbstractBase } from '@polkadot/types-codec'; import { compactAddLength, compactFromU8a, compactToU8a, isHex, isU8a, objectProperty, objectSpread, u8aConcat, u8aToHex, u8aToU8a } from '@polkadot/util'; +import { EXTRINSIC_VERSION as LATEST_EXTRINSIC_VERSION } from './v4/Extrinsic'; import { BIT_SIGNED, BIT_UNSIGNED, DEFAULT_VERSION, UNMASK_VERSION } from './constants'; interface CreateOptions { @@ -33,7 +34,7 @@ const VERSIONS = [ 'ExtrinsicV4' ]; -export { EXTRINSIC_VERSION as LATEST_EXTRINSIC_VERSION } from './v4/Extrinsic'; +export { LATEST_EXTRINSIC_VERSION }; /** @internal */ function newFromValue (registry: Registry, value: any, version: number): ExtrinsicVx | ExtrinsicUnknown { @@ -235,6 +236,8 @@ abstract class ExtrinsicBase extends AbstractBase extends ExtrinsicBase implements IExtrinsic { #hashCache?: CodecHash; + static LATEST_EXTRINSIC_VERSION = LATEST_EXTRINSIC_VERSION; + constructor (registry: Registry, value?: GenericExtrinsic | ExtrinsicValue | AnyU8a | Call, { version }: CreateOptions = {}) { super(registry, decodeExtrinsic(registry, value, version)); }