Updates for lazy payouts (#2292)
* Updates for lazy payouts * Add chain overrides * Align currentEra & indexes * Empty nominator updates * currentElected -> nextElected * Bump deps * Bump api
This commit is contained in:
parent
6f3267a92c
commit
f80e22a883
10
package.json
10
package.json
@ -10,11 +10,11 @@
|
||||
"packages/*"
|
||||
],
|
||||
"resolutions": {
|
||||
"@polkadot/api": "^1.4.0-beta.35",
|
||||
"@polkadot/api-contract": "^1.4.0-beta.35",
|
||||
"@polkadot/api": "^1.4.0-beta.41",
|
||||
"@polkadot/api-contract": "^1.4.0-beta.41",
|
||||
"@polkadot/keyring": "^2.5.1",
|
||||
"@polkadot/typegen": "^1.4.0-beta.35",
|
||||
"@polkadot/types": "^1.4.0-beta.35",
|
||||
"@polkadot/typegen": "^1.4.0-beta.41",
|
||||
"@polkadot/types": "^1.4.0-beta.41",
|
||||
"@polkadot/util": "^2.5.1",
|
||||
"@polkadot/util-crypto": "^2.5.1",
|
||||
"babel-core": "^7.0.0-bridge.0",
|
||||
@ -41,7 +41,7 @@
|
||||
"@babel/runtime": "^7.8.4",
|
||||
"@polkadot/dev": "^0.41.3",
|
||||
"@polkadot/ts": "^0.2.3",
|
||||
"@polkadot/typegen": "^1.4.0-beta.35",
|
||||
"@polkadot/typegen": "^1.4.0-beta.41",
|
||||
"@types/bn.js": "^4.11.6",
|
||||
"@types/chart.js": "^2.9.11",
|
||||
"@types/file-saver": "^2.0.0",
|
||||
|
||||
@ -12,6 +12,6 @@
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.8.4",
|
||||
"@polkadot/api-contract": "^1.4.0-beta.35"
|
||||
"@polkadot/api-contract": "^1.4.0-beta.41"
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
// This software may be modified and distributed under the terms
|
||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||
|
||||
import { DeriveSessionIndexes } from '@polkadot/api-derive/types';
|
||||
import { EraIndex, UnappliedSlash } from '@polkadot/types/interfaces';
|
||||
|
||||
import BN from 'bn.js';
|
||||
@ -13,7 +14,7 @@ type Unsub = () => void;
|
||||
|
||||
export default function useAvailableSlashes (): [BN, UnappliedSlash[]][] {
|
||||
const { api } = useApi();
|
||||
const currentEra = useCall<EraIndex>(api.query.staking?.currentEra, []);
|
||||
const indexes = useCall<DeriveSessionIndexes>(api.derive.session?.indexes, []);
|
||||
const earliestSlash = useCall<Option<EraIndex>>(api.query.staking?.earliestUnappliedSlash, []);
|
||||
const mounted = useIsMountedRef();
|
||||
const [slashes, setSlashes] = useState<[BN, UnappliedSlash[]][]>([]);
|
||||
@ -21,12 +22,12 @@ export default function useAvailableSlashes (): [BN, UnappliedSlash[]][] {
|
||||
useEffect((): Unsub => {
|
||||
let unsub: Unsub | undefined;
|
||||
|
||||
if (mounted.current && currentEra && earliestSlash?.isSome) {
|
||||
if (mounted.current && indexes && earliestSlash?.isSome) {
|
||||
const from = earliestSlash.unwrap();
|
||||
const range: BN[] = [];
|
||||
let start = new BN(from);
|
||||
|
||||
while (start.lt(currentEra)) {
|
||||
while (start.lt(indexes.activeEra)) {
|
||||
range.push(start);
|
||||
start = start.addn(1);
|
||||
}
|
||||
@ -47,7 +48,7 @@ export default function useAvailableSlashes (): [BN, UnappliedSlash[]][] {
|
||||
return (): void => {
|
||||
unsub && unsub();
|
||||
};
|
||||
}, [currentEra, earliestSlash]);
|
||||
}, [earliestSlash, indexes]);
|
||||
|
||||
return slashes;
|
||||
}
|
||||
|
||||
@ -63,7 +63,7 @@ export default function SummarySession ({ withEra = true, withSession = true }:
|
||||
)
|
||||
: (
|
||||
<CardSummary label={eraLabel}>
|
||||
#{formatNumber(sessionInfo.currentEra)}
|
||||
#{formatNumber(sessionInfo.activeEra)}
|
||||
</CardSummary>
|
||||
)
|
||||
)}
|
||||
|
||||
@ -39,6 +39,7 @@ interface Props {
|
||||
interface StakeState {
|
||||
controllerId: string | null;
|
||||
destination: number;
|
||||
exposure?: Exposure;
|
||||
hexSessionIdNext: string | null;
|
||||
hexSessionIdQueue: string | null;
|
||||
isLoading: boolean;
|
||||
@ -47,7 +48,6 @@ interface StakeState {
|
||||
isStashValidating: boolean;
|
||||
nominees?: string[];
|
||||
sessionIds: string[];
|
||||
stakers?: Exposure;
|
||||
stakingLedger?: StakingLedger;
|
||||
validatorPrefs?: ValidatorPrefs;
|
||||
}
|
||||
@ -58,7 +58,7 @@ function toIdString (id?: AccountId | null): string | null {
|
||||
: null;
|
||||
}
|
||||
|
||||
function getStakeState (allAccounts: string[], allStashes: string[] | undefined, { controllerId: _controllerId, nextSessionIds, nominators, rewardDestination, sessionIds, stakers, stakingLedger, validatorPrefs }: DerivedStakingAccount, stashId: string, validateInfo: ValidatorInfo): StakeState {
|
||||
function getStakeState (allAccounts: string[], allStashes: string[] | undefined, { controllerId: _controllerId, exposure, nextSessionIds, nominators, rewardDestination, sessionIds, stakingLedger, validatorPrefs }: DerivedStakingAccount, stashId: string, validateInfo: ValidatorInfo): StakeState {
|
||||
const isStashNominating = !!(nominators?.length);
|
||||
const isStashValidating = !validateInfo[1].isEmpty || !!allStashes?.includes(stashId);
|
||||
const nextConcat = u8aConcat(...nextSessionIds.map((id): Uint8Array => id.toU8a()));
|
||||
@ -68,6 +68,7 @@ function getStakeState (allAccounts: string[], allStashes: string[] | undefined,
|
||||
return {
|
||||
controllerId,
|
||||
destination: rewardDestination?.toNumber() || 0,
|
||||
exposure,
|
||||
hexSessionIdNext: u8aToHex(nextConcat, 48),
|
||||
hexSessionIdQueue: u8aToHex(currConcat.length ? currConcat : nextConcat, 48),
|
||||
isLoading: false,
|
||||
@ -81,7 +82,6 @@ function getStakeState (allAccounts: string[], allStashes: string[] | undefined,
|
||||
? nextSessionIds
|
||||
: sessionIds
|
||||
).map(toIdString) as string[],
|
||||
stakers,
|
||||
stakingLedger,
|
||||
validatorPrefs
|
||||
};
|
||||
|
||||
@ -2,32 +2,39 @@
|
||||
// This software may be modified and distributed under the terms
|
||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||
|
||||
import { DeriveSessionIndexes } from '@polkadot/api-derive/types';
|
||||
import { Exposure } from '@polkadot/types/interfaces';
|
||||
|
||||
import { useEffect, useState } from 'react';
|
||||
import { useApi, useIsMountedRef } from '@polkadot/react-hooks';
|
||||
import { useApi, useCall, useIsMountedRef } from '@polkadot/react-hooks';
|
||||
|
||||
export default function useInactives (stashId: string, nominees?: string[]): string[] {
|
||||
const { api } = useApi();
|
||||
const mountedRef = useIsMountedRef();
|
||||
const [inactives, setInactives] = useState<string[]>([]);
|
||||
const indexes = useCall<DeriveSessionIndexes>(api.derive.session.indexes, []);
|
||||
|
||||
useEffect((): () => void => {
|
||||
let unsub: (() => void) | undefined;
|
||||
|
||||
if (mountedRef.current && nominees?.length) {
|
||||
api.query.staking.stakers
|
||||
.multi(nominees, (exposures: Exposure[]): void => {
|
||||
const inactives: string[] = [];
|
||||
if (mountedRef.current && nominees?.length && indexes) {
|
||||
api
|
||||
.queryMulti(
|
||||
api.query.staking.erasStakers
|
||||
? nominees.map((id) => [api.query.staking.erasStakers, [indexes.activeEra, id]])
|
||||
: nominees.map((id) => [api.query.staking.stakers, id]),
|
||||
(exposures: Exposure[]): void => {
|
||||
const inactives: string[] = [];
|
||||
|
||||
exposures.forEach((exposure, index): void => {
|
||||
if (!exposure.others.some((indv): boolean => indv.who.eq(stashId))) {
|
||||
inactives.push(nominees[index].toString());
|
||||
}
|
||||
});
|
||||
exposures.forEach((exposure, index): void => {
|
||||
if (!exposure.others.some((indv): boolean => indv.who.eq(stashId))) {
|
||||
inactives.push(nominees[index].toString());
|
||||
}
|
||||
});
|
||||
|
||||
setInactives(inactives);
|
||||
})
|
||||
setInactives(inactives);
|
||||
}
|
||||
)
|
||||
.then((_unsub): void => {
|
||||
unsub = _unsub;
|
||||
});
|
||||
@ -36,7 +43,7 @@ export default function useInactives (stashId: string, nominees?: string[]): str
|
||||
return (): void => {
|
||||
unsub && unsub();
|
||||
};
|
||||
}, [nominees, stashId]);
|
||||
}, [indexes, nominees, stashId]);
|
||||
|
||||
return inactives;
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
// 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, Points } from '@polkadot/types/interfaces';
|
||||
import { AccountId, Balance, RewardPoint } from '@polkadot/types/interfaces';
|
||||
import { DeriveAccountInfo, DerivedStakingQuery, DerivedHeartbeatAuthor } from '@polkadot/api-derive/types';
|
||||
import { ValidatorFilter } from '../types';
|
||||
|
||||
@ -30,7 +30,7 @@ interface Props {
|
||||
isFavorite: boolean;
|
||||
lastBlock?: string;
|
||||
myAccounts: string[];
|
||||
points?: Points;
|
||||
points?: RewardPoint;
|
||||
setNominators?: (nominators: string[]) => void;
|
||||
toggleFavorite: (accountId: string) => void;
|
||||
withNominations?: boolean;
|
||||
@ -48,12 +48,12 @@ interface StakingState {
|
||||
stakeOwn?: BN;
|
||||
}
|
||||
|
||||
function expandInfo ({ controllerId, nextSessionIds, stakers, validatorPrefs }: DerivedStakingQuery, myAccounts: string[], withNominations = true): StakingState {
|
||||
const nominators = withNominations && stakers
|
||||
? stakers.others.map(({ who, value }): [AccountId, Balance] => [who, value.unwrap()])
|
||||
function expandInfo ({ controllerId, exposure, nextSessionIds, validatorPrefs }: DerivedStakingQuery, myAccounts: string[], withNominations = true): StakingState {
|
||||
const nominators = withNominations && exposure
|
||||
? exposure.others.map(({ who, value }): [AccountId, Balance] => [who, value.unwrap()])
|
||||
: [];
|
||||
const stakeTotal = (stakers && !stakers.total.isEmpty && stakers.total.unwrap()) || undefined;
|
||||
const stakeOwn = (stakers && !stakers.own.isEmpty && stakers.own.unwrap()) || undefined;
|
||||
const stakeTotal = (exposure && !exposure.total.isEmpty && exposure.total.unwrap()) || undefined;
|
||||
const stakeOwn = (exposure && !exposure.own.isEmpty && exposure.own.unwrap()) || undefined;
|
||||
const stakeOther = (stakeTotal && stakeOwn) ? stakeTotal.sub(stakeOwn) : undefined;
|
||||
const commission = validatorPrefs?.commission?.unwrap();
|
||||
|
||||
@ -229,7 +229,7 @@ export default function Address ({ address, className, filter, filterName, hasQu
|
||||
)}
|
||||
</td>
|
||||
<td className='number'>
|
||||
{points && points.gtn(0) && (
|
||||
{points?.gtn(0) && (
|
||||
<><label>{t('points')}</label>{formatNumber(points)}</>
|
||||
)}
|
||||
</td>
|
||||
|
||||
@ -85,7 +85,7 @@ export default function CurrentList ({ authorsMap, hasQueries, isIntentions, isV
|
||||
|
||||
useEffect((): void => {
|
||||
if (isVisible && stakingOverview) {
|
||||
const allElected = accountsToString(stakingOverview.currentElected);
|
||||
const allElected = accountsToString(stakingOverview.nextElected);
|
||||
const _validators = accountsToString(stakingOverview.validators);
|
||||
const validators = filterAccounts(_validators, allElected, favorites, []);
|
||||
const elected = filterAccounts(allElected, allElected, favorites, _validators);
|
||||
@ -97,17 +97,21 @@ export default function CurrentList ({ authorsMap, hasQueries, isIntentions, isV
|
||||
waiting: filterAccounts(next, [], favorites, allElected)
|
||||
});
|
||||
}
|
||||
}, [favorites, isVisible, next, stakingOverview?.currentElected, stakingOverview?.validators]);
|
||||
}, [favorites, isVisible, next, stakingOverview?.nextElected, stakingOverview?.validators]);
|
||||
|
||||
useEffect((): void => {
|
||||
if (stakingOverview) {
|
||||
if (stakingOverview?.eraPoints) {
|
||||
const allPoints = stakingOverview.eraPoints
|
||||
? [...stakingOverview.eraPoints.individual.entries()]
|
||||
: [];
|
||||
|
||||
dispatchDetails(validators.map(([address]): AddressDetails => {
|
||||
const electedIdx = allElected.indexOf(address);
|
||||
const points = allPoints.find(([accountId]): boolean => accountId.eq(address));
|
||||
|
||||
return {
|
||||
address,
|
||||
points: electedIdx !== -1
|
||||
? stakingOverview.eraPoints?.individual[electedIdx]
|
||||
points: points
|
||||
? points[1]
|
||||
: undefined
|
||||
};
|
||||
}));
|
||||
|
||||
@ -2,9 +2,9 @@
|
||||
// This software may be modified and distributed under the terms
|
||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||
|
||||
import { Points } from '@polkadot/types/interfaces';
|
||||
import { RewardPoint } from '@polkadot/types/interfaces';
|
||||
|
||||
export interface AddressDetails {
|
||||
address: string;
|
||||
points?: Points;
|
||||
points?: RewardPoint;
|
||||
}
|
||||
|
||||
@ -96,8 +96,8 @@ function extractInfo (allAccounts: string[], amount: BN = new BN(0), electedInfo
|
||||
let totalStaked = new BN(0);
|
||||
const perValidatorReward = lastReward.divn(electedInfo.info.length);
|
||||
const validators = sortValidators(
|
||||
electedInfo.info.map(({ accountId, stakers, validatorPrefs }): ValidatorInfo => {
|
||||
const exposure = stakers || {
|
||||
electedInfo.info.map(({ accountId, exposure: _exposure, validatorPrefs }): ValidatorInfo => {
|
||||
const exposure = _exposure || {
|
||||
total: createType(registry, 'Compact<Balance>'),
|
||||
own: createType(registry, 'Compact<Balance>'),
|
||||
others: createType(registry, 'Vec<IndividualExposure>')
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
// This software may be modified and distributed under the terms
|
||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||
|
||||
import { SessionIndex } from '@polkadot/types/interfaces';
|
||||
import { DeriveSessionIndexes } from '@polkadot/api-derive/types';
|
||||
import { SessionRewards } from './types';
|
||||
|
||||
import { useEffect, useState } from 'react';
|
||||
@ -12,10 +12,11 @@ import { u32 } from '@polkadot/types';
|
||||
export default function useBlockCounts (accountId: string, sessionRewards: SessionRewards[]): u32[] {
|
||||
const { api } = useApi();
|
||||
const mounted = useIsMountedRef();
|
||||
const indexes = useCall<DeriveSessionIndexes>(api.derive.session?.indexes, []);
|
||||
const current = useCall<u32>(api.query.imOnline?.authoredBlocks, [indexes?.currentIndex, accountId]);
|
||||
const [counts, setCounts] = useState<u32[]>([]);
|
||||
const [historic, setHistoric] = useState<u32[]>([]);
|
||||
const sessionIndex = useCall<SessionIndex>(api.query.session.currentIndex, []);
|
||||
const current = useCall<u32>(api.query.imOnline?.authoredBlocks, [sessionIndex, accountId]);
|
||||
|
||||
|
||||
useEffect((): void => {
|
||||
if (api.query.imOnline?.authoredBlocks && sessionRewards?.length) {
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
"homepage": "https://github.com/polkadot-js/ui/tree/master/packages/ui-reactive#readme",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.8.4",
|
||||
"@polkadot/api": "^1.4.0-beta.35",
|
||||
"@polkadot/api": "^1.4.0-beta.41",
|
||||
"@polkadot/extension-dapp": "^0.22.0-beta.5",
|
||||
"edgeware-node-types": "^1.1.0",
|
||||
"rxjs-compat": "^6.5.3"
|
||||
|
||||
@ -5,5 +5,6 @@
|
||||
export default {
|
||||
Address: 'GenericAddress',
|
||||
BalanceLock: 'BalanceLockTo212',
|
||||
Keys: 'SessionKeys5'
|
||||
Keys: 'SessionKeys5',
|
||||
StakingLedger: 'StakingLedgerTo223'
|
||||
};
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||
|
||||
export default {
|
||||
// chain-specific
|
||||
AnchorData: {
|
||||
id: 'H256',
|
||||
docRoot: 'H256',
|
||||
@ -21,6 +22,7 @@ export default {
|
||||
leafHash: 'H256',
|
||||
sortedHashes: 'H256'
|
||||
},
|
||||
// Workarounds
|
||||
BalanceLock: 'BalanceLockTo212' // workaround for balances not showing up, see https://github.com/polkadot-js/apps/issues/2236
|
||||
// Non-current Substrate types
|
||||
BalanceLock: 'BalanceLockTo212',
|
||||
StakingLedger: 'StakingLedgerTo223'
|
||||
};
|
||||
|
||||
@ -8,5 +8,6 @@ import { EdgewareTypes } from './edgeware-node-types';
|
||||
export default {
|
||||
...EdgewareTypes,
|
||||
Address: 'GenericAddress',
|
||||
Keys: 'SessionKeys4'
|
||||
Keys: 'SessionKeys4',
|
||||
StakingLedger: 'StakingLedgerTo223'
|
||||
};
|
||||
|
||||
@ -15,5 +15,6 @@ export default {
|
||||
DispatchInfo: {
|
||||
weight: 'Weight',
|
||||
class: 'DispatchClass'
|
||||
}
|
||||
},
|
||||
StakingLedger: 'StakingLedgerTo223'
|
||||
};
|
||||
|
||||
126
yarn.lock
126
yarn.lock
@ -2158,47 +2158,47 @@
|
||||
dependencies:
|
||||
"@types/node" ">= 8"
|
||||
|
||||
"@polkadot/api-contract@^1.4.0-beta.35":
|
||||
version "1.4.0-beta.36"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/api-contract/-/api-contract-1.4.0-beta.36.tgz#260182b8641bde22745c1df1d397d7c591438a6d"
|
||||
integrity sha512-M96AMfPfrHOYi4yJyiZ1MglbMTRJo5Spcwsf4BOO2lMdouh9o3aAMIuK95pr8IYvnd7yFnQwy/GwkkMTUkFswQ==
|
||||
"@polkadot/api-contract@^1.4.0-beta.41":
|
||||
version "1.4.0-beta.41"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/api-contract/-/api-contract-1.4.0-beta.41.tgz#7646250e832a3e4c0ccdd8907ca2b54d89285a9d"
|
||||
integrity sha512-i8s+D5Rn59rpo1n49RtWBqTR5n3u9sNqbiPRBiaAZQPwo+h3QEpnk80dC2q/tKM6+TVUbGjAkJWUvY43avqfYQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.8.4"
|
||||
"@polkadot/api" "1.4.0-beta.36"
|
||||
"@polkadot/rpc-core" "1.4.0-beta.36"
|
||||
"@polkadot/types" "1.4.0-beta.36"
|
||||
"@polkadot/api" "1.4.0-beta.41"
|
||||
"@polkadot/rpc-core" "1.4.0-beta.41"
|
||||
"@polkadot/types" "1.4.0-beta.41"
|
||||
"@polkadot/util" "^2.5.1"
|
||||
bn.js "^5.1.1"
|
||||
rxjs "^6.5.4"
|
||||
|
||||
"@polkadot/api-derive@1.4.0-beta.36":
|
||||
version "1.4.0-beta.36"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-1.4.0-beta.36.tgz#c72174c3c47d976275a9a3b88547eb06f9963341"
|
||||
integrity sha512-WyUZ193HNb1K+llP/RCTRijoB7tN1Y7r7BZyZtwkbROXm9Wh9MOlAuHOLxPPgXnG+FfMaBoZyjMv0tgT5NEOGg==
|
||||
"@polkadot/api-derive@1.4.0-beta.41":
|
||||
version "1.4.0-beta.41"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-1.4.0-beta.41.tgz#4d4e2afcf145beeafc07cdfff82caa0b3a1ba63a"
|
||||
integrity sha512-L1DCL+h9fYKuG54AcbllN8DXV8UcSwG5UOtS2NhLKIoEUMdhdijFncdXflfy5lMmnIMFhBvYAkBvEqt3aGcB3w==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.8.4"
|
||||
"@polkadot/api" "1.4.0-beta.36"
|
||||
"@polkadot/rpc-core" "1.4.0-beta.36"
|
||||
"@polkadot/rpc-provider" "1.4.0-beta.36"
|
||||
"@polkadot/types" "1.4.0-beta.36"
|
||||
"@polkadot/api" "1.4.0-beta.41"
|
||||
"@polkadot/rpc-core" "1.4.0-beta.41"
|
||||
"@polkadot/rpc-provider" "1.4.0-beta.41"
|
||||
"@polkadot/types" "1.4.0-beta.41"
|
||||
"@polkadot/util" "^2.5.1"
|
||||
"@polkadot/util-crypto" "^2.5.1"
|
||||
bn.js "^5.1.1"
|
||||
memoizee "^0.4.14"
|
||||
rxjs "^6.5.4"
|
||||
|
||||
"@polkadot/api@1.4.0-beta.36", "@polkadot/api@^1.4.0-beta.35":
|
||||
version "1.4.0-beta.36"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-1.4.0-beta.36.tgz#46910a7da68b4da1866e359ab48f03f3bcbafc43"
|
||||
integrity sha512-cikektxsPEvHZb96bomZ6o92W2YLIg8Q9TI9k9UFUsUi7HuoBZSvf3p8WRjq+4u4Ad8NCGijIsl3l+w+r3iNDQ==
|
||||
"@polkadot/api@1.4.0-beta.41", "@polkadot/api@^1.4.0-beta.41":
|
||||
version "1.4.0-beta.41"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-1.4.0-beta.41.tgz#3427d5c0e434e4d6eed99be5a99833447c55a1e1"
|
||||
integrity sha512-s3PMuTe6/y8TzpiPglA40QAXYVlij8YDbi8bUSM0WTpqez5tIsSOXaSyvfpWtIgcMNILB7aMiAGaPyvXXX/hyw==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.8.4"
|
||||
"@polkadot/api-derive" "1.4.0-beta.36"
|
||||
"@polkadot/api-derive" "1.4.0-beta.41"
|
||||
"@polkadot/keyring" "^2.5.1"
|
||||
"@polkadot/metadata" "1.4.0-beta.36"
|
||||
"@polkadot/rpc-core" "1.4.0-beta.36"
|
||||
"@polkadot/rpc-provider" "1.4.0-beta.36"
|
||||
"@polkadot/types" "1.4.0-beta.36"
|
||||
"@polkadot/metadata" "1.4.0-beta.41"
|
||||
"@polkadot/rpc-core" "1.4.0-beta.41"
|
||||
"@polkadot/rpc-provider" "1.4.0-beta.41"
|
||||
"@polkadot/types" "1.4.0-beta.41"
|
||||
"@polkadot/util" "^2.5.1"
|
||||
"@polkadot/util-crypto" "^2.5.1"
|
||||
bn.js "^5.1.1"
|
||||
@ -2285,13 +2285,13 @@
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.8.4"
|
||||
|
||||
"@polkadot/jsonrpc@1.4.0-beta.36":
|
||||
version "1.4.0-beta.36"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/jsonrpc/-/jsonrpc-1.4.0-beta.36.tgz#da5de8025f9e37045b74a2c96a3609bed928eb55"
|
||||
integrity sha512-76LSHCbF/tJjQAsdeR1AeuQCioVNLgvl1F9QZVQ8bLu33pytaxvhIj8HxhwSlISEj4nuHFA2Rekc70mXuSo6ag==
|
||||
"@polkadot/jsonrpc@1.4.0-beta.41":
|
||||
version "1.4.0-beta.41"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/jsonrpc/-/jsonrpc-1.4.0-beta.41.tgz#8567d1483e832bd2413c5608b73f06fb7df484c8"
|
||||
integrity sha512-h1gY39QWqIK7nb9xk/cOTGNw7qbWDCt7XlVNywjf+YEMAvnYmBYnEa6GplDe+7Ul8gUBC+ky94X5k26hnIuJmw==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.8.4"
|
||||
"@polkadot/types" "1.4.0-beta.36"
|
||||
"@polkadot/types" "1.4.0-beta.41"
|
||||
"@polkadot/util" "^2.5.1"
|
||||
|
||||
"@polkadot/keyring@^2.5.1":
|
||||
@ -2303,13 +2303,13 @@
|
||||
"@polkadot/util" "2.5.1"
|
||||
"@polkadot/util-crypto" "2.5.1"
|
||||
|
||||
"@polkadot/metadata@1.4.0-beta.36":
|
||||
version "1.4.0-beta.36"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/metadata/-/metadata-1.4.0-beta.36.tgz#d8aa97a3f9136157acd080404075ae883c10593e"
|
||||
integrity sha512-O2B6HiL8TRMgxTRYGq/fuzvPgt5IinvyCQ4kGdmi72vh54rSaTE9uLPkrJn6cHn898rOb2nQdn0afMa1MPc9dw==
|
||||
"@polkadot/metadata@1.4.0-beta.41":
|
||||
version "1.4.0-beta.41"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/metadata/-/metadata-1.4.0-beta.41.tgz#4025440603358d4172a618bf9fd7e894368faf9f"
|
||||
integrity sha512-t1fhNYHrjROtBSJE8KBGK1Lp2JPsbDRGhfB6OFpIOhPA7QJGiMBwTFujJiCfg8BTKRkM3gCHmBn9VGW9Yn1x0Q==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.8.4"
|
||||
"@polkadot/types" "1.4.0-beta.36"
|
||||
"@polkadot/types" "1.4.0-beta.41"
|
||||
"@polkadot/util" "^2.5.1"
|
||||
"@polkadot/util-crypto" "^2.5.1"
|
||||
bn.js "^5.1.1"
|
||||
@ -2336,29 +2336,29 @@
|
||||
qrcode-generator "^1.4.4"
|
||||
react-qr-reader "^2.2.1"
|
||||
|
||||
"@polkadot/rpc-core@1.4.0-beta.36":
|
||||
version "1.4.0-beta.36"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-1.4.0-beta.36.tgz#90e5ece6e64289cab54b14d34b4cec56a7c2f336"
|
||||
integrity sha512-nKe+oIJ6CLoJrIjNNS/z0vQ7FGkh18IjdN64GN9/LE7OZE4bulEhUytyyk2PBDuQFAiTfhtmu27jfcS/oQLrcg==
|
||||
"@polkadot/rpc-core@1.4.0-beta.41":
|
||||
version "1.4.0-beta.41"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-1.4.0-beta.41.tgz#4734a418349741f2b3b1e9558872761b39520ed2"
|
||||
integrity sha512-est1HhH8Y45mBoPT3jGSdjNsLv8AtgU3Fyxkv2YGEJA7rMxaJECmp6CJ3yOPDvK4DZ3p8RIRfhFV9mf+CHOMkw==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.8.4"
|
||||
"@polkadot/jsonrpc" "1.4.0-beta.36"
|
||||
"@polkadot/metadata" "1.4.0-beta.36"
|
||||
"@polkadot/rpc-provider" "1.4.0-beta.36"
|
||||
"@polkadot/types" "1.4.0-beta.36"
|
||||
"@polkadot/jsonrpc" "1.4.0-beta.41"
|
||||
"@polkadot/metadata" "1.4.0-beta.41"
|
||||
"@polkadot/rpc-provider" "1.4.0-beta.41"
|
||||
"@polkadot/types" "1.4.0-beta.41"
|
||||
"@polkadot/util" "^2.5.1"
|
||||
memoizee "^0.4.14"
|
||||
rxjs "^6.5.4"
|
||||
|
||||
"@polkadot/rpc-provider@1.4.0-beta.36":
|
||||
version "1.4.0-beta.36"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-1.4.0-beta.36.tgz#2f14496614604cc37e8e6f695cb69888ff90ad08"
|
||||
integrity sha512-5/F/WQdwHrNafJwXDM1XQ/VsjDy6+/wbq8gtkuoG0akgC6pBmY03Fj2r5Y37HSGPnqSNBuR6XULZLblNBAgBbw==
|
||||
"@polkadot/rpc-provider@1.4.0-beta.41":
|
||||
version "1.4.0-beta.41"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-1.4.0-beta.41.tgz#94e91f0bb08c82230fe6017065e060a7399d8e89"
|
||||
integrity sha512-umLpx91C/BIyg0ytqGXnqqnjiB+ENKMRdZm+fyQJquq2x57n9A6WLTPNvTHXdJ0JaRZpQPzdo+Oln0dSrQ7eVg==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.8.4"
|
||||
"@polkadot/jsonrpc" "1.4.0-beta.36"
|
||||
"@polkadot/metadata" "1.4.0-beta.36"
|
||||
"@polkadot/types" "1.4.0-beta.36"
|
||||
"@polkadot/jsonrpc" "1.4.0-beta.41"
|
||||
"@polkadot/metadata" "1.4.0-beta.41"
|
||||
"@polkadot/types" "1.4.0-beta.41"
|
||||
"@polkadot/util" "^2.5.1"
|
||||
"@polkadot/util-crypto" "^2.5.1"
|
||||
bn.js "^5.1.1"
|
||||
@ -2373,30 +2373,30 @@
|
||||
dependencies:
|
||||
"@types/chrome" "^0.0.95"
|
||||
|
||||
"@polkadot/typegen@^1.4.0-beta.35":
|
||||
version "1.4.0-beta.36"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/typegen/-/typegen-1.4.0-beta.36.tgz#61bb8a04809b5d56601219e912ebf4ac0c55a155"
|
||||
integrity sha512-xdNUq2hGIYOnizJqR6bAGP9VoTGYc3pXGN/RIMkkKaDX0d7c/uBnoXCITiITUtt2gQeiNLaUdUziZszxageEQw==
|
||||
"@polkadot/typegen@^1.4.0-beta.41":
|
||||
version "1.4.0-beta.41"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/typegen/-/typegen-1.4.0-beta.41.tgz#cef22db17b1b53e3462de6219fe3d141df9acbec"
|
||||
integrity sha512-7N/xH2Q5xE1/UT/dRbQCP9Ejo5ueaVpGoYOZlBawSgHLxi8nEhHUj79qhzEg8ekvrmQUgIqjncNQcNBZn3SbNg==
|
||||
dependencies:
|
||||
"@babel/core" "^7.8.3"
|
||||
"@babel/register" "^7.8.3"
|
||||
"@babel/runtime" "^7.8.4"
|
||||
"@polkadot/api" "1.4.0-beta.36"
|
||||
"@polkadot/jsonrpc" "1.4.0-beta.36"
|
||||
"@polkadot/metadata" "1.4.0-beta.36"
|
||||
"@polkadot/rpc-provider" "1.4.0-beta.36"
|
||||
"@polkadot/types" "1.4.0-beta.36"
|
||||
"@polkadot/api" "1.4.0-beta.41"
|
||||
"@polkadot/jsonrpc" "1.4.0-beta.41"
|
||||
"@polkadot/metadata" "1.4.0-beta.41"
|
||||
"@polkadot/rpc-provider" "1.4.0-beta.41"
|
||||
"@polkadot/types" "1.4.0-beta.41"
|
||||
"@polkadot/util" "^2.5.1"
|
||||
websocket "^1.0.31"
|
||||
yargs "^15.1.0"
|
||||
|
||||
"@polkadot/types@1.4.0-beta.36", "@polkadot/types@^1.4.0-beta.35":
|
||||
version "1.4.0-beta.36"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-1.4.0-beta.36.tgz#65ce0e7feefcfd544a7fc78e2dc96a6715b42dc0"
|
||||
integrity sha512-QtwPF8atzd4dutISO9f3aAg5DHvruzse7cF09xB9CSi2oCLhMo8sQF9jnR5ETRkGWrTNVm62eXToxC0z0jhiLw==
|
||||
"@polkadot/types@1.4.0-beta.41", "@polkadot/types@^1.4.0-beta.41":
|
||||
version "1.4.0-beta.41"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-1.4.0-beta.41.tgz#b987a657ec8c8667bc7d4400701d7a3b73b63888"
|
||||
integrity sha512-0Tc64R3Y9SSd+9EuC4IAJhtDHbRUZeV3iH23dFDX+1UZFo68P92aQefH5G93knc+Z4Q3eWEEIDrEOzfDQhCAkQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.8.4"
|
||||
"@polkadot/metadata" "1.4.0-beta.36"
|
||||
"@polkadot/metadata" "1.4.0-beta.41"
|
||||
"@polkadot/util" "^2.5.1"
|
||||
"@polkadot/util-crypto" "^2.5.1"
|
||||
"@types/bn.js" "^4.11.6"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user