Browse Source

Merge pull request #2851 from Lezek123/pioneer-proposals-hotfix

Pioneer proposals hotfix
Martin 3 years ago
parent
commit
2461c7f4ba

+ 1 - 1
pioneer/packages/joy-proposals/src/Proposal/Body.tsx

@@ -102,7 +102,7 @@ const paramParsers: { [k in ProposalType]: (params: SpecificProposalDetails<k>,
   Text: (content) => [
     new ParsedParam(
       'Content',
-      <ReactMarkdown className='TextProposalContent' source={content.toString()} linkTarget='_blank' />,
+      <ReactMarkdown className='TextProposalContent' source={bytesToString(content)} linkTarget='_blank' />,
       true
     )
   ],

+ 2 - 1
pioneer/packages/joy-proposals/src/Proposal/ProposalDetails.tsx

@@ -15,6 +15,7 @@ import { Seat } from '@joystream/types/council';
 import ProposalDiscussion from './discussion/ProposalDiscussion';
 
 import styled from 'styled-components';
+import { bytesToString } from '@polkadot/joy-utils/functions/misc';
 
 const ProposalDetailsMain = styled.div`
   display: flex;
@@ -99,7 +100,7 @@ export function getExtendedStatus (proposal: ParsedProposal, bestNumber?: BlockN
         if (approvedStatus === 'ExecutionFailed') {
           const executionFailedStatus = proposalStatus.asType('Approved').asType('ExecutionFailed');
 
-          executionFailReason = executionFailedStatus.error.toString();
+          executionFailReason = bytesToString(executionFailedStatus.error);
         }
       }
     }

+ 2 - 2
pioneer/packages/joy-utils/src/transport/proposals.ts

@@ -118,8 +118,8 @@ export default class ProposalsTransport extends BaseTransport {
 
     return {
       id,
-      title: rawProposal.title.toString(),
-      description: rawProposal.description.toString(),
+      title: bytesToString(rawProposal.title),
+      description: bytesToString(rawProposal.description),
       parameters: rawProposal.parameters,
       votingResults: rawProposal.votingResults,
       proposerId: rawProposal.proposerId.toNumber(),

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

@@ -551,15 +551,15 @@
     "ProposalOf": {
         "parameters": "ProposalParameters",
         "proposerId": "MemberId",
-        "title": "Text",
-        "description": "Text",
+        "title": "Bytes",
+        "description": "Bytes",
         "createdAt": "u32",
         "status": "ProposalStatus",
         "votingResults": "VotingResults"
     },
     "ProposalDetails": {
         "_enum": {
-            "Text": "Text",
+            "Text": "Bytes",
             "RuntimeUpgrade": "Bytes",
             "SetElectionParameters": "ElectionParameters",
             "Spending": "(Balance,AccountId)",
@@ -580,7 +580,7 @@
     },
     "ProposalDetailsOf": {
         "_enum": {
-            "Text": "Text",
+            "Text": "Bytes",
             "RuntimeUpgrade": "Bytes",
             "SetElectionParameters": "ElectionParameters",
             "Spending": "(Balance,AccountId)",
@@ -678,7 +678,7 @@
         }
     },
     "ExecutionFailed": {
-        "error": "Text"
+        "error": "Bytes"
     },
     "Approved": {
         "_enum": {

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

@@ -464,7 +464,7 @@ export interface EpisodeParemters extends Enum {
 
 /** @name ExecutionFailed */
 export interface ExecutionFailed extends Struct {
-  readonly error: Text;
+  readonly error: Bytes;
 }
 
 /** @name FailedAt */
@@ -812,7 +812,7 @@ export interface ProposalDecisionStatus extends Enum {
 /** @name ProposalDetails */
 export interface ProposalDetails extends Enum {
   readonly isText: boolean;
-  readonly asText: Text;
+  readonly asText: Bytes;
   readonly isRuntimeUpgrade: boolean;
   readonly asRuntimeUpgrade: Bytes;
   readonly isSetElectionParameters: boolean;
@@ -850,7 +850,7 @@ export interface ProposalDetails extends Enum {
 /** @name ProposalDetailsOf */
 export interface ProposalDetailsOf extends Enum {
   readonly isText: boolean;
-  readonly asText: Text;
+  readonly asText: Bytes;
   readonly isRuntimeUpgrade: boolean;
   readonly asRuntimeUpgrade: Bytes;
   readonly isSetElectionParameters: boolean;
@@ -892,8 +892,8 @@ export interface ProposalId extends u32 {}
 export interface ProposalOf extends Struct {
   readonly parameters: ProposalParameters;
   readonly proposerId: MemberId;
-  readonly title: Text;
-  readonly description: Text;
+  readonly title: Bytes;
+  readonly description: Bytes;
   readonly createdAt: u32;
   readonly status: ProposalStatus;
   readonly votingResults: VotingResults;

+ 7 - 7
types/src/proposals.ts

@@ -1,4 +1,4 @@
-import { Text, u32, Tuple, u8, Vec, Option, Null, Bytes } from '@polkadot/types'
+import { u32, Tuple, u8, Vec, Option, Null, Bytes } from '@polkadot/types'
 import { bool, u128 } from '@polkadot/types/primitive'
 import { BlockNumber, Balance } from '@polkadot/types/interfaces'
 import { GenericAccountId as AccountId } from '@polkadot/types/generic/AccountId'
@@ -57,8 +57,8 @@ export class ProposalParameters
 export type IProposal = {
   parameters: ProposalParameters
   proposerId: MemberId
-  title: Text
-  description: Text
+  title: Bytes
+  description: Bytes
   createdAt: BlockNumber
   status: ProposalStatus
   votingResults: VotingResults
@@ -87,7 +87,7 @@ export class ActiveStake
   implements IActiveStake {}
 
 export class ExecutionFailedStatus extends JoyStructDecorated({
-  error: Text,
+  error: Bytes,
 }) {}
 
 export class ExecutionFailed extends ExecutionFailedStatus {}
@@ -166,9 +166,9 @@ export class Proposal
     // Identifier of member proposing.
     proposerId: MemberId,
     // Proposal description
-    title: Text,
+    title: Bytes,
     // Proposal body
-    description: Text,
+    description: Bytes,
     // When it was created.
     createdAt: u32, // BlockNumber
     /// Current proposal status
@@ -251,7 +251,7 @@ export class TerminateRoleParameters
   implements ITerminateRoleParameters {}
 
 export class ProposalDetails extends JoyEnum({
-  Text: Text,
+  Text: Bytes,
   RuntimeUpgrade: Bytes,
   SetElectionParameters: ElectionParameters,
   Spending: SpendingParams,