From 61daa0f2c8bf2f84acc39fcf252e2365d52ca316 Mon Sep 17 00:00:00 2001 From: Jaco Date: Wed, 9 Feb 2022 11:11:53 +0100 Subject: [PATCH] Adjust inspect inner/outer (#4553) --- .../types-codec/src/abstract/AbstractArray.ts | 2 +- .../types-codec/src/abstract/AbstractInt.ts | 3 +- packages/types-codec/src/base/Compact.spec.ts | 3 +- packages/types-codec/src/base/Compact.ts | 3 +- packages/types-codec/src/base/Enum.spec.ts | 3 +- packages/types-codec/src/base/Enum.ts | 12 ++++--- packages/types-codec/src/base/Int.spec.ts | 3 +- packages/types-codec/src/base/Null.ts | 5 +-- packages/types-codec/src/base/Option.spec.ts | 6 +--- packages/types-codec/src/base/Option.ts | 16 +++++----- packages/types-codec/src/base/Tuple.spec.ts | 7 ++-- packages/types-codec/src/base/Tuple.ts | 3 +- packages/types-codec/src/base/UInt.spec.ts | 3 +- packages/types-codec/src/base/Vec.spec.ts | 5 ++- .../types-codec/src/base/VecFixed.spec.ts | 13 ++++---- packages/types-codec/src/base/VecFixed.ts | 3 +- .../types-codec/src/extended/BTreeMap.spec.ts | 32 ++++--------------- .../types-codec/src/extended/BTreeSet.spec.ts | 10 +++--- packages/types-codec/src/extended/BTreeSet.ts | 2 +- .../types-codec/src/extended/BitVec.spec.ts | 5 +-- packages/types-codec/src/extended/BitVec.ts | 3 +- .../types-codec/src/extended/Bytes.spec.ts | 3 +- packages/types-codec/src/extended/Bytes.ts | 7 ++-- .../types-codec/src/extended/HashMap.spec.ts | 22 +++---------- packages/types-codec/src/extended/Map.spec.ts | 22 +++---------- packages/types-codec/src/extended/Map.ts | 2 +- .../types-codec/src/extended/Range.spec.ts | 7 ++-- .../types-codec/src/extended/U8aFixed.spec.ts | 3 +- .../src/extended/WrapperKeepOpaque.spec.ts | 7 ++-- .../src/extended/WrapperKeepOpaque.ts | 14 ++++---- .../src/extended/WrapperOpaque.spec.ts | 4 +-- packages/types-codec/src/native/Bool.spec.ts | 3 +- packages/types-codec/src/native/Bool.ts | 3 +- packages/types-codec/src/native/Date.spec.ts | 3 +- packages/types-codec/src/native/Date.ts | 3 +- packages/types-codec/src/native/Raw.spec.ts | 3 +- packages/types-codec/src/native/Raw.ts | 3 +- packages/types-codec/src/native/Set.spec.ts | 3 +- packages/types-codec/src/native/Set.ts | 3 +- .../types-codec/src/native/Struct.spec.ts | 15 +++------ packages/types-codec/src/native/Struct.ts | 3 +- packages/types-codec/src/native/Text.spec.ts | 3 +- packages/types-codec/src/native/Text.ts | 5 +-- packages/types-codec/src/types/codec.ts | 4 +-- packages/types/src/extrinsic/Extrinsic.ts | 7 ++-- packages/types/src/generic/LookupSource.ts | 14 ++++---- packages/types/src/generic/MultiAddress.ts | 14 +++++++- .../decorate/storage/createFunction.ts | 3 +- 48 files changed, 131 insertions(+), 194 deletions(-) diff --git a/packages/types-codec/src/abstract/AbstractArray.ts b/packages/types-codec/src/abstract/AbstractArray.ts index b817d506cc..f595a738ec 100644 --- a/packages/types-codec/src/abstract/AbstractArray.ts +++ b/packages/types-codec/src/abstract/AbstractArray.ts @@ -84,7 +84,7 @@ export abstract class AbstractArray extends Array implements inspect (): Inspect { return { inner: this.inspectInner(), - value: compactToU8a(this.length) + outer: [compactToU8a(this.length)] }; } diff --git a/packages/types-codec/src/abstract/AbstractInt.ts b/packages/types-codec/src/abstract/AbstractInt.ts index 128e3387e6..8f0ddea773 100644 --- a/packages/types-codec/src/abstract/AbstractInt.ts +++ b/packages/types-codec/src/abstract/AbstractInt.ts @@ -127,8 +127,7 @@ export abstract class AbstractInt extends BN implements INumber { */ inspect (): Inspect { return { - inner: [], - value: this.toU8a() + outer: [this.toU8a()] }; } diff --git a/packages/types-codec/src/base/Compact.spec.ts b/packages/types-codec/src/base/Compact.spec.ts index 446b88007a..cf1faf6585 100644 --- a/packages/types-codec/src/base/Compact.spec.ts +++ b/packages/types-codec/src/base/Compact.spec.ts @@ -84,8 +84,7 @@ describe('Compact', (): void => { expect( new (Compact.with(U32))(registry, 0xffff).inspect() ).toEqual({ - inner: [], - value: new Uint8Array([254, 255, 3, 0]) + outer: [new Uint8Array([254, 255, 3, 0])] }); }); }); diff --git a/packages/types-codec/src/base/Compact.ts b/packages/types-codec/src/base/Compact.ts index 3ef98683fb..782f2f4756 100644 --- a/packages/types-codec/src/base/Compact.ts +++ b/packages/types-codec/src/base/Compact.ts @@ -105,8 +105,7 @@ export class Compact implements ICompact { */ inspect (): Inspect { return { - inner: [], - value: this.toU8a() + outer: [this.toU8a()] }; } diff --git a/packages/types-codec/src/base/Enum.spec.ts b/packages/types-codec/src/base/Enum.spec.ts index 6e5b18319c..30dc4611ea 100644 --- a/packages/types-codec/src/base/Enum.spec.ts +++ b/packages/types-codec/src/base/Enum.spec.ts @@ -298,8 +298,7 @@ describe('Enum', (): void => { '0x0134120000' ).inspect() ).toEqual({ - inner: [{ inner: [], value: new Uint8Array([0x34, 0x12, 0x00, 0x00]) }], - value: new Uint8Array([0x01]) + outer: [new Uint8Array([0x01]), new Uint8Array([0x34, 0x12, 0x00, 0x00])] }); }); }); diff --git a/packages/types-codec/src/base/Enum.ts b/packages/types-codec/src/base/Enum.ts index 5756b10781..0c43a2107c 100644 --- a/packages/types-codec/src/base/Enum.ts +++ b/packages/types-codec/src/base/Enum.ts @@ -324,11 +324,15 @@ export class Enum implements IEnum { * @description Returns a breakdown of the hex encoding for this Codec */ inspect (): Inspect { + if (this.isBasic) { + return { outer: [new Uint8Array([this.index])] }; + } + + const { inner, outer = [] } = this.#raw.inspect(); + return { - inner: this.isBasic - ? [] - : [this.#raw.inspect()], - value: new Uint8Array([this.index]) + inner, + outer: [new Uint8Array([this.index]), ...outer] }; } diff --git a/packages/types-codec/src/base/Int.spec.ts b/packages/types-codec/src/base/Int.spec.ts index fc68591d80..67feafc167 100644 --- a/packages/types-codec/src/base/Int.spec.ts +++ b/packages/types-codec/src/base/Int.spec.ts @@ -56,8 +56,7 @@ describe('Int', (): void => { expect( new Int(registry, '0x12', 16).inspect() ).toEqual({ - inner: [], - value: new Uint8Array([0x12, 0x00]) + outer: [new Uint8Array([0x12, 0x00])] }); }); diff --git a/packages/types-codec/src/base/Null.ts b/packages/types-codec/src/base/Null.ts index 8a7e08da70..8f075cf019 100644 --- a/packages/types-codec/src/base/Null.ts +++ b/packages/types-codec/src/base/Null.ts @@ -55,10 +55,7 @@ export class Null implements Codec { * @description Returns a breakdown of the hex encoding for this Codec */ inspect (): Inspect { - return { - inner: [], - value: new Uint8Array() - }; + return {}; } /** diff --git a/packages/types-codec/src/base/Option.spec.ts b/packages/types-codec/src/base/Option.spec.ts index 8bd36505a3..667a76478f 100644 --- a/packages/types-codec/src/base/Option.spec.ts +++ b/packages/types-codec/src/base/Option.spec.ts @@ -158,11 +158,7 @@ describe('Option', (): void => { expect( new Option(registry, U32, '1234').inspect() ).toEqual({ - inner: [{ - inner: [], - value: new Uint8Array([210, 4, 0, 0]) - }], - value: new Uint8Array([0x01]) + outer: [new Uint8Array([0x01]), new Uint8Array([210, 4, 0, 0])] }); }); }); diff --git a/packages/types-codec/src/base/Option.ts b/packages/types-codec/src/base/Option.ts index 6ffccaf81e..dcda725cd7 100644 --- a/packages/types-codec/src/base/Option.ts +++ b/packages/types-codec/src/base/Option.ts @@ -141,15 +141,15 @@ export class Option implements IOption { * @description Returns a breakdown of the hex encoding for this Codec */ inspect (): Inspect { + if (this.isNone) { + return { outer: [new Uint8Array([0])] }; + } + + const { inner, outer = [] } = this.#raw.inspect(); + return { - inner: this.isSome - ? [this.#raw.inspect()] - : [], - value: new Uint8Array( - this.isSome - ? [1] - : [0] - ) + inner, + outer: [new Uint8Array([1]), ...outer] }; } diff --git a/packages/types-codec/src/base/Tuple.spec.ts b/packages/types-codec/src/base/Tuple.spec.ts index 6c4b236716..a3d2b5f186 100644 --- a/packages/types-codec/src/base/Tuple.spec.ts +++ b/packages/types-codec/src/base/Tuple.spec.ts @@ -126,10 +126,9 @@ describe('Tuple', (): void => { tuple.inspect() ).toEqual({ inner: [ - { inner: [{ inner: [], value: stringToU8a('bazzing') }], value: new Uint8Array([7 << 2]) }, - { inner: [], value: new Uint8Array([69, 0, 0, 0]) } - ], - value: new Uint8Array() + { outer: [new Uint8Array([7 << 2]), stringToU8a('bazzing')] }, + { outer: [new Uint8Array([69, 0, 0, 0])] } + ] }); }); }); diff --git a/packages/types-codec/src/base/Tuple.ts b/packages/types-codec/src/base/Tuple.ts index 83e5053edc..a7baf6351f 100644 --- a/packages/types-codec/src/base/Tuple.ts +++ b/packages/types-codec/src/base/Tuple.ts @@ -105,8 +105,7 @@ export class Tuple extends AbstractArray implements ITuple { */ override inspect (): Inspect { return { - inner: this.inspectInner(), - value: new Uint8Array() + inner: this.inspectInner() }; } diff --git a/packages/types-codec/src/base/UInt.spec.ts b/packages/types-codec/src/base/UInt.spec.ts index 30defe0f1c..c0ae7022cf 100644 --- a/packages/types-codec/src/base/UInt.spec.ts +++ b/packages/types-codec/src/base/UInt.spec.ts @@ -127,8 +127,7 @@ describe('UInt', (): void => { expect( new UInt(registry, '0x12', 16).inspect() ).toEqual({ - inner: [], - value: new Uint8Array([0x12, 0x00]) + outer: [new Uint8Array([0x12, 0x00])] }); }); diff --git a/packages/types-codec/src/base/Vec.spec.ts b/packages/types-codec/src/base/Vec.spec.ts index 7955fd03f7..a48889c641 100644 --- a/packages/types-codec/src/base/Vec.spec.ts +++ b/packages/types-codec/src/base/Vec.spec.ts @@ -184,10 +184,9 @@ describe('Vec', (): void => { expect(vec.inspect()).toEqual({ inner: addrs.map((a) => ({ - inner: [], - value: decodeAddress(a) + outer: [decodeAddress(a)] })), - value: new Uint8Array([3 << 2]) + outer: [new Uint8Array([3 << 2])] }); }); }); diff --git a/packages/types-codec/src/base/VecFixed.spec.ts b/packages/types-codec/src/base/VecFixed.spec.ts index 0c92ee281c..aa70c8cd4c 100644 --- a/packages/types-codec/src/base/VecFixed.spec.ts +++ b/packages/types-codec/src/base/VecFixed.spec.ts @@ -64,13 +64,12 @@ describe('VecFixed', (): void => { it('has a sane inspect', (): void => { expect(test.inspect()).toEqual({ inner: [ - { inner: [{ inner: [], value: stringToU8a('1') }], value: new Uint8Array([1 << 2]) }, - { inner: [{ inner: [], value: stringToU8a('2') }], value: new Uint8Array([1 << 2]) }, - { inner: [{ inner: [], value: stringToU8a('3') }], value: new Uint8Array([1 << 2]) }, - { inner: [{ inner: [], value: new Uint8Array() }], value: new Uint8Array([0]) }, - { inner: [{ inner: [], value: stringToU8a('56') }], value: new Uint8Array([2 << 2]) } - ], - value: new Uint8Array() + { outer: [new Uint8Array([1 << 2]), stringToU8a('1')] }, + { outer: [new Uint8Array([1 << 2]), stringToU8a('2')] }, + { outer: [new Uint8Array([1 << 2]), stringToU8a('3')] }, + { outer: [new Uint8Array([0])] }, + { outer: [new Uint8Array([2 << 2]), stringToU8a('56')] } + ] }); }); }); diff --git a/packages/types-codec/src/base/VecFixed.ts b/packages/types-codec/src/base/VecFixed.ts index fb4f95c95b..bdada91cc8 100644 --- a/packages/types-codec/src/base/VecFixed.ts +++ b/packages/types-codec/src/base/VecFixed.ts @@ -75,8 +75,7 @@ export class VecFixed extends AbstractArray { */ override inspect (): Inspect { return { - inner: this.inspectInner(), - value: new Uint8Array() + inner: this.inspectInner() }; } diff --git a/packages/types-codec/src/extended/BTreeMap.spec.ts b/packages/types-codec/src/extended/BTreeMap.spec.ts index f844c5f9af..9a5ced2243 100644 --- a/packages/types-codec/src/extended/BTreeMap.spec.ts +++ b/packages/types-codec/src/extended/BTreeMap.spec.ts @@ -198,32 +198,14 @@ describe('BTreeMap', (): void => { ])).inspect() ).toEqual({ inner: [ - { - inner: [{ inner: [], value: stringToU8a('1') }], - value: new Uint8Array([1 << 2]) - }, - { - inner: [{ inner: [], value: stringToU8a('foo') }], - value: new Uint8Array([3 << 2]) - }, - { - inner: [{ inner: [], value: stringToU8a('2') }], - value: new Uint8Array([1 << 2]) - }, - { - inner: [{ inner: [], value: stringToU8a('bar') }], - value: new Uint8Array([3 << 2]) - }, - { - inner: [{ inner: [], value: stringToU8a('3') }], - value: new Uint8Array([1 << 2]) - }, - { - inner: [{ inner: [], value: stringToU8a('baz') }], - value: new Uint8Array([3 << 2]) - } + { outer: [new Uint8Array([1 << 2]), stringToU8a('1')] }, + { outer: [new Uint8Array([3 << 2]), stringToU8a('foo')] }, + { outer: [new Uint8Array([1 << 2]), stringToU8a('2')] }, + { outer: [new Uint8Array([3 << 2]), stringToU8a('bar')] }, + { outer: [new Uint8Array([1 << 2]), stringToU8a('3')] }, + { outer: [new Uint8Array([3 << 2]), stringToU8a('baz')] } ], - value: new Uint8Array([3 << 2]) + outer: [new Uint8Array([3 << 2])] }); }); }); diff --git a/packages/types-codec/src/extended/BTreeSet.spec.ts b/packages/types-codec/src/extended/BTreeSet.spec.ts index de61c4ae12..b1ab001466 100644 --- a/packages/types-codec/src/extended/BTreeSet.spec.ts +++ b/packages/types-codec/src/extended/BTreeSet.spec.ts @@ -186,12 +186,12 @@ describe('BTreeSet', (): void => { new (BTreeSet.with(U32))(registry, [1, 2, 3, 4]).inspect() ).toEqual({ inner: [ - { inner: [], value: new Uint8Array([1, 0, 0, 0]) }, - { inner: [], value: new Uint8Array([2, 0, 0, 0]) }, - { inner: [], value: new Uint8Array([3, 0, 0, 0]) }, - { inner: [], value: new Uint8Array([4, 0, 0, 0]) } + { outer: [new Uint8Array([1, 0, 0, 0])] }, + { outer: [new Uint8Array([2, 0, 0, 0])] }, + { outer: [new Uint8Array([3, 0, 0, 0])] }, + { outer: [new Uint8Array([4, 0, 0, 0])] } ], - value: new Uint8Array([4 << 2]) + outer: [new Uint8Array([4 << 2])] }); }); }); diff --git a/packages/types-codec/src/extended/BTreeSet.ts b/packages/types-codec/src/extended/BTreeSet.ts index 17d8d02e5a..725ae83982 100644 --- a/packages/types-codec/src/extended/BTreeSet.ts +++ b/packages/types-codec/src/extended/BTreeSet.ts @@ -150,7 +150,7 @@ export class BTreeSet extends Set implements ISet return { inner, - value: compactToU8a(this.size) + outer: [compactToU8a(this.size)] }; } diff --git a/packages/types-codec/src/extended/BitVec.spec.ts b/packages/types-codec/src/extended/BitVec.spec.ts index 44e68b4ae2..f5185b055a 100644 --- a/packages/types-codec/src/extended/BitVec.spec.ts +++ b/packages/types-codec/src/extended/BitVec.spec.ts @@ -33,10 +33,7 @@ describe('BitVec', (): void => { expect( new BitVec(registry, '0x0837').inspect() ).toEqual({ - inner: [ - { inner: [], value: new Uint8Array([0x08, 0x37]) } - ], - value: new Uint8Array([0]) + outer: [new Uint8Array([0]), new Uint8Array([0x08, 0x37])] }); }); }); diff --git a/packages/types-codec/src/extended/BitVec.ts b/packages/types-codec/src/extended/BitVec.ts index daf5d39ac6..fa60300d18 100644 --- a/packages/types-codec/src/extended/BitVec.ts +++ b/packages/types-codec/src/extended/BitVec.ts @@ -62,8 +62,7 @@ export class BitVec extends Raw { */ override inspect (): Inspect { return { - inner: [{ inner: [], value: super.toU8a() }], - value: compactToU8a(this.#decodedLength) + outer: [compactToU8a(this.#decodedLength), super.toU8a()] }; } diff --git a/packages/types-codec/src/extended/Bytes.spec.ts b/packages/types-codec/src/extended/Bytes.spec.ts index ad6654dd62..1038267d86 100644 --- a/packages/types-codec/src/extended/Bytes.spec.ts +++ b/packages/types-codec/src/extended/Bytes.spec.ts @@ -67,8 +67,7 @@ describe('Bytes', (): void => { expect( new Bytes(registry, '0x12345678').inspect() ).toEqual({ - inner: [{ inner: [], value: new Uint8Array([0x12, 0x34, 0x56, 0x78]) }], - value: new Uint8Array([4 << 2]) + outer: [new Uint8Array([4 << 2]), new Uint8Array([0x12, 0x34, 0x56, 0x78])] }); }); }); diff --git a/packages/types-codec/src/extended/Bytes.ts b/packages/types-codec/src/extended/Bytes.ts index 08cc351e51..fe703aebdd 100644 --- a/packages/types-codec/src/extended/Bytes.ts +++ b/packages/types-codec/src/extended/Bytes.ts @@ -64,9 +64,12 @@ export class Bytes extends Raw { * @description Returns a breakdown of the hex encoding for this Codec */ override inspect (): Inspect { + const clength = compactToU8a(this.length); + return { - inner: [{ inner: [], value: super.toU8a() }], - value: compactToU8a(this.length) + outer: this.length + ? [clength, super.toU8a()] + : [clength] }; } diff --git a/packages/types-codec/src/extended/HashMap.spec.ts b/packages/types-codec/src/extended/HashMap.spec.ts index 143e2a1b18..282dd98042 100644 --- a/packages/types-codec/src/extended/HashMap.spec.ts +++ b/packages/types-codec/src/extended/HashMap.spec.ts @@ -23,24 +23,12 @@ describe('HashMap', (): void => { ])).inspect() ).toEqual({ inner: [ - { - inner: [{ inner: [], value: stringToU8a('1') }], - value: new Uint8Array([1 << 2]) - }, - { - inner: [{ inner: [], value: stringToU8a('foo') }], - value: new Uint8Array([3 << 2]) - }, - { - inner: [{ inner: [], value: stringToU8a('2') }], - value: new Uint8Array([1 << 2]) - }, - { - inner: [{ inner: [], value: stringToU8a('bar') }], - value: new Uint8Array([3 << 2]) - } + { outer: [new Uint8Array([1 << 2]), stringToU8a('1')] }, + { outer: [new Uint8Array([3 << 2]), stringToU8a('foo')] }, + { outer: [new Uint8Array([1 << 2]), stringToU8a('2')] }, + { outer: [new Uint8Array([3 << 2]), stringToU8a('bar')] } ], - value: new Uint8Array([2 << 2]) + outer: [new Uint8Array([2 << 2])] }); }); }); diff --git a/packages/types-codec/src/extended/Map.spec.ts b/packages/types-codec/src/extended/Map.spec.ts index 67a8ca13f9..89b0d5350f 100644 --- a/packages/types-codec/src/extended/Map.spec.ts +++ b/packages/types-codec/src/extended/Map.spec.ts @@ -83,24 +83,12 @@ describe('CodecMap', (): void => { ])).inspect() ).toEqual({ inner: [ - { - inner: [{ inner: [], value: stringToU8a('1') }], - value: new Uint8Array([1 << 2]) - }, - { - inner: [{ inner: [], value: stringToU8a('foo') }], - value: new Uint8Array([3 << 2]) - }, - { - inner: [{ inner: [], value: stringToU8a('2') }], - value: new Uint8Array([1 << 2]) - }, - { - inner: [{ inner: [], value: stringToU8a('bar') }], - value: new Uint8Array([3 << 2]) - } + { outer: [new Uint8Array([1 << 2]), stringToU8a('1')] }, + { outer: [new Uint8Array([3 << 2]), stringToU8a('foo')] }, + { outer: [new Uint8Array([1 << 2]), stringToU8a('2')] }, + { outer: [new Uint8Array([3 << 2]), stringToU8a('bar')] } ], - value: new Uint8Array([2 << 2]) + outer: [new Uint8Array([2 << 2])] }); }); }); diff --git a/packages/types-codec/src/extended/Map.ts b/packages/types-codec/src/extended/Map.ts index f0eadb3a34..395caebd45 100644 --- a/packages/types-codec/src/extended/Map.ts +++ b/packages/types-codec/src/extended/Map.ts @@ -165,7 +165,7 @@ export class CodecMap extends return { inner, - value: compactToU8a(this.size) + outer: [compactToU8a(this.size)] }; } diff --git a/packages/types-codec/src/extended/Range.spec.ts b/packages/types-codec/src/extended/Range.spec.ts index 951e788bf0..cb53b752b6 100644 --- a/packages/types-codec/src/extended/Range.spec.ts +++ b/packages/types-codec/src/extended/Range.spec.ts @@ -32,10 +32,9 @@ describe('Range', (): void => { it('has a sane inspect', (): void => { expect(range.inspect()).toEqual({ inner: [ - { inner: [], value: new Uint8Array([1, 0, 0, 0]) }, - { inner: [], value: new Uint8Array([2, 0, 0, 0]) } - ], - value: new Uint8Array() + { outer: [new Uint8Array([1, 0, 0, 0])] }, + { outer: [new Uint8Array([2, 0, 0, 0])] } + ] }); }); }); diff --git a/packages/types-codec/src/extended/U8aFixed.spec.ts b/packages/types-codec/src/extended/U8aFixed.spec.ts index b026ac612c..0aaa662b96 100644 --- a/packages/types-codec/src/extended/U8aFixed.spec.ts +++ b/packages/types-codec/src/extended/U8aFixed.spec.ts @@ -64,8 +64,7 @@ describe('U8aFixed', (): void => { it('has a sane inspect', (): void => { expect(u8a.inspect()).toEqual({ - inner: [], - value: new Uint8Array([1, 2, 3, 4]) + outer: [new Uint8Array([1, 2, 3, 4])] }); }); }); diff --git a/packages/types-codec/src/extended/WrapperKeepOpaque.spec.ts b/packages/types-codec/src/extended/WrapperKeepOpaque.spec.ts index 6526401473..c25e574e30 100644 --- a/packages/types-codec/src/extended/WrapperKeepOpaque.spec.ts +++ b/packages/types-codec/src/extended/WrapperKeepOpaque.spec.ts @@ -54,8 +54,7 @@ describe('WrapperKeepOpaque', (): void => { expect( new ClazzUSize(registry, u8au32).inspect() ).toEqual({ - inner: [{ inner: [], value: new Uint8Array([0x87, 0xd6, 0x12, 0x00]) }], - value: new Uint8Array([4 << 2]) + outer: [new Uint8Array([4 << 2]), new Uint8Array([0x87, 0xd6, 0x12, 0x00])] }); }); @@ -63,8 +62,8 @@ describe('WrapperKeepOpaque', (): void => { expect( new ClazzU32(registry, u8au32).inspect() ).toEqual({ - inner: [{ inner: [], value: new Uint8Array([0x87, 0xd6, 0x12, 0x00]) }], - value: new Uint8Array([4 << 2]) + inner: [{ outer: [new Uint8Array([0x87, 0xd6, 0x12, 0x00])] }], + outer: [new Uint8Array([4 << 2])] }); }); }); diff --git a/packages/types-codec/src/extended/WrapperKeepOpaque.ts b/packages/types-codec/src/extended/WrapperKeepOpaque.ts index 8a18d718a0..ee82b25316 100644 --- a/packages/types-codec/src/extended/WrapperKeepOpaque.ts +++ b/packages/types-codec/src/extended/WrapperKeepOpaque.ts @@ -67,12 +67,14 @@ export class WrapperKeepOpaque extends Bytes { * @description Returns a breakdown of the hex encoding for this Codec */ override inspect (): Inspect { - return { - inner: this.#decoded - ? [this.#decoded.inspect()] - : [{ inner: [], value: this.toU8a(true) }], - value: compactToU8a(this.length) - }; + return this.#decoded + ? { + inner: [this.#decoded.inspect()], + outer: [compactToU8a(this.length)] + } + : { + outer: [compactToU8a(this.length), this.toU8a(true)] + }; } /** diff --git a/packages/types-codec/src/extended/WrapperOpaque.spec.ts b/packages/types-codec/src/extended/WrapperOpaque.spec.ts index 595c920118..8d64851bf5 100644 --- a/packages/types-codec/src/extended/WrapperOpaque.spec.ts +++ b/packages/types-codec/src/extended/WrapperOpaque.spec.ts @@ -49,8 +49,8 @@ describe('WrapperOpaque', (): void => { expect( new WrapperOpaque(registry, 'u32', '0x12345678').inspect() ).toEqual({ - inner: [{ inner: [], value: new Uint8Array([0x78, 0x56, 0x34, 0x12]) }], - value: new Uint8Array([4 << 2]) + inner: [{ outer: [new Uint8Array([0x78, 0x56, 0x34, 0x12])] }], + outer: [new Uint8Array([4 << 2])] }); }); }); diff --git a/packages/types-codec/src/native/Bool.spec.ts b/packages/types-codec/src/native/Bool.spec.ts index e7b6d6c4a9..df7dab72b0 100644 --- a/packages/types-codec/src/native/Bool.spec.ts +++ b/packages/types-codec/src/native/Bool.spec.ts @@ -65,8 +65,7 @@ describe('Bool', (): void => { it('has a sane inspect', (): void => { expect(new Bool(registry, true).inspect()).toEqual({ - inner: [], - value: new Uint8Array([1]) + outer: [new Uint8Array([1])] }); }); }); diff --git a/packages/types-codec/src/native/Bool.ts b/packages/types-codec/src/native/Bool.ts index 81872dbb59..cdb6b033fb 100644 --- a/packages/types-codec/src/native/Bool.ts +++ b/packages/types-codec/src/native/Bool.ts @@ -86,8 +86,7 @@ export class bool extends Boolean implements Codec { */ inspect (): Inspect { return { - inner: [], - value: this.toU8a() + outer: [this.toU8a()] }; } diff --git a/packages/types-codec/src/native/Date.spec.ts b/packages/types-codec/src/native/Date.spec.ts index 3f917f4308..4607c8e3e5 100644 --- a/packages/types-codec/src/native/Date.spec.ts +++ b/packages/types-codec/src/native/Date.spec.ts @@ -76,8 +76,7 @@ describe('Date', (): void => { it('has a sane inspect', (): void => { expect(new CodecDate(registry, 3).inspect()).toEqual({ - inner: [], - value: new Uint8Array([3, 0, 0, 0, 0, 0, 0, 0]) + outer: [new Uint8Array([3, 0, 0, 0, 0, 0, 0, 0])] }); }); }); diff --git a/packages/types-codec/src/native/Date.ts b/packages/types-codec/src/native/Date.ts index 2530c1f2c8..8096c51037 100644 --- a/packages/types-codec/src/native/Date.ts +++ b/packages/types-codec/src/native/Date.ts @@ -83,8 +83,7 @@ export class CodecDate extends Date implements INumber { */ inspect (): Inspect { return { - inner: [], - value: this.toU8a() + outer: [this.toU8a()] }; } diff --git a/packages/types-codec/src/native/Raw.spec.ts b/packages/types-codec/src/native/Raw.spec.ts index 52009b3013..e86ac911f3 100644 --- a/packages/types-codec/src/native/Raw.spec.ts +++ b/packages/types-codec/src/native/Raw.spec.ts @@ -94,8 +94,7 @@ describe('Raw', (): void => { expect( new Raw(registry, [1, 2, 3, 4, 5]).inspect() ).toEqual({ - inner: [], - value: new Uint8Array([1, 2, 3, 4, 5]) + outer: [new Uint8Array([1, 2, 3, 4, 5])] }); }); }); diff --git a/packages/types-codec/src/native/Raw.ts b/packages/types-codec/src/native/Raw.ts index 1494f0df76..54fdcd7cb8 100644 --- a/packages/types-codec/src/native/Raw.ts +++ b/packages/types-codec/src/native/Raw.ts @@ -96,8 +96,7 @@ export class Raw extends Uint8Array implements IU8a { */ inspect (): Inspect { return { - inner: [], - value: this.toU8a() + outer: [this.toU8a()] }; } diff --git a/packages/types-codec/src/native/Set.spec.ts b/packages/types-codec/src/native/Set.spec.ts index 083f64d6f9..8a13aaf732 100644 --- a/packages/types-codec/src/native/Set.spec.ts +++ b/packages/types-codec/src/native/Set.spec.ts @@ -98,8 +98,7 @@ describe('Set', (): void => { it('has a sane inspect', (): void => { expect(set.inspect()).toEqual({ - inner: [], - value: new Uint8Array([SET_ROLES.full | SET_ROLES.authority]) + outer: [new Uint8Array([SET_ROLES.full | SET_ROLES.authority])] }); }); }); diff --git a/packages/types-codec/src/native/Set.ts b/packages/types-codec/src/native/Set.ts index f418b67fc2..9abf47378d 100644 --- a/packages/types-codec/src/native/Set.ts +++ b/packages/types-codec/src/native/Set.ts @@ -189,8 +189,7 @@ export class CodecSet extends Set implements ISet { */ inspect (): Inspect { return { - inner: [], - value: this.toU8a() + outer: [this.toU8a()] }; } diff --git a/packages/types-codec/src/native/Struct.spec.ts b/packages/types-codec/src/native/Struct.spec.ts index 349921f0e8..ca3723a9d2 100644 --- a/packages/types-codec/src/native/Struct.spec.ts +++ b/packages/types-codec/src/native/Struct.spec.ts @@ -342,27 +342,22 @@ describe('Struct', (): void => { ).toEqual({ inner: [ { - inner: [{ inner: [], value: new Uint8Array([0x42, 0x69]) }], name: 'foo', - value: new Uint8Array([2 << 2]) + outer: [new Uint8Array([2 << 2]), new Uint8Array([0x42, 0x69])] }, { - inner: [{ inner: [], value: new Uint8Array([0x99]) }], name: 'method', - value: new Uint8Array([1 << 2]) + outer: [new Uint8Array([1 << 2]), new Uint8Array([0x99])] }, { - inner: [{ inner: [], value: new Uint8Array([1, 0, 0, 0]) }], name: 'bar', - value: new Uint8Array([1]) + outer: [new Uint8Array([1]), new Uint8Array([1, 0, 0, 0])] }, { - inner: [], name: 'baz', - value: new Uint8Array([1]) + outer: [new Uint8Array([1])] } - ], - value: new Uint8Array() + ] }); }); }); diff --git a/packages/types-codec/src/native/Struct.ts b/packages/types-codec/src/native/Struct.ts index 65e85871e0..6b75fe28d5 100644 --- a/packages/types-codec/src/native/Struct.ts +++ b/packages/types-codec/src/native/Struct.ts @@ -227,8 +227,7 @@ export class Struct< } return { - inner, - value: new Uint8Array() + inner }; } diff --git a/packages/types-codec/src/native/Text.spec.ts b/packages/types-codec/src/native/Text.spec.ts index aa4eb82d83..898ee82a6b 100644 --- a/packages/types-codec/src/native/Text.spec.ts +++ b/packages/types-codec/src/native/Text.spec.ts @@ -70,8 +70,7 @@ describe('Text', (): void => { expect( new Text(registry, 'abcde').inspect() ).toEqual({ - inner: [{ inner: [], value: stringToU8a('abcde') }], - value: new Uint8Array([5 << 2]) + outer: [new Uint8Array([5 << 2]), stringToU8a('abcde')] }); }); }); diff --git a/packages/types-codec/src/native/Text.ts b/packages/types-codec/src/native/Text.ts index b570a2b065..605c1094cb 100644 --- a/packages/types-codec/src/native/Text.ts +++ b/packages/types-codec/src/native/Text.ts @@ -117,8 +117,9 @@ export class Text extends String implements Codec { const value = stringToU8a(super.toString()); return { - inner: [{ inner: [], value }], - value: compactToU8a(value.length) + outer: value.length + ? [compactToU8a(value.length), value] + : [compactToU8a(value.length)] }; } diff --git a/packages/types-codec/src/types/codec.ts b/packages/types-codec/src/types/codec.ts index 52693e37e9..b0b30d0828 100644 --- a/packages/types-codec/src/types/codec.ts +++ b/packages/types-codec/src/types/codec.ts @@ -9,9 +9,9 @@ import type { Registry } from './registry'; export type BareOpts = boolean | Record; export interface Inspect { - inner: Inspect[]; + inner?: Inspect[]; name?: string; - value?: Uint8Array; + outer?: Uint8Array[]; } /** diff --git a/packages/types/src/extrinsic/Extrinsic.ts b/packages/types/src/extrinsic/Extrinsic.ts index b80bd9dfd2..793cac22b7 100644 --- a/packages/types/src/extrinsic/Extrinsic.ts +++ b/packages/types/src/extrinsic/Extrinsic.ts @@ -270,11 +270,8 @@ export class GenericExtrinsic extends ExtrinsicBa const encoded = u8aConcat(...this.toU8aInner()); return { - inner: [{ - inner: this.inner.inspect().inner, - value: new Uint8Array([this.version]) - }], - value: compactToU8a(encoded.length) + inner: this.inner.inspect().inner, + outer: [compactToU8a(encoded.length), new Uint8Array([this.version])] }; } diff --git a/packages/types/src/generic/LookupSource.ts b/packages/types/src/generic/LookupSource.ts index 23dcf47d94..61f13fa7ef 100644 --- a/packages/types/src/generic/LookupSource.ts +++ b/packages/types/src/generic/LookupSource.ts @@ -97,12 +97,14 @@ export class GenericLookupSource extends Base ({ inner: [], name: names[i], value })), - value: new Uint8Array() + .map((v, i) => ({ name: names[i], outer: [v] })) }; }