combineLatest type fixes (remove deprecated) (#3739)

This commit is contained in:
Jaco
2021-07-07 06:30:56 +02:00
committed by GitHub
parent 2d634a5b00
commit a3c283cdf3
4 changed files with 16 additions and 18 deletions
+2 -2
View File
@@ -47,9 +47,9 @@ export function flags (instanceId: string, api: ApiInterfaceRx): (address?: Acco
? 'electionsPhragmen'
: 'elections';
return combineLatest<FlagsIntermediate>([
return combineLatest([
address && api.query[councilSection]?.members
? api.query[councilSection].members()
? api.query[councilSection].members<Vec<ITuple<[AccountId, Balance]>>>()
: of(undefined),
address && api.query.council?.members
? api.query.council.members()
@@ -34,17 +34,17 @@ function parse (api: ApiInterfaceRx, [hashes, proposals, votes]: Result): Derive
function _proposalsFrom (instanceId: string, api: ApiInterfaceRx, section: string): (hashes: (Hash | Uint8Array | string)[]) => Observable<DeriveCollectiveProposal[]> {
return memo(instanceId, (hashes: (Hash | Uint8Array | string)[]): Observable<DeriveCollectiveProposal[]> =>
(isFunction(api.query[section]?.proposals) && hashes.length
? combineLatest<Result>([
? combineLatest([
of(hashes),
combineLatest(hashes.map((hash) =>
// this should simply be api.query[section].proposalOf.multi<Option<Proposal>>(hashes),
// however we have had cases on Edgeware where the indices have moved around after an
// upgrade, which results in invalid on-chain data
api.query[section].proposalOf(hash).pipe(catchError(() => of(null)))
api.query[section].proposalOf<Option<Proposal>>(hash).pipe(catchError(() => of(null)))
)),
api.query[section].voting.multi<Option<Votes>>(hashes)
])
: of([[], [], []] as Result)
: of<Result>([[], [], []])
).pipe(
map((result) => parse(api, result))
)
+5 -5
View File
@@ -60,11 +60,11 @@ function queryElections (api: ApiInterfaceRx): Observable<DeriveElectionsInfo> {
api.query[elections].members,
api.query[elections].runnersUp
])
: combineLatest<[Vec<AccountId>, Candidate[], Member[], Member[]]>([
api.query[council].members(),
of([]),
of([]),
of([])
: combineLatest([
api.query[council].members<Vec<AccountId>>(),
of<Candidate[]>([]),
of<Member[]>([]),
of<Member[]>([])
])
).pipe(
map(([councilMembers, candidates, members, runnersUp]): DeriveElectionsInfo => ({
+6 -8
View File
@@ -13,17 +13,15 @@ import { map, switchMap } from '@polkadot/x-rxjs/operators';
import { memo } from '../util';
type Result = [AccountId[], Vec<ITuple<[BlockNumber, Balance]>>[], StrikeCount[], Option<SocietyVote>[], bool[], Option<VouchingStatus>[]];
export function _members (instanceId: string, api: ApiInterfaceRx): (accountIds: AccountId[]) => Observable<DeriveSocietyMember[]> {
return memo(instanceId, (accountIds: AccountId[]): Observable<DeriveSocietyMember[]> =>
combineLatest<Result>([
combineLatest([
of(accountIds),
api.query.society.payouts.multi(accountIds),
api.query.society.strikes.multi(accountIds),
api.query.society.defenderVotes.multi(accountIds),
api.query.society.suspendedMembers.multi(accountIds),
api.query.society.vouching.multi(accountIds)
api.query.society.payouts.multi<Vec<ITuple<[BlockNumber, Balance]>>>(accountIds),
api.query.society.strikes.multi<StrikeCount>(accountIds),
api.query.society.defenderVotes.multi<Option<SocietyVote>>(accountIds),
api.query.society.suspendedMembers.multi<bool>(accountIds),
api.query.society.vouching.multi<Option<VouchingStatus>>(accountIds)
]).pipe(
map(([accountIds, payouts, strikes, defenderVotes, suspended, vouching]) =>
accountIds.map((accountId, index) => ({