Update derive.bagsList to detect voterList pallet (#4910)
* Update `derive.bagsList` to detect `voterList` pallet * Adjust * Adjust
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { Observable } from 'rxjs';
|
||||
import type { Option } from '@polkadot/types';
|
||||
import type { Option, u64 } from '@polkadot/types';
|
||||
import type { PalletBagsListListBag } from '@polkadot/types/lookup';
|
||||
import type { BN } from '@polkadot/util';
|
||||
import type { DeriveApi } from '../types';
|
||||
@@ -43,7 +43,7 @@ export function _getIds (instanceId: string, api: DeriveApi): (ids: (BN | number
|
||||
const ids = _ids.map((id) => bnToBn(id));
|
||||
|
||||
return ids.length
|
||||
? api.query.listBags.multi<Option<PalletBagsListListBag>[]>(ids).pipe(
|
||||
? (api.query.voterList || api.query.bagsList).listBags.multi<Option<PalletBagsListListBag>>(ids).pipe(
|
||||
map((bags) => orderBags(ids, bags))
|
||||
)
|
||||
: of([]);
|
||||
@@ -52,7 +52,7 @@ export function _getIds (instanceId: string, api: DeriveApi): (ids: (BN | number
|
||||
|
||||
export function all (instanceId: string, api: DeriveApi): () => Observable<Bag[]> {
|
||||
return memo(instanceId, (): Observable<Bag[]> =>
|
||||
api.query.bagsList.listBags.keys().pipe(
|
||||
(api.query.voterList || api.query.bagsList).listBags.keys<[u64]>().pipe(
|
||||
switchMap((keys) =>
|
||||
api.derive.bagsList._getIds(keys.map(({ args: [id] }) => id))
|
||||
),
|
||||
|
||||
@@ -18,7 +18,7 @@ function traverseLinks (api: DeriveApi, head: AccountId32 | string): Observable<
|
||||
|
||||
return subject.pipe(
|
||||
switchMap((account) =>
|
||||
api.query.bagsList.listNodes(account)
|
||||
(api.query.voterList || api.query.bagsList).listNodes<Option<PalletBagsListListNode>>(account)
|
||||
),
|
||||
tap((node: Option<PalletBagsListListNode>): void => {
|
||||
nextTick((): void => {
|
||||
|
||||
@@ -23,8 +23,9 @@ export { lazyDeriveSection };
|
||||
// Enable derive only if some of these modules are available
|
||||
const checks: Record<string, Avail> = {
|
||||
bagsList: {
|
||||
instances: ['bagsList'],
|
||||
methods: []
|
||||
instances: ['voterList', 'bagsList'],
|
||||
methods: [],
|
||||
withDetect: true
|
||||
},
|
||||
contracts: {
|
||||
instances: ['contracts'],
|
||||
|
||||
Reference in New Issue
Block a user