diff --git a/packages/types/src/codec/Compact.spec.ts b/packages/types/src/codec/Compact.spec.ts index 77a098b293..1b3493fc58 100644 --- a/packages/types/src/codec/Compact.spec.ts +++ b/packages/types/src/codec/Compact.spec.ts @@ -145,6 +145,10 @@ describe('Compact', () => { it('compares against a primitive', () => { expect(new Compact(U32, 12345).eq(12345)).toBe(true); }); + + it('unwraps to the wrapped value', () => { + expect(new Compact(U32, 12345).unwrap() instanceof U32).toBe(true); + }); }); describe('helpers', () => { diff --git a/packages/types/src/codec/Compact.ts b/packages/types/src/codec/Compact.ts index 3a203ded96..0447a673d7 100644 --- a/packages/types/src/codec/Compact.ts +++ b/packages/types/src/codec/Compact.ts @@ -133,4 +133,11 @@ export default class Compact extends Base implements Codec { toU8a (isBare?: boolean): Uint8Array { return Compact.encodeU8a(this.raw.toBn()); } + + /** + * @description Returns the embedded [[UInt]] or [[Moment]] value + */ + unwrap (): UInt | Moment { + return this.raw; + } }