Browse Source

Types fixes

Leszek Wiesner 4 years ago
parent
commit
e49c4205c8

+ 56 - 38
types/augment-codec/augment-api-consts.ts

@@ -4,7 +4,7 @@
 import { Vec } from '@polkadot/types/codec';
 import { u32, u64 } from '@polkadot/types/primitive';
 import { ProposalParameters } from './all';
-import { Balance, BalanceOf, BlockNumber, LockIdentifier, Moment, Perbill, RuntimeDbWeight, Weight } from '@polkadot/types/interfaces/runtime';
+import { Balance, BalanceOf, BlockNumber, Moment, Perbill, RuntimeDbWeight, Weight } from '@polkadot/types/interfaces/runtime';
 import { SessionIndex } from '@polkadot/types/interfaces/session';
 import { EraIndex } from '@polkadot/types/interfaces/staking';
 import { WeightToFeeCoefficient } from '@polkadot/types/interfaces/support';
@@ -44,10 +44,6 @@ declare module '@polkadot/api/types/consts' {
        * Duration of annoncing period
        **/
       announcingPeriodDuration: BlockNumber & AugmentedConst<ApiType>;
-      /**
-       * Amount that will be added to the budget balance on every refill.
-       **/
-      budgetRefillAmount: Balance & AugmentedConst<ApiType>;
       /**
        * Interval between automatic budget refills.
        **/
@@ -56,10 +52,6 @@ declare module '@polkadot/api/types/consts' {
        * Council member count
        **/
       councilSize: u64 & AugmentedConst<ApiType>;
-      /**
-       * The value elected members will be awarded each block of their reign.
-       **/
-      electedMemberRewardPerBlock: Balance & AugmentedConst<ApiType>;
       /**
        * Interval for automatic reward payments.
        **/
@@ -108,53 +100,81 @@ declare module '@polkadot/api/types/consts' {
     };
     proposalsCodex: {
       /**
-       * Exports 'Add working group opening' proposal parameters.
+       * Exports 'Amend Constitution' proposal parameters.
        **/
-      addWorkingGroupOpeningProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      amendConstitutionProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
       /**
-       * Exports 'Amend constitution' proposal parameters.
+       * Exports 'Cancel Working Group Lead Opening' proposal parameters.
        **/
-      amendConstitutionProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      cancelWorkingGroupLeadOpeningProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      createBlogPostProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      /**
+       * Exports 'Create Working Group Lead Opening' proposal parameters.
+       **/
+      createWorkingGroupLeadOpeningProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
       /**
-       * Exports 'Decrease working group leader stake' proposal parameters.
+       * Exports 'Decrease Working Group Lead Stake' proposal parameters.
        **/
-      decreaseWorkingGroupLeaderStakeProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      decreaseWorkingGroupLeadStakeProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      editBlogPostProoposalParamters: ProposalParameters & AugmentedConst<ApiType>;
       /**
-       * Exports 'Fill working group opening' proposal parameters.
+       * Exports 'Fill Working Group Lead Opening' proposal parameters.
        **/
       fillWorkingGroupOpeningProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
       /**
-       * Exports 'Runtime upgrade' proposal parameters.
+       * Exports 'Funding Request' proposal parameters.
+       **/
+      fundingRequestProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      lockBlogPostProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      /**
+       * Exports 'Runtime Upgrade' proposal parameters.
        **/
       runtimeUpgradeProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
       /**
-       * Exports 'Set validator count' proposal parameters.
+       * Exports `Set Council Budget Increment` proposal parameters.
+       **/
+      setCouncilBudgetIncrementProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      /**
+       * Exports `Set Councilor Reward Proposal Parameters` proposal parameters.
+       **/
+      setCouncilorRewardProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      /**
+       * Exports `Set Initial Invitation Balance` proposal parameters.
        **/
-      setValidatorCountProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      setInitialInvitationBalanceProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      setInvitationCountProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
       /**
-       * Exports 'Set working group budget capacity' proposal parameters.
+       * Exports 'Set Max Validator Count' proposal parameters.
        **/
-      setWorkingGroupBudgetCapacityProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      setMaxValidatorCountProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      setMembershipLeadInvitationQuotaProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
       /**
-       * Exports 'Set working group leader reward' proposal parameters.
+       * Exports 'Set Membership Price' proposal parameters.
        **/
-      setWorkingGroupLeaderRewardProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      setMembershipPriceProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      setReferralCutProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
       /**
-       * Exports 'Slash working group leader stake' proposal parameters.
+       * Exports 'Set Working Group Lead Reward' proposal parameters.
        **/
-      slashWorkingGroupLeaderStakeProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      setWorkingGroupLeadRewardProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
       /**
-       * Exports 'Spending' proposal parameters.
+       * Exports 'Signal' proposal parameters.
        **/
-      spendingProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      signalProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
       /**
-       * Exports 'Terminate working group leader role' proposal parameters.
+       * Exports 'Slash Working Group Lead' proposal parameters.
        **/
-      terminateWorkingGroupLeaderRoleProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      slashWorkingGroupLeadProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
       /**
-       * Exports 'Text' proposal parameters.
+       * Exports 'Terminate Working Group Lead' proposal parameters.
        **/
-      textProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      terminateWorkingGroupLeadProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      unlockBlogPostProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      /**
+       * Exports 'Update Working Group Budget' proposal parameters.
+       **/
+      updateWorkingGroupBudgetProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      vetoProposalProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
     };
     proposalsEngine: {
       /**
@@ -170,7 +190,8 @@ declare module '@polkadot/api/types/consts' {
        **/
       maxActiveProposalLimit: u32 & AugmentedConst<ApiType>;
       /**
-       * Exports const -  the fee is applied when the proposal gets rejected. A fee would be slashed (burned).
+       * Exports const -  the fee is applied when the proposal gets rejected. A fee would
+       * be slashed (burned).
        **/
       rejectionFee: BalanceOf & AugmentedConst<ApiType>;
       /**
@@ -180,17 +201,14 @@ declare module '@polkadot/api/types/consts' {
     };
     referendum: {
       /**
-       * Identifier for currency locks used for staking.
-       **/
-      lockId: LockIdentifier & AugmentedConst<ApiType>;
-      /**
-       * Maximum length of vote commitment salt. Use length that ensures uniqueness for hashing e.g. std::u64::MAX.
+       * Maximum length of vote commitment salt. Use length that ensures uniqueness for hashing
+       * e.g. std::u64::MAX.
        **/
       maxSaltLength: u64 & AugmentedConst<ApiType>;
       /**
        * Minimum stake needed for voting
        **/
-      minimumStake: Balance & AugmentedConst<ApiType>;
+      minimumStake: BalanceOf & AugmentedConst<ApiType>;
       /**
        * Duration of revealing stage (number of blocks)
        **/

+ 57 - 44
types/augment-codec/augment-api-query.ts

@@ -4,7 +4,7 @@
 import { AnyNumber, ITuple, Observable } from '@polkadot/types/types';
 import { Option, Vec } from '@polkadot/types/codec';
 import { Bytes, bool, u32, u64 } from '@polkadot/types/primitive';
-import { Application, ApplicationId, Candidate, CastVoteOf, Category, CategoryId, ClassId, ClassOf, ConstitutionInfo, ContentId, CouncilMemberOf, CouncilStageUpdate, CuratorGroup, CuratorGroupId, DataObject, DataObjectStorageRelationship, DataObjectStorageRelationshipId, DataObjectType, DataObjectTypeId, DiscussionPost, DiscussionThread, EntityController, EntityCreationVoucher, EntityId, EntityOf, MemberId, Membership, MemoText, ModeratorId, Opening, OpeningId, Post, PostId, PropertyId, ProposalDetailsOf, ProposalId, ProposalOf, ReferendumStage, ServiceProviderRecord, StakingAccountMemberBinding, StorageProviderId, Thread, ThreadId, Url, VoteKind, Worker, WorkerId } from './all';
+import { Application, ApplicationId, Candidate, CastVoteOf, Category, CategoryId, ClassId, ClassOf, ConstitutionInfo, ContentId, CouncilMemberOf, CouncilStageUpdate, CuratorGroup, CuratorGroupId, DataObject, DataObjectStorageRelationship, DataObjectStorageRelationshipId, DataObjectType, DataObjectTypeId, DiscussionPost, DiscussionThread, EntityController, EntityCreationVoucher, EntityId, EntityOf, MemberId, Membership, MemoText, ModeratorId, Opening, OpeningId, Post, PostId, PropertyId, ProposalId, ProposalOf, ReferendumStage, ServiceProviderRecord, StakingAccountMemberBinding, StorageProviderId, Thread, ThreadId, Url, VoteKind, Worker, WorkerId } from './all';
 import { UncleEntryItem } from '@polkadot/types/interfaces/authorship';
 import { BabeAuthorityWeight, MaybeRandomness, NextConfigDescriptor, Randomness } from '@polkadot/types/interfaces/babe';
 import { AccountData, BalanceLock } from '@polkadot/types/interfaces/balances';
@@ -60,7 +60,7 @@ declare module '@polkadot/api/types/storage' {
       initialized: AugmentedQuery<ApiType, () => Observable<Option<MaybeRandomness>>>;
       /**
        * How late the current block is compared to its parent.
-       * 
+       *
        * This entry is populated as part of block execution and is cleaned up
        * on block finalization. Querying this storage entry outside of block
        * execution context should always yield zero.
@@ -76,9 +76,9 @@ declare module '@polkadot/api/types/storage' {
       nextRandomness: AugmentedQuery<ApiType, () => Observable<Randomness>>;
       /**
        * The epoch randomness for the *current* epoch.
-       * 
+       *
        * # Security
-       * 
+       *
        * This MUST NOT be used for gambling, as it can be influenced by a
        * malicious validator in the short term. It MAY be used in many
        * cryptographic protocols, however, so long as one remembers that this
@@ -89,11 +89,11 @@ declare module '@polkadot/api/types/storage' {
       randomness: AugmentedQuery<ApiType, () => Observable<Randomness>>;
       /**
        * Randomness under construction.
-       * 
+       *
        * We make a tradeoff between storage accesses and list length.
        * We store the under-construction randomness in segments of up to
        * `UNDER_CONSTRUCTION_SEGMENT_LENGTH`.
-       * 
+       *
        * Once a segment reaches this length, we begin the next one.
        * We reset all segments and return to `0` at the beginning of every
        * epoch.
@@ -107,7 +107,7 @@ declare module '@polkadot/api/types/storage' {
     balances: {
       /**
        * The balance of an account.
-       * 
+       *
        * NOTE: This is only used in the case that this module is used to store balances.
        **/
       account: AugmentedQuery<ApiType, (arg: AccountId | string | Uint8Array) => Observable<AccountData>>;
@@ -118,7 +118,7 @@ declare module '@polkadot/api/types/storage' {
       locks: AugmentedQuery<ApiType, (arg: AccountId | string | Uint8Array) => Observable<Vec<BalanceLock>>>;
       /**
        * Storage version of the pallet.
-       * 
+       *
        * This is set to v2.0.0 for new networks.
        **/
       storageVersion: AugmentedQuery<ApiType, () => Observable<Releases>>;
@@ -127,6 +127,21 @@ declare module '@polkadot/api/types/storage' {
        **/
       totalIssuance: AugmentedQuery<ApiType, () => Observable<Balance>>;
     };
+    blog: {
+      /**
+       * Post by unique blog and post identificators
+       **/
+      postById: AugmentedQuery<ApiType, (arg: PostId | AnyNumber | Uint8Array) => Observable<Post>>;
+      /**
+       * Maps, representing id => item relationship for blogs, posts and replies related structures
+       * Post count
+       **/
+      postCount: AugmentedQuery<ApiType, () => Observable<PostId>>;
+      /**
+       * Reply by unique blog, post and reply identificators
+       **/
+      replyById: AugmentedQueryDoubleMap<ApiType, (key1: PostId | AnyNumber | Uint8Array, key2: ReplyId | null) => Observable<Reply>>;
+    };
     constitution: {
       constitution: AugmentedQuery<ApiType, () => Observable<ConstitutionInfo>>;
     };
@@ -207,6 +222,10 @@ declare module '@polkadot/api/types/storage' {
        * Budget for the council's elected members rewards.
        **/
       budget: AugmentedQuery<ApiType, () => Observable<Balance>>;
+      /**
+       * Amount of balance to be refilled every budget period
+       **/
+      budgetIncrement: AugmentedQuery<ApiType, () => Observable<>>;
       /**
        * Map of all candidates that ever candidated and haven't unstake yet.
        **/
@@ -215,6 +234,10 @@ declare module '@polkadot/api/types/storage' {
        * Current council members
        **/
       councilMembers: AugmentedQuery<ApiType, () => Observable<Vec<CouncilMemberOf>>>;
+      /**
+       * Councilor reward per block
+       **/
+      councilorReward: AugmentedQuery<ApiType, () => Observable<>>;
       /**
        * The next block in which the budget will be increased.
        **/
@@ -381,7 +404,7 @@ declare module '@polkadot/api/types/storage' {
       /**
        * A mapping from grandpa set ID to the index of the *most recent* session for which its
        * members were responsible.
-       * 
+       *
        * TWOX-NOTE: `SetId` is not under user control.
        **/
       setIdSession: AugmentedQuery<ApiType, (arg: SetId | AnyNumber | Uint8Array) => Observable<Option<SessionIndex>>>;
@@ -402,7 +425,7 @@ declare module '@polkadot/api/types/storage' {
       authoredBlocks: AugmentedQueryDoubleMap<ApiType, (key1: SessionIndex | AnyNumber | Uint8Array, key2: ValidatorId | string | Uint8Array) => Observable<u32>>;
       /**
        * The block number after which it's ok to send heartbeats in current session.
-       * 
+       *
        * At the beginning of each session we set this to a value that should
        * fall roughly in the middle of the session duration.
        * The idea is to first wait for the validators to produce a block
@@ -432,14 +455,6 @@ declare module '@polkadot/api/types/storage' {
        * Registered unique handles hash and their mapping to their owner.
        **/
       memberIdByHandleHash: AugmentedQuery<ApiType, (arg: Bytes | string | Uint8Array) => Observable<MemberId>>;
-      /**
-       * Mapping of a controller account id to vector of member ids it controls.
-       **/
-      memberIdsByControllerAccountId: AugmentedQuery<ApiType, (arg: AccountId | string | Uint8Array) => Observable<Vec<MemberId>>>;
-      /**
-       * Mapping of a root account id to vector of member ids it controls.
-       **/
-      memberIdsByRootAccountId: AugmentedQuery<ApiType, (arg: AccountId | string | Uint8Array) => Observable<Vec<MemberId>>>;
       /**
        * Mapping of member's id to their membership profile.
        **/
@@ -524,19 +539,15 @@ declare module '@polkadot/api/types/storage' {
       reports: AugmentedQuery<ApiType, (arg: ReportIdOf | string | Uint8Array) => Observable<Option<OffenceDetails>>>;
       /**
        * Enumerates all reports of a kind along with the time they happened.
-       * 
+       *
        * All reports are sorted by the time of offence.
-       * 
+       *
        * Note that the actual type of this mapping is `Vec<u8>`, this is because values of
        * different types are not supported at the moment so we are doing the manual serialization.
        **/
       reportsByKindIndex: AugmentedQuery<ApiType, (arg: Kind | string | Uint8Array) => Observable<Bytes>>;
     };
     proposalsCodex: {
-      /**
-       * Map proposal id to proposal details
-       **/
-      proposalDetailsByProposalId: AugmentedQuery<ApiType, (arg: ProposalId | AnyNumber | Uint8Array) => Observable<ProposalDetailsOf>>;
       /**
        * Map proposal id to its discussion thread id
        **/
@@ -596,9 +607,11 @@ declare module '@polkadot/api/types/storage' {
        **/
       stage: AugmentedQuery<ApiType, () => Observable<ReferendumStage>>;
       /**
-       * Votes cast in the referendum. A new record is added to this map when a user casts a sealed vote.
+       * Votes cast in the referendum. A new record is added to this map when a user casts a
+       * sealed vote.
        * It is modified when a user reveals the vote's commitment proof.
-       * A record is finally removed when the user unstakes, which can happen during a voting stage or after the current cycle ends.
+       * A record is finally removed when the user unstakes, which can happen during a voting
+       * stage or after the current cycle ends.
        * A stake for a vote can be reused in future referendum cycles.
        **/
       votes: AugmentedQuery<ApiType, (arg: AccountId | string | Uint8Array) => Observable<CastVoteOf>>;
@@ -610,7 +623,7 @@ declare module '@polkadot/api/types/storage' {
       currentIndex: AugmentedQuery<ApiType, () => Observable<SessionIndex>>;
       /**
        * Indices of disabled validators.
-       * 
+       *
        * The set is cleared when `on_session_ending` returns a new set of identities.
        **/
       disabledValidators: AugmentedQuery<ApiType, () => Observable<Vec<u32>>>;
@@ -640,7 +653,7 @@ declare module '@polkadot/api/types/storage' {
     staking: {
       /**
        * The active era information, it holds index and start.
-       * 
+       *
        * The active era is the era currently rewarded.
        * Validator set of this era must be equal to `SessionInterface::validators`.
        **/
@@ -651,7 +664,7 @@ declare module '@polkadot/api/types/storage' {
       bonded: AugmentedQuery<ApiType, (arg: AccountId | string | Uint8Array) => Observable<Option<AccountId>>>;
       /**
        * A mapping from still-bonded eras to the first session index of that era.
-       * 
+       *
        * Must contains information for eras for the range:
        * `[active_era - bounding_duration; active_era]`
        **/
@@ -663,7 +676,7 @@ declare module '@polkadot/api/types/storage' {
       canceledSlashPayout: AugmentedQuery<ApiType, () => Observable<BalanceOf>>;
       /**
        * The current era index.
-       * 
+       *
        * This is the latest planned era, depending on how the Session pallet queues the validator
        * set, it might be active or not.
        **/
@@ -684,23 +697,23 @@ declare module '@polkadot/api/types/storage' {
       erasRewardPoints: AugmentedQuery<ApiType, (arg: EraIndex | AnyNumber | Uint8Array) => Observable<EraRewardPoints>>;
       /**
        * Exposure of validator at era.
-       * 
+       *
        * This is keyed first by the era index to allow bulk deletion and then the stash account.
-       * 
+       *
        * Is it removed after `HISTORY_DEPTH` eras.
        * If stakers hasn't been set or has been removed then empty exposure is returned.
        **/
       erasStakers: AugmentedQueryDoubleMap<ApiType, (key1: EraIndex | AnyNumber | Uint8Array, key2: AccountId | string | Uint8Array) => Observable<Exposure>>;
       /**
        * Clipped Exposure of validator at era.
-       * 
+       *
        * This is similar to [`ErasStakers`] but number of nominators exposed is reduced to the
        * `T::MaxNominatorRewardedPerValidator` biggest stakers.
        * (Note: the field `total` and `own` of the exposure remains unchanged).
        * This is used to limit the i/o cost for the nominator payout.
-       * 
+       *
        * This is keyed fist by the era index to allow bulk deletion and then the stash account.
-       * 
+       *
        * Is it removed after `HISTORY_DEPTH` eras.
        * If stakers hasn't been set or has been removed then empty exposure is returned.
        **/
@@ -716,15 +729,15 @@ declare module '@polkadot/api/types/storage' {
       erasTotalStake: AugmentedQuery<ApiType, (arg: EraIndex | AnyNumber | Uint8Array) => Observable<BalanceOf>>;
       /**
        * Similar to `ErasStakers`, this holds the preferences of validators.
-       * 
+       *
        * This is keyed first by the era index to allow bulk deletion and then the stash account.
-       * 
+       *
        * Is it removed after `HISTORY_DEPTH` eras.
        **/
       erasValidatorPrefs: AugmentedQueryDoubleMap<ApiType, (key1: EraIndex | AnyNumber | Uint8Array, key2: AccountId | string | Uint8Array) => Observable<ValidatorPrefs>>;
       /**
        * The total validator era payout for the last `HISTORY_DEPTH` eras.
-       * 
+       *
        * Eras that haven't finished yet or has been removed doesn't have reward.
        **/
       erasValidatorReward: AugmentedQuery<ApiType, (arg: EraIndex | AnyNumber | Uint8Array) => Observable<Option<BalanceOf>>>;
@@ -734,9 +747,9 @@ declare module '@polkadot/api/types/storage' {
       forceEra: AugmentedQuery<ApiType, () => Observable<Forcing>>;
       /**
        * Number of eras to keep in history.
-       * 
+       *
        * Information is kept for eras in `[current_era - history_depth; current_era]`.
-       * 
+       *
        * Must be more than the number of eras delayed by session otherwise. I.e. active era must
        * always be in history. I.e. `active_era > current_era - history_depth` must be
        * guaranteed.
@@ -789,7 +802,7 @@ declare module '@polkadot/api/types/storage' {
       slashingSpans: AugmentedQuery<ApiType, (arg: AccountId | string | Uint8Array) => Observable<Option<SlashingSpans>>>;
       /**
        * The percentage of the slash that is distributed to reporters.
-       * 
+       *
        * The rest of the slashed value is handled by the `Slash`.
        **/
       slashRewardFraction: AugmentedQuery<ApiType, () => Observable<Perbill>>;
@@ -811,7 +824,7 @@ declare module '@polkadot/api/types/storage' {
       /**
        * True if network has been upgraded to this version.
        * Storage version of the pallet.
-       * 
+       *
        * This is set to v3.0.0 for new networks.
        **/
       storageVersion: AugmentedQuery<ApiType, () => Observable<Releases>>;
@@ -913,11 +926,11 @@ declare module '@polkadot/api/types/storage' {
       /**
        * Mapping between a topic (represented by T::Hash) and a vector of indexes
        * of events in the `<Events<T>>` list.
-       * 
+       *
        * All topic vectors have deterministic storage locations depending on the topic. This
        * allows light-clients to leverage the changes trie storage tracking mechanism and
        * in case of changes fetch the list of events of interest.
-       * 
+       *
        * The value has the type `(T::BlockNumber, EventIndex)` because if we used only just
        * the `EventIndex` then in case if the topic has the same contents on the next block
        * no notification will be triggered thus the event might be lost.

+ 494 - 28
types/augment-codec/augment-api-tx.ts

@@ -4,7 +4,7 @@
 import { AnyNumber } from '@polkadot/types/types';
 import { BTreeMap, BTreeSet, Compact, Option, Vec } from '@polkadot/types/codec';
 import { Bytes, bool, u16, u32, u64 } from '@polkadot/types/primitive';
-import { Actor, ActorId, ApplicationId, ApplyOnOpeningParameters, BuyMembershipParameters, CategoryId, ClassId, ClassPermissions, ContentId, CuratorGroupId, CuratorId, DataObjectStorageRelationshipId, DataObjectType, DataObjectTypeId, DataObjectsMap, EntityController, EntityId, ForumUserId, GeneralProposalParameters, InputPropertyValue, InputValue, InviteMembershipParameters, MemberId, MemoText, ModeratorId, Nonce, OpeningId, OpeningType, OperationType, Penalty, Poll, PostId, PostReactionId, PrivilegedActor, Property, PropertyId, ProposalDetailsOf, ProposalId, SchemaId, StakePolicy, StorageProviderId, ThreadId, ThreadMode, Url, VecMaxLength, VoteKind, WorkerId } from './all';
+import { Actor, ActorId, ApplicationId, ApplyOnOpeningParameters, BuyMembershipParameters, CategoryId, ClassId, ClassPermissions, ContentId, CuratorGroupId, CuratorId, DataObjectStorageRelationshipId, DataObjectType, DataObjectTypeId, DataObjectsMap, EntityController, EntityId, ForumUserId, GeneralProposalParameters, InputPropertyValue, InputValue, InviteMembershipParameters, MemberId, MemoText, ModeratorId, Nonce, OpeningId, OpeningType, OperationType, Poll, PostId, PostReactionId, PrivilegedActor, Property, PropertyId, ProposalDetailsOf, ProposalId, SchemaId, StakePolicy, StorageProviderId, ThreadId, ThreadMode, Url, VecMaxLength, VoteKind, WorkerId, WorkingGroup } from './all';
 import { BabeEquivocationProof } from '@polkadot/types/interfaces/babe';
 import { Extrinsic, Signature } from '@polkadot/types/interfaces/extrinsics';
 import { GrandpaEquivocationProof, KeyOwnerProof } from '@polkadot/types/interfaces/grandpa';
@@ -119,6 +119,89 @@ declare module '@polkadot/api/types/submittable' {
        **/
       transferKeepAlive: AugmentedSubmittable<(dest: LookupSource | string | Uint8Array, value: Compact<Balance> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
     };
+    blog: {
+      /**
+       * Blog owner can create posts, related to a given blog, if related blog is unlocked
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (T + B)` where:
+       * - `T` is the length of the title
+       * - `B` is the length of the body
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
+       **/
+      createPost: AugmentedSubmittable<(title: Bytes | string | Uint8Array, body: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Create either root post reply or direct reply to reply
+       * (Only accessible, if related blog and post are unlocked)
+       * <weight>
+       * 
+       * ## Weight
+       * `O (T)` where:
+       * - `T` is the length of the `text`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
+       **/
+      createReply: AugmentedSubmittable<(participantId: ParticipantId | null, postId: PostId | AnyNumber | Uint8Array, replyId: Option<ReplyId> | null | object | string | Uint8Array, text: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Blog owner can edit post, related to a given blog (if unlocked)
+       * with a new title and/or body
+       * <weight>
+       * 
+       * ## Weight
+       * `O (T + B)` where:
+       * - `T` is the length of the `new_title`
+       * - `B` is the length of the `new_body`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
+       **/
+      editPost: AugmentedSubmittable<(postId: PostId | AnyNumber | Uint8Array, newTitle: Option<Bytes> | null | object | string | Uint8Array, newBody: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Reply owner can edit reply with a new text
+       * (Only accessible, if related blog and post are unlocked)
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (T)` where:
+       * - `T` is the length of the `new_text`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
+       **/
+      editReply: AugmentedSubmittable<(participantId: ParticipantId | null, postId: PostId | AnyNumber | Uint8Array, replyId: ReplyId | null, newText: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Blog owner can lock posts, related to a given blog,
+       * making post immutable to any actions (replies creation, post editing, etc.)
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)` doesn't depends on the state or parameters
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
+       **/
+      lockPost: AugmentedSubmittable<(postId: PostId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Blog owner can unlock posts, related to a given blog,
+       * making post accesible to previously forbidden actions
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)` doesn't depends on the state or parameters
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
+       **/
+      unlockPost: AugmentedSubmittable<(postId: PostId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+    };
     constitution: {
       /**
        * Sets the current constitution hash. Requires root origin.
@@ -317,7 +400,7 @@ declare module '@polkadot/api/types/submittable' {
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      leaveRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      leaveRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, rationale: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Sets a new budget for the working group.
        * Requires root origin.
@@ -359,7 +442,7 @@ declare module '@polkadot/api/types/submittable' {
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      slashStake: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: Penalty | { slashing_text?: any; slashing_amount?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      slashStake: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: BalanceOf | AnyNumber | Uint8Array, rationale: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Transfers specified amount to any account.
        * Requires leader origin.
@@ -385,7 +468,7 @@ declare module '@polkadot/api/types/submittable' {
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      terminateRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: Option<Penalty> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      terminateRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: Option<BalanceOf> | null | object | string | Uint8Array, rationale: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Update the reward account associated with a set reward relationship for the active worker.
        * 
@@ -449,6 +532,19 @@ declare module '@polkadot/api/types/submittable' {
        * # </weight>
        **/
       announceCandidacy: AugmentedSubmittable<(membershipId: MemberId | AnyNumber | Uint8Array, stakingAccountId: AccountId | string | Uint8Array, rewardAccountId: AccountId | string | Uint8Array, stake: Balance | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Transfers funds from council budget to account
+       * 
+       * # <weight>
+       * 
+       * ## weight
+       * `O (F)` where:
+       * `F` is the length of `funding_requests`
+       * - db:
+       * - `O(1)` doesn't depend on the state or parameters
+       * # </weight>
+       **/
+      fundingRequest: AugmentedSubmittable<(fundingRequests: Vec<FundingRequestParameters> | (FundingRequestParameters | null)[]) => SubmittableExtrinsic<ApiType>>;
       /**
        * Plan the next budget refill.
        * 
@@ -485,6 +581,18 @@ declare module '@polkadot/api/types/submittable' {
        * # </weight>
        **/
       setBudget: AugmentedSubmittable<(balance: Balance | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Sets the budget refill amount
+       * 
+       * # <weight>
+       * 
+       * ## weight
+       * `O (1)`
+       * - db:
+       * - `O(1)` doesn't depend on the state or parameters
+       * # </weight>
+       **/
+      setBudgetIncrement: AugmentedSubmittable<(budgetIncrement: Balance | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Set short description for the user's candidacy. Can be called anytime during user's candidacy.
        * 
@@ -498,6 +606,18 @@ declare module '@polkadot/api/types/submittable' {
        * # </weight>
        **/
       setCandidacyNote: AugmentedSubmittable<(membershipId: MemberId | AnyNumber | Uint8Array, note: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Sets the councilor reward per block
+       * 
+       * # <weight>
+       * 
+       * ## weight
+       * `O (1)`
+       * - db:
+       * - `O(1)` doesn't depend on the state or parameters
+       * # </weight>
+       **/
+      setCouncilorReward: AugmentedSubmittable<(councilorReward: Balance | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Withdraw candidacy and release candidacy stake.
        * 
@@ -607,51 +727,222 @@ declare module '@polkadot/api/types/submittable' {
     forum: {
       /**
        * Add post
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W + V)` where:
+       * - `W` is the category depth,
+       * - `V` is the length of the text
+       * - DB:
+       * - O(W)
+       * # </weight>
        **/
       addPost: AugmentedSubmittable<(forumUserId: ForumUserId | AnyNumber | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, text: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Add a new category.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W + V + X)` where:
+       * - `W` is the category depth
+       * - `V` is the length of the category title.
+       * - `X` is the length of the category description.
+       * - DB:
+       * - O(W)
+       * # </weight>
        **/
       createCategory: AugmentedSubmittable<(parentCategoryId: Option<CategoryId> | null | object | string | Uint8Array, title: Bytes | string | Uint8Array, description: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Create new thread in category with poll
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W + V + X + Y)` where:
+       * - `W` is the category depth
+       * - `V` is the length of the thread title.
+       * - `X` is the length of the thread text.
+       * - `Y` is the number of poll alternatives.
+       * - DB:
+       * - O(W)
+       * # </weight>
        **/
       createThread: AugmentedSubmittable<(forumUserId: ForumUserId | AnyNumber | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, title: Bytes | string | Uint8Array, text: Bytes | string | Uint8Array, poll: Option<Poll> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Delete category
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W)` where:
+       * - `W` is the category depth
+       * - DB:
+       * - O(W)
+       * # </weight>
+       **/
       deleteCategory: AugmentedSubmittable<(actor: PrivilegedActor | { Lead: any } | { Moderator: any } | string | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Delete thread
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W)` where:
+       * - `W` is the category depth
+       * - DB:
+       * - O(W)
+       * # </weight>
+       **/
       deleteThread: AugmentedSubmittable<(actor: PrivilegedActor | { Lead: any } | { Moderator: any } | string | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Edit post text
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W + V)` where:
+       * - `W` is the category depth,
+       * - `V` is the length of the new text
+       * - DB:
+       * - O(W)
+       * # </weight>
        **/
       editPostText: AugmentedSubmittable<(forumUserId: ForumUserId | AnyNumber | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, postId: PostId | AnyNumber | Uint8Array, newText: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Edit thread title
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W + V)` where:
+       * - `W` is the category depth
+       * - `V` is the length of the thread title.
+       * - DB:
+       * - O(W)
+       * # </weight>
+       **/
       editThreadTitle: AugmentedSubmittable<(forumUserId: ForumUserId | AnyNumber | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, newTitle: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Moderate post
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W + V)` where:
+       * - `W` is the category depth,
+       * - `V` is the length of the rationale
+       * - DB:
+       * - O(W)
+       * # </weight>
        **/
       moderatePost: AugmentedSubmittable<(actor: PrivilegedActor | { Lead: any } | { Moderator: any } | string | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, postId: PostId | AnyNumber | Uint8Array, rationale: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Moderate thread
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W + V + X)` where:
+       * - `W` is the category depth,
+       * - `V` is the number of thread posts,
+       * - `X` is the length of the rationale
+       * - DB:
+       * - O(W + V)
+       * # </weight>
+       **/
       moderateThread: AugmentedSubmittable<(actor: PrivilegedActor | { Lead: any } | { Moderator: any } | string | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, rationale: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Move thread to another category
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W)` where:
+       * - `W` is the category depth
+       * - DB:
+       * - O(W)
+       * # </weight>
+       **/
       moveThreadToCategory: AugmentedSubmittable<(actor: PrivilegedActor | { Lead: any } | { Moderator: any } | string | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, newCategoryId: CategoryId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
-       * like or unlike a post.
+       * Like or unlike a post.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W)` where:
+       * - `W` is the category depth,
+       * - DB:
+       * - O(W)
+       * # </weight>
        **/
       reactPost: AugmentedSubmittable<(forumUserId: ForumUserId | AnyNumber | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, postId: PostId | AnyNumber | Uint8Array, react: PostReactionId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Set stickied threads for category
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W + V)` where:
+       * - `W` is the category depth,
+       * - `V` is the length of the stickied_ids
+       * - DB:
+       * - O(W + V)
+       * # </weight>
        **/
       setStickiedThreads: AugmentedSubmittable<(actor: PrivilegedActor | { Lead: any } | { Moderator: any } | string | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, stickiedIds: Vec<ThreadId> | (ThreadId | AnyNumber | Uint8Array)[]) => SubmittableExtrinsic<ApiType>>;
       /**
-       * Update category
+       * Update archival status
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W)` where:
+       * - `W` is the category depth
+       * - DB:
+       * - O(W)
+       * # </weight>
        **/
       updateCategoryArchivalStatus: AugmentedSubmittable<(actor: PrivilegedActor | { Lead: any } | { Moderator: any } | string | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, newArchivalStatus: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Enable a moderator can moderate a category and its sub categories.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
        **/
       updateCategoryMembershipOfModerator: AugmentedSubmittable<(moderatorId: ModeratorId | AnyNumber | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, newValue: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
-       * Update category
+       * Update thread archival status
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W)` where:
+       * - `W` is the category depth
+       * - DB:
+       * - O(W)
+       * # </weight>
        **/
       updateThreadArchivalStatus: AugmentedSubmittable<(actor: PrivilegedActor | { Lead: any } | { Moderator: any } | string | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, newArchivalStatus: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
-       * submit a poll
+       * Submit a poll
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W + V)` where:
+       * - `W` is the category depth,
+       * - `V` is the number of poll alternatives.
+       * - DB:
+       * - O(W)
+       * # </weight>
        **/
       voteOnPoll: AugmentedSubmittable<(forumUserId: ForumUserId | AnyNumber | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
     };
@@ -747,7 +1038,7 @@ declare module '@polkadot/api/types/submittable' {
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      leaveRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      leaveRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, rationale: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Sets a new budget for the working group.
        * Requires root origin.
@@ -789,7 +1080,7 @@ declare module '@polkadot/api/types/submittable' {
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      slashStake: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: Penalty | { slashing_text?: any; slashing_amount?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      slashStake: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: BalanceOf | AnyNumber | Uint8Array, rationale: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Transfers specified amount to any account.
        * Requires leader origin.
@@ -815,7 +1106,7 @@ declare module '@polkadot/api/types/submittable' {
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      terminateRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: Option<Penalty> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      terminateRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: Option<BalanceOf> | null | object | string | Uint8Array, rationale: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Update the reward account associated with a set reward relationship for the active worker.
        * 
@@ -911,63 +1202,235 @@ declare module '@polkadot/api/types/submittable' {
        **/
       heartbeat: AugmentedSubmittable<(heartbeat: Heartbeat | { blockNumber?: any; networkState?: any; sessionIndex?: any; authorityIndex?: any; validatorsLen?: any } | string | Uint8Array, signature: Signature | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
     };
+    joystreamUtility: {
+      /**
+       * Burns token for caller account
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)` Doesn't depend on the state or parameters
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
+       **/
+      burnAccountTokens: AugmentedSubmittable<(amount: BalanceOf | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Runtime upgrade proposal extrinsic.
+       * Should be used as callable object to pass to the `engine` module.
+       * <weight>
+       * 
+       * ## Weight
+       * `O (C)` where:
+       * - `C` is the length of `wasm`
+       * However, we treat this as a full block as `frame_system::Module::set_code` does
+       * # </weight>
+       **/
+      executeRuntimeUpgradeProposal: AugmentedSubmittable<(wasm: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Signal proposal extrinsic. Should be used as callable object to pass to the `engine` module.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (S)` where:
+       * - `S` is the length of the signal
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
+       **/
+      executeSignalProposal: AugmentedSubmittable<(signal: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Update working group budget
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)` Doesn't depend on the state or parameters
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
+       **/
+      updateWorkingGroupBudget: AugmentedSubmittable<(workingGroup: WorkingGroup | 'Forum'|'Storage'|'Content'|'Membership' | number | Uint8Array, amount: BalanceOf | AnyNumber | Uint8Array, balanceKind: BalanceKind | null) => SubmittableExtrinsic<ApiType>>;
+    };
     members: {
       /**
        * Add staking account candidate for a member.
        * The membership must be confirmed before usage.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
        **/
       addStakingAccountCandidate: AugmentedSubmittable<(memberId: MemberId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Non-members can buy membership.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W + V + X + Y)` where:
+       * - `W` is the member name
+       * - `V` is the member handle
+       * - `X` is the member avatar uri
+       * - `Y` is the member about
+       * - DB:
+       * - O(V)
+       * # </weight>
        **/
       buyMembership: AugmentedSubmittable<(params: BuyMembershipParameters | { root_account?: any; controller_account?: any; name?: any; handle?: any; avatar_uri?: any; about?: any; referrer_id?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Confirm staking account candidate for a member.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
        **/
       confirmStakingAccount: AugmentedSubmittable<(memberId: MemberId | AnyNumber | Uint8Array, stakingAccountId: AccountId | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Invite a new member.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W + V + X + Y)` where:
+       * - `W` is the member name
+       * - `V` is the member handle
+       * - `X` is the member avatar uri
+       * - `Y` is the member about
+       * - DB:
+       * - O(V)
+       * # </weight>
        **/
       inviteMember: AugmentedSubmittable<(params: InviteMembershipParameters | { inviting_member_id?: any; root_account?: any; controller_account?: any; name?: any; handle?: any; avatar_uri?: any; about?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Remove staking account for a member.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
        **/
       removeStakingAccount: AugmentedSubmittable<(memberId: MemberId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Updates initial invitation balance for a invited member. Requires root origin.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
        **/
       setInitialInvitationBalance: AugmentedSubmittable<(newInitialBalance: BalanceOf | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Updates initial invitation count for a member. Requires root origin.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
        **/
       setInitialInvitationCount: AugmentedSubmittable<(newInvitationCount: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Updates leader invitation quota. Requires root origin.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
        **/
       setLeaderInvitationQuota: AugmentedSubmittable<(invitationQuota: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Updates membership price. Requires root origin.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
        **/
       setMembershipPrice: AugmentedSubmittable<(newPrice: BalanceOf | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Updates membership referral cut. Requires root origin.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
        **/
       setReferralCut: AugmentedSubmittable<(value: BalanceOf | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Transfers invites from one member to another.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
        **/
       transferInvites: AugmentedSubmittable<(sourceMemberId: MemberId | AnyNumber | Uint8Array, targetMemberId: MemberId | AnyNumber | Uint8Array, numberOfInvites: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Updates member root or controller accounts. No effect if both new accounts are empty.
+       * 
+       * <weight>
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
        **/
       updateAccounts: AugmentedSubmittable<(memberId: MemberId | AnyNumber | Uint8Array, newRootAccount: Option<AccountId> | null | object | string | Uint8Array, newControllerAccount: Option<AccountId> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Update member's all or some of name, handle, avatar and about text.
        * No effect if no changed fields.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W)` where:
+       * - `W` is the handle length
+       * - DB:
+       * - O(W)
+       * # </weight>
        **/
       updateProfile: AugmentedSubmittable<(memberId: MemberId | AnyNumber | Uint8Array, name: Option<Bytes> | null | object | string | Uint8Array, handle: Option<Bytes> | null | object | string | Uint8Array, avatarUri: Option<Bytes> | null | object | string | Uint8Array, about: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Updates member profile verification status. Requires working group member origin.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
        **/
       updateProfileVerification: AugmentedSubmittable<(workerId: ActorId | AnyNumber | Uint8Array, targetMemberId: MemberId | AnyNumber | Uint8Array, isVerified: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>>;
     };
@@ -1063,7 +1526,7 @@ declare module '@polkadot/api/types/submittable' {
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      leaveRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      leaveRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, rationale: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Sets a new budget for the working group.
        * Requires root origin.
@@ -1105,7 +1568,7 @@ declare module '@polkadot/api/types/submittable' {
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      slashStake: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: Penalty | { slashing_text?: any; slashing_amount?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      slashStake: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: BalanceOf | AnyNumber | Uint8Array, rationale: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Transfers specified amount to any account.
        * Requires leader origin.
@@ -1131,7 +1594,7 @@ declare module '@polkadot/api/types/submittable' {
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      terminateRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: Option<Penalty> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      terminateRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: Option<BalanceOf> | null | object | string | Uint8Array, rationale: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Update the reward account associated with a set reward relationship for the active worker.
        * 
@@ -1188,17 +1651,19 @@ declare module '@polkadot/api/types/submittable' {
     proposalsCodex: {
       /**
        * Create a proposal, the type of proposal depends on the `proposal_details` variant
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (T + D + I)` where:
+       * - `T` is the length of the title
+       * - `D` is the length of the description
+       * - `I` is the length of any parameter in `proposal_details`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
        **/
       createProposal: AugmentedSubmittable<(generalProposalParameters: GeneralProposalParameters | { member_id?: any; title?: any; description?: any; staking_account_id?: any; exact_execution_block?: any } | string | Uint8Array, proposalDetails: ProposalDetailsOf | { Text: any } | { RuntimeUpgrade: any } | { Spending: any } | { SetValidatorCount: any } | { AddWorkingGroupLeaderOpening: any } | { FillWorkingGroupLeaderOpening: any } | { SetWorkingGroupBudgetCapacity: any } | { DecreaseWorkingGroupLeaderStake: any } | { SlashWorkingGroupLeaderStake: any } | { SetWorkingGroupLeaderReward: any } | { TerminateWorkingGroupLeaderRole: any } | { AmendConstitution: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
-      /**
-       * Runtime upgrade proposal extrinsic.
-       * Should be used as callable object to pass to the `engine` module.
-       **/
-      executeRuntimeUpgradeProposal: AugmentedSubmittable<(wasm: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
-      /**
-       * Text proposal extrinsic. Should be used as callable object to pass to the `engine` module.
-       **/
-      executeTextProposal: AugmentedSubmittable<(text: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
     };
     proposalsDiscussion: {
       /**
@@ -1299,7 +1764,8 @@ declare module '@polkadot/api/types/submittable' {
        * 
        * ## Weight
        * `O (W)` where:
-       * - `W` is the number of `intermediate_winners` stored in the current `Stage::<T, I>::get()`
+       * - `W` is the number of `intermediate_winners` stored in the current
+       * `Stage::<T, I>::get()`
        * - DB:
        * - `O(1)` doesn't depend on the state or parameters
        * # </weight>
@@ -1316,7 +1782,7 @@ declare module '@polkadot/api/types/submittable' {
        * - `O(1)` doesn't depend on the state or parameters
        * # </weight>
        **/
-      vote: AugmentedSubmittable<(commitment: Hash | string | Uint8Array, stake: Balance | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      vote: AugmentedSubmittable<(commitment: Hash | string | Uint8Array, stake: BalanceOf | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
     };
     session: {
       /**
@@ -1925,7 +2391,7 @@ declare module '@polkadot/api/types/submittable' {
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      leaveRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      leaveRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, rationale: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Sets a new budget for the working group.
        * Requires root origin.
@@ -1967,7 +2433,7 @@ declare module '@polkadot/api/types/submittable' {
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      slashStake: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: Penalty | { slashing_text?: any; slashing_amount?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      slashStake: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: BalanceOf | AnyNumber | Uint8Array, rationale: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Transfers specified amount to any account.
        * Requires leader origin.
@@ -1993,7 +2459,7 @@ declare module '@polkadot/api/types/submittable' {
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      terminateRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: Option<Penalty> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      terminateRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: Option<BalanceOf> | null | object | string | Uint8Array, rationale: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Update the reward account associated with a set reward relationship for the active worker.
        * 

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

@@ -136,7 +136,7 @@
     "Application": {
         "role_account_id": "AccountId",
         "reward_account_id": "AccountId",
-        "staking_account_id": "AccountId",
+        "staking_account_id": "Option<AccountId>",
         "member_id": "MemberId",
         "description_hash": "Text"
     },
@@ -165,7 +165,7 @@
     "Opening": {
         "opening_type": "OpeningType",
         "created": "u32",
-        "description_hash": "Text",
+        "description_hash": "Bytes",
         "stake_policy": "Option<StakePolicy>",
         "reward_per_block": "Option<u128>"
     },

+ 2 - 2
types/augment/all/types.ts

@@ -40,7 +40,7 @@ export interface AddSchemaSupportToEntityOperation extends Struct {
 export interface Application extends Struct {
   readonly role_account_id: AccountId;
   readonly reward_account_id: AccountId;
-  readonly staking_account_id: AccountId;
+  readonly staking_account_id: Option<AccountId>;
   readonly member_id: MemberId;
   readonly description_hash: Text;
 }
@@ -446,7 +446,7 @@ export interface Nonce extends u64 {}
 export interface Opening extends Struct {
   readonly opening_type: OpeningType;
   readonly created: u32;
-  readonly description_hash: Text;
+  readonly description_hash: Bytes;
   readonly stake_policy: Option<StakePolicy>;
   readonly reward_per_block: Option<u128>;
 }

+ 56 - 38
types/augment/augment-api-consts.ts

@@ -4,7 +4,7 @@
 import { Vec } from '@polkadot/types/codec';
 import { u32, u64 } from '@polkadot/types/primitive';
 import { ProposalParameters } from './all';
-import { Balance, BalanceOf, BlockNumber, LockIdentifier, Moment, Perbill, RuntimeDbWeight, Weight } from '@polkadot/types/interfaces/runtime';
+import { Balance, BalanceOf, BlockNumber, Moment, Perbill, RuntimeDbWeight, Weight } from '@polkadot/types/interfaces/runtime';
 import { SessionIndex } from '@polkadot/types/interfaces/session';
 import { EraIndex } from '@polkadot/types/interfaces/staking';
 import { WeightToFeeCoefficient } from '@polkadot/types/interfaces/support';
@@ -44,10 +44,6 @@ declare module '@polkadot/api/types/consts' {
        * Duration of annoncing period
        **/
       announcingPeriodDuration: BlockNumber & AugmentedConst<ApiType>;
-      /**
-       * Amount that will be added to the budget balance on every refill.
-       **/
-      budgetRefillAmount: Balance & AugmentedConst<ApiType>;
       /**
        * Interval between automatic budget refills.
        **/
@@ -56,10 +52,6 @@ declare module '@polkadot/api/types/consts' {
        * Council member count
        **/
       councilSize: u64 & AugmentedConst<ApiType>;
-      /**
-       * The value elected members will be awarded each block of their reign.
-       **/
-      electedMemberRewardPerBlock: Balance & AugmentedConst<ApiType>;
       /**
        * Interval for automatic reward payments.
        **/
@@ -108,53 +100,81 @@ declare module '@polkadot/api/types/consts' {
     };
     proposalsCodex: {
       /**
-       * Exports 'Add working group opening' proposal parameters.
+       * Exports 'Amend Constitution' proposal parameters.
        **/
-      addWorkingGroupOpeningProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      amendConstitutionProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
       /**
-       * Exports 'Amend constitution' proposal parameters.
+       * Exports 'Cancel Working Group Lead Opening' proposal parameters.
        **/
-      amendConstitutionProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      cancelWorkingGroupLeadOpeningProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      createBlogPostProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      /**
+       * Exports 'Create Working Group Lead Opening' proposal parameters.
+       **/
+      createWorkingGroupLeadOpeningProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
       /**
-       * Exports 'Decrease working group leader stake' proposal parameters.
+       * Exports 'Decrease Working Group Lead Stake' proposal parameters.
        **/
-      decreaseWorkingGroupLeaderStakeProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      decreaseWorkingGroupLeadStakeProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      editBlogPostProoposalParamters: ProposalParameters & AugmentedConst<ApiType>;
       /**
-       * Exports 'Fill working group opening' proposal parameters.
+       * Exports 'Fill Working Group Lead Opening' proposal parameters.
        **/
       fillWorkingGroupOpeningProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
       /**
-       * Exports 'Runtime upgrade' proposal parameters.
+       * Exports 'Funding Request' proposal parameters.
+       **/
+      fundingRequestProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      lockBlogPostProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      /**
+       * Exports 'Runtime Upgrade' proposal parameters.
        **/
       runtimeUpgradeProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
       /**
-       * Exports 'Set validator count' proposal parameters.
+       * Exports `Set Council Budget Increment` proposal parameters.
+       **/
+      setCouncilBudgetIncrementProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      /**
+       * Exports `Set Councilor Reward Proposal Parameters` proposal parameters.
+       **/
+      setCouncilorRewardProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      /**
+       * Exports `Set Initial Invitation Balance` proposal parameters.
        **/
-      setValidatorCountProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      setInitialInvitationBalanceProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      setInvitationCountProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
       /**
-       * Exports 'Set working group budget capacity' proposal parameters.
+       * Exports 'Set Max Validator Count' proposal parameters.
        **/
-      setWorkingGroupBudgetCapacityProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      setMaxValidatorCountProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      setMembershipLeadInvitationQuotaProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
       /**
-       * Exports 'Set working group leader reward' proposal parameters.
+       * Exports 'Set Membership Price' proposal parameters.
        **/
-      setWorkingGroupLeaderRewardProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      setMembershipPriceProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      setReferralCutProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
       /**
-       * Exports 'Slash working group leader stake' proposal parameters.
+       * Exports 'Set Working Group Lead Reward' proposal parameters.
        **/
-      slashWorkingGroupLeaderStakeProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      setWorkingGroupLeadRewardProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
       /**
-       * Exports 'Spending' proposal parameters.
+       * Exports 'Signal' proposal parameters.
        **/
-      spendingProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      signalProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
       /**
-       * Exports 'Terminate working group leader role' proposal parameters.
+       * Exports 'Slash Working Group Lead' proposal parameters.
        **/
-      terminateWorkingGroupLeaderRoleProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      slashWorkingGroupLeadProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
       /**
-       * Exports 'Text' proposal parameters.
+       * Exports 'Terminate Working Group Lead' proposal parameters.
        **/
-      textProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      terminateWorkingGroupLeadProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      unlockBlogPostProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      /**
+       * Exports 'Update Working Group Budget' proposal parameters.
+       **/
+      updateWorkingGroupBudgetProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
+      vetoProposalProposalParameters: ProposalParameters & AugmentedConst<ApiType>;
     };
     proposalsEngine: {
       /**
@@ -170,7 +190,8 @@ declare module '@polkadot/api/types/consts' {
        **/
       maxActiveProposalLimit: u32 & AugmentedConst<ApiType>;
       /**
-       * Exports const -  the fee is applied when the proposal gets rejected. A fee would be slashed (burned).
+       * Exports const -  the fee is applied when the proposal gets rejected. A fee would
+       * be slashed (burned).
        **/
       rejectionFee: BalanceOf & AugmentedConst<ApiType>;
       /**
@@ -180,17 +201,14 @@ declare module '@polkadot/api/types/consts' {
     };
     referendum: {
       /**
-       * Identifier for currency locks used for staking.
-       **/
-      lockId: LockIdentifier & AugmentedConst<ApiType>;
-      /**
-       * Maximum length of vote commitment salt. Use length that ensures uniqueness for hashing e.g. std::u64::MAX.
+       * Maximum length of vote commitment salt. Use length that ensures uniqueness for hashing
+       * e.g. std::u64::MAX.
        **/
       maxSaltLength: u64 & AugmentedConst<ApiType>;
       /**
        * Minimum stake needed for voting
        **/
-      minimumStake: Balance & AugmentedConst<ApiType>;
+      minimumStake: BalanceOf & AugmentedConst<ApiType>;
       /**
        * Duration of revealing stage (number of blocks)
        **/

+ 28 - 15
types/augment/augment-api-query.ts

@@ -4,7 +4,7 @@
 import { AnyNumber, ITuple, Observable } from '@polkadot/types/types';
 import { Option, Vec } from '@polkadot/types/codec';
 import { Bytes, bool, u32, u64 } from '@polkadot/types/primitive';
-import { Application, ApplicationId, Candidate, CastVoteOf, Category, CategoryId, ClassId, ClassOf, ConstitutionInfo, ContentId, CouncilMemberOf, CouncilStageUpdate, CuratorGroup, CuratorGroupId, DataObject, DataObjectStorageRelationship, DataObjectStorageRelationshipId, DataObjectType, DataObjectTypeId, DiscussionPost, DiscussionThread, EntityController, EntityCreationVoucher, EntityId, EntityOf, MemberId, Membership, MemoText, ModeratorId, Opening, OpeningId, Post, PostId, PropertyId, ProposalDetailsOf, ProposalId, ProposalOf, ReferendumStage, ServiceProviderRecord, StakingAccountMemberBinding, StorageProviderId, Thread, ThreadId, Url, VoteKind, Worker, WorkerId } from './all';
+import { Application, ApplicationId, Candidate, CastVoteOf, Category, CategoryId, ClassId, ClassOf, ConstitutionInfo, ContentId, CouncilMemberOf, CouncilStageUpdate, CuratorGroup, CuratorGroupId, DataObject, DataObjectStorageRelationship, DataObjectStorageRelationshipId, DataObjectType, DataObjectTypeId, DiscussionPost, DiscussionThread, EntityController, EntityCreationVoucher, EntityId, EntityOf, MemberId, Membership, MemoText, ModeratorId, Opening, OpeningId, Post, PostId, PropertyId, ProposalId, ProposalOf, ReferendumStage, ServiceProviderRecord, StakingAccountMemberBinding, StorageProviderId, Thread, ThreadId, Url, VoteKind, Worker, WorkerId } from './all';
 import { UncleEntryItem } from '@polkadot/types/interfaces/authorship';
 import { BabeAuthorityWeight, MaybeRandomness, NextConfigDescriptor, Randomness } from '@polkadot/types/interfaces/babe';
 import { AccountData, BalanceLock } from '@polkadot/types/interfaces/balances';
@@ -127,6 +127,21 @@ declare module '@polkadot/api/types/storage' {
        **/
       totalIssuance: AugmentedQuery<ApiType, () => Observable<Balance>>;
     };
+    blog: {
+      /**
+       * Post by unique blog and post identificators
+       **/
+      postById: AugmentedQuery<ApiType, (arg: PostId | AnyNumber | Uint8Array) => Observable<Post>>;
+      /**
+       * Maps, representing id => item relationship for blogs, posts and replies related structures
+       * Post count
+       **/
+      postCount: AugmentedQuery<ApiType, () => Observable<PostId>>;
+      /**
+       * Reply by unique blog, post and reply identificators
+       **/
+      replyById: AugmentedQueryDoubleMap<ApiType, (key1: PostId | AnyNumber | Uint8Array, key2: ReplyId | null) => Observable<Reply>>;
+    };
     constitution: {
       constitution: AugmentedQuery<ApiType, () => Observable<ConstitutionInfo>>;
     };
@@ -207,6 +222,10 @@ declare module '@polkadot/api/types/storage' {
        * Budget for the council's elected members rewards.
        **/
       budget: AugmentedQuery<ApiType, () => Observable<Balance>>;
+      /**
+       * Amount of balance to be refilled every budget period
+       **/
+      budgetIncrement: AugmentedQuery<ApiType, () => Observable<>>;
       /**
        * Map of all candidates that ever candidated and haven't unstake yet.
        **/
@@ -215,6 +234,10 @@ declare module '@polkadot/api/types/storage' {
        * Current council members
        **/
       councilMembers: AugmentedQuery<ApiType, () => Observable<Vec<CouncilMemberOf>>>;
+      /**
+       * Councilor reward per block
+       **/
+      councilorReward: AugmentedQuery<ApiType, () => Observable<>>;
       /**
        * The next block in which the budget will be increased.
        **/
@@ -432,14 +455,6 @@ declare module '@polkadot/api/types/storage' {
        * Registered unique handles hash and their mapping to their owner.
        **/
       memberIdByHandleHash: AugmentedQuery<ApiType, (arg: Bytes | string | Uint8Array) => Observable<MemberId>>;
-      /**
-       * Mapping of a controller account id to vector of member ids it controls.
-       **/
-      memberIdsByControllerAccountId: AugmentedQuery<ApiType, (arg: AccountId | string | Uint8Array) => Observable<Vec<MemberId>>>;
-      /**
-       * Mapping of a root account id to vector of member ids it controls.
-       **/
-      memberIdsByRootAccountId: AugmentedQuery<ApiType, (arg: AccountId | string | Uint8Array) => Observable<Vec<MemberId>>>;
       /**
        * Mapping of member's id to their membership profile.
        **/
@@ -533,10 +548,6 @@ declare module '@polkadot/api/types/storage' {
       reportsByKindIndex: AugmentedQuery<ApiType, (arg: Kind | string | Uint8Array) => Observable<Bytes>>;
     };
     proposalsCodex: {
-      /**
-       * Map proposal id to proposal details
-       **/
-      proposalDetailsByProposalId: AugmentedQuery<ApiType, (arg: ProposalId | AnyNumber | Uint8Array) => Observable<ProposalDetailsOf>>;
       /**
        * Map proposal id to its discussion thread id
        **/
@@ -596,9 +607,11 @@ declare module '@polkadot/api/types/storage' {
        **/
       stage: AugmentedQuery<ApiType, () => Observable<ReferendumStage>>;
       /**
-       * Votes cast in the referendum. A new record is added to this map when a user casts a sealed vote.
+       * Votes cast in the referendum. A new record is added to this map when a user casts a
+       * sealed vote.
        * It is modified when a user reveals the vote's commitment proof.
-       * A record is finally removed when the user unstakes, which can happen during a voting stage or after the current cycle ends.
+       * A record is finally removed when the user unstakes, which can happen during a voting
+       * stage or after the current cycle ends.
        * A stake for a vote can be reused in future referendum cycles.
        **/
       votes: AugmentedQuery<ApiType, (arg: AccountId | string | Uint8Array) => Observable<CastVoteOf>>;

+ 494 - 28
types/augment/augment-api-tx.ts

@@ -4,7 +4,7 @@
 import { AnyNumber } from '@polkadot/types/types';
 import { BTreeMap, BTreeSet, Compact, Option, Vec } from '@polkadot/types/codec';
 import { Bytes, bool, u16, u32, u64 } from '@polkadot/types/primitive';
-import { Actor, ActorId, ApplicationId, ApplyOnOpeningParameters, BuyMembershipParameters, CategoryId, ClassId, ClassPermissions, ContentId, CuratorGroupId, CuratorId, DataObjectStorageRelationshipId, DataObjectType, DataObjectTypeId, DataObjectsMap, EntityController, EntityId, ForumUserId, GeneralProposalParameters, InputPropertyValue, InputValue, InviteMembershipParameters, MemberId, MemoText, ModeratorId, Nonce, OpeningId, OpeningType, OperationType, Penalty, Poll, PostId, PostReactionId, PrivilegedActor, Property, PropertyId, ProposalDetailsOf, ProposalId, SchemaId, StakePolicy, StorageProviderId, ThreadId, ThreadMode, Url, VecMaxLength, VoteKind, WorkerId } from './all';
+import { Actor, ActorId, ApplicationId, ApplyOnOpeningParameters, BuyMembershipParameters, CategoryId, ClassId, ClassPermissions, ContentId, CuratorGroupId, CuratorId, DataObjectStorageRelationshipId, DataObjectType, DataObjectTypeId, DataObjectsMap, EntityController, EntityId, ForumUserId, GeneralProposalParameters, InputPropertyValue, InputValue, InviteMembershipParameters, MemberId, MemoText, ModeratorId, Nonce, OpeningId, OpeningType, OperationType, Poll, PostId, PostReactionId, PrivilegedActor, Property, PropertyId, ProposalDetailsOf, ProposalId, SchemaId, StakePolicy, StorageProviderId, ThreadId, ThreadMode, Url, VecMaxLength, VoteKind, WorkerId, WorkingGroup } from './all';
 import { BabeEquivocationProof } from '@polkadot/types/interfaces/babe';
 import { Extrinsic, Signature } from '@polkadot/types/interfaces/extrinsics';
 import { GrandpaEquivocationProof, KeyOwnerProof } from '@polkadot/types/interfaces/grandpa';
@@ -119,6 +119,89 @@ declare module '@polkadot/api/types/submittable' {
        **/
       transferKeepAlive: AugmentedSubmittable<(dest: LookupSource | string | Uint8Array, value: Compact<Balance> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
     };
+    blog: {
+      /**
+       * Blog owner can create posts, related to a given blog, if related blog is unlocked
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (T + B)` where:
+       * - `T` is the length of the title
+       * - `B` is the length of the body
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
+       **/
+      createPost: AugmentedSubmittable<(title: Bytes | string | Uint8Array, body: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Create either root post reply or direct reply to reply
+       * (Only accessible, if related blog and post are unlocked)
+       * <weight>
+       * 
+       * ## Weight
+       * `O (T)` where:
+       * - `T` is the length of the `text`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
+       **/
+      createReply: AugmentedSubmittable<(participantId: ParticipantId | null, postId: PostId | AnyNumber | Uint8Array, replyId: Option<ReplyId> | null | object | string | Uint8Array, text: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Blog owner can edit post, related to a given blog (if unlocked)
+       * with a new title and/or body
+       * <weight>
+       * 
+       * ## Weight
+       * `O (T + B)` where:
+       * - `T` is the length of the `new_title`
+       * - `B` is the length of the `new_body`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
+       **/
+      editPost: AugmentedSubmittable<(postId: PostId | AnyNumber | Uint8Array, newTitle: Option<Bytes> | null | object | string | Uint8Array, newBody: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Reply owner can edit reply with a new text
+       * (Only accessible, if related blog and post are unlocked)
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (T)` where:
+       * - `T` is the length of the `new_text`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
+       **/
+      editReply: AugmentedSubmittable<(participantId: ParticipantId | null, postId: PostId | AnyNumber | Uint8Array, replyId: ReplyId | null, newText: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Blog owner can lock posts, related to a given blog,
+       * making post immutable to any actions (replies creation, post editing, etc.)
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)` doesn't depends on the state or parameters
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
+       **/
+      lockPost: AugmentedSubmittable<(postId: PostId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Blog owner can unlock posts, related to a given blog,
+       * making post accesible to previously forbidden actions
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)` doesn't depends on the state or parameters
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
+       **/
+      unlockPost: AugmentedSubmittable<(postId: PostId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+    };
     constitution: {
       /**
        * Sets the current constitution hash. Requires root origin.
@@ -317,7 +400,7 @@ declare module '@polkadot/api/types/submittable' {
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      leaveRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      leaveRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, rationale: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Sets a new budget for the working group.
        * Requires root origin.
@@ -359,7 +442,7 @@ declare module '@polkadot/api/types/submittable' {
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      slashStake: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: Penalty | { slashing_text?: any; slashing_amount?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      slashStake: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: BalanceOf | AnyNumber | Uint8Array, rationale: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Transfers specified amount to any account.
        * Requires leader origin.
@@ -385,7 +468,7 @@ declare module '@polkadot/api/types/submittable' {
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      terminateRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: Option<Penalty> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      terminateRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: Option<BalanceOf> | null | object | string | Uint8Array, rationale: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Update the reward account associated with a set reward relationship for the active worker.
        * 
@@ -449,6 +532,19 @@ declare module '@polkadot/api/types/submittable' {
        * # </weight>
        **/
       announceCandidacy: AugmentedSubmittable<(membershipId: MemberId | AnyNumber | Uint8Array, stakingAccountId: AccountId | string | Uint8Array, rewardAccountId: AccountId | string | Uint8Array, stake: Balance | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Transfers funds from council budget to account
+       * 
+       * # <weight>
+       * 
+       * ## weight
+       * `O (F)` where:
+       * `F` is the length of `funding_requests`
+       * - db:
+       * - `O(1)` doesn't depend on the state or parameters
+       * # </weight>
+       **/
+      fundingRequest: AugmentedSubmittable<(fundingRequests: Vec<FundingRequestParameters> | (FundingRequestParameters | null)[]) => SubmittableExtrinsic<ApiType>>;
       /**
        * Plan the next budget refill.
        * 
@@ -485,6 +581,18 @@ declare module '@polkadot/api/types/submittable' {
        * # </weight>
        **/
       setBudget: AugmentedSubmittable<(balance: Balance | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Sets the budget refill amount
+       * 
+       * # <weight>
+       * 
+       * ## weight
+       * `O (1)`
+       * - db:
+       * - `O(1)` doesn't depend on the state or parameters
+       * # </weight>
+       **/
+      setBudgetIncrement: AugmentedSubmittable<(budgetIncrement: Balance | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Set short description for the user's candidacy. Can be called anytime during user's candidacy.
        * 
@@ -498,6 +606,18 @@ declare module '@polkadot/api/types/submittable' {
        * # </weight>
        **/
       setCandidacyNote: AugmentedSubmittable<(membershipId: MemberId | AnyNumber | Uint8Array, note: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Sets the councilor reward per block
+       * 
+       * # <weight>
+       * 
+       * ## weight
+       * `O (1)`
+       * - db:
+       * - `O(1)` doesn't depend on the state or parameters
+       * # </weight>
+       **/
+      setCouncilorReward: AugmentedSubmittable<(councilorReward: Balance | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Withdraw candidacy and release candidacy stake.
        * 
@@ -607,51 +727,222 @@ declare module '@polkadot/api/types/submittable' {
     forum: {
       /**
        * Add post
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W + V)` where:
+       * - `W` is the category depth,
+       * - `V` is the length of the text
+       * - DB:
+       * - O(W)
+       * # </weight>
        **/
       addPost: AugmentedSubmittable<(forumUserId: ForumUserId | AnyNumber | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, text: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Add a new category.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W + V + X)` where:
+       * - `W` is the category depth
+       * - `V` is the length of the category title.
+       * - `X` is the length of the category description.
+       * - DB:
+       * - O(W)
+       * # </weight>
        **/
       createCategory: AugmentedSubmittable<(parentCategoryId: Option<CategoryId> | null | object | string | Uint8Array, title: Bytes | string | Uint8Array, description: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Create new thread in category with poll
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W + V + X + Y)` where:
+       * - `W` is the category depth
+       * - `V` is the length of the thread title.
+       * - `X` is the length of the thread text.
+       * - `Y` is the number of poll alternatives.
+       * - DB:
+       * - O(W)
+       * # </weight>
        **/
       createThread: AugmentedSubmittable<(forumUserId: ForumUserId | AnyNumber | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, title: Bytes | string | Uint8Array, text: Bytes | string | Uint8Array, poll: Option<Poll> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Delete category
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W)` where:
+       * - `W` is the category depth
+       * - DB:
+       * - O(W)
+       * # </weight>
+       **/
       deleteCategory: AugmentedSubmittable<(actor: PrivilegedActor | { Lead: any } | { Moderator: any } | string | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Delete thread
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W)` where:
+       * - `W` is the category depth
+       * - DB:
+       * - O(W)
+       * # </weight>
+       **/
       deleteThread: AugmentedSubmittable<(actor: PrivilegedActor | { Lead: any } | { Moderator: any } | string | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Edit post text
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W + V)` where:
+       * - `W` is the category depth,
+       * - `V` is the length of the new text
+       * - DB:
+       * - O(W)
+       * # </weight>
        **/
       editPostText: AugmentedSubmittable<(forumUserId: ForumUserId | AnyNumber | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, postId: PostId | AnyNumber | Uint8Array, newText: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Edit thread title
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W + V)` where:
+       * - `W` is the category depth
+       * - `V` is the length of the thread title.
+       * - DB:
+       * - O(W)
+       * # </weight>
+       **/
       editThreadTitle: AugmentedSubmittable<(forumUserId: ForumUserId | AnyNumber | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, newTitle: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Moderate post
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W + V)` where:
+       * - `W` is the category depth,
+       * - `V` is the length of the rationale
+       * - DB:
+       * - O(W)
+       * # </weight>
        **/
       moderatePost: AugmentedSubmittable<(actor: PrivilegedActor | { Lead: any } | { Moderator: any } | string | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, postId: PostId | AnyNumber | Uint8Array, rationale: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Moderate thread
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W + V + X)` where:
+       * - `W` is the category depth,
+       * - `V` is the number of thread posts,
+       * - `X` is the length of the rationale
+       * - DB:
+       * - O(W + V)
+       * # </weight>
+       **/
       moderateThread: AugmentedSubmittable<(actor: PrivilegedActor | { Lead: any } | { Moderator: any } | string | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, rationale: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Move thread to another category
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W)` where:
+       * - `W` is the category depth
+       * - DB:
+       * - O(W)
+       * # </weight>
+       **/
       moveThreadToCategory: AugmentedSubmittable<(actor: PrivilegedActor | { Lead: any } | { Moderator: any } | string | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, newCategoryId: CategoryId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
-       * like or unlike a post.
+       * Like or unlike a post.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W)` where:
+       * - `W` is the category depth,
+       * - DB:
+       * - O(W)
+       * # </weight>
        **/
       reactPost: AugmentedSubmittable<(forumUserId: ForumUserId | AnyNumber | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, postId: PostId | AnyNumber | Uint8Array, react: PostReactionId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Set stickied threads for category
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W + V)` where:
+       * - `W` is the category depth,
+       * - `V` is the length of the stickied_ids
+       * - DB:
+       * - O(W + V)
+       * # </weight>
        **/
       setStickiedThreads: AugmentedSubmittable<(actor: PrivilegedActor | { Lead: any } | { Moderator: any } | string | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, stickiedIds: Vec<ThreadId> | (ThreadId | AnyNumber | Uint8Array)[]) => SubmittableExtrinsic<ApiType>>;
       /**
-       * Update category
+       * Update archival status
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W)` where:
+       * - `W` is the category depth
+       * - DB:
+       * - O(W)
+       * # </weight>
        **/
       updateCategoryArchivalStatus: AugmentedSubmittable<(actor: PrivilegedActor | { Lead: any } | { Moderator: any } | string | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, newArchivalStatus: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Enable a moderator can moderate a category and its sub categories.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
        **/
       updateCategoryMembershipOfModerator: AugmentedSubmittable<(moderatorId: ModeratorId | AnyNumber | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, newValue: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
-       * Update category
+       * Update thread archival status
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W)` where:
+       * - `W` is the category depth
+       * - DB:
+       * - O(W)
+       * # </weight>
        **/
       updateThreadArchivalStatus: AugmentedSubmittable<(actor: PrivilegedActor | { Lead: any } | { Moderator: any } | string | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, newArchivalStatus: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
-       * submit a poll
+       * Submit a poll
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W + V)` where:
+       * - `W` is the category depth,
+       * - `V` is the number of poll alternatives.
+       * - DB:
+       * - O(W)
+       * # </weight>
        **/
       voteOnPoll: AugmentedSubmittable<(forumUserId: ForumUserId | AnyNumber | Uint8Array, categoryId: CategoryId | AnyNumber | Uint8Array, threadId: ThreadId | AnyNumber | Uint8Array, index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
     };
@@ -747,7 +1038,7 @@ declare module '@polkadot/api/types/submittable' {
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      leaveRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      leaveRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, rationale: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Sets a new budget for the working group.
        * Requires root origin.
@@ -789,7 +1080,7 @@ declare module '@polkadot/api/types/submittable' {
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      slashStake: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: Penalty | { slashing_text?: any; slashing_amount?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      slashStake: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: BalanceOf | AnyNumber | Uint8Array, rationale: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Transfers specified amount to any account.
        * Requires leader origin.
@@ -815,7 +1106,7 @@ declare module '@polkadot/api/types/submittable' {
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      terminateRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: Option<Penalty> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      terminateRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: Option<BalanceOf> | null | object | string | Uint8Array, rationale: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Update the reward account associated with a set reward relationship for the active worker.
        * 
@@ -911,63 +1202,235 @@ declare module '@polkadot/api/types/submittable' {
        **/
       heartbeat: AugmentedSubmittable<(heartbeat: Heartbeat | { blockNumber?: any; networkState?: any; sessionIndex?: any; authorityIndex?: any; validatorsLen?: any } | string | Uint8Array, signature: Signature | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
     };
+    joystreamUtility: {
+      /**
+       * Burns token for caller account
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)` Doesn't depend on the state or parameters
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
+       **/
+      burnAccountTokens: AugmentedSubmittable<(amount: BalanceOf | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Runtime upgrade proposal extrinsic.
+       * Should be used as callable object to pass to the `engine` module.
+       * <weight>
+       * 
+       * ## Weight
+       * `O (C)` where:
+       * - `C` is the length of `wasm`
+       * However, we treat this as a full block as `frame_system::Module::set_code` does
+       * # </weight>
+       **/
+      executeRuntimeUpgradeProposal: AugmentedSubmittable<(wasm: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Signal proposal extrinsic. Should be used as callable object to pass to the `engine` module.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (S)` where:
+       * - `S` is the length of the signal
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
+       **/
+      executeSignalProposal: AugmentedSubmittable<(signal: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      /**
+       * Update working group budget
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)` Doesn't depend on the state or parameters
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
+       **/
+      updateWorkingGroupBudget: AugmentedSubmittable<(workingGroup: WorkingGroup | 'Forum'|'Storage'|'Content'|'Membership' | number | Uint8Array, amount: BalanceOf | AnyNumber | Uint8Array, balanceKind: BalanceKind | null) => SubmittableExtrinsic<ApiType>>;
+    };
     members: {
       /**
        * Add staking account candidate for a member.
        * The membership must be confirmed before usage.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
        **/
       addStakingAccountCandidate: AugmentedSubmittable<(memberId: MemberId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Non-members can buy membership.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W + V + X + Y)` where:
+       * - `W` is the member name
+       * - `V` is the member handle
+       * - `X` is the member avatar uri
+       * - `Y` is the member about
+       * - DB:
+       * - O(V)
+       * # </weight>
        **/
       buyMembership: AugmentedSubmittable<(params: BuyMembershipParameters | { root_account?: any; controller_account?: any; name?: any; handle?: any; avatar_uri?: any; about?: any; referrer_id?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Confirm staking account candidate for a member.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
        **/
       confirmStakingAccount: AugmentedSubmittable<(memberId: MemberId | AnyNumber | Uint8Array, stakingAccountId: AccountId | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Invite a new member.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W + V + X + Y)` where:
+       * - `W` is the member name
+       * - `V` is the member handle
+       * - `X` is the member avatar uri
+       * - `Y` is the member about
+       * - DB:
+       * - O(V)
+       * # </weight>
        **/
       inviteMember: AugmentedSubmittable<(params: InviteMembershipParameters | { inviting_member_id?: any; root_account?: any; controller_account?: any; name?: any; handle?: any; avatar_uri?: any; about?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Remove staking account for a member.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
        **/
       removeStakingAccount: AugmentedSubmittable<(memberId: MemberId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Updates initial invitation balance for a invited member. Requires root origin.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
        **/
       setInitialInvitationBalance: AugmentedSubmittable<(newInitialBalance: BalanceOf | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Updates initial invitation count for a member. Requires root origin.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
        **/
       setInitialInvitationCount: AugmentedSubmittable<(newInvitationCount: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Updates leader invitation quota. Requires root origin.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
        **/
       setLeaderInvitationQuota: AugmentedSubmittable<(invitationQuota: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Updates membership price. Requires root origin.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
        **/
       setMembershipPrice: AugmentedSubmittable<(newPrice: BalanceOf | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Updates membership referral cut. Requires root origin.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
        **/
       setReferralCut: AugmentedSubmittable<(value: BalanceOf | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Transfers invites from one member to another.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
        **/
       transferInvites: AugmentedSubmittable<(sourceMemberId: MemberId | AnyNumber | Uint8Array, targetMemberId: MemberId | AnyNumber | Uint8Array, numberOfInvites: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Updates member root or controller accounts. No effect if both new accounts are empty.
+       * 
+       * <weight>
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
        **/
       updateAccounts: AugmentedSubmittable<(memberId: MemberId | AnyNumber | Uint8Array, newRootAccount: Option<AccountId> | null | object | string | Uint8Array, newControllerAccount: Option<AccountId> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Update member's all or some of name, handle, avatar and about text.
        * No effect if no changed fields.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (W)` where:
+       * - `W` is the handle length
+       * - DB:
+       * - O(W)
+       * # </weight>
        **/
       updateProfile: AugmentedSubmittable<(memberId: MemberId | AnyNumber | Uint8Array, name: Option<Bytes> | null | object | string | Uint8Array, handle: Option<Bytes> | null | object | string | Uint8Array, avatarUri: Option<Bytes> | null | object | string | Uint8Array, about: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Updates member profile verification status. Requires working group member origin.
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (1)`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
        **/
       updateProfileVerification: AugmentedSubmittable<(workerId: ActorId | AnyNumber | Uint8Array, targetMemberId: MemberId | AnyNumber | Uint8Array, isVerified: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>>;
     };
@@ -1063,7 +1526,7 @@ declare module '@polkadot/api/types/submittable' {
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      leaveRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      leaveRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, rationale: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Sets a new budget for the working group.
        * Requires root origin.
@@ -1105,7 +1568,7 @@ declare module '@polkadot/api/types/submittable' {
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      slashStake: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: Penalty | { slashing_text?: any; slashing_amount?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      slashStake: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: BalanceOf | AnyNumber | Uint8Array, rationale: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Transfers specified amount to any account.
        * Requires leader origin.
@@ -1131,7 +1594,7 @@ declare module '@polkadot/api/types/submittable' {
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      terminateRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: Option<Penalty> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      terminateRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: Option<BalanceOf> | null | object | string | Uint8Array, rationale: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Update the reward account associated with a set reward relationship for the active worker.
        * 
@@ -1188,17 +1651,19 @@ declare module '@polkadot/api/types/submittable' {
     proposalsCodex: {
       /**
        * Create a proposal, the type of proposal depends on the `proposal_details` variant
+       * 
+       * <weight>
+       * 
+       * ## Weight
+       * `O (T + D + I)` where:
+       * - `T` is the length of the title
+       * - `D` is the length of the description
+       * - `I` is the length of any parameter in `proposal_details`
+       * - DB:
+       * - O(1) doesn't depend on the state or parameters
+       * # </weight>
        **/
       createProposal: AugmentedSubmittable<(generalProposalParameters: GeneralProposalParameters | { member_id?: any; title?: any; description?: any; staking_account_id?: any; exact_execution_block?: any } | string | Uint8Array, proposalDetails: ProposalDetailsOf | { Text: any } | { RuntimeUpgrade: any } | { Spending: any } | { SetValidatorCount: any } | { AddWorkingGroupLeaderOpening: any } | { FillWorkingGroupLeaderOpening: any } | { SetWorkingGroupBudgetCapacity: any } | { DecreaseWorkingGroupLeaderStake: any } | { SlashWorkingGroupLeaderStake: any } | { SetWorkingGroupLeaderReward: any } | { TerminateWorkingGroupLeaderRole: any } | { AmendConstitution: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
-      /**
-       * Runtime upgrade proposal extrinsic.
-       * Should be used as callable object to pass to the `engine` module.
-       **/
-      executeRuntimeUpgradeProposal: AugmentedSubmittable<(wasm: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
-      /**
-       * Text proposal extrinsic. Should be used as callable object to pass to the `engine` module.
-       **/
-      executeTextProposal: AugmentedSubmittable<(text: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
     };
     proposalsDiscussion: {
       /**
@@ -1299,7 +1764,8 @@ declare module '@polkadot/api/types/submittable' {
        * 
        * ## Weight
        * `O (W)` where:
-       * - `W` is the number of `intermediate_winners` stored in the current `Stage::<T, I>::get()`
+       * - `W` is the number of `intermediate_winners` stored in the current
+       * `Stage::<T, I>::get()`
        * - DB:
        * - `O(1)` doesn't depend on the state or parameters
        * # </weight>
@@ -1316,7 +1782,7 @@ declare module '@polkadot/api/types/submittable' {
        * - `O(1)` doesn't depend on the state or parameters
        * # </weight>
        **/
-      vote: AugmentedSubmittable<(commitment: Hash | string | Uint8Array, stake: Balance | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      vote: AugmentedSubmittable<(commitment: Hash | string | Uint8Array, stake: BalanceOf | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
     };
     session: {
       /**
@@ -1925,7 +2391,7 @@ declare module '@polkadot/api/types/submittable' {
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      leaveRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      leaveRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, rationale: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Sets a new budget for the working group.
        * Requires root origin.
@@ -1967,7 +2433,7 @@ declare module '@polkadot/api/types/submittable' {
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      slashStake: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: Penalty | { slashing_text?: any; slashing_amount?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      slashStake: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: BalanceOf | AnyNumber | Uint8Array, rationale: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Transfers specified amount to any account.
        * Requires leader origin.
@@ -1993,7 +2459,7 @@ declare module '@polkadot/api/types/submittable' {
        * - O(1) doesn't depend on the state or parameters
        * # </weight>
        **/
-      terminateRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: Option<Penalty> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
+      terminateRole: AugmentedSubmittable<(workerId: WorkerId | AnyNumber | Uint8Array, penalty: Option<BalanceOf> | null | object | string | Uint8Array, rationale: Option<Bytes> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>>;
       /**
        * Update the reward account associated with a set reward relationship for the active worker.
        * 

+ 5 - 5
types/src/working-group/index.ts

@@ -1,5 +1,5 @@
 import { BTreeMap, Option, Text } from '@polkadot/types'
-import { Null, u32, u64, u128 } from '@polkadot/types/primitive'
+import { Null, u32, u64, u128, Bytes } from '@polkadot/types/primitive'
 import { BlockNumber, Balance } from '@polkadot/types/interfaces'
 import { AccountId, ActorId, MemberId, JoyEnum, JoyStructDecorated, JoyBTreeSet } from '../common'
 import { RegistryTypes } from '@polkadot/types/types'
@@ -15,7 +15,7 @@ export class ApplicationIdToWorkerIdMap extends BTreeMap.with(ApplicationId, Wor
 export type IApplication = {
   role_account_id: AccountId
   reward_account_id: AccountId
-  staking_account_id: AccountId
+  staking_account_id: Option<AccountId>
   member_id: MemberId
   description_hash: Text
 }
@@ -24,7 +24,7 @@ export class Application
   extends JoyStructDecorated({
     role_account_id: AccountId,
     reward_account_id: AccountId,
-    staking_account_id: AccountId,
+    staking_account_id: Option.with(AccountId),
     member_id: MemberId,
     description_hash: Text,
   })
@@ -152,7 +152,7 @@ export class OpeningType extends JoyEnum(OpeningTypeDef) {}
 export type IOpening = {
   opening_type: OpeningType
   created: BlockNumber
-  description_hash: Text
+  description_hash: Bytes
   stake_policy: Option<StakePolicy>
   reward_per_block: Option<Balance>
 }
@@ -161,7 +161,7 @@ export class Opening
   extends JoyStructDecorated({
     opening_type: OpeningType,
     created: u32,
-    description_hash: Text,
+    description_hash: Bytes,
     stake_policy: Option.with(StakePolicy),
     reward_per_block: Option.with(u128),
   })