diff --git a/packages/page-democracy/src/Execute/Scheduled.tsx b/packages/page-democracy/src/Execute/Scheduled.tsx
index 9e3b82ee06..2b2b0ad5ae 100644
--- a/packages/page-democracy/src/Execute/Scheduled.tsx
+++ b/packages/page-democracy/src/Execute/Scheduled.tsx
@@ -22,7 +22,9 @@ function Scheduled ({ bestNumber, className = '', value: { blockNumber, call, ma
return (
- |
+
+
+ |
{name && (
name.isAscii
diff --git a/packages/page-democracy/src/Execute/Scheduler.tsx b/packages/page-democracy/src/Execute/Scheduler.tsx
index 0445242f3b..f71786e375 100644
--- a/packages/page-democracy/src/Execute/Scheduler.tsx
+++ b/packages/page-democracy/src/Execute/Scheduler.tsx
@@ -2,7 +2,8 @@
// SPDX-License-Identifier: Apache-2.0
import type { Option } from '@polkadot/types';
-import type { BlockNumber, Scheduled } from '@polkadot/types/interfaces';
+import type { BlockNumber, Call, Scheduled } from '@polkadot/types/interfaces';
+import type { FrameSupportScheduleMaybeHashed, PalletSchedulerScheduledV3 } from '@polkadot/types/lookup';
import type { ScheduledExt } from './types';
import React, { useMemo, useRef } from 'react';
@@ -18,16 +19,26 @@ interface Props {
}
const transformEntries = {
- transform: (entries: [{ args: [BlockNumber] }, Option[]][]): ScheduledExt[] => {
+ transform: (entries: [{ args: [BlockNumber] }, Option[]][]): ScheduledExt[] => {
return entries
- .filter(([, vecSchedOpt]) => vecSchedOpt.some((schedOpt) => schedOpt.isSome))
- .reduce((items: ScheduledExt[], [key, vecSchedOpt]): ScheduledExt[] => {
+ .filter(([, all]) => all.some((o) => o.isSome))
+ .reduce((items: ScheduledExt[], [key, all]): ScheduledExt[] => {
const blockNumber = key.args[0];
- return vecSchedOpt
- .filter((schedOpt) => schedOpt.isSome)
- .map((schedOpt) => schedOpt.unwrap())
- .reduce((items: ScheduledExt[], { call, maybeId, maybePeriodic, priority }, index) => {
+ return all
+ .filter((o) => o.isSome)
+ .map((o) => o.unwrap())
+ .reduce((items: ScheduledExt[], { call: callOrEnum, maybeId, maybePeriodic, priority }, index) => {
+ let call: Call | null = null;
+
+ if ((callOrEnum as unknown as FrameSupportScheduleMaybeHashed).inner) {
+ if ((callOrEnum as unknown as FrameSupportScheduleMaybeHashed).isValue) {
+ call = (callOrEnum as unknown as FrameSupportScheduleMaybeHashed).asValue;
+ }
+ } else {
+ call = callOrEnum as Call;
+ }
+
items.push({ blockNumber, call, key: `${blockNumber.toString()}-${index}`, maybeId, maybePeriodic, priority });
return items;
diff --git a/packages/page-democracy/src/Execute/types.ts b/packages/page-democracy/src/Execute/types.ts
index 5b22dff8f0..27fd7f7152 100644
--- a/packages/page-democracy/src/Execute/types.ts
+++ b/packages/page-democracy/src/Execute/types.ts
@@ -6,7 +6,7 @@ import type { BlockNumber, Call, SchedulePeriod, SchedulePriority } from '@polka
export interface ScheduledExt {
blockNumber: BlockNumber;
- call: Call;
+ call: Call | null;
key: string;
maybeId: Option;
maybePeriodic: Option;
diff --git a/packages/react-components/src/CallExpander.tsx b/packages/react-components/src/CallExpander.tsx
index ed2d3e6732..6b8c9b2bc5 100644
--- a/packages/react-components/src/CallExpander.tsx
+++ b/packages/react-components/src/CallExpander.tsx
@@ -12,7 +12,7 @@ interface Props {
children?: React.ReactNode;
className?: string;
labelHash?: React.ReactNode;
- value: Call;
+ value?: Call | null;
withHash?: boolean;
}
|