Add parachains propose modal (#4375)
* Add parachains propose modal * Multiple validators * Bump API * modal with validator warning * accounts check
This commit is contained in:
parent
64c72a228d
commit
ecebd92fa6
@ -12,15 +12,15 @@
|
||||
"packages/*"
|
||||
],
|
||||
"resolutions": {
|
||||
"@polkadot/api": "^3.4.2-1",
|
||||
"@polkadot/api-contract": "^3.4.2-1",
|
||||
"@polkadot/api": "^3.4.2-3",
|
||||
"@polkadot/api-contract": "^3.4.2-3",
|
||||
"@polkadot/keyring": "^5.2.3",
|
||||
"@polkadot/networks": "^5.2.3",
|
||||
"@polkadot/types": "^3.4.2-1",
|
||||
"@polkadot/types": "^3.4.2-3",
|
||||
"@polkadot/util": "^5.2.3",
|
||||
"@polkadot/util-crypto": "^5.2.3",
|
||||
"@polkadot/wasm-crypto": "^3.1.1",
|
||||
"@polkadot/x-rxjs": "^3.4.2-1",
|
||||
"@polkadot/x-rxjs": "^3.4.2-3",
|
||||
"babel-core": "^7.0.0-bridge.0",
|
||||
"styled-components": "^5.2.0",
|
||||
"typescript": "^4.1.3"
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
// Copyright 2017-2021 @polkadot/app-accounts authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { TFunction } from 'i18next';
|
||||
import type { Data, Option, Vec } from '@polkadot/types';
|
||||
import type { AccountId, Balance } from '@polkadot/types/interfaces';
|
||||
import type { ITuple } from '@polkadot/types/types';
|
||||
@ -25,7 +26,7 @@ interface SubProps {
|
||||
name: string;
|
||||
setAddress: (index: number, value: string) => void;
|
||||
setName: (index: number, value: string) => void;
|
||||
t: (key: string, opts?: { replace: Record<string, string | number> }) => string;
|
||||
t: TFunction;
|
||||
}
|
||||
|
||||
function extractInfo ([[ids], opts]: [[string[]], Option<ITuple<[AccountId, Data]>>[]]): [string, string][] {
|
||||
@ -60,7 +61,7 @@ function IdentitySub ({ address, index, name, setAddress, setName, t }: SubProps
|
||||
<Columar.Column>
|
||||
<InputAddress
|
||||
defaultValue={address}
|
||||
label={t('address {{index}}', { replace: { index: index + 1 } })}
|
||||
label={t<string>('address {{index}}', { replace: { index: index + 1 } })}
|
||||
onChange={_setAddress}
|
||||
/>
|
||||
</Columar.Column>
|
||||
@ -69,7 +70,7 @@ function IdentitySub ({ address, index, name, setAddress, setName, t }: SubProps
|
||||
defaultValue={name}
|
||||
isError={!name}
|
||||
isFull
|
||||
label={t('sub name')}
|
||||
label={t<string>('sub name')}
|
||||
onChange={_setName}
|
||||
/>
|
||||
</Columar.Column>
|
||||
|
||||
@ -10,6 +10,6 @@
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.12.5",
|
||||
"@polkadot/api-contract": "^3.4.2-1"
|
||||
"@polkadot/api-contract": "^3.4.2-3"
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
import React from 'react';
|
||||
|
||||
import { Button } from '@polkadot/react-components';
|
||||
import { useApi, useToggle } from '@polkadot/react-hooks';
|
||||
import { useAccounts, useApi, useToggle } from '@polkadot/react-hooks';
|
||||
|
||||
import Propose from '../modals/Propose';
|
||||
import { useTranslation } from '../translate';
|
||||
@ -16,6 +16,7 @@ interface Props {
|
||||
function Actions (): React.ReactElement<Props> {
|
||||
const { t } = useTranslation();
|
||||
const { api } = useApi();
|
||||
const { hasAccounts } = useAccounts();
|
||||
const [showPropose, togglePropose] = useToggle();
|
||||
|
||||
return (
|
||||
@ -24,7 +25,7 @@ function Actions (): React.ReactElement<Props> {
|
||||
{api.query.proposeParachain && (
|
||||
<Button
|
||||
icon='plus'
|
||||
isDisabled={true}
|
||||
isDisabled={!hasAccounts}
|
||||
label={t<string>('Propose')}
|
||||
onClick={togglePropose}
|
||||
/>
|
||||
|
||||
@ -38,7 +38,7 @@ function Overview (): React.ReactElement<Props> {
|
||||
<Upcoming ids={upcomingIds} />
|
||||
</>
|
||||
)}
|
||||
{api.query.parachainProposals && (
|
||||
{api.query.proposeParachain && (
|
||||
<Proposals proposals={proposals} />
|
||||
)}
|
||||
</>
|
||||
|
||||
@ -1,11 +1,14 @@
|
||||
// Copyright 2017-2021 @polkadot/app-parachains authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { TFunction } from 'i18next';
|
||||
|
||||
import BN from 'bn.js';
|
||||
import React, { useCallback, useState } from 'react';
|
||||
|
||||
import { InputAddress, InputFile, InputNumber, InputWasm, Modal, TxButton } from '@polkadot/react-components';
|
||||
import { Button, Input, InputAddress, InputBalance, InputFile, InputNumber, InputWasm, MarkWarning, Modal, TxButton } from '@polkadot/react-components';
|
||||
import { useApi } from '@polkadot/react-hooks';
|
||||
import { BN_ZERO, compactAddLength } from '@polkadot/util';
|
||||
import { BN_TEN, compactAddLength } from '@polkadot/util';
|
||||
|
||||
import { useTranslation } from '../translate';
|
||||
|
||||
@ -19,11 +22,36 @@ interface CodeState {
|
||||
wasm: Uint8Array | null;
|
||||
}
|
||||
|
||||
interface ValidatorProps {
|
||||
address: string;
|
||||
index: number;
|
||||
setAddress: (index: number, value: string) => void;
|
||||
t: TFunction;
|
||||
}
|
||||
|
||||
function Validator ({ address, index, setAddress, t }: ValidatorProps): React.ReactElement<ValidatorProps> {
|
||||
const _setAddress = useCallback(
|
||||
(value: string | null) => value && setAddress(index, value),
|
||||
[index, setAddress]
|
||||
);
|
||||
|
||||
return (
|
||||
<InputAddress
|
||||
defaultValue={address}
|
||||
label={t('validator {{index}}', { replace: { index: index + 1 } })}
|
||||
onChange={_setAddress}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
function Propose ({ className, onClose }: Props): React.ReactElement<Props> {
|
||||
const { t } = useTranslation();
|
||||
const { api } = useApi();
|
||||
const [accountId, setAccountId] = useState<string | null>(null);
|
||||
const [paraId, setParaId] = useState(BN_ZERO);
|
||||
const [name, setName] = useState('');
|
||||
const [paraId, setParaId] = useState(new BN(Date.now() % 131072));
|
||||
const [balance, setBalance] = useState(new BN(1000).mul(BN_TEN.pow(new BN(api.registry.chainDecimals))));
|
||||
const [validators, setValidators] = useState<string[]>(['']);
|
||||
const [{ isWasmValid, wasm }, setWasm] = useState<CodeState>({ isWasmValid: false, wasm: null });
|
||||
const [genesisState, setGenesisState] = useState<Uint8Array | null>(null);
|
||||
|
||||
@ -37,16 +65,35 @@ function Propose ({ className, onClose }: Props): React.ReactElement<Props> {
|
||||
[]
|
||||
);
|
||||
|
||||
const _setAddress = useCallback(
|
||||
(index: number, address: string) =>
|
||||
setValidators((v) => v.map((v, i) => i === index ? address : v)),
|
||||
[]
|
||||
);
|
||||
|
||||
const _addValidator = useCallback(
|
||||
() => setValidators((v) => [...v, '']),
|
||||
[]
|
||||
);
|
||||
|
||||
const _delValidator = useCallback(
|
||||
() => setValidators((v) => [...v.slice(0, v.length - 1)]),
|
||||
[]
|
||||
);
|
||||
|
||||
const isNameValid = name.length >= 3;
|
||||
|
||||
return (
|
||||
<Modal
|
||||
className={className}
|
||||
header={t<string>('Register parachain')}
|
||||
header={t<string>('Propose parachain')}
|
||||
size='large'
|
||||
>
|
||||
<Modal.Content>
|
||||
<Modal.Columns>
|
||||
<Modal.Column>
|
||||
<InputAddress
|
||||
label={t<string>('register from')}
|
||||
label={t<string>('propose from')}
|
||||
onChange={setAccountId}
|
||||
type='account'
|
||||
value={accountId}
|
||||
@ -56,9 +103,22 @@ function Propose ({ className, onClose }: Props): React.ReactElement<Props> {
|
||||
<p>{t<string>('This account will be associated with the parachain and pay the deposit.')}</p>
|
||||
</Modal.Column>
|
||||
</Modal.Columns>
|
||||
<Modal.Columns>
|
||||
<Modal.Column>
|
||||
<Input
|
||||
isError={!isNameValid}
|
||||
label={t<string>('name')}
|
||||
onChange={setName}
|
||||
/>
|
||||
</Modal.Column>
|
||||
<Modal.Column>
|
||||
<p>{t<string>('The name for this parachain')}</p>
|
||||
</Modal.Column>
|
||||
</Modal.Columns>
|
||||
<Modal.Columns>
|
||||
<Modal.Column>
|
||||
<InputNumber
|
||||
defaultValue={paraId.toString()}
|
||||
label={t<string>('parachain id')}
|
||||
onChange={setParaId}
|
||||
/>
|
||||
@ -98,15 +158,59 @@ function Propose ({ className, onClose }: Props): React.ReactElement<Props> {
|
||||
<p>{t<string>('The genesis state for this parachain.')}</p>
|
||||
</Modal.Column>
|
||||
</Modal.Columns>
|
||||
<Modal.Columns>
|
||||
<Modal.Column>
|
||||
{validators.map((address, index) => (
|
||||
<Validator
|
||||
address={address}
|
||||
index={index}
|
||||
key={index}
|
||||
setAddress={_setAddress}
|
||||
t={t}
|
||||
/>
|
||||
))}
|
||||
{!validators.length && (
|
||||
<MarkWarning content={t<string>('You need to supply at last one running validator for your parachain alongside this request.')} />
|
||||
)}
|
||||
<Button.Group>
|
||||
<Button
|
||||
icon='plus'
|
||||
label={t<string>('Add validator')}
|
||||
onClick={_addValidator}
|
||||
/>
|
||||
<Button
|
||||
icon='minus'
|
||||
isDisabled={validators.length === 0}
|
||||
label={t<string>('Remove validator')}
|
||||
onClick={_delValidator}
|
||||
/>
|
||||
</Button.Group>
|
||||
</Modal.Column>
|
||||
<Modal.Column>
|
||||
<p>{t<string>('The validators for this parachain')}</p>
|
||||
</Modal.Column>
|
||||
</Modal.Columns>
|
||||
<Modal.Columns>
|
||||
<Modal.Column>
|
||||
<InputBalance
|
||||
defaultValue={balance}
|
||||
label={t<string>('initial balance')}
|
||||
onChange={setBalance}
|
||||
/>
|
||||
</Modal.Column>
|
||||
<Modal.Column>
|
||||
<p>{t<string>('The proposed initial balance for this parachain')}</p>
|
||||
</Modal.Column>
|
||||
</Modal.Columns>
|
||||
</Modal.Content>
|
||||
<Modal.Actions onCancel={onClose}>
|
||||
<TxButton
|
||||
accountId={accountId}
|
||||
icon='plus'
|
||||
isDisabled={!isWasmValid || !genesisState}
|
||||
isDisabled={!isWasmValid || !genesisState || !isNameValid || !validators.length}
|
||||
onStart={onClose}
|
||||
params={[paraId, genesisState, wasm]}
|
||||
tx={api.tx.registrar.registerParathread}
|
||||
params={[paraId, name, wasm, genesisState, validators, balance]}
|
||||
tx={api.tx.proposeParachain?.proposeParachain}
|
||||
/>
|
||||
</Modal.Actions>
|
||||
</Modal>
|
||||
|
||||
116
packages/page-parachains/src/modals/RegisterThread.tsx
Normal file
116
packages/page-parachains/src/modals/RegisterThread.tsx
Normal file
@ -0,0 +1,116 @@
|
||||
// Copyright 2017-2021 @polkadot/app-parachains authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import React, { useCallback, useState } from 'react';
|
||||
|
||||
import { InputAddress, InputFile, InputNumber, InputWasm, Modal, TxButton } from '@polkadot/react-components';
|
||||
import { useApi } from '@polkadot/react-hooks';
|
||||
import { BN_ZERO, compactAddLength } from '@polkadot/util';
|
||||
|
||||
import { useTranslation } from '../translate';
|
||||
|
||||
interface Props {
|
||||
className?: string;
|
||||
onClose: () => void;
|
||||
}
|
||||
|
||||
interface CodeState {
|
||||
isWasmValid: boolean;
|
||||
wasm: Uint8Array | null;
|
||||
}
|
||||
|
||||
function RegisterThread ({ className, onClose }: Props): React.ReactElement<Props> {
|
||||
const { t } = useTranslation();
|
||||
const { api } = useApi();
|
||||
const [accountId, setAccountId] = useState<string | null>(null);
|
||||
const [paraId, setParaId] = useState(BN_ZERO);
|
||||
const [{ isWasmValid, wasm }, setWasm] = useState<CodeState>({ isWasmValid: false, wasm: null });
|
||||
const [genesisState, setGenesisState] = useState<Uint8Array | null>(null);
|
||||
|
||||
const _setGenesisState = useCallback(
|
||||
(data: Uint8Array) => setGenesisState(compactAddLength(data)),
|
||||
[]
|
||||
);
|
||||
|
||||
const _setWasm = useCallback(
|
||||
(wasm: Uint8Array, isWasmValid: boolean) => setWasm({ isWasmValid, wasm }),
|
||||
[]
|
||||
);
|
||||
|
||||
return (
|
||||
<Modal
|
||||
className={className}
|
||||
header={t<string>('Register parathread')}
|
||||
>
|
||||
<Modal.Content>
|
||||
<Modal.Columns>
|
||||
<Modal.Column>
|
||||
<InputAddress
|
||||
label={t<string>('register from')}
|
||||
onChange={setAccountId}
|
||||
type='account'
|
||||
value={accountId}
|
||||
/>
|
||||
</Modal.Column>
|
||||
<Modal.Column>
|
||||
<p>{t<string>('This account will be associated with the parachain and pay the deposit.')}</p>
|
||||
</Modal.Column>
|
||||
</Modal.Columns>
|
||||
<Modal.Columns>
|
||||
<Modal.Column>
|
||||
<InputNumber
|
||||
label={t<string>('parachain id')}
|
||||
onChange={setParaId}
|
||||
/>
|
||||
</Modal.Column>
|
||||
<Modal.Column>
|
||||
<p>{t<string>('The id of this parachain as known on the network')}</p>
|
||||
</Modal.Column>
|
||||
</Modal.Columns>
|
||||
<Modal.Columns>
|
||||
<Modal.Column>
|
||||
<InputWasm
|
||||
help={t<string>('The compiled runtime WASM for the parachain you wish to register.')}
|
||||
isError={!isWasmValid}
|
||||
label={t<string>('code')}
|
||||
onChange={_setWasm}
|
||||
placeholder={
|
||||
wasm && !isWasmValid
|
||||
? t<string>('The code is not recognized as being in valid WASM format')
|
||||
: null
|
||||
}
|
||||
/>
|
||||
</Modal.Column>
|
||||
<Modal.Column>
|
||||
<p>{t<string>('The WASM validation function for this parachain.')}</p>
|
||||
</Modal.Column>
|
||||
</Modal.Columns>
|
||||
<Modal.Columns>
|
||||
<Modal.Column>
|
||||
<InputFile
|
||||
help={t<string>('The genesis state for the parachain.')}
|
||||
isError={!genesisState}
|
||||
label={t<string>('initial state')}
|
||||
onChange={_setGenesisState}
|
||||
/>
|
||||
</Modal.Column>
|
||||
<Modal.Column>
|
||||
<p>{t<string>('The genesis state for this parachain.')}</p>
|
||||
</Modal.Column>
|
||||
</Modal.Columns>
|
||||
</Modal.Content>
|
||||
<Modal.Actions onCancel={onClose}>
|
||||
<TxButton
|
||||
accountId={accountId}
|
||||
icon='plus'
|
||||
isDisabled={!isWasmValid || !genesisState}
|
||||
onStart={onClose}
|
||||
params={[paraId, genesisState, wasm]}
|
||||
tx={api.tx.registrar.registerParathread}
|
||||
/>
|
||||
</Modal.Actions>
|
||||
</Modal>
|
||||
);
|
||||
}
|
||||
|
||||
export default React.memo(RegisterThread);
|
||||
@ -15,9 +15,9 @@
|
||||
"homepage": "https://github.com/polkadot-js/apps/tree/master/packages/react-api#readme",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.12.5",
|
||||
"@polkadot/api": "^3.4.2-1",
|
||||
"@polkadot/api": "^3.4.2-3",
|
||||
"@polkadot/extension-dapp": "^0.36.2-1",
|
||||
"@polkadot/x-rxjs": "^3.4.2-1",
|
||||
"@polkadot/x-rxjs": "^3.4.2-3",
|
||||
"fflate": "^0.4.8"
|
||||
}
|
||||
}
|
||||
|
||||
126
yarn.lock
126
yarn.lock
@ -1908,54 +1908,54 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@polkadot/api-contract@npm:^3.4.2-1":
|
||||
version: 3.4.2-1
|
||||
resolution: "@polkadot/api-contract@npm:3.4.2-1"
|
||||
"@polkadot/api-contract@npm:^3.4.2-3":
|
||||
version: 3.4.2-3
|
||||
resolution: "@polkadot/api-contract@npm:3.4.2-3"
|
||||
dependencies:
|
||||
"@babel/runtime": ^7.12.5
|
||||
"@polkadot/api": 3.4.2-1
|
||||
"@polkadot/types": 3.4.2-1
|
||||
"@polkadot/api": 3.4.2-3
|
||||
"@polkadot/types": 3.4.2-3
|
||||
"@polkadot/util": ^5.2.3
|
||||
"@polkadot/x-rxjs": 3.4.2-1
|
||||
"@polkadot/x-rxjs": 3.4.2-3
|
||||
bn.js: ^4.11.9
|
||||
checksum: 44bad7710d00e86323c0b1371d735bb127a4f634faa573497b9e52ce44de20268b07170e66fb689a39a2ba8bdaf41a0c1248ac295be381cadd88b3b3353beb6c
|
||||
checksum: 03f696bcbd1bb522d93b475536065618ff25dd1754e6c584ce54a5a83631c69f930fdc3acad51ddd5ec9635b8c9650df85878d3f66d8e0dfa62a930feb2f0d92
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@polkadot/api-derive@npm:3.4.2-1":
|
||||
version: 3.4.2-1
|
||||
resolution: "@polkadot/api-derive@npm:3.4.2-1"
|
||||
"@polkadot/api-derive@npm:3.4.2-3":
|
||||
version: 3.4.2-3
|
||||
resolution: "@polkadot/api-derive@npm:3.4.2-3"
|
||||
dependencies:
|
||||
"@babel/runtime": ^7.12.5
|
||||
"@polkadot/api": 3.4.2-1
|
||||
"@polkadot/rpc-core": 3.4.2-1
|
||||
"@polkadot/types": 3.4.2-1
|
||||
"@polkadot/api": 3.4.2-3
|
||||
"@polkadot/rpc-core": 3.4.2-3
|
||||
"@polkadot/types": 3.4.2-3
|
||||
"@polkadot/util": ^5.2.3
|
||||
"@polkadot/util-crypto": ^5.2.3
|
||||
"@polkadot/x-rxjs": 3.4.2-1
|
||||
"@polkadot/x-rxjs": 3.4.2-3
|
||||
bn.js: ^4.11.9
|
||||
checksum: 5290614fbaa83b8104b6e762df1b82ced68911ed2633bed9c7be010cbe9827e099b854c792d0ce8c75ef8d839814fb3a15adb75e9de9800fae68568f8c2e5304
|
||||
checksum: 8298c7c858d15ec8cd08b2855b46e46ad8c66c749344aa8b30aba1ef7f9491739bd079ef6a3d07ab0c23befc71cb9d4dbc197c5415eff95fc08aadb7d237c7f1
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@polkadot/api@npm:^3.4.2-1":
|
||||
version: 3.4.2-1
|
||||
resolution: "@polkadot/api@npm:3.4.2-1"
|
||||
"@polkadot/api@npm:^3.4.2-3":
|
||||
version: 3.4.2-3
|
||||
resolution: "@polkadot/api@npm:3.4.2-3"
|
||||
dependencies:
|
||||
"@babel/runtime": ^7.12.5
|
||||
"@polkadot/api-derive": 3.4.2-1
|
||||
"@polkadot/api-derive": 3.4.2-3
|
||||
"@polkadot/keyring": ^5.2.3
|
||||
"@polkadot/metadata": 3.4.2-1
|
||||
"@polkadot/rpc-core": 3.4.2-1
|
||||
"@polkadot/rpc-provider": 3.4.2-1
|
||||
"@polkadot/types": 3.4.2-1
|
||||
"@polkadot/types-known": 3.4.2-1
|
||||
"@polkadot/metadata": 3.4.2-3
|
||||
"@polkadot/rpc-core": 3.4.2-3
|
||||
"@polkadot/rpc-provider": 3.4.2-3
|
||||
"@polkadot/types": 3.4.2-3
|
||||
"@polkadot/types-known": 3.4.2-3
|
||||
"@polkadot/util": ^5.2.3
|
||||
"@polkadot/util-crypto": ^5.2.3
|
||||
"@polkadot/x-rxjs": 3.4.2-1
|
||||
"@polkadot/x-rxjs": 3.4.2-3
|
||||
bn.js: ^4.11.9
|
||||
eventemitter3: ^4.0.7
|
||||
checksum: 880468700bffdaab9be9b6abd4dfcf2b6ca27afdd13ba5a5246e31a212c33b09b5872bf4339a1a8a9a0f543b6859d7cac0baae0a21b60381535abf701ab1fbcf
|
||||
checksum: b9c8e9da5a1c4fcf5d5ab1e3a05ae920217c5886dec7b54c009a422c4a7b413c5462c9335ddc0fd2e68c1bd90284266ac2eeea148e791971115db2860d2991b5
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -2018,7 +2018,7 @@ __metadata:
|
||||
resolution: "@polkadot/app-contracts@workspace:packages/page-contracts"
|
||||
dependencies:
|
||||
"@babel/runtime": ^7.12.5
|
||||
"@polkadot/api-contract": ^3.4.2-1
|
||||
"@polkadot/api-contract": ^3.4.2-3
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
@ -2427,17 +2427,17 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@polkadot/metadata@npm:3.4.2-1":
|
||||
version: 3.4.2-1
|
||||
resolution: "@polkadot/metadata@npm:3.4.2-1"
|
||||
"@polkadot/metadata@npm:3.4.2-3":
|
||||
version: 3.4.2-3
|
||||
resolution: "@polkadot/metadata@npm:3.4.2-3"
|
||||
dependencies:
|
||||
"@babel/runtime": ^7.12.5
|
||||
"@polkadot/types": 3.4.2-1
|
||||
"@polkadot/types-known": 3.4.2-1
|
||||
"@polkadot/types": 3.4.2-3
|
||||
"@polkadot/types-known": 3.4.2-3
|
||||
"@polkadot/util": ^5.2.3
|
||||
"@polkadot/util-crypto": ^5.2.3
|
||||
bn.js: ^4.11.9
|
||||
checksum: 7c4fc55aaeebb9e0ce2fe8b36b74bed78a807b716af1d5c2e6ac2f623ad05f5124f2359e275267ba14a310a7f87e1bbfe2ba4b55f239332fc46b4367c70519c7
|
||||
checksum: 7647b8674c57858cf8dd5e8ddbc0fafad113a3ad4d5b5948d33b56c06883771faa3368e8f7b5b10121c2db3a6c9ff182f2d2a5180877d9a9d9890918454bcab3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -2455,9 +2455,9 @@ __metadata:
|
||||
resolution: "@polkadot/react-api@workspace:packages/react-api"
|
||||
dependencies:
|
||||
"@babel/runtime": ^7.12.5
|
||||
"@polkadot/api": ^3.4.2-1
|
||||
"@polkadot/api": ^3.4.2-3
|
||||
"@polkadot/extension-dapp": ^0.36.2-1
|
||||
"@polkadot/x-rxjs": ^3.4.2-1
|
||||
"@polkadot/x-rxjs": ^3.4.2-3
|
||||
fflate: ^0.4.8
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
@ -2586,33 +2586,33 @@ __metadata:
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@polkadot/rpc-core@npm:3.4.2-1":
|
||||
version: 3.4.2-1
|
||||
resolution: "@polkadot/rpc-core@npm:3.4.2-1"
|
||||
"@polkadot/rpc-core@npm:3.4.2-3":
|
||||
version: 3.4.2-3
|
||||
resolution: "@polkadot/rpc-core@npm:3.4.2-3"
|
||||
dependencies:
|
||||
"@babel/runtime": ^7.12.5
|
||||
"@polkadot/metadata": 3.4.2-1
|
||||
"@polkadot/rpc-provider": 3.4.2-1
|
||||
"@polkadot/types": 3.4.2-1
|
||||
"@polkadot/metadata": 3.4.2-3
|
||||
"@polkadot/rpc-provider": 3.4.2-3
|
||||
"@polkadot/types": 3.4.2-3
|
||||
"@polkadot/util": ^5.2.3
|
||||
"@polkadot/x-rxjs": 3.4.2-1
|
||||
checksum: 033ccaafe66af06e0c921eaf3609ce07b8be1d8f89f71df52714f270dcf0b87ed5923b9d8c6644d398cd3ee4690e4ce5c6b42e348079b3b7ada3e693c49271a0
|
||||
"@polkadot/x-rxjs": 3.4.2-3
|
||||
checksum: 1d942bee38fcb45a10ea313a8ef5de5013aca46e32aaeb79c2ac75446299762dbec6b38f883b46c7336a4c9a666a30329b276aa5a5345b61055f85be4593dceb
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@polkadot/rpc-provider@npm:3.4.2-1":
|
||||
version: 3.4.2-1
|
||||
resolution: "@polkadot/rpc-provider@npm:3.4.2-1"
|
||||
"@polkadot/rpc-provider@npm:3.4.2-3":
|
||||
version: 3.4.2-3
|
||||
resolution: "@polkadot/rpc-provider@npm:3.4.2-3"
|
||||
dependencies:
|
||||
"@babel/runtime": ^7.12.5
|
||||
"@polkadot/types": 3.4.2-1
|
||||
"@polkadot/types": 3.4.2-3
|
||||
"@polkadot/util": ^5.2.3
|
||||
"@polkadot/util-crypto": ^5.2.3
|
||||
"@polkadot/x-fetch": ^5.2.3
|
||||
"@polkadot/x-ws": ^5.2.3
|
||||
bn.js: ^4.11.9
|
||||
eventemitter3: ^4.0.7
|
||||
checksum: c2f3497f9534d631e472b4cb92374abe99e802bc83fc1134d53cd71d8aa7ac9c952a29015e9e6ccb1e15aa2a5f2908f1afd4d7d1f76cf969481882507d02b96c
|
||||
checksum: 00b26740fe66250d56672f0367c092532bb9548e7fd517229acd0a0d6e4b30f10d61331b25a2df9f2bf814e54ba543b245abe79ea2333364892c89713a214a44
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -2634,30 +2634,30 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@polkadot/types-known@npm:3.4.2-1":
|
||||
version: 3.4.2-1
|
||||
resolution: "@polkadot/types-known@npm:3.4.2-1"
|
||||
"@polkadot/types-known@npm:3.4.2-3":
|
||||
version: 3.4.2-3
|
||||
resolution: "@polkadot/types-known@npm:3.4.2-3"
|
||||
dependencies:
|
||||
"@babel/runtime": ^7.12.5
|
||||
"@polkadot/types": 3.4.2-1
|
||||
"@polkadot/types": 3.4.2-3
|
||||
"@polkadot/util": ^5.2.3
|
||||
bn.js: ^4.11.9
|
||||
checksum: e13614a362b008e32945e6fe6e00c7d51e564da9cf6df55f7596cd7391195a45196a487019d1c247c6b98bda9aac5e90138eb602998d3bd71a987a578cd4d0e7
|
||||
checksum: dc960345b49b6b6721e41a34d1fb195fcc8a973daaf108906358d47d762cded06345886911c641592ab2f9e837f2d11c22098f2d155f0bc181f3ea5a740ff828
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@polkadot/types@npm:^3.4.2-1":
|
||||
version: 3.4.2-1
|
||||
resolution: "@polkadot/types@npm:3.4.2-1"
|
||||
"@polkadot/types@npm:^3.4.2-3":
|
||||
version: 3.4.2-3
|
||||
resolution: "@polkadot/types@npm:3.4.2-3"
|
||||
dependencies:
|
||||
"@babel/runtime": ^7.12.5
|
||||
"@polkadot/metadata": 3.4.2-1
|
||||
"@polkadot/metadata": 3.4.2-3
|
||||
"@polkadot/util": ^5.2.3
|
||||
"@polkadot/util-crypto": ^5.2.3
|
||||
"@polkadot/x-rxjs": 3.4.2-1
|
||||
"@polkadot/x-rxjs": 3.4.2-3
|
||||
"@types/bn.js": ^4.11.6
|
||||
bn.js: ^4.11.9
|
||||
checksum: b2a00eec8f8db63f9d7a620cf561a7834e88752475973ac8def97540a876f641ff9982ad9edc3544bc75a72717f5361ebd8d0fc76197a5dcead7a86a44707dd2
|
||||
checksum: 0bce52064527d5cf9a399c2740e6eb54f3397ea853bd5903015893b60006758212aba26c1e833d0d6bb739ef4ab4b12a1f0564c036e1ecfd73b7d6164354314c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -2819,13 +2819,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@polkadot/x-rxjs@npm:^3.4.2-1":
|
||||
version: 3.4.2-1
|
||||
resolution: "@polkadot/x-rxjs@npm:3.4.2-1"
|
||||
"@polkadot/x-rxjs@npm:^3.4.2-3":
|
||||
version: 3.4.2-3
|
||||
resolution: "@polkadot/x-rxjs@npm:3.4.2-3"
|
||||
dependencies:
|
||||
"@babel/runtime": ^7.12.5
|
||||
rxjs: ^6.6.3
|
||||
checksum: a2db5ef5c70254a9f942ffdc4ceacf1164a9ffa445a22ccd8ac0274a675aae27f94a0bba448e9492af14abf49da3e1ee4747f12f814ddda62a78bd554c2cd9f0
|
||||
checksum: e1f293fbdaa8ebb1d208a07654cfe97fa13d33476d744c4ded8d9f50c6374d60075975325f2c2396a36930d2b4ee3df8821f03608d24d9224df871c4cb4702bd
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user