Browse Source

Merge pull request #2968 from thesan/bounty-metadata

Add bounty metadata
Mokhtar Naamani 3 years ago
parent
commit
699b03c1d3

+ 204 - 0
metadata-protobuf/compiled/index.d.ts

@@ -1,5 +1,209 @@
 import { Long } from 'long'
 import * as $protobuf from "protobufjs";
+/** Properties of a BountyMetadata. */
+export interface IBountyMetadata {
+
+    /** BountyMetadata title */
+    title?: (string|null);
+
+    /** BountyMetadata description */
+    description?: (string|null);
+
+    /** BountyMetadata discussionThread */
+    discussionThread?: (number|null);
+
+    /** BountyMetadata bannerImageUri */
+    bannerImageUri?: (string|null);
+}
+
+/** Represents a BountyMetadata. */
+export class BountyMetadata implements IBountyMetadata {
+
+    /**
+     * Constructs a new BountyMetadata.
+     * @param [properties] Properties to set
+     */
+    constructor(properties?: IBountyMetadata);
+
+    /** BountyMetadata title. */
+    public title: string;
+
+    /** BountyMetadata description. */
+    public description: string;
+
+    /** BountyMetadata discussionThread. */
+    public discussionThread: number;
+
+    /** BountyMetadata bannerImageUri. */
+    public bannerImageUri: string;
+
+    /**
+     * Creates a new BountyMetadata instance using the specified properties.
+     * @param [properties] Properties to set
+     * @returns BountyMetadata instance
+     */
+    public static create(properties?: IBountyMetadata): BountyMetadata;
+
+    /**
+     * Encodes the specified BountyMetadata message. Does not implicitly {@link BountyMetadata.verify|verify} messages.
+     * @param message BountyMetadata message or plain object to encode
+     * @param [writer] Writer to encode to
+     * @returns Writer
+     */
+    public static encode(message: IBountyMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+    /**
+     * Encodes the specified BountyMetadata message, length delimited. Does not implicitly {@link BountyMetadata.verify|verify} messages.
+     * @param message BountyMetadata message or plain object to encode
+     * @param [writer] Writer to encode to
+     * @returns Writer
+     */
+    public static encodeDelimited(message: IBountyMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+    /**
+     * Decodes a BountyMetadata message from the specified reader or buffer.
+     * @param reader Reader or buffer to decode from
+     * @param [length] Message length if known beforehand
+     * @returns BountyMetadata
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): BountyMetadata;
+
+    /**
+     * Decodes a BountyMetadata message from the specified reader or buffer, length delimited.
+     * @param reader Reader or buffer to decode from
+     * @returns BountyMetadata
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): BountyMetadata;
+
+    /**
+     * Verifies a BountyMetadata message.
+     * @param message Plain object to verify
+     * @returns `null` if valid, otherwise the reason why it is not
+     */
+    public static verify(message: { [k: string]: any }): (string|null);
+
+    /**
+     * Creates a BountyMetadata message from a plain object. Also converts values to their respective internal types.
+     * @param object Plain object
+     * @returns BountyMetadata
+     */
+    public static fromObject(object: { [k: string]: any }): BountyMetadata;
+
+    /**
+     * Creates a plain object from a BountyMetadata message. Also converts values to other types if specified.
+     * @param message BountyMetadata
+     * @param [options] Conversion options
+     * @returns Plain object
+     */
+    public static toObject(message: BountyMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+    /**
+     * Converts this BountyMetadata to JSON.
+     * @returns JSON object
+     */
+    public toJSON(): { [k: string]: any };
+}
+
+/** Properties of a BountyWorkData. */
+export interface IBountyWorkData {
+
+    /** BountyWorkData title */
+    title?: (string|null);
+
+    /** BountyWorkData description */
+    description?: (string|null);
+}
+
+/** Represents a BountyWorkData. */
+export class BountyWorkData implements IBountyWorkData {
+
+    /**
+     * Constructs a new BountyWorkData.
+     * @param [properties] Properties to set
+     */
+    constructor(properties?: IBountyWorkData);
+
+    /** BountyWorkData title. */
+    public title: string;
+
+    /** BountyWorkData description. */
+    public description: string;
+
+    /**
+     * Creates a new BountyWorkData instance using the specified properties.
+     * @param [properties] Properties to set
+     * @returns BountyWorkData instance
+     */
+    public static create(properties?: IBountyWorkData): BountyWorkData;
+
+    /**
+     * Encodes the specified BountyWorkData message. Does not implicitly {@link BountyWorkData.verify|verify} messages.
+     * @param message BountyWorkData message or plain object to encode
+     * @param [writer] Writer to encode to
+     * @returns Writer
+     */
+    public static encode(message: IBountyWorkData, writer?: $protobuf.Writer): $protobuf.Writer;
+
+    /**
+     * Encodes the specified BountyWorkData message, length delimited. Does not implicitly {@link BountyWorkData.verify|verify} messages.
+     * @param message BountyWorkData message or plain object to encode
+     * @param [writer] Writer to encode to
+     * @returns Writer
+     */
+    public static encodeDelimited(message: IBountyWorkData, writer?: $protobuf.Writer): $protobuf.Writer;
+
+    /**
+     * Decodes a BountyWorkData message from the specified reader or buffer.
+     * @param reader Reader or buffer to decode from
+     * @param [length] Message length if known beforehand
+     * @returns BountyWorkData
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): BountyWorkData;
+
+    /**
+     * Decodes a BountyWorkData message from the specified reader or buffer, length delimited.
+     * @param reader Reader or buffer to decode from
+     * @returns BountyWorkData
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): BountyWorkData;
+
+    /**
+     * Verifies a BountyWorkData message.
+     * @param message Plain object to verify
+     * @returns `null` if valid, otherwise the reason why it is not
+     */
+    public static verify(message: { [k: string]: any }): (string|null);
+
+    /**
+     * Creates a BountyWorkData message from a plain object. Also converts values to their respective internal types.
+     * @param object Plain object
+     * @returns BountyWorkData
+     */
+    public static fromObject(object: { [k: string]: any }): BountyWorkData;
+
+    /**
+     * Creates a plain object from a BountyWorkData message. Also converts values to other types if specified.
+     * @param message BountyWorkData
+     * @param [options] Conversion options
+     * @returns Plain object
+     */
+    public static toObject(message: BountyWorkData, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+    /**
+     * Converts this BountyWorkData to JSON.
+     * @returns JSON object
+     */
+    public toJSON(): { [k: string]: any };
+}
+
 /** Properties of a ChannelMetadata. */
 export interface IChannelMetadata {
 

+ 464 - 0
metadata-protobuf/compiled/index.js

@@ -9,6 +9,470 @@ var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.ut
 // Exported root namespace
 var $root = $protobuf.roots["default"] || ($protobuf.roots["default"] = {});
 
+$root.BountyMetadata = (function() {
+
+    /**
+     * Properties of a BountyMetadata.
+     * @exports IBountyMetadata
+     * @interface IBountyMetadata
+     * @property {string|null} [title] BountyMetadata title
+     * @property {string|null} [description] BountyMetadata description
+     * @property {number|null} [discussionThread] BountyMetadata discussionThread
+     * @property {string|null} [bannerImageUri] BountyMetadata bannerImageUri
+     */
+
+    /**
+     * Constructs a new BountyMetadata.
+     * @exports BountyMetadata
+     * @classdesc Represents a BountyMetadata.
+     * @implements IBountyMetadata
+     * @constructor
+     * @param {IBountyMetadata=} [properties] Properties to set
+     */
+    function BountyMetadata(properties) {
+        if (properties)
+            for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+                if (properties[keys[i]] != null)
+                    this[keys[i]] = properties[keys[i]];
+    }
+
+    /**
+     * BountyMetadata title.
+     * @member {string} title
+     * @memberof BountyMetadata
+     * @instance
+     */
+    BountyMetadata.prototype.title = "";
+
+    /**
+     * BountyMetadata description.
+     * @member {string} description
+     * @memberof BountyMetadata
+     * @instance
+     */
+    BountyMetadata.prototype.description = "";
+
+    /**
+     * BountyMetadata discussionThread.
+     * @member {number} discussionThread
+     * @memberof BountyMetadata
+     * @instance
+     */
+    BountyMetadata.prototype.discussionThread = 0;
+
+    /**
+     * BountyMetadata bannerImageUri.
+     * @member {string} bannerImageUri
+     * @memberof BountyMetadata
+     * @instance
+     */
+    BountyMetadata.prototype.bannerImageUri = "";
+
+    /**
+     * Creates a new BountyMetadata instance using the specified properties.
+     * @function create
+     * @memberof BountyMetadata
+     * @static
+     * @param {IBountyMetadata=} [properties] Properties to set
+     * @returns {BountyMetadata} BountyMetadata instance
+     */
+    BountyMetadata.create = function create(properties) {
+        return new BountyMetadata(properties);
+    };
+
+    /**
+     * Encodes the specified BountyMetadata message. Does not implicitly {@link BountyMetadata.verify|verify} messages.
+     * @function encode
+     * @memberof BountyMetadata
+     * @static
+     * @param {IBountyMetadata} message BountyMetadata message or plain object to encode
+     * @param {$protobuf.Writer} [writer] Writer to encode to
+     * @returns {$protobuf.Writer} Writer
+     */
+    BountyMetadata.encode = function encode(message, writer) {
+        if (!writer)
+            writer = $Writer.create();
+        if (message.title != null && Object.hasOwnProperty.call(message, "title"))
+            writer.uint32(/* id 1, wireType 2 =*/10).string(message.title);
+        if (message.description != null && Object.hasOwnProperty.call(message, "description"))
+            writer.uint32(/* id 2, wireType 2 =*/18).string(message.description);
+        if (message.discussionThread != null && Object.hasOwnProperty.call(message, "discussionThread"))
+            writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.discussionThread);
+        if (message.bannerImageUri != null && Object.hasOwnProperty.call(message, "bannerImageUri"))
+            writer.uint32(/* id 4, wireType 2 =*/34).string(message.bannerImageUri);
+        return writer;
+    };
+
+    /**
+     * Encodes the specified BountyMetadata message, length delimited. Does not implicitly {@link BountyMetadata.verify|verify} messages.
+     * @function encodeDelimited
+     * @memberof BountyMetadata
+     * @static
+     * @param {IBountyMetadata} message BountyMetadata message or plain object to encode
+     * @param {$protobuf.Writer} [writer] Writer to encode to
+     * @returns {$protobuf.Writer} Writer
+     */
+    BountyMetadata.encodeDelimited = function encodeDelimited(message, writer) {
+        return this.encode(message, writer).ldelim();
+    };
+
+    /**
+     * Decodes a BountyMetadata message from the specified reader or buffer.
+     * @function decode
+     * @memberof BountyMetadata
+     * @static
+     * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+     * @param {number} [length] Message length if known beforehand
+     * @returns {BountyMetadata} BountyMetadata
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    BountyMetadata.decode = function decode(reader, length) {
+        if (!(reader instanceof $Reader))
+            reader = $Reader.create(reader);
+        var end = length === undefined ? reader.len : reader.pos + length, message = new $root.BountyMetadata();
+        while (reader.pos < end) {
+            var tag = reader.uint32();
+            switch (tag >>> 3) {
+            case 1:
+                message.title = reader.string();
+                break;
+            case 2:
+                message.description = reader.string();
+                break;
+            case 3:
+                message.discussionThread = reader.uint32();
+                break;
+            case 4:
+                message.bannerImageUri = reader.string();
+                break;
+            default:
+                reader.skipType(tag & 7);
+                break;
+            }
+        }
+        return message;
+    };
+
+    /**
+     * Decodes a BountyMetadata message from the specified reader or buffer, length delimited.
+     * @function decodeDelimited
+     * @memberof BountyMetadata
+     * @static
+     * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+     * @returns {BountyMetadata} BountyMetadata
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    BountyMetadata.decodeDelimited = function decodeDelimited(reader) {
+        if (!(reader instanceof $Reader))
+            reader = new $Reader(reader);
+        return this.decode(reader, reader.uint32());
+    };
+
+    /**
+     * Verifies a BountyMetadata message.
+     * @function verify
+     * @memberof BountyMetadata
+     * @static
+     * @param {Object.<string,*>} message Plain object to verify
+     * @returns {string|null} `null` if valid, otherwise the reason why it is not
+     */
+    BountyMetadata.verify = function verify(message) {
+        if (typeof message !== "object" || message === null)
+            return "object expected";
+        if (message.title != null && message.hasOwnProperty("title"))
+            if (!$util.isString(message.title))
+                return "title: string expected";
+        if (message.description != null && message.hasOwnProperty("description"))
+            if (!$util.isString(message.description))
+                return "description: string expected";
+        if (message.discussionThread != null && message.hasOwnProperty("discussionThread"))
+            if (!$util.isInteger(message.discussionThread))
+                return "discussionThread: integer expected";
+        if (message.bannerImageUri != null && message.hasOwnProperty("bannerImageUri"))
+            if (!$util.isString(message.bannerImageUri))
+                return "bannerImageUri: string expected";
+        return null;
+    };
+
+    /**
+     * Creates a BountyMetadata message from a plain object. Also converts values to their respective internal types.
+     * @function fromObject
+     * @memberof BountyMetadata
+     * @static
+     * @param {Object.<string,*>} object Plain object
+     * @returns {BountyMetadata} BountyMetadata
+     */
+    BountyMetadata.fromObject = function fromObject(object) {
+        if (object instanceof $root.BountyMetadata)
+            return object;
+        var message = new $root.BountyMetadata();
+        if (object.title != null)
+            message.title = String(object.title);
+        if (object.description != null)
+            message.description = String(object.description);
+        if (object.discussionThread != null)
+            message.discussionThread = object.discussionThread >>> 0;
+        if (object.bannerImageUri != null)
+            message.bannerImageUri = String(object.bannerImageUri);
+        return message;
+    };
+
+    /**
+     * Creates a plain object from a BountyMetadata message. Also converts values to other types if specified.
+     * @function toObject
+     * @memberof BountyMetadata
+     * @static
+     * @param {BountyMetadata} message BountyMetadata
+     * @param {$protobuf.IConversionOptions} [options] Conversion options
+     * @returns {Object.<string,*>} Plain object
+     */
+    BountyMetadata.toObject = function toObject(message, options) {
+        if (!options)
+            options = {};
+        var object = {};
+        if (options.defaults) {
+            object.title = "";
+            object.description = "";
+            object.discussionThread = 0;
+            object.bannerImageUri = "";
+        }
+        if (message.title != null && message.hasOwnProperty("title"))
+            object.title = message.title;
+        if (message.description != null && message.hasOwnProperty("description"))
+            object.description = message.description;
+        if (message.discussionThread != null && message.hasOwnProperty("discussionThread"))
+            object.discussionThread = message.discussionThread;
+        if (message.bannerImageUri != null && message.hasOwnProperty("bannerImageUri"))
+            object.bannerImageUri = message.bannerImageUri;
+        return object;
+    };
+
+    /**
+     * Converts this BountyMetadata to JSON.
+     * @function toJSON
+     * @memberof BountyMetadata
+     * @instance
+     * @returns {Object.<string,*>} JSON object
+     */
+    BountyMetadata.prototype.toJSON = function toJSON() {
+        return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+    };
+
+    return BountyMetadata;
+})();
+
+$root.BountyWorkData = (function() {
+
+    /**
+     * Properties of a BountyWorkData.
+     * @exports IBountyWorkData
+     * @interface IBountyWorkData
+     * @property {string|null} [title] BountyWorkData title
+     * @property {string|null} [description] BountyWorkData description
+     */
+
+    /**
+     * Constructs a new BountyWorkData.
+     * @exports BountyWorkData
+     * @classdesc Represents a BountyWorkData.
+     * @implements IBountyWorkData
+     * @constructor
+     * @param {IBountyWorkData=} [properties] Properties to set
+     */
+    function BountyWorkData(properties) {
+        if (properties)
+            for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+                if (properties[keys[i]] != null)
+                    this[keys[i]] = properties[keys[i]];
+    }
+
+    /**
+     * BountyWorkData title.
+     * @member {string} title
+     * @memberof BountyWorkData
+     * @instance
+     */
+    BountyWorkData.prototype.title = "";
+
+    /**
+     * BountyWorkData description.
+     * @member {string} description
+     * @memberof BountyWorkData
+     * @instance
+     */
+    BountyWorkData.prototype.description = "";
+
+    /**
+     * Creates a new BountyWorkData instance using the specified properties.
+     * @function create
+     * @memberof BountyWorkData
+     * @static
+     * @param {IBountyWorkData=} [properties] Properties to set
+     * @returns {BountyWorkData} BountyWorkData instance
+     */
+    BountyWorkData.create = function create(properties) {
+        return new BountyWorkData(properties);
+    };
+
+    /**
+     * Encodes the specified BountyWorkData message. Does not implicitly {@link BountyWorkData.verify|verify} messages.
+     * @function encode
+     * @memberof BountyWorkData
+     * @static
+     * @param {IBountyWorkData} message BountyWorkData message or plain object to encode
+     * @param {$protobuf.Writer} [writer] Writer to encode to
+     * @returns {$protobuf.Writer} Writer
+     */
+    BountyWorkData.encode = function encode(message, writer) {
+        if (!writer)
+            writer = $Writer.create();
+        if (message.title != null && Object.hasOwnProperty.call(message, "title"))
+            writer.uint32(/* id 1, wireType 2 =*/10).string(message.title);
+        if (message.description != null && Object.hasOwnProperty.call(message, "description"))
+            writer.uint32(/* id 2, wireType 2 =*/18).string(message.description);
+        return writer;
+    };
+
+    /**
+     * Encodes the specified BountyWorkData message, length delimited. Does not implicitly {@link BountyWorkData.verify|verify} messages.
+     * @function encodeDelimited
+     * @memberof BountyWorkData
+     * @static
+     * @param {IBountyWorkData} message BountyWorkData message or plain object to encode
+     * @param {$protobuf.Writer} [writer] Writer to encode to
+     * @returns {$protobuf.Writer} Writer
+     */
+    BountyWorkData.encodeDelimited = function encodeDelimited(message, writer) {
+        return this.encode(message, writer).ldelim();
+    };
+
+    /**
+     * Decodes a BountyWorkData message from the specified reader or buffer.
+     * @function decode
+     * @memberof BountyWorkData
+     * @static
+     * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+     * @param {number} [length] Message length if known beforehand
+     * @returns {BountyWorkData} BountyWorkData
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    BountyWorkData.decode = function decode(reader, length) {
+        if (!(reader instanceof $Reader))
+            reader = $Reader.create(reader);
+        var end = length === undefined ? reader.len : reader.pos + length, message = new $root.BountyWorkData();
+        while (reader.pos < end) {
+            var tag = reader.uint32();
+            switch (tag >>> 3) {
+            case 1:
+                message.title = reader.string();
+                break;
+            case 2:
+                message.description = reader.string();
+                break;
+            default:
+                reader.skipType(tag & 7);
+                break;
+            }
+        }
+        return message;
+    };
+
+    /**
+     * Decodes a BountyWorkData message from the specified reader or buffer, length delimited.
+     * @function decodeDelimited
+     * @memberof BountyWorkData
+     * @static
+     * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+     * @returns {BountyWorkData} BountyWorkData
+     * @throws {Error} If the payload is not a reader or valid buffer
+     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+     */
+    BountyWorkData.decodeDelimited = function decodeDelimited(reader) {
+        if (!(reader instanceof $Reader))
+            reader = new $Reader(reader);
+        return this.decode(reader, reader.uint32());
+    };
+
+    /**
+     * Verifies a BountyWorkData message.
+     * @function verify
+     * @memberof BountyWorkData
+     * @static
+     * @param {Object.<string,*>} message Plain object to verify
+     * @returns {string|null} `null` if valid, otherwise the reason why it is not
+     */
+    BountyWorkData.verify = function verify(message) {
+        if (typeof message !== "object" || message === null)
+            return "object expected";
+        if (message.title != null && message.hasOwnProperty("title"))
+            if (!$util.isString(message.title))
+                return "title: string expected";
+        if (message.description != null && message.hasOwnProperty("description"))
+            if (!$util.isString(message.description))
+                return "description: string expected";
+        return null;
+    };
+
+    /**
+     * Creates a BountyWorkData message from a plain object. Also converts values to their respective internal types.
+     * @function fromObject
+     * @memberof BountyWorkData
+     * @static
+     * @param {Object.<string,*>} object Plain object
+     * @returns {BountyWorkData} BountyWorkData
+     */
+    BountyWorkData.fromObject = function fromObject(object) {
+        if (object instanceof $root.BountyWorkData)
+            return object;
+        var message = new $root.BountyWorkData();
+        if (object.title != null)
+            message.title = String(object.title);
+        if (object.description != null)
+            message.description = String(object.description);
+        return message;
+    };
+
+    /**
+     * Creates a plain object from a BountyWorkData message. Also converts values to other types if specified.
+     * @function toObject
+     * @memberof BountyWorkData
+     * @static
+     * @param {BountyWorkData} message BountyWorkData
+     * @param {$protobuf.IConversionOptions} [options] Conversion options
+     * @returns {Object.<string,*>} Plain object
+     */
+    BountyWorkData.toObject = function toObject(message, options) {
+        if (!options)
+            options = {};
+        var object = {};
+        if (options.defaults) {
+            object.title = "";
+            object.description = "";
+        }
+        if (message.title != null && message.hasOwnProperty("title"))
+            object.title = message.title;
+        if (message.description != null && message.hasOwnProperty("description"))
+            object.description = message.description;
+        return object;
+    };
+
+    /**
+     * Converts this BountyWorkData to JSON.
+     * @function toJSON
+     * @memberof BountyWorkData
+     * @instance
+     * @returns {Object.<string,*>} JSON object
+     */
+    BountyWorkData.prototype.toJSON = function toJSON() {
+        return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+    };
+
+    return BountyWorkData;
+})();
+
 $root.ChannelMetadata = (function() {
 
     /**

+ 13 - 0
metadata-protobuf/proto/Bounty.proto

@@ -0,0 +1,13 @@
+syntax = "proto2";
+
+message BountyMetadata {
+  optional string title = 1; // Bounty title
+  optional string description = 2; // Bounty description
+  optional uint64 discussionThread = 3; // Id of the forum thread used to discuss the bounty
+  optional string banner_image_uri = 4; // Image uri of the bounty's banner
+}
+
+message BountyWorkData {
+  optional string title = 1; // Title of the work
+  optional string description = 2; // Description which contains the work itself as a URL, a BLOB, or just text
+}

+ 1 - 1
tests/integration-tests/src/Api.ts

@@ -536,7 +536,7 @@ export class Api {
   public async untilCouncilStage(
     targetStage: 'Announcing' | 'Voting' | 'Revealing' | 'Idle',
     announcementPeriodNr: number | null = null,
-    blocksReserve = 3,
+    blocksReserve = 4,
     intervalMs = BLOCKTIME
   ): Promise<void> {
     await Utils.until(

+ 4 - 4
types/augment-codec/augment-api-consts.ts

@@ -41,14 +41,14 @@ declare module '@polkadot/api/types/consts' {
        * Exports const - max work entry number for a closed assurance type contract bounty.
        **/
       closedContractSizeLimit: u32 & AugmentedConst<ApiType>;
-      /**
-       * Exports const - min cherry value limit for a bounty.
-       **/
-      minCherryLimit: BalanceOf & AugmentedConst<ApiType>;
       /**
        * Exports const - min funding amount limit for a bounty.
        **/
       minFundingLimit: BalanceOf & AugmentedConst<ApiType>;
+      /**
+       * Exports const - min cherry value limit for a bounty.
+       **/
+      minCherryLimit: BalanceOf & AugmentedConst<ApiType>;
       /**
        * Exports const - min work entrant stake for a bounty.
        **/

+ 12 - 12
types/augment-codec/augment-api-errors.ts

@@ -122,10 +122,6 @@ declare module '@polkadot/api/types/errors' {
        * assurance' bounty contract.
        **/
       CannotSubmitWorkToClosedContractBounty: AugmentedError<ApiType>;
-      /**
-       * Cherry less then minimum allowed.
-       **/
-      CherryLessThenMinimumAllowed: AugmentedError<ApiType>;
       /**
        * Cannot create a 'closed assurance contract' bounty with empty member list.
        **/
@@ -159,6 +155,10 @@ declare module '@polkadot/api/types/errors' {
        * Funding period is not expired for the bounty.
        **/
       FundingPeriodNotExpired: AugmentedError<ApiType>;
+      /**
+       * Cherry less then minimum allowed.
+       **/
+      CherryLessThenMinimumAllowed: AugmentedError<ApiType>;
       /**
        * Insufficient balance for a bounty cherry.
        **/
@@ -270,10 +270,6 @@ declare module '@polkadot/api/types/errors' {
        * A Channel or Video Category does not exist.
        **/
       CategoryDoesNotExist: AugmentedError<ApiType>;
-      /**
-       * Channel does not exist
-       **/
-      ChannelDoesNotExist: AugmentedError<ApiType>;
       /**
        * Curator authentication failed
        **/
@@ -306,6 +302,10 @@ declare module '@polkadot/api/types/errors' {
        * Feature Not Implemented
        **/
       FeatureNotImplemented: AugmentedError<ApiType>;
+      /**
+       * Channel does not exist
+       **/
+      ChannelDoesNotExist: AugmentedError<ApiType>;
       /**
        * Lead authentication failed
        **/
@@ -968,14 +968,14 @@ declare module '@polkadot/api/types/errors' {
       WorkerStorageValueTooLong: AugmentedError<ApiType>;
     };
     grandpa: {
-      /**
-       * Attempt to signal GRANDPA change with one already pending.
-       **/
-      ChangePending: AugmentedError<ApiType>;
       /**
        * A given equivocation report is valid but already previously reported.
        **/
       DuplicateOffenceReport: AugmentedError<ApiType>;
+      /**
+       * Attempt to signal GRANDPA change with one already pending.
+       **/
+      ChangePending: AugmentedError<ApiType>;
       /**
        * An equivocation proof provided as part of an equivocation report is invalid.
        **/

+ 6 - 6
types/augment-codec/augment-api-events.ts

@@ -202,6 +202,11 @@ declare module '@polkadot/api/types/events' {
       ConstutionAmended: AugmentedEvent<ApiType, [Bytes, Bytes]>;
     };
     content: {
+      CuratorAdded: AugmentedEvent<ApiType, [CuratorGroupId, CuratorId]>;
+      CuratorGroupCreated: AugmentedEvent<ApiType, [CuratorGroupId]>;
+      CuratorGroupStatusSet: AugmentedEvent<ApiType, [CuratorGroupId, bool]>;
+      CuratorRemoved: AugmentedEvent<ApiType, [CuratorGroupId, CuratorId]>;
+      FeaturedVideosSet: AugmentedEvent<ApiType, [ContentActor, Vec<VideoId>]>;
       ChannelAssetsRemoved: AugmentedEvent<ApiType, [ContentActor, ChannelId, Vec<ContentId>]>;
       ChannelCategoryCreated: AugmentedEvent<ApiType, [ChannelCategoryId, ChannelCategory, ChannelCategoryCreationParameters]>;
       ChannelCategoryDeleted: AugmentedEvent<ApiType, [ContentActor, ChannelCategoryId]>;
@@ -212,11 +217,6 @@ declare module '@polkadot/api/types/events' {
       ChannelOwnershipTransferRequested: AugmentedEvent<ApiType, [ContentActor, ChannelOwnershipTransferRequestId, ChannelOwnershipTransferRequest]>;
       ChannelOwnershipTransferRequestWithdrawn: AugmentedEvent<ApiType, [ContentActor, ChannelOwnershipTransferRequestId]>;
       ChannelUpdated: AugmentedEvent<ApiType, [ContentActor, ChannelId, Channel, ChannelUpdateParameters]>;
-      CuratorAdded: AugmentedEvent<ApiType, [CuratorGroupId, CuratorId]>;
-      CuratorGroupCreated: AugmentedEvent<ApiType, [CuratorGroupId]>;
-      CuratorGroupStatusSet: AugmentedEvent<ApiType, [CuratorGroupId, bool]>;
-      CuratorRemoved: AugmentedEvent<ApiType, [CuratorGroupId, CuratorId]>;
-      FeaturedVideosSet: AugmentedEvent<ApiType, [ContentActor, Vec<VideoId>]>;
       PersonCreated: AugmentedEvent<ApiType, [ContentActor, PersonId, Vec<NewAsset>, PersonCreationParameters]>;
       PersonDeleted: AugmentedEvent<ApiType, [ContentActor, PersonId]>;
       PersonUpdated: AugmentedEvent<ApiType, [ContentActor, PersonId, Vec<NewAsset>, PersonUpdateParameters]>;
@@ -1434,7 +1434,7 @@ declare module '@polkadot/api/types/events' {
       /**
        * Emits on post creation.
        **/
-      PostCreated: AugmentedEvent<ApiType, [PostId, MemberId, ThreadId, Bytes]>;
+      PostCreated: AugmentedEvent<ApiType, [PostId, MemberId, ThreadId, Bytes, bool]>;
       /**
        * Emits on post deleted
        **/

+ 4 - 4
types/augment-codec/augment-api-query.ts

@@ -168,17 +168,17 @@ declare module '@polkadot/api/types/storage' {
       constitution: AugmentedQuery<ApiType, () => Observable<ConstitutionInfo>, []>;
     };
     content: {
-      channelById: AugmentedQuery<ApiType, (arg: ChannelId | AnyNumber | Uint8Array) => Observable<Channel>, [ChannelId]>;
-      channelCategoryById: AugmentedQuery<ApiType, (arg: ChannelCategoryId | AnyNumber | Uint8Array) => Observable<ChannelCategory>, [ChannelCategoryId]>;
-      channelOwnershipTransferRequestById: AugmentedQuery<ApiType, (arg: ChannelOwnershipTransferRequestId | AnyNumber | Uint8Array) => Observable<ChannelOwnershipTransferRequest>, [ChannelOwnershipTransferRequestId]>;
       /**
        * Map, representing  CuratorGroupId -> CuratorGroup relation
        **/
       curatorGroupById: AugmentedQuery<ApiType, (arg: CuratorGroupId | AnyNumber | Uint8Array) => Observable<CuratorGroup>, [CuratorGroupId]>;
+      channelById: AugmentedQuery<ApiType, (arg: ChannelId | AnyNumber | Uint8Array) => Observable<Channel>, [ChannelId]>;
+      channelCategoryById: AugmentedQuery<ApiType, (arg: ChannelCategoryId | AnyNumber | Uint8Array) => Observable<ChannelCategory>, [ChannelCategoryId]>;
+      channelOwnershipTransferRequestById: AugmentedQuery<ApiType, (arg: ChannelOwnershipTransferRequestId | AnyNumber | Uint8Array) => Observable<ChannelOwnershipTransferRequest>, [ChannelOwnershipTransferRequestId]>;
+      nextCuratorGroupId: AugmentedQuery<ApiType, () => Observable<CuratorGroupId>, []>;
       nextChannelCategoryId: AugmentedQuery<ApiType, () => Observable<ChannelCategoryId>, []>;
       nextChannelId: AugmentedQuery<ApiType, () => Observable<ChannelId>, []>;
       nextChannelOwnershipTransferRequestId: AugmentedQuery<ApiType, () => Observable<ChannelOwnershipTransferRequestId>, []>;
-      nextCuratorGroupId: AugmentedQuery<ApiType, () => Observable<CuratorGroupId>, []>;
       nextPersonId: AugmentedQuery<ApiType, () => Observable<PersonId>, []>;
       nextPlaylistId: AugmentedQuery<ApiType, () => Observable<PlaylistId>, []>;
       nextSeriesId: AugmentedQuery<ApiType, () => Observable<SeriesId>, []>;

+ 52 - 52
types/augment-codec/augment-api-rpc.ts

@@ -70,58 +70,6 @@ declare module '@polkadot/rpc-core/types.jsonrpc' {
        **/
       subscribeJustifications: AugmentedRpc<() => Observable<BeefySignedCommitment>>;
     };
-    chain: {
-      /**
-       * Get header and body of a relay chain block
-       **/
-      getBlock: AugmentedRpc<(hash?: BlockHash | string | Uint8Array) => Observable<SignedBlock>>;
-      /**
-       * Get the block hash for a specific block
-       **/
-      getBlockHash: AugmentedRpc<(blockNumber?: BlockNumber | AnyNumber | Uint8Array) => Observable<BlockHash>>;
-      /**
-       * Get hash of the last finalized block in the canon chain
-       **/
-      getFinalizedHead: AugmentedRpc<() => Observable<BlockHash>>;
-      /**
-       * Retrieves the header for a specific block
-       **/
-      getHeader: AugmentedRpc<(hash?: BlockHash | string | Uint8Array) => Observable<Header>>;
-      /**
-       * Retrieves the newest header via subscription
-       **/
-      subscribeAllHeads: AugmentedRpc<() => Observable<Header>>;
-      /**
-       * Retrieves the best finalized header via subscription
-       **/
-      subscribeFinalizedHeads: AugmentedRpc<() => Observable<Header>>;
-      /**
-       * Retrieves the best header via subscription
-       **/
-      subscribeNewHeads: AugmentedRpc<() => Observable<Header>>;
-    };
-    childstate: {
-      /**
-       * Returns the keys with prefix from a child storage, leave empty to get all the keys
-       **/
-      getKeys: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, prefix: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Vec<StorageKey>>>;
-      /**
-       * Returns the keys with prefix from a child storage with pagination support
-       **/
-      getKeysPaged: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, prefix: StorageKey | string | Uint8Array | any, count: u32 | AnyNumber | Uint8Array, startKey?: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Vec<StorageKey>>>;
-      /**
-       * Returns a child storage entry at a specific block state
-       **/
-      getStorage: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Option<StorageData>>>;
-      /**
-       * Returns the hash of a child storage entry at a block state
-       **/
-      getStorageHash: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Option<Hash>>>;
-      /**
-       * Returns the size of a child storage entry at a block state
-       **/
-      getStorageSize: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Option<u64>>>;
-    };
     contracts: {
       /**
        * Executes a call to a contract
@@ -330,6 +278,58 @@ declare module '@polkadot/rpc-core/types.jsonrpc' {
        **/
       subscribeJustifications: AugmentedRpc<() => Observable<JustificationNotification>>;
     };
+    chain: {
+      /**
+       * Get header and body of a relay chain block
+       **/
+      getBlock: AugmentedRpc<(hash?: BlockHash | string | Uint8Array) => Observable<SignedBlock>>;
+      /**
+       * Get the block hash for a specific block
+       **/
+      getBlockHash: AugmentedRpc<(blockNumber?: BlockNumber | AnyNumber | Uint8Array) => Observable<BlockHash>>;
+      /**
+       * Get hash of the last finalized block in the canon chain
+       **/
+      getFinalizedHead: AugmentedRpc<() => Observable<BlockHash>>;
+      /**
+       * Retrieves the header for a specific block
+       **/
+      getHeader: AugmentedRpc<(hash?: BlockHash | string | Uint8Array) => Observable<Header>>;
+      /**
+       * Retrieves the newest header via subscription
+       **/
+      subscribeAllHeads: AugmentedRpc<() => Observable<Header>>;
+      /**
+       * Retrieves the best finalized header via subscription
+       **/
+      subscribeFinalizedHeads: AugmentedRpc<() => Observable<Header>>;
+      /**
+       * Retrieves the best header via subscription
+       **/
+      subscribeNewHeads: AugmentedRpc<() => Observable<Header>>;
+    };
+    childstate: {
+      /**
+       * Returns the keys with prefix from a child storage, leave empty to get all the keys
+       **/
+      getKeys: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, prefix: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Vec<StorageKey>>>;
+      /**
+       * Returns the keys with prefix from a child storage with pagination support
+       **/
+      getKeysPaged: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, prefix: StorageKey | string | Uint8Array | any, count: u32 | AnyNumber | Uint8Array, startKey?: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Vec<StorageKey>>>;
+      /**
+       * Returns a child storage entry at a specific block state
+       **/
+      getStorage: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Option<StorageData>>>;
+      /**
+       * Returns the hash of a child storage entry at a block state
+       **/
+      getStorageHash: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Option<Hash>>>;
+      /**
+       * Returns the size of a child storage entry at a block state
+       **/
+      getStorageSize: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Option<u64>>>;
+    };
     mmr: {
       /**
        * Generate MMR proof for given leaf index.

+ 49 - 49
types/augment-codec/augment-api-tx.ts

@@ -353,12 +353,12 @@ declare module '@polkadot/api/types/submittable' {
       addCuratorToGroup: AugmentedSubmittable<(curatorGroupId: CuratorGroupId | AnyNumber | Uint8Array, curatorId: CuratorId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [CuratorGroupId, CuratorId]>;
       addPersonToVideo: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, videoId: VideoId | AnyNumber | Uint8Array, person: PersonId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [ContentActor, VideoId, PersonId]>;
       cancelChannelTransferRequest: AugmentedSubmittable<(requestId: ChannelOwnershipTransferRequestId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [ChannelOwnershipTransferRequestId]>;
-      createChannel: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, params: ChannelCreationParameters | { assets?: any; meta?: any; reward_account?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [ContentActor, ChannelCreationParameters]>;
-      createChannelCategory: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, params: ChannelCategoryCreationParameters | { meta?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [ContentActor, ChannelCategoryCreationParameters]>;
       /**
        * Add new curator group to runtime storage
        **/
       createCuratorGroup: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
+      createChannel: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, params: ChannelCreationParameters | { assets?: any; meta?: any; reward_account?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [ContentActor, ChannelCreationParameters]>;
+      createChannelCategory: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, params: ChannelCategoryCreationParameters | { meta?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [ContentActor, ChannelCategoryCreationParameters]>;
       createPerson: AugmentedSubmittable<(actor: PersonActor | { Member: any } | { Curator: any } | string | Uint8Array, params: PersonCreationParameters | { assets?: any; meta?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [PersonActor, PersonCreationParameters]>;
       createPlaylist: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, channelId: ChannelId | AnyNumber | Uint8Array, params: PlaylistCreationParameters | { meta?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [ContentActor, ChannelId, PlaylistCreationParameters]>;
       createSeries: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, channelId: ChannelId | AnyNumber | Uint8Array, params: SeriesParameters | { assets?: any; seasons?: any; meta?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [ContentActor, ChannelId, SeriesParameters]>;
@@ -370,14 +370,14 @@ declare module '@polkadot/api/types/submittable' {
       deleteSeries: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, series: SeriesId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [ContentActor, SeriesId]>;
       deleteVideo: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, videoId: VideoId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [ContentActor, VideoId]>;
       deleteVideoCategory: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, categoryId: VideoCategoryId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [ContentActor, VideoCategoryId]>;
-      /**
-       * Remove assets of a channel from storage
-       **/
-      removeChannelAssets: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, channelId: ChannelId | AnyNumber | Uint8Array, assets: Vec<ContentId> | (ContentId | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [ContentActor, ChannelId, Vec<ContentId>]>;
       /**
        * Remove curator from a given curator group
        **/
       removeCuratorFromGroup: AugmentedSubmittable<(curatorGroupId: CuratorGroupId | AnyNumber | Uint8Array, curatorId: CuratorId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [CuratorGroupId, CuratorId]>;
+      /**
+       * Remove assets of a channel from storage
+       **/
+      removeChannelAssets: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, channelId: ChannelId | AnyNumber | Uint8Array, assets: Vec<ContentId> | (ContentId | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [ContentActor, ChannelId, Vec<ContentId>]>;
       removePersonFromVideo: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, videoId: VideoId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [ContentActor, VideoId]>;
       requestChannelTransfer: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, request: ChannelOwnershipTransferRequest | { channel_id?: any; new_owner?: any; payment?: any; new_reward_account?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [ContentActor, ChannelOwnershipTransferRequest]>;
       /**
@@ -920,14 +920,14 @@ declare module '@polkadot/api/types/submittable' {
        **/
       editPostText: AugmentedSubmittable<(forumUserId: ForumUserId | AnyNumber | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, postId: PostId | AnyNumber | Uint8Array, newText: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [ForumUserId, CategoryId, ThreadId, PostId, Bytes]>;
       /**
-       * Edit thread title
+       * Edit thread metadata
        * 
        * <weight>
        * 
        * ## Weight
        * `O (W + V)` where:
        * - `W` is the category depth
-       * - `V` is the length of the thread title.
+       * - `V` is the length of the thread metadata.
        * - DB:
        * - O(W)
        * # </weight>
@@ -2242,31 +2242,31 @@ declare module '@polkadot/api/types/submittable' {
        **/
       addPost: AugmentedSubmittable<(postAuthorId: MemberId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, text: Bytes | string | Uint8Array, editable: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [MemberId, ThreadId, Bytes, bool]>;
       /**
-       * Changes thread permission mode.
+       * Remove post from storage, with the last parameter indicating whether to also hide it
+       * in the UI.
        * 
        * <weight>
        * 
        * ## Weight
-       * `O (W)` if ThreadMode is close or O(1) otherwise where:
-       * - `W` is the number of whitelisted members in `mode`
+       * `O (1)`
        * - DB:
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      changeThreadMode: AugmentedSubmittable<(memberId: MemberId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, mode: ThreadMode | { Open: any } | { Closed: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MemberId, ThreadId, ThreadMode]>;
+      deletePost: AugmentedSubmittable<(deleterId: MemberId | AnyNumber | Uint8Array, postId: PostId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, hide: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [MemberId, PostId, ThreadId, bool]>;
       /**
-       * Remove post from storage, with the last parameter indicating whether to also hide it
-       * in the UI.
+       * Changes thread permission mode.
        * 
        * <weight>
        * 
        * ## Weight
-       * `O (1)`
+       * `O (W)` if ThreadMode is close or O(1) otherwise where:
+       * - `W` is the number of whitelisted members in `mode`
        * - DB:
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      deletePost: AugmentedSubmittable<(deleterId: MemberId | AnyNumber | Uint8Array, postId: PostId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, hide: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [MemberId, PostId, ThreadId, bool]>;
+      changeThreadMode: AugmentedSubmittable<(memberId: MemberId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, mode: ThreadMode | { Open: any } | { Closed: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MemberId, ThreadId, ThreadMode]>;
       /**
        * Updates a post with author origin check. Update attempts number is limited.
        * 
@@ -2460,26 +2460,6 @@ declare module '@polkadot/api/types/submittable' {
        * # </weight>
        **/
       cancelDeferredSlash: AugmentedSubmittable<(era: EraIndex | AnyNumber | Uint8Array, slashIndices: Vec<u32> | (u32 | AnyNumber | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [EraIndex, Vec<u32>]>;
-      /**
-       * Declare no desire to either validate or nominate.
-       * 
-       * Effects will be felt at the beginning of the next era.
-       * 
-       * The dispatch origin for this call must be _Signed_ by the controller, not the stash.
-       * And, it can be only called when [`EraElectionStatus`] is `Closed`.
-       * 
-       * # <weight>
-       * - Independent of the arguments. Insignificant complexity.
-       * - Contains one read.
-       * - Writes are limited to the `origin` account key.
-       * --------
-       * Weight: O(1)
-       * DB Weight:
-       * - Read: EraElectionStatus, Ledger
-       * - Write: Validators, Nominators
-       * # </weight>
-       **/
-      chill: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
       /**
        * Force there to be a new era at the end of the next session. After this, it will be
        * reset to normal (non-forced) behaviour.
@@ -2529,6 +2509,26 @@ declare module '@polkadot/api/types/submittable' {
        * # </weight>
        **/
       forceUnstake: AugmentedSubmittable<(stash: AccountId | string | Uint8Array, numSlashingSpans: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [AccountId, u32]>;
+      /**
+       * Declare no desire to either validate or nominate.
+       * 
+       * Effects will be felt at the beginning of the next era.
+       * 
+       * The dispatch origin for this call must be _Signed_ by the controller, not the stash.
+       * And, it can be only called when [`EraElectionStatus`] is `Closed`.
+       * 
+       * # <weight>
+       * - Independent of the arguments. Insignificant complexity.
+       * - Contains one read.
+       * - Writes are limited to the `origin` account key.
+       * --------
+       * Weight: O(1)
+       * DB Weight:
+       * - Read: EraElectionStatus, Ledger
+       * - Write: Validators, Nominators
+       * # </weight>
+       **/
+      chill: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
       /**
        * Increments the ideal number of validators.
        * 
@@ -3184,19 +3184,6 @@ declare module '@polkadot/api/types/submittable' {
        * # </weight>
        **/
       remark: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
-      /**
-       * Set the new changes trie configuration.
-       * 
-       * # <weight>
-       * - `O(1)`
-       * - 1 storage write or delete (codec `O(1)`).
-       * - 1 call to `deposit_log`: Uses `append` API, so O(1)
-       * - Base Weight: 7.218 µs
-       * - DB Weight:
-       * - Writes: Changes Trie, System Digest
-       * # </weight>
-       **/
-      setChangesTrieConfig: AugmentedSubmittable<(changesTrieConfig: Option<ChangesTrieConfiguration> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Option<ChangesTrieConfiguration>]>;
       /**
        * Set the new runtime code.
        * 
@@ -3232,6 +3219,19 @@ declare module '@polkadot/api/types/submittable' {
        * # </weight>
        **/
       setHeapPages: AugmentedSubmittable<(pages: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u64]>;
+      /**
+       * Set the new changes trie configuration.
+       * 
+       * # <weight>
+       * - `O(1)`
+       * - 1 storage write or delete (codec `O(1)`).
+       * - 1 call to `deposit_log`: Uses `append` API, so O(1)
+       * - Base Weight: 7.218 µs
+       * - DB Weight:
+       * - Writes: Changes Trie, System Digest
+       * # </weight>
+       **/
+      setChangesTrieConfig: AugmentedSubmittable<(changesTrieConfig: Option<ChangesTrieConfiguration> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Option<ChangesTrieConfiguration>]>;
       /**
        * Set some items of storage.
        * 

+ 100 - 100
types/augment-codec/augment-types.ts

@@ -84,9 +84,6 @@ declare module '@polkadot/types/types/registry' {
     'Compact<BountyIndex>': Compact<BountyIndex>;
     'Compact<BridgedBlockNumber>': Compact<BridgedBlockNumber>;
     'Compact<CategoryId>': Compact<CategoryId>;
-    'Compact<ChannelCategoryId>': Compact<ChannelCategoryId>;
-    'Compact<ChannelId>': Compact<ChannelId>;
-    'Compact<ChannelOwnershipTransferRequestId>': Compact<ChannelOwnershipTransferRequestId>;
     'Compact<ClassId>': Compact<ClassId>;
     'Compact<ContractDiscriminant>': Compact<ContractDiscriminant>;
     'Compact<CoreIndex>': Compact<CoreIndex>;
@@ -107,6 +104,9 @@ declare module '@polkadot/types/types/registry' {
     'Compact<FundIndex>': Compact<FundIndex>;
     'Compact<Gas>': Compact<Gas>;
     'Compact<GroupIndex>': Compact<GroupIndex>;
+    'Compact<ChannelCategoryId>': Compact<ChannelCategoryId>;
+    'Compact<ChannelId>': Compact<ChannelId>;
+    'Compact<ChannelOwnershipTransferRequestId>': Compact<ChannelOwnershipTransferRequestId>;
     'Compact<Index>': Compact<Index>;
     'Compact<InstanceId>': Compact<InstanceId>;
     'Compact<KeyTypeId>': Compact<KeyTypeId>;
@@ -150,11 +150,11 @@ declare module '@polkadot/types/types/registry' {
     'Compact<RelayChainBlockNumber>': Compact<RelayChainBlockNumber>;
     'Compact<ReplyId>': Compact<ReplyId>;
     'Compact<RewardPoint>': Compact<RewardPoint>;
-    'Compact<SchedulePriority>': Compact<SchedulePriority>;
     'Compact<SeriesId>': Compact<SeriesId>;
     'Compact<SessionIndex>': Compact<SessionIndex>;
     'Compact<SetId>': Compact<SetId>;
     'Compact<SetIndex>': Compact<SetIndex>;
+    'Compact<SchedulePriority>': Compact<SchedulePriority>;
     'Compact<Si0LookupTypeId>': Compact<Si0LookupTypeId>;
     'Compact<Slot>': Compact<Slot>;
     'Compact<SlotNumber>': Compact<SlotNumber>;
@@ -336,27 +336,11 @@ declare module '@polkadot/types/types/registry' {
     'Option<CastVoteOf>': Option<CastVoteOf>;
     'Option<Category>': Option<Category>;
     'Option<CategoryId>': Option<CategoryId>;
-    'Option<ChainId>': Option<ChainId>;
-    'Option<ChainProperties>': Option<ChainProperties>;
-    'Option<ChainType>': Option<ChainType>;
-    'Option<ChangesTrieConfiguration>': Option<ChangesTrieConfiguration>;
-    'Option<ChangesTrieSignal>': Option<ChangesTrieSignal>;
-    'Option<Channel>': Option<Channel>;
-    'Option<ChannelCategory>': Option<ChannelCategory>;
-    'Option<ChannelCategoryCreationParameters>': Option<ChannelCategoryCreationParameters>;
-    'Option<ChannelCategoryId>': Option<ChannelCategoryId>;
-    'Option<ChannelCategoryUpdateParameters>': Option<ChannelCategoryUpdateParameters>;
-    'Option<ChannelCreationParameters>': Option<ChannelCreationParameters>;
-    'Option<ChannelId>': Option<ChannelId>;
-    'Option<ChannelOwner>': Option<ChannelOwner>;
-    'Option<ChannelOwnershipTransferRequest>': Option<ChannelOwnershipTransferRequest>;
-    'Option<ChannelOwnershipTransferRequestId>': Option<ChannelOwnershipTransferRequestId>;
-    'Option<ChannelUpdateParameters>': Option<ChannelUpdateParameters>;
     'Option<ClassDetails>': Option<ClassDetails>;
     'Option<ClassId>': Option<ClassId>;
     'Option<ClassMetadata>': Option<ClassMetadata>;
-    'Option<CodecHash>': Option<CodecHash>;
     'Option<CodeHash>': Option<CodeHash>;
+    'Option<CodecHash>': Option<CodecHash>;
     'Option<CollatorId>': Option<CollatorId>;
     'Option<CollatorSignature>': Option<CollatorSignature>;
     'Option<CollectiveOrigin>': Option<CollectiveOrigin>;
@@ -636,6 +620,22 @@ declare module '@polkadot/types/types/registry' {
     'Option<HrmpChannel>': Option<HrmpChannel>;
     'Option<HrmpChannelId>': Option<HrmpChannelId>;
     'Option<HrmpOpenChannelRequest>': Option<HrmpOpenChannelRequest>;
+    'Option<ChainId>': Option<ChainId>;
+    'Option<ChainProperties>': Option<ChainProperties>;
+    'Option<ChainType>': Option<ChainType>;
+    'Option<ChangesTrieConfiguration>': Option<ChangesTrieConfiguration>;
+    'Option<ChangesTrieSignal>': Option<ChangesTrieSignal>;
+    'Option<Channel>': Option<Channel>;
+    'Option<ChannelCategory>': Option<ChannelCategory>;
+    'Option<ChannelCategoryCreationParameters>': Option<ChannelCategoryCreationParameters>;
+    'Option<ChannelCategoryId>': Option<ChannelCategoryId>;
+    'Option<ChannelCategoryUpdateParameters>': Option<ChannelCategoryUpdateParameters>;
+    'Option<ChannelCreationParameters>': Option<ChannelCreationParameters>;
+    'Option<ChannelId>': Option<ChannelId>;
+    'Option<ChannelOwner>': Option<ChannelOwner>;
+    'Option<ChannelOwnershipTransferRequest>': Option<ChannelOwnershipTransferRequest>;
+    'Option<ChannelOwnershipTransferRequestId>': Option<ChannelOwnershipTransferRequestId>;
+    'Option<ChannelUpdateParameters>': Option<ChannelUpdateParameters>;
     'Option<i128>': Option<i128>;
     'Option<I128>': Option<I128>;
     'Option<i16>': Option<i16>;
@@ -782,10 +782,10 @@ declare module '@polkadot/types/types/registry' {
     'Option<NotConnectedPeer>': Option<NotConnectedPeer>;
     'Option<Null>': Option<Null>;
     'Option<ObjectOwner>': Option<ObjectOwner>;
-    'Option<OffchainAccuracy>': Option<OffchainAccuracy>;
-    'Option<OffchainAccuracyCompact>': Option<OffchainAccuracyCompact>;
     'Option<OffenceDetails>': Option<OffenceDetails>;
     'Option<Offender>': Option<Offender>;
+    'Option<OffchainAccuracy>': Option<OffchainAccuracy>;
+    'Option<OffchainAccuracyCompact>': Option<OffchainAccuracyCompact>;
     'Option<OpaqueCall>': Option<OpaqueCall>;
     'Option<OpaqueMultiaddr>': Option<OpaqueMultiaddr>;
     'Option<OpaqueNetworkState>': Option<OpaqueNetworkState>;
@@ -829,11 +829,11 @@ declare module '@polkadot/types/types/registry' {
     'Option<PalletStorageMetadataLatest>': Option<PalletStorageMetadataLatest>;
     'Option<PalletStorageMetadataV14>': Option<PalletStorageMetadataV14>;
     'Option<PalletVersion>': Option<PalletVersion>;
+    'Option<ParaGenesisArgs>': Option<ParaGenesisArgs>;
     'Option<ParachainDispatchOrigin>': Option<ParachainDispatchOrigin>;
     'Option<ParachainInherentData>': Option<ParachainInherentData>;
     'Option<ParachainProposal>': Option<ParachainProposal>;
     'Option<ParachainsInherentData>': Option<ParachainsInherentData>;
-    'Option<ParaGenesisArgs>': Option<ParaGenesisArgs>;
     'Option<ParaId>': Option<ParaId>;
     'Option<ParaInfo>': Option<ParaInfo>;
     'Option<ParaLifecycle>': Option<ParaLifecycle>;
@@ -955,10 +955,10 @@ declare module '@polkadot/types/types/registry' {
     'Option<Registration>': Option<Registration>;
     'Option<RegistrationJudgement>': Option<RegistrationJudgement>;
     'Option<RelayBlockNumber>': Option<RelayBlockNumber>;
-    'Option<RelayChainBlockNumber>': Option<RelayChainBlockNumber>;
-    'Option<RelayChainHash>': Option<RelayChainHash>;
     'Option<RelayerId>': Option<RelayerId>;
     'Option<RelayHash>': Option<RelayHash>;
+    'Option<RelayChainBlockNumber>': Option<RelayChainBlockNumber>;
+    'Option<RelayChainHash>': Option<RelayChainHash>;
     'Option<Releases>': Option<Releases>;
     'Option<Remark>': Option<Remark>;
     'Option<Renouncing>': Option<Renouncing>;
@@ -984,15 +984,6 @@ declare module '@polkadot/types/types/registry' {
     'Option<RuntimeVersion>': Option<RuntimeVersion>;
     'Option<RuntimeVersionApi>': Option<RuntimeVersionApi>;
     'Option<RuntimeVersionPartial>': Option<RuntimeVersionPartial>;
-    'Option<Schedule>': Option<Schedule>;
-    'Option<Scheduled>': Option<Scheduled>;
-    'Option<ScheduledTo254>': Option<ScheduledTo254>;
-    'Option<SchedulePeriod>': Option<SchedulePeriod>;
-    'Option<SchedulePriority>': Option<SchedulePriority>;
-    'Option<ScheduleTo212>': Option<ScheduleTo212>;
-    'Option<ScheduleTo258>': Option<ScheduleTo258>;
-    'Option<ScheduleTo264>': Option<ScheduleTo264>;
-    'Option<Scheduling>': Option<Scheduling>;
     'Option<Seal>': Option<Seal>;
     'Option<SealV0>': Option<SealV0>;
     'Option<Season>': Option<Season>;
@@ -1024,6 +1015,15 @@ declare module '@polkadot/types/types/registry' {
     'Option<SetId>': Option<SetId>;
     'Option<SetIndex>': Option<SetIndex>;
     'Option<SetLeadParams>': Option<SetLeadParams>;
+    'Option<Schedule>': Option<Schedule>;
+    'Option<Scheduled>': Option<Scheduled>;
+    'Option<ScheduledTo254>': Option<ScheduledTo254>;
+    'Option<SchedulePeriod>': Option<SchedulePeriod>;
+    'Option<SchedulePriority>': Option<SchedulePriority>;
+    'Option<ScheduleTo212>': Option<ScheduleTo212>;
+    'Option<ScheduleTo258>': Option<ScheduleTo258>;
+    'Option<ScheduleTo264>': Option<ScheduleTo264>;
+    'Option<Scheduling>': Option<Scheduling>;
     'Option<Si0Field>': Option<Si0Field>;
     'Option<Si0LookupTypeId>': Option<Si0LookupTypeId>;
     'Option<Si0Path>': Option<Si0Path>;
@@ -1090,7 +1090,6 @@ declare module '@polkadot/types/types/registry' {
     'Option<StakingLedgerTo240>': Option<StakingLedgerTo240>;
     'Option<Statement>': Option<Statement>;
     'Option<StatementKind>': Option<StatementKind>;
-    'Option<StorageChangeSet>': Option<StorageChangeSet>;
     'Option<StorageData>': Option<StorageData>;
     'Option<StorageEntryMetadataLatest>': Option<StorageEntryMetadataLatest>;
     'Option<StorageEntryMetadataV10>': Option<StorageEntryMetadataV10>;
@@ -1120,6 +1119,7 @@ declare module '@polkadot/types/types/registry' {
     'Option<StorageHasherV13>': Option<StorageHasherV13>;
     'Option<StorageHasherV14>': Option<StorageHasherV14>;
     'Option<StorageHasherV9>': Option<StorageHasherV9>;
+    'Option<StorageChangeSet>': Option<StorageChangeSet>;
     'Option<StorageKey>': Option<StorageKey>;
     'Option<StorageKind>': Option<StorageKind>;
     'Option<StorageMetadataLatest>': Option<StorageMetadataLatest>;
@@ -1428,27 +1428,11 @@ declare module '@polkadot/types/types/registry' {
     'Vec<CastVoteOf>': Vec<CastVoteOf>;
     'Vec<Category>': Vec<Category>;
     'Vec<CategoryId>': Vec<CategoryId>;
-    'Vec<ChainId>': Vec<ChainId>;
-    'Vec<ChainProperties>': Vec<ChainProperties>;
-    'Vec<ChainType>': Vec<ChainType>;
-    'Vec<ChangesTrieConfiguration>': Vec<ChangesTrieConfiguration>;
-    'Vec<ChangesTrieSignal>': Vec<ChangesTrieSignal>;
-    'Vec<Channel>': Vec<Channel>;
-    'Vec<ChannelCategory>': Vec<ChannelCategory>;
-    'Vec<ChannelCategoryCreationParameters>': Vec<ChannelCategoryCreationParameters>;
-    'Vec<ChannelCategoryId>': Vec<ChannelCategoryId>;
-    'Vec<ChannelCategoryUpdateParameters>': Vec<ChannelCategoryUpdateParameters>;
-    'Vec<ChannelCreationParameters>': Vec<ChannelCreationParameters>;
-    'Vec<ChannelId>': Vec<ChannelId>;
-    'Vec<ChannelOwner>': Vec<ChannelOwner>;
-    'Vec<ChannelOwnershipTransferRequest>': Vec<ChannelOwnershipTransferRequest>;
-    'Vec<ChannelOwnershipTransferRequestId>': Vec<ChannelOwnershipTransferRequestId>;
-    'Vec<ChannelUpdateParameters>': Vec<ChannelUpdateParameters>;
     'Vec<ClassDetails>': Vec<ClassDetails>;
     'Vec<ClassId>': Vec<ClassId>;
     'Vec<ClassMetadata>': Vec<ClassMetadata>;
-    'Vec<CodecHash>': Vec<CodecHash>;
     'Vec<CodeHash>': Vec<CodeHash>;
+    'Vec<CodecHash>': Vec<CodecHash>;
     'Vec<CollatorId>': Vec<CollatorId>;
     'Vec<CollatorSignature>': Vec<CollatorSignature>;
     'Vec<CollectiveOrigin>': Vec<CollectiveOrigin>;
@@ -1728,6 +1712,22 @@ declare module '@polkadot/types/types/registry' {
     'Vec<HrmpChannel>': Vec<HrmpChannel>;
     'Vec<HrmpChannelId>': Vec<HrmpChannelId>;
     'Vec<HrmpOpenChannelRequest>': Vec<HrmpOpenChannelRequest>;
+    'Vec<ChainId>': Vec<ChainId>;
+    'Vec<ChainProperties>': Vec<ChainProperties>;
+    'Vec<ChainType>': Vec<ChainType>;
+    'Vec<ChangesTrieConfiguration>': Vec<ChangesTrieConfiguration>;
+    'Vec<ChangesTrieSignal>': Vec<ChangesTrieSignal>;
+    'Vec<Channel>': Vec<Channel>;
+    'Vec<ChannelCategory>': Vec<ChannelCategory>;
+    'Vec<ChannelCategoryCreationParameters>': Vec<ChannelCategoryCreationParameters>;
+    'Vec<ChannelCategoryId>': Vec<ChannelCategoryId>;
+    'Vec<ChannelCategoryUpdateParameters>': Vec<ChannelCategoryUpdateParameters>;
+    'Vec<ChannelCreationParameters>': Vec<ChannelCreationParameters>;
+    'Vec<ChannelId>': Vec<ChannelId>;
+    'Vec<ChannelOwner>': Vec<ChannelOwner>;
+    'Vec<ChannelOwnershipTransferRequest>': Vec<ChannelOwnershipTransferRequest>;
+    'Vec<ChannelOwnershipTransferRequestId>': Vec<ChannelOwnershipTransferRequestId>;
+    'Vec<ChannelUpdateParameters>': Vec<ChannelUpdateParameters>;
     'Vec<i128>': Vec<i128>;
     'Vec<I128>': Vec<I128>;
     'Vec<i16>': Vec<i16>;
@@ -1874,10 +1874,10 @@ declare module '@polkadot/types/types/registry' {
     'Vec<NotConnectedPeer>': Vec<NotConnectedPeer>;
     'Vec<Null>': Vec<Null>;
     'Vec<ObjectOwner>': Vec<ObjectOwner>;
-    'Vec<OffchainAccuracy>': Vec<OffchainAccuracy>;
-    'Vec<OffchainAccuracyCompact>': Vec<OffchainAccuracyCompact>;
     'Vec<OffenceDetails>': Vec<OffenceDetails>;
     'Vec<Offender>': Vec<Offender>;
+    'Vec<OffchainAccuracy>': Vec<OffchainAccuracy>;
+    'Vec<OffchainAccuracyCompact>': Vec<OffchainAccuracyCompact>;
     'Vec<OpaqueCall>': Vec<OpaqueCall>;
     'Vec<OpaqueMultiaddr>': Vec<OpaqueMultiaddr>;
     'Vec<OpaqueNetworkState>': Vec<OpaqueNetworkState>;
@@ -1921,11 +1921,11 @@ declare module '@polkadot/types/types/registry' {
     'Vec<PalletStorageMetadataLatest>': Vec<PalletStorageMetadataLatest>;
     'Vec<PalletStorageMetadataV14>': Vec<PalletStorageMetadataV14>;
     'Vec<PalletVersion>': Vec<PalletVersion>;
+    'Vec<ParaGenesisArgs>': Vec<ParaGenesisArgs>;
     'Vec<ParachainDispatchOrigin>': Vec<ParachainDispatchOrigin>;
     'Vec<ParachainInherentData>': Vec<ParachainInherentData>;
     'Vec<ParachainProposal>': Vec<ParachainProposal>;
     'Vec<ParachainsInherentData>': Vec<ParachainsInherentData>;
-    'Vec<ParaGenesisArgs>': Vec<ParaGenesisArgs>;
     'Vec<ParaId>': Vec<ParaId>;
     'Vec<ParaInfo>': Vec<ParaInfo>;
     'Vec<ParaLifecycle>': Vec<ParaLifecycle>;
@@ -2047,10 +2047,10 @@ declare module '@polkadot/types/types/registry' {
     'Vec<Registration>': Vec<Registration>;
     'Vec<RegistrationJudgement>': Vec<RegistrationJudgement>;
     'Vec<RelayBlockNumber>': Vec<RelayBlockNumber>;
-    'Vec<RelayChainBlockNumber>': Vec<RelayChainBlockNumber>;
-    'Vec<RelayChainHash>': Vec<RelayChainHash>;
     'Vec<RelayerId>': Vec<RelayerId>;
     'Vec<RelayHash>': Vec<RelayHash>;
+    'Vec<RelayChainBlockNumber>': Vec<RelayChainBlockNumber>;
+    'Vec<RelayChainHash>': Vec<RelayChainHash>;
     'Vec<Releases>': Vec<Releases>;
     'Vec<Remark>': Vec<Remark>;
     'Vec<Renouncing>': Vec<Renouncing>;
@@ -2076,15 +2076,6 @@ declare module '@polkadot/types/types/registry' {
     'Vec<RuntimeVersion>': Vec<RuntimeVersion>;
     'Vec<RuntimeVersionApi>': Vec<RuntimeVersionApi>;
     'Vec<RuntimeVersionPartial>': Vec<RuntimeVersionPartial>;
-    'Vec<Schedule>': Vec<Schedule>;
-    'Vec<Scheduled>': Vec<Scheduled>;
-    'Vec<ScheduledTo254>': Vec<ScheduledTo254>;
-    'Vec<SchedulePeriod>': Vec<SchedulePeriod>;
-    'Vec<SchedulePriority>': Vec<SchedulePriority>;
-    'Vec<ScheduleTo212>': Vec<ScheduleTo212>;
-    'Vec<ScheduleTo258>': Vec<ScheduleTo258>;
-    'Vec<ScheduleTo264>': Vec<ScheduleTo264>;
-    'Vec<Scheduling>': Vec<Scheduling>;
     'Vec<Seal>': Vec<Seal>;
     'Vec<SealV0>': Vec<SealV0>;
     'Vec<Season>': Vec<Season>;
@@ -2116,6 +2107,15 @@ declare module '@polkadot/types/types/registry' {
     'Vec<SetId>': Vec<SetId>;
     'Vec<SetIndex>': Vec<SetIndex>;
     'Vec<SetLeadParams>': Vec<SetLeadParams>;
+    'Vec<Schedule>': Vec<Schedule>;
+    'Vec<Scheduled>': Vec<Scheduled>;
+    'Vec<ScheduledTo254>': Vec<ScheduledTo254>;
+    'Vec<SchedulePeriod>': Vec<SchedulePeriod>;
+    'Vec<SchedulePriority>': Vec<SchedulePriority>;
+    'Vec<ScheduleTo212>': Vec<ScheduleTo212>;
+    'Vec<ScheduleTo258>': Vec<ScheduleTo258>;
+    'Vec<ScheduleTo264>': Vec<ScheduleTo264>;
+    'Vec<Scheduling>': Vec<Scheduling>;
     'Vec<Si0Field>': Vec<Si0Field>;
     'Vec<Si0LookupTypeId>': Vec<Si0LookupTypeId>;
     'Vec<Si0Path>': Vec<Si0Path>;
@@ -2182,7 +2182,6 @@ declare module '@polkadot/types/types/registry' {
     'Vec<StakingLedgerTo240>': Vec<StakingLedgerTo240>;
     'Vec<Statement>': Vec<Statement>;
     'Vec<StatementKind>': Vec<StatementKind>;
-    'Vec<StorageChangeSet>': Vec<StorageChangeSet>;
     'Vec<StorageData>': Vec<StorageData>;
     'Vec<StorageEntryMetadataLatest>': Vec<StorageEntryMetadataLatest>;
     'Vec<StorageEntryMetadataV10>': Vec<StorageEntryMetadataV10>;
@@ -2212,6 +2211,7 @@ declare module '@polkadot/types/types/registry' {
     'Vec<StorageHasherV13>': Vec<StorageHasherV13>;
     'Vec<StorageHasherV14>': Vec<StorageHasherV14>;
     'Vec<StorageHasherV9>': Vec<StorageHasherV9>;
+    'Vec<StorageChangeSet>': Vec<StorageChangeSet>;
     'Vec<StorageKey>': Vec<StorageKey>;
     'Vec<StorageKind>': Vec<StorageKind>;
     'Vec<StorageMetadataLatest>': Vec<StorageMetadataLatest>;
@@ -2520,27 +2520,11 @@ declare module '@polkadot/types/types/registry' {
     CastVoteOf: CastVoteOf;
     Category: Category;
     CategoryId: CategoryId;
-    ChainId: ChainId;
-    ChainProperties: ChainProperties;
-    ChainType: ChainType;
-    ChangesTrieConfiguration: ChangesTrieConfiguration;
-    ChangesTrieSignal: ChangesTrieSignal;
-    Channel: Channel;
-    ChannelCategory: ChannelCategory;
-    ChannelCategoryCreationParameters: ChannelCategoryCreationParameters;
-    ChannelCategoryId: ChannelCategoryId;
-    ChannelCategoryUpdateParameters: ChannelCategoryUpdateParameters;
-    ChannelCreationParameters: ChannelCreationParameters;
-    ChannelId: ChannelId;
-    ChannelOwner: ChannelOwner;
-    ChannelOwnershipTransferRequest: ChannelOwnershipTransferRequest;
-    ChannelOwnershipTransferRequestId: ChannelOwnershipTransferRequestId;
-    ChannelUpdateParameters: ChannelUpdateParameters;
     ClassDetails: ClassDetails;
     ClassId: ClassId;
     ClassMetadata: ClassMetadata;
-    CodecHash: CodecHash;
     CodeHash: CodeHash;
+    CodecHash: CodecHash;
     CollatorId: CollatorId;
     CollatorSignature: CollatorSignature;
     CollectiveOrigin: CollectiveOrigin;
@@ -2820,6 +2804,22 @@ declare module '@polkadot/types/types/registry' {
     HrmpChannel: HrmpChannel;
     HrmpChannelId: HrmpChannelId;
     HrmpOpenChannelRequest: HrmpOpenChannelRequest;
+    ChainId: ChainId;
+    ChainProperties: ChainProperties;
+    ChainType: ChainType;
+    ChangesTrieConfiguration: ChangesTrieConfiguration;
+    ChangesTrieSignal: ChangesTrieSignal;
+    Channel: Channel;
+    ChannelCategory: ChannelCategory;
+    ChannelCategoryCreationParameters: ChannelCategoryCreationParameters;
+    ChannelCategoryId: ChannelCategoryId;
+    ChannelCategoryUpdateParameters: ChannelCategoryUpdateParameters;
+    ChannelCreationParameters: ChannelCreationParameters;
+    ChannelId: ChannelId;
+    ChannelOwner: ChannelOwner;
+    ChannelOwnershipTransferRequest: ChannelOwnershipTransferRequest;
+    ChannelOwnershipTransferRequestId: ChannelOwnershipTransferRequestId;
+    ChannelUpdateParameters: ChannelUpdateParameters;
     i128: i128;
     I128: I128;
     i16: i16;
@@ -2966,10 +2966,10 @@ declare module '@polkadot/types/types/registry' {
     NotConnectedPeer: NotConnectedPeer;
     Null: Null;
     ObjectOwner: ObjectOwner;
-    OffchainAccuracy: OffchainAccuracy;
-    OffchainAccuracyCompact: OffchainAccuracyCompact;
     OffenceDetails: OffenceDetails;
     Offender: Offender;
+    OffchainAccuracy: OffchainAccuracy;
+    OffchainAccuracyCompact: OffchainAccuracyCompact;
     OpaqueCall: OpaqueCall;
     OpaqueMultiaddr: OpaqueMultiaddr;
     OpaqueNetworkState: OpaqueNetworkState;
@@ -3013,11 +3013,11 @@ declare module '@polkadot/types/types/registry' {
     PalletStorageMetadataLatest: PalletStorageMetadataLatest;
     PalletStorageMetadataV14: PalletStorageMetadataV14;
     PalletVersion: PalletVersion;
+    ParaGenesisArgs: ParaGenesisArgs;
     ParachainDispatchOrigin: ParachainDispatchOrigin;
     ParachainInherentData: ParachainInherentData;
     ParachainProposal: ParachainProposal;
     ParachainsInherentData: ParachainsInherentData;
-    ParaGenesisArgs: ParaGenesisArgs;
     ParaId: ParaId;
     ParaInfo: ParaInfo;
     ParaLifecycle: ParaLifecycle;
@@ -3139,10 +3139,10 @@ declare module '@polkadot/types/types/registry' {
     Registration: Registration;
     RegistrationJudgement: RegistrationJudgement;
     RelayBlockNumber: RelayBlockNumber;
-    RelayChainBlockNumber: RelayChainBlockNumber;
-    RelayChainHash: RelayChainHash;
     RelayerId: RelayerId;
     RelayHash: RelayHash;
+    RelayChainBlockNumber: RelayChainBlockNumber;
+    RelayChainHash: RelayChainHash;
     Releases: Releases;
     Remark: Remark;
     Renouncing: Renouncing;
@@ -3168,15 +3168,6 @@ declare module '@polkadot/types/types/registry' {
     RuntimeVersion: RuntimeVersion;
     RuntimeVersionApi: RuntimeVersionApi;
     RuntimeVersionPartial: RuntimeVersionPartial;
-    Schedule: Schedule;
-    Scheduled: Scheduled;
-    ScheduledTo254: ScheduledTo254;
-    SchedulePeriod: SchedulePeriod;
-    SchedulePriority: SchedulePriority;
-    ScheduleTo212: ScheduleTo212;
-    ScheduleTo258: ScheduleTo258;
-    ScheduleTo264: ScheduleTo264;
-    Scheduling: Scheduling;
     Seal: Seal;
     SealV0: SealV0;
     Season: Season;
@@ -3208,6 +3199,15 @@ declare module '@polkadot/types/types/registry' {
     SetId: SetId;
     SetIndex: SetIndex;
     SetLeadParams: SetLeadParams;
+    Schedule: Schedule;
+    Scheduled: Scheduled;
+    ScheduledTo254: ScheduledTo254;
+    SchedulePeriod: SchedulePeriod;
+    SchedulePriority: SchedulePriority;
+    ScheduleTo212: ScheduleTo212;
+    ScheduleTo258: ScheduleTo258;
+    ScheduleTo264: ScheduleTo264;
+    Scheduling: Scheduling;
     Si0Field: Si0Field;
     Si0LookupTypeId: Si0LookupTypeId;
     Si0Path: Si0Path;
@@ -3274,7 +3274,6 @@ declare module '@polkadot/types/types/registry' {
     StakingLedgerTo240: StakingLedgerTo240;
     Statement: Statement;
     StatementKind: StatementKind;
-    StorageChangeSet: StorageChangeSet;
     StorageData: StorageData;
     StorageEntryMetadataLatest: StorageEntryMetadataLatest;
     StorageEntryMetadataV10: StorageEntryMetadataV10;
@@ -3304,6 +3303,7 @@ declare module '@polkadot/types/types/registry' {
     StorageHasherV13: StorageHasherV13;
     StorageHasherV14: StorageHasherV14;
     StorageHasherV9: StorageHasherV9;
+    StorageChangeSet: StorageChangeSet;
     StorageKey: StorageKey;
     StorageKind: StorageKind;
     StorageMetadataLatest: StorageMetadataLatest;

+ 0 - 2
types/augment/all/defs.json

@@ -112,7 +112,6 @@
         "sticky_thread_ids": "Vec<ThreadId>"
     },
     "Thread": {
-        "metadata_hash": "Hash",
         "category_id": "CategoryId",
         "author_id": "ForumUserId",
         "poll": "Option<Poll>",
@@ -147,7 +146,6 @@
         "poll_alternatives": "Vec<Bytes>"
     },
     "ThreadOf": {
-        "metadata_hash": "Hash",
         "category_id": "CategoryId",
         "author_id": "ForumUserId",
         "poll": "Option<Poll>",

+ 64 - 66
types/augment/all/types.ts

@@ -139,70 +139,6 @@ export interface Category extends Struct {
 /** @name CategoryId */
 export interface CategoryId extends u64 {}
 
-/** @name Channel */
-export interface Channel extends Struct {
-  readonly owner: ChannelOwner;
-  readonly videos: Vec<VideoId>;
-  readonly playlists: Vec<PlaylistId>;
-  readonly series: Vec<SeriesId>;
-  readonly is_censored: bool;
-  readonly reward_account: Option<AccountId>;
-}
-
-/** @name ChannelCategory */
-export interface ChannelCategory extends Struct {}
-
-/** @name ChannelCategoryCreationParameters */
-export interface ChannelCategoryCreationParameters extends Struct {
-  readonly meta: Bytes;
-}
-
-/** @name ChannelCategoryId */
-export interface ChannelCategoryId extends u64 {}
-
-/** @name ChannelCategoryUpdateParameters */
-export interface ChannelCategoryUpdateParameters extends Struct {
-  readonly new_meta: Bytes;
-}
-
-/** @name ChannelCreationParameters */
-export interface ChannelCreationParameters extends Struct {
-  readonly assets: Vec<NewAsset>;
-  readonly meta: Bytes;
-  readonly reward_account: Option<AccountId>;
-}
-
-/** @name ChannelId */
-export interface ChannelId extends u64 {}
-
-/** @name ChannelOwner */
-export interface ChannelOwner extends Enum {
-  readonly isMember: boolean;
-  readonly asMember: MemberId;
-  readonly isCurators: boolean;
-  readonly asCurators: CuratorGroupId;
-  readonly isDao: boolean;
-  readonly asDao: DAOId;
-}
-
-/** @name ChannelOwnershipTransferRequest */
-export interface ChannelOwnershipTransferRequest extends Struct {
-  readonly channel_id: ChannelId;
-  readonly new_owner: ChannelOwner;
-  readonly payment: u128;
-  readonly new_reward_account: Option<AccountId>;
-}
-
-/** @name ChannelOwnershipTransferRequestId */
-export interface ChannelOwnershipTransferRequestId extends u64 {}
-
-/** @name ChannelUpdateParameters */
-export interface ChannelUpdateParameters extends Struct {
-  readonly assets: Option<Vec<NewAsset>>;
-  readonly new_meta: Option<Bytes>;
-  readonly reward_account: Option<Option<AccountId>>;
-}
-
 /** @name ConstitutionInfo */
 export interface ConstitutionInfo extends Struct {
   readonly text_hash: Hash;
@@ -413,6 +349,70 @@ export interface GeneralProposalParameters extends Struct {
   readonly exact_execution_block: Option<u32>;
 }
 
+/** @name Channel */
+export interface Channel extends Struct {
+  readonly owner: ChannelOwner;
+  readonly videos: Vec<VideoId>;
+  readonly playlists: Vec<PlaylistId>;
+  readonly series: Vec<SeriesId>;
+  readonly is_censored: bool;
+  readonly reward_account: Option<AccountId>;
+}
+
+/** @name ChannelCategory */
+export interface ChannelCategory extends Struct {}
+
+/** @name ChannelCategoryCreationParameters */
+export interface ChannelCategoryCreationParameters extends Struct {
+  readonly meta: Bytes;
+}
+
+/** @name ChannelCategoryId */
+export interface ChannelCategoryId extends u64 {}
+
+/** @name ChannelCategoryUpdateParameters */
+export interface ChannelCategoryUpdateParameters extends Struct {
+  readonly new_meta: Bytes;
+}
+
+/** @name ChannelCreationParameters */
+export interface ChannelCreationParameters extends Struct {
+  readonly assets: Vec<NewAsset>;
+  readonly meta: Bytes;
+  readonly reward_account: Option<AccountId>;
+}
+
+/** @name ChannelId */
+export interface ChannelId extends u64 {}
+
+/** @name ChannelOwner */
+export interface ChannelOwner extends Enum {
+  readonly isMember: boolean;
+  readonly asMember: MemberId;
+  readonly isCurators: boolean;
+  readonly asCurators: CuratorGroupId;
+  readonly isDao: boolean;
+  readonly asDao: DAOId;
+}
+
+/** @name ChannelOwnershipTransferRequest */
+export interface ChannelOwnershipTransferRequest extends Struct {
+  readonly channel_id: ChannelId;
+  readonly new_owner: ChannelOwner;
+  readonly payment: u128;
+  readonly new_reward_account: Option<AccountId>;
+}
+
+/** @name ChannelOwnershipTransferRequestId */
+export interface ChannelOwnershipTransferRequestId extends u64 {}
+
+/** @name ChannelUpdateParameters */
+export interface ChannelUpdateParameters extends Struct {
+  readonly assets: Option<Vec<NewAsset>>;
+  readonly new_meta: Option<Bytes>;
+  readonly reward_account: Option<Option<AccountId>>;
+}
+
 /** @name InputValidationLengthConstraint */
 export interface InputValidationLengthConstraint extends Struct {
   readonly min: u16;
@@ -899,7 +899,6 @@ export interface TerminateRoleParameters extends Struct {
 
 /** @name Thread */
 export interface Thread extends Struct {
-  readonly metadata_hash: Hash;
   readonly category_id: CategoryId;
   readonly author_id: ForumUserId;
   readonly poll: Option<Poll>;
@@ -919,7 +918,6 @@ export interface ThreadMode extends Enum {
 
 /** @name ThreadOf */
 export interface ThreadOf extends Struct {
-  readonly metadata_hash: Hash;
   readonly category_id: CategoryId;
   readonly author_id: ForumUserId;
   readonly poll: Option<Poll>;

+ 4 - 4
types/augment/augment-api-consts.ts

@@ -41,14 +41,14 @@ declare module '@polkadot/api/types/consts' {
        * Exports const - max work entry number for a closed assurance type contract bounty.
        **/
       closedContractSizeLimit: u32 & AugmentedConst<ApiType>;
-      /**
-       * Exports const - min cherry value limit for a bounty.
-       **/
-      minCherryLimit: BalanceOf & AugmentedConst<ApiType>;
       /**
        * Exports const - min funding amount limit for a bounty.
        **/
       minFundingLimit: BalanceOf & AugmentedConst<ApiType>;
+      /**
+       * Exports const - min cherry value limit for a bounty.
+       **/
+      minCherryLimit: BalanceOf & AugmentedConst<ApiType>;
       /**
        * Exports const - min work entrant stake for a bounty.
        **/

+ 12 - 12
types/augment/augment-api-errors.ts

@@ -122,10 +122,6 @@ declare module '@polkadot/api/types/errors' {
        * assurance' bounty contract.
        **/
       CannotSubmitWorkToClosedContractBounty: AugmentedError<ApiType>;
-      /**
-       * Cherry less then minimum allowed.
-       **/
-      CherryLessThenMinimumAllowed: AugmentedError<ApiType>;
       /**
        * Cannot create a 'closed assurance contract' bounty with empty member list.
        **/
@@ -159,6 +155,10 @@ declare module '@polkadot/api/types/errors' {
        * Funding period is not expired for the bounty.
        **/
       FundingPeriodNotExpired: AugmentedError<ApiType>;
+      /**
+       * Cherry less then minimum allowed.
+       **/
+      CherryLessThenMinimumAllowed: AugmentedError<ApiType>;
       /**
        * Insufficient balance for a bounty cherry.
        **/
@@ -270,10 +270,6 @@ declare module '@polkadot/api/types/errors' {
        * A Channel or Video Category does not exist.
        **/
       CategoryDoesNotExist: AugmentedError<ApiType>;
-      /**
-       * Channel does not exist
-       **/
-      ChannelDoesNotExist: AugmentedError<ApiType>;
       /**
        * Curator authentication failed
        **/
@@ -306,6 +302,10 @@ declare module '@polkadot/api/types/errors' {
        * Feature Not Implemented
        **/
       FeatureNotImplemented: AugmentedError<ApiType>;
+      /**
+       * Channel does not exist
+       **/
+      ChannelDoesNotExist: AugmentedError<ApiType>;
       /**
        * Lead authentication failed
        **/
@@ -968,14 +968,14 @@ declare module '@polkadot/api/types/errors' {
       WorkerStorageValueTooLong: AugmentedError<ApiType>;
     };
     grandpa: {
-      /**
-       * Attempt to signal GRANDPA change with one already pending.
-       **/
-      ChangePending: AugmentedError<ApiType>;
       /**
        * A given equivocation report is valid but already previously reported.
        **/
       DuplicateOffenceReport: AugmentedError<ApiType>;
+      /**
+       * Attempt to signal GRANDPA change with one already pending.
+       **/
+      ChangePending: AugmentedError<ApiType>;
       /**
        * An equivocation proof provided as part of an equivocation report is invalid.
        **/

+ 6 - 6
types/augment/augment-api-events.ts

@@ -202,6 +202,11 @@ declare module '@polkadot/api/types/events' {
       ConstutionAmended: AugmentedEvent<ApiType, [Bytes, Bytes]>;
     };
     content: {
+      CuratorAdded: AugmentedEvent<ApiType, [CuratorGroupId, CuratorId]>;
+      CuratorGroupCreated: AugmentedEvent<ApiType, [CuratorGroupId]>;
+      CuratorGroupStatusSet: AugmentedEvent<ApiType, [CuratorGroupId, bool]>;
+      CuratorRemoved: AugmentedEvent<ApiType, [CuratorGroupId, CuratorId]>;
+      FeaturedVideosSet: AugmentedEvent<ApiType, [ContentActor, Vec<VideoId>]>;
       ChannelAssetsRemoved: AugmentedEvent<ApiType, [ContentActor, ChannelId, Vec<ContentId>]>;
       ChannelCategoryCreated: AugmentedEvent<ApiType, [ChannelCategoryId, ChannelCategory, ChannelCategoryCreationParameters]>;
       ChannelCategoryDeleted: AugmentedEvent<ApiType, [ContentActor, ChannelCategoryId]>;
@@ -212,11 +217,6 @@ declare module '@polkadot/api/types/events' {
       ChannelOwnershipTransferRequested: AugmentedEvent<ApiType, [ContentActor, ChannelOwnershipTransferRequestId, ChannelOwnershipTransferRequest]>;
       ChannelOwnershipTransferRequestWithdrawn: AugmentedEvent<ApiType, [ContentActor, ChannelOwnershipTransferRequestId]>;
       ChannelUpdated: AugmentedEvent<ApiType, [ContentActor, ChannelId, Channel, ChannelUpdateParameters]>;
-      CuratorAdded: AugmentedEvent<ApiType, [CuratorGroupId, CuratorId]>;
-      CuratorGroupCreated: AugmentedEvent<ApiType, [CuratorGroupId]>;
-      CuratorGroupStatusSet: AugmentedEvent<ApiType, [CuratorGroupId, bool]>;
-      CuratorRemoved: AugmentedEvent<ApiType, [CuratorGroupId, CuratorId]>;
-      FeaturedVideosSet: AugmentedEvent<ApiType, [ContentActor, Vec<VideoId>]>;
       PersonCreated: AugmentedEvent<ApiType, [ContentActor, PersonId, Vec<NewAsset>, PersonCreationParameters]>;
       PersonDeleted: AugmentedEvent<ApiType, [ContentActor, PersonId]>;
       PersonUpdated: AugmentedEvent<ApiType, [ContentActor, PersonId, Vec<NewAsset>, PersonUpdateParameters]>;
@@ -1434,7 +1434,7 @@ declare module '@polkadot/api/types/events' {
       /**
        * Emits on post creation.
        **/
-      PostCreated: AugmentedEvent<ApiType, [PostId, MemberId, ThreadId, Bytes]>;
+      PostCreated: AugmentedEvent<ApiType, [PostId, MemberId, ThreadId, Bytes, bool]>;
       /**
        * Emits on post deleted
        **/

+ 4 - 4
types/augment/augment-api-query.ts

@@ -168,17 +168,17 @@ declare module '@polkadot/api/types/storage' {
       constitution: AugmentedQuery<ApiType, () => Observable<ConstitutionInfo>, []>;
     };
     content: {
-      channelById: AugmentedQuery<ApiType, (arg: ChannelId | AnyNumber | Uint8Array) => Observable<Channel>, [ChannelId]>;
-      channelCategoryById: AugmentedQuery<ApiType, (arg: ChannelCategoryId | AnyNumber | Uint8Array) => Observable<ChannelCategory>, [ChannelCategoryId]>;
-      channelOwnershipTransferRequestById: AugmentedQuery<ApiType, (arg: ChannelOwnershipTransferRequestId | AnyNumber | Uint8Array) => Observable<ChannelOwnershipTransferRequest>, [ChannelOwnershipTransferRequestId]>;
       /**
        * Map, representing  CuratorGroupId -> CuratorGroup relation
        **/
       curatorGroupById: AugmentedQuery<ApiType, (arg: CuratorGroupId | AnyNumber | Uint8Array) => Observable<CuratorGroup>, [CuratorGroupId]>;
+      channelById: AugmentedQuery<ApiType, (arg: ChannelId | AnyNumber | Uint8Array) => Observable<Channel>, [ChannelId]>;
+      channelCategoryById: AugmentedQuery<ApiType, (arg: ChannelCategoryId | AnyNumber | Uint8Array) => Observable<ChannelCategory>, [ChannelCategoryId]>;
+      channelOwnershipTransferRequestById: AugmentedQuery<ApiType, (arg: ChannelOwnershipTransferRequestId | AnyNumber | Uint8Array) => Observable<ChannelOwnershipTransferRequest>, [ChannelOwnershipTransferRequestId]>;
+      nextCuratorGroupId: AugmentedQuery<ApiType, () => Observable<CuratorGroupId>, []>;
       nextChannelCategoryId: AugmentedQuery<ApiType, () => Observable<ChannelCategoryId>, []>;
       nextChannelId: AugmentedQuery<ApiType, () => Observable<ChannelId>, []>;
       nextChannelOwnershipTransferRequestId: AugmentedQuery<ApiType, () => Observable<ChannelOwnershipTransferRequestId>, []>;
-      nextCuratorGroupId: AugmentedQuery<ApiType, () => Observable<CuratorGroupId>, []>;
       nextPersonId: AugmentedQuery<ApiType, () => Observable<PersonId>, []>;
       nextPlaylistId: AugmentedQuery<ApiType, () => Observable<PlaylistId>, []>;
       nextSeriesId: AugmentedQuery<ApiType, () => Observable<SeriesId>, []>;

+ 52 - 52
types/augment/augment-api-rpc.ts

@@ -70,58 +70,6 @@ declare module '@polkadot/rpc-core/types.jsonrpc' {
        **/
       subscribeJustifications: AugmentedRpc<() => Observable<BeefySignedCommitment>>;
     };
-    chain: {
-      /**
-       * Get header and body of a relay chain block
-       **/
-      getBlock: AugmentedRpc<(hash?: BlockHash | string | Uint8Array) => Observable<SignedBlock>>;
-      /**
-       * Get the block hash for a specific block
-       **/
-      getBlockHash: AugmentedRpc<(blockNumber?: BlockNumber | AnyNumber | Uint8Array) => Observable<BlockHash>>;
-      /**
-       * Get hash of the last finalized block in the canon chain
-       **/
-      getFinalizedHead: AugmentedRpc<() => Observable<BlockHash>>;
-      /**
-       * Retrieves the header for a specific block
-       **/
-      getHeader: AugmentedRpc<(hash?: BlockHash | string | Uint8Array) => Observable<Header>>;
-      /**
-       * Retrieves the newest header via subscription
-       **/
-      subscribeAllHeads: AugmentedRpc<() => Observable<Header>>;
-      /**
-       * Retrieves the best finalized header via subscription
-       **/
-      subscribeFinalizedHeads: AugmentedRpc<() => Observable<Header>>;
-      /**
-       * Retrieves the best header via subscription
-       **/
-      subscribeNewHeads: AugmentedRpc<() => Observable<Header>>;
-    };
-    childstate: {
-      /**
-       * Returns the keys with prefix from a child storage, leave empty to get all the keys
-       **/
-      getKeys: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, prefix: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Vec<StorageKey>>>;
-      /**
-       * Returns the keys with prefix from a child storage with pagination support
-       **/
-      getKeysPaged: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, prefix: StorageKey | string | Uint8Array | any, count: u32 | AnyNumber | Uint8Array, startKey?: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Vec<StorageKey>>>;
-      /**
-       * Returns a child storage entry at a specific block state
-       **/
-      getStorage: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Option<StorageData>>>;
-      /**
-       * Returns the hash of a child storage entry at a block state
-       **/
-      getStorageHash: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Option<Hash>>>;
-      /**
-       * Returns the size of a child storage entry at a block state
-       **/
-      getStorageSize: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Option<u64>>>;
-    };
     contracts: {
       /**
        * Executes a call to a contract
@@ -330,6 +278,58 @@ declare module '@polkadot/rpc-core/types.jsonrpc' {
        **/
       subscribeJustifications: AugmentedRpc<() => Observable<JustificationNotification>>;
     };
+    chain: {
+      /**
+       * Get header and body of a relay chain block
+       **/
+      getBlock: AugmentedRpc<(hash?: BlockHash | string | Uint8Array) => Observable<SignedBlock>>;
+      /**
+       * Get the block hash for a specific block
+       **/
+      getBlockHash: AugmentedRpc<(blockNumber?: BlockNumber | AnyNumber | Uint8Array) => Observable<BlockHash>>;
+      /**
+       * Get hash of the last finalized block in the canon chain
+       **/
+      getFinalizedHead: AugmentedRpc<() => Observable<BlockHash>>;
+      /**
+       * Retrieves the header for a specific block
+       **/
+      getHeader: AugmentedRpc<(hash?: BlockHash | string | Uint8Array) => Observable<Header>>;
+      /**
+       * Retrieves the newest header via subscription
+       **/
+      subscribeAllHeads: AugmentedRpc<() => Observable<Header>>;
+      /**
+       * Retrieves the best finalized header via subscription
+       **/
+      subscribeFinalizedHeads: AugmentedRpc<() => Observable<Header>>;
+      /**
+       * Retrieves the best header via subscription
+       **/
+      subscribeNewHeads: AugmentedRpc<() => Observable<Header>>;
+    };
+    childstate: {
+      /**
+       * Returns the keys with prefix from a child storage, leave empty to get all the keys
+       **/
+      getKeys: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, prefix: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Vec<StorageKey>>>;
+      /**
+       * Returns the keys with prefix from a child storage with pagination support
+       **/
+      getKeysPaged: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, prefix: StorageKey | string | Uint8Array | any, count: u32 | AnyNumber | Uint8Array, startKey?: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Vec<StorageKey>>>;
+      /**
+       * Returns a child storage entry at a specific block state
+       **/
+      getStorage: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Option<StorageData>>>;
+      /**
+       * Returns the hash of a child storage entry at a block state
+       **/
+      getStorageHash: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Option<Hash>>>;
+      /**
+       * Returns the size of a child storage entry at a block state
+       **/
+      getStorageSize: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Option<u64>>>;
+    };
     mmr: {
       /**
        * Generate MMR proof for given leaf index.

+ 49 - 49
types/augment/augment-api-tx.ts

@@ -353,12 +353,12 @@ declare module '@polkadot/api/types/submittable' {
       addCuratorToGroup: AugmentedSubmittable<(curatorGroupId: CuratorGroupId | AnyNumber | Uint8Array, curatorId: CuratorId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [CuratorGroupId, CuratorId]>;
       addPersonToVideo: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, videoId: VideoId | AnyNumber | Uint8Array, person: PersonId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [ContentActor, VideoId, PersonId]>;
       cancelChannelTransferRequest: AugmentedSubmittable<(requestId: ChannelOwnershipTransferRequestId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [ChannelOwnershipTransferRequestId]>;
-      createChannel: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, params: ChannelCreationParameters | { assets?: any; meta?: any; reward_account?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [ContentActor, ChannelCreationParameters]>;
-      createChannelCategory: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, params: ChannelCategoryCreationParameters | { meta?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [ContentActor, ChannelCategoryCreationParameters]>;
       /**
        * Add new curator group to runtime storage
        **/
       createCuratorGroup: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
+      createChannel: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, params: ChannelCreationParameters | { assets?: any; meta?: any; reward_account?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [ContentActor, ChannelCreationParameters]>;
+      createChannelCategory: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, params: ChannelCategoryCreationParameters | { meta?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [ContentActor, ChannelCategoryCreationParameters]>;
       createPerson: AugmentedSubmittable<(actor: PersonActor | { Member: any } | { Curator: any } | string | Uint8Array, params: PersonCreationParameters | { assets?: any; meta?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [PersonActor, PersonCreationParameters]>;
       createPlaylist: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, channelId: ChannelId | AnyNumber | Uint8Array, params: PlaylistCreationParameters | { meta?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [ContentActor, ChannelId, PlaylistCreationParameters]>;
       createSeries: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, channelId: ChannelId | AnyNumber | Uint8Array, params: SeriesParameters | { assets?: any; seasons?: any; meta?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [ContentActor, ChannelId, SeriesParameters]>;
@@ -370,14 +370,14 @@ declare module '@polkadot/api/types/submittable' {
       deleteSeries: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, series: SeriesId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [ContentActor, SeriesId]>;
       deleteVideo: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, videoId: VideoId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [ContentActor, VideoId]>;
       deleteVideoCategory: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, categoryId: VideoCategoryId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [ContentActor, VideoCategoryId]>;
-      /**
-       * Remove assets of a channel from storage
-       **/
-      removeChannelAssets: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, channelId: ChannelId | AnyNumber | Uint8Array, assets: Vec<ContentId> | (ContentId | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [ContentActor, ChannelId, Vec<ContentId>]>;
       /**
        * Remove curator from a given curator group
        **/
       removeCuratorFromGroup: AugmentedSubmittable<(curatorGroupId: CuratorGroupId | AnyNumber | Uint8Array, curatorId: CuratorId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [CuratorGroupId, CuratorId]>;
+      /**
+       * Remove assets of a channel from storage
+       **/
+      removeChannelAssets: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, channelId: ChannelId | AnyNumber | Uint8Array, assets: Vec<ContentId> | (ContentId | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [ContentActor, ChannelId, Vec<ContentId>]>;
       removePersonFromVideo: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, videoId: VideoId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [ContentActor, VideoId]>;
       requestChannelTransfer: AugmentedSubmittable<(actor: ContentActor | { Curator: any } | { Member: any } | { Lead: any } | string | Uint8Array, request: ChannelOwnershipTransferRequest | { channel_id?: any; new_owner?: any; payment?: any; new_reward_account?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [ContentActor, ChannelOwnershipTransferRequest]>;
       /**
@@ -920,14 +920,14 @@ declare module '@polkadot/api/types/submittable' {
        **/
       editPostText: AugmentedSubmittable<(forumUserId: ForumUserId | AnyNumber | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, postId: PostId | AnyNumber | Uint8Array, newText: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [ForumUserId, CategoryId, ThreadId, PostId, Bytes]>;
       /**
-       * Edit thread title
+       * Edit thread metadata
        * 
        * <weight>
        * 
        * ## Weight
        * `O (W + V)` where:
        * - `W` is the category depth
-       * - `V` is the length of the thread title.
+       * - `V` is the length of the thread metadata.
        * - DB:
        * - O(W)
        * # </weight>
@@ -2242,31 +2242,31 @@ declare module '@polkadot/api/types/submittable' {
        **/
       addPost: AugmentedSubmittable<(postAuthorId: MemberId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, text: Bytes | string | Uint8Array, editable: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [MemberId, ThreadId, Bytes, bool]>;
       /**
-       * Changes thread permission mode.
+       * Remove post from storage, with the last parameter indicating whether to also hide it
+       * in the UI.
        * 
        * <weight>
        * 
        * ## Weight
-       * `O (W)` if ThreadMode is close or O(1) otherwise where:
-       * - `W` is the number of whitelisted members in `mode`
+       * `O (1)`
        * - DB:
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      changeThreadMode: AugmentedSubmittable<(memberId: MemberId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, mode: ThreadMode | { Open: any } | { Closed: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MemberId, ThreadId, ThreadMode]>;
+      deletePost: AugmentedSubmittable<(deleterId: MemberId | AnyNumber | Uint8Array, postId: PostId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, hide: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [MemberId, PostId, ThreadId, bool]>;
       /**
-       * Remove post from storage, with the last parameter indicating whether to also hide it
-       * in the UI.
+       * Changes thread permission mode.
        * 
        * <weight>
        * 
        * ## Weight
-       * `O (1)`
+       * `O (W)` if ThreadMode is close or O(1) otherwise where:
+       * - `W` is the number of whitelisted members in `mode`
        * - DB:
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      deletePost: AugmentedSubmittable<(deleterId: MemberId | AnyNumber | Uint8Array, postId: PostId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, hide: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [MemberId, PostId, ThreadId, bool]>;
+      changeThreadMode: AugmentedSubmittable<(memberId: MemberId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, mode: ThreadMode | { Open: any } | { Closed: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MemberId, ThreadId, ThreadMode]>;
       /**
        * Updates a post with author origin check. Update attempts number is limited.
        * 
@@ -2460,26 +2460,6 @@ declare module '@polkadot/api/types/submittable' {
        * # </weight>
        **/
       cancelDeferredSlash: AugmentedSubmittable<(era: EraIndex | AnyNumber | Uint8Array, slashIndices: Vec<u32> | (u32 | AnyNumber | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [EraIndex, Vec<u32>]>;
-      /**
-       * Declare no desire to either validate or nominate.
-       * 
-       * Effects will be felt at the beginning of the next era.
-       * 
-       * The dispatch origin for this call must be _Signed_ by the controller, not the stash.
-       * And, it can be only called when [`EraElectionStatus`] is `Closed`.
-       * 
-       * # <weight>
-       * - Independent of the arguments. Insignificant complexity.
-       * - Contains one read.
-       * - Writes are limited to the `origin` account key.
-       * --------
-       * Weight: O(1)
-       * DB Weight:
-       * - Read: EraElectionStatus, Ledger
-       * - Write: Validators, Nominators
-       * # </weight>
-       **/
-      chill: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
       /**
        * Force there to be a new era at the end of the next session. After this, it will be
        * reset to normal (non-forced) behaviour.
@@ -2529,6 +2509,26 @@ declare module '@polkadot/api/types/submittable' {
        * # </weight>
        **/
       forceUnstake: AugmentedSubmittable<(stash: AccountId | string | Uint8Array, numSlashingSpans: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [AccountId, u32]>;
+      /**
+       * Declare no desire to either validate or nominate.
+       * 
+       * Effects will be felt at the beginning of the next era.
+       * 
+       * The dispatch origin for this call must be _Signed_ by the controller, not the stash.
+       * And, it can be only called when [`EraElectionStatus`] is `Closed`.
+       * 
+       * # <weight>
+       * - Independent of the arguments. Insignificant complexity.
+       * - Contains one read.
+       * - Writes are limited to the `origin` account key.
+       * --------
+       * Weight: O(1)
+       * DB Weight:
+       * - Read: EraElectionStatus, Ledger
+       * - Write: Validators, Nominators
+       * # </weight>
+       **/
+      chill: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
       /**
        * Increments the ideal number of validators.
        * 
@@ -3184,19 +3184,6 @@ declare module '@polkadot/api/types/submittable' {
        * # </weight>
        **/
       remark: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
-      /**
-       * Set the new changes trie configuration.
-       * 
-       * # <weight>
-       * - `O(1)`
-       * - 1 storage write or delete (codec `O(1)`).
-       * - 1 call to `deposit_log`: Uses `append` API, so O(1)
-       * - Base Weight: 7.218 µs
-       * - DB Weight:
-       * - Writes: Changes Trie, System Digest
-       * # </weight>
-       **/
-      setChangesTrieConfig: AugmentedSubmittable<(changesTrieConfig: Option<ChangesTrieConfiguration> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Option<ChangesTrieConfiguration>]>;
       /**
        * Set the new runtime code.
        * 
@@ -3232,6 +3219,19 @@ declare module '@polkadot/api/types/submittable' {
        * # </weight>
        **/
       setHeapPages: AugmentedSubmittable<(pages: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u64]>;
+      /**
+       * Set the new changes trie configuration.
+       * 
+       * # <weight>
+       * - `O(1)`
+       * - 1 storage write or delete (codec `O(1)`).
+       * - 1 call to `deposit_log`: Uses `append` API, so O(1)
+       * - Base Weight: 7.218 µs
+       * - DB Weight:
+       * - Writes: Changes Trie, System Digest
+       * # </weight>
+       **/
+      setChangesTrieConfig: AugmentedSubmittable<(changesTrieConfig: Option<ChangesTrieConfiguration> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Option<ChangesTrieConfiguration>]>;
       /**
        * Set some items of storage.
        * 

+ 100 - 100
types/augment/augment-types.ts

@@ -84,9 +84,6 @@ declare module '@polkadot/types/types/registry' {
     'Compact<BountyIndex>': Compact<BountyIndex>;
     'Compact<BridgedBlockNumber>': Compact<BridgedBlockNumber>;
     'Compact<CategoryId>': Compact<CategoryId>;
-    'Compact<ChannelCategoryId>': Compact<ChannelCategoryId>;
-    'Compact<ChannelId>': Compact<ChannelId>;
-    'Compact<ChannelOwnershipTransferRequestId>': Compact<ChannelOwnershipTransferRequestId>;
     'Compact<ClassId>': Compact<ClassId>;
     'Compact<ContractDiscriminant>': Compact<ContractDiscriminant>;
     'Compact<CoreIndex>': Compact<CoreIndex>;
@@ -107,6 +104,9 @@ declare module '@polkadot/types/types/registry' {
     'Compact<FundIndex>': Compact<FundIndex>;
     'Compact<Gas>': Compact<Gas>;
     'Compact<GroupIndex>': Compact<GroupIndex>;
+    'Compact<ChannelCategoryId>': Compact<ChannelCategoryId>;
+    'Compact<ChannelId>': Compact<ChannelId>;
+    'Compact<ChannelOwnershipTransferRequestId>': Compact<ChannelOwnershipTransferRequestId>;
     'Compact<Index>': Compact<Index>;
     'Compact<InstanceId>': Compact<InstanceId>;
     'Compact<KeyTypeId>': Compact<KeyTypeId>;
@@ -150,11 +150,11 @@ declare module '@polkadot/types/types/registry' {
     'Compact<RelayChainBlockNumber>': Compact<RelayChainBlockNumber>;
     'Compact<ReplyId>': Compact<ReplyId>;
     'Compact<RewardPoint>': Compact<RewardPoint>;
-    'Compact<SchedulePriority>': Compact<SchedulePriority>;
     'Compact<SeriesId>': Compact<SeriesId>;
     'Compact<SessionIndex>': Compact<SessionIndex>;
     'Compact<SetId>': Compact<SetId>;
     'Compact<SetIndex>': Compact<SetIndex>;
+    'Compact<SchedulePriority>': Compact<SchedulePriority>;
     'Compact<Si0LookupTypeId>': Compact<Si0LookupTypeId>;
     'Compact<Slot>': Compact<Slot>;
     'Compact<SlotNumber>': Compact<SlotNumber>;
@@ -336,27 +336,11 @@ declare module '@polkadot/types/types/registry' {
     'Option<CastVoteOf>': Option<CastVoteOf>;
     'Option<Category>': Option<Category>;
     'Option<CategoryId>': Option<CategoryId>;
-    'Option<ChainId>': Option<ChainId>;
-    'Option<ChainProperties>': Option<ChainProperties>;
-    'Option<ChainType>': Option<ChainType>;
-    'Option<ChangesTrieConfiguration>': Option<ChangesTrieConfiguration>;
-    'Option<ChangesTrieSignal>': Option<ChangesTrieSignal>;
-    'Option<Channel>': Option<Channel>;
-    'Option<ChannelCategory>': Option<ChannelCategory>;
-    'Option<ChannelCategoryCreationParameters>': Option<ChannelCategoryCreationParameters>;
-    'Option<ChannelCategoryId>': Option<ChannelCategoryId>;
-    'Option<ChannelCategoryUpdateParameters>': Option<ChannelCategoryUpdateParameters>;
-    'Option<ChannelCreationParameters>': Option<ChannelCreationParameters>;
-    'Option<ChannelId>': Option<ChannelId>;
-    'Option<ChannelOwner>': Option<ChannelOwner>;
-    'Option<ChannelOwnershipTransferRequest>': Option<ChannelOwnershipTransferRequest>;
-    'Option<ChannelOwnershipTransferRequestId>': Option<ChannelOwnershipTransferRequestId>;
-    'Option<ChannelUpdateParameters>': Option<ChannelUpdateParameters>;
     'Option<ClassDetails>': Option<ClassDetails>;
     'Option<ClassId>': Option<ClassId>;
     'Option<ClassMetadata>': Option<ClassMetadata>;
-    'Option<CodecHash>': Option<CodecHash>;
     'Option<CodeHash>': Option<CodeHash>;
+    'Option<CodecHash>': Option<CodecHash>;
     'Option<CollatorId>': Option<CollatorId>;
     'Option<CollatorSignature>': Option<CollatorSignature>;
     'Option<CollectiveOrigin>': Option<CollectiveOrigin>;
@@ -636,6 +620,22 @@ declare module '@polkadot/types/types/registry' {
     'Option<HrmpChannel>': Option<HrmpChannel>;
     'Option<HrmpChannelId>': Option<HrmpChannelId>;
     'Option<HrmpOpenChannelRequest>': Option<HrmpOpenChannelRequest>;
+    'Option<ChainId>': Option<ChainId>;
+    'Option<ChainProperties>': Option<ChainProperties>;
+    'Option<ChainType>': Option<ChainType>;
+    'Option<ChangesTrieConfiguration>': Option<ChangesTrieConfiguration>;
+    'Option<ChangesTrieSignal>': Option<ChangesTrieSignal>;
+    'Option<Channel>': Option<Channel>;
+    'Option<ChannelCategory>': Option<ChannelCategory>;
+    'Option<ChannelCategoryCreationParameters>': Option<ChannelCategoryCreationParameters>;
+    'Option<ChannelCategoryId>': Option<ChannelCategoryId>;
+    'Option<ChannelCategoryUpdateParameters>': Option<ChannelCategoryUpdateParameters>;
+    'Option<ChannelCreationParameters>': Option<ChannelCreationParameters>;
+    'Option<ChannelId>': Option<ChannelId>;
+    'Option<ChannelOwner>': Option<ChannelOwner>;
+    'Option<ChannelOwnershipTransferRequest>': Option<ChannelOwnershipTransferRequest>;
+    'Option<ChannelOwnershipTransferRequestId>': Option<ChannelOwnershipTransferRequestId>;
+    'Option<ChannelUpdateParameters>': Option<ChannelUpdateParameters>;
     'Option<i128>': Option<i128>;
     'Option<I128>': Option<I128>;
     'Option<i16>': Option<i16>;
@@ -782,10 +782,10 @@ declare module '@polkadot/types/types/registry' {
     'Option<NotConnectedPeer>': Option<NotConnectedPeer>;
     'Option<Null>': Option<Null>;
     'Option<ObjectOwner>': Option<ObjectOwner>;
-    'Option<OffchainAccuracy>': Option<OffchainAccuracy>;
-    'Option<OffchainAccuracyCompact>': Option<OffchainAccuracyCompact>;
     'Option<OffenceDetails>': Option<OffenceDetails>;
     'Option<Offender>': Option<Offender>;
+    'Option<OffchainAccuracy>': Option<OffchainAccuracy>;
+    'Option<OffchainAccuracyCompact>': Option<OffchainAccuracyCompact>;
     'Option<OpaqueCall>': Option<OpaqueCall>;
     'Option<OpaqueMultiaddr>': Option<OpaqueMultiaddr>;
     'Option<OpaqueNetworkState>': Option<OpaqueNetworkState>;
@@ -829,11 +829,11 @@ declare module '@polkadot/types/types/registry' {
     'Option<PalletStorageMetadataLatest>': Option<PalletStorageMetadataLatest>;
     'Option<PalletStorageMetadataV14>': Option<PalletStorageMetadataV14>;
     'Option<PalletVersion>': Option<PalletVersion>;
+    'Option<ParaGenesisArgs>': Option<ParaGenesisArgs>;
     'Option<ParachainDispatchOrigin>': Option<ParachainDispatchOrigin>;
     'Option<ParachainInherentData>': Option<ParachainInherentData>;
     'Option<ParachainProposal>': Option<ParachainProposal>;
     'Option<ParachainsInherentData>': Option<ParachainsInherentData>;
-    'Option<ParaGenesisArgs>': Option<ParaGenesisArgs>;
     'Option<ParaId>': Option<ParaId>;
     'Option<ParaInfo>': Option<ParaInfo>;
     'Option<ParaLifecycle>': Option<ParaLifecycle>;
@@ -955,10 +955,10 @@ declare module '@polkadot/types/types/registry' {
     'Option<Registration>': Option<Registration>;
     'Option<RegistrationJudgement>': Option<RegistrationJudgement>;
     'Option<RelayBlockNumber>': Option<RelayBlockNumber>;
-    'Option<RelayChainBlockNumber>': Option<RelayChainBlockNumber>;
-    'Option<RelayChainHash>': Option<RelayChainHash>;
     'Option<RelayerId>': Option<RelayerId>;
     'Option<RelayHash>': Option<RelayHash>;
+    'Option<RelayChainBlockNumber>': Option<RelayChainBlockNumber>;
+    'Option<RelayChainHash>': Option<RelayChainHash>;
     'Option<Releases>': Option<Releases>;
     'Option<Remark>': Option<Remark>;
     'Option<Renouncing>': Option<Renouncing>;
@@ -984,15 +984,6 @@ declare module '@polkadot/types/types/registry' {
     'Option<RuntimeVersion>': Option<RuntimeVersion>;
     'Option<RuntimeVersionApi>': Option<RuntimeVersionApi>;
     'Option<RuntimeVersionPartial>': Option<RuntimeVersionPartial>;
-    'Option<Schedule>': Option<Schedule>;
-    'Option<Scheduled>': Option<Scheduled>;
-    'Option<ScheduledTo254>': Option<ScheduledTo254>;
-    'Option<SchedulePeriod>': Option<SchedulePeriod>;
-    'Option<SchedulePriority>': Option<SchedulePriority>;
-    'Option<ScheduleTo212>': Option<ScheduleTo212>;
-    'Option<ScheduleTo258>': Option<ScheduleTo258>;
-    'Option<ScheduleTo264>': Option<ScheduleTo264>;
-    'Option<Scheduling>': Option<Scheduling>;
     'Option<Seal>': Option<Seal>;
     'Option<SealV0>': Option<SealV0>;
     'Option<Season>': Option<Season>;
@@ -1024,6 +1015,15 @@ declare module '@polkadot/types/types/registry' {
     'Option<SetId>': Option<SetId>;
     'Option<SetIndex>': Option<SetIndex>;
     'Option<SetLeadParams>': Option<SetLeadParams>;
+    'Option<Schedule>': Option<Schedule>;
+    'Option<Scheduled>': Option<Scheduled>;
+    'Option<ScheduledTo254>': Option<ScheduledTo254>;
+    'Option<SchedulePeriod>': Option<SchedulePeriod>;
+    'Option<SchedulePriority>': Option<SchedulePriority>;
+    'Option<ScheduleTo212>': Option<ScheduleTo212>;
+    'Option<ScheduleTo258>': Option<ScheduleTo258>;
+    'Option<ScheduleTo264>': Option<ScheduleTo264>;
+    'Option<Scheduling>': Option<Scheduling>;
     'Option<Si0Field>': Option<Si0Field>;
     'Option<Si0LookupTypeId>': Option<Si0LookupTypeId>;
     'Option<Si0Path>': Option<Si0Path>;
@@ -1090,7 +1090,6 @@ declare module '@polkadot/types/types/registry' {
     'Option<StakingLedgerTo240>': Option<StakingLedgerTo240>;
     'Option<Statement>': Option<Statement>;
     'Option<StatementKind>': Option<StatementKind>;
-    'Option<StorageChangeSet>': Option<StorageChangeSet>;
     'Option<StorageData>': Option<StorageData>;
     'Option<StorageEntryMetadataLatest>': Option<StorageEntryMetadataLatest>;
     'Option<StorageEntryMetadataV10>': Option<StorageEntryMetadataV10>;
@@ -1120,6 +1119,7 @@ declare module '@polkadot/types/types/registry' {
     'Option<StorageHasherV13>': Option<StorageHasherV13>;
     'Option<StorageHasherV14>': Option<StorageHasherV14>;
     'Option<StorageHasherV9>': Option<StorageHasherV9>;
+    'Option<StorageChangeSet>': Option<StorageChangeSet>;
     'Option<StorageKey>': Option<StorageKey>;
     'Option<StorageKind>': Option<StorageKind>;
     'Option<StorageMetadataLatest>': Option<StorageMetadataLatest>;
@@ -1428,27 +1428,11 @@ declare module '@polkadot/types/types/registry' {
     'Vec<CastVoteOf>': Vec<CastVoteOf>;
     'Vec<Category>': Vec<Category>;
     'Vec<CategoryId>': Vec<CategoryId>;
-    'Vec<ChainId>': Vec<ChainId>;
-    'Vec<ChainProperties>': Vec<ChainProperties>;
-    'Vec<ChainType>': Vec<ChainType>;
-    'Vec<ChangesTrieConfiguration>': Vec<ChangesTrieConfiguration>;
-    'Vec<ChangesTrieSignal>': Vec<ChangesTrieSignal>;
-    'Vec<Channel>': Vec<Channel>;
-    'Vec<ChannelCategory>': Vec<ChannelCategory>;
-    'Vec<ChannelCategoryCreationParameters>': Vec<ChannelCategoryCreationParameters>;
-    'Vec<ChannelCategoryId>': Vec<ChannelCategoryId>;
-    'Vec<ChannelCategoryUpdateParameters>': Vec<ChannelCategoryUpdateParameters>;
-    'Vec<ChannelCreationParameters>': Vec<ChannelCreationParameters>;
-    'Vec<ChannelId>': Vec<ChannelId>;
-    'Vec<ChannelOwner>': Vec<ChannelOwner>;
-    'Vec<ChannelOwnershipTransferRequest>': Vec<ChannelOwnershipTransferRequest>;
-    'Vec<ChannelOwnershipTransferRequestId>': Vec<ChannelOwnershipTransferRequestId>;
-    'Vec<ChannelUpdateParameters>': Vec<ChannelUpdateParameters>;
     'Vec<ClassDetails>': Vec<ClassDetails>;
     'Vec<ClassId>': Vec<ClassId>;
     'Vec<ClassMetadata>': Vec<ClassMetadata>;
-    'Vec<CodecHash>': Vec<CodecHash>;
     'Vec<CodeHash>': Vec<CodeHash>;
+    'Vec<CodecHash>': Vec<CodecHash>;
     'Vec<CollatorId>': Vec<CollatorId>;
     'Vec<CollatorSignature>': Vec<CollatorSignature>;
     'Vec<CollectiveOrigin>': Vec<CollectiveOrigin>;
@@ -1728,6 +1712,22 @@ declare module '@polkadot/types/types/registry' {
     'Vec<HrmpChannel>': Vec<HrmpChannel>;
     'Vec<HrmpChannelId>': Vec<HrmpChannelId>;
     'Vec<HrmpOpenChannelRequest>': Vec<HrmpOpenChannelRequest>;
+    'Vec<ChainId>': Vec<ChainId>;
+    'Vec<ChainProperties>': Vec<ChainProperties>;
+    'Vec<ChainType>': Vec<ChainType>;
+    'Vec<ChangesTrieConfiguration>': Vec<ChangesTrieConfiguration>;
+    'Vec<ChangesTrieSignal>': Vec<ChangesTrieSignal>;
+    'Vec<Channel>': Vec<Channel>;
+    'Vec<ChannelCategory>': Vec<ChannelCategory>;
+    'Vec<ChannelCategoryCreationParameters>': Vec<ChannelCategoryCreationParameters>;
+    'Vec<ChannelCategoryId>': Vec<ChannelCategoryId>;
+    'Vec<ChannelCategoryUpdateParameters>': Vec<ChannelCategoryUpdateParameters>;
+    'Vec<ChannelCreationParameters>': Vec<ChannelCreationParameters>;
+    'Vec<ChannelId>': Vec<ChannelId>;
+    'Vec<ChannelOwner>': Vec<ChannelOwner>;
+    'Vec<ChannelOwnershipTransferRequest>': Vec<ChannelOwnershipTransferRequest>;
+    'Vec<ChannelOwnershipTransferRequestId>': Vec<ChannelOwnershipTransferRequestId>;
+    'Vec<ChannelUpdateParameters>': Vec<ChannelUpdateParameters>;
     'Vec<i128>': Vec<i128>;
     'Vec<I128>': Vec<I128>;
     'Vec<i16>': Vec<i16>;
@@ -1874,10 +1874,10 @@ declare module '@polkadot/types/types/registry' {
     'Vec<NotConnectedPeer>': Vec<NotConnectedPeer>;
     'Vec<Null>': Vec<Null>;
     'Vec<ObjectOwner>': Vec<ObjectOwner>;
-    'Vec<OffchainAccuracy>': Vec<OffchainAccuracy>;
-    'Vec<OffchainAccuracyCompact>': Vec<OffchainAccuracyCompact>;
     'Vec<OffenceDetails>': Vec<OffenceDetails>;
     'Vec<Offender>': Vec<Offender>;
+    'Vec<OffchainAccuracy>': Vec<OffchainAccuracy>;
+    'Vec<OffchainAccuracyCompact>': Vec<OffchainAccuracyCompact>;
     'Vec<OpaqueCall>': Vec<OpaqueCall>;
     'Vec<OpaqueMultiaddr>': Vec<OpaqueMultiaddr>;
     'Vec<OpaqueNetworkState>': Vec<OpaqueNetworkState>;
@@ -1921,11 +1921,11 @@ declare module '@polkadot/types/types/registry' {
     'Vec<PalletStorageMetadataLatest>': Vec<PalletStorageMetadataLatest>;
     'Vec<PalletStorageMetadataV14>': Vec<PalletStorageMetadataV14>;
     'Vec<PalletVersion>': Vec<PalletVersion>;
+    'Vec<ParaGenesisArgs>': Vec<ParaGenesisArgs>;
     'Vec<ParachainDispatchOrigin>': Vec<ParachainDispatchOrigin>;
     'Vec<ParachainInherentData>': Vec<ParachainInherentData>;
     'Vec<ParachainProposal>': Vec<ParachainProposal>;
     'Vec<ParachainsInherentData>': Vec<ParachainsInherentData>;
-    'Vec<ParaGenesisArgs>': Vec<ParaGenesisArgs>;
     'Vec<ParaId>': Vec<ParaId>;
     'Vec<ParaInfo>': Vec<ParaInfo>;
     'Vec<ParaLifecycle>': Vec<ParaLifecycle>;
@@ -2047,10 +2047,10 @@ declare module '@polkadot/types/types/registry' {
     'Vec<Registration>': Vec<Registration>;
     'Vec<RegistrationJudgement>': Vec<RegistrationJudgement>;
     'Vec<RelayBlockNumber>': Vec<RelayBlockNumber>;
-    'Vec<RelayChainBlockNumber>': Vec<RelayChainBlockNumber>;
-    'Vec<RelayChainHash>': Vec<RelayChainHash>;
     'Vec<RelayerId>': Vec<RelayerId>;
     'Vec<RelayHash>': Vec<RelayHash>;
+    'Vec<RelayChainBlockNumber>': Vec<RelayChainBlockNumber>;
+    'Vec<RelayChainHash>': Vec<RelayChainHash>;
     'Vec<Releases>': Vec<Releases>;
     'Vec<Remark>': Vec<Remark>;
     'Vec<Renouncing>': Vec<Renouncing>;
@@ -2076,15 +2076,6 @@ declare module '@polkadot/types/types/registry' {
     'Vec<RuntimeVersion>': Vec<RuntimeVersion>;
     'Vec<RuntimeVersionApi>': Vec<RuntimeVersionApi>;
     'Vec<RuntimeVersionPartial>': Vec<RuntimeVersionPartial>;
-    'Vec<Schedule>': Vec<Schedule>;
-    'Vec<Scheduled>': Vec<Scheduled>;
-    'Vec<ScheduledTo254>': Vec<ScheduledTo254>;
-    'Vec<SchedulePeriod>': Vec<SchedulePeriod>;
-    'Vec<SchedulePriority>': Vec<SchedulePriority>;
-    'Vec<ScheduleTo212>': Vec<ScheduleTo212>;
-    'Vec<ScheduleTo258>': Vec<ScheduleTo258>;
-    'Vec<ScheduleTo264>': Vec<ScheduleTo264>;
-    'Vec<Scheduling>': Vec<Scheduling>;
     'Vec<Seal>': Vec<Seal>;
     'Vec<SealV0>': Vec<SealV0>;
     'Vec<Season>': Vec<Season>;
@@ -2116,6 +2107,15 @@ declare module '@polkadot/types/types/registry' {
     'Vec<SetId>': Vec<SetId>;
     'Vec<SetIndex>': Vec<SetIndex>;
     'Vec<SetLeadParams>': Vec<SetLeadParams>;
+    'Vec<Schedule>': Vec<Schedule>;
+    'Vec<Scheduled>': Vec<Scheduled>;
+    'Vec<ScheduledTo254>': Vec<ScheduledTo254>;
+    'Vec<SchedulePeriod>': Vec<SchedulePeriod>;
+    'Vec<SchedulePriority>': Vec<SchedulePriority>;
+    'Vec<ScheduleTo212>': Vec<ScheduleTo212>;
+    'Vec<ScheduleTo258>': Vec<ScheduleTo258>;
+    'Vec<ScheduleTo264>': Vec<ScheduleTo264>;
+    'Vec<Scheduling>': Vec<Scheduling>;
     'Vec<Si0Field>': Vec<Si0Field>;
     'Vec<Si0LookupTypeId>': Vec<Si0LookupTypeId>;
     'Vec<Si0Path>': Vec<Si0Path>;
@@ -2182,7 +2182,6 @@ declare module '@polkadot/types/types/registry' {
     'Vec<StakingLedgerTo240>': Vec<StakingLedgerTo240>;
     'Vec<Statement>': Vec<Statement>;
     'Vec<StatementKind>': Vec<StatementKind>;
-    'Vec<StorageChangeSet>': Vec<StorageChangeSet>;
     'Vec<StorageData>': Vec<StorageData>;
     'Vec<StorageEntryMetadataLatest>': Vec<StorageEntryMetadataLatest>;
     'Vec<StorageEntryMetadataV10>': Vec<StorageEntryMetadataV10>;
@@ -2212,6 +2211,7 @@ declare module '@polkadot/types/types/registry' {
     'Vec<StorageHasherV13>': Vec<StorageHasherV13>;
     'Vec<StorageHasherV14>': Vec<StorageHasherV14>;
     'Vec<StorageHasherV9>': Vec<StorageHasherV9>;
+    'Vec<StorageChangeSet>': Vec<StorageChangeSet>;
     'Vec<StorageKey>': Vec<StorageKey>;
     'Vec<StorageKind>': Vec<StorageKind>;
     'Vec<StorageMetadataLatest>': Vec<StorageMetadataLatest>;
@@ -2520,27 +2520,11 @@ declare module '@polkadot/types/types/registry' {
     CastVoteOf: CastVoteOf;
     Category: Category;
     CategoryId: CategoryId;
-    ChainId: ChainId;
-    ChainProperties: ChainProperties;
-    ChainType: ChainType;
-    ChangesTrieConfiguration: ChangesTrieConfiguration;
-    ChangesTrieSignal: ChangesTrieSignal;
-    Channel: Channel;
-    ChannelCategory: ChannelCategory;
-    ChannelCategoryCreationParameters: ChannelCategoryCreationParameters;
-    ChannelCategoryId: ChannelCategoryId;
-    ChannelCategoryUpdateParameters: ChannelCategoryUpdateParameters;
-    ChannelCreationParameters: ChannelCreationParameters;
-    ChannelId: ChannelId;
-    ChannelOwner: ChannelOwner;
-    ChannelOwnershipTransferRequest: ChannelOwnershipTransferRequest;
-    ChannelOwnershipTransferRequestId: ChannelOwnershipTransferRequestId;
-    ChannelUpdateParameters: ChannelUpdateParameters;
     ClassDetails: ClassDetails;
     ClassId: ClassId;
     ClassMetadata: ClassMetadata;
-    CodecHash: CodecHash;
     CodeHash: CodeHash;
+    CodecHash: CodecHash;
     CollatorId: CollatorId;
     CollatorSignature: CollatorSignature;
     CollectiveOrigin: CollectiveOrigin;
@@ -2820,6 +2804,22 @@ declare module '@polkadot/types/types/registry' {
     HrmpChannel: HrmpChannel;
     HrmpChannelId: HrmpChannelId;
     HrmpOpenChannelRequest: HrmpOpenChannelRequest;
+    ChainId: ChainId;
+    ChainProperties: ChainProperties;
+    ChainType: ChainType;
+    ChangesTrieConfiguration: ChangesTrieConfiguration;
+    ChangesTrieSignal: ChangesTrieSignal;
+    Channel: Channel;
+    ChannelCategory: ChannelCategory;
+    ChannelCategoryCreationParameters: ChannelCategoryCreationParameters;
+    ChannelCategoryId: ChannelCategoryId;
+    ChannelCategoryUpdateParameters: ChannelCategoryUpdateParameters;
+    ChannelCreationParameters: ChannelCreationParameters;
+    ChannelId: ChannelId;
+    ChannelOwner: ChannelOwner;
+    ChannelOwnershipTransferRequest: ChannelOwnershipTransferRequest;
+    ChannelOwnershipTransferRequestId: ChannelOwnershipTransferRequestId;
+    ChannelUpdateParameters: ChannelUpdateParameters;
     i128: i128;
     I128: I128;
     i16: i16;
@@ -2966,10 +2966,10 @@ declare module '@polkadot/types/types/registry' {
     NotConnectedPeer: NotConnectedPeer;
     Null: Null;
     ObjectOwner: ObjectOwner;
-    OffchainAccuracy: OffchainAccuracy;
-    OffchainAccuracyCompact: OffchainAccuracyCompact;
     OffenceDetails: OffenceDetails;
     Offender: Offender;
+    OffchainAccuracy: OffchainAccuracy;
+    OffchainAccuracyCompact: OffchainAccuracyCompact;
     OpaqueCall: OpaqueCall;
     OpaqueMultiaddr: OpaqueMultiaddr;
     OpaqueNetworkState: OpaqueNetworkState;
@@ -3013,11 +3013,11 @@ declare module '@polkadot/types/types/registry' {
     PalletStorageMetadataLatest: PalletStorageMetadataLatest;
     PalletStorageMetadataV14: PalletStorageMetadataV14;
     PalletVersion: PalletVersion;
+    ParaGenesisArgs: ParaGenesisArgs;
     ParachainDispatchOrigin: ParachainDispatchOrigin;
     ParachainInherentData: ParachainInherentData;
     ParachainProposal: ParachainProposal;
     ParachainsInherentData: ParachainsInherentData;
-    ParaGenesisArgs: ParaGenesisArgs;
     ParaId: ParaId;
     ParaInfo: ParaInfo;
     ParaLifecycle: ParaLifecycle;
@@ -3139,10 +3139,10 @@ declare module '@polkadot/types/types/registry' {
     Registration: Registration;
     RegistrationJudgement: RegistrationJudgement;
     RelayBlockNumber: RelayBlockNumber;
-    RelayChainBlockNumber: RelayChainBlockNumber;
-    RelayChainHash: RelayChainHash;
     RelayerId: RelayerId;
     RelayHash: RelayHash;
+    RelayChainBlockNumber: RelayChainBlockNumber;
+    RelayChainHash: RelayChainHash;
     Releases: Releases;
     Remark: Remark;
     Renouncing: Renouncing;
@@ -3168,15 +3168,6 @@ declare module '@polkadot/types/types/registry' {
     RuntimeVersion: RuntimeVersion;
     RuntimeVersionApi: RuntimeVersionApi;
     RuntimeVersionPartial: RuntimeVersionPartial;
-    Schedule: Schedule;
-    Scheduled: Scheduled;
-    ScheduledTo254: ScheduledTo254;
-    SchedulePeriod: SchedulePeriod;
-    SchedulePriority: SchedulePriority;
-    ScheduleTo212: ScheduleTo212;
-    ScheduleTo258: ScheduleTo258;
-    ScheduleTo264: ScheduleTo264;
-    Scheduling: Scheduling;
     Seal: Seal;
     SealV0: SealV0;
     Season: Season;
@@ -3208,6 +3199,15 @@ declare module '@polkadot/types/types/registry' {
     SetId: SetId;
     SetIndex: SetIndex;
     SetLeadParams: SetLeadParams;
+    Schedule: Schedule;
+    Scheduled: Scheduled;
+    ScheduledTo254: ScheduledTo254;
+    SchedulePeriod: SchedulePeriod;
+    SchedulePriority: SchedulePriority;
+    ScheduleTo212: ScheduleTo212;
+    ScheduleTo258: ScheduleTo258;
+    ScheduleTo264: ScheduleTo264;
+    Scheduling: Scheduling;
     Si0Field: Si0Field;
     Si0LookupTypeId: Si0LookupTypeId;
     Si0Path: Si0Path;
@@ -3274,7 +3274,6 @@ declare module '@polkadot/types/types/registry' {
     StakingLedgerTo240: StakingLedgerTo240;
     Statement: Statement;
     StatementKind: StatementKind;
-    StorageChangeSet: StorageChangeSet;
     StorageData: StorageData;
     StorageEntryMetadataLatest: StorageEntryMetadataLatest;
     StorageEntryMetadataV10: StorageEntryMetadataV10;
@@ -3304,6 +3303,7 @@ declare module '@polkadot/types/types/registry' {
     StorageHasherV13: StorageHasherV13;
     StorageHasherV14: StorageHasherV14;
     StorageHasherV9: StorageHasherV9;
+    StorageChangeSet: StorageChangeSet;
     StorageKey: StorageKey;
     StorageKind: StorageKind;
     StorageMetadataLatest: StorageMetadataLatest;

+ 0 - 1
types/src/forum.ts

@@ -40,7 +40,6 @@ export class Post extends JoyStructDecorated({
 }) {}
 
 export class Thread extends JoyStructDecorated({
-  metadata_hash: Hash,
   category_id: CategoryId,
   author_id: ForumUserId,
   poll: Option.with(Poll),