derive.referendum extended info (#2086)

* derive.referendum extended info

* update

* util bump
This commit is contained in:
Jaco Greeff
2020-03-24 17:39:37 +01:00
committed by GitHub
parent d70930587c
commit 602bb1406b
19 changed files with 477 additions and 375 deletions
+1 -1
View File
@@ -27,7 +27,7 @@
"@babel/core": "^7.9.0",
"@babel/register": "^7.9.0",
"@babel/runtime": "^7.9.2",
"@polkadot/dev": "^0.51.7",
"@polkadot/dev": "^0.51.8",
"@polkadot/ts": "^0.3.14",
"@polkadot/typegen": "workspace:packages/typegen",
"@types/jest": "^25.1.4",
+1 -1
View File
@@ -30,7 +30,7 @@
"@polkadot/api": "1.9.0-beta.0",
"@polkadot/rpc-core": "1.9.0-beta.0",
"@polkadot/types": "1.9.0-beta.0",
"@polkadot/util": "^2.6.2",
"@polkadot/util": "^2.7.0-beta.8",
"bn.js": "^5.1.1",
"rxjs": "^6.5.4"
}
+3 -3
View File
@@ -32,13 +32,13 @@
"@polkadot/rpc-core": "1.9.0-beta.0",
"@polkadot/rpc-provider": "1.9.0-beta.0",
"@polkadot/types": "1.9.0-beta.0",
"@polkadot/util": "^2.6.2",
"@polkadot/util-crypto": "^2.6.2",
"@polkadot/util": "^2.7.0-beta.8",
"@polkadot/util-crypto": "^2.7.0-beta.8",
"bn.js": "^5.1.1",
"memoizee": "^0.4.14",
"rxjs": "^6.5.4"
},
"devDependencies": {
"@polkadot/keyring": "^2.6.2"
"@polkadot/keyring": "^2.7.0-beta.8"
}
}
@@ -3,7 +3,4 @@
// of the Apache-2.0 license. See the LICENSE file for details.
export * from './proposals';
export * from './referendumInfo';
export * from './referendumInfos';
export * from './referendums';
export * from './referendumVotes';
@@ -1,25 +0,0 @@
// Copyright 2017-2020 @polkadot/api-derive authors & contributors
// This software may be modified and distributed under the terms
// of the Apache-2.0 license. See the LICENSE file for details.
import { ReferendumInfo, ReferendumInfoTo239 } from '@polkadot/types/interfaces';
import { DerivedReferendum } from '../types';
import BN from 'bn.js';
import { Observable } from 'rxjs';
import { switchMap } from 'rxjs/operators';
import { ApiInterfaceRx } from '@polkadot/api/types';
import { Option } from '@polkadot/types';
import { memo } from '../util';
import { retrieveInfo } from './util';
export function referendumInfo (api: ApiInterfaceRx): (index: BN | number) => Observable<DerivedReferendum | null> {
return memo((index: BN | number): Observable<DerivedReferendum | null> =>
api.query.democracy.referendumInfoOf<Option<ReferendumInfo | ReferendumInfoTo239>>(index).pipe(
switchMap((info): Observable<DerivedReferendum | null> =>
retrieveInfo(api, index, info)
)
)
);
}
@@ -1,35 +0,0 @@
// Copyright 2017-2020 @polkadot/api-derive authors & contributors
// This software may be modified and distributed under the terms
// of the Apache-2.0 license. See the LICENSE file for details.
import { ReferendumInfo } from '@polkadot/types/interfaces/democracy';
import { DerivedReferendum } from '../types';
import BN from 'bn.js';
import { Observable, combineLatest, of } from 'rxjs';
import { map, switchMap } from 'rxjs/operators';
import { ApiInterfaceRx } from '@polkadot/api/types';
import { Option } from '@polkadot/types';
import { memo } from '../util';
import { retrieveInfo } from './util';
export function referendumInfos (api: ApiInterfaceRx): (ids?: (BN | number)[]) => Observable<DerivedReferendum[]> {
return memo((ids: (BN | number)[] = []): Observable<DerivedReferendum[]> =>
(
!ids?.length
? of([] as Option<ReferendumInfo>[])
: api.query.democracy.referendumInfoOf.multi<Option<ReferendumInfo>>(ids)
).pipe(
switchMap((infos): Observable<(DerivedReferendum | null)[]> =>
combineLatest(
ids.map((id, index): Observable<DerivedReferendum | null> =>
retrieveInfo(api, id, infos[index])
)
)
),
map((infos): DerivedReferendum[] =>
infos.filter((referendum): referendum is DerivedReferendum => !!referendum)
)
));
}
@@ -1,89 +0,0 @@
// Copyright 2017-2020 @polkadot/api-derive authors & contributors
// This software may be modified and distributed under the terms
// of the Apache-2.0 license. See the LICENSE file for details.
import { AccountId, Vote, Voting, VotingDirectVote } from '@polkadot/types/interfaces';
import BN from 'bn.js';
import { Observable, combineLatest, of } from 'rxjs';
import { map, switchMap } from 'rxjs/operators';
import { ApiInterfaceRx } from '@polkadot/api/types';
import { StorageKey, Vec } from '@polkadot/types';
import { DerivedBalancesAccount, DerivedReferendumVote } from '../types';
import { memo } from '../util';
function votesPrev (api: ApiInterfaceRx, referendumId: BN | number): Observable<DerivedReferendumVote[]> {
return api.query.democracy.votersFor<Vec<AccountId>>(referendumId).pipe(
switchMap((votersFor): Observable<[Vec<AccountId>, Vote[], DerivedBalancesAccount[]]> =>
combineLatest([
of(votersFor),
!votersFor || !votersFor.length
? of([] as Vote[])
: api.query.democracy.voteOf.multi<Vote>(
votersFor.map((accountId): [BN | number, AccountId] =>
[referendumId, accountId]
)
),
api.derive.balances.votingBalances(votersFor)
])
),
map(([votersFor, votes, balances]): DerivedReferendumVote[] =>
votersFor.map((accountId, index): DerivedReferendumVote => ({
accountId,
balance: balances[index].votingBalance || api.registry.createType('Balance'),
vote: votes[index] || api.registry.createType('Vote')
} as DerivedReferendumVote))
)
);
}
function mapVotes (referendumId: BN | number, allVoting: [StorageKey, Voting][]): DerivedReferendumVote[] {
return allVoting
.map(([key, voting]): [AccountId, Voting] => [
key.args[0] as AccountId,
voting
])
// FIXME We are ignoring delegated votes
.filter(([, voting]) => voting.isDirect)
.map(([accountId, voting]): [AccountId, VotingDirectVote[]] => [
accountId,
voting.asDirect.votes.filter(([idx]) => idx.eq(referendumId))
])
.filter(([, directVotes]) => !!directVotes.length)
.reduce((result: DerivedReferendumVote[], [accountId, votes]): DerivedReferendumVote[] =>
// FIXME We are ignoring split votes
votes.reduce((result: DerivedReferendumVote[], [, vote]): DerivedReferendumVote[] => {
if (vote.isStandard) {
result.push({
accountId,
...vote.asStandard
});
}
return result;
}, result), []
);
}
function votes (api: ApiInterfaceRx, referendumId: BN | number): Observable<DerivedReferendumVote[]> {
// Use referendumInfo as a trigger, entries are non-subscribable
return api.derive.democracy.referendumInfo(referendumId).pipe(
switchMap((info): Observable<[StorageKey, Voting][]> =>
info
? api.query.democracy.votingOf.entries<Voting>()
: of([])
),
map((allVoting): DerivedReferendumVote[] =>
mapVotes(referendumId, allVoting)
)
);
}
export function referendumVotes (api: ApiInterfaceRx): (referendumId: BN | number) => Observable<DerivedReferendumVote[]> {
return memo((referendumId: BN | number): Observable<DerivedReferendumVote[]> =>
api.query.democracy.votingOf
? votes(api, referendumId)
: votesPrev(api, referendumId)
);
}
+154 -18
View File
@@ -2,33 +2,169 @@
// This software may be modified and distributed under the terms
// of the Apache-2.0 license. See the LICENSE file for details.
import { ReferendumIndex } from '@polkadot/types/interfaces/democracy';
import { DerivedReferendum } from '../types';
import { ApiInterfaceRx } from '@polkadot/api/types';
import { AccountId, Balance, ReferendumIndex, ReferendumInfo, ReferendumInfoTo239, ReferendumStatus, Vote, Voting, VotingDirectVote } from '@polkadot/types/interfaces';
import { DerivedBalancesAccount, DerivedReferendum, DerivedReferendumExt, DerivedReferendumVote } from '../types';
import BN from 'bn.js';
import { Observable, of } from 'rxjs';
import { switchMap } from 'rxjs/operators';
import { ApiInterfaceRx } from '@polkadot/api/types';
import { Observable, of, combineLatest } from 'rxjs';
import { map, switchMap } from 'rxjs/operators';
import { Option, Vec } from '@polkadot/types';
import { bnSqrt } from '@polkadot/util';
import { memo } from '../util';
import { PreImage } from './proposals';
import { calcVotes, getStatus } from './util';
export function referendums (api: ApiInterfaceRx): () => Observable<DerivedReferendum[]> {
return memo((): Observable<DerivedReferendum[]> =>
function votesPrev (api: ApiInterfaceRx, referendumId: BN): Observable<DerivedReferendumVote[]> {
return api.query.democracy.votersFor<Vec<AccountId>>(referendumId).pipe(
switchMap((votersFor): Observable<[Vec<AccountId>, Vote[], DerivedBalancesAccount[]]> =>
combineLatest([
of(votersFor),
!votersFor || !votersFor.length
? of([] as Vote[])
: api.query.democracy.voteOf.multi<Vote>(
votersFor.map((accountId): [BN | number, AccountId] =>
[referendumId, accountId]
)
),
api.derive.balances.votingBalances(votersFor)
])
),
map(([votersFor, votes, balances]): DerivedReferendumVote[] =>
votersFor.map((accountId, index): DerivedReferendumVote => ({
accountId,
balance: balances[index].votingBalance || api.registry.createType('Balance'),
vote: votes[index] || api.registry.createType('Vote')
} as DerivedReferendumVote))
)
);
}
function votesCurr (api: ApiInterfaceRx, referendumId: BN): Observable<DerivedReferendumVote[]> {
return api.query.democracy.votingOf.entries<Voting>().pipe(
map((allVoting): DerivedReferendumVote[] =>
allVoting
.map(([key, voting]): [AccountId, Voting] => [key.args[0] as AccountId, voting])
// FIXME We are ignoring delegated votes
.filter(([, voting]) => voting.isDirect)
.map(([accountId, voting]): [AccountId, VotingDirectVote[]] => [
accountId,
voting.asDirect.votes.filter(([idx]) => idx.eq(referendumId))
])
.filter(([, directVotes]) => !!directVotes.length)
.reduce((result: DerivedReferendumVote[], [accountId, votes]) =>
// FIXME We are ignoring split votes
votes.reduce((result: DerivedReferendumVote[], [, vote]): DerivedReferendumVote[] => {
if (vote.isStandard) {
result.push({
accountId,
...vote.asStandard
});
}
return result;
}, result), []
)
)
);
}
function constructInfo (api: ApiInterfaceRx, index: BN | number, status: ReferendumStatus | ReferendumInfoTo239, _preimage?: PreImage): DerivedReferendum | null {
const preImage = _preimage?.isSome
? _preimage.unwrap()
: null;
return {
index: api.registry.createType('PropIndex', index),
hash: status.proposalHash,
proposal: preImage
? api.registry.createType('Proposal', preImage[0].toU8a(true))
: undefined,
preimage: preImage
? {
at: preImage[3],
balance: preImage[2],
proposer: preImage[1]
}
: undefined,
status
};
}
function retrieveInfo (api: ApiInterfaceRx, index: BN | number, info: Option<ReferendumInfo | ReferendumInfoTo239>): Observable<DerivedReferendum | null> {
const status = getStatus(info);
return status
? api.query.democracy.preimages(status.proposalHash).pipe(
map((preimage?: PreImage): DerivedReferendum | null =>
constructInfo(api, index, status, preimage)
)
)
: of(null);
}
function referendumInfos (api: ApiInterfaceRx, ids: BN[]): Observable<DerivedReferendum[]> {
return api.query.democracy.referendumInfoOf.multi<Option<ReferendumInfo>>(ids).pipe(
switchMap((infos): Observable<(DerivedReferendum | null)[]> =>
combineLatest(
ids.map((id, index): Observable<DerivedReferendum | null> =>
retrieveInfo(api, id, infos[index])
)
)
),
map((infos) => infos.filter((referendum): referendum is DerivedReferendum => !!referendum))
);
}
function retrieveDerived (api: ApiInterfaceRx, totalIssuance: Balance, earliest: ReferendumIndex, referendumCount: ReferendumIndex): Observable<[Balance, DerivedReferendum[]]> {
return combineLatest([
of(totalIssuance),
referendumCount.gt(earliest)
? referendumInfos(api, [
...Array(referendumCount.sub(earliest).toNumber())
].map((_, i): BN => earliest.addn(i)))
: of([])
]);
}
function retrieveVotes (api: ApiInterfaceRx, totalIssuance: Balance, referendums: DerivedReferendum[]): Observable<[Balance, DerivedReferendum[], DerivedReferendumVote[][]]> {
return combineLatest([
of(totalIssuance),
of(referendums),
combineLatest(
referendums.map((referendum): Observable<DerivedReferendumVote[]> =>
api.query.democracy.votingOf
? votesCurr(api, referendum.index)
: votesPrev(api, referendum.index)
)
)
]);
}
export function referendums (api: ApiInterfaceRx): () => Observable<DerivedReferendumExt[]> {
return memo((): Observable<DerivedReferendumExt[]> =>
api.query.democracy?.lowestUnbaked
? api.queryMulti<[ReferendumIndex, ReferendumIndex]>([
? api.queryMulti<[Balance, ReferendumIndex, ReferendumIndex]>([
api.query.balances.totalIssuance,
api.query.democracy.lowestUnbaked,
api.query.democracy.referendumCount
]).pipe(
switchMap(([earliest, referendumCount]): Observable<DerivedReferendum[]> =>
referendumCount?.gt(earliest) && referendumCount?.gtn(0)
? api.derive.democracy.referendumInfos(
[...Array(referendumCount.sub(earliest).toNumber())].map((_, i): BN =>
earliest.addn(i)
)
)
: of([])
)
switchMap(([totalIssuance, earliest, referendumCount]) =>
retrieveDerived(api, totalIssuance, earliest, referendumCount)
),
switchMap(([totalIssuance, referendums]) =>
retrieveVotes(api, totalIssuance, referendums)
),
map(([totalIssuance, referendums, votes]) => {
const sqrtElectorate = bnSqrt(totalIssuance);
return referendums.map((referendum, index): DerivedReferendumExt => ({
...referendum,
...calcVotes(sqrtElectorate, referendum, votes[index])
}));
})
)
: of([] as DerivedReferendum[])
: of([] as DerivedReferendumExt[])
);
}
@@ -0,0 +1,57 @@
// Copyright 2017-2020 @polkadot/api-derive authors & contributors
// This software may be modified and distributed under the terms
// of the Apache-2.0 license. See the LICENSE file for details.
import { AccountId, Balance, BlockNumber, Hash, Proposal, PropIndex, ReferendumInfoTo239, ReferendumStatus, Vote } from '@polkadot/types/interfaces';
import BN from 'bn.js';
import { Vec } from '@polkadot/types';
export interface DeriveProposalPreImage {
at: BlockNumber;
balance: Balance;
proposer: AccountId;
}
export interface DeriveProposal {
balance?: Balance;
hash: Hash;
index: PropIndex;
preimage?: DeriveProposalPreImage;
proposal?: Proposal;
proposer: AccountId;
seconds: Vec<AccountId>;
}
export interface DerivedReferendum {
hash: Hash;
index: PropIndex;
preimage?: DeriveProposalPreImage;
proposal?: Proposal;
status: ReferendumStatus | ReferendumInfoTo239;
}
export interface DerivedReferendumVote {
accountId: AccountId;
balance: Balance;
vote: Vote;
}
export interface DerivedReferendumVoteState {
allAye: DerivedReferendumVote[];
allNay: DerivedReferendumVote[];
voteCount: number;
voteCountAye: number;
voteCountNay: number;
votedAye: BN;
votedNay: BN;
votedTotal: BN;
}
export interface DerivedReferendumVotes extends DerivedReferendumVoteState {
isPassing: boolean;
votes: DerivedReferendumVote[];
}
export interface DerivedReferendumExt extends DerivedReferendum, DerivedReferendumVotes {
}
+119 -43
View File
@@ -2,28 +2,138 @@
// This software may be modified and distributed under the terms
// of the Apache-2.0 license. See the LICENSE file for details.
import { ReferendumInfo, ReferendumInfoTo239, ReferendumStatus } from '@polkadot/types/interfaces';
import { DerivedReferendum } from '../types';
import { PreImage } from './proposals';
import { ReferendumInfo, ReferendumInfoTo239, ReferendumStatus, Tally, VoteThreshold } from '@polkadot/types/interfaces';
import { DerivedReferendum, DerivedReferendumVote, DerivedReferendumVotes, DerivedReferendumVoteState } from '../types';
import BN from 'bn.js';
import { Observable, of } from 'rxjs';
import { map } from 'rxjs/operators';
import { ApiInterfaceRx } from '@polkadot/api/types';
import { Option } from '@polkadot/types';
import { bnSqrt } from '@polkadot/util';
function isOld (info: ReferendumInfo | ReferendumInfoTo239): info is ReferendumInfoTo239 {
function isOldInfo (info: ReferendumInfo | ReferendumInfoTo239): info is ReferendumInfoTo239 {
return !!(info as ReferendumInfoTo239).proposalHash;
}
function getStatus (info: Option<ReferendumInfo | ReferendumInfoTo239>): ReferendumStatus | ReferendumInfoTo239 | null {
function isCurrentStatus (status: ReferendumStatus | ReferendumInfoTo239): status is ReferendumStatus {
return !!(status as ReferendumStatus).tally;
}
export function compareRationals (n1: BN, d1: BN, n2: BN, d2: BN): boolean {
while (true) {
const q1 = n1.div(d1);
const q2 = n2.div(d2);
if (q1.lt(q2)) {
return true;
} else if (q2.lt(q1)) {
return false;
}
const r1 = n1.mod(d1);
const r2 = n2.mod(d2);
if (r2.isZero()) {
return false;
} else if (r1.isZero()) {
return true;
}
n1 = d2;
n2 = d1;
d1 = r2;
d2 = r1;
}
}
function isPassing (threshold: VoteThreshold, sqrtElectorate: BN, { votedAye, votedNay, votedTotal }: DerivedReferendumVoteState): boolean {
const sqrtVoters = bnSqrt(votedTotal);
return sqrtVoters.isZero()
? false
: threshold.isSimplemajority
? votedAye.gt(votedNay)
: threshold.isSupermajorityapproval
? compareRationals(votedNay, sqrtVoters, votedAye, sqrtElectorate)
: compareRationals(votedNay, sqrtElectorate, votedAye, sqrtVoters);
}
function calcVotesPrev (votesFor: DerivedReferendumVote[]): DerivedReferendumVoteState {
return votesFor.reduce((state: DerivedReferendumVoteState, derived): DerivedReferendumVoteState => {
const { balance, vote } = derived;
const isDefault = vote.conviction.index === 0;
const counted = balance
.muln(isDefault ? 1 : vote.conviction.index)
.divn(isDefault ? 10 : 1);
if (vote.isAye) {
state.allAye.push(derived);
state.voteCountAye++;
state.votedAye = state.votedAye.add(counted);
} else {
state.allNay.push(derived);
state.voteCountNay++;
state.votedNay = state.votedNay.add(counted);
}
state.voteCount++;
state.votedTotal = state.votedTotal.add(counted);
return state;
}, {
allAye: [],
allNay: [],
voteCount: 0,
voteCountAye: 0,
voteCountNay: 0,
votedAye: new BN(0),
votedNay: new BN(0),
votedTotal: new BN(0)
});
}
function calcVotesCurrent (tally: Tally, votes: DerivedReferendumVote[]): DerivedReferendumVoteState {
const allAye: DerivedReferendumVote[] = [];
const allNay: DerivedReferendumVote[] = [];
votes.forEach((derived): void => {
if (derived.vote.isAye) {
allAye.push(derived);
} else {
allNay.push(derived);
}
});
return {
allAye,
allNay,
voteCount: allAye.length + allNay.length,
voteCountAye: allAye.length,
voteCountNay: allNay.length,
votedAye: tally.ayes,
votedNay: tally.nays,
votedTotal: tally.turnout
};
}
export function calcVotes (sqrtElectorate: BN, referendum: DerivedReferendum, votes: DerivedReferendumVote[]): DerivedReferendumVotes {
const state = isCurrentStatus(referendum.status)
? calcVotesCurrent(referendum.status.tally, votes)
: calcVotesPrev(votes);
return {
...state,
isPassing: isPassing(referendum.status.threshold, sqrtElectorate, state),
votes
};
}
export function getStatus (info: Option<ReferendumInfo | ReferendumInfoTo239>): ReferendumStatus | ReferendumInfoTo239 | null {
if (info.isNone) {
return null;
}
const unwrapped = info.unwrap();
if (isOld(unwrapped)) {
if (isOldInfo(unwrapped)) {
return unwrapped;
} else if (unwrapped.isOngoing) {
return unwrapped.asOngoing;
@@ -32,37 +142,3 @@ function getStatus (info: Option<ReferendumInfo | ReferendumInfoTo239>): Referen
// done, we don't include it here... only currently active
return null;
}
function constructInfo (api: ApiInterfaceRx, index: BN | number, status: ReferendumStatus | ReferendumInfoTo239, _preimage?: PreImage): DerivedReferendum | null {
const preImage = _preimage?.isSome
? _preimage.unwrap()
: null;
return {
index: api.registry.createType('PropIndex', index),
hash: status.proposalHash,
proposal: preImage
? api.registry.createType('Proposal', preImage[0].toU8a(true))
: undefined,
preimage: preImage
? {
at: preImage[3],
balance: preImage[2],
proposer: preImage[1]
}
: undefined,
status
};
}
export function retrieveInfo (api: ApiInterfaceRx, index: BN | number, info: Option<ReferendumInfo | ReferendumInfoTo239>): Observable<DerivedReferendum | null> {
const status = getStatus(info);
return status
? api.query.democracy.preimages(status.proposalHash).pipe(
map((preimage?: PreImage): DerivedReferendum | null =>
constructInfo(api, index, status, preimage)
)
)
: of(null);
}
+1 -2
View File
@@ -49,9 +49,8 @@ describe('derive', (): void => {
testFunction(api)('chain', 'bestNumber', []);
testFunction(api)('chain', 'bestNumberFinalized', []);
testFunction(api)('democracy', 'referendumInfos', []);
testFunction(api)('democracy', 'proposals', []);
testFunction(api)('democracy', 'referendums', []);
testFunction(api)('democracy', 'referendumVotes', []);
testFunction(api)('elections', 'info', []);
+3 -32
View File
@@ -2,11 +2,12 @@
// This software may be modified and distributed under the terms
// of the Apache-2.0 license. See the LICENSE file for details.
import { AccountId, AccountIndex, Balance, BalanceLock, BalanceLockTo212, BalanceOf, Bid, BidKind, BlockNumber, Hash, Index, Proposal, PropIndex, ProposalIndex, ReferendumInfoTo239, ReferendumStatus, RegistrationJudgement, SetIndex, SocietyVote, StrikeCount, TreasuryProposal, Vote, Votes, VoteIndex, VouchingStatus } from '@polkadot/types/interfaces';
import { AccountId, AccountIndex, Balance, BalanceLock, BalanceLockTo212, BalanceOf, Bid, BidKind, BlockNumber, Hash, Index, Proposal, ProposalIndex, RegistrationJudgement, SetIndex, SocietyVote, StrikeCount, TreasuryProposal, Votes, VoteIndex, VouchingStatus } from '@polkadot/types/interfaces';
import BN from 'bn.js';
import { u32, Vec } from '@polkadot/types';
import { u32 } from '@polkadot/types';
export * from './democracy/types';
export * from './parachains/types';
export * from './session/types';
export * from './staking/types';
@@ -119,38 +120,8 @@ export interface RecentlyOffline {
count: BN;
}
export interface DeriveProposalPreImage {
at: BlockNumber;
balance: Balance;
proposer: AccountId;
}
export interface DeriveProposal {
balance?: Balance;
hash: Hash;
index: PropIndex;
preimage?: DeriveProposalPreImage;
proposal?: Proposal;
proposer: AccountId;
seconds: Vec<AccountId>;
}
export interface DerivedReferendum {
hash: Hash;
index: PropIndex;
preimage?: DeriveProposalPreImage;
proposal?: Proposal;
status: ReferendumStatus | ReferendumInfoTo239;
}
export type DerivedRecentlyOffline = Record<string, RecentlyOffline[]>;
export interface DerivedReferendumVote {
accountId: AccountId;
balance: Balance;
vote: Vote;
}
export interface DeriveSociety {
bids: Bid[];
defender?: AccountId;
+4 -4
View File
@@ -28,18 +28,18 @@
"dependencies": {
"@babel/runtime": "^7.9.2",
"@polkadot/api-derive": "1.9.0-beta.0",
"@polkadot/keyring": "^2.6.2",
"@polkadot/keyring": "^2.7.0-beta.8",
"@polkadot/metadata": "1.9.0-beta.0",
"@polkadot/rpc-core": "1.9.0-beta.0",
"@polkadot/rpc-provider": "1.9.0-beta.0",
"@polkadot/types": "1.9.0-beta.0",
"@polkadot/util": "^2.6.2",
"@polkadot/util-crypto": "^2.6.2",
"@polkadot/util": "^2.7.0-beta.8",
"@polkadot/util-crypto": "^2.7.0-beta.8",
"bn.js": "^5.1.1",
"eventemitter3": "^4.0.0",
"rxjs": "^6.5.4"
},
"devDependencies": {
"@polkadot/keyring": "^2.6.2"
"@polkadot/keyring": "^2.7.0-beta.8"
}
}
+3 -3
View File
@@ -28,11 +28,11 @@
"dependencies": {
"@babel/runtime": "^7.9.2",
"@polkadot/types": "1.9.0-beta.0",
"@polkadot/util": "^2.6.2",
"@polkadot/util-crypto": "^2.6.2",
"@polkadot/util": "^2.7.0-beta.8",
"@polkadot/util-crypto": "^2.7.0-beta.8",
"bn.js": "^5.1.1"
},
"devDependencies": {
"@polkadot/keyring": "^2.6.2"
"@polkadot/keyring": "^2.7.0-beta.8"
}
}
+2 -2
View File
@@ -30,11 +30,11 @@
"@polkadot/metadata": "1.9.0-beta.0",
"@polkadot/rpc-provider": "1.9.0-beta.0",
"@polkadot/types": "1.9.0-beta.0",
"@polkadot/util": "^2.6.2",
"@polkadot/util": "^2.7.0-beta.8",
"memoizee": "^0.4.14",
"rxjs": "^6.5.4"
},
"devDependencies": {
"@polkadot/keyring": "^2.6.2"
"@polkadot/keyring": "^2.7.0-beta.8"
}
}
+3 -3
View File
@@ -29,15 +29,15 @@
"@babel/runtime": "^7.9.2",
"@polkadot/metadata": "1.9.0-beta.0",
"@polkadot/types": "1.9.0-beta.0",
"@polkadot/util": "^2.6.2",
"@polkadot/util-crypto": "^2.6.2",
"@polkadot/util": "^2.7.0-beta.8",
"@polkadot/util-crypto": "^2.7.0-beta.8",
"bn.js": "^5.1.1",
"eventemitter3": "^4.0.0",
"isomorphic-fetch": "^2.2.1",
"websocket": "^1.0.31"
},
"devDependencies": {
"@polkadot/keyring": "^2.6.2",
"@polkadot/keyring": "^2.7.0-beta.8",
"mock-socket": "^9.0.3",
"nock": "^12.0.3"
}
+1 -1
View File
@@ -40,7 +40,7 @@
"@polkadot/metadata": "1.9.0-beta.0",
"@polkadot/rpc-provider": "1.9.0-beta.0",
"@polkadot/types": "1.9.0-beta.0",
"@polkadot/util": "^2.6.2",
"@polkadot/util": "^2.7.0-beta.8",
"websocket": "^1.0.31",
"yargs": "^15.3.1"
},
+3 -3
View File
@@ -28,15 +28,15 @@
"dependencies": {
"@babel/runtime": "^7.9.2",
"@polkadot/metadata": "1.9.0-beta.0",
"@polkadot/util": "^2.6.2",
"@polkadot/util-crypto": "^2.6.2",
"@polkadot/util": "^2.7.0-beta.8",
"@polkadot/util-crypto": "^2.7.0-beta.8",
"@types/bn.js": "^4.11.6",
"bn.js": "^5.1.1",
"memoizee": "^0.4.14",
"rxjs": "^6.5.4"
},
"devDependencies": {
"@polkadot/keyring": "^2.6.2",
"@polkadot/keyring": "^2.7.0-beta.8",
"@types/memoizee": "^0.4.3"
}
}
+122 -107
View File
@@ -1301,7 +1301,7 @@ __metadata:
languageName: node
linkType: hard
"@babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.0":
"@babel/runtime@npm:^7.8.4":
version: 7.9.0
resolution: "@babel/runtime@npm:7.9.0"
dependencies:
@@ -2600,7 +2600,7 @@ __metadata:
"@polkadot/api": 1.9.0-beta.0
"@polkadot/rpc-core": 1.9.0-beta.0
"@polkadot/types": 1.9.0-beta.0
"@polkadot/util": ^2.6.2
"@polkadot/util": ^2.7.0-beta.8
bn.js: ^5.1.1
rxjs: ^6.5.4
languageName: unknown
@@ -2612,12 +2612,12 @@ __metadata:
dependencies:
"@babel/runtime": ^7.9.2
"@polkadot/api": 1.9.0-beta.0
"@polkadot/keyring": ^2.6.2
"@polkadot/keyring": ^2.7.0-beta.8
"@polkadot/rpc-core": 1.9.0-beta.0
"@polkadot/rpc-provider": 1.9.0-beta.0
"@polkadot/types": 1.9.0-beta.0
"@polkadot/util": ^2.6.2
"@polkadot/util-crypto": ^2.6.2
"@polkadot/util": ^2.7.0-beta.8
"@polkadot/util-crypto": ^2.7.0-beta.8
bn.js: ^5.1.1
memoizee: ^0.4.14
rxjs: ^6.5.4
@@ -2630,22 +2630,22 @@ __metadata:
dependencies:
"@babel/runtime": ^7.9.2
"@polkadot/api-derive": 1.9.0-beta.0
"@polkadot/keyring": ^2.6.2
"@polkadot/keyring": ^2.7.0-beta.8
"@polkadot/metadata": 1.9.0-beta.0
"@polkadot/rpc-core": 1.9.0-beta.0
"@polkadot/rpc-provider": 1.9.0-beta.0
"@polkadot/types": 1.9.0-beta.0
"@polkadot/util": ^2.6.2
"@polkadot/util-crypto": ^2.6.2
"@polkadot/util": ^2.7.0-beta.8
"@polkadot/util-crypto": ^2.7.0-beta.8
bn.js: ^5.1.1
eventemitter3: ^4.0.0
rxjs: ^6.5.4
languageName: unknown
linkType: soft
"@polkadot/dev@npm:^0.51.7":
version: 0.51.7
resolution: "@polkadot/dev@npm:0.51.7"
"@polkadot/dev@npm:^0.51.8":
version: 0.51.8
resolution: "@polkadot/dev@npm:0.51.8"
dependencies:
"@babel/cli": ^7.8.4
"@babel/core": ^7.9.0
@@ -2666,15 +2666,15 @@ __metadata:
"@babel/preset-react": ^7.9.1
"@babel/preset-typescript": ^7.9.0
"@babel/register": ^7.9.0
"@babel/runtime": ^7.9.0
"@typescript-eslint/eslint-plugin": 2.24.0
"@typescript-eslint/parser": 2.24.0
"@babel/runtime": ^7.9.2
"@typescript-eslint/eslint-plugin": 2.25.0
"@typescript-eslint/parser": 2.25.0
"@vue/component-compiler-utils": ^3.1.1
babel-core: ^7.0.0-bridge.0
babel-jest: ^25.1.0
babel-plugin-module-resolver: ^4.0.0
babel-plugin-styled-components: ^1.10.7
browserslist: ^4.10.0
browserslist: ^4.11.0
chalk: ^3.0.0
coveralls: ^3.0.11
cpx: ^1.5.0
@@ -2698,7 +2698,7 @@ __metadata:
madge: ^3.8.0
mkdirp: ^1.0.3
rimraf: ^3.0.2
typedoc: ^0.17.1
typedoc: ^0.17.3
typedoc-plugin-markdown: ^2.2.17
typedoc-plugin-no-inherit: ^1.1.10
typescript: ^3.8.3
@@ -2725,18 +2725,18 @@ __metadata:
polkadot-exec-typedoc: scripts/polkadot-exec-typedoc.js
polkadot-exec-vuepress: scripts/polkadot-exec-vuepress.js
polkadot-exec-webpack: scripts/polkadot-exec-webpack.js
checksum: 2/e4c7a2e512343f627e068fc12b696ed4a2dd95c1e608885738b6bcbf979d9aac85940699e7d696cee49e5a3adb66e7ed2635bd260f6fe18b018d7b6df5ca71f9
checksum: 2/a76fbb97a54c0fda8113af4fe232d464e6791155243436bd2be850c8b0d58248836e2545bb009ec6e2973a26a25e86784da35b66a77e32f8d793d47332a01ee0
languageName: node
linkType: hard
"@polkadot/keyring@npm:^2.6.2":
version: 2.6.2
resolution: "@polkadot/keyring@npm:2.6.2"
"@polkadot/keyring@npm:^2.7.0-beta.8":
version: 2.7.0-beta.8
resolution: "@polkadot/keyring@npm:2.7.0-beta.8"
dependencies:
"@babel/runtime": ^7.8.7
"@polkadot/util": 2.6.2
"@polkadot/util-crypto": 2.6.2
checksum: 2/72268d4b89c3e98ae76abb6fa5278edc23469b7d31e5f3fe78572e5b59e54e9e8f84cd18d5bb752bf0b3e8a78906f6bb80bc017a52da1c402e38b440e718c6d8
"@babel/runtime": ^7.9.2
"@polkadot/util": 2.7.0-beta.8
"@polkadot/util-crypto": 2.7.0-beta.8
checksum: 2/2aae0ff6173c70bd128c5e372e82d63163c918564b7ed44e54849d14a24883ed38dd1030d54b7d63a48d502587274e690ad35f99f49a27a647bec11ac0413a12
languageName: node
linkType: hard
@@ -2745,10 +2745,10 @@ __metadata:
resolution: "@polkadot/metadata@workspace:packages/metadata"
dependencies:
"@babel/runtime": ^7.9.2
"@polkadot/keyring": ^2.6.2
"@polkadot/keyring": ^2.7.0-beta.8
"@polkadot/types": 1.9.0-beta.0
"@polkadot/util": ^2.6.2
"@polkadot/util-crypto": ^2.6.2
"@polkadot/util": ^2.7.0-beta.8
"@polkadot/util-crypto": ^2.7.0-beta.8
bn.js: ^5.1.1
languageName: unknown
linkType: soft
@@ -2758,11 +2758,11 @@ __metadata:
resolution: "@polkadot/rpc-core@workspace:packages/rpc-core"
dependencies:
"@babel/runtime": ^7.9.2
"@polkadot/keyring": ^2.6.2
"@polkadot/keyring": ^2.7.0-beta.8
"@polkadot/metadata": 1.9.0-beta.0
"@polkadot/rpc-provider": 1.9.0-beta.0
"@polkadot/types": 1.9.0-beta.0
"@polkadot/util": ^2.6.2
"@polkadot/util": ^2.7.0-beta.8
memoizee: ^0.4.14
rxjs: ^6.5.4
languageName: unknown
@@ -2773,11 +2773,11 @@ __metadata:
resolution: "@polkadot/rpc-provider@workspace:packages/rpc-provider"
dependencies:
"@babel/runtime": ^7.9.2
"@polkadot/keyring": ^2.6.2
"@polkadot/keyring": ^2.7.0-beta.8
"@polkadot/metadata": 1.9.0-beta.0
"@polkadot/types": 1.9.0-beta.0
"@polkadot/util": ^2.6.2
"@polkadot/util-crypto": ^2.6.2
"@polkadot/util": ^2.7.0-beta.8
"@polkadot/util-crypto": ^2.7.0-beta.8
bn.js: ^5.1.1
eventemitter3: ^4.0.0
isomorphic-fetch: ^2.2.1
@@ -2807,7 +2807,7 @@ __metadata:
"@polkadot/metadata": 1.9.0-beta.0
"@polkadot/rpc-provider": 1.9.0-beta.0
"@polkadot/types": 1.9.0-beta.0
"@polkadot/util": ^2.6.2
"@polkadot/util": ^2.7.0-beta.8
"@types/websocket": ^1.0.0
"@types/yargs": ^15.0.4
websocket: ^1.0.31
@@ -2826,10 +2826,10 @@ __metadata:
resolution: "@polkadot/types@workspace:packages/types"
dependencies:
"@babel/runtime": ^7.9.2
"@polkadot/keyring": ^2.6.2
"@polkadot/keyring": ^2.7.0-beta.8
"@polkadot/metadata": 1.9.0-beta.0
"@polkadot/util": ^2.6.2
"@polkadot/util-crypto": ^2.6.2
"@polkadot/util": ^2.7.0-beta.8
"@polkadot/util-crypto": ^2.7.0-beta.8
"@types/bn.js": ^4.11.6
"@types/memoizee": ^0.4.3
bn.js: ^5.1.1
@@ -2838,12 +2838,12 @@ __metadata:
languageName: unknown
linkType: soft
"@polkadot/util-crypto@npm:2.6.2, @polkadot/util-crypto@npm:^2.6.2":
version: 2.6.2
resolution: "@polkadot/util-crypto@npm:2.6.2"
"@polkadot/util-crypto@npm:2.7.0-beta.8, @polkadot/util-crypto@npm:^2.7.0-beta.8":
version: 2.7.0-beta.8
resolution: "@polkadot/util-crypto@npm:2.7.0-beta.8"
dependencies:
"@babel/runtime": ^7.8.7
"@polkadot/util": 2.6.2
"@babel/runtime": ^7.9.2
"@polkadot/util": 2.7.0-beta.8
"@polkadot/wasm-crypto": ^1.2.1
base-x: ^3.0.8
bip39: ^3.0.2
@@ -2855,21 +2855,21 @@ __metadata:
pbkdf2: ^3.0.17
tweetnacl: ^1.0.3
xxhashjs: ^0.2.2
checksum: 2/39b0ac8298dae87412574ecfd0ed65bb5c5fc51f34570fde3d02bad9cce0be5abf35f584e620f8047e0639efdbea0473767b2f00d97fa585dbedd2347e9464d9
checksum: 2/27bf4f2409b436a86ee704dcf0387ac4a5e549aaf6a58bf97460ed9d3fa9138fcda65d36b51e020c6e83cd3a54b41272f4c129a135b34c8287dd6e4adcf29b9e
languageName: node
linkType: hard
"@polkadot/util@npm:2.6.2, @polkadot/util@npm:^2.6.2":
version: 2.6.2
resolution: "@polkadot/util@npm:2.6.2"
"@polkadot/util@npm:2.7.0-beta.8, @polkadot/util@npm:^2.7.0-beta.8":
version: 2.7.0-beta.8
resolution: "@polkadot/util@npm:2.7.0-beta.8"
dependencies:
"@babel/runtime": ^7.8.7
"@babel/runtime": ^7.9.2
"@types/bn.js": ^4.11.6
bn.js: ^5.1.1
camelcase: ^5.3.1
chalk: ^3.0.0
ip-regex: ^4.1.0
checksum: 2/cfa7e60c6f23775c20d40e05645e5504cb24b703410d0a06a5d8e6283b1d1987693aabc3c05a3318f83b8d66e18e9efdb6d1d3a0baca0a2aa27ca30ed2bf88ec
checksum: 2/e3c9742572d6e372e61ca77cb4ef2d5c3961e9ad01caf7c1ab9f6e4f5d50fe38d1b6d5b02c91aa54ebf2c5143d9825bbf936315850d42b9118d5d66ff4f9cc4b
languageName: node
linkType: hard
@@ -3124,12 +3124,11 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/eslint-plugin@npm:2.24.0":
version: 2.24.0
resolution: "@typescript-eslint/eslint-plugin@npm:2.24.0"
"@typescript-eslint/eslint-plugin@npm:2.25.0":
version: 2.25.0
resolution: "@typescript-eslint/eslint-plugin@npm:2.25.0"
dependencies:
"@typescript-eslint/experimental-utils": 2.24.0
eslint-utils: ^1.4.3
"@typescript-eslint/experimental-utils": 2.25.0
functional-red-black-tree: ^1.0.1
regexpp: ^3.0.0
tsutils: ^3.17.1
@@ -3140,30 +3139,31 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
checksum: 2/f7975a4f5effe236413267350d4fdc6ad62508cbad9309abaa16fb63073d3cebefb0ad03809945f5123acab7f052e807f9b3e4d84b6b5054b6692afebad0d51b
checksum: 2/7ca02b7aa06326488583e4b1078fbf39b0d5a909c689e87e4a8f9def05720b8ef91faee12fe09b344c149f068fb00ca9692d7f918ffc3b9bfc1c0b79632959af
languageName: node
linkType: hard
"@typescript-eslint/experimental-utils@npm:2.24.0":
version: 2.24.0
resolution: "@typescript-eslint/experimental-utils@npm:2.24.0"
"@typescript-eslint/experimental-utils@npm:2.25.0":
version: 2.25.0
resolution: "@typescript-eslint/experimental-utils@npm:2.25.0"
dependencies:
"@types/json-schema": ^7.0.3
"@typescript-eslint/typescript-estree": 2.24.0
"@typescript-eslint/typescript-estree": 2.25.0
eslint-scope: ^5.0.0
eslint-utils: ^2.0.0
peerDependencies:
eslint: "*"
checksum: 2/2cdd8a5e204b67f9c4f30b6bb3dd2ebc7cf79ad0e48bcd504c6a6fa77195ac701930faf2e11b0d18ae2e6d2a03285a1547b28fa5f605c125b14efc2f5409a815
checksum: 2/1b221a91d887a2217dd4f9c6f15664b1d6bb37ce024e71cdfd90a4a356af974d92a17805af255f18e98ac314cbd32cc4387f45234c908e04ac632e03dfc51a1f
languageName: node
linkType: hard
"@typescript-eslint/parser@npm:2.24.0":
version: 2.24.0
resolution: "@typescript-eslint/parser@npm:2.24.0"
"@typescript-eslint/parser@npm:2.25.0":
version: 2.25.0
resolution: "@typescript-eslint/parser@npm:2.25.0"
dependencies:
"@types/eslint-visitor-keys": ^1.0.0
"@typescript-eslint/experimental-utils": 2.24.0
"@typescript-eslint/typescript-estree": 2.24.0
"@typescript-eslint/experimental-utils": 2.25.0
"@typescript-eslint/typescript-estree": 2.25.0
eslint-visitor-keys: ^1.1.0
peerDependencies:
eslint: ^5.0.0 || ^6.0.0
@@ -3171,11 +3171,31 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
checksum: 2/61eef9ba53d5fd532557f598b1954e47c2b5b86c9b37fce9e5baa9506749f24765ff196e962c7536bf53bd48b2ac5f7a681a9445f568922842be4a4f679e5157
checksum: 2/e0202f663b146db3ac245613ab782e47e2db6ce4daa84e618286d7f9acb8b9343684ee4dcd675abd0fa839c721fbb200eef90ae4617b3e162c6ac355ca42ec98
languageName: node
linkType: hard
"@typescript-eslint/typescript-estree@npm:2.24.0, @typescript-eslint/typescript-estree@npm:^2.4.0":
"@typescript-eslint/typescript-estree@npm:2.25.0":
version: 2.25.0
resolution: "@typescript-eslint/typescript-estree@npm:2.25.0"
dependencies:
debug: ^4.1.1
eslint-visitor-keys: ^1.1.0
glob: ^7.1.6
is-glob: ^4.0.1
lodash: ^4.17.15
semver: ^6.3.0
tsutils: ^3.17.1
peerDependencies:
typescript: "*"
peerDependenciesMeta:
typescript:
optional: true
checksum: 2/c7093c1734ec97598fc763c9b084c568a3392fa422b8fa19844a1bbf057925a01484d70fef4ca18bcd94084ece01399db507310ac56ff8f83fe96f0877da2cf2
languageName: node
linkType: hard
"@typescript-eslint/typescript-estree@npm:^2.4.0":
version: 2.24.0
resolution: "@typescript-eslint/typescript-estree@npm:2.24.0"
dependencies:
@@ -4446,15 +4466,6 @@ __metadata:
languageName: node
linkType: hard
"backbone@npm:^1.4.0":
version: 1.4.0
resolution: "backbone@npm:1.4.0"
dependencies:
underscore: ">=1.8.3"
checksum: 2/3a3c95f133fef708ff4a7bfbcdedab6bc63f1188b952af4c16882b029ecfa6c3c6dd367989006b3772ae0bc695d608f3d1f2ab8c076de7632dffff38ce96e9fd
languageName: node
linkType: hard
"balanced-match@npm:^1.0.0":
version: 1.0.0
resolution: "balanced-match@npm:1.0.0"
@@ -4783,7 +4794,7 @@ __metadata:
languageName: node
linkType: hard
"browserslist@npm:^4.0.0, browserslist@npm:^4.10.0, browserslist@npm:^4.8.3, browserslist@npm:^4.9.1":
"browserslist@npm:^4.0.0, browserslist@npm:^4.8.3, browserslist@npm:^4.9.1":
version: 4.10.0
resolution: "browserslist@npm:4.10.0"
dependencies:
@@ -4797,6 +4808,20 @@ __metadata:
languageName: node
linkType: hard
"browserslist@npm:^4.11.0":
version: 4.11.0
resolution: "browserslist@npm:4.11.0"
dependencies:
caniuse-lite: ^1.0.30001035
electron-to-chromium: ^1.3.380
node-releases: ^1.1.52
pkg-up: ^3.1.0
bin:
browserslist: cli.js
checksum: 2/190911f60d3c09decd86c341dd3c9ab92b05281a7a4c1e4737c1766891a1fb66ae80e106317b10a4dcbf6e13914eac2740a0a274e40d84b9f95de39d6196a76e
languageName: node
linkType: hard
"bs58@npm:^4.0.1":
version: 4.0.1
resolution: "bs58@npm:4.0.1"
@@ -7024,6 +7049,13 @@ __metadata:
languageName: node
linkType: hard
"electron-to-chromium@npm:^1.3.380":
version: 1.3.383
resolution: "electron-to-chromium@npm:1.3.383"
checksum: 2/2b472f063560c340a212397e2ed7869d1899ade294ac58f8b8d3c3f743b490c1d4c624a1f194aa0c278646e7d52842da4e04f22b2cbaee225ffe04535df1a44b
languageName: node
linkType: hard
"elliptic@npm:^6.0.0, elliptic@npm:^6.5.2":
version: 6.5.2
resolution: "elliptic@npm:6.5.2"
@@ -10808,13 +10840,6 @@ __metadata:
languageName: node
linkType: hard
"jquery@npm:^3.4.1":
version: 3.4.1
resolution: "jquery@npm:3.4.1"
checksum: 2/918300d1c768ae029bc88be13dc248ae0e82e1282f0353a6cced10ba6dabb70342a581777dc594da339c1beec7a04d3754358934a098c6627c35c6fb7d9af440
languageName: node
linkType: hard
"js-sha3@npm:^0.8.0":
version: 0.8.0
resolution: "js-sha3@npm:0.8.0"
@@ -11722,12 +11747,12 @@ __metadata:
languageName: node
linkType: hard
"marked@npm:^0.8.0":
version: 0.8.1
resolution: "marked@npm:0.8.1"
"marked@npm:0.8.0":
version: 0.8.0
resolution: "marked@npm:0.8.0"
bin:
marked: bin/marked
checksum: 2/00b91a2a9cede41f7e1790f4c30bc803a0ee153675947831aa6c015ca3d49cc995ac9cc8fab6e2826254d7f85cc323872e8f2bb90e08f23136adc2fef1aeaba8
checksum: 2/ab4d7b0cce8b5dbf5c41a902f99422838966fcac6848a45c268868d5b607c56089dc922b69f93bc2da8d243e56f8bb283525d5d6b46812525ffa5fe7655978dc
languageName: node
linkType: hard
@@ -15310,7 +15335,7 @@ __metadata:
"@babel/core": ^7.9.0
"@babel/register": ^7.9.0
"@babel/runtime": ^7.9.2
"@polkadot/dev": ^0.51.7
"@polkadot/dev": ^0.51.8
"@polkadot/ts": ^0.3.14
"@polkadot/typegen": "workspace:packages/typegen"
"@types/jest": ^25.1.4
@@ -17102,15 +17127,12 @@ __metadata:
languageName: node
linkType: hard
"typedoc-default-themes@npm:^0.8.0":
version: 0.8.0
resolution: "typedoc-default-themes@npm:0.8.0"
"typedoc-default-themes@npm:^0.9.0":
version: 0.9.0
resolution: "typedoc-default-themes@npm:0.9.0"
dependencies:
backbone: ^1.4.0
jquery: ^3.4.1
lunr: ^2.3.8
underscore: ^1.9.2
checksum: 2/f845d0c0f8c2f8e116869c0563a4a1daa8afada802f856594976c5acf9dc16696124fbd0024338d2b4e903166b884101080e9d44cadb52ba10c0de32f5ad33e0
checksum: 2/0232b5ed08537e7b6d6bdd9a56e641074391ee2960eb7b3a86eba8e4cfd0dba6e4ddee3825839a599c92196302e9d88c1ee0ac511d68cdca56f58b45bea346bf
languageName: node
linkType: hard
@@ -17135,24 +17157,24 @@ __metadata:
languageName: node
linkType: hard
"typedoc@npm:^0.17.1":
version: 0.17.1
resolution: "typedoc@npm:0.17.1"
"typedoc@npm:^0.17.3":
version: 0.17.3
resolution: "typedoc@npm:0.17.3"
dependencies:
fs-extra: ^8.1.0
handlebars: ^4.7.3
highlight.js: ^9.18.1
lodash: ^4.17.15
marked: ^0.8.0
marked: 0.8.0
minimatch: ^3.0.0
progress: ^2.0.3
shelljs: ^0.8.3
typedoc-default-themes: ^0.8.0
typedoc-default-themes: ^0.9.0
peerDependencies:
typescript: ">=3.8.3"
bin:
typedoc: bin/typedoc
checksum: 2/f6d12519251649d6647a1ee69464f19013399852a827b37af0d869a8692c6e23e36bcb2778e74c8b535ea6cd2a797c3f745141ff3b9301dbf32d189931f9c166
checksum: 2/b0bf2b8cac1c641bb37160306f064c6f18c97ec7b81a6d65cf201fdc746180a38bb1b61cdad044c025787e56f97dc5032ae237fa3e4e123ea2c36e7c898134f5
languageName: node
linkType: hard
@@ -17211,13 +17233,6 @@ __metadata:
languageName: node
linkType: hard
"underscore@npm:>=1.8.3, underscore@npm:^1.9.2":
version: 1.9.2
resolution: "underscore@npm:1.9.2"
checksum: 2/732d9b449dec613695a3510a98483f8e08cb9b6680a4cb166a8e260dbe768e9ab5cdce4a075a8f6811f675409f13974f6e4bf402e8e648a363d646b072ae7e99
languageName: node
linkType: hard
"unicode-canonical-property-names-ecmascript@npm:^1.0.4":
version: 1.0.4
resolution: "unicode-canonical-property-names-ecmascript@npm:1.0.4"