Update with signPayload for injected signer (#106)
* Update with signPayload for injected signer * Bare-minimum in interface * Cleanup linting * Remove unused (atm) permissions
This commit is contained in:
parent
e9a638cb90
commit
0aefb66d92
10
package.json
10
package.json
@ -12,11 +12,11 @@
|
||||
"yarn": "^1.10.1"
|
||||
},
|
||||
"resolutions": {
|
||||
"@polkadot/api": "^0.82.0-beta.77",
|
||||
"@polkadot/keyring": "^0.94.1",
|
||||
"@polkadot/types": "^0.82.0-beta.77",
|
||||
"@polkadot/util": "^0.94.1",
|
||||
"@polkadot/util-crypto": "^0.94.1",
|
||||
"@polkadot/api": "^0.82.0-beta.88",
|
||||
"@polkadot/keyring": "^0.95.0-beta.0",
|
||||
"@polkadot/types": "^0.82.0-beta.88",
|
||||
"@polkadot/util": "^0.95.0-beta.0",
|
||||
"@polkadot/util-crypto": "^0.95.0-beta.0",
|
||||
"babel-core": "^7.0.0-bridge.0",
|
||||
"typescript": "^3.5.3"
|
||||
},
|
||||
|
||||
@ -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 { Signer } from '@polkadot/api/types';
|
||||
import { Signer as InjectedSigner } from '@polkadot/api/types';
|
||||
|
||||
export type Unsubcall = () => void;
|
||||
|
||||
@ -25,8 +25,6 @@ export interface InjectedAccounts {
|
||||
subscribe: (cb: (accounts: InjectedAccount[]) => any) => Unsubcall;
|
||||
}
|
||||
|
||||
export type InjectedSigner = Signer;
|
||||
|
||||
export interface InjectedExtensionInfo {
|
||||
name: string;
|
||||
version: string;
|
||||
|
||||
@ -6,7 +6,7 @@ import React from 'react';
|
||||
import styled from 'styled-components';
|
||||
import fromMetadata from '@polkadot/api-metadata/extrinsics/fromMetadata';
|
||||
import findChain from '@polkadot/extension/chains';
|
||||
import { Metadata, Method, ExtrinsicEra } from '@polkadot/types';
|
||||
import { BlockNumber, ExtrinsicEra, Metadata, Method, SignaturePayload } from '@polkadot/types';
|
||||
import { formatNumber } from '@polkadot/util';
|
||||
|
||||
interface MethodJson {
|
||||
@ -15,13 +15,12 @@ interface MethodJson {
|
||||
}
|
||||
|
||||
interface Props {
|
||||
blockNumber: number;
|
||||
blockNumber: BlockNumber;
|
||||
className?: string;
|
||||
era?: string;
|
||||
genesisHash: string;
|
||||
isDecoded: boolean;
|
||||
method: string;
|
||||
nonce: string;
|
||||
payload: SignaturePayload;
|
||||
url: string;
|
||||
}
|
||||
|
||||
@ -64,7 +63,7 @@ function renderMethod (data: string, meta?: Metadata | null): React.ReactNode {
|
||||
);
|
||||
}
|
||||
|
||||
function renderMortality (era: ExtrinsicEra, blockNumber: number): string {
|
||||
function renderMortality (era: ExtrinsicEra, blockNumber: BlockNumber): string {
|
||||
if (era.isImmortalEra) {
|
||||
return 'immortal';
|
||||
}
|
||||
@ -74,9 +73,8 @@ function renderMortality (era: ExtrinsicEra, blockNumber: number): string {
|
||||
return `mortal, valid from #${formatNumber(mortal.birth(blockNumber))} to #${formatNumber(mortal.death(blockNumber))}`;
|
||||
}
|
||||
|
||||
function Details ({ blockNumber, className, genesisHash, isDecoded, era, method, nonce, url }: Props): React.ReactElement<Props> {
|
||||
function Details ({ blockNumber, className, genesisHash, isDecoded, method, payload: { era, nonce, tip }, url }: Props): React.ReactElement<Props> {
|
||||
const chain = findChain(genesisHash);
|
||||
const eera = new ExtrinsicEra(era);
|
||||
|
||||
return (
|
||||
<table className={className}>
|
||||
@ -91,12 +89,18 @@ function Details ({ blockNumber, className, genesisHash, isDecoded, era, method,
|
||||
</tr>
|
||||
<tr>
|
||||
<td className='label'>nonce</td>
|
||||
<td className='data'>{nonce}</td>
|
||||
<td className='data'>{formatNumber(nonce)}</td>
|
||||
</tr>
|
||||
{!tip.isEmpty && (
|
||||
<tr>
|
||||
<td className='label'>tip</td>
|
||||
<td className='data'>{formatNumber(tip)}</td>
|
||||
</tr>
|
||||
)}
|
||||
{renderMethod(method, (chain && isDecoded) ? chain.meta : null)}
|
||||
<tr>
|
||||
<td className='label'>mortality</td>
|
||||
<td className='data'>{renderMortality(eera, blockNumber)}</td>
|
||||
<td className='label'>lifetime</td>
|
||||
<td className='data'>{renderMortality(era, blockNumber)}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@ -6,6 +6,7 @@ import { MessageExtrinsicSign } from '@polkadot/extension/background/types';
|
||||
import { OnActionFromCtx } from '../../components/types';
|
||||
|
||||
import React from 'react';
|
||||
import { SignaturePayload, BlockNumber } from '@polkadot/types';
|
||||
|
||||
import { ActionBar, Address, Link, withOnAction } from '../../components';
|
||||
import { approveSignRequest, cancelSignRequest } from '../../messaging';
|
||||
@ -20,7 +21,7 @@ interface Props {
|
||||
url: string;
|
||||
}
|
||||
|
||||
function Request ({ isFirst, onAction, request: { address, blockNumber, era, genesisHash, method, nonce }, signId, url }: Props): React.ReactElement<Props> {
|
||||
function Request ({ isFirst, onAction, request, signId, url }: Props): React.ReactElement<Props> {
|
||||
const onCancel = (): Promise<void> =>
|
||||
cancelSignRequest(signId)
|
||||
.then((): void => onAction())
|
||||
@ -28,16 +29,17 @@ function Request ({ isFirst, onAction, request: { address, blockNumber, era, gen
|
||||
const onSign = (password: string): Promise<void> =>
|
||||
approveSignRequest(signId, password)
|
||||
.then((): void => onAction());
|
||||
const blockNumber = new BlockNumber(request.blockNumber);
|
||||
const payload = new SignaturePayload(request, { version: request.version });
|
||||
|
||||
return (
|
||||
<Address address={address}>
|
||||
<Address address={request.address}>
|
||||
<Details
|
||||
blockNumber={blockNumber}
|
||||
era={era}
|
||||
genesisHash={genesisHash}
|
||||
genesisHash={request.genesisHash}
|
||||
isDecoded={isFirst}
|
||||
method={method}
|
||||
nonce={nonce}
|
||||
method={request.method}
|
||||
payload={payload}
|
||||
url={url}
|
||||
/>
|
||||
<ActionBar>
|
||||
|
||||
@ -3,8 +3,9 @@
|
||||
"description": "Manage your Polkadot accounts outside of dapps. Injects the accounts and allows signing transactions for a specific account.",
|
||||
"homepage_url": "https://github.com/polkadot-js/extension",
|
||||
"name": "polkadot{.js} extension",
|
||||
"short_name": "polkadot{.js}",
|
||||
"manifest_version": 2,
|
||||
"permissions": ["activeTab", "storage"],
|
||||
"permissions": ["storage"],
|
||||
"background": {
|
||||
"scripts": ["background.js"],
|
||||
"persistent": true
|
||||
|
||||
@ -5,13 +5,13 @@
|
||||
"author": "Jaco Greeff <jacogr@gmail.com>",
|
||||
"license": "Apache-2",
|
||||
"dependencies": {
|
||||
"@polkadot/api": "^0.82.0-beta.77",
|
||||
"@polkadot/api": "^0.82.0-beta.88",
|
||||
"@polkadot/extension-ui": "^0.5.0-beta.4",
|
||||
"@polkadot/ui-keyring": "^0.42.0-beta.16"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/runtime": "^7.5.5",
|
||||
"@polkadot/keyring": "^0.94.1",
|
||||
"@polkadot/keyring": "^0.95.0-beta.0",
|
||||
"@types/chrome": "^0.0.86",
|
||||
"@types/firefox-webext-browser": "^67.0.1",
|
||||
"extensionizer": "^1.0.1",
|
||||
|
||||
@ -8,9 +8,9 @@ import { AuthorizeRequest, MessageTypes, MessageAccountCreate, MessageAccountEdi
|
||||
|
||||
import keyring from '@polkadot/ui-keyring';
|
||||
import accountsObservable from '@polkadot/ui-keyring/observable/accounts';
|
||||
import { SignaturePayloadRaw } from '@polkadot/types';
|
||||
import { SignaturePayload } from '@polkadot/types';
|
||||
import { mnemonicGenerate, mnemonicValidate } from '@polkadot/util-crypto';
|
||||
import { assert, u8aToHex } from '@polkadot/util';
|
||||
import { assert } from '@polkadot/util';
|
||||
|
||||
import State from './State';
|
||||
import { createSubscription, unsubscribe } from './subscriptions';
|
||||
@ -137,8 +137,8 @@ export default class Extension {
|
||||
|
||||
assert(queued, 'Unable to find request');
|
||||
|
||||
const { request: { address, blockHash, era, method, nonce }, resolve, reject } = queued;
|
||||
const pair = keyring.getPair(address);
|
||||
const { request, resolve, reject } = queued;
|
||||
const pair = keyring.getPair(request.address);
|
||||
|
||||
if (!pair) {
|
||||
reject(new Error('Unable to find pair'));
|
||||
@ -148,14 +148,14 @@ export default class Extension {
|
||||
|
||||
pair.decodePkcs8(password);
|
||||
|
||||
const payload = new SignaturePayloadRaw({ blockHash, era, method, nonce });
|
||||
const signature = u8aToHex(payload.sign(pair));
|
||||
const payload = new SignaturePayload(request, { version: request.version });
|
||||
const result = payload.sign(pair);
|
||||
|
||||
pair.lock();
|
||||
|
||||
resolve({
|
||||
id,
|
||||
signature
|
||||
...result
|
||||
});
|
||||
|
||||
return true;
|
||||
|
||||
@ -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 { SignerPayload } from '@polkadot/api/types';
|
||||
import { KeypairType } from '@polkadot/util-crypto/types';
|
||||
|
||||
export type MessageTypes = 'authorize.approve' | 'authorize.reject' | 'authorize.requests' | 'authorize.subscribe' | 'authorize.tab' | 'accounts.create' | 'accounts.edit' | 'accounts.forget' | 'accounts.list' | 'accounts.subscribe' | 'extrinsic.sign' | 'seed.create' | 'seed.validate' | 'signing.approve' | 'signing.cancel' | 'signing.requests' | 'signing.subscribe';
|
||||
@ -63,15 +64,7 @@ export interface MessageExtrinsicSignCancel {
|
||||
id: string;
|
||||
}
|
||||
|
||||
export interface MessageExtrinsicSign {
|
||||
address: string;
|
||||
blockHash: string;
|
||||
blockNumber: number;
|
||||
era?: string;
|
||||
genesisHash: string;
|
||||
method: string;
|
||||
nonce: string;
|
||||
}
|
||||
export type MessageExtrinsicSign = SignerPayload;
|
||||
|
||||
export interface MessageExtrinsicSignResponse {
|
||||
id: string;
|
||||
|
||||
@ -2,42 +2,33 @@
|
||||
// This software may be modified and distributed under the terms
|
||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||
|
||||
import { SignerOptions } from '@polkadot/api/types';
|
||||
import { InjectedSigner } from '@polkadot/extension-inject/types';
|
||||
import { IExtrinsic } from '@polkadot/types/types';
|
||||
import { Signer as SignerInterface, SignerPayload, SignerResult } from '@polkadot/api/types';
|
||||
import { SendRequest } from './types';
|
||||
|
||||
import { SubmittableResult } from '@polkadot/api/SubmittableExtrinsic';
|
||||
import { Hash } from '@polkadot/types';
|
||||
|
||||
const DEFAULT_ERA = new Uint8Array();
|
||||
|
||||
let sendRequest: SendRequest;
|
||||
let nextId = 0;
|
||||
|
||||
export default class Signer implements InjectedSigner {
|
||||
export default class Signer implements SignerInterface {
|
||||
public constructor (_sendRequest: SendRequest) {
|
||||
sendRequest = _sendRequest;
|
||||
}
|
||||
|
||||
public async sign (extrinsic: IExtrinsic, address: string, { blockHash, blockNumber, era, genesisHash, nonce }: SignerOptions): Promise<number> {
|
||||
// Bit of a hack - with this round-about way, we skip any keyring deps
|
||||
const { id, signature } = await sendRequest('extrinsic.sign', JSON.parse(JSON.stringify({
|
||||
address,
|
||||
blockHash,
|
||||
blockNumber: blockNumber.toNumber(),
|
||||
era,
|
||||
genesisHash,
|
||||
method: extrinsic.method.toHex(),
|
||||
nonce
|
||||
})));
|
||||
public async signPayload (payload: SignerPayload): Promise<SignerResult> {
|
||||
const id = ++nextId;
|
||||
const result = await sendRequest('extrinsic.sign', payload);
|
||||
|
||||
extrinsic.addSignature(address, signature, nonce, era || DEFAULT_ERA);
|
||||
|
||||
return id;
|
||||
// we add an internal id (number) - should have a mapping from the
|
||||
// extension id (string) -> internal id (number) if we wish to provide
|
||||
// updated via the update functionality (noop at this point)
|
||||
return {
|
||||
...result,
|
||||
id
|
||||
};
|
||||
}
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public update (id: number, status: Hash | SubmittableResult): void {
|
||||
// something
|
||||
}
|
||||
// We don't listen to updates at all, if we do we can interpret the result
|
||||
// as provided by the API here
|
||||
// public update (id: number, status: Hash | SubmittableResult): void {
|
||||
// // ignore
|
||||
// }
|
||||
}
|
||||
|
||||
@ -1,10 +1,8 @@
|
||||
{
|
||||
"extends": "./node_modules/@polkadot/dev/config/tsconfig",
|
||||
"compilerOptions":
|
||||
{
|
||||
"compilerOptions": {
|
||||
"baseUrl": ".",
|
||||
"paths":
|
||||
{
|
||||
"paths": {
|
||||
"@polkadot/extension": ["packages/extension/src"],
|
||||
"@polkadot/extension/*": ["packages/extension/src/*"],
|
||||
"@polkadot/extension-dapp": ["packages/extension-dapp/src"],
|
||||
@ -18,5 +16,8 @@
|
||||
"./node_modules/@polkadot/ts",
|
||||
"./node_modules/@types"
|
||||
]
|
||||
}
|
||||
},
|
||||
"exclude": [
|
||||
"**/build/*"
|
||||
]
|
||||
}
|
||||
|
||||
110
yarn.lock
110
yarn.lock
@ -1863,38 +1863,38 @@
|
||||
universal-user-agent "^3.0.0"
|
||||
url-template "^2.0.8"
|
||||
|
||||
"@polkadot/api-derive@^0.82.0-beta.77":
|
||||
version "0.82.0-beta.77"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-0.82.0-beta.77.tgz#0586b11291ccda409486f38cedbcaad35b33f577"
|
||||
integrity sha512-jEpYvsPDvi648HTv7T6b/JNUHbKVaXB2U8AvOKFwhkTscLKWSfkHX4uPyaLzfYm5qqZme9OdDvwM6kw+fh9DJw==
|
||||
"@polkadot/api-derive@^0.82.0-beta.88":
|
||||
version "0.82.0-beta.88"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-0.82.0-beta.88.tgz#9aca03a462e681ef1fc2e4ecef1b6baa04917ce2"
|
||||
integrity sha512-SmYWcPhNNKZRSmTwe7DMO/jhO8zSnCNPwWyZgriWS7K7ZZHBKheyvG206lOfAWv3NBEUjV34LBc5oJx71AZXAA==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.5.5"
|
||||
"@polkadot/api" "^0.82.0-beta.77"
|
||||
"@polkadot/types" "^0.82.0-beta.77"
|
||||
"@polkadot/api" "^0.82.0-beta.88"
|
||||
"@polkadot/types" "^0.82.0-beta.88"
|
||||
"@types/memoizee" "^0.4.2"
|
||||
memoizee "^0.4.14"
|
||||
|
||||
"@polkadot/api-metadata@^0.82.0-beta.77":
|
||||
version "0.82.0-beta.77"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/api-metadata/-/api-metadata-0.82.0-beta.77.tgz#3231e1da3d457863085e44d9394bb9e7820f77f5"
|
||||
integrity sha512-dkcLHPCuFqiZXuUSBQqJ6hhDVYj4o5Mn8h1+fWXwndf0rnivY+WxkZll8rJOMVYltRcIuZjkEVEplx8pkLO6Ng==
|
||||
"@polkadot/api-metadata@^0.82.0-beta.88":
|
||||
version "0.82.0-beta.88"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/api-metadata/-/api-metadata-0.82.0-beta.88.tgz#8f4ad03dc60cd6dc4255376769b0244e9a805f11"
|
||||
integrity sha512-x2yrP0yMF0IYXxShyZ8tRy0HyqxzymhHI6l5bX1rVZD7SG35fJJcLAOK1CuoNdPpGNRokA1Phk9xkoktoSTN2Q==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.5.5"
|
||||
"@polkadot/types" "^0.82.0-beta.77"
|
||||
"@polkadot/types" "^0.82.0-beta.88"
|
||||
"@polkadot/util" "^0.94.1"
|
||||
"@polkadot/util-crypto" "^0.94.1"
|
||||
|
||||
"@polkadot/api@^0.82.0-beta.77":
|
||||
version "0.82.0-beta.77"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-0.82.0-beta.77.tgz#fd3059abc7df7dea8eea02cde6cafe4898e8c82b"
|
||||
integrity sha512-gXCGc0dS1hUZzcsItQLBjKZ70JpBg5Yie81UPg/zHihMgIijn7/3a15oYh49/mTXx8+kPb4mBmBk8wAElecM8Q==
|
||||
"@polkadot/api@^0.82.0-beta.88":
|
||||
version "0.82.0-beta.88"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-0.82.0-beta.88.tgz#f02d96ea0455ae5a17377f95378a7b0004dc2aa2"
|
||||
integrity sha512-BitX270xD1v6sBa3qRzDbxgfs7rS2QGikpsDnNcBLD2T2FOpkTdMdhFAWbCcNf1F0425MAA9rsaJ/wy0LcltMQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.5.5"
|
||||
"@polkadot/api-derive" "^0.82.0-beta.77"
|
||||
"@polkadot/api-metadata" "^0.82.0-beta.77"
|
||||
"@polkadot/rpc-core" "^0.82.0-beta.77"
|
||||
"@polkadot/rpc-provider" "^0.82.0-beta.77"
|
||||
"@polkadot/types" "^0.82.0-beta.77"
|
||||
"@polkadot/api-derive" "^0.82.0-beta.88"
|
||||
"@polkadot/api-metadata" "^0.82.0-beta.88"
|
||||
"@polkadot/rpc-core" "^0.82.0-beta.88"
|
||||
"@polkadot/rpc-provider" "^0.82.0-beta.88"
|
||||
"@polkadot/types" "^0.82.0-beta.88"
|
||||
"@polkadot/util-crypto" "^0.94.1"
|
||||
|
||||
"@polkadot/dev-react@^0.30.0-beta.23":
|
||||
@ -1982,42 +1982,42 @@
|
||||
typescript "^3.5.3"
|
||||
vuepress "^1.0.2"
|
||||
|
||||
"@polkadot/jsonrpc@^0.82.0-beta.77":
|
||||
version "0.82.0-beta.77"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/jsonrpc/-/jsonrpc-0.82.0-beta.77.tgz#c62b07f2203f0ebe77a06c00b92e24727fde4032"
|
||||
integrity sha512-ylNSTSPnF1cgH9082ZDvpdkuBkCduzVtKSy8wJPuj4YJ2ljz/OeLeoEPwHzfJzyRKANaE2NS7tSuNF3xUnNb1g==
|
||||
"@polkadot/jsonrpc@^0.82.0-beta.88":
|
||||
version "0.82.0-beta.88"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/jsonrpc/-/jsonrpc-0.82.0-beta.88.tgz#68912995be01c12ae9af401d7d35c5793ae84ca9"
|
||||
integrity sha512-Gwmqm5Q2faqTX6RZFWzNadNmNN/RzT4VZL+J+oDl/AnkNeIP10yiEytwy17C0iFw3o266ULC96Y0U51hMlvSmw==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.5.5"
|
||||
|
||||
"@polkadot/keyring@^0.94.1":
|
||||
version "0.94.1"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-0.94.1.tgz#f64743f295b0dc6b64fff6081a642174c87ade21"
|
||||
integrity sha512-13BZoL6C3tg2U93HGpH44Lj8en3evrbcLCTlyM7A7mI+GPqembQtcgMnp7/gMWVXZApprhr12iBhgGsNizmcfg==
|
||||
"@polkadot/keyring@^0.95.0-beta.0":
|
||||
version "0.95.0-beta.0"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-0.95.0-beta.0.tgz#0ca6bf7f2e530f8520ec307231a69fb6dc228228"
|
||||
integrity sha512-zzzkfJXb3be1LLU2u23aR50ndbFlMqwnzSDn5p+ytbDA8ekTHRjdN9IjPP1VdFvPyqD3kLLhUn4c6+OLh62hsQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.5.5"
|
||||
"@polkadot/util" "^0.94.1"
|
||||
"@polkadot/util-crypto" "^0.94.1"
|
||||
"@polkadot/util" "^0.95.0-beta.0"
|
||||
"@polkadot/util-crypto" "^0.95.0-beta.0"
|
||||
|
||||
"@polkadot/rpc-core@^0.82.0-beta.77":
|
||||
version "0.82.0-beta.77"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-0.82.0-beta.77.tgz#b494e504445b4ab8cc9578a7f4aec703daf7fc27"
|
||||
integrity sha512-wkNaPmUQq020KerFYO4UcefHvGYH5geQQ62ECyPan0Tl1OduhIiP014f1tj8sviD0Rz0jJ1HyhS85oVkBrSXvw==
|
||||
"@polkadot/rpc-core@^0.82.0-beta.88":
|
||||
version "0.82.0-beta.88"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-0.82.0-beta.88.tgz#531572199659586b815463733131a3c3e1e537df"
|
||||
integrity sha512-w110sRpBL61yBlDuceBbEM0uXisOMd3f/1A+GyNZRlpuXm2KuOCv7EtZ224pIfiU/CecDn/gf51CkF8/7Hiv4A==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.5.5"
|
||||
"@polkadot/jsonrpc" "^0.82.0-beta.77"
|
||||
"@polkadot/rpc-provider" "^0.82.0-beta.77"
|
||||
"@polkadot/types" "^0.82.0-beta.77"
|
||||
"@polkadot/jsonrpc" "^0.82.0-beta.88"
|
||||
"@polkadot/rpc-provider" "^0.82.0-beta.88"
|
||||
"@polkadot/types" "^0.82.0-beta.88"
|
||||
"@polkadot/util" "^0.94.1"
|
||||
memoizee "^0.4.14"
|
||||
rxjs "^6.5.2"
|
||||
|
||||
"@polkadot/rpc-provider@^0.82.0-beta.77":
|
||||
version "0.82.0-beta.77"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-0.82.0-beta.77.tgz#9cc82a55f343911f3ef68fce84a32cc1d5c1b57b"
|
||||
integrity sha512-oGfrhVmA+I5z0O0y7mlZtLuIM0mI7nuDi/lvLdRT5Bir2Lfop+pm9x7eL9XKZFO70hAWbWHGq0kpzLk0NomhfQ==
|
||||
"@polkadot/rpc-provider@^0.82.0-beta.88":
|
||||
version "0.82.0-beta.88"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-0.82.0-beta.88.tgz#adb2fc3cc7ee81919784df18d8c6af89b7a41200"
|
||||
integrity sha512-rCCEhuqX+ORWg6hflcg4j2ErhZWIVfsf5aNJuLjaVsqcrD+HyjXGix71qSDAoCKGEtOgXh/GQ8nLsFdUXZotQQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.5.5"
|
||||
"@polkadot/api-metadata" "^0.82.0-beta.77"
|
||||
"@polkadot/api-metadata" "^0.82.0-beta.88"
|
||||
"@polkadot/util" "^0.94.1"
|
||||
"@polkadot/util-crypto" "^0.94.1"
|
||||
"@types/nock" "^10.0.3"
|
||||
@ -2032,10 +2032,10 @@
|
||||
dependencies:
|
||||
"@types/chrome" "^0.0.86"
|
||||
|
||||
"@polkadot/types@^0.82.0-beta.77":
|
||||
version "0.82.0-beta.77"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-0.82.0-beta.77.tgz#4b0d906775f6abc928e26ffe8c8bbcbbaa928b41"
|
||||
integrity sha512-a52rLZHFyIEvehVGfaQ/VVI7aGVOLMITxkR0xXRv4ydkahvqknZyPVxUC+mFhxOCebHuOBCuOVYJ2wVjWpqxDw==
|
||||
"@polkadot/types@^0.82.0-beta.88":
|
||||
version "0.82.0-beta.88"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-0.82.0-beta.88.tgz#efc2e96e1799f34cac4fa39a884f75a876c2aec1"
|
||||
integrity sha512-/f+SifB5BaOQUQKXdUAS4q4eqbZum8sHb3AZbFO26Okvlp/RbSV6HSZnigcEEI50+YeIu4J3hF9hsoB35raFcw==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.5.5"
|
||||
"@polkadot/util" "^0.94.1"
|
||||
@ -2077,13 +2077,13 @@
|
||||
"@types/store" "^2.0.2"
|
||||
store "^2.0.12"
|
||||
|
||||
"@polkadot/util-crypto@^0.94.1":
|
||||
version "0.94.1"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-0.94.1.tgz#64c076567060c15a752fe1bb046cc902d07a14ca"
|
||||
integrity sha512-+JB2fjNQn6Kba29gd3R5Bg0GLo9dDsRqayumSkusq3AeXI9YEZmjwstze6gGbGZJscSoyuuoCTzljWOr/RIhzQ==
|
||||
"@polkadot/util-crypto@^0.94.1", "@polkadot/util-crypto@^0.95.0-beta.0":
|
||||
version "0.95.0-beta.0"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-0.95.0-beta.0.tgz#4911b4f0e9efc2b5aac12d0c89f1d4cd5020e954"
|
||||
integrity sha512-3/n75W8UjIIYUnuD0MoZKd5CWuMpzo2xCLXtiiWdki81+tVlGeko2TSiNuaHGTpEA6wt1yOc56x0l3x5hGfF4Q==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.5.5"
|
||||
"@polkadot/util" "^0.94.1"
|
||||
"@polkadot/util" "^0.95.0-beta.0"
|
||||
"@polkadot/wasm-crypto" "^0.13.1"
|
||||
"@types/bip39" "^2.4.2"
|
||||
"@types/bs58" "^4.0.0"
|
||||
@ -2099,10 +2099,10 @@
|
||||
tweetnacl "^1.0.1"
|
||||
xxhashjs "^0.2.2"
|
||||
|
||||
"@polkadot/util@^0.94.1":
|
||||
version "0.94.1"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-0.94.1.tgz#5d1f73ffbf79b16009de45180e5184dfc2110800"
|
||||
integrity sha512-HpKz0PDgYcvoh2xvT1e5n3H3soXce8vY5h3aq3vqmWfdSUoSo9wIfCfHrOo7Z130Z/qegqtAtJVj4+8434+Q8w==
|
||||
"@polkadot/util@^0.94.1", "@polkadot/util@^0.95.0-beta.0":
|
||||
version "0.95.0-beta.0"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-0.95.0-beta.0.tgz#b80a82da38b8b256ac475e6998b80963c6e487de"
|
||||
integrity sha512-UjNPffq+i+5TAxa0JIDGlAVhDS2wKe8zQYXp7m4MTNaozYnhjM2H7Xs/QWd03FoMMYPRkX1cXJYgeXytFjnmfw==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.5.5"
|
||||
"@types/bn.js" "^4.11.5"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user