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:
Jaco Greeff 2020-02-24 21:00:39 +01:00 committed by GitHub
parent 6f3267a92c
commit f80e22a883
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 135 additions and 117 deletions

View File

@ -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",

View File

@ -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"
}
}

View File

@ -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;
}

View File

@ -63,7 +63,7 @@ export default function SummarySession ({ withEra = true, withSession = true }:
)
: (
<CardSummary label={eraLabel}>
#{formatNumber(sessionInfo.currentEra)}
#{formatNumber(sessionInfo.activeEra)}
</CardSummary>
)
)}

View File

@ -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
};

View File

@ -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;
}

View File

@ -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>

View File

@ -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
};
}));

View File

@ -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;
}

View File

@ -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>')

View File

@ -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) {

View File

@ -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"

View File

@ -5,5 +5,6 @@
export default {
Address: 'GenericAddress',
BalanceLock: 'BalanceLockTo212',
Keys: 'SessionKeys5'
Keys: 'SessionKeys5',
StakingLedger: 'StakingLedgerTo223'
};

View File

@ -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'
};

View File

@ -8,5 +8,6 @@ import { EdgewareTypes } from './edgeware-node-types';
export default {
...EdgewareTypes,
Address: 'GenericAddress',
Keys: 'SessionKeys4'
Keys: 'SessionKeys4',
StakingLedger: 'StakingLedgerTo223'
};

View File

@ -15,5 +15,6 @@ export default {
DispatchInfo: {
weight: 'Weight',
class: 'DispatchClass'
}
},
StakingLedger: 'StakingLedgerTo223'
};

126
yarn.lock
View File

@ -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"