Move vanity generation to accounts app (#603)
* Bare code move from app-vanitygen * Dirty, but vanity shows up * Add directly from vanity
This commit is contained in:
parent
b9dad9ffb9
commit
6611577a86
@ -2,7 +2,7 @@ const config = require('@polkadot/dev-react/config/jest');
|
||||
|
||||
module.exports = Object.assign({}, config, {
|
||||
moduleNameMapper: {
|
||||
'@polkadot/app-(accounts|addresses|democracy|explorer|extrinsics|rpc|settings|staking|storage|toolbox|transfer|vanitygen)(.*)$': '<rootDir>/packages/app-$1/src/$2',
|
||||
'@polkadot/app-(accounts|addresses|democracy|explorer|extrinsics|rpc|settings|staking|storage|toolbox|transfer)(.*)$': '<rootDir>/packages/app-$1/src/$2',
|
||||
'@polkadot/ui-(api|app|params|reactive|signer)(.*)$': '<rootDir>/packages/ui-$1/src/$2',
|
||||
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': 'empty/object',
|
||||
'\\.(css|less)$': 'empty/object'
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
"postinstall": "polkadot-dev-yarn-only",
|
||||
"test": "jest --coverage",
|
||||
"deploy:ghpages": "gh-pages --dist packages/apps/build --remove locales,static,*.css,*.js,*.json,*.map,*.md",
|
||||
"vanitygen": "node packages/app-vanitygen/scripts/vanitygen.js",
|
||||
"vanitygen": "node packages/app-accounts/scripts/vanitygen.js",
|
||||
"start": "cd packages/apps && webpack-serve --config webpack.config.js --port 3000"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@ -12,7 +12,14 @@
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.2.0",
|
||||
"@polkadot/ui-app": "^0.22.18",
|
||||
"@types/yargs": "^12.0.5",
|
||||
"@types/file-saver": "^2.0.0",
|
||||
"file-saver": "^2.0.0"
|
||||
"babel-plugin-module-resolver": "^3.1.1",
|
||||
"file-saver": "^2.0.0",
|
||||
"libsodium-wrappers": "^0.7.3",
|
||||
"yargs": "^12.0.5"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"sodium": "^3.0.2"
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
#!/usr/bin/env node
|
||||
// Copyright 2017-2019 @polkadot/client authors & contributors
|
||||
// Copyright 2017-2019 @polkadot/app-accounts authors & contributors
|
||||
// This software may be modified and distributed under the terms
|
||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const [compiled] = ['../generator/cli.js']
|
||||
const [compiled] = ['../vanitygen/cli.js']
|
||||
.map((file) => path.join(__dirname, file))
|
||||
.filter((file) => fs.existsSync(file));
|
||||
|
||||
@ -24,5 +24,5 @@ if (compiled) {
|
||||
}]
|
||||
]
|
||||
});
|
||||
require('../src/generator/cli.ts');
|
||||
require('../src/vanitygen/cli.ts');
|
||||
}
|
||||
@ -19,7 +19,8 @@ const BipWorker = require('worker-loader?name=[name].[hash:8].js!./bipWorker');
|
||||
|
||||
type Props = I18nProps & {
|
||||
onStatusChange: (status: ActionStatus) => void,
|
||||
onCreateAccount: () => void
|
||||
onCreateAccount: () => void,
|
||||
passthrough: string | null
|
||||
};
|
||||
|
||||
type SeedType = 'bip' | 'raw';
|
||||
@ -77,7 +78,7 @@ class Creator extends React.PureComponent<Props, State> {
|
||||
});
|
||||
};
|
||||
this.state = {
|
||||
...this.emptyState(),
|
||||
...this.emptyState(this.props.passthrough),
|
||||
seedOptions: [
|
||||
{ value: 'bip', text: t('seedType.bip', { defaultValue: 'Mnemonic' }) },
|
||||
{ value: 'raw', text: t('seedType.raw', { defaultValue: 'Raw seed' }) }
|
||||
@ -88,6 +89,8 @@ class Creator extends React.PureComponent<Props, State> {
|
||||
render () {
|
||||
const { address, isSeedValid } = this.state;
|
||||
|
||||
console.error('passthrough', this.props.passthrough);
|
||||
|
||||
return (
|
||||
<div className='accounts--Creator'>
|
||||
<div className='ui--grid'>
|
||||
@ -259,7 +262,7 @@ class Creator extends React.PureComponent<Props, State> {
|
||||
];
|
||||
}
|
||||
|
||||
private generateSeed (seedType: SeedType): State {
|
||||
private generateSeed (seedType: SeedType, passthrough?: string | null): State {
|
||||
if (seedType === 'bip') {
|
||||
this.bipWorker.postMessage('create');
|
||||
|
||||
@ -269,7 +272,7 @@ class Creator extends React.PureComponent<Props, State> {
|
||||
} as State;
|
||||
}
|
||||
|
||||
const seed = u8aToHex(randomAsU8a());
|
||||
const seed = passthrough || u8aToHex(randomAsU8a());
|
||||
const address = addressFromSeed(seed, seedType);
|
||||
|
||||
return {
|
||||
@ -279,11 +282,13 @@ class Creator extends React.PureComponent<Props, State> {
|
||||
} as State;
|
||||
}
|
||||
|
||||
private emptyState (): State {
|
||||
const { seedType } = this.state;
|
||||
private emptyState (passthrough?: string | null): State {
|
||||
const seedType = passthrough
|
||||
? 'raw'
|
||||
: this.state.seedType;
|
||||
|
||||
return {
|
||||
...this.generateSeed(seedType),
|
||||
...this.generateSeed(seedType, passthrough),
|
||||
isNameValid: true,
|
||||
isPassValid: false,
|
||||
isSeedValid: true,
|
||||
|
||||
@ -1,18 +1,18 @@
|
||||
// Copyright 2017-2019 @polkadot/app-vanitygen authors & contributors
|
||||
// Copyright 2017-2019 @polkadot/app-accounts authors & contributors
|
||||
// This software may be modified and distributed under the terms
|
||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||
|
||||
import { BareProps } from '@polkadot/ui-app/types';
|
||||
|
||||
import React from 'react';
|
||||
|
||||
import { Button, CopyButton, IdentityIcon } from '@polkadot/ui-app/index';
|
||||
import { Button, IdentityIcon } from '@polkadot/ui-app/index';
|
||||
import { u8aToHex } from '@polkadot/util';
|
||||
|
||||
type Props = BareProps & {
|
||||
address: string;
|
||||
count: number;
|
||||
offset: number;
|
||||
onCreateToggle: (passthrough: string) => void,
|
||||
onRemove: (address: string) => void,
|
||||
seed: Uint8Array;
|
||||
};
|
||||
@ -51,10 +51,14 @@ export default class Match extends React.PureComponent<Props, State> {
|
||||
</div>
|
||||
</div>
|
||||
<div className='vanity--Match-buttons'>
|
||||
<CopyButton value={hexSeed} />
|
||||
<Button
|
||||
icon='plus'
|
||||
isPrimary
|
||||
onClick={this.onCreate}
|
||||
size='tiny'
|
||||
/>
|
||||
<Button
|
||||
icon='close'
|
||||
isCircular
|
||||
isNegative
|
||||
onClick={this.onRemove}
|
||||
size='tiny'
|
||||
@ -65,6 +69,13 @@ export default class Match extends React.PureComponent<Props, State> {
|
||||
);
|
||||
}
|
||||
|
||||
onCreate = (): void => {
|
||||
const { onCreateToggle } = this.props;
|
||||
const { hexSeed } = this.state;
|
||||
|
||||
onCreateToggle(hexSeed);
|
||||
}
|
||||
|
||||
onRemove = (): void => {
|
||||
const { address, onRemove } = this.props;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
/* Copyright 2017-2019 @polkadot/app-vanitygen authors & contributors
|
||||
/* Copyright 2017-2019 @polkadot/app-accounts authors & contributors
|
||||
/* This software may be modified and distributed under the terms
|
||||
/* of the Apache-2.0 license. See the LICENSE file for details. */
|
||||
|
||||
@ -42,13 +42,14 @@
|
||||
|
||||
.vanity--Match-addr {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.vanity--Match-addr .no {
|
||||
}
|
||||
.no {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.vanity--Match-addr .yes {
|
||||
color: red;
|
||||
.yes {
|
||||
color: red;
|
||||
}
|
||||
}
|
||||
|
||||
.vanity--Match-seed {
|
||||
@ -1,25 +1,23 @@
|
||||
// Copyright 2017-2019 @polkadot/app-vanitygen authors & contributors
|
||||
// Copyright 2017-2019 @polkadot/app-accounts authors & contributors
|
||||
// This software may be modified and distributed under the terms
|
||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||
|
||||
import { I18nProps } from '@polkadot/ui-app/types';
|
||||
import { ActionStatus } from '@polkadot/ui-app/Status/types';
|
||||
import { Generator$Matches, Generator$Result } from './generator/types';
|
||||
import { Generator$Matches, Generator$Result } from '../vanitygen/types';
|
||||
|
||||
import './index.css';
|
||||
|
||||
import React from 'react';
|
||||
import { Button, Dropdown, Input, Static } from '@polkadot/ui-app/index';
|
||||
|
||||
import generator from '../vanitygen';
|
||||
import matchRegex from '../vanitygen/regex';
|
||||
import generatorSort from '../vanitygen/sort';
|
||||
import Match from './Match';
|
||||
import generator from './generator';
|
||||
import matchRegex from './generator/regex';
|
||||
import generatorSort from './generator/sort';
|
||||
import translate from './translate';
|
||||
|
||||
type Props = I18nProps & {
|
||||
basePath: string,
|
||||
onStatusChange: (status: ActionStatus) => void
|
||||
onCreateToggle: (passthrough: string) => void
|
||||
};
|
||||
|
||||
type State = {
|
||||
@ -54,14 +52,20 @@ class VanityApp extends React.PureComponent<Props, State> {
|
||||
withCase: true
|
||||
};
|
||||
|
||||
private _isActive: boolean = false;
|
||||
|
||||
componentWillUnmount () {
|
||||
this._isActive = false;
|
||||
}
|
||||
|
||||
render () {
|
||||
return (
|
||||
<main className='vanity--App'>
|
||||
<div className='accounts--Vanity'>
|
||||
{this.renderOptions()}
|
||||
{this.renderButtons()}
|
||||
{this.renderStats()}
|
||||
{this.renderMatches()}
|
||||
</main>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@ -86,6 +90,7 @@ class VanityApp extends React.PureComponent<Props, State> {
|
||||
}
|
||||
|
||||
renderMatches () {
|
||||
const { onCreateToggle } = this.props;
|
||||
const { matches } = this.state;
|
||||
|
||||
return (
|
||||
@ -94,6 +99,7 @@ class VanityApp extends React.PureComponent<Props, State> {
|
||||
<Match
|
||||
{...match}
|
||||
key={match.address}
|
||||
onCreateToggle={onCreateToggle}
|
||||
onRemove={this.onRemove}
|
||||
/>
|
||||
))}
|
||||
@ -170,7 +176,7 @@ class VanityApp extends React.PureComponent<Props, State> {
|
||||
|
||||
this.results = [];
|
||||
|
||||
if (results.length === 0) {
|
||||
if (results.length === 0 || !this._isActive) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -208,19 +214,21 @@ class VanityApp extends React.PureComponent<Props, State> {
|
||||
}
|
||||
|
||||
setTimeout(() => {
|
||||
if (this.results.length === 25) {
|
||||
this.checkMatches();
|
||||
if (this._isActive) {
|
||||
if (this.results.length === 25) {
|
||||
this.checkMatches();
|
||||
}
|
||||
|
||||
this.results.push(
|
||||
generator({
|
||||
match: this.state.match,
|
||||
runs: 10,
|
||||
withCase: this.state.withCase
|
||||
})
|
||||
);
|
||||
|
||||
this.executeGeneration();
|
||||
}
|
||||
|
||||
this.results.push(
|
||||
generator({
|
||||
match: this.state.match,
|
||||
runs: 10,
|
||||
withCase: this.state.withCase
|
||||
})
|
||||
);
|
||||
|
||||
this.executeGeneration();
|
||||
}, 0);
|
||||
}
|
||||
|
||||
@ -253,11 +261,13 @@ class VanityApp extends React.PureComponent<Props, State> {
|
||||
(prevState: State) => {
|
||||
const { isRunning, keyCount, keyTime, startAt } = prevState;
|
||||
|
||||
this._isActive = !isRunning;
|
||||
|
||||
return {
|
||||
isRunning: !isRunning,
|
||||
keyCount: !isRunning ? 0 : keyCount,
|
||||
keyTime: !isRunning ? 0 : keyTime,
|
||||
startAt: !isRunning ? Date.now() : startAt
|
||||
isRunning: this._isActive,
|
||||
keyCount: this._isActive ? keyCount : 0,
|
||||
keyTime: this._isActive ? keyTime : 0,
|
||||
startAt: this._isActive ? startAt : Date.now()
|
||||
};
|
||||
},
|
||||
this.executeGeneration
|
||||
@ -1,4 +1,4 @@
|
||||
// Copyright 2017-2019 @polkadot/app-vanitygen authors & contributors
|
||||
// Copyright 2017-2019 @polkadot/app-accounts authors & contributors
|
||||
// This software may be modified and distributed under the terms
|
||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||
|
||||
@ -17,6 +17,7 @@ import { withMulti, withObservable } from '@polkadot/ui-api/index';
|
||||
import Creator from './Creator';
|
||||
import Editor from './Editor';
|
||||
import Restore from './Restore';
|
||||
import Vanity from './Vanity';
|
||||
import translate from './translate';
|
||||
|
||||
type Props = I18nProps & {
|
||||
@ -28,13 +29,15 @@ type Props = I18nProps & {
|
||||
type State = {
|
||||
action: Actions,
|
||||
hidden: Array<string>,
|
||||
passthrough: string | null,
|
||||
items: Array<TabItem>
|
||||
};
|
||||
|
||||
const Components: { [index: string]: React.ComponentType<any> } = {
|
||||
'create': Creator,
|
||||
'edit': Editor,
|
||||
'restore': Restore
|
||||
'restore': Restore,
|
||||
'vanity': Vanity
|
||||
};
|
||||
|
||||
class AccountsApp extends React.PureComponent<Props, State> {
|
||||
@ -50,6 +53,7 @@ class AccountsApp extends React.PureComponent<Props, State> {
|
||||
|
||||
this.state = {
|
||||
...baseState,
|
||||
passthrough: null,
|
||||
items: [
|
||||
{
|
||||
name: 'edit',
|
||||
@ -62,6 +66,10 @@ class AccountsApp extends React.PureComponent<Props, State> {
|
||||
{
|
||||
name: 'restore',
|
||||
text: t('app.restore', { defaultValue: 'Restore account' })
|
||||
},
|
||||
{
|
||||
name: 'vanity',
|
||||
text: t('app.vanity', { defaultValue: 'Vanity address' })
|
||||
}
|
||||
]
|
||||
};
|
||||
@ -97,7 +105,7 @@ class AccountsApp extends React.PureComponent<Props, State> {
|
||||
|
||||
render () {
|
||||
const { onStatusChange } = this.props;
|
||||
const { action, hidden, items } = this.state;
|
||||
const { action, hidden, items, passthrough } = this.state;
|
||||
const Component = Components[action];
|
||||
|
||||
return (
|
||||
@ -113,7 +121,9 @@ class AccountsApp extends React.PureComponent<Props, State> {
|
||||
<Component
|
||||
onCreateAccount={this.selectEdit}
|
||||
onRestoreAccount={this.selectEdit}
|
||||
onCreateToggle={this.selectCreate}
|
||||
onStatusChange={onStatusChange}
|
||||
passthrough={passthrough}
|
||||
/>
|
||||
</main>
|
||||
);
|
||||
@ -123,8 +133,18 @@ class AccountsApp extends React.PureComponent<Props, State> {
|
||||
this.setState({ action });
|
||||
}
|
||||
|
||||
private selectCreate = (passthrough: string | null = null) => {
|
||||
this.setState({
|
||||
action: 'create',
|
||||
passthrough
|
||||
});
|
||||
}
|
||||
|
||||
private selectEdit = (): void => {
|
||||
this.setState({ action: 'edit' });
|
||||
this.setState({
|
||||
action: 'edit',
|
||||
passthrough: null
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// Copyright 2017-2019 @polkadot/app-vanitygen authors & contributors
|
||||
// Copyright 2017-2019 @polkadot/app-accounts authors & contributors
|
||||
// This software may be modified and distributed under the terms
|
||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env node
|
||||
// Copyright 2017-2019 @polkadot/app-vanitygen authors & contributors
|
||||
// Copyright 2017-2019 @polkadot/app-accounts authors & contributors
|
||||
// This software may be modified and distributed under the terms
|
||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// Copyright 2017-2019 @polkadot/app-vanitygen authors & contributors
|
||||
// Copyright 2017-2019 @polkadot/app-accounts authors & contributors
|
||||
// This software may be modified and distributed under the terms
|
||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// Copyright 2017-2019 @polkadot/app-vanitygen authors & contributors
|
||||
// Copyright 2017-2019 @polkadot/app-accounts authors & contributors
|
||||
// This software may be modified and distributed under the terms
|
||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// Copyright 2017-2019 @polkadot/app-vanitygen authors & contributors
|
||||
// Copyright 2017-2019 @polkadot/app-accounts authors & contributors
|
||||
// This software may be modified and distributed under the terms
|
||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// Copyright 2017-2019 @polkadot/app-vanitygen authors & contributors
|
||||
// Copyright 2017-2019 @polkadot/app-accounts authors & contributors
|
||||
// This software may be modified and distributed under the terms
|
||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// Copyright 2017-2019 @polkadot/app-vanitygen authors & contributors
|
||||
// Copyright 2017-2019 @polkadot/app-accounts authors & contributors
|
||||
// This software may be modified and distributed under the terms
|
||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// Copyright 2017-2019 @polkadot/app-vanitygen authors & contributors
|
||||
// Copyright 2017-2019 @polkadot/app-accounts authors & contributors
|
||||
// This software may be modified and distributed under the terms
|
||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// Copyright 2017-2019 @polkadot/app-vanitygen authors & contributors
|
||||
// Copyright 2017-2019 @polkadot/app-accounts authors & contributors
|
||||
// This software may be modified and distributed under the terms
|
||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||
|
||||
@ -1,201 +0,0 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
@ -1 +0,0 @@
|
||||
# @polkadot/app-vanitygen
|
||||
@ -1,23 +0,0 @@
|
||||
{
|
||||
"name": "@polkadot/app-vanitygen",
|
||||
"version": "0.22.18",
|
||||
"main": "index.js",
|
||||
"repository": "https://github.com/polkadot-js/apps.git",
|
||||
"author": "Jaco Greeff <jacogr@gmail.com>",
|
||||
"maintainers": [
|
||||
"Jaco Greeff <jacogr@gmail.com>"
|
||||
],
|
||||
"contributors": [],
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.2.0",
|
||||
"@polkadot/ui-app": "^0.22.18",
|
||||
"@types/yargs": "^12.0.5",
|
||||
"babel-plugin-module-resolver": "^3.1.1",
|
||||
"libsodium-wrappers": "^0.7.3",
|
||||
"yargs": "^12.0.5"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"sodium": "^3.0.2"
|
||||
}
|
||||
}
|
||||
@ -17,7 +17,6 @@ import staking from './staking';
|
||||
import storage from './storage';
|
||||
import toolbox from './toolbox';
|
||||
import transfer from './transfer';
|
||||
import vanitygen from './vanitygen';
|
||||
|
||||
const routes: Routes = appSettings.uiMode === 'light'
|
||||
? ([] as Routes).concat(
|
||||
@ -43,7 +42,6 @@ const routes: Routes = appSettings.uiMode === 'light'
|
||||
extrinsics,
|
||||
null,
|
||||
settings,
|
||||
vanitygen,
|
||||
rpc,
|
||||
toolbox
|
||||
);
|
||||
|
||||
@ -1,20 +0,0 @@
|
||||
// Copyright 2017-2019 @polkadot/apps authors & contributors
|
||||
// This software may be modified and distributed under the terms
|
||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||
|
||||
import { Routes } from '../types';
|
||||
|
||||
import Vanity from '@polkadot/app-vanitygen/index';
|
||||
|
||||
export default ([
|
||||
{
|
||||
Component: Vanity,
|
||||
i18n: {
|
||||
defaultValue: 'Vanity'
|
||||
},
|
||||
icon: 'hand lizard',
|
||||
isApiGated: true,
|
||||
isHidden: false,
|
||||
name: 'vanitygen'
|
||||
}
|
||||
] as Routes);
|
||||
@ -22,7 +22,6 @@ const packages = [
|
||||
'app-storage',
|
||||
'app-toolbox',
|
||||
'app-transfer',
|
||||
'app-vanitygen',
|
||||
'ui-api',
|
||||
'ui-app',
|
||||
'ui-params',
|
||||
|
||||
@ -14,7 +14,6 @@
|
||||
"@polkadot/app-storage/*": [ "packages/app-storage/src/*" ],
|
||||
"@polkadot/app-toolbox/*": [ "packages/app-toolbox/src/*" ],
|
||||
"@polkadot/app-transfer/*": [ "packages/app-transfer/src/*" ],
|
||||
"@polkadot/app-vanitygen/*": [ "packages/app-vanitygen/src/*" ],
|
||||
"@polkadot/apps/*": [ "packages/apps/src/*" ],
|
||||
"@polkadot/ui-api/*": [ "packages/ui-api/src/*" ],
|
||||
"@polkadot/ui-app/*": [ "packages/ui-app/src/*" ],
|
||||
|
||||
Loading…
Reference in New Issue
Block a user